ii==null,gy=ii=>encodeURIComponent(ii).replaceAll(/[!'()*]/g,ti=>`%${ti.charCodeAt(0).toString(16).toUpperCase()}`),Vc=Symbol("encodeFragmentIdentifier");function vy(ii){switch(ii.arrayFormat){case"index":return ti=>(ei,ni)=>{let ri=ei.length;return ni===void 0||ii.skipNull&&ni===null||ii.skipEmptyString&&ni===""?ei:ni===null?[...ei,[Zn(ti,ii),"[",ri,"]"].join("")]:[...ei,[Zn(ti,ii),"[",Zn(ri,ii),"]=",Zn(ni,ii)].join("")]};case"bracket":return ti=>(ei,ni)=>ni===void 0||ii.skipNull&&ni===null||ii.skipEmptyString&&ni===""?ei:ni===null?[...ei,[Zn(ti,ii),"[]"].join("")]:[...ei,[Zn(ti,ii),"[]=",Zn(ni,ii)].join("")];case"colon-list-separator":return ti=>(ei,ni)=>ni===void 0||ii.skipNull&&ni===null||ii.skipEmptyString&&ni===""?ei:ni===null?[...ei,[Zn(ti,ii),":list="].join("")]:[...ei,[Zn(ti,ii),":list=",Zn(ni,ii)].join("")];case"comma":case"separator":case"bracket-separator":{let ti=ii.arrayFormat==="bracket-separator"?"[]=":"=";return ei=>(ni,ri)=>ri===void 0||ii.skipNull&&ri===null||ii.skipEmptyString&&ri===""?ni:(ri=ri===null?"":ri,ni.length===0?[[Zn(ei,ii),ti,Zn(ri,ii)].join("")]:[[ni,Zn(ri,ii)].join(ii.arrayFormatSeparator)])}default:return ti=>(ei,ni)=>ni===void 0||ii.skipNull&&ni===null||ii.skipEmptyString&&ni===""?ei:ni===null?[...ei,Zn(ti,ii)]:[...ei,[Zn(ti,ii),"=",Zn(ni,ii)].join("")]}}function yy(ii){let ti;switch(ii.arrayFormat){case"index":return(ei,ni,ri)=>{if(ti=/\[(\d*)]$/.exec(ei),ei=ei.replace(/\[\d*]$/,""),!ti){ri[ei]=ni;return}ri[ei]===void 0&&(ri[ei]={}),ri[ei][ti[1]]=ni};case"bracket":return(ei,ni,ri)=>{if(ti=/(\[])$/.exec(ei),ei=ei.replace(/\[]$/,""),!ti){ri[ei]=ni;return}if(ri[ei]===void 0){ri[ei]=[ni];return}ri[ei]=[...ri[ei],ni]};case"colon-list-separator":return(ei,ni,ri)=>{if(ti=/(:list)$/.exec(ei),ei=ei.replace(/:list$/,""),!ti){ri[ei]=ni;return}if(ri[ei]===void 0){ri[ei]=[ni];return}ri[ei]=[...ri[ei],ni]};case"comma":case"separator":return(ei,ni,ri)=>{let si=typeof ni=="string"&&ni.includes(ii.arrayFormatSeparator),ai=typeof ni=="string"&&!si&&Ks(ni,ii).includes(ii.arrayFormatSeparator);ni=ai?Ks(ni,ii):ni;let li=si||ai?ni.split(ii.arrayFormatSeparator).map(di=>Ks(di,ii)):ni===null?ni:Ks(ni,ii);ri[ei]=li};case"bracket-separator":return(ei,ni,ri)=>{let si=/(\[])$/.test(ei);if(ei=ei.replace(/\[]$/,""),!si){ri[ei]=ni&&Ks(ni,ii);return}let ai=ni===null?[]:ni.split(ii.arrayFormatSeparator).map(li=>Ks(li,ii));if(ri[ei]===void 0){ri[ei]=ai;return}ri[ei]=[...ri[ei],...ai]};default:return(ei,ni,ri)=>{if(ri[ei]===void 0){ri[ei]=ni;return}ri[ei]=[...[ri[ei]].flat(),ni]}}}function rf(ii){if(typeof ii!="string"||ii.length!==1)throw new TypeError("arrayFormatSeparator must be single character string")}function Zn(ii,ti){return ti.encode?ti.strict?gy(ii):encodeURIComponent(ii):ii}function Ks(ii,ti){return ti.decode?zc(ii):ii}function sf(ii){return Array.isArray(ii)?ii.sort():typeof ii=="object"?sf(Object.keys(ii)).sort((ti,ei)=>Number(ti)-Number(ei)).map(ti=>ii[ti]):ii}function of(ii){let ti=ii.indexOf("#");return ti!==-1&&(ii=ii.slice(0,ti)),ii}function _y(ii){let ti="",ei=ii.indexOf("#");return ei!==-1&&(ti=ii.slice(ei)),ti}function af(ii,ti){return ti.parseNumbers&&!Number.isNaN(Number(ii))&&typeof ii=="string"&&ii.trim()!==""?ii=Number(ii):ti.parseBooleans&&ii!==null&&(ii.toLowerCase()==="true"||ii.toLowerCase()==="false")&&(ii=ii.toLowerCase()==="true"),ii}function qc(ii){ii=of(ii);let ti=ii.indexOf("?");return ti===-1?"":ii.slice(ti+1)}function Wc(ii,ti){ti=Ui({decode:!0,sort:!0,arrayFormat:"none",arrayFormatSeparator:",",parseNumbers:!1,parseBooleans:!1},ti),rf(ti.arrayFormatSeparator);let ei=yy(ti),ni=Object.create(null);if(typeof ii!="string"||(ii=ii.trim().replace(/^[?#&]/,""),!ii))return ni;for(let ri of ii.split("&")){if(ri==="")continue;let si=ti.decode?ri.replaceAll("+"," "):ri,[ai,li]=xl(si,"=");ai===void 0&&(ai=si),li=li===void 0?null:["comma","separator","bracket-separator"].includes(ti.arrayFormat)?li:Ks(li,ti),ei(Ks(ai,ti),li,ni)}for(let[ri,si]of Object.entries(ni))if(typeof si=="object"&&si!==null)for(let[ai,li]of Object.entries(si))si[ai]=af(li,ti);else ni[ri]=af(si,ti);return ti.sort===!1?ni:(ti.sort===!0?Object.keys(ni).sort():Object.keys(ni).sort(ti.sort)).reduce((ri,si)=>{let ai=ni[si];return ri[si]=Boolean(ai)&&typeof ai=="object"&&!Array.isArray(ai)?sf(ai):ai,ri},Object.create(null))}function lf(ii,ti){if(!ii)return"";ti=Ui({encode:!0,strict:!0,arrayFormat:"none",arrayFormatSeparator:","},ti),rf(ti.arrayFormatSeparator);let ei=ai=>ti.skipNull&&my(ii[ai])||ti.skipEmptyString&&ii[ai]==="",ni=vy(ti),ri={};for(let[ai,li]of Object.entries(ii))ei(ai)||(ri[ai]=li);let si=Object.keys(ri);return ti.sort!==!1&&si.sort(ti.sort),si.map(ai=>{let li=ii[ai];return li===void 0?"":li===null?Zn(ai,ti):Array.isArray(li)?li.length===0&&ti.arrayFormat==="bracket-separator"?Zn(ai,ti)+"[]":li.reduce(ni(ai),[]).join("&"):Zn(ai,ti)+"="+Zn(li,ti)}).filter(ai=>ai.length>0).join("&")}function cf(ii,ti){var ri,si;ti=Ui({decode:!0},ti);let[ei,ni]=xl(ii,"#");return ei===void 0&&(ei=ii),Ui({url:(si=(ri=ei==null?void 0:ei.split("?"))==null?void 0:ri[0])!=null?si:"",query:Wc(qc(ii),ti)},ti&&ti.parseFragmentIdentifier&&ni?{fragmentIdentifier:Ks(ni,ti)}:{})}function uf(ii,ti){ti=Ui({encode:!0,strict:!0,[Vc]:!0},ti);let ei=of(ii.url).split("?")[0]||"",ni=qc(ii.url),ri=Ui(Ui({},Wc(ni,{sort:!1})),ii.query),si=lf(ri,ti);si&&(si=`?${si}`);let ai=_y(ii.url);if(typeof ii.fragmentIdentifier=="string"){let li=new URL(ei);li.hash=ii.fragmentIdentifier,ai=ti[Vc]?li.hash:`#${ii.fragmentIdentifier}`}return`${ei}${si}${ai}`}function df(ii,ti,ei){ei=Ui({parseFragmentIdentifier:!0,[Vc]:!1},ei);let{url:ni,query:ri,fragmentIdentifier:si}=cf(ii,ei);return uf({url:ni,query:nf(ri,ti),fragmentIdentifier:si},ei)}function by(ii,ti,ei){let ni=Array.isArray(ti)?ri=>!ti.includes(ri):(ri,si)=>!ti(ri,si);return df(ii,ni,ei)}var ff=Uc;var pf=zo(_l());function hf(ii){if(Array.isArray(ii)){for(let ti of ii)if(typeof ti=="object"&&ti!==null&&"fieldName"in ti&&"queryParam"in ti)return typeof ti.fieldName=="string"&&typeof ti.queryParam=="string"}return!1}var Yc=class extends Map{queryParam(ti){let ei=this.get(ti);return typeof ei!="undefined"?ei.queryParam:null}queryValue(ti){let ei=this.get(ti);return typeof ei!="undefined"?ei.queryValue:[]}updateValue(ti,ei){let ni=this.get(ti);if(Yn(ni)){let{queryParam:ri}=ni;return this.set(ti,{queryParam:ri,queryValue:ei}),!0}return!1}addFromJson(ti){if(Yn(ti)){let ei=JSON.parse(ti);if(hf(ei))for(let{queryParam:ni,fieldName:ri}of ei)this.set(ri,{queryParam:ni,queryValue:[]});else throw new Error(`Data from 'data-dynamic-params' attribute is improperly formatted: '${ti}'`)}}};var Kc=class extends pf.default{constructor(ti,ei){super(ti,ei);Pn(this,"nullOption",null);Pn(this,"queryParams",new Map);Pn(this,"staticParams",new Map);Pn(this,"dynamicParams",new Yc);Pn(this,"pathValues",new Map);this.api_url=this.input.getAttribute("data-url"),this.valueField=this.input.getAttribute("ts-value-field")||this.settings.valueField,this.labelField=this.input.getAttribute("ts-label-field")||this.settings.labelField,this.disabledField=this.input.getAttribute("ts-disabled-field")||this.settings.disabledField,this.descriptionField=this.input.getAttribute("ts-description-field")||"description",this.depthField=this.input.getAttribute("ts-depth-field")||"_depth",this.parentField=this.input.getAttribute("ts-parent-field")||null,this.countField=this.input.getAttribute("ts-count-field")||null;let ni=this.input.getAttribute("data-null-option");if(ni){let ri=this.settings.valueField,si=this.settings.labelField;this.nullOption={},this.nullOption[ri]="null",this.nullOption[si]=ni}this.getStaticParams();for(let[ri,si]of this.staticParams.entries())this.queryParams.set(ri,si);this.getDynamicParams();for(let ri of this.dynamicParams.keys())this.updateQueryParams(ri);this.getPathKeys();for(let ri of this.pathValues.keys())this.updatePathValues(ri);this.addEventListeners()}load(ti){let ei=this;ei.clearOptions(),ei.nullOption&&!ti&&ei.addOption(ei.nullOption);let ni=ei.getRequestUrl(ti);!ni||(Jd(ei.wrapper,ei.settings.loadingClass),ei.loading++,fetch(ni).then(ri=>ri.json()).then(ri=>{let si=ri.results,ai=[];for(let li of si){let di=ei.getOptionFromData(li);ai.push(di)}return ai}).then(ri=>{ei.loadCallback(ri,[])}).catch(()=>{ei.loadCallback([],[])}))}getRequestUrl(ti){let ei=this.api_url,ni={};for(let[ri,si]of this.queryParams.entries())ni[ri]=si;for(let[ri,si]of this.pathValues.entries())for(let ai of this.api_url.matchAll(new RegExp(`({{${ri}}})`,"g")))if(si)ei=aa(ei,ai[1],si.toString());else return"";return ti&&(ni.q=[ti]),ni.brief=[!0],ni.limit=[this.settings.maxOptions],ff.stringifyUrl({url:ei,query:ni})}getOptionFromData(ti){let ei={id:ti[this.valueField],display:ti[this.labelField],depth:ti[this.depthField]||null,description:ti[this.descriptionField]||null};if(ti[this.parentField]){let ni=ti[this.parentField];ei.parent=ni[this.labelField]}return ti[this.countField]&&(ei.count=ti[this.countField]),ti[this.disabledField]&&(ei.disabled=ti[this.disabledField]),ei}getStaticParams(){let ti=this.input.getAttribute("data-static-params");try{if(ti){let ei=JSON.parse(ti);if(ei)for(let{queryParam:ni,queryValue:ri}of ei)Array.isArray(ri)?this.staticParams.set(ni,ri):this.staticParams.set(ni,[ri])}}catch(ei){console.group(`Unable to determine static query parameters for select field '${this.name}'`),console.warn(ei),console.groupEnd()}}getDynamicParams(){let ti=this.input.getAttribute("data-dynamic-params");try{this.dynamicParams.addFromJson(ti)}catch(ei){console.group(`Unable to determine dynamic query parameters for select field '${this.name}'`),console.warn(ei),console.groupEnd()}}getPathKeys(){for(let ti of this.api_url.matchAll(new RegExp("{{(.+)}}","g")))this.pathValues.set(ti[1],"")}updateQueryParams(ti){let ei=document.querySelector(`[name="${ti}"]`);if(ei!==null){let ni=[];if(ei.multiple?ni=Array.from(ei.options).filter(ri=>ri.selected).map(ri=>ri.value):ei.value!==""&&(ni=[ei.value]),ni.length>0){this.dynamicParams.updateValue(ti,ni);let ri=this.dynamicParams.get(ti);if(typeof ri!="undefined"){let{queryParam:si,queryValue:ai}=ri,li=[];if(this.staticParams.has(si)){let di=this.staticParams.get(si);typeof di!="undefined"&&(li=[...di,...ai])}else li=ai;li.length>0?this.queryParams.set(si,li):this.queryParams.delete(si)}}else{let ri=this.dynamicParams.queryParam(ti);ri!==null&&this.queryParams.delete(ri)}}}updatePathValues(ti){let ei=aa(ti,/^id_/i,""),ni=Ha(`id_${ei}`);ni!==null&&this.api_url.includes("{{")&&Boolean(this.api_url.match(new RegExp(`({{(${ti})}})`,"g")))&&(ni.value?this.pathValues.set(ti,ni.value):this.pathValues.set(ti,""))}addEventListeners(){let ti=new Set([...this.dynamicParams.keys(),...this.pathValues.keys()]);for(let ei of ti){let ni=document.querySelector(`[name="${ei}"]`);ni!==null&&ni.addEventListener("change",ri=>this.handleEvent(ri)),this.input.addEventListener(`netbox.select.onload.${ei}`,ri=>this.handleEvent(ri))}}handleEvent(ti){let ei=ti.target;this.updateQueryParams(ei.name),this.updatePathValues(ei.name),this.clear(),this.load(this.lastValue)}};var Ey="id",Tl="display",wy=100;function xy(ii,ti){let ei="";return typeof ii.depth=="number"&&ii.depth>0&&(ei=`${ei}${"\u2500".repeat(ii.depth)} `),ei=`${ei}${ti(ii[Tl])}`,ii.parent&&(ei=`${ei} ${ti(ii.parent)} `),ii.count&&(ei=`${ei} ${ti(ii.count)} `),ii.description&&(ei=`${ei}${ti(ii.description)} `),ei=`${ei}
`,ei}function Ty(ii,ti){return ii.parent?`${ti(ii.parent)} > ${ti(ii[Tl])}
`:`${ti(ii[Tl])}
`}function mf(){for(let ii of Ki("select.api-select:not(.tomselected)"))new Kc(ii,Fn(Ui({},Fa(ii)),{valueField:Ey,labelField:Tl,maxOptions:wy,searchField:[],preload:"focus",render:{option:xy,item:Ty},shouldLoad:function(){return!0}}))}function Cl(){Yd(),mf(),Kd()}function gf(ii,ti){var ri;let ei=(ri=ii.parentElement)==null?void 0:ri.parentElement,ni=ii.getAttribute("data-url");Yn(ni)&&oa(ni,{status:ti}).then(si=>{if(Mo(si)){uo("danger","Error",si.error).show();return}else ei.setAttribute("data-cable-status",ti)})}function vf(){for(let ii of Ki("button.mark-planned"))ii.addEventListener("click",()=>gf(ii,"planned"));for(let ii of Ki("button.mark-installed"))ii.addEventListener("click",()=>gf(ii,"connected"))}var yf=class{set(ti,ei,ni){return ti[ei]=ni,!0}get(ti,ei){return ti[ei]}has(ti,ei){return ei in ti}},Sl=class{constructor(ti,ei){Pn(this,"handlers");Pn(this,"proxy");Pn(this,"options");Pn(this,"key","");if(this.options=ei,typeof this.options.key=="string"?this.key=this.options.key:this.key=this.generateStateKey(ti),this.options.persist){let ni=this.retrieve();ni!==null&&(ti=Ui(Ui({},ti),ni))}this.handlers=new yf,this.proxy=new Proxy(ti,this.handlers),this.options.persist&&this.save()}generateStateKey(ti){return`netbox-${window.btoa(Object.keys(ti).join("---"))}`}get(ti){return this.handlers.get(this.proxy,ti)}set(ti,ei){this.handlers.set(this.proxy,ti,ei),this.options.persist&&this.save()}all(){return this.proxy}keys(){return Object.keys(this.proxy)}values(){return Object.values(this.proxy)}save(){let ti=JSON.stringify(this.proxy);localStorage.setItem(this.key,ti)}retrieve(){let ti=localStorage.getItem(this.key);return ti!==null?JSON.parse(ti):null}};function fo(ii,ti={}){return new Sl(ii,ti)}var Gc=fo({hidden:!1},{persist:!0,key:"netbox-object-depth"});var Qc=fo({view:"images-and-labels"},{persist:!0});var _f=fo({element:null},{persist:!1});var bf=fo({hidden:!0},{persist:!0,key:"netbox-secret"});function Ef(ii,ti){ti.setAttribute("data-depth-indicators",ii?"hidden":"shown"),ti.innerText=ii?"Show Depth Indicators":"Hide Depth Indicators"}function wf(){for(let ii of Ki(".record-depth"))ii.style.display=""}function xf(){for(let ii of Ki(".record-depth"))ii.style.display="none"}function Cy(ii,ti){let ei=ii.get("hidden");ii.set("hidden",!ei);let ni=ii.get("hidden");ni?xf():wf(),Ef(ni,ti)}function Tf(){let ii=Gc.get("hidden");for(let ti of Ki("button.toggle-depth"))Ef(ii,ti),ti.addEventListener("click",ei=>{Cy(Gc,ei.currentTarget)},!1);ii?xf():ii||wf()}function Sy(ii){let ti=Array.from(ii.options);for(let ei=1;ei
=0;ei--){let ni=ti[ei];if(ni.selected){let ri=ii.options[ei+1];ni=ii.removeChild(ni),ri=ii.replaceChild(ni,ri),ii.insertBefore(ri,ni)}}}function Cf(){for(let ii of Ki("#move-option-up")){let ti=ii.getAttribute("data-target");if(ti!==null)for(let ei of Ki(`#${ti}`))ii.addEventListener("click",()=>Sy(ei))}for(let ii of Ki("#move-option-down")){let ti=ii.getAttribute("data-target");if(ti!==null)for(let ei of Ki(`#${ti}`))ii.addEventListener("click",()=>Ay(ei))}}function Sf(ii,ti){return ii.replace(/[^\-.\w\s]/g,"").replace(/^[\s.]+|[\s.]+$/g,"").replace(/[-.\s]+/g,"-").toLowerCase().substring(0,ti)}function Af(){let ii=document.getElementById("id_slug"),ti=document.getElementById("reslug");if(ii===null||ti===null)return;let ei=ii.getAttribute("slug-source"),ni=document.getElementById(`id_${ei}`);if(ni===null){console.error("Unable to find field for slug field.");return}let ri=ii.getAttribute("maxlength"),si=50;ri&&(si=Number(ri)),ni.addEventListener("blur",()=>{ii.value||(ii.value=Sf(ni.value,si))}),ti.addEventListener("click",()=>{ii.value=Sf(ni.value,si)})}function Oy(ii){if(!ii.currentTarget.checked)for(let ei of Ki('input[type="checkbox"].toggle',"input#select-all"))ei.checked=!1}function Dy(ii){let ti=ii.currentTarget,ei=ko(ti,"table"),ni=document.getElementById("select-all-box"),ri=document.getElementById("select-all");if(ei!==null){for(let si of ei.querySelectorAll('tr:not(.d-none) input[type="checkbox"][name="pk"]'))ti.checked?si.checked=!0:si.checked=!1;ni!==null&&(ti.checked?ni.classList.remove("d-none"):(ni.classList.add("d-none"),ri!==null&&(ri.checked=!1)))}}function Of(){for(let ii of Ki('table tr th > input[type="checkbox"].toggle'))ii.addEventListener("change",Dy);for(let ii of Ki('input[type="checkbox"][name="pk"]'))ii.addEventListener("change",Oy)}function Df(){var ii;(ii=window.getSelection())==null||ii.removeAllRanges()}function Lf(ii,ti){ti.set("element",ii)}function Ly(ii,ti,ei){let ni=!1;for(let ri of ei){let si=ri;if(ni===!0&&(si.checked=ii.checked),ri===ti){if(ni===!0){ni=!1;return}ni=!0,si.checked=ii.checked}if(ri===ii){if(ni===!0){ni=!1;return}ni=!0}}}function My(ii,ti){let ei=ii.target,ni=ti.get("element");if(Lf(ei,ti),!ii.shiftKey)return;if(Df(),ni===null)return Lf(ei,ti);let ri=Ki('input[type="checkbox"][name="pk"]');Ly(ei,ni,ri)}function Mf(){let ii=Ki('input[type="checkbox"][name="pk"]');for(let ti of ii)ti.addEventListener("click",ei=>{Df(),ei.stopPropagation(),My(ei,_f)})}function ky(ii){let ti=ii.querySelector("button.preview-button"),ei=ii.querySelector("textarea"),ni=ii.querySelector("div.preview");if(!Yn(ei.style.height)){let{height:ri}=ei.getBoundingClientRect();ei.style.height=`${ri}px`}ti.addEventListener("htmx:configRequest",ri=>{ri.detail.parameters={text:ei.value||""},ri.detail.headers["X-CSRFToken"]=window.CSRF_TOKEN,ni.style.minHeight=ei.style.height,ni.innerHTML=""})}function kf(){for(let ii of document.querySelectorAll(".markdown-widget"))ky(ii)}function Ny(ii,ti){ti.setAttribute("data-secret-visibility",ii?"hidden":"shown"),ti.innerText=ii?"Show Secret":"Hide Secret"}function Ry(){let ii=Ha("secret");if(Yn(ii)){let ti=ii.getAttribute("data-secret");Yn(ti)&&(ii.innerText=ti)}}function Nf(){let ii=Ha("secret");if(Yn(ii)){let ti=ii.getAttribute("data-secret");Yn(ti)&&(ii.innerText="\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022")}}function Iy(ii,ti){ii.set("hidden",!ii.get("hidden"));let ei=ii.get("hidden");ei?Nf():Ry(),Ny(ei,ti)}function Rf(ii){Iy(bf,ii.currentTarget)}function If(){Nf();for(let ii of Ki("button.toggle-secret"))ii.removeEventListener("click",Rf),ii.addEventListener("click",Rf)}function Al(){for(let ii of[Tf,vf,Af,Of,Mf,Cf,kf,If])ii()}var Xc="netbox-color-mode";function Py(ii){return ii==="dark"||ii==="light"}function Hy(ii){return localStorage.setItem(Xc,ii)}function Fy(ii){var ei,ni;let ti=document.querySelector("body");ti&&ii=="dark"?ti.setAttribute("data-bs-theme","dark"):ti&&ti.setAttribute("data-bs-theme","light");for(let ri of Ki(".rack_elevation")){let si=(ni=(ei=ri.contentDocument)==null?void 0:ei.querySelector("svg"))!=null?ni:null;si!==null&&si.setAttribute("data-bs-theme",ii)}}function ho(ii){Hy(ii),Fy(ii)}function $y(){let ii=localStorage.getItem(Xc);ii==="light"?ho("dark"):ii==="dark"?ho("light"):console.warn("Unable to determine the current color mode")}function jy(){let ii=localStorage.getItem(Xc);if(Yn(ii))return ho(ii);let ti="none";for(let ei of["dark","light"])if(window.matchMedia(`(prefers-color-scheme: ${ei})`).matches){ti=ei;break}if(Yn(ii)&&Py(ii))return ho(ii);switch(ti){case"dark":return ho("dark");case"light":return ho("light");case"none":return ho("light");default:return ho("light")}}function By(){for(let ii of Ki("button.color-mode-toggle"))ii.addEventListener("click",$y)}function Pf(){window.addEventListener("load",jy);for(let ii of[By])ii()}function Ol(){let ii=document.querySelectorAll("body > div#django-messages > div.toast");for(let ti of ii)ti!==null&&new Hs(ti).show()}var Ff=zo(Hf());function Dl(){for(let ii of Ki(".copy-content"))new Ff.default(ii)}var Ll=["onChange","onClose","onDayCreate","onDestroy","onKeyDown","onMonthChange","onOpen","onParseConfig","onReady","onValueUpdate","onYearChange","onPreCalendarPosition"],po={_disable:[],allowInput:!1,allowInvalidPreload:!1,altFormat:"F j, Y",altInput:!1,altInputClass:"form-control input",animate:typeof window=="object"&&window.navigator.userAgent.indexOf("MSIE")===-1,ariaDateFormat:"F j, Y",autoFillDefaultTime:!0,clickOpens:!0,closeOnSelect:!0,conjunction:", ",dateFormat:"Y-m-d",defaultHour:12,defaultMinute:0,defaultSeconds:0,disable:[],disableMobile:!1,enableSeconds:!1,enableTime:!1,errorHandler:function(ii){return typeof console!="undefined"&&console.warn(ii)},getWeek:function(ii){var ti=new Date(ii.getTime());ti.setHours(0,0,0,0),ti.setDate(ti.getDate()+3-(ti.getDay()+6)%7);var ei=new Date(ti.getFullYear(),0,4);return 1+Math.round(((ti.getTime()-ei.getTime())/864e5-3+(ei.getDay()+6)%7)/7)},hourIncrement:1,ignoredFocusElements:[],inline:!1,locale:"default",minuteIncrement:5,mode:"single",monthSelectorType:"dropdown",nextArrow:" ",noCalendar:!1,now:new Date,onChange:[],onClose:[],onDayCreate:[],onDestroy:[],onKeyDown:[],onMonthChange:[],onOpen:[],onParseConfig:[],onReady:[],onValueUpdate:[],onYearChange:[],onPreCalendarPosition:[],plugins:[],position:"auto",positionElement:void 0,prevArrow:" ",shorthandCurrentMonth:!1,showMonths:1,static:!1,time_24hr:!1,weekNumbers:!1,wrap:!1};var Ml={weekdays:{shorthand:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],longhand:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},months:{shorthand:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longhand:["January","February","March","April","May","June","July","August","September","October","November","December"]},daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],firstDayOfWeek:0,ordinal:function(ii){var ti=ii%100;if(ti>3&&ti<21)return"th";switch(ti%10){case 1:return"st";case 2:return"nd";case 3:return"rd";default:return"th"}},rangeSeparator:" to ",weekAbbreviation:"Wk",scrollTitle:"Scroll to increment",toggleTitle:"Click to toggle",amPM:["AM","PM"],yearAriaLabel:"Year",monthAriaLabel:"Month",hourAriaLabel:"Hour",minuteAriaLabel:"Minute",time_24hr:!1},kl=Ml;var es=function(ii,ti){return ti===void 0&&(ti=2),("000"+ii).slice(ti*-1)},us=function(ii){return ii===!0?1:0};function Zc(ii,ti){var ei;return function(){var ni=this,ri=arguments;clearTimeout(ei),ei=setTimeout(function(){return ii.apply(ni,ri)},ti)}}var Nl=function(ii){return ii instanceof Array?ii:[ii]};function ts(ii,ti,ei){if(ei===!0)return ii.classList.add(ti);ii.classList.remove(ti)}function On(ii,ti,ei){var ni=window.document.createElement(ii);return ti=ti||"",ei=ei||"",ni.className=ti,ei!==void 0&&(ni.textContent=ei),ni}function ja(ii){for(;ii.firstChild;)ii.removeChild(ii.firstChild)}function eu(ii,ti){if(ti(ii))return ii;if(ii.parentNode)return eu(ii.parentNode,ti)}function Ba(ii,ti){var ei=On("div","numInputWrapper"),ni=On("input","numInput "+ii),ri=On("span","arrowUp"),si=On("span","arrowDown");if(navigator.userAgent.indexOf("MSIE 9.0")===-1?ni.type="number":(ni.type="text",ni.pattern="\\d*"),ti!==void 0)for(var ai in ti)ni.setAttribute(ai,ti[ai]);return ei.appendChild(ni),ei.appendChild(ri),ei.appendChild(si),ei}function ds(ii){try{if(typeof ii.composedPath=="function"){var ti=ii.composedPath();return ti[0]}return ii.target}catch(ei){return ii.target}}var tu=function(){},za=function(ii,ti,ei){return ei.months[ti?"shorthand":"longhand"][ii]},$f={D:tu,F:function(ii,ti,ei){ii.setMonth(ei.months.longhand.indexOf(ti))},G:function(ii,ti){ii.setHours((ii.getHours()>=12?12:0)+parseFloat(ti))},H:function(ii,ti){ii.setHours(parseFloat(ti))},J:function(ii,ti){ii.setDate(parseFloat(ti))},K:function(ii,ti,ei){ii.setHours(ii.getHours()%12+12*us(new RegExp(ei.amPM[1],"i").test(ti)))},M:function(ii,ti,ei){ii.setMonth(ei.months.shorthand.indexOf(ti))},S:function(ii,ti){ii.setSeconds(parseFloat(ti))},U:function(ii,ti){return new Date(parseFloat(ti)*1e3)},W:function(ii,ti,ei){var ni=parseInt(ti),ri=new Date(ii.getFullYear(),0,2+(ni-1)*7,0,0,0,0);return ri.setDate(ri.getDate()-ri.getDay()+ei.firstDayOfWeek),ri},Y:function(ii,ti){ii.setFullYear(parseFloat(ti))},Z:function(ii,ti){return new Date(ti)},d:function(ii,ti){ii.setDate(parseFloat(ti))},h:function(ii,ti){ii.setHours((ii.getHours()>=12?12:0)+parseFloat(ti))},i:function(ii,ti){ii.setMinutes(parseFloat(ti))},j:function(ii,ti){ii.setDate(parseFloat(ti))},l:tu,m:function(ii,ti){ii.setMonth(parseFloat(ti)-1)},n:function(ii,ti){ii.setMonth(parseFloat(ti)-1)},s:function(ii,ti){ii.setSeconds(parseFloat(ti))},u:function(ii,ti){return new Date(parseFloat(ti))},w:tu,y:function(ii,ti){ii.setFullYear(2e3+parseFloat(ti))}},Gs={D:"",F:"",G:"(\\d\\d|\\d)",H:"(\\d\\d|\\d)",J:"(\\d\\d|\\d)\\w+",K:"",M:"",S:"(\\d\\d|\\d)",U:"(.+)",W:"(\\d\\d|\\d)",Y:"(\\d{4})",Z:"(.+)",d:"(\\d\\d|\\d)",h:"(\\d\\d|\\d)",i:"(\\d\\d|\\d)",j:"(\\d\\d|\\d)",l:"",m:"(\\d\\d|\\d)",n:"(\\d\\d|\\d)",s:"(\\d\\d|\\d)",u:"(.+)",w:"(\\d\\d|\\d)",y:"(\\d{2})"},la={Z:function(ii){return ii.toISOString()},D:function(ii,ti,ei){return ti.weekdays.shorthand[la.w(ii,ti,ei)]},F:function(ii,ti,ei){return za(la.n(ii,ti,ei)-1,!1,ti)},G:function(ii,ti,ei){return es(la.h(ii,ti,ei))},H:function(ii){return es(ii.getHours())},J:function(ii,ti){return ti.ordinal!==void 0?ii.getDate()+ti.ordinal(ii.getDate()):ii.getDate()},K:function(ii,ti){return ti.amPM[us(ii.getHours()>11)]},M:function(ii,ti){return za(ii.getMonth(),!0,ti)},S:function(ii){return es(ii.getSeconds())},U:function(ii){return ii.getTime()/1e3},W:function(ii,ti,ei){return ei.getWeek(ii)},Y:function(ii){return es(ii.getFullYear(),4)},d:function(ii){return es(ii.getDate())},h:function(ii){return ii.getHours()%12?ii.getHours()%12:12},i:function(ii){return es(ii.getMinutes())},j:function(ii){return ii.getDate()},l:function(ii,ti){return ti.weekdays.longhand[ii.getDay()]},m:function(ii){return es(ii.getMonth()+1)},n:function(ii){return ii.getMonth()+1},s:function(ii){return ii.getSeconds()},u:function(ii){return ii.getTime()},w:function(ii){return ii.getDay()},y:function(ii){return String(ii.getFullYear()).substring(2)}};var iu=function(ii){var ti=ii.config,ei=ti===void 0?po:ti,ni=ii.l10n,ri=ni===void 0?Ml:ni,si=ii.isMobile,ai=si===void 0?!1:si;return function(li,di,vi){var hi=vi||ri;return ei.formatDate!==void 0&&!ai?ei.formatDate(li,di,hi):di.split("").map(function(_i,Ei,Ai){return la[_i]&&Ai[Ei-1]!=="\\"?la[_i](li,hi,ei):_i!=="\\"?_i:""}).join("")}},Rl=function(ii){var ti=ii.config,ei=ti===void 0?po:ti,ni=ii.l10n,ri=ni===void 0?Ml:ni;return function(si,ai,li,di){if(!(si!==0&&!si)){var vi=di||ri,hi,_i=si;if(si instanceof Date)hi=new Date(si.getTime());else if(typeof si!="string"&&si.toFixed!==void 0)hi=new Date(si);else if(typeof si=="string"){var Ei=ai||(ei||po).dateFormat,Ai=String(si).trim();if(Ai==="today")hi=new Date,li=!0;else if(ei&&ei.parseDate)hi=ei.parseDate(si,Ei);else if(/Z$/.test(Ai)||/GMT$/.test(Ai))hi=new Date(si);else{for(var ki=void 0,Ti=[],Fi=0,en=0,rn="";FiMath.min(ti,ei)&&ii=0?new Date:new Date(ei.config.minDate.getTime()),wi=Pl(ei.config);gi.setHours(wi.hours,wi.minutes,wi.seconds,gi.getMilliseconds()),ei.selectedDates=[gi],ei.latestSelectedDateObj=gi}pi!==void 0&&pi.type!=="blur"&&Ln(pi);var Ci=ei._input.value;_i(),As(),ei._input.value!==Ci&&ei._debouncedChange()}function vi(pi,gi){return pi%12+12*us(gi===ei.l10n.amPM[1])}function hi(pi){switch(pi%24){case 0:case 12:return 12;default:return pi%12}}function _i(){if(!(ei.hourElement===void 0||ei.minuteElement===void 0)){var pi=(parseInt(ei.hourElement.value.slice(-2),10)||0)%24,gi=(parseInt(ei.minuteElement.value,10)||0)%60,wi=ei.secondElement!==void 0?(parseInt(ei.secondElement.value,10)||0)%60:0;ei.amPM!==void 0&&(pi=vi(pi,ei.amPM.textContent));var Ci=ei.config.minTime!==void 0||ei.config.minDate&&ei.minDateHasTime&&ei.latestSelectedDateObj&&fs(ei.latestSelectedDateObj,ei.config.minDate,!0)===0,Ii=ei.config.maxTime!==void 0||ei.config.maxDate&&ei.maxDateHasTime&&ei.latestSelectedDateObj&&fs(ei.latestSelectedDateObj,ei.config.maxDate,!0)===0;if(ei.config.maxTime!==void 0&&ei.config.minTime!==void 0&&ei.config.minTime>ei.config.maxTime){var qi=Il(ei.config.minTime.getHours(),ei.config.minTime.getMinutes(),ei.config.minTime.getSeconds()),nn=Il(ei.config.maxTime.getHours(),ei.config.maxTime.getMinutes(),ei.config.maxTime.getSeconds()),Xi=Il(pi,gi,wi);if(Xi>nn&&Xi=12)]),ei.secondElement!==void 0&&(ei.secondElement.value=es(wi)))}function ki(pi){var gi=ds(pi),wi=parseInt(gi.value)+(pi.delta||0);(wi/1e3>1||pi.key==="Enter"&&!/[^\d]/.test(wi.toString()))&&Kn(wi)}function Ti(pi,gi,wi,Ci){if(gi instanceof Array)return gi.forEach(function(Ii){return Ti(pi,Ii,wi,Ci)});if(pi instanceof Array)return pi.forEach(function(Ii){return Ti(Ii,gi,wi,Ci)});pi.addEventListener(gi,wi,Ci),ei._handlers.push({remove:function(){return pi.removeEventListener(gi,wi,Ci)}})}function Fi(){xn("onChange")}function en(){if(ei.config.wrap&&["open","close","toggle","clear"].forEach(function(wi){Array.prototype.forEach.call(ei.element.querySelectorAll("[data-"+wi+"]"),function(Ci){return Ti(Ci,"click",ei[wi])})}),ei.isMobile){Fo();return}var pi=Zc(zn,50);if(ei._debouncedChange=Zc(Fi,zy),ei.daysContainer&&!/iPhone|iPad|iPod/i.test(navigator.userAgent)&&Ti(ei.daysContainer,"mouseover",function(wi){ei.config.mode==="range"&&Cs(ds(wi))}),Ti(ei._input,"keydown",Xn),ei.calendarContainer!==void 0&&Ti(ei.calendarContainer,"keydown",Xn),!ei.config.inline&&!ei.config.static&&Ti(window,"resize",pi),window.ontouchstart!==void 0?Ti(window.document,"touchstart",Sn):Ti(window.document,"mousedown",Sn),Ti(window.document,"focus",Sn,{capture:!0}),ei.config.clickOpens===!0&&(Ti(ei._input,"focus",ei.open),Ti(ei._input,"click",ei.open)),ei.daysContainer!==void 0&&(Ti(ei.monthNav,"click",Dn),Ti(ei.monthNav,["keyup","increment"],ki),Ti(ei.daysContainer,"click",Fs)),ei.timeContainer!==void 0&&ei.minuteElement!==void 0&&ei.hourElement!==void 0){var gi=function(wi){return ds(wi).select()};Ti(ei.timeContainer,["increment"],di),Ti(ei.timeContainer,"blur",di,{capture:!0}),Ti(ei.timeContainer,"click",ln),Ti([ei.hourElement,ei.minuteElement],["focus","click"],gi),ei.secondElement!==void 0&&Ti(ei.secondElement,"focus",function(){return ei.secondElement&&ei.secondElement.select()}),ei.amPM!==void 0&&Ti(ei.amPM,"click",function(wi){di(wi)})}ei.config.allowInput&&Ti(ei._input,"blur",Gn)}function rn(pi,gi){var wi=pi!==void 0?ei.parseDate(pi):ei.latestSelectedDateObj||(ei.config.minDate&&ei.config.minDate>ei.now?ei.config.minDate:ei.config.maxDate&&ei.config.maxDate1),ei.calendarContainer.appendChild(pi);var Ii=ei.config.appendTo!==void 0&&ei.config.appendTo.nodeType!==void 0;if((ei.config.inline||ei.config.static)&&(ei.calendarContainer.classList.add(ei.config.inline?"inline":"static"),ei.config.inline&&(!Ii&&ei.element.parentNode?ei.element.parentNode.insertBefore(ei.calendarContainer,ei._input.nextSibling):ei.config.appendTo!==void 0&&ei.config.appendTo.appendChild(ei.calendarContainer)),ei.config.static)){var qi=On("div","flatpickr-wrapper");ei.element.parentNode&&ei.element.parentNode.insertBefore(qi,ei.element),qi.appendChild(ei.element),ei.altInput&&qi.appendChild(ei.altInput),qi.appendChild(ei.calendarContainer)}!ei.config.static&&!ei.config.inline&&(ei.config.appendTo!==void 0?ei.config.appendTo:window.document.body).appendChild(ei.calendarContainer)}function on(pi,gi,wi,Ci){var Ii=$n(gi,!0),qi=On("span",pi,gi.getDate().toString());return qi.dateObj=gi,qi.$i=Ci,qi.setAttribute("aria-label",ei.formatDate(gi,ei.config.ariaDateFormat)),pi.indexOf("hidden")===-1&&fs(gi,ei.now)===0&&(ei.todayDateElem=qi,qi.classList.add("today"),qi.setAttribute("aria-current","date")),Ii?(qi.tabIndex=-1,to(gi)&&(qi.classList.add("selected"),ei.selectedDateElem=qi,ei.config.mode==="range"&&(ts(qi,"startRange",ei.selectedDates[0]&&fs(gi,ei.selectedDates[0],!0)===0),ts(qi,"endRange",ei.selectedDates[1]&&fs(gi,ei.selectedDates[1],!0)===0),pi==="nextMonthDay"&&qi.classList.add("inRange")))):qi.classList.add("flatpickr-disabled"),ei.config.mode==="range"&&Bl(gi)&&!to(gi)&&qi.classList.add("inRange"),ei.weekNumbers&&ei.config.showMonths===1&&pi!=="prevMonthDay"&&Ci%7==6&&ei.weekNumbers.insertAdjacentHTML("beforeend",""+ei.config.getWeek(gi)+" "),xn("onDayCreate",qi),qi}function En(pi){pi.focus(),ei.config.mode==="range"&&Cs(pi)}function pn(pi){for(var gi=pi>0?0:ei.config.showMonths-1,wi=pi>0?ei.config.showMonths:-1,Ci=gi;Ci!=wi;Ci+=pi)for(var Ii=ei.daysContainer.children[Ci],qi=pi>0?0:Ii.children.length-1,nn=pi>0?Ii.children.length:-1,Xi=qi;Xi!=nn;Xi+=pi){var bn=Ii.children[Xi];if(bn.className.indexOf("hidden")===-1&&$n(bn.dateObj))return bn}}function mn(pi,gi){for(var wi=pi.className.indexOf("Month")===-1?pi.dateObj.getMonth():ei.currentMonth,Ci=gi>0?ei.config.showMonths:-1,Ii=gi>0?1:-1,qi=wi-ei.currentMonth;qi!=Ci;qi+=Ii)for(var nn=ei.daysContainer.children[qi],Xi=wi-ei.currentMonth===qi?pi.$i+gi:gi<0?nn.children.length-1:0,bn=nn.children.length,Gi=Xi;Gi>=0&&Gi0?bn:-1);Gi+=Ii){var hn=nn.children[Gi];if(hn.className.indexOf("hidden")===-1&&$n(hn.dateObj)&&Math.abs(pi.$i-Gi)>=Math.abs(gi))return En(hn)}ei.changeMonth(Ii),vn(pn(Ii),0)}function vn(pi,gi){var wi=si(),Ci=Bn(wi||document.body),Ii=pi!==void 0?pi:Ci?wi:ei.selectedDateElem!==void 0&&Bn(ei.selectedDateElem)?ei.selectedDateElem:ei.todayDateElem!==void 0&&Bn(ei.todayDateElem)?ei.todayDateElem:pn(gi>0?1:-1);Ii===void 0?ei._input.focus():Ci?mn(Ii,gi):En(Ii)}function un(pi,gi){for(var wi=(new Date(pi,gi,1).getDay()-ei.l10n.firstDayOfWeek+7)%7,Ci=ei.utils.getDaysInMonth((gi-1+12)%12,pi),Ii=ei.utils.getDaysInMonth(gi,pi),qi=window.document.createDocumentFragment(),nn=ei.config.showMonths>1,Xi=nn?"prevMonthDay hidden":"prevMonthDay",bn=nn?"nextMonthDay hidden":"nextMonthDay",Gi=Ci+1-wi,hn=0;Gi<=Ci;Gi++,hn++)qi.appendChild(on("flatpickr-day "+Xi,new Date(pi,gi-1,Gi),Gi,hn));for(Gi=1;Gi<=Ii;Gi++,hn++)qi.appendChild(on("flatpickr-day",new Date(pi,gi,Gi),Gi,hn));for(var kn=Ii+1;kn<=42-wi&&(ei.config.showMonths===1||hn%7!=0);kn++,hn++)qi.appendChild(on("flatpickr-day "+bn,new Date(pi,gi+1,kn%Ii),kn,hn));var gs=On("div","dayContainer");return gs.appendChild(qi),gs}function yn(){if(ei.daysContainer!==void 0){ja(ei.daysContainer),ei.weekNumbers&&ja(ei.weekNumbers);for(var pi=document.createDocumentFragment(),gi=0;gi1||ei.config.monthSelectorType!=="dropdown")){var pi=function(Ci){return ei.config.minDate!==void 0&&ei.currentYear===ei.config.minDate.getFullYear()&&Ciei.config.maxDate.getMonth())};ei.monthsDropdownContainer.tabIndex=-1,ei.monthsDropdownContainer.innerHTML="";for(var gi=0;gi<12;gi++)if(!!pi(gi)){var wi=On("option","flatpickr-monthDropdown-month");wi.value=new Date(ei.currentYear,gi).getMonth().toString(),wi.textContent=za(gi,ei.config.shorthandCurrentMonth,ei.l10n),wi.tabIndex=-1,ei.currentMonth===gi&&(wi.selected=!0),ei.monthsDropdownContainer.appendChild(wi)}}}function Ni(){var pi=On("div","flatpickr-month"),gi=window.document.createDocumentFragment(),wi;ei.config.showMonths>1||ei.config.monthSelectorType==="static"?wi=On("span","cur-month"):(ei.monthsDropdownContainer=On("select","flatpickr-monthDropdown-months"),ei.monthsDropdownContainer.setAttribute("aria-label",ei.l10n.monthAriaLabel),Ti(ei.monthsDropdownContainer,"change",function(nn){var Xi=ds(nn),bn=parseInt(Xi.value,10);ei.changeMonth(bn-ei.currentMonth),xn("onMonthChange")}),Cn(),wi=ei.monthsDropdownContainer);var Ci=Ba("cur-year",{tabindex:"-1"}),Ii=Ci.getElementsByTagName("input")[0];Ii.setAttribute("aria-label",ei.l10n.yearAriaLabel),ei.config.minDate&&Ii.setAttribute("min",ei.config.minDate.getFullYear().toString()),ei.config.maxDate&&(Ii.setAttribute("max",ei.config.maxDate.getFullYear().toString()),Ii.disabled=!!ei.config.minDate&&ei.config.minDate.getFullYear()===ei.config.maxDate.getFullYear());var qi=On("div","flatpickr-current-month");return qi.appendChild(wi),qi.appendChild(Ci),gi.appendChild(qi),pi.appendChild(gi),{container:pi,yearElement:Ii,monthElement:wi}}function Hi(){ja(ei.monthNav),ei.monthNav.appendChild(ei.prevMonthNav),ei.config.showMonths&&(ei.yearElements=[],ei.monthElements=[]);for(var pi=ei.config.showMonths;pi--;){var gi=Ni();ei.yearElements.push(gi.yearElement),ei.monthElements.push(gi.monthElement),ei.monthNav.appendChild(gi.container)}ei.monthNav.appendChild(ei.nextMonthNav)}function Pi(){return ei.monthNav=On("div","flatpickr-months"),ei.yearElements=[],ei.monthElements=[],ei.prevMonthNav=On("span","flatpickr-prev-month"),ei.prevMonthNav.innerHTML=ei.config.prevArrow,ei.nextMonthNav=On("span","flatpickr-next-month"),ei.nextMonthNav.innerHTML=ei.config.nextArrow,Hi(),Object.defineProperty(ei,"_hidePrevMonthArrow",{get:function(){return ei.__hidePrevMonthArrow},set:function(pi){ei.__hidePrevMonthArrow!==pi&&(ts(ei.prevMonthNav,"flatpickr-disabled",pi),ei.__hidePrevMonthArrow=pi)}}),Object.defineProperty(ei,"_hideNextMonthArrow",{get:function(){return ei.__hideNextMonthArrow},set:function(pi){ei.__hideNextMonthArrow!==pi&&(ts(ei.nextMonthNav,"flatpickr-disabled",pi),ei.__hideNextMonthArrow=pi)}}),ei.currentYearElement=ei.yearElements[0],$o(),ei.monthNav}function $i(){ei.calendarContainer.classList.add("hasTime"),ei.config.noCalendar&&ei.calendarContainer.classList.add("noCalendar");var pi=Pl(ei.config);ei.timeContainer=On("div","flatpickr-time"),ei.timeContainer.tabIndex=-1;var gi=On("span","flatpickr-time-separator",":"),wi=Ba("flatpickr-hour",{"aria-label":ei.l10n.hourAriaLabel});ei.hourElement=wi.getElementsByTagName("input")[0];var Ci=Ba("flatpickr-minute",{"aria-label":ei.l10n.minuteAriaLabel});if(ei.minuteElement=Ci.getElementsByTagName("input")[0],ei.hourElement.tabIndex=ei.minuteElement.tabIndex=-1,ei.hourElement.value=es(ei.latestSelectedDateObj?ei.latestSelectedDateObj.getHours():ei.config.time_24hr?pi.hours:hi(pi.hours)),ei.minuteElement.value=es(ei.latestSelectedDateObj?ei.latestSelectedDateObj.getMinutes():pi.minutes),ei.hourElement.setAttribute("step",ei.config.hourIncrement.toString()),ei.minuteElement.setAttribute("step",ei.config.minuteIncrement.toString()),ei.hourElement.setAttribute("min",ei.config.time_24hr?"0":"1"),ei.hourElement.setAttribute("max",ei.config.time_24hr?"23":"12"),ei.hourElement.setAttribute("maxlength","2"),ei.minuteElement.setAttribute("min","0"),ei.minuteElement.setAttribute("max","59"),ei.minuteElement.setAttribute("maxlength","2"),ei.timeContainer.appendChild(wi),ei.timeContainer.appendChild(gi),ei.timeContainer.appendChild(Ci),ei.config.time_24hr&&ei.timeContainer.classList.add("time24hr"),ei.config.enableSeconds){ei.timeContainer.classList.add("hasSeconds");var Ii=Ba("flatpickr-second");ei.secondElement=Ii.getElementsByTagName("input")[0],ei.secondElement.value=es(ei.latestSelectedDateObj?ei.latestSelectedDateObj.getSeconds():pi.seconds),ei.secondElement.setAttribute("step",ei.minuteElement.getAttribute("step")),ei.secondElement.setAttribute("min","0"),ei.secondElement.setAttribute("max","59"),ei.secondElement.setAttribute("maxlength","2"),ei.timeContainer.appendChild(On("span","flatpickr-time-separator",":")),ei.timeContainer.appendChild(Ii)}return ei.config.time_24hr||(ei.amPM=On("span","flatpickr-am-pm",ei.l10n.amPM[us((ei.latestSelectedDateObj?ei.hourElement.value:ei.config.defaultHour)>11)]),ei.amPM.title=ei.l10n.toggleTitle,ei.amPM.tabIndex=-1,ei.timeContainer.appendChild(ei.amPM)),ei.timeContainer}function gn(){ei.weekdayContainer?ja(ei.weekdayContainer):ei.weekdayContainer=On("div","flatpickr-weekdays");for(var pi=ei.config.showMonths;pi--;){var gi=On("div","flatpickr-weekdaycontainer");ei.weekdayContainer.appendChild(gi)}return tn(),ei.weekdayContainer}function tn(){if(!!ei.weekdayContainer){var pi=ei.l10n.firstDayOfWeek,gi=Vf(ei.l10n.weekdays.shorthand);pi>0&&pi
`+gi.join("")+`
- `}}function Bi(){ei.calendarContainer.classList.add("hasWeeks");var hi=On("div","flatpickr-weekwrapper");hi.appendChild(On("span","flatpickr-weekday",ei.l10n.weekAbbreviation));var gi=On("div","flatpickr-weeks");return hi.appendChild(gi),{weekWrapper:hi,weekNumbers:gi}}function Li(hi,gi){gi===void 0&&(gi=!0);var wi=gi?hi:hi-ei.currentMonth;wi<0&&ei._hidePrevMonthArrow===!0||wi>0&&ei._hideNextMonthArrow===!0||(ei.currentMonth+=wi,(ei.currentMonth<0||ei.currentMonth>11)&&(ei.currentYear+=ei.currentMonth>11?1:-1,ei.currentMonth=(ei.currentMonth+12)%12,xn("onYearChange"),Cn()),yn(),xn("onMonthChange"),$o())}function zi(hi,gi){if(hi===void 0&&(hi=!0),gi===void 0&&(gi=!0),ei.input.value="",ei.altInput!==void 0&&(ei.altInput.value=""),ei.mobileInput!==void 0&&(ei.mobileInput.value=""),ei.selectedDates=[],ei.latestSelectedDateObj=void 0,gi===!0&&(ei.currentYear=ei._initialDate.getFullYear(),ei.currentMonth=ei._initialDate.getMonth()),ei.config.enableTime===!0){var wi=Pl(ei.config),Ci=wi.hours,Ii=wi.minutes,qi=wi.seconds;Ai(Ci,Ii,qi)}ei.redraw(),hi&&xn("onChange")}function Ji(){ei.isOpen=!1,ei.isMobile||(ei.calendarContainer!==void 0&&ei.calendarContainer.classList.remove("open"),ei._input!==void 0&&ei._input.classList.remove("active")),xn("onClose")}function Vi(){ei.config!==void 0&&xn("onDestroy");for(var hi=ei._handlers.length;hi--;)ei._handlers[hi].remove();if(ei._handlers=[],ei.mobileInput)ei.mobileInput.parentNode&&ei.mobileInput.parentNode.removeChild(ei.mobileInput),ei.mobileInput=void 0;else if(ei.calendarContainer&&ei.calendarContainer.parentNode)if(ei.config.static&&ei.calendarContainer.parentNode){var gi=ei.calendarContainer.parentNode;if(gi.lastChild&&gi.removeChild(gi.lastChild),gi.parentNode){for(;gi.firstChild;)gi.parentNode.insertBefore(gi.firstChild,gi);gi.parentNode.removeChild(gi)}}else ei.calendarContainer.parentNode.removeChild(ei.calendarContainer);ei.altInput&&(ei.input.type="text",ei.altInput.parentNode&&ei.altInput.parentNode.removeChild(ei.altInput),delete ei.altInput),ei.input&&(ei.input.type=ei.input._type,ei.input.classList.remove("flatpickr-input"),ei.input.removeAttribute("readonly")),["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach(function(wi){try{delete ei[wi]}catch(Ci){}})}function Ri(hi){return ei.calendarContainer.contains(hi)}function Sn(hi){if(ei.isOpen&&!ei.config.inline){var gi=ds(hi),wi=Ri(gi),Ci=gi===ei.input||gi===ei.altInput||ei.element.contains(gi)||hi.path&&hi.path.indexOf&&(~hi.path.indexOf(ei.input)||~hi.path.indexOf(ei.altInput)),Ii=!Ci&&!wi&&!Ri(hi.relatedTarget),qi=!ei.config.ignoredFocusElements.some(function(nn){return nn.contains(gi)});Ii&&qi&&(ei.config.allowInput&&ei.setDate(ei._input.value,!1,ei.config.altInput?ei.config.altFormat:ei.config.dateFormat),ei.timeContainer!==void 0&&ei.minuteElement!==void 0&&ei.hourElement!==void 0&&ei.input.value!==""&&ei.input.value!==void 0&&di(),ei.close(),ei.config&&ei.config.mode==="range"&&ei.selectedDates.length===1&&ei.clear(!1))}}function Kn(hi){if(!(!hi||ei.config.minDate&&hiei.config.maxDate.getFullYear())){var gi=hi,wi=ei.currentYear!==gi;ei.currentYear=gi||ei.currentYear,ei.config.maxDate&&ei.currentYear===ei.config.maxDate.getFullYear()?ei.currentMonth=Math.min(ei.config.maxDate.getMonth(),ei.currentMonth):ei.config.minDate&&ei.currentYear===ei.config.minDate.getFullYear()&&(ei.currentMonth=Math.max(ei.config.minDate.getMonth(),ei.currentMonth)),wi&&(ei.redraw(),xn("onYearChange"),Cn())}}function $n(hi,gi){var wi;gi===void 0&&(gi=!0);var Ci=ei.parseDate(hi,void 0,gi);if(ei.config.minDate&&Ci&&fs(Ci,ei.config.minDate,gi!==void 0?gi:!ei.minDateHasTime)<0||ei.config.maxDate&&Ci&&fs(Ci,ei.config.maxDate,gi!==void 0?gi:!ei.maxDateHasTime)>0)return!1;if(!ei.config.enable&&ei.config.disable.length===0)return!0;if(Ci===void 0)return!1;for(var Ii=!!ei.config.enable,qi=(wi=ei.config.enable)!==null&&wi!==void 0?wi:ei.config.disable,nn=0,Xi=void 0;nn=Xi.from.getTime()&&Ci.getTime()<=Xi.to.getTime())return Ii}return!Ii}function Bn(hi){return ei.daysContainer!==void 0?hi.className.indexOf("hidden")===-1&&hi.className.indexOf("flatpickr-disabled")===-1&&ei.daysContainer.contains(hi):!1}function Gn(hi){var gi=hi.target===ei._input,wi=ei._input.value.trimEnd()!==jo();gi&&wi&&!(hi.relatedTarget&&Ri(hi.relatedTarget))&&ei.setDate(ei._input.value,!0,hi.target===ei.altInput?ei.config.altFormat:ei.config.dateFormat)}function Xn(hi){var gi=ds(hi),wi=ei.config.wrap?ii.contains(gi):gi===ei._input,Ci=ei.config.allowInput,Ii=ei.isOpen&&(!Ci||!wi),qi=ei.config.inline&&wi&&!Ci;if(hi.keyCode===13&&wi){if(Ci)return ei.setDate(ei._input.value,!0,gi===ei.altInput?ei.config.altFormat:ei.config.dateFormat),ei.close(),gi.blur();ei.open()}else if(Ri(gi)||Ii||qi){var nn=!!ei.timeContainer&&ei.timeContainer.contains(gi);switch(hi.keyCode){case 13:nn?(hi.preventDefault(),di(),Js()):Fs(hi);break;case 27:hi.preventDefault(),Js();break;case 8:case 46:wi&&!ei.config.allowInput&&(hi.preventDefault(),ei.clear());break;case 37:case 39:if(!nn&&!wi){hi.preventDefault();var Xi=si();if(ei.daysContainer!==void 0&&(Ci===!1||Xi&&Bn(Xi))){var bn=hi.keyCode===39?1:-1;hi.ctrlKey?(hi.stopPropagation(),Li(bn),vn(pn(1),0)):vn(void 0,bn)}}else ei.hourElement&&ei.hourElement.focus();break;case 38:case 40:hi.preventDefault();var Gi=hi.keyCode===40?1:-1;ei.daysContainer&&gi.$i!==void 0||gi===ei.input||gi===ei.altInput?hi.ctrlKey?(hi.stopPropagation(),Kn(ei.currentYear-Gi),vn(pn(1),0)):nn||vn(void 0,Gi*7):gi===ei.currentYearElement?Kn(ei.currentYear-Gi):ei.config.enableTime&&(!nn&&ei.hourElement&&ei.hourElement.focus(),di(hi),ei._debouncedChange());break;case 9:if(nn){var hn=[ei.hourElement,ei.minuteElement,ei.secondElement,ei.amPM].concat(ei.pluginElements).filter(function(ns){return ns}),kn=hn.indexOf(gi);if(kn!==-1){var gs=hn[kn+(hi.shiftKey?-1:1)];hi.preventDefault(),(gs||ei._input).focus()}}else!ei.config.noCalendar&&ei.daysContainer&&ei.daysContainer.contains(gi)&&hi.shiftKey&&(hi.preventDefault(),ei._input.focus());break;default:break}}if(ei.amPM!==void 0&&gi===ei.amPM)switch(hi.key){case ei.l10n.amPM[0].charAt(0):case ei.l10n.amPM[0].charAt(0).toLowerCase():ei.amPM.textContent=ei.l10n.amPM[0],vi(),As();break;case ei.l10n.amPM[1].charAt(0):case ei.l10n.amPM[1].charAt(0).toLowerCase():ei.amPM.textContent=ei.l10n.amPM[1],vi(),As();break}(wi||Ri(gi))&&xn("onKeyDown",hi)}function Cs(hi,gi){if(gi===void 0&&(gi="flatpickr-day"),!(ei.selectedDates.length!==1||hi&&(!hi.classList.contains(gi)||hi.classList.contains("flatpickr-disabled")))){for(var wi=hi?hi.dateObj.getTime():ei.days.firstElementChild.dateObj.getTime(),Ci=ei.parseDate(ei.selectedDates[0],void 0,!0).getTime(),Ii=Math.min(wi,ei.selectedDates[0].getTime()),qi=Math.max(wi,ei.selectedDates[0].getTime()),nn=!1,Xi=0,bn=0,Gi=Ii;GiIi&&GiXi)?Xi=Gi:Gi>Ci&&(!bn||Gi ."+gi));hn.forEach(function(kn){var gs=kn.dateObj,ns=gs.getTime(),go=Xi>0&&ns0&&ns>bn;if(go){kn.classList.add("notAllowed"),["inRange","startRange","endRange"].forEach(function(io){kn.classList.remove(io)});return}else if(nn&&!go)return;["startRange","inRange","endRange","notAllowed"].forEach(function(io){kn.classList.remove(io)}),hi!==void 0&&(hi.classList.add(wi<=ei.selectedDates[0].getTime()?"startRange":"endRange"),Ciwi&&ns===Ci&&kn.classList.add("endRange"),ns>=Xi&&(bn===0||ns<=bn)&&jf(ns,Ci,wi)&&kn.classList.add("inRange"))})}}function zn(){ei.isOpen&&!ei.config.static&&!ei.config.inline&&Qr()}function ps(hi,gi){if(gi===void 0&&(gi=ei._positionElement),ei.isMobile===!0){if(hi){hi.preventDefault();var wi=ds(hi);wi&&wi.blur()}ei.mobileInput!==void 0&&(ei.mobileInput.focus(),ei.mobileInput.click()),xn("onOpen");return}else if(ei._input.disabled||ei.config.inline)return;var Ci=ei.isOpen;ei.isOpen=!0,Ci||(ei.calendarContainer.classList.add("open"),ei._input.classList.add("active"),xn("onOpen"),Qr(gi)),ei.config.enableTime===!0&&ei.config.noCalendar===!0&&ei.config.allowInput===!1&&(hi===void 0||!ei.timeContainer.contains(hi.relatedTarget))&&setTimeout(function(){return ei.hourElement.select()},50)}function ms(hi){return function(gi){var wi=ei.config["_"+hi+"Date"]=ei.parseDate(gi,ei.config.dateFormat),Ci=ei.config["_"+(hi==="min"?"max":"min")+"Date"];wi!==void 0&&(ei[hi==="min"?"minDateHasTime":"maxDateHasTime"]=wi.getHours()>0||wi.getMinutes()>0||wi.getSeconds()>0),ei.selectedDates&&(ei.selectedDates=ei.selectedDates.filter(function(Ii){return $n(Ii)}),!ei.selectedDates.length&&hi==="min"&&Ei(wi),As()),ei.daysContainer&&(mo(),wi!==void 0?ei.currentYearElement[hi]=wi.getFullYear().toString():ei.currentYearElement.removeAttribute(hi),ei.currentYearElement.disabled=!!Ci&&wi!==void 0&&Ci.getFullYear()===wi.getFullYear())}}function Qs(){var hi=["wrap","weekNumbers","allowInput","allowInvalidPreload","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],gi=is(is({},JSON.parse(JSON.stringify(ii.dataset||{}))),ti),wi={};ei.config.parseDate=gi.parseDate,ei.config.formatDate=gi.formatDate,Object.defineProperty(ei.config,"enable",{get:function(){return ei.config._enable},set:function(hn){ei.config._enable=ga(hn)}}),Object.defineProperty(ei.config,"disable",{get:function(){return ei.config._disable},set:function(hn){ei.config._disable=ga(hn)}});var Ci=gi.mode==="time";if(!gi.dateFormat&&(gi.enableTime||Ci)){var Ii=Wr.defaultConfig.dateFormat||po.dateFormat;wi.dateFormat=gi.noCalendar||Ci?"H:i"+(gi.enableSeconds?":S":""):Ii+" H:i"+(gi.enableSeconds?":S":"")}if(gi.altInput&&(gi.enableTime||Ci)&&!gi.altFormat){var qi=Wr.defaultConfig.altFormat||po.altFormat;wi.altFormat=gi.noCalendar||Ci?"h:i"+(gi.enableSeconds?":S K":" K"):qi+(" h:i"+(gi.enableSeconds?":S":"")+" K")}Object.defineProperty(ei.config,"minDate",{get:function(){return ei.config._minDate},set:ms("min")}),Object.defineProperty(ei.config,"maxDate",{get:function(){return ei.config._maxDate},set:ms("max")});var nn=function(hn){return function(kn){ei.config[hn==="min"?"_minTime":"_maxTime"]=ei.parseDate(kn,"H:i:S")}};Object.defineProperty(ei.config,"minTime",{get:function(){return ei.config._minTime},set:nn("min")}),Object.defineProperty(ei.config,"maxTime",{get:function(){return ei.config._maxTime},set:nn("max")}),gi.mode==="time"&&(ei.config.noCalendar=!0,ei.config.enableTime=!0),Object.assign(ei.config,wi,gi);for(var Xi=0;Xi-1?ei.config[Gi]=Nl(bn[Gi]).map(ai).concat(ei.config[Gi]):typeof gi[Gi]=="undefined"&&(ei.config[Gi]=bn[Gi])}gi.altInputClass||(ei.config.altInputClass=Wn().className+" "+ei.config.altInputClass),xn("onParseConfig")}function Wn(){return ei.config.wrap?ii.querySelector("[data-input]"):ii}function _n(){typeof ei.config.locale!="object"&&typeof Wr.l10ns[ei.config.locale]=="undefined"&&ei.config.errorHandler(new Error("flatpickr: invalid locale "+ei.config.locale)),ei.l10n=is(is({},Wr.l10ns.default),typeof ei.config.locale=="object"?ei.config.locale:ei.config.locale!=="default"?Wr.l10ns[ei.config.locale]:void 0),Gs.D="("+ei.l10n.weekdays.shorthand.join("|")+")",Gs.l="("+ei.l10n.weekdays.longhand.join("|")+")",Gs.M="("+ei.l10n.months.shorthand.join("|")+")",Gs.F="("+ei.l10n.months.longhand.join("|")+")",Gs.K="("+ei.l10n.amPM[0]+"|"+ei.l10n.amPM[1]+"|"+ei.l10n.amPM[0].toLowerCase()+"|"+ei.l10n.amPM[1].toLowerCase()+")";var hi=is(is({},ti),JSON.parse(JSON.stringify(ii.dataset||{})));hi.time_24hr===void 0&&Wr.defaultConfig.time_24hr===void 0&&(ei.config.time_24hr=ei.l10n.time_24hr),ei.formatDate=iu(ei),ei.parseDate=Rl({config:ei.config,l10n:ei.l10n})}function Qr(hi){if(typeof ei.config.position=="function")return void ei.config.position(ei,hi);if(ei.calendarContainer!==void 0){xn("onPreCalendarPosition");var gi=hi||ei._positionElement,wi=Array.prototype.reduce.call(ei.calendarContainer.children,function(fi,oi){return fi+oi.offsetHeight},0),Ci=ei.calendarContainer.offsetWidth,Ii=ei.config.position.split(" "),qi=Ii[0],nn=Ii.length>1?Ii[1]:null,Xi=gi.getBoundingClientRect(),bn=window.innerHeight-Xi.bottom,Gi=qi==="above"||qi!=="below"&&bnwi,hn=window.pageYOffset+Xi.top+(Gi?-wi-2:gi.offsetHeight+2);if(ts(ei.calendarContainer,"arrowTop",!Gi),ts(ei.calendarContainer,"arrowBottom",Gi),!ei.config.inline){var kn=window.pageXOffset+Xi.left,gs=!1,ns=!1;nn==="center"?(kn-=(Ci-Xi.width)/2,gs=!0):nn==="right"&&(kn-=Ci-Xi.width,ns=!0),ts(ei.calendarContainer,"arrowLeft",!gs&&!ns),ts(ei.calendarContainer,"arrowCenter",gs),ts(ei.calendarContainer,"arrowRight",ns);var go=window.document.body.offsetWidth-(window.pageXOffset+Xi.right),io=kn+Ci>window.document.body.offsetWidth,zl=go+Ci>window.document.body.offsetWidth;if(ts(ei.calendarContainer,"rightMost",io),!ei.config.static)if(ei.calendarContainer.style.top=hn+"px",!io)ei.calendarContainer.style.left=kn+"px",ei.calendarContainer.style.right="auto";else if(!zl)ei.calendarContainer.style.left="auto",ei.calendarContainer.style.right=go+"px";else{var ya=ls();if(ya===void 0)return;var Vl=window.document.body.offsetWidth,ql=Math.max(0,Vl/2-Ci/2),Wl=".flatpickr-calendar.centerMost:before",Ul=".flatpickr-calendar.centerMost:after",Yl=ya.cssRules.length,Kl="{left:"+Xi.left+"px;right:auto;}";ts(ei.calendarContainer,"rightMost",!1),ts(ei.calendarContainer,"centerMost",!0),ya.insertRule(Wl+","+Ul+Kl,Yl),ei.calendarContainer.style.left=ql+"px",ei.calendarContainer.style.right="auto"}}}}function ls(){for(var hi=null,gi=0;giei.currentMonth+ei.config.showMonths-1)&&ei.config.mode!=="range";if(ei.selectedDateElem=Ci,ei.config.mode==="single")ei.selectedDates=[Ii];else if(ei.config.mode==="multiple"){var nn=to(Ii);nn?ei.selectedDates.splice(parseInt(nn),1):ei.selectedDates.push(Ii)}else ei.config.mode==="range"&&(ei.selectedDates.length===2&&ei.clear(!1,!1),ei.latestSelectedDateObj=Ii,ei.selectedDates.push(Ii),fs(Ii,ei.selectedDates[0],!0)!==0&&ei.selectedDates.sort(function(hn,kn){return hn.getTime()-kn.getTime()}));if(vi(),qi){var Xi=ei.currentYear!==Ii.getFullYear();ei.currentYear=Ii.getFullYear(),ei.currentMonth=Ii.getMonth(),Xi&&(xn("onYearChange"),Cn()),xn("onMonthChange")}if($o(),yn(),As(),!qi&&ei.config.mode!=="range"&&ei.config.showMonths===1?En(Ci):ei.selectedDateElem!==void 0&&ei.hourElement===void 0&&ei.selectedDateElem&&ei.selectedDateElem.focus(),ei.hourElement!==void 0&&ei.hourElement!==void 0&&ei.hourElement.focus(),ei.config.closeOnSelect){var bn=ei.config.mode==="single"&&!ei.config.enableTime,Gi=ei.config.mode==="range"&&ei.selectedDates.length===2&&!ei.config.enableTime;(bn||Gi)&&Js()}Fi()}}var Ss={locale:[_n,tn],showMonths:[Hi,li,gn],minDate:[rn],maxDate:[rn],positionElement:[jl],clickOpens:[function(){ei.config.clickOpens===!0?(Ti(ei._input,"focus",ei.open),Ti(ei._input,"click",ei.open)):(ei._input.removeEventListener("focus",ei.open),ei._input.removeEventListener("click",ei.open))}]};function Po(hi,gi){if(hi!==null&&typeof hi=="object"){Object.assign(ei.config,hi);for(var wi in hi)Ss[wi]!==void 0&&Ss[wi].forEach(function(Ci){return Ci()})}else ei.config[hi]=gi,Ss[hi]!==void 0?Ss[hi].forEach(function(Ci){return Ci()}):Ll.indexOf(hi)>-1&&(ei.config[hi]=Nl(gi));ei.redraw(),As(!0)}function Zs(hi,gi){var wi=[];if(hi instanceof Array)wi=hi.map(function(Ci){return ei.parseDate(Ci,gi)});else if(hi instanceof Date||typeof hi=="number")wi=[ei.parseDate(hi,gi)];else if(typeof hi=="string")switch(ei.config.mode){case"single":case"time":wi=[ei.parseDate(hi,gi)];break;case"multiple":wi=hi.split(ei.config.conjunction).map(function(Ci){return ei.parseDate(Ci,gi)});break;case"range":wi=hi.split(ei.l10n.rangeSeparator).map(function(Ci){return ei.parseDate(Ci,gi)});break;default:break}else ei.config.errorHandler(new Error("Invalid date supplied: "+JSON.stringify(hi)));ei.selectedDates=ei.config.allowInvalidPreload?wi:wi.filter(function(Ci){return Ci instanceof Date&&$n(Ci,!1)}),ei.config.mode==="range"&&ei.selectedDates.sort(function(Ci,Ii){return Ci.getTime()-Ii.getTime()})}function Ho(hi,gi,wi){if(gi===void 0&&(gi=!1),wi===void 0&&(wi=ei.config.dateFormat),hi!==0&&!hi||hi instanceof Array&&hi.length===0)return ei.clear(gi);Zs(hi,wi),ei.latestSelectedDateObj=ei.selectedDates[ei.selectedDates.length-1],ei.redraw(),rn(void 0,gi),Ei(),ei.selectedDates.length===0&&ei.clear(!1),As(gi),gi&&xn("onChange")}function ga(hi){return hi.slice().map(function(gi){return typeof gi=="string"||typeof gi=="number"||gi instanceof Date?ei.parseDate(gi,void 0,!0):gi&&typeof gi=="object"&&gi.from&&gi.to?{from:ei.parseDate(gi.from,void 0),to:ei.parseDate(gi.to,void 0)}:gi}).filter(function(gi){return gi})}function $l(){ei.selectedDates=[],ei.now=ei.parseDate(ei.config.now)||new Date;var hi=ei.config.defaultDate||((ei.input.nodeName==="INPUT"||ei.input.nodeName==="TEXTAREA")&&ei.input.placeholder&&ei.input.value===ei.input.placeholder?null:ei.input.value);hi&&Zs(hi,ei.config.dateFormat),ei._initialDate=ei.selectedDates.length>0?ei.selectedDates[0]:ei.config.minDate&&ei.config.minDate.getTime()>ei.now.getTime()?ei.config.minDate:ei.config.maxDate&&ei.config.maxDate.getTime()0&&(ei.latestSelectedDateObj=ei.selectedDates[0]),ei.config.minTime!==void 0&&(ei.config.minTime=ei.parseDate(ei.config.minTime,"H:i")),ei.config.maxTime!==void 0&&(ei.config.maxTime=ei.parseDate(ei.config.maxTime,"H:i")),ei.minDateHasTime=!!ei.config.minDate&&(ei.config.minDate.getHours()>0||ei.config.minDate.getMinutes()>0||ei.config.minDate.getSeconds()>0),ei.maxDateHasTime=!!ei.config.maxDate&&(ei.config.maxDate.getHours()>0||ei.config.maxDate.getMinutes()>0||ei.config.maxDate.getSeconds()>0)}function va(){if(ei.input=Wn(),!ei.input){ei.config.errorHandler(new Error("Invalid input element specified"));return}ei.input._type=ei.input.type,ei.input.type="text",ei.input.classList.add("flatpickr-input"),ei._input=ei.input,ei.config.altInput&&(ei.altInput=On(ei.input.nodeName,ei.config.altInputClass),ei._input=ei.altInput,ei.altInput.placeholder=ei.input.placeholder,ei.altInput.disabled=ei.input.disabled,ei.altInput.required=ei.input.required,ei.altInput.tabIndex=ei.input.tabIndex,ei.altInput.type="text",ei.input.setAttribute("type","hidden"),!ei.config.static&&ei.input.parentNode&&ei.input.parentNode.insertBefore(ei.altInput,ei.input.nextSibling)),ei.config.allowInput||ei._input.setAttribute("readonly","readonly"),jl()}function jl(){ei._positionElement=ei.config.positionElement||ei._input}function Fo(){var hi=ei.config.enableTime?ei.config.noCalendar?"time":"datetime-local":"date";ei.mobileInput=On("input",ei.input.className+" flatpickr-mobile"),ei.mobileInput.tabIndex=1,ei.mobileInput.type=hi,ei.mobileInput.disabled=ei.input.disabled,ei.mobileInput.required=ei.input.required,ei.mobileInput.placeholder=ei.input.placeholder,ei.mobileFormatStr=hi==="datetime-local"?"Y-m-d\\TH:i:S":hi==="date"?"Y-m-d":"H:i:S",ei.selectedDates.length>0&&(ei.mobileInput.defaultValue=ei.mobileInput.value=ei.formatDate(ei.selectedDates[0],ei.mobileFormatStr)),ei.config.minDate&&(ei.mobileInput.min=ei.formatDate(ei.config.minDate,"Y-m-d")),ei.config.maxDate&&(ei.mobileInput.max=ei.formatDate(ei.config.maxDate,"Y-m-d")),ei.input.getAttribute("step")&&(ei.mobileInput.step=String(ei.input.getAttribute("step"))),ei.input.type="hidden",ei.altInput!==void 0&&(ei.altInput.type="hidden");try{ei.input.parentNode&&ei.input.parentNode.insertBefore(ei.mobileInput,ei.input.nextSibling)}catch(gi){}Ti(ei.mobileInput,"change",function(gi){ei.setDate(ds(gi).value,!1,ei.mobileFormatStr),xn("onChange"),xn("onClose")})}function Wa(hi){if(ei.isOpen===!0)return ei.close();ei.open(hi)}function xn(hi,gi){if(ei.config!==void 0){var wi=ei.config[hi];if(wi!==void 0&&wi.length>0)for(var Ci=0;wi[Ci]&&Ci=0&&fs(hi,ei.selectedDates[1])<=0}function $o(){ei.config.noCalendar||ei.isMobile||!ei.monthNav||(ei.yearElements.forEach(function(hi,gi){var wi=new Date(ei.currentYear,ei.currentMonth,1);wi.setMonth(ei.currentMonth+gi),ei.config.showMonths>1||ei.config.monthSelectorType==="static"?ei.monthElements[gi].textContent=za(wi.getMonth(),ei.config.shorthandCurrentMonth,ei.l10n)+" ":ei.monthsDropdownContainer.value=wi.getMonth().toString(),hi.value=wi.getFullYear().toString()}),ei._hidePrevMonthArrow=ei.config.minDate!==void 0&&(ei.currentYear===ei.config.minDate.getFullYear()?ei.currentMonth<=ei.config.minDate.getMonth():ei.currentYearei.config.maxDate.getMonth():ei.currentYear>ei.config.maxDate.getFullYear()))}function jo(hi){var gi=hi||(ei.config.altInput?ei.config.altFormat:ei.config.dateFormat);return ei.selectedDates.map(function(wi){return ei.formatDate(wi,gi)}).filter(function(wi,Ci,Ii){return ei.config.mode!=="range"||ei.config.enableTime||Ii.indexOf(wi)===Ci}).join(ei.config.mode!=="range"?ei.config.conjunction:ei.l10n.rangeSeparator)}function As(hi){hi===void 0&&(hi=!0),ei.mobileInput!==void 0&&ei.mobileFormatStr&&(ei.mobileInput.value=ei.latestSelectedDateObj!==void 0?ei.formatDate(ei.latestSelectedDateObj,ei.mobileFormatStr):""),ei.input.value=jo(ei.config.dateFormat),ei.altInput!==void 0&&(ei.altInput.value=jo(ei.config.altFormat)),hi!==!1&&xn("onValueUpdate")}function Dn(hi){var gi=ds(hi),wi=ei.prevMonthNav.contains(gi),Ci=ei.nextMonthNav.contains(gi);wi||Ci?Li(wi?-1:1):ei.yearElements.indexOf(gi)>=0?gi.select():gi.classList.contains("arrowUp")?ei.changeYear(ei.currentYear+1):gi.classList.contains("arrowDown")&&ei.changeYear(ei.currentYear-1)}function Ln(hi){hi.preventDefault();var gi=hi.type==="keydown",wi=ds(hi),Ci=wi;ei.amPM!==void 0&&wi===ei.amPM&&(ei.amPM.textContent=ei.l10n.amPM[us(ei.amPM.textContent===ei.l10n.amPM[0])]);var Ii=parseFloat(Ci.getAttribute("min")),qi=parseFloat(Ci.getAttribute("max")),nn=parseFloat(Ci.getAttribute("step")),Xi=parseInt(Ci.value,10),bn=hi.delta||(gi?hi.which===38?1:-1:0),Gi=Xi+nn*bn;if(typeof Ci.value!="undefined"&&Ci.value.length===2){var hn=Ci===ei.hourElement,kn=Ci===ei.minuteElement;Giqi&&(Gi=Ci===ei.hourElement?Gi-qi-us(!ei.amPM):Ii,kn&&Yi(void 0,1,ei.hourElement)),ei.amPM&&hn&&(nn===1?Gi+Xi===23:Math.abs(Gi-Xi)>nn)&&(ei.amPM.textContent=ei.l10n.amPM[us(ei.amPM.textContent===ei.l10n.amPM[0])]),Ci.value=es(Gi)}}return ri(),ei}function ca(ii,ti){for(var ei=Array.prototype.slice.call(ii).filter(function(ai){return ai instanceof HTMLElement}),ni=[],ri=0;ri option"))if(ti.selected){for(let ei of Ki("#id_columns"))ei.appendChild(ti.cloneNode(!0));ti.remove()}ii.preventDefault()}function Uy(ii){for(let ti of Ki("#id_columns > option"))if(ti.selected){for(let ei of Ki("#id_available_columns"))ei.appendChild(ti.cloneNode(!0));ti.remove()}ii.preventDefault()}function Wf(ii,ti){return $s(this,null,function*(){return yield oa(ii,ti)})}function Yy(ii){var di,yi,pi;ii.preventDefault();let ti=ii.currentTarget,ei=ti.getAttribute("data-url");if(ei==null){uo("danger","Error Updating Table Configuration","No API path defined for configuration form.").show();return}let ni=((di=document.activeElement)==null?void 0:di.getAttribute("value"))==="Reset",ri=(pi=(yi=ti.getAttribute("data-config-root"))==null?void 0:yi.split("."))!=null?pi:[];if(ni){let vi=ri.reduceRight((Ei,Ai)=>({[Ai]:Ei}),{});Wf(ei,vi).then(Ei=>{Mo(Ei)?uo("danger","Error Resetting Table Configuration",Ei.error).show():location.reload()});return}let si=Pd(ti,"select[name=columns]"),ai=Object.assign({},...si.map(vi=>({[vi.name]:vi.options}))),li=ri.reduceRight((vi,Ei)=>({[Ei]:vi}),ai);Wf(ei,li).then(vi=>{Mo(vi)?uo("danger","Error Updating Table Configuration",vi.error).show():location.reload()})}function Uf(){for(let ii of Ki("#save_tableconfig"))ii.addEventListener("click",qy);for(let ii of Ki("#add_columns"))ii.addEventListener("click",Wy);for(let ii of Ki("#remove_columns"))ii.addEventListener("click",Uy);for(let ii of Ki("form.userconfigform"))ii.addEventListener("submit",Yy)}function Yf(ii){return typeof ii=="string"&&["show","hide"].includes(ii)}var ua=class extends Error{constructor(ti,ei){super(ti);Pn(this,"table");this.table=ei}},Va=class{constructor(ti,ei){Pn(this,"button");Pn(this,"rows");this.button=ti,this.rows=ei}hideRows(){for(let ti of this.rows)ti.classList.add("d-none")}set buttonState(ti){Yf(ti)&&this.button.setAttribute("data-state",ti)}get buttonState(){let ti=this.button.getAttribute("data-state");return Yf(ti)?ti:null}toggleButton(){this.buttonState==="show"?this.button.innerText=aa(this.button.innerText,"Show","Hide"):this.buttonState==="hide"&&(this.button.innerText=aa(this.button.innerHTML,"Hide","Show"))}toggleState(){this.buttonState==="show"?this.buttonState="hide":this.buttonState==="hide"&&(this.buttonState="show")}toggle(){this.toggleState(),this.toggleButton()}handleClick(ti){ti.currentTarget.isEqualNode(this.button)&&this.toggle(),this.buttonState==="hide"&&this.hideRows()}},Kf=class{constructor(ti){Pn(this,"table");Pn(this,"enabledButton");Pn(this,"disabledButton");Pn(this,"virtualButton");Pn(this,"disconnectedButton");Pn(this,"rows");this.table=ti,this.rows=this.table.querySelectorAll("tr");try{let ei=ko(this.table,"button.toggle-enabled"),ni=ko(this.table,"button.toggle-disabled"),ri=ko(this.table,"button.toggle-virtual"),si=ko(this.table,"button.toggle-disconnected");if(ei===null)throw new ua("Table is missing a 'toggle-enabled' button.",ti);if(ni===null)throw new ua("Table is missing a 'toggle-disabled' button.",ti);if(ri===null)throw new ua("Table is missing a 'toggle-virtual' button.",ti);if(si===null)throw new ua("Table is missing a 'toggle-disconnected' button.",ti);ei.addEventListener("click",ai=>this.handleClick(ai,this)),ni.addEventListener("click",ai=>this.handleClick(ai,this)),ri.addEventListener("click",ai=>this.handleClick(ai,this)),si.addEventListener("click",ai=>this.handleClick(ai,this)),this.enabledButton=new Va(ei,ti.querySelectorAll('tr[data-enabled="enabled"]')),this.disabledButton=new Va(ni,ti.querySelectorAll('tr[data-enabled="disabled"]')),this.virtualButton=new Va(ri,ti.querySelectorAll('tr[data-type="virtual"]')),this.disconnectedButton=new Va(si,ti.querySelectorAll('tr[data-connected="disconnected"]'))}catch(ei){if(ei instanceof ua){console.debug("Table does not contain enable/disable toggle buttons");return}else throw ei}}handleClick(ti,ei){for(let ni of this.rows)ni.classList.remove("d-none");ei.enabledButton.handleClick(ti),ei.disabledButton.handleClick(ti),ei.virtualButton.handleClick(ti),ei.disconnectedButton.handleClick(ti)}};function Gf(){for(let ii of Ki("table"))new Kf(ii)}var Qf=class{constructor(ti){Pn(this,"base");Pn(this,"state");Pn(this,"activeLink",null);Pn(this,"sections",[]);this.base=ti,this.state=new Sl({pinned:!0},{persist:!0,key:"netbox-sidenav"}),this.init(),this.initSectionLinks(),this.initLinks()}bodyHas(ti){return document.body.hasAttribute(`data-sidenav-${ti}`)}bodyRemove(...ti){for(let ei of ti)document.body.removeAttribute(`data-sidenav-${ei}`)}bodyAdd(...ti){for(let ei of ti)document.body.setAttribute(`data-sidenav-${ei}`,"")}init(){for(let ti of this.base.querySelectorAll(".sidenav-toggle"))ti.addEventListener("click",ei=>this.onToggle(ei));for(let ti of Ki(".sidenav-toggle-mobile"))ti.addEventListener("click",ei=>this.onMobileToggle(ei));window.innerWidth>1200&&(this.state.get("pinned")&&this.pin(),this.state.get("pinned")||this.unpin(),window.addEventListener("resize",()=>this.onResize())),window.innerWidth<1200&&(this.bodyRemove("hide"),this.bodyAdd("hidden"),window.addEventListener("resize",()=>this.onResize())),this.base.addEventListener("mouseenter",()=>this.onEnter()),this.base.addEventListener("mouseleave",()=>this.onLeave())}initLinks(){for(let ti of this.getActiveLinks())this.bodyHas("show")?this.activateLink(ti,"expand"):this.bodyHas("hidden")&&this.activateLink(ti,"collapse")}show(){this.bodyAdd("show"),this.bodyRemove("hidden","hide")}hide(){this.bodyAdd("hidden"),this.bodyRemove("pinned","show");for(let ti of this.base.querySelectorAll(".collapse"))ti.classList.remove("show")}pin(){this.bodyAdd("show","pinned"),this.bodyRemove("hidden"),this.state.set("pinned",!0)}unpin(){this.bodyRemove("pinned","show"),this.bodyAdd("hidden");for(let ti of this.base.querySelectorAll(".collapse"))ti.classList.remove("show");this.state.set("pinned",!1)}handleSectionClick(ti){ti.preventDefault();let ei=ti.target;this.activeLink=ei,this.closeInactiveSections()}closeInactiveSections(){for(let[ti,ei]of this.sections)ti!==this.activeLink&&(ti.classList.add("collapsed"),ti.setAttribute("aria-expanded","false"),ei.hide())}initSectionLinks(){for(let ti of Ki(".navbar-nav .nav-item .nav-link[data-bs-toggle]"))if(ti.parentElement!==null){let ei=ti.parentElement.querySelector(".collapse");if(ei!==null){let ni=new Rs(ei,{toggle:!1});this.sections.push([ti,ni]),ti.addEventListener("click",ri=>this.handleSectionClick(ri))}}}activateLink(ti,ei){var ri;let ni=ti.closest(".dropdown-menu");if(bl(ni)){let si=ni.parentElement,ai=(ri=ni.parentElement)==null?void 0:ri.querySelector(".nav-link");if(bl(ai)&&bl(si))switch(ei){case"expand":ai.setAttribute("aria-expanded","true"),si.classList.add("active"),ni.classList.add("show"),ti.classList.add("active");break;case"collapse":ai.setAttribute("aria-expanded","false"),si.classList.remove("active"),ni.classList.remove("show"),ti.classList.remove("active");break}}}*getActiveLinks(){for(let ti of this.base.querySelectorAll("ul.navbar-nav .nav-item .dropdown-item")){let ei=ti.querySelector("a");if(ei){let ni=new RegExp(ei.href,"gi");window.location.href.match(ni)&&(yield ti)}}}onEnter(){if(!this.bodyHas("pinned")){this.bodyRemove("hide","hidden"),this.bodyAdd("show");for(let ti of this.getActiveLinks())this.activateLink(ti,"expand")}}onLeave(){if(!this.bodyHas("pinned")){this.bodyRemove("show"),this.bodyAdd("hide");for(let ti of this.getActiveLinks())this.activateLink(ti,"collapse");this.bodyRemove("hide"),this.bodyAdd("hidden")}}onResize(){this.bodyHas("show")&&!this.bodyHas("pinned")&&(this.bodyRemove("show"),this.bodyAdd("hidden"))}onToggle(ti){ti.preventDefault(),this.state.get("pinned")?this.unpin():this.pin()}onMobileToggle(ti){ti.preventDefault(),this.bodyHas("hidden")?this.show():this.hide()}};function Xf(){for(let ii of Ki(".navbar"))new Qf(ii)}function Jf(ii,ti,ei,ni,ri){let si=(...ai)=>(console.warn("gridstack.js: Function `"+ei+"` is deprecated in "+ri+" and has been replaced with `"+ni+"`. It will be **removed** in a future release"),ti.apply(ii,ai));return si.prototype=ti.prototype,si}var xi=class{static getElements(ti,ei=document){if(typeof ti=="string"){let ni="getElementById"in ei?ei:void 0;if(ni&&!isNaN(+ti[0])){let si=ni.getElementById(ti);return si?[si]:[]}let ri=ei.querySelectorAll(ti);return!ri.length&&ti[0]!=="."&&ti[0]!=="#"&&(ri=ei.querySelectorAll("."+ti),ri.length||(ri=ei.querySelectorAll("#"+ti))),Array.from(ri)}return[ti]}static getElement(ti,ei=document){if(typeof ti=="string"){let ni="getElementById"in ei?ei:void 0;if(!ti.length)return null;if(ni&&ti[0]==="#")return ni.getElementById(ti.substring(1));if(ti[0]==="#"||ti[0]==="."||ti[0]==="[")return ei.querySelector(ti);if(ni&&!isNaN(+ti[0]))return ni.getElementById(ti);let ri=ei.querySelector(ti);return ni&&!ri&&(ri=ni.getElementById(ti)),ri||(ri=ei.querySelector("."+ti)),ri}return ti}static shouldSizeToContent(ti,ei=!1){return(ti==null?void 0:ti.grid)&&(ei?ti.sizeToContent===!0||ti.grid.opts.sizeToContent===!0&&ti.sizeToContent===void 0:!!ti.sizeToContent||ti.grid.opts.sizeToContent&&ti.sizeToContent!==!1)}static isIntercepted(ti,ei){return!(ti.y>=ei.y+ei.h||ti.y+ti.h<=ei.y||ti.x+ti.w<=ei.x||ti.x>=ei.x+ei.w)}static isTouching(ti,ei){return xi.isIntercepted(ti,{x:ei.x-.5,y:ei.y-.5,w:ei.w+1,h:ei.h+1})}static areaIntercept(ti,ei){let ni=ti.x>ei.x?ti.x:ei.x,ri=ti.x+ti.wei.y?ti.y:ei.y,ai=ti.y+ti.h{var li,di,yi,pi;let ai=ei*(((li=ri.y)!=null?li:ni)-((di=si.y)!=null?di:ni));return ai===0?ei*(((yi=ri.x)!=null?yi:ni)-((pi=si.x)!=null?pi:ni)):ai})}static find(ti,ei){return ei?ti.find(ni=>ni.id===ei):void 0}static createStylesheet(ti,ei,ni){let ri=document.createElement("style"),si=ni==null?void 0:ni.nonce;return si&&(ri.nonce=si),ri.setAttribute("type","text/css"),ri.setAttribute("gs-style-id",ti),ri.styleSheet?ri.styleSheet.cssText="":ri.appendChild(document.createTextNode("")),ei?ei.insertBefore(ri,ei.firstChild):(ei=document.getElementsByTagName("head")[0],ei.appendChild(ri)),ri.sheet}static removeStylesheet(ti,ei){let ri=(ei||document).querySelector("STYLE[gs-style-id="+ti+"]");ri&&ri.parentNode&&ri.remove()}static addCSSRule(ti,ei,ni){typeof ti.addRule=="function"?ti.addRule(ei,ni):typeof ti.insertRule=="function"&&ti.insertRule(`${ei}{${ni}}`)}static toBool(ti){return typeof ti=="boolean"?ti:typeof ti=="string"?(ti=ti.toLowerCase(),!(ti===""||ti==="no"||ti==="false"||ti==="0")):Boolean(ti)}static toNumber(ti){return ti===null||ti.length===0?void 0:Number(ti)}static parseHeight(ti){let ei,ni="px";if(typeof ti=="string")if(ti==="auto"||ti==="")ei=0;else{let ri=ti.match(/^(-[0-9]+\.[0-9]+|[0-9]*\.[0-9]+|-[0-9]+|[0-9]+)(px|em|rem|vh|vw|%|cm|mm)?$/);if(!ri)throw new Error(`Invalid height val = ${ti}`);ni=ri[2]||"px",ei=parseFloat(ri[1])}else ei=ti;return{h:ei,unit:ni}}static defaults(ti,...ei){return ei.forEach(ni=>{for(let ri in ni){if(!ni.hasOwnProperty(ri))return;ti[ri]===null||ti[ri]===void 0?ti[ri]=ni[ri]:typeof ni[ri]=="object"&&typeof ti[ri]=="object"&&this.defaults(ti[ri],ni[ri])}}),ti}static same(ti,ei){if(typeof ti!="object")return ti==ei;if(typeof ti!=typeof ei||Object.keys(ti).length!==Object.keys(ei).length)return!1;for(let ni in ti)if(ti[ni]!==ei[ni])return!1;return!0}static copyPos(ti,ei,ni=!1){return ei.x!==void 0&&(ti.x=ei.x),ei.y!==void 0&&(ti.y=ei.y),ei.w!==void 0&&(ti.w=ei.w),ei.h!==void 0&&(ti.h=ei.h),ni&&(ei.minW&&(ti.minW=ei.minW),ei.minH&&(ti.minH=ei.minH),ei.maxW&&(ti.maxW=ei.maxW),ei.maxH&&(ti.maxH=ei.maxH)),ti}static samePos(ti,ei){return ti&&ei&&ti.x===ei.x&&ti.y===ei.y&&(ti.w||1)===(ei.w||1)&&(ti.h||1)===(ei.h||1)}static sanitizeMinMax(ti){ti.minW||delete ti.minW,ti.minH||delete ti.minH,ti.maxW||delete ti.maxW,ti.maxH||delete ti.maxH}static removeInternalAndSame(ti,ei){if(!(typeof ti!="object"||typeof ei!="object"))for(let ni in ti){let ri=ti[ni],si=ei[ni];ni[0]==="_"||ri===si?delete ti[ni]:ri&&typeof ri=="object"&&si!==void 0&&(xi.removeInternalAndSame(ri,si),Object.keys(ri).length||delete ti[ni])}}static removeInternalForSave(ti,ei=!0){for(let ni in ti)(ni[0]==="_"||ti[ni]===null||ti[ni]===void 0)&&delete ti[ni];delete ti.grid,ei&&delete ti.el,ti.autoPosition||delete ti.autoPosition,ti.noResize||delete ti.noResize,ti.noMove||delete ti.noMove,ti.locked||delete ti.locked,(ti.w===1||ti.w===ti.minW)&&delete ti.w,(ti.h===1||ti.h===ti.minH)&&delete ti.h}static throttle(ti,ei){let ni=!1;return(...ri)=>{ni||(ni=!0,setTimeout(()=>{ti(...ri),ni=!1},ei))}}static removePositioningStyles(ti){let ei=ti.style;ei.position&&ei.removeProperty("position"),ei.left&&ei.removeProperty("left"),ei.top&&ei.removeProperty("top"),ei.width&&ei.removeProperty("width"),ei.height&&ei.removeProperty("height")}static getScrollElement(ti){if(!ti)return document.scrollingElement||document.documentElement;let ei=getComputedStyle(ti);return/(auto|scroll)/.test(ei.overflow+ei.overflowY)?ti:this.getScrollElement(ti.parentElement)}static updateScrollPosition(ti,ei,ni){let ri=ti.getBoundingClientRect(),si=window.innerHeight||document.documentElement.clientHeight;if(ri.top<0||ri.bottom>si){let ai=ri.bottom-si,li=ri.top,di=this.getScrollElement(ti);if(di!==null){let yi=di.scrollTop;ri.top<0&&ni<0?ti.offsetHeight>si?di.scrollTop+=ni:di.scrollTop+=Math.abs(li)>Math.abs(ni)?ni:li:ni>0&&(ti.offsetHeight>si?di.scrollTop+=ni:di.scrollTop+=ai>ni?ni:ai),ei.top+=di.scrollTop-yi}}}static updateScrollResize(ti,ei,ni){let ri=this.getScrollElement(ei),si=ri.clientHeight,ai=ri===this.getScrollElement()?0:ri.getBoundingClientRect().top,li=ti.clientY-ai,di=lisi-ni;di?ri.scrollBy({behavior:"smooth",top:li-ni}):yi&&ri.scrollBy({behavior:"smooth",top:ni-(si-li)})}static clone(ti){return ti==null||typeof ti!="object"?ti:ti instanceof Array?[...ti]:Ui({},ti)}static cloneDeep(ti){let ei=["parentGrid","el","grid","subGrid","engine"],ni=xi.clone(ti);for(let ri in ni)ni.hasOwnProperty(ri)&&typeof ni[ri]=="object"&&ri.substring(0,2)!=="__"&&!ei.find(si=>si===ri)&&(ni[ri]=xi.cloneDeep(ti[ri]));return ni}static cloneNode(ti){let ei=ti.cloneNode(!0);return ei.removeAttribute("id"),ei}static appendTo(ti,ei){let ni;typeof ei=="string"?ni=xi.getElement(ei):ni=ei,ni&&ni.appendChild(ti)}static addElStyles(ti,ei){if(ei instanceof Object)for(let ni in ei)ei.hasOwnProperty(ni)&&(Array.isArray(ei[ni])?ei[ni].forEach(ri=>{ti.style[ni]=ri}):ti.style[ni]=ei[ni])}static initEvent(ti,ei){let ni={type:ei.type},ri={button:0,which:0,buttons:1,bubbles:!0,cancelable:!0,target:ei.target?ei.target:ti.target};return ti.dataTransfer&&(ni.dataTransfer=ti.dataTransfer),["altKey","ctrlKey","metaKey","shiftKey"].forEach(si=>ni[si]=ti[si]),["pageX","pageY","clientX","clientY","screenX","screenY"].forEach(si=>ni[si]=ti[si]),Ui(Ui({},ni),ri)}static simulateMouseEvent(ti,ei,ni){let ri=document.createEvent("MouseEvents");ri.initMouseEvent(ei,!0,!0,window,1,ti.screenX,ti.screenY,ti.clientX,ti.clientY,ti.ctrlKey,ti.altKey,ti.shiftKey,ti.metaKey,0,ti.target),(ni||ti.target).dispatchEvent(ri)}static getValuesFromTransformedElement(ti){let ei=document.createElement("div");xi.addElStyles(ei,{opacity:"0",position:"fixed",top:0+"px",left:0+"px",width:"1px",height:"1px",zIndex:"-999999"}),ti.appendChild(ei);let ni=ei.getBoundingClientRect();return ti.removeChild(ei),ei.remove(),{xScale:1/ni.width,yScale:1/ni.height,xOffset:ni.left,yOffset:ni.top}}static swap(ti,ei,ni){let ri=ti[ei];ti[ei]=ti[ni],ti[ni]=ri}static canBeRotated(ti){var ei;return!(!ti||ti.w===ti.h||ti.locked||ti.noResize||((ei=ti.grid)==null?void 0:ei.opts.disableResize)||ti.minW&&ti.minW===ti.maxW||ti.minH&&ti.minH===ti.maxH)}};var Ts=class{constructor(ti={}){this.addedNodes=[],this.removedNodes=[],this.column=ti.column||12,this.maxRow=ti.maxRow,this._float=ti.float,this.nodes=ti.nodes||[],this.onChange=ti.onChange}batchUpdate(ti=!0,ei=!0){return!!this.batchMode===ti?this:(this.batchMode=ti,ti?(this._prevFloat=this._float,this._float=!0,this.cleanNodes(),this.saveInitial()):(this._float=this._prevFloat,delete this._prevFloat,ei&&this._packNodes(),this._notify()),this)}_useEntireRowArea(ti,ei){return(!this.float||this.batchMode&&!this._prevFloat)&&!this._hasLocked&&(!ti._moving||ti._skipDown||ei.y<=ti.y)}_fixCollisions(ti,ei=ti,ni,ri={}){if(this.sortNodes(-1),ni=ni||this.collide(ti,ei),!ni)return!1;if(ti._moving&&!ri.nested&&!this.float&&this.swap(ti,ni))return!0;let si=ei;this._useEntireRowArea(ti,ei)&&(si={x:0,w:this.column,y:ei.y,h:ei.h},ni=this.collide(ti,si,ri.skip));let ai=!1,li={nested:!0,pack:!1};for(;ni=ni||this.collide(ti,si,ri.skip);){let di;if(ni.locked||ti._moving&&!ti._skipDown&&ei.y>ti.y&&!this.float&&(!this.collide(ni,Fn(Ui({},ni),{y:ti.y}),ti)||!this.collide(ni,Fn(Ui({},ni),{y:ei.y-ni.h}),ti))?(ti._skipDown=ti._skipDown||ei.y>ti.y,di=this.moveNode(ti,Ui(Fn(Ui({},ei),{y:ni.y+ni.h}),li)),ni.locked&&di?xi.copyPos(ei,ti):!ni.locked&&di&&ri.pack&&(this._packNodes(),ei.y=ni.y+ni.h,xi.copyPos(ti,ei)),ai=ai||di):di=this.moveNode(ni,Ui(Fn(Ui({},ni),{y:ei.y+ei.h,skip:ti}),li)),!di)return ai;ni=void 0}return ai}collide(ti,ei=ti,ni){let ri=ti._id,si=ni==null?void 0:ni._id;return this.nodes.find(ai=>ai._id!==ri&&ai._id!==si&&xi.isIntercepted(ai,ei))}collideAll(ti,ei=ti,ni){let ri=ti._id,si=ni==null?void 0:ni._id;return this.nodes.filter(ai=>ai._id!==ri&&ai._id!==si&&xi.isIntercepted(ai,ei))}directionCollideCoverage(ti,ei,ni){if(!ei.rect||!ti._rect)return;let ri=ti._rect,si=Ui({},ei.rect);si.y>ri.y?(si.h+=si.y-ri.y,si.y=ri.y):si.h+=ri.y-si.y,si.x>ri.x?(si.w+=si.x-ri.x,si.x=ri.x):si.w+=ri.x-si.x;let ai,li=.5;for(let di of ni){if(di.locked||!di._rect)break;let yi=di._rect,pi=Number.MAX_VALUE,vi=Number.MAX_VALUE;ri.yyi.y+yi.h&&(pi=(yi.y+yi.h-si.y)/yi.h),ri.xyi.x+yi.w&&(vi=(yi.x+yi.w-si.x)/yi.w);let Ei=Math.min(vi,pi);Ei>li&&(li=Ei,ai=di)}return ei.collide=ai,ai}cacheRects(ti,ei,ni,ri,si,ai){return this.nodes.forEach(li=>li._rect={y:li.y*ei+ni,x:li.x*ti+ai,w:li.w*ti-ai-ri,h:li.h*ei-ni-si}),this}swap(ti,ei){if(!ei||ei.locked||!ti||ti.locked)return!1;function ni(){let si=ei.x,ai=ei.y;return ei.x=ti.x,ei.y=ti.y,ti.h!=ei.h?(ti.x=si,ti.y=ei.y+ei.h):ti.w!=ei.w?(ti.x=ei.x+ei.w,ti.y=ai):(ti.x=si,ti.y=ai),ti._dirty=ei._dirty=!0,!0}let ri;if(ti.w===ei.w&&ti.h===ei.h&&(ti.x===ei.x||ti.y===ei.y)&&(ri=xi.isTouching(ti,ei)))return ni();if(ri!==!1){if(ti.w===ei.w&&ti.x===ei.x&&(ri||(ri=xi.isTouching(ti,ei)))){if(ei.y{let yi;ai.locked||(ai.autoPosition=!0,ti==="list"&&li&&(yi=di[li-1])),this.addNode(ai,!1,yi)}),ri||delete this._inColumnResize,ni||this.batchUpdate(!1),this}set float(ti){this._float!==ti&&(this._float=ti||!1,ti||this._packNodes()._notify())}get float(){return this._float||!1}sortNodes(ti=1){return this.nodes=xi.sort(this.nodes,ti),this}_packNodes(){return this.batchMode?this:(this.sortNodes(),this.float?this.nodes.forEach(ti=>{if(ti._updating||ti._orig===void 0||ti.y===ti._orig.y)return;let ei=ti.y;for(;ei>ti._orig.y;)--ei,this.collide(ti,{x:ti.x,y:ei,w:ti.w,h:ti.h})||(ti._dirty=!0,ti.y=ei)}):this.nodes.forEach((ti,ei)=>{if(!ti.locked)for(;ti.y>0;){let ni=ei===0?0:ti.y-1;if(!(ei===0||!this.collide(ti,{x:ti.x,y:ni,w:ti.w,h:ti.h})))break;ti._dirty=ti.y!==ni,ti.y=ni}}),this)}prepareNode(ti,ei){var ri;ti._id=(ri=ti._id)!=null?ri:Ts._idSeq++,(ti.x===void 0||ti.y===void 0||ti.x===null||ti.y===null)&&(ti.autoPosition=!0);let ni={x:0,y:0,w:1,h:1};return xi.defaults(ti,ni),ti.autoPosition||delete ti.autoPosition,ti.noResize||delete ti.noResize,ti.noMove||delete ti.noMove,xi.sanitizeMinMax(ti),typeof ti.x=="string"&&(ti.x=Number(ti.x)),typeof ti.y=="string"&&(ti.y=Number(ti.y)),typeof ti.w=="string"&&(ti.w=Number(ti.w)),typeof ti.h=="string"&&(ti.h=Number(ti.h)),isNaN(ti.x)&&(ti.x=ni.x,ti.autoPosition=!0),isNaN(ti.y)&&(ti.y=ni.y,ti.autoPosition=!0),isNaN(ti.w)&&(ti.w=ni.w),isNaN(ti.h)&&(ti.h=ni.h),this.nodeBoundFix(ti,ei),ti}nodeBoundFix(ti,ei){let ni=ti._orig||xi.copyPos({},ti);if(ti.maxW&&(ti.w=Math.min(ti.w,ti.maxW)),ti.maxH&&(ti.h=Math.min(ti.h,ti.maxH)),ti.minW&&ti.minW<=this.column&&(ti.w=Math.max(ti.w,ti.minW)),ti.minH&&(ti.h=Math.max(ti.h,ti.minH)),(ti.x||0)+(ti.w||1)>this.column&&this.column<12&&!this._inColumnResize&&ti._id&&this.findCacheLayout(ti,12)===-1){let si=Ui({},ti);si.autoPosition||si.x===void 0?(delete si.x,delete si.y):si.x=Math.min(11,si.x),si.w=Math.min(12,si.w||1),this.cacheOneLayout(si,12)}return ti.w>this.column?ti.w=this.column:ti.w<1&&(ti.w=1),this.maxRow&&ti.h>this.maxRow?ti.h=this.maxRow:ti.h<1&&(ti.h=1),ti.x<0&&(ti.x=0),ti.y<0&&(ti.y=0),ti.x+ti.w>this.column&&(ei?ti.w=this.column-ti.x:ti.x=this.column-ti.w),this.maxRow&&ti.y+ti.h>this.maxRow&&(ei?ti.h=this.maxRow-ti.y:ti.y=this.maxRow-ti.h),xi.samePos(ti,ni)||(ti._dirty=!0),this}getDirtyNodes(ti){return ti?this.nodes.filter(ei=>ei._dirty&&!xi.samePos(ei,ei._orig)):this.nodes.filter(ei=>ei._dirty)}_notify(ti){if(this.batchMode||!this.onChange)return this;let ei=(ti||[]).concat(this.getDirtyNodes());return this.onChange(ei),this}cleanNodes(){return this.batchMode?this:(this.nodes.forEach(ti=>{delete ti._dirty,delete ti._lastTried}),this)}saveInitial(){return this.nodes.forEach(ti=>{ti._orig=xi.copyPos({},ti),delete ti._dirty}),this._hasLocked=this.nodes.some(ti=>ti.locked),this}restoreInitial(){return this.nodes.forEach(ti=>{xi.samePos(ti,ti._orig)||(xi.copyPos(ti,ti._orig),ti._dirty=!0)}),this._notify(),this}findEmptyPosition(ti,ei=this.nodes,ni=this.column,ri){let si=ri?ri.y*ni+(ri.x+ri.w):0,ai=!1;for(let li=si;!ai;++li){let di=li%ni,yi=Math.floor(li/ni);if(di+ti.w>ni)continue;let pi={x:di,y:yi,w:ti.w,h:ti.h};ei.find(vi=>xi.isIntercepted(pi,vi))||((ti.x!==di||ti.y!==yi)&&(ti._dirty=!0),ti.x=di,ti.y=yi,delete ti.autoPosition,ai=!0)}return ai}addNode(ti,ei=!1,ni){let ri=this.nodes.find(ai=>ai._id===ti._id);if(ri)return ri;this._inColumnResize?this.nodeBoundFix(ti):this.prepareNode(ti),delete ti._temporaryRemoved,delete ti._removeDOM;let si;return ti.autoPosition&&this.findEmptyPosition(ti,this.nodes,this.column,ni)&&(delete ti.autoPosition,si=!0),this.nodes.push(ti),ei&&this.addedNodes.push(ti),si||this._fixCollisions(ti),this.batchMode||this._packNodes()._notify(),ti}removeNode(ti,ei=!0,ni=!1){return this.nodes.find(ri=>ri._id===ti._id)?(ni&&this.removedNodes.push(ti),ei&&(ti._removeDOM=!0),this.nodes=this.nodes.filter(ri=>ri._id!==ti._id),ti._isAboutToRemove||this._packNodes(),this._notify([ti]),this):this}removeAll(ti=!0,ei=!0){if(delete this._layouts,!this.nodes.length)return this;ti&&this.nodes.forEach(ri=>ri._removeDOM=!0);let ni=this.nodes;return this.removedNodes=ei?ni:[],this.nodes=[],this._notify(ni)}moveNodeCheck(ti,ei){if(!this.changedPosConstrain(ti,ei))return!1;if(ei.pack=!0,!this.maxRow)return this.moveNode(ti,ei);let ni,ri=new Ts({column:this.column,float:this.float,nodes:this.nodes.map(ai=>ai._id===ti._id?(ni=Ui({},ai),ni):Ui({},ai))});if(!ni)return!1;let si=ri.moveNode(ni,ei)&&ri.getRow()<=Math.max(this.getRow(),this.maxRow);if(!si&&!ei.resizing&&ei.collide){let ai=ei.collide.el.gridstackNode;if(this.swap(ti,ai))return this._notify(),!0}return si?(ri.nodes.filter(ai=>ai._dirty).forEach(ai=>{let li=this.nodes.find(di=>di._id===ai._id);!li||(xi.copyPos(li,ai),li._dirty=!0)}),this._notify(),!0):!1}willItFit(ti){if(delete ti._willFitPos,!this.maxRow)return!0;let ei=new Ts({column:this.column,float:this.float,nodes:this.nodes.map(ri=>Ui({},ri))}),ni=Ui({},ti);return this.cleanupNode(ni),delete ni.el,delete ni._id,delete ni.content,delete ni.grid,ei.addNode(ni),ei.getRow()<=this.maxRow?(ti._willFitPos=xi.copyPos({},ni),!0):!1}changedPosConstrain(ti,ei){return ei.w=ei.w||ti.w,ei.h=ei.h||ti.h,ti.x!==ei.x||ti.y!==ei.y?!0:(ti.maxW&&(ei.w=Math.min(ei.w,ti.maxW)),ti.maxH&&(ei.h=Math.min(ei.h,ti.maxH)),ti.minW&&(ei.w=Math.max(ei.w,ti.minW)),ti.minH&&(ei.h=Math.max(ei.h,ti.minH)),ti.w!==ei.w||ti.h!==ei.h)}moveNode(ti,ei){var yi,pi;if(!ti||!ei)return!1;let ni;ei.pack===void 0&&!this.batchMode&&(ni=ei.pack=!0),typeof ei.x!="number"&&(ei.x=ti.x),typeof ei.y!="number"&&(ei.y=ti.y),typeof ei.w!="number"&&(ei.w=ti.w),typeof ei.h!="number"&&(ei.h=ti.h);let ri=ti.w!==ei.w||ti.h!==ei.h,si=xi.copyPos({},ti,!0);if(xi.copyPos(si,ei),this.nodeBoundFix(si,ri),xi.copyPos(ei,si),!ei.forceCollide&&xi.samePos(ti,ei))return!1;let ai=xi.copyPos({},ti),li=this.collideAll(ti,si,ei.skip),di=!0;if(li.length){let vi=ti._moving&&!ei.nested,Ei=vi?this.directionCollideCoverage(ti,ei,li):li[0];if(vi&&Ei&&((pi=(yi=ti.grid)==null?void 0:yi.opts)==null?void 0:pi.subGridDynamic)&&!ti.grid._isTemp){let Ai=xi.areaIntercept(ei.rect,Ei._rect),Mi=xi.area(ei.rect),Ti=xi.area(Ei._rect);Ai/(Mi.8&&(Ei.grid.makeSubGrid(Ei.el,void 0,ti),Ei=void 0)}Ei?di=!this._fixCollisions(ti,si,Ei,ei):(di=!1,ni&&delete ei.pack)}return di&&(ti._dirty=!0,xi.copyPos(ti,si)),ei.pack&&this._packNodes()._notify(),!xi.samePos(ti,ai)}getRow(){return this.nodes.reduce((ti,ei)=>Math.max(ti,ei.y+ei.h),0)}beginUpdate(ti){return ti._updating||(ti._updating=!0,delete ti._skipDown,this.batchMode||this.saveInitial()),this}endUpdate(){let ti=this.nodes.find(ei=>ei._updating);return ti&&(delete ti._updating,delete ti._skipDown),this}save(ti=!0,ei){var ai;let ni=(ai=this._layouts)==null?void 0:ai.length,ri=ni&&this.column!==ni-1?this._layouts[ni-1]:null,si=[];return this.sortNodes(),this.nodes.forEach(li=>{let di=ri==null?void 0:ri.find(pi=>pi._id===li._id),yi=Ui(Ui({},li),di||{});xi.removeInternalForSave(yi,!ti),ei&&ei(li,yi),si.push(yi)}),si}layoutsNodesChange(ti){return!this._layouts||this._inColumnResize?this:(this._layouts.forEach((ei,ni)=>{if(!ei||ni===this.column)return this;if(ni{if(!si._orig)return;let ai=ei.find(li=>li._id===si._id);!ai||(ai.y>=0&&si.y!==si._orig.y&&(ai.y+=si.y-si._orig.y),si.x!==si._orig.x&&(ai.x=Math.round(si.x*ri)),si.w!==si._orig.w&&(ai.w=Math.round(si.w*ri)))})}}),this)}columnChanged(ti,ei,ni="moveScale"){var li;if(!this.nodes.length||!ei||ti===ei)return this;if(ni==="none")return this;let ri=ni==="compact"||ni==="list";ri&&this.sortNodes(1),eiti&&this._layouts){let di=this._layouts[ei]||[],yi=this._layouts.length-1;!di.length&&ti!==yi&&((li=this._layouts[yi])==null?void 0:li.length)&&(ti=yi,this._layouts[yi].forEach(pi=>{var Ei,Ai,Mi;let vi=ai.find(Ti=>Ti._id===pi._id);vi&&(!ri&&!pi.autoPosition&&(vi.x=(Ei=pi.x)!=null?Ei:vi.x,vi.y=(Ai=pi.y)!=null?Ai:vi.y),vi.w=(Mi=pi.w)!=null?Mi:vi.w,(pi.x==null||pi.y===void 0)&&(vi.autoPosition=!0))})),di.forEach(pi=>{var Ei,Ai,Mi;let vi=ai.findIndex(Ti=>Ti._id===pi._id);if(vi!==-1){let Ti=ai[vi];if(ri){Ti.w=pi.w;return}(pi.autoPosition||isNaN(pi.x)||isNaN(pi.y))&&this.findEmptyPosition(pi,si),pi.autoPosition||(Ti.x=(Ei=pi.x)!=null?Ei:Ti.x,Ti.y=(Ai=pi.y)!=null?Ai:Ti.y,Ti.w=(Mi=pi.w)!=null?Mi:Ti.w,si.push(Ti)),ai.splice(vi,1)}})}if(ri)this.compact(ni,!1);else{if(ai.length)if(typeof ni=="function")ni(ei,ti,si,ai);else{let di=ri?1:ei/ti,yi=ni==="move"||ni==="moveScale",pi=ni==="scale"||ni==="moveScale";ai.forEach(vi=>{vi.x=ei===1?0:yi?Math.round(vi.x*di):Math.min(vi.x,ei-1),vi.w=ei===1||ti===1?1:pi?Math.round(vi.w*di)||1:Math.min(vi.w,ei),si.push(vi)}),ai=[]}si=xi.sort(si,-1),this._inColumnResize=!0,this.nodes=[],si.forEach(di=>{this.addNode(di,!1),delete di._orig})}return this.nodes.forEach(di=>delete di._orig),this.batchUpdate(!1,!ri),delete this._inColumnResize,this}cacheLayout(ti,ei,ni=!1){let ri=[];return ti.forEach((si,ai)=>{var li;if(si._id===void 0){let di=si.id?this.nodes.find(yi=>yi.id===si.id):void 0;si._id=(li=di==null?void 0:di._id)!=null?li:Ts._idSeq++}ri[ai]={x:si.x,y:si.y,w:si.w,_id:si._id}}),this._layouts=ni?[]:this._layouts||[],this._layouts[ei]=ri,this}cacheOneLayout(ti,ei){var si;ti._id=(si=ti._id)!=null?si:Ts._idSeq++;let ni={x:ti.x,y:ti.y,w:ti.w,_id:ti._id};(ti.autoPosition||ti.x===void 0)&&(delete ni.x,delete ni.y,ti.autoPosition&&(ni.autoPosition=!0)),this._layouts=this._layouts||[],this._layouts[ei]=this._layouts[ei]||[];let ri=this.findCacheLayout(ti,ei);return ri===-1?this._layouts[ei].push(ni):this._layouts[ei][ri]=ni,this}findCacheLayout(ti,ei){var ni,ri,si;return(si=(ri=(ni=this._layouts)==null?void 0:ni[ei])==null?void 0:ri.findIndex(ai=>ai._id===ti._id))!=null?si:-1}removeNodeFromLayoutCache(ti){if(!!this._layouts)for(let ei=0;ei0||navigator.msMaxTouchPoints>0),Ms=class{};function Fl(ii,ti){if(ii.touches.length>1)return;ii.cancelable&&ii.preventDefault();let ei=ii.changedTouches[0],ni=document.createEvent("MouseEvents");ni.initMouseEvent(ti,!0,!0,window,1,ei.screenX,ei.screenY,ei.clientX,ei.clientY,!1,!1,!1,!1,0,null),ii.target.dispatchEvent(ni)}function eh(ii,ti){ii.cancelable&&ii.preventDefault();let ei=document.createEvent("MouseEvents");ei.initMouseEvent(ti,!0,!0,window,1,ii.screenX,ii.screenY,ii.clientX,ii.clientY,!1,!1,!1,!1,0,null),ii.target.dispatchEvent(ei)}function da(ii){Ms.touchHandled||(Ms.touchHandled=!0,Fl(ii,"mousedown"))}function fa(ii){!Ms.touchHandled||Fl(ii,"mousemove")}function ha(ii){if(!Ms.touchHandled)return;Ms.pointerLeaveTimeout&&(window.clearTimeout(Ms.pointerLeaveTimeout),delete Ms.pointerLeaveTimeout);let ti=!!an.dragElement;Fl(ii,"mouseup"),ti||Fl(ii,"click"),Ms.touchHandled=!1}function pa(ii){ii.pointerType!=="mouse"&&ii.target.releasePointerCapture(ii.pointerId)}function nu(ii){!an.dragElement||ii.pointerType!=="mouse"&&eh(ii,"mouseenter")}function ru(ii){!an.dragElement||ii.pointerType!=="mouse"&&(Ms.pointerLeaveTimeout=window.setTimeout(()=>{delete Ms.pointerLeaveTimeout,eh(ii,"mouseleave")},10))}var ma=class{constructor(ti,ei,ni){this.host=ti,this.dir=ei,this.option=ni,this.moving=!1,this._mouseDown=this._mouseDown.bind(this),this._mouseMove=this._mouseMove.bind(this),this._mouseUp=this._mouseUp.bind(this),this._keyEvent=this._keyEvent.bind(this),this._init()}_init(){let ti=this.el=document.createElement("div");return ti.classList.add("ui-resizable-handle"),ti.classList.add(`${ma.prefix}${this.dir}`),ti.style.zIndex="100",ti.style.userSelect="none",this.host.appendChild(this.el),this.el.addEventListener("mousedown",this._mouseDown),os&&(this.el.addEventListener("touchstart",da),this.el.addEventListener("pointerdown",pa)),this}destroy(){return this.moving&&this._mouseUp(this.mouseDownEvent),this.el.removeEventListener("mousedown",this._mouseDown),os&&(this.el.removeEventListener("touchstart",da),this.el.removeEventListener("pointerdown",pa)),this.host.removeChild(this.el),delete this.el,delete this.host,this}_mouseDown(ti){this.mouseDownEvent=ti,document.addEventListener("mousemove",this._mouseMove,{capture:!0,passive:!0}),document.addEventListener("mouseup",this._mouseUp,!0),os&&(this.el.addEventListener("touchmove",fa),this.el.addEventListener("touchend",ha)),ti.stopPropagation(),ti.preventDefault()}_mouseMove(ti){let ei=this.mouseDownEvent;this.moving?this._triggerEvent("move",ti):Math.abs(ti.x-ei.x)+Math.abs(ti.y-ei.y)>2&&(this.moving=!0,this._triggerEvent("start",this.mouseDownEvent),this._triggerEvent("move",ti),document.addEventListener("keydown",this._keyEvent)),ti.stopPropagation()}_mouseUp(ti){this.moving&&(this._triggerEvent("stop",ti),document.removeEventListener("keydown",this._keyEvent)),document.removeEventListener("mousemove",this._mouseMove,!0),document.removeEventListener("mouseup",this._mouseUp,!0),os&&(this.el.removeEventListener("touchmove",fa),this.el.removeEventListener("touchend",ha)),delete this.moving,delete this.mouseDownEvent,ti.stopPropagation(),ti.preventDefault()}_keyEvent(ti){var ei,ni;ti.key==="Escape"&&((ni=(ei=this.host.gridstackNode)==null?void 0:ei.grid)==null||ni.engine.restoreInitial(),this._mouseUp(this.mouseDownEvent))}_triggerEvent(ti,ei){return this.option[ti]&&this.option[ti](ei),this}};ma.prefix="ui-resizable-";var No=class{constructor(){this._eventRegister={}}get disabled(){return this._disabled}on(ti,ei){this._eventRegister[ti]=ei}off(ti){delete this._eventRegister[ti]}enable(){this._disabled=!1}disable(){this._disabled=!0}destroy(){delete this._eventRegister}triggerEvent(ti,ei){if(!this.disabled&&this._eventRegister&&this._eventRegister[ti])return this._eventRegister[ti](ei)}};var Ro=class extends No{constructor(ti,ei={}){super();this.el=ti,this.option=ei,this.rectScale={x:1,y:1},this._ui=()=>{let ri=this.el.parentElement.getBoundingClientRect(),si={width:this.originalRect.width,height:this.originalRect.height+this.scrolled,left:this.originalRect.left,top:this.originalRect.top-this.scrolled},ai=this.temporalRect||si;return{position:{left:(ai.left-ri.left)*this.rectScale.x,top:(ai.top-ri.top)*this.rectScale.y},size:{width:ai.width*this.rectScale.x,height:ai.height*this.rectScale.y}}},this._mouseOver=this._mouseOver.bind(this),this._mouseOut=this._mouseOut.bind(this),this.enable(),this._setupAutoHide(this.option.autoHide),this._setupHandlers()}on(ti,ei){super.on(ti,ei)}off(ti){super.off(ti)}enable(){super.enable(),this.el.classList.remove("ui-resizable-disabled"),this._setupAutoHide(this.option.autoHide)}disable(){super.disable(),this.el.classList.add("ui-resizable-disabled"),this._setupAutoHide(!1)}destroy(){this._removeHandlers(),this._setupAutoHide(!1),delete this.el,super.destroy()}updateOption(ti){let ei=ti.handles&&ti.handles!==this.option.handles,ni=ti.autoHide&&ti.autoHide!==this.option.autoHide;return Object.keys(ti).forEach(ri=>this.option[ri]=ti[ri]),ei&&(this._removeHandlers(),this._setupHandlers()),ni&&this._setupAutoHide(this.option.autoHide),this}_setupAutoHide(ti){return ti?(this.el.classList.add("ui-resizable-autohide"),this.el.addEventListener("mouseover",this._mouseOver),this.el.addEventListener("mouseout",this._mouseOut)):(this.el.classList.remove("ui-resizable-autohide"),this.el.removeEventListener("mouseover",this._mouseOver),this.el.removeEventListener("mouseout",this._mouseOut),an.overResizeElement===this&&delete an.overResizeElement),this}_mouseOver(ti){an.overResizeElement||an.dragElement||(an.overResizeElement=this,this.el.classList.remove("ui-resizable-autohide"))}_mouseOut(ti){an.overResizeElement===this&&(delete an.overResizeElement,this.el.classList.add("ui-resizable-autohide"))}_setupHandlers(){return this.handlers=this.option.handles.split(",").map(ti=>ti.trim()).map(ti=>new ma(this.el,ti,{start:ei=>{this._resizeStart(ei)},stop:ei=>{this._resizeStop(ei)},move:ei=>{this._resizing(ei,ti)}})),this}_resizeStart(ti){this.sizeToContent=xi.shouldSizeToContent(this.el.gridstackNode,!0),this.originalRect=this.el.getBoundingClientRect(),this.scrollEl=xi.getScrollElement(this.el),this.scrollY=this.scrollEl.scrollTop,this.scrolled=0,this.startEvent=ti,this._setupHelper(),this._applyChange();let ei=xi.initEvent(ti,{type:"resizestart",target:this.el});return this.option.start&&this.option.start(ei,this._ui()),this.el.classList.add("ui-resizable-resizing"),this.triggerEvent("resizestart",ei),this}_resizing(ti,ei){this.scrolled=this.scrollEl.scrollTop-this.scrollY,this.temporalRect=this._getChange(ti,ei),this._applyChange();let ni=xi.initEvent(ti,{type:"resize",target:this.el});return this.option.resize&&this.option.resize(ni,this._ui()),this.triggerEvent("resize",ni),this}_resizeStop(ti){let ei=xi.initEvent(ti,{type:"resizestop",target:this.el});return this.option.stop&&this.option.stop(ei),this.el.classList.remove("ui-resizable-resizing"),this.triggerEvent("resizestop",ei),this._cleanHelper(),delete this.startEvent,delete this.originalRect,delete this.temporalRect,delete this.scrollY,delete this.scrolled,this}_setupHelper(){this.elOriginStyleVal=Ro._originStyleProp.map(ni=>this.el.style[ni]),this.parentOriginStylePosition=this.el.parentElement.style.position;let ti=this.el.parentElement,ei=xi.getValuesFromTransformedElement(ti);return this.rectScale={x:ei.xScale,y:ei.yScale},getComputedStyle(this.el.parentElement).position.match(/static/)&&(this.el.parentElement.style.position="relative"),this.el.style.position="absolute",this.el.style.opacity="0.8",this}_cleanHelper(){return Ro._originStyleProp.forEach((ti,ei)=>{this.el.style[ti]=this.elOriginStyleVal[ei]||null}),this.el.parentElement.style.position=this.parentOriginStylePosition||null,this}_getChange(ti,ei){let ni=this.startEvent,ri={width:this.originalRect.width,height:this.originalRect.height+this.scrolled,left:this.originalRect.left,top:this.originalRect.top-this.scrolled},si=ti.clientX-ni.clientX,ai=this.sizeToContent?0:ti.clientY-ni.clientY;ei.indexOf("e")>-1?ri.width+=si:ei.indexOf("w")>-1&&(ri.width-=si,ri.left+=si),ei.indexOf("s")>-1?ri.height+=ai:ei.indexOf("n")>-1&&(ri.height-=ai,ri.top+=ai);let li=this._constrainSize(ri.width,ri.height);return Math.round(ri.width)!==Math.round(li.width)&&(ei.indexOf("w")>-1&&(ri.left+=ri.width-li.width),ri.width=li.width),Math.round(ri.height)!==Math.round(li.height)&&(ei.indexOf("n")>-1&&(ri.top+=ri.height-li.height),ri.height=li.height),ri}_constrainSize(ti,ei){let ni=this.option.maxWidth||Number.MAX_SAFE_INTEGER,ri=this.option.minWidth/this.rectScale.x||ti,si=this.option.maxHeight||Number.MAX_SAFE_INTEGER,ai=this.option.minHeight/this.rectScale.y||ei,li=Math.min(ni,Math.max(ri,ti)),di=Math.min(si,Math.max(ai,ei));return{width:li,height:di}}_applyChange(){let ti={left:0,top:0,width:0,height:0};if(this.el.style.position==="absolute"){let ei=this.el.parentElement,{left:ni,top:ri}=ei.getBoundingClientRect();ti={left:ni,top:ri,width:0,height:0}}return this.temporalRect?(Object.keys(this.temporalRect).forEach(ei=>{let ni=this.temporalRect[ei],ri=ei==="width"||ei==="left"?this.rectScale.x:ei==="height"||ei==="top"?this.rectScale.y:1;this.el.style[ei]=(ni-ti[ei])*ri+"px"}),this):this}_removeHandlers(){return this.handlers.forEach(ti=>ti.destroy()),delete this.handlers,this}};Ro._originStyleProp=["width","height","position","left","top","opacity","zIndex"];var Ky='input,textarea,button,select,option,[contenteditable="true"],.ui-resizable-handle',Io=class extends No{constructor(ti,ei={}){super();this.el=ti,this.option=ei,this.dragTransform={xScale:1,yScale:1,xOffset:0,yOffset:0};let ni=ei.handle.substring(1);this.dragEls=ti.classList.contains(ni)?[ti]:Array.from(ti.querySelectorAll(ei.handle)),this.dragEls.length===0&&(this.dragEls=[ti]),this._mouseDown=this._mouseDown.bind(this),this._mouseMove=this._mouseMove.bind(this),this._mouseUp=this._mouseUp.bind(this),this._keyEvent=this._keyEvent.bind(this),this.enable()}on(ti,ei){super.on(ti,ei)}off(ti){super.off(ti)}enable(){this.disabled!==!1&&(super.enable(),this.dragEls.forEach(ti=>{ti.addEventListener("mousedown",this._mouseDown),os&&(ti.addEventListener("touchstart",da),ti.addEventListener("pointerdown",pa))}),this.el.classList.remove("ui-draggable-disabled"))}disable(ti=!1){this.disabled!==!0&&(super.disable(),this.dragEls.forEach(ei=>{ei.removeEventListener("mousedown",this._mouseDown),os&&(ei.removeEventListener("touchstart",da),ei.removeEventListener("pointerdown",pa))}),ti||this.el.classList.add("ui-draggable-disabled"))}destroy(){this.dragTimeout&&window.clearTimeout(this.dragTimeout),delete this.dragTimeout,this.mouseDownEvent&&this._mouseUp(this.mouseDownEvent),this.disable(!0),delete this.el,delete this.helper,delete this.option,super.destroy()}updateOption(ti){return Object.keys(ti).forEach(ei=>this.option[ei]=ti[ei]),this}_mouseDown(ti){if(!an.mouseHandled)return ti.button!==0||!this.dragEls.find(ei=>ei===ti.target)&&ti.target.closest(Ky)||this.option.cancel&&ti.target.closest(this.option.cancel)||(this.mouseDownEvent=ti,delete this.dragging,delete an.dragElement,delete an.dropElement,document.addEventListener("mousemove",this._mouseMove,{capture:!0,passive:!0}),document.addEventListener("mouseup",this._mouseUp,!0),os&&(ti.target.addEventListener("touchmove",fa),ti.target.addEventListener("touchend",ha)),ti.preventDefault(),document.activeElement&&document.activeElement.blur(),an.mouseHandled=!0),!0}_callDrag(ti){if(!this.dragging)return;let ei=xi.initEvent(ti,{target:this.el,type:"drag"});this.option.drag&&this.option.drag(ei,this.ui()),this.triggerEvent("drag",ei)}_mouseMove(ti){var ni;let ei=this.mouseDownEvent;if(this.lastDrag=ti,this.dragging)if(this._dragFollow(ti),an.pauseDrag){let ri=Number.isInteger(an.pauseDrag)?an.pauseDrag:100;this.dragTimeout&&window.clearTimeout(this.dragTimeout),this.dragTimeout=window.setTimeout(()=>this._callDrag(ti),ri)}else this._callDrag(ti);else if(Math.abs(ti.x-ei.x)+Math.abs(ti.y-ei.y)>3){this.dragging=!0,an.dragElement=this;let ri=(ni=this.el.gridstackNode)==null?void 0:ni.grid;ri?an.dropElement=ri.el.ddElement.ddDroppable:delete an.dropElement,this.helper=this._createHelper(ti),this._setupHelperContainmentStyle(),this.dragTransform=xi.getValuesFromTransformedElement(this.helperContainment),this.dragOffset=this._getDragOffset(ti,this.el,this.helperContainment),this._setupHelperStyle(ti);let si=xi.initEvent(ti,{target:this.el,type:"dragstart"});this.option.start&&this.option.start(si,this.ui()),this.triggerEvent("dragstart",si),document.addEventListener("keydown",this._keyEvent)}return!0}_mouseUp(ti){var ei,ni;if(document.removeEventListener("mousemove",this._mouseMove,!0),document.removeEventListener("mouseup",this._mouseUp,!0),os&&(ti.target.removeEventListener("touchmove",fa,!0),ti.target.removeEventListener("touchend",ha,!0)),this.dragging){delete this.dragging,(ei=this.el.gridstackNode)==null||delete ei._origRotate,document.removeEventListener("keydown",this._keyEvent),((ni=an.dropElement)==null?void 0:ni.el)===this.el.parentElement&&delete an.dropElement,this.helperContainment.style.position=this.parentOriginStylePosition||null,this.helper===this.el?this._removeHelperStyle():this.helper.remove();let ri=xi.initEvent(ti,{target:this.el,type:"dragstop"});this.option.stop&&this.option.stop(ri),this.triggerEvent("dragstop",ri),an.dropElement&&an.dropElement.drop(ti)}delete this.helper,delete this.mouseDownEvent,delete an.dragElement,delete an.dropElement,delete an.mouseHandled,ti.preventDefault()}_keyEvent(ti){let ei=this.el.gridstackNode;if(!(ei==null?void 0:ei.grid))return;let ni=ei.grid;if(ti.key==="Escape")ei._origRotate&&(ei._orig=ei._origRotate,delete ei._origRotate),ni.engine.restoreInitial(),this._mouseUp(this.mouseDownEvent);else if(ti.key==="r"||ti.key==="R"){if(!xi.canBeRotated(ei))return;ei._origRotate=ei._origRotate||Ui({},ei._orig),delete ei._moving,ni.setAnimation(!1).rotate(ei.el,{top:-this.dragOffset.offsetTop,left:-this.dragOffset.offsetLeft}).setAnimation(),ei._moving=!0,this.dragOffset=this._getDragOffset(this.lastDrag,ei.el,this.helperContainment),this.helper.style.width=this.dragOffset.width+"px",this.helper.style.height=this.dragOffset.height+"px",xi.swap(ei._orig,"w","h"),delete ei._rect,this._mouseMove(this.lastDrag)}}_createHelper(ti){let ei=this.el;return typeof this.option.helper=="function"?ei=this.option.helper(ti):this.option.helper==="clone"&&(ei=xi.cloneNode(this.el)),document.body.contains(ei)||xi.appendTo(ei,this.option.appendTo==="parent"?this.el.parentElement:this.option.appendTo),ei===this.el&&(this.dragElementOriginStyle=Io.originStyleProp.map(ni=>this.el.style[ni])),ei}_setupHelperStyle(ti){this.helper.classList.add("ui-draggable-dragging");let ei=this.helper.style;return ei.pointerEvents="none",ei.width=this.dragOffset.width+"px",ei.height=this.dragOffset.height+"px",ei.willChange="left, top",ei.position="fixed",this._dragFollow(ti),ei.transition="none",setTimeout(()=>{this.helper&&(ei.transition=null)},0),this}_removeHelperStyle(){var ei;this.helper.classList.remove("ui-draggable-dragging");let ti=(ei=this.helper)==null?void 0:ei.gridstackNode;if(!(ti==null?void 0:ti._isAboutToRemove)&&this.dragElementOriginStyle){let ni=this.helper,ri=this.dragElementOriginStyle.transition||null;ni.style.transition=this.dragElementOriginStyle.transition="none",Io.originStyleProp.forEach(si=>ni.style[si]=this.dragElementOriginStyle[si]||null),setTimeout(()=>ni.style.transition=ri,50)}return delete this.dragElementOriginStyle,this}_dragFollow(ti){let ei={left:0,top:0},ni=this.helper.style,ri=this.dragOffset;ni.left=(ti.clientX+ri.offsetLeft-ei.left)*this.dragTransform.xScale+"px",ni.top=(ti.clientY+ri.offsetTop-ei.top)*this.dragTransform.yScale+"px"}_setupHelperContainmentStyle(){return this.helperContainment=this.helper.parentElement,this.helper.style.position!=="fixed"&&(this.parentOriginStylePosition=this.helperContainment.style.position,getComputedStyle(this.helperContainment).position.match(/static/)&&(this.helperContainment.style.position="relative")),this}_getDragOffset(ti,ei,ni){let ri=0,si=0;ni&&(ri=this.dragTransform.xOffset,si=this.dragTransform.yOffset);let ai=ei.getBoundingClientRect();return{left:ai.left,top:ai.top,offsetLeft:-ti.clientX+ai.left-ri,offsetTop:-ti.clientY+ai.top-si,width:ai.width*this.dragTransform.xScale,height:ai.height*this.dragTransform.yScale}}ui(){let ei=this.el.parentElement.getBoundingClientRect(),ni=this.helper.getBoundingClientRect();return{position:{top:(ni.top-ei.top)*this.dragTransform.yScale,left:(ni.left-ei.left)*this.dragTransform.xScale}}}};Io.originStyleProp=["transition","pointerEvents","position","left","top","minWidth","willChange"];var su=class extends No{constructor(ti,ei={}){super();this.el=ti,this.option=ei,this._mouseEnter=this._mouseEnter.bind(this),this._mouseLeave=this._mouseLeave.bind(this),this.enable(),this._setupAccept()}on(ti,ei){super.on(ti,ei)}off(ti){super.off(ti)}enable(){this.disabled!==!1&&(super.enable(),this.el.classList.add("ui-droppable"),this.el.classList.remove("ui-droppable-disabled"),this.el.addEventListener("mouseenter",this._mouseEnter),this.el.addEventListener("mouseleave",this._mouseLeave),os&&(this.el.addEventListener("pointerenter",nu),this.el.addEventListener("pointerleave",ru)))}disable(ti=!1){this.disabled!==!0&&(super.disable(),this.el.classList.remove("ui-droppable"),ti||this.el.classList.add("ui-droppable-disabled"),this.el.removeEventListener("mouseenter",this._mouseEnter),this.el.removeEventListener("mouseleave",this._mouseLeave),os&&(this.el.removeEventListener("pointerenter",nu),this.el.removeEventListener("pointerleave",ru)))}destroy(){this.disable(!0),this.el.classList.remove("ui-droppable"),this.el.classList.remove("ui-droppable-disabled"),super.destroy()}updateOption(ti){return Object.keys(ti).forEach(ei=>this.option[ei]=ti[ei]),this._setupAccept(),this}_mouseEnter(ti){if(!an.dragElement||!this._canDrop(an.dragElement.el))return;ti.preventDefault(),ti.stopPropagation(),an.dropElement&&an.dropElement!==this&&an.dropElement._mouseLeave(ti,!0),an.dropElement=this;let ei=xi.initEvent(ti,{target:this.el,type:"dropover"});this.option.over&&this.option.over(ei,this._ui(an.dragElement)),this.triggerEvent("dropover",ei),this.el.classList.add("ui-droppable-over")}_mouseLeave(ti,ei=!1){var ri;if(!an.dragElement||an.dropElement!==this)return;ti.preventDefault(),ti.stopPropagation();let ni=xi.initEvent(ti,{target:this.el,type:"dropout"});if(this.option.out&&this.option.out(ni,this._ui(an.dragElement)),this.triggerEvent("dropout",ni),an.dropElement===this&&(delete an.dropElement,!ei)){let si,ai=this.el.parentElement;for(;!si&&ai;)si=(ri=ai.ddElement)==null?void 0:ri.ddDroppable,ai=ai.parentElement;si&&si._mouseEnter(ti)}}drop(ti){ti.preventDefault();let ei=xi.initEvent(ti,{target:this.el,type:"drop"});this.option.drop&&this.option.drop(ei,this._ui(an.dragElement)),this.triggerEvent("drop",ei)}_canDrop(ti){return ti&&(!this.accept||this.accept(ti))}_setupAccept(){return this.option.accept?(typeof this.option.accept=="string"?this.accept=ti=>ti.classList.contains(this.option.accept)||ti.matches(this.option.accept):this.accept=this.option.accept,this):this}_ui(ti){return Ui({draggable:ti.el},ti.ui())}};var qa=class{static init(ti){return ti.ddElement||(ti.ddElement=new qa(ti)),ti.ddElement}constructor(ti){this.el=ti}on(ti,ei){return this.ddDraggable&&["drag","dragstart","dragstop"].indexOf(ti)>-1?this.ddDraggable.on(ti,ei):this.ddDroppable&&["drop","dropover","dropout"].indexOf(ti)>-1?this.ddDroppable.on(ti,ei):this.ddResizable&&["resizestart","resize","resizestop"].indexOf(ti)>-1&&this.ddResizable.on(ti,ei),this}off(ti){return this.ddDraggable&&["drag","dragstart","dragstop"].indexOf(ti)>-1?this.ddDraggable.off(ti):this.ddDroppable&&["drop","dropover","dropout"].indexOf(ti)>-1?this.ddDroppable.off(ti):this.ddResizable&&["resizestart","resize","resizestop"].indexOf(ti)>-1&&this.ddResizable.off(ti),this}setupDraggable(ti){return this.ddDraggable?this.ddDraggable.updateOption(ti):this.ddDraggable=new Io(this.el,ti),this}cleanDraggable(){return this.ddDraggable&&(this.ddDraggable.destroy(),delete this.ddDraggable),this}setupResizable(ti){return this.ddResizable?this.ddResizable.updateOption(ti):this.ddResizable=new Ro(this.el,ti),this}cleanResizable(){return this.ddResizable&&(this.ddResizable.destroy(),delete this.ddResizable),this}setupDroppable(ti){return this.ddDroppable?this.ddDroppable.updateOption(ti):this.ddDroppable=new su(this.el,ti),this}cleanDroppable(){return this.ddDroppable&&(this.ddDroppable.destroy(),delete this.ddDroppable),this}};var ou=class{resizable(ti,ei,ni,ri){return this._getDDElements(ti).forEach(si=>{if(ei==="disable"||ei==="enable")si.ddResizable&&si.ddResizable[ei]();else if(ei==="destroy")si.ddResizable&&si.cleanResizable();else if(ei==="option")si.setupResizable({[ni]:ri});else{let li=si.el.gridstackNode.grid,di=si.el.getAttribute("gs-resize-handles")||li.opts.resizable.handles||"e,s,se";di==="all"&&(di="n,e,s,w,se,sw,ne,nw");let yi=!li.opts.alwaysShowResizeHandle;si.setupResizable(Fn(Ui({},li.opts.resizable),{handles:di,autoHide:yi,start:ei.start,stop:ei.stop,resize:ei.resize}))}}),this}draggable(ti,ei,ni,ri){return this._getDDElements(ti).forEach(si=>{if(ei==="disable"||ei==="enable")si.ddDraggable&&si.ddDraggable[ei]();else if(ei==="destroy")si.ddDraggable&&si.cleanDraggable();else if(ei==="option")si.setupDraggable({[ni]:ri});else{let ai=si.el.gridstackNode.grid;si.setupDraggable(Fn(Ui({},ai.opts.draggable),{start:ei.start,stop:ei.stop,drag:ei.drag}))}}),this}dragIn(ti,ei){return this._getDDElements(ti).forEach(ni=>ni.setupDraggable(ei)),this}droppable(ti,ei,ni,ri){return typeof ei.accept=="function"&&!ei._accept&&(ei._accept=ei.accept,ei.accept=si=>ei._accept(si)),this._getDDElements(ti).forEach(si=>{ei==="disable"||ei==="enable"?si.ddDroppable&&si.ddDroppable[ei]():ei==="destroy"?si.ddDroppable&&si.cleanDroppable():ei==="option"?si.setupDroppable({[ni]:ri}):si.setupDroppable(ei)}),this}isDroppable(ti){return!!(ti&&ti.ddElement&&ti.ddElement.ddDroppable&&!ti.ddElement.ddDroppable.disabled)}isDraggable(ti){return!!(ti&&ti.ddElement&&ti.ddElement.ddDraggable&&!ti.ddElement.ddDraggable.disabled)}isResizable(ti){return!!(ti&&ti.ddElement&&ti.ddElement.ddResizable&&!ti.ddElement.ddResizable.disabled)}on(ti,ei,ni){return this._getDDElements(ti).forEach(ri=>ri.on(ei,si=>{ni(si,an.dragElement?an.dragElement.el:si.target,an.dragElement?an.dragElement.helper:null)})),this}off(ti,ei){return this._getDDElements(ti).forEach(ni=>ni.off(ei)),this}_getDDElements(ti,ei=!0){let ni=xi.getElements(ti);if(!ni.length)return[];let ri=ni.map(si=>si.ddElement||(ei?qa.init(si):null));return ei||ri.filter(si=>si),ri}};var as=new ou,fn=class{static init(ti={},ei=".grid-stack"){if(typeof document=="undefined")return null;let ni=fn.getGridElement(ei);return ni?(ni.gridstack||(ni.gridstack=new fn(ni,xi.cloneDeep(ti))),ni.gridstack):(console.error(typeof ei=="string"?'GridStack.initAll() no grid was found with selector "'+ei+`" - element missing or wrong selector ?
+ `}}function Bi(){ei.calendarContainer.classList.add("hasWeeks");var pi=On("div","flatpickr-weekwrapper");pi.appendChild(On("span","flatpickr-weekday",ei.l10n.weekAbbreviation));var gi=On("div","flatpickr-weeks");return pi.appendChild(gi),{weekWrapper:pi,weekNumbers:gi}}function Li(pi,gi){gi===void 0&&(gi=!0);var wi=gi?pi:pi-ei.currentMonth;wi<0&&ei._hidePrevMonthArrow===!0||wi>0&&ei._hideNextMonthArrow===!0||(ei.currentMonth+=wi,(ei.currentMonth<0||ei.currentMonth>11)&&(ei.currentYear+=ei.currentMonth>11?1:-1,ei.currentMonth=(ei.currentMonth+12)%12,xn("onYearChange"),Cn()),yn(),xn("onMonthChange"),$o())}function zi(pi,gi){if(pi===void 0&&(pi=!0),gi===void 0&&(gi=!0),ei.input.value="",ei.altInput!==void 0&&(ei.altInput.value=""),ei.mobileInput!==void 0&&(ei.mobileInput.value=""),ei.selectedDates=[],ei.latestSelectedDateObj=void 0,gi===!0&&(ei.currentYear=ei._initialDate.getFullYear(),ei.currentMonth=ei._initialDate.getMonth()),ei.config.enableTime===!0){var wi=Pl(ei.config),Ci=wi.hours,Ii=wi.minutes,qi=wi.seconds;Ai(Ci,Ii,qi)}ei.redraw(),pi&&xn("onChange")}function Ji(){ei.isOpen=!1,ei.isMobile||(ei.calendarContainer!==void 0&&ei.calendarContainer.classList.remove("open"),ei._input!==void 0&&ei._input.classList.remove("active")),xn("onClose")}function Vi(){ei.config!==void 0&&xn("onDestroy");for(var pi=ei._handlers.length;pi--;)ei._handlers[pi].remove();if(ei._handlers=[],ei.mobileInput)ei.mobileInput.parentNode&&ei.mobileInput.parentNode.removeChild(ei.mobileInput),ei.mobileInput=void 0;else if(ei.calendarContainer&&ei.calendarContainer.parentNode)if(ei.config.static&&ei.calendarContainer.parentNode){var gi=ei.calendarContainer.parentNode;if(gi.lastChild&&gi.removeChild(gi.lastChild),gi.parentNode){for(;gi.firstChild;)gi.parentNode.insertBefore(gi.firstChild,gi);gi.parentNode.removeChild(gi)}}else ei.calendarContainer.parentNode.removeChild(ei.calendarContainer);ei.altInput&&(ei.input.type="text",ei.altInput.parentNode&&ei.altInput.parentNode.removeChild(ei.altInput),delete ei.altInput),ei.input&&(ei.input.type=ei.input._type,ei.input.classList.remove("flatpickr-input"),ei.input.removeAttribute("readonly")),["_showTimeInput","latestSelectedDateObj","_hideNextMonthArrow","_hidePrevMonthArrow","__hideNextMonthArrow","__hidePrevMonthArrow","isMobile","isOpen","selectedDateElem","minDateHasTime","maxDateHasTime","days","daysContainer","_input","_positionElement","innerContainer","rContainer","monthNav","todayDateElem","calendarContainer","weekdayContainer","prevMonthNav","nextMonthNav","monthsDropdownContainer","currentMonthElement","currentYearElement","navigationCurrentMonth","selectedDateElem","config"].forEach(function(wi){try{delete ei[wi]}catch(Ci){}})}function Ri(pi){return ei.calendarContainer.contains(pi)}function Sn(pi){if(ei.isOpen&&!ei.config.inline){var gi=ds(pi),wi=Ri(gi),Ci=gi===ei.input||gi===ei.altInput||ei.element.contains(gi)||pi.path&&pi.path.indexOf&&(~pi.path.indexOf(ei.input)||~pi.path.indexOf(ei.altInput)),Ii=!Ci&&!wi&&!Ri(pi.relatedTarget),qi=!ei.config.ignoredFocusElements.some(function(nn){return nn.contains(gi)});Ii&&qi&&(ei.config.allowInput&&ei.setDate(ei._input.value,!1,ei.config.altInput?ei.config.altFormat:ei.config.dateFormat),ei.timeContainer!==void 0&&ei.minuteElement!==void 0&&ei.hourElement!==void 0&&ei.input.value!==""&&ei.input.value!==void 0&&di(),ei.close(),ei.config&&ei.config.mode==="range"&&ei.selectedDates.length===1&&ei.clear(!1))}}function Kn(pi){if(!(!pi||ei.config.minDate&&piei.config.maxDate.getFullYear())){var gi=pi,wi=ei.currentYear!==gi;ei.currentYear=gi||ei.currentYear,ei.config.maxDate&&ei.currentYear===ei.config.maxDate.getFullYear()?ei.currentMonth=Math.min(ei.config.maxDate.getMonth(),ei.currentMonth):ei.config.minDate&&ei.currentYear===ei.config.minDate.getFullYear()&&(ei.currentMonth=Math.max(ei.config.minDate.getMonth(),ei.currentMonth)),wi&&(ei.redraw(),xn("onYearChange"),Cn())}}function $n(pi,gi){var wi;gi===void 0&&(gi=!0);var Ci=ei.parseDate(pi,void 0,gi);if(ei.config.minDate&&Ci&&fs(Ci,ei.config.minDate,gi!==void 0?gi:!ei.minDateHasTime)<0||ei.config.maxDate&&Ci&&fs(Ci,ei.config.maxDate,gi!==void 0?gi:!ei.maxDateHasTime)>0)return!1;if(!ei.config.enable&&ei.config.disable.length===0)return!0;if(Ci===void 0)return!1;for(var Ii=!!ei.config.enable,qi=(wi=ei.config.enable)!==null&&wi!==void 0?wi:ei.config.disable,nn=0,Xi=void 0;nn=Xi.from.getTime()&&Ci.getTime()<=Xi.to.getTime())return Ii}return!Ii}function Bn(pi){return ei.daysContainer!==void 0?pi.className.indexOf("hidden")===-1&&pi.className.indexOf("flatpickr-disabled")===-1&&ei.daysContainer.contains(pi):!1}function Gn(pi){var gi=pi.target===ei._input,wi=ei._input.value.trimEnd()!==jo();gi&&wi&&!(pi.relatedTarget&&Ri(pi.relatedTarget))&&ei.setDate(ei._input.value,!0,pi.target===ei.altInput?ei.config.altFormat:ei.config.dateFormat)}function Xn(pi){var gi=ds(pi),wi=ei.config.wrap?ii.contains(gi):gi===ei._input,Ci=ei.config.allowInput,Ii=ei.isOpen&&(!Ci||!wi),qi=ei.config.inline&&wi&&!Ci;if(pi.keyCode===13&&wi){if(Ci)return ei.setDate(ei._input.value,!0,gi===ei.altInput?ei.config.altFormat:ei.config.dateFormat),ei.close(),gi.blur();ei.open()}else if(Ri(gi)||Ii||qi){var nn=!!ei.timeContainer&&ei.timeContainer.contains(gi);switch(pi.keyCode){case 13:nn?(pi.preventDefault(),di(),Js()):Fs(pi);break;case 27:pi.preventDefault(),Js();break;case 8:case 46:wi&&!ei.config.allowInput&&(pi.preventDefault(),ei.clear());break;case 37:case 39:if(!nn&&!wi){pi.preventDefault();var Xi=si();if(ei.daysContainer!==void 0&&(Ci===!1||Xi&&Bn(Xi))){var bn=pi.keyCode===39?1:-1;pi.ctrlKey?(pi.stopPropagation(),Li(bn),vn(pn(1),0)):vn(void 0,bn)}}else ei.hourElement&&ei.hourElement.focus();break;case 38:case 40:pi.preventDefault();var Gi=pi.keyCode===40?1:-1;ei.daysContainer&&gi.$i!==void 0||gi===ei.input||gi===ei.altInput?pi.ctrlKey?(pi.stopPropagation(),Kn(ei.currentYear-Gi),vn(pn(1),0)):nn||vn(void 0,Gi*7):gi===ei.currentYearElement?Kn(ei.currentYear-Gi):ei.config.enableTime&&(!nn&&ei.hourElement&&ei.hourElement.focus(),di(pi),ei._debouncedChange());break;case 9:if(nn){var hn=[ei.hourElement,ei.minuteElement,ei.secondElement,ei.amPM].concat(ei.pluginElements).filter(function(ns){return ns}),kn=hn.indexOf(gi);if(kn!==-1){var gs=hn[kn+(pi.shiftKey?-1:1)];pi.preventDefault(),(gs||ei._input).focus()}}else!ei.config.noCalendar&&ei.daysContainer&&ei.daysContainer.contains(gi)&&pi.shiftKey&&(pi.preventDefault(),ei._input.focus());break;default:break}}if(ei.amPM!==void 0&&gi===ei.amPM)switch(pi.key){case ei.l10n.amPM[0].charAt(0):case ei.l10n.amPM[0].charAt(0).toLowerCase():ei.amPM.textContent=ei.l10n.amPM[0],_i(),As();break;case ei.l10n.amPM[1].charAt(0):case ei.l10n.amPM[1].charAt(0).toLowerCase():ei.amPM.textContent=ei.l10n.amPM[1],_i(),As();break}(wi||Ri(gi))&&xn("onKeyDown",pi)}function Cs(pi,gi){if(gi===void 0&&(gi="flatpickr-day"),!(ei.selectedDates.length!==1||pi&&(!pi.classList.contains(gi)||pi.classList.contains("flatpickr-disabled")))){for(var wi=pi?pi.dateObj.getTime():ei.days.firstElementChild.dateObj.getTime(),Ci=ei.parseDate(ei.selectedDates[0],void 0,!0).getTime(),Ii=Math.min(wi,ei.selectedDates[0].getTime()),qi=Math.max(wi,ei.selectedDates[0].getTime()),nn=!1,Xi=0,bn=0,Gi=Ii;GiIi&&GiXi)?Xi=Gi:Gi>Ci&&(!bn||Gi ."+gi));hn.forEach(function(kn){var gs=kn.dateObj,ns=gs.getTime(),go=Xi>0&&ns0&&ns>bn;if(go){kn.classList.add("notAllowed"),["inRange","startRange","endRange"].forEach(function(io){kn.classList.remove(io)});return}else if(nn&&!go)return;["startRange","inRange","endRange","notAllowed"].forEach(function(io){kn.classList.remove(io)}),pi!==void 0&&(pi.classList.add(wi<=ei.selectedDates[0].getTime()?"startRange":"endRange"),Ciwi&&ns===Ci&&kn.classList.add("endRange"),ns>=Xi&&(bn===0||ns<=bn)&&jf(ns,Ci,wi)&&kn.classList.add("inRange"))})}}function zn(){ei.isOpen&&!ei.config.static&&!ei.config.inline&&Qr()}function ps(pi,gi){if(gi===void 0&&(gi=ei._positionElement),ei.isMobile===!0){if(pi){pi.preventDefault();var wi=ds(pi);wi&&wi.blur()}ei.mobileInput!==void 0&&(ei.mobileInput.focus(),ei.mobileInput.click()),xn("onOpen");return}else if(ei._input.disabled||ei.config.inline)return;var Ci=ei.isOpen;ei.isOpen=!0,Ci||(ei.calendarContainer.classList.add("open"),ei._input.classList.add("active"),xn("onOpen"),Qr(gi)),ei.config.enableTime===!0&&ei.config.noCalendar===!0&&ei.config.allowInput===!1&&(pi===void 0||!ei.timeContainer.contains(pi.relatedTarget))&&setTimeout(function(){return ei.hourElement.select()},50)}function ms(pi){return function(gi){var wi=ei.config["_"+pi+"Date"]=ei.parseDate(gi,ei.config.dateFormat),Ci=ei.config["_"+(pi==="min"?"max":"min")+"Date"];wi!==void 0&&(ei[pi==="min"?"minDateHasTime":"maxDateHasTime"]=wi.getHours()>0||wi.getMinutes()>0||wi.getSeconds()>0),ei.selectedDates&&(ei.selectedDates=ei.selectedDates.filter(function(Ii){return $n(Ii)}),!ei.selectedDates.length&&pi==="min"&&Ei(wi),As()),ei.daysContainer&&(mo(),wi!==void 0?ei.currentYearElement[pi]=wi.getFullYear().toString():ei.currentYearElement.removeAttribute(pi),ei.currentYearElement.disabled=!!Ci&&wi!==void 0&&Ci.getFullYear()===wi.getFullYear())}}function Qs(){var pi=["wrap","weekNumbers","allowInput","allowInvalidPreload","clickOpens","time_24hr","enableTime","noCalendar","altInput","shorthandCurrentMonth","inline","static","enableSeconds","disableMobile"],gi=is(is({},JSON.parse(JSON.stringify(ii.dataset||{}))),ti),wi={};ei.config.parseDate=gi.parseDate,ei.config.formatDate=gi.formatDate,Object.defineProperty(ei.config,"enable",{get:function(){return ei.config._enable},set:function(hn){ei.config._enable=ga(hn)}}),Object.defineProperty(ei.config,"disable",{get:function(){return ei.config._disable},set:function(hn){ei.config._disable=ga(hn)}});var Ci=gi.mode==="time";if(!gi.dateFormat&&(gi.enableTime||Ci)){var Ii=Wr.defaultConfig.dateFormat||po.dateFormat;wi.dateFormat=gi.noCalendar||Ci?"H:i"+(gi.enableSeconds?":S":""):Ii+" H:i"+(gi.enableSeconds?":S":"")}if(gi.altInput&&(gi.enableTime||Ci)&&!gi.altFormat){var qi=Wr.defaultConfig.altFormat||po.altFormat;wi.altFormat=gi.noCalendar||Ci?"h:i"+(gi.enableSeconds?":S K":" K"):qi+(" h:i"+(gi.enableSeconds?":S":"")+" K")}Object.defineProperty(ei.config,"minDate",{get:function(){return ei.config._minDate},set:ms("min")}),Object.defineProperty(ei.config,"maxDate",{get:function(){return ei.config._maxDate},set:ms("max")});var nn=function(hn){return function(kn){ei.config[hn==="min"?"_minTime":"_maxTime"]=ei.parseDate(kn,"H:i:S")}};Object.defineProperty(ei.config,"minTime",{get:function(){return ei.config._minTime},set:nn("min")}),Object.defineProperty(ei.config,"maxTime",{get:function(){return ei.config._maxTime},set:nn("max")}),gi.mode==="time"&&(ei.config.noCalendar=!0,ei.config.enableTime=!0),Object.assign(ei.config,wi,gi);for(var Xi=0;Xi-1?ei.config[Gi]=Nl(bn[Gi]).map(ai).concat(ei.config[Gi]):typeof gi[Gi]=="undefined"&&(ei.config[Gi]=bn[Gi])}gi.altInputClass||(ei.config.altInputClass=Wn().className+" "+ei.config.altInputClass),xn("onParseConfig")}function Wn(){return ei.config.wrap?ii.querySelector("[data-input]"):ii}function _n(){typeof ei.config.locale!="object"&&typeof Wr.l10ns[ei.config.locale]=="undefined"&&ei.config.errorHandler(new Error("flatpickr: invalid locale "+ei.config.locale)),ei.l10n=is(is({},Wr.l10ns.default),typeof ei.config.locale=="object"?ei.config.locale:ei.config.locale!=="default"?Wr.l10ns[ei.config.locale]:void 0),Gs.D="("+ei.l10n.weekdays.shorthand.join("|")+")",Gs.l="("+ei.l10n.weekdays.longhand.join("|")+")",Gs.M="("+ei.l10n.months.shorthand.join("|")+")",Gs.F="("+ei.l10n.months.longhand.join("|")+")",Gs.K="("+ei.l10n.amPM[0]+"|"+ei.l10n.amPM[1]+"|"+ei.l10n.amPM[0].toLowerCase()+"|"+ei.l10n.amPM[1].toLowerCase()+")";var pi=is(is({},ti),JSON.parse(JSON.stringify(ii.dataset||{})));pi.time_24hr===void 0&&Wr.defaultConfig.time_24hr===void 0&&(ei.config.time_24hr=ei.l10n.time_24hr),ei.formatDate=iu(ei),ei.parseDate=Rl({config:ei.config,l10n:ei.l10n})}function Qr(pi){if(typeof ei.config.position=="function")return void ei.config.position(ei,pi);if(ei.calendarContainer!==void 0){xn("onPreCalendarPosition");var gi=pi||ei._positionElement,wi=Array.prototype.reduce.call(ei.calendarContainer.children,function(fi,oi){return fi+oi.offsetHeight},0),Ci=ei.calendarContainer.offsetWidth,Ii=ei.config.position.split(" "),qi=Ii[0],nn=Ii.length>1?Ii[1]:null,Xi=gi.getBoundingClientRect(),bn=window.innerHeight-Xi.bottom,Gi=qi==="above"||qi!=="below"&&bnwi,hn=window.pageYOffset+Xi.top+(Gi?-wi-2:gi.offsetHeight+2);if(ts(ei.calendarContainer,"arrowTop",!Gi),ts(ei.calendarContainer,"arrowBottom",Gi),!ei.config.inline){var kn=window.pageXOffset+Xi.left,gs=!1,ns=!1;nn==="center"?(kn-=(Ci-Xi.width)/2,gs=!0):nn==="right"&&(kn-=Ci-Xi.width,ns=!0),ts(ei.calendarContainer,"arrowLeft",!gs&&!ns),ts(ei.calendarContainer,"arrowCenter",gs),ts(ei.calendarContainer,"arrowRight",ns);var go=window.document.body.offsetWidth-(window.pageXOffset+Xi.right),io=kn+Ci>window.document.body.offsetWidth,zl=go+Ci>window.document.body.offsetWidth;if(ts(ei.calendarContainer,"rightMost",io),!ei.config.static)if(ei.calendarContainer.style.top=hn+"px",!io)ei.calendarContainer.style.left=kn+"px",ei.calendarContainer.style.right="auto";else if(!zl)ei.calendarContainer.style.left="auto",ei.calendarContainer.style.right=go+"px";else{var ya=ls();if(ya===void 0)return;var Vl=window.document.body.offsetWidth,ql=Math.max(0,Vl/2-Ci/2),Wl=".flatpickr-calendar.centerMost:before",Ul=".flatpickr-calendar.centerMost:after",Yl=ya.cssRules.length,Kl="{left:"+Xi.left+"px;right:auto;}";ts(ei.calendarContainer,"rightMost",!1),ts(ei.calendarContainer,"centerMost",!0),ya.insertRule(Wl+","+Ul+Kl,Yl),ei.calendarContainer.style.left=ql+"px",ei.calendarContainer.style.right="auto"}}}}function ls(){for(var pi=null,gi=0;giei.currentMonth+ei.config.showMonths-1)&&ei.config.mode!=="range";if(ei.selectedDateElem=Ci,ei.config.mode==="single")ei.selectedDates=[Ii];else if(ei.config.mode==="multiple"){var nn=to(Ii);nn?ei.selectedDates.splice(parseInt(nn),1):ei.selectedDates.push(Ii)}else ei.config.mode==="range"&&(ei.selectedDates.length===2&&ei.clear(!1,!1),ei.latestSelectedDateObj=Ii,ei.selectedDates.push(Ii),fs(Ii,ei.selectedDates[0],!0)!==0&&ei.selectedDates.sort(function(hn,kn){return hn.getTime()-kn.getTime()}));if(_i(),qi){var Xi=ei.currentYear!==Ii.getFullYear();ei.currentYear=Ii.getFullYear(),ei.currentMonth=Ii.getMonth(),Xi&&(xn("onYearChange"),Cn()),xn("onMonthChange")}if($o(),yn(),As(),!qi&&ei.config.mode!=="range"&&ei.config.showMonths===1?En(Ci):ei.selectedDateElem!==void 0&&ei.hourElement===void 0&&ei.selectedDateElem&&ei.selectedDateElem.focus(),ei.hourElement!==void 0&&ei.hourElement!==void 0&&ei.hourElement.focus(),ei.config.closeOnSelect){var bn=ei.config.mode==="single"&&!ei.config.enableTime,Gi=ei.config.mode==="range"&&ei.selectedDates.length===2&&!ei.config.enableTime;(bn||Gi)&&Js()}Fi()}}var Ss={locale:[_n,tn],showMonths:[Hi,li,gn],minDate:[rn],maxDate:[rn],positionElement:[jl],clickOpens:[function(){ei.config.clickOpens===!0?(Ti(ei._input,"focus",ei.open),Ti(ei._input,"click",ei.open)):(ei._input.removeEventListener("focus",ei.open),ei._input.removeEventListener("click",ei.open))}]};function Po(pi,gi){if(pi!==null&&typeof pi=="object"){Object.assign(ei.config,pi);for(var wi in pi)Ss[wi]!==void 0&&Ss[wi].forEach(function(Ci){return Ci()})}else ei.config[pi]=gi,Ss[pi]!==void 0?Ss[pi].forEach(function(Ci){return Ci()}):Ll.indexOf(pi)>-1&&(ei.config[pi]=Nl(gi));ei.redraw(),As(!0)}function Zs(pi,gi){var wi=[];if(pi instanceof Array)wi=pi.map(function(Ci){return ei.parseDate(Ci,gi)});else if(pi instanceof Date||typeof pi=="number")wi=[ei.parseDate(pi,gi)];else if(typeof pi=="string")switch(ei.config.mode){case"single":case"time":wi=[ei.parseDate(pi,gi)];break;case"multiple":wi=pi.split(ei.config.conjunction).map(function(Ci){return ei.parseDate(Ci,gi)});break;case"range":wi=pi.split(ei.l10n.rangeSeparator).map(function(Ci){return ei.parseDate(Ci,gi)});break;default:break}else ei.config.errorHandler(new Error("Invalid date supplied: "+JSON.stringify(pi)));ei.selectedDates=ei.config.allowInvalidPreload?wi:wi.filter(function(Ci){return Ci instanceof Date&&$n(Ci,!1)}),ei.config.mode==="range"&&ei.selectedDates.sort(function(Ci,Ii){return Ci.getTime()-Ii.getTime()})}function Ho(pi,gi,wi){if(gi===void 0&&(gi=!1),wi===void 0&&(wi=ei.config.dateFormat),pi!==0&&!pi||pi instanceof Array&&pi.length===0)return ei.clear(gi);Zs(pi,wi),ei.latestSelectedDateObj=ei.selectedDates[ei.selectedDates.length-1],ei.redraw(),rn(void 0,gi),Ei(),ei.selectedDates.length===0&&ei.clear(!1),As(gi),gi&&xn("onChange")}function ga(pi){return pi.slice().map(function(gi){return typeof gi=="string"||typeof gi=="number"||gi instanceof Date?ei.parseDate(gi,void 0,!0):gi&&typeof gi=="object"&&gi.from&&gi.to?{from:ei.parseDate(gi.from,void 0),to:ei.parseDate(gi.to,void 0)}:gi}).filter(function(gi){return gi})}function $l(){ei.selectedDates=[],ei.now=ei.parseDate(ei.config.now)||new Date;var pi=ei.config.defaultDate||((ei.input.nodeName==="INPUT"||ei.input.nodeName==="TEXTAREA")&&ei.input.placeholder&&ei.input.value===ei.input.placeholder?null:ei.input.value);pi&&Zs(pi,ei.config.dateFormat),ei._initialDate=ei.selectedDates.length>0?ei.selectedDates[0]:ei.config.minDate&&ei.config.minDate.getTime()>ei.now.getTime()?ei.config.minDate:ei.config.maxDate&&ei.config.maxDate.getTime()0&&(ei.latestSelectedDateObj=ei.selectedDates[0]),ei.config.minTime!==void 0&&(ei.config.minTime=ei.parseDate(ei.config.minTime,"H:i")),ei.config.maxTime!==void 0&&(ei.config.maxTime=ei.parseDate(ei.config.maxTime,"H:i")),ei.minDateHasTime=!!ei.config.minDate&&(ei.config.minDate.getHours()>0||ei.config.minDate.getMinutes()>0||ei.config.minDate.getSeconds()>0),ei.maxDateHasTime=!!ei.config.maxDate&&(ei.config.maxDate.getHours()>0||ei.config.maxDate.getMinutes()>0||ei.config.maxDate.getSeconds()>0)}function va(){if(ei.input=Wn(),!ei.input){ei.config.errorHandler(new Error("Invalid input element specified"));return}ei.input._type=ei.input.type,ei.input.type="text",ei.input.classList.add("flatpickr-input"),ei._input=ei.input,ei.config.altInput&&(ei.altInput=On(ei.input.nodeName,ei.config.altInputClass),ei._input=ei.altInput,ei.altInput.placeholder=ei.input.placeholder,ei.altInput.disabled=ei.input.disabled,ei.altInput.required=ei.input.required,ei.altInput.tabIndex=ei.input.tabIndex,ei.altInput.type="text",ei.input.setAttribute("type","hidden"),!ei.config.static&&ei.input.parentNode&&ei.input.parentNode.insertBefore(ei.altInput,ei.input.nextSibling)),ei.config.allowInput||ei._input.setAttribute("readonly","readonly"),jl()}function jl(){ei._positionElement=ei.config.positionElement||ei._input}function Fo(){var pi=ei.config.enableTime?ei.config.noCalendar?"time":"datetime-local":"date";ei.mobileInput=On("input",ei.input.className+" flatpickr-mobile"),ei.mobileInput.tabIndex=1,ei.mobileInput.type=pi,ei.mobileInput.disabled=ei.input.disabled,ei.mobileInput.required=ei.input.required,ei.mobileInput.placeholder=ei.input.placeholder,ei.mobileFormatStr=pi==="datetime-local"?"Y-m-d\\TH:i:S":pi==="date"?"Y-m-d":"H:i:S",ei.selectedDates.length>0&&(ei.mobileInput.defaultValue=ei.mobileInput.value=ei.formatDate(ei.selectedDates[0],ei.mobileFormatStr)),ei.config.minDate&&(ei.mobileInput.min=ei.formatDate(ei.config.minDate,"Y-m-d")),ei.config.maxDate&&(ei.mobileInput.max=ei.formatDate(ei.config.maxDate,"Y-m-d")),ei.input.getAttribute("step")&&(ei.mobileInput.step=String(ei.input.getAttribute("step"))),ei.input.type="hidden",ei.altInput!==void 0&&(ei.altInput.type="hidden");try{ei.input.parentNode&&ei.input.parentNode.insertBefore(ei.mobileInput,ei.input.nextSibling)}catch(gi){}Ti(ei.mobileInput,"change",function(gi){ei.setDate(ds(gi).value,!1,ei.mobileFormatStr),xn("onChange"),xn("onClose")})}function Wa(pi){if(ei.isOpen===!0)return ei.close();ei.open(pi)}function xn(pi,gi){if(ei.config!==void 0){var wi=ei.config[pi];if(wi!==void 0&&wi.length>0)for(var Ci=0;wi[Ci]&&Ci=0&&fs(pi,ei.selectedDates[1])<=0}function $o(){ei.config.noCalendar||ei.isMobile||!ei.monthNav||(ei.yearElements.forEach(function(pi,gi){var wi=new Date(ei.currentYear,ei.currentMonth,1);wi.setMonth(ei.currentMonth+gi),ei.config.showMonths>1||ei.config.monthSelectorType==="static"?ei.monthElements[gi].textContent=za(wi.getMonth(),ei.config.shorthandCurrentMonth,ei.l10n)+" ":ei.monthsDropdownContainer.value=wi.getMonth().toString(),pi.value=wi.getFullYear().toString()}),ei._hidePrevMonthArrow=ei.config.minDate!==void 0&&(ei.currentYear===ei.config.minDate.getFullYear()?ei.currentMonth<=ei.config.minDate.getMonth():ei.currentYearei.config.maxDate.getMonth():ei.currentYear>ei.config.maxDate.getFullYear()))}function jo(pi){var gi=pi||(ei.config.altInput?ei.config.altFormat:ei.config.dateFormat);return ei.selectedDates.map(function(wi){return ei.formatDate(wi,gi)}).filter(function(wi,Ci,Ii){return ei.config.mode!=="range"||ei.config.enableTime||Ii.indexOf(wi)===Ci}).join(ei.config.mode!=="range"?ei.config.conjunction:ei.l10n.rangeSeparator)}function As(pi){pi===void 0&&(pi=!0),ei.mobileInput!==void 0&&ei.mobileFormatStr&&(ei.mobileInput.value=ei.latestSelectedDateObj!==void 0?ei.formatDate(ei.latestSelectedDateObj,ei.mobileFormatStr):""),ei.input.value=jo(ei.config.dateFormat),ei.altInput!==void 0&&(ei.altInput.value=jo(ei.config.altFormat)),pi!==!1&&xn("onValueUpdate")}function Dn(pi){var gi=ds(pi),wi=ei.prevMonthNav.contains(gi),Ci=ei.nextMonthNav.contains(gi);wi||Ci?Li(wi?-1:1):ei.yearElements.indexOf(gi)>=0?gi.select():gi.classList.contains("arrowUp")?ei.changeYear(ei.currentYear+1):gi.classList.contains("arrowDown")&&ei.changeYear(ei.currentYear-1)}function Ln(pi){pi.preventDefault();var gi=pi.type==="keydown",wi=ds(pi),Ci=wi;ei.amPM!==void 0&&wi===ei.amPM&&(ei.amPM.textContent=ei.l10n.amPM[us(ei.amPM.textContent===ei.l10n.amPM[0])]);var Ii=parseFloat(Ci.getAttribute("min")),qi=parseFloat(Ci.getAttribute("max")),nn=parseFloat(Ci.getAttribute("step")),Xi=parseInt(Ci.value,10),bn=pi.delta||(gi?pi.which===38?1:-1:0),Gi=Xi+nn*bn;if(typeof Ci.value!="undefined"&&Ci.value.length===2){var hn=Ci===ei.hourElement,kn=Ci===ei.minuteElement;Giqi&&(Gi=Ci===ei.hourElement?Gi-qi-us(!ei.amPM):Ii,kn&&Yi(void 0,1,ei.hourElement)),ei.amPM&&hn&&(nn===1?Gi+Xi===23:Math.abs(Gi-Xi)>nn)&&(ei.amPM.textContent=ei.l10n.amPM[us(ei.amPM.textContent===ei.l10n.amPM[0])]),Ci.value=es(Gi)}}return ri(),ei}function ca(ii,ti){for(var ei=Array.prototype.slice.call(ii).filter(function(ai){return ai instanceof HTMLElement}),ni=[],ri=0;ri option"))if(ti.selected){for(let ei of Ki("#id_columns"))ei.appendChild(ti.cloneNode(!0));ti.remove()}ii.preventDefault()}function Uy(ii){for(let ti of Ki("#id_columns > option"))if(ti.selected){for(let ei of Ki("#id_available_columns"))ei.appendChild(ti.cloneNode(!0));ti.remove()}ii.preventDefault()}function Wf(ii,ti){return $s(this,null,function*(){return yield oa(ii,ti)})}function Yy(ii){var di,vi,hi;ii.preventDefault();let ti=ii.currentTarget,ei=ti.getAttribute("data-url");if(ei==null){uo("danger","Error Updating Table Configuration","No API path defined for configuration form.").show();return}let ni=((di=document.activeElement)==null?void 0:di.getAttribute("value"))==="Reset",ri=(hi=(vi=ti.getAttribute("data-config-root"))==null?void 0:vi.split("."))!=null?hi:[];if(ni){let _i=ri.reduceRight((Ei,Ai)=>({[Ai]:Ei}),{});Wf(ei,_i).then(Ei=>{Mo(Ei)?uo("danger","Error Resetting Table Configuration",Ei.error).show():location.reload()});return}let si=Pd(ti,"select[name=columns]"),ai=Object.assign({},...si.map(_i=>({[_i.name]:_i.options}))),li=ri.reduceRight((_i,Ei)=>({[Ei]:_i}),ai);Wf(ei,li).then(_i=>{Mo(_i)?uo("danger","Error Updating Table Configuration",_i.error).show():location.reload()})}function Uf(){for(let ii of Ki("#save_tableconfig"))ii.addEventListener("click",qy);for(let ii of Ki("#add_columns"))ii.addEventListener("click",Wy);for(let ii of Ki("#remove_columns"))ii.addEventListener("click",Uy);for(let ii of Ki("form.userconfigform"))ii.addEventListener("submit",Yy)}function Yf(ii){return typeof ii=="string"&&["show","hide"].includes(ii)}var ua=class extends Error{constructor(ti,ei){super(ti);Pn(this,"table");this.table=ei}},Va=class{constructor(ti,ei){Pn(this,"button");Pn(this,"rows");this.button=ti,this.rows=ei}hideRows(){for(let ti of this.rows)ti.classList.add("d-none")}set buttonState(ti){Yf(ti)&&this.button.setAttribute("data-state",ti)}get buttonState(){let ti=this.button.getAttribute("data-state");return Yf(ti)?ti:null}toggleButton(){this.buttonState==="show"?this.button.innerText=aa(this.button.innerText,"Show","Hide"):this.buttonState==="hide"&&(this.button.innerText=aa(this.button.innerHTML,"Hide","Show"))}toggleState(){this.buttonState==="show"?this.buttonState="hide":this.buttonState==="hide"&&(this.buttonState="show")}toggle(){this.toggleState(),this.toggleButton()}handleClick(ti){ti.currentTarget.isEqualNode(this.button)&&this.toggle(),this.buttonState==="hide"&&this.hideRows()}},Kf=class{constructor(ti){Pn(this,"table");Pn(this,"enabledButton");Pn(this,"disabledButton");Pn(this,"virtualButton");Pn(this,"disconnectedButton");Pn(this,"rows");this.table=ti,this.rows=this.table.querySelectorAll("tr");try{let ei=ko(this.table,"button.toggle-enabled"),ni=ko(this.table,"button.toggle-disabled"),ri=ko(this.table,"button.toggle-virtual"),si=ko(this.table,"button.toggle-disconnected");if(ei===null)throw new ua("Table is missing a 'toggle-enabled' button.",ti);if(ni===null)throw new ua("Table is missing a 'toggle-disabled' button.",ti);if(ri===null)throw new ua("Table is missing a 'toggle-virtual' button.",ti);if(si===null)throw new ua("Table is missing a 'toggle-disconnected' button.",ti);ei.addEventListener("click",ai=>this.handleClick(ai,this)),ni.addEventListener("click",ai=>this.handleClick(ai,this)),ri.addEventListener("click",ai=>this.handleClick(ai,this)),si.addEventListener("click",ai=>this.handleClick(ai,this)),this.enabledButton=new Va(ei,ti.querySelectorAll('tr[data-enabled="enabled"]')),this.disabledButton=new Va(ni,ti.querySelectorAll('tr[data-enabled="disabled"]')),this.virtualButton=new Va(ri,ti.querySelectorAll('tr[data-type="virtual"]')),this.disconnectedButton=new Va(si,ti.querySelectorAll('tr[data-connected="disconnected"]'))}catch(ei){if(ei instanceof ua){console.debug("Table does not contain enable/disable toggle buttons");return}else throw ei}}handleClick(ti,ei){for(let ni of this.rows)ni.classList.remove("d-none");ei.enabledButton.handleClick(ti),ei.disabledButton.handleClick(ti),ei.virtualButton.handleClick(ti),ei.disconnectedButton.handleClick(ti)}};function Gf(){for(let ii of Ki("table"))new Kf(ii)}var Qf=class{constructor(ti){Pn(this,"base");Pn(this,"state");Pn(this,"activeLink",null);Pn(this,"sections",[]);this.base=ti,this.state=new Sl({pinned:!0},{persist:!0,key:"netbox-sidenav"}),this.init(),this.initSectionLinks(),this.initLinks()}bodyHas(ti){return document.body.hasAttribute(`data-sidenav-${ti}`)}bodyRemove(...ti){for(let ei of ti)document.body.removeAttribute(`data-sidenav-${ei}`)}bodyAdd(...ti){for(let ei of ti)document.body.setAttribute(`data-sidenav-${ei}`,"")}init(){for(let ti of this.base.querySelectorAll(".sidenav-toggle"))ti.addEventListener("click",ei=>this.onToggle(ei));for(let ti of Ki(".sidenav-toggle-mobile"))ti.addEventListener("click",ei=>this.onMobileToggle(ei));window.innerWidth>1200&&(this.state.get("pinned")&&this.pin(),this.state.get("pinned")||this.unpin(),window.addEventListener("resize",()=>this.onResize())),window.innerWidth<1200&&(this.bodyRemove("hide"),this.bodyAdd("hidden"),window.addEventListener("resize",()=>this.onResize())),this.base.addEventListener("mouseenter",()=>this.onEnter()),this.base.addEventListener("mouseleave",()=>this.onLeave())}initLinks(){for(let ti of this.getActiveLinks())this.bodyHas("show")?this.activateLink(ti,"expand"):this.bodyHas("hidden")&&this.activateLink(ti,"collapse")}show(){this.bodyAdd("show"),this.bodyRemove("hidden","hide")}hide(){this.bodyAdd("hidden"),this.bodyRemove("pinned","show");for(let ti of this.base.querySelectorAll(".collapse"))ti.classList.remove("show")}pin(){this.bodyAdd("show","pinned"),this.bodyRemove("hidden"),this.state.set("pinned",!0)}unpin(){this.bodyRemove("pinned","show"),this.bodyAdd("hidden");for(let ti of this.base.querySelectorAll(".collapse"))ti.classList.remove("show");this.state.set("pinned",!1)}handleSectionClick(ti){ti.preventDefault();let ei=ti.target;this.activeLink=ei,this.closeInactiveSections()}closeInactiveSections(){for(let[ti,ei]of this.sections)ti!==this.activeLink&&(ti.classList.add("collapsed"),ti.setAttribute("aria-expanded","false"),ei.hide())}initSectionLinks(){for(let ti of Ki(".navbar-nav .nav-item .nav-link[data-bs-toggle]"))if(ti.parentElement!==null){let ei=ti.parentElement.querySelector(".collapse");if(ei!==null){let ni=new Rs(ei,{toggle:!1});this.sections.push([ti,ni]),ti.addEventListener("click",ri=>this.handleSectionClick(ri))}}}activateLink(ti,ei){var ri;let ni=ti.closest(".dropdown-menu");if(bl(ni)){let si=ni.parentElement,ai=(ri=ni.parentElement)==null?void 0:ri.querySelector(".nav-link");if(bl(ai)&&bl(si))switch(ei){case"expand":ai.setAttribute("aria-expanded","true"),si.classList.add("active"),ni.classList.add("show"),ti.classList.add("active");break;case"collapse":ai.setAttribute("aria-expanded","false"),si.classList.remove("active"),ni.classList.remove("show"),ti.classList.remove("active");break}}}*getActiveLinks(){for(let ti of this.base.querySelectorAll("ul.navbar-nav .nav-item .dropdown-item")){let ei=ti.querySelector("a");if(ei){let ni=new RegExp(ei.href,"gi");window.location.href.match(ni)&&(yield ti)}}}onEnter(){if(!this.bodyHas("pinned")){this.bodyRemove("hide","hidden"),this.bodyAdd("show");for(let ti of this.getActiveLinks())this.activateLink(ti,"expand")}}onLeave(){if(!this.bodyHas("pinned")){this.bodyRemove("show"),this.bodyAdd("hide");for(let ti of this.getActiveLinks())this.activateLink(ti,"collapse");this.bodyRemove("hide"),this.bodyAdd("hidden")}}onResize(){this.bodyHas("show")&&!this.bodyHas("pinned")&&(this.bodyRemove("show"),this.bodyAdd("hidden"))}onToggle(ti){ti.preventDefault(),this.state.get("pinned")?this.unpin():this.pin()}onMobileToggle(ti){ti.preventDefault(),this.bodyHas("hidden")?this.show():this.hide()}};function Xf(){for(let ii of Ki(".navbar"))new Qf(ii)}function Jf(ii,ti,ei,ni,ri){let si=(...ai)=>(console.warn("gridstack.js: Function `"+ei+"` is deprecated in "+ri+" and has been replaced with `"+ni+"`. It will be **removed** in a future release"),ti.apply(ii,ai));return si.prototype=ti.prototype,si}var xi=class{static getElements(ti,ei=document){if(typeof ti=="string"){let ni="getElementById"in ei?ei:void 0;if(ni&&!isNaN(+ti[0])){let si=ni.getElementById(ti);return si?[si]:[]}let ri=ei.querySelectorAll(ti);return!ri.length&&ti[0]!=="."&&ti[0]!=="#"&&(ri=ei.querySelectorAll("."+ti),ri.length||(ri=ei.querySelectorAll("#"+ti))),Array.from(ri)}return[ti]}static getElement(ti,ei=document){if(typeof ti=="string"){let ni="getElementById"in ei?ei:void 0;if(!ti.length)return null;if(ni&&ti[0]==="#")return ni.getElementById(ti.substring(1));if(ti[0]==="#"||ti[0]==="."||ti[0]==="[")return ei.querySelector(ti);if(ni&&!isNaN(+ti[0]))return ni.getElementById(ti);let ri=ei.querySelector(ti);return ni&&!ri&&(ri=ni.getElementById(ti)),ri||(ri=ei.querySelector("."+ti)),ri}return ti}static shouldSizeToContent(ti,ei=!1){return(ti==null?void 0:ti.grid)&&(ei?ti.sizeToContent===!0||ti.grid.opts.sizeToContent===!0&&ti.sizeToContent===void 0:!!ti.sizeToContent||ti.grid.opts.sizeToContent&&ti.sizeToContent!==!1)}static isIntercepted(ti,ei){return!(ti.y>=ei.y+ei.h||ti.y+ti.h<=ei.y||ti.x+ti.w<=ei.x||ti.x>=ei.x+ei.w)}static isTouching(ti,ei){return xi.isIntercepted(ti,{x:ei.x-.5,y:ei.y-.5,w:ei.w+1,h:ei.h+1})}static areaIntercept(ti,ei){let ni=ti.x>ei.x?ti.x:ei.x,ri=ti.x+ti.wei.y?ti.y:ei.y,ai=ti.y+ti.h{var li,di,vi,hi;let ai=ei*(((li=ri.y)!=null?li:ni)-((di=si.y)!=null?di:ni));return ai===0?ei*(((vi=ri.x)!=null?vi:ni)-((hi=si.x)!=null?hi:ni)):ai})}static find(ti,ei){return ei?ti.find(ni=>ni.id===ei):void 0}static createStylesheet(ti,ei,ni){let ri=document.createElement("style"),si=ni==null?void 0:ni.nonce;return si&&(ri.nonce=si),ri.setAttribute("type","text/css"),ri.setAttribute("gs-style-id",ti),ri.styleSheet?ri.styleSheet.cssText="":ri.appendChild(document.createTextNode("")),ei?ei.insertBefore(ri,ei.firstChild):(ei=document.getElementsByTagName("head")[0],ei.appendChild(ri)),ri.sheet}static removeStylesheet(ti,ei){let ri=(ei||document).querySelector("STYLE[gs-style-id="+ti+"]");ri&&ri.parentNode&&ri.remove()}static addCSSRule(ti,ei,ni){typeof ti.addRule=="function"?ti.addRule(ei,ni):typeof ti.insertRule=="function"&&ti.insertRule(`${ei}{${ni}}`)}static toBool(ti){return typeof ti=="boolean"?ti:typeof ti=="string"?(ti=ti.toLowerCase(),!(ti===""||ti==="no"||ti==="false"||ti==="0")):Boolean(ti)}static toNumber(ti){return ti===null||ti.length===0?void 0:Number(ti)}static parseHeight(ti){let ei,ni="px";if(typeof ti=="string")if(ti==="auto"||ti==="")ei=0;else{let ri=ti.match(/^(-[0-9]+\.[0-9]+|[0-9]*\.[0-9]+|-[0-9]+|[0-9]+)(px|em|rem|vh|vw|%|cm|mm)?$/);if(!ri)throw new Error(`Invalid height val = ${ti}`);ni=ri[2]||"px",ei=parseFloat(ri[1])}else ei=ti;return{h:ei,unit:ni}}static defaults(ti,...ei){return ei.forEach(ni=>{for(let ri in ni){if(!ni.hasOwnProperty(ri))return;ti[ri]===null||ti[ri]===void 0?ti[ri]=ni[ri]:typeof ni[ri]=="object"&&typeof ti[ri]=="object"&&this.defaults(ti[ri],ni[ri])}}),ti}static same(ti,ei){if(typeof ti!="object")return ti==ei;if(typeof ti!=typeof ei||Object.keys(ti).length!==Object.keys(ei).length)return!1;for(let ni in ti)if(ti[ni]!==ei[ni])return!1;return!0}static copyPos(ti,ei,ni=!1){return ei.x!==void 0&&(ti.x=ei.x),ei.y!==void 0&&(ti.y=ei.y),ei.w!==void 0&&(ti.w=ei.w),ei.h!==void 0&&(ti.h=ei.h),ni&&(ei.minW&&(ti.minW=ei.minW),ei.minH&&(ti.minH=ei.minH),ei.maxW&&(ti.maxW=ei.maxW),ei.maxH&&(ti.maxH=ei.maxH)),ti}static samePos(ti,ei){return ti&&ei&&ti.x===ei.x&&ti.y===ei.y&&(ti.w||1)===(ei.w||1)&&(ti.h||1)===(ei.h||1)}static sanitizeMinMax(ti){ti.minW||delete ti.minW,ti.minH||delete ti.minH,ti.maxW||delete ti.maxW,ti.maxH||delete ti.maxH}static removeInternalAndSame(ti,ei){if(!(typeof ti!="object"||typeof ei!="object"))for(let ni in ti){let ri=ti[ni],si=ei[ni];ni[0]==="_"||ri===si?delete ti[ni]:ri&&typeof ri=="object"&&si!==void 0&&(xi.removeInternalAndSame(ri,si),Object.keys(ri).length||delete ti[ni])}}static removeInternalForSave(ti,ei=!0){for(let ni in ti)(ni[0]==="_"||ti[ni]===null||ti[ni]===void 0)&&delete ti[ni];delete ti.grid,ei&&delete ti.el,ti.autoPosition||delete ti.autoPosition,ti.noResize||delete ti.noResize,ti.noMove||delete ti.noMove,ti.locked||delete ti.locked,(ti.w===1||ti.w===ti.minW)&&delete ti.w,(ti.h===1||ti.h===ti.minH)&&delete ti.h}static throttle(ti,ei){let ni=!1;return(...ri)=>{ni||(ni=!0,setTimeout(()=>{ti(...ri),ni=!1},ei))}}static removePositioningStyles(ti){let ei=ti.style;ei.position&&ei.removeProperty("position"),ei.left&&ei.removeProperty("left"),ei.top&&ei.removeProperty("top"),ei.width&&ei.removeProperty("width"),ei.height&&ei.removeProperty("height")}static getScrollElement(ti){if(!ti)return document.scrollingElement||document.documentElement;let ei=getComputedStyle(ti);return/(auto|scroll)/.test(ei.overflow+ei.overflowY)?ti:this.getScrollElement(ti.parentElement)}static updateScrollPosition(ti,ei,ni){let ri=ti.getBoundingClientRect(),si=window.innerHeight||document.documentElement.clientHeight;if(ri.top<0||ri.bottom>si){let ai=ri.bottom-si,li=ri.top,di=this.getScrollElement(ti);if(di!==null){let vi=di.scrollTop;ri.top<0&&ni<0?ti.offsetHeight>si?di.scrollTop+=ni:di.scrollTop+=Math.abs(li)>Math.abs(ni)?ni:li:ni>0&&(ti.offsetHeight>si?di.scrollTop+=ni:di.scrollTop+=ai>ni?ni:ai),ei.top+=di.scrollTop-vi}}}static updateScrollResize(ti,ei,ni){let ri=this.getScrollElement(ei),si=ri.clientHeight,ai=ri===this.getScrollElement()?0:ri.getBoundingClientRect().top,li=ti.clientY-ai,di=lisi-ni;di?ri.scrollBy({behavior:"smooth",top:li-ni}):vi&&ri.scrollBy({behavior:"smooth",top:ni-(si-li)})}static clone(ti){return ti==null||typeof ti!="object"?ti:ti instanceof Array?[...ti]:Ui({},ti)}static cloneDeep(ti){let ei=["parentGrid","el","grid","subGrid","engine"],ni=xi.clone(ti);for(let ri in ni)ni.hasOwnProperty(ri)&&typeof ni[ri]=="object"&&ri.substring(0,2)!=="__"&&!ei.find(si=>si===ri)&&(ni[ri]=xi.cloneDeep(ti[ri]));return ni}static cloneNode(ti){let ei=ti.cloneNode(!0);return ei.removeAttribute("id"),ei}static appendTo(ti,ei){let ni;typeof ei=="string"?ni=xi.getElement(ei):ni=ei,ni&&ni.appendChild(ti)}static addElStyles(ti,ei){if(ei instanceof Object)for(let ni in ei)ei.hasOwnProperty(ni)&&(Array.isArray(ei[ni])?ei[ni].forEach(ri=>{ti.style[ni]=ri}):ti.style[ni]=ei[ni])}static initEvent(ti,ei){let ni={type:ei.type},ri={button:0,which:0,buttons:1,bubbles:!0,cancelable:!0,target:ei.target?ei.target:ti.target};return ti.dataTransfer&&(ni.dataTransfer=ti.dataTransfer),["altKey","ctrlKey","metaKey","shiftKey"].forEach(si=>ni[si]=ti[si]),["pageX","pageY","clientX","clientY","screenX","screenY"].forEach(si=>ni[si]=ti[si]),Ui(Ui({},ni),ri)}static simulateMouseEvent(ti,ei,ni){let ri=document.createEvent("MouseEvents");ri.initMouseEvent(ei,!0,!0,window,1,ti.screenX,ti.screenY,ti.clientX,ti.clientY,ti.ctrlKey,ti.altKey,ti.shiftKey,ti.metaKey,0,ti.target),(ni||ti.target).dispatchEvent(ri)}static getValuesFromTransformedElement(ti){let ei=document.createElement("div");xi.addElStyles(ei,{opacity:"0",position:"fixed",top:0+"px",left:0+"px",width:"1px",height:"1px",zIndex:"-999999"}),ti.appendChild(ei);let ni=ei.getBoundingClientRect();return ti.removeChild(ei),ei.remove(),{xScale:1/ni.width,yScale:1/ni.height,xOffset:ni.left,yOffset:ni.top}}static swap(ti,ei,ni){let ri=ti[ei];ti[ei]=ti[ni],ti[ni]=ri}static canBeRotated(ti){var ei;return!(!ti||ti.w===ti.h||ti.locked||ti.noResize||((ei=ti.grid)==null?void 0:ei.opts.disableResize)||ti.minW&&ti.minW===ti.maxW||ti.minH&&ti.minH===ti.maxH)}};var Ts=class{constructor(ti={}){this.addedNodes=[],this.removedNodes=[],this.column=ti.column||12,this.maxRow=ti.maxRow,this._float=ti.float,this.nodes=ti.nodes||[],this.onChange=ti.onChange}batchUpdate(ti=!0,ei=!0){return!!this.batchMode===ti?this:(this.batchMode=ti,ti?(this._prevFloat=this._float,this._float=!0,this.cleanNodes(),this.saveInitial()):(this._float=this._prevFloat,delete this._prevFloat,ei&&this._packNodes(),this._notify()),this)}_useEntireRowArea(ti,ei){return(!this.float||this.batchMode&&!this._prevFloat)&&!this._hasLocked&&(!ti._moving||ti._skipDown||ei.y<=ti.y)}_fixCollisions(ti,ei=ti,ni,ri={}){if(this.sortNodes(-1),ni=ni||this.collide(ti,ei),!ni)return!1;if(ti._moving&&!ri.nested&&!this.float&&this.swap(ti,ni))return!0;let si=ei;!this._loading&&this._useEntireRowArea(ti,ei)&&(si={x:0,w:this.column,y:ei.y,h:ei.h},ni=this.collide(ti,si,ri.skip));let ai=!1,li={nested:!0,pack:!1};for(;ni=ni||this.collide(ti,si,ri.skip);){let di;if(ni.locked||this._loading||ti._moving&&!ti._skipDown&&ei.y>ti.y&&!this.float&&(!this.collide(ni,Fn(Ui({},ni),{y:ti.y}),ti)||!this.collide(ni,Fn(Ui({},ni),{y:ei.y-ni.h}),ti))?(ti._skipDown=ti._skipDown||ei.y>ti.y,di=this.moveNode(ti,Ui(Fn(Ui({},ei),{y:ni.y+ni.h}),li)),(ni.locked||this._loading)&&di?xi.copyPos(ei,ti):!ni.locked&&di&&ri.pack&&(this._packNodes(),ei.y=ni.y+ni.h,xi.copyPos(ti,ei)),ai=ai||di):di=this.moveNode(ni,Ui(Fn(Ui({},ni),{y:ei.y+ei.h,skip:ti}),li)),!di)return ai;ni=void 0}return ai}collide(ti,ei=ti,ni){let ri=ti._id,si=ni==null?void 0:ni._id;return this.nodes.find(ai=>ai._id!==ri&&ai._id!==si&&xi.isIntercepted(ai,ei))}collideAll(ti,ei=ti,ni){let ri=ti._id,si=ni==null?void 0:ni._id;return this.nodes.filter(ai=>ai._id!==ri&&ai._id!==si&&xi.isIntercepted(ai,ei))}directionCollideCoverage(ti,ei,ni){if(!ei.rect||!ti._rect)return;let ri=ti._rect,si=Ui({},ei.rect);si.y>ri.y?(si.h+=si.y-ri.y,si.y=ri.y):si.h+=ri.y-si.y,si.x>ri.x?(si.w+=si.x-ri.x,si.x=ri.x):si.w+=ri.x-si.x;let ai,li=.5;for(let di of ni){if(di.locked||!di._rect)break;let vi=di._rect,hi=Number.MAX_VALUE,_i=Number.MAX_VALUE;ri.yvi.y+vi.h&&(hi=(vi.y+vi.h-si.y)/vi.h),ri.xvi.x+vi.w&&(_i=(vi.x+vi.w-si.x)/vi.w);let Ei=Math.min(_i,hi);Ei>li&&(li=Ei,ai=di)}return ei.collide=ai,ai}cacheRects(ti,ei,ni,ri,si,ai){return this.nodes.forEach(li=>li._rect={y:li.y*ei+ni,x:li.x*ti+ai,w:li.w*ti-ai-ri,h:li.h*ei-ni-si}),this}swap(ti,ei){if(!ei||ei.locked||!ti||ti.locked)return!1;function ni(){let si=ei.x,ai=ei.y;return ei.x=ti.x,ei.y=ti.y,ti.h!=ei.h?(ti.x=si,ti.y=ei.y+ei.h):ti.w!=ei.w?(ti.x=ei.x+ei.w,ti.y=ai):(ti.x=si,ti.y=ai),ti._dirty=ei._dirty=!0,!0}let ri;if(ti.w===ei.w&&ti.h===ei.h&&(ti.x===ei.x||ti.y===ei.y)&&(ri=xi.isTouching(ti,ei)))return ni();if(ri!==!1){if(ti.w===ei.w&&ti.x===ei.x&&(ri||(ri=xi.isTouching(ti,ei)))){if(ei.y{let vi;ai.locked||(ai.autoPosition=!0,ti==="list"&&li&&(vi=di[li-1])),this.addNode(ai,!1,vi)}),ri||delete this._inColumnResize,ni||this.batchUpdate(!1),this}set float(ti){this._float!==ti&&(this._float=ti||!1,ti||this._packNodes()._notify())}get float(){return this._float||!1}sortNodes(ti=1){return this.nodes=xi.sort(this.nodes,ti),this}_packNodes(){return this.batchMode?this:(this.sortNodes(),this.float?this.nodes.forEach(ti=>{if(ti._updating||ti._orig===void 0||ti.y===ti._orig.y)return;let ei=ti.y;for(;ei>ti._orig.y;)--ei,this.collide(ti,{x:ti.x,y:ei,w:ti.w,h:ti.h})||(ti._dirty=!0,ti.y=ei)}):this.nodes.forEach((ti,ei)=>{if(!ti.locked)for(;ti.y>0;){let ni=ei===0?0:ti.y-1;if(!(ei===0||!this.collide(ti,{x:ti.x,y:ni,w:ti.w,h:ti.h})))break;ti._dirty=ti.y!==ni,ti.y=ni}}),this)}prepareNode(ti,ei){var ri;ti._id=(ri=ti._id)!=null?ri:Ts._idSeq++,(ti.x===void 0||ti.y===void 0||ti.x===null||ti.y===null)&&(ti.autoPosition=!0);let ni={x:0,y:0,w:1,h:1};return xi.defaults(ti,ni),ti.autoPosition||delete ti.autoPosition,ti.noResize||delete ti.noResize,ti.noMove||delete ti.noMove,xi.sanitizeMinMax(ti),typeof ti.x=="string"&&(ti.x=Number(ti.x)),typeof ti.y=="string"&&(ti.y=Number(ti.y)),typeof ti.w=="string"&&(ti.w=Number(ti.w)),typeof ti.h=="string"&&(ti.h=Number(ti.h)),isNaN(ti.x)&&(ti.x=ni.x,ti.autoPosition=!0),isNaN(ti.y)&&(ti.y=ni.y,ti.autoPosition=!0),isNaN(ti.w)&&(ti.w=ni.w),isNaN(ti.h)&&(ti.h=ni.h),this.nodeBoundFix(ti,ei),ti}nodeBoundFix(ti,ei){let ni=ti._orig||xi.copyPos({},ti);if(ti.maxW&&(ti.w=Math.min(ti.w,ti.maxW)),ti.maxH&&(ti.h=Math.min(ti.h,ti.maxH)),ti.minW&&ti.minW<=this.column&&(ti.w=Math.max(ti.w,ti.minW)),ti.minH&&(ti.h=Math.max(ti.h,ti.minH)),(ti.x||0)+(ti.w||1)>this.column&&this.column<12&&!this._inColumnResize&&ti._id&&this.findCacheLayout(ti,12)===-1){let si=Ui({},ti);si.autoPosition||si.x===void 0?(delete si.x,delete si.y):si.x=Math.min(11,si.x),si.w=Math.min(12,si.w||1),this.cacheOneLayout(si,12)}return ti.w>this.column?ti.w=this.column:ti.w<1&&(ti.w=1),this.maxRow&&ti.h>this.maxRow?ti.h=this.maxRow:ti.h<1&&(ti.h=1),ti.x<0&&(ti.x=0),ti.y<0&&(ti.y=0),ti.x+ti.w>this.column&&(ei?ti.w=this.column-ti.x:ti.x=this.column-ti.w),this.maxRow&&ti.y+ti.h>this.maxRow&&(ei?ti.h=this.maxRow-ti.y:ti.y=this.maxRow-ti.h),xi.samePos(ti,ni)||(ti._dirty=!0),this}getDirtyNodes(ti){return ti?this.nodes.filter(ei=>ei._dirty&&!xi.samePos(ei,ei._orig)):this.nodes.filter(ei=>ei._dirty)}_notify(ti){if(this.batchMode||!this.onChange)return this;let ei=(ti||[]).concat(this.getDirtyNodes());return this.onChange(ei),this}cleanNodes(){return this.batchMode?this:(this.nodes.forEach(ti=>{delete ti._dirty,delete ti._lastTried}),this)}saveInitial(){return this.nodes.forEach(ti=>{ti._orig=xi.copyPos({},ti),delete ti._dirty}),this._hasLocked=this.nodes.some(ti=>ti.locked),this}restoreInitial(){return this.nodes.forEach(ti=>{xi.samePos(ti,ti._orig)||(xi.copyPos(ti,ti._orig),ti._dirty=!0)}),this._notify(),this}findEmptyPosition(ti,ei=this.nodes,ni=this.column,ri){let si=ri?ri.y*ni+(ri.x+ri.w):0,ai=!1;for(let li=si;!ai;++li){let di=li%ni,vi=Math.floor(li/ni);if(di+ti.w>ni)continue;let hi={x:di,y:vi,w:ti.w,h:ti.h};ei.find(_i=>xi.isIntercepted(hi,_i))||((ti.x!==di||ti.y!==vi)&&(ti._dirty=!0),ti.x=di,ti.y=vi,delete ti.autoPosition,ai=!0)}return ai}addNode(ti,ei=!1,ni){let ri=this.nodes.find(ai=>ai._id===ti._id);if(ri)return ri;this._inColumnResize?this.nodeBoundFix(ti):this.prepareNode(ti),delete ti._temporaryRemoved,delete ti._removeDOM;let si;return ti.autoPosition&&this.findEmptyPosition(ti,this.nodes,this.column,ni)&&(delete ti.autoPosition,si=!0),this.nodes.push(ti),ei&&this.addedNodes.push(ti),si||this._fixCollisions(ti),this.batchMode||this._packNodes()._notify(),ti}removeNode(ti,ei=!0,ni=!1){return this.nodes.find(ri=>ri._id===ti._id)?(ni&&this.removedNodes.push(ti),ei&&(ti._removeDOM=!0),this.nodes=this.nodes.filter(ri=>ri._id!==ti._id),ti._isAboutToRemove||this._packNodes(),this._notify([ti]),this):this}removeAll(ti=!0,ei=!0){if(delete this._layouts,!this.nodes.length)return this;ti&&this.nodes.forEach(ri=>ri._removeDOM=!0);let ni=this.nodes;return this.removedNodes=ei?ni:[],this.nodes=[],this._notify(ni)}moveNodeCheck(ti,ei){if(!this.changedPosConstrain(ti,ei))return!1;if(ei.pack=!0,!this.maxRow)return this.moveNode(ti,ei);let ni,ri=new Ts({column:this.column,float:this.float,nodes:this.nodes.map(ai=>ai._id===ti._id?(ni=Ui({},ai),ni):Ui({},ai))});if(!ni)return!1;let si=ri.moveNode(ni,ei)&&ri.getRow()<=Math.max(this.getRow(),this.maxRow);if(!si&&!ei.resizing&&ei.collide){let ai=ei.collide.el.gridstackNode;if(this.swap(ti,ai))return this._notify(),!0}return si?(ri.nodes.filter(ai=>ai._dirty).forEach(ai=>{let li=this.nodes.find(di=>di._id===ai._id);!li||(xi.copyPos(li,ai),li._dirty=!0)}),this._notify(),!0):!1}willItFit(ti){if(delete ti._willFitPos,!this.maxRow)return!0;let ei=new Ts({column:this.column,float:this.float,nodes:this.nodes.map(ri=>Ui({},ri))}),ni=Ui({},ti);return this.cleanupNode(ni),delete ni.el,delete ni._id,delete ni.content,delete ni.grid,ei.addNode(ni),ei.getRow()<=this.maxRow?(ti._willFitPos=xi.copyPos({},ni),!0):!1}changedPosConstrain(ti,ei){return ei.w=ei.w||ti.w,ei.h=ei.h||ti.h,ti.x!==ei.x||ti.y!==ei.y?!0:(ti.maxW&&(ei.w=Math.min(ei.w,ti.maxW)),ti.maxH&&(ei.h=Math.min(ei.h,ti.maxH)),ti.minW&&(ei.w=Math.max(ei.w,ti.minW)),ti.minH&&(ei.h=Math.max(ei.h,ti.minH)),ti.w!==ei.w||ti.h!==ei.h)}moveNode(ti,ei){var vi,hi;if(!ti||!ei)return!1;let ni;ei.pack===void 0&&!this.batchMode&&(ni=ei.pack=!0),typeof ei.x!="number"&&(ei.x=ti.x),typeof ei.y!="number"&&(ei.y=ti.y),typeof ei.w!="number"&&(ei.w=ti.w),typeof ei.h!="number"&&(ei.h=ti.h);let ri=ti.w!==ei.w||ti.h!==ei.h,si=xi.copyPos({},ti,!0);if(xi.copyPos(si,ei),this.nodeBoundFix(si,ri),xi.copyPos(ei,si),!ei.forceCollide&&xi.samePos(ti,ei))return!1;let ai=xi.copyPos({},ti),li=this.collideAll(ti,si,ei.skip),di=!0;if(li.length){let _i=ti._moving&&!ei.nested,Ei=_i?this.directionCollideCoverage(ti,ei,li):li[0];if(_i&&Ei&&((hi=(vi=ti.grid)==null?void 0:vi.opts)==null?void 0:hi.subGridDynamic)&&!ti.grid._isTemp){let Ai=xi.areaIntercept(ei.rect,Ei._rect),ki=xi.area(ei.rect),Ti=xi.area(Ei._rect);Ai/(ki.8&&(Ei.grid.makeSubGrid(Ei.el,void 0,ti),Ei=void 0)}Ei?di=!this._fixCollisions(ti,si,Ei,ei):(di=!1,ni&&delete ei.pack)}return di&&(ti._dirty=!0,xi.copyPos(ti,si)),ei.pack&&this._packNodes()._notify(),!xi.samePos(ti,ai)}getRow(){return this.nodes.reduce((ti,ei)=>Math.max(ti,ei.y+ei.h),0)}beginUpdate(ti){return ti._updating||(ti._updating=!0,delete ti._skipDown,this.batchMode||this.saveInitial()),this}endUpdate(){let ti=this.nodes.find(ei=>ei._updating);return ti&&(delete ti._updating,delete ti._skipDown),this}save(ti=!0,ei){var ai;let ni=(ai=this._layouts)==null?void 0:ai.length,ri=ni&&this.column!==ni-1?this._layouts[ni-1]:null,si=[];return this.sortNodes(),this.nodes.forEach(li=>{let di=ri==null?void 0:ri.find(hi=>hi._id===li._id),vi=Ui(Ui({},li),di||{});xi.removeInternalForSave(vi,!ti),ei&&ei(li,vi),si.push(vi)}),si}layoutsNodesChange(ti){return!this._layouts||this._inColumnResize?this:(this._layouts.forEach((ei,ni)=>{if(!ei||ni===this.column)return this;if(ni{if(!si._orig)return;let ai=ei.find(li=>li._id===si._id);!ai||(ai.y>=0&&si.y!==si._orig.y&&(ai.y+=si.y-si._orig.y),si.x!==si._orig.x&&(ai.x=Math.round(si.x*ri)),si.w!==si._orig.w&&(ai.w=Math.round(si.w*ri)))})}}),this)}columnChanged(ti,ei,ni="moveScale"){var li;if(!this.nodes.length||!ei||ti===ei)return this;if(ni==="none")return this;let ri=ni==="compact"||ni==="list";ri&&this.sortNodes(1),eiti&&this._layouts){let di=this._layouts[ei]||[],vi=this._layouts.length-1;!di.length&&ti!==vi&&((li=this._layouts[vi])==null?void 0:li.length)&&(ti=vi,this._layouts[vi].forEach(hi=>{var Ei,Ai,ki;let _i=ai.find(Ti=>Ti._id===hi._id);_i&&(!ri&&!hi.autoPosition&&(_i.x=(Ei=hi.x)!=null?Ei:_i.x,_i.y=(Ai=hi.y)!=null?Ai:_i.y),_i.w=(ki=hi.w)!=null?ki:_i.w,(hi.x==null||hi.y===void 0)&&(_i.autoPosition=!0))})),di.forEach(hi=>{var Ei,Ai,ki;let _i=ai.findIndex(Ti=>Ti._id===hi._id);if(_i!==-1){let Ti=ai[_i];if(ri){Ti.w=hi.w;return}(hi.autoPosition||isNaN(hi.x)||isNaN(hi.y))&&this.findEmptyPosition(hi,si),hi.autoPosition||(Ti.x=(Ei=hi.x)!=null?Ei:Ti.x,Ti.y=(Ai=hi.y)!=null?Ai:Ti.y,Ti.w=(ki=hi.w)!=null?ki:Ti.w,si.push(Ti)),ai.splice(_i,1)}})}if(ri)this.compact(ni,!1);else{if(ai.length)if(typeof ni=="function")ni(ei,ti,si,ai);else{let di=ri?1:ei/ti,vi=ni==="move"||ni==="moveScale",hi=ni==="scale"||ni==="moveScale";ai.forEach(_i=>{_i.x=ei===1?0:vi?Math.round(_i.x*di):Math.min(_i.x,ei-1),_i.w=ei===1||ti===1?1:hi?Math.round(_i.w*di)||1:Math.min(_i.w,ei),si.push(_i)}),ai=[]}si=xi.sort(si,-1),this._inColumnResize=!0,this.nodes=[],si.forEach(di=>{this.addNode(di,!1),delete di._orig})}return this.nodes.forEach(di=>delete di._orig),this.batchUpdate(!1,!ri),delete this._inColumnResize,this}cacheLayout(ti,ei,ni=!1){let ri=[];return ti.forEach((si,ai)=>{var li;if(si._id===void 0){let di=si.id?this.nodes.find(vi=>vi.id===si.id):void 0;si._id=(li=di==null?void 0:di._id)!=null?li:Ts._idSeq++}ri[ai]={x:si.x,y:si.y,w:si.w,_id:si._id}}),this._layouts=ni?[]:this._layouts||[],this._layouts[ei]=ri,this}cacheOneLayout(ti,ei){var si;ti._id=(si=ti._id)!=null?si:Ts._idSeq++;let ni={x:ti.x,y:ti.y,w:ti.w,_id:ti._id};(ti.autoPosition||ti.x===void 0)&&(delete ni.x,delete ni.y,ti.autoPosition&&(ni.autoPosition=!0)),this._layouts=this._layouts||[],this._layouts[ei]=this._layouts[ei]||[];let ri=this.findCacheLayout(ti,ei);return ri===-1?this._layouts[ei].push(ni):this._layouts[ei][ri]=ni,this}findCacheLayout(ti,ei){var ni,ri,si;return(si=(ri=(ni=this._layouts)==null?void 0:ni[ei])==null?void 0:ri.findIndex(ai=>ai._id===ti._id))!=null?si:-1}removeNodeFromLayoutCache(ti){if(!!this._layouts)for(let ei=0;ei0||navigator.msMaxTouchPoints>0),Ms=class{};function Fl(ii,ti){if(ii.touches.length>1)return;ii.cancelable&&ii.preventDefault();let ei=ii.changedTouches[0],ni=document.createEvent("MouseEvents");ni.initMouseEvent(ti,!0,!0,window,1,ei.screenX,ei.screenY,ei.clientX,ei.clientY,!1,!1,!1,!1,0,null),ii.target.dispatchEvent(ni)}function eh(ii,ti){ii.cancelable&&ii.preventDefault();let ei=document.createEvent("MouseEvents");ei.initMouseEvent(ti,!0,!0,window,1,ii.screenX,ii.screenY,ii.clientX,ii.clientY,!1,!1,!1,!1,0,null),ii.target.dispatchEvent(ei)}function da(ii){Ms.touchHandled||(Ms.touchHandled=!0,Fl(ii,"mousedown"))}function fa(ii){!Ms.touchHandled||Fl(ii,"mousemove")}function ha(ii){if(!Ms.touchHandled)return;Ms.pointerLeaveTimeout&&(window.clearTimeout(Ms.pointerLeaveTimeout),delete Ms.pointerLeaveTimeout);let ti=!!an.dragElement;Fl(ii,"mouseup"),ti||Fl(ii,"click"),Ms.touchHandled=!1}function pa(ii){ii.pointerType!=="mouse"&&ii.target.releasePointerCapture(ii.pointerId)}function nu(ii){!an.dragElement||ii.pointerType!=="mouse"&&eh(ii,"mouseenter")}function ru(ii){!an.dragElement||ii.pointerType!=="mouse"&&(Ms.pointerLeaveTimeout=window.setTimeout(()=>{delete Ms.pointerLeaveTimeout,eh(ii,"mouseleave")},10))}var ma=class{constructor(ti,ei,ni){this.host=ti,this.dir=ei,this.option=ni,this.moving=!1,this._mouseDown=this._mouseDown.bind(this),this._mouseMove=this._mouseMove.bind(this),this._mouseUp=this._mouseUp.bind(this),this._keyEvent=this._keyEvent.bind(this),this._init()}_init(){let ti=this.el=document.createElement("div");return ti.classList.add("ui-resizable-handle"),ti.classList.add(`${ma.prefix}${this.dir}`),ti.style.zIndex="100",ti.style.userSelect="none",this.host.appendChild(this.el),this.el.addEventListener("mousedown",this._mouseDown),os&&(this.el.addEventListener("touchstart",da),this.el.addEventListener("pointerdown",pa)),this}destroy(){return this.moving&&this._mouseUp(this.mouseDownEvent),this.el.removeEventListener("mousedown",this._mouseDown),os&&(this.el.removeEventListener("touchstart",da),this.el.removeEventListener("pointerdown",pa)),this.host.removeChild(this.el),delete this.el,delete this.host,this}_mouseDown(ti){this.mouseDownEvent=ti,document.addEventListener("mousemove",this._mouseMove,{capture:!0,passive:!0}),document.addEventListener("mouseup",this._mouseUp,!0),os&&(this.el.addEventListener("touchmove",fa),this.el.addEventListener("touchend",ha)),ti.stopPropagation(),ti.preventDefault()}_mouseMove(ti){let ei=this.mouseDownEvent;this.moving?this._triggerEvent("move",ti):Math.abs(ti.x-ei.x)+Math.abs(ti.y-ei.y)>2&&(this.moving=!0,this._triggerEvent("start",this.mouseDownEvent),this._triggerEvent("move",ti),document.addEventListener("keydown",this._keyEvent)),ti.stopPropagation()}_mouseUp(ti){this.moving&&(this._triggerEvent("stop",ti),document.removeEventListener("keydown",this._keyEvent)),document.removeEventListener("mousemove",this._mouseMove,!0),document.removeEventListener("mouseup",this._mouseUp,!0),os&&(this.el.removeEventListener("touchmove",fa),this.el.removeEventListener("touchend",ha)),delete this.moving,delete this.mouseDownEvent,ti.stopPropagation(),ti.preventDefault()}_keyEvent(ti){var ei,ni;ti.key==="Escape"&&((ni=(ei=this.host.gridstackNode)==null?void 0:ei.grid)==null||ni.engine.restoreInitial(),this._mouseUp(this.mouseDownEvent))}_triggerEvent(ti,ei){return this.option[ti]&&this.option[ti](ei),this}};ma.prefix="ui-resizable-";var No=class{constructor(){this._eventRegister={}}get disabled(){return this._disabled}on(ti,ei){this._eventRegister[ti]=ei}off(ti){delete this._eventRegister[ti]}enable(){this._disabled=!1}disable(){this._disabled=!0}destroy(){delete this._eventRegister}triggerEvent(ti,ei){if(!this.disabled&&this._eventRegister&&this._eventRegister[ti])return this._eventRegister[ti](ei)}};var Ro=class extends No{constructor(ti,ei={}){super();this.el=ti,this.option=ei,this.rectScale={x:1,y:1},this._ui=()=>{let ri=this.el.parentElement.getBoundingClientRect(),si={width:this.originalRect.width,height:this.originalRect.height+this.scrolled,left:this.originalRect.left,top:this.originalRect.top-this.scrolled},ai=this.temporalRect||si;return{position:{left:(ai.left-ri.left)*this.rectScale.x,top:(ai.top-ri.top)*this.rectScale.y},size:{width:ai.width*this.rectScale.x,height:ai.height*this.rectScale.y}}},this._mouseOver=this._mouseOver.bind(this),this._mouseOut=this._mouseOut.bind(this),this.enable(),this._setupAutoHide(this.option.autoHide),this._setupHandlers()}on(ti,ei){super.on(ti,ei)}off(ti){super.off(ti)}enable(){super.enable(),this.el.classList.remove("ui-resizable-disabled"),this._setupAutoHide(this.option.autoHide)}disable(){super.disable(),this.el.classList.add("ui-resizable-disabled"),this._setupAutoHide(!1)}destroy(){this._removeHandlers(),this._setupAutoHide(!1),delete this.el,super.destroy()}updateOption(ti){let ei=ti.handles&&ti.handles!==this.option.handles,ni=ti.autoHide&&ti.autoHide!==this.option.autoHide;return Object.keys(ti).forEach(ri=>this.option[ri]=ti[ri]),ei&&(this._removeHandlers(),this._setupHandlers()),ni&&this._setupAutoHide(this.option.autoHide),this}_setupAutoHide(ti){return ti?(this.el.classList.add("ui-resizable-autohide"),this.el.addEventListener("mouseover",this._mouseOver),this.el.addEventListener("mouseout",this._mouseOut)):(this.el.classList.remove("ui-resizable-autohide"),this.el.removeEventListener("mouseover",this._mouseOver),this.el.removeEventListener("mouseout",this._mouseOut),an.overResizeElement===this&&delete an.overResizeElement),this}_mouseOver(ti){an.overResizeElement||an.dragElement||(an.overResizeElement=this,this.el.classList.remove("ui-resizable-autohide"))}_mouseOut(ti){an.overResizeElement===this&&(delete an.overResizeElement,this.el.classList.add("ui-resizable-autohide"))}_setupHandlers(){return this.handlers=this.option.handles.split(",").map(ti=>ti.trim()).map(ti=>new ma(this.el,ti,{start:ei=>{this._resizeStart(ei)},stop:ei=>{this._resizeStop(ei)},move:ei=>{this._resizing(ei,ti)}})),this}_resizeStart(ti){this.sizeToContent=xi.shouldSizeToContent(this.el.gridstackNode,!0),this.originalRect=this.el.getBoundingClientRect(),this.scrollEl=xi.getScrollElement(this.el),this.scrollY=this.scrollEl.scrollTop,this.scrolled=0,this.startEvent=ti,this._setupHelper(),this._applyChange();let ei=xi.initEvent(ti,{type:"resizestart",target:this.el});return this.option.start&&this.option.start(ei,this._ui()),this.el.classList.add("ui-resizable-resizing"),this.triggerEvent("resizestart",ei),this}_resizing(ti,ei){this.scrolled=this.scrollEl.scrollTop-this.scrollY,this.temporalRect=this._getChange(ti,ei),this._applyChange();let ni=xi.initEvent(ti,{type:"resize",target:this.el});return this.option.resize&&this.option.resize(ni,this._ui()),this.triggerEvent("resize",ni),this}_resizeStop(ti){let ei=xi.initEvent(ti,{type:"resizestop",target:this.el});return this.option.stop&&this.option.stop(ei),this.el.classList.remove("ui-resizable-resizing"),this.triggerEvent("resizestop",ei),this._cleanHelper(),delete this.startEvent,delete this.originalRect,delete this.temporalRect,delete this.scrollY,delete this.scrolled,this}_setupHelper(){this.elOriginStyleVal=Ro._originStyleProp.map(ni=>this.el.style[ni]),this.parentOriginStylePosition=this.el.parentElement.style.position;let ti=this.el.parentElement,ei=xi.getValuesFromTransformedElement(ti);return this.rectScale={x:ei.xScale,y:ei.yScale},getComputedStyle(this.el.parentElement).position.match(/static/)&&(this.el.parentElement.style.position="relative"),this.el.style.position="absolute",this.el.style.opacity="0.8",this}_cleanHelper(){return Ro._originStyleProp.forEach((ti,ei)=>{this.el.style[ti]=this.elOriginStyleVal[ei]||null}),this.el.parentElement.style.position=this.parentOriginStylePosition||null,this}_getChange(ti,ei){let ni=this.startEvent,ri={width:this.originalRect.width,height:this.originalRect.height+this.scrolled,left:this.originalRect.left,top:this.originalRect.top-this.scrolled},si=ti.clientX-ni.clientX,ai=this.sizeToContent?0:ti.clientY-ni.clientY;ei.indexOf("e")>-1?ri.width+=si:ei.indexOf("w")>-1&&(ri.width-=si,ri.left+=si),ei.indexOf("s")>-1?ri.height+=ai:ei.indexOf("n")>-1&&(ri.height-=ai,ri.top+=ai);let li=this._constrainSize(ri.width,ri.height);return Math.round(ri.width)!==Math.round(li.width)&&(ei.indexOf("w")>-1&&(ri.left+=ri.width-li.width),ri.width=li.width),Math.round(ri.height)!==Math.round(li.height)&&(ei.indexOf("n")>-1&&(ri.top+=ri.height-li.height),ri.height=li.height),ri}_constrainSize(ti,ei){let ni=this.option.maxWidth||Number.MAX_SAFE_INTEGER,ri=this.option.minWidth/this.rectScale.x||ti,si=this.option.maxHeight||Number.MAX_SAFE_INTEGER,ai=this.option.minHeight/this.rectScale.y||ei,li=Math.min(ni,Math.max(ri,ti)),di=Math.min(si,Math.max(ai,ei));return{width:li,height:di}}_applyChange(){let ti={left:0,top:0,width:0,height:0};if(this.el.style.position==="absolute"){let ei=this.el.parentElement,{left:ni,top:ri}=ei.getBoundingClientRect();ti={left:ni,top:ri,width:0,height:0}}return this.temporalRect?(Object.keys(this.temporalRect).forEach(ei=>{let ni=this.temporalRect[ei],ri=ei==="width"||ei==="left"?this.rectScale.x:ei==="height"||ei==="top"?this.rectScale.y:1;this.el.style[ei]=(ni-ti[ei])*ri+"px"}),this):this}_removeHandlers(){return this.handlers.forEach(ti=>ti.destroy()),delete this.handlers,this}};Ro._originStyleProp=["width","height","position","left","top","opacity","zIndex"];var Ky='input,textarea,button,select,option,[contenteditable="true"],.ui-resizable-handle',Io=class extends No{constructor(ti,ei={}){super();this.el=ti,this.option=ei,this.dragTransform={xScale:1,yScale:1,xOffset:0,yOffset:0};let ni=ei.handle.substring(1);this.dragEls=ti.classList.contains(ni)?[ti]:Array.from(ti.querySelectorAll(ei.handle)),this.dragEls.length===0&&(this.dragEls=[ti]),this._mouseDown=this._mouseDown.bind(this),this._mouseMove=this._mouseMove.bind(this),this._mouseUp=this._mouseUp.bind(this),this._keyEvent=this._keyEvent.bind(this),this.enable()}on(ti,ei){super.on(ti,ei)}off(ti){super.off(ti)}enable(){this.disabled!==!1&&(super.enable(),this.dragEls.forEach(ti=>{ti.addEventListener("mousedown",this._mouseDown),os&&(ti.addEventListener("touchstart",da),ti.addEventListener("pointerdown",pa))}),this.el.classList.remove("ui-draggable-disabled"))}disable(ti=!1){this.disabled!==!0&&(super.disable(),this.dragEls.forEach(ei=>{ei.removeEventListener("mousedown",this._mouseDown),os&&(ei.removeEventListener("touchstart",da),ei.removeEventListener("pointerdown",pa))}),ti||this.el.classList.add("ui-draggable-disabled"))}destroy(){this.dragTimeout&&window.clearTimeout(this.dragTimeout),delete this.dragTimeout,this.mouseDownEvent&&this._mouseUp(this.mouseDownEvent),this.disable(!0),delete this.el,delete this.helper,delete this.option,super.destroy()}updateOption(ti){return Object.keys(ti).forEach(ei=>this.option[ei]=ti[ei]),this}_mouseDown(ti){if(!an.mouseHandled)return ti.button!==0||!this.dragEls.find(ei=>ei===ti.target)&&ti.target.closest(Ky)||this.option.cancel&&ti.target.closest(this.option.cancel)||(this.mouseDownEvent=ti,delete this.dragging,delete an.dragElement,delete an.dropElement,document.addEventListener("mousemove",this._mouseMove,{capture:!0,passive:!0}),document.addEventListener("mouseup",this._mouseUp,!0),os&&(ti.target.addEventListener("touchmove",fa),ti.target.addEventListener("touchend",ha)),ti.preventDefault(),document.activeElement&&document.activeElement.blur(),an.mouseHandled=!0),!0}_callDrag(ti){if(!this.dragging)return;let ei=xi.initEvent(ti,{target:this.el,type:"drag"});this.option.drag&&this.option.drag(ei,this.ui()),this.triggerEvent("drag",ei)}_mouseMove(ti){var ni;let ei=this.mouseDownEvent;if(this.lastDrag=ti,this.dragging)if(this._dragFollow(ti),an.pauseDrag){let ri=Number.isInteger(an.pauseDrag)?an.pauseDrag:100;this.dragTimeout&&window.clearTimeout(this.dragTimeout),this.dragTimeout=window.setTimeout(()=>this._callDrag(ti),ri)}else this._callDrag(ti);else if(Math.abs(ti.x-ei.x)+Math.abs(ti.y-ei.y)>3){this.dragging=!0,an.dragElement=this;let ri=(ni=this.el.gridstackNode)==null?void 0:ni.grid;ri?an.dropElement=ri.el.ddElement.ddDroppable:delete an.dropElement,this.helper=this._createHelper(ti),this._setupHelperContainmentStyle(),this.dragTransform=xi.getValuesFromTransformedElement(this.helperContainment),this.dragOffset=this._getDragOffset(ti,this.el,this.helperContainment),this._setupHelperStyle(ti);let si=xi.initEvent(ti,{target:this.el,type:"dragstart"});this.option.start&&this.option.start(si,this.ui()),this.triggerEvent("dragstart",si),document.addEventListener("keydown",this._keyEvent)}return!0}_mouseUp(ti){var ei,ni;if(document.removeEventListener("mousemove",this._mouseMove,!0),document.removeEventListener("mouseup",this._mouseUp,!0),os&&(ti.target.removeEventListener("touchmove",fa,!0),ti.target.removeEventListener("touchend",ha,!0)),this.dragging){delete this.dragging,(ei=this.el.gridstackNode)==null||delete ei._origRotate,document.removeEventListener("keydown",this._keyEvent),((ni=an.dropElement)==null?void 0:ni.el)===this.el.parentElement&&delete an.dropElement,this.helperContainment.style.position=this.parentOriginStylePosition||null,this.helper===this.el?this._removeHelperStyle():this.helper.remove();let ri=xi.initEvent(ti,{target:this.el,type:"dragstop"});this.option.stop&&this.option.stop(ri),this.triggerEvent("dragstop",ri),an.dropElement&&an.dropElement.drop(ti)}delete this.helper,delete this.mouseDownEvent,delete an.dragElement,delete an.dropElement,delete an.mouseHandled,ti.preventDefault()}_keyEvent(ti){let ei=this.el.gridstackNode;if(!(ei==null?void 0:ei.grid))return;let ni=ei.grid;if(ti.key==="Escape")ei._origRotate&&(ei._orig=ei._origRotate,delete ei._origRotate),ni.engine.restoreInitial(),this._mouseUp(this.mouseDownEvent);else if(ti.key==="r"||ti.key==="R"){if(!xi.canBeRotated(ei))return;ei._origRotate=ei._origRotate||Ui({},ei._orig),delete ei._moving,ni.setAnimation(!1).rotate(ei.el,{top:-this.dragOffset.offsetTop,left:-this.dragOffset.offsetLeft}).setAnimation(),ei._moving=!0,this.dragOffset=this._getDragOffset(this.lastDrag,ei.el,this.helperContainment),this.helper.style.width=this.dragOffset.width+"px",this.helper.style.height=this.dragOffset.height+"px",xi.swap(ei._orig,"w","h"),delete ei._rect,this._mouseMove(this.lastDrag)}}_createHelper(ti){let ei=this.el;return typeof this.option.helper=="function"?ei=this.option.helper(ti):this.option.helper==="clone"&&(ei=xi.cloneNode(this.el)),document.body.contains(ei)||xi.appendTo(ei,this.option.appendTo==="parent"?this.el.parentElement:this.option.appendTo),ei===this.el&&(this.dragElementOriginStyle=Io.originStyleProp.map(ni=>this.el.style[ni])),ei}_setupHelperStyle(ti){this.helper.classList.add("ui-draggable-dragging");let ei=this.helper.style;return ei.pointerEvents="none",ei.width=this.dragOffset.width+"px",ei.height=this.dragOffset.height+"px",ei.willChange="left, top",ei.position="fixed",this._dragFollow(ti),ei.transition="none",setTimeout(()=>{this.helper&&(ei.transition=null)},0),this}_removeHelperStyle(){var ei;this.helper.classList.remove("ui-draggable-dragging");let ti=(ei=this.helper)==null?void 0:ei.gridstackNode;if(!(ti==null?void 0:ti._isAboutToRemove)&&this.dragElementOriginStyle){let ni=this.helper,ri=this.dragElementOriginStyle.transition||null;ni.style.transition=this.dragElementOriginStyle.transition="none",Io.originStyleProp.forEach(si=>ni.style[si]=this.dragElementOriginStyle[si]||null),setTimeout(()=>ni.style.transition=ri,50)}return delete this.dragElementOriginStyle,this}_dragFollow(ti){let ei={left:0,top:0},ni=this.helper.style,ri=this.dragOffset;ni.left=(ti.clientX+ri.offsetLeft-ei.left)*this.dragTransform.xScale+"px",ni.top=(ti.clientY+ri.offsetTop-ei.top)*this.dragTransform.yScale+"px"}_setupHelperContainmentStyle(){return this.helperContainment=this.helper.parentElement,this.helper.style.position!=="fixed"&&(this.parentOriginStylePosition=this.helperContainment.style.position,getComputedStyle(this.helperContainment).position.match(/static/)&&(this.helperContainment.style.position="relative")),this}_getDragOffset(ti,ei,ni){let ri=0,si=0;ni&&(ri=this.dragTransform.xOffset,si=this.dragTransform.yOffset);let ai=ei.getBoundingClientRect();return{left:ai.left,top:ai.top,offsetLeft:-ti.clientX+ai.left-ri,offsetTop:-ti.clientY+ai.top-si,width:ai.width*this.dragTransform.xScale,height:ai.height*this.dragTransform.yScale}}ui(){let ei=this.el.parentElement.getBoundingClientRect(),ni=this.helper.getBoundingClientRect();return{position:{top:(ni.top-ei.top)*this.dragTransform.yScale,left:(ni.left-ei.left)*this.dragTransform.xScale}}}};Io.originStyleProp=["transition","pointerEvents","position","left","top","minWidth","willChange"];var su=class extends No{constructor(ti,ei={}){super();this.el=ti,this.option=ei,this._mouseEnter=this._mouseEnter.bind(this),this._mouseLeave=this._mouseLeave.bind(this),this.enable(),this._setupAccept()}on(ti,ei){super.on(ti,ei)}off(ti){super.off(ti)}enable(){this.disabled!==!1&&(super.enable(),this.el.classList.add("ui-droppable"),this.el.classList.remove("ui-droppable-disabled"),this.el.addEventListener("mouseenter",this._mouseEnter),this.el.addEventListener("mouseleave",this._mouseLeave),os&&(this.el.addEventListener("pointerenter",nu),this.el.addEventListener("pointerleave",ru)))}disable(ti=!1){this.disabled!==!0&&(super.disable(),this.el.classList.remove("ui-droppable"),ti||this.el.classList.add("ui-droppable-disabled"),this.el.removeEventListener("mouseenter",this._mouseEnter),this.el.removeEventListener("mouseleave",this._mouseLeave),os&&(this.el.removeEventListener("pointerenter",nu),this.el.removeEventListener("pointerleave",ru)))}destroy(){this.disable(!0),this.el.classList.remove("ui-droppable"),this.el.classList.remove("ui-droppable-disabled"),super.destroy()}updateOption(ti){return Object.keys(ti).forEach(ei=>this.option[ei]=ti[ei]),this._setupAccept(),this}_mouseEnter(ti){if(!an.dragElement||!this._canDrop(an.dragElement.el))return;ti.preventDefault(),ti.stopPropagation(),an.dropElement&&an.dropElement!==this&&an.dropElement._mouseLeave(ti,!0),an.dropElement=this;let ei=xi.initEvent(ti,{target:this.el,type:"dropover"});this.option.over&&this.option.over(ei,this._ui(an.dragElement)),this.triggerEvent("dropover",ei),this.el.classList.add("ui-droppable-over")}_mouseLeave(ti,ei=!1){var ri;if(!an.dragElement||an.dropElement!==this)return;ti.preventDefault(),ti.stopPropagation();let ni=xi.initEvent(ti,{target:this.el,type:"dropout"});if(this.option.out&&this.option.out(ni,this._ui(an.dragElement)),this.triggerEvent("dropout",ni),an.dropElement===this&&(delete an.dropElement,!ei)){let si,ai=this.el.parentElement;for(;!si&&ai;)si=(ri=ai.ddElement)==null?void 0:ri.ddDroppable,ai=ai.parentElement;si&&si._mouseEnter(ti)}}drop(ti){ti.preventDefault();let ei=xi.initEvent(ti,{target:this.el,type:"drop"});this.option.drop&&this.option.drop(ei,this._ui(an.dragElement)),this.triggerEvent("drop",ei)}_canDrop(ti){return ti&&(!this.accept||this.accept(ti))}_setupAccept(){return this.option.accept?(typeof this.option.accept=="string"?this.accept=ti=>ti.classList.contains(this.option.accept)||ti.matches(this.option.accept):this.accept=this.option.accept,this):this}_ui(ti){return Ui({draggable:ti.el},ti.ui())}};var qa=class{static init(ti){return ti.ddElement||(ti.ddElement=new qa(ti)),ti.ddElement}constructor(ti){this.el=ti}on(ti,ei){return this.ddDraggable&&["drag","dragstart","dragstop"].indexOf(ti)>-1?this.ddDraggable.on(ti,ei):this.ddDroppable&&["drop","dropover","dropout"].indexOf(ti)>-1?this.ddDroppable.on(ti,ei):this.ddResizable&&["resizestart","resize","resizestop"].indexOf(ti)>-1&&this.ddResizable.on(ti,ei),this}off(ti){return this.ddDraggable&&["drag","dragstart","dragstop"].indexOf(ti)>-1?this.ddDraggable.off(ti):this.ddDroppable&&["drop","dropover","dropout"].indexOf(ti)>-1?this.ddDroppable.off(ti):this.ddResizable&&["resizestart","resize","resizestop"].indexOf(ti)>-1&&this.ddResizable.off(ti),this}setupDraggable(ti){return this.ddDraggable?this.ddDraggable.updateOption(ti):this.ddDraggable=new Io(this.el,ti),this}cleanDraggable(){return this.ddDraggable&&(this.ddDraggable.destroy(),delete this.ddDraggable),this}setupResizable(ti){return this.ddResizable?this.ddResizable.updateOption(ti):this.ddResizable=new Ro(this.el,ti),this}cleanResizable(){return this.ddResizable&&(this.ddResizable.destroy(),delete this.ddResizable),this}setupDroppable(ti){return this.ddDroppable?this.ddDroppable.updateOption(ti):this.ddDroppable=new su(this.el,ti),this}cleanDroppable(){return this.ddDroppable&&(this.ddDroppable.destroy(),delete this.ddDroppable),this}};var ou=class{resizable(ti,ei,ni,ri){return this._getDDElements(ti).forEach(si=>{if(ei==="disable"||ei==="enable")si.ddResizable&&si.ddResizable[ei]();else if(ei==="destroy")si.ddResizable&&si.cleanResizable();else if(ei==="option")si.setupResizable({[ni]:ri});else{let li=si.el.gridstackNode.grid,di=si.el.getAttribute("gs-resize-handles")||li.opts.resizable.handles||"e,s,se";di==="all"&&(di="n,e,s,w,se,sw,ne,nw");let vi=!li.opts.alwaysShowResizeHandle;si.setupResizable(Fn(Ui({},li.opts.resizable),{handles:di,autoHide:vi,start:ei.start,stop:ei.stop,resize:ei.resize}))}}),this}draggable(ti,ei,ni,ri){return this._getDDElements(ti).forEach(si=>{if(ei==="disable"||ei==="enable")si.ddDraggable&&si.ddDraggable[ei]();else if(ei==="destroy")si.ddDraggable&&si.cleanDraggable();else if(ei==="option")si.setupDraggable({[ni]:ri});else{let ai=si.el.gridstackNode.grid;si.setupDraggable(Fn(Ui({},ai.opts.draggable),{start:ei.start,stop:ei.stop,drag:ei.drag}))}}),this}dragIn(ti,ei){return this._getDDElements(ti).forEach(ni=>ni.setupDraggable(ei)),this}droppable(ti,ei,ni,ri){return typeof ei.accept=="function"&&!ei._accept&&(ei._accept=ei.accept,ei.accept=si=>ei._accept(si)),this._getDDElements(ti).forEach(si=>{ei==="disable"||ei==="enable"?si.ddDroppable&&si.ddDroppable[ei]():ei==="destroy"?si.ddDroppable&&si.cleanDroppable():ei==="option"?si.setupDroppable({[ni]:ri}):si.setupDroppable(ei)}),this}isDroppable(ti){return!!(ti&&ti.ddElement&&ti.ddElement.ddDroppable&&!ti.ddElement.ddDroppable.disabled)}isDraggable(ti){return!!(ti&&ti.ddElement&&ti.ddElement.ddDraggable&&!ti.ddElement.ddDraggable.disabled)}isResizable(ti){return!!(ti&&ti.ddElement&&ti.ddElement.ddResizable&&!ti.ddElement.ddResizable.disabled)}on(ti,ei,ni){return this._getDDElements(ti).forEach(ri=>ri.on(ei,si=>{ni(si,an.dragElement?an.dragElement.el:si.target,an.dragElement?an.dragElement.helper:null)})),this}off(ti,ei){return this._getDDElements(ti).forEach(ni=>ni.off(ei)),this}_getDDElements(ti,ei=!0){let ni=xi.getElements(ti);if(!ni.length)return[];let ri=ni.map(si=>si.ddElement||(ei?qa.init(si):null));return ei||ri.filter(si=>si),ri}};var as=new ou,fn=class{static init(ti={},ei=".grid-stack"){if(typeof document=="undefined")return null;let ni=fn.getGridElement(ei);return ni?(ni.gridstack||(ni.gridstack=new fn(ni,xi.cloneDeep(ti))),ni.gridstack):(console.error(typeof ei=="string"?'GridStack.initAll() no grid was found with selector "'+ei+`" - element missing or wrong selector ?
Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.`:"GridStack.init() no grid element was passed."),null)}static initAll(ti={},ei=".grid-stack"){let ni=[];return typeof document=="undefined"||(fn.getGridElements(ei).forEach(ri=>{ri.gridstack||(ri.gridstack=new fn(ri,xi.cloneDeep(ti))),ni.push(ri.gridstack)}),ni.length===0&&console.error('GridStack.initAll() no grid was found with selector "'+ei+`" - element missing or wrong selector ?
-Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.`)),ni}static addGrid(ti,ei={}){if(!ti)return null;let ni=ti;if(ni.gridstack){let ai=ni.gridstack;return ei&&(ai.opts=Ui(Ui({},ai.opts),ei)),ei.children!==void 0&&ai.load(ei.children),ai}if(!ti.classList.contains("grid-stack")||fn.addRemoveCB)if(fn.addRemoveCB)ni=fn.addRemoveCB(ti,ei,!0,!0);else{let ai=document.implementation.createHTMLDocument("");ai.body.innerHTML=`
`,ni=ai.body.children[0],ti.appendChild(ni)}return fn.init(ei,ni)}static registerEngine(ti){fn.engineClass=ti}get placeholder(){if(!this._placeholder){let ti=document.createElement("div");ti.className="placeholder-content",this.opts.placeholderText&&(ti.innerHTML=this.opts.placeholderText),this._placeholder=document.createElement("div"),this._placeholder.classList.add(this.opts.placeholderClass,hs.itemClass,this.opts.itemClass),this.placeholder.appendChild(ti)}return this._placeholder}constructor(ti,ei={}){var vi,Ei,Ai,Mi;this.el=ti,this.opts=ei,this._gsEventHandler={},this._extraDragRow=0,this.dragTransform={xScale:1,yScale:1,xOffset:0,yOffset:0},ti.gridstack=this,ei=ei||{},ti.classList.contains("grid-stack")||this.el.classList.add("grid-stack"),ei.row&&(ei.minRow=ei.maxRow=ei.row,delete ei.row);let ni=xi.toNumber(ti.getAttribute("gs-row"));ei.column==="auto"&&delete ei.column,ei.alwaysShowResizeHandle!==void 0&&(ei._alwaysShowResizeHandle=ei.alwaysShowResizeHandle);let ri=(vi=ei.columnOpts)==null?void 0:vi.breakpoints,si=ei;if(si.oneColumnModeDomSort&&(delete si.oneColumnModeDomSort,console.log("warning: Gridstack oneColumnModeDomSort no longer supported. Use GridStackOptions.columnOpts instead.")),si.oneColumnSize||si.disableOneColumnMode===!1){let Ti=si.oneColumnSize||768;delete si.oneColumnSize,delete si.disableOneColumnMode,ei.columnOpts=ei.columnOpts||{},ri=ei.columnOpts.breakpoints=ei.columnOpts.breakpoints||[];let Fi=ri.find(en=>en.c===1);Fi?Fi.w=Ti:(Fi={c:1,w:Ti},ri.push(Fi,{c:12,w:Ti+1}))}let ai=ei.columnOpts;ai&&(!ai.columnWidth&&!((Ei=ai.breakpoints)==null?void 0:Ei.length)?(delete ei.columnOpts,ri=void 0):ai.columnMax=ai.columnMax||12),(ri==null?void 0:ri.length)>1&&ri.sort((Ti,Fi)=>(Fi.w||0)-(Ti.w||0));let li=Fn(Ui({},xi.cloneDeep(hs)),{column:xi.toNumber(ti.getAttribute("gs-column"))||hs.column,minRow:ni||xi.toNumber(ti.getAttribute("gs-min-row"))||hs.minRow,maxRow:ni||xi.toNumber(ti.getAttribute("gs-max-row"))||hs.maxRow,staticGrid:xi.toBool(ti.getAttribute("gs-static"))||hs.staticGrid,draggable:{handle:(ei.handleClass?"."+ei.handleClass:ei.handle?ei.handle:"")||hs.draggable.handle},removableOptions:{accept:ei.itemClass||hs.removableOptions.accept,decline:hs.removableOptions.decline}});ti.getAttribute("gs-animate")&&(li.animate=xi.toBool(ti.getAttribute("gs-animate"))),ei=xi.defaults(ei,li),this._initMargin(),this.checkDynamicColumn(),this.el.classList.add("gs-"+ei.column),ei.rtl==="auto"&&(ei.rtl=ti.style.direction==="rtl"),ei.rtl&&this.el.classList.add("grid-stack-rtl");let di=(Ai=this.el.parentElement)==null?void 0:Ai.parentElement,yi=(di==null?void 0:di.classList.contains(hs.itemClass))?di.gridstackNode:void 0;yi&&(yi.subGrid=this,this.parentGridItem=yi,this.el.classList.add("grid-stack-nested"),yi.el.classList.add("grid-stack-sub-grid")),this._isAutoCellHeight=ei.cellHeight==="auto",this._isAutoCellHeight||ei.cellHeight==="initial"?this.cellHeight(void 0,!1):(typeof ei.cellHeight=="number"&&ei.cellHeightUnit&&ei.cellHeightUnit!==hs.cellHeightUnit&&(ei.cellHeight=ei.cellHeight+ei.cellHeightUnit,delete ei.cellHeightUnit),this.cellHeight(ei.cellHeight,!1)),ei.alwaysShowResizeHandle==="mobile"&&(ei.alwaysShowResizeHandle=os),this._styleSheetClass="gs-id-"+Ts._idSeq++,this.el.classList.add(this._styleSheetClass),this._setStaticClass();let pi=ei.engineClass||fn.engineClass||Ts;if(this.engine=new pi({column:this.getColumn(),float:ei.float,maxRow:ei.maxRow,onChange:Ti=>{let Fi=0;this.engine.nodes.forEach(en=>{Fi=Math.max(Fi,en.y+en.h)}),Ti.forEach(en=>{let rn=en.el;!rn||(en._removeDOM?(rn&&rn.remove(),delete en._removeDOM):this._writePosAttr(rn,en))}),this._updateStyles(!1,Fi)}}),this._updateStyles(!1,0),ei.auto&&(this.batchUpdate(),this.getGridItems().forEach(Ti=>this._prepareElement(Ti)),this.batchUpdate(!1)),ei.children){let Ti=ei.children;delete ei.children,Ti.length&&this.load(Ti)}this.setAnimation(),ei.subGridDynamic&&!an.pauseDrag&&(an.pauseDrag=!0),((Mi=ei.draggable)==null?void 0:Mi.pause)!==void 0&&(an.pauseDrag=ei.draggable.pause),this._setupRemoveDrop(),this._setupAcceptWidget(),this._updateResizeEvent()}addWidget(ti,ei){function ni(li){return li.el!==void 0||li.x!==void 0||li.y!==void 0||li.w!==void 0||li.h!==void 0||li.content!==void 0}let ri,si;if(typeof ti=="string"){let li=document.implementation.createHTMLDocument("");li.body.innerHTML=ti,ri=li.body.children[0]}else if(arguments.length===0||arguments.length===1&&ni(ti))if(si=ei=ti,si==null?void 0:si.el)ri=si.el;else if(fn.addRemoveCB)ri=fn.addRemoveCB(this.el,ei,!0,!1);else{let li=(ei==null?void 0:ei.content)||"",di=document.implementation.createHTMLDocument("");di.body.innerHTML=``,ri=di.body.children[0]}else ri=ti;if(!ri)return;if(si=ri.gridstackNode,si&&ri.parentElement===this.el&&this.engine.nodes.find(li=>li._id===si._id))return ri;let ai=this._readAttr(ri);return ei=xi.cloneDeep(ei)||{},xi.defaults(ei,ai),si=this.engine.prepareNode(ei),this._writeAttr(ri,ei),this._insertNotAppend?this.el.prepend(ri):this.el.appendChild(ri),this.makeWidget(ri,ei),ri}makeSubGrid(ti,ei,ni,ri=!0){var Ai,Mi,Ti;let si=ti.gridstackNode;if(si||(si=this.makeWidget(ti).gridstackNode),(Ai=si.subGrid)==null?void 0:Ai.el)return si.subGrid;let ai,li=this;for(;li&&!ai;)ai=(Mi=li.opts)==null?void 0:Mi.subGridOpts,li=(Ti=li.parentGridItem)==null?void 0:Ti.grid;ei=xi.cloneDeep(Ui(Fn(Ui({},ai||{}),{children:void 0}),ei||si.subGridOpts||{})),si.subGridOpts=ei;let di;ei.column==="auto"&&(di=!0,ei.column=Math.max(si.w||1,(ni==null?void 0:ni.w)||1),delete ei.columnOpts);let yi=si.el.querySelector(".grid-stack-item-content"),pi,vi;if(ri){if(this._removeDD(si.el),vi=Fn(Ui({},si),{x:0,y:0}),xi.removeInternalForSave(vi),delete vi.subGridOpts,si.content&&(vi.content=si.content,delete si.content),fn.addRemoveCB)pi=fn.addRemoveCB(this.el,vi,!0,!1);else{let Fi=document.implementation.createHTMLDocument("");Fi.body.innerHTML='
',pi=Fi.body.children[0],pi.appendChild(yi),Fi.body.innerHTML='
',yi=Fi.body.children[0],si.el.appendChild(yi)}this._prepareDragDropByNode(si)}if(ni){let Fi=di?ei.column:si.w,en=si.h+ni.h,rn=si.el.style;rn.transition="none",this.update(si.el,{w:Fi,h:en}),setTimeout(()=>rn.transition=null)}let Ei=si.subGrid=fn.addGrid(yi,ei);return(ni==null?void 0:ni._moving)&&(Ei._isTemp=!0),di&&(Ei._autoColumn=!0),ri&&Ei.addWidget(pi,vi),ni&&(ni._moving?window.setTimeout(()=>xi.simulateMouseEvent(ni._event,"mouseenter",Ei.el),0):Ei.addWidget(si.el,si)),Ei}removeAsSubGrid(ti){var ni;let ei=(ni=this.parentGridItem)==null?void 0:ni.grid;!ei||(ei.batchUpdate(),ei.removeWidget(this.parentGridItem.el,!0,!0),this.engine.nodes.forEach(ri=>{ri.x+=this.parentGridItem.x,ri.y+=this.parentGridItem.y,ei.addWidget(ri.el,ri)}),ei.batchUpdate(!1),this.parentGridItem&&delete this.parentGridItem.subGrid,delete this.parentGridItem,ti&&window.setTimeout(()=>xi.simulateMouseEvent(ti._event,"mouseenter",ei.el),0))}save(ti=!0,ei=!1,ni=fn.saveCB){let ri=this.engine.save(ti,ni);if(ri.forEach(si=>{var ai;if(ti&&si.el&&!si.subGrid&&!ni){let li=si.el.querySelector(".grid-stack-item-content");si.content=li?li.innerHTML:void 0,si.content||delete si.content}else if(!ti&&!ni&&delete si.content,(ai=si.subGrid)==null?void 0:ai.el){let li=si.subGrid.save(ti,ei,ni);si.subGridOpts=ei?li:{children:li},delete si.subGrid}delete si.el}),ei){let si=xi.cloneDeep(this.opts);si.marginBottom===si.marginTop&&si.marginRight===si.marginLeft&&si.marginTop===si.marginRight&&(si.margin=si.marginTop,delete si.marginTop,delete si.marginRight,delete si.marginBottom,delete si.marginLeft),si.rtl===(this.el.style.direction==="rtl")&&(si.rtl="auto"),this._isAutoCellHeight&&(si.cellHeight="auto"),this._autoColumn&&(si.column="auto");let ai=si._alwaysShowResizeHandle;return delete si._alwaysShowResizeHandle,ai!==void 0?si.alwaysShowResizeHandle=ai:delete si.alwaysShowResizeHandle,xi.removeInternalAndSame(si,hs),si.children=ri,si}return ri}load(ti,ei=fn.addRemoveCB||!0){var pi;ti=xi.cloneDeep(ti);let ni=this.getColumn();ti.forEach(vi=>{vi.w=vi.w||1,vi.h=vi.h||1});let ri=ti.filter(vi=>(vi.x===void 0||vi.y===void 0)&&!xi.find(this.engine.nodes,vi.id));ri.length&&ri.length!==ti.length?ti=ti.filter(vi=>!xi.find(ri,vi.id)):ri=[];let si=ti.some(vi=>vi.x!==void 0||vi.y!==void 0);si&&(ti=xi.sort(ti,-1)),this._insertNotAppend=si,ti.some(vi=>(vi.x||0)+(vi.w||1)>ni)&&(this._ignoreLayoutsNodeChange=!0,this.engine.cacheLayout(ti,12,!0));let ai=fn.addRemoveCB;typeof ei=="function"&&(fn.addRemoveCB=ei);let li=[];this.batchUpdate();let di=!this.engine.nodes.length;di&&this.setAnimation(!1),ei&&[...this.engine.nodes].forEach(Ei=>{if(!Ei.id)return;xi.find(ti,Ei.id)||(fn.addRemoveCB&&fn.addRemoveCB(this.el,Ei,!1,!1),li.push(Ei),this.removeWidget(Ei.el,!0,!1))});let yi=[];return this.engine.nodes=this.engine.nodes.filter(vi=>xi.find(ti,vi.id)?(yi.push(vi),!1):!0),ti.forEach(vi=>{var Ai;let Ei=xi.find(yi,vi.id);if(Ei){if(xi.shouldSizeToContent(Ei)&&(vi.h=Ei.h),this.engine.nodeBoundFix(vi),(vi.autoPosition||vi.x===void 0||vi.y===void 0)&&(vi.w=vi.w||Ei.w,vi.h=vi.h||Ei.h,this.engine.findEmptyPosition(vi)),this.engine.nodes.push(Ei),xi.samePos(Ei,vi)&&this.moveNode(Ei,Fn(Ui({},vi),{forceCollide:!0})),this.update(Ei.el,vi),(Ai=vi.subGridOpts)==null?void 0:Ai.children){let Mi=Ei.el.querySelector(".grid-stack");Mi&&Mi.gridstack&&(Mi.gridstack.load(vi.subGridOpts.children),this._insertNotAppend=!0)}}else ei&&this.addWidget(vi)}),ei&&ri.forEach(vi=>this.addWidget(vi)),this.engine.removedNodes=li,this.batchUpdate(!1),delete this._ignoreLayoutsNodeChange,delete this._insertNotAppend,ai?fn.addRemoveCB=ai:delete fn.addRemoveCB,di&&((pi=this.opts)==null?void 0:pi.animate)&&this.setAnimation(this.opts.animate,!0),this}batchUpdate(ti=!0){return this.engine.batchUpdate(ti),ti||(this._updateContainerHeight(),this._triggerRemoveEvent(),this._triggerAddEvent(),this._triggerChangeEvent()),this}getCellHeight(ti=!1){if(this.opts.cellHeight&&this.opts.cellHeight!=="auto"&&(!ti||!this.opts.cellHeightUnit||this.opts.cellHeightUnit==="px"))return this.opts.cellHeight;if(this.opts.cellHeightUnit==="rem")return this.opts.cellHeight*parseFloat(getComputedStyle(document.documentElement).fontSize);if(this.opts.cellHeightUnit==="em")return this.opts.cellHeight*parseFloat(getComputedStyle(this.el).fontSize);if(this.opts.cellHeightUnit==="cm")return this.opts.cellHeight*(96/2.54);if(this.opts.cellHeightUnit==="mm")return this.opts.cellHeight*(96/2.54)/10;let ei=this.el.querySelector("."+this.opts.itemClass);if(ei){let ri=xi.toNumber(ei.getAttribute("gs-h"))||1;return Math.round(ei.offsetHeight/ri)}let ni=parseInt(this.el.getAttribute("gs-current-row"));return ni?Math.round(this.el.getBoundingClientRect().height/ni):this.opts.cellHeight}cellHeight(ti,ei=!0){if(ei&&ti!==void 0&&this._isAutoCellHeight!==(ti==="auto")&&(this._isAutoCellHeight=ti==="auto",this._updateResizeEvent()),(ti==="initial"||ti==="auto")&&(ti=void 0),ti===void 0){let ri=-this.opts.marginRight-this.opts.marginLeft+this.opts.marginTop+this.opts.marginBottom;ti=this.cellWidth()+ri}let ni=xi.parseHeight(ti);return this.opts.cellHeightUnit===ni.unit&&this.opts.cellHeight===ni.h?this:(this.opts.cellHeightUnit=ni.unit,this.opts.cellHeight=ni.h,this.resizeToContentCheck(),ei&&this._updateStyles(!0),this)}cellWidth(){return this._widthOrContainer()/this.getColumn()}_widthOrContainer(ti=!1){var ei;return ti&&((ei=this.opts.columnOpts)==null?void 0:ei.breakpointForWindow)?window.innerWidth:this.el.clientWidth||this.el.parentElement.clientWidth||window.innerWidth}checkDynamicColumn(){var si,ai;let ti=this.opts.columnOpts;if(!ti||!ti.columnWidth&&!((si=ti.breakpoints)==null?void 0:si.length))return!1;let ei=this.getColumn(),ni=ei,ri=this._widthOrContainer(!0);if(ti.columnWidth)ni=Math.min(Math.round(ri/ti.columnWidth)||1,ti.columnMax);else{ni=ti.columnMax;let li=0;for(;lidi.c===ni);return this.column(ni,(li==null?void 0:li.layout)||ti.layout),!0}return!1}compact(ti="compact",ei=!0){return this.engine.compact(ti,ei),this._triggerChangeEvent(),this}column(ti,ei="moveScale"){if(!ti||ti<1||this.opts.column===ti)return this;let ni=this.getColumn();return this.opts.column=ti,this.engine?(this.engine.column=ti,this.el.classList.remove("gs-"+ni),this.el.classList.add("gs-"+ti),this.engine.columnChanged(ni,ti,ei),this._isAutoCellHeight&&this.cellHeight(),this.resizeToContentCheck(!0),this._ignoreLayoutsNodeChange=!0,this._triggerChangeEvent(),delete this._ignoreLayoutsNodeChange,this):this}getColumn(){return this.opts.column}getGridItems(){return Array.from(this.el.children).filter(ti=>ti.matches("."+this.opts.itemClass)&&!ti.matches("."+this.opts.placeholderClass))}destroy(ti=!0){if(!!this.el)return this.offAll(),this._updateResizeEvent(!0),this.setStatic(!0,!1),this.setAnimation(!1),ti?this.el.parentNode.removeChild(this.el):(this.removeAll(ti),this.el.classList.remove(this._styleSheetClass),this.el.removeAttribute("gs-current-row")),this._removeStylesheet(),this.parentGridItem&&delete this.parentGridItem.subGrid,delete this.parentGridItem,delete this.opts,delete this._placeholder,delete this.engine,delete this.el.gridstack,delete this.el,this}float(ti){return this.opts.float!==ti&&(this.opts.float=this.engine.float=ti,this._triggerChangeEvent()),this}getFloat(){return this.engine.float}getCellFromPixel(ti,ei=!1){let ni=this.el.getBoundingClientRect(),ri;ei?ri={top:ni.top+document.documentElement.scrollTop,left:ni.left}:ri={top:this.el.offsetTop,left:this.el.offsetLeft};let si=ti.left-ri.left,ai=ti.top-ri.top,li=ni.width/this.getColumn(),di=ni.height/parseInt(this.el.getAttribute("gs-current-row"));return{x:Math.floor(si/li),y:Math.floor(ai/di)}}getRow(){return Math.max(this.engine.getRow(),this.opts.minRow)}isAreaEmpty(ti,ei,ni,ri){return this.engine.isAreaEmpty(ti,ei,ni,ri)}makeWidget(ti,ei){let ni=fn.getElement(ti);this._prepareElement(ni,!0,ei);let ri=ni.gridstackNode;return this._updateContainerHeight(),ri.subGridOpts&&this.makeSubGrid(ni,ri.subGridOpts,void 0,!1),this.opts.column===1&&(this._ignoreLayoutsNodeChange=!0),this._triggerAddEvent(),this._triggerChangeEvent(),delete this._ignoreLayoutsNodeChange,ni}on(ti,ei){return ti.indexOf(" ")!==-1?(ti.split(" ").forEach(ri=>this.on(ri,ei)),this):(ti==="change"||ti==="added"||ti==="removed"||ti==="enable"||ti==="disable"?(ti==="enable"||ti==="disable"?this._gsEventHandler[ti]=ri=>ei(ri):this._gsEventHandler[ti]=ri=>ei(ri,ri.detail),this.el.addEventListener(ti,this._gsEventHandler[ti])):ti==="drag"||ti==="dragstart"||ti==="dragstop"||ti==="resizestart"||ti==="resize"||ti==="resizestop"||ti==="dropped"||ti==="resizecontent"?this._gsEventHandler[ti]=ei:console.error("GridStack.on("+ti+") event not supported"),this)}off(ti){return ti.indexOf(" ")!==-1?(ti.split(" ").forEach(ni=>this.off(ni)),this):((ti==="change"||ti==="added"||ti==="removed"||ti==="enable"||ti==="disable")&&this._gsEventHandler[ti]&&this.el.removeEventListener(ti,this._gsEventHandler[ti]),delete this._gsEventHandler[ti],this)}offAll(){return Object.keys(this._gsEventHandler).forEach(ti=>this.off(ti)),this}removeWidget(ti,ei=!0,ni=!0){return fn.getElements(ti).forEach(ri=>{if(ri.parentElement&&ri.parentElement!==this.el)return;let si=ri.gridstackNode;si||(si=this.engine.nodes.find(ai=>ri===ai.el)),!!si&&(ei&&fn.addRemoveCB&&fn.addRemoveCB(this.el,si,!1,!1),delete ri.gridstackNode,this._removeDD(ri),this.engine.removeNode(si,ei,ni),ei&&ri.parentElement&&ri.remove())}),ni&&(this._triggerRemoveEvent(),this._triggerChangeEvent()),this}removeAll(ti=!0,ei=!0){return this.engine.nodes.forEach(ni=>{ti&&fn.addRemoveCB&&fn.addRemoveCB(this.el,ni,!1,!1),delete ni.el.gridstackNode,this.opts.staticGrid||this._removeDD(ni.el)}),this.engine.removeAll(ti,ei),ei&&this._triggerRemoveEvent(),this}setAnimation(ti=this.opts.animate,ei){return ei?setTimeout(()=>{this.opts&&this.setAnimation(ti)}):ti?this.el.classList.add("grid-stack-animate"):this.el.classList.remove("grid-stack-animate"),this}hasAnimationCSS(){return this.el.classList.contains("grid-stack-animate")}setStatic(ti,ei=!0,ni=!0){return!!this.opts.staticGrid===ti?this:(ti?this.opts.staticGrid=!0:delete this.opts.staticGrid,this._setupRemoveDrop(),this._setupAcceptWidget(),this.engine.nodes.forEach(ri=>{this._prepareDragDropByNode(ri),ri.subGrid&&ni&&ri.subGrid.setStatic(ti,ei,ni)}),ei&&this._setStaticClass(),this)}update(ti,ei){if(arguments.length>2){console.warn("gridstack.ts: `update(el, x, y, w, h)` is deprecated. Use `update(el, {x, w, content, ...})`. It will be removed soon");let ni=arguments,ri=1;return ei={x:ni[ri++],y:ni[ri++],w:ni[ri++],h:ni[ri++]},this.update(ti,ei)}return fn.getElements(ti).forEach(ni=>{var pi;let ri=ni==null?void 0:ni.gridstackNode;if(!ri)return;let si=xi.cloneDeep(ei);this.engine.nodeBoundFix(si),delete si.autoPosition,delete si.id;let ai=["x","y","w","h"],li;if(ai.some(vi=>si[vi]!==void 0&&si[vi]!==ri[vi])&&(li={},ai.forEach(vi=>{li[vi]=si[vi]!==void 0?si[vi]:ri[vi],delete si[vi]})),!li&&(si.minW||si.minH||si.maxW||si.maxH)&&(li={}),si.content!==void 0){let vi=ni.querySelector(".grid-stack-item-content");vi&&vi.innerHTML!==si.content&&(vi.innerHTML=si.content,((pi=ri.subGrid)==null?void 0:pi.el)&&(vi.appendChild(ri.subGrid.el),ri.subGrid.opts.styleInHead||ri.subGrid._updateStyles(!0))),delete si.content}let di=!1,yi=!1;for(let vi in si)vi[0]!=="_"&&ri[vi]!==si[vi]&&(ri[vi]=si[vi],di=!0,yi=yi||!this.opts.staticGrid&&(vi==="noResize"||vi==="noMove"||vi==="locked"));if(xi.sanitizeMinMax(ri),li){let vi=li.w!==void 0&&li.w!==ri.w;this.moveNode(ri,li),this.resizeToContentCheck(vi,ri),delete ri._orig}(li||di)&&this._writeAttr(ni,ri),yi&&this._prepareDragDropByNode(ri)}),this}moveNode(ti,ei){let ni=ti._updating;ni||this.engine.cleanNodes().beginUpdate(ti),this.engine.moveNode(ti,ei),this._updateContainerHeight(),ni||(this._triggerChangeEvent(),this.engine.endUpdate())}resizeToContent(ti){if(!ti||(ti.classList.remove("size-to-content-max"),!ti.clientHeight))return;let ei=ti.gridstackNode;if(!ei)return;let ni=ei.grid;if(!ni||ti.parentElement!==ni.el)return;let ri=ni.getCellHeight(!0);if(!ri)return;let si=ei.h?ei.h*ri:ti.clientHeight,ai;if(ei.resizeToContentParent&&(ai=ti.querySelector(ei.resizeToContentParent)),ai||(ai=ti.querySelector(fn.resizeToContentParent)),!ai)return;let li=ti.clientHeight-ai.clientHeight,di=ei.h?ei.h*ri-li:ai.clientHeight,yi;if(ei.subGrid)yi=ei.subGrid.getRow()*ei.subGrid.getCellHeight(!0);else{let Ei=ai.firstElementChild;if(!Ei){console.error(`Error: GridStack.resizeToContent() widget id:${ei.id} '${fn.resizeToContentParent}'.firstElementChild is null, make sure to have a div like container. Skipping sizing.`);return}yi=Ei.getBoundingClientRect().height||di}if(di===yi)return;si+=yi-di;let pi=Math.ceil(si/ri),vi=Number.isInteger(ei.sizeToContent)?ei.sizeToContent:0;vi&&pi>vi&&(pi=vi,ti.classList.add("size-to-content-max")),ei.minH&&piei.maxH&&(pi=ei.maxH),pi!==ei.h&&(ni._ignoreLayoutsNodeChange=!0,ni.moveNode(ei,{h:pi}),delete ni._ignoreLayoutsNodeChange)}resizeToContentCBCheck(ti){fn.resizeToContentCB?fn.resizeToContentCB(ti):this.resizeToContent(ti)}rotate(ti,ei){return fn.getElements(ti).forEach(ni=>{let ri=ni.gridstackNode;if(!xi.canBeRotated(ri))return;let si={w:ri.h,h:ri.w,minH:ri.minW,minW:ri.minH,maxH:ri.maxW,maxW:ri.maxH};if(ei){let ai=ei.left>0?Math.floor(ei.left/this.cellWidth()):0,li=ei.top>0?Math.floor(ei.top/this.opts.cellHeight):0;si.x=ri.x+ai-(ri.h-(li+1)),si.y=ri.y+li-ai}this.update(ni,si)}),this}margin(ti){if(!(typeof ti=="string"&&ti.split(" ").length>1)){let ni=xi.parseHeight(ti);if(this.opts.marginUnit===ni.unit&&this.opts.margin===ni.h)return}return this.opts.margin=ti,this.opts.marginTop=this.opts.marginBottom=this.opts.marginLeft=this.opts.marginRight=void 0,this._initMargin(),this._updateStyles(!0),this}getMargin(){return this.opts.margin}willItFit(ti){if(arguments.length>1){console.warn("gridstack.ts: `willItFit(x,y,w,h,autoPosition)` is deprecated. Use `willItFit({x, y,...})`. It will be removed soon");let ei=arguments,ni=0,ri={x:ei[ni++],y:ei[ni++],w:ei[ni++],h:ei[ni++],autoPosition:ei[ni++]};return this.willItFit(ri)}return this.engine.willItFit(ti)}_triggerChangeEvent(){if(this.engine.batchMode)return this;let ti=this.engine.getDirtyNodes(!0);return ti&&ti.length&&(this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(ti),this._triggerEvent("change",ti)),this.engine.saveInitial(),this}_triggerAddEvent(){var ti;if(this.engine.batchMode)return this;if((ti=this.engine.addedNodes)==null?void 0:ti.length){this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(this.engine.addedNodes),this.engine.addedNodes.forEach(ni=>{delete ni._dirty});let ei=[...this.engine.addedNodes];this.engine.addedNodes=[],this._triggerEvent("added",ei)}return this}_triggerRemoveEvent(){var ti;if(this.engine.batchMode)return this;if((ti=this.engine.removedNodes)==null?void 0:ti.length){let ei=[...this.engine.removedNodes];this.engine.removedNodes=[],this._triggerEvent("removed",ei)}return this}_triggerEvent(ti,ei){let ni=ei?new CustomEvent(ti,{bubbles:!1,detail:ei}):new Event(ti);return this.el.dispatchEvent(ni),this}_removeStylesheet(){if(this._styles){let ti=this.opts.styleInHead?void 0:this.el.parentNode;xi.removeStylesheet(this._styleSheetClass,ti),delete this._styles}return this}_updateStyles(ti=!1,ei){if(ti&&this._removeStylesheet(),ei===void 0&&(ei=this.getRow()),this._updateContainerHeight(),this.opts.cellHeight===0)return this;let ni=this.opts.cellHeight,ri=this.opts.cellHeightUnit,si=`.${this._styleSheetClass} > .${this.opts.itemClass}`;if(!this._styles){let ai=this.opts.styleInHead?void 0:this.el.parentNode;if(this._styles=xi.createStylesheet(this._styleSheetClass,ai,{nonce:this.opts.nonce}),!this._styles)return this;this._styles._max=0,xi.addCSSRule(this._styles,si,`height: ${ni}${ri}`);let li=this.opts.marginTop+this.opts.marginUnit,di=this.opts.marginBottom+this.opts.marginUnit,yi=this.opts.marginRight+this.opts.marginUnit,pi=this.opts.marginLeft+this.opts.marginUnit,vi=`${si} > .grid-stack-item-content`,Ei=`.${this._styleSheetClass} > .grid-stack-placeholder > .placeholder-content`;xi.addCSSRule(this._styles,vi,`top: ${li}; right: ${yi}; bottom: ${di}; left: ${pi};`),xi.addCSSRule(this._styles,Ei,`top: ${li}; right: ${yi}; bottom: ${di}; left: ${pi};`),xi.addCSSRule(this._styles,`${si} > .ui-resizable-n`,`top: ${li};`),xi.addCSSRule(this._styles,`${si} > .ui-resizable-s`,`bottom: ${di}`),xi.addCSSRule(this._styles,`${si} > .ui-resizable-ne`,`right: ${yi}`),xi.addCSSRule(this._styles,`${si} > .ui-resizable-e`,`right: ${yi}`),xi.addCSSRule(this._styles,`${si} > .ui-resizable-se`,`right: ${yi}; bottom: ${di}`),xi.addCSSRule(this._styles,`${si} > .ui-resizable-nw`,`left: ${pi}`),xi.addCSSRule(this._styles,`${si} > .ui-resizable-w`,`left: ${pi}`),xi.addCSSRule(this._styles,`${si} > .ui-resizable-sw`,`left: ${pi}; bottom: ${di}`)}if(ei=ei||this._styles._max,ei>this._styles._max){let ai=li=>ni*li+ri;for(let li=this._styles._max+1;li<=ei;li++)xi.addCSSRule(this._styles,`${si}[gs-y="${li}"]`,`top: ${ai(li)}`),xi.addCSSRule(this._styles,`${si}[gs-h="${li+1}"]`,`height: ${ai(li+1)}`);this._styles._max=ei}return this}_updateContainerHeight(){if(!this.engine||this.engine.batchMode)return this;let ti=this.parentGridItem,ei=this.getRow()+this._extraDragRow,ni=this.opts.cellHeight,ri=this.opts.cellHeightUnit;if(!ni)return this;if(!ti){let si=xi.parseHeight(getComputedStyle(this.el).minHeight);if(si.h>0&&si.unit===ri){let ai=Math.floor(si.h/ni);ei1?ti.setAttribute("gs-w",String(ei.w)):ti.removeAttribute("gs-w"),ei.h>1?ti.setAttribute("gs-h",String(ei.h)):ti.removeAttribute("gs-h"),this}_writeAttr(ti,ei){if(!ei)return this;this._writePosAttr(ti,ei);let ni={autoPosition:"gs-auto-position",noResize:"gs-no-resize",noMove:"gs-no-move",locked:"gs-locked",id:"gs-id"};for(let ri in ni)ei[ri]?ti.setAttribute(ni[ri],String(ei[ri])):ti.removeAttribute(ni[ri]);return this}_readAttr(ti,ei=!0){let ni={};ni.x=xi.toNumber(ti.getAttribute("gs-x")),ni.y=xi.toNumber(ti.getAttribute("gs-y")),ni.w=xi.toNumber(ti.getAttribute("gs-w")),ni.h=xi.toNumber(ti.getAttribute("gs-h")),ni.autoPosition=xi.toBool(ti.getAttribute("gs-auto-position")),ni.noResize=xi.toBool(ti.getAttribute("gs-no-resize")),ni.noMove=xi.toBool(ti.getAttribute("gs-no-move")),ni.locked=xi.toBool(ti.getAttribute("gs-locked")),ni.id=ti.getAttribute("gs-id"),ni.maxW=xi.toNumber(ti.getAttribute("gs-max-w")),ni.minW=xi.toNumber(ti.getAttribute("gs-min-w")),ni.maxH=xi.toNumber(ti.getAttribute("gs-max-h")),ni.minH=xi.toNumber(ti.getAttribute("gs-min-h")),ei&&(ni.w===1&&ti.removeAttribute("gs-w"),ni.h===1&&ti.removeAttribute("gs-h"),ni.maxW&&ti.removeAttribute("gs-max-w"),ni.minW&&ti.removeAttribute("gs-min-w"),ni.maxH&&ti.removeAttribute("gs-max-h"),ni.minH&&ti.removeAttribute("gs-min-h"));for(let ri in ni){if(!ni.hasOwnProperty(ri))return;!ni[ri]&&ni[ri]!==0&&delete ni[ri]}return ni}_setStaticClass(){let ti=["grid-stack-static"];return this.opts.staticGrid?(this.el.classList.add(...ti),this.el.setAttribute("gs-static","true")):(this.el.classList.remove(...ti),this.el.removeAttribute("gs-static")),this}onResize(){var ei;if(!((ei=this.el)==null?void 0:ei.clientWidth)||this.prevWidth===this.el.clientWidth)return;this.prevWidth=this.el.clientWidth,this.batchUpdate();let ti=!1;return this._autoColumn&&this.parentGridItem?this.opts.column!==this.parentGridItem.w&&(this.column(this.parentGridItem.w,"none"),ti=!0):ti=this.checkDynamicColumn(),this._isAutoCellHeight&&this.cellHeight(),this.engine.nodes.forEach(ni=>{ni.subGrid&&ni.subGrid.onResize()}),this._skipInitialResize||this.resizeToContentCheck(ti),delete this._skipInitialResize,this.batchUpdate(!1),this}resizeToContentCheck(ti=!1,ei=void 0){if(!!this.engine){if(ti&&this.hasAnimationCSS())return setTimeout(()=>this.resizeToContentCheck(!1,ei),300+10);if(ei)xi.shouldSizeToContent(ei)&&this.resizeToContentCBCheck(ei.el);else if(this.engine.nodes.some(ni=>xi.shouldSizeToContent(ni))){let ni=[...this.engine.nodes];this.batchUpdate(),ni.forEach(ri=>{xi.shouldSizeToContent(ri)&&this.resizeToContentCBCheck(ri.el)}),this.batchUpdate(!1)}this._gsEventHandler.resizecontent&&this._gsEventHandler.resizecontent(null,ei?[ei]:this.engine.nodes)}}_updateResizeEvent(ti=!1){let ei=!this.parentGridItem&&(this._isAutoCellHeight||this.opts.sizeToContent||this.opts.columnOpts||this.engine.nodes.find(ni=>ni.sizeToContent));return!ti&&ei&&!this.resizeObserver?(this._sizeThrottle=xi.throttle(()=>this.onResize(),this.opts.cellHeightThrottle),this.resizeObserver=new ResizeObserver(()=>this._sizeThrottle()),this.resizeObserver.observe(this.el),this._skipInitialResize=!0):(ti||!ei)&&this.resizeObserver&&(this.resizeObserver.disconnect(),delete this.resizeObserver,delete this._sizeThrottle),this}static getElement(ti=".grid-stack-item"){return xi.getElement(ti)}static getElements(ti=".grid-stack-item"){return xi.getElements(ti)}static getGridElement(ti){return fn.getElement(ti)}static getGridElements(ti){return xi.getElements(ti)}_initMargin(){let ti,ei=0,ni=[];return typeof this.opts.margin=="string"&&(ni=this.opts.margin.split(" ")),ni.length===2?(this.opts.marginTop=this.opts.marginBottom=ni[0],this.opts.marginLeft=this.opts.marginRight=ni[1]):ni.length===4?(this.opts.marginTop=ni[0],this.opts.marginRight=ni[1],this.opts.marginBottom=ni[2],this.opts.marginLeft=ni[3]):(ti=xi.parseHeight(this.opts.margin),this.opts.marginUnit=ti.unit,ei=this.opts.margin=ti.h),this.opts.marginTop===void 0?this.opts.marginTop=ei:(ti=xi.parseHeight(this.opts.marginTop),this.opts.marginTop=ti.h,delete this.opts.margin),this.opts.marginBottom===void 0?this.opts.marginBottom=ei:(ti=xi.parseHeight(this.opts.marginBottom),this.opts.marginBottom=ti.h,delete this.opts.margin),this.opts.marginRight===void 0?this.opts.marginRight=ei:(ti=xi.parseHeight(this.opts.marginRight),this.opts.marginRight=ti.h,delete this.opts.margin),this.opts.marginLeft===void 0?this.opts.marginLeft=ei:(ti=xi.parseHeight(this.opts.marginLeft),this.opts.marginLeft=ti.h,delete this.opts.margin),this.opts.marginUnit=ti.unit,this.opts.marginTop===this.opts.marginBottom&&this.opts.marginLeft===this.opts.marginRight&&this.opts.marginTop===this.opts.marginRight&&(this.opts.margin=this.opts.marginTop),this}static getDD(){return as}static setupDragIn(ti,ei,ni=document){(ei==null?void 0:ei.pause)!==void 0&&(an.pauseDrag=ei.pause),ei=Ui(Ui({},Zf),ei||{});let ri=typeof ti=="string"?xi.getElements(ti,ni):ti;ri.length&&(ri==null||ri.forEach(si=>{as.isDraggable(si)||as.dragIn(si,ei)}))}movable(ti,ei){return this.opts.staticGrid?this:(fn.getElements(ti).forEach(ni=>{let ri=ni.gridstackNode;!ri||(ei?delete ri.noMove:ri.noMove=!0,this._prepareDragDropByNode(ri))}),this)}resizable(ti,ei){return this.opts.staticGrid?this:(fn.getElements(ti).forEach(ni=>{let ri=ni.gridstackNode;!ri||(ei?delete ri.noResize:ri.noResize=!0,this._prepareDragDropByNode(ri))}),this)}disable(ti=!0){if(!this.opts.staticGrid)return this.enableMove(!1,ti),this.enableResize(!1,ti),this._triggerEvent("disable"),this}enable(ti=!0){if(!this.opts.staticGrid)return this.enableMove(!0,ti),this.enableResize(!0,ti),this._triggerEvent("enable"),this}enableMove(ti,ei=!0){return this.opts.staticGrid?this:(ti?delete this.opts.disableDrag:this.opts.disableDrag=!0,this.engine.nodes.forEach(ni=>{this._prepareDragDropByNode(ni),ni.subGrid&&ei&&ni.subGrid.enableMove(ti,ei)}),this)}enableResize(ti,ei=!0){return this.opts.staticGrid?this:(ti?delete this.opts.disableResize:this.opts.disableResize=!0,this.engine.nodes.forEach(ni=>{this._prepareDragDropByNode(ni),ni.subGrid&&ei&&ni.subGrid.enableResize(ti,ei)}),this)}_removeDD(ti){return as.draggable(ti,"destroy").resizable(ti,"destroy"),ti.gridstackNode&&delete ti.gridstackNode._initDD,delete ti.ddElement,this}_setupAcceptWidget(){if(this.opts.staticGrid||!this.opts.acceptWidgets&&!this.opts.removable)return as.droppable(this.el,"destroy"),this;let ti,ei,ni=(ri,si,ai)=>{var Ei;let li=si.gridstackNode;if(!li)return;if(ai=ai||si,!((Ei=li.grid)==null?void 0:Ei.el)){ai.style.transform=`scale(${1/this.dragTransform.xScale},${1/this.dragTransform.yScale})`;let Ai=ai.getBoundingClientRect();ai.style.left=Ai.x+(this.dragTransform.xScale-1)*(ri.clientX-Ai.x)/this.dragTransform.xScale+"px",ai.style.top=Ai.y+(this.dragTransform.yScale-1)*(ri.clientY-Ai.y)/this.dragTransform.yScale+"px",ai.style.transformOrigin="0px 0px"}let di=this.el.getBoundingClientRect(),{top:yi,left:pi}=ai.getBoundingClientRect();pi-=di.left,yi-=di.top;let vi={position:{top:yi*this.dragTransform.xScale,left:pi*this.dragTransform.yScale}};if(li._temporaryRemoved){if(li.x=Math.max(0,Math.round(pi/ei)),li.y=Math.max(0,Math.round(yi/ti)),delete li.autoPosition,this.engine.nodeBoundFix(li),!this.engine.willItFit(li)){if(li.autoPosition=!0,!this.engine.willItFit(li)){as.off(si,"drag");return}li._willFitPos&&(xi.copyPos(li,li._willFitPos),delete li._willFitPos)}this._onStartMoving(ai,ri,vi,li,ei,ti)}else this._dragOrResize(ai,ri,vi,li,ei,ti)};return as.droppable(this.el,{accept:ri=>{let si=ri.gridstackNode||this._readAttr(ri,!1);if((si==null?void 0:si.grid)===this)return!0;if(!this.opts.acceptWidgets)return!1;let ai=!0;if(typeof this.opts.acceptWidgets=="function")ai=this.opts.acceptWidgets(ri);else{let li=this.opts.acceptWidgets===!0?".grid-stack-item":this.opts.acceptWidgets;ai=ri.matches(li)}if(ai&&si&&this.opts.maxRow){let li={w:si.w,h:si.h,minW:si.minW,minH:si.minH};ai=this.engine.willItFit(li)}return ai}}).on(this.el,"dropover",(ri,si,ai)=>{let li=si.gridstackNode;if((li==null?void 0:li.grid)===this&&!li._temporaryRemoved)return!1;(li==null?void 0:li.grid)&&li.grid!==this&&!li._temporaryRemoved&&li.grid._leave(si,ai),ei=this.cellWidth(),ti=this.getCellHeight(!0),li||(li=this._readAttr(si,!1)),li.grid||(li._isExternal=!0,si.gridstackNode=li),ai=ai||si;let di=li.w||Math.round(ai.offsetWidth/ei)||1,yi=li.h||Math.round(ai.offsetHeight/ti)||1;return li.grid&&li.grid!==this?(si._gridstackNodeOrig||(si._gridstackNodeOrig=li),si.gridstackNode=li=Fn(Ui({},li),{w:di,h:yi,grid:this}),delete li.x,delete li.y,this.engine.cleanupNode(li).nodeBoundFix(li),li._initDD=li._isExternal=li._temporaryRemoved=!0):(li.w=di,li.h=yi,li._temporaryRemoved=!0),fn._itemRemoving(li.el,!1),as.on(si,"drag",ni),ni(ri,si,ai),!1}).on(this.el,"dropout",(ri,si,ai)=>{let li=si.gridstackNode;return li&&(!li.grid||li.grid===this)&&(this._leave(si,ai),this._isTemp&&this.removeAsSubGrid(li)),!1}).on(this.el,"drop",(ri,si,ai)=>{var Ei,Ai,Mi;let li=si.gridstackNode;if((li==null?void 0:li.grid)===this&&!li._isExternal)return!1;let di=!!this.placeholder.parentElement;this.placeholder.remove();let yi=di&&this.opts.animate;yi&&this.setAnimation(!1);let pi=si._gridstackNodeOrig;if(delete si._gridstackNodeOrig,di&&(pi==null?void 0:pi.grid)&&pi.grid!==this){let Ti=pi.grid;Ti.engine.removeNodeFromLayoutCache(pi),Ti.engine.removedNodes.push(pi),Ti._triggerRemoveEvent()._triggerChangeEvent(),Ti.parentGridItem&&!Ti.engine.nodes.length&&Ti.opts.subGridDynamic&&Ti.removeAsSubGrid()}if(!li||(di&&(this.engine.cleanupNode(li),li.grid=this),(Ei=li.grid)==null||delete Ei._isTemp,as.off(si,"drag"),ai!==si?(ai.remove(),si.gridstackNode=pi,di&&(si=si.cloneNode(!0))):(si.remove(),this._removeDD(si)),!di))return!1;si.gridstackNode=li,li.el=si;let vi=(Mi=(Ai=li.subGrid)==null?void 0:Ai.el)==null?void 0:Mi.gridstack;return xi.copyPos(li,this._readAttr(this.placeholder)),xi.removePositioningStyles(si),this.el.appendChild(si),this._prepareElement(si,!0,li),vi&&(vi.parentGridItem=li,vi.opts.styleInHead||vi._updateStyles(!0)),this._updateContainerHeight(),this.engine.addedNodes.push(li),this._triggerAddEvent(),this._triggerChangeEvent(),this.engine.endUpdate(),this._gsEventHandler.dropped&&this._gsEventHandler.dropped(Fn(Ui({},ri),{type:"dropped"}),pi&&pi.grid?pi:void 0,li),yi&&this.setAnimation(this.opts.animate,!0),!1}),this}static _itemRemoving(ti,ei){let ni=ti?ti.gridstackNode:void 0;!(ni==null?void 0:ni.grid)||ti.classList.contains(ni.grid.opts.removableOptions.decline)||(ei?ni._isAboutToRemove=!0:delete ni._isAboutToRemove,ei?ti.classList.add("grid-stack-item-removing"):ti.classList.remove("grid-stack-item-removing"))}_setupRemoveDrop(){if(typeof this.opts.removable!="string")return this;let ti=document.querySelector(this.opts.removable);return ti?(!this.opts.staticGrid&&!as.isDroppable(ti)&&as.droppable(ti,this.opts.removableOptions).on(ti,"dropover",(ei,ni)=>fn._itemRemoving(ni,!0)).on(ti,"dropout",(ei,ni)=>fn._itemRemoving(ni,!1)),this):this}_prepareDragDropByNode(ti){let ei=ti.el,ni=ti.noMove||this.opts.disableDrag,ri=ti.noResize||this.opts.disableResize;if(this.opts.staticGrid||ni&&ri)return ti._initDD&&(this._removeDD(ei),delete ti._initDD),ei.classList.add("ui-draggable-disabled","ui-resizable-disabled"),this;if(!ti._initDD){let si,ai,li=(pi,vi)=>{this._gsEventHandler[pi.type]&&this._gsEventHandler[pi.type](pi,pi.target),si=this.cellWidth(),ai=this.getCellHeight(!0),this._onStartMoving(ei,pi,vi,ti,si,ai)},di=(pi,vi)=>{this._dragOrResize(ei,pi,vi,ti,si,ai)},yi=pi=>{this.placeholder.remove(),delete ti._moving,delete ti._event,delete ti._lastTried;let vi=ti.w!==ti._orig.w,Ei=pi.target;if(!(!Ei.gridstackNode||Ei.gridstackNode.grid!==this)){if(ti.el=Ei,ti._isAboutToRemove){let Ai=ei.gridstackNode.grid;Ai._gsEventHandler[pi.type]&&Ai._gsEventHandler[pi.type](pi,Ei),Ai.engine.nodes.push(ti),Ai.removeWidget(ei,!0,!0)}else xi.removePositioningStyles(Ei),ti._temporaryRemoved?(xi.copyPos(ti,ti._orig),this._writePosAttr(Ei,ti),this.engine.addNode(ti)):this._writePosAttr(Ei,ti),this._gsEventHandler[pi.type]&&this._gsEventHandler[pi.type](pi,Ei);this._extraDragRow=0,this._updateContainerHeight(),this._triggerChangeEvent(),this.engine.endUpdate(),pi.type==="resizestop"&&(Number.isInteger(ti.sizeToContent)&&(ti.sizeToContent=ti.h),this.resizeToContentCheck(vi,ti))}};as.draggable(ei,{start:li,stop:yi,drag:di}).resizable(ei,{start:li,stop:yi,resize:di}),ti._initDD=!0}return as.draggable(ei,ni?"disable":"enable").resizable(ei,ri?"disable":"enable"),this}_onStartMoving(ti,ei,ni,ri,si,ai){var li;if(this.engine.cleanNodes().beginUpdate(ri),this._writePosAttr(this.placeholder,ri),this.el.appendChild(this.placeholder),this.placeholder.gridstackNode=ri,(li=ri.grid)==null?void 0:li.el)this.dragTransform=xi.getValuesFromTransformedElement(ti);else if(this.placeholder&&this.placeholder.closest(".grid-stack")){let di=this.placeholder.closest(".grid-stack");this.dragTransform=xi.getValuesFromTransformedElement(di)}else this.dragTransform={xScale:1,xOffset:0,yScale:1,yOffset:0};if(ri.el=this.placeholder,ri._lastUiPosition=ni.position,ri._prevYPix=ni.position.top,ri._moving=ei.type==="dragstart",delete ri._lastTried,ei.type==="dropover"&&ri._temporaryRemoved&&(this.engine.addNode(ri),ri._moving=!0),this.engine.cacheRects(si,ai,this.opts.marginTop,this.opts.marginRight,this.opts.marginBottom,this.opts.marginLeft),ei.type==="resizestart"){let di=this.getColumn()-ri.x,yi=(this.opts.maxRow||Number.MAX_SAFE_INTEGER)-ri.y;as.resizable(ti,"option","minWidth",si*Math.min(ri.minW||1,di)).resizable(ti,"option","minHeight",ai*Math.min(ri.minH||1,yi)).resizable(ti,"option","maxWidth",si*Math.min(ri.maxW||Number.MAX_SAFE_INTEGER,di)).resizable(ti,"option","maxHeight",ai*Math.min(ri.maxH||Number.MAX_SAFE_INTEGER,yi))}}_dragOrResize(ti,ei,ni,ri,si,ai){let li=Ui({},ri._orig),di,yi=this.opts.marginLeft,pi=this.opts.marginRight,vi=this.opts.marginTop,Ei=this.opts.marginBottom,Ai=Math.round(ai*.1),Mi=Math.round(si*.1);if(yi=Math.min(yi,Mi),pi=Math.min(pi,Mi),vi=Math.min(vi,Ai),Ei=Math.min(Ei,Ai),ei.type==="drag"){if(ri._temporaryRemoved)return;let Fi=ni.position.top-ri._prevYPix;ri._prevYPix=ni.position.top,this.opts.draggable.scroll!==!1&&xi.updateScrollPosition(ti,ni.position,Fi);let en=ni.position.left+(ni.position.left>ri._lastUiPosition.left?-pi:yi),rn=ni.position.top+(ni.position.top>ri._lastUiPosition.top?-Ei:vi);li.x=Math.round(en/si),li.y=Math.round(rn/ai);let ln=this._extraDragRow;if(this.engine.collide(ri,li)){let Yi=this.getRow(),sn=Math.max(0,li.y+ri.h-Yi);this.opts.maxRow&&Yi+sn>this.opts.maxRow&&(sn=Math.max(0,this.opts.maxRow-Yi)),this._extraDragRow=sn}else this._extraDragRow=0;if(this._extraDragRow!==ln&&this._updateContainerHeight(),ri.x===li.x&&ri.y===li.y)return}else if(ei.type==="resize"){if(li.x<0||(xi.updateScrollResize(ei,ti,ai),li.w=Math.round((ni.size.width-yi)/si),li.h=Math.round((ni.size.height-vi)/ai),ri.w===li.w&&ri.h===li.h)||ri._lastTried&&ri._lastTried.w===li.w&&ri._lastTried.h===li.h)return;let Fi=ni.position.left+yi,en=ni.position.top+vi;li.x=Math.round(Fi/si),li.y=Math.round(en/ai),di=!0}ri._event=ei,ri._lastTried=li;let Ti={x:ni.position.left+yi,y:ni.position.top+vi,w:(ni.size?ni.size.width:ri.w*si)-yi-pi,h:(ni.size?ni.size.height:ri.h*ai)-vi-Ei};if(this.engine.moveNodeCheck(ri,Fn(Ui({},li),{cellWidth:si,cellHeight:ai,rect:Ti,resizing:di}))){ri._lastUiPosition=ni.position,this.engine.cacheRects(si,ai,vi,pi,Ei,yi),delete ri._skipDown,di&&ri.subGrid&&ri.subGrid.onResize(),this._extraDragRow=0,this._updateContainerHeight();let Fi=ei.target;this._writePosAttr(Fi,ri),this._gsEventHandler[ei.type]&&this._gsEventHandler[ei.type](ei,Fi)}}_leave(ti,ei){let ni=ti.gridstackNode;!ni||(ei=ei||ti,ei.style.transform="scale(1)",as.off(ti,"drag"),!ni._temporaryRemoved&&(ni._temporaryRemoved=!0,this.engine.removeNode(ni),ni.el=ni._isExternal&&ei?ei:ti,this.opts.removable===!0&&fn._itemRemoving(ti,!0),ti._gridstackNodeOrig?(ti.gridstackNode=ti._gridstackNodeOrig,delete ti._gridstackNodeOrig):ni._isExternal&&(delete ni.el,delete ti.gridstackNode,this.engine.restoreInitial())))}commit(){return Jf(this,this.batchUpdate(!1),"commit","batchUpdate","5.2"),this}};fn.resizeToContentParent=".grid-stack-item-content";fn.Utils=xi;fn.Engine=Ts;fn.GDRev="10.2.1";function Gy(){let ii=document.getElementById("dashboard");ii&&ii.gridstack.disable()}function Qy(){let ii=document.getElementById("dashboard");ii&&ii.gridstack.enable()}function Xy(ii,ti){return $s(this,null,function*(){return yield oa(ii,{layout:ti})})}function th(){if(document.getElementById("dashboard")==null)return;let ti=fn.init({cellHeight:100,disableDrag:!0,disableResize:!0,draggable:{handle:".grid-stack-item-content .card-header",appendTo:"body",scroll:!0}}),ei=document.getElementById("lock_dashboard");ei&&ei.addEventListener("click",()=>{Gy()});let ni=document.getElementById("unlock_dashboard");ni&&ni.addEventListener("click",()=>{Qy()});let ri=document.getElementById("save_dashboard");ri!==null&&ri.addEventListener("click",()=>{let si=ri.getAttribute("data-url");if(si==null)return;let ai=ti.save(!1);Xy(si,ai).then(li=>{Mo(li)?uo("danger","Error Saving Dashboard Config",li.error).show():location.reload()})})}function ih(ii,ti){switch(ii){case"images-and-labels":{au("image.device-image",ti),au("text.device-image-label",ti);break}case"images-only":{au("image.device-image",ti),lu("text.device-image-label",ti);break}case"labels-only":{lu("image.device-image",ti),lu("text.device-image-label",ti);break}}}function au(ii,ti){var ni,ri;let ei=(ri=(ni=ti.contentDocument)==null?void 0:ni.querySelectorAll(ii))!=null?ri:[];for(let si of ei)si.classList.remove("hidden")}function lu(ii,ti){var ni,ri;let ei=(ri=(ni=ti.contentDocument)==null?void 0:ni.querySelectorAll(ii))!=null?ri:[];for(let si of ei)si.classList.add("hidden")}function Jy(ii,ti){ti.set("view",ii);for(let ei of Ki(".rack_elevation"))ih(ii,ei)}function nh(){let ii=Qc.get("view");for(let ti of Ki("select.rack-view"))ti.selectedIndex=[...ti.options].findIndex(ei=>ei.value==ii),ti.addEventListener("change",ei=>{Jy(ei.currentTarget.value,Qc)},!1);for(let ti of Ki(".rack_elevation"))ti.addEventListener("load",()=>{ih(ii,ti)})}function Zy(ii){let ti=document.getElementById("selector_results");if(ti==null)return;let ei=ti.getAttribute("data-selector-target");if(ei==null)return;let ni=document.getElementById(ei);if(ni==null)return;let ri=ii.getAttribute("data-label"),si=ii.getAttribute("data-value");ni.tomselect.addOption({id:si,display:ri}),ni.tomselect.addItem(si)}function rh(){for(let ii of Ki("#selector_results a"))ii.addEventListener("click",()=>Zy(ii))}function e_(){for(let ii of[Al,Dl,Cl,rh,El,Ol])ii()}function sh(){document.addEventListener("htmx:afterSettle",e_)}function t_(ii){let ti=ii.currentTarget,ei=ti.baseURI.split("?")[0],ni="?",ri=Array.from(ti.options).filter(si=>si.selected).map(si=>`filter_id=${si.value}`).join("&");ei+=`${ni}${ri}`,document.location.href=ei}function oh(){let ii=document.getElementById("results");if(Yn(ii)){let ti=document.getElementById("id_filter_id");Yn(ti)&&ti.addEventListener("change",t_)}}function ah(){for(let ii of[El,Pf,Ol,Vd,Ud,Cl,qf,Al,Dl,Uf,Gf,Xf,th,nh,sh,oh])ii()}function i_(){let ii=document.forms;for(let ei of ii)ei.method.toUpperCase()=="GET"&&ei.addEventListener("formdata",function(ni){let ri=ni.formData;for(let[si,ai]of Array.from(ri.entries()))ai===""&&ri.delete(si)});let ti=document.querySelector(".content-container");ti!==null&&ti.focus()}window.addEventListener("load",i_);document.readyState!=="loading"?ah():document.addEventListener("DOMContentLoaded",ah);})();
+Note: ".grid-stack" is required for proper CSS styling and drag/drop, and is the default selector.`)),ni}static addGrid(ti,ei={}){if(!ti)return null;let ni=ti;if(ni.gridstack){let ai=ni.gridstack;return ei&&(ai.opts=Ui(Ui({},ai.opts),ei)),ei.children!==void 0&&ai.load(ei.children),ai}if(!ti.classList.contains("grid-stack")||fn.addRemoveCB)if(fn.addRemoveCB)ni=fn.addRemoveCB(ti,ei,!0,!0);else{let ai=document.implementation.createHTMLDocument("");ai.body.innerHTML=`
`,ni=ai.body.children[0],ti.appendChild(ni)}return fn.init(ei,ni)}static registerEngine(ti){fn.engineClass=ti}get placeholder(){if(!this._placeholder){let ti=document.createElement("div");ti.className="placeholder-content",this.opts.placeholderText&&(ti.innerHTML=this.opts.placeholderText),this._placeholder=document.createElement("div"),this._placeholder.classList.add(this.opts.placeholderClass,hs.itemClass,this.opts.itemClass),this.placeholder.appendChild(ti)}return this._placeholder}constructor(ti,ei={}){var _i,Ei,Ai,ki;this.el=ti,this.opts=ei,this._gsEventHandler={},this._extraDragRow=0,this.dragTransform={xScale:1,yScale:1,xOffset:0,yOffset:0},ti.gridstack=this,ei=ei||{},ti.classList.contains("grid-stack")||this.el.classList.add("grid-stack"),ei.row&&(ei.minRow=ei.maxRow=ei.row,delete ei.row);let ni=xi.toNumber(ti.getAttribute("gs-row"));ei.column==="auto"&&delete ei.column,ei.alwaysShowResizeHandle!==void 0&&(ei._alwaysShowResizeHandle=ei.alwaysShowResizeHandle);let ri=(_i=ei.columnOpts)==null?void 0:_i.breakpoints,si=ei;if(si.oneColumnModeDomSort&&(delete si.oneColumnModeDomSort,console.log("warning: Gridstack oneColumnModeDomSort no longer supported. Use GridStackOptions.columnOpts instead.")),si.oneColumnSize||si.disableOneColumnMode===!1){let Ti=si.oneColumnSize||768;delete si.oneColumnSize,delete si.disableOneColumnMode,ei.columnOpts=ei.columnOpts||{},ri=ei.columnOpts.breakpoints=ei.columnOpts.breakpoints||[];let Fi=ri.find(en=>en.c===1);Fi?Fi.w=Ti:(Fi={c:1,w:Ti},ri.push(Fi,{c:12,w:Ti+1}))}let ai=ei.columnOpts;ai&&(!ai.columnWidth&&!((Ei=ai.breakpoints)==null?void 0:Ei.length)?(delete ei.columnOpts,ri=void 0):ai.columnMax=ai.columnMax||12),(ri==null?void 0:ri.length)>1&&ri.sort((Ti,Fi)=>(Fi.w||0)-(Ti.w||0));let li=Fn(Ui({},xi.cloneDeep(hs)),{column:xi.toNumber(ti.getAttribute("gs-column"))||hs.column,minRow:ni||xi.toNumber(ti.getAttribute("gs-min-row"))||hs.minRow,maxRow:ni||xi.toNumber(ti.getAttribute("gs-max-row"))||hs.maxRow,staticGrid:xi.toBool(ti.getAttribute("gs-static"))||hs.staticGrid,draggable:{handle:(ei.handleClass?"."+ei.handleClass:ei.handle?ei.handle:"")||hs.draggable.handle},removableOptions:{accept:ei.itemClass||hs.removableOptions.accept,decline:hs.removableOptions.decline}});ti.getAttribute("gs-animate")&&(li.animate=xi.toBool(ti.getAttribute("gs-animate"))),ei=xi.defaults(ei,li),this._initMargin(),this.checkDynamicColumn(),this.el.classList.add("gs-"+ei.column),ei.rtl==="auto"&&(ei.rtl=ti.style.direction==="rtl"),ei.rtl&&this.el.classList.add("grid-stack-rtl");let di=(Ai=this.el.parentElement)==null?void 0:Ai.parentElement,vi=(di==null?void 0:di.classList.contains(hs.itemClass))?di.gridstackNode:void 0;vi&&(vi.subGrid=this,this.parentGridItem=vi,this.el.classList.add("grid-stack-nested"),vi.el.classList.add("grid-stack-sub-grid")),this._isAutoCellHeight=ei.cellHeight==="auto",this._isAutoCellHeight||ei.cellHeight==="initial"?this.cellHeight(void 0,!1):(typeof ei.cellHeight=="number"&&ei.cellHeightUnit&&ei.cellHeightUnit!==hs.cellHeightUnit&&(ei.cellHeight=ei.cellHeight+ei.cellHeightUnit,delete ei.cellHeightUnit),this.cellHeight(ei.cellHeight,!1)),ei.alwaysShowResizeHandle==="mobile"&&(ei.alwaysShowResizeHandle=os),this._styleSheetClass="gs-id-"+Ts._idSeq++,this.el.classList.add(this._styleSheetClass),this._setStaticClass();let hi=ei.engineClass||fn.engineClass||Ts;if(this.engine=new hi({column:this.getColumn(),float:ei.float,maxRow:ei.maxRow,onChange:Ti=>{let Fi=0;this.engine.nodes.forEach(en=>{Fi=Math.max(Fi,en.y+en.h)}),Ti.forEach(en=>{let rn=en.el;!rn||(en._removeDOM?(rn&&rn.remove(),delete en._removeDOM):this._writePosAttr(rn,en))}),this._updateStyles(!1,Fi)}}),this._updateStyles(!1,0),ei.auto&&(this.batchUpdate(),this.engine._loading=!0,this.getGridItems().forEach(Ti=>this._prepareElement(Ti)),delete this.engine._loading,this.batchUpdate(!1)),ei.children){let Ti=ei.children;delete ei.children,Ti.length&&this.load(Ti)}this.setAnimation(),ei.subGridDynamic&&!an.pauseDrag&&(an.pauseDrag=!0),((ki=ei.draggable)==null?void 0:ki.pause)!==void 0&&(an.pauseDrag=ei.draggable.pause),this._setupRemoveDrop(),this._setupAcceptWidget(),this._updateResizeEvent()}addWidget(ti,ei){function ni(li){return li.el!==void 0||li.x!==void 0||li.y!==void 0||li.w!==void 0||li.h!==void 0||li.content!==void 0}let ri,si;if(typeof ti=="string"){let li=document.implementation.createHTMLDocument("");li.body.innerHTML=ti,ri=li.body.children[0]}else if(arguments.length===0||arguments.length===1&&ni(ti))if(si=ei=ti,si==null?void 0:si.el)ri=si.el;else if(fn.addRemoveCB)ri=fn.addRemoveCB(this.el,ei,!0,!1);else{let li=(ei==null?void 0:ei.content)||"",di=document.implementation.createHTMLDocument("");di.body.innerHTML=``,ri=di.body.children[0]}else ri=ti;if(!ri)return;if(si=ri.gridstackNode,si&&ri.parentElement===this.el&&this.engine.nodes.find(li=>li._id===si._id))return ri;let ai=this._readAttr(ri);return ei=xi.cloneDeep(ei)||{},xi.defaults(ei,ai),si=this.engine.prepareNode(ei),this._writeAttr(ri,ei),this.el.appendChild(ri),this.makeWidget(ri,ei),ri}makeSubGrid(ti,ei,ni,ri=!0){var Ai,ki,Ti;let si=ti.gridstackNode;if(si||(si=this.makeWidget(ti).gridstackNode),(Ai=si.subGrid)==null?void 0:Ai.el)return si.subGrid;let ai,li=this;for(;li&&!ai;)ai=(ki=li.opts)==null?void 0:ki.subGridOpts,li=(Ti=li.parentGridItem)==null?void 0:Ti.grid;ei=xi.cloneDeep(Ui(Fn(Ui({},ai||{}),{children:void 0}),ei||si.subGridOpts||{})),si.subGridOpts=ei;let di;ei.column==="auto"&&(di=!0,ei.column=Math.max(si.w||1,(ni==null?void 0:ni.w)||1),delete ei.columnOpts);let vi=si.el.querySelector(".grid-stack-item-content"),hi,_i;if(ri){if(this._removeDD(si.el),_i=Fn(Ui({},si),{x:0,y:0}),xi.removeInternalForSave(_i),delete _i.subGridOpts,si.content&&(_i.content=si.content,delete si.content),fn.addRemoveCB)hi=fn.addRemoveCB(this.el,_i,!0,!1);else{let Fi=document.implementation.createHTMLDocument("");Fi.body.innerHTML='
',hi=Fi.body.children[0],hi.appendChild(vi),Fi.body.innerHTML='
',vi=Fi.body.children[0],si.el.appendChild(vi)}this._prepareDragDropByNode(si)}if(ni){let Fi=di?ei.column:si.w,en=si.h+ni.h,rn=si.el.style;rn.transition="none",this.update(si.el,{w:Fi,h:en}),setTimeout(()=>rn.transition=null)}let Ei=si.subGrid=fn.addGrid(vi,ei);return(ni==null?void 0:ni._moving)&&(Ei._isTemp=!0),di&&(Ei._autoColumn=!0),ri&&Ei.addWidget(hi,_i),ni&&(ni._moving?window.setTimeout(()=>xi.simulateMouseEvent(ni._event,"mouseenter",Ei.el),0):Ei.addWidget(si.el,si)),Ei}removeAsSubGrid(ti){var ni;let ei=(ni=this.parentGridItem)==null?void 0:ni.grid;!ei||(ei.batchUpdate(),ei.removeWidget(this.parentGridItem.el,!0,!0),this.engine.nodes.forEach(ri=>{ri.x+=this.parentGridItem.x,ri.y+=this.parentGridItem.y,ei.addWidget(ri.el,ri)}),ei.batchUpdate(!1),this.parentGridItem&&delete this.parentGridItem.subGrid,delete this.parentGridItem,ti&&window.setTimeout(()=>xi.simulateMouseEvent(ti._event,"mouseenter",ei.el),0))}save(ti=!0,ei=!1,ni=fn.saveCB){let ri=this.engine.save(ti,ni);if(ri.forEach(si=>{var ai;if(ti&&si.el&&!si.subGrid&&!ni){let li=si.el.querySelector(".grid-stack-item-content");si.content=li?li.innerHTML:void 0,si.content||delete si.content}else if(!ti&&!ni&&delete si.content,(ai=si.subGrid)==null?void 0:ai.el){let li=si.subGrid.save(ti,ei,ni);si.subGridOpts=ei?li:{children:li},delete si.subGrid}delete si.el}),ei){let si=xi.cloneDeep(this.opts);si.marginBottom===si.marginTop&&si.marginRight===si.marginLeft&&si.marginTop===si.marginRight&&(si.margin=si.marginTop,delete si.marginTop,delete si.marginRight,delete si.marginBottom,delete si.marginLeft),si.rtl===(this.el.style.direction==="rtl")&&(si.rtl="auto"),this._isAutoCellHeight&&(si.cellHeight="auto"),this._autoColumn&&(si.column="auto");let ai=si._alwaysShowResizeHandle;return delete si._alwaysShowResizeHandle,ai!==void 0?si.alwaysShowResizeHandle=ai:delete si.alwaysShowResizeHandle,xi.removeInternalAndSame(si,hs),si.children=ri,si}return ri}load(ti,ei=fn.addRemoveCB||!0){var vi;ti=xi.cloneDeep(ti);let ni=this.getColumn();ti.forEach(hi=>{hi.w=hi.w||1,hi.h=hi.h||1}),ti=xi.sort(ti);let ri=0;ti.forEach(hi=>{ri=Math.max(ri,(hi.x||0)+hi.w)}),ri>ni&&(this._ignoreLayoutsNodeChange=!0,this.engine.cacheLayout(ti,ri,!0));let si=fn.addRemoveCB;typeof ei=="function"&&(fn.addRemoveCB=ei);let ai=[];this.batchUpdate();let li=!this.engine.nodes.length;li&&this.setAnimation(!1),!li&&ei&&[...this.engine.nodes].forEach(_i=>{if(!_i.id)return;xi.find(ti,_i.id)||(fn.addRemoveCB&&fn.addRemoveCB(this.el,_i,!1,!1),ai.push(_i),this.removeWidget(_i.el,!0,!1))}),this.engine._loading=!0;let di=[];return this.engine.nodes=this.engine.nodes.filter(hi=>xi.find(ti,hi.id)?(di.push(hi),!1):!0),ti.forEach(hi=>{var Ei;let _i=xi.find(di,hi.id);if(_i){if(xi.shouldSizeToContent(_i)&&(hi.h=_i.h),this.engine.nodeBoundFix(hi),(hi.autoPosition||hi.x===void 0||hi.y===void 0)&&(hi.w=hi.w||_i.w,hi.h=hi.h||_i.h,this.engine.findEmptyPosition(hi)),this.engine.nodes.push(_i),xi.samePos(_i,hi)&&this.moveNode(_i,Fn(Ui({},hi),{forceCollide:!0})),this.update(_i.el,hi),(Ei=hi.subGridOpts)==null?void 0:Ei.children){let Ai=_i.el.querySelector(".grid-stack");Ai&&Ai.gridstack&&Ai.gridstack.load(hi.subGridOpts.children)}}else ei&&this.addWidget(hi)}),delete this.engine._loading,this.engine.removedNodes=ai,this.batchUpdate(!1),delete this._ignoreLayoutsNodeChange,si?fn.addRemoveCB=si:delete fn.addRemoveCB,li&&((vi=this.opts)==null?void 0:vi.animate)&&this.setAnimation(this.opts.animate,!0),this}batchUpdate(ti=!0){return this.engine.batchUpdate(ti),ti||(this._updateContainerHeight(),this._triggerRemoveEvent(),this._triggerAddEvent(),this._triggerChangeEvent()),this}getCellHeight(ti=!1){if(this.opts.cellHeight&&this.opts.cellHeight!=="auto"&&(!ti||!this.opts.cellHeightUnit||this.opts.cellHeightUnit==="px"))return this.opts.cellHeight;if(this.opts.cellHeightUnit==="rem")return this.opts.cellHeight*parseFloat(getComputedStyle(document.documentElement).fontSize);if(this.opts.cellHeightUnit==="em")return this.opts.cellHeight*parseFloat(getComputedStyle(this.el).fontSize);if(this.opts.cellHeightUnit==="cm")return this.opts.cellHeight*(96/2.54);if(this.opts.cellHeightUnit==="mm")return this.opts.cellHeight*(96/2.54)/10;let ei=this.el.querySelector("."+this.opts.itemClass);if(ei){let ri=xi.toNumber(ei.getAttribute("gs-h"))||1;return Math.round(ei.offsetHeight/ri)}let ni=parseInt(this.el.getAttribute("gs-current-row"));return ni?Math.round(this.el.getBoundingClientRect().height/ni):this.opts.cellHeight}cellHeight(ti,ei=!0){if(ei&&ti!==void 0&&this._isAutoCellHeight!==(ti==="auto")&&(this._isAutoCellHeight=ti==="auto",this._updateResizeEvent()),(ti==="initial"||ti==="auto")&&(ti=void 0),ti===void 0){let ri=-this.opts.marginRight-this.opts.marginLeft+this.opts.marginTop+this.opts.marginBottom;ti=this.cellWidth()+ri}let ni=xi.parseHeight(ti);return this.opts.cellHeightUnit===ni.unit&&this.opts.cellHeight===ni.h?this:(this.opts.cellHeightUnit=ni.unit,this.opts.cellHeight=ni.h,this.resizeToContentCheck(),ei&&this._updateStyles(!0),this)}cellWidth(){return this._widthOrContainer()/this.getColumn()}_widthOrContainer(ti=!1){var ei;return ti&&((ei=this.opts.columnOpts)==null?void 0:ei.breakpointForWindow)?window.innerWidth:this.el.clientWidth||this.el.parentElement.clientWidth||window.innerWidth}checkDynamicColumn(){var si,ai;let ti=this.opts.columnOpts;if(!ti||!ti.columnWidth&&!((si=ti.breakpoints)==null?void 0:si.length))return!1;let ei=this.getColumn(),ni=ei,ri=this._widthOrContainer(!0);if(ti.columnWidth)ni=Math.min(Math.round(ri/ti.columnWidth)||1,ti.columnMax);else{ni=ti.columnMax;let li=0;for(;lidi.c===ni);return this.column(ni,(li==null?void 0:li.layout)||ti.layout),!0}return!1}compact(ti="compact",ei=!0){return this.engine.compact(ti,ei),this._triggerChangeEvent(),this}column(ti,ei="moveScale"){if(!ti||ti<1||this.opts.column===ti)return this;let ni=this.getColumn();return this.opts.column=ti,this.engine?(this.engine.column=ti,this.el.classList.remove("gs-"+ni),this.el.classList.add("gs-"+ti),this.engine.columnChanged(ni,ti,ei),this._isAutoCellHeight&&this.cellHeight(),this.resizeToContentCheck(!0),this._ignoreLayoutsNodeChange=!0,this._triggerChangeEvent(),delete this._ignoreLayoutsNodeChange,this):this}getColumn(){return this.opts.column}getGridItems(){return Array.from(this.el.children).filter(ti=>ti.matches("."+this.opts.itemClass)&&!ti.matches("."+this.opts.placeholderClass))}destroy(ti=!0){if(!!this.el)return this.offAll(),this._updateResizeEvent(!0),this.setStatic(!0,!1),this.setAnimation(!1),ti?this.el.parentNode.removeChild(this.el):(this.removeAll(ti),this.el.classList.remove(this._styleSheetClass),this.el.removeAttribute("gs-current-row")),this._removeStylesheet(),this.parentGridItem&&delete this.parentGridItem.subGrid,delete this.parentGridItem,delete this.opts,delete this._placeholder,delete this.engine,delete this.el.gridstack,delete this.el,this}float(ti){return this.opts.float!==ti&&(this.opts.float=this.engine.float=ti,this._triggerChangeEvent()),this}getFloat(){return this.engine.float}getCellFromPixel(ti,ei=!1){let ni=this.el.getBoundingClientRect(),ri;ei?ri={top:ni.top+document.documentElement.scrollTop,left:ni.left}:ri={top:this.el.offsetTop,left:this.el.offsetLeft};let si=ti.left-ri.left,ai=ti.top-ri.top,li=ni.width/this.getColumn(),di=ni.height/parseInt(this.el.getAttribute("gs-current-row"));return{x:Math.floor(si/li),y:Math.floor(ai/di)}}getRow(){return Math.max(this.engine.getRow(),this.opts.minRow)}isAreaEmpty(ti,ei,ni,ri){return this.engine.isAreaEmpty(ti,ei,ni,ri)}makeWidget(ti,ei){let ni=fn.getElement(ti);this._prepareElement(ni,!0,ei);let ri=ni.gridstackNode;return this._updateContainerHeight(),ri.subGridOpts&&this.makeSubGrid(ni,ri.subGridOpts,void 0,!1),this.opts.column===1&&(this._ignoreLayoutsNodeChange=!0),this._triggerAddEvent(),this._triggerChangeEvent(),delete this._ignoreLayoutsNodeChange,ni}on(ti,ei){return ti.indexOf(" ")!==-1?(ti.split(" ").forEach(ri=>this.on(ri,ei)),this):(ti==="change"||ti==="added"||ti==="removed"||ti==="enable"||ti==="disable"?(ti==="enable"||ti==="disable"?this._gsEventHandler[ti]=ri=>ei(ri):this._gsEventHandler[ti]=ri=>ei(ri,ri.detail),this.el.addEventListener(ti,this._gsEventHandler[ti])):ti==="drag"||ti==="dragstart"||ti==="dragstop"||ti==="resizestart"||ti==="resize"||ti==="resizestop"||ti==="dropped"||ti==="resizecontent"?this._gsEventHandler[ti]=ei:console.error("GridStack.on("+ti+") event not supported"),this)}off(ti){return ti.indexOf(" ")!==-1?(ti.split(" ").forEach(ni=>this.off(ni)),this):((ti==="change"||ti==="added"||ti==="removed"||ti==="enable"||ti==="disable")&&this._gsEventHandler[ti]&&this.el.removeEventListener(ti,this._gsEventHandler[ti]),delete this._gsEventHandler[ti],this)}offAll(){return Object.keys(this._gsEventHandler).forEach(ti=>this.off(ti)),this}removeWidget(ti,ei=!0,ni=!0){return fn.getElements(ti).forEach(ri=>{if(ri.parentElement&&ri.parentElement!==this.el)return;let si=ri.gridstackNode;si||(si=this.engine.nodes.find(ai=>ri===ai.el)),!!si&&(ei&&fn.addRemoveCB&&fn.addRemoveCB(this.el,si,!1,!1),delete ri.gridstackNode,this._removeDD(ri),this.engine.removeNode(si,ei,ni),ei&&ri.parentElement&&ri.remove())}),ni&&(this._triggerRemoveEvent(),this._triggerChangeEvent()),this}removeAll(ti=!0,ei=!0){return this.engine.nodes.forEach(ni=>{ti&&fn.addRemoveCB&&fn.addRemoveCB(this.el,ni,!1,!1),delete ni.el.gridstackNode,this.opts.staticGrid||this._removeDD(ni.el)}),this.engine.removeAll(ti,ei),ei&&this._triggerRemoveEvent(),this}setAnimation(ti=this.opts.animate,ei){return ei?setTimeout(()=>{this.opts&&this.setAnimation(ti)}):ti?this.el.classList.add("grid-stack-animate"):this.el.classList.remove("grid-stack-animate"),this}hasAnimationCSS(){return this.el.classList.contains("grid-stack-animate")}setStatic(ti,ei=!0,ni=!0){return!!this.opts.staticGrid===ti?this:(ti?this.opts.staticGrid=!0:delete this.opts.staticGrid,this._setupRemoveDrop(),this._setupAcceptWidget(),this.engine.nodes.forEach(ri=>{this._prepareDragDropByNode(ri),ri.subGrid&&ni&&ri.subGrid.setStatic(ti,ei,ni)}),ei&&this._setStaticClass(),this)}update(ti,ei){if(arguments.length>2){console.warn("gridstack.ts: `update(el, x, y, w, h)` is deprecated. Use `update(el, {x, w, content, ...})`. It will be removed soon");let ni=arguments,ri=1;return ei={x:ni[ri++],y:ni[ri++],w:ni[ri++],h:ni[ri++]},this.update(ti,ei)}return fn.getElements(ti).forEach(ni=>{var hi;let ri=ni==null?void 0:ni.gridstackNode;if(!ri)return;let si=xi.cloneDeep(ei);this.engine.nodeBoundFix(si),delete si.autoPosition,delete si.id;let ai=["x","y","w","h"],li;if(ai.some(_i=>si[_i]!==void 0&&si[_i]!==ri[_i])&&(li={},ai.forEach(_i=>{li[_i]=si[_i]!==void 0?si[_i]:ri[_i],delete si[_i]})),!li&&(si.minW||si.minH||si.maxW||si.maxH)&&(li={}),si.content!==void 0){let _i=ni.querySelector(".grid-stack-item-content");_i&&_i.innerHTML!==si.content&&(_i.innerHTML=si.content,((hi=ri.subGrid)==null?void 0:hi.el)&&(_i.appendChild(ri.subGrid.el),ri.subGrid.opts.styleInHead||ri.subGrid._updateStyles(!0))),delete si.content}let di=!1,vi=!1;for(let _i in si)_i[0]!=="_"&&ri[_i]!==si[_i]&&(ri[_i]=si[_i],di=!0,vi=vi||!this.opts.staticGrid&&(_i==="noResize"||_i==="noMove"||_i==="locked"));if(xi.sanitizeMinMax(ri),li){let _i=li.w!==void 0&&li.w!==ri.w;this.moveNode(ri,li),this.resizeToContentCheck(_i,ri),delete ri._orig}(li||di)&&this._writeAttr(ni,ri),vi&&this._prepareDragDropByNode(ri)}),this}moveNode(ti,ei){let ni=ti._updating;ni||this.engine.cleanNodes().beginUpdate(ti),this.engine.moveNode(ti,ei),this._updateContainerHeight(),ni||(this._triggerChangeEvent(),this.engine.endUpdate())}resizeToContent(ti){if(!ti||(ti.classList.remove("size-to-content-max"),!ti.clientHeight))return;let ei=ti.gridstackNode;if(!ei)return;let ni=ei.grid;if(!ni||ti.parentElement!==ni.el)return;let ri=ni.getCellHeight(!0);if(!ri)return;let si=ei.h?ei.h*ri:ti.clientHeight,ai;if(ei.resizeToContentParent&&(ai=ti.querySelector(ei.resizeToContentParent)),ai||(ai=ti.querySelector(fn.resizeToContentParent)),!ai)return;let li=ti.clientHeight-ai.clientHeight,di=ei.h?ei.h*ri-li:ai.clientHeight,vi;if(ei.subGrid)vi=ei.subGrid.getRow()*ei.subGrid.getCellHeight(!0);else{let Ei=ai.firstElementChild;if(!Ei){console.error(`Error: GridStack.resizeToContent() widget id:${ei.id} '${fn.resizeToContentParent}'.firstElementChild is null, make sure to have a div like container. Skipping sizing.`);return}vi=Ei.getBoundingClientRect().height||di}if(di===vi)return;si+=vi-di;let hi=Math.ceil(si/ri),_i=Number.isInteger(ei.sizeToContent)?ei.sizeToContent:0;_i&&hi>_i&&(hi=_i,ti.classList.add("size-to-content-max")),ei.minH&&hiei.maxH&&(hi=ei.maxH),hi!==ei.h&&(ni._ignoreLayoutsNodeChange=!0,ni.moveNode(ei,{h:hi}),delete ni._ignoreLayoutsNodeChange)}resizeToContentCBCheck(ti){fn.resizeToContentCB?fn.resizeToContentCB(ti):this.resizeToContent(ti)}rotate(ti,ei){return fn.getElements(ti).forEach(ni=>{let ri=ni.gridstackNode;if(!xi.canBeRotated(ri))return;let si={w:ri.h,h:ri.w,minH:ri.minW,minW:ri.minH,maxH:ri.maxW,maxW:ri.maxH};if(ei){let ai=ei.left>0?Math.floor(ei.left/this.cellWidth()):0,li=ei.top>0?Math.floor(ei.top/this.opts.cellHeight):0;si.x=ri.x+ai-(ri.h-(li+1)),si.y=ri.y+li-ai}this.update(ni,si)}),this}margin(ti){if(!(typeof ti=="string"&&ti.split(" ").length>1)){let ni=xi.parseHeight(ti);if(this.opts.marginUnit===ni.unit&&this.opts.margin===ni.h)return}return this.opts.margin=ti,this.opts.marginTop=this.opts.marginBottom=this.opts.marginLeft=this.opts.marginRight=void 0,this._initMargin(),this._updateStyles(!0),this}getMargin(){return this.opts.margin}willItFit(ti){if(arguments.length>1){console.warn("gridstack.ts: `willItFit(x,y,w,h,autoPosition)` is deprecated. Use `willItFit({x, y,...})`. It will be removed soon");let ei=arguments,ni=0,ri={x:ei[ni++],y:ei[ni++],w:ei[ni++],h:ei[ni++],autoPosition:ei[ni++]};return this.willItFit(ri)}return this.engine.willItFit(ti)}_triggerChangeEvent(){if(this.engine.batchMode)return this;let ti=this.engine.getDirtyNodes(!0);return ti&&ti.length&&(this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(ti),this._triggerEvent("change",ti)),this.engine.saveInitial(),this}_triggerAddEvent(){var ti;if(this.engine.batchMode)return this;if((ti=this.engine.addedNodes)==null?void 0:ti.length){this._ignoreLayoutsNodeChange||this.engine.layoutsNodesChange(this.engine.addedNodes),this.engine.addedNodes.forEach(ni=>{delete ni._dirty});let ei=[...this.engine.addedNodes];this.engine.addedNodes=[],this._triggerEvent("added",ei)}return this}_triggerRemoveEvent(){var ti;if(this.engine.batchMode)return this;if((ti=this.engine.removedNodes)==null?void 0:ti.length){let ei=[...this.engine.removedNodes];this.engine.removedNodes=[],this._triggerEvent("removed",ei)}return this}_triggerEvent(ti,ei){let ni=ei?new CustomEvent(ti,{bubbles:!1,detail:ei}):new Event(ti);return this.el.dispatchEvent(ni),this}_removeStylesheet(){if(this._styles){let ti=this.opts.styleInHead?void 0:this.el.parentNode;xi.removeStylesheet(this._styleSheetClass,ti),delete this._styles}return this}_updateStyles(ti=!1,ei){if(ti&&this._removeStylesheet(),ei===void 0&&(ei=this.getRow()),this._updateContainerHeight(),this.opts.cellHeight===0)return this;let ni=this.opts.cellHeight,ri=this.opts.cellHeightUnit,si=`.${this._styleSheetClass} > .${this.opts.itemClass}`;if(!this._styles){let ai=this.opts.styleInHead?void 0:this.el.parentNode;if(this._styles=xi.createStylesheet(this._styleSheetClass,ai,{nonce:this.opts.nonce}),!this._styles)return this;this._styles._max=0,xi.addCSSRule(this._styles,si,`height: ${ni}${ri}`);let li=this.opts.marginTop+this.opts.marginUnit,di=this.opts.marginBottom+this.opts.marginUnit,vi=this.opts.marginRight+this.opts.marginUnit,hi=this.opts.marginLeft+this.opts.marginUnit,_i=`${si} > .grid-stack-item-content`,Ei=`.${this._styleSheetClass} > .grid-stack-placeholder > .placeholder-content`;xi.addCSSRule(this._styles,_i,`top: ${li}; right: ${vi}; bottom: ${di}; left: ${hi};`),xi.addCSSRule(this._styles,Ei,`top: ${li}; right: ${vi}; bottom: ${di}; left: ${hi};`),xi.addCSSRule(this._styles,`${si} > .ui-resizable-n`,`top: ${li};`),xi.addCSSRule(this._styles,`${si} > .ui-resizable-s`,`bottom: ${di}`),xi.addCSSRule(this._styles,`${si} > .ui-resizable-ne`,`right: ${vi}`),xi.addCSSRule(this._styles,`${si} > .ui-resizable-e`,`right: ${vi}`),xi.addCSSRule(this._styles,`${si} > .ui-resizable-se`,`right: ${vi}; bottom: ${di}`),xi.addCSSRule(this._styles,`${si} > .ui-resizable-nw`,`left: ${hi}`),xi.addCSSRule(this._styles,`${si} > .ui-resizable-w`,`left: ${hi}`),xi.addCSSRule(this._styles,`${si} > .ui-resizable-sw`,`left: ${hi}; bottom: ${di}`)}if(ei=ei||this._styles._max,ei>this._styles._max){let ai=li=>ni*li+ri;for(let li=this._styles._max+1;li<=ei;li++)xi.addCSSRule(this._styles,`${si}[gs-y="${li}"]`,`top: ${ai(li)}`),xi.addCSSRule(this._styles,`${si}[gs-h="${li+1}"]`,`height: ${ai(li+1)}`);this._styles._max=ei}return this}_updateContainerHeight(){if(!this.engine||this.engine.batchMode)return this;let ti=this.parentGridItem,ei=this.getRow()+this._extraDragRow,ni=this.opts.cellHeight,ri=this.opts.cellHeightUnit;if(!ni)return this;if(!ti){let si=xi.parseHeight(getComputedStyle(this.el).minHeight);if(si.h>0&&si.unit===ri){let ai=Math.floor(si.h/ni);ei1?ti.setAttribute("gs-w",String(ei.w)):ti.removeAttribute("gs-w"),ei.h>1?ti.setAttribute("gs-h",String(ei.h)):ti.removeAttribute("gs-h"),this}_writeAttr(ti,ei){if(!ei)return this;this._writePosAttr(ti,ei);let ni={autoPosition:"gs-auto-position",noResize:"gs-no-resize",noMove:"gs-no-move",locked:"gs-locked",id:"gs-id"};for(let ri in ni)ei[ri]?ti.setAttribute(ni[ri],String(ei[ri])):ti.removeAttribute(ni[ri]);return this}_readAttr(ti,ei=!0){let ni={};ni.x=xi.toNumber(ti.getAttribute("gs-x")),ni.y=xi.toNumber(ti.getAttribute("gs-y")),ni.w=xi.toNumber(ti.getAttribute("gs-w")),ni.h=xi.toNumber(ti.getAttribute("gs-h")),ni.autoPosition=xi.toBool(ti.getAttribute("gs-auto-position")),ni.noResize=xi.toBool(ti.getAttribute("gs-no-resize")),ni.noMove=xi.toBool(ti.getAttribute("gs-no-move")),ni.locked=xi.toBool(ti.getAttribute("gs-locked")),ni.id=ti.getAttribute("gs-id"),ni.maxW=xi.toNumber(ti.getAttribute("gs-max-w")),ni.minW=xi.toNumber(ti.getAttribute("gs-min-w")),ni.maxH=xi.toNumber(ti.getAttribute("gs-max-h")),ni.minH=xi.toNumber(ti.getAttribute("gs-min-h")),ei&&(ni.w===1&&ti.removeAttribute("gs-w"),ni.h===1&&ti.removeAttribute("gs-h"),ni.maxW&&ti.removeAttribute("gs-max-w"),ni.minW&&ti.removeAttribute("gs-min-w"),ni.maxH&&ti.removeAttribute("gs-max-h"),ni.minH&&ti.removeAttribute("gs-min-h"));for(let ri in ni){if(!ni.hasOwnProperty(ri))return;!ni[ri]&&ni[ri]!==0&&delete ni[ri]}return ni}_setStaticClass(){let ti=["grid-stack-static"];return this.opts.staticGrid?(this.el.classList.add(...ti),this.el.setAttribute("gs-static","true")):(this.el.classList.remove(...ti),this.el.removeAttribute("gs-static")),this}onResize(){var ei;if(!((ei=this.el)==null?void 0:ei.clientWidth)||this.prevWidth===this.el.clientWidth)return;this.prevWidth=this.el.clientWidth,this.batchUpdate();let ti=!1;return this._autoColumn&&this.parentGridItem?this.opts.column!==this.parentGridItem.w&&(this.column(this.parentGridItem.w,"none"),ti=!0):ti=this.checkDynamicColumn(),this._isAutoCellHeight&&this.cellHeight(),this.engine.nodes.forEach(ni=>{ni.subGrid&&ni.subGrid.onResize()}),this._skipInitialResize||this.resizeToContentCheck(ti),delete this._skipInitialResize,this.batchUpdate(!1),this}resizeToContentCheck(ti=!1,ei=void 0){if(!!this.engine){if(ti&&this.hasAnimationCSS())return setTimeout(()=>this.resizeToContentCheck(!1,ei),300+10);if(ei)xi.shouldSizeToContent(ei)&&this.resizeToContentCBCheck(ei.el);else if(this.engine.nodes.some(ni=>xi.shouldSizeToContent(ni))){let ni=[...this.engine.nodes];this.batchUpdate(),ni.forEach(ri=>{xi.shouldSizeToContent(ri)&&this.resizeToContentCBCheck(ri.el)}),this.batchUpdate(!1)}this._gsEventHandler.resizecontent&&this._gsEventHandler.resizecontent(null,ei?[ei]:this.engine.nodes)}}_updateResizeEvent(ti=!1){let ei=!this.parentGridItem&&(this._isAutoCellHeight||this.opts.sizeToContent||this.opts.columnOpts||this.engine.nodes.find(ni=>ni.sizeToContent));return!ti&&ei&&!this.resizeObserver?(this._sizeThrottle=xi.throttle(()=>this.onResize(),this.opts.cellHeightThrottle),this.resizeObserver=new ResizeObserver(()=>this._sizeThrottle()),this.resizeObserver.observe(this.el),this._skipInitialResize=!0):(ti||!ei)&&this.resizeObserver&&(this.resizeObserver.disconnect(),delete this.resizeObserver,delete this._sizeThrottle),this}static getElement(ti=".grid-stack-item"){return xi.getElement(ti)}static getElements(ti=".grid-stack-item"){return xi.getElements(ti)}static getGridElement(ti){return fn.getElement(ti)}static getGridElements(ti){return xi.getElements(ti)}_initMargin(){let ti,ei=0,ni=[];return typeof this.opts.margin=="string"&&(ni=this.opts.margin.split(" ")),ni.length===2?(this.opts.marginTop=this.opts.marginBottom=ni[0],this.opts.marginLeft=this.opts.marginRight=ni[1]):ni.length===4?(this.opts.marginTop=ni[0],this.opts.marginRight=ni[1],this.opts.marginBottom=ni[2],this.opts.marginLeft=ni[3]):(ti=xi.parseHeight(this.opts.margin),this.opts.marginUnit=ti.unit,ei=this.opts.margin=ti.h),this.opts.marginTop===void 0?this.opts.marginTop=ei:(ti=xi.parseHeight(this.opts.marginTop),this.opts.marginTop=ti.h,delete this.opts.margin),this.opts.marginBottom===void 0?this.opts.marginBottom=ei:(ti=xi.parseHeight(this.opts.marginBottom),this.opts.marginBottom=ti.h,delete this.opts.margin),this.opts.marginRight===void 0?this.opts.marginRight=ei:(ti=xi.parseHeight(this.opts.marginRight),this.opts.marginRight=ti.h,delete this.opts.margin),this.opts.marginLeft===void 0?this.opts.marginLeft=ei:(ti=xi.parseHeight(this.opts.marginLeft),this.opts.marginLeft=ti.h,delete this.opts.margin),this.opts.marginUnit=ti.unit,this.opts.marginTop===this.opts.marginBottom&&this.opts.marginLeft===this.opts.marginRight&&this.opts.marginTop===this.opts.marginRight&&(this.opts.margin=this.opts.marginTop),this}static getDD(){return as}static setupDragIn(ti,ei,ni=document){(ei==null?void 0:ei.pause)!==void 0&&(an.pauseDrag=ei.pause),ei=Ui(Ui({},Zf),ei||{});let ri=typeof ti=="string"?xi.getElements(ti,ni):ti;ri.length&&(ri==null||ri.forEach(si=>{as.isDraggable(si)||as.dragIn(si,ei)}))}movable(ti,ei){return this.opts.staticGrid?this:(fn.getElements(ti).forEach(ni=>{let ri=ni.gridstackNode;!ri||(ei?delete ri.noMove:ri.noMove=!0,this._prepareDragDropByNode(ri))}),this)}resizable(ti,ei){return this.opts.staticGrid?this:(fn.getElements(ti).forEach(ni=>{let ri=ni.gridstackNode;!ri||(ei?delete ri.noResize:ri.noResize=!0,this._prepareDragDropByNode(ri))}),this)}disable(ti=!0){if(!this.opts.staticGrid)return this.enableMove(!1,ti),this.enableResize(!1,ti),this._triggerEvent("disable"),this}enable(ti=!0){if(!this.opts.staticGrid)return this.enableMove(!0,ti),this.enableResize(!0,ti),this._triggerEvent("enable"),this}enableMove(ti,ei=!0){return this.opts.staticGrid?this:(ti?delete this.opts.disableDrag:this.opts.disableDrag=!0,this.engine.nodes.forEach(ni=>{this._prepareDragDropByNode(ni),ni.subGrid&&ei&&ni.subGrid.enableMove(ti,ei)}),this)}enableResize(ti,ei=!0){return this.opts.staticGrid?this:(ti?delete this.opts.disableResize:this.opts.disableResize=!0,this.engine.nodes.forEach(ni=>{this._prepareDragDropByNode(ni),ni.subGrid&&ei&&ni.subGrid.enableResize(ti,ei)}),this)}_removeDD(ti){return as.draggable(ti,"destroy").resizable(ti,"destroy"),ti.gridstackNode&&delete ti.gridstackNode._initDD,delete ti.ddElement,this}_setupAcceptWidget(){if(this.opts.staticGrid||!this.opts.acceptWidgets&&!this.opts.removable)return as.droppable(this.el,"destroy"),this;let ti,ei,ni=(ri,si,ai)=>{var Ei;let li=si.gridstackNode;if(!li)return;if(ai=ai||si,!((Ei=li.grid)==null?void 0:Ei.el)){ai.style.transform=`scale(${1/this.dragTransform.xScale},${1/this.dragTransform.yScale})`;let Ai=ai.getBoundingClientRect();ai.style.left=Ai.x+(this.dragTransform.xScale-1)*(ri.clientX-Ai.x)/this.dragTransform.xScale+"px",ai.style.top=Ai.y+(this.dragTransform.yScale-1)*(ri.clientY-Ai.y)/this.dragTransform.yScale+"px",ai.style.transformOrigin="0px 0px"}let di=this.el.getBoundingClientRect(),{top:vi,left:hi}=ai.getBoundingClientRect();hi-=di.left,vi-=di.top;let _i={position:{top:vi*this.dragTransform.xScale,left:hi*this.dragTransform.yScale}};if(li._temporaryRemoved){if(li.x=Math.max(0,Math.round(hi/ei)),li.y=Math.max(0,Math.round(vi/ti)),delete li.autoPosition,this.engine.nodeBoundFix(li),!this.engine.willItFit(li)){if(li.autoPosition=!0,!this.engine.willItFit(li)){as.off(si,"drag");return}li._willFitPos&&(xi.copyPos(li,li._willFitPos),delete li._willFitPos)}this._onStartMoving(ai,ri,_i,li,ei,ti)}else this._dragOrResize(ai,ri,_i,li,ei,ti)};return as.droppable(this.el,{accept:ri=>{let si=ri.gridstackNode||this._readAttr(ri,!1);if((si==null?void 0:si.grid)===this)return!0;if(!this.opts.acceptWidgets)return!1;let ai=!0;if(typeof this.opts.acceptWidgets=="function")ai=this.opts.acceptWidgets(ri);else{let li=this.opts.acceptWidgets===!0?".grid-stack-item":this.opts.acceptWidgets;ai=ri.matches(li)}if(ai&&si&&this.opts.maxRow){let li={w:si.w,h:si.h,minW:si.minW,minH:si.minH};ai=this.engine.willItFit(li)}return ai}}).on(this.el,"dropover",(ri,si,ai)=>{let li=si.gridstackNode;if((li==null?void 0:li.grid)===this&&!li._temporaryRemoved)return!1;(li==null?void 0:li.grid)&&li.grid!==this&&!li._temporaryRemoved&&li.grid._leave(si,ai),ei=this.cellWidth(),ti=this.getCellHeight(!0),li||(li=this._readAttr(si,!1)),li.grid||(li._isExternal=!0,si.gridstackNode=li),ai=ai||si;let di=li.w||Math.round(ai.offsetWidth/ei)||1,vi=li.h||Math.round(ai.offsetHeight/ti)||1;return li.grid&&li.grid!==this?(si._gridstackNodeOrig||(si._gridstackNodeOrig=li),si.gridstackNode=li=Fn(Ui({},li),{w:di,h:vi,grid:this}),delete li.x,delete li.y,this.engine.cleanupNode(li).nodeBoundFix(li),li._initDD=li._isExternal=li._temporaryRemoved=!0):(li.w=di,li.h=vi,li._temporaryRemoved=!0),fn._itemRemoving(li.el,!1),as.on(si,"drag",ni),ni(ri,si,ai),!1}).on(this.el,"dropout",(ri,si,ai)=>{let li=si.gridstackNode;return li&&(!li.grid||li.grid===this)&&(this._leave(si,ai),this._isTemp&&this.removeAsSubGrid(li)),!1}).on(this.el,"drop",(ri,si,ai)=>{var Ei,Ai,ki;let li=si.gridstackNode;if((li==null?void 0:li.grid)===this&&!li._isExternal)return!1;let di=!!this.placeholder.parentElement;this.placeholder.remove();let vi=di&&this.opts.animate;vi&&this.setAnimation(!1);let hi=si._gridstackNodeOrig;if(delete si._gridstackNodeOrig,di&&(hi==null?void 0:hi.grid)&&hi.grid!==this){let Ti=hi.grid;Ti.engine.removeNodeFromLayoutCache(hi),Ti.engine.removedNodes.push(hi),Ti._triggerRemoveEvent()._triggerChangeEvent(),Ti.parentGridItem&&!Ti.engine.nodes.length&&Ti.opts.subGridDynamic&&Ti.removeAsSubGrid()}if(!li||(di&&(this.engine.cleanupNode(li),li.grid=this),(Ei=li.grid)==null||delete Ei._isTemp,as.off(si,"drag"),ai!==si?(ai.remove(),si.gridstackNode=hi,di&&(si=si.cloneNode(!0))):(si.remove(),this._removeDD(si)),!di))return!1;si.gridstackNode=li,li.el=si;let _i=(ki=(Ai=li.subGrid)==null?void 0:Ai.el)==null?void 0:ki.gridstack;return xi.copyPos(li,this._readAttr(this.placeholder)),xi.removePositioningStyles(si),this.el.appendChild(si),this._prepareElement(si,!0,li),_i&&(_i.parentGridItem=li,_i.opts.styleInHead||_i._updateStyles(!0)),this._updateContainerHeight(),this.engine.addedNodes.push(li),this._triggerAddEvent(),this._triggerChangeEvent(),this.engine.endUpdate(),this._gsEventHandler.dropped&&this._gsEventHandler.dropped(Fn(Ui({},ri),{type:"dropped"}),hi&&hi.grid?hi:void 0,li),vi&&this.setAnimation(this.opts.animate,!0),!1}),this}static _itemRemoving(ti,ei){let ni=ti?ti.gridstackNode:void 0;!(ni==null?void 0:ni.grid)||ti.classList.contains(ni.grid.opts.removableOptions.decline)||(ei?ni._isAboutToRemove=!0:delete ni._isAboutToRemove,ei?ti.classList.add("grid-stack-item-removing"):ti.classList.remove("grid-stack-item-removing"))}_setupRemoveDrop(){if(typeof this.opts.removable!="string")return this;let ti=document.querySelector(this.opts.removable);return ti?(!this.opts.staticGrid&&!as.isDroppable(ti)&&as.droppable(ti,this.opts.removableOptions).on(ti,"dropover",(ei,ni)=>fn._itemRemoving(ni,!0)).on(ti,"dropout",(ei,ni)=>fn._itemRemoving(ni,!1)),this):this}_prepareDragDropByNode(ti){let ei=ti.el,ni=ti.noMove||this.opts.disableDrag,ri=ti.noResize||this.opts.disableResize;if(this.opts.staticGrid||ni&&ri)return ti._initDD&&(this._removeDD(ei),delete ti._initDD),ei.classList.add("ui-draggable-disabled","ui-resizable-disabled"),this;if(!ti._initDD){let si,ai,li=(hi,_i)=>{this._gsEventHandler[hi.type]&&this._gsEventHandler[hi.type](hi,hi.target),si=this.cellWidth(),ai=this.getCellHeight(!0),this._onStartMoving(ei,hi,_i,ti,si,ai)},di=(hi,_i)=>{this._dragOrResize(ei,hi,_i,ti,si,ai)},vi=hi=>{this.placeholder.remove(),delete ti._moving,delete ti._event,delete ti._lastTried;let _i=ti.w!==ti._orig.w,Ei=hi.target;if(!(!Ei.gridstackNode||Ei.gridstackNode.grid!==this)){if(ti.el=Ei,ti._isAboutToRemove){let Ai=ei.gridstackNode.grid;Ai._gsEventHandler[hi.type]&&Ai._gsEventHandler[hi.type](hi,Ei),Ai.engine.nodes.push(ti),Ai.removeWidget(ei,!0,!0)}else xi.removePositioningStyles(Ei),ti._temporaryRemoved?(xi.copyPos(ti,ti._orig),this._writePosAttr(Ei,ti),this.engine.addNode(ti)):this._writePosAttr(Ei,ti),this._gsEventHandler[hi.type]&&this._gsEventHandler[hi.type](hi,Ei);this._extraDragRow=0,this._updateContainerHeight(),this._triggerChangeEvent(),this.engine.endUpdate(),hi.type==="resizestop"&&(Number.isInteger(ti.sizeToContent)&&(ti.sizeToContent=ti.h),this.resizeToContentCheck(_i,ti))}};as.draggable(ei,{start:li,stop:vi,drag:di}).resizable(ei,{start:li,stop:vi,resize:di}),ti._initDD=!0}return as.draggable(ei,ni?"disable":"enable").resizable(ei,ri?"disable":"enable"),this}_onStartMoving(ti,ei,ni,ri,si,ai){var li;if(this.engine.cleanNodes().beginUpdate(ri),this._writePosAttr(this.placeholder,ri),this.el.appendChild(this.placeholder),this.placeholder.gridstackNode=ri,(li=ri.grid)==null?void 0:li.el)this.dragTransform=xi.getValuesFromTransformedElement(ti);else if(this.placeholder&&this.placeholder.closest(".grid-stack")){let di=this.placeholder.closest(".grid-stack");this.dragTransform=xi.getValuesFromTransformedElement(di)}else this.dragTransform={xScale:1,xOffset:0,yScale:1,yOffset:0};if(ri.el=this.placeholder,ri._lastUiPosition=ni.position,ri._prevYPix=ni.position.top,ri._moving=ei.type==="dragstart",delete ri._lastTried,ei.type==="dropover"&&ri._temporaryRemoved&&(this.engine.addNode(ri),ri._moving=!0),this.engine.cacheRects(si,ai,this.opts.marginTop,this.opts.marginRight,this.opts.marginBottom,this.opts.marginLeft),ei.type==="resizestart"){let di=this.getColumn()-ri.x,vi=(this.opts.maxRow||Number.MAX_SAFE_INTEGER)-ri.y;as.resizable(ti,"option","minWidth",si*Math.min(ri.minW||1,di)).resizable(ti,"option","minHeight",ai*Math.min(ri.minH||1,vi)).resizable(ti,"option","maxWidth",si*Math.min(ri.maxW||Number.MAX_SAFE_INTEGER,di)).resizable(ti,"option","maxHeight",ai*Math.min(ri.maxH||Number.MAX_SAFE_INTEGER,vi))}}_dragOrResize(ti,ei,ni,ri,si,ai){let li=Ui({},ri._orig),di,vi=this.opts.marginLeft,hi=this.opts.marginRight,_i=this.opts.marginTop,Ei=this.opts.marginBottom,Ai=Math.round(ai*.1),ki=Math.round(si*.1);if(vi=Math.min(vi,ki),hi=Math.min(hi,ki),_i=Math.min(_i,Ai),Ei=Math.min(Ei,Ai),ei.type==="drag"){if(ri._temporaryRemoved)return;let Fi=ni.position.top-ri._prevYPix;ri._prevYPix=ni.position.top,this.opts.draggable.scroll!==!1&&xi.updateScrollPosition(ti,ni.position,Fi);let en=ni.position.left+(ni.position.left>ri._lastUiPosition.left?-hi:vi),rn=ni.position.top+(ni.position.top>ri._lastUiPosition.top?-Ei:_i);li.x=Math.round(en/si),li.y=Math.round(rn/ai);let ln=this._extraDragRow;if(this.engine.collide(ri,li)){let Yi=this.getRow(),sn=Math.max(0,li.y+ri.h-Yi);this.opts.maxRow&&Yi+sn>this.opts.maxRow&&(sn=Math.max(0,this.opts.maxRow-Yi)),this._extraDragRow=sn}else this._extraDragRow=0;if(this._extraDragRow!==ln&&this._updateContainerHeight(),ri.x===li.x&&ri.y===li.y)return}else if(ei.type==="resize"){if(li.x<0||(xi.updateScrollResize(ei,ti,ai),li.w=Math.round((ni.size.width-vi)/si),li.h=Math.round((ni.size.height-_i)/ai),ri.w===li.w&&ri.h===li.h)||ri._lastTried&&ri._lastTried.w===li.w&&ri._lastTried.h===li.h)return;let Fi=ni.position.left+vi,en=ni.position.top+_i;li.x=Math.round(Fi/si),li.y=Math.round(en/ai),di=!0}ri._event=ei,ri._lastTried=li;let Ti={x:ni.position.left+vi,y:ni.position.top+_i,w:(ni.size?ni.size.width:ri.w*si)-vi-hi,h:(ni.size?ni.size.height:ri.h*ai)-_i-Ei};if(this.engine.moveNodeCheck(ri,Fn(Ui({},li),{cellWidth:si,cellHeight:ai,rect:Ti,resizing:di}))){ri._lastUiPosition=ni.position,this.engine.cacheRects(si,ai,_i,hi,Ei,vi),delete ri._skipDown,di&&ri.subGrid&&ri.subGrid.onResize(),this._extraDragRow=0,this._updateContainerHeight();let Fi=ei.target;this._writePosAttr(Fi,ri),this._gsEventHandler[ei.type]&&this._gsEventHandler[ei.type](ei,Fi)}}_leave(ti,ei){let ni=ti.gridstackNode;!ni||(ei=ei||ti,ei.style.transform="scale(1)",as.off(ti,"drag"),!ni._temporaryRemoved&&(ni._temporaryRemoved=!0,this.engine.removeNode(ni),ni.el=ni._isExternal&&ei?ei:ti,this.opts.removable===!0&&fn._itemRemoving(ti,!0),ti._gridstackNodeOrig?(ti.gridstackNode=ti._gridstackNodeOrig,delete ti._gridstackNodeOrig):ni._isExternal&&(delete ni.el,delete ti.gridstackNode,this.engine.restoreInitial())))}commit(){return Jf(this,this.batchUpdate(!1),"commit","batchUpdate","5.2"),this}};fn.resizeToContentParent=".grid-stack-item-content";fn.Utils=xi;fn.Engine=Ts;fn.GDRev="10.3.0";function Gy(){let ii=document.getElementById("dashboard");ii&&ii.gridstack.disable()}function Qy(){let ii=document.getElementById("dashboard");ii&&ii.gridstack.enable()}function Xy(ii,ti){return $s(this,null,function*(){return yield oa(ii,{layout:ti})})}function th(){if(document.getElementById("dashboard")==null)return;let ti=fn.init({cellHeight:100,disableDrag:!0,disableResize:!0,draggable:{handle:".grid-stack-item-content .card-header",appendTo:"body",scroll:!0}}),ei=document.getElementById("lock_dashboard");ei&&ei.addEventListener("click",()=>{Gy()});let ni=document.getElementById("unlock_dashboard");ni&&ni.addEventListener("click",()=>{Qy()});let ri=document.getElementById("save_dashboard");ri!==null&&ri.addEventListener("click",()=>{let si=ri.getAttribute("data-url");if(si==null)return;let ai=ti.save(!1);Xy(si,ai).then(li=>{Mo(li)?uo("danger","Error Saving Dashboard Config",li.error).show():location.reload()})})}function ih(ii,ti){switch(ii){case"images-and-labels":{au("image.device-image",ti),au("text.device-image-label",ti);break}case"images-only":{au("image.device-image",ti),lu("text.device-image-label",ti);break}case"labels-only":{lu("image.device-image",ti),lu("text.device-image-label",ti);break}}}function au(ii,ti){var ni,ri;let ei=(ri=(ni=ti.contentDocument)==null?void 0:ni.querySelectorAll(ii))!=null?ri:[];for(let si of ei)si.classList.remove("hidden")}function lu(ii,ti){var ni,ri;let ei=(ri=(ni=ti.contentDocument)==null?void 0:ni.querySelectorAll(ii))!=null?ri:[];for(let si of ei)si.classList.add("hidden")}function Jy(ii,ti){ti.set("view",ii);for(let ei of Ki(".rack_elevation"))ih(ii,ei)}function nh(){let ii=Qc.get("view");for(let ti of Ki("select.rack-view"))ti.selectedIndex=[...ti.options].findIndex(ei=>ei.value==ii),ti.addEventListener("change",ei=>{Jy(ei.currentTarget.value,Qc)},!1);for(let ti of Ki(".rack_elevation"))ti.addEventListener("load",()=>{ih(ii,ti)})}function Zy(ii){let ti=document.getElementById("selector_results");if(ti==null)return;let ei=ti.getAttribute("data-selector-target");if(ei==null)return;let ni=document.getElementById(ei);if(ni==null)return;let ri=ii.getAttribute("data-label"),si=ii.getAttribute("data-value");ni.tomselect.addOption({id:si,display:ri}),ni.tomselect.addItem(si)}function rh(){for(let ii of Ki("#selector_results a"))ii.addEventListener("click",()=>Zy(ii))}function e_(){for(let ii of[Al,Dl,Cl,rh,El,Ol])ii()}function sh(){document.addEventListener("htmx:afterSettle",e_)}function t_(ii){let ti=ii.currentTarget,ei=ti.baseURI.split("?")[0],ni="?",ri=Array.from(ti.options).filter(si=>si.selected).map(si=>`filter_id=${si.value}`).join("&");ei+=`${ni}${ri}`,document.location.href=ei}function oh(){let ii=document.getElementById("results");if(Yn(ii)){let ti=document.getElementById("id_filter_id");Yn(ti)&&ti.addEventListener("change",t_)}}function ah(){for(let ii of[El,Pf,Ol,Vd,Ud,Cl,qf,Al,Dl,Uf,Gf,Xf,th,nh,sh,oh])ii()}function i_(){let ii=document.forms;for(let ei of ii)ei.method.toUpperCase()=="GET"&&ei.addEventListener("formdata",function(ni){let ri=ni.formData;for(let[si,ai]of Array.from(ri.entries()))ai===""&&ri.delete(si)});let ti=document.querySelector(".content-container");ti!==null&&ti.focus()}window.addEventListener("load",i_);document.readyState!=="loading"?ah():document.addEventListener("DOMContentLoaded",ah);})();
/*!
* Bootstrap v5.3.3 (https://getbootstrap.com/)
* Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
/*!
- * GridStack 10.2.1
+ * GridStack 10.3.0
* https://gridstackjs.com/
*
* Copyright (c) 2021-2022 Alain Dumesny
diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map
index d54ded87b..af923dd4f 100644
--- a/netbox/project-static/dist/netbox.js.map
+++ b/netbox/project-static/dist/netbox.js.map
@@ -1,6 +1,6 @@
{
"version": 3,
"sources": ["../node_modules/htmx.org/dist/htmx.min.js", "../node_modules/tom-select/src/contrib/microevent.ts", "../node_modules/tom-select/src/contrib/microplugin.ts", "../node_modules/tom-select/node_modules/@orchidjs/unicode-variants/dist/esm/regex.js", "../node_modules/tom-select/node_modules/@orchidjs/unicode-variants/dist/esm/strings.js", "../node_modules/tom-select/node_modules/@orchidjs/unicode-variants/dist/esm/index.js", "../node_modules/tom-select/node_modules/@orchidjs/sifter/dist/esm/utils.js", "../node_modules/tom-select/node_modules/@orchidjs/sifter/dist/esm/sifter.js", "../node_modules/tom-select/node_modules/@orchidjs/sifter/lib/utils.ts", "../node_modules/tom-select/src/vanilla.ts", "../node_modules/tom-select/src/contrib/highlight.ts", "../node_modules/tom-select/src/constants.ts", "../node_modules/tom-select/src/defaults.ts", "../node_modules/tom-select/src/utils.ts", "../node_modules/tom-select/src/getSettings.ts", "../node_modules/tom-select/src/tom-select.ts", "../node_modules/tom-select/src/plugins/change_listener/plugin.ts", "../node_modules/tom-select/src/plugins/checkbox_options/plugin.ts", "../node_modules/tom-select/src/plugins/clear_button/plugin.ts", "../node_modules/tom-select/src/plugins/drag_drop/plugin.ts", "../node_modules/tom-select/src/plugins/dropdown_header/plugin.ts", "../node_modules/tom-select/src/plugins/caret_position/plugin.ts", "../node_modules/tom-select/src/plugins/dropdown_input/plugin.ts", "../node_modules/tom-select/src/plugins/input_autogrow/plugin.ts", "../node_modules/tom-select/src/plugins/no_backspace_delete/plugin.ts", "../node_modules/tom-select/src/plugins/no_active_items/plugin.ts", "../node_modules/tom-select/src/plugins/optgroup_columns/plugin.ts", "../node_modules/tom-select/src/plugins/remove_button/plugin.ts", "../node_modules/tom-select/src/plugins/restore_on_backspace/plugin.ts", "../node_modules/tom-select/src/plugins/virtual_scroll/plugin.ts", "../node_modules/tom-select/src/tom-select.complete.ts", "../node_modules/@orchidjs/unicode-variants/lib/regex.mjs", "../node_modules/@orchidjs/unicode-variants/lib/strings.mjs", "../node_modules/@orchidjs/unicode-variants/lib/index.mjs", "../node_modules/clipboard/dist/clipboard.js", "../node_modules/@popperjs/core/lib/index.js", "../node_modules/@popperjs/core/lib/enums.js", "../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js", "../node_modules/@popperjs/core/lib/dom-utils/getWindow.js", "../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js", "../node_modules/@popperjs/core/lib/modifiers/applyStyles.js", "../node_modules/@popperjs/core/lib/utils/getBasePlacement.js", "../node_modules/@popperjs/core/lib/utils/math.js", "../node_modules/@popperjs/core/lib/utils/userAgent.js", "../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js", "../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js", "../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js", "../node_modules/@popperjs/core/lib/dom-utils/contains.js", "../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js", "../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js", "../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js", "../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js", "../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js", "../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js", "../node_modules/@popperjs/core/lib/utils/within.js", "../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js", "../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js", "../node_modules/@popperjs/core/lib/utils/expandToHashMap.js", "../node_modules/@popperjs/core/lib/modifiers/arrow.js", "../node_modules/@popperjs/core/lib/utils/getVariation.js", "../node_modules/@popperjs/core/lib/modifiers/computeStyles.js", "../node_modules/@popperjs/core/lib/modifiers/eventListeners.js", "../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js", "../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js", "../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js", "../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js", "../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js", "../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js", "../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js", "../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js", "../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js", "../node_modules/@popperjs/core/lib/utils/rectToClientRect.js", "../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js", "../node_modules/@popperjs/core/lib/utils/computeOffsets.js", "../node_modules/@popperjs/core/lib/utils/detectOverflow.js", "../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js", "../node_modules/@popperjs/core/lib/modifiers/flip.js", "../node_modules/@popperjs/core/lib/modifiers/hide.js", "../node_modules/@popperjs/core/lib/modifiers/offset.js", "../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js", "../node_modules/@popperjs/core/lib/utils/getAltAxis.js", "../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js", "../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js", "../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js", "../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js", "../node_modules/@popperjs/core/lib/utils/orderModifiers.js", "../node_modules/@popperjs/core/lib/utils/debounce.js", "../node_modules/@popperjs/core/lib/utils/mergeByName.js", "../node_modules/@popperjs/core/lib/createPopper.js", "../node_modules/@popperjs/core/lib/popper-lite.js", "../node_modules/@popperjs/core/lib/popper.js", "../node_modules/bootstrap/js/src/dom/data.js", "../node_modules/bootstrap/js/src/util/index.js", "../node_modules/bootstrap/js/src/dom/event-handler.js", "../node_modules/bootstrap/js/src/dom/manipulator.js", "../node_modules/bootstrap/js/src/util/config.js", "../node_modules/bootstrap/js/src/base-component.js", "../node_modules/bootstrap/js/src/dom/selector-engine.js", "../node_modules/bootstrap/js/src/util/component-functions.js", "../node_modules/bootstrap/js/src/alert.js", "../node_modules/bootstrap/js/src/button.js", "../node_modules/bootstrap/js/src/util/swipe.js", "../node_modules/bootstrap/js/src/carousel.js", "../node_modules/bootstrap/js/src/collapse.js", "../node_modules/bootstrap/js/src/dropdown.js", "../node_modules/bootstrap/js/src/util/backdrop.js", "../node_modules/bootstrap/js/src/util/focustrap.js", "../node_modules/bootstrap/js/src/util/scrollbar.js", "../node_modules/bootstrap/js/src/modal.js", "../node_modules/bootstrap/js/src/offcanvas.js", "../node_modules/bootstrap/js/src/util/sanitizer.js", "../node_modules/bootstrap/js/src/util/template-factory.js", "../node_modules/bootstrap/js/src/tooltip.js", "../node_modules/bootstrap/js/src/popover.js", "../node_modules/bootstrap/js/src/scrollspy.js", "../node_modules/bootstrap/js/src/tab.js", "../node_modules/bootstrap/js/src/toast.js", "../src/index.ts", "../src/util.ts", "../src/forms/elements.ts", "../src/forms/speedSelector.ts", "../src/forms/scopeSelector.ts", "../src/forms/index.ts", "../src/bs.ts", "../src/search.ts", "../src/select/static.ts", "../src/select/config.ts", "../node_modules/@orchidjs/sifter/lib/utils.ts", "../node_modules/tom-select/src/vanilla.ts", "../node_modules/query-string/base.js", "../node_modules/decode-uri-component/index.js", "../node_modules/split-on-first/index.js", "../node_modules/filter-obj/index.js", "../node_modules/query-string/index.js", "../src/select/classes/dynamicTomSelect.ts", "../src/select/types.ts", "../src/select/classes/dynamicParamsMap.ts", "../src/select/dynamic.ts", "../src/select/index.ts", "../src/buttons/connectionToggle.ts", "../src/state/index.ts", "../src/stores/objectDepth.ts", "../src/stores/rackImages.ts", "../src/stores/previousPkCheck.ts", "../src/stores/secret.ts", "../src/buttons/depthToggle.ts", "../src/buttons/moveOptions.ts", "../src/buttons/reslug.ts", "../src/buttons/selectAll.ts", "../src/buttons/selectMultiple.ts", "../src/buttons/markdownPreview.ts", "../src/buttons/secretToggle.ts", "../src/buttons/index.ts", "../src/colorMode.ts", "../src/messages.ts", "../src/clipboard.ts", "../node_modules/flatpickr/dist/esm/types/options.js", "../node_modules/flatpickr/dist/esm/l10n/default.js", "../node_modules/flatpickr/dist/esm/utils/index.js", "../node_modules/flatpickr/dist/esm/utils/dom.js", "../node_modules/flatpickr/dist/esm/utils/formatting.js", "../node_modules/flatpickr/dist/esm/utils/dates.js", "../node_modules/flatpickr/dist/esm/utils/polyfills.js", "../node_modules/flatpickr/dist/esm/index.js", "../src/dateSelector.ts", "../src/tableConfig.ts", "../src/tables/interfaceTable.ts", "../src/sidenav.ts", "../node_modules/gridstack/src/utils.ts", "../node_modules/gridstack/src/gridstack-engine.ts", "../node_modules/gridstack/src/types.ts", "../node_modules/gridstack/src/dd-manager.ts", "../node_modules/gridstack/src/dd-touch.ts", "../node_modules/gridstack/src/dd-resizable-handle.ts", "../node_modules/gridstack/src/dd-base-impl.ts", "../node_modules/gridstack/src/dd-resizable.ts", "../node_modules/gridstack/src/dd-draggable.ts", "../node_modules/gridstack/src/dd-droppable.ts", "../node_modules/gridstack/src/dd-element.ts", "../node_modules/gridstack/src/dd-gridstack.ts", "../node_modules/gridstack/src/gridstack.ts", "../src/dashboard.ts", "../src/racks.ts", "../src/objectSelector.ts", "../src/htmx.ts", "../src/forms/savedFiltersSelect.ts", "../src/netbox.ts"],
- "mappings": "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",
+ "mappings": "84CAAA,6BAAC,UAAS,GAAE,GAAE,CAAC,AAAG,MAAO,SAAS,YAAY,OAAO,IAAK,OAAO,GAAG,IAAQ,AAAG,MAAO,SAAS,UAAU,OAAO,QAAS,OAAO,QAAQ,KAAS,GAAE,KAAK,GAAE,MAAM,OAAO,MAAO,OAAO,YAAY,KAAK,QAAK,UAAU,CAAC,MAAO,WAAU,CAAC,aAAa,GAAI,GAAE,CAAC,OAAO,EAAE,QAAQ,GAAG,GAAG,GAAG,IAAI,GAAG,QAAQ,GAAG,KAAK,GAAG,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,SAAS,GAAE,GAAE,CAAC,GAAI,IAAE,GAAG,GAAE,IAAG,QAAQ,MAAO,IAAE,QAAQ,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,gBAAgB,GAAG,gBAAgB,GAAG,OAAO,EAAE,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC,eAAe,GAAK,iBAAiB,GAAG,qBAAqB,GAAM,iBAAiB,YAAY,iBAAiB,EAAE,mBAAmB,GAAG,uBAAuB,GAAK,eAAe,iBAAiB,aAAa,eAAe,WAAW,aAAa,cAAc,gBAAgB,cAAc,gBAAgB,UAAU,GAAK,gBAAgB,GAAK,kBAAkB,GAAG,mBAAmB,CAAC,QAAQ,QAAQ,QAAQ,UAAU,gBAAgB,GAAM,QAAQ,EAAE,iBAAiB,cAAc,aAAa,OAAO,gBAAgB,kCAAkC,qBAAqB,GAAM,eAAe,SAAS,mBAAmB,GAAM,oBAAoB,GAAM,sBAAsB,GAAM,wBAAwB,CAAC,OAAO,iBAAiB,GAAM,YAAY,GAAM,sBAAsB,GAAK,kBAAkB,MAAM,cAAc,EAAE,EAAE,EAAE,kBAAkB,SAAS,GAAE,CAAC,MAAO,IAAI,aAAY,GAAE,CAAC,gBAAgB,MAAQ,gBAAgB,SAAS,GAAE,CAAC,GAAI,IAAE,GAAI,WAAU,GAAE,IAAI,UAAE,WAAW,EAAE,OAAO,aAAoB,IAAG,QAAQ,UAAc,EAAE,CAAC,kBAAkB,GAAG,aAAa,GAAG,sBAAsB,EAAE,gBAAgB,GAAG,aAAa,GAAG,aAAa,EAAE,kBAAkB,GAAG,yBAAyB,GAAG,gBAAgB,EAAE,kBAAkB,GAAG,WAAW,GAAG,eAAe,GAAG,gBAAgB,GAAG,qBAAqB,GAAG,gBAAgB,GAAG,UAAU,GAAG,aAAa,EAAE,aAAa,GAAG,eAAe,EAAE,QAAQ,GAAG,iBAAiB,GAAG,cAAc,GAAG,kBAAkB,GAAG,aAAa,GAAG,aAAa,GAAG,kBAAkB,GAAG,eAAe,GAAO,EAAE,CAAC,MAAM,OAAO,MAAM,SAAS,SAAa,EAAE,EAAE,IAAI,SAAS,GAAE,CAAC,MAAM,OAAO,GAAE,eAAe,GAAE,MAAM,KAAK,MAAU,EAAE,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,IAAM,WAAW,GAAE,GAAE,CAAC,MAAO,IAAI,QAAO,IAAI,GAAE,gCAAgC,GAAE,IAAI,AAAE,GAAE,MAAM,MAAM,WAAW,GAAE,CAAC,GAAG,IAAG,KAAW,OAAiB,GAAI,IAAE,IAAI,MAAG,IAAE,MAAM,KAAK,KAAM,GAAE,WAAW,GAAE,MAAM,EAAE,KAAU,AAAG,GAAE,MAAM,KAAK,IAAK,GAAE,WAAW,GAAE,MAAM,EAAE,KAAK,IAAS,AAAG,GAAE,MAAM,KAAK,IAAK,GAAE,WAAW,GAAE,MAAM,EAAE,KAAK,IAAI,GAAQ,GAAE,WAAW,IAAU,MAAM,IAAG,OAAU,GAAE,YAAY,GAAE,GAAE,CAAC,MAAO,IAAE,cAAc,GAAE,aAAa,IAAG,WAAW,GAAE,GAAE,CAAC,MAAO,IAAE,cAAe,IAAE,aAAa,KAAI,GAAE,aAAa,QAAQ,KAAI,YAAY,GAAE,GAAE,CAAC,MAAO,IAAG,GAAE,KAAI,GAAG,GAAE,QAAQ,IAAG,WAAW,GAAE,CAAC,MAAO,IAAE,cAAc,aAAa,CAAC,MAAO,UAAS,WAAW,GAAE,GAAE,CAAC,KAAM,IAAG,CAAC,GAAE,KAAI,GAAE,EAAE,IAAG,MAAO,KAAI,KAAK,WAAW,GAAE,GAAE,GAAE,CAAC,GAAI,IAAE,GAAG,GAAE,IAAO,GAAE,GAAG,GAAE,iBAAiB,MAAG,MAAI,IAAG,IAAI,MAAI,KAAK,GAAE,MAAM,KAAK,QAAQ,KAAI,GAAU,QAAoB,GAAG,YAAY,GAAE,GAAE,CAAC,GAAI,IAAE,KAAyC,GAApC,EAAE,GAAE,SAAS,GAAE,CAAC,MAAO,IAAE,EAAE,GAAE,GAAE,MAAQ,KAAI,QAAS,MAAO,IAAG,WAAW,GAAE,GAAE,CAAC,GAAI,IAAE,GAAE,SAAS,GAAE,iBAAiB,GAAE,mBAAmB,GAAE,oBAAoB,GAAE,uBAAuB,GAAE,iBAAiB,MAAO,KAAG,GAAE,KAAK,GAAE,IAAG,WAAW,GAAE,CAAC,GAAI,IAAE,iCAAqC,GAAE,GAAE,KAAK,IAAG,MAAG,IAAU,GAAE,GAAG,cAAyB,GAAI,WAAW,GAAE,GAAE,CAAyE,OAApE,IAAE,GAAI,WAAc,GAAE,GAAE,gBAAgB,GAAE,aAAiB,GAAE,GAAE,KAAW,GAAE,GAAG,KAAI,GAAE,GAAE,WAAW,MAAG,KAAG,MAAM,IAAE,KAAK,0BAAgC,GAAE,WAAW,GAAE,CAAC,MAAM,QAAQ,KAAK,IAAG,WAAW,GAAE,CAAC,GAAI,IAAE,CAAC,EAAE,IAAO,GAAE,EAAE,IAAO,GAAE,GAAmC,GAA9B,KAAI,QAAQ,IAAE,GAAE,QAAQ,EAAE,KAAO,EAAE,OAAO,sBAAsB,GAAE,CAAC,GAAI,IAAE,EAAE,mBAAmB,GAAE,qBAAqB,GAAO,GAAE,GAAE,cAAc,YAAY,QAAQ,MAAG,GAAE,OAAO,gBAAiB,GAAG,GAAE,iBAAiB,UAAU,SAAS,GAAE,CAAC,AAAG,EAAE,OAAO,mBAAmB,IAAE,MAAM,EAAE,OAAO,mBAAkB,GAAE,aAAa,UAAU,UAAU,QAAQ,aAAa,KAAU,GAAG,GAAE,iBAAiB,UAAU,SAAS,GAAE,CAAC,EAAE,MAAY,GAAE,OAAO,QAAO,YAAY,YAAY,YAAY,eAAe,UAAU,MAAO,GAAE,UAAU,GAAE,WAAW,OAAO,MAAM,MAAO,GAAE,oBAAoB,GAAE,sBAAsB,OAAO,KAAK,MAAO,GAAE,iBAAiB,GAAE,mBAAmB,OAAO,SAAS,KAAK,MAAO,GAAE,qBAAqB,GAAE,wBAAwB,OAAO,aAAa,QAAQ,MAAO,GAAE,QAAQ,GAAE,SAAS,WAAW,MAAO,GAAE,GAAE,IAAI,YAAY,GAAE,CAAC,AAAG,IAAG,KAAK,WAAW,GAAE,GAAE,CAAC,MAAO,QAAO,UAAU,SAAS,KAAK,MAAK,WAAW,GAAE,IAAI,WAAW,GAAE,CAAC,MAAO,GAAE,GAAE,YAAY,WAAW,GAAE,CAAC,MAAO,GAAE,GAAE,UAAU,YAAY,GAAE,CAAC,GAAI,IAAE,qBAAyB,GAAE,GAAE,IAAG,MAAI,KAAG,IAAE,GAAE,IAAG,IAAU,GAAE,WAAW,GAAE,CAAC,GAAI,IAAE,GAAG,GAAG,GAAG,OAAQ,IAAE,EAAE,GAAE,GAAE,OAAO,KAAK,GAAE,KAAK,GAAE,KAAK,MAAO,IAAE,YAAY,GAAE,GAAE,CAAC,GAAG,GAAG,OAAQ,IAAE,EAAE,GAAE,GAAE,OAAO,KAAK,GAAE,GAAE,KAAM,WAAW,GAAE,CAAC,GAAI,IAAE,GAAE,wBAA4B,GAAE,GAAE,IAAQ,GAAE,GAAE,OAAO,MAAO,IAAE,OAAO,aAAa,IAAG,EAAE,YAAY,GAAE,CAAC,MAAG,IAAE,aAAa,GAAE,uBAAwB,QAAO,WAAmB,KAAK,KAAK,SAAS,GAAE,cAAc,MAAkB,KAAK,KAAK,SAAS,IAAI,WAAW,GAAE,CAAC,MAAO,IAAE,OAAO,MAAM,OAAO,YAAY,GAAE,GAAE,CAAC,OAAQ,MAAK,IAAG,AAAG,GAAE,eAAe,KAAI,IAAE,IAAG,GAAE,KAAI,MAAO,IAAE,WAAW,GAAE,CAAC,GAAG,CAAC,MAAO,MAAK,MAAM,UAAS,GAAN,CAAS,SAAE,IAAU,MAAM,YAAY,CAAC,GAAI,IAAE,wBAAwB,GAAG,CAAC,oBAAa,QAAQ,GAAE,IAAG,aAAa,WAAW,IAAU,SAAW,GAAN,CAAS,MAAO,IAAO,WAAW,GAAE,CAAC,GAAG,CAAC,GAAI,IAAE,GAAI,KAAI,IAAG,MAAG,KAAG,IAAE,GAAE,SAAS,GAAE,QAAW,OAAO,KAAK,KAAI,IAAE,GAAE,QAAQ,OAAO,KAAW,SAAQ,GAAN,CAAS,MAAO,KAAG,WAAW,EAAE,CAAC,MAAO,IAAG,KAAK,KAAK,UAAU,CAAC,MAAO,MAAK,KAAK,WAAW,GAAE,CAAC,GAAI,IAAE,EAAE,GAAG,YAAY,SAAS,GAAE,CAAC,GAAE,GAAE,OAAO,OAAO,MAAO,IAAE,YAAY,CAAC,EAAE,OAAO,SAAS,GAAE,GAAE,GAAE,CAAC,AAAG,SAAS,QAAQ,IAAI,GAAE,GAAE,KAAK,YAAY,CAAC,EAAE,OAAO,KAAK,WAAW,GAAE,GAAE,CAAC,MAAG,IAAU,GAAE,cAAc,IAAe,EAAE,KAAK,IAAI,WAAW,GAAE,GAAE,CAAC,MAAG,IAAU,GAAE,iBAAiB,IAAe,EAAE,KAAK,IAAI,WAAW,GAAE,GAAE,CAAC,GAAE,EAAE,IAAG,AAAG,GAAG,WAAW,UAAU,CAAC,EAAE,IAAG,GAAE,MAAM,IAAQ,GAAE,cAAc,YAAY,IAAI,WAAW,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,IAAG,AAAG,GAAG,WAAW,UAAU,CAAC,EAAE,GAAE,IAAG,GAAE,MAAM,IAAQ,GAAE,WAAW,GAAE,UAAU,IAAI,IAAI,WAAW,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,IAAG,AAAG,GAAG,WAAW,UAAU,CAAC,EAAE,GAAE,IAAG,GAAE,MAAM,IAAW,GAAE,WAAW,IAAE,UAAU,OAAO,IAAM,GAAE,UAAU,SAAS,GAAG,GAAE,gBAAgB,UAAY,WAAW,GAAE,GAAE,CAAC,GAAE,EAAE,IAAG,GAAE,UAAU,OAAO,IAAG,WAAW,GAAE,GAAE,CAAC,GAAE,EAAE,IAAG,GAAG,GAAE,cAAc,SAAS,SAAS,GAAE,CAAC,EAAE,GAAE,MAAK,EAAE,GAAE,IAAG,WAAW,GAAE,GAAE,CAAQ,GAAP,GAAE,EAAE,IAAM,GAAE,QAAS,MAAO,IAAE,QAAQ,IAAQ,EAAG,IAAG,IAAG,MAAM,EAAE,GAAE,IAAI,MAAO,UAAS,GAAE,IAAG,EAAE,KAAI,MAAO,MAAM,WAAW,GAAE,GAAE,CAAC,MAAO,IAAE,UAAU,EAAE,GAAE,UAAU,GAAE,WAAW,GAAE,GAAE,CAAC,MAAO,IAAE,UAAU,GAAE,OAAO,GAAE,UAAU,GAAE,WAAW,GAAE,CAAC,GAAI,IAAE,GAAE,OAAO,MAAG,GAAE,GAAE,MAAM,EAAE,GAAE,MAAc,GAAE,UAAU,EAAE,GAAE,OAAO,GAAe,GAAG,WAAW,GAAE,GAAE,CAAC,MAAG,IAAE,QAAQ,cAAc,EAAS,CAAC,EAAE,GAAE,EAAE,GAAE,OAAO,MAAc,GAAE,QAAQ,WAAW,EAAS,CAAC,EAAE,GAAE,EAAE,GAAE,OAAO,MAAc,KAAI,OAAc,CAAC,GAAE,oBAA4B,GAAE,QAAQ,WAAW,EAAS,CAAC,EAAE,GAAE,EAAE,GAAE,OAAO,MAAc,KAAI,WAAkB,CAAC,GAAE,wBAAgC,GAAE,QAAQ,eAAe,EAAS,CAAC,EAAE,GAAE,EAAE,GAAE,OAAO,MAAc,KAAI,WAAkB,CAAC,UAAkB,KAAI,SAAgB,CAAC,QAAgB,KAAI,OAAc,CAAC,SAAS,MAAkB,KAAK,iBAAiB,EAAE,KAAK,GAAI,GAAE,SAAS,GAAE,GAAE,CAAgC,OAA3B,IAAE,KAAK,iBAAiB,IAAW,GAAE,EAAE,GAAE,GAAE,OAAO,KAAI,CAAC,GAAI,IAAE,GAAE,IAAG,GAAG,GAAE,wBAAwB,MAAK,KAAK,4BAA6B,MAAO,MAAS,EAAE,SAAS,GAAE,GAAE,CAAgC,OAA3B,IAAE,KAAK,iBAAiB,IAAW,GAAE,GAAE,OAAO,EAAE,IAAG,EAAE,KAAI,CAAC,GAAI,IAAE,GAAE,IAAG,GAAG,GAAE,wBAAwB,MAAK,KAAK,4BAA6B,MAAO,MAAK,YAAY,GAAE,GAAE,CAAC,MAAG,IAAU,EAAE,GAAE,IAAG,GAAe,EAAE,KAAK,KAAK,IAAG,GAAI,WAAW,GAAE,CAAC,MAAG,GAAE,GAAE,UAAkB,EAAE,IAAe,GAAG,YAAY,GAAE,GAAE,GAAE,CAAC,MAAG,GAAE,IAAU,CAAC,OAAO,KAAK,KAAK,MAAM,GAAE,SAAS,IAAc,CAAC,OAAO,EAAE,IAAG,MAAM,GAAE,SAAS,IAAI,YAAY,GAAE,GAAE,GAAE,CAAC,GAAG,UAAU,CAAC,GAAI,IAAE,GAAG,GAAE,GAAE,IAAG,GAAE,OAAO,iBAAiB,GAAE,MAAM,GAAE,YAAY,GAAI,IAAE,EAAE,IAAG,MAAO,IAAE,GAAE,GAAE,YAAY,GAAE,GAAE,GAAE,CAAC,UAAG,UAAU,CAAC,GAAI,IAAE,GAAG,GAAE,GAAE,IAAG,GAAE,OAAO,oBAAoB,GAAE,MAAM,GAAE,YAAmB,EAAE,IAAG,GAAE,GAAE,GAAI,IAAG,KAAK,cAAc,UAAU,YAAY,GAAE,GAAE,CAAC,GAAI,IAAE,GAAG,GAAE,IAAG,GAAG,GAAE,CAAC,GAAG,KAAI,OAAQ,MAAM,CAAC,GAAG,GAAE,KAAS,GAAI,IAAE,EAAE,GAAE,IAAG,MAAG,IAAE,SAAS,EAAG,GAAE,iBAAiB,GAAE,QAAQ,GAAE,yBAA+B,CAAC,KAAgB,IAAK,YAAY,GAAE,GAAE,CAAC,MAAO,GAAE,GAAE,SAAS,GAAE,CAAC,MAAO,IAAG,GAAE,KAAI,OAAO,YAAY,GAAE,CAAC,GAAI,IAAE,GAAG,GAAE,aAAa,GAAG,GAAG,MAAG,MAAI,OAAe,GAAG,GAAE,aAAyB,GAAG,GAAE,IAAS,GAAI,IAAE,GAAG,IAAG,MAAG,IAAE,QAAgB,KAAK,KAAiB,GAAI,YAAY,GAAE,CAAmC,OAA9B,IAAE,EAAE,OAAO,mBAA2B,GAAE,EAAE,GAAE,GAAE,OAAO,KAAK,GAAG,KAAI,GAAE,IAAI,MAAO,GAAM,MAAO,GAAM,YAAY,GAAE,GAAE,CAAC,GAAG,GAAE,WAAW,SAAS,GAAE,CAAC,AAAG,CAAC,GAAE,aAAa,GAAE,OAAO,GAAG,GAAE,OAAO,GAAE,gBAAgB,GAAE,QAAS,GAAG,GAAE,WAAW,SAAS,GAAE,CAAC,AAAG,GAAG,GAAE,OAAO,GAAE,aAAa,GAAE,KAAK,GAAE,SAAU,YAAY,GAAE,GAAE,CAAa,OAAR,IAAE,GAAG,IAAW,GAAE,EAAE,GAAE,GAAE,OAAO,KAAI,CAAC,GAAI,IAAE,GAAE,IAAG,GAAG,CAAC,GAAG,GAAE,aAAa,IAAI,MAAO,SAAY,GAAN,CAAS,EAAE,KAAI,MAAO,MAAI,YAAY,YAAY,GAAE,GAAE,GAAE,CAAC,GAAI,IAAE,IAAI,GAAG,GAAE,MAAU,GAAE,YAAY,AAAG,KAAI,QAAc,CAAG,GAAE,QAAQ,KAAK,EAAG,IAAE,GAAE,OAAO,EAAE,GAAE,QAAQ,MAAM,GAAE,GAAE,OAAO,GAAE,QAAQ,KAAK,EAAE,GAAE,SAAa,GAAE,IAAE,GAAI,IAAE,KAAK,iBAAiB,IAAG,MAAG,IAAG,IAAG,GAAE,SAAS,GAAE,CAAC,GAAI,IAAM,GAAE,GAAE,UAAU,IAAM,GAAE,KAAK,yBAAyB,GAAE,YAAY,IAAO,GAAG,GAAE,KAAI,IAAE,IAAE,GAAI,IAAE,CAAC,WAAW,GAAK,OAAO,GAAE,SAAS,IAAG,AAAG,CAAC,GAAG,GAAE,qBAAqB,KAAU,IAAE,GAAE,OAAU,GAAE,YAAe,GAAG,GAAE,GAAE,GAAE,GAAE,IAAG,GAAG,GAAE,KAAK,SAAS,GAAE,CAAC,GAAG,GAAE,oBAAoB,SAAO,GAAE,WAAW,YAAY,KAAQ,IAAE,WAAW,YAAY,IAAG,GAAG,KAAK,KAAK,wBAAwB,CAAC,QAAQ,MAAW,GAAE,YAAY,GAAE,GAAE,GAAE,CAAC,GAAI,IAAE,GAAG,GAAE,iBAAiB,GAAG,GAAsB,OAAf,IAAE,GAAE,MAAM,KAAa,GAAE,EAAE,GAAE,GAAE,OAAO,KAAI,CAAC,GAAI,IAAE,GAAE,IAAG,MAAM,IAAI,GAAO,GAAE,GAAE,GAAG,OAAO,AAAG,GAAE,QAAQ,OAAO,GAAG,IAAE,GAAE,UAAU,IAAG,GAAI,IAAE,GAAE,IAAI,OAAW,GAAE,GAAE,cAAc,IAAI,IAAG,AAAG,IAAG,GAAG,GAAE,GAAE,IAAK,GAAG,EAAE,GAAE,qCAAqC,SAAS,GAAE,CAAC,GAAI,IAAE,GAAG,GAAE,eAAe,AAAG,IAAG,MAAM,GAAG,GAAE,GAAE,MAAM,YAAY,GAAE,CAAC,GAAG,EAAE,GAAE,qCAAqC,SAAS,GAAE,CAAC,GAAI,IAAE,GAAG,GAAE,MAAU,GAAE,KAAK,eAAe,IAAG,AAAG,IAAG,MAAM,GAAE,WAAW,aAAa,GAAE,MAAM,YAAY,GAAE,GAAE,GAAE,CAAC,GAAG,GAAE,iBAAiB,QAAQ,SAAS,GAAE,CAAC,GAAI,IAAE,GAAG,GAAE,MAAM,GAAG,IAAG,GAAE,OAAO,EAAE,CAAC,GAAI,IAAE,GAAE,QAAQ,IAAI,OAAW,GAAE,GAAE,QAAQ,QAAQ,IAAI,OAAW,GAAE,GAAE,cAAc,GAAE,QAAQ,GAAE,MAAM,GAAG,IAAG,KAAI,GAAE,CAAC,GAAI,IAAE,GAAE,YAAY,GAAG,GAAE,IAAG,GAAE,MAAM,KAAK,UAAU,CAAC,GAAG,GAAE,UAAS,YAAY,GAAE,CAAC,MAAO,WAAU,CAAC,EAAE,GAAE,EAAE,OAAO,YAAY,GAAG,IAAG,GAAG,IAAG,GAAG,IAAG,GAAG,GAAE,cAAc,YAAY,GAAE,CAAC,GAAI,IAAE,cAAkB,GAAE,EAAE,GAAE,IAAG,GAAE,GAAE,cAAc,IAAG,AAAG,IAAG,MAAM,GAAE,QAAS,WAAW,GAAE,GAAE,GAAE,GAAE,CAAW,IAAV,GAAG,GAAE,GAAE,IAAS,GAAE,WAAW,OAAO,GAAE,CAAC,GAAI,IAAE,GAAE,WAAW,EAAE,GAAE,EAAE,OAAO,YAAY,GAAE,aAAa,GAAE,IAAM,GAAE,WAAW,KAAK,WAAW,GAAE,WAAW,KAAK,cAAc,GAAE,MAAM,KAAK,GAAG,MAAM,YAAY,GAAE,GAAE,CAAS,OAAJ,IAAE,EAAQ,GAAE,GAAE,QAAQ,GAAG,KAAG,GAAG,GAAE,GAAE,WAAW,MAAK,EAAE,MAAO,IAAE,YAAY,GAAE,CAAC,GAAI,IAAE,EAAE,GAAG,GAAE,WAAY,OAAQ,IAAE,EAAE,GAAE,GAAE,WAAW,OAAO,KAAI,CAAC,GAAI,IAAE,GAAE,WAAW,IAAG,AAAG,GAAE,OAAO,IAAE,GAAG,GAAE,KAAK,IAAG,GAAE,GAAG,GAAE,MAAM,KAAK,MAAO,IAAE,YAAY,GAAE,CAAC,GAAI,IAAE,GAAG,IAAG,GAAG,GAAE,WAAW,CAAC,OAAQ,IAAE,EAAE,GAAE,GAAE,WAAW,OAAO,KAAI,CAAC,GAAM,IAAE,GAAE,WAAW,IAAG,GAAE,oBAAoB,GAAE,MAAM,GAAE,UAAU,MAAO,IAAE,YAAY,YAAY,GAAE,CAAC,GAAI,IAAE,GAAG,IAAG,AAAG,GAAE,SAAS,aAAa,GAAE,SAAY,GAAE,WAAW,GAAE,UAAU,QAAW,GAAE,gBAAgB,GAAE,eAAe,QAAW,GAAE,eAAe,GAAG,GAAE,cAAc,SAAS,GAAE,CAAC,AAAG,GAAE,IAAI,GAAE,GAAG,oBAAoB,GAAE,QAAQ,GAAE,YAAa,GAAG,IAAG,GAAG,OAAO,KAAK,IAAG,SAAS,GAAE,CAAC,MAAO,IAAE,MAAK,WAAW,GAAE,CAAC,GAAG,GAAE,6BAA6B,GAAG,IAAM,GAAE,UAAU,GAAG,GAAE,SAAS,SAAS,GAAE,CAAC,EAAE,MAAM,YAAY,GAAE,GAAE,GAAE,CAAC,GAAG,GAAE,UAAU,OAAQ,MAAO,IAAG,GAAE,GAAE,IAAQ,GAAI,IAAM,GAAE,GAAE,gBAAgI,IAAhH,EAAE,EAAE,IAAG,GAAE,GAAE,IAAG,AAAG,IAAG,KAAM,GAAE,EAAE,IAAG,WAAgB,GAAE,GAAE,YAAY,GAAE,KAAK,GAAE,KAAK,OAAO,SAAS,GAAE,CAAC,MAAO,KAAG,KAAU,IAAG,KAAI,IAAG,AAAG,GAAE,WAAW,KAAK,cAAc,GAAE,KAAK,KAAK,IAAG,GAAE,GAAE,mBAAmB,EAAE,IAAG,EAAE,IAAG,YAAY,IAAI,YAAY,GAAE,GAAE,GAAE,CAAC,MAAO,GAAE,GAAE,GAAE,WAAW,GAAE,IAAG,YAAY,GAAE,GAAE,GAAE,CAAC,MAAO,GAAE,EAAE,IAAG,GAAE,GAAE,IAAG,YAAY,GAAE,GAAE,GAAE,CAAC,MAAO,GAAE,GAAE,KAAK,GAAE,IAAG,YAAY,GAAE,GAAE,GAAE,CAAC,MAAO,GAAE,EAAE,IAAG,GAAE,YAAY,GAAE,IAAG,YAAY,GAAE,GAAE,GAAE,CAAC,SAAE,IAAU,EAAE,IAAG,YAAY,IAAG,YAAY,GAAE,GAAE,GAAE,CAAC,GAAI,IAAE,GAAE,WAAsB,GAAX,EAAE,GAAE,GAAE,GAAE,IAAM,GAAE,CAAC,KAAM,GAAE,aAAa,EAAE,GAAE,aAAa,GAAE,YAAY,GAAE,aAAa,EAAE,IAAG,GAAE,YAAY,KAAI,YAAY,GAAE,GAAE,GAAE,CAAC,GAAI,IAAE,IAAG,GAAG,GAAE,aAAa,GAAG,GAAE,CAAC,GAAI,IAAE,KAAK,yBAAyB,GAAG,GAAE,iBAAiB,IAAG,SAAS,GAAE,CAAC,GAAE,YAAY,MAAK,GAAE,GAAE,MAAO,IAAE,YAAY,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC,OAAO,QAAO,OAAO,WAAW,YAAY,GAAG,GAAE,GAAE,IAAG,WAAW,aAAa,GAAG,GAAE,GAAE,IAAG,WAAW,cAAc,GAAG,GAAE,GAAE,IAAG,WAAW,YAAY,GAAG,GAAE,GAAE,IAAG,WAAW,WAAW,GAAG,GAAE,GAAE,IAAG,WAAW,SAAS,GAAG,GAAE,GAAE,IAAG,eAA2B,OAAR,IAAE,GAAG,IAAW,GAAE,EAAE,GAAE,GAAE,OAAO,KAAI,CAAC,GAAI,IAAE,GAAE,IAAG,GAAG,CAAC,GAAI,IAAE,GAAE,WAAW,GAAE,GAAE,GAAE,IAAG,GAAG,GAAE,CAAC,GAAG,MAAO,IAAE,QAAS,YAAa,OAAQ,IAAE,EAAE,GAAE,GAAE,OAAO,KAAI,CAAC,GAAI,IAAE,GAAE,IAAG,AAAG,GAAE,WAAW,KAAK,WAAW,GAAE,WAAW,KAAK,cAAc,GAAE,MAAM,KAAK,GAAG,KAAM,cAAc,GAAN,CAAS,EAAE,KAAI,AAAG,KAAI,YAAa,GAAG,GAAE,GAAE,IAAQ,GAAG,EAAE,OAAO,iBAAiB,GAAE,GAAE,GAAE,KAAK,YAAY,GAAE,CAAC,GAAG,GAAE,QAAQ,UAAU,GAAG,CAAC,GAAI,IAAE,GAAE,QAAQ,EAAE,IAAQ,GAAE,GAAE,MAAM,GAAG,GAAG,GAAG,MAAO,IAAE,IAAK,YAAY,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC,GAAE,MAAM,GAAG,IAAG,GAAI,IAAE,EAAE,IAAG,GAAG,GAAG,UAAG,GAAE,GAAE,IAAG,GAAE,GAAG,GAAE,GAAE,IAAG,GAAG,IAAU,GAAG,GAAE,GAAE,GAAE,GAAE,IAAI,YAAY,GAAE,GAAE,GAAE,CAAC,GAAI,IAAE,GAAE,kBAAkB,IAAG,GAAG,GAAE,QAAQ,OAAO,EAAE,CAAC,GAAI,IAAE,EAAE,IAAG,OAAQ,MAAK,IAAG,GAAG,GAAE,eAAe,IAAG,CAAC,GAAI,IAAE,GAAE,IAAG,AAAI,EAAE,KAAI,IAAE,CAAC,MAAM,KAAG,GAAG,GAAE,GAAE,SAA6B,QAAf,IAAE,GAAE,MAAM,KAAa,GAAE,EAAE,GAAE,GAAE,OAAO,KAAK,GAAG,GAAE,GAAE,IAAG,OAAO,IAAM,GAAI,IAAG,KAAS,EAAE,QAAY,GAAG,aAAiB,GAAG,gBAAoB,GAAG,CAAC,IAAI,IAAI,KAAS,GAAG,QAAY,GAAG,OAAW,GAAG,OAAO,YAAY,GAAE,CAAkB,OAAb,IAAE,GAAO,GAAE,EAAQ,GAAE,GAAE,QAAO,CAAC,GAAG,GAAG,KAAK,GAAE,OAAO,KAAI,CAAS,OAAJ,IAAE,GAAQ,GAAG,KAAK,GAAE,OAAO,GAAE,KAAK,KAAI,GAAE,KAAK,GAAE,OAAO,GAAE,GAAE,GAAE,YAAY,GAAG,QAAQ,GAAE,OAAO,OAAM,GAAG,CAAC,GAAI,IAAE,GAAE,OAAO,IAAO,GAAE,GAAM,IAAJ,KAAU,GAAE,GAAE,QAAQ,GAAE,OAAO,MAAK,IAAG,AAAG,GAAE,OAAO,MAAK,MAAM,KAAI,KAAI,GAAE,KAAK,GAAE,OAAO,GAAE,GAAE,GAAE,QAAQ,CAAC,GAAI,IAAE,GAAE,OAAO,IAAG,GAAE,KAAK,IAAG,KAAI,MAAO,IAAE,YAAY,GAAE,GAAE,GAAE,CAAC,MAAO,IAAG,KAAK,GAAE,OAAO,KAAK,KAAI,QAAQ,KAAI,SAAS,KAAI,QAAQ,KAAI,IAAG,KAAI,IAAI,YAAY,GAAE,GAAE,GAAE,CAAC,GAAG,GAAE,KAAK,IAAI,CAAC,GAAE,QAAsE,OAA1D,IAAE,EAAM,GAAE,qBAAqB,GAAE,cAAkB,GAAE,KAAW,GAAE,OAAO,GAAE,CAAC,GAAI,IAAE,GAAE,GAAG,GAAG,KAAI,KAAS,GAAJ,KAAO,KAAI,EAAE,CAAC,AAAG,KAAI,MAAM,IAAE,GAAE,QAAO,GAAE,QAAQ,IAAG,MAAM,GAAG,CAAC,GAAI,IAAE,GAAG,GAAE,UAAU,CAAC,MAAO,UAAS,OAAM,UAAU,CAAC,MAAO,KAAO,UAAE,OAAO,GAAS,SAAQ,GAAN,CAAS,UAAG,KAAK,KAAK,oBAAoB,CAAC,MAAM,GAAE,OAAO,KAAW,WAAY,AAAG,MAAI,KAAK,KAAI,AAAG,GAAG,GAAE,GAAE,IAAI,IAAG,KAAK,GAAE,IAAI,GAAE,QAAQ,GAAE,IAAI,GAAE,eAAe,GAAE,KAAU,GAAE,GAAE,GAAE,GAAE,GAAE,UAAU,WAAW,GAAE,GAAE,CAAU,OAAL,IAAE,GAAS,GAAE,OAAO,GAAG,CAAC,GAAE,KAAK,GAAE,KAAK,IAAG,GAAE,QAAQ,MAAO,IAAE,YAAY,GAAE,CAAC,GAAI,IAAE,MAAG,IAAE,OAAO,GAAG,GAAG,KAAK,GAAE,IAAK,IAAE,QAAQ,GAAE,EAAE,GAAE,IAAI,OAAO,GAAE,SAAa,GAAE,EAAE,GAAE,GAAU,GAAE,GAAI,IAAG,0BAA0B,YAAY,GAAE,GAAE,GAAE,CAAC,GAAI,IAAE,GAAO,GAAE,GAAG,IAAG,EAAE,CAAC,EAAE,GAAE,IAAI,GAAI,IAAE,GAAE,OAAW,GAAE,EAAE,GAAE,WAAW,GAAG,KAAI,GAAI,GAAG,KAAI,QAAQ,CAAC,GAAI,IAAE,CAAC,QAAQ,SAAS,EAAE,GAAE,IAAI,GAAE,aAAa,EAAE,EAAE,GAAE,YAAY,EAAE,GAAE,IAAI,GAAI,IAAE,GAAG,GAAE,GAAE,SAAS,AAAG,IAAG,IAAE,YAAY,IAAE,GAAE,KAAK,YAAW,GAAE,QAAQ,UAAU,EAAG,GAAE,KAAK,CAAC,QAAQ,MAAM,SAAS,GAAE,OAAO,SAAS,CAAC,GAAI,IAAE,CAAC,QAAQ,IAAO,GAAE,GAAG,GAAE,GAAE,SAA+B,IAAnB,IAAG,IAAE,YAAY,IAAQ,GAAE,OAAO,GAAG,GAAE,KAAK,KAAI,CAAC,EAAE,GAAE,IAAI,GAAI,IAAE,GAAE,QAAQ,GAAG,KAAI,UAAW,GAAE,QAAQ,WAAa,KAAI,OAAQ,GAAE,KAAK,WAAa,KAAI,UAAW,GAAE,QAAQ,WAAa,KAAI,SAAS,GAAE,KAAK,IAAK,GAAE,QAAQ,GAAE,MAAM,EAAE,EAAE,GAAE,YAAY,KAAI,QAAQ,GAAE,KAAK,IAAI,CAAW,GAAV,GAAE,QAAW,GAAG,KAAK,GAAE,IAAK,GAAI,IAAE,GAAG,QAAO,CAAC,GAAI,IAAE,EAAE,GAAE,GAAG,GAAG,KAAI,WAAW,KAAI,QAAQ,KAAI,QAAQ,KAAI,WAAW,CAAC,GAAE,QAAQ,GAAI,IAAE,GAAG,IAAG,AAAG,GAAE,OAAO,GAAG,KAAG,IAAI,KAAI,GAAE,KAAK,OAAO,AAAG,MAAI,UAAU,GAAE,KAAK,IAAK,IAAE,QAAQ,GAAE,OAAO,GAAG,KAAQ,AAAG,KAAI,YAAY,GAAE,KAAK,IAAK,IAAE,QAAQ,GAAE,SAAS,EAAE,EAAE,GAAE,KAAS,AAAG,KAAI,SAAS,GAAE,KAAK,IAAK,IAAE,QAAQ,GAAE,MAAM,EAAE,GAAE,IAAQ,AAAG,KAAI,QAAQ,GAAE,KAAK,IAAK,IAAE,QAAQ,GAAE,IAAG,GAAG,KAAQ,AAAG,KAAI,aAAa,GAAE,KAAK,IAAK,IAAE,QAAQ,GAAE,IAAG,EAAE,GAAE,IAAQ,GAAG,GAAE,oBAAoB,CAAC,MAAM,GAAE,UAAW,GAAE,KAAK,IAAI,AAAG,GAAE,SAAS,IAAG,GAAG,GAAE,oBAAoB,CAAC,MAAM,GAAE,UAAU,EAAE,GAAE,UAAU,GAAE,KAAK,KAAK,GAAE,SAAS,MAAG,KAAG,IAAE,IAAG,IAAS,GAAE,YAAY,GAAE,CAAC,GAAI,IAAE,GAAG,GAAE,cAAkB,GAAE,GAAG,GAAG,GAAE,CAAC,GAAI,IAAE,EAAE,OAAO,kBAAkB,GAAE,IAAG,GAAE,KAAI,GAAG,GAAE,GAAE,IAAG,MAAG,IAAE,OAAO,EAAU,GAAU,EAAE,GAAE,QAAe,CAAC,CAAC,QAAQ,WAAmB,EAAE,GAAE,8CAAqD,CAAC,CAAC,QAAQ,UAAkB,EAAE,GAAE,IAAW,CAAC,CAAC,QAAQ,WAAsB,CAAC,CAAC,QAAQ,UAAW,YAAY,GAAE,CAAC,GAAG,IAAG,UAAU,GAAK,YAAY,GAAE,GAAE,GAAE,CAAC,GAAI,IAAE,GAAG,IAAG,GAAE,QAAQ,WAAW,UAAU,CAAC,AAAG,GAAG,KAAI,GAAE,YAAY,IAAU,IAAG,GAAE,GAAE,GAAG,kBAAkB,CAAC,YAAY,GAAE,OAAO,OAAM,GAAE,IAAG,GAAG,GAAE,GAAE,MAAK,GAAE,cAAc,YAAY,GAAE,CAAC,MAAO,UAAS,WAAW,GAAE,UAAU,GAAG,GAAE,SAAS,GAAG,GAAE,QAAQ,QAAQ,OAAO,EAAE,YAAY,GAAE,GAAE,GAAE,CAAC,GAAG,GAAE,UAAU,KAAK,GAAG,KAAK,IAAE,SAAS,IAAI,GAAE,SAAS,UAAU,GAAE,UAAU,OAAO,CAAC,GAAE,QAAQ,GAAK,GAAI,IAAE,GAAE,GAAG,GAAE,UAAU,IAAK,GAAE,MAAM,GAAE,GAAG,GAAE,YAAY,CAAC,GAAI,IAAE,GAAG,GAAE,UAAU,GAAE,GAAE,GAAE,cAAc,MAAqB,GAAE,GAAG,GAAE,UAAU,GAAE,QAAQ,SAAS,GAAE,CAAC,GAAG,GAAE,SAAS,GAAE,GAAE,CAAC,GAAG,EAAE,GAAE,EAAE,OAAO,iBAAiB,CAAC,EAAE,IAAG,OAAO,GAAG,GAAE,GAAE,GAAE,KAAI,GAAE,GAAE,OAAS,YAAY,GAAE,GAAE,CAAC,MAAG,OAAE,OAAO,UAAU,GAAE,OAAO,UAAY,IAAE,UAAU,QAAuB,EAAE,GAAE,iCAAiC,EAAE,GAAE,UAAU,MAAqB,GAAE,UAAU,KAAK,GAAE,MAAO,IAAE,aAAa,UAAU,KAAK,GAAE,aAAa,QAAQ,QAAQ,OAAO,KAA8B,YAAY,GAAE,GAAE,CAAC,MAAO,IAAG,IAAG,SAAS,GAAE,UAAU,KAAK,GAAE,OAAO,SAAU,IAAE,SAAS,GAAE,SAAS,YAAY,GAAE,GAAE,GAAE,CAAC,GAAI,IAAE,GAAE,YAAY,GAAG,GAAG,GAAG,CAAC,MAAO,IAAE,KAAK,GAAE,MAAK,SAAW,GAAN,CAAS,UAAG,KAAK,KAAK,yBAAyB,CAAC,MAAM,GAAE,OAAO,GAAE,SAAgB,GAAM,MAAO,GAAM,YAAY,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC,GAAI,IAAE,GAAG,IAAO,GAAE,AAAG,GAAE,KAAM,GAAE,EAAE,GAAE,GAAE,MAAW,GAAE,CAAC,IAAM,GAAE,SAAS,GAAE,QAAQ,SAAS,GAAE,CAAC,GAAI,IAAE,GAAG,IAAG,GAAE,UAAU,GAAE,QAAQ,GAAG,GAAE,SAAS,GAAE,CAAC,GAAI,IAAE,SAAS,GAAE,CAAC,GAAG,CAAC,GAAG,IAAG,CAAC,GAAE,oBAAoB,GAAE,QAAQ,IAAG,OAAO,GAAG,IAAG,GAAE,KAAc,MAAG,GAAG,GAAE,MAAI,GAAE,iBAAoB,IAAG,GAAE,GAAE,KAAW,IAAI,IAAE,GAAG,IAA0D,GAAvD,GAAE,YAAY,GAAK,GAAE,YAAY,MAAM,IAAE,WAAW,IAAM,GAAE,WAAW,QAAQ,IAAG,EAAE,CAAwD,GAAvD,GAAE,WAAW,KAAK,IAAM,GAAE,SAAS,GAAE,kBAAqB,GAAE,QAAQ,GAAE,QAAW,CAAC,EAAE,GAAE,OAAO,GAAE,QAAS,OAAQ,GAAG,GAAE,KAAK,CAAC,GAAG,GAAE,cAAe,OAAY,GAAE,cAAc,GAAM,GAAG,GAAE,QAAQ,CAAC,GAAI,IAAE,GAAG,IAAG,GAAG,GAAE,YAAY,GAAE,MAAO,OAAO,GAAE,UAAU,GAAE,MAA4C,GAAnC,GAAE,SAAS,aAAa,GAAE,SAAY,GAAE,SAAU,OAAO,AAAG,GAAE,SAAS,EAAO,GAAE,UAAU,IAAE,GAAE,IAAG,GAAE,SAAS,WAAW,UAAU,CAAC,GAAE,SAAS,MAAM,GAAE,WAAgB,AAAG,GAAE,MAAM,EAAG,GAAE,QAAQ,WAAW,UAAU,CAAC,GAAE,GAAE,KAAI,GAAE,OAAY,IAAG,GAAE,gBAAgB,GAAE,GAAE,QAAM,AAAG,GAAE,eAAe,MAAM,IAAE,cAAc,IAAG,GAAE,cAAc,KAAK,CAAC,QAAQ,GAAE,QAAQ,SAAS,GAAE,GAAG,KAAI,GAAE,iBAAiB,GAAE,QAAQ,MAAK,GAAI,IAAG,GAAU,GAAG,KAAK,aAAa,CAAC,AAAI,IAAI,IAAG,UAAU,CAAC,GAAG,IAAM,OAAO,iBAAiB,SAAS,IAAI,YAAY,UAAU,CAAC,AAAG,IAAI,IAAG,GAAM,GAAG,KAAK,iBAAiB,wDAAwD,SAAS,GAAE,CAAC,GAAG,QAAO,MAAM,YAAY,GAAE,CAAC,GAAG,CAAC,EAAE,GAAE,qBAAqB,EAAE,IAAG,CAAC,GAAE,aAAa,mBAAmB,QAAQ,GAAI,IAAE,GAAG,IAAG,AAAG,GAAE,SAAU,GAAG,GAAE,YAAiB,GAAE,iBAAiB,wBAAwB,SAAS,GAAE,CAAC,GAAG,GAAE,aAAa,CAAC,KAAK,MAAS,YAAY,GAAE,GAAE,GAAE,CAAY,OAAP,IAAE,EAAE,IAAW,GAAE,EAAE,GAAE,GAAE,OAAO,KAAI,CAAC,GAAI,IAAE,GAAE,IAAG,MAAM,SAAS,AAAG,GAAE,KAAK,WAAW,GAAG,GAAE,GAAE,GAAG,GAAM,GAAE,KAAK,QAAQ,GAAG,KAAK,YAAY,GAAE,GAAE,GAAE,CAAC,GAAG,EAAC,GAAG,IAAW,IAAG,GAAE,QAAQ,MAAM,EAAE,CAAC,GAAI,IAAE,SAAS,SAAU,UAAS,KAAK,IAAI,SAAS,KAAK,IAAI,AAAG,SAAS,UAAU,SAAU,GAAE,SAAS,GAAE,GAAU,SAAS,UAAU,SAAS,IAAE,QAAQ,GAAE,IAAG,GAAI,IAAE,EAAE,gBAAgB,IAAG,GAAE,QAAQ,SAAS,GAAE,CAAC,GAAG,GAAE,eAAe,CAAC,MAAM,GAAE,OAAO,KAAI,GAAG,KAAI,GAAE,QAAQ,SAAS,GAAE,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,QAAQ,GAAE,OAAO,EAAE,CAAC,GAAI,IAAE,GAAG,IAAG,WAAW,UAAU,CAAC,GAAG,GAAE,GAAE,GAAE,IAAI,MAAK,GAAE,OAAO,SAAS,GAAE,CAAC,GAAE,GAAG,GAAG,IAAG,UAAU,GAAE,GAAE,iBAAiB,UAAU,SAAS,GAAE,CAAC,GAAG,IAAG,IAAW,IAAI,IAAE,GAAE,KAAK,EAAE,GAAE,SAAS,GAAE,CAAC,GAAE,GAAE,kBAAkB,GAAE,KAAK,MAA+C,OAAtC,IAAE,EAAE,IAAO,GAAE,EAAE,IAAO,GAAE,EAAE,GAAE,UAAkB,GAAE,EAAE,GAAE,GAAE,OAAO,KAAI,CAAC,GAAI,IAAE,GAAE,IAAG,GAAG,GAAG,GAAE,gBAAgB,OAAO,GAAE,IAAG,GAAG,GAAE,WAAS,YAAY,GAAE,CAAC,GAAG,CAAC,GAAG,IAAI,UAAG,IAAG,UAAU,QAAe,GAAM,YAAY,GAAE,CAAC,GAAI,IAAE,EAAE,GAAE,SAAS,GAAE,CAAC,MAAO,IAAG,IAAG,WAAW,OAAO,AAAG,GAAG,GAAE,iBAAiB,GAAG,IAAG,GAAG,QAAQ,SAAS,GAAE,CAAC,GAAI,IAAE,GAAG,IAAG,UAAc,GAAE,GAAG,GAAE,IAAO,GAAE,GAAG,GAAE,QAAY,GAAE,GAAE,OAAW,GAAE,GAAE,OAAW,GAAE,GAAG,IAAO,GAAE,GAAG,GAAE,IAAO,GAAE,GAAG,GAAE,IAAkB,GAAf,GAAE,QAAW,GAAK,IAAG,GAAE,OAAO,EAAE,CAAC,GAAG,GAAE,yBAAyB,IAAG,OAAO,GAAE,KAAK,KAAK,UAAU,KAAO,GAAG,GAAE,KAAI,GAAE,mBAAyB,GAAG,GAAE,+BAAgC,YAAY,GAAE,CAAC,GAAI,IAAE,EAAE,OAAO,iBAAiB,GAAG,MAAO,KAAI,WAAY,MAAO,IAAE,IAAG,GAAG,KAAI,cAAc,CAAC,GAAI,IAAE,KAAK,IAAI,GAAE,GAAO,GAAE,IAAI,KAAK,IAAI,EAAE,IAAG,MAAO,IAAE,KAAK,SAAS,EAAE,sFAAsF,YAAY,GAAE,GAAE,GAAE,CAAY,OAAP,IAAE,EAAE,IAAW,GAAE,EAAE,GAAE,GAAE,OAAO,KAAI,CAAC,GAAI,IAAE,GAAE,IAAG,MAAM,SAAS,AAAG,GAAE,KAAK,WAAW,GAAG,GAAE,GAAE,IAAO,GAAE,KAAK,QAAQ,GAAG,GAAE,GAAE,KAAM,YAAY,GAAE,GAAE,CAAC,GAAI,IAAE,EAAE,kBAAkB,IAAG,GAAE,QAAQ,SAAS,GAAE,CAAC,GAAG,GAAE,gBAAgB,CAAC,MAAM,GAAE,OAAO,KAAI,GAAG,KAAI,GAAG,IAAG,eAAe,GAAE,YAAY,GAAE,GAAE,CAAC,GAAI,IAAE,EAAE,GAAE,IAAI,GAAG,GAAE,CAAC,GAAI,IAAE,GAAG,IAAG,eAAmB,GAAE,SAAS,GAAE,CAAC,GAAG,IAAG,IAAW,IAAG,CAAC,GAAG,IAAG,CAAC,GAAE,oBAAoB,GAAE,IAAG,OAAO,GAAI,IAAE,GAAE,KAAK,EAAE,GAAE,SAAS,GAAE,CAAC,GAAE,GAAE,kBAAkB,GAAE,KAAK,MAAK,GAAI,IAAE,GAAG,IAAO,GAAE,GAAG,IAAO,GAAE,EAAE,IAAG,GAAG,GAAE,UAAU,GAAE,GAAE,GAAE,IAAG,GAAG,GAAE,OAAO,GAAG,GAAE,kBAAkB,MAAI,GAAG,IAAG,YAAY,GAAE,GAAE,iBAAiB,GAAE,QAAQ,IAAG,GAAE,yBAA0B,YAAY,GAAE,GAAE,GAAE,CAAC,GAAI,IAAE,EAAE,GAAE,IAAI,GAAG,GAAE,CAAC,GAAI,IAAE,GAAG,IAAG,eAAmB,GAAE,UAAU,CAAC,AAAI,GAAG,KAAI,CAAG,GAAG,IAAI,GAAE,IAAQ,GAAE,oBAAoB,GAAE,MAAM,GAAG,IAAG,YAAY,GAAE,GAAE,iBAAiB,GAAE,QAAQ,IAAG,GAAE,yBAA0B,YAAY,GAAE,CAAC,GAAG,CAAC,GAAG,IAAI,UAAG,IAAG,eAAe,QAAe,GAAM,YAAY,GAAE,CAAC,MAAO,IAAG,IAAG,gBAAgB,KAAK,YAAY,GAAE,GAAE,GAAE,GAAE,CAAC,GAAI,IAAE,UAAU,CAAC,AAAI,GAAE,QAAQ,IAAE,OAAO,GAAK,GAAE,MAAK,AAAG,GAAE,EAAG,WAAW,GAAE,IAAQ,KAAK,YAAY,GAAE,GAAE,GAAE,CAAC,GAAI,IAAE,GAAM,UAAG,EAAE,SAAS,GAAE,CAAC,GAAG,EAAE,GAAE,MAAM,IAAG,CAAC,GAAI,IAAE,GAAG,GAAE,MAAM,IAAG,GAAE,GAAK,GAAE,KAAK,GAAE,GAAE,KAAK,GAAE,GAAE,QAAQ,SAAS,GAAE,CAAC,GAAG,GAAE,GAAE,GAAE,SAAS,GAAE,GAAE,CAAC,GAAG,EAAE,GAAE,EAAE,OAAO,iBAAiB,CAAC,EAAE,IAAG,OAAO,GAAG,GAAE,GAAE,GAAE,WAAiB,GAAE,YAAY,GAAE,GAAE,GAAE,GAAE,CAAC,GAAG,GAAE,SAAU,GAAG,GAAE,GAAE,GAAE,kBAAkB,GAAE,UAAU,WAAY,KAAK,GAAG,GAAE,GAAE,GAAE,IAAG,GAAG,YAAW,GAAE,UAAU,YAAY,CAAC,GAAI,IAAE,GAAG,AAAG,GAAE,MAAM,IAAE,KAAK,GAAG,GAAE,GAAE,OAAS,GAAE,WAAW,IAAE,UAAU,WAAW,GAAE,YAAW,GAAI,IAAE,GAAI,sBAAqB,SAAS,GAAE,CAAC,OAAQ,IAAE,EAAE,GAAE,GAAE,OAAO,KAAI,CAAC,GAAI,IAAE,GAAE,IAAG,GAAG,GAAE,eAAe,CAAC,GAAG,GAAE,aAAa,SAAS,IAAG,GAAE,QAAQ,IAAG,GAAG,GAAE,GAAE,GAAE,QAAQ,AAAG,IAAE,UAAU,OAAY,GAAG,GAAE,GAAE,GAAG,OAAO,CAAC,IAAI,OAAM,GAAG,GAAE,GAAE,GAAE,GAAE,OAAa,AAAG,GAAE,aAAa,EAAG,IAAE,QAAQ,GAAK,GAAG,GAAE,GAAE,KAAQ,GAAG,GAAE,GAAE,GAAE,IAAI,YAAY,GAAE,CAAC,GAAG,CAAC,GAAE,cAAc,EAAE,OAAO,iBAAkB,IAAE,OAAO,mBAAmB,GAAE,OAAO,UAAU,GAAE,OAAO,IAAI,CAAC,GAAI,IAAE,KAAK,cAAc,UAAU,GAAG,GAAE,WAAW,SAAS,GAAE,CAAC,GAAE,aAAa,GAAE,KAAK,GAAE,SAAS,GAAE,YAAY,GAAE,YAAY,GAAE,MAAM,GAAS,EAAE,OAAO,mBAAmB,IAAE,MAAM,EAAE,OAAO,mBAAkB,GAAI,IAAE,GAAE,cAAc,GAAG,CAAC,GAAE,aAAa,GAAE,UAAS,GAAN,CAAS,EAAE,WAAG,CAAQ,AAAG,GAAE,eAAe,GAAE,cAAc,YAAY,MAAM,YAAY,GAAE,CAAC,AAAG,EAAE,GAAE,WAAW,GAAG,IAAG,GAAG,EAAE,GAAE,UAAU,SAAS,GAAE,CAAC,GAAG,MAAK,YAAY,GAAE,CAAC,GAAI,IAAE,GAAE,WAAW,GAAG,CAAC,GAAG,MAAO,GAAM,OAAQ,IAAE,EAAE,GAAE,GAAE,OAAO,KAAI,CAAC,GAAI,IAAE,GAAE,IAAG,KAAK,GAAG,EAAE,GAAE,WAAW,EAAE,GAAE,gBAAgB,EAAE,GAAE,WAAW,EAAE,GAAE,eAAgB,MAAO,GAAM,MAAO,GAAM,YAAY,GAAE,CAAC,GAAI,IAAE,KAAS,GAAE,GAAuB,GAAjB,GAAG,KAAI,GAAE,KAAK,IAAM,SAAS,SAAiM,OAAnL,IAAE,SAAS,SAAS,yJAA4J,IAAS,GAAE,GAAE,eAAc,GAAE,KAAK,YAAW,MAAO,IAAE,sBAAuB,WAA8C,OAA9B,IAAE,GAAE,qBAAqB,KAAa,GAAE,EAAE,GAAE,GAAE,OAAO,KAAK,AAAG,GAAG,GAAE,MAAK,GAAE,KAAK,GAAE,KAAM,MAAO,IAAE,YAAY,GAAE,CAAC,GAAG,GAAE,iBAAiB,CAAC,GAAI,IAAE,mEAAuE,GAAE,GAAE,iBAAiB,EAAE,GAAE,4JAA+J,MAAO,QAAO,OAAM,GAAI,YAAY,GAAE,CAAC,GAAI,IAAE,EAAE,GAAE,OAAO,gCAAoC,GAAE,GAAG,IAAG,AAAG,IAAG,IAAE,kBAAkB,IAAG,YAAY,GAAE,CAAC,GAAI,IAAE,GAAG,IAAG,AAAG,IAAG,IAAE,kBAAkB,MAAM,YAAY,GAAE,CAAC,GAAI,IAAE,EAAE,GAAE,OAAO,gCAAgC,GAAG,EAAC,GAAU,IAAI,IAAE,EAAE,IAAI,GAAG,GAAE,UAAU,EAAE,GAAE,QAAQ,GAAG,EAAC,GAAU,MAAO,IAAG,KAAG,YAAY,GAAE,CAAC,GAAE,iBAAiB,QAAQ,IAAI,GAAE,iBAAiB,UAAU,IAAI,GAAE,iBAAiB,WAAW,IAAI,YAAY,GAAE,CAAqB,OAAhB,IAAE,GAAG,IAAO,GAAE,EAAU,GAAE,EAAE,GAAE,GAAE,OAAO,KAAI,CAAC,GAAM,IAAE,GAAE,IAAG,AAAG,KAAI,IAAK,KAAY,KAAI,KAAK,KAAK,MAAO,IAAE,YAAY,GAAE,GAAE,GAAE,CAAC,GAAI,IAAE,GAAG,IAAG,AAAI,MAAM,QAAQ,GAAE,aAAa,IAAE,WAAW,IAAG,GAAI,IAAM,GAAE,SAAS,GAAE,CAAC,MAAO,IAAG,GAAE,UAAU,CAAC,AAAI,IAAG,IAAE,GAAI,UAAS,QAAQ,KAAG,GAAE,KAAK,GAAE,OAAM,GAAE,iBAAiB,GAAE,IAAG,GAAE,WAAW,KAAK,CAAC,MAAM,GAAE,SAAS,KAAI,YAAY,GAAE,CAAC,GAAI,IAAE,GAAG,GAAE,SAAS,GAAG,GAAE,CAAiD,OAA5C,IAAE,GAAO,GAAE,GAAE,MAAM;AAAA,GAAU,GAAE,KAAS,GAAE,EAAQ,GAAE,OAAO,GAAE,CAAC,GAAI,IAAE,GAAE,QAAY,GAAE,GAAE,MAAM,6BAA6B,AAAG,KAAI,GAAG,GAAG,IAAE,MAAM,KAAK,GAAE,GAAE,GAAG,MAAM,EAAE,IAAI,GAAE,IAAG,GAAE,IAAQ,GAAE,KAAI,GAAE,IAAG,GAAG,IAAG,OAAQ,MAAK,IAAG,GAAG,GAAE,GAAE,GAAE,MAAM,YAAY,GAAE,CAAC,GAAG,IAAG,OAAQ,IAAE,EAAE,GAAE,GAAE,WAAW,OAAO,KAAI,CAAC,GAAI,IAAE,GAAE,WAAW,IAAG,KAAS,GAAE,GAAE,WAAW,IAAG,MAAM,GAAG,EAAE,GAAE,UAAU,EAAE,GAAE,cAAc,CAAC,GAAI,IAAE,GAAE,QAAQ,OAAO,EAAM,GAAE,GAAE,MAAM,GAAE,GAAE,GAAG,GAAG,KAAI,KAAK,KAAI,IAAI,CAAC,GAAI,IAAE,GAAE,MAAM,GAAE,GAAG,AAAG,EAAE,GAAE,KAAM,GAAE,OAAO,GAAO,AAAG,EAAE,GAAE,KAAM,GAAE,QAAQ,GAAE,MAAM,GAAW,EAAE,GAAE,UAAU,IAAE,QAAQ,GAAE,MAAM,IAAG,GAAG,GAAE,GAAE,OAAM,YAAY,GAAE,CAAC,GAAG,EAAE,GAAE,EAAE,OAAO,iBAAiB,CAAC,EAAE,IAAG,OAAO,GAAI,IAAE,GAAG,IAAG,GAAG,GAAE,WAAW,GAAG,IAAG,CAAC,GAAG,IAAG,GAAE,SAAS,GAAG,IAAG,GAAG,IAAG,GAAG,GAAE,0BAA6B,GAAE,OAAO,IAAE,UAAU,GAAE,OAAM,GAAI,IAAE,GAAG,IAAO,GAAE,GAAG,GAAE,GAAE,IAAG,AAAI,IAAG,CAAG,GAAG,GAAE,cAAc,OAAQ,GAAG,GAAE,GAAE,IAAW,EAAE,GAAE,eAAe,GAAE,QAAQ,SAAS,GAAE,CAAC,GAAG,GAAE,GAAE,GAAE,UAAU,OAAU,IAAE,UAAU,QAAQ,GAAG,GAAE,UAAU,UAAU,EAAE,GAAE,UAAS,GAAG,IAAG,GAAI,IAAE,GAAG,GAAE,UAAU,AAAG,IAAG,GAAG,GAAE,GAAE,IAAG,GAAI,IAAE,GAAG,GAAE,SAAS,AAAG,IAAG,GAAG,GAAE,GAAE,IAAG,GAAG,GAAE,0BAA0B,YAAY,GAAE,CAAQ,GAAP,GAAE,EAAE,IAAM,EAAE,GAAE,EAAE,OAAO,iBAAiB,CAAC,EAAE,IAAG,OAAO,GAAG,IAAG,GAAG,GAAG,IAAG,SAAS,GAAE,CAAC,GAAG,MAAK,GAAG,GAAG,IAAG,IAAI,YAAY,GAAE,CAAC,MAAO,IAAE,QAAQ,qBAAqB,SAAS,cAAc,YAAY,GAAE,GAAE,CAAC,GAAI,IAAE,MAAG,QAAO,aAAa,MAAO,QAAO,aAAc,WAAY,GAAE,GAAI,aAAY,GAAE,CAAC,QAAQ,GAAK,WAAW,GAAK,OAAO,KAAS,IAAE,KAAK,YAAY,eAAe,GAAE,gBAAgB,GAAE,GAAK,GAAK,KAAU,GAAE,YAAY,GAAE,GAAE,GAAE,CAAC,GAAG,GAAE,GAAE,GAAG,CAAC,MAAM,IAAG,KAAI,YAAY,GAAE,CAAC,MAAO,MAAI,wBAAwB,WAAW,GAAE,GAAE,CAAC,GAAG,GAAG,IAAG,SAAS,GAAE,CAAC,GAAG,CAAC,GAAE,UAAS,GAAN,CAAS,EAAE,OAAM,WAAW,GAAE,CAAC,AAAG,QAAQ,MAAO,QAAQ,MAAM,IAAW,QAAQ,KAAK,QAAQ,IAAI,UAAU,IAAI,YAAY,GAAE,GAAE,GAAE,CAAC,GAAE,EAAE,IAAM,IAAG,MAAM,IAAE,IAAG,GAAE,IAAO,GAAE,GAAI,IAAE,GAAG,GAAE,IAAG,AAAG,EAAE,QAAQ,CAAC,GAAG,KAAI,EAAE,OAAO,GAAE,GAAE,IAAM,GAAE,OAAO,GAAE,GAAE,OAAO,GAAG,GAAE,aAAa,CAAC,UAAU,MAAI,GAAI,IAAE,GAAE,cAAc,IAAO,GAAE,GAAG,IAAG,GAAG,IAAG,KAAI,GAAE,CAAC,GAAI,IAAE,GAAG,GAAE,GAAE,QAAQ,GAAE,IAAG,GAAE,cAAc,IAAG,SAAE,GAAE,SAAS,GAAE,CAAC,GAAE,IAAI,GAAE,QAAQ,GAAE,MAAK,IAAO,CAAC,GAAE,mBAA2B,GAAE,GAAI,IAAG,SAAS,SAAS,SAAS,OAAO,aAAa,CAAC,GAAI,IAAE,KAAK,cAAc,0CAA0C,MAAO,KAAG,KAAK,KAAK,YAAY,GAAE,GAAE,GAAE,GAAE,CAAC,GAAG,EAAC,IAAY,IAAG,EAAE,OAAO,kBAAkB,EAAE,CAAC,aAAa,WAAW,sBAAsB,OAAO,GAAE,EAAE,IAA2D,OAApD,IAAE,EAAE,aAAa,QAAQ,wBAAwB,GAAW,GAAE,EAAE,GAAE,GAAE,OAAO,KAAK,GAAG,GAAE,IAAG,MAAM,GAAE,CAAC,GAAE,OAAO,GAAE,GAAG,MAAO,GAAI,IAAE,CAAC,IAAI,GAAE,QAAQ,GAAE,MAAM,GAAE,OAAO,IAAsE,IAAnE,GAAG,KAAK,KAAK,0BAA0B,CAAC,KAAK,GAAE,MAAM,KAAI,GAAE,KAAK,IAAS,GAAE,OAAO,EAAE,OAAO,kBAAkB,GAAE,QAAQ,KAAM,GAAE,OAAO,GAAG,GAAG,CAAC,aAAa,QAAQ,qBAAqB,KAAK,UAAU,KAAI,YAAY,GAAN,CAAS,GAAG,KAAK,KAAK,yBAAyB,CAAC,MAAM,GAAE,MAAM,KAAI,GAAE,UAAU,YAAY,GAAE,CAAC,GAAG,CAAC,IAAK,MAAO,MAAK,GAAE,EAAE,IAA2D,OAApD,IAAE,EAAE,aAAa,QAAQ,wBAAwB,GAAW,GAAE,EAAE,GAAE,GAAE,OAAO,KAAK,GAAG,GAAE,IAAG,MAAM,GAAG,MAAO,IAAE,IAAI,MAAO,MAAK,YAAY,GAAE,CAAC,GAAI,IAAE,EAAE,OAAO,aAAiB,GAAE,GAAE,UAAU,IAAM,UAAG,EAAE,GAAE,IAAI,IAAG,SAAS,GAAE,CAAC,EAAE,GAAE,MAAY,GAAE,UAAU,aAAa,CAAC,GAAI,IAAE,KAAS,GAAE,IAAI,SAAS,SAAS,SAAS,OAAW,GAAE,GAAG,CAAC,GAAE,KAAK,cAAc,4DAA4D,GAAN,CAAS,GAAE,KAAK,cAAc,kDAAkD,AAAI,IAAG,IAAG,KAAK,KAAK,yBAAyB,CAAC,KAAK,GAAE,WAAW,KAAI,GAAG,GAAE,GAAG,IAAG,KAAK,MAAM,OAAO,UAAY,EAAE,OAAO,gBAAe,QAAQ,aAAa,CAAC,KAAK,IAAM,KAAK,MAAM,OAAO,SAAS,MAAM,YAAY,GAAE,CAAC,AAAG,EAAE,OAAO,qBAAqB,IAAE,GAAE,QAAQ,kCAAkC,IAAO,GAAE,GAAE,MAAM,EAAE,GAAE,OAAM,IAAE,GAAE,MAAM,EAAE,MAAQ,EAAE,OAAO,gBAAgB,QAAQ,UAAU,CAAC,KAAK,IAAM,GAAG,IAAG,GAAG,GAAE,YAAY,GAAE,CAAC,AAAG,EAAE,OAAO,gBAAe,QAAQ,aAAa,CAAC,KAAK,IAAM,GAAG,IAAG,GAAG,GAAE,YAAY,GAAE,CAAC,GAAG,GAAE,SAAS,GAAE,CAAC,GAAE,SAAS,YAAY,GAAE,CAAC,GAAI,IAAE,GAAI,gBAAmB,GAAE,CAAC,KAAK,GAAE,IAAI,IAAG,GAAG,KAAK,KAAK,wBAAwB,IAAG,GAAE,KAAK,MAAM,GAAE,IAAM,GAAE,iBAAiB,aAAa,QAAQ,GAAE,iBAAiB,6BAA6B,QAAQ,GAAE,iBAAiB,iBAAiB,KAAK,SAAS,MAAM,GAAE,OAAO,UAAU,CAAC,GAAG,KAAK,QAAQ,KAAK,KAAK,OAAO,IAAI,CAAC,GAAG,KAAK,KAAK,4BAA4B,IAAG,GAAI,IAAE,EAAE,KAAK,UAAU,GAAE,GAAE,cAAc,2CAA2C,GAAE,GAAI,IAAE,KAAS,GAAE,EAAE,IAAO,GAAE,GAAG,KAAK,UAAU,GAAG,GAAE,CAAC,GAAI,IAAE,EAAE,SAAS,AAAG,GAAG,GAAE,UAAU,GAAO,OAAO,SAAS,MAAM,GAAG,GAAG,GAAE,GAAE,IAAG,GAAG,GAAE,OAAO,GAAG,GAAE,GAAG,KAAK,KAAK,sBAAsB,CAAC,KAAK,GAAE,UAAU,GAAK,eAAe,KAAK,eAAgB,IAAG,KAAK,KAAK,iCAAiC,KAAK,GAAE,OAAO,YAAY,GAAE,CAAC,KAAK,GAAE,IAAG,SAAS,SAAS,SAAS,OAAO,GAAI,IAAE,GAAG,IAAG,GAAG,GAAE,CAAC,GAAI,IAAE,EAAE,GAAE,SAAa,GAAE,KAAS,GAAE,EAAE,IAAG,GAAG,GAAE,GAAE,IAAG,GAAG,GAAE,OAAO,SAAS,MAAM,GAAE,MAAM,WAAW,UAAU,CAAC,OAAO,SAAS,EAAE,GAAE,SAAS,GAAG,GAAG,GAAE,GAAG,KAAK,KAAK,sBAAsB,CAAC,KAAK,GAAE,KAAK,SAAS,AAAG,GAAE,OAAO,qBAAsB,OAAO,SAAS,OAAO,IAAW,GAAG,IAAK,YAAY,GAAE,CAAC,GAAI,IAAE,GAAG,GAAE,gBAAgB,MAAG,KAAG,MAAM,IAAE,CAAC,KAAG,GAAG,GAAE,SAAS,GAAE,CAAC,GAAI,IAAE,GAAG,IAAG,GAAE,aAAc,IAAE,cAAc,GAAG,EAAE,GAAE,UAAU,IAAO,KAAK,GAAE,UAAU,EAAE,OAAO,gBAAuB,GAAE,YAAY,GAAE,CAAC,GAAI,IAAE,GAAG,GAAE,mBAAmB,MAAG,KAAG,MAAM,IAAE,IAAG,GAAG,GAAE,SAAS,GAAE,CAAC,GAAI,IAAE,GAAG,IAAG,GAAE,aAAc,IAAE,cAAc,GAAG,EAAE,GAAE,aAAa,WAAW,MAAa,GAAE,YAAY,GAAE,GAAE,CAAC,GAAG,GAAE,SAAS,GAAE,CAAC,GAAI,IAAE,GAAG,IAAG,GAAE,aAAc,IAAE,cAAc,GAAG,EAAK,GAAE,eAAe,GAAG,GAAE,UAAU,OAAU,KAAK,GAAE,UAAU,EAAE,OAAO,gBAAiB,GAAG,GAAE,SAAS,GAAE,CAAC,GAAI,IAAE,GAAG,IAAG,GAAE,aAAc,IAAE,cAAc,GAAG,EAAK,GAAE,eAAe,GAAG,GAAE,gBAAgB,cAAe,YAAY,GAAE,GAAE,CAAC,OAAQ,IAAE,EAAE,GAAE,GAAE,OAAO,KAAI,CAAC,GAAI,IAAE,GAAE,IAAG,GAAG,GAAE,WAAW,IAAI,MAAO,GAAM,MAAO,GAAM,YAAY,GAAE,CAAmF,MAA/E,IAAE,OAAO,IAAI,GAAE,MAAM,MAAM,GAAE,UAAU,EAAE,GAAE,uBAAuC,GAAE,OAAO,UAAU,GAAE,OAAO,UAAU,GAAE,UAAU,SAAS,GAAE,UAAU,SAAS,GAAE,UAAU,OAAe,GAAS,GAAE,OAAO,YAAY,GAAE,OAAO,QAAgB,GAAE,QAAe,GAAK,YAAY,GAAE,GAAE,GAAE,CAAC,GAAG,IAAG,MAAM,IAAG,KAAK,CAAC,GAAI,IAAE,GAAE,IAAG,AAAG,KAAI,OAAW,GAAE,IAAG,GAAO,AAAG,MAAM,QAAQ,IAAI,AAAG,MAAM,QAAQ,IAAI,GAAE,IAAG,GAAE,OAAO,IAAQ,GAAE,KAAK,IAAS,AAAG,MAAM,QAAQ,IAAI,GAAE,IAAG,CAAC,IAAG,OAAO,IAAQ,GAAE,IAAG,CAAC,GAAE,KAAM,YAAY,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC,GAAG,MAAG,MAAM,GAAG,GAAE,KAA0B,IAAV,GAAE,KAAK,IAAM,GAAG,IAAG,CAAC,GAAI,IAAE,GAAG,GAAE,QAAY,GAAE,GAAE,MAAM,AAAG,GAAE,UAAU,GAAE,UAAU,UAAU,IAAE,EAAE,GAAE,iBAAiB,mBAAmB,IAAI,SAAS,GAAE,CAAC,MAAO,IAAE,SAAW,GAAE,OAAO,IAAE,EAAE,GAAE,QAAO,GAAG,GAAE,GAAE,IAAM,IAAG,GAAG,GAAE,IAAI,GAAG,EAAE,GAAE,QAAQ,CAAC,GAAI,IAAE,GAAE,SAAS,GAAG,GAAE,SAAS,GAAE,CAAC,GAAG,GAAE,GAAE,GAAE,GAAE,QAAM,YAAY,GAAE,GAAE,CAAC,AAAG,GAAE,cAAc,IAAG,GAAE,4BAAgC,GAAE,iBAAiB,IAAE,KAAK,CAAC,IAAI,GAAE,QAAQ,GAAE,kBAAkB,SAAS,GAAE,WAAW,GAAG,GAAE,yBAAyB,CAAC,QAAQ,GAAE,kBAAkB,SAAS,GAAE,aAAa,YAAY,GAAE,GAAE,CAAC,GAAI,IAAE,GAAO,GAAE,GAAO,GAAE,GAAO,GAAE,GAAO,GAAE,GAAG,IAAG,AAAG,GAAE,mBAAmB,CAAC,GAAG,GAAE,oBAAoB,IAAE,kBAAkB,MAAK,GAAI,IAAE,EAAE,GAAE,SAAS,GAAE,aAAa,IAAM,GAAG,GAAE,iBAAiB,OAAkI,GAAxH,GAAE,mBAAmB,IAAE,IAAG,GAAE,kBAAkB,iBAAiB,IAAQ,KAAI,OAAO,GAAG,GAAE,GAAE,GAAE,EAAE,GAAE,QAAQ,IAAG,GAAG,GAAE,GAAE,GAAE,GAAE,IAAM,GAAE,mBAAmB,GAAE,UAAU,UAAU,GAAE,UAAU,SAAS,GAAG,GAAE,UAAU,SAAS,CAAC,GAAI,IAAE,GAAE,mBAAmB,GAAM,GAAE,GAAG,GAAE,QAAQ,GAAG,GAAE,GAAE,MAAM,IAAG,GAAI,IAAE,GAAG,GAAE,cAAc,UAAG,GAAE,SAAS,GAAE,CAAC,GAAG,GAAE,GAAE,GAAE,GAAE,IAAO,EAAE,GAAE,SAAS,GAAG,GAAE,iBAAiB,IAAI,SAAS,GAAE,CAAC,GAAG,GAAE,GAAE,GAAE,GAAE,QAAQ,GAAE,GAAG,GAAE,IAAS,CAAC,OAAO,GAAE,OAAO,IAAG,YAAY,GAAE,GAAE,GAAE,CAAC,AAAG,KAAI,IAAI,KAAG,KAAO,OAAO,MAAK,mBAAmB,IAAE,KAAK,UAAU,KAAG,GAAI,IAAE,mBAAmB,IAAG,WAAG,mBAAmB,IAAG,IAAI,GAAS,GAAE,YAAY,GAAE,CAAC,GAAI,IAAE,GAAG,OAAQ,MAAK,IAAG,GAAG,GAAE,eAAe,IAAG,CAAC,GAAI,IAAE,GAAE,IAAG,AAAG,MAAM,QAAQ,IAAI,GAAG,GAAE,SAAS,GAAE,CAAC,GAAE,GAAG,GAAE,GAAE,MAAU,GAAE,GAAG,GAAE,GAAE,IAAK,MAAO,IAAE,YAAY,GAAE,CAAC,GAAI,IAAE,GAAI,UAAS,OAAQ,MAAK,IAAG,GAAG,GAAE,eAAe,IAAG,CAAC,GAAI,IAAE,GAAE,IAAG,AAAG,MAAM,QAAQ,IAAI,GAAG,GAAE,SAAS,GAAE,CAAC,GAAE,OAAO,GAAE,MAAU,GAAE,OAAO,GAAE,IAAK,MAAO,IAAE,YAAY,GAAE,GAAE,GAAE,CAAC,GAAI,IAAE,CAAC,aAAa,OAAO,aAAa,GAAG,GAAE,MAAM,kBAAkB,GAAG,GAAE,QAAQ,YAAY,GAAG,GAAE,MAAM,iBAAiB,KAAK,SAAS,MAAM,UAAG,GAAE,aAAa,GAAM,IAAM,KAAI,QAAW,IAAE,aAAa,IAAK,GAAG,IAAG,SAAS,IAAE,cAAc,QAAc,GAAE,YAAY,GAAE,GAAE,CAAC,GAAI,IAAE,GAAG,GAAE,aAAa,GAAG,GAAE,CAAC,GAAG,KAAI,OAAQ,MAAM,GAAQ,GAAG,KAAI,IAAK,MAAO,IAAO,GAAG,GAAE,QAAQ,UAAU,EAAG,UAAG,GAAE,OAAO,GAAG,MAAM,KAAK,SAAS,GAAE,CAAC,GAAE,GAAE,OAAO,MAAO,IAAE,MAAY,GAAO,GAAI,IAAE,GAAG,UAAG,GAAE,MAAM,KAAK,SAAS,GAAE,CAAC,GAAE,GAAE,OAAO,GAAE,IAAG,GAAE,MAAY,OAAQ,OAAO,IAAG,YAAY,GAAE,CAAC,MAAO,IAAG,GAAE,SAAS,GAAG,GAAE,QAAQ,QAAQ,MAAM,EAAE,YAAY,GAAE,GAAE,CAAC,GAAI,IAAE,IAAI,GAAG,GAAE,WAAe,GAAE,CAAC,UAAU,GAAG,IAAG,QAAQ,YAAY,EAAE,OAAO,iBAAiB,UAAU,EAAE,OAAO,iBAAiB,YAAY,EAAE,OAAO,oBAA8F,GAAvE,EAAE,OAAO,uBAAuB,GAAG,IAAG,SAAS,CAAC,GAAG,KAAI,IAAE,KAAQ,OAAS,GAAE,CAAC,GAAI,IAAE,EAAE,IAAG,GAAG,GAAE,OAAO,EAAG,OAAQ,IAAE,EAAE,GAAE,GAAE,OAAO,KAAI,CAAC,GAAI,IAAE,GAAE,IAAG,GAAG,GAAE,QAAQ,WAAW,EAAG,GAAE,UAAa,EAAE,GAAE,OAAO,YAAY,GAAE,QAAQ,aAAa,EAAG,GAAE,YAAe,EAAE,GAAE,OAAO,YAAY,GAAE,QAAQ,iBAAiB,EAAG,GAAE,WAAc,GAAE,OAAO,MAAM,eAAe,GAAE,QAAQ,kBAAkB,EAAG,GAAE,YAAe,GAAE,OAAO,MAAM,eAAe,GAAE,QAAQ,aAAa,EAAE,CAAC,GAAI,IAAE,GAAE,OAAO,GAAO,GAAE,GAAE,MAAM,KAAS,GAAE,GAAE,MAAU,GAAE,GAAE,OAAO,EAAE,GAAE,KAAK,KAAK,KAAK,GAAE,OAAU,GAAE,GAAE,aAAgB,WAAU,GAAE,QAAQ,WAAW,EAAE,CAAC,GAAI,IAAE,GAAE,OAAO,GAAO,GAAE,GAAE,MAAM,KAAS,GAAE,GAAE,MAAU,GAAE,GAAE,OAAO,EAAE,GAAE,KAAK,KAAK,KAAK,GAAE,KAAQ,GAAE,GAAE,WAAc,WAAU,GAAE,QAAQ,mBAAmB,EAAE,CAAC,GAAI,IAAE,GAAE,OAAO,gBAAgB,QAAQ,GAAE,YAAe,IAAG,WAAY,AAAG,KAAG,EAAG,GAAE,UAAa,GAAO,EAAE,gCAAgC,KAAM,MAAO,IAAE,YAAY,GAAE,CAAC,MAAO,IAAG,GAAE,iBAAiB,uBAAuB,EAAE,GAAE,SAAS,GAAG,GAAE,aAAa,sBAAsB,YAAY,GAAE,GAAE,GAAE,CAAC,GAAI,IAAE,KAAgE,MAA3D,GAAE,GAAE,SAAS,GAAE,CAAC,AAAG,IAAG,MAAM,IAAE,GAAE,iBAAiB,GAAE,GAAE,OAAS,IAAG,KAAa,GAAU,GAAG,IAAW,GAAG,IAAe,GAAG,IAAK,WAAW,GAAE,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,KAAI,YAAY,GAAE,GAAE,CAAC,GAAI,IAAE,GAAE,GAAO,GAAE,GAAE,GAAE,OAAO,GAAG,GAAG,GAAE,OAAO,CAAC,GAAI,IAAE,KAAK,AAAG,GAAE,cAAc,IAAE,GAAG,GAAE,GAAE,eAAiB,GAAE,SAAS,OAAQ,KAAG,KAAI,IAAE,IAAG,GAAE,GAAE,UAAU,GAAK,GAAE,SAAS,UAAW,KAAG,KAAI,IAAE,IAAG,GAAE,GAAE,UAAU,GAAE,cAAc,GAAG,GAAE,KAAK,CAAC,GAAI,IAAE,KAAK,GAAG,GAAE,WAAW,CAAC,GAAI,IAAE,GAAE,WAAW,AAAG,GAAE,aAAa,UAAU,IAAE,QAAO,GAAE,GAAG,GAAE,IAAG,AAAG,GAAE,OAAO,OAAQ,KAAG,KAAI,IAAE,IAAG,GAAE,GAAE,eAAe,CAAC,MAAM,QAAQ,SAAS,EAAE,OAAO,kBAAoB,GAAE,OAAO,UAAW,KAAG,KAAI,IAAE,IAAG,GAAE,GAAE,eAAe,CAAC,MAAM,MAAM,SAAS,EAAE,OAAO,mBAAmB,YAAY,GAAE,GAAE,GAAE,GAAE,CAAkB,GAAd,IAAG,MAAM,IAAE,IAAM,IAAG,KAAM,MAAO,IAAE,GAAI,IAAE,GAAG,GAAE,IAAG,GAAG,GAAE,CAAC,GAAI,IAAE,GAAE,OAAW,GAAE,GAAE,GAAG,KAAI,QAAS,MAAO,MAAK,AAAG,GAAE,QAAQ,iBAAiB,EAAG,IAAE,GAAE,OAAO,IAAI,GAAE,IAAa,GAAE,QAAQ,SAAS,GAAG,IAAE,GAAE,OAAO,GAAG,GAAE,IAAQ,GAAE,QAAQ,OAAO,GAAG,IAAE,IAAI,GAAE,KAAI,GAAI,IAAE,AAAG,GAAG,GAAE,GAAG,GAAE,UAAU,CAAC,MAAO,UAAS,WAAW,GAAE,QAAQ,IAAS,GAAE,EAAE,IAAG,OAAQ,MAAK,IAAG,AAAG,GAAE,eAAe,KAAO,GAAE,KAAI,MAAM,IAAE,IAAG,GAAE,KAAM,MAAO,IAAG,EAAE,IAAG,GAAE,GAAE,IAAG,YAAY,GAAE,GAAE,GAAE,CAAC,MAAG,GAAE,OAAO,UAAkB,KAAS,IAAG,GAAE,4BAAmC,IAAG,YAAY,GAAE,GAAE,CAAC,MAAO,IAAG,GAAE,UAAU,GAAK,IAAG,YAAY,GAAE,GAAE,CAAC,MAAO,IAAG,GAAE,UAAU,GAAM,IAAG,YAAY,GAAE,CAAC,MAAO,IAAG,GAAG,IAAG,GAAG,KAAI,YAAY,GAAE,GAAE,GAAE,CAAC,GAAG,KAAI,KAAM,GAAG,CAAC,GAAE,iBAAiB,GAAE,UAAS,GAAN,CAAS,GAAE,iBAAiB,GAAE,mBAAmB,KAAI,GAAE,iBAAiB,GAAE,mBAAmB,SAAU,YAAY,GAAE,CAAC,GAAG,GAAE,aAAa,MAAO,MAAM,YAAa,GAAG,CAAC,GAAI,IAAE,GAAI,KAAI,GAAE,aAAa,MAAO,IAAE,SAAS,GAAE,aAAa,GAAN,CAAS,GAAG,KAAK,KAAK,sBAAsB,CAAC,IAAI,GAAE,eAAgB,WAAW,GAAE,GAAE,CAAC,MAAO,IAAE,KAAK,GAAE,yBAAyB,YAAY,GAAE,GAAE,GAAE,CAAmB,MAAlB,IAAE,GAAE,cAAiB,GAAM,aAAa,UAAS,EAAE,GAAE,UAAkB,GAAG,GAAE,GAAE,KAAK,KAAK,CAAC,eAAe,EAAE,IAAG,cAAc,KAAmB,GAAG,GAAE,GAAE,EAAE,GAAE,QAAQ,GAAE,MAAM,CAAC,QAAQ,GAAE,QAAQ,QAAQ,GAAE,QAAQ,OAAO,GAAE,OAAO,eAAe,EAAE,GAAE,QAAQ,aAAa,GAAE,KAAK,OAAO,GAAE,OAAO,cAAc,KAAoB,GAAG,GAAE,GAAE,KAAK,KAAK,CAAC,cAAc,KAAQ,YAAY,GAAE,CAAU,OAAL,IAAE,GAAS,IAAG,GAAE,KAAK,IAAG,GAAE,GAAE,cAAc,MAAO,IAAE,YAAY,GAAE,GAAE,GAAE,CAAC,GAAI,IAAM,GAAE,GAAG,MAAO,MAAM,WAAW,CAAC,GAAE,GAAI,KAAI,GAAE,SAAS,SAAS,MAAM,GAAI,IAAE,SAAS,SAAS,OAAO,GAAE,KAAI,GAAE,WAAY,IAAE,GAAE,GAAE,EAAE,GAAE,SAAS,SAAS,QAAQ,MAAG,GAAE,OAAO,kBAAqB,CAAC,GAAU,GAAc,GAAG,GAAE,mBAAmB,GAAG,CAAC,IAAI,GAAE,SAAS,IAAG,KAAI,YAAY,GAAE,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC,GAAI,IAAE,KAAS,GAAE,KAAoB,GAAf,GAAE,IAAG,KAAK,GAAE,GAAM,GAAE,eAAe,MAAO,UAAU,YAAa,GAAI,IAAE,GAAI,SAAQ,SAAS,GAAE,GAAE,CAAC,GAAE,GAAE,GAAE,KAAI,AAAG,IAAG,MAAM,IAAE,KAAK,MAAK,GAAI,IAAE,GAAE,SAAS,GAAO,GAAE,GAAE,QAAQ,KAAK,GAAG,CAAC,GAAG,IAAI,UAAG,IAAU,GAAE,GAAI,IAAE,GAAE,gBAAgB,GAAG,IAAG,GAAG,IAAG,MAAM,IAAG,GAAI,UAAG,GAAE,mBAAmB,CAAC,OAAO,GAAG,GAAE,eAAe,GAAG,IAAU,GAAE,GAAI,IAAE,GAAG,IAAO,GAAE,GAAE,kBAAkB,GAAG,GAAE,CAAC,GAAI,IAAE,GAAG,GAAE,cAAc,AAAG,IAAG,MAAM,IAAE,IAAE,GAAI,IAAE,GAAG,GAAE,cAAc,AAAG,IAAG,MAAS,GAAE,gBAAgB,UAAU,IAAE,IAAI,GAAI,IAAE,GAAG,GAAE,cAAc,GAAG,KAAI,OAAU,CAAC,GAAI,IAAE,SAAS,GAAE,CAAC,MAAO,IAAG,GAAE,GAAE,GAAE,GAAE,GAAE,CAAC,CAAC,KAAQ,GAAE,CAAC,OAAO,GAAE,IAAI,GAAE,KAAK,GAAE,KAAK,GAAE,gBAAgB,GAAE,IAAI,GAAE,aAAa,GAAE,SAAS,IAAG,GAAG,GAAG,GAAE,eAAe,MAAK,GAAO,UAAG,IAAU,GAAG,GAAI,IAAE,GAAM,GAAE,GAAG,GAAE,WAAe,GAAE,KAAS,GAAE,GAAM,GAAG,GAAE,CAAC,GAAI,IAAE,GAAE,MAAM,KAAS,GAAE,GAAE,GAAG,OAAuF,GAAhF,AAAG,KAAI,OAAQ,GAAE,GAAG,GAAE,WAAgB,GAAE,GAAG,GAAE,IAAG,GAAG,IAAE,IAAI,QAAQ,OAAO,GAAE,GAAG,IAAM,KAAI,QAAQ,GAAE,KAAK,GAAE,YAAY,GAAM,UAAG,IAAU,GAAO,GAAG,KAAI,QAAQ,CAAC,GAAG,GAAE,IAAK,UAAG,IAAU,GAAO,GAAE,WAAc,KAAI,UAAW,GAAG,GAAE,sBAAsB,GAAE,QAAQ,WAAW,EAAE,CAAC,GAAI,IAAE,GAAE,MAAM,KAAK,GAAG,IAAE,IAAI,QAAQ,QAAQ,GAAG,GAAE,IAAK,GAAG,GAAE,UAAW,GAAG,GAAE,kBAAkB,CAAC,GAAG,IAAG,KAAK,CAAC,GAAG,GAAE,CAAC,GAAI,IAAE,GAAG,IAAG,AAAG,IAAG,GAAE,aAAa,GAAE,YAAY,OAAO,IAAE,GAAE,YAAY,OAAO,AAAG,IAAG,MAAM,IAAE,QAAQ,MAAG,IAAE,gBAAgB,MAAM,IAAE,eAAe,IAAG,AAAG,KAAI,SAAS,GAAE,eAAe,SAAS,EAAG,GAAE,eAAe,KAAK,UAAU,CAAC,GAAG,GAAE,GAAE,GAAE,GAAE,MAAU,AAAG,KAAI,MAAO,GAAE,eAAe,KAAK,UAAU,CAAC,GAAG,GAAE,GAAE,GAAE,GAAE,MAAa,KAAI,QAAQ,IAAE,eAAe,GAAG,GAAE,eAAe,KAAK,UAAU,CAAC,GAAG,GAAE,GAAE,GAAE,GAAE,OAAK,GAAG,IAAU,GAAG,GAAI,IAAE,GAAI,gBAAe,GAAE,IAAI,GAAE,GAAE,UAAU,GAAE,GAAI,IAAE,UAAU,CAA8B,GAA7B,GAAE,IAAI,KAAK,GAAE,UAAU,GAAS,GAAE,gBAAgB,MAAM,GAAE,eAAe,OAAO,EAAE,CAAC,GAAI,IAAE,GAAE,eAAe,QAAQ,OAAU,GAAE,GAAG,GAAE,aAAa,GAAG,GAAE,CAAC,GAAI,IAAE,OAAO,IAAG,GAAG,KAAI,MAAM,CAAC,GAAG,GAAE,cAAc,CAAC,OAAO,GAAE,OAAO,KAAK,UAAG,IAAG,KAAW,GAAG,GAAG,IAAG,CAAC,IAAM,CAAC,QAAQ,IAAI,UAAG,IAAG,KAAW,GAAG,GAAI,IAAE,GAAG,GAAE,GAAE,IAAG,AAAG,KAAI,OAAO,CAAC,GAAG,KAAI,IAAE,gBAAgB,qCAAuC,GAAE,SAAS,IAAE,GAAG,GAAE,GAAE,UAAS,GAAI,IAAE,GAAG,GAAE,IAAO,GAAE,GAAE,OAAW,GAAE,GAAE,OAAO,AAAG,GAAE,QAAQ,IAAE,GAAG,GAAE,GAAE,SAAQ,GAAI,IAAE,GAAG,IAAO,GAAE,GAAG,GAAE,IAAO,GAAE,GAAG,GAAE,IAAG,AAAG,EAAE,OAAO,qBAAqB,KAAI,OAAO,IAAE,yBAAyB,GAAG,GAAE,OAAO,QAAU,KAAG,MAAM,KAAI,KAAI,IAAE,KAAK,SAAS,MAAK,GAAI,IAAE,GAAG,GAAE,cAAkB,GAAE,GAAG,IAAG,QAAY,GAAE,EAAE,OAAO,wBAAwB,QAAQ,KAAI,EAAM,GAAE,CAAC,QAAQ,GAAE,aAAa,GAAE,WAAW,GAAE,qBAAqB,GAAE,QAAQ,GAAE,OAAO,GAAE,KAAK,GAAE,OAAO,GAAE,gBAAgB,GAAE,aAAa,GAAE,aAAa,EAAE,OAAO,gBAAgB,QAAQ,GAAE,SAAS,GAAE,SAAS,EAAE,OAAO,QAAQ,KAAK,GAAE,gBAAgB,IAAG,GAAG,CAAC,GAAG,GAAE,qBAAqB,IAAI,UAAG,IAAG,KAAW,GAA2E,GAAzE,GAAE,GAAE,KAAK,GAAE,GAAE,KAAK,GAAE,GAAE,QAAQ,GAAE,GAAE,WAAW,GAAE,GAAE,OAAO,GAAE,GAAE,aAAgB,IAAG,GAAE,OAAO,EAAG,UAAG,GAAE,yBAAyB,IAAG,GAAG,IAAG,KAAW,GAAE,GAAI,IAAE,GAAE,MAAM,KAAS,GAAE,GAAE,GAAO,GAAE,GAAE,GAAO,GAAE,GAAE,GAAG,GAAE,CAAC,GAAE,GAAE,GAAI,IAAE,OAAO,KAAK,IAAG,SAAS,EAAE,AAAG,IAAG,CAAG,GAAE,QAAQ,KAAK,EAAG,IAAG,IAAS,IAAG,IAAI,IAAG,GAAG,IAAM,IAAG,KAAG,IAAI,KAAI,GAAG,CAAC,GAAG,GAAE,GAAE,IAAI,UAAG,GAAE,mBAAmB,IAAG,GAAG,IAAU,GAAyH,GAAvH,GAAE,KAAK,GAAE,cAAc,GAAE,IAAM,GAAE,iBAAiB,aAAa,GAAE,gBAAgB,GAAE,gBAAgB,GAAE,QAAQ,GAAE,QAAW,IAAE,WAAiB,OAAQ,MAAK,IAAG,GAAG,GAAE,eAAe,IAAG,CAAC,GAAI,IAAE,GAAE,IAAG,GAAG,GAAE,GAAE,KAAK,GAAI,IAAE,CAAC,IAAI,GAAE,OAAO,GAAE,cAAc,GAAE,IAAI,GAAE,QAAQ,GAAE,OAAO,GAAE,SAAS,CAAC,YAAY,GAAE,iBAAiB,GAAE,OAAO,KAAunB,GAAnnB,GAAE,OAAO,UAAU,CAAC,GAAG,CAAC,GAAI,IAAE,GAAG,IAAuG,GAApG,GAAE,SAAS,aAAa,GAAG,IAAG,GAAE,GAAE,IAAG,GAAG,GAAE,IAAG,GAAG,GAAE,oBAAoB,IAAG,GAAG,GAAE,mBAAmB,IAAM,CAAC,GAAG,IAAG,CAAY,OAAP,IAAE,KAAW,GAAE,OAAO,GAAG,IAAG,MAAK,CAAC,GAAI,IAAE,GAAE,QAAQ,AAAG,GAAG,KAAI,IAAE,IAAG,AAAG,IAAG,IAAG,GAAE,oBAAoB,IAAG,GAAG,GAAE,mBAAmB,KAAI,GAAG,IAAG,WAAU,GAAN,CAAS,SAAG,GAAE,mBAAmB,GAAG,CAAC,MAAM,IAAG,KAAU,KAAI,GAAE,QAAQ,UAAU,CAAC,GAAG,GAAE,IAAG,GAAG,GAAE,oBAAoB,IAAG,GAAG,GAAE,iBAAiB,IAAG,GAAG,IAAG,MAAK,GAAE,QAAQ,UAAU,CAAC,GAAG,GAAE,IAAG,GAAG,GAAE,oBAAoB,IAAG,GAAG,GAAE,iBAAiB,IAAG,GAAG,IAAG,MAAK,GAAE,UAAU,UAAU,CAAC,GAAG,GAAE,IAAG,GAAG,GAAE,oBAAoB,IAAG,GAAG,GAAE,eAAe,IAAG,GAAG,IAAG,MAAQ,CAAC,GAAG,GAAE,qBAAqB,IAAI,UAAG,IAAG,KAAW,GAAE,GAAI,IAAE,GAAG,IAAO,GAAE,GAAG,IAAG,GAAG,CAAC,YAAY,UAAU,WAAW,SAAS,SAAS,GAAE,CAAC,GAAG,CAAC,GAAE,GAAE,QAAQ,SAAS,GAAE,CAAC,GAAE,iBAAiB,GAAE,SAAS,GAAE,CAAC,GAAG,GAAE,YAAY,GAAE,CAAC,iBAAiB,GAAE,iBAAiB,OAAO,GAAE,OAAO,MAAM,GAAE,cAAc,GAAG,GAAE,kBAAkB,IAAG,GAAI,IAAE,GAAE,KAAK,GAAG,GAAE,GAAE,IAAG,UAAE,KAAK,IAAU,GAAE,YAAY,GAAE,GAAE,CAAC,GAAI,IAAE,GAAE,IAAQ,GAAE,KAAS,GAAE,KAAqO,GAAhO,AAAG,EAAE,GAAE,aAAc,IAAE,GAAE,kBAAkB,WAAW,GAAE,QAAY,AAAG,EAAE,GAAE,iBAAkB,IAAE,GAAE,kBAAkB,eAAe,GAAE,QAAe,EAAE,GAAE,qBAAqB,IAAE,GAAE,kBAAkB,kBAAkB,GAAE,WAAa,GAAG,MAAG,MAAI,QAAe,GAAc,CAAC,KAAK,GAAE,KAAK,IAAI,GAAI,IAAE,GAAE,SAAS,iBAAqB,GAAE,GAAE,SAAS,aAAiB,GAAE,GAAG,GAAE,eAAmB,GAAE,GAAG,GAAE,kBAAsB,GAAE,GAAG,IAAG,QAAY,GAAE,KAAS,GAAE,KAA8E,MAAzE,AAAG,IAAG,IAAE,OAAO,GAAE,IAAO,AAAG,GAAG,IAAE,UAAU,GAAE,IAAU,IAAG,IAAE,OAAO,GAAE,IAAG,IAAK,GAAM,KAAI,QAAe,GAAM,MAAI,QAAQ,IAAE,IAAG,IAAK,GAAE,SAAS,QAAQ,GAAE,QAAQ,OAAO,IAAI,IAAE,GAAE,IAAI,GAAE,SAAS,QAAa,CAAC,KAAK,GAAE,KAAK,KAAc,GAAI,YAAY,GAAE,GAAE,CAAC,GAAI,IAAE,GAAE,IAAQ,GAAE,GAAE,OAAW,GAAE,GAAE,IAAQ,GAAE,GAAE,cAAkB,GAAE,GAAE,OAAO,GAAG,EAAC,GAAG,GAAE,oBAAoB,IAAuD,IAA1C,EAAE,GAAE,iBAAiB,GAAG,GAAE,aAAa,IAAM,EAAE,GAAE,iBAAiB,CAAC,KAAK,GAAI,IAAE,GAAE,kBAAkB,eAAmB,GAAE,AAAG,GAAE,QAAQ,OAAO,GAAG,IAAE,EAAE,IAAG,GAAE,GAAE,KAAQ,MAAO,IAAE,MAAQ,GAAG,MAAM,GAAE,IAAG,KAAK,UAAU,CAAC,GAAG,MAAK,OAAO,GAAI,IAAE,EAAE,GAAE,iBAAiB,AAAS,GAAE,kBAAkB,gBAA7B,OAA2C,GAAG,EAAE,GAAE,iBAAiB,CAAC,SAAS,KAAK,GAAE,kBAAkB,eAAe,IAAG,SAAS,SAAS,OAAO,GAAG,GAAE,CAAC,SAAS,SAAS,OAAO,AAAG,EAAE,GAAE,kBAAkB,CAAG,GAAE,kBAAkB,iBAAiB,OAAQ,GAAE,OAAO,GAAO,GAAE,OAAO,GAAG,GAAE,GAAE,kBAAkB,iBAAiB,GAAI,IAAE,GAAG,GAAE,IAAO,GAAE,GAAE,QAAQ,KAAK,GAAE,OAAO,KAAK,GAAE,SAAS,IAAQ,GAAE,GAAE,SAAa,GAAE,GAAE,QAAQ,IAAQ,GAAE,EAAE,OAAO,YAAgB,GAAE,GAAG,CAAC,WAAW,GAAE,eAAe,GAAE,QAAQ,GAAE,YAAY,IAAG,IAAG,GAAG,EAAC,GAAG,GAAE,kBAAkB,IAA0G,IAAhG,GAAE,GAAE,OAAO,GAAE,GAAE,eAAe,GAAE,GAAE,QAAQ,GAAE,GAAE,YAAY,GAAE,OAAO,GAAE,GAAE,OAAO,GAAE,GAAE,WAAW,CAAC,GAAK,GAAE,WAAW,CAAC,AAAG,GAAE,SAAS,KAAK,GAAG,IAAG,EAAE,GAAE,SAAS,GAAE,CAAC,GAAE,GAAE,kBAAkB,GAAE,GAAE,MAAQ,GAAE,MAAM,KAAK,GAAI,IAAE,GAAE,aAAa,AAAG,EAAE,GAAE,gBAAgB,IAAE,GAAE,kBAAkB,cAAa,GAAI,IAAE,GAAG,GAAE,IAAG,AAAG,GAAE,eAAe,gBAAgB,IAAE,GAAE,aAAY,GAAE,UAAU,IAAI,EAAE,OAAO,eAAe,GAAI,IAAE,KAAS,GAAE,KAAS,GAAE,UAAU,CAAC,GAAG,CAAC,GAAI,IAAE,SAAS,cAAkB,GAAE,GAAG,GAAG,CAAC,GAAE,CAAC,IAAI,GAAE,MAAM,GAAE,GAAE,eAAe,KAAK,IAAI,GAAE,GAAE,aAAa,YAAY,GAAN,EAAU,GAAI,IAAE,AAAG,IAAG,IAAE,IAAK,EAAE,GAAE,kBAAkB,IAAE,GAAE,kBAAkB,gBAAkB,GAAE,MAAM,IAAG,KAAK,KAAK,2BAA2B,GAAG,CAAC,QAAQ,IAAG,KAAI,AAAG,GAAE,OAAO,OAAQ,IAAG,GAAE,MAAM,GAAG,KAAK,KAAK,yBAAyB,CAAC,KAAK,GAAE,QAAY,IAAG,GAAE,MAAM,GAAG,KAAK,KAAK,yBAAyB,CAAC,KAAK,GAAE,SAAQ,GAAI,IAAE,EAAE,IAA6B,GAA1B,GAAG,GAAE,UAAU,GAAE,GAAE,GAAE,GAAE,IAAM,GAAE,KAAK,CAAC,GAAG,GAAE,MAAM,GAAG,GAAE,IAAI,MAAM,CAAC,GAAI,IAAE,SAAS,eAAe,GAAG,GAAE,IAAI,OAAW,GAAE,CAAC,cAAc,GAAE,cAAc,OAAU,CAAC,GAAE,YAAY,CAAC,EAAE,OAAO,oBAAoB,GAAG,GAAE,CAAC,GAAG,GAAE,OAAO,GAAE,kBAAmB,GAAG,CAAC,GAAE,kBAAkB,GAAE,MAAM,GAAE,WAAW,GAAN,EAAW,GAAE,MAAM,KAAwJ,GAApJ,GAAE,UAAU,OAAO,EAAE,OAAO,eAAe,GAAG,GAAE,KAAK,SAAS,GAAE,CAAC,AAAG,GAAE,WAAW,GAAE,UAAU,IAAI,EAAE,OAAO,eAAe,GAAG,GAAE,iBAAiB,MAAQ,EAAE,GAAE,2BAA2B,CAAC,GAAI,IAAE,GAAE,AAAI,GAAG,KAAI,IAAE,KAAK,MAAK,GAAG,GAAE,wBAAwB,IAAG,GAAI,IAAE,UAAU,CAAiJ,GAAhJ,GAAG,GAAE,MAAM,SAAS,GAAE,CAAC,GAAE,SAAS,GAAG,GAAE,KAAK,SAAS,GAAE,CAAC,AAAG,GAAE,WAAW,GAAE,UAAU,OAAO,EAAE,OAAO,eAAe,GAAG,GAAE,mBAAmB,MAAQ,GAAE,SAAS,OAAO,CAAC,GAAI,IAAE,KAAK,eAAe,GAAE,SAAS,QAAQ,AAAG,IAAG,GAAE,eAAe,CAAC,MAAM,QAAQ,SAAS,SAAU,GAAG,GAAE,OAAO,CAAC,GAAE,CAAC,GAAI,IAAE,EAAE,SAAS,AAAG,GAAG,GAAE,UAAU,GAAE,MAAW,OAAO,SAAS,MAAM,GAAE,MAAoB,GAAb,GAAG,GAAE,KAAK,IAAM,EAAE,GAAE,6BAA6B,CAAC,GAAI,IAAE,GAAE,AAAI,GAAG,KAAI,IAAE,KAAK,MAAK,GAAG,GAAE,0BAA0B,IAAG,GAAG,KAAI,AAAG,GAAE,YAAY,EAAG,WAAW,GAAE,GAAE,aAAkB,WAAW,GAAN,CAAS,SAAG,GAAE,iBAAiB,IAAG,GAAG,IAAS,KAAQ,GAAE,EAAE,OAAO,sBAAwE,GAA/C,GAAE,eAAe,eAAe,IAAE,GAAE,YAAc,IAAG,GAAG,GAAE,wBAAwB,KAAI,MAAO,UAAU,aAAa,SAAS,oBAAoB,CAAC,GAAI,IAAE,GAAI,SAAQ,SAAS,GAAE,GAAE,CAAC,GAAE,GAAE,GAAE,KAAQ,GAAE,GAAE,GAAE,UAAU,CAAC,SAAS,oBAAoB,UAAU,CAAC,YAAW,MAAK,AAAG,GAAE,UAAU,EAAG,WAAW,GAAE,GAAE,WAAgB,KAAK,AAAG,IAAG,GAAG,GAAE,qBAAqB,GAAG,CAAC,MAAM,8BAA8B,GAAE,OAAO,SAAS,GAAE,SAAS,aAAa,OAAK,GAAI,IAAG,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,SAAS,GAAE,CAAC,MAAO,OAAM,QAAQ,SAAS,GAAE,GAAE,CAAC,MAAO,IAAM,kBAAkB,SAAS,GAAE,GAAE,GAAE,CAAC,MAAO,KAAG,aAAa,SAAS,GAAE,CAAC,MAAO,IAAO,WAAW,SAAS,GAAE,GAAE,GAAE,GAAE,CAAC,MAAO,IAAO,iBAAiB,SAAS,GAAE,GAAE,GAAE,CAAC,MAAO,QAAO,YAAY,GAAE,GAAE,CAAC,AAAG,GAAE,MAAM,GAAE,KAAK,GAAG,GAAG,IAAG,GAAG,KAAK,IAAG,YAAY,GAAE,CAAC,MAAO,IAAG,IAAG,YAAY,GAAE,GAAE,GAAE,CAAC,GAAG,IAAG,KAAW,MAAO,IAAE,AAAG,IAAG,MAAW,IAAE,IAAM,IAAG,MAAW,IAAE,IAAG,GAAI,IAAE,GAAG,GAAE,UAAU,MAAG,KAAG,GAAG,GAAE,MAAM,KAAK,SAAS,GAAE,CAAsB,GAArB,GAAE,GAAE,QAAQ,KAAK,IAAO,GAAE,MAAM,EAAE,IAAI,UAAU,CAAC,GAAE,KAAK,GAAE,MAAM,IAAI,OAAO,GAAG,GAAE,QAAQ,IAAG,EAAE,CAAC,GAAI,IAAE,GAAG,IAAG,AAAG,IAAG,GAAE,QAAQ,IAAG,GAAG,GAAE,KAAK,OAAc,GAAG,EAAE,IAAG,GAAE,IAAG,GAAI,IAAG,GAAM,KAAK,iBAAiB,mBAAmB,UAAU,CAAC,GAAG,KAAO,YAAY,GAAE,CAAC,AAAG,IAAI,KAAK,aAAa,WAAY,KAAS,KAAK,iBAAiB,mBAAmB,IAAI,aAAa,CAAC,AAAG,EAAE,OAAO,yBAAyB,IAAO,KAAK,KAAK,mBAAmB,YAAY,iCAAiC,EAAE,OAAO,eAAe,qCAAqC,EAAE,OAAO,aAAa,KAAK,EAAE,OAAO,eAAe,yEAAyE,EAAE,OAAO,aAAa,IAAI,EAAE,OAAO,eAAe,+EAAgF,aAAa,CAAC,GAAI,IAAE,KAAK,cAAc,4BAA4B,MAAG,IAAU,EAAE,GAAE,SAAqB,KAAM,aAAa,CAAC,GAAI,IAAE,KAAK,AAAG,IAAG,GAAE,OAAO,GAAG,EAAE,OAAO,KAAI,UAAG,UAAU,CAAC,KAAK,KAAK,GAAI,IAAE,KAAK,KAAK,GAAG,IAAG,GAAI,IAAE,KAAK,iBAAiB,wDAAwD,GAAE,iBAAiB,aAAa,SAAS,GAAE,CAAC,GAAI,IAAE,GAAE,OAAW,GAAE,GAAG,IAAG,AAAG,IAAG,GAAE,KAAK,GAAE,IAAI,UAAW,GAAM,IAAE,OAAO,WAAW,OAAO,WAAW,KAAK,QAAQ,KAAK,OAAO,WAAW,SAAS,GAAE,CAAC,AAAG,GAAE,OAAO,GAAE,MAAM,KAAM,MAAK,GAAG,GAAE,SAAS,GAAE,CAAC,GAAG,GAAE,gBAAgB,CAAC,SAAS,KAAK,aAAa,QAAe,IAAG,GAAE,KAAM,WAAW,UAAU,CAAC,GAAG,GAAE,YAAY,IAAI,GAAE,MAAM,KAAY,kQCgB999C,YAAmB,GAAc,GAA6B,CAC7D,GAAO,MAAM,OAAO,QAAS,IAAS,CACrC,GAAS,MAII,QAAgB,CAI9B,aAAa,CAAA,KAFN,QAAO,OAGb,KAAK,QAAU,GAGhB,GAAG,GAAe,GAAc,CAC/B,GAAU,GAAQ,IAAU,CAC3B,GAAM,IAAc,KAAK,QAAQ,KAAU,GAC3C,GAAY,KAAK,IACjB,KAAK,QAAQ,IAAS,KAIxB,IAAI,GAAe,GAAc,CAChC,GAAI,IAAI,UAAU,OAClB,GAAI,KAAM,EAAG,CACZ,KAAK,QAAU,GACf,OAGD,GAAU,GAAQ,IAAU,CAE3B,GAAI,KAAM,EAAE,CACX,MAAO,MAAK,QAAQ,IACpB,OAGD,GAAM,IAAc,KAAK,QAAQ,IACjC,AAAI,KAAgB,QAEpB,IAAY,OAAO,GAAY,QAAQ,IAAM,GAC7C,KAAK,QAAQ,IAAS,MAIxB,QAAQ,MAAkB,GAAS,CAClC,GAAI,IAAO,KAEX,GAAU,GAAQ,IAAU,CAC3B,GAAM,IAAc,GAAK,QAAQ,IACjC,AAAI,KAAgB,QACpB,GAAY,QAAQ,IAAO,CAC1B,GAAI,MAAM,GAAM,SClCL,YAAqB,GAAgB,CAEnD,UAAU,QAAU,GAEb,aAAc,GAAS,CAAA,eAAA,GAAA,CAAA,MAAA,GAAA,IAAA,KAEtB,QAAmB,CACzB,MAAY,GACZ,SAAY,GACZ,UAAY,GACZ,OAAY,UAQN,QAAO,GAAa,GAAsC,CAChE,GAAU,QAAQ,IAAQ,CACzB,KAAS,GACT,GAAS,IAoBX,kBAAkB,GAA4C,CAC7D,GAAI,IAAK,GACT,GAAM,IAAQ,KACR,GAAiB,GAEvB,GAAI,MAAM,QAAQ,IACjB,GAAQ,QAAS,IAA4B,CAC5C,AAAI,MAAO,KAAW,SACrB,GAAM,KAAK,IAEX,IAAK,QAAQ,SAAS,GAAO,MAAQ,GAAO,QAC5C,GAAM,KAAK,GAAO,iBAGV,GACV,IAAK,KAAO,IACX,AAAI,GAAQ,eAAe,KAC1B,IAAK,QAAQ,SAAS,IAAO,GAAQ,IACrC,GAAM,KAAK,KAKd,KAAO,GAAO,GAAM,SACnB,GAAK,QAAQ,IAIf,WAAW,GAAa,CACvB,GAAI,IAAU,KACV,GAAU,GAAK,QACf,GAAU,GAAU,QAAQ,IAEhC,GAAI,CAAC,GAAU,QAAQ,eAAe,IACrC,KAAM,IAAI,OAAM,mBAAsB,GAAO,YAG9C,GAAQ,UAAU,IAAQ,GAC1B,GAAQ,OAAO,IAAQ,GAAO,GAAG,MAAM,GAAM,CAAC,GAAK,QAAQ,SAAS,KAAS,KAC7E,GAAQ,MAAM,KAAK,IAOpB,QAAQ,GAAa,CACpB,GAAI,IAAO,KACP,GAAU,GAAK,QAEnB,GAAI,CAAC,GAAK,QAAQ,OAAO,eAAe,IAAO,CAC9C,GAAI,GAAQ,UAAU,IACrB,KAAM,IAAI,OAAM,oCAAsC,GAAO,MAE9D,GAAK,WAAW,IAGjB,MAAO,IAAQ,OAAO,MCnIzB,AAQA,GAAM,IAAiB,IACrB,IAAQ,GAAM,OAAO,SAEjB,GAAM,OAAS,EACV,GAAM,IAAM,GAGd,GAAe,KAAU,EAAI,IAAM,GAAM,KAAK,IAAM,IAAM,MAAQ,GAAM,KAAK,KAAO,KAOvF,GAAkB,IAAS,CAC/B,GAAI,CAAC,GAAc,IACjB,MAAO,IAAM,KAAK,IAGpB,GAAI,IAAU,GACV,GAAkB,EAEhB,GAAe,IAAM,CACzB,AAAI,GAAkB,GACpB,KAAW,IAAM,GAAkB,MAIvC,UAAM,QAAQ,CAAC,GAAM,KAAM,CACzB,GAAI,KAAS,GAAM,GAAI,GAAI,CACzB,KACA,OAGF,KACA,IAAW,GACX,GAAkB,IAEpB,KACO,IAUH,GAAe,IAAS,CAC5B,GAAI,IAAQ,GAAQ,IACpB,MAAO,IAAe,KAQlB,GAAgB,IACb,GAAI,KAAI,IAAO,OAAS,GAAM,OAQjC,GAAe,IACX,IAAM,IAAI,QAAQ,qCAAsC,QAQ5D,GAAiB,IACd,GAAM,OAAO,CAAC,GAAS,KAAU,KAAK,IAAI,GAAS,GAAc,KAAS,GAM7E,GAAgB,IACb,GAAQ,IAAK,OAOhB,GAAU,IAAK,MAAM,KAAK,ICpGhC,AAOA,GAAM,IAAgB,IAAS,CAC7B,GAAI,GAAM,SAAW,EAAG,MAAO,CAAC,CAAC,KAGjC,GAAI,IAAS,GACP,GAAQ,GAAM,UAAU,GAE9B,MADa,IAAc,IACtB,QAAQ,SAAU,GAAW,CAChC,GAAI,IAAM,GAAU,MAAM,GAC1B,GAAI,GAAK,GAAM,OAAO,GAAK,GAAI,GAC/B,GAAO,KAAK,IACZ,GAAM,GAAU,MAAM,GACtB,GAAI,QAAQ,GAAM,OAAO,IACzB,GAAO,KAAK,MAEP,ICtBT,AAcA,GAAM,IAAc,CAAC,CAAC,EAAG,QACnB,GAAa,kCAGf,GAGA,GACE,GAAkB,EAGlB,GAAgB,GAGhB,GAAkB,CACtB,IAAK,eACL,IAAK,SACL,EAAK,qBACL,GAAM,SACN,GAAM,mBACN,GAAM,SACN,GAAM,SACN,GAAM,eACN,GAAM,SACN,EAAK,qBACL,EAAK,2BACL,EAAK,mDACL,EAAK,2BACL,EAAK,eACL,EAAK,uCACL,EAAK,2BACL,EAAK,eACL,EAAK,eACL,EAAK,uCACL,EAAK,mDACL,EAAK,qBACL,EAAK,6CACL,EAAK,2CACL,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,EAAK,uCACL,EAAK,qBACL,EAAK,iCACL,EAAK,+BACL,EAAK,iCACL,GAAM,OACN,GAAM,SACN,EAAK,SACL,EAAK,qBACL,GAAM,SACN,EAAK,SACL,EAAK,qBACL,EAAK,iCACL,GAAM,UAGR,OAAS,MAAS,IAAiB,CACjC,GAAI,IAAU,GAAgB,KAAU,GAExC,OAAS,IAAI,EAAG,GAAI,GAAQ,OAAQ,KAAK,CACvC,GAAI,IAAO,GAAQ,UAAU,GAAG,GAAI,GACpC,GAAc,IAAQ,IAI1B,GAAM,IAAc,GAAI,QAAO,OAAO,KAAK,IAAe,KAAK,KAAO,IAAM,GAAY,MAOlF,GAAa,IAAgB,CACjC,AAAI,KAAgB,QACpB,IAAc,GAAY,IAAgB,MAStC,GAAY,CAAC,GAAK,GAAO,SAAW,GAAI,UAAU,IASlD,GAAY,IACT,GAAQ,IAAK,OAKpB,CAAC,GAAQ,KACA,GAAS,GAAW,IAC1B,IAOC,GAAa,IACjB,IAAM,GAAU,IAAK,cAAc,QAAQ,GAAa,AAExD,IACS,GAAc,KAAS,IAGzB,GAAU,GAAK,QAQxB,YAAoB,GAAa,CAC/B,OAAW,CAAC,GAAgB,KAAmB,IAC7C,OAAS,IAAI,GAAgB,IAAK,GAAgB,KAAK,CACrD,GAAI,IAAW,OAAO,aAAa,IAC/B,GAAS,GAAU,IAEvB,AAAI,IAAU,GAAS,eASnB,IAAO,OAAS,IAIhB,GAAO,QAAU,GAIrB,MAAM,CACJ,OAAQ,GACR,SAAU,GACV,WAAY,OAWpB,GAAM,IAAe,IAAe,CAElC,GAAM,IAAe,GAMf,GAAc,CAAC,GAAQ,KAAW,CAEtC,GAAM,IAAa,GAAa,KAAW,GAAI,KACzC,GAAO,GAAI,QAAO,IAAM,GAAa,IAAc,IAAK,MAE9D,AAAI,GAAO,MAAM,KAIjB,IAAW,IAAI,GAAa,KAC5B,GAAa,IAAU,KAGzB,OAAS,MAAS,IAAU,IAC1B,GAAY,GAAM,OAAQ,GAAM,QAChC,GAAY,GAAM,OAAQ,GAAM,UAGlC,MAAO,KAUH,GAAc,IAAe,CAEjC,GAAM,IAAe,GAAa,IAG5B,GAAc,GAGhB,GAAa,GAEjB,OAAS,MAAU,IAAc,CAC/B,GAAI,IAAM,GAAa,IAEvB,AAAI,IACF,IAAY,IAAU,GAAa,KAGjC,GAAO,OAAS,GAClB,GAAW,KAAK,GAAa,KAIjC,GAAW,KAAK,CAAC,GAAG,KAAM,GAAE,OAAS,GAAE,QACvC,GAAM,IAAkB,GAAe,IACvC,UAAiB,GAAI,QAAO,IAAM,GAAiB,KAC5C,IASH,GAAc,CAAC,GAAS,GAAkB,IAAM,CACpD,GAAI,IAAiB,EASrB,MARA,IAAU,GAAQ,IAAI,IAChB,IAAY,KACd,KAAkB,GAAI,QAGjB,GAAY,KAAQ,KAGzB,IAAkB,GACb,GAAgB,IAGlB,IAgBH,GAAsB,CAAC,GAAK,GAAkB,IAClD,IAAkB,KAAK,IAAI,GAAiB,GAAI,OAAS,GAClD,GAAe,GAAc,IAAK,IAAI,IACpC,GAAY,GAAS,OAW1B,GAAqB,CAAC,GAAW,GAAM,KAAS,CACpD,GAAI,IAAkB,GAAU,OAAS,EAAI,EAAI,EACjD,MAAO,IAAe,GAAU,IAAI,IAAY,CAC9C,GAAI,IAAM,GACJ,GAAM,GAAM,GAAS,SAAW,GAAS,SAAW,EAE1D,OAAS,IAAI,EAAG,GAAI,GAAK,KACvB,GAAI,KAAK,GAAoB,GAAS,QAAQ,KAAM,GAAI,KAG1D,MAAO,IAAgB,QAUrB,GAAc,CAAC,GAAY,KAAc,CAC7C,OAAW,MAAO,IAAW,CAK3B,GAJI,GAAI,OAAS,GAAW,OAAS,GAAI,KAAO,GAAW,KAIvD,GAAI,QAAQ,KAAK,MAAQ,GAAW,QAAQ,KAAK,IACnD,SAGF,GAAI,IAAe,GAAW,MAKxB,GAAS,IAAQ,CACrB,OAAW,MAAe,IAAc,CACtC,GAAI,GAAY,QAAU,GAAK,OAAS,GAAY,SAAW,GAAK,OAClE,MAAO,GAGT,GAAI,KAAK,QAAU,GAAK,GAAY,QAAU,IAS1C,IAAK,MAAQ,GAAY,OAAS,GAAK,IAAM,GAAY,OAIzD,GAAY,MAAQ,GAAK,OAAS,GAAY,IAAM,GAAK,OAC3D,MAAO,GAIX,MAAO,IAKT,GAAI,EAFW,GAAI,MAAM,OAAO,IAEnB,OAAS,GAItB,MAAO,GAGT,MAAO,IAGT,QAAe,CACb,aAAc,CAEZ,KAAK,MAAQ,GAGb,KAAK,QAAU,GACf,KAAK,MAAQ,EACb,KAAK,IAAM,EAOb,IAAI,GAAM,CACR,AAAI,IACF,MAAK,MAAM,KAAK,IAChB,KAAK,QAAQ,KAAK,GAAK,QACvB,KAAK,MAAQ,KAAK,IAAI,GAAK,MAAO,KAAK,OACvC,KAAK,IAAM,KAAK,IAAI,GAAK,IAAK,KAAK,MAIvC,MAAO,CACL,MAAO,MAAK,MAAM,KAAK,MAAM,OAAS,GAGxC,QAAS,CACP,MAAO,MAAK,MAAM,OAQpB,MAAM,GAAU,GAAY,CAC1B,GAAI,IAAQ,GAAI,IACZ,GAAQ,KAAK,MAAM,KAAK,UAAU,KAAK,QACvC,GAAY,GAAM,MAEtB,OAAW,MAAQ,IACjB,GAAM,IAAI,IAGZ,GAAI,IAAc,GAAW,OAAO,UAAU,EAAG,GAAW,GAAU,OAClE,GAAiB,GAAY,OACjC,UAAM,IAAI,CACR,MAAO,GAAU,MACjB,IAAK,GAAU,MAAQ,GACvB,OAAQ,GACR,OAAQ,KAEH,IAqBX,GAAM,IAAa,IAAO,CACxB,KACA,GAAM,GAAU,IAChB,GAAI,IAAU,GACV,GAAY,CAAC,GAAI,KAErB,OAAS,IAAI,EAAG,GAAI,GAAI,OAAQ,KAAK,CAEnC,GAAI,IAAQ,AADC,GAAI,UAAU,IACR,MAAM,IACnB,GAAO,GAAI,UAAU,GAAG,GAAI,GAC5B,GAAY,GAAQ,GAAM,GAAK,KAGjC,GAAc,GACd,GAAc,GAAI,KAEtB,OAAW,MAAY,IAAW,CAChC,GAAM,IAAa,GAAS,OAE5B,GAAI,CAAC,IAAc,GAAW,QAAU,GAAK,GAAW,KAAO,GAE7D,GAAI,GAAW,CACb,GAAM,IAAM,GAAU,OACtB,GAAS,IAAI,CACX,MAAO,GACP,IAAK,GAAI,GACT,OAAQ,GACR,OAAQ,KAEV,GAAY,IAAI,SAEhB,IAAS,IAAI,CACX,MAAO,GACP,IAAK,GAAI,EACT,OAAQ,EACR,OAAQ,KAEV,GAAY,IAAI,aAET,GAAW,CACpB,GAAI,IAAQ,GAAS,MAAM,GAAG,IACxB,GAAM,GAAU,OACtB,GAAM,IAAI,CACR,MAAO,GACP,IAAK,GAAI,GACT,OAAQ,GACR,OAAQ,KAEV,GAAY,KAAK,QAIjB,IAAY,IAAI,KAKpB,GAAI,GAAY,OAAS,EAAG,CAE1B,GAAc,GAAY,KAAK,CAAC,GAAG,KAC1B,GAAE,SAAW,GAAE,UAGxB,OAAS,MAAS,IAEhB,AAAI,GAAY,GAAO,KAIvB,GAAU,KAAK,IAGjB,SAOF,GAAI,GAAI,GAAK,GAAY,MAAQ,GAAK,CAAC,GAAY,IAAI,KAAM,CAC3D,IAAW,GAAmB,GAAW,IACzC,GAAI,IAAU,GAAI,IACZ,GAAU,GAAU,GAE1B,AAAI,IACF,GAAQ,IAAI,GAAQ,QAGtB,GAAY,CAAC,KAIjB,WAAW,GAAmB,GAAW,IAClC,ICnhBT,AASA,GAAM,IAAU,CAAC,GAAK,KAAS,CAC7B,GAAI,EAAC,GACL,MAAO,IAAI,KASP,GAAiB,CAAC,GAAK,KAAS,CACpC,GAAI,EAAC,GAIL,QAHI,IACA,GAAQ,GAAK,MAAM,KAEf,IAAO,GAAM,UAAa,IAAM,GAAI,MAAO,CAEnD,MAAO,MAQH,GAAa,CAAC,GAAO,GAAO,KAAW,CAC3C,GAAI,IAAO,GAKX,MAJI,CAAC,IACL,IAAQ,GAAQ,GACZ,GAAM,OAAS,OACnB,IAAM,GAAM,OAAO,GAAM,OACrB,KAAQ,IAAW,EACvB,IAAQ,GAAM,OAAO,OAAS,GAAM,OAChC,KAAQ,GAAG,KAAS,IACjB,GAAQ,KAOX,GAAc,CAAC,GAAK,KAAQ,CAChC,GAAI,IAAQ,GAAI,IAChB,GAAI,MAAO,KAAS,WAAY,MAAO,IAEvC,AAAI,IAAS,CAAC,MAAM,QAAQ,KAC1B,IAAI,IAAO,CAAC,MAcV,GAAU,CAAC,GAAQ,KAAa,CACpC,GAAI,MAAM,QAAQ,IAChB,GAAO,QAAQ,QAEf,QAAS,MAAO,IACd,AAAI,GAAO,eAAe,KACxB,GAAS,GAAO,IAAM,KAKxB,GAAM,CAAC,GAAG,KACV,MAAO,KAAM,UAAY,MAAO,KAAM,SACjC,GAAI,GAAI,EAAI,GAAI,GAAI,GAAK,EAGlC,IAAI,GAAU,GAAI,IAAI,cACtB,GAAI,GAAU,GAAI,IAAI,cAClB,GAAI,GAAU,EACd,GAAI,GAAU,GACX,GC1FT,AAsBA,QAAa,CASX,YAAY,GAAO,GAAU,CAC3B,KAAK,MAAQ,OACb,KAAK,SAAW,OAChB,KAAK,MAAQ,GACb,KAAK,SAAW,IAAY,CAC1B,WAAY,IAShB,SAAS,GAAO,GAAyB,GAAS,CAChD,GAAI,CAAC,IAAS,CAAC,GAAM,OAAQ,MAAO,GACpC,GAAM,IAAS,GACT,GAAQ,GAAM,MAAM,OAC1B,GAAI,IAEJ,MAAI,KACF,IAAc,GAAI,QAAO,KAAO,OAAO,KAAK,IAAS,IAAI,IAAc,KAAK,KAAO,YAGrF,GAAM,QAAQ,IAAQ,CACpB,GAAI,IACA,GAAQ,KACR,GAAQ,KAEZ,AAAI,IAAgB,IAAc,GAAK,MAAM,MAC3C,IAAQ,GAAY,GACpB,GAAO,GAAY,IAGjB,GAAK,OAAS,GAChB,CAAI,KAAK,SAAS,WAChB,GAAQ,GAAW,KAAS,KAE5B,GAAQ,GAAa,IAGnB,IAAS,IAAyB,IAAQ,MAAQ,KAGxD,GAAO,KAAK,CACV,OAAQ,GACR,MAAO,GAAQ,GAAI,QAAO,GAAO,MAAQ,KACzC,MAAO,OAGJ,GAWT,iBAAiB,GAAO,GAAS,CAC/B,GAAI,IAAS,KAAK,cAAc,GAAO,IACvC,MAAO,MAAK,kBAAkB,IAQhC,kBAAkB,GAAQ,CACxB,GAAM,IAAS,GAAO,OAChB,GAAc,GAAO,OAE3B,GAAI,CAAC,GACH,MAAO,WAAY,CACjB,MAAO,IAIX,GAAM,IAAS,GAAO,QAAQ,OACxB,GAAU,GAAO,QACjB,GAAc,GAAO,OACrB,GAAY,GAAO,UAEzB,GAAI,CAAC,GACH,MAAO,WAAY,CACjB,MAAO,IAUX,GAAM,IAAc,UAAY,CAC9B,MAAI,MAAgB,EACX,SAAU,GAAO,GAAM,CAC5B,GAAM,IAAQ,GAAO,GAAG,MACxB,MAAO,IAAW,GAAU,GAAM,IAAQ,GAAO,GAAQ,KAAU,IAIhE,SAAU,GAAO,GAAM,CAC5B,GAAI,IAAM,EAEV,GAAI,GAAM,MAAO,CACf,GAAM,IAAQ,GAAU,GAAM,GAAM,OAEpC,AAAI,CAAC,GAAM,OAAS,GAClB,IAAO,EAAI,GAEX,IAAO,GAAW,GAAO,GAAO,OAGlC,IAAQ,GAAS,CAAC,GAAQ,KAAU,CAClC,IAAO,GAAW,GAAU,GAAM,IAAQ,GAAO,MAIrD,MAAO,IAAM,OAIjB,MAAI,MAAgB,EACX,SAAU,GAAM,CACrB,MAAO,IAAY,GAAO,GAAI,KAI9B,GAAO,QAAQ,cAAgB,MAC1B,SAAU,GAAM,CACrB,GAAI,IACA,GAAM,EAEV,OAAS,MAAS,IAAQ,CAExB,GADA,GAAQ,GAAY,GAAO,IACvB,IAAS,EAAG,MAAO,GACvB,IAAO,GAGT,MAAO,IAAM,IAGR,SAAU,GAAM,CACrB,GAAI,IAAM,EACV,UAAQ,GAAQ,IAAS,CACvB,IAAO,GAAY,GAAO,MAErB,GAAM,IAYnB,gBAAgB,GAAO,GAAS,CAC9B,GAAI,IAAS,KAAK,cAAc,GAAO,IACvC,MAAO,MAAK,iBAAiB,IAG/B,iBAAiB,GAAQ,CACvB,GAAI,IACA,GAAY,GAChB,GAAM,IAAO,KACP,GAAU,GAAO,QACjB,GAAO,CAAC,GAAO,OAAS,GAAQ,WAAa,GAAQ,WAAa,GAAQ,KAEhF,GAAI,MAAO,KAAQ,WACjB,MAAO,IAAK,KAAK,MASnB,GAAM,IAAY,SAAmB,GAAM,GAAQ,CACjD,MAAI,MAAS,SAAiB,GAAO,MAC9B,GAAO,UAAU,GAAK,MAAM,GAAO,IAAK,KAIjD,GAAI,GACF,OAAS,MAAK,IACZ,AAAI,IAAO,OAAS,GAAE,QAAU,WAC9B,GAAU,KAAK,IAOrB,GAAI,GAAO,MAAO,CAChB,GAAiB,GAEjB,OAAS,MAAO,IACd,GAAI,GAAI,QAAU,SAAU,CAC1B,GAAiB,GACjB,MAIJ,AAAI,IACF,GAAU,QAAQ,CAChB,MAAO,SACP,UAAW,aAKf,IAAY,GAAU,OAAO,IAAO,GAAI,QAAU,UAMpD,MAFwB,IAAU,OAM3B,SAAU,GAAG,GAAG,CACrB,GAAI,IAAQ,GAEZ,OAAS,MAAY,IAInB,GAHA,GAAQ,GAAS,MAEjB,GAAS,AADQ,IAAS,YAAc,OAAS,GAAK,GAChC,GAAI,GAAU,GAAO,IAAI,GAAU,GAAO,KAC5D,GAAQ,MAAO,IAGrB,MAAO,IAbA,KAuBX,cAAc,GAAO,GAAU,CAC7B,GAAM,IAAU,GAChB,GAAI,IAAU,OAAO,OAAO,GAAI,IAIhC,GAHA,GAAY,GAAS,QACrB,GAAY,GAAS,cAEjB,GAAQ,OAAQ,CAClB,GAAY,GAAS,UACrB,GAAM,IAAS,GACf,GAAQ,OAAO,QAAQ,IAAS,CAC9B,AAAI,MAAO,KAAS,UAClB,IAAQ,CACN,MAAO,GACP,OAAQ,IAIZ,GAAO,KAAK,IACZ,GAAQ,GAAM,OAAS,UAAY,IAAQ,GAAM,OAAS,IAE5D,GAAQ,OAAS,GAGnB,MAAO,CACL,QAAS,GACT,MAAO,GAAM,cAAc,OAC3B,OAAQ,KAAK,SAAS,GAAO,GAAQ,wBAAyB,IAC9D,MAAO,EACP,MAAO,GACP,QAAS,GACT,UAAW,GAAQ,QAAU,GAAiB,IAQlD,OAAO,GAAO,GAAS,CACrB,GAAI,IAAO,KACP,GACA,GACJ,GAAS,KAAK,cAAc,GAAO,IACnC,GAAU,GAAO,QACjB,GAAQ,GAAO,MAEf,GAAM,IAAW,GAAQ,OAAS,GAAK,kBAAkB,IAGzD,AAAI,GAAM,OACR,GAAQ,GAAK,MAAO,CAAC,GAAM,KAAO,CAChC,GAAQ,GAAS,IAEb,IAAQ,SAAW,IAAS,GAAQ,IACtC,GAAO,MAAM,KAAK,CAChB,MAAS,GACT,GAAM,OAKZ,GAAQ,GAAK,MAAO,CAAC,GAAG,KAAO,CAC7B,GAAO,MAAM,KAAK,CAChB,MAAS,EACT,GAAM,OAKZ,GAAM,IAAU,GAAK,iBAAiB,IAEtC,MAAI,KAAS,GAAO,MAAM,KAAK,IAE/B,GAAO,MAAQ,GAAO,MAAM,OAExB,MAAO,IAAQ,OAAU,UAC3B,IAAO,MAAQ,GAAO,MAAM,MAAM,EAAG,GAAQ,QAGxC,IC5RJ,GAAM,IAAU,CAAC,GAA8B,KAAsC,CAE3F,GAAK,MAAM,QAAQ,IAClB,GAAO,QAAQ,QAIf,QAAS,MAAO,IACf,AAAI,GAAO,eAAe,KACzB,GAAS,GAAO,IAAM,KC5Eb,GAAW,IAA2B,CAElD,GAAI,GAAM,OACT,MAAO,IAAM,GAGd,GAAI,aAAiB,aACpB,MAAO,IAGR,GAAI,GAAa,IAAQ,CACxB,GAAI,IAAM,SAAS,cAAc,YACjC,UAAI,UAAY,GAAM,OACf,GAAI,QAAQ,WAGpB,MAAO,UAAS,cAAc,KAGlB,GAAgB,IACxB,MAAO,KAAQ,UAAY,GAAI,QAAQ,KAAO,GAMtC,GAAe,IACpB,GAAM,QAAQ,UAAW,QAOpB,GAAe,CAAE,GAAoB,KAA4B,CAC7E,GAAI,IAAQ,SAAS,YAAY,cACjC,GAAM,UAAU,GAAY,GAAM,IAClC,GAAO,cAAc,KAOT,GAAW,CAAE,GAAoB,KAA8C,CAC3F,OAAO,OAAO,GAAO,MAAO,KAQhB,GAAa,CAAE,MAAoC,KAAiC,CAEhG,GAAI,IAAgB,GAAa,IACjC,GAAW,GAAY,IAEvB,GAAM,IAAK,IAAM,CAChB,GAAa,IAAK,IAAO,CACxB,GAAG,UAAU,IAAK,SASP,GAAgB,CAAE,MAAoC,KAAiC,CAEnG,GAAI,IAAgB,GAAa,IAClC,GAAW,GAAY,IAEvB,GAAM,IAAK,IAAM,CAChB,GAAa,IAAI,IAAO,CACtB,GAAG,UAAU,OAAQ,SAUZ,GAAgB,IAAsC,CAClE,GAAI,IAAmB,GACvB,UAAS,GAAO,IAAY,CAC3B,AAAI,MAAO,KAAa,UACvB,IAAW,GAAS,OAAO,MAAM,sBAE9B,MAAM,QAAQ,KACjB,IAAU,GAAQ,OAAO,OAIpB,GAAQ,OAAO,UAQV,GAAe,IACtB,OAAM,QAAQ,KACjB,IAAM,CAAC,KAEF,IASK,GAAc,CAAE,GAAyB,GAAiB,KAA2C,CAEjH,GAAI,MAAW,CAAC,GAAQ,SAAS,KAIjC,KAAO,IAAU,GAAO,SAAS,CAEhC,GAAI,GAAO,QAAQ,IAClB,MAAO,IAGR,GAAS,GAAO,aAYL,GAAU,CAAE,GAA0B,GAAiB,IAE/D,GAAY,EACR,GAAK,GAAK,OAAO,GAGlB,GAAK,GAOA,GAAiB,IACrB,OAAO,KAAK,IAAK,SAAW,EAQxB,GAAY,CAAE,GAAiB,KAA4B,CACvE,GAAI,CAAC,GAAI,MAAO,GAEhB,GAAU,IAAW,GAAG,SAGxB,OADI,IAAI,EACD,GAAK,GAAG,wBAEd,AAAI,GAAG,QAAQ,KACd,KAGF,MAAO,KAQK,GAAU,CAAC,GAAW,KAAgD,CAClF,GAAS,GAAM,CAAC,GAAI,KAAS,CAC5B,AAAI,IAAO,KACV,GAAG,gBAAgB,IAEnB,GAAG,aAAa,GAAgB,GAAG,OASzB,GAAc,CAAE,GAAe,KAAsB,CACjE,AAAI,GAAS,YAAa,GAAS,WAAW,aAAa,GAAa,KCrM5D,GAAY,CAAC,GAAqB,KAAwB,CAEtE,GAAI,KAAU,KAAO,OAGrB,GAAI,MAAO,KAAU,SAAU,CAE9B,GAAI,CAAC,GAAM,OAAS,OACpB,GAAQ,GAAI,QAAO,GAAO,KAM3B,GAAM,IAAkB,IAAsB,CAE7C,GAAI,IAAQ,GAAK,KAAK,MAAM,IAC5B,GAAI,IAAS,GAAK,KAAK,OAAS,EAAG,CAClC,GAAI,IAAY,SAAS,cAAc,QACvC,GAAS,UAAY,YACrB,GAAI,IAAa,GAAK,UAAU,GAAM,OAEtC,GAAU,UAAU,GAAM,GAAI,QAC9B,GAAI,IAAe,GAAU,UAAU,IAEvC,UAAS,YAAY,IACrB,GAAY,GAAW,IAChB,EAGR,MAAO,IAKF,GAAsB,IAAuB,CAClD,AAAI,GAAK,WAAa,GAAK,GAAK,YAAc,CAAC,kBAAkB,KAAK,GAAK,UAAc,IAAK,YAAc,aAAe,GAAK,UAAY,SAC3I,MAAM,KAAK,GAAK,YAAY,QAAQ,IAAW,CAC9C,GAAmB,OAMhB,GAAuB,IAExB,GAAK,WAAa,EACd,GAAc,IAGtB,IAAkB,IAEX,GAGR,GAAoB,KAOR,GAAmB,IAAmB,CAClD,GAAI,IAAW,GAAG,iBAAiB,kBACnC,MAAM,UAAU,QAAQ,KAAK,GAAU,SAAS,GAAe,CAC9D,GAAI,IAAS,GAAG,WAChB,GAAO,aAAa,GAAG,WAAoB,IAC3C,GAAO,eC9EI,GAAW,GACX,GAAe,GACf,GAAY,GACZ,GAAa,GACb,GAAY,GACZ,GAAc,GACd,GAAa,GACb,GAAiB,EACjB,GAAe,GACf,GAAY,EAGZ,GAAgB,AADA,OAAO,YAAc,YAAc,GAAQ,MAAM,KAAK,UAAU,YACvD,UAAY,UCXlD,GAAA,IAAe,CACd,QAAS,GACT,UAAW,GAEX,QAAS,GACT,UAAW,IACX,QAAS,KACT,QAAS,GACT,WAAY,GACZ,OAAQ,KACR,aAAc,GACd,aAAc,KACd,UAAW,GACX,YAAa,GACb,WAAY,KACZ,WAAY,GACZ,SAAU,KACV,aAAc,KACd,WAAY,GACZ,cAAe,GACf,YAAa,GACb,QAAS,KACT,iBAAkB,GAElB,gBAAiB,IAGjB,aAAc,IACd,aAAc,UAEd,SAAU,KACV,cAAe,WACf,WAAY,QACZ,WAAY,OACZ,cAAe,WACf,mBAAoB,QACpB,mBAAoB,QACpB,kBAAmB,GAEnB,UAAW,SACX,YAAa,CAAC,QACd,kBAAmB,MAEnB,KAAM,KACN,aAAc,aACd,aAAc,aACd,cAAe,cACf,qBAAsB,sBACtB,UAAW,OACX,YAAa,SAEb,eAAgB,KAChB,aAAc,oDAEd,sBAAuB,GAEvB,YAAa,KACb,gBAAiB,KAEjB,WAAY,SAAS,GAAqB,CACzC,MAAO,IAAM,OAAS,GAuBvB,OAAQ,ICjEF,GAAM,IAAY,IACpB,MAAO,KAAU,aAAe,KAAU,KAAa,KACpD,GAAS,IAGJ,GAAY,IACpB,MAAO,KAAU,UAAkB,GAAQ,IAAM,IAC9C,GAAQ,GAOH,GAAe,IACnB,IAAM,IACZ,QAAQ,KAAM,SACd,QAAQ,KAAM,QACd,QAAQ,KAAM,QACd,QAAQ,KAAM,UAOJ,GAAU,CAAC,GAAY,KAC/B,GAAU,EACN,WAAW,GAAG,IAGtB,IAAG,KAAK,MACD,MAOK,GAAe,CAAC,GAAmD,KAAiB,CAChG,GAAI,IACJ,MAAO,UAAyB,GAAa,GAA0B,CACtE,GAAI,IAAO,KAEX,AAAI,IACH,IAAK,QAAU,KAAK,IAAI,GAAK,QAAU,EAAG,GAC1C,aAAa,KAEd,GAAU,WAAW,UAAW,CAC/B,GAAU,KACV,GAAK,eAAe,IAAS,GAC7B,GAAG,KAAK,GAAM,GAAO,KAEnB,MAUQ,GAAkB,CAAE,GAAgB,GAAgB,KAAmB,CACnF,GAAI,IACA,GAAU,GAAK,QACf,GAAoC,GAGxC,GAAK,QAAU,UAAU,CACxB,GAAI,IAAO,UAAU,GACrB,GAAI,GAAM,QAAQ,MAAU,GAC3B,GAAW,IAAQ,cAEnB,OAAO,IAAQ,MAAM,GAAM,YAK7B,GAAG,MAAM,GAAM,IACf,GAAK,QAAU,GAGf,IAAK,KAAQ,IACZ,AAAI,KAAQ,KACX,GAAQ,MAAM,GAAM,GAAW,MAerB,GAAgB,IACrB,EACN,MAAQ,GAAM,gBAAkB,EAChC,OAAU,IAAM,cAAc,GAAM,IAAM,gBAAgB,KAS/C,GAAiB,CAAC,GAAY,GAAa,KAAe,CACtE,AAAI,IACH,IAAI,iBACA,IACH,GAAI,oBAUM,GAAW,CAAC,GAAoB,GAAa,GAA6C,KAAyB,CAC/H,GAAO,iBAAiB,GAAK,GAAS,KAU1B,GAAY,CAAE,GAA2C,KAAmC,CAMxG,GAJI,CAAC,IAID,CAAC,GAAI,IACR,MAAO,GAGR,GAAI,IAAS,IAAI,OAAO,EAAE,GAAM,IAAI,QAAQ,EAAE,GAAM,IAAI,SAAS,EAAE,GAAM,IAAI,QAAQ,EAAE,GAEvF,MAAI,MAAU,GAaF,GAAQ,CAAC,GAAW,KAAc,CAC9C,GAAM,IAAc,GAAG,aAAa,MACpC,MAAI,KAIJ,IAAG,aAAa,KAAK,IACd,KAOK,GAAc,IACnB,GAAI,QAAQ,UAAW,QAMlB,GAAS,CAAE,GAAiC,KAA0C,CAClG,AAAI,IAAO,GAAO,OAAO,KCpMX,YAAsB,GAAgB,GAAwD,CAC5G,GAAI,IAAuB,OAAO,OAAO,GAAI,GAAU,IAEnD,GAAe,GAAS,SACxB,GAAiB,GAAS,WAC1B,GAAiB,GAAS,WAC1B,GAAmB,GAAS,cAC5B,GAAmB,GAAS,cAC5B,GAAuB,GAAS,mBAChC,GAAuB,GAAS,mBAEhC,GAAc,GAAM,QAAQ,cAC5B,GAAiB,GAAM,aAAa,gBAAkB,GAAM,aAAa,oBAE7E,GAAI,CAAC,IAAe,CAAC,GAAS,iBAAkB,CAC/C,GAAI,IAAU,GAAM,cAAc,oBAClC,AAAI,IACH,IAAc,GAAO,aAKvB,GAAI,IAMA,CACH,YAAc,GACd,QAAW,GACX,UAAY,GACZ,MAAS,GACT,SAAW,MAQR,GAAc,IAAM,CACvB,GAAI,IACA,GAAU,GAAiB,QAC3B,GAAgC,GAChC,GAAc,EAClB,GAAI,IAAS,EAEb,GAAI,IAAY,IAA6B,CAE5C,GAAI,IAAO,OAAO,OAAO,GAAG,GAAG,SAC3B,GAAO,IAAa,GAAK,IAE7B,MAAI,OAAO,KAAS,UAAY,GAAK,QACpC,IAAO,OAAO,OAAO,GAAK,KAAK,MAAM,MAG/B,IAGJ,GAAY,CAAC,GAA0B,KAAkB,CAE5D,GAAI,IAAQ,GAAS,GAAO,OAC5B,GAAK,IAAS,MACT,GAAC,IAAS,CAAC,GAAS,kBAMzB,IAAI,GAAW,eAAe,KAC7B,GAAI,GAAO,CACV,GAAI,IAAM,GAAW,IAAO,IAC5B,AAAK,GAEE,AAAK,MAAM,QAAQ,IAGzB,GAAI,KAAK,IAFT,GAAW,IAAO,IAAkB,CAAC,GAAK,IAF1C,GAAW,IAAO,IAAkB,QAQlC,CAEJ,GAAI,IAA0B,GAAS,IACvC,GAAY,IAAkB,GAAY,KAAgB,GAAO,YACjE,GAAY,IAAkB,GAAY,KAAgB,GAC1D,GAAY,IAAkB,GAAY,KAAmB,GAAO,SACpE,GAAY,IAAkB,GAAY,KAAmB,GAC7D,GAAY,QAAY,GACxB,GAAY,OAAW,GAAY,QAAU,EAAE,GAE/C,GAAW,IAAS,GACpB,GAAQ,KAAK,IAGd,AAAI,GAAO,UACV,GAAiB,MAAM,KAAK,MAI1B,GAAa,IAAkC,CAClD,GAAI,IAAW,GAEf,GAAsB,GAAS,IAC/B,GAAc,IAAyB,GAAc,KAAyB,GAAS,aAAa,UAAY,GAChH,GAAc,IAAyB,GAAc,KAAyB,KAC9E,GAAc,IAAoB,GAAc,KAAmB,GAAS,SAC5E,GAAc,OAAa,GAAc,QAAU,EAAE,GAErD,GAAiB,UAAU,KAAK,IAEhC,GAAK,GAAc,IAEnB,GAAQ,GAAS,SAAW,IAAS,CACpC,GAAU,GAA6B,OAKzC,GAAiB,SAAW,GAAM,aAAa,YAAc,KAAO,EAEpE,GAAQ,GAAM,SAAU,IAAQ,CAC/B,GAAU,GAAM,QAAQ,cACxB,AAAI,KAAY,WACf,GAAS,IACC,KAAY,UACtB,GAAU,OAWT,GAAe,IAAM,CACxB,GAAM,IAAW,GAAM,aAAa,IAEpC,GAAK,GAaJ,GAAiB,QAAU,KAAK,MAAM,IACtC,GAAS,GAAiB,QAAU,IAAQ,CAC3C,GAAiB,MAAM,KAAK,GAAI,WAfnB,CACd,GAAI,IAAQ,GAAM,MAAM,QAAU,GAClC,GAAI,CAAC,GAAS,kBAAoB,CAAC,GAAM,OAAQ,OACjD,GAAM,IAAS,GAAM,MAAM,GAAS,WAEpC,GAAS,GAAS,IAAU,CAC3B,GAAM,IAAmB,GACzB,GAAO,IAAe,GACtB,GAAO,IAAe,GACtB,GAAiB,QAAQ,KAAK,MAE/B,GAAiB,MAAQ,KAU3B,MAAI,MAAa,SAChB,KAEA,KAGM,OAAO,OAAQ,GAAI,GAAU,GAAkB,ICtIvD,GAAI,IAAa,EAEF,gBAAwB,IAAY,GAAW,CAmD7D,YAAa,GAA4B,GAA6C,CACrF,QAAQ,KAlDF,cAAa,OAAA,KACb,QAAO,OAAA,KACP,SAAQ,OAAA,KACR,QAAO,OAAA,KACP,iBAAgB,OAAA,KAChB,WAAU,OAAA,KAEV,MAAqB,EAAC,KACtB,SAAQ,OAAA,KACR,MAAK,OAAA,KACL,SAAQ,OAAA,KACR,cAAa,OAAA,KACb,IAAG,OAAA,KACF,QAAO,OAAA,KAEP,SAAQ,OAAA,KACT,OAAM,OAAA,KAGN,OAAuB,GAAK,KAC5B,WAA0B,GAAK,KAC/B,WAA0B,GAAK,KAC/B,WAAU,OAAA,KACV,UAAyB,GAAO,KAChC,QAAwB,GAAI,KAC5B,SAAyB,GAAK,KAC9B,UAAyB,GAAK,KAC9B,cAA4B,GAAK,KACjC,QAAwB,GAAK,KAC7B,YAA2B,GAAK,KAChC,YAA2B,GAAK,KAChC,WAA0B,GAAK,KAC/B,eAAc,OAAA,KACd,UAAwB,GAAE,KAC1B,SAAwB,EAAC,KACzB,QAAuB,EAAC,KACxB,eAAgD,GAAE,KAElD,aAAqC,KAAI,KACzC,YAA6B,GAAE,KAE/B,UAA4B,GAAE,KAC9B,QAA2B,GAAE,KAC7B,YAA0C,GAAE,KAC5C,MAAuB,GAAE,KAExB,eAAwD,KAM/D,KAEA,GAAI,IACA,GAAW,GAAQ,IAEvB,GAAI,GAAM,UACT,KAAM,IAAI,OAAM,kDAIjB,GAAM,UAAc,KAIpB,GAAI,IAAiB,OAAO,kBAAoB,OAAO,iBAAiB,GAAO,MAC/E,GAAW,GAAc,iBAAiB,aAG1C,GAAM,IAAa,GAAa,GAAO,IACvC,KAAK,SAAa,GAClB,KAAK,MAAW,GAChB,KAAK,SAAa,GAAM,UAAY,EACpC,KAAK,cAAiB,GAAM,QAAQ,gBAAkB,SACtD,KAAK,IAAS,OAAO,KAAK,IAC1B,KAAK,QAAY,GAAM,GAAO,aAAa,IAC3C,KAAK,WAAe,GAAM,SAI1B,KAAK,OAAS,GAAI,IAAO,KAAK,QAAS,CAAC,WAAY,GAAS,aAG7D,GAAS,KAAO,GAAS,MAAS,IAAS,WAAa,EAAI,SAAW,SACnE,MAAO,IAAS,cAAiB,WACpC,IAAS,aAAe,GAAS,OAAS,SAGvC,MAAO,IAAS,iBAAoB,WACvC,IAAS,gBAAkB,GAAS,OAAS,SAI9C,GAAI,IAAS,GAAS,aACtB,AAAI,MAAO,KAAW,YAEjB,OAAO,KAAW,UACrB,IAAS,GAAI,QAAO,KAGrB,AAAI,aAAkB,QACrB,GAAS,aAAgB,IAAW,GAAkB,KAAK,IAE3D,GAAS,aAAgB,IACjB,KAAK,SAAS,YAAc,CAAC,KAAK,QAAQ,KAMpD,KAAK,kBAAkB,GAAS,SAChC,KAAK,iBACL,KAAK,iBAIL,GAAM,IAAY,GAAO,SACnB,GAAY,GAAO,SACnB,GAAa,KAAK,QAAQ,YAC1B,GAAmB,GAAQ,sCAE3B,GAAY,KAAK,MAAM,aAAa,UAAY,GAChD,GAAc,GAAS,KAE7B,GAAI,IAuBJ,GApBA,GAAY,GAAS,GAAS,aAAc,GAAS,IAGrD,GAAW,GAAQ,GAAS,cAC5B,GAAQ,GAAS,IAGjB,GAAW,GAAU,GAAS,cAAe,IACzC,GAAS,uBACZ,GAAY,GAAU,IAIvB,GAAW,GAAkB,GAAS,sBACtC,GAAQ,GAAU,IAElB,GAAQ,GAAS,gBAAkB,IAAU,YAAa,IAItD,GAAa,GAAS,cAAe,CACxC,GAAiB,GAAO,GAAS,cAGjC,GAAI,IAAQ,CAAC,cAAc,iBAAiB,eAAe,cAC3D,GAAQ,GAAO,IAAgB,CAC9B,AAAI,GAAM,aAAa,KACtB,GAAQ,GAAc,EAAE,IAAM,GAAM,aAAa,QAInD,GAAc,SAAW,GACzB,GAAQ,YAAa,IACrB,KAAK,WAAc,OAGd,AAAI,IAAS,aAClB,IAAiB,GAAQ,GAAS,cAClC,KAAK,WAAc,IAGnB,IAAiB,GAAO,YACxB,KAAK,WAAc,IAGpB,KAAK,QAAY,GACjB,KAAK,SAAa,GAClB,KAAK,iBAAmB,GACxB,KAAK,QAAa,GAClB,KAAK,cAAiB,GAEtB,KAAK,QAON,OAAO,CAEN,GAAM,IAAO,KACP,GAAc,GAAK,SACnB,GAAkB,GAAK,cACvB,GAAc,GAAK,SACnB,GAAoB,GAAK,iBACzB,GAAa,GAAK,QAClB,GAAa,GAAK,QAClB,GAAY,GAAK,MACjB,GAAe,GAAK,WACpB,GAAkB,CAAE,QAAS,IAC7B,GAAe,GAAK,QAAS,eAGnC,GAAQ,GAAiB,CACxB,GAAI,KAGL,GAAQ,GAAW,CAClB,KAAK,WACL,gBAAgB,UAChB,gBAAgB,QAChB,gBAAgB,KAGjB,GAAM,IAAa,GAAM,GAAW,GAAK,QAAU,eAC7C,GAAU,cAAc,GAAY,GAAK,SAAS,KAClD,GAAU,SAAS,cAAc,IACjC,GAAc,GAAK,MAAM,KAAK,IACpC,GAAI,GAAO,CACV,GAAS,GAAM,QAAS,IACxB,GAAQ,GAAM,CAAC,IAAI,KACnB,GAAM,IAAW,GAAM,GAAM,GAAK,QAAQ,aAC1C,GAAQ,GAAW,CAAC,kBAAkB,KACtC,GAAQ,GAAiB,CAAC,kBAAkB,KAK7C,GAFA,GAAQ,MAAM,MAAQ,GAAM,MAAM,MAE9B,GAAK,QAAQ,MAAM,OAAQ,CAC9B,GAAM,IAAkB,UAAY,GAAK,QAAQ,MAAM,KAAK,YAC5D,GAAY,CAAC,GAAQ,IAAW,IAGjC,AAAK,IAAS,WAAa,MAAQ,GAAS,SAAW,IAAM,GAAK,eACjE,GAAQ,GAAM,CAAC,SAAS,aAGrB,GAAS,aACZ,GAAQ,GAAc,CAAC,YAAY,GAAS,cAIzC,CAAC,GAAS,SAAW,GAAS,WACjC,IAAS,QAAU,GAAI,QAAO,OAAS,GAAa,GAAS,WAAa,UAKvE,GAAS,MAAQ,GAAS,cAC7B,IAAS,KAAO,GAAa,GAAS,KAAK,GAAS,eAGrD,GAAS,GAAS,YAAa,IAAM,CACpC,GAAK,YAAc,KAGpB,GAAS,GAAS,aAAe,IAAM,CAEtC,GAAI,IAAe,GAAY,GAAE,OAAuB,oBAAqB,IAC7E,AAAI,IAAe,GAAK,cAAe,GAAiB,KAEtD,CAAC,QAAQ,KAGZ,GAAS,GAAS,QAAS,IAAQ,CAClC,GAAM,IAAS,GAAY,GAAI,OAAuB,qBACtD,AAAI,IACH,IAAK,eAAgB,GAAmB,IACxC,GAAe,GAAI,OAIrB,GAAS,GAAQ,QAAU,IAAQ,CAElC,GAAI,IAAe,GAAa,GAAI,OAAuB,iBAAkB,IAC7E,GAAI,IAAgB,GAAK,aAAa,GAAmB,IAA0B,CAClF,GAAe,GAAI,IACnB,OAID,AAAI,GAAc,OAAS,IAI3B,IAAK,UACL,GAAe,GAAI,OAKpB,GAAS,GAAW,UAAa,IAAM,GAAK,UAAU,KAGtD,GAAS,GAAc,WAAa,IAAM,GAAK,WAAW,KAC1D,GAAS,GAAc,QAAW,IAAM,GAAK,QAAQ,KACrD,GAAS,GAAW,OAAW,IAAM,GAAK,OAAO,KACjD,GAAS,GAAW,QAAW,IAAM,GAAK,QAAQ,KAClD,GAAS,GAAc,QAAW,IAAM,GAAK,QAAQ,KAGrD,GAAM,IAAiB,IAAc,CAIpC,GAAM,IAAS,GAAI,eAAe,GAClC,GAAI,CAAC,GAAQ,SAAS,KAA0B,CAAC,GAAS,SAAS,IAAwB,CAC1F,AAAI,GAAK,WACR,GAAK,OAEN,GAAK,aACL,OAQD,AAAI,IAAU,IAAiB,GAAK,OACnC,GAAI,kBAIJ,GAAe,GAAI,KAKf,GAAa,IAAM,CACxB,AAAI,GAAK,QACR,GAAK,oBAKP,GAAS,SAAS,YAAa,IAC/B,GAAS,OAAO,SAAU,GAAY,IACtC,GAAS,OAAO,SAAU,GAAY,IAEtC,KAAK,SAAW,IAAM,CACrB,SAAS,oBAAoB,YAAY,IACzC,OAAO,oBAAoB,SAAS,IACpC,OAAO,oBAAoB,SAAS,IAChC,IAAQ,GAAM,oBAAoB,QAAQ,KAK/C,KAAK,eAAiB,CACrB,UAAY,GAAM,UAClB,SAAW,GAAM,UAIlB,GAAM,SAAW,GACjB,GAAM,sBAAsB,WAAY,GAAK,SAE7C,GAAK,KAAK,IACV,GAAS,MAAQ,GACjB,MAAO,IAAS,UAChB,MAAO,IAAS,QAEhB,GAAS,GAAM,UAAW,IAAM,CAC/B,AAAI,GAAK,SACR,IAAK,QAAU,GACf,GAAK,UAAY,GACjB,GAAK,kBAIP,GAAK,sBACL,GAAK,eACL,GAAK,MAAM,IACX,GAAK,aACL,GAAK,QAAU,GAEf,AAAI,GAAM,SACT,GAAK,UACA,AAAI,GAAM,SACf,GAAK,YAAY,IAEjB,GAAK,SAGN,GAAK,GAAG,SAAU,KAAK,UAEvB,GAAW,GAAM,cAAc,wBAC/B,GAAK,QAAQ,cAGT,GAAS,UAAY,IACxB,GAAK,UAUP,aAAa,GAAsB,GAAI,GAAwB,GAAG,CAGjE,KAAK,WAAW,IAIhB,GAAS,GAAY,IAAuB,CAC3C,KAAK,oBAAoB,MAO3B,gBAAiB,CAChB,GAAI,IAAO,KACP,GAAc,GAAK,SAAS,WAC5B,GAAiB,GAAK,SAAS,mBAE/B,GAAY,CACf,SAAa,IAAmB,CAC/B,GAAI,IAAW,SAAS,cAAc,OACtC,UAAS,UAAY,WACrB,GAAS,YAAY,GAAK,SACnB,IAGR,gBAAmB,CAAC,GAAgB,KAC5B,gCAAkC,GAAO,GAAK,KAAmB,SAEzE,OAAU,CAAC,GAAgB,KACnB,QAAU,GAAO,GAAK,KAAgB,SAE9C,KAAQ,CAAC,GAAgB,KACjB,QAAU,GAAO,GAAK,KAAgB,SAE9C,cAAiB,CAAC,GAAgB,KAC1B,mCAAqC,GAAO,GAAK,OAAS,0BAElE,WAAa,IACL,iDAER,QAAU,IACF,8BAER,YAAc,IAAM,GACpB,SAAW,IACH,eAKT,GAAK,SAAS,OAAS,OAAO,OAAO,GAAI,GAAW,GAAK,SAAS,QAOnE,gBAAiB,CAChB,GAAI,IAAK,GACL,GAAkC,CACrC,WAAoB,eACpB,OAAoB,WACpB,SAAoB,YACpB,YAAoB,eACpB,YAAoB,eACpB,MAAoB,UACpB,WAAoB,cACpB,cAAoB,iBACpB,aAAoB,gBACpB,aAAoB,mBACpB,gBAAoB,sBACpB,eAAoB,qBACpB,cAAoB,iBACpB,eAAoB,kBACpB,KAAoB,SACpB,KAAoB,SACpB,MAAoB,UACpB,KAAoB,UAGrB,IAAK,KAAO,IAEX,GAAK,KAAK,SAAS,GAAU,KACzB,IAAI,KAAK,GAAG,GAAK,IASvB,KAAK,GAAqB,GAAU,CACnC,GAAM,IAAQ,KACR,GAAW,GAAe,GAAa,GAAK,MAAO,CAAC,UAAU,GAAK,SAAS,YAAgD,GAAK,SAEvI,GAAK,aAAa,GAAS,QAAQ,GAAS,WAE5C,GAAK,SAAS,GAAS,OAAO,GAAG,IAEjC,GAAK,UAAY,KAQlB,SAAe,CACd,GAAI,IAAO,KAEX,GAAI,GAAK,YAAY,OAAS,EAAG,CAChC,GAAK,mBACL,GAAK,QACL,OAGD,AAAI,GAAK,WAAa,GAAK,OAC1B,GAAK,OAEL,GAAK,QAQP,aAAmB,EAOnB,UAAW,CACV,GAAa,KAAK,MAAO,SACzB,GAAa,KAAK,MAAO,UAO1B,QAAQ,GAAiC,CACxC,GAAI,IAAO,KAEX,GAAI,GAAK,eAAiB,GAAK,SAAU,CACxC,GAAe,IACf,OAKD,AAAI,CAAC,GAAK,SAAS,SAKnB,WAAW,IAAM,CAChB,GAAI,IAAa,GAAK,aACtB,GAAI,EAAC,GAAW,MAAM,GAAK,SAAS,SAIpC,IAAI,IAAa,GAAW,OAAO,MAAM,GAAK,SAAS,SACvD,GAAS,GAAa,IAAiB,CAGtC,AAAI,AADS,GAAS,KAErB,CAAI,KAAK,QAAQ,IAChB,GAAK,QAAQ,IAEb,GAAK,WAAW,SAIjB,GAQJ,WAAW,GAAsB,CAChC,GAAI,IAAO,KACX,GAAG,GAAK,SAAS,CAChB,GAAe,IACf,OAED,GAAI,IAAY,OAAO,aAAa,GAAE,SAAW,GAAE,OACnD,GAAI,GAAK,SAAS,QAAU,GAAK,SAAS,OAAS,SAAW,KAAc,GAAK,SAAS,UAAW,CACpG,GAAK,aACL,GAAe,IACf,QAQF,UAAU,GAAsB,CAC/B,GAAI,IAAO,KAIX,GAFA,GAAK,YAAc,GAEf,GAAK,SAAU,CAClB,AAAI,GAAE,UAAY,IACjB,GAAe,IAEhB,OAGD,OAAQ,GAAE,aAGJ,IACJ,GAAI,GAAU,GAAuB,KAChC,GAAK,cAAc,OAAS,GAAI,CACnC,GAAe,IACf,GAAK,YACL,OAGF,UAGI,IACJ,AAAI,GAAK,QACR,IAAe,GAAE,IACjB,GAAK,SAEN,GAAK,mBACL,WAGI,IACJ,GAAI,CAAC,GAAK,QAAU,GAAK,WACxB,GAAK,eACK,GAAK,aAAc,CAC7B,GAAI,IAAO,GAAK,YAAY,GAAK,aAAc,GAC/C,AAAI,IAAM,GAAK,gBAAgB,IAEhC,GAAe,IACf,WAGI,IACJ,GAAI,GAAK,aAAc,CACtB,GAAI,IAAO,GAAK,YAAY,GAAK,aAAc,IAC/C,AAAI,IAAM,GAAK,gBAAgB,IAEhC,GAAe,IACf,WAGI,IACJ,AAAI,GAAK,UAAU,GAAK,cACvB,IAAK,eAAe,GAAE,GAAK,cAC3B,GAAe,KAGV,AAAI,IAAK,SAAS,QAAU,GAAK,cAI7B,SAAS,eAAiB,GAAK,eAAiB,GAAK,SAC9D,GAAe,IAGhB,WAGI,IACJ,GAAK,iBAAiB,GAAI,IAC1B,WAGI,IACJ,GAAK,iBAAiB,EAAG,IACzB,WAGI,IAEJ,AAAI,GAAK,SAAS,aACb,IAAK,UAAU,GAAK,eACvB,IAAK,eAAe,GAAE,GAAK,cAI3B,GAAe,KAEZ,GAAK,SAAS,QAAU,GAAK,cAChC,GAAe,KAGjB,WAGI,QACA,IACJ,GAAK,gBAAgB,IACrB,OAIF,AAAI,GAAK,eAAiB,CAAC,GAAU,GAAuB,KAC3D,GAAe,IAQjB,QAAQ,GAAiC,CAExC,GAAI,KAAK,SACR,OAGD,GAAM,IAAQ,KAAK,aACnB,GAAI,KAAK,YAAc,GAGvB,IAFA,KAAK,UAAY,GAEb,IAAS,GAAI,CAChB,KAAK,WACL,OAGD,AAAI,KAAK,gBACR,aAAa,KAAK,gBAGnB,KAAK,eAAiB,GAAQ,IAAK,CAClC,KAAK,eAAiB,KACtB,KAAK,YACH,KAAK,SAAS,kBAGlB,UAAgB,CACf,GAAM,IAAQ,KAAK,UAEnB,AAAI,KAAK,SAAS,WAAW,KAAK,KAAK,KACtC,KAAK,KAAK,IAGX,KAAK,iBACL,KAAK,QAAQ,OAAQ,IAQtB,cAAe,GAA8B,GAAyB,CACrE,AAAI,KAAK,aACT,KAAK,gBAAgB,GAAQ,IAO9B,QAAQ,GAAkC,CACzC,GAAI,IAAO,KACP,GAAa,GAAK,UAEtB,GAAI,GAAK,YAAc,GAAK,WAAY,CACvC,GAAK,OACL,GAAe,IACf,OAGD,AAAI,GAAK,aACT,IAAK,UAAY,GACb,GAAK,SAAS,UAAY,SAAU,GAAK,UAExC,IAAY,GAAK,QAAQ,SAEzB,GAAK,YAAY,QACrB,IAAK,aACL,GAAK,eAAe,CAAC,CAAC,GAAK,SAAS,cAGrC,GAAK,gBAON,OAAO,GAAoB,CAE1B,GAAI,SAAS,aAAe,GAE5B,IAAI,IAAO,KACX,GAAI,EAAC,GAAK,UACV,IAAK,UAAY,GACjB,GAAK,YAAc,GAEnB,GAAI,IAAa,IAAM,CACtB,GAAK,QACL,GAAK,gBACL,GAAK,SAAS,GAAK,MAAM,QACzB,GAAK,QAAQ,SAGd,AAAI,GAAK,SAAS,QAAU,GAAK,SAAS,aACzC,GAAK,WAAW,KAAM,IAEtB,OAUF,eAAgB,GAA8B,GAAoB,CACjE,GAAI,IAAO,GAAO,KAIlB,AAAI,GAAO,eAAiB,GAAO,cAAc,QAAQ,oBAKzD,CAAI,GAAO,UAAU,SAAS,UAC7B,GAAK,WAAW,KAAM,IAAM,CAC3B,AAAI,GAAK,SAAS,kBACjB,GAAK,UAIP,IAAQ,GAAO,QAAQ,MACnB,MAAO,KAAU,aACpB,IAAK,UAAY,KACjB,GAAK,QAAQ,IACT,GAAK,SAAS,kBACjB,GAAK,QAGF,CAAC,GAAK,SAAS,cAAgB,GAAI,MAAQ,QAAQ,KAAK,GAAI,OAC/D,GAAK,gBAAgB,OAUzB,UAAU,GAAgC,CAEzC,MAAI,QAAK,QAAU,IAAU,KAAK,iBAAiB,SAAS,KAW7D,aAAc,GAAiB,GAAuB,CACrD,GAAI,IAAO,KAEX,MAAI,CAAC,GAAK,UAAY,GAAK,SAAS,OAAS,QAC5C,IAAe,IACf,GAAK,cAAc,GAAM,IAClB,IAED,GAmBR,QAAQ,GAAqB,CAG5B,MADI,GAAC,KAAK,SAAS,MACf,KAAK,eAAe,eAAe,KASxC,KAAK,GAAmB,CACvB,GAAM,IAAO,KAEb,GAAI,CAAC,GAAK,QAAQ,IAAS,OAE3B,GAAW,GAAK,QAAQ,GAAK,SAAS,cACtC,GAAK,UAEL,GAAM,IAAW,GAAK,aAAa,KAAK,IACxC,GAAK,SAAS,KAAK,KAAK,GAAM,GAAO,IAOtC,aAAc,GAAqB,GAA4B,CAC9D,GAAM,IAAO,KACb,GAAK,QAAU,KAAK,IAAI,GAAK,QAAU,EAAG,GAC1C,GAAK,UAAY,KAEjB,GAAK,oBACL,GAAK,aAAa,GAAQ,IAE1B,GAAK,eAAe,GAAK,WAAa,CAAC,GAAK,eAEvC,GAAK,SACT,GAAc,GAAK,QAAQ,GAAK,SAAS,cAG1C,GAAK,QAAQ,OAAQ,GAAS,IAG/B,SAAc,CACb,GAAI,IAAY,KAAK,QAAQ,UAC7B,AAAI,GAAU,SAAS,cACvB,IAAU,IAAI,aACd,KAAK,KAAK,KAQX,gBAAgB,GAAe,GAAI,CAClC,GAAI,IAAQ,KAAK,cACb,GAAU,GAAM,QAAU,GAC9B,AAAI,IACH,IAAM,MAAQ,GACd,GAAa,GAAM,UACnB,KAAK,UAAY,IAWnB,UAA2B,CAE1B,MAAI,MAAK,eAAiB,KAAK,MAAM,aAAa,YAC1C,KAAK,MAGN,KAAK,MAAM,KAAK,KAAK,SAAS,WAOtC,SAAU,GAAuB,GAAsB,CACtD,GAAI,IAAS,GAAS,GAAK,CAAC,UAE5B,GAAgB,KAAM,GAAO,IAAM,CAClC,KAAK,MAAM,IACX,KAAK,SAAS,GAAO,MASvB,YAAY,GAAkB,CAC7B,AAAG,KAAU,GAAG,IAAQ,MACxB,KAAK,SAAS,SAAW,GACzB,KAAK,eAON,cAAe,GAAe,GAA6B,CAC1D,GAAI,IAAO,KACP,GACA,GAAG,GAAO,GAAK,GACf,GAEJ,GAAI,GAAK,SAAS,OAAS,SAG3B,IAAI,CAAC,GAAM,CACV,GAAK,mBACD,GAAK,WACR,GAAK,aAEN,OAMD,GAFA,GAAY,IAAK,GAAE,KAAK,cAEpB,KAAc,SAAW,GAAU,WAAW,KAAM,GAAK,YAAY,OAAQ,CAUhF,IATA,GAAO,GAAK,gBACZ,GAAQ,MAAM,UAAU,QAAQ,KAAK,GAAK,QAAQ,SAAU,IAC5D,GAAO,MAAM,UAAU,QAAQ,KAAK,GAAK,QAAQ,SAAU,IAEvD,GAAQ,IACX,IAAQ,GACR,GAAQ,GACR,GAAQ,IAEJ,GAAI,GAAO,IAAK,GAAK,KACzB,GAAO,GAAK,QAAQ,SAAS,IACzB,GAAK,YAAY,QAAQ,MAAU,IACtC,GAAK,mBAAmB,IAG1B,GAAe,QACT,AAAK,MAAc,SAAW,GAAU,GAAuB,KAAS,KAAc,WAAa,GAAU,WAAW,IAC9H,AAAI,GAAK,UAAU,SAAS,UAC3B,GAAK,iBAAkB,IAEvB,GAAK,mBAAmB,IAGzB,IAAK,mBACL,GAAK,mBAAmB,KAIzB,GAAK,aACA,GAAK,WACT,GAAK,SAQP,mBAAoB,GAAc,CACjC,GAAM,IAAO,KACP,GAAc,GAAK,QAAQ,cAAc,gBAC/C,AAAI,IAAc,GAAc,GAA2B,eAE3D,GAAW,GAAK,sBAChB,GAAK,QAAQ,cAAe,IACxB,GAAK,YAAY,QAAQ,KAAS,IACrC,GAAK,YAAY,KAAM,IAQzB,iBAAkB,GAAc,CAC/B,GAAI,IAAM,KAAK,YAAY,QAAQ,IACnC,KAAK,YAAY,OAAO,GAAK,GAC7B,GAAc,GAAK,UAOpB,kBAAkB,CACjB,GAAc,KAAK,YAAY,UAC/B,KAAK,YAAc,GAQpB,gBAAiB,GAAwB,GAAe,GAAW,CAElE,AAAI,KAAW,KAAK,cAIpB,MAAK,oBACD,EAAC,IAEL,MAAK,aAAe,GACpB,GAAQ,KAAK,WAAW,CAAC,wBAAwB,GAAO,aAAa,QACrE,GAAQ,GAAO,CAAC,gBAAgB,SAChC,GAAW,GAAO,UACd,IAAS,KAAK,eAAe,MAOlC,eAAgB,GAAyB,GAAuB,CAE/D,GAAI,CAAC,GAAS,OAEd,GAAM,IAAW,KAAK,iBAChB,GAAc,GAAQ,aACtB,GAAa,GAAQ,WAAa,EAClC,GAAc,GAAO,aACrB,GAAO,GAAO,wBAAwB,IAAM,GAAQ,wBAAwB,IAAM,GAExF,AAAI,GAAI,GAAc,GAAc,GACnC,KAAK,OAAO,GAAI,GAAc,GAAa,IAEjC,GAAI,IACd,KAAK,OAAO,GAAG,IAQjB,OAAQ,GAAkB,GAAuB,CAChD,GAAM,IAAU,KAAK,iBACrB,AAAI,IACH,IAAQ,MAAM,eAAiB,IAEhC,GAAQ,UAAY,GACpB,GAAQ,MAAM,eAAiB,GAOhC,mBAAmB,CAClB,AAAI,KAAK,cACR,IAAc,KAAK,aAAa,UAChC,GAAQ,KAAK,aAAa,CAAC,gBAAgB,QAE5C,KAAK,aAAe,KACpB,GAAQ,KAAK,WAAW,CAAC,wBAAwB,OAOlD,WAAY,CACX,GAAM,IAAO,KAEb,GAAI,GAAK,SAAS,OAAS,SAAU,OAErC,GAAM,IAAc,GAAK,kBAEzB,AAAI,CAAC,GAAY,QAEjB,IAAK,aACL,GAAK,QAEL,GAAK,YAAc,GACnB,GAAS,GAAc,IAAiB,CACvC,GAAK,mBAAmB,OAS1B,YAAY,CACX,GAAI,IAAO,KAEX,AAAI,CAAC,GAAK,QAAQ,SAAS,GAAK,gBAEhC,IAAQ,GAAK,cAAc,CAAC,YAAY,GAAK,SAAS,cAEtD,AAAI,GAAK,YAAY,OAAS,GAAM,CAAC,GAAK,WAAa,GAAK,SAAS,iBAAmB,GAAK,MAAM,OAAS,EAC3G,IAAK,kBACL,GAAK,cAAgB,IAIjB,IAAK,SAAS,iBAAmB,GAAK,MAAM,OAAS,GACxD,GAAQ,GAAK,cAAc,CAAC,YAAY,KAEzC,GAAK,cAAgB,IAGtB,GAAK,QAAQ,UAAU,OAAO,eAAgB,GAAK,gBAMpD,YAAY,CACX,MAAO,MAAK,cAAc,MAAM,OAMjC,OAAQ,CACP,GAAI,IAAO,KACX,AAAI,GAAK,YAAc,GAAK,YAE5B,IAAK,YAAc,GAEnB,AAAI,GAAK,cAAc,YACtB,GAAK,cAAc,QAEnB,GAAK,WAAW,QAGjB,WAAW,IAAM,CAChB,GAAK,YAAc,GACnB,GAAK,WACH,IAOJ,MAAY,CACX,KAAK,WAAW,OAChB,KAAK,SAUN,iBAAiB,GAAc,CAC9B,MAAO,MAAK,OAAO,iBAAiB,GAAO,KAAK,oBAUjD,kBAAmB,CAClB,GAAI,IAAW,KAAK,SAChB,GAAO,GAAS,UACpB,MAAI,OAAO,IAAS,WAAc,UACjC,IAAO,CAAC,CAAC,MAAO,GAAS,aAGnB,CACN,OAAc,GAAS,YACvB,YAAc,GAAS,kBACvB,KAAc,GACd,QAAc,GAAS,SASzB,OAAO,GAA4C,CAClD,GAAI,IAAQ,GACR,GAAW,KACX,GAAW,KAAK,mBAGpB,GAAK,GAAK,SAAS,OAClB,IAAiB,GAAK,SAAS,MAAM,KAAK,GAAK,IAC3C,MAAO,KAAmB,YAC7B,KAAM,IAAI,OAAM,yEAKlB,MAAI,MAAU,GAAK,UAClB,IAAK,UAAc,GACnB,GAAa,GAAK,OAAO,OAAO,GAAO,OAAO,OAAO,GAAS,CAAC,MAAO,MACtE,GAAK,eAAkB,IAEvB,GAAa,OAAO,OAAQ,GAAI,GAAK,gBAIlC,GAAK,SAAS,cACjB,IAAO,MAAQ,GAAO,MAAM,OAAQ,IAAS,CAC5C,GAAI,IAAS,GAAS,GAAK,IAC3B,MAAO,CAAE,KAAU,GAAK,MAAM,QAAQ,MAAY,OAI7C,GAQR,eAAgB,GAA0B,GAAM,CAC/C,GAAI,IAAG,GAAG,GAAG,GAAG,GAAU,GAAW,GAAuB,GAAmB,GAC3E,GAGJ,GAAM,IAAgC,GAChC,GAAuB,GAE7B,GAAI,IAAW,KACX,GAAY,GAAK,aACrB,GAAM,IAAe,KAAU,GAAK,WAAc,IAAS,IAAM,GAAK,WAAa,KACnF,GAAI,IAAc,GAAK,OAAO,IAC1B,GAAiC,KACjC,GAAkB,GAAK,SAAS,YAAc,GAC9C,GAAoB,GAAK,iBAG7B,AAAI,IACH,IAAkB,GAAK,aAEnB,IACH,IAAe,GAAc,QAAQ,kBAKvC,GAAI,GAAQ,MAAM,OACd,MAAO,IAAK,SAAS,YAAe,UACvC,IAAI,KAAK,IAAI,GAAG,GAAK,SAAS,aAG3B,GAAI,GACP,IAAgB,IAIjB,GAAM,IAAmB,CAAC,GAAgB,KAA2C,CAEpF,GAAI,IAAgB,GAAO,IAE3B,GAAI,KAAkB,OAAW,CAChC,GAAI,IAAc,GAAa,IAC/B,GAAI,KAAgB,OACnB,MAAO,CAAC,GAAc,GAAY,UAIpC,GAAI,IAAiB,SAAS,yBAC9B,UAAgB,GAAa,OAC7B,GAAa,KAAK,CAAC,SAAS,GAAe,SAAM,cAE1C,CAAC,GAAc,KAIvB,IAAK,GAAI,EAAG,GAAI,GAAG,KAAK,CAGvB,GAAI,IAAS,GAAQ,MAAM,IAC3B,GAAI,CAAC,GAAO,SAEZ,GAAI,IAAa,GAAK,GAClB,GAAW,GAAK,QAAQ,IAE5B,GAAI,KAAW,OAAY,SAE3B,GAAI,IAAY,GAAS,IACrB,GAAa,GAAK,UAAU,GAAS,IAWzC,IARK,GAAK,SAAS,cAClB,GAAU,UAAU,OAAO,WAAY,GAAK,MAAM,SAAS,KAG5D,GAAc,GAAO,GAAK,SAAS,gBAAkB,GACrD,GAAc,MAAM,QAAQ,IAAY,GAAW,CAAC,IAG/C,GAAI,EAAG,GAAI,IAAa,GAAU,OAAQ,GAAI,GAAG,KAAK,CAC1D,GAAW,GAAU,IAErB,GAAI,IAAQ,GAAO,OACf,GAAgB,GAAK,UAAU,IACnC,AAAI,KAAkB,OACrB,GAAW,GAEX,GAAQ,GAAc,OAGvB,GAAM,CAAC,GAAc,IAAkB,GAAiB,GAAS,IAIjE,AAAI,GAAI,GACP,IAAY,GAAU,UAAU,IAChC,GAAQ,GAAU,CAAC,GAAI,GAAO,IAAI,UAAU,GAAE,gBAAgB,OAC9D,GAAU,UAAU,IAAI,aACxB,GAAc,GAAU,UAIpB,GAAK,cAAgB,GAAK,aAAa,QAAQ,OAAS,IACvD,IAAgB,GAAa,QAAQ,QAAU,GAAS,YAC3D,IAAgB,KAKnB,GAAe,YAAY,IACvB,IAAY,IACf,IAAO,IAAY,KAMtB,AAAI,GAAK,SAAS,mBACjB,GAAa,KAAK,CAAC,GAAG,KACd,GAAE,MAAQ,GAAE,OAKrB,GAAO,SAAS,yBAChB,GAAS,GAAe,IAAsB,CAE7C,GAAI,IAAiB,GAAY,SAC7B,GAAW,GAAY,SAE3B,GAAI,CAAC,IAAkB,CAAC,GAAe,SAAS,OAAS,OAEzD,GAAI,IAAgB,GAAK,UAAU,IAEnC,GAAI,KAAkB,OAAW,CAEhC,GAAI,IAAgB,SAAS,yBACzB,GAAS,GAAK,OAAO,kBAAmB,IAC5C,GAAQ,GAAe,IACvB,GAAQ,GAAe,IAEvB,GAAI,IAAa,GAAK,OAAO,WAAY,CAAC,MAAM,GAAc,QAAQ,KAEtE,GAAQ,GAAM,QAGd,IAAQ,GAAM,MAIhB,GAAiB,UAAY,GAC7B,GAAQ,GAAkB,IAGtB,GAAK,SAAS,WACjB,IAAiB,IACb,GAAQ,MAAM,QAAU,GAAQ,OAAO,QAC1C,GAAS,GAAQ,OAAS,IAAQ,CACjC,GAAW,GAAkB,GAAI,UAMpC,GAAI,IAAgB,IAA8B,CACjD,GAAI,IAAU,GAAK,OAAO,GAAS,CAAC,MAAM,KAC1C,MAAI,KACH,IAAgB,GAChB,GAAiB,aAAa,GAAS,GAAiB,aAElD,IA6BR,GAxBA,AAAI,GAAK,QACR,GAAa,WAGR,AAAK,GAAK,SAAS,WAAW,KAAK,GAAK,IAIpC,GAAQ,MAAM,SAAW,GAClC,GAAa,cAJb,GAAa,eAWd,GAAoB,GAAK,UAAU,IAC/B,IACH,IAAS,GAAa,kBAKvB,GAAK,WAAa,GAAQ,MAAM,OAAS,GAAK,GAC1C,GAAe,CAElB,GAAI,GAAQ,MAAM,OAAS,GAM1B,GAJI,CAAC,IAAiB,GAAK,SAAS,OAAS,UAAY,GAAK,MAAM,IAAM,MACzE,IAAgB,GAAK,UAAU,GAAK,MAAM,KAGvC,CAAC,GAAiB,SAAS,IAAiB,CAE/C,GAAI,IAAe,EACnB,AAAI,IAAU,CAAC,GAAK,SAAS,eAC5B,IAAe,GAEhB,GAAgB,GAAK,aAAa,SAG9B,AAAI,KACT,IAAgB,IAGjB,AAAI,IAAmB,CAAC,GAAK,QAC5B,IAAK,OACL,GAAK,eAAe,GAAc,SAEnC,GAAK,gBAAgB,QAGrB,IAAK,oBACD,IAAmB,GAAK,QAC3B,GAAK,MAAM,IASd,YAAqB,CACpB,MAAO,MAAK,iBAAiB,iBAAiB,qBAgB/C,UAAW,GAAgB,GAAe,GAAqB,CAC9D,GAAM,IAAO,KAIb,GAAI,MAAM,QAAQ,IACjB,UAAK,WAAY,GAAM,IAChB,GAGR,GAAM,IAAM,GAAS,GAAK,GAAK,SAAS,aACxC,MAAI,MAAQ,MAAQ,GAAK,QAAQ,eAAe,IACxC,GAGR,IAAK,OAAW,GAAK,QAAU,EAAE,GAAK,MACtC,GAAK,IAAQ,GAAK,QAAU,QAAU,GAAK,OAC3C,GAAK,QAAQ,IAAO,GACpB,GAAK,UAAa,KAEd,IACH,IAAK,YAAY,IAAO,GACxB,GAAK,QAAQ,aAAc,GAAK,KAG1B,IAOR,WAAY,GAAkB,GAAe,GAAY,CACxD,GAAS,GAAO,IAAkB,CACjC,KAAK,UAAU,GAAK,MAOtB,eAAgB,GAA8B,CAC7C,MAAO,MAAK,UAAU,IAQvB,oBAAoB,GAAgB,CACnC,GAAI,IAAM,GAAS,GAAK,KAAK,SAAS,qBAEtC,MAAK,MAAQ,KAAc,GAE3B,IAAK,OAAS,GAAK,QAAU,EAAE,KAAK,MACpC,KAAK,UAAU,IAAO,GACf,IAQR,eAAe,GAAW,GAAgB,CACzC,GAAI,IACJ,GAAK,KAAK,SAAS,oBAAsB,GAErC,IAAY,KAAK,oBAAoB,MACxC,KAAK,QAAQ,eAAgB,GAAW,IAQ1C,kBAAkB,GAAW,CAC5B,AAAI,KAAK,UAAU,eAAe,KACjC,OAAO,MAAK,UAAU,IACtB,KAAK,aACL,KAAK,QAAQ,kBAAmB,KAOlC,mBAAoB,CACnB,KAAK,UAAY,GACjB,KAAK,aACL,KAAK,QAAQ,kBASd,aAAa,GAAc,GAAgB,CAC1C,GAAM,IAAO,KACb,GAAI,IACA,GAEJ,GAAM,IAAa,GAAS,IACtB,GAAa,GAAS,GAAK,GAAK,SAAS,aAG/C,GAAI,KAAc,KAAO,OAEzB,GAAM,IAAY,GAAK,QAAQ,IAE/B,GAAI,IAAY,KAAY,OAC5B,GAAI,MAAO,KAAc,SAAW,KAAM,IAAI,OAAM,oCAGpD,GAAM,IAAU,GAAK,UAAU,IACzB,GAAS,GAAK,QAAQ,IAa5B,GAVA,GAAK,OAAS,GAAK,QAAU,GAAS,OACtC,MAAO,IAAK,QAAQ,IAIpB,GAAK,aAAa,IAElB,GAAK,QAAQ,IAAa,GAGtB,GAAQ,CACX,GAAI,GAAK,iBAAiB,SAAS,IAAS,CAE3C,GAAM,IAAa,GAAK,QAAQ,SAAU,IAC1C,GAAY,GAAQ,IAEhB,GAAK,eAAiB,IACzB,GAAK,gBAAgB,IAGvB,GAAO,SAIR,AAAI,IACH,IAAa,GAAK,MAAM,QAAQ,IAC5B,KAAe,IAClB,GAAK,MAAM,OAAO,GAAY,EAAG,IAGlC,GAAW,GAAK,QAAQ,OAAQ,IAE5B,GAAK,UAAU,SAAS,WAAY,GAAW,GAAS,UAE5D,GAAa,GAAM,KAIpB,GAAK,UAAY,KAOlB,aAAa,GAAc,GAAsB,CAChD,GAAM,IAAO,KACb,GAAQ,GAAS,IAEjB,GAAK,aAAa,IAElB,MAAO,IAAK,YAAY,IACxB,MAAO,IAAK,QAAQ,IACpB,GAAK,UAAY,KACjB,GAAK,QAAQ,gBAAiB,IAC9B,GAAK,WAAW,GAAO,IAMxB,aAAa,GAAyB,CAErC,GAAM,IAAe,KAAU,KAAK,aAAa,KAAK,MAEtD,KAAK,eAAkB,GACvB,KAAK,YAAe,GACpB,KAAK,aAEL,GAAM,IAAsB,GAC5B,GAAQ,KAAK,QAAQ,CAAC,GAAiB,KAAa,CACnD,AAAI,GAAY,GAAO,KACtB,IAAS,IAAO,MAIlB,KAAK,QAAU,KAAK,OAAO,MAAQ,GACnC,KAAK,UAAY,KACjB,KAAK,QAAQ,gBAQd,YAAY,GAAiB,GAAa,CACzC,MAAI,MAAK,MAAM,QAAQ,KAAU,EAWlC,UAAU,GAA4C,GAAe,GAAwB,CAE5F,GAAM,IAAS,GAAS,IACxB,GAAI,KAAW,KAAO,MAAO,MAE7B,GAAM,IAAS,KAAK,QAAQ,IAC5B,GAAI,IAAU,KAAW,CAExB,GAAI,GAAO,KACV,MAAO,IAAO,KAGf,GAAI,GACH,MAAO,MAAK,QAAQ,SAAU,IAIhC,MAAO,MAQR,YAAa,GAAyB,GAAkB,GAAc,SAA6B,CAClG,GAAI,IAAO,KAAM,GAEjB,GAAI,CAAC,GACJ,MAAO,MAGR,AAAI,IAAQ,OACX,GAAQ,GAAK,kBAEb,GAAQ,GAAK,iBAAiB,iBAAiB,qBAGhD,OAAS,IAAI,EAAG,GAAI,GAAI,OAAQ,KAC/B,GAAI,GAAI,KAAM,GAId,MAAI,IAAY,EACR,GAAI,GAAE,GAGP,GAAI,GAAE,GAEd,MAAO,MASR,QAAQ,GAAuC,CAE9C,GAAI,MAAO,KAAQ,SAClB,MAAO,IAGR,GAAI,IAAQ,GAAS,IACrB,MAAO,MAAU,KACd,KAAK,QAAQ,cAAe,gBAAe,GAAW,SACtD,KAQJ,SAAU,GAAwB,GAAsB,CACvD,GAAI,IAAO,KAEP,GAAQ,MAAM,QAAQ,IAAU,GAAS,CAAC,IAC9C,GAAQ,GAAM,OAAO,IAAK,GAAK,MAAM,QAAQ,MAAO,IACpD,GAAM,IAAY,GAAM,GAAM,OAAS,GACvC,GAAM,QAAQ,IAAQ,CACrB,GAAK,UAAa,KAAS,GAC3B,GAAK,QAAQ,GAAM,MASrB,QAAS,GAAc,GAAsB,CAC5C,GAAI,IAAS,GAAS,GAAK,CAAC,SAAS,kBAErC,GAAgB,KAAM,GAAQ,IAAM,CACnC,GAAI,IAAM,GACV,GAAM,IAAO,KACN,GAAY,GAAK,SAAS,KAC3B,GAAS,GAAS,IAExB,GAAI,MAAU,GAAK,MAAM,QAAQ,MAAY,IAExC,MAAc,UACjB,GAAK,QAGF,KAAc,UAAY,CAAC,GAAK,SAAS,cAK1C,OAAW,MAAQ,CAAC,GAAK,QAAQ,eAAe,MAChD,MAAc,UAAU,GAAK,MAAM,IACnC,OAAc,SAAW,GAAK,WAYlC,IAVA,GAAO,GAAK,QAAQ,OAAQ,GAAK,QAAQ,KAErC,GAAK,QAAQ,SAAS,KACzB,IAAO,GAAK,UAAU,KAGvB,GAAU,GAAK,SACf,GAAK,MAAM,OAAO,GAAK,SAAU,EAAG,IACpC,GAAK,cAAc,IAEf,GAAK,QAAS,CAGjB,GAAI,CAAC,GAAK,WAAa,GAAK,SAAS,aAAc,CAClD,GAAI,IAAS,GAAK,UAAU,IACxB,GAAO,GAAK,YAAY,GAAQ,GACpC,AAAI,IACH,GAAK,gBAAgB,IAMvB,AAAI,CAAC,GAAK,WAAa,CAAC,GAAK,SAAS,kBACrC,GAAK,eAAe,GAAK,WAAa,KAAc,UAIrD,AAAI,GAAK,SAAS,kBAAoB,IAAS,GAAK,SACnD,GAAK,QACM,GAAK,WAChB,GAAK,mBAGN,GAAK,QAAQ,WAAY,GAAQ,IAE5B,GAAK,WACT,GAAK,oBAAoB,CAAC,OAAQ,KAIpC,AAAI,EAAC,GAAK,WAAc,CAAC,IAAW,GAAK,WACxC,IAAK,aACL,GAAK,mBAWR,WAAY,GAAyB,KAAM,GAAiB,CAC3D,GAAM,IAAQ,KAGd,GAFA,GAAS,GAAK,QAAQ,IAElB,CAAC,GAAO,OAEZ,GAAI,IAAE,GACN,GAAM,IAAQ,GAAK,QAAQ,MAC3B,GAAI,GAAU,IAEd,GAAK,SACD,GAAK,UAAU,SAAS,WAC3B,IAAM,GAAK,YAAY,QAAQ,IAC/B,GAAK,YAAY,OAAO,GAAK,GAC7B,GAAc,GAAK,WAGpB,GAAK,MAAM,OAAO,GAAG,GACrB,GAAK,UAAY,KACb,CAAC,GAAK,SAAS,SAAW,GAAK,YAAY,eAAe,KAC7D,GAAK,aAAa,GAAO,IAGtB,GAAI,GAAK,UACZ,GAAK,SAAS,GAAK,SAAW,GAG/B,GAAK,oBAAoB,CAAC,OAAQ,KAClC,GAAK,eACL,GAAK,mBACL,GAAK,QAAQ,cAAe,GAAO,IAapC,WAAY,GAAkB,KAAM,GAA6B,IAAI,GAAY,CAGhF,AAAI,UAAU,SAAW,GACxB,IAAW,UAAU,IAElB,MAAO,KAAY,YACtB,IAAW,IAAM,IAGlB,GAAI,IAAQ,KACR,GAAQ,GAAK,SACb,GAGJ,GAFA,GAAQ,IAAS,GAAK,aAElB,CAAC,GAAK,UAAU,IACnB,YACO,GAGR,GAAK,OAEL,GAAI,IAAU,GACV,GAAU,IAA4B,CAGzC,GAFA,GAAK,SAED,CAAC,IAAQ,MAAO,KAAS,SAAU,MAAO,MAC9C,GAAI,IAAQ,GAAS,GAAK,GAAK,SAAS,aACxC,GAAI,MAAO,KAAU,SACpB,MAAO,MAGR,GAAK,kBACL,GAAK,UAAU,GAAK,IACpB,GAAK,SAAS,IACd,GAAK,QAAQ,IACb,GAAS,IACT,GAAU,IAGX,MAAI,OAAO,IAAK,SAAS,QAAW,WACnC,GAAS,GAAK,SAAS,OAAO,KAAK,KAAM,GAAO,IAEhD,GAAS,EACP,GAAK,SAAS,YAAa,IAC3B,GAAK,SAAS,YAAa,IAIzB,IACJ,GAAO,IAGD,GAMR,cAAe,CACd,GAAI,IAAO,KACX,GAAK,UAAY,KAEb,GAAK,SACR,GAAK,SAAS,GAAK,OAGpB,GAAK,sBACL,GAAK,eAON,cAAe,CACd,GAAM,IAAW,KAEjB,GAAK,uBAEL,GAAM,IAAS,GAAK,SACd,GAAW,GAAK,SAEtB,GAAK,QAAQ,UAAU,OAAO,MAAM,GAAK,KAGzC,GAAM,IAAiB,GAAK,QAAQ,UAEpC,GAAe,OAAO,QAAS,GAAK,WACpC,GAAe,OAAO,WAAY,GAAK,YACvC,GAAe,OAAO,WAAY,GAAK,YACvC,GAAe,OAAO,WAAY,GAAK,YACvC,GAAe,OAAO,UAAW,CAAC,GAAK,SACvC,GAAe,OAAO,SAAU,IAChC,GAAe,OAAO,OAAQ,IAC9B,GAAe,OAAO,eAAgB,GAAK,WAAa,CAAC,GAAK,eAC9D,GAAe,OAAO,kBAAmB,GAAK,QAC9C,GAAe,OAAO,cAAe,GAAc,GAAK,UACxD,GAAe,OAAO,YAAa,GAAK,MAAM,OAAS,GAaxD,sBAAuB,CACtB,GAAI,IAAO,KAEX,AAAI,CAAC,GAAK,MAAM,UAIhB,IAAK,QAAU,GAAK,MAAM,SAAS,MACnC,GAAK,UAAY,CAAC,GAAK,SASxB,QAAS,CACR,MAAO,MAAK,SAAS,WAAa,MAAQ,KAAK,MAAM,QAAU,KAAK,SAAS,SAQ9E,oBAAqB,GAAoB,GAAI,CAC5C,GAAM,IAAO,KACb,GAAI,IAAQ,GAEZ,GAAM,IAAe,GAAK,MAAM,cAAc,oBAE9C,GAAI,GAAK,cAAe,CAKvB,GAAS,IAAT,SAAqB,GAAkC,GAAc,GAA+B,CAEnG,MAAK,KACJ,IAAY,GAAO,kBAAoB,GAAY,IAAS,KAAO,GAAY,IAAS,cAKrF,IAAa,IAChB,GAAK,MAAM,OAAO,IAGnB,GAAS,KAAK,IAIV,KAAa,IAAgB,GAAe,IAC/C,IAAU,SAAW,IAGf,IAvBF,GAAgC,GAChC,GAAyB,GAAK,MAAM,iBAAiB,kBAAkB,OA0B7E,GAAK,MAAM,iBAAiB,kBAAkB,QAAS,IAAsB,CACxD,GAAW,SAAW,KAK3C,AAAI,GAAK,MAAM,QAAU,GAAK,GAAK,SAAS,MAAQ,SAEnD,GAAY,GAAc,GAAI,IAK9B,GAAK,MAAM,QAAS,IAAQ,CAI3B,GAHA,GAAW,GAAK,QAAQ,IACxB,GAAU,GAAO,GAAK,SAAS,aAAe,GAE1C,GAAS,SAAS,GAAO,SAAU,CACtC,GAAM,IAAY,GAAK,MAAM,cAAe,iBAAgB,GAAW,uBACvE,GAAY,GAAW,GAAO,QAE9B,IAAO,QAAU,GAAY,GAAO,QAAS,GAAO,UAOvD,IAAK,MAAM,MAAQ,GAAK,WAGzB,AAAI,GAAK,SACH,IAAK,QACT,GAAK,QAAQ,SAAU,GAAK,aAS/B,MAAO,CACN,GAAI,IAAO,KAEX,AAAI,GAAK,UAAY,GAAK,QAAW,GAAK,SAAS,OAAS,SAAW,GAAK,UAC5E,IAAK,OAAS,GACd,GAAQ,GAAK,WAAW,CAAC,gBAAiB,SAC1C,GAAK,eACL,GAAS,GAAK,SAAS,CAAC,WAAY,SAAU,QAAS,UACvD,GAAK,mBACL,GAAS,GAAK,SAAS,CAAC,WAAY,UAAW,QAAS,UACxD,GAAK,QACL,GAAK,QAAQ,gBAAiB,GAAK,WAMpC,MAAM,GAAgB,GAAM,CAC3B,GAAI,IAAO,KACP,GAAU,GAAK,OAEnB,AAAI,IAGH,IAAK,kBAED,GAAK,SAAS,OAAS,UAAY,GAAK,MAAM,QACjD,GAAK,cAIP,GAAK,OAAS,GACd,GAAQ,GAAK,WAAW,CAAC,gBAAiB,UAC1C,GAAS,GAAK,SAAS,CAAC,QAAS,SAC7B,GAAK,SAAS,cACjB,GAAK,oBAEN,GAAK,eAED,IAAS,GAAK,QAAQ,iBAAkB,GAAK,UAQlD,kBAAkB,CAEjB,GAAI,KAAK,SAAS,iBAAmB,OAIrC,IAAI,IAAY,KAAK,QACjB,GAAS,GAAQ,wBACjB,GAAS,GAAQ,aAAe,GAAK,IAAO,OAAO,QACnD,GAAS,GAAK,KAAO,OAAO,QAGhC,GAAS,KAAK,SAAS,CACtB,MAAQ,GAAK,MAAQ,KACrB,IAAQ,GAAM,KACd,KAAQ,GAAO,QAUjB,MAAM,GAAiB,CACtB,GAAI,IAAO,KAEX,GAAI,EAAC,GAAK,MAAM,OAEhB,IAAI,IAAQ,GAAK,kBACjB,GAAQ,GAAO,IAAe,CAC7B,GAAK,WAAW,GAAK,MAGtB,GAAK,aACA,IAAS,GAAK,sBACnB,GAAK,QAAQ,UAQd,cAAc,GAAgB,CAC7B,GAAM,IAAQ,KACR,GAAS,GAAK,SACd,GAAS,GAAK,QAEpB,GAAO,aAAa,GAAI,GAAO,SAAS,KAAU,MAClD,GAAK,SAAS,GAAQ,GAOvB,gBAAgB,GAAyB,CACxC,GAAI,IAAW,GAAW,GAAO,GAC7B,GAAO,KAEX,GAAa,IAAK,GAAE,UAAY,GAA2B,GAAK,EAChE,GAAY,GAAa,GAAK,eAI9B,GAAM,IAAqB,GAE3B,GAAI,GAAK,YAAY,OAEpB,GAAO,GAAQ,GAAK,YAAa,IACjC,GAAQ,GAAU,IAEd,GAAY,GAAK,KAErB,GAAQ,GAAK,YAAc,IAAiB,GAAS,KAAK,aAE/C,IAAK,WAAa,GAAK,SAAS,OAAS,WAAa,GAAK,MAAM,OAAQ,CACpF,GAAM,IAAQ,GAAK,kBACf,GACJ,AAAI,GAAY,GAAK,GAAU,QAAU,GAAK,GAAU,SAAW,EAClE,GAAU,GAAM,GAAK,SAAW,GAEvB,GAAY,GAAK,GAAU,QAAU,GAAK,aAAa,QAChE,IAAU,GAAM,GAAK,WAGlB,KAAY,QACf,GAAS,KAAM,IAIjB,GAAI,CAAC,GAAK,aAAa,GAAS,IAC/B,MAAO,GAUR,IAPA,GAAe,GAAE,IAGb,MAAO,KAAU,aACpB,GAAK,SAAS,IAGR,GAAS,QACf,GAAK,WAAW,GAAS,OAG1B,UAAK,aACL,GAAK,mBACL,GAAK,eAAe,IAEb,GAMR,aAAa,GAAgB,GAA6B,CAEzD,GAAM,IAAS,GAAM,IAAI,IAAQ,GAAK,QAAQ,OAG9C,MAAI,GAAC,GAAO,QAAW,MAAO,MAAK,SAAS,UAAa,YAAc,KAAK,SAAS,SAAS,GAAO,MAAS,IAc/G,iBAAiB,GAAkB,GAA6B,CAC/D,GAAI,IAAa,GAAU,GAAO,KAGlC,AADI,GAAK,KAAK,KAAa,IACvB,IAAK,aAAa,QAItB,CAAI,GAAU,GAAuB,KAAM,GAAU,WAAW,IAE/D,IAAgB,GAAK,cAAc,IACnC,AAAI,GAEH,AAAK,GAAY,UAAU,SAAS,UAGnC,GAAa,GAAK,YAAY,GAAY,GAAU,QAFpD,GAAa,GAMT,AAAI,GAAY,EACrB,GAAa,GAAK,cAAc,mBAEhC,GAAa,GAAK,cAAc,uBAI7B,IACC,IAAS,UAAU,SAAS,WAC/B,GAAK,iBAAiB,IAEvB,GAAK,mBAAmB,MAKzB,GAAK,UAAU,KAIjB,UAAU,GAAiB,EAM3B,cAAc,GAAkB,CAE/B,GAAI,IAAc,KAAK,QAAQ,cAAc,gBAC7C,GAAI,GACH,MAAO,IAIR,GAAI,IAAS,KAAK,QAAQ,iBAAiB,WAC3C,GAAI,GACH,MAAO,IAAQ,GAAO,IAaxB,SAAS,GAAgB,CACxB,KAAK,SAAW,KAAK,MAAM,OAO5B,iBAA2B,CAC1B,MAAO,OAAM,KAAM,KAAK,QAAQ,iBAAiB,mBAOlD,MAAO,CACN,KAAK,UAAU,IAMhB,QAAS,CACR,KAAK,UAAU,IAMhB,UAAW,GAAe,KAAK,YAAc,KAAK,WAAY,CAC7D,KAAK,SAAW,GAChB,KAAK,eAON,SAAU,CACT,KAAK,YAAY,IACjB,KAAK,QAON,QAAS,CACR,KAAK,YAAY,IAGlB,YAAY,GAAiB,CAC5B,KAAK,WAAW,SAAY,GAAW,GAAK,KAAK,SACjD,KAAK,WAAiB,GACtB,KAAK,MAAM,SAAc,GACzB,KAAK,cAAc,SAAY,GAC/B,KAAK,YAGN,YAAY,GAAmB,CAC9B,KAAK,WAAiB,GACtB,KAAK,MAAM,SAAc,GACzB,KAAK,cAAc,SAAY,GAC/B,KAAK,YAQN,SAAU,CACT,GAAI,IAAO,KACP,GAAiB,GAAK,eAE1B,GAAK,QAAQ,WACb,GAAK,MACL,GAAK,QAAQ,SACb,GAAK,SAAS,SAEd,GAAK,MAAM,UAAY,GAAe,UACtC,GAAK,MAAM,SAAW,GAAe,SAErC,GAAc,GAAK,MAAM,cAAc,wBAEvC,GAAK,WAEL,MAAO,IAAK,MAAM,UAQnB,OAAQ,GAA+B,GAA4B,CAClE,GAAI,IAAI,GACR,GAAM,IAAO,KASb,GAPI,MAAO,MAAK,SAAS,OAAO,KAAkB,YAKlD,IAAO,GAAK,SAAS,OAAO,IAAc,KAAK,KAAM,GAAM,IAEvD,CAAC,IACJ,MAAO,MAsBR,GAnBA,GAAO,GAAQ,IAGf,AAAI,KAAiB,UAAY,KAAiB,gBAEjD,AAAI,GAAK,GAAK,SAAS,eACtB,GAAQ,GAAK,CAAC,gBAAgB,SAE9B,GAAQ,GAAK,CAAC,kBAAmB,KAGzB,KAAiB,YAC1B,IAAK,GAAK,MAAM,GAAK,SAAS,oBAC9B,GAAQ,GAAK,CAAC,aAAc,KACzB,GAAK,MAAM,GAAK,SAAS,gBAC3B,GAAQ,GAAK,CAAC,gBAAiB,MAI7B,KAAiB,UAAY,KAAiB,OAAQ,CACzD,GAAM,IAAQ,GAAS,GAAK,GAAK,SAAS,aAC1C,GAAQ,GAAK,CAAC,aAAc,KAI5B,AAAI,KAAiB,OACpB,IAAW,GAAK,GAAK,SAAS,WAC9B,GAAQ,GAAK,CAAC,eAAe,MAE7B,IAAW,GAAK,GAAK,SAAS,aAC9B,GAAQ,GAAK,CACZ,KAAK,SACL,GAAG,GAAK,MAIT,GAAK,KAAO,GACZ,GAAK,QAAQ,IAAS,IAMxB,MAAO,IASR,QAAS,GAA+B,GAAuB,CAC9D,GAAM,IAAO,KAAK,OAAO,GAAc,IAEvC,GAAI,IAAQ,KACX,KAAM,uBAEP,MAAO,IAUR,YAAiB,CAEhB,GAAQ,KAAK,QAAU,IAAmB,CACzC,AAAI,GAAO,MACV,IAAO,KAAK,SACZ,MAAO,IAAO,QAUjB,aAAa,GAAa,CAEzB,GAAM,IAAc,KAAK,UAAU,IACnC,AAAI,IAAY,GAAU,SAS3B,UAAW,GAAuB,CACjC,MAAO,MAAK,SAAS,QAAW,GAAM,OAAS,GAAO,KAAK,SAAS,aAAkC,KAAK,KAAM,IAWlH,KAAM,GAAa,GAAe,GAAY,CAC7C,GAAI,IAAO,KACP,GAAc,GAAK,IAGvB,GAAK,IAAU,UAAU,CACxB,GAAI,IAAQ,GAQZ,MANI,MAAS,SACZ,IAAS,GAAY,MAAM,GAAM,YAGlC,GAAa,GAAO,MAAM,GAAM,WAE5B,KAAS,UACL,GAGJ,MAAS,UACZ,IAAS,GAAY,MAAM,GAAM,YAG3B,MCrsFK,aAAyB,CACvC,GAAS,KAAK,MAAM,SAAS,IAAI,CAChC,KAAK,SCCQ,YAAyB,GAAuB,CAC9D,GAAI,IAAO,KACP,GAAsB,GAAK,eAE/B,GAAK,SAAS,aAAe,GAE7B,GAAM,IAAwB,OAAO,OAAO,CAE3C,UAAwB,qBAGxB,kBAAwB,OACxB,oBAAwB,QACtB,IAGH,GAAI,IAAgB,SAAS,GAA2B,GAAmB,CAC1E,AAAI,GACH,IAAS,QAAU,GACf,GAAU,qBACb,GAAS,UAAU,OAAO,GAAG,GAAU,qBAEpC,GAAU,mBACb,GAAS,UAAU,IAAI,GAAG,GAAU,oBAGrC,IAAS,QAAU,GACf,GAAU,mBACb,GAAS,UAAU,OAAO,GAAG,GAAU,mBAEpC,GAAU,qBACb,GAAS,UAAU,IAAI,GAAG,GAAU,uBAMnC,GAAiB,SAAS,GAAmB,CAChD,WAAW,IAAI,CACd,GAAI,IAAW,GAAO,cAAc,SAAW,GAAU,WACzD,AAAI,aAAoB,mBACvB,GAAc,GAAU,GAAO,UAAU,SAAS,cAElD,IAIH,GAAK,KAAK,QAAQ,iBAAiB,IAAM,CAExC,GAAI,IAAqB,GAAK,SAAS,OAAO,OAE9C,GAAK,SAAS,OAAO,OAAS,CAAC,GAAM,KAAgB,CACpD,GAAI,IAAW,GAAO,GAAmB,KAAK,GAAM,GAAM,KACtD,GAAW,SAAS,cAAc,SACtC,AAAI,GAAU,WACb,GAAS,UAAU,IAAI,GAAU,WAElC,GAAS,iBAAiB,QAAQ,SAAS,GAAI,CAC9C,GAAe,MAGhB,GAAS,KAAO,WAChB,GAAM,IAAS,GAAS,GAAK,GAAK,SAAS,aAE3C,UAAc,GAAU,CAAC,CAAE,KAAU,GAAK,MAAM,QAAQ,IAAU,KAElE,GAAS,QAAQ,IACV,MAKT,GAAK,GAAG,cAAe,IAAiB,CACvC,GAAI,IAAS,GAAK,UAAU,IAE5B,AAAI,IACH,IAAO,UAAU,OAAO,YACxB,GAAe,OAKjB,GAAK,GAAG,WAAY,IAAiB,CACpC,GAAI,IAAS,GAAK,UAAU,IAE5B,AAAI,IACH,GAAe,MAMjB,GAAK,KAAK,UAAU,iBAAiB,CAAE,GAAmB,KAAsB,CAE/E,GAAI,GAAO,UAAU,SAAS,YAAa,CAC1C,GAAO,UAAU,OAAO,YACxB,GAAK,WAAW,GAAO,QAAQ,OAC/B,GAAK,iBACL,GAAe,GAAI,IACnB,OAGD,GAAoB,KAAK,GAAM,GAAK,IAEpC,GAAe,MC1GF,YAAyB,GAAuB,CAC9D,GAAM,IAAO,KAEP,GAAU,OAAO,OAAO,CAC7B,UAAW,eACX,MAAO,YACP,KAAO,IACE,eAAc,GAAK,qBAAqB,GAAK,yBAEpD,IAEH,GAAK,GAAG,aAAa,IAAI,CACxB,GAAI,IAAS,GAAO,GAAQ,KAAK,KACjC,GAAO,iBAAiB,QAAS,IAAM,CAEtC,AAAI,GAAK,UAET,IAAK,QAED,GAAK,SAAS,OAAS,UAAY,GAAK,SAAS,kBACpD,GAAK,QAAQ,IAGd,GAAI,iBACJ,GAAI,qBAEL,GAAK,QAAQ,YAAY,MCxB3B,GAAM,IAAc,CAAC,GAAuB,KAAoB,CAAA,GAAA,IAC/D,AAAA,IAAA,GAAc,aAAd,MAAA,GAA0B,aAAa,GAAS,GAAc,cAGzD,GAAe,CAAC,GAAuB,KAAoB,CAAA,GAAA,IAChE,AAAA,IAAA,GAAc,aAAU,MAAxB,GAA0B,aAAa,GAAS,KAG3C,GAAW,CAAC,GAAsC,KAAkC,CAEzF,EAAE,CAAA,GAAA,IAGD,GAFA,GAAO,IAAG,KAAA,KAAA,OAAA,GAAS,uBAEf,IAAiB,GACpB,MAAO,SAGD,IAAW,GAAQ,wBAE3B,MAAO,IAGO,aAAyB,CACvC,GAAI,IAAO,KACX,GAAI,GAAK,SAAS,OAAS,QAAS,OAEpC,GAAI,IAAa,GAAK,KAClB,GAAe,GAAK,OACxB,GAAI,IAAW,GACV,GAML,GAAK,KAAK,QAAQ,iBAAiB,IAAM,CAExC,GAAI,IAAmB,GAAK,SAAS,OAAO,KAE5C,GAAK,SAAS,OAAO,KAAO,CAAC,GAAgB,KAA8B,CAC1E,GAAM,IAAO,GAAO,GAAiB,KAAK,GAAM,GAAM,KACtD,GAAQ,GAAK,CAAC,UAAY,SAI1B,GAAM,IAAa,IAAc,CAChC,AAAK,IAAW,GAAe,IAC/B,GAAI,mBAGC,GAAa,IAAc,CAChC,GAAY,GAEZ,WAAW,IAAM,CAChB,GAAK,UAAU,IAAI,gBACjB,IAIE,GAAY,IAAa,CAC9B,GAAI,iBACJ,GAAK,UAAU,IAAI,gBACnB,GAAS,GAAK,KAGT,GAAY,IAAM,CACvB,GAAK,UAAU,OAAO,iBAGjB,GAAW,CAAC,GAAoB,KAA+B,CACpE,AAAI,KAAa,QAEjB,CAAI,GAAS,GAAS,IACrB,GAAY,GAAW,IAEvB,GAAa,GAAW,MAIpB,GAAU,IAAM,CAAA,GAAA,IACrB,SAAS,iBAAiB,iBAAiB,QAAQ,IAAK,GAAG,UAAU,OAAO,iBAC5E,IAAA,KAAA,MAAA,GAAW,UAAU,OAAO,eAC5B,GAAY,OAEZ,GAAI,IAAkB,GACtB,GAAK,QAAQ,iBAAkB,gBAAe,QAAS,IAAc,CACpE,GAAwB,GAAI,QAAQ,MAAO,CAC1C,GAAI,IAA4B,GAAI,QAAQ,MAC5C,AAAI,IACH,GAAO,KAAK,OAKf,GAAK,SAAS,KAIf,UAAS,GAAK,YAAa,IAC3B,GAAS,GAAK,YAAa,IAC3B,GAAS,GAAK,YAAa,IAC3B,GAAS,GAAK,WAAY,IAC1B,GAAS,GAAK,YAAa,IAC3B,GAAS,GAAK,UAAW,IAElB,MAMT,GAAK,KAAK,UAAU,OAAO,IAC1B,IAAW,GACJ,GAAU,KAAK,MAGvB,GAAK,KAAK,UAAU,SAAS,IAC5B,IAAW,GACJ,GAAY,KAAK,MCvHX,YAAyB,GAAuB,CAC9D,GAAM,IAAO,KAEP,GAAU,OAAO,OAAO,CAC7B,MAAgB,WAChB,YAAgB,kBAChB,cAAgB,wBAChB,WAAgB,wBAChB,WAAgB,wBAEhB,KAAO,IAEL,eAAiB,GAAK,YAAc,iBAClB,GAAK,cAAgB,kBACnB,GAAK,WAAa,KAAO,GAAK,MAAQ,oBACzC,GAAK,WAAa,6BAKnC,IAEH,GAAK,GAAG,aAAa,IAAI,CACxB,GAAI,IAAS,GAAO,GAAQ,KAAK,KAE7B,GAAa,GAAO,cAAc,IAAI,GAAQ,YAClD,AAAI,IACH,GAAW,iBAAiB,QAAS,IAAM,CAC1C,GAAe,GAAI,IACnB,GAAK,UAIP,GAAK,SAAS,aAAa,GAAQ,GAAK,SAAS,cClCpC,aAAyB,CACvC,GAAI,IAAO,KAUX,GAAK,KAAK,UAAU,WAAY,IAAmB,CAElD,AAAI,GAAK,SAAS,OAAS,UAAY,CAAC,GAAK,QAAQ,SAAS,GAAK,eAClE,GAAU,GAAK,MAAM,OAErB,IAAU,KAAK,IAAI,EAAG,KAAK,IAAI,GAAK,MAAM,OAAQ,KAE9C,IAAW,GAAK,UAAY,CAAC,GAAK,WAErC,GAAK,kBAAkB,QAAQ,CAAC,GAAM,KAAM,CAC3C,AAAI,GAAI,GACP,GAAK,cAAc,sBAAsB,cAAe,IAExD,GAAK,QAAQ,YAAa,OAM9B,GAAK,SAAW,KAGjB,GAAK,KAAK,UAAU,YAAa,IAAqB,CAErD,GAAI,CAAC,GAAK,UAAY,OAGtB,GAAM,IAAe,GAAK,cAAc,IACxC,GAAI,GAAa,CAChB,GAAM,IAAM,GAAU,IACtB,GAAK,SAAS,GAAY,EAAI,GAAM,EAAG,IACvC,GAAK,gBACL,GAAc,GAA2B,mBAIzC,IAAK,SAAS,GAAK,SAAW,MC7ClB,aAAyB,CACvC,GAAM,IAAO,KAEb,GAAK,SAAS,WAAa,GAE3B,GAAK,KAAK,SAAS,QAAQ,IAAI,CAC9B,GAAK,WAAc,GAAK,QAExB,GAAY,GAAK,cAAe,kBAE/B,GAAM,IAAM,GAAO,qCACpB,GAAI,OAAO,GAAK,eAChB,GAAK,SAAS,aAAa,GAAK,GAAK,SAAS,YAG9C,GAAM,IAAc,GAAO,qDAC3B,GAAY,YAAc,GAAK,SAAS,aAAc,GACtD,GAAK,QAAQ,OAAO,MAKrB,GAAK,GAAG,aAAa,IAAI,CAGxB,GAAK,cAAc,iBAAiB,UAAW,IAAqB,CAEnE,OAAQ,GAAI,aACN,IACJ,AAAI,GAAK,QACR,IAAe,GAAI,IACnB,GAAK,SAEN,GAAK,mBACN,WACK,IACJ,GAAK,WAAW,SAAW,GAC5B,MAED,MAAO,IAAK,UAAU,KAAK,GAAK,MAGjC,GAAK,GAAG,OAAO,IAAI,CAClB,GAAK,WAAW,SAAW,GAAK,WAAa,GAAK,GAAK,WAKxD,GAAK,GAAG,gBAAgB,IAAK,CAC5B,GAAK,cAAc,UAIpB,GAAM,IAAc,GAAK,OACzB,GAAK,KAAK,UAAU,SAAU,IAAkB,CAC/C,GAAI,MAAO,GAAI,eAAiB,GAAK,eACrC,MAAO,IAAY,KAAK,MAGzB,GAAS,GAAK,cAAc,OAAQ,IAAM,GAAK,UAG/C,GAAK,KAAK,SAAS,QAAQ,IAAK,CAE/B,AAAI,CAAC,GAAK,QACV,GAAK,WAAW,MAAM,CAAC,cAAe,SCrE1B,aAAyB,CACvC,GAAI,IAAW,KAEf,GAAK,GAAG,aAAa,IAAI,CAGxB,GAAI,IAAgB,SAAS,cAAc,QACvC,GAAc,GAAK,cACvB,GAAW,MAAM,QAAU,2FAE3B,GAAK,QAAQ,YAAY,IAGzB,GAAI,IAAoB,CAAE,gBAAiB,WAAY,aAAc,aAAc,iBAEnF,OAAW,MAAc,IAExB,GAAW,MAAM,IAAc,GAAQ,MAAM,IAQ9C,GAAI,IAAS,IAAI,CAChB,GAAW,YAAc,GAAQ,MACjC,GAAQ,MAAM,MAAS,GAAW,YAAY,MAG/C,KACA,GAAK,GAAG,8BAA8B,IACtC,GAAS,GAAQ,QAAS,IAC1B,GAAS,GAAQ,QAAS,IAC1B,GAAS,GAAQ,OAAQ,IACzB,GAAS,GAAQ,SAAU,MCpCd,aAAyB,CACvC,GAAI,IAAO,KACP,GAAuB,GAAK,gBAEhC,KAAK,KAAK,UAAU,kBAAmB,IAElC,GAAK,YAAY,OACb,GAAqB,KAAK,GAAM,IAGjC,ICVM,aAAyB,CACvC,KAAK,KAAK,UAAU,gBAAgB,IAAM,IAC1C,KAAK,KAAK,UAAU,YAAY,IAAM,ICCxB,aAAyB,CACvC,GAAI,IAAO,KAEP,GAAe,GAAK,UAExB,GAAK,KAAK,UAAU,YAAa,IAAoB,CACpD,GAAI,IAAO,GAAQ,GAAS,GAE5B,GAAI,CAAC,GAAK,QAAU,CAAE,IAAI,UAAY,IAAsB,GAAI,UAAY,IAC3E,MAAO,IAAa,KAAK,GAAK,IAO/B,AAJA,GAAK,YAAc,GACnB,GAAa,GAAY,GAAK,aAAa,gBAC3C,GAAW,GAAU,GAAK,aAAa,qBAEnC,EAAC,IAIL,CAAI,GAAI,UAAY,GACnB,GAAW,GAAS,gBAEpB,GAAW,GAAS,YAGjB,EAAC,IAIL,IAAmC,GAAU,iBAAiB,qBAC9D,GAAY,GAAS,KAAK,IAAI,GAAQ,OAAS,EAAG,KAE9C,IACH,GAAK,gBAAgB,QChCT,YAAyB,GAAuB,CAE9D,GAAM,IAAU,OAAO,OAAO,CAC5B,MAAY,UACZ,MAAY,SACZ,UAAY,SACZ,OAAY,IACV,IAIJ,GAAI,IAAS,KAGb,GAAI,EAAC,GAAQ,OAIb,IAAI,IAAO,uCAAyC,GAAQ,UAAY,0BAA4B,GAAY,GAAQ,OAAS,KAAO,GAAQ,MAAQ,OAExJ,GAAK,KAAK,QAAQ,iBAAiB,IAAM,CAExC,GAAI,IAAmB,GAAK,SAAS,OAAO,KAE5C,GAAK,SAAS,OAAO,KAAO,CAAC,GAAgB,KAA8B,CAE1E,GAAI,IAAO,GAAO,GAAiB,KAAK,GAAM,GAAM,KAEhD,GAAe,GAAO,IAC1B,UAAK,YAAY,IAEjB,GAAS,GAAa,YAAa,IAAQ,CAC1C,GAAe,GAAI,MAGpB,GAAS,GAAa,QAAS,IAAQ,CAEtC,AAAI,GAAK,UAGT,IAAe,GAAI,IAEf,IAAK,UACL,EAAC,GAAK,aAAa,CAAC,IAAM,KAE9B,IAAK,WAAW,IAChB,GAAK,eAAe,IACpB,GAAK,kBAGC,OClDK,YAAyB,GAA4B,CACnE,GAAM,IAAO,KAEP,GAAU,OAAO,OAAO,CAC7B,KAAO,IACC,GAAO,GAAK,SAAS,aAE5B,IAEF,GAAK,GAAG,cAAc,SAAS,GAAa,CAC3C,GAAI,EAAC,GAAK,WAIN,GAAK,cAAc,MAAM,SAAW,GAAI,CAC3C,GAAI,IAAS,GAAK,QAAQ,IAC1B,AAAI,IACH,GAAK,gBAAgB,GAAQ,KAAK,KAAK,GAAM,QCnBlC,aAAyB,CACvC,GAAM,IAAa,KACb,GAAmB,GAAK,QACxB,GAA0B,GAAK,kBAC/B,GAAuB,GAAK,aAElC,GAAI,IAAgC,GAChC,GACA,GAAmB,GACnB,GACA,GAA4B,GAyBhC,GAvBK,GAAK,SAAS,gBAGlB,IAAK,SAAS,eAAiB,IAAY,CAG1C,GAAI,AADmB,GAAiB,aAAgB,IAAiB,aAAe,GAAiB,WACpF,GACpB,MAAO,GAGR,GAAI,GAAK,aAAc,CACtB,GAAI,IAAa,GAAK,aAClB,GAAS,MAAM,KAAK,IAAY,QAAQ,GAAK,cACjD,GAAI,IAAU,GAAW,OAAO,EAC/B,MAAO,GAIT,MAAO,KAKL,CAAC,GAAK,SAAS,SAClB,KAAM,qDAMP,GAAK,SAAS,UAAc,CAAC,CAAC,MAAM,UAAU,CAAC,MAAM,WAIrD,GAAM,IAAe,IAEhB,MAAO,IAAK,SAAS,YAAe,UAAY,GAAiB,SAAS,QAAU,GAAK,SAAS,WAC9F,GAGH,QAAS,KAAe,GAAW,KAOnC,GAAc,CAAC,GAAkB,KAClC,GAAK,MAAM,QAAQ,KAAU,GAAK,GAAe,QAAQ,KAAU,EAQxE,GAAK,WAAa,CAAC,GAAa,KAAsB,CACrD,GAAW,IAAS,IAIrB,GAAK,OAAU,IAAoB,CAElC,GAAI,KAAS,IAAY,CACxB,GAAM,IAAW,GAAW,IAC5B,UAAW,IAAS,GACb,GAKR,UAAK,kBAEE,GAAK,SAAS,SAAS,KAAK,GAAK,KAIzC,GAAK,gBAAkB,IAAU,CAChC,GAAa,IAKd,GAAK,KAAK,UAAU,oBAAoB,IAAI,CAE3C,GAAI,IAIJ,MAAO,IAAuB,KAAK,MAIpC,GAAK,KAAK,UAAU,UAAW,IAGxB,KAAS,IAIR,GAAY,IAHX,GAAa,KAAK,GAAK,KAQhC,GAAK,KAAK,UAAU,eAAe,CAAE,GAAqB,KAAwB,CAEjF,GAAI,CAAC,GACJ,GAAK,aAAa,YACT,GAAe,CACxB,GAAM,IAAe,GAAQ,GAC7B,AAAI,KAAiB,QACpB,IAAc,QAAQ,MAAS,GAAa,GAAK,SAAS,aAI5D,GAAkB,KAAM,GAAM,GAAS,IAEvC,GAAe,KAOhB,GAAK,KAAK,QAAQ,iBAAiB,IAAI,CAEtC,GAAM,IAAS,GAAK,UACpB,GAAI,IAEJ,AAAI,GAAY,IAEf,IAAS,GAAK,OAAO,eAAe,CAAC,MAAM,KACvC,IACH,IAAO,aAAa,kBAAkB,IACtC,GAAgB,KAGP,KAAS,KAAe,CAAC,GAAiB,cAAc,gBAClE,IAAS,GAAK,OAAO,kBAAkB,CAAC,MAAM,MAG3C,IACH,IAAW,GAAO,GAAK,SAAS,aAChC,GAAiB,OAAQ,OAO3B,GAAK,GAAG,aAAa,IAAI,CACxB,GAAiB,OAAO,KAAK,GAAK,SAClC,GAAmB,GAAK,iBAGxB,GAAK,SAAS,OAAS,OAAO,OAAO,GAAI,CACxC,aAAa,IACJ,oEAET,gBAAgB,IACP,sDAER,GAAK,SAAS,QAIhB,GAAiB,iBAAiB,SAAS,IAAI,CAE9C,AAAI,CAAC,GAAK,SAAS,eAAe,KAAK,KAKnC,CAAC,GAAY,GAAK,YAKlB,IAGJ,IAAe,GACf,GAAK,KAAK,KAAK,GAAK,GAAK,gBCrM5B,UAAU,OAAO,kBAAmB,IACpC,GAAU,OAAO,mBAAoB,IACrC,GAAU,OAAO,eAAgB,IACjC,GAAU,OAAO,YAAa,IAC9B,GAAU,OAAO,kBAAmB,IACpC,GAAU,OAAO,iBAAkB,IACnC,GAAU,OAAO,iBAAkB,IACnC,GAAU,OAAO,iBAAkB,IACnC,GAAU,OAAO,sBAAuB,IACxC,GAAU,OAAO,kBAAmB,IACpC,GAAU,OAAO,mBAAoB,IACrC,GAAU,OAAO,gBAAiB,IAClC,GAAU,OAAO,uBAAwB,IACzC,GAAU,OAAO,iBAAkB,4QCtB5B,GAAM,IAAkB,IAE9B,IAAQ,GAAM,OAAQ,SAElB,GAAM,OAAS,EACX,GAAM,IAAM,GAGZ,GAAe,KAAU,EAAK,IAAI,GAAM,KAAK,IAAI,IAAM,MAAM,GAAM,KAAK,KAAK,KAOzE,GAAmB,IAAQ,CAEvC,GAAI,CAAC,GAAc,IAClB,MAAO,IAAM,KAAK,IAGnB,GAAI,IAAU,GACV,GAAkB,EAEhB,GAAe,IAAI,CACxB,AAAI,GAAkB,GACrB,KAAW,IAAI,GAAgB,MAIjC,UAAM,QAAQ,CAAC,GAAK,KAAI,CAEvB,GAAI,KAAS,GAAM,GAAE,GAAI,CACxB,KACA,OAGD,KAEA,IAAW,GACX,GAAkB,IAGnB,KAEO,IAaK,GAAgB,IAAQ,CACpC,GAAI,IAAQ,GAAQ,IACpB,MAAO,IAAe,KAUV,GAAiB,IAClB,GAAI,KAAI,IAAQ,OAAS,GAAM,OAS9B,GAAgB,IACpB,IAAM,IAAI,QAAQ,qCAAsC,QAQpD,GAAkB,IACvB,GAAM,OAAQ,CAAC,GAAS,KAAU,KAAK,IAAI,GAAQ,GAAc,KAAQ,GAOpE,GAAiB,IACtB,GAAQ,IAAK,OAOR,GAAW,IAAM,MAAM,KAAK,ICxG5B,GAAiB,IAAU,CAEpC,GAAI,GAAM,SAAW,EAAG,MAAO,CAAC,CAAC,KAGjC,GAAI,IAAS,GAEV,GAAQ,GAAM,UAAU,GAG9B,MAFgB,IAAc,IAEzB,QAAQ,SAAS,GAAW,CAC1B,GAAI,IAAM,GAAU,MAAM,GAC1B,GAAI,GAAK,GAAM,OAAO,GAAK,GAAI,GAC/B,GAAO,KAAK,IAEZ,GAAM,GAAU,MAAM,GACtB,GAAI,QAAQ,GAAM,OAAO,IACzB,GAAO,KAAK,MAGT,ICdE,GAAc,CAAC,CAAE,EAAG,QAE3B,GAAa,kCAGR,GAAA,YAAA,OAGX,GAAI,IAEE,GAAkB,EAGlB,GAAgB,GAGhB,GAAkB,CACvB,IAAK,eACL,IAAK,SACL,EAAK,qBACL,GAAM,SACN,GAAM,mBACN,GAAM,SACN,GAAM,SACN,GAAM,eACN,GAAM,SACN,EAAK,qBACL,EAAK,2BACL,EAAK,mDACL,EAAK,2BACL,EAAK,eACL,EAAK,uCACL,EAAK,2BACL,EAAK,eACL,EAAK,eACL,EAAK,uCACL,EAAK,mDACL,EAAK,qBACL,EAAK,6CACL,EAAK,2CACL,GAAM,SACN,GAAM,SACN,GAAM,SACN,GAAM,SACN,EAAK,uCACL,EAAK,qBACL,EAAK,iCACL,EAAK,+BACL,EAAK,iCACL,GAAM,OACN,GAAM,SACN,EAAK,SACL,EAAK,qBACL,GAAM,SACN,EAAK,SACL,EAAK,qBACL,EAAK,iCACL,GAAM,UAIP,OAAS,MAAS,IAAiB,CAClC,GAAI,IAAU,GAAgB,KAAU,GACxC,OAAS,IAAI,EAAG,GAAI,GAAQ,OAAQ,KAAI,CACvC,GAAI,IAAO,GAAQ,UAAU,GAAE,GAAE,GACjC,GAAc,IAAQ,IAKxB,GAAM,IAAc,GAAI,QAAO,OAAO,KAAK,IAAe,KAAK,KAAK,IAAI,GAAW,MAStE,GAAc,IAAiB,CAC3C,AAAI,GAAA,cAAgB,QACpB,IAAA,YAAc,GAAY,IAAgB,MAU9B,GAAY,CAAC,GAAI,GAAK,SAAW,GAAI,UAAU,IAW/C,GAAa,IAElB,GAAQ,IAAK,OAKnB,CAAC,GAAQ,KACD,GAAS,GAAW,IAE5B,IAQW,GAAc,IAC1B,IAAM,GAAU,IACd,cACA,QAAQ,GAAY,AAAuB,IACpC,GAAc,KAAS,IAIzB,GAAU,GAAI,QAaf,YAAoB,GAAY,CAEtC,OAAU,CAAC,GAAgB,KAAmB,IAC7C,OAAQ,IAAI,GAAgB,IAAK,GAAgB,KAAI,CAEpD,GAAI,IAAY,OAAO,aAAa,IAChC,GAAW,GAAU,IAGzB,AAAI,IAAU,GAAS,eASnB,IAAO,OAAS,IAIhB,GAAO,QAAU,GAKrB,MAAM,CAAC,OAAO,GAAO,SAAS,GAAS,WAAW,OAWxC,GAAA,IAAgB,IAAgB,CAG5C,GAAM,IAAe,GAOf,GAAc,CAAC,GAAO,KAAW,CAGtC,GAAM,IAAa,GAAa,KAAW,GAAI,KAEzC,GAAO,GAAI,QAAQ,IAAI,GAAa,IAAY,IAAI,MAC1D,AAAI,GAAO,MAAM,KAIjB,IAAW,IAAI,GAAa,KAC5B,GAAa,IAAU,KAIxB,OAAS,MAAS,IAAU,IAC3B,GAAY,GAAM,OAAO,GAAM,QAC/B,GAAY,GAAM,OAAO,GAAM,UAGhC,MAAO,KAUK,GAAe,IAAgB,CAG3C,GAAM,IAAe,GAAa,IAG5B,GAAc,GAGhB,GAAa,GAEjB,OAAS,MAAU,IAAc,CAEhC,GAAI,IAAM,GAAa,IACvB,AAAI,IACH,IAAY,IAAU,GAAa,KAGhC,GAAO,OAAS,GACnB,GAAW,KAAK,GAAa,KAI/B,GAAW,KAAK,CAAC,GAAG,KAAM,GAAE,OAAS,GAAE,QACvC,GAAM,IAAkB,GAAe,IACvC,UAAiB,GAAI,QAAO,IAAI,GAAgB,KAEzC,IAUK,GAAc,CAAC,GAAQ,GAAgB,IAAK,CACxD,GAAI,IAAiB,EAUrB,MAPA,IAAU,GAAQ,IAAK,IAClB,IAAA,YAAY,KACf,KAAkB,GAAI,QAEhB,GAAA,YAAY,KAAQ,KAGxB,IAAkB,GACd,GAAgB,IAGjB,IAgBK,GAAsB,CAAC,GAAI,GAAgB,IAEvD,IAAkB,KAAK,IAAI,GAAgB,GAAI,OAAO,GAE/C,GACN,GAAc,IAAK,IAAM,IACjB,GAAY,GAAQ,OAYxB,GAAqB,CAAC,GAAU,GAAI,KAAS,CAElD,GAAI,IAAkB,GAAU,OAAS,EAAI,EAAI,EACjD,MAAO,IACN,GAAU,IAAM,IAAY,CAC3B,GAAI,IAAM,GACJ,GAAM,GAAM,GAAS,SAAW,GAAS,SAAW,EAC1D,OAAS,IAAI,EAAG,GAAI,GAAK,KACxB,GAAI,KAAK,GAAoB,GAAS,QAAQ,KAAI,GAAG,KAGtD,MAAO,IAAgB,QAUpB,GAAc,CAAC,GAAY,KAAc,CAE9C,OAAU,MAAO,IAAU,CAM1B,GAJI,GAAI,OAAS,GAAW,OAAS,GAAI,KAAO,GAAW,KAIvD,GAAI,QAAQ,KAAK,MAAQ,GAAW,QAAQ,KAAK,IACpD,SAID,GAAI,IAAe,GAAW,MAKxB,GAAU,IAAQ,CAEvB,OAAU,MAAe,IAAa,CAErC,GAAI,GAAY,QAAU,GAAK,OAAS,GAAY,SAAW,GAAK,OACnE,MAAO,GAGR,GAAI,KAAK,QAAU,GAAK,GAAY,QAAU,IAU1C,IAAK,MAAQ,GAAY,OAAS,GAAK,IAAM,GAAY,OAIzD,GAAY,MAAQ,GAAK,OAAS,GAAY,IAAM,GAAK,OAC5D,MAAO,GAKT,MAAO,IAKR,GAAI,EAFW,GAAI,MAAM,OAAO,IAEnB,OAAS,GAItB,MAAO,GAGR,MAAO,IAGR,QAAc,CAEb,aAAa,CAGZ,KAAK,MAAS,GAGd,KAAK,QAAU,GACf,KAAK,MAAS,EACd,KAAK,IAAO,EAMb,IAAI,GAAK,CACR,AAAI,IACH,MAAK,MAAM,KAAK,IAChB,KAAK,QAAQ,KAAK,GAAK,QACvB,KAAK,MAAQ,KAAK,IAAI,GAAK,MAAM,KAAK,OACtC,KAAK,IAAM,KAAK,IAAI,GAAK,IAAI,KAAK,MAIpC,MAAM,CACL,MAAO,MAAK,MAAM,KAAK,MAAM,OAAO,GAGrC,QAAQ,CACP,MAAO,MAAK,MAAM,OAOnB,MAAM,GAAU,GAAW,CAC1B,GAAI,IAAQ,GAAI,IAEZ,GAAQ,KAAK,MAAM,KAAK,UAAU,KAAK,QACvC,GAAY,GAAM,MACtB,OAAW,MAAQ,IAClB,GAAM,IAAI,IAGX,GAAI,IAAc,GAAW,OAAO,UAAU,EAAE,GAAS,GAAU,OAC/D,GAAiB,GAAY,OACjC,UAAM,IAAI,CAAC,MAAM,GAAU,MAAM,IAAI,GAAU,MAAM,GAAe,OAAO,GAAe,OAAO,KAE1F,IAoBI,GAAA,IAAc,IAAQ,CAClC,KAEA,GAAU,GAAU,IAEpB,GAAI,IAAY,GACZ,GAAa,CAAC,GAAI,KAEtB,OAAS,IAAI,EAAG,GAAI,GAAI,OAAQ,KAAK,CAGpC,GAAI,IAAQ,AADC,GAAI,UAAU,IACR,MAAM,IACnB,GAAO,GAAI,UAAU,GAAE,GAAE,GACzB,GAAY,GAAQ,GAAM,GAAK,KAKjC,GAAe,GACf,GAAe,GAAI,KACvB,OAAU,MAAY,IAAU,CAE/B,GAAM,IAAa,GAAS,OAG5B,GAAI,CAAC,IAAc,GAAW,QAAU,GAAK,GAAW,KAAO,GAG9D,GAAI,GAAW,CACd,GAAM,IAAM,GAAU,OACtB,GAAS,IAAI,CAAC,MAAM,GAAE,IAAI,GAAE,GAAI,OAAO,GAAI,OAAO,KAClD,GAAY,IAAI,SAEhB,IAAS,IAAI,CAAC,MAAM,GAAE,IAAI,GAAE,EAAE,OAAO,EAAE,OAAO,KAC9C,GAAY,IAAI,aAGR,GAAW,CAEpB,GAAI,IAAQ,GAAS,MAAM,GAAE,IAEvB,GAAM,GAAU,OACtB,GAAM,IAAI,CAAC,MAAM,GAAE,IAAI,GAAE,GAAI,OAAO,GAAI,OAAO,KAE/C,GAAY,KAAK,QAKjB,IAAY,IAAI,KAOlB,GAAI,GAAY,OAAS,EAAG,CAG3B,GAAc,GAAY,KAAK,CAAC,GAAE,KAC1B,GAAE,SAAW,GAAE,UAGvB,OAAS,MAAS,IAGjB,AAAI,GAAY,GAAO,KAIvB,GAAU,KAAK,IAGhB,SAQD,GAAI,GAAI,GAAK,GAAY,MAAQ,GAAK,CAAC,GAAY,IAAI,KAAM,CAC5D,IAAW,GAAmB,GAAU,IACxC,GAAI,IAAU,GAAI,IACZ,GAAU,GAAU,GAC1B,AAAI,IACH,GAAQ,IAAI,GAAQ,QAErB,GAAY,CAAC,KAKf,WAAW,GAAmB,GAAU,IAEjC,mRCvjBR,oBAMA,AAAC,UAA0C,GAAM,GAAS,CACzD,AAAG,MAAO,KAAY,UAAY,MAAO,KAAW,SACnD,GAAO,QAAU,KACb,AAAG,MAAO,SAAW,YAAc,OAAO,IAC9C,OAAO,GAAI,IACP,AAAG,MAAO,KAAY,SAC1B,GAAQ,YAAiB,KAEzB,GAAK,YAAiB,OACrB,GAAM,UAAW,CACpB,MAAiB,WAAW,CAClB,GAAI,IAAuB,CAE/B,IACC,SAAS,GAAyB,GAAqB,GAAqB,CAEnF,aAGA,GAAoB,EAAE,GAAqB,CACzC,QAAW,UAAW,CAAE,MAAqB,OAI/C,GAAI,IAAe,GAAoB,KACnC,GAAoC,GAAoB,EAAE,IAE1D,GAAS,GAAoB,KAC7B,GAA8B,GAAoB,EAAE,IAEpD,GAAa,GAAoB,KACjC,GAA8B,GAAoB,EAAE,IAOxD,YAAiB,GAAM,CACrB,GAAI,CACF,MAAO,UAAS,YAAY,UACrB,GAAP,CACA,MAAO,IAYX,GAAI,IAAqB,SAA4B,GAAQ,CAC3D,GAAI,IAAe,KAAiB,IACpC,UAAQ,OACD,IAGwB,GAAe,GAOhD,YAA2B,GAAO,CAChC,GAAI,IAAQ,SAAS,gBAAgB,aAAa,SAAW,MACzD,GAAc,SAAS,cAAc,YAEzC,GAAY,MAAM,SAAW,OAE7B,GAAY,MAAM,OAAS,IAC3B,GAAY,MAAM,QAAU,IAC5B,GAAY,MAAM,OAAS,IAE3B,GAAY,MAAM,SAAW,WAC7B,GAAY,MAAM,GAAQ,QAAU,QAAU,UAE9C,GAAI,IAAY,OAAO,aAAe,SAAS,gBAAgB,UAC/D,UAAY,MAAM,IAAM,GAAG,OAAO,GAAW,MAC7C,GAAY,aAAa,WAAY,IACrC,GAAY,MAAQ,GACb,GAaT,GAAI,IAAiB,SAAwB,GAAO,GAAS,CAC3D,GAAI,IAAc,GAAkB,IACpC,GAAQ,UAAU,YAAY,IAC9B,GAAI,IAAe,KAAiB,IACpC,UAAQ,QACR,GAAY,SACL,IAUL,GAAsB,SAA6B,GAAQ,CAC7D,GAAI,IAAU,UAAU,OAAS,GAAK,UAAU,KAAO,OAAY,UAAU,GAAK,CAChF,UAAW,SAAS,MAElB,GAAe,GAEnB,MAAI,OAAO,KAAW,SACpB,GAAe,GAAe,GAAQ,IACjC,AAAI,aAAkB,mBAAoB,CAAC,CAAC,OAAQ,SAAU,MAAO,MAAO,YAAY,SAAS,IAAW,KAA4B,OAAS,GAAO,MAE7J,GAAe,GAAe,GAAO,MAAO,IAE5C,IAAe,KAAiB,IAChC,GAAQ,SAGH,IAGwB,GAAgB,GAEjD,YAAiB,GAAK,CAA6B,MAAI,OAAO,SAAW,YAAc,MAAO,QAAO,UAAa,SAAY,GAAU,SAAiB,GAAK,CAAE,MAAO,OAAO,KAAiB,GAAU,SAAiB,GAAK,CAAE,MAAO,KAAO,MAAO,SAAW,YAAc,GAAI,cAAgB,QAAU,KAAQ,OAAO,UAAY,SAAW,MAAO,KAAiB,GAAQ,IAUnX,GAAI,IAAyB,UAAkC,CAC7D,GAAI,IAAU,UAAU,OAAS,GAAK,UAAU,KAAO,OAAY,UAAU,GAAK,GAE9E,GAAkB,GAAQ,OAC1B,GAAS,KAAoB,OAAS,OAAS,GAC/C,GAAY,GAAQ,UACpB,GAAS,GAAQ,OACjB,GAAO,GAAQ,KAEnB,GAAI,KAAW,QAAU,KAAW,MAClC,KAAM,IAAI,OAAM,sDAIlB,GAAI,KAAW,OACb,GAAI,IAAU,GAAQ,MAAY,UAAY,GAAO,WAAa,EAAG,CACnE,GAAI,KAAW,QAAU,GAAO,aAAa,YAC3C,KAAM,IAAI,OAAM,qFAGlB,GAAI,KAAW,OAAU,IAAO,aAAa,aAAe,GAAO,aAAa,aAC9E,KAAM,IAAI,OAAM,6GAGlB,MAAM,IAAI,OAAM,+CAKpB,GAAI,GACF,MAAO,IAAa,GAAM,CACxB,UAAW,KAKf,GAAI,GACF,MAAO,MAAW,MAAQ,GAAY,IAAU,GAAa,GAAQ,CACnE,UAAW,MAKgB,GAAmB,GAEpD,YAA0B,GAAK,CAA6B,MAAI,OAAO,SAAW,YAAc,MAAO,QAAO,UAAa,SAAY,GAAmB,SAAiB,GAAK,CAAE,MAAO,OAAO,KAAiB,GAAmB,SAAiB,GAAK,CAAE,MAAO,KAAO,MAAO,SAAW,YAAc,GAAI,cAAgB,QAAU,KAAQ,OAAO,UAAY,SAAW,MAAO,KAAiB,GAAiB,IAEvZ,YAAyB,GAAU,GAAa,CAAE,GAAI,CAAE,cAAoB,KAAgB,KAAM,IAAI,WAAU,qCAEhH,YAA2B,GAAQ,GAAO,CAAE,OAAS,IAAI,EAAG,GAAI,GAAM,OAAQ,KAAK,CAAE,GAAI,IAAa,GAAM,IAAI,GAAW,WAAa,GAAW,YAAc,GAAO,GAAW,aAAe,GAAU,SAAW,KAAY,IAAW,SAAW,IAAM,OAAO,eAAe,GAAQ,GAAW,IAAK,KAE7S,YAAsB,GAAa,GAAY,GAAa,CAAE,MAAI,KAAY,GAAkB,GAAY,UAAW,IAAiB,IAAa,GAAkB,GAAa,IAAqB,GAEzM,YAAmB,GAAU,GAAY,CAAE,GAAI,MAAO,KAAe,YAAc,KAAe,KAAQ,KAAM,IAAI,WAAU,sDAAyD,GAAS,UAAY,OAAO,OAAO,IAAc,GAAW,UAAW,CAAE,YAAa,CAAE,MAAO,GAAU,SAAU,GAAM,aAAc,MAAe,IAAY,GAAgB,GAAU,IAEnX,YAAyB,GAAG,GAAG,CAAE,UAAkB,OAAO,gBAAkB,SAAyB,GAAG,GAAG,CAAE,UAAE,UAAY,GAAU,IAAa,GAAgB,GAAG,IAErK,YAAsB,GAAS,CAAE,GAAI,IAA4B,KAA6B,MAAO,WAAgC,CAAE,GAAI,IAAQ,GAAgB,IAAU,GAAQ,GAAI,GAA2B,CAAE,GAAI,IAAY,GAAgB,MAAM,YAAa,GAAS,QAAQ,UAAU,GAAO,UAAW,QAAqB,IAAS,GAAM,MAAM,KAAM,WAAc,MAAO,IAA2B,KAAM,KAE5Z,YAAoC,GAAM,GAAM,CAAE,MAAI,KAAS,IAAiB,MAAU,UAAY,MAAO,KAAS,YAAsB,GAAe,GAAuB,IAElL,YAAgC,GAAM,CAAE,GAAI,KAAS,OAAU,KAAM,IAAI,gBAAe,6DAAgE,MAAO,IAE/J,aAAqC,CAA0E,GAApE,MAAO,UAAY,aAAe,CAAC,QAAQ,WAA6B,QAAQ,UAAU,KAAM,MAAO,GAAO,GAAI,MAAO,QAAU,WAAY,MAAO,GAAM,GAAI,CAAE,YAAK,UAAU,SAAS,KAAK,QAAQ,UAAU,KAAM,GAAI,UAAY,KAAa,SAAe,GAAP,CAAY,MAAO,IAE1T,YAAyB,GAAG,CAAE,UAAkB,OAAO,eAAiB,OAAO,eAAiB,SAAyB,GAAG,CAAE,MAAO,IAAE,WAAa,OAAO,eAAe,KAAc,GAAgB,IAaxM,YAA2B,GAAQ,GAAS,CAC1C,GAAI,IAAY,kBAAkB,OAAO,IAEzC,GAAI,EAAC,GAAQ,aAAa,IAI1B,MAAO,IAAQ,aAAa,IAQ9B,GAAI,IAAyB,SAAU,GAAU,CAC/C,GAAU,GAAW,IAErB,GAAI,IAAS,GAAa,IAM1B,YAAmB,GAAS,GAAS,CACnC,GAAI,IAEJ,UAAgB,KAAM,IAEtB,GAAQ,GAAO,KAAK,MAEpB,GAAM,eAAe,IAErB,GAAM,YAAY,IAEX,GAST,UAAa,GAAW,CAAC,CACvB,IAAK,iBACL,MAAO,UAA0B,CAC/B,GAAI,IAAU,UAAU,OAAS,GAAK,UAAU,KAAO,OAAY,UAAU,GAAK,GAClF,KAAK,OAAS,MAAO,IAAQ,QAAW,WAAa,GAAQ,OAAS,KAAK,cAC3E,KAAK,OAAS,MAAO,IAAQ,QAAW,WAAa,GAAQ,OAAS,KAAK,cAC3E,KAAK,KAAO,MAAO,IAAQ,MAAS,WAAa,GAAQ,KAAO,KAAK,YACrE,KAAK,UAAY,GAAiB,GAAQ,aAAe,SAAW,GAAQ,UAAY,SAAS,OAOlG,CACD,IAAK,cACL,MAAO,SAAqB,GAAS,CACnC,GAAI,IAAS,KAEb,KAAK,SAAW,KAAiB,GAAS,QAAS,SAAU,GAAG,CAC9D,MAAO,IAAO,QAAQ,QAQzB,CACD,IAAK,UACL,MAAO,SAAiB,GAAG,CACzB,GAAI,IAAU,GAAE,gBAAkB,GAAE,cAChC,GAAS,KAAK,OAAO,KAAY,OACjC,GAAO,GAAgB,CACzB,OAAQ,GACR,UAAW,KAAK,UAChB,OAAQ,KAAK,OAAO,IACpB,KAAM,KAAK,KAAK,MAGlB,KAAK,KAAK,GAAO,UAAY,QAAS,CACpC,OAAQ,GACR,KAAM,GACN,QAAS,GACT,eAAgB,UAA0B,CACxC,AAAI,IACF,GAAQ,QAGV,OAAO,eAAe,uBAS3B,CACD,IAAK,gBACL,MAAO,SAAuB,GAAS,CACrC,MAAO,IAAkB,SAAU,MAOpC,CACD,IAAK,gBACL,MAAO,SAAuB,GAAS,CACrC,GAAI,IAAW,GAAkB,SAAU,IAE3C,GAAI,GACF,MAAO,UAAS,cAAc,MAUjC,CACD,IAAK,cAML,MAAO,SAAqB,GAAS,CACnC,MAAO,IAAkB,OAAQ,MAMlC,CACD,IAAK,UACL,MAAO,UAAmB,CACxB,KAAK,SAAS,aAEd,CAAC,CACH,IAAK,OACL,MAAO,SAAc,GAAQ,CAC3B,GAAI,IAAU,UAAU,OAAS,GAAK,UAAU,KAAO,OAAY,UAAU,GAAK,CAChF,UAAW,SAAS,MAEtB,MAAO,IAAa,GAAQ,MAQ7B,CACD,IAAK,MACL,MAAO,SAAa,GAAQ,CAC1B,MAAO,IAAY,MAQpB,CACD,IAAK,cACL,MAAO,UAAuB,CAC5B,GAAI,IAAS,UAAU,OAAS,GAAK,UAAU,KAAO,OAAY,UAAU,GAAK,CAAC,OAAQ,OACtF,GAAU,MAAO,KAAW,SAAW,CAAC,IAAU,GAClD,GAAU,CAAC,CAAC,SAAS,sBACzB,UAAQ,QAAQ,SAAU,GAAQ,CAChC,GAAU,IAAW,CAAC,CAAC,SAAS,sBAAsB,MAEjD,OAIJ,IACN,MAE8B,GAAa,IAIxC,IACC,SAAS,GAAQ,CAExB,GAAI,IAAqB,EAKzB,GAAI,MAAO,UAAY,aAAe,CAAC,QAAQ,UAAU,QAAS,CAC9D,GAAI,IAAQ,QAAQ,UAEpB,GAAM,QAAU,GAAM,iBACN,GAAM,oBACN,GAAM,mBACN,GAAM,kBACN,GAAM,sBAU1B,YAAkB,GAAS,GAAU,CACjC,KAAO,IAAW,GAAQ,WAAa,IAAoB,CACvD,GAAI,MAAO,IAAQ,SAAY,YAC3B,GAAQ,QAAQ,IAClB,MAAO,IAET,GAAU,GAAQ,YAI1B,GAAO,QAAU,IAKX,IACC,SAAS,GAAQ,GAA0B,GAAqB,CAEvE,GAAI,IAAU,GAAoB,KAYlC,YAAmB,GAAS,GAAU,GAAM,GAAU,GAAY,CAC9D,GAAI,IAAa,GAAS,MAAM,KAAM,WAEtC,UAAQ,iBAAiB,GAAM,GAAY,IAEpC,CACH,QAAS,UAAW,CAChB,GAAQ,oBAAoB,GAAM,GAAY,MAe1D,YAAkB,GAAU,GAAU,GAAM,GAAU,GAAY,CAE9D,MAAI,OAAO,IAAS,kBAAqB,WAC9B,GAAU,MAAM,KAAM,WAI7B,MAAO,KAAS,WAGT,GAAU,KAAK,KAAM,UAAU,MAAM,KAAM,WAIlD,OAAO,KAAa,UACpB,IAAW,SAAS,iBAAiB,KAIlC,MAAM,UAAU,IAAI,KAAK,GAAU,SAAU,GAAS,CACzD,MAAO,IAAU,GAAS,GAAU,GAAM,GAAU,OAa5D,YAAkB,GAAS,GAAU,GAAM,GAAU,CACjD,MAAO,UAAS,GAAG,CACf,GAAE,eAAiB,GAAQ,GAAE,OAAQ,IAEjC,GAAE,gBACF,GAAS,KAAK,GAAS,KAKnC,GAAO,QAAU,IAKX,IACC,SAAS,GAAyB,GAAS,CAQlD,GAAQ,KAAO,SAAS,GAAO,CAC3B,MAAO,MAAU,QACV,aAAiB,cACjB,GAAM,WAAa,GAS9B,GAAQ,SAAW,SAAS,GAAO,CAC/B,GAAI,IAAO,OAAO,UAAU,SAAS,KAAK,IAE1C,MAAO,MAAU,QACT,MAAS,qBAAuB,KAAS,4BACzC,UAAY,KACZ,IAAM,SAAW,GAAK,GAAQ,KAAK,GAAM,MASrD,GAAQ,OAAS,SAAS,GAAO,CAC7B,MAAO,OAAO,KAAU,UACjB,aAAiB,SAS5B,GAAQ,GAAK,SAAS,GAAO,CACzB,GAAI,IAAO,OAAO,UAAU,SAAS,KAAK,IAE1C,MAAO,MAAS,sBAMd,IACC,SAAS,GAAQ,GAA0B,GAAqB,CAEvE,GAAI,IAAK,GAAoB,KACzB,GAAW,GAAoB,KAWnC,YAAgB,GAAQ,GAAM,GAAU,CACpC,GAAI,CAAC,IAAU,CAAC,IAAQ,CAAC,GACrB,KAAM,IAAI,OAAM,8BAGpB,GAAI,CAAC,GAAG,OAAO,IACX,KAAM,IAAI,WAAU,oCAGxB,GAAI,CAAC,GAAG,GAAG,IACP,KAAM,IAAI,WAAU,qCAGxB,GAAI,GAAG,KAAK,IACR,MAAO,IAAW,GAAQ,GAAM,IAE/B,GAAI,GAAG,SAAS,IACjB,MAAO,IAAe,GAAQ,GAAM,IAEnC,GAAI,GAAG,OAAO,IACf,MAAO,IAAe,GAAQ,GAAM,IAGpC,KAAM,IAAI,WAAU,6EAa5B,YAAoB,GAAM,GAAM,GAAU,CACtC,UAAK,iBAAiB,GAAM,IAErB,CACH,QAAS,UAAW,CAChB,GAAK,oBAAoB,GAAM,MAc3C,YAAwB,GAAU,GAAM,GAAU,CAC9C,aAAM,UAAU,QAAQ,KAAK,GAAU,SAAS,GAAM,CAClD,GAAK,iBAAiB,GAAM,MAGzB,CACH,QAAS,UAAW,CAChB,MAAM,UAAU,QAAQ,KAAK,GAAU,SAAS,GAAM,CAClD,GAAK,oBAAoB,GAAM,QAe/C,YAAwB,GAAU,GAAM,GAAU,CAC9C,MAAO,IAAS,SAAS,KAAM,GAAU,GAAM,IAGnD,GAAO,QAAU,IAKX,IACC,SAAS,GAAQ,CAExB,YAAgB,GAAS,CACrB,GAAI,IAEJ,GAAI,GAAQ,WAAa,SACrB,GAAQ,QAER,GAAe,GAAQ,cAElB,GAAQ,WAAa,SAAW,GAAQ,WAAa,WAAY,CACtE,GAAI,IAAa,GAAQ,aAAa,YAEtC,AAAK,IACD,GAAQ,aAAa,WAAY,IAGrC,GAAQ,SACR,GAAQ,kBAAkB,EAAG,GAAQ,MAAM,QAEtC,IACD,GAAQ,gBAAgB,YAG5B,GAAe,GAAQ,UAEtB,CACD,AAAI,GAAQ,aAAa,oBACrB,GAAQ,QAGZ,GAAI,IAAY,OAAO,eACnB,GAAQ,SAAS,cAErB,GAAM,mBAAmB,IACzB,GAAU,kBACV,GAAU,SAAS,IAEnB,GAAe,GAAU,WAG7B,MAAO,IAGX,GAAO,QAAU,IAKX,IACC,SAAS,GAAQ,CAExB,aAAc,EAKd,GAAE,UAAY,CACZ,GAAI,SAAU,GAAM,GAAU,GAAK,CACjC,GAAI,IAAI,KAAK,GAAM,MAAK,EAAI,IAE5B,MAAC,IAAE,KAAU,IAAE,IAAQ,KAAK,KAAK,CAC/B,GAAI,GACJ,IAAK,KAGA,MAGT,KAAM,SAAU,GAAM,GAAU,GAAK,CACnC,GAAI,IAAO,KACX,aAAqB,CACnB,GAAK,IAAI,GAAM,IACf,GAAS,MAAM,GAAK,WAGtB,UAAS,EAAI,GACN,KAAK,GAAG,GAAM,GAAU,KAGjC,KAAM,SAAU,GAAM,CACpB,GAAI,IAAO,GAAG,MAAM,KAAK,UAAW,GAChC,GAAW,OAAK,GAAM,MAAK,EAAI,KAAK,KAAS,IAAI,QACjD,GAAI,EACJ,GAAM,GAAO,OAEjB,IAAK,GAAG,GAAI,GAAK,KACf,GAAO,IAAG,GAAG,MAAM,GAAO,IAAG,IAAK,IAGpC,MAAO,OAGT,IAAK,SAAU,GAAM,GAAU,CAC7B,GAAI,IAAI,KAAK,GAAM,MAAK,EAAI,IACxB,GAAO,GAAE,IACT,GAAa,GAEjB,GAAI,IAAQ,GACV,OAAS,IAAI,EAAG,GAAM,GAAK,OAAQ,GAAI,GAAK,KAC1C,AAAI,GAAK,IAAG,KAAO,IAAY,GAAK,IAAG,GAAG,IAAM,IAC9C,GAAW,KAAK,GAAK,KAQ3B,MAAC,IAAW,OACR,GAAE,IAAQ,GACV,MAAO,IAAE,IAEN,OAIX,GAAO,QAAU,GACjB,GAAO,QAAQ,YAAc,KAQf,GAA2B,GAG/B,YAA6B,GAAU,CAEtC,GAAG,GAAyB,IAC3B,MAAO,IAAyB,IAAU,QAG3C,GAAI,IAAS,GAAyB,IAAY,CAGjD,QAAS,IAIV,UAAoB,IAAU,GAAQ,GAAO,QAAS,IAG/C,GAAO,QAKf,MAAC,WAAW,CAEX,GAAoB,EAAI,SAAS,GAAQ,CACxC,GAAI,IAAS,IAAU,GAAO,WAC7B,UAAW,CAAE,MAAO,IAAO,SAC3B,UAAW,CAAE,MAAO,KACrB,UAAoB,EAAE,GAAQ,CAAE,EAAG,KAC5B,OAKR,UAAW,CAEX,GAAoB,EAAI,SAAS,GAAS,GAAY,CACrD,OAAQ,MAAO,IACd,AAAG,GAAoB,EAAE,GAAY,KAAQ,CAAC,GAAoB,EAAE,GAAS,KAC5E,OAAO,eAAe,GAAS,GAAK,CAAE,WAAY,GAAM,IAAK,GAAW,UAO3E,UAAW,CACX,GAAoB,EAAI,SAAS,GAAK,GAAM,CAAE,MAAO,QAAO,UAAU,eAAe,KAAK,GAAK,QAOzF,GAAoB,QAEpC,YCx3BD,sqBCAO,GAAI,IAAM,MACN,GAAS,SACT,GAAQ,QACR,GAAO,OACP,GAAO,OACP,GAAiB,CAAC,GAAK,GAAQ,GAAO,IACtC,GAAQ,QACR,GAAM,MACN,GAAkB,kBAClB,GAAW,WACX,GAAS,SACT,GAAY,YACZ,GAAmC,GAAe,OAAO,SAAU,GAAK,GAAW,CAC5F,MAAO,IAAI,OAAO,CAAC,GAAY,IAAM,GAAO,GAAY,IAAM,MAC7D,IACQ,GAA0B,GAAG,OAAO,GAAgB,CAAC,KAAO,OAAO,SAAU,GAAK,GAAW,CACtG,MAAO,IAAI,OAAO,CAAC,GAAW,GAAY,IAAM,GAAO,GAAY,IAAM,MACxE,IAEQ,GAAa,aACb,GAAO,OACP,GAAY,YAEZ,GAAa,aACb,GAAO,OACP,GAAY,YAEZ,GAAc,cACd,GAAQ,QACR,GAAa,aACb,GAAiB,CAAC,GAAY,GAAM,GAAW,GAAY,GAAM,GAAW,GAAa,GAAO,IC9B5F,YAAqB,GAAS,CAC3C,MAAO,IAAW,IAAQ,UAAY,IAAI,cAAgB,KCD7C,YAAmB,GAAM,CACtC,GAAI,IAAQ,KACV,MAAO,QAGT,GAAI,GAAK,aAAe,kBAAmB,CACzC,GAAI,IAAgB,GAAK,cACzB,MAAO,KAAgB,GAAc,aAAe,OAGtD,MAAO,ICRT,YAAmB,GAAM,CACvB,GAAI,IAAa,GAAU,IAAM,QACjC,MAAO,cAAgB,KAAc,aAAgB,SAGvD,YAAuB,GAAM,CAC3B,GAAI,IAAa,GAAU,IAAM,YACjC,MAAO,cAAgB,KAAc,aAAgB,aAGvD,YAAsB,GAAM,CAE1B,GAAI,MAAO,aAAe,YACxB,MAAO,GAGT,GAAI,IAAa,GAAU,IAAM,WACjC,MAAO,cAAgB,KAAc,aAAgB,YCfvD,YAAqB,GAAM,CACzB,GAAI,IAAQ,GAAK,MACjB,OAAO,KAAK,GAAM,UAAU,QAAQ,SAAU,GAAM,CAClD,GAAI,IAAQ,GAAM,OAAO,KAAS,GAC9B,GAAa,GAAM,WAAW,KAAS,GACvC,GAAU,GAAM,SAAS,IAE7B,AAAI,CAAC,GAAc,KAAY,CAAC,GAAY,KAO5C,QAAO,OAAO,GAAQ,MAAO,IAC7B,OAAO,KAAK,IAAY,QAAQ,SAAU,GAAM,CAC9C,GAAI,IAAQ,GAAW,IAEvB,AAAI,KAAU,GACZ,GAAQ,gBAAgB,IAExB,GAAQ,aAAa,GAAM,KAAU,GAAO,GAAK,SAMzD,YAAgB,GAAO,CACrB,GAAI,IAAQ,GAAM,MACd,GAAgB,CAClB,OAAQ,CACN,SAAU,GAAM,QAAQ,SACxB,KAAM,IACN,IAAK,IACL,OAAQ,KAEV,MAAO,CACL,SAAU,YAEZ,UAAW,IAEb,cAAO,OAAO,GAAM,SAAS,OAAO,MAAO,GAAc,QACzD,GAAM,OAAS,GAEX,GAAM,SAAS,OACjB,OAAO,OAAO,GAAM,SAAS,MAAM,MAAO,GAAc,OAGnD,UAAY,CACjB,OAAO,KAAK,GAAM,UAAU,QAAQ,SAAU,GAAM,CAClD,GAAI,IAAU,GAAM,SAAS,IACzB,GAAa,GAAM,WAAW,KAAS,GACvC,GAAkB,OAAO,KAAK,GAAM,OAAO,eAAe,IAAQ,GAAM,OAAO,IAAQ,GAAc,KAErG,GAAQ,GAAgB,OAAO,SAAU,GAAO,GAAU,CAC5D,UAAM,IAAY,GACX,IACN,IAEH,AAAI,CAAC,GAAc,KAAY,CAAC,GAAY,KAI5C,QAAO,OAAO,GAAQ,MAAO,IAC7B,OAAO,KAAK,IAAY,QAAQ,SAAU,GAAW,CACnD,GAAQ,gBAAgB,UAOhC,GAAO,IAAQ,CACb,KAAM,cACN,QAAS,GACT,MAAO,QACP,GAAI,GACJ,OAAQ,GACR,SAAU,CAAC,kBCjFE,YAA0B,GAAW,CAClD,MAAO,IAAU,MAAM,KAAK,GCFvB,GAAI,IAAM,KAAK,IACX,GAAM,KAAK,IACX,GAAQ,KAAK,MCFT,aAAuB,CACpC,GAAI,IAAS,UAAU,cAEvB,MAAI,KAAU,MAAQ,GAAO,QAAU,MAAM,QAAQ,GAAO,QACnD,GAAO,OAAO,IAAI,SAAU,GAAM,CACvC,MAAO,IAAK,MAAQ,IAAM,GAAK,UAC9B,KAAK,KAGH,UAAU,UCRJ,aAA4B,CACzC,MAAO,CAAC,iCAAiC,KAAK,MCEjC,YAA+B,GAAS,GAAc,GAAiB,CACpF,AAAI,KAAiB,QACnB,IAAe,IAGb,KAAoB,QACtB,IAAkB,IAGpB,GAAI,IAAa,GAAQ,wBACrB,GAAS,EACT,GAAS,EAEb,AAAI,IAAgB,GAAc,KAChC,IAAS,GAAQ,YAAc,GAAI,GAAM,GAAW,OAAS,GAAQ,aAAe,EACpF,GAAS,GAAQ,aAAe,GAAI,GAAM,GAAW,QAAU,GAAQ,cAAgB,GAGzF,GAAI,IAAO,GAAU,IAAW,GAAU,IAAW,OACjD,GAAiB,GAAK,eAEtB,GAAmB,CAAC,MAAsB,GAC1C,GAAK,IAAW,KAAQ,KAAoB,GAAiB,GAAe,WAAa,IAAM,GAC/F,GAAK,IAAW,IAAO,KAAoB,GAAiB,GAAe,UAAY,IAAM,GAC7F,GAAQ,GAAW,MAAQ,GAC3B,GAAS,GAAW,OAAS,GACjC,MAAO,CACL,MAAO,GACP,OAAQ,GACR,IAAK,GACL,MAAO,GAAI,GACX,OAAQ,GAAI,GACZ,KAAM,GACN,EAAG,GACH,EAAG,ICnCQ,YAAuB,GAAS,CAC7C,GAAI,IAAa,GAAsB,IAGnC,GAAQ,GAAQ,YAChB,GAAS,GAAQ,aAErB,MAAI,MAAK,IAAI,GAAW,MAAQ,KAAU,GACxC,IAAQ,GAAW,OAGjB,KAAK,IAAI,GAAW,OAAS,KAAW,GAC1C,IAAS,GAAW,QAGf,CACL,EAAG,GAAQ,WACX,EAAG,GAAQ,UACX,MAAO,GACP,OAAQ,ICrBG,YAAkB,GAAQ,GAAO,CAC9C,GAAI,IAAW,GAAM,aAAe,GAAM,cAE1C,GAAI,GAAO,SAAS,IAClB,MAAO,GAEJ,GAAI,IAAY,GAAa,IAAW,CACzC,GAAI,IAAO,GAEX,EAAG,CACD,GAAI,IAAQ,GAAO,WAAW,IAC5B,MAAO,GAIT,GAAO,GAAK,YAAc,GAAK,WACxB,IAIb,MAAO,GCpBM,YAA0B,GAAS,CAChD,MAAO,IAAU,IAAS,iBAAiB,ICD9B,YAAwB,GAAS,CAC9C,MAAO,CAAC,QAAS,KAAM,MAAM,QAAQ,GAAY,MAAa,ECDjD,YAA4B,GAAS,CAElD,MAAS,KAAU,IAAW,GAAQ,cACtC,GAAQ,WAAa,OAAO,UAAU,gBCDzB,YAAuB,GAAS,CAC7C,MAAI,IAAY,MAAa,OACpB,GAMP,GAAQ,cACR,GAAQ,YACR,IAAa,IAAW,GAAQ,KAAO,OAEvC,GAAmB,ICPvB,YAA6B,GAAS,CACpC,MAAI,CAAC,GAAc,KACnB,GAAiB,IAAS,WAAa,QAC9B,KAGF,GAAQ,aAKjB,YAA4B,GAAS,CACnC,GAAI,IAAY,WAAW,KAAK,MAC5B,GAAO,WAAW,KAAK,MAE3B,GAAI,IAAQ,GAAc,IAAU,CAElC,GAAI,IAAa,GAAiB,IAElC,GAAI,GAAW,WAAa,QAC1B,MAAO,MAIX,GAAI,IAAc,GAAc,IAMhC,IAJI,GAAa,KACf,IAAc,GAAY,MAGrB,GAAc,KAAgB,CAAC,OAAQ,QAAQ,QAAQ,GAAY,KAAgB,GAAG,CAC3F,GAAI,IAAM,GAAiB,IAI3B,GAAI,GAAI,YAAc,QAAU,GAAI,cAAgB,QAAU,GAAI,UAAY,SAAW,CAAC,YAAa,eAAe,QAAQ,GAAI,cAAgB,IAAM,IAAa,GAAI,aAAe,UAAY,IAAa,GAAI,QAAU,GAAI,SAAW,OAC5O,MAAO,IAEP,GAAc,GAAY,WAI9B,MAAO,MAKM,YAAyB,GAAS,CAI/C,OAHI,IAAS,GAAU,IACnB,GAAe,GAAoB,IAEhC,IAAgB,GAAe,KAAiB,GAAiB,IAAc,WAAa,UACjG,GAAe,GAAoB,IAGrC,MAAI,KAAiB,IAAY,MAAkB,QAAU,GAAY,MAAkB,QAAU,GAAiB,IAAc,WAAa,UACxI,GAGF,IAAgB,GAAmB,KAAY,GCnEzC,YAAkC,GAAW,CAC1D,MAAO,CAAC,MAAO,UAAU,QAAQ,KAAc,EAAI,IAAM,ICApD,YAAgB,GAAK,GAAO,GAAK,CACtC,MAAO,IAAQ,GAAK,GAAQ,GAAO,KAE9B,YAAwB,GAAK,GAAO,GAAK,CAC9C,GAAI,IAAI,GAAO,GAAK,GAAO,IAC3B,MAAO,IAAI,GAAM,GAAM,GCNV,aAA8B,CAC3C,MAAO,CACL,IAAK,EACL,MAAO,EACP,OAAQ,EACR,KAAM,GCJK,YAA4B,GAAe,CACxD,MAAO,QAAO,OAAO,GAAI,KAAsB,ICFlC,YAAyB,GAAO,GAAM,CACnD,MAAO,IAAK,OAAO,SAAU,GAAS,GAAK,CACzC,UAAQ,IAAO,GACR,IACN,ICML,GAAI,IAAkB,SAAyB,GAAS,GAAO,CAC7D,UAAU,MAAO,KAAY,WAAa,GAAQ,OAAO,OAAO,GAAI,GAAM,MAAO,CAC/E,UAAW,GAAM,aACb,GACC,GAAmB,MAAO,KAAY,SAAW,GAAU,GAAgB,GAAS,MAG7F,YAAe,GAAM,CACnB,GAAI,IAEA,GAAQ,GAAK,MACb,GAAO,GAAK,KACZ,GAAU,GAAK,QACf,GAAe,GAAM,SAAS,MAC9B,GAAgB,GAAM,cAAc,cACpC,GAAgB,GAAiB,GAAM,WACvC,GAAO,GAAyB,IAChC,GAAa,CAAC,GAAM,IAAO,QAAQ,KAAkB,EACrD,GAAM,GAAa,SAAW,QAElC,GAAI,GAAC,IAAgB,CAAC,IAItB,IAAI,IAAgB,GAAgB,GAAQ,QAAS,IACjD,GAAY,GAAc,IAC1B,GAAU,KAAS,IAAM,GAAM,GAC/B,GAAU,KAAS,IAAM,GAAS,GAClC,GAAU,GAAM,MAAM,UAAU,IAAO,GAAM,MAAM,UAAU,IAAQ,GAAc,IAAQ,GAAM,MAAM,OAAO,IAC9G,GAAY,GAAc,IAAQ,GAAM,MAAM,UAAU,IACxD,GAAoB,GAAgB,IACpC,GAAa,GAAoB,KAAS,IAAM,GAAkB,cAAgB,EAAI,GAAkB,aAAe,EAAI,EAC3H,GAAoB,GAAU,EAAI,GAAY,EAG9C,GAAM,GAAc,IACpB,GAAM,GAAa,GAAU,IAAO,GAAc,IAClD,GAAS,GAAa,EAAI,GAAU,IAAO,EAAI,GAC/C,GAAS,GAAO,GAAK,GAAQ,IAE7B,GAAW,GACf,GAAM,cAAc,IAAS,IAAwB,GAAI,GAAsB,IAAY,GAAQ,GAAsB,aAAe,GAAS,GAAQ,KAG3J,YAAgB,GAAO,CACrB,GAAI,IAAQ,GAAM,MACd,GAAU,GAAM,QAChB,GAAmB,GAAQ,QAC3B,GAAe,KAAqB,OAAS,sBAAwB,GAEzE,AAAI,IAAgB,MAKhB,OAAO,KAAiB,UAC1B,IAAe,GAAM,SAAS,OAAO,cAAc,IAE/C,CAAC,KAKH,CAAC,GAAS,GAAM,SAAS,OAAQ,KAIrC,IAAM,SAAS,MAAQ,KAIzB,GAAO,IAAQ,CACb,KAAM,QACN,QAAS,GACT,MAAO,OACP,GAAI,GACJ,OAAQ,GACR,SAAU,CAAC,iBACX,iBAAkB,CAAC,oBCxFN,YAAsB,GAAW,CAC9C,MAAO,IAAU,MAAM,KAAK,GCQ9B,GAAI,IAAa,CACf,IAAK,OACL,MAAO,OACP,OAAQ,OACR,KAAM,QAKR,YAA2B,GAAM,GAAK,CACpC,GAAI,IAAI,GAAK,EACT,GAAI,GAAK,EACT,GAAM,GAAI,kBAAoB,EAClC,MAAO,CACL,EAAG,GAAM,GAAI,IAAO,IAAO,EAC3B,EAAG,GAAM,GAAI,IAAO,IAAO,GAIxB,YAAqB,GAAO,CACjC,GAAI,IAEA,GAAS,GAAM,OACf,GAAa,GAAM,WACnB,GAAY,GAAM,UAClB,GAAY,GAAM,UAClB,GAAU,GAAM,QAChB,GAAW,GAAM,SACjB,GAAkB,GAAM,gBACxB,GAAW,GAAM,SACjB,GAAe,GAAM,aACrB,GAAU,GAAM,QAChB,GAAa,GAAQ,EACrB,GAAI,KAAe,OAAS,EAAI,GAChC,GAAa,GAAQ,EACrB,GAAI,KAAe,OAAS,EAAI,GAEhC,GAAQ,MAAO,KAAiB,WAAa,GAAa,CAC5D,EAAG,GACH,EAAG,KACA,CACH,EAAG,GACH,EAAG,IAGL,GAAI,GAAM,EACV,GAAI,GAAM,EACV,GAAI,IAAO,GAAQ,eAAe,KAC9B,GAAO,GAAQ,eAAe,KAC9B,GAAQ,GACR,GAAQ,GACR,GAAM,OAEV,GAAI,GAAU,CACZ,GAAI,IAAe,GAAgB,IAC/B,GAAa,eACb,GAAY,cAchB,GAZI,KAAiB,GAAU,KAC7B,IAAe,GAAmB,IAE9B,GAAiB,IAAc,WAAa,UAAY,KAAa,YACvE,IAAa,eACb,GAAY,gBAKhB,GAAe,GAEX,KAAc,IAAQ,MAAc,IAAQ,KAAc,KAAU,KAAc,GAAK,CACzF,GAAQ,GACR,GAAI,IAAU,IAAW,KAAiB,IAAO,GAAI,eAAiB,GAAI,eAAe,OACzF,GAAa,IACb,IAAK,GAAU,GAAW,OAC1B,IAAK,GAAkB,EAAI,GAG7B,GAAI,KAAc,IAAS,MAAc,IAAO,KAAc,KAAW,KAAc,GAAK,CAC1F,GAAQ,GACR,GAAI,IAAU,IAAW,KAAiB,IAAO,GAAI,eAAiB,GAAI,eAAe,MACzF,GAAa,IACb,IAAK,GAAU,GAAW,MAC1B,IAAK,GAAkB,EAAI,IAI/B,GAAI,IAAe,OAAO,OAAO,CAC/B,SAAU,IACT,IAAY,IAEX,GAAQ,KAAiB,GAAO,GAAkB,CACpD,EAAG,GACH,EAAG,IACF,GAAU,KAAW,CACtB,EAAG,GACH,EAAG,IAML,GAHA,GAAI,GAAM,EACV,GAAI,GAAM,EAEN,GAAiB,CACnB,GAAI,IAEJ,MAAO,QAAO,OAAO,GAAI,GAAe,IAAiB,GAAI,GAAe,IAAS,GAAO,IAAM,GAAI,GAAe,IAAS,GAAO,IAAM,GAAI,GAAe,UAAa,IAAI,kBAAoB,IAAM,EAAI,aAAe,GAAI,OAAS,GAAI,MAAQ,eAAiB,GAAI,OAAS,GAAI,SAAU,KAGnS,MAAO,QAAO,OAAO,GAAI,GAAe,IAAkB,GAAI,GAAgB,IAAS,GAAO,GAAI,KAAO,GAAI,GAAgB,IAAS,GAAO,GAAI,KAAO,GAAI,GAAgB,UAAY,GAAI,KAG9L,YAAuB,GAAO,CAC5B,GAAI,IAAQ,GAAM,MACd,GAAU,GAAM,QAChB,GAAwB,GAAQ,gBAChC,GAAkB,KAA0B,OAAS,GAAO,GAC5D,GAAoB,GAAQ,SAC5B,GAAW,KAAsB,OAAS,GAAO,GACjD,GAAwB,GAAQ,aAChC,GAAe,KAA0B,OAAS,GAAO,GACzD,GAAe,CACjB,UAAW,GAAiB,GAAM,WAClC,UAAW,GAAa,GAAM,WAC9B,OAAQ,GAAM,SAAS,OACvB,WAAY,GAAM,MAAM,OACxB,gBAAiB,GACjB,QAAS,GAAM,QAAQ,WAAa,SAGtC,AAAI,GAAM,cAAc,eAAiB,MACvC,IAAM,OAAO,OAAS,OAAO,OAAO,GAAI,GAAM,OAAO,OAAQ,GAAY,OAAO,OAAO,GAAI,GAAc,CACvG,QAAS,GAAM,cAAc,cAC7B,SAAU,GAAM,QAAQ,SACxB,SAAU,GACV,aAAc,QAId,GAAM,cAAc,OAAS,MAC/B,IAAM,OAAO,MAAQ,OAAO,OAAO,GAAI,GAAM,OAAO,MAAO,GAAY,OAAO,OAAO,GAAI,GAAc,CACrG,QAAS,GAAM,cAAc,MAC7B,SAAU,WACV,SAAU,GACV,aAAc,QAIlB,GAAM,WAAW,OAAS,OAAO,OAAO,GAAI,GAAM,WAAW,OAAQ,CACnE,wBAAyB,GAAM,YAKnC,GAAO,IAAQ,CACb,KAAM,gBACN,QAAS,GACT,MAAO,cACP,GAAI,GACJ,KAAM,ICrKR,GAAI,IAAU,CACZ,QAAS,IAGX,YAAgB,GAAM,CACpB,GAAI,IAAQ,GAAK,MACb,GAAW,GAAK,SAChB,GAAU,GAAK,QACf,GAAkB,GAAQ,OAC1B,GAAS,KAAoB,OAAS,GAAO,GAC7C,GAAkB,GAAQ,OAC1B,GAAS,KAAoB,OAAS,GAAO,GAC7C,GAAS,GAAU,GAAM,SAAS,QAClC,GAAgB,GAAG,OAAO,GAAM,cAAc,UAAW,GAAM,cAAc,QAEjF,MAAI,KACF,GAAc,QAAQ,SAAU,GAAc,CAC5C,GAAa,iBAAiB,SAAU,GAAS,OAAQ,MAIzD,IACF,GAAO,iBAAiB,SAAU,GAAS,OAAQ,IAG9C,UAAY,CACjB,AAAI,IACF,GAAc,QAAQ,SAAU,GAAc,CAC5C,GAAa,oBAAoB,SAAU,GAAS,OAAQ,MAI5D,IACF,GAAO,oBAAoB,SAAU,GAAS,OAAQ,KAM5D,GAAO,IAAQ,CACb,KAAM,iBACN,QAAS,GACT,MAAO,QACP,GAAI,UAAc,GAClB,OAAQ,GACR,KAAM,IC/CR,GAAI,IAAO,CACT,KAAM,QACN,MAAO,OACP,OAAQ,MACR,IAAK,UAEQ,YAA8B,GAAW,CACtD,MAAO,IAAU,QAAQ,yBAA0B,SAAU,GAAS,CACpE,MAAO,IAAK,MCRhB,GAAI,IAAO,CACT,MAAO,MACP,IAAK,SAEQ,YAAuC,GAAW,CAC/D,MAAO,IAAU,QAAQ,aAAc,SAAU,GAAS,CACxD,MAAO,IAAK,MCLD,YAAyB,GAAM,CAC5C,GAAI,IAAM,GAAU,IAChB,GAAa,GAAI,YACjB,GAAY,GAAI,YACpB,MAAO,CACL,WAAY,GACZ,UAAW,ICJA,YAA6B,GAAS,CAQnD,MAAO,IAAsB,GAAmB,KAAU,KAAO,GAAgB,IAAS,WCP7E,YAAyB,GAAS,GAAU,CACzD,GAAI,IAAM,GAAU,IAChB,GAAO,GAAmB,IAC1B,GAAiB,GAAI,eACrB,GAAQ,GAAK,YACb,GAAS,GAAK,aACd,GAAI,EACJ,GAAI,EAER,GAAI,GAAgB,CAClB,GAAQ,GAAe,MACvB,GAAS,GAAe,OACxB,GAAI,IAAiB,KAErB,AAAI,KAAkB,CAAC,IAAkB,KAAa,UACpD,IAAI,GAAe,WACnB,GAAI,GAAe,WAIvB,MAAO,CACL,MAAO,GACP,OAAQ,GACR,EAAG,GAAI,GAAoB,IAC3B,EAAG,ICrBQ,YAAyB,GAAS,CAC/C,GAAI,IAEA,GAAO,GAAmB,IAC1B,GAAY,GAAgB,IAC5B,GAAQ,IAAwB,GAAQ,gBAAkB,KAAO,OAAS,GAAsB,KAChG,GAAQ,GAAI,GAAK,YAAa,GAAK,YAAa,GAAO,GAAK,YAAc,EAAG,GAAO,GAAK,YAAc,GACvG,GAAS,GAAI,GAAK,aAAc,GAAK,aAAc,GAAO,GAAK,aAAe,EAAG,GAAO,GAAK,aAAe,GAC5G,GAAI,CAAC,GAAU,WAAa,GAAoB,IAChD,GAAI,CAAC,GAAU,UAEnB,MAAI,IAAiB,IAAQ,IAAM,YAAc,OAC/C,KAAK,GAAI,GAAK,YAAa,GAAO,GAAK,YAAc,GAAK,IAGrD,CACL,MAAO,GACP,OAAQ,GACR,EAAG,GACH,EAAG,ICzBQ,YAAwB,GAAS,CAE9C,GAAI,IAAoB,GAAiB,IACrC,GAAW,GAAkB,SAC7B,GAAY,GAAkB,UAC9B,GAAY,GAAkB,UAElC,MAAO,6BAA6B,KAAK,GAAW,GAAY,ICJnD,YAAyB,GAAM,CAC5C,MAAI,CAAC,OAAQ,OAAQ,aAAa,QAAQ,GAAY,MAAU,EAEvD,GAAK,cAAc,KAGxB,GAAc,KAAS,GAAe,IACjC,GAGF,GAAgB,GAAc,KCHxB,YAA2B,GAAS,GAAM,CACvD,GAAI,IAEJ,AAAI,KAAS,QACX,IAAO,IAGT,GAAI,IAAe,GAAgB,IAC/B,GAAS,KAAmB,KAAwB,GAAQ,gBAAkB,KAAO,OAAS,GAAsB,MACpH,GAAM,GAAU,IAChB,GAAS,GAAS,CAAC,IAAK,OAAO,GAAI,gBAAkB,GAAI,GAAe,IAAgB,GAAe,IAAM,GAC7G,GAAc,GAAK,OAAO,IAC9B,MAAO,IAAS,GAChB,GAAY,OAAO,GAAkB,GAAc,MCxBtC,YAA0B,GAAM,CAC7C,MAAO,QAAO,OAAO,GAAI,GAAM,CAC7B,KAAM,GAAK,EACX,IAAK,GAAK,EACV,MAAO,GAAK,EAAI,GAAK,MACrB,OAAQ,GAAK,EAAI,GAAK,SCU1B,YAAoC,GAAS,GAAU,CACrD,GAAI,IAAO,GAAsB,GAAS,GAAO,KAAa,SAC9D,UAAK,IAAM,GAAK,IAAM,GAAQ,UAC9B,GAAK,KAAO,GAAK,KAAO,GAAQ,WAChC,GAAK,OAAS,GAAK,IAAM,GAAQ,aACjC,GAAK,MAAQ,GAAK,KAAO,GAAQ,YACjC,GAAK,MAAQ,GAAQ,YACrB,GAAK,OAAS,GAAQ,aACtB,GAAK,EAAI,GAAK,KACd,GAAK,EAAI,GAAK,IACP,GAGT,YAAoC,GAAS,GAAgB,GAAU,CACrE,MAAO,MAAmB,GAAW,GAAiB,GAAgB,GAAS,KAAa,GAAU,IAAkB,GAA2B,GAAgB,IAAY,GAAiB,GAAgB,GAAmB,MAMrO,YAA4B,GAAS,CACnC,GAAI,IAAkB,GAAkB,GAAc,KAClD,GAAoB,CAAC,WAAY,SAAS,QAAQ,GAAiB,IAAS,WAAa,EACzF,GAAiB,IAAqB,GAAc,IAAW,GAAgB,IAAW,GAE9F,MAAK,IAAU,IAKR,GAAgB,OAAO,SAAU,GAAgB,CACtD,MAAO,IAAU,KAAmB,GAAS,GAAgB,KAAmB,GAAY,MAAoB,SALzG,GAWI,YAAyB,GAAS,GAAU,GAAc,GAAU,CACjF,GAAI,IAAsB,KAAa,kBAAoB,GAAmB,IAAW,GAAG,OAAO,IAC/F,GAAkB,GAAG,OAAO,GAAqB,CAAC,KAClD,GAAsB,GAAgB,GACtC,GAAe,GAAgB,OAAO,SAAU,GAAS,GAAgB,CAC3E,GAAI,IAAO,GAA2B,GAAS,GAAgB,IAC/D,UAAQ,IAAM,GAAI,GAAK,IAAK,GAAQ,KACpC,GAAQ,MAAQ,GAAI,GAAK,MAAO,GAAQ,OACxC,GAAQ,OAAS,GAAI,GAAK,OAAQ,GAAQ,QAC1C,GAAQ,KAAO,GAAI,GAAK,KAAM,GAAQ,MAC/B,IACN,GAA2B,GAAS,GAAqB,KAC5D,UAAa,MAAQ,GAAa,MAAQ,GAAa,KACvD,GAAa,OAAS,GAAa,OAAS,GAAa,IACzD,GAAa,EAAI,GAAa,KAC9B,GAAa,EAAI,GAAa,IACvB,GChEM,YAAwB,GAAM,CAC3C,GAAI,IAAY,GAAK,UACjB,GAAU,GAAK,QACf,GAAY,GAAK,UACjB,GAAgB,GAAY,GAAiB,IAAa,KAC1D,GAAY,GAAY,GAAa,IAAa,KAClD,GAAU,GAAU,EAAI,GAAU,MAAQ,EAAI,GAAQ,MAAQ,EAC9D,GAAU,GAAU,EAAI,GAAU,OAAS,EAAI,GAAQ,OAAS,EAChE,GAEJ,OAAQ,QACD,IACH,GAAU,CACR,EAAG,GACH,EAAG,GAAU,EAAI,GAAQ,QAE3B,UAEG,IACH,GAAU,CACR,EAAG,GACH,EAAG,GAAU,EAAI,GAAU,QAE7B,UAEG,IACH,GAAU,CACR,EAAG,GAAU,EAAI,GAAU,MAC3B,EAAG,IAEL,UAEG,IACH,GAAU,CACR,EAAG,GAAU,EAAI,GAAQ,MACzB,EAAG,IAEL,cAGA,GAAU,CACR,EAAG,GAAU,EACb,EAAG,GAAU,GAInB,GAAI,IAAW,GAAgB,GAAyB,IAAiB,KAEzE,GAAI,IAAY,KAAM,CACpB,GAAI,IAAM,KAAa,IAAM,SAAW,QAExC,OAAQ,QACD,IACH,GAAQ,IAAY,GAAQ,IAAa,IAAU,IAAO,EAAI,GAAQ,IAAO,GAC7E,UAEG,IACH,GAAQ,IAAY,GAAQ,IAAa,IAAU,IAAO,EAAI,GAAQ,IAAO,GAC7E,gBAMN,MAAO,IC1DM,YAAwB,GAAO,GAAS,CACrD,AAAI,KAAY,QACd,IAAU,IAGZ,GAAI,IAAW,GACX,GAAqB,GAAS,UAC9B,GAAY,KAAuB,OAAS,GAAM,UAAY,GAC9D,GAAoB,GAAS,SAC7B,GAAW,KAAsB,OAAS,GAAM,SAAW,GAC3D,GAAoB,GAAS,SAC7B,GAAW,KAAsB,OAAS,GAAkB,GAC5D,GAAwB,GAAS,aACjC,GAAe,KAA0B,OAAS,GAAW,GAC7D,GAAwB,GAAS,eACjC,GAAiB,KAA0B,OAAS,GAAS,GAC7D,GAAuB,GAAS,YAChC,GAAc,KAAyB,OAAS,GAAQ,GACxD,GAAmB,GAAS,QAC5B,GAAU,KAAqB,OAAS,EAAI,GAC5C,GAAgB,GAAmB,MAAO,KAAY,SAAW,GAAU,GAAgB,GAAS,KACpG,GAAa,KAAmB,GAAS,GAAY,GACrD,GAAa,GAAM,MAAM,OACzB,GAAU,GAAM,SAAS,GAAc,GAAa,IACpD,GAAqB,GAAgB,GAAU,IAAW,GAAU,GAAQ,gBAAkB,GAAmB,GAAM,SAAS,QAAS,GAAU,GAAc,IACjK,GAAsB,GAAsB,GAAM,SAAS,WAC3D,GAAgB,GAAe,CACjC,UAAW,GACX,QAAS,GACT,SAAU,WACV,UAAW,KAET,GAAmB,GAAiB,OAAO,OAAO,GAAI,GAAY,KAClE,GAAoB,KAAmB,GAAS,GAAmB,GAGnE,GAAkB,CACpB,IAAK,GAAmB,IAAM,GAAkB,IAAM,GAAc,IACpE,OAAQ,GAAkB,OAAS,GAAmB,OAAS,GAAc,OAC7E,KAAM,GAAmB,KAAO,GAAkB,KAAO,GAAc,KACvE,MAAO,GAAkB,MAAQ,GAAmB,MAAQ,GAAc,OAExE,GAAa,GAAM,cAAc,OAErC,GAAI,KAAmB,IAAU,GAAY,CAC3C,GAAI,IAAS,GAAW,IACxB,OAAO,KAAK,IAAiB,QAAQ,SAAU,GAAK,CAClD,GAAI,IAAW,CAAC,GAAO,IAAQ,QAAQ,KAAQ,EAAI,EAAI,GACnD,GAAO,CAAC,GAAK,IAAQ,QAAQ,KAAQ,EAAI,IAAM,IACnD,GAAgB,KAAQ,GAAO,IAAQ,KAI3C,MAAO,IC3DM,YAA8B,GAAO,GAAS,CAC3D,AAAI,KAAY,QACd,IAAU,IAGZ,GAAI,IAAW,GACX,GAAY,GAAS,UACrB,GAAW,GAAS,SACpB,GAAe,GAAS,aACxB,GAAU,GAAS,QACnB,GAAiB,GAAS,eAC1B,GAAwB,GAAS,sBACjC,GAAwB,KAA0B,OAAS,GAAgB,GAC3E,GAAY,GAAa,IACzB,GAAa,GAAY,GAAiB,GAAsB,GAAoB,OAAO,SAAU,GAAW,CAClH,MAAO,IAAa,MAAe,KAChC,GACD,GAAoB,GAAW,OAAO,SAAU,GAAW,CAC7D,MAAO,IAAsB,QAAQ,KAAc,IAGrD,AAAI,GAAkB,SAAW,GAC/B,IAAoB,IAItB,GAAI,IAAY,GAAkB,OAAO,SAAU,GAAK,GAAW,CACjE,UAAI,IAAa,GAAe,GAAO,CACrC,UAAW,GACX,SAAU,GACV,aAAc,GACd,QAAS,KACR,GAAiB,KACb,IACN,IACH,MAAO,QAAO,KAAK,IAAW,KAAK,SAAU,GAAG,GAAG,CACjD,MAAO,IAAU,IAAK,GAAU,MChCpC,YAAuC,GAAW,CAChD,GAAI,GAAiB,MAAe,GAClC,MAAO,GAGT,GAAI,IAAoB,GAAqB,IAC7C,MAAO,CAAC,GAA8B,IAAY,GAAmB,GAA8B,KAGrG,YAAc,GAAM,CAClB,GAAI,IAAQ,GAAK,MACb,GAAU,GAAK,QACf,GAAO,GAAK,KAEhB,GAAI,IAAM,cAAc,IAAM,MAoC9B,QAhCI,IAAoB,GAAQ,SAC5B,GAAgB,KAAsB,OAAS,GAAO,GACtD,GAAmB,GAAQ,QAC3B,GAAe,KAAqB,OAAS,GAAO,GACpD,GAA8B,GAAQ,mBACtC,GAAU,GAAQ,QAClB,GAAW,GAAQ,SACnB,GAAe,GAAQ,aACvB,GAAc,GAAQ,YACtB,GAAwB,GAAQ,eAChC,GAAiB,KAA0B,OAAS,GAAO,GAC3D,GAAwB,GAAQ,sBAChC,GAAqB,GAAM,QAAQ,UACnC,GAAgB,GAAiB,IACjC,GAAkB,KAAkB,GACpC,GAAqB,IAAgC,KAAmB,CAAC,GAAiB,CAAC,GAAqB,KAAuB,GAA8B,KACrK,GAAa,CAAC,IAAoB,OAAO,IAAoB,OAAO,SAAU,GAAK,GAAW,CAChG,MAAO,IAAI,OAAO,GAAiB,MAAe,GAAO,GAAqB,GAAO,CACnF,UAAW,GACX,SAAU,GACV,aAAc,GACd,QAAS,GACT,eAAgB,GAChB,sBAAuB,KACpB,KACJ,IACC,GAAgB,GAAM,MAAM,UAC5B,GAAa,GAAM,MAAM,OACzB,GAAY,GAAI,KAChB,GAAqB,GACrB,GAAwB,GAAW,GAE9B,GAAI,EAAG,GAAI,GAAW,OAAQ,KAAK,CAC1C,GAAI,IAAY,GAAW,IAEvB,GAAiB,GAAiB,IAElC,GAAmB,GAAa,MAAe,GAC/C,GAAa,CAAC,GAAK,IAAQ,QAAQ,KAAmB,EACtD,GAAM,GAAa,QAAU,SAC7B,GAAW,GAAe,GAAO,CACnC,UAAW,GACX,SAAU,GACV,aAAc,GACd,YAAa,GACb,QAAS,KAEP,GAAoB,GAAa,GAAmB,GAAQ,GAAO,GAAmB,GAAS,GAEnG,AAAI,GAAc,IAAO,GAAW,KAClC,IAAoB,GAAqB,KAG3C,GAAI,IAAmB,GAAqB,IACxC,GAAS,GAUb,GARI,IACF,GAAO,KAAK,GAAS,KAAmB,GAGtC,IACF,GAAO,KAAK,GAAS,KAAsB,EAAG,GAAS,KAAqB,GAG1E,GAAO,MAAM,SAAU,GAAO,CAChC,MAAO,MACL,CACF,GAAwB,GACxB,GAAqB,GACrB,MAGF,GAAU,IAAI,GAAW,IAG3B,GAAI,GAqBF,OAnBI,IAAiB,GAAiB,EAAI,EAEtC,GAAQ,SAAe,GAAI,CAC7B,GAAI,IAAmB,GAAW,KAAK,SAAU,GAAW,CAC1D,GAAI,IAAS,GAAU,IAAI,IAE3B,GAAI,GACF,MAAO,IAAO,MAAM,EAAG,IAAI,MAAM,SAAU,GAAO,CAChD,MAAO,QAKb,GAAI,GACF,UAAwB,GACjB,SAIF,GAAK,GAAgB,GAAK,EAAG,KAAM,CAC1C,GAAI,IAAO,GAAM,IAEjB,GAAI,KAAS,QAAS,MAI1B,AAAI,GAAM,YAAc,IACtB,IAAM,cAAc,IAAM,MAAQ,GAClC,GAAM,UAAY,GAClB,GAAM,MAAQ,KAKlB,GAAO,IAAQ,CACb,KAAM,OACN,QAAS,GACT,MAAO,OACP,GAAI,GACJ,iBAAkB,CAAC,UACnB,KAAM,CACJ,MAAO,KC7IX,YAAwB,GAAU,GAAM,GAAkB,CACxD,MAAI,MAAqB,QACvB,IAAmB,CACjB,EAAG,EACH,EAAG,IAIA,CACL,IAAK,GAAS,IAAM,GAAK,OAAS,GAAiB,EACnD,MAAO,GAAS,MAAQ,GAAK,MAAQ,GAAiB,EACtD,OAAQ,GAAS,OAAS,GAAK,OAAS,GAAiB,EACzD,KAAM,GAAS,KAAO,GAAK,MAAQ,GAAiB,GAIxD,YAA+B,GAAU,CACvC,MAAO,CAAC,GAAK,GAAO,GAAQ,IAAM,KAAK,SAAU,GAAM,CACrD,MAAO,IAAS,KAAS,IAI7B,YAAc,GAAM,CAClB,GAAI,IAAQ,GAAK,MACb,GAAO,GAAK,KACZ,GAAgB,GAAM,MAAM,UAC5B,GAAa,GAAM,MAAM,OACzB,GAAmB,GAAM,cAAc,gBACvC,GAAoB,GAAe,GAAO,CAC5C,eAAgB,cAEd,GAAoB,GAAe,GAAO,CAC5C,YAAa,KAEX,GAA2B,GAAe,GAAmB,IAC7D,GAAsB,GAAe,GAAmB,GAAY,IACpE,GAAoB,GAAsB,IAC1C,GAAmB,GAAsB,IAC7C,GAAM,cAAc,IAAQ,CAC1B,yBAA0B,GAC1B,oBAAqB,GACrB,kBAAmB,GACnB,iBAAkB,IAEpB,GAAM,WAAW,OAAS,OAAO,OAAO,GAAI,GAAM,WAAW,OAAQ,CACnE,+BAAgC,GAChC,sBAAuB,KAK3B,GAAO,IAAQ,CACb,KAAM,OACN,QAAS,GACT,MAAO,OACP,iBAAkB,CAAC,mBACnB,GAAI,ICxDC,YAAiC,GAAW,GAAO,GAAQ,CAChE,GAAI,IAAgB,GAAiB,IACjC,GAAiB,CAAC,GAAM,IAAK,QAAQ,KAAkB,EAAI,GAAK,EAEhE,GAAO,MAAO,KAAW,WAAa,GAAO,OAAO,OAAO,GAAI,GAAO,CACxE,UAAW,MACP,GACF,GAAW,GAAK,GAChB,GAAW,GAAK,GAEpB,UAAW,IAAY,EACvB,GAAY,KAAY,GAAK,GACtB,CAAC,GAAM,IAAO,QAAQ,KAAkB,EAAI,CACjD,EAAG,GACH,EAAG,IACD,CACF,EAAG,GACH,EAAG,IAIP,YAAgB,GAAO,CACrB,GAAI,IAAQ,GAAM,MACd,GAAU,GAAM,QAChB,GAAO,GAAM,KACb,GAAkB,GAAQ,OAC1B,GAAS,KAAoB,OAAS,CAAC,EAAG,GAAK,GAC/C,GAAO,GAAW,OAAO,SAAU,GAAK,GAAW,CACrD,UAAI,IAAa,GAAwB,GAAW,GAAM,MAAO,IAC1D,IACN,IACC,GAAwB,GAAK,GAAM,WACnC,GAAI,GAAsB,EAC1B,GAAI,GAAsB,EAE9B,AAAI,GAAM,cAAc,eAAiB,MACvC,IAAM,cAAc,cAAc,GAAK,GACvC,GAAM,cAAc,cAAc,GAAK,IAGzC,GAAM,cAAc,IAAQ,GAI9B,GAAO,IAAQ,CACb,KAAM,SACN,QAAS,GACT,MAAO,OACP,SAAU,CAAC,iBACX,GAAI,IClDN,YAAuB,GAAM,CAC3B,GAAI,IAAQ,GAAK,MACb,GAAO,GAAK,KAKhB,GAAM,cAAc,IAAQ,GAAe,CACzC,UAAW,GAAM,MAAM,UACvB,QAAS,GAAM,MAAM,OACrB,SAAU,WACV,UAAW,GAAM,YAKrB,GAAO,IAAQ,CACb,KAAM,gBACN,QAAS,GACT,MAAO,OACP,GAAI,GACJ,KAAM,ICvBO,YAAoB,GAAM,CACvC,MAAO,MAAS,IAAM,IAAM,ICW9B,YAAyB,GAAM,CAC7B,GAAI,IAAQ,GAAK,MACb,GAAU,GAAK,QACf,GAAO,GAAK,KACZ,GAAoB,GAAQ,SAC5B,GAAgB,KAAsB,OAAS,GAAO,GACtD,GAAmB,GAAQ,QAC3B,GAAe,KAAqB,OAAS,GAAQ,GACrD,GAAW,GAAQ,SACnB,GAAe,GAAQ,aACvB,GAAc,GAAQ,YACtB,GAAU,GAAQ,QAClB,GAAkB,GAAQ,OAC1B,GAAS,KAAoB,OAAS,GAAO,GAC7C,GAAwB,GAAQ,aAChC,GAAe,KAA0B,OAAS,EAAI,GACtD,GAAW,GAAe,GAAO,CACnC,SAAU,GACV,aAAc,GACd,QAAS,GACT,YAAa,KAEX,GAAgB,GAAiB,GAAM,WACvC,GAAY,GAAa,GAAM,WAC/B,GAAkB,CAAC,GACnB,GAAW,GAAyB,IACpC,GAAU,GAAW,IACrB,GAAgB,GAAM,cAAc,cACpC,GAAgB,GAAM,MAAM,UAC5B,GAAa,GAAM,MAAM,OACzB,GAAoB,MAAO,KAAiB,WAAa,GAAa,OAAO,OAAO,GAAI,GAAM,MAAO,CACvG,UAAW,GAAM,aACb,GACF,GAA8B,MAAO,KAAsB,SAAW,CACxE,SAAU,GACV,QAAS,IACP,OAAO,OAAO,CAChB,SAAU,EACV,QAAS,GACR,IACC,GAAsB,GAAM,cAAc,OAAS,GAAM,cAAc,OAAO,GAAM,WAAa,KACjG,GAAO,CACT,EAAG,EACH,EAAG,GAGL,GAAI,EAAC,GAIL,IAAI,GAAe,CACjB,GAAI,IAEA,GAAW,KAAa,IAAM,GAAM,GACpC,GAAU,KAAa,IAAM,GAAS,GACtC,GAAM,KAAa,IAAM,SAAW,QACpC,GAAS,GAAc,IACvB,GAAM,GAAS,GAAS,IACxB,GAAM,GAAS,GAAS,IACxB,GAAW,GAAS,CAAC,GAAW,IAAO,EAAI,EAC3C,GAAS,KAAc,GAAQ,GAAc,IAAO,GAAW,IAC/D,GAAS,KAAc,GAAQ,CAAC,GAAW,IAAO,CAAC,GAAc,IAGjE,GAAe,GAAM,SAAS,MAC9B,GAAY,IAAU,GAAe,GAAc,IAAgB,CACrE,MAAO,EACP,OAAQ,GAEN,GAAqB,GAAM,cAAc,oBAAsB,GAAM,cAAc,oBAAoB,QAAU,KACjH,GAAkB,GAAmB,IACrC,GAAkB,GAAmB,IAMrC,GAAW,GAAO,EAAG,GAAc,IAAM,GAAU,KACnD,GAAY,GAAkB,GAAc,IAAO,EAAI,GAAW,GAAW,GAAkB,GAA4B,SAAW,GAAS,GAAW,GAAkB,GAA4B,SACxM,GAAY,GAAkB,CAAC,GAAc,IAAO,EAAI,GAAW,GAAW,GAAkB,GAA4B,SAAW,GAAS,GAAW,GAAkB,GAA4B,SACzM,GAAoB,GAAM,SAAS,OAAS,GAAgB,GAAM,SAAS,OAC3E,GAAe,GAAoB,KAAa,IAAM,GAAkB,WAAa,EAAI,GAAkB,YAAc,EAAI,EAC7H,GAAuB,IAAwB,IAAuB,KAAO,OAAS,GAAoB,MAAc,KAAO,GAAwB,EACvJ,GAAY,GAAS,GAAY,GAAsB,GACvD,GAAY,GAAS,GAAY,GACjC,GAAkB,GAAO,GAAS,GAAQ,GAAK,IAAa,GAAK,GAAQ,GAAS,GAAQ,GAAK,IAAa,IAChH,GAAc,IAAY,GAC1B,GAAK,IAAY,GAAkB,GAGrC,GAAI,GAAc,CAChB,GAAI,IAEA,GAAY,KAAa,IAAM,GAAM,GAErC,GAAW,KAAa,IAAM,GAAS,GAEvC,GAAU,GAAc,IAExB,GAAO,KAAY,IAAM,SAAW,QAEpC,GAAO,GAAU,GAAS,IAE1B,GAAO,GAAU,GAAS,IAE1B,GAAe,CAAC,GAAK,IAAM,QAAQ,MAAmB,GAEtD,GAAwB,IAAyB,IAAuB,KAAO,OAAS,GAAoB,MAAa,KAAO,GAAyB,EAEzJ,GAAa,GAAe,GAAO,GAAU,GAAc,IAAQ,GAAW,IAAQ,GAAuB,GAA4B,QAEzI,GAAa,GAAe,GAAU,GAAc,IAAQ,GAAW,IAAQ,GAAuB,GAA4B,QAAU,GAE5I,GAAmB,IAAU,GAAe,GAAe,GAAY,GAAS,IAAc,GAAO,GAAS,GAAa,GAAM,GAAS,GAAS,GAAa,IAEpK,GAAc,IAAW,GACzB,GAAK,IAAW,GAAmB,GAGrC,GAAM,cAAc,IAAQ,IAI9B,GAAO,IAAQ,CACb,KAAM,kBACN,QAAS,GACT,MAAO,OACP,GAAI,GACJ,iBAAkB,CAAC,WC5IN,YAA8B,GAAS,CACpD,MAAO,CACL,WAAY,GAAQ,WACpB,UAAW,GAAQ,WCCR,YAAuB,GAAM,CAC1C,MAAI,MAAS,GAAU,KAAS,CAAC,GAAc,IACtC,GAAgB,IAEhB,GAAqB,ICChC,YAAyB,GAAS,CAChC,GAAI,IAAO,GAAQ,wBACf,GAAS,GAAM,GAAK,OAAS,GAAQ,aAAe,EACpD,GAAS,GAAM,GAAK,QAAU,GAAQ,cAAgB,EAC1D,MAAO,MAAW,GAAK,KAAW,EAKrB,YAA0B,GAAyB,GAAc,GAAS,CACvF,AAAI,KAAY,QACd,IAAU,IAGZ,GAAI,IAA0B,GAAc,IACxC,GAAuB,GAAc,KAAiB,GAAgB,IACtE,GAAkB,GAAmB,IACrC,GAAO,GAAsB,GAAyB,GAAsB,IAC5E,GAAS,CACX,WAAY,EACZ,UAAW,GAET,GAAU,CACZ,EAAG,EACH,EAAG,GAGL,MAAI,KAA2B,CAAC,IAA2B,CAAC,KACtD,KAAY,MAAkB,QAClC,GAAe,MACb,IAAS,GAAc,KAGzB,AAAI,GAAc,IAChB,IAAU,GAAsB,GAAc,IAC9C,GAAQ,GAAK,GAAa,WAC1B,GAAQ,GAAK,GAAa,WACjB,IACT,IAAQ,EAAI,GAAoB,MAI7B,CACL,EAAG,GAAK,KAAO,GAAO,WAAa,GAAQ,EAC3C,EAAG,GAAK,IAAM,GAAO,UAAY,GAAQ,EACzC,MAAO,GAAK,MACZ,OAAQ,GAAK,QCrDjB,YAAe,GAAW,CACxB,GAAI,IAAM,GAAI,KACV,GAAU,GAAI,KACd,GAAS,GACb,GAAU,QAAQ,SAAU,GAAU,CACpC,GAAI,IAAI,GAAS,KAAM,MAGzB,YAAc,GAAU,CACtB,GAAQ,IAAI,GAAS,MACrB,GAAI,IAAW,GAAG,OAAO,GAAS,UAAY,GAAI,GAAS,kBAAoB,IAC/E,GAAS,QAAQ,SAAU,GAAK,CAC9B,GAAI,CAAC,GAAQ,IAAI,IAAM,CACrB,GAAI,IAAc,GAAI,IAAI,IAE1B,AAAI,IACF,GAAK,OAIX,GAAO,KAAK,IAGd,UAAU,QAAQ,SAAU,GAAU,CACpC,AAAK,GAAQ,IAAI,GAAS,OAExB,GAAK,MAGF,GAGM,YAAwB,GAAW,CAEhD,GAAI,IAAmB,GAAM,IAE7B,MAAO,IAAe,OAAO,SAAU,GAAK,GAAO,CACjD,MAAO,IAAI,OAAO,GAAiB,OAAO,SAAU,GAAU,CAC5D,MAAO,IAAS,QAAU,OAE3B,IC1CU,YAAkB,GAAI,CACnC,GAAI,IACJ,MAAO,WAAY,CACjB,MAAK,KACH,IAAU,GAAI,SAAQ,SAAU,GAAS,CACvC,QAAQ,UAAU,KAAK,UAAY,CACjC,GAAU,OACV,GAAQ,WAKP,ICZI,YAAqB,GAAW,CAC7C,GAAI,IAAS,GAAU,OAAO,SAAU,GAAQ,GAAS,CACvD,GAAI,IAAW,GAAO,GAAQ,MAC9B,UAAO,GAAQ,MAAQ,GAAW,OAAO,OAAO,GAAI,GAAU,GAAS,CACrE,QAAS,OAAO,OAAO,GAAI,GAAS,QAAS,GAAQ,SACrD,KAAM,OAAO,OAAO,GAAI,GAAS,KAAM,GAAQ,QAC5C,GACE,IACN,IAEH,MAAO,QAAO,KAAK,IAAQ,IAAI,SAAU,GAAK,CAC5C,MAAO,IAAO,MCFlB,GAAI,IAAkB,CACpB,UAAW,SACX,UAAW,GACX,SAAU,YAGZ,aAA4B,CAC1B,OAAS,IAAO,UAAU,OAAQ,GAAO,GAAI,OAAM,IAAO,GAAO,EAAG,GAAO,GAAM,KAC/E,GAAK,IAAQ,UAAU,IAGzB,MAAO,CAAC,GAAK,KAAK,SAAU,GAAS,CACnC,MAAO,CAAE,KAAW,MAAO,IAAQ,uBAA0B,cAI1D,YAAyB,GAAkB,CAChD,AAAI,KAAqB,QACvB,IAAmB,IAGrB,GAAI,IAAoB,GACpB,GAAwB,GAAkB,iBAC1C,GAAmB,KAA0B,OAAS,GAAK,GAC3D,GAAyB,GAAkB,eAC3C,GAAiB,KAA2B,OAAS,GAAkB,GAC3E,MAAO,UAAsB,GAAW,GAAQ,GAAS,CACvD,AAAI,KAAY,QACd,IAAU,IAGZ,GAAI,IAAQ,CACV,UAAW,SACX,iBAAkB,GAClB,QAAS,OAAO,OAAO,GAAI,GAAiB,IAC5C,cAAe,GACf,SAAU,CACR,UAAW,GACX,OAAQ,IAEV,WAAY,GACZ,OAAQ,IAEN,GAAmB,GACnB,GAAc,GACd,GAAW,CACb,MAAO,GACP,WAAY,SAAoB,GAAkB,CAChD,GAAI,IAAU,MAAO,KAAqB,WAAa,GAAiB,GAAM,SAAW,GACzF,KACA,GAAM,QAAU,OAAO,OAAO,GAAI,GAAgB,GAAM,QAAS,IACjE,GAAM,cAAgB,CACpB,UAAW,GAAU,IAAa,GAAkB,IAAa,GAAU,eAAiB,GAAkB,GAAU,gBAAkB,GAC1I,OAAQ,GAAkB,KAI5B,GAAI,IAAmB,GAAe,GAAY,GAAG,OAAO,GAAkB,GAAM,QAAQ,aAE5F,UAAM,iBAAmB,GAAiB,OAAO,SAAU,GAAG,CAC5D,MAAO,IAAE,UAEX,KACO,GAAS,UAOlB,YAAa,UAAuB,CAClC,GAAI,IAIJ,IAAI,IAAkB,GAAM,SACxB,GAAY,GAAgB,UAC5B,GAAS,GAAgB,OAG7B,GAAI,EAAC,GAAiB,GAAW,IAKjC,IAAM,MAAQ,CACZ,UAAW,GAAiB,GAAW,GAAgB,IAAS,GAAM,QAAQ,WAAa,SAC3F,OAAQ,GAAc,KAOxB,GAAM,MAAQ,GACd,GAAM,UAAY,GAAM,QAAQ,UAKhC,GAAM,iBAAiB,QAAQ,SAAU,GAAU,CACjD,MAAO,IAAM,cAAc,GAAS,MAAQ,OAAO,OAAO,GAAI,GAAS,QAGzE,OAAS,IAAQ,EAAG,GAAQ,GAAM,iBAAiB,OAAQ,KAAS,CAClE,GAAI,GAAM,QAAU,GAAM,CACxB,GAAM,MAAQ,GACd,GAAQ,GACR,SAGF,GAAI,IAAwB,GAAM,iBAAiB,IAC/C,GAAK,GAAsB,GAC3B,GAAyB,GAAsB,QAC/C,GAAW,KAA2B,OAAS,GAAK,GACpD,GAAO,GAAsB,KAEjC,AAAI,MAAO,KAAO,YAChB,IAAQ,GAAG,CACT,MAAO,GACP,QAAS,GACT,KAAM,GACN,SAAU,MACN,QAMZ,OAAQ,GAAS,UAAY,CAC3B,MAAO,IAAI,SAAQ,SAAU,GAAS,CACpC,GAAS,cACT,GAAQ,QAGZ,QAAS,UAAmB,CAC1B,KACA,GAAc,KAIlB,GAAI,CAAC,GAAiB,GAAW,IAC/B,MAAO,IAGT,GAAS,WAAW,IAAS,KAAK,SAAU,GAAO,CACjD,AAAI,CAAC,IAAe,GAAQ,eAC1B,GAAQ,cAAc,MAQ1B,aAA8B,CAC5B,GAAM,iBAAiB,QAAQ,SAAU,GAAM,CAC7C,GAAI,IAAO,GAAK,KACZ,GAAe,GAAK,QACpB,GAAU,KAAiB,OAAS,GAAK,GACzC,GAAS,GAAK,OAElB,GAAI,MAAO,KAAW,WAAY,CAChC,GAAI,IAAY,GAAO,CACrB,MAAO,GACP,KAAM,GACN,SAAU,GACV,QAAS,KAGP,GAAS,UAAkB,GAE/B,GAAiB,KAAK,IAAa,OAKzC,aAAkC,CAChC,GAAiB,QAAQ,SAAU,GAAI,CACrC,MAAO,QAET,GAAmB,GAGrB,MAAO,KAGJ,GAAI,IAA4B,KC/LvC,GAAI,IAAmB,CAAC,GAAgB,GAAe,GAAe,IAClE,GAA4B,GAAgB,CAC9C,iBAAkB,KCGpB,GAAI,IAAmB,CAAC,GAAgB,GAAe,GAAe,GAAa,GAAQ,GAAM,GAAiB,GAAO,IACrH,GAA4B,GAAgB,CAC9C,iBAAkB,KCDpB,GAAM,IAAa,GAAI,KAEvB,GAAe,CACb,IAAI,GAAS,GAAK,GAAU,CAC1B,AAAK,GAAW,IAAI,KAClB,GAAW,IAAI,GAAS,GAAI,MAG9B,GAAM,IAAc,GAAW,IAAI,IAInC,GAAI,CAAC,GAAY,IAAI,KAAQ,GAAY,OAAS,EAAG,CAEnD,QAAQ,MAAO,+EAA8E,MAAM,KAAK,GAAY,QAAQ,OAC5H,OAGF,GAAY,IAAI,GAAK,KAGvB,IAAI,GAAS,GAAK,CAChB,MAAI,IAAW,IAAI,KACV,GAAW,IAAI,IAAS,IAAI,KAAQ,MAM/C,OAAO,GAAS,GAAK,CACnB,GAAI,CAAC,GAAW,IAAI,IAClB,OAGF,GAAM,IAAc,GAAW,IAAI,IAEnC,GAAY,OAAO,IAGf,GAAY,OAAS,GACvB,GAAW,OAAO,MC5ClB,GAAU,IACV,GAA0B,IAC1B,GAAiB,gBAOjB,GAAgB,IAChB,KAAY,OAAO,KAAO,OAAO,IAAI,QAEvC,IAAW,GAAS,QAAQ,gBAAiB,CAAC,GAAO,KAAQ,IAAG,IAAI,OAAO,QAGtE,IAIH,GAAS,IACT,IAAW,KACL,GAAE,KAGL,OAAO,UAAU,SAAS,KAAK,IAAQ,MAAM,eAAe,GAAG,cAOlE,GAAS,IAAU,CACvB,EACE,KAAU,KAAK,MAAM,KAAK,SAAW,UAC9B,SAAS,eAAe,KAEjC,MAAO,KAGH,GAAmC,IAAW,CAClD,GAAI,CAAC,GACH,MAAO,GAIT,GAAI,CAAE,sBAAoB,oBAAoB,OAAO,iBAAiB,IAEhE,GAA0B,OAAO,WAAW,IAC5C,GAAuB,OAAO,WAAW,IAG/C,MAAI,CAAC,IAA2B,CAAC,GACxB,EAIT,IAAqB,GAAmB,MAAM,KAAK,GACnD,GAAkB,GAAgB,MAAM,KAAK,GAErC,QAAO,WAAW,IAAsB,OAAO,WAAW,KAAoB,KAGlF,GAAuB,IAAW,CACtC,GAAQ,cAAc,GAAI,OAAM,MAG5B,GAAY,IACZ,CAAC,IAAU,MAAO,KAAW,SACxB,GAGL,OAAO,IAAO,QAAW,aAC3B,IAAS,GAAO,IAGX,MAAO,IAAO,UAAa,aAG9B,GAAa,IAEb,GAAU,IACL,GAAO,OAAS,GAAO,GAAK,GAGjC,MAAO,KAAW,UAAY,GAAO,OAAS,EACzC,SAAS,cAAc,GAAc,KAGvC,KAGH,GAAY,IAAW,CAC3B,GAAI,CAAC,GAAU,KAAY,GAAQ,iBAAiB,SAAW,EAC7D,MAAO,GAGT,GAAM,IAAmB,iBAAiB,IAAS,iBAAiB,gBAAkB,UAEhF,GAAgB,GAAQ,QAAQ,uBAEtC,GAAI,CAAC,GACH,MAAO,IAGT,GAAI,KAAkB,GAAS,CAC7B,GAAM,IAAU,GAAQ,QAAQ,WAKhC,GAJI,IAAW,GAAQ,aAAe,IAIlC,KAAY,KACd,MAAO,GAIX,MAAO,KAGH,GAAa,IACb,CAAC,IAAW,GAAQ,WAAa,KAAK,cAItC,GAAQ,UAAU,SAAS,YACtB,GAGL,MAAO,IAAQ,UAAa,YACvB,GAAQ,SAGV,GAAQ,aAAa,aAAe,GAAQ,aAAa,cAAgB,QAG5E,GAAiB,IAAW,CAChC,GAAI,CAAC,SAAS,gBAAgB,aAC5B,MAAO,MAIT,GAAI,MAAO,IAAQ,aAAgB,WAAY,CAC7C,GAAM,IAAO,GAAQ,cACrB,MAAO,cAAgB,YAAa,GAAO,KAG7C,MAAI,cAAmB,YACd,GAIJ,GAAQ,WAIN,GAAe,GAAQ,YAHrB,MAML,GAAO,IAAM,GAUb,GAAS,IAAW,CACxB,GAAQ,cAGJ,GAAY,IACZ,OAAO,QAAU,CAAC,SAAS,KAAK,aAAa,qBACxC,OAAO,OAGT,KAGH,GAA4B,GAE5B,GAAqB,IAAY,CACrC,AAAI,SAAS,aAAe,UAErB,IAA0B,QAC7B,SAAS,iBAAiB,mBAAoB,IAAM,CAClD,OAAW,MAAY,IACrB,OAKN,GAA0B,KAAK,KAE/B,MAIE,GAAQ,IAAM,SAAS,gBAAgB,MAAQ,MAE/C,GAAqB,IAAU,CACnC,GAAmB,IAAM,CACvB,GAAM,IAAI,KAEV,GAAI,GAAG,CACL,GAAM,IAAO,GAAO,KACd,GAAqB,GAAE,GAAG,IAChC,GAAE,GAAG,IAAQ,GAAO,gBACpB,GAAE,GAAG,IAAM,YAAc,GACzB,GAAE,GAAG,IAAM,WAAa,IACtB,IAAE,GAAG,IAAQ,GACN,GAAO,qBAMhB,GAAU,CAAC,GAAkB,GAAO,GAAI,GAAe,KACpD,MAAO,KAAqB,WAAa,GAAiB,GAAG,IAAQ,GAGxE,GAAyB,CAAC,GAAU,GAAmB,GAAoB,KAAS,CACxF,GAAI,CAAC,GAAmB,CACtB,GAAQ,IACR,OAGF,GAAM,IAAkB,EAClB,GAAmB,GAAiC,IAAqB,GAE3E,GAAS,GAEP,GAAU,CAAC,CAAE,aAAa,CAC9B,AAAI,KAAW,IAIf,IAAS,GACT,GAAkB,oBAAoB,GAAgB,IACtD,GAAQ,MAGV,GAAkB,iBAAiB,GAAgB,IACnD,WAAW,IAAM,CACf,AAAK,IACH,GAAqB,KAEtB,KAYC,GAAuB,CAAC,GAAM,GAAe,GAAe,KAAmB,CACnF,GAAM,IAAa,GAAK,OACpB,GAAQ,GAAK,QAAQ,IAIzB,MAAI,MAAU,GACL,CAAC,IAAiB,GAAiB,GAAK,GAAa,GAAK,GAAK,GAGxE,KAAS,GAAgB,EAAI,GAEzB,IACF,IAAS,IAAQ,IAAc,IAG1B,GAAK,KAAK,IAAI,EAAG,KAAK,IAAI,GAAO,GAAa,OC7QjD,GAAiB,qBACjB,GAAiB,OACjB,GAAgB,SAChB,GAAgB,GAClB,GAAW,EACT,GAAe,CACnB,WAAY,YACZ,WAAY,YAGR,GAAe,GAAI,KAAI,CAC3B,QACA,WACA,UACA,YACA,cACA,aACA,iBACA,YACA,WACA,YACA,cACA,YACA,UACA,WACA,QACA,oBACA,aACA,YACA,WACA,cACA,cACA,cACA,YACA,eACA,gBACA,eACA,gBACA,aACA,QACA,OACA,SACA,QACA,SACA,SACA,UACA,WACA,OACA,SACA,eACA,SACA,OACA,mBACA,mBACA,QACA,QACA,WAOF,YAAsB,GAAS,GAAK,CAClC,MAAQ,KAAQ,GAAE,OAAQ,QAAiB,GAAQ,UAAY,KAGjE,YAA0B,GAAS,CACjC,GAAM,IAAM,GAAa,IAEzB,UAAQ,SAAW,GACnB,GAAc,IAAO,GAAc,KAAQ,GAEpC,GAAc,IAGvB,YAA0B,GAAS,GAAI,CACrC,MAAO,aAAiB,GAAO,CAC7B,UAAW,GAAO,CAAE,eAAgB,KAEhC,GAAQ,QACV,GAAa,IAAI,GAAS,GAAM,KAAM,IAGjC,GAAG,MAAM,GAAS,CAAC,MAI9B,YAAoC,GAAS,GAAU,GAAI,CACzD,MAAO,aAAiB,GAAO,CAC7B,GAAM,IAAc,GAAQ,iBAAiB,IAE7C,OAAS,CAAE,WAAW,GAAO,IAAU,KAAW,KAAM,GAAS,GAAO,WACtE,OAAW,MAAc,IACvB,GAAI,KAAe,GAInB,UAAW,GAAO,CAAE,eAAgB,KAEhC,GAAQ,QACV,GAAa,IAAI,GAAS,GAAM,KAAM,GAAU,IAG3C,GAAG,MAAM,GAAQ,CAAC,MAMjC,YAAqB,GAAQ,GAAU,GAAqB,KAAM,CAChE,MAAO,QAAO,OAAO,IAClB,KAAK,IAAS,GAAM,WAAa,IAAY,GAAM,qBAAuB,IAG/E,YAA6B,GAAmB,GAAS,GAAoB,CAC3E,GAAM,IAAc,MAAO,KAAY,SAEjC,GAAW,GAAc,GAAsB,IAAW,GAC5D,GAAY,GAAa,IAE7B,MAAK,IAAa,IAAI,KACpB,IAAY,IAGP,CAAC,GAAa,GAAU,IAGjC,YAAoB,GAAS,GAAmB,GAAS,GAAoB,GAAQ,CACnF,GAAI,MAAO,KAAsB,UAAY,CAAC,GAC5C,OAGF,GAAI,CAAC,GAAa,GAAU,IAAa,GAAoB,GAAmB,GAAS,IAIzF,AAAI,KAAqB,KASvB,IAAW,AARU,KACZ,SAAU,GAAO,CACtB,GAAI,CAAC,GAAM,eAAkB,GAAM,gBAAkB,GAAM,gBAAkB,CAAC,GAAM,eAAe,SAAS,GAAM,eAChH,MAAO,IAAG,KAAK,KAAM,MAKH,KAG1B,GAAM,IAAS,GAAiB,IAC1B,GAAW,GAAO,KAAe,IAAO,IAAa,IACrD,GAAmB,GAAY,GAAU,GAAU,GAAc,GAAU,MAEjF,GAAI,GAAkB,CACpB,GAAiB,OAAS,GAAiB,QAAU,GAErD,OAGF,GAAM,IAAM,GAAa,GAAU,GAAkB,QAAQ,GAAgB,KACvE,GAAK,GACT,GAA2B,GAAS,GAAS,IAC7C,GAAiB,GAAS,IAE5B,GAAG,mBAAqB,GAAc,GAAU,KAChD,GAAG,SAAW,GACd,GAAG,OAAS,GACZ,GAAG,SAAW,GACd,GAAS,IAAO,GAEhB,GAAQ,iBAAiB,GAAW,GAAI,IAG1C,YAAuB,GAAS,GAAQ,GAAW,GAAS,GAAoB,CAC9E,GAAM,IAAK,GAAY,GAAO,IAAY,GAAS,IAEnD,AAAI,CAAC,IAIL,IAAQ,oBAAoB,GAAW,GAAI,QAAQ,KACnD,MAAO,IAAO,IAAW,GAAG,WAG9B,YAAkC,GAAS,GAAQ,GAAW,GAAW,CACvE,GAAM,IAAoB,GAAO,KAAc,GAE/C,OAAW,CAAC,GAAY,KAAU,QAAO,QAAQ,IAC/C,AAAI,GAAW,SAAS,KACtB,GAAc,GAAS,GAAQ,GAAW,GAAM,SAAU,GAAM,oBAKtE,YAAsB,GAAO,CAE3B,UAAQ,GAAM,QAAQ,GAAgB,IAC/B,GAAa,KAAU,GAGhC,GAAM,IAAe,CACnB,GAAG,GAAS,GAAO,GAAS,GAAoB,CAC9C,GAAW,GAAS,GAAO,GAAS,GAAoB,KAG1D,IAAI,GAAS,GAAO,GAAS,GAAoB,CAC/C,GAAW,GAAS,GAAO,GAAS,GAAoB,KAG1D,IAAI,GAAS,GAAmB,GAAS,GAAoB,CAC3D,GAAI,MAAO,KAAsB,UAAY,CAAC,GAC5C,OAGF,GAAM,CAAC,GAAa,GAAU,IAAa,GAAoB,GAAmB,GAAS,IACrF,GAAc,KAAc,GAC5B,GAAS,GAAiB,IAC1B,GAAoB,GAAO,KAAc,GACzC,GAAc,GAAkB,WAAW,KAEjD,GAAI,MAAO,KAAa,YAAa,CAEnC,GAAI,CAAC,OAAO,KAAK,IAAmB,OAClC,OAGF,GAAc,GAAS,GAAQ,GAAW,GAAU,GAAc,GAAU,MAC5E,OAGF,GAAI,GACF,OAAW,MAAgB,QAAO,KAAK,IACrC,GAAyB,GAAS,GAAQ,GAAc,GAAkB,MAAM,IAIpF,OAAW,CAAC,GAAa,KAAU,QAAO,QAAQ,IAAoB,CACpE,GAAM,IAAa,GAAY,QAAQ,GAAe,IAEtD,AAAI,EAAC,IAAe,GAAkB,SAAS,MAC7C,GAAc,GAAS,GAAQ,GAAW,GAAM,SAAU,GAAM,sBAKtE,QAAQ,GAAS,GAAO,GAAM,CAC5B,GAAI,MAAO,KAAU,UAAY,CAAC,GAChC,MAAO,MAGT,GAAM,IAAI,KACJ,GAAY,GAAa,IACzB,GAAc,KAAU,GAE1B,GAAc,KACd,GAAU,GACV,GAAiB,GACjB,GAAmB,GAEvB,AAAI,IAAe,IACjB,IAAc,GAAE,MAAM,GAAO,IAE7B,GAAE,IAAS,QAAQ,IACnB,GAAU,CAAC,GAAY,uBACvB,GAAiB,CAAC,GAAY,gCAC9B,GAAmB,GAAY,sBAGjC,GAAM,IAAM,GAAW,GAAI,OAAM,GAAO,CAAE,WAAS,WAAY,KAAS,IAExE,MAAI,KACF,GAAI,iBAGF,IACF,GAAQ,cAAc,IAGpB,GAAI,kBAAoB,IAC1B,GAAY,iBAGP,KAIX,YAAoB,GAAK,GAAO,GAAI,CAClC,OAAW,CAAC,GAAK,KAAU,QAAO,QAAQ,IACxC,GAAI,CACF,GAAI,IAAO,SACX,GAAA,CACA,OAAO,eAAe,GAAK,GAAK,CAC9B,aAAc,GACd,KAAM,CACJ,MAAO,OAMf,MAAO,IClTT,YAAuB,GAAO,CAC5B,GAAI,KAAU,OACZ,MAAO,GAGT,GAAI,KAAU,QACZ,MAAO,GAGT,GAAI,KAAU,OAAO,IAAO,WAC1B,MAAO,QAAO,IAGhB,GAAI,KAAU,IAAM,KAAU,OAC5B,MAAO,MAGT,GAAI,MAAO,KAAU,SACnB,MAAO,IAGT,GAAI,CACF,MAAO,MAAK,MAAM,mBAAmB,WACrC,GAAA,CACA,MAAO,KAIX,YAA0B,GAAK,CAC7B,MAAO,IAAI,QAAQ,SAAU,IAAQ,IAAG,GAAI,iBAG9C,GAAM,IAAc,CAClB,iBAAiB,GAAS,GAAK,GAAO,CACpC,GAAQ,aAAc,WAAU,GAAiB,MAAQ,KAG3D,oBAAoB,GAAS,GAAK,CAChC,GAAQ,gBAAiB,WAAU,GAAiB,QAGtD,kBAAkB,GAAS,CACzB,GAAI,CAAC,GACH,MAAO,GAGT,GAAM,IAAa,GACb,GAAS,OAAO,KAAK,GAAQ,SAAS,OAAO,IAAO,GAAI,WAAW,OAAS,CAAC,GAAI,WAAW,aAElG,OAAW,MAAO,IAAQ,CACxB,GAAI,IAAU,GAAI,QAAQ,MAAO,IACjC,GAAU,GAAQ,OAAO,GAAG,cAAgB,GAAQ,MAAM,EAAG,GAAQ,QACrE,GAAW,IAAW,GAAc,GAAQ,QAAQ,KAGtD,MAAO,KAGT,iBAAiB,GAAS,GAAK,CAC7B,MAAO,IAAc,GAAQ,aAAc,WAAU,GAAiB,UCpD1E,QAAa,WAEA,UAAU,CACnB,MAAO,aAGE,cAAc,CACvB,MAAO,aAGE,OAAO,CAChB,KAAM,IAAI,OAAM,uEAGlB,WAAW,GAAQ,CACjB,UAAS,KAAK,gBAAgB,IAC9B,GAAS,KAAK,kBAAkB,IAChC,KAAK,iBAAiB,IACf,GAGT,kBAAkB,GAAQ,CACxB,MAAO,IAGT,gBAAgB,GAAQ,GAAS,CAC/B,GAAM,IAAa,GAAU,IAAW,GAAY,iBAAiB,GAAS,UAAY,GAE1F,MAAO,gBACF,KAAK,YAAY,SAChB,MAAO,KAAe,SAAW,GAAa,IAC9C,GAAU,IAAW,GAAY,kBAAkB,IAAW,IAC9D,MAAO,KAAW,SAAW,GAAS,IAI9C,iBAAiB,GAAQ,GAAc,KAAK,YAAY,YAAa,CACnE,OAAW,CAAC,GAAU,KAAkB,QAAO,QAAQ,IAAc,CACnE,GAAM,IAAQ,GAAO,IACf,GAAY,GAAU,IAAS,UAAY,GAAO,IAExD,GAAI,CAAC,GAAI,QAAO,IAAe,KAAK,IAClC,KAAM,IAAI,WACP,GAAE,KAAK,YAAY,KAAK,0BAA0B,sBAA4B,0BAAiC,WCzCpH,GAAU,QAMhB,gBAA4B,GAAO,CACjC,YAAY,GAAS,GAAQ,CAC3B,QAGA,AADA,GAAU,GAAW,IACjB,EAAC,IAIL,MAAK,SAAW,GAChB,KAAK,QAAU,KAAK,WAAW,IAE/B,GAAK,IAAI,KAAK,SAAU,KAAK,YAAY,SAAU,OAIrD,SAAU,CACR,GAAK,OAAO,KAAK,SAAU,KAAK,YAAY,UAC5C,GAAa,IAAI,KAAK,SAAU,KAAK,YAAY,WAEjD,OAAW,MAAgB,QAAO,oBAAoB,MACpD,KAAK,IAAgB,KAIzB,eAAe,GAAU,GAAS,GAAa,GAAM,CACnD,GAAuB,GAAU,GAAS,IAG5C,WAAW,GAAQ,CACjB,UAAS,KAAK,gBAAgB,GAAQ,KAAK,UAC3C,GAAS,KAAK,kBAAkB,IAChC,KAAK,iBAAiB,IACf,SAIF,aAAY,GAAS,CAC1B,MAAO,IAAK,IAAI,GAAW,IAAU,KAAK,gBAGrC,qBAAoB,GAAS,GAAS,GAAI,CAC/C,MAAO,MAAK,YAAY,KAAY,GAAI,MAAK,GAAS,MAAO,KAAW,SAAW,GAAS,gBAGnF,UAAU,CACnB,MAAO,cAGE,WAAW,CACpB,MAAQ,MAAK,KAAK,iBAGT,YAAY,CACrB,MAAQ,IAAG,KAAK,iBAGX,WAAU,GAAM,CACrB,MAAQ,GAAE,KAAO,KAAK,cCvEpB,GAAc,IAAW,CAC7B,GAAI,IAAW,GAAQ,aAAa,kBAEpC,GAAI,CAAC,IAAY,KAAa,IAAK,CACjC,GAAI,IAAgB,GAAQ,aAAa,QAMzC,GAAI,CAAC,IAAkB,CAAC,GAAc,SAAS,MAAQ,CAAC,GAAc,WAAW,KAC/E,MAAO,MAIT,AAAI,GAAc,SAAS,MAAQ,CAAC,GAAc,WAAW,MAC3D,IAAiB,IAAG,GAAc,MAAM,KAAK,MAG/C,GAAW,IAAiB,KAAkB,IAAM,GAAc,OAAS,KAG7E,MAAO,IAAW,GAAS,MAAM,KAAK,IAAI,IAAO,GAAc,KAAM,KAAK,KAAO,MAG7E,GAAiB,CACrB,KAAK,GAAU,GAAU,SAAS,gBAAiB,CACjD,MAAO,GAAG,OAAO,GAAG,QAAQ,UAAU,iBAAiB,KAAK,GAAS,MAGvE,QAAQ,GAAU,GAAU,SAAS,gBAAiB,CACpD,MAAO,SAAQ,UAAU,cAAc,KAAK,GAAS,KAGvD,SAAS,GAAS,GAAU,CAC1B,MAAO,GAAG,OAAO,GAAG,GAAQ,UAAU,OAAO,IAAS,GAAM,QAAQ,MAGtE,QAAQ,GAAS,GAAU,CACzB,GAAM,IAAU,GACZ,GAAW,GAAQ,WAAW,QAAQ,IAE1C,KAAO,IACL,GAAQ,KAAK,IACb,GAAW,GAAS,WAAW,QAAQ,IAGzC,MAAO,KAGT,KAAK,GAAS,GAAU,CACtB,GAAI,IAAW,GAAQ,uBAEvB,KAAO,IAAU,CACf,GAAI,GAAS,QAAQ,IACnB,MAAO,CAAC,IAGV,GAAW,GAAS,uBAGtB,MAAO,IAGT,KAAK,GAAS,GAAU,CACtB,GAAI,IAAO,GAAQ,mBAEnB,KAAO,IAAM,CACX,GAAI,GAAK,QAAQ,IACf,MAAO,CAAC,IAGV,GAAO,GAAK,mBAGd,MAAO,IAGT,kBAAkB,GAAS,CACzB,GAAM,IAAa,CACjB,IACA,SACA,QACA,WACA,SACA,UACA,aACA,4BACA,IAAI,IAAa,GAAE,2BAAiC,KAAK,KAE3D,MAAO,MAAK,KAAK,GAAY,IAAS,OAAO,IAAM,CAAC,GAAW,KAAO,GAAU,MAGlF,uBAAuB,GAAS,CAC9B,GAAM,IAAW,GAAY,IAE7B,MAAI,KACK,GAAe,QAAQ,IAAY,GAGrC,MAGT,uBAAuB,GAAS,CAC9B,GAAM,IAAW,GAAY,IAE7B,MAAO,IAAW,GAAe,QAAQ,IAAY,MAGvD,gCAAgC,GAAS,CACvC,GAAM,IAAW,GAAY,IAE7B,MAAO,IAAW,GAAe,KAAK,IAAY,KC9GhD,GAAuB,CAAC,GAAW,GAAS,SAAW,CAC3D,GAAM,IAAc,gBAAe,GAAU,YACvC,GAAO,GAAU,KAEvB,GAAa,GAAG,SAAU,GAAa,qBAAoB,OAAU,SAAU,GAAO,CAKpF,GAJI,CAAC,IAAK,QAAQ,SAAS,KAAK,UAC9B,GAAM,iBAGJ,GAAW,MACb,OAGF,GAAM,IAAS,GAAe,uBAAuB,OAAS,KAAK,QAAS,IAAG,MAI/E,AAHiB,GAAU,oBAAoB,IAGtC,SCZP,GAAO,QACP,GAAW,WACX,GAAa,IAAG,KAEhB,GAAe,QAAO,KACtB,GAAgB,SAAQ,KACxB,GAAkB,OAClB,GAAkB,OAMxB,gBAAoB,GAAc,WAErB,OAAO,CAChB,MAAO,IAIT,OAAQ,CAGN,GAAI,AAFe,GAAa,QAAQ,KAAK,SAAU,IAExC,iBACb,OAGF,KAAK,SAAS,UAAU,OAAO,IAE/B,GAAM,IAAa,KAAK,SAAS,UAAU,SAAS,IACpD,KAAK,eAAe,IAAM,KAAK,kBAAmB,KAAK,SAAU,IAInE,iBAAkB,CAChB,KAAK,SAAS,SACd,GAAa,QAAQ,KAAK,SAAU,IACpC,KAAK,gBAIA,iBAAgB,GAAQ,CAC7B,MAAO,MAAK,KAAK,UAAY,CAC3B,GAAM,IAAO,GAAM,oBAAoB,MAEvC,GAAI,MAAO,KAAW,SAItB,IAAI,GAAK,MAAY,QAAa,GAAO,WAAW,MAAQ,KAAW,cACrE,KAAM,IAAI,WAAW,oBAAmB,OAG1C,GAAK,IAAQ,WASnB,GAAqB,GAAO,SAM5B,GAAmB,ICrEnB,GAAM,IAAO,SACP,GAAW,YACX,GAAa,IAAG,KAChB,GAAe,YAEf,GAAoB,SACpB,GAAuB,4BACvB,GAAwB,QAAO,KAAY,KAMjD,gBAAqB,GAAc,WAEtB,OAAO,CAChB,MAAO,IAIT,QAAS,CAEP,KAAK,SAAS,aAAa,eAAgB,KAAK,SAAS,UAAU,OAAO,WAIrE,iBAAgB,GAAQ,CAC7B,MAAO,MAAK,KAAK,UAAY,CAC3B,GAAM,IAAO,GAAO,oBAAoB,MAExC,AAAI,KAAW,UACb,GAAK,UAUb,GAAa,GAAG,SAAU,GAAsB,GAAsB,IAAS,CAC7E,GAAM,iBAEN,GAAM,IAAS,GAAM,OAAO,QAAQ,IAGpC,AAFa,GAAO,oBAAoB,IAEnC,WAOP,GAAmB,ICtDnB,GAAM,IAAO,QACP,GAAY,YACZ,GAAoB,aAAY,KAChC,GAAmB,YAAW,KAC9B,GAAkB,WAAU,KAC5B,GAAqB,cAAa,KAClC,GAAmB,YAAW,KAC9B,GAAqB,QACrB,GAAmB,MACnB,GAA2B,gBAC3B,GAAkB,GAElB,GAAU,CACd,YAAa,KACb,aAAc,KACd,cAAe,MAGX,GAAc,CAClB,YAAa,kBACb,aAAc,kBACd,cAAe,mBAOjB,gBAAoB,GAAO,CACzB,YAAY,GAAS,GAAQ,CAC3B,QAGA,AAFA,KAAK,SAAW,GAEZ,GAAC,IAAW,CAAC,GAAM,gBAIvB,MAAK,QAAU,KAAK,WAAW,IAC/B,KAAK,QAAU,EACf,KAAK,sBAAwB,QAAQ,OAAO,cAC5C,KAAK,yBAII,UAAU,CACnB,MAAO,cAGE,cAAc,CACvB,MAAO,cAGE,OAAO,CAChB,MAAO,IAIT,SAAU,CACR,GAAa,IAAI,KAAK,SAAU,IAIlC,OAAO,GAAO,CACZ,GAAI,CAAC,KAAK,sBAAuB,CAC/B,KAAK,QAAU,GAAM,QAAQ,GAAG,QAEhC,OAGF,AAAI,KAAK,wBAAwB,KAC/B,MAAK,QAAU,GAAM,SAIzB,KAAK,GAAO,CACV,AAAI,KAAK,wBAAwB,KAC/B,MAAK,QAAU,GAAM,QAAU,KAAK,SAGtC,KAAK,eACL,GAAQ,KAAK,QAAQ,aAGvB,MAAM,GAAO,CACX,KAAK,QAAU,GAAM,SAAW,GAAM,QAAQ,OAAS,EACrD,EACA,GAAM,QAAQ,GAAG,QAAU,KAAK,QAGpC,cAAe,CACb,GAAM,IAAY,KAAK,IAAI,KAAK,SAEhC,GAAI,IAAa,GACf,OAGF,GAAM,IAAY,GAAY,KAAK,QAInC,AAFA,KAAK,QAAU,EAEX,EAAC,IAIL,GAAQ,GAAY,EAAI,KAAK,QAAQ,cAAgB,KAAK,QAAQ,cAGpE,aAAc,CACZ,AAAI,KAAK,sBACP,IAAa,GAAG,KAAK,SAAU,GAAmB,IAAS,KAAK,OAAO,KACvE,GAAa,GAAG,KAAK,SAAU,GAAiB,IAAS,KAAK,KAAK,KAEnE,KAAK,SAAS,UAAU,IAAI,KAE5B,IAAa,GAAG,KAAK,SAAU,GAAkB,IAAS,KAAK,OAAO,KACtE,GAAa,GAAG,KAAK,SAAU,GAAiB,IAAS,KAAK,MAAM,KACpE,GAAa,GAAG,KAAK,SAAU,GAAgB,IAAS,KAAK,KAAK,MAItE,wBAAwB,GAAO,CAC7B,MAAO,MAAK,uBAA0B,IAAM,cAAgB,IAAoB,GAAM,cAAgB,UAIjG,cAAc,CACnB,MAAO,gBAAkB,UAAS,iBAAmB,UAAU,eAAiB,ICpH9E,GAAO,WACP,GAAW,cACX,GAAa,IAAG,KAChB,GAAe,YAEf,GAAiB,YACjB,GAAkB,aAClB,GAAyB,IAEzB,GAAa,OACb,GAAa,OACb,GAAiB,OACjB,GAAkB,QAElB,GAAe,QAAO,KACtB,GAAc,OAAM,KACpB,GAAiB,UAAS,KAC1B,GAAoB,aAAY,KAChC,GAAoB,aAAY,KAChC,GAAoB,YAAW,KAC/B,GAAuB,OAAM,KAAY,KACzC,GAAwB,QAAO,KAAY,KAE3C,GAAsB,WACtB,GAAoB,SACpB,GAAmB,QACnB,GAAiB,oBACjB,GAAmB,sBACnB,GAAkB,qBAClB,GAAkB,qBAElB,GAAkB,UAClB,GAAgB,iBAChB,GAAuB,GAAkB,GACzC,GAAoB,qBACpB,GAAsB,uBACtB,GAAsB,sCACtB,GAAqB,4BAErB,GAAmB,EACtB,IAAiB,IACjB,IAAkB,IAGf,GAAU,CACd,SAAU,IACV,SAAU,GACV,MAAO,QACP,KAAM,GACN,MAAO,GACP,KAAM,IAGF,GAAc,CAClB,SAAU,mBACV,SAAU,UACV,MAAO,mBACP,KAAM,mBACN,MAAO,UACP,KAAM,WAOR,gBAAuB,GAAc,CACnC,YAAY,GAAS,GAAQ,CAC3B,MAAM,GAAS,IAEf,KAAK,UAAY,KACjB,KAAK,eAAiB,KACtB,KAAK,WAAa,GAClB,KAAK,aAAe,KACpB,KAAK,aAAe,KAEpB,KAAK,mBAAqB,GAAe,QAAQ,GAAqB,KAAK,UAC3E,KAAK,qBAED,KAAK,QAAQ,OAAS,IACxB,KAAK,kBAKE,UAAU,CACnB,MAAO,cAGE,cAAc,CACvB,MAAO,cAGE,OAAO,CAChB,MAAO,IAIT,MAAO,CACL,KAAK,OAAO,IAGd,iBAAkB,CAIhB,AAAI,CAAC,SAAS,QAAU,GAAU,KAAK,WACrC,KAAK,OAIT,MAAO,CACL,KAAK,OAAO,IAGd,OAAQ,CACN,AAAI,KAAK,YACP,GAAqB,KAAK,UAG5B,KAAK,iBAGP,OAAQ,CACN,KAAK,iBACL,KAAK,kBAEL,KAAK,UAAY,YAAY,IAAM,KAAK,kBAAmB,KAAK,QAAQ,UAG1E,mBAAoB,CAClB,GAAI,EAAC,KAAK,QAAQ,KAIlB,IAAI,KAAK,WAAY,CACnB,GAAa,IAAI,KAAK,SAAU,GAAY,IAAM,KAAK,SACvD,OAGF,KAAK,SAGP,GAAG,GAAO,CACR,GAAM,IAAQ,KAAK,YACnB,GAAI,GAAQ,GAAM,OAAS,GAAK,GAAQ,EACtC,OAGF,GAAI,KAAK,WAAY,CACnB,GAAa,IAAI,KAAK,SAAU,GAAY,IAAM,KAAK,GAAG,KAC1D,OAGF,GAAM,IAAc,KAAK,cAAc,KAAK,cAC5C,GAAI,KAAgB,GAClB,OAGF,GAAM,IAAQ,GAAQ,GAAc,GAAa,GAEjD,KAAK,OAAO,GAAO,GAAM,KAG3B,SAAU,CACR,AAAI,KAAK,cACP,KAAK,aAAa,UAGpB,MAAM,UAIR,kBAAkB,GAAQ,CACxB,UAAO,gBAAkB,GAAO,SACzB,GAGT,oBAAqB,CACnB,AAAI,KAAK,QAAQ,UACf,GAAa,GAAG,KAAK,SAAU,GAAe,IAAS,KAAK,SAAS,KAGnE,KAAK,QAAQ,QAAU,SACzB,IAAa,GAAG,KAAK,SAAU,GAAkB,IAAM,KAAK,SAC5D,GAAa,GAAG,KAAK,SAAU,GAAkB,IAAM,KAAK,sBAG1D,KAAK,QAAQ,OAAS,GAAM,eAC9B,KAAK,0BAIT,yBAA0B,CACxB,OAAW,MAAO,IAAe,KAAK,GAAmB,KAAK,UAC5D,GAAa,GAAG,GAAK,GAAkB,IAAS,GAAM,kBAwBxD,GAAM,IAAc,CAClB,aAAc,IAAM,KAAK,OAAO,KAAK,kBAAkB,KACvD,cAAe,IAAM,KAAK,OAAO,KAAK,kBAAkB,KACxD,YAxBkB,IAAM,CACxB,AAAI,KAAK,QAAQ,QAAU,SAY3B,MAAK,QACD,KAAK,cACP,aAAa,KAAK,cAGpB,KAAK,aAAe,WAAW,IAAM,KAAK,oBAAqB,GAAyB,KAAK,QAAQ,aASvG,KAAK,aAAe,GAAI,IAAM,KAAK,SAAU,IAG/C,SAAS,GAAO,CACd,GAAI,kBAAkB,KAAK,GAAM,OAAO,SACtC,OAGF,GAAM,IAAY,GAAiB,GAAM,KACzC,AAAI,IACF,IAAM,iBACN,KAAK,OAAO,KAAK,kBAAkB,MAIvC,cAAc,GAAS,CACrB,MAAO,MAAK,YAAY,QAAQ,IAGlC,2BAA2B,GAAO,CAChC,GAAI,CAAC,KAAK,mBACR,OAGF,GAAM,IAAkB,GAAe,QAAQ,GAAiB,KAAK,oBAErE,GAAgB,UAAU,OAAO,IACjC,GAAgB,gBAAgB,gBAEhC,GAAM,IAAqB,GAAe,QAAS,sBAAqB,OAAW,KAAK,oBAExF,AAAI,IACF,IAAmB,UAAU,IAAI,IACjC,GAAmB,aAAa,eAAgB,SAIpD,iBAAkB,CAChB,GAAM,IAAU,KAAK,gBAAkB,KAAK,aAE5C,GAAI,CAAC,GACH,OAGF,GAAM,IAAkB,OAAO,SAAS,GAAQ,aAAa,oBAAqB,IAElF,KAAK,QAAQ,SAAW,IAAmB,KAAK,QAAQ,gBAG1D,OAAO,GAAO,GAAU,KAAM,CAC5B,GAAI,KAAK,WACP,OAGF,GAAM,IAAgB,KAAK,aACrB,GAAS,KAAU,GACnB,GAAc,IAAW,GAAqB,KAAK,YAAa,GAAe,GAAQ,KAAK,QAAQ,MAE1G,GAAI,KAAgB,GAClB,OAGF,GAAM,IAAmB,KAAK,cAAc,IAEtC,GAAe,IACZ,GAAa,QAAQ,KAAK,SAAU,GAAW,CACpD,cAAe,GACf,UAAW,KAAK,kBAAkB,IAClC,KAAM,KAAK,cAAc,IACzB,GAAI,KAUR,GAJI,AAFe,GAAa,IAEjB,kBAIX,CAAC,IAAiB,CAAC,GAGrB,OAGF,GAAM,IAAY,QAAQ,KAAK,WAC/B,KAAK,QAEL,KAAK,WAAa,GAElB,KAAK,2BAA2B,IAChC,KAAK,eAAiB,GAEtB,GAAM,IAAuB,GAAS,GAAmB,GACnD,GAAiB,GAAS,GAAkB,GAElD,GAAY,UAAU,IAAI,IAE1B,GAAO,IAEP,GAAc,UAAU,IAAI,IAC5B,GAAY,UAAU,IAAI,IAE1B,GAAM,IAAmB,IAAM,CAC7B,GAAY,UAAU,OAAO,GAAsB,IACnD,GAAY,UAAU,IAAI,IAE1B,GAAc,UAAU,OAAO,GAAmB,GAAgB,IAElE,KAAK,WAAa,GAElB,GAAa,KAGf,KAAK,eAAe,GAAkB,GAAe,KAAK,eAEtD,IACF,KAAK,QAIT,aAAc,CACZ,MAAO,MAAK,SAAS,UAAU,SAAS,IAG1C,YAAa,CACX,MAAO,IAAe,QAAQ,GAAsB,KAAK,UAG3D,WAAY,CACV,MAAO,IAAe,KAAK,GAAe,KAAK,UAGjD,gBAAiB,CACf,AAAI,KAAK,WACP,eAAc,KAAK,WACnB,KAAK,UAAY,MAIrB,kBAAkB,GAAW,CAC3B,MAAI,MACK,KAAc,GAAiB,GAAa,GAG9C,KAAc,GAAiB,GAAa,GAGrD,kBAAkB,GAAO,CACvB,MAAI,MACK,KAAU,GAAa,GAAiB,GAG1C,KAAU,GAAa,GAAkB,SAI3C,iBAAgB,GAAQ,CAC7B,MAAO,MAAK,KAAK,UAAY,CAC3B,GAAM,IAAO,GAAS,oBAAoB,KAAM,IAEhD,GAAI,MAAO,KAAW,SAAU,CAC9B,GAAK,GAAG,IACR,OAGF,GAAI,MAAO,KAAW,SAAU,CAC9B,GAAI,GAAK,MAAY,QAAa,GAAO,WAAW,MAAQ,KAAW,cACrE,KAAM,IAAI,WAAW,oBAAmB,OAG1C,GAAK,WAUb,GAAa,GAAG,SAAU,GAAsB,GAAqB,SAAU,GAAO,CACpF,GAAM,IAAS,GAAe,uBAAuB,MAErD,GAAI,CAAC,IAAU,CAAC,GAAO,UAAU,SAAS,IACxC,OAGF,GAAM,iBAEN,GAAM,IAAW,GAAS,oBAAoB,IACxC,GAAa,KAAK,aAAa,oBAErC,GAAI,GAAY,CACd,GAAS,GAAG,IACZ,GAAS,oBACT,OAGF,GAAI,GAAY,iBAAiB,KAAM,WAAa,OAAQ,CAC1D,GAAS,OACT,GAAS,oBACT,OAGF,GAAS,OACT,GAAS,sBAGX,GAAa,GAAG,OAAQ,GAAqB,IAAM,CACjD,GAAM,IAAY,GAAe,KAAK,IAEtC,OAAW,MAAY,IACrB,GAAS,oBAAoB,MAQjC,GAAmB,ICncnB,GAAM,IAAO,WACP,GAAW,cACX,GAAa,IAAG,KAChB,GAAe,YAEf,GAAc,OAAM,KACpB,GAAe,QAAO,KACtB,GAAc,OAAM,KACpB,GAAgB,SAAQ,KACxB,GAAwB,QAAO,KAAY,KAE3C,GAAkB,OAClB,GAAsB,WACtB,GAAwB,aACxB,GAAuB,YACvB,GAA8B,WAAU,OAAwB,KAChE,GAAwB,sBAExB,GAAQ,QACR,GAAS,SAET,GAAmB,uCACnB,GAAuB,8BAEvB,GAAU,CACd,OAAQ,KACR,OAAQ,IAGJ,GAAc,CAClB,OAAQ,iBACR,OAAQ,WAOV,gBAAuB,GAAc,CACnC,YAAY,GAAS,GAAQ,CAC3B,MAAM,GAAS,IAEf,KAAK,iBAAmB,GACxB,KAAK,cAAgB,GAErB,GAAM,IAAa,GAAe,KAAK,IAEvC,OAAW,MAAQ,IAAY,CAC7B,GAAM,IAAW,GAAe,uBAAuB,IACjD,GAAgB,GAAe,KAAK,IACvC,OAAO,IAAgB,KAAiB,KAAK,UAEhD,AAAI,KAAa,MAAQ,GAAc,QACrC,KAAK,cAAc,KAAK,IAI5B,KAAK,sBAEA,KAAK,QAAQ,QAChB,KAAK,0BAA0B,KAAK,cAAe,KAAK,YAGtD,KAAK,QAAQ,QACf,KAAK,mBAKE,UAAU,CACnB,MAAO,cAGE,cAAc,CACvB,MAAO,cAGE,OAAO,CAChB,MAAO,IAIT,QAAS,CACP,AAAI,KAAK,WACP,KAAK,OAEL,KAAK,OAIT,MAAO,CACL,GAAI,KAAK,kBAAoB,KAAK,WAChC,OAGF,GAAI,IAAiB,GAcrB,GAXI,KAAK,QAAQ,QACf,IAAiB,KAAK,uBAAuB,IAC1C,OAAO,IAAW,KAAY,KAAK,UACnC,IAAI,IAAW,GAAS,oBAAoB,GAAS,CAAE,OAAQ,OAGhE,GAAe,QAAU,GAAe,GAAG,kBAK3C,AADe,GAAa,QAAQ,KAAK,SAAU,IACxC,iBACb,OAGF,OAAW,MAAkB,IAC3B,GAAe,OAGjB,GAAM,IAAY,KAAK,gBAEvB,KAAK,SAAS,UAAU,OAAO,IAC/B,KAAK,SAAS,UAAU,IAAI,IAE5B,KAAK,SAAS,MAAM,IAAa,EAEjC,KAAK,0BAA0B,KAAK,cAAe,IACnD,KAAK,iBAAmB,GAExB,GAAM,IAAW,IAAM,CACrB,KAAK,iBAAmB,GAExB,KAAK,SAAS,UAAU,OAAO,IAC/B,KAAK,SAAS,UAAU,IAAI,GAAqB,IAEjD,KAAK,SAAS,MAAM,IAAa,GAEjC,GAAa,QAAQ,KAAK,SAAU,KAIhC,GAAc,SADS,GAAU,GAAG,cAAgB,GAAU,MAAM,KAG1E,KAAK,eAAe,GAAU,KAAK,SAAU,IAC7C,KAAK,SAAS,MAAM,IAAc,GAAE,KAAK,SAAS,QAGpD,MAAO,CAML,GALI,KAAK,kBAAoB,CAAC,KAAK,YAK/B,AADe,GAAa,QAAQ,KAAK,SAAU,IACxC,iBACb,OAGF,GAAM,IAAY,KAAK,gBAEvB,KAAK,SAAS,MAAM,IAAc,GAAE,KAAK,SAAS,wBAAwB,QAE1E,GAAO,KAAK,UAEZ,KAAK,SAAS,UAAU,IAAI,IAC5B,KAAK,SAAS,UAAU,OAAO,GAAqB,IAEpD,OAAW,MAAW,MAAK,cAAe,CACxC,GAAM,IAAU,GAAe,uBAAuB,IAEtD,AAAI,IAAW,CAAC,KAAK,SAAS,KAC5B,KAAK,0BAA0B,CAAC,IAAU,IAI9C,KAAK,iBAAmB,GAExB,GAAM,IAAW,IAAM,CACrB,KAAK,iBAAmB,GACxB,KAAK,SAAS,UAAU,OAAO,IAC/B,KAAK,SAAS,UAAU,IAAI,IAC5B,GAAa,QAAQ,KAAK,SAAU,KAGtC,KAAK,SAAS,MAAM,IAAa,GAEjC,KAAK,eAAe,GAAU,KAAK,SAAU,IAG/C,SAAS,GAAU,KAAK,SAAU,CAChC,MAAO,IAAQ,UAAU,SAAS,IAIpC,kBAAkB,GAAQ,CACxB,UAAO,OAAS,QAAQ,GAAO,QAC/B,GAAO,OAAS,GAAW,GAAO,QAC3B,GAGT,eAAgB,CACd,MAAO,MAAK,SAAS,UAAU,SAAS,IAAyB,GAAQ,GAG3E,qBAAsB,CACpB,GAAI,CAAC,KAAK,QAAQ,OAChB,OAGF,GAAM,IAAW,KAAK,uBAAuB,IAE7C,OAAW,MAAW,IAAU,CAC9B,GAAM,IAAW,GAAe,uBAAuB,IAEvD,AAAI,IACF,KAAK,0BAA0B,CAAC,IAAU,KAAK,SAAS,MAK9D,uBAAuB,GAAU,CAC/B,GAAM,IAAW,GAAe,KAAK,GAA4B,KAAK,QAAQ,QAE9E,MAAO,IAAe,KAAK,GAAU,KAAK,QAAQ,QAAQ,OAAO,IAAW,CAAC,GAAS,SAAS,KAGjG,0BAA0B,GAAc,GAAQ,CAC9C,GAAI,EAAC,GAAa,OAIlB,OAAW,MAAW,IACpB,GAAQ,UAAU,OAAO,GAAsB,CAAC,IAChD,GAAQ,aAAa,gBAAiB,UAKnC,iBAAgB,GAAQ,CAC7B,GAAM,IAAU,GAChB,MAAI,OAAO,KAAW,UAAY,YAAY,KAAK,KACjD,IAAQ,OAAS,IAGZ,KAAK,KAAK,UAAY,CAC3B,GAAM,IAAO,GAAS,oBAAoB,KAAM,IAEhD,GAAI,MAAO,KAAW,SAAU,CAC9B,GAAI,MAAO,IAAK,KAAY,YAC1B,KAAM,IAAI,WAAW,oBAAmB,OAG1C,GAAK,WAUb,GAAa,GAAG,SAAU,GAAsB,GAAsB,SAAU,GAAO,CAErF,AAAI,IAAM,OAAO,UAAY,KAAQ,GAAM,gBAAkB,GAAM,eAAe,UAAY,MAC5F,GAAM,iBAGR,OAAW,MAAW,IAAe,gCAAgC,MACnE,GAAS,oBAAoB,GAAS,CAAE,OAAQ,KAAS,WAQ7D,GAAmB,IC1QnB,GAAM,IAAO,WACP,GAAW,cACX,GAAa,IAAG,KAChB,GAAe,YAEf,GAAa,SACb,GAAU,MACV,GAAe,UACf,GAAiB,YACjB,GAAqB,EAErB,GAAc,OAAM,KACpB,GAAgB,SAAQ,KACxB,GAAc,OAAM,KACpB,GAAe,QAAO,KACtB,GAAwB,QAAO,KAAY,KAC3C,GAA0B,UAAS,KAAY,KAC/C,GAAwB,QAAO,KAAY,KAE3C,GAAkB,OAClB,GAAoB,SACpB,GAAqB,UACrB,GAAuB,YACvB,GAA2B,gBAC3B,GAA6B,kBAE7B,GAAuB,4DACvB,GAA8B,GAAE,MAAwB,KACxD,GAAgB,iBAChB,GAAkB,UAClB,GAAsB,cACtB,GAAyB,8DAEzB,GAAgB,KAAU,UAAY,YACtC,GAAmB,KAAU,YAAc,UAC3C,GAAmB,KAAU,aAAe,eAC5C,GAAsB,KAAU,eAAiB,aACjD,GAAkB,KAAU,aAAe,cAC3C,GAAiB,KAAU,cAAgB,aAC3C,GAAsB,MACtB,GAAyB,SAEzB,GAAU,CACd,UAAW,GACX,SAAU,kBACV,QAAS,UACT,OAAQ,CAAC,EAAG,GACZ,aAAc,KACd,UAAW,UAGP,GAAc,CAClB,UAAW,mBACX,SAAU,mBACV,QAAS,SACT,OAAQ,0BACR,aAAc,yBACd,UAAW,2BAOb,gBAAuB,GAAc,CACnC,YAAY,GAAS,GAAQ,CAC3B,MAAM,GAAS,IAEf,KAAK,QAAU,KACf,KAAK,QAAU,KAAK,SAAS,WAE7B,KAAK,MAAQ,GAAe,KAAK,KAAK,SAAU,IAAe,IAC7D,GAAe,KAAK,KAAK,SAAU,IAAe,IAClD,GAAe,QAAQ,GAAe,KAAK,SAC7C,KAAK,UAAY,KAAK,0BAIb,UAAU,CACnB,MAAO,cAGE,cAAc,CACvB,MAAO,cAGE,OAAO,CAChB,MAAO,IAIT,QAAS,CACP,MAAO,MAAK,WAAa,KAAK,OAAS,KAAK,OAG9C,MAAO,CACL,GAAI,GAAW,KAAK,WAAa,KAAK,WACpC,OAGF,GAAM,IAAgB,CACpB,cAAe,KAAK,UAKtB,GAAI,CAFc,GAAa,QAAQ,KAAK,SAAU,GAAY,IAEpD,iBAUd,IANA,KAAK,gBAMD,gBAAkB,UAAS,iBAAmB,CAAC,KAAK,QAAQ,QAAQ,IACtE,OAAW,MAAW,GAAG,OAAO,GAAG,SAAS,KAAK,UAC/C,GAAa,GAAG,GAAS,YAAa,IAI1C,KAAK,SAAS,QACd,KAAK,SAAS,aAAa,gBAAiB,IAE5C,KAAK,MAAM,UAAU,IAAI,IACzB,KAAK,SAAS,UAAU,IAAI,IAC5B,GAAa,QAAQ,KAAK,SAAU,GAAa,KAGnD,MAAO,CACL,GAAI,GAAW,KAAK,WAAa,CAAC,KAAK,WACrC,OAGF,GAAM,IAAgB,CACpB,cAAe,KAAK,UAGtB,KAAK,cAAc,IAGrB,SAAU,CACR,AAAI,KAAK,SACP,KAAK,QAAQ,UAGf,MAAM,UAGR,QAAS,CACP,KAAK,UAAY,KAAK,gBAClB,KAAK,SACP,KAAK,QAAQ,SAKjB,cAAc,GAAe,CAE3B,GAAI,CADc,GAAa,QAAQ,KAAK,SAAU,GAAY,IACpD,iBAMd,IAAI,gBAAkB,UAAS,gBAC7B,OAAW,MAAW,GAAG,OAAO,GAAG,SAAS,KAAK,UAC/C,GAAa,IAAI,GAAS,YAAa,IAI3C,AAAI,KAAK,SACP,KAAK,QAAQ,UAGf,KAAK,MAAM,UAAU,OAAO,IAC5B,KAAK,SAAS,UAAU,OAAO,IAC/B,KAAK,SAAS,aAAa,gBAAiB,SAC5C,GAAY,oBAAoB,KAAK,MAAO,UAC5C,GAAa,QAAQ,KAAK,SAAU,GAAc,KAGpD,WAAW,GAAQ,CAGjB,GAFA,GAAS,MAAM,WAAW,IAEtB,MAAO,IAAO,WAAc,UAAY,CAAC,GAAU,GAAO,YAC5D,MAAO,IAAO,UAAU,uBAA0B,WAGlD,KAAM,IAAI,WAAW,GAAE,GAAK,+GAG9B,MAAO,IAGT,eAAgB,CACd,GAAI,MAAO,KAAW,YACpB,KAAM,IAAI,WAAU,gEAGtB,GAAI,IAAmB,KAAK,SAE5B,AAAI,KAAK,QAAQ,YAAc,SAC7B,GAAmB,KAAK,QACnB,AAAI,GAAU,KAAK,QAAQ,WAChC,GAAmB,GAAW,KAAK,QAAQ,WAClC,MAAO,MAAK,QAAQ,WAAc,UAC3C,IAAmB,KAAK,QAAQ,WAGlC,GAAM,IAAe,KAAK,mBAC1B,KAAK,QAAU,AAAO,GAAa,GAAkB,KAAK,MAAO,IAGnE,UAAW,CACT,MAAO,MAAK,MAAM,UAAU,SAAS,IAGvC,eAAgB,CACd,GAAM,IAAiB,KAAK,QAE5B,GAAI,GAAe,UAAU,SAAS,IACpC,MAAO,IAGT,GAAI,GAAe,UAAU,SAAS,IACpC,MAAO,IAGT,GAAI,GAAe,UAAU,SAAS,IACpC,MAAO,IAGT,GAAI,GAAe,UAAU,SAAS,IACpC,MAAO,IAIT,GAAM,IAAQ,iBAAiB,KAAK,OAAO,iBAAiB,iBAAiB,SAAW,MAExF,MAAI,IAAe,UAAU,SAAS,IAC7B,GAAQ,GAAmB,GAG7B,GAAQ,GAAsB,GAGvC,eAAgB,CACd,MAAO,MAAK,SAAS,QAAQ,MAAqB,KAGpD,YAAa,CACX,GAAM,CAAE,WAAW,KAAK,QAExB,MAAI,OAAO,KAAW,SACb,GAAO,MAAM,KAAK,IAAI,IAAS,OAAO,SAAS,GAAO,KAG3D,MAAO,KAAW,WACb,IAAc,GAAO,GAAY,KAAK,UAGxC,GAGT,kBAAmB,CACjB,GAAM,IAAwB,CAC5B,UAAW,KAAK,gBAChB,UAAW,CAAC,CACV,KAAM,kBACN,QAAS,CACP,SAAU,KAAK,QAAQ,WAG3B,CACE,KAAM,SACN,QAAS,CACP,OAAQ,KAAK,iBAMnB,MAAI,MAAK,WAAa,KAAK,QAAQ,UAAY,WAC7C,IAAY,iBAAiB,KAAK,MAAO,SAAU,UACnD,GAAsB,UAAY,CAAC,CACjC,KAAM,cACN,QAAS,MAIN,SACF,IACA,GAAQ,KAAK,QAAQ,aAAc,CAAC,MAI3C,gBAAgB,CAAE,OAAK,WAAU,CAC/B,GAAM,IAAQ,GAAe,KAAK,GAAwB,KAAK,OAAO,OAAO,IAAW,GAAU,KAElG,AAAI,CAAC,GAAM,QAMX,GAAqB,GAAO,GAAQ,KAAQ,GAAgB,CAAC,GAAM,SAAS,KAAS,cAIhF,iBAAgB,GAAQ,CAC7B,MAAO,MAAK,KAAK,UAAY,CAC3B,GAAM,IAAO,GAAS,oBAAoB,KAAM,IAEhD,GAAI,MAAO,KAAW,SAItB,IAAI,MAAO,IAAK,KAAY,YAC1B,KAAM,IAAI,WAAW,oBAAmB,OAG1C,GAAK,eAIF,YAAW,GAAO,CACvB,GAAI,GAAM,SAAW,IAAuB,GAAM,OAAS,SAAW,GAAM,MAAQ,GAClF,OAGF,GAAM,IAAc,GAAe,KAAK,IAExC,OAAW,MAAU,IAAa,CAChC,GAAM,IAAU,GAAS,YAAY,IACrC,GAAI,CAAC,IAAW,GAAQ,QAAQ,YAAc,GAC5C,SAGF,GAAM,IAAe,GAAM,eACrB,GAAe,GAAa,SAAS,GAAQ,OAUnD,GARE,GAAa,SAAS,GAAQ,WAC7B,GAAQ,QAAQ,YAAc,UAAY,CAAC,IAC3C,GAAQ,QAAQ,YAAc,WAAa,IAM1C,GAAQ,MAAM,SAAS,GAAM,SAAa,IAAM,OAAS,SAAW,GAAM,MAAQ,IAAY,qCAAqC,KAAK,GAAM,OAAO,UACvJ,SAGF,GAAM,IAAgB,CAAE,cAAe,GAAQ,UAE/C,AAAI,GAAM,OAAS,SACjB,IAAc,WAAa,IAG7B,GAAQ,cAAc,WAInB,uBAAsB,GAAO,CAIlC,GAAM,IAAU,kBAAkB,KAAK,GAAM,OAAO,SAC9C,GAAgB,GAAM,MAAQ,GAC9B,GAAkB,CAAC,GAAc,IAAgB,SAAS,GAAM,KAMtE,GAJI,CAAC,IAAmB,CAAC,IAIrB,IAAW,CAAC,GACd,OAGF,GAAM,iBAGN,GAAM,IAAkB,KAAK,QAAQ,IACnC,KACC,GAAe,KAAK,KAAM,IAAsB,IAC/C,GAAe,KAAK,KAAM,IAAsB,IAChD,GAAe,QAAQ,GAAsB,GAAM,eAAe,YAEhE,GAAW,GAAS,oBAAoB,IAE9C,GAAI,GAAiB,CACnB,GAAM,kBACN,GAAS,OACT,GAAS,gBAAgB,IACzB,OAGF,AAAI,GAAS,YACX,IAAM,kBACN,GAAS,OACT,GAAgB,WAStB,GAAa,GAAG,SAAU,GAAwB,GAAsB,GAAS,uBACjF,GAAa,GAAG,SAAU,GAAwB,GAAe,GAAS,uBAC1E,GAAa,GAAG,SAAU,GAAsB,GAAS,YACzD,GAAa,GAAG,SAAU,GAAsB,GAAS,YACzD,GAAa,GAAG,SAAU,GAAsB,GAAsB,SAAU,GAAO,CACrF,GAAM,iBACN,GAAS,oBAAoB,MAAM,WAOrC,GAAmB,ICnbnB,GAAM,IAAO,WACP,GAAkB,OAClB,GAAkB,OAClB,GAAmB,gBAAe,KAElC,GAAU,CACd,UAAW,iBACX,cAAe,KACf,WAAY,GACZ,UAAW,GACX,YAAa,QAGT,GAAc,CAClB,UAAW,SACX,cAAe,kBACf,WAAY,UACZ,UAAW,UACX,YAAa,oBAOf,gBAAuB,GAAO,CAC5B,YAAY,GAAQ,CAClB,QACA,KAAK,QAAU,KAAK,WAAW,IAC/B,KAAK,YAAc,GACnB,KAAK,SAAW,eAIP,UAAU,CACnB,MAAO,cAGE,cAAc,CACvB,MAAO,cAGE,OAAO,CAChB,MAAO,IAIT,KAAK,GAAU,CACb,GAAI,CAAC,KAAK,QAAQ,UAAW,CAC3B,GAAQ,IACR,OAGF,KAAK,UAEL,GAAM,IAAU,KAAK,cACrB,AAAI,KAAK,QAAQ,YACf,GAAO,IAGT,GAAQ,UAAU,IAAI,IAEtB,KAAK,kBAAkB,IAAM,CAC3B,GAAQ,MAIZ,KAAK,GAAU,CACb,GAAI,CAAC,KAAK,QAAQ,UAAW,CAC3B,GAAQ,IACR,OAGF,KAAK,cAAc,UAAU,OAAO,IAEpC,KAAK,kBAAkB,IAAM,CAC3B,KAAK,UACL,GAAQ,MAIZ,SAAU,CACR,AAAI,CAAC,KAAK,aAIV,IAAa,IAAI,KAAK,SAAU,IAEhC,KAAK,SAAS,SACd,KAAK,YAAc,IAIrB,aAAc,CACZ,GAAI,CAAC,KAAK,SAAU,CAClB,GAAM,IAAW,SAAS,cAAc,OACxC,GAAS,UAAY,KAAK,QAAQ,UAC9B,KAAK,QAAQ,YACf,GAAS,UAAU,IAAI,IAGzB,KAAK,SAAW,GAGlB,MAAO,MAAK,SAGd,kBAAkB,GAAQ,CAExB,UAAO,YAAc,GAAW,GAAO,aAChC,GAGT,SAAU,CACR,GAAI,KAAK,YACP,OAGF,GAAM,IAAU,KAAK,cACrB,KAAK,QAAQ,YAAY,OAAO,IAEhC,GAAa,GAAG,GAAS,GAAiB,IAAM,CAC9C,GAAQ,KAAK,QAAQ,iBAGvB,KAAK,YAAc,GAGrB,kBAAkB,GAAU,CAC1B,GAAuB,GAAU,KAAK,cAAe,KAAK,QAAQ,cCnIhE,GAAO,YACP,GAAW,eACX,GAAa,IAAG,KAChB,GAAiB,UAAS,KAC1B,GAAqB,cAAa,KAElC,GAAU,MACV,GAAkB,UAClB,GAAmB,WAEnB,GAAU,CACd,UAAW,GACX,YAAa,MAGT,GAAc,CAClB,UAAW,UACX,YAAa,WAOf,gBAAwB,GAAO,CAC7B,YAAY,GAAQ,CAClB,QACA,KAAK,QAAU,KAAK,WAAW,IAC/B,KAAK,UAAY,GACjB,KAAK,qBAAuB,eAInB,UAAU,CACnB,MAAO,cAGE,cAAc,CACvB,MAAO,cAGE,OAAO,CAChB,MAAO,IAIT,UAAW,CACT,AAAI,KAAK,WAIL,MAAK,QAAQ,WACf,KAAK,QAAQ,YAAY,QAG3B,GAAa,IAAI,SAAU,IAC3B,GAAa,GAAG,SAAU,GAAe,IAAS,KAAK,eAAe,KACtE,GAAa,GAAG,SAAU,GAAmB,IAAS,KAAK,eAAe,KAE1E,KAAK,UAAY,IAGnB,YAAa,CACX,AAAI,CAAC,KAAK,WAIV,MAAK,UAAY,GACjB,GAAa,IAAI,SAAU,KAI7B,eAAe,GAAO,CACpB,GAAM,CAAE,gBAAgB,KAAK,QAE7B,GAAI,GAAM,SAAW,UAAY,GAAM,SAAW,IAAe,GAAY,SAAS,GAAM,QAC1F,OAGF,GAAM,IAAW,GAAe,kBAAkB,IAElD,AAAI,GAAS,SAAW,EACtB,GAAY,QACP,AAAI,KAAK,uBAAyB,GACvC,GAAS,GAAS,OAAS,GAAG,QAE9B,GAAS,GAAG,QAIhB,eAAe,GAAO,CACpB,AAAI,GAAM,MAAQ,IAIlB,MAAK,qBAAuB,GAAM,SAAW,GAAmB,MC/F9D,GAAyB,oDACzB,GAA0B,cAC1B,GAAmB,gBACnB,GAAkB,eAMxB,QAAsB,CACpB,aAAc,CACZ,KAAK,SAAW,SAAS,KAI3B,UAAW,CAET,GAAM,IAAgB,SAAS,gBAAgB,YAC/C,MAAO,MAAK,IAAI,OAAO,WAAa,IAGtC,MAAO,CACL,GAAM,IAAQ,KAAK,WACnB,KAAK,mBAEL,KAAK,sBAAsB,KAAK,SAAU,GAAkB,IAAmB,GAAkB,IAEjG,KAAK,sBAAsB,GAAwB,GAAkB,IAAmB,GAAkB,IAC1G,KAAK,sBAAsB,GAAyB,GAAiB,IAAmB,GAAkB,IAG5G,OAAQ,CACN,KAAK,wBAAwB,KAAK,SAAU,YAC5C,KAAK,wBAAwB,KAAK,SAAU,IAC5C,KAAK,wBAAwB,GAAwB,IACrD,KAAK,wBAAwB,GAAyB,IAGxD,eAAgB,CACd,MAAO,MAAK,WAAa,EAI3B,kBAAmB,CACjB,KAAK,sBAAsB,KAAK,SAAU,YAC1C,KAAK,SAAS,MAAM,SAAW,SAGjC,sBAAsB,GAAU,GAAe,GAAU,CACvD,GAAM,IAAiB,KAAK,WACtB,GAAuB,IAAW,CACtC,GAAI,KAAY,KAAK,UAAY,OAAO,WAAa,GAAQ,YAAc,GACzE,OAGF,KAAK,sBAAsB,GAAS,IACpC,GAAM,IAAkB,OAAO,iBAAiB,IAAS,iBAAiB,IAC1E,GAAQ,MAAM,YAAY,GAAgB,GAAE,GAAS,OAAO,WAAW,WAGzE,KAAK,2BAA2B,GAAU,IAG5C,sBAAsB,GAAS,GAAe,CAC5C,GAAM,IAAc,GAAQ,MAAM,iBAAiB,IACnD,AAAI,IACF,GAAY,iBAAiB,GAAS,GAAe,IAIzD,wBAAwB,GAAU,GAAe,CAC/C,GAAM,IAAuB,IAAW,CACtC,GAAM,IAAQ,GAAY,iBAAiB,GAAS,IAEpD,GAAI,KAAU,KAAM,CAClB,GAAQ,MAAM,eAAe,IAC7B,OAGF,GAAY,oBAAoB,GAAS,IACzC,GAAQ,MAAM,YAAY,GAAe,KAG3C,KAAK,2BAA2B,GAAU,IAG5C,2BAA2B,GAAU,GAAU,CAC7C,GAAI,GAAU,IAAW,CACvB,GAAS,IACT,OAGF,OAAW,MAAO,IAAe,KAAK,GAAU,KAAK,UACnD,GAAS,MCtFT,GAAO,QACP,GAAW,WACX,GAAa,IAAG,KAChB,GAAe,YACf,GAAa,SAEb,GAAc,OAAM,KACpB,GAAwB,gBAAe,KACvC,GAAgB,SAAQ,KACxB,GAAc,OAAM,KACpB,GAAe,QAAO,KACtB,GAAgB,SAAQ,KACxB,GAAuB,gBAAe,KACtC,GAA2B,oBAAmB,KAC9C,GAAyB,kBAAiB,KAC1C,GAAwB,QAAO,KAAY,KAE3C,GAAkB,aAClB,GAAkB,OAClB,GAAkB,OAClB,GAAoB,eAEpB,GAAgB,cAChB,GAAkB,gBAClB,GAAsB,cACtB,GAAuB,2BAEvB,GAAU,CACd,SAAU,GACV,MAAO,GACP,SAAU,IAGN,GAAc,CAClB,SAAU,mBACV,MAAO,UACP,SAAU,WAOZ,gBAAoB,GAAc,CAChC,YAAY,GAAS,GAAQ,CAC3B,MAAM,GAAS,IAEf,KAAK,QAAU,GAAe,QAAQ,GAAiB,KAAK,UAC5D,KAAK,UAAY,KAAK,sBACtB,KAAK,WAAa,KAAK,uBACvB,KAAK,SAAW,GAChB,KAAK,iBAAmB,GACxB,KAAK,WAAa,GAAI,IAEtB,KAAK,+BAII,UAAU,CACnB,MAAO,cAGE,cAAc,CACvB,MAAO,cAGE,OAAO,CAChB,MAAO,IAIT,OAAO,GAAe,CACpB,MAAO,MAAK,SAAW,KAAK,OAAS,KAAK,KAAK,IAGjD,KAAK,GAAe,CASlB,AARI,KAAK,UAAY,KAAK,kBAQtB,AAJc,GAAa,QAAQ,KAAK,SAAU,GAAY,CAChE,mBAGY,kBAId,MAAK,SAAW,GAChB,KAAK,iBAAmB,GAExB,KAAK,WAAW,OAEhB,SAAS,KAAK,UAAU,IAAI,IAE5B,KAAK,gBAEL,KAAK,UAAU,KAAK,IAAM,KAAK,aAAa,MAG9C,MAAO,CAOL,AANI,CAAC,KAAK,UAAY,KAAK,kBAMvB,AAFc,GAAa,QAAQ,KAAK,SAAU,IAExC,kBAId,MAAK,SAAW,GAChB,KAAK,iBAAmB,GACxB,KAAK,WAAW,aAEhB,KAAK,SAAS,UAAU,OAAO,IAE/B,KAAK,eAAe,IAAM,KAAK,aAAc,KAAK,SAAU,KAAK,gBAGnE,SAAU,CACR,GAAa,IAAI,OAAQ,IACzB,GAAa,IAAI,KAAK,QAAS,IAE/B,KAAK,UAAU,UACf,KAAK,WAAW,aAEhB,MAAM,UAGR,cAAe,CACb,KAAK,gBAIP,qBAAsB,CACpB,MAAO,IAAI,IAAS,CAClB,UAAW,QAAQ,KAAK,QAAQ,UAChC,WAAY,KAAK,gBAIrB,sBAAuB,CACrB,MAAO,IAAI,IAAU,CACnB,YAAa,KAAK,WAItB,aAAa,GAAe,CAE1B,AAAK,SAAS,KAAK,SAAS,KAAK,WAC/B,SAAS,KAAK,OAAO,KAAK,UAG5B,KAAK,SAAS,MAAM,QAAU,QAC9B,KAAK,SAAS,gBAAgB,eAC9B,KAAK,SAAS,aAAa,aAAc,IACzC,KAAK,SAAS,aAAa,OAAQ,UACnC,KAAK,SAAS,UAAY,EAE1B,GAAM,IAAY,GAAe,QAAQ,GAAqB,KAAK,SACnE,AAAI,IACF,IAAU,UAAY,GAGxB,GAAO,KAAK,UAEZ,KAAK,SAAS,UAAU,IAAI,IAE5B,GAAM,IAAqB,IAAM,CAC/B,AAAI,KAAK,QAAQ,OACf,KAAK,WAAW,WAGlB,KAAK,iBAAmB,GACxB,GAAa,QAAQ,KAAK,SAAU,GAAa,CAC/C,oBAIJ,KAAK,eAAe,GAAoB,KAAK,QAAS,KAAK,eAG7D,oBAAqB,CACnB,GAAa,GAAG,KAAK,SAAU,GAAuB,IAAS,CAC7D,GAAI,GAAM,MAAQ,GAIlB,IAAI,KAAK,QAAQ,SAAU,CACzB,KAAK,OACL,OAGF,KAAK,gCAGP,GAAa,GAAG,OAAQ,GAAc,IAAM,CAC1C,AAAI,KAAK,UAAY,CAAC,KAAK,kBACzB,KAAK,kBAIT,GAAa,GAAG,KAAK,SAAU,GAAyB,IAAS,CAE/D,GAAa,IAAI,KAAK,SAAU,GAAqB,IAAU,CAC7D,GAAI,OAAK,WAAa,GAAM,QAAU,KAAK,WAAa,GAAO,QAI/D,IAAI,KAAK,QAAQ,WAAa,SAAU,CACtC,KAAK,6BACL,OAGF,AAAI,KAAK,QAAQ,UACf,KAAK,YAMb,YAAa,CACX,KAAK,SAAS,MAAM,QAAU,OAC9B,KAAK,SAAS,aAAa,cAAe,IAC1C,KAAK,SAAS,gBAAgB,cAC9B,KAAK,SAAS,gBAAgB,QAC9B,KAAK,iBAAmB,GAExB,KAAK,UAAU,KAAK,IAAM,CACxB,SAAS,KAAK,UAAU,OAAO,IAC/B,KAAK,oBACL,KAAK,WAAW,QAChB,GAAa,QAAQ,KAAK,SAAU,MAIxC,aAAc,CACZ,MAAO,MAAK,SAAS,UAAU,SAAS,IAG1C,4BAA6B,CAE3B,GAAI,AADc,GAAa,QAAQ,KAAK,SAAU,IACxC,iBACZ,OAGF,GAAM,IAAqB,KAAK,SAAS,aAAe,SAAS,gBAAgB,aAC3E,GAAmB,KAAK,SAAS,MAAM,UAE7C,AAAI,KAAqB,UAAY,KAAK,SAAS,UAAU,SAAS,KAIjE,KACH,MAAK,SAAS,MAAM,UAAY,UAGlC,KAAK,SAAS,UAAU,IAAI,IAC5B,KAAK,eAAe,IAAM,CACxB,KAAK,SAAS,UAAU,OAAO,IAC/B,KAAK,eAAe,IAAM,CACxB,KAAK,SAAS,MAAM,UAAY,IAC/B,KAAK,UACP,KAAK,SAER,KAAK,SAAS,SAOhB,eAAgB,CACd,GAAM,IAAqB,KAAK,SAAS,aAAe,SAAS,gBAAgB,aAC3E,GAAiB,KAAK,WAAW,WACjC,GAAoB,GAAiB,EAE3C,GAAI,IAAqB,CAAC,GAAoB,CAC5C,GAAM,IAAW,KAAU,cAAgB,eAC3C,KAAK,SAAS,MAAM,IAAa,GAAE,OAGrC,GAAI,CAAC,IAAqB,GAAoB,CAC5C,GAAM,IAAW,KAAU,eAAiB,cAC5C,KAAK,SAAS,MAAM,IAAa,GAAE,QAIvC,mBAAoB,CAClB,KAAK,SAAS,MAAM,YAAc,GAClC,KAAK,SAAS,MAAM,aAAe,SAI9B,iBAAgB,GAAQ,GAAe,CAC5C,MAAO,MAAK,KAAK,UAAY,CAC3B,GAAM,IAAO,GAAM,oBAAoB,KAAM,IAE7C,GAAI,MAAO,KAAW,SAItB,IAAI,MAAO,IAAK,KAAY,YAC1B,KAAM,IAAI,WAAW,oBAAmB,OAG1C,GAAK,IAAQ,SASnB,GAAa,GAAG,SAAU,GAAsB,GAAsB,SAAU,GAAO,CACrF,GAAM,IAAS,GAAe,uBAAuB,MAErD,AAAI,CAAC,IAAK,QAAQ,SAAS,KAAK,UAC9B,GAAM,iBAGR,GAAa,IAAI,GAAQ,GAAY,IAAa,CAChD,AAAI,GAAU,kBAKd,GAAa,IAAI,GAAQ,GAAc,IAAM,CAC3C,AAAI,GAAU,OACZ,KAAK,YAMX,GAAM,IAAc,GAAe,QAAQ,IAC3C,AAAI,IACF,GAAM,YAAY,IAAa,OAKjC,AAFa,GAAM,oBAAoB,IAElC,OAAO,QAGd,GAAqB,IAMrB,GAAmB,IC/VnB,GAAM,IAAO,YACP,GAAW,eACX,GAAa,IAAG,KAChB,GAAe,YACf,GAAuB,OAAM,KAAY,KACzC,GAAa,SAEb,GAAkB,OAClB,GAAqB,UACrB,GAAoB,SACpB,GAAsB,qBACtB,GAAgB,kBAEhB,GAAc,OAAM,KACpB,GAAe,QAAO,KACtB,GAAc,OAAM,KACpB,GAAwB,gBAAe,KACvC,GAAgB,SAAQ,KACxB,GAAgB,SAAQ,KACxB,GAAwB,QAAO,KAAY,KAC3C,GAAyB,kBAAiB,KAE1C,GAAuB,+BAEvB,GAAU,CACd,SAAU,GACV,SAAU,GACV,OAAQ,IAGJ,GAAc,CAClB,SAAU,mBACV,SAAU,UACV,OAAQ,WAOV,gBAAwB,GAAc,CACpC,YAAY,GAAS,GAAQ,CAC3B,MAAM,GAAS,IAEf,KAAK,SAAW,GAChB,KAAK,UAAY,KAAK,sBACtB,KAAK,WAAa,KAAK,uBACvB,KAAK,+BAII,UAAU,CACnB,MAAO,cAGE,cAAc,CACvB,MAAO,cAGE,OAAO,CAChB,MAAO,IAIT,OAAO,GAAe,CACpB,MAAO,MAAK,SAAW,KAAK,OAAS,KAAK,KAAK,IAGjD,KAAK,GAAe,CAOlB,GANI,KAAK,UAML,AAFc,GAAa,QAAQ,KAAK,SAAU,GAAY,CAAE,mBAEtD,iBACZ,OAGF,KAAK,SAAW,GAChB,KAAK,UAAU,OAEV,KAAK,QAAQ,QAChB,GAAI,MAAkB,OAGxB,KAAK,SAAS,aAAa,aAAc,IACzC,KAAK,SAAS,aAAa,OAAQ,UACnC,KAAK,SAAS,UAAU,IAAI,IAE5B,GAAM,IAAmB,IAAM,CAC7B,AAAI,EAAC,KAAK,QAAQ,QAAU,KAAK,QAAQ,WACvC,KAAK,WAAW,WAGlB,KAAK,SAAS,UAAU,IAAI,IAC5B,KAAK,SAAS,UAAU,OAAO,IAC/B,GAAa,QAAQ,KAAK,SAAU,GAAa,CAAE,oBAGrD,KAAK,eAAe,GAAkB,KAAK,SAAU,IAGvD,MAAO,CAOL,GANI,CAAC,KAAK,UAMN,AAFc,GAAa,QAAQ,KAAK,SAAU,IAExC,iBACZ,OAGF,KAAK,WAAW,aAChB,KAAK,SAAS,OACd,KAAK,SAAW,GAChB,KAAK,SAAS,UAAU,IAAI,IAC5B,KAAK,UAAU,OAEf,GAAM,IAAmB,IAAM,CAC7B,KAAK,SAAS,UAAU,OAAO,GAAiB,IAChD,KAAK,SAAS,gBAAgB,cAC9B,KAAK,SAAS,gBAAgB,QAEzB,KAAK,QAAQ,QAChB,GAAI,MAAkB,QAGxB,GAAa,QAAQ,KAAK,SAAU,KAGtC,KAAK,eAAe,GAAkB,KAAK,SAAU,IAGvD,SAAU,CACR,KAAK,UAAU,UACf,KAAK,WAAW,aAChB,MAAM,UAIR,qBAAsB,CACpB,GAAM,IAAgB,IAAM,CAC1B,GAAI,KAAK,QAAQ,WAAa,SAAU,CACtC,GAAa,QAAQ,KAAK,SAAU,IACpC,OAGF,KAAK,QAID,GAAY,QAAQ,KAAK,QAAQ,UAEvC,MAAO,IAAI,IAAS,CAClB,UAAW,GACX,aACA,WAAY,GACZ,YAAa,KAAK,SAAS,WAC3B,cAAe,GAAY,GAAgB,OAI/C,sBAAuB,CACrB,MAAO,IAAI,IAAU,CACnB,YAAa,KAAK,WAItB,oBAAqB,CACnB,GAAa,GAAG,KAAK,SAAU,GAAuB,IAAS,CAC7D,GAAI,GAAM,MAAQ,GAIlB,IAAI,KAAK,QAAQ,SAAU,CACzB,KAAK,OACL,OAGF,GAAa,QAAQ,KAAK,SAAU,aAKjC,iBAAgB,GAAQ,CAC7B,MAAO,MAAK,KAAK,UAAY,CAC3B,GAAM,IAAO,GAAU,oBAAoB,KAAM,IAEjD,GAAI,MAAO,KAAW,SAItB,IAAI,GAAK,MAAY,QAAa,GAAO,WAAW,MAAQ,KAAW,cACrE,KAAM,IAAI,WAAW,oBAAmB,OAG1C,GAAK,IAAQ,WASnB,GAAa,GAAG,SAAU,GAAsB,GAAsB,SAAU,GAAO,CACrF,GAAM,IAAS,GAAe,uBAAuB,MAMrD,GAJI,CAAC,IAAK,QAAQ,SAAS,KAAK,UAC9B,GAAM,iBAGJ,GAAW,MACb,OAGF,GAAa,IAAI,GAAQ,GAAc,IAAM,CAE3C,AAAI,GAAU,OACZ,KAAK,UAKT,GAAM,IAAc,GAAe,QAAQ,IAC3C,AAAI,IAAe,KAAgB,IACjC,GAAU,YAAY,IAAa,OAIrC,AADa,GAAU,oBAAoB,IACtC,OAAO,QAGd,GAAa,GAAG,OAAQ,GAAqB,IAAM,CACjD,OAAW,MAAY,IAAe,KAAK,IACzC,GAAU,oBAAoB,IAAU,SAI5C,GAAa,GAAG,OAAQ,GAAc,IAAM,CAC1C,OAAW,MAAW,IAAe,KAAK,gDACxC,AAAI,iBAAiB,IAAS,WAAa,SACzC,GAAU,oBAAoB,IAAS,SAK7C,GAAqB,IAMrB,GAAmB,IC/QnB,GAAM,IAAyB,iBAElB,GAAmB,CAE9B,IAAK,CAAC,QAAS,MAAO,KAAM,OAAQ,OAAQ,IAC5C,EAAG,CAAC,SAAU,OAAQ,QAAS,OAC/B,KAAM,GACN,EAAG,GACH,GAAI,GACJ,IAAK,GACL,KAAM,GACN,GAAI,GACJ,IAAK,GACL,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,GAAI,GACJ,EAAG,GACH,IAAK,CAAC,MAAO,SAAU,MAAO,QAAS,QAAS,UAChD,GAAI,GACJ,GAAI,GACJ,EAAG,GACH,IAAK,GACL,EAAG,GACH,MAAO,GACP,KAAM,GACN,IAAK,GACL,IAAK,GACL,OAAQ,GACR,EAAG,GACH,GAAI,IAIA,GAAgB,GAAI,KAAI,CAC5B,aACA,OACA,OACA,WACA,WACA,SACA,MACA,eAUI,GAAmB,0DAEnB,GAAmB,CAAC,GAAW,KAAyB,CAC5D,GAAM,IAAgB,GAAU,SAAS,cAEzC,MAAI,IAAqB,SAAS,IAC5B,GAAc,IAAI,IACb,QAAQ,GAAiB,KAAK,GAAU,YAG1C,GAIF,GAAqB,OAAO,IAAkB,aAA0B,SAC5E,KAAK,IAAS,GAAM,KAAK,MAGvB,YAAsB,GAAY,GAAW,GAAkB,CACpE,GAAI,CAAC,GAAW,OACd,MAAO,IAGT,GAAI,IAAoB,MAAO,KAAqB,WAClD,MAAO,IAAiB,IAI1B,GAAM,IAAkB,AADN,GAAI,QAAO,YACK,gBAAgB,GAAY,aACxD,GAAW,GAAG,OAAO,GAAG,GAAgB,KAAK,iBAAiB,MAEpE,OAAW,MAAW,IAAU,CAC9B,GAAM,IAAc,GAAQ,SAAS,cAErC,GAAI,CAAC,OAAO,KAAK,IAAW,SAAS,IAAc,CACjD,GAAQ,SACR,SAGF,GAAM,IAAgB,GAAG,OAAO,GAAG,GAAQ,YACrC,GAAoB,GAAG,OAAO,GAAU,MAAQ,GAAI,GAAU,KAAgB,IAEpF,OAAW,MAAa,IACtB,AAAK,GAAiB,GAAW,KAC/B,GAAQ,gBAAgB,GAAU,UAKxC,MAAO,IAAgB,KAAK,UCnG9B,GAAM,IAAO,kBAEP,GAAU,CACd,UAAW,GACX,QAAS,GACT,WAAY,GACZ,KAAM,GACN,SAAU,GACV,WAAY,KACZ,SAAU,eAGN,GAAc,CAClB,UAAW,SACX,QAAS,SACT,WAAY,oBACZ,KAAM,UACN,SAAU,UACV,WAAY,kBACZ,SAAU,UAGN,GAAqB,CACzB,MAAO,iCACP,SAAU,oBAOZ,gBAA8B,GAAO,CACnC,YAAY,GAAQ,CAClB,QACA,KAAK,QAAU,KAAK,WAAW,cAItB,UAAU,CACnB,MAAO,cAGE,cAAc,CACvB,MAAO,cAGE,OAAO,CAChB,MAAO,IAIT,YAAa,CACX,MAAO,QAAO,OAAO,KAAK,QAAQ,SAC/B,IAAI,IAAU,KAAK,yBAAyB,KAC5C,OAAO,SAGZ,YAAa,CACX,MAAO,MAAK,aAAa,OAAS,EAGpC,cAAc,GAAS,CACrB,YAAK,cAAc,IACnB,KAAK,QAAQ,QAAU,SAAK,KAAK,QAAQ,SAAY,IAC9C,KAGT,QAAS,CACP,GAAM,IAAkB,SAAS,cAAc,OAC/C,GAAgB,UAAY,KAAK,eAAe,KAAK,QAAQ,UAE7D,OAAW,CAAC,GAAU,KAAS,QAAO,QAAQ,KAAK,QAAQ,SACzD,KAAK,YAAY,GAAiB,GAAM,IAG1C,GAAM,IAAW,GAAgB,SAAS,GACpC,GAAa,KAAK,yBAAyB,KAAK,QAAQ,YAE9D,MAAI,KACF,GAAS,UAAU,IAAI,GAAG,GAAW,MAAM,MAGtC,GAIT,iBAAiB,GAAQ,CACvB,MAAM,iBAAiB,IACvB,KAAK,cAAc,GAAO,SAG5B,cAAc,GAAK,CACjB,OAAW,CAAC,GAAU,KAAY,QAAO,QAAQ,IAC/C,MAAM,iBAAiB,CAAE,YAAU,MAAO,IAAW,IAIzD,YAAY,GAAU,GAAS,GAAU,CACvC,GAAM,IAAkB,GAAe,QAAQ,GAAU,IAEzD,GAAI,EAAC,GAML,IAFA,GAAU,KAAK,yBAAyB,IAEpC,CAAC,GAAS,CACZ,GAAgB,SAChB,OAGF,GAAI,GAAU,IAAU,CACtB,KAAK,sBAAsB,GAAW,IAAU,IAChD,OAGF,GAAI,KAAK,QAAQ,KAAM,CACrB,GAAgB,UAAY,KAAK,eAAe,IAChD,OAGF,GAAgB,YAAc,IAGhC,eAAe,GAAK,CAClB,MAAO,MAAK,QAAQ,SAAW,GAAa,GAAK,KAAK,QAAQ,UAAW,KAAK,QAAQ,YAAc,GAGtG,yBAAyB,GAAK,CAC5B,MAAO,IAAQ,GAAK,CAAC,OAGvB,sBAAsB,GAAS,GAAiB,CAC9C,GAAI,KAAK,QAAQ,KAAM,CACrB,GAAgB,UAAY,GAC5B,GAAgB,OAAO,IACvB,OAGF,GAAgB,YAAc,GAAQ,cCtIpC,GAAO,UACP,GAAwB,GAAI,KAAI,CAAC,WAAY,YAAa,eAE1D,GAAkB,OAClB,GAAmB,QACnB,GAAkB,OAElB,GAAyB,iBACzB,GAAkB,IAAG,KAErB,GAAmB,gBAEnB,GAAgB,QAChB,GAAgB,QAChB,GAAgB,QAChB,GAAiB,SAEjB,GAAa,OACb,GAAe,SACf,GAAa,OACb,GAAc,QACd,GAAiB,WACjB,GAAc,QACd,GAAgB,UAChB,GAAiB,WACjB,GAAmB,aACnB,GAAmB,aAEnB,GAAgB,CACpB,KAAM,OACN,IAAK,MACL,MAAO,KAAU,OAAS,QAC1B,OAAQ,SACR,KAAM,KAAU,QAAU,QAGtB,GAAU,CACd,UAAW,GACX,UAAW,GACX,SAAU,kBACV,UAAW,GACX,YAAa,GACb,MAAO,EACP,mBAAoB,CAAC,MAAO,QAAS,SAAU,QAC/C,KAAM,GACN,OAAQ,CAAC,EAAG,GACZ,UAAW,MACX,aAAc,KACd,SAAU,GACV,WAAY,KACZ,SAAU,GACV,SAAU,+GAIV,MAAO,GACP,QAAS,eAGL,GAAc,CAClB,UAAW,SACX,UAAW,UACX,SAAU,mBACV,UAAW,2BACX,YAAa,oBACb,MAAO,kBACP,mBAAoB,QACpB,KAAM,UACN,OAAQ,0BACR,UAAW,oBACX,aAAc,yBACd,SAAU,UACV,WAAY,kBACZ,SAAU,mBACV,SAAU,SACV,MAAO,4BACP,QAAS,UAOX,gBAAsB,GAAc,CAClC,YAAY,GAAS,GAAQ,CAC3B,GAAI,MAAO,KAAW,YACpB,KAAM,IAAI,WAAU,+DAGtB,MAAM,GAAS,IAGf,KAAK,WAAa,GAClB,KAAK,SAAW,EAChB,KAAK,WAAa,KAClB,KAAK,eAAiB,GACtB,KAAK,QAAU,KACf,KAAK,iBAAmB,KACxB,KAAK,YAAc,KAGnB,KAAK,IAAM,KAEX,KAAK,gBAEA,KAAK,QAAQ,UAChB,KAAK,sBAKE,UAAU,CACnB,MAAO,cAGE,cAAc,CACvB,MAAO,cAGE,OAAO,CAChB,MAAO,IAIT,QAAS,CACP,KAAK,WAAa,GAGpB,SAAU,CACR,KAAK,WAAa,GAGpB,eAAgB,CACd,KAAK,WAAa,CAAC,KAAK,WAG1B,QAAS,CACP,GAAI,EAAC,KAAK,WAKV,IADA,KAAK,eAAe,MAAQ,CAAC,KAAK,eAAe,MAC7C,KAAK,WAAY,CACnB,KAAK,SACL,OAGF,KAAK,UAGP,SAAU,CACR,aAAa,KAAK,UAElB,GAAa,IAAI,KAAK,SAAS,QAAQ,IAAiB,GAAkB,KAAK,mBAE3E,KAAK,SAAS,aAAa,2BAC7B,KAAK,SAAS,aAAa,QAAS,KAAK,SAAS,aAAa,2BAGjE,KAAK,iBACL,MAAM,UAGR,MAAO,CACL,GAAI,KAAK,SAAS,MAAM,UAAY,OAClC,KAAM,IAAI,OAAM,uCAGlB,GAAI,CAAE,MAAK,kBAAoB,KAAK,YAClC,OAGF,GAAM,IAAY,GAAa,QAAQ,KAAK,SAAU,KAAK,YAAY,UAAU,KAE3E,GAAc,CADD,GAAe,KAAK,WACL,KAAK,SAAS,cAAc,iBAAiB,SAAS,KAAK,UAE7F,GAAI,GAAU,kBAAoB,CAAC,GACjC,OAIF,KAAK,iBAEL,GAAM,IAAM,KAAK,iBAEjB,KAAK,SAAS,aAAa,mBAAoB,GAAI,aAAa,OAEhE,GAAM,CAAE,cAAc,KAAK,QAe3B,GAbK,KAAK,SAAS,cAAc,gBAAgB,SAAS,KAAK,MAC7D,IAAU,OAAO,IACjB,GAAa,QAAQ,KAAK,SAAU,KAAK,YAAY,UAAU,MAGjE,KAAK,QAAU,KAAK,cAAc,IAElC,GAAI,UAAU,IAAI,IAMd,gBAAkB,UAAS,gBAC7B,OAAW,MAAW,GAAG,OAAO,GAAG,SAAS,KAAK,UAC/C,GAAa,GAAG,GAAS,YAAa,IAI1C,GAAM,IAAW,IAAM,CACrB,GAAa,QAAQ,KAAK,SAAU,KAAK,YAAY,UAAU,KAE3D,KAAK,aAAe,IACtB,KAAK,SAGP,KAAK,WAAa,IAGpB,KAAK,eAAe,GAAU,KAAK,IAAK,KAAK,eAG/C,MAAO,CAML,GALI,CAAC,KAAK,YAKN,AADc,GAAa,QAAQ,KAAK,SAAU,KAAK,YAAY,UAAU,KACnE,iBACZ,OAQF,GAJA,AADY,KAAK,iBACb,UAAU,OAAO,IAIjB,gBAAkB,UAAS,gBAC7B,OAAW,MAAW,GAAG,OAAO,GAAG,SAAS,KAAK,UAC/C,GAAa,IAAI,GAAS,YAAa,IAI3C,KAAK,eAAe,IAAiB,GACrC,KAAK,eAAe,IAAiB,GACrC,KAAK,eAAe,IAAiB,GACrC,KAAK,WAAa,KAElB,GAAM,IAAW,IAAM,CACrB,AAAI,KAAK,wBAIJ,MAAK,YACR,KAAK,iBAGP,KAAK,SAAS,gBAAgB,oBAC9B,GAAa,QAAQ,KAAK,SAAU,KAAK,YAAY,UAAU,OAGjE,KAAK,eAAe,GAAU,KAAK,IAAK,KAAK,eAG/C,QAAS,CACP,AAAI,KAAK,SACP,KAAK,QAAQ,SAKjB,gBAAiB,CACf,MAAO,SAAQ,KAAK,aAGtB,gBAAiB,CACf,MAAK,MAAK,KACR,MAAK,IAAM,KAAK,kBAAkB,KAAK,aAAe,KAAK,2BAGtD,KAAK,IAGd,kBAAkB,GAAS,CACzB,GAAM,IAAM,KAAK,oBAAoB,IAAS,SAG9C,GAAI,CAAC,GACH,MAAO,MAGT,GAAI,UAAU,OAAO,GAAiB,IAEtC,GAAI,UAAU,IAAK,MAAK,KAAK,YAAY,aAEzC,GAAM,IAAQ,GAAO,KAAK,YAAY,MAAM,WAE5C,UAAI,aAAa,KAAM,IAEnB,KAAK,eACP,GAAI,UAAU,IAAI,IAGb,GAGT,WAAW,GAAS,CAClB,KAAK,YAAc,GACf,KAAK,YACP,MAAK,iBACL,KAAK,QAIT,oBAAoB,GAAS,CAC3B,MAAI,MAAK,iBACP,KAAK,iBAAiB,cAAc,IAEpC,KAAK,iBAAmB,GAAI,IAAgB,SACvC,KAAK,SADkC,CAI1C,WACA,WAAY,KAAK,yBAAyB,KAAK,QAAQ,gBAIpD,KAAK,iBAGd,wBAAyB,CACvB,MAAO,EACJ,IAAyB,KAAK,aAInC,WAAY,CACV,MAAO,MAAK,yBAAyB,KAAK,QAAQ,QAAU,KAAK,SAAS,aAAa,0BAIzF,6BAA6B,GAAO,CAClC,MAAO,MAAK,YAAY,oBAAoB,GAAM,eAAgB,KAAK,sBAGzE,aAAc,CACZ,MAAO,MAAK,QAAQ,WAAc,KAAK,KAAO,KAAK,IAAI,UAAU,SAAS,IAG5E,UAAW,CACT,MAAO,MAAK,KAAO,KAAK,IAAI,UAAU,SAAS,IAGjD,cAAc,GAAK,CACjB,GAAM,IAAY,GAAQ,KAAK,QAAQ,UAAW,CAAC,KAAM,GAAK,KAAK,WAC7D,GAAa,GAAc,GAAU,eAC3C,MAAO,AAAO,IAAa,KAAK,SAAU,GAAK,KAAK,iBAAiB,KAGvE,YAAa,CACX,GAAM,CAAE,WAAW,KAAK,QAExB,MAAI,OAAO,KAAW,SACb,GAAO,MAAM,KAAK,IAAI,IAAS,OAAO,SAAS,GAAO,KAG3D,MAAO,KAAW,WACb,IAAc,GAAO,GAAY,KAAK,UAGxC,GAGT,yBAAyB,GAAK,CAC5B,MAAO,IAAQ,GAAK,CAAC,KAAK,WAG5B,iBAAiB,GAAY,CAC3B,GAAM,IAAwB,CAC5B,UAAW,GACX,UAAW,CACT,CACE,KAAM,OACN,QAAS,CACP,mBAAoB,KAAK,QAAQ,qBAGrC,CACE,KAAM,SACN,QAAS,CACP,OAAQ,KAAK,eAGjB,CACE,KAAM,kBACN,QAAS,CACP,SAAU,KAAK,QAAQ,WAG3B,CACE,KAAM,QACN,QAAS,CACP,QAAU,IAAG,KAAK,YAAY,eAGlC,CACE,KAAM,kBACN,QAAS,GACT,MAAO,aACP,GAAI,IAAQ,CAGV,KAAK,iBAAiB,aAAa,wBAAyB,GAAK,MAAM,eAM/E,MAAO,UACF,IACA,GAAQ,KAAK,QAAQ,aAAc,CAAC,MAI3C,eAAgB,CACd,GAAM,IAAW,KAAK,QAAQ,QAAQ,MAAM,KAE5C,OAAW,MAAW,IACpB,GAAI,KAAY,QACd,GAAa,GAAG,KAAK,SAAU,KAAK,YAAY,UAAU,IAAc,KAAK,QAAQ,SAAU,IAAS,CAEtG,AADgB,KAAK,6BAA6B,IAC1C,mBAED,KAAY,GAAgB,CACrC,GAAM,IAAU,KAAY,GAC1B,KAAK,YAAY,UAAU,IAC3B,KAAK,YAAY,UAAU,IACvB,GAAW,KAAY,GAC3B,KAAK,YAAY,UAAU,IAC3B,KAAK,YAAY,UAAU,IAE7B,GAAa,GAAG,KAAK,SAAU,GAAS,KAAK,QAAQ,SAAU,IAAS,CACtE,GAAM,IAAU,KAAK,6BAA6B,IAClD,GAAQ,eAAe,GAAM,OAAS,UAAY,GAAgB,IAAiB,GACnF,GAAQ,WAEV,GAAa,GAAG,KAAK,SAAU,GAAU,KAAK,QAAQ,SAAU,IAAS,CACvE,GAAM,IAAU,KAAK,6BAA6B,IAClD,GAAQ,eAAe,GAAM,OAAS,WAAa,GAAgB,IACjE,GAAQ,SAAS,SAAS,GAAM,eAElC,GAAQ,WAKd,KAAK,kBAAoB,IAAM,CAC7B,AAAI,KAAK,UACP,KAAK,QAIT,GAAa,GAAG,KAAK,SAAS,QAAQ,IAAiB,GAAkB,KAAK,mBAGhF,WAAY,CACV,GAAM,IAAQ,KAAK,SAAS,aAAa,SAEzC,AAAI,CAAC,IAID,EAAC,KAAK,SAAS,aAAa,eAAiB,CAAC,KAAK,SAAS,YAAY,QAC1E,KAAK,SAAS,aAAa,aAAc,IAG3C,KAAK,SAAS,aAAa,yBAA0B,IACrD,KAAK,SAAS,gBAAgB,UAGhC,QAAS,CACP,GAAI,KAAK,YAAc,KAAK,WAAY,CACtC,KAAK,WAAa,GAClB,OAGF,KAAK,WAAa,GAElB,KAAK,YAAY,IAAM,CACrB,AAAI,KAAK,YACP,KAAK,QAEN,KAAK,QAAQ,MAAM,MAGxB,QAAS,CACP,AAAI,KAAK,wBAIT,MAAK,WAAa,GAElB,KAAK,YAAY,IAAM,CACrB,AAAK,KAAK,YACR,KAAK,QAEN,KAAK,QAAQ,MAAM,OAGxB,YAAY,GAAS,GAAS,CAC5B,aAAa,KAAK,UAClB,KAAK,SAAW,WAAW,GAAS,IAGtC,sBAAuB,CACrB,MAAO,QAAO,OAAO,KAAK,gBAAgB,SAAS,IAGrD,WAAW,GAAQ,CACjB,GAAM,IAAiB,GAAY,kBAAkB,KAAK,UAE1D,OAAW,MAAiB,QAAO,KAAK,IACtC,AAAI,GAAsB,IAAI,KAC5B,MAAO,IAAe,IAI1B,UAAS,SACJ,IACC,MAAO,KAAW,UAAY,GAAS,GAAS,IAEtD,GAAS,KAAK,gBAAgB,IAC9B,GAAS,KAAK,kBAAkB,IAChC,KAAK,iBAAiB,IACf,GAGT,kBAAkB,GAAQ,CACxB,UAAO,UAAY,GAAO,YAAc,GAAQ,SAAS,KAAO,GAAW,GAAO,WAE9E,MAAO,IAAO,OAAU,UAC1B,IAAO,MAAQ,CACb,KAAM,GAAO,MACb,KAAM,GAAO,QAIb,MAAO,IAAO,OAAU,UAC1B,IAAO,MAAQ,GAAO,MAAM,YAG1B,MAAO,IAAO,SAAY,UAC5B,IAAO,QAAU,GAAO,QAAQ,YAG3B,GAGT,oBAAqB,CACnB,GAAM,IAAS,GAEf,OAAW,CAAC,GAAK,KAAU,QAAO,QAAQ,KAAK,SAC7C,AAAI,KAAK,YAAY,QAAQ,MAAS,IACpC,IAAO,IAAO,IAIlB,UAAO,SAAW,GAClB,GAAO,QAAU,SAKV,GAGT,gBAAiB,CACf,AAAI,KAAK,SACP,MAAK,QAAQ,UACb,KAAK,QAAU,MAGb,KAAK,KACP,MAAK,IAAI,SACT,KAAK,IAAM,YAKR,iBAAgB,GAAQ,CAC7B,MAAO,MAAK,KAAK,UAAY,CAC3B,GAAM,IAAO,GAAQ,oBAAoB,KAAM,IAE/C,GAAI,MAAO,KAAW,SAItB,IAAI,MAAO,IAAK,KAAY,YAC1B,KAAM,IAAI,WAAW,oBAAmB,OAG1C,GAAK,WASX,GAAmB,ICxmBnB,GAAM,IAAO,UAEP,GAAiB,kBACjB,GAAmB,gBAEnB,GAAU,SACX,GAAQ,SADG,CAEd,QAAS,GACT,OAAQ,CAAC,EAAG,GACZ,UAAW,QACX,SAAU,8IAKV,QAAS,UAGL,GAAc,SACf,GAAQ,aADO,CAElB,QAAS,mCAOX,gBAAsB,GAAQ,WAEjB,UAAU,CACnB,MAAO,cAGE,cAAc,CACvB,MAAO,cAGE,OAAO,CAChB,MAAO,IAIT,gBAAiB,CACf,MAAO,MAAK,aAAe,KAAK,cAIlC,wBAAyB,CACvB,MAAO,EACJ,IAAiB,KAAK,aACtB,IAAmB,KAAK,eAI7B,aAAc,CACZ,MAAO,MAAK,yBAAyB,KAAK,QAAQ,eAI7C,iBAAgB,GAAQ,CAC7B,MAAO,MAAK,KAAK,UAAY,CAC3B,GAAM,IAAO,GAAQ,oBAAoB,KAAM,IAE/C,GAAI,MAAO,KAAW,SAItB,IAAI,MAAO,IAAK,KAAY,YAC1B,KAAM,IAAI,WAAW,oBAAmB,OAG1C,GAAK,WASX,GAAmB,IC5EnB,GAAM,IAAO,YACP,GAAW,eACX,GAAa,IAAG,KAChB,GAAe,YAEf,GAAkB,WAAU,KAC5B,GAAe,QAAO,KACtB,GAAuB,OAAM,KAAY,KAEzC,GAA2B,gBAC3B,GAAoB,SAEpB,GAAoB,yBACpB,GAAwB,SACxB,GAA0B,oBAC1B,GAAqB,YACrB,GAAqB,YACrB,GAAsB,mBACtB,GAAuB,GAAE,OAAuB,QAAwB,OAAuB,KAC/F,GAAoB,YACpB,GAA2B,mBAE3B,GAAU,CACd,OAAQ,KACR,WAAY,eACZ,aAAc,GACd,OAAQ,KACR,UAAW,CAAC,GAAK,GAAK,IAGlB,GAAc,CAClB,OAAQ,gBACR,WAAY,SACZ,aAAc,UACd,OAAQ,UACR,UAAW,SAOb,gBAAwB,GAAc,CACpC,YAAY,GAAS,GAAQ,CAC3B,MAAM,GAAS,IAGf,KAAK,aAAe,GAAI,KACxB,KAAK,oBAAsB,GAAI,KAC/B,KAAK,aAAe,iBAAiB,KAAK,UAAU,YAAc,UAAY,KAAO,KAAK,SAC1F,KAAK,cAAgB,KACrB,KAAK,UAAY,KACjB,KAAK,oBAAsB,CACzB,gBAAiB,EACjB,gBAAiB,GAEnB,KAAK,oBAII,UAAU,CACnB,MAAO,cAGE,cAAc,CACvB,MAAO,cAGE,OAAO,CAChB,MAAO,IAIT,SAAU,CACR,KAAK,mCACL,KAAK,2BAEL,AAAI,KAAK,UACP,KAAK,UAAU,aAEf,KAAK,UAAY,KAAK,kBAGxB,OAAW,MAAW,MAAK,oBAAoB,SAC7C,KAAK,UAAU,QAAQ,IAI3B,SAAU,CACR,KAAK,UAAU,aACf,MAAM,UAIR,kBAAkB,GAAQ,CAExB,UAAO,OAAS,GAAW,GAAO,SAAW,SAAS,KAGtD,GAAO,WAAa,GAAO,OAAU,GAAE,GAAO,oBAAsB,GAAO,WAEvE,MAAO,IAAO,WAAc,UAC9B,IAAO,UAAY,GAAO,UAAU,MAAM,KAAK,IAAI,IAAS,OAAO,WAAW,MAGzE,GAGT,0BAA2B,CACzB,AAAI,CAAC,KAAK,QAAQ,cAKlB,IAAa,IAAI,KAAK,QAAQ,OAAQ,IAEtC,GAAa,GAAG,KAAK,QAAQ,OAAQ,GAAa,GAAuB,IAAS,CAChF,GAAM,IAAoB,KAAK,oBAAoB,IAAI,GAAM,OAAO,MACpE,GAAI,GAAmB,CACrB,GAAM,iBACN,GAAM,IAAO,KAAK,cAAgB,OAC5B,GAAS,GAAkB,UAAY,KAAK,SAAS,UAC3D,GAAI,GAAK,SAAU,CACjB,GAAK,SAAS,CAAE,IAAK,GAAQ,SAAU,WACvC,OAIF,GAAK,UAAY,OAKvB,iBAAkB,CAChB,GAAM,IAAU,CACd,KAAM,KAAK,aACX,UAAW,KAAK,QAAQ,UACxB,WAAY,KAAK,QAAQ,YAG3B,MAAO,IAAI,sBAAqB,IAAW,KAAK,kBAAkB,IAAU,IAI9E,kBAAkB,GAAS,CACzB,GAAM,IAAgB,IAAS,KAAK,aAAa,IAAK,IAAG,GAAM,OAAO,MAChE,GAAW,IAAS,CACxB,KAAK,oBAAoB,gBAAkB,GAAM,OAAO,UACxD,KAAK,SAAS,GAAc,MAGxB,GAAmB,MAAK,cAAgB,SAAS,iBAAiB,UAClE,GAAkB,IAAmB,KAAK,oBAAoB,gBACpE,KAAK,oBAAoB,gBAAkB,GAE3C,OAAW,MAAS,IAAS,CAC3B,GAAI,CAAC,GAAM,eAAgB,CACzB,KAAK,cAAgB,KACrB,KAAK,kBAAkB,GAAc,KAErC,SAGF,GAAM,IAA2B,GAAM,OAAO,WAAa,KAAK,oBAAoB,gBAEpF,GAAI,IAAmB,GAA0B,CAG/C,GAFA,GAAS,IAEL,CAAC,GACH,OAGF,SAIF,AAAI,CAAC,IAAmB,CAAC,IACvB,GAAS,KAKf,kCAAmC,CACjC,KAAK,aAAe,GAAI,KACxB,KAAK,oBAAsB,GAAI,KAE/B,GAAM,IAAc,GAAe,KAAK,GAAuB,KAAK,QAAQ,QAE5E,OAAW,MAAU,IAAa,CAEhC,GAAI,CAAC,GAAO,MAAQ,GAAW,IAC7B,SAGF,GAAM,IAAoB,GAAe,QAAQ,UAAU,GAAO,MAAO,KAAK,UAG9E,AAAI,GAAU,KACZ,MAAK,aAAa,IAAI,UAAU,GAAO,MAAO,IAC9C,KAAK,oBAAoB,IAAI,GAAO,KAAM,MAKhD,SAAS,GAAQ,CACf,AAAI,KAAK,gBAAkB,IAI3B,MAAK,kBAAkB,KAAK,QAAQ,QACpC,KAAK,cAAgB,GACrB,GAAO,UAAU,IAAI,IACrB,KAAK,iBAAiB,IAEtB,GAAa,QAAQ,KAAK,SAAU,GAAgB,CAAE,cAAe,MAGvE,iBAAiB,GAAQ,CAEvB,GAAI,GAAO,UAAU,SAAS,IAA2B,CACvD,GAAe,QAAQ,GAA0B,GAAO,QAAQ,KAC7D,UAAU,IAAI,IACjB,OAGF,OAAW,MAAa,IAAe,QAAQ,GAAQ,IAGrD,OAAW,MAAQ,IAAe,KAAK,GAAW,IAChD,GAAK,UAAU,IAAI,IAKzB,kBAAkB,GAAQ,CACxB,GAAO,UAAU,OAAO,IAExB,GAAM,IAAc,GAAe,KAAM,GAAE,MAAyB,KAAqB,IACzF,OAAW,MAAQ,IACjB,GAAK,UAAU,OAAO,UAKnB,iBAAgB,GAAQ,CAC7B,MAAO,MAAK,KAAK,UAAY,CAC3B,GAAM,IAAO,GAAU,oBAAoB,KAAM,IAEjD,GAAI,MAAO,KAAW,SAItB,IAAI,GAAK,MAAY,QAAa,GAAO,WAAW,MAAQ,KAAW,cACrE,KAAM,IAAI,WAAW,oBAAmB,OAG1C,GAAK,WASX,GAAa,GAAG,OAAQ,GAAqB,IAAM,CACjD,OAAW,MAAO,IAAe,KAAK,IACpC,GAAU,oBAAoB,MAQlC,GAAmB,ICrRnB,GAAM,IAAO,MACP,GAAW,SACX,GAAa,IAAG,KAEhB,GAAc,OAAM,KACpB,GAAgB,SAAQ,KACxB,GAAc,OAAM,KACpB,GAAe,QAAO,KACtB,GAAwB,QAAO,KAC/B,GAAiB,UAAS,KAC1B,GAAuB,OAAM,KAE7B,GAAiB,YACjB,GAAkB,aAClB,GAAe,UACf,GAAiB,YACjB,GAAW,OACX,GAAU,MAEV,GAAoB,SACpB,GAAkB,OAClB,GAAkB,OAClB,GAAiB,WAEjB,GAA2B,mBAC3B,GAAyB,iBACzB,GAAgC,QAAO,MAEvC,GAAqB,sCACrB,GAAiB,8BACjB,GAAkB,YAAW,uBAAiD,mBAA6C,KAC3H,GAAuB,2EACvB,GAAuB,GAAE,OAAmB,KAE5C,GAA+B,IAAG,8BAA6C,+BAA8C,4BAMnI,gBAAkB,GAAc,CAC9B,YAAY,GAAS,CACnB,MAAM,IAGN,AAFA,KAAK,QAAU,KAAK,SAAS,QAAQ,IAEjC,EAAC,KAAK,SAOV,MAAK,sBAAsB,KAAK,QAAS,KAAK,gBAE9C,GAAa,GAAG,KAAK,SAAU,GAAe,IAAS,KAAK,SAAS,gBAI5D,OAAO,CAChB,MAAO,IAIT,MAAO,CACL,GAAM,IAAY,KAAK,SACvB,GAAI,KAAK,cAAc,IACrB,OAIF,GAAM,IAAS,KAAK,iBAEd,GAAY,GAChB,GAAa,QAAQ,GAAQ,GAAY,CAAE,cAAe,KAC1D,KAIF,AAAI,AAFc,GAAa,QAAQ,GAAW,GAAY,CAAE,cAAe,KAEjE,kBAAqB,IAAa,GAAU,kBAI1D,MAAK,YAAY,GAAQ,IACzB,KAAK,UAAU,GAAW,KAI5B,UAAU,GAAS,GAAa,CAC9B,GAAI,CAAC,GACH,OAGF,GAAQ,UAAU,IAAI,IAEtB,KAAK,UAAU,GAAe,uBAAuB,KAErD,GAAM,IAAW,IAAM,CACrB,GAAI,GAAQ,aAAa,UAAY,MAAO,CAC1C,GAAQ,UAAU,IAAI,IACtB,OAGF,GAAQ,gBAAgB,YACxB,GAAQ,aAAa,gBAAiB,IACtC,KAAK,gBAAgB,GAAS,IAC9B,GAAa,QAAQ,GAAS,GAAa,CACzC,cAAe,MAInB,KAAK,eAAe,GAAU,GAAS,GAAQ,UAAU,SAAS,KAGpE,YAAY,GAAS,GAAa,CAChC,GAAI,CAAC,GACH,OAGF,GAAQ,UAAU,OAAO,IACzB,GAAQ,OAER,KAAK,YAAY,GAAe,uBAAuB,KAEvD,GAAM,IAAW,IAAM,CACrB,GAAI,GAAQ,aAAa,UAAY,MAAO,CAC1C,GAAQ,UAAU,OAAO,IACzB,OAGF,GAAQ,aAAa,gBAAiB,IACtC,GAAQ,aAAa,WAAY,MACjC,KAAK,gBAAgB,GAAS,IAC9B,GAAa,QAAQ,GAAS,GAAc,CAAE,cAAe,MAG/D,KAAK,eAAe,GAAU,GAAS,GAAQ,UAAU,SAAS,KAGpE,SAAS,GAAO,CACd,GAAI,CAAE,CAAC,GAAgB,GAAiB,GAAc,GAAgB,GAAU,IAAS,SAAS,GAAM,KACtG,OAGF,GAAM,kBACN,GAAM,iBAEN,GAAM,IAAW,KAAK,eAAe,OAAO,IAAW,CAAC,GAAW,KAC/D,GAEJ,GAAI,CAAC,GAAU,IAAS,SAAS,GAAM,KACrC,GAAoB,GAAS,GAAM,MAAQ,GAAW,EAAI,GAAS,OAAS,OACvE,CACL,GAAM,IAAS,CAAC,GAAiB,IAAgB,SAAS,GAAM,KAChE,GAAoB,GAAqB,GAAU,GAAM,OAAQ,GAAQ,IAG3E,AAAI,IACF,IAAkB,MAAM,CAAE,cAAe,KACzC,GAAI,oBAAoB,IAAmB,QAI/C,cAAe,CACb,MAAO,IAAe,KAAK,GAAqB,KAAK,SAGvD,gBAAiB,CACf,MAAO,MAAK,eAAe,KAAK,IAAS,KAAK,cAAc,MAAW,KAGzE,sBAAsB,GAAQ,GAAU,CACtC,KAAK,yBAAyB,GAAQ,OAAQ,WAE9C,OAAW,MAAS,IAClB,KAAK,6BAA6B,IAItC,6BAA6B,GAAO,CAClC,GAAQ,KAAK,iBAAiB,IAC9B,GAAM,IAAW,KAAK,cAAc,IAC9B,GAAY,KAAK,iBAAiB,IACxC,GAAM,aAAa,gBAAiB,IAEhC,KAAc,IAChB,KAAK,yBAAyB,GAAW,OAAQ,gBAG9C,IACH,GAAM,aAAa,WAAY,MAGjC,KAAK,yBAAyB,GAAO,OAAQ,OAG7C,KAAK,mCAAmC,IAG1C,mCAAmC,GAAO,CACxC,GAAM,IAAS,GAAe,uBAAuB,IAErD,AAAI,CAAC,IAIL,MAAK,yBAAyB,GAAQ,OAAQ,YAE1C,GAAM,IACR,KAAK,yBAAyB,GAAQ,kBAAoB,GAAE,GAAM,OAItE,gBAAgB,GAAS,GAAM,CAC7B,GAAM,IAAY,KAAK,iBAAiB,IACxC,GAAI,CAAC,GAAU,UAAU,SAAS,IAChC,OAGF,GAAM,IAAS,CAAC,GAAU,KAAc,CACtC,GAAM,IAAU,GAAe,QAAQ,GAAU,IACjD,AAAI,IACF,GAAQ,UAAU,OAAO,GAAW,KAIxC,GAAO,GAA0B,IACjC,GAAO,GAAwB,IAC/B,GAAU,aAAa,gBAAiB,IAG1C,yBAAyB,GAAS,GAAW,GAAO,CAClD,AAAK,GAAQ,aAAa,KACxB,GAAQ,aAAa,GAAW,IAIpC,cAAc,GAAM,CAClB,MAAO,IAAK,UAAU,SAAS,IAIjC,iBAAiB,GAAM,CACrB,MAAO,IAAK,QAAQ,IAAuB,GAAO,GAAe,QAAQ,GAAqB,IAIhG,iBAAiB,GAAM,CACrB,MAAO,IAAK,QAAQ,KAAmB,SAIlC,iBAAgB,GAAQ,CAC7B,MAAO,MAAK,KAAK,UAAY,CAC3B,GAAM,IAAO,GAAI,oBAAoB,MAErC,GAAI,MAAO,KAAW,SAItB,IAAI,GAAK,MAAY,QAAa,GAAO,WAAW,MAAQ,KAAW,cACrE,KAAM,IAAI,WAAW,oBAAmB,OAG1C,GAAK,WASX,GAAa,GAAG,SAAU,GAAsB,GAAsB,SAAU,GAAO,CAKrF,AAJI,CAAC,IAAK,QAAQ,SAAS,KAAK,UAC9B,GAAM,iBAGJ,IAAW,OAIf,GAAI,oBAAoB,MAAM,SAMhC,GAAa,GAAG,OAAQ,GAAqB,IAAM,CACjD,OAAW,MAAW,IAAe,KAAK,IACxC,GAAI,oBAAoB,MAO5B,GAAmB,ICxSnB,GAAM,IAAO,QACP,GAAW,WACX,GAAa,IAAG,KAEhB,GAAmB,YAAW,KAC9B,GAAkB,WAAU,KAC5B,GAAiB,UAAS,KAC1B,GAAkB,WAAU,KAC5B,GAAc,OAAM,KACpB,GAAgB,SAAQ,KACxB,GAAc,OAAM,KACpB,GAAe,QAAO,KAEtB,GAAkB,OAClB,GAAkB,OAClB,GAAkB,OAClB,GAAqB,UAErB,GAAc,CAClB,UAAW,UACX,SAAU,UACV,MAAO,UAGH,GAAU,CACd,UAAW,GACX,SAAU,GACV,MAAO,KAOT,gBAAoB,GAAc,CAChC,YAAY,GAAS,GAAQ,CAC3B,MAAM,GAAS,IAEf,KAAK,SAAW,KAChB,KAAK,qBAAuB,GAC5B,KAAK,wBAA0B,GAC/B,KAAK,0BAII,UAAU,CACnB,MAAO,cAGE,cAAc,CACvB,MAAO,cAGE,OAAO,CAChB,MAAO,IAIT,MAAO,CAGL,GAAI,AAFc,GAAa,QAAQ,KAAK,SAAU,IAExC,iBACZ,OAGF,KAAK,gBAED,KAAK,QAAQ,WACf,KAAK,SAAS,UAAU,IAAI,IAG9B,GAAM,IAAW,IAAM,CACrB,KAAK,SAAS,UAAU,OAAO,IAC/B,GAAa,QAAQ,KAAK,SAAU,IAEpC,KAAK,sBAGP,KAAK,SAAS,UAAU,OAAO,IAC/B,GAAO,KAAK,UACZ,KAAK,SAAS,UAAU,IAAI,GAAiB,IAE7C,KAAK,eAAe,GAAU,KAAK,SAAU,KAAK,QAAQ,WAG5D,MAAO,CAOL,GANI,CAAC,KAAK,WAMN,AAFc,GAAa,QAAQ,KAAK,SAAU,IAExC,iBACZ,OAGF,GAAM,IAAW,IAAM,CACrB,KAAK,SAAS,UAAU,IAAI,IAC5B,KAAK,SAAS,UAAU,OAAO,GAAoB,IACnD,GAAa,QAAQ,KAAK,SAAU,KAGtC,KAAK,SAAS,UAAU,IAAI,IAC5B,KAAK,eAAe,GAAU,KAAK,SAAU,KAAK,QAAQ,WAG5D,SAAU,CACR,KAAK,gBAED,KAAK,WACP,KAAK,SAAS,UAAU,OAAO,IAGjC,MAAM,UAGR,SAAU,CACR,MAAO,MAAK,SAAS,UAAU,SAAS,IAK1C,oBAAqB,CACnB,AAAI,CAAC,KAAK,QAAQ,UAId,KAAK,sBAAwB,KAAK,yBAItC,MAAK,SAAW,WAAW,IAAM,CAC/B,KAAK,QACJ,KAAK,QAAQ,QAGlB,eAAe,GAAO,GAAe,CACnC,OAAQ,GAAM,UACP,gBACA,WAAY,CACf,KAAK,qBAAuB,GAC5B,UAGG,cACA,WAAY,CACf,KAAK,wBAA0B,GAC/B,OAQJ,GAAI,GAAe,CACjB,KAAK,gBACL,OAGF,GAAM,IAAc,GAAM,cAC1B,AAAI,KAAK,WAAa,IAAe,KAAK,SAAS,SAAS,KAI5D,KAAK,qBAGP,eAAgB,CACd,GAAa,GAAG,KAAK,SAAU,GAAiB,IAAS,KAAK,eAAe,GAAO,KACpF,GAAa,GAAG,KAAK,SAAU,GAAgB,IAAS,KAAK,eAAe,GAAO,KACnF,GAAa,GAAG,KAAK,SAAU,GAAe,IAAS,KAAK,eAAe,GAAO,KAClF,GAAa,GAAG,KAAK,SAAU,GAAgB,IAAS,KAAK,eAAe,GAAO,KAGrF,eAAgB,CACd,aAAa,KAAK,UAClB,KAAK,SAAW,WAIX,iBAAgB,GAAQ,CAC7B,MAAO,MAAK,KAAK,UAAY,CAC3B,GAAM,IAAO,GAAM,oBAAoB,KAAM,IAE7C,GAAI,MAAO,KAAW,SAAU,CAC9B,GAAI,MAAO,IAAK,KAAY,YAC1B,KAAM,IAAI,WAAW,oBAAmB,OAG1C,GAAK,IAAQ,WAUrB,GAAqB,IAMrB,GAAmB,IC5NnB,OAAO,SACP,GAAO,SCmBA,YACL,GACW,CACX,MAAO,SAAW,IAUb,YAAqC,GAAmC,CAC7E,GAAM,IAAa,CAAC,GAAI,OAAQ,aAChC,MAAI,OAAM,QAAQ,IACT,GAAM,OAAS,EACb,MAAO,KAAU,UAAY,CAAC,GAAW,SAAS,KAElD,MAAO,KAAU,UAEjB,MAAO,KAAU,UAHnB,GAKE,MAAO,KAAU,UAAY,KAAU,KAgD7C,YAAmB,GAAiD,CACzE,MAAO,OAAO,MAAQ,MAAQ,MAAO,KAAQ,YAG/C,YACE,GACA,GACA,GACyB,iCACzB,GAAM,IAAQ,OAAO,WACf,GAAU,GAAI,SAAQ,CAAE,cAAe,KAEzC,GACJ,AAAI,MAAO,KAAS,aAClB,IAAO,KAAK,UAAU,IACtB,GAAQ,IAAI,eAAgB,qBAG9B,GAAM,IAAM,KAAM,OAAM,GAAK,CAAE,UAAQ,QAAM,WAAS,YAAa,gBAC7D,GAAc,GAAI,QAAQ,IAAI,gBACpC,GAAI,MAAO,KAAgB,UAAY,GAAY,SAAS,QAE1D,MAAO,CAAE,MADK,KAAM,IAAI,QAG1B,GAAM,IAAQ,KAAM,IAAI,OACxB,MAAI,CAAC,GAAI,IAAM,MAAM,QAAQ,IAEpB,CAAE,MADK,GAAK,KAAK;AAAA,IAEf,CAAC,GAAI,IAAM,UAAY,IACzB,CAAE,MAAO,GAAK,QAEhB,KAGT,YACE,GACA,GACyB,iCACzB,MAAO,MAAM,IAAW,GAAK,QAAS,MAmCjC,eACF,GACiB,CACpB,OAAW,MAAS,IAClB,OAAW,MAAW,UAAS,iBAAiB,IAC9C,AAAI,KAAY,MACd,MAAM,KAMP,YAA2C,GAAyB,CACzE,MAAO,UAAS,eAAe,IA2B1B,YAAkB,GAAkB,GAAiB,EAAS,CACnE,GAAI,IAAU,GACR,GAAQ,SAAS,eAAe,iBACtC,AAAI,KAAU,MAEZ,KAAW,GAAM,wBAAwB,QAG3C,GAAM,IAAM,GAAQ,wBAAwB,IAAM,OAAO,YAAc,GAEvE,OAAO,SAAS,CAAE,OAAK,SAAU,WAW5B,YACL,GACA,GAAmB,SACD,CAClB,GAAI,IAAW,GACf,OAAW,MAAW,IAAK,iBAAoC,IAC7D,GAAI,KAAY,KAAM,CACpB,GAAM,IAAS,CAAE,KAAM,GAAQ,KAAM,QAAS,IAC9C,OAAW,MAAU,IAAQ,QAC3B,AAAI,GAAO,UACT,GAAO,QAAQ,KAAK,GAAO,OAG/B,GAAW,CAAC,GAAG,GAAU,IAG7B,MAAO,IAMF,YACL,GACA,GACM,CACN,AAAI,KAAY,MACd,CAAI,MAAO,KAAW,YAGpB,AAAI,AADY,OAAO,iBAAiB,IAAS,UACjC,OACd,GAAQ,MAAM,QAAU,GAExB,GAAQ,MAAM,QAAU,OAG1B,AAAI,KAAW,OACb,GAAQ,MAAM,QAAU,GAExB,GAAQ,MAAM,QAAU,QAoCzB,YACL,GACA,GACA,GACa,CACb,YAA8C,GAAqB,CACjE,MAAI,SAAO,KAAa,UAAY,KAAY,MAC1C,GAAQ,QAAQ,KAMxB,YAAyC,GAAwB,CAC/D,GAAI,KAAW,MAAQ,GAAO,gBAAkB,MAAQ,CAAC,GAAW,IAAS,CAC3E,OAAW,MAAS,IAAO,cAAc,iBAAoB,IAC3D,GAAI,KAAU,KACZ,MAAO,IAGX,MAAO,IAAM,GAAO,cAAc,eAEpC,MAAO,MAET,MAAO,IAAM,IAWR,YAQL,GACA,GACA,GAA8B,KAC9B,GAAgB,GACU,CAE1B,GAAM,IAAU,SAAS,cAAiB,IAE1C,GAAI,KAAe,KACjB,OAAW,MAAK,QAAO,KAAK,IAAa,CAEvC,GAAM,IAAM,GACN,GAAQ,GAAW,IACzB,AAAI,KAAO,KACT,IAAQ,IAAO,IAMrB,AAAI,KAAY,MAAQ,GAAQ,OAAS,GACvC,GAAQ,UAAU,IAAI,GAAG,IAG3B,OAAW,MAAS,IAElB,GAAQ,YAAY,IAEtB,MAAO,IAuCF,YAAoB,GAAe,GAA0B,GAA6B,CAE/F,GAAI,MAAO,KAAU,SACnB,KAAM,IAAI,WAAU,gDAGtB,GAAI,MAAO,KAAY,UAAY,CAAE,cAAmB,SACtD,KAAM,IAAI,WAAU,qEAGtB,OAAQ,MAAO,SACR,UACH,GAAc,OAAO,IACrB,UACG,SACH,GAAc,OAAO,IACrB,UACG,SACH,cAEA,KAAM,IAAI,WAAU,2DAGxB,GAAI,aAAmB,QAAQ,CAE7B,GAAM,IAAQ,MAAM,KAAK,GAAI,KAAI,CAAC,GAAG,GAAQ,MAAM,MAAM,IAAK,OAAO,KAAK,IAC1E,GAAU,GAAI,QAAO,GAAQ,OAAQ,QAGrC,IAAU,GAAI,QAAO,GAAS,KAGhC,MAAO,IAAM,QAAQ,GAAS,IC1bhC,YAA0B,GAAc,GAA6B,CAEnE,GAAM,IAAW,GAAI,KAErB,OAAW,MAAW,IAAK,iBAA+B,WACxD,AAAK,GAAQ,SAAS,MAQhB,GAAQ,UAAU,SAAS,eAC7B,GAAQ,UAAU,OAAO,cAR3B,IAAS,IAAI,GAAQ,MAEhB,GAAQ,UAAU,SAAS,eAC9B,GAAQ,UAAU,IAAI,eAU5B,GAAI,GAAS,OAAS,EAAG,CAEvB,GAAM,IAAe,GAAK,SAAS,UAAU,MAAM,KAAK,IAAU,IAClE,GAAS,IAGT,GAAM,kBASH,aAAkC,CACvC,OAAW,MAAQ,IAAY,QAAS,CAGtC,GAAM,IAAa,GAAK,iBAAoC,uBAE5D,OAAW,MAAa,IAEtB,GAAU,iBAAiB,QAAS,AAAC,IAAiB,GAAiB,GAAO,MCvC7E,aAAmC,CACxC,OAAW,MAAW,IAA+B,qBACnD,GAAI,KAAY,KAAM,CACpB,GAAS,IAAT,SAAqB,GAAc,CAEjC,GAAM,iBAEN,GAAM,IAAQ,GAAQ,aAAa,QAE7B,GAAQ,SAAS,eAAe,GAAQ,QAC9C,AAAI,KAAU,MAAQ,KAAU,MAE9B,IAAM,MAAQ,KAGlB,GAAQ,iBAAiB,QAAS,KCiBxC,GAAM,IAAiC,CACrC,UAAW,CACT,OAAQ,CACN,KAAM,CAAC,eAAgB,UAAW,cAAe,UAAW,kBAAmB,cAC/E,KAAM,CAAC,cAET,aAAc,CACZ,KAAM,CAAC,YAAa,UAAW,cAAe,UAAW,kBAAmB,cAC5E,KAAM,CAAC,iBAET,KAAM,CACJ,KAAM,CAAC,cAAe,UAAW,kBAAmB,cACpD,KAAM,CAAC,YAAa,eAAgB,YAEtC,SAAU,CACR,KAAM,CAAC,UAAW,kBAAmB,cACrC,KAAM,CAAC,YAAa,eAAgB,UAAW,gBAEjD,KAAM,CACJ,KAAM,CAAC,kBAAmB,cAC1B,KAAM,CAAC,YAAa,eAAgB,UAAW,cAAe,YAEhE,gBAAiB,CACf,KAAM,CAAC,YAAa,eAAgB,UAAW,cAAe,UAAW,cACzE,KAAM,CAAC,oBAET,QAAS,CACP,KAAM,CAAC,YAAa,eAAgB,UAAW,cAAe,WAC9D,KAAM,CAAC,kBAAmB,eAE5B,QAAS,CACP,KAAM,CACJ,YACA,eACA,UACA,cACA,UACA,kBACA,cAEF,KAAM,MAUN,GAA2B,CAC/B,cAAe,YACf,eAAgB,YAChB,oBAAqB,aAQvB,YAAgC,GAAe,GAAyB,CAlGxE,OAmGE,OAAW,MAAW,IAAY,IAAQ,CACxC,GAAM,IAAS,OAAQ,gBAAR,eAAuB,cACtC,AAAI,KAAW,MACb,CAAI,KAAW,OACb,GAAiB,GAAQ,QAEzB,GAAiB,GAAQ,UASjC,YAAwD,GAAS,GAA4B,CAE3F,GAAM,IAAY,GAAQ,QAAQ,GAAQ,eAAe,UAAU,cAC7D,GAAe,GAAY,IAEjC,OAAW,CAAC,GAAO,KAAW,QAAO,QAAQ,GAAe,KAG1D,GAAI,GAAU,SAAS,IAAQ,CAC7B,OAAW,MAAS,IAAO,KACzB,GAAuB,IAAI,KAAS,QAEtC,OAAW,MAAS,IAAO,KACzB,GAAuB,IAAI,KAAS,QAGtC,UAGA,QAAW,MAAS,IAAe,IAAc,QAAQ,KACvD,GAAuB,IAAI,KAAS,QASrC,aAAmC,CACxC,OAAW,MAAQ,QAAO,KAAK,IAC7B,OAAW,MAAW,IACpB,8BAA8B,uBAE9B,GAAkB,GAAM,IACxB,GAAQ,iBAAiB,SAAU,IAAM,GAAkB,GAAM,KCjJhE,aAA2B,CAChC,OAAW,MAAQ,CAAC,GAAkB,GAAmB,IACvD,KCCJ,OAAO,SAAW,GAClB,OAAO,MAAQ,GACf,OAAO,QAAU,GACjB,OAAO,MAAQ,GACf,OAAO,QAAU,GAEjB,aAAwB,CACtB,OAAW,MAAW,IAAY,8BAChC,GAAI,IAAQ,GAAS,CAAE,UAAW,SAItC,aAAsB,CACpB,OAAW,MAAS,IAAY,4BAC9B,GAAI,IAAM,IAIP,YACL,GACA,GACA,GACA,GACO,CACP,GAAI,IAAW,YACf,OAAQ,QACD,UACH,GAAW,YACX,UACG,UACH,GAAW,mBACX,UACG,OACH,GAAW,kBACX,UACG,SACH,GAAW,YACX,MAGJ,GAAM,IAAY,SAAS,cAAc,OACzC,GAAU,aAAa,QAAS,qDAEhC,GAAM,IAAO,SAAS,cAAc,OACpC,GAAK,aAAa,QAAS,YAAY,MACvC,GAAK,aAAa,OAAQ,SAC1B,GAAK,aAAa,YAAa,aAC/B,GAAK,aAAa,cAAe,QAEjC,GAAM,IAAS,SAAS,cAAc,OACtC,GAAO,aAAa,QAAS,mBAAmB,gBAEhD,GAAM,IAAO,SAAS,cAAc,KACpC,GAAK,aAAa,QAAS,OAAO,MAElC,GAAM,IAAe,SAAS,cAAc,UAC5C,GAAa,aAAa,QAAS,gBACnC,GAAa,UAAY,GAEzB,GAAM,IAAS,SAAS,cAAc,UACtC,GAAO,aAAa,OAAQ,UAC5B,GAAO,aAAa,QAAS,aAC7B,GAAO,aAAa,kBAAmB,SACvC,GAAO,aAAa,aAAc,SAElC,GAAM,IAAO,SAAS,cAAc,OAMpC,GALA,GAAK,aAAa,QAAS,cAE3B,GAAO,YAAY,IACnB,GAAO,YAAY,IAEf,MAAO,KAAU,YAAa,CAChC,GAAM,IAAe,SAAS,cAAc,SAC5C,GAAa,aAAa,QAAS,cACnC,GAAO,YAAY,IAGrB,UAAO,YAAY,IAEnB,GAAK,UAAY,GAAQ,OAEzB,GAAK,YAAY,IACjB,GAAK,YAAY,IACjB,GAAU,YAAY,IACtB,SAAS,KAAK,YAAY,IAEZ,GAAI,IAAM,IAQ1B,aAAoB,CAClB,GAAM,CAAE,SAAS,SACjB,GAAI,IAAQ,GAAK,MAAM,aAAc,CAInC,GAAM,IAAS,GAAK,QAAQ,OAAQ,IACpC,OAAW,MAAW,IAAY,6CAA6C,QAK7E,AAFY,GAAI,IAAI,IAEhB,QASV,aAAuC,CACrC,GAAM,IAAQ,SAAS,iBAAiC,4BAExD,YAAsB,GAA0B,CAC9C,OAAW,MAAQ,IACjB,AAAI,KAAS,GAGX,GAAK,UAAU,OAAO,WAEtB,GAAK,UAAU,OAAO,WAK5B,OAAW,MAAQ,IACjB,OAAW,MAAU,IAAK,iBAAoC,qBAC5D,GAAO,iBAAiB,QAAS,IAAM,CACrC,GAAa,MAUrB,aAAkC,CAChC,OAAW,MAAW,IAA+B,mBAAoB,CAGvE,GAAM,IAAW,GAAG,KAAK,MAAM,OAAO,WAAa,OAG7C,GAAQ,GAAc,MAAO,CAAE,IAAK,GAAQ,OAClD,GAAM,MAAM,SAAW,GAGvB,GAAM,IAAU,GAAc,MAAO,KAAM,KAAM,CAAC,KAGlD,GAAI,IAAQ,GAAS,CAEnB,YAAa,wBACb,QAAS,QACT,KAAM,GACN,cAUC,aAA+B,CACpC,OAAW,MAAQ,CACjB,GACA,GACA,GACA,GACA,IAEA,KCpLJ,YAAiC,GAAoB,CACnD,GAAM,IAAc,GAAM,cACpB,GAAW,SAAS,eAAe,qBACzC,AAAI,GAAS,KACX,CAAI,GAAY,QAAU,GACxB,GAAS,UAAU,IAAI,aAEvB,GAAS,UAAU,OAAO,cAQhC,aAAiC,CAC/B,GAAM,IAAO,SAAS,eAAe,uBAC/B,GAAc,mBAAM,KAAK,MAAM,KAAK,GAC1C,GAAK,aAAa,OAAQ,IAO5B,YAAiC,GAAoB,CACnD,GAAM,IAAwB,GAAM,cAKpC,GAFA,KAEI,IAAyB,KAAM,CACjC,GAAM,IAAO,SAAS,eAAe,uBAC/B,GAAmB,KAAK,GAAsB,QAC9C,GAAc,oBAAM,MAAO,IAAM,GACvC,GAAK,aAAa,OAAQ,KAOvB,aAAiC,CACtC,GAAM,IAAc,SAAS,eAAe,eACtC,GAAW,SAAS,eAAe,qBACzC,AAAI,GAAS,KACX,IAAY,iBAAiB,QAAS,GAAyB,CAC7D,QAAS,KAEX,GAAY,iBAAiB,SAAU,GAAyB,CAC9D,QAAS,KAEX,GAAY,iBAAiB,SAAU,GAAyB,CAC9D,QAAS,KAGP,GAAS,KACX,GAAS,iBACP,QACA,IAAY,yBACV,GAAM,IAAS,GAAI,OAAM,UACzB,GAAY,MAAQ,GACpB,KAAM,IAAI,SAAQ,IAAK,WAAW,GAAG,MACrC,GAAY,cAAc,IAC1B,OAEF,CACE,QAAS,MCzEnB,OAAsB,SCGf,YAAoB,GAAoC,CAC7D,GAAM,IAAwB,GAG9B,UAAQ,aAAe,CACrB,KAAM,AAAC,IACL,kCAAkC,GAAK,qBAAqB,GAAK,eAIjE,GAAQ,aAAa,aACvB,IAAQ,cAAgB,CACtB,MAAO,WAIJ,CACL,QAAS,IDdN,aAAmC,CACxC,OAAW,MAAU,IACnB,wFAEA,GAAI,YAAU,GAAQ,SACjB,GAAW,KADM,CAEpB,WAAY,UAMX,aAAkC,CACvC,YAAqB,GAAiB,GAA4B,CAChE,MAAO,oFAAoF,GACzF,GAAK,mBACO,GAAO,GAAK,cAG5B,OAAW,MAAU,IAA+B,yCAClD,GAAI,YAAU,GAAQ,SACjB,GAAW,KADM,CAEpB,WAAY,OACZ,OAAQ,CACN,OAAQ,GACR,KAAM,OE/Bd,OAA0B,SA2EnB,GAAM,IAAU,CAAC,GAA8B,KAAsC,CAE3F,GAAK,MAAM,QAAQ,IAClB,GAAO,QAAQ,QAIf,QAAS,MAAO,IACf,AAAI,GAAO,eAAe,KACzB,GAAS,GAAO,IAAM,KCvBnB,GAAM,IAAa,CAAE,MAAoC,KAAiC,CAEhG,GAAI,IAAgB,GAAa,IACjC,GAAW,GAAY,IAEvB,GAAM,IAAK,IAAM,CAChB,GAAa,IAAK,IAAO,CACxB,GAAG,UAAU,IAAK,SA0Bd,GAAM,IAAe,AAAC,IAAsC,CAClE,GAAI,IAAmB,GACvB,UAAS,GAAM,AAAC,IAAY,CAC3B,AAAI,MAAO,KAAa,UACvB,IAAW,GAAS,OAAO,MAAM,sBAE9B,MAAM,QAAQ,KACjB,IAAU,GAAQ,OAAO,OAIpB,GAAQ,OAAO,UAQV,GAAc,AAAC,IACtB,OAAM,QAAQ,KACjB,IAAM,CAAC,KAEF,ICtHR,+HCAA,GAAM,IAAQ,eACR,GAAgB,GAAI,QAAO,IAAM,GAAQ,aAAc,MACvD,GAAe,GAAI,QAAO,IAAM,GAAQ,KAAM,MAEpD,YAA0B,GAAY,GAAO,CAC5C,GAAI,CAEH,MAAO,CAAC,mBAAmB,GAAW,KAAK,YACpC,GAAN,EAIF,GAAI,GAAW,SAAW,EACzB,MAAO,IAGR,GAAQ,IAAS,EAGjB,GAAM,IAAO,GAAW,MAAM,EAAG,IAC3B,GAAQ,GAAW,MAAM,IAE/B,MAAO,OAAM,UAAU,OAAO,KAAK,GAAI,GAAiB,IAAO,GAAiB,KAGjF,YAAgB,GAAO,CACtB,GAAI,CACH,MAAO,oBAAmB,UACnB,GAAN,CACD,GAAI,IAAS,GAAM,MAAM,KAAkB,GAE3C,OAAS,IAAI,EAAG,GAAI,GAAO,OAAQ,KAClC,GAAQ,GAAiB,GAAQ,IAAG,KAAK,IAEzC,GAAS,GAAM,MAAM,KAAkB,GAGxC,MAAO,KAIT,YAAkC,GAAO,CAExC,GAAM,IAAa,CAClB,SAAU,eACV,SAAU,gBAGP,GAAQ,GAAa,KAAK,IAC9B,KAAO,IAAO,CACb,GAAI,CAEH,GAAW,GAAM,IAAM,mBAAmB,GAAM,UACzC,GAAN,CACD,GAAM,IAAS,GAAO,GAAM,IAE5B,AAAI,KAAW,GAAM,IACpB,IAAW,GAAM,IAAM,IAIzB,GAAQ,GAAa,KAAK,IAI3B,GAAW,OAAS,SAEpB,GAAM,IAAU,OAAO,KAAK,IAE5B,OAAW,MAAO,IAEjB,GAAQ,GAAM,QAAQ,GAAI,QAAO,GAAK,KAAM,GAAW,KAGxD,MAAO,IAGO,YAA4B,GAAY,CACtD,GAAI,MAAO,KAAe,SACzB,KAAM,IAAI,WAAU,sDAAwD,MAAO,IAAa,KAGjG,GAAI,CAEH,MAAO,oBAAmB,UACnB,GAAN,CAED,MAAO,IAAyB,KCvFnB,YAAsB,GAAQ,GAAW,CACvD,GAAI,CAAE,OAAO,KAAW,UAAY,MAAO,KAAc,UACxD,KAAM,IAAI,WAAU,iDAGrB,GAAI,KAAW,IAAM,KAAc,GAClC,MAAO,GAGR,GAAM,IAAiB,GAAO,QAAQ,IAEtC,MAAI,MAAmB,GACf,GAGD,CACN,GAAO,MAAM,EAAG,IAChB,GAAO,MAAM,GAAiB,GAAU,SCjBnC,YAAqB,GAAQ,GAAW,CAC9C,GAAM,IAAS,GAEf,GAAI,MAAM,QAAQ,IACjB,OAAW,MAAO,IAAW,CAC5B,GAAM,IAAa,OAAO,yBAAyB,GAAQ,IAC3D,AAAI,oBAAY,aACf,OAAO,eAAe,GAAQ,GAAK,QAKrC,QAAW,MAAO,SAAQ,QAAQ,IAAS,CAC1C,GAAM,IAAa,OAAO,yBAAyB,GAAQ,IAC3D,GAAI,GAAW,WAAY,CAC1B,GAAM,IAAQ,GAAO,IACrB,AAAI,GAAU,GAAK,GAAO,KACzB,OAAO,eAAe,GAAQ,GAAK,KAMvC,MAAO,IHnBR,GAAM,IAAoB,IAAS,IAAU,KAGvC,GAAkB,IAAU,mBAAmB,IAAQ,WAAW,WAAY,IAAK,IAAI,GAAE,WAAW,GAAG,SAAS,IAAI,iBAEpH,GAA2B,OAAO,4BAExC,YAA+B,GAAS,CACvC,OAAQ,GAAQ,iBACV,QACJ,MAAO,KAAO,CAAC,GAAQ,KAAU,CAChC,GAAM,IAAQ,GAAO,OAErB,MACC,MAAU,QACN,GAAQ,UAAY,KAAU,MAC9B,GAAQ,iBAAmB,KAAU,GAElC,GAGJ,KAAU,KACN,CACN,GAAG,GAAQ,CAAC,GAAO,GAAK,IAAU,IAAK,GAAO,KAAK,KAAK,KAInD,CACN,GAAG,GACH,CAAC,GAAO,GAAK,IAAU,IAAK,GAAO,GAAO,IAAU,KAAM,GAAO,GAAO,KAAU,KAAK,UAKrF,UACJ,MAAO,KAAO,CAAC,GAAQ,KAErB,KAAU,QACN,GAAQ,UAAY,KAAU,MAC9B,GAAQ,iBAAmB,KAAU,GAElC,GAGJ,KAAU,KACN,CACN,GAAG,GACH,CAAC,GAAO,GAAK,IAAU,MAAM,KAAK,KAI7B,CACN,GAAG,GACH,CAAC,GAAO,GAAK,IAAU,MAAO,GAAO,GAAO,KAAU,KAAK,SAKzD,uBACJ,MAAO,KAAO,CAAC,GAAQ,KAErB,KAAU,QACN,GAAQ,UAAY,KAAU,MAC9B,GAAQ,iBAAmB,KAAU,GAElC,GAGJ,KAAU,KACN,CACN,GAAG,GACH,CAAC,GAAO,GAAK,IAAU,UAAU,KAAK,KAIjC,CACN,GAAG,GACH,CAAC,GAAO,GAAK,IAAU,SAAU,GAAO,GAAO,KAAU,KAAK,SAK5D,YACA,gBACA,oBAAqB,CACzB,GAAM,IAAoB,GAAQ,cAAgB,oBAC/C,MACA,IAEH,MAAO,KAAO,CAAC,GAAQ,KAErB,KAAU,QACN,GAAQ,UAAY,KAAU,MAC9B,GAAQ,iBAAmB,KAAU,GAElC,GAIR,IAAQ,KAAU,KAAO,GAAK,GAE1B,GAAO,SAAW,EACd,CAAC,CAAC,GAAO,GAAK,IAAU,GAAmB,GAAO,GAAO,KAAU,KAAK,KAGzE,CAAC,CAAC,GAAQ,GAAO,GAAO,KAAU,KAAK,GAAQ,gCAKvD,MAAO,KAAO,CAAC,GAAQ,KAErB,KAAU,QACN,GAAQ,UAAY,KAAU,MAC9B,GAAQ,iBAAmB,KAAU,GAElC,GAGJ,KAAU,KACN,CACN,GAAG,GACH,GAAO,GAAK,KAIP,CACN,GAAG,GACH,CAAC,GAAO,GAAK,IAAU,IAAK,GAAO,GAAO,KAAU,KAAK,MAO9D,YAA8B,GAAS,CACtC,GAAI,IAEJ,OAAQ,GAAQ,iBACV,QACJ,MAAO,CAAC,GAAK,GAAO,KAAgB,CAKnC,GAJA,GAAS,YAAY,KAAK,IAE1B,GAAM,GAAI,QAAQ,UAAW,IAEzB,CAAC,GAAQ,CACZ,GAAY,IAAO,GACnB,OAGD,AAAI,GAAY,MAAS,QACxB,IAAY,IAAO,IAGpB,GAAY,IAAK,GAAO,IAAM,QAI3B,UACJ,MAAO,CAAC,GAAK,GAAO,KAAgB,CAInC,GAHA,GAAS,SAAS,KAAK,IACvB,GAAM,GAAI,QAAQ,OAAQ,IAEtB,CAAC,GAAQ,CACZ,GAAY,IAAO,GACnB,OAGD,GAAI,GAAY,MAAS,OAAW,CACnC,GAAY,IAAO,CAAC,IACpB,OAGD,GAAY,IAAO,CAAC,GAAG,GAAY,IAAM,SAItC,uBACJ,MAAO,CAAC,GAAK,GAAO,KAAgB,CAInC,GAHA,GAAS,WAAW,KAAK,IACzB,GAAM,GAAI,QAAQ,SAAU,IAExB,CAAC,GAAQ,CACZ,GAAY,IAAO,GACnB,OAGD,GAAI,GAAY,MAAS,OAAW,CACnC,GAAY,IAAO,CAAC,IACpB,OAGD,GAAY,IAAO,CAAC,GAAG,GAAY,IAAM,SAItC,YACA,YACJ,MAAO,CAAC,GAAK,GAAO,KAAgB,CACnC,GAAM,IAAU,MAAO,KAAU,UAAY,GAAM,SAAS,GAAQ,sBAC9D,GAAkB,MAAO,KAAU,UAAY,CAAC,IAAW,GAAO,GAAO,IAAS,SAAS,GAAQ,sBACzG,GAAQ,GAAiB,GAAO,GAAO,IAAW,GAClD,GAAM,IAAW,IAAW,GAAiB,GAAM,MAAM,GAAQ,sBAAsB,IAAI,IAAQ,GAAO,GAAM,KAAa,KAAU,KAAO,GAAQ,GAAO,GAAO,IACpK,GAAY,IAAO,QAIhB,oBACJ,MAAO,CAAC,GAAK,GAAO,KAAgB,CACnC,GAAM,IAAU,SAAS,KAAK,IAG9B,GAFA,GAAM,GAAI,QAAQ,OAAQ,IAEtB,CAAC,GAAS,CACb,GAAY,IAAO,IAAQ,GAAO,GAAO,IACzC,OAGD,GAAM,IAAa,KAAU,KAC1B,GACA,GAAM,MAAM,GAAQ,sBAAsB,IAAI,IAAQ,GAAO,GAAM,KAEtE,GAAI,GAAY,MAAS,OAAW,CACnC,GAAY,IAAO,GACnB,OAGD,GAAY,IAAO,CAAC,GAAG,GAAY,IAAM,GAAG,aAK7C,MAAO,CAAC,GAAK,GAAO,KAAgB,CACnC,GAAI,GAAY,MAAS,OAAW,CACnC,GAAY,IAAO,GACnB,OAGD,GAAY,IAAO,CAAC,GAAG,CAAC,GAAY,KAAM,OAAQ,MAMtD,YAAsC,GAAO,CAC5C,GAAI,MAAO,KAAU,UAAY,GAAM,SAAW,EACjD,KAAM,IAAI,WAAU,wDAItB,YAAgB,GAAO,GAAS,CAC/B,MAAI,IAAQ,OACJ,GAAQ,OAAS,GAAgB,IAAS,mBAAmB,IAG9D,GAGR,YAAgB,GAAO,GAAS,CAC/B,MAAI,IAAQ,OACJ,GAAgB,IAGjB,GAGR,YAAoB,GAAO,CAC1B,MAAI,OAAM,QAAQ,IACV,GAAM,OAGV,MAAO,KAAU,SACb,GAAW,OAAO,KAAK,KAC5B,KAAK,CAAC,GAAG,KAAM,OAAO,IAAK,OAAO,KAClC,IAAI,IAAO,GAAM,KAGb,GAGR,YAAoB,GAAO,CAC1B,GAAM,IAAY,GAAM,QAAQ,KAChC,MAAI,MAAc,IACjB,IAAQ,GAAM,MAAM,EAAG,KAGjB,GAGR,YAAiB,GAAK,CACrB,GAAI,IAAO,GACL,GAAY,GAAI,QAAQ,KAC9B,MAAI,MAAc,IACjB,IAAO,GAAI,MAAM,KAGX,GAGR,YAAoB,GAAO,GAAS,CACnC,MAAI,IAAQ,cAAgB,CAAC,OAAO,MAAM,OAAO,MAAY,MAAO,KAAU,UAAY,GAAM,SAAW,GAC1G,GAAQ,OAAO,IACL,GAAQ,eAAiB,KAAU,MAAS,IAAM,gBAAkB,QAAU,GAAM,gBAAkB,UAChH,IAAQ,GAAM,gBAAkB,QAG1B,GAGD,YAAiB,GAAO,CAC9B,GAAQ,GAAW,IACnB,GAAM,IAAa,GAAM,QAAQ,KACjC,MAAI,MAAe,GACX,GAGD,GAAM,MAAM,GAAa,GAG1B,YAAe,GAAO,GAAS,CACrC,GAAU,IACT,OAAQ,GACR,KAAM,GACN,YAAa,OACb,qBAAsB,IACtB,aAAc,GACd,cAAe,IACZ,IAGJ,GAA6B,GAAQ,sBAErC,GAAM,IAAY,GAAqB,IAGjC,GAAc,OAAO,OAAO,MAQlC,GANI,MAAO,KAAU,UAIrB,IAAQ,GAAM,OAAO,QAAQ,SAAU,IAEnC,CAAC,IACJ,MAAO,IAGR,OAAW,MAAa,IAAM,MAAM,KAAM,CACzC,GAAI,KAAc,GACjB,SAGD,GAAM,IAAa,GAAQ,OAAS,GAAU,WAAW,IAAK,KAAO,GAEjE,CAAC,GAAK,IAAS,GAAa,GAAY,KAE5C,AAAI,KAAQ,QACX,IAAM,IAKP,GAAQ,KAAU,OAAY,KAAQ,CAAC,QAAS,YAAa,qBAAqB,SAAS,GAAQ,aAAe,GAAQ,GAAO,GAAO,IACxI,GAAU,GAAO,GAAK,IAAU,GAAO,IAGxC,OAAW,CAAC,GAAK,KAAU,QAAO,QAAQ,IACzC,GAAI,MAAO,KAAU,UAAY,KAAU,KAC1C,OAAW,CAAC,GAAM,KAAW,QAAO,QAAQ,IAC3C,GAAM,IAAQ,GAAW,GAAQ,QAGlC,IAAY,IAAO,GAAW,GAAO,IAIvC,MAAI,IAAQ,OAAS,GACb,GAKA,IAAQ,OAAS,GAAO,OAAO,KAAK,IAAa,OAAS,OAAO,KAAK,IAAa,KAAK,GAAQ,OAAO,OAAO,CAAC,GAAQ,KAAQ,CACtI,GAAM,IAAQ,GAAY,IAC1B,UAAO,IAAO,QAAQ,KAAU,MAAO,KAAU,UAAY,CAAC,MAAM,QAAQ,IAAS,GAAW,IAAS,GAClG,IACL,OAAO,OAAO,OAGX,YAAmB,GAAQ,GAAS,CAC1C,GAAI,CAAC,GACJ,MAAO,GAGR,GAAU,IACT,OAAQ,GACR,OAAQ,GACR,YAAa,OACb,qBAAsB,KACnB,IAGJ,GAA6B,GAAQ,sBAErC,GAAM,IAAe,IACnB,GAAQ,UAAY,GAAkB,GAAO,MAC1C,GAAQ,iBAAmB,GAAO,MAAS,GAG1C,GAAY,GAAsB,IAElC,GAAa,GAEnB,OAAW,CAAC,GAAK,KAAU,QAAO,QAAQ,IACzC,AAAK,GAAa,KACjB,IAAW,IAAO,IAIpB,GAAM,IAAO,OAAO,KAAK,IAEzB,MAAI,IAAQ,OAAS,IACpB,GAAK,KAAK,GAAQ,MAGZ,GAAK,IAAI,IAAO,CACtB,GAAM,IAAQ,GAAO,IAErB,MAAI,MAAU,OACN,GAGJ,KAAU,KACN,GAAO,GAAK,IAGhB,MAAM,QAAQ,IACb,GAAM,SAAW,GAAK,GAAQ,cAAgB,oBAC1C,GAAO,GAAK,IAAW,KAGxB,GACL,OAAO,GAAU,IAAM,IACvB,KAAK,KAGD,GAAO,GAAK,IAAW,IAAM,GAAO,GAAO,MAChD,OAAO,IAAK,GAAE,OAAS,GAAG,KAAK,KAG5B,YAAkB,GAAK,GAAS,CArcvC,UAscC,GAAU,IACT,OAAQ,IACL,IAGJ,GAAI,CAAC,GAAM,IAAQ,GAAa,GAAK,KAErC,MAAI,MAAS,QACZ,IAAO,IAGD,IACN,IAAK,2BAAM,MAAM,OAAZ,eAAmB,KAAnB,QAAyB,GAC9B,MAAO,GAAM,GAAQ,IAAM,KACvB,IAAW,GAAQ,yBAA2B,GAAO,CAAC,mBAAoB,GAAO,GAAM,KAAY,IAIlG,YAAsB,GAAQ,GAAS,CAC7C,GAAU,IACT,OAAQ,GACR,OAAQ,IACP,IAA2B,IACzB,IAGJ,GAAM,IAAM,GAAW,GAAO,KAAK,MAAM,KAAK,IAAM,GAC9C,GAAe,GAAQ,GAAO,KAE9B,GAAQ,SACV,GAAM,GAAc,CAAC,KAAM,MAC3B,GAAO,OAGP,GAAc,GAAU,GAAO,IACnC,QAAgB,IAAI,MAEpB,GAAI,IAAO,GAAQ,GAAO,KAC1B,GAAI,MAAO,IAAO,oBAAuB,SAAU,CAClD,GAAM,IAA6B,GAAI,KAAI,IAC3C,GAA2B,KAAO,GAAO,mBACzC,GAAO,GAAQ,IAA4B,GAA2B,KAAO,IAAI,GAAO,qBAGzF,MAAO,GAAG,KAAM,KAAc,KAGxB,YAAc,GAAO,GAAQ,GAAS,CAC5C,GAAU,IACT,wBAAyB,IACxB,IAA2B,IACzB,IAGJ,GAAM,CAAC,OAAK,SAAO,uBAAsB,GAAS,GAAO,IAEzD,MAAO,IAAa,CACnB,OACA,MAAO,GAAY,GAAO,IAC1B,uBACE,IAGG,YAAiB,GAAO,GAAQ,GAAS,CAC/C,GAAM,IAAkB,MAAM,QAAQ,IAAU,IAAO,CAAC,GAAO,SAAS,IAAO,CAAC,GAAK,KAAU,CAAC,GAAO,GAAK,IAE5G,MAAO,IAAK,GAAO,GAAiB,IItgBrC,GAAO,IAAQ,GCCf,OAAsB,SCgDf,YAA6B,GAA6C,CAC/E,GAAI,MAAM,QAAQ,KAChB,OAAW,MAAQ,IACjB,GAAI,MAAO,KAAS,UAAY,KAAS,MACnC,aAAe,KAAQ,cAAgB,IACzC,MACE,OAAQ,IAA0B,WAAc,UAChD,MAAQ,IAA0B,YAAe,SAM3D,MAAO,GCxDF,oBAA+B,IAAwB,CAOrD,WAAW,GAAuD,CACvE,GAAM,IAAQ,KAAK,IAAI,IACvB,MAAI,OAAO,KAAU,YACZ,GAAM,WAER,KASF,WAAW,GAA6C,CAC7D,GAAM,IAAQ,KAAK,IAAI,IACvB,MAAI,OAAO,KAAU,YACZ,GAAM,WAER,GAUF,YAAY,GAAmB,GAA+C,CACnF,GAAM,IAAU,KAAK,IAAI,IACzB,GAAI,GAAS,IAAU,CACrB,GAAM,CAAE,eAAe,GACvB,YAAK,IAAI,GAAW,CAAE,cAAY,gBAC3B,GAET,MAAO,GAQF,YAAY,GAAuC,CACxD,GAAI,GAAS,IAAO,CAClB,GAAM,IAAe,KAAK,MAAM,IAEhC,GAAI,GAAoB,IACtB,OAAW,CAAE,cAAY,eAAe,IAEtC,KAAK,IAAI,GAAW,CAAE,cAAY,WAAY,SAGhD,MAAM,IAAI,OACR,uEAAuE,UFzD1E,oBAA+B,WAAU,CAc9C,YAAa,GAA4B,GAA+C,CACtF,MAAM,GAAW,IAbH,qBAAkC,MAGjC,sBAA2B,GAAI,MAC/B,uBAA4B,GAAI,MAChC,wBAAkC,GAAI,KACtC,qBAAyB,GAAI,MAU5C,KAAK,QAAU,KAAK,MAAM,aAAa,YAGvC,KAAK,WAAa,KAAK,MAAM,aAAa,mBAAqB,KAAK,SAAS,WAC7E,KAAK,WAAa,KAAK,MAAM,aAAa,mBAAqB,KAAK,SAAS,WAC7E,KAAK,cAAgB,KAAK,MAAM,aAAa,sBAAwB,KAAK,SAAS,cACnF,KAAK,iBAAmB,KAAK,MAAM,aAAa,yBAA2B,cAC3E,KAAK,WAAa,KAAK,MAAM,aAAa,mBAAqB,SAC/D,KAAK,YAAc,KAAK,MAAM,aAAa,oBAAsB,KACjE,KAAK,WAAa,KAAK,MAAM,aAAa,mBAAqB,KAG/D,GAAM,IAAa,KAAK,MAAM,aAAa,oBAC3C,GAAI,GAAY,CACd,GAAI,IAAa,KAAK,SAAS,WAC3B,GAAa,KAAK,SAAS,WAC/B,KAAK,WAAa,GAClB,KAAK,WAAW,IAAc,OAC9B,KAAK,WAAW,IAAc,GAIhC,KAAK,kBACL,OAAW,CAAC,GAAK,KAAU,MAAK,aAAa,UAC3C,KAAK,YAAY,IAAI,GAAK,IAI5B,KAAK,mBACL,OAAW,MAAU,MAAK,cAAc,OACtC,KAAK,kBAAkB,IAIzB,KAAK,cACL,OAAW,MAAU,MAAK,WAAW,OACnC,KAAK,iBAAiB,IAIxB,KAAK,oBAGP,KAAK,GAAe,CAClB,GAAM,IAAO,KAIb,GAAK,eAGD,GAAK,YAAc,CAAC,IACtB,GAAK,UAAU,GAAK,YAItB,GAAM,IAAM,GAAK,cAAc,IAC/B,AAAI,CAAC,IAIL,IAAW,GAAK,QAAS,GAAK,SAAS,cACvC,GAAK,UAGL,MAAM,IACH,KAAK,IAAY,GAAS,QAC1B,KAAK,IAAW,CACf,GAAM,IAAkB,GAAQ,QAC5B,GAAkB,GACtB,OAAS,MAAU,IAAS,CAC1B,GAAM,IAAS,GAAK,kBAAkB,IACtC,GAAQ,KAAK,IAEf,MAAO,MAGR,KAAK,IAAW,CACf,GAAK,aAAa,GAAS,MAC1B,MAAM,IAAI,CACX,GAAK,aAAa,GAAI,OAU5B,cAAc,GAAwB,CACpC,GAAI,IAAM,KAAK,QAIT,GAAQ,GACd,OAAW,CAAC,GAAK,KAAU,MAAK,YAAY,UAC1C,GAAM,IAAO,GAIf,OAAW,CAAC,GAAK,KAAU,MAAK,WAAW,UACzC,OAAW,MAAU,MAAK,QAAQ,SAAS,GAAI,QAAO,MAAM,QAAU,MACpE,GAAI,GACF,GAAM,GAAW,GAAK,GAAO,GAAI,GAAM,gBAGvC,OAAO,GAMb,MAAI,KACF,IAAM,EAAO,CAAC,KAIhB,GAAM,MAAW,CAAC,IAClB,GAAM,MAAW,CAAC,KAAK,SAAS,YAEzB,GAAY,aAAa,CAAE,OAAK,WAIzC,kBAAkB,GAAY,CAC5B,GAAI,IAAe,CACjB,GAAI,GAAK,KAAK,YACd,QAAS,GAAK,KAAK,YACnB,MAAO,GAAK,KAAK,aAAe,KAChC,YAAa,GAAK,KAAK,mBAAqB,MAE9C,GAAI,GAAK,KAAK,aAAc,CAC1B,GAAI,IAAe,GAAK,KAAK,aAC7B,GAAO,OAAY,GAAO,KAAK,YAEjC,MAAI,IAAK,KAAK,aACZ,IAAO,MAAW,GAAK,KAAK,aAE1B,GAAK,KAAK,gBACZ,IAAO,SAAc,GAAK,KAAK,gBAE1B,GAUD,iBAAwB,CAC9B,GAAM,IAAa,KAAK,MAAM,aAAa,sBAE3C,GAAI,CACF,GAAI,GAAY,CACd,GAAM,IAAe,KAAK,MAAM,IAChC,GAAI,GACF,OAAW,CAAE,cAAY,gBAAgB,IACvC,AAAI,MAAM,QAAQ,IAChB,KAAK,aAAa,IAAI,GAAY,IAElC,KAAK,aAAa,IAAI,GAAY,CAAC,YAKpC,GAAP,CACA,QAAQ,MAAM,iEAAiE,KAAK,SACpF,QAAQ,KAAK,IACb,QAAQ,YAOJ,kBAAyB,CAC/B,GAAM,IAAa,KAAK,MAAM,aAAa,uBAC3C,GAAI,CACF,KAAK,cAAc,YAAY,UACxB,GAAP,CACA,QAAQ,MAAM,kEAAkE,KAAK,SACrF,QAAQ,KAAK,IACb,QAAQ,YAQJ,aAAc,CACpB,OAAW,MAAU,MAAK,QAAQ,SAAS,GAAI,QAAO,WAAY,MAChE,KAAK,WAAW,IAAI,GAAO,GAAI,IAM3B,kBAAkB,GAAyB,CAEjD,GAAM,IAAU,SAAS,cAAiC,UAAU,QACpE,GAAI,KAAY,KAAM,CAEpB,GAAI,IAAe,GAenB,GAbA,AAAI,GAAQ,SAEV,GAAe,MAAM,KAAK,GAAQ,SAC/B,OAAO,IAAK,GAAE,UACd,IAAI,IAAK,GAAE,OACL,GAAQ,QAAU,IAK3B,IAAe,CAAC,GAAQ,QAGtB,GAAa,OAAS,EAAG,CAE3B,KAAK,cAAc,YAAY,GAAW,IAE1C,GAAM,IAAU,KAAK,cAAc,IAAI,IAEvC,GAAI,MAAO,KAAY,YAAa,CAClC,GAAM,CAAE,cAAY,eAAe,GAC/B,GAAQ,GAEZ,GAAI,KAAK,aAAa,IAAI,IAAa,CAGrC,GAAM,IAAc,KAAK,aAAa,IAAI,IAC1C,AAAI,MAAO,KAAgB,aACzB,IAAQ,CAAC,GAAG,GAAa,GAAG,SAK9B,IAAQ,GAEV,AAAI,GAAM,OAAS,EACjB,KAAK,YAAY,IAAI,GAAY,IAEjC,KAAK,YAAY,OAAO,SAGvB,CAEL,GAAM,IAAa,KAAK,cAAc,WAAW,IACjD,AAAI,KAAe,MACjB,KAAK,YAAY,OAAO,MAOxB,iBAAiB,GAAkB,CACzC,GAAM,IAAM,GAAW,GAAI,QAAS,IAC9B,GAAU,GAA8B,MAAM,MACpD,AAAI,KAAY,MAKZ,KAAK,QAAQ,SAAS,OAAS,QAAQ,KAAK,QAAQ,MAAM,GAAI,QAAO,OAAO,SAAU,QAGtF,CAAI,GAAQ,MAEV,KAAK,WAAW,IAAI,GAAI,GAAQ,OAGhC,KAAK,WAAW,IAAI,GAAI,KAYxB,mBAA0B,CAGhC,GAAM,IAAe,GAAI,KAAI,CAAC,GAAG,KAAK,cAAc,OAAQ,GAAG,KAAK,WAAW,SAE/E,OAAW,MAAO,IAAc,CAC9B,GAAM,IAAgB,SAAS,cAAc,UAAU,QACvD,AAAI,KAAkB,MAEpB,GAAc,iBAAiB,SAAU,IAAS,KAAK,YAAY,KAGrE,KAAK,MAAM,iBAAiB,wBAAwB,KAAO,IAAS,KAAK,YAAY,MAOjF,YAAY,GAAoB,CACtC,GAAM,IAAS,GAAM,OAGrB,KAAK,kBAAkB,GAAO,MAC9B,KAAK,iBAAiB,GAAO,MAG7B,KAAK,QAGL,KAAK,KAAK,KAAK,aGvVnB,GAAM,IAAc,KACd,GAAc,UACd,GAAc,IAGpB,YAAsB,GAAiB,GAA4B,CACjE,GAAI,IAAO,QAGX,MAAI,OAAO,IAAK,OAAU,UAAY,GAAK,MAAQ,GACjD,IAAO,GAAG,KAAO,SAAI,OAAO,GAAK,WAGnC,GAAO,GAAG,KAAO,GAAO,GAAK,OACzB,GAAK,QACP,IAAO,GAAG,mCAAqC,GAAO,GAAK,kBAEzD,GAAK,OACP,IAAO,GAAG,0BAA4B,GAAO,GAAK,iBAEhD,GAAK,aACP,IAAO,GAAG,yCAA2C,GAAO,GAAK,wBAEnE,GAAO,GAAG,WAEH,GAIT,YAAoB,GAAiB,GAA4B,CAC/D,MAAI,IAAK,OACA,QAAQ,GAAO,GAAK,aAAgB,GAAO,GAAK,aAElD,QAAQ,GAAO,GAAK,YAItB,aAAoC,CACzC,OAAW,MAAU,IAA+B,uCAClD,GAAI,IAAiB,GAAQ,SACxB,GAAW,KADa,CAE3B,WAAY,GACZ,WAAY,GACZ,WAAY,GAGZ,YAAa,GAGb,QAAS,QAGT,OAAQ,CACN,OAAQ,GACR,KAAM,IAIR,WAAY,UAAqB,CAC/B,MAAO,OC9DR,aAA6B,CAClC,KACA,KACA,KCGF,YAA6B,GAA4B,GAAsB,CAT/E,OAWE,GAAM,IAAM,OAAQ,gBAAR,eAAuB,cAC7B,GAAM,GAAQ,aAAa,YAEjC,AAAI,GAAS,KACX,GAAS,GAAK,CAAE,YAAU,KAAK,IAAO,CACpC,GAAI,GAAS,IAAM,CAEjB,GAAY,SAAU,QAAS,GAAI,OAAO,OAC1C,WAGA,IAAI,aAAa,oBAAqB,MAMvC,aAAsC,CAC3C,OAAW,MAAW,IAA+B,uBACnD,GAAQ,iBAAiB,QAAS,IAAM,GAAoB,GAAS,YAEvE,OAAW,MAAW,IAA+B,yBACnD,GAAQ,iBAAiB,QAAS,IAAM,GAAoB,GAAS,cCbzE,YAAgG,CACvF,IAA2B,GAAW,GAAQ,GAAsB,CACzE,UAAO,IAAO,GACP,GAGF,IAA2B,GAAW,GAAc,CACzD,MAAO,IAAO,IAET,IAAI,GAAW,GAAsB,CAC1C,MAAO,MAAO,MAOX,QAAgE,CAkBrE,YAAY,GAAQ,GAAuB,CAdnC,oBAIA,iBAIA,mBAIA,cAAc,IAYpB,GATA,KAAK,QAAU,GAGf,AAAI,MAAO,MAAK,QAAQ,KAAQ,SAC9B,KAAK,IAAM,KAAK,QAAQ,IAExB,KAAK,IAAM,KAAK,iBAAiB,IAG/B,KAAK,QAAQ,QAAS,CACxB,GAAM,IAAQ,KAAK,WACnB,AAAI,KAAU,MACZ,IAAM,SAAK,IAAQ,KAIvB,KAAK,SAAW,GAAI,IACpB,KAAK,MAAQ,GAAI,OAAM,GAAK,KAAK,UAE7B,KAAK,QAAQ,SACf,KAAK,OAOD,iBAAiB,GAAgB,CAEvC,MAAO,UADS,OAAO,KAAK,OAAO,KAAK,IAAK,KAAK,UAU7C,IAA2B,GAAc,CAC9C,MAAO,MAAK,SAAS,IAAI,KAAK,MAAO,IAShC,IAA2B,GAAQ,GAAmB,CAC3D,KAAK,SAAS,IAAI,KAAK,MAAO,GAAK,IAC/B,KAAK,QAAQ,SACf,KAAK,OASF,KAAS,CACd,MAAO,MAAK,MAMP,MAAY,CACjB,MAAO,QAAO,KAAK,KAAK,OAMnB,QAAiB,CACtB,MAAO,QAAO,OAAO,KAAK,OAMpB,MAAa,CACnB,GAAM,IAAQ,KAAK,UAAU,KAAK,OAClC,aAAa,QAAQ,KAAK,IAAK,IAQzB,UAAqB,CAC3B,GAAM,IAAM,aAAa,QAAQ,KAAK,KACtC,MAAI,MAAQ,KACG,KAAK,MAAM,IAGnB,OAWJ,YACL,GACA,GAAwB,GACP,CACjB,MAAO,IAAI,IAAgB,GAAS,ICtK/B,GAAM,IAAmB,GAC9B,CAAE,OAAQ,IACV,CAAE,QAAS,GAAM,IAAK,wBCAjB,GAAM,IAAkB,GAC7B,CAAE,KAAM,qBACR,CAAE,QAAS,KCJN,GAAM,IAAuB,GAClC,CAAE,QAAS,MACX,CAAE,QAAS,KCFN,GAAM,IAAc,GACzB,CAAE,OAAQ,IACV,CAAE,QAAS,GAAM,IAAK,kBCSxB,YAA2B,GAAiB,GAAiC,CAC3E,GAAO,aAAa,wBAAyB,GAAS,SAAW,SACjE,GAAO,UAAY,GAAS,wBAA0B,wBAMxD,aAAqC,CACnC,OAAW,MAAW,IAA4B,iBAChD,GAAQ,MAAM,QAAU,GAO5B,aAAqC,CACnC,OAAW,MAAW,IAA4B,iBAChD,GAAQ,MAAM,QAAU,OAU5B,YAA2B,GAAuC,GAAiC,CACjG,GAAM,IAAkB,GAAM,IAAI,UAClC,GAAM,IAAI,SAAU,CAAC,IACrB,GAAM,IAAS,GAAM,IAAI,UAEzB,AAAI,GACF,KAEA,KAEF,GAAkB,GAAQ,IAMrB,aAAiC,CACtC,GAAM,IAAkB,GAAiB,IAAI,UAE7C,OAAW,MAAU,IAA+B,uBAClD,GAAkB,GAAiB,IAEnC,GAAO,iBACL,QACA,IAAS,CACP,GAAkB,GAAkB,GAAM,gBAE5C,IAIJ,AAAI,GACF,KACU,IACV,KCnEJ,YAAsB,GAAkC,CACtD,GAAM,IAAU,MAAM,KAAK,GAAQ,SACnC,OAAS,IAAI,EAAG,GAAI,GAAQ,OAAQ,KAAK,CACvC,GAAM,IAAS,GAAQ,IACvB,AAAI,GAAO,UACT,IAAQ,YAAY,IACpB,GAAQ,aAAa,GAAQ,GAAQ,QAAQ,GAAI,MAYvD,YAAwB,GAAkC,CACxD,GAAM,IAAU,MAAM,KAAK,GAAQ,SACnC,OAAS,IAAI,GAAQ,OAAS,EAAG,IAAK,EAAG,KAAK,CAC5C,GAAI,IAAS,GAAQ,IACrB,GAAI,GAAO,SAAU,CACnB,GAAI,IAAO,GAAQ,QAAQ,GAAI,GAC/B,GAAS,GAAQ,YAAY,IAC7B,GAAO,GAAQ,aAAa,GAAQ,IACpC,GAAQ,aAAa,GAAM,MAQ1B,aAAiC,CACtC,OAAW,MAAU,IAA+B,mBAAoB,CACtE,GAAM,IAAS,GAAO,aAAa,eACnC,GAAI,KAAW,KACb,OAAW,MAAU,IAA+B,IAAI,MACtD,GAAO,iBAAiB,QAAS,IAAM,GAAa,KAI1D,OAAW,MAAU,IAA+B,qBAAsB,CACxE,GAAM,IAAS,GAAO,aAAa,eACnC,GAAI,KAAW,KACb,OAAW,MAAU,IAA+B,IAAI,MACtD,GAAO,iBAAiB,QAAS,IAAM,GAAe,MCjD9D,YAAiB,GAAc,GAAuB,CACpD,MAAO,IACJ,QAAQ,cAAe,IACvB,QAAQ,mBAAoB,IAC5B,QAAQ,WAAY,KACpB,cACA,UAAU,EAAG,IAMX,aAA4B,CACjC,GAAM,IAAY,SAAS,eAAe,WACpC,GAAa,SAAS,eAAe,UAC3C,GAAI,KAAc,MAAQ,KAAe,KACvC,OAEF,GAAM,IAAW,GAAU,aAAa,eAClC,GAAc,SAAS,eAAe,MAAM,MAElD,GAAI,KAAgB,KAAM,CACxB,QAAQ,MAAM,wCACd,OAGF,GAAM,IAAiB,GAAU,aAAa,aAC1C,GAAa,GAEjB,AAAI,IACF,IAAa,OAAO,KAEtB,GAAY,iBAAiB,OAAQ,IAAM,CACzC,AAAK,GAAU,OACb,IAAU,MAAQ,GAAQ,GAAY,MAAO,OAGjD,GAAW,iBAAiB,QAAS,IAAM,CACzC,GAAU,MAAQ,GAAQ,GAAY,MAAO,MCrCjD,YAAuB,GAAoB,CAEzC,GAAI,CAAC,AADU,GAAM,cACT,QACV,OAAW,MAAW,IACpB,gCACA,oBAEA,GAAQ,QAAU,GAWxB,YAA+B,GAAoB,CAEjD,GAAM,IAAiB,GAAM,cAEvB,GAAQ,GAAoC,GAAgB,SAE5D,GAAc,SAAS,eAAe,kBAEtC,GAAkB,SAAS,eAAe,cAEhD,GAAI,KAAU,KAAM,CAClB,OAAW,MAAW,IAAM,iBAC1B,qDAEA,AAAI,GAAe,QAEjB,GAAQ,QAAU,GAGlB,GAAQ,QAAU,GAGtB,AAAI,KAAgB,MAClB,CAAI,GAAe,QAEjB,GAAY,UAAU,OAAO,UAG7B,IAAY,UAAU,IAAI,UACtB,KAAoB,MAGtB,IAAgB,QAAU,OAU7B,aAA+B,CACpC,OAAW,MAAW,IACpB,+CAEA,GAAQ,iBAAiB,SAAU,IAErC,OAAW,MAAW,IAA8B,qCAClD,GAAQ,iBAAiB,SAAU,IClEvC,aAAqC,CATrC,OAUE,WAAO,iBAAP,SAAuB,kBAUzB,YACE,GACA,GACM,CACN,GAAM,IAAI,UAAW,IAWvB,YACE,GACA,GACA,GACM,CACN,GAAI,IAAwB,GAC5B,OAAW,MAAW,IAAa,CACjC,GAAM,IAAe,GAMrB,GAJI,KAA0B,IAC5B,IAAa,QAAU,GAAmB,SAGxC,KAAY,GAAsB,CACpC,GAAI,KAA0B,GAAM,CAClC,GAAwB,GACxB,OAEF,GAAwB,GACxB,GAAa,QAAU,GAAmB,QAG5C,GAAI,KAAY,GAAoB,CAClC,GAAI,KAA0B,GAAM,CAClC,GAAwB,GACxB,OAEF,GAAwB,KAY9B,YAAuB,GAAmB,GAAiD,CACzF,GAAM,IAAqB,GAAM,OAC3B,GAAuB,GAAM,IAAI,WAGvC,GAFA,GAA2B,GAAoB,IAE3C,CAAC,GAAM,SACT,OAIF,GAFA,KAEI,KAAyB,KAC3B,MAAO,IAA2B,GAAoB,IAExD,GAAM,IAAe,GAA8B,qCACnD,GAAoB,GAAoB,GAAsB,IAMzD,aAAoC,CACzC,GAAM,IAAmB,GAA8B,qCACvD,OAAW,MAAW,IACpB,GAAQ,iBAAiB,QAAS,IAAS,CACzC,KAEA,GAAM,kBACN,GAAc,GAAO,MCvF3B,YAA6B,GAAgC,CAC3D,GAAM,IAAgB,GAAe,cAAc,yBAC7C,GAAW,GAAe,cAAc,YACxC,GAAU,GAAe,cAAc,eAM7C,GAAI,CAAC,GAAS,GAAS,MAAM,QAAS,CACpC,GAAM,CAAE,WAAW,GAAS,wBAC5B,GAAS,MAAM,OAAS,GAAG,OAO7B,GAAc,iBAAiB,qBAAsB,IAAK,CACxD,GAAE,OAAO,WAAa,CAAE,KAAM,GAAS,OAAS,IAChD,GAAE,OAAO,QAAQ,eAAiB,OAAO,WACzC,GAAQ,MAAM,UAAY,GAAS,MAAM,OACzC,GAAQ,UAAY,KAIjB,aAAsC,CAC3C,OAAW,MAAkB,UAAS,iBAAiC,oBACrE,GAAoB,IC7BxB,YAA4B,GAAiB,GAAiC,CAC5E,GAAO,aAAa,yBAA0B,GAAS,SAAW,SAClE,GAAO,UAAY,GAAS,cAAgB,cAM9C,aAA4B,CAC1B,GAAM,IAAS,GAAW,UAC1B,GAAI,GAAS,IAAS,CACpB,GAAM,IAAQ,GAAO,aAAa,eAClC,AAAI,GAAS,KACX,IAAO,UAAY,KAQzB,aAA4B,CAC1B,GAAM,IAAS,GAAW,UAC1B,GAAI,GAAS,IAAS,CACpB,GAAM,IAAQ,GAAO,aAAa,eAClC,AAAI,GAAS,KACX,IAAO,UAAY,qDAWzB,YAA4B,GAAkC,GAAiC,CAC7F,GAAM,IAAI,SAAU,CAAC,GAAM,IAAI,WAC/B,GAAM,IAAS,GAAM,IAAI,UAEzB,AAAI,GACF,KAEA,KAEF,GAAmB,GAAQ,IAG7B,YAAwB,GAAmB,CACzC,GAAmB,GAAa,GAAM,eAMjC,aAAkC,CACvC,KACA,OAAW,MAAU,IAA+B,wBAClD,GAAO,oBAAoB,QAAS,IACpC,GAAO,iBAAiB,QAAS,IChE9B,aAA6B,CAClC,OAAW,MAAQ,CACjB,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAEA,KClBJ,GAAM,IAAiB,oBAKvB,YAAqB,GAAoC,CACvD,MAAO,MAAU,QAAU,KAAU,QASvC,YAAwB,GAAuB,CAC7C,MAAO,cAAa,QAAQ,GAAgB,IAG9C,YAAwB,GAA6B,CArBrD,UAsBE,GAAM,IAAO,SAAS,cAAc,QACpC,AAAI,IAAQ,IAAc,OACxB,GAAK,aAAa,gBAAiB,QAC1B,IACT,GAAK,aAAa,gBAAiB,SAGrC,OAAW,MAAa,IAA+B,mBAAoB,CACzE,GAAM,IAAM,WAAU,kBAAV,eAA2B,cAAc,SAAzC,QAAmD,KAC/D,AAAI,KAAQ,MACV,GAAI,aAAa,gBAAiB,KAUjC,YAAsB,GAAuB,CAClD,GAAe,IACf,GAAe,IAMjB,aAAuC,CACrC,GAAM,IAAe,aAAa,QAAQ,IAC1C,AAAI,KAAiB,QACnB,GAAa,QACR,AAAI,KAAiB,OAC1B,GAAa,SAEb,QAAQ,KAAK,8CAOjB,aAAkC,CAEhC,GAAM,IAAe,aAAa,QAAQ,IAE1C,GAAI,GAAS,IACX,MAAO,IAAa,IAGtB,GAAI,IAAkC,OAGtC,OAAW,MAAQ,CAAC,OAAQ,SAC1B,GAAI,OAAO,WAAW,0BAA0B,OAAS,QAAS,CAChE,GAAa,GACb,MAIJ,GAAI,GAAS,KAAiB,GAAY,IACxC,MAAO,IAAa,IAGtB,OAAQ,QACD,OACH,MAAO,IAAa,YACjB,QACH,MAAO,IAAa,aACjB,OACH,MAAO,IAAa,iBAEpB,MAAO,IAAa,UAO1B,aAAqC,CACnC,OAAW,MAAW,IAA+B,4BACnD,GAAQ,iBAAiB,QAAS,IAO/B,aAA+B,CACpC,OAAO,iBAAiB,OAAQ,IAChC,OAAW,MAAQ,CAAC,IAClB,KC5GG,aAA8B,CACnC,GAAM,IAAW,SAAS,iBACxB,0CAEF,OAAW,MAAW,IACpB,AAAI,KAAY,MAEd,AADc,GAAI,IAAM,IAClB,OCZZ,OAAsB,SAGf,aAA+B,CACpC,OAAW,MAAW,IAAY,iBAChC,GAAI,YAAU,ICLX,GAAI,IAAQ,CACf,WACA,UACA,cACA,YACA,YACA,gBACA,SACA,gBACA,UACA,gBACA,eACA,yBAEO,GAAW,CAClB,SAAU,GACV,WAAY,GACZ,oBAAqB,GACrB,UAAW,SACX,SAAU,GACV,cAAe,qBACf,QAAS,MAAO,SAAW,UACvB,OAAO,UAAU,UAAU,QAAQ,UAAY,GACnD,eAAgB,SAChB,oBAAqB,GACrB,WAAY,GACZ,cAAe,GACf,YAAa,KACb,WAAY,QACZ,YAAa,GACb,cAAe,EACf,eAAgB,EAChB,QAAS,GACT,cAAe,GACf,cAAe,GACf,WAAY,GACZ,aAAc,SAAU,GAAK,CACzB,MAAO,OAAO,UAAY,aAAe,QAAQ,KAAK,KAE1D,QAAS,SAAU,GAAW,CAC1B,GAAI,IAAO,GAAI,MAAK,GAAU,WAC9B,GAAK,SAAS,EAAG,EAAG,EAAG,GACvB,GAAK,QAAQ,GAAK,UAAY,EAAM,IAAK,SAAW,GAAK,GACzD,GAAI,IAAQ,GAAI,MAAK,GAAK,cAAe,EAAG,GAC5C,MAAQ,GACJ,KAAK,MAAQ,KAAK,UAAY,GAAM,WAAa,MAC7C,EACE,IAAM,SAAW,GAAK,GACxB,IAEZ,cAAe,EACf,qBAAsB,GACtB,OAAQ,GACR,OAAQ,UACR,gBAAiB,EACjB,KAAM,SACN,kBAAmB,WACnB,UAAW,yOACX,WAAY,GACZ,IAAK,GAAI,MACT,SAAU,GACV,QAAS,GACT,YAAa,GACb,UAAW,GACX,UAAW,GACX,cAAe,GACf,OAAQ,GACR,cAAe,GACf,QAAS,GACT,cAAe,GACf,aAAc,GACd,sBAAuB,GACvB,QAAS,GACT,SAAU,OACV,gBAAiB,OACjB,UAAW,uOACX,sBAAuB,GACvB,WAAY,EACZ,OAAQ,GACR,UAAW,GACX,YAAa,GACb,KAAM,ICjFH,GAAI,IAAU,CACjB,SAAU,CACN,UAAW,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OACtD,SAAU,CACN,SACA,SACA,UACA,YACA,WACA,SACA,aAGR,OAAQ,CACJ,UAAW,CACP,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAEJ,SAAU,CACN,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,aAGR,YAAa,CAAC,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAC1D,eAAgB,EAChB,QAAS,SAAU,GAAK,CACpB,GAAI,IAAI,GAAM,IACd,GAAI,GAAI,GAAK,GAAI,GACb,MAAO,KACX,OAAQ,GAAI,QACH,GACD,MAAO,SACN,GACD,MAAO,SACN,GACD,MAAO,aAEP,MAAO,OAGnB,eAAgB,OAChB,iBAAkB,KAClB,YAAa,sBACb,YAAa,kBACb,KAAM,CAAC,KAAM,MACb,cAAe,OACf,eAAgB,QAChB,cAAe,OACf,gBAAiB,SACjB,UAAW,IAER,GAAQ,GCvER,GAAI,IAAM,SAAU,GAAQ,GAAQ,CACvC,MAAI,MAAW,QAAU,IAAS,GAC1B,OAAQ,IAAQ,MAAM,GAAS,KAEhC,GAAM,SAAU,GAAM,CAAE,MAAQ,MAAS,GAAO,EAAI,GACxD,YAAkB,GAAI,GAAM,CAC/B,GAAI,IACJ,MAAO,WAAY,CACf,GAAI,IAAQ,KACR,GAAO,UACX,aAAa,IACb,GAAI,WAAW,UAAY,CAAE,MAAO,IAAG,MAAM,GAAO,KAAU,KAG/D,GAAI,IAAW,SAAU,GAAK,CACjC,MAAO,cAAe,OAAQ,GAAM,CAAC,KCflC,YAAqB,GAAM,GAAW,GAAM,CAC/C,GAAI,KAAS,GACT,MAAO,IAAK,UAAU,IAAI,IAC9B,GAAK,UAAU,OAAO,IAEnB,YAAuB,GAAK,GAAW,GAAS,CACnD,GAAI,IAAI,OAAO,SAAS,cAAc,IACtC,UAAY,IAAa,GACzB,GAAU,IAAW,GACrB,GAAE,UAAY,GACV,KAAY,QACZ,IAAE,YAAc,IACb,GAEJ,YAAmB,GAAM,CAC5B,KAAO,GAAK,YACR,GAAK,YAAY,GAAK,YAEvB,YAAoB,GAAM,GAAW,CACxC,GAAI,GAAU,IACV,MAAO,IACN,GAAI,GAAK,WACV,MAAO,IAAW,GAAK,WAAY,IAGpC,YAA2B,GAAgB,GAAM,CACpD,GAAI,IAAU,GAAc,MAAO,mBAAoB,GAAW,GAAc,QAAS,YAAc,IAAiB,GAAU,GAAc,OAAQ,WAAY,GAAY,GAAc,OAAQ,aAQtM,GAPA,AAAI,UAAU,UAAU,QAAQ,cAAgB,GAC5C,GAAS,KAAO,SAGhB,IAAS,KAAO,OAChB,GAAS,QAAU,QAEnB,KAAS,OACT,OAAS,MAAO,IACZ,GAAS,aAAa,GAAK,GAAK,KACxC,UAAQ,YAAY,IACpB,GAAQ,YAAY,IACpB,GAAQ,YAAY,IACb,GAEJ,YAAwB,GAAO,CAClC,GAAI,CACA,GAAI,MAAO,IAAM,cAAiB,WAAY,CAC1C,GAAI,IAAO,GAAM,eACjB,MAAO,IAAK,GAEhB,MAAO,IAAM,aAEV,GAAP,CACI,MAAO,IAAM,QClDrB,GAAI,IAAY,UAAY,GACjB,GAAa,SAAU,GAAa,GAAW,GAAQ,CAAE,MAAO,IAAO,OAAO,GAAY,YAAc,YAAY,KACpH,GAAY,CACnB,EAAG,GACH,EAAG,SAAU,GAAS,GAAW,GAAQ,CACrC,GAAQ,SAAS,GAAO,OAAO,SAAS,QAAQ,MAEpD,EAAG,SAAU,GAAS,GAAM,CACxB,GAAQ,SAAU,IAAQ,YAAc,GAAK,GAAK,GAAK,WAAW,MAEtE,EAAG,SAAU,GAAS,GAAM,CACxB,GAAQ,SAAS,WAAW,MAEhC,EAAG,SAAU,GAAS,GAAK,CACvB,GAAQ,QAAQ,WAAW,MAE/B,EAAG,SAAU,GAAS,GAAM,GAAQ,CAChC,GAAQ,SAAU,GAAQ,WAAa,GACnC,GAAK,GAAI,GAAI,QAAO,GAAO,KAAK,GAAI,KAAK,KAAK,OAEtD,EAAG,SAAU,GAAS,GAAY,GAAQ,CACtC,GAAQ,SAAS,GAAO,OAAO,UAAU,QAAQ,MAErD,EAAG,SAAU,GAAS,GAAS,CAC3B,GAAQ,WAAW,WAAW,MAElC,EAAG,SAAU,GAAG,GAAa,CAAE,MAAO,IAAI,MAAK,WAAW,IAAe,MACzE,EAAG,SAAU,GAAS,GAAS,GAAQ,CACnC,GAAI,IAAa,SAAS,IACtB,GAAO,GAAI,MAAK,GAAQ,cAAe,EAAG,EAAK,IAAa,GAAK,EAAG,EAAG,EAAG,EAAG,GACjF,UAAK,QAAQ,GAAK,UAAY,GAAK,SAAW,GAAO,gBAC9C,IAEX,EAAG,SAAU,GAAS,GAAM,CACxB,GAAQ,YAAY,WAAW,MAEnC,EAAG,SAAU,GAAG,GAAS,CAAE,MAAO,IAAI,MAAK,KAC3C,EAAG,SAAU,GAAS,GAAK,CACvB,GAAQ,QAAQ,WAAW,MAE/B,EAAG,SAAU,GAAS,GAAM,CACxB,GAAQ,SAAU,IAAQ,YAAc,GAAK,GAAK,GAAK,WAAW,MAEtE,EAAG,SAAU,GAAS,GAAS,CAC3B,GAAQ,WAAW,WAAW,MAElC,EAAG,SAAU,GAAS,GAAK,CACvB,GAAQ,QAAQ,WAAW,MAE/B,EAAG,GACH,EAAG,SAAU,GAAS,GAAO,CACzB,GAAQ,SAAS,WAAW,IAAS,IAEzC,EAAG,SAAU,GAAS,GAAO,CACzB,GAAQ,SAAS,WAAW,IAAS,IAEzC,EAAG,SAAU,GAAS,GAAS,CAC3B,GAAQ,WAAW,WAAW,MAElC,EAAG,SAAU,GAAG,GAAiB,CAC7B,MAAO,IAAI,MAAK,WAAW,MAE/B,EAAG,GACH,EAAG,SAAU,GAAS,GAAM,CACxB,GAAQ,YAAY,IAAO,WAAW,OAGnC,GAAa,CACpB,EAAG,GACH,EAAG,GACH,EAAG,eACH,EAAG,eACH,EAAG,mBACH,EAAG,GACH,EAAG,GACH,EAAG,eACH,EAAG,OACH,EAAG,eACH,EAAG,WACH,EAAG,OACH,EAAG,eACH,EAAG,eACH,EAAG,eACH,EAAG,eACH,EAAG,GACH,EAAG,eACH,EAAG,eACH,EAAG,eACH,EAAG,OACH,EAAG,eACH,EAAG,YAEI,GAAU,CACjB,EAAG,SAAU,GAAM,CAAE,MAAO,IAAK,eACjC,EAAG,SAAU,GAAM,GAAQ,GAAS,CAChC,MAAO,IAAO,SAAS,UAAU,GAAQ,EAAE,GAAM,GAAQ,MAE7D,EAAG,SAAU,GAAM,GAAQ,GAAS,CAChC,MAAO,IAAW,GAAQ,EAAE,GAAM,GAAQ,IAAW,EAAG,GAAO,KAEnE,EAAG,SAAU,GAAM,GAAQ,GAAS,CAChC,MAAO,IAAI,GAAQ,EAAE,GAAM,GAAQ,MAEvC,EAAG,SAAU,GAAM,CAAE,MAAO,IAAI,GAAK,aACrC,EAAG,SAAU,GAAM,GAAQ,CACvB,MAAO,IAAO,UAAY,OACpB,GAAK,UAAY,GAAO,QAAQ,GAAK,WACrC,GAAK,WAEf,EAAG,SAAU,GAAM,GAAQ,CAAE,MAAO,IAAO,KAAK,GAAI,GAAK,WAAa,MACtE,EAAG,SAAU,GAAM,GAAQ,CACvB,MAAO,IAAW,GAAK,WAAY,GAAM,KAE7C,EAAG,SAAU,GAAM,CAAE,MAAO,IAAI,GAAK,eACrC,EAAG,SAAU,GAAM,CAAE,MAAO,IAAK,UAAY,KAC7C,EAAG,SAAU,GAAM,GAAG,GAAS,CAC3B,MAAO,IAAQ,QAAQ,KAE3B,EAAG,SAAU,GAAM,CAAE,MAAO,IAAI,GAAK,cAAe,IACpD,EAAG,SAAU,GAAM,CAAE,MAAO,IAAI,GAAK,YACrC,EAAG,SAAU,GAAM,CAAE,MAAQ,IAAK,WAAa,GAAK,GAAK,WAAa,GAAK,IAC3E,EAAG,SAAU,GAAM,CAAE,MAAO,IAAI,GAAK,eACrC,EAAG,SAAU,GAAM,CAAE,MAAO,IAAK,WACjC,EAAG,SAAU,GAAM,GAAQ,CACvB,MAAO,IAAO,SAAS,SAAS,GAAK,WAEzC,EAAG,SAAU,GAAM,CAAE,MAAO,IAAI,GAAK,WAAa,IAClD,EAAG,SAAU,GAAM,CAAE,MAAO,IAAK,WAAa,GAC9C,EAAG,SAAU,GAAM,CAAE,MAAO,IAAK,cACjC,EAAG,SAAU,GAAM,CAAE,MAAO,IAAK,WACjC,EAAG,SAAU,GAAM,CAAE,MAAO,IAAK,UACjC,EAAG,SAAU,GAAM,CAAE,MAAO,QAAO,GAAK,eAAe,UAAU,KCjI9D,GAAI,IAAsB,SAAU,GAAI,CAC3C,GAAI,IAAK,GAAG,OAAQ,GAAS,KAAO,OAAS,GAAW,GAAI,GAAK,GAAG,KAAM,GAAO,KAAO,OAAS,GAAU,GAAI,GAAK,GAAG,SAAU,GAAW,KAAO,OAAS,GAAQ,GACpK,MAAO,UAAU,GAAS,GAAM,GAAgB,CAC5C,GAAI,IAAS,IAAkB,GAC/B,MAAI,IAAO,aAAe,QAAa,CAAC,GAC7B,GAAO,WAAW,GAAS,GAAM,IAErC,GACF,MAAM,IACN,IAAI,SAAU,GAAG,GAAG,GAAK,CAC1B,MAAO,IAAQ,KAAM,GAAI,GAAI,KAAO,KAC9B,GAAQ,IAAG,GAAS,GAAQ,IAC5B,KAAM,KACF,GACA,KAET,KAAK,MAGP,GAAmB,SAAU,GAAI,CACxC,GAAI,IAAK,GAAG,OAAQ,GAAS,KAAO,OAAS,GAAW,GAAI,GAAK,GAAG,KAAM,GAAO,KAAO,OAAS,GAAU,GAC3G,MAAO,UAAU,GAAM,GAAa,GAAU,GAAc,CACxD,GAAI,OAAS,GAAK,CAAC,IAEnB,IAAI,IAAS,IAAgB,GACzB,GACA,GAAW,GACf,GAAI,aAAgB,MAChB,GAAa,GAAI,MAAK,GAAK,mBACtB,MAAO,KAAS,UACrB,GAAK,UAAY,OACjB,GAAa,GAAI,MAAK,YACjB,MAAO,KAAS,SAAU,CAC/B,GAAI,IAAS,IAAgB,KAAU,IAAU,WAC7C,GAAU,OAAO,IAAM,OAC3B,GAAI,KAAY,QACZ,GAAa,GAAI,MACjB,GAAW,WAEN,IAAU,GAAO,UACtB,GAAa,GAAO,UAAU,GAAM,YAE/B,KAAK,KAAK,KACf,OAAO,KAAK,IACZ,GAAa,GAAI,MAAK,QAErB,CAED,OADI,IAAU,OAAQ,GAAM,GACnB,GAAI,EAAG,GAAa,EAAG,GAAW,GAAI,GAAI,GAAO,OAAQ,KAAK,CACnE,GAAI,IAAQ,GAAO,IACf,GAAc,KAAU,KACxB,GAAU,GAAO,GAAI,KAAO,MAAQ,GACxC,GAAI,GAAW,KAAU,CAAC,GAAS,CAC/B,IAAY,GAAW,IACvB,GAAI,IAAQ,GAAI,QAAO,IAAU,KAAK,IACtC,AAAI,IAAU,IAAU,KACpB,GAAI,KAAU,IAAM,OAAS,WAAW,CACpC,GAAI,GAAU,IACd,IAAK,GAAM,EAAE,UAIpB,AAAK,KACN,KAAY,KAEpB,GACI,CAAC,IAAU,CAAC,GAAO,WACb,GAAI,MAAK,GAAI,QAAO,cAAe,EAAG,EAAG,EAAG,EAAG,EAAG,GAClD,GAAI,MAAK,GAAI,QAAO,SAAS,EAAG,EAAG,EAAG,IAChD,GAAI,QAAQ,SAAU,GAAI,CACtB,GAAI,IAAK,GAAG,GAAI,GAAM,GAAG,IACzB,MAAQ,IAAa,GAAG,GAAY,GAAK,KAAW,KAExD,GAAa,GAAU,GAAa,QAG5C,GAAI,CAAE,cAAsB,OAAQ,CAAC,MAAM,GAAW,YAAa,CAC/D,GAAO,aAAa,GAAI,OAAM,0BAA4B,KAC1D,OAEJ,MAAI,MAAa,IACb,GAAW,SAAS,EAAG,EAAG,EAAG,GAC1B,MAGR,YAAsB,GAAO,GAAO,GAAU,CAEjD,MADI,MAAa,QAAU,IAAW,IAClC,KAAa,GACL,GAAI,MAAK,GAAM,WAAW,SAAS,EAAG,EAAG,EAAG,GAChD,GAAI,MAAK,GAAM,WAAW,SAAS,EAAG,EAAG,EAAG,GAE7C,GAAM,UAAY,GAAM,UAQ5B,GAAI,IAAY,SAAU,GAAI,GAAK,GAAK,CAC3C,MAAO,IAAK,KAAK,IAAI,GAAK,KAAQ,GAAK,KAAK,IAAI,GAAK,KAE9C,GAAgC,SAAU,GAAO,GAAS,GAAS,CAC1E,MAAO,IAAQ,KAAO,GAAU,GAAK,IAE9B,GAAe,SAAU,GAAsB,CACtD,GAAI,IAAQ,KAAK,MAAM,GAAuB,MAAO,GAAW,IAAuB,GAAQ,MAAQ,GACvG,MAAO,CAAC,GAAO,GAAS,GAAuB,GAAQ,KAAO,GAAU,KAEjE,GAAW,CAClB,IAAK,OAEF,YAAyB,GAAQ,CACpC,GAAI,IAAQ,GAAO,YACf,GAAU,GAAO,cACjB,GAAU,GAAO,eACrB,GAAI,GAAO,UAAY,OAAW,CAC9B,GAAI,IAAU,GAAO,QAAQ,WACzB,GAAa,GAAO,QAAQ,aAC5B,GAAa,GAAO,QAAQ,aAChC,AAAI,GAAQ,IACR,IAAQ,IAER,KAAU,IAAW,GAAU,IAC/B,IAAU,IAEV,KAAU,IAAW,KAAY,IAAc,GAAU,IACzD,IAAU,GAAO,QAAQ,cAEjC,GAAI,GAAO,UAAY,OAAW,CAC9B,GAAI,IAAQ,GAAO,QAAQ,WACvB,GAAa,GAAO,QAAQ,aAChC,GAAQ,KAAK,IAAI,GAAO,IACpB,KAAU,IACV,IAAU,KAAK,IAAI,GAAY,KAC/B,KAAU,IAAS,KAAY,IAC/B,IAAU,GAAO,QAAQ,cAEjC,MAAO,CAAE,MAAO,GAAO,QAAS,GAAS,QAAS,IC7ItD,aACA,AAAI,MAAO,QAAO,QAAW,YACzB,QAAO,OAAS,SAAU,GAAQ,CAE9B,OADI,IAAO,GACF,GAAK,EAAG,GAAK,UAAU,OAAQ,KACpC,GAAK,GAAK,GAAK,UAAU,IAE7B,GAAI,CAAC,GACD,KAAM,WAAU,8CAOpB,OALI,IAAU,SAAU,GAAQ,CAC5B,AAAI,IACA,OAAO,KAAK,IAAQ,QAAQ,SAAU,GAAK,CAAE,MAAQ,IAAO,IAAO,GAAO,OAGzE,GAAK,EAAG,GAAS,GAAM,GAAK,GAAO,OAAQ,KAAM,CACtD,GAAI,IAAS,GAAO,IACpB,GAAQ,IAEZ,MAAO,MCnBf,GAAI,IAAsC,UAAY,CAClD,UAAW,OAAO,QAAU,SAAS,GAAG,CACpC,OAAS,IAAG,GAAI,EAAG,GAAI,UAAU,OAAQ,GAAI,GAAG,KAAK,CACjD,GAAI,UAAU,IACd,OAAS,MAAK,IAAG,AAAI,OAAO,UAAU,eAAe,KAAK,GAAG,KACzD,IAAE,IAAK,GAAE,KAEjB,MAAO,KAEJ,GAAS,MAAM,KAAM,YAE5B,GAAkD,UAAY,CAC9D,OAAS,IAAI,EAAG,GAAI,EAAG,GAAK,UAAU,OAAQ,GAAI,GAAI,KAAK,IAAK,UAAU,IAAG,OAC7E,OAAS,IAAI,MAAM,IAAI,GAAI,EAAG,GAAI,EAAG,GAAI,GAAI,KACzC,OAAS,IAAI,UAAU,IAAI,GAAI,EAAG,GAAK,GAAE,OAAQ,GAAI,GAAI,KAAK,KAC1D,GAAE,IAAK,GAAE,IACjB,MAAO,KASP,GAAsB,IAC1B,YAA2B,GAAS,GAAgB,CAChD,GAAI,IAAO,CACP,OAAQ,GAAS,GAAS,GAAI,IAAiB,GAAU,eACzD,KAAM,IAEV,GAAK,UAAY,GAAiB,CAAE,OAAQ,GAAK,OAAQ,KAAM,GAAK,OACpE,GAAK,UAAY,GACjB,GAAK,eAAiB,GACtB,GAAK,cAAgB,GACrB,GAAK,MAAQ,GACb,GAAK,kBAAoB,GACzB,GAAK,kBAAoB,GACzB,GAAK,YAAc,GACnB,GAAK,WAAa,GAClB,GAAK,MAAQ,GACb,GAAK,MAAQ,GACb,GAAK,YAAc,GACnB,GAAK,eAAiB,GACtB,GAAK,UAAY,GACjB,GAAK,QAAU,GACf,GAAK,UAAY,GACjB,GAAK,WAAa,GAClB,GAAK,YAAc,GACnB,GAAK,KAAO,GACZ,GAAK,OAAS,GACd,GAAK,IAAM,GACX,GAAK,QAAU,GACf,GAAK,OAAS,GACd,aAAgC,CAC5B,GAAK,MAAQ,CACT,eAAgB,SAAU,GAAO,GAAI,CAGjC,MAFI,MAAU,QAAU,IAAQ,GAAK,cACjC,KAAO,QAAU,IAAK,GAAK,aAC3B,KAAU,GAAO,IAAK,GAAM,GAAK,GAAK,KAAQ,GAAM,GAAK,KAAQ,GAC1D,GACJ,GAAK,KAAK,YAAY,MAIzC,aAAgB,CACZ,GAAK,QAAU,GAAK,MAAQ,GAC5B,GAAK,OAAS,GACd,KACA,KACA,KACA,KACA,KACK,GAAK,UACN,KACJ,KACI,IAAK,cAAc,QAAU,GAAK,OAAO,aACrC,IAAK,OAAO,YACZ,GAAiB,GAAK,OAAO,WAAa,GAAK,sBAAwB,QAE3E,GAAY,KAEhB,KACA,GAAI,IAAW,iCAAiC,KAAK,UAAU,WAC/D,AAAI,CAAC,GAAK,UAAY,IAClB,KAEJ,GAAa,WAEjB,aAAmC,CAC/B,GAAI,IACJ,MAAU,KAAK,GAAK,qBAAuB,MAAQ,KAAO,OAAS,OAAS,GAAG,eAC1E,eAAiB,SAAS,cAEnC,YAAwB,GAAI,CACxB,MAAO,IAAG,KAAK,IAEnB,aAA4B,CACxB,GAAI,IAAS,GAAK,OAClB,AAAI,GAAO,cAAgB,IAAS,GAAO,aAAe,GAGjD,GAAO,aAAe,IAC3B,OAAO,sBAAsB,UAAY,CAKrC,GAJI,GAAK,oBAAsB,QAC3B,IAAK,kBAAkB,MAAM,WAAa,SAC1C,GAAK,kBAAkB,MAAM,QAAU,SAEvC,GAAK,gBAAkB,OAAW,CAClC,GAAI,IAAa,IAAK,KAAK,YAAc,GAAK,GAAO,WACrD,GAAK,cAAc,MAAM,MAAQ,GAAY,KAC7C,GAAK,kBAAkB,MAAM,MACzB,GACK,IAAK,cAAgB,OAChB,GAAK,YAAY,YACjB,GACN,KACR,GAAK,kBAAkB,MAAM,eAAe,cAC5C,GAAK,kBAAkB,MAAM,eAAe,cAK5D,YAAoB,GAAG,CACnB,GAAI,GAAK,cAAc,SAAW,EAAG,CACjC,GAAI,IAAc,GAAK,OAAO,UAAY,QACtC,GAAa,GAAI,MAAQ,GAAK,OAAO,UAAY,EAC/C,GAAI,MACJ,GAAI,MAAK,GAAK,OAAO,QAAQ,WAC/B,GAAW,GAAgB,GAAK,QACpC,GAAY,SAAS,GAAS,MAAO,GAAS,QAAS,GAAS,QAAS,GAAY,mBACrF,GAAK,cAAgB,CAAC,IACtB,GAAK,sBAAwB,GAEjC,AAAI,KAAM,QAAa,GAAE,OAAS,QAC9B,GAAY,IAEhB,GAAI,IAAY,GAAK,OAAO,MAC5B,KACA,KACI,GAAK,OAAO,QAAU,IACtB,GAAK,mBAGb,YAAuB,GAAM,GAAM,CAC/B,MAAQ,IAAO,GAAM,GAAK,GAAI,KAAS,GAAK,KAAK,KAAK,IAE1D,YAAuB,GAAM,CACzB,OAAQ,GAAO,QACN,OACA,IACD,MAAO,YAEP,MAAO,IAAO,IAG1B,aAA8B,CAC1B,GAAI,KAAK,cAAgB,QAAa,GAAK,gBAAkB,QAE7D,IAAI,IAAS,UAAS,GAAK,YAAY,MAAM,MAAM,IAAK,KAAO,GAAK,GAAI,GAAW,UAAS,GAAK,cAAc,MAAO,KAAO,GAAK,GAAI,GAAU,GAAK,gBAAkB,OAChK,UAAS,GAAK,cAAc,MAAO,KAAO,GAAK,GAChD,EACN,AAAI,GAAK,OAAS,QACd,IAAQ,GAAc,GAAO,GAAK,KAAK,cAE3C,GAAI,IAAgB,GAAK,OAAO,UAAY,QACvC,GAAK,OAAO,SACT,GAAK,gBACL,GAAK,uBACL,GAAa,GAAK,sBAAuB,GAAK,OAAO,QAAS,MAC1D,EACR,GAAgB,GAAK,OAAO,UAAY,QACvC,GAAK,OAAO,SACT,GAAK,gBACL,GAAK,uBACL,GAAa,GAAK,sBAAuB,GAAK,OAAO,QAAS,MAC1D,EACZ,GAAI,GAAK,OAAO,UAAY,QACxB,GAAK,OAAO,UAAY,QACxB,GAAK,OAAO,QAAU,GAAK,OAAO,QAAS,CAC3C,GAAI,IAAW,GAA8B,GAAK,OAAO,QAAQ,WAAY,GAAK,OAAO,QAAQ,aAAc,GAAK,OAAO,QAAQ,cAC/H,GAAW,GAA8B,GAAK,OAAO,QAAQ,WAAY,GAAK,OAAO,QAAQ,aAAc,GAAK,OAAO,QAAQ,cAC/H,GAAc,GAA8B,GAAO,GAAS,IAChE,GAAI,GAAc,IAAY,GAAc,GAAU,CAClD,GAAI,IAAS,GAAa,IAC1B,GAAQ,GAAO,GACf,GAAU,GAAO,GACjB,GAAU,GAAO,QAGpB,CACD,GAAI,GAAe,CACf,GAAI,IAAU,GAAK,OAAO,UAAY,OAChC,GAAK,OAAO,QACZ,GAAK,OAAO,QAClB,GAAQ,KAAK,IAAI,GAAO,GAAQ,YAC5B,KAAU,GAAQ,YAClB,IAAU,KAAK,IAAI,GAAS,GAAQ,eACpC,KAAY,GAAQ,cACpB,IAAU,KAAK,IAAI,GAAS,GAAQ,eAE5C,GAAI,GAAe,CACf,GAAI,IAAU,GAAK,OAAO,UAAY,OAChC,GAAK,OAAO,QACZ,GAAK,OAAO,QAClB,GAAQ,KAAK,IAAI,GAAO,GAAQ,YAC5B,KAAU,GAAQ,YAAc,GAAU,GAAQ,cAClD,IAAU,GAAQ,cAClB,KAAY,GAAQ,cACpB,IAAU,KAAK,IAAI,GAAS,GAAQ,gBAGhD,GAAS,GAAO,GAAS,KAE7B,YAA0B,GAAS,CAC/B,GAAI,IAAO,IAAW,GAAK,sBAC3B,AAAI,IAAQ,aAAgB,OACxB,GAAS,GAAK,WAAY,GAAK,aAAc,GAAK,cAG1D,YAAkB,GAAO,GAAS,GAAS,CAIvC,AAHI,GAAK,wBAA0B,QAC/B,GAAK,sBAAsB,SAAS,GAAQ,GAAI,GAAS,IAAW,EAAG,GAEvE,GAAC,GAAK,aAAe,CAAC,GAAK,eAAiB,GAAK,WAErD,IAAK,YAAY,MAAQ,GAAI,AAAC,GAAK,OAAO,UAEpC,GADE,IAAK,IAAS,GAAM,GAAK,GAAI,GAAQ,IAAO,IAEpD,GAAK,cAAc,MAAQ,GAAI,IAC3B,GAAK,OAAS,QACd,IAAK,KAAK,YAAc,GAAK,KAAK,KAAK,GAAI,IAAS,MACpD,GAAK,gBAAkB,QACvB,IAAK,cAAc,MAAQ,GAAI,MAEvC,YAAqB,GAAO,CACxB,GAAI,IAAc,GAAe,IAC7B,GAAO,SAAS,GAAY,OAAU,IAAM,OAAS,GACzD,AAAI,IAAO,IAAO,GACb,GAAM,MAAQ,SAAW,CAAC,QAAQ,KAAK,GAAK,cAC7C,GAAW,IAGnB,YAAc,GAAS,GAAO,GAAS,GAAS,CAC5C,GAAI,aAAiB,OACjB,MAAO,IAAM,QAAQ,SAAU,GAAI,CAAE,MAAO,IAAK,GAAS,GAAI,GAAS,MAC3E,GAAI,aAAmB,OACnB,MAAO,IAAQ,QAAQ,SAAU,GAAI,CAAE,MAAO,IAAK,GAAI,GAAO,GAAS,MAC3E,GAAQ,iBAAiB,GAAO,GAAS,IACzC,GAAK,UAAU,KAAK,CAChB,OAAQ,UAAY,CAAE,MAAO,IAAQ,oBAAoB,GAAO,GAAS,OAGjF,aAAyB,CACrB,GAAa,YAEjB,aAAsB,CAQlB,GAPI,GAAK,OAAO,MACZ,CAAC,OAAQ,QAAS,SAAU,SAAS,QAAQ,SAAU,GAAK,CACxD,MAAM,UAAU,QAAQ,KAAK,GAAK,QAAQ,iBAAiB,SAAW,GAAM,KAAM,SAAU,GAAI,CAC5F,MAAO,IAAK,GAAI,QAAS,GAAK,SAItC,GAAK,SAAU,CACf,KACA,OAEJ,GAAI,IAAkB,GAAS,GAAU,IA2BzC,GA1BA,GAAK,iBAAmB,GAAS,GAAe,IAC5C,GAAK,eAAiB,CAAC,oBAAoB,KAAK,UAAU,YAC1D,GAAK,GAAK,cAAe,YAAa,SAAU,GAAG,CAC/C,AAAI,GAAK,OAAO,OAAS,SACrB,GAAY,GAAe,OAEvC,GAAK,GAAK,OAAQ,UAAW,IACzB,GAAK,oBAAsB,QAC3B,GAAK,GAAK,kBAAmB,UAAW,IAExC,CAAC,GAAK,OAAO,QAAU,CAAC,GAAK,OAAO,QACpC,GAAK,OAAQ,SAAU,IAC3B,AAAI,OAAO,eAAiB,OACxB,GAAK,OAAO,SAAU,aAAc,IAEpC,GAAK,OAAO,SAAU,YAAa,IACvC,GAAK,OAAO,SAAU,QAAS,GAAe,CAAE,QAAS,KACrD,GAAK,OAAO,aAAe,IAC3B,IAAK,GAAK,OAAQ,QAAS,GAAK,MAChC,GAAK,GAAK,OAAQ,QAAS,GAAK,OAEhC,GAAK,gBAAkB,QACvB,IAAK,GAAK,SAAU,QAAS,IAC7B,GAAK,GAAK,SAAU,CAAC,QAAS,aAAc,IAC5C,GAAK,GAAK,cAAe,QAAS,KAElC,GAAK,gBAAkB,QACvB,GAAK,gBAAkB,QACvB,GAAK,cAAgB,OAAW,CAChC,GAAI,IAAU,SAAU,GAAG,CACvB,MAAO,IAAe,IAAG,UAE7B,GAAK,GAAK,cAAe,CAAC,aAAc,IACxC,GAAK,GAAK,cAAe,OAAQ,GAAY,CAAE,QAAS,KACxD,GAAK,GAAK,cAAe,QAAS,IAClC,GAAK,CAAC,GAAK,YAAa,GAAK,eAAgB,CAAC,QAAS,SAAU,IAC7D,GAAK,gBAAkB,QACvB,GAAK,GAAK,cAAe,QAAS,UAAY,CAAE,MAAO,IAAK,eAAiB,GAAK,cAAc,WAChG,GAAK,OAAS,QACd,GAAK,GAAK,KAAM,QAAS,SAAU,GAAG,CAClC,GAAW,MAIvB,AAAI,GAAK,OAAO,YACZ,GAAK,GAAK,OAAQ,OAAQ,IAGlC,YAAoB,GAAU,GAAe,CACzC,GAAI,IAAS,KAAa,OACpB,GAAK,UAAU,IACf,GAAK,uBACF,IAAK,OAAO,SAAW,GAAK,OAAO,QAAU,GAAK,IAC7C,GAAK,OAAO,QACZ,GAAK,OAAO,SAAW,GAAK,OAAO,QAAU,GAAK,IAC9C,GAAK,OAAO,QACZ,GAAK,KACnB,GAAU,GAAK,YACf,GAAW,GAAK,aACpB,GAAI,CACA,AAAI,KAAW,QACX,IAAK,YAAc,GAAO,cAC1B,GAAK,aAAe,GAAO,kBAG5B,GAAP,CACI,GAAE,QAAU,0BAA4B,GACxC,GAAK,OAAO,aAAa,IAE7B,AAAI,IAAiB,GAAK,cAAgB,IACtC,IAAa,gBACb,MAEA,IACC,IAAK,cAAgB,IAAW,GAAK,eAAiB,KACvD,GAAa,iBAEjB,GAAK,SAET,YAAuB,GAAG,CACtB,GAAI,IAAc,GAAe,IACjC,AAAI,CAAC,GAAY,UAAU,QAAQ,UAC/B,GAAkB,GAAG,GAAY,UAAU,SAAS,WAAa,EAAI,IAE7E,YAA2B,GAAG,GAAO,GAAW,CAC5C,GAAI,IAAS,IAAK,GAAe,IAC7B,GAAQ,IACP,IAAU,GAAO,YAAc,GAAO,WAAW,WAClD,GAAQ,GAAY,aACxB,GAAM,MAAQ,GACd,IAAS,GAAM,cAAc,IAEjC,aAAiB,CACb,GAAI,IAAW,OAAO,SAAS,yBAG/B,GAFA,GAAK,kBAAoB,GAAc,MAAO,sBAC9C,GAAK,kBAAkB,SAAW,GAC9B,CAAC,GAAK,OAAO,WAAY,CAGzB,GAFA,GAAS,YAAY,MACrB,GAAK,eAAiB,GAAc,MAAO,4BACvC,GAAK,OAAO,YAAa,CACzB,GAAI,IAAK,KAAc,GAAc,GAAG,YAAa,GAAc,GAAG,YACtE,GAAK,eAAe,YAAY,IAChC,GAAK,YAAc,GACnB,GAAK,YAAc,GAEvB,GAAK,WAAa,GAAc,MAAO,wBACvC,GAAK,WAAW,YAAY,MACvB,GAAK,eACN,IAAK,cAAgB,GAAc,MAAO,kBAC1C,GAAK,cAAc,SAAW,IAElC,KACA,GAAK,WAAW,YAAY,GAAK,eACjC,GAAK,eAAe,YAAY,GAAK,YACrC,GAAS,YAAY,GAAK,gBAE9B,AAAI,GAAK,OAAO,YACZ,GAAS,YAAY,MAEzB,GAAY,GAAK,kBAAmB,YAAa,GAAK,OAAO,OAAS,SACtE,GAAY,GAAK,kBAAmB,UAAW,GAAK,OAAO,UAAY,IACvE,GAAY,GAAK,kBAAmB,aAAc,GAAK,OAAO,WAAa,GAC3E,GAAK,kBAAkB,YAAY,IACnC,GAAI,IAAe,GAAK,OAAO,WAAa,QACxC,GAAK,OAAO,SAAS,WAAa,OACtC,GAAI,IAAK,OAAO,QAAU,GAAK,OAAO,SAClC,IAAK,kBAAkB,UAAU,IAAI,GAAK,OAAO,OAAS,SAAW,UACjE,GAAK,OAAO,QACZ,CAAI,CAAC,IAAgB,GAAK,QAAQ,WAC9B,GAAK,QAAQ,WAAW,aAAa,GAAK,kBAAmB,GAAK,OAAO,aACpE,GAAK,OAAO,WAAa,QAC9B,GAAK,OAAO,SAAS,YAAY,GAAK,oBAE1C,GAAK,OAAO,QAAQ,CACpB,GAAI,IAAU,GAAc,MAAO,qBACnC,AAAI,GAAK,QAAQ,YACb,GAAK,QAAQ,WAAW,aAAa,GAAS,GAAK,SACvD,GAAQ,YAAY,GAAK,SACrB,GAAK,UACL,GAAQ,YAAY,GAAK,UAC7B,GAAQ,YAAY,GAAK,mBAGjC,AAAI,CAAC,GAAK,OAAO,QAAU,CAAC,GAAK,OAAO,QACnC,IAAK,OAAO,WAAa,OACpB,GAAK,OAAO,SACZ,OAAO,SAAS,MAAM,YAAY,GAAK,mBAErD,YAAmB,GAAW,GAAM,GAAY,GAAG,CAC/C,GAAI,IAAgB,GAAU,GAAM,IAAO,GAAa,GAAc,OAAQ,GAAW,GAAK,UAAU,YACxG,UAAW,QAAU,GACrB,GAAW,GAAK,GAChB,GAAW,aAAa,aAAc,GAAK,WAAW,GAAM,GAAK,OAAO,iBACpE,GAAU,QAAQ,YAAc,IAChC,GAAa,GAAM,GAAK,OAAS,GACjC,IAAK,cAAgB,GACrB,GAAW,UAAU,IAAI,SACzB,GAAW,aAAa,eAAgB,SAE5C,AAAI,GACA,IAAW,SAAW,GAClB,GAAe,KACf,IAAW,UAAU,IAAI,YACzB,GAAK,iBAAmB,GACpB,GAAK,OAAO,OAAS,SACrB,IAAY,GAAY,aAAc,GAAK,cAAc,IACrD,GAAa,GAAM,GAAK,cAAc,GAAI,MAAU,GACxD,GAAY,GAAY,WAAY,GAAK,cAAc,IACnD,GAAa,GAAM,GAAK,cAAc,GAAI,MAAU,GACpD,KAAc,gBACd,GAAW,UAAU,IAAI,cAKrC,GAAW,UAAU,IAAI,sBAEzB,GAAK,OAAO,OAAS,SACjB,GAAc,KAAS,CAAC,GAAe,KACvC,GAAW,UAAU,IAAI,WAE7B,GAAK,aACL,GAAK,OAAO,aAAe,GAC3B,KAAc,gBACd,GAAI,GAAM,GACV,GAAK,YAAY,mBAAmB,YAAa,+BAAiC,GAAK,OAAO,QAAQ,IAAQ,WAElH,GAAa,cAAe,IACrB,GAEX,YAAwB,GAAY,CAChC,GAAW,QACP,GAAK,OAAO,OAAS,SACrB,GAAY,IAEpB,YAA8B,GAAO,CAGjC,OAFI,IAAa,GAAQ,EAAI,EAAI,GAAK,OAAO,WAAa,EACtD,GAAW,GAAQ,EAAI,GAAK,OAAO,WAAa,GAC3C,GAAI,GAAY,IAAK,GAAU,IAAK,GAIzC,OAHI,IAAQ,GAAK,cAAc,SAAS,IACpC,GAAa,GAAQ,EAAI,EAAI,GAAM,SAAS,OAAS,EACrD,GAAW,GAAQ,EAAI,GAAM,SAAS,OAAS,GAC1C,GAAI,GAAY,IAAK,GAAU,IAAK,GAAO,CAChD,GAAI,IAAI,GAAM,SAAS,IACvB,GAAI,GAAE,UAAU,QAAQ,YAAc,IAAM,GAAU,GAAE,SACpD,MAAO,KAKvB,YAA6B,GAAS,GAAO,CAMzC,OALI,IAAa,GAAQ,UAAU,QAAQ,WAAa,GAClD,GAAQ,QAAQ,WAChB,GAAK,aACP,GAAW,GAAQ,EAAI,GAAK,OAAO,WAAa,GAChD,GAAY,GAAQ,EAAI,EAAI,GACvB,GAAI,GAAa,GAAK,aAAc,IAAK,GAAU,IAAK,GAQ7D,OAPI,IAAQ,GAAK,cAAc,SAAS,IACpC,GAAa,GAAa,GAAK,eAAiB,GAC9C,GAAQ,GAAK,GACb,GAAQ,EACJ,GAAM,SAAS,OAAS,EACxB,EACN,GAAe,GAAM,SAAS,OACzB,GAAI,GAAY,IAAK,GAAK,GAAI,IAAgB,IAAM,IAAQ,EAAI,GAAe,IAAK,IAAK,GAAW,CACzG,GAAI,IAAI,GAAM,SAAS,IACvB,GAAI,GAAE,UAAU,QAAQ,YAAc,IAClC,GAAU,GAAE,UACZ,KAAK,IAAI,GAAQ,GAAK,KAAM,KAAK,IAAI,IACrC,MAAO,IAAe,IAGlC,GAAK,YAAY,IACjB,GAAW,GAAqB,IAAY,GAGhD,YAAoB,GAAS,GAAQ,CACjC,GAAI,IAAgB,KAChB,GAAa,GAAS,IAAiB,SAAS,MAChD,GAAY,KAAY,OACtB,GACA,GACI,GACA,GAAK,mBAAqB,QAAa,GAAS,GAAK,kBACjD,GAAK,iBACL,GAAK,gBAAkB,QAAa,GAAS,GAAK,eAC9C,GAAK,cACL,GAAqB,GAAS,EAAI,EAAI,IACxD,AAAI,KAAc,OACd,GAAK,OAAO,QAEX,AAAK,GAIN,GAAoB,GAAW,IAH/B,GAAe,IAMvB,YAAwB,GAAM,GAAO,CAKjC,OAJI,IAAgB,IAAI,MAAK,GAAM,GAAO,GAAG,SAAW,GAAK,KAAK,eAAiB,GAAK,EACpF,GAAgB,GAAK,MAAM,eAAgB,IAAQ,EAAI,IAAM,GAAI,IACjE,GAAc,GAAK,MAAM,eAAe,GAAO,IAAO,GAAO,OAAO,SAAS,yBAA0B,GAAe,GAAK,OAAO,WAAa,EAAG,GAAoB,GAAe,sBAAwB,eAAgB,GAAoB,GAAe,sBAAwB,eACxR,GAAY,GAAgB,EAAI,GAAc,GAAW,EACtD,IAAa,GAAe,KAAa,KAC5C,GAAK,YAAY,GAAU,iBAAmB,GAAmB,GAAI,MAAK,GAAM,GAAQ,EAAG,IAAY,GAAW,KAEtH,IAAK,GAAY,EAAG,IAAa,GAAa,KAAa,KACvD,GAAK,YAAY,GAAU,gBAAiB,GAAI,MAAK,GAAM,GAAO,IAAY,GAAW,KAE7F,OAAS,IAAS,GAAc,EAAG,IAAU,GAAK,IAC7C,IAAK,OAAO,aAAe,GAAK,GAAW,GAAM,GAAI,KAAU,KAChE,GAAK,YAAY,GAAU,iBAAmB,GAAmB,GAAI,MAAK,GAAM,GAAQ,EAAG,GAAS,IAAc,GAAQ,KAE9H,GAAI,IAAe,GAAc,MAAO,gBACxC,UAAa,YAAY,IAClB,GAEX,aAAqB,CACjB,GAAI,GAAK,gBAAkB,OAG3B,IAAU,GAAK,eACX,GAAK,aACL,GAAU,GAAK,aAEnB,OADI,IAAO,SAAS,yBACX,GAAI,EAAG,GAAI,GAAK,OAAO,WAAY,KAAK,CAC7C,GAAI,IAAI,GAAI,MAAK,GAAK,YAAa,GAAK,aAAc,GACtD,GAAE,SAAS,GAAK,aAAe,IAC/B,GAAK,YAAY,GAAe,GAAE,cAAe,GAAE,aAEvD,GAAK,cAAc,YAAY,IAC/B,GAAK,KAAO,GAAK,cAAc,WAC3B,GAAK,OAAO,OAAS,SAAW,GAAK,cAAc,SAAW,GAC9D,MAGR,aAA4B,CACxB,GAAI,KAAK,OAAO,WAAa,GACzB,GAAK,OAAO,oBAAsB,YAEtC,IAAI,IAAmB,SAAU,GAAO,CACpC,MAAI,IAAK,OAAO,UAAY,QACxB,GAAK,cAAgB,GAAK,OAAO,QAAQ,eACzC,GAAQ,GAAK,OAAO,QAAQ,WACrB,GAEJ,CAAE,IAAK,OAAO,UAAY,QAC7B,GAAK,cAAgB,GAAK,OAAO,QAAQ,eACzC,GAAQ,GAAK,OAAO,QAAQ,aAEpC,GAAK,wBAAwB,SAAW,GACxC,GAAK,wBAAwB,UAAY,GACzC,OAAS,IAAI,EAAG,GAAI,GAAI,KACpB,GAAI,EAAC,GAAiB,IAEtB,IAAI,IAAQ,GAAc,SAAU,iCACpC,GAAM,MAAQ,GAAI,MAAK,GAAK,YAAa,IAAG,WAAW,WACvD,GAAM,YAAc,GAAW,GAAG,GAAK,OAAO,sBAAuB,GAAK,MAC1E,GAAM,SAAW,GACb,GAAK,eAAiB,IACtB,IAAM,SAAW,IAErB,GAAK,wBAAwB,YAAY,MAGjD,aAAsB,CAClB,GAAI,IAAY,GAAc,MAAO,mBACjC,GAAmB,OAAO,SAAS,yBACnC,GACJ,AAAI,GAAK,OAAO,WAAa,GACzB,GAAK,OAAO,oBAAsB,SAClC,GAAe,GAAc,OAAQ,aAGrC,IAAK,wBAA0B,GAAc,SAAU,kCACvD,GAAK,wBAAwB,aAAa,aAAc,GAAK,KAAK,gBAClE,GAAK,GAAK,wBAAyB,SAAU,SAAU,GAAG,CACtD,GAAI,IAAS,GAAe,IACxB,GAAgB,SAAS,GAAO,MAAO,IAC3C,GAAK,YAAY,GAAgB,GAAK,cACtC,GAAa,mBAEjB,KACA,GAAe,GAAK,yBAExB,GAAI,IAAY,GAAkB,WAAY,CAAE,SAAU,OACtD,GAAc,GAAU,qBAAqB,SAAS,GAC1D,GAAY,aAAa,aAAc,GAAK,KAAK,eAC7C,GAAK,OAAO,SACZ,GAAY,aAAa,MAAO,GAAK,OAAO,QAAQ,cAAc,YAElE,GAAK,OAAO,SACZ,IAAY,aAAa,MAAO,GAAK,OAAO,QAAQ,cAAc,YAClE,GAAY,SACR,CAAC,CAAC,GAAK,OAAO,SACV,GAAK,OAAO,QAAQ,gBAAkB,GAAK,OAAO,QAAQ,eAEtE,GAAI,IAAe,GAAc,MAAO,2BACxC,UAAa,YAAY,IACzB,GAAa,YAAY,IACzB,GAAiB,YAAY,IAC7B,GAAU,YAAY,IACf,CACH,UAAW,GACX,YAAa,GACb,aAAc,IAGtB,aAAuB,CACnB,GAAU,GAAK,UACf,GAAK,SAAS,YAAY,GAAK,cAC3B,GAAK,OAAO,YACZ,IAAK,aAAe,GACpB,GAAK,cAAgB,IAEzB,OAAS,IAAI,GAAK,OAAO,WAAY,MAAM,CACvC,GAAI,IAAQ,KACZ,GAAK,aAAa,KAAK,GAAM,aAC7B,GAAK,cAAc,KAAK,GAAM,cAC9B,GAAK,SAAS,YAAY,GAAM,WAEpC,GAAK,SAAS,YAAY,GAAK,cAEnC,aAAyB,CACrB,UAAK,SAAW,GAAc,MAAO,oBACrC,GAAK,aAAe,GACpB,GAAK,cAAgB,GACrB,GAAK,aAAe,GAAc,OAAQ,wBAC1C,GAAK,aAAa,UAAY,GAAK,OAAO,UAC1C,GAAK,aAAe,GAAc,OAAQ,wBAC1C,GAAK,aAAa,UAAY,GAAK,OAAO,UAC1C,KACA,OAAO,eAAe,GAAM,sBAAuB,CAC/C,IAAK,UAAY,CAAE,MAAO,IAAK,sBAC/B,IAAK,SAAU,GAAM,CACjB,AAAI,GAAK,uBAAyB,IAC9B,IAAY,GAAK,aAAc,qBAAsB,IACrD,GAAK,qBAAuB,OAIxC,OAAO,eAAe,GAAM,sBAAuB,CAC/C,IAAK,UAAY,CAAE,MAAO,IAAK,sBAC/B,IAAK,SAAU,GAAM,CACjB,AAAI,GAAK,uBAAyB,IAC9B,IAAY,GAAK,aAAc,qBAAsB,IACrD,GAAK,qBAAuB,OAIxC,GAAK,mBAAqB,GAAK,aAAa,GAC5C,KACO,GAAK,SAEhB,aAAqB,CACjB,GAAK,kBAAkB,UAAU,IAAI,WACjC,GAAK,OAAO,YACZ,GAAK,kBAAkB,UAAU,IAAI,cACzC,GAAI,IAAW,GAAgB,GAAK,QACpC,GAAK,cAAgB,GAAc,MAAO,kBAC1C,GAAK,cAAc,SAAW,GAC9B,GAAI,IAAY,GAAc,OAAQ,2BAA4B,KAC9D,GAAY,GAAkB,iBAAkB,CAChD,aAAc,GAAK,KAAK,gBAE5B,GAAK,YAAc,GAAU,qBAAqB,SAAS,GAC3D,GAAI,IAAc,GAAkB,mBAAoB,CACpD,aAAc,GAAK,KAAK,kBAyB5B,GAvBA,GAAK,cAAgB,GAAY,qBAAqB,SAAS,GAC/D,GAAK,YAAY,SAAW,GAAK,cAAc,SAAW,GAC1D,GAAK,YAAY,MAAQ,GAAI,GAAK,sBAC5B,GAAK,sBAAsB,WAC3B,GAAK,OAAO,UACR,GAAS,MACT,GAAc,GAAS,QACjC,GAAK,cAAc,MAAQ,GAAI,GAAK,sBAC9B,GAAK,sBAAsB,aAC3B,GAAS,SACf,GAAK,YAAY,aAAa,OAAQ,GAAK,OAAO,cAAc,YAChE,GAAK,cAAc,aAAa,OAAQ,GAAK,OAAO,gBAAgB,YACpE,GAAK,YAAY,aAAa,MAAO,GAAK,OAAO,UAAY,IAAM,KACnE,GAAK,YAAY,aAAa,MAAO,GAAK,OAAO,UAAY,KAAO,MACpE,GAAK,YAAY,aAAa,YAAa,KAC3C,GAAK,cAAc,aAAa,MAAO,KACvC,GAAK,cAAc,aAAa,MAAO,MACvC,GAAK,cAAc,aAAa,YAAa,KAC7C,GAAK,cAAc,YAAY,IAC/B,GAAK,cAAc,YAAY,IAC/B,GAAK,cAAc,YAAY,IAC3B,GAAK,OAAO,WACZ,GAAK,cAAc,UAAU,IAAI,YACjC,GAAK,OAAO,cAAe,CAC3B,GAAK,cAAc,UAAU,IAAI,cACjC,GAAI,IAAc,GAAkB,oBACpC,GAAK,cAAgB,GAAY,qBAAqB,SAAS,GAC/D,GAAK,cAAc,MAAQ,GAAI,GAAK,sBAC9B,GAAK,sBAAsB,aAC3B,GAAS,SACf,GAAK,cAAc,aAAa,OAAQ,GAAK,cAAc,aAAa,SACxE,GAAK,cAAc,aAAa,MAAO,KACvC,GAAK,cAAc,aAAa,MAAO,MACvC,GAAK,cAAc,aAAa,YAAa,KAC7C,GAAK,cAAc,YAAY,GAAc,OAAQ,2BAA4B,MACjF,GAAK,cAAc,YAAY,IAEnC,MAAK,IAAK,OAAO,WACb,IAAK,KAAO,GAAc,OAAQ,kBAAmB,GAAK,KAAK,KAAK,GAAK,IAAK,sBACxE,GAAK,YAAY,MACjB,GAAK,OAAO,aAAe,MACjC,GAAK,KAAK,MAAQ,GAAK,KAAK,YAC5B,GAAK,KAAK,SAAW,GACrB,GAAK,cAAc,YAAY,GAAK,OAEjC,GAAK,cAEhB,aAAyB,CACrB,AAAK,GAAK,iBAGN,GAAU,GAAK,kBAFf,GAAK,iBAAmB,GAAc,MAAO,sBAGjD,OAAS,IAAI,GAAK,OAAO,WAAY,MAAM,CACvC,GAAI,IAAY,GAAc,MAAO,8BACrC,GAAK,iBAAiB,YAAY,IAEtC,YACO,GAAK,iBAEhB,aAA0B,CACtB,GAAI,EAAC,GAAK,iBAGV,IAAI,IAAiB,GAAK,KAAK,eAC3B,GAAW,GAAe,GAAK,KAAK,SAAS,WACjD,AAAI,GAAiB,GAAK,GAAiB,GAAS,QAChD,IAAW,GAAe,GAAS,OAAO,GAAgB,GAAS,QAAS,GAAS,OAAO,EAAG,MAEnG,OAAS,IAAI,GAAK,OAAO,WAAY,MACjC,GAAK,iBAAiB,SAAS,IAAG,UAAY;AAAA;AAAA,UAAuD,GAAS,KAAK,2CAA6C;AAAA;AAAA,SAGxK,aAAsB,CAClB,GAAK,kBAAkB,UAAU,IAAI,YACrC,GAAI,IAAc,GAAc,MAAO,yBACvC,GAAY,YAAY,GAAc,OAAQ,oBAAqB,GAAK,KAAK,mBAC7E,GAAI,IAAc,GAAc,MAAO,mBACvC,UAAY,YAAY,IACjB,CACH,YAAa,GACb,YAAa,IAGrB,YAAqB,GAAO,GAAU,CAClC,AAAI,KAAa,QAAU,IAAW,IACtC,GAAI,IAAQ,GAAW,GAAQ,GAAQ,GAAK,aAC5C,AAAK,GAAQ,GAAK,GAAK,sBAAwB,IAC1C,GAAQ,GAAK,GAAK,sBAAwB,IAE/C,IAAK,cAAgB,GACjB,IAAK,aAAe,GAAK,GAAK,aAAe,KAC7C,IAAK,aAAe,GAAK,aAAe,GAAK,EAAI,GACjD,GAAK,aAAgB,IAAK,aAAe,IAAM,GAC/C,GAAa,gBACb,MAEJ,KACA,GAAa,iBACb,MAEJ,YAAe,GAAoB,GAAW,CAc1C,GAbI,KAAuB,QAAU,IAAqB,IACtD,KAAc,QAAU,IAAY,IACxC,GAAK,MAAM,MAAQ,GACf,GAAK,WAAa,QAClB,IAAK,SAAS,MAAQ,IACtB,GAAK,cAAgB,QACrB,IAAK,YAAY,MAAQ,IAC7B,GAAK,cAAgB,GACrB,GAAK,sBAAwB,OACzB,KAAc,IACd,IAAK,YAAc,GAAK,aAAa,cACrC,GAAK,aAAe,GAAK,aAAa,YAEtC,GAAK,OAAO,aAAe,GAAM,CACjC,GAAI,IAAK,GAAgB,GAAK,QAAS,GAAQ,GAAG,MAAO,GAAU,GAAG,QAAS,GAAU,GAAG,QAC5F,GAAS,GAAO,GAAS,IAE7B,GAAK,SACD,IACA,GAAa,YAErB,aAAiB,CACb,GAAK,OAAS,GACT,GAAK,UACF,IAAK,oBAAsB,QAC3B,GAAK,kBAAkB,UAAU,OAAO,QAExC,GAAK,SAAW,QAChB,GAAK,OAAO,UAAU,OAAO,WAGrC,GAAa,WAEjB,aAAmB,CACf,AAAI,GAAK,SAAW,QAChB,GAAa,aACjB,OAAS,IAAI,GAAK,UAAU,OAAQ,MAChC,GAAK,UAAU,IAAG,SAGtB,GADA,GAAK,UAAY,GACb,GAAK,YACL,AAAI,GAAK,YAAY,YACjB,GAAK,YAAY,WAAW,YAAY,GAAK,aACjD,GAAK,YAAc,eAEd,GAAK,mBAAqB,GAAK,kBAAkB,WACtD,GAAI,GAAK,OAAO,QAAU,GAAK,kBAAkB,WAAY,CACzD,GAAI,IAAU,GAAK,kBAAkB,WAErC,GADA,GAAQ,WAAa,GAAQ,YAAY,GAAQ,WAC7C,GAAQ,WAAY,CACpB,KAAO,GAAQ,YACX,GAAQ,WAAW,aAAa,GAAQ,WAAY,IACxD,GAAQ,WAAW,YAAY,SAInC,IAAK,kBAAkB,WAAW,YAAY,GAAK,mBAE3D,AAAI,GAAK,UACL,IAAK,MAAM,KAAO,OACd,GAAK,SAAS,YACd,GAAK,SAAS,WAAW,YAAY,GAAK,UAC9C,MAAO,IAAK,UAEZ,GAAK,OACL,IAAK,MAAM,KAAO,GAAK,MAAM,MAC7B,GAAK,MAAM,UAAU,OAAO,mBAC5B,GAAK,MAAM,gBAAgB,aAE/B,CACI,iBACA,wBACA,sBACA,sBACA,uBACA,uBACA,WACA,SACA,mBACA,iBACA,iBACA,OACA,gBACA,SACA,mBACA,iBACA,aACA,WACA,gBACA,oBACA,mBACA,eACA,eACA,0BACA,sBACA,qBACA,yBACA,mBACA,UACF,QAAQ,SAAU,GAAG,CACnB,GAAI,CACA,MAAO,IAAK,UAET,GAAP,KAGR,YAAwB,GAAM,CAC1B,MAAO,IAAK,kBAAkB,SAAS,IAE3C,YAAuB,GAAG,CACtB,GAAI,GAAK,QAAU,CAAC,GAAK,OAAO,OAAQ,CACpC,GAAI,IAAgB,GAAe,IAC/B,GAAoB,GAAe,IACnC,GAAU,KAAkB,GAAK,OACjC,KAAkB,GAAK,UACvB,GAAK,QAAQ,SAAS,KACrB,GAAE,MACC,GAAE,KAAK,SACN,EAAC,GAAE,KAAK,QAAQ,GAAK,QAClB,CAAC,GAAE,KAAK,QAAQ,GAAK,WAC7B,GAAY,CAAC,IACb,CAAC,IACD,CAAC,GAAe,GAAE,eAClB,GAAY,CAAC,GAAK,OAAO,qBAAqB,KAAK,SAAU,GAAM,CACnE,MAAO,IAAK,SAAS,MAEzB,AAAI,IAAa,IACT,IAAK,OAAO,YACZ,GAAK,QAAQ,GAAK,OAAO,MAAO,GAAO,GAAK,OAAO,SAC7C,GAAK,OAAO,UACZ,GAAK,OAAO,YAElB,GAAK,gBAAkB,QACvB,GAAK,gBAAkB,QACvB,GAAK,cAAgB,QACrB,GAAK,MAAM,QAAU,IACrB,GAAK,MAAM,QAAU,QACrB,KAEJ,GAAK,QACD,GAAK,QACL,GAAK,OAAO,OAAS,SACrB,GAAK,cAAc,SAAW,GAC9B,GAAK,MAAM,MAI3B,YAAoB,GAAS,CACzB,GAAI,GAAC,IACA,GAAK,OAAO,SAAW,GAAU,GAAK,OAAO,QAAQ,eACrD,GAAK,OAAO,SAAW,GAAU,GAAK,OAAO,QAAQ,eAE1D,IAAI,IAAa,GAAS,GAAY,GAAK,cAAgB,GAC3D,GAAK,YAAc,IAAc,GAAK,YACtC,AAAI,GAAK,OAAO,SACZ,GAAK,cAAgB,GAAK,OAAO,QAAQ,cACzC,GAAK,aAAe,KAAK,IAAI,GAAK,OAAO,QAAQ,WAAY,GAAK,cAE7D,GAAK,OAAO,SACjB,GAAK,cAAgB,GAAK,OAAO,QAAQ,eACzC,IAAK,aAAe,KAAK,IAAI,GAAK,OAAO,QAAQ,WAAY,GAAK,eAElE,IACA,IAAK,SACL,GAAa,gBACb,OAGR,YAAmB,GAAM,GAAU,CAC/B,GAAI,IACJ,AAAI,KAAa,QAAU,IAAW,IACtC,GAAI,IAAc,GAAK,UAAU,GAAM,OAAW,IAClD,GAAK,GAAK,OAAO,SACb,IACA,GAAa,GAAa,GAAK,OAAO,QAAS,KAAa,OAAY,GAAW,CAAC,GAAK,gBAAkB,GAC1G,GAAK,OAAO,SACT,IACA,GAAa,GAAa,GAAK,OAAO,QAAS,KAAa,OAAY,GAAW,CAAC,GAAK,gBAAkB,EAC/G,MAAO,GACX,GAAI,CAAC,GAAK,OAAO,QAAU,GAAK,OAAO,QAAQ,SAAW,EACtD,MAAO,GACX,GAAI,KAAgB,OAChB,MAAO,GAEX,OADI,IAAO,CAAC,CAAC,GAAK,OAAO,OAAQ,GAAS,IAAK,GAAK,OAAO,UAAY,MAAQ,KAAO,OAAS,GAAK,GAAK,OAAO,QACvG,GAAI,EAAG,GAAI,OAAQ,GAAI,GAAM,OAAQ,KAAK,CAE/C,GADA,GAAI,GAAM,IACN,MAAO,KAAM,YACb,GAAE,IACF,MAAO,IACN,GAAI,aAAa,OAClB,KAAgB,QAChB,GAAE,YAAc,GAAY,UAC5B,MAAO,IACN,GAAI,MAAO,KAAM,SAAU,CAC5B,GAAI,IAAS,GAAK,UAAU,GAAG,OAAW,IAC1C,MAAO,KAAU,GAAO,YAAc,GAAY,UAC5C,GACA,CAAC,WAEF,MAAO,KAAM,UAClB,KAAgB,QAChB,GAAE,MACF,GAAE,IACF,GAAY,WAAa,GAAE,KAAK,WAChC,GAAY,WAAa,GAAE,GAAG,UAC9B,MAAO,IAEf,MAAO,CAAC,GAEZ,YAAkB,GAAM,CACpB,MAAI,IAAK,gBAAkB,OACf,GAAK,UAAU,QAAQ,YAAc,IACzC,GAAK,UAAU,QAAQ,wBAA0B,IACjD,GAAK,cAAc,SAAS,IAC7B,GAEX,YAAgB,GAAG,CACf,GAAI,IAAU,GAAE,SAAW,GAAK,OAC5B,GAAe,GAAK,OAAO,MAAM,YAAc,KACnD,AAAI,IACA,IACA,CAAE,IAAE,eAAiB,GAAe,GAAE,iBACtC,GAAK,QAAQ,GAAK,OAAO,MAAO,GAAM,GAAE,SAAW,GAAK,SAClD,GAAK,OAAO,UACZ,GAAK,OAAO,YAG1B,YAAmB,GAAG,CAClB,GAAI,IAAc,GAAe,IAC7B,GAAU,GAAK,OAAO,KACpB,GAAQ,SAAS,IACjB,KAAgB,GAAK,OACvB,GAAa,GAAK,OAAO,WACzB,GAAe,GAAK,QAAW,EAAC,IAAc,CAAC,IAC/C,GAAqB,GAAK,OAAO,QAAU,IAAW,CAAC,GAC3D,GAAI,GAAE,UAAY,IAAM,GAAS,CAC7B,GAAI,GACA,UAAK,QAAQ,GAAK,OAAO,MAAO,GAAM,KAAgB,GAAK,SACrD,GAAK,OAAO,UACZ,GAAK,OAAO,YAClB,GAAK,QACE,GAAY,OAGnB,GAAK,eAGJ,GAAe,KACpB,IACA,GAAoB,CACpB,GAAI,IAAY,CAAC,CAAC,GAAK,eACnB,GAAK,cAAc,SAAS,IAChC,OAAQ,GAAE,aACD,IACD,AAAI,GACA,IAAE,iBACF,KACA,MAGA,GAAW,IACf,UACC,IACD,GAAE,iBACF,KACA,UACC,OACA,IACD,AAAI,IAAW,CAAC,GAAK,OAAO,YACxB,IAAE,iBACF,GAAK,SAET,UACC,QACA,IACD,GAAI,CAAC,IAAa,CAAC,GAAS,CACxB,GAAE,iBACF,GAAI,IAAgB,KACpB,GAAI,GAAK,gBAAkB,QACtB,MAAe,IACX,IAAiB,GAAS,KAAkB,CACjD,GAAI,IAAU,GAAE,UAAY,GAAK,EAAI,GACrC,AAAK,GAAE,QAGH,IAAE,kBACF,GAAY,IACZ,GAAW,GAAqB,GAAI,IAJpC,GAAW,OAAW,SAQ7B,AAAI,IAAK,aACV,GAAK,YAAY,QACrB,UACC,QACA,IACD,GAAE,iBACF,GAAI,IAAQ,GAAE,UAAY,GAAK,EAAI,GACnC,AAAK,GAAK,eACN,GAAY,KAAO,QACnB,KAAgB,GAAK,OACrB,KAAgB,GAAK,SACrB,AAAI,GAAE,QACF,IAAE,kBACF,GAAW,GAAK,YAAc,IAC9B,GAAW,GAAqB,GAAI,IAE9B,IACN,GAAW,OAAW,GAAQ,GAEjC,AAAI,KAAgB,GAAK,mBAC1B,GAAW,GAAK,YAAc,IAEzB,GAAK,OAAO,YACb,EAAC,IAAa,GAAK,aACnB,GAAK,YAAY,QACrB,GAAW,IACX,GAAK,oBAET,UACC,GACD,GAAI,GAAW,CACX,GAAI,IAAQ,CACR,GAAK,YACL,GAAK,cACL,GAAK,cACL,GAAK,MAEJ,OAAO,GAAK,gBACZ,OAAO,SAAU,GAAG,CAAE,MAAO,MAC9B,GAAI,GAAM,QAAQ,IACtB,GAAI,KAAM,GAAI,CACV,GAAI,IAAS,GAAM,GAAK,IAAE,SAAW,GAAK,IAC1C,GAAE,iBACD,KAAU,GAAK,QAAQ,aAG3B,AAAI,CAAC,GAAK,OAAO,YAClB,GAAK,eACL,GAAK,cAAc,SAAS,KAC5B,GAAE,UACF,IAAE,iBACF,GAAK,OAAO,SAEhB,cAEA,OAGZ,GAAI,GAAK,OAAS,QAAa,KAAgB,GAAK,KAChD,OAAQ,GAAE,SACD,IAAK,KAAK,KAAK,GAAG,OAAO,OACzB,IAAK,KAAK,KAAK,GAAG,OAAO,GAAG,cAC7B,GAAK,KAAK,YAAc,GAAK,KAAK,KAAK,GACvC,KACA,KACA,UACC,IAAK,KAAK,KAAK,GAAG,OAAO,OACzB,IAAK,KAAK,KAAK,GAAG,OAAO,GAAG,cAC7B,GAAK,KAAK,YAAc,GAAK,KAAK,KAAK,GACvC,KACA,KACA,MAGZ,AAAI,KAAW,GAAe,MAC1B,GAAa,YAAa,IAGlC,YAAqB,GAAM,GAAW,CAElC,GADI,KAAc,QAAU,IAAY,iBACpC,KAAK,cAAc,SAAW,GAC7B,IACI,EAAC,GAAK,UAAU,SAAS,KACtB,GAAK,UAAU,SAAS,wBAOpC,QALI,IAAY,GACV,GAAK,QAAQ,UACb,GAAK,KAAK,kBAAkB,QAAQ,UAAW,GAAc,GAAK,UAAU,GAAK,cAAc,GAAI,OAAW,IAAM,UAAW,GAAiB,KAAK,IAAI,GAAW,GAAK,cAAc,GAAG,WAAY,GAAe,KAAK,IAAI,GAAW,GAAK,cAAc,GAAG,WACjQ,GAAmB,GACnB,GAAW,EAAG,GAAW,EACpB,GAAI,GAAgB,GAAI,GAAc,IAAK,GAAS,IACzD,AAAK,GAAU,GAAI,MAAK,IAAI,KACxB,IACI,IAAqB,GAAI,IAAkB,GAAI,GACnD,AAAI,GAAI,IAAgB,EAAC,IAAY,GAAI,IACrC,GAAW,GACN,GAAI,IAAgB,EAAC,IAAY,GAAI,KAC1C,IAAW,KAGvB,GAAI,IAAiB,MAAM,KAAK,GAAK,WAAW,iBAAiB,kBAAoB,GAAK,OAAO,WAAa,QAAU,KACxH,GAAe,QAAQ,SAAU,GAAS,CACtC,GAAI,IAAO,GAAQ,QACf,GAAY,GAAK,UACjB,GAAc,GAAW,GAAK,GAAY,IACzC,GAAW,GAAK,GAAY,GACjC,GAAI,GAAY,CACZ,GAAQ,UAAU,IAAI,cACtB,CAAC,UAAW,aAAc,YAAY,QAAQ,SAAU,GAAG,CACvD,GAAQ,UAAU,OAAO,MAE7B,eAEK,IAAoB,CAAC,GAC1B,OACJ,CAAC,aAAc,UAAW,WAAY,cAAc,QAAQ,SAAU,GAAG,CACrE,GAAQ,UAAU,OAAO,MAEzB,KAAS,QACT,IAAK,UAAU,IAAI,IAAa,GAAK,cAAc,GAAG,UAChD,aACA,YACN,AAAI,GAAc,IAAa,KAAc,GACzC,GAAQ,UAAU,IAAI,cACjB,GAAc,IAAa,KAAc,IAC9C,GAAQ,UAAU,IAAI,YACtB,IAAa,IACZ,MAAa,GAAK,IAAa,KAChC,GAAU,GAAW,GAAa,KAClC,GAAQ,UAAU,IAAI,eAItC,aAAoB,CAChB,AAAI,GAAK,QAAU,CAAC,GAAK,OAAO,QAAU,CAAC,GAAK,OAAO,QACnD,KAER,YAAc,GAAG,GAAiB,CAE9B,GADI,KAAoB,QAAU,IAAkB,GAAK,kBACrD,GAAK,WAAa,GAAM,CACxB,GAAI,GAAG,CACH,GAAE,iBACF,GAAI,IAAc,GAAe,IACjC,AAAI,IACA,GAAY,OAGpB,AAAI,GAAK,cAAgB,QACrB,IAAK,YAAY,QACjB,GAAK,YAAY,SAErB,GAAa,UACb,eAEK,GAAK,OAAO,UAAY,GAAK,OAAO,OACzC,OAEJ,GAAI,IAAU,GAAK,OACnB,GAAK,OAAS,GACT,IACD,IAAK,kBAAkB,UAAU,IAAI,QACrC,GAAK,OAAO,UAAU,IAAI,UAC1B,GAAa,UACb,GAAiB,KAEjB,GAAK,OAAO,aAAe,IAAQ,GAAK,OAAO,aAAe,IAC1D,GAAK,OAAO,aAAe,IAC1B,MAAM,QACH,CAAC,GAAK,cAAc,SAAS,GAAE,iBACnC,WAAW,UAAY,CAAE,MAAO,IAAK,YAAY,UAAa,IAI1E,YAA0B,GAAM,CAC5B,MAAO,UAAU,GAAM,CACnB,GAAI,IAAW,GAAK,OAAO,IAAM,GAAO,QAAU,GAAK,UAAU,GAAM,GAAK,OAAO,YAC/E,GAAiB,GAAK,OAAO,IAAO,MAAS,MAAQ,MAAQ,OAAS,QAC1E,AAAI,KAAY,QACZ,IAAK,KAAS,MAAQ,iBAAmB,kBACrC,GAAQ,WAAa,GACjB,GAAQ,aAAe,GACvB,GAAQ,aAAe,GAE/B,GAAK,eACL,IAAK,cAAgB,GAAK,cAAc,OAAO,SAAU,GAAG,CAAE,MAAO,IAAU,MAC3E,CAAC,GAAK,cAAc,QAAU,KAAS,OACvC,GAAiB,IACrB,MAEA,GAAK,eACL,MACA,AAAI,KAAY,OACZ,GAAK,mBAAmB,IAAQ,GAAQ,cAAc,WAEtD,GAAK,mBAAmB,gBAAgB,IAC5C,GAAK,mBAAmB,SACpB,CAAC,CAAC,IACE,KAAY,QACZ,GAAe,gBAAkB,GAAQ,gBAI7D,aAAuB,CACnB,GAAI,IAAW,CACX,OACA,cACA,aACA,sBACA,aACA,YACA,aACA,aACA,WACA,wBACA,SACA,SACA,gBACA,iBAEA,GAAa,GAAS,GAAS,GAAI,KAAK,MAAM,KAAK,UAAU,GAAQ,SAAW,MAAO,IACvF,GAAU,GACd,GAAK,OAAO,UAAY,GAAW,UACnC,GAAK,OAAO,WAAa,GAAW,WACpC,OAAO,eAAe,GAAK,OAAQ,SAAU,CACzC,IAAK,UAAY,CAAE,MAAO,IAAK,OAAO,SACtC,IAAK,SAAU,GAAO,CAClB,GAAK,OAAO,QAAU,GAAe,OAG7C,OAAO,eAAe,GAAK,OAAQ,UAAW,CAC1C,IAAK,UAAY,CAAE,MAAO,IAAK,OAAO,UACtC,IAAK,SAAU,GAAO,CAClB,GAAK,OAAO,SAAW,GAAe,OAG9C,GAAI,IAAW,GAAW,OAAS,OACnC,GAAI,CAAC,GAAW,YAAe,IAAW,YAAc,IAAW,CAC/D,GAAI,IAAoB,GAAU,cAAc,YAAc,GAAe,WAC7E,GAAQ,WACJ,GAAW,YAAc,GACnB,MAAS,IAAW,cAAgB,KAAO,IAC3C,GAAoB,OAAU,IAAW,cAAgB,KAAO,IAE9E,GAAI,GAAW,UACV,IAAW,YAAc,KAC1B,CAAC,GAAW,UAAW,CACvB,GAAI,IAAmB,GAAU,cAAc,WAAa,GAAe,UAC3E,GAAQ,UACJ,GAAW,YAAc,GACnB,MAAS,IAAW,cAAgB,OAAS,MAC7C,GAAoB,QAAU,IAAW,cAAgB,KAAO,IAAM,MAEpF,OAAO,eAAe,GAAK,OAAQ,UAAW,CAC1C,IAAK,UAAY,CAAE,MAAO,IAAK,OAAO,UACtC,IAAK,GAAiB,SAE1B,OAAO,eAAe,GAAK,OAAQ,UAAW,CAC1C,IAAK,UAAY,CAAE,MAAO,IAAK,OAAO,UACtC,IAAK,GAAiB,SAE1B,GAAI,IAAmB,SAAU,GAAM,CAAE,MAAO,UAAU,GAAK,CAC3D,GAAK,OAAO,KAAS,MAAQ,WAAa,YAAc,GAAK,UAAU,GAAK,WAEhF,OAAO,eAAe,GAAK,OAAQ,UAAW,CAC1C,IAAK,UAAY,CAAE,MAAO,IAAK,OAAO,UACtC,IAAK,GAAiB,SAE1B,OAAO,eAAe,GAAK,OAAQ,UAAW,CAC1C,IAAK,UAAY,CAAE,MAAO,IAAK,OAAO,UACtC,IAAK,GAAiB,SAEtB,GAAW,OAAS,QACpB,IAAK,OAAO,WAAa,GACzB,GAAK,OAAO,WAAa,IAE7B,OAAO,OAAO,GAAK,OAAQ,GAAS,IACpC,OAAS,IAAI,EAAG,GAAI,GAAS,OAAQ,KACjC,GAAK,OAAO,GAAS,KACjB,GAAK,OAAO,GAAS,OAAQ,IACzB,GAAK,OAAO,GAAS,OAAQ,OACzC,GAAM,OAAO,SAAU,GAAM,CAAE,MAAO,IAAK,OAAO,MAAU,SAAc,QAAQ,SAAU,GAAM,CAC9F,GAAK,OAAO,IAAQ,GAAS,GAAK,OAAO,KAAS,IAAI,IAAI,MAE9D,GAAK,SACD,CAAC,GAAK,OAAO,eACT,CAAC,GAAK,OAAO,QACb,GAAK,OAAO,OAAS,UACrB,CAAC,GAAK,OAAO,QAAQ,QACrB,CAAC,GAAK,OAAO,QACb,CAAC,GAAK,OAAO,aACb,iEAAiE,KAAK,UAAU,WACxF,OAAS,IAAI,EAAG,GAAI,GAAK,OAAO,QAAQ,OAAQ,KAAK,CACjD,GAAI,IAAa,GAAK,OAAO,QAAQ,IAAG,KAAS,GACjD,OAAS,MAAO,IACZ,AAAI,GAAM,QAAQ,IAAO,GACrB,GAAK,OAAO,IAAO,GAAS,GAAW,KAClC,IAAI,IACJ,OAAO,GAAK,OAAO,KAEnB,MAAO,IAAW,KAAS,aAChC,IAAK,OAAO,IAAO,GAAW,KAG1C,AAAK,GAAW,eACZ,IAAK,OAAO,cACR,KAAe,UAAY,IAAM,GAAK,OAAO,eAErD,GAAa,iBAEjB,aAAwB,CACpB,MAAO,IAAK,OAAO,KACb,GAAQ,cAAc,gBACtB,GAEV,aAAuB,CACnB,AAAI,MAAO,IAAK,OAAO,QAAW,UAC9B,MAAO,IAAU,MAAM,GAAK,OAAO,SAAY,aAC/C,GAAK,OAAO,aAAa,GAAI,OAAM,6BAA+B,GAAK,OAAO,SAClF,GAAK,KAAO,GAAS,GAAS,GAAI,GAAU,MAAM,SAAW,MAAO,IAAK,OAAO,QAAW,SACrF,GAAK,OAAO,OACZ,GAAK,OAAO,SAAW,UACnB,GAAU,MAAM,GAAK,OAAO,QAC5B,QACV,GAAW,EAAI,IAAM,GAAK,KAAK,SAAS,UAAU,KAAK,KAAO,IAC9D,GAAW,EAAI,IAAM,GAAK,KAAK,SAAS,SAAS,KAAK,KAAO,IAC7D,GAAW,EAAI,IAAM,GAAK,KAAK,OAAO,UAAU,KAAK,KAAO,IAC5D,GAAW,EAAI,IAAM,GAAK,KAAK,OAAO,SAAS,KAAK,KAAO,IAC3D,GAAW,EAAI,IAAM,GAAK,KAAK,KAAK,GAAK,IAAM,GAAK,KAAK,KAAK,GAAK,IAAM,GAAK,KAAK,KAAK,GAAG,cAAgB,IAAM,GAAK,KAAK,KAAK,GAAG,cAAgB,IACnJ,GAAI,IAAa,GAAS,GAAS,GAAI,IAAiB,KAAK,MAAM,KAAK,UAAU,GAAQ,SAAW,MACrG,AAAI,GAAW,YAAc,QACzB,GAAU,cAAc,YAAc,QACtC,IAAK,OAAO,UAAY,GAAK,KAAK,WAEtC,GAAK,WAAa,GAAoB,IACtC,GAAK,UAAY,GAAiB,CAAE,OAAQ,GAAK,OAAQ,KAAM,GAAK,OAExE,YAA0B,GAAuB,CAC7C,GAAI,MAAO,IAAK,OAAO,UAAa,WAChC,MAAO,KAAK,IAAK,OAAO,SAAS,GAAM,IAE3C,GAAI,GAAK,oBAAsB,OAE/B,IAAa,yBACb,GAAI,IAAkB,IAAyB,GAAK,iBAChD,GAAiB,MAAM,UAAU,OAAO,KAAK,GAAK,kBAAkB,SAAW,SAAU,GAAK,GAAO,CAAE,MAAO,IAAM,GAAM,cAAkB,GAAI,GAAgB,GAAK,kBAAkB,YAAa,GAAY,GAAK,OAAO,SAAS,MAAM,KAAM,GAAoB,GAAU,GAAI,GAAsB,GAAU,OAAS,EAAI,GAAU,GAAK,KAAM,GAAc,GAAgB,wBAAyB,GAAqB,OAAO,YAAc,GAAY,OAAQ,GAAY,KAAsB,SAC3e,KAAsB,SACnB,GAAqB,IACrB,GAAY,IAAM,GACtB,GAAM,OAAO,YACb,GAAY,IACX,CAAC,GAA+C,CAAC,GAAiB,EAArD,GAAgB,aAAe,GAGjD,GAFA,GAAY,GAAK,kBAAmB,WAAY,CAAC,IACjD,GAAY,GAAK,kBAAmB,cAAe,IAC/C,IAAK,OAAO,OAEhB,IAAI,IAAO,OAAO,YAAc,GAAY,KACxC,GAAW,GACX,GAAU,GACd,AAAI,KAAwB,SACxB,KAAS,IAAgB,GAAY,OAAS,EAC9C,GAAW,IAEN,KAAwB,SAC7B,KAAQ,GAAgB,GAAY,MACpC,GAAU,IAEd,GAAY,GAAK,kBAAmB,YAAa,CAAC,IAAY,CAAC,IAC/D,GAAY,GAAK,kBAAmB,cAAe,IACnD,GAAY,GAAK,kBAAmB,aAAc,IAClD,GAAI,IAAQ,OAAO,SAAS,KAAK,YAC5B,QAAO,YAAc,GAAY,OAClC,GAAY,GAAO,GAAgB,OAAO,SAAS,KAAK,YACxD,GAAa,GAAQ,GAAgB,OAAO,SAAS,KAAK,YAE9D,GADA,GAAY,GAAK,kBAAmB,YAAa,IAC7C,IAAK,OAAO,OAGhB,GADA,GAAK,kBAAkB,MAAM,IAAM,GAAM,KACrC,CAAC,GACD,GAAK,kBAAkB,MAAM,KAAO,GAAO,KAC3C,GAAK,kBAAkB,MAAM,MAAQ,eAEhC,CAAC,GACN,GAAK,kBAAkB,MAAM,KAAO,OACpC,GAAK,kBAAkB,MAAM,MAAQ,GAAQ,SAE5C,CACD,GAAI,IAAM,KACV,GAAI,KAAQ,OACR,OACJ,GAAI,IAAY,OAAO,SAAS,KAAK,YACjC,GAAa,KAAK,IAAI,EAAG,GAAY,EAAI,GAAgB,GACzD,GAAe,wCACf,GAAc,uCACd,GAAc,GAAI,SAAS,OAC3B,GAAc,SAAW,GAAY,KAAO,kBAChD,GAAY,GAAK,kBAAmB,YAAa,IACjD,GAAY,GAAK,kBAAmB,aAAc,IAClD,GAAI,WAAW,GAAe,IAAM,GAAc,GAAa,IAC/D,GAAK,kBAAkB,MAAM,KAAO,GAAa,KACjD,GAAK,kBAAkB,MAAM,MAAQ,UAG7C,aAAiC,CAE7B,OADI,IAAgB,KACX,GAAI,EAAG,GAAI,SAAS,YAAY,OAAQ,KAAK,CAClD,GAAI,IAAQ,SAAS,YAAY,IACjC,GAAI,EAAC,GAAM,SAEX,IAAI,CACA,GAAM,eAEH,GAAP,CACI,SAEJ,GAAgB,GAChB,OAEJ,MAAO,KAAiB,KAAO,GAAgB,KAEnD,aAA4B,CACxB,GAAI,IAAQ,SAAS,cAAc,SACnC,gBAAS,KAAK,YAAY,IACnB,GAAM,MAEjB,aAAkB,CACd,AAAI,GAAK,OAAO,YAAc,GAAK,UAEnC,MACA,KACA,MAEJ,aAAyB,CACrB,GAAK,OAAO,QACZ,AAAI,OAAO,UAAU,UAAU,QAAQ,UAAY,IAC/C,UAAU,mBAAqB,OAC/B,WAAW,GAAK,MAAO,GAGvB,GAAK,QAGb,YAAoB,GAAG,CACnB,GAAE,iBACF,GAAE,kBACF,GAAI,IAAe,SAAU,GAAK,CAC9B,MAAO,IAAI,WACP,GAAI,UAAU,SAAS,kBACvB,CAAC,GAAI,UAAU,SAAS,uBACxB,CAAC,GAAI,UAAU,SAAS,eAE5B,GAAI,GAAW,GAAe,IAAI,IACtC,GAAI,KAAM,OAEV,IAAI,IAAS,GACT,GAAgB,GAAK,sBAAwB,GAAI,MAAK,GAAO,QAAQ,WACrE,GAAqB,IAAa,WAAa,GAAK,cACpD,GAAa,WACT,GAAK,aAAe,GAAK,OAAO,WAAa,IACjD,GAAK,OAAO,OAAS,QAEzB,GADA,GAAK,iBAAmB,GACpB,GAAK,OAAO,OAAS,SACrB,GAAK,cAAgB,CAAC,YACjB,GAAK,OAAO,OAAS,WAAY,CACtC,GAAI,IAAgB,GAAe,IACnC,AAAI,GACA,GAAK,cAAc,OAAO,SAAS,IAAgB,GAEnD,GAAK,cAAc,KAAK,QAE3B,AAAI,IAAK,OAAO,OAAS,SACtB,IAAK,cAAc,SAAW,GAC9B,GAAK,MAAM,GAAO,IAEtB,GAAK,sBAAwB,GAC7B,GAAK,cAAc,KAAK,IACpB,GAAa,GAAc,GAAK,cAAc,GAAI,MAAU,GAC5D,GAAK,cAAc,KAAK,SAAU,GAAG,GAAG,CAAE,MAAO,IAAE,UAAY,GAAE,aAGzE,GADA,KACI,GAAmB,CACnB,GAAI,IAAY,GAAK,cAAgB,GAAa,cAClD,GAAK,YAAc,GAAa,cAChC,GAAK,aAAe,GAAa,WAC7B,IACA,IAAa,gBACb,MAEJ,GAAa,iBAejB,GAbA,KACA,KACA,KACA,AAAI,CAAC,IACD,GAAK,OAAO,OAAS,SACrB,GAAK,OAAO,aAAe,EAC3B,GAAe,IACV,GAAK,mBAAqB,QAC/B,GAAK,cAAgB,QACrB,GAAK,kBAAoB,GAAK,iBAAiB,QAE/C,GAAK,cAAgB,QACrB,GAAK,cAAgB,QAAa,GAAK,YAAY,QACnD,GAAK,OAAO,cAAe,CAC3B,GAAI,IAAS,GAAK,OAAO,OAAS,UAAY,CAAC,GAAK,OAAO,WACvD,GAAQ,GAAK,OAAO,OAAS,SAC7B,GAAK,cAAc,SAAW,GAC9B,CAAC,GAAK,OAAO,WACjB,AAAI,KAAU,KACV,KAGR,MAEJ,GAAI,IAAY,CACZ,OAAQ,CAAC,GAAa,IACtB,WAAY,CAAC,GAAa,GAAkB,IAC5C,QAAS,CAAC,IACV,QAAS,CAAC,IACV,gBAAiB,CAAC,IAClB,WAAY,CACR,UAAY,CACR,AAAI,GAAK,OAAO,aAAe,GAC3B,IAAK,GAAK,OAAQ,QAAS,GAAK,MAChC,GAAK,GAAK,OAAQ,QAAS,GAAK,OAGhC,IAAK,OAAO,oBAAoB,QAAS,GAAK,MAC9C,GAAK,OAAO,oBAAoB,QAAS,GAAK,UAK9D,YAAa,GAAQ,GAAO,CACxB,GAAI,KAAW,MAAQ,MAAO,KAAW,SAAU,CAC/C,OAAO,OAAO,GAAK,OAAQ,IAC3B,OAAS,MAAO,IACZ,AAAI,GAAU,MAAS,QACnB,GAAU,IAAK,QAAQ,SAAU,GAAG,CAAE,MAAO,YAIrD,IAAK,OAAO,IAAU,GACtB,AAAI,GAAU,MAAY,OACtB,GAAU,IAAQ,QAAQ,SAAU,GAAG,CAAE,MAAO,QAC3C,GAAM,QAAQ,IAAU,IAC7B,IAAK,OAAO,IAAU,GAAS,KAEvC,GAAK,SACL,GAAY,IAEhB,YAAyB,GAAW,GAAQ,CACxC,GAAI,IAAQ,GACZ,GAAI,aAAqB,OACrB,GAAQ,GAAU,IAAI,SAAU,GAAG,CAAE,MAAO,IAAK,UAAU,GAAG,cACzD,aAAqB,OAAQ,MAAO,KAAc,SACvD,GAAQ,CAAC,GAAK,UAAU,GAAW,aAC9B,MAAO,KAAc,SAC1B,OAAQ,GAAK,OAAO,UACX,aACA,OACD,GAAQ,CAAC,GAAK,UAAU,GAAW,KACnC,UACC,WACD,GAAQ,GACH,MAAM,GAAK,OAAO,aAClB,IAAI,SAAU,GAAM,CAAE,MAAO,IAAK,UAAU,GAAM,MACvD,UACC,QACD,GAAQ,GACH,MAAM,GAAK,KAAK,gBAChB,IAAI,SAAU,GAAM,CAAE,MAAO,IAAK,UAAU,GAAM,MACvD,cAEA,UAIR,IAAK,OAAO,aAAa,GAAI,OAAM,0BAA4B,KAAK,UAAU,MAClF,GAAK,cAAiB,GAAK,OAAO,oBAC5B,GACA,GAAM,OAAO,SAAU,GAAG,CAAE,MAAO,cAAa,OAAQ,GAAU,GAAG,MACvE,GAAK,OAAO,OAAS,SACrB,GAAK,cAAc,KAAK,SAAU,GAAG,GAAG,CAAE,MAAO,IAAE,UAAY,GAAE,YAEzE,YAAiB,GAAM,GAAe,GAAQ,CAG1C,GAFI,KAAkB,QAAU,IAAgB,IAC5C,KAAW,QAAU,IAAS,GAAK,OAAO,YACzC,KAAS,GAAK,CAAC,IAAU,aAAgB,QAAS,GAAK,SAAW,EACnE,MAAO,IAAK,MAAM,IACtB,GAAgB,GAAM,IACtB,GAAK,sBACD,GAAK,cAAc,GAAK,cAAc,OAAS,GACnD,GAAK,SACL,GAAW,OAAW,IACtB,KACI,GAAK,cAAc,SAAW,GAC9B,GAAK,MAAM,IAEf,GAAY,IACR,IACA,GAAa,YAErB,YAAwB,GAAK,CACzB,MAAO,IACF,QACA,IAAI,SAAU,GAAM,CACrB,MAAI,OAAO,KAAS,UAChB,MAAO,KAAS,UAChB,aAAgB,MACT,GAAK,UAAU,GAAM,OAAW,IAElC,IACL,MAAO,KAAS,UAChB,GAAK,MACL,GAAK,GACE,CACH,KAAM,GAAK,UAAU,GAAK,KAAM,QAChC,GAAI,GAAK,UAAU,GAAK,GAAI,SAE7B,KAEN,OAAO,SAAU,GAAG,CAAE,MAAO,MAEtC,aAAsB,CAClB,GAAK,cAAgB,GACrB,GAAK,IAAM,GAAK,UAAU,GAAK,OAAO,MAAQ,GAAI,MAClD,GAAI,IAAgB,GAAK,OAAO,aAC1B,KAAK,MAAM,WAAa,SACtB,GAAK,MAAM,WAAa,aACxB,GAAK,MAAM,aACX,GAAK,MAAM,QAAU,GAAK,MAAM,YAC9B,KACA,GAAK,MAAM,OACrB,AAAI,IACA,GAAgB,GAAe,GAAK,OAAO,YAC/C,GAAK,aACD,GAAK,cAAc,OAAS,EACtB,GAAK,cAAc,GACnB,GAAK,OAAO,SACV,GAAK,OAAO,QAAQ,UAAY,GAAK,IAAI,UACvC,GAAK,OAAO,QACZ,GAAK,OAAO,SACV,GAAK,OAAO,QAAQ,UAAY,GAAK,IAAI,UACvC,GAAK,OAAO,QACZ,GAAK,IACvB,GAAK,YAAc,GAAK,aAAa,cACrC,GAAK,aAAe,GAAK,aAAa,WAClC,GAAK,cAAc,OAAS,GAC5B,IAAK,sBAAwB,GAAK,cAAc,IAChD,GAAK,OAAO,UAAY,QACxB,IAAK,OAAO,QAAU,GAAK,UAAU,GAAK,OAAO,QAAS,QAC1D,GAAK,OAAO,UAAY,QACxB,IAAK,OAAO,QAAU,GAAK,UAAU,GAAK,OAAO,QAAS,QAC9D,GAAK,eACD,CAAC,CAAC,GAAK,OAAO,SACT,IAAK,OAAO,QAAQ,WAAa,GAC9B,GAAK,OAAO,QAAQ,aAAe,GACnC,GAAK,OAAO,QAAQ,aAAe,GAC/C,GAAK,eACD,CAAC,CAAC,GAAK,OAAO,SACT,IAAK,OAAO,QAAQ,WAAa,GAC9B,GAAK,OAAO,QAAQ,aAAe,GACnC,GAAK,OAAO,QAAQ,aAAe,GAEnD,aAAuB,CAEnB,GADA,GAAK,MAAQ,KACT,CAAC,GAAK,MAAO,CACb,GAAK,OAAO,aAAa,GAAI,OAAM,oCACnC,OAEJ,GAAK,MAAM,MAAQ,GAAK,MAAM,KAC9B,GAAK,MAAM,KAAO,OAClB,GAAK,MAAM,UAAU,IAAI,mBACzB,GAAK,OAAS,GAAK,MACf,GAAK,OAAO,UACZ,IAAK,SAAW,GAAc,GAAK,MAAM,SAAU,GAAK,OAAO,eAC/D,GAAK,OAAS,GAAK,SACnB,GAAK,SAAS,YAAc,GAAK,MAAM,YACvC,GAAK,SAAS,SAAW,GAAK,MAAM,SACpC,GAAK,SAAS,SAAW,GAAK,MAAM,SACpC,GAAK,SAAS,SAAW,GAAK,MAAM,SACpC,GAAK,SAAS,KAAO,OACrB,GAAK,MAAM,aAAa,OAAQ,UAC5B,CAAC,GAAK,OAAO,QAAU,GAAK,MAAM,YAClC,GAAK,MAAM,WAAW,aAAa,GAAK,SAAU,GAAK,MAAM,cAEhE,GAAK,OAAO,YACb,GAAK,OAAO,aAAa,WAAY,YACzC,KAEJ,aAAiC,CAC7B,GAAK,iBAAmB,GAAK,OAAO,iBAAmB,GAAK,OAEhE,aAAuB,CACnB,GAAI,IAAY,GAAK,OAAO,WACtB,GAAK,OAAO,WACR,OACA,iBACJ,OACN,GAAK,YAAc,GAAc,QAAS,GAAK,MAAM,UAAY,qBACjE,GAAK,YAAY,SAAW,EAC5B,GAAK,YAAY,KAAO,GACxB,GAAK,YAAY,SAAW,GAAK,MAAM,SACvC,GAAK,YAAY,SAAW,GAAK,MAAM,SACvC,GAAK,YAAY,YAAc,GAAK,MAAM,YAC1C,GAAK,gBACD,KAAc,iBACR,gBACA,KAAc,OACV,QACA,QACV,GAAK,cAAc,OAAS,GAC5B,IAAK,YAAY,aAAe,GAAK,YAAY,MAAQ,GAAK,WAAW,GAAK,cAAc,GAAI,GAAK,kBAErG,GAAK,OAAO,SACZ,IAAK,YAAY,IAAM,GAAK,WAAW,GAAK,OAAO,QAAS,UAC5D,GAAK,OAAO,SACZ,IAAK,YAAY,IAAM,GAAK,WAAW,GAAK,OAAO,QAAS,UAC5D,GAAK,MAAM,aAAa,SACxB,IAAK,YAAY,KAAO,OAAO,GAAK,MAAM,aAAa,UAC3D,GAAK,MAAM,KAAO,SACd,GAAK,WAAa,QAClB,IAAK,SAAS,KAAO,UACzB,GAAI,CACA,AAAI,GAAK,MAAM,YACX,GAAK,MAAM,WAAW,aAAa,GAAK,YAAa,GAAK,MAAM,mBAEjE,GAAP,EACA,GAAK,GAAK,YAAa,SAAU,SAAU,GAAG,CAC1C,GAAK,QAAQ,GAAe,IAAG,MAAO,GAAO,GAAK,iBAClD,GAAa,YACb,GAAa,aAGrB,YAAgB,GAAG,CACf,GAAI,GAAK,SAAW,GAChB,MAAO,IAAK,QAChB,GAAK,KAAK,IAEd,YAAsB,GAAO,GAAM,CAC/B,GAAI,GAAK,SAAW,OAEpB,IAAI,IAAQ,GAAK,OAAO,IACxB,GAAI,KAAU,QAAa,GAAM,OAAS,EACtC,OAAS,IAAI,EAAG,GAAM,KAAM,GAAI,GAAM,OAAQ,KAC1C,GAAM,IAAG,GAAK,cAAe,GAAK,MAAM,MAAO,GAAM,IAE7D,AAAI,KAAU,YACV,IAAK,MAAM,cAAc,GAAY,WACrC,GAAK,MAAM,cAAc,GAAY,YAG7C,YAAqB,GAAM,CACvB,GAAI,IAAI,SAAS,YAAY,SAC7B,UAAE,UAAU,GAAM,GAAM,IACjB,GAEX,YAAwB,GAAM,CAC1B,OAAS,IAAI,EAAG,GAAI,GAAK,cAAc,OAAQ,KAAK,CAChD,GAAI,IAAe,GAAK,cAAc,IACtC,GAAI,aAAwB,OACxB,GAAa,GAAc,MAAU,EACrC,MAAO,GAAK,GAEpB,MAAO,GAEX,YAAuB,GAAM,CACzB,MAAI,IAAK,OAAO,OAAS,SAAW,GAAK,cAAc,OAAS,EACrD,GACH,GAAa,GAAM,GAAK,cAAc,KAAO,GACjD,GAAa,GAAM,GAAK,cAAc,KAAO,EAErD,aAAwC,CACpC,AAAI,GAAK,OAAO,YAAc,GAAK,UAAY,CAAC,GAAK,UAErD,IAAK,aAAa,QAAQ,SAAU,GAAa,GAAG,CAChD,GAAI,IAAI,GAAI,MAAK,GAAK,YAAa,GAAK,aAAc,GACtD,GAAE,SAAS,GAAK,aAAe,IAC/B,AAAI,GAAK,OAAO,WAAa,GACzB,GAAK,OAAO,oBAAsB,SAClC,GAAK,cAAc,IAAG,YAClB,GAAW,GAAE,WAAY,GAAK,OAAO,sBAAuB,GAAK,MAAQ,IAG7E,GAAK,wBAAwB,MAAQ,GAAE,WAAW,WAEtD,GAAY,MAAQ,GAAE,cAAc,aAExC,GAAK,oBACD,GAAK,OAAO,UAAY,QACnB,IAAK,cAAgB,GAAK,OAAO,QAAQ,cACpC,GAAK,cAAgB,GAAK,OAAO,QAAQ,WACzC,GAAK,YAAc,GAAK,OAAO,QAAQ,eACrD,GAAK,oBACD,GAAK,OAAO,UAAY,QACnB,IAAK,cAAgB,GAAK,OAAO,QAAQ,cACpC,GAAK,aAAe,EAAI,GAAK,OAAO,QAAQ,WAC5C,GAAK,YAAc,GAAK,OAAO,QAAQ,gBAEzD,YAAoB,GAAgB,CAChC,GAAI,IAAS,IACR,IAAK,OAAO,SAAW,GAAK,OAAO,UAAY,GAAK,OAAO,YAChE,MAAO,IAAK,cACP,IAAI,SAAU,GAAM,CAAE,MAAO,IAAK,WAAW,GAAM,MACnD,OAAO,SAAU,GAAG,GAAG,GAAK,CAC7B,MAAO,IAAK,OAAO,OAAS,SACxB,GAAK,OAAO,YACZ,GAAI,QAAQ,MAAO,KAEtB,KAAK,GAAK,OAAO,OAAS,QACzB,GAAK,OAAO,YACZ,GAAK,KAAK,gBAEpB,YAAqB,GAAe,CAChC,AAAI,KAAkB,QAAU,IAAgB,IAC5C,GAAK,cAAgB,QAAa,GAAK,iBACvC,IAAK,YAAY,MACb,GAAK,wBAA0B,OACzB,GAAK,WAAW,GAAK,sBAAuB,GAAK,iBACjD,IAEd,GAAK,MAAM,MAAQ,GAAW,GAAK,OAAO,YACtC,GAAK,WAAa,QAClB,IAAK,SAAS,MAAQ,GAAW,GAAK,OAAO,YAE7C,KAAkB,IAClB,GAAa,iBAErB,YAAyB,GAAG,CACxB,GAAI,IAAc,GAAe,IAC7B,GAAc,GAAK,aAAa,SAAS,IACzC,GAAc,GAAK,aAAa,SAAS,IAC7C,AAAI,IAAe,GACf,GAAY,GAAc,GAAK,GAE9B,AAAI,GAAK,aAAa,QAAQ,KAAgB,EAC/C,GAAY,SAEX,AAAI,GAAY,UAAU,SAAS,WACpC,GAAK,WAAW,GAAK,YAAc,GAE9B,GAAY,UAAU,SAAS,cACpC,GAAK,WAAW,GAAK,YAAc,GAG3C,YAAqB,GAAG,CACpB,GAAE,iBACF,GAAI,IAAY,GAAE,OAAS,UAAW,GAAc,GAAe,IAAI,GAAQ,GAC/E,AAAI,GAAK,OAAS,QAAa,KAAgB,GAAK,MAChD,IAAK,KAAK,YACN,GAAK,KAAK,KAAK,GAAI,GAAK,KAAK,cAAgB,GAAK,KAAK,KAAK,MAEpE,GAAI,IAAM,WAAW,GAAM,aAAa,QAAS,GAAM,WAAW,GAAM,aAAa,QAAS,GAAO,WAAW,GAAM,aAAa,SAAU,GAAW,SAAS,GAAM,MAAO,IAAK,GAAQ,GAAE,OACxL,IAAa,GAAE,QAAU,GAAK,EAAI,GAAM,GACzC,GAAW,GAAW,GAAO,GACjC,GAAI,MAAO,IAAM,OAAU,aAAe,GAAM,MAAM,SAAW,EAAG,CAChE,GAAI,IAAa,KAAU,GAAK,YAAa,GAAe,KAAU,GAAK,cAC3E,AAAI,GAAW,GACX,IACI,GACI,GACA,GAAI,CAAC,IACJ,IAAI,KAAe,GAAI,CAAC,GAAK,OAClC,IACA,GAAkB,OAAW,GAAI,GAAK,cAErC,GAAW,IAChB,IACI,KAAU,GAAK,YAAc,GAAW,GAAM,GAAI,CAAC,GAAK,MAAQ,GAChE,IACA,GAAkB,OAAW,EAAG,GAAK,cAEzC,GAAK,MACL,IACC,MAAS,EACJ,GAAW,KAAa,GACxB,KAAK,IAAI,GAAW,IAAY,KACtC,IAAK,KAAK,YACN,GAAK,KAAK,KAAK,GAAI,GAAK,KAAK,cAAgB,GAAK,KAAK,KAAK,MAEpE,GAAM,MAAQ,GAAI,KAG1B,YACO,GAEX,YAAoB,GAAU,GAAQ,CAKlC,OAJI,IAAQ,MAAM,UAAU,MACvB,KAAK,IACL,OAAO,SAAU,GAAG,CAAE,MAAO,cAAa,eAC3C,GAAY,GACP,GAAI,EAAG,GAAI,GAAM,OAAQ,KAAK,CACnC,GAAI,IAAO,GAAM,IACjB,GAAI,CACA,GAAI,GAAK,aAAa,kBAAoB,KACtC,SACJ,AAAI,GAAK,aAAe,QACpB,IAAK,WAAW,UAChB,GAAK,WAAa,QAEtB,GAAK,WAAa,GAAkB,GAAM,IAAU,IACpD,GAAU,KAAK,GAAK,kBAEjB,GAAP,CACI,QAAQ,MAAM,KAGtB,MAAO,IAAU,SAAW,EAAI,GAAU,GAAK,GAEnD,AAAI,MAAO,cAAgB,aACvB,MAAO,iBAAmB,aAC1B,MAAO,WAAa,aACpB,gBAAe,UAAU,UAAY,SAAS,UAAU,UAAY,SAAU,GAAQ,CAClF,MAAO,IAAW,KAAM,KAE5B,YAAY,UAAU,UAAY,SAAU,GAAQ,CAChD,MAAO,IAAW,CAAC,MAAO,MAGlC,GAAI,IAAY,SAAU,GAAU,GAAQ,CACxC,MAAI,OAAO,KAAa,SACb,GAAW,OAAO,SAAS,iBAAiB,IAAW,IAEzD,aAAoB,MAClB,GAAW,CAAC,IAAW,IAGvB,GAAW,GAAU,KAGpC,GAAU,cAAgB,GAC1B,GAAU,MAAQ,CACd,GAAI,GAAS,GAAI,IACjB,QAAS,GAAS,GAAI,KAE1B,GAAU,SAAW,SAAU,GAAM,CACjC,GAAU,MAAM,QAAU,GAAS,GAAS,GAAI,GAAU,MAAM,SAAU,KAE9E,GAAU,YAAc,SAAU,GAAQ,CACtC,GAAU,cAAgB,GAAS,GAAS,GAAI,GAAU,eAAgB,KAE9E,GAAU,UAAY,GAAiB,IACvC,GAAU,WAAa,GAAoB,IAC3C,GAAU,aAAe,GACzB,AAAI,MAAO,SAAW,aAAe,MAAO,QAAO,IAAO,aACtD,QAAO,GAAG,UAAY,SAAU,GAAQ,CACpC,MAAO,IAAW,KAAM,MAGhC,KAAK,UAAU,QAAU,SAAU,GAAM,CACrC,MAAO,IAAI,MAAK,KAAK,cAAe,KAAK,WAAY,KAAK,UAAa,OAAO,KAAS,SAAW,SAAS,GAAM,IAAM,MAE3H,AAAI,MAAO,SAAW,aAClB,QAAO,UAAY,IAEvB,GAAO,IAAQ,GC3/DR,aAAkC,CACvC,GAAU,eAAgB,CAAE,WAAY,KACxC,GAAU,mBAAoB,CAC5B,WAAY,GACZ,cAAe,GACf,WAAY,GACZ,UAAW,KAEb,GAAU,eAAgB,CACxB,WAAY,GACZ,cAAe,GACf,WAAY,GACZ,WAAY,GACZ,UAAW,KCRf,aAAiC,CAC/B,OAAW,MAAW,IAA+B,iCACnD,GAAQ,SAAW,GAOvB,YAAoB,GAAoB,CACtC,OAAW,MAAkB,IAA+B,kCAC1D,GAAI,GAAe,SAAU,CAC3B,OAAW,MAAY,IAA+B,eACpD,GAAS,YAAY,GAAe,UAAU,KAEhD,GAAe,SAGnB,GAAM,iBAMR,YAAuB,GAAoB,CACzC,OAAW,MAAkB,IAA+B,wBAC1D,GAAI,GAAe,SAAU,CAC3B,OAAW,MAAa,IAA+B,yBACrD,GAAU,YAAY,GAAe,UAAU,KAEjD,GAAe,SAGnB,GAAM,iBAMR,YACE,GACA,GACqC,iCACrC,MAAO,MAAM,IAAwB,GAAK,MAO5C,YAAsB,GAAoB,CAzD1C,aA0DE,GAAM,iBAEN,GAAM,IAAU,GAAM,cAGhB,GAAM,GAAQ,aAAa,YACjC,GAAI,IAAO,KAAM,CAMf,AALc,GACZ,SACA,qCACA,+CAEI,OACN,OAIF,GAAM,IAAQ,cAAS,gBAAT,eAAwB,aAAa,YAAa,QAI1D,GAAO,WAAQ,aAAa,sBAArB,eAA0C,MAAM,OAAhD,QAAwD,GAErE,GAAI,GAAO,CAGT,GAAM,IAAO,GAAK,YAAwB,CAAC,GAAO,KAAS,GAAG,IAAM,KAAU,IAG9E,GAAiB,GAAK,IAAM,KAAK,IAAO,CACtC,AAAI,GAAS,IAEX,AADc,GAAY,SAAU,sCAAuC,GAAI,OACzE,OAEN,SAAS,WAGb,OAIF,GAAM,IAAU,GAAmB,GAAS,wBAGtC,GAA+B,OAAO,OAC1C,GACA,GAAG,GAAQ,IAAI,IAAQ,GAAG,GAAI,MAAO,GAAI,YAKrC,GAAO,GAAK,YAAwB,CAAC,GAAO,KAAS,GAAG,IAAM,KAAU,IAG9E,GAAiB,GAAK,IAAM,KAAK,IAAO,CACtC,AAAI,GAAS,IAEX,AADc,GAAY,SAAU,qCAAsC,GAAI,OACxE,OAEN,SAAS,WAQR,aAAiC,CACtC,OAAW,MAAW,IAA+B,qBACnD,GAAQ,iBAAiB,QAAS,IAEpC,OAAW,MAAW,IAA+B,gBACnD,GAAQ,iBAAiB,QAAS,IAEpC,OAAW,MAAW,IAA+B,mBACnD,GAAQ,iBAAiB,QAAS,IAEpC,OAAW,MAAW,IAA6B,uBACjD,GAAQ,iBAAiB,SAAU,ICpIvC,YAAoB,GAAmC,CACrD,MAAO,OAAO,KAAU,UAAY,CAAC,OAAQ,QAAQ,SAAS,IAOhE,oBAA8B,MAAM,CAElC,YAAY,GAAiB,GAAyB,CACpD,MAAM,IAFR,iBAGE,KAAK,MAAQ,KAOjB,QAAkB,CAWhB,YAAY,GAA2B,GAAuC,CAPvE,kBAKC,gBAGN,KAAK,OAAS,GACd,KAAK,KAAO,GAMN,UAAiB,CACvB,OAAW,MAAO,MAAK,KACrB,GAAI,UAAU,IAAI,aAOX,aAAY,GAA2B,CAChD,AAAI,GAAW,KACb,KAAK,OAAO,aAAa,aAAc,OAOhC,cAAkC,CAC3C,GAAM,IAAQ,KAAK,OAAO,aAAa,cACvC,MAAI,IAAW,IACN,GAEF,KAQD,cAAqB,CAC3B,AAAI,KAAK,cAAgB,OACvB,KAAK,OAAO,UAAY,GAAW,KAAK,OAAO,UAAW,OAAQ,QACzD,KAAK,cAAgB,QAC9B,MAAK,OAAO,UAAY,GAAW,KAAK,OAAO,UAAW,OAAQ,SAO9D,aAAoB,CAC1B,AAAI,KAAK,cAAgB,OACvB,KAAK,YAAc,OACV,KAAK,cAAgB,QAC9B,MAAK,YAAc,QAOf,QAAe,CACrB,KAAK,cACL,KAAK,eAOA,YAAY,GAAoB,CAErC,AAAI,AADW,GAAM,cACV,YAAY,KAAK,SAC1B,KAAK,SAEH,KAAK,cAAgB,QACvB,KAAK,aAQX,QAAiB,CAmCf,YAAY,GAAyB,CA9B7B,iBAKA,yBAMA,0BAMA,yBAMA,8BAKA,gBAGN,KAAK,MAAQ,GACb,KAAK,KAAO,KAAK,MAAM,iBAAiB,MACxC,GAAI,CACF,GAAM,IAAsB,GAC1B,KAAK,MACL,yBAEI,GAAuB,GAC3B,KAAK,MACL,0BAEI,GAAsB,GAC1B,KAAK,MACL,yBAEI,GAA2B,GAC/B,KAAK,MACL,8BAGF,GAAI,KAAwB,KAC1B,KAAM,IAAI,IAAgB,8CAA+C,IAG3E,GAAI,KAAyB,KAC3B,KAAM,IAAI,IAAgB,+CAAgD,IAG5E,GAAI,KAAwB,KAC1B,KAAM,IAAI,IAAgB,8CAA+C,IAG3E,GAAI,KAA6B,KAC/B,KAAM,IAAI,IAAgB,mDAAoD,IAIhF,GAAoB,iBAAiB,QAAS,IAAS,KAAK,YAAY,GAAO,OAC/E,GAAqB,iBAAiB,QAAS,IAAS,KAAK,YAAY,GAAO,OAChF,GAAoB,iBAAiB,QAAS,IAAS,KAAK,YAAY,GAAO,OAC/E,GAAyB,iBAAiB,QAAS,IAAS,KAAK,YAAY,GAAO,OAGpF,KAAK,cAAgB,GAAI,IACvB,GACA,GAAM,iBAAsC,+BAE9C,KAAK,eAAiB,GAAI,IACxB,GACA,GAAM,iBAAsC,gCAE9C,KAAK,cAAgB,GAAI,IACvB,GACA,GAAM,iBAAsC,4BAE9C,KAAK,mBAAqB,GAAI,IAC5B,GACA,GAAM,iBAAsC,4CAEvC,GAAP,CACA,GAAI,aAAe,IAAiB,CAElC,QAAQ,MAAM,wDACd,WAEA,MAAM,KAYL,YAAY,GAAc,GAA4B,CAC3D,OAAW,MAAO,MAAK,KACrB,GAAI,UAAU,OAAO,UAGvB,GAAS,cAAc,YAAY,IACnC,GAAS,eAAe,YAAY,IACpC,GAAS,cAAc,YAAY,IACnC,GAAS,mBAAmB,YAAY,MAOrC,aAAoC,CACzC,OAAW,MAAW,IAA8B,SAClD,GAAI,IAAW,IChPnB,YAAc,CAqBZ,YAAY,GAAsB,CAjB1B,gBAKA,iBAKA,qBAA0C,MAK1C,mBAAsB,IAG5B,KAAK,KAAO,GACZ,KAAK,MAAQ,GAAI,IACf,CAAE,OAAQ,IACV,CAAE,QAAS,GAAM,IAAK,mBAGxB,KAAK,OACL,KAAK,mBACL,KAAK,YAMC,QAAQ,GAAyB,CACvC,MAAO,UAAS,KAAK,aAAa,gBAAgB,MAM5C,cAAc,GAAyB,CAC7C,OAAW,MAAQ,IACjB,SAAS,KAAK,gBAAgB,gBAAgB,MAO1C,WAAW,GAAyB,CAC1C,OAAW,MAAQ,IACjB,SAAS,KAAK,aAAa,gBAAgB,KAAQ,IAO/C,MAAO,CACb,OAAW,MAAW,MAAK,KAAK,iBAAiB,mBAC/C,GAAQ,iBAAiB,QAAS,IAAS,KAAK,SAAS,KAG3D,OAAW,MAAW,IAA+B,0BACnD,GAAQ,iBAAiB,QAAS,IAAS,KAAK,eAAe,KAGjE,AAAI,OAAO,WAAa,MAClB,MAAK,MAAM,IAAI,WACjB,KAAK,MAGF,KAAK,MAAM,IAAI,WAClB,KAAK,QAEP,OAAO,iBAAiB,SAAU,IAAM,KAAK,aAG3C,OAAO,WAAa,MACtB,MAAK,WAAW,QAChB,KAAK,QAAQ,UACb,OAAO,iBAAiB,SAAU,IAAM,KAAK,aAG/C,KAAK,KAAK,iBAAiB,aAAc,IAAM,KAAK,WACpD,KAAK,KAAK,iBAAiB,aAAc,IAAM,KAAK,WAM9C,WAAkB,CACxB,OAAW,MAAQ,MAAK,iBACtB,AAAI,KAAK,QAAQ,QACf,KAAK,aAAa,GAAM,UACf,KAAK,QAAQ,WACtB,KAAK,aAAa,GAAM,YAQtB,MAAa,CACnB,KAAK,QAAQ,QACb,KAAK,WAAW,SAAU,QAMpB,MAAa,CACnB,KAAK,QAAQ,UACb,KAAK,WAAW,SAAU,QAC1B,OAAW,MAAY,MAAK,KAAK,iBAAiB,aAChD,GAAS,UAAU,OAAO,QAOtB,KAAY,CAClB,KAAK,QAAQ,OAAQ,UACrB,KAAK,WAAW,UAChB,KAAK,MAAM,IAAI,SAAU,IAMnB,OAAc,CACpB,KAAK,WAAW,SAAU,QAC1B,KAAK,QAAQ,UACb,OAAW,MAAY,MAAK,KAAK,iBAAiB,aAChD,GAAS,UAAU,OAAO,QAE5B,KAAK,MAAM,IAAI,SAAU,IAOnB,mBAAmB,GAAoB,CAC7C,GAAM,iBACN,GAAM,IAAU,GAAM,OACtB,KAAK,WAAa,GAClB,KAAK,wBAMC,uBAA8B,CACpC,OAAW,CAAC,GAAM,KAAa,MAAK,SAClC,AAAI,KAAS,KAAK,YAChB,IAAK,UAAU,IAAI,aACnB,GAAK,aAAa,gBAAiB,SACnC,GAAS,QASP,kBAAyB,CAC/B,OAAW,MAAW,IACpB,mDAEA,GAAI,GAAQ,gBAAkB,KAAM,CAClC,GAAM,IAAW,GAAQ,cAAc,cAA8B,aACrE,GAAI,KAAa,KAAM,CACrB,GAAM,IAAmB,GAAI,IAAS,GAAU,CAC9C,OAAQ,KAEV,KAAK,SAAS,KAAK,CAAC,GAAS,KAC7B,GAAQ,iBAAiB,QAAS,IAAS,KAAK,mBAAmB,OAenE,aAAa,GAAsB,GAAqC,CA9MlF,OAgNI,GAAM,IAAe,GAAK,QAAQ,kBAClC,GAAI,GAAU,IAAe,CAE3B,GAAM,IAAY,GAAa,cACzB,GAAY,OAAa,gBAAb,eAA4B,cAAc,aAC5D,GAAI,GAAU,KAAc,GAAU,IACpC,OAAQ,QACD,SACH,GAAU,aAAa,gBAAiB,QACxC,GAAU,UAAU,IAAI,UACxB,GAAa,UAAU,IAAI,QAC3B,GAAK,UAAU,IAAI,UACnB,UACG,WACH,GAAU,aAAa,gBAAiB,SACxC,GAAU,UAAU,OAAO,UAC3B,GAAa,UAAU,OAAO,QAC9B,GAAK,UAAU,OAAO,UACtB,SAUD,gBAA4C,CACnD,OAAW,MAAY,MAAK,KAAK,iBAC/B,0CACC,CACD,GAAM,IAAO,GAAS,cAAiC,KACvD,GAAI,GAAM,CACR,GAAM,IAAO,GAAI,QAAO,GAAK,KAAM,MACnC,AAAI,OAAO,SAAS,KAAK,MAAM,KAC7B,MAAM,OASN,SAAgB,CACtB,GAAI,CAAC,KAAK,QAAQ,UAAW,CAC3B,KAAK,WAAW,OAAQ,UACxB,KAAK,QAAQ,QACb,OAAW,MAAQ,MAAK,iBACtB,KAAK,aAAa,GAAM,WAQtB,SAAgB,CACtB,GAAI,CAAC,KAAK,QAAQ,UAAW,CAC3B,KAAK,WAAW,QAChB,KAAK,QAAQ,QACb,OAAW,MAAQ,MAAK,iBACtB,KAAK,aAAa,GAAM,YAE1B,KAAK,WAAW,QAChB,KAAK,QAAQ,WAOT,UAAiB,CACvB,AAAI,KAAK,QAAQ,SAAW,CAAC,KAAK,QAAQ,WACxC,MAAK,WAAW,QAChB,KAAK,QAAQ,WAOT,SAAS,GAAoB,CACnC,GAAM,iBAEN,AAAI,KAAK,MAAM,IAAI,UACjB,KAAK,QAEL,KAAK,MAQD,eAAe,GAAoB,CACzC,GAAM,iBACN,AAAI,KAAK,QAAQ,UACf,KAAK,OAEL,KAAK,SAKJ,aAA6B,CAClC,OAAW,MAAW,IAA4B,WAChD,GAAI,IAAQ,ICxSV,YAAmB,GAAM,GAAG,GAAiB,GAAiB,GAAW,CAC7E,GAAI,IAAU,IAAI,KAChB,SAAQ,KAAK,2BAA6B,GAAU,sBAAwB,GAAM,gCACvE,GAAU,iDACd,GAAE,MAAM,GAAM,KAEvB,UAAQ,UAAY,GAAE,UACf,GAgCH,YAAY,OAGT,aAAY,GAAuB,GAA+B,SAAQ,CAC/E,GAAI,MAAO,KAAQ,SAAU,CAC3B,GAAM,IAAO,kBAAoB,IAAQ,GAAmB,OAK5D,GAAI,IAAO,CAAC,MAAM,CAAC,GAAI,IAAK,CAC1B,GAAM,IAAK,GAAI,eAAe,IAC9B,MAAO,IAAK,CAAC,IAAM,GAGrB,GAAI,IAAO,GAAK,iBAAiB,IACjC,MAAI,CAAC,GAAK,QAAU,GAAI,KAAO,KAAO,GAAI,KAAO,KAC/C,IAAO,GAAK,iBAAiB,IAAM,IAC9B,GAAK,QAAU,IAAO,GAAK,iBAAiB,IAAM,MAElD,MAAM,KAAK,IAEpB,MAAO,CAAC,UAIH,YAAW,GAAuB,GAA+B,SAAQ,CAC9E,GAAI,MAAO,KAAQ,SAAU,CAC3B,GAAM,IAAO,kBAAoB,IAAQ,GAAmB,OAC5D,GAAI,CAAC,GAAI,OAAQ,MAAO,MACxB,GAAI,IAAO,GAAI,KAAO,IACpB,MAAO,IAAI,eAAe,GAAI,UAAU,IAE1C,GAAI,GAAI,KAAO,KAAO,GAAI,KAAO,KAAO,GAAI,KAAO,IACjD,MAAO,IAAK,cAAc,IAI5B,GAAI,IAAO,CAAC,MAAM,CAAC,GAAI,IACrB,MAAO,IAAI,eAAe,IAI5B,GAAI,IAAK,GAAK,cAAc,IAC5B,MAAI,KAAO,CAAC,IAAM,IAAK,GAAI,eAAe,KACrC,IAAM,IAAK,GAAK,cAAc,IAAM,KAClC,GAET,MAAO,UAIF,qBAAoB,GAA8B,GAAS,GAAK,CACrE,MAAO,oBAAG,OAAS,IAChB,GAAE,gBAAkB,IAAS,GAAE,KAAK,KAAK,gBAAkB,IAAQ,GAAE,gBAAkB,OACvF,CAAC,CAAC,GAAE,eAAkB,GAAE,KAAK,KAAK,eAAiB,GAAE,gBAAkB,UAIrE,eAAc,GAAsB,GAAoB,CAC7D,MAAO,CAAE,IAAE,GAAK,GAAE,EAAI,GAAE,GAAK,GAAE,EAAI,GAAE,GAAK,GAAE,GAAK,GAAE,EAAI,GAAE,GAAK,GAAE,GAAK,GAAE,GAAK,GAAE,EAAI,GAAE,SAI/E,YAAW,GAAsB,GAAoB,CAC1D,MAAO,IAAM,cAAc,GAAG,CAAC,EAAG,GAAE,EAAE,GAAK,EAAG,GAAE,EAAE,GAAK,EAAG,GAAE,EAAE,EAAG,EAAG,GAAE,EAAE,UAInE,eAAc,GAAsB,GAAoB,CAC7D,GAAI,IAAM,GAAE,EAAI,GAAE,EAAK,GAAE,EAAI,GAAE,EAC3B,GAAM,GAAE,EAAE,GAAE,EAAI,GAAE,EAAE,GAAE,EAAK,GAAE,EAAE,GAAE,EAAI,GAAE,EAAE,GAAE,EAC/C,GAAI,IAAM,GAAI,MAAO,GACrB,GAAI,IAAM,GAAE,EAAI,GAAE,EAAK,GAAE,EAAI,GAAE,EAC3B,GAAM,GAAE,EAAE,GAAE,EAAI,GAAE,EAAE,GAAE,EAAK,GAAE,EAAE,GAAE,EAAI,GAAE,EAAE,GAAE,EAC/C,MAAI,KAAM,GAAW,EACb,IAAG,IAAO,IAAG,UAIhB,MAAK,GAAoB,CAC9B,MAAO,IAAE,EAAI,GAAE,QAQV,MAAK,GAAwB,GAAc,EAAC,CACjD,GAAM,IAAM,IACZ,MAAO,IAAM,KAAK,CAAC,GAAG,KAAK,CAvJ/B,gBAwJM,GAAI,IAAQ,GAAQ,SAAE,IAAF,QAAO,IAAQ,QAAE,IAAF,QAAO,KAC1C,MAAI,MAAU,EAAU,GAAQ,SAAE,IAAF,QAAO,IAAQ,QAAE,IAAF,QAAO,KAC/C,WAKJ,MAAK,GAAwB,GAAU,CAC5C,MAAO,IAAK,GAAM,KAAK,IAAK,GAAE,KAAO,IAAM,aAStC,kBAAiB,GAAY,GAAsB,GAA4B,CACpF,GAAI,IAA0B,SAAS,cAAc,SAC/C,GAAQ,mBAAS,MACvB,MAAI,KAAO,IAAM,MAAQ,IACzB,GAAM,aAAa,OAAQ,YAC3B,GAAM,aAAa,cAAe,IAElC,AAAK,GAAc,WAEhB,GAAc,WAAW,QAAU,GAEpC,GAAM,YAAY,SAAS,eAAe,KAE5C,AAAK,GAKH,GAAO,aAAa,GAAO,GAAO,YAHlC,IAAS,SAAS,qBAAqB,QAAQ,GAC/C,GAAO,YAAY,KAId,GAAM,YAIR,kBAAiB,GAAY,GAAoB,CAEtD,GAAI,IAAK,AADM,KAAU,UACT,cAAc,qBAAuB,GAAK,KAC1D,AAAI,IAAM,GAAG,YAAY,GAAG,eAIvB,YAAW,GAAsB,GAAkB,GAAa,CACrE,AAAI,MAAO,IAAM,SAAY,WAC3B,GAAM,QAAQ,GAAU,IACf,MAAO,IAAM,YAAe,YACrC,GAAM,WAAW,GAAG,MAAY,aAK7B,QAAO,GAAU,CACtB,MAAI,OAAO,KAAM,UACR,GAEL,MAAO,KAAM,SACf,IAAI,GAAE,cACC,CAAE,MAAM,IAAM,KAAM,MAAQ,KAAM,SAAW,KAAM,MAErD,QAAQ,UAGV,UAAS,GAAoB,CAClC,MAAQ,MAAU,MAAQ,GAAM,SAAW,EAAK,OAAY,OAAO,UAG9D,aAAY,GAAmB,CACpC,GAAI,IACA,GAAO,KACX,GAAI,MAAO,KAAQ,SACjB,GAAI,KAAQ,QAAU,KAAQ,GAAI,GAAI,MACjC,CACH,GAAI,IAAQ,GAAI,MAAM,+EACtB,GAAI,CAAC,GACH,KAAM,IAAI,OAAM,wBAAwB,MAE1C,GAAO,GAAM,IAAM,KACnB,GAAI,WAAW,GAAM,QAGvB,IAAI,GAEN,MAAO,CAAE,KAAG,eAKP,UAAS,MAAW,GAAO,CAEhC,UAAQ,QAAQ,IAAS,CACvB,OAAW,MAAO,IAAQ,CACxB,GAAI,CAAC,GAAO,eAAe,IAAM,OACjC,AAAI,GAAO,MAAS,MAAQ,GAAO,MAAS,OAC1C,GAAO,IAAO,GAAO,IACZ,MAAO,IAAO,KAAS,UAAY,MAAO,IAAO,KAAS,UAEnE,KAAK,SAAS,GAAO,IAAM,GAAO,QAKjC,SAIF,MAAK,GAAY,GAAU,CAChC,GAAI,MAAO,KAAM,SAAW,MAAO,KAAK,GAGxC,GAFI,MAAO,KAAM,MAAO,KAEpB,OAAO,KAAK,IAAG,SAAW,OAAO,KAAK,IAAG,OAAQ,MAAO,GAC5D,OAAW,MAAO,IAChB,GAAI,GAAE,MAAS,GAAE,IAAM,MAAO,GAEhC,MAAO,SAIF,SAAQ,GAAoB,GAAoB,GAAW,GAAK,CACrE,MAAI,IAAE,IAAM,QAAW,IAAE,EAAI,GAAE,GAC3B,GAAE,IAAM,QAAW,IAAE,EAAI,GAAE,GAC3B,GAAE,IAAM,QAAW,IAAE,EAAI,GAAE,GAC3B,GAAE,IAAM,QAAW,IAAE,EAAI,GAAE,GAC3B,IACE,IAAE,MAAM,IAAE,KAAO,GAAE,MACnB,GAAE,MAAM,IAAE,KAAO,GAAE,MACnB,GAAE,MAAM,IAAE,KAAO,GAAE,MACnB,GAAE,MAAM,IAAE,KAAO,GAAE,OAElB,SAIF,SAAQ,GAAsB,GAAoB,CACvD,MAAO,KAAK,IAAK,GAAE,IAAM,GAAE,GAAK,GAAE,IAAM,GAAE,GAAM,IAAE,GAAK,KAAQ,IAAE,GAAK,IAAO,IAAE,GAAK,KAAQ,IAAE,GAAK,SAI9F,gBAAe,GAAmB,CAEvC,AAAK,GAAK,MAAQ,MAAO,IAAK,KACzB,GAAK,MAAQ,MAAO,IAAK,KACzB,GAAK,MAAQ,MAAO,IAAK,KACzB,GAAK,MAAQ,MAAO,IAAK,WAIzB,uBAAsB,GAAY,GAAU,CACjD,GAAI,QAAO,KAAM,UAAY,MAAO,KAAM,UAC1C,OAAS,MAAO,IAAG,CACjB,GAAM,IAAO,GAAE,IACT,GAAO,GAAE,IACf,AAAI,GAAI,KAAO,KAAO,KAAS,GAC7B,MAAO,IAAE,IACA,IAAQ,MAAO,KAAS,UAAY,KAAS,QACtD,IAAM,sBAAsB,GAAM,IAC7B,OAAO,KAAK,IAAM,QAAU,MAAO,IAAE,YAMzC,uBAAsB,GAAkB,GAAW,GAAI,CAC5D,OAAS,MAAO,IAAK,AAAI,IAAI,KAAO,KAAO,GAAE,MAAS,MAAQ,GAAE,MAAS,SAAY,MAAO,IAAE,IAC9F,MAAO,IAAE,KACL,IAAU,MAAO,IAAE,GAElB,GAAE,cAAc,MAAO,IAAE,aACzB,GAAE,UAAU,MAAO,IAAE,SACrB,GAAE,QAAQ,MAAO,IAAE,OACnB,GAAE,QAAQ,MAAO,IAAE,OACpB,IAAE,IAAM,GAAK,GAAE,IAAM,GAAE,OAAM,MAAO,IAAE,EACtC,IAAE,IAAM,GAAK,GAAE,IAAM,GAAE,OAAM,MAAO,IAAE,QAarC,UAAS,GAAkB,GAAa,CAC7C,GAAI,IAAY,GAChB,MAAO,IAAI,KAAQ,CACjB,AAAK,IACH,IAAY,GACZ,WAAW,IAAK,CAAG,GAAK,GAAG,IAAO,GAAY,IAAU,YAKvD,yBAAwB,GAAe,CAC5C,GAAI,IAAQ,GAAG,MACf,AAAI,GAAM,UACR,GAAM,eAAe,YAEnB,GAAM,MACR,GAAM,eAAe,QAEnB,GAAM,KACR,GAAM,eAAe,OAEnB,GAAM,OACR,GAAM,eAAe,SAEnB,GAAM,QACR,GAAM,eAAe,gBAKlB,kBAAiB,GAAgB,CACtC,GAAI,CAAC,GAAI,MAAO,UAAS,kBAAmC,SAAS,gBACrE,GAAM,IAAQ,iBAAiB,IAG/B,MAAI,AAFkB,gBAEJ,KAAK,GAAM,SAAW,GAAM,WACrC,GAEA,KAAK,iBAAiB,GAAG,qBAK7B,sBAAqB,GAAiB,GAAyB,GAAgB,CAEpF,GAAI,IAAO,GAAG,wBACV,GAA6B,OAAO,aAAe,SAAS,gBAAgB,aAChF,GAAI,GAAK,IAAM,GACb,GAAK,OAAS,GACd,CAIA,GAAI,IAAiB,GAAK,OAAS,GAC/B,GAAe,GAAK,IACpB,GAAW,KAAK,iBAAiB,IACrC,GAAI,KAAa,KAAM,CACrB,GAAI,IAAa,GAAS,UAC1B,AAAI,GAAK,IAAM,GAAK,GAAW,EAE7B,AAAI,GAAG,aAAe,GACpB,GAAS,WAAa,GAEtB,GAAS,WAAa,KAAK,IAAI,IAAgB,KAAK,IAAI,IAAY,GAAW,GAExE,GAAW,GAEpB,CAAI,GAAG,aAAe,GACpB,GAAS,WAAa,GAEtB,GAAS,WAAa,GAAiB,GAAW,GAAW,IAIjE,GAAS,KAAO,GAAS,UAAY,WAYpC,oBAAmB,GAAmB,GAAiB,GAAgB,CAC5E,GAAM,IAAW,KAAK,iBAAiB,IACjC,GAAS,GAAS,aAKlB,GAAa,KAAa,KAAK,mBAAsB,EAAI,GAAS,wBAAwB,IAC1F,GAAc,GAAM,QAAU,GAC9B,GAAM,GAAc,GACpB,GAAS,GAAc,GAAS,GAEtC,AAAI,GAGF,GAAS,SAAS,CAAE,SAAU,SAAU,IAAK,GAAc,KAClD,IACT,GAAS,SAAS,CAAE,SAAU,SAAU,IAAK,GAAY,IAAS,YAK/D,OAAS,GAAM,CACpB,MAAI,KAAQ,MAA6B,MAAO,KAAS,SAChD,GAGL,aAAe,OAEV,CAAC,GAAG,IAEN,MAAI,UAON,WAAa,GAAM,CAExB,GAAM,IAAa,CAAC,aAAc,KAAM,OAAQ,UAAW,UAErD,GAAM,GAAM,MAAM,IACxB,OAAW,MAAO,IAEhB,AAAI,GAAI,eAAe,KAAQ,MAAO,IAAI,KAAU,UAAY,GAAI,UAAU,EAAG,KAAO,MAAQ,CAAC,GAAW,KAAK,IAAK,KAAM,KAC1H,IAAI,IAAO,GAAM,UAAU,GAAI,MAGnC,MAAO,UAIK,WAAU,GAAe,CACrC,GAAM,IAAO,GAAG,UAAU,IAC1B,UAAK,gBAAgB,MACd,SAGK,UAAS,GAAiB,GAA4B,CAClE,GAAI,IACJ,AAAI,MAAO,KAAW,SACpB,GAAa,GAAM,WAAW,IAE9B,GAAa,GAEX,IACF,GAAW,YAAY,UAUb,aAAY,GAAiB,GAA6C,CACtF,GAAI,aAAkB,QACpB,OAAW,MAAK,IACd,AAAI,GAAO,eAAe,KACxB,CAAI,MAAM,QAAQ,GAAO,KAEtB,GAAO,IAAgB,QAAQ,IAAM,CACpC,GAAG,MAAM,IAAK,KAGhB,GAAG,MAAM,IAAK,GAAO,WAOjB,WAAa,GAA2B,GAA4C,CAChG,GAAM,IAAM,CAAE,KAAM,GAAK,MACnB,GAAM,CACV,OAAQ,EACR,MAAO,EACP,QAAS,EACT,QAAS,GACT,WAAY,GACZ,OAAQ,GAAK,OAAS,GAAK,OAAS,GAAE,QAGxC,MAAK,IAAgB,cACnB,IAAI,aAAmB,GAAgB,cAEzC,CAAC,SAAS,UAAU,UAAU,YAAY,QAAQ,IAAK,GAAI,IAAK,GAAE,KAClE,CAAC,QAAQ,QAAQ,UAAU,UAAU,UAAU,WAAW,QAAQ,IAAK,GAAI,IAAK,GAAE,KAC3E,SAAI,IAAQ,UAIP,oBAAmB,GAAe,GAAuB,GAAoB,CACzF,GAAM,IAAiB,SAAS,YAAY,eAC5C,GAAe,eACb,GACA,GACA,GACA,OACA,EACA,GAAE,QACF,GAAE,QACF,GAAE,QACF,GAAE,QACF,GAAE,QACF,GAAE,OACF,GAAE,SACF,GAAE,QACF,EACA,GAAE,QAEH,KAAU,GAAE,QAAQ,cAAc,UAOvB,iCAAgC,GAAmB,CAC/D,GAAM,IAAqB,SAAS,cAAc,OAClD,GAAM,YAAY,GAAoB,CACpC,QAAS,IACT,SAAU,QACV,IAAK,EAAI,KACT,KAAM,EAAI,KACV,MAAO,MACP,OAAQ,MACR,OAAQ,YAEV,GAAO,YAAY,IACnB,GAAM,IAAkB,GAAmB,wBAC3C,UAAO,YAAY,IACnB,GAAmB,SACZ,CACL,OAAQ,EAAI,GAAgB,MAC5B,OAAQ,EAAI,GAAgB,OAC5B,QAAS,GAAgB,KACzB,QAAS,GAAgB,WAKf,MAAK,GAAY,GAAW,GAAS,CAAU,GAAM,IAAM,GAAE,IAAI,GAAE,IAAK,GAAE,IAAI,GAAE,IAAK,SAgBrF,cAAa,GAAgB,CAhmB7C,OAimBI,MAAO,CAAE,EAAC,IAAK,GAAE,IAAM,GAAE,GAAK,GAAE,QAAU,GAAE,UAAY,QAAE,OAAF,eAAQ,KAAK,gBAAkB,GAAE,MAAQ,GAAE,OAAS,GAAE,MAAU,GAAE,MAAQ,GAAE,OAAS,GAAE,QCvkBnJ,YAA4B,CAwB1B,YAAmB,GAA+B,GAAE,CApB7C,KAAA,WAA8B,GAC9B,KAAA,aAAgC,GAoBrC,KAAK,OAAS,GAAK,QAAU,GAC7B,KAAK,OAAS,GAAK,OACnB,KAAK,OAAS,GAAK,MACnB,KAAK,MAAQ,GAAK,OAAS,GAC3B,KAAK,SAAW,GAAK,SAGhB,YAAY,GAAO,GAAM,GAAS,GAAI,CAC3C,MAAI,CAAC,CAAC,KAAK,YAAc,GAAa,KACtC,MAAK,UAAY,GACjB,AAAI,GACF,MAAK,WAAa,KAAK,OACvB,KAAK,OAAS,GACd,KAAK,aACL,KAAK,eAEL,MAAK,OAAS,KAAK,WACnB,MAAO,MAAK,WACR,IAAQ,KAAK,aACjB,KAAK,WAEA,MAIC,kBAAkB,GAAqB,GAAqB,CACpE,MAAQ,EAAC,KAAK,OAAS,KAAK,WAAa,CAAC,KAAK,aAAe,CAAC,KAAK,YAAe,EAAC,GAAK,SAAW,GAAK,WAAa,GAAG,GAAK,GAAK,GAK3H,eAAe,GAAqB,GAAK,GAAM,GAAyB,GAAyB,GAAE,CAI3G,GAHA,KAAK,UAAU,IAEf,GAAU,IAAW,KAAK,QAAQ,GAAM,IACpC,CAAC,GAAS,MAAO,GAGrB,GAAI,GAAK,SAAW,CAAC,GAAI,QAAU,CAAC,KAAK,OACnC,KAAK,KAAK,GAAM,IAAU,MAAO,GAIvC,GAAI,IAAO,GACX,AAAI,CAAC,KAAK,UAAY,KAAK,kBAAkB,GAAM,KACjD,IAAO,CAAC,EAAG,EAAG,EAAG,KAAK,OAAQ,EAAG,GAAG,EAAG,EAAG,GAAG,GAC7C,GAAU,KAAK,QAAQ,GAAM,GAAM,GAAI,OAGzC,GAAI,IAAU,GACV,GAA4B,CAAC,OAAQ,GAAM,KAAM,IACrD,KAAO,GAAU,IAAW,KAAK,QAAQ,GAAM,GAAM,GAAI,OAAO,CAC9D,GAAI,IAqBJ,GAlBA,AAAI,GAAQ,QAAU,KAAK,UAAY,GAAK,SAAW,CAAC,GAAK,WAAa,GAAG,EAAI,GAAK,GAAK,CAAC,KAAK,OAE9F,EAAC,KAAK,QAAQ,GAAS,SAAI,IAAJ,CAAa,EAAG,GAAK,IAAI,KAAS,CAAC,KAAK,QAAQ,GAAS,SAAI,IAAJ,CAAa,EAAG,GAAG,EAAI,GAAQ,IAAI,KACpH,IAAK,UAAa,GAAK,WAAa,GAAG,EAAI,GAAK,EAChD,GAAQ,KAAK,SAAS,GAAM,YAAI,IAAJ,CAAQ,EAAG,GAAQ,EAAI,GAAQ,IAAM,KACjE,AAAK,IAAQ,QAAU,KAAK,WAAa,GACvC,GAAM,QAAQ,GAAI,IACT,CAAC,GAAQ,QAAU,IAAS,GAAI,MAEzC,MAAK,aACL,GAAG,EAAI,GAAQ,EAAI,GAAQ,EAC3B,GAAM,QAAQ,GAAM,KAEtB,GAAU,IAAW,IAGrB,GAAQ,KAAK,SAAS,GAAS,YAAI,IAAJ,CAAa,EAAG,GAAG,EAAI,GAAG,EAAG,KAAM,KAAS,KAEzE,CAAC,GAAS,MAAO,IACrB,GAAU,OAEZ,MAAO,IAIF,QAAQ,GAAqB,GAAO,GAAM,GAAqB,CACpE,GAAM,IAAS,GAAK,IACd,GAAU,mBAAO,IACvB,MAAO,MAAK,MAAM,KAAK,IAAK,GAAE,MAAQ,IAAU,GAAE,MAAQ,IAAW,GAAM,cAAc,GAAG,KAEvF,WAAW,GAAqB,GAAO,GAAM,GAAqB,CACvE,GAAM,IAAS,GAAK,IACd,GAAU,mBAAO,IACvB,MAAO,MAAK,MAAM,OAAO,IAAK,GAAE,MAAQ,IAAU,GAAE,MAAQ,IAAW,GAAM,cAAc,GAAG,KAItF,yBAAyB,GAAqB,GAAsB,GAAyB,CACrG,GAAI,CAAC,GAAE,MAAQ,CAAC,GAAK,MAAO,OAC5B,GAAI,IAAK,GAAK,MACV,GAAI,MAAI,GAAE,MAGd,AAAI,GAAE,EAAI,GAAG,EACX,IAAE,GAAK,GAAE,EAAI,GAAG,EAChB,GAAE,EAAI,GAAG,GAET,GAAE,GAAK,GAAG,EAAI,GAAE,EAElB,AAAI,GAAE,EAAI,GAAG,EACX,IAAE,GAAK,GAAE,EAAI,GAAG,EAChB,GAAE,EAAI,GAAG,GAET,GAAE,GAAK,GAAG,EAAI,GAAE,EAGlB,GAAI,IACA,GAAU,GACd,OAAS,MAAK,IAAU,CACtB,GAAI,GAAE,QAAU,CAAC,GAAE,MACjB,MAEF,GAAI,IAAK,GAAE,MACP,GAAQ,OAAO,UAAW,GAAQ,OAAO,UAG7C,AAAI,GAAG,EAAI,GAAG,EACZ,GAAU,IAAE,EAAI,GAAE,EAAK,GAAG,GAAK,GAAG,EACzB,GAAG,EAAI,GAAG,EAAI,GAAG,EAAI,GAAG,GACjC,IAAU,IAAG,EAAI,GAAG,EAAK,GAAE,GAAK,GAAG,GAErC,AAAI,GAAG,EAAI,GAAG,EACZ,GAAU,IAAE,EAAI,GAAE,EAAK,GAAG,GAAK,GAAG,EACzB,GAAG,EAAI,GAAG,EAAI,GAAG,EAAI,GAAG,GACjC,IAAU,IAAG,EAAI,GAAG,EAAK,GAAE,GAAK,GAAG,GAErC,GAAI,IAAO,KAAK,IAAI,GAAO,IAC3B,AAAI,GAAO,IACT,IAAU,GACV,GAAU,IAGd,UAAE,QAAU,GACL,GAqBF,WAAW,GAAW,GAAW,GAAa,GAAe,GAAgB,GAAY,CAE9F,YAAK,MAAM,QAAQ,IACjB,GAAE,MAAQ,CACR,EAAG,GAAE,EAAI,GAAI,GACb,EAAG,GAAE,EAAI,GAAI,GACb,EAAG,GAAE,EAAI,GAAI,GAAO,GACpB,EAAG,GAAE,EAAI,GAAI,GAAM,KAGhB,KAIF,KAAK,GAAkB,GAAgB,CAC5C,GAAI,CAAC,IAAK,GAAE,QAAU,CAAC,IAAK,GAAE,OAAQ,MAAO,GAE7C,aAAgB,CACd,GAAI,IAAI,GAAE,EAAG,GAAI,GAAE,EACnB,UAAE,EAAI,GAAE,EAAG,GAAE,EAAI,GAAE,EACnB,AAAI,GAAE,GAAK,GAAE,EACX,IAAE,EAAI,GAAG,GAAE,EAAI,GAAE,EAAI,GAAE,GAClB,AAAI,GAAE,GAAK,GAAE,EAClB,IAAE,EAAI,GAAE,EAAI,GAAE,EAAG,GAAE,EAAI,IAEvB,IAAE,EAAI,GAAG,GAAE,EAAI,IAEjB,GAAE,OAAS,GAAE,OAAS,GACf,GAET,GAAI,IAGJ,GAAI,GAAE,IAAM,GAAE,GAAK,GAAE,IAAM,GAAE,GAAM,IAAE,IAAM,GAAE,GAAK,GAAE,IAAM,GAAE,IAAO,IAAW,GAAM,WAAW,GAAG,KAChG,MAAO,MACT,GAAI,KAAa,GAGjB,IAAI,GAAE,IAAM,GAAE,GAAK,GAAE,IAAM,GAAE,GAAM,KAAa,IAAW,GAAM,WAAW,GAAG,MAAM,CACnF,GAAI,GAAE,EAAI,GAAE,EAAG,CAAE,GAAI,IAAI,GAAG,GAAI,GAAG,GAAI,GACvC,MAAO,MAET,GAAI,KAAa,GAGjB,IAAI,GAAE,IAAM,GAAE,GAAK,GAAE,IAAM,GAAE,GAAM,KAAa,IAAW,GAAM,WAAW,GAAG,MAAM,CACnF,GAAI,GAAE,EAAI,GAAE,EAAG,CAAE,GAAI,IAAI,GAAG,GAAI,GAAG,GAAI,GACvC,MAAO,MAET,MAAO,KAGF,YAAY,GAAW,GAAW,GAAW,GAAS,CAC3D,GAAI,IAAoB,CAAC,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,EAAG,IAAK,EAAG,EAAG,IAAK,GAClE,MAAO,CAAC,KAAK,QAAQ,IAIhB,QAAQ,GAAyB,UAAW,GAAS,GAAI,CAC9D,GAAI,KAAK,MAAM,SAAW,EAAG,MAAO,MACpC,AAAI,IAAQ,KAAK,YACjB,GAAM,IAAW,KAAK,UACtB,AAAK,IAAU,KAAK,cACpB,GAAM,IAAkB,KAAK,gBAC7B,AAAK,IAAiB,MAAK,gBAAkB,IAC7C,GAAI,IAAY,KAAK,MACrB,YAAK,MAAQ,GACb,GAAU,QAAQ,CAAC,GAAG,GAAO,KAAQ,CACnC,GAAI,IACJ,AAAK,GAAE,QACL,IAAE,aAAe,GACb,KAAW,QAAU,IAAO,IAAQ,GAAK,GAAQ,KAEvD,KAAK,QAAQ,GAAG,GAAO,MAEpB,IAAiB,MAAO,MAAK,gBAC7B,IAAU,KAAK,YAAY,IACzB,QAIE,OAAM,GAAY,CAC3B,AAAI,KAAK,SAAW,IACpB,MAAK,OAAS,IAAO,GAChB,IACH,KAAK,aAAa,cAKX,QAAK,CAAc,MAAO,MAAK,QAAU,GAG7C,UAAU,GAAc,EAAC,CAC9B,YAAK,MAAQ,GAAM,KAAK,KAAK,MAAO,IAC7B,KAIC,YAAU,CAClB,MAAI,MAAK,UAAoB,KAC7B,MAAK,YAEL,AAAI,KAAK,MAEP,KAAK,MAAM,QAAQ,IAAI,CACrB,GAAI,GAAE,WAAa,GAAE,QAAU,QAAa,GAAE,IAAM,GAAE,MAAM,EAAG,OAC/D,GAAI,IAAO,GAAE,EACb,KAAO,GAAO,GAAE,MAAM,GACpB,EAAE,GAEG,AADS,KAAK,QAAQ,GAAG,CAAC,EAAG,GAAE,EAAG,EAAG,GAAM,EAAG,GAAE,EAAG,EAAG,GAAE,KAE3D,IAAE,OAAS,GACX,GAAE,EAAI,MAMZ,KAAK,MAAM,QAAQ,CAAC,GAAG,KAAK,CAC1B,GAAI,IAAE,OACN,KAAO,GAAE,EAAI,GAAG,CACd,GAAI,IAAO,KAAM,EAAI,EAAI,GAAE,EAAI,EAE/B,GAAI,CADa,MAAM,GAAK,CAAC,KAAK,QAAQ,GAAG,CAAC,EAAG,GAAE,EAAG,EAAG,GAAM,EAAG,GAAE,EAAG,EAAG,GAAE,KAC3D,MAIjB,GAAE,OAAU,GAAE,IAAM,GACpB,GAAE,EAAI,MAIL,MAQF,YAAY,GAAqB,GAAkB,CA/V5D,OAgWI,GAAK,IAAM,OAAK,MAAL,QAAY,GAAgB,SAGnC,IAAK,IAAM,QAAa,GAAK,IAAM,QAAa,GAAK,IAAM,MAAQ,GAAK,IAAM,OAChF,IAAK,aAAe,IAItB,GAAI,IAA0B,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GACrD,UAAM,SAAS,GAAM,IAEhB,GAAK,cAAgB,MAAO,IAAK,aACjC,GAAK,UAAY,MAAO,IAAK,SAC7B,GAAK,QAAU,MAAO,IAAK,OAChC,GAAM,eAAe,IAGjB,MAAO,IAAK,GAAK,UAAY,IAAK,EAAI,OAAO,GAAK,IAClD,MAAO,IAAK,GAAK,UAAY,IAAK,EAAI,OAAO,GAAK,IAClD,MAAO,IAAK,GAAK,UAAY,IAAK,EAAI,OAAO,GAAK,IAClD,MAAO,IAAK,GAAK,UAAY,IAAK,EAAI,OAAO,GAAK,IAClD,MAAM,GAAK,IAAM,IAAK,EAAI,GAAS,EAAG,GAAK,aAAe,IAC1D,MAAM,GAAK,IAAM,IAAK,EAAI,GAAS,EAAG,GAAK,aAAe,IAC1D,MAAM,GAAK,IAAM,IAAK,EAAI,GAAS,GACnC,MAAM,GAAK,IAAM,IAAK,EAAI,GAAS,GAEvC,KAAK,aAAa,GAAM,IACjB,GAIF,aAAa,GAAqB,GAAkB,CAEzD,GAAI,IAAS,GAAK,OAAS,GAAM,QAAQ,GAAI,IAW7C,GATI,GAAK,MAAQ,IAAK,EAAI,KAAK,IAAI,GAAK,EAAG,GAAK,OAC5C,GAAK,MAAQ,IAAK,EAAI,KAAK,IAAI,GAAK,EAAG,GAAK,OAC5C,GAAK,MAAQ,GAAK,MAAQ,KAAK,QAAU,IAAK,EAAI,KAAK,IAAI,GAAK,EAAG,GAAK,OACxE,GAAK,MAAQ,IAAK,EAAI,KAAK,IAAI,GAAK,EAAG,GAAK,OAM5C,AADc,IAAK,GAAK,GAAM,IAAK,GAAK,GAAK,KAAK,QACtC,KAAK,OAAS,IAAM,CAAC,KAAK,iBAAmB,GAAK,KAAO,KAAK,gBAAgB,GAAM,MAAQ,GAAI,CAC9G,GAAI,IAAO,MAAI,IACf,AAAI,GAAK,cAAgB,GAAK,IAAM,OAAa,OAAO,IAAK,EAAG,MAAO,IAAK,GACvE,GAAK,EAAI,KAAK,IAAI,GAAI,GAAK,GAChC,GAAK,EAAI,KAAK,IAAI,GAAI,GAAK,GAAK,GAChC,KAAK,eAAe,GAAM,IAG5B,MAAI,IAAK,EAAI,KAAK,OAChB,GAAK,EAAI,KAAK,OACL,GAAK,EAAI,GAClB,IAAK,EAAI,GAGX,AAAI,KAAK,QAAU,GAAK,EAAI,KAAK,OAC/B,GAAK,EAAI,KAAK,OACL,GAAK,EAAI,GAClB,IAAK,EAAI,GAGP,GAAK,EAAI,GACX,IAAK,EAAI,GAEP,GAAK,EAAI,GACX,IAAK,EAAI,GAGP,GAAK,EAAI,GAAK,EAAI,KAAK,QACzB,CAAI,GACF,GAAK,EAAI,KAAK,OAAS,GAAK,EAE5B,GAAK,EAAI,KAAK,OAAS,GAAK,GAG5B,KAAK,QAAU,GAAK,EAAI,GAAK,EAAI,KAAK,QACxC,CAAI,GACF,GAAK,EAAI,KAAK,OAAS,GAAK,EAE5B,GAAK,EAAI,KAAK,OAAS,GAAK,GAI3B,GAAM,QAAQ,GAAM,KACvB,IAAK,OAAS,IAGT,KAIF,cAAc,GAAgB,CAEnC,MAAI,IACK,KAAK,MAAM,OAAO,IAAK,GAAE,QAAU,CAAC,GAAM,QAAQ,GAAG,GAAE,QAEzD,KAAK,MAAM,OAAO,IAAK,GAAE,QAIxB,QAAQ,GAA8B,CAC9C,GAAI,KAAK,WAAa,CAAC,KAAK,SAAU,MAAO,MAC7C,GAAI,IAAc,KAAgB,IAAI,OAAO,KAAK,iBAClD,YAAK,SAAS,IACP,KAIF,YAAU,CACf,MAAI,MAAK,UAAkB,KAC3B,MAAK,MAAM,QAAQ,IAAI,CACrB,MAAO,IAAE,OACT,MAAO,IAAE,aAEJ,MAMF,aAAW,CAChB,YAAK,MAAM,QAAQ,IAAI,CACrB,GAAE,MAAQ,GAAM,QAAQ,GAAI,IAC5B,MAAO,IAAE,SAEX,KAAK,WAAa,KAAK,MAAM,KAAK,IAAK,GAAE,QAClC,KAIF,gBAAc,CACnB,YAAK,MAAM,QAAQ,IAAI,CACrB,AAAI,GAAM,QAAQ,GAAG,GAAE,QACvB,IAAM,QAAQ,GAAG,GAAE,OACnB,GAAE,OAAS,MAEb,KAAK,UACE,KAOF,kBAAkB,GAAqB,GAAW,KAAK,MAAO,GAAS,KAAK,OAAQ,GAAqB,CAC9G,GAAI,IAAQ,GAAQ,GAAM,EAAI,GAAU,IAAM,EAAI,GAAM,GAAK,EACzD,GAAQ,GACZ,OAAS,IAAI,GAAO,CAAC,GAAO,EAAE,GAAG,CAC/B,GAAI,IAAI,GAAI,GACR,GAAI,KAAK,MAAM,GAAI,IACvB,GAAI,GAAI,GAAK,EAAI,GACf,SAEF,GAAI,IAAM,CAAC,KAAG,KAAG,EAAG,GAAK,EAAG,EAAG,GAAK,GACpC,AAAK,GAAS,KAAK,IAAK,GAAM,cAAc,GAAK,MAC3C,KAAK,IAAM,IAAK,GAAK,IAAM,KAAG,IAAK,OAAS,IAChD,GAAK,EAAI,GACT,GAAK,EAAI,GACT,MAAO,IAAK,aACZ,GAAQ,IAGZ,MAAO,IAIF,QAAQ,GAAqB,GAAkB,GAAO,GAAqB,CAChF,GAAI,IAAM,KAAK,MAAM,KAAK,IAAK,GAAE,MAAQ,GAAK,KAC9C,GAAI,GAAK,MAAO,IAGhB,KAAK,gBAAkB,KAAK,aAAa,IAAQ,KAAK,YAAY,IAClE,MAAO,IAAK,kBACZ,MAAO,IAAK,WAEZ,GAAI,IACJ,MAAI,IAAK,cAAgB,KAAK,kBAAkB,GAAM,KAAK,MAAO,KAAK,OAAQ,KAC7E,OAAO,IAAK,aACZ,GAAgB,IAGlB,KAAK,MAAM,KAAK,IACZ,IAAmB,KAAK,WAAW,KAAK,IAEvC,IAAe,KAAK,eAAe,IACnC,KAAK,WAAa,KAAK,aAAa,UAClC,GAGF,WAAW,GAAqB,GAAY,GAAM,GAAe,GAAK,CAC3E,MAAK,MAAK,MAAM,KAAK,IAAK,GAAE,MAAQ,GAAK,KAIrC,KACF,KAAK,aAAa,KAAK,IAErB,IAAW,IAAK,WAAa,IAEjC,KAAK,MAAQ,KAAK,MAAM,OAAO,IAAK,GAAE,MAAQ,GAAK,KAC9C,GAAK,kBAAkB,KAAK,aACjC,KAAK,QAAQ,CAAC,KACP,MAVE,KAaJ,UAAU,GAAY,GAAM,GAAe,GAAI,CAEpD,GADA,MAAO,MAAK,SACR,CAAC,KAAK,MAAM,OAAQ,MAAO,MAC/B,IAAa,KAAK,MAAM,QAAQ,IAAK,GAAE,WAAa,IACpD,GAAM,IAAe,KAAK,MAC1B,YAAK,aAAe,GAAe,GAAe,GAClD,KAAK,MAAQ,GACN,KAAK,QAAQ,IAMf,cAAc,GAAqB,GAAoB,CAE5D,GAAI,CAAC,KAAK,oBAAoB,GAAM,IAAI,MAAO,GAI/C,GAHA,GAAE,KAAO,GAGL,CAAC,KAAK,OACR,MAAO,MAAK,SAAS,GAAM,IAI7B,GAAI,IACA,GAAQ,GAAI,IAAgB,CAC9B,OAAQ,KAAK,OACb,MAAO,KAAK,MACZ,MAAO,KAAK,MAAM,IAAI,IAChB,GAAE,MAAQ,GAAK,IACjB,IAAa,MAAI,IACV,IAEF,MAAI,OAGf,GAAI,CAAC,GAAY,MAAO,GAIxB,GAAI,IAAU,GAAM,SAAS,GAAY,KAAM,GAAM,UAAY,KAAK,IAAI,KAAK,SAAU,KAAK,QAE9F,GAAI,CAAC,IAAW,CAAC,GAAE,UAAY,GAAE,QAAS,CACxC,GAAI,IAAU,GAAE,QAAQ,GAAG,cAC3B,GAAI,KAAK,KAAK,GAAM,IAClB,YAAK,UACE,GAGX,MAAK,IAIL,IAAM,MAAM,OAAO,IAAK,GAAE,QAAQ,QAAQ,IAAI,CAC5C,GAAI,IAAI,KAAK,MAAM,KAAK,IAAK,GAAE,MAAQ,GAAE,KACzC,AAAI,CAAC,IACL,IAAM,QAAQ,GAAG,IACjB,GAAE,OAAS,MAEb,KAAK,UACE,IAXc,GAehB,UAAU,GAAmB,CAElC,GADA,MAAO,IAAK,YACR,CAAC,KAAK,OAAQ,MAAO,GAEzB,GAAI,IAAQ,GAAI,IAAgB,CAC9B,OAAQ,KAAK,OACb,MAAO,KAAK,MACZ,MAAO,KAAK,MAAM,IAAI,IAAa,MAAI,OAErC,GAAI,MAAI,IAIZ,MAHA,MAAK,YAAY,IACjB,MAAO,IAAE,GAAI,MAAO,IAAE,IAAK,MAAO,IAAE,QAAS,MAAO,IAAE,KACtD,GAAM,QAAQ,IACV,GAAM,UAAY,KAAK,OACzB,IAAK,YAAc,GAAM,QAAQ,GAAI,IAC9B,IAEF,GAIF,oBAAoB,GAAqB,GAAoB,CAIlE,MAFA,IAAE,EAAI,GAAE,GAAK,GAAK,EAClB,GAAE,EAAI,GAAE,GAAK,GAAK,EACd,GAAK,IAAM,GAAE,GAAK,GAAK,IAAM,GAAE,EAAU,GAEzC,IAAK,MAAQ,IAAE,EAAI,KAAK,IAAI,GAAE,EAAG,GAAK,OACtC,GAAK,MAAQ,IAAE,EAAI,KAAK,IAAI,GAAE,EAAG,GAAK,OACtC,GAAK,MAAQ,IAAE,EAAI,KAAK,IAAI,GAAE,EAAG,GAAK,OACtC,GAAK,MAAQ,IAAE,EAAI,KAAK,IAAI,GAAE,EAAG,GAAK,OAClC,GAAK,IAAM,GAAE,GAAK,GAAK,IAAM,GAAE,GAIlC,SAAS,GAAqB,GAAoB,CAnpB3D,UAopBI,GAAI,CAAC,IAA2B,CAAC,GAAG,MAAO,GAC3C,GAAI,IACJ,AAAI,GAAE,OAAS,QAAa,CAAC,KAAK,WAChC,IAAmB,GAAE,KAAO,IAI1B,MAAO,IAAE,GAAM,UAAY,IAAE,EAAI,GAAK,GACtC,MAAO,IAAE,GAAM,UAAY,IAAE,EAAI,GAAK,GACtC,MAAO,IAAE,GAAM,UAAY,IAAE,EAAI,GAAK,GACtC,MAAO,IAAE,GAAM,UAAY,IAAE,EAAI,GAAK,GAC1C,GAAI,IAAY,GAAK,IAAM,GAAE,GAAK,GAAK,IAAM,GAAE,EAC3C,GAAoB,GAAM,QAAQ,GAAI,GAAM,IAKhD,GAJA,GAAM,QAAQ,GAAI,IAClB,KAAK,aAAa,GAAI,IACtB,GAAM,QAAQ,GAAG,IAEb,CAAC,GAAE,cAAgB,GAAM,QAAQ,GAAM,IAAI,MAAO,GACtD,GAAI,IAA6B,GAAM,QAAQ,GAAI,IAG/C,GAAW,KAAK,WAAW,GAAM,GAAI,GAAE,MACvC,GAAa,GACjB,GAAI,GAAS,OAAQ,CACnB,GAAI,IAAa,GAAK,SAAW,CAAC,GAAE,OAEhC,GAAU,GAAa,KAAK,yBAAyB,GAAM,GAAG,IAAY,GAAS,GAEvF,GAAI,IAAc,IAAW,YAAK,OAAL,eAAW,OAAX,eAAiB,iBAAkB,CAAC,GAAK,KAAK,QAAS,CAClF,GAAI,IAAO,GAAM,cAAc,GAAE,KAAM,GAAQ,OAC3C,GAAK,GAAM,KAAK,GAAE,MAClB,GAAK,GAAM,KAAK,GAAQ,OAE5B,AAAI,AADO,GAAQ,IAAK,GAAK,GAAK,IACvB,IACT,IAAQ,KAAK,YAAY,GAAQ,GAAI,OAAW,IAChD,GAAU,QAId,AAAI,GACF,GAAa,CAAC,KAAK,eAAe,GAAM,GAAI,GAAS,IAErD,IAAa,GACT,IAAkB,MAAO,IAAE,MAKnC,MAAI,KACF,IAAK,OAAS,GACd,GAAM,QAAQ,GAAM,KAElB,GAAE,MACJ,KAAK,aACF,UAEE,CAAC,GAAM,QAAQ,GAAM,IAGvB,QAAM,CACX,MAAO,MAAK,MAAM,OAAO,CAAC,GAAK,KAAM,KAAK,IAAI,GAAK,GAAE,EAAI,GAAE,GAAI,GAG1D,YAAY,GAAmB,CACpC,MAAK,IAAK,WACR,IAAK,UAAY,GACjB,MAAO,IAAK,UACP,KAAK,WAAW,KAAK,eAErB,KAGF,WAAS,CACd,GAAI,IAAI,KAAK,MAAM,KAAK,IAAK,GAAE,WAC/B,MAAI,KACF,OAAO,IAAE,UACT,MAAO,IAAE,WAEJ,KAKF,KAAK,GAAc,GAAM,GAAgB,CAvuBlD,OAyuBI,GAAI,IAAM,SAAK,WAAL,eAAe,OACrB,GAAS,IAAO,KAAK,SAAY,GAAM,EAAK,KAAK,SAAS,GAAM,GAAK,KACrE,GAAwB,GAC5B,YAAK,YACL,KAAK,MAAM,QAAQ,IAAI,CACrB,GAAI,IAAK,mBAAQ,KAAK,IAAK,GAAE,MAAQ,GAAE,KAEnC,GAAmB,SAAI,IAAO,IAAM,IACxC,GAAM,sBAAsB,GAAG,CAAC,IAC5B,IAAQ,GAAO,GAAG,IACtB,GAAK,KAAK,MAEL,GAIF,mBAAmB,GAAsB,CAC9C,MAAI,CAAC,KAAK,UAAY,KAAK,gBAAwB,KAEnD,MAAK,SAAS,QAAQ,CAAC,GAAQ,KAAU,CACvC,GAAI,CAAC,IAAU,KAAW,KAAK,OAAQ,MAAO,MAC9C,GAAI,GAAS,KAAK,OAChB,KAAK,SAAS,IAAU,WAErB,CAGH,GAAI,IAAQ,GAAS,KAAK,OAC1B,GAAM,QAAQ,IAAO,CACnB,GAAI,CAAC,GAAK,MAAO,OACjB,GAAI,IAAI,GAAO,KAAK,IAAK,GAAE,MAAQ,GAAK,KACxC,AAAI,CAAC,IAGD,IAAE,GAAK,GAAK,GAAK,IAAM,GAAK,MAAM,GACpC,IAAE,GAAM,GAAK,EAAI,GAAK,MAAM,GAG1B,GAAK,IAAM,GAAK,MAAM,GACxB,IAAE,EAAI,KAAK,MAAM,GAAK,EAAI,KAGxB,GAAK,IAAM,GAAK,MAAM,GACxB,IAAE,EAAI,KAAK,MAAM,GAAK,EAAI,WAM3B,MAaF,cAAc,GAAoB,GAAgB,GAAwB,YAAW,CAvyB9F,OAwyBI,GAAI,CAAC,KAAK,MAAM,QAAU,CAAC,IAAU,KAAe,GAAQ,MAAO,MAGnE,GAAI,KAAW,OAAQ,MAAO,MAG9B,GAAM,IAAY,KAAW,WAAa,KAAW,OACrD,AAAI,IACF,KAAK,UAAU,GAIb,GAAS,IAAY,KAAK,YAAY,KAAK,MAAO,IACtD,KAAK,cACL,GAAI,IAA4B,GAC5B,GAAQ,GAAY,KAAK,MAAQ,GAAM,KAAK,KAAK,MAAO,IAI5D,GAAI,GAAS,IAAc,KAAK,SAAU,CACxC,GAAM,IAAa,KAAK,SAAS,KAAW,GAGxC,GAAY,KAAK,SAAS,OAAS,EACvC,AAAI,CAAC,GAAW,QAAU,KAAe,IAAa,UAAK,SAAS,MAAd,eAA0B,SAC9E,IAAa,GACb,KAAK,SAAS,IAAW,QAAQ,IAAY,CAl0BrD,aAm0BU,GAAI,IAAI,GAAM,KAAK,IAAK,GAAE,MAAQ,GAAU,KAC5C,AAAI,IAEE,EAAC,IAAa,CAAC,GAAU,cAC3B,IAAE,EAAI,OAAU,IAAV,QAAe,GAAE,EACvB,GAAE,EAAI,OAAU,IAAV,QAAe,GAAE,GAEzB,GAAE,EAAI,OAAU,IAAV,QAAe,GAAE,EACnB,IAAU,GAAK,MAAa,GAAU,IAAM,SAAW,IAAE,aAAe,QAMlF,GAAW,QAAQ,IAAY,CAj1BrC,aAk1BQ,GAAI,IAAI,GAAM,UAAU,IAAK,GAAE,MAAQ,GAAU,KACjD,GAAI,KAAM,GAAI,CACZ,GAAM,IAAI,GAAM,IAEhB,GAAI,GAAW,CACb,GAAE,EAAI,GAAU,EAChB,OAEF,AAAI,IAAU,cAAgB,MAAM,GAAU,IAAM,MAAM,GAAU,KAClE,KAAK,kBAAkB,GAAW,IAE/B,GAAU,cACb,IAAE,EAAI,OAAU,IAAV,QAAe,GAAE,EACvB,GAAE,EAAI,OAAU,IAAV,QAAe,GAAE,EACvB,GAAE,EAAI,OAAU,IAAV,QAAe,GAAE,EACvB,GAAS,KAAK,KAEhB,GAAM,OAAO,GAAG,MAMtB,GAAI,GACF,KAAK,QAAQ,GAAQ,QAChB,CAEL,GAAI,GAAM,OACR,GAAI,MAAO,KAAW,WACpB,GAAO,GAAQ,GAAY,GAAU,QAChC,CACL,GAAI,IAAQ,GAAY,EAAI,GAAS,GACjC,GAAQ,KAAW,QAAU,KAAW,YACxC,GAAS,KAAW,SAAW,KAAW,YAC9C,GAAM,QAAQ,IAAO,CAEnB,GAAK,EAAK,KAAW,EAAI,EAAK,GAAO,KAAK,MAAM,GAAK,EAAI,IAAS,KAAK,IAAI,GAAK,EAAG,GAAS,GAC5F,GAAK,EAAM,KAAW,GAAK,KAAe,EAAK,EAAI,GAAS,KAAK,MAAM,GAAK,EAAI,KAAU,EAAM,KAAK,IAAI,GAAK,EAAG,IACjH,GAAS,KAAK,MAEhB,GAAQ,GAKZ,GAAW,GAAM,KAAK,GAAU,IAChC,KAAK,gBAAkB,GACvB,KAAK,MAAQ,GACb,GAAS,QAAQ,IAAO,CACtB,KAAK,QAAQ,GAAM,IACnB,MAAO,IAAK,QAIhB,YAAK,MAAM,QAAQ,IAAK,MAAO,IAAE,OACjC,KAAK,YAAY,GAAO,CAAC,IACzB,MAAO,MAAK,gBACL,KASF,YAAY,GAAwB,GAAgB,GAAQ,GAAK,CACtE,GAAI,IAAwB,GAC5B,UAAM,QAAQ,CAAC,GAAG,KAAK,CAt5B3B,OAw5BM,GAAI,GAAE,MAAQ,OAAW,CACvB,GAAM,IAAW,GAAE,GAAK,KAAK,MAAM,KAAK,IAAM,GAAG,KAAO,GAAE,IAAM,OAChE,GAAE,IAAM,uBAAU,MAAV,QAAiB,GAAgB,SAE3C,GAAK,IAAK,CAAC,EAAG,GAAE,EAAG,EAAG,GAAE,EAAG,EAAG,GAAE,EAAG,IAAK,GAAE,OAE5C,KAAK,SAAW,GAAQ,GAAK,KAAK,UAAY,GAC9C,KAAK,SAAS,IAAU,GACjB,KAQF,eAAe,GAAkB,GAAc,CAx6BxD,OAy6BI,GAAE,IAAM,OAAE,MAAF,QAAS,GAAgB,SACjC,GAAI,IAAmB,CAAC,EAAG,GAAE,EAAG,EAAG,GAAE,EAAG,EAAG,GAAE,EAAG,IAAK,GAAE,KACvD,AAAI,IAAE,cAAgB,GAAE,IAAM,SAAa,OAAO,IAAE,EAAG,MAAO,IAAE,EAAO,GAAE,cAAc,IAAE,aAAe,KACxG,KAAK,SAAW,KAAK,UAAY,GACjC,KAAK,SAAS,IAAU,KAAK,SAAS,KAAW,GACjD,GAAI,IAAQ,KAAK,gBAAgB,GAAG,IACpC,MAAI,MAAU,GACZ,KAAK,SAAS,IAAQ,KAAK,IAE3B,KAAK,SAAS,IAAQ,IAAS,GAC1B,KAGC,gBAAgB,GAAkB,GAAc,CAt7B5D,aAu7BI,MAAO,iBAAK,WAAL,eAAgB,MAAhB,eAAyB,UAAU,IAAK,GAAE,MAAQ,GAAE,OAApD,QAA4D,GAG9D,0BAA0B,GAAgB,CAC/C,GAAI,EAAC,KAAK,SAGV,OAAS,IAAI,EAAG,GAAI,KAAK,SAAS,OAAQ,KAAK,CAC7C,GAAI,IAAQ,KAAK,gBAAgB,GAAG,IACpC,AAAI,KAAU,IACZ,KAAK,SAAS,IAAG,OAAO,GAAO,IAM9B,YAAY,GAAmB,CACpC,OAAS,MAAQ,IACf,AAAI,GAAK,KAAO,KAAO,KAAS,OAAO,MAAO,IAAK,IAErD,MAAO,QA35BK,GAAA,OAAS,ECvClB,GAAM,IAAiC,CAC5C,uBAAwB,SACxB,QAAS,GACT,KAAM,GACN,WAAY,OACZ,mBAAoB,IACpB,eAAgB,KAChB,OAAQ,GACR,UAAW,CAAE,OAAQ,2BAA4B,SAAU,OAAQ,OAAQ,IAC3E,OAAQ,2BACR,UAAW,kBACX,OAAQ,GACR,WAAY,KACZ,OAAQ,EACR,OAAQ,EACR,iBAAkB,yBAClB,gBAAiB,GACjB,iBAAkB,CAAE,OAAQ,kBAAmB,QAAS,4BACxD,UAAW,CAAE,QAAS,MACtB,IAAK,QAcM,GAAoC,CAC/C,OAAQ,2BACR,SAAU,QChCN,YAAgB,GCAf,GAAM,IAAmB,MAAO,SAAW,aAAe,MAAO,WAAa,aACnF,iBAAkB,WACf,gBAAkB,SAGhB,OAAe,eAAiB,mBAAqB,QAAe,eACtE,UAAU,eAAiB,GAE1B,UAAkB,iBAAmB,GAK3C,QAAa,GAoBb,YAA4B,GAAe,GAAqB,CAG9D,GAAI,GAAE,QAAQ,OAAS,EAAG,OAG1B,AAAI,GAAE,YAAY,GAAE,iBAEpB,GAAM,IAAQ,GAAE,eAAe,GAAI,GAAiB,SAAS,YAAY,eAGzE,GAAe,eACb,GACA,GACA,GACA,OACA,EACA,GAAM,QACN,GAAM,QACN,GAAM,QACN,GAAM,QACN,GACA,GACA,GACA,GACA,EACA,MAIF,GAAE,OAAO,cAAc,IAQzB,YAAmC,GAAiB,GAAqB,CAGvE,AAAI,GAAE,YAAY,GAAE,iBAEpB,GAAM,IAAiB,SAAS,YAAY,eAG5C,GAAe,eACb,GACA,GACA,GACA,OACA,EACA,GAAE,QACF,GAAE,QACF,GAAE,QACF,GAAE,QACF,GACA,GACA,GACA,GACA,EACA,MAIF,GAAE,OAAO,cAAc,IAQnB,YAAqB,GAAa,CAEtC,AAAI,GAAQ,cACZ,IAAQ,aAAe,GAKvB,GAAmB,GAAG,cAOlB,YAAoB,GAAa,CAErC,AAAI,CAAC,GAAQ,cAEb,GAAmB,GAAG,aAOlB,YAAmB,GAAa,CAGpC,GAAI,CAAC,GAAQ,aAAc,OAG3B,AAAI,GAAQ,qBACV,QAAO,aAAa,GAAQ,qBAC5B,MAAO,IAAQ,qBAGjB,GAAM,IAAc,CAAC,CAAC,GAAU,YAGhC,GAAmB,GAAG,WAIjB,IACH,GAAmB,GAAG,SAIxB,GAAQ,aAAe,GAQnB,YAAsB,GAAe,CAEzC,AAAI,GAAE,cAAgB,SACrB,GAAE,OAAuB,sBAAsB,GAAE,WAG9C,YAAuB,GAAe,CAE1C,AAAI,CAAC,GAAU,aAKX,GAAE,cAAgB,SACtB,GAA0B,GAAG,cAGzB,YAAuB,GAAe,CAG1C,AAAI,CAAC,GAAU,aAIX,GAAE,cAAgB,SACtB,IAAQ,oBAAsB,OAAO,WAAW,IAAK,CACnD,MAAO,IAAQ,oBAEf,GAA0B,GAAG,eAC5B,KC9LL,YAA8B,CAU5B,YAAsB,GAAqC,GAAuB,GAA4B,CAAxF,KAAA,KAAA,GAAqC,KAAA,IAAA,GAAuB,KAAA,OAAA,GANxE,KAAA,OAAS,GAQjB,KAAK,WAAa,KAAK,WAAW,KAAK,MACvC,KAAK,WAAa,KAAK,WAAW,KAAK,MACvC,KAAK,SAAW,KAAK,SAAS,KAAK,MACnC,KAAK,UAAY,KAAK,UAAU,KAAK,MAErC,KAAK,QAIG,OAAK,CACb,GAAM,IAAK,KAAK,GAAK,SAAS,cAAc,OAC5C,UAAG,UAAU,IAAI,uBACjB,GAAG,UAAU,IAAI,GAAG,GAAkB,SAAS,KAAK,OACpD,GAAG,MAAM,OAAS,MAClB,GAAG,MAAM,WAAa,OACtB,KAAK,KAAK,YAAY,KAAK,IAC3B,KAAK,GAAG,iBAAiB,YAAa,KAAK,YACvC,IACF,MAAK,GAAG,iBAAiB,aAAc,IACvC,KAAK,GAAG,iBAAiB,cAAe,KAGnC,KAIF,SAAO,CACZ,MAAI,MAAK,QAAQ,KAAK,SAAS,KAAK,gBACpC,KAAK,GAAG,oBAAoB,YAAa,KAAK,YAC1C,IACF,MAAK,GAAG,oBAAoB,aAAc,IAC1C,KAAK,GAAG,oBAAoB,cAAe,KAE7C,KAAK,KAAK,YAAY,KAAK,IAC3B,MAAO,MAAK,GACZ,MAAO,MAAK,KACL,KAIC,WAAW,GAAa,CAChC,KAAK,eAAiB,GACtB,SAAS,iBAAiB,YAAa,KAAK,WAAY,CAAE,QAAS,GAAM,QAAS,KAClF,SAAS,iBAAiB,UAAW,KAAK,SAAU,IAChD,IACF,MAAK,GAAG,iBAAiB,YAAa,IACtC,KAAK,GAAG,iBAAiB,WAAY,KAEvC,GAAE,kBACF,GAAE,iBAIM,WAAW,GAAa,CAChC,GAAI,IAAI,KAAK,eACb,AAAI,KAAK,OACP,KAAK,cAAc,OAAQ,IAClB,KAAK,IAAI,GAAE,EAAI,GAAE,GAAK,KAAK,IAAI,GAAE,EAAI,GAAE,GAAK,GAErD,MAAK,OAAS,GACd,KAAK,cAAc,QAAS,KAAK,gBACjC,KAAK,cAAc,OAAQ,IAE3B,SAAS,iBAAiB,UAAW,KAAK,YAE5C,GAAE,kBAKM,SAAS,GAAa,CAC9B,AAAI,KAAK,QACP,MAAK,cAAc,OAAQ,IAC3B,SAAS,oBAAoB,UAAW,KAAK,YAE/C,SAAS,oBAAoB,YAAa,KAAK,WAAY,IAC3D,SAAS,oBAAoB,UAAW,KAAK,SAAU,IACnD,IACF,MAAK,GAAG,oBAAoB,YAAa,IACzC,KAAK,GAAG,oBAAoB,WAAY,KAE1C,MAAO,MAAK,OACZ,MAAO,MAAK,eACZ,GAAE,kBACF,GAAE,iBAIM,UAAU,GAAgB,CAlHtC,UAmHI,AAAI,GAAE,MAAQ,UACZ,cAAK,KAAK,gBAAV,eAAyB,OAAzB,SAA+B,OAAO,iBACtC,KAAK,SAAS,KAAK,iBAOb,cAAc,GAAc,GAAiB,CACrD,MAAI,MAAK,OAAO,KAAO,KAAK,OAAO,IAAM,IAClC,OAxGQ,GAAA,OAAS,gBChBtB,YAA+B,CAArC,aAAA,CAOY,KAAA,eAEN,MAPO,WAAQ,CAAgB,MAAO,MAAK,UASxC,GAAG,GAAe,GAAuB,CAC9C,KAAK,eAAe,IAAS,GAGxB,IAAI,GAAa,CACtB,MAAO,MAAK,eAAe,IAGtB,QAAM,CACX,KAAK,UAAY,GAGZ,SAAO,CACZ,KAAK,UAAY,GAGZ,SAAO,CACZ,MAAO,MAAK,eAGP,aAAa,GAAmB,GAAY,CACjD,GAAI,CAAC,KAAK,UAAY,KAAK,gBAAkB,KAAK,eAAe,IAC/D,MAAO,MAAK,eAAe,IAAW,MCR5C,oBAAiC,GAAe,CA2B9C,YAAmB,GAAgC,GAAyB,GAAE,CAC5E,QADiB,KAAA,GAAA,GAAgC,KAAA,OAAA,GArBzC,KAAA,UAAiC,CAAE,EAAG,EAAG,EAAG,GA4R5C,KAAA,IAAM,IAAe,CAE7B,GAAM,IAAkB,AADF,KAAK,GAAG,cACQ,wBAChC,GAAU,CACd,MAAO,KAAK,aAAa,MACzB,OAAQ,KAAK,aAAa,OAAS,KAAK,SACxC,KAAM,KAAK,aAAa,KACxB,IAAK,KAAK,aAAa,IAAM,KAAK,UAE9B,GAAO,KAAK,cAAgB,GAClC,MAAO,CACL,SAAU,CACR,KAAO,IAAK,KAAO,GAAgB,MAAQ,KAAK,UAAU,EAC1D,IAAM,IAAK,IAAM,GAAgB,KAAO,KAAK,UAAU,GAEzD,KAAM,CACJ,MAAO,GAAK,MAAQ,KAAK,UAAU,EACnC,OAAQ,GAAK,OAAS,KAAK,UAAU,KArRzC,KAAK,WAAa,KAAK,WAAW,KAAK,MACvC,KAAK,UAAY,KAAK,UAAU,KAAK,MACrC,KAAK,SACL,KAAK,eAAe,KAAK,OAAO,UAChC,KAAK,iBAGA,GAAG,GAAgD,GAAoC,CAC5F,MAAM,GAAG,GAAO,IAGX,IAAI,GAA8C,CACvD,MAAM,IAAI,IAGL,QAAM,CACX,MAAM,SACN,KAAK,GAAG,UAAU,OAAO,yBACzB,KAAK,eAAe,KAAK,OAAO,UAG3B,SAAO,CACZ,MAAM,UACN,KAAK,GAAG,UAAU,IAAI,yBACtB,KAAK,eAAe,IAGf,SAAO,CACZ,KAAK,kBACL,KAAK,eAAe,IACpB,MAAO,MAAK,GACZ,MAAM,UAGD,aAAa,GAAoB,CACtC,GAAI,IAAiB,GAAK,SAAW,GAAK,UAAY,KAAK,OAAO,QAC9D,GAAkB,GAAK,UAAY,GAAK,WAAa,KAAK,OAAO,SACrE,cAAO,KAAK,IAAM,QAAQ,IAAO,KAAK,OAAO,IAAO,GAAK,KACrD,IACF,MAAK,kBACL,KAAK,kBAEH,IACF,KAAK,eAAe,KAAK,OAAO,UAE3B,KAIC,eAAe,GAAa,CACpC,MAAI,IACF,MAAK,GAAG,UAAU,IAAI,yBAEtB,KAAK,GAAG,iBAAiB,YAAa,KAAK,YAC3C,KAAK,GAAG,iBAAiB,WAAY,KAAK,YAE1C,MAAK,GAAG,UAAU,OAAO,yBACzB,KAAK,GAAG,oBAAoB,YAAa,KAAK,YAC9C,KAAK,GAAG,oBAAoB,WAAY,KAAK,WACzC,GAAU,oBAAsB,MAClC,MAAO,IAAU,mBAGd,KAKC,WAAW,GAAQ,CAG3B,AAAI,GAAU,mBAAqB,GAAU,aAC7C,IAAU,kBAAoB,KAE9B,KAAK,GAAG,UAAU,OAAO,0BAKjB,UAAU,GAAQ,CAE1B,AAAI,GAAU,oBAAsB,MACpC,OAAO,IAAU,kBAEjB,KAAK,GAAG,UAAU,IAAI,0BAId,gBAAc,CACtB,YAAK,SAAW,KAAK,OAAO,QAAQ,MAAM,KACvC,IAAI,IAAO,GAAI,QACf,IAAI,IAAO,GAAI,IAAkB,KAAK,GAAI,GAAK,CAC9C,MAAO,AAAC,IAAqB,CAC3B,KAAK,aAAa,KAEpB,KAAM,AAAC,IAAqB,CAC1B,KAAK,YAAY,KAEnB,KAAM,AAAC,IAAqB,CAC1B,KAAK,UAAU,GAAO,QAGrB,KAIC,aAAa,GAAiB,CACtC,KAAK,cAAgB,GAAM,oBAAoB,KAAK,GAAG,cAAe,IACtE,KAAK,aAAe,KAAK,GAAG,wBAC5B,KAAK,SAAW,GAAM,iBAAiB,KAAK,IAC5C,KAAK,QAAU,KAAK,SAAS,UAC7B,KAAK,SAAW,EAChB,KAAK,WAAa,GAClB,KAAK,eACL,KAAK,eACL,GAAM,IAAK,GAAM,UAAsB,GAAO,CAAE,KAAM,cAAe,OAAQ,KAAK,KAClF,MAAI,MAAK,OAAO,OACd,KAAK,OAAO,MAAM,GAAI,KAAK,OAE7B,KAAK,GAAG,UAAU,IAAI,yBACtB,KAAK,aAAa,cAAe,IAC1B,KAIC,UAAU,GAAmB,GAAW,CAChD,KAAK,SAAW,KAAK,SAAS,UAAY,KAAK,QAC/C,KAAK,aAAe,KAAK,WAAW,GAAO,IAC3C,KAAK,eACL,GAAM,IAAK,GAAM,UAAsB,GAAO,CAAE,KAAM,SAAU,OAAQ,KAAK,KAC7E,MAAI,MAAK,OAAO,QACd,KAAK,OAAO,OAAO,GAAI,KAAK,OAE9B,KAAK,aAAa,SAAU,IACrB,KAIC,YAAY,GAAiB,CACrC,GAAM,IAAK,GAAM,UAAsB,GAAO,CAAE,KAAM,aAAc,OAAQ,KAAK,KACjF,MAAI,MAAK,OAAO,MACd,KAAK,OAAO,KAAK,IAEnB,KAAK,GAAG,UAAU,OAAO,yBACzB,KAAK,aAAa,aAAc,IAChC,KAAK,eACL,MAAO,MAAK,WACZ,MAAO,MAAK,aACZ,MAAO,MAAK,aACZ,MAAO,MAAK,QACZ,MAAO,MAAK,SACL,KAIC,cAAY,CACpB,KAAK,iBAAmB,GAAY,iBAAiB,IAAI,IAAQ,KAAK,GAAG,MAAM,KAC/E,KAAK,0BAA4B,KAAK,GAAG,cAAc,MAAM,SAE7D,GAAM,IAAS,KAAK,GAAG,cACjB,GAAgB,GAAM,gCAAgC,IAC5D,YAAK,UAAY,CACf,EAAG,GAAc,OACjB,EAAG,GAAc,QAGf,iBAAiB,KAAK,GAAG,eAAe,SAAS,MAAM,WACzD,MAAK,GAAG,cAAc,MAAM,SAAW,YAEzC,KAAK,GAAG,MAAM,SAAW,WACzB,KAAK,GAAG,MAAM,QAAU,MACjB,KAIC,cAAY,CACpB,UAAY,iBAAiB,QAAQ,CAAC,GAAM,KAAK,CAC/C,KAAK,GAAG,MAAM,IAAQ,KAAK,iBAAiB,KAAM,OAEpD,KAAK,GAAG,cAAc,MAAM,SAAW,KAAK,2BAA6B,KAClE,KAIC,WAAW,GAAmB,GAAW,CACjD,GAAM,IAAS,KAAK,WACd,GAAU,CACd,MAAO,KAAK,aAAa,MACzB,OAAQ,KAAK,aAAa,OAAS,KAAK,SACxC,KAAM,KAAK,aAAa,KACxB,IAAK,KAAK,aAAa,IAAM,KAAK,UAG9B,GAAU,GAAM,QAAU,GAAO,QACjC,GAAU,KAAK,cAAgB,EAAI,GAAM,QAAU,GAAO,QAEhE,AAAI,GAAI,QAAQ,KAAO,GACrB,GAAQ,OAAS,GACR,GAAI,QAAQ,KAAO,IAC5B,IAAQ,OAAS,GACjB,GAAQ,MAAQ,IAElB,AAAI,GAAI,QAAQ,KAAO,GACrB,GAAQ,QAAU,GACT,GAAI,QAAQ,KAAO,IAC5B,IAAQ,QAAU,GAClB,GAAQ,KAAO,IAEjB,GAAM,IAAY,KAAK,eAAe,GAAQ,MAAO,GAAQ,QAC7D,MAAI,MAAK,MAAM,GAAQ,SAAW,KAAK,MAAM,GAAU,QACjD,IAAI,QAAQ,KAAO,IACrB,IAAQ,MAAQ,GAAQ,MAAQ,GAAU,OAE5C,GAAQ,MAAQ,GAAU,OAExB,KAAK,MAAM,GAAQ,UAAY,KAAK,MAAM,GAAU,SAClD,IAAI,QAAQ,KAAO,IACrB,IAAQ,KAAO,GAAQ,OAAS,GAAU,QAE5C,GAAQ,OAAS,GAAU,QAEtB,GAIC,eAAe,GAAgB,GAAe,CACtD,GAAM,IAAW,KAAK,OAAO,UAAY,OAAO,iBAC1C,GAAW,KAAK,OAAO,SAAW,KAAK,UAAU,GAAK,GACtD,GAAY,KAAK,OAAO,WAAa,OAAO,iBAC5C,GAAY,KAAK,OAAO,UAAY,KAAK,UAAU,GAAK,GACxD,GAAQ,KAAK,IAAI,GAAU,KAAK,IAAI,GAAU,KAC9C,GAAS,KAAK,IAAI,GAAW,KAAK,IAAI,GAAW,KACvD,MAAO,CAAE,SAAO,WAIR,cAAY,CACpB,GAAI,IAAkB,CAAE,KAAM,EAAG,IAAK,EAAG,MAAO,EAAG,OAAQ,GAC3D,GAAI,KAAK,GAAG,MAAM,WAAa,WAAY,CACzC,GAAM,IAAgB,KAAK,GAAG,cACxB,CAAE,QAAM,QAAQ,GAAc,wBACpC,GAAkB,CAAE,QAAM,OAAK,MAAO,EAAG,OAAQ,GAEnD,MAAK,MAAK,aACV,QAAO,KAAK,KAAK,cAAc,QAAQ,IAAM,CAC3C,GAAM,IAAQ,KAAK,aAAa,IAC1B,GAAkB,KAAQ,SAAW,KAAQ,OAAS,KAAK,UAAU,EAAI,KAAQ,UAAY,KAAQ,MAAQ,KAAK,UAAU,EAAI,EACtI,KAAK,GAAG,MAAM,IAAQ,IAAQ,GAAgB,KAAQ,GAAkB,OAEnE,MANwB,KAUvB,iBAAe,CACvB,YAAK,SAAS,QAAQ,IAAU,GAAO,WACvC,MAAO,MAAK,SACL,OAxQQ,GAAA,iBAAmB,CAAC,QAAS,SAAU,WAAY,OAAQ,MAAO,UAAW,UCXhG,GAAM,IAAgB,oFAItB,gBAAiC,GAAe,CA+B9C,YAAmB,GAAgC,GAAyB,GAAE,CAC5E,QADiB,KAAA,GAAA,GAAgC,KAAA,OAAA,GAPzC,KAAA,cAA+B,CACvC,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,QAAS,GAOT,GAAI,IAAa,GAAO,OAAO,UAAU,GACzC,KAAK,QAAU,GAAG,UAAU,SAAS,IAAc,CAAC,IAAM,MAAM,KAAK,GAAG,iBAAiB,GAAO,SAC5F,KAAK,QAAQ,SAAW,GAC1B,MAAK,QAAU,CAAC,KAGlB,KAAK,WAAa,KAAK,WAAW,KAAK,MACvC,KAAK,WAAa,KAAK,WAAW,KAAK,MACvC,KAAK,SAAW,KAAK,SAAS,KAAK,MACnC,KAAK,UAAY,KAAK,UAAU,KAAK,MACrC,KAAK,SAGA,GAAG,GAAoB,GAAoC,CAChE,MAAM,GAAG,GAAO,IAGX,IAAI,GAAkB,CAC3B,MAAM,IAAI,IAGL,QAAM,CACX,AAAI,KAAK,WAAa,IACtB,OAAM,SACN,KAAK,QAAQ,QAAQ,IAAS,CAC5B,GAAO,iBAAiB,YAAa,KAAK,YACtC,IACF,IAAO,iBAAiB,aAAc,IACtC,GAAO,iBAAiB,cAAe,OAI3C,KAAK,GAAG,UAAU,OAAO,0BAGpB,QAAQ,GAAa,GAAK,CAC/B,AAAI,KAAK,WAAa,IACtB,OAAM,UACN,KAAK,QAAQ,QAAQ,IAAS,CAC5B,GAAO,oBAAoB,YAAa,KAAK,YACzC,IACF,IAAO,oBAAoB,aAAc,IACzC,GAAO,oBAAoB,cAAe,OAGzC,IAAY,KAAK,GAAG,UAAU,IAAI,0BAGlC,SAAO,CACZ,AAAI,KAAK,aAAa,OAAO,aAAa,KAAK,aAC/C,MAAO,MAAK,YACR,KAAK,gBAAgB,KAAK,SAAS,KAAK,gBAC5C,KAAK,QAAQ,IACb,MAAO,MAAK,GACZ,MAAO,MAAK,OACZ,MAAO,MAAK,OACZ,MAAM,UAGD,aAAa,GAAoB,CACtC,cAAO,KAAK,IAAM,QAAQ,IAAO,KAAK,OAAO,IAAO,GAAK,KAClD,KAIC,WAAW,GAAa,CAEhC,GAAI,IAAU,aAKd,MAJI,IAAE,SAAW,GAGb,CAAC,KAAK,QAAQ,KAAK,IAAM,KAAO,GAAE,SAAY,GAAE,OAAuB,QAAQ,KAC/E,KAAK,OAAO,QACT,GAAE,OAAuB,QAAQ,KAAK,OAAO,SAWpD,MAAK,eAAiB,GACtB,MAAO,MAAK,SACZ,MAAO,IAAU,YACjB,MAAO,IAAU,YAEjB,SAAS,iBAAiB,YAAa,KAAK,WAAY,CAAE,QAAS,GAAM,QAAS,KAClF,SAAS,iBAAiB,UAAW,KAAK,SAAU,IAChD,IACF,IAAE,OAAO,iBAAiB,YAAa,IACvC,GAAE,OAAO,iBAAiB,WAAY,KAGxC,GAAE,iBAGE,SAAS,eAAgB,SAAS,cAA8B,OAEpE,GAAU,aAAe,IAClB,GAIC,UAAU,GAAY,CAC9B,GAAI,CAAC,KAAK,SAAU,OACpB,GAAM,IAAK,GAAM,UAAqB,GAAG,CAAE,OAAQ,KAAK,GAAI,KAAM,SAClE,AAAI,KAAK,OAAO,MACd,KAAK,OAAO,KAAK,GAAI,KAAK,MAE5B,KAAK,aAAa,OAAQ,IAIlB,WAAW,GAAY,CArMnC,OAuMI,GAAI,IAAI,KAAK,eAGb,GAFA,KAAK,SAAW,GAEZ,KAAK,SAGP,GAFA,KAAK,YAAY,IAEb,GAAU,UAAW,CACvB,GAAM,IAAQ,OAAO,UAAU,GAAU,WAAa,GAAU,UAAsB,IACtF,AAAI,KAAK,aAAa,OAAO,aAAa,KAAK,aAC/C,KAAK,YAAc,OAAO,WAAW,IAAM,KAAK,UAAU,IAAI,QAE9D,MAAK,UAAU,YAER,KAAK,IAAI,GAAE,EAAI,GAAE,GAAK,KAAK,IAAI,GAAE,EAAI,GAAE,GAAK,EAAG,CAIxD,KAAK,SAAW,GAChB,GAAU,YAAc,KAExB,GAAI,IAAO,SAAK,GAAG,gBAAR,eAAuB,KAClC,AAAI,GACF,GAAU,YAAe,GAAK,GAAqB,UAAU,YAE7D,MAAO,IAAU,YAEnB,KAAK,OAAS,KAAK,cAAc,IACjC,KAAK,+BACL,KAAK,cAAgB,GAAM,gCAAgC,KAAK,mBAChE,KAAK,WAAa,KAAK,eAAe,GAAG,KAAK,GAAI,KAAK,mBACvD,KAAK,kBAAkB,IAEvB,GAAM,IAAK,GAAM,UAAqB,GAAG,CAAE,OAAQ,KAAK,GAAI,KAAM,cAClE,AAAI,KAAK,OAAO,OACd,KAAK,OAAO,MAAM,GAAI,KAAK,MAE7B,KAAK,aAAa,YAAa,IAE/B,SAAS,iBAAiB,UAAW,KAAK,WAG5C,MAAO,GAIC,SAAS,GAAa,CApPlC,UA2PI,GANA,SAAS,oBAAoB,YAAa,KAAK,WAAY,IAC3D,SAAS,oBAAoB,UAAW,KAAK,SAAU,IACnD,IACF,IAAE,OAAO,oBAAoB,YAAa,GAAW,IACrD,GAAE,OAAO,oBAAoB,WAAY,GAAU,KAEjD,KAAK,SAAU,CACjB,MAAO,MAAK,SACZ,IAAQ,KAAK,GAAG,gBAAhB,gBAAuD,YACvD,SAAS,oBAAoB,UAAW,KAAK,WAGzC,QAAU,cAAV,eAAuB,MAAO,KAAK,GAAG,eACxC,MAAO,IAAU,YAGnB,KAAK,kBAAkB,MAAM,SAAW,KAAK,2BAA6B,KAC1E,AAAI,KAAK,SAAW,KAAK,GACvB,KAAK,qBAEL,KAAK,OAAO,SAEd,GAAM,IAAK,GAAM,UAAqB,GAAG,CAAE,OAAQ,KAAK,GAAI,KAAM,aAClE,AAAI,KAAK,OAAO,MACd,KAAK,OAAO,KAAK,IAEnB,KAAK,aAAa,WAAY,IAG1B,GAAU,aACZ,GAAU,YAAY,KAAK,IAG/B,MAAO,MAAK,OACZ,MAAO,MAAK,eACZ,MAAO,IAAU,YACjB,MAAO,IAAU,YACjB,MAAO,IAAU,aACjB,GAAE,iBAIM,UAAU,GAAgB,CAClC,GAAM,IAAI,KAAK,GAAG,cAClB,GAAI,CAAC,oBAAG,MAAM,OACd,GAAM,IAAO,GAAE,KAEf,GAAI,GAAE,MAAQ,SACZ,AAAI,GAAE,aACJ,IAAE,MAAQ,GAAE,YACZ,MAAO,IAAE,aAEX,GAAK,OAAO,iBACZ,KAAK,SAAS,KAAK,wBACV,GAAE,MAAQ,KAAO,GAAE,MAAQ,IAAK,CACzC,GAAI,CAAC,GAAM,aAAa,IAAI,OAC5B,GAAE,YAAc,GAAE,aAAe,MAAK,GAAE,OACxC,MAAO,IAAE,QACT,GAAK,aAAa,IACf,OAAO,GAAE,GAAI,CAAE,IAAK,CAAC,KAAK,WAAW,UAAW,KAAM,CAAC,KAAK,WAAW,aACvE,eACH,GAAE,QAAU,GACZ,KAAK,WAAa,KAAK,eAAe,KAAK,SAAU,GAAE,GAAI,KAAK,mBAChE,KAAK,OAAO,MAAM,MAAQ,KAAK,WAAW,MAAQ,KAClD,KAAK,OAAO,MAAM,OAAS,KAAK,WAAW,OAAS,KACpD,GAAM,KAAK,GAAE,MAAO,IAAK,KACzB,MAAO,IAAE,MACT,KAAK,WAAW,KAAK,WAKf,cAAc,GAAgB,CACtC,GAAI,IAAS,KAAK,GAClB,MAAI,OAAO,MAAK,OAAO,QAAW,WAChC,GAAS,KAAK,OAAO,OAAO,IACnB,KAAK,OAAO,SAAW,SAChC,IAAS,GAAM,UAAU,KAAK,KAE3B,SAAS,KAAK,SAAS,KAC1B,GAAM,SAAS,GAAQ,KAAK,OAAO,WAAa,SAAW,KAAK,GAAG,cAAgB,KAAK,OAAO,UAE7F,KAAW,KAAK,IAClB,MAAK,uBAAyB,GAAY,gBAAgB,IAAI,IAAQ,KAAK,GAAG,MAAM,MAE/E,GAIC,kBAAkB,GAAY,CACtC,KAAK,OAAO,UAAU,IAAI,yBAE1B,GAAM,IAAQ,KAAK,OAAO,MAC1B,UAAM,cAAgB,OAEtB,GAAM,MAAQ,KAAK,WAAW,MAAQ,KACtC,GAAM,OAAS,KAAK,WAAW,OAAS,KACxC,GAAM,WAAa,YACnB,GAAM,SAAW,QACjB,KAAK,YAAY,IACjB,GAAM,WAAa,OACnB,WAAW,IAAK,CACd,AAAI,KAAK,QACP,IAAM,WAAa,OAEpB,GACI,KAIC,oBAAkB,CAnW9B,OAoWI,KAAK,OAAO,UAAU,OAAO,yBAC7B,GAAI,IAAQ,SAAK,SAAL,eAAqC,cAEjD,GAAI,CAAC,oBAAM,mBAAoB,KAAK,uBAAwB,CAC1D,GAAI,IAAS,KAAK,OAMd,GAAa,KAAK,uBAAuB,YAAiB,KAC9D,GAAO,MAAM,WAAa,KAAK,uBAAuB,WAAgB,OACtE,GAAY,gBAAgB,QAAQ,IAAQ,GAAO,MAAM,IAAQ,KAAK,uBAAuB,KAAS,MACtG,WAAW,IAAM,GAAO,MAAM,WAAa,GAAY,IAEzD,aAAO,MAAK,uBACL,KAIC,YAAY,GAAY,CAChC,GAAI,IAAkB,CAAE,KAAM,EAAG,IAAK,GAKhC,GAAQ,KAAK,OAAO,MACpB,GAAS,KAAK,WACpB,GAAM,KAAQ,IAAE,QAAU,GAAO,WAAa,GAAgB,MAAQ,KAAK,cAAc,OAAS,KAClG,GAAM,IAAO,IAAE,QAAU,GAAO,UAAY,GAAgB,KAAO,KAAK,cAAc,OAAS,KAIvF,8BAA4B,CACpC,YAAK,kBAAoB,KAAK,OAAO,cACjC,KAAK,OAAO,MAAM,WAAa,SACjC,MAAK,0BAA4B,KAAK,kBAAkB,MAAM,SAC1D,iBAAiB,KAAK,mBAAmB,SAAS,MAAM,WAC1D,MAAK,kBAAkB,MAAM,SAAW,aAGrC,KAIC,eAAe,GAAkB,GAAiB,GAAmB,CAG7E,GAAI,IAAe,EACf,GAAe,EACnB,AAAI,IACF,IAAe,KAAK,cAAc,QAClC,GAAe,KAAK,cAAc,SAGpC,GAAM,IAAe,GAAG,wBACxB,MAAO,CACL,KAAM,GAAa,KACnB,IAAK,GAAa,IAClB,WAAY,CAAE,GAAM,QAAU,GAAa,KAAO,GAClD,UAAW,CAAE,GAAM,QAAU,GAAa,IAAM,GAChD,MAAO,GAAa,MAAQ,KAAK,cAAc,OAC/C,OAAQ,GAAa,OAAS,KAAK,cAAc,QAK9C,IAAE,CAEP,GAAM,IAAkB,AADF,KAAK,GAAG,cACQ,wBAChC,GAAS,KAAK,OAAO,wBAC3B,MAAO,CACL,SAAU,CACR,IAAM,IAAO,IAAM,GAAgB,KAAO,KAAK,cAAc,OAC7D,KAAO,IAAO,KAAO,GAAgB,MAAQ,KAAK,cAAc,WA5WrD,GAAA,gBAAkB,CAAC,aAAc,gBAAiB,WAAY,OAAQ,MAAO,WAAY,cC5CtG,oBAA2B,GAAe,CAI9C,YAAmB,GAAwB,GAAyB,GAAE,CACpE,QADiB,KAAA,GAAA,GAAwB,KAAA,OAAA,GAGzC,KAAK,YAAc,KAAK,YAAY,KAAK,MACzC,KAAK,YAAc,KAAK,YAAY,KAAK,MACzC,KAAK,SACL,KAAK,eAGA,GAAG,GAAwC,GAAoC,CACpF,MAAM,GAAG,GAAO,IAGX,IAAI,GAAsC,CAC/C,MAAM,IAAI,IAGL,QAAM,CACX,AAAI,KAAK,WAAa,IACtB,OAAM,SACN,KAAK,GAAG,UAAU,IAAI,gBACtB,KAAK,GAAG,UAAU,OAAO,yBACzB,KAAK,GAAG,iBAAiB,aAAc,KAAK,aAC5C,KAAK,GAAG,iBAAiB,aAAc,KAAK,aACxC,IACF,MAAK,GAAG,iBAAiB,eAAgB,IACzC,KAAK,GAAG,iBAAiB,eAAgB,MAItC,QAAQ,GAAa,GAAK,CAC/B,AAAI,KAAK,WAAa,IACtB,OAAM,UACN,KAAK,GAAG,UAAU,OAAO,gBACpB,IAAY,KAAK,GAAG,UAAU,IAAI,yBACvC,KAAK,GAAG,oBAAoB,aAAc,KAAK,aAC/C,KAAK,GAAG,oBAAoB,aAAc,KAAK,aAC3C,IACF,MAAK,GAAG,oBAAoB,eAAgB,IAC5C,KAAK,GAAG,oBAAoB,eAAgB,MAIzC,SAAO,CACZ,KAAK,QAAQ,IACb,KAAK,GAAG,UAAU,OAAO,gBACzB,KAAK,GAAG,UAAU,OAAO,yBACzB,MAAM,UAGD,aAAa,GAAoB,CACtC,cAAO,KAAK,IAAM,QAAQ,IAAO,KAAK,OAAO,IAAO,GAAK,KACzD,KAAK,eACE,KAIC,YAAY,GAAa,CAGjC,GADI,CAAC,GAAU,aACX,CAAC,KAAK,SAAS,GAAU,YAAY,IAAK,OAC9C,GAAE,iBACF,GAAE,kBAGE,GAAU,aAAe,GAAU,cAAgB,MACrD,GAAU,YAAY,YAAY,GAAgB,IAEpD,GAAU,YAAc,KAExB,GAAM,IAAK,GAAM,UAAqB,GAAG,CAAE,OAAQ,KAAK,GAAI,KAAM,aAClE,AAAI,KAAK,OAAO,MACd,KAAK,OAAO,KAAK,GAAI,KAAK,IAAI,GAAU,cAE1C,KAAK,aAAa,WAAY,IAC9B,KAAK,GAAG,UAAU,IAAI,qBAKd,YAAY,GAAe,GAAgB,GAAK,CA1G5D,OA4GI,GAAI,CAAC,GAAU,aAAe,GAAU,cAAgB,KAAM,OAC9D,GAAE,iBACF,GAAE,kBAEF,GAAM,IAAK,GAAM,UAAqB,GAAG,CAAE,OAAQ,KAAK,GAAI,KAAM,YAMlE,GALI,KAAK,OAAO,KACd,KAAK,OAAO,IAAI,GAAI,KAAK,IAAI,GAAU,cAEzC,KAAK,aAAa,UAAW,IAEzB,GAAU,cAAgB,MAC5B,OAAO,IAAU,YAIb,CAAC,IAAe,CAClB,GAAI,IACA,GAAwB,KAAK,GAAG,cACpC,KAAO,CAAC,IAAc,IACpB,GAAa,OAAO,YAAP,eAAkB,YAC/B,GAAS,GAAO,cAElB,AAAI,IACF,GAAW,YAAY,KAOxB,KAAK,GAAa,CACvB,GAAE,iBACF,GAAM,IAAK,GAAM,UAAqB,GAAG,CAAE,OAAQ,KAAK,GAAI,KAAM,SAClE,AAAI,KAAK,OAAO,MACd,KAAK,OAAO,KAAK,GAAI,KAAK,IAAI,GAAU,cAE1C,KAAK,aAAa,OAAQ,IAIlB,SAAS,GAAe,CAChC,MAAO,KAAO,EAAC,KAAK,QAAU,KAAK,OAAO,KAIlC,cAAY,CACpB,MAAK,MAAK,OAAO,OACjB,CAAI,MAAO,MAAK,OAAO,QAAW,SAChC,KAAK,OAAS,AAAC,IAAoB,GAAG,UAAU,SAAS,KAAK,OAAO,SAAqB,GAAG,QAAQ,KAAK,OAAO,QAEjH,KAAK,OAAS,KAAK,OAAO,OAErB,MANyB,KAUxB,IAAI,GAAiB,CAC7B,MAAO,KACL,UAAW,GAAK,IACb,GAAK,QCzJR,YAAgB,OAEb,MAAK,GAAiB,CAC3B,MAAK,IAAG,WAAa,IAAG,UAAY,GAAI,IAAU,KAC3C,GAAG,UAOZ,YAAmB,GAAiB,CAAjB,KAAA,GAAA,GAEZ,GAAG,GAAmB,GAAqC,CAChE,MAAI,MAAK,aAAe,CAAC,OAAQ,YAAa,YAAY,QAAQ,IAAa,GAC7E,KAAK,YAAY,GAAG,GAAgD,IAC/D,AAAI,KAAK,aAAe,CAAC,OAAQ,WAAY,WAAW,QAAQ,IAAa,GAClF,KAAK,YAAY,GAAG,GAA8C,IACzD,KAAK,aAAe,CAAC,cAAe,SAAU,cAAc,QAAQ,IAAa,IAC1F,KAAK,YAAY,GAAG,GAAsD,IAErE,KAGF,IAAI,GAAiB,CAC1B,MAAI,MAAK,aAAe,CAAC,OAAQ,YAAa,YAAY,QAAQ,IAAa,GAC7E,KAAK,YAAY,IAAI,IAChB,AAAI,KAAK,aAAe,CAAC,OAAQ,WAAY,WAAW,QAAQ,IAAa,GAClF,KAAK,YAAY,IAAI,IACZ,KAAK,aAAe,CAAC,cAAe,SAAU,cAAc,QAAQ,IAAa,IAC1F,KAAK,YAAY,IAAI,IAEhB,KAGF,eAAe,GAAoB,CACxC,MAAK,MAAK,YAGR,KAAK,YAAY,aAAa,IAF9B,KAAK,YAAc,GAAI,IAAY,KAAK,GAAI,IAIvC,KAGF,gBAAc,CACnB,MAAI,MAAK,aACP,MAAK,YAAY,UACjB,MAAO,MAAK,aAEP,KAGF,eAAe,GAAoB,CACxC,MAAK,MAAK,YAGR,KAAK,YAAY,aAAa,IAF9B,KAAK,YAAc,GAAI,IAAY,KAAK,GAAI,IAIvC,KAGF,gBAAc,CACnB,MAAI,MAAK,aACP,MAAK,YAAY,UACjB,MAAO,MAAK,aAEP,KAGF,eAAe,GAAoB,CACxC,MAAK,MAAK,YAGR,KAAK,YAAY,aAAa,IAF9B,KAAK,YAAc,GAAI,IAAY,KAAK,GAAI,IAIvC,KAGF,gBAAc,CACnB,MAAI,MAAK,aACP,MAAK,YAAY,UACjB,MAAO,MAAK,aAEP,OClEL,YAAkB,CAEf,UAAU,GAAyB,GAAc,GAAa,GAAe,CAClF,YAAK,eAAe,IAAI,QAAQ,IAAM,CACpC,GAAI,KAAS,WAAa,KAAS,SACjC,GAAI,aAAe,GAAI,YAAY,cAC1B,KAAS,UAClB,GAAI,aAAe,GAAI,yBACd,KAAS,SAClB,GAAI,eAAe,EAAG,IAAM,SACvB,CAEL,GAAM,IAAO,AADH,GAAI,GAAG,cACF,KACX,GAAU,GAAI,GAAG,aAAa,sBAAwB,GAAK,KAAK,UAAU,SAAW,SACzF,AAAI,KAAY,OAAO,IAAU,uBAQjC,GAAM,IAAW,CAAC,GAAK,KAAK,uBAC5B,GAAI,eAAe,SACd,GAAK,KAAK,WADI,CAEZ,WAAS,YAEZ,MAAO,GAAK,MACZ,KAAM,GAAK,KACX,OAAQ,GAAK,aAKd,KAGF,UAAU,GAAyB,GAAc,GAAa,GAAe,CAClF,YAAK,eAAe,IAAI,QAAQ,IAAM,CACpC,GAAI,KAAS,WAAa,KAAS,SACjC,GAAI,aAAe,GAAI,YAAY,cAC1B,KAAS,UAClB,GAAI,aAAe,GAAI,yBACd,KAAS,SAClB,GAAI,eAAe,EAAG,IAAM,SACvB,CACL,GAAM,IAAO,GAAI,GAAG,cAAc,KAClC,GAAI,eAAe,SACd,GAAK,KAAK,WADI,CAIf,MAAO,GAAK,MACZ,KAAM,GAAK,KACX,KAAM,GAAK,WAKZ,KAGF,OAAO,GAAsB,GAAiB,CACnD,YAAK,eAAe,IAAI,QAAQ,IAAO,GAAI,eAAe,KACnD,KAGF,UAAU,GAAyB,GAA0B,GAAa,GAAe,CAC9F,MAAI,OAAO,IAAK,QAAW,YAAc,CAAC,GAAK,SAC7C,IAAK,QAAU,GAAK,OACpB,GAAK,OAAS,AAAC,IAAO,GAAK,QAAQ,KAErC,KAAK,eAAe,IAAI,QAAQ,IAAM,CACpC,AAAI,KAAS,WAAa,KAAS,SACjC,GAAI,aAAe,GAAI,YAAY,MAC9B,AAAI,KAAS,UACd,GAAI,aACN,GAAI,iBAED,AAAI,KAAS,SAClB,GAAI,eAAe,EAAG,IAAM,KAE5B,GAAI,eAAe,MAGhB,KAIF,YAAY,GAAiB,CAClC,MAAO,CAAC,CAAE,KAAM,GAAG,WAAa,GAAG,UAAU,aAAe,CAAC,GAAG,UAAU,YAAY,UAIjF,YAAY,GAAiB,CAClC,MAAO,CAAC,CAAE,KAAM,GAAG,WAAa,GAAG,UAAU,aAAe,CAAC,GAAG,UAAU,YAAY,UAIjF,YAAY,GAAiB,CAClC,MAAO,CAAC,CAAE,KAAM,GAAG,WAAa,GAAG,UAAU,aAAe,CAAC,GAAG,UAAU,YAAY,UAGjF,GAAG,GAAyB,GAAc,GAAoB,CACnE,YAAK,eAAe,IAAI,QAAQ,IAC9B,GAAI,GAAG,GAAM,AAAC,IAAgB,CAC5B,GACE,GACA,GAAU,YAAc,GAAU,YAAY,GAAK,GAAM,OACzD,GAAU,YAAc,GAAU,YAAY,OAAS,SAGtD,KAGF,IAAI,GAAyB,GAAY,CAC9C,YAAK,eAAe,IAAI,QAAQ,IAAO,GAAI,IAAI,KACxC,KAIC,eAAe,GAAuB,GAAS,GAAI,CAC3D,GAAI,IAAQ,GAAM,YAAY,IAC9B,GAAI,CAAC,GAAM,OAAQ,MAAO,GAC1B,GAAI,IAAO,GAAM,IAAI,IAAK,GAAE,WAAc,IAAS,GAAU,KAAK,IAAK,OACvE,MAAK,KAAU,GAAK,OAAO,IAAK,IACzB,KC5JX,AA0BA,GAAM,IAAK,GAAI,IAyDf,QAAsB,OAeN,MAAK,GAA4B,GAAI,GAA+B,cAAa,CAC7F,GAAI,MAAO,WAAa,YAAa,MAAO,MAC5C,GAAI,IAAK,GAAU,eAAe,IAClC,MAAK,IASA,IAAG,WACN,IAAG,UAAY,GAAI,IAAU,GAAI,GAAM,UAAU,MAE5C,GAAG,WAXR,CACE,QAAQ,MADV,AAAI,MAAO,KAAe,SACV,wDAA0D,GAAa;oGAGvE,gDAET,YAiBG,SAAQ,GAA4B,GAAI,GAAW,cAAa,CAC5E,GAAI,IAAqB,GACzB,MAAI,OAAO,WAAa,aACxB,IAAU,gBAAgB,IAAU,QAAQ,IAAK,CAC/C,AAAK,GAAG,WACN,IAAG,UAAY,GAAI,IAAU,GAAI,GAAM,UAAU,MAEnD,GAAM,KAAK,GAAG,aAEZ,GAAM,SAAW,GACnB,QAAQ,MAAM,wDAA0D,GAAW;sGAG9E,SAUK,SAAQ,GAAqB,GAAwB,GAAE,CACnE,GAAI,CAAC,GAAQ,MAAO,MAEpB,GAAI,IAAK,GACT,GAAI,GAAG,UAAW,CAEhB,GAAM,IAAO,GAAG,UAChB,MAAI,KAAK,IAAK,KAAO,SAAK,GAAK,MAAS,KACpC,GAAI,WAAa,QAAW,GAAK,KAAK,GAAI,UACvC,GAKT,GAAI,CADiB,GAAO,UAAU,SAAS,eAC1B,GAAU,YAC7B,GAAI,GAAU,YACZ,GAAK,GAAU,YAAY,GAAQ,GAAK,GAAM,QACzC,CACL,GAAI,IAAM,SAAS,eAAe,mBAAmB,IACrD,GAAI,KAAK,UAAY,0BAA0B,GAAI,OAAS,aAC5D,GAAK,GAAI,KAAK,SAAS,GACvB,GAAO,YAAY,IAMvB,MADW,IAAU,KAAK,GAAK,UAQ1B,gBAAe,GAAmC,CACvD,GAAU,YAAc,MA4Cf,cAAW,CACpB,GAAI,CAAC,KAAK,aAAc,CACtB,GAAI,IAAmB,SAAS,cAAc,OAC9C,GAAiB,UAAY,sBACzB,KAAK,KAAK,iBACZ,IAAiB,UAAY,KAAK,KAAK,iBAEzC,KAAK,aAAe,SAAS,cAAc,OAC3C,KAAK,aAAa,UAAU,IAAI,KAAK,KAAK,iBAAkB,GAAa,UAAW,KAAK,KAAK,WAC9F,KAAK,YAAY,YAAY,IAE/B,MAAO,MAAK,aA6Bd,YAA0B,GAA4B,GAAyB,GAAE,CA3QnF,gBA2Q4B,KAAA,GAAA,GAA4B,KAAA,KAAA,GAtB/C,KAAA,gBAAkB,GAUf,KAAA,cAAgB,EAIhB,KAAA,cAA+B,CAAE,OAAQ,EAAG,OAAQ,EAAG,QAAS,EAAG,QAAS,GASpF,GAAG,UAAY,KACf,GAAO,IAAQ,GAEV,GAAG,UAAU,SAAS,eACzB,KAAK,GAAG,UAAU,IAAI,cAIpB,GAAK,KACP,IAAK,OAAS,GAAK,OAAS,GAAK,IACjC,MAAO,IAAK,KAEd,GAAI,IAAU,GAAM,SAAS,GAAG,aAAa,WAG7C,AAAI,GAAK,SAAW,QAClB,MAAO,IAAK,OAGV,GAAK,yBAA2B,QACjC,IAAkC,wBAA0B,GAAK,wBAEpE,GAAI,IAAK,OAAK,aAAL,eAAiB,YAEpB,GAA4B,GAKlC,GAJI,GAAQ,sBACV,OAAO,IAAQ,qBACf,QAAQ,IAAI,0GAEV,GAAQ,eAAiB,GAAQ,uBAAyB,GAAO,CACnE,GAAM,IAAU,GAAQ,eAAiB,IACzC,MAAO,IAAQ,cACf,MAAO,IAAQ,qBACf,GAAK,WAAa,GAAK,YAAc,GACrC,GAAK,GAAK,WAAW,YAAc,GAAK,WAAW,aAAe,GAClE,GAAI,IAAY,GAAG,KAAK,IAAK,GAAE,IAAM,GACrC,AAAK,GAGE,GAAU,EAAI,GAFnB,IAAY,CAAE,EAAG,EAAG,EAAG,IACvB,GAAG,KAAK,GAAW,CAAE,EAAG,GAAI,EAAG,GAAU,KAK7C,GAAM,IAAO,GAAK,WAClB,AAAI,IACF,CAAI,CAAC,GAAK,aAAe,CAAC,QAAK,cAAL,eAAkB,QAC1C,OAAO,IAAK,WACZ,GAAK,QAEL,GAAK,UAAY,GAAK,WAAa,IAGnC,oBAAI,QAAS,GAAG,GAAG,KAAK,CAAC,GAAG,KAAO,IAAE,GAAK,GAAM,IAAE,GAAK,IAG3D,GAAI,IAA6B,SAC5B,GAAM,UAAU,KADY,CAE/B,OAAQ,GAAM,SAAS,GAAG,aAAa,eAAiB,GAAa,OACrE,OAAQ,IAAoB,GAAM,SAAS,GAAG,aAAa,gBAAkB,GAAa,OAC1F,OAAQ,IAAoB,GAAM,SAAS,GAAG,aAAa,gBAAkB,GAAa,OAC1F,WAAY,GAAM,OAAO,GAAG,aAAa,eAAiB,GAAa,WACvE,UAAW,CACT,OAAS,IAAK,YAAc,IAAM,GAAK,YAAe,GAAK,OAAS,GAAK,OAAS,KAAQ,GAAa,UAAU,QAEnH,iBAAkB,CAChB,OAAQ,GAAK,WAAa,GAAa,iBAAiB,OACxD,QAAS,GAAa,iBAAiB,WAG3C,AAAI,GAAG,aAAa,eAClB,IAAS,QAAU,GAAM,OAAO,GAAG,aAAa,gBAGlD,GAAO,GAAM,SAAS,GAAM,IAC5B,KAAK,cAGL,KAAK,qBACL,KAAK,GAAG,UAAU,IAAI,MAAQ,GAAK,QAE/B,GAAK,MAAQ,QACf,IAAK,IAAO,GAAG,MAAM,YAAc,OAEjC,GAAK,KACP,KAAK,GAAG,UAAU,IAAI,kBAIxB,GAAM,IAAmC,SAAK,GAAG,gBAAR,eAAuB,cAC5D,GAAiB,oBAAa,UAAU,SAAS,GAAa,YAAa,GAAY,cAAgB,OAC3G,AAAI,IACF,IAAe,QAAU,KACzB,KAAK,eAAiB,GACtB,KAAK,GAAG,UAAU,IAAI,qBACtB,GAAe,GAAG,UAAU,IAAI,wBAGlC,KAAK,kBAAqB,GAAK,aAAe,OAC9C,AAAI,KAAK,mBAAqB,GAAK,aAAe,UAEhD,KAAK,WAAW,OAAW,IAGvB,OAAO,IAAK,YAAc,UAAY,GAAK,gBAAkB,GAAK,iBAAmB,GAAa,gBACpG,IAAK,WAAa,GAAK,WAAa,GAAK,eACzC,MAAO,IAAK,gBAEd,KAAK,WAAW,GAAK,WAAY,KAI/B,GAAK,yBAA2B,UAClC,IAAK,uBAAyB,IAGhC,KAAK,iBAAmB,SAAW,GAAgB,SACnD,KAAK,GAAG,UAAU,IAAI,KAAK,kBAE3B,KAAK,kBAEL,GAAI,IAAc,GAAK,aAAe,GAAU,aAAe,GAkC/D,GAjCA,KAAK,OAAS,GAAI,IAAY,CAC5B,OAAQ,KAAK,YACb,MAAO,GAAK,MACZ,OAAQ,GAAK,OACb,SAAU,AAAC,IAAW,CACpB,GAAI,IAAO,EACX,KAAK,OAAO,MAAM,QAAQ,IAAI,CAAG,GAAO,KAAK,IAAI,GAAM,GAAE,EAAI,GAAE,KAC/D,GAAQ,QAAQ,IAAI,CAClB,GAAI,IAAK,GAAE,GACX,AAAI,CAAC,IACL,CAAI,GAAE,WACA,KAAI,GAAG,SACX,MAAO,IAAE,YAET,KAAK,cAAc,GAAI,OAG3B,KAAK,cAAc,GAAO,OAK9B,KAAK,cAAc,GAAO,GAEtB,GAAK,MACP,MAAK,cACL,KAAK,OAAO,SAAW,GACvB,KAAK,eAAe,QAAQ,IAAM,KAAK,gBAAgB,KACvD,MAAO,MAAK,OAAO,SACnB,KAAK,YAAY,KAIf,GAAK,SAAU,CACjB,GAAM,IAAW,GAAK,SACtB,MAAO,IAAK,SACR,GAAS,QAAQ,KAAK,KAAK,IAIjC,KAAK,eAGD,GAAK,gBAAkB,CAAC,GAAU,WAAW,IAAU,UAAY,IACnE,QAAK,YAAL,eAAgB,SAAU,QAAW,IAAU,UAAY,GAAK,UAAU,OAE9E,KAAK,mBACL,KAAK,qBACL,KAAK,qBAkBA,UAAU,GAA0C,GAAyB,CAClF,YAA2B,GAAgB,CACzC,MAAO,IAAE,KAAO,QAAa,GAAE,IAAM,QAAa,GAAE,IAAM,QAAa,GAAE,IAAM,QAAa,GAAE,IAAM,QAAa,GAAE,UAAY,OAGjI,GAAI,IACA,GACJ,GAAI,MAAO,KAAQ,SAAU,CAC3B,GAAI,IAAM,SAAS,eAAe,mBAAmB,IACrD,GAAI,KAAK,UAAY,GACrB,GAAK,GAAI,KAAK,SAAS,WACd,UAAU,SAAW,GAAK,UAAU,SAAW,GAAK,GAAkB,IAE/E,GADA,GAAO,GAAU,GACb,mBAAM,GACR,GAAK,GAAK,WACD,GAAU,YACnB,GAAK,GAAU,YAAY,KAAK,GAAI,GAAS,GAAM,QAC9C,CACL,GAAI,IAAU,oBAAS,UAAW,GAC9B,GAAM,SAAS,eAAe,mBAAmB,IACrD,GAAI,KAAK,UAAY,+BAA+B,KAAK,KAAK,WAAa,4CAA4C,iBACvH,GAAK,GAAI,KAAK,SAAS,OAGzB,IAAK,GAGP,GAAI,CAAC,GAAI,OAIT,GADA,GAAO,GAAG,cACN,IAAQ,GAAG,gBAAkB,KAAK,IAAM,KAAK,OAAO,MAAM,KAAK,IAAK,GAAE,MAAQ,GAAK,KAAM,MAAO,IAKpG,GAAI,IAAU,KAAK,UAAU,IAC7B,UAAU,GAAM,UAAU,KAAY,GACtC,GAAM,SAAS,GAAS,IACxB,GAAO,KAAK,OAAO,YAAY,IAC/B,KAAK,WAAW,GAAI,IAEpB,KAAK,GAAG,YAAY,IAEpB,KAAK,WAAW,GAAI,IAEb,GAYF,YAAY,GAAyB,GAAwB,GAA2B,GAAc,GAAI,CAjgBnH,aAkgBI,GAAI,IAAO,GAAG,cAId,GAHK,IACH,IAAO,KAAK,WAAW,IAAI,eAEzB,OAAK,UAAL,eAAc,GAAI,MAAO,IAAK,QAGlC,GAAI,IACA,GAAkB,KACtB,KAAO,IAAQ,CAAC,IACd,GAAkB,OAAK,OAAL,eAAW,YAC7B,GAAO,OAAK,iBAAL,eAAqB,KAG9B,GAAM,GAAM,UAAU,YAAM,IAAmB,IAAzB,CAA8B,SAAU,SAAe,IAAO,GAAK,aAAe,KACxG,GAAK,YAAc,GAGnB,GAAI,IACJ,AAAI,GAAI,SAAW,QACjB,IAAa,GACb,GAAI,OAAS,KAAK,IAAI,GAAK,GAAK,EAAG,oBAAW,IAAK,GACnD,MAAO,IAAI,YAIb,GAAI,IAAU,GAAK,GAAG,cAAc,4BAChC,GACA,GACJ,GAAI,GAAa,CASf,GARA,KAAK,UAAU,GAAK,IACpB,GAAa,SAAK,IAAL,CAAW,EAAG,EAAG,EAAG,IACjC,GAAM,sBAAsB,IAC5B,MAAO,IAAW,YACd,GAAK,SACP,IAAW,QAAU,GAAK,QAC1B,MAAO,IAAK,SAEV,GAAU,YACZ,GAAU,GAAU,YAAY,KAAK,GAAI,GAAY,GAAM,QACtD,CACL,GAAI,IAAM,SAAS,eAAe,mBAAmB,IACrD,GAAI,KAAK,UAAY,sCACrB,GAAU,GAAI,KAAK,SAAS,GAC5B,GAAQ,YAAY,IACpB,GAAI,KAAK,UAAY,8CACrB,GAAU,GAAI,KAAK,SAAS,GAC5B,GAAK,GAAG,YAAY,IAEtB,KAAK,uBAAuB,IAI9B,GAAI,GAAW,CACb,GAAI,IAAI,GAAa,GAAI,OAAS,GAAK,EACnC,GAAI,GAAK,EAAI,GAAU,EACvB,GAAQ,GAAK,GAAG,MACpB,GAAM,WAAa,OACnB,KAAK,OAAO,GAAK,GAAI,CAAE,KAAG,OAC1B,WAAW,IAAM,GAAM,WAAa,MAGtC,GAAI,IAAU,GAAK,QAAU,GAAU,QAAQ,GAAS,IACxD,MAAI,oBAAW,UAAS,IAAQ,QAAU,IACtC,IAAY,IAAQ,YAAc,IAGlC,IACF,GAAQ,UAAU,GAAS,IAIzB,IACF,CAAI,GAAU,QAEZ,OAAO,WAAW,IAAM,GAAM,mBAAmB,GAAU,OAAQ,aAAc,GAAQ,IAAK,GAE9F,GAAQ,UAAU,GAAK,GAAI,KAGxB,GAOF,gBAAgB,GAA+B,CAzlBxD,OA0lBI,GAAI,IAAQ,SAAK,iBAAL,eAAqB,KACjC,AAAI,CAAC,IAEL,IAAM,cACN,GAAM,aAAa,KAAK,eAAe,GAAI,GAAM,IACjD,KAAK,OAAO,MAAM,QAAQ,IAAI,CAE5B,GAAE,GAAK,KAAK,eAAe,EAC3B,GAAE,GAAK,KAAK,eAAe,EAC3B,GAAM,UAAU,GAAE,GAAI,MAExB,GAAM,YAAY,IACd,KAAK,gBAAgB,MAAO,MAAK,eAAe,QACpD,MAAO,MAAK,eAGR,IACF,OAAO,WAAW,IAAM,GAAM,mBAAmB,GAAgB,OAAQ,aAAc,GAAM,IAAK,IAa/F,KAAK,GAAc,GAAM,GAAc,GAAO,GAAS,GAAU,OAAM,CAE5E,GAAI,IAAO,KAAK,OAAO,KAAK,GAAa,IAqBzC,GAlBA,GAAK,QAAQ,IAAI,CA7nBrB,OA8nBM,GAAI,IAAe,GAAE,IAAM,CAAC,GAAE,SAAW,CAAC,GAAQ,CAChD,GAAI,IAAM,GAAE,GAAG,cAAc,4BAC7B,GAAE,QAAU,GAAM,GAAI,UAAY,OAC7B,GAAE,SAAS,MAAO,IAAE,gBAErB,CAAC,IAAe,CAAC,IAAU,MAAO,IAAE,QAEpC,OAAE,UAAF,eAAW,GAAI,CACjB,GAAM,IAAY,GAAE,QAAQ,KAAK,GAAa,GAAa,IAC3D,GAAE,YAAe,GAAc,GAAY,CAAE,SAAU,IACvD,MAAO,IAAE,QAGb,MAAO,IAAE,KAIP,GAAa,CACf,GAAI,IAA8B,GAAM,UAAU,KAAK,MAEvD,AAAI,GAAE,eAAiB,GAAE,WAAa,GAAE,cAAgB,GAAE,YAAc,GAAE,YAAc,GAAE,aACxF,IAAE,OAAS,GAAE,UACb,MAAO,IAAE,UAAW,MAAO,IAAE,YAAa,MAAO,IAAE,aAAc,MAAO,IAAE,YAExE,GAAE,MAAS,MAAK,GAAG,MAAM,YAAc,QAAU,IAAE,IAAM,QACzD,KAAK,mBACP,IAAE,WAAa,QAEb,KAAK,aACP,IAAE,OAAS,QAEb,GAAM,IAAW,GAAE,wBACnB,aAAO,IAAE,wBACT,AAAI,KAAa,OACf,GAAE,uBAAyB,GAE3B,MAAO,IAAE,uBAEX,GAAM,sBAAsB,GAAG,IAC/B,GAAE,SAAW,GACN,GAGT,MAAO,IAaF,KAAK,GAA0B,GAAoC,GAAU,aAAe,GAAI,CAtrBzG,OAurBI,GAAQ,GAAM,UAAU,IACxB,GAAM,IAAS,KAAK,YAGpB,GAAM,QAAQ,IAAI,CAAG,GAAE,EAAI,GAAE,GAAK,EAAG,GAAE,EAAI,GAAE,GAAK,IAGlD,GAAQ,GAAM,KAAK,IAInB,GAAI,IAAY,EAChB,GAAM,QAAQ,IAAI,CAAG,GAAY,KAAK,IAAI,GAAY,IAAE,GAAK,GAAK,GAAE,KAChE,GAAY,IACd,MAAK,yBAA2B,GAChC,KAAK,OAAO,YAAY,GAAO,GAAW,KAI5C,GAAM,IAAS,GAAU,YACzB,AAAI,MAAQ,KAAe,YAAY,IAAU,YAAc,IAE/D,GAAI,IAA2B,GAC/B,KAAK,cAGL,GAAM,IAAQ,CAAC,KAAK,OAAO,MAAM,OACjC,AAAI,IAAO,KAAK,aAAa,IAGzB,CAAC,IAAS,IAEZ,AADgB,CAAC,GAAG,KAAK,OAAO,OACtB,QAAQ,IAAI,CACpB,GAAI,CAAC,GAAE,GAAI,OAEX,AAAK,AADM,GAAM,KAAK,GAAO,GAAE,KAEzB,IAAU,aAAa,GAAU,YAAY,KAAK,GAAI,GAAG,GAAO,IACpE,GAAQ,KAAK,IACb,KAAK,aAAa,GAAE,GAAI,GAAM,OAOpC,KAAK,OAAO,SAAW,GACvB,GAAI,IAAiC,GACrC,YAAK,OAAO,MAAQ,KAAK,OAAO,MAAM,OAAO,IACvC,GAAM,KAAK,GAAO,GAAE,IAAO,IAAY,KAAK,IAAW,IACpD,IAET,GAAM,QAAQ,IAAI,CA1uBtB,OA2uBM,GAAI,IAAO,GAAM,KAAK,GAAa,GAAE,IACrC,GAAI,IAkBF,GAhBI,GAAM,oBAAoB,KAAO,IAAE,EAAI,GAAK,GAEhD,KAAK,OAAO,aAAa,IACrB,IAAE,cAAgB,GAAE,IAAM,QAAa,GAAE,IAAM,SACjD,IAAE,EAAI,GAAE,GAAK,GAAK,EAClB,GAAE,EAAI,GAAE,GAAK,GAAK,EAClB,KAAK,OAAO,kBAAkB,KAIhC,KAAK,OAAO,MAAM,KAAK,IACnB,GAAM,QAAQ,GAAM,KACtB,KAAK,SAAS,GAAM,SAAK,IAAL,CAAQ,aAAc,MAG5C,KAAK,OAAO,GAAK,GAAI,IACjB,OAAE,cAAF,eAAe,SAAU,CAC3B,GAAI,IAAM,GAAK,GAAG,cAAc,eAChC,AAAI,IAAO,GAAI,WACb,GAAI,UAAU,KAAK,GAAE,YAAY,eAGhC,AAAI,KACT,KAAK,UAAU,MAInB,MAAO,MAAK,OAAO,SACnB,KAAK,OAAO,aAAe,GAC3B,KAAK,YAAY,IAGjB,MAAO,MAAK,yBACZ,GAAS,GAAU,YAAc,GAAS,MAAO,IAAU,YAEvD,IAAS,UAAK,OAAL,eAAW,UAAS,KAAK,aAAa,KAAK,KAAK,QAAS,IAC/D,KAOF,YAAY,GAAO,GAAI,CAC5B,YAAK,OAAO,YAAY,IACnB,IACH,MAAK,yBACL,KAAK,sBACL,KAAK,mBACL,KAAK,uBAEA,KAMF,cAAc,GAAa,GAAK,CACrC,GAAI,KAAK,KAAK,YAAc,KAAK,KAAK,aAAe,QAClD,EAAC,IAAc,CAAC,KAAK,KAAK,gBAAkB,KAAK,KAAK,iBAAmB,MAC1E,MAAO,MAAK,KAAK,WAGnB,GAAI,KAAK,KAAK,iBAAmB,MAC/B,MAAQ,MAAK,KAAK,WAAwB,WAAW,iBAAiB,SAAS,iBAAiB,UAElG,GAAI,KAAK,KAAK,iBAAmB,KAC/B,MAAQ,MAAK,KAAK,WAAwB,WAAW,iBAAiB,KAAK,IAAI,UAEjF,GAAI,KAAK,KAAK,iBAAmB,KAE/B,MAAQ,MAAK,KAAK,WAAyB,IAAK,MAElD,GAAI,KAAK,KAAK,iBAAmB,KAC/B,MAAQ,MAAK,KAAK,WAAyB,IAAK,MAAQ,GAG1D,GAAI,IAAK,KAAK,GAAG,cAAc,IAAM,KAAK,KAAK,WAC/C,GAAI,GAAI,CACN,GAAI,IAAI,GAAM,SAAS,GAAG,aAAa,UAAY,EACnD,MAAO,MAAK,MAAM,GAAG,aAAe,IAGtC,GAAI,IAAO,SAAS,KAAK,GAAG,aAAa,mBACzC,MAAO,IAAO,KAAK,MAAM,KAAK,GAAG,wBAAwB,OAAS,IAAQ,KAAK,KAAK,WAiB/E,WAAW,GAAsB,GAAS,GAAI,CAYnD,GATI,IAAU,KAAQ,QAChB,KAAK,oBAAuB,MAAQ,SACtC,MAAK,kBAAqB,KAAQ,OAClC,KAAK,sBAGL,MAAQ,WAAa,KAAQ,SAAU,IAAM,QAG7C,KAAQ,OAAW,CACrB,GAAI,IAAa,CAAG,KAAK,KAAK,YAA0B,KAAK,KAAK,WAC7D,KAAK,KAAK,UAAwB,KAAK,KAAK,aACjD,GAAM,KAAK,YAAc,GAG3B,GAAI,IAAO,GAAM,YAAY,IAC7B,MAAI,MAAK,KAAK,iBAAmB,GAAK,MAAQ,KAAK,KAAK,aAAe,GAAK,EACnE,KAET,MAAK,KAAK,eAAiB,GAAK,KAChC,KAAK,KAAK,WAAa,GAAK,EAE5B,KAAK,uBAED,IACF,KAAK,cAAc,IAEd,MAIF,WAAS,CACd,MAAO,MAAK,oBAAsB,KAAK,YAG/B,kBAAkB,GAAgB,GAAK,CAz3BnD,OA43BI,MAAO,KAAiB,UAAK,KAAK,aAAV,eAAsB,qBAAsB,OAAO,WAAc,KAAK,GAAG,aAAe,KAAK,GAAG,cAAc,aAAe,OAAO,WAGpJ,oBAAkB,CA/3B9B,UAg4BI,GAAM,IAAO,KAAK,KAAK,WACvB,GAAI,CAAC,IAAS,CAAC,GAAK,aAAe,CAAC,QAAK,cAAL,eAAkB,QAAS,MAAO,GACtE,GAAM,IAAS,KAAK,YAChB,GAAY,GACV,GAAI,KAAK,kBAAkB,IACjC,GAAI,GAAK,YACP,GAAY,KAAK,IAAI,KAAK,MAAM,GAAI,GAAK,cAAgB,EAAG,GAAK,eAC5D,CAEL,GAAY,GAAK,UACjB,GAAI,IAAI,EACR,KAAO,GAAI,GAAK,YAAY,QAAU,IAAK,GAAK,YAAY,IAAG,GAC7D,GAAY,GAAK,YAAY,MAAK,GAAK,GAG3C,GAAI,KAAc,GAAQ,CACxB,GAAM,IAAK,OAAK,cAAL,eAAkB,KAAK,IAAK,GAAE,IAAM,IAC/C,YAAK,OAAO,GAAW,oBAAI,SAAU,GAAK,QACnC,GAET,MAAO,GAUF,QAAQ,GAAyB,UAAW,GAAS,GAAI,CAC9D,YAAK,OAAO,QAAQ,GAAQ,IAC5B,KAAK,sBACE,KAYF,OAAO,GAAgB,GAAwB,YAAW,CAC/D,GAAI,CAAC,IAAU,GAAS,GAAK,KAAK,KAAK,SAAW,GAAQ,MAAO,MAEjE,GAAI,IAAY,KAAK,YAErB,MADA,MAAK,KAAK,OAAS,GACf,AAAC,KAAK,OAEV,MAAK,OAAO,OAAS,GACrB,KAAK,GAAG,UAAU,OAAO,MAAQ,IACjC,KAAK,GAAG,UAAU,IAAI,MAAQ,IAKvB,KAAK,OAAO,cAAc,GAAW,GAAQ,IAChD,KAAK,mBAAmB,KAAK,aAEjC,KAAK,qBAAqB,IAG1B,KAAK,yBAA2B,GAChC,KAAK,sBACL,MAAO,MAAK,yBAEL,MAnBkB,KAyBpB,WAAS,CAAa,MAAO,MAAK,KAAK,OAGvC,cAAY,CACjB,MAAO,OAAM,KAAK,KAAK,GAAG,UACvB,OAAO,AAAC,IAAoB,GAAG,QAAQ,IAAM,KAAK,KAAK,YAAc,CAAC,GAAG,QAAQ,IAAM,KAAK,KAAK,mBAO/F,QAAQ,GAAY,GAAI,CAC7B,GAAI,EAAC,KAAK,GACV,YAAK,SACL,KAAK,mBAAmB,IACxB,KAAK,UAAU,GAAM,IACrB,KAAK,aAAa,IAClB,AAAK,GAKH,KAAK,GAAG,WAAW,YAAY,KAAK,IAJpC,MAAK,UAAU,IACf,KAAK,GAAG,UAAU,OAAO,KAAK,kBAC9B,KAAK,GAAG,gBAAgB,mBAI1B,KAAK,oBACD,KAAK,gBAAgB,MAAO,MAAK,eAAe,QACpD,MAAO,MAAK,eACZ,MAAO,MAAK,KACZ,MAAO,MAAK,aACZ,MAAO,MAAK,OACZ,MAAO,MAAK,GAAG,UACf,MAAO,MAAK,GACL,KAMF,MAAM,GAAY,CACvB,MAAI,MAAK,KAAK,QAAU,IACtB,MAAK,KAAK,MAAQ,KAAK,OAAO,MAAQ,GACtC,KAAK,uBAEA,KAMF,UAAQ,CACb,MAAO,MAAK,OAAO,MAYd,iBAAiB,GAAyB,GAAiB,GAAK,CACrE,GAAI,IAAM,KAAK,GAAG,wBAEd,GACJ,AAAI,GACF,GAAe,CAAE,IAAK,GAAI,IAAM,SAAS,gBAAgB,UAAW,KAAM,GAAI,MAG9E,GAAe,CAAE,IAAK,KAAK,GAAG,UAAW,KAAM,KAAK,GAAG,YAGzD,GAAI,IAAe,GAAS,KAAO,GAAa,KAC5C,GAAc,GAAS,IAAM,GAAa,IAE1C,GAAe,GAAI,MAAQ,KAAK,YAChC,GAAa,GAAI,OAAS,SAAS,KAAK,GAAG,aAAa,mBAE5D,MAAO,CAAE,EAAG,KAAK,MAAM,GAAe,IAAc,EAAG,KAAK,MAAM,GAAc,KAI3E,QAAM,CACX,MAAO,MAAK,IAAI,KAAK,OAAO,SAAU,KAAK,KAAK,QAU3C,YAAY,GAAW,GAAW,GAAW,GAAS,CAC3D,MAAO,MAAK,OAAO,YAAY,GAAG,GAAG,GAAG,IAiBnC,WAAW,GAAuB,GAAyB,CAChE,GAAI,IAAK,GAAU,WAAW,IAC9B,KAAK,gBAAgB,GAAI,GAAM,IAC/B,GAAM,IAAO,GAAG,cAEhB,YAAK,yBAGD,GAAK,aACP,KAAK,YAAY,GAAI,GAAK,YAAa,OAAW,IAKhD,KAAK,KAAK,SAAW,GACvB,MAAK,yBAA2B,IAElC,KAAK,mBACL,KAAK,sBACL,MAAO,MAAK,yBAEL,GAwBF,GAAG,GAA+B,GAAuC,CAE9E,MAAI,IAAK,QAAQ,OAAS,GAExB,CADY,GAAK,MAAM,KACjB,QAAQ,IAAQ,KAAK,GAAG,GAAM,KAC7B,MAIT,CAAI,KAAS,UAAY,KAAS,SAAW,KAAS,WAAa,KAAS,UAAY,KAAS,UAE/F,CADc,KAAS,UAAY,KAAS,UAE1C,KAAK,gBAAgB,IAAQ,AAAC,IAAkB,GAAmC,IAEnF,KAAK,gBAAgB,IAAQ,AAAC,IAAwB,GAAmC,GAAO,GAAM,QAExG,KAAK,GAAG,iBAAiB,GAAM,KAAK,gBAAgB,MAC/C,AAAI,KAAS,QAAU,KAAS,aAAe,KAAS,YAAc,KAAS,eAAiB,KAAS,UAC3G,KAAS,cAAgB,KAAS,WAAa,KAAS,gBAG3D,KAAK,gBAAgB,IAAQ,GAE7B,QAAQ,MAAM,gBAAkB,GAAO,yBAElC,MAOF,IAAI,GAA6B,CAEtC,MAAI,IAAK,QAAQ,OAAS,GAExB,CADY,GAAK,MAAM,KACjB,QAAQ,IAAQ,KAAK,IAAI,KACxB,MAGL,OAAS,UAAY,KAAS,SAAW,KAAS,WAAa,KAAS,UAAY,KAAS,YAE3F,KAAK,gBAAgB,KACvB,KAAK,GAAG,oBAAoB,GAAM,KAAK,gBAAgB,KAG3D,MAAO,MAAK,gBAAgB,IAErB,MAIF,QAAM,CACX,cAAO,KAAK,KAAK,iBAAiB,QAAQ,AAAC,IAAwB,KAAK,IAAI,KACrE,KASF,aAAa,GAAuB,GAAY,GAAM,GAAe,GAAI,CAC9E,UAAU,YAAY,IAAK,QAAQ,IAAK,CACtC,GAAI,GAAG,eAAiB,GAAG,gBAAkB,KAAK,GAAI,OACtD,GAAI,IAAO,GAAG,cAKd,AAHK,IACH,IAAO,KAAK,OAAO,MAAM,KAAK,IAAK,KAAO,GAAE,KAE1C,EAAC,IAED,KAAa,GAAU,aACzB,GAAU,YAAY,KAAK,GAAI,GAAM,GAAO,IAI9C,MAAO,IAAG,cACV,KAAK,UAAU,IAEf,KAAK,OAAO,WAAW,GAAM,GAAW,IAEpC,IAAa,GAAG,eAClB,GAAG,YAGH,IACF,MAAK,sBACL,KAAK,uBAEA,KAQF,UAAU,GAAY,GAAM,GAAe,GAAI,CAEpD,YAAK,OAAO,MAAM,QAAQ,IAAI,CAC5B,AAAI,IAAa,GAAU,aACzB,GAAU,YAAY,KAAK,GAAI,GAAG,GAAO,IAE3C,MAAO,IAAE,GAAG,cACP,KAAK,KAAK,YAAY,KAAK,UAAU,GAAE,MAE9C,KAAK,OAAO,UAAU,GAAW,IAC7B,IAAc,KAAK,sBAChB,KAQF,aAAa,GAAY,KAAK,KAAK,QAAS,GAAe,CAChE,MAAI,IAEF,WAAW,IAAK,CAAG,AAAI,KAAK,MAAM,KAAK,aAAa,MAC/C,AAAI,GACT,KAAK,GAAG,UAAU,IAAI,sBAEtB,KAAK,GAAG,UAAU,OAAO,sBAEpB,KAID,iBAAe,CAAc,MAAO,MAAK,GAAG,UAAU,SAAS,sBAShE,UAAU,GAAc,GAAc,GAAM,GAAU,GAAI,CAC/D,MAAI,CAAC,CAAC,KAAK,KAAK,aAAe,GAAY,KAC3C,IAAM,KAAK,KAAK,WAAa,GAAO,MAAO,MAAK,KAAK,WACrD,KAAK,mBACL,KAAK,qBACL,KAAK,OAAO,MAAM,QAAQ,IAAI,CAC5B,KAAK,uBAAuB,IACxB,GAAE,SAAW,IAAS,GAAE,QAAQ,UAAU,GAAK,GAAa,MAE9D,IAAe,KAAK,kBACjB,MAQF,OAAO,GAAuB,GAAoB,CAGvD,GAAI,UAAU,OAAS,EAAG,CACxB,QAAQ,KAAK,yHAEb,GAAI,IAAI,UAAW,GAAI,EACvB,UAAM,CAAE,EAAG,GAAE,MAAM,EAAG,GAAE,MAAM,EAAG,GAAE,MAAM,EAAG,GAAE,OACvC,KAAK,OAAO,GAAK,IAG1B,UAAU,YAAY,IAAK,QAAQ,IAAK,CAlxC5C,OAmxCM,GAAI,IAAI,mBAAI,cACZ,GAAI,CAAC,GAAG,OACR,GAAI,IAAI,GAAM,UAAU,IACxB,KAAK,OAAO,aAAa,IACzB,MAAO,IAAE,aACT,MAAO,IAAE,GAGT,GAAI,IAAO,CAAC,IAAK,IAAK,IAAK,KACvB,GAcJ,GAbI,GAAK,KAAK,IAAK,GAAE,MAAO,QAAa,GAAE,MAAO,GAAE,MAClD,IAAI,GACJ,GAAK,QAAQ,IAAI,CACf,GAAE,IAAM,GAAE,MAAO,OAAa,GAAE,IAAK,GAAE,IACvC,MAAO,IAAE,OAIT,CAAC,IAAM,IAAE,MAAQ,GAAE,MAAQ,GAAE,MAAQ,GAAE,OACzC,IAAI,IAIF,GAAE,UAAY,OAAW,CAC3B,GAAM,IAAc,GAAG,cAAc,4BACrC,AAAI,IAAe,GAAY,YAAc,GAAE,SAC7C,IAAY,UAAY,GAAE,QAEtB,QAAE,UAAF,eAAW,KACb,IAAY,YAAY,GAAE,QAAQ,IAC7B,GAAE,QAAQ,KAAK,aAAa,GAAE,QAAQ,cAAc,MAG7D,MAAO,IAAE,QAIX,GAAI,IAAU,GACV,GAAY,GAChB,OAAW,MAAO,IAChB,AAAI,GAAI,KAAO,KAAO,GAAE,MAAS,GAAE,KACjC,IAAE,IAAO,GAAE,IACX,GAAU,GACV,GAAY,IAAc,CAAC,KAAK,KAAK,YAAe,MAAQ,YAAc,KAAQ,UAAY,KAAQ,WAM1G,GAHA,GAAM,eAAe,IAGjB,GAAG,CACL,GAAM,IAAgB,GAAE,IAAM,QAAa,GAAE,IAAM,GAAE,EACrD,KAAK,SAAS,GAAG,IACjB,KAAK,qBAAqB,GAAc,IACxC,MAAO,IAAE,MAEX,AAAI,KAAK,KACP,KAAK,WAAW,GAAI,IAElB,IACF,KAAK,uBAAuB,MAIzB,KAGD,SAAS,GAAkB,GAAoB,CACrD,GAAM,IAAc,GAAE,UACtB,AAAK,IAAa,KAAK,OAAO,aAAa,YAAY,IACvD,KAAK,OAAO,SAAS,GAAG,IACxB,KAAK,yBACA,IACH,MAAK,sBACL,KAAK,OAAO,aAUT,gBAAgB,GAAuB,CAG5C,GAFI,CAAC,IACL,IAAG,UAAU,OAAO,uBAChB,CAAC,GAAG,cAAc,OACtB,GAAM,IAAI,GAAG,cACb,GAAI,CAAC,GAAG,OACR,GAAM,IAAO,GAAE,KACf,GAAI,CAAC,IAAQ,GAAG,gBAAkB,GAAK,GAAI,OAC3C,GAAM,IAAO,GAAK,cAAc,IAChC,GAAI,CAAC,GAAM,OACX,GAAI,IAAS,GAAE,EAAI,GAAE,EAAI,GAAO,GAAG,aAC/B,GAGJ,GAFI,GAAE,uBAAuB,IAAO,GAAG,cAAc,GAAE,wBAClD,IAAM,IAAO,GAAG,cAAc,GAAU,wBACzC,CAAC,GAAM,OACX,GAAM,IAAU,GAAG,aAAe,GAAK,aACjC,GAAQ,GAAE,EAAI,GAAE,EAAI,GAAO,GAAU,GAAK,aAC5C,GACJ,GAAI,GAAE,QAEJ,GAAU,GAAE,QAAQ,SAAW,GAAE,QAAQ,cAAc,QAClD,CAEL,GAAM,IAAQ,GAAK,kBACnB,GAAI,CAAC,GAAO,CAAE,QAAQ,MAAM,gDAAgD,GAAE,OAAO,GAAU,8GAA+G,OAC9M,GAAU,GAAM,wBAAwB,QAAU,GAEpD,GAAI,KAAU,GAAS,OACvB,IAAU,GAAU,GACpB,GAAI,IAAI,KAAK,KAAK,GAAS,IAErB,GAAU,OAAO,UAAU,GAAE,eAAiB,GAAE,cAA0B,EAChF,AAAI,IAAW,GAAI,IACjB,IAAI,GACJ,GAAG,UAAU,IAAI,wBAEnB,AAAI,GAAE,MAAQ,GAAI,GAAE,KAAM,GAAI,GAAE,KACvB,GAAE,MAAQ,GAAI,GAAE,MAAM,IAAI,GAAE,MACjC,KAAM,GAAE,GACV,IAAK,yBAA2B,GAChC,GAAK,SAAS,GAAG,CAAE,OACnB,MAAO,IAAK,0BAKR,uBAAuB,GAAuB,CACpD,AAAI,GAAU,kBAAmB,GAAU,kBAAkB,IACxD,KAAK,gBAAgB,IAOrB,OAAO,GAAuB,GAAmB,CACtD,UAAU,YAAY,IAAK,QAAQ,IAAK,CACtC,GAAI,IAAI,GAAG,cACX,GAAI,CAAC,GAAM,aAAa,IAAI,OAC5B,GAAM,IAAuB,CAAE,EAAG,GAAE,EAAG,EAAG,GAAE,EAAG,KAAM,GAAE,KAAM,KAAM,GAAE,KAAM,KAAM,GAAE,KAAM,KAAM,GAAE,MAEjG,GAAI,GAAU,CACZ,GAAI,IAAS,GAAS,KAAO,EAAI,KAAK,MAAM,GAAS,KAAO,KAAK,aAAe,EAC5E,GAAS,GAAS,IAAM,EAAI,KAAK,MAAM,GAAS,IAAO,KAAK,KAAK,YAAyB,EAC9F,GAAI,EAAI,GAAE,EAAI,GAAU,IAAE,EAAK,IAAO,IACtC,GAAI,EAAK,GAAE,EAAI,GAAU,GAE3B,KAAK,OAAO,GAAI,MAEX,KAOF,OAAO,GAAqB,CAGjC,GAAI,CAFgB,OAAO,KAAU,UAAY,GAAM,MAAM,KAAK,OAAS,GAExD,CACjB,GAAI,IAAO,GAAM,YAAY,IAC7B,GAAI,KAAK,KAAK,aAAe,GAAK,MAAQ,KAAK,KAAK,SAAW,GAAK,EAAG,OAGzE,YAAK,KAAK,OAAS,GACnB,KAAK,KAAK,UAAY,KAAK,KAAK,aAAe,KAAK,KAAK,WAAa,KAAK,KAAK,YAAc,OAC9F,KAAK,cAEL,KAAK,cAAc,IAEZ,KAIF,WAAS,CAAa,MAAO,MAAK,KAAK,OAcvC,UAAU,GAAqB,CAEpC,GAAI,UAAU,OAAS,EAAG,CACxB,QAAQ,KAAK,uHAEb,GAAI,IAAI,UAAW,GAAI,EACrB,GAAqB,CAAE,EAAG,GAAE,MAAM,EAAG,GAAE,MAAM,EAAG,GAAE,MAAM,EAAG,GAAE,MAAM,aAAc,GAAE,OACrF,MAAO,MAAK,UAAU,IAExB,MAAO,MAAK,OAAO,UAAU,IAIrB,qBAAmB,CAC3B,GAAI,KAAK,OAAO,UAAW,MAAO,MAClC,GAAI,IAAW,KAAK,OAAO,cAAc,IACzC,MAAI,KAAY,GAAS,QAClB,MAAK,0BACR,KAAK,OAAO,mBAAmB,IAEjC,KAAK,cAAc,SAAU,KAE/B,KAAK,OAAO,cACL,KAIC,kBAAgB,CA7+C5B,OA8+CI,GAAI,KAAK,OAAO,UAAW,MAAO,MAClC,GAAI,SAAK,OAAO,aAAZ,eAAwB,OAAQ,CAClC,AAAK,KAAK,0BACR,KAAK,OAAO,mBAAmB,KAAK,OAAO,YAG7C,KAAK,OAAO,WAAW,QAAQ,IAAI,CAAG,MAAO,IAAE,SAC/C,GAAM,IAAa,CAAC,GAAG,KAAK,OAAO,YACnC,KAAK,OAAO,WAAa,GACzB,KAAK,cAAc,QAAS,IAE9B,MAAO,MAIF,qBAAmB,CA7/C5B,OA8/CI,GAAI,KAAK,OAAO,UAAW,MAAO,MAClC,GAAI,SAAK,OAAO,eAAZ,eAA0B,OAAQ,CACpC,GAAM,IAAe,CAAC,GAAG,KAAK,OAAO,cACrC,KAAK,OAAO,aAAe,GAC3B,KAAK,cAAc,UAAW,IAEhC,MAAO,MAIC,cAAc,GAAc,GAAsB,CAC1D,GAAI,IAAQ,GAAO,GAAI,aAAY,GAAM,CAAE,QAAS,GAAO,OAAQ,KAAU,GAAI,OAAM,IACvF,YAAK,GAAG,cAAc,IACf,KAIC,mBAAiB,CAEzB,GAAI,KAAK,QAAS,CAChB,GAAM,IAAgB,KAAK,KAAK,YAAc,OAAY,KAAK,GAAG,WAClE,GAAM,iBAAiB,KAAK,iBAAkB,IAC9C,MAAO,MAAK,QAEd,MAAO,MAIC,cAAc,GAAc,GAAO,GAAa,CAUxD,GARI,IACF,KAAK,oBAGH,KAAS,QAAW,IAAO,KAAK,UACpC,KAAK,yBAGD,KAAK,KAAK,aAAe,EAC3B,MAAO,MAGT,GAAI,IAAa,KAAK,KAAK,WACvB,GAAiB,KAAK,KAAK,eAC3B,GAAS,IAAI,KAAK,uBAAuB,KAAK,KAAK,YAGvD,GAAI,CAAC,KAAK,QAAS,CAEjB,GAAM,IAAgB,KAAK,KAAK,YAAc,OAAY,KAAK,GAAG,WAIlE,GAHA,KAAK,QAAU,GAAM,iBAAiB,KAAK,iBAAkB,GAAe,CAC1E,MAAO,KAAK,KAAK,QAEf,CAAC,KAAK,QAAS,MAAO,MAC1B,KAAK,QAAQ,KAAO,EAGpB,GAAM,WAAW,KAAK,QAAS,GAAQ,WAAW,KAAa,MAE/D,GAAI,IAAc,KAAK,KAAK,UAAY,KAAK,KAAK,WAC9C,GAAiB,KAAK,KAAK,aAAe,KAAK,KAAK,WACpD,GAAgB,KAAK,KAAK,YAAc,KAAK,KAAK,WAClD,GAAe,KAAK,KAAK,WAAa,KAAK,KAAK,WAChD,GAAU,GAAG,gCACb,GAAc,IAAI,KAAK,oEAC3B,GAAM,WAAW,KAAK,QAAS,GAAS,QAAQ,cAAe,eAAkB,aAAiB,OAClG,GAAM,WAAW,KAAK,QAAS,GAAa,QAAQ,cAAe,eAAkB,aAAiB,OAEtG,GAAM,WAAW,KAAK,QAAS,GAAG,uBAA4B,QAAQ,OACtE,GAAM,WAAW,KAAK,QAAS,GAAG,uBAA4B,WAAW,MACzE,GAAM,WAAW,KAAK,QAAS,GAAG,wBAA6B,UAAU,MACzE,GAAM,WAAW,KAAK,QAAS,GAAG,uBAA4B,UAAU,MACxE,GAAM,WAAW,KAAK,QAAS,GAAG,wBAA6B,UAAU,eAAkB,MAC3F,GAAM,WAAW,KAAK,QAAS,GAAG,wBAA6B,SAAS,MACxE,GAAM,WAAW,KAAK,QAAS,GAAG,uBAA4B,SAAS,MACvE,GAAM,WAAW,KAAK,QAAS,GAAG,wBAA6B,SAAS,eAAiB,MAK3F,GADA,GAAO,IAAQ,KAAK,QAAQ,KACxB,GAAO,KAAK,QAAQ,KAAM,CAC5B,GAAI,IAAY,AAAC,IAA0B,GAAa,GAAQ,GAChE,OAAS,IAAI,KAAK,QAAQ,KAAO,EAAG,IAAK,GAAM,KAC7C,GAAM,WAAW,KAAK,QAAS,GAAG,YAAgB,OAAO,QAAQ,GAAU,OAC3E,GAAM,WAAW,KAAK,QAAS,GAAG,YAAgB,GAAI,MAAO,WAAW,GAAU,GAAI,MAExF,KAAK,QAAQ,KAAO,GAEtB,MAAO,MAIC,wBAAsB,CAC9B,GAAI,CAAC,KAAK,QAAU,KAAK,OAAO,UAAW,MAAO,MAClD,GAAM,IAAS,KAAK,eAChB,GAAM,KAAK,SAAW,KAAK,cACzB,GAAa,KAAK,KAAK,WACvB,GAAO,KAAK,KAAK,eACvB,GAAI,CAAC,GAAY,MAAO,MAGxB,GAAI,CAAC,GAAQ,CACX,GAAM,IAAe,GAAM,YAAY,iBAAiB,KAAK,IAAI,WACjE,GAAI,GAAa,EAAI,GAAK,GAAa,OAAS,GAAM,CACpD,GAAM,IAAS,KAAK,MAAM,GAAa,EAAI,IAC3C,AAAI,GAAM,IACR,IAAM,KAKZ,YAAK,GAAG,aAAa,iBAAkB,OAAO,KAC9C,KAAK,GAAG,MAAM,eAAe,cAC7B,KAAK,GAAG,MAAM,eAAe,UACzB,IAEF,MAAK,GAAG,MAAM,GAAS,YAAc,UAAY,GAAM,GAAa,IAIlE,IAAU,CAAC,GAAO,KAAK,OAAO,WAAa,GAAM,oBAAoB,KACvE,GAAO,KAAK,uBAAuB,GAAO,IAGrC,KAIC,gBAAgB,GAAyB,GAAkB,GAAO,GAAoB,CAC9F,GAAO,IAAQ,KAAK,UAAU,IAC9B,GAAG,cAAgB,GACnB,GAAK,GAAK,GACV,GAAK,KAAO,KACZ,GAAO,KAAK,OAAO,QAAQ,GAAM,IAGjC,KAAK,WAAW,GAAI,IACpB,GAAG,UAAU,IAAI,GAAa,UAAW,KAAK,KAAK,WACnD,GAAM,IAAgB,GAAM,oBAAoB,IAChD,UAAgB,GAAG,UAAU,IAAI,mBAAqB,GAAG,UAAU,OAAO,mBACtE,IAAe,KAAK,qBAAqB,GAAO,IAEpD,KAAK,uBAAuB,IACrB,KAIC,cAAc,GAAiB,GAAoB,CAC3D,MAAI,IAAE,IAAM,QAAa,GAAE,IAAM,MAAQ,GAAG,aAAa,OAAQ,OAAO,GAAE,IACtE,GAAE,IAAM,QAAa,GAAE,IAAM,MAAQ,GAAG,aAAa,OAAQ,OAAO,GAAE,IAC1E,GAAE,EAAI,EAAI,GAAG,aAAa,OAAQ,OAAO,GAAE,IAAM,GAAG,gBAAgB,QACpE,GAAE,EAAI,EAAI,GAAG,aAAa,OAAQ,OAAO,GAAE,IAAM,GAAG,gBAAgB,QAC7D,KAIC,WAAW,GAAiB,GAAqB,CACzD,GAAI,CAAC,GAAM,MAAO,MAClB,KAAK,cAAc,GAAI,IAEvB,GAAI,IAA2C,CAC7C,aAAc,mBACd,SAAU,eACV,OAAQ,aACR,OAAQ,YACR,GAAI,SAEN,OAAW,MAAO,IAChB,AAAI,GAAK,IACP,GAAG,aAAa,GAAM,IAAM,OAAO,GAAK,MAExC,GAAG,gBAAgB,GAAM,KAG7B,MAAO,MAIC,UAAU,GAAiB,GAAmB,GAAI,CAC1D,GAAI,IAAmB,GACvB,GAAE,EAAI,GAAM,SAAS,GAAG,aAAa,SACrC,GAAE,EAAI,GAAM,SAAS,GAAG,aAAa,SACrC,GAAE,EAAI,GAAM,SAAS,GAAG,aAAa,SACrC,GAAE,EAAI,GAAM,SAAS,GAAG,aAAa,SACrC,GAAE,aAAe,GAAM,OAAO,GAAG,aAAa,qBAC9C,GAAE,SAAW,GAAM,OAAO,GAAG,aAAa,iBAC1C,GAAE,OAAS,GAAM,OAAO,GAAG,aAAa,eACxC,GAAE,OAAS,GAAM,OAAO,GAAG,aAAa,cACxC,GAAE,GAAK,GAAG,aAAa,SAGvB,GAAE,KAAO,GAAM,SAAS,GAAG,aAAa,aACxC,GAAE,KAAO,GAAM,SAAS,GAAG,aAAa,aACxC,GAAE,KAAO,GAAM,SAAS,GAAG,aAAa,aACxC,GAAE,KAAO,GAAM,SAAS,GAAG,aAAa,aAGpC,IACE,IAAE,IAAM,GAAG,GAAG,gBAAgB,QAC9B,GAAE,IAAM,GAAG,GAAG,gBAAgB,QAC9B,GAAE,MAAM,GAAG,gBAAgB,YAC3B,GAAE,MAAM,GAAG,gBAAgB,YAC3B,GAAE,MAAM,GAAG,gBAAgB,YAC3B,GAAE,MAAM,GAAG,gBAAgB,aAIjC,OAAW,MAAO,IAAG,CACnB,GAAI,CAAC,GAAE,eAAe,IAAM,OAC5B,AAAI,CAAC,GAAE,KAAQ,GAAE,MAAS,GACxB,MAAO,IAAE,IAIb,MAAO,IAIC,iBAAe,CACvB,GAAI,IAAU,CAAC,qBAEf,MAAI,MAAK,KAAK,WACZ,MAAK,GAAG,UAAU,IAAI,GAAG,IACzB,KAAK,GAAG,aAAa,YAAa,SAElC,MAAK,GAAG,UAAU,OAAO,GAAG,IAC5B,KAAK,GAAG,gBAAgB,cAGnB,KAQF,UAAQ,CA3uDjB,OA6uDI,GADI,CAAC,UAAK,KAAL,eAAS,cACV,KAAK,YAAc,KAAK,GAAG,YAAa,OAC5C,KAAK,UAAY,KAAK,GAAG,YAGzB,KAAK,cAGL,GAAI,IAAgB,GACpB,MAAI,MAAK,aAAe,KAAK,eACvB,KAAK,KAAK,SAAW,KAAK,eAAe,GAC3C,MAAK,OAAO,KAAK,eAAe,EAAG,QACnC,GAAgB,IAIlB,GAAgB,KAAK,qBAInB,KAAK,mBAAmB,KAAK,aAGjC,KAAK,OAAO,MAAM,QAAQ,IAAI,CAC5B,AAAI,GAAE,SAAS,GAAE,QAAQ,aAGtB,KAAK,oBAAoB,KAAK,qBAAqB,IACxD,MAAO,MAAK,mBAEZ,KAAK,YAAY,IAEV,KAID,qBAAqB,GAAQ,GAAO,GAAmB,OAAS,CACtE,GAAI,EAAC,KAAK,OAIV,IAAI,IAAS,KAAK,kBAAmB,MAAO,YAAW,IAAM,KAAK,qBAAqB,GAAO,IAAI,IAAM,IAExG,GAAI,GACF,AAAI,GAAM,oBAAoB,KAAI,KAAK,uBAAuB,GAAE,YACvD,KAAK,OAAO,MAAM,KAAK,IAAK,GAAM,oBAAoB,KAAK,CACpE,GAAM,IAAQ,CAAC,GAAG,KAAK,OAAO,OAC9B,KAAK,cACL,GAAM,QAAQ,IAAI,CAChB,AAAI,GAAM,oBAAoB,KAAI,KAAK,uBAAuB,GAAE,MAElE,KAAK,YAAY,IAGnB,AAAI,KAAK,gBAAgB,eAAkB,KAAK,gBAAgB,cAAiB,KAAM,GAAI,CAAC,IAAK,KAAK,OAAO,QAIrG,mBAAmB,GAAc,GAAK,CAG9C,GAAM,IAAY,CAAC,KAAK,gBAAmB,MAAK,mBAAqB,KAAK,KAAK,eAAiB,KAAK,KAAK,YACrG,KAAK,OAAO,MAAM,KAAK,IAAK,GAAE,gBAEnC,MAAI,CAAC,IAAe,IAAa,CAAC,KAAK,eACrC,MAAK,cAAgB,GAAM,SAAS,IAAM,KAAK,WAAY,KAAK,KAAK,oBACrE,KAAK,eAAiB,GAAI,gBAAe,IAAM,KAAK,iBACpD,KAAK,eAAe,QAAQ,KAAK,IACjC,KAAK,mBAAqB,IAChB,KAAe,CAAC,KAAc,KAAK,gBAC7C,MAAK,eAAe,aACpB,MAAO,MAAK,eACZ,MAAO,MAAK,eAGP,WAIK,YAAW,GAAwB,mBAAkB,CAAyB,MAAO,IAAM,WAAW,UAEtG,aAAY,GAAwB,mBAAkB,CAA2B,MAAO,IAAM,YAAY,UAE1G,gBAAe,GAAqB,CAAqB,MAAO,IAAU,WAAW,UAErF,iBAAgB,GAAW,CAAuB,MAAO,IAAM,YAAY,IAG/E,aAAW,CAEnB,GAAI,IACA,GAAS,EAGT,GAAoB,GACxB,MAAI,OAAO,MAAK,KAAK,QAAW,UAC9B,IAAU,KAAK,KAAK,OAAO,MAAM,MAEnC,AAAI,GAAQ,SAAW,EACrB,MAAK,KAAK,UAAY,KAAK,KAAK,aAAe,GAAQ,GACvD,KAAK,KAAK,WAAa,KAAK,KAAK,YAAc,GAAQ,IAClD,AAAI,GAAQ,SAAW,EAC5B,MAAK,KAAK,UAAY,GAAQ,GAC9B,KAAK,KAAK,YAAc,GAAQ,GAChC,KAAK,KAAK,aAAe,GAAQ,GACjC,KAAK,KAAK,WAAa,GAAQ,IAE/B,IAAO,GAAM,YAAY,KAAK,KAAK,QACnC,KAAK,KAAK,WAAa,GAAK,KAC5B,GAAS,KAAK,KAAK,OAAS,GAAK,GAInC,AAAI,KAAK,KAAK,YAAc,OAC1B,KAAK,KAAK,UAAY,GAEtB,IAAO,GAAM,YAAY,KAAK,KAAK,WACnC,KAAK,KAAK,UAAY,GAAK,EAC3B,MAAO,MAAK,KAAK,QAGnB,AAAI,KAAK,KAAK,eAAiB,OAC7B,KAAK,KAAK,aAAe,GAEzB,IAAO,GAAM,YAAY,KAAK,KAAK,cACnC,KAAK,KAAK,aAAe,GAAK,EAC9B,MAAO,MAAK,KAAK,QAGnB,AAAI,KAAK,KAAK,cAAgB,OAC5B,KAAK,KAAK,YAAc,GAExB,IAAO,GAAM,YAAY,KAAK,KAAK,aACnC,KAAK,KAAK,YAAc,GAAK,EAC7B,MAAO,MAAK,KAAK,QAGnB,AAAI,KAAK,KAAK,aAAe,OAC3B,KAAK,KAAK,WAAa,GAEvB,IAAO,GAAM,YAAY,KAAK,KAAK,YACnC,KAAK,KAAK,WAAa,GAAK,EAC5B,MAAO,MAAK,KAAK,QAEnB,KAAK,KAAK,WAAa,GAAK,KACxB,KAAK,KAAK,YAAc,KAAK,KAAK,cAAgB,KAAK,KAAK,aAAe,KAAK,KAAK,aAAe,KAAK,KAAK,YAAc,KAAK,KAAK,aACxI,MAAK,KAAK,OAAS,KAAK,KAAK,WAExB,WAYK,QAAK,CACjB,MAAO,UAWK,aAAY,GAAiC,GAA6B,GAA+B,SAAQ,CAC7H,AAAI,oBAAe,SAAU,QAC3B,IAAU,UAAY,GAAc,OAGtC,GAAgB,SAAK,IAA0B,IAAiB,IAChE,GAAI,IAAsB,MAAO,KAAW,SAAY,GAAM,YAAY,GAAQ,IAAQ,GAC1F,AAAI,GAAI,QAAQ,cAAK,QAAQ,IAAK,CAChC,AAAK,GAAG,YAAY,KAAK,GAAG,OAAO,GAAI,OAUpC,QAAQ,GAAuB,GAAY,CAChD,MAAI,MAAK,KAAK,WAAmB,KACjC,IAAU,YAAY,IAAK,QAAQ,IAAK,CACtC,GAAM,IAAI,GAAG,cACb,AAAI,CAAC,IACL,IAAM,MAAO,IAAE,OAAS,GAAE,OAAS,GACnC,KAAK,uBAAuB,OAEvB,MAQF,UAAU,GAAuB,GAAY,CAClD,MAAI,MAAK,KAAK,WAAmB,KACjC,IAAU,YAAY,IAAK,QAAQ,IAAK,CACtC,GAAI,IAAI,GAAG,cACX,AAAI,CAAC,IACL,IAAM,MAAO,IAAE,SAAW,GAAE,SAAW,GACvC,KAAK,uBAAuB,OAEvB,MAaF,QAAQ,GAAU,GAAI,CAC3B,GAAI,MAAK,KAAK,WACd,YAAK,WAAW,GAAO,IACvB,KAAK,aAAa,GAAO,IACzB,KAAK,cAAc,WACZ,KAWF,OAAO,GAAU,GAAI,CAC1B,GAAI,MAAK,KAAK,WACd,YAAK,WAAW,GAAM,IACtB,KAAK,aAAa,GAAM,IACxB,KAAK,cAAc,UACZ,KAOF,WAAW,GAAmB,GAAU,GAAI,CACjD,MAAI,MAAK,KAAK,WAAmB,KACjC,IAAW,MAAO,MAAK,KAAK,YAAc,KAAK,KAAK,YAAc,GAClE,KAAK,OAAO,MAAM,QAAQ,IAAI,CAC5B,KAAK,uBAAuB,IACxB,GAAE,SAAW,IAAS,GAAE,QAAQ,WAAW,GAAU,MAEpD,MAOF,aAAa,GAAmB,GAAU,GAAI,CACnD,MAAI,MAAK,KAAK,WAAmB,KACjC,IAAW,MAAO,MAAK,KAAK,cAAgB,KAAK,KAAK,cAAgB,GACtE,KAAK,OAAO,MAAM,QAAQ,IAAI,CAC5B,KAAK,uBAAuB,IACxB,GAAE,SAAW,IAAS,GAAE,QAAQ,aAAa,GAAU,MAEtD,MAIC,UAAU,GAAiB,CACnC,UAAG,UAAU,GAAI,WAAW,UAAU,GAAI,WACtC,GAAG,eACL,MAAO,IAAG,cAAc,QAE1B,MAAO,IAAG,UACH,KAIC,oBAAkB,CAG1B,GAAI,KAAK,KAAK,YAAe,CAAC,KAAK,KAAK,eAAiB,CAAC,KAAK,KAAK,UAClE,UAAG,UAAU,KAAK,GAAI,WACf,KAIT,GAAI,IAAoB,GAEpB,GAAS,CAAC,GAAkB,GAAyB,KAA+B,CAzhE5F,OA0hEM,GAAI,IAAO,GAAG,cACd,GAAI,CAAC,GAAM,OAMX,GAJA,GAAS,IAAU,GAIf,CAAC,QAAK,OAAL,eAAW,IAAI,CAElB,GAAO,MAAM,UAAY,SAAS,EAAI,KAAK,cAAc,UAAU,EAAI,KAAK,cAAc,UAE1F,GAAM,IAAa,GAAO,wBAC1B,GAAO,MAAM,KAAO,GAAW,EAAK,MAAK,cAAc,OAAS,GAAM,IAAM,QAAU,GAAW,GAAK,KAAK,cAAc,OAAS,KAClI,GAAO,MAAM,IAAM,GAAW,EAAK,MAAK,cAAc,OAAS,GAAM,IAAM,QAAU,GAAW,GAAK,KAAK,cAAc,OAAS,KACjI,GAAO,MAAM,gBAAkB,UAGjC,GAAI,IAAS,KAAK,GAAG,wBACjB,CAAE,OAAK,SAAS,GAAO,wBAC3B,IAAQ,GAAO,KACf,IAAO,GAAO,IACd,GAAI,IAAe,CACjB,SAAU,CACR,IAAK,GAAM,KAAK,cAAc,OAC9B,KAAM,GAAO,KAAK,cAAc,SAIpC,GAAI,GAAK,kBAAmB,CAO1B,GANA,GAAK,EAAI,KAAK,IAAI,EAAG,KAAK,MAAM,GAAO,KACvC,GAAK,EAAI,KAAK,IAAI,EAAG,KAAK,MAAM,GAAM,KACtC,MAAO,IAAK,aACZ,KAAK,OAAO,aAAa,IAGrB,CAAC,KAAK,OAAO,UAAU,IAAO,CAEhC,GADA,GAAK,aAAe,GAChB,CAAC,KAAK,OAAO,UAAU,IAAO,CAChC,GAAG,IAAI,GAAI,QACX,OAEF,AAAI,GAAK,aAEP,IAAM,QAAQ,GAAM,GAAK,aACzB,MAAO,IAAK,aAKhB,KAAK,eAAe,GAAQ,GAAO,GAAI,GAAM,GAAW,QAGxD,MAAK,cAAc,GAAQ,GAAO,GAAI,GAAM,GAAW,KAI3D,UAAG,UAAU,KAAK,GAAI,CACpB,OAAQ,AAAC,IAA2B,CAClC,GAAI,IAAsB,GAAG,eAAiB,KAAK,UAAU,GAAI,IAEjE,GAAI,oBAAM,QAAS,KAAM,MAAO,GAChC,GAAI,CAAC,KAAK,KAAK,cAAe,MAAO,GAErC,GAAI,IAAY,GAChB,GAAI,MAAO,MAAK,KAAK,eAAkB,WACrC,GAAY,KAAK,KAAK,cAAc,QAC/B,CACL,GAAI,IAAY,KAAK,KAAK,gBAAkB,GAAO,mBAAqB,KAAK,KAAK,cAClF,GAAY,GAAG,QAAQ,IAGzB,GAAI,IAAa,IAAQ,KAAK,KAAK,OAAQ,CACzC,GAAI,IAAI,CAAE,EAAG,GAAK,EAAG,EAAG,GAAK,EAAG,KAAM,GAAK,KAAM,KAAM,GAAK,MAC5D,GAAY,KAAK,OAAO,UAAU,IAEpC,MAAO,OAMR,GAAG,KAAK,GAAI,WAAY,CAAC,GAAc,GAAyB,KAA+B,CAE9F,GAAI,IAAO,GAAG,cAEd,GAAI,oBAAM,QAAS,MAAQ,CAAC,GAAK,kBAE/B,MAAO,GAIT,AAAI,oBAAM,OAAQ,GAAK,OAAS,MAAQ,CAAC,GAAK,mBAG5C,AADgB,GAAK,KACX,OAAO,GAAI,IAIvB,GAAY,KAAK,YACjB,GAAa,KAAK,cAAc,IAG3B,IACH,IAAO,KAAK,UAAU,GAAI,KAEvB,GAAK,MACR,IAAK,YAAc,GACnB,GAAG,cAAgB,IAIrB,GAAS,IAAU,GACnB,GAAI,IAAI,GAAK,GAAK,KAAK,MAAM,GAAO,YAAc,KAAc,EAC5D,GAAI,GAAK,GAAK,KAAK,MAAM,GAAO,aAAe,KAAe,EAGlE,MAAI,IAAK,MAAQ,GAAK,OAAS,KAGxB,IAAG,oBAAoB,IAAG,mBAAqB,IACpD,GAAG,cAAgB,GAAO,SAAK,IAAL,CAAW,KAAG,KAAG,KAAM,OACjD,MAAO,IAAK,EACZ,MAAO,IAAK,EACZ,KAAK,OAAO,YAAY,IACrB,aAAa,IAEhB,GAAK,QACH,GAAK,YACL,GAAK,kBAAoB,IAE3B,IAAK,EAAI,GAAG,GAAK,EAAI,GACrB,GAAK,kBAAoB,IAI3B,GAAU,cAAc,GAAK,GAAI,IAEjC,GAAG,GAAG,GAAI,OAAQ,IAElB,GAAO,GAAoB,GAAI,IACxB,KAKR,GAAG,KAAK,GAAI,UAAW,CAAC,GAAO,GAAyB,KAA+B,CAEtF,GAAI,IAAO,GAAG,cACd,MAAK,KAGD,EAAC,GAAK,MAAQ,GAAK,OAAS,OAC9B,MAAK,OAAO,GAAI,IAEZ,KAAK,SACP,KAAK,gBAAgB,KAGlB,KAKR,GAAG,KAAK,GAAI,OAAQ,CAAC,GAAO,GAAyB,KAA+B,CA7rE3F,aA8rEQ,GAAI,IAAO,GAAG,cAEd,GAAI,oBAAM,QAAS,MAAQ,CAAC,GAAK,YAAa,MAAO,GAErD,GAAM,IAAW,CAAC,CAAC,KAAK,YAAY,cACpC,KAAK,YAAY,SAGjB,GAAM,IAAS,IAAY,KAAK,KAAK,QACrC,AAAI,IAAQ,KAAK,aAAa,IAI9B,GAAI,IAAW,GAAG,mBAElB,GADA,MAAO,IAAG,mBACN,IAAY,oBAAU,OAAQ,GAAS,OAAS,KAAM,CACxD,GAAI,IAAQ,GAAS,KACrB,GAAM,OAAO,0BAA0B,IACvC,GAAM,OAAO,aAAa,KAAK,IAC/B,GAAM,sBAAsB,sBAExB,GAAM,gBAAkB,CAAC,GAAM,OAAO,MAAM,QAAU,GAAM,KAAK,gBACnE,GAAM,kBAyBV,GArBI,CAAC,IAGD,KACF,MAAK,OAAO,YAAY,IACxB,GAAK,KAAO,MAEd,IAAO,GAAK,OAAZ,gBAAkB,QAClB,GAAG,IAAI,GAAI,QAGX,AAAI,KAAW,GACb,IAAO,SACP,GAAG,cAAgB,GACf,IACF,IAAK,GAAG,UAAU,MAGpB,IAAG,SACH,KAAK,UAAU,KAEb,CAAC,IAAU,MAAO,GACtB,GAAG,cAAgB,GACnB,GAAK,GAAK,GACV,GAAI,IAAU,WAAK,UAAL,eAAc,KAAd,eAAkB,UAEhC,UAAM,QAAQ,GAAM,KAAK,UAAU,KAAK,cACxC,GAAM,wBAAwB,IAC9B,KAAK,GAAG,YAAY,IACpB,KAAK,gBAAgB,GAAI,GAAM,IAC3B,IACF,IAAQ,eAAiB,GACpB,GAAQ,KAAK,aAAa,GAAQ,cAAc,KAEvD,KAAK,yBACL,KAAK,OAAO,WAAW,KAAK,IAC5B,KAAK,mBACL,KAAK,sBAEL,KAAK,OAAO,YACR,KAAK,gBAAgB,SACvB,KAAK,gBAAgB,QAAW,SAAK,IAAL,CAAY,KAAM,YAAa,IAAY,GAAS,KAAO,GAAW,OAAW,IAI/G,IAAQ,KAAK,aAAa,KAAK,KAAK,QAAS,IAE1C,KAEJ,WAIM,eAAc,GAAyB,GAAe,CACnE,GAAM,IAAO,GAAK,GAAG,cAAgB,OACrC,AAAI,CAAC,oBAAM,OAAQ,GAAG,UAAU,SAAS,GAAK,KAAK,KAAK,iBAAiB,UACzE,IAAS,GAAK,iBAAmB,GAAO,MAAO,IAAK,iBACpD,GAAS,GAAG,UAAU,IAAI,4BAA8B,GAAG,UAAU,OAAO,6BAIpE,kBAAgB,CACxB,GAAI,MAAO,MAAK,KAAK,WAAc,SAAU,MAAO,MACpD,GAAI,IAAU,SAAS,cAAc,KAAK,KAAK,WAC/C,MAAK,IAKD,EAAC,KAAK,KAAK,YAAc,CAAC,GAAG,YAAY,KAC3C,GAAG,UAAU,GAAS,KAAK,KAAK,kBAC7B,GAAG,GAAS,WAAY,CAAC,GAAO,KAAO,GAAU,cAAc,GAAI,KACnE,GAAG,GAAS,UAAW,CAAC,GAAO,KAAO,GAAU,cAAc,GAAI,KAEhE,MAVc,KAcb,uBAAuB,GAAmB,CAClD,GAAI,IAAK,GAAK,GACR,GAAS,GAAK,QAAU,KAAK,KAAK,YAClC,GAAW,GAAK,UAAY,KAAK,KAAK,cAG5C,GAAI,KAAK,KAAK,YAAe,IAAU,GACrC,MAAI,IAAK,SACP,MAAK,UAAU,IACf,MAAO,IAAK,SAEd,GAAG,UAAU,IAAI,wBAAyB,yBACnC,KAGT,GAAI,CAAC,GAAK,QAAS,CAEjB,GAAI,IACA,GAGA,GAAgB,CAAC,GAAc,KAAgB,CAEjD,AAAI,KAAK,gBAAgB,GAAM,OAC7B,KAAK,gBAAgB,GAAM,MAAM,GAAO,GAAM,QAEhD,GAAY,KAAK,YACjB,GAAa,KAAK,cAAc,IAEhC,KAAK,eAAe,GAAI,GAAO,GAAI,GAAM,GAAW,KAIlD,GAAe,CAAC,GAAmB,KAAgB,CACrD,KAAK,cAAc,GAAI,GAAO,GAAI,GAAM,GAAW,KAIjD,GAAc,AAAC,IAAgB,CACjC,KAAK,YAAY,SACjB,MAAO,IAAK,QACZ,MAAO,IAAK,OACZ,MAAO,IAAK,WACZ,GAAM,IAAe,GAAK,IAAM,GAAK,MAAM,EAGvC,GAA8B,GAAM,OACxC,GAAI,GAAC,GAAO,eAAiB,GAAO,cAAc,OAAS,MAI3D,IAFA,GAAK,GAAK,GAEN,GAAK,iBAAkB,CACzB,GAAI,IAAO,GAAG,cAAc,KAC5B,AAAI,GAAK,gBAAgB,GAAM,OAC7B,GAAK,gBAAgB,GAAM,MAAM,GAAO,IAE1C,GAAK,OAAO,MAAM,KAAK,IACvB,GAAK,aAAa,GAAI,GAAM,QAE5B,IAAM,wBAAwB,IAC9B,AAAI,GAAK,kBAEP,IAAM,QAAQ,GAAM,GAAK,OACzB,KAAK,cAAc,GAAQ,IAC3B,KAAK,OAAO,QAAQ,KAGpB,KAAK,cAAc,GAAQ,IAEzB,KAAK,gBAAgB,GAAM,OAC7B,KAAK,gBAAgB,GAAM,MAAM,GAAO,IAI5C,KAAK,cAAgB,EACrB,KAAK,yBACL,KAAK,sBAEL,KAAK,OAAO,YAER,GAAM,OAAS,cACb,QAAO,UAAU,GAAK,gBAAgB,IAAK,cAAgB,GAAK,GACpE,KAAK,qBAAqB,GAAc,OAI5C,GAAG,UAAU,GAAI,CACf,MAAO,GACP,KAAM,GACN,KAAM,KACL,UAAU,GAAI,CACf,MAAO,GACP,KAAM,GACN,OAAQ,KAEV,GAAK,QAAU,GAIjB,UAAG,UAAU,GAAI,GAAS,UAAY,UACnC,UAAU,GAAI,GAAW,UAAY,UAEjC,KAIC,eAAe,GAAyB,GAAc,GAAc,GAAqB,GAAmB,GAAkB,CAh5E1I,OA25EI,GAVA,KAAK,OAAO,aACT,YAAY,IAEf,KAAK,cAAc,KAAK,YAAa,IACrC,KAAK,GAAG,YAAY,KAAK,aACzB,KAAK,YAAY,cAAgB,GAK7B,OAAK,OAAL,eAAW,GACb,KAAK,cAAgB,GAAM,gCAAgC,YAIpD,KAAK,aAAe,KAAK,YAAY,QAAQ,eAAgB,CACpE,GAAM,IAAS,KAAK,YAAY,QAAQ,eACxC,KAAK,cAAgB,GAAM,gCAAgC,QAI3D,MAAK,cAAgB,CACnB,OAAQ,EACR,QAAS,EACT,OAAQ,EACR,QAAS,GAkBb,GAdA,GAAK,GAAK,KAAK,YACf,GAAK,gBAAkB,GAAG,SAC1B,GAAK,UAAY,GAAG,SAAS,IAC7B,GAAK,QAAW,GAAM,OAAS,YAC/B,MAAO,IAAK,WAER,GAAM,OAAS,YAAc,GAAK,mBAEpC,MAAK,OAAO,QAAQ,IACpB,GAAK,QAAU,IAIjB,KAAK,OAAO,WAAW,GAAW,GAAY,KAAK,KAAK,UAAqB,KAAK,KAAK,YAAuB,KAAK,KAAK,aAAwB,KAAK,KAAK,YACtJ,GAAM,OAAS,cAAe,CAChC,GAAM,IAAU,KAAK,YAAc,GAAK,EAClC,GAAW,MAAK,KAAK,QAAU,OAAO,kBAAoB,GAAK,EACrE,GAAG,UAAU,GAAI,SAAU,WAAY,GAAY,KAAK,IAAI,GAAK,MAAQ,EAAG,KACzE,UAAU,GAAI,SAAU,YAAa,GAAa,KAAK,IAAI,GAAK,MAAQ,EAAG,KAC3E,UAAU,GAAI,SAAU,WAAY,GAAY,KAAK,IAAI,GAAK,MAAQ,OAAO,iBAAkB,KAC/F,UAAU,GAAI,SAAU,YAAa,GAAa,KAAK,IAAI,GAAK,MAAQ,OAAO,iBAAkB,MAK9F,cAAc,GAAyB,GAAmB,GAAc,GAAqB,GAAmB,GAAkB,CAC1I,GAAI,IAAI,MAAK,GAAK,OACd,GACA,GAAQ,KAAK,KAAK,WACpB,GAAS,KAAK,KAAK,YACnB,GAAO,KAAK,KAAK,UACjB,GAAU,KAAK,KAAK,aAGlB,GAAU,KAAK,MAAM,GAAa,IACpC,GAAS,KAAK,MAAM,GAAY,IAMlC,GALA,GAAQ,KAAK,IAAI,GAAO,IACxB,GAAS,KAAK,IAAI,GAAQ,IAC1B,GAAO,KAAK,IAAI,GAAM,IACtB,GAAU,KAAK,IAAI,GAAS,IAExB,GAAM,OAAS,OAAQ,CACzB,GAAI,GAAK,kBAAmB,OAC5B,GAAI,IAAW,GAAG,SAAS,IAAM,GAAK,UACtC,GAAK,UAAY,GAAG,SAAS,IACzB,KAAK,KAAK,UAAU,SAAW,IACjC,GAAM,qBAAqB,GAAI,GAAG,SAAU,IAI9C,GAAI,IAAO,GAAG,SAAS,KAAQ,IAAG,SAAS,KAAO,GAAK,gBAAgB,KAAO,CAAC,GAAS,IACpF,GAAM,GAAG,SAAS,IAAO,IAAG,SAAS,IAAM,GAAK,gBAAgB,IAAM,CAAC,GAAU,IACrF,GAAE,EAAI,KAAK,MAAM,GAAO,IACxB,GAAE,EAAI,KAAK,MAAM,GAAM,IAGvB,GAAI,IAAO,KAAK,cAChB,GAAI,KAAK,OAAO,QAAQ,GAAM,IAAI,CAChC,GAAI,IAAM,KAAK,SACX,GAAQ,KAAK,IAAI,EAAI,GAAE,EAAI,GAAK,EAAK,IACzC,AAAI,KAAK,KAAK,QAAU,GAAM,GAAQ,KAAK,KAAK,QAC9C,IAAQ,KAAK,IAAI,EAAG,KAAK,KAAK,OAAS,KAEzC,KAAK,cAAgB,OAChB,MAAK,cAAgB,EAG5B,GAFI,KAAK,gBAAkB,IAAM,KAAK,yBAElC,GAAK,IAAM,GAAE,GAAK,GAAK,IAAM,GAAE,EAAG,eAG7B,GAAM,OAAS,SAAU,CASlC,GARI,GAAE,EAAI,GAEV,IAAM,mBAAmB,GAAO,GAAI,IAGpC,GAAE,EAAI,KAAK,MAAO,IAAG,KAAK,MAAQ,IAAS,IAC3C,GAAE,EAAI,KAAK,MAAO,IAAG,KAAK,OAAS,IAAQ,IACvC,GAAK,IAAM,GAAE,GAAK,GAAK,IAAM,GAAE,IAC/B,GAAK,YAAc,GAAK,WAAW,IAAM,GAAE,GAAK,GAAK,WAAW,IAAM,GAAE,EAAG,OAG/E,GAAI,IAAO,GAAG,SAAS,KAAO,GAC1B,GAAM,GAAG,SAAS,IAAM,GAC5B,GAAE,EAAI,KAAK,MAAM,GAAO,IACxB,GAAE,EAAI,KAAK,MAAM,GAAM,IAEvB,GAAW,GAGb,GAAK,OAAS,GACd,GAAK,WAAa,GAClB,GAAI,IAA0B,CAC5B,EAAG,GAAG,SAAS,KAAO,GACtB,EAAG,GAAG,SAAS,IAAM,GACrB,EAAI,IAAG,KAAO,GAAG,KAAK,MAAQ,GAAK,EAAI,IAAa,GAAQ,GAC5D,EAAI,IAAG,KAAO,GAAG,KAAK,OAAS,GAAK,EAAI,IAAc,GAAO,IAE/D,GAAI,KAAK,OAAO,cAAc,GAAM,SAAK,IAAL,CAAQ,aAAW,cAAY,QAAM,eAAa,CACpF,GAAK,gBAAkB,GAAG,SAC1B,KAAK,OAAO,WAAW,GAAW,GAAY,GAAM,GAAQ,GAAS,IACrE,MAAO,IAAK,UACR,IAAY,GAAK,SAAS,GAAK,QAAQ,WAC3C,KAAK,cAAgB,EACrB,KAAK,yBAEL,GAAI,IAAS,GAAM,OACnB,KAAK,cAAc,GAAQ,IACvB,KAAK,gBAAgB,GAAM,OAC7B,KAAK,gBAAgB,GAAM,MAAM,GAAO,KASpC,OAAO,GAAyB,GAA4B,CACpE,GAAI,IAAO,GAAG,cACd,AAAI,CAAC,IAEL,IAAS,IAAU,GAEnB,GAAO,MAAM,UAAY,WACzB,GAAG,IAAI,GAAI,QAGP,IAAK,mBACT,IAAK,kBAAoB,GAEzB,KAAK,OAAO,WAAW,IACvB,GAAK,GAAK,GAAK,aAAe,GAAS,GAAS,GAE5C,KAAK,KAAK,YAAc,IAE1B,GAAU,cAAc,GAAI,IAI9B,AAAI,GAAG,mBAEL,IAAG,cAAgB,GAAG,mBACtB,MAAO,IAAG,oBACD,GAAK,aAEd,OAAO,IAAK,GACZ,MAAO,IAAG,cAEV,KAAK,OAAO,oBAKT,QAAM,CAAgB,UAAS,KAAM,KAAK,YAAY,IAAQ,SAAU,cAAe,OAAe,OA53E/F,GAAA,sBAAwB,2BAGxB,GAAA,MAAQ,GAGR,GAAA,OAAS,GAirDhB,GAAA,MAAQ,SC/3DjB,aAA+B,CAC7B,GAAM,IAAY,SAAS,eAAe,aAC1C,AAAI,IACF,GAAU,UAAU,UAIxB,aAAiC,CAC/B,GAAM,IAAY,SAAS,eAAe,aAC1C,AAAI,IACF,GAAU,UAAU,SAIxB,YACE,GACA,GACqC,iCAIrC,MAAO,MAAM,IAAwB,GAH1B,CACT,OAAQ,OAKL,aAA+B,CAGpC,GAAI,AADc,SAAS,eAAe,cACzB,KACf,OAIF,GAAI,IAAO,GAAU,KAAK,CACxB,WAAY,IACZ,YAAa,GACb,cAAe,GACf,UAAW,CACT,OAAQ,wCACR,SAAU,OACV,OAAQ,MAKN,GAAiB,SAAS,eAAe,kBAC/C,AAAI,IACF,GAAe,iBAAiB,QAAS,IAAM,CAC7C,OAKJ,GAAM,IAAmB,SAAS,eAAe,oBACjD,AAAI,IACF,GAAiB,iBAAiB,QAAS,IAAM,CAC/C,OAKJ,GAAM,IAAiB,SAAS,eAAe,kBAC/C,AAAI,KAAmB,MAGvB,GAAe,iBAAiB,QAAS,IAAM,CAC7C,GAAM,IAAM,GAAe,aAAa,YACxC,GAAI,IAAO,KACT,OAEF,GAAI,IAAW,GAAK,KAAK,IACzB,GAAoB,GAAK,IAAU,KAAK,IAAO,CAC7C,AAAI,GAAS,IAEX,AADc,GAAY,SAAU,gCAAiC,GAAI,OACnE,OAEN,SAAS,aCrEjB,YACE,GACA,GACM,CACN,OAAO,QACA,oBAAqB,CACxB,GAAiB,qBAAsB,IACvC,GAAiB,0BAA2B,IAC5C,UAEG,cAAe,CAClB,GAAiB,qBAAsB,IACvC,GAAiB,0BAA2B,IAC5C,UAEG,cAAe,CAClB,GAAiB,qBAAsB,IACvC,GAAiB,0BAA2B,IAC5C,QAKN,YACE,GACA,GACM,CApCR,UAqCE,GAAM,IAAW,WAAU,kBAAV,eAA2B,iBAAiB,MAA5C,QAAyD,GAC1E,OAAW,MAAW,IACpB,GAAQ,UAAU,OAAO,UAI7B,YACE,GACA,GACM,CA9CR,UA+CE,GAAM,IAAW,WAAU,kBAAV,eAA2B,iBAAiB,MAA5C,QAAyD,GAC1E,OAAW,MAAW,IACpB,GAAQ,UAAU,IAAI,UAO1B,YACE,GACA,GACM,CACN,GAAM,IAAI,OAAQ,IAClB,OAAW,MAAa,IAA+B,mBACrD,GAAY,GAAS,IAQlB,aAAmC,CACxC,GAAM,IAAc,GAAgB,IAAI,QAExC,OAAW,MAAW,IAA+B,oBACnD,GAAQ,cAAgB,CAAC,GAAG,GAAQ,SAAS,UAAU,IAAK,GAAE,OAAS,IACvE,GAAQ,iBACN,SACA,IAAS,CACP,GAAsB,GAAM,cAAsB,MAA4B,KAEhF,IAIJ,OAAW,MAAW,IAA+B,mBACnD,GAAQ,iBAAiB,OAAQ,IAAM,CACrC,GAAY,GAAa,MCpF/B,YAAyB,GAA+B,CACtD,GAAM,IAAmB,SAAS,eAAe,oBACjD,GAAI,IAAoB,KACtB,OAEF,GAAM,IAAY,GAAiB,aAAa,wBAChD,GAAI,IAAa,KACf,OAEF,GAAM,IAAS,SAAS,eAAe,IACvC,GAAI,IAAU,KACZ,OAGF,GAAM,IAAQ,GAAK,aAAa,cAC1B,GAAQ,GAAK,aAAa,cAGhC,GAAO,UAAU,UAAU,CACzB,GAAI,GACJ,QAAS,KAGX,GAAO,UAAU,QAAQ,IAKpB,aAAoC,CACzC,OAAW,MAAW,IAA+B,uBACnD,GAAQ,iBAAiB,QAAS,IAAM,GAAgB,KCzB5D,aAAiC,CAC/B,OAAW,MAAQ,CAAC,GAAa,GAAe,GAAa,GAAoB,GAAe,IAC9F,KAQG,aAA0B,CAC/B,SAAS,iBAAiB,mBAAoB,ICXhD,YAAiC,GAAoB,CACnD,GAAM,IAAc,GAAM,cACtB,GAAU,GAAY,QAAQ,MAAM,KAAK,GACvC,GAAY,IAEZ,GAAkB,MAAM,KAAK,GAAY,SAC5C,OAAO,IAAU,GAAO,UACxB,IAAI,IAAU,aAAa,GAAO,SAClC,KAAK,KAER,IAAW,GAAG,KAAY,KAC1B,SAAS,SAAS,KAAO,GAGpB,aAAuC,CAC5C,GAAM,IAAa,SAAS,eAAe,WAC3C,GAAI,GAAS,IAAa,CACxB,GAAM,IAAoB,SAAS,eAAe,gBAClD,AAAI,GAAS,KACX,GAAkB,iBAAiB,SAAU,KCTnD,aAA8B,CAC5B,OAAW,MAAQ,CACjB,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,GACA,IAEA,KAIJ,aAA4B,CAC1B,GAAM,IAAgB,SAAS,MAC/B,OAAW,MAAgB,IACzB,AAAI,GAAa,OAAO,eAAiB,OACvC,GAAa,iBAAiB,WAAY,SAAU,GAAsB,CACxE,GAAM,IAAqB,GAAM,SACjC,OAAW,CAAC,GAAM,KAAU,OAAM,KAAK,GAAS,WAC9C,AAAI,KAAU,IAAI,GAAS,OAAO,MAM1C,GAAM,IAAmB,SAAS,cAA2B,sBAC7D,AAAI,KAAqB,MAEvB,GAAiB,QAIrB,OAAO,iBAAiB,OAAQ,IAEhC,AAAI,SAAS,aAAe,UAC1B,KAEA,SAAS,iBAAiB,mBAAoB",
"names": []
}
diff --git a/netbox/project-static/package.json b/netbox/project-static/package.json
index c0ee79754..b28218201 100644
--- a/netbox/project-static/package.json
+++ b/netbox/project-static/package.json
@@ -27,7 +27,7 @@
"bootstrap": "5.3.3",
"clipboard": "2.0.11",
"flatpickr": "4.6.13",
- "gridstack": "10.2.1",
+ "gridstack": "10.3.0",
"htmx.org": "1.9.12",
"query-string": "9.0.0",
"sass": "1.77.6",
diff --git a/netbox/project-static/src/select/classes/dynamicTomSelect.ts b/netbox/project-static/src/select/classes/dynamicTomSelect.ts
index 758462b60..72c9fe518 100644
--- a/netbox/project-static/src/select/classes/dynamicTomSelect.ts
+++ b/netbox/project-static/src/select/classes/dynamicTomSelect.ts
@@ -74,20 +74,25 @@ export class DynamicTomSelect extends TomSelect {
load(value: string) {
const self = this;
- const url = self.getRequestUrl(value);
// Automatically clear any cached options. (Only options included
// in the API response should be present.)
self.clearOptions();
- addClasses(self.wrapper, self.settings.loadingClass);
- self.loading++;
-
// Populate the null option (if any) if not searching
if (self.nullOption && !value) {
self.addOption(self.nullOption);
}
+ // Get the API request URL. If none is provided, abort as no request can be made.
+ const url = self.getRequestUrl(value);
+ if (!url) {
+ return;
+ }
+
+ addClasses(self.wrapper, self.settings.loadingClass);
+ self.loading++;
+
// Make the API request
fetch(url)
.then(response => response.json())
@@ -129,6 +134,9 @@ export class DynamicTomSelect extends TomSelect {
for (const result of this.api_url.matchAll(new RegExp(`({{${key}}})`, 'g'))) {
if (value) {
url = replaceAll(url, result[1], value.toString());
+ } else {
+ // No value is available to replace the token; abort.
+ return '';
}
}
}
diff --git a/netbox/project-static/yarn.lock b/netbox/project-static/yarn.lock
index 6e5517d59..8e5960166 100644
--- a/netbox/project-static/yarn.lock
+++ b/netbox/project-static/yarn.lock
@@ -1754,10 +1754,10 @@ graphql@16.8.1:
resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.1.tgz#1930a965bef1170603702acdb68aedd3f3cf6f07"
integrity sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==
-gridstack@10.2.1:
- version "10.2.1"
- resolved "https://registry.yarnpkg.com/gridstack/-/gridstack-10.2.1.tgz#3ce6119ae86cfb0a533c5f0d15b03777a55384ca"
- integrity sha512-UAPKnIvd9sIqPDFMtKMqj0G5GDj8MUFPcelRJq7FzQFSxSYBblKts/Gd52iEJg0EvTFP51t6ZuMWGx0pSSFBdw==
+gridstack@10.3.0:
+ version "10.3.0"
+ resolved "https://registry.yarnpkg.com/gridstack/-/gridstack-10.3.0.tgz#8fa065f896d0a880c5c54c24d189f3197184488a"
+ integrity sha512-eGKsmU2TppV4coyDu9IIdIkm4qjgLLdjlEOFwQyQMuSwfOpzSfLdPc8du0HuebGr7CvAIrJxN4lBOmGrWSBg9g==
has-bigints@^1.0.1, has-bigints@^1.0.2:
version "1.0.2"
diff --git a/netbox/templates/core/system.html b/netbox/templates/core/system.html
index 4d133ca53..6f88643a0 100644
--- a/netbox/templates/core/system.html
+++ b/netbox/templates/core/system.html
@@ -93,7 +93,7 @@
- {% include 'core/inc/config_data.html' with config=config.data %}
+ {% include 'core/inc/config_data.html' %}
diff --git a/netbox/templates/dcim/device.html b/netbox/templates/dcim/device.html
index 50136f7a9..d9da53de2 100644
--- a/netbox/templates/dcim/device.html
+++ b/netbox/templates/dcim/device.html
@@ -125,28 +125,30 @@
-
- {% trans "Device" %}
- {% trans "Position" %}
- {% trans "Master" %}
- {% trans "Priority" %}
+
+
+ {% trans "Device" %}
+ {% trans "Position" %}
+ {% trans "Master" %}
+ {% trans "Priority" %}
+
+
{% for vc_member in vc_members %}
-
-
- {{ vc_member|linkify }}
-
-
- {% badge vc_member.vc_position show_empty=True %}
-
-
- {% if object.virtual_chassis.master == vc_member %} {% endif %}
-
-
- {{ vc_member.vc_priority|placeholder }}
-
-
+
+ {{ vc_member|linkify }}
+ {% badge vc_member.vc_position show_empty=True %}
+
+ {% if object.virtual_chassis.master == vc_member %}
+ {% checkmark True %}
+ {% else %}
+ {{ ''|placeholder }}
+ {% endif %}
+
+ {{ vc_member.vc_priority|placeholder }}
+
{% endfor %}
+
{% endif %}
@@ -221,6 +223,11 @@
{% if object.oob_ip %}
{{ object.oob_ip.address.ip }}
+ {% if object.oob_ip.nat_inside %}
+ ({% trans "NAT for" %} {{ object.oob_ip.nat_inside.address.ip }} )
+ {% elif object.oob_ip.nat_outside.exists %}
+ ({% trans "NAT" %}: {% for nat in object.oob_ip.nat_outside.all %}{{ nat.address.ip }} {% if not forloop.last %}, {% endif %}{% endfor %})
+ {% endif %}
{% copy_content "oob_ip" %}
{% else %}
{{ ''|placeholder }}
diff --git a/netbox/templates/generic/object_list.html b/netbox/templates/generic/object_list.html
index aa1f482bf..74e70f476 100644
--- a/netbox/templates/generic/object_list.html
+++ b/netbox/templates/generic/object_list.html
@@ -48,7 +48,7 @@ Context:
{% trans "Results" %}
- {% if table.page.paginator.count %}{{ table.page.paginator.count }}{% else %}{{ total_count }}{% endif %}
+ {% if table.page.paginator.count %}{{ table.page.paginator.count }}{% else %}{{ total_count|default:"0" }}{% endif %}
{% if filter_form %}
diff --git a/netbox/templates/inc/table_controls_htmx.html b/netbox/templates/inc/table_controls_htmx.html
index ec913d32a..a07b319ef 100644
--- a/netbox/templates/inc/table_controls_htmx.html
+++ b/netbox/templates/inc/table_controls_htmx.html
@@ -13,14 +13,16 @@
-
-
-
-
+ {% if filter_form %}
+
+
- {{ filter_form.filter_id }}
-
+ {% endif %}
{% if request.user.is_authenticated and table_modal %}
diff --git a/netbox/templates/ipam/vlan_edit.html b/netbox/templates/ipam/vlan_edit.html
index 3ee04980e..2db461dce 100644
--- a/netbox/templates/ipam/vlan_edit.html
+++ b/netbox/templates/ipam/vlan_edit.html
@@ -53,10 +53,6 @@
{% endwith %}
-
- {% render_field form.comments %}
-
-
{% if form.custom_fields %}
@@ -65,4 +61,8 @@
{% render_custom_fields form %}
{% endif %}
+
+
+ {% render_field form.comments %}
+
{% endblock %}
diff --git a/netbox/tenancy/views.py b/netbox/tenancy/views.py
index 06fbcc575..12bf4baab 100644
--- a/netbox/tenancy/views.py
+++ b/netbox/tenancy/views.py
@@ -13,6 +13,7 @@ class ObjectContactsView(generic.ObjectChildrenView):
child_model = ContactAssignment
table = tables.ContactAssignmentTable
filterset = filtersets.ContactAssignmentFilterSet
+ filterset_form = forms.ContactAssignmentFilterForm
template_name = 'tenancy/object_contacts.html'
tab = ViewTab(
label=_('Contacts'),
@@ -364,7 +365,7 @@ class ContactAssignmentEditView(generic.ObjectEditView):
def get_extra_addanother_params(self, request):
return {
- 'content_type': request.GET.get('content_type'),
+ 'object_type': request.GET.get('object_type'),
'object_id': request.GET.get('object_id'),
}
diff --git a/netbox/translations/de/LC_MESSAGES/django.mo b/netbox/translations/de/LC_MESSAGES/django.mo
index cc543ec2d..84520eb54 100644
Binary files a/netbox/translations/de/LC_MESSAGES/django.mo and b/netbox/translations/de/LC_MESSAGES/django.mo differ
diff --git a/netbox/translations/de/LC_MESSAGES/django.po b/netbox/translations/de/LC_MESSAGES/django.po
index 5aa80a0c4..7806ff6a3 100644
--- a/netbox/translations/de/LC_MESSAGES/django.po
+++ b/netbox/translations/de/LC_MESSAGES/django.po
@@ -8,6 +8,7 @@
# Martin R, 2024
# Niklas, 2024
# fepilins, 2024
+# Steffen, 2024
# Robin Reinhardt, 2024
# chbally, 2024
#
@@ -16,7 +17,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-06-22 05:02+0000\n"
+"POT-Creation-Date: 2024-07-09 05:02+0000\n"
"PO-Revision-Date: 2023-10-30 17:48+0000\n"
"Last-Translator: chbally, 2024\n"
"Language-Team: German (https://app.transifex.com/netbox-community/teams/178115/de/)\n"
@@ -116,8 +117,8 @@ msgstr "Stillgelegt"
#: netbox/dcim/filtersets.py:97 netbox/dcim/filtersets.py:151
#: netbox/dcim/filtersets.py:211 netbox/dcim/filtersets.py:297
#: netbox/dcim/filtersets.py:406 netbox/dcim/filtersets.py:969
-#: netbox/dcim/filtersets.py:1305 netbox/dcim/filtersets.py:1832
-#: netbox/dcim/filtersets.py:2075 netbox/dcim/filtersets.py:2133
+#: netbox/dcim/filtersets.py:1316 netbox/dcim/filtersets.py:1843
+#: netbox/dcim/filtersets.py:2086 netbox/dcim/filtersets.py:2144
#: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:945
#: netbox/virtualization/filtersets.py:45
#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:377
@@ -128,8 +129,8 @@ msgstr "Region (ID)"
#: netbox/dcim/filtersets.py:104 netbox/dcim/filtersets.py:157
#: netbox/dcim/filtersets.py:218 netbox/dcim/filtersets.py:304
#: netbox/dcim/filtersets.py:413 netbox/dcim/filtersets.py:976
-#: netbox/dcim/filtersets.py:1312 netbox/dcim/filtersets.py:1839
-#: netbox/dcim/filtersets.py:2082 netbox/dcim/filtersets.py:2140
+#: netbox/dcim/filtersets.py:1323 netbox/dcim/filtersets.py:1850
+#: netbox/dcim/filtersets.py:2093 netbox/dcim/filtersets.py:2151
#: netbox/extras/filtersets.py:461 netbox/ipam/filtersets.py:346
#: netbox/ipam/filtersets.py:952 netbox/virtualization/filtersets.py:52
#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:372
@@ -139,9 +140,9 @@ msgstr "Region (URL-Slug)"
#: netbox/circuits/filtersets.py:42 netbox/circuits/filtersets.py:209
#: netbox/dcim/filtersets.py:127 netbox/dcim/filtersets.py:224
#: netbox/dcim/filtersets.py:310 netbox/dcim/filtersets.py:419
-#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1318
-#: netbox/dcim/filtersets.py:1845 netbox/dcim/filtersets.py:2088
-#: netbox/dcim/filtersets.py:2146 netbox/ipam/filtersets.py:352
+#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1329
+#: netbox/dcim/filtersets.py:1856 netbox/dcim/filtersets.py:2099
+#: netbox/dcim/filtersets.py:2157 netbox/ipam/filtersets.py:352
#: netbox/ipam/filtersets.py:958 netbox/virtualization/filtersets.py:58
#: netbox/virtualization/filtersets.py:186
msgid "Site group (ID)"
@@ -150,9 +151,9 @@ msgstr "Standortgruppe (ID)"
#: netbox/circuits/filtersets.py:49 netbox/circuits/filtersets.py:216
#: netbox/dcim/filtersets.py:134 netbox/dcim/filtersets.py:231
#: netbox/dcim/filtersets.py:317 netbox/dcim/filtersets.py:426
-#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1325
-#: netbox/dcim/filtersets.py:1852 netbox/dcim/filtersets.py:2095
-#: netbox/dcim/filtersets.py:2153 netbox/extras/filtersets.py:467
+#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1336
+#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2106
+#: netbox/dcim/filtersets.py:2164 netbox/extras/filtersets.py:467
#: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:965
#: netbox/virtualization/filtersets.py:65
#: netbox/virtualization/filtersets.py:193
@@ -161,7 +162,7 @@ msgstr "Standortgruppe (URL-Slug)"
#: netbox/circuits/filtersets.py:54 netbox/circuits/forms/bulk_edit.py:186
#: netbox/circuits/forms/bulk_edit.py:214
-#: netbox/circuits/forms/bulk_import.py:126
+#: netbox/circuits/forms/bulk_import.py:123
#: netbox/circuits/forms/filtersets.py:49
#: netbox/circuits/forms/filtersets.py:169
#: netbox/circuits/forms/filtersets.py:207
@@ -170,15 +171,15 @@ msgstr "Standortgruppe (URL-Slug)"
#: netbox/circuits/tables/circuits.py:107 netbox/dcim/forms/bulk_edit.py:167
#: netbox/dcim/forms/bulk_edit.py:239 netbox/dcim/forms/bulk_edit.py:575
#: netbox/dcim/forms/bulk_edit.py:771 netbox/dcim/forms/bulk_import.py:130
-#: netbox/dcim/forms/bulk_import.py:184 netbox/dcim/forms/bulk_import.py:257
-#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1262
-#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:85
-#: netbox/dcim/forms/filtersets.py:218 netbox/dcim/forms/filtersets.py:265
-#: netbox/dcim/forms/filtersets.py:374 netbox/dcim/forms/filtersets.py:682
-#: netbox/dcim/forms/filtersets.py:916 netbox/dcim/forms/filtersets.py:940
-#: netbox/dcim/forms/filtersets.py:1030 netbox/dcim/forms/filtersets.py:1068
-#: netbox/dcim/forms/filtersets.py:1476 netbox/dcim/forms/filtersets.py:1500
-#: netbox/dcim/forms/filtersets.py:1524 netbox/dcim/forms/model_forms.py:136
+#: netbox/dcim/forms/bulk_import.py:181 netbox/dcim/forms/bulk_import.py:254
+#: netbox/dcim/forms/bulk_import.py:479 netbox/dcim/forms/bulk_import.py:1250
+#: netbox/dcim/forms/bulk_import.py:1278 netbox/dcim/forms/filtersets.py:86
+#: netbox/dcim/forms/filtersets.py:219 netbox/dcim/forms/filtersets.py:266
+#: netbox/dcim/forms/filtersets.py:375 netbox/dcim/forms/filtersets.py:684
+#: netbox/dcim/forms/filtersets.py:928 netbox/dcim/forms/filtersets.py:952
+#: netbox/dcim/forms/filtersets.py:1042 netbox/dcim/forms/filtersets.py:1080
+#: netbox/dcim/forms/filtersets.py:1488 netbox/dcim/forms/filtersets.py:1512
+#: netbox/dcim/forms/filtersets.py:1536 netbox/dcim/forms/model_forms.py:136
#: netbox/dcim/forms/model_forms.py:164 netbox/dcim/forms/model_forms.py:206
#: netbox/dcim/forms/model_forms.py:406 netbox/dcim/forms/model_forms.py:671
#: netbox/dcim/forms/object_create.py:391 netbox/dcim/tables/devices.py:150
@@ -277,8 +278,8 @@ msgstr "Transportnetz Typ (URL-Slug)"
#: netbox/circuits/filtersets.py:221 netbox/circuits/filtersets.py:266
#: netbox/dcim/filtersets.py:235 netbox/dcim/filtersets.py:321
#: netbox/dcim/filtersets.py:394 netbox/dcim/filtersets.py:993
-#: netbox/dcim/filtersets.py:1330 netbox/dcim/filtersets.py:1857
-#: netbox/dcim/filtersets.py:2099 netbox/dcim/filtersets.py:2158
+#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:1868
+#: netbox/dcim/filtersets.py:2110 netbox/dcim/filtersets.py:2169
#: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363
#: netbox/ipam/filtersets.py:969 netbox/virtualization/filtersets.py:69
#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:387
@@ -291,7 +292,7 @@ msgstr "Abschlusspunkt A (ID)"
#: netbox/circuits/filtersets.py:258 netbox/core/filtersets.py:73
#: netbox/core/filtersets.py:132 netbox/dcim/filtersets.py:693
-#: netbox/dcim/filtersets.py:1299 netbox/dcim/filtersets.py:2206
+#: netbox/dcim/filtersets.py:1310 netbox/dcim/filtersets.py:2217
#: netbox/extras/filtersets.py:41 netbox/extras/filtersets.py:63
#: netbox/extras/filtersets.py:92 netbox/extras/filtersets.py:127
#: netbox/extras/filtersets.py:176 netbox/extras/filtersets.py:204
@@ -308,11 +309,12 @@ msgstr "Abschlusspunkt A (ID)"
#: netbox/tenancy/filtersets.py:100 netbox/users/filtersets.py:23
#: netbox/users/filtersets.py:52 netbox/users/filtersets.py:92
#: netbox/users/filtersets.py:140 netbox/utilities/forms/forms.py:104
+#: netbox/utilities/templates/navigation/menu.html:16
msgid "Search"
msgstr "Suche"
#: netbox/circuits/filtersets.py:262 netbox/circuits/forms/bulk_edit.py:170
-#: netbox/circuits/forms/bulk_import.py:117
+#: netbox/circuits/forms/bulk_import.py:114
#: netbox/circuits/forms/filtersets.py:196
#: netbox/circuits/forms/filtersets.py:212
#: netbox/circuits/forms/model_forms.py:109
@@ -333,9 +335,9 @@ msgstr "Provider-Netzwerk (ID)"
#: netbox/circuits/forms/filtersets.py:54
#: netbox/circuits/forms/model_forms.py:27
#: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:127
-#: netbox/dcim/forms/filtersets.py:188 netbox/dcim/forms/model_forms.py:122
+#: netbox/dcim/forms/filtersets.py:189 netbox/dcim/forms/model_forms.py:122
#: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:210
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:213
#: netbox/netbox/navigation/menu.py:159 netbox/netbox/navigation/menu.py:162
#: netbox/templates/circuits/provider.html:23
msgid "ASNs"
@@ -473,7 +475,7 @@ msgstr "Beschreibung"
#: netbox/circuits/forms/bulk_edit.py:121
#: netbox/circuits/forms/bulk_import.py:35
#: netbox/circuits/forms/bulk_import.py:50
-#: netbox/circuits/forms/bulk_import.py:76
+#: netbox/circuits/forms/bulk_import.py:73
#: netbox/circuits/forms/filtersets.py:68
#: netbox/circuits/forms/filtersets.py:86
#: netbox/circuits/forms/filtersets.py:114
@@ -506,8 +508,8 @@ msgstr "Dienst ID"
#: netbox/circuits/forms/filtersets.py:105 netbox/dcim/forms/bulk_edit.py:205
#: netbox/dcim/forms/bulk_edit.py:502 netbox/dcim/forms/bulk_edit.py:702
#: netbox/dcim/forms/bulk_edit.py:1071 netbox/dcim/forms/bulk_edit.py:1098
-#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:983
-#: netbox/dcim/forms/filtersets.py:1359 netbox/dcim/forms/filtersets.py:1380
+#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:995
+#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392
#: netbox/dcim/tables/devices.py:687 netbox/dcim/tables/devices.py:744
#: netbox/dcim/tables/devices.py:968 netbox/dcim/tables/devicetypes.py:245
#: netbox/dcim/tables/devicetypes.py:260 netbox/dcim/tables/racks.py:32
@@ -523,7 +525,7 @@ msgid "Color"
msgstr "Farbe"
#: netbox/circuits/forms/bulk_edit.py:116
-#: netbox/circuits/forms/bulk_import.py:89
+#: netbox/circuits/forms/bulk_import.py:86
#: netbox/circuits/forms/filtersets.py:124 netbox/core/forms/bulk_edit.py:18
#: netbox/core/forms/filtersets.py:30 netbox/core/tables/data.py:20
#: netbox/core/tables/jobs.py:18 netbox/dcim/forms/bulk_edit.py:282
@@ -531,17 +533,17 @@ msgstr "Farbe"
#: netbox/dcim/forms/bulk_edit.py:887 netbox/dcim/forms/bulk_edit.py:906
#: netbox/dcim/forms/bulk_edit.py:929 netbox/dcim/forms/bulk_edit.py:971
#: netbox/dcim/forms/bulk_edit.py:1015 netbox/dcim/forms/bulk_edit.py:1066
-#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:214
-#: netbox/dcim/forms/bulk_import.py:653 netbox/dcim/forms/bulk_import.py:679
-#: netbox/dcim/forms/bulk_import.py:705 netbox/dcim/forms/bulk_import.py:725
-#: netbox/dcim/forms/bulk_import.py:808 netbox/dcim/forms/bulk_import.py:902
-#: netbox/dcim/forms/bulk_import.py:944 netbox/dcim/forms/bulk_import.py:1161
-#: netbox/dcim/forms/bulk_import.py:1327 netbox/dcim/forms/filtersets.py:287
-#: netbox/dcim/forms/filtersets.py:874 netbox/dcim/forms/filtersets.py:973
-#: netbox/dcim/forms/filtersets.py:1094 netbox/dcim/forms/filtersets.py:1164
-#: netbox/dcim/forms/filtersets.py:1186 netbox/dcim/forms/filtersets.py:1208
-#: netbox/dcim/forms/filtersets.py:1225 netbox/dcim/forms/filtersets.py:1259
-#: netbox/dcim/forms/filtersets.py:1354 netbox/dcim/forms/filtersets.py:1375
+#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:211
+#: netbox/dcim/forms/bulk_import.py:647 netbox/dcim/forms/bulk_import.py:673
+#: netbox/dcim/forms/bulk_import.py:699 netbox/dcim/forms/bulk_import.py:719
+#: netbox/dcim/forms/bulk_import.py:802 netbox/dcim/forms/bulk_import.py:896
+#: netbox/dcim/forms/bulk_import.py:938 netbox/dcim/forms/bulk_import.py:1152
+#: netbox/dcim/forms/bulk_import.py:1315 netbox/dcim/forms/filtersets.py:288
+#: netbox/dcim/forms/filtersets.py:886 netbox/dcim/forms/filtersets.py:985
+#: netbox/dcim/forms/filtersets.py:1106 netbox/dcim/forms/filtersets.py:1176
+#: netbox/dcim/forms/filtersets.py:1198 netbox/dcim/forms/filtersets.py:1220
+#: netbox/dcim/forms/filtersets.py:1237 netbox/dcim/forms/filtersets.py:1271
+#: netbox/dcim/forms/filtersets.py:1366 netbox/dcim/forms/filtersets.py:1387
#: netbox/dcim/forms/model_forms.py:646 netbox/dcim/forms/model_forms.py:652
#: netbox/dcim/forms/object_import.py:84
#: netbox/dcim/forms/object_import.py:113
@@ -580,14 +582,14 @@ msgid "Type"
msgstr "Typ"
#: netbox/circuits/forms/bulk_edit.py:126
-#: netbox/circuits/forms/bulk_import.py:82
+#: netbox/circuits/forms/bulk_import.py:79
#: netbox/circuits/forms/filtersets.py:137
#: netbox/circuits/forms/model_forms.py:96
msgid "Provider account"
msgstr "Provider-Konto"
#: netbox/circuits/forms/bulk_edit.py:134
-#: netbox/circuits/forms/bulk_import.py:95
+#: netbox/circuits/forms/bulk_import.py:92
#: netbox/circuits/forms/filtersets.py:148 netbox/core/forms/filtersets.py:35
#: netbox/core/forms/filtersets.py:76 netbox/core/tables/data.py:23
#: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88
@@ -596,13 +598,13 @@ msgstr "Provider-Konto"
#: netbox/dcim/forms/bulk_edit.py:654 netbox/dcim/forms/bulk_edit.py:686
#: netbox/dcim/forms/bulk_edit.py:813 netbox/dcim/forms/bulk_edit.py:1594
#: netbox/dcim/forms/bulk_import.py:87 netbox/dcim/forms/bulk_import.py:146
-#: netbox/dcim/forms/bulk_import.py:202 netbox/dcim/forms/bulk_import.py:450
-#: netbox/dcim/forms/bulk_import.py:604 netbox/dcim/forms/bulk_import.py:1155
-#: netbox/dcim/forms/bulk_import.py:1322 netbox/dcim/forms/bulk_import.py:1386
-#: netbox/dcim/forms/filtersets.py:171 netbox/dcim/forms/filtersets.py:230
-#: netbox/dcim/forms/filtersets.py:282 netbox/dcim/forms/filtersets.py:728
-#: netbox/dcim/forms/filtersets.py:843 netbox/dcim/forms/filtersets.py:877
-#: netbox/dcim/forms/filtersets.py:978 netbox/dcim/forms/filtersets.py:1089
+#: netbox/dcim/forms/bulk_import.py:199 netbox/dcim/forms/bulk_import.py:444
+#: netbox/dcim/forms/bulk_import.py:598 netbox/dcim/forms/bulk_import.py:1146
+#: netbox/dcim/forms/bulk_import.py:1310 netbox/dcim/forms/bulk_import.py:1374
+#: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:231
+#: netbox/dcim/forms/filtersets.py:283 netbox/dcim/forms/filtersets.py:730
+#: netbox/dcim/forms/filtersets.py:855 netbox/dcim/forms/filtersets.py:889
+#: netbox/dcim/forms/filtersets.py:990 netbox/dcim/forms/filtersets.py:1101
#: netbox/dcim/tables/devices.py:137 netbox/dcim/tables/devices.py:800
#: netbox/dcim/tables/devices.py:1028 netbox/dcim/tables/modules.py:69
#: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:66
@@ -620,7 +622,7 @@ msgstr "Provider-Konto"
#: netbox/templates/circuits/circuit.html:34
#: netbox/templates/core/datasource.html:46 netbox/templates/core/job.html:30
#: netbox/templates/core/rq_task.html:81 netbox/templates/core/system.html:18
-#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:176
+#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:178
#: netbox/templates/dcim/location.html:45 netbox/templates/dcim/module.html:66
#: netbox/templates/dcim/powerfeed.html:36 netbox/templates/dcim/rack.html:43
#: netbox/templates/dcim/site.html:43
@@ -656,20 +658,20 @@ msgid "Status"
msgstr "Status"
#: netbox/circuits/forms/bulk_edit.py:140
-#: netbox/circuits/forms/bulk_import.py:100
+#: netbox/circuits/forms/bulk_import.py:97
#: netbox/circuits/forms/filtersets.py:117 netbox/dcim/forms/bulk_edit.py:121
#: netbox/dcim/forms/bulk_edit.py:186 netbox/dcim/forms/bulk_edit.py:256
#: netbox/dcim/forms/bulk_edit.py:368 netbox/dcim/forms/bulk_edit.py:588
#: netbox/dcim/forms/bulk_edit.py:692 netbox/dcim/forms/bulk_edit.py:1599
#: netbox/dcim/forms/bulk_import.py:106 netbox/dcim/forms/bulk_import.py:151
-#: netbox/dcim/forms/bulk_import.py:195 netbox/dcim/forms/bulk_import.py:282
-#: netbox/dcim/forms/bulk_import.py:424 netbox/dcim/forms/bulk_import.py:1167
-#: netbox/dcim/forms/bulk_import.py:1379 netbox/dcim/forms/filtersets.py:166
-#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:249
-#: netbox/dcim/forms/filtersets.py:334 netbox/dcim/forms/filtersets.py:355
-#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:835
-#: netbox/dcim/forms/filtersets.py:897 netbox/dcim/forms/filtersets.py:927
-#: netbox/dcim/forms/filtersets.py:1049 netbox/dcim/tables/power.py:88
+#: netbox/dcim/forms/bulk_import.py:192 netbox/dcim/forms/bulk_import.py:279
+#: netbox/dcim/forms/bulk_import.py:418 netbox/dcim/forms/bulk_import.py:1158
+#: netbox/dcim/forms/bulk_import.py:1367 netbox/dcim/forms/filtersets.py:167
+#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250
+#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:356
+#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:847
+#: netbox/dcim/forms/filtersets.py:909 netbox/dcim/forms/filtersets.py:939
+#: netbox/dcim/forms/filtersets.py:1061 netbox/dcim/tables/power.py:88
#: netbox/extras/filtersets.py:564 netbox/extras/forms/filtersets.py:332
#: netbox/extras/forms/filtersets.py:405 netbox/ipam/forms/bulk_edit.py:41
#: netbox/ipam/forms/bulk_edit.py:66 netbox/ipam/forms/bulk_edit.py:110
@@ -808,29 +810,22 @@ msgstr "Einzelheiten zum Abschlusspunkt"
#: netbox/circuits/forms/bulk_import.py:38
#: netbox/circuits/forms/bulk_import.py:53
-#: netbox/circuits/forms/bulk_import.py:79
+#: netbox/circuits/forms/bulk_import.py:76
msgid "Assigned provider"
msgstr "Zugewiesener Provider"
-#: netbox/circuits/forms/bulk_import.py:70
-#: netbox/dcim/forms/bulk_import.py:178 netbox/dcim/forms/bulk_import.py:388
-#: netbox/dcim/forms/bulk_import.py:1108 netbox/dcim/forms/bulk_import.py:1187
-#: netbox/extras/forms/bulk_import.py:232
-msgid "RGB color in hexadecimal. Example:"
-msgstr "RGB-Farbe in Hexadezimal. Beispiel:"
-
-#: netbox/circuits/forms/bulk_import.py:85
+#: netbox/circuits/forms/bulk_import.py:82
msgid "Assigned provider account"
msgstr "Zugewiesenes Providerkonto"
-#: netbox/circuits/forms/bulk_import.py:92
+#: netbox/circuits/forms/bulk_import.py:89
msgid "Type of circuit"
msgstr "Transportnetz Typ"
-#: netbox/circuits/forms/bulk_import.py:97 netbox/dcim/forms/bulk_import.py:89
-#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:204
-#: netbox/dcim/forms/bulk_import.py:452 netbox/dcim/forms/bulk_import.py:606
-#: netbox/dcim/forms/bulk_import.py:1324 netbox/ipam/forms/bulk_import.py:193
+#: netbox/circuits/forms/bulk_import.py:94 netbox/dcim/forms/bulk_import.py:89
+#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:201
+#: netbox/dcim/forms/bulk_import.py:446 netbox/dcim/forms/bulk_import.py:600
+#: netbox/dcim/forms/bulk_import.py:1312 netbox/ipam/forms/bulk_import.py:193
#: netbox/ipam/forms/bulk_import.py:258 netbox/ipam/forms/bulk_import.py:294
#: netbox/ipam/forms/bulk_import.py:460
#: netbox/virtualization/forms/bulk_import.py:56
@@ -839,11 +834,11 @@ msgstr "Transportnetz Typ"
msgid "Operational status"
msgstr "Betriebsstatus"
-#: netbox/circuits/forms/bulk_import.py:104
+#: netbox/circuits/forms/bulk_import.py:101
#: netbox/dcim/forms/bulk_import.py:110 netbox/dcim/forms/bulk_import.py:155
-#: netbox/dcim/forms/bulk_import.py:286 netbox/dcim/forms/bulk_import.py:428
-#: netbox/dcim/forms/bulk_import.py:1171 netbox/dcim/forms/bulk_import.py:1319
-#: netbox/dcim/forms/bulk_import.py:1383 netbox/ipam/forms/bulk_import.py:41
+#: netbox/dcim/forms/bulk_import.py:283 netbox/dcim/forms/bulk_import.py:422
+#: netbox/dcim/forms/bulk_import.py:1162 netbox/dcim/forms/bulk_import.py:1307
+#: netbox/dcim/forms/bulk_import.py:1371 netbox/ipam/forms/bulk_import.py:41
#: netbox/ipam/forms/bulk_import.py:70 netbox/ipam/forms/bulk_import.py:98
#: netbox/ipam/forms/bulk_import.py:118 netbox/ipam/forms/bulk_import.py:138
#: netbox/ipam/forms/bulk_import.py:167 netbox/ipam/forms/bulk_import.py:253
@@ -855,7 +850,7 @@ msgstr "Betriebsstatus"
msgid "Assigned tenant"
msgstr "Zugewiesener Mandant"
-#: netbox/circuits/forms/bulk_import.py:122
+#: netbox/circuits/forms/bulk_import.py:119
#: netbox/templates/circuits/inc/circuit_termination.html:6
#: netbox/templates/circuits/inc/circuit_termination_fields.html:15
#: netbox/templates/dcim/cable.html:68 netbox/templates/dcim/cable.html:72
@@ -863,7 +858,7 @@ msgstr "Zugewiesener Mandant"
msgid "Termination"
msgstr "Abschlusspunkt"
-#: netbox/circuits/forms/bulk_import.py:132
+#: netbox/circuits/forms/bulk_import.py:129
#: netbox/circuits/forms/filtersets.py:145
#: netbox/circuits/forms/filtersets.py:225
#: netbox/circuits/forms/model_forms.py:142
@@ -875,20 +870,20 @@ msgstr "Provider-Netzwerk"
#: netbox/circuits/forms/filtersets.py:198 netbox/dcim/forms/bulk_edit.py:248
#: netbox/dcim/forms/bulk_edit.py:346 netbox/dcim/forms/bulk_edit.py:580
#: netbox/dcim/forms/bulk_edit.py:627 netbox/dcim/forms/bulk_edit.py:780
-#: netbox/dcim/forms/bulk_import.py:189 netbox/dcim/forms/bulk_import.py:263
-#: netbox/dcim/forms/bulk_import.py:491 netbox/dcim/forms/bulk_import.py:1268
-#: netbox/dcim/forms/bulk_import.py:1302 netbox/dcim/forms/filtersets.py:93
-#: netbox/dcim/forms/filtersets.py:246 netbox/dcim/forms/filtersets.py:279
-#: netbox/dcim/forms/filtersets.py:331 netbox/dcim/forms/filtersets.py:382
-#: netbox/dcim/forms/filtersets.py:649 netbox/dcim/forms/filtersets.py:691
-#: netbox/dcim/forms/filtersets.py:896 netbox/dcim/forms/filtersets.py:925
-#: netbox/dcim/forms/filtersets.py:945 netbox/dcim/forms/filtersets.py:1009
-#: netbox/dcim/forms/filtersets.py:1039 netbox/dcim/forms/filtersets.py:1048
-#: netbox/dcim/forms/filtersets.py:1159 netbox/dcim/forms/filtersets.py:1181
-#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1220
-#: netbox/dcim/forms/filtersets.py:1240 netbox/dcim/forms/filtersets.py:1348
-#: netbox/dcim/forms/filtersets.py:1370 netbox/dcim/forms/filtersets.py:1391
-#: netbox/dcim/forms/filtersets.py:1406 netbox/dcim/forms/filtersets.py:1420
+#: netbox/dcim/forms/bulk_import.py:186 netbox/dcim/forms/bulk_import.py:260
+#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1256
+#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:94
+#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:280
+#: netbox/dcim/forms/filtersets.py:332 netbox/dcim/forms/filtersets.py:383
+#: netbox/dcim/forms/filtersets.py:650 netbox/dcim/forms/filtersets.py:693
+#: netbox/dcim/forms/filtersets.py:908 netbox/dcim/forms/filtersets.py:937
+#: netbox/dcim/forms/filtersets.py:957 netbox/dcim/forms/filtersets.py:1021
+#: netbox/dcim/forms/filtersets.py:1051 netbox/dcim/forms/filtersets.py:1060
+#: netbox/dcim/forms/filtersets.py:1171 netbox/dcim/forms/filtersets.py:1193
+#: netbox/dcim/forms/filtersets.py:1215 netbox/dcim/forms/filtersets.py:1232
+#: netbox/dcim/forms/filtersets.py:1252 netbox/dcim/forms/filtersets.py:1360
+#: netbox/dcim/forms/filtersets.py:1382 netbox/dcim/forms/filtersets.py:1403
+#: netbox/dcim/forms/filtersets.py:1418 netbox/dcim/forms/filtersets.py:1432
#: netbox/dcim/forms/model_forms.py:179 netbox/dcim/forms/model_forms.py:211
#: netbox/dcim/forms/model_forms.py:411 netbox/dcim/forms/model_forms.py:676
#: netbox/dcim/tables/devices.py:154 netbox/dcim/tables/power.py:30
@@ -911,14 +906,14 @@ msgid "Location"
msgstr "Lokation"
#: netbox/circuits/forms/filtersets.py:30
-#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:137
-#: netbox/dcim/forms/filtersets.py:151 netbox/dcim/forms/filtersets.py:167
-#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250
-#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:406
-#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:1010
+#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:138
+#: netbox/dcim/forms/filtersets.py:152 netbox/dcim/forms/filtersets.py:168
+#: netbox/dcim/forms/filtersets.py:200 netbox/dcim/forms/filtersets.py:251
+#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:407
+#: netbox/dcim/forms/filtersets.py:654 netbox/dcim/forms/filtersets.py:1022
#: netbox/netbox/navigation/menu.py:44 netbox/netbox/navigation/menu.py:46
#: netbox/tenancy/forms/filtersets.py:42 netbox/tenancy/tables/columns.py:70
-#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:18
+#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:19
#: netbox/virtualization/forms/filtersets.py:37
#: netbox/virtualization/forms/filtersets.py:48
#: netbox/virtualization/forms/filtersets.py:106
@@ -928,13 +923,13 @@ msgstr "Kontakte"
#: netbox/circuits/forms/filtersets.py:35
#: netbox/circuits/forms/filtersets.py:155 netbox/dcim/forms/bulk_edit.py:111
#: netbox/dcim/forms/bulk_edit.py:223 netbox/dcim/forms/bulk_edit.py:755
-#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:71
-#: netbox/dcim/forms/filtersets.py:178 netbox/dcim/forms/filtersets.py:204
-#: netbox/dcim/forms/filtersets.py:257 netbox/dcim/forms/filtersets.py:360
-#: netbox/dcim/forms/filtersets.py:668 netbox/dcim/forms/filtersets.py:902
-#: netbox/dcim/forms/filtersets.py:932 netbox/dcim/forms/filtersets.py:1016
-#: netbox/dcim/forms/filtersets.py:1055 netbox/dcim/forms/filtersets.py:1468
-#: netbox/dcim/forms/filtersets.py:1492 netbox/dcim/forms/filtersets.py:1516
+#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:72
+#: netbox/dcim/forms/filtersets.py:179 netbox/dcim/forms/filtersets.py:205
+#: netbox/dcim/forms/filtersets.py:258 netbox/dcim/forms/filtersets.py:361
+#: netbox/dcim/forms/filtersets.py:670 netbox/dcim/forms/filtersets.py:914
+#: netbox/dcim/forms/filtersets.py:944 netbox/dcim/forms/filtersets.py:1028
+#: netbox/dcim/forms/filtersets.py:1067 netbox/dcim/forms/filtersets.py:1480
+#: netbox/dcim/forms/filtersets.py:1504 netbox/dcim/forms/filtersets.py:1528
#: netbox/dcim/forms/model_forms.py:111 netbox/dcim/forms/object_create.py:375
#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/sites.py:85
#: netbox/extras/filtersets.py:455 netbox/ipam/forms/bulk_edit.py:206
@@ -955,11 +950,11 @@ msgstr "Region"
#: netbox/circuits/forms/filtersets.py:40
#: netbox/circuits/forms/filtersets.py:160 netbox/dcim/forms/bulk_edit.py:231
-#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:76
-#: netbox/dcim/forms/filtersets.py:183 netbox/dcim/forms/filtersets.py:209
-#: netbox/dcim/forms/filtersets.py:270 netbox/dcim/forms/filtersets.py:365
-#: netbox/dcim/forms/filtersets.py:673 netbox/dcim/forms/filtersets.py:907
-#: netbox/dcim/forms/filtersets.py:1021 netbox/dcim/forms/filtersets.py:1060
+#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:77
+#: netbox/dcim/forms/filtersets.py:184 netbox/dcim/forms/filtersets.py:210
+#: netbox/dcim/forms/filtersets.py:271 netbox/dcim/forms/filtersets.py:366
+#: netbox/dcim/forms/filtersets.py:675 netbox/dcim/forms/filtersets.py:919
+#: netbox/dcim/forms/filtersets.py:1033 netbox/dcim/forms/filtersets.py:1072
#: netbox/dcim/forms/object_create.py:383 netbox/extras/filtersets.py:472
#: netbox/ipam/forms/bulk_edit.py:211 netbox/ipam/forms/bulk_edit.py:445
#: netbox/ipam/forms/bulk_edit.py:517 netbox/ipam/forms/filtersets.py:222
@@ -976,14 +971,14 @@ msgstr "Standortgruppe"
#: netbox/circuits/forms/filtersets.py:81
#: netbox/circuits/forms/filtersets.py:100
#: netbox/circuits/forms/filtersets.py:115 netbox/core/forms/filtersets.py:64
-#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:165
-#: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/filtersets.py:834
-#: netbox/dcim/forms/filtersets.py:926 netbox/dcim/forms/filtersets.py:1050
-#: netbox/dcim/forms/filtersets.py:1158 netbox/dcim/forms/filtersets.py:1180
-#: netbox/dcim/forms/filtersets.py:1202 netbox/dcim/forms/filtersets.py:1219
-#: netbox/dcim/forms/filtersets.py:1236 netbox/dcim/forms/filtersets.py:1347
-#: netbox/dcim/forms/filtersets.py:1369 netbox/dcim/forms/filtersets.py:1390
-#: netbox/dcim/forms/filtersets.py:1405 netbox/dcim/forms/filtersets.py:1418
+#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:166
+#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:846
+#: netbox/dcim/forms/filtersets.py:938 netbox/dcim/forms/filtersets.py:1062
+#: netbox/dcim/forms/filtersets.py:1170 netbox/dcim/forms/filtersets.py:1192
+#: netbox/dcim/forms/filtersets.py:1214 netbox/dcim/forms/filtersets.py:1231
+#: netbox/dcim/forms/filtersets.py:1248 netbox/dcim/forms/filtersets.py:1359
+#: netbox/dcim/forms/filtersets.py:1381 netbox/dcim/forms/filtersets.py:1402
+#: netbox/dcim/forms/filtersets.py:1417 netbox/dcim/forms/filtersets.py:1430
#: netbox/extras/forms/filtersets.py:43 netbox/extras/forms/filtersets.py:112
#: netbox/extras/forms/filtersets.py:143 netbox/extras/forms/filtersets.py:183
#: netbox/extras/forms/filtersets.py:199 netbox/extras/forms/filtersets.py:230
@@ -1012,7 +1007,7 @@ msgstr "Konto"
#: netbox/circuits/forms/filtersets.py:215
msgid "Term Side"
-msgstr "Begriffsseite"
+msgstr "Terminationsseite"
#: netbox/circuits/models/circuits.py:25 netbox/dcim/models/cables.py:67
#: netbox/dcim/models/device_component_templates.py:491
@@ -1120,7 +1115,7 @@ msgstr "Patchpanel-ID und Anschlussnummer(n)"
#: netbox/dcim/models/device_component_templates.py:61
#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:538
#: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219
-#: netbox/extras/models/customfields.py:123 netbox/extras/models/models.py:60
+#: netbox/extras/models/customfields.py:124 netbox/extras/models/models.py:60
#: netbox/extras/models/models.py:186 netbox/extras/models/models.py:424
#: netbox/extras/models/models.py:539 netbox/extras/models/staging.py:32
#: netbox/extras/models/tags.py:32 netbox/netbox/models/__init__.py:109
@@ -1163,7 +1158,7 @@ msgstr ""
#: netbox/dcim/models/devices.py:1360 netbox/dcim/models/power.py:39
#: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:63
#: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36
-#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:90
+#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:91
#: netbox/extras/models/models.py:55 netbox/extras/models/models.py:181
#: netbox/extras/models/models.py:324 netbox/extras/models/models.py:420
#: netbox/extras/models/models.py:529 netbox/extras/models/models.py:624
@@ -1236,7 +1231,7 @@ msgstr "Providernetzwerke"
#: netbox/circuits/tables/providers.py:99 netbox/core/tables/data.py:16
#: netbox/core/tables/jobs.py:14 netbox/core/tables/plugins.py:13
#: netbox/core/tables/tasks.py:11 netbox/core/tables/tasks.py:115
-#: netbox/dcim/forms/filtersets.py:61 netbox/dcim/forms/object_create.py:43
+#: netbox/dcim/forms/filtersets.py:62 netbox/dcim/forms/object_create.py:43
#: netbox/dcim/tables/devices.py:52 netbox/dcim/tables/devices.py:89
#: netbox/dcim/tables/devices.py:131 netbox/dcim/tables/devices.py:286
#: netbox/dcim/tables/devices.py:380 netbox/dcim/tables/devices.py:421
@@ -1548,7 +1543,7 @@ msgstr "Datenquelle (Name)"
#: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:40
#: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1020
-#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1276
+#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1288
#: netbox/dcim/tables/devices.py:541 netbox/dcim/tables/devicetypes.py:221
#: netbox/extras/forms/bulk_edit.py:98 netbox/extras/forms/bulk_edit.py:162
#: netbox/extras/forms/bulk_edit.py:221 netbox/extras/forms/filtersets.py:120
@@ -1651,7 +1646,7 @@ msgid "Completed before"
msgstr "Abgeschlossen vor"
#: netbox/core/forms/filtersets.py:123 netbox/dcim/forms/bulk_edit.py:361
-#: netbox/dcim/forms/filtersets.py:353 netbox/dcim/forms/filtersets.py:397
+#: netbox/dcim/forms/filtersets.py:354 netbox/dcim/forms/filtersets.py:398
#: netbox/dcim/forms/model_forms.py:258 netbox/extras/forms/filtersets.py:465
#: netbox/extras/forms/filtersets.py:505
#: netbox/templates/dcim/rackreservation.html:58
@@ -1736,7 +1731,7 @@ msgstr "Validierung"
msgid "User Preferences"
msgstr "Benutzereinstellungen"
-#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:661
+#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:663
#: netbox/templates/core/inc/config_data.html:127
#: netbox/users/forms/model_forms.py:65
msgid "Miscellaneous"
@@ -1812,7 +1807,7 @@ msgstr "Konfigurationsrevision #{id}"
#: netbox/dcim/models/device_components.py:971
#: netbox/dcim/models/device_components.py:1045
#: netbox/dcim/models/power.py:102 netbox/dcim/models/racks.py:128
-#: netbox/extras/models/customfields.py:76 netbox/extras/models/search.py:41
+#: netbox/extras/models/customfields.py:77 netbox/extras/models/search.py:41
#: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32
msgid "type"
msgstr "Typ"
@@ -1893,7 +1888,7 @@ msgstr "Größe"
#: netbox/core/models/data.py:306
msgid "hash"
-msgstr "Hash"
+msgstr "Prüfsumme"
#: netbox/core/models/data.py:310
msgid "Length must be 64 hexadecimal characters."
@@ -2126,7 +2121,7 @@ msgstr "Position (HE)"
#: netbox/dcim/api/serializers_/racks.py:45 netbox/templates/dcim/rack.html:30
msgid "Facility ID"
-msgstr "Einrichtung ID"
+msgstr "Einrichtungs-ID"
#: netbox/dcim/choices.py:21 netbox/virtualization/choices.py:21
msgid "Staging"
@@ -2140,7 +2135,7 @@ msgstr "Außerbetriebnahme"
#: netbox/dcim/choices.py:24
msgid "Retired"
-msgstr "Ruhestand"
+msgstr "Ausser Dienst"
#: netbox/dcim/choices.py:65
msgid "2-post frame"
@@ -2182,7 +2177,7 @@ msgstr "{n} Zoll"
msgid "Reserved"
msgstr "Reserviert"
-#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:252
+#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:259
msgid "Available"
msgstr "Verfügbar"
@@ -2204,8 +2199,8 @@ msgstr "Zoll"
#: netbox/dcim/forms/bulk_edit.py:86 netbox/dcim/forms/bulk_edit.py:172
#: netbox/dcim/forms/bulk_edit.py:1298 netbox/dcim/forms/bulk_import.py:59
#: netbox/dcim/forms/bulk_import.py:73 netbox/dcim/forms/bulk_import.py:136
-#: netbox/dcim/forms/bulk_import.py:511 netbox/dcim/forms/bulk_import.py:778
-#: netbox/dcim/forms/bulk_import.py:1033 netbox/dcim/forms/filtersets.py:227
+#: netbox/dcim/forms/bulk_import.py:505 netbox/dcim/forms/bulk_import.py:772
+#: netbox/dcim/forms/bulk_import.py:1027 netbox/dcim/forms/filtersets.py:228
#: netbox/dcim/forms/model_forms.py:73 netbox/dcim/forms/model_forms.py:92
#: netbox/dcim/forms/model_forms.py:169 netbox/dcim/forms/model_forms.py:1010
#: netbox/dcim/forms/model_forms.py:1449
@@ -2239,14 +2234,14 @@ msgstr "Übergeordnet"
msgid "Child"
msgstr "Untergeordnet"
-#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:332
+#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:339
#: netbox/templates/dcim/rack.html:175
#: netbox/templates/dcim/rack_elevation_list.html:20
#: netbox/templates/dcim/rackreservation.html:76
msgid "Front"
msgstr "Frontseite"
-#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:338
+#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:345
#: netbox/templates/dcim/rack.html:181
#: netbox/templates/dcim/rack_elevation_list.html:21
#: netbox/templates/dcim/rackreservation.html:82
@@ -2330,7 +2325,7 @@ msgid "Virtual"
msgstr "Virtuell"
#: netbox/dcim/choices.py:814 netbox/dcim/choices.py:1051
-#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1239
+#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1251
#: netbox/dcim/forms/model_forms.py:936 netbox/dcim/forms/model_forms.py:1344
#: netbox/netbox/navigation/menu.py:127 netbox/netbox/navigation/menu.py:131
#: netbox/templates/dcim/interface.html:210
@@ -2342,14 +2337,14 @@ msgid "Virtual interfaces"
msgstr "Virtuelle Schnittstellen"
#: netbox/dcim/choices.py:979 netbox/dcim/forms/bulk_edit.py:1303
-#: netbox/dcim/forms/bulk_import.py:785 netbox/dcim/forms/model_forms.py:922
+#: netbox/dcim/forms/bulk_import.py:779 netbox/dcim/forms/model_forms.py:922
#: netbox/dcim/tables/devices.py:644 netbox/templates/dcim/interface.html:106
#: netbox/templates/virtualization/vminterface.html:43
#: netbox/virtualization/forms/bulk_edit.py:212
#: netbox/virtualization/forms/bulk_import.py:158
#: netbox/virtualization/tables/virtualmachines.py:159
msgid "Bridge"
-msgstr "Brücke"
+msgstr "Bridge"
#: netbox/dcim/choices.py:980
msgid "Link Aggregation Group (LAG)"
@@ -2365,15 +2360,15 @@ msgstr "Ethernet (modular)"
#: netbox/dcim/choices.py:1035
msgid "Ethernet (backplane)"
-msgstr "Ethernet (Rückwandplatine)"
+msgstr "Ethernet (Backplane)"
#: netbox/dcim/choices.py:1065
msgid "Cellular"
msgstr "Mobilfunk"
-#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:303
-#: netbox/dcim/forms/filtersets.py:738 netbox/dcim/forms/filtersets.py:882
-#: netbox/dcim/forms/filtersets.py:1434
+#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:304
+#: netbox/dcim/forms/filtersets.py:740 netbox/dcim/forms/filtersets.py:894
+#: netbox/dcim/forms/filtersets.py:1446
#: netbox/templates/dcim/inventoryitem.html:52
#: netbox/templates/dcim/virtualchassis_edit.html:54
msgid "Serial"
@@ -2446,7 +2441,7 @@ msgstr "Glasfaser"
msgid "Fiber"
msgstr "Faser"
-#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1146
+#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1158
msgid "Connected"
msgstr "Verbunden"
@@ -2470,7 +2465,7 @@ msgstr "Meilen"
msgid "Feet"
msgstr "Fuß"
-#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:320
+#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:327
#: netbox/templates/dcim/rack.html:152
msgid "Kilograms"
msgstr "Kilogramm"
@@ -2544,33 +2539,33 @@ msgstr "AS (ID)"
#: netbox/dcim/filtersets.py:245
msgid "Parent location (ID)"
-msgstr "Übergeordneter Lokation (ID)"
+msgstr "Übergeordnete Lokation (ID)"
#: netbox/dcim/filtersets.py:251
msgid "Parent location (slug)"
-msgstr "Übergeordneter Lokation (URL-Slug)"
+msgstr "Übergeordnete Lokation (URL-Slug)"
#: netbox/dcim/filtersets.py:257 netbox/dcim/filtersets.py:333
#: netbox/dcim/filtersets.py:432 netbox/dcim/filtersets.py:1005
-#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:2111
+#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2122
msgid "Location (ID)"
msgstr "Lokation (ID)"
#: netbox/dcim/filtersets.py:264 netbox/dcim/filtersets.py:340
-#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1347
+#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1358
#: netbox/extras/filtersets.py:494
msgid "Location (slug)"
msgstr "Lokation (URL-Slug)"
#: netbox/dcim/filtersets.py:354 netbox/dcim/filtersets.py:840
-#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1779
+#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1790
#: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493
#: netbox/ipam/filtersets.py:989 netbox/virtualization/filtersets.py:210
msgid "Role (ID)"
msgstr "Rolle (ID)"
#: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:846
-#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1785
+#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1796
#: netbox/extras/filtersets.py:510 netbox/ipam/filtersets.py:387
#: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:995
#: netbox/virtualization/filtersets.py:216
@@ -2578,7 +2573,7 @@ msgid "Role (slug)"
msgstr "Rolle (URL-Slug)"
#: netbox/dcim/filtersets.py:389 netbox/dcim/filtersets.py:1010
-#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2173
+#: netbox/dcim/filtersets.py:1363 netbox/dcim/filtersets.py:2184
msgid "Rack (ID)"
msgstr "Rack (ID)"
@@ -2596,15 +2591,15 @@ msgstr "Benutzer (Name)"
#: netbox/dcim/filtersets.py:481 netbox/dcim/filtersets.py:620
#: netbox/dcim/filtersets.py:830 netbox/dcim/filtersets.py:881
-#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1243
-#: netbox/dcim/filtersets.py:1769
+#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1254
+#: netbox/dcim/filtersets.py:1780
msgid "Manufacturer (ID)"
msgstr "Hersteller (ID)"
#: netbox/dcim/filtersets.py:487 netbox/dcim/filtersets.py:626
#: netbox/dcim/filtersets.py:836 netbox/dcim/filtersets.py:887
-#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1249
-#: netbox/dcim/filtersets.py:1775
+#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1260
+#: netbox/dcim/filtersets.py:1786
msgid "Manufacturer (slug)"
msgstr "Hersteller (Slug)"
@@ -2616,83 +2611,83 @@ msgstr "Standard-Betriebssystem (ID)"
msgid "Default platform (slug)"
msgstr "Standard-Betriebssystem (URL-Slug)"
-#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:452
+#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:453
msgid "Has a front image"
msgstr "Hat ein Frontalbild"
-#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:459
+#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:460
msgid "Has a rear image"
msgstr "Hat ein Rückseitenbild"
#: netbox/dcim/filtersets.py:509 netbox/dcim/filtersets.py:630
-#: netbox/dcim/filtersets.py:1068 netbox/dcim/forms/filtersets.py:466
-#: netbox/dcim/forms/filtersets.py:562 netbox/dcim/forms/filtersets.py:777
+#: netbox/dcim/filtersets.py:1079 netbox/dcim/forms/filtersets.py:467
+#: netbox/dcim/forms/filtersets.py:563 netbox/dcim/forms/filtersets.py:779
msgid "Has console ports"
msgstr "Hat Konsolenanschlüsse"
#: netbox/dcim/filtersets.py:513 netbox/dcim/filtersets.py:634
-#: netbox/dcim/filtersets.py:1072 netbox/dcim/forms/filtersets.py:473
-#: netbox/dcim/forms/filtersets.py:569 netbox/dcim/forms/filtersets.py:784
+#: netbox/dcim/filtersets.py:1083 netbox/dcim/forms/filtersets.py:474
+#: netbox/dcim/forms/filtersets.py:570 netbox/dcim/forms/filtersets.py:786
msgid "Has console server ports"
msgstr "Hat Konsolenserver-Anschlüsse"
#: netbox/dcim/filtersets.py:517 netbox/dcim/filtersets.py:638
-#: netbox/dcim/filtersets.py:1076 netbox/dcim/forms/filtersets.py:480
-#: netbox/dcim/forms/filtersets.py:576 netbox/dcim/forms/filtersets.py:791
+#: netbox/dcim/filtersets.py:1087 netbox/dcim/forms/filtersets.py:481
+#: netbox/dcim/forms/filtersets.py:577 netbox/dcim/forms/filtersets.py:793
msgid "Has power ports"
msgstr "Hat Stromanschlüsse"
#: netbox/dcim/filtersets.py:521 netbox/dcim/filtersets.py:642
-#: netbox/dcim/filtersets.py:1080 netbox/dcim/forms/filtersets.py:487
-#: netbox/dcim/forms/filtersets.py:583 netbox/dcim/forms/filtersets.py:798
+#: netbox/dcim/filtersets.py:1091 netbox/dcim/forms/filtersets.py:488
+#: netbox/dcim/forms/filtersets.py:584 netbox/dcim/forms/filtersets.py:800
msgid "Has power outlets"
msgstr "Hat Stromabgänge"
#: netbox/dcim/filtersets.py:525 netbox/dcim/filtersets.py:646
-#: netbox/dcim/filtersets.py:1084 netbox/dcim/forms/filtersets.py:494
-#: netbox/dcim/forms/filtersets.py:590 netbox/dcim/forms/filtersets.py:805
+#: netbox/dcim/filtersets.py:1095 netbox/dcim/forms/filtersets.py:495
+#: netbox/dcim/forms/filtersets.py:591 netbox/dcim/forms/filtersets.py:807
msgid "Has interfaces"
msgstr "Hat Schnittstellen"
#: netbox/dcim/filtersets.py:529 netbox/dcim/filtersets.py:650
-#: netbox/dcim/filtersets.py:1088 netbox/dcim/forms/filtersets.py:501
-#: netbox/dcim/forms/filtersets.py:597 netbox/dcim/forms/filtersets.py:812
+#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/filtersets.py:502
+#: netbox/dcim/forms/filtersets.py:598 netbox/dcim/forms/filtersets.py:814
msgid "Has pass-through ports"
msgstr "Hat durchgereichte Anschlüsse"
-#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1092
-#: netbox/dcim/forms/filtersets.py:515
+#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1103
+#: netbox/dcim/forms/filtersets.py:516
msgid "Has module bays"
msgstr "Hat Moduleinsätze"
-#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1096
-#: netbox/dcim/forms/filtersets.py:508
+#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1107
+#: netbox/dcim/forms/filtersets.py:509
msgid "Has device bays"
msgstr "Hat Geräteeinsätze"
-#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:522
+#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:523
msgid "Has inventory items"
msgstr "Hat Inventargegenstände"
#: netbox/dcim/filtersets.py:698 netbox/dcim/filtersets.py:937
-#: netbox/dcim/filtersets.py:1373
+#: netbox/dcim/filtersets.py:1384
msgid "Device type (ID)"
msgstr "Gerätetyp (ID)"
-#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1254
+#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1265
msgid "Module type (ID)"
msgstr "Modultyp (ID)"
-#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1524
+#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1535
msgid "Power port (ID)"
msgstr "Stromanschluss (ID)"
-#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1765
+#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1776
msgid "Parent inventory item (ID)"
msgstr "Übergeordneter Inventarartikel (ID)"
#: netbox/dcim/filtersets.py:869 netbox/dcim/filtersets.py:895
-#: netbox/dcim/filtersets.py:1064 netbox/virtualization/filtersets.py:238
+#: netbox/dcim/filtersets.py:1075 netbox/virtualization/filtersets.py:238
msgid "Config template (ID)"
msgstr "Konfigurationsvorlage (ID)"
@@ -2713,9 +2708,9 @@ msgstr "Betriebssystem (ID)"
msgid "Platform (slug)"
msgstr "Betriebssystem (URL-Slug)"
-#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1336
-#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2105
-#: netbox/dcim/filtersets.py:2164
+#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1347
+#: netbox/dcim/filtersets.py:1874 netbox/dcim/filtersets.py:2116
+#: netbox/dcim/filtersets.py:2175
msgid "Site name (slug)"
msgstr "Standortname (URL-Slug)"
@@ -2727,16 +2722,25 @@ msgstr "Übergeordneter Schacht (ID)"
msgid "VM cluster (ID)"
msgstr "VM-Cluster (ID)"
-#: netbox/dcim/filtersets.py:1025
+#: netbox/dcim/filtersets.py:1025 netbox/extras/filtersets.py:543
+#: netbox/virtualization/filtersets.py:136
+msgid "Cluster group (slug)"
+msgstr "Cluster-Gruppe (URL-Slug)"
+
+#: netbox/dcim/filtersets.py:1030 netbox/virtualization/filtersets.py:130
+msgid "Cluster group (ID)"
+msgstr "Cluster-Gruppe (ID)"
+
+#: netbox/dcim/filtersets.py:1036
msgid "Device model (slug)"
msgstr "Gerätemodell (URL-Slug)"
-#: netbox/dcim/filtersets.py:1036 netbox/dcim/forms/bulk_edit.py:423
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/forms/bulk_edit.py:423
msgid "Is full depth"
msgstr "Hat volle Tiefe"
-#: netbox/dcim/filtersets.py:1040 netbox/dcim/forms/common.py:18
-#: netbox/dcim/forms/filtersets.py:747 netbox/dcim/forms/filtersets.py:1291
+#: netbox/dcim/filtersets.py:1051 netbox/dcim/forms/common.py:18
+#: netbox/dcim/forms/filtersets.py:749 netbox/dcim/forms/filtersets.py:1303
#: netbox/dcim/models/device_components.py:519
#: netbox/virtualization/filtersets.py:230
#: netbox/virtualization/filtersets.py:297
@@ -2745,88 +2749,88 @@ msgstr "Hat volle Tiefe"
msgid "MAC address"
msgstr "MAC-Adresse"
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:1211
-#: netbox/dcim/forms/filtersets.py:756 netbox/dcim/forms/filtersets.py:849
+#: netbox/dcim/filtersets.py:1058 netbox/dcim/filtersets.py:1222
+#: netbox/dcim/forms/filtersets.py:758 netbox/dcim/forms/filtersets.py:861
#: netbox/virtualization/filtersets.py:234
#: netbox/virtualization/forms/filtersets.py:176
msgid "Has a primary IP"
msgstr "Hat eine primäre IP"
-#: netbox/dcim/filtersets.py:1051
+#: netbox/dcim/filtersets.py:1062
msgid "Has an out-of-band IP"
msgstr "Hat eine Out-of-Band-IP"
-#: netbox/dcim/filtersets.py:1056
+#: netbox/dcim/filtersets.py:1067
msgid "Virtual chassis (ID)"
msgstr "Virtuelles Gehäuse (ID)"
-#: netbox/dcim/filtersets.py:1060
+#: netbox/dcim/filtersets.py:1071
msgid "Is a virtual chassis member"
msgstr "Ist ein virtuelles Gehäuse-Mitglied"
-#: netbox/dcim/filtersets.py:1101
+#: netbox/dcim/filtersets.py:1112
msgid "OOB IP (ID)"
msgstr "OOB IP (ID)"
-#: netbox/dcim/filtersets.py:1105
+#: netbox/dcim/filtersets.py:1116
msgid "Has virtual device context"
msgstr "Hat virtuellen Gerätekontext"
-#: netbox/dcim/filtersets.py:1194
+#: netbox/dcim/filtersets.py:1205
msgid "VDC (ID)"
msgstr "VDC (ID)"
-#: netbox/dcim/filtersets.py:1199
+#: netbox/dcim/filtersets.py:1210
msgid "Device model"
msgstr "Modell des Geräts"
-#: netbox/dcim/filtersets.py:1204 netbox/ipam/filtersets.py:632
+#: netbox/dcim/filtersets.py:1215 netbox/ipam/filtersets.py:632
#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:420
msgid "Interface (ID)"
msgstr "Schnittstelle (ID)"
-#: netbox/dcim/filtersets.py:1260
+#: netbox/dcim/filtersets.py:1271
msgid "Module type (model)"
msgstr "Modultyp (Modell)"
-#: netbox/dcim/filtersets.py:1266
+#: netbox/dcim/filtersets.py:1277
msgid "Module Bay (ID)"
msgstr "Moduleinsatz (ID)"
-#: netbox/dcim/filtersets.py:1270 netbox/dcim/filtersets.py:1362
+#: netbox/dcim/filtersets.py:1281 netbox/dcim/filtersets.py:1373
#: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851
#: netbox/ipam/filtersets.py:1075 netbox/virtualization/filtersets.py:161
#: netbox/vpn/filtersets.py:398
msgid "Device (ID)"
msgstr "Gerät (ID)"
-#: netbox/dcim/filtersets.py:1358
+#: netbox/dcim/filtersets.py:1369
msgid "Rack (name)"
msgstr "Rack (Name)"
-#: netbox/dcim/filtersets.py:1368 netbox/ipam/filtersets.py:606
+#: netbox/dcim/filtersets.py:1379 netbox/ipam/filtersets.py:606
#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1081
#: netbox/vpn/filtersets.py:393
msgid "Device (name)"
msgstr "Gerät (Name)"
-#: netbox/dcim/filtersets.py:1379
+#: netbox/dcim/filtersets.py:1390
msgid "Device type (model)"
msgstr "Gerätetyp (Modell)"
-#: netbox/dcim/filtersets.py:1384
+#: netbox/dcim/filtersets.py:1395
msgid "Device role (ID)"
msgstr "Geräterolle (ID)"
-#: netbox/dcim/filtersets.py:1390
+#: netbox/dcim/filtersets.py:1401
msgid "Device role (slug)"
msgstr "Geräterolle (URL-Slug)"
-#: netbox/dcim/filtersets.py:1395
+#: netbox/dcim/filtersets.py:1406
msgid "Virtual Chassis (ID)"
msgstr "Virtuelles Gehäuse (ID)"
-#: netbox/dcim/filtersets.py:1401 netbox/dcim/forms/filtersets.py:107
+#: netbox/dcim/filtersets.py:1412 netbox/dcim/forms/filtersets.py:108
#: netbox/dcim/tables/devices.py:203 netbox/netbox/navigation/menu.py:66
#: netbox/templates/dcim/device.html:120
#: netbox/templates/dcim/device_edit.html:93
@@ -2836,25 +2840,25 @@ msgstr "Virtuelles Gehäuse (ID)"
msgid "Virtual Chassis"
msgstr "Virtuelles Gehäuse"
-#: netbox/dcim/filtersets.py:1421
+#: netbox/dcim/filtersets.py:1432
msgid "Module (ID)"
msgstr "Modul (ID)"
-#: netbox/dcim/filtersets.py:1428
+#: netbox/dcim/filtersets.py:1439
msgid "Cable (ID)"
msgstr "Kabel (ID)"
-#: netbox/dcim/filtersets.py:1537 netbox/ipam/forms/bulk_import.py:188
+#: netbox/dcim/filtersets.py:1548 netbox/ipam/forms/bulk_import.py:188
#: netbox/vpn/forms/bulk_import.py:308
msgid "Assigned VLAN"
msgstr "Zugewiesenes VLAN"
-#: netbox/dcim/filtersets.py:1541
+#: netbox/dcim/filtersets.py:1552
msgid "Assigned VID"
msgstr "Zugewiesene VID"
-#: netbox/dcim/filtersets.py:1546 netbox/dcim/forms/bulk_edit.py:1382
-#: netbox/dcim/forms/bulk_import.py:836 netbox/dcim/forms/filtersets.py:1334
+#: netbox/dcim/filtersets.py:1557 netbox/dcim/forms/bulk_edit.py:1382
+#: netbox/dcim/forms/bulk_import.py:830 netbox/dcim/forms/filtersets.py:1346
#: netbox/dcim/forms/model_forms.py:1325
#: netbox/dcim/models/device_components.py:712
#: netbox/dcim/tables/devices.py:610 netbox/ipam/filtersets.py:316
@@ -2886,18 +2890,18 @@ msgstr "Zugewiesene VID"
msgid "VRF"
msgstr "VRF"
-#: netbox/dcim/filtersets.py:1552 netbox/ipam/filtersets.py:322
+#: netbox/dcim/filtersets.py:1563 netbox/ipam/filtersets.py:322
#: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489
#: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601
msgid "VRF (RD)"
msgstr "VRF (RD)"
-#: netbox/dcim/filtersets.py:1557 netbox/ipam/filtersets.py:1016
+#: netbox/dcim/filtersets.py:1568 netbox/ipam/filtersets.py:1016
#: netbox/vpn/filtersets.py:361
msgid "L2VPN (ID)"
msgstr "L2VPN (ID)"
-#: netbox/dcim/filtersets.py:1563 netbox/dcim/forms/filtersets.py:1339
+#: netbox/dcim/filtersets.py:1574 netbox/dcim/forms/filtersets.py:1351
#: netbox/dcim/tables/devices.py:558 netbox/ipam/filtersets.py:1022
#: netbox/ipam/forms/filtersets.py:525 netbox/ipam/tables/vlans.py:133
#: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66
@@ -2909,84 +2913,84 @@ msgstr "L2VPN (ID)"
msgid "L2VPN"
msgstr "L2VPN"
-#: netbox/dcim/filtersets.py:1595
+#: netbox/dcim/filtersets.py:1606
msgid "Virtual Chassis Interfaces for Device"
msgstr "Virtuelle Gehäuseschnittstellen für Gerät"
-#: netbox/dcim/filtersets.py:1600
+#: netbox/dcim/filtersets.py:1611
msgid "Virtual Chassis Interfaces for Device (ID)"
msgstr "Virtuelle Gehäuseschnittstellen für Gerät (ID)"
-#: netbox/dcim/filtersets.py:1604
+#: netbox/dcim/filtersets.py:1615
msgid "Kind of interface"
msgstr "Art der Schnittstelle"
-#: netbox/dcim/filtersets.py:1609 netbox/virtualization/filtersets.py:289
+#: netbox/dcim/filtersets.py:1620 netbox/virtualization/filtersets.py:289
msgid "Parent interface (ID)"
msgstr "Übergeordnete Schnittstelle (ID)"
-#: netbox/dcim/filtersets.py:1614 netbox/virtualization/filtersets.py:294
+#: netbox/dcim/filtersets.py:1625 netbox/virtualization/filtersets.py:294
msgid "Bridged interface (ID)"
msgstr "Überbrückte Schnittstelle (ID)"
-#: netbox/dcim/filtersets.py:1619
+#: netbox/dcim/filtersets.py:1630
msgid "LAG interface (ID)"
msgstr "LAG-Schnittstelle (ID)"
-#: netbox/dcim/filtersets.py:1646 netbox/dcim/filtersets.py:1658
-#: netbox/dcim/forms/filtersets.py:1251 netbox/dcim/forms/model_forms.py:1637
+#: netbox/dcim/filtersets.py:1657 netbox/dcim/filtersets.py:1669
+#: netbox/dcim/forms/filtersets.py:1263 netbox/dcim/forms/model_forms.py:1637
#: netbox/templates/dcim/virtualdevicecontext.html:15
msgid "Virtual Device Context"
msgstr "Kontext für virtuelles Gerät"
-#: netbox/dcim/filtersets.py:1652
+#: netbox/dcim/filtersets.py:1663
msgid "Virtual Device Context (Identifier)"
msgstr "Virtueller Gerätekontext (Identifier)"
-#: netbox/dcim/filtersets.py:1663
+#: netbox/dcim/filtersets.py:1674
#: netbox/templates/wireless/wirelesslan.html:11
#: netbox/wireless/forms/model_forms.py:53
msgid "Wireless LAN"
msgstr "WLAN"
-#: netbox/dcim/filtersets.py:1667 netbox/dcim/tables/devices.py:597
+#: netbox/dcim/filtersets.py:1678 netbox/dcim/tables/devices.py:597
msgid "Wireless link"
msgstr "WLAN Verbindung"
-#: netbox/dcim/filtersets.py:1737
+#: netbox/dcim/filtersets.py:1748
msgid "Installed module (ID)"
msgstr "Installiertes Modul (ID)"
-#: netbox/dcim/filtersets.py:1748
+#: netbox/dcim/filtersets.py:1759
msgid "Installed device (ID)"
msgstr "Installiertes Gerät (ID)"
-#: netbox/dcim/filtersets.py:1754
+#: netbox/dcim/filtersets.py:1765
msgid "Installed device (name)"
msgstr "Installiertes Gerät (Name)"
-#: netbox/dcim/filtersets.py:1820
+#: netbox/dcim/filtersets.py:1831
msgid "Master (ID)"
msgstr "Master (ID)"
-#: netbox/dcim/filtersets.py:1826
+#: netbox/dcim/filtersets.py:1837
msgid "Master (name)"
msgstr "Master (Name)"
-#: netbox/dcim/filtersets.py:1868 netbox/tenancy/filtersets.py:246
+#: netbox/dcim/filtersets.py:1879 netbox/tenancy/filtersets.py:246
msgid "Tenant (ID)"
msgstr "Mandant (ID)"
-#: netbox/dcim/filtersets.py:1874 netbox/extras/filtersets.py:570
+#: netbox/dcim/filtersets.py:1885 netbox/extras/filtersets.py:570
#: netbox/tenancy/filtersets.py:252
msgid "Tenant (slug)"
msgstr "Mandant (URL-Slug)"
-#: netbox/dcim/filtersets.py:1910 netbox/dcim/forms/filtersets.py:996
+#: netbox/dcim/filtersets.py:1921 netbox/dcim/forms/filtersets.py:1008
msgid "Unterminated"
msgstr "Nicht terminiert"
-#: netbox/dcim/filtersets.py:2168
+#: netbox/dcim/filtersets.py:2179
msgid "Power panel (ID)"
msgstr "Stromverteiler (ID)"
@@ -3001,12 +3005,12 @@ msgstr "Stromverteiler (ID)"
msgid "Tags"
msgstr "Tags"
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1396
+#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1408
#: netbox/dcim/forms/model_forms.py:431 netbox/dcim/forms/model_forms.py:489
#: netbox/dcim/forms/object_create.py:197
#: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:162
#: netbox/dcim/tables/devices.py:690 netbox/dcim/tables/devicetypes.py:242
-#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:130
+#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131
#: netbox/templates/dcim/modulebay.html:34
#: netbox/templates/dcim/virtualchassis.html:66
#: netbox/templates/dcim/virtualchassis_edit.html:55
@@ -3080,9 +3084,9 @@ msgid "Time zone"
msgstr "Zeitzone"
#: netbox/dcim/forms/bulk_edit.py:267 netbox/dcim/forms/bulk_edit.py:1160
-#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:207
-#: netbox/dcim/forms/bulk_import.py:1021 netbox/dcim/forms/filtersets.py:300
-#: netbox/dcim/forms/filtersets.py:706 netbox/dcim/forms/filtersets.py:1426
+#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:204
+#: netbox/dcim/forms/bulk_import.py:1015 netbox/dcim/forms/filtersets.py:301
+#: netbox/dcim/forms/filtersets.py:708 netbox/dcim/forms/filtersets.py:1438
#: netbox/dcim/forms/model_forms.py:219 netbox/dcim/forms/model_forms.py:1018
#: netbox/dcim/forms/model_forms.py:1457
#: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:166
@@ -3099,7 +3103,7 @@ msgstr "Zeitzone"
#: netbox/ipam/forms/model_forms.py:689 netbox/ipam/tables/ip.py:257
#: netbox/ipam/tables/ip.py:313 netbox/ipam/tables/ip.py:363
#: netbox/ipam/tables/vlans.py:126 netbox/ipam/tables/vlans.py:230
-#: netbox/templates/dcim/device.html:180
+#: netbox/templates/dcim/device.html:182
#: netbox/templates/dcim/inc/panels/inventory_items.html:20
#: netbox/templates/dcim/interface.html:223
#: netbox/templates/dcim/inventoryitem.html:36
@@ -3131,14 +3135,14 @@ msgstr "Rolle"
msgid "Serial Number"
msgstr "Seriennummer"
-#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:307
-#: netbox/dcim/forms/filtersets.py:742 netbox/dcim/forms/filtersets.py:886
-#: netbox/dcim/forms/filtersets.py:1438
+#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:308
+#: netbox/dcim/forms/filtersets.py:744 netbox/dcim/forms/filtersets.py:898
+#: netbox/dcim/forms/filtersets.py:1450
msgid "Asset tag"
msgstr "Asset-Tag"
-#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:220
-#: netbox/dcim/forms/filtersets.py:292 netbox/templates/dcim/rack.html:86
+#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:217
+#: netbox/dcim/forms/filtersets.py:293 netbox/templates/dcim/rack.html:86
msgid "Width"
msgstr "Breite"
@@ -3158,7 +3162,7 @@ msgstr "Äußere Breite"
msgid "Outer depth"
msgstr "Äußere Tiefe"
-#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:225
+#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:222
msgid "Outer unit"
msgstr "Äußere Einheit"
@@ -3169,18 +3173,18 @@ msgstr "Einbautiefe"
#: netbox/dcim/forms/bulk_edit.py:321 netbox/dcim/forms/bulk_edit.py:351
#: netbox/dcim/forms/bulk_edit.py:436 netbox/dcim/forms/bulk_edit.py:459
#: netbox/dcim/forms/bulk_edit.py:475 netbox/dcim/forms/bulk_edit.py:495
-#: netbox/dcim/forms/bulk_import.py:332 netbox/dcim/forms/bulk_import.py:358
-#: netbox/dcim/forms/filtersets.py:251 netbox/dcim/forms/filtersets.py:312
-#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:423
-#: netbox/dcim/forms/filtersets.py:529 netbox/dcim/forms/filtersets.py:548
-#: netbox/dcim/forms/filtersets.py:604 netbox/dcim/forms/model_forms.py:232
+#: netbox/dcim/forms/bulk_import.py:329 netbox/dcim/forms/bulk_import.py:355
+#: netbox/dcim/forms/filtersets.py:252 netbox/dcim/forms/filtersets.py:313
+#: netbox/dcim/forms/filtersets.py:337 netbox/dcim/forms/filtersets.py:424
+#: netbox/dcim/forms/filtersets.py:530 netbox/dcim/forms/filtersets.py:549
+#: netbox/dcim/forms/filtersets.py:605 netbox/dcim/forms/model_forms.py:232
#: netbox/dcim/forms/model_forms.py:346 netbox/dcim/tables/devicetypes.py:103
#: netbox/dcim/tables/modules.py:35 netbox/dcim/tables/racks.py:103
#: netbox/extras/forms/bulk_edit.py:45 netbox/extras/forms/bulk_edit.py:108
#: netbox/extras/forms/bulk_edit.py:158 netbox/extras/forms/bulk_edit.py:278
#: netbox/extras/forms/filtersets.py:61 netbox/extras/forms/filtersets.py:134
#: netbox/extras/forms/filtersets.py:221 netbox/ipam/forms/bulk_edit.py:188
-#: netbox/templates/dcim/device.html:317
+#: netbox/templates/dcim/device.html:324
#: netbox/templates/dcim/devicetype.html:49
#: netbox/templates/dcim/moduletype.html:30
#: netbox/templates/extras/configcontext.html:17
@@ -3190,25 +3194,25 @@ msgstr "Einbautiefe"
msgid "Weight"
msgstr "Gewicht"
-#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:317
+#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:318
msgid "Max weight"
msgstr "Maximales Gewicht"
#: netbox/dcim/forms/bulk_edit.py:331 netbox/dcim/forms/bulk_edit.py:441
-#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:231
-#: netbox/dcim/forms/bulk_import.py:337 netbox/dcim/forms/bulk_import.py:363
-#: netbox/dcim/forms/filtersets.py:322 netbox/dcim/forms/filtersets.py:533
-#: netbox/dcim/forms/filtersets.py:608
+#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:228
+#: netbox/dcim/forms/bulk_import.py:334 netbox/dcim/forms/bulk_import.py:360
+#: netbox/dcim/forms/filtersets.py:323 netbox/dcim/forms/filtersets.py:534
+#: netbox/dcim/forms/filtersets.py:609
msgid "Weight unit"
msgstr "Gewichtseinheit"
#: netbox/dcim/forms/bulk_edit.py:345 netbox/dcim/forms/bulk_edit.py:808
-#: netbox/dcim/forms/bulk_import.py:270 netbox/dcim/forms/bulk_import.py:273
-#: netbox/dcim/forms/bulk_import.py:498 netbox/dcim/forms/bulk_import.py:1309
-#: netbox/dcim/forms/bulk_import.py:1313 netbox/dcim/forms/filtersets.py:102
-#: netbox/dcim/forms/filtersets.py:340 netbox/dcim/forms/filtersets.py:354
-#: netbox/dcim/forms/filtersets.py:392 netbox/dcim/forms/filtersets.py:701
-#: netbox/dcim/forms/filtersets.py:954 netbox/dcim/forms/filtersets.py:1086
+#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:270
+#: netbox/dcim/forms/bulk_import.py:492 netbox/dcim/forms/bulk_import.py:1297
+#: netbox/dcim/forms/bulk_import.py:1301 netbox/dcim/forms/filtersets.py:103
+#: netbox/dcim/forms/filtersets.py:341 netbox/dcim/forms/filtersets.py:355
+#: netbox/dcim/forms/filtersets.py:393 netbox/dcim/forms/filtersets.py:703
+#: netbox/dcim/forms/filtersets.py:966 netbox/dcim/forms/filtersets.py:1098
#: netbox/dcim/forms/model_forms.py:226 netbox/dcim/forms/model_forms.py:248
#: netbox/dcim/forms/model_forms.py:422 netbox/dcim/forms/model_forms.py:703
#: netbox/dcim/forms/object_create.py:400 netbox/dcim/tables/devices.py:158
@@ -3225,9 +3229,9 @@ msgid "Rack"
msgstr "Rack"
#: netbox/dcim/forms/bulk_edit.py:349 netbox/dcim/forms/bulk_edit.py:628
-#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333
-#: netbox/dcim/forms/filtersets.py:416 netbox/dcim/forms/filtersets.py:543
-#: netbox/dcim/forms/filtersets.py:651 netbox/dcim/forms/filtersets.py:861
+#: netbox/dcim/forms/filtersets.py:249 netbox/dcim/forms/filtersets.py:334
+#: netbox/dcim/forms/filtersets.py:417 netbox/dcim/forms/filtersets.py:544
+#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:873
#: netbox/dcim/forms/model_forms.py:613 netbox/dcim/forms/model_forms.py:1527
#: netbox/templates/dcim/device_edit.html:20
msgid "Hardware"
@@ -3236,12 +3240,12 @@ msgstr "Hardware"
#: netbox/dcim/forms/bulk_edit.py:402 netbox/dcim/forms/bulk_edit.py:466
#: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/forms/bulk_edit.py:554
#: netbox/dcim/forms/bulk_edit.py:638 netbox/dcim/forms/bulk_edit.py:1165
-#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:319
-#: netbox/dcim/forms/bulk_import.py:353 netbox/dcim/forms/bulk_import.py:395
-#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/bulk_import.py:1027
-#: netbox/dcim/forms/filtersets.py:429 netbox/dcim/forms/filtersets.py:554
-#: netbox/dcim/forms/filtersets.py:630 netbox/dcim/forms/filtersets.py:711
-#: netbox/dcim/forms/filtersets.py:866 netbox/dcim/forms/filtersets.py:1431
+#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:316
+#: netbox/dcim/forms/bulk_import.py:350 netbox/dcim/forms/bulk_import.py:389
+#: netbox/dcim/forms/bulk_import.py:425 netbox/dcim/forms/bulk_import.py:1021
+#: netbox/dcim/forms/filtersets.py:430 netbox/dcim/forms/filtersets.py:555
+#: netbox/dcim/forms/filtersets.py:631 netbox/dcim/forms/filtersets.py:713
+#: netbox/dcim/forms/filtersets.py:878 netbox/dcim/forms/filtersets.py:1443
#: netbox/dcim/forms/model_forms.py:281 netbox/dcim/forms/model_forms.py:293
#: netbox/dcim/forms/model_forms.py:339 netbox/dcim/forms/model_forms.py:379
#: netbox/dcim/forms/model_forms.py:1023 netbox/dcim/forms/model_forms.py:1462
@@ -3258,13 +3262,13 @@ msgstr "Hardware"
msgid "Manufacturer"
msgstr "Hersteller"
-#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:325
-#: netbox/dcim/forms/filtersets.py:434 netbox/dcim/forms/model_forms.py:297
+#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:322
+#: netbox/dcim/forms/filtersets.py:435 netbox/dcim/forms/model_forms.py:297
msgid "Default platform"
msgstr "Standard-Betriebssystem"
#: netbox/dcim/forms/bulk_edit.py:412 netbox/dcim/forms/bulk_edit.py:471
-#: netbox/dcim/forms/filtersets.py:437 netbox/dcim/forms/filtersets.py:557
+#: netbox/dcim/forms/filtersets.py:438 netbox/dcim/forms/filtersets.py:558
msgid "Part number"
msgstr "Artikelnummer"
@@ -3277,8 +3281,8 @@ msgid "Exclude from utilization"
msgstr "Von der Nutzung ausschließen"
#: netbox/dcim/forms/bulk_edit.py:431 netbox/dcim/forms/bulk_edit.py:603
-#: netbox/dcim/forms/bulk_import.py:525 netbox/dcim/forms/filtersets.py:446
-#: netbox/dcim/forms/filtersets.py:733 netbox/templates/dcim/device.html:98
+#: netbox/dcim/forms/bulk_import.py:519 netbox/dcim/forms/filtersets.py:447
+#: netbox/dcim/forms/filtersets.py:735 netbox/templates/dcim/device.html:98
#: netbox/templates/dcim/devicetype.html:65
msgid "Airflow"
msgstr "Luftstrom"
@@ -3303,11 +3307,11 @@ msgid "VM role"
msgstr "VM-Rolle"
#: netbox/dcim/forms/bulk_edit.py:511 netbox/dcim/forms/bulk_edit.py:535
-#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:376
-#: netbox/dcim/forms/bulk_import.py:380 netbox/dcim/forms/bulk_import.py:402
-#: netbox/dcim/forms/bulk_import.py:406 netbox/dcim/forms/bulk_import.py:531
-#: netbox/dcim/forms/bulk_import.py:535 netbox/dcim/forms/filtersets.py:619
-#: netbox/dcim/forms/filtersets.py:635 netbox/dcim/forms/filtersets.py:752
+#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:373
+#: netbox/dcim/forms/bulk_import.py:377 netbox/dcim/forms/bulk_import.py:396
+#: netbox/dcim/forms/bulk_import.py:400 netbox/dcim/forms/bulk_import.py:525
+#: netbox/dcim/forms/bulk_import.py:529 netbox/dcim/forms/filtersets.py:620
+#: netbox/dcim/forms/filtersets.py:636 netbox/dcim/forms/filtersets.py:754
#: netbox/dcim/forms/model_forms.py:358 netbox/dcim/forms/model_forms.py:384
#: netbox/dcim/forms/model_forms.py:498
#: netbox/virtualization/forms/bulk_import.py:132
@@ -3318,21 +3322,21 @@ msgid "Config template"
msgstr "Konfigurationsvorlage"
#: netbox/dcim/forms/bulk_edit.py:559 netbox/dcim/forms/bulk_edit.py:959
-#: netbox/dcim/forms/bulk_import.py:437 netbox/dcim/forms/filtersets.py:112
+#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/filtersets.py:113
#: netbox/dcim/forms/model_forms.py:444 netbox/dcim/forms/model_forms.py:820
#: netbox/dcim/forms/model_forms.py:837 netbox/extras/filtersets.py:499
msgid "Device type"
msgstr "Geräte-Typ"
-#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:418
-#: netbox/dcim/forms/filtersets.py:117 netbox/dcim/forms/model_forms.py:452
+#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:412
+#: netbox/dcim/forms/filtersets.py:118 netbox/dcim/forms/model_forms.py:452
msgid "Device role"
msgstr "Geräte-Rolle"
-#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:443
-#: netbox/dcim/forms/filtersets.py:725 netbox/dcim/forms/model_forms.py:394
+#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:437
+#: netbox/dcim/forms/filtersets.py:727 netbox/dcim/forms/model_forms.py:394
#: netbox/dcim/forms/model_forms.py:456 netbox/dcim/tables/devices.py:179
-#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:184
+#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:186
#: netbox/templates/dcim/platform.html:26
#: netbox/templates/virtualization/virtualmachine.html:27
#: netbox/virtualization/forms/bulk_edit.py:160
@@ -3345,21 +3349,21 @@ msgstr "Betriebssystem"
#: netbox/dcim/forms/bulk_edit.py:626 netbox/dcim/forms/bulk_edit.py:1179
#: netbox/dcim/forms/bulk_edit.py:1543 netbox/dcim/forms/bulk_edit.py:1589
-#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/bulk_import.py:648
-#: netbox/dcim/forms/bulk_import.py:674 netbox/dcim/forms/bulk_import.py:700
-#: netbox/dcim/forms/bulk_import.py:720 netbox/dcim/forms/bulk_import.py:773
-#: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/bulk_import.py:939
-#: netbox/dcim/forms/bulk_import.py:956 netbox/dcim/forms/bulk_import.py:968
-#: netbox/dcim/forms/bulk_import.py:1016 netbox/dcim/forms/bulk_import.py:1373
-#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:129
-#: netbox/dcim/forms/filtersets.py:840 netbox/dcim/forms/filtersets.py:970
-#: netbox/dcim/forms/filtersets.py:1160 netbox/dcim/forms/filtersets.py:1182
-#: netbox/dcim/forms/filtersets.py:1204 netbox/dcim/forms/filtersets.py:1221
-#: netbox/dcim/forms/filtersets.py:1241 netbox/dcim/forms/filtersets.py:1349
-#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392
-#: netbox/dcim/forms/filtersets.py:1407 netbox/dcim/forms/filtersets.py:1421
-#: netbox/dcim/forms/filtersets.py:1484 netbox/dcim/forms/filtersets.py:1508
-#: netbox/dcim/forms/filtersets.py:1532 netbox/dcim/forms/model_forms.py:576
+#: netbox/dcim/forms/bulk_import.py:580 netbox/dcim/forms/bulk_import.py:642
+#: netbox/dcim/forms/bulk_import.py:668 netbox/dcim/forms/bulk_import.py:694
+#: netbox/dcim/forms/bulk_import.py:714 netbox/dcim/forms/bulk_import.py:767
+#: netbox/dcim/forms/bulk_import.py:885 netbox/dcim/forms/bulk_import.py:933
+#: netbox/dcim/forms/bulk_import.py:950 netbox/dcim/forms/bulk_import.py:962
+#: netbox/dcim/forms/bulk_import.py:1010 netbox/dcim/forms/bulk_import.py:1361
+#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:130
+#: netbox/dcim/forms/filtersets.py:852 netbox/dcim/forms/filtersets.py:982
+#: netbox/dcim/forms/filtersets.py:1172 netbox/dcim/forms/filtersets.py:1194
+#: netbox/dcim/forms/filtersets.py:1216 netbox/dcim/forms/filtersets.py:1233
+#: netbox/dcim/forms/filtersets.py:1253 netbox/dcim/forms/filtersets.py:1361
+#: netbox/dcim/forms/filtersets.py:1383 netbox/dcim/forms/filtersets.py:1404
+#: netbox/dcim/forms/filtersets.py:1419 netbox/dcim/forms/filtersets.py:1433
+#: netbox/dcim/forms/filtersets.py:1496 netbox/dcim/forms/filtersets.py:1520
+#: netbox/dcim/forms/filtersets.py:1544 netbox/dcim/forms/model_forms.py:576
#: netbox/dcim/forms/model_forms.py:797 netbox/dcim/forms/model_forms.py:1156
#: netbox/dcim/forms/model_forms.py:1611
#: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22
@@ -3377,7 +3381,7 @@ msgstr "Betriebssystem"
#: netbox/ipam/forms/model_forms.py:784 netbox/ipam/tables/vlans.py:176
#: netbox/templates/dcim/consoleport.html:20
#: netbox/templates/dcim/consoleserverport.html:20
-#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:129
+#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:130
#: netbox/templates/dcim/device_edit.html:10
#: netbox/templates/dcim/devicebay.html:20
#: netbox/templates/dcim/devicebay.html:48
@@ -3417,7 +3421,7 @@ msgstr "Gerät"
msgid "Configuration"
msgstr "Konfiguration"
-#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:598
+#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:592
#: netbox/dcim/forms/model_forms.py:590 netbox/dcim/forms/model_forms.py:845
msgid "Module type"
msgstr "Modul-Typ"
@@ -3427,7 +3431,7 @@ msgstr "Modul-Typ"
#: netbox/dcim/forms/bulk_edit.py:966 netbox/dcim/forms/bulk_edit.py:1010
#: netbox/dcim/forms/bulk_edit.py:1061 netbox/dcim/forms/bulk_edit.py:1088
#: netbox/dcim/forms/bulk_edit.py:1115 netbox/dcim/forms/bulk_edit.py:1133
-#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:65
+#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:66
#: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32
#: netbox/templates/dcim/consoleport.html:32
#: netbox/templates/dcim/consoleserverport.html:32
@@ -3445,13 +3449,13 @@ msgstr "Modul-Typ"
msgid "Label"
msgstr "Label"
-#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:987
+#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:999
#: netbox/templates/dcim/cable.html:50
msgid "Length"
msgstr "Länge"
-#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1174
-#: netbox/dcim/forms/bulk_import.py:1177 netbox/dcim/forms/filtersets.py:991
+#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1165
+#: netbox/dcim/forms/bulk_import.py:1168 netbox/dcim/forms/filtersets.py:1003
msgid "Length unit"
msgstr "Längeneinheit"
@@ -3460,34 +3464,34 @@ msgstr "Längeneinheit"
msgid "Domain"
msgstr "Domäne"
-#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1296
-#: netbox/dcim/forms/filtersets.py:1077 netbox/dcim/forms/model_forms.py:698
+#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1284
+#: netbox/dcim/forms/filtersets.py:1089 netbox/dcim/forms/model_forms.py:698
msgid "Power panel"
msgstr "Stromverteiler"
-#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1332
-#: netbox/dcim/forms/filtersets.py:1099
+#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1320
+#: netbox/dcim/forms/filtersets.py:1111
#: netbox/templates/dcim/powerfeed.html:83
msgid "Supply"
msgstr "Versorgung"
-#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1337
-#: netbox/dcim/forms/filtersets.py:1104
+#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1325
+#: netbox/dcim/forms/filtersets.py:1116
#: netbox/templates/dcim/powerfeed.html:95
msgid "Phase"
msgstr "Phase"
-#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1109
+#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1121
#: netbox/templates/dcim/powerfeed.html:87
msgid "Voltage"
msgstr "Spannung"
-#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1113
+#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1125
#: netbox/templates/dcim/powerfeed.html:91
msgid "Amperage"
msgstr "Stromstärke"
-#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1117
+#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1129
msgid "Max utilization"
msgstr "Max. Auslastung"
@@ -3511,13 +3515,13 @@ msgstr "Zugewiesene Leistungsaufnahme"
msgid "Allocated power draw (watts)"
msgstr "Zugewiesene Leistungsaufnahme (Watt)"
-#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:731
+#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:725
#: netbox/dcim/forms/model_forms.py:901 netbox/dcim/forms/model_forms.py:1226
#: netbox/dcim/forms/model_forms.py:1514 netbox/dcim/forms/object_import.py:55
msgid "Power port"
msgstr "Stromanschluss"
-#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:738
+#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:732
msgid "Feed leg"
msgstr "Phasenlage"
@@ -3526,7 +3530,7 @@ msgid "Management only"
msgstr "Nur Management"
#: netbox/dcim/forms/bulk_edit.py:1037 netbox/dcim/forms/bulk_edit.py:1339
-#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1300
+#: netbox/dcim/forms/bulk_import.py:815 netbox/dcim/forms/filtersets.py:1312
#: netbox/dcim/forms/object_import.py:90
#: netbox/dcim/models/device_component_templates.py:411
#: netbox/dcim/models/device_components.py:671
@@ -3534,14 +3538,14 @@ msgid "PoE mode"
msgstr "PoE-Modus"
#: netbox/dcim/forms/bulk_edit.py:1043 netbox/dcim/forms/bulk_edit.py:1345
-#: netbox/dcim/forms/bulk_import.py:827 netbox/dcim/forms/filtersets.py:1305
+#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1317
#: netbox/dcim/forms/object_import.py:95
#: netbox/dcim/models/device_component_templates.py:417
#: netbox/dcim/models/device_components.py:677
msgid "PoE type"
msgstr "PoE-Typ"
-#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1310
+#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1322
#: netbox/dcim/forms/object_import.py:100
msgid "Wireless role"
msgstr "WLAN Funktion"
@@ -3567,11 +3571,11 @@ msgstr "LAG"
#: netbox/dcim/forms/bulk_edit.py:1318 netbox/dcim/forms/model_forms.py:1253
msgid "Virtual device contexts"
-msgstr "Kontexte virtueller Geräte"
+msgstr "Virtuelle Gerätekontexte"
-#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:659
-#: netbox/dcim/forms/bulk_import.py:685 netbox/dcim/forms/filtersets.py:1169
-#: netbox/dcim/forms/filtersets.py:1191 netbox/dcim/forms/filtersets.py:1264
+#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:653
+#: netbox/dcim/forms/bulk_import.py:679 netbox/dcim/forms/filtersets.py:1181
+#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1276
#: netbox/dcim/tables/devices.py:594
#: netbox/templates/circuits/inc/circuit_termination_fields.html:67
#: netbox/templates/dcim/consoleport.html:40
@@ -3579,7 +3583,7 @@ msgstr "Kontexte virtueller Geräte"
msgid "Speed"
msgstr "Geschwindigkeit"
-#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:830
+#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:824
#: netbox/templates/vpn/ikepolicy.html:25
#: netbox/templates/vpn/ipsecprofile.html:21
#: netbox/templates/vpn/ipsecprofile.html:48
@@ -3625,7 +3629,7 @@ msgstr "WLAN-Gruppe"
msgid "Wireless LANs"
msgstr "WLANs"
-#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1237
+#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1249
#: netbox/dcim/forms/model_forms.py:1337 netbox/ipam/forms/bulk_edit.py:271
#: netbox/ipam/forms/bulk_edit.py:362 netbox/ipam/forms/filtersets.py:169
#: netbox/templates/dcim/interface.html:122
@@ -3634,13 +3638,13 @@ msgstr "WLANs"
msgid "Addressing"
msgstr "Adressierung"
-#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:650
+#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:651
#: netbox/dcim/forms/model_forms.py:1338
#: netbox/virtualization/forms/model_forms.py:350
msgid "Operation"
msgstr "Bedienung"
-#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1238
+#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1250
#: netbox/dcim/forms/model_forms.py:935 netbox/dcim/forms/model_forms.py:1340
msgid "PoE"
msgstr "PoE"
@@ -3665,7 +3669,7 @@ msgstr "Der Schnittstellenmodus muss gesetzt werden, um VLANs zuzuweisen"
#: netbox/dcim/forms/bulk_edit.py:1474 netbox/dcim/forms/common.py:50
msgid "An access interface cannot have tagged VLANs assigned."
msgstr ""
-"Einer mit \"Access\" getagte Schnittstelle können keine markierten VLANs "
+"Einer Endgeräteschnittstelle (Access) können keine getaggten VLANs "
"zugewiesen sein."
#: netbox/dcim/forms/bulk_import.py:63
@@ -3690,8 +3694,8 @@ msgstr "Zugewiesene Gruppe"
msgid "available options"
msgstr "verfügbare Optionen"
-#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:488
-#: netbox/dcim/forms/bulk_import.py:1293 netbox/ipam/forms/bulk_import.py:174
+#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:482
+#: netbox/dcim/forms/bulk_import.py:1281 netbox/ipam/forms/bulk_import.py:174
#: netbox/ipam/forms/bulk_import.py:441
#: netbox/virtualization/forms/bulk_import.py:63
#: netbox/virtualization/forms/bulk_import.py:89
@@ -3700,111 +3704,112 @@ msgstr "Zugewiesener Standort"
#: netbox/dcim/forms/bulk_import.py:140
msgid "Parent location"
-msgstr "Übergeordneter Lokation"
+msgstr "Übergeordnete Lokation"
#: netbox/dcim/forms/bulk_import.py:142
msgid "Location not found."
msgstr "Lokation wurde nicht gefunden."
-#: netbox/dcim/forms/bulk_import.py:199
+#: netbox/dcim/forms/bulk_import.py:196
msgid "Name of assigned tenant"
msgstr "Name des zugewiesenen Mandanten "
-#: netbox/dcim/forms/bulk_import.py:211
+#: netbox/dcim/forms/bulk_import.py:208
msgid "Name of assigned role"
msgstr "Name der zugewiesenen Rolle"
-#: netbox/dcim/forms/bulk_import.py:217
+#: netbox/dcim/forms/bulk_import.py:214
msgid "Rack type"
msgstr "Rack-Typ"
-#: netbox/dcim/forms/bulk_import.py:222
+#: netbox/dcim/forms/bulk_import.py:219
msgid "Rail-to-rail width (in inches)"
msgstr "Breite von Schiene zu Schiene (in Zoll)"
-#: netbox/dcim/forms/bulk_import.py:228
+#: netbox/dcim/forms/bulk_import.py:225
msgid "Unit for outer dimensions"
msgstr "Einheit für Außenmaße"
-#: netbox/dcim/forms/bulk_import.py:234
+#: netbox/dcim/forms/bulk_import.py:231
msgid "Unit for rack weights"
msgstr "Einheit für Rackgewichte"
-#: netbox/dcim/forms/bulk_import.py:260
+#: netbox/dcim/forms/bulk_import.py:257
msgid "Parent site"
msgstr "Übergeordneter Standort"
-#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:1306
+#: netbox/dcim/forms/bulk_import.py:264 netbox/dcim/forms/bulk_import.py:1294
msgid "Rack's location (if any)"
msgstr "Lokation des Racks (falls vorhanden)"
-#: netbox/dcim/forms/bulk_import.py:276 netbox/dcim/forms/model_forms.py:253
+#: netbox/dcim/forms/bulk_import.py:273 netbox/dcim/forms/model_forms.py:253
#: netbox/dcim/tables/racks.py:153
#: netbox/templates/dcim/rackreservation.html:12
#: netbox/templates/dcim/rackreservation.html:45
msgid "Units"
msgstr "Einheiten"
-#: netbox/dcim/forms/bulk_import.py:279
+#: netbox/dcim/forms/bulk_import.py:276
msgid "Comma-separated list of individual unit numbers"
msgstr "Kommagetrennte Liste einzelner Einheitennummern"
-#: netbox/dcim/forms/bulk_import.py:322
+#: netbox/dcim/forms/bulk_import.py:319
msgid "The manufacturer which produces this device type"
msgstr "Der Hersteller, der diesen Gerätetyp herstellt"
-#: netbox/dcim/forms/bulk_import.py:329
+#: netbox/dcim/forms/bulk_import.py:326
msgid "The default platform for devices of this type (optional)"
msgstr "Das Standard-Betriebssystem für Geräte diesen Typs (optional)"
-#: netbox/dcim/forms/bulk_import.py:334
+#: netbox/dcim/forms/bulk_import.py:331
msgid "Device weight"
msgstr "Gewicht des Geräts"
-#: netbox/dcim/forms/bulk_import.py:340
+#: netbox/dcim/forms/bulk_import.py:337
msgid "Unit for device weight"
msgstr "Einheit für das Gerätegewicht"
-#: netbox/dcim/forms/bulk_import.py:360
+#: netbox/dcim/forms/bulk_import.py:357
msgid "Module weight"
msgstr "Gewicht des Moduls"
-#: netbox/dcim/forms/bulk_import.py:366
+#: netbox/dcim/forms/bulk_import.py:363
msgid "Unit for module weight"
msgstr "Einheit für das Modulgewicht"
-#: netbox/dcim/forms/bulk_import.py:399
+#: netbox/dcim/forms/bulk_import.py:393
msgid "Limit platform assignments to this manufacturer"
msgstr "Betriebssystem-Zuweisungen auf diesen Hersteller beschränken"
-#: netbox/dcim/forms/bulk_import.py:421 netbox/dcim/forms/bulk_import.py:1376
+#: netbox/dcim/forms/bulk_import.py:415 netbox/dcim/forms/bulk_import.py:1364
#: netbox/tenancy/forms/bulk_import.py:106
msgid "Assigned role"
msgstr "Zugewiesene Rolle"
-#: netbox/dcim/forms/bulk_import.py:434
+#: netbox/dcim/forms/bulk_import.py:428
msgid "Device type manufacturer"
msgstr "Gerätetyp Hersteller"
-#: netbox/dcim/forms/bulk_import.py:440
+#: netbox/dcim/forms/bulk_import.py:434
msgid "Device type model"
msgstr "Gerätetyp Modell"
-#: netbox/dcim/forms/bulk_import.py:447
+#: netbox/dcim/forms/bulk_import.py:441
#: netbox/virtualization/forms/bulk_import.py:126
msgid "Assigned platform"
msgstr "Zugewiesenes Betriebssystem"
-#: netbox/dcim/forms/bulk_import.py:455 netbox/dcim/forms/bulk_import.py:459
+#: netbox/dcim/forms/bulk_import.py:449 netbox/dcim/forms/bulk_import.py:453
#: netbox/dcim/forms/model_forms.py:479
msgid "Virtual chassis"
msgstr "Virtuelles Gehäuse"
-#: netbox/dcim/forms/bulk_import.py:462 netbox/dcim/forms/model_forms.py:465
+#: netbox/dcim/forms/bulk_import.py:456 netbox/dcim/forms/filtersets.py:659
+#: netbox/dcim/forms/filtersets.py:829 netbox/dcim/forms/model_forms.py:465
#: netbox/dcim/tables/devices.py:199 netbox/extras/filtersets.py:548
#: netbox/extras/forms/filtersets.py:331 netbox/ipam/forms/bulk_edit.py:479
#: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:459
-#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:232
+#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:239
#: netbox/templates/virtualization/cluster.html:10
#: netbox/templates/virtualization/virtualmachine.html:88
#: netbox/templates/virtualization/virtualmachine.html:97
@@ -3821,65 +3826,65 @@ msgstr "Virtuelles Gehäuse"
msgid "Cluster"
msgstr "Cluster"
-#: netbox/dcim/forms/bulk_import.py:466
+#: netbox/dcim/forms/bulk_import.py:460
msgid "Virtualization cluster"
msgstr "Virtualisierungscluster"
-#: netbox/dcim/forms/bulk_import.py:495
+#: netbox/dcim/forms/bulk_import.py:489
msgid "Assigned location (if any)"
msgstr "Zugewiesene Lokation (falls vorhanden)"
-#: netbox/dcim/forms/bulk_import.py:502
+#: netbox/dcim/forms/bulk_import.py:496
msgid "Assigned rack (if any)"
msgstr "Zugewiesenes Rack (falls vorhanden)"
-#: netbox/dcim/forms/bulk_import.py:505
+#: netbox/dcim/forms/bulk_import.py:499
msgid "Face"
msgstr "Ausrichtung"
-#: netbox/dcim/forms/bulk_import.py:508
+#: netbox/dcim/forms/bulk_import.py:502
msgid "Mounted rack face"
msgstr "Montierte Rackseite"
-#: netbox/dcim/forms/bulk_import.py:515
+#: netbox/dcim/forms/bulk_import.py:509
msgid "Parent device (for child devices)"
msgstr "Übergeordnetes Gerät (für untergeordnete Geräte)"
-#: netbox/dcim/forms/bulk_import.py:518
+#: netbox/dcim/forms/bulk_import.py:512
msgid "Device bay"
msgstr "Geräteeinsatz"
-#: netbox/dcim/forms/bulk_import.py:522
+#: netbox/dcim/forms/bulk_import.py:516
msgid "Device bay in which this device is installed (for child devices)"
msgstr ""
"Geräteschacht, in dem dieses Gerät installiert ist (für untergeordnete "
"Geräte)"
-#: netbox/dcim/forms/bulk_import.py:528
+#: netbox/dcim/forms/bulk_import.py:522
msgid "Airflow direction"
msgstr "Richtung des Luftstroms"
-#: netbox/dcim/forms/bulk_import.py:589
+#: netbox/dcim/forms/bulk_import.py:583
msgid "The device in which this module is installed"
msgstr "Das Gerät, in dem dieses Modul installiert ist"
-#: netbox/dcim/forms/bulk_import.py:592 netbox/dcim/forms/model_forms.py:583
+#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/model_forms.py:583
msgid "Module bay"
msgstr "Moduleinsatz"
-#: netbox/dcim/forms/bulk_import.py:595
+#: netbox/dcim/forms/bulk_import.py:589
msgid "The module bay in which this module is installed"
msgstr "Der Modulschacht, in dem dieses Modul installiert ist"
-#: netbox/dcim/forms/bulk_import.py:601
+#: netbox/dcim/forms/bulk_import.py:595
msgid "The type of module"
msgstr "Der Typ des Moduls"
-#: netbox/dcim/forms/bulk_import.py:609 netbox/dcim/forms/model_forms.py:599
+#: netbox/dcim/forms/bulk_import.py:603 netbox/dcim/forms/model_forms.py:599
msgid "Replicate components"
msgstr "Komponenten replizieren"
-#: netbox/dcim/forms/bulk_import.py:611
+#: netbox/dcim/forms/bulk_import.py:605
msgid ""
"Automatically populate components associated with this module type (enabled "
"by default)"
@@ -3887,87 +3892,87 @@ msgstr ""
"Automatisches Ausfüllen von Komponenten, die diesem Modultyp zugeordnet sind"
" (standardmäßig aktiviert)"
-#: netbox/dcim/forms/bulk_import.py:614 netbox/dcim/forms/model_forms.py:605
+#: netbox/dcim/forms/bulk_import.py:608 netbox/dcim/forms/model_forms.py:605
msgid "Adopt components"
msgstr "Komponenten übernehmen"
-#: netbox/dcim/forms/bulk_import.py:616 netbox/dcim/forms/model_forms.py:608
+#: netbox/dcim/forms/bulk_import.py:610 netbox/dcim/forms/model_forms.py:608
msgid "Adopt already existing components"
msgstr "Übernehmen Sie bereits bestehende Komponenten"
-#: netbox/dcim/forms/bulk_import.py:656 netbox/dcim/forms/bulk_import.py:682
-#: netbox/dcim/forms/bulk_import.py:708
+#: netbox/dcim/forms/bulk_import.py:650 netbox/dcim/forms/bulk_import.py:676
+#: netbox/dcim/forms/bulk_import.py:702
msgid "Port type"
msgstr "Anschluss-Typ"
-#: netbox/dcim/forms/bulk_import.py:664 netbox/dcim/forms/bulk_import.py:690
+#: netbox/dcim/forms/bulk_import.py:658 netbox/dcim/forms/bulk_import.py:684
msgid "Port speed in bps"
msgstr "Anschlussgeschwindigkeit in Bit/s"
-#: netbox/dcim/forms/bulk_import.py:728
+#: netbox/dcim/forms/bulk_import.py:722
msgid "Outlet type"
msgstr "Ausgangs-Typ"
-#: netbox/dcim/forms/bulk_import.py:735
+#: netbox/dcim/forms/bulk_import.py:729
msgid "Local power port which feeds this outlet"
msgstr "Lokaler Stromanschluss, der diese Stromabgänge speist"
-#: netbox/dcim/forms/bulk_import.py:741
+#: netbox/dcim/forms/bulk_import.py:735
msgid "Electrical phase (for three-phase circuits)"
msgstr "Elektrische Phase (für dreiphasige Stromkreise)"
-#: netbox/dcim/forms/bulk_import.py:782 netbox/dcim/forms/model_forms.py:1264
+#: netbox/dcim/forms/bulk_import.py:776 netbox/dcim/forms/model_forms.py:1264
#: netbox/virtualization/forms/bulk_import.py:155
#: netbox/virtualization/forms/model_forms.py:305
msgid "Parent interface"
msgstr "Übergeordnete Schnittstelle"
-#: netbox/dcim/forms/bulk_import.py:789 netbox/dcim/forms/model_forms.py:1272
+#: netbox/dcim/forms/bulk_import.py:783 netbox/dcim/forms/model_forms.py:1272
#: netbox/virtualization/forms/bulk_import.py:162
#: netbox/virtualization/forms/model_forms.py:313
msgid "Bridged interface"
msgstr "Überbrückte Schnittstelle"
-#: netbox/dcim/forms/bulk_import.py:792
+#: netbox/dcim/forms/bulk_import.py:786
msgid "Lag"
msgstr "Lag"
-#: netbox/dcim/forms/bulk_import.py:796
+#: netbox/dcim/forms/bulk_import.py:790
msgid "Parent LAG interface"
msgstr "Übergeordnete LAG-Schnittstelle"
-#: netbox/dcim/forms/bulk_import.py:799
+#: netbox/dcim/forms/bulk_import.py:793
msgid "Vdcs"
msgstr "Vdcs"
-#: netbox/dcim/forms/bulk_import.py:804
+#: netbox/dcim/forms/bulk_import.py:798
msgid "VDC names separated by commas, encased with double quotes. Example:"
msgstr ""
"VDC-Namen, getrennt durch Kommas, umgeben von doppelten Anführungszeichen. "
"Beispiel:"
-#: netbox/dcim/forms/bulk_import.py:810
+#: netbox/dcim/forms/bulk_import.py:804
msgid "Physical medium"
msgstr "Physikalisches Medium"
-#: netbox/dcim/forms/bulk_import.py:813 netbox/dcim/forms/filtersets.py:1271
+#: netbox/dcim/forms/bulk_import.py:807 netbox/dcim/forms/filtersets.py:1283
msgid "Duplex"
msgstr "Duplex"
-#: netbox/dcim/forms/bulk_import.py:818
+#: netbox/dcim/forms/bulk_import.py:812
msgid "Poe mode"
msgstr "Poe-Modus"
-#: netbox/dcim/forms/bulk_import.py:824
+#: netbox/dcim/forms/bulk_import.py:818
msgid "Poe type"
msgstr "Poe-Typ"
-#: netbox/dcim/forms/bulk_import.py:833
+#: netbox/dcim/forms/bulk_import.py:827
#: netbox/virtualization/forms/bulk_import.py:168
msgid "IEEE 802.1Q operational mode (for L2 interfaces)"
msgstr "IEEE 802.1Q-Betriebsmodus (für L2-Schnittstellen)"
-#: netbox/dcim/forms/bulk_import.py:840 netbox/ipam/forms/bulk_import.py:160
+#: netbox/dcim/forms/bulk_import.py:834 netbox/ipam/forms/bulk_import.py:160
#: netbox/ipam/forms/bulk_import.py:246 netbox/ipam/forms/bulk_import.py:282
#: netbox/ipam/forms/filtersets.py:201 netbox/ipam/forms/filtersets.py:277
#: netbox/ipam/forms/filtersets.py:336
@@ -3975,151 +3980,151 @@ msgstr "IEEE 802.1Q-Betriebsmodus (für L2-Schnittstellen)"
msgid "Assigned VRF"
msgstr "Zugewiesenes VRF"
-#: netbox/dcim/forms/bulk_import.py:843
+#: netbox/dcim/forms/bulk_import.py:837
msgid "Rf role"
msgstr "Rf-Rolle"
-#: netbox/dcim/forms/bulk_import.py:846
+#: netbox/dcim/forms/bulk_import.py:840
msgid "Wireless role (AP/station)"
msgstr "WLAN Rolle (AP/Station)"
-#: netbox/dcim/forms/bulk_import.py:882
+#: netbox/dcim/forms/bulk_import.py:876
#, python-brace-format
msgid "VDC {vdc} is not assigned to device {device}"
msgstr "VDC {vdc} ist dem Gerät {device} nicht zugewiesen"
-#: netbox/dcim/forms/bulk_import.py:896 netbox/dcim/forms/model_forms.py:948
+#: netbox/dcim/forms/bulk_import.py:890 netbox/dcim/forms/model_forms.py:948
#: netbox/dcim/forms/model_forms.py:1522
#: netbox/dcim/forms/object_import.py:117
msgid "Rear port"
msgstr "Rückseitenanschluss"
-#: netbox/dcim/forms/bulk_import.py:899
+#: netbox/dcim/forms/bulk_import.py:893
msgid "Corresponding rear port"
msgstr "Entsprechender Rückanschluss"
-#: netbox/dcim/forms/bulk_import.py:904 netbox/dcim/forms/bulk_import.py:945
-#: netbox/dcim/forms/bulk_import.py:1164
+#: netbox/dcim/forms/bulk_import.py:898 netbox/dcim/forms/bulk_import.py:939
+#: netbox/dcim/forms/bulk_import.py:1155
msgid "Physical medium classification"
msgstr "Klassifizierung des physikalischen Mediums"
-#: netbox/dcim/forms/bulk_import.py:973 netbox/dcim/tables/devices.py:805
+#: netbox/dcim/forms/bulk_import.py:967 netbox/dcim/tables/devices.py:805
msgid "Installed device"
msgstr "Installiertes Gerät"
-#: netbox/dcim/forms/bulk_import.py:977
+#: netbox/dcim/forms/bulk_import.py:971
msgid "Child device installed within this bay"
msgstr "In diesem Schacht installiertes untergeordnetes Gerät"
-#: netbox/dcim/forms/bulk_import.py:979
+#: netbox/dcim/forms/bulk_import.py:973
msgid "Child device not found."
msgstr "Untergeordnetes Gerät wurde nicht gefunden."
-#: netbox/dcim/forms/bulk_import.py:1037
+#: netbox/dcim/forms/bulk_import.py:1031
msgid "Parent inventory item"
msgstr "Artikel aus dem übergeordneten Inventar"
-#: netbox/dcim/forms/bulk_import.py:1040
+#: netbox/dcim/forms/bulk_import.py:1034
msgid "Component type"
msgstr "Komponenten-Typ"
-#: netbox/dcim/forms/bulk_import.py:1044
+#: netbox/dcim/forms/bulk_import.py:1038
msgid "Component Type"
msgstr "Komponenten-Typ"
-#: netbox/dcim/forms/bulk_import.py:1047
+#: netbox/dcim/forms/bulk_import.py:1041
msgid "Compnent name"
msgstr "Name der Komponente"
-#: netbox/dcim/forms/bulk_import.py:1049
+#: netbox/dcim/forms/bulk_import.py:1043
msgid "Component Name"
msgstr "Name der Komponente"
-#: netbox/dcim/forms/bulk_import.py:1091
+#: netbox/dcim/forms/bulk_import.py:1085
#, python-brace-format
msgid "Component not found: {device} - {component_name}"
msgstr "Komponente wurde nicht gefunden: {device} - {component_name}"
-#: netbox/dcim/forms/bulk_import.py:1119
+#: netbox/dcim/forms/bulk_import.py:1110
msgid "Side A device"
msgstr "Gerät Seite A"
-#: netbox/dcim/forms/bulk_import.py:1122 netbox/dcim/forms/bulk_import.py:1140
+#: netbox/dcim/forms/bulk_import.py:1113 netbox/dcim/forms/bulk_import.py:1131
msgid "Device name"
msgstr "Name des Geräts"
-#: netbox/dcim/forms/bulk_import.py:1125
+#: netbox/dcim/forms/bulk_import.py:1116
msgid "Side A type"
msgstr "Typ Seite A"
-#: netbox/dcim/forms/bulk_import.py:1128 netbox/dcim/forms/bulk_import.py:1146
+#: netbox/dcim/forms/bulk_import.py:1119 netbox/dcim/forms/bulk_import.py:1137
msgid "Termination type"
msgstr "Typ des Abschlusspunktes"
-#: netbox/dcim/forms/bulk_import.py:1131
+#: netbox/dcim/forms/bulk_import.py:1122
msgid "Side A name"
msgstr "Name der Seite A"
-#: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1150
+#: netbox/dcim/forms/bulk_import.py:1123 netbox/dcim/forms/bulk_import.py:1141
msgid "Termination name"
msgstr "Name des Abschlusspunktes"
-#: netbox/dcim/forms/bulk_import.py:1137
+#: netbox/dcim/forms/bulk_import.py:1128
msgid "Side B device"
msgstr "Gerät Seite B"
-#: netbox/dcim/forms/bulk_import.py:1143
+#: netbox/dcim/forms/bulk_import.py:1134
msgid "Side B type"
msgstr "Typ Seite B"
-#: netbox/dcim/forms/bulk_import.py:1149
+#: netbox/dcim/forms/bulk_import.py:1140
msgid "Side B name"
msgstr "Name der Seite B"
-#: netbox/dcim/forms/bulk_import.py:1158
+#: netbox/dcim/forms/bulk_import.py:1149
#: netbox/wireless/forms/bulk_import.py:86
msgid "Connection status"
msgstr "Status der Verbindung"
-#: netbox/dcim/forms/bulk_import.py:1213
+#: netbox/dcim/forms/bulk_import.py:1201
#, python-brace-format
msgid "Side {side_upper}: {device} {termination_object} is already connected"
msgstr ""
"Seite {side_upper}: {device} {termination_object} ist bereits verbunden"
-#: netbox/dcim/forms/bulk_import.py:1219
+#: netbox/dcim/forms/bulk_import.py:1207
#, python-brace-format
msgid "{side_upper} side termination not found: {device} {name}"
msgstr "{side_upper} Seitlicher Abschluss nicht gefunden: {device} {name}"
-#: netbox/dcim/forms/bulk_import.py:1244 netbox/dcim/forms/model_forms.py:733
-#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:131
+#: netbox/dcim/forms/bulk_import.py:1232 netbox/dcim/forms/model_forms.py:733
+#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:132
#: netbox/templates/dcim/virtualchassis.html:27
#: netbox/templates/dcim/virtualchassis.html:67
msgid "Master"
msgstr "Master"
-#: netbox/dcim/forms/bulk_import.py:1248
+#: netbox/dcim/forms/bulk_import.py:1236
msgid "Master device"
msgstr "Master-Gerät"
-#: netbox/dcim/forms/bulk_import.py:1265
+#: netbox/dcim/forms/bulk_import.py:1253
msgid "Name of parent site"
msgstr "Name des übergeordneten Standorts"
-#: netbox/dcim/forms/bulk_import.py:1299
+#: netbox/dcim/forms/bulk_import.py:1287
msgid "Upstream power panel"
msgstr "vorgeschalteter Stromverteiler"
-#: netbox/dcim/forms/bulk_import.py:1329
+#: netbox/dcim/forms/bulk_import.py:1317
msgid "Primary or redundant"
msgstr "Primär oder redundant"
-#: netbox/dcim/forms/bulk_import.py:1334
+#: netbox/dcim/forms/bulk_import.py:1322
msgid "Supply type (AC/DC)"
msgstr "Versorgungsart (AC/DC)"
-#: netbox/dcim/forms/bulk_import.py:1339
+#: netbox/dcim/forms/bulk_import.py:1327
msgid "Single or three-phase"
msgstr "Ein- oder Dreiphasig"
@@ -4178,11 +4183,11 @@ msgstr "Stromzufuhr"
msgid "Side"
msgstr "Seite"
-#: netbox/dcim/forms/filtersets.py:142
+#: netbox/dcim/forms/filtersets.py:143
msgid "Parent region"
msgstr "Übergeordnete Region"
-#: netbox/dcim/forms/filtersets.py:156 netbox/tenancy/forms/bulk_import.py:28
+#: netbox/dcim/forms/filtersets.py:157 netbox/tenancy/forms/bulk_import.py:28
#: netbox/tenancy/forms/bulk_import.py:62
#: netbox/tenancy/forms/filtersets.py:33 netbox/tenancy/forms/filtersets.py:62
#: netbox/wireless/forms/bulk_import.py:25
@@ -4190,51 +4195,58 @@ msgstr "Übergeordnete Region"
msgid "Parent group"
msgstr "Übergeordnete Gruppe"
-#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:332
+#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333
msgid "Function"
msgstr "Funktion"
-#: netbox/dcim/forms/filtersets.py:418 netbox/dcim/forms/model_forms.py:317
+#: netbox/dcim/forms/filtersets.py:419 netbox/dcim/forms/model_forms.py:317
#: netbox/templates/inc/panels/image_attachments.html:6
msgid "Images"
msgstr "Bilder"
-#: netbox/dcim/forms/filtersets.py:421 netbox/dcim/forms/filtersets.py:546
-#: netbox/dcim/forms/filtersets.py:656
+#: netbox/dcim/forms/filtersets.py:422 netbox/dcim/forms/filtersets.py:547
+#: netbox/dcim/forms/filtersets.py:657
msgid "Components"
msgstr "Komponenten"
-#: netbox/dcim/forms/filtersets.py:441
+#: netbox/dcim/forms/filtersets.py:442
msgid "Subdevice role"
msgstr "Rolle des Untergeräts"
-#: netbox/dcim/forms/filtersets.py:719
+#: netbox/dcim/forms/filtersets.py:721
msgid "Model"
msgstr "Modell"
-#: netbox/dcim/forms/filtersets.py:763
+#: netbox/dcim/forms/filtersets.py:765
msgid "Has an OOB IP"
msgstr "Hat eine OOB-IP"
-#: netbox/dcim/forms/filtersets.py:770
+#: netbox/dcim/forms/filtersets.py:772
msgid "Virtual chassis member"
msgstr "Virtuelles Gehäuse-Mitglied"
-#: netbox/dcim/forms/filtersets.py:819
+#: netbox/dcim/forms/filtersets.py:821
msgid "Has virtual device contexts"
msgstr "Hat virtuelle Gerätekontexte"
-#: netbox/dcim/forms/filtersets.py:1129
+#: netbox/dcim/forms/filtersets.py:834 netbox/extras/filtersets.py:537
+#: netbox/ipam/forms/bulk_edit.py:476 netbox/ipam/forms/filtersets.py:464
+#: netbox/ipam/forms/model_forms.py:624
+#: netbox/virtualization/forms/filtersets.py:112
+msgid "Cluster group"
+msgstr "Cluster-Gruppe"
+
+#: netbox/dcim/forms/filtersets.py:1141
msgid "Cabled"
msgstr "Verkabelt"
-#: netbox/dcim/forms/filtersets.py:1136
+#: netbox/dcim/forms/filtersets.py:1148
msgid "Occupied"
msgstr "Belegt"
-#: netbox/dcim/forms/filtersets.py:1161 netbox/dcim/forms/filtersets.py:1183
-#: netbox/dcim/forms/filtersets.py:1205 netbox/dcim/forms/filtersets.py:1222
-#: netbox/dcim/forms/filtersets.py:1242 netbox/dcim/tables/devices.py:352
+#: netbox/dcim/forms/filtersets.py:1173 netbox/dcim/forms/filtersets.py:1195
+#: netbox/dcim/forms/filtersets.py:1217 netbox/dcim/forms/filtersets.py:1234
+#: netbox/dcim/forms/filtersets.py:1254 netbox/dcim/tables/devices.py:352
#: netbox/templates/dcim/consoleport.html:55
#: netbox/templates/dcim/consoleserverport.html:55
#: netbox/templates/dcim/frontport.html:69
@@ -4246,42 +4258,42 @@ msgstr "Belegt"
msgid "Connection"
msgstr "Verbindung"
-#: netbox/dcim/forms/filtersets.py:1254 netbox/extras/forms/bulk_edit.py:316
-#: netbox/extras/forms/bulk_import.py:242
+#: netbox/dcim/forms/filtersets.py:1266 netbox/extras/forms/bulk_edit.py:316
+#: netbox/extras/forms/bulk_import.py:239
#: netbox/extras/forms/filtersets.py:473
#: netbox/extras/forms/model_forms.py:551 netbox/extras/tables/tables.py:513
#: netbox/templates/extras/journalentry.html:30
msgid "Kind"
msgstr "Art"
-#: netbox/dcim/forms/filtersets.py:1283
+#: netbox/dcim/forms/filtersets.py:1295
msgid "Mgmt only"
msgstr "Nur Verwaltung"
-#: netbox/dcim/forms/filtersets.py:1295 netbox/dcim/forms/model_forms.py:1330
+#: netbox/dcim/forms/filtersets.py:1307 netbox/dcim/forms/model_forms.py:1330
#: netbox/dcim/models/device_components.py:630
#: netbox/templates/dcim/interface.html:129
msgid "WWN"
msgstr "WWN"
-#: netbox/dcim/forms/filtersets.py:1315
+#: netbox/dcim/forms/filtersets.py:1327
msgid "Wireless channel"
msgstr "WLAN Kanal"
-#: netbox/dcim/forms/filtersets.py:1319
+#: netbox/dcim/forms/filtersets.py:1331
msgid "Channel frequency (MHz)"
msgstr "Kanalfrequenz (MHz)"
-#: netbox/dcim/forms/filtersets.py:1323
+#: netbox/dcim/forms/filtersets.py:1335
msgid "Channel width (MHz)"
msgstr "Kanalbreite (MHz)"
-#: netbox/dcim/forms/filtersets.py:1327
+#: netbox/dcim/forms/filtersets.py:1339
#: netbox/templates/dcim/interface.html:85
msgid "Transmit power (dBm)"
msgstr "Sendeleistung (dBm)"
-#: netbox/dcim/forms/filtersets.py:1350 netbox/dcim/forms/filtersets.py:1372
+#: netbox/dcim/forms/filtersets.py:1362 netbox/dcim/forms/filtersets.py:1384
#: netbox/dcim/tables/devices.py:316 netbox/templates/dcim/cable.html:12
#: netbox/templates/dcim/cable_trace.html:46
#: netbox/templates/dcim/frontport.html:77
@@ -4292,7 +4304,7 @@ msgstr "Sendeleistung (dBm)"
msgid "Cable"
msgstr "Kabel"
-#: netbox/dcim/forms/filtersets.py:1442 netbox/dcim/tables/devices.py:915
+#: netbox/dcim/forms/filtersets.py:1454 netbox/dcim/tables/devices.py:915
msgid "Discovered"
msgstr "Erfasst"
@@ -4318,7 +4330,7 @@ msgstr "Inventar-Steuerung"
msgid "Outer Dimensions"
msgstr "Äußere Abmessungen"
-#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:308
+#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:315
#: netbox/templates/dcim/rack.html:73
msgid "Dimensions"
msgstr "Abmessungen"
@@ -4360,7 +4372,7 @@ msgstr ""
"Die Position im virtuellen Gehäuse, durch die dieses Gerät identifiziert "
"wird"
-#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:132
+#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:133
#: netbox/templates/dcim/virtualchassis.html:68
#: netbox/templates/dcim/virtualchassis_edit.html:56
#: netbox/templates/ipam/inc/panels/fhrp_groups.html:26
@@ -4542,13 +4554,13 @@ msgstr "Inventar-Artikel"
msgid "Inventory Item Role"
msgstr "Rolle des Inventarartikels"
-#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:188
+#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:190
#: netbox/templates/dcim/virtualdevicecontext.html:30
#: netbox/templates/virtualization/virtualmachine.html:48
msgid "Primary IPv4"
msgstr "Primäre IPv4"
-#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:204
+#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:206
#: netbox/templates/dcim/virtualdevicecontext.html:41
#: netbox/templates/virtualization/virtualmachine.html:64
msgid "Primary IPv6"
@@ -4640,7 +4652,7 @@ msgstr "Für das erste VC-Mitglied muss eine Position angegeben werden."
#: netbox/dcim/models/cables.py:62
#: netbox/dcim/models/device_component_templates.py:55
#: netbox/dcim/models/device_components.py:63
-#: netbox/extras/models/customfields.py:109
+#: netbox/extras/models/customfields.py:110
msgid "label"
msgstr "Label"
@@ -5799,7 +5811,7 @@ msgstr "identifizieren"
msgid "Numeric identifier unique to the parent device"
msgstr "Numerische Kennung, die für das übergeordnete Gerät eindeutig ist"
-#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:210
+#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:211
#: netbox/extras/models/models.py:127 netbox/extras/models/models.py:722
#: netbox/netbox/models/__init__.py:114
msgid "comments"
@@ -6169,43 +6181,43 @@ msgstr ""
"Übergeordneter Standort ({parent}) muss zum gleichen Standort gehören "
"({site})."
-#: netbox/dcim/tables/cables.py:54
+#: netbox/dcim/tables/cables.py:55
msgid "Termination A"
msgstr "Abschlusspunkt A"
-#: netbox/dcim/tables/cables.py:59
+#: netbox/dcim/tables/cables.py:60
msgid "Termination B"
msgstr "Abschlusspunkt B"
-#: netbox/dcim/tables/cables.py:65 netbox/wireless/tables/wirelesslink.py:22
+#: netbox/dcim/tables/cables.py:66 netbox/wireless/tables/wirelesslink.py:22
msgid "Device A"
msgstr "Gerät A"
-#: netbox/dcim/tables/cables.py:71 netbox/wireless/tables/wirelesslink.py:31
+#: netbox/dcim/tables/cables.py:72 netbox/wireless/tables/wirelesslink.py:31
msgid "Device B"
msgstr "Gerät B"
-#: netbox/dcim/tables/cables.py:77
+#: netbox/dcim/tables/cables.py:78
msgid "Location A"
msgstr "Standort A"
-#: netbox/dcim/tables/cables.py:83
+#: netbox/dcim/tables/cables.py:84
msgid "Location B"
msgstr "Standort B"
-#: netbox/dcim/tables/cables.py:89
+#: netbox/dcim/tables/cables.py:90
msgid "Rack A"
msgstr "Rack A"
-#: netbox/dcim/tables/cables.py:95
+#: netbox/dcim/tables/cables.py:96
msgid "Rack B"
msgstr "Rack B"
-#: netbox/dcim/tables/cables.py:101
+#: netbox/dcim/tables/cables.py:102
msgid "Site A"
msgstr "Standort A"
-#: netbox/dcim/tables/cables.py:107
+#: netbox/dcim/tables/cables.py:108
msgid "Site B"
msgstr "Standort B"
@@ -6221,7 +6233,7 @@ msgstr "Erreichbar"
#: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62
#: netbox/virtualization/forms/model_forms.py:122
#: netbox/virtualization/tables/clusters.py:83
-#: netbox/virtualization/views.py:202
+#: netbox/virtualization/views.py:205
msgid "Devices"
msgstr "Geräte"
@@ -6302,8 +6314,8 @@ msgid "Power outlets"
msgstr "Stromabgänge"
#: netbox/dcim/tables/devices.py:243 netbox/dcim/tables/devices.py:1046
-#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:985
-#: netbox/dcim/views.py:1224 netbox/dcim/views.py:1900
+#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:988
+#: netbox/dcim/views.py:1227 netbox/dcim/views.py:1908
#: netbox/netbox/navigation/menu.py:81 netbox/netbox/navigation/menu.py:237
#: netbox/templates/dcim/device/base.html:37
#: netbox/templates/dcim/device_list.html:43
@@ -6315,7 +6327,7 @@ msgstr "Stromabgänge"
#: netbox/templates/virtualization/virtualmachine/base.html:27
#: netbox/templates/virtualization/virtualmachine_list.html:14
#: netbox/virtualization/tables/virtualmachines.py:100
-#: netbox/virtualization/views.py:359 netbox/wireless/tables/wirelesslan.py:55
+#: netbox/virtualization/views.py:363 netbox/wireless/tables/wirelesslan.py:55
msgid "Interfaces"
msgstr "Schnittstellen"
@@ -6341,8 +6353,8 @@ msgid "Module Bay"
msgstr "Moduleinsatz"
#: netbox/dcim/tables/devices.py:310 netbox/dcim/tables/devicetypes.py:48
-#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1060
-#: netbox/dcim/views.py:1993 netbox/netbox/navigation/menu.py:90
+#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1063
+#: netbox/dcim/views.py:2006 netbox/netbox/navigation/menu.py:90
#: netbox/templates/dcim/device/base.html:52
#: netbox/templates/dcim/device_list.html:71
#: netbox/templates/dcim/devicetype/base.html:49
@@ -6372,8 +6384,8 @@ msgid "Allocated draw (W)"
msgstr "Zugewiesener Stromverbrauch (W)"
#: netbox/dcim/tables/devices.py:546 netbox/ipam/forms/model_forms.py:747
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:589
-#: netbox/ipam/views.py:688 netbox/netbox/navigation/menu.py:145
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:596
+#: netbox/ipam/views.py:696 netbox/netbox/navigation/menu.py:145
#: netbox/netbox/navigation/menu.py:147
#: netbox/templates/dcim/interface.html:339
#: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -6466,8 +6478,8 @@ msgstr "Höhe in HE"
msgid "Instances"
msgstr "Instanzen"
-#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:925
-#: netbox/dcim/views.py:1164 netbox/dcim/views.py:1840
+#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:928
+#: netbox/dcim/views.py:1167 netbox/dcim/views.py:1844
#: netbox/netbox/navigation/menu.py:84
#: netbox/templates/dcim/device/base.html:25
#: netbox/templates/dcim/device_list.html:15
@@ -6477,8 +6489,8 @@ msgstr "Instanzen"
msgid "Console Ports"
msgstr "Konsolen-Anschlüsse"
-#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:940
-#: netbox/dcim/views.py:1179 netbox/dcim/views.py:1855
+#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:943
+#: netbox/dcim/views.py:1182 netbox/dcim/views.py:1860
#: netbox/netbox/navigation/menu.py:85
#: netbox/templates/dcim/device/base.html:28
#: netbox/templates/dcim/device_list.html:22
@@ -6488,8 +6500,8 @@ msgstr "Konsolen-Anschlüsse"
msgid "Console Server Ports"
msgstr "Konsolenserver-Anschlüsse"
-#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:955
-#: netbox/dcim/views.py:1194 netbox/dcim/views.py:1870
+#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:958
+#: netbox/dcim/views.py:1197 netbox/dcim/views.py:1876
#: netbox/netbox/navigation/menu.py:86
#: netbox/templates/dcim/device/base.html:31
#: netbox/templates/dcim/device_list.html:29
@@ -6499,8 +6511,8 @@ msgstr "Konsolenserver-Anschlüsse"
msgid "Power Ports"
msgstr "Stromanschlüsse"
-#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:970
-#: netbox/dcim/views.py:1209 netbox/dcim/views.py:1885
+#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:973
+#: netbox/dcim/views.py:1212 netbox/dcim/views.py:1892
#: netbox/netbox/navigation/menu.py:87
#: netbox/templates/dcim/device/base.html:34
#: netbox/templates/dcim/device_list.html:36
@@ -6510,8 +6522,8 @@ msgstr "Stromanschlüsse"
msgid "Power Outlets"
msgstr "Steckdosen"
-#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1000
-#: netbox/dcim/views.py:1239 netbox/dcim/views.py:1921
+#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1003
+#: netbox/dcim/views.py:1242 netbox/dcim/views.py:1930
#: netbox/netbox/navigation/menu.py:82
#: netbox/templates/dcim/device/base.html:40
#: netbox/templates/dcim/devicetype/base.html:37
@@ -6520,8 +6532,8 @@ msgstr "Steckdosen"
msgid "Front Ports"
msgstr "Frontanschlüsse"
-#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1015
-#: netbox/dcim/views.py:1254 netbox/dcim/views.py:1936
+#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1018
+#: netbox/dcim/views.py:1257 netbox/dcim/views.py:1946
#: netbox/netbox/navigation/menu.py:83
#: netbox/templates/dcim/device/base.html:43
#: netbox/templates/dcim/device_list.html:50
@@ -6531,16 +6543,16 @@ msgstr "Frontanschlüsse"
msgid "Rear Ports"
msgstr "Rückanschlüsse"
-#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1045
-#: netbox/dcim/views.py:1974 netbox/netbox/navigation/menu.py:89
+#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1048
+#: netbox/dcim/views.py:1986 netbox/netbox/navigation/menu.py:89
#: netbox/templates/dcim/device/base.html:49
#: netbox/templates/dcim/device_list.html:57
#: netbox/templates/dcim/devicetype/base.html:46
msgid "Device Bays"
msgstr "Geräte-Einsätze"
-#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1030
-#: netbox/dcim/views.py:1955 netbox/netbox/navigation/menu.py:88
+#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1033
+#: netbox/dcim/views.py:1966 netbox/netbox/navigation/menu.py:88
#: netbox/templates/dcim/device/base.html:46
#: netbox/templates/dcim/device_list.html:64
#: netbox/templates/dcim/devicetype/base.html:43
@@ -6565,7 +6577,7 @@ msgstr "Verfügbare Leistung (VA)"
msgid "Racks"
msgstr "Racks"
-#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:311
+#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:318
#: netbox/templates/dcim/rack.html:90
msgid "Height"
msgstr "Höhe"
@@ -6598,38 +6610,38 @@ msgstr "Standorte"
msgid "Test case must set peer_termination_type"
msgstr "Der Testfall muss peer_termination_type setzen"
-#: netbox/dcim/views.py:139
+#: netbox/dcim/views.py:140
#, python-brace-format
msgid "Disconnected {count} {type}"
msgstr "Verbindung von {count} {type} unterbrochen"
-#: netbox/dcim/views.py:684 netbox/netbox/navigation/menu.py:28
+#: netbox/dcim/views.py:686 netbox/netbox/navigation/menu.py:28
msgid "Reservations"
msgstr "Reservierungen"
-#: netbox/dcim/views.py:702 netbox/templates/dcim/location.html:90
+#: netbox/dcim/views.py:705 netbox/templates/dcim/location.html:90
#: netbox/templates/dcim/site.html:140
msgid "Non-Racked Devices"
msgstr "Nicht in einem Rack befindliche Geräte"
-#: netbox/dcim/views.py:2006 netbox/extras/forms/model_forms.py:453
+#: netbox/dcim/views.py:2019 netbox/extras/forms/model_forms.py:453
#: netbox/templates/extras/configcontext.html:10
#: netbox/virtualization/forms/model_forms.py:225
-#: netbox/virtualization/views.py:399
+#: netbox/virtualization/views.py:404
msgid "Config Context"
msgstr "Config-Kontext"
-#: netbox/dcim/views.py:2016 netbox/virtualization/views.py:409
+#: netbox/dcim/views.py:2029 netbox/virtualization/views.py:414
msgid "Render Config"
msgstr "Konfiguration rendern"
-#: netbox/dcim/views.py:2066 netbox/extras/tables/tables.py:441
+#: netbox/dcim/views.py:2080 netbox/extras/tables/tables.py:441
#: netbox/netbox/navigation/menu.py:234 netbox/netbox/navigation/menu.py:236
-#: netbox/virtualization/views.py:177
+#: netbox/virtualization/views.py:179
msgid "Virtual Machines"
msgstr "Virtuelle Maschinen"
-#: netbox/dcim/views.py:2948 netbox/ipam/tables/ip.py:233
+#: netbox/dcim/views.py:2963 netbox/ipam/tables/ip.py:233
msgid "Children"
msgstr "Untergeordnet"
@@ -7062,16 +7074,6 @@ msgstr "Cluster-Typ"
msgid "Cluster type (slug)"
msgstr "Cluster-Typ (URL-Slug)"
-#: netbox/extras/filtersets.py:537 netbox/ipam/forms/bulk_edit.py:476
-#: netbox/ipam/forms/filtersets.py:464 netbox/ipam/forms/model_forms.py:624
-#: netbox/virtualization/forms/filtersets.py:112
-msgid "Cluster group"
-msgstr "Cluster-Gruppe"
-
-#: netbox/extras/filtersets.py:543 netbox/virtualization/filtersets.py:136
-msgid "Cluster group (slug)"
-msgstr "Cluster-Gruppe (URL-Slug)"
-
#: netbox/extras/filtersets.py:553 netbox/tenancy/forms/forms.py:16
#: netbox/tenancy/forms/forms.py:39
msgid "Tenant group"
@@ -7112,13 +7114,13 @@ msgstr "Erforderlich"
#: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_import.py:57
#: netbox/extras/forms/filtersets.py:79
-#: netbox/extras/models/customfields.py:194
+#: netbox/extras/models/customfields.py:195
msgid "UI visible"
msgstr "UI sichtbar"
#: netbox/extras/forms/bulk_edit.py:58 netbox/extras/forms/bulk_import.py:63
#: netbox/extras/forms/filtersets.py:84
-#: netbox/extras/models/customfields.py:201
+#: netbox/extras/models/customfields.py:202
msgid "UI editable"
msgstr "UI editierbar"
@@ -7303,11 +7305,11 @@ msgstr "Webhook {name} nicht gefunden"
msgid "Script {name} not found"
msgstr "Skript {name} nicht gefunden"
-#: netbox/extras/forms/bulk_import.py:239
+#: netbox/extras/forms/bulk_import.py:236
msgid "Assigned object type"
msgstr "Zugewiesener Objekttyp"
-#: netbox/extras/forms/bulk_import.py:244
+#: netbox/extras/forms/bulk_import.py:241
msgid "The classification of entry"
msgstr "Die Klassifizierung der Einreise"
@@ -7773,35 +7775,35 @@ msgstr "Konfigurationsvorlage"
msgid "config templates"
msgstr "Konfigurationsvorlagen"
-#: netbox/extras/models/customfields.py:73
+#: netbox/extras/models/customfields.py:74
msgid "The object(s) to which this field applies."
msgstr "Die Objekte, für die dieses Feld gilt."
-#: netbox/extras/models/customfields.py:80
+#: netbox/extras/models/customfields.py:81
msgid "The type of data this custom field holds"
msgstr "Der Datentyp, den dieses benutzerdefinierte Feld enthält"
-#: netbox/extras/models/customfields.py:87
+#: netbox/extras/models/customfields.py:88
msgid "The type of NetBox object this field maps to (for object fields)"
msgstr ""
"Der Typ des NetBox-Objekts, dem dieses Feld zugeordnet ist (für "
"Objektfelder)"
-#: netbox/extras/models/customfields.py:93
+#: netbox/extras/models/customfields.py:94
msgid "Internal field name"
msgstr "Interner Feldname"
-#: netbox/extras/models/customfields.py:97
+#: netbox/extras/models/customfields.py:98
msgid "Only alphanumeric characters and underscores are allowed."
msgstr "Nur alphanumerische Zeichen und Unterstriche sind zulässig."
-#: netbox/extras/models/customfields.py:102
+#: netbox/extras/models/customfields.py:103
msgid "Double underscores are not permitted in custom field names."
msgstr ""
"Doppelte Unterstriche sind in den Namen benutzerdefinierter Felder nicht "
"zulässig."
-#: netbox/extras/models/customfields.py:113
+#: netbox/extras/models/customfields.py:114
msgid ""
"Name of the field as displayed to users (if not provided, 'the field's name "
"will be used)"
@@ -7809,21 +7811,21 @@ msgstr ""
"Name des Feldes, wie er den Benutzern angezeigt wird (falls nicht angegeben,"
" wird der Name des Felds verwendet)"
-#: netbox/extras/models/customfields.py:117 netbox/extras/models/models.py:345
+#: netbox/extras/models/customfields.py:118 netbox/extras/models/models.py:345
msgid "group name"
msgstr "Name der Gruppe"
-#: netbox/extras/models/customfields.py:120
+#: netbox/extras/models/customfields.py:121
msgid "Custom fields within the same group will be displayed together"
msgstr ""
"Benutzerdefinierte Felder innerhalb derselben Gruppe werden zusammen "
"angezeigt"
-#: netbox/extras/models/customfields.py:128
+#: netbox/extras/models/customfields.py:129
msgid "required"
msgstr "erforderlich"
-#: netbox/extras/models/customfields.py:130
+#: netbox/extras/models/customfields.py:131
msgid ""
"If true, this field is required when creating new objects or editing an "
"existing object."
@@ -7831,11 +7833,11 @@ msgstr ""
"Wenn wahr, ist dieses Feld erforderlich, wenn Sie neue Objekte erstellen "
"oder ein vorhandenes Objekt bearbeiten."
-#: netbox/extras/models/customfields.py:133
+#: netbox/extras/models/customfields.py:134
msgid "search weight"
msgstr "Gewichtung der Suche"
-#: netbox/extras/models/customfields.py:136
+#: netbox/extras/models/customfields.py:137
msgid ""
"Weighting for search. Lower values are considered more important. Fields "
"with a search weight of zero will be ignored."
@@ -7843,11 +7845,11 @@ msgstr ""
"Gewichtung für die Suche. Niedrigere Werte werden als wichtiger angesehen. "
"Felder mit einem Suchgewicht von Null werden ignoriert."
-#: netbox/extras/models/customfields.py:141
+#: netbox/extras/models/customfields.py:142
msgid "filter logic"
msgstr "Filterlogik"
-#: netbox/extras/models/customfields.py:145
+#: netbox/extras/models/customfields.py:146
msgid ""
"Loose matches any instance of a given string; exact matches the entire "
"field."
@@ -7855,11 +7857,11 @@ msgstr ""
"Loose entspricht einer beliebigen Instanz einer bestimmten Zeichenfolge; "
"exact entspricht dem gesamten Feld."
-#: netbox/extras/models/customfields.py:148
+#: netbox/extras/models/customfields.py:149
msgid "default"
msgstr "Standard"
-#: netbox/extras/models/customfields.py:152
+#: netbox/extras/models/customfields.py:153
msgid ""
"Default value for the field (must be a JSON value). Encapsulate strings with"
" double quotes (e.g. \"Foo\")."
@@ -7867,36 +7869,36 @@ msgstr ""
"Standardwert für das Feld (muss ein JSON-Wert sein). Kapsele Zeichenketten "
"mit doppelten Anführungszeichen ein (z. B. „Foo“)."
-#: netbox/extras/models/customfields.py:157
+#: netbox/extras/models/customfields.py:158
msgid "display weight"
msgstr "Gewicht anzeigen"
-#: netbox/extras/models/customfields.py:158
+#: netbox/extras/models/customfields.py:159
msgid "Fields with higher weights appear lower in a form."
msgstr ""
"Felder mit höheren Gewichten werden in einem Formular niedriger angezeigt."
-#: netbox/extras/models/customfields.py:163
+#: netbox/extras/models/customfields.py:164
msgid "minimum value"
msgstr "minimaler Wert"
-#: netbox/extras/models/customfields.py:164
+#: netbox/extras/models/customfields.py:165
msgid "Minimum allowed value (for numeric fields)"
msgstr "Zulässiger Mindestwert (für numerische Felder)"
-#: netbox/extras/models/customfields.py:169
+#: netbox/extras/models/customfields.py:170
msgid "maximum value"
msgstr "maximaler Wert"
-#: netbox/extras/models/customfields.py:170
+#: netbox/extras/models/customfields.py:171
msgid "Maximum allowed value (for numeric fields)"
msgstr "Zulässiger Maximalwert (für numerische Felder)"
-#: netbox/extras/models/customfields.py:176
+#: netbox/extras/models/customfields.py:177
msgid "validation regex"
msgstr "Regex für die Validierung"
-#: netbox/extras/models/customfields.py:178
+#: netbox/extras/models/customfields.py:179
#, python-brace-format
msgid ""
"Regular expression to enforce on text field values. Use ^ and $ to force "
@@ -7908,178 +7910,178 @@ msgstr ""
"Beispiel
^ [A-Z]{3}$
begrenzt die Werte auf genau drei "
"Großbuchstaben."
-#: netbox/extras/models/customfields.py:186
+#: netbox/extras/models/customfields.py:187
msgid "choice set"
msgstr "Auswahlset"
-#: netbox/extras/models/customfields.py:195
+#: netbox/extras/models/customfields.py:196
msgid "Specifies whether the custom field is displayed in the UI"
msgstr ""
"Gibt an, ob das benutzerdefinierte Feld in der Benutzeroberfläche angezeigt "
"wird"
-#: netbox/extras/models/customfields.py:202
+#: netbox/extras/models/customfields.py:203
msgid "Specifies whether the custom field value can be edited in the UI"
msgstr ""
"Gibt an, ob der Wert des benutzerdefinierten Felds in der Benutzeroberfläche"
" bearbeitet werden kann."
-#: netbox/extras/models/customfields.py:206
+#: netbox/extras/models/customfields.py:207
msgid "is cloneable"
msgstr "ist klonbar"
-#: netbox/extras/models/customfields.py:207
+#: netbox/extras/models/customfields.py:208
msgid "Replicate this value when cloning objects"
msgstr "Replizieren Sie diesen Wert beim Klonen von Objekten"
-#: netbox/extras/models/customfields.py:224
+#: netbox/extras/models/customfields.py:225
msgid "custom field"
msgstr "benutzerdefiniertes Feld"
-#: netbox/extras/models/customfields.py:225
+#: netbox/extras/models/customfields.py:226
msgid "custom fields"
msgstr "benutzerdefinierte Felder"
-#: netbox/extras/models/customfields.py:314
+#: netbox/extras/models/customfields.py:315
#, python-brace-format
msgid "Invalid default value \"{value}\": {error}"
msgstr "Ungültiger Standardwert \"{value}\": {error}"
-#: netbox/extras/models/customfields.py:321
+#: netbox/extras/models/customfields.py:322
msgid "A minimum value may be set only for numeric fields"
msgstr "Ein Mindestwert kann nur für numerische Felder festgelegt werden"
-#: netbox/extras/models/customfields.py:323
+#: netbox/extras/models/customfields.py:324
msgid "A maximum value may be set only for numeric fields"
msgstr "Ein Maximalwert kann nur für numerische Felder festgelegt werden"
-#: netbox/extras/models/customfields.py:333
+#: netbox/extras/models/customfields.py:334
msgid ""
"Regular expression validation is supported only for text and URL fields"
msgstr ""
"Die Überprüfung regulärer Ausdrücke wird nur für Text- und URL-Felder "
"unterstützt"
-#: netbox/extras/models/customfields.py:343
+#: netbox/extras/models/customfields.py:344
msgid "Selection fields must specify a set of choices."
msgstr "Auswahlfelder müssen eine Reihe von Auswahlmöglichkeiten enthalten."
-#: netbox/extras/models/customfields.py:347
+#: netbox/extras/models/customfields.py:348
msgid "Choices may be set only on selection fields."
msgstr "Auswahlmöglichkeiten können nur für Auswahlfelder festgelegt werden."
-#: netbox/extras/models/customfields.py:354
+#: netbox/extras/models/customfields.py:355
msgid "Object fields must define an object type."
msgstr "Objektfelder müssen einen Objekttyp definieren."
-#: netbox/extras/models/customfields.py:359
+#: netbox/extras/models/customfields.py:360
#, python-brace-format
msgid "{type} fields may not define an object type."
msgstr "{type} Felder definieren möglicherweise keinen Objekttyp."
-#: netbox/extras/models/customfields.py:439
+#: netbox/extras/models/customfields.py:440
msgid "True"
msgstr "Wahr"
-#: netbox/extras/models/customfields.py:440
+#: netbox/extras/models/customfields.py:441
msgid "False"
msgstr "Falsch"
-#: netbox/extras/models/customfields.py:522
+#: netbox/extras/models/customfields.py:523
#, python-brace-format
msgid "Values must match this regex:
{regex}
"
msgstr ""
"Die Werte müssen mit diesem Regex übereinstimmen:
{regex}
"
-#: netbox/extras/models/customfields.py:616
+#: netbox/extras/models/customfields.py:617
msgid "Value must be a string."
msgstr "Der Wert muss eine Zeichenfolge sein."
-#: netbox/extras/models/customfields.py:618
+#: netbox/extras/models/customfields.py:619
#, python-brace-format
msgid "Value must match regex '{regex}'"
msgstr "Wert muss mit Regex '{regex}' übereinstimmen"
-#: netbox/extras/models/customfields.py:623
+#: netbox/extras/models/customfields.py:624
msgid "Value must be an integer."
msgstr "Der Wert muss eine Ganzzahl sein."
-#: netbox/extras/models/customfields.py:626
-#: netbox/extras/models/customfields.py:641
+#: netbox/extras/models/customfields.py:627
+#: netbox/extras/models/customfields.py:642
#, python-brace-format
msgid "Value must be at least {minimum}"
msgstr "Wert muss mindestens {minimum} sein"
-#: netbox/extras/models/customfields.py:630
-#: netbox/extras/models/customfields.py:645
+#: netbox/extras/models/customfields.py:631
+#: netbox/extras/models/customfields.py:646
#, python-brace-format
msgid "Value must not exceed {maximum}"
msgstr "Wert darf nicht {maximum} überschreiten"
-#: netbox/extras/models/customfields.py:638
+#: netbox/extras/models/customfields.py:639
msgid "Value must be a decimal."
msgstr "Der Wert muss eine Dezimalzahl sein."
-#: netbox/extras/models/customfields.py:650
+#: netbox/extras/models/customfields.py:651
msgid "Value must be true or false."
msgstr "Der Wert muss wahr oder falsch sein."
-#: netbox/extras/models/customfields.py:658
+#: netbox/extras/models/customfields.py:659
msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
msgstr "Datumswerte müssen im ISO 8601-Format (JJJJ-MM-DD) vorliegen."
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:672
msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
msgstr ""
"Datums- und Uhrzeitwerte müssen im ISO 8601-Format (JJJJ-MM-DD HH:MM:SS) "
"vorliegen."
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:679
#, python-brace-format
msgid "Invalid choice ({value}) for choice set {choiceset}."
msgstr "Ungültige Auswahl ({value}) für Auswahlsatz {choiceset}."
-#: netbox/extras/models/customfields.py:688
+#: netbox/extras/models/customfields.py:689
#, python-brace-format
msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
msgstr "Ungültige Auswahl (en) ({value}) für Auswahlsatz {choiceset}."
-#: netbox/extras/models/customfields.py:697
+#: netbox/extras/models/customfields.py:698
#, python-brace-format
msgid "Value must be an object ID, not {type}"
msgstr "Der Wert muss eine Objekt-ID sein, nicht {type}"
-#: netbox/extras/models/customfields.py:703
+#: netbox/extras/models/customfields.py:704
#, python-brace-format
msgid "Value must be a list of object IDs, not {type}"
msgstr "Der Wert muss eine Liste von Objekt-IDs sein, nicht {type}"
-#: netbox/extras/models/customfields.py:707
+#: netbox/extras/models/customfields.py:708
#, python-brace-format
msgid "Found invalid object ID: {id}"
msgstr "Ungültige Objekt-ID gefunden: {id}"
-#: netbox/extras/models/customfields.py:710
+#: netbox/extras/models/customfields.py:711
msgid "Required field cannot be empty."
msgstr "Das erforderliche Feld darf nicht leer sein."
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:730
msgid "Base set of predefined choices (optional)"
msgstr "Basissatz vordefinierter Auswahlmöglichkeiten (optional)"
-#: netbox/extras/models/customfields.py:741
+#: netbox/extras/models/customfields.py:742
msgid "Choices are automatically ordered alphabetically"
msgstr "Die Auswahlmöglichkeiten werden automatisch alphabetisch sortiert"
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:749
msgid "custom field choice set"
msgstr "benutzerdefinierter Feldauswahlsatz"
-#: netbox/extras/models/customfields.py:749
+#: netbox/extras/models/customfields.py:750
msgid "custom field choice sets"
msgstr "benutzerdefinierte Feldauswahlsätze"
-#: netbox/extras/models/customfields.py:785
+#: netbox/extras/models/customfields.py:786
msgid "Must define base or extra choices."
msgstr "Muss Basis- oder zusätzliche Auswahlmöglichkeiten definieren."
@@ -8525,19 +8527,19 @@ msgstr "Skriptdaten"
msgid "Script Execution Parameters"
msgstr "Parameter für die Skriptausführung"
-#: netbox/extras/scripts.py:664
+#: netbox/extras/scripts.py:666
msgid "Database changes have been reverted automatically."
msgstr "Datenbankänderungen wurden automatisch rückgängig gemacht."
-#: netbox/extras/scripts.py:677
+#: netbox/extras/scripts.py:679
msgid "Script aborted with error: "
msgstr "Das Skript wurde mit einem Fehler abgebrochen: "
-#: netbox/extras/scripts.py:687
+#: netbox/extras/scripts.py:689
msgid "An exception occurred: "
msgstr "Eine Ausnahme ist aufgetreten: "
-#: netbox/extras/scripts.py:690
+#: netbox/extras/scripts.py:692
msgid "Database changes have been reverted due to error."
msgstr "Datenbankänderungen wurden aufgrund eines Fehlers rückgängig gemacht."
@@ -9847,7 +9849,7 @@ msgid "The primary function of this VLAN"
msgstr "Die Hauptfunktion dieses VLAN"
#: netbox/ipam/models/vlans.py:215 netbox/ipam/tables/ip.py:175
-#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:961
+#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:971
#: netbox/netbox/navigation/menu.py:180 netbox/netbox/navigation/menu.py:182
msgid "VLANs"
msgstr "VLANs"
@@ -9923,7 +9925,7 @@ msgid "Added"
msgstr "Hinzugefügt"
#: netbox/ipam/tables/ip.py:127 netbox/ipam/tables/ip.py:165
-#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:342
+#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:346
#: netbox/netbox/navigation/menu.py:152 netbox/netbox/navigation/menu.py:154
#: netbox/templates/ipam/vlan.html:84
msgid "Prefixes"
@@ -9931,7 +9933,7 @@ msgstr "Prefixe"
#: netbox/ipam/tables/ip.py:130 netbox/ipam/tables/ip.py:267
#: netbox/ipam/tables/ip.py:320 netbox/ipam/tables/vlans.py:82
-#: netbox/templates/dcim/device.html:253
+#: netbox/templates/dcim/device.html:260
#: netbox/templates/ipam/aggregate.html:24
#: netbox/templates/ipam/iprange.html:29 netbox/templates/ipam/prefix.html:106
msgid "Utilization"
@@ -10026,23 +10028,23 @@ msgstr ""
"In DNS-Namen sind nur alphanumerische Zeichen, Sternchen, Bindestriche, "
"Punkte und Unterstriche zulässig"
-#: netbox/ipam/views.py:528
+#: netbox/ipam/views.py:533
msgid "Child Prefixes"
msgstr "untergeordnete Prefixe"
-#: netbox/ipam/views.py:563
+#: netbox/ipam/views.py:569
msgid "Child Ranges"
msgstr "untergeordnete Bereiche"
-#: netbox/ipam/views.py:889
+#: netbox/ipam/views.py:898
msgid "Related IPs"
msgstr "Verwandte IPs"
-#: netbox/ipam/views.py:1116
+#: netbox/ipam/views.py:1127
msgid "Device Interfaces"
msgstr "Geräte-Schnittstellen"
-#: netbox/ipam/views.py:1133
+#: netbox/ipam/views.py:1145
msgid "VM Interfaces"
msgstr "VM-Schnittstellen"
@@ -10377,6 +10379,10 @@ msgstr "Regex"
msgid "Object type(s)"
msgstr "Objekttyp(en)"
+#: netbox/netbox/forms/__init__.py:40
+msgid "Lookup"
+msgstr "Suchen"
+
#: netbox/netbox/forms/base.py:88
msgid ""
"Tag slugs separated by commas, encased with double quotes (e.g. "
@@ -10481,7 +10487,7 @@ msgstr "Kontakt-Zuweisungen"
msgid "Modules"
msgstr "Module"
-#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:158
+#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:160
#: netbox/templates/dcim/virtualdevicecontext.html:8
msgid "Virtual Device Contexts"
msgstr "Kontexte virtueller Geräte"
@@ -10543,7 +10549,7 @@ msgstr "VLAN-Gruppen"
msgid "Service Templates"
msgstr "Vorlagen für Dienste"
-#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:295
+#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:302
#: netbox/templates/ipam/ipaddress.html:118
#: netbox/templates/virtualization/virtualmachine.html:150
msgid "Services"
@@ -10610,7 +10616,7 @@ msgstr "Virtualisierung"
#: netbox/templates/virtualization/virtualmachine/base.html:32
#: netbox/templates/virtualization/virtualmachine_list.html:21
#: netbox/virtualization/tables/virtualmachines.py:103
-#: netbox/virtualization/views.py:380
+#: netbox/virtualization/views.py:385
msgid "Virtual Disks"
msgstr "Virtuelle Festplatten"
@@ -10672,7 +10678,7 @@ msgstr "Personalisierung"
#: netbox/templates/htmx/form.html:19 netbox/templates/inc/filter_list.html:30
#: netbox/templates/inc/panels/custom_fields.html:7
#: netbox/templates/ipam/ipaddress_bulk_add.html:35
-#: netbox/templates/ipam/vlan_edit.html:63
+#: netbox/templates/ipam/vlan_edit.html:59
msgid "Custom Fields"
msgstr "Benutzerdefinierte Felder"
@@ -10778,7 +10784,7 @@ msgstr "Konfigurationsverlauf"
msgid "Background Tasks"
msgstr "Hintergrund-Aufgaben"
-#: netbox/netbox/navigation/menu.py:483 netbox/templates/500.html:35
+#: netbox/netbox/navigation/menu.py:480 netbox/templates/500.html:35
#: netbox/templates/account/preferences.html:22
#: netbox/templates/core/system.html:80
msgid "Plugins"
@@ -10897,7 +10903,7 @@ msgstr "Beide"
#: netbox/netbox/preferences.py:55
msgid "Where the paginator controls will be displayed relative to a table"
msgstr ""
-"Wo die Paginator-Steuerelemente relativ zu einer Tabelle angezeigt werden"
+"Wo die Seiten-Steuerelemente relativ zu einer Tabelle angezeigt werden"
#: netbox/netbox/preferences.py:60
msgid "Data format"
@@ -10924,43 +10930,43 @@ msgstr ""
msgid "Cannot delete stores from registry"
msgstr "Stores können nicht aus der Registrierung gelöscht werden"
-#: netbox/netbox/settings.py:724
+#: netbox/netbox/settings.py:741
msgid "German"
msgstr "Deutsch"
-#: netbox/netbox/settings.py:725
+#: netbox/netbox/settings.py:742
msgid "English"
msgstr "Englisch"
-#: netbox/netbox/settings.py:726
+#: netbox/netbox/settings.py:743
msgid "Spanish"
msgstr "Spanisch"
-#: netbox/netbox/settings.py:727
+#: netbox/netbox/settings.py:744
msgid "French"
msgstr "Französisch"
-#: netbox/netbox/settings.py:728
+#: netbox/netbox/settings.py:745
msgid "Japanese"
msgstr "Japanisch"
-#: netbox/netbox/settings.py:729
+#: netbox/netbox/settings.py:746
msgid "Portuguese"
msgstr "Portugiesisch"
-#: netbox/netbox/settings.py:730
+#: netbox/netbox/settings.py:747
msgid "Russian"
msgstr "Russisch"
-#: netbox/netbox/settings.py:731
+#: netbox/netbox/settings.py:748
msgid "Turkish"
msgstr "Türkisch"
-#: netbox/netbox/settings.py:732
+#: netbox/netbox/settings.py:749
msgid "Ukrainian"
msgstr "Ukrainisch"
-#: netbox/netbox/settings.py:733
+#: netbox/netbox/settings.py:750
msgid "Chinese"
msgstr "chinesisch"
@@ -11007,7 +11013,7 @@ msgstr "Changelog"
msgid "Journal"
msgstr "Journal"
-#: netbox/netbox/views/generic/object_views.py:106
+#: netbox/netbox/views/generic/object_views.py:108
#, python-brace-format
msgid "{class_name} must implement get_children()"
msgstr "{class_name} muss get_children () implementieren"
@@ -11581,8 +11587,8 @@ msgstr "Warteschlangen im Hintergrund"
#: netbox/templates/core/rq_worker_list.html:45
#: netbox/templates/extras/script_result.html:49
#: netbox/templates/extras/script_result.html:51
-#: netbox/templates/inc/table_controls_htmx.html:28
-#: netbox/templates/inc/table_controls_htmx.html:31
+#: netbox/templates/inc/table_controls_htmx.html:30
+#: netbox/templates/inc/table_controls_htmx.html:33
msgid "Configure Table"
msgstr "Tabelle konfigurieren"
@@ -11831,7 +11837,7 @@ msgstr "GPS-Koordinaten"
#: netbox/templates/dcim/device.html:68 netbox/templates/dcim/site.html:100
msgid "Map It"
-msgstr "Ordnen Sie es zu"
+msgstr "Karte"
#: netbox/templates/dcim/device.html:108
#: netbox/templates/dcim/inventoryitem.html:56
@@ -11844,56 +11850,58 @@ msgstr "Asset-Tag"
msgid "View Virtual Chassis"
msgstr "Virtuelles Gehäuse anzeigen"
-#: netbox/templates/dcim/device.html:162
+#: netbox/templates/dcim/device.html:164
msgid "Create VDC"
msgstr "VDC erstellen"
-#: netbox/templates/dcim/device.html:173
+#: netbox/templates/dcim/device.html:175
#: netbox/templates/dcim/device_edit.html:64
#: netbox/virtualization/forms/model_forms.py:223
msgid "Management"
msgstr "Management"
-#: netbox/templates/dcim/device.html:193 netbox/templates/dcim/device.html:209
+#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211
+#: netbox/templates/dcim/device.html:227
#: netbox/templates/virtualization/virtualmachine.html:53
#: netbox/templates/virtualization/virtualmachine.html:69
msgid "NAT for"
msgstr "NAT für"
-#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211
+#: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213
+#: netbox/templates/dcim/device.html:229
#: netbox/templates/virtualization/virtualmachine.html:55
#: netbox/templates/virtualization/virtualmachine.html:71
msgid "NAT"
msgstr "NAT"
-#: netbox/templates/dcim/device.html:245 netbox/templates/dcim/rack.html:67
+#: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:67
msgid "Power Utilization"
msgstr "Energienutzung"
-#: netbox/templates/dcim/device.html:249
+#: netbox/templates/dcim/device.html:256
msgid "Input"
msgstr "Eingabe"
-#: netbox/templates/dcim/device.html:250
+#: netbox/templates/dcim/device.html:257
msgid "Outlets"
msgstr "Abgänge"
-#: netbox/templates/dcim/device.html:251
+#: netbox/templates/dcim/device.html:258
msgid "Allocated"
msgstr "Zugeteilt"
-#: netbox/templates/dcim/device.html:261 netbox/templates/dcim/device.html:263
-#: netbox/templates/dcim/device.html:279
+#: netbox/templates/dcim/device.html:268 netbox/templates/dcim/device.html:270
+#: netbox/templates/dcim/device.html:286
#: netbox/templates/dcim/powerfeed.html:67
msgid "VA"
msgstr "VA"
-#: netbox/templates/dcim/device.html:273
+#: netbox/templates/dcim/device.html:280
msgctxt "Leg of a power feed"
msgid "Leg"
msgstr "Bein"
-#: netbox/templates/dcim/device.html:299
+#: netbox/templates/dcim/device.html:306
#: netbox/templates/virtualization/virtualmachine.html:154
msgid "Add a service"
msgstr "Einen Dienst hinzufügen"
@@ -12041,7 +12049,7 @@ msgstr ""
#: netbox/templates/dcim/devicebay_populate.html:13
msgid "Populate"
-msgstr "Bevölkern"
+msgstr "Bestücken"
#: netbox/templates/dcim/devicebay_populate.html:22
msgid "Bay"
@@ -12422,7 +12430,7 @@ msgstr "Physische Adresse"
#: netbox/templates/dcim/site.html:81
msgid "Map"
-msgstr "Landkarte"
+msgstr "Karte"
#: netbox/templates/dcim/site.html:90
msgid "Shipping Address"
@@ -13204,8 +13212,8 @@ msgid ""
"Are you sure you want to
delete "
"%(object_type)s
%(object)s ?"
msgstr ""
-"Bist du sicher, dass du willst
löschen %(object_type)s
%(object)s ?"
+"Bist du sicher, dass du%(object_type)s
%(object)s löschen willst?"
#: netbox/templates/htmx/delete_form.html:17
msgid "The following objects will be deleted as a result of this action."
@@ -13244,7 +13252,7 @@ msgstr "Auswahl der Seite"
#: netbox/templates/inc/paginator.html:75
#, python-format
msgid "Showing %(start)s-%(end)s of %(total)s"
-msgstr "Zeigt %(start)s-%(end)s von %(total)s"
+msgstr "zeige %(start)s-%(end)s von %(total)s"
#: netbox/templates/inc/paginator.html:82
msgid "Pagination options"
@@ -13252,7 +13260,7 @@ msgstr "Optionen für die Seitennummerierung"
#: netbox/templates/inc/paginator.html:86
msgid "Per Page"
-msgstr "Pro Seite"
+msgstr "pro Seite"
#: netbox/templates/inc/panels/image_attachments.html:10
msgid "Attach an image"
@@ -13274,7 +13282,7 @@ msgstr "Die Daten sind nicht mit der Upstream-Datei synchronisiert"
msgid "Quick search"
msgstr "Schnellsuche"
-#: netbox/templates/inc/table_controls_htmx.html:19
+#: netbox/templates/inc/table_controls_htmx.html:20
msgid "Saved filter"
msgstr "Gespeicherte Filter"
@@ -13647,7 +13655,7 @@ msgstr "Virtuelle CPUs"
#: netbox/templates/virtualization/cluster.html:59
#: netbox/templates/virtualization/virtualmachine.html:125
msgid "Memory"
-msgstr "Speicher"
+msgstr "Arbeitsspeicher"
#: netbox/templates/virtualization/cluster.html:69
#: netbox/templates/virtualization/virtualmachine.html:136
@@ -13723,7 +13731,7 @@ msgstr "IKE-Richtlinie"
#: netbox/templates/vpn/ikepolicy.html:21
msgid "IKE Version"
-msgstr "IKE-Ausführung"
+msgstr "IKE-Version"
#: netbox/templates/vpn/ikepolicy.html:29
msgid "Pre-Shared Key"
@@ -13853,7 +13861,7 @@ msgstr "Tunnel-Abschlusspunkt"
#: netbox/vpn/forms/model_forms.py:138 netbox/vpn/forms/model_forms.py:247
#: netbox/vpn/tables/tunnels.py:101
msgid "Outside IP"
-msgstr "Außerhalb von IP"
+msgstr "Äußere IP"
#: netbox/templates/vpn/tunneltermination.html:51
msgid "Peer Terminations"
@@ -14369,7 +14377,11 @@ msgstr ""
msgid "More than 50"
msgstr "Mehr als 50"
-#: netbox/utilities/fields.py:157
+#: netbox/utilities/fields.py:30
+msgid "RGB color in hexadecimal. Example: "
+msgstr "RGB Farbe in hexadezimaler Form. Beispiel:"
+
+#: netbox/utilities/fields.py:159
#, python-format
msgid ""
"%s(%r) is invalid. to_model parameter to CounterCacheField must be a string "
@@ -14378,7 +14390,7 @@ msgstr ""
"%s(%r) ist ungültig. Der to_model-Parameter für CounterCacheField muss eine "
"Zeichenfolge im Format 'app.model' sein"
-#: netbox/utilities/fields.py:167
+#: netbox/utilities/fields.py:169
#, python-format
msgid ""
"%s(%r) is invalid. to_field parameter to CounterCacheField must be a string "
@@ -14487,7 +14499,7 @@ msgid ""
"target=\"_blank\" tabindex=\"-1\">Markdown syntax is supported"
msgstr ""
"
Abschlag Syntax wird unterstützt"
+"target=\"_blank\" tabindex=\"-1\">Markdown Syntax wird unterstützt"
#: netbox/utilities/forms/fields/fields.py:48
msgid "URL-friendly unique shorthand"
@@ -14496,8 +14508,7 @@ msgstr "URL-freundliche, einzigartige Kurzschrift"
#: netbox/utilities/forms/fields/fields.py:101
msgid "Enter context data in
JSON format."
msgstr ""
-"Geben Sie Kontextdaten ein
JSON "
-"formatieren."
+"Geben Sie Kontextdaten im
JSON Format ein."
#: netbox/utilities/forms/fields/fields.py:124
msgid "MAC address must be in EUI-48 format"
@@ -14608,8 +14619,8 @@ msgid ""
"Invalid permission name: {name}. Must be in the format "
"
._"
msgstr ""
-"Ungültiger Berechtigungsname: {name}. Muss im Format sein "
-"._"
+"Ungültiger Berechtigungsname: {name}. Muss im Format "
+"._ sein."
#: netbox/utilities/permissions.py:57
#, python-brace-format
@@ -14688,6 +14699,14 @@ msgstr "Nach oben bewegen"
msgid "Move Down"
msgstr "Nach unten bewegen"
+#: netbox/utilities/templates/navigation/menu.html:14
+msgid "Search…"
+msgstr "Suchen..."
+
+#: netbox/utilities/templates/navigation/menu.html:14
+msgid "Search NetBox"
+msgstr "Suche NetBox"
+
#: netbox/utilities/templates/widgets/apiselect.html:7
msgid "Open selector"
msgstr "Selektor öffnen"
@@ -14709,18 +14728,18 @@ msgstr "Der Test muss csv_update_data definieren."
msgid "{value} is not a valid regular expression."
msgstr "{value} ist kein gültiger regulärer Ausdruck."
-#: netbox/utilities/views.py:44
+#: netbox/utilities/views.py:45
#, python-brace-format
msgid "{self.__class__.__name__} must implement get_required_permission()"
msgstr ""
"{self.__class__.__name__} muss get_required_permission() implementieren"
-#: netbox/utilities/views.py:80
+#: netbox/utilities/views.py:81
#, python-brace-format
msgid "{class_name} must implement get_required_permission()"
msgstr "{class_name} muss get_required_permission() implementieren"
-#: netbox/utilities/views.py:104
+#: netbox/utilities/views.py:105
#, python-brace-format
msgid ""
"{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
@@ -14743,10 +14762,6 @@ msgstr "Übergeordnete Gruppe (URL-Slug)"
msgid "Cluster type (ID)"
msgstr "Cluster-Typ (ID)"
-#: netbox/virtualization/filtersets.py:130
-msgid "Cluster group (ID)"
-msgstr "Cluster-Gruppe (ID)"
-
#: netbox/virtualization/filtersets.py:151
#: netbox/virtualization/filtersets.py:267
msgid "Cluster (ID)"
@@ -14907,7 +14922,7 @@ msgstr ""
#, python-brace-format
msgid "Must be an IPv{family} address. ({ip} is an IPv{version} address.)"
msgstr ""
-"Muss ein IPV sein{family} Adresse. ({ip} ist ein IPv{version} Adresse.)"
+"Muss eine IPv{family} Adresse sein. ({ip} ist eine IPv{version} Adresse.)"
#: netbox/virtualization/models/virtualmachines.py:233
#, python-brace-format
@@ -15099,7 +15114,7 @@ msgstr "Tunnelgruppe"
#: netbox/vpn/forms/bulk_edit.py:117 netbox/vpn/models/crypto.py:47
msgid "SA lifetime"
-msgstr "Ein Leben lang"
+msgstr "SA-Lebendauer"
#: netbox/vpn/forms/bulk_edit.py:151 netbox/wireless/forms/bulk_edit.py:79
#: netbox/wireless/forms/bulk_edit.py:126
@@ -15209,11 +15224,11 @@ msgstr "Tunnel-Schnittstelle"
#: netbox/vpn/forms/model_forms.py:150
msgid "First Termination"
-msgstr "Erste Kündigung"
+msgstr "Erster Endpunkt"
#: netbox/vpn/forms/model_forms.py:153
msgid "Second Termination"
-msgstr "Zweite Kündigung"
+msgstr "Zweiter Endpunkt"
#: netbox/vpn/forms/model_forms.py:197
msgid "This parameter is required when defining a termination."
@@ -15353,7 +15368,7 @@ msgstr "Tunnelgruppen"
#: netbox/vpn/models/tunnels.py:53
msgid "encapsulation"
-msgstr "Verkapselung"
+msgstr "Encapsulation"
#: netbox/vpn/models/tunnels.py:72
msgid "tunnel ID"
@@ -15369,7 +15384,7 @@ msgstr "Tunnel"
#: netbox/vpn/models/tunnels.py:153
msgid "An object may be terminated to only one tunnel at a time."
-msgstr "Ein Objekt kann jeweils nur zu einem Tunnel terminiert werden."
+msgstr "Ein Objekt kann jeweils nur an einem Tunnel terminiert werden."
#: netbox/vpn/models/tunnels.py:156
msgid "tunnel termination"
@@ -15398,7 +15413,7 @@ msgstr "Authentifizierungsalgorithmus"
#: netbox/vpn/tables/crypto.py:34
msgid "SA Lifetime"
-msgstr "Ein Leben lang"
+msgstr "SA-Lebensdauer"
#: netbox/vpn/tables/crypto.py:71
msgid "Pre-shared Key"
@@ -15410,7 +15425,7 @@ msgstr "SA-Lebensdauer (Sekunden)"
#: netbox/vpn/tables/crypto.py:106
msgid "SA Lifetime (KB)"
-msgstr "SA Lifetime (KB)"
+msgstr "SA-Lebensdauer (KB)"
#: netbox/vpn/tables/l2vpn.py:69
msgid "Object Parent"
@@ -15453,7 +15468,7 @@ msgstr "Authentifizierungchiffre"
#: netbox/wireless/forms/bulk_import.py:52
msgid "Bridged VLAN"
-msgstr "Gebrücktes VLAN"
+msgstr "Bridged VLAN"
#: netbox/wireless/forms/bulk_import.py:89
#: netbox/wireless/tables/wirelesslink.py:27
diff --git a/netbox/translations/en/LC_MESSAGES/django.po b/netbox/translations/en/LC_MESSAGES/django.po
index 6334d3b9b..ddb9ca2d9 100644
--- a/netbox/translations/en/LC_MESSAGES/django.po
+++ b/netbox/translations/en/LC_MESSAGES/django.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-06-22 05:02+0000\n"
+"POT-Creation-Date: 2024-07-09 05:02+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -107,8 +107,8 @@ msgstr ""
#: netbox/dcim/filtersets.py:97 netbox/dcim/filtersets.py:151
#: netbox/dcim/filtersets.py:211 netbox/dcim/filtersets.py:297
#: netbox/dcim/filtersets.py:406 netbox/dcim/filtersets.py:969
-#: netbox/dcim/filtersets.py:1305 netbox/dcim/filtersets.py:1832
-#: netbox/dcim/filtersets.py:2075 netbox/dcim/filtersets.py:2133
+#: netbox/dcim/filtersets.py:1316 netbox/dcim/filtersets.py:1843
+#: netbox/dcim/filtersets.py:2086 netbox/dcim/filtersets.py:2144
#: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:945
#: netbox/virtualization/filtersets.py:45
#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:377
@@ -119,8 +119,8 @@ msgstr ""
#: netbox/dcim/filtersets.py:104 netbox/dcim/filtersets.py:157
#: netbox/dcim/filtersets.py:218 netbox/dcim/filtersets.py:304
#: netbox/dcim/filtersets.py:413 netbox/dcim/filtersets.py:976
-#: netbox/dcim/filtersets.py:1312 netbox/dcim/filtersets.py:1839
-#: netbox/dcim/filtersets.py:2082 netbox/dcim/filtersets.py:2140
+#: netbox/dcim/filtersets.py:1323 netbox/dcim/filtersets.py:1850
+#: netbox/dcim/filtersets.py:2093 netbox/dcim/filtersets.py:2151
#: netbox/extras/filtersets.py:461 netbox/ipam/filtersets.py:346
#: netbox/ipam/filtersets.py:952 netbox/virtualization/filtersets.py:52
#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:372
@@ -130,9 +130,9 @@ msgstr ""
#: netbox/circuits/filtersets.py:42 netbox/circuits/filtersets.py:209
#: netbox/dcim/filtersets.py:127 netbox/dcim/filtersets.py:224
#: netbox/dcim/filtersets.py:310 netbox/dcim/filtersets.py:419
-#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1318
-#: netbox/dcim/filtersets.py:1845 netbox/dcim/filtersets.py:2088
-#: netbox/dcim/filtersets.py:2146 netbox/ipam/filtersets.py:352
+#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1329
+#: netbox/dcim/filtersets.py:1856 netbox/dcim/filtersets.py:2099
+#: netbox/dcim/filtersets.py:2157 netbox/ipam/filtersets.py:352
#: netbox/ipam/filtersets.py:958 netbox/virtualization/filtersets.py:58
#: netbox/virtualization/filtersets.py:186
msgid "Site group (ID)"
@@ -141,9 +141,9 @@ msgstr ""
#: netbox/circuits/filtersets.py:49 netbox/circuits/filtersets.py:216
#: netbox/dcim/filtersets.py:134 netbox/dcim/filtersets.py:231
#: netbox/dcim/filtersets.py:317 netbox/dcim/filtersets.py:426
-#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1325
-#: netbox/dcim/filtersets.py:1852 netbox/dcim/filtersets.py:2095
-#: netbox/dcim/filtersets.py:2153 netbox/extras/filtersets.py:467
+#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1336
+#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2106
+#: netbox/dcim/filtersets.py:2164 netbox/extras/filtersets.py:467
#: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:965
#: netbox/virtualization/filtersets.py:65
#: netbox/virtualization/filtersets.py:193
@@ -152,7 +152,7 @@ msgstr ""
#: netbox/circuits/filtersets.py:54 netbox/circuits/forms/bulk_edit.py:186
#: netbox/circuits/forms/bulk_edit.py:214
-#: netbox/circuits/forms/bulk_import.py:126
+#: netbox/circuits/forms/bulk_import.py:123
#: netbox/circuits/forms/filtersets.py:49
#: netbox/circuits/forms/filtersets.py:169
#: netbox/circuits/forms/filtersets.py:207
@@ -161,15 +161,15 @@ msgstr ""
#: netbox/circuits/tables/circuits.py:107 netbox/dcim/forms/bulk_edit.py:167
#: netbox/dcim/forms/bulk_edit.py:239 netbox/dcim/forms/bulk_edit.py:575
#: netbox/dcim/forms/bulk_edit.py:771 netbox/dcim/forms/bulk_import.py:130
-#: netbox/dcim/forms/bulk_import.py:184 netbox/dcim/forms/bulk_import.py:257
-#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1262
-#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:85
-#: netbox/dcim/forms/filtersets.py:218 netbox/dcim/forms/filtersets.py:265
-#: netbox/dcim/forms/filtersets.py:374 netbox/dcim/forms/filtersets.py:682
-#: netbox/dcim/forms/filtersets.py:916 netbox/dcim/forms/filtersets.py:940
-#: netbox/dcim/forms/filtersets.py:1030 netbox/dcim/forms/filtersets.py:1068
-#: netbox/dcim/forms/filtersets.py:1476 netbox/dcim/forms/filtersets.py:1500
-#: netbox/dcim/forms/filtersets.py:1524 netbox/dcim/forms/model_forms.py:136
+#: netbox/dcim/forms/bulk_import.py:181 netbox/dcim/forms/bulk_import.py:254
+#: netbox/dcim/forms/bulk_import.py:479 netbox/dcim/forms/bulk_import.py:1250
+#: netbox/dcim/forms/bulk_import.py:1278 netbox/dcim/forms/filtersets.py:86
+#: netbox/dcim/forms/filtersets.py:219 netbox/dcim/forms/filtersets.py:266
+#: netbox/dcim/forms/filtersets.py:375 netbox/dcim/forms/filtersets.py:684
+#: netbox/dcim/forms/filtersets.py:928 netbox/dcim/forms/filtersets.py:952
+#: netbox/dcim/forms/filtersets.py:1042 netbox/dcim/forms/filtersets.py:1080
+#: netbox/dcim/forms/filtersets.py:1488 netbox/dcim/forms/filtersets.py:1512
+#: netbox/dcim/forms/filtersets.py:1536 netbox/dcim/forms/model_forms.py:136
#: netbox/dcim/forms/model_forms.py:164 netbox/dcim/forms/model_forms.py:206
#: netbox/dcim/forms/model_forms.py:406 netbox/dcim/forms/model_forms.py:671
#: netbox/dcim/forms/object_create.py:391 netbox/dcim/tables/devices.py:150
@@ -268,8 +268,8 @@ msgstr ""
#: netbox/circuits/filtersets.py:221 netbox/circuits/filtersets.py:266
#: netbox/dcim/filtersets.py:235 netbox/dcim/filtersets.py:321
#: netbox/dcim/filtersets.py:394 netbox/dcim/filtersets.py:993
-#: netbox/dcim/filtersets.py:1330 netbox/dcim/filtersets.py:1857
-#: netbox/dcim/filtersets.py:2099 netbox/dcim/filtersets.py:2158
+#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:1868
+#: netbox/dcim/filtersets.py:2110 netbox/dcim/filtersets.py:2169
#: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363
#: netbox/ipam/filtersets.py:969 netbox/virtualization/filtersets.py:69
#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:387
@@ -282,7 +282,7 @@ msgstr ""
#: netbox/circuits/filtersets.py:258 netbox/core/filtersets.py:73
#: netbox/core/filtersets.py:132 netbox/dcim/filtersets.py:693
-#: netbox/dcim/filtersets.py:1299 netbox/dcim/filtersets.py:2206
+#: netbox/dcim/filtersets.py:1310 netbox/dcim/filtersets.py:2217
#: netbox/extras/filtersets.py:41 netbox/extras/filtersets.py:63
#: netbox/extras/filtersets.py:92 netbox/extras/filtersets.py:127
#: netbox/extras/filtersets.py:176 netbox/extras/filtersets.py:204
@@ -299,11 +299,12 @@ msgstr ""
#: netbox/tenancy/filtersets.py:100 netbox/users/filtersets.py:23
#: netbox/users/filtersets.py:52 netbox/users/filtersets.py:92
#: netbox/users/filtersets.py:140 netbox/utilities/forms/forms.py:104
+#: netbox/utilities/templates/navigation/menu.html:16
msgid "Search"
msgstr ""
#: netbox/circuits/filtersets.py:262 netbox/circuits/forms/bulk_edit.py:170
-#: netbox/circuits/forms/bulk_import.py:117
+#: netbox/circuits/forms/bulk_import.py:114
#: netbox/circuits/forms/filtersets.py:196
#: netbox/circuits/forms/filtersets.py:212
#: netbox/circuits/forms/model_forms.py:109
@@ -323,9 +324,9 @@ msgstr ""
#: netbox/circuits/forms/bulk_edit.py:28 netbox/circuits/forms/filtersets.py:54
#: netbox/circuits/forms/model_forms.py:27
#: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:127
-#: netbox/dcim/forms/filtersets.py:188 netbox/dcim/forms/model_forms.py:122
+#: netbox/dcim/forms/filtersets.py:189 netbox/dcim/forms/model_forms.py:122
#: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:210
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:213
#: netbox/netbox/navigation/menu.py:159 netbox/netbox/navigation/menu.py:162
#: netbox/templates/circuits/provider.html:23
msgid "ASNs"
@@ -459,7 +460,7 @@ msgstr ""
#: netbox/circuits/forms/bulk_edit.py:121
#: netbox/circuits/forms/bulk_import.py:35
#: netbox/circuits/forms/bulk_import.py:50
-#: netbox/circuits/forms/bulk_import.py:76
+#: netbox/circuits/forms/bulk_import.py:73
#: netbox/circuits/forms/filtersets.py:68
#: netbox/circuits/forms/filtersets.py:86
#: netbox/circuits/forms/filtersets.py:114
@@ -490,8 +491,8 @@ msgstr ""
#: netbox/circuits/forms/filtersets.py:105 netbox/dcim/forms/bulk_edit.py:205
#: netbox/dcim/forms/bulk_edit.py:502 netbox/dcim/forms/bulk_edit.py:702
#: netbox/dcim/forms/bulk_edit.py:1071 netbox/dcim/forms/bulk_edit.py:1098
-#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:983
-#: netbox/dcim/forms/filtersets.py:1359 netbox/dcim/forms/filtersets.py:1380
+#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:995
+#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392
#: netbox/dcim/tables/devices.py:687 netbox/dcim/tables/devices.py:744
#: netbox/dcim/tables/devices.py:968 netbox/dcim/tables/devicetypes.py:245
#: netbox/dcim/tables/devicetypes.py:260 netbox/dcim/tables/racks.py:32
@@ -506,7 +507,7 @@ msgid "Color"
msgstr ""
#: netbox/circuits/forms/bulk_edit.py:116
-#: netbox/circuits/forms/bulk_import.py:89
+#: netbox/circuits/forms/bulk_import.py:86
#: netbox/circuits/forms/filtersets.py:124 netbox/core/forms/bulk_edit.py:18
#: netbox/core/forms/filtersets.py:30 netbox/core/tables/data.py:20
#: netbox/core/tables/jobs.py:18 netbox/dcim/forms/bulk_edit.py:282
@@ -514,17 +515,17 @@ msgstr ""
#: netbox/dcim/forms/bulk_edit.py:887 netbox/dcim/forms/bulk_edit.py:906
#: netbox/dcim/forms/bulk_edit.py:929 netbox/dcim/forms/bulk_edit.py:971
#: netbox/dcim/forms/bulk_edit.py:1015 netbox/dcim/forms/bulk_edit.py:1066
-#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:214
-#: netbox/dcim/forms/bulk_import.py:653 netbox/dcim/forms/bulk_import.py:679
-#: netbox/dcim/forms/bulk_import.py:705 netbox/dcim/forms/bulk_import.py:725
-#: netbox/dcim/forms/bulk_import.py:808 netbox/dcim/forms/bulk_import.py:902
-#: netbox/dcim/forms/bulk_import.py:944 netbox/dcim/forms/bulk_import.py:1161
-#: netbox/dcim/forms/bulk_import.py:1327 netbox/dcim/forms/filtersets.py:287
-#: netbox/dcim/forms/filtersets.py:874 netbox/dcim/forms/filtersets.py:973
-#: netbox/dcim/forms/filtersets.py:1094 netbox/dcim/forms/filtersets.py:1164
-#: netbox/dcim/forms/filtersets.py:1186 netbox/dcim/forms/filtersets.py:1208
-#: netbox/dcim/forms/filtersets.py:1225 netbox/dcim/forms/filtersets.py:1259
-#: netbox/dcim/forms/filtersets.py:1354 netbox/dcim/forms/filtersets.py:1375
+#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:211
+#: netbox/dcim/forms/bulk_import.py:647 netbox/dcim/forms/bulk_import.py:673
+#: netbox/dcim/forms/bulk_import.py:699 netbox/dcim/forms/bulk_import.py:719
+#: netbox/dcim/forms/bulk_import.py:802 netbox/dcim/forms/bulk_import.py:896
+#: netbox/dcim/forms/bulk_import.py:938 netbox/dcim/forms/bulk_import.py:1152
+#: netbox/dcim/forms/bulk_import.py:1315 netbox/dcim/forms/filtersets.py:288
+#: netbox/dcim/forms/filtersets.py:886 netbox/dcim/forms/filtersets.py:985
+#: netbox/dcim/forms/filtersets.py:1106 netbox/dcim/forms/filtersets.py:1176
+#: netbox/dcim/forms/filtersets.py:1198 netbox/dcim/forms/filtersets.py:1220
+#: netbox/dcim/forms/filtersets.py:1237 netbox/dcim/forms/filtersets.py:1271
+#: netbox/dcim/forms/filtersets.py:1366 netbox/dcim/forms/filtersets.py:1387
#: netbox/dcim/forms/model_forms.py:646 netbox/dcim/forms/model_forms.py:652
#: netbox/dcim/forms/object_import.py:84 netbox/dcim/forms/object_import.py:113
#: netbox/dcim/forms/object_import.py:145 netbox/dcim/tables/devices.py:175
@@ -560,14 +561,14 @@ msgid "Type"
msgstr ""
#: netbox/circuits/forms/bulk_edit.py:126
-#: netbox/circuits/forms/bulk_import.py:82
+#: netbox/circuits/forms/bulk_import.py:79
#: netbox/circuits/forms/filtersets.py:137
#: netbox/circuits/forms/model_forms.py:96
msgid "Provider account"
msgstr ""
#: netbox/circuits/forms/bulk_edit.py:134
-#: netbox/circuits/forms/bulk_import.py:95
+#: netbox/circuits/forms/bulk_import.py:92
#: netbox/circuits/forms/filtersets.py:148 netbox/core/forms/filtersets.py:35
#: netbox/core/forms/filtersets.py:76 netbox/core/tables/data.py:23
#: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88
@@ -576,13 +577,13 @@ msgstr ""
#: netbox/dcim/forms/bulk_edit.py:654 netbox/dcim/forms/bulk_edit.py:686
#: netbox/dcim/forms/bulk_edit.py:813 netbox/dcim/forms/bulk_edit.py:1594
#: netbox/dcim/forms/bulk_import.py:87 netbox/dcim/forms/bulk_import.py:146
-#: netbox/dcim/forms/bulk_import.py:202 netbox/dcim/forms/bulk_import.py:450
-#: netbox/dcim/forms/bulk_import.py:604 netbox/dcim/forms/bulk_import.py:1155
-#: netbox/dcim/forms/bulk_import.py:1322 netbox/dcim/forms/bulk_import.py:1386
-#: netbox/dcim/forms/filtersets.py:171 netbox/dcim/forms/filtersets.py:230
-#: netbox/dcim/forms/filtersets.py:282 netbox/dcim/forms/filtersets.py:728
-#: netbox/dcim/forms/filtersets.py:843 netbox/dcim/forms/filtersets.py:877
-#: netbox/dcim/forms/filtersets.py:978 netbox/dcim/forms/filtersets.py:1089
+#: netbox/dcim/forms/bulk_import.py:199 netbox/dcim/forms/bulk_import.py:444
+#: netbox/dcim/forms/bulk_import.py:598 netbox/dcim/forms/bulk_import.py:1146
+#: netbox/dcim/forms/bulk_import.py:1310 netbox/dcim/forms/bulk_import.py:1374
+#: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:231
+#: netbox/dcim/forms/filtersets.py:283 netbox/dcim/forms/filtersets.py:730
+#: netbox/dcim/forms/filtersets.py:855 netbox/dcim/forms/filtersets.py:889
+#: netbox/dcim/forms/filtersets.py:990 netbox/dcim/forms/filtersets.py:1101
#: netbox/dcim/tables/devices.py:137 netbox/dcim/tables/devices.py:800
#: netbox/dcim/tables/devices.py:1028 netbox/dcim/tables/modules.py:69
#: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:66
@@ -600,7 +601,7 @@ msgstr ""
#: netbox/templates/circuits/circuit.html:34
#: netbox/templates/core/datasource.html:46 netbox/templates/core/job.html:30
#: netbox/templates/core/rq_task.html:81 netbox/templates/core/system.html:18
-#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:176
+#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:178
#: netbox/templates/dcim/location.html:45 netbox/templates/dcim/module.html:66
#: netbox/templates/dcim/powerfeed.html:36 netbox/templates/dcim/rack.html:43
#: netbox/templates/dcim/site.html:43
@@ -635,20 +636,20 @@ msgid "Status"
msgstr ""
#: netbox/circuits/forms/bulk_edit.py:140
-#: netbox/circuits/forms/bulk_import.py:100
+#: netbox/circuits/forms/bulk_import.py:97
#: netbox/circuits/forms/filtersets.py:117 netbox/dcim/forms/bulk_edit.py:121
#: netbox/dcim/forms/bulk_edit.py:186 netbox/dcim/forms/bulk_edit.py:256
#: netbox/dcim/forms/bulk_edit.py:368 netbox/dcim/forms/bulk_edit.py:588
#: netbox/dcim/forms/bulk_edit.py:692 netbox/dcim/forms/bulk_edit.py:1599
#: netbox/dcim/forms/bulk_import.py:106 netbox/dcim/forms/bulk_import.py:151
-#: netbox/dcim/forms/bulk_import.py:195 netbox/dcim/forms/bulk_import.py:282
-#: netbox/dcim/forms/bulk_import.py:424 netbox/dcim/forms/bulk_import.py:1167
-#: netbox/dcim/forms/bulk_import.py:1379 netbox/dcim/forms/filtersets.py:166
-#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:249
-#: netbox/dcim/forms/filtersets.py:334 netbox/dcim/forms/filtersets.py:355
-#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:835
-#: netbox/dcim/forms/filtersets.py:897 netbox/dcim/forms/filtersets.py:927
-#: netbox/dcim/forms/filtersets.py:1049 netbox/dcim/tables/power.py:88
+#: netbox/dcim/forms/bulk_import.py:192 netbox/dcim/forms/bulk_import.py:279
+#: netbox/dcim/forms/bulk_import.py:418 netbox/dcim/forms/bulk_import.py:1158
+#: netbox/dcim/forms/bulk_import.py:1367 netbox/dcim/forms/filtersets.py:167
+#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250
+#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:356
+#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:847
+#: netbox/dcim/forms/filtersets.py:909 netbox/dcim/forms/filtersets.py:939
+#: netbox/dcim/forms/filtersets.py:1061 netbox/dcim/tables/power.py:88
#: netbox/extras/filtersets.py:564 netbox/extras/forms/filtersets.py:332
#: netbox/extras/forms/filtersets.py:405 netbox/ipam/forms/bulk_edit.py:41
#: netbox/ipam/forms/bulk_edit.py:66 netbox/ipam/forms/bulk_edit.py:110
@@ -786,28 +787,22 @@ msgstr ""
#: netbox/circuits/forms/bulk_import.py:38
#: netbox/circuits/forms/bulk_import.py:53
-#: netbox/circuits/forms/bulk_import.py:79
+#: netbox/circuits/forms/bulk_import.py:76
msgid "Assigned provider"
msgstr ""
-#: netbox/circuits/forms/bulk_import.py:70 netbox/dcim/forms/bulk_import.py:178
-#: netbox/dcim/forms/bulk_import.py:388 netbox/dcim/forms/bulk_import.py:1108
-#: netbox/dcim/forms/bulk_import.py:1187 netbox/extras/forms/bulk_import.py:232
-msgid "RGB color in hexadecimal. Example:"
-msgstr ""
-
-#: netbox/circuits/forms/bulk_import.py:85
+#: netbox/circuits/forms/bulk_import.py:82
msgid "Assigned provider account"
msgstr ""
-#: netbox/circuits/forms/bulk_import.py:92
+#: netbox/circuits/forms/bulk_import.py:89
msgid "Type of circuit"
msgstr ""
-#: netbox/circuits/forms/bulk_import.py:97 netbox/dcim/forms/bulk_import.py:89
-#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:204
-#: netbox/dcim/forms/bulk_import.py:452 netbox/dcim/forms/bulk_import.py:606
-#: netbox/dcim/forms/bulk_import.py:1324 netbox/ipam/forms/bulk_import.py:193
+#: netbox/circuits/forms/bulk_import.py:94 netbox/dcim/forms/bulk_import.py:89
+#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:201
+#: netbox/dcim/forms/bulk_import.py:446 netbox/dcim/forms/bulk_import.py:600
+#: netbox/dcim/forms/bulk_import.py:1312 netbox/ipam/forms/bulk_import.py:193
#: netbox/ipam/forms/bulk_import.py:258 netbox/ipam/forms/bulk_import.py:294
#: netbox/ipam/forms/bulk_import.py:460
#: netbox/virtualization/forms/bulk_import.py:56
@@ -816,11 +811,11 @@ msgstr ""
msgid "Operational status"
msgstr ""
-#: netbox/circuits/forms/bulk_import.py:104
+#: netbox/circuits/forms/bulk_import.py:101
#: netbox/dcim/forms/bulk_import.py:110 netbox/dcim/forms/bulk_import.py:155
-#: netbox/dcim/forms/bulk_import.py:286 netbox/dcim/forms/bulk_import.py:428
-#: netbox/dcim/forms/bulk_import.py:1171 netbox/dcim/forms/bulk_import.py:1319
-#: netbox/dcim/forms/bulk_import.py:1383 netbox/ipam/forms/bulk_import.py:41
+#: netbox/dcim/forms/bulk_import.py:283 netbox/dcim/forms/bulk_import.py:422
+#: netbox/dcim/forms/bulk_import.py:1162 netbox/dcim/forms/bulk_import.py:1307
+#: netbox/dcim/forms/bulk_import.py:1371 netbox/ipam/forms/bulk_import.py:41
#: netbox/ipam/forms/bulk_import.py:70 netbox/ipam/forms/bulk_import.py:98
#: netbox/ipam/forms/bulk_import.py:118 netbox/ipam/forms/bulk_import.py:138
#: netbox/ipam/forms/bulk_import.py:167 netbox/ipam/forms/bulk_import.py:253
@@ -832,7 +827,7 @@ msgstr ""
msgid "Assigned tenant"
msgstr ""
-#: netbox/circuits/forms/bulk_import.py:122
+#: netbox/circuits/forms/bulk_import.py:119
#: netbox/templates/circuits/inc/circuit_termination.html:6
#: netbox/templates/circuits/inc/circuit_termination_fields.html:15
#: netbox/templates/dcim/cable.html:68 netbox/templates/dcim/cable.html:72
@@ -840,7 +835,7 @@ msgstr ""
msgid "Termination"
msgstr ""
-#: netbox/circuits/forms/bulk_import.py:132
+#: netbox/circuits/forms/bulk_import.py:129
#: netbox/circuits/forms/filtersets.py:145
#: netbox/circuits/forms/filtersets.py:225
#: netbox/circuits/forms/model_forms.py:142
@@ -852,20 +847,20 @@ msgstr ""
#: netbox/circuits/forms/filtersets.py:198 netbox/dcim/forms/bulk_edit.py:248
#: netbox/dcim/forms/bulk_edit.py:346 netbox/dcim/forms/bulk_edit.py:580
#: netbox/dcim/forms/bulk_edit.py:627 netbox/dcim/forms/bulk_edit.py:780
-#: netbox/dcim/forms/bulk_import.py:189 netbox/dcim/forms/bulk_import.py:263
-#: netbox/dcim/forms/bulk_import.py:491 netbox/dcim/forms/bulk_import.py:1268
-#: netbox/dcim/forms/bulk_import.py:1302 netbox/dcim/forms/filtersets.py:93
-#: netbox/dcim/forms/filtersets.py:246 netbox/dcim/forms/filtersets.py:279
-#: netbox/dcim/forms/filtersets.py:331 netbox/dcim/forms/filtersets.py:382
-#: netbox/dcim/forms/filtersets.py:649 netbox/dcim/forms/filtersets.py:691
-#: netbox/dcim/forms/filtersets.py:896 netbox/dcim/forms/filtersets.py:925
-#: netbox/dcim/forms/filtersets.py:945 netbox/dcim/forms/filtersets.py:1009
-#: netbox/dcim/forms/filtersets.py:1039 netbox/dcim/forms/filtersets.py:1048
-#: netbox/dcim/forms/filtersets.py:1159 netbox/dcim/forms/filtersets.py:1181
-#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1220
-#: netbox/dcim/forms/filtersets.py:1240 netbox/dcim/forms/filtersets.py:1348
-#: netbox/dcim/forms/filtersets.py:1370 netbox/dcim/forms/filtersets.py:1391
-#: netbox/dcim/forms/filtersets.py:1406 netbox/dcim/forms/filtersets.py:1420
+#: netbox/dcim/forms/bulk_import.py:186 netbox/dcim/forms/bulk_import.py:260
+#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1256
+#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:94
+#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:280
+#: netbox/dcim/forms/filtersets.py:332 netbox/dcim/forms/filtersets.py:383
+#: netbox/dcim/forms/filtersets.py:650 netbox/dcim/forms/filtersets.py:693
+#: netbox/dcim/forms/filtersets.py:908 netbox/dcim/forms/filtersets.py:937
+#: netbox/dcim/forms/filtersets.py:957 netbox/dcim/forms/filtersets.py:1021
+#: netbox/dcim/forms/filtersets.py:1051 netbox/dcim/forms/filtersets.py:1060
+#: netbox/dcim/forms/filtersets.py:1171 netbox/dcim/forms/filtersets.py:1193
+#: netbox/dcim/forms/filtersets.py:1215 netbox/dcim/forms/filtersets.py:1232
+#: netbox/dcim/forms/filtersets.py:1252 netbox/dcim/forms/filtersets.py:1360
+#: netbox/dcim/forms/filtersets.py:1382 netbox/dcim/forms/filtersets.py:1403
+#: netbox/dcim/forms/filtersets.py:1418 netbox/dcim/forms/filtersets.py:1432
#: netbox/dcim/forms/model_forms.py:179 netbox/dcim/forms/model_forms.py:211
#: netbox/dcim/forms/model_forms.py:411 netbox/dcim/forms/model_forms.py:676
#: netbox/dcim/tables/devices.py:154 netbox/dcim/tables/power.py:30
@@ -888,14 +883,14 @@ msgid "Location"
msgstr ""
#: netbox/circuits/forms/filtersets.py:30
-#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:137
-#: netbox/dcim/forms/filtersets.py:151 netbox/dcim/forms/filtersets.py:167
-#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250
-#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:406
-#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:1010
+#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:138
+#: netbox/dcim/forms/filtersets.py:152 netbox/dcim/forms/filtersets.py:168
+#: netbox/dcim/forms/filtersets.py:200 netbox/dcim/forms/filtersets.py:251
+#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:407
+#: netbox/dcim/forms/filtersets.py:654 netbox/dcim/forms/filtersets.py:1022
#: netbox/netbox/navigation/menu.py:44 netbox/netbox/navigation/menu.py:46
#: netbox/tenancy/forms/filtersets.py:42 netbox/tenancy/tables/columns.py:70
-#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:18
+#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:19
#: netbox/virtualization/forms/filtersets.py:37
#: netbox/virtualization/forms/filtersets.py:48
#: netbox/virtualization/forms/filtersets.py:106
@@ -905,13 +900,13 @@ msgstr ""
#: netbox/circuits/forms/filtersets.py:35
#: netbox/circuits/forms/filtersets.py:155 netbox/dcim/forms/bulk_edit.py:111
#: netbox/dcim/forms/bulk_edit.py:223 netbox/dcim/forms/bulk_edit.py:755
-#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:71
-#: netbox/dcim/forms/filtersets.py:178 netbox/dcim/forms/filtersets.py:204
-#: netbox/dcim/forms/filtersets.py:257 netbox/dcim/forms/filtersets.py:360
-#: netbox/dcim/forms/filtersets.py:668 netbox/dcim/forms/filtersets.py:902
-#: netbox/dcim/forms/filtersets.py:932 netbox/dcim/forms/filtersets.py:1016
-#: netbox/dcim/forms/filtersets.py:1055 netbox/dcim/forms/filtersets.py:1468
-#: netbox/dcim/forms/filtersets.py:1492 netbox/dcim/forms/filtersets.py:1516
+#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:72
+#: netbox/dcim/forms/filtersets.py:179 netbox/dcim/forms/filtersets.py:205
+#: netbox/dcim/forms/filtersets.py:258 netbox/dcim/forms/filtersets.py:361
+#: netbox/dcim/forms/filtersets.py:670 netbox/dcim/forms/filtersets.py:914
+#: netbox/dcim/forms/filtersets.py:944 netbox/dcim/forms/filtersets.py:1028
+#: netbox/dcim/forms/filtersets.py:1067 netbox/dcim/forms/filtersets.py:1480
+#: netbox/dcim/forms/filtersets.py:1504 netbox/dcim/forms/filtersets.py:1528
#: netbox/dcim/forms/model_forms.py:111 netbox/dcim/forms/object_create.py:375
#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/sites.py:85
#: netbox/extras/filtersets.py:455 netbox/ipam/forms/bulk_edit.py:206
@@ -932,11 +927,11 @@ msgstr ""
#: netbox/circuits/forms/filtersets.py:40
#: netbox/circuits/forms/filtersets.py:160 netbox/dcim/forms/bulk_edit.py:231
-#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:76
-#: netbox/dcim/forms/filtersets.py:183 netbox/dcim/forms/filtersets.py:209
-#: netbox/dcim/forms/filtersets.py:270 netbox/dcim/forms/filtersets.py:365
-#: netbox/dcim/forms/filtersets.py:673 netbox/dcim/forms/filtersets.py:907
-#: netbox/dcim/forms/filtersets.py:1021 netbox/dcim/forms/filtersets.py:1060
+#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:77
+#: netbox/dcim/forms/filtersets.py:184 netbox/dcim/forms/filtersets.py:210
+#: netbox/dcim/forms/filtersets.py:271 netbox/dcim/forms/filtersets.py:366
+#: netbox/dcim/forms/filtersets.py:675 netbox/dcim/forms/filtersets.py:919
+#: netbox/dcim/forms/filtersets.py:1033 netbox/dcim/forms/filtersets.py:1072
#: netbox/dcim/forms/object_create.py:383 netbox/extras/filtersets.py:472
#: netbox/ipam/forms/bulk_edit.py:211 netbox/ipam/forms/bulk_edit.py:445
#: netbox/ipam/forms/bulk_edit.py:517 netbox/ipam/forms/filtersets.py:222
@@ -953,14 +948,14 @@ msgstr ""
#: netbox/circuits/forms/filtersets.py:81
#: netbox/circuits/forms/filtersets.py:100
#: netbox/circuits/forms/filtersets.py:115 netbox/core/forms/filtersets.py:64
-#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:165
-#: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/filtersets.py:834
-#: netbox/dcim/forms/filtersets.py:926 netbox/dcim/forms/filtersets.py:1050
-#: netbox/dcim/forms/filtersets.py:1158 netbox/dcim/forms/filtersets.py:1180
-#: netbox/dcim/forms/filtersets.py:1202 netbox/dcim/forms/filtersets.py:1219
-#: netbox/dcim/forms/filtersets.py:1236 netbox/dcim/forms/filtersets.py:1347
-#: netbox/dcim/forms/filtersets.py:1369 netbox/dcim/forms/filtersets.py:1390
-#: netbox/dcim/forms/filtersets.py:1405 netbox/dcim/forms/filtersets.py:1418
+#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:166
+#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:846
+#: netbox/dcim/forms/filtersets.py:938 netbox/dcim/forms/filtersets.py:1062
+#: netbox/dcim/forms/filtersets.py:1170 netbox/dcim/forms/filtersets.py:1192
+#: netbox/dcim/forms/filtersets.py:1214 netbox/dcim/forms/filtersets.py:1231
+#: netbox/dcim/forms/filtersets.py:1248 netbox/dcim/forms/filtersets.py:1359
+#: netbox/dcim/forms/filtersets.py:1381 netbox/dcim/forms/filtersets.py:1402
+#: netbox/dcim/forms/filtersets.py:1417 netbox/dcim/forms/filtersets.py:1430
#: netbox/extras/forms/filtersets.py:43 netbox/extras/forms/filtersets.py:112
#: netbox/extras/forms/filtersets.py:143 netbox/extras/forms/filtersets.py:183
#: netbox/extras/forms/filtersets.py:199 netbox/extras/forms/filtersets.py:230
@@ -1095,7 +1090,7 @@ msgstr ""
#: netbox/dcim/models/device_component_templates.py:61
#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:538
#: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219
-#: netbox/extras/models/customfields.py:123 netbox/extras/models/models.py:60
+#: netbox/extras/models/customfields.py:124 netbox/extras/models/models.py:60
#: netbox/extras/models/models.py:186 netbox/extras/models/models.py:424
#: netbox/extras/models/models.py:539 netbox/extras/models/staging.py:32
#: netbox/extras/models/tags.py:32 netbox/netbox/models/__init__.py:109
@@ -1134,7 +1129,7 @@ msgstr ""
#: netbox/dcim/models/power.py:39 netbox/dcim/models/power.py:92
#: netbox/dcim/models/racks.py:63 netbox/dcim/models/sites.py:138
#: netbox/extras/models/configs.py:36 netbox/extras/models/configs.py:215
-#: netbox/extras/models/customfields.py:90 netbox/extras/models/models.py:55
+#: netbox/extras/models/customfields.py:91 netbox/extras/models/models.py:55
#: netbox/extras/models/models.py:181 netbox/extras/models/models.py:324
#: netbox/extras/models/models.py:420 netbox/extras/models/models.py:529
#: netbox/extras/models/models.py:624 netbox/extras/models/scripts.py:30
@@ -1206,7 +1201,7 @@ msgstr ""
#: netbox/circuits/tables/providers.py:99 netbox/core/tables/data.py:16
#: netbox/core/tables/jobs.py:14 netbox/core/tables/plugins.py:13
#: netbox/core/tables/tasks.py:11 netbox/core/tables/tasks.py:115
-#: netbox/dcim/forms/filtersets.py:61 netbox/dcim/forms/object_create.py:43
+#: netbox/dcim/forms/filtersets.py:62 netbox/dcim/forms/object_create.py:43
#: netbox/dcim/tables/devices.py:52 netbox/dcim/tables/devices.py:89
#: netbox/dcim/tables/devices.py:131 netbox/dcim/tables/devices.py:286
#: netbox/dcim/tables/devices.py:380 netbox/dcim/tables/devices.py:421
@@ -1514,7 +1509,7 @@ msgstr ""
#: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:40
#: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1020
-#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1276
+#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1288
#: netbox/dcim/tables/devices.py:541 netbox/dcim/tables/devicetypes.py:221
#: netbox/extras/forms/bulk_edit.py:98 netbox/extras/forms/bulk_edit.py:162
#: netbox/extras/forms/bulk_edit.py:221 netbox/extras/forms/filtersets.py:120
@@ -1617,7 +1612,7 @@ msgid "Completed before"
msgstr ""
#: netbox/core/forms/filtersets.py:123 netbox/dcim/forms/bulk_edit.py:361
-#: netbox/dcim/forms/filtersets.py:353 netbox/dcim/forms/filtersets.py:397
+#: netbox/dcim/forms/filtersets.py:354 netbox/dcim/forms/filtersets.py:398
#: netbox/dcim/forms/model_forms.py:258 netbox/extras/forms/filtersets.py:465
#: netbox/extras/forms/filtersets.py:505
#: netbox/templates/dcim/rackreservation.html:58
@@ -1699,7 +1694,7 @@ msgstr ""
msgid "User Preferences"
msgstr ""
-#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:661
+#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:663
#: netbox/templates/core/inc/config_data.html:127
#: netbox/users/forms/model_forms.py:65
msgid "Miscellaneous"
@@ -1773,7 +1768,7 @@ msgstr ""
#: netbox/dcim/models/device_components.py:606
#: netbox/dcim/models/device_components.py:971
#: netbox/dcim/models/device_components.py:1045 netbox/dcim/models/power.py:102
-#: netbox/dcim/models/racks.py:128 netbox/extras/models/customfields.py:76
+#: netbox/dcim/models/racks.py:128 netbox/extras/models/customfields.py:77
#: netbox/extras/models/search.py:41
#: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32
msgid "type"
@@ -2137,7 +2132,7 @@ msgstr ""
msgid "Reserved"
msgstr ""
-#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:252
+#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:259
msgid "Available"
msgstr ""
@@ -2159,8 +2154,8 @@ msgstr ""
#: netbox/dcim/forms/bulk_edit.py:86 netbox/dcim/forms/bulk_edit.py:172
#: netbox/dcim/forms/bulk_edit.py:1298 netbox/dcim/forms/bulk_import.py:59
#: netbox/dcim/forms/bulk_import.py:73 netbox/dcim/forms/bulk_import.py:136
-#: netbox/dcim/forms/bulk_import.py:511 netbox/dcim/forms/bulk_import.py:778
-#: netbox/dcim/forms/bulk_import.py:1033 netbox/dcim/forms/filtersets.py:227
+#: netbox/dcim/forms/bulk_import.py:505 netbox/dcim/forms/bulk_import.py:772
+#: netbox/dcim/forms/bulk_import.py:1027 netbox/dcim/forms/filtersets.py:228
#: netbox/dcim/forms/model_forms.py:73 netbox/dcim/forms/model_forms.py:92
#: netbox/dcim/forms/model_forms.py:169 netbox/dcim/forms/model_forms.py:1010
#: netbox/dcim/forms/model_forms.py:1449 netbox/dcim/forms/object_import.py:176
@@ -2194,14 +2189,14 @@ msgstr ""
msgid "Child"
msgstr ""
-#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:332
+#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:339
#: netbox/templates/dcim/rack.html:175
#: netbox/templates/dcim/rack_elevation_list.html:20
#: netbox/templates/dcim/rackreservation.html:76
msgid "Front"
msgstr ""
-#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:338
+#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:345
#: netbox/templates/dcim/rack.html:181
#: netbox/templates/dcim/rack_elevation_list.html:21
#: netbox/templates/dcim/rackreservation.html:82
@@ -2285,7 +2280,7 @@ msgid "Virtual"
msgstr ""
#: netbox/dcim/choices.py:814 netbox/dcim/choices.py:1051
-#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1239
+#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1251
#: netbox/dcim/forms/model_forms.py:936 netbox/dcim/forms/model_forms.py:1344
#: netbox/netbox/navigation/menu.py:127 netbox/netbox/navigation/menu.py:131
#: netbox/templates/dcim/interface.html:210
@@ -2297,7 +2292,7 @@ msgid "Virtual interfaces"
msgstr ""
#: netbox/dcim/choices.py:979 netbox/dcim/forms/bulk_edit.py:1303
-#: netbox/dcim/forms/bulk_import.py:785 netbox/dcim/forms/model_forms.py:922
+#: netbox/dcim/forms/bulk_import.py:779 netbox/dcim/forms/model_forms.py:922
#: netbox/dcim/tables/devices.py:644 netbox/templates/dcim/interface.html:106
#: netbox/templates/virtualization/vminterface.html:43
#: netbox/virtualization/forms/bulk_edit.py:212
@@ -2326,9 +2321,9 @@ msgstr ""
msgid "Cellular"
msgstr ""
-#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:303
-#: netbox/dcim/forms/filtersets.py:738 netbox/dcim/forms/filtersets.py:882
-#: netbox/dcim/forms/filtersets.py:1434
+#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:304
+#: netbox/dcim/forms/filtersets.py:740 netbox/dcim/forms/filtersets.py:894
+#: netbox/dcim/forms/filtersets.py:1446
#: netbox/templates/dcim/inventoryitem.html:52
#: netbox/templates/dcim/virtualchassis_edit.html:54
msgid "Serial"
@@ -2401,7 +2396,7 @@ msgstr ""
msgid "Fiber"
msgstr ""
-#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1146
+#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1158
msgid "Connected"
msgstr ""
@@ -2425,7 +2420,7 @@ msgstr ""
msgid "Feet"
msgstr ""
-#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:320
+#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:327
#: netbox/templates/dcim/rack.html:152
msgid "Kilograms"
msgstr ""
@@ -2507,25 +2502,25 @@ msgstr ""
#: netbox/dcim/filtersets.py:257 netbox/dcim/filtersets.py:333
#: netbox/dcim/filtersets.py:432 netbox/dcim/filtersets.py:1005
-#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:2111
+#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2122
msgid "Location (ID)"
msgstr ""
#: netbox/dcim/filtersets.py:264 netbox/dcim/filtersets.py:340
-#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1347
+#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1358
#: netbox/extras/filtersets.py:494
msgid "Location (slug)"
msgstr ""
#: netbox/dcim/filtersets.py:354 netbox/dcim/filtersets.py:840
-#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1779
+#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1790
#: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493
#: netbox/ipam/filtersets.py:989 netbox/virtualization/filtersets.py:210
msgid "Role (ID)"
msgstr ""
#: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:846
-#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1785
+#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1796
#: netbox/extras/filtersets.py:510 netbox/ipam/filtersets.py:387
#: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:995
#: netbox/virtualization/filtersets.py:216
@@ -2533,7 +2528,7 @@ msgid "Role (slug)"
msgstr ""
#: netbox/dcim/filtersets.py:389 netbox/dcim/filtersets.py:1010
-#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2173
+#: netbox/dcim/filtersets.py:1363 netbox/dcim/filtersets.py:2184
msgid "Rack (ID)"
msgstr ""
@@ -2551,15 +2546,15 @@ msgstr ""
#: netbox/dcim/filtersets.py:481 netbox/dcim/filtersets.py:620
#: netbox/dcim/filtersets.py:830 netbox/dcim/filtersets.py:881
-#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1243
-#: netbox/dcim/filtersets.py:1769
+#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1254
+#: netbox/dcim/filtersets.py:1780
msgid "Manufacturer (ID)"
msgstr ""
#: netbox/dcim/filtersets.py:487 netbox/dcim/filtersets.py:626
#: netbox/dcim/filtersets.py:836 netbox/dcim/filtersets.py:887
-#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1249
-#: netbox/dcim/filtersets.py:1775
+#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1260
+#: netbox/dcim/filtersets.py:1786
msgid "Manufacturer (slug)"
msgstr ""
@@ -2571,83 +2566,83 @@ msgstr ""
msgid "Default platform (slug)"
msgstr ""
-#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:452
+#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:453
msgid "Has a front image"
msgstr ""
-#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:459
+#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:460
msgid "Has a rear image"
msgstr ""
#: netbox/dcim/filtersets.py:509 netbox/dcim/filtersets.py:630
-#: netbox/dcim/filtersets.py:1068 netbox/dcim/forms/filtersets.py:466
-#: netbox/dcim/forms/filtersets.py:562 netbox/dcim/forms/filtersets.py:777
+#: netbox/dcim/filtersets.py:1079 netbox/dcim/forms/filtersets.py:467
+#: netbox/dcim/forms/filtersets.py:563 netbox/dcim/forms/filtersets.py:779
msgid "Has console ports"
msgstr ""
#: netbox/dcim/filtersets.py:513 netbox/dcim/filtersets.py:634
-#: netbox/dcim/filtersets.py:1072 netbox/dcim/forms/filtersets.py:473
-#: netbox/dcim/forms/filtersets.py:569 netbox/dcim/forms/filtersets.py:784
+#: netbox/dcim/filtersets.py:1083 netbox/dcim/forms/filtersets.py:474
+#: netbox/dcim/forms/filtersets.py:570 netbox/dcim/forms/filtersets.py:786
msgid "Has console server ports"
msgstr ""
#: netbox/dcim/filtersets.py:517 netbox/dcim/filtersets.py:638
-#: netbox/dcim/filtersets.py:1076 netbox/dcim/forms/filtersets.py:480
-#: netbox/dcim/forms/filtersets.py:576 netbox/dcim/forms/filtersets.py:791
+#: netbox/dcim/filtersets.py:1087 netbox/dcim/forms/filtersets.py:481
+#: netbox/dcim/forms/filtersets.py:577 netbox/dcim/forms/filtersets.py:793
msgid "Has power ports"
msgstr ""
#: netbox/dcim/filtersets.py:521 netbox/dcim/filtersets.py:642
-#: netbox/dcim/filtersets.py:1080 netbox/dcim/forms/filtersets.py:487
-#: netbox/dcim/forms/filtersets.py:583 netbox/dcim/forms/filtersets.py:798
+#: netbox/dcim/filtersets.py:1091 netbox/dcim/forms/filtersets.py:488
+#: netbox/dcim/forms/filtersets.py:584 netbox/dcim/forms/filtersets.py:800
msgid "Has power outlets"
msgstr ""
#: netbox/dcim/filtersets.py:525 netbox/dcim/filtersets.py:646
-#: netbox/dcim/filtersets.py:1084 netbox/dcim/forms/filtersets.py:494
-#: netbox/dcim/forms/filtersets.py:590 netbox/dcim/forms/filtersets.py:805
+#: netbox/dcim/filtersets.py:1095 netbox/dcim/forms/filtersets.py:495
+#: netbox/dcim/forms/filtersets.py:591 netbox/dcim/forms/filtersets.py:807
msgid "Has interfaces"
msgstr ""
#: netbox/dcim/filtersets.py:529 netbox/dcim/filtersets.py:650
-#: netbox/dcim/filtersets.py:1088 netbox/dcim/forms/filtersets.py:501
-#: netbox/dcim/forms/filtersets.py:597 netbox/dcim/forms/filtersets.py:812
+#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/filtersets.py:502
+#: netbox/dcim/forms/filtersets.py:598 netbox/dcim/forms/filtersets.py:814
msgid "Has pass-through ports"
msgstr ""
-#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1092
-#: netbox/dcim/forms/filtersets.py:515
+#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1103
+#: netbox/dcim/forms/filtersets.py:516
msgid "Has module bays"
msgstr ""
-#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1096
-#: netbox/dcim/forms/filtersets.py:508
+#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1107
+#: netbox/dcim/forms/filtersets.py:509
msgid "Has device bays"
msgstr ""
-#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:522
+#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:523
msgid "Has inventory items"
msgstr ""
#: netbox/dcim/filtersets.py:698 netbox/dcim/filtersets.py:937
-#: netbox/dcim/filtersets.py:1373
+#: netbox/dcim/filtersets.py:1384
msgid "Device type (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1254
+#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1265
msgid "Module type (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1524
+#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1535
msgid "Power port (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1765
+#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1776
msgid "Parent inventory item (ID)"
msgstr ""
#: netbox/dcim/filtersets.py:869 netbox/dcim/filtersets.py:895
-#: netbox/dcim/filtersets.py:1064 netbox/virtualization/filtersets.py:238
+#: netbox/dcim/filtersets.py:1075 netbox/virtualization/filtersets.py:238
msgid "Config template (ID)"
msgstr ""
@@ -2668,9 +2663,9 @@ msgstr ""
msgid "Platform (slug)"
msgstr ""
-#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1336
-#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2105
-#: netbox/dcim/filtersets.py:2164
+#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1347
+#: netbox/dcim/filtersets.py:1874 netbox/dcim/filtersets.py:2116
+#: netbox/dcim/filtersets.py:2175
msgid "Site name (slug)"
msgstr ""
@@ -2682,16 +2677,25 @@ msgstr ""
msgid "VM cluster (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1025
+#: netbox/dcim/filtersets.py:1025 netbox/extras/filtersets.py:543
+#: netbox/virtualization/filtersets.py:136
+msgid "Cluster group (slug)"
+msgstr ""
+
+#: netbox/dcim/filtersets.py:1030 netbox/virtualization/filtersets.py:130
+msgid "Cluster group (ID)"
+msgstr ""
+
+#: netbox/dcim/filtersets.py:1036
msgid "Device model (slug)"
msgstr ""
-#: netbox/dcim/filtersets.py:1036 netbox/dcim/forms/bulk_edit.py:423
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/forms/bulk_edit.py:423
msgid "Is full depth"
msgstr ""
-#: netbox/dcim/filtersets.py:1040 netbox/dcim/forms/common.py:18
-#: netbox/dcim/forms/filtersets.py:747 netbox/dcim/forms/filtersets.py:1291
+#: netbox/dcim/filtersets.py:1051 netbox/dcim/forms/common.py:18
+#: netbox/dcim/forms/filtersets.py:749 netbox/dcim/forms/filtersets.py:1303
#: netbox/dcim/models/device_components.py:519
#: netbox/virtualization/filtersets.py:230
#: netbox/virtualization/filtersets.py:297
@@ -2700,88 +2704,88 @@ msgstr ""
msgid "MAC address"
msgstr ""
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:1211
-#: netbox/dcim/forms/filtersets.py:756 netbox/dcim/forms/filtersets.py:849
+#: netbox/dcim/filtersets.py:1058 netbox/dcim/filtersets.py:1222
+#: netbox/dcim/forms/filtersets.py:758 netbox/dcim/forms/filtersets.py:861
#: netbox/virtualization/filtersets.py:234
#: netbox/virtualization/forms/filtersets.py:176
msgid "Has a primary IP"
msgstr ""
-#: netbox/dcim/filtersets.py:1051
+#: netbox/dcim/filtersets.py:1062
msgid "Has an out-of-band IP"
msgstr ""
-#: netbox/dcim/filtersets.py:1056
+#: netbox/dcim/filtersets.py:1067
msgid "Virtual chassis (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1060
+#: netbox/dcim/filtersets.py:1071
msgid "Is a virtual chassis member"
msgstr ""
-#: netbox/dcim/filtersets.py:1101
+#: netbox/dcim/filtersets.py:1112
msgid "OOB IP (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1105
+#: netbox/dcim/filtersets.py:1116
msgid "Has virtual device context"
msgstr ""
-#: netbox/dcim/filtersets.py:1194
+#: netbox/dcim/filtersets.py:1205
msgid "VDC (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1199
+#: netbox/dcim/filtersets.py:1210
msgid "Device model"
msgstr ""
-#: netbox/dcim/filtersets.py:1204 netbox/ipam/filtersets.py:632
+#: netbox/dcim/filtersets.py:1215 netbox/ipam/filtersets.py:632
#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:420
msgid "Interface (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1260
+#: netbox/dcim/filtersets.py:1271
msgid "Module type (model)"
msgstr ""
-#: netbox/dcim/filtersets.py:1266
+#: netbox/dcim/filtersets.py:1277
msgid "Module Bay (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1270 netbox/dcim/filtersets.py:1362
+#: netbox/dcim/filtersets.py:1281 netbox/dcim/filtersets.py:1373
#: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851
#: netbox/ipam/filtersets.py:1075 netbox/virtualization/filtersets.py:161
#: netbox/vpn/filtersets.py:398
msgid "Device (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1358
+#: netbox/dcim/filtersets.py:1369
msgid "Rack (name)"
msgstr ""
-#: netbox/dcim/filtersets.py:1368 netbox/ipam/filtersets.py:606
+#: netbox/dcim/filtersets.py:1379 netbox/ipam/filtersets.py:606
#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1081
#: netbox/vpn/filtersets.py:393
msgid "Device (name)"
msgstr ""
-#: netbox/dcim/filtersets.py:1379
+#: netbox/dcim/filtersets.py:1390
msgid "Device type (model)"
msgstr ""
-#: netbox/dcim/filtersets.py:1384
+#: netbox/dcim/filtersets.py:1395
msgid "Device role (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1390
+#: netbox/dcim/filtersets.py:1401
msgid "Device role (slug)"
msgstr ""
-#: netbox/dcim/filtersets.py:1395
+#: netbox/dcim/filtersets.py:1406
msgid "Virtual Chassis (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1401 netbox/dcim/forms/filtersets.py:107
+#: netbox/dcim/filtersets.py:1412 netbox/dcim/forms/filtersets.py:108
#: netbox/dcim/tables/devices.py:203 netbox/netbox/navigation/menu.py:66
#: netbox/templates/dcim/device.html:120
#: netbox/templates/dcim/device_edit.html:93
@@ -2791,25 +2795,25 @@ msgstr ""
msgid "Virtual Chassis"
msgstr ""
-#: netbox/dcim/filtersets.py:1421
+#: netbox/dcim/filtersets.py:1432
msgid "Module (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1428
+#: netbox/dcim/filtersets.py:1439
msgid "Cable (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1537 netbox/ipam/forms/bulk_import.py:188
+#: netbox/dcim/filtersets.py:1548 netbox/ipam/forms/bulk_import.py:188
#: netbox/vpn/forms/bulk_import.py:308
msgid "Assigned VLAN"
msgstr ""
-#: netbox/dcim/filtersets.py:1541
+#: netbox/dcim/filtersets.py:1552
msgid "Assigned VID"
msgstr ""
-#: netbox/dcim/filtersets.py:1546 netbox/dcim/forms/bulk_edit.py:1382
-#: netbox/dcim/forms/bulk_import.py:836 netbox/dcim/forms/filtersets.py:1334
+#: netbox/dcim/filtersets.py:1557 netbox/dcim/forms/bulk_edit.py:1382
+#: netbox/dcim/forms/bulk_import.py:830 netbox/dcim/forms/filtersets.py:1346
#: netbox/dcim/forms/model_forms.py:1325
#: netbox/dcim/models/device_components.py:712
#: netbox/dcim/tables/devices.py:610 netbox/ipam/filtersets.py:316
@@ -2841,18 +2845,18 @@ msgstr ""
msgid "VRF"
msgstr ""
-#: netbox/dcim/filtersets.py:1552 netbox/ipam/filtersets.py:322
+#: netbox/dcim/filtersets.py:1563 netbox/ipam/filtersets.py:322
#: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489
#: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601
msgid "VRF (RD)"
msgstr ""
-#: netbox/dcim/filtersets.py:1557 netbox/ipam/filtersets.py:1016
+#: netbox/dcim/filtersets.py:1568 netbox/ipam/filtersets.py:1016
#: netbox/vpn/filtersets.py:361
msgid "L2VPN (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1563 netbox/dcim/forms/filtersets.py:1339
+#: netbox/dcim/filtersets.py:1574 netbox/dcim/forms/filtersets.py:1351
#: netbox/dcim/tables/devices.py:558 netbox/ipam/filtersets.py:1022
#: netbox/ipam/forms/filtersets.py:525 netbox/ipam/tables/vlans.py:133
#: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66
@@ -2864,83 +2868,83 @@ msgstr ""
msgid "L2VPN"
msgstr ""
-#: netbox/dcim/filtersets.py:1595
+#: netbox/dcim/filtersets.py:1606
msgid "Virtual Chassis Interfaces for Device"
msgstr ""
-#: netbox/dcim/filtersets.py:1600
+#: netbox/dcim/filtersets.py:1611
msgid "Virtual Chassis Interfaces for Device (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1604
+#: netbox/dcim/filtersets.py:1615
msgid "Kind of interface"
msgstr ""
-#: netbox/dcim/filtersets.py:1609 netbox/virtualization/filtersets.py:289
+#: netbox/dcim/filtersets.py:1620 netbox/virtualization/filtersets.py:289
msgid "Parent interface (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1614 netbox/virtualization/filtersets.py:294
+#: netbox/dcim/filtersets.py:1625 netbox/virtualization/filtersets.py:294
msgid "Bridged interface (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1619
+#: netbox/dcim/filtersets.py:1630
msgid "LAG interface (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1646 netbox/dcim/filtersets.py:1658
-#: netbox/dcim/forms/filtersets.py:1251 netbox/dcim/forms/model_forms.py:1637
+#: netbox/dcim/filtersets.py:1657 netbox/dcim/filtersets.py:1669
+#: netbox/dcim/forms/filtersets.py:1263 netbox/dcim/forms/model_forms.py:1637
#: netbox/templates/dcim/virtualdevicecontext.html:15
msgid "Virtual Device Context"
msgstr ""
-#: netbox/dcim/filtersets.py:1652
+#: netbox/dcim/filtersets.py:1663
msgid "Virtual Device Context (Identifier)"
msgstr ""
-#: netbox/dcim/filtersets.py:1663 netbox/templates/wireless/wirelesslan.html:11
+#: netbox/dcim/filtersets.py:1674 netbox/templates/wireless/wirelesslan.html:11
#: netbox/wireless/forms/model_forms.py:53
msgid "Wireless LAN"
msgstr ""
-#: netbox/dcim/filtersets.py:1667 netbox/dcim/tables/devices.py:597
+#: netbox/dcim/filtersets.py:1678 netbox/dcim/tables/devices.py:597
msgid "Wireless link"
msgstr ""
-#: netbox/dcim/filtersets.py:1737
+#: netbox/dcim/filtersets.py:1748
msgid "Installed module (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1748
+#: netbox/dcim/filtersets.py:1759
msgid "Installed device (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1754
+#: netbox/dcim/filtersets.py:1765
msgid "Installed device (name)"
msgstr ""
-#: netbox/dcim/filtersets.py:1820
+#: netbox/dcim/filtersets.py:1831
msgid "Master (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1826
+#: netbox/dcim/filtersets.py:1837
msgid "Master (name)"
msgstr ""
-#: netbox/dcim/filtersets.py:1868 netbox/tenancy/filtersets.py:246
+#: netbox/dcim/filtersets.py:1879 netbox/tenancy/filtersets.py:246
msgid "Tenant (ID)"
msgstr ""
-#: netbox/dcim/filtersets.py:1874 netbox/extras/filtersets.py:570
+#: netbox/dcim/filtersets.py:1885 netbox/extras/filtersets.py:570
#: netbox/tenancy/filtersets.py:252
msgid "Tenant (slug)"
msgstr ""
-#: netbox/dcim/filtersets.py:1910 netbox/dcim/forms/filtersets.py:996
+#: netbox/dcim/filtersets.py:1921 netbox/dcim/forms/filtersets.py:1008
msgid "Unterminated"
msgstr ""
-#: netbox/dcim/filtersets.py:2168
+#: netbox/dcim/filtersets.py:2179
msgid "Power panel (ID)"
msgstr ""
@@ -2955,12 +2959,12 @@ msgstr ""
msgid "Tags"
msgstr ""
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1396
+#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1408
#: netbox/dcim/forms/model_forms.py:431 netbox/dcim/forms/model_forms.py:489
#: netbox/dcim/forms/object_create.py:197
#: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:162
#: netbox/dcim/tables/devices.py:690 netbox/dcim/tables/devicetypes.py:242
-#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:130
+#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131
#: netbox/templates/dcim/modulebay.html:34
#: netbox/templates/dcim/virtualchassis.html:66
#: netbox/templates/dcim/virtualchassis_edit.html:55
@@ -3031,9 +3035,9 @@ msgid "Time zone"
msgstr ""
#: netbox/dcim/forms/bulk_edit.py:267 netbox/dcim/forms/bulk_edit.py:1160
-#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:207
-#: netbox/dcim/forms/bulk_import.py:1021 netbox/dcim/forms/filtersets.py:300
-#: netbox/dcim/forms/filtersets.py:706 netbox/dcim/forms/filtersets.py:1426
+#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:204
+#: netbox/dcim/forms/bulk_import.py:1015 netbox/dcim/forms/filtersets.py:301
+#: netbox/dcim/forms/filtersets.py:708 netbox/dcim/forms/filtersets.py:1438
#: netbox/dcim/forms/model_forms.py:219 netbox/dcim/forms/model_forms.py:1018
#: netbox/dcim/forms/model_forms.py:1457 netbox/dcim/forms/object_import.py:181
#: netbox/dcim/tables/devices.py:166 netbox/dcim/tables/devices.py:792
@@ -3049,7 +3053,7 @@ msgstr ""
#: netbox/ipam/forms/model_forms.py:248 netbox/ipam/forms/model_forms.py:689
#: netbox/ipam/tables/ip.py:257 netbox/ipam/tables/ip.py:313
#: netbox/ipam/tables/ip.py:363 netbox/ipam/tables/vlans.py:126
-#: netbox/ipam/tables/vlans.py:230 netbox/templates/dcim/device.html:180
+#: netbox/ipam/tables/vlans.py:230 netbox/templates/dcim/device.html:182
#: netbox/templates/dcim/inc/panels/inventory_items.html:20
#: netbox/templates/dcim/interface.html:223
#: netbox/templates/dcim/inventoryitem.html:36
@@ -3080,14 +3084,14 @@ msgstr ""
msgid "Serial Number"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:307
-#: netbox/dcim/forms/filtersets.py:742 netbox/dcim/forms/filtersets.py:886
-#: netbox/dcim/forms/filtersets.py:1438
+#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:308
+#: netbox/dcim/forms/filtersets.py:744 netbox/dcim/forms/filtersets.py:898
+#: netbox/dcim/forms/filtersets.py:1450
msgid "Asset tag"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:220
-#: netbox/dcim/forms/filtersets.py:292 netbox/templates/dcim/rack.html:86
+#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:217
+#: netbox/dcim/forms/filtersets.py:293 netbox/templates/dcim/rack.html:86
msgid "Width"
msgstr ""
@@ -3107,7 +3111,7 @@ msgstr ""
msgid "Outer depth"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:225
+#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:222
msgid "Outer unit"
msgstr ""
@@ -3118,18 +3122,18 @@ msgstr ""
#: netbox/dcim/forms/bulk_edit.py:321 netbox/dcim/forms/bulk_edit.py:351
#: netbox/dcim/forms/bulk_edit.py:436 netbox/dcim/forms/bulk_edit.py:459
#: netbox/dcim/forms/bulk_edit.py:475 netbox/dcim/forms/bulk_edit.py:495
-#: netbox/dcim/forms/bulk_import.py:332 netbox/dcim/forms/bulk_import.py:358
-#: netbox/dcim/forms/filtersets.py:251 netbox/dcim/forms/filtersets.py:312
-#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:423
-#: netbox/dcim/forms/filtersets.py:529 netbox/dcim/forms/filtersets.py:548
-#: netbox/dcim/forms/filtersets.py:604 netbox/dcim/forms/model_forms.py:232
+#: netbox/dcim/forms/bulk_import.py:329 netbox/dcim/forms/bulk_import.py:355
+#: netbox/dcim/forms/filtersets.py:252 netbox/dcim/forms/filtersets.py:313
+#: netbox/dcim/forms/filtersets.py:337 netbox/dcim/forms/filtersets.py:424
+#: netbox/dcim/forms/filtersets.py:530 netbox/dcim/forms/filtersets.py:549
+#: netbox/dcim/forms/filtersets.py:605 netbox/dcim/forms/model_forms.py:232
#: netbox/dcim/forms/model_forms.py:346 netbox/dcim/tables/devicetypes.py:103
#: netbox/dcim/tables/modules.py:35 netbox/dcim/tables/racks.py:103
#: netbox/extras/forms/bulk_edit.py:45 netbox/extras/forms/bulk_edit.py:108
#: netbox/extras/forms/bulk_edit.py:158 netbox/extras/forms/bulk_edit.py:278
#: netbox/extras/forms/filtersets.py:61 netbox/extras/forms/filtersets.py:134
#: netbox/extras/forms/filtersets.py:221 netbox/ipam/forms/bulk_edit.py:188
-#: netbox/templates/dcim/device.html:317
+#: netbox/templates/dcim/device.html:324
#: netbox/templates/dcim/devicetype.html:49
#: netbox/templates/dcim/moduletype.html:30
#: netbox/templates/extras/configcontext.html:17
@@ -3139,25 +3143,25 @@ msgstr ""
msgid "Weight"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:317
+#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:318
msgid "Max weight"
msgstr ""
#: netbox/dcim/forms/bulk_edit.py:331 netbox/dcim/forms/bulk_edit.py:441
-#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:231
-#: netbox/dcim/forms/bulk_import.py:337 netbox/dcim/forms/bulk_import.py:363
-#: netbox/dcim/forms/filtersets.py:322 netbox/dcim/forms/filtersets.py:533
-#: netbox/dcim/forms/filtersets.py:608
+#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:228
+#: netbox/dcim/forms/bulk_import.py:334 netbox/dcim/forms/bulk_import.py:360
+#: netbox/dcim/forms/filtersets.py:323 netbox/dcim/forms/filtersets.py:534
+#: netbox/dcim/forms/filtersets.py:609
msgid "Weight unit"
msgstr ""
#: netbox/dcim/forms/bulk_edit.py:345 netbox/dcim/forms/bulk_edit.py:808
-#: netbox/dcim/forms/bulk_import.py:270 netbox/dcim/forms/bulk_import.py:273
-#: netbox/dcim/forms/bulk_import.py:498 netbox/dcim/forms/bulk_import.py:1309
-#: netbox/dcim/forms/bulk_import.py:1313 netbox/dcim/forms/filtersets.py:102
-#: netbox/dcim/forms/filtersets.py:340 netbox/dcim/forms/filtersets.py:354
-#: netbox/dcim/forms/filtersets.py:392 netbox/dcim/forms/filtersets.py:701
-#: netbox/dcim/forms/filtersets.py:954 netbox/dcim/forms/filtersets.py:1086
+#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:270
+#: netbox/dcim/forms/bulk_import.py:492 netbox/dcim/forms/bulk_import.py:1297
+#: netbox/dcim/forms/bulk_import.py:1301 netbox/dcim/forms/filtersets.py:103
+#: netbox/dcim/forms/filtersets.py:341 netbox/dcim/forms/filtersets.py:355
+#: netbox/dcim/forms/filtersets.py:393 netbox/dcim/forms/filtersets.py:703
+#: netbox/dcim/forms/filtersets.py:966 netbox/dcim/forms/filtersets.py:1098
#: netbox/dcim/forms/model_forms.py:226 netbox/dcim/forms/model_forms.py:248
#: netbox/dcim/forms/model_forms.py:422 netbox/dcim/forms/model_forms.py:703
#: netbox/dcim/forms/object_create.py:400 netbox/dcim/tables/devices.py:158
@@ -3174,9 +3178,9 @@ msgid "Rack"
msgstr ""
#: netbox/dcim/forms/bulk_edit.py:349 netbox/dcim/forms/bulk_edit.py:628
-#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333
-#: netbox/dcim/forms/filtersets.py:416 netbox/dcim/forms/filtersets.py:543
-#: netbox/dcim/forms/filtersets.py:651 netbox/dcim/forms/filtersets.py:861
+#: netbox/dcim/forms/filtersets.py:249 netbox/dcim/forms/filtersets.py:334
+#: netbox/dcim/forms/filtersets.py:417 netbox/dcim/forms/filtersets.py:544
+#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:873
#: netbox/dcim/forms/model_forms.py:613 netbox/dcim/forms/model_forms.py:1527
#: netbox/templates/dcim/device_edit.html:20
msgid "Hardware"
@@ -3185,12 +3189,12 @@ msgstr ""
#: netbox/dcim/forms/bulk_edit.py:402 netbox/dcim/forms/bulk_edit.py:466
#: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/forms/bulk_edit.py:554
#: netbox/dcim/forms/bulk_edit.py:638 netbox/dcim/forms/bulk_edit.py:1165
-#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:319
-#: netbox/dcim/forms/bulk_import.py:353 netbox/dcim/forms/bulk_import.py:395
-#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/bulk_import.py:1027
-#: netbox/dcim/forms/filtersets.py:429 netbox/dcim/forms/filtersets.py:554
-#: netbox/dcim/forms/filtersets.py:630 netbox/dcim/forms/filtersets.py:711
-#: netbox/dcim/forms/filtersets.py:866 netbox/dcim/forms/filtersets.py:1431
+#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:316
+#: netbox/dcim/forms/bulk_import.py:350 netbox/dcim/forms/bulk_import.py:389
+#: netbox/dcim/forms/bulk_import.py:425 netbox/dcim/forms/bulk_import.py:1021
+#: netbox/dcim/forms/filtersets.py:430 netbox/dcim/forms/filtersets.py:555
+#: netbox/dcim/forms/filtersets.py:631 netbox/dcim/forms/filtersets.py:713
+#: netbox/dcim/forms/filtersets.py:878 netbox/dcim/forms/filtersets.py:1443
#: netbox/dcim/forms/model_forms.py:281 netbox/dcim/forms/model_forms.py:293
#: netbox/dcim/forms/model_forms.py:339 netbox/dcim/forms/model_forms.py:379
#: netbox/dcim/forms/model_forms.py:1023 netbox/dcim/forms/model_forms.py:1462
@@ -3207,13 +3211,13 @@ msgstr ""
msgid "Manufacturer"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:325
-#: netbox/dcim/forms/filtersets.py:434 netbox/dcim/forms/model_forms.py:297
+#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:322
+#: netbox/dcim/forms/filtersets.py:435 netbox/dcim/forms/model_forms.py:297
msgid "Default platform"
msgstr ""
#: netbox/dcim/forms/bulk_edit.py:412 netbox/dcim/forms/bulk_edit.py:471
-#: netbox/dcim/forms/filtersets.py:437 netbox/dcim/forms/filtersets.py:557
+#: netbox/dcim/forms/filtersets.py:438 netbox/dcim/forms/filtersets.py:558
msgid "Part number"
msgstr ""
@@ -3226,8 +3230,8 @@ msgid "Exclude from utilization"
msgstr ""
#: netbox/dcim/forms/bulk_edit.py:431 netbox/dcim/forms/bulk_edit.py:603
-#: netbox/dcim/forms/bulk_import.py:525 netbox/dcim/forms/filtersets.py:446
-#: netbox/dcim/forms/filtersets.py:733 netbox/templates/dcim/device.html:98
+#: netbox/dcim/forms/bulk_import.py:519 netbox/dcim/forms/filtersets.py:447
+#: netbox/dcim/forms/filtersets.py:735 netbox/templates/dcim/device.html:98
#: netbox/templates/dcim/devicetype.html:65
msgid "Airflow"
msgstr ""
@@ -3250,11 +3254,11 @@ msgid "VM role"
msgstr ""
#: netbox/dcim/forms/bulk_edit.py:511 netbox/dcim/forms/bulk_edit.py:535
-#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:376
-#: netbox/dcim/forms/bulk_import.py:380 netbox/dcim/forms/bulk_import.py:402
-#: netbox/dcim/forms/bulk_import.py:406 netbox/dcim/forms/bulk_import.py:531
-#: netbox/dcim/forms/bulk_import.py:535 netbox/dcim/forms/filtersets.py:619
-#: netbox/dcim/forms/filtersets.py:635 netbox/dcim/forms/filtersets.py:752
+#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:373
+#: netbox/dcim/forms/bulk_import.py:377 netbox/dcim/forms/bulk_import.py:396
+#: netbox/dcim/forms/bulk_import.py:400 netbox/dcim/forms/bulk_import.py:525
+#: netbox/dcim/forms/bulk_import.py:529 netbox/dcim/forms/filtersets.py:620
+#: netbox/dcim/forms/filtersets.py:636 netbox/dcim/forms/filtersets.py:754
#: netbox/dcim/forms/model_forms.py:358 netbox/dcim/forms/model_forms.py:384
#: netbox/dcim/forms/model_forms.py:498
#: netbox/virtualization/forms/bulk_import.py:132
@@ -3265,21 +3269,21 @@ msgid "Config template"
msgstr ""
#: netbox/dcim/forms/bulk_edit.py:559 netbox/dcim/forms/bulk_edit.py:959
-#: netbox/dcim/forms/bulk_import.py:437 netbox/dcim/forms/filtersets.py:112
+#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/filtersets.py:113
#: netbox/dcim/forms/model_forms.py:444 netbox/dcim/forms/model_forms.py:820
#: netbox/dcim/forms/model_forms.py:837 netbox/extras/filtersets.py:499
msgid "Device type"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:418
-#: netbox/dcim/forms/filtersets.py:117 netbox/dcim/forms/model_forms.py:452
+#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:412
+#: netbox/dcim/forms/filtersets.py:118 netbox/dcim/forms/model_forms.py:452
msgid "Device role"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:443
-#: netbox/dcim/forms/filtersets.py:725 netbox/dcim/forms/model_forms.py:394
+#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:437
+#: netbox/dcim/forms/filtersets.py:727 netbox/dcim/forms/model_forms.py:394
#: netbox/dcim/forms/model_forms.py:456 netbox/dcim/tables/devices.py:179
-#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:184
+#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:186
#: netbox/templates/dcim/platform.html:26
#: netbox/templates/virtualization/virtualmachine.html:27
#: netbox/virtualization/forms/bulk_edit.py:160
@@ -3292,21 +3296,21 @@ msgstr ""
#: netbox/dcim/forms/bulk_edit.py:626 netbox/dcim/forms/bulk_edit.py:1179
#: netbox/dcim/forms/bulk_edit.py:1543 netbox/dcim/forms/bulk_edit.py:1589
-#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/bulk_import.py:648
-#: netbox/dcim/forms/bulk_import.py:674 netbox/dcim/forms/bulk_import.py:700
-#: netbox/dcim/forms/bulk_import.py:720 netbox/dcim/forms/bulk_import.py:773
-#: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/bulk_import.py:939
-#: netbox/dcim/forms/bulk_import.py:956 netbox/dcim/forms/bulk_import.py:968
-#: netbox/dcim/forms/bulk_import.py:1016 netbox/dcim/forms/bulk_import.py:1373
-#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:129
-#: netbox/dcim/forms/filtersets.py:840 netbox/dcim/forms/filtersets.py:970
-#: netbox/dcim/forms/filtersets.py:1160 netbox/dcim/forms/filtersets.py:1182
-#: netbox/dcim/forms/filtersets.py:1204 netbox/dcim/forms/filtersets.py:1221
-#: netbox/dcim/forms/filtersets.py:1241 netbox/dcim/forms/filtersets.py:1349
-#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392
-#: netbox/dcim/forms/filtersets.py:1407 netbox/dcim/forms/filtersets.py:1421
-#: netbox/dcim/forms/filtersets.py:1484 netbox/dcim/forms/filtersets.py:1508
-#: netbox/dcim/forms/filtersets.py:1532 netbox/dcim/forms/model_forms.py:576
+#: netbox/dcim/forms/bulk_import.py:580 netbox/dcim/forms/bulk_import.py:642
+#: netbox/dcim/forms/bulk_import.py:668 netbox/dcim/forms/bulk_import.py:694
+#: netbox/dcim/forms/bulk_import.py:714 netbox/dcim/forms/bulk_import.py:767
+#: netbox/dcim/forms/bulk_import.py:885 netbox/dcim/forms/bulk_import.py:933
+#: netbox/dcim/forms/bulk_import.py:950 netbox/dcim/forms/bulk_import.py:962
+#: netbox/dcim/forms/bulk_import.py:1010 netbox/dcim/forms/bulk_import.py:1361
+#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:130
+#: netbox/dcim/forms/filtersets.py:852 netbox/dcim/forms/filtersets.py:982
+#: netbox/dcim/forms/filtersets.py:1172 netbox/dcim/forms/filtersets.py:1194
+#: netbox/dcim/forms/filtersets.py:1216 netbox/dcim/forms/filtersets.py:1233
+#: netbox/dcim/forms/filtersets.py:1253 netbox/dcim/forms/filtersets.py:1361
+#: netbox/dcim/forms/filtersets.py:1383 netbox/dcim/forms/filtersets.py:1404
+#: netbox/dcim/forms/filtersets.py:1419 netbox/dcim/forms/filtersets.py:1433
+#: netbox/dcim/forms/filtersets.py:1496 netbox/dcim/forms/filtersets.py:1520
+#: netbox/dcim/forms/filtersets.py:1544 netbox/dcim/forms/model_forms.py:576
#: netbox/dcim/forms/model_forms.py:797 netbox/dcim/forms/model_forms.py:1156
#: netbox/dcim/forms/model_forms.py:1611 netbox/dcim/forms/object_create.py:257
#: netbox/dcim/tables/connections.py:22 netbox/dcim/tables/connections.py:41
@@ -3323,7 +3327,7 @@ msgstr ""
#: netbox/ipam/forms/model_forms.py:758 netbox/ipam/forms/model_forms.py:784
#: netbox/ipam/tables/vlans.py:176 netbox/templates/dcim/consoleport.html:20
#: netbox/templates/dcim/consoleserverport.html:20
-#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:129
+#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:130
#: netbox/templates/dcim/device_edit.html:10
#: netbox/templates/dcim/devicebay.html:20
#: netbox/templates/dcim/devicebay.html:48
@@ -3362,7 +3366,7 @@ msgstr ""
msgid "Configuration"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:598
+#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:592
#: netbox/dcim/forms/model_forms.py:590 netbox/dcim/forms/model_forms.py:845
msgid "Module type"
msgstr ""
@@ -3372,7 +3376,7 @@ msgstr ""
#: netbox/dcim/forms/bulk_edit.py:966 netbox/dcim/forms/bulk_edit.py:1010
#: netbox/dcim/forms/bulk_edit.py:1061 netbox/dcim/forms/bulk_edit.py:1088
#: netbox/dcim/forms/bulk_edit.py:1115 netbox/dcim/forms/bulk_edit.py:1133
-#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:65
+#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:66
#: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32
#: netbox/templates/dcim/consoleport.html:32
#: netbox/templates/dcim/consoleserverport.html:32
@@ -3390,13 +3394,13 @@ msgstr ""
msgid "Label"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:987
+#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:999
#: netbox/templates/dcim/cable.html:50
msgid "Length"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1174
-#: netbox/dcim/forms/bulk_import.py:1177 netbox/dcim/forms/filtersets.py:991
+#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1165
+#: netbox/dcim/forms/bulk_import.py:1168 netbox/dcim/forms/filtersets.py:1003
msgid "Length unit"
msgstr ""
@@ -3405,32 +3409,32 @@ msgstr ""
msgid "Domain"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1296
-#: netbox/dcim/forms/filtersets.py:1077 netbox/dcim/forms/model_forms.py:698
+#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1284
+#: netbox/dcim/forms/filtersets.py:1089 netbox/dcim/forms/model_forms.py:698
msgid "Power panel"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1332
-#: netbox/dcim/forms/filtersets.py:1099 netbox/templates/dcim/powerfeed.html:83
+#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1320
+#: netbox/dcim/forms/filtersets.py:1111 netbox/templates/dcim/powerfeed.html:83
msgid "Supply"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1337
-#: netbox/dcim/forms/filtersets.py:1104 netbox/templates/dcim/powerfeed.html:95
+#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1325
+#: netbox/dcim/forms/filtersets.py:1116 netbox/templates/dcim/powerfeed.html:95
msgid "Phase"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1109
+#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1121
#: netbox/templates/dcim/powerfeed.html:87
msgid "Voltage"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1113
+#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1125
#: netbox/templates/dcim/powerfeed.html:91
msgid "Amperage"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1117
+#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1129
msgid "Max utilization"
msgstr ""
@@ -3454,13 +3458,13 @@ msgstr ""
msgid "Allocated power draw (watts)"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:731
+#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:725
#: netbox/dcim/forms/model_forms.py:901 netbox/dcim/forms/model_forms.py:1226
#: netbox/dcim/forms/model_forms.py:1514 netbox/dcim/forms/object_import.py:55
msgid "Power port"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:738
+#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:732
msgid "Feed leg"
msgstr ""
@@ -3469,7 +3473,7 @@ msgid "Management only"
msgstr ""
#: netbox/dcim/forms/bulk_edit.py:1037 netbox/dcim/forms/bulk_edit.py:1339
-#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1300
+#: netbox/dcim/forms/bulk_import.py:815 netbox/dcim/forms/filtersets.py:1312
#: netbox/dcim/forms/object_import.py:90
#: netbox/dcim/models/device_component_templates.py:411
#: netbox/dcim/models/device_components.py:671
@@ -3477,14 +3481,14 @@ msgid "PoE mode"
msgstr ""
#: netbox/dcim/forms/bulk_edit.py:1043 netbox/dcim/forms/bulk_edit.py:1345
-#: netbox/dcim/forms/bulk_import.py:827 netbox/dcim/forms/filtersets.py:1305
+#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1317
#: netbox/dcim/forms/object_import.py:95
#: netbox/dcim/models/device_component_templates.py:417
#: netbox/dcim/models/device_components.py:677
msgid "PoE type"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1310
+#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1322
#: netbox/dcim/forms/object_import.py:100
msgid "Wireless role"
msgstr ""
@@ -3511,9 +3515,9 @@ msgstr ""
msgid "Virtual device contexts"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:659
-#: netbox/dcim/forms/bulk_import.py:685 netbox/dcim/forms/filtersets.py:1169
-#: netbox/dcim/forms/filtersets.py:1191 netbox/dcim/forms/filtersets.py:1264
+#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:653
+#: netbox/dcim/forms/bulk_import.py:679 netbox/dcim/forms/filtersets.py:1181
+#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1276
#: netbox/dcim/tables/devices.py:594
#: netbox/templates/circuits/inc/circuit_termination_fields.html:67
#: netbox/templates/dcim/consoleport.html:40
@@ -3521,7 +3525,7 @@ msgstr ""
msgid "Speed"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:830
+#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:824
#: netbox/templates/vpn/ikepolicy.html:25
#: netbox/templates/vpn/ipsecprofile.html:21
#: netbox/templates/vpn/ipsecprofile.html:48
@@ -3567,7 +3571,7 @@ msgstr ""
msgid "Wireless LANs"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1237
+#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1249
#: netbox/dcim/forms/model_forms.py:1337 netbox/ipam/forms/bulk_edit.py:271
#: netbox/ipam/forms/bulk_edit.py:362 netbox/ipam/forms/filtersets.py:169
#: netbox/templates/dcim/interface.html:122
@@ -3576,13 +3580,13 @@ msgstr ""
msgid "Addressing"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:650
+#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:651
#: netbox/dcim/forms/model_forms.py:1338
#: netbox/virtualization/forms/model_forms.py:350
msgid "Operation"
msgstr ""
-#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1238
+#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1250
#: netbox/dcim/forms/model_forms.py:935 netbox/dcim/forms/model_forms.py:1340
msgid "PoE"
msgstr ""
@@ -3630,8 +3634,8 @@ msgstr ""
msgid "available options"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:488
-#: netbox/dcim/forms/bulk_import.py:1293 netbox/ipam/forms/bulk_import.py:174
+#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:482
+#: netbox/dcim/forms/bulk_import.py:1281 netbox/ipam/forms/bulk_import.py:174
#: netbox/ipam/forms/bulk_import.py:441
#: netbox/virtualization/forms/bulk_import.py:63
#: netbox/virtualization/forms/bulk_import.py:89
@@ -3646,105 +3650,106 @@ msgstr ""
msgid "Location not found."
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:199
+#: netbox/dcim/forms/bulk_import.py:196
msgid "Name of assigned tenant"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:211
+#: netbox/dcim/forms/bulk_import.py:208
msgid "Name of assigned role"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:217
+#: netbox/dcim/forms/bulk_import.py:214
msgid "Rack type"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:222
+#: netbox/dcim/forms/bulk_import.py:219
msgid "Rail-to-rail width (in inches)"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:228
+#: netbox/dcim/forms/bulk_import.py:225
msgid "Unit for outer dimensions"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:234
+#: netbox/dcim/forms/bulk_import.py:231
msgid "Unit for rack weights"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:260
+#: netbox/dcim/forms/bulk_import.py:257
msgid "Parent site"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:1306
+#: netbox/dcim/forms/bulk_import.py:264 netbox/dcim/forms/bulk_import.py:1294
msgid "Rack's location (if any)"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:276 netbox/dcim/forms/model_forms.py:253
+#: netbox/dcim/forms/bulk_import.py:273 netbox/dcim/forms/model_forms.py:253
#: netbox/dcim/tables/racks.py:153
#: netbox/templates/dcim/rackreservation.html:12
#: netbox/templates/dcim/rackreservation.html:45
msgid "Units"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:279
+#: netbox/dcim/forms/bulk_import.py:276
msgid "Comma-separated list of individual unit numbers"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:322
+#: netbox/dcim/forms/bulk_import.py:319
msgid "The manufacturer which produces this device type"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:329
+#: netbox/dcim/forms/bulk_import.py:326
msgid "The default platform for devices of this type (optional)"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:334
+#: netbox/dcim/forms/bulk_import.py:331
msgid "Device weight"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:340
+#: netbox/dcim/forms/bulk_import.py:337
msgid "Unit for device weight"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:360
+#: netbox/dcim/forms/bulk_import.py:357
msgid "Module weight"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:366
+#: netbox/dcim/forms/bulk_import.py:363
msgid "Unit for module weight"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:399
+#: netbox/dcim/forms/bulk_import.py:393
msgid "Limit platform assignments to this manufacturer"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:421 netbox/dcim/forms/bulk_import.py:1376
+#: netbox/dcim/forms/bulk_import.py:415 netbox/dcim/forms/bulk_import.py:1364
#: netbox/tenancy/forms/bulk_import.py:106
msgid "Assigned role"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:434
+#: netbox/dcim/forms/bulk_import.py:428
msgid "Device type manufacturer"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:440
+#: netbox/dcim/forms/bulk_import.py:434
msgid "Device type model"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:447
+#: netbox/dcim/forms/bulk_import.py:441
#: netbox/virtualization/forms/bulk_import.py:126
msgid "Assigned platform"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:455 netbox/dcim/forms/bulk_import.py:459
+#: netbox/dcim/forms/bulk_import.py:449 netbox/dcim/forms/bulk_import.py:453
#: netbox/dcim/forms/model_forms.py:479
msgid "Virtual chassis"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:462 netbox/dcim/forms/model_forms.py:465
+#: netbox/dcim/forms/bulk_import.py:456 netbox/dcim/forms/filtersets.py:659
+#: netbox/dcim/forms/filtersets.py:829 netbox/dcim/forms/model_forms.py:465
#: netbox/dcim/tables/devices.py:199 netbox/extras/filtersets.py:548
#: netbox/extras/forms/filtersets.py:331 netbox/ipam/forms/bulk_edit.py:479
#: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:459
-#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:232
+#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:239
#: netbox/templates/virtualization/cluster.html:10
#: netbox/templates/virtualization/virtualmachine.html:88
#: netbox/templates/virtualization/virtualmachine.html:97
@@ -3761,147 +3766,147 @@ msgstr ""
msgid "Cluster"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:466
+#: netbox/dcim/forms/bulk_import.py:460
msgid "Virtualization cluster"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:495
+#: netbox/dcim/forms/bulk_import.py:489
msgid "Assigned location (if any)"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:502
+#: netbox/dcim/forms/bulk_import.py:496
msgid "Assigned rack (if any)"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:505
+#: netbox/dcim/forms/bulk_import.py:499
msgid "Face"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:508
+#: netbox/dcim/forms/bulk_import.py:502
msgid "Mounted rack face"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:515
+#: netbox/dcim/forms/bulk_import.py:509
msgid "Parent device (for child devices)"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:518
+#: netbox/dcim/forms/bulk_import.py:512
msgid "Device bay"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:522
+#: netbox/dcim/forms/bulk_import.py:516
msgid "Device bay in which this device is installed (for child devices)"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:528
+#: netbox/dcim/forms/bulk_import.py:522
msgid "Airflow direction"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:589
+#: netbox/dcim/forms/bulk_import.py:583
msgid "The device in which this module is installed"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:592 netbox/dcim/forms/model_forms.py:583
+#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/model_forms.py:583
msgid "Module bay"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:595
+#: netbox/dcim/forms/bulk_import.py:589
msgid "The module bay in which this module is installed"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:601
+#: netbox/dcim/forms/bulk_import.py:595
msgid "The type of module"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:609 netbox/dcim/forms/model_forms.py:599
+#: netbox/dcim/forms/bulk_import.py:603 netbox/dcim/forms/model_forms.py:599
msgid "Replicate components"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:611
+#: netbox/dcim/forms/bulk_import.py:605
msgid ""
"Automatically populate components associated with this module type (enabled "
"by default)"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:614 netbox/dcim/forms/model_forms.py:605
+#: netbox/dcim/forms/bulk_import.py:608 netbox/dcim/forms/model_forms.py:605
msgid "Adopt components"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:616 netbox/dcim/forms/model_forms.py:608
+#: netbox/dcim/forms/bulk_import.py:610 netbox/dcim/forms/model_forms.py:608
msgid "Adopt already existing components"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:656 netbox/dcim/forms/bulk_import.py:682
-#: netbox/dcim/forms/bulk_import.py:708
+#: netbox/dcim/forms/bulk_import.py:650 netbox/dcim/forms/bulk_import.py:676
+#: netbox/dcim/forms/bulk_import.py:702
msgid "Port type"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:664 netbox/dcim/forms/bulk_import.py:690
+#: netbox/dcim/forms/bulk_import.py:658 netbox/dcim/forms/bulk_import.py:684
msgid "Port speed in bps"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:728
+#: netbox/dcim/forms/bulk_import.py:722
msgid "Outlet type"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:735
+#: netbox/dcim/forms/bulk_import.py:729
msgid "Local power port which feeds this outlet"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:741
+#: netbox/dcim/forms/bulk_import.py:735
msgid "Electrical phase (for three-phase circuits)"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:782 netbox/dcim/forms/model_forms.py:1264
+#: netbox/dcim/forms/bulk_import.py:776 netbox/dcim/forms/model_forms.py:1264
#: netbox/virtualization/forms/bulk_import.py:155
#: netbox/virtualization/forms/model_forms.py:305
msgid "Parent interface"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:789 netbox/dcim/forms/model_forms.py:1272
+#: netbox/dcim/forms/bulk_import.py:783 netbox/dcim/forms/model_forms.py:1272
#: netbox/virtualization/forms/bulk_import.py:162
#: netbox/virtualization/forms/model_forms.py:313
msgid "Bridged interface"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:792
+#: netbox/dcim/forms/bulk_import.py:786
msgid "Lag"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:796
+#: netbox/dcim/forms/bulk_import.py:790
msgid "Parent LAG interface"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:799
+#: netbox/dcim/forms/bulk_import.py:793
msgid "Vdcs"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:804
+#: netbox/dcim/forms/bulk_import.py:798
msgid "VDC names separated by commas, encased with double quotes. Example:"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:810
+#: netbox/dcim/forms/bulk_import.py:804
msgid "Physical medium"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:813 netbox/dcim/forms/filtersets.py:1271
+#: netbox/dcim/forms/bulk_import.py:807 netbox/dcim/forms/filtersets.py:1283
msgid "Duplex"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:818
+#: netbox/dcim/forms/bulk_import.py:812
msgid "Poe mode"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:824
+#: netbox/dcim/forms/bulk_import.py:818
msgid "Poe type"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:833
+#: netbox/dcim/forms/bulk_import.py:827
#: netbox/virtualization/forms/bulk_import.py:168
msgid "IEEE 802.1Q operational mode (for L2 interfaces)"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:840 netbox/ipam/forms/bulk_import.py:160
+#: netbox/dcim/forms/bulk_import.py:834 netbox/ipam/forms/bulk_import.py:160
#: netbox/ipam/forms/bulk_import.py:246 netbox/ipam/forms/bulk_import.py:282
#: netbox/ipam/forms/filtersets.py:201 netbox/ipam/forms/filtersets.py:277
#: netbox/ipam/forms/filtersets.py:336
@@ -3909,149 +3914,149 @@ msgstr ""
msgid "Assigned VRF"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:843
+#: netbox/dcim/forms/bulk_import.py:837
msgid "Rf role"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:846
+#: netbox/dcim/forms/bulk_import.py:840
msgid "Wireless role (AP/station)"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:882
+#: netbox/dcim/forms/bulk_import.py:876
#, python-brace-format
msgid "VDC {vdc} is not assigned to device {device}"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:896 netbox/dcim/forms/model_forms.py:948
+#: netbox/dcim/forms/bulk_import.py:890 netbox/dcim/forms/model_forms.py:948
#: netbox/dcim/forms/model_forms.py:1522 netbox/dcim/forms/object_import.py:117
msgid "Rear port"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:899
+#: netbox/dcim/forms/bulk_import.py:893
msgid "Corresponding rear port"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:904 netbox/dcim/forms/bulk_import.py:945
-#: netbox/dcim/forms/bulk_import.py:1164
+#: netbox/dcim/forms/bulk_import.py:898 netbox/dcim/forms/bulk_import.py:939
+#: netbox/dcim/forms/bulk_import.py:1155
msgid "Physical medium classification"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:973 netbox/dcim/tables/devices.py:805
+#: netbox/dcim/forms/bulk_import.py:967 netbox/dcim/tables/devices.py:805
msgid "Installed device"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:977
+#: netbox/dcim/forms/bulk_import.py:971
msgid "Child device installed within this bay"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:979
+#: netbox/dcim/forms/bulk_import.py:973
msgid "Child device not found."
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1037
+#: netbox/dcim/forms/bulk_import.py:1031
msgid "Parent inventory item"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1040
+#: netbox/dcim/forms/bulk_import.py:1034
msgid "Component type"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1044
+#: netbox/dcim/forms/bulk_import.py:1038
msgid "Component Type"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1047
+#: netbox/dcim/forms/bulk_import.py:1041
msgid "Compnent name"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1049
+#: netbox/dcim/forms/bulk_import.py:1043
msgid "Component Name"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1091
+#: netbox/dcim/forms/bulk_import.py:1085
#, python-brace-format
msgid "Component not found: {device} - {component_name}"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1119
+#: netbox/dcim/forms/bulk_import.py:1110
msgid "Side A device"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1122 netbox/dcim/forms/bulk_import.py:1140
+#: netbox/dcim/forms/bulk_import.py:1113 netbox/dcim/forms/bulk_import.py:1131
msgid "Device name"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1125
+#: netbox/dcim/forms/bulk_import.py:1116
msgid "Side A type"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1128 netbox/dcim/forms/bulk_import.py:1146
+#: netbox/dcim/forms/bulk_import.py:1119 netbox/dcim/forms/bulk_import.py:1137
msgid "Termination type"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1131
+#: netbox/dcim/forms/bulk_import.py:1122
msgid "Side A name"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1150
+#: netbox/dcim/forms/bulk_import.py:1123 netbox/dcim/forms/bulk_import.py:1141
msgid "Termination name"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1137
+#: netbox/dcim/forms/bulk_import.py:1128
msgid "Side B device"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1143
+#: netbox/dcim/forms/bulk_import.py:1134
msgid "Side B type"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1149
+#: netbox/dcim/forms/bulk_import.py:1140
msgid "Side B name"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1158
+#: netbox/dcim/forms/bulk_import.py:1149
#: netbox/wireless/forms/bulk_import.py:86
msgid "Connection status"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1213
+#: netbox/dcim/forms/bulk_import.py:1201
#, python-brace-format
msgid "Side {side_upper}: {device} {termination_object} is already connected"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1219
+#: netbox/dcim/forms/bulk_import.py:1207
#, python-brace-format
msgid "{side_upper} side termination not found: {device} {name}"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1244 netbox/dcim/forms/model_forms.py:733
-#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:131
+#: netbox/dcim/forms/bulk_import.py:1232 netbox/dcim/forms/model_forms.py:733
+#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:132
#: netbox/templates/dcim/virtualchassis.html:27
#: netbox/templates/dcim/virtualchassis.html:67
msgid "Master"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1248
+#: netbox/dcim/forms/bulk_import.py:1236
msgid "Master device"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1265
+#: netbox/dcim/forms/bulk_import.py:1253
msgid "Name of parent site"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1299
+#: netbox/dcim/forms/bulk_import.py:1287
msgid "Upstream power panel"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1329
+#: netbox/dcim/forms/bulk_import.py:1317
msgid "Primary or redundant"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1334
+#: netbox/dcim/forms/bulk_import.py:1322
msgid "Supply type (AC/DC)"
msgstr ""
-#: netbox/dcim/forms/bulk_import.py:1339
+#: netbox/dcim/forms/bulk_import.py:1327
msgid "Single or three-phase"
msgstr ""
@@ -4104,11 +4109,11 @@ msgstr ""
msgid "Side"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:142
+#: netbox/dcim/forms/filtersets.py:143
msgid "Parent region"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:156 netbox/tenancy/forms/bulk_import.py:28
+#: netbox/dcim/forms/filtersets.py:157 netbox/tenancy/forms/bulk_import.py:28
#: netbox/tenancy/forms/bulk_import.py:62 netbox/tenancy/forms/filtersets.py:33
#: netbox/tenancy/forms/filtersets.py:62
#: netbox/wireless/forms/bulk_import.py:25
@@ -4116,51 +4121,58 @@ msgstr ""
msgid "Parent group"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:332
+#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333
msgid "Function"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:418 netbox/dcim/forms/model_forms.py:317
+#: netbox/dcim/forms/filtersets.py:419 netbox/dcim/forms/model_forms.py:317
#: netbox/templates/inc/panels/image_attachments.html:6
msgid "Images"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:421 netbox/dcim/forms/filtersets.py:546
-#: netbox/dcim/forms/filtersets.py:656
+#: netbox/dcim/forms/filtersets.py:422 netbox/dcim/forms/filtersets.py:547
+#: netbox/dcim/forms/filtersets.py:657
msgid "Components"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:441
+#: netbox/dcim/forms/filtersets.py:442
msgid "Subdevice role"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:719
+#: netbox/dcim/forms/filtersets.py:721
msgid "Model"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:763
+#: netbox/dcim/forms/filtersets.py:765
msgid "Has an OOB IP"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:770
+#: netbox/dcim/forms/filtersets.py:772
msgid "Virtual chassis member"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:819
+#: netbox/dcim/forms/filtersets.py:821
msgid "Has virtual device contexts"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:1129
+#: netbox/dcim/forms/filtersets.py:834 netbox/extras/filtersets.py:537
+#: netbox/ipam/forms/bulk_edit.py:476 netbox/ipam/forms/filtersets.py:464
+#: netbox/ipam/forms/model_forms.py:624
+#: netbox/virtualization/forms/filtersets.py:112
+msgid "Cluster group"
+msgstr ""
+
+#: netbox/dcim/forms/filtersets.py:1141
msgid "Cabled"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:1136
+#: netbox/dcim/forms/filtersets.py:1148
msgid "Occupied"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:1161 netbox/dcim/forms/filtersets.py:1183
-#: netbox/dcim/forms/filtersets.py:1205 netbox/dcim/forms/filtersets.py:1222
-#: netbox/dcim/forms/filtersets.py:1242 netbox/dcim/tables/devices.py:352
+#: netbox/dcim/forms/filtersets.py:1173 netbox/dcim/forms/filtersets.py:1195
+#: netbox/dcim/forms/filtersets.py:1217 netbox/dcim/forms/filtersets.py:1234
+#: netbox/dcim/forms/filtersets.py:1254 netbox/dcim/tables/devices.py:352
#: netbox/templates/dcim/consoleport.html:55
#: netbox/templates/dcim/consoleserverport.html:55
#: netbox/templates/dcim/frontport.html:69
@@ -4172,40 +4184,40 @@ msgstr ""
msgid "Connection"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:1254 netbox/extras/forms/bulk_edit.py:316
-#: netbox/extras/forms/bulk_import.py:242 netbox/extras/forms/filtersets.py:473
+#: netbox/dcim/forms/filtersets.py:1266 netbox/extras/forms/bulk_edit.py:316
+#: netbox/extras/forms/bulk_import.py:239 netbox/extras/forms/filtersets.py:473
#: netbox/extras/forms/model_forms.py:551 netbox/extras/tables/tables.py:513
#: netbox/templates/extras/journalentry.html:30
msgid "Kind"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:1283
+#: netbox/dcim/forms/filtersets.py:1295
msgid "Mgmt only"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:1295 netbox/dcim/forms/model_forms.py:1330
+#: netbox/dcim/forms/filtersets.py:1307 netbox/dcim/forms/model_forms.py:1330
#: netbox/dcim/models/device_components.py:630
#: netbox/templates/dcim/interface.html:129
msgid "WWN"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:1315
+#: netbox/dcim/forms/filtersets.py:1327
msgid "Wireless channel"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:1319
+#: netbox/dcim/forms/filtersets.py:1331
msgid "Channel frequency (MHz)"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:1323
+#: netbox/dcim/forms/filtersets.py:1335
msgid "Channel width (MHz)"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:1327 netbox/templates/dcim/interface.html:85
+#: netbox/dcim/forms/filtersets.py:1339 netbox/templates/dcim/interface.html:85
msgid "Transmit power (dBm)"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:1350 netbox/dcim/forms/filtersets.py:1372
+#: netbox/dcim/forms/filtersets.py:1362 netbox/dcim/forms/filtersets.py:1384
#: netbox/dcim/tables/devices.py:316 netbox/templates/dcim/cable.html:12
#: netbox/templates/dcim/cable_trace.html:46
#: netbox/templates/dcim/frontport.html:77
@@ -4216,7 +4228,7 @@ msgstr ""
msgid "Cable"
msgstr ""
-#: netbox/dcim/forms/filtersets.py:1442 netbox/dcim/tables/devices.py:915
+#: netbox/dcim/forms/filtersets.py:1454 netbox/dcim/tables/devices.py:915
msgid "Discovered"
msgstr ""
@@ -4241,7 +4253,7 @@ msgstr ""
msgid "Outer Dimensions"
msgstr ""
-#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:308
+#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:315
#: netbox/templates/dcim/rack.html:73
msgid "Dimensions"
msgstr ""
@@ -4279,7 +4291,7 @@ msgstr ""
msgid "The position in the virtual chassis this device is identified by"
msgstr ""
-#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:132
+#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:133
#: netbox/templates/dcim/virtualchassis.html:68
#: netbox/templates/dcim/virtualchassis_edit.html:56
#: netbox/templates/ipam/inc/panels/fhrp_groups.html:26
@@ -4455,13 +4467,13 @@ msgstr ""
msgid "Inventory Item Role"
msgstr ""
-#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:188
+#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:190
#: netbox/templates/dcim/virtualdevicecontext.html:30
#: netbox/templates/virtualization/virtualmachine.html:48
msgid "Primary IPv4"
msgstr ""
-#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:204
+#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:206
#: netbox/templates/dcim/virtualdevicecontext.html:41
#: netbox/templates/virtualization/virtualmachine.html:64
msgid "Primary IPv6"
@@ -4536,7 +4548,7 @@ msgstr ""
#: netbox/dcim/models/cables.py:62
#: netbox/dcim/models/device_component_templates.py:55
#: netbox/dcim/models/device_components.py:63
-#: netbox/extras/models/customfields.py:109
+#: netbox/extras/models/customfields.py:110
msgid "label"
msgstr ""
@@ -5581,7 +5593,7 @@ msgstr ""
msgid "Numeric identifier unique to the parent device"
msgstr ""
-#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:210
+#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:211
#: netbox/extras/models/models.py:127 netbox/extras/models/models.py:722
#: netbox/netbox/models/__init__.py:114
msgid "comments"
@@ -5923,43 +5935,43 @@ msgstr ""
msgid "Parent location ({parent}) must belong to the same site ({site})."
msgstr ""
-#: netbox/dcim/tables/cables.py:54
+#: netbox/dcim/tables/cables.py:55
msgid "Termination A"
msgstr ""
-#: netbox/dcim/tables/cables.py:59
+#: netbox/dcim/tables/cables.py:60
msgid "Termination B"
msgstr ""
-#: netbox/dcim/tables/cables.py:65 netbox/wireless/tables/wirelesslink.py:22
+#: netbox/dcim/tables/cables.py:66 netbox/wireless/tables/wirelesslink.py:22
msgid "Device A"
msgstr ""
-#: netbox/dcim/tables/cables.py:71 netbox/wireless/tables/wirelesslink.py:31
+#: netbox/dcim/tables/cables.py:72 netbox/wireless/tables/wirelesslink.py:31
msgid "Device B"
msgstr ""
-#: netbox/dcim/tables/cables.py:77
+#: netbox/dcim/tables/cables.py:78
msgid "Location A"
msgstr ""
-#: netbox/dcim/tables/cables.py:83
+#: netbox/dcim/tables/cables.py:84
msgid "Location B"
msgstr ""
-#: netbox/dcim/tables/cables.py:89
+#: netbox/dcim/tables/cables.py:90
msgid "Rack A"
msgstr ""
-#: netbox/dcim/tables/cables.py:95
+#: netbox/dcim/tables/cables.py:96
msgid "Rack B"
msgstr ""
-#: netbox/dcim/tables/cables.py:101
+#: netbox/dcim/tables/cables.py:102
msgid "Site A"
msgstr ""
-#: netbox/dcim/tables/cables.py:107
+#: netbox/dcim/tables/cables.py:108
msgid "Site B"
msgstr ""
@@ -5975,7 +5987,7 @@ msgstr ""
#: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62
#: netbox/virtualization/forms/model_forms.py:122
#: netbox/virtualization/tables/clusters.py:83
-#: netbox/virtualization/views.py:202
+#: netbox/virtualization/views.py:205
msgid "Devices"
msgstr ""
@@ -6055,8 +6067,8 @@ msgid "Power outlets"
msgstr ""
#: netbox/dcim/tables/devices.py:243 netbox/dcim/tables/devices.py:1046
-#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:985
-#: netbox/dcim/views.py:1224 netbox/dcim/views.py:1900
+#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:988
+#: netbox/dcim/views.py:1227 netbox/dcim/views.py:1908
#: netbox/netbox/navigation/menu.py:81 netbox/netbox/navigation/menu.py:237
#: netbox/templates/dcim/device/base.html:37
#: netbox/templates/dcim/device_list.html:43
@@ -6068,7 +6080,7 @@ msgstr ""
#: netbox/templates/virtualization/virtualmachine/base.html:27
#: netbox/templates/virtualization/virtualmachine_list.html:14
#: netbox/virtualization/tables/virtualmachines.py:100
-#: netbox/virtualization/views.py:359 netbox/wireless/tables/wirelesslan.py:55
+#: netbox/virtualization/views.py:363 netbox/wireless/tables/wirelesslan.py:55
msgid "Interfaces"
msgstr ""
@@ -6094,8 +6106,8 @@ msgid "Module Bay"
msgstr ""
#: netbox/dcim/tables/devices.py:310 netbox/dcim/tables/devicetypes.py:48
-#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1060
-#: netbox/dcim/views.py:1993 netbox/netbox/navigation/menu.py:90
+#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1063
+#: netbox/dcim/views.py:2006 netbox/netbox/navigation/menu.py:90
#: netbox/templates/dcim/device/base.html:52
#: netbox/templates/dcim/device_list.html:71
#: netbox/templates/dcim/devicetype/base.html:49
@@ -6125,8 +6137,8 @@ msgid "Allocated draw (W)"
msgstr ""
#: netbox/dcim/tables/devices.py:546 netbox/ipam/forms/model_forms.py:747
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:589
-#: netbox/ipam/views.py:688 netbox/netbox/navigation/menu.py:145
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:596
+#: netbox/ipam/views.py:696 netbox/netbox/navigation/menu.py:145
#: netbox/netbox/navigation/menu.py:147
#: netbox/templates/dcim/interface.html:339
#: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -6219,8 +6231,8 @@ msgstr ""
msgid "Instances"
msgstr ""
-#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:925
-#: netbox/dcim/views.py:1164 netbox/dcim/views.py:1840
+#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:928
+#: netbox/dcim/views.py:1167 netbox/dcim/views.py:1844
#: netbox/netbox/navigation/menu.py:84
#: netbox/templates/dcim/device/base.html:25
#: netbox/templates/dcim/device_list.html:15
@@ -6230,8 +6242,8 @@ msgstr ""
msgid "Console Ports"
msgstr ""
-#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:940
-#: netbox/dcim/views.py:1179 netbox/dcim/views.py:1855
+#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:943
+#: netbox/dcim/views.py:1182 netbox/dcim/views.py:1860
#: netbox/netbox/navigation/menu.py:85
#: netbox/templates/dcim/device/base.html:28
#: netbox/templates/dcim/device_list.html:22
@@ -6241,8 +6253,8 @@ msgstr ""
msgid "Console Server Ports"
msgstr ""
-#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:955
-#: netbox/dcim/views.py:1194 netbox/dcim/views.py:1870
+#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:958
+#: netbox/dcim/views.py:1197 netbox/dcim/views.py:1876
#: netbox/netbox/navigation/menu.py:86
#: netbox/templates/dcim/device/base.html:31
#: netbox/templates/dcim/device_list.html:29
@@ -6252,8 +6264,8 @@ msgstr ""
msgid "Power Ports"
msgstr ""
-#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:970
-#: netbox/dcim/views.py:1209 netbox/dcim/views.py:1885
+#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:973
+#: netbox/dcim/views.py:1212 netbox/dcim/views.py:1892
#: netbox/netbox/navigation/menu.py:87
#: netbox/templates/dcim/device/base.html:34
#: netbox/templates/dcim/device_list.html:36
@@ -6263,8 +6275,8 @@ msgstr ""
msgid "Power Outlets"
msgstr ""
-#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1000
-#: netbox/dcim/views.py:1239 netbox/dcim/views.py:1921
+#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1003
+#: netbox/dcim/views.py:1242 netbox/dcim/views.py:1930
#: netbox/netbox/navigation/menu.py:82
#: netbox/templates/dcim/device/base.html:40
#: netbox/templates/dcim/devicetype/base.html:37
@@ -6273,8 +6285,8 @@ msgstr ""
msgid "Front Ports"
msgstr ""
-#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1015
-#: netbox/dcim/views.py:1254 netbox/dcim/views.py:1936
+#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1018
+#: netbox/dcim/views.py:1257 netbox/dcim/views.py:1946
#: netbox/netbox/navigation/menu.py:83
#: netbox/templates/dcim/device/base.html:43
#: netbox/templates/dcim/device_list.html:50
@@ -6284,16 +6296,16 @@ msgstr ""
msgid "Rear Ports"
msgstr ""
-#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1045
-#: netbox/dcim/views.py:1974 netbox/netbox/navigation/menu.py:89
+#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1048
+#: netbox/dcim/views.py:1986 netbox/netbox/navigation/menu.py:89
#: netbox/templates/dcim/device/base.html:49
#: netbox/templates/dcim/device_list.html:57
#: netbox/templates/dcim/devicetype/base.html:46
msgid "Device Bays"
msgstr ""
-#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1030
-#: netbox/dcim/views.py:1955 netbox/netbox/navigation/menu.py:88
+#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1033
+#: netbox/dcim/views.py:1966 netbox/netbox/navigation/menu.py:88
#: netbox/templates/dcim/device/base.html:46
#: netbox/templates/dcim/device_list.html:64
#: netbox/templates/dcim/devicetype/base.html:43
@@ -6318,7 +6330,7 @@ msgstr ""
msgid "Racks"
msgstr ""
-#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:311
+#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:318
#: netbox/templates/dcim/rack.html:90
msgid "Height"
msgstr ""
@@ -6351,38 +6363,38 @@ msgstr ""
msgid "Test case must set peer_termination_type"
msgstr ""
-#: netbox/dcim/views.py:139
+#: netbox/dcim/views.py:140
#, python-brace-format
msgid "Disconnected {count} {type}"
msgstr ""
-#: netbox/dcim/views.py:684 netbox/netbox/navigation/menu.py:28
+#: netbox/dcim/views.py:686 netbox/netbox/navigation/menu.py:28
msgid "Reservations"
msgstr ""
-#: netbox/dcim/views.py:702 netbox/templates/dcim/location.html:90
+#: netbox/dcim/views.py:705 netbox/templates/dcim/location.html:90
#: netbox/templates/dcim/site.html:140
msgid "Non-Racked Devices"
msgstr ""
-#: netbox/dcim/views.py:2006 netbox/extras/forms/model_forms.py:453
+#: netbox/dcim/views.py:2019 netbox/extras/forms/model_forms.py:453
#: netbox/templates/extras/configcontext.html:10
#: netbox/virtualization/forms/model_forms.py:225
-#: netbox/virtualization/views.py:399
+#: netbox/virtualization/views.py:404
msgid "Config Context"
msgstr ""
-#: netbox/dcim/views.py:2016 netbox/virtualization/views.py:409
+#: netbox/dcim/views.py:2029 netbox/virtualization/views.py:414
msgid "Render Config"
msgstr ""
-#: netbox/dcim/views.py:2066 netbox/extras/tables/tables.py:441
+#: netbox/dcim/views.py:2080 netbox/extras/tables/tables.py:441
#: netbox/netbox/navigation/menu.py:234 netbox/netbox/navigation/menu.py:236
-#: netbox/virtualization/views.py:177
+#: netbox/virtualization/views.py:179
msgid "Virtual Machines"
msgstr ""
-#: netbox/dcim/views.py:2948 netbox/ipam/tables/ip.py:233
+#: netbox/dcim/views.py:2963 netbox/ipam/tables/ip.py:233
msgid "Children"
msgstr ""
@@ -6806,16 +6818,6 @@ msgstr ""
msgid "Cluster type (slug)"
msgstr ""
-#: netbox/extras/filtersets.py:537 netbox/ipam/forms/bulk_edit.py:476
-#: netbox/ipam/forms/filtersets.py:464 netbox/ipam/forms/model_forms.py:624
-#: netbox/virtualization/forms/filtersets.py:112
-msgid "Cluster group"
-msgstr ""
-
-#: netbox/extras/filtersets.py:543 netbox/virtualization/filtersets.py:136
-msgid "Cluster group (slug)"
-msgstr ""
-
#: netbox/extras/filtersets.py:553 netbox/tenancy/forms/forms.py:16
#: netbox/tenancy/forms/forms.py:39
msgid "Tenant group"
@@ -6856,13 +6858,13 @@ msgstr ""
#: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_import.py:57
#: netbox/extras/forms/filtersets.py:79
-#: netbox/extras/models/customfields.py:194
+#: netbox/extras/models/customfields.py:195
msgid "UI visible"
msgstr ""
#: netbox/extras/forms/bulk_edit.py:58 netbox/extras/forms/bulk_import.py:63
#: netbox/extras/forms/filtersets.py:84
-#: netbox/extras/models/customfields.py:201
+#: netbox/extras/models/customfields.py:202
msgid "UI editable"
msgstr ""
@@ -7031,11 +7033,11 @@ msgstr ""
msgid "Script {name} not found"
msgstr ""
-#: netbox/extras/forms/bulk_import.py:239
+#: netbox/extras/forms/bulk_import.py:236
msgid "Assigned object type"
msgstr ""
-#: netbox/extras/forms/bulk_import.py:244
+#: netbox/extras/forms/bulk_import.py:241
msgid "The classification of entry"
msgstr ""
@@ -7462,112 +7464,112 @@ msgstr ""
msgid "config templates"
msgstr ""
-#: netbox/extras/models/customfields.py:73
+#: netbox/extras/models/customfields.py:74
msgid "The object(s) to which this field applies."
msgstr ""
-#: netbox/extras/models/customfields.py:80
+#: netbox/extras/models/customfields.py:81
msgid "The type of data this custom field holds"
msgstr ""
-#: netbox/extras/models/customfields.py:87
+#: netbox/extras/models/customfields.py:88
msgid "The type of NetBox object this field maps to (for object fields)"
msgstr ""
-#: netbox/extras/models/customfields.py:93
+#: netbox/extras/models/customfields.py:94
msgid "Internal field name"
msgstr ""
-#: netbox/extras/models/customfields.py:97
+#: netbox/extras/models/customfields.py:98
msgid "Only alphanumeric characters and underscores are allowed."
msgstr ""
-#: netbox/extras/models/customfields.py:102
+#: netbox/extras/models/customfields.py:103
msgid "Double underscores are not permitted in custom field names."
msgstr ""
-#: netbox/extras/models/customfields.py:113
+#: netbox/extras/models/customfields.py:114
msgid ""
"Name of the field as displayed to users (if not provided, 'the field's name "
"will be used)"
msgstr ""
-#: netbox/extras/models/customfields.py:117 netbox/extras/models/models.py:345
+#: netbox/extras/models/customfields.py:118 netbox/extras/models/models.py:345
msgid "group name"
msgstr ""
-#: netbox/extras/models/customfields.py:120
+#: netbox/extras/models/customfields.py:121
msgid "Custom fields within the same group will be displayed together"
msgstr ""
-#: netbox/extras/models/customfields.py:128
+#: netbox/extras/models/customfields.py:129
msgid "required"
msgstr ""
-#: netbox/extras/models/customfields.py:130
+#: netbox/extras/models/customfields.py:131
msgid ""
"If true, this field is required when creating new objects or editing an "
"existing object."
msgstr ""
-#: netbox/extras/models/customfields.py:133
+#: netbox/extras/models/customfields.py:134
msgid "search weight"
msgstr ""
-#: netbox/extras/models/customfields.py:136
+#: netbox/extras/models/customfields.py:137
msgid ""
"Weighting for search. Lower values are considered more important. Fields "
"with a search weight of zero will be ignored."
msgstr ""
-#: netbox/extras/models/customfields.py:141
+#: netbox/extras/models/customfields.py:142
msgid "filter logic"
msgstr ""
-#: netbox/extras/models/customfields.py:145
+#: netbox/extras/models/customfields.py:146
msgid ""
"Loose matches any instance of a given string; exact matches the entire field."
msgstr ""
-#: netbox/extras/models/customfields.py:148
+#: netbox/extras/models/customfields.py:149
msgid "default"
msgstr ""
-#: netbox/extras/models/customfields.py:152
+#: netbox/extras/models/customfields.py:153
msgid ""
"Default value for the field (must be a JSON value). Encapsulate strings with "
"double quotes (e.g. \"Foo\")."
msgstr ""
-#: netbox/extras/models/customfields.py:157
+#: netbox/extras/models/customfields.py:158
msgid "display weight"
msgstr ""
-#: netbox/extras/models/customfields.py:158
+#: netbox/extras/models/customfields.py:159
msgid "Fields with higher weights appear lower in a form."
msgstr ""
-#: netbox/extras/models/customfields.py:163
+#: netbox/extras/models/customfields.py:164
msgid "minimum value"
msgstr ""
-#: netbox/extras/models/customfields.py:164
+#: netbox/extras/models/customfields.py:165
msgid "Minimum allowed value (for numeric fields)"
msgstr ""
-#: netbox/extras/models/customfields.py:169
+#: netbox/extras/models/customfields.py:170
msgid "maximum value"
msgstr ""
-#: netbox/extras/models/customfields.py:170
+#: netbox/extras/models/customfields.py:171
msgid "Maximum allowed value (for numeric fields)"
msgstr ""
-#: netbox/extras/models/customfields.py:176
+#: netbox/extras/models/customfields.py:177
msgid "validation regex"
msgstr ""
-#: netbox/extras/models/customfields.py:178
+#: netbox/extras/models/customfields.py:179
#, python-brace-format
msgid ""
"Regular expression to enforce on text field values. Use ^ and $ to force "
@@ -7575,168 +7577,168 @@ msgid ""
"values to exactly three uppercase letters."
msgstr ""
-#: netbox/extras/models/customfields.py:186
+#: netbox/extras/models/customfields.py:187
msgid "choice set"
msgstr ""
-#: netbox/extras/models/customfields.py:195
+#: netbox/extras/models/customfields.py:196
msgid "Specifies whether the custom field is displayed in the UI"
msgstr ""
-#: netbox/extras/models/customfields.py:202
+#: netbox/extras/models/customfields.py:203
msgid "Specifies whether the custom field value can be edited in the UI"
msgstr ""
-#: netbox/extras/models/customfields.py:206
+#: netbox/extras/models/customfields.py:207
msgid "is cloneable"
msgstr ""
-#: netbox/extras/models/customfields.py:207
+#: netbox/extras/models/customfields.py:208
msgid "Replicate this value when cloning objects"
msgstr ""
-#: netbox/extras/models/customfields.py:224
+#: netbox/extras/models/customfields.py:225
msgid "custom field"
msgstr ""
-#: netbox/extras/models/customfields.py:225
+#: netbox/extras/models/customfields.py:226
msgid "custom fields"
msgstr ""
-#: netbox/extras/models/customfields.py:314
+#: netbox/extras/models/customfields.py:315
#, python-brace-format
msgid "Invalid default value \"{value}\": {error}"
msgstr ""
-#: netbox/extras/models/customfields.py:321
+#: netbox/extras/models/customfields.py:322
msgid "A minimum value may be set only for numeric fields"
msgstr ""
-#: netbox/extras/models/customfields.py:323
+#: netbox/extras/models/customfields.py:324
msgid "A maximum value may be set only for numeric fields"
msgstr ""
-#: netbox/extras/models/customfields.py:333
+#: netbox/extras/models/customfields.py:334
msgid "Regular expression validation is supported only for text and URL fields"
msgstr ""
-#: netbox/extras/models/customfields.py:343
+#: netbox/extras/models/customfields.py:344
msgid "Selection fields must specify a set of choices."
msgstr ""
-#: netbox/extras/models/customfields.py:347
+#: netbox/extras/models/customfields.py:348
msgid "Choices may be set only on selection fields."
msgstr ""
-#: netbox/extras/models/customfields.py:354
+#: netbox/extras/models/customfields.py:355
msgid "Object fields must define an object type."
msgstr ""
-#: netbox/extras/models/customfields.py:359
+#: netbox/extras/models/customfields.py:360
#, python-brace-format
msgid "{type} fields may not define an object type."
msgstr ""
-#: netbox/extras/models/customfields.py:439
+#: netbox/extras/models/customfields.py:440
msgid "True"
msgstr ""
-#: netbox/extras/models/customfields.py:440
+#: netbox/extras/models/customfields.py:441
msgid "False"
msgstr ""
-#: netbox/extras/models/customfields.py:522
+#: netbox/extras/models/customfields.py:523
#, python-brace-format
msgid "Values must match this regex: {regex}
"
msgstr ""
-#: netbox/extras/models/customfields.py:616
+#: netbox/extras/models/customfields.py:617
msgid "Value must be a string."
msgstr ""
-#: netbox/extras/models/customfields.py:618
+#: netbox/extras/models/customfields.py:619
#, python-brace-format
msgid "Value must match regex '{regex}'"
msgstr ""
-#: netbox/extras/models/customfields.py:623
+#: netbox/extras/models/customfields.py:624
msgid "Value must be an integer."
msgstr ""
-#: netbox/extras/models/customfields.py:626
-#: netbox/extras/models/customfields.py:641
+#: netbox/extras/models/customfields.py:627
+#: netbox/extras/models/customfields.py:642
#, python-brace-format
msgid "Value must be at least {minimum}"
msgstr ""
-#: netbox/extras/models/customfields.py:630
-#: netbox/extras/models/customfields.py:645
+#: netbox/extras/models/customfields.py:631
+#: netbox/extras/models/customfields.py:646
#, python-brace-format
msgid "Value must not exceed {maximum}"
msgstr ""
-#: netbox/extras/models/customfields.py:638
+#: netbox/extras/models/customfields.py:639
msgid "Value must be a decimal."
msgstr ""
-#: netbox/extras/models/customfields.py:650
+#: netbox/extras/models/customfields.py:651
msgid "Value must be true or false."
msgstr ""
-#: netbox/extras/models/customfields.py:658
+#: netbox/extras/models/customfields.py:659
msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
msgstr ""
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:672
msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
msgstr ""
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:679
#, python-brace-format
msgid "Invalid choice ({value}) for choice set {choiceset}."
msgstr ""
-#: netbox/extras/models/customfields.py:688
+#: netbox/extras/models/customfields.py:689
#, python-brace-format
msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
msgstr ""
-#: netbox/extras/models/customfields.py:697
+#: netbox/extras/models/customfields.py:698
#, python-brace-format
msgid "Value must be an object ID, not {type}"
msgstr ""
-#: netbox/extras/models/customfields.py:703
+#: netbox/extras/models/customfields.py:704
#, python-brace-format
msgid "Value must be a list of object IDs, not {type}"
msgstr ""
-#: netbox/extras/models/customfields.py:707
+#: netbox/extras/models/customfields.py:708
#, python-brace-format
msgid "Found invalid object ID: {id}"
msgstr ""
-#: netbox/extras/models/customfields.py:710
+#: netbox/extras/models/customfields.py:711
msgid "Required field cannot be empty."
msgstr ""
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:730
msgid "Base set of predefined choices (optional)"
msgstr ""
-#: netbox/extras/models/customfields.py:741
+#: netbox/extras/models/customfields.py:742
msgid "Choices are automatically ordered alphabetically"
msgstr ""
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:749
msgid "custom field choice set"
msgstr ""
-#: netbox/extras/models/customfields.py:749
+#: netbox/extras/models/customfields.py:750
msgid "custom field choice sets"
msgstr ""
-#: netbox/extras/models/customfields.py:785
+#: netbox/extras/models/customfields.py:786
msgid "Must define base or extra choices."
msgstr ""
@@ -8147,19 +8149,19 @@ msgstr ""
msgid "Script Execution Parameters"
msgstr ""
-#: netbox/extras/scripts.py:664
+#: netbox/extras/scripts.py:666
msgid "Database changes have been reverted automatically."
msgstr ""
-#: netbox/extras/scripts.py:677
+#: netbox/extras/scripts.py:679
msgid "Script aborted with error: "
msgstr ""
-#: netbox/extras/scripts.py:687
+#: netbox/extras/scripts.py:689
msgid "An exception occurred: "
msgstr ""
-#: netbox/extras/scripts.py:690
+#: netbox/extras/scripts.py:692
msgid "Database changes have been reverted due to error."
msgstr ""
@@ -9416,7 +9418,7 @@ msgid "The primary function of this VLAN"
msgstr ""
#: netbox/ipam/models/vlans.py:215 netbox/ipam/tables/ip.py:175
-#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:961
+#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:971
#: netbox/netbox/navigation/menu.py:180 netbox/netbox/navigation/menu.py:182
msgid "VLANs"
msgstr ""
@@ -9488,7 +9490,7 @@ msgid "Added"
msgstr ""
#: netbox/ipam/tables/ip.py:127 netbox/ipam/tables/ip.py:165
-#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:342
+#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:346
#: netbox/netbox/navigation/menu.py:152 netbox/netbox/navigation/menu.py:154
#: netbox/templates/ipam/vlan.html:84
msgid "Prefixes"
@@ -9496,7 +9498,7 @@ msgstr ""
#: netbox/ipam/tables/ip.py:130 netbox/ipam/tables/ip.py:267
#: netbox/ipam/tables/ip.py:320 netbox/ipam/tables/vlans.py:82
-#: netbox/templates/dcim/device.html:253
+#: netbox/templates/dcim/device.html:260
#: netbox/templates/ipam/aggregate.html:24
#: netbox/templates/ipam/iprange.html:29 netbox/templates/ipam/prefix.html:106
msgid "Utilization"
@@ -9589,23 +9591,23 @@ msgid ""
"are allowed in DNS names"
msgstr ""
-#: netbox/ipam/views.py:528
+#: netbox/ipam/views.py:533
msgid "Child Prefixes"
msgstr ""
-#: netbox/ipam/views.py:563
+#: netbox/ipam/views.py:569
msgid "Child Ranges"
msgstr ""
-#: netbox/ipam/views.py:889
+#: netbox/ipam/views.py:898
msgid "Related IPs"
msgstr ""
-#: netbox/ipam/views.py:1116
+#: netbox/ipam/views.py:1127
msgid "Device Interfaces"
msgstr ""
-#: netbox/ipam/views.py:1133
+#: netbox/ipam/views.py:1145
msgid "VM Interfaces"
msgstr ""
@@ -9932,6 +9934,10 @@ msgstr ""
msgid "Object type(s)"
msgstr ""
+#: netbox/netbox/forms/__init__.py:40
+msgid "Lookup"
+msgstr ""
+
#: netbox/netbox/forms/base.py:88
msgid ""
"Tag slugs separated by commas, encased with double quotes (e.g. \"tag1,tag2,"
@@ -10032,7 +10038,7 @@ msgstr ""
msgid "Modules"
msgstr ""
-#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:158
+#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:160
#: netbox/templates/dcim/virtualdevicecontext.html:8
msgid "Virtual Device Contexts"
msgstr ""
@@ -10094,7 +10100,7 @@ msgstr ""
msgid "Service Templates"
msgstr ""
-#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:295
+#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:302
#: netbox/templates/ipam/ipaddress.html:118
#: netbox/templates/virtualization/virtualmachine.html:150
msgid "Services"
@@ -10160,7 +10166,7 @@ msgstr ""
#: netbox/templates/virtualization/virtualmachine/base.html:32
#: netbox/templates/virtualization/virtualmachine_list.html:21
#: netbox/virtualization/tables/virtualmachines.py:103
-#: netbox/virtualization/views.py:380
+#: netbox/virtualization/views.py:385
msgid "Virtual Disks"
msgstr ""
@@ -10222,7 +10228,7 @@ msgstr ""
#: netbox/templates/htmx/form.html:19 netbox/templates/inc/filter_list.html:30
#: netbox/templates/inc/panels/custom_fields.html:7
#: netbox/templates/ipam/ipaddress_bulk_add.html:35
-#: netbox/templates/ipam/vlan_edit.html:63
+#: netbox/templates/ipam/vlan_edit.html:59
msgid "Custom Fields"
msgstr ""
@@ -10328,7 +10334,7 @@ msgstr ""
msgid "Background Tasks"
msgstr ""
-#: netbox/netbox/navigation/menu.py:483 netbox/templates/500.html:35
+#: netbox/netbox/navigation/menu.py:480 netbox/templates/500.html:35
#: netbox/templates/account/preferences.html:22
#: netbox/templates/core/system.html:80
msgid "Plugins"
@@ -10459,43 +10465,43 @@ msgstr ""
msgid "Cannot delete stores from registry"
msgstr ""
-#: netbox/netbox/settings.py:724
+#: netbox/netbox/settings.py:741
msgid "German"
msgstr ""
-#: netbox/netbox/settings.py:725
+#: netbox/netbox/settings.py:742
msgid "English"
msgstr ""
-#: netbox/netbox/settings.py:726
+#: netbox/netbox/settings.py:743
msgid "Spanish"
msgstr ""
-#: netbox/netbox/settings.py:727
+#: netbox/netbox/settings.py:744
msgid "French"
msgstr ""
-#: netbox/netbox/settings.py:728
+#: netbox/netbox/settings.py:745
msgid "Japanese"
msgstr ""
-#: netbox/netbox/settings.py:729
+#: netbox/netbox/settings.py:746
msgid "Portuguese"
msgstr ""
-#: netbox/netbox/settings.py:730
+#: netbox/netbox/settings.py:747
msgid "Russian"
msgstr ""
-#: netbox/netbox/settings.py:731
+#: netbox/netbox/settings.py:748
msgid "Turkish"
msgstr ""
-#: netbox/netbox/settings.py:732
+#: netbox/netbox/settings.py:749
msgid "Ukrainian"
msgstr ""
-#: netbox/netbox/settings.py:733
+#: netbox/netbox/settings.py:750
msgid "Chinese"
msgstr ""
@@ -10542,7 +10548,7 @@ msgstr ""
msgid "Journal"
msgstr ""
-#: netbox/netbox/views/generic/object_views.py:106
+#: netbox/netbox/views/generic/object_views.py:108
#, python-brace-format
msgid "{class_name} must implement get_children()"
msgstr ""
@@ -11105,8 +11111,8 @@ msgstr ""
#: netbox/templates/core/rq_worker_list.html:45
#: netbox/templates/extras/script_result.html:49
#: netbox/templates/extras/script_result.html:51
-#: netbox/templates/inc/table_controls_htmx.html:28
-#: netbox/templates/inc/table_controls_htmx.html:31
+#: netbox/templates/inc/table_controls_htmx.html:30
+#: netbox/templates/inc/table_controls_htmx.html:33
msgid "Configure Table"
msgstr ""
@@ -11364,56 +11370,58 @@ msgstr ""
msgid "View Virtual Chassis"
msgstr ""
-#: netbox/templates/dcim/device.html:162
+#: netbox/templates/dcim/device.html:164
msgid "Create VDC"
msgstr ""
-#: netbox/templates/dcim/device.html:173
+#: netbox/templates/dcim/device.html:175
#: netbox/templates/dcim/device_edit.html:64
#: netbox/virtualization/forms/model_forms.py:223
msgid "Management"
msgstr ""
-#: netbox/templates/dcim/device.html:193 netbox/templates/dcim/device.html:209
+#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211
+#: netbox/templates/dcim/device.html:227
#: netbox/templates/virtualization/virtualmachine.html:53
#: netbox/templates/virtualization/virtualmachine.html:69
msgid "NAT for"
msgstr ""
-#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211
+#: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213
+#: netbox/templates/dcim/device.html:229
#: netbox/templates/virtualization/virtualmachine.html:55
#: netbox/templates/virtualization/virtualmachine.html:71
msgid "NAT"
msgstr ""
-#: netbox/templates/dcim/device.html:245 netbox/templates/dcim/rack.html:67
+#: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:67
msgid "Power Utilization"
msgstr ""
-#: netbox/templates/dcim/device.html:249
+#: netbox/templates/dcim/device.html:256
msgid "Input"
msgstr ""
-#: netbox/templates/dcim/device.html:250
+#: netbox/templates/dcim/device.html:257
msgid "Outlets"
msgstr ""
-#: netbox/templates/dcim/device.html:251
+#: netbox/templates/dcim/device.html:258
msgid "Allocated"
msgstr ""
-#: netbox/templates/dcim/device.html:261 netbox/templates/dcim/device.html:263
-#: netbox/templates/dcim/device.html:279
+#: netbox/templates/dcim/device.html:268 netbox/templates/dcim/device.html:270
+#: netbox/templates/dcim/device.html:286
#: netbox/templates/dcim/powerfeed.html:67
msgid "VA"
msgstr ""
-#: netbox/templates/dcim/device.html:273
+#: netbox/templates/dcim/device.html:280
msgctxt "Leg of a power feed"
msgid "Leg"
msgstr ""
-#: netbox/templates/dcim/device.html:299
+#: netbox/templates/dcim/device.html:306
#: netbox/templates/virtualization/virtualmachine.html:154
msgid "Add a service"
msgstr ""
@@ -12734,7 +12742,7 @@ msgstr ""
msgid "Quick search"
msgstr ""
-#: netbox/templates/inc/table_controls_htmx.html:19
+#: netbox/templates/inc/table_controls_htmx.html:20
msgid "Saved filter"
msgstr ""
@@ -13779,14 +13787,18 @@ msgstr ""
msgid "More than 50"
msgstr ""
-#: netbox/utilities/fields.py:157
+#: netbox/utilities/fields.py:30
+msgid "RGB color in hexadecimal. Example: "
+msgstr ""
+
+#: netbox/utilities/fields.py:159
#, python-format
msgid ""
"%s(%r) is invalid. to_model parameter to CounterCacheField must be a string "
"in the format 'app.model'"
msgstr ""
-#: netbox/utilities/fields.py:167
+#: netbox/utilities/fields.py:169
#, python-format
msgid ""
"%s(%r) is invalid. to_field parameter to CounterCacheField must be a string "
@@ -14060,6 +14072,14 @@ msgstr ""
msgid "Move Down"
msgstr ""
+#: netbox/utilities/templates/navigation/menu.html:14
+msgid "Search…"
+msgstr ""
+
+#: netbox/utilities/templates/navigation/menu.html:14
+msgid "Search NetBox"
+msgstr ""
+
#: netbox/utilities/templates/widgets/apiselect.html:7
msgid "Open selector"
msgstr ""
@@ -14081,17 +14101,17 @@ msgstr ""
msgid "{value} is not a valid regular expression."
msgstr ""
-#: netbox/utilities/views.py:44
+#: netbox/utilities/views.py:45
#, python-brace-format
msgid "{self.__class__.__name__} must implement get_required_permission()"
msgstr ""
-#: netbox/utilities/views.py:80
+#: netbox/utilities/views.py:81
#, python-brace-format
msgid "{class_name} must implement get_required_permission()"
msgstr ""
-#: netbox/utilities/views.py:104
+#: netbox/utilities/views.py:105
#, python-brace-format
msgid ""
"{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only "
@@ -14111,10 +14131,6 @@ msgstr ""
msgid "Cluster type (ID)"
msgstr ""
-#: netbox/virtualization/filtersets.py:130
-msgid "Cluster group (ID)"
-msgstr ""
-
#: netbox/virtualization/filtersets.py:151
#: netbox/virtualization/filtersets.py:267
msgid "Cluster (ID)"
diff --git a/netbox/translations/fr/LC_MESSAGES/django.mo b/netbox/translations/fr/LC_MESSAGES/django.mo
index 2ae11c2ae..847bd9828 100644
Binary files a/netbox/translations/fr/LC_MESSAGES/django.mo and b/netbox/translations/fr/LC_MESSAGES/django.mo differ
diff --git a/netbox/translations/fr/LC_MESSAGES/django.po b/netbox/translations/fr/LC_MESSAGES/django.po
index d3d142d73..5ddbb2441 100644
--- a/netbox/translations/fr/LC_MESSAGES/django.po
+++ b/netbox/translations/fr/LC_MESSAGES/django.po
@@ -11,15 +11,16 @@
# Lou Lecrivain, 2024
# Jean Benoit , 2024
# thomas rivemale, 2024
+# Jeff Gehlbach, 2024
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-06-22 05:02+0000\n"
+"POT-Creation-Date: 2024-07-09 05:02+0000\n"
"PO-Revision-Date: 2023-10-30 17:48+0000\n"
-"Last-Translator: thomas rivemale, 2024\n"
+"Last-Translator: Jeff Gehlbach, 2024\n"
"Language-Team: French (https://app.transifex.com/netbox-community/teams/178115/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -117,8 +118,8 @@ msgstr "Mis hors service"
#: netbox/dcim/filtersets.py:97 netbox/dcim/filtersets.py:151
#: netbox/dcim/filtersets.py:211 netbox/dcim/filtersets.py:297
#: netbox/dcim/filtersets.py:406 netbox/dcim/filtersets.py:969
-#: netbox/dcim/filtersets.py:1305 netbox/dcim/filtersets.py:1832
-#: netbox/dcim/filtersets.py:2075 netbox/dcim/filtersets.py:2133
+#: netbox/dcim/filtersets.py:1316 netbox/dcim/filtersets.py:1843
+#: netbox/dcim/filtersets.py:2086 netbox/dcim/filtersets.py:2144
#: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:945
#: netbox/virtualization/filtersets.py:45
#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:377
@@ -129,8 +130,8 @@ msgstr "Région (ID)"
#: netbox/dcim/filtersets.py:104 netbox/dcim/filtersets.py:157
#: netbox/dcim/filtersets.py:218 netbox/dcim/filtersets.py:304
#: netbox/dcim/filtersets.py:413 netbox/dcim/filtersets.py:976
-#: netbox/dcim/filtersets.py:1312 netbox/dcim/filtersets.py:1839
-#: netbox/dcim/filtersets.py:2082 netbox/dcim/filtersets.py:2140
+#: netbox/dcim/filtersets.py:1323 netbox/dcim/filtersets.py:1850
+#: netbox/dcim/filtersets.py:2093 netbox/dcim/filtersets.py:2151
#: netbox/extras/filtersets.py:461 netbox/ipam/filtersets.py:346
#: netbox/ipam/filtersets.py:952 netbox/virtualization/filtersets.py:52
#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:372
@@ -140,9 +141,9 @@ msgstr "Région (slug)"
#: netbox/circuits/filtersets.py:42 netbox/circuits/filtersets.py:209
#: netbox/dcim/filtersets.py:127 netbox/dcim/filtersets.py:224
#: netbox/dcim/filtersets.py:310 netbox/dcim/filtersets.py:419
-#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1318
-#: netbox/dcim/filtersets.py:1845 netbox/dcim/filtersets.py:2088
-#: netbox/dcim/filtersets.py:2146 netbox/ipam/filtersets.py:352
+#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1329
+#: netbox/dcim/filtersets.py:1856 netbox/dcim/filtersets.py:2099
+#: netbox/dcim/filtersets.py:2157 netbox/ipam/filtersets.py:352
#: netbox/ipam/filtersets.py:958 netbox/virtualization/filtersets.py:58
#: netbox/virtualization/filtersets.py:186
msgid "Site group (ID)"
@@ -151,9 +152,9 @@ msgstr "Groupe de sites (ID)"
#: netbox/circuits/filtersets.py:49 netbox/circuits/filtersets.py:216
#: netbox/dcim/filtersets.py:134 netbox/dcim/filtersets.py:231
#: netbox/dcim/filtersets.py:317 netbox/dcim/filtersets.py:426
-#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1325
-#: netbox/dcim/filtersets.py:1852 netbox/dcim/filtersets.py:2095
-#: netbox/dcim/filtersets.py:2153 netbox/extras/filtersets.py:467
+#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1336
+#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2106
+#: netbox/dcim/filtersets.py:2164 netbox/extras/filtersets.py:467
#: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:965
#: netbox/virtualization/filtersets.py:65
#: netbox/virtualization/filtersets.py:193
@@ -162,7 +163,7 @@ msgstr "Groupe de sites (slug)"
#: netbox/circuits/filtersets.py:54 netbox/circuits/forms/bulk_edit.py:186
#: netbox/circuits/forms/bulk_edit.py:214
-#: netbox/circuits/forms/bulk_import.py:126
+#: netbox/circuits/forms/bulk_import.py:123
#: netbox/circuits/forms/filtersets.py:49
#: netbox/circuits/forms/filtersets.py:169
#: netbox/circuits/forms/filtersets.py:207
@@ -171,15 +172,15 @@ msgstr "Groupe de sites (slug)"
#: netbox/circuits/tables/circuits.py:107 netbox/dcim/forms/bulk_edit.py:167
#: netbox/dcim/forms/bulk_edit.py:239 netbox/dcim/forms/bulk_edit.py:575
#: netbox/dcim/forms/bulk_edit.py:771 netbox/dcim/forms/bulk_import.py:130
-#: netbox/dcim/forms/bulk_import.py:184 netbox/dcim/forms/bulk_import.py:257
-#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1262
-#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:85
-#: netbox/dcim/forms/filtersets.py:218 netbox/dcim/forms/filtersets.py:265
-#: netbox/dcim/forms/filtersets.py:374 netbox/dcim/forms/filtersets.py:682
-#: netbox/dcim/forms/filtersets.py:916 netbox/dcim/forms/filtersets.py:940
-#: netbox/dcim/forms/filtersets.py:1030 netbox/dcim/forms/filtersets.py:1068
-#: netbox/dcim/forms/filtersets.py:1476 netbox/dcim/forms/filtersets.py:1500
-#: netbox/dcim/forms/filtersets.py:1524 netbox/dcim/forms/model_forms.py:136
+#: netbox/dcim/forms/bulk_import.py:181 netbox/dcim/forms/bulk_import.py:254
+#: netbox/dcim/forms/bulk_import.py:479 netbox/dcim/forms/bulk_import.py:1250
+#: netbox/dcim/forms/bulk_import.py:1278 netbox/dcim/forms/filtersets.py:86
+#: netbox/dcim/forms/filtersets.py:219 netbox/dcim/forms/filtersets.py:266
+#: netbox/dcim/forms/filtersets.py:375 netbox/dcim/forms/filtersets.py:684
+#: netbox/dcim/forms/filtersets.py:928 netbox/dcim/forms/filtersets.py:952
+#: netbox/dcim/forms/filtersets.py:1042 netbox/dcim/forms/filtersets.py:1080
+#: netbox/dcim/forms/filtersets.py:1488 netbox/dcim/forms/filtersets.py:1512
+#: netbox/dcim/forms/filtersets.py:1536 netbox/dcim/forms/model_forms.py:136
#: netbox/dcim/forms/model_forms.py:164 netbox/dcim/forms/model_forms.py:206
#: netbox/dcim/forms/model_forms.py:406 netbox/dcim/forms/model_forms.py:671
#: netbox/dcim/forms/object_create.py:391 netbox/dcim/tables/devices.py:150
@@ -278,8 +279,8 @@ msgstr "Type de circuit (slug)"
#: netbox/circuits/filtersets.py:221 netbox/circuits/filtersets.py:266
#: netbox/dcim/filtersets.py:235 netbox/dcim/filtersets.py:321
#: netbox/dcim/filtersets.py:394 netbox/dcim/filtersets.py:993
-#: netbox/dcim/filtersets.py:1330 netbox/dcim/filtersets.py:1857
-#: netbox/dcim/filtersets.py:2099 netbox/dcim/filtersets.py:2158
+#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:1868
+#: netbox/dcim/filtersets.py:2110 netbox/dcim/filtersets.py:2169
#: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363
#: netbox/ipam/filtersets.py:969 netbox/virtualization/filtersets.py:69
#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:387
@@ -292,7 +293,7 @@ msgstr "Terminaison A (ID)"
#: netbox/circuits/filtersets.py:258 netbox/core/filtersets.py:73
#: netbox/core/filtersets.py:132 netbox/dcim/filtersets.py:693
-#: netbox/dcim/filtersets.py:1299 netbox/dcim/filtersets.py:2206
+#: netbox/dcim/filtersets.py:1310 netbox/dcim/filtersets.py:2217
#: netbox/extras/filtersets.py:41 netbox/extras/filtersets.py:63
#: netbox/extras/filtersets.py:92 netbox/extras/filtersets.py:127
#: netbox/extras/filtersets.py:176 netbox/extras/filtersets.py:204
@@ -309,11 +310,12 @@ msgstr "Terminaison A (ID)"
#: netbox/tenancy/filtersets.py:100 netbox/users/filtersets.py:23
#: netbox/users/filtersets.py:52 netbox/users/filtersets.py:92
#: netbox/users/filtersets.py:140 netbox/utilities/forms/forms.py:104
+#: netbox/utilities/templates/navigation/menu.html:16
msgid "Search"
msgstr "Rechercher"
#: netbox/circuits/filtersets.py:262 netbox/circuits/forms/bulk_edit.py:170
-#: netbox/circuits/forms/bulk_import.py:117
+#: netbox/circuits/forms/bulk_import.py:114
#: netbox/circuits/forms/filtersets.py:196
#: netbox/circuits/forms/filtersets.py:212
#: netbox/circuits/forms/model_forms.py:109
@@ -334,9 +336,9 @@ msgstr "Réseau fournisseur (ID)"
#: netbox/circuits/forms/filtersets.py:54
#: netbox/circuits/forms/model_forms.py:27
#: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:127
-#: netbox/dcim/forms/filtersets.py:188 netbox/dcim/forms/model_forms.py:122
+#: netbox/dcim/forms/filtersets.py:189 netbox/dcim/forms/model_forms.py:122
#: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:210
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:213
#: netbox/netbox/navigation/menu.py:159 netbox/netbox/navigation/menu.py:162
#: netbox/templates/circuits/provider.html:23
msgid "ASNs"
@@ -474,7 +476,7 @@ msgstr "Description"
#: netbox/circuits/forms/bulk_edit.py:121
#: netbox/circuits/forms/bulk_import.py:35
#: netbox/circuits/forms/bulk_import.py:50
-#: netbox/circuits/forms/bulk_import.py:76
+#: netbox/circuits/forms/bulk_import.py:73
#: netbox/circuits/forms/filtersets.py:68
#: netbox/circuits/forms/filtersets.py:86
#: netbox/circuits/forms/filtersets.py:114
@@ -507,8 +509,8 @@ msgstr "Identifiant du service"
#: netbox/circuits/forms/filtersets.py:105 netbox/dcim/forms/bulk_edit.py:205
#: netbox/dcim/forms/bulk_edit.py:502 netbox/dcim/forms/bulk_edit.py:702
#: netbox/dcim/forms/bulk_edit.py:1071 netbox/dcim/forms/bulk_edit.py:1098
-#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:983
-#: netbox/dcim/forms/filtersets.py:1359 netbox/dcim/forms/filtersets.py:1380
+#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:995
+#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392
#: netbox/dcim/tables/devices.py:687 netbox/dcim/tables/devices.py:744
#: netbox/dcim/tables/devices.py:968 netbox/dcim/tables/devicetypes.py:245
#: netbox/dcim/tables/devicetypes.py:260 netbox/dcim/tables/racks.py:32
@@ -524,7 +526,7 @@ msgid "Color"
msgstr "Couleur"
#: netbox/circuits/forms/bulk_edit.py:116
-#: netbox/circuits/forms/bulk_import.py:89
+#: netbox/circuits/forms/bulk_import.py:86
#: netbox/circuits/forms/filtersets.py:124 netbox/core/forms/bulk_edit.py:18
#: netbox/core/forms/filtersets.py:30 netbox/core/tables/data.py:20
#: netbox/core/tables/jobs.py:18 netbox/dcim/forms/bulk_edit.py:282
@@ -532,17 +534,17 @@ msgstr "Couleur"
#: netbox/dcim/forms/bulk_edit.py:887 netbox/dcim/forms/bulk_edit.py:906
#: netbox/dcim/forms/bulk_edit.py:929 netbox/dcim/forms/bulk_edit.py:971
#: netbox/dcim/forms/bulk_edit.py:1015 netbox/dcim/forms/bulk_edit.py:1066
-#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:214
-#: netbox/dcim/forms/bulk_import.py:653 netbox/dcim/forms/bulk_import.py:679
-#: netbox/dcim/forms/bulk_import.py:705 netbox/dcim/forms/bulk_import.py:725
-#: netbox/dcim/forms/bulk_import.py:808 netbox/dcim/forms/bulk_import.py:902
-#: netbox/dcim/forms/bulk_import.py:944 netbox/dcim/forms/bulk_import.py:1161
-#: netbox/dcim/forms/bulk_import.py:1327 netbox/dcim/forms/filtersets.py:287
-#: netbox/dcim/forms/filtersets.py:874 netbox/dcim/forms/filtersets.py:973
-#: netbox/dcim/forms/filtersets.py:1094 netbox/dcim/forms/filtersets.py:1164
-#: netbox/dcim/forms/filtersets.py:1186 netbox/dcim/forms/filtersets.py:1208
-#: netbox/dcim/forms/filtersets.py:1225 netbox/dcim/forms/filtersets.py:1259
-#: netbox/dcim/forms/filtersets.py:1354 netbox/dcim/forms/filtersets.py:1375
+#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:211
+#: netbox/dcim/forms/bulk_import.py:647 netbox/dcim/forms/bulk_import.py:673
+#: netbox/dcim/forms/bulk_import.py:699 netbox/dcim/forms/bulk_import.py:719
+#: netbox/dcim/forms/bulk_import.py:802 netbox/dcim/forms/bulk_import.py:896
+#: netbox/dcim/forms/bulk_import.py:938 netbox/dcim/forms/bulk_import.py:1152
+#: netbox/dcim/forms/bulk_import.py:1315 netbox/dcim/forms/filtersets.py:288
+#: netbox/dcim/forms/filtersets.py:886 netbox/dcim/forms/filtersets.py:985
+#: netbox/dcim/forms/filtersets.py:1106 netbox/dcim/forms/filtersets.py:1176
+#: netbox/dcim/forms/filtersets.py:1198 netbox/dcim/forms/filtersets.py:1220
+#: netbox/dcim/forms/filtersets.py:1237 netbox/dcim/forms/filtersets.py:1271
+#: netbox/dcim/forms/filtersets.py:1366 netbox/dcim/forms/filtersets.py:1387
#: netbox/dcim/forms/model_forms.py:646 netbox/dcim/forms/model_forms.py:652
#: netbox/dcim/forms/object_import.py:84
#: netbox/dcim/forms/object_import.py:113
@@ -581,14 +583,14 @@ msgid "Type"
msgstr "Type"
#: netbox/circuits/forms/bulk_edit.py:126
-#: netbox/circuits/forms/bulk_import.py:82
+#: netbox/circuits/forms/bulk_import.py:79
#: netbox/circuits/forms/filtersets.py:137
#: netbox/circuits/forms/model_forms.py:96
msgid "Provider account"
msgstr "Identifiant de compte du prestataire"
#: netbox/circuits/forms/bulk_edit.py:134
-#: netbox/circuits/forms/bulk_import.py:95
+#: netbox/circuits/forms/bulk_import.py:92
#: netbox/circuits/forms/filtersets.py:148 netbox/core/forms/filtersets.py:35
#: netbox/core/forms/filtersets.py:76 netbox/core/tables/data.py:23
#: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88
@@ -597,13 +599,13 @@ msgstr "Identifiant de compte du prestataire"
#: netbox/dcim/forms/bulk_edit.py:654 netbox/dcim/forms/bulk_edit.py:686
#: netbox/dcim/forms/bulk_edit.py:813 netbox/dcim/forms/bulk_edit.py:1594
#: netbox/dcim/forms/bulk_import.py:87 netbox/dcim/forms/bulk_import.py:146
-#: netbox/dcim/forms/bulk_import.py:202 netbox/dcim/forms/bulk_import.py:450
-#: netbox/dcim/forms/bulk_import.py:604 netbox/dcim/forms/bulk_import.py:1155
-#: netbox/dcim/forms/bulk_import.py:1322 netbox/dcim/forms/bulk_import.py:1386
-#: netbox/dcim/forms/filtersets.py:171 netbox/dcim/forms/filtersets.py:230
-#: netbox/dcim/forms/filtersets.py:282 netbox/dcim/forms/filtersets.py:728
-#: netbox/dcim/forms/filtersets.py:843 netbox/dcim/forms/filtersets.py:877
-#: netbox/dcim/forms/filtersets.py:978 netbox/dcim/forms/filtersets.py:1089
+#: netbox/dcim/forms/bulk_import.py:199 netbox/dcim/forms/bulk_import.py:444
+#: netbox/dcim/forms/bulk_import.py:598 netbox/dcim/forms/bulk_import.py:1146
+#: netbox/dcim/forms/bulk_import.py:1310 netbox/dcim/forms/bulk_import.py:1374
+#: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:231
+#: netbox/dcim/forms/filtersets.py:283 netbox/dcim/forms/filtersets.py:730
+#: netbox/dcim/forms/filtersets.py:855 netbox/dcim/forms/filtersets.py:889
+#: netbox/dcim/forms/filtersets.py:990 netbox/dcim/forms/filtersets.py:1101
#: netbox/dcim/tables/devices.py:137 netbox/dcim/tables/devices.py:800
#: netbox/dcim/tables/devices.py:1028 netbox/dcim/tables/modules.py:69
#: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:66
@@ -621,7 +623,7 @@ msgstr "Identifiant de compte du prestataire"
#: netbox/templates/circuits/circuit.html:34
#: netbox/templates/core/datasource.html:46 netbox/templates/core/job.html:30
#: netbox/templates/core/rq_task.html:81 netbox/templates/core/system.html:18
-#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:176
+#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:178
#: netbox/templates/dcim/location.html:45 netbox/templates/dcim/module.html:66
#: netbox/templates/dcim/powerfeed.html:36 netbox/templates/dcim/rack.html:43
#: netbox/templates/dcim/site.html:43
@@ -657,20 +659,20 @@ msgid "Status"
msgstr "Statut"
#: netbox/circuits/forms/bulk_edit.py:140
-#: netbox/circuits/forms/bulk_import.py:100
+#: netbox/circuits/forms/bulk_import.py:97
#: netbox/circuits/forms/filtersets.py:117 netbox/dcim/forms/bulk_edit.py:121
#: netbox/dcim/forms/bulk_edit.py:186 netbox/dcim/forms/bulk_edit.py:256
#: netbox/dcim/forms/bulk_edit.py:368 netbox/dcim/forms/bulk_edit.py:588
#: netbox/dcim/forms/bulk_edit.py:692 netbox/dcim/forms/bulk_edit.py:1599
#: netbox/dcim/forms/bulk_import.py:106 netbox/dcim/forms/bulk_import.py:151
-#: netbox/dcim/forms/bulk_import.py:195 netbox/dcim/forms/bulk_import.py:282
-#: netbox/dcim/forms/bulk_import.py:424 netbox/dcim/forms/bulk_import.py:1167
-#: netbox/dcim/forms/bulk_import.py:1379 netbox/dcim/forms/filtersets.py:166
-#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:249
-#: netbox/dcim/forms/filtersets.py:334 netbox/dcim/forms/filtersets.py:355
-#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:835
-#: netbox/dcim/forms/filtersets.py:897 netbox/dcim/forms/filtersets.py:927
-#: netbox/dcim/forms/filtersets.py:1049 netbox/dcim/tables/power.py:88
+#: netbox/dcim/forms/bulk_import.py:192 netbox/dcim/forms/bulk_import.py:279
+#: netbox/dcim/forms/bulk_import.py:418 netbox/dcim/forms/bulk_import.py:1158
+#: netbox/dcim/forms/bulk_import.py:1367 netbox/dcim/forms/filtersets.py:167
+#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250
+#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:356
+#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:847
+#: netbox/dcim/forms/filtersets.py:909 netbox/dcim/forms/filtersets.py:939
+#: netbox/dcim/forms/filtersets.py:1061 netbox/dcim/tables/power.py:88
#: netbox/extras/filtersets.py:564 netbox/extras/forms/filtersets.py:332
#: netbox/extras/forms/filtersets.py:405 netbox/ipam/forms/bulk_edit.py:41
#: netbox/ipam/forms/bulk_edit.py:66 netbox/ipam/forms/bulk_edit.py:110
@@ -809,29 +811,22 @@ msgstr "Détails de terminaison"
#: netbox/circuits/forms/bulk_import.py:38
#: netbox/circuits/forms/bulk_import.py:53
-#: netbox/circuits/forms/bulk_import.py:79
+#: netbox/circuits/forms/bulk_import.py:76
msgid "Assigned provider"
msgstr "Prestataire assigné"
-#: netbox/circuits/forms/bulk_import.py:70
-#: netbox/dcim/forms/bulk_import.py:178 netbox/dcim/forms/bulk_import.py:388
-#: netbox/dcim/forms/bulk_import.py:1108 netbox/dcim/forms/bulk_import.py:1187
-#: netbox/extras/forms/bulk_import.py:232
-msgid "RGB color in hexadecimal. Example:"
-msgstr "Couleur RVB en hexadécimal. Exemple :"
-
-#: netbox/circuits/forms/bulk_import.py:85
+#: netbox/circuits/forms/bulk_import.py:82
msgid "Assigned provider account"
msgstr "Compte opérateur associé"
-#: netbox/circuits/forms/bulk_import.py:92
+#: netbox/circuits/forms/bulk_import.py:89
msgid "Type of circuit"
msgstr "Type de circuit"
-#: netbox/circuits/forms/bulk_import.py:97 netbox/dcim/forms/bulk_import.py:89
-#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:204
-#: netbox/dcim/forms/bulk_import.py:452 netbox/dcim/forms/bulk_import.py:606
-#: netbox/dcim/forms/bulk_import.py:1324 netbox/ipam/forms/bulk_import.py:193
+#: netbox/circuits/forms/bulk_import.py:94 netbox/dcim/forms/bulk_import.py:89
+#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:201
+#: netbox/dcim/forms/bulk_import.py:446 netbox/dcim/forms/bulk_import.py:600
+#: netbox/dcim/forms/bulk_import.py:1312 netbox/ipam/forms/bulk_import.py:193
#: netbox/ipam/forms/bulk_import.py:258 netbox/ipam/forms/bulk_import.py:294
#: netbox/ipam/forms/bulk_import.py:460
#: netbox/virtualization/forms/bulk_import.py:56
@@ -840,11 +835,11 @@ msgstr "Type de circuit"
msgid "Operational status"
msgstr "État opérationnel"
-#: netbox/circuits/forms/bulk_import.py:104
+#: netbox/circuits/forms/bulk_import.py:101
#: netbox/dcim/forms/bulk_import.py:110 netbox/dcim/forms/bulk_import.py:155
-#: netbox/dcim/forms/bulk_import.py:286 netbox/dcim/forms/bulk_import.py:428
-#: netbox/dcim/forms/bulk_import.py:1171 netbox/dcim/forms/bulk_import.py:1319
-#: netbox/dcim/forms/bulk_import.py:1383 netbox/ipam/forms/bulk_import.py:41
+#: netbox/dcim/forms/bulk_import.py:283 netbox/dcim/forms/bulk_import.py:422
+#: netbox/dcim/forms/bulk_import.py:1162 netbox/dcim/forms/bulk_import.py:1307
+#: netbox/dcim/forms/bulk_import.py:1371 netbox/ipam/forms/bulk_import.py:41
#: netbox/ipam/forms/bulk_import.py:70 netbox/ipam/forms/bulk_import.py:98
#: netbox/ipam/forms/bulk_import.py:118 netbox/ipam/forms/bulk_import.py:138
#: netbox/ipam/forms/bulk_import.py:167 netbox/ipam/forms/bulk_import.py:253
@@ -856,7 +851,7 @@ msgstr "État opérationnel"
msgid "Assigned tenant"
msgstr "Locataire associé"
-#: netbox/circuits/forms/bulk_import.py:122
+#: netbox/circuits/forms/bulk_import.py:119
#: netbox/templates/circuits/inc/circuit_termination.html:6
#: netbox/templates/circuits/inc/circuit_termination_fields.html:15
#: netbox/templates/dcim/cable.html:68 netbox/templates/dcim/cable.html:72
@@ -864,7 +859,7 @@ msgstr "Locataire associé"
msgid "Termination"
msgstr "Terminaison"
-#: netbox/circuits/forms/bulk_import.py:132
+#: netbox/circuits/forms/bulk_import.py:129
#: netbox/circuits/forms/filtersets.py:145
#: netbox/circuits/forms/filtersets.py:225
#: netbox/circuits/forms/model_forms.py:142
@@ -876,20 +871,20 @@ msgstr "Réseau de fournisseurs"
#: netbox/circuits/forms/filtersets.py:198 netbox/dcim/forms/bulk_edit.py:248
#: netbox/dcim/forms/bulk_edit.py:346 netbox/dcim/forms/bulk_edit.py:580
#: netbox/dcim/forms/bulk_edit.py:627 netbox/dcim/forms/bulk_edit.py:780
-#: netbox/dcim/forms/bulk_import.py:189 netbox/dcim/forms/bulk_import.py:263
-#: netbox/dcim/forms/bulk_import.py:491 netbox/dcim/forms/bulk_import.py:1268
-#: netbox/dcim/forms/bulk_import.py:1302 netbox/dcim/forms/filtersets.py:93
-#: netbox/dcim/forms/filtersets.py:246 netbox/dcim/forms/filtersets.py:279
-#: netbox/dcim/forms/filtersets.py:331 netbox/dcim/forms/filtersets.py:382
-#: netbox/dcim/forms/filtersets.py:649 netbox/dcim/forms/filtersets.py:691
-#: netbox/dcim/forms/filtersets.py:896 netbox/dcim/forms/filtersets.py:925
-#: netbox/dcim/forms/filtersets.py:945 netbox/dcim/forms/filtersets.py:1009
-#: netbox/dcim/forms/filtersets.py:1039 netbox/dcim/forms/filtersets.py:1048
-#: netbox/dcim/forms/filtersets.py:1159 netbox/dcim/forms/filtersets.py:1181
-#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1220
-#: netbox/dcim/forms/filtersets.py:1240 netbox/dcim/forms/filtersets.py:1348
-#: netbox/dcim/forms/filtersets.py:1370 netbox/dcim/forms/filtersets.py:1391
-#: netbox/dcim/forms/filtersets.py:1406 netbox/dcim/forms/filtersets.py:1420
+#: netbox/dcim/forms/bulk_import.py:186 netbox/dcim/forms/bulk_import.py:260
+#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1256
+#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:94
+#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:280
+#: netbox/dcim/forms/filtersets.py:332 netbox/dcim/forms/filtersets.py:383
+#: netbox/dcim/forms/filtersets.py:650 netbox/dcim/forms/filtersets.py:693
+#: netbox/dcim/forms/filtersets.py:908 netbox/dcim/forms/filtersets.py:937
+#: netbox/dcim/forms/filtersets.py:957 netbox/dcim/forms/filtersets.py:1021
+#: netbox/dcim/forms/filtersets.py:1051 netbox/dcim/forms/filtersets.py:1060
+#: netbox/dcim/forms/filtersets.py:1171 netbox/dcim/forms/filtersets.py:1193
+#: netbox/dcim/forms/filtersets.py:1215 netbox/dcim/forms/filtersets.py:1232
+#: netbox/dcim/forms/filtersets.py:1252 netbox/dcim/forms/filtersets.py:1360
+#: netbox/dcim/forms/filtersets.py:1382 netbox/dcim/forms/filtersets.py:1403
+#: netbox/dcim/forms/filtersets.py:1418 netbox/dcim/forms/filtersets.py:1432
#: netbox/dcim/forms/model_forms.py:179 netbox/dcim/forms/model_forms.py:211
#: netbox/dcim/forms/model_forms.py:411 netbox/dcim/forms/model_forms.py:676
#: netbox/dcim/tables/devices.py:154 netbox/dcim/tables/power.py:30
@@ -912,14 +907,14 @@ msgid "Location"
msgstr "Emplacement"
#: netbox/circuits/forms/filtersets.py:30
-#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:137
-#: netbox/dcim/forms/filtersets.py:151 netbox/dcim/forms/filtersets.py:167
-#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250
-#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:406
-#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:1010
+#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:138
+#: netbox/dcim/forms/filtersets.py:152 netbox/dcim/forms/filtersets.py:168
+#: netbox/dcim/forms/filtersets.py:200 netbox/dcim/forms/filtersets.py:251
+#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:407
+#: netbox/dcim/forms/filtersets.py:654 netbox/dcim/forms/filtersets.py:1022
#: netbox/netbox/navigation/menu.py:44 netbox/netbox/navigation/menu.py:46
#: netbox/tenancy/forms/filtersets.py:42 netbox/tenancy/tables/columns.py:70
-#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:18
+#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:19
#: netbox/virtualization/forms/filtersets.py:37
#: netbox/virtualization/forms/filtersets.py:48
#: netbox/virtualization/forms/filtersets.py:106
@@ -929,13 +924,13 @@ msgstr "Contacts"
#: netbox/circuits/forms/filtersets.py:35
#: netbox/circuits/forms/filtersets.py:155 netbox/dcim/forms/bulk_edit.py:111
#: netbox/dcim/forms/bulk_edit.py:223 netbox/dcim/forms/bulk_edit.py:755
-#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:71
-#: netbox/dcim/forms/filtersets.py:178 netbox/dcim/forms/filtersets.py:204
-#: netbox/dcim/forms/filtersets.py:257 netbox/dcim/forms/filtersets.py:360
-#: netbox/dcim/forms/filtersets.py:668 netbox/dcim/forms/filtersets.py:902
-#: netbox/dcim/forms/filtersets.py:932 netbox/dcim/forms/filtersets.py:1016
-#: netbox/dcim/forms/filtersets.py:1055 netbox/dcim/forms/filtersets.py:1468
-#: netbox/dcim/forms/filtersets.py:1492 netbox/dcim/forms/filtersets.py:1516
+#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:72
+#: netbox/dcim/forms/filtersets.py:179 netbox/dcim/forms/filtersets.py:205
+#: netbox/dcim/forms/filtersets.py:258 netbox/dcim/forms/filtersets.py:361
+#: netbox/dcim/forms/filtersets.py:670 netbox/dcim/forms/filtersets.py:914
+#: netbox/dcim/forms/filtersets.py:944 netbox/dcim/forms/filtersets.py:1028
+#: netbox/dcim/forms/filtersets.py:1067 netbox/dcim/forms/filtersets.py:1480
+#: netbox/dcim/forms/filtersets.py:1504 netbox/dcim/forms/filtersets.py:1528
#: netbox/dcim/forms/model_forms.py:111 netbox/dcim/forms/object_create.py:375
#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/sites.py:85
#: netbox/extras/filtersets.py:455 netbox/ipam/forms/bulk_edit.py:206
@@ -956,11 +951,11 @@ msgstr "Région"
#: netbox/circuits/forms/filtersets.py:40
#: netbox/circuits/forms/filtersets.py:160 netbox/dcim/forms/bulk_edit.py:231
-#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:76
-#: netbox/dcim/forms/filtersets.py:183 netbox/dcim/forms/filtersets.py:209
-#: netbox/dcim/forms/filtersets.py:270 netbox/dcim/forms/filtersets.py:365
-#: netbox/dcim/forms/filtersets.py:673 netbox/dcim/forms/filtersets.py:907
-#: netbox/dcim/forms/filtersets.py:1021 netbox/dcim/forms/filtersets.py:1060
+#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:77
+#: netbox/dcim/forms/filtersets.py:184 netbox/dcim/forms/filtersets.py:210
+#: netbox/dcim/forms/filtersets.py:271 netbox/dcim/forms/filtersets.py:366
+#: netbox/dcim/forms/filtersets.py:675 netbox/dcim/forms/filtersets.py:919
+#: netbox/dcim/forms/filtersets.py:1033 netbox/dcim/forms/filtersets.py:1072
#: netbox/dcim/forms/object_create.py:383 netbox/extras/filtersets.py:472
#: netbox/ipam/forms/bulk_edit.py:211 netbox/ipam/forms/bulk_edit.py:445
#: netbox/ipam/forms/bulk_edit.py:517 netbox/ipam/forms/filtersets.py:222
@@ -977,14 +972,14 @@ msgstr "Groupe de sites"
#: netbox/circuits/forms/filtersets.py:81
#: netbox/circuits/forms/filtersets.py:100
#: netbox/circuits/forms/filtersets.py:115 netbox/core/forms/filtersets.py:64
-#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:165
-#: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/filtersets.py:834
-#: netbox/dcim/forms/filtersets.py:926 netbox/dcim/forms/filtersets.py:1050
-#: netbox/dcim/forms/filtersets.py:1158 netbox/dcim/forms/filtersets.py:1180
-#: netbox/dcim/forms/filtersets.py:1202 netbox/dcim/forms/filtersets.py:1219
-#: netbox/dcim/forms/filtersets.py:1236 netbox/dcim/forms/filtersets.py:1347
-#: netbox/dcim/forms/filtersets.py:1369 netbox/dcim/forms/filtersets.py:1390
-#: netbox/dcim/forms/filtersets.py:1405 netbox/dcim/forms/filtersets.py:1418
+#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:166
+#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:846
+#: netbox/dcim/forms/filtersets.py:938 netbox/dcim/forms/filtersets.py:1062
+#: netbox/dcim/forms/filtersets.py:1170 netbox/dcim/forms/filtersets.py:1192
+#: netbox/dcim/forms/filtersets.py:1214 netbox/dcim/forms/filtersets.py:1231
+#: netbox/dcim/forms/filtersets.py:1248 netbox/dcim/forms/filtersets.py:1359
+#: netbox/dcim/forms/filtersets.py:1381 netbox/dcim/forms/filtersets.py:1402
+#: netbox/dcim/forms/filtersets.py:1417 netbox/dcim/forms/filtersets.py:1430
#: netbox/extras/forms/filtersets.py:43 netbox/extras/forms/filtersets.py:112
#: netbox/extras/forms/filtersets.py:143 netbox/extras/forms/filtersets.py:183
#: netbox/extras/forms/filtersets.py:199 netbox/extras/forms/filtersets.py:230
@@ -1120,7 +1115,7 @@ msgstr "ID du panneau de raccordement et numéro (s) de port"
#: netbox/dcim/models/device_component_templates.py:61
#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:538
#: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219
-#: netbox/extras/models/customfields.py:123 netbox/extras/models/models.py:60
+#: netbox/extras/models/customfields.py:124 netbox/extras/models/models.py:60
#: netbox/extras/models/models.py:186 netbox/extras/models/models.py:424
#: netbox/extras/models/models.py:539 netbox/extras/models/staging.py:32
#: netbox/extras/models/tags.py:32 netbox/netbox/models/__init__.py:109
@@ -1163,7 +1158,7 @@ msgstr ""
#: netbox/dcim/models/devices.py:1360 netbox/dcim/models/power.py:39
#: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:63
#: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36
-#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:90
+#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:91
#: netbox/extras/models/models.py:55 netbox/extras/models/models.py:181
#: netbox/extras/models/models.py:324 netbox/extras/models/models.py:420
#: netbox/extras/models/models.py:529 netbox/extras/models/models.py:624
@@ -1236,7 +1231,7 @@ msgstr "réseaux de fournisseurs"
#: netbox/circuits/tables/providers.py:99 netbox/core/tables/data.py:16
#: netbox/core/tables/jobs.py:14 netbox/core/tables/plugins.py:13
#: netbox/core/tables/tasks.py:11 netbox/core/tables/tasks.py:115
-#: netbox/dcim/forms/filtersets.py:61 netbox/dcim/forms/object_create.py:43
+#: netbox/dcim/forms/filtersets.py:62 netbox/dcim/forms/object_create.py:43
#: netbox/dcim/tables/devices.py:52 netbox/dcim/tables/devices.py:89
#: netbox/dcim/tables/devices.py:131 netbox/dcim/tables/devices.py:286
#: netbox/dcim/tables/devices.py:380 netbox/dcim/tables/devices.py:421
@@ -1548,7 +1543,7 @@ msgstr "Source de données (nom)"
#: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:40
#: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1020
-#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1276
+#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1288
#: netbox/dcim/tables/devices.py:541 netbox/dcim/tables/devicetypes.py:221
#: netbox/extras/forms/bulk_edit.py:98 netbox/extras/forms/bulk_edit.py:162
#: netbox/extras/forms/bulk_edit.py:221 netbox/extras/forms/filtersets.py:120
@@ -1651,7 +1646,7 @@ msgid "Completed before"
msgstr "Terminé avant"
#: netbox/core/forms/filtersets.py:123 netbox/dcim/forms/bulk_edit.py:361
-#: netbox/dcim/forms/filtersets.py:353 netbox/dcim/forms/filtersets.py:397
+#: netbox/dcim/forms/filtersets.py:354 netbox/dcim/forms/filtersets.py:398
#: netbox/dcim/forms/model_forms.py:258 netbox/extras/forms/filtersets.py:465
#: netbox/extras/forms/filtersets.py:505
#: netbox/templates/dcim/rackreservation.html:58
@@ -1737,7 +1732,7 @@ msgstr "Validation"
msgid "User Preferences"
msgstr "Préférences de l'utilisateur"
-#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:661
+#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:663
#: netbox/templates/core/inc/config_data.html:127
#: netbox/users/forms/model_forms.py:65
msgid "Miscellaneous"
@@ -1813,7 +1808,7 @@ msgstr "Révision de configuration #{id}"
#: netbox/dcim/models/device_components.py:971
#: netbox/dcim/models/device_components.py:1045
#: netbox/dcim/models/power.py:102 netbox/dcim/models/racks.py:128
-#: netbox/extras/models/customfields.py:76 netbox/extras/models/search.py:41
+#: netbox/extras/models/customfields.py:77 netbox/extras/models/search.py:41
#: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32
msgid "type"
msgstr "type"
@@ -2185,7 +2180,7 @@ msgstr "{n} pouces"
msgid "Reserved"
msgstr "Réservé"
-#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:252
+#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:259
msgid "Available"
msgstr "Disponible"
@@ -2207,8 +2202,8 @@ msgstr "Pouces"
#: netbox/dcim/forms/bulk_edit.py:86 netbox/dcim/forms/bulk_edit.py:172
#: netbox/dcim/forms/bulk_edit.py:1298 netbox/dcim/forms/bulk_import.py:59
#: netbox/dcim/forms/bulk_import.py:73 netbox/dcim/forms/bulk_import.py:136
-#: netbox/dcim/forms/bulk_import.py:511 netbox/dcim/forms/bulk_import.py:778
-#: netbox/dcim/forms/bulk_import.py:1033 netbox/dcim/forms/filtersets.py:227
+#: netbox/dcim/forms/bulk_import.py:505 netbox/dcim/forms/bulk_import.py:772
+#: netbox/dcim/forms/bulk_import.py:1027 netbox/dcim/forms/filtersets.py:228
#: netbox/dcim/forms/model_forms.py:73 netbox/dcim/forms/model_forms.py:92
#: netbox/dcim/forms/model_forms.py:169 netbox/dcim/forms/model_forms.py:1010
#: netbox/dcim/forms/model_forms.py:1449
@@ -2242,14 +2237,14 @@ msgstr "Parent"
msgid "Child"
msgstr "Enfant"
-#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:332
+#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:339
#: netbox/templates/dcim/rack.html:175
#: netbox/templates/dcim/rack_elevation_list.html:20
#: netbox/templates/dcim/rackreservation.html:76
msgid "Front"
msgstr "Avant"
-#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:338
+#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:345
#: netbox/templates/dcim/rack.html:181
#: netbox/templates/dcim/rack_elevation_list.html:21
#: netbox/templates/dcim/rackreservation.html:82
@@ -2333,7 +2328,7 @@ msgid "Virtual"
msgstr "Virtuel"
#: netbox/dcim/choices.py:814 netbox/dcim/choices.py:1051
-#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1239
+#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1251
#: netbox/dcim/forms/model_forms.py:936 netbox/dcim/forms/model_forms.py:1344
#: netbox/netbox/navigation/menu.py:127 netbox/netbox/navigation/menu.py:131
#: netbox/templates/dcim/interface.html:210
@@ -2345,7 +2340,7 @@ msgid "Virtual interfaces"
msgstr "Interfaces virtuelles"
#: netbox/dcim/choices.py:979 netbox/dcim/forms/bulk_edit.py:1303
-#: netbox/dcim/forms/bulk_import.py:785 netbox/dcim/forms/model_forms.py:922
+#: netbox/dcim/forms/bulk_import.py:779 netbox/dcim/forms/model_forms.py:922
#: netbox/dcim/tables/devices.py:644 netbox/templates/dcim/interface.html:106
#: netbox/templates/virtualization/vminterface.html:43
#: netbox/virtualization/forms/bulk_edit.py:212
@@ -2374,9 +2369,9 @@ msgstr "Ethernet (panneau arrière)"
msgid "Cellular"
msgstr "Cellulaire"
-#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:303
-#: netbox/dcim/forms/filtersets.py:738 netbox/dcim/forms/filtersets.py:882
-#: netbox/dcim/forms/filtersets.py:1434
+#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:304
+#: netbox/dcim/forms/filtersets.py:740 netbox/dcim/forms/filtersets.py:894
+#: netbox/dcim/forms/filtersets.py:1446
#: netbox/templates/dcim/inventoryitem.html:52
#: netbox/templates/dcim/virtualchassis_edit.html:54
msgid "Serial"
@@ -2449,7 +2444,7 @@ msgstr "fibre optique"
msgid "Fiber"
msgstr "Fibre"
-#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1146
+#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1158
msgid "Connected"
msgstr "Connecté"
@@ -2473,7 +2468,7 @@ msgstr "Miles"
msgid "Feet"
msgstr "Pieds"
-#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:320
+#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:327
#: netbox/templates/dcim/rack.html:152
msgid "Kilograms"
msgstr "Kilogrammes"
@@ -2555,25 +2550,25 @@ msgstr "Localisation du parent (slug)"
#: netbox/dcim/filtersets.py:257 netbox/dcim/filtersets.py:333
#: netbox/dcim/filtersets.py:432 netbox/dcim/filtersets.py:1005
-#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:2111
+#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2122
msgid "Location (ID)"
msgstr "Lieu (ID)"
#: netbox/dcim/filtersets.py:264 netbox/dcim/filtersets.py:340
-#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1347
+#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1358
#: netbox/extras/filtersets.py:494
msgid "Location (slug)"
msgstr "Emplacement (slug)"
#: netbox/dcim/filtersets.py:354 netbox/dcim/filtersets.py:840
-#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1779
+#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1790
#: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493
#: netbox/ipam/filtersets.py:989 netbox/virtualization/filtersets.py:210
msgid "Role (ID)"
msgstr "Rôle (ID)"
#: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:846
-#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1785
+#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1796
#: netbox/extras/filtersets.py:510 netbox/ipam/filtersets.py:387
#: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:995
#: netbox/virtualization/filtersets.py:216
@@ -2581,7 +2576,7 @@ msgid "Role (slug)"
msgstr "Rôle (slug)"
#: netbox/dcim/filtersets.py:389 netbox/dcim/filtersets.py:1010
-#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2173
+#: netbox/dcim/filtersets.py:1363 netbox/dcim/filtersets.py:2184
msgid "Rack (ID)"
msgstr "Baie (ID)"
@@ -2599,15 +2594,15 @@ msgstr "Utilisateur (nom)"
#: netbox/dcim/filtersets.py:481 netbox/dcim/filtersets.py:620
#: netbox/dcim/filtersets.py:830 netbox/dcim/filtersets.py:881
-#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1243
-#: netbox/dcim/filtersets.py:1769
+#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1254
+#: netbox/dcim/filtersets.py:1780
msgid "Manufacturer (ID)"
msgstr "Fabricant (ID)"
#: netbox/dcim/filtersets.py:487 netbox/dcim/filtersets.py:626
#: netbox/dcim/filtersets.py:836 netbox/dcim/filtersets.py:887
-#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1249
-#: netbox/dcim/filtersets.py:1775
+#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1260
+#: netbox/dcim/filtersets.py:1786
msgid "Manufacturer (slug)"
msgstr "Fabricant (slug)"
@@ -2619,83 +2614,83 @@ msgstr "Plateforme par défaut (ID)"
msgid "Default platform (slug)"
msgstr "Plateforme par défaut (slug)"
-#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:452
+#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:453
msgid "Has a front image"
msgstr "Possède une image frontale"
-#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:459
+#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:460
msgid "Has a rear image"
msgstr "Possède une image arrière"
#: netbox/dcim/filtersets.py:509 netbox/dcim/filtersets.py:630
-#: netbox/dcim/filtersets.py:1068 netbox/dcim/forms/filtersets.py:466
-#: netbox/dcim/forms/filtersets.py:562 netbox/dcim/forms/filtersets.py:777
+#: netbox/dcim/filtersets.py:1079 netbox/dcim/forms/filtersets.py:467
+#: netbox/dcim/forms/filtersets.py:563 netbox/dcim/forms/filtersets.py:779
msgid "Has console ports"
msgstr "Possède des ports de console"
#: netbox/dcim/filtersets.py:513 netbox/dcim/filtersets.py:634
-#: netbox/dcim/filtersets.py:1072 netbox/dcim/forms/filtersets.py:473
-#: netbox/dcim/forms/filtersets.py:569 netbox/dcim/forms/filtersets.py:784
+#: netbox/dcim/filtersets.py:1083 netbox/dcim/forms/filtersets.py:474
+#: netbox/dcim/forms/filtersets.py:570 netbox/dcim/forms/filtersets.py:786
msgid "Has console server ports"
msgstr "Possède des ports de serveur de console"
#: netbox/dcim/filtersets.py:517 netbox/dcim/filtersets.py:638
-#: netbox/dcim/filtersets.py:1076 netbox/dcim/forms/filtersets.py:480
-#: netbox/dcim/forms/filtersets.py:576 netbox/dcim/forms/filtersets.py:791
+#: netbox/dcim/filtersets.py:1087 netbox/dcim/forms/filtersets.py:481
+#: netbox/dcim/forms/filtersets.py:577 netbox/dcim/forms/filtersets.py:793
msgid "Has power ports"
msgstr "Possède des ports d'alimentation"
#: netbox/dcim/filtersets.py:521 netbox/dcim/filtersets.py:642
-#: netbox/dcim/filtersets.py:1080 netbox/dcim/forms/filtersets.py:487
-#: netbox/dcim/forms/filtersets.py:583 netbox/dcim/forms/filtersets.py:798
+#: netbox/dcim/filtersets.py:1091 netbox/dcim/forms/filtersets.py:488
+#: netbox/dcim/forms/filtersets.py:584 netbox/dcim/forms/filtersets.py:800
msgid "Has power outlets"
msgstr "Dispose de prises de courant"
#: netbox/dcim/filtersets.py:525 netbox/dcim/filtersets.py:646
-#: netbox/dcim/filtersets.py:1084 netbox/dcim/forms/filtersets.py:494
-#: netbox/dcim/forms/filtersets.py:590 netbox/dcim/forms/filtersets.py:805
+#: netbox/dcim/filtersets.py:1095 netbox/dcim/forms/filtersets.py:495
+#: netbox/dcim/forms/filtersets.py:591 netbox/dcim/forms/filtersets.py:807
msgid "Has interfaces"
msgstr "Possède des interfaces"
#: netbox/dcim/filtersets.py:529 netbox/dcim/filtersets.py:650
-#: netbox/dcim/filtersets.py:1088 netbox/dcim/forms/filtersets.py:501
-#: netbox/dcim/forms/filtersets.py:597 netbox/dcim/forms/filtersets.py:812
+#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/filtersets.py:502
+#: netbox/dcim/forms/filtersets.py:598 netbox/dcim/forms/filtersets.py:814
msgid "Has pass-through ports"
msgstr "Possède des ports d'intercommunication"
-#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1092
-#: netbox/dcim/forms/filtersets.py:515
+#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1103
+#: netbox/dcim/forms/filtersets.py:516
msgid "Has module bays"
msgstr "Dispose de baies pour modules"
-#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1096
-#: netbox/dcim/forms/filtersets.py:508
+#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1107
+#: netbox/dcim/forms/filtersets.py:509
msgid "Has device bays"
msgstr "Dispose de baies pour appareils"
-#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:522
+#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:523
msgid "Has inventory items"
msgstr "Possède des articles en inventaire"
#: netbox/dcim/filtersets.py:698 netbox/dcim/filtersets.py:937
-#: netbox/dcim/filtersets.py:1373
+#: netbox/dcim/filtersets.py:1384
msgid "Device type (ID)"
msgstr "Type d'appareil (ID)"
-#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1254
+#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1265
msgid "Module type (ID)"
msgstr "Type de module (ID)"
-#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1524
+#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1535
msgid "Power port (ID)"
msgstr "Port d'alimentation (ID)"
-#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1765
+#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1776
msgid "Parent inventory item (ID)"
msgstr "Article d'inventaire parent (ID)"
#: netbox/dcim/filtersets.py:869 netbox/dcim/filtersets.py:895
-#: netbox/dcim/filtersets.py:1064 netbox/virtualization/filtersets.py:238
+#: netbox/dcim/filtersets.py:1075 netbox/virtualization/filtersets.py:238
msgid "Config template (ID)"
msgstr "Modèle de configuration (ID)"
@@ -2716,9 +2711,9 @@ msgstr "Plateforme (ID)"
msgid "Platform (slug)"
msgstr "Plateforme (slug)"
-#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1336
-#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2105
-#: netbox/dcim/filtersets.py:2164
+#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1347
+#: netbox/dcim/filtersets.py:1874 netbox/dcim/filtersets.py:2116
+#: netbox/dcim/filtersets.py:2175
msgid "Site name (slug)"
msgstr "Nom du site (slug)"
@@ -2730,16 +2725,25 @@ msgstr "Enfant parent (ID)"
msgid "VM cluster (ID)"
msgstr "Cluster de machines virtuelles (ID)"
-#: netbox/dcim/filtersets.py:1025
+#: netbox/dcim/filtersets.py:1025 netbox/extras/filtersets.py:543
+#: netbox/virtualization/filtersets.py:136
+msgid "Cluster group (slug)"
+msgstr "Groupe de clusters (slug)"
+
+#: netbox/dcim/filtersets.py:1030 netbox/virtualization/filtersets.py:130
+msgid "Cluster group (ID)"
+msgstr "Groupe de clusters (ID)"
+
+#: netbox/dcim/filtersets.py:1036
msgid "Device model (slug)"
msgstr "Modèle d'appareil (slug)"
-#: netbox/dcim/filtersets.py:1036 netbox/dcim/forms/bulk_edit.py:423
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/forms/bulk_edit.py:423
msgid "Is full depth"
msgstr "Est en pleine profondeur"
-#: netbox/dcim/filtersets.py:1040 netbox/dcim/forms/common.py:18
-#: netbox/dcim/forms/filtersets.py:747 netbox/dcim/forms/filtersets.py:1291
+#: netbox/dcim/filtersets.py:1051 netbox/dcim/forms/common.py:18
+#: netbox/dcim/forms/filtersets.py:749 netbox/dcim/forms/filtersets.py:1303
#: netbox/dcim/models/device_components.py:519
#: netbox/virtualization/filtersets.py:230
#: netbox/virtualization/filtersets.py:297
@@ -2748,88 +2752,88 @@ msgstr "Est en pleine profondeur"
msgid "MAC address"
msgstr "Adresse MAC"
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:1211
-#: netbox/dcim/forms/filtersets.py:756 netbox/dcim/forms/filtersets.py:849
+#: netbox/dcim/filtersets.py:1058 netbox/dcim/filtersets.py:1222
+#: netbox/dcim/forms/filtersets.py:758 netbox/dcim/forms/filtersets.py:861
#: netbox/virtualization/filtersets.py:234
#: netbox/virtualization/forms/filtersets.py:176
msgid "Has a primary IP"
msgstr "Possède une adresse IP principale"
-#: netbox/dcim/filtersets.py:1051
+#: netbox/dcim/filtersets.py:1062
msgid "Has an out-of-band IP"
msgstr "Possède une adresse IP hors bande"
-#: netbox/dcim/filtersets.py:1056
+#: netbox/dcim/filtersets.py:1067
msgid "Virtual chassis (ID)"
msgstr "Châssis virtuel (ID)"
-#: netbox/dcim/filtersets.py:1060
+#: netbox/dcim/filtersets.py:1071
msgid "Is a virtual chassis member"
msgstr "Est un membre virtuel du châssis"
-#: netbox/dcim/filtersets.py:1101
+#: netbox/dcim/filtersets.py:1112
msgid "OOB IP (ID)"
msgstr "ASTUCE SUR L'EMPLOI (ID)"
-#: netbox/dcim/filtersets.py:1105
+#: netbox/dcim/filtersets.py:1116
msgid "Has virtual device context"
msgstr "Possède un contexte de périphérique virtuel"
-#: netbox/dcim/filtersets.py:1194
+#: netbox/dcim/filtersets.py:1205
msgid "VDC (ID)"
msgstr "VDC (IDENTIFIANT)"
-#: netbox/dcim/filtersets.py:1199
+#: netbox/dcim/filtersets.py:1210
msgid "Device model"
msgstr "Modèle d'appareil"
-#: netbox/dcim/filtersets.py:1204 netbox/ipam/filtersets.py:632
+#: netbox/dcim/filtersets.py:1215 netbox/ipam/filtersets.py:632
#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:420
msgid "Interface (ID)"
msgstr "Interface (ID)"
-#: netbox/dcim/filtersets.py:1260
+#: netbox/dcim/filtersets.py:1271
msgid "Module type (model)"
msgstr "Type de module (modèle)"
-#: netbox/dcim/filtersets.py:1266
+#: netbox/dcim/filtersets.py:1277
msgid "Module Bay (ID)"
msgstr "Module Bay (ID)"
-#: netbox/dcim/filtersets.py:1270 netbox/dcim/filtersets.py:1362
+#: netbox/dcim/filtersets.py:1281 netbox/dcim/filtersets.py:1373
#: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851
#: netbox/ipam/filtersets.py:1075 netbox/virtualization/filtersets.py:161
#: netbox/vpn/filtersets.py:398
msgid "Device (ID)"
msgstr "Appareil (ID)"
-#: netbox/dcim/filtersets.py:1358
+#: netbox/dcim/filtersets.py:1369
msgid "Rack (name)"
msgstr "Baie (nom)"
-#: netbox/dcim/filtersets.py:1368 netbox/ipam/filtersets.py:606
+#: netbox/dcim/filtersets.py:1379 netbox/ipam/filtersets.py:606
#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1081
#: netbox/vpn/filtersets.py:393
msgid "Device (name)"
msgstr "Appareil (nom)"
-#: netbox/dcim/filtersets.py:1379
+#: netbox/dcim/filtersets.py:1390
msgid "Device type (model)"
msgstr "Type d'appareil (modèle)"
-#: netbox/dcim/filtersets.py:1384
+#: netbox/dcim/filtersets.py:1395
msgid "Device role (ID)"
msgstr "Rôle de l'appareil (ID)"
-#: netbox/dcim/filtersets.py:1390
+#: netbox/dcim/filtersets.py:1401
msgid "Device role (slug)"
msgstr "Rôle de l'appareil (slug)"
-#: netbox/dcim/filtersets.py:1395
+#: netbox/dcim/filtersets.py:1406
msgid "Virtual Chassis (ID)"
msgstr "Châssis virtuel (ID)"
-#: netbox/dcim/filtersets.py:1401 netbox/dcim/forms/filtersets.py:107
+#: netbox/dcim/filtersets.py:1412 netbox/dcim/forms/filtersets.py:108
#: netbox/dcim/tables/devices.py:203 netbox/netbox/navigation/menu.py:66
#: netbox/templates/dcim/device.html:120
#: netbox/templates/dcim/device_edit.html:93
@@ -2839,25 +2843,25 @@ msgstr "Châssis virtuel (ID)"
msgid "Virtual Chassis"
msgstr "Châssis virtuel"
-#: netbox/dcim/filtersets.py:1421
+#: netbox/dcim/filtersets.py:1432
msgid "Module (ID)"
msgstr "Module (ID)"
-#: netbox/dcim/filtersets.py:1428
+#: netbox/dcim/filtersets.py:1439
msgid "Cable (ID)"
msgstr "Câble (ID)"
-#: netbox/dcim/filtersets.py:1537 netbox/ipam/forms/bulk_import.py:188
+#: netbox/dcim/filtersets.py:1548 netbox/ipam/forms/bulk_import.py:188
#: netbox/vpn/forms/bulk_import.py:308
msgid "Assigned VLAN"
msgstr "VLAN attribué"
-#: netbox/dcim/filtersets.py:1541
+#: netbox/dcim/filtersets.py:1552
msgid "Assigned VID"
msgstr "VID attribué"
-#: netbox/dcim/filtersets.py:1546 netbox/dcim/forms/bulk_edit.py:1382
-#: netbox/dcim/forms/bulk_import.py:836 netbox/dcim/forms/filtersets.py:1334
+#: netbox/dcim/filtersets.py:1557 netbox/dcim/forms/bulk_edit.py:1382
+#: netbox/dcim/forms/bulk_import.py:830 netbox/dcim/forms/filtersets.py:1346
#: netbox/dcim/forms/model_forms.py:1325
#: netbox/dcim/models/device_components.py:712
#: netbox/dcim/tables/devices.py:610 netbox/ipam/filtersets.py:316
@@ -2889,18 +2893,18 @@ msgstr "VID attribué"
msgid "VRF"
msgstr "VRF"
-#: netbox/dcim/filtersets.py:1552 netbox/ipam/filtersets.py:322
+#: netbox/dcim/filtersets.py:1563 netbox/ipam/filtersets.py:322
#: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489
#: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601
msgid "VRF (RD)"
msgstr "VRF (RD)"
-#: netbox/dcim/filtersets.py:1557 netbox/ipam/filtersets.py:1016
+#: netbox/dcim/filtersets.py:1568 netbox/ipam/filtersets.py:1016
#: netbox/vpn/filtersets.py:361
msgid "L2VPN (ID)"
msgstr "L2VPN (IDENTIFIANT)"
-#: netbox/dcim/filtersets.py:1563 netbox/dcim/forms/filtersets.py:1339
+#: netbox/dcim/filtersets.py:1574 netbox/dcim/forms/filtersets.py:1351
#: netbox/dcim/tables/devices.py:558 netbox/ipam/filtersets.py:1022
#: netbox/ipam/forms/filtersets.py:525 netbox/ipam/tables/vlans.py:133
#: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66
@@ -2912,84 +2916,84 @@ msgstr "L2VPN (IDENTIFIANT)"
msgid "L2VPN"
msgstr "L2VPN"
-#: netbox/dcim/filtersets.py:1595
+#: netbox/dcim/filtersets.py:1606
msgid "Virtual Chassis Interfaces for Device"
msgstr "Interfaces de châssis virtuelles pour appareils"
-#: netbox/dcim/filtersets.py:1600
+#: netbox/dcim/filtersets.py:1611
msgid "Virtual Chassis Interfaces for Device (ID)"
msgstr "Interfaces de châssis virtuel pour le périphérique (ID)"
-#: netbox/dcim/filtersets.py:1604
+#: netbox/dcim/filtersets.py:1615
msgid "Kind of interface"
msgstr "Type d'interface"
-#: netbox/dcim/filtersets.py:1609 netbox/virtualization/filtersets.py:289
+#: netbox/dcim/filtersets.py:1620 netbox/virtualization/filtersets.py:289
msgid "Parent interface (ID)"
msgstr "Interface parent (ID)"
-#: netbox/dcim/filtersets.py:1614 netbox/virtualization/filtersets.py:294
+#: netbox/dcim/filtersets.py:1625 netbox/virtualization/filtersets.py:294
msgid "Bridged interface (ID)"
msgstr "Interface pontée (ID)"
-#: netbox/dcim/filtersets.py:1619
+#: netbox/dcim/filtersets.py:1630
msgid "LAG interface (ID)"
msgstr "Interface LAG (ID)"
-#: netbox/dcim/filtersets.py:1646 netbox/dcim/filtersets.py:1658
-#: netbox/dcim/forms/filtersets.py:1251 netbox/dcim/forms/model_forms.py:1637
+#: netbox/dcim/filtersets.py:1657 netbox/dcim/filtersets.py:1669
+#: netbox/dcim/forms/filtersets.py:1263 netbox/dcim/forms/model_forms.py:1637
#: netbox/templates/dcim/virtualdevicecontext.html:15
msgid "Virtual Device Context"
msgstr "Contexte du périphérique virtuel"
-#: netbox/dcim/filtersets.py:1652
+#: netbox/dcim/filtersets.py:1663
msgid "Virtual Device Context (Identifier)"
msgstr "Contexte du périphérique virtuel (identifiant)"
-#: netbox/dcim/filtersets.py:1663
+#: netbox/dcim/filtersets.py:1674
#: netbox/templates/wireless/wirelesslan.html:11
#: netbox/wireless/forms/model_forms.py:53
msgid "Wireless LAN"
msgstr "LAN sans fil"
-#: netbox/dcim/filtersets.py:1667 netbox/dcim/tables/devices.py:597
+#: netbox/dcim/filtersets.py:1678 netbox/dcim/tables/devices.py:597
msgid "Wireless link"
msgstr "Liaison sans fil"
-#: netbox/dcim/filtersets.py:1737
+#: netbox/dcim/filtersets.py:1748
msgid "Installed module (ID)"
msgstr "Module installé (ID)"
-#: netbox/dcim/filtersets.py:1748
+#: netbox/dcim/filtersets.py:1759
msgid "Installed device (ID)"
msgstr "Appareil installé (ID)"
-#: netbox/dcim/filtersets.py:1754
+#: netbox/dcim/filtersets.py:1765
msgid "Installed device (name)"
msgstr "Appareil installé (nom)"
-#: netbox/dcim/filtersets.py:1820
+#: netbox/dcim/filtersets.py:1831
msgid "Master (ID)"
msgstr "Maître (ID)"
-#: netbox/dcim/filtersets.py:1826
+#: netbox/dcim/filtersets.py:1837
msgid "Master (name)"
msgstr "Master (nom)"
-#: netbox/dcim/filtersets.py:1868 netbox/tenancy/filtersets.py:246
+#: netbox/dcim/filtersets.py:1879 netbox/tenancy/filtersets.py:246
msgid "Tenant (ID)"
msgstr "Locataire (ID)"
-#: netbox/dcim/filtersets.py:1874 netbox/extras/filtersets.py:570
+#: netbox/dcim/filtersets.py:1885 netbox/extras/filtersets.py:570
#: netbox/tenancy/filtersets.py:252
msgid "Tenant (slug)"
msgstr "Locataire (slug)"
-#: netbox/dcim/filtersets.py:1910 netbox/dcim/forms/filtersets.py:996
+#: netbox/dcim/filtersets.py:1921 netbox/dcim/forms/filtersets.py:1008
msgid "Unterminated"
msgstr "Non terminé"
-#: netbox/dcim/filtersets.py:2168
+#: netbox/dcim/filtersets.py:2179
msgid "Power panel (ID)"
msgstr "Panneau d'alimentation (ID)"
@@ -3004,12 +3008,12 @@ msgstr "Panneau d'alimentation (ID)"
msgid "Tags"
msgstr "Balises"
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1396
+#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1408
#: netbox/dcim/forms/model_forms.py:431 netbox/dcim/forms/model_forms.py:489
#: netbox/dcim/forms/object_create.py:197
#: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:162
#: netbox/dcim/tables/devices.py:690 netbox/dcim/tables/devicetypes.py:242
-#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:130
+#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131
#: netbox/templates/dcim/modulebay.html:34
#: netbox/templates/dcim/virtualchassis.html:66
#: netbox/templates/dcim/virtualchassis_edit.html:55
@@ -3083,9 +3087,9 @@ msgid "Time zone"
msgstr "Fuseau horaire"
#: netbox/dcim/forms/bulk_edit.py:267 netbox/dcim/forms/bulk_edit.py:1160
-#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:207
-#: netbox/dcim/forms/bulk_import.py:1021 netbox/dcim/forms/filtersets.py:300
-#: netbox/dcim/forms/filtersets.py:706 netbox/dcim/forms/filtersets.py:1426
+#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:204
+#: netbox/dcim/forms/bulk_import.py:1015 netbox/dcim/forms/filtersets.py:301
+#: netbox/dcim/forms/filtersets.py:708 netbox/dcim/forms/filtersets.py:1438
#: netbox/dcim/forms/model_forms.py:219 netbox/dcim/forms/model_forms.py:1018
#: netbox/dcim/forms/model_forms.py:1457
#: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:166
@@ -3102,7 +3106,7 @@ msgstr "Fuseau horaire"
#: netbox/ipam/forms/model_forms.py:689 netbox/ipam/tables/ip.py:257
#: netbox/ipam/tables/ip.py:313 netbox/ipam/tables/ip.py:363
#: netbox/ipam/tables/vlans.py:126 netbox/ipam/tables/vlans.py:230
-#: netbox/templates/dcim/device.html:180
+#: netbox/templates/dcim/device.html:182
#: netbox/templates/dcim/inc/panels/inventory_items.html:20
#: netbox/templates/dcim/interface.html:223
#: netbox/templates/dcim/inventoryitem.html:36
@@ -3134,14 +3138,14 @@ msgstr "Rôle"
msgid "Serial Number"
msgstr "Numéro de série"
-#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:307
-#: netbox/dcim/forms/filtersets.py:742 netbox/dcim/forms/filtersets.py:886
-#: netbox/dcim/forms/filtersets.py:1438
+#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:308
+#: netbox/dcim/forms/filtersets.py:744 netbox/dcim/forms/filtersets.py:898
+#: netbox/dcim/forms/filtersets.py:1450
msgid "Asset tag"
msgstr "Étiquette d'actif"
-#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:220
-#: netbox/dcim/forms/filtersets.py:292 netbox/templates/dcim/rack.html:86
+#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:217
+#: netbox/dcim/forms/filtersets.py:293 netbox/templates/dcim/rack.html:86
msgid "Width"
msgstr "Largeur"
@@ -3161,7 +3165,7 @@ msgstr "Largeur extérieure"
msgid "Outer depth"
msgstr "Profondeur extérieure"
-#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:225
+#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:222
msgid "Outer unit"
msgstr "Unité extérieure"
@@ -3172,18 +3176,18 @@ msgstr "Profondeur de montage"
#: netbox/dcim/forms/bulk_edit.py:321 netbox/dcim/forms/bulk_edit.py:351
#: netbox/dcim/forms/bulk_edit.py:436 netbox/dcim/forms/bulk_edit.py:459
#: netbox/dcim/forms/bulk_edit.py:475 netbox/dcim/forms/bulk_edit.py:495
-#: netbox/dcim/forms/bulk_import.py:332 netbox/dcim/forms/bulk_import.py:358
-#: netbox/dcim/forms/filtersets.py:251 netbox/dcim/forms/filtersets.py:312
-#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:423
-#: netbox/dcim/forms/filtersets.py:529 netbox/dcim/forms/filtersets.py:548
-#: netbox/dcim/forms/filtersets.py:604 netbox/dcim/forms/model_forms.py:232
+#: netbox/dcim/forms/bulk_import.py:329 netbox/dcim/forms/bulk_import.py:355
+#: netbox/dcim/forms/filtersets.py:252 netbox/dcim/forms/filtersets.py:313
+#: netbox/dcim/forms/filtersets.py:337 netbox/dcim/forms/filtersets.py:424
+#: netbox/dcim/forms/filtersets.py:530 netbox/dcim/forms/filtersets.py:549
+#: netbox/dcim/forms/filtersets.py:605 netbox/dcim/forms/model_forms.py:232
#: netbox/dcim/forms/model_forms.py:346 netbox/dcim/tables/devicetypes.py:103
#: netbox/dcim/tables/modules.py:35 netbox/dcim/tables/racks.py:103
#: netbox/extras/forms/bulk_edit.py:45 netbox/extras/forms/bulk_edit.py:108
#: netbox/extras/forms/bulk_edit.py:158 netbox/extras/forms/bulk_edit.py:278
#: netbox/extras/forms/filtersets.py:61 netbox/extras/forms/filtersets.py:134
#: netbox/extras/forms/filtersets.py:221 netbox/ipam/forms/bulk_edit.py:188
-#: netbox/templates/dcim/device.html:317
+#: netbox/templates/dcim/device.html:324
#: netbox/templates/dcim/devicetype.html:49
#: netbox/templates/dcim/moduletype.html:30
#: netbox/templates/extras/configcontext.html:17
@@ -3193,25 +3197,25 @@ msgstr "Profondeur de montage"
msgid "Weight"
msgstr "Poids"
-#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:317
+#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:318
msgid "Max weight"
msgstr "Poids maximum"
#: netbox/dcim/forms/bulk_edit.py:331 netbox/dcim/forms/bulk_edit.py:441
-#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:231
-#: netbox/dcim/forms/bulk_import.py:337 netbox/dcim/forms/bulk_import.py:363
-#: netbox/dcim/forms/filtersets.py:322 netbox/dcim/forms/filtersets.py:533
-#: netbox/dcim/forms/filtersets.py:608
+#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:228
+#: netbox/dcim/forms/bulk_import.py:334 netbox/dcim/forms/bulk_import.py:360
+#: netbox/dcim/forms/filtersets.py:323 netbox/dcim/forms/filtersets.py:534
+#: netbox/dcim/forms/filtersets.py:609
msgid "Weight unit"
msgstr "Unité de poids"
#: netbox/dcim/forms/bulk_edit.py:345 netbox/dcim/forms/bulk_edit.py:808
-#: netbox/dcim/forms/bulk_import.py:270 netbox/dcim/forms/bulk_import.py:273
-#: netbox/dcim/forms/bulk_import.py:498 netbox/dcim/forms/bulk_import.py:1309
-#: netbox/dcim/forms/bulk_import.py:1313 netbox/dcim/forms/filtersets.py:102
-#: netbox/dcim/forms/filtersets.py:340 netbox/dcim/forms/filtersets.py:354
-#: netbox/dcim/forms/filtersets.py:392 netbox/dcim/forms/filtersets.py:701
-#: netbox/dcim/forms/filtersets.py:954 netbox/dcim/forms/filtersets.py:1086
+#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:270
+#: netbox/dcim/forms/bulk_import.py:492 netbox/dcim/forms/bulk_import.py:1297
+#: netbox/dcim/forms/bulk_import.py:1301 netbox/dcim/forms/filtersets.py:103
+#: netbox/dcim/forms/filtersets.py:341 netbox/dcim/forms/filtersets.py:355
+#: netbox/dcim/forms/filtersets.py:393 netbox/dcim/forms/filtersets.py:703
+#: netbox/dcim/forms/filtersets.py:966 netbox/dcim/forms/filtersets.py:1098
#: netbox/dcim/forms/model_forms.py:226 netbox/dcim/forms/model_forms.py:248
#: netbox/dcim/forms/model_forms.py:422 netbox/dcim/forms/model_forms.py:703
#: netbox/dcim/forms/object_create.py:400 netbox/dcim/tables/devices.py:158
@@ -3228,9 +3232,9 @@ msgid "Rack"
msgstr "Baie"
#: netbox/dcim/forms/bulk_edit.py:349 netbox/dcim/forms/bulk_edit.py:628
-#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333
-#: netbox/dcim/forms/filtersets.py:416 netbox/dcim/forms/filtersets.py:543
-#: netbox/dcim/forms/filtersets.py:651 netbox/dcim/forms/filtersets.py:861
+#: netbox/dcim/forms/filtersets.py:249 netbox/dcim/forms/filtersets.py:334
+#: netbox/dcim/forms/filtersets.py:417 netbox/dcim/forms/filtersets.py:544
+#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:873
#: netbox/dcim/forms/model_forms.py:613 netbox/dcim/forms/model_forms.py:1527
#: netbox/templates/dcim/device_edit.html:20
msgid "Hardware"
@@ -3239,12 +3243,12 @@ msgstr "Matériel"
#: netbox/dcim/forms/bulk_edit.py:402 netbox/dcim/forms/bulk_edit.py:466
#: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/forms/bulk_edit.py:554
#: netbox/dcim/forms/bulk_edit.py:638 netbox/dcim/forms/bulk_edit.py:1165
-#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:319
-#: netbox/dcim/forms/bulk_import.py:353 netbox/dcim/forms/bulk_import.py:395
-#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/bulk_import.py:1027
-#: netbox/dcim/forms/filtersets.py:429 netbox/dcim/forms/filtersets.py:554
-#: netbox/dcim/forms/filtersets.py:630 netbox/dcim/forms/filtersets.py:711
-#: netbox/dcim/forms/filtersets.py:866 netbox/dcim/forms/filtersets.py:1431
+#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:316
+#: netbox/dcim/forms/bulk_import.py:350 netbox/dcim/forms/bulk_import.py:389
+#: netbox/dcim/forms/bulk_import.py:425 netbox/dcim/forms/bulk_import.py:1021
+#: netbox/dcim/forms/filtersets.py:430 netbox/dcim/forms/filtersets.py:555
+#: netbox/dcim/forms/filtersets.py:631 netbox/dcim/forms/filtersets.py:713
+#: netbox/dcim/forms/filtersets.py:878 netbox/dcim/forms/filtersets.py:1443
#: netbox/dcim/forms/model_forms.py:281 netbox/dcim/forms/model_forms.py:293
#: netbox/dcim/forms/model_forms.py:339 netbox/dcim/forms/model_forms.py:379
#: netbox/dcim/forms/model_forms.py:1023 netbox/dcim/forms/model_forms.py:1462
@@ -3261,13 +3265,13 @@ msgstr "Matériel"
msgid "Manufacturer"
msgstr "Fabricant"
-#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:325
-#: netbox/dcim/forms/filtersets.py:434 netbox/dcim/forms/model_forms.py:297
+#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:322
+#: netbox/dcim/forms/filtersets.py:435 netbox/dcim/forms/model_forms.py:297
msgid "Default platform"
msgstr "Plateforme par défaut"
#: netbox/dcim/forms/bulk_edit.py:412 netbox/dcim/forms/bulk_edit.py:471
-#: netbox/dcim/forms/filtersets.py:437 netbox/dcim/forms/filtersets.py:557
+#: netbox/dcim/forms/filtersets.py:438 netbox/dcim/forms/filtersets.py:558
msgid "Part number"
msgstr "Numéro de pièce"
@@ -3280,8 +3284,8 @@ msgid "Exclude from utilization"
msgstr "Exclure de l'utilisation"
#: netbox/dcim/forms/bulk_edit.py:431 netbox/dcim/forms/bulk_edit.py:603
-#: netbox/dcim/forms/bulk_import.py:525 netbox/dcim/forms/filtersets.py:446
-#: netbox/dcim/forms/filtersets.py:733 netbox/templates/dcim/device.html:98
+#: netbox/dcim/forms/bulk_import.py:519 netbox/dcim/forms/filtersets.py:447
+#: netbox/dcim/forms/filtersets.py:735 netbox/templates/dcim/device.html:98
#: netbox/templates/dcim/devicetype.html:65
msgid "Airflow"
msgstr "Débit d'air"
@@ -3306,11 +3310,11 @@ msgid "VM role"
msgstr "rôle de machine virtuelle"
#: netbox/dcim/forms/bulk_edit.py:511 netbox/dcim/forms/bulk_edit.py:535
-#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:376
-#: netbox/dcim/forms/bulk_import.py:380 netbox/dcim/forms/bulk_import.py:402
-#: netbox/dcim/forms/bulk_import.py:406 netbox/dcim/forms/bulk_import.py:531
-#: netbox/dcim/forms/bulk_import.py:535 netbox/dcim/forms/filtersets.py:619
-#: netbox/dcim/forms/filtersets.py:635 netbox/dcim/forms/filtersets.py:752
+#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:373
+#: netbox/dcim/forms/bulk_import.py:377 netbox/dcim/forms/bulk_import.py:396
+#: netbox/dcim/forms/bulk_import.py:400 netbox/dcim/forms/bulk_import.py:525
+#: netbox/dcim/forms/bulk_import.py:529 netbox/dcim/forms/filtersets.py:620
+#: netbox/dcim/forms/filtersets.py:636 netbox/dcim/forms/filtersets.py:754
#: netbox/dcim/forms/model_forms.py:358 netbox/dcim/forms/model_forms.py:384
#: netbox/dcim/forms/model_forms.py:498
#: netbox/virtualization/forms/bulk_import.py:132
@@ -3321,21 +3325,21 @@ msgid "Config template"
msgstr "Modèle de configuration"
#: netbox/dcim/forms/bulk_edit.py:559 netbox/dcim/forms/bulk_edit.py:959
-#: netbox/dcim/forms/bulk_import.py:437 netbox/dcim/forms/filtersets.py:112
+#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/filtersets.py:113
#: netbox/dcim/forms/model_forms.py:444 netbox/dcim/forms/model_forms.py:820
#: netbox/dcim/forms/model_forms.py:837 netbox/extras/filtersets.py:499
msgid "Device type"
msgstr "Type d'appareil"
-#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:418
-#: netbox/dcim/forms/filtersets.py:117 netbox/dcim/forms/model_forms.py:452
+#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:412
+#: netbox/dcim/forms/filtersets.py:118 netbox/dcim/forms/model_forms.py:452
msgid "Device role"
msgstr "Rôle de l'appareil"
-#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:443
-#: netbox/dcim/forms/filtersets.py:725 netbox/dcim/forms/model_forms.py:394
+#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:437
+#: netbox/dcim/forms/filtersets.py:727 netbox/dcim/forms/model_forms.py:394
#: netbox/dcim/forms/model_forms.py:456 netbox/dcim/tables/devices.py:179
-#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:184
+#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:186
#: netbox/templates/dcim/platform.html:26
#: netbox/templates/virtualization/virtualmachine.html:27
#: netbox/virtualization/forms/bulk_edit.py:160
@@ -3348,21 +3352,21 @@ msgstr "Plateforme"
#: netbox/dcim/forms/bulk_edit.py:626 netbox/dcim/forms/bulk_edit.py:1179
#: netbox/dcim/forms/bulk_edit.py:1543 netbox/dcim/forms/bulk_edit.py:1589
-#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/bulk_import.py:648
-#: netbox/dcim/forms/bulk_import.py:674 netbox/dcim/forms/bulk_import.py:700
-#: netbox/dcim/forms/bulk_import.py:720 netbox/dcim/forms/bulk_import.py:773
-#: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/bulk_import.py:939
-#: netbox/dcim/forms/bulk_import.py:956 netbox/dcim/forms/bulk_import.py:968
-#: netbox/dcim/forms/bulk_import.py:1016 netbox/dcim/forms/bulk_import.py:1373
-#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:129
-#: netbox/dcim/forms/filtersets.py:840 netbox/dcim/forms/filtersets.py:970
-#: netbox/dcim/forms/filtersets.py:1160 netbox/dcim/forms/filtersets.py:1182
-#: netbox/dcim/forms/filtersets.py:1204 netbox/dcim/forms/filtersets.py:1221
-#: netbox/dcim/forms/filtersets.py:1241 netbox/dcim/forms/filtersets.py:1349
-#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392
-#: netbox/dcim/forms/filtersets.py:1407 netbox/dcim/forms/filtersets.py:1421
-#: netbox/dcim/forms/filtersets.py:1484 netbox/dcim/forms/filtersets.py:1508
-#: netbox/dcim/forms/filtersets.py:1532 netbox/dcim/forms/model_forms.py:576
+#: netbox/dcim/forms/bulk_import.py:580 netbox/dcim/forms/bulk_import.py:642
+#: netbox/dcim/forms/bulk_import.py:668 netbox/dcim/forms/bulk_import.py:694
+#: netbox/dcim/forms/bulk_import.py:714 netbox/dcim/forms/bulk_import.py:767
+#: netbox/dcim/forms/bulk_import.py:885 netbox/dcim/forms/bulk_import.py:933
+#: netbox/dcim/forms/bulk_import.py:950 netbox/dcim/forms/bulk_import.py:962
+#: netbox/dcim/forms/bulk_import.py:1010 netbox/dcim/forms/bulk_import.py:1361
+#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:130
+#: netbox/dcim/forms/filtersets.py:852 netbox/dcim/forms/filtersets.py:982
+#: netbox/dcim/forms/filtersets.py:1172 netbox/dcim/forms/filtersets.py:1194
+#: netbox/dcim/forms/filtersets.py:1216 netbox/dcim/forms/filtersets.py:1233
+#: netbox/dcim/forms/filtersets.py:1253 netbox/dcim/forms/filtersets.py:1361
+#: netbox/dcim/forms/filtersets.py:1383 netbox/dcim/forms/filtersets.py:1404
+#: netbox/dcim/forms/filtersets.py:1419 netbox/dcim/forms/filtersets.py:1433
+#: netbox/dcim/forms/filtersets.py:1496 netbox/dcim/forms/filtersets.py:1520
+#: netbox/dcim/forms/filtersets.py:1544 netbox/dcim/forms/model_forms.py:576
#: netbox/dcim/forms/model_forms.py:797 netbox/dcim/forms/model_forms.py:1156
#: netbox/dcim/forms/model_forms.py:1611
#: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22
@@ -3380,7 +3384,7 @@ msgstr "Plateforme"
#: netbox/ipam/forms/model_forms.py:784 netbox/ipam/tables/vlans.py:176
#: netbox/templates/dcim/consoleport.html:20
#: netbox/templates/dcim/consoleserverport.html:20
-#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:129
+#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:130
#: netbox/templates/dcim/device_edit.html:10
#: netbox/templates/dcim/devicebay.html:20
#: netbox/templates/dcim/devicebay.html:48
@@ -3420,7 +3424,7 @@ msgstr "Appareil"
msgid "Configuration"
msgstr "Configuration"
-#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:598
+#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:592
#: netbox/dcim/forms/model_forms.py:590 netbox/dcim/forms/model_forms.py:845
msgid "Module type"
msgstr "Type de module"
@@ -3430,7 +3434,7 @@ msgstr "Type de module"
#: netbox/dcim/forms/bulk_edit.py:966 netbox/dcim/forms/bulk_edit.py:1010
#: netbox/dcim/forms/bulk_edit.py:1061 netbox/dcim/forms/bulk_edit.py:1088
#: netbox/dcim/forms/bulk_edit.py:1115 netbox/dcim/forms/bulk_edit.py:1133
-#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:65
+#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:66
#: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32
#: netbox/templates/dcim/consoleport.html:32
#: netbox/templates/dcim/consoleserverport.html:32
@@ -3448,13 +3452,13 @@ msgstr "Type de module"
msgid "Label"
msgstr "Libellé"
-#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:987
+#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:999
#: netbox/templates/dcim/cable.html:50
msgid "Length"
msgstr "Longueur"
-#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1174
-#: netbox/dcim/forms/bulk_import.py:1177 netbox/dcim/forms/filtersets.py:991
+#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1165
+#: netbox/dcim/forms/bulk_import.py:1168 netbox/dcim/forms/filtersets.py:1003
msgid "Length unit"
msgstr "Unité de longueur"
@@ -3463,34 +3467,34 @@ msgstr "Unité de longueur"
msgid "Domain"
msgstr "Domaine"
-#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1296
-#: netbox/dcim/forms/filtersets.py:1077 netbox/dcim/forms/model_forms.py:698
+#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1284
+#: netbox/dcim/forms/filtersets.py:1089 netbox/dcim/forms/model_forms.py:698
msgid "Power panel"
msgstr "panneau d'alimentation"
-#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1332
-#: netbox/dcim/forms/filtersets.py:1099
+#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1320
+#: netbox/dcim/forms/filtersets.py:1111
#: netbox/templates/dcim/powerfeed.html:83
msgid "Supply"
msgstr "Approvisionnement"
-#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1337
-#: netbox/dcim/forms/filtersets.py:1104
+#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1325
+#: netbox/dcim/forms/filtersets.py:1116
#: netbox/templates/dcim/powerfeed.html:95
msgid "Phase"
msgstr "Phase"
-#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1109
+#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1121
#: netbox/templates/dcim/powerfeed.html:87
msgid "Voltage"
msgstr "tension"
-#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1113
+#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1125
#: netbox/templates/dcim/powerfeed.html:91
msgid "Amperage"
msgstr "Ampérage"
-#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1117
+#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1129
msgid "Max utilization"
msgstr "Utilisation maximale"
@@ -3514,13 +3518,13 @@ msgstr "Tirage au sort attribué"
msgid "Allocated power draw (watts)"
msgstr "Consommation électrique allouée (watts)"
-#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:731
+#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:725
#: netbox/dcim/forms/model_forms.py:901 netbox/dcim/forms/model_forms.py:1226
#: netbox/dcim/forms/model_forms.py:1514 netbox/dcim/forms/object_import.py:55
msgid "Power port"
msgstr "port d'alimentation"
-#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:738
+#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:732
msgid "Feed leg"
msgstr "Patte d'alimentation"
@@ -3529,7 +3533,7 @@ msgid "Management only"
msgstr "Gestion uniquement"
#: netbox/dcim/forms/bulk_edit.py:1037 netbox/dcim/forms/bulk_edit.py:1339
-#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1300
+#: netbox/dcim/forms/bulk_import.py:815 netbox/dcim/forms/filtersets.py:1312
#: netbox/dcim/forms/object_import.py:90
#: netbox/dcim/models/device_component_templates.py:411
#: netbox/dcim/models/device_components.py:671
@@ -3537,14 +3541,14 @@ msgid "PoE mode"
msgstr "Mode PoE"
#: netbox/dcim/forms/bulk_edit.py:1043 netbox/dcim/forms/bulk_edit.py:1345
-#: netbox/dcim/forms/bulk_import.py:827 netbox/dcim/forms/filtersets.py:1305
+#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1317
#: netbox/dcim/forms/object_import.py:95
#: netbox/dcim/models/device_component_templates.py:417
#: netbox/dcim/models/device_components.py:677
msgid "PoE type"
msgstr "Type PoE"
-#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1310
+#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1322
#: netbox/dcim/forms/object_import.py:100
msgid "Wireless role"
msgstr "Rôle sans fil"
@@ -3572,9 +3576,9 @@ msgstr "DÉCALAGE"
msgid "Virtual device contexts"
msgstr "Contextes des appareils virtuels"
-#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:659
-#: netbox/dcim/forms/bulk_import.py:685 netbox/dcim/forms/filtersets.py:1169
-#: netbox/dcim/forms/filtersets.py:1191 netbox/dcim/forms/filtersets.py:1264
+#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:653
+#: netbox/dcim/forms/bulk_import.py:679 netbox/dcim/forms/filtersets.py:1181
+#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1276
#: netbox/dcim/tables/devices.py:594
#: netbox/templates/circuits/inc/circuit_termination_fields.html:67
#: netbox/templates/dcim/consoleport.html:40
@@ -3582,7 +3586,7 @@ msgstr "Contextes des appareils virtuels"
msgid "Speed"
msgstr "Vitesse"
-#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:830
+#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:824
#: netbox/templates/vpn/ikepolicy.html:25
#: netbox/templates/vpn/ipsecprofile.html:21
#: netbox/templates/vpn/ipsecprofile.html:48
@@ -3628,7 +3632,7 @@ msgstr "Groupe LAN sans fil"
msgid "Wireless LANs"
msgstr "Réseaux locaux sans fil"
-#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1237
+#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1249
#: netbox/dcim/forms/model_forms.py:1337 netbox/ipam/forms/bulk_edit.py:271
#: netbox/ipam/forms/bulk_edit.py:362 netbox/ipam/forms/filtersets.py:169
#: netbox/templates/dcim/interface.html:122
@@ -3637,13 +3641,13 @@ msgstr "Réseaux locaux sans fil"
msgid "Addressing"
msgstr "Adressage"
-#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:650
+#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:651
#: netbox/dcim/forms/model_forms.py:1338
#: netbox/virtualization/forms/model_forms.py:350
msgid "Operation"
msgstr "Fonctionnement"
-#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1238
+#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1250
#: netbox/dcim/forms/model_forms.py:935 netbox/dcim/forms/model_forms.py:1340
msgid "PoE"
msgstr "PoE"
@@ -3692,8 +3696,8 @@ msgstr "Groupe associé"
msgid "available options"
msgstr "options disponibles"
-#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:488
-#: netbox/dcim/forms/bulk_import.py:1293 netbox/ipam/forms/bulk_import.py:174
+#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:482
+#: netbox/dcim/forms/bulk_import.py:1281 netbox/ipam/forms/bulk_import.py:174
#: netbox/ipam/forms/bulk_import.py:441
#: netbox/virtualization/forms/bulk_import.py:63
#: netbox/virtualization/forms/bulk_import.py:89
@@ -3708,105 +3712,106 @@ msgstr "Emplacement du parent"
msgid "Location not found."
msgstr "Emplacement introuvable."
-#: netbox/dcim/forms/bulk_import.py:199
+#: netbox/dcim/forms/bulk_import.py:196
msgid "Name of assigned tenant"
msgstr "Nom du locataire associé"
-#: netbox/dcim/forms/bulk_import.py:211
+#: netbox/dcim/forms/bulk_import.py:208
msgid "Name of assigned role"
msgstr "Nom du rôle attribué"
-#: netbox/dcim/forms/bulk_import.py:217
+#: netbox/dcim/forms/bulk_import.py:214
msgid "Rack type"
msgstr "Type de baie"
-#: netbox/dcim/forms/bulk_import.py:222
+#: netbox/dcim/forms/bulk_import.py:219
msgid "Rail-to-rail width (in inches)"
msgstr "Largeur rail à rail (en pouces)"
-#: netbox/dcim/forms/bulk_import.py:228
+#: netbox/dcim/forms/bulk_import.py:225
msgid "Unit for outer dimensions"
msgstr "Unité pour les dimensions extérieures"
-#: netbox/dcim/forms/bulk_import.py:234
+#: netbox/dcim/forms/bulk_import.py:231
msgid "Unit for rack weights"
msgstr "Unité poids de la baie"
-#: netbox/dcim/forms/bulk_import.py:260
+#: netbox/dcim/forms/bulk_import.py:257
msgid "Parent site"
msgstr "Site parent"
-#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:1306
+#: netbox/dcim/forms/bulk_import.py:264 netbox/dcim/forms/bulk_import.py:1294
msgid "Rack's location (if any)"
msgstr "Emplacement de la baie (le cas échéant)"
-#: netbox/dcim/forms/bulk_import.py:276 netbox/dcim/forms/model_forms.py:253
+#: netbox/dcim/forms/bulk_import.py:273 netbox/dcim/forms/model_forms.py:253
#: netbox/dcim/tables/racks.py:153
#: netbox/templates/dcim/rackreservation.html:12
#: netbox/templates/dcim/rackreservation.html:45
msgid "Units"
msgstr "Unités"
-#: netbox/dcim/forms/bulk_import.py:279
+#: netbox/dcim/forms/bulk_import.py:276
msgid "Comma-separated list of individual unit numbers"
msgstr "Liste de numéros d'unités individuels séparés par des virgules"
-#: netbox/dcim/forms/bulk_import.py:322
+#: netbox/dcim/forms/bulk_import.py:319
msgid "The manufacturer which produces this device type"
msgstr "Le fabricant qui produit ce type d'appareil"
-#: netbox/dcim/forms/bulk_import.py:329
+#: netbox/dcim/forms/bulk_import.py:326
msgid "The default platform for devices of this type (optional)"
msgstr "Plateforme par défaut pour les appareils de ce type (facultatif)"
-#: netbox/dcim/forms/bulk_import.py:334
+#: netbox/dcim/forms/bulk_import.py:331
msgid "Device weight"
msgstr "Poids de l'appareil"
-#: netbox/dcim/forms/bulk_import.py:340
+#: netbox/dcim/forms/bulk_import.py:337
msgid "Unit for device weight"
msgstr "Unité de poids de l'appareil"
-#: netbox/dcim/forms/bulk_import.py:360
+#: netbox/dcim/forms/bulk_import.py:357
msgid "Module weight"
msgstr "Poids du module"
-#: netbox/dcim/forms/bulk_import.py:366
+#: netbox/dcim/forms/bulk_import.py:363
msgid "Unit for module weight"
msgstr "Unité pour le poids du module"
-#: netbox/dcim/forms/bulk_import.py:399
+#: netbox/dcim/forms/bulk_import.py:393
msgid "Limit platform assignments to this manufacturer"
msgstr "Limiter les affectations de plateforme à ce fabricant"
-#: netbox/dcim/forms/bulk_import.py:421 netbox/dcim/forms/bulk_import.py:1376
+#: netbox/dcim/forms/bulk_import.py:415 netbox/dcim/forms/bulk_import.py:1364
#: netbox/tenancy/forms/bulk_import.py:106
msgid "Assigned role"
msgstr "Rôle attribué"
-#: netbox/dcim/forms/bulk_import.py:434
+#: netbox/dcim/forms/bulk_import.py:428
msgid "Device type manufacturer"
msgstr "Fabricant du type d'appareil"
-#: netbox/dcim/forms/bulk_import.py:440
+#: netbox/dcim/forms/bulk_import.py:434
msgid "Device type model"
msgstr "Type d'appareil et modèle"
-#: netbox/dcim/forms/bulk_import.py:447
+#: netbox/dcim/forms/bulk_import.py:441
#: netbox/virtualization/forms/bulk_import.py:126
msgid "Assigned platform"
msgstr "Plateforme attribuée"
-#: netbox/dcim/forms/bulk_import.py:455 netbox/dcim/forms/bulk_import.py:459
+#: netbox/dcim/forms/bulk_import.py:449 netbox/dcim/forms/bulk_import.py:453
#: netbox/dcim/forms/model_forms.py:479
msgid "Virtual chassis"
msgstr "Châssis virtuel"
-#: netbox/dcim/forms/bulk_import.py:462 netbox/dcim/forms/model_forms.py:465
+#: netbox/dcim/forms/bulk_import.py:456 netbox/dcim/forms/filtersets.py:659
+#: netbox/dcim/forms/filtersets.py:829 netbox/dcim/forms/model_forms.py:465
#: netbox/dcim/tables/devices.py:199 netbox/extras/filtersets.py:548
#: netbox/extras/forms/filtersets.py:331 netbox/ipam/forms/bulk_edit.py:479
#: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:459
-#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:232
+#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:239
#: netbox/templates/virtualization/cluster.html:10
#: netbox/templates/virtualization/virtualmachine.html:88
#: netbox/templates/virtualization/virtualmachine.html:97
@@ -3823,65 +3828,65 @@ msgstr "Châssis virtuel"
msgid "Cluster"
msgstr "Cluster"
-#: netbox/dcim/forms/bulk_import.py:466
+#: netbox/dcim/forms/bulk_import.py:460
msgid "Virtualization cluster"
msgstr "Cluster de virtualisation"
-#: netbox/dcim/forms/bulk_import.py:495
+#: netbox/dcim/forms/bulk_import.py:489
msgid "Assigned location (if any)"
msgstr "Emplacement attribué (le cas échéant)"
-#: netbox/dcim/forms/bulk_import.py:502
+#: netbox/dcim/forms/bulk_import.py:496
msgid "Assigned rack (if any)"
msgstr "Baie attribuée (le cas échéant)"
-#: netbox/dcim/forms/bulk_import.py:505
+#: netbox/dcim/forms/bulk_import.py:499
msgid "Face"
msgstr "Visage"
-#: netbox/dcim/forms/bulk_import.py:508
+#: netbox/dcim/forms/bulk_import.py:502
msgid "Mounted rack face"
msgstr "Face montée en baie"
-#: netbox/dcim/forms/bulk_import.py:515
+#: netbox/dcim/forms/bulk_import.py:509
msgid "Parent device (for child devices)"
msgstr "Appareil parent (pour les appareils pour enfants)"
-#: netbox/dcim/forms/bulk_import.py:518
+#: netbox/dcim/forms/bulk_import.py:512
msgid "Device bay"
msgstr "Baie pour appareils"
-#: netbox/dcim/forms/bulk_import.py:522
+#: netbox/dcim/forms/bulk_import.py:516
msgid "Device bay in which this device is installed (for child devices)"
msgstr ""
"Baie d'appareils dans laquelle cet appareil est installé (pour les appareils"
" pour enfants)"
-#: netbox/dcim/forms/bulk_import.py:528
+#: netbox/dcim/forms/bulk_import.py:522
msgid "Airflow direction"
msgstr "Direction du flux d'air"
-#: netbox/dcim/forms/bulk_import.py:589
+#: netbox/dcim/forms/bulk_import.py:583
msgid "The device in which this module is installed"
msgstr "L'appareil sur lequel ce module est installé"
-#: netbox/dcim/forms/bulk_import.py:592 netbox/dcim/forms/model_forms.py:583
+#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/model_forms.py:583
msgid "Module bay"
msgstr "Baie modulaire"
-#: netbox/dcim/forms/bulk_import.py:595
+#: netbox/dcim/forms/bulk_import.py:589
msgid "The module bay in which this module is installed"
msgstr "La baie du module dans laquelle ce module est installé"
-#: netbox/dcim/forms/bulk_import.py:601
+#: netbox/dcim/forms/bulk_import.py:595
msgid "The type of module"
msgstr "Le type de module"
-#: netbox/dcim/forms/bulk_import.py:609 netbox/dcim/forms/model_forms.py:599
+#: netbox/dcim/forms/bulk_import.py:603 netbox/dcim/forms/model_forms.py:599
msgid "Replicate components"
msgstr "Répliquer les composants"
-#: netbox/dcim/forms/bulk_import.py:611
+#: netbox/dcim/forms/bulk_import.py:605
msgid ""
"Automatically populate components associated with this module type (enabled "
"by default)"
@@ -3889,86 +3894,86 @@ msgstr ""
"Remplir automatiquement les composants associés à ce type de module (activé "
"par défaut)"
-#: netbox/dcim/forms/bulk_import.py:614 netbox/dcim/forms/model_forms.py:605
+#: netbox/dcim/forms/bulk_import.py:608 netbox/dcim/forms/model_forms.py:605
msgid "Adopt components"
msgstr "Adoptez des composants"
-#: netbox/dcim/forms/bulk_import.py:616 netbox/dcim/forms/model_forms.py:608
+#: netbox/dcim/forms/bulk_import.py:610 netbox/dcim/forms/model_forms.py:608
msgid "Adopt already existing components"
msgstr "Adoptez des composants déjà existants"
-#: netbox/dcim/forms/bulk_import.py:656 netbox/dcim/forms/bulk_import.py:682
-#: netbox/dcim/forms/bulk_import.py:708
+#: netbox/dcim/forms/bulk_import.py:650 netbox/dcim/forms/bulk_import.py:676
+#: netbox/dcim/forms/bulk_import.py:702
msgid "Port type"
msgstr "Type de port"
-#: netbox/dcim/forms/bulk_import.py:664 netbox/dcim/forms/bulk_import.py:690
+#: netbox/dcim/forms/bulk_import.py:658 netbox/dcim/forms/bulk_import.py:684
msgid "Port speed in bps"
msgstr "Vitesse du port en bits/s"
-#: netbox/dcim/forms/bulk_import.py:728
+#: netbox/dcim/forms/bulk_import.py:722
msgid "Outlet type"
msgstr "Type de prise"
-#: netbox/dcim/forms/bulk_import.py:735
+#: netbox/dcim/forms/bulk_import.py:729
msgid "Local power port which feeds this outlet"
msgstr "Port d'alimentation local qui alimente cette prise"
-#: netbox/dcim/forms/bulk_import.py:741
+#: netbox/dcim/forms/bulk_import.py:735
msgid "Electrical phase (for three-phase circuits)"
msgstr "Phase électrique (pour circuits triphasés)"
-#: netbox/dcim/forms/bulk_import.py:782 netbox/dcim/forms/model_forms.py:1264
+#: netbox/dcim/forms/bulk_import.py:776 netbox/dcim/forms/model_forms.py:1264
#: netbox/virtualization/forms/bulk_import.py:155
#: netbox/virtualization/forms/model_forms.py:305
msgid "Parent interface"
msgstr "Interface pour les parents"
-#: netbox/dcim/forms/bulk_import.py:789 netbox/dcim/forms/model_forms.py:1272
+#: netbox/dcim/forms/bulk_import.py:783 netbox/dcim/forms/model_forms.py:1272
#: netbox/virtualization/forms/bulk_import.py:162
#: netbox/virtualization/forms/model_forms.py:313
msgid "Bridged interface"
msgstr "Interface pontée"
-#: netbox/dcim/forms/bulk_import.py:792
+#: netbox/dcim/forms/bulk_import.py:786
msgid "Lag"
msgstr "Retard"
-#: netbox/dcim/forms/bulk_import.py:796
+#: netbox/dcim/forms/bulk_import.py:790
msgid "Parent LAG interface"
msgstr "Interface LAG parent"
-#: netbox/dcim/forms/bulk_import.py:799
+#: netbox/dcim/forms/bulk_import.py:793
msgid "Vdcs"
msgstr "VDC"
-#: netbox/dcim/forms/bulk_import.py:804
+#: netbox/dcim/forms/bulk_import.py:798
msgid "VDC names separated by commas, encased with double quotes. Example:"
msgstr ""
"Noms de VDC séparés par des virgules, entre guillemets doubles. Exemple :"
-#: netbox/dcim/forms/bulk_import.py:810
+#: netbox/dcim/forms/bulk_import.py:804
msgid "Physical medium"
msgstr "Support physique"
-#: netbox/dcim/forms/bulk_import.py:813 netbox/dcim/forms/filtersets.py:1271
+#: netbox/dcim/forms/bulk_import.py:807 netbox/dcim/forms/filtersets.py:1283
msgid "Duplex"
msgstr "Duplex"
-#: netbox/dcim/forms/bulk_import.py:818
+#: netbox/dcim/forms/bulk_import.py:812
msgid "Poe mode"
msgstr "Mode PoE"
-#: netbox/dcim/forms/bulk_import.py:824
+#: netbox/dcim/forms/bulk_import.py:818
msgid "Poe type"
msgstr "Type de poteau"
-#: netbox/dcim/forms/bulk_import.py:833
+#: netbox/dcim/forms/bulk_import.py:827
#: netbox/virtualization/forms/bulk_import.py:168
msgid "IEEE 802.1Q operational mode (for L2 interfaces)"
msgstr "Mode de fonctionnement IEEE 802.1Q (pour interfaces L2)"
-#: netbox/dcim/forms/bulk_import.py:840 netbox/ipam/forms/bulk_import.py:160
+#: netbox/dcim/forms/bulk_import.py:834 netbox/ipam/forms/bulk_import.py:160
#: netbox/ipam/forms/bulk_import.py:246 netbox/ipam/forms/bulk_import.py:282
#: netbox/ipam/forms/filtersets.py:201 netbox/ipam/forms/filtersets.py:277
#: netbox/ipam/forms/filtersets.py:336
@@ -3976,150 +3981,150 @@ msgstr "Mode de fonctionnement IEEE 802.1Q (pour interfaces L2)"
msgid "Assigned VRF"
msgstr "VRF attribué"
-#: netbox/dcim/forms/bulk_import.py:843
+#: netbox/dcim/forms/bulk_import.py:837
msgid "Rf role"
msgstr "Rôle RF"
-#: netbox/dcim/forms/bulk_import.py:846
+#: netbox/dcim/forms/bulk_import.py:840
msgid "Wireless role (AP/station)"
msgstr "Rôle sans fil (AP/station)"
-#: netbox/dcim/forms/bulk_import.py:882
+#: netbox/dcim/forms/bulk_import.py:876
#, python-brace-format
msgid "VDC {vdc} is not assigned to device {device}"
msgstr "VDC {vdc} n'est pas attribué à l'appareil {device}"
-#: netbox/dcim/forms/bulk_import.py:896 netbox/dcim/forms/model_forms.py:948
+#: netbox/dcim/forms/bulk_import.py:890 netbox/dcim/forms/model_forms.py:948
#: netbox/dcim/forms/model_forms.py:1522
#: netbox/dcim/forms/object_import.py:117
msgid "Rear port"
msgstr "Port arrière"
-#: netbox/dcim/forms/bulk_import.py:899
+#: netbox/dcim/forms/bulk_import.py:893
msgid "Corresponding rear port"
msgstr "Port arrière correspondant"
-#: netbox/dcim/forms/bulk_import.py:904 netbox/dcim/forms/bulk_import.py:945
-#: netbox/dcim/forms/bulk_import.py:1164
+#: netbox/dcim/forms/bulk_import.py:898 netbox/dcim/forms/bulk_import.py:939
+#: netbox/dcim/forms/bulk_import.py:1155
msgid "Physical medium classification"
msgstr "Classification des supports physiques"
-#: netbox/dcim/forms/bulk_import.py:973 netbox/dcim/tables/devices.py:805
+#: netbox/dcim/forms/bulk_import.py:967 netbox/dcim/tables/devices.py:805
msgid "Installed device"
msgstr "Appareil installé"
-#: netbox/dcim/forms/bulk_import.py:977
+#: netbox/dcim/forms/bulk_import.py:971
msgid "Child device installed within this bay"
msgstr "Appareil pour enfant installé dans cette baie"
-#: netbox/dcim/forms/bulk_import.py:979
+#: netbox/dcim/forms/bulk_import.py:973
msgid "Child device not found."
msgstr "Appareil pour enfant introuvable."
-#: netbox/dcim/forms/bulk_import.py:1037
+#: netbox/dcim/forms/bulk_import.py:1031
msgid "Parent inventory item"
msgstr "Article d'inventaire parent"
-#: netbox/dcim/forms/bulk_import.py:1040
+#: netbox/dcim/forms/bulk_import.py:1034
msgid "Component type"
msgstr "Type de composant"
-#: netbox/dcim/forms/bulk_import.py:1044
+#: netbox/dcim/forms/bulk_import.py:1038
msgid "Component Type"
msgstr "Type de composant"
-#: netbox/dcim/forms/bulk_import.py:1047
+#: netbox/dcim/forms/bulk_import.py:1041
msgid "Compnent name"
msgstr "Nom du composant"
-#: netbox/dcim/forms/bulk_import.py:1049
+#: netbox/dcim/forms/bulk_import.py:1043
msgid "Component Name"
msgstr "Nom du composant"
-#: netbox/dcim/forms/bulk_import.py:1091
+#: netbox/dcim/forms/bulk_import.py:1085
#, python-brace-format
msgid "Component not found: {device} - {component_name}"
msgstr "Composant introuvable : {device} - {component_name}"
-#: netbox/dcim/forms/bulk_import.py:1119
+#: netbox/dcim/forms/bulk_import.py:1110
msgid "Side A device"
msgstr "Appareil côté A"
-#: netbox/dcim/forms/bulk_import.py:1122 netbox/dcim/forms/bulk_import.py:1140
+#: netbox/dcim/forms/bulk_import.py:1113 netbox/dcim/forms/bulk_import.py:1131
msgid "Device name"
msgstr "Nom de l'appareil"
-#: netbox/dcim/forms/bulk_import.py:1125
+#: netbox/dcim/forms/bulk_import.py:1116
msgid "Side A type"
msgstr "Côté A type"
-#: netbox/dcim/forms/bulk_import.py:1128 netbox/dcim/forms/bulk_import.py:1146
+#: netbox/dcim/forms/bulk_import.py:1119 netbox/dcim/forms/bulk_import.py:1137
msgid "Termination type"
msgstr "Type de terminaison"
-#: netbox/dcim/forms/bulk_import.py:1131
+#: netbox/dcim/forms/bulk_import.py:1122
msgid "Side A name"
msgstr "Nom de la face A"
-#: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1150
+#: netbox/dcim/forms/bulk_import.py:1123 netbox/dcim/forms/bulk_import.py:1141
msgid "Termination name"
msgstr "Nom de terminaison"
-#: netbox/dcim/forms/bulk_import.py:1137
+#: netbox/dcim/forms/bulk_import.py:1128
msgid "Side B device"
msgstr "Appareil Side B"
-#: netbox/dcim/forms/bulk_import.py:1143
+#: netbox/dcim/forms/bulk_import.py:1134
msgid "Side B type"
msgstr "Type de face B"
-#: netbox/dcim/forms/bulk_import.py:1149
+#: netbox/dcim/forms/bulk_import.py:1140
msgid "Side B name"
msgstr "Nom de la face B"
-#: netbox/dcim/forms/bulk_import.py:1158
+#: netbox/dcim/forms/bulk_import.py:1149
#: netbox/wireless/forms/bulk_import.py:86
msgid "Connection status"
msgstr "État de la connexion"
-#: netbox/dcim/forms/bulk_import.py:1213
+#: netbox/dcim/forms/bulk_import.py:1201
#, python-brace-format
msgid "Side {side_upper}: {device} {termination_object} is already connected"
msgstr "Côté {side_upper}: {device} {termination_object} est déjà connecté"
-#: netbox/dcim/forms/bulk_import.py:1219
+#: netbox/dcim/forms/bulk_import.py:1207
#, python-brace-format
msgid "{side_upper} side termination not found: {device} {name}"
msgstr "{side_upper} terminaison latérale introuvable : {device} {name}"
-#: netbox/dcim/forms/bulk_import.py:1244 netbox/dcim/forms/model_forms.py:733
-#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:131
+#: netbox/dcim/forms/bulk_import.py:1232 netbox/dcim/forms/model_forms.py:733
+#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:132
#: netbox/templates/dcim/virtualchassis.html:27
#: netbox/templates/dcim/virtualchassis.html:67
msgid "Master"
msgstr "Maître"
-#: netbox/dcim/forms/bulk_import.py:1248
+#: netbox/dcim/forms/bulk_import.py:1236
msgid "Master device"
msgstr "Appareil principal"
-#: netbox/dcim/forms/bulk_import.py:1265
+#: netbox/dcim/forms/bulk_import.py:1253
msgid "Name of parent site"
msgstr "Nom du site parent"
-#: netbox/dcim/forms/bulk_import.py:1299
+#: netbox/dcim/forms/bulk_import.py:1287
msgid "Upstream power panel"
msgstr "Panneau d'alimentation en amont"
-#: netbox/dcim/forms/bulk_import.py:1329
+#: netbox/dcim/forms/bulk_import.py:1317
msgid "Primary or redundant"
msgstr "Principal ou redondant"
-#: netbox/dcim/forms/bulk_import.py:1334
+#: netbox/dcim/forms/bulk_import.py:1322
msgid "Supply type (AC/DC)"
msgstr "Type d'alimentation (AC/DC)"
-#: netbox/dcim/forms/bulk_import.py:1339
+#: netbox/dcim/forms/bulk_import.py:1327
msgid "Single or three-phase"
msgstr "Monophasé ou triphasé"
@@ -4177,11 +4182,11 @@ msgstr "Alimentation"
msgid "Side"
msgstr "Côté"
-#: netbox/dcim/forms/filtersets.py:142
+#: netbox/dcim/forms/filtersets.py:143
msgid "Parent region"
msgstr "Région parente"
-#: netbox/dcim/forms/filtersets.py:156 netbox/tenancy/forms/bulk_import.py:28
+#: netbox/dcim/forms/filtersets.py:157 netbox/tenancy/forms/bulk_import.py:28
#: netbox/tenancy/forms/bulk_import.py:62
#: netbox/tenancy/forms/filtersets.py:33 netbox/tenancy/forms/filtersets.py:62
#: netbox/wireless/forms/bulk_import.py:25
@@ -4189,51 +4194,58 @@ msgstr "Région parente"
msgid "Parent group"
msgstr "Groupe de parents"
-#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:332
+#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333
msgid "Function"
msgstr "Fonction"
-#: netbox/dcim/forms/filtersets.py:418 netbox/dcim/forms/model_forms.py:317
+#: netbox/dcim/forms/filtersets.py:419 netbox/dcim/forms/model_forms.py:317
#: netbox/templates/inc/panels/image_attachments.html:6
msgid "Images"
msgstr "Des images"
-#: netbox/dcim/forms/filtersets.py:421 netbox/dcim/forms/filtersets.py:546
-#: netbox/dcim/forms/filtersets.py:656
+#: netbox/dcim/forms/filtersets.py:422 netbox/dcim/forms/filtersets.py:547
+#: netbox/dcim/forms/filtersets.py:657
msgid "Components"
msgstr "Composantes"
-#: netbox/dcim/forms/filtersets.py:441
+#: netbox/dcim/forms/filtersets.py:442
msgid "Subdevice role"
msgstr "Rôle du sous-appareil"
-#: netbox/dcim/forms/filtersets.py:719
+#: netbox/dcim/forms/filtersets.py:721
msgid "Model"
msgstr "Modèle"
-#: netbox/dcim/forms/filtersets.py:763
+#: netbox/dcim/forms/filtersets.py:765
msgid "Has an OOB IP"
msgstr "Possède une adresse IP OOB"
-#: netbox/dcim/forms/filtersets.py:770
+#: netbox/dcim/forms/filtersets.py:772
msgid "Virtual chassis member"
msgstr "Membre virtuel du châssis"
-#: netbox/dcim/forms/filtersets.py:819
+#: netbox/dcim/forms/filtersets.py:821
msgid "Has virtual device contexts"
msgstr "Possède des contextes de périphériques virtuels"
-#: netbox/dcim/forms/filtersets.py:1129
+#: netbox/dcim/forms/filtersets.py:834 netbox/extras/filtersets.py:537
+#: netbox/ipam/forms/bulk_edit.py:476 netbox/ipam/forms/filtersets.py:464
+#: netbox/ipam/forms/model_forms.py:624
+#: netbox/virtualization/forms/filtersets.py:112
+msgid "Cluster group"
+msgstr "Groupe de clusters"
+
+#: netbox/dcim/forms/filtersets.py:1141
msgid "Cabled"
msgstr "câblé"
-#: netbox/dcim/forms/filtersets.py:1136
+#: netbox/dcim/forms/filtersets.py:1148
msgid "Occupied"
msgstr "Occupé"
-#: netbox/dcim/forms/filtersets.py:1161 netbox/dcim/forms/filtersets.py:1183
-#: netbox/dcim/forms/filtersets.py:1205 netbox/dcim/forms/filtersets.py:1222
-#: netbox/dcim/forms/filtersets.py:1242 netbox/dcim/tables/devices.py:352
+#: netbox/dcim/forms/filtersets.py:1173 netbox/dcim/forms/filtersets.py:1195
+#: netbox/dcim/forms/filtersets.py:1217 netbox/dcim/forms/filtersets.py:1234
+#: netbox/dcim/forms/filtersets.py:1254 netbox/dcim/tables/devices.py:352
#: netbox/templates/dcim/consoleport.html:55
#: netbox/templates/dcim/consoleserverport.html:55
#: netbox/templates/dcim/frontport.html:69
@@ -4245,42 +4257,42 @@ msgstr "Occupé"
msgid "Connection"
msgstr "Connexion"
-#: netbox/dcim/forms/filtersets.py:1254 netbox/extras/forms/bulk_edit.py:316
-#: netbox/extras/forms/bulk_import.py:242
+#: netbox/dcim/forms/filtersets.py:1266 netbox/extras/forms/bulk_edit.py:316
+#: netbox/extras/forms/bulk_import.py:239
#: netbox/extras/forms/filtersets.py:473
#: netbox/extras/forms/model_forms.py:551 netbox/extras/tables/tables.py:513
#: netbox/templates/extras/journalentry.html:30
msgid "Kind"
msgstr "Type"
-#: netbox/dcim/forms/filtersets.py:1283
+#: netbox/dcim/forms/filtersets.py:1295
msgid "Mgmt only"
msgstr "Gestion uniquement"
-#: netbox/dcim/forms/filtersets.py:1295 netbox/dcim/forms/model_forms.py:1330
+#: netbox/dcim/forms/filtersets.py:1307 netbox/dcim/forms/model_forms.py:1330
#: netbox/dcim/models/device_components.py:630
#: netbox/templates/dcim/interface.html:129
msgid "WWN"
msgstr "WWN"
-#: netbox/dcim/forms/filtersets.py:1315
+#: netbox/dcim/forms/filtersets.py:1327
msgid "Wireless channel"
msgstr "Canal sans fil"
-#: netbox/dcim/forms/filtersets.py:1319
+#: netbox/dcim/forms/filtersets.py:1331
msgid "Channel frequency (MHz)"
msgstr "Fréquence du canal (MHz)"
-#: netbox/dcim/forms/filtersets.py:1323
+#: netbox/dcim/forms/filtersets.py:1335
msgid "Channel width (MHz)"
msgstr "Largeur du canal (MHz)"
-#: netbox/dcim/forms/filtersets.py:1327
+#: netbox/dcim/forms/filtersets.py:1339
#: netbox/templates/dcim/interface.html:85
msgid "Transmit power (dBm)"
msgstr "Puissance de transmission (dBm)"
-#: netbox/dcim/forms/filtersets.py:1350 netbox/dcim/forms/filtersets.py:1372
+#: netbox/dcim/forms/filtersets.py:1362 netbox/dcim/forms/filtersets.py:1384
#: netbox/dcim/tables/devices.py:316 netbox/templates/dcim/cable.html:12
#: netbox/templates/dcim/cable_trace.html:46
#: netbox/templates/dcim/frontport.html:77
@@ -4291,7 +4303,7 @@ msgstr "Puissance de transmission (dBm)"
msgid "Cable"
msgstr "câble"
-#: netbox/dcim/forms/filtersets.py:1442 netbox/dcim/tables/devices.py:915
+#: netbox/dcim/forms/filtersets.py:1454 netbox/dcim/tables/devices.py:915
msgid "Discovered"
msgstr "Découvert"
@@ -4316,7 +4328,7 @@ msgstr "Contrôle des stocks"
msgid "Outer Dimensions"
msgstr "Dimensions extérieures"
-#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:308
+#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:315
#: netbox/templates/dcim/rack.html:73
msgid "Dimensions"
msgstr "Dimensions"
@@ -4357,7 +4369,7 @@ msgid "The position in the virtual chassis this device is identified by"
msgstr ""
"La position dans le châssis virtuel par laquelle cet appareil est identifié"
-#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:132
+#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:133
#: netbox/templates/dcim/virtualchassis.html:68
#: netbox/templates/dcim/virtualchassis_edit.html:56
#: netbox/templates/ipam/inc/panels/fhrp_groups.html:26
@@ -4537,13 +4549,13 @@ msgstr "Article d'inventaire"
msgid "Inventory Item Role"
msgstr "Rôle de l'article d'inventaire"
-#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:188
+#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:190
#: netbox/templates/dcim/virtualdevicecontext.html:30
#: netbox/templates/virtualization/virtualmachine.html:48
msgid "Primary IPv4"
msgstr "IPv4 principal"
-#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:204
+#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:206
#: netbox/templates/dcim/virtualdevicecontext.html:41
#: netbox/templates/virtualization/virtualmachine.html:64
msgid "Primary IPv6"
@@ -4632,7 +4644,7 @@ msgstr "Une position doit être spécifiée pour le premier membre du VC."
#: netbox/dcim/models/cables.py:62
#: netbox/dcim/models/device_component_templates.py:55
#: netbox/dcim/models/device_components.py:63
-#: netbox/extras/models/customfields.py:109
+#: netbox/extras/models/customfields.py:110
msgid "label"
msgstr "étiquette"
@@ -5777,7 +5789,7 @@ msgstr "identificateur"
msgid "Numeric identifier unique to the parent device"
msgstr "Identifiant numérique propre à l'appareil parent"
-#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:210
+#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:211
#: netbox/extras/models/models.py:127 netbox/extras/models/models.py:722
#: netbox/netbox/models/__init__.py:114
msgid "comments"
@@ -6136,43 +6148,43 @@ msgstr ""
"Lieu de résidence du parent ({parent}) doit appartenir au même site "
"({site})."
-#: netbox/dcim/tables/cables.py:54
+#: netbox/dcim/tables/cables.py:55
msgid "Termination A"
msgstr "Terminaison A"
-#: netbox/dcim/tables/cables.py:59
+#: netbox/dcim/tables/cables.py:60
msgid "Termination B"
msgstr "Terminaison B"
-#: netbox/dcim/tables/cables.py:65 netbox/wireless/tables/wirelesslink.py:22
+#: netbox/dcim/tables/cables.py:66 netbox/wireless/tables/wirelesslink.py:22
msgid "Device A"
msgstr "Appareil A"
-#: netbox/dcim/tables/cables.py:71 netbox/wireless/tables/wirelesslink.py:31
+#: netbox/dcim/tables/cables.py:72 netbox/wireless/tables/wirelesslink.py:31
msgid "Device B"
msgstr "Appareil B"
-#: netbox/dcim/tables/cables.py:77
+#: netbox/dcim/tables/cables.py:78
msgid "Location A"
msgstr "Lieu A"
-#: netbox/dcim/tables/cables.py:83
+#: netbox/dcim/tables/cables.py:84
msgid "Location B"
msgstr "Lieu B"
-#: netbox/dcim/tables/cables.py:89
+#: netbox/dcim/tables/cables.py:90
msgid "Rack A"
msgstr "Baie A"
-#: netbox/dcim/tables/cables.py:95
+#: netbox/dcim/tables/cables.py:96
msgid "Rack B"
msgstr "Baie B"
-#: netbox/dcim/tables/cables.py:101
+#: netbox/dcim/tables/cables.py:102
msgid "Site A"
msgstr "Site A"
-#: netbox/dcim/tables/cables.py:107
+#: netbox/dcim/tables/cables.py:108
msgid "Site B"
msgstr "Site B"
@@ -6188,7 +6200,7 @@ msgstr "Joignable"
#: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62
#: netbox/virtualization/forms/model_forms.py:122
#: netbox/virtualization/tables/clusters.py:83
-#: netbox/virtualization/views.py:202
+#: netbox/virtualization/views.py:205
msgid "Devices"
msgstr "Appareils"
@@ -6269,8 +6281,8 @@ msgid "Power outlets"
msgstr "Prises de courant"
#: netbox/dcim/tables/devices.py:243 netbox/dcim/tables/devices.py:1046
-#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:985
-#: netbox/dcim/views.py:1224 netbox/dcim/views.py:1900
+#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:988
+#: netbox/dcim/views.py:1227 netbox/dcim/views.py:1908
#: netbox/netbox/navigation/menu.py:81 netbox/netbox/navigation/menu.py:237
#: netbox/templates/dcim/device/base.html:37
#: netbox/templates/dcim/device_list.html:43
@@ -6282,7 +6294,7 @@ msgstr "Prises de courant"
#: netbox/templates/virtualization/virtualmachine/base.html:27
#: netbox/templates/virtualization/virtualmachine_list.html:14
#: netbox/virtualization/tables/virtualmachines.py:100
-#: netbox/virtualization/views.py:359 netbox/wireless/tables/wirelesslan.py:55
+#: netbox/virtualization/views.py:363 netbox/wireless/tables/wirelesslan.py:55
msgid "Interfaces"
msgstr "Interfaces"
@@ -6308,8 +6320,8 @@ msgid "Module Bay"
msgstr "Module Bay"
#: netbox/dcim/tables/devices.py:310 netbox/dcim/tables/devicetypes.py:48
-#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1060
-#: netbox/dcim/views.py:1993 netbox/netbox/navigation/menu.py:90
+#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1063
+#: netbox/dcim/views.py:2006 netbox/netbox/navigation/menu.py:90
#: netbox/templates/dcim/device/base.html:52
#: netbox/templates/dcim/device_list.html:71
#: netbox/templates/dcim/devicetype/base.html:49
@@ -6339,8 +6351,8 @@ msgid "Allocated draw (W)"
msgstr "Tirage alloué (W)"
#: netbox/dcim/tables/devices.py:546 netbox/ipam/forms/model_forms.py:747
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:589
-#: netbox/ipam/views.py:688 netbox/netbox/navigation/menu.py:145
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:596
+#: netbox/ipam/views.py:696 netbox/netbox/navigation/menu.py:145
#: netbox/netbox/navigation/menu.py:147
#: netbox/templates/dcim/interface.html:339
#: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -6433,8 +6445,8 @@ msgstr "Hauteur en U"
msgid "Instances"
msgstr "Instances"
-#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:925
-#: netbox/dcim/views.py:1164 netbox/dcim/views.py:1840
+#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:928
+#: netbox/dcim/views.py:1167 netbox/dcim/views.py:1844
#: netbox/netbox/navigation/menu.py:84
#: netbox/templates/dcim/device/base.html:25
#: netbox/templates/dcim/device_list.html:15
@@ -6444,8 +6456,8 @@ msgstr "Instances"
msgid "Console Ports"
msgstr "Ports de console"
-#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:940
-#: netbox/dcim/views.py:1179 netbox/dcim/views.py:1855
+#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:943
+#: netbox/dcim/views.py:1182 netbox/dcim/views.py:1860
#: netbox/netbox/navigation/menu.py:85
#: netbox/templates/dcim/device/base.html:28
#: netbox/templates/dcim/device_list.html:22
@@ -6455,8 +6467,8 @@ msgstr "Ports de console"
msgid "Console Server Ports"
msgstr "Ports du serveur de consoles"
-#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:955
-#: netbox/dcim/views.py:1194 netbox/dcim/views.py:1870
+#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:958
+#: netbox/dcim/views.py:1197 netbox/dcim/views.py:1876
#: netbox/netbox/navigation/menu.py:86
#: netbox/templates/dcim/device/base.html:31
#: netbox/templates/dcim/device_list.html:29
@@ -6466,8 +6478,8 @@ msgstr "Ports du serveur de consoles"
msgid "Power Ports"
msgstr "Ports d'alimentation"
-#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:970
-#: netbox/dcim/views.py:1209 netbox/dcim/views.py:1885
+#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:973
+#: netbox/dcim/views.py:1212 netbox/dcim/views.py:1892
#: netbox/netbox/navigation/menu.py:87
#: netbox/templates/dcim/device/base.html:34
#: netbox/templates/dcim/device_list.html:36
@@ -6477,8 +6489,8 @@ msgstr "Ports d'alimentation"
msgid "Power Outlets"
msgstr "Prises de courant"
-#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1000
-#: netbox/dcim/views.py:1239 netbox/dcim/views.py:1921
+#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1003
+#: netbox/dcim/views.py:1242 netbox/dcim/views.py:1930
#: netbox/netbox/navigation/menu.py:82
#: netbox/templates/dcim/device/base.html:40
#: netbox/templates/dcim/devicetype/base.html:37
@@ -6487,8 +6499,8 @@ msgstr "Prises de courant"
msgid "Front Ports"
msgstr "Ports avant"
-#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1015
-#: netbox/dcim/views.py:1254 netbox/dcim/views.py:1936
+#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1018
+#: netbox/dcim/views.py:1257 netbox/dcim/views.py:1946
#: netbox/netbox/navigation/menu.py:83
#: netbox/templates/dcim/device/base.html:43
#: netbox/templates/dcim/device_list.html:50
@@ -6498,16 +6510,16 @@ msgstr "Ports avant"
msgid "Rear Ports"
msgstr "Ports arrière"
-#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1045
-#: netbox/dcim/views.py:1974 netbox/netbox/navigation/menu.py:89
+#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1048
+#: netbox/dcim/views.py:1986 netbox/netbox/navigation/menu.py:89
#: netbox/templates/dcim/device/base.html:49
#: netbox/templates/dcim/device_list.html:57
#: netbox/templates/dcim/devicetype/base.html:46
msgid "Device Bays"
msgstr "Baies pour appareils"
-#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1030
-#: netbox/dcim/views.py:1955 netbox/netbox/navigation/menu.py:88
+#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1033
+#: netbox/dcim/views.py:1966 netbox/netbox/navigation/menu.py:88
#: netbox/templates/dcim/device/base.html:46
#: netbox/templates/dcim/device_list.html:64
#: netbox/templates/dcim/devicetype/base.html:43
@@ -6532,7 +6544,7 @@ msgstr "Puissance disponible (VA)"
msgid "Racks"
msgstr "Baies"
-#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:311
+#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:318
#: netbox/templates/dcim/rack.html:90
msgid "Height"
msgstr "Hauteur"
@@ -6565,38 +6577,38 @@ msgstr "Sites"
msgid "Test case must set peer_termination_type"
msgstr "Le scénario de test doit définir peer_termination_type"
-#: netbox/dcim/views.py:139
+#: netbox/dcim/views.py:140
#, python-brace-format
msgid "Disconnected {count} {type}"
msgstr "Déconnecté {count} {type}"
-#: netbox/dcim/views.py:684 netbox/netbox/navigation/menu.py:28
+#: netbox/dcim/views.py:686 netbox/netbox/navigation/menu.py:28
msgid "Reservations"
msgstr "Réservations"
-#: netbox/dcim/views.py:702 netbox/templates/dcim/location.html:90
+#: netbox/dcim/views.py:705 netbox/templates/dcim/location.html:90
#: netbox/templates/dcim/site.html:140
msgid "Non-Racked Devices"
msgstr "Appareils non rackés"
-#: netbox/dcim/views.py:2006 netbox/extras/forms/model_forms.py:453
+#: netbox/dcim/views.py:2019 netbox/extras/forms/model_forms.py:453
#: netbox/templates/extras/configcontext.html:10
#: netbox/virtualization/forms/model_forms.py:225
-#: netbox/virtualization/views.py:399
+#: netbox/virtualization/views.py:404
msgid "Config Context"
msgstr "Contexte de configuration"
-#: netbox/dcim/views.py:2016 netbox/virtualization/views.py:409
+#: netbox/dcim/views.py:2029 netbox/virtualization/views.py:414
msgid "Render Config"
msgstr "Configuration du rendu"
-#: netbox/dcim/views.py:2066 netbox/extras/tables/tables.py:441
+#: netbox/dcim/views.py:2080 netbox/extras/tables/tables.py:441
#: netbox/netbox/navigation/menu.py:234 netbox/netbox/navigation/menu.py:236
-#: netbox/virtualization/views.py:177
+#: netbox/virtualization/views.py:179
msgid "Virtual Machines"
msgstr "Machines virtuelles"
-#: netbox/dcim/views.py:2948 netbox/ipam/tables/ip.py:233
+#: netbox/dcim/views.py:2963 netbox/ipam/tables/ip.py:233
msgid "Children"
msgstr "Enfants"
@@ -7032,16 +7044,6 @@ msgstr "Type de cluster"
msgid "Cluster type (slug)"
msgstr "Type de cluster (slug)"
-#: netbox/extras/filtersets.py:537 netbox/ipam/forms/bulk_edit.py:476
-#: netbox/ipam/forms/filtersets.py:464 netbox/ipam/forms/model_forms.py:624
-#: netbox/virtualization/forms/filtersets.py:112
-msgid "Cluster group"
-msgstr "Groupe de clusters"
-
-#: netbox/extras/filtersets.py:543 netbox/virtualization/filtersets.py:136
-msgid "Cluster group (slug)"
-msgstr "Groupe de clusters (slug)"
-
#: netbox/extras/filtersets.py:553 netbox/tenancy/forms/forms.py:16
#: netbox/tenancy/forms/forms.py:39
msgid "Tenant group"
@@ -7082,13 +7084,13 @@ msgstr "Obligatoire"
#: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_import.py:57
#: netbox/extras/forms/filtersets.py:79
-#: netbox/extras/models/customfields.py:194
+#: netbox/extras/models/customfields.py:195
msgid "UI visible"
msgstr "Interface utilisateur visible"
#: netbox/extras/forms/bulk_edit.py:58 netbox/extras/forms/bulk_import.py:63
#: netbox/extras/forms/filtersets.py:84
-#: netbox/extras/models/customfields.py:201
+#: netbox/extras/models/customfields.py:202
msgid "UI editable"
msgstr "Interface utilisateur modifiable"
@@ -7267,11 +7269,11 @@ msgstr "Webhook {name} introuvable"
msgid "Script {name} not found"
msgstr "Scénario {name} introuvable"
-#: netbox/extras/forms/bulk_import.py:239
+#: netbox/extras/forms/bulk_import.py:236
msgid "Assigned object type"
msgstr "Type d'objet attribué"
-#: netbox/extras/forms/bulk_import.py:244
+#: netbox/extras/forms/bulk_import.py:241
msgid "The classification of entry"
msgstr "La classification de l'entrée"
@@ -7738,36 +7740,36 @@ msgstr "modèle de configuration"
msgid "config templates"
msgstr "modèles de configuration"
-#: netbox/extras/models/customfields.py:73
+#: netbox/extras/models/customfields.py:74
msgid "The object(s) to which this field applies."
msgstr "Le ou les objets auxquels ce champ s'applique."
-#: netbox/extras/models/customfields.py:80
+#: netbox/extras/models/customfields.py:81
msgid "The type of data this custom field holds"
msgstr "Le type de données que contient ce champ personnalisé"
-#: netbox/extras/models/customfields.py:87
+#: netbox/extras/models/customfields.py:88
msgid "The type of NetBox object this field maps to (for object fields)"
msgstr ""
"Le type d'objet NetBox auquel ce champ correspond (pour les champs d'objets)"
-#: netbox/extras/models/customfields.py:93
+#: netbox/extras/models/customfields.py:94
msgid "Internal field name"
msgstr "Nom du champ interne"
-#: netbox/extras/models/customfields.py:97
+#: netbox/extras/models/customfields.py:98
msgid "Only alphanumeric characters and underscores are allowed."
msgstr ""
"Seuls les caractères alphanumériques et les traits de soulignement sont "
"autorisés."
-#: netbox/extras/models/customfields.py:102
+#: netbox/extras/models/customfields.py:103
msgid "Double underscores are not permitted in custom field names."
msgstr ""
"Les doubles soulignements ne sont pas autorisés dans les noms de champs "
"personnalisés."
-#: netbox/extras/models/customfields.py:113
+#: netbox/extras/models/customfields.py:114
msgid ""
"Name of the field as displayed to users (if not provided, 'the field's name "
"will be used)"
@@ -7775,19 +7777,19 @@ msgstr ""
"Nom du champ tel qu'il est affiché aux utilisateurs (s'il n'est pas fourni, "
"« le nom du champ sera utilisé) »"
-#: netbox/extras/models/customfields.py:117 netbox/extras/models/models.py:345
+#: netbox/extras/models/customfields.py:118 netbox/extras/models/models.py:345
msgid "group name"
msgstr "nom du groupe"
-#: netbox/extras/models/customfields.py:120
+#: netbox/extras/models/customfields.py:121
msgid "Custom fields within the same group will be displayed together"
msgstr "Les champs personnalisés d'un même groupe seront affichés ensemble"
-#: netbox/extras/models/customfields.py:128
+#: netbox/extras/models/customfields.py:129
msgid "required"
msgstr "requis"
-#: netbox/extras/models/customfields.py:130
+#: netbox/extras/models/customfields.py:131
msgid ""
"If true, this field is required when creating new objects or editing an "
"existing object."
@@ -7795,11 +7797,11 @@ msgstr ""
"Si c'est vrai, ce champ est obligatoire lors de la création de nouveaux "
"objets ou de la modification d'un objet existant."
-#: netbox/extras/models/customfields.py:133
+#: netbox/extras/models/customfields.py:134
msgid "search weight"
msgstr "poids de recherche"
-#: netbox/extras/models/customfields.py:136
+#: netbox/extras/models/customfields.py:137
msgid ""
"Weighting for search. Lower values are considered more important. Fields "
"with a search weight of zero will be ignored."
@@ -7808,11 +7810,11 @@ msgstr ""
"comme plus importantes. Les champs dont le poids de recherche est nul seront"
" ignorés."
-#: netbox/extras/models/customfields.py:141
+#: netbox/extras/models/customfields.py:142
msgid "filter logic"
msgstr "logique de filtrage"
-#: netbox/extras/models/customfields.py:145
+#: netbox/extras/models/customfields.py:146
msgid ""
"Loose matches any instance of a given string; exact matches the entire "
"field."
@@ -7820,11 +7822,11 @@ msgstr ""
"Loose correspond à n'importe quelle instance d'une chaîne donnée ; "
"correspond exactement à l'ensemble du champ."
-#: netbox/extras/models/customfields.py:148
+#: netbox/extras/models/customfields.py:149
msgid "default"
msgstr "défaut"
-#: netbox/extras/models/customfields.py:152
+#: netbox/extras/models/customfields.py:153
msgid ""
"Default value for the field (must be a JSON value). Encapsulate strings with"
" double quotes (e.g. \"Foo\")."
@@ -7832,37 +7834,37 @@ msgstr ""
"Valeur par défaut pour le champ (doit être une valeur JSON). Encapsulez des "
"chaînes avec des guillemets doubles (par exemple, « Foo »)."
-#: netbox/extras/models/customfields.py:157
+#: netbox/extras/models/customfields.py:158
msgid "display weight"
msgstr "poids de l'écran"
-#: netbox/extras/models/customfields.py:158
+#: netbox/extras/models/customfields.py:159
msgid "Fields with higher weights appear lower in a form."
msgstr ""
"Les champs dont le poids est plus élevé apparaissent plus bas dans un "
"formulaire."
-#: netbox/extras/models/customfields.py:163
+#: netbox/extras/models/customfields.py:164
msgid "minimum value"
msgstr "valeur minimale"
-#: netbox/extras/models/customfields.py:164
+#: netbox/extras/models/customfields.py:165
msgid "Minimum allowed value (for numeric fields)"
msgstr "Valeur minimale autorisée (pour les champs numériques)"
-#: netbox/extras/models/customfields.py:169
+#: netbox/extras/models/customfields.py:170
msgid "maximum value"
msgstr "valeur maximale"
-#: netbox/extras/models/customfields.py:170
+#: netbox/extras/models/customfields.py:171
msgid "Maximum allowed value (for numeric fields)"
msgstr "Valeur maximale autorisée (pour les champs numériques)"
-#: netbox/extras/models/customfields.py:176
+#: netbox/extras/models/customfields.py:177
msgid "validation regex"
msgstr "regex de validation"
-#: netbox/extras/models/customfields.py:178
+#: netbox/extras/models/customfields.py:179
#, python-brace-format
msgid ""
"Regular expression to enforce on text field values. Use ^ and $ to force "
@@ -7874,180 +7876,180 @@ msgstr ""
"exemple, ^ [DE A À Z]{3}$
limitera les valeurs à exactement "
"trois lettres majuscules."
-#: netbox/extras/models/customfields.py:186
+#: netbox/extras/models/customfields.py:187
msgid "choice set"
msgstr "set de choix"
-#: netbox/extras/models/customfields.py:195
+#: netbox/extras/models/customfields.py:196
msgid "Specifies whether the custom field is displayed in the UI"
msgstr ""
"Indique si le champ personnalisé est affiché dans l'interface utilisateur"
-#: netbox/extras/models/customfields.py:202
+#: netbox/extras/models/customfields.py:203
msgid "Specifies whether the custom field value can be edited in the UI"
msgstr ""
"Indique si la valeur du champ personnalisé peut être modifiée dans "
"l'interface utilisateur"
-#: netbox/extras/models/customfields.py:206
+#: netbox/extras/models/customfields.py:207
msgid "is cloneable"
msgstr "est clonable"
-#: netbox/extras/models/customfields.py:207
+#: netbox/extras/models/customfields.py:208
msgid "Replicate this value when cloning objects"
msgstr "Répliquez cette valeur lors du clonage d'objets"
-#: netbox/extras/models/customfields.py:224
+#: netbox/extras/models/customfields.py:225
msgid "custom field"
msgstr "champ personnalisé"
-#: netbox/extras/models/customfields.py:225
+#: netbox/extras/models/customfields.py:226
msgid "custom fields"
msgstr "champs personnalisés"
-#: netbox/extras/models/customfields.py:314
+#: netbox/extras/models/customfields.py:315
#, python-brace-format
msgid "Invalid default value \"{value}\": {error}"
msgstr "Valeur par défaut non valide »{value}« : {error}"
-#: netbox/extras/models/customfields.py:321
+#: netbox/extras/models/customfields.py:322
msgid "A minimum value may be set only for numeric fields"
msgstr ""
"Une valeur minimale ne peut être définie que pour les champs numériques"
-#: netbox/extras/models/customfields.py:323
+#: netbox/extras/models/customfields.py:324
msgid "A maximum value may be set only for numeric fields"
msgstr ""
"Une valeur maximale ne peut être définie que pour les champs numériques"
-#: netbox/extras/models/customfields.py:333
+#: netbox/extras/models/customfields.py:334
msgid ""
"Regular expression validation is supported only for text and URL fields"
msgstr ""
"La validation des expressions régulières est prise en charge uniquement pour"
" les champs de texte et d'URL"
-#: netbox/extras/models/customfields.py:343
+#: netbox/extras/models/customfields.py:344
msgid "Selection fields must specify a set of choices."
msgstr "Les champs de sélection doivent spécifier un ensemble de choix."
-#: netbox/extras/models/customfields.py:347
+#: netbox/extras/models/customfields.py:348
msgid "Choices may be set only on selection fields."
msgstr "Les choix ne peuvent être définis que sur les champs de sélection."
-#: netbox/extras/models/customfields.py:354
+#: netbox/extras/models/customfields.py:355
msgid "Object fields must define an object type."
msgstr "Les champs d'objet doivent définir un type d'objet."
-#: netbox/extras/models/customfields.py:359
+#: netbox/extras/models/customfields.py:360
#, python-brace-format
msgid "{type} fields may not define an object type."
msgstr "{type} les champs ne peuvent pas définir de type d'objet."
-#: netbox/extras/models/customfields.py:439
+#: netbox/extras/models/customfields.py:440
msgid "True"
msgstr "Vrai"
-#: netbox/extras/models/customfields.py:440
+#: netbox/extras/models/customfields.py:441
msgid "False"
msgstr "Faux"
-#: netbox/extras/models/customfields.py:522
+#: netbox/extras/models/customfields.py:523
#, python-brace-format
msgid "Values must match this regex: {regex}
"
msgstr ""
"Les valeurs doivent correspondre à cette expression régulière : "
"{regex}
"
-#: netbox/extras/models/customfields.py:616
+#: netbox/extras/models/customfields.py:617
msgid "Value must be a string."
msgstr "La valeur doit être une chaîne."
-#: netbox/extras/models/customfields.py:618
+#: netbox/extras/models/customfields.py:619
#, python-brace-format
msgid "Value must match regex '{regex}'"
msgstr "La valeur doit correspondre à « regex »{regex}'"
-#: netbox/extras/models/customfields.py:623
+#: netbox/extras/models/customfields.py:624
msgid "Value must be an integer."
msgstr "La valeur doit être un entier."
-#: netbox/extras/models/customfields.py:626
-#: netbox/extras/models/customfields.py:641
+#: netbox/extras/models/customfields.py:627
+#: netbox/extras/models/customfields.py:642
#, python-brace-format
msgid "Value must be at least {minimum}"
msgstr "La valeur doit être d'au moins {minimum}"
-#: netbox/extras/models/customfields.py:630
-#: netbox/extras/models/customfields.py:645
+#: netbox/extras/models/customfields.py:631
+#: netbox/extras/models/customfields.py:646
#, python-brace-format
msgid "Value must not exceed {maximum}"
msgstr "La valeur ne doit pas dépasser {maximum}"
-#: netbox/extras/models/customfields.py:638
+#: netbox/extras/models/customfields.py:639
msgid "Value must be a decimal."
msgstr "La valeur doit être une décimale."
-#: netbox/extras/models/customfields.py:650
+#: netbox/extras/models/customfields.py:651
msgid "Value must be true or false."
msgstr "La valeur doit être vraie ou fausse."
-#: netbox/extras/models/customfields.py:658
+#: netbox/extras/models/customfields.py:659
msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
msgstr "Les valeurs de date doivent être au format ISO 8601 (AAAA-MM-JJ)."
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:672
msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
msgstr ""
"Les valeurs de date et d'heure doivent être au format ISO 8601 (YYYY-MM-DD "
"HH:MM:SS)."
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:679
#, python-brace-format
msgid "Invalid choice ({value}) for choice set {choiceset}."
msgstr "Choix non valide ({value}) pour le set de choix {choiceset}."
-#: netbox/extras/models/customfields.py:688
+#: netbox/extras/models/customfields.py:689
#, python-brace-format
msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
msgstr "Choix (s) non valide ({value}) pour le set de choix {choiceset}."
-#: netbox/extras/models/customfields.py:697
+#: netbox/extras/models/customfields.py:698
#, python-brace-format
msgid "Value must be an object ID, not {type}"
msgstr "La valeur doit être un identifiant d'objet, et non {type}"
-#: netbox/extras/models/customfields.py:703
+#: netbox/extras/models/customfields.py:704
#, python-brace-format
msgid "Value must be a list of object IDs, not {type}"
msgstr "La valeur doit être une liste d'identifiants d'objets, et non {type}"
-#: netbox/extras/models/customfields.py:707
+#: netbox/extras/models/customfields.py:708
#, python-brace-format
msgid "Found invalid object ID: {id}"
msgstr "ID d'objet non valide trouvé : {id}"
-#: netbox/extras/models/customfields.py:710
+#: netbox/extras/models/customfields.py:711
msgid "Required field cannot be empty."
msgstr "Le champ obligatoire ne peut pas être vide."
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:730
msgid "Base set of predefined choices (optional)"
msgstr "Ensemble de base de choix prédéfinis (facultatif)"
-#: netbox/extras/models/customfields.py:741
+#: netbox/extras/models/customfields.py:742
msgid "Choices are automatically ordered alphabetically"
msgstr "Les choix sont automatiquement classés par ordre alphabétique"
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:749
msgid "custom field choice set"
msgstr "ensemble de choix de champs personnalisés"
-#: netbox/extras/models/customfields.py:749
+#: netbox/extras/models/customfields.py:750
msgid "custom field choice sets"
msgstr "ensembles de choix de champs personnalisés"
-#: netbox/extras/models/customfields.py:785
+#: netbox/extras/models/customfields.py:786
msgid "Must define base or extra choices."
msgstr "Doit définir des choix de base ou supplémentaires."
@@ -8495,21 +8497,21 @@ msgstr "Données de script"
msgid "Script Execution Parameters"
msgstr "Paramètres d'exécution du script"
-#: netbox/extras/scripts.py:664
+#: netbox/extras/scripts.py:666
msgid "Database changes have been reverted automatically."
msgstr ""
"Les modifications apportées à la base de données ont été annulées "
"automatiquement."
-#: netbox/extras/scripts.py:677
+#: netbox/extras/scripts.py:679
msgid "Script aborted with error: "
msgstr "Le script a été abandonné avec une erreur : "
-#: netbox/extras/scripts.py:687
+#: netbox/extras/scripts.py:689
msgid "An exception occurred: "
msgstr "Une exception s'est produite : "
-#: netbox/extras/scripts.py:690
+#: netbox/extras/scripts.py:692
msgid "Database changes have been reverted due to error."
msgstr ""
"Les modifications apportées à la base de données ont été annulées en raison "
@@ -9817,7 +9819,7 @@ msgid "The primary function of this VLAN"
msgstr "La principale fonction de ce VLAN"
#: netbox/ipam/models/vlans.py:215 netbox/ipam/tables/ip.py:175
-#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:961
+#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:971
#: netbox/netbox/navigation/menu.py:180 netbox/netbox/navigation/menu.py:182
msgid "VLANs"
msgstr "VLAN"
@@ -9893,7 +9895,7 @@ msgid "Added"
msgstr "Ajouté"
#: netbox/ipam/tables/ip.py:127 netbox/ipam/tables/ip.py:165
-#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:342
+#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:346
#: netbox/netbox/navigation/menu.py:152 netbox/netbox/navigation/menu.py:154
#: netbox/templates/ipam/vlan.html:84
msgid "Prefixes"
@@ -9901,7 +9903,7 @@ msgstr "Préfixes"
#: netbox/ipam/tables/ip.py:130 netbox/ipam/tables/ip.py:267
#: netbox/ipam/tables/ip.py:320 netbox/ipam/tables/vlans.py:82
-#: netbox/templates/dcim/device.html:253
+#: netbox/templates/dcim/device.html:260
#: netbox/templates/ipam/aggregate.html:24
#: netbox/templates/ipam/iprange.html:29 netbox/templates/ipam/prefix.html:106
msgid "Utilization"
@@ -9998,23 +10000,23 @@ msgstr ""
"Seuls les caractères alphanumériques, les astérisques, les tirets, les "
"points et les traits de soulignement sont autorisés dans les noms DNS"
-#: netbox/ipam/views.py:528
+#: netbox/ipam/views.py:533
msgid "Child Prefixes"
msgstr "Préfixes pour enfants"
-#: netbox/ipam/views.py:563
+#: netbox/ipam/views.py:569
msgid "Child Ranges"
msgstr "Plages pour enfants"
-#: netbox/ipam/views.py:889
+#: netbox/ipam/views.py:898
msgid "Related IPs"
msgstr "IP associées"
-#: netbox/ipam/views.py:1116
+#: netbox/ipam/views.py:1127
msgid "Device Interfaces"
msgstr "Interfaces des appareils"
-#: netbox/ipam/views.py:1133
+#: netbox/ipam/views.py:1145
msgid "VM Interfaces"
msgstr "Interfaces de machines virtuelles"
@@ -10353,6 +10355,10 @@ msgstr "Regex"
msgid "Object type(s)"
msgstr "Type (s) d'objet"
+#: netbox/netbox/forms/__init__.py:40
+msgid "Lookup"
+msgstr ""
+
#: netbox/netbox/forms/base.py:88
msgid ""
"Tag slugs separated by commas, encased with double quotes (e.g. "
@@ -10460,7 +10466,7 @@ msgstr "Associer des contacts"
msgid "Modules"
msgstr "Modules"
-#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:158
+#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:160
#: netbox/templates/dcim/virtualdevicecontext.html:8
msgid "Virtual Device Contexts"
msgstr "Contextes des appareils virtuels"
@@ -10522,7 +10528,7 @@ msgstr "Groupes VLAN"
msgid "Service Templates"
msgstr "Modèles de services"
-#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:295
+#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:302
#: netbox/templates/ipam/ipaddress.html:118
#: netbox/templates/virtualization/virtualmachine.html:150
msgid "Services"
@@ -10589,7 +10595,7 @@ msgstr "Virtualisation"
#: netbox/templates/virtualization/virtualmachine/base.html:32
#: netbox/templates/virtualization/virtualmachine_list.html:21
#: netbox/virtualization/tables/virtualmachines.py:103
-#: netbox/virtualization/views.py:380
+#: netbox/virtualization/views.py:385
msgid "Virtual Disks"
msgstr "Disques virtuels"
@@ -10651,7 +10657,7 @@ msgstr "Personnalisation"
#: netbox/templates/htmx/form.html:19 netbox/templates/inc/filter_list.html:30
#: netbox/templates/inc/panels/custom_fields.html:7
#: netbox/templates/ipam/ipaddress_bulk_add.html:35
-#: netbox/templates/ipam/vlan_edit.html:63
+#: netbox/templates/ipam/vlan_edit.html:59
msgid "Custom Fields"
msgstr "Champs personnalisés"
@@ -10757,7 +10763,7 @@ msgstr "Historique de configuration"
msgid "Background Tasks"
msgstr "Tâches d'arrière-plan"
-#: netbox/netbox/navigation/menu.py:483 netbox/templates/500.html:35
+#: netbox/netbox/navigation/menu.py:480 netbox/templates/500.html:35
#: netbox/templates/account/preferences.html:22
#: netbox/templates/core/system.html:80
msgid "Plugins"
@@ -10900,43 +10906,43 @@ msgstr "Impossible d'ajouter des magasins au registre après l'initialisation"
msgid "Cannot delete stores from registry"
msgstr "Impossible de supprimer des magasins du registre"
-#: netbox/netbox/settings.py:724
+#: netbox/netbox/settings.py:741
msgid "German"
msgstr "allemand"
-#: netbox/netbox/settings.py:725
+#: netbox/netbox/settings.py:742
msgid "English"
msgstr "Anglais"
-#: netbox/netbox/settings.py:726
+#: netbox/netbox/settings.py:743
msgid "Spanish"
msgstr "espagnol"
-#: netbox/netbox/settings.py:727
+#: netbox/netbox/settings.py:744
msgid "French"
msgstr "français"
-#: netbox/netbox/settings.py:728
+#: netbox/netbox/settings.py:745
msgid "Japanese"
msgstr "japonais"
-#: netbox/netbox/settings.py:729
+#: netbox/netbox/settings.py:746
msgid "Portuguese"
msgstr "portugais"
-#: netbox/netbox/settings.py:730
+#: netbox/netbox/settings.py:747
msgid "Russian"
msgstr "russe"
-#: netbox/netbox/settings.py:731
+#: netbox/netbox/settings.py:748
msgid "Turkish"
msgstr "Turc"
-#: netbox/netbox/settings.py:732
+#: netbox/netbox/settings.py:749
msgid "Ukrainian"
msgstr "Ukrainien"
-#: netbox/netbox/settings.py:733
+#: netbox/netbox/settings.py:750
msgid "Chinese"
msgstr "chinois"
@@ -10983,7 +10989,7 @@ msgstr "Journal des modifications"
msgid "Journal"
msgstr "Journal"
-#: netbox/netbox/views/generic/object_views.py:106
+#: netbox/netbox/views/generic/object_views.py:108
#, python-brace-format
msgid "{class_name} must implement get_children()"
msgstr "{class_name} doit implémenter get_children ()"
@@ -11557,8 +11563,8 @@ msgstr "Files d'attente en arrière-plan"
#: netbox/templates/core/rq_worker_list.html:45
#: netbox/templates/extras/script_result.html:49
#: netbox/templates/extras/script_result.html:51
-#: netbox/templates/inc/table_controls_htmx.html:28
-#: netbox/templates/inc/table_controls_htmx.html:31
+#: netbox/templates/inc/table_controls_htmx.html:30
+#: netbox/templates/inc/table_controls_htmx.html:33
msgid "Configure Table"
msgstr "Configurer le tableau"
@@ -11820,56 +11826,58 @@ msgstr "Étiquette d'actif"
msgid "View Virtual Chassis"
msgstr "Afficher le châssis virtuel"
-#: netbox/templates/dcim/device.html:162
+#: netbox/templates/dcim/device.html:164
msgid "Create VDC"
msgstr "Créer un VDC"
-#: netbox/templates/dcim/device.html:173
+#: netbox/templates/dcim/device.html:175
#: netbox/templates/dcim/device_edit.html:64
#: netbox/virtualization/forms/model_forms.py:223
msgid "Management"
msgstr "Gestion"
-#: netbox/templates/dcim/device.html:193 netbox/templates/dcim/device.html:209
+#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211
+#: netbox/templates/dcim/device.html:227
#: netbox/templates/virtualization/virtualmachine.html:53
#: netbox/templates/virtualization/virtualmachine.html:69
msgid "NAT for"
msgstr "NAT pour"
-#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211
+#: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213
+#: netbox/templates/dcim/device.html:229
#: netbox/templates/virtualization/virtualmachine.html:55
#: netbox/templates/virtualization/virtualmachine.html:71
msgid "NAT"
msgstr "NAT"
-#: netbox/templates/dcim/device.html:245 netbox/templates/dcim/rack.html:67
+#: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:67
msgid "Power Utilization"
msgstr "Utilisation de l'énergie"
-#: netbox/templates/dcim/device.html:249
+#: netbox/templates/dcim/device.html:256
msgid "Input"
msgstr "Entrée"
-#: netbox/templates/dcim/device.html:250
+#: netbox/templates/dcim/device.html:257
msgid "Outlets"
msgstr "Prises"
-#: netbox/templates/dcim/device.html:251
+#: netbox/templates/dcim/device.html:258
msgid "Allocated"
msgstr "Alloué"
-#: netbox/templates/dcim/device.html:261 netbox/templates/dcim/device.html:263
-#: netbox/templates/dcim/device.html:279
+#: netbox/templates/dcim/device.html:268 netbox/templates/dcim/device.html:270
+#: netbox/templates/dcim/device.html:286
#: netbox/templates/dcim/powerfeed.html:67
msgid "VA"
msgstr "VA"
-#: netbox/templates/dcim/device.html:273
+#: netbox/templates/dcim/device.html:280
msgctxt "Leg of a power feed"
msgid "Leg"
msgstr "Jambe"
-#: netbox/templates/dcim/device.html:299
+#: netbox/templates/dcim/device.html:306
#: netbox/templates/virtualization/virtualmachine.html:154
msgid "Add a service"
msgstr "Ajouter un service"
@@ -13251,7 +13259,7 @@ msgstr "Les données ne sont pas synchronisées avec le fichier en amont"
msgid "Quick search"
msgstr "Recherche rapide"
-#: netbox/templates/inc/table_controls_htmx.html:19
+#: netbox/templates/inc/table_controls_htmx.html:20
msgid "Saved filter"
msgstr "Filtre enregistré"
@@ -14335,7 +14343,11 @@ msgstr ""
msgid "More than 50"
msgstr "Plus de 50"
-#: netbox/utilities/fields.py:157
+#: netbox/utilities/fields.py:30
+msgid "RGB color in hexadecimal. Example: "
+msgstr "Couleur RVB en hexadécimal. Exemple :"
+
+#: netbox/utilities/fields.py:159
#, python-format
msgid ""
"%s(%r) is invalid. to_model parameter to CounterCacheField must be a string "
@@ -14344,7 +14356,7 @@ msgstr ""
"%s(%r) n'est pas valide. Le paramètre to_model de CounterCacheField doit "
"être une chaîne au format « app.model »"
-#: netbox/utilities/fields.py:167
+#: netbox/utilities/fields.py:169
#, python-format
msgid ""
"%s(%r) is invalid. to_field parameter to CounterCacheField must be a string "
@@ -14657,6 +14669,14 @@ msgstr "Déplacer vers le haut"
msgid "Move Down"
msgstr "Déplacer vers le bas"
+#: netbox/utilities/templates/navigation/menu.html:14
+msgid "Search…"
+msgstr "Rechercher..."
+
+#: netbox/utilities/templates/navigation/menu.html:14
+msgid "Search NetBox"
+msgstr "Rechercher dans NetBox"
+
#: netbox/utilities/templates/widgets/apiselect.html:7
msgid "Open selector"
msgstr "Ouvrir le sélecteur"
@@ -14678,17 +14698,17 @@ msgstr "Le test doit définir csv_update_data."
msgid "{value} is not a valid regular expression."
msgstr "{value} n'est pas une expression rationnelle valide."
-#: netbox/utilities/views.py:44
+#: netbox/utilities/views.py:45
#, python-brace-format
msgid "{self.__class__.__name__} must implement get_required_permission()"
msgstr "{self.__class__.__name__} doit implémenter get_required_permission()"
-#: netbox/utilities/views.py:80
+#: netbox/utilities/views.py:81
#, python-brace-format
msgid "{class_name} must implement get_required_permission()"
msgstr "{class_name} doit implémenter get_required_permission()"
-#: netbox/utilities/views.py:104
+#: netbox/utilities/views.py:105
#, python-brace-format
msgid ""
"{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
@@ -14711,10 +14731,6 @@ msgstr "Groupe de parents (slug)"
msgid "Cluster type (ID)"
msgstr "Type de cluster (ID)"
-#: netbox/virtualization/filtersets.py:130
-msgid "Cluster group (ID)"
-msgstr "Groupe de clusters (ID)"
-
#: netbox/virtualization/filtersets.py:151
#: netbox/virtualization/filtersets.py:267
msgid "Cluster (ID)"
diff --git a/netbox/translations/pt/LC_MESSAGES/django.mo b/netbox/translations/pt/LC_MESSAGES/django.mo
index 198e9781b..30691c797 100644
Binary files a/netbox/translations/pt/LC_MESSAGES/django.mo and b/netbox/translations/pt/LC_MESSAGES/django.mo differ
diff --git a/netbox/translations/pt/LC_MESSAGES/django.po b/netbox/translations/pt/LC_MESSAGES/django.po
index 56940c6f1..b64e549db 100644
--- a/netbox/translations/pt/LC_MESSAGES/django.po
+++ b/netbox/translations/pt/LC_MESSAGES/django.po
@@ -14,7 +14,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-06-22 05:02+0000\n"
+"POT-Creation-Date: 2024-07-09 05:02+0000\n"
"PO-Revision-Date: 2023-10-30 17:48+0000\n"
"Last-Translator: Fabricio Maciel, 2024\n"
"Language-Team: Portuguese (https://app.transifex.com/netbox-community/teams/178115/pt/)\n"
@@ -114,8 +114,8 @@ msgstr "Descomissionado"
#: netbox/dcim/filtersets.py:97 netbox/dcim/filtersets.py:151
#: netbox/dcim/filtersets.py:211 netbox/dcim/filtersets.py:297
#: netbox/dcim/filtersets.py:406 netbox/dcim/filtersets.py:969
-#: netbox/dcim/filtersets.py:1305 netbox/dcim/filtersets.py:1832
-#: netbox/dcim/filtersets.py:2075 netbox/dcim/filtersets.py:2133
+#: netbox/dcim/filtersets.py:1316 netbox/dcim/filtersets.py:1843
+#: netbox/dcim/filtersets.py:2086 netbox/dcim/filtersets.py:2144
#: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:945
#: netbox/virtualization/filtersets.py:45
#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:377
@@ -126,8 +126,8 @@ msgstr "Região (ID)"
#: netbox/dcim/filtersets.py:104 netbox/dcim/filtersets.py:157
#: netbox/dcim/filtersets.py:218 netbox/dcim/filtersets.py:304
#: netbox/dcim/filtersets.py:413 netbox/dcim/filtersets.py:976
-#: netbox/dcim/filtersets.py:1312 netbox/dcim/filtersets.py:1839
-#: netbox/dcim/filtersets.py:2082 netbox/dcim/filtersets.py:2140
+#: netbox/dcim/filtersets.py:1323 netbox/dcim/filtersets.py:1850
+#: netbox/dcim/filtersets.py:2093 netbox/dcim/filtersets.py:2151
#: netbox/extras/filtersets.py:461 netbox/ipam/filtersets.py:346
#: netbox/ipam/filtersets.py:952 netbox/virtualization/filtersets.py:52
#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:372
@@ -137,9 +137,9 @@ msgstr "Região (slug)"
#: netbox/circuits/filtersets.py:42 netbox/circuits/filtersets.py:209
#: netbox/dcim/filtersets.py:127 netbox/dcim/filtersets.py:224
#: netbox/dcim/filtersets.py:310 netbox/dcim/filtersets.py:419
-#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1318
-#: netbox/dcim/filtersets.py:1845 netbox/dcim/filtersets.py:2088
-#: netbox/dcim/filtersets.py:2146 netbox/ipam/filtersets.py:352
+#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1329
+#: netbox/dcim/filtersets.py:1856 netbox/dcim/filtersets.py:2099
+#: netbox/dcim/filtersets.py:2157 netbox/ipam/filtersets.py:352
#: netbox/ipam/filtersets.py:958 netbox/virtualization/filtersets.py:58
#: netbox/virtualization/filtersets.py:186
msgid "Site group (ID)"
@@ -148,9 +148,9 @@ msgstr "Grupo de sites (ID)"
#: netbox/circuits/filtersets.py:49 netbox/circuits/filtersets.py:216
#: netbox/dcim/filtersets.py:134 netbox/dcim/filtersets.py:231
#: netbox/dcim/filtersets.py:317 netbox/dcim/filtersets.py:426
-#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1325
-#: netbox/dcim/filtersets.py:1852 netbox/dcim/filtersets.py:2095
-#: netbox/dcim/filtersets.py:2153 netbox/extras/filtersets.py:467
+#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1336
+#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2106
+#: netbox/dcim/filtersets.py:2164 netbox/extras/filtersets.py:467
#: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:965
#: netbox/virtualization/filtersets.py:65
#: netbox/virtualization/filtersets.py:193
@@ -159,7 +159,7 @@ msgstr "Grupo de sites (slug)"
#: netbox/circuits/filtersets.py:54 netbox/circuits/forms/bulk_edit.py:186
#: netbox/circuits/forms/bulk_edit.py:214
-#: netbox/circuits/forms/bulk_import.py:126
+#: netbox/circuits/forms/bulk_import.py:123
#: netbox/circuits/forms/filtersets.py:49
#: netbox/circuits/forms/filtersets.py:169
#: netbox/circuits/forms/filtersets.py:207
@@ -168,15 +168,15 @@ msgstr "Grupo de sites (slug)"
#: netbox/circuits/tables/circuits.py:107 netbox/dcim/forms/bulk_edit.py:167
#: netbox/dcim/forms/bulk_edit.py:239 netbox/dcim/forms/bulk_edit.py:575
#: netbox/dcim/forms/bulk_edit.py:771 netbox/dcim/forms/bulk_import.py:130
-#: netbox/dcim/forms/bulk_import.py:184 netbox/dcim/forms/bulk_import.py:257
-#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1262
-#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:85
-#: netbox/dcim/forms/filtersets.py:218 netbox/dcim/forms/filtersets.py:265
-#: netbox/dcim/forms/filtersets.py:374 netbox/dcim/forms/filtersets.py:682
-#: netbox/dcim/forms/filtersets.py:916 netbox/dcim/forms/filtersets.py:940
-#: netbox/dcim/forms/filtersets.py:1030 netbox/dcim/forms/filtersets.py:1068
-#: netbox/dcim/forms/filtersets.py:1476 netbox/dcim/forms/filtersets.py:1500
-#: netbox/dcim/forms/filtersets.py:1524 netbox/dcim/forms/model_forms.py:136
+#: netbox/dcim/forms/bulk_import.py:181 netbox/dcim/forms/bulk_import.py:254
+#: netbox/dcim/forms/bulk_import.py:479 netbox/dcim/forms/bulk_import.py:1250
+#: netbox/dcim/forms/bulk_import.py:1278 netbox/dcim/forms/filtersets.py:86
+#: netbox/dcim/forms/filtersets.py:219 netbox/dcim/forms/filtersets.py:266
+#: netbox/dcim/forms/filtersets.py:375 netbox/dcim/forms/filtersets.py:684
+#: netbox/dcim/forms/filtersets.py:928 netbox/dcim/forms/filtersets.py:952
+#: netbox/dcim/forms/filtersets.py:1042 netbox/dcim/forms/filtersets.py:1080
+#: netbox/dcim/forms/filtersets.py:1488 netbox/dcim/forms/filtersets.py:1512
+#: netbox/dcim/forms/filtersets.py:1536 netbox/dcim/forms/model_forms.py:136
#: netbox/dcim/forms/model_forms.py:164 netbox/dcim/forms/model_forms.py:206
#: netbox/dcim/forms/model_forms.py:406 netbox/dcim/forms/model_forms.py:671
#: netbox/dcim/forms/object_create.py:391 netbox/dcim/tables/devices.py:150
@@ -275,8 +275,8 @@ msgstr "Tipo de circuito (slug)"
#: netbox/circuits/filtersets.py:221 netbox/circuits/filtersets.py:266
#: netbox/dcim/filtersets.py:235 netbox/dcim/filtersets.py:321
#: netbox/dcim/filtersets.py:394 netbox/dcim/filtersets.py:993
-#: netbox/dcim/filtersets.py:1330 netbox/dcim/filtersets.py:1857
-#: netbox/dcim/filtersets.py:2099 netbox/dcim/filtersets.py:2158
+#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:1868
+#: netbox/dcim/filtersets.py:2110 netbox/dcim/filtersets.py:2169
#: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363
#: netbox/ipam/filtersets.py:969 netbox/virtualization/filtersets.py:69
#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:387
@@ -289,7 +289,7 @@ msgstr "Terminação A (ID)"
#: netbox/circuits/filtersets.py:258 netbox/core/filtersets.py:73
#: netbox/core/filtersets.py:132 netbox/dcim/filtersets.py:693
-#: netbox/dcim/filtersets.py:1299 netbox/dcim/filtersets.py:2206
+#: netbox/dcim/filtersets.py:1310 netbox/dcim/filtersets.py:2217
#: netbox/extras/filtersets.py:41 netbox/extras/filtersets.py:63
#: netbox/extras/filtersets.py:92 netbox/extras/filtersets.py:127
#: netbox/extras/filtersets.py:176 netbox/extras/filtersets.py:204
@@ -306,11 +306,12 @@ msgstr "Terminação A (ID)"
#: netbox/tenancy/filtersets.py:100 netbox/users/filtersets.py:23
#: netbox/users/filtersets.py:52 netbox/users/filtersets.py:92
#: netbox/users/filtersets.py:140 netbox/utilities/forms/forms.py:104
+#: netbox/utilities/templates/navigation/menu.html:16
msgid "Search"
msgstr "Busca"
#: netbox/circuits/filtersets.py:262 netbox/circuits/forms/bulk_edit.py:170
-#: netbox/circuits/forms/bulk_import.py:117
+#: netbox/circuits/forms/bulk_import.py:114
#: netbox/circuits/forms/filtersets.py:196
#: netbox/circuits/forms/filtersets.py:212
#: netbox/circuits/forms/model_forms.py:109
@@ -331,9 +332,9 @@ msgstr "Rede do provedor (ID)"
#: netbox/circuits/forms/filtersets.py:54
#: netbox/circuits/forms/model_forms.py:27
#: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:127
-#: netbox/dcim/forms/filtersets.py:188 netbox/dcim/forms/model_forms.py:122
+#: netbox/dcim/forms/filtersets.py:189 netbox/dcim/forms/model_forms.py:122
#: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:210
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:213
#: netbox/netbox/navigation/menu.py:159 netbox/netbox/navigation/menu.py:162
#: netbox/templates/circuits/provider.html:23
msgid "ASNs"
@@ -471,7 +472,7 @@ msgstr "Descrição"
#: netbox/circuits/forms/bulk_edit.py:121
#: netbox/circuits/forms/bulk_import.py:35
#: netbox/circuits/forms/bulk_import.py:50
-#: netbox/circuits/forms/bulk_import.py:76
+#: netbox/circuits/forms/bulk_import.py:73
#: netbox/circuits/forms/filtersets.py:68
#: netbox/circuits/forms/filtersets.py:86
#: netbox/circuits/forms/filtersets.py:114
@@ -504,8 +505,8 @@ msgstr "ID do serviço"
#: netbox/circuits/forms/filtersets.py:105 netbox/dcim/forms/bulk_edit.py:205
#: netbox/dcim/forms/bulk_edit.py:502 netbox/dcim/forms/bulk_edit.py:702
#: netbox/dcim/forms/bulk_edit.py:1071 netbox/dcim/forms/bulk_edit.py:1098
-#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:983
-#: netbox/dcim/forms/filtersets.py:1359 netbox/dcim/forms/filtersets.py:1380
+#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:995
+#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392
#: netbox/dcim/tables/devices.py:687 netbox/dcim/tables/devices.py:744
#: netbox/dcim/tables/devices.py:968 netbox/dcim/tables/devicetypes.py:245
#: netbox/dcim/tables/devicetypes.py:260 netbox/dcim/tables/racks.py:32
@@ -521,7 +522,7 @@ msgid "Color"
msgstr "Cor"
#: netbox/circuits/forms/bulk_edit.py:116
-#: netbox/circuits/forms/bulk_import.py:89
+#: netbox/circuits/forms/bulk_import.py:86
#: netbox/circuits/forms/filtersets.py:124 netbox/core/forms/bulk_edit.py:18
#: netbox/core/forms/filtersets.py:30 netbox/core/tables/data.py:20
#: netbox/core/tables/jobs.py:18 netbox/dcim/forms/bulk_edit.py:282
@@ -529,17 +530,17 @@ msgstr "Cor"
#: netbox/dcim/forms/bulk_edit.py:887 netbox/dcim/forms/bulk_edit.py:906
#: netbox/dcim/forms/bulk_edit.py:929 netbox/dcim/forms/bulk_edit.py:971
#: netbox/dcim/forms/bulk_edit.py:1015 netbox/dcim/forms/bulk_edit.py:1066
-#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:214
-#: netbox/dcim/forms/bulk_import.py:653 netbox/dcim/forms/bulk_import.py:679
-#: netbox/dcim/forms/bulk_import.py:705 netbox/dcim/forms/bulk_import.py:725
-#: netbox/dcim/forms/bulk_import.py:808 netbox/dcim/forms/bulk_import.py:902
-#: netbox/dcim/forms/bulk_import.py:944 netbox/dcim/forms/bulk_import.py:1161
-#: netbox/dcim/forms/bulk_import.py:1327 netbox/dcim/forms/filtersets.py:287
-#: netbox/dcim/forms/filtersets.py:874 netbox/dcim/forms/filtersets.py:973
-#: netbox/dcim/forms/filtersets.py:1094 netbox/dcim/forms/filtersets.py:1164
-#: netbox/dcim/forms/filtersets.py:1186 netbox/dcim/forms/filtersets.py:1208
-#: netbox/dcim/forms/filtersets.py:1225 netbox/dcim/forms/filtersets.py:1259
-#: netbox/dcim/forms/filtersets.py:1354 netbox/dcim/forms/filtersets.py:1375
+#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:211
+#: netbox/dcim/forms/bulk_import.py:647 netbox/dcim/forms/bulk_import.py:673
+#: netbox/dcim/forms/bulk_import.py:699 netbox/dcim/forms/bulk_import.py:719
+#: netbox/dcim/forms/bulk_import.py:802 netbox/dcim/forms/bulk_import.py:896
+#: netbox/dcim/forms/bulk_import.py:938 netbox/dcim/forms/bulk_import.py:1152
+#: netbox/dcim/forms/bulk_import.py:1315 netbox/dcim/forms/filtersets.py:288
+#: netbox/dcim/forms/filtersets.py:886 netbox/dcim/forms/filtersets.py:985
+#: netbox/dcim/forms/filtersets.py:1106 netbox/dcim/forms/filtersets.py:1176
+#: netbox/dcim/forms/filtersets.py:1198 netbox/dcim/forms/filtersets.py:1220
+#: netbox/dcim/forms/filtersets.py:1237 netbox/dcim/forms/filtersets.py:1271
+#: netbox/dcim/forms/filtersets.py:1366 netbox/dcim/forms/filtersets.py:1387
#: netbox/dcim/forms/model_forms.py:646 netbox/dcim/forms/model_forms.py:652
#: netbox/dcim/forms/object_import.py:84
#: netbox/dcim/forms/object_import.py:113
@@ -578,14 +579,14 @@ msgid "Type"
msgstr "Tipo"
#: netbox/circuits/forms/bulk_edit.py:126
-#: netbox/circuits/forms/bulk_import.py:82
+#: netbox/circuits/forms/bulk_import.py:79
#: netbox/circuits/forms/filtersets.py:137
#: netbox/circuits/forms/model_forms.py:96
msgid "Provider account"
msgstr "Conta do provedor"
#: netbox/circuits/forms/bulk_edit.py:134
-#: netbox/circuits/forms/bulk_import.py:95
+#: netbox/circuits/forms/bulk_import.py:92
#: netbox/circuits/forms/filtersets.py:148 netbox/core/forms/filtersets.py:35
#: netbox/core/forms/filtersets.py:76 netbox/core/tables/data.py:23
#: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88
@@ -594,13 +595,13 @@ msgstr "Conta do provedor"
#: netbox/dcim/forms/bulk_edit.py:654 netbox/dcim/forms/bulk_edit.py:686
#: netbox/dcim/forms/bulk_edit.py:813 netbox/dcim/forms/bulk_edit.py:1594
#: netbox/dcim/forms/bulk_import.py:87 netbox/dcim/forms/bulk_import.py:146
-#: netbox/dcim/forms/bulk_import.py:202 netbox/dcim/forms/bulk_import.py:450
-#: netbox/dcim/forms/bulk_import.py:604 netbox/dcim/forms/bulk_import.py:1155
-#: netbox/dcim/forms/bulk_import.py:1322 netbox/dcim/forms/bulk_import.py:1386
-#: netbox/dcim/forms/filtersets.py:171 netbox/dcim/forms/filtersets.py:230
-#: netbox/dcim/forms/filtersets.py:282 netbox/dcim/forms/filtersets.py:728
-#: netbox/dcim/forms/filtersets.py:843 netbox/dcim/forms/filtersets.py:877
-#: netbox/dcim/forms/filtersets.py:978 netbox/dcim/forms/filtersets.py:1089
+#: netbox/dcim/forms/bulk_import.py:199 netbox/dcim/forms/bulk_import.py:444
+#: netbox/dcim/forms/bulk_import.py:598 netbox/dcim/forms/bulk_import.py:1146
+#: netbox/dcim/forms/bulk_import.py:1310 netbox/dcim/forms/bulk_import.py:1374
+#: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:231
+#: netbox/dcim/forms/filtersets.py:283 netbox/dcim/forms/filtersets.py:730
+#: netbox/dcim/forms/filtersets.py:855 netbox/dcim/forms/filtersets.py:889
+#: netbox/dcim/forms/filtersets.py:990 netbox/dcim/forms/filtersets.py:1101
#: netbox/dcim/tables/devices.py:137 netbox/dcim/tables/devices.py:800
#: netbox/dcim/tables/devices.py:1028 netbox/dcim/tables/modules.py:69
#: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:66
@@ -618,7 +619,7 @@ msgstr "Conta do provedor"
#: netbox/templates/circuits/circuit.html:34
#: netbox/templates/core/datasource.html:46 netbox/templates/core/job.html:30
#: netbox/templates/core/rq_task.html:81 netbox/templates/core/system.html:18
-#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:176
+#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:178
#: netbox/templates/dcim/location.html:45 netbox/templates/dcim/module.html:66
#: netbox/templates/dcim/powerfeed.html:36 netbox/templates/dcim/rack.html:43
#: netbox/templates/dcim/site.html:43
@@ -654,20 +655,20 @@ msgid "Status"
msgstr "Status"
#: netbox/circuits/forms/bulk_edit.py:140
-#: netbox/circuits/forms/bulk_import.py:100
+#: netbox/circuits/forms/bulk_import.py:97
#: netbox/circuits/forms/filtersets.py:117 netbox/dcim/forms/bulk_edit.py:121
#: netbox/dcim/forms/bulk_edit.py:186 netbox/dcim/forms/bulk_edit.py:256
#: netbox/dcim/forms/bulk_edit.py:368 netbox/dcim/forms/bulk_edit.py:588
#: netbox/dcim/forms/bulk_edit.py:692 netbox/dcim/forms/bulk_edit.py:1599
#: netbox/dcim/forms/bulk_import.py:106 netbox/dcim/forms/bulk_import.py:151
-#: netbox/dcim/forms/bulk_import.py:195 netbox/dcim/forms/bulk_import.py:282
-#: netbox/dcim/forms/bulk_import.py:424 netbox/dcim/forms/bulk_import.py:1167
-#: netbox/dcim/forms/bulk_import.py:1379 netbox/dcim/forms/filtersets.py:166
-#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:249
-#: netbox/dcim/forms/filtersets.py:334 netbox/dcim/forms/filtersets.py:355
-#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:835
-#: netbox/dcim/forms/filtersets.py:897 netbox/dcim/forms/filtersets.py:927
-#: netbox/dcim/forms/filtersets.py:1049 netbox/dcim/tables/power.py:88
+#: netbox/dcim/forms/bulk_import.py:192 netbox/dcim/forms/bulk_import.py:279
+#: netbox/dcim/forms/bulk_import.py:418 netbox/dcim/forms/bulk_import.py:1158
+#: netbox/dcim/forms/bulk_import.py:1367 netbox/dcim/forms/filtersets.py:167
+#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250
+#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:356
+#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:847
+#: netbox/dcim/forms/filtersets.py:909 netbox/dcim/forms/filtersets.py:939
+#: netbox/dcim/forms/filtersets.py:1061 netbox/dcim/tables/power.py:88
#: netbox/extras/filtersets.py:564 netbox/extras/forms/filtersets.py:332
#: netbox/extras/forms/filtersets.py:405 netbox/ipam/forms/bulk_edit.py:41
#: netbox/ipam/forms/bulk_edit.py:66 netbox/ipam/forms/bulk_edit.py:110
@@ -806,29 +807,22 @@ msgstr "Detalhes da Terminação"
#: netbox/circuits/forms/bulk_import.py:38
#: netbox/circuits/forms/bulk_import.py:53
-#: netbox/circuits/forms/bulk_import.py:79
+#: netbox/circuits/forms/bulk_import.py:76
msgid "Assigned provider"
msgstr "Provedor designado"
-#: netbox/circuits/forms/bulk_import.py:70
-#: netbox/dcim/forms/bulk_import.py:178 netbox/dcim/forms/bulk_import.py:388
-#: netbox/dcim/forms/bulk_import.py:1108 netbox/dcim/forms/bulk_import.py:1187
-#: netbox/extras/forms/bulk_import.py:232
-msgid "RGB color in hexadecimal. Example:"
-msgstr "Cor RGB em hexadecimal. Exemplo:"
-
-#: netbox/circuits/forms/bulk_import.py:85
+#: netbox/circuits/forms/bulk_import.py:82
msgid "Assigned provider account"
msgstr "Conta de provedor designada"
-#: netbox/circuits/forms/bulk_import.py:92
+#: netbox/circuits/forms/bulk_import.py:89
msgid "Type of circuit"
msgstr "Tipo de circuito"
-#: netbox/circuits/forms/bulk_import.py:97 netbox/dcim/forms/bulk_import.py:89
-#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:204
-#: netbox/dcim/forms/bulk_import.py:452 netbox/dcim/forms/bulk_import.py:606
-#: netbox/dcim/forms/bulk_import.py:1324 netbox/ipam/forms/bulk_import.py:193
+#: netbox/circuits/forms/bulk_import.py:94 netbox/dcim/forms/bulk_import.py:89
+#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:201
+#: netbox/dcim/forms/bulk_import.py:446 netbox/dcim/forms/bulk_import.py:600
+#: netbox/dcim/forms/bulk_import.py:1312 netbox/ipam/forms/bulk_import.py:193
#: netbox/ipam/forms/bulk_import.py:258 netbox/ipam/forms/bulk_import.py:294
#: netbox/ipam/forms/bulk_import.py:460
#: netbox/virtualization/forms/bulk_import.py:56
@@ -837,11 +831,11 @@ msgstr "Tipo de circuito"
msgid "Operational status"
msgstr "Status operacional"
-#: netbox/circuits/forms/bulk_import.py:104
+#: netbox/circuits/forms/bulk_import.py:101
#: netbox/dcim/forms/bulk_import.py:110 netbox/dcim/forms/bulk_import.py:155
-#: netbox/dcim/forms/bulk_import.py:286 netbox/dcim/forms/bulk_import.py:428
-#: netbox/dcim/forms/bulk_import.py:1171 netbox/dcim/forms/bulk_import.py:1319
-#: netbox/dcim/forms/bulk_import.py:1383 netbox/ipam/forms/bulk_import.py:41
+#: netbox/dcim/forms/bulk_import.py:283 netbox/dcim/forms/bulk_import.py:422
+#: netbox/dcim/forms/bulk_import.py:1162 netbox/dcim/forms/bulk_import.py:1307
+#: netbox/dcim/forms/bulk_import.py:1371 netbox/ipam/forms/bulk_import.py:41
#: netbox/ipam/forms/bulk_import.py:70 netbox/ipam/forms/bulk_import.py:98
#: netbox/ipam/forms/bulk_import.py:118 netbox/ipam/forms/bulk_import.py:138
#: netbox/ipam/forms/bulk_import.py:167 netbox/ipam/forms/bulk_import.py:253
@@ -853,7 +847,7 @@ msgstr "Status operacional"
msgid "Assigned tenant"
msgstr "Inquilino designado"
-#: netbox/circuits/forms/bulk_import.py:122
+#: netbox/circuits/forms/bulk_import.py:119
#: netbox/templates/circuits/inc/circuit_termination.html:6
#: netbox/templates/circuits/inc/circuit_termination_fields.html:15
#: netbox/templates/dcim/cable.html:68 netbox/templates/dcim/cable.html:72
@@ -861,7 +855,7 @@ msgstr "Inquilino designado"
msgid "Termination"
msgstr "Terminação"
-#: netbox/circuits/forms/bulk_import.py:132
+#: netbox/circuits/forms/bulk_import.py:129
#: netbox/circuits/forms/filtersets.py:145
#: netbox/circuits/forms/filtersets.py:225
#: netbox/circuits/forms/model_forms.py:142
@@ -873,20 +867,20 @@ msgstr "Rede do provedor"
#: netbox/circuits/forms/filtersets.py:198 netbox/dcim/forms/bulk_edit.py:248
#: netbox/dcim/forms/bulk_edit.py:346 netbox/dcim/forms/bulk_edit.py:580
#: netbox/dcim/forms/bulk_edit.py:627 netbox/dcim/forms/bulk_edit.py:780
-#: netbox/dcim/forms/bulk_import.py:189 netbox/dcim/forms/bulk_import.py:263
-#: netbox/dcim/forms/bulk_import.py:491 netbox/dcim/forms/bulk_import.py:1268
-#: netbox/dcim/forms/bulk_import.py:1302 netbox/dcim/forms/filtersets.py:93
-#: netbox/dcim/forms/filtersets.py:246 netbox/dcim/forms/filtersets.py:279
-#: netbox/dcim/forms/filtersets.py:331 netbox/dcim/forms/filtersets.py:382
-#: netbox/dcim/forms/filtersets.py:649 netbox/dcim/forms/filtersets.py:691
-#: netbox/dcim/forms/filtersets.py:896 netbox/dcim/forms/filtersets.py:925
-#: netbox/dcim/forms/filtersets.py:945 netbox/dcim/forms/filtersets.py:1009
-#: netbox/dcim/forms/filtersets.py:1039 netbox/dcim/forms/filtersets.py:1048
-#: netbox/dcim/forms/filtersets.py:1159 netbox/dcim/forms/filtersets.py:1181
-#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1220
-#: netbox/dcim/forms/filtersets.py:1240 netbox/dcim/forms/filtersets.py:1348
-#: netbox/dcim/forms/filtersets.py:1370 netbox/dcim/forms/filtersets.py:1391
-#: netbox/dcim/forms/filtersets.py:1406 netbox/dcim/forms/filtersets.py:1420
+#: netbox/dcim/forms/bulk_import.py:186 netbox/dcim/forms/bulk_import.py:260
+#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1256
+#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:94
+#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:280
+#: netbox/dcim/forms/filtersets.py:332 netbox/dcim/forms/filtersets.py:383
+#: netbox/dcim/forms/filtersets.py:650 netbox/dcim/forms/filtersets.py:693
+#: netbox/dcim/forms/filtersets.py:908 netbox/dcim/forms/filtersets.py:937
+#: netbox/dcim/forms/filtersets.py:957 netbox/dcim/forms/filtersets.py:1021
+#: netbox/dcim/forms/filtersets.py:1051 netbox/dcim/forms/filtersets.py:1060
+#: netbox/dcim/forms/filtersets.py:1171 netbox/dcim/forms/filtersets.py:1193
+#: netbox/dcim/forms/filtersets.py:1215 netbox/dcim/forms/filtersets.py:1232
+#: netbox/dcim/forms/filtersets.py:1252 netbox/dcim/forms/filtersets.py:1360
+#: netbox/dcim/forms/filtersets.py:1382 netbox/dcim/forms/filtersets.py:1403
+#: netbox/dcim/forms/filtersets.py:1418 netbox/dcim/forms/filtersets.py:1432
#: netbox/dcim/forms/model_forms.py:179 netbox/dcim/forms/model_forms.py:211
#: netbox/dcim/forms/model_forms.py:411 netbox/dcim/forms/model_forms.py:676
#: netbox/dcim/tables/devices.py:154 netbox/dcim/tables/power.py:30
@@ -909,14 +903,14 @@ msgid "Location"
msgstr "Localização"
#: netbox/circuits/forms/filtersets.py:30
-#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:137
-#: netbox/dcim/forms/filtersets.py:151 netbox/dcim/forms/filtersets.py:167
-#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250
-#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:406
-#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:1010
+#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:138
+#: netbox/dcim/forms/filtersets.py:152 netbox/dcim/forms/filtersets.py:168
+#: netbox/dcim/forms/filtersets.py:200 netbox/dcim/forms/filtersets.py:251
+#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:407
+#: netbox/dcim/forms/filtersets.py:654 netbox/dcim/forms/filtersets.py:1022
#: netbox/netbox/navigation/menu.py:44 netbox/netbox/navigation/menu.py:46
#: netbox/tenancy/forms/filtersets.py:42 netbox/tenancy/tables/columns.py:70
-#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:18
+#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:19
#: netbox/virtualization/forms/filtersets.py:37
#: netbox/virtualization/forms/filtersets.py:48
#: netbox/virtualization/forms/filtersets.py:106
@@ -926,13 +920,13 @@ msgstr "Contatos"
#: netbox/circuits/forms/filtersets.py:35
#: netbox/circuits/forms/filtersets.py:155 netbox/dcim/forms/bulk_edit.py:111
#: netbox/dcim/forms/bulk_edit.py:223 netbox/dcim/forms/bulk_edit.py:755
-#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:71
-#: netbox/dcim/forms/filtersets.py:178 netbox/dcim/forms/filtersets.py:204
-#: netbox/dcim/forms/filtersets.py:257 netbox/dcim/forms/filtersets.py:360
-#: netbox/dcim/forms/filtersets.py:668 netbox/dcim/forms/filtersets.py:902
-#: netbox/dcim/forms/filtersets.py:932 netbox/dcim/forms/filtersets.py:1016
-#: netbox/dcim/forms/filtersets.py:1055 netbox/dcim/forms/filtersets.py:1468
-#: netbox/dcim/forms/filtersets.py:1492 netbox/dcim/forms/filtersets.py:1516
+#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:72
+#: netbox/dcim/forms/filtersets.py:179 netbox/dcim/forms/filtersets.py:205
+#: netbox/dcim/forms/filtersets.py:258 netbox/dcim/forms/filtersets.py:361
+#: netbox/dcim/forms/filtersets.py:670 netbox/dcim/forms/filtersets.py:914
+#: netbox/dcim/forms/filtersets.py:944 netbox/dcim/forms/filtersets.py:1028
+#: netbox/dcim/forms/filtersets.py:1067 netbox/dcim/forms/filtersets.py:1480
+#: netbox/dcim/forms/filtersets.py:1504 netbox/dcim/forms/filtersets.py:1528
#: netbox/dcim/forms/model_forms.py:111 netbox/dcim/forms/object_create.py:375
#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/sites.py:85
#: netbox/extras/filtersets.py:455 netbox/ipam/forms/bulk_edit.py:206
@@ -953,11 +947,11 @@ msgstr "Região"
#: netbox/circuits/forms/filtersets.py:40
#: netbox/circuits/forms/filtersets.py:160 netbox/dcim/forms/bulk_edit.py:231
-#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:76
-#: netbox/dcim/forms/filtersets.py:183 netbox/dcim/forms/filtersets.py:209
-#: netbox/dcim/forms/filtersets.py:270 netbox/dcim/forms/filtersets.py:365
-#: netbox/dcim/forms/filtersets.py:673 netbox/dcim/forms/filtersets.py:907
-#: netbox/dcim/forms/filtersets.py:1021 netbox/dcim/forms/filtersets.py:1060
+#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:77
+#: netbox/dcim/forms/filtersets.py:184 netbox/dcim/forms/filtersets.py:210
+#: netbox/dcim/forms/filtersets.py:271 netbox/dcim/forms/filtersets.py:366
+#: netbox/dcim/forms/filtersets.py:675 netbox/dcim/forms/filtersets.py:919
+#: netbox/dcim/forms/filtersets.py:1033 netbox/dcim/forms/filtersets.py:1072
#: netbox/dcim/forms/object_create.py:383 netbox/extras/filtersets.py:472
#: netbox/ipam/forms/bulk_edit.py:211 netbox/ipam/forms/bulk_edit.py:445
#: netbox/ipam/forms/bulk_edit.py:517 netbox/ipam/forms/filtersets.py:222
@@ -974,14 +968,14 @@ msgstr "Grupo de sites"
#: netbox/circuits/forms/filtersets.py:81
#: netbox/circuits/forms/filtersets.py:100
#: netbox/circuits/forms/filtersets.py:115 netbox/core/forms/filtersets.py:64
-#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:165
-#: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/filtersets.py:834
-#: netbox/dcim/forms/filtersets.py:926 netbox/dcim/forms/filtersets.py:1050
-#: netbox/dcim/forms/filtersets.py:1158 netbox/dcim/forms/filtersets.py:1180
-#: netbox/dcim/forms/filtersets.py:1202 netbox/dcim/forms/filtersets.py:1219
-#: netbox/dcim/forms/filtersets.py:1236 netbox/dcim/forms/filtersets.py:1347
-#: netbox/dcim/forms/filtersets.py:1369 netbox/dcim/forms/filtersets.py:1390
-#: netbox/dcim/forms/filtersets.py:1405 netbox/dcim/forms/filtersets.py:1418
+#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:166
+#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:846
+#: netbox/dcim/forms/filtersets.py:938 netbox/dcim/forms/filtersets.py:1062
+#: netbox/dcim/forms/filtersets.py:1170 netbox/dcim/forms/filtersets.py:1192
+#: netbox/dcim/forms/filtersets.py:1214 netbox/dcim/forms/filtersets.py:1231
+#: netbox/dcim/forms/filtersets.py:1248 netbox/dcim/forms/filtersets.py:1359
+#: netbox/dcim/forms/filtersets.py:1381 netbox/dcim/forms/filtersets.py:1402
+#: netbox/dcim/forms/filtersets.py:1417 netbox/dcim/forms/filtersets.py:1430
#: netbox/extras/forms/filtersets.py:43 netbox/extras/forms/filtersets.py:112
#: netbox/extras/forms/filtersets.py:143 netbox/extras/forms/filtersets.py:183
#: netbox/extras/forms/filtersets.py:199 netbox/extras/forms/filtersets.py:230
@@ -1117,7 +1111,7 @@ msgstr "ID do patch panel e número da(s) porta(s)"
#: netbox/dcim/models/device_component_templates.py:61
#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:538
#: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219
-#: netbox/extras/models/customfields.py:123 netbox/extras/models/models.py:60
+#: netbox/extras/models/customfields.py:124 netbox/extras/models/models.py:60
#: netbox/extras/models/models.py:186 netbox/extras/models/models.py:424
#: netbox/extras/models/models.py:539 netbox/extras/models/staging.py:32
#: netbox/extras/models/tags.py:32 netbox/netbox/models/__init__.py:109
@@ -1160,7 +1154,7 @@ msgstr ""
#: netbox/dcim/models/devices.py:1360 netbox/dcim/models/power.py:39
#: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:63
#: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36
-#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:90
+#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:91
#: netbox/extras/models/models.py:55 netbox/extras/models/models.py:181
#: netbox/extras/models/models.py:324 netbox/extras/models/models.py:420
#: netbox/extras/models/models.py:529 netbox/extras/models/models.py:624
@@ -1233,7 +1227,7 @@ msgstr "redes dos provedores"
#: netbox/circuits/tables/providers.py:99 netbox/core/tables/data.py:16
#: netbox/core/tables/jobs.py:14 netbox/core/tables/plugins.py:13
#: netbox/core/tables/tasks.py:11 netbox/core/tables/tasks.py:115
-#: netbox/dcim/forms/filtersets.py:61 netbox/dcim/forms/object_create.py:43
+#: netbox/dcim/forms/filtersets.py:62 netbox/dcim/forms/object_create.py:43
#: netbox/dcim/tables/devices.py:52 netbox/dcim/tables/devices.py:89
#: netbox/dcim/tables/devices.py:131 netbox/dcim/tables/devices.py:286
#: netbox/dcim/tables/devices.py:380 netbox/dcim/tables/devices.py:421
@@ -1544,7 +1538,7 @@ msgstr "Origem de dados (nome)"
#: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:40
#: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1020
-#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1276
+#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1288
#: netbox/dcim/tables/devices.py:541 netbox/dcim/tables/devicetypes.py:221
#: netbox/extras/forms/bulk_edit.py:98 netbox/extras/forms/bulk_edit.py:162
#: netbox/extras/forms/bulk_edit.py:221 netbox/extras/forms/filtersets.py:120
@@ -1647,7 +1641,7 @@ msgid "Completed before"
msgstr "Concluído antes"
#: netbox/core/forms/filtersets.py:123 netbox/dcim/forms/bulk_edit.py:361
-#: netbox/dcim/forms/filtersets.py:353 netbox/dcim/forms/filtersets.py:397
+#: netbox/dcim/forms/filtersets.py:354 netbox/dcim/forms/filtersets.py:398
#: netbox/dcim/forms/model_forms.py:258 netbox/extras/forms/filtersets.py:465
#: netbox/extras/forms/filtersets.py:505
#: netbox/templates/dcim/rackreservation.html:58
@@ -1733,7 +1727,7 @@ msgstr "Validação"
msgid "User Preferences"
msgstr "Preferências de Usuário"
-#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:661
+#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:663
#: netbox/templates/core/inc/config_data.html:127
#: netbox/users/forms/model_forms.py:65
msgid "Miscellaneous"
@@ -1808,7 +1802,7 @@ msgstr "Revisão da configuração #{id}"
#: netbox/dcim/models/device_components.py:971
#: netbox/dcim/models/device_components.py:1045
#: netbox/dcim/models/power.py:102 netbox/dcim/models/racks.py:128
-#: netbox/extras/models/customfields.py:76 netbox/extras/models/search.py:41
+#: netbox/extras/models/customfields.py:77 netbox/extras/models/search.py:41
#: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32
msgid "type"
msgstr "tipo"
@@ -2178,7 +2172,7 @@ msgstr "{n} polegadas"
msgid "Reserved"
msgstr "Reservado"
-#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:252
+#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:259
msgid "Available"
msgstr "Disponível"
@@ -2200,8 +2194,8 @@ msgstr "Polegadas"
#: netbox/dcim/forms/bulk_edit.py:86 netbox/dcim/forms/bulk_edit.py:172
#: netbox/dcim/forms/bulk_edit.py:1298 netbox/dcim/forms/bulk_import.py:59
#: netbox/dcim/forms/bulk_import.py:73 netbox/dcim/forms/bulk_import.py:136
-#: netbox/dcim/forms/bulk_import.py:511 netbox/dcim/forms/bulk_import.py:778
-#: netbox/dcim/forms/bulk_import.py:1033 netbox/dcim/forms/filtersets.py:227
+#: netbox/dcim/forms/bulk_import.py:505 netbox/dcim/forms/bulk_import.py:772
+#: netbox/dcim/forms/bulk_import.py:1027 netbox/dcim/forms/filtersets.py:228
#: netbox/dcim/forms/model_forms.py:73 netbox/dcim/forms/model_forms.py:92
#: netbox/dcim/forms/model_forms.py:169 netbox/dcim/forms/model_forms.py:1010
#: netbox/dcim/forms/model_forms.py:1449
@@ -2235,14 +2229,14 @@ msgstr "Pai"
msgid "Child"
msgstr "Filho"
-#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:332
+#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:339
#: netbox/templates/dcim/rack.html:175
#: netbox/templates/dcim/rack_elevation_list.html:20
#: netbox/templates/dcim/rackreservation.html:76
msgid "Front"
msgstr "Frente"
-#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:338
+#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:345
#: netbox/templates/dcim/rack.html:181
#: netbox/templates/dcim/rack_elevation_list.html:21
#: netbox/templates/dcim/rackreservation.html:82
@@ -2326,7 +2320,7 @@ msgid "Virtual"
msgstr "Virtual"
#: netbox/dcim/choices.py:814 netbox/dcim/choices.py:1051
-#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1239
+#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1251
#: netbox/dcim/forms/model_forms.py:936 netbox/dcim/forms/model_forms.py:1344
#: netbox/netbox/navigation/menu.py:127 netbox/netbox/navigation/menu.py:131
#: netbox/templates/dcim/interface.html:210
@@ -2338,7 +2332,7 @@ msgid "Virtual interfaces"
msgstr "Interfaces virtuais"
#: netbox/dcim/choices.py:979 netbox/dcim/forms/bulk_edit.py:1303
-#: netbox/dcim/forms/bulk_import.py:785 netbox/dcim/forms/model_forms.py:922
+#: netbox/dcim/forms/bulk_import.py:779 netbox/dcim/forms/model_forms.py:922
#: netbox/dcim/tables/devices.py:644 netbox/templates/dcim/interface.html:106
#: netbox/templates/virtualization/vminterface.html:43
#: netbox/virtualization/forms/bulk_edit.py:212
@@ -2367,9 +2361,9 @@ msgstr "Ethernet (backplane)"
msgid "Cellular"
msgstr "Celular"
-#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:303
-#: netbox/dcim/forms/filtersets.py:738 netbox/dcim/forms/filtersets.py:882
-#: netbox/dcim/forms/filtersets.py:1434
+#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:304
+#: netbox/dcim/forms/filtersets.py:740 netbox/dcim/forms/filtersets.py:894
+#: netbox/dcim/forms/filtersets.py:1446
#: netbox/templates/dcim/inventoryitem.html:52
#: netbox/templates/dcim/virtualchassis_edit.html:54
msgid "Serial"
@@ -2442,7 +2436,7 @@ msgstr "Fibra Óptica"
msgid "Fiber"
msgstr "Fibra"
-#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1146
+#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1158
msgid "Connected"
msgstr "Conectado"
@@ -2466,7 +2460,7 @@ msgstr "Milhas"
msgid "Feet"
msgstr "Pés"
-#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:320
+#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:327
#: netbox/templates/dcim/rack.html:152
msgid "Kilograms"
msgstr "Quilogramas"
@@ -2548,25 +2542,25 @@ msgstr "Localização principal (slug)"
#: netbox/dcim/filtersets.py:257 netbox/dcim/filtersets.py:333
#: netbox/dcim/filtersets.py:432 netbox/dcim/filtersets.py:1005
-#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:2111
+#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2122
msgid "Location (ID)"
msgstr "Localização (ID)"
#: netbox/dcim/filtersets.py:264 netbox/dcim/filtersets.py:340
-#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1347
+#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1358
#: netbox/extras/filtersets.py:494
msgid "Location (slug)"
msgstr "Localização (slug)"
#: netbox/dcim/filtersets.py:354 netbox/dcim/filtersets.py:840
-#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1779
+#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1790
#: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493
#: netbox/ipam/filtersets.py:989 netbox/virtualization/filtersets.py:210
msgid "Role (ID)"
msgstr "Função (ID)"
#: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:846
-#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1785
+#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1796
#: netbox/extras/filtersets.py:510 netbox/ipam/filtersets.py:387
#: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:995
#: netbox/virtualization/filtersets.py:216
@@ -2574,7 +2568,7 @@ msgid "Role (slug)"
msgstr "Função (slug)"
#: netbox/dcim/filtersets.py:389 netbox/dcim/filtersets.py:1010
-#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2173
+#: netbox/dcim/filtersets.py:1363 netbox/dcim/filtersets.py:2184
msgid "Rack (ID)"
msgstr "Rack (ID)"
@@ -2592,15 +2586,15 @@ msgstr "Usuário (nome)"
#: netbox/dcim/filtersets.py:481 netbox/dcim/filtersets.py:620
#: netbox/dcim/filtersets.py:830 netbox/dcim/filtersets.py:881
-#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1243
-#: netbox/dcim/filtersets.py:1769
+#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1254
+#: netbox/dcim/filtersets.py:1780
msgid "Manufacturer (ID)"
msgstr "Fabricante (ID)"
#: netbox/dcim/filtersets.py:487 netbox/dcim/filtersets.py:626
#: netbox/dcim/filtersets.py:836 netbox/dcim/filtersets.py:887
-#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1249
-#: netbox/dcim/filtersets.py:1775
+#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1260
+#: netbox/dcim/filtersets.py:1786
msgid "Manufacturer (slug)"
msgstr "Fabricante (slug)"
@@ -2612,83 +2606,83 @@ msgstr "Plataforma padrão (ID)"
msgid "Default platform (slug)"
msgstr "Plataforma padrão (slug)"
-#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:452
+#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:453
msgid "Has a front image"
msgstr "Possui imagem frontal"
-#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:459
+#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:460
msgid "Has a rear image"
msgstr "Possui imagem traseira"
#: netbox/dcim/filtersets.py:509 netbox/dcim/filtersets.py:630
-#: netbox/dcim/filtersets.py:1068 netbox/dcim/forms/filtersets.py:466
-#: netbox/dcim/forms/filtersets.py:562 netbox/dcim/forms/filtersets.py:777
+#: netbox/dcim/filtersets.py:1079 netbox/dcim/forms/filtersets.py:467
+#: netbox/dcim/forms/filtersets.py:563 netbox/dcim/forms/filtersets.py:779
msgid "Has console ports"
msgstr "Possui portas de console"
#: netbox/dcim/filtersets.py:513 netbox/dcim/filtersets.py:634
-#: netbox/dcim/filtersets.py:1072 netbox/dcim/forms/filtersets.py:473
-#: netbox/dcim/forms/filtersets.py:569 netbox/dcim/forms/filtersets.py:784
+#: netbox/dcim/filtersets.py:1083 netbox/dcim/forms/filtersets.py:474
+#: netbox/dcim/forms/filtersets.py:570 netbox/dcim/forms/filtersets.py:786
msgid "Has console server ports"
msgstr "Possui portas de servidor de console"
#: netbox/dcim/filtersets.py:517 netbox/dcim/filtersets.py:638
-#: netbox/dcim/filtersets.py:1076 netbox/dcim/forms/filtersets.py:480
-#: netbox/dcim/forms/filtersets.py:576 netbox/dcim/forms/filtersets.py:791
+#: netbox/dcim/filtersets.py:1087 netbox/dcim/forms/filtersets.py:481
+#: netbox/dcim/forms/filtersets.py:577 netbox/dcim/forms/filtersets.py:793
msgid "Has power ports"
msgstr "Possui portas de alimentação"
#: netbox/dcim/filtersets.py:521 netbox/dcim/filtersets.py:642
-#: netbox/dcim/filtersets.py:1080 netbox/dcim/forms/filtersets.py:487
-#: netbox/dcim/forms/filtersets.py:583 netbox/dcim/forms/filtersets.py:798
+#: netbox/dcim/filtersets.py:1091 netbox/dcim/forms/filtersets.py:488
+#: netbox/dcim/forms/filtersets.py:584 netbox/dcim/forms/filtersets.py:800
msgid "Has power outlets"
msgstr "Possui tomadas elétricas"
#: netbox/dcim/filtersets.py:525 netbox/dcim/filtersets.py:646
-#: netbox/dcim/filtersets.py:1084 netbox/dcim/forms/filtersets.py:494
-#: netbox/dcim/forms/filtersets.py:590 netbox/dcim/forms/filtersets.py:805
+#: netbox/dcim/filtersets.py:1095 netbox/dcim/forms/filtersets.py:495
+#: netbox/dcim/forms/filtersets.py:591 netbox/dcim/forms/filtersets.py:807
msgid "Has interfaces"
msgstr "Possui interfaces"
#: netbox/dcim/filtersets.py:529 netbox/dcim/filtersets.py:650
-#: netbox/dcim/filtersets.py:1088 netbox/dcim/forms/filtersets.py:501
-#: netbox/dcim/forms/filtersets.py:597 netbox/dcim/forms/filtersets.py:812
+#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/filtersets.py:502
+#: netbox/dcim/forms/filtersets.py:598 netbox/dcim/forms/filtersets.py:814
msgid "Has pass-through ports"
msgstr "Possui portas passthrough"
-#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1092
-#: netbox/dcim/forms/filtersets.py:515
+#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1103
+#: netbox/dcim/forms/filtersets.py:516
msgid "Has module bays"
msgstr "Possui compartimentos de módulos"
-#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1096
-#: netbox/dcim/forms/filtersets.py:508
+#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1107
+#: netbox/dcim/forms/filtersets.py:509
msgid "Has device bays"
msgstr "Possui compartimentos de dispositivos"
-#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:522
+#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:523
msgid "Has inventory items"
msgstr "Possui itens de inventário"
#: netbox/dcim/filtersets.py:698 netbox/dcim/filtersets.py:937
-#: netbox/dcim/filtersets.py:1373
+#: netbox/dcim/filtersets.py:1384
msgid "Device type (ID)"
msgstr "Tipo de dispositivo (ID)"
-#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1254
+#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1265
msgid "Module type (ID)"
msgstr "Tipo de módulo (ID)"
-#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1524
+#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1535
msgid "Power port (ID)"
msgstr "Porta de alimentação (ID)"
-#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1765
+#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1776
msgid "Parent inventory item (ID)"
msgstr "Item principal do inventário (ID)"
#: netbox/dcim/filtersets.py:869 netbox/dcim/filtersets.py:895
-#: netbox/dcim/filtersets.py:1064 netbox/virtualization/filtersets.py:238
+#: netbox/dcim/filtersets.py:1075 netbox/virtualization/filtersets.py:238
msgid "Config template (ID)"
msgstr "Modelo de configuração (ID)"
@@ -2709,9 +2703,9 @@ msgstr "Plataforma (ID)"
msgid "Platform (slug)"
msgstr "Plataforma (slug)"
-#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1336
-#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2105
-#: netbox/dcim/filtersets.py:2164
+#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1347
+#: netbox/dcim/filtersets.py:1874 netbox/dcim/filtersets.py:2116
+#: netbox/dcim/filtersets.py:2175
msgid "Site name (slug)"
msgstr "Nome do site (slug)"
@@ -2723,16 +2717,25 @@ msgstr "Compartimento Pai (ID)"
msgid "VM cluster (ID)"
msgstr "Cluster de VMs (ID)"
-#: netbox/dcim/filtersets.py:1025
+#: netbox/dcim/filtersets.py:1025 netbox/extras/filtersets.py:543
+#: netbox/virtualization/filtersets.py:136
+msgid "Cluster group (slug)"
+msgstr "Grupo de clusters (slug)"
+
+#: netbox/dcim/filtersets.py:1030 netbox/virtualization/filtersets.py:130
+msgid "Cluster group (ID)"
+msgstr "Grupo de clusters (ID)"
+
+#: netbox/dcim/filtersets.py:1036
msgid "Device model (slug)"
msgstr "Modelo do dispositivo (slug)"
-#: netbox/dcim/filtersets.py:1036 netbox/dcim/forms/bulk_edit.py:423
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/forms/bulk_edit.py:423
msgid "Is full depth"
msgstr "É full-depth"
-#: netbox/dcim/filtersets.py:1040 netbox/dcim/forms/common.py:18
-#: netbox/dcim/forms/filtersets.py:747 netbox/dcim/forms/filtersets.py:1291
+#: netbox/dcim/filtersets.py:1051 netbox/dcim/forms/common.py:18
+#: netbox/dcim/forms/filtersets.py:749 netbox/dcim/forms/filtersets.py:1303
#: netbox/dcim/models/device_components.py:519
#: netbox/virtualization/filtersets.py:230
#: netbox/virtualization/filtersets.py:297
@@ -2741,88 +2744,88 @@ msgstr "É full-depth"
msgid "MAC address"
msgstr "Endereço MAC"
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:1211
-#: netbox/dcim/forms/filtersets.py:756 netbox/dcim/forms/filtersets.py:849
+#: netbox/dcim/filtersets.py:1058 netbox/dcim/filtersets.py:1222
+#: netbox/dcim/forms/filtersets.py:758 netbox/dcim/forms/filtersets.py:861
#: netbox/virtualization/filtersets.py:234
#: netbox/virtualization/forms/filtersets.py:176
msgid "Has a primary IP"
msgstr "Possui IP primário"
-#: netbox/dcim/filtersets.py:1051
+#: netbox/dcim/filtersets.py:1062
msgid "Has an out-of-band IP"
msgstr "Possui IP fora de banda"
-#: netbox/dcim/filtersets.py:1056
+#: netbox/dcim/filtersets.py:1067
msgid "Virtual chassis (ID)"
msgstr "Chassi virtual (ID)"
-#: netbox/dcim/filtersets.py:1060
+#: netbox/dcim/filtersets.py:1071
msgid "Is a virtual chassis member"
msgstr "É membro do chassi virtual"
-#: netbox/dcim/filtersets.py:1101
+#: netbox/dcim/filtersets.py:1112
msgid "OOB IP (ID)"
msgstr "IP Fora de Banda (ID)"
-#: netbox/dcim/filtersets.py:1105
+#: netbox/dcim/filtersets.py:1116
msgid "Has virtual device context"
msgstr "Possui contexto de dispositivo virtual"
-#: netbox/dcim/filtersets.py:1194
+#: netbox/dcim/filtersets.py:1205
msgid "VDC (ID)"
msgstr "Contexto de Dispositivo Virtual (ID)"
-#: netbox/dcim/filtersets.py:1199
+#: netbox/dcim/filtersets.py:1210
msgid "Device model"
msgstr "Modelo de dispositivo"
-#: netbox/dcim/filtersets.py:1204 netbox/ipam/filtersets.py:632
+#: netbox/dcim/filtersets.py:1215 netbox/ipam/filtersets.py:632
#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:420
msgid "Interface (ID)"
msgstr "Interface (ID)"
-#: netbox/dcim/filtersets.py:1260
+#: netbox/dcim/filtersets.py:1271
msgid "Module type (model)"
msgstr "Tipo de módulo (modelo)"
-#: netbox/dcim/filtersets.py:1266
+#: netbox/dcim/filtersets.py:1277
msgid "Module Bay (ID)"
msgstr "Compartimento do Módulo (ID)"
-#: netbox/dcim/filtersets.py:1270 netbox/dcim/filtersets.py:1362
+#: netbox/dcim/filtersets.py:1281 netbox/dcim/filtersets.py:1373
#: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851
#: netbox/ipam/filtersets.py:1075 netbox/virtualization/filtersets.py:161
#: netbox/vpn/filtersets.py:398
msgid "Device (ID)"
msgstr "Dispositivo (ID)"
-#: netbox/dcim/filtersets.py:1358
+#: netbox/dcim/filtersets.py:1369
msgid "Rack (name)"
msgstr "Rack (nome)"
-#: netbox/dcim/filtersets.py:1368 netbox/ipam/filtersets.py:606
+#: netbox/dcim/filtersets.py:1379 netbox/ipam/filtersets.py:606
#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1081
#: netbox/vpn/filtersets.py:393
msgid "Device (name)"
msgstr "Dispositivo (nome)"
-#: netbox/dcim/filtersets.py:1379
+#: netbox/dcim/filtersets.py:1390
msgid "Device type (model)"
msgstr "Tipo de dispositivo (modelo)"
-#: netbox/dcim/filtersets.py:1384
+#: netbox/dcim/filtersets.py:1395
msgid "Device role (ID)"
msgstr "Função do dispositivo (ID)"
-#: netbox/dcim/filtersets.py:1390
+#: netbox/dcim/filtersets.py:1401
msgid "Device role (slug)"
msgstr "Função do dispositivo (slug)"
-#: netbox/dcim/filtersets.py:1395
+#: netbox/dcim/filtersets.py:1406
msgid "Virtual Chassis (ID)"
msgstr "Chassi Virtual (ID)"
-#: netbox/dcim/filtersets.py:1401 netbox/dcim/forms/filtersets.py:107
+#: netbox/dcim/filtersets.py:1412 netbox/dcim/forms/filtersets.py:108
#: netbox/dcim/tables/devices.py:203 netbox/netbox/navigation/menu.py:66
#: netbox/templates/dcim/device.html:120
#: netbox/templates/dcim/device_edit.html:93
@@ -2832,25 +2835,25 @@ msgstr "Chassi Virtual (ID)"
msgid "Virtual Chassis"
msgstr "Chassi Virtual"
-#: netbox/dcim/filtersets.py:1421
+#: netbox/dcim/filtersets.py:1432
msgid "Module (ID)"
msgstr "Módulo (ID)"
-#: netbox/dcim/filtersets.py:1428
+#: netbox/dcim/filtersets.py:1439
msgid "Cable (ID)"
msgstr "Cabo (ID)"
-#: netbox/dcim/filtersets.py:1537 netbox/ipam/forms/bulk_import.py:188
+#: netbox/dcim/filtersets.py:1548 netbox/ipam/forms/bulk_import.py:188
#: netbox/vpn/forms/bulk_import.py:308
msgid "Assigned VLAN"
msgstr "VLAN Designada"
-#: netbox/dcim/filtersets.py:1541
+#: netbox/dcim/filtersets.py:1552
msgid "Assigned VID"
msgstr "VLAN ID Designada "
-#: netbox/dcim/filtersets.py:1546 netbox/dcim/forms/bulk_edit.py:1382
-#: netbox/dcim/forms/bulk_import.py:836 netbox/dcim/forms/filtersets.py:1334
+#: netbox/dcim/filtersets.py:1557 netbox/dcim/forms/bulk_edit.py:1382
+#: netbox/dcim/forms/bulk_import.py:830 netbox/dcim/forms/filtersets.py:1346
#: netbox/dcim/forms/model_forms.py:1325
#: netbox/dcim/models/device_components.py:712
#: netbox/dcim/tables/devices.py:610 netbox/ipam/filtersets.py:316
@@ -2882,18 +2885,18 @@ msgstr "VLAN ID Designada "
msgid "VRF"
msgstr "VRF"
-#: netbox/dcim/filtersets.py:1552 netbox/ipam/filtersets.py:322
+#: netbox/dcim/filtersets.py:1563 netbox/ipam/filtersets.py:322
#: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489
#: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601
msgid "VRF (RD)"
msgstr "VRF (RD)"
-#: netbox/dcim/filtersets.py:1557 netbox/ipam/filtersets.py:1016
+#: netbox/dcim/filtersets.py:1568 netbox/ipam/filtersets.py:1016
#: netbox/vpn/filtersets.py:361
msgid "L2VPN (ID)"
msgstr "L2VPN (ID)"
-#: netbox/dcim/filtersets.py:1563 netbox/dcim/forms/filtersets.py:1339
+#: netbox/dcim/filtersets.py:1574 netbox/dcim/forms/filtersets.py:1351
#: netbox/dcim/tables/devices.py:558 netbox/ipam/filtersets.py:1022
#: netbox/ipam/forms/filtersets.py:525 netbox/ipam/tables/vlans.py:133
#: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66
@@ -2905,84 +2908,84 @@ msgstr "L2VPN (ID)"
msgid "L2VPN"
msgstr "L2VPN"
-#: netbox/dcim/filtersets.py:1595
+#: netbox/dcim/filtersets.py:1606
msgid "Virtual Chassis Interfaces for Device"
msgstr "Interfaces de Chassi Virtual para Dispositivo"
-#: netbox/dcim/filtersets.py:1600
+#: netbox/dcim/filtersets.py:1611
msgid "Virtual Chassis Interfaces for Device (ID)"
msgstr "Interfaces de Chassi Virtual para Dispositivo (ID)"
-#: netbox/dcim/filtersets.py:1604
+#: netbox/dcim/filtersets.py:1615
msgid "Kind of interface"
msgstr "Tipo de interface"
-#: netbox/dcim/filtersets.py:1609 netbox/virtualization/filtersets.py:289
+#: netbox/dcim/filtersets.py:1620 netbox/virtualization/filtersets.py:289
msgid "Parent interface (ID)"
msgstr "Interface pai (ID)"
-#: netbox/dcim/filtersets.py:1614 netbox/virtualization/filtersets.py:294
+#: netbox/dcim/filtersets.py:1625 netbox/virtualization/filtersets.py:294
msgid "Bridged interface (ID)"
msgstr "Interface bridged (ID)"
-#: netbox/dcim/filtersets.py:1619
+#: netbox/dcim/filtersets.py:1630
msgid "LAG interface (ID)"
msgstr "Interface LAG (ID)"
-#: netbox/dcim/filtersets.py:1646 netbox/dcim/filtersets.py:1658
-#: netbox/dcim/forms/filtersets.py:1251 netbox/dcim/forms/model_forms.py:1637
+#: netbox/dcim/filtersets.py:1657 netbox/dcim/filtersets.py:1669
+#: netbox/dcim/forms/filtersets.py:1263 netbox/dcim/forms/model_forms.py:1637
#: netbox/templates/dcim/virtualdevicecontext.html:15
msgid "Virtual Device Context"
msgstr "Contexto de Dispositivo Virtual"
-#: netbox/dcim/filtersets.py:1652
+#: netbox/dcim/filtersets.py:1663
msgid "Virtual Device Context (Identifier)"
msgstr "Contexto de Dispositivo Virtual (ID)"
-#: netbox/dcim/filtersets.py:1663
+#: netbox/dcim/filtersets.py:1674
#: netbox/templates/wireless/wirelesslan.html:11
#: netbox/wireless/forms/model_forms.py:53
msgid "Wireless LAN"
msgstr "Rede Wireless"
-#: netbox/dcim/filtersets.py:1667 netbox/dcim/tables/devices.py:597
+#: netbox/dcim/filtersets.py:1678 netbox/dcim/tables/devices.py:597
msgid "Wireless link"
msgstr "Link Wireless"
-#: netbox/dcim/filtersets.py:1737
+#: netbox/dcim/filtersets.py:1748
msgid "Installed module (ID)"
msgstr "Módulo instalado (ID)"
-#: netbox/dcim/filtersets.py:1748
+#: netbox/dcim/filtersets.py:1759
msgid "Installed device (ID)"
msgstr "Dispositivo instalado (ID)"
-#: netbox/dcim/filtersets.py:1754
+#: netbox/dcim/filtersets.py:1765
msgid "Installed device (name)"
msgstr "Dispositivo instalado (nome)"
-#: netbox/dcim/filtersets.py:1820
+#: netbox/dcim/filtersets.py:1831
msgid "Master (ID)"
msgstr "Mestre (ID)"
-#: netbox/dcim/filtersets.py:1826
+#: netbox/dcim/filtersets.py:1837
msgid "Master (name)"
msgstr "Mestre (nome)"
-#: netbox/dcim/filtersets.py:1868 netbox/tenancy/filtersets.py:246
+#: netbox/dcim/filtersets.py:1879 netbox/tenancy/filtersets.py:246
msgid "Tenant (ID)"
msgstr "Inquilino (ID)"
-#: netbox/dcim/filtersets.py:1874 netbox/extras/filtersets.py:570
+#: netbox/dcim/filtersets.py:1885 netbox/extras/filtersets.py:570
#: netbox/tenancy/filtersets.py:252
msgid "Tenant (slug)"
msgstr "Inquilino (slug)"
-#: netbox/dcim/filtersets.py:1910 netbox/dcim/forms/filtersets.py:996
+#: netbox/dcim/filtersets.py:1921 netbox/dcim/forms/filtersets.py:1008
msgid "Unterminated"
msgstr "Não terminado"
-#: netbox/dcim/filtersets.py:2168
+#: netbox/dcim/filtersets.py:2179
msgid "Power panel (ID)"
msgstr "Quadro de alimentação (ID)"
@@ -2997,12 +3000,12 @@ msgstr "Quadro de alimentação (ID)"
msgid "Tags"
msgstr "Etiquetas"
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1396
+#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1408
#: netbox/dcim/forms/model_forms.py:431 netbox/dcim/forms/model_forms.py:489
#: netbox/dcim/forms/object_create.py:197
#: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:162
#: netbox/dcim/tables/devices.py:690 netbox/dcim/tables/devicetypes.py:242
-#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:130
+#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131
#: netbox/templates/dcim/modulebay.html:34
#: netbox/templates/dcim/virtualchassis.html:66
#: netbox/templates/dcim/virtualchassis_edit.html:55
@@ -3076,9 +3079,9 @@ msgid "Time zone"
msgstr "Fuso horário"
#: netbox/dcim/forms/bulk_edit.py:267 netbox/dcim/forms/bulk_edit.py:1160
-#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:207
-#: netbox/dcim/forms/bulk_import.py:1021 netbox/dcim/forms/filtersets.py:300
-#: netbox/dcim/forms/filtersets.py:706 netbox/dcim/forms/filtersets.py:1426
+#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:204
+#: netbox/dcim/forms/bulk_import.py:1015 netbox/dcim/forms/filtersets.py:301
+#: netbox/dcim/forms/filtersets.py:708 netbox/dcim/forms/filtersets.py:1438
#: netbox/dcim/forms/model_forms.py:219 netbox/dcim/forms/model_forms.py:1018
#: netbox/dcim/forms/model_forms.py:1457
#: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:166
@@ -3095,7 +3098,7 @@ msgstr "Fuso horário"
#: netbox/ipam/forms/model_forms.py:689 netbox/ipam/tables/ip.py:257
#: netbox/ipam/tables/ip.py:313 netbox/ipam/tables/ip.py:363
#: netbox/ipam/tables/vlans.py:126 netbox/ipam/tables/vlans.py:230
-#: netbox/templates/dcim/device.html:180
+#: netbox/templates/dcim/device.html:182
#: netbox/templates/dcim/inc/panels/inventory_items.html:20
#: netbox/templates/dcim/interface.html:223
#: netbox/templates/dcim/inventoryitem.html:36
@@ -3127,14 +3130,14 @@ msgstr "Função"
msgid "Serial Number"
msgstr "Número de Série"
-#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:307
-#: netbox/dcim/forms/filtersets.py:742 netbox/dcim/forms/filtersets.py:886
-#: netbox/dcim/forms/filtersets.py:1438
+#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:308
+#: netbox/dcim/forms/filtersets.py:744 netbox/dcim/forms/filtersets.py:898
+#: netbox/dcim/forms/filtersets.py:1450
msgid "Asset tag"
msgstr "Etiqueta de patrimônio"
-#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:220
-#: netbox/dcim/forms/filtersets.py:292 netbox/templates/dcim/rack.html:86
+#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:217
+#: netbox/dcim/forms/filtersets.py:293 netbox/templates/dcim/rack.html:86
msgid "Width"
msgstr "Largura"
@@ -3154,7 +3157,7 @@ msgstr "Largura externa"
msgid "Outer depth"
msgstr "Profundidade externa"
-#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:225
+#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:222
msgid "Outer unit"
msgstr "Unidade externa"
@@ -3165,18 +3168,18 @@ msgstr "Profundidade de montagem"
#: netbox/dcim/forms/bulk_edit.py:321 netbox/dcim/forms/bulk_edit.py:351
#: netbox/dcim/forms/bulk_edit.py:436 netbox/dcim/forms/bulk_edit.py:459
#: netbox/dcim/forms/bulk_edit.py:475 netbox/dcim/forms/bulk_edit.py:495
-#: netbox/dcim/forms/bulk_import.py:332 netbox/dcim/forms/bulk_import.py:358
-#: netbox/dcim/forms/filtersets.py:251 netbox/dcim/forms/filtersets.py:312
-#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:423
-#: netbox/dcim/forms/filtersets.py:529 netbox/dcim/forms/filtersets.py:548
-#: netbox/dcim/forms/filtersets.py:604 netbox/dcim/forms/model_forms.py:232
+#: netbox/dcim/forms/bulk_import.py:329 netbox/dcim/forms/bulk_import.py:355
+#: netbox/dcim/forms/filtersets.py:252 netbox/dcim/forms/filtersets.py:313
+#: netbox/dcim/forms/filtersets.py:337 netbox/dcim/forms/filtersets.py:424
+#: netbox/dcim/forms/filtersets.py:530 netbox/dcim/forms/filtersets.py:549
+#: netbox/dcim/forms/filtersets.py:605 netbox/dcim/forms/model_forms.py:232
#: netbox/dcim/forms/model_forms.py:346 netbox/dcim/tables/devicetypes.py:103
#: netbox/dcim/tables/modules.py:35 netbox/dcim/tables/racks.py:103
#: netbox/extras/forms/bulk_edit.py:45 netbox/extras/forms/bulk_edit.py:108
#: netbox/extras/forms/bulk_edit.py:158 netbox/extras/forms/bulk_edit.py:278
#: netbox/extras/forms/filtersets.py:61 netbox/extras/forms/filtersets.py:134
#: netbox/extras/forms/filtersets.py:221 netbox/ipam/forms/bulk_edit.py:188
-#: netbox/templates/dcim/device.html:317
+#: netbox/templates/dcim/device.html:324
#: netbox/templates/dcim/devicetype.html:49
#: netbox/templates/dcim/moduletype.html:30
#: netbox/templates/extras/configcontext.html:17
@@ -3186,25 +3189,25 @@ msgstr "Profundidade de montagem"
msgid "Weight"
msgstr "Peso"
-#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:317
+#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:318
msgid "Max weight"
msgstr "Peso máximo"
#: netbox/dcim/forms/bulk_edit.py:331 netbox/dcim/forms/bulk_edit.py:441
-#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:231
-#: netbox/dcim/forms/bulk_import.py:337 netbox/dcim/forms/bulk_import.py:363
-#: netbox/dcim/forms/filtersets.py:322 netbox/dcim/forms/filtersets.py:533
-#: netbox/dcim/forms/filtersets.py:608
+#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:228
+#: netbox/dcim/forms/bulk_import.py:334 netbox/dcim/forms/bulk_import.py:360
+#: netbox/dcim/forms/filtersets.py:323 netbox/dcim/forms/filtersets.py:534
+#: netbox/dcim/forms/filtersets.py:609
msgid "Weight unit"
msgstr "Unidade de peso"
#: netbox/dcim/forms/bulk_edit.py:345 netbox/dcim/forms/bulk_edit.py:808
-#: netbox/dcim/forms/bulk_import.py:270 netbox/dcim/forms/bulk_import.py:273
-#: netbox/dcim/forms/bulk_import.py:498 netbox/dcim/forms/bulk_import.py:1309
-#: netbox/dcim/forms/bulk_import.py:1313 netbox/dcim/forms/filtersets.py:102
-#: netbox/dcim/forms/filtersets.py:340 netbox/dcim/forms/filtersets.py:354
-#: netbox/dcim/forms/filtersets.py:392 netbox/dcim/forms/filtersets.py:701
-#: netbox/dcim/forms/filtersets.py:954 netbox/dcim/forms/filtersets.py:1086
+#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:270
+#: netbox/dcim/forms/bulk_import.py:492 netbox/dcim/forms/bulk_import.py:1297
+#: netbox/dcim/forms/bulk_import.py:1301 netbox/dcim/forms/filtersets.py:103
+#: netbox/dcim/forms/filtersets.py:341 netbox/dcim/forms/filtersets.py:355
+#: netbox/dcim/forms/filtersets.py:393 netbox/dcim/forms/filtersets.py:703
+#: netbox/dcim/forms/filtersets.py:966 netbox/dcim/forms/filtersets.py:1098
#: netbox/dcim/forms/model_forms.py:226 netbox/dcim/forms/model_forms.py:248
#: netbox/dcim/forms/model_forms.py:422 netbox/dcim/forms/model_forms.py:703
#: netbox/dcim/forms/object_create.py:400 netbox/dcim/tables/devices.py:158
@@ -3221,9 +3224,9 @@ msgid "Rack"
msgstr "Rack"
#: netbox/dcim/forms/bulk_edit.py:349 netbox/dcim/forms/bulk_edit.py:628
-#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333
-#: netbox/dcim/forms/filtersets.py:416 netbox/dcim/forms/filtersets.py:543
-#: netbox/dcim/forms/filtersets.py:651 netbox/dcim/forms/filtersets.py:861
+#: netbox/dcim/forms/filtersets.py:249 netbox/dcim/forms/filtersets.py:334
+#: netbox/dcim/forms/filtersets.py:417 netbox/dcim/forms/filtersets.py:544
+#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:873
#: netbox/dcim/forms/model_forms.py:613 netbox/dcim/forms/model_forms.py:1527
#: netbox/templates/dcim/device_edit.html:20
msgid "Hardware"
@@ -3232,12 +3235,12 @@ msgstr "Hardware"
#: netbox/dcim/forms/bulk_edit.py:402 netbox/dcim/forms/bulk_edit.py:466
#: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/forms/bulk_edit.py:554
#: netbox/dcim/forms/bulk_edit.py:638 netbox/dcim/forms/bulk_edit.py:1165
-#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:319
-#: netbox/dcim/forms/bulk_import.py:353 netbox/dcim/forms/bulk_import.py:395
-#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/bulk_import.py:1027
-#: netbox/dcim/forms/filtersets.py:429 netbox/dcim/forms/filtersets.py:554
-#: netbox/dcim/forms/filtersets.py:630 netbox/dcim/forms/filtersets.py:711
-#: netbox/dcim/forms/filtersets.py:866 netbox/dcim/forms/filtersets.py:1431
+#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:316
+#: netbox/dcim/forms/bulk_import.py:350 netbox/dcim/forms/bulk_import.py:389
+#: netbox/dcim/forms/bulk_import.py:425 netbox/dcim/forms/bulk_import.py:1021
+#: netbox/dcim/forms/filtersets.py:430 netbox/dcim/forms/filtersets.py:555
+#: netbox/dcim/forms/filtersets.py:631 netbox/dcim/forms/filtersets.py:713
+#: netbox/dcim/forms/filtersets.py:878 netbox/dcim/forms/filtersets.py:1443
#: netbox/dcim/forms/model_forms.py:281 netbox/dcim/forms/model_forms.py:293
#: netbox/dcim/forms/model_forms.py:339 netbox/dcim/forms/model_forms.py:379
#: netbox/dcim/forms/model_forms.py:1023 netbox/dcim/forms/model_forms.py:1462
@@ -3254,13 +3257,13 @@ msgstr "Hardware"
msgid "Manufacturer"
msgstr "Fabricante"
-#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:325
-#: netbox/dcim/forms/filtersets.py:434 netbox/dcim/forms/model_forms.py:297
+#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:322
+#: netbox/dcim/forms/filtersets.py:435 netbox/dcim/forms/model_forms.py:297
msgid "Default platform"
msgstr "Plataforma padrão"
#: netbox/dcim/forms/bulk_edit.py:412 netbox/dcim/forms/bulk_edit.py:471
-#: netbox/dcim/forms/filtersets.py:437 netbox/dcim/forms/filtersets.py:557
+#: netbox/dcim/forms/filtersets.py:438 netbox/dcim/forms/filtersets.py:558
msgid "Part number"
msgstr "Part number"
@@ -3273,8 +3276,8 @@ msgid "Exclude from utilization"
msgstr "Excluir da utilização"
#: netbox/dcim/forms/bulk_edit.py:431 netbox/dcim/forms/bulk_edit.py:603
-#: netbox/dcim/forms/bulk_import.py:525 netbox/dcim/forms/filtersets.py:446
-#: netbox/dcim/forms/filtersets.py:733 netbox/templates/dcim/device.html:98
+#: netbox/dcim/forms/bulk_import.py:519 netbox/dcim/forms/filtersets.py:447
+#: netbox/dcim/forms/filtersets.py:735 netbox/templates/dcim/device.html:98
#: netbox/templates/dcim/devicetype.html:65
msgid "Airflow"
msgstr "Fluxo de Ar"
@@ -3299,11 +3302,11 @@ msgid "VM role"
msgstr "Função da VM"
#: netbox/dcim/forms/bulk_edit.py:511 netbox/dcim/forms/bulk_edit.py:535
-#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:376
-#: netbox/dcim/forms/bulk_import.py:380 netbox/dcim/forms/bulk_import.py:402
-#: netbox/dcim/forms/bulk_import.py:406 netbox/dcim/forms/bulk_import.py:531
-#: netbox/dcim/forms/bulk_import.py:535 netbox/dcim/forms/filtersets.py:619
-#: netbox/dcim/forms/filtersets.py:635 netbox/dcim/forms/filtersets.py:752
+#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:373
+#: netbox/dcim/forms/bulk_import.py:377 netbox/dcim/forms/bulk_import.py:396
+#: netbox/dcim/forms/bulk_import.py:400 netbox/dcim/forms/bulk_import.py:525
+#: netbox/dcim/forms/bulk_import.py:529 netbox/dcim/forms/filtersets.py:620
+#: netbox/dcim/forms/filtersets.py:636 netbox/dcim/forms/filtersets.py:754
#: netbox/dcim/forms/model_forms.py:358 netbox/dcim/forms/model_forms.py:384
#: netbox/dcim/forms/model_forms.py:498
#: netbox/virtualization/forms/bulk_import.py:132
@@ -3314,21 +3317,21 @@ msgid "Config template"
msgstr "Modelo de configuração"
#: netbox/dcim/forms/bulk_edit.py:559 netbox/dcim/forms/bulk_edit.py:959
-#: netbox/dcim/forms/bulk_import.py:437 netbox/dcim/forms/filtersets.py:112
+#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/filtersets.py:113
#: netbox/dcim/forms/model_forms.py:444 netbox/dcim/forms/model_forms.py:820
#: netbox/dcim/forms/model_forms.py:837 netbox/extras/filtersets.py:499
msgid "Device type"
msgstr "Tipo de dispositivo"
-#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:418
-#: netbox/dcim/forms/filtersets.py:117 netbox/dcim/forms/model_forms.py:452
+#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:412
+#: netbox/dcim/forms/filtersets.py:118 netbox/dcim/forms/model_forms.py:452
msgid "Device role"
msgstr "Função do dispositivo"
-#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:443
-#: netbox/dcim/forms/filtersets.py:725 netbox/dcim/forms/model_forms.py:394
+#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:437
+#: netbox/dcim/forms/filtersets.py:727 netbox/dcim/forms/model_forms.py:394
#: netbox/dcim/forms/model_forms.py:456 netbox/dcim/tables/devices.py:179
-#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:184
+#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:186
#: netbox/templates/dcim/platform.html:26
#: netbox/templates/virtualization/virtualmachine.html:27
#: netbox/virtualization/forms/bulk_edit.py:160
@@ -3341,21 +3344,21 @@ msgstr "Plataforma"
#: netbox/dcim/forms/bulk_edit.py:626 netbox/dcim/forms/bulk_edit.py:1179
#: netbox/dcim/forms/bulk_edit.py:1543 netbox/dcim/forms/bulk_edit.py:1589
-#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/bulk_import.py:648
-#: netbox/dcim/forms/bulk_import.py:674 netbox/dcim/forms/bulk_import.py:700
-#: netbox/dcim/forms/bulk_import.py:720 netbox/dcim/forms/bulk_import.py:773
-#: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/bulk_import.py:939
-#: netbox/dcim/forms/bulk_import.py:956 netbox/dcim/forms/bulk_import.py:968
-#: netbox/dcim/forms/bulk_import.py:1016 netbox/dcim/forms/bulk_import.py:1373
-#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:129
-#: netbox/dcim/forms/filtersets.py:840 netbox/dcim/forms/filtersets.py:970
-#: netbox/dcim/forms/filtersets.py:1160 netbox/dcim/forms/filtersets.py:1182
-#: netbox/dcim/forms/filtersets.py:1204 netbox/dcim/forms/filtersets.py:1221
-#: netbox/dcim/forms/filtersets.py:1241 netbox/dcim/forms/filtersets.py:1349
-#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392
-#: netbox/dcim/forms/filtersets.py:1407 netbox/dcim/forms/filtersets.py:1421
-#: netbox/dcim/forms/filtersets.py:1484 netbox/dcim/forms/filtersets.py:1508
-#: netbox/dcim/forms/filtersets.py:1532 netbox/dcim/forms/model_forms.py:576
+#: netbox/dcim/forms/bulk_import.py:580 netbox/dcim/forms/bulk_import.py:642
+#: netbox/dcim/forms/bulk_import.py:668 netbox/dcim/forms/bulk_import.py:694
+#: netbox/dcim/forms/bulk_import.py:714 netbox/dcim/forms/bulk_import.py:767
+#: netbox/dcim/forms/bulk_import.py:885 netbox/dcim/forms/bulk_import.py:933
+#: netbox/dcim/forms/bulk_import.py:950 netbox/dcim/forms/bulk_import.py:962
+#: netbox/dcim/forms/bulk_import.py:1010 netbox/dcim/forms/bulk_import.py:1361
+#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:130
+#: netbox/dcim/forms/filtersets.py:852 netbox/dcim/forms/filtersets.py:982
+#: netbox/dcim/forms/filtersets.py:1172 netbox/dcim/forms/filtersets.py:1194
+#: netbox/dcim/forms/filtersets.py:1216 netbox/dcim/forms/filtersets.py:1233
+#: netbox/dcim/forms/filtersets.py:1253 netbox/dcim/forms/filtersets.py:1361
+#: netbox/dcim/forms/filtersets.py:1383 netbox/dcim/forms/filtersets.py:1404
+#: netbox/dcim/forms/filtersets.py:1419 netbox/dcim/forms/filtersets.py:1433
+#: netbox/dcim/forms/filtersets.py:1496 netbox/dcim/forms/filtersets.py:1520
+#: netbox/dcim/forms/filtersets.py:1544 netbox/dcim/forms/model_forms.py:576
#: netbox/dcim/forms/model_forms.py:797 netbox/dcim/forms/model_forms.py:1156
#: netbox/dcim/forms/model_forms.py:1611
#: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22
@@ -3373,7 +3376,7 @@ msgstr "Plataforma"
#: netbox/ipam/forms/model_forms.py:784 netbox/ipam/tables/vlans.py:176
#: netbox/templates/dcim/consoleport.html:20
#: netbox/templates/dcim/consoleserverport.html:20
-#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:129
+#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:130
#: netbox/templates/dcim/device_edit.html:10
#: netbox/templates/dcim/devicebay.html:20
#: netbox/templates/dcim/devicebay.html:48
@@ -3413,7 +3416,7 @@ msgstr "Dispositivo"
msgid "Configuration"
msgstr "Configuração"
-#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:598
+#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:592
#: netbox/dcim/forms/model_forms.py:590 netbox/dcim/forms/model_forms.py:845
msgid "Module type"
msgstr "Tipo de módulo"
@@ -3423,7 +3426,7 @@ msgstr "Tipo de módulo"
#: netbox/dcim/forms/bulk_edit.py:966 netbox/dcim/forms/bulk_edit.py:1010
#: netbox/dcim/forms/bulk_edit.py:1061 netbox/dcim/forms/bulk_edit.py:1088
#: netbox/dcim/forms/bulk_edit.py:1115 netbox/dcim/forms/bulk_edit.py:1133
-#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:65
+#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:66
#: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32
#: netbox/templates/dcim/consoleport.html:32
#: netbox/templates/dcim/consoleserverport.html:32
@@ -3441,13 +3444,13 @@ msgstr "Tipo de módulo"
msgid "Label"
msgstr "Rótulo"
-#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:987
+#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:999
#: netbox/templates/dcim/cable.html:50
msgid "Length"
msgstr "Comprimento"
-#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1174
-#: netbox/dcim/forms/bulk_import.py:1177 netbox/dcim/forms/filtersets.py:991
+#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1165
+#: netbox/dcim/forms/bulk_import.py:1168 netbox/dcim/forms/filtersets.py:1003
msgid "Length unit"
msgstr "Unidade de comprimento"
@@ -3456,34 +3459,34 @@ msgstr "Unidade de comprimento"
msgid "Domain"
msgstr "Domínio"
-#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1296
-#: netbox/dcim/forms/filtersets.py:1077 netbox/dcim/forms/model_forms.py:698
+#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1284
+#: netbox/dcim/forms/filtersets.py:1089 netbox/dcim/forms/model_forms.py:698
msgid "Power panel"
msgstr "Quadro de alimentação"
-#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1332
-#: netbox/dcim/forms/filtersets.py:1099
+#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1320
+#: netbox/dcim/forms/filtersets.py:1111
#: netbox/templates/dcim/powerfeed.html:83
msgid "Supply"
msgstr "Tipo de Alimentação"
-#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1337
-#: netbox/dcim/forms/filtersets.py:1104
+#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1325
+#: netbox/dcim/forms/filtersets.py:1116
#: netbox/templates/dcim/powerfeed.html:95
msgid "Phase"
msgstr "Fase"
-#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1109
+#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1121
#: netbox/templates/dcim/powerfeed.html:87
msgid "Voltage"
msgstr "Tensão"
-#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1113
+#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1125
#: netbox/templates/dcim/powerfeed.html:91
msgid "Amperage"
msgstr "Corrente"
-#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1117
+#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1129
msgid "Max utilization"
msgstr "Utilização máxima"
@@ -3507,13 +3510,13 @@ msgstr "Consumo alocado"
msgid "Allocated power draw (watts)"
msgstr "Consumo de energia alocado (Watts)"
-#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:731
+#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:725
#: netbox/dcim/forms/model_forms.py:901 netbox/dcim/forms/model_forms.py:1226
#: netbox/dcim/forms/model_forms.py:1514 netbox/dcim/forms/object_import.py:55
msgid "Power port"
msgstr "Porta de alimentação"
-#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:738
+#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:732
msgid "Feed leg"
msgstr "Ramal de alimentação"
@@ -3522,7 +3525,7 @@ msgid "Management only"
msgstr "Somente gerenciamento"
#: netbox/dcim/forms/bulk_edit.py:1037 netbox/dcim/forms/bulk_edit.py:1339
-#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1300
+#: netbox/dcim/forms/bulk_import.py:815 netbox/dcim/forms/filtersets.py:1312
#: netbox/dcim/forms/object_import.py:90
#: netbox/dcim/models/device_component_templates.py:411
#: netbox/dcim/models/device_components.py:671
@@ -3530,14 +3533,14 @@ msgid "PoE mode"
msgstr "Modo de Operação"
#: netbox/dcim/forms/bulk_edit.py:1043 netbox/dcim/forms/bulk_edit.py:1345
-#: netbox/dcim/forms/bulk_import.py:827 netbox/dcim/forms/filtersets.py:1305
+#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1317
#: netbox/dcim/forms/object_import.py:95
#: netbox/dcim/models/device_component_templates.py:417
#: netbox/dcim/models/device_components.py:677
msgid "PoE type"
msgstr "Tipo de PoE"
-#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1310
+#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1322
#: netbox/dcim/forms/object_import.py:100
msgid "Wireless role"
msgstr "Função do Wireless"
@@ -3565,9 +3568,9 @@ msgstr "LAG"
msgid "Virtual device contexts"
msgstr "Contextos de dispositivos virtuais"
-#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:659
-#: netbox/dcim/forms/bulk_import.py:685 netbox/dcim/forms/filtersets.py:1169
-#: netbox/dcim/forms/filtersets.py:1191 netbox/dcim/forms/filtersets.py:1264
+#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:653
+#: netbox/dcim/forms/bulk_import.py:679 netbox/dcim/forms/filtersets.py:1181
+#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1276
#: netbox/dcim/tables/devices.py:594
#: netbox/templates/circuits/inc/circuit_termination_fields.html:67
#: netbox/templates/dcim/consoleport.html:40
@@ -3575,7 +3578,7 @@ msgstr "Contextos de dispositivos virtuais"
msgid "Speed"
msgstr "Velocidade"
-#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:830
+#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:824
#: netbox/templates/vpn/ikepolicy.html:25
#: netbox/templates/vpn/ipsecprofile.html:21
#: netbox/templates/vpn/ipsecprofile.html:48
@@ -3621,7 +3624,7 @@ msgstr "Grupo da Rede Wireless"
msgid "Wireless LANs"
msgstr "Redes Wireless"
-#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1237
+#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1249
#: netbox/dcim/forms/model_forms.py:1337 netbox/ipam/forms/bulk_edit.py:271
#: netbox/ipam/forms/bulk_edit.py:362 netbox/ipam/forms/filtersets.py:169
#: netbox/templates/dcim/interface.html:122
@@ -3630,13 +3633,13 @@ msgstr "Redes Wireless"
msgid "Addressing"
msgstr "Endereçamento"
-#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:650
+#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:651
#: netbox/dcim/forms/model_forms.py:1338
#: netbox/virtualization/forms/model_forms.py:350
msgid "Operation"
msgstr "Operação"
-#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1238
+#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1250
#: netbox/dcim/forms/model_forms.py:935 netbox/dcim/forms/model_forms.py:1340
msgid "PoE"
msgstr "PoE"
@@ -3684,8 +3687,8 @@ msgstr "Grupo designado"
msgid "available options"
msgstr "opções disponíveis"
-#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:488
-#: netbox/dcim/forms/bulk_import.py:1293 netbox/ipam/forms/bulk_import.py:174
+#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:482
+#: netbox/dcim/forms/bulk_import.py:1281 netbox/ipam/forms/bulk_import.py:174
#: netbox/ipam/forms/bulk_import.py:441
#: netbox/virtualization/forms/bulk_import.py:63
#: netbox/virtualization/forms/bulk_import.py:89
@@ -3700,105 +3703,106 @@ msgstr "Localização principal"
msgid "Location not found."
msgstr "Localização não encontrada."
-#: netbox/dcim/forms/bulk_import.py:199
+#: netbox/dcim/forms/bulk_import.py:196
msgid "Name of assigned tenant"
msgstr "Nome do inquilino designado"
-#: netbox/dcim/forms/bulk_import.py:211
+#: netbox/dcim/forms/bulk_import.py:208
msgid "Name of assigned role"
msgstr "Nome da função designada"
-#: netbox/dcim/forms/bulk_import.py:217
+#: netbox/dcim/forms/bulk_import.py:214
msgid "Rack type"
msgstr "Tipo de rack"
-#: netbox/dcim/forms/bulk_import.py:222
+#: netbox/dcim/forms/bulk_import.py:219
msgid "Rail-to-rail width (in inches)"
msgstr "Largura de trilho a trilho (em polegadas)"
-#: netbox/dcim/forms/bulk_import.py:228
+#: netbox/dcim/forms/bulk_import.py:225
msgid "Unit for outer dimensions"
msgstr "Unidade para dimensões externas"
-#: netbox/dcim/forms/bulk_import.py:234
+#: netbox/dcim/forms/bulk_import.py:231
msgid "Unit for rack weights"
msgstr "Unidade de peso do rack"
-#: netbox/dcim/forms/bulk_import.py:260
+#: netbox/dcim/forms/bulk_import.py:257
msgid "Parent site"
msgstr "Site principal"
-#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:1306
+#: netbox/dcim/forms/bulk_import.py:264 netbox/dcim/forms/bulk_import.py:1294
msgid "Rack's location (if any)"
msgstr "Localização do rack (se houver)"
-#: netbox/dcim/forms/bulk_import.py:276 netbox/dcim/forms/model_forms.py:253
+#: netbox/dcim/forms/bulk_import.py:273 netbox/dcim/forms/model_forms.py:253
#: netbox/dcim/tables/racks.py:153
#: netbox/templates/dcim/rackreservation.html:12
#: netbox/templates/dcim/rackreservation.html:45
msgid "Units"
msgstr "Unidades"
-#: netbox/dcim/forms/bulk_import.py:279
+#: netbox/dcim/forms/bulk_import.py:276
msgid "Comma-separated list of individual unit numbers"
msgstr "Lista separada por vírgula de unidades individuais"
-#: netbox/dcim/forms/bulk_import.py:322
+#: netbox/dcim/forms/bulk_import.py:319
msgid "The manufacturer which produces this device type"
msgstr "Fabricante que produz este tipo de dispositivo"
-#: netbox/dcim/forms/bulk_import.py:329
+#: netbox/dcim/forms/bulk_import.py:326
msgid "The default platform for devices of this type (optional)"
msgstr "A plataforma padrão para dispositivos deste tipo (opcional)"
-#: netbox/dcim/forms/bulk_import.py:334
+#: netbox/dcim/forms/bulk_import.py:331
msgid "Device weight"
msgstr "Peso do dispositivo"
-#: netbox/dcim/forms/bulk_import.py:340
+#: netbox/dcim/forms/bulk_import.py:337
msgid "Unit for device weight"
msgstr "Unidade de peso do dispositivo"
-#: netbox/dcim/forms/bulk_import.py:360
+#: netbox/dcim/forms/bulk_import.py:357
msgid "Module weight"
msgstr "Peso do módulo"
-#: netbox/dcim/forms/bulk_import.py:366
+#: netbox/dcim/forms/bulk_import.py:363
msgid "Unit for module weight"
msgstr "Unidade de peso do módulo"
-#: netbox/dcim/forms/bulk_import.py:399
+#: netbox/dcim/forms/bulk_import.py:393
msgid "Limit platform assignments to this manufacturer"
msgstr "Limitar as atribuições de plataforma a este fabricante"
-#: netbox/dcim/forms/bulk_import.py:421 netbox/dcim/forms/bulk_import.py:1376
+#: netbox/dcim/forms/bulk_import.py:415 netbox/dcim/forms/bulk_import.py:1364
#: netbox/tenancy/forms/bulk_import.py:106
msgid "Assigned role"
msgstr "Função designada"
-#: netbox/dcim/forms/bulk_import.py:434
+#: netbox/dcim/forms/bulk_import.py:428
msgid "Device type manufacturer"
msgstr "Fabricante do tipo de dispositivo"
-#: netbox/dcim/forms/bulk_import.py:440
+#: netbox/dcim/forms/bulk_import.py:434
msgid "Device type model"
msgstr "Modelo do tipo de dispositivo"
-#: netbox/dcim/forms/bulk_import.py:447
+#: netbox/dcim/forms/bulk_import.py:441
#: netbox/virtualization/forms/bulk_import.py:126
msgid "Assigned platform"
msgstr "Plataforma designada"
-#: netbox/dcim/forms/bulk_import.py:455 netbox/dcim/forms/bulk_import.py:459
+#: netbox/dcim/forms/bulk_import.py:449 netbox/dcim/forms/bulk_import.py:453
#: netbox/dcim/forms/model_forms.py:479
msgid "Virtual chassis"
msgstr "Chassi virtual"
-#: netbox/dcim/forms/bulk_import.py:462 netbox/dcim/forms/model_forms.py:465
+#: netbox/dcim/forms/bulk_import.py:456 netbox/dcim/forms/filtersets.py:659
+#: netbox/dcim/forms/filtersets.py:829 netbox/dcim/forms/model_forms.py:465
#: netbox/dcim/tables/devices.py:199 netbox/extras/filtersets.py:548
#: netbox/extras/forms/filtersets.py:331 netbox/ipam/forms/bulk_edit.py:479
#: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:459
-#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:232
+#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:239
#: netbox/templates/virtualization/cluster.html:10
#: netbox/templates/virtualization/virtualmachine.html:88
#: netbox/templates/virtualization/virtualmachine.html:97
@@ -3815,65 +3819,65 @@ msgstr "Chassi virtual"
msgid "Cluster"
msgstr "Cluster"
-#: netbox/dcim/forms/bulk_import.py:466
+#: netbox/dcim/forms/bulk_import.py:460
msgid "Virtualization cluster"
msgstr "Cluster de virtualização"
-#: netbox/dcim/forms/bulk_import.py:495
+#: netbox/dcim/forms/bulk_import.py:489
msgid "Assigned location (if any)"
msgstr "Local designado (se houver)"
-#: netbox/dcim/forms/bulk_import.py:502
+#: netbox/dcim/forms/bulk_import.py:496
msgid "Assigned rack (if any)"
msgstr "Rack designado (se houver)"
-#: netbox/dcim/forms/bulk_import.py:505
+#: netbox/dcim/forms/bulk_import.py:499
msgid "Face"
msgstr "Face"
-#: netbox/dcim/forms/bulk_import.py:508
+#: netbox/dcim/forms/bulk_import.py:502
msgid "Mounted rack face"
msgstr "Face do rack em que está montado"
-#: netbox/dcim/forms/bulk_import.py:515
+#: netbox/dcim/forms/bulk_import.py:509
msgid "Parent device (for child devices)"
msgstr "Dispositivo pai (para dispositivos filhos)"
-#: netbox/dcim/forms/bulk_import.py:518
+#: netbox/dcim/forms/bulk_import.py:512
msgid "Device bay"
msgstr "Compartimento de dispositivos"
-#: netbox/dcim/forms/bulk_import.py:522
+#: netbox/dcim/forms/bulk_import.py:516
msgid "Device bay in which this device is installed (for child devices)"
msgstr ""
"Compartimento de dispositivos no qual este dispositivo está instalado (para "
"dispositivos filhos)"
-#: netbox/dcim/forms/bulk_import.py:528
+#: netbox/dcim/forms/bulk_import.py:522
msgid "Airflow direction"
msgstr "Direção do fluxo de ar"
-#: netbox/dcim/forms/bulk_import.py:589
+#: netbox/dcim/forms/bulk_import.py:583
msgid "The device in which this module is installed"
msgstr "O dispositivo no qual este módulo está instalado"
-#: netbox/dcim/forms/bulk_import.py:592 netbox/dcim/forms/model_forms.py:583
+#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/model_forms.py:583
msgid "Module bay"
msgstr "Compartimento de módulo"
-#: netbox/dcim/forms/bulk_import.py:595
+#: netbox/dcim/forms/bulk_import.py:589
msgid "The module bay in which this module is installed"
msgstr "O compartimento no qual este módulo está instalado"
-#: netbox/dcim/forms/bulk_import.py:601
+#: netbox/dcim/forms/bulk_import.py:595
msgid "The type of module"
msgstr "O tipo de módulo"
-#: netbox/dcim/forms/bulk_import.py:609 netbox/dcim/forms/model_forms.py:599
+#: netbox/dcim/forms/bulk_import.py:603 netbox/dcim/forms/model_forms.py:599
msgid "Replicate components"
msgstr "Replicar componentes"
-#: netbox/dcim/forms/bulk_import.py:611
+#: netbox/dcim/forms/bulk_import.py:605
msgid ""
"Automatically populate components associated with this module type (enabled "
"by default)"
@@ -3881,87 +3885,87 @@ msgstr ""
"Popular automaticamente os componentes associados a este tipo de módulo "
"(ativado por padrão)"
-#: netbox/dcim/forms/bulk_import.py:614 netbox/dcim/forms/model_forms.py:605
+#: netbox/dcim/forms/bulk_import.py:608 netbox/dcim/forms/model_forms.py:605
msgid "Adopt components"
msgstr "Adotar componentes"
-#: netbox/dcim/forms/bulk_import.py:616 netbox/dcim/forms/model_forms.py:608
+#: netbox/dcim/forms/bulk_import.py:610 netbox/dcim/forms/model_forms.py:608
msgid "Adopt already existing components"
msgstr "Adotar componentes já existentes"
-#: netbox/dcim/forms/bulk_import.py:656 netbox/dcim/forms/bulk_import.py:682
-#: netbox/dcim/forms/bulk_import.py:708
+#: netbox/dcim/forms/bulk_import.py:650 netbox/dcim/forms/bulk_import.py:676
+#: netbox/dcim/forms/bulk_import.py:702
msgid "Port type"
msgstr "Tipo de porta"
-#: netbox/dcim/forms/bulk_import.py:664 netbox/dcim/forms/bulk_import.py:690
+#: netbox/dcim/forms/bulk_import.py:658 netbox/dcim/forms/bulk_import.py:684
msgid "Port speed in bps"
msgstr "Velocidade da porta em bps"
-#: netbox/dcim/forms/bulk_import.py:728
+#: netbox/dcim/forms/bulk_import.py:722
msgid "Outlet type"
msgstr "Tipo de tomada"
-#: netbox/dcim/forms/bulk_import.py:735
+#: netbox/dcim/forms/bulk_import.py:729
msgid "Local power port which feeds this outlet"
msgstr "Porta de alimentação local que alimenta esta tomada"
-#: netbox/dcim/forms/bulk_import.py:741
+#: netbox/dcim/forms/bulk_import.py:735
msgid "Electrical phase (for three-phase circuits)"
msgstr "Fase (para circuitos trifásicos)"
-#: netbox/dcim/forms/bulk_import.py:782 netbox/dcim/forms/model_forms.py:1264
+#: netbox/dcim/forms/bulk_import.py:776 netbox/dcim/forms/model_forms.py:1264
#: netbox/virtualization/forms/bulk_import.py:155
#: netbox/virtualization/forms/model_forms.py:305
msgid "Parent interface"
msgstr "Interface pai"
-#: netbox/dcim/forms/bulk_import.py:789 netbox/dcim/forms/model_forms.py:1272
+#: netbox/dcim/forms/bulk_import.py:783 netbox/dcim/forms/model_forms.py:1272
#: netbox/virtualization/forms/bulk_import.py:162
#: netbox/virtualization/forms/model_forms.py:313
msgid "Bridged interface"
msgstr "Interface bridged"
-#: netbox/dcim/forms/bulk_import.py:792
+#: netbox/dcim/forms/bulk_import.py:786
msgid "Lag"
msgstr "LAG"
-#: netbox/dcim/forms/bulk_import.py:796
+#: netbox/dcim/forms/bulk_import.py:790
msgid "Parent LAG interface"
msgstr "Interface LAG pai"
-#: netbox/dcim/forms/bulk_import.py:799
+#: netbox/dcim/forms/bulk_import.py:793
msgid "Vdcs"
msgstr "Contextos de Dispositivos Virtuais"
-#: netbox/dcim/forms/bulk_import.py:804
+#: netbox/dcim/forms/bulk_import.py:798
msgid "VDC names separated by commas, encased with double quotes. Example:"
msgstr ""
"Nomes de contextos de dispositivos virtuais separados por vírgulas, entre "
"aspas duplas. Exemplo:"
-#: netbox/dcim/forms/bulk_import.py:810
+#: netbox/dcim/forms/bulk_import.py:804
msgid "Physical medium"
msgstr "Meio físico"
-#: netbox/dcim/forms/bulk_import.py:813 netbox/dcim/forms/filtersets.py:1271
+#: netbox/dcim/forms/bulk_import.py:807 netbox/dcim/forms/filtersets.py:1283
msgid "Duplex"
msgstr "Duplex"
-#: netbox/dcim/forms/bulk_import.py:818
+#: netbox/dcim/forms/bulk_import.py:812
msgid "Poe mode"
msgstr "Modo de operação do PoE"
-#: netbox/dcim/forms/bulk_import.py:824
+#: netbox/dcim/forms/bulk_import.py:818
msgid "Poe type"
msgstr "Tipo de PoE"
-#: netbox/dcim/forms/bulk_import.py:833
+#: netbox/dcim/forms/bulk_import.py:827
#: netbox/virtualization/forms/bulk_import.py:168
msgid "IEEE 802.1Q operational mode (for L2 interfaces)"
msgstr "Modo de operação do IEEE 802.1Q (para interfaces L2)"
-#: netbox/dcim/forms/bulk_import.py:840 netbox/ipam/forms/bulk_import.py:160
+#: netbox/dcim/forms/bulk_import.py:834 netbox/ipam/forms/bulk_import.py:160
#: netbox/ipam/forms/bulk_import.py:246 netbox/ipam/forms/bulk_import.py:282
#: netbox/ipam/forms/filtersets.py:201 netbox/ipam/forms/filtersets.py:277
#: netbox/ipam/forms/filtersets.py:336
@@ -3969,152 +3973,152 @@ msgstr "Modo de operação do IEEE 802.1Q (para interfaces L2)"
msgid "Assigned VRF"
msgstr "VRF designado"
-#: netbox/dcim/forms/bulk_import.py:843
+#: netbox/dcim/forms/bulk_import.py:837
msgid "Rf role"
msgstr "Função RF"
-#: netbox/dcim/forms/bulk_import.py:846
+#: netbox/dcim/forms/bulk_import.py:840
msgid "Wireless role (AP/station)"
msgstr "Função do Wireless (AP/Station)"
-#: netbox/dcim/forms/bulk_import.py:882
+#: netbox/dcim/forms/bulk_import.py:876
#, python-brace-format
msgid "VDC {vdc} is not assigned to device {device}"
msgstr ""
"Contexto de dispositivo virtual {vdc} não está associado ao dispositivo "
"{device}"
-#: netbox/dcim/forms/bulk_import.py:896 netbox/dcim/forms/model_forms.py:948
+#: netbox/dcim/forms/bulk_import.py:890 netbox/dcim/forms/model_forms.py:948
#: netbox/dcim/forms/model_forms.py:1522
#: netbox/dcim/forms/object_import.py:117
msgid "Rear port"
msgstr "Porta traseira"
-#: netbox/dcim/forms/bulk_import.py:899
+#: netbox/dcim/forms/bulk_import.py:893
msgid "Corresponding rear port"
msgstr "Porta traseira correspondente"
-#: netbox/dcim/forms/bulk_import.py:904 netbox/dcim/forms/bulk_import.py:945
-#: netbox/dcim/forms/bulk_import.py:1164
+#: netbox/dcim/forms/bulk_import.py:898 netbox/dcim/forms/bulk_import.py:939
+#: netbox/dcim/forms/bulk_import.py:1155
msgid "Physical medium classification"
msgstr "Tipo de conexão do meio físico"
-#: netbox/dcim/forms/bulk_import.py:973 netbox/dcim/tables/devices.py:805
+#: netbox/dcim/forms/bulk_import.py:967 netbox/dcim/tables/devices.py:805
msgid "Installed device"
msgstr "Dispositivo instalado"
-#: netbox/dcim/forms/bulk_import.py:977
+#: netbox/dcim/forms/bulk_import.py:971
msgid "Child device installed within this bay"
msgstr "Dispositivo filho instalado neste compartimento"
-#: netbox/dcim/forms/bulk_import.py:979
+#: netbox/dcim/forms/bulk_import.py:973
msgid "Child device not found."
msgstr "Dispositivo filho não encontrado."
-#: netbox/dcim/forms/bulk_import.py:1037
+#: netbox/dcim/forms/bulk_import.py:1031
msgid "Parent inventory item"
msgstr "Item pai do inventário"
-#: netbox/dcim/forms/bulk_import.py:1040
+#: netbox/dcim/forms/bulk_import.py:1034
msgid "Component type"
msgstr "Tipo de componente"
-#: netbox/dcim/forms/bulk_import.py:1044
+#: netbox/dcim/forms/bulk_import.py:1038
msgid "Component Type"
msgstr "Tipo de Componente"
-#: netbox/dcim/forms/bulk_import.py:1047
+#: netbox/dcim/forms/bulk_import.py:1041
msgid "Compnent name"
msgstr "Nome do componente"
-#: netbox/dcim/forms/bulk_import.py:1049
+#: netbox/dcim/forms/bulk_import.py:1043
msgid "Component Name"
msgstr "Nome do Componente"
-#: netbox/dcim/forms/bulk_import.py:1091
+#: netbox/dcim/forms/bulk_import.py:1085
#, python-brace-format
msgid "Component not found: {device} - {component_name}"
msgstr "Componente não encontrado: {device} - {component_name}"
-#: netbox/dcim/forms/bulk_import.py:1119
+#: netbox/dcim/forms/bulk_import.py:1110
msgid "Side A device"
msgstr "Dispositivo no lado A"
-#: netbox/dcim/forms/bulk_import.py:1122 netbox/dcim/forms/bulk_import.py:1140
+#: netbox/dcim/forms/bulk_import.py:1113 netbox/dcim/forms/bulk_import.py:1131
msgid "Device name"
msgstr "Nome do dispositivo"
-#: netbox/dcim/forms/bulk_import.py:1125
+#: netbox/dcim/forms/bulk_import.py:1116
msgid "Side A type"
msgstr "Tipo de terminação no lado A"
-#: netbox/dcim/forms/bulk_import.py:1128 netbox/dcim/forms/bulk_import.py:1146
+#: netbox/dcim/forms/bulk_import.py:1119 netbox/dcim/forms/bulk_import.py:1137
msgid "Termination type"
msgstr "Tipo de terminação"
-#: netbox/dcim/forms/bulk_import.py:1131
+#: netbox/dcim/forms/bulk_import.py:1122
msgid "Side A name"
msgstr "Nome da terminação no lado A"
-#: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1150
+#: netbox/dcim/forms/bulk_import.py:1123 netbox/dcim/forms/bulk_import.py:1141
msgid "Termination name"
msgstr "Nome da terminação"
-#: netbox/dcim/forms/bulk_import.py:1137
+#: netbox/dcim/forms/bulk_import.py:1128
msgid "Side B device"
msgstr "Dispositivo no lado B"
-#: netbox/dcim/forms/bulk_import.py:1143
+#: netbox/dcim/forms/bulk_import.py:1134
msgid "Side B type"
msgstr "Tipo de terminação no lado B"
-#: netbox/dcim/forms/bulk_import.py:1149
+#: netbox/dcim/forms/bulk_import.py:1140
msgid "Side B name"
msgstr "Nome da terminação no lado B"
-#: netbox/dcim/forms/bulk_import.py:1158
+#: netbox/dcim/forms/bulk_import.py:1149
#: netbox/wireless/forms/bulk_import.py:86
msgid "Connection status"
msgstr "Status da conexão"
-#: netbox/dcim/forms/bulk_import.py:1213
+#: netbox/dcim/forms/bulk_import.py:1201
#, python-brace-format
msgid "Side {side_upper}: {device} {termination_object} is already connected"
msgstr "Lado {side_upper}: {device} {termination_object} já está conectado"
-#: netbox/dcim/forms/bulk_import.py:1219
+#: netbox/dcim/forms/bulk_import.py:1207
#, python-brace-format
msgid "{side_upper} side termination not found: {device} {name}"
msgstr " Terminação {side_upper} não encontrada: {device} {name}"
-#: netbox/dcim/forms/bulk_import.py:1244 netbox/dcim/forms/model_forms.py:733
-#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:131
+#: netbox/dcim/forms/bulk_import.py:1232 netbox/dcim/forms/model_forms.py:733
+#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:132
#: netbox/templates/dcim/virtualchassis.html:27
#: netbox/templates/dcim/virtualchassis.html:67
msgid "Master"
msgstr "Mestre"
-#: netbox/dcim/forms/bulk_import.py:1248
+#: netbox/dcim/forms/bulk_import.py:1236
msgid "Master device"
msgstr "Dispositivo mestre"
-#: netbox/dcim/forms/bulk_import.py:1265
+#: netbox/dcim/forms/bulk_import.py:1253
msgid "Name of parent site"
msgstr "Nome do site principal"
-#: netbox/dcim/forms/bulk_import.py:1299
+#: netbox/dcim/forms/bulk_import.py:1287
msgid "Upstream power panel"
msgstr "Quadro de alimentação"
-#: netbox/dcim/forms/bulk_import.py:1329
+#: netbox/dcim/forms/bulk_import.py:1317
msgid "Primary or redundant"
msgstr "Primário ou redundante"
-#: netbox/dcim/forms/bulk_import.py:1334
+#: netbox/dcim/forms/bulk_import.py:1322
msgid "Supply type (AC/DC)"
msgstr "Tipo de alimentação (AC/DC)"
-#: netbox/dcim/forms/bulk_import.py:1339
+#: netbox/dcim/forms/bulk_import.py:1327
msgid "Single or three-phase"
msgstr "Monofásico ou trifásico"
@@ -4171,11 +4175,11 @@ msgstr "Fontes de Alimentação"
msgid "Side"
msgstr "Lado"
-#: netbox/dcim/forms/filtersets.py:142
+#: netbox/dcim/forms/filtersets.py:143
msgid "Parent region"
msgstr "Região principal"
-#: netbox/dcim/forms/filtersets.py:156 netbox/tenancy/forms/bulk_import.py:28
+#: netbox/dcim/forms/filtersets.py:157 netbox/tenancy/forms/bulk_import.py:28
#: netbox/tenancy/forms/bulk_import.py:62
#: netbox/tenancy/forms/filtersets.py:33 netbox/tenancy/forms/filtersets.py:62
#: netbox/wireless/forms/bulk_import.py:25
@@ -4183,51 +4187,58 @@ msgstr "Região principal"
msgid "Parent group"
msgstr "Grupo principal"
-#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:332
+#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333
msgid "Function"
msgstr "Função"
-#: netbox/dcim/forms/filtersets.py:418 netbox/dcim/forms/model_forms.py:317
+#: netbox/dcim/forms/filtersets.py:419 netbox/dcim/forms/model_forms.py:317
#: netbox/templates/inc/panels/image_attachments.html:6
msgid "Images"
msgstr "Imagens"
-#: netbox/dcim/forms/filtersets.py:421 netbox/dcim/forms/filtersets.py:546
-#: netbox/dcim/forms/filtersets.py:656
+#: netbox/dcim/forms/filtersets.py:422 netbox/dcim/forms/filtersets.py:547
+#: netbox/dcim/forms/filtersets.py:657
msgid "Components"
msgstr "Componentes"
-#: netbox/dcim/forms/filtersets.py:441
+#: netbox/dcim/forms/filtersets.py:442
msgid "Subdevice role"
msgstr "Função do subdispositivo"
-#: netbox/dcim/forms/filtersets.py:719
+#: netbox/dcim/forms/filtersets.py:721
msgid "Model"
msgstr "Modelo"
-#: netbox/dcim/forms/filtersets.py:763
+#: netbox/dcim/forms/filtersets.py:765
msgid "Has an OOB IP"
msgstr "Possui um IP fora de banda"
-#: netbox/dcim/forms/filtersets.py:770
+#: netbox/dcim/forms/filtersets.py:772
msgid "Virtual chassis member"
msgstr "Membro do chassi virtual"
-#: netbox/dcim/forms/filtersets.py:819
+#: netbox/dcim/forms/filtersets.py:821
msgid "Has virtual device contexts"
msgstr "Possui contextos de dispositivos virtuais"
-#: netbox/dcim/forms/filtersets.py:1129
+#: netbox/dcim/forms/filtersets.py:834 netbox/extras/filtersets.py:537
+#: netbox/ipam/forms/bulk_edit.py:476 netbox/ipam/forms/filtersets.py:464
+#: netbox/ipam/forms/model_forms.py:624
+#: netbox/virtualization/forms/filtersets.py:112
+msgid "Cluster group"
+msgstr "Grupo de clusters"
+
+#: netbox/dcim/forms/filtersets.py:1141
msgid "Cabled"
msgstr "Cabeado"
-#: netbox/dcim/forms/filtersets.py:1136
+#: netbox/dcim/forms/filtersets.py:1148
msgid "Occupied"
msgstr "Ocupado"
-#: netbox/dcim/forms/filtersets.py:1161 netbox/dcim/forms/filtersets.py:1183
-#: netbox/dcim/forms/filtersets.py:1205 netbox/dcim/forms/filtersets.py:1222
-#: netbox/dcim/forms/filtersets.py:1242 netbox/dcim/tables/devices.py:352
+#: netbox/dcim/forms/filtersets.py:1173 netbox/dcim/forms/filtersets.py:1195
+#: netbox/dcim/forms/filtersets.py:1217 netbox/dcim/forms/filtersets.py:1234
+#: netbox/dcim/forms/filtersets.py:1254 netbox/dcim/tables/devices.py:352
#: netbox/templates/dcim/consoleport.html:55
#: netbox/templates/dcim/consoleserverport.html:55
#: netbox/templates/dcim/frontport.html:69
@@ -4239,42 +4250,42 @@ msgstr "Ocupado"
msgid "Connection"
msgstr "Conexão"
-#: netbox/dcim/forms/filtersets.py:1254 netbox/extras/forms/bulk_edit.py:316
-#: netbox/extras/forms/bulk_import.py:242
+#: netbox/dcim/forms/filtersets.py:1266 netbox/extras/forms/bulk_edit.py:316
+#: netbox/extras/forms/bulk_import.py:239
#: netbox/extras/forms/filtersets.py:473
#: netbox/extras/forms/model_forms.py:551 netbox/extras/tables/tables.py:513
#: netbox/templates/extras/journalentry.html:30
msgid "Kind"
msgstr "Tipo"
-#: netbox/dcim/forms/filtersets.py:1283
+#: netbox/dcim/forms/filtersets.py:1295
msgid "Mgmt only"
msgstr "Somente gerenciamento"
-#: netbox/dcim/forms/filtersets.py:1295 netbox/dcim/forms/model_forms.py:1330
+#: netbox/dcim/forms/filtersets.py:1307 netbox/dcim/forms/model_forms.py:1330
#: netbox/dcim/models/device_components.py:630
#: netbox/templates/dcim/interface.html:129
msgid "WWN"
msgstr "WWN"
-#: netbox/dcim/forms/filtersets.py:1315
+#: netbox/dcim/forms/filtersets.py:1327
msgid "Wireless channel"
msgstr "Canal do Wireless"
-#: netbox/dcim/forms/filtersets.py:1319
+#: netbox/dcim/forms/filtersets.py:1331
msgid "Channel frequency (MHz)"
msgstr "Frequência do canal (MHz)"
-#: netbox/dcim/forms/filtersets.py:1323
+#: netbox/dcim/forms/filtersets.py:1335
msgid "Channel width (MHz)"
msgstr "Largura do canal (MHz)"
-#: netbox/dcim/forms/filtersets.py:1327
+#: netbox/dcim/forms/filtersets.py:1339
#: netbox/templates/dcim/interface.html:85
msgid "Transmit power (dBm)"
msgstr "Potência de transmissão (dBm)"
-#: netbox/dcim/forms/filtersets.py:1350 netbox/dcim/forms/filtersets.py:1372
+#: netbox/dcim/forms/filtersets.py:1362 netbox/dcim/forms/filtersets.py:1384
#: netbox/dcim/tables/devices.py:316 netbox/templates/dcim/cable.html:12
#: netbox/templates/dcim/cable_trace.html:46
#: netbox/templates/dcim/frontport.html:77
@@ -4285,7 +4296,7 @@ msgstr "Potência de transmissão (dBm)"
msgid "Cable"
msgstr "Cabo"
-#: netbox/dcim/forms/filtersets.py:1442 netbox/dcim/tables/devices.py:915
+#: netbox/dcim/forms/filtersets.py:1454 netbox/dcim/tables/devices.py:915
msgid "Discovered"
msgstr "Descoberto"
@@ -4310,7 +4321,7 @@ msgstr "Controle de Inventário"
msgid "Outer Dimensions"
msgstr "Dimensões externas"
-#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:308
+#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:315
#: netbox/templates/dcim/rack.html:73
msgid "Dimensions"
msgstr "Dimensões"
@@ -4350,7 +4361,7 @@ msgstr "A unidade mais baixa ocupada pelo dispositivo"
msgid "The position in the virtual chassis this device is identified by"
msgstr "A posição no chassi virtual pela qual este dispositivo é identificado"
-#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:132
+#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:133
#: netbox/templates/dcim/virtualchassis.html:68
#: netbox/templates/dcim/virtualchassis_edit.html:56
#: netbox/templates/ipam/inc/panels/fhrp_groups.html:26
@@ -4531,13 +4542,13 @@ msgstr "Item de Inventário"
msgid "Inventory Item Role"
msgstr "Função do Item de Inventário"
-#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:188
+#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:190
#: netbox/templates/dcim/virtualdevicecontext.html:30
#: netbox/templates/virtualization/virtualmachine.html:48
msgid "Primary IPv4"
msgstr "IPv4 Primário"
-#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:204
+#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:206
#: netbox/templates/dcim/virtualdevicecontext.html:41
#: netbox/templates/virtualization/virtualmachine.html:64
msgid "Primary IPv6"
@@ -4630,7 +4641,7 @@ msgstr ""
#: netbox/dcim/models/cables.py:62
#: netbox/dcim/models/device_component_templates.py:55
#: netbox/dcim/models/device_components.py:63
-#: netbox/extras/models/customfields.py:109
+#: netbox/extras/models/customfields.py:110
msgid "label"
msgstr "rótulo"
@@ -5765,7 +5776,7 @@ msgstr "identificador"
msgid "Numeric identifier unique to the parent device"
msgstr "Identificador numérico exclusivo para o dispositivo principal"
-#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:210
+#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:211
#: netbox/extras/models/models.py:127 netbox/extras/models/models.py:722
#: netbox/netbox/models/__init__.py:114
msgid "comments"
@@ -6121,43 +6132,43 @@ msgid "Parent location ({parent}) must belong to the same site ({site})."
msgstr ""
"Localização principal ({parent}) deve pertencer ao mesmo site ({site})."
-#: netbox/dcim/tables/cables.py:54
+#: netbox/dcim/tables/cables.py:55
msgid "Termination A"
msgstr "Terminação A"
-#: netbox/dcim/tables/cables.py:59
+#: netbox/dcim/tables/cables.py:60
msgid "Termination B"
msgstr "Terminação B"
-#: netbox/dcim/tables/cables.py:65 netbox/wireless/tables/wirelesslink.py:22
+#: netbox/dcim/tables/cables.py:66 netbox/wireless/tables/wirelesslink.py:22
msgid "Device A"
msgstr "Dispositivo A"
-#: netbox/dcim/tables/cables.py:71 netbox/wireless/tables/wirelesslink.py:31
+#: netbox/dcim/tables/cables.py:72 netbox/wireless/tables/wirelesslink.py:31
msgid "Device B"
msgstr "Dispositivo B"
-#: netbox/dcim/tables/cables.py:77
+#: netbox/dcim/tables/cables.py:78
msgid "Location A"
msgstr "Localização A"
-#: netbox/dcim/tables/cables.py:83
+#: netbox/dcim/tables/cables.py:84
msgid "Location B"
msgstr "Localização B"
-#: netbox/dcim/tables/cables.py:89
+#: netbox/dcim/tables/cables.py:90
msgid "Rack A"
msgstr "Rack A"
-#: netbox/dcim/tables/cables.py:95
+#: netbox/dcim/tables/cables.py:96
msgid "Rack B"
msgstr "Rack B"
-#: netbox/dcim/tables/cables.py:101
+#: netbox/dcim/tables/cables.py:102
msgid "Site A"
msgstr "Site A"
-#: netbox/dcim/tables/cables.py:107
+#: netbox/dcim/tables/cables.py:108
msgid "Site B"
msgstr "Sítio B"
@@ -6173,7 +6184,7 @@ msgstr "Acessível"
#: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62
#: netbox/virtualization/forms/model_forms.py:122
#: netbox/virtualization/tables/clusters.py:83
-#: netbox/virtualization/views.py:202
+#: netbox/virtualization/views.py:205
msgid "Devices"
msgstr "Dispositivos"
@@ -6254,8 +6265,8 @@ msgid "Power outlets"
msgstr "Tomadas elétricas"
#: netbox/dcim/tables/devices.py:243 netbox/dcim/tables/devices.py:1046
-#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:985
-#: netbox/dcim/views.py:1224 netbox/dcim/views.py:1900
+#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:988
+#: netbox/dcim/views.py:1227 netbox/dcim/views.py:1908
#: netbox/netbox/navigation/menu.py:81 netbox/netbox/navigation/menu.py:237
#: netbox/templates/dcim/device/base.html:37
#: netbox/templates/dcim/device_list.html:43
@@ -6267,7 +6278,7 @@ msgstr "Tomadas elétricas"
#: netbox/templates/virtualization/virtualmachine/base.html:27
#: netbox/templates/virtualization/virtualmachine_list.html:14
#: netbox/virtualization/tables/virtualmachines.py:100
-#: netbox/virtualization/views.py:359 netbox/wireless/tables/wirelesslan.py:55
+#: netbox/virtualization/views.py:363 netbox/wireless/tables/wirelesslan.py:55
msgid "Interfaces"
msgstr "Interfaces"
@@ -6293,8 +6304,8 @@ msgid "Module Bay"
msgstr "Compartimento de módulo"
#: netbox/dcim/tables/devices.py:310 netbox/dcim/tables/devicetypes.py:48
-#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1060
-#: netbox/dcim/views.py:1993 netbox/netbox/navigation/menu.py:90
+#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1063
+#: netbox/dcim/views.py:2006 netbox/netbox/navigation/menu.py:90
#: netbox/templates/dcim/device/base.html:52
#: netbox/templates/dcim/device_list.html:71
#: netbox/templates/dcim/devicetype/base.html:49
@@ -6324,8 +6335,8 @@ msgid "Allocated draw (W)"
msgstr "Consumo alocado (W)"
#: netbox/dcim/tables/devices.py:546 netbox/ipam/forms/model_forms.py:747
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:589
-#: netbox/ipam/views.py:688 netbox/netbox/navigation/menu.py:145
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:596
+#: netbox/ipam/views.py:696 netbox/netbox/navigation/menu.py:145
#: netbox/netbox/navigation/menu.py:147
#: netbox/templates/dcim/interface.html:339
#: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -6418,8 +6429,8 @@ msgstr "Altura em U"
msgid "Instances"
msgstr "Instâncias"
-#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:925
-#: netbox/dcim/views.py:1164 netbox/dcim/views.py:1840
+#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:928
+#: netbox/dcim/views.py:1167 netbox/dcim/views.py:1844
#: netbox/netbox/navigation/menu.py:84
#: netbox/templates/dcim/device/base.html:25
#: netbox/templates/dcim/device_list.html:15
@@ -6429,8 +6440,8 @@ msgstr "Instâncias"
msgid "Console Ports"
msgstr "Portas de Console"
-#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:940
-#: netbox/dcim/views.py:1179 netbox/dcim/views.py:1855
+#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:943
+#: netbox/dcim/views.py:1182 netbox/dcim/views.py:1860
#: netbox/netbox/navigation/menu.py:85
#: netbox/templates/dcim/device/base.html:28
#: netbox/templates/dcim/device_list.html:22
@@ -6440,8 +6451,8 @@ msgstr "Portas de Console"
msgid "Console Server Ports"
msgstr "Portas de Servidor de Console"
-#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:955
-#: netbox/dcim/views.py:1194 netbox/dcim/views.py:1870
+#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:958
+#: netbox/dcim/views.py:1197 netbox/dcim/views.py:1876
#: netbox/netbox/navigation/menu.py:86
#: netbox/templates/dcim/device/base.html:31
#: netbox/templates/dcim/device_list.html:29
@@ -6451,8 +6462,8 @@ msgstr "Portas de Servidor de Console"
msgid "Power Ports"
msgstr "Portas de Alimentação"
-#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:970
-#: netbox/dcim/views.py:1209 netbox/dcim/views.py:1885
+#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:973
+#: netbox/dcim/views.py:1212 netbox/dcim/views.py:1892
#: netbox/netbox/navigation/menu.py:87
#: netbox/templates/dcim/device/base.html:34
#: netbox/templates/dcim/device_list.html:36
@@ -6462,8 +6473,8 @@ msgstr "Portas de Alimentação"
msgid "Power Outlets"
msgstr "Tomadas Elétricas"
-#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1000
-#: netbox/dcim/views.py:1239 netbox/dcim/views.py:1921
+#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1003
+#: netbox/dcim/views.py:1242 netbox/dcim/views.py:1930
#: netbox/netbox/navigation/menu.py:82
#: netbox/templates/dcim/device/base.html:40
#: netbox/templates/dcim/devicetype/base.html:37
@@ -6472,8 +6483,8 @@ msgstr "Tomadas Elétricas"
msgid "Front Ports"
msgstr "Portas Frontais"
-#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1015
-#: netbox/dcim/views.py:1254 netbox/dcim/views.py:1936
+#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1018
+#: netbox/dcim/views.py:1257 netbox/dcim/views.py:1946
#: netbox/netbox/navigation/menu.py:83
#: netbox/templates/dcim/device/base.html:43
#: netbox/templates/dcim/device_list.html:50
@@ -6483,16 +6494,16 @@ msgstr "Portas Frontais"
msgid "Rear Ports"
msgstr "Portas Traseiras"
-#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1045
-#: netbox/dcim/views.py:1974 netbox/netbox/navigation/menu.py:89
+#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1048
+#: netbox/dcim/views.py:1986 netbox/netbox/navigation/menu.py:89
#: netbox/templates/dcim/device/base.html:49
#: netbox/templates/dcim/device_list.html:57
#: netbox/templates/dcim/devicetype/base.html:46
msgid "Device Bays"
msgstr "Compartimentos de Dispositivos"
-#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1030
-#: netbox/dcim/views.py:1955 netbox/netbox/navigation/menu.py:88
+#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1033
+#: netbox/dcim/views.py:1966 netbox/netbox/navigation/menu.py:88
#: netbox/templates/dcim/device/base.html:46
#: netbox/templates/dcim/device_list.html:64
#: netbox/templates/dcim/devicetype/base.html:43
@@ -6517,7 +6528,7 @@ msgstr "Potência Disponível (VA)"
msgid "Racks"
msgstr "Racks"
-#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:311
+#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:318
#: netbox/templates/dcim/rack.html:90
msgid "Height"
msgstr "Altura"
@@ -6550,38 +6561,38 @@ msgstr "Sites"
msgid "Test case must set peer_termination_type"
msgstr "O caso de teste deve definir peer_termination_type"
-#: netbox/dcim/views.py:139
+#: netbox/dcim/views.py:140
#, python-brace-format
msgid "Disconnected {count} {type}"
msgstr "Desconectado {count} {type}"
-#: netbox/dcim/views.py:684 netbox/netbox/navigation/menu.py:28
+#: netbox/dcim/views.py:686 netbox/netbox/navigation/menu.py:28
msgid "Reservations"
msgstr "Reservas"
-#: netbox/dcim/views.py:702 netbox/templates/dcim/location.html:90
+#: netbox/dcim/views.py:705 netbox/templates/dcim/location.html:90
#: netbox/templates/dcim/site.html:140
msgid "Non-Racked Devices"
msgstr "Dispositivos Não Montados em Rack"
-#: netbox/dcim/views.py:2006 netbox/extras/forms/model_forms.py:453
+#: netbox/dcim/views.py:2019 netbox/extras/forms/model_forms.py:453
#: netbox/templates/extras/configcontext.html:10
#: netbox/virtualization/forms/model_forms.py:225
-#: netbox/virtualization/views.py:399
+#: netbox/virtualization/views.py:404
msgid "Config Context"
msgstr "Contexto de Configuração"
-#: netbox/dcim/views.py:2016 netbox/virtualization/views.py:409
+#: netbox/dcim/views.py:2029 netbox/virtualization/views.py:414
msgid "Render Config"
msgstr "Renderização de Configuração"
-#: netbox/dcim/views.py:2066 netbox/extras/tables/tables.py:441
+#: netbox/dcim/views.py:2080 netbox/extras/tables/tables.py:441
#: netbox/netbox/navigation/menu.py:234 netbox/netbox/navigation/menu.py:236
-#: netbox/virtualization/views.py:177
+#: netbox/virtualization/views.py:179
msgid "Virtual Machines"
msgstr "Máquinas Virtuais"
-#: netbox/dcim/views.py:2948 netbox/ipam/tables/ip.py:233
+#: netbox/dcim/views.py:2963 netbox/ipam/tables/ip.py:233
msgid "Children"
msgstr "Filhos"
@@ -7016,16 +7027,6 @@ msgstr "Tipo de cluster"
msgid "Cluster type (slug)"
msgstr "Tipo de cluster (slug)"
-#: netbox/extras/filtersets.py:537 netbox/ipam/forms/bulk_edit.py:476
-#: netbox/ipam/forms/filtersets.py:464 netbox/ipam/forms/model_forms.py:624
-#: netbox/virtualization/forms/filtersets.py:112
-msgid "Cluster group"
-msgstr "Grupo de clusters"
-
-#: netbox/extras/filtersets.py:543 netbox/virtualization/filtersets.py:136
-msgid "Cluster group (slug)"
-msgstr "Grupo de clusters (slug)"
-
#: netbox/extras/filtersets.py:553 netbox/tenancy/forms/forms.py:16
#: netbox/tenancy/forms/forms.py:39
msgid "Tenant group"
@@ -7066,13 +7067,13 @@ msgstr "Obrigatório"
#: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_import.py:57
#: netbox/extras/forms/filtersets.py:79
-#: netbox/extras/models/customfields.py:194
+#: netbox/extras/models/customfields.py:195
msgid "UI visible"
msgstr "UI visível"
#: netbox/extras/forms/bulk_edit.py:58 netbox/extras/forms/bulk_import.py:63
#: netbox/extras/forms/filtersets.py:84
-#: netbox/extras/models/customfields.py:201
+#: netbox/extras/models/customfields.py:202
msgid "UI editable"
msgstr "UI editável"
@@ -7251,11 +7252,11 @@ msgstr "Webhook {name} não encontrado"
msgid "Script {name} not found"
msgstr "Script {name} não encontrado"
-#: netbox/extras/forms/bulk_import.py:239
+#: netbox/extras/forms/bulk_import.py:236
msgid "Assigned object type"
msgstr "Tipo de objeto associado"
-#: netbox/extras/forms/bulk_import.py:244
+#: netbox/extras/forms/bulk_import.py:241
msgid "The classification of entry"
msgstr "A classificação da entrada"
@@ -7715,34 +7716,34 @@ msgstr "modelo de configuração"
msgid "config templates"
msgstr "modelos de configuração"
-#: netbox/extras/models/customfields.py:73
+#: netbox/extras/models/customfields.py:74
msgid "The object(s) to which this field applies."
msgstr "Objetos aos quais este campo se aplica."
-#: netbox/extras/models/customfields.py:80
+#: netbox/extras/models/customfields.py:81
msgid "The type of data this custom field holds"
msgstr "O tipo de dados que este campo personalizado contém"
-#: netbox/extras/models/customfields.py:87
+#: netbox/extras/models/customfields.py:88
msgid "The type of NetBox object this field maps to (for object fields)"
msgstr ""
"O tipo de objeto do NetBox para o qual este campo é mapeado (para campos de "
"objeto)"
-#: netbox/extras/models/customfields.py:93
+#: netbox/extras/models/customfields.py:94
msgid "Internal field name"
msgstr "Nome interno do campo"
-#: netbox/extras/models/customfields.py:97
+#: netbox/extras/models/customfields.py:98
msgid "Only alphanumeric characters and underscores are allowed."
msgstr "Somente caracteres alfanuméricos e sublinhados são permitidos."
-#: netbox/extras/models/customfields.py:102
+#: netbox/extras/models/customfields.py:103
msgid "Double underscores are not permitted in custom field names."
msgstr ""
"Sublinhados duplos não são permitidos em nomes de campos personalizados."
-#: netbox/extras/models/customfields.py:113
+#: netbox/extras/models/customfields.py:114
msgid ""
"Name of the field as displayed to users (if not provided, 'the field's name "
"will be used)"
@@ -7750,19 +7751,19 @@ msgstr ""
"Nome do campo exibido aos usuários (se não for fornecido, o nome do campo "
"será usado)"
-#: netbox/extras/models/customfields.py:117 netbox/extras/models/models.py:345
+#: netbox/extras/models/customfields.py:118 netbox/extras/models/models.py:345
msgid "group name"
msgstr "nome do grupo"
-#: netbox/extras/models/customfields.py:120
+#: netbox/extras/models/customfields.py:121
msgid "Custom fields within the same group will be displayed together"
msgstr "Os campos personalizados dentro do mesmo grupo serão exibidos juntos"
-#: netbox/extras/models/customfields.py:128
+#: netbox/extras/models/customfields.py:129
msgid "required"
msgstr "requeridos"
-#: netbox/extras/models/customfields.py:130
+#: netbox/extras/models/customfields.py:131
msgid ""
"If true, this field is required when creating new objects or editing an "
"existing object."
@@ -7770,11 +7771,11 @@ msgstr ""
"Se verdadeiro, este campo é obrigatório ao criar novos objetos ou editar um "
"objeto existente."
-#: netbox/extras/models/customfields.py:133
+#: netbox/extras/models/customfields.py:134
msgid "search weight"
msgstr "peso da pesquisa"
-#: netbox/extras/models/customfields.py:136
+#: netbox/extras/models/customfields.py:137
msgid ""
"Weighting for search. Lower values are considered more important. Fields "
"with a search weight of zero will be ignored."
@@ -7782,11 +7783,11 @@ msgstr ""
"Peso durante uma pesquisa. Valores mais baixos são considerados mais "
"importantes. Campos com peso de pesquisa zero serão ignorados."
-#: netbox/extras/models/customfields.py:141
+#: netbox/extras/models/customfields.py:142
msgid "filter logic"
msgstr "lógica do filtro"
-#: netbox/extras/models/customfields.py:145
+#: netbox/extras/models/customfields.py:146
msgid ""
"Loose matches any instance of a given string; exact matches the entire "
"field."
@@ -7794,11 +7795,11 @@ msgstr ""
"Flexível corresponde a qualquer instância de uma determinada string; exata "
"corresponde a todo o campo."
-#: netbox/extras/models/customfields.py:148
+#: netbox/extras/models/customfields.py:149
msgid "default"
msgstr "padrão"
-#: netbox/extras/models/customfields.py:152
+#: netbox/extras/models/customfields.py:153
msgid ""
"Default value for the field (must be a JSON value). Encapsulate strings with"
" double quotes (e.g. \"Foo\")."
@@ -7806,35 +7807,35 @@ msgstr ""
"Valor padrão para o campo (deve ser um valor JSON). Encapsule strings usando"
" aspas duplas (por exemplo, “Foo”)."
-#: netbox/extras/models/customfields.py:157
+#: netbox/extras/models/customfields.py:158
msgid "display weight"
msgstr "peso de exibição"
-#: netbox/extras/models/customfields.py:158
+#: netbox/extras/models/customfields.py:159
msgid "Fields with higher weights appear lower in a form."
msgstr "Os campos com pesos maiores aparecem mais abaixo em um formulário."
-#: netbox/extras/models/customfields.py:163
+#: netbox/extras/models/customfields.py:164
msgid "minimum value"
msgstr "valor mínimo"
-#: netbox/extras/models/customfields.py:164
+#: netbox/extras/models/customfields.py:165
msgid "Minimum allowed value (for numeric fields)"
msgstr "Valor mínimo permitido (para campos numéricos)"
-#: netbox/extras/models/customfields.py:169
+#: netbox/extras/models/customfields.py:170
msgid "maximum value"
msgstr "valor máximo"
-#: netbox/extras/models/customfields.py:170
+#: netbox/extras/models/customfields.py:171
msgid "Maximum allowed value (for numeric fields)"
msgstr "Valor máximo permitido (para campos numéricos)"
-#: netbox/extras/models/customfields.py:176
+#: netbox/extras/models/customfields.py:177
msgid "validation regex"
msgstr "expressão regular de validação"
-#: netbox/extras/models/customfields.py:178
+#: netbox/extras/models/customfields.py:179
#, python-brace-format
msgid ""
"Regular expression to enforce on text field values. Use ^ and $ to force "
@@ -7845,175 +7846,175 @@ msgstr ""
"forçar a correspondência de toda a string. Por exemplo, ^ "
"[A-Z]{3}$
limitará os valores a exatamente três letras maiúsculas."
-#: netbox/extras/models/customfields.py:186
+#: netbox/extras/models/customfields.py:187
msgid "choice set"
msgstr "conjunto de opções"
-#: netbox/extras/models/customfields.py:195
+#: netbox/extras/models/customfields.py:196
msgid "Specifies whether the custom field is displayed in the UI"
msgstr "Especifica se o campo personalizado é exibido na interface do usuário"
-#: netbox/extras/models/customfields.py:202
+#: netbox/extras/models/customfields.py:203
msgid "Specifies whether the custom field value can be edited in the UI"
msgstr ""
"Especifica se o valor do campo personalizado pode ser editado na interface "
"do usuário"
-#: netbox/extras/models/customfields.py:206
+#: netbox/extras/models/customfields.py:207
msgid "is cloneable"
msgstr "é clonável"
-#: netbox/extras/models/customfields.py:207
+#: netbox/extras/models/customfields.py:208
msgid "Replicate this value when cloning objects"
msgstr "Replique este valor ao clonar objetos"
-#: netbox/extras/models/customfields.py:224
+#: netbox/extras/models/customfields.py:225
msgid "custom field"
msgstr "campo personalizado"
-#: netbox/extras/models/customfields.py:225
+#: netbox/extras/models/customfields.py:226
msgid "custom fields"
msgstr "campos personalizados"
-#: netbox/extras/models/customfields.py:314
+#: netbox/extras/models/customfields.py:315
#, python-brace-format
msgid "Invalid default value \"{value}\": {error}"
msgstr "Valor padrão inválido”{value}“: {error}"
-#: netbox/extras/models/customfields.py:321
+#: netbox/extras/models/customfields.py:322
msgid "A minimum value may be set only for numeric fields"
msgstr "Um valor mínimo pode ser definido somente para campos numéricos"
-#: netbox/extras/models/customfields.py:323
+#: netbox/extras/models/customfields.py:324
msgid "A maximum value may be set only for numeric fields"
msgstr "Um valor máximo pode ser definido somente para campos numéricos"
-#: netbox/extras/models/customfields.py:333
+#: netbox/extras/models/customfields.py:334
msgid ""
"Regular expression validation is supported only for text and URL fields"
msgstr ""
"Expressões regulares são suportadas somente para campos de texto e URLs"
-#: netbox/extras/models/customfields.py:343
+#: netbox/extras/models/customfields.py:344
msgid "Selection fields must specify a set of choices."
msgstr "Os campos de seleção devem especificar um conjunto de opções."
-#: netbox/extras/models/customfields.py:347
+#: netbox/extras/models/customfields.py:348
msgid "Choices may be set only on selection fields."
msgstr "As opções podem ser definidas somente nos campos de seleção."
-#: netbox/extras/models/customfields.py:354
+#: netbox/extras/models/customfields.py:355
msgid "Object fields must define an object type."
msgstr "Os campos de objeto devem definir um tipo de objeto."
-#: netbox/extras/models/customfields.py:359
+#: netbox/extras/models/customfields.py:360
#, python-brace-format
msgid "{type} fields may not define an object type."
msgstr "Campos {type} não podem definir um tipo de objeto."
-#: netbox/extras/models/customfields.py:439
+#: netbox/extras/models/customfields.py:440
msgid "True"
msgstr "Verdadeiro"
-#: netbox/extras/models/customfields.py:440
+#: netbox/extras/models/customfields.py:441
msgid "False"
msgstr "Falso"
-#: netbox/extras/models/customfields.py:522
+#: netbox/extras/models/customfields.py:523
#, python-brace-format
msgid "Values must match this regex: {regex}
"
msgstr ""
"Os valores devem corresponder a esta expressão regular: {regex}
"
-#: netbox/extras/models/customfields.py:616
+#: netbox/extras/models/customfields.py:617
msgid "Value must be a string."
msgstr "O valor deve ser uma string."
-#: netbox/extras/models/customfields.py:618
+#: netbox/extras/models/customfields.py:619
#, python-brace-format
msgid "Value must match regex '{regex}'"
msgstr "O valor deve corresponder à expressão regular '{regex}'"
-#: netbox/extras/models/customfields.py:623
+#: netbox/extras/models/customfields.py:624
msgid "Value must be an integer."
msgstr "O valor deve ser um número inteiro."
-#: netbox/extras/models/customfields.py:626
-#: netbox/extras/models/customfields.py:641
+#: netbox/extras/models/customfields.py:627
+#: netbox/extras/models/customfields.py:642
#, python-brace-format
msgid "Value must be at least {minimum}"
msgstr "O valor deve ser pelo menos {minimum}"
-#: netbox/extras/models/customfields.py:630
-#: netbox/extras/models/customfields.py:645
+#: netbox/extras/models/customfields.py:631
+#: netbox/extras/models/customfields.py:646
#, python-brace-format
msgid "Value must not exceed {maximum}"
msgstr "O valor não deve exceder {maximum}"
-#: netbox/extras/models/customfields.py:638
+#: netbox/extras/models/customfields.py:639
msgid "Value must be a decimal."
msgstr "O valor deve ser decimal."
-#: netbox/extras/models/customfields.py:650
+#: netbox/extras/models/customfields.py:651
msgid "Value must be true or false."
msgstr "O valor deve ser verdadeiro ou falso."
-#: netbox/extras/models/customfields.py:658
+#: netbox/extras/models/customfields.py:659
msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
msgstr "Os valores de data devem estar no formato ISO 8601 (AAAA-MM-DD)."
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:672
msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
msgstr ""
"Os valores de data e hora devem estar no formato ISO 8601 (AAAA-MM-DD "
"HH:MM:SS)."
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:679
#, python-brace-format
msgid "Invalid choice ({value}) for choice set {choiceset}."
msgstr "Escolha {value} é inválida para o conjunto de escolhas {choiceset}."
-#: netbox/extras/models/customfields.py:688
+#: netbox/extras/models/customfields.py:689
#, python-brace-format
msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
msgstr "Escolha {value} é inválida para o conjunto de escolhas {choiceset}."
-#: netbox/extras/models/customfields.py:697
+#: netbox/extras/models/customfields.py:698
#, python-brace-format
msgid "Value must be an object ID, not {type}"
msgstr "O valor deve ser um ID de objeto, não {type}"
-#: netbox/extras/models/customfields.py:703
+#: netbox/extras/models/customfields.py:704
#, python-brace-format
msgid "Value must be a list of object IDs, not {type}"
msgstr "O valor deve ser uma lista de IDs de objetos, não {type}"
-#: netbox/extras/models/customfields.py:707
+#: netbox/extras/models/customfields.py:708
#, python-brace-format
msgid "Found invalid object ID: {id}"
msgstr "ID de objeto inválida encontrada: {id}"
-#: netbox/extras/models/customfields.py:710
+#: netbox/extras/models/customfields.py:711
msgid "Required field cannot be empty."
msgstr "O campo obrigatório não pode estar vazio."
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:730
msgid "Base set of predefined choices (optional)"
msgstr "Conjunto básico de opções predefinidas (opcional)"
-#: netbox/extras/models/customfields.py:741
+#: netbox/extras/models/customfields.py:742
msgid "Choices are automatically ordered alphabetically"
msgstr "As opções são ordenadas automaticamente em ordem alfabética"
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:749
msgid "custom field choice set"
msgstr "conjunto de opções de campo personalizado"
-#: netbox/extras/models/customfields.py:749
+#: netbox/extras/models/customfields.py:750
msgid "custom field choice sets"
msgstr "conjuntos de opções de campos personalizados"
-#: netbox/extras/models/customfields.py:785
+#: netbox/extras/models/customfields.py:786
msgid "Must define base or extra choices."
msgstr "Deve definir opções básicas ou extras."
@@ -8455,19 +8456,19 @@ msgstr "Dados do Script"
msgid "Script Execution Parameters"
msgstr "Parâmetros de Execução do Script"
-#: netbox/extras/scripts.py:664
+#: netbox/extras/scripts.py:666
msgid "Database changes have been reverted automatically."
msgstr "As alterações no banco de dados foram revertidas automaticamente."
-#: netbox/extras/scripts.py:677
+#: netbox/extras/scripts.py:679
msgid "Script aborted with error: "
msgstr "Script abortado com erro: "
-#: netbox/extras/scripts.py:687
+#: netbox/extras/scripts.py:689
msgid "An exception occurred: "
msgstr "Ocorreu uma exceção: "
-#: netbox/extras/scripts.py:690
+#: netbox/extras/scripts.py:692
msgid "Database changes have been reverted due to error."
msgstr "As alterações do banco de dados foram revertidas devido a um erro."
@@ -9759,7 +9760,7 @@ msgid "The primary function of this VLAN"
msgstr "Função principal desta VLAN"
#: netbox/ipam/models/vlans.py:215 netbox/ipam/tables/ip.py:175
-#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:961
+#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:971
#: netbox/netbox/navigation/menu.py:180 netbox/netbox/navigation/menu.py:182
msgid "VLANs"
msgstr "VLANs"
@@ -9835,7 +9836,7 @@ msgid "Added"
msgstr "Adicionado"
#: netbox/ipam/tables/ip.py:127 netbox/ipam/tables/ip.py:165
-#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:342
+#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:346
#: netbox/netbox/navigation/menu.py:152 netbox/netbox/navigation/menu.py:154
#: netbox/templates/ipam/vlan.html:84
msgid "Prefixes"
@@ -9843,7 +9844,7 @@ msgstr "Prefixos"
#: netbox/ipam/tables/ip.py:130 netbox/ipam/tables/ip.py:267
#: netbox/ipam/tables/ip.py:320 netbox/ipam/tables/vlans.py:82
-#: netbox/templates/dcim/device.html:253
+#: netbox/templates/dcim/device.html:260
#: netbox/templates/ipam/aggregate.html:24
#: netbox/templates/ipam/iprange.html:29 netbox/templates/ipam/prefix.html:106
msgid "Utilization"
@@ -9938,23 +9939,23 @@ msgstr ""
"Somente caracteres alfanuméricos, asteriscos, hífens, pontos e sublinhados "
"são permitidos em nomes DNS"
-#: netbox/ipam/views.py:528
+#: netbox/ipam/views.py:533
msgid "Child Prefixes"
msgstr "Prefixos Filhos"
-#: netbox/ipam/views.py:563
+#: netbox/ipam/views.py:569
msgid "Child Ranges"
msgstr "Intervalos Filhos"
-#: netbox/ipam/views.py:889
+#: netbox/ipam/views.py:898
msgid "Related IPs"
msgstr "IPs relacionados"
-#: netbox/ipam/views.py:1116
+#: netbox/ipam/views.py:1127
msgid "Device Interfaces"
msgstr "Interfaces de dispositivos"
-#: netbox/ipam/views.py:1133
+#: netbox/ipam/views.py:1145
msgid "VM Interfaces"
msgstr "Interfaces de Máquina Virtual"
@@ -10288,6 +10289,10 @@ msgstr "Expressão Regular"
msgid "Object type(s)"
msgstr "Tipo(s) de objeto"
+#: netbox/netbox/forms/__init__.py:40
+msgid "Lookup"
+msgstr "Procurar"
+
#: netbox/netbox/forms/base.py:88
msgid ""
"Tag slugs separated by commas, encased with double quotes (e.g. "
@@ -10392,7 +10397,7 @@ msgstr "Atribuições dos Contatos"
msgid "Modules"
msgstr "Módulos"
-#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:158
+#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:160
#: netbox/templates/dcim/virtualdevicecontext.html:8
msgid "Virtual Device Contexts"
msgstr "Contextos de Dispositivos Virtuais"
@@ -10454,7 +10459,7 @@ msgstr "Grupos de VLANs"
msgid "Service Templates"
msgstr "Modelos de Serviço"
-#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:295
+#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:302
#: netbox/templates/ipam/ipaddress.html:118
#: netbox/templates/virtualization/virtualmachine.html:150
msgid "Services"
@@ -10521,7 +10526,7 @@ msgstr "Virtualização"
#: netbox/templates/virtualization/virtualmachine/base.html:32
#: netbox/templates/virtualization/virtualmachine_list.html:21
#: netbox/virtualization/tables/virtualmachines.py:103
-#: netbox/virtualization/views.py:380
+#: netbox/virtualization/views.py:385
msgid "Virtual Disks"
msgstr "Discos Virtuais"
@@ -10583,7 +10588,7 @@ msgstr "Personalização"
#: netbox/templates/htmx/form.html:19 netbox/templates/inc/filter_list.html:30
#: netbox/templates/inc/panels/custom_fields.html:7
#: netbox/templates/ipam/ipaddress_bulk_add.html:35
-#: netbox/templates/ipam/vlan_edit.html:63
+#: netbox/templates/ipam/vlan_edit.html:59
msgid "Custom Fields"
msgstr "Campos Personalizados"
@@ -10689,7 +10694,7 @@ msgstr "Histórico de Configuração"
msgid "Background Tasks"
msgstr "Tarefas em Background"
-#: netbox/netbox/navigation/menu.py:483 netbox/templates/500.html:35
+#: netbox/netbox/navigation/menu.py:480 netbox/templates/500.html:35
#: netbox/templates/account/preferences.html:22
#: netbox/templates/core/system.html:80
msgid "Plugins"
@@ -10828,43 +10833,43 @@ msgstr "Não é possível adicionar stores ao registro após a inicialização"
msgid "Cannot delete stores from registry"
msgstr "Não é possível excluir stores do registro"
-#: netbox/netbox/settings.py:724
+#: netbox/netbox/settings.py:741
msgid "German"
msgstr "Alemão"
-#: netbox/netbox/settings.py:725
+#: netbox/netbox/settings.py:742
msgid "English"
msgstr "Inglês"
-#: netbox/netbox/settings.py:726
+#: netbox/netbox/settings.py:743
msgid "Spanish"
msgstr "Espanhol"
-#: netbox/netbox/settings.py:727
+#: netbox/netbox/settings.py:744
msgid "French"
msgstr "Francês"
-#: netbox/netbox/settings.py:728
+#: netbox/netbox/settings.py:745
msgid "Japanese"
msgstr "Japonês"
-#: netbox/netbox/settings.py:729
+#: netbox/netbox/settings.py:746
msgid "Portuguese"
msgstr "Português"
-#: netbox/netbox/settings.py:730
+#: netbox/netbox/settings.py:747
msgid "Russian"
msgstr "Russo"
-#: netbox/netbox/settings.py:731
+#: netbox/netbox/settings.py:748
msgid "Turkish"
msgstr "Turco"
-#: netbox/netbox/settings.py:732
+#: netbox/netbox/settings.py:749
msgid "Ukrainian"
msgstr "Ucraniano"
-#: netbox/netbox/settings.py:733
+#: netbox/netbox/settings.py:750
msgid "Chinese"
msgstr "Chinês"
@@ -10911,7 +10916,7 @@ msgstr "Changelog"
msgid "Journal"
msgstr "Registro"
-#: netbox/netbox/views/generic/object_views.py:106
+#: netbox/netbox/views/generic/object_views.py:108
#, python-brace-format
msgid "{class_name} must implement get_children()"
msgstr "{class_name} deve implementar get_children ()"
@@ -11483,8 +11488,8 @@ msgstr "Filas em Segundo Plano"
#: netbox/templates/core/rq_worker_list.html:45
#: netbox/templates/extras/script_result.html:49
#: netbox/templates/extras/script_result.html:51
-#: netbox/templates/inc/table_controls_htmx.html:28
-#: netbox/templates/inc/table_controls_htmx.html:31
+#: netbox/templates/inc/table_controls_htmx.html:30
+#: netbox/templates/inc/table_controls_htmx.html:33
msgid "Configure Table"
msgstr "Configurar Tabela"
@@ -11745,56 +11750,58 @@ msgstr "Etiqueta de Patrimônio"
msgid "View Virtual Chassis"
msgstr "Exibir Chassi Virtual"
-#: netbox/templates/dcim/device.html:162
+#: netbox/templates/dcim/device.html:164
msgid "Create VDC"
msgstr "Criar Contexto de Dispositivo Virtual"
-#: netbox/templates/dcim/device.html:173
+#: netbox/templates/dcim/device.html:175
#: netbox/templates/dcim/device_edit.html:64
#: netbox/virtualization/forms/model_forms.py:223
msgid "Management"
msgstr "Gestão"
-#: netbox/templates/dcim/device.html:193 netbox/templates/dcim/device.html:209
+#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211
+#: netbox/templates/dcim/device.html:227
#: netbox/templates/virtualization/virtualmachine.html:53
#: netbox/templates/virtualization/virtualmachine.html:69
msgid "NAT for"
msgstr "NAT para"
-#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211
+#: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213
+#: netbox/templates/dcim/device.html:229
#: netbox/templates/virtualization/virtualmachine.html:55
#: netbox/templates/virtualization/virtualmachine.html:71
msgid "NAT"
msgstr "NAT"
-#: netbox/templates/dcim/device.html:245 netbox/templates/dcim/rack.html:67
+#: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:67
msgid "Power Utilization"
msgstr "Utilização de Energia"
-#: netbox/templates/dcim/device.html:249
+#: netbox/templates/dcim/device.html:256
msgid "Input"
msgstr "Entrada"
-#: netbox/templates/dcim/device.html:250
+#: netbox/templates/dcim/device.html:257
msgid "Outlets"
msgstr "Tomadas"
-#: netbox/templates/dcim/device.html:251
+#: netbox/templates/dcim/device.html:258
msgid "Allocated"
msgstr "Alocado"
-#: netbox/templates/dcim/device.html:261 netbox/templates/dcim/device.html:263
-#: netbox/templates/dcim/device.html:279
+#: netbox/templates/dcim/device.html:268 netbox/templates/dcim/device.html:270
+#: netbox/templates/dcim/device.html:286
#: netbox/templates/dcim/powerfeed.html:67
msgid "VA"
msgstr "VA"
-#: netbox/templates/dcim/device.html:273
+#: netbox/templates/dcim/device.html:280
msgctxt "Leg of a power feed"
msgid "Leg"
msgstr "Ramal"
-#: netbox/templates/dcim/device.html:299
+#: netbox/templates/dcim/device.html:306
#: netbox/templates/virtualization/virtualmachine.html:154
msgid "Add a service"
msgstr "Adicionar um serviço"
@@ -13172,7 +13179,7 @@ msgstr "Os dados não estão sincronizados com o arquivo de upstream"
msgid "Quick search"
msgstr "Busca rápida"
-#: netbox/templates/inc/table_controls_htmx.html:19
+#: netbox/templates/inc/table_controls_htmx.html:20
msgid "Saved filter"
msgstr "Filtro salvo"
@@ -14253,7 +14260,11 @@ msgstr ""
msgid "More than 50"
msgstr "Mais que 50"
-#: netbox/utilities/fields.py:157
+#: netbox/utilities/fields.py:30
+msgid "RGB color in hexadecimal. Example: "
+msgstr "Cor RGB em hexadecimal. Exemplo:"
+
+#: netbox/utilities/fields.py:159
#, python-format
msgid ""
"%s(%r) is invalid. to_model parameter to CounterCacheField must be a string "
@@ -14262,7 +14273,7 @@ msgstr ""
"%s(%r) é inválido. O parâmetro to_model para CounterCacheField deve ser uma "
"string no formato 'app.model'"
-#: netbox/utilities/fields.py:167
+#: netbox/utilities/fields.py:169
#, python-format
msgid ""
"%s(%r) is invalid. to_field parameter to CounterCacheField must be a string "
@@ -14571,6 +14582,14 @@ msgstr "Mover para Cima"
msgid "Move Down"
msgstr "Mover para Baixo"
+#: netbox/utilities/templates/navigation/menu.html:14
+msgid "Search…"
+msgstr "Buscar..."
+
+#: netbox/utilities/templates/navigation/menu.html:14
+msgid "Search NetBox"
+msgstr "Buscar no Netbox"
+
#: netbox/utilities/templates/widgets/apiselect.html:7
msgid "Open selector"
msgstr "Abrir seletor"
@@ -14592,17 +14611,17 @@ msgstr "O teste deve definir csv_update_data."
msgid "{value} is not a valid regular expression."
msgstr "{value} não é uma expressão regular válida."
-#: netbox/utilities/views.py:44
+#: netbox/utilities/views.py:45
#, python-brace-format
msgid "{self.__class__.__name__} must implement get_required_permission()"
msgstr "{self.__class__.__name__} deve implementar get_required_permission ()"
-#: netbox/utilities/views.py:80
+#: netbox/utilities/views.py:81
#, python-brace-format
msgid "{class_name} must implement get_required_permission()"
msgstr "{class_name} deve implementar get_required_permission ()"
-#: netbox/utilities/views.py:104
+#: netbox/utilities/views.py:105
#, python-brace-format
msgid ""
"{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
@@ -14624,10 +14643,6 @@ msgstr "Grupo principal (slug)"
msgid "Cluster type (ID)"
msgstr "Tipo de cluster (ID)"
-#: netbox/virtualization/filtersets.py:130
-msgid "Cluster group (ID)"
-msgstr "Grupo de clusters (ID)"
-
#: netbox/virtualization/filtersets.py:151
#: netbox/virtualization/filtersets.py:267
msgid "Cluster (ID)"
diff --git a/netbox/translations/ru/LC_MESSAGES/django.mo b/netbox/translations/ru/LC_MESSAGES/django.mo
index 043cc1f80..27b329bf8 100644
Binary files a/netbox/translations/ru/LC_MESSAGES/django.mo and b/netbox/translations/ru/LC_MESSAGES/django.mo differ
diff --git a/netbox/translations/ru/LC_MESSAGES/django.po b/netbox/translations/ru/LC_MESSAGES/django.po
index 7a2918d18..c53f2236d 100644
--- a/netbox/translations/ru/LC_MESSAGES/django.po
+++ b/netbox/translations/ru/LC_MESSAGES/django.po
@@ -9,19 +9,19 @@
# nvoff, 2024
# Михаил Башкиров, 2024
# Сергей Стрельцов, 2024
-# Artem Kotik, 2024
# Ivan Petrov, 2024
# Madi Tuleu, 2024
# Jeremy Stretch, 2024
+# Artem Kotik, 2024
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-06-22 05:02+0000\n"
+"POT-Creation-Date: 2024-07-09 05:02+0000\n"
"PO-Revision-Date: 2023-10-30 17:48+0000\n"
-"Last-Translator: Jeremy Stretch, 2024\n"
+"Last-Translator: Artem Kotik, 2024\n"
"Language-Team: Russian (https://app.transifex.com/netbox-community/teams/178115/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -119,8 +119,8 @@ msgstr "Списан"
#: netbox/dcim/filtersets.py:97 netbox/dcim/filtersets.py:151
#: netbox/dcim/filtersets.py:211 netbox/dcim/filtersets.py:297
#: netbox/dcim/filtersets.py:406 netbox/dcim/filtersets.py:969
-#: netbox/dcim/filtersets.py:1305 netbox/dcim/filtersets.py:1832
-#: netbox/dcim/filtersets.py:2075 netbox/dcim/filtersets.py:2133
+#: netbox/dcim/filtersets.py:1316 netbox/dcim/filtersets.py:1843
+#: netbox/dcim/filtersets.py:2086 netbox/dcim/filtersets.py:2144
#: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:945
#: netbox/virtualization/filtersets.py:45
#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:377
@@ -131,8 +131,8 @@ msgstr "Регион (ID)"
#: netbox/dcim/filtersets.py:104 netbox/dcim/filtersets.py:157
#: netbox/dcim/filtersets.py:218 netbox/dcim/filtersets.py:304
#: netbox/dcim/filtersets.py:413 netbox/dcim/filtersets.py:976
-#: netbox/dcim/filtersets.py:1312 netbox/dcim/filtersets.py:1839
-#: netbox/dcim/filtersets.py:2082 netbox/dcim/filtersets.py:2140
+#: netbox/dcim/filtersets.py:1323 netbox/dcim/filtersets.py:1850
+#: netbox/dcim/filtersets.py:2093 netbox/dcim/filtersets.py:2151
#: netbox/extras/filtersets.py:461 netbox/ipam/filtersets.py:346
#: netbox/ipam/filtersets.py:952 netbox/virtualization/filtersets.py:52
#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:372
@@ -142,9 +142,9 @@ msgstr "Регион (подстрока)"
#: netbox/circuits/filtersets.py:42 netbox/circuits/filtersets.py:209
#: netbox/dcim/filtersets.py:127 netbox/dcim/filtersets.py:224
#: netbox/dcim/filtersets.py:310 netbox/dcim/filtersets.py:419
-#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1318
-#: netbox/dcim/filtersets.py:1845 netbox/dcim/filtersets.py:2088
-#: netbox/dcim/filtersets.py:2146 netbox/ipam/filtersets.py:352
+#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1329
+#: netbox/dcim/filtersets.py:1856 netbox/dcim/filtersets.py:2099
+#: netbox/dcim/filtersets.py:2157 netbox/ipam/filtersets.py:352
#: netbox/ipam/filtersets.py:958 netbox/virtualization/filtersets.py:58
#: netbox/virtualization/filtersets.py:186
msgid "Site group (ID)"
@@ -153,9 +153,9 @@ msgstr "Группа сайтов (ID)"
#: netbox/circuits/filtersets.py:49 netbox/circuits/filtersets.py:216
#: netbox/dcim/filtersets.py:134 netbox/dcim/filtersets.py:231
#: netbox/dcim/filtersets.py:317 netbox/dcim/filtersets.py:426
-#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1325
-#: netbox/dcim/filtersets.py:1852 netbox/dcim/filtersets.py:2095
-#: netbox/dcim/filtersets.py:2153 netbox/extras/filtersets.py:467
+#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1336
+#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2106
+#: netbox/dcim/filtersets.py:2164 netbox/extras/filtersets.py:467
#: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:965
#: netbox/virtualization/filtersets.py:65
#: netbox/virtualization/filtersets.py:193
@@ -164,7 +164,7 @@ msgstr "Группа сайтов (подстрока)"
#: netbox/circuits/filtersets.py:54 netbox/circuits/forms/bulk_edit.py:186
#: netbox/circuits/forms/bulk_edit.py:214
-#: netbox/circuits/forms/bulk_import.py:126
+#: netbox/circuits/forms/bulk_import.py:123
#: netbox/circuits/forms/filtersets.py:49
#: netbox/circuits/forms/filtersets.py:169
#: netbox/circuits/forms/filtersets.py:207
@@ -173,15 +173,15 @@ msgstr "Группа сайтов (подстрока)"
#: netbox/circuits/tables/circuits.py:107 netbox/dcim/forms/bulk_edit.py:167
#: netbox/dcim/forms/bulk_edit.py:239 netbox/dcim/forms/bulk_edit.py:575
#: netbox/dcim/forms/bulk_edit.py:771 netbox/dcim/forms/bulk_import.py:130
-#: netbox/dcim/forms/bulk_import.py:184 netbox/dcim/forms/bulk_import.py:257
-#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1262
-#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:85
-#: netbox/dcim/forms/filtersets.py:218 netbox/dcim/forms/filtersets.py:265
-#: netbox/dcim/forms/filtersets.py:374 netbox/dcim/forms/filtersets.py:682
-#: netbox/dcim/forms/filtersets.py:916 netbox/dcim/forms/filtersets.py:940
-#: netbox/dcim/forms/filtersets.py:1030 netbox/dcim/forms/filtersets.py:1068
-#: netbox/dcim/forms/filtersets.py:1476 netbox/dcim/forms/filtersets.py:1500
-#: netbox/dcim/forms/filtersets.py:1524 netbox/dcim/forms/model_forms.py:136
+#: netbox/dcim/forms/bulk_import.py:181 netbox/dcim/forms/bulk_import.py:254
+#: netbox/dcim/forms/bulk_import.py:479 netbox/dcim/forms/bulk_import.py:1250
+#: netbox/dcim/forms/bulk_import.py:1278 netbox/dcim/forms/filtersets.py:86
+#: netbox/dcim/forms/filtersets.py:219 netbox/dcim/forms/filtersets.py:266
+#: netbox/dcim/forms/filtersets.py:375 netbox/dcim/forms/filtersets.py:684
+#: netbox/dcim/forms/filtersets.py:928 netbox/dcim/forms/filtersets.py:952
+#: netbox/dcim/forms/filtersets.py:1042 netbox/dcim/forms/filtersets.py:1080
+#: netbox/dcim/forms/filtersets.py:1488 netbox/dcim/forms/filtersets.py:1512
+#: netbox/dcim/forms/filtersets.py:1536 netbox/dcim/forms/model_forms.py:136
#: netbox/dcim/forms/model_forms.py:164 netbox/dcim/forms/model_forms.py:206
#: netbox/dcim/forms/model_forms.py:406 netbox/dcim/forms/model_forms.py:671
#: netbox/dcim/forms/object_create.py:391 netbox/dcim/tables/devices.py:150
@@ -280,8 +280,8 @@ msgstr "Тип канала связи (подстрока)"
#: netbox/circuits/filtersets.py:221 netbox/circuits/filtersets.py:266
#: netbox/dcim/filtersets.py:235 netbox/dcim/filtersets.py:321
#: netbox/dcim/filtersets.py:394 netbox/dcim/filtersets.py:993
-#: netbox/dcim/filtersets.py:1330 netbox/dcim/filtersets.py:1857
-#: netbox/dcim/filtersets.py:2099 netbox/dcim/filtersets.py:2158
+#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:1868
+#: netbox/dcim/filtersets.py:2110 netbox/dcim/filtersets.py:2169
#: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363
#: netbox/ipam/filtersets.py:969 netbox/virtualization/filtersets.py:69
#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:387
@@ -294,7 +294,7 @@ msgstr "Прекращение действия A (ID)"
#: netbox/circuits/filtersets.py:258 netbox/core/filtersets.py:73
#: netbox/core/filtersets.py:132 netbox/dcim/filtersets.py:693
-#: netbox/dcim/filtersets.py:1299 netbox/dcim/filtersets.py:2206
+#: netbox/dcim/filtersets.py:1310 netbox/dcim/filtersets.py:2217
#: netbox/extras/filtersets.py:41 netbox/extras/filtersets.py:63
#: netbox/extras/filtersets.py:92 netbox/extras/filtersets.py:127
#: netbox/extras/filtersets.py:176 netbox/extras/filtersets.py:204
@@ -311,11 +311,12 @@ msgstr "Прекращение действия A (ID)"
#: netbox/tenancy/filtersets.py:100 netbox/users/filtersets.py:23
#: netbox/users/filtersets.py:52 netbox/users/filtersets.py:92
#: netbox/users/filtersets.py:140 netbox/utilities/forms/forms.py:104
+#: netbox/utilities/templates/navigation/menu.html:16
msgid "Search"
msgstr "Поиск"
#: netbox/circuits/filtersets.py:262 netbox/circuits/forms/bulk_edit.py:170
-#: netbox/circuits/forms/bulk_import.py:117
+#: netbox/circuits/forms/bulk_import.py:114
#: netbox/circuits/forms/filtersets.py:196
#: netbox/circuits/forms/filtersets.py:212
#: netbox/circuits/forms/model_forms.py:109
@@ -336,9 +337,9 @@ msgstr "Сеть провайдера (ID)"
#: netbox/circuits/forms/filtersets.py:54
#: netbox/circuits/forms/model_forms.py:27
#: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:127
-#: netbox/dcim/forms/filtersets.py:188 netbox/dcim/forms/model_forms.py:122
+#: netbox/dcim/forms/filtersets.py:189 netbox/dcim/forms/model_forms.py:122
#: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:210
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:213
#: netbox/netbox/navigation/menu.py:159 netbox/netbox/navigation/menu.py:162
#: netbox/templates/circuits/provider.html:23
msgid "ASNs"
@@ -476,7 +477,7 @@ msgstr "Описание"
#: netbox/circuits/forms/bulk_edit.py:121
#: netbox/circuits/forms/bulk_import.py:35
#: netbox/circuits/forms/bulk_import.py:50
-#: netbox/circuits/forms/bulk_import.py:76
+#: netbox/circuits/forms/bulk_import.py:73
#: netbox/circuits/forms/filtersets.py:68
#: netbox/circuits/forms/filtersets.py:86
#: netbox/circuits/forms/filtersets.py:114
@@ -509,8 +510,8 @@ msgstr "Идентификатор Службы"
#: netbox/circuits/forms/filtersets.py:105 netbox/dcim/forms/bulk_edit.py:205
#: netbox/dcim/forms/bulk_edit.py:502 netbox/dcim/forms/bulk_edit.py:702
#: netbox/dcim/forms/bulk_edit.py:1071 netbox/dcim/forms/bulk_edit.py:1098
-#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:983
-#: netbox/dcim/forms/filtersets.py:1359 netbox/dcim/forms/filtersets.py:1380
+#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:995
+#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392
#: netbox/dcim/tables/devices.py:687 netbox/dcim/tables/devices.py:744
#: netbox/dcim/tables/devices.py:968 netbox/dcim/tables/devicetypes.py:245
#: netbox/dcim/tables/devicetypes.py:260 netbox/dcim/tables/racks.py:32
@@ -526,7 +527,7 @@ msgid "Color"
msgstr "Цвет"
#: netbox/circuits/forms/bulk_edit.py:116
-#: netbox/circuits/forms/bulk_import.py:89
+#: netbox/circuits/forms/bulk_import.py:86
#: netbox/circuits/forms/filtersets.py:124 netbox/core/forms/bulk_edit.py:18
#: netbox/core/forms/filtersets.py:30 netbox/core/tables/data.py:20
#: netbox/core/tables/jobs.py:18 netbox/dcim/forms/bulk_edit.py:282
@@ -534,17 +535,17 @@ msgstr "Цвет"
#: netbox/dcim/forms/bulk_edit.py:887 netbox/dcim/forms/bulk_edit.py:906
#: netbox/dcim/forms/bulk_edit.py:929 netbox/dcim/forms/bulk_edit.py:971
#: netbox/dcim/forms/bulk_edit.py:1015 netbox/dcim/forms/bulk_edit.py:1066
-#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:214
-#: netbox/dcim/forms/bulk_import.py:653 netbox/dcim/forms/bulk_import.py:679
-#: netbox/dcim/forms/bulk_import.py:705 netbox/dcim/forms/bulk_import.py:725
-#: netbox/dcim/forms/bulk_import.py:808 netbox/dcim/forms/bulk_import.py:902
-#: netbox/dcim/forms/bulk_import.py:944 netbox/dcim/forms/bulk_import.py:1161
-#: netbox/dcim/forms/bulk_import.py:1327 netbox/dcim/forms/filtersets.py:287
-#: netbox/dcim/forms/filtersets.py:874 netbox/dcim/forms/filtersets.py:973
-#: netbox/dcim/forms/filtersets.py:1094 netbox/dcim/forms/filtersets.py:1164
-#: netbox/dcim/forms/filtersets.py:1186 netbox/dcim/forms/filtersets.py:1208
-#: netbox/dcim/forms/filtersets.py:1225 netbox/dcim/forms/filtersets.py:1259
-#: netbox/dcim/forms/filtersets.py:1354 netbox/dcim/forms/filtersets.py:1375
+#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:211
+#: netbox/dcim/forms/bulk_import.py:647 netbox/dcim/forms/bulk_import.py:673
+#: netbox/dcim/forms/bulk_import.py:699 netbox/dcim/forms/bulk_import.py:719
+#: netbox/dcim/forms/bulk_import.py:802 netbox/dcim/forms/bulk_import.py:896
+#: netbox/dcim/forms/bulk_import.py:938 netbox/dcim/forms/bulk_import.py:1152
+#: netbox/dcim/forms/bulk_import.py:1315 netbox/dcim/forms/filtersets.py:288
+#: netbox/dcim/forms/filtersets.py:886 netbox/dcim/forms/filtersets.py:985
+#: netbox/dcim/forms/filtersets.py:1106 netbox/dcim/forms/filtersets.py:1176
+#: netbox/dcim/forms/filtersets.py:1198 netbox/dcim/forms/filtersets.py:1220
+#: netbox/dcim/forms/filtersets.py:1237 netbox/dcim/forms/filtersets.py:1271
+#: netbox/dcim/forms/filtersets.py:1366 netbox/dcim/forms/filtersets.py:1387
#: netbox/dcim/forms/model_forms.py:646 netbox/dcim/forms/model_forms.py:652
#: netbox/dcim/forms/object_import.py:84
#: netbox/dcim/forms/object_import.py:113
@@ -583,14 +584,14 @@ msgid "Type"
msgstr "Тип"
#: netbox/circuits/forms/bulk_edit.py:126
-#: netbox/circuits/forms/bulk_import.py:82
+#: netbox/circuits/forms/bulk_import.py:79
#: netbox/circuits/forms/filtersets.py:137
#: netbox/circuits/forms/model_forms.py:96
msgid "Provider account"
msgstr "Аккаунт провайдера"
#: netbox/circuits/forms/bulk_edit.py:134
-#: netbox/circuits/forms/bulk_import.py:95
+#: netbox/circuits/forms/bulk_import.py:92
#: netbox/circuits/forms/filtersets.py:148 netbox/core/forms/filtersets.py:35
#: netbox/core/forms/filtersets.py:76 netbox/core/tables/data.py:23
#: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88
@@ -599,13 +600,13 @@ msgstr "Аккаунт провайдера"
#: netbox/dcim/forms/bulk_edit.py:654 netbox/dcim/forms/bulk_edit.py:686
#: netbox/dcim/forms/bulk_edit.py:813 netbox/dcim/forms/bulk_edit.py:1594
#: netbox/dcim/forms/bulk_import.py:87 netbox/dcim/forms/bulk_import.py:146
-#: netbox/dcim/forms/bulk_import.py:202 netbox/dcim/forms/bulk_import.py:450
-#: netbox/dcim/forms/bulk_import.py:604 netbox/dcim/forms/bulk_import.py:1155
-#: netbox/dcim/forms/bulk_import.py:1322 netbox/dcim/forms/bulk_import.py:1386
-#: netbox/dcim/forms/filtersets.py:171 netbox/dcim/forms/filtersets.py:230
-#: netbox/dcim/forms/filtersets.py:282 netbox/dcim/forms/filtersets.py:728
-#: netbox/dcim/forms/filtersets.py:843 netbox/dcim/forms/filtersets.py:877
-#: netbox/dcim/forms/filtersets.py:978 netbox/dcim/forms/filtersets.py:1089
+#: netbox/dcim/forms/bulk_import.py:199 netbox/dcim/forms/bulk_import.py:444
+#: netbox/dcim/forms/bulk_import.py:598 netbox/dcim/forms/bulk_import.py:1146
+#: netbox/dcim/forms/bulk_import.py:1310 netbox/dcim/forms/bulk_import.py:1374
+#: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:231
+#: netbox/dcim/forms/filtersets.py:283 netbox/dcim/forms/filtersets.py:730
+#: netbox/dcim/forms/filtersets.py:855 netbox/dcim/forms/filtersets.py:889
+#: netbox/dcim/forms/filtersets.py:990 netbox/dcim/forms/filtersets.py:1101
#: netbox/dcim/tables/devices.py:137 netbox/dcim/tables/devices.py:800
#: netbox/dcim/tables/devices.py:1028 netbox/dcim/tables/modules.py:69
#: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:66
@@ -623,7 +624,7 @@ msgstr "Аккаунт провайдера"
#: netbox/templates/circuits/circuit.html:34
#: netbox/templates/core/datasource.html:46 netbox/templates/core/job.html:30
#: netbox/templates/core/rq_task.html:81 netbox/templates/core/system.html:18
-#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:176
+#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:178
#: netbox/templates/dcim/location.html:45 netbox/templates/dcim/module.html:66
#: netbox/templates/dcim/powerfeed.html:36 netbox/templates/dcim/rack.html:43
#: netbox/templates/dcim/site.html:43
@@ -659,20 +660,20 @@ msgid "Status"
msgstr "Статус"
#: netbox/circuits/forms/bulk_edit.py:140
-#: netbox/circuits/forms/bulk_import.py:100
+#: netbox/circuits/forms/bulk_import.py:97
#: netbox/circuits/forms/filtersets.py:117 netbox/dcim/forms/bulk_edit.py:121
#: netbox/dcim/forms/bulk_edit.py:186 netbox/dcim/forms/bulk_edit.py:256
#: netbox/dcim/forms/bulk_edit.py:368 netbox/dcim/forms/bulk_edit.py:588
#: netbox/dcim/forms/bulk_edit.py:692 netbox/dcim/forms/bulk_edit.py:1599
#: netbox/dcim/forms/bulk_import.py:106 netbox/dcim/forms/bulk_import.py:151
-#: netbox/dcim/forms/bulk_import.py:195 netbox/dcim/forms/bulk_import.py:282
-#: netbox/dcim/forms/bulk_import.py:424 netbox/dcim/forms/bulk_import.py:1167
-#: netbox/dcim/forms/bulk_import.py:1379 netbox/dcim/forms/filtersets.py:166
-#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:249
-#: netbox/dcim/forms/filtersets.py:334 netbox/dcim/forms/filtersets.py:355
-#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:835
-#: netbox/dcim/forms/filtersets.py:897 netbox/dcim/forms/filtersets.py:927
-#: netbox/dcim/forms/filtersets.py:1049 netbox/dcim/tables/power.py:88
+#: netbox/dcim/forms/bulk_import.py:192 netbox/dcim/forms/bulk_import.py:279
+#: netbox/dcim/forms/bulk_import.py:418 netbox/dcim/forms/bulk_import.py:1158
+#: netbox/dcim/forms/bulk_import.py:1367 netbox/dcim/forms/filtersets.py:167
+#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250
+#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:356
+#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:847
+#: netbox/dcim/forms/filtersets.py:909 netbox/dcim/forms/filtersets.py:939
+#: netbox/dcim/forms/filtersets.py:1061 netbox/dcim/tables/power.py:88
#: netbox/extras/filtersets.py:564 netbox/extras/forms/filtersets.py:332
#: netbox/extras/forms/filtersets.py:405 netbox/ipam/forms/bulk_edit.py:41
#: netbox/ipam/forms/bulk_edit.py:66 netbox/ipam/forms/bulk_edit.py:110
@@ -725,7 +726,7 @@ msgstr "Статус"
#: netbox/wireless/forms/filtersets.py:35
#: netbox/wireless/forms/filtersets.py:75
msgid "Tenant"
-msgstr "Арендатор "
+msgstr "Арендатор"
#: netbox/circuits/forms/bulk_edit.py:145
#: netbox/circuits/forms/filtersets.py:172
@@ -811,29 +812,22 @@ msgstr "Сведения об увольнении"
#: netbox/circuits/forms/bulk_import.py:38
#: netbox/circuits/forms/bulk_import.py:53
-#: netbox/circuits/forms/bulk_import.py:79
+#: netbox/circuits/forms/bulk_import.py:76
msgid "Assigned provider"
msgstr "Назначенный провайдер"
-#: netbox/circuits/forms/bulk_import.py:70
-#: netbox/dcim/forms/bulk_import.py:178 netbox/dcim/forms/bulk_import.py:388
-#: netbox/dcim/forms/bulk_import.py:1108 netbox/dcim/forms/bulk_import.py:1187
-#: netbox/extras/forms/bulk_import.py:232
-msgid "RGB color in hexadecimal. Example:"
-msgstr "Цвет RGB в шестнадцатеричном формате. Пример:"
-
-#: netbox/circuits/forms/bulk_import.py:85
+#: netbox/circuits/forms/bulk_import.py:82
msgid "Assigned provider account"
msgstr "Назначенный аккаунт провайдера"
-#: netbox/circuits/forms/bulk_import.py:92
+#: netbox/circuits/forms/bulk_import.py:89
msgid "Type of circuit"
msgstr "Тип канала связи"
-#: netbox/circuits/forms/bulk_import.py:97 netbox/dcim/forms/bulk_import.py:89
-#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:204
-#: netbox/dcim/forms/bulk_import.py:452 netbox/dcim/forms/bulk_import.py:606
-#: netbox/dcim/forms/bulk_import.py:1324 netbox/ipam/forms/bulk_import.py:193
+#: netbox/circuits/forms/bulk_import.py:94 netbox/dcim/forms/bulk_import.py:89
+#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:201
+#: netbox/dcim/forms/bulk_import.py:446 netbox/dcim/forms/bulk_import.py:600
+#: netbox/dcim/forms/bulk_import.py:1312 netbox/ipam/forms/bulk_import.py:193
#: netbox/ipam/forms/bulk_import.py:258 netbox/ipam/forms/bulk_import.py:294
#: netbox/ipam/forms/bulk_import.py:460
#: netbox/virtualization/forms/bulk_import.py:56
@@ -842,11 +836,11 @@ msgstr "Тип канала связи"
msgid "Operational status"
msgstr "Операционный статус"
-#: netbox/circuits/forms/bulk_import.py:104
+#: netbox/circuits/forms/bulk_import.py:101
#: netbox/dcim/forms/bulk_import.py:110 netbox/dcim/forms/bulk_import.py:155
-#: netbox/dcim/forms/bulk_import.py:286 netbox/dcim/forms/bulk_import.py:428
-#: netbox/dcim/forms/bulk_import.py:1171 netbox/dcim/forms/bulk_import.py:1319
-#: netbox/dcim/forms/bulk_import.py:1383 netbox/ipam/forms/bulk_import.py:41
+#: netbox/dcim/forms/bulk_import.py:283 netbox/dcim/forms/bulk_import.py:422
+#: netbox/dcim/forms/bulk_import.py:1162 netbox/dcim/forms/bulk_import.py:1307
+#: netbox/dcim/forms/bulk_import.py:1371 netbox/ipam/forms/bulk_import.py:41
#: netbox/ipam/forms/bulk_import.py:70 netbox/ipam/forms/bulk_import.py:98
#: netbox/ipam/forms/bulk_import.py:118 netbox/ipam/forms/bulk_import.py:138
#: netbox/ipam/forms/bulk_import.py:167 netbox/ipam/forms/bulk_import.py:253
@@ -856,9 +850,9 @@ msgstr "Операционный статус"
#: netbox/vpn/forms/bulk_import.py:63 netbox/wireless/forms/bulk_import.py:59
#: netbox/wireless/forms/bulk_import.py:101
msgid "Assigned tenant"
-msgstr "Назначенный тенант"
+msgstr "Назначенный арендатор"
-#: netbox/circuits/forms/bulk_import.py:122
+#: netbox/circuits/forms/bulk_import.py:119
#: netbox/templates/circuits/inc/circuit_termination.html:6
#: netbox/templates/circuits/inc/circuit_termination_fields.html:15
#: netbox/templates/dcim/cable.html:68 netbox/templates/dcim/cable.html:72
@@ -866,7 +860,7 @@ msgstr "Назначенный тенант"
msgid "Termination"
msgstr "Прекращение"
-#: netbox/circuits/forms/bulk_import.py:132
+#: netbox/circuits/forms/bulk_import.py:129
#: netbox/circuits/forms/filtersets.py:145
#: netbox/circuits/forms/filtersets.py:225
#: netbox/circuits/forms/model_forms.py:142
@@ -878,20 +872,20 @@ msgstr "Сеть провайдера"
#: netbox/circuits/forms/filtersets.py:198 netbox/dcim/forms/bulk_edit.py:248
#: netbox/dcim/forms/bulk_edit.py:346 netbox/dcim/forms/bulk_edit.py:580
#: netbox/dcim/forms/bulk_edit.py:627 netbox/dcim/forms/bulk_edit.py:780
-#: netbox/dcim/forms/bulk_import.py:189 netbox/dcim/forms/bulk_import.py:263
-#: netbox/dcim/forms/bulk_import.py:491 netbox/dcim/forms/bulk_import.py:1268
-#: netbox/dcim/forms/bulk_import.py:1302 netbox/dcim/forms/filtersets.py:93
-#: netbox/dcim/forms/filtersets.py:246 netbox/dcim/forms/filtersets.py:279
-#: netbox/dcim/forms/filtersets.py:331 netbox/dcim/forms/filtersets.py:382
-#: netbox/dcim/forms/filtersets.py:649 netbox/dcim/forms/filtersets.py:691
-#: netbox/dcim/forms/filtersets.py:896 netbox/dcim/forms/filtersets.py:925
-#: netbox/dcim/forms/filtersets.py:945 netbox/dcim/forms/filtersets.py:1009
-#: netbox/dcim/forms/filtersets.py:1039 netbox/dcim/forms/filtersets.py:1048
-#: netbox/dcim/forms/filtersets.py:1159 netbox/dcim/forms/filtersets.py:1181
-#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1220
-#: netbox/dcim/forms/filtersets.py:1240 netbox/dcim/forms/filtersets.py:1348
-#: netbox/dcim/forms/filtersets.py:1370 netbox/dcim/forms/filtersets.py:1391
-#: netbox/dcim/forms/filtersets.py:1406 netbox/dcim/forms/filtersets.py:1420
+#: netbox/dcim/forms/bulk_import.py:186 netbox/dcim/forms/bulk_import.py:260
+#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1256
+#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:94
+#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:280
+#: netbox/dcim/forms/filtersets.py:332 netbox/dcim/forms/filtersets.py:383
+#: netbox/dcim/forms/filtersets.py:650 netbox/dcim/forms/filtersets.py:693
+#: netbox/dcim/forms/filtersets.py:908 netbox/dcim/forms/filtersets.py:937
+#: netbox/dcim/forms/filtersets.py:957 netbox/dcim/forms/filtersets.py:1021
+#: netbox/dcim/forms/filtersets.py:1051 netbox/dcim/forms/filtersets.py:1060
+#: netbox/dcim/forms/filtersets.py:1171 netbox/dcim/forms/filtersets.py:1193
+#: netbox/dcim/forms/filtersets.py:1215 netbox/dcim/forms/filtersets.py:1232
+#: netbox/dcim/forms/filtersets.py:1252 netbox/dcim/forms/filtersets.py:1360
+#: netbox/dcim/forms/filtersets.py:1382 netbox/dcim/forms/filtersets.py:1403
+#: netbox/dcim/forms/filtersets.py:1418 netbox/dcim/forms/filtersets.py:1432
#: netbox/dcim/forms/model_forms.py:179 netbox/dcim/forms/model_forms.py:211
#: netbox/dcim/forms/model_forms.py:411 netbox/dcim/forms/model_forms.py:676
#: netbox/dcim/tables/devices.py:154 netbox/dcim/tables/power.py:30
@@ -914,14 +908,14 @@ msgid "Location"
msgstr "Локация"
#: netbox/circuits/forms/filtersets.py:30
-#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:137
-#: netbox/dcim/forms/filtersets.py:151 netbox/dcim/forms/filtersets.py:167
-#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250
-#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:406
-#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:1010
+#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:138
+#: netbox/dcim/forms/filtersets.py:152 netbox/dcim/forms/filtersets.py:168
+#: netbox/dcim/forms/filtersets.py:200 netbox/dcim/forms/filtersets.py:251
+#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:407
+#: netbox/dcim/forms/filtersets.py:654 netbox/dcim/forms/filtersets.py:1022
#: netbox/netbox/navigation/menu.py:44 netbox/netbox/navigation/menu.py:46
#: netbox/tenancy/forms/filtersets.py:42 netbox/tenancy/tables/columns.py:70
-#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:18
+#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:19
#: netbox/virtualization/forms/filtersets.py:37
#: netbox/virtualization/forms/filtersets.py:48
#: netbox/virtualization/forms/filtersets.py:106
@@ -931,13 +925,13 @@ msgstr "Контакты"
#: netbox/circuits/forms/filtersets.py:35
#: netbox/circuits/forms/filtersets.py:155 netbox/dcim/forms/bulk_edit.py:111
#: netbox/dcim/forms/bulk_edit.py:223 netbox/dcim/forms/bulk_edit.py:755
-#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:71
-#: netbox/dcim/forms/filtersets.py:178 netbox/dcim/forms/filtersets.py:204
-#: netbox/dcim/forms/filtersets.py:257 netbox/dcim/forms/filtersets.py:360
-#: netbox/dcim/forms/filtersets.py:668 netbox/dcim/forms/filtersets.py:902
-#: netbox/dcim/forms/filtersets.py:932 netbox/dcim/forms/filtersets.py:1016
-#: netbox/dcim/forms/filtersets.py:1055 netbox/dcim/forms/filtersets.py:1468
-#: netbox/dcim/forms/filtersets.py:1492 netbox/dcim/forms/filtersets.py:1516
+#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:72
+#: netbox/dcim/forms/filtersets.py:179 netbox/dcim/forms/filtersets.py:205
+#: netbox/dcim/forms/filtersets.py:258 netbox/dcim/forms/filtersets.py:361
+#: netbox/dcim/forms/filtersets.py:670 netbox/dcim/forms/filtersets.py:914
+#: netbox/dcim/forms/filtersets.py:944 netbox/dcim/forms/filtersets.py:1028
+#: netbox/dcim/forms/filtersets.py:1067 netbox/dcim/forms/filtersets.py:1480
+#: netbox/dcim/forms/filtersets.py:1504 netbox/dcim/forms/filtersets.py:1528
#: netbox/dcim/forms/model_forms.py:111 netbox/dcim/forms/object_create.py:375
#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/sites.py:85
#: netbox/extras/filtersets.py:455 netbox/ipam/forms/bulk_edit.py:206
@@ -958,11 +952,11 @@ msgstr "Регион"
#: netbox/circuits/forms/filtersets.py:40
#: netbox/circuits/forms/filtersets.py:160 netbox/dcim/forms/bulk_edit.py:231
-#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:76
-#: netbox/dcim/forms/filtersets.py:183 netbox/dcim/forms/filtersets.py:209
-#: netbox/dcim/forms/filtersets.py:270 netbox/dcim/forms/filtersets.py:365
-#: netbox/dcim/forms/filtersets.py:673 netbox/dcim/forms/filtersets.py:907
-#: netbox/dcim/forms/filtersets.py:1021 netbox/dcim/forms/filtersets.py:1060
+#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:77
+#: netbox/dcim/forms/filtersets.py:184 netbox/dcim/forms/filtersets.py:210
+#: netbox/dcim/forms/filtersets.py:271 netbox/dcim/forms/filtersets.py:366
+#: netbox/dcim/forms/filtersets.py:675 netbox/dcim/forms/filtersets.py:919
+#: netbox/dcim/forms/filtersets.py:1033 netbox/dcim/forms/filtersets.py:1072
#: netbox/dcim/forms/object_create.py:383 netbox/extras/filtersets.py:472
#: netbox/ipam/forms/bulk_edit.py:211 netbox/ipam/forms/bulk_edit.py:445
#: netbox/ipam/forms/bulk_edit.py:517 netbox/ipam/forms/filtersets.py:222
@@ -979,14 +973,14 @@ msgstr "Группа сайтов"
#: netbox/circuits/forms/filtersets.py:81
#: netbox/circuits/forms/filtersets.py:100
#: netbox/circuits/forms/filtersets.py:115 netbox/core/forms/filtersets.py:64
-#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:165
-#: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/filtersets.py:834
-#: netbox/dcim/forms/filtersets.py:926 netbox/dcim/forms/filtersets.py:1050
-#: netbox/dcim/forms/filtersets.py:1158 netbox/dcim/forms/filtersets.py:1180
-#: netbox/dcim/forms/filtersets.py:1202 netbox/dcim/forms/filtersets.py:1219
-#: netbox/dcim/forms/filtersets.py:1236 netbox/dcim/forms/filtersets.py:1347
-#: netbox/dcim/forms/filtersets.py:1369 netbox/dcim/forms/filtersets.py:1390
-#: netbox/dcim/forms/filtersets.py:1405 netbox/dcim/forms/filtersets.py:1418
+#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:166
+#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:846
+#: netbox/dcim/forms/filtersets.py:938 netbox/dcim/forms/filtersets.py:1062
+#: netbox/dcim/forms/filtersets.py:1170 netbox/dcim/forms/filtersets.py:1192
+#: netbox/dcim/forms/filtersets.py:1214 netbox/dcim/forms/filtersets.py:1231
+#: netbox/dcim/forms/filtersets.py:1248 netbox/dcim/forms/filtersets.py:1359
+#: netbox/dcim/forms/filtersets.py:1381 netbox/dcim/forms/filtersets.py:1402
+#: netbox/dcim/forms/filtersets.py:1417 netbox/dcim/forms/filtersets.py:1430
#: netbox/extras/forms/filtersets.py:43 netbox/extras/forms/filtersets.py:112
#: netbox/extras/forms/filtersets.py:143 netbox/extras/forms/filtersets.py:183
#: netbox/extras/forms/filtersets.py:199 netbox/extras/forms/filtersets.py:230
@@ -1122,7 +1116,7 @@ msgstr "ID патч-панели и номера порта(-ов)"
#: netbox/dcim/models/device_component_templates.py:61
#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:538
#: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219
-#: netbox/extras/models/customfields.py:123 netbox/extras/models/models.py:60
+#: netbox/extras/models/customfields.py:124 netbox/extras/models/models.py:60
#: netbox/extras/models/models.py:186 netbox/extras/models/models.py:424
#: netbox/extras/models/models.py:539 netbox/extras/models/staging.py:32
#: netbox/extras/models/tags.py:32 netbox/netbox/models/__init__.py:109
@@ -1165,7 +1159,7 @@ msgstr ""
#: netbox/dcim/models/devices.py:1360 netbox/dcim/models/power.py:39
#: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:63
#: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36
-#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:90
+#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:91
#: netbox/extras/models/models.py:55 netbox/extras/models/models.py:181
#: netbox/extras/models/models.py:324 netbox/extras/models/models.py:420
#: netbox/extras/models/models.py:529 netbox/extras/models/models.py:624
@@ -1238,7 +1232,7 @@ msgstr "сети провайдера"
#: netbox/circuits/tables/providers.py:99 netbox/core/tables/data.py:16
#: netbox/core/tables/jobs.py:14 netbox/core/tables/plugins.py:13
#: netbox/core/tables/tasks.py:11 netbox/core/tables/tasks.py:115
-#: netbox/dcim/forms/filtersets.py:61 netbox/dcim/forms/object_create.py:43
+#: netbox/dcim/forms/filtersets.py:62 netbox/dcim/forms/object_create.py:43
#: netbox/dcim/tables/devices.py:52 netbox/dcim/tables/devices.py:89
#: netbox/dcim/tables/devices.py:131 netbox/dcim/tables/devices.py:286
#: netbox/dcim/tables/devices.py:380 netbox/dcim/tables/devices.py:421
@@ -1550,7 +1544,7 @@ msgstr "Источник данных (имя)"
#: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:40
#: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1020
-#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1276
+#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1288
#: netbox/dcim/tables/devices.py:541 netbox/dcim/tables/devicetypes.py:221
#: netbox/extras/forms/bulk_edit.py:98 netbox/extras/forms/bulk_edit.py:162
#: netbox/extras/forms/bulk_edit.py:221 netbox/extras/forms/filtersets.py:120
@@ -1653,7 +1647,7 @@ msgid "Completed before"
msgstr "Завершено до"
#: netbox/core/forms/filtersets.py:123 netbox/dcim/forms/bulk_edit.py:361
-#: netbox/dcim/forms/filtersets.py:353 netbox/dcim/forms/filtersets.py:397
+#: netbox/dcim/forms/filtersets.py:354 netbox/dcim/forms/filtersets.py:398
#: netbox/dcim/forms/model_forms.py:258 netbox/extras/forms/filtersets.py:465
#: netbox/extras/forms/filtersets.py:505
#: netbox/templates/dcim/rackreservation.html:58
@@ -1736,7 +1730,7 @@ msgstr "Валидация"
msgid "User Preferences"
msgstr "Пользовательские настройки"
-#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:661
+#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:663
#: netbox/templates/core/inc/config_data.html:127
#: netbox/users/forms/model_forms.py:65
msgid "Miscellaneous"
@@ -1811,7 +1805,7 @@ msgstr "Ревизия конфигурации #{id}"
#: netbox/dcim/models/device_components.py:971
#: netbox/dcim/models/device_components.py:1045
#: netbox/dcim/models/power.py:102 netbox/dcim/models/racks.py:128
-#: netbox/extras/models/customfields.py:76 netbox/extras/models/search.py:41
+#: netbox/extras/models/customfields.py:77 netbox/extras/models/search.py:41
#: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32
msgid "type"
msgstr "тип"
@@ -2181,7 +2175,7 @@ msgstr "{n} дюймов"
msgid "Reserved"
msgstr "Зарезервировано"
-#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:252
+#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:259
msgid "Available"
msgstr "Доступно"
@@ -2203,8 +2197,8 @@ msgstr "Дюймы"
#: netbox/dcim/forms/bulk_edit.py:86 netbox/dcim/forms/bulk_edit.py:172
#: netbox/dcim/forms/bulk_edit.py:1298 netbox/dcim/forms/bulk_import.py:59
#: netbox/dcim/forms/bulk_import.py:73 netbox/dcim/forms/bulk_import.py:136
-#: netbox/dcim/forms/bulk_import.py:511 netbox/dcim/forms/bulk_import.py:778
-#: netbox/dcim/forms/bulk_import.py:1033 netbox/dcim/forms/filtersets.py:227
+#: netbox/dcim/forms/bulk_import.py:505 netbox/dcim/forms/bulk_import.py:772
+#: netbox/dcim/forms/bulk_import.py:1027 netbox/dcim/forms/filtersets.py:228
#: netbox/dcim/forms/model_forms.py:73 netbox/dcim/forms/model_forms.py:92
#: netbox/dcim/forms/model_forms.py:169 netbox/dcim/forms/model_forms.py:1010
#: netbox/dcim/forms/model_forms.py:1449
@@ -2238,14 +2232,14 @@ msgstr "Родитель"
msgid "Child"
msgstr "Потомок"
-#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:332
+#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:339
#: netbox/templates/dcim/rack.html:175
#: netbox/templates/dcim/rack_elevation_list.html:20
#: netbox/templates/dcim/rackreservation.html:76
msgid "Front"
msgstr "Вид спереди"
-#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:338
+#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:345
#: netbox/templates/dcim/rack.html:181
#: netbox/templates/dcim/rack_elevation_list.html:21
#: netbox/templates/dcim/rackreservation.html:82
@@ -2329,7 +2323,7 @@ msgid "Virtual"
msgstr "Виртуальный"
#: netbox/dcim/choices.py:814 netbox/dcim/choices.py:1051
-#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1239
+#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1251
#: netbox/dcim/forms/model_forms.py:936 netbox/dcim/forms/model_forms.py:1344
#: netbox/netbox/navigation/menu.py:127 netbox/netbox/navigation/menu.py:131
#: netbox/templates/dcim/interface.html:210
@@ -2341,7 +2335,7 @@ msgid "Virtual interfaces"
msgstr "Виртуальные интерфейсы"
#: netbox/dcim/choices.py:979 netbox/dcim/forms/bulk_edit.py:1303
-#: netbox/dcim/forms/bulk_import.py:785 netbox/dcim/forms/model_forms.py:922
+#: netbox/dcim/forms/bulk_import.py:779 netbox/dcim/forms/model_forms.py:922
#: netbox/dcim/tables/devices.py:644 netbox/templates/dcim/interface.html:106
#: netbox/templates/virtualization/vminterface.html:43
#: netbox/virtualization/forms/bulk_edit.py:212
@@ -2370,9 +2364,9 @@ msgstr "Ethernet (объединительная плата)"
msgid "Cellular"
msgstr "Сотовая связь"
-#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:303
-#: netbox/dcim/forms/filtersets.py:738 netbox/dcim/forms/filtersets.py:882
-#: netbox/dcim/forms/filtersets.py:1434
+#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:304
+#: netbox/dcim/forms/filtersets.py:740 netbox/dcim/forms/filtersets.py:894
+#: netbox/dcim/forms/filtersets.py:1446
#: netbox/templates/dcim/inventoryitem.html:52
#: netbox/templates/dcim/virtualchassis_edit.html:54
msgid "Serial"
@@ -2445,7 +2439,7 @@ msgstr "Оптоволоконное"
msgid "Fiber"
msgstr "Волокно"
-#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1146
+#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1158
msgid "Connected"
msgstr "Подключено"
@@ -2469,7 +2463,7 @@ msgstr "Мили"
msgid "Feet"
msgstr "Футы"
-#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:320
+#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:327
#: netbox/templates/dcim/rack.html:152
msgid "Kilograms"
msgstr "Килограммы"
@@ -2551,25 +2545,25 @@ msgstr "Местонахождение родителя (пуля)"
#: netbox/dcim/filtersets.py:257 netbox/dcim/filtersets.py:333
#: netbox/dcim/filtersets.py:432 netbox/dcim/filtersets.py:1005
-#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:2111
+#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2122
msgid "Location (ID)"
msgstr "Локация (ID)"
#: netbox/dcim/filtersets.py:264 netbox/dcim/filtersets.py:340
-#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1347
+#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1358
#: netbox/extras/filtersets.py:494
msgid "Location (slug)"
msgstr "Локация (подстрока)"
#: netbox/dcim/filtersets.py:354 netbox/dcim/filtersets.py:840
-#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1779
+#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1790
#: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493
#: netbox/ipam/filtersets.py:989 netbox/virtualization/filtersets.py:210
msgid "Role (ID)"
msgstr "Роль (ID)"
#: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:846
-#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1785
+#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1796
#: netbox/extras/filtersets.py:510 netbox/ipam/filtersets.py:387
#: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:995
#: netbox/virtualization/filtersets.py:216
@@ -2577,7 +2571,7 @@ msgid "Role (slug)"
msgstr "Роль (подстрока)"
#: netbox/dcim/filtersets.py:389 netbox/dcim/filtersets.py:1010
-#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2173
+#: netbox/dcim/filtersets.py:1363 netbox/dcim/filtersets.py:2184
msgid "Rack (ID)"
msgstr "Стойка (ID)"
@@ -2595,15 +2589,15 @@ msgstr "Пользователь (имя)"
#: netbox/dcim/filtersets.py:481 netbox/dcim/filtersets.py:620
#: netbox/dcim/filtersets.py:830 netbox/dcim/filtersets.py:881
-#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1243
-#: netbox/dcim/filtersets.py:1769
+#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1254
+#: netbox/dcim/filtersets.py:1780
msgid "Manufacturer (ID)"
msgstr "Производитель (ID)"
#: netbox/dcim/filtersets.py:487 netbox/dcim/filtersets.py:626
#: netbox/dcim/filtersets.py:836 netbox/dcim/filtersets.py:887
-#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1249
-#: netbox/dcim/filtersets.py:1775
+#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1260
+#: netbox/dcim/filtersets.py:1786
msgid "Manufacturer (slug)"
msgstr "Производитель (подстрока)"
@@ -2615,83 +2609,83 @@ msgstr "Платформа по умолчанию (ID)"
msgid "Default platform (slug)"
msgstr "Платформа по умолчанию (подстрока)"
-#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:452
+#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:453
msgid "Has a front image"
msgstr "Имеет фронтальное изображение"
-#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:459
+#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:460
msgid "Has a rear image"
msgstr "Имеет изображение сзади"
#: netbox/dcim/filtersets.py:509 netbox/dcim/filtersets.py:630
-#: netbox/dcim/filtersets.py:1068 netbox/dcim/forms/filtersets.py:466
-#: netbox/dcim/forms/filtersets.py:562 netbox/dcim/forms/filtersets.py:777
+#: netbox/dcim/filtersets.py:1079 netbox/dcim/forms/filtersets.py:467
+#: netbox/dcim/forms/filtersets.py:563 netbox/dcim/forms/filtersets.py:779
msgid "Has console ports"
msgstr "Имеет консольные порты"
#: netbox/dcim/filtersets.py:513 netbox/dcim/filtersets.py:634
-#: netbox/dcim/filtersets.py:1072 netbox/dcim/forms/filtersets.py:473
-#: netbox/dcim/forms/filtersets.py:569 netbox/dcim/forms/filtersets.py:784
+#: netbox/dcim/filtersets.py:1083 netbox/dcim/forms/filtersets.py:474
+#: netbox/dcim/forms/filtersets.py:570 netbox/dcim/forms/filtersets.py:786
msgid "Has console server ports"
msgstr "Имеет серверные консольные порты"
#: netbox/dcim/filtersets.py:517 netbox/dcim/filtersets.py:638
-#: netbox/dcim/filtersets.py:1076 netbox/dcim/forms/filtersets.py:480
-#: netbox/dcim/forms/filtersets.py:576 netbox/dcim/forms/filtersets.py:791
+#: netbox/dcim/filtersets.py:1087 netbox/dcim/forms/filtersets.py:481
+#: netbox/dcim/forms/filtersets.py:577 netbox/dcim/forms/filtersets.py:793
msgid "Has power ports"
msgstr "Имеет порты питания"
#: netbox/dcim/filtersets.py:521 netbox/dcim/filtersets.py:642
-#: netbox/dcim/filtersets.py:1080 netbox/dcim/forms/filtersets.py:487
-#: netbox/dcim/forms/filtersets.py:583 netbox/dcim/forms/filtersets.py:798
+#: netbox/dcim/filtersets.py:1091 netbox/dcim/forms/filtersets.py:488
+#: netbox/dcim/forms/filtersets.py:584 netbox/dcim/forms/filtersets.py:800
msgid "Has power outlets"
msgstr "Имеет розетки"
#: netbox/dcim/filtersets.py:525 netbox/dcim/filtersets.py:646
-#: netbox/dcim/filtersets.py:1084 netbox/dcim/forms/filtersets.py:494
-#: netbox/dcim/forms/filtersets.py:590 netbox/dcim/forms/filtersets.py:805
+#: netbox/dcim/filtersets.py:1095 netbox/dcim/forms/filtersets.py:495
+#: netbox/dcim/forms/filtersets.py:591 netbox/dcim/forms/filtersets.py:807
msgid "Has interfaces"
msgstr "Имеет интерфейсы"
#: netbox/dcim/filtersets.py:529 netbox/dcim/filtersets.py:650
-#: netbox/dcim/filtersets.py:1088 netbox/dcim/forms/filtersets.py:501
-#: netbox/dcim/forms/filtersets.py:597 netbox/dcim/forms/filtersets.py:812
+#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/filtersets.py:502
+#: netbox/dcim/forms/filtersets.py:598 netbox/dcim/forms/filtersets.py:814
msgid "Has pass-through ports"
msgstr "Имеет сквозные порты"
-#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1092
-#: netbox/dcim/forms/filtersets.py:515
+#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1103
+#: netbox/dcim/forms/filtersets.py:516
msgid "Has module bays"
msgstr "Имеет отсеки для модулей"
-#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1096
-#: netbox/dcim/forms/filtersets.py:508
+#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1107
+#: netbox/dcim/forms/filtersets.py:509
msgid "Has device bays"
msgstr "Имеет отсеки для устройств"
-#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:522
+#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:523
msgid "Has inventory items"
msgstr "Имеет инвентарь"
#: netbox/dcim/filtersets.py:698 netbox/dcim/filtersets.py:937
-#: netbox/dcim/filtersets.py:1373
+#: netbox/dcim/filtersets.py:1384
msgid "Device type (ID)"
msgstr "Тип устройства (ID)"
-#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1254
+#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1265
msgid "Module type (ID)"
msgstr "Тип модуля (ID)"
-#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1524
+#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1535
msgid "Power port (ID)"
msgstr "Порт питания (ID)"
-#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1765
+#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1776
msgid "Parent inventory item (ID)"
msgstr "Родительский инвентарь (ID)"
#: netbox/dcim/filtersets.py:869 netbox/dcim/filtersets.py:895
-#: netbox/dcim/filtersets.py:1064 netbox/virtualization/filtersets.py:238
+#: netbox/dcim/filtersets.py:1075 netbox/virtualization/filtersets.py:238
msgid "Config template (ID)"
msgstr "Шаблон конфигурации (ID)"
@@ -2712,9 +2706,9 @@ msgstr "Платформа (ID)"
msgid "Platform (slug)"
msgstr "Платформа (подстрока)"
-#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1336
-#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2105
-#: netbox/dcim/filtersets.py:2164
+#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1347
+#: netbox/dcim/filtersets.py:1874 netbox/dcim/filtersets.py:2116
+#: netbox/dcim/filtersets.py:2175
msgid "Site name (slug)"
msgstr "Имя сайта (подстрока)"
@@ -2726,16 +2720,25 @@ msgstr "Родительский ребенок (ID)"
msgid "VM cluster (ID)"
msgstr "Кластер виртуальных машин (ID)"
-#: netbox/dcim/filtersets.py:1025
+#: netbox/dcim/filtersets.py:1025 netbox/extras/filtersets.py:543
+#: netbox/virtualization/filtersets.py:136
+msgid "Cluster group (slug)"
+msgstr "Группа кластеров (подстрока)"
+
+#: netbox/dcim/filtersets.py:1030 netbox/virtualization/filtersets.py:130
+msgid "Cluster group (ID)"
+msgstr "Кластерная группа (ID)"
+
+#: netbox/dcim/filtersets.py:1036
msgid "Device model (slug)"
msgstr "Модель устройства (подстрока)"
-#: netbox/dcim/filtersets.py:1036 netbox/dcim/forms/bulk_edit.py:423
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/forms/bulk_edit.py:423
msgid "Is full depth"
msgstr "Полная глубина"
-#: netbox/dcim/filtersets.py:1040 netbox/dcim/forms/common.py:18
-#: netbox/dcim/forms/filtersets.py:747 netbox/dcim/forms/filtersets.py:1291
+#: netbox/dcim/filtersets.py:1051 netbox/dcim/forms/common.py:18
+#: netbox/dcim/forms/filtersets.py:749 netbox/dcim/forms/filtersets.py:1303
#: netbox/dcim/models/device_components.py:519
#: netbox/virtualization/filtersets.py:230
#: netbox/virtualization/filtersets.py:297
@@ -2744,88 +2747,88 @@ msgstr "Полная глубина"
msgid "MAC address"
msgstr "MAC-адрес"
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:1211
-#: netbox/dcim/forms/filtersets.py:756 netbox/dcim/forms/filtersets.py:849
+#: netbox/dcim/filtersets.py:1058 netbox/dcim/filtersets.py:1222
+#: netbox/dcim/forms/filtersets.py:758 netbox/dcim/forms/filtersets.py:861
#: netbox/virtualization/filtersets.py:234
#: netbox/virtualization/forms/filtersets.py:176
msgid "Has a primary IP"
msgstr "Имеет основной IP-адрес"
-#: netbox/dcim/filtersets.py:1051
+#: netbox/dcim/filtersets.py:1062
msgid "Has an out-of-band IP"
msgstr "Имеет внеполосный IP-адрес"
-#: netbox/dcim/filtersets.py:1056
+#: netbox/dcim/filtersets.py:1067
msgid "Virtual chassis (ID)"
msgstr "Виртуальное шасси (ID)"
-#: netbox/dcim/filtersets.py:1060
+#: netbox/dcim/filtersets.py:1071
msgid "Is a virtual chassis member"
msgstr "Является членом виртуального шасси"
-#: netbox/dcim/filtersets.py:1101
+#: netbox/dcim/filtersets.py:1112
msgid "OOB IP (ID)"
msgstr "Сервисный порт (ID)"
-#: netbox/dcim/filtersets.py:1105
+#: netbox/dcim/filtersets.py:1116
msgid "Has virtual device context"
msgstr "Имеет контекст виртуального устройства"
-#: netbox/dcim/filtersets.py:1194
+#: netbox/dcim/filtersets.py:1205
msgid "VDC (ID)"
msgstr "VDC (ИДЕНТИФИКАТОР)"
-#: netbox/dcim/filtersets.py:1199
+#: netbox/dcim/filtersets.py:1210
msgid "Device model"
msgstr "модель устройства"
-#: netbox/dcim/filtersets.py:1204 netbox/ipam/filtersets.py:632
+#: netbox/dcim/filtersets.py:1215 netbox/ipam/filtersets.py:632
#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:420
msgid "Interface (ID)"
msgstr "Интерфейс (ID)"
-#: netbox/dcim/filtersets.py:1260
+#: netbox/dcim/filtersets.py:1271
msgid "Module type (model)"
msgstr "Тип модуля (модель)"
-#: netbox/dcim/filtersets.py:1266
+#: netbox/dcim/filtersets.py:1277
msgid "Module Bay (ID)"
msgstr "Отсек для модулей (ID)"
-#: netbox/dcim/filtersets.py:1270 netbox/dcim/filtersets.py:1362
+#: netbox/dcim/filtersets.py:1281 netbox/dcim/filtersets.py:1373
#: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851
#: netbox/ipam/filtersets.py:1075 netbox/virtualization/filtersets.py:161
#: netbox/vpn/filtersets.py:398
msgid "Device (ID)"
msgstr "Устройство (ID)"
-#: netbox/dcim/filtersets.py:1358
+#: netbox/dcim/filtersets.py:1369
msgid "Rack (name)"
msgstr "Стойка (название)"
-#: netbox/dcim/filtersets.py:1368 netbox/ipam/filtersets.py:606
+#: netbox/dcim/filtersets.py:1379 netbox/ipam/filtersets.py:606
#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1081
#: netbox/vpn/filtersets.py:393
msgid "Device (name)"
msgstr "Устройство (имя)"
-#: netbox/dcim/filtersets.py:1379
+#: netbox/dcim/filtersets.py:1390
msgid "Device type (model)"
msgstr "Тип устройства (модель)"
-#: netbox/dcim/filtersets.py:1384
+#: netbox/dcim/filtersets.py:1395
msgid "Device role (ID)"
msgstr "Роль устройства (ID)"
-#: netbox/dcim/filtersets.py:1390
+#: netbox/dcim/filtersets.py:1401
msgid "Device role (slug)"
msgstr "Роль устройства (подстрока)"
-#: netbox/dcim/filtersets.py:1395
+#: netbox/dcim/filtersets.py:1406
msgid "Virtual Chassis (ID)"
msgstr "Виртуальное шасси (ID)"
-#: netbox/dcim/filtersets.py:1401 netbox/dcim/forms/filtersets.py:107
+#: netbox/dcim/filtersets.py:1412 netbox/dcim/forms/filtersets.py:108
#: netbox/dcim/tables/devices.py:203 netbox/netbox/navigation/menu.py:66
#: netbox/templates/dcim/device.html:120
#: netbox/templates/dcim/device_edit.html:93
@@ -2835,25 +2838,25 @@ msgstr "Виртуальное шасси (ID)"
msgid "Virtual Chassis"
msgstr "Виртуальное шасси"
-#: netbox/dcim/filtersets.py:1421
+#: netbox/dcim/filtersets.py:1432
msgid "Module (ID)"
msgstr "Модуль (ID)"
-#: netbox/dcim/filtersets.py:1428
+#: netbox/dcim/filtersets.py:1439
msgid "Cable (ID)"
msgstr "Кабель (ID)"
-#: netbox/dcim/filtersets.py:1537 netbox/ipam/forms/bulk_import.py:188
+#: netbox/dcim/filtersets.py:1548 netbox/ipam/forms/bulk_import.py:188
#: netbox/vpn/forms/bulk_import.py:308
msgid "Assigned VLAN"
msgstr "Назначенная VLAN"
-#: netbox/dcim/filtersets.py:1541
+#: netbox/dcim/filtersets.py:1552
msgid "Assigned VID"
msgstr "Назначенный VID"
-#: netbox/dcim/filtersets.py:1546 netbox/dcim/forms/bulk_edit.py:1382
-#: netbox/dcim/forms/bulk_import.py:836 netbox/dcim/forms/filtersets.py:1334
+#: netbox/dcim/filtersets.py:1557 netbox/dcim/forms/bulk_edit.py:1382
+#: netbox/dcim/forms/bulk_import.py:830 netbox/dcim/forms/filtersets.py:1346
#: netbox/dcim/forms/model_forms.py:1325
#: netbox/dcim/models/device_components.py:712
#: netbox/dcim/tables/devices.py:610 netbox/ipam/filtersets.py:316
@@ -2885,18 +2888,18 @@ msgstr "Назначенный VID"
msgid "VRF"
msgstr "VRF"
-#: netbox/dcim/filtersets.py:1552 netbox/ipam/filtersets.py:322
+#: netbox/dcim/filtersets.py:1563 netbox/ipam/filtersets.py:322
#: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489
#: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601
msgid "VRF (RD)"
msgstr "VRF (КРАСНЫЙ)"
-#: netbox/dcim/filtersets.py:1557 netbox/ipam/filtersets.py:1016
+#: netbox/dcim/filtersets.py:1568 netbox/ipam/filtersets.py:1016
#: netbox/vpn/filtersets.py:361
msgid "L2VPN (ID)"
msgstr "L2VPN (ID)"
-#: netbox/dcim/filtersets.py:1563 netbox/dcim/forms/filtersets.py:1339
+#: netbox/dcim/filtersets.py:1574 netbox/dcim/forms/filtersets.py:1351
#: netbox/dcim/tables/devices.py:558 netbox/ipam/filtersets.py:1022
#: netbox/ipam/forms/filtersets.py:525 netbox/ipam/tables/vlans.py:133
#: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66
@@ -2908,84 +2911,84 @@ msgstr "L2VPN (ID)"
msgid "L2VPN"
msgstr "L2VPN"
-#: netbox/dcim/filtersets.py:1595
+#: netbox/dcim/filtersets.py:1606
msgid "Virtual Chassis Interfaces for Device"
msgstr "Интерфейсы виртуального шасси для устройства"
-#: netbox/dcim/filtersets.py:1600
+#: netbox/dcim/filtersets.py:1611
msgid "Virtual Chassis Interfaces for Device (ID)"
msgstr "Интерфейсы виртуального шасси для устройства (ID)"
-#: netbox/dcim/filtersets.py:1604
+#: netbox/dcim/filtersets.py:1615
msgid "Kind of interface"
msgstr "Вид интерфейса"
-#: netbox/dcim/filtersets.py:1609 netbox/virtualization/filtersets.py:289
+#: netbox/dcim/filtersets.py:1620 netbox/virtualization/filtersets.py:289
msgid "Parent interface (ID)"
msgstr "Родительский интерфейс (ID)"
-#: netbox/dcim/filtersets.py:1614 netbox/virtualization/filtersets.py:294
+#: netbox/dcim/filtersets.py:1625 netbox/virtualization/filtersets.py:294
msgid "Bridged interface (ID)"
msgstr "Мостовой интерфейс (ID)"
-#: netbox/dcim/filtersets.py:1619
+#: netbox/dcim/filtersets.py:1630
msgid "LAG interface (ID)"
msgstr "Интерфейс LAG (ID)"
-#: netbox/dcim/filtersets.py:1646 netbox/dcim/filtersets.py:1658
-#: netbox/dcim/forms/filtersets.py:1251 netbox/dcim/forms/model_forms.py:1637
+#: netbox/dcim/filtersets.py:1657 netbox/dcim/filtersets.py:1669
+#: netbox/dcim/forms/filtersets.py:1263 netbox/dcim/forms/model_forms.py:1637
#: netbox/templates/dcim/virtualdevicecontext.html:15
msgid "Virtual Device Context"
msgstr "Виртуальный контекст"
-#: netbox/dcim/filtersets.py:1652
+#: netbox/dcim/filtersets.py:1663
msgid "Virtual Device Context (Identifier)"
msgstr "Контекст виртуального устройства (идентификатор)"
-#: netbox/dcim/filtersets.py:1663
+#: netbox/dcim/filtersets.py:1674
#: netbox/templates/wireless/wirelesslan.html:11
#: netbox/wireless/forms/model_forms.py:53
msgid "Wireless LAN"
msgstr "Беспроводная сеть"
-#: netbox/dcim/filtersets.py:1667 netbox/dcim/tables/devices.py:597
+#: netbox/dcim/filtersets.py:1678 netbox/dcim/tables/devices.py:597
msgid "Wireless link"
msgstr "Беспроводная связь"
-#: netbox/dcim/filtersets.py:1737
+#: netbox/dcim/filtersets.py:1748
msgid "Installed module (ID)"
msgstr "Установленный модуль (ID)"
-#: netbox/dcim/filtersets.py:1748
+#: netbox/dcim/filtersets.py:1759
msgid "Installed device (ID)"
msgstr "Установленное устройство (ID)"
-#: netbox/dcim/filtersets.py:1754
+#: netbox/dcim/filtersets.py:1765
msgid "Installed device (name)"
msgstr "Установленное устройство (имя)"
-#: netbox/dcim/filtersets.py:1820
+#: netbox/dcim/filtersets.py:1831
msgid "Master (ID)"
msgstr "Мастер (удостоверение личности)"
-#: netbox/dcim/filtersets.py:1826
+#: netbox/dcim/filtersets.py:1837
msgid "Master (name)"
msgstr "Мастер (имя)"
-#: netbox/dcim/filtersets.py:1868 netbox/tenancy/filtersets.py:246
+#: netbox/dcim/filtersets.py:1879 netbox/tenancy/filtersets.py:246
msgid "Tenant (ID)"
-msgstr "Тенант (ID)"
+msgstr "Арендатор (ID)"
-#: netbox/dcim/filtersets.py:1874 netbox/extras/filtersets.py:570
+#: netbox/dcim/filtersets.py:1885 netbox/extras/filtersets.py:570
#: netbox/tenancy/filtersets.py:252
msgid "Tenant (slug)"
-msgstr "Тенант (подстрока)"
+msgstr "Арендатор (подстрока)"
-#: netbox/dcim/filtersets.py:1910 netbox/dcim/forms/filtersets.py:996
+#: netbox/dcim/filtersets.py:1921 netbox/dcim/forms/filtersets.py:1008
msgid "Unterminated"
msgstr "Нерасторгнутый"
-#: netbox/dcim/filtersets.py:2168
+#: netbox/dcim/filtersets.py:2179
msgid "Power panel (ID)"
msgstr "Панель питания (ID)"
@@ -3000,12 +3003,12 @@ msgstr "Панель питания (ID)"
msgid "Tags"
msgstr "Теги"
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1396
+#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1408
#: netbox/dcim/forms/model_forms.py:431 netbox/dcim/forms/model_forms.py:489
#: netbox/dcim/forms/object_create.py:197
#: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:162
#: netbox/dcim/tables/devices.py:690 netbox/dcim/tables/devicetypes.py:242
-#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:130
+#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131
#: netbox/templates/dcim/modulebay.html:34
#: netbox/templates/dcim/virtualchassis.html:66
#: netbox/templates/dcim/virtualchassis_edit.html:55
@@ -3079,9 +3082,9 @@ msgid "Time zone"
msgstr "Часовой пояс"
#: netbox/dcim/forms/bulk_edit.py:267 netbox/dcim/forms/bulk_edit.py:1160
-#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:207
-#: netbox/dcim/forms/bulk_import.py:1021 netbox/dcim/forms/filtersets.py:300
-#: netbox/dcim/forms/filtersets.py:706 netbox/dcim/forms/filtersets.py:1426
+#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:204
+#: netbox/dcim/forms/bulk_import.py:1015 netbox/dcim/forms/filtersets.py:301
+#: netbox/dcim/forms/filtersets.py:708 netbox/dcim/forms/filtersets.py:1438
#: netbox/dcim/forms/model_forms.py:219 netbox/dcim/forms/model_forms.py:1018
#: netbox/dcim/forms/model_forms.py:1457
#: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:166
@@ -3098,7 +3101,7 @@ msgstr "Часовой пояс"
#: netbox/ipam/forms/model_forms.py:689 netbox/ipam/tables/ip.py:257
#: netbox/ipam/tables/ip.py:313 netbox/ipam/tables/ip.py:363
#: netbox/ipam/tables/vlans.py:126 netbox/ipam/tables/vlans.py:230
-#: netbox/templates/dcim/device.html:180
+#: netbox/templates/dcim/device.html:182
#: netbox/templates/dcim/inc/panels/inventory_items.html:20
#: netbox/templates/dcim/interface.html:223
#: netbox/templates/dcim/inventoryitem.html:36
@@ -3130,14 +3133,14 @@ msgstr "Роль"
msgid "Serial Number"
msgstr "Серийный номер"
-#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:307
-#: netbox/dcim/forms/filtersets.py:742 netbox/dcim/forms/filtersets.py:886
-#: netbox/dcim/forms/filtersets.py:1438
+#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:308
+#: netbox/dcim/forms/filtersets.py:744 netbox/dcim/forms/filtersets.py:898
+#: netbox/dcim/forms/filtersets.py:1450
msgid "Asset tag"
msgstr "Инвентарный номер"
-#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:220
-#: netbox/dcim/forms/filtersets.py:292 netbox/templates/dcim/rack.html:86
+#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:217
+#: netbox/dcim/forms/filtersets.py:293 netbox/templates/dcim/rack.html:86
msgid "Width"
msgstr "Ширина"
@@ -3157,7 +3160,7 @@ msgstr "Наружная ширина"
msgid "Outer depth"
msgstr "Внешняя глубина"
-#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:225
+#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:222
msgid "Outer unit"
msgstr "Внешний блок"
@@ -3168,18 +3171,18 @@ msgstr "Глубина крепления"
#: netbox/dcim/forms/bulk_edit.py:321 netbox/dcim/forms/bulk_edit.py:351
#: netbox/dcim/forms/bulk_edit.py:436 netbox/dcim/forms/bulk_edit.py:459
#: netbox/dcim/forms/bulk_edit.py:475 netbox/dcim/forms/bulk_edit.py:495
-#: netbox/dcim/forms/bulk_import.py:332 netbox/dcim/forms/bulk_import.py:358
-#: netbox/dcim/forms/filtersets.py:251 netbox/dcim/forms/filtersets.py:312
-#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:423
-#: netbox/dcim/forms/filtersets.py:529 netbox/dcim/forms/filtersets.py:548
-#: netbox/dcim/forms/filtersets.py:604 netbox/dcim/forms/model_forms.py:232
+#: netbox/dcim/forms/bulk_import.py:329 netbox/dcim/forms/bulk_import.py:355
+#: netbox/dcim/forms/filtersets.py:252 netbox/dcim/forms/filtersets.py:313
+#: netbox/dcim/forms/filtersets.py:337 netbox/dcim/forms/filtersets.py:424
+#: netbox/dcim/forms/filtersets.py:530 netbox/dcim/forms/filtersets.py:549
+#: netbox/dcim/forms/filtersets.py:605 netbox/dcim/forms/model_forms.py:232
#: netbox/dcim/forms/model_forms.py:346 netbox/dcim/tables/devicetypes.py:103
#: netbox/dcim/tables/modules.py:35 netbox/dcim/tables/racks.py:103
#: netbox/extras/forms/bulk_edit.py:45 netbox/extras/forms/bulk_edit.py:108
#: netbox/extras/forms/bulk_edit.py:158 netbox/extras/forms/bulk_edit.py:278
#: netbox/extras/forms/filtersets.py:61 netbox/extras/forms/filtersets.py:134
#: netbox/extras/forms/filtersets.py:221 netbox/ipam/forms/bulk_edit.py:188
-#: netbox/templates/dcim/device.html:317
+#: netbox/templates/dcim/device.html:324
#: netbox/templates/dcim/devicetype.html:49
#: netbox/templates/dcim/moduletype.html:30
#: netbox/templates/extras/configcontext.html:17
@@ -3189,25 +3192,25 @@ msgstr "Глубина крепления"
msgid "Weight"
msgstr "Вес"
-#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:317
+#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:318
msgid "Max weight"
msgstr "Максимальный вес"
#: netbox/dcim/forms/bulk_edit.py:331 netbox/dcim/forms/bulk_edit.py:441
-#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:231
-#: netbox/dcim/forms/bulk_import.py:337 netbox/dcim/forms/bulk_import.py:363
-#: netbox/dcim/forms/filtersets.py:322 netbox/dcim/forms/filtersets.py:533
-#: netbox/dcim/forms/filtersets.py:608
+#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:228
+#: netbox/dcim/forms/bulk_import.py:334 netbox/dcim/forms/bulk_import.py:360
+#: netbox/dcim/forms/filtersets.py:323 netbox/dcim/forms/filtersets.py:534
+#: netbox/dcim/forms/filtersets.py:609
msgid "Weight unit"
msgstr "Весовая единица"
#: netbox/dcim/forms/bulk_edit.py:345 netbox/dcim/forms/bulk_edit.py:808
-#: netbox/dcim/forms/bulk_import.py:270 netbox/dcim/forms/bulk_import.py:273
-#: netbox/dcim/forms/bulk_import.py:498 netbox/dcim/forms/bulk_import.py:1309
-#: netbox/dcim/forms/bulk_import.py:1313 netbox/dcim/forms/filtersets.py:102
-#: netbox/dcim/forms/filtersets.py:340 netbox/dcim/forms/filtersets.py:354
-#: netbox/dcim/forms/filtersets.py:392 netbox/dcim/forms/filtersets.py:701
-#: netbox/dcim/forms/filtersets.py:954 netbox/dcim/forms/filtersets.py:1086
+#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:270
+#: netbox/dcim/forms/bulk_import.py:492 netbox/dcim/forms/bulk_import.py:1297
+#: netbox/dcim/forms/bulk_import.py:1301 netbox/dcim/forms/filtersets.py:103
+#: netbox/dcim/forms/filtersets.py:341 netbox/dcim/forms/filtersets.py:355
+#: netbox/dcim/forms/filtersets.py:393 netbox/dcim/forms/filtersets.py:703
+#: netbox/dcim/forms/filtersets.py:966 netbox/dcim/forms/filtersets.py:1098
#: netbox/dcim/forms/model_forms.py:226 netbox/dcim/forms/model_forms.py:248
#: netbox/dcim/forms/model_forms.py:422 netbox/dcim/forms/model_forms.py:703
#: netbox/dcim/forms/object_create.py:400 netbox/dcim/tables/devices.py:158
@@ -3224,9 +3227,9 @@ msgid "Rack"
msgstr "Стойка"
#: netbox/dcim/forms/bulk_edit.py:349 netbox/dcim/forms/bulk_edit.py:628
-#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333
-#: netbox/dcim/forms/filtersets.py:416 netbox/dcim/forms/filtersets.py:543
-#: netbox/dcim/forms/filtersets.py:651 netbox/dcim/forms/filtersets.py:861
+#: netbox/dcim/forms/filtersets.py:249 netbox/dcim/forms/filtersets.py:334
+#: netbox/dcim/forms/filtersets.py:417 netbox/dcim/forms/filtersets.py:544
+#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:873
#: netbox/dcim/forms/model_forms.py:613 netbox/dcim/forms/model_forms.py:1527
#: netbox/templates/dcim/device_edit.html:20
msgid "Hardware"
@@ -3235,12 +3238,12 @@ msgstr "Аппаратное обеспечение"
#: netbox/dcim/forms/bulk_edit.py:402 netbox/dcim/forms/bulk_edit.py:466
#: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/forms/bulk_edit.py:554
#: netbox/dcim/forms/bulk_edit.py:638 netbox/dcim/forms/bulk_edit.py:1165
-#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:319
-#: netbox/dcim/forms/bulk_import.py:353 netbox/dcim/forms/bulk_import.py:395
-#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/bulk_import.py:1027
-#: netbox/dcim/forms/filtersets.py:429 netbox/dcim/forms/filtersets.py:554
-#: netbox/dcim/forms/filtersets.py:630 netbox/dcim/forms/filtersets.py:711
-#: netbox/dcim/forms/filtersets.py:866 netbox/dcim/forms/filtersets.py:1431
+#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:316
+#: netbox/dcim/forms/bulk_import.py:350 netbox/dcim/forms/bulk_import.py:389
+#: netbox/dcim/forms/bulk_import.py:425 netbox/dcim/forms/bulk_import.py:1021
+#: netbox/dcim/forms/filtersets.py:430 netbox/dcim/forms/filtersets.py:555
+#: netbox/dcim/forms/filtersets.py:631 netbox/dcim/forms/filtersets.py:713
+#: netbox/dcim/forms/filtersets.py:878 netbox/dcim/forms/filtersets.py:1443
#: netbox/dcim/forms/model_forms.py:281 netbox/dcim/forms/model_forms.py:293
#: netbox/dcim/forms/model_forms.py:339 netbox/dcim/forms/model_forms.py:379
#: netbox/dcim/forms/model_forms.py:1023 netbox/dcim/forms/model_forms.py:1462
@@ -3257,13 +3260,13 @@ msgstr "Аппаратное обеспечение"
msgid "Manufacturer"
msgstr "Производитель"
-#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:325
-#: netbox/dcim/forms/filtersets.py:434 netbox/dcim/forms/model_forms.py:297
+#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:322
+#: netbox/dcim/forms/filtersets.py:435 netbox/dcim/forms/model_forms.py:297
msgid "Default platform"
msgstr "Платформа по умолчанию"
#: netbox/dcim/forms/bulk_edit.py:412 netbox/dcim/forms/bulk_edit.py:471
-#: netbox/dcim/forms/filtersets.py:437 netbox/dcim/forms/filtersets.py:557
+#: netbox/dcim/forms/filtersets.py:438 netbox/dcim/forms/filtersets.py:558
msgid "Part number"
msgstr "Номер детали"
@@ -3276,8 +3279,8 @@ msgid "Exclude from utilization"
msgstr "Исключить из использования"
#: netbox/dcim/forms/bulk_edit.py:431 netbox/dcim/forms/bulk_edit.py:603
-#: netbox/dcim/forms/bulk_import.py:525 netbox/dcim/forms/filtersets.py:446
-#: netbox/dcim/forms/filtersets.py:733 netbox/templates/dcim/device.html:98
+#: netbox/dcim/forms/bulk_import.py:519 netbox/dcim/forms/filtersets.py:447
+#: netbox/dcim/forms/filtersets.py:735 netbox/templates/dcim/device.html:98
#: netbox/templates/dcim/devicetype.html:65
msgid "Airflow"
msgstr "Воздушный поток"
@@ -3302,11 +3305,11 @@ msgid "VM role"
msgstr "Роль виртуальной машины"
#: netbox/dcim/forms/bulk_edit.py:511 netbox/dcim/forms/bulk_edit.py:535
-#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:376
-#: netbox/dcim/forms/bulk_import.py:380 netbox/dcim/forms/bulk_import.py:402
-#: netbox/dcim/forms/bulk_import.py:406 netbox/dcim/forms/bulk_import.py:531
-#: netbox/dcim/forms/bulk_import.py:535 netbox/dcim/forms/filtersets.py:619
-#: netbox/dcim/forms/filtersets.py:635 netbox/dcim/forms/filtersets.py:752
+#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:373
+#: netbox/dcim/forms/bulk_import.py:377 netbox/dcim/forms/bulk_import.py:396
+#: netbox/dcim/forms/bulk_import.py:400 netbox/dcim/forms/bulk_import.py:525
+#: netbox/dcim/forms/bulk_import.py:529 netbox/dcim/forms/filtersets.py:620
+#: netbox/dcim/forms/filtersets.py:636 netbox/dcim/forms/filtersets.py:754
#: netbox/dcim/forms/model_forms.py:358 netbox/dcim/forms/model_forms.py:384
#: netbox/dcim/forms/model_forms.py:498
#: netbox/virtualization/forms/bulk_import.py:132
@@ -3317,21 +3320,21 @@ msgid "Config template"
msgstr "Шаблон конфигурации"
#: netbox/dcim/forms/bulk_edit.py:559 netbox/dcim/forms/bulk_edit.py:959
-#: netbox/dcim/forms/bulk_import.py:437 netbox/dcim/forms/filtersets.py:112
+#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/filtersets.py:113
#: netbox/dcim/forms/model_forms.py:444 netbox/dcim/forms/model_forms.py:820
#: netbox/dcim/forms/model_forms.py:837 netbox/extras/filtersets.py:499
msgid "Device type"
msgstr "Тип устройства"
-#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:418
-#: netbox/dcim/forms/filtersets.py:117 netbox/dcim/forms/model_forms.py:452
+#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:412
+#: netbox/dcim/forms/filtersets.py:118 netbox/dcim/forms/model_forms.py:452
msgid "Device role"
msgstr "Роль устройства"
-#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:443
-#: netbox/dcim/forms/filtersets.py:725 netbox/dcim/forms/model_forms.py:394
+#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:437
+#: netbox/dcim/forms/filtersets.py:727 netbox/dcim/forms/model_forms.py:394
#: netbox/dcim/forms/model_forms.py:456 netbox/dcim/tables/devices.py:179
-#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:184
+#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:186
#: netbox/templates/dcim/platform.html:26
#: netbox/templates/virtualization/virtualmachine.html:27
#: netbox/virtualization/forms/bulk_edit.py:160
@@ -3344,21 +3347,21 @@ msgstr "Платформа"
#: netbox/dcim/forms/bulk_edit.py:626 netbox/dcim/forms/bulk_edit.py:1179
#: netbox/dcim/forms/bulk_edit.py:1543 netbox/dcim/forms/bulk_edit.py:1589
-#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/bulk_import.py:648
-#: netbox/dcim/forms/bulk_import.py:674 netbox/dcim/forms/bulk_import.py:700
-#: netbox/dcim/forms/bulk_import.py:720 netbox/dcim/forms/bulk_import.py:773
-#: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/bulk_import.py:939
-#: netbox/dcim/forms/bulk_import.py:956 netbox/dcim/forms/bulk_import.py:968
-#: netbox/dcim/forms/bulk_import.py:1016 netbox/dcim/forms/bulk_import.py:1373
-#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:129
-#: netbox/dcim/forms/filtersets.py:840 netbox/dcim/forms/filtersets.py:970
-#: netbox/dcim/forms/filtersets.py:1160 netbox/dcim/forms/filtersets.py:1182
-#: netbox/dcim/forms/filtersets.py:1204 netbox/dcim/forms/filtersets.py:1221
-#: netbox/dcim/forms/filtersets.py:1241 netbox/dcim/forms/filtersets.py:1349
-#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392
-#: netbox/dcim/forms/filtersets.py:1407 netbox/dcim/forms/filtersets.py:1421
-#: netbox/dcim/forms/filtersets.py:1484 netbox/dcim/forms/filtersets.py:1508
-#: netbox/dcim/forms/filtersets.py:1532 netbox/dcim/forms/model_forms.py:576
+#: netbox/dcim/forms/bulk_import.py:580 netbox/dcim/forms/bulk_import.py:642
+#: netbox/dcim/forms/bulk_import.py:668 netbox/dcim/forms/bulk_import.py:694
+#: netbox/dcim/forms/bulk_import.py:714 netbox/dcim/forms/bulk_import.py:767
+#: netbox/dcim/forms/bulk_import.py:885 netbox/dcim/forms/bulk_import.py:933
+#: netbox/dcim/forms/bulk_import.py:950 netbox/dcim/forms/bulk_import.py:962
+#: netbox/dcim/forms/bulk_import.py:1010 netbox/dcim/forms/bulk_import.py:1361
+#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:130
+#: netbox/dcim/forms/filtersets.py:852 netbox/dcim/forms/filtersets.py:982
+#: netbox/dcim/forms/filtersets.py:1172 netbox/dcim/forms/filtersets.py:1194
+#: netbox/dcim/forms/filtersets.py:1216 netbox/dcim/forms/filtersets.py:1233
+#: netbox/dcim/forms/filtersets.py:1253 netbox/dcim/forms/filtersets.py:1361
+#: netbox/dcim/forms/filtersets.py:1383 netbox/dcim/forms/filtersets.py:1404
+#: netbox/dcim/forms/filtersets.py:1419 netbox/dcim/forms/filtersets.py:1433
+#: netbox/dcim/forms/filtersets.py:1496 netbox/dcim/forms/filtersets.py:1520
+#: netbox/dcim/forms/filtersets.py:1544 netbox/dcim/forms/model_forms.py:576
#: netbox/dcim/forms/model_forms.py:797 netbox/dcim/forms/model_forms.py:1156
#: netbox/dcim/forms/model_forms.py:1611
#: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22
@@ -3376,7 +3379,7 @@ msgstr "Платформа"
#: netbox/ipam/forms/model_forms.py:784 netbox/ipam/tables/vlans.py:176
#: netbox/templates/dcim/consoleport.html:20
#: netbox/templates/dcim/consoleserverport.html:20
-#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:129
+#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:130
#: netbox/templates/dcim/device_edit.html:10
#: netbox/templates/dcim/devicebay.html:20
#: netbox/templates/dcim/devicebay.html:48
@@ -3416,7 +3419,7 @@ msgstr "Устройство"
msgid "Configuration"
msgstr "Конфигурация"
-#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:598
+#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:592
#: netbox/dcim/forms/model_forms.py:590 netbox/dcim/forms/model_forms.py:845
msgid "Module type"
msgstr "Тип модуля"
@@ -3426,7 +3429,7 @@ msgstr "Тип модуля"
#: netbox/dcim/forms/bulk_edit.py:966 netbox/dcim/forms/bulk_edit.py:1010
#: netbox/dcim/forms/bulk_edit.py:1061 netbox/dcim/forms/bulk_edit.py:1088
#: netbox/dcim/forms/bulk_edit.py:1115 netbox/dcim/forms/bulk_edit.py:1133
-#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:65
+#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:66
#: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32
#: netbox/templates/dcim/consoleport.html:32
#: netbox/templates/dcim/consoleserverport.html:32
@@ -3444,13 +3447,13 @@ msgstr "Тип модуля"
msgid "Label"
msgstr "Этикетка"
-#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:987
+#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:999
#: netbox/templates/dcim/cable.html:50
msgid "Length"
msgstr "Длина"
-#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1174
-#: netbox/dcim/forms/bulk_import.py:1177 netbox/dcim/forms/filtersets.py:991
+#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1165
+#: netbox/dcim/forms/bulk_import.py:1168 netbox/dcim/forms/filtersets.py:1003
msgid "Length unit"
msgstr "Единица длины"
@@ -3459,34 +3462,34 @@ msgstr "Единица длины"
msgid "Domain"
msgstr "Домен"
-#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1296
-#: netbox/dcim/forms/filtersets.py:1077 netbox/dcim/forms/model_forms.py:698
+#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1284
+#: netbox/dcim/forms/filtersets.py:1089 netbox/dcim/forms/model_forms.py:698
msgid "Power panel"
msgstr "Панель питания"
-#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1332
-#: netbox/dcim/forms/filtersets.py:1099
+#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1320
+#: netbox/dcim/forms/filtersets.py:1111
#: netbox/templates/dcim/powerfeed.html:83
msgid "Supply"
msgstr "Снабжение"
-#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1337
-#: netbox/dcim/forms/filtersets.py:1104
+#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1325
+#: netbox/dcim/forms/filtersets.py:1116
#: netbox/templates/dcim/powerfeed.html:95
msgid "Phase"
msgstr "Фаза"
-#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1109
+#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1121
#: netbox/templates/dcim/powerfeed.html:87
msgid "Voltage"
msgstr "Напряжение"
-#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1113
+#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1125
#: netbox/templates/dcim/powerfeed.html:91
msgid "Amperage"
msgstr "Сила тока"
-#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1117
+#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1129
msgid "Max utilization"
msgstr "Максимальное использование"
@@ -3510,13 +3513,13 @@ msgstr "Выделенная мощность"
msgid "Allocated power draw (watts)"
msgstr "Распределенная потребляемая мощность (Вт)"
-#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:731
+#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:725
#: netbox/dcim/forms/model_forms.py:901 netbox/dcim/forms/model_forms.py:1226
#: netbox/dcim/forms/model_forms.py:1514 netbox/dcim/forms/object_import.py:55
msgid "Power port"
msgstr "Порт питания"
-#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:738
+#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:732
msgid "Feed leg"
msgstr "Фаза электропитания"
@@ -3525,7 +3528,7 @@ msgid "Management only"
msgstr "Только управление"
#: netbox/dcim/forms/bulk_edit.py:1037 netbox/dcim/forms/bulk_edit.py:1339
-#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1300
+#: netbox/dcim/forms/bulk_import.py:815 netbox/dcim/forms/filtersets.py:1312
#: netbox/dcim/forms/object_import.py:90
#: netbox/dcim/models/device_component_templates.py:411
#: netbox/dcim/models/device_components.py:671
@@ -3533,14 +3536,14 @@ msgid "PoE mode"
msgstr "Режим PoE"
#: netbox/dcim/forms/bulk_edit.py:1043 netbox/dcim/forms/bulk_edit.py:1345
-#: netbox/dcim/forms/bulk_import.py:827 netbox/dcim/forms/filtersets.py:1305
+#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1317
#: netbox/dcim/forms/object_import.py:95
#: netbox/dcim/models/device_component_templates.py:417
#: netbox/dcim/models/device_components.py:677
msgid "PoE type"
msgstr "Тип PoE"
-#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1310
+#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1322
#: netbox/dcim/forms/object_import.py:100
msgid "Wireless role"
msgstr "Роль беспроводной связи"
@@ -3568,9 +3571,9 @@ msgstr "LAG"
msgid "Virtual device contexts"
msgstr "Виртуальные контексты"
-#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:659
-#: netbox/dcim/forms/bulk_import.py:685 netbox/dcim/forms/filtersets.py:1169
-#: netbox/dcim/forms/filtersets.py:1191 netbox/dcim/forms/filtersets.py:1264
+#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:653
+#: netbox/dcim/forms/bulk_import.py:679 netbox/dcim/forms/filtersets.py:1181
+#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1276
#: netbox/dcim/tables/devices.py:594
#: netbox/templates/circuits/inc/circuit_termination_fields.html:67
#: netbox/templates/dcim/consoleport.html:40
@@ -3578,7 +3581,7 @@ msgstr "Виртуальные контексты"
msgid "Speed"
msgstr "Скорость"
-#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:830
+#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:824
#: netbox/templates/vpn/ikepolicy.html:25
#: netbox/templates/vpn/ipsecprofile.html:21
#: netbox/templates/vpn/ipsecprofile.html:48
@@ -3624,7 +3627,7 @@ msgstr "Беспроводная группа LAN"
msgid "Wireless LANs"
msgstr "Беспроводные LANs"
-#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1237
+#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1249
#: netbox/dcim/forms/model_forms.py:1337 netbox/ipam/forms/bulk_edit.py:271
#: netbox/ipam/forms/bulk_edit.py:362 netbox/ipam/forms/filtersets.py:169
#: netbox/templates/dcim/interface.html:122
@@ -3633,13 +3636,13 @@ msgstr "Беспроводные LANs"
msgid "Addressing"
msgstr "Адресация"
-#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:650
+#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:651
#: netbox/dcim/forms/model_forms.py:1338
#: netbox/virtualization/forms/model_forms.py:350
msgid "Operation"
msgstr "Операция"
-#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1238
+#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1250
#: netbox/dcim/forms/model_forms.py:935 netbox/dcim/forms/model_forms.py:1340
msgid "PoE"
msgstr "PoE"
@@ -3687,8 +3690,8 @@ msgstr "Назначенная группа"
msgid "available options"
msgstr "доступные опции"
-#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:488
-#: netbox/dcim/forms/bulk_import.py:1293 netbox/ipam/forms/bulk_import.py:174
+#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:482
+#: netbox/dcim/forms/bulk_import.py:1281 netbox/ipam/forms/bulk_import.py:174
#: netbox/ipam/forms/bulk_import.py:441
#: netbox/virtualization/forms/bulk_import.py:63
#: netbox/virtualization/forms/bulk_import.py:89
@@ -3703,105 +3706,106 @@ msgstr "Родительское место"
msgid "Location not found."
msgstr "Локация не найдена."
-#: netbox/dcim/forms/bulk_import.py:199
+#: netbox/dcim/forms/bulk_import.py:196
msgid "Name of assigned tenant"
-msgstr "Имя назначенного тенанта"
+msgstr "Имя назначенного арендатора"
-#: netbox/dcim/forms/bulk_import.py:211
+#: netbox/dcim/forms/bulk_import.py:208
msgid "Name of assigned role"
msgstr "Название назначенной роли"
-#: netbox/dcim/forms/bulk_import.py:217
+#: netbox/dcim/forms/bulk_import.py:214
msgid "Rack type"
msgstr "Тип стойки"
-#: netbox/dcim/forms/bulk_import.py:222
+#: netbox/dcim/forms/bulk_import.py:219
msgid "Rail-to-rail width (in inches)"
msgstr "Ширина от рельса до рельса (в дюймах)"
-#: netbox/dcim/forms/bulk_import.py:228
+#: netbox/dcim/forms/bulk_import.py:225
msgid "Unit for outer dimensions"
msgstr "Единица измерения внешних размеров"
-#: netbox/dcim/forms/bulk_import.py:234
+#: netbox/dcim/forms/bulk_import.py:231
msgid "Unit for rack weights"
msgstr "Единица измерения веса стойки"
-#: netbox/dcim/forms/bulk_import.py:260
+#: netbox/dcim/forms/bulk_import.py:257
msgid "Parent site"
msgstr "Родительское место"
-#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:1306
+#: netbox/dcim/forms/bulk_import.py:264 netbox/dcim/forms/bulk_import.py:1294
msgid "Rack's location (if any)"
msgstr "Локация стойки (если есть)"
-#: netbox/dcim/forms/bulk_import.py:276 netbox/dcim/forms/model_forms.py:253
+#: netbox/dcim/forms/bulk_import.py:273 netbox/dcim/forms/model_forms.py:253
#: netbox/dcim/tables/racks.py:153
#: netbox/templates/dcim/rackreservation.html:12
#: netbox/templates/dcim/rackreservation.html:45
msgid "Units"
msgstr "Единицы"
-#: netbox/dcim/forms/bulk_import.py:279
+#: netbox/dcim/forms/bulk_import.py:276
msgid "Comma-separated list of individual unit numbers"
msgstr "Список отдельных номеров объектов, разделенных запятыми"
-#: netbox/dcim/forms/bulk_import.py:322
+#: netbox/dcim/forms/bulk_import.py:319
msgid "The manufacturer which produces this device type"
msgstr "Производитель, выпускающий этот тип устройства"
-#: netbox/dcim/forms/bulk_import.py:329
+#: netbox/dcim/forms/bulk_import.py:326
msgid "The default platform for devices of this type (optional)"
msgstr "Платформа по умолчанию для устройств этого типа (опционально)"
-#: netbox/dcim/forms/bulk_import.py:334
+#: netbox/dcim/forms/bulk_import.py:331
msgid "Device weight"
msgstr "Вес устройства"
-#: netbox/dcim/forms/bulk_import.py:340
+#: netbox/dcim/forms/bulk_import.py:337
msgid "Unit for device weight"
msgstr "Единица измерения веса устройства"
-#: netbox/dcim/forms/bulk_import.py:360
+#: netbox/dcim/forms/bulk_import.py:357
msgid "Module weight"
msgstr "Вес модуля"
-#: netbox/dcim/forms/bulk_import.py:366
+#: netbox/dcim/forms/bulk_import.py:363
msgid "Unit for module weight"
msgstr "Единица измерения веса модуля"
-#: netbox/dcim/forms/bulk_import.py:399
+#: netbox/dcim/forms/bulk_import.py:393
msgid "Limit platform assignments to this manufacturer"
msgstr "Ограничьте назначение платформ этому производителю"
-#: netbox/dcim/forms/bulk_import.py:421 netbox/dcim/forms/bulk_import.py:1376
+#: netbox/dcim/forms/bulk_import.py:415 netbox/dcim/forms/bulk_import.py:1364
#: netbox/tenancy/forms/bulk_import.py:106
msgid "Assigned role"
msgstr "Назначенная роль"
-#: netbox/dcim/forms/bulk_import.py:434
+#: netbox/dcim/forms/bulk_import.py:428
msgid "Device type manufacturer"
msgstr "Производитель типа устройства"
-#: netbox/dcim/forms/bulk_import.py:440
+#: netbox/dcim/forms/bulk_import.py:434
msgid "Device type model"
msgstr "Модель типа устройства"
-#: netbox/dcim/forms/bulk_import.py:447
+#: netbox/dcim/forms/bulk_import.py:441
#: netbox/virtualization/forms/bulk_import.py:126
msgid "Assigned platform"
msgstr "Назначенная платформа"
-#: netbox/dcim/forms/bulk_import.py:455 netbox/dcim/forms/bulk_import.py:459
+#: netbox/dcim/forms/bulk_import.py:449 netbox/dcim/forms/bulk_import.py:453
#: netbox/dcim/forms/model_forms.py:479
msgid "Virtual chassis"
msgstr "Виртуальное шасси"
-#: netbox/dcim/forms/bulk_import.py:462 netbox/dcim/forms/model_forms.py:465
+#: netbox/dcim/forms/bulk_import.py:456 netbox/dcim/forms/filtersets.py:659
+#: netbox/dcim/forms/filtersets.py:829 netbox/dcim/forms/model_forms.py:465
#: netbox/dcim/tables/devices.py:199 netbox/extras/filtersets.py:548
#: netbox/extras/forms/filtersets.py:331 netbox/ipam/forms/bulk_edit.py:479
#: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:459
-#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:232
+#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:239
#: netbox/templates/virtualization/cluster.html:10
#: netbox/templates/virtualization/virtualmachine.html:88
#: netbox/templates/virtualization/virtualmachine.html:97
@@ -3818,65 +3822,65 @@ msgstr "Виртуальное шасси"
msgid "Cluster"
msgstr "Кластер"
-#: netbox/dcim/forms/bulk_import.py:466
+#: netbox/dcim/forms/bulk_import.py:460
msgid "Virtualization cluster"
msgstr "Кластер виртуализации"
-#: netbox/dcim/forms/bulk_import.py:495
+#: netbox/dcim/forms/bulk_import.py:489
msgid "Assigned location (if any)"
msgstr "Назначенная локация (если есть)"
-#: netbox/dcim/forms/bulk_import.py:502
+#: netbox/dcim/forms/bulk_import.py:496
msgid "Assigned rack (if any)"
msgstr "Назначенная стойка (если есть)"
-#: netbox/dcim/forms/bulk_import.py:505
+#: netbox/dcim/forms/bulk_import.py:499
msgid "Face"
msgstr "Лицевая сторона"
-#: netbox/dcim/forms/bulk_import.py:508
+#: netbox/dcim/forms/bulk_import.py:502
msgid "Mounted rack face"
msgstr "Сторона монтажа в стойке"
-#: netbox/dcim/forms/bulk_import.py:515
+#: netbox/dcim/forms/bulk_import.py:509
msgid "Parent device (for child devices)"
msgstr "Родительское устройство (для дочерних устройств)"
-#: netbox/dcim/forms/bulk_import.py:518
+#: netbox/dcim/forms/bulk_import.py:512
msgid "Device bay"
msgstr "Отсек для устройств"
-#: netbox/dcim/forms/bulk_import.py:522
+#: netbox/dcim/forms/bulk_import.py:516
msgid "Device bay in which this device is installed (for child devices)"
msgstr ""
"Отсек для устройств, в котором установлено данное устройство (для детских "
"устройств)"
-#: netbox/dcim/forms/bulk_import.py:528
+#: netbox/dcim/forms/bulk_import.py:522
msgid "Airflow direction"
msgstr "Направление воздушного потока"
-#: netbox/dcim/forms/bulk_import.py:589
+#: netbox/dcim/forms/bulk_import.py:583
msgid "The device in which this module is installed"
msgstr "Устройство, в котором установлен данный модуль"
-#: netbox/dcim/forms/bulk_import.py:592 netbox/dcim/forms/model_forms.py:583
+#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/model_forms.py:583
msgid "Module bay"
msgstr "Отсек для модулей"
-#: netbox/dcim/forms/bulk_import.py:595
+#: netbox/dcim/forms/bulk_import.py:589
msgid "The module bay in which this module is installed"
msgstr "Отсек для модулей, в котором установлен данный модуль"
-#: netbox/dcim/forms/bulk_import.py:601
+#: netbox/dcim/forms/bulk_import.py:595
msgid "The type of module"
msgstr "Тип модуля"
-#: netbox/dcim/forms/bulk_import.py:609 netbox/dcim/forms/model_forms.py:599
+#: netbox/dcim/forms/bulk_import.py:603 netbox/dcim/forms/model_forms.py:599
msgid "Replicate components"
msgstr "Репликация компонентов"
-#: netbox/dcim/forms/bulk_import.py:611
+#: netbox/dcim/forms/bulk_import.py:605
msgid ""
"Automatically populate components associated with this module type (enabled "
"by default)"
@@ -3884,85 +3888,85 @@ msgstr ""
"Автоматическое заполнение компонентов, связанных с этим типом модуля "
"(включено по умолчанию)"
-#: netbox/dcim/forms/bulk_import.py:614 netbox/dcim/forms/model_forms.py:605
+#: netbox/dcim/forms/bulk_import.py:608 netbox/dcim/forms/model_forms.py:605
msgid "Adopt components"
msgstr "Принять компоненты"
-#: netbox/dcim/forms/bulk_import.py:616 netbox/dcim/forms/model_forms.py:608
+#: netbox/dcim/forms/bulk_import.py:610 netbox/dcim/forms/model_forms.py:608
msgid "Adopt already existing components"
msgstr "Используйте уже существующие компоненты"
-#: netbox/dcim/forms/bulk_import.py:656 netbox/dcim/forms/bulk_import.py:682
-#: netbox/dcim/forms/bulk_import.py:708
+#: netbox/dcim/forms/bulk_import.py:650 netbox/dcim/forms/bulk_import.py:676
+#: netbox/dcim/forms/bulk_import.py:702
msgid "Port type"
msgstr "Тип порта"
-#: netbox/dcim/forms/bulk_import.py:664 netbox/dcim/forms/bulk_import.py:690
+#: netbox/dcim/forms/bulk_import.py:658 netbox/dcim/forms/bulk_import.py:684
msgid "Port speed in bps"
msgstr "Скорость порта в бит/с"
-#: netbox/dcim/forms/bulk_import.py:728
+#: netbox/dcim/forms/bulk_import.py:722
msgid "Outlet type"
msgstr "Тип розетки"
-#: netbox/dcim/forms/bulk_import.py:735
+#: netbox/dcim/forms/bulk_import.py:729
msgid "Local power port which feeds this outlet"
msgstr "Локальный порт питания, питающий эту розетку"
-#: netbox/dcim/forms/bulk_import.py:741
+#: netbox/dcim/forms/bulk_import.py:735
msgid "Electrical phase (for three-phase circuits)"
msgstr "Электрическая фаза (для трехфазных цепей)"
-#: netbox/dcim/forms/bulk_import.py:782 netbox/dcim/forms/model_forms.py:1264
+#: netbox/dcim/forms/bulk_import.py:776 netbox/dcim/forms/model_forms.py:1264
#: netbox/virtualization/forms/bulk_import.py:155
#: netbox/virtualization/forms/model_forms.py:305
msgid "Parent interface"
msgstr "Родительский интерфейс"
-#: netbox/dcim/forms/bulk_import.py:789 netbox/dcim/forms/model_forms.py:1272
+#: netbox/dcim/forms/bulk_import.py:783 netbox/dcim/forms/model_forms.py:1272
#: netbox/virtualization/forms/bulk_import.py:162
#: netbox/virtualization/forms/model_forms.py:313
msgid "Bridged interface"
msgstr "Мостовой интерфейс"
-#: netbox/dcim/forms/bulk_import.py:792
+#: netbox/dcim/forms/bulk_import.py:786
msgid "Lag"
msgstr "Lag"
-#: netbox/dcim/forms/bulk_import.py:796
+#: netbox/dcim/forms/bulk_import.py:790
msgid "Parent LAG interface"
msgstr "Родительский интерфейс LAG"
-#: netbox/dcim/forms/bulk_import.py:799
+#: netbox/dcim/forms/bulk_import.py:793
msgid "Vdcs"
msgstr "Виртуальные контексты устройств(VDCs)"
-#: netbox/dcim/forms/bulk_import.py:804
+#: netbox/dcim/forms/bulk_import.py:798
msgid "VDC names separated by commas, encased with double quotes. Example:"
msgstr "Имена VDC разделены запятыми и заключены в двойные кавычки. Пример:"
-#: netbox/dcim/forms/bulk_import.py:810
+#: netbox/dcim/forms/bulk_import.py:804
msgid "Physical medium"
msgstr "Физическая среда"
-#: netbox/dcim/forms/bulk_import.py:813 netbox/dcim/forms/filtersets.py:1271
+#: netbox/dcim/forms/bulk_import.py:807 netbox/dcim/forms/filtersets.py:1283
msgid "Duplex"
msgstr "Двухуровневый"
-#: netbox/dcim/forms/bulk_import.py:818
+#: netbox/dcim/forms/bulk_import.py:812
msgid "Poe mode"
msgstr "Режим Poe"
-#: netbox/dcim/forms/bulk_import.py:824
+#: netbox/dcim/forms/bulk_import.py:818
msgid "Poe type"
msgstr "Тип Poe"
-#: netbox/dcim/forms/bulk_import.py:833
+#: netbox/dcim/forms/bulk_import.py:827
#: netbox/virtualization/forms/bulk_import.py:168
msgid "IEEE 802.1Q operational mode (for L2 interfaces)"
msgstr "Рабочий режим IEEE 802.1Q (для интерфейсов L2)"
-#: netbox/dcim/forms/bulk_import.py:840 netbox/ipam/forms/bulk_import.py:160
+#: netbox/dcim/forms/bulk_import.py:834 netbox/ipam/forms/bulk_import.py:160
#: netbox/ipam/forms/bulk_import.py:246 netbox/ipam/forms/bulk_import.py:282
#: netbox/ipam/forms/filtersets.py:201 netbox/ipam/forms/filtersets.py:277
#: netbox/ipam/forms/filtersets.py:336
@@ -3970,150 +3974,150 @@ msgstr "Рабочий режим IEEE 802.1Q (для интерфейсов L2)
msgid "Assigned VRF"
msgstr "Назначенный VRF"
-#: netbox/dcim/forms/bulk_import.py:843
+#: netbox/dcim/forms/bulk_import.py:837
msgid "Rf role"
msgstr "Роль Rf"
-#: netbox/dcim/forms/bulk_import.py:846
+#: netbox/dcim/forms/bulk_import.py:840
msgid "Wireless role (AP/station)"
msgstr "Роль беспроводной сети (точка доступа/станция)"
-#: netbox/dcim/forms/bulk_import.py:882
+#: netbox/dcim/forms/bulk_import.py:876
#, python-brace-format
msgid "VDC {vdc} is not assigned to device {device}"
msgstr "В ПОСТОЯННОГО ТОКА {vdc} не присвоено устройству {device}"
-#: netbox/dcim/forms/bulk_import.py:896 netbox/dcim/forms/model_forms.py:948
+#: netbox/dcim/forms/bulk_import.py:890 netbox/dcim/forms/model_forms.py:948
#: netbox/dcim/forms/model_forms.py:1522
#: netbox/dcim/forms/object_import.py:117
msgid "Rear port"
msgstr "Задний порт"
-#: netbox/dcim/forms/bulk_import.py:899
+#: netbox/dcim/forms/bulk_import.py:893
msgid "Corresponding rear port"
msgstr "Соответствующий задний порт"
-#: netbox/dcim/forms/bulk_import.py:904 netbox/dcim/forms/bulk_import.py:945
-#: netbox/dcim/forms/bulk_import.py:1164
+#: netbox/dcim/forms/bulk_import.py:898 netbox/dcim/forms/bulk_import.py:939
+#: netbox/dcim/forms/bulk_import.py:1155
msgid "Physical medium classification"
msgstr "Классификация физических сред"
-#: netbox/dcim/forms/bulk_import.py:973 netbox/dcim/tables/devices.py:805
+#: netbox/dcim/forms/bulk_import.py:967 netbox/dcim/tables/devices.py:805
msgid "Installed device"
msgstr "Установленное устройство"
-#: netbox/dcim/forms/bulk_import.py:977
+#: netbox/dcim/forms/bulk_import.py:971
msgid "Child device installed within this bay"
msgstr "Дочернее устройство, установленное в этом отсеке"
-#: netbox/dcim/forms/bulk_import.py:979
+#: netbox/dcim/forms/bulk_import.py:973
msgid "Child device not found."
msgstr "Дочернее устройство не найдено."
-#: netbox/dcim/forms/bulk_import.py:1037
+#: netbox/dcim/forms/bulk_import.py:1031
msgid "Parent inventory item"
msgstr "Предмет родительского инвентаря"
-#: netbox/dcim/forms/bulk_import.py:1040
+#: netbox/dcim/forms/bulk_import.py:1034
msgid "Component type"
msgstr "Тип компонента"
-#: netbox/dcim/forms/bulk_import.py:1044
+#: netbox/dcim/forms/bulk_import.py:1038
msgid "Component Type"
msgstr "Тип компонента"
-#: netbox/dcim/forms/bulk_import.py:1047
+#: netbox/dcim/forms/bulk_import.py:1041
msgid "Compnent name"
msgstr "Имя компонента"
-#: netbox/dcim/forms/bulk_import.py:1049
+#: netbox/dcim/forms/bulk_import.py:1043
msgid "Component Name"
msgstr "Имя компонента"
-#: netbox/dcim/forms/bulk_import.py:1091
+#: netbox/dcim/forms/bulk_import.py:1085
#, python-brace-format
msgid "Component not found: {device} - {component_name}"
msgstr "Компонент не найден: {device} - {component_name}"
-#: netbox/dcim/forms/bulk_import.py:1119
+#: netbox/dcim/forms/bulk_import.py:1110
msgid "Side A device"
msgstr "Устройство на стороне А"
-#: netbox/dcim/forms/bulk_import.py:1122 netbox/dcim/forms/bulk_import.py:1140
+#: netbox/dcim/forms/bulk_import.py:1113 netbox/dcim/forms/bulk_import.py:1131
msgid "Device name"
msgstr "Имя устройства"
-#: netbox/dcim/forms/bulk_import.py:1125
+#: netbox/dcim/forms/bulk_import.py:1116
msgid "Side A type"
msgstr "Сторона типа А"
-#: netbox/dcim/forms/bulk_import.py:1128 netbox/dcim/forms/bulk_import.py:1146
+#: netbox/dcim/forms/bulk_import.py:1119 netbox/dcim/forms/bulk_import.py:1137
msgid "Termination type"
msgstr "Тип завершения"
-#: netbox/dcim/forms/bulk_import.py:1131
+#: netbox/dcim/forms/bulk_import.py:1122
msgid "Side A name"
msgstr "Название стороны А"
-#: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1150
+#: netbox/dcim/forms/bulk_import.py:1123 netbox/dcim/forms/bulk_import.py:1141
msgid "Termination name"
msgstr "Название завершения"
-#: netbox/dcim/forms/bulk_import.py:1137
+#: netbox/dcim/forms/bulk_import.py:1128
msgid "Side B device"
msgstr "Устройство на стороне B"
-#: netbox/dcim/forms/bulk_import.py:1143
+#: netbox/dcim/forms/bulk_import.py:1134
msgid "Side B type"
msgstr "Тип стороны B"
-#: netbox/dcim/forms/bulk_import.py:1149
+#: netbox/dcim/forms/bulk_import.py:1140
msgid "Side B name"
msgstr "Название стороны B"
-#: netbox/dcim/forms/bulk_import.py:1158
+#: netbox/dcim/forms/bulk_import.py:1149
#: netbox/wireless/forms/bulk_import.py:86
msgid "Connection status"
msgstr "Состояние подключения"
-#: netbox/dcim/forms/bulk_import.py:1213
+#: netbox/dcim/forms/bulk_import.py:1201
#, python-brace-format
msgid "Side {side_upper}: {device} {termination_object} is already connected"
msgstr "Сторона {side_upper}: {device} {termination_object} уже подключен"
-#: netbox/dcim/forms/bulk_import.py:1219
+#: netbox/dcim/forms/bulk_import.py:1207
#, python-brace-format
msgid "{side_upper} side termination not found: {device} {name}"
msgstr "{side_upper} боковое завершение не найдено: {device} {name}"
-#: netbox/dcim/forms/bulk_import.py:1244 netbox/dcim/forms/model_forms.py:733
-#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:131
+#: netbox/dcim/forms/bulk_import.py:1232 netbox/dcim/forms/model_forms.py:733
+#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:132
#: netbox/templates/dcim/virtualchassis.html:27
#: netbox/templates/dcim/virtualchassis.html:67
msgid "Master"
msgstr "Мастер"
-#: netbox/dcim/forms/bulk_import.py:1248
+#: netbox/dcim/forms/bulk_import.py:1236
msgid "Master device"
msgstr "Мастер-устройство"
-#: netbox/dcim/forms/bulk_import.py:1265
+#: netbox/dcim/forms/bulk_import.py:1253
msgid "Name of parent site"
msgstr "Название родительского сайта"
-#: netbox/dcim/forms/bulk_import.py:1299
+#: netbox/dcim/forms/bulk_import.py:1287
msgid "Upstream power panel"
msgstr "Панель питания в восходящем направлении"
-#: netbox/dcim/forms/bulk_import.py:1329
+#: netbox/dcim/forms/bulk_import.py:1317
msgid "Primary or redundant"
msgstr "Основное или резервное"
-#: netbox/dcim/forms/bulk_import.py:1334
+#: netbox/dcim/forms/bulk_import.py:1322
msgid "Supply type (AC/DC)"
msgstr "Тип питания (AC/DC)"
-#: netbox/dcim/forms/bulk_import.py:1339
+#: netbox/dcim/forms/bulk_import.py:1327
msgid "Single or three-phase"
msgstr "Однофазный или трехфазный"
@@ -4172,11 +4176,11 @@ msgstr "Подача питания"
msgid "Side"
msgstr "Сторона"
-#: netbox/dcim/forms/filtersets.py:142
+#: netbox/dcim/forms/filtersets.py:143
msgid "Parent region"
msgstr "Родительский регион"
-#: netbox/dcim/forms/filtersets.py:156 netbox/tenancy/forms/bulk_import.py:28
+#: netbox/dcim/forms/filtersets.py:157 netbox/tenancy/forms/bulk_import.py:28
#: netbox/tenancy/forms/bulk_import.py:62
#: netbox/tenancy/forms/filtersets.py:33 netbox/tenancy/forms/filtersets.py:62
#: netbox/wireless/forms/bulk_import.py:25
@@ -4184,51 +4188,58 @@ msgstr "Родительский регион"
msgid "Parent group"
msgstr "Родительская группа"
-#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:332
+#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333
msgid "Function"
msgstr "Функция"
-#: netbox/dcim/forms/filtersets.py:418 netbox/dcim/forms/model_forms.py:317
+#: netbox/dcim/forms/filtersets.py:419 netbox/dcim/forms/model_forms.py:317
#: netbox/templates/inc/panels/image_attachments.html:6
msgid "Images"
msgstr "Изображения"
-#: netbox/dcim/forms/filtersets.py:421 netbox/dcim/forms/filtersets.py:546
-#: netbox/dcim/forms/filtersets.py:656
+#: netbox/dcim/forms/filtersets.py:422 netbox/dcim/forms/filtersets.py:547
+#: netbox/dcim/forms/filtersets.py:657
msgid "Components"
msgstr "Компоненты"
-#: netbox/dcim/forms/filtersets.py:441
+#: netbox/dcim/forms/filtersets.py:442
msgid "Subdevice role"
msgstr "Роль подустройства"
-#: netbox/dcim/forms/filtersets.py:719
+#: netbox/dcim/forms/filtersets.py:721
msgid "Model"
msgstr "Модель"
-#: netbox/dcim/forms/filtersets.py:763
+#: netbox/dcim/forms/filtersets.py:765
msgid "Has an OOB IP"
msgstr "Имеет IP-адрес OOB"
-#: netbox/dcim/forms/filtersets.py:770
+#: netbox/dcim/forms/filtersets.py:772
msgid "Virtual chassis member"
msgstr "Элемент виртуального шасси"
-#: netbox/dcim/forms/filtersets.py:819
+#: netbox/dcim/forms/filtersets.py:821
msgid "Has virtual device contexts"
msgstr "Имеет контексты виртуальных устройств"
-#: netbox/dcim/forms/filtersets.py:1129
+#: netbox/dcim/forms/filtersets.py:834 netbox/extras/filtersets.py:537
+#: netbox/ipam/forms/bulk_edit.py:476 netbox/ipam/forms/filtersets.py:464
+#: netbox/ipam/forms/model_forms.py:624
+#: netbox/virtualization/forms/filtersets.py:112
+msgid "Cluster group"
+msgstr "Кластерная группа"
+
+#: netbox/dcim/forms/filtersets.py:1141
msgid "Cabled"
msgstr "Кабельный"
-#: netbox/dcim/forms/filtersets.py:1136
+#: netbox/dcim/forms/filtersets.py:1148
msgid "Occupied"
msgstr "Занятый"
-#: netbox/dcim/forms/filtersets.py:1161 netbox/dcim/forms/filtersets.py:1183
-#: netbox/dcim/forms/filtersets.py:1205 netbox/dcim/forms/filtersets.py:1222
-#: netbox/dcim/forms/filtersets.py:1242 netbox/dcim/tables/devices.py:352
+#: netbox/dcim/forms/filtersets.py:1173 netbox/dcim/forms/filtersets.py:1195
+#: netbox/dcim/forms/filtersets.py:1217 netbox/dcim/forms/filtersets.py:1234
+#: netbox/dcim/forms/filtersets.py:1254 netbox/dcim/tables/devices.py:352
#: netbox/templates/dcim/consoleport.html:55
#: netbox/templates/dcim/consoleserverport.html:55
#: netbox/templates/dcim/frontport.html:69
@@ -4240,42 +4251,42 @@ msgstr "Занятый"
msgid "Connection"
msgstr "Подключение"
-#: netbox/dcim/forms/filtersets.py:1254 netbox/extras/forms/bulk_edit.py:316
-#: netbox/extras/forms/bulk_import.py:242
+#: netbox/dcim/forms/filtersets.py:1266 netbox/extras/forms/bulk_edit.py:316
+#: netbox/extras/forms/bulk_import.py:239
#: netbox/extras/forms/filtersets.py:473
#: netbox/extras/forms/model_forms.py:551 netbox/extras/tables/tables.py:513
#: netbox/templates/extras/journalentry.html:30
msgid "Kind"
msgstr "Вид"
-#: netbox/dcim/forms/filtersets.py:1283
+#: netbox/dcim/forms/filtersets.py:1295
msgid "Mgmt only"
msgstr "Только менеджмент"
-#: netbox/dcim/forms/filtersets.py:1295 netbox/dcim/forms/model_forms.py:1330
+#: netbox/dcim/forms/filtersets.py:1307 netbox/dcim/forms/model_forms.py:1330
#: netbox/dcim/models/device_components.py:630
#: netbox/templates/dcim/interface.html:129
msgid "WWN"
msgstr "Глобальное уникальное имя"
-#: netbox/dcim/forms/filtersets.py:1315
+#: netbox/dcim/forms/filtersets.py:1327
msgid "Wireless channel"
msgstr "Беспроводной канал"
-#: netbox/dcim/forms/filtersets.py:1319
+#: netbox/dcim/forms/filtersets.py:1331
msgid "Channel frequency (MHz)"
msgstr "Частота канала (МГц)"
-#: netbox/dcim/forms/filtersets.py:1323
+#: netbox/dcim/forms/filtersets.py:1335
msgid "Channel width (MHz)"
msgstr "Ширина канала (МГц)"
-#: netbox/dcim/forms/filtersets.py:1327
+#: netbox/dcim/forms/filtersets.py:1339
#: netbox/templates/dcim/interface.html:85
msgid "Transmit power (dBm)"
msgstr "Мощность передачи (дБм)"
-#: netbox/dcim/forms/filtersets.py:1350 netbox/dcim/forms/filtersets.py:1372
+#: netbox/dcim/forms/filtersets.py:1362 netbox/dcim/forms/filtersets.py:1384
#: netbox/dcim/tables/devices.py:316 netbox/templates/dcim/cable.html:12
#: netbox/templates/dcim/cable_trace.html:46
#: netbox/templates/dcim/frontport.html:77
@@ -4286,7 +4297,7 @@ msgstr "Мощность передачи (дБм)"
msgid "Cable"
msgstr "Кабель"
-#: netbox/dcim/forms/filtersets.py:1442 netbox/dcim/tables/devices.py:915
+#: netbox/dcim/forms/filtersets.py:1454 netbox/dcim/tables/devices.py:915
msgid "Discovered"
msgstr "Обнаружено"
@@ -4311,7 +4322,7 @@ msgstr "Управление запасами"
msgid "Outer Dimensions"
msgstr "Внешние размеры"
-#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:308
+#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:315
#: netbox/templates/dcim/rack.html:73
msgid "Dimensions"
msgstr "Габариты"
@@ -4351,7 +4362,7 @@ msgstr "Устройство с наименьшим номером, заним
msgid "The position in the virtual chassis this device is identified by"
msgstr "Положение в виртуальном корпусе этого устройства определяется по"
-#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:132
+#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:133
#: netbox/templates/dcim/virtualchassis.html:68
#: netbox/templates/dcim/virtualchassis_edit.html:56
#: netbox/templates/ipam/inc/panels/fhrp_groups.html:26
@@ -4531,13 +4542,13 @@ msgstr "Комплектующие"
msgid "Inventory Item Role"
msgstr "Роли комплектующих"
-#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:188
+#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:190
#: netbox/templates/dcim/virtualdevicecontext.html:30
#: netbox/templates/virtualization/virtualmachine.html:48
msgid "Primary IPv4"
msgstr "Основной IPv4"
-#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:204
+#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:206
#: netbox/templates/dcim/virtualdevicecontext.html:41
#: netbox/templates/virtualization/virtualmachine.html:64
msgid "Primary IPv6"
@@ -4629,7 +4640,7 @@ msgstr "Должность должна быть указана для перв
#: netbox/dcim/models/cables.py:62
#: netbox/dcim/models/device_component_templates.py:55
#: netbox/dcim/models/device_components.py:63
-#: netbox/extras/models/customfields.py:109
+#: netbox/extras/models/customfields.py:110
msgid "label"
msgstr " Метка"
@@ -5756,7 +5767,7 @@ msgstr "идентификатор"
msgid "Numeric identifier unique to the parent device"
msgstr "Цифровой идентификатор, уникальный для родительского устройства"
-#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:210
+#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:211
#: netbox/extras/models/models.py:127 netbox/extras/models/models.py:722
#: netbox/netbox/models/__init__.py:114
msgid "comments"
@@ -6112,43 +6123,43 @@ msgid "Parent location ({parent}) must belong to the same site ({site})."
msgstr ""
"Локация родителя ({parent}) должен принадлежать тому же сайту ({site})."
-#: netbox/dcim/tables/cables.py:54
+#: netbox/dcim/tables/cables.py:55
msgid "Termination A"
msgstr "Окончание A"
-#: netbox/dcim/tables/cables.py:59
+#: netbox/dcim/tables/cables.py:60
msgid "Termination B"
msgstr "Окончание В"
-#: netbox/dcim/tables/cables.py:65 netbox/wireless/tables/wirelesslink.py:22
+#: netbox/dcim/tables/cables.py:66 netbox/wireless/tables/wirelesslink.py:22
msgid "Device A"
msgstr "Устройство A"
-#: netbox/dcim/tables/cables.py:71 netbox/wireless/tables/wirelesslink.py:31
+#: netbox/dcim/tables/cables.py:72 netbox/wireless/tables/wirelesslink.py:31
msgid "Device B"
msgstr "Устройство B"
-#: netbox/dcim/tables/cables.py:77
+#: netbox/dcim/tables/cables.py:78
msgid "Location A"
msgstr "Локация A"
-#: netbox/dcim/tables/cables.py:83
+#: netbox/dcim/tables/cables.py:84
msgid "Location B"
msgstr "Локация B"
-#: netbox/dcim/tables/cables.py:89
+#: netbox/dcim/tables/cables.py:90
msgid "Rack A"
msgstr "Стойка A"
-#: netbox/dcim/tables/cables.py:95
+#: netbox/dcim/tables/cables.py:96
msgid "Rack B"
msgstr "Стойка B"
-#: netbox/dcim/tables/cables.py:101
+#: netbox/dcim/tables/cables.py:102
msgid "Site A"
msgstr "Сайт A"
-#: netbox/dcim/tables/cables.py:107
+#: netbox/dcim/tables/cables.py:108
msgid "Site B"
msgstr "Сайт B"
@@ -6164,7 +6175,7 @@ msgstr "Доступен"
#: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62
#: netbox/virtualization/forms/model_forms.py:122
#: netbox/virtualization/tables/clusters.py:83
-#: netbox/virtualization/views.py:202
+#: netbox/virtualization/views.py:205
msgid "Devices"
msgstr "Устройства"
@@ -6245,8 +6256,8 @@ msgid "Power outlets"
msgstr "Розетки питания"
#: netbox/dcim/tables/devices.py:243 netbox/dcim/tables/devices.py:1046
-#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:985
-#: netbox/dcim/views.py:1224 netbox/dcim/views.py:1900
+#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:988
+#: netbox/dcim/views.py:1227 netbox/dcim/views.py:1908
#: netbox/netbox/navigation/menu.py:81 netbox/netbox/navigation/menu.py:237
#: netbox/templates/dcim/device/base.html:37
#: netbox/templates/dcim/device_list.html:43
@@ -6258,7 +6269,7 @@ msgstr "Розетки питания"
#: netbox/templates/virtualization/virtualmachine/base.html:27
#: netbox/templates/virtualization/virtualmachine_list.html:14
#: netbox/virtualization/tables/virtualmachines.py:100
-#: netbox/virtualization/views.py:359 netbox/wireless/tables/wirelesslan.py:55
+#: netbox/virtualization/views.py:363 netbox/wireless/tables/wirelesslan.py:55
msgid "Interfaces"
msgstr "Интерфейсы"
@@ -6284,8 +6295,8 @@ msgid "Module Bay"
msgstr "Модульный отсек"
#: netbox/dcim/tables/devices.py:310 netbox/dcim/tables/devicetypes.py:48
-#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1060
-#: netbox/dcim/views.py:1993 netbox/netbox/navigation/menu.py:90
+#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1063
+#: netbox/dcim/views.py:2006 netbox/netbox/navigation/menu.py:90
#: netbox/templates/dcim/device/base.html:52
#: netbox/templates/dcim/device_list.html:71
#: netbox/templates/dcim/devicetype/base.html:49
@@ -6315,8 +6326,8 @@ msgid "Allocated draw (W)"
msgstr "Выделенная мощность (Вт)"
#: netbox/dcim/tables/devices.py:546 netbox/ipam/forms/model_forms.py:747
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:589
-#: netbox/ipam/views.py:688 netbox/netbox/navigation/menu.py:145
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:596
+#: netbox/ipam/views.py:696 netbox/netbox/navigation/menu.py:145
#: netbox/netbox/navigation/menu.py:147
#: netbox/templates/dcim/interface.html:339
#: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -6409,8 +6420,8 @@ msgstr "Высота U"
msgid "Instances"
msgstr "Инстансы"
-#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:925
-#: netbox/dcim/views.py:1164 netbox/dcim/views.py:1840
+#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:928
+#: netbox/dcim/views.py:1167 netbox/dcim/views.py:1844
#: netbox/netbox/navigation/menu.py:84
#: netbox/templates/dcim/device/base.html:25
#: netbox/templates/dcim/device_list.html:15
@@ -6420,8 +6431,8 @@ msgstr "Инстансы"
msgid "Console Ports"
msgstr "Порты консоли"
-#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:940
-#: netbox/dcim/views.py:1179 netbox/dcim/views.py:1855
+#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:943
+#: netbox/dcim/views.py:1182 netbox/dcim/views.py:1860
#: netbox/netbox/navigation/menu.py:85
#: netbox/templates/dcim/device/base.html:28
#: netbox/templates/dcim/device_list.html:22
@@ -6431,8 +6442,8 @@ msgstr "Порты консоли"
msgid "Console Server Ports"
msgstr "Порты консольного сервера"
-#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:955
-#: netbox/dcim/views.py:1194 netbox/dcim/views.py:1870
+#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:958
+#: netbox/dcim/views.py:1197 netbox/dcim/views.py:1876
#: netbox/netbox/navigation/menu.py:86
#: netbox/templates/dcim/device/base.html:31
#: netbox/templates/dcim/device_list.html:29
@@ -6442,8 +6453,8 @@ msgstr "Порты консольного сервера"
msgid "Power Ports"
msgstr "Порты питания"
-#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:970
-#: netbox/dcim/views.py:1209 netbox/dcim/views.py:1885
+#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:973
+#: netbox/dcim/views.py:1212 netbox/dcim/views.py:1892
#: netbox/netbox/navigation/menu.py:87
#: netbox/templates/dcim/device/base.html:34
#: netbox/templates/dcim/device_list.html:36
@@ -6453,8 +6464,8 @@ msgstr "Порты питания"
msgid "Power Outlets"
msgstr "Розетки питания"
-#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1000
-#: netbox/dcim/views.py:1239 netbox/dcim/views.py:1921
+#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1003
+#: netbox/dcim/views.py:1242 netbox/dcim/views.py:1930
#: netbox/netbox/navigation/menu.py:82
#: netbox/templates/dcim/device/base.html:40
#: netbox/templates/dcim/devicetype/base.html:37
@@ -6463,8 +6474,8 @@ msgstr "Розетки питания"
msgid "Front Ports"
msgstr "Передние порты"
-#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1015
-#: netbox/dcim/views.py:1254 netbox/dcim/views.py:1936
+#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1018
+#: netbox/dcim/views.py:1257 netbox/dcim/views.py:1946
#: netbox/netbox/navigation/menu.py:83
#: netbox/templates/dcim/device/base.html:43
#: netbox/templates/dcim/device_list.html:50
@@ -6474,16 +6485,16 @@ msgstr "Передние порты"
msgid "Rear Ports"
msgstr "Задние порты"
-#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1045
-#: netbox/dcim/views.py:1974 netbox/netbox/navigation/menu.py:89
+#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1048
+#: netbox/dcim/views.py:1986 netbox/netbox/navigation/menu.py:89
#: netbox/templates/dcim/device/base.html:49
#: netbox/templates/dcim/device_list.html:57
#: netbox/templates/dcim/devicetype/base.html:46
msgid "Device Bays"
msgstr "Отсеки для устройств"
-#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1030
-#: netbox/dcim/views.py:1955 netbox/netbox/navigation/menu.py:88
+#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1033
+#: netbox/dcim/views.py:1966 netbox/netbox/navigation/menu.py:88
#: netbox/templates/dcim/device/base.html:46
#: netbox/templates/dcim/device_list.html:64
#: netbox/templates/dcim/devicetype/base.html:43
@@ -6508,7 +6519,7 @@ msgstr "Доступная мощность (ВА)"
msgid "Racks"
msgstr "Стойки"
-#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:311
+#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:318
#: netbox/templates/dcim/rack.html:90
msgid "Height"
msgstr "Высота"
@@ -6542,38 +6553,38 @@ msgid "Test case must set peer_termination_type"
msgstr ""
"В тестовом примере должно быть установлено значение peer_termination_type"
-#: netbox/dcim/views.py:139
+#: netbox/dcim/views.py:140
#, python-brace-format
msgid "Disconnected {count} {type}"
msgstr "Отключен {count} {type}"
-#: netbox/dcim/views.py:684 netbox/netbox/navigation/menu.py:28
+#: netbox/dcim/views.py:686 netbox/netbox/navigation/menu.py:28
msgid "Reservations"
msgstr "Резервирование"
-#: netbox/dcim/views.py:702 netbox/templates/dcim/location.html:90
+#: netbox/dcim/views.py:705 netbox/templates/dcim/location.html:90
#: netbox/templates/dcim/site.html:140
msgid "Non-Racked Devices"
msgstr "Устройства без стоек"
-#: netbox/dcim/views.py:2006 netbox/extras/forms/model_forms.py:453
+#: netbox/dcim/views.py:2019 netbox/extras/forms/model_forms.py:453
#: netbox/templates/extras/configcontext.html:10
#: netbox/virtualization/forms/model_forms.py:225
-#: netbox/virtualization/views.py:399
+#: netbox/virtualization/views.py:404
msgid "Config Context"
msgstr "Контекст конфигурации"
-#: netbox/dcim/views.py:2016 netbox/virtualization/views.py:409
+#: netbox/dcim/views.py:2029 netbox/virtualization/views.py:414
msgid "Render Config"
msgstr "Конфигурация рендера"
-#: netbox/dcim/views.py:2066 netbox/extras/tables/tables.py:441
+#: netbox/dcim/views.py:2080 netbox/extras/tables/tables.py:441
#: netbox/netbox/navigation/menu.py:234 netbox/netbox/navigation/menu.py:236
-#: netbox/virtualization/views.py:177
+#: netbox/virtualization/views.py:179
msgid "Virtual Machines"
msgstr "Виртуальные машины"
-#: netbox/dcim/views.py:2948 netbox/ipam/tables/ip.py:233
+#: netbox/dcim/views.py:2963 netbox/ipam/tables/ip.py:233
msgid "Children"
msgstr "Потомки"
@@ -6685,11 +6696,11 @@ msgstr "Самый старый"
#: netbox/extras/choices.py:126
msgid "Alphabetical (A-Z)"
-msgstr ""
+msgstr "В алфавитном порядке (А-Я)"
#: netbox/extras/choices.py:127
msgid "Alphabetical (Z-A)"
-msgstr ""
+msgstr "В обратном алфавитном порядке (Я-А)"
#: netbox/extras/choices.py:143 netbox/templates/generic/object.html:61
msgid "Updated"
@@ -6878,10 +6889,12 @@ msgstr "Набор правил должен быть словарем, а не
#: netbox/extras/conditions.py:142
msgid "Invalid logic type: must be 'AND' or 'OR'. Please check documentation."
msgstr ""
+"Неверный тип логики: должен быть И или ИЛИ. Пожалуйста, проверьте "
+"документацию."
#: netbox/extras/conditions.py:154
msgid "Incorrect key(s) informed. Please check documentation."
-msgstr ""
+msgstr "Введены неверные ключ(и). Пожалуйста, проверьте документацию."
#: netbox/extras/dashboard/forms.py:38
msgid "Widget type"
@@ -7004,25 +7017,15 @@ msgstr "Тип кластера"
msgid "Cluster type (slug)"
msgstr "Тип кластера (подстрока)"
-#: netbox/extras/filtersets.py:537 netbox/ipam/forms/bulk_edit.py:476
-#: netbox/ipam/forms/filtersets.py:464 netbox/ipam/forms/model_forms.py:624
-#: netbox/virtualization/forms/filtersets.py:112
-msgid "Cluster group"
-msgstr "Кластерная группа"
-
-#: netbox/extras/filtersets.py:543 netbox/virtualization/filtersets.py:136
-msgid "Cluster group (slug)"
-msgstr "Группа кластеров (подстрока)"
-
#: netbox/extras/filtersets.py:553 netbox/tenancy/forms/forms.py:16
#: netbox/tenancy/forms/forms.py:39
msgid "Tenant group"
-msgstr "Группа тенантов"
+msgstr "Группы арендаторов"
#: netbox/extras/filtersets.py:559 netbox/tenancy/filtersets.py:189
#: netbox/tenancy/filtersets.py:209
msgid "Tenant group (slug)"
-msgstr "Группа тенантов (подстрока)"
+msgstr "Группа арендаторов (подстрока)"
#: netbox/extras/filtersets.py:575 netbox/extras/forms/model_forms.py:371
#: netbox/templates/extras/tag.html:11
@@ -7054,13 +7057,13 @@ msgstr "Требуется"
#: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_import.py:57
#: netbox/extras/forms/filtersets.py:79
-#: netbox/extras/models/customfields.py:194
+#: netbox/extras/models/customfields.py:195
msgid "UI visible"
msgstr "Видимый пользовательский интерфейс"
#: netbox/extras/forms/bulk_edit.py:58 netbox/extras/forms/bulk_import.py:63
#: netbox/extras/forms/filtersets.py:84
-#: netbox/extras/models/customfields.py:201
+#: netbox/extras/models/customfields.py:202
msgid "UI editable"
msgstr "Редактируемый UI"
@@ -7242,11 +7245,11 @@ msgstr "Вебхук {name} не найден"
msgid "Script {name} not found"
msgstr "Сценарий {name} не найден"
-#: netbox/extras/forms/bulk_import.py:239
+#: netbox/extras/forms/bulk_import.py:236
msgid "Assigned object type"
msgstr "Назначенный тип объекта"
-#: netbox/extras/forms/bulk_import.py:244
+#: netbox/extras/forms/bulk_import.py:241
msgid "The classification of entry"
msgstr "Классификация записей"
@@ -7371,7 +7374,7 @@ msgstr "Кластеры"
#: netbox/extras/forms/filtersets.py:400
#: netbox/extras/forms/model_forms.py:433
msgid "Tenant groups"
-msgstr "Группы тенантов"
+msgstr "Группы арендаторов"
#: netbox/extras/forms/filtersets.py:454 netbox/extras/forms/filtersets.py:489
msgid "After"
@@ -7547,7 +7550,7 @@ msgstr "Выполнение заданий"
#: netbox/extras/forms/model_forms.py:438 netbox/netbox/navigation/menu.py:39
#: netbox/tenancy/tables/tenants.py:22
msgid "Tenants"
-msgstr "Тенанты"
+msgstr "Арендаторы"
#: netbox/extras/forms/model_forms.py:458 netbox/ipam/forms/filtersets.py:142
#: netbox/ipam/forms/filtersets.py:553 netbox/ipam/forms/model_forms.py:321
@@ -7707,34 +7710,34 @@ msgstr "шаблон конфигурации"
msgid "config templates"
msgstr "шаблоны конфигураций"
-#: netbox/extras/models/customfields.py:73
+#: netbox/extras/models/customfields.py:74
msgid "The object(s) to which this field applies."
msgstr "Объекты, к которым относится это поле."
-#: netbox/extras/models/customfields.py:80
+#: netbox/extras/models/customfields.py:81
msgid "The type of data this custom field holds"
msgstr "Тип данных, которые содержит это настраиваемое поле"
-#: netbox/extras/models/customfields.py:87
+#: netbox/extras/models/customfields.py:88
msgid "The type of NetBox object this field maps to (for object fields)"
msgstr ""
"Тип объекта NetBox, которому соответствует это поле (для полей объектов)"
-#: netbox/extras/models/customfields.py:93
+#: netbox/extras/models/customfields.py:94
msgid "Internal field name"
msgstr "Имя внутреннего поля"
-#: netbox/extras/models/customfields.py:97
+#: netbox/extras/models/customfields.py:98
msgid "Only alphanumeric characters and underscores are allowed."
msgstr "Допустимы только буквенно-цифровые символы и символы подчеркивания."
-#: netbox/extras/models/customfields.py:102
+#: netbox/extras/models/customfields.py:103
msgid "Double underscores are not permitted in custom field names."
msgstr ""
"В именах настраиваемых полей недопустимо использовать два подчеркивания "
"подряд (зарезервировано)."
-#: netbox/extras/models/customfields.py:113
+#: netbox/extras/models/customfields.py:114
msgid ""
"Name of the field as displayed to users (if not provided, 'the field's name "
"will be used)"
@@ -7742,19 +7745,19 @@ msgstr ""
"Имя поля, отображаемое пользователям (если оно не указано, будет "
"использовано имя поля)"
-#: netbox/extras/models/customfields.py:117 netbox/extras/models/models.py:345
+#: netbox/extras/models/customfields.py:118 netbox/extras/models/models.py:345
msgid "group name"
msgstr "имя группы"
-#: netbox/extras/models/customfields.py:120
+#: netbox/extras/models/customfields.py:121
msgid "Custom fields within the same group will be displayed together"
msgstr "Настраиваемые поля в одной группе будут отображаться вместе"
-#: netbox/extras/models/customfields.py:128
+#: netbox/extras/models/customfields.py:129
msgid "required"
msgstr "Требуется"
-#: netbox/extras/models/customfields.py:130
+#: netbox/extras/models/customfields.py:131
msgid ""
"If true, this field is required when creating new objects or editing an "
"existing object."
@@ -7762,11 +7765,11 @@ msgstr ""
"Если это правда, это поле обязательно для создания новых объектов или "
"редактирования существующего объекта."
-#: netbox/extras/models/customfields.py:133
+#: netbox/extras/models/customfields.py:134
msgid "search weight"
msgstr "вес поиска"
-#: netbox/extras/models/customfields.py:136
+#: netbox/extras/models/customfields.py:137
msgid ""
"Weighting for search. Lower values are considered more important. Fields "
"with a search weight of zero will be ignored."
@@ -7774,11 +7777,11 @@ msgstr ""
"Взвешивание для поиска. Более низкие значения считаются более важными. Поля "
"с нулевым весом поиска будут проигнорированы."
-#: netbox/extras/models/customfields.py:141
+#: netbox/extras/models/customfields.py:142
msgid "filter logic"
msgstr "логика фильтрации"
-#: netbox/extras/models/customfields.py:145
+#: netbox/extras/models/customfields.py:146
msgid ""
"Loose matches any instance of a given string; exact matches the entire "
"field."
@@ -7786,11 +7789,11 @@ msgstr ""
"Loose соответствует любому экземпляру заданной строки; точно соответствует "
"всему полю."
-#: netbox/extras/models/customfields.py:148
+#: netbox/extras/models/customfields.py:149
msgid "default"
msgstr "по умолчанию"
-#: netbox/extras/models/customfields.py:152
+#: netbox/extras/models/customfields.py:153
msgid ""
"Default value for the field (must be a JSON value). Encapsulate strings with"
" double quotes (e.g. \"Foo\")."
@@ -7798,35 +7801,35 @@ msgstr ""
"Значение по умолчанию для поля (должно быть JSON-значением). Заключайте "
"строки в двойные кавычки (например, «Foo»)."
-#: netbox/extras/models/customfields.py:157
+#: netbox/extras/models/customfields.py:158
msgid "display weight"
msgstr "вес дисплея"
-#: netbox/extras/models/customfields.py:158
+#: netbox/extras/models/customfields.py:159
msgid "Fields with higher weights appear lower in a form."
msgstr "Поля с большим весом отображаются в форме ниже."
-#: netbox/extras/models/customfields.py:163
+#: netbox/extras/models/customfields.py:164
msgid "minimum value"
msgstr "минимальное значение"
-#: netbox/extras/models/customfields.py:164
+#: netbox/extras/models/customfields.py:165
msgid "Minimum allowed value (for numeric fields)"
msgstr "Минимальное допустимое значение (для числовых полей)"
-#: netbox/extras/models/customfields.py:169
+#: netbox/extras/models/customfields.py:170
msgid "maximum value"
msgstr "максимальное значение"
-#: netbox/extras/models/customfields.py:170
+#: netbox/extras/models/customfields.py:171
msgid "Maximum allowed value (for numeric fields)"
msgstr "Максимально допустимое значение (для числовых полей)"
-#: netbox/extras/models/customfields.py:176
+#: netbox/extras/models/customfields.py:177
msgid "validation regex"
msgstr "регулярное выражение валидации"
-#: netbox/extras/models/customfields.py:178
+#: netbox/extras/models/customfields.py:179
#, python-brace-format
msgid ""
"Regular expression to enforce on text field values. Use ^ and $ to force "
@@ -7837,179 +7840,179 @@ msgstr ""
" ^ и $ для принудительного сопоставления всей строки. Например, ^ "
"[A-Z]{3}$
ограничит значения ровно тремя заглавными буквами."
-#: netbox/extras/models/customfields.py:186
+#: netbox/extras/models/customfields.py:187
msgid "choice set"
msgstr "набор для выбора"
-#: netbox/extras/models/customfields.py:195
+#: netbox/extras/models/customfields.py:196
msgid "Specifies whether the custom field is displayed in the UI"
msgstr ""
"Указывает, отображается ли настраиваемое поле в пользовательском интерфейсе"
-#: netbox/extras/models/customfields.py:202
+#: netbox/extras/models/customfields.py:203
msgid "Specifies whether the custom field value can be edited in the UI"
msgstr ""
"Указывает, можно ли редактировать значение настраиваемого поля в "
"пользовательском интерфейсе"
-#: netbox/extras/models/customfields.py:206
+#: netbox/extras/models/customfields.py:207
msgid "is cloneable"
msgstr "клонируется"
-#: netbox/extras/models/customfields.py:207
+#: netbox/extras/models/customfields.py:208
msgid "Replicate this value when cloning objects"
msgstr "Реплицируйте это значение при клонировании объектов"
-#: netbox/extras/models/customfields.py:224
+#: netbox/extras/models/customfields.py:225
msgid "custom field"
msgstr "настраиваемое поле"
-#: netbox/extras/models/customfields.py:225
+#: netbox/extras/models/customfields.py:226
msgid "custom fields"
msgstr "настраиваемые поля"
-#: netbox/extras/models/customfields.py:314
+#: netbox/extras/models/customfields.py:315
#, python-brace-format
msgid "Invalid default value \"{value}\": {error}"
msgstr "Неверное значение по умолчанию»{value}«: {error}"
-#: netbox/extras/models/customfields.py:321
+#: netbox/extras/models/customfields.py:322
msgid "A minimum value may be set only for numeric fields"
msgstr "Минимальное значение может быть установлено только для числовых полей"
-#: netbox/extras/models/customfields.py:323
+#: netbox/extras/models/customfields.py:324
msgid "A maximum value may be set only for numeric fields"
msgstr ""
"Максимальное значение может быть установлено только для числовых полей"
-#: netbox/extras/models/customfields.py:333
+#: netbox/extras/models/customfields.py:334
msgid ""
"Regular expression validation is supported only for text and URL fields"
msgstr ""
"Проверка регулярных выражений поддерживается только для текстовых полей и "
"полей URL"
-#: netbox/extras/models/customfields.py:343
+#: netbox/extras/models/customfields.py:344
msgid "Selection fields must specify a set of choices."
msgstr "В полях выбора должен быть указан набор вариантов."
-#: netbox/extras/models/customfields.py:347
+#: netbox/extras/models/customfields.py:348
msgid "Choices may be set only on selection fields."
msgstr "Варианты могут быть заданы только в полях выбора."
-#: netbox/extras/models/customfields.py:354
+#: netbox/extras/models/customfields.py:355
msgid "Object fields must define an object type."
msgstr "Поля объекта должны определять тип объекта."
-#: netbox/extras/models/customfields.py:359
+#: netbox/extras/models/customfields.py:360
#, python-brace-format
msgid "{type} fields may not define an object type."
msgstr "{type} поля не могут определять тип объекта."
-#: netbox/extras/models/customfields.py:439
+#: netbox/extras/models/customfields.py:440
msgid "True"
msgstr "Истина"
-#: netbox/extras/models/customfields.py:440
+#: netbox/extras/models/customfields.py:441
msgid "False"
msgstr "Ложь"
-#: netbox/extras/models/customfields.py:522
+#: netbox/extras/models/customfields.py:523
#, python-brace-format
msgid "Values must match this regex: {regex}
"
msgstr ""
"Значения должны соответствовать этому регулярному вырагу: "
"{regex}
"
-#: netbox/extras/models/customfields.py:616
+#: netbox/extras/models/customfields.py:617
msgid "Value must be a string."
msgstr "Значение должно быть строкой."
-#: netbox/extras/models/customfields.py:618
+#: netbox/extras/models/customfields.py:619
#, python-brace-format
msgid "Value must match regex '{regex}'"
msgstr "Значение должно совпадать с регулярным выраженностью '{regex}'"
-#: netbox/extras/models/customfields.py:623
+#: netbox/extras/models/customfields.py:624
msgid "Value must be an integer."
msgstr "Значение должно быть целым числом."
-#: netbox/extras/models/customfields.py:626
-#: netbox/extras/models/customfields.py:641
+#: netbox/extras/models/customfields.py:627
+#: netbox/extras/models/customfields.py:642
#, python-brace-format
msgid "Value must be at least {minimum}"
msgstr "Значение должно быть не менее {minimum}"
-#: netbox/extras/models/customfields.py:630
-#: netbox/extras/models/customfields.py:645
+#: netbox/extras/models/customfields.py:631
+#: netbox/extras/models/customfields.py:646
#, python-brace-format
msgid "Value must not exceed {maximum}"
msgstr "Значение не должно превышать {maximum}"
-#: netbox/extras/models/customfields.py:638
+#: netbox/extras/models/customfields.py:639
msgid "Value must be a decimal."
msgstr "Значение должно быть десятичным."
-#: netbox/extras/models/customfields.py:650
+#: netbox/extras/models/customfields.py:651
msgid "Value must be true or false."
msgstr "Значение должно быть истинным или ложным."
-#: netbox/extras/models/customfields.py:658
+#: netbox/extras/models/customfields.py:659
msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
msgstr "Значения дат должны быть в формате ISO 8601 (YYYY-MM-DD)."
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:672
msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
msgstr ""
"Значения даты и времени должны быть в формате ISO 8601 (YYYY-MM-DD "
"HH:MM:SS)."
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:679
#, python-brace-format
msgid "Invalid choice ({value}) for choice set {choiceset}."
msgstr "Неверный выбор ({value}2) для выбора набора {choiceset}."
-#: netbox/extras/models/customfields.py:688
+#: netbox/extras/models/customfields.py:689
#, python-brace-format
msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
msgstr "Неверный выбор (ы){value}2) для выбора набора {choiceset}."
-#: netbox/extras/models/customfields.py:697
+#: netbox/extras/models/customfields.py:698
#, python-brace-format
msgid "Value must be an object ID, not {type}"
msgstr "Значение должно быть идентификатором объекта, а не {type}"
-#: netbox/extras/models/customfields.py:703
+#: netbox/extras/models/customfields.py:704
#, python-brace-format
msgid "Value must be a list of object IDs, not {type}"
msgstr "Значение должно быть списком идентификаторов объектов, а не {type}"
-#: netbox/extras/models/customfields.py:707
+#: netbox/extras/models/customfields.py:708
#, python-brace-format
msgid "Found invalid object ID: {id}"
msgstr "Обнаружен неправильный идентификатор объекта: {id}"
-#: netbox/extras/models/customfields.py:710
+#: netbox/extras/models/customfields.py:711
msgid "Required field cannot be empty."
msgstr "Обязательное поле не может быть пустым."
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:730
msgid "Base set of predefined choices (optional)"
msgstr "Базовый набор предопределенных вариантов (опционально)"
-#: netbox/extras/models/customfields.py:741
+#: netbox/extras/models/customfields.py:742
msgid "Choices are automatically ordered alphabetically"
msgstr "Варианты автоматически упорядочены в алфавитном порядке"
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:749
msgid "custom field choice set"
msgstr "набор вариантов для настраиваемых полей"
-#: netbox/extras/models/customfields.py:749
+#: netbox/extras/models/customfields.py:750
msgid "custom field choice sets"
msgstr "наборы вариантов для настраиваемых полей"
-#: netbox/extras/models/customfields.py:785
+#: netbox/extras/models/customfields.py:786
msgid "Must define base or extra choices."
msgstr "Должен определить базовые или дополнительные варианты."
@@ -8446,19 +8449,19 @@ msgstr "Данные сценария"
msgid "Script Execution Parameters"
msgstr "Параметры выполнения сценария"
-#: netbox/extras/scripts.py:664
+#: netbox/extras/scripts.py:666
msgid "Database changes have been reverted automatically."
msgstr "Изменения в базе данных были автоматически отменены."
-#: netbox/extras/scripts.py:677
+#: netbox/extras/scripts.py:679
msgid "Script aborted with error: "
msgstr "Скрипт прерван с ошибкой: "
-#: netbox/extras/scripts.py:687
+#: netbox/extras/scripts.py:689
msgid "An exception occurred: "
msgstr "Возникло исключение: "
-#: netbox/extras/scripts.py:690
+#: netbox/extras/scripts.py:692
msgid "Database changes have been reverted due to error."
msgstr "Изменения в базе данных отменены из-за ошибки."
@@ -9745,7 +9748,7 @@ msgid "The primary function of this VLAN"
msgstr "Основная функция этой VLAN"
#: netbox/ipam/models/vlans.py:215 netbox/ipam/tables/ip.py:175
-#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:961
+#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:971
#: netbox/netbox/navigation/menu.py:180 netbox/netbox/navigation/menu.py:182
msgid "VLANs"
msgstr "VLAN"
@@ -9821,7 +9824,7 @@ msgid "Added"
msgstr "Добавлено"
#: netbox/ipam/tables/ip.py:127 netbox/ipam/tables/ip.py:165
-#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:342
+#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:346
#: netbox/netbox/navigation/menu.py:152 netbox/netbox/navigation/menu.py:154
#: netbox/templates/ipam/vlan.html:84
msgid "Prefixes"
@@ -9829,7 +9832,7 @@ msgstr "Префиксы"
#: netbox/ipam/tables/ip.py:130 netbox/ipam/tables/ip.py:267
#: netbox/ipam/tables/ip.py:320 netbox/ipam/tables/vlans.py:82
-#: netbox/templates/dcim/device.html:253
+#: netbox/templates/dcim/device.html:260
#: netbox/templates/ipam/aggregate.html:24
#: netbox/templates/ipam/iprange.html:29 netbox/templates/ipam/prefix.html:106
msgid "Utilization"
@@ -9925,23 +9928,23 @@ msgstr ""
"В именах DNS разрешены только буквенно-цифровые символы, звездочки, дефисы, "
"точки и символы подчеркивания"
-#: netbox/ipam/views.py:528
+#: netbox/ipam/views.py:533
msgid "Child Prefixes"
msgstr "Дочерние префиксы"
-#: netbox/ipam/views.py:563
+#: netbox/ipam/views.py:569
msgid "Child Ranges"
msgstr "Детские диапазоны"
-#: netbox/ipam/views.py:889
+#: netbox/ipam/views.py:898
msgid "Related IPs"
msgstr "Связанные IP-адреса"
-#: netbox/ipam/views.py:1116
+#: netbox/ipam/views.py:1127
msgid "Device Interfaces"
msgstr "Интерфейсы устройств"
-#: netbox/ipam/views.py:1133
+#: netbox/ipam/views.py:1145
msgid "VM Interfaces"
msgstr "Интерфейсы виртуальных машин"
@@ -10277,6 +10280,10 @@ msgstr "Regex"
msgid "Object type(s)"
msgstr "Тип (ы) объекта"
+#: netbox/netbox/forms/__init__.py:40
+msgid "Lookup"
+msgstr "Запрос"
+
#: netbox/netbox/forms/base.py:88
msgid ""
"Tag slugs separated by commas, encased with double quotes (e.g. "
@@ -10361,7 +10368,7 @@ msgstr "Возвышения"
#: netbox/netbox/navigation/menu.py:40
msgid "Tenant Groups"
-msgstr "Группы тенантов"
+msgstr "Группы арендаторов"
#: netbox/netbox/navigation/menu.py:47
msgid "Contact Groups"
@@ -10380,7 +10387,7 @@ msgstr "Назначения контактов"
msgid "Modules"
msgstr "Модули"
-#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:158
+#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:160
#: netbox/templates/dcim/virtualdevicecontext.html:8
msgid "Virtual Device Contexts"
msgstr "Виртуальные контексты"
@@ -10442,7 +10449,7 @@ msgstr "Группы VLAN"
msgid "Service Templates"
msgstr "Шаблоны Служб"
-#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:295
+#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:302
#: netbox/templates/ipam/ipaddress.html:118
#: netbox/templates/virtualization/virtualmachine.html:150
msgid "Services"
@@ -10509,7 +10516,7 @@ msgstr "Виртуализация"
#: netbox/templates/virtualization/virtualmachine/base.html:32
#: netbox/templates/virtualization/virtualmachine_list.html:21
#: netbox/virtualization/tables/virtualmachines.py:103
-#: netbox/virtualization/views.py:380
+#: netbox/virtualization/views.py:385
msgid "Virtual Disks"
msgstr "Виртуальные диски"
@@ -10571,7 +10578,7 @@ msgstr "Настройка"
#: netbox/templates/htmx/form.html:19 netbox/templates/inc/filter_list.html:30
#: netbox/templates/inc/panels/custom_fields.html:7
#: netbox/templates/ipam/ipaddress_bulk_add.html:35
-#: netbox/templates/ipam/vlan_edit.html:63
+#: netbox/templates/ipam/vlan_edit.html:59
msgid "Custom Fields"
msgstr "Настраиваемые Поля"
@@ -10677,7 +10684,7 @@ msgstr "История конфигурации"
msgid "Background Tasks"
msgstr "Фоновые задачи"
-#: netbox/netbox/navigation/menu.py:483 netbox/templates/500.html:35
+#: netbox/netbox/navigation/menu.py:480 netbox/templates/500.html:35
#: netbox/templates/account/preferences.html:22
#: netbox/templates/core/system.html:80
msgid "Plugins"
@@ -10819,43 +10826,43 @@ msgstr "Невозможно добавить магазины в реестр
msgid "Cannot delete stores from registry"
msgstr "Невозможно удалить магазины из реестра"
-#: netbox/netbox/settings.py:724
+#: netbox/netbox/settings.py:741
msgid "German"
msgstr "Немецкий"
-#: netbox/netbox/settings.py:725
+#: netbox/netbox/settings.py:742
msgid "English"
msgstr "Английский"
-#: netbox/netbox/settings.py:726
+#: netbox/netbox/settings.py:743
msgid "Spanish"
msgstr "Испанский"
-#: netbox/netbox/settings.py:727
+#: netbox/netbox/settings.py:744
msgid "French"
msgstr "Французский"
-#: netbox/netbox/settings.py:728
+#: netbox/netbox/settings.py:745
msgid "Japanese"
msgstr "Японский"
-#: netbox/netbox/settings.py:729
+#: netbox/netbox/settings.py:746
msgid "Portuguese"
msgstr "Португальский"
-#: netbox/netbox/settings.py:730
+#: netbox/netbox/settings.py:747
msgid "Russian"
msgstr "Русский"
-#: netbox/netbox/settings.py:731
+#: netbox/netbox/settings.py:748
msgid "Turkish"
msgstr "Турецкий"
-#: netbox/netbox/settings.py:732
+#: netbox/netbox/settings.py:749
msgid "Ukrainian"
msgstr "украинский"
-#: netbox/netbox/settings.py:733
+#: netbox/netbox/settings.py:750
msgid "Chinese"
msgstr "Китайский"
@@ -10902,7 +10909,7 @@ msgstr "Журнал изменений"
msgid "Journal"
msgstr "Журнал"
-#: netbox/netbox/views/generic/object_views.py:106
+#: netbox/netbox/views/generic/object_views.py:108
#, python-brace-format
msgid "{class_name} must implement get_children()"
msgstr "{class_name} должен реализовать get_children ()"
@@ -11473,8 +11480,8 @@ msgstr "Фоновые очереди"
#: netbox/templates/core/rq_worker_list.html:45
#: netbox/templates/extras/script_result.html:49
#: netbox/templates/extras/script_result.html:51
-#: netbox/templates/inc/table_controls_htmx.html:28
-#: netbox/templates/inc/table_controls_htmx.html:31
+#: netbox/templates/inc/table_controls_htmx.html:30
+#: netbox/templates/inc/table_controls_htmx.html:33
msgid "Configure Table"
msgstr "Настроить таблицу"
@@ -11735,56 +11742,58 @@ msgstr "Тег актива"
msgid "View Virtual Chassis"
msgstr "Смотреть виртуальное шасси"
-#: netbox/templates/dcim/device.html:162
+#: netbox/templates/dcim/device.html:164
msgid "Create VDC"
msgstr "Создайте VDC"
-#: netbox/templates/dcim/device.html:173
+#: netbox/templates/dcim/device.html:175
#: netbox/templates/dcim/device_edit.html:64
#: netbox/virtualization/forms/model_forms.py:223
msgid "Management"
msgstr "Управление"
-#: netbox/templates/dcim/device.html:193 netbox/templates/dcim/device.html:209
+#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211
+#: netbox/templates/dcim/device.html:227
#: netbox/templates/virtualization/virtualmachine.html:53
#: netbox/templates/virtualization/virtualmachine.html:69
msgid "NAT for"
msgstr "NAT для"
-#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211
+#: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213
+#: netbox/templates/dcim/device.html:229
#: netbox/templates/virtualization/virtualmachine.html:55
#: netbox/templates/virtualization/virtualmachine.html:71
msgid "NAT"
msgstr "КОТ"
-#: netbox/templates/dcim/device.html:245 netbox/templates/dcim/rack.html:67
+#: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:67
msgid "Power Utilization"
msgstr "Использование энергии"
-#: netbox/templates/dcim/device.html:249
+#: netbox/templates/dcim/device.html:256
msgid "Input"
msgstr "Ввод"
-#: netbox/templates/dcim/device.html:250
+#: netbox/templates/dcim/device.html:257
msgid "Outlets"
msgstr "Торговые точки"
-#: netbox/templates/dcim/device.html:251
+#: netbox/templates/dcim/device.html:258
msgid "Allocated"
msgstr "Выделено"
-#: netbox/templates/dcim/device.html:261 netbox/templates/dcim/device.html:263
-#: netbox/templates/dcim/device.html:279
+#: netbox/templates/dcim/device.html:268 netbox/templates/dcim/device.html:270
+#: netbox/templates/dcim/device.html:286
#: netbox/templates/dcim/powerfeed.html:67
msgid "VA"
msgstr "ВА"
-#: netbox/templates/dcim/device.html:273
+#: netbox/templates/dcim/device.html:280
msgctxt "Leg of a power feed"
msgid "Leg"
msgstr "Ножка"
-#: netbox/templates/dcim/device.html:299
+#: netbox/templates/dcim/device.html:306
#: netbox/templates/virtualization/virtualmachine.html:154
msgid "Add a service"
msgstr "Добавить службу"
@@ -13161,11 +13170,11 @@ msgstr "Данные не синхронизированы с вышестоящ
#: netbox/templates/inc/table_controls_htmx.html:7
msgid "Quick search"
-msgstr ""
+msgstr "Быстрый поиск"
-#: netbox/templates/inc/table_controls_htmx.html:19
+#: netbox/templates/inc/table_controls_htmx.html:20
msgid "Saved filter"
-msgstr ""
+msgstr "Сохраненный фильтр"
#: netbox/templates/inc/user_menu.html:23
msgid "Django Admin"
@@ -13487,17 +13496,17 @@ msgstr "Добавить контакт"
#: netbox/templates/tenancy/tenantgroup.html:17
msgid "Add Tenant"
-msgstr "Добавить тенант"
+msgstr "Добавить арендатора"
#: netbox/templates/tenancy/tenantgroup.html:26
#: netbox/tenancy/forms/model_forms.py:32 netbox/tenancy/tables/columns.py:51
#: netbox/tenancy/tables/columns.py:61
msgid "Tenant Group"
-msgstr "Группа тенантов"
+msgstr "Группа арендаторов"
#: netbox/templates/tenancy/tenantgroup.html:59
msgid "Add Tenant Group"
-msgstr "Добавить группу тенантов"
+msgstr "Добавить группу арендаторов"
#: netbox/templates/users/group.html:39 netbox/templates/users/user.html:63
msgid "Assigned Permissions"
@@ -13833,15 +13842,15 @@ msgstr "Родительская группа арендаторов (корот
#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202
msgid "Tenant group (ID)"
-msgstr "Группа тенантов (ID)"
+msgstr "Группа арендаторов (ID)"
#: netbox/tenancy/filtersets.py:235
msgid "Tenant Group (ID)"
-msgstr "Группа тенантов (ID)"
+msgstr "Группа арендаторов (ID)"
#: netbox/tenancy/filtersets.py:242
msgid "Tenant Group (slug)"
-msgstr "Группа тенантов (подстрока)"
+msgstr "Группа арендаторов (подстрока)"
#: netbox/tenancy/forms/bulk_edit.py:66
msgid "Desciption"
@@ -13906,27 +13915,27 @@ msgstr "Контакты не могут быть присвоены этому
#: netbox/tenancy/models/tenants.py:32
msgid "tenant group"
-msgstr "группа тенантов"
+msgstr "группа арендаторов"
#: netbox/tenancy/models/tenants.py:33
msgid "tenant groups"
-msgstr "группы тенантов"
+msgstr "группы арендаторов"
#: netbox/tenancy/models/tenants.py:70
msgid "Tenant name must be unique per group."
-msgstr "Имя тенанта должно быть уникальным для каждой группы."
+msgstr "Имя арендатора должно быть уникальным для каждой группы."
#: netbox/tenancy/models/tenants.py:80
msgid "Tenant slug must be unique per group."
-msgstr "Подстрока тенанта должна быть уникальной для каждой группы."
+msgstr "Подстрока арендатора должна быть уникальной для каждой группы."
#: netbox/tenancy/models/tenants.py:88
msgid "tenant"
-msgstr "тенант"
+msgstr "арендатор"
#: netbox/tenancy/models/tenants.py:89
msgid "tenants"
-msgstr "тенанты"
+msgstr "арендаторы"
#: netbox/tenancy/tables/contacts.py:112
msgid "Contact Title"
@@ -14246,7 +14255,11 @@ msgstr ""
msgid "More than 50"
msgstr "Более 50"
-#: netbox/utilities/fields.py:157
+#: netbox/utilities/fields.py:30
+msgid "RGB color in hexadecimal. Example: "
+msgstr "Цвет RGB в шестнадцатеричном формате. Пример:"
+
+#: netbox/utilities/fields.py:159
#, python-format
msgid ""
"%s(%r) is invalid. to_model parameter to CounterCacheField must be a string "
@@ -14255,7 +14268,7 @@ msgstr ""
"%s(%r) недействителен. Параметр to_model для CounterCacheField должен быть "
"строкой в формате app.model"
-#: netbox/utilities/fields.py:167
+#: netbox/utilities/fields.py:169
#, python-format
msgid ""
"%s(%r) is invalid. to_field parameter to CounterCacheField must be a string "
@@ -14560,6 +14573,14 @@ msgstr "Двигаться вверх"
msgid "Move Down"
msgstr "Переместить вниз"
+#: netbox/utilities/templates/navigation/menu.html:14
+msgid "Search…"
+msgstr "Поиск..."
+
+#: netbox/utilities/templates/navigation/menu.html:14
+msgid "Search NetBox"
+msgstr "Поиск в NetBox"
+
#: netbox/utilities/templates/widgets/apiselect.html:7
msgid "Open selector"
msgstr "Открыть селектор"
@@ -14581,19 +14602,19 @@ msgstr "Тест должен определить csv_update_data."
msgid "{value} is not a valid regular expression."
msgstr "{value} не является допустимым регулярным выражением."
-#: netbox/utilities/views.py:44
+#: netbox/utilities/views.py:45
#, python-brace-format
msgid "{self.__class__.__name__} must implement get_required_permission()"
msgstr ""
"{self.__class__.__name__} должен реализовать функцию get_required_permission"
" ()"
-#: netbox/utilities/views.py:80
+#: netbox/utilities/views.py:81
#, python-brace-format
msgid "{class_name} must implement get_required_permission()"
msgstr "{class_name} должен реализовать функцию get_required_permission ()"
-#: netbox/utilities/views.py:104
+#: netbox/utilities/views.py:105
#, python-brace-format
msgid ""
"{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
@@ -14616,10 +14637,6 @@ msgstr "Родительская группа (подстрока)"
msgid "Cluster type (ID)"
msgstr "Тип кластера (ID)"
-#: netbox/virtualization/filtersets.py:130
-msgid "Cluster group (ID)"
-msgstr "Кластерная группа (ID)"
-
#: netbox/virtualization/filtersets.py:151
#: netbox/virtualization/filtersets.py:267
msgid "Cluster (ID)"
diff --git a/netbox/translations/tr/LC_MESSAGES/django.mo b/netbox/translations/tr/LC_MESSAGES/django.mo
index 66c679824..b008cd72d 100644
Binary files a/netbox/translations/tr/LC_MESSAGES/django.mo and b/netbox/translations/tr/LC_MESSAGES/django.mo differ
diff --git a/netbox/translations/tr/LC_MESSAGES/django.po b/netbox/translations/tr/LC_MESSAGES/django.po
index 012f25b47..ae8ff77fc 100644
--- a/netbox/translations/tr/LC_MESSAGES/django.po
+++ b/netbox/translations/tr/LC_MESSAGES/django.po
@@ -6,15 +6,16 @@
# Translators:
# Burak Senturk, 2024
# Jeremy Stretch, 2024
+# Hamdi Suat Aknar, 2024
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-06-22 05:02+0000\n"
+"POT-Creation-Date: 2024-07-09 05:02+0000\n"
"PO-Revision-Date: 2023-10-30 17:48+0000\n"
-"Last-Translator: Jeremy Stretch, 2024\n"
+"Last-Translator: Hamdi Suat Aknar, 2024\n"
"Language-Team: Turkish (https://app.transifex.com/netbox-community/teams/178115/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -112,8 +113,8 @@ msgstr "Hizmet dışı bırakıldı"
#: netbox/dcim/filtersets.py:97 netbox/dcim/filtersets.py:151
#: netbox/dcim/filtersets.py:211 netbox/dcim/filtersets.py:297
#: netbox/dcim/filtersets.py:406 netbox/dcim/filtersets.py:969
-#: netbox/dcim/filtersets.py:1305 netbox/dcim/filtersets.py:1832
-#: netbox/dcim/filtersets.py:2075 netbox/dcim/filtersets.py:2133
+#: netbox/dcim/filtersets.py:1316 netbox/dcim/filtersets.py:1843
+#: netbox/dcim/filtersets.py:2086 netbox/dcim/filtersets.py:2144
#: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:945
#: netbox/virtualization/filtersets.py:45
#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:377
@@ -124,8 +125,8 @@ msgstr "Bölge (ID)"
#: netbox/dcim/filtersets.py:104 netbox/dcim/filtersets.py:157
#: netbox/dcim/filtersets.py:218 netbox/dcim/filtersets.py:304
#: netbox/dcim/filtersets.py:413 netbox/dcim/filtersets.py:976
-#: netbox/dcim/filtersets.py:1312 netbox/dcim/filtersets.py:1839
-#: netbox/dcim/filtersets.py:2082 netbox/dcim/filtersets.py:2140
+#: netbox/dcim/filtersets.py:1323 netbox/dcim/filtersets.py:1850
+#: netbox/dcim/filtersets.py:2093 netbox/dcim/filtersets.py:2151
#: netbox/extras/filtersets.py:461 netbox/ipam/filtersets.py:346
#: netbox/ipam/filtersets.py:952 netbox/virtualization/filtersets.py:52
#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:372
@@ -135,9 +136,9 @@ msgstr "Bölge (kısa ad)"
#: netbox/circuits/filtersets.py:42 netbox/circuits/filtersets.py:209
#: netbox/dcim/filtersets.py:127 netbox/dcim/filtersets.py:224
#: netbox/dcim/filtersets.py:310 netbox/dcim/filtersets.py:419
-#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1318
-#: netbox/dcim/filtersets.py:1845 netbox/dcim/filtersets.py:2088
-#: netbox/dcim/filtersets.py:2146 netbox/ipam/filtersets.py:352
+#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1329
+#: netbox/dcim/filtersets.py:1856 netbox/dcim/filtersets.py:2099
+#: netbox/dcim/filtersets.py:2157 netbox/ipam/filtersets.py:352
#: netbox/ipam/filtersets.py:958 netbox/virtualization/filtersets.py:58
#: netbox/virtualization/filtersets.py:186
msgid "Site group (ID)"
@@ -146,9 +147,9 @@ msgstr "Site grubu (ID)"
#: netbox/circuits/filtersets.py:49 netbox/circuits/filtersets.py:216
#: netbox/dcim/filtersets.py:134 netbox/dcim/filtersets.py:231
#: netbox/dcim/filtersets.py:317 netbox/dcim/filtersets.py:426
-#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1325
-#: netbox/dcim/filtersets.py:1852 netbox/dcim/filtersets.py:2095
-#: netbox/dcim/filtersets.py:2153 netbox/extras/filtersets.py:467
+#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1336
+#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2106
+#: netbox/dcim/filtersets.py:2164 netbox/extras/filtersets.py:467
#: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:965
#: netbox/virtualization/filtersets.py:65
#: netbox/virtualization/filtersets.py:193
@@ -157,7 +158,7 @@ msgstr "Site grubu (kısa ad)"
#: netbox/circuits/filtersets.py:54 netbox/circuits/forms/bulk_edit.py:186
#: netbox/circuits/forms/bulk_edit.py:214
-#: netbox/circuits/forms/bulk_import.py:126
+#: netbox/circuits/forms/bulk_import.py:123
#: netbox/circuits/forms/filtersets.py:49
#: netbox/circuits/forms/filtersets.py:169
#: netbox/circuits/forms/filtersets.py:207
@@ -166,15 +167,15 @@ msgstr "Site grubu (kısa ad)"
#: netbox/circuits/tables/circuits.py:107 netbox/dcim/forms/bulk_edit.py:167
#: netbox/dcim/forms/bulk_edit.py:239 netbox/dcim/forms/bulk_edit.py:575
#: netbox/dcim/forms/bulk_edit.py:771 netbox/dcim/forms/bulk_import.py:130
-#: netbox/dcim/forms/bulk_import.py:184 netbox/dcim/forms/bulk_import.py:257
-#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1262
-#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:85
-#: netbox/dcim/forms/filtersets.py:218 netbox/dcim/forms/filtersets.py:265
-#: netbox/dcim/forms/filtersets.py:374 netbox/dcim/forms/filtersets.py:682
-#: netbox/dcim/forms/filtersets.py:916 netbox/dcim/forms/filtersets.py:940
-#: netbox/dcim/forms/filtersets.py:1030 netbox/dcim/forms/filtersets.py:1068
-#: netbox/dcim/forms/filtersets.py:1476 netbox/dcim/forms/filtersets.py:1500
-#: netbox/dcim/forms/filtersets.py:1524 netbox/dcim/forms/model_forms.py:136
+#: netbox/dcim/forms/bulk_import.py:181 netbox/dcim/forms/bulk_import.py:254
+#: netbox/dcim/forms/bulk_import.py:479 netbox/dcim/forms/bulk_import.py:1250
+#: netbox/dcim/forms/bulk_import.py:1278 netbox/dcim/forms/filtersets.py:86
+#: netbox/dcim/forms/filtersets.py:219 netbox/dcim/forms/filtersets.py:266
+#: netbox/dcim/forms/filtersets.py:375 netbox/dcim/forms/filtersets.py:684
+#: netbox/dcim/forms/filtersets.py:928 netbox/dcim/forms/filtersets.py:952
+#: netbox/dcim/forms/filtersets.py:1042 netbox/dcim/forms/filtersets.py:1080
+#: netbox/dcim/forms/filtersets.py:1488 netbox/dcim/forms/filtersets.py:1512
+#: netbox/dcim/forms/filtersets.py:1536 netbox/dcim/forms/model_forms.py:136
#: netbox/dcim/forms/model_forms.py:164 netbox/dcim/forms/model_forms.py:206
#: netbox/dcim/forms/model_forms.py:406 netbox/dcim/forms/model_forms.py:671
#: netbox/dcim/forms/object_create.py:391 netbox/dcim/tables/devices.py:150
@@ -273,8 +274,8 @@ msgstr "Devre tipi (kısa ad)"
#: netbox/circuits/filtersets.py:221 netbox/circuits/filtersets.py:266
#: netbox/dcim/filtersets.py:235 netbox/dcim/filtersets.py:321
#: netbox/dcim/filtersets.py:394 netbox/dcim/filtersets.py:993
-#: netbox/dcim/filtersets.py:1330 netbox/dcim/filtersets.py:1857
-#: netbox/dcim/filtersets.py:2099 netbox/dcim/filtersets.py:2158
+#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:1868
+#: netbox/dcim/filtersets.py:2110 netbox/dcim/filtersets.py:2169
#: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363
#: netbox/ipam/filtersets.py:969 netbox/virtualization/filtersets.py:69
#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:387
@@ -287,7 +288,7 @@ msgstr "Fesih A (ID)"
#: netbox/circuits/filtersets.py:258 netbox/core/filtersets.py:73
#: netbox/core/filtersets.py:132 netbox/dcim/filtersets.py:693
-#: netbox/dcim/filtersets.py:1299 netbox/dcim/filtersets.py:2206
+#: netbox/dcim/filtersets.py:1310 netbox/dcim/filtersets.py:2217
#: netbox/extras/filtersets.py:41 netbox/extras/filtersets.py:63
#: netbox/extras/filtersets.py:92 netbox/extras/filtersets.py:127
#: netbox/extras/filtersets.py:176 netbox/extras/filtersets.py:204
@@ -304,11 +305,12 @@ msgstr "Fesih A (ID)"
#: netbox/tenancy/filtersets.py:100 netbox/users/filtersets.py:23
#: netbox/users/filtersets.py:52 netbox/users/filtersets.py:92
#: netbox/users/filtersets.py:140 netbox/utilities/forms/forms.py:104
+#: netbox/utilities/templates/navigation/menu.html:16
msgid "Search"
msgstr "Arama"
#: netbox/circuits/filtersets.py:262 netbox/circuits/forms/bulk_edit.py:170
-#: netbox/circuits/forms/bulk_import.py:117
+#: netbox/circuits/forms/bulk_import.py:114
#: netbox/circuits/forms/filtersets.py:196
#: netbox/circuits/forms/filtersets.py:212
#: netbox/circuits/forms/model_forms.py:109
@@ -329,9 +331,9 @@ msgstr "Sağlayıcı Ağı (ID)"
#: netbox/circuits/forms/filtersets.py:54
#: netbox/circuits/forms/model_forms.py:27
#: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:127
-#: netbox/dcim/forms/filtersets.py:188 netbox/dcim/forms/model_forms.py:122
+#: netbox/dcim/forms/filtersets.py:189 netbox/dcim/forms/model_forms.py:122
#: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126
-#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:210
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:213
#: netbox/netbox/navigation/menu.py:159 netbox/netbox/navigation/menu.py:162
#: netbox/templates/circuits/provider.html:23
msgid "ASNs"
@@ -469,7 +471,7 @@ msgstr "Açıklama"
#: netbox/circuits/forms/bulk_edit.py:121
#: netbox/circuits/forms/bulk_import.py:35
#: netbox/circuits/forms/bulk_import.py:50
-#: netbox/circuits/forms/bulk_import.py:76
+#: netbox/circuits/forms/bulk_import.py:73
#: netbox/circuits/forms/filtersets.py:68
#: netbox/circuits/forms/filtersets.py:86
#: netbox/circuits/forms/filtersets.py:114
@@ -502,8 +504,8 @@ msgstr "Servis ID"
#: netbox/circuits/forms/filtersets.py:105 netbox/dcim/forms/bulk_edit.py:205
#: netbox/dcim/forms/bulk_edit.py:502 netbox/dcim/forms/bulk_edit.py:702
#: netbox/dcim/forms/bulk_edit.py:1071 netbox/dcim/forms/bulk_edit.py:1098
-#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:983
-#: netbox/dcim/forms/filtersets.py:1359 netbox/dcim/forms/filtersets.py:1380
+#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:995
+#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392
#: netbox/dcim/tables/devices.py:687 netbox/dcim/tables/devices.py:744
#: netbox/dcim/tables/devices.py:968 netbox/dcim/tables/devicetypes.py:245
#: netbox/dcim/tables/devicetypes.py:260 netbox/dcim/tables/racks.py:32
@@ -519,7 +521,7 @@ msgid "Color"
msgstr "Renk"
#: netbox/circuits/forms/bulk_edit.py:116
-#: netbox/circuits/forms/bulk_import.py:89
+#: netbox/circuits/forms/bulk_import.py:86
#: netbox/circuits/forms/filtersets.py:124 netbox/core/forms/bulk_edit.py:18
#: netbox/core/forms/filtersets.py:30 netbox/core/tables/data.py:20
#: netbox/core/tables/jobs.py:18 netbox/dcim/forms/bulk_edit.py:282
@@ -527,17 +529,17 @@ msgstr "Renk"
#: netbox/dcim/forms/bulk_edit.py:887 netbox/dcim/forms/bulk_edit.py:906
#: netbox/dcim/forms/bulk_edit.py:929 netbox/dcim/forms/bulk_edit.py:971
#: netbox/dcim/forms/bulk_edit.py:1015 netbox/dcim/forms/bulk_edit.py:1066
-#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:214
-#: netbox/dcim/forms/bulk_import.py:653 netbox/dcim/forms/bulk_import.py:679
-#: netbox/dcim/forms/bulk_import.py:705 netbox/dcim/forms/bulk_import.py:725
-#: netbox/dcim/forms/bulk_import.py:808 netbox/dcim/forms/bulk_import.py:902
-#: netbox/dcim/forms/bulk_import.py:944 netbox/dcim/forms/bulk_import.py:1161
-#: netbox/dcim/forms/bulk_import.py:1327 netbox/dcim/forms/filtersets.py:287
-#: netbox/dcim/forms/filtersets.py:874 netbox/dcim/forms/filtersets.py:973
-#: netbox/dcim/forms/filtersets.py:1094 netbox/dcim/forms/filtersets.py:1164
-#: netbox/dcim/forms/filtersets.py:1186 netbox/dcim/forms/filtersets.py:1208
-#: netbox/dcim/forms/filtersets.py:1225 netbox/dcim/forms/filtersets.py:1259
-#: netbox/dcim/forms/filtersets.py:1354 netbox/dcim/forms/filtersets.py:1375
+#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:211
+#: netbox/dcim/forms/bulk_import.py:647 netbox/dcim/forms/bulk_import.py:673
+#: netbox/dcim/forms/bulk_import.py:699 netbox/dcim/forms/bulk_import.py:719
+#: netbox/dcim/forms/bulk_import.py:802 netbox/dcim/forms/bulk_import.py:896
+#: netbox/dcim/forms/bulk_import.py:938 netbox/dcim/forms/bulk_import.py:1152
+#: netbox/dcim/forms/bulk_import.py:1315 netbox/dcim/forms/filtersets.py:288
+#: netbox/dcim/forms/filtersets.py:886 netbox/dcim/forms/filtersets.py:985
+#: netbox/dcim/forms/filtersets.py:1106 netbox/dcim/forms/filtersets.py:1176
+#: netbox/dcim/forms/filtersets.py:1198 netbox/dcim/forms/filtersets.py:1220
+#: netbox/dcim/forms/filtersets.py:1237 netbox/dcim/forms/filtersets.py:1271
+#: netbox/dcim/forms/filtersets.py:1366 netbox/dcim/forms/filtersets.py:1387
#: netbox/dcim/forms/model_forms.py:646 netbox/dcim/forms/model_forms.py:652
#: netbox/dcim/forms/object_import.py:84
#: netbox/dcim/forms/object_import.py:113
@@ -576,14 +578,14 @@ msgid "Type"
msgstr "Tür"
#: netbox/circuits/forms/bulk_edit.py:126
-#: netbox/circuits/forms/bulk_import.py:82
+#: netbox/circuits/forms/bulk_import.py:79
#: netbox/circuits/forms/filtersets.py:137
#: netbox/circuits/forms/model_forms.py:96
msgid "Provider account"
msgstr "Sağlayıcı hesabı"
#: netbox/circuits/forms/bulk_edit.py:134
-#: netbox/circuits/forms/bulk_import.py:95
+#: netbox/circuits/forms/bulk_import.py:92
#: netbox/circuits/forms/filtersets.py:148 netbox/core/forms/filtersets.py:35
#: netbox/core/forms/filtersets.py:76 netbox/core/tables/data.py:23
#: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88
@@ -592,13 +594,13 @@ msgstr "Sağlayıcı hesabı"
#: netbox/dcim/forms/bulk_edit.py:654 netbox/dcim/forms/bulk_edit.py:686
#: netbox/dcim/forms/bulk_edit.py:813 netbox/dcim/forms/bulk_edit.py:1594
#: netbox/dcim/forms/bulk_import.py:87 netbox/dcim/forms/bulk_import.py:146
-#: netbox/dcim/forms/bulk_import.py:202 netbox/dcim/forms/bulk_import.py:450
-#: netbox/dcim/forms/bulk_import.py:604 netbox/dcim/forms/bulk_import.py:1155
-#: netbox/dcim/forms/bulk_import.py:1322 netbox/dcim/forms/bulk_import.py:1386
-#: netbox/dcim/forms/filtersets.py:171 netbox/dcim/forms/filtersets.py:230
-#: netbox/dcim/forms/filtersets.py:282 netbox/dcim/forms/filtersets.py:728
-#: netbox/dcim/forms/filtersets.py:843 netbox/dcim/forms/filtersets.py:877
-#: netbox/dcim/forms/filtersets.py:978 netbox/dcim/forms/filtersets.py:1089
+#: netbox/dcim/forms/bulk_import.py:199 netbox/dcim/forms/bulk_import.py:444
+#: netbox/dcim/forms/bulk_import.py:598 netbox/dcim/forms/bulk_import.py:1146
+#: netbox/dcim/forms/bulk_import.py:1310 netbox/dcim/forms/bulk_import.py:1374
+#: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:231
+#: netbox/dcim/forms/filtersets.py:283 netbox/dcim/forms/filtersets.py:730
+#: netbox/dcim/forms/filtersets.py:855 netbox/dcim/forms/filtersets.py:889
+#: netbox/dcim/forms/filtersets.py:990 netbox/dcim/forms/filtersets.py:1101
#: netbox/dcim/tables/devices.py:137 netbox/dcim/tables/devices.py:800
#: netbox/dcim/tables/devices.py:1028 netbox/dcim/tables/modules.py:69
#: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:66
@@ -616,7 +618,7 @@ msgstr "Sağlayıcı hesabı"
#: netbox/templates/circuits/circuit.html:34
#: netbox/templates/core/datasource.html:46 netbox/templates/core/job.html:30
#: netbox/templates/core/rq_task.html:81 netbox/templates/core/system.html:18
-#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:176
+#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:178
#: netbox/templates/dcim/location.html:45 netbox/templates/dcim/module.html:66
#: netbox/templates/dcim/powerfeed.html:36 netbox/templates/dcim/rack.html:43
#: netbox/templates/dcim/site.html:43
@@ -652,20 +654,20 @@ msgid "Status"
msgstr "Durum"
#: netbox/circuits/forms/bulk_edit.py:140
-#: netbox/circuits/forms/bulk_import.py:100
+#: netbox/circuits/forms/bulk_import.py:97
#: netbox/circuits/forms/filtersets.py:117 netbox/dcim/forms/bulk_edit.py:121
#: netbox/dcim/forms/bulk_edit.py:186 netbox/dcim/forms/bulk_edit.py:256
#: netbox/dcim/forms/bulk_edit.py:368 netbox/dcim/forms/bulk_edit.py:588
#: netbox/dcim/forms/bulk_edit.py:692 netbox/dcim/forms/bulk_edit.py:1599
#: netbox/dcim/forms/bulk_import.py:106 netbox/dcim/forms/bulk_import.py:151
-#: netbox/dcim/forms/bulk_import.py:195 netbox/dcim/forms/bulk_import.py:282
-#: netbox/dcim/forms/bulk_import.py:424 netbox/dcim/forms/bulk_import.py:1167
-#: netbox/dcim/forms/bulk_import.py:1379 netbox/dcim/forms/filtersets.py:166
-#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:249
-#: netbox/dcim/forms/filtersets.py:334 netbox/dcim/forms/filtersets.py:355
-#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:835
-#: netbox/dcim/forms/filtersets.py:897 netbox/dcim/forms/filtersets.py:927
-#: netbox/dcim/forms/filtersets.py:1049 netbox/dcim/tables/power.py:88
+#: netbox/dcim/forms/bulk_import.py:192 netbox/dcim/forms/bulk_import.py:279
+#: netbox/dcim/forms/bulk_import.py:418 netbox/dcim/forms/bulk_import.py:1158
+#: netbox/dcim/forms/bulk_import.py:1367 netbox/dcim/forms/filtersets.py:167
+#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250
+#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:356
+#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:847
+#: netbox/dcim/forms/filtersets.py:909 netbox/dcim/forms/filtersets.py:939
+#: netbox/dcim/forms/filtersets.py:1061 netbox/dcim/tables/power.py:88
#: netbox/extras/filtersets.py:564 netbox/extras/forms/filtersets.py:332
#: netbox/extras/forms/filtersets.py:405 netbox/ipam/forms/bulk_edit.py:41
#: netbox/ipam/forms/bulk_edit.py:66 netbox/ipam/forms/bulk_edit.py:110
@@ -804,29 +806,22 @@ msgstr "Fesih Ayrıntıları"
#: netbox/circuits/forms/bulk_import.py:38
#: netbox/circuits/forms/bulk_import.py:53
-#: netbox/circuits/forms/bulk_import.py:79
+#: netbox/circuits/forms/bulk_import.py:76
msgid "Assigned provider"
msgstr "Atanan sağlayıcı"
-#: netbox/circuits/forms/bulk_import.py:70
-#: netbox/dcim/forms/bulk_import.py:178 netbox/dcim/forms/bulk_import.py:388
-#: netbox/dcim/forms/bulk_import.py:1108 netbox/dcim/forms/bulk_import.py:1187
-#: netbox/extras/forms/bulk_import.py:232
-msgid "RGB color in hexadecimal. Example:"
-msgstr "Onaltılık değerde RGB rengi. Örnek:"
-
-#: netbox/circuits/forms/bulk_import.py:85
+#: netbox/circuits/forms/bulk_import.py:82
msgid "Assigned provider account"
msgstr "Atanan sağlayıcı hesabı"
-#: netbox/circuits/forms/bulk_import.py:92
+#: netbox/circuits/forms/bulk_import.py:89
msgid "Type of circuit"
msgstr "Devre tipi"
-#: netbox/circuits/forms/bulk_import.py:97 netbox/dcim/forms/bulk_import.py:89
-#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:204
-#: netbox/dcim/forms/bulk_import.py:452 netbox/dcim/forms/bulk_import.py:606
-#: netbox/dcim/forms/bulk_import.py:1324 netbox/ipam/forms/bulk_import.py:193
+#: netbox/circuits/forms/bulk_import.py:94 netbox/dcim/forms/bulk_import.py:89
+#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:201
+#: netbox/dcim/forms/bulk_import.py:446 netbox/dcim/forms/bulk_import.py:600
+#: netbox/dcim/forms/bulk_import.py:1312 netbox/ipam/forms/bulk_import.py:193
#: netbox/ipam/forms/bulk_import.py:258 netbox/ipam/forms/bulk_import.py:294
#: netbox/ipam/forms/bulk_import.py:460
#: netbox/virtualization/forms/bulk_import.py:56
@@ -835,11 +830,11 @@ msgstr "Devre tipi"
msgid "Operational status"
msgstr "Operasyonel durum"
-#: netbox/circuits/forms/bulk_import.py:104
+#: netbox/circuits/forms/bulk_import.py:101
#: netbox/dcim/forms/bulk_import.py:110 netbox/dcim/forms/bulk_import.py:155
-#: netbox/dcim/forms/bulk_import.py:286 netbox/dcim/forms/bulk_import.py:428
-#: netbox/dcim/forms/bulk_import.py:1171 netbox/dcim/forms/bulk_import.py:1319
-#: netbox/dcim/forms/bulk_import.py:1383 netbox/ipam/forms/bulk_import.py:41
+#: netbox/dcim/forms/bulk_import.py:283 netbox/dcim/forms/bulk_import.py:422
+#: netbox/dcim/forms/bulk_import.py:1162 netbox/dcim/forms/bulk_import.py:1307
+#: netbox/dcim/forms/bulk_import.py:1371 netbox/ipam/forms/bulk_import.py:41
#: netbox/ipam/forms/bulk_import.py:70 netbox/ipam/forms/bulk_import.py:98
#: netbox/ipam/forms/bulk_import.py:118 netbox/ipam/forms/bulk_import.py:138
#: netbox/ipam/forms/bulk_import.py:167 netbox/ipam/forms/bulk_import.py:253
@@ -851,7 +846,7 @@ msgstr "Operasyonel durum"
msgid "Assigned tenant"
msgstr "Atanan kiracı"
-#: netbox/circuits/forms/bulk_import.py:122
+#: netbox/circuits/forms/bulk_import.py:119
#: netbox/templates/circuits/inc/circuit_termination.html:6
#: netbox/templates/circuits/inc/circuit_termination_fields.html:15
#: netbox/templates/dcim/cable.html:68 netbox/templates/dcim/cable.html:72
@@ -859,7 +854,7 @@ msgstr "Atanan kiracı"
msgid "Termination"
msgstr "Fesih"
-#: netbox/circuits/forms/bulk_import.py:132
+#: netbox/circuits/forms/bulk_import.py:129
#: netbox/circuits/forms/filtersets.py:145
#: netbox/circuits/forms/filtersets.py:225
#: netbox/circuits/forms/model_forms.py:142
@@ -871,20 +866,20 @@ msgstr "Sağlayıcı ağı"
#: netbox/circuits/forms/filtersets.py:198 netbox/dcim/forms/bulk_edit.py:248
#: netbox/dcim/forms/bulk_edit.py:346 netbox/dcim/forms/bulk_edit.py:580
#: netbox/dcim/forms/bulk_edit.py:627 netbox/dcim/forms/bulk_edit.py:780
-#: netbox/dcim/forms/bulk_import.py:189 netbox/dcim/forms/bulk_import.py:263
-#: netbox/dcim/forms/bulk_import.py:491 netbox/dcim/forms/bulk_import.py:1268
-#: netbox/dcim/forms/bulk_import.py:1302 netbox/dcim/forms/filtersets.py:93
-#: netbox/dcim/forms/filtersets.py:246 netbox/dcim/forms/filtersets.py:279
-#: netbox/dcim/forms/filtersets.py:331 netbox/dcim/forms/filtersets.py:382
-#: netbox/dcim/forms/filtersets.py:649 netbox/dcim/forms/filtersets.py:691
-#: netbox/dcim/forms/filtersets.py:896 netbox/dcim/forms/filtersets.py:925
-#: netbox/dcim/forms/filtersets.py:945 netbox/dcim/forms/filtersets.py:1009
-#: netbox/dcim/forms/filtersets.py:1039 netbox/dcim/forms/filtersets.py:1048
-#: netbox/dcim/forms/filtersets.py:1159 netbox/dcim/forms/filtersets.py:1181
-#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1220
-#: netbox/dcim/forms/filtersets.py:1240 netbox/dcim/forms/filtersets.py:1348
-#: netbox/dcim/forms/filtersets.py:1370 netbox/dcim/forms/filtersets.py:1391
-#: netbox/dcim/forms/filtersets.py:1406 netbox/dcim/forms/filtersets.py:1420
+#: netbox/dcim/forms/bulk_import.py:186 netbox/dcim/forms/bulk_import.py:260
+#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1256
+#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:94
+#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:280
+#: netbox/dcim/forms/filtersets.py:332 netbox/dcim/forms/filtersets.py:383
+#: netbox/dcim/forms/filtersets.py:650 netbox/dcim/forms/filtersets.py:693
+#: netbox/dcim/forms/filtersets.py:908 netbox/dcim/forms/filtersets.py:937
+#: netbox/dcim/forms/filtersets.py:957 netbox/dcim/forms/filtersets.py:1021
+#: netbox/dcim/forms/filtersets.py:1051 netbox/dcim/forms/filtersets.py:1060
+#: netbox/dcim/forms/filtersets.py:1171 netbox/dcim/forms/filtersets.py:1193
+#: netbox/dcim/forms/filtersets.py:1215 netbox/dcim/forms/filtersets.py:1232
+#: netbox/dcim/forms/filtersets.py:1252 netbox/dcim/forms/filtersets.py:1360
+#: netbox/dcim/forms/filtersets.py:1382 netbox/dcim/forms/filtersets.py:1403
+#: netbox/dcim/forms/filtersets.py:1418 netbox/dcim/forms/filtersets.py:1432
#: netbox/dcim/forms/model_forms.py:179 netbox/dcim/forms/model_forms.py:211
#: netbox/dcim/forms/model_forms.py:411 netbox/dcim/forms/model_forms.py:676
#: netbox/dcim/tables/devices.py:154 netbox/dcim/tables/power.py:30
@@ -907,14 +902,14 @@ msgid "Location"
msgstr "Konum"
#: netbox/circuits/forms/filtersets.py:30
-#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:137
-#: netbox/dcim/forms/filtersets.py:151 netbox/dcim/forms/filtersets.py:167
-#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250
-#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:406
-#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:1010
+#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:138
+#: netbox/dcim/forms/filtersets.py:152 netbox/dcim/forms/filtersets.py:168
+#: netbox/dcim/forms/filtersets.py:200 netbox/dcim/forms/filtersets.py:251
+#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:407
+#: netbox/dcim/forms/filtersets.py:654 netbox/dcim/forms/filtersets.py:1022
#: netbox/netbox/navigation/menu.py:44 netbox/netbox/navigation/menu.py:46
#: netbox/tenancy/forms/filtersets.py:42 netbox/tenancy/tables/columns.py:70
-#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:18
+#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:19
#: netbox/virtualization/forms/filtersets.py:37
#: netbox/virtualization/forms/filtersets.py:48
#: netbox/virtualization/forms/filtersets.py:106
@@ -924,13 +919,13 @@ msgstr "İletişim"
#: netbox/circuits/forms/filtersets.py:35
#: netbox/circuits/forms/filtersets.py:155 netbox/dcim/forms/bulk_edit.py:111
#: netbox/dcim/forms/bulk_edit.py:223 netbox/dcim/forms/bulk_edit.py:755
-#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:71
-#: netbox/dcim/forms/filtersets.py:178 netbox/dcim/forms/filtersets.py:204
-#: netbox/dcim/forms/filtersets.py:257 netbox/dcim/forms/filtersets.py:360
-#: netbox/dcim/forms/filtersets.py:668 netbox/dcim/forms/filtersets.py:902
-#: netbox/dcim/forms/filtersets.py:932 netbox/dcim/forms/filtersets.py:1016
-#: netbox/dcim/forms/filtersets.py:1055 netbox/dcim/forms/filtersets.py:1468
-#: netbox/dcim/forms/filtersets.py:1492 netbox/dcim/forms/filtersets.py:1516
+#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:72
+#: netbox/dcim/forms/filtersets.py:179 netbox/dcim/forms/filtersets.py:205
+#: netbox/dcim/forms/filtersets.py:258 netbox/dcim/forms/filtersets.py:361
+#: netbox/dcim/forms/filtersets.py:670 netbox/dcim/forms/filtersets.py:914
+#: netbox/dcim/forms/filtersets.py:944 netbox/dcim/forms/filtersets.py:1028
+#: netbox/dcim/forms/filtersets.py:1067 netbox/dcim/forms/filtersets.py:1480
+#: netbox/dcim/forms/filtersets.py:1504 netbox/dcim/forms/filtersets.py:1528
#: netbox/dcim/forms/model_forms.py:111 netbox/dcim/forms/object_create.py:375
#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/sites.py:85
#: netbox/extras/filtersets.py:455 netbox/ipam/forms/bulk_edit.py:206
@@ -951,11 +946,11 @@ msgstr "Bölge"
#: netbox/circuits/forms/filtersets.py:40
#: netbox/circuits/forms/filtersets.py:160 netbox/dcim/forms/bulk_edit.py:231
-#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:76
-#: netbox/dcim/forms/filtersets.py:183 netbox/dcim/forms/filtersets.py:209
-#: netbox/dcim/forms/filtersets.py:270 netbox/dcim/forms/filtersets.py:365
-#: netbox/dcim/forms/filtersets.py:673 netbox/dcim/forms/filtersets.py:907
-#: netbox/dcim/forms/filtersets.py:1021 netbox/dcim/forms/filtersets.py:1060
+#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:77
+#: netbox/dcim/forms/filtersets.py:184 netbox/dcim/forms/filtersets.py:210
+#: netbox/dcim/forms/filtersets.py:271 netbox/dcim/forms/filtersets.py:366
+#: netbox/dcim/forms/filtersets.py:675 netbox/dcim/forms/filtersets.py:919
+#: netbox/dcim/forms/filtersets.py:1033 netbox/dcim/forms/filtersets.py:1072
#: netbox/dcim/forms/object_create.py:383 netbox/extras/filtersets.py:472
#: netbox/ipam/forms/bulk_edit.py:211 netbox/ipam/forms/bulk_edit.py:445
#: netbox/ipam/forms/bulk_edit.py:517 netbox/ipam/forms/filtersets.py:222
@@ -972,14 +967,14 @@ msgstr "Site grubu"
#: netbox/circuits/forms/filtersets.py:81
#: netbox/circuits/forms/filtersets.py:100
#: netbox/circuits/forms/filtersets.py:115 netbox/core/forms/filtersets.py:64
-#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:165
-#: netbox/dcim/forms/filtersets.py:197 netbox/dcim/forms/filtersets.py:834
-#: netbox/dcim/forms/filtersets.py:926 netbox/dcim/forms/filtersets.py:1050
-#: netbox/dcim/forms/filtersets.py:1158 netbox/dcim/forms/filtersets.py:1180
-#: netbox/dcim/forms/filtersets.py:1202 netbox/dcim/forms/filtersets.py:1219
-#: netbox/dcim/forms/filtersets.py:1236 netbox/dcim/forms/filtersets.py:1347
-#: netbox/dcim/forms/filtersets.py:1369 netbox/dcim/forms/filtersets.py:1390
-#: netbox/dcim/forms/filtersets.py:1405 netbox/dcim/forms/filtersets.py:1418
+#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:166
+#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:846
+#: netbox/dcim/forms/filtersets.py:938 netbox/dcim/forms/filtersets.py:1062
+#: netbox/dcim/forms/filtersets.py:1170 netbox/dcim/forms/filtersets.py:1192
+#: netbox/dcim/forms/filtersets.py:1214 netbox/dcim/forms/filtersets.py:1231
+#: netbox/dcim/forms/filtersets.py:1248 netbox/dcim/forms/filtersets.py:1359
+#: netbox/dcim/forms/filtersets.py:1381 netbox/dcim/forms/filtersets.py:1402
+#: netbox/dcim/forms/filtersets.py:1417 netbox/dcim/forms/filtersets.py:1430
#: netbox/extras/forms/filtersets.py:43 netbox/extras/forms/filtersets.py:112
#: netbox/extras/forms/filtersets.py:143 netbox/extras/forms/filtersets.py:183
#: netbox/extras/forms/filtersets.py:199 netbox/extras/forms/filtersets.py:230
@@ -1105,17 +1100,17 @@ msgstr "Yerel çapraz bağlantının kimliği"
#: netbox/circuits/models/circuits.py:206
msgid "patch panel/port(s)"
-msgstr "yama paneli/bağlantı noktası (lar)"
+msgstr "bağlantı paneli/port(lar)"
#: netbox/circuits/models/circuits.py:207
msgid "Patch panel ID and port number(s)"
-msgstr "Yama paneli kimliği ve bağlantı noktası numaraları"
+msgstr "Bağlantı paneli ID ve port numaraları"
#: netbox/circuits/models/circuits.py:210
#: netbox/dcim/models/device_component_templates.py:61
#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:538
#: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219
-#: netbox/extras/models/customfields.py:123 netbox/extras/models/models.py:60
+#: netbox/extras/models/customfields.py:124 netbox/extras/models/models.py:60
#: netbox/extras/models/models.py:186 netbox/extras/models/models.py:424
#: netbox/extras/models/models.py:539 netbox/extras/models/staging.py:32
#: netbox/extras/models/tags.py:32 netbox/netbox/models/__init__.py:109
@@ -1155,7 +1150,7 @@ msgstr "Devre sonlandırma hem siteye hem de sağlayıcı ağına bağlanamaz."
#: netbox/dcim/models/devices.py:1360 netbox/dcim/models/power.py:39
#: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:63
#: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36
-#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:90
+#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:91
#: netbox/extras/models/models.py:55 netbox/extras/models/models.py:181
#: netbox/extras/models/models.py:324 netbox/extras/models/models.py:420
#: netbox/extras/models/models.py:529 netbox/extras/models/models.py:624
@@ -1228,7 +1223,7 @@ msgstr "sağlayıcı ağları"
#: netbox/circuits/tables/providers.py:99 netbox/core/tables/data.py:16
#: netbox/core/tables/jobs.py:14 netbox/core/tables/plugins.py:13
#: netbox/core/tables/tasks.py:11 netbox/core/tables/tasks.py:115
-#: netbox/dcim/forms/filtersets.py:61 netbox/dcim/forms/object_create.py:43
+#: netbox/dcim/forms/filtersets.py:62 netbox/dcim/forms/object_create.py:43
#: netbox/dcim/tables/devices.py:52 netbox/dcim/tables/devices.py:89
#: netbox/dcim/tables/devices.py:131 netbox/dcim/tables/devices.py:286
#: netbox/dcim/tables/devices.py:380 netbox/dcim/tables/devices.py:421
@@ -1503,7 +1498,7 @@ msgstr "Kullanıcı Adı"
#: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55
msgid "Only used for cloning with HTTP(S)"
-msgstr "Yalnızca HTTP (S) ile klonlama için kullanılır"
+msgstr "Sadece HTTP(S) ile klonlama için kullanılır"
#: netbox/core/data_backends.py:53 netbox/templates/account/base.html:17
#: netbox/templates/account/password.html:11
@@ -1539,7 +1534,7 @@ msgstr "Veri kaynağı (isim)"
#: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:40
#: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1020
-#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1276
+#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1288
#: netbox/dcim/tables/devices.py:541 netbox/dcim/tables/devicetypes.py:221
#: netbox/extras/forms/bulk_edit.py:98 netbox/extras/forms/bulk_edit.py:162
#: netbox/extras/forms/bulk_edit.py:221 netbox/extras/forms/filtersets.py:120
@@ -1599,7 +1594,7 @@ msgstr "Veri kaynağı"
#: netbox/core/forms/filtersets.py:67 netbox/extras/forms/filtersets.py:449
msgid "Creation"
-msgstr "Yaratılış"
+msgstr "Oluşturma"
#: netbox/core/forms/filtersets.py:71 netbox/extras/forms/filtersets.py:470
#: netbox/extras/forms/filtersets.py:510 netbox/extras/tables/tables.py:184
@@ -1642,7 +1637,7 @@ msgid "Completed before"
msgstr "Daha önce tamamlandı"
#: netbox/core/forms/filtersets.py:123 netbox/dcim/forms/bulk_edit.py:361
-#: netbox/dcim/forms/filtersets.py:353 netbox/dcim/forms/filtersets.py:397
+#: netbox/dcim/forms/filtersets.py:354 netbox/dcim/forms/filtersets.py:398
#: netbox/dcim/forms/model_forms.py:258 netbox/extras/forms/filtersets.py:465
#: netbox/extras/forms/filtersets.py:505
#: netbox/templates/dcim/rackreservation.html:58
@@ -1697,7 +1692,7 @@ msgstr "Güç"
#: netbox/core/forms/model_forms.py:159 netbox/netbox/navigation/menu.py:141
#: netbox/templates/core/inc/config_data.html:37
msgid "IPAM"
-msgstr "IPAME"
+msgstr "IPAM"
#: netbox/core/forms/model_forms.py:160 netbox/netbox/navigation/menu.py:217
#: netbox/templates/core/inc/config_data.html:50
@@ -1726,7 +1721,7 @@ msgstr "Doğrulama"
msgid "User Preferences"
msgstr "Kullanıcı Tercihleri"
-#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:661
+#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:663
#: netbox/templates/core/inc/config_data.html:127
#: netbox/users/forms/model_forms.py:65
msgid "Miscellaneous"
@@ -1801,7 +1796,7 @@ msgstr "Yapılandırma revizyonu #{id}"
#: netbox/dcim/models/device_components.py:971
#: netbox/dcim/models/device_components.py:1045
#: netbox/dcim/models/power.py:102 netbox/dcim/models/racks.py:128
-#: netbox/extras/models/customfields.py:76 netbox/extras/models/search.py:41
+#: netbox/extras/models/customfields.py:77 netbox/extras/models/search.py:41
#: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32
msgid "type"
msgstr "türü"
@@ -1959,15 +1954,15 @@ msgstr "hata"
#: netbox/core/models/jobs.py:101
msgid "job ID"
-msgstr "iş kimliği"
+msgstr "görev ID"
#: netbox/core/models/jobs.py:112
msgid "job"
-msgstr "iş"
+msgstr "görev"
#: netbox/core/models/jobs.py:113
msgid "jobs"
-msgstr "meslekler"
+msgstr "görevler"
#: netbox/core/models/jobs.py:135
#, python-brace-format
@@ -2055,7 +2050,7 @@ msgstr "Ana bilgisayar"
#: netbox/core/tables/tasks.py:50 netbox/ipam/forms/filtersets.py:542
msgid "Port"
-msgstr "Liman"
+msgstr "Port"
#: netbox/core/tables/tasks.py:54
msgid "DB"
@@ -2095,7 +2090,7 @@ msgstr "Doğum"
#: netbox/core/tables/tasks.py:124 netbox/templates/core/rq_worker.html:59
msgid "PID"
-msgstr "PİD"
+msgstr "PID"
#: netbox/core/tables/tasks.py:128
msgid "No workers found"
@@ -2170,7 +2165,7 @@ msgstr "{n} inç"
msgid "Reserved"
msgstr "Rezerve edilmiş"
-#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:252
+#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:259
msgid "Available"
msgstr "Mevcut"
@@ -2192,8 +2187,8 @@ msgstr "İnç"
#: netbox/dcim/forms/bulk_edit.py:86 netbox/dcim/forms/bulk_edit.py:172
#: netbox/dcim/forms/bulk_edit.py:1298 netbox/dcim/forms/bulk_import.py:59
#: netbox/dcim/forms/bulk_import.py:73 netbox/dcim/forms/bulk_import.py:136
-#: netbox/dcim/forms/bulk_import.py:511 netbox/dcim/forms/bulk_import.py:778
-#: netbox/dcim/forms/bulk_import.py:1033 netbox/dcim/forms/filtersets.py:227
+#: netbox/dcim/forms/bulk_import.py:505 netbox/dcim/forms/bulk_import.py:772
+#: netbox/dcim/forms/bulk_import.py:1027 netbox/dcim/forms/filtersets.py:228
#: netbox/dcim/forms/model_forms.py:73 netbox/dcim/forms/model_forms.py:92
#: netbox/dcim/forms/model_forms.py:169 netbox/dcim/forms/model_forms.py:1010
#: netbox/dcim/forms/model_forms.py:1449
@@ -2227,14 +2222,14 @@ msgstr "Ebeveyn"
msgid "Child"
msgstr "Çocuk"
-#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:332
+#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:339
#: netbox/templates/dcim/rack.html:175
#: netbox/templates/dcim/rack_elevation_list.html:20
#: netbox/templates/dcim/rackreservation.html:76
msgid "Front"
msgstr "Ön"
-#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:338
+#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:345
#: netbox/templates/dcim/rack.html:181
#: netbox/templates/dcim/rack_elevation_list.html:21
#: netbox/templates/dcim/rackreservation.html:82
@@ -2318,7 +2313,7 @@ msgid "Virtual"
msgstr "Sanal"
#: netbox/dcim/choices.py:814 netbox/dcim/choices.py:1051
-#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1239
+#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1251
#: netbox/dcim/forms/model_forms.py:936 netbox/dcim/forms/model_forms.py:1344
#: netbox/netbox/navigation/menu.py:127 netbox/netbox/navigation/menu.py:131
#: netbox/templates/dcim/interface.html:210
@@ -2330,7 +2325,7 @@ msgid "Virtual interfaces"
msgstr "Sanal arayüzler"
#: netbox/dcim/choices.py:979 netbox/dcim/forms/bulk_edit.py:1303
-#: netbox/dcim/forms/bulk_import.py:785 netbox/dcim/forms/model_forms.py:922
+#: netbox/dcim/forms/bulk_import.py:779 netbox/dcim/forms/model_forms.py:922
#: netbox/dcim/tables/devices.py:644 netbox/templates/dcim/interface.html:106
#: netbox/templates/virtualization/vminterface.html:43
#: netbox/virtualization/forms/bulk_edit.py:212
@@ -2359,9 +2354,9 @@ msgstr "Ethernet (arka panel)"
msgid "Cellular"
msgstr "Hücresel"
-#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:303
-#: netbox/dcim/forms/filtersets.py:738 netbox/dcim/forms/filtersets.py:882
-#: netbox/dcim/forms/filtersets.py:1434
+#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:304
+#: netbox/dcim/forms/filtersets.py:740 netbox/dcim/forms/filtersets.py:894
+#: netbox/dcim/forms/filtersets.py:1446
#: netbox/templates/dcim/inventoryitem.html:52
#: netbox/templates/dcim/virtualchassis_edit.html:54
msgid "Serial"
@@ -2432,9 +2427,9 @@ msgstr "Fiber Optik"
#: netbox/dcim/choices.py:1434
msgid "Fiber"
-msgstr "Elyaf"
+msgstr "Fiber"
-#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1146
+#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1158
msgid "Connected"
msgstr "Bağlı"
@@ -2456,9 +2451,9 @@ msgstr "Mil"
#: netbox/dcim/choices.py:1481 netbox/templates/dcim/cable_trace.html:66
msgid "Feet"
-msgstr "Ayaklar"
+msgstr "Feet"
-#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:320
+#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:327
#: netbox/templates/dcim/rack.html:152
msgid "Kilograms"
msgstr "Kilogram"
@@ -2528,7 +2523,7 @@ msgstr "Grup (kısa ad)"
#: netbox/dcim/filtersets.py:175 netbox/dcim/filtersets.py:180
msgid "AS (ID)"
-msgstr "OLARAK (İD)"
+msgstr "AS (ID)"
#: netbox/dcim/filtersets.py:245
msgid "Parent location (ID)"
@@ -2536,29 +2531,29 @@ msgstr "Ana konum (ID)"
#: netbox/dcim/filtersets.py:251
msgid "Parent location (slug)"
-msgstr "Ana konum (sümüklü böcek)"
+msgstr "Ana konum (kısa ad)"
#: netbox/dcim/filtersets.py:257 netbox/dcim/filtersets.py:333
#: netbox/dcim/filtersets.py:432 netbox/dcim/filtersets.py:1005
-#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:2111
+#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2122
msgid "Location (ID)"
msgstr "Konum (ID)"
#: netbox/dcim/filtersets.py:264 netbox/dcim/filtersets.py:340
-#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1347
+#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1358
#: netbox/extras/filtersets.py:494
msgid "Location (slug)"
msgstr "Konum (kısa ad)"
#: netbox/dcim/filtersets.py:354 netbox/dcim/filtersets.py:840
-#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1779
+#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1790
#: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493
#: netbox/ipam/filtersets.py:989 netbox/virtualization/filtersets.py:210
msgid "Role (ID)"
msgstr "Rol (ID)"
#: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:846
-#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1785
+#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1796
#: netbox/extras/filtersets.py:510 netbox/ipam/filtersets.py:387
#: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:995
#: netbox/virtualization/filtersets.py:216
@@ -2566,7 +2561,7 @@ msgid "Role (slug)"
msgstr "Rol (kısa ad)"
#: netbox/dcim/filtersets.py:389 netbox/dcim/filtersets.py:1010
-#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2173
+#: netbox/dcim/filtersets.py:1363 netbox/dcim/filtersets.py:2184
msgid "Rack (ID)"
msgstr "Raf (ID)"
@@ -2584,15 +2579,15 @@ msgstr "Kullanıcı (isim)"
#: netbox/dcim/filtersets.py:481 netbox/dcim/filtersets.py:620
#: netbox/dcim/filtersets.py:830 netbox/dcim/filtersets.py:881
-#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1243
-#: netbox/dcim/filtersets.py:1769
+#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1254
+#: netbox/dcim/filtersets.py:1780
msgid "Manufacturer (ID)"
msgstr "Üretici (ID)"
#: netbox/dcim/filtersets.py:487 netbox/dcim/filtersets.py:626
#: netbox/dcim/filtersets.py:836 netbox/dcim/filtersets.py:887
-#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1249
-#: netbox/dcim/filtersets.py:1775
+#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1260
+#: netbox/dcim/filtersets.py:1786
msgid "Manufacturer (slug)"
msgstr "Üretici (kısa ad)"
@@ -2604,93 +2599,93 @@ msgstr "Varsayılan platform (ID)"
msgid "Default platform (slug)"
msgstr "Varsayılan platform (kısa ad)"
-#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:452
+#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:453
msgid "Has a front image"
msgstr "Ön resmi var"
-#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:459
+#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:460
msgid "Has a rear image"
msgstr "Arka görüntüsü var"
#: netbox/dcim/filtersets.py:509 netbox/dcim/filtersets.py:630
-#: netbox/dcim/filtersets.py:1068 netbox/dcim/forms/filtersets.py:466
-#: netbox/dcim/forms/filtersets.py:562 netbox/dcim/forms/filtersets.py:777
+#: netbox/dcim/filtersets.py:1079 netbox/dcim/forms/filtersets.py:467
+#: netbox/dcim/forms/filtersets.py:563 netbox/dcim/forms/filtersets.py:779
msgid "Has console ports"
msgstr "Konsol bağlantı noktaları vardır"
#: netbox/dcim/filtersets.py:513 netbox/dcim/filtersets.py:634
-#: netbox/dcim/filtersets.py:1072 netbox/dcim/forms/filtersets.py:473
-#: netbox/dcim/forms/filtersets.py:569 netbox/dcim/forms/filtersets.py:784
+#: netbox/dcim/filtersets.py:1083 netbox/dcim/forms/filtersets.py:474
+#: netbox/dcim/forms/filtersets.py:570 netbox/dcim/forms/filtersets.py:786
msgid "Has console server ports"
msgstr "Konsol sunucusu bağlantı noktaları vardır"
#: netbox/dcim/filtersets.py:517 netbox/dcim/filtersets.py:638
-#: netbox/dcim/filtersets.py:1076 netbox/dcim/forms/filtersets.py:480
-#: netbox/dcim/forms/filtersets.py:576 netbox/dcim/forms/filtersets.py:791
+#: netbox/dcim/filtersets.py:1087 netbox/dcim/forms/filtersets.py:481
+#: netbox/dcim/forms/filtersets.py:577 netbox/dcim/forms/filtersets.py:793
msgid "Has power ports"
msgstr "Güç bağlantı noktaları vardır"
#: netbox/dcim/filtersets.py:521 netbox/dcim/filtersets.py:642
-#: netbox/dcim/filtersets.py:1080 netbox/dcim/forms/filtersets.py:487
-#: netbox/dcim/forms/filtersets.py:583 netbox/dcim/forms/filtersets.py:798
+#: netbox/dcim/filtersets.py:1091 netbox/dcim/forms/filtersets.py:488
+#: netbox/dcim/forms/filtersets.py:584 netbox/dcim/forms/filtersets.py:800
msgid "Has power outlets"
msgstr "Elektrik prizleri var"
#: netbox/dcim/filtersets.py:525 netbox/dcim/filtersets.py:646
-#: netbox/dcim/filtersets.py:1084 netbox/dcim/forms/filtersets.py:494
-#: netbox/dcim/forms/filtersets.py:590 netbox/dcim/forms/filtersets.py:805
+#: netbox/dcim/filtersets.py:1095 netbox/dcim/forms/filtersets.py:495
+#: netbox/dcim/forms/filtersets.py:591 netbox/dcim/forms/filtersets.py:807
msgid "Has interfaces"
msgstr "Arayüzleri vardır"
#: netbox/dcim/filtersets.py:529 netbox/dcim/filtersets.py:650
-#: netbox/dcim/filtersets.py:1088 netbox/dcim/forms/filtersets.py:501
-#: netbox/dcim/forms/filtersets.py:597 netbox/dcim/forms/filtersets.py:812
+#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/filtersets.py:502
+#: netbox/dcim/forms/filtersets.py:598 netbox/dcim/forms/filtersets.py:814
msgid "Has pass-through ports"
msgstr "Geçiş bağlantı noktaları vardır"
-#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1092
-#: netbox/dcim/forms/filtersets.py:515
+#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1103
+#: netbox/dcim/forms/filtersets.py:516
msgid "Has module bays"
msgstr "Modül yuvaları vardır"
-#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1096
-#: netbox/dcim/forms/filtersets.py:508
+#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1107
+#: netbox/dcim/forms/filtersets.py:509
msgid "Has device bays"
-msgstr "Aygıt yuvaları vardır"
+msgstr "Cihaz yuvaları var"
-#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:522
+#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:523
msgid "Has inventory items"
msgstr "Envanter kalemleri var"
#: netbox/dcim/filtersets.py:698 netbox/dcim/filtersets.py:937
-#: netbox/dcim/filtersets.py:1373
+#: netbox/dcim/filtersets.py:1384
msgid "Device type (ID)"
-msgstr "Aygıt tipi (ID)"
+msgstr "Cihaz tipi (ID)"
-#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1254
+#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1265
msgid "Module type (ID)"
msgstr "Modül tipi (ID)"
-#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1524
+#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1535
msgid "Power port (ID)"
msgstr "Güç bağlantı noktası (ID)"
-#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1765
+#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1776
msgid "Parent inventory item (ID)"
msgstr "Ana envanter kalemi (ID)"
#: netbox/dcim/filtersets.py:869 netbox/dcim/filtersets.py:895
-#: netbox/dcim/filtersets.py:1064 netbox/virtualization/filtersets.py:238
+#: netbox/dcim/filtersets.py:1075 netbox/virtualization/filtersets.py:238
msgid "Config template (ID)"
msgstr "Yapılandırma şablonu (ID)"
#: netbox/dcim/filtersets.py:933
msgid "Device type (slug)"
-msgstr "Aygıt tipi (kısa ad)"
+msgstr "Cihaz tipi (kısa ad)"
#: netbox/dcim/filtersets.py:953
msgid "Parent Device (ID)"
-msgstr "Ana Aygıt (ID)"
+msgstr "Ana Cihaz (ID)"
#: netbox/dcim/filtersets.py:957 netbox/virtualization/filtersets.py:220
msgid "Platform (ID)"
@@ -2701,9 +2696,9 @@ msgstr "Platform (ID)"
msgid "Platform (slug)"
msgstr "Platform (kısa ad)"
-#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1336
-#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2105
-#: netbox/dcim/filtersets.py:2164
+#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1347
+#: netbox/dcim/filtersets.py:1874 netbox/dcim/filtersets.py:2116
+#: netbox/dcim/filtersets.py:2175
msgid "Site name (slug)"
msgstr "Site adı (kısa ad)"
@@ -2715,16 +2710,25 @@ msgstr "Ebeveyn bölmesi (ID)"
msgid "VM cluster (ID)"
msgstr "VM kümesi (ID)"
-#: netbox/dcim/filtersets.py:1025
-msgid "Device model (slug)"
-msgstr "Aygıt modeli (kısa ad)"
+#: netbox/dcim/filtersets.py:1025 netbox/extras/filtersets.py:543
+#: netbox/virtualization/filtersets.py:136
+msgid "Cluster group (slug)"
+msgstr "Küme grubu (kısa ad)"
-#: netbox/dcim/filtersets.py:1036 netbox/dcim/forms/bulk_edit.py:423
+#: netbox/dcim/filtersets.py:1030 netbox/virtualization/filtersets.py:130
+msgid "Cluster group (ID)"
+msgstr "Küme grubu (ID)"
+
+#: netbox/dcim/filtersets.py:1036
+msgid "Device model (slug)"
+msgstr "Cihaz modeli (kısa ad)"
+
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/forms/bulk_edit.py:423
msgid "Is full depth"
msgstr "Tam derinlik mi"
-#: netbox/dcim/filtersets.py:1040 netbox/dcim/forms/common.py:18
-#: netbox/dcim/forms/filtersets.py:747 netbox/dcim/forms/filtersets.py:1291
+#: netbox/dcim/filtersets.py:1051 netbox/dcim/forms/common.py:18
+#: netbox/dcim/forms/filtersets.py:749 netbox/dcim/forms/filtersets.py:1303
#: netbox/dcim/models/device_components.py:519
#: netbox/virtualization/filtersets.py:230
#: netbox/virtualization/filtersets.py:297
@@ -2733,88 +2737,88 @@ msgstr "Tam derinlik mi"
msgid "MAC address"
msgstr "MAC adresi"
-#: netbox/dcim/filtersets.py:1047 netbox/dcim/filtersets.py:1211
-#: netbox/dcim/forms/filtersets.py:756 netbox/dcim/forms/filtersets.py:849
+#: netbox/dcim/filtersets.py:1058 netbox/dcim/filtersets.py:1222
+#: netbox/dcim/forms/filtersets.py:758 netbox/dcim/forms/filtersets.py:861
#: netbox/virtualization/filtersets.py:234
#: netbox/virtualization/forms/filtersets.py:176
msgid "Has a primary IP"
msgstr "Birincil IP'ye sahiptir"
-#: netbox/dcim/filtersets.py:1051
+#: netbox/dcim/filtersets.py:1062
msgid "Has an out-of-band IP"
msgstr "Bant dışı bir IP'ye sahiptir"
-#: netbox/dcim/filtersets.py:1056
+#: netbox/dcim/filtersets.py:1067
msgid "Virtual chassis (ID)"
msgstr "Sanal kasa (ID)"
-#: netbox/dcim/filtersets.py:1060
+#: netbox/dcim/filtersets.py:1071
msgid "Is a virtual chassis member"
msgstr "Sanal bir şasi üyesidir"
-#: netbox/dcim/filtersets.py:1101
+#: netbox/dcim/filtersets.py:1112
msgid "OOB IP (ID)"
msgstr "OOB İP (KİMLİĞİ)"
-#: netbox/dcim/filtersets.py:1105
+#: netbox/dcim/filtersets.py:1116
msgid "Has virtual device context"
msgstr "Sanal cihaz bağlamına sahiptir"
-#: netbox/dcim/filtersets.py:1194
+#: netbox/dcim/filtersets.py:1205
msgid "VDC (ID)"
msgstr "VDC (KİMLİK)"
-#: netbox/dcim/filtersets.py:1199
+#: netbox/dcim/filtersets.py:1210
msgid "Device model"
msgstr "Cihaz modeli"
-#: netbox/dcim/filtersets.py:1204 netbox/ipam/filtersets.py:632
+#: netbox/dcim/filtersets.py:1215 netbox/ipam/filtersets.py:632
#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:420
msgid "Interface (ID)"
msgstr "Arayüz (ID)"
-#: netbox/dcim/filtersets.py:1260
+#: netbox/dcim/filtersets.py:1271
msgid "Module type (model)"
msgstr "Modül tipi (model)"
-#: netbox/dcim/filtersets.py:1266
+#: netbox/dcim/filtersets.py:1277
msgid "Module Bay (ID)"
msgstr "Modül Yuvası (ID)"
-#: netbox/dcim/filtersets.py:1270 netbox/dcim/filtersets.py:1362
+#: netbox/dcim/filtersets.py:1281 netbox/dcim/filtersets.py:1373
#: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851
#: netbox/ipam/filtersets.py:1075 netbox/virtualization/filtersets.py:161
#: netbox/vpn/filtersets.py:398
msgid "Device (ID)"
-msgstr "Aygıt (ID)"
+msgstr "Cihaz (ID)"
-#: netbox/dcim/filtersets.py:1358
+#: netbox/dcim/filtersets.py:1369
msgid "Rack (name)"
msgstr "Raf (isim)"
-#: netbox/dcim/filtersets.py:1368 netbox/ipam/filtersets.py:606
+#: netbox/dcim/filtersets.py:1379 netbox/ipam/filtersets.py:606
#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1081
#: netbox/vpn/filtersets.py:393
msgid "Device (name)"
-msgstr "Aygıt (isim)"
-
-#: netbox/dcim/filtersets.py:1379
-msgid "Device type (model)"
-msgstr "Aygıt tipi (model)"
-
-#: netbox/dcim/filtersets.py:1384
-msgid "Device role (ID)"
-msgstr "Aygıt rolü (ID)"
+msgstr "Cihaz (isim)"
#: netbox/dcim/filtersets.py:1390
-msgid "Device role (slug)"
-msgstr "Aygıt rolü (kısa ad)"
+msgid "Device type (model)"
+msgstr "Cihaz tipi (model)"
#: netbox/dcim/filtersets.py:1395
+msgid "Device role (ID)"
+msgstr "Cihaz rolü (ID)"
+
+#: netbox/dcim/filtersets.py:1401
+msgid "Device role (slug)"
+msgstr "Cihaz rolü (kısa ad)"
+
+#: netbox/dcim/filtersets.py:1406
msgid "Virtual Chassis (ID)"
msgstr "Sanal Kasa (ID)"
-#: netbox/dcim/filtersets.py:1401 netbox/dcim/forms/filtersets.py:107
+#: netbox/dcim/filtersets.py:1412 netbox/dcim/forms/filtersets.py:108
#: netbox/dcim/tables/devices.py:203 netbox/netbox/navigation/menu.py:66
#: netbox/templates/dcim/device.html:120
#: netbox/templates/dcim/device_edit.html:93
@@ -2824,25 +2828,25 @@ msgstr "Sanal Kasa (ID)"
msgid "Virtual Chassis"
msgstr "Sanal Şasi"
-#: netbox/dcim/filtersets.py:1421
+#: netbox/dcim/filtersets.py:1432
msgid "Module (ID)"
msgstr "Modül (ID)"
-#: netbox/dcim/filtersets.py:1428
+#: netbox/dcim/filtersets.py:1439
msgid "Cable (ID)"
msgstr "Kablo (ID)"
-#: netbox/dcim/filtersets.py:1537 netbox/ipam/forms/bulk_import.py:188
+#: netbox/dcim/filtersets.py:1548 netbox/ipam/forms/bulk_import.py:188
#: netbox/vpn/forms/bulk_import.py:308
msgid "Assigned VLAN"
msgstr "Atanmış VLAN"
-#: netbox/dcim/filtersets.py:1541
+#: netbox/dcim/filtersets.py:1552
msgid "Assigned VID"
msgstr "Atanmış VID"
-#: netbox/dcim/filtersets.py:1546 netbox/dcim/forms/bulk_edit.py:1382
-#: netbox/dcim/forms/bulk_import.py:836 netbox/dcim/forms/filtersets.py:1334
+#: netbox/dcim/filtersets.py:1557 netbox/dcim/forms/bulk_edit.py:1382
+#: netbox/dcim/forms/bulk_import.py:830 netbox/dcim/forms/filtersets.py:1346
#: netbox/dcim/forms/model_forms.py:1325
#: netbox/dcim/models/device_components.py:712
#: netbox/dcim/tables/devices.py:610 netbox/ipam/filtersets.py:316
@@ -2874,18 +2878,18 @@ msgstr "Atanmış VID"
msgid "VRF"
msgstr "VRF"
-#: netbox/dcim/filtersets.py:1552 netbox/ipam/filtersets.py:322
+#: netbox/dcim/filtersets.py:1563 netbox/ipam/filtersets.py:322
#: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489
#: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601
msgid "VRF (RD)"
msgstr "VRF (RD)"
-#: netbox/dcim/filtersets.py:1557 netbox/ipam/filtersets.py:1016
+#: netbox/dcim/filtersets.py:1568 netbox/ipam/filtersets.py:1016
#: netbox/vpn/filtersets.py:361
msgid "L2VPN (ID)"
msgstr "L2VPN (KİMLİĞİ)"
-#: netbox/dcim/filtersets.py:1563 netbox/dcim/forms/filtersets.py:1339
+#: netbox/dcim/filtersets.py:1574 netbox/dcim/forms/filtersets.py:1351
#: netbox/dcim/tables/devices.py:558 netbox/ipam/filtersets.py:1022
#: netbox/ipam/forms/filtersets.py:525 netbox/ipam/tables/vlans.py:133
#: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66
@@ -2897,84 +2901,84 @@ msgstr "L2VPN (KİMLİĞİ)"
msgid "L2VPN"
msgstr "L2VPN"
-#: netbox/dcim/filtersets.py:1595
+#: netbox/dcim/filtersets.py:1606
msgid "Virtual Chassis Interfaces for Device"
-msgstr "Aygıt için Sanal Kasa Arabirimleri"
+msgstr "Cihaz için Sanal Şasi Arayüzleri"
-#: netbox/dcim/filtersets.py:1600
+#: netbox/dcim/filtersets.py:1611
msgid "Virtual Chassis Interfaces for Device (ID)"
-msgstr "Aygıt için Sanal Kasa Arabirimleri (ID)"
+msgstr "Cihaz için Sanal Şasi Arayüzleri (ID)"
-#: netbox/dcim/filtersets.py:1604
+#: netbox/dcim/filtersets.py:1615
msgid "Kind of interface"
msgstr "Arayüz türü"
-#: netbox/dcim/filtersets.py:1609 netbox/virtualization/filtersets.py:289
+#: netbox/dcim/filtersets.py:1620 netbox/virtualization/filtersets.py:289
msgid "Parent interface (ID)"
msgstr "Ebeveyn arabirimi (ID)"
-#: netbox/dcim/filtersets.py:1614 netbox/virtualization/filtersets.py:294
+#: netbox/dcim/filtersets.py:1625 netbox/virtualization/filtersets.py:294
msgid "Bridged interface (ID)"
msgstr "Köprülü arayüz (ID)"
-#: netbox/dcim/filtersets.py:1619
+#: netbox/dcim/filtersets.py:1630
msgid "LAG interface (ID)"
msgstr "LAG arabirimi (ID)"
-#: netbox/dcim/filtersets.py:1646 netbox/dcim/filtersets.py:1658
-#: netbox/dcim/forms/filtersets.py:1251 netbox/dcim/forms/model_forms.py:1637
+#: netbox/dcim/filtersets.py:1657 netbox/dcim/filtersets.py:1669
+#: netbox/dcim/forms/filtersets.py:1263 netbox/dcim/forms/model_forms.py:1637
#: netbox/templates/dcim/virtualdevicecontext.html:15
msgid "Virtual Device Context"
-msgstr "Sanal Aygıt Bağlamı"
-
-#: netbox/dcim/filtersets.py:1652
-msgid "Virtual Device Context (Identifier)"
-msgstr "Sanal Aygıt Bağlamı (Tanımlayıcı)"
+msgstr "Sanal Cihaz Bağlamı"
#: netbox/dcim/filtersets.py:1663
+msgid "Virtual Device Context (Identifier)"
+msgstr "Sanal Cihaz Bağlamı (Tanımlayıcı)"
+
+#: netbox/dcim/filtersets.py:1674
#: netbox/templates/wireless/wirelesslan.html:11
#: netbox/wireless/forms/model_forms.py:53
msgid "Wireless LAN"
msgstr "Kablosuz LAN"
-#: netbox/dcim/filtersets.py:1667 netbox/dcim/tables/devices.py:597
+#: netbox/dcim/filtersets.py:1678 netbox/dcim/tables/devices.py:597
msgid "Wireless link"
msgstr "Kablosuz bağlantı"
-#: netbox/dcim/filtersets.py:1737
+#: netbox/dcim/filtersets.py:1748
msgid "Installed module (ID)"
msgstr "Yüklü modül (ID)"
-#: netbox/dcim/filtersets.py:1748
+#: netbox/dcim/filtersets.py:1759
msgid "Installed device (ID)"
msgstr "Yüklü cihaz (ID)"
-#: netbox/dcim/filtersets.py:1754
+#: netbox/dcim/filtersets.py:1765
msgid "Installed device (name)"
msgstr "Yüklü cihaz (isim)"
-#: netbox/dcim/filtersets.py:1820
+#: netbox/dcim/filtersets.py:1831
msgid "Master (ID)"
msgstr "Master (ID)"
-#: netbox/dcim/filtersets.py:1826
+#: netbox/dcim/filtersets.py:1837
msgid "Master (name)"
msgstr "Master (isim)"
-#: netbox/dcim/filtersets.py:1868 netbox/tenancy/filtersets.py:246
+#: netbox/dcim/filtersets.py:1879 netbox/tenancy/filtersets.py:246
msgid "Tenant (ID)"
msgstr "Kiracı (ID)"
-#: netbox/dcim/filtersets.py:1874 netbox/extras/filtersets.py:570
+#: netbox/dcim/filtersets.py:1885 netbox/extras/filtersets.py:570
#: netbox/tenancy/filtersets.py:252
msgid "Tenant (slug)"
msgstr "Kiracı (kısa ad)"
-#: netbox/dcim/filtersets.py:1910 netbox/dcim/forms/filtersets.py:996
+#: netbox/dcim/filtersets.py:1921 netbox/dcim/forms/filtersets.py:1008
msgid "Unterminated"
msgstr "Sonlandırılmamış"
-#: netbox/dcim/filtersets.py:2168
+#: netbox/dcim/filtersets.py:2179
msgid "Power panel (ID)"
msgstr "Güç paneli (ID)"
@@ -2989,12 +2993,12 @@ msgstr "Güç paneli (ID)"
msgid "Tags"
msgstr "Etiketler"
-#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1396
+#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1408
#: netbox/dcim/forms/model_forms.py:431 netbox/dcim/forms/model_forms.py:489
#: netbox/dcim/forms/object_create.py:197
#: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:162
#: netbox/dcim/tables/devices.py:690 netbox/dcim/tables/devicetypes.py:242
-#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:130
+#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131
#: netbox/templates/dcim/modulebay.html:34
#: netbox/templates/dcim/virtualchassis.html:66
#: netbox/templates/dcim/virtualchassis_edit.html:55
@@ -3068,9 +3072,9 @@ msgid "Time zone"
msgstr "Saat dilimi"
#: netbox/dcim/forms/bulk_edit.py:267 netbox/dcim/forms/bulk_edit.py:1160
-#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:207
-#: netbox/dcim/forms/bulk_import.py:1021 netbox/dcim/forms/filtersets.py:300
-#: netbox/dcim/forms/filtersets.py:706 netbox/dcim/forms/filtersets.py:1426
+#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:204
+#: netbox/dcim/forms/bulk_import.py:1015 netbox/dcim/forms/filtersets.py:301
+#: netbox/dcim/forms/filtersets.py:708 netbox/dcim/forms/filtersets.py:1438
#: netbox/dcim/forms/model_forms.py:219 netbox/dcim/forms/model_forms.py:1018
#: netbox/dcim/forms/model_forms.py:1457
#: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:166
@@ -3087,7 +3091,7 @@ msgstr "Saat dilimi"
#: netbox/ipam/forms/model_forms.py:689 netbox/ipam/tables/ip.py:257
#: netbox/ipam/tables/ip.py:313 netbox/ipam/tables/ip.py:363
#: netbox/ipam/tables/vlans.py:126 netbox/ipam/tables/vlans.py:230
-#: netbox/templates/dcim/device.html:180
+#: netbox/templates/dcim/device.html:182
#: netbox/templates/dcim/inc/panels/inventory_items.html:20
#: netbox/templates/dcim/interface.html:223
#: netbox/templates/dcim/inventoryitem.html:36
@@ -3119,14 +3123,14 @@ msgstr "Rol"
msgid "Serial Number"
msgstr "Seri Numarası"
-#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:307
-#: netbox/dcim/forms/filtersets.py:742 netbox/dcim/forms/filtersets.py:886
-#: netbox/dcim/forms/filtersets.py:1438
+#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:308
+#: netbox/dcim/forms/filtersets.py:744 netbox/dcim/forms/filtersets.py:898
+#: netbox/dcim/forms/filtersets.py:1450
msgid "Asset tag"
msgstr "Varlık etiketi"
-#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:220
-#: netbox/dcim/forms/filtersets.py:292 netbox/templates/dcim/rack.html:86
+#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:217
+#: netbox/dcim/forms/filtersets.py:293 netbox/templates/dcim/rack.html:86
msgid "Width"
msgstr "Genişlik"
@@ -3146,7 +3150,7 @@ msgstr "Dış genişlik"
msgid "Outer depth"
msgstr "Dış derinlik"
-#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:225
+#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:222
msgid "Outer unit"
msgstr "Dış ünite"
@@ -3157,18 +3161,18 @@ msgstr "Montaj derinliği"
#: netbox/dcim/forms/bulk_edit.py:321 netbox/dcim/forms/bulk_edit.py:351
#: netbox/dcim/forms/bulk_edit.py:436 netbox/dcim/forms/bulk_edit.py:459
#: netbox/dcim/forms/bulk_edit.py:475 netbox/dcim/forms/bulk_edit.py:495
-#: netbox/dcim/forms/bulk_import.py:332 netbox/dcim/forms/bulk_import.py:358
-#: netbox/dcim/forms/filtersets.py:251 netbox/dcim/forms/filtersets.py:312
-#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:423
-#: netbox/dcim/forms/filtersets.py:529 netbox/dcim/forms/filtersets.py:548
-#: netbox/dcim/forms/filtersets.py:604 netbox/dcim/forms/model_forms.py:232
+#: netbox/dcim/forms/bulk_import.py:329 netbox/dcim/forms/bulk_import.py:355
+#: netbox/dcim/forms/filtersets.py:252 netbox/dcim/forms/filtersets.py:313
+#: netbox/dcim/forms/filtersets.py:337 netbox/dcim/forms/filtersets.py:424
+#: netbox/dcim/forms/filtersets.py:530 netbox/dcim/forms/filtersets.py:549
+#: netbox/dcim/forms/filtersets.py:605 netbox/dcim/forms/model_forms.py:232
#: netbox/dcim/forms/model_forms.py:346 netbox/dcim/tables/devicetypes.py:103
#: netbox/dcim/tables/modules.py:35 netbox/dcim/tables/racks.py:103
#: netbox/extras/forms/bulk_edit.py:45 netbox/extras/forms/bulk_edit.py:108
#: netbox/extras/forms/bulk_edit.py:158 netbox/extras/forms/bulk_edit.py:278
#: netbox/extras/forms/filtersets.py:61 netbox/extras/forms/filtersets.py:134
#: netbox/extras/forms/filtersets.py:221 netbox/ipam/forms/bulk_edit.py:188
-#: netbox/templates/dcim/device.html:317
+#: netbox/templates/dcim/device.html:324
#: netbox/templates/dcim/devicetype.html:49
#: netbox/templates/dcim/moduletype.html:30
#: netbox/templates/extras/configcontext.html:17
@@ -3178,25 +3182,25 @@ msgstr "Montaj derinliği"
msgid "Weight"
msgstr "Ağırlığı"
-#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:317
+#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:318
msgid "Max weight"
msgstr "Maksimum ağırlık"
#: netbox/dcim/forms/bulk_edit.py:331 netbox/dcim/forms/bulk_edit.py:441
-#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:231
-#: netbox/dcim/forms/bulk_import.py:337 netbox/dcim/forms/bulk_import.py:363
-#: netbox/dcim/forms/filtersets.py:322 netbox/dcim/forms/filtersets.py:533
-#: netbox/dcim/forms/filtersets.py:608
+#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:228
+#: netbox/dcim/forms/bulk_import.py:334 netbox/dcim/forms/bulk_import.py:360
+#: netbox/dcim/forms/filtersets.py:323 netbox/dcim/forms/filtersets.py:534
+#: netbox/dcim/forms/filtersets.py:609
msgid "Weight unit"
msgstr "Ağırlık birimi"
#: netbox/dcim/forms/bulk_edit.py:345 netbox/dcim/forms/bulk_edit.py:808
-#: netbox/dcim/forms/bulk_import.py:270 netbox/dcim/forms/bulk_import.py:273
-#: netbox/dcim/forms/bulk_import.py:498 netbox/dcim/forms/bulk_import.py:1309
-#: netbox/dcim/forms/bulk_import.py:1313 netbox/dcim/forms/filtersets.py:102
-#: netbox/dcim/forms/filtersets.py:340 netbox/dcim/forms/filtersets.py:354
-#: netbox/dcim/forms/filtersets.py:392 netbox/dcim/forms/filtersets.py:701
-#: netbox/dcim/forms/filtersets.py:954 netbox/dcim/forms/filtersets.py:1086
+#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:270
+#: netbox/dcim/forms/bulk_import.py:492 netbox/dcim/forms/bulk_import.py:1297
+#: netbox/dcim/forms/bulk_import.py:1301 netbox/dcim/forms/filtersets.py:103
+#: netbox/dcim/forms/filtersets.py:341 netbox/dcim/forms/filtersets.py:355
+#: netbox/dcim/forms/filtersets.py:393 netbox/dcim/forms/filtersets.py:703
+#: netbox/dcim/forms/filtersets.py:966 netbox/dcim/forms/filtersets.py:1098
#: netbox/dcim/forms/model_forms.py:226 netbox/dcim/forms/model_forms.py:248
#: netbox/dcim/forms/model_forms.py:422 netbox/dcim/forms/model_forms.py:703
#: netbox/dcim/forms/object_create.py:400 netbox/dcim/tables/devices.py:158
@@ -3213,9 +3217,9 @@ msgid "Rack"
msgstr "Raf"
#: netbox/dcim/forms/bulk_edit.py:349 netbox/dcim/forms/bulk_edit.py:628
-#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333
-#: netbox/dcim/forms/filtersets.py:416 netbox/dcim/forms/filtersets.py:543
-#: netbox/dcim/forms/filtersets.py:651 netbox/dcim/forms/filtersets.py:861
+#: netbox/dcim/forms/filtersets.py:249 netbox/dcim/forms/filtersets.py:334
+#: netbox/dcim/forms/filtersets.py:417 netbox/dcim/forms/filtersets.py:544
+#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:873
#: netbox/dcim/forms/model_forms.py:613 netbox/dcim/forms/model_forms.py:1527
#: netbox/templates/dcim/device_edit.html:20
msgid "Hardware"
@@ -3224,12 +3228,12 @@ msgstr "Donanım"
#: netbox/dcim/forms/bulk_edit.py:402 netbox/dcim/forms/bulk_edit.py:466
#: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/forms/bulk_edit.py:554
#: netbox/dcim/forms/bulk_edit.py:638 netbox/dcim/forms/bulk_edit.py:1165
-#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:319
-#: netbox/dcim/forms/bulk_import.py:353 netbox/dcim/forms/bulk_import.py:395
-#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/bulk_import.py:1027
-#: netbox/dcim/forms/filtersets.py:429 netbox/dcim/forms/filtersets.py:554
-#: netbox/dcim/forms/filtersets.py:630 netbox/dcim/forms/filtersets.py:711
-#: netbox/dcim/forms/filtersets.py:866 netbox/dcim/forms/filtersets.py:1431
+#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:316
+#: netbox/dcim/forms/bulk_import.py:350 netbox/dcim/forms/bulk_import.py:389
+#: netbox/dcim/forms/bulk_import.py:425 netbox/dcim/forms/bulk_import.py:1021
+#: netbox/dcim/forms/filtersets.py:430 netbox/dcim/forms/filtersets.py:555
+#: netbox/dcim/forms/filtersets.py:631 netbox/dcim/forms/filtersets.py:713
+#: netbox/dcim/forms/filtersets.py:878 netbox/dcim/forms/filtersets.py:1443
#: netbox/dcim/forms/model_forms.py:281 netbox/dcim/forms/model_forms.py:293
#: netbox/dcim/forms/model_forms.py:339 netbox/dcim/forms/model_forms.py:379
#: netbox/dcim/forms/model_forms.py:1023 netbox/dcim/forms/model_forms.py:1462
@@ -3246,13 +3250,13 @@ msgstr "Donanım"
msgid "Manufacturer"
msgstr "Üretici"
-#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:325
-#: netbox/dcim/forms/filtersets.py:434 netbox/dcim/forms/model_forms.py:297
+#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:322
+#: netbox/dcim/forms/filtersets.py:435 netbox/dcim/forms/model_forms.py:297
msgid "Default platform"
msgstr "Varsayılan platform"
#: netbox/dcim/forms/bulk_edit.py:412 netbox/dcim/forms/bulk_edit.py:471
-#: netbox/dcim/forms/filtersets.py:437 netbox/dcim/forms/filtersets.py:557
+#: netbox/dcim/forms/filtersets.py:438 netbox/dcim/forms/filtersets.py:558
msgid "Part number"
msgstr "Parça numarası"
@@ -3265,8 +3269,8 @@ msgid "Exclude from utilization"
msgstr "Kullanımdan hariç tut"
#: netbox/dcim/forms/bulk_edit.py:431 netbox/dcim/forms/bulk_edit.py:603
-#: netbox/dcim/forms/bulk_import.py:525 netbox/dcim/forms/filtersets.py:446
-#: netbox/dcim/forms/filtersets.py:733 netbox/templates/dcim/device.html:98
+#: netbox/dcim/forms/bulk_import.py:519 netbox/dcim/forms/filtersets.py:447
+#: netbox/dcim/forms/filtersets.py:735 netbox/templates/dcim/device.html:98
#: netbox/templates/dcim/devicetype.html:65
msgid "Airflow"
msgstr "Hava akışı"
@@ -3276,7 +3280,7 @@ msgstr "Hava akışı"
#: netbox/templates/dcim/devicebay.html:52
#: netbox/templates/dcim/module.html:58
msgid "Device Type"
-msgstr "Aygıt Türü"
+msgstr "Cihaz Türü"
#: netbox/dcim/forms/bulk_edit.py:494 netbox/dcim/forms/model_forms.py:345
#: netbox/dcim/tables/modules.py:17 netbox/dcim/tables/modules.py:65
@@ -3291,11 +3295,11 @@ msgid "VM role"
msgstr "VM rolü"
#: netbox/dcim/forms/bulk_edit.py:511 netbox/dcim/forms/bulk_edit.py:535
-#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:376
-#: netbox/dcim/forms/bulk_import.py:380 netbox/dcim/forms/bulk_import.py:402
-#: netbox/dcim/forms/bulk_import.py:406 netbox/dcim/forms/bulk_import.py:531
-#: netbox/dcim/forms/bulk_import.py:535 netbox/dcim/forms/filtersets.py:619
-#: netbox/dcim/forms/filtersets.py:635 netbox/dcim/forms/filtersets.py:752
+#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:373
+#: netbox/dcim/forms/bulk_import.py:377 netbox/dcim/forms/bulk_import.py:396
+#: netbox/dcim/forms/bulk_import.py:400 netbox/dcim/forms/bulk_import.py:525
+#: netbox/dcim/forms/bulk_import.py:529 netbox/dcim/forms/filtersets.py:620
+#: netbox/dcim/forms/filtersets.py:636 netbox/dcim/forms/filtersets.py:754
#: netbox/dcim/forms/model_forms.py:358 netbox/dcim/forms/model_forms.py:384
#: netbox/dcim/forms/model_forms.py:498
#: netbox/virtualization/forms/bulk_import.py:132
@@ -3306,21 +3310,21 @@ msgid "Config template"
msgstr "Yapılandırma şablonu"
#: netbox/dcim/forms/bulk_edit.py:559 netbox/dcim/forms/bulk_edit.py:959
-#: netbox/dcim/forms/bulk_import.py:437 netbox/dcim/forms/filtersets.py:112
+#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/filtersets.py:113
#: netbox/dcim/forms/model_forms.py:444 netbox/dcim/forms/model_forms.py:820
#: netbox/dcim/forms/model_forms.py:837 netbox/extras/filtersets.py:499
msgid "Device type"
-msgstr "Aygıt tipi"
+msgstr "Cihaz tipi"
-#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:418
-#: netbox/dcim/forms/filtersets.py:117 netbox/dcim/forms/model_forms.py:452
+#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:412
+#: netbox/dcim/forms/filtersets.py:118 netbox/dcim/forms/model_forms.py:452
msgid "Device role"
-msgstr "Aygıt rolü"
+msgstr "Cihaz rolü"
-#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:443
-#: netbox/dcim/forms/filtersets.py:725 netbox/dcim/forms/model_forms.py:394
+#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:437
+#: netbox/dcim/forms/filtersets.py:727 netbox/dcim/forms/model_forms.py:394
#: netbox/dcim/forms/model_forms.py:456 netbox/dcim/tables/devices.py:179
-#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:184
+#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:186
#: netbox/templates/dcim/platform.html:26
#: netbox/templates/virtualization/virtualmachine.html:27
#: netbox/virtualization/forms/bulk_edit.py:160
@@ -3333,21 +3337,21 @@ msgstr "Platform"
#: netbox/dcim/forms/bulk_edit.py:626 netbox/dcim/forms/bulk_edit.py:1179
#: netbox/dcim/forms/bulk_edit.py:1543 netbox/dcim/forms/bulk_edit.py:1589
-#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/bulk_import.py:648
-#: netbox/dcim/forms/bulk_import.py:674 netbox/dcim/forms/bulk_import.py:700
-#: netbox/dcim/forms/bulk_import.py:720 netbox/dcim/forms/bulk_import.py:773
-#: netbox/dcim/forms/bulk_import.py:891 netbox/dcim/forms/bulk_import.py:939
-#: netbox/dcim/forms/bulk_import.py:956 netbox/dcim/forms/bulk_import.py:968
-#: netbox/dcim/forms/bulk_import.py:1016 netbox/dcim/forms/bulk_import.py:1373
-#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:129
-#: netbox/dcim/forms/filtersets.py:840 netbox/dcim/forms/filtersets.py:970
-#: netbox/dcim/forms/filtersets.py:1160 netbox/dcim/forms/filtersets.py:1182
-#: netbox/dcim/forms/filtersets.py:1204 netbox/dcim/forms/filtersets.py:1221
-#: netbox/dcim/forms/filtersets.py:1241 netbox/dcim/forms/filtersets.py:1349
-#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392
-#: netbox/dcim/forms/filtersets.py:1407 netbox/dcim/forms/filtersets.py:1421
-#: netbox/dcim/forms/filtersets.py:1484 netbox/dcim/forms/filtersets.py:1508
-#: netbox/dcim/forms/filtersets.py:1532 netbox/dcim/forms/model_forms.py:576
+#: netbox/dcim/forms/bulk_import.py:580 netbox/dcim/forms/bulk_import.py:642
+#: netbox/dcim/forms/bulk_import.py:668 netbox/dcim/forms/bulk_import.py:694
+#: netbox/dcim/forms/bulk_import.py:714 netbox/dcim/forms/bulk_import.py:767
+#: netbox/dcim/forms/bulk_import.py:885 netbox/dcim/forms/bulk_import.py:933
+#: netbox/dcim/forms/bulk_import.py:950 netbox/dcim/forms/bulk_import.py:962
+#: netbox/dcim/forms/bulk_import.py:1010 netbox/dcim/forms/bulk_import.py:1361
+#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:130
+#: netbox/dcim/forms/filtersets.py:852 netbox/dcim/forms/filtersets.py:982
+#: netbox/dcim/forms/filtersets.py:1172 netbox/dcim/forms/filtersets.py:1194
+#: netbox/dcim/forms/filtersets.py:1216 netbox/dcim/forms/filtersets.py:1233
+#: netbox/dcim/forms/filtersets.py:1253 netbox/dcim/forms/filtersets.py:1361
+#: netbox/dcim/forms/filtersets.py:1383 netbox/dcim/forms/filtersets.py:1404
+#: netbox/dcim/forms/filtersets.py:1419 netbox/dcim/forms/filtersets.py:1433
+#: netbox/dcim/forms/filtersets.py:1496 netbox/dcim/forms/filtersets.py:1520
+#: netbox/dcim/forms/filtersets.py:1544 netbox/dcim/forms/model_forms.py:576
#: netbox/dcim/forms/model_forms.py:797 netbox/dcim/forms/model_forms.py:1156
#: netbox/dcim/forms/model_forms.py:1611
#: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22
@@ -3365,7 +3369,7 @@ msgstr "Platform"
#: netbox/ipam/forms/model_forms.py:784 netbox/ipam/tables/vlans.py:176
#: netbox/templates/dcim/consoleport.html:20
#: netbox/templates/dcim/consoleserverport.html:20
-#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:129
+#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:130
#: netbox/templates/dcim/device_edit.html:10
#: netbox/templates/dcim/devicebay.html:20
#: netbox/templates/dcim/devicebay.html:48
@@ -3397,7 +3401,7 @@ msgstr "Platform"
#: netbox/wireless/forms/model_forms.py:141
#: netbox/wireless/tables/wirelesslan.py:75
msgid "Device"
-msgstr "Aygıt"
+msgstr "Cihaz"
#: netbox/dcim/forms/bulk_edit.py:629
#: netbox/templates/extras/dashboard/widget_config.html:7
@@ -3405,7 +3409,7 @@ msgstr "Aygıt"
msgid "Configuration"
msgstr "Yapılandırma"
-#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:598
+#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:592
#: netbox/dcim/forms/model_forms.py:590 netbox/dcim/forms/model_forms.py:845
msgid "Module type"
msgstr "Modül tipi"
@@ -3415,7 +3419,7 @@ msgstr "Modül tipi"
#: netbox/dcim/forms/bulk_edit.py:966 netbox/dcim/forms/bulk_edit.py:1010
#: netbox/dcim/forms/bulk_edit.py:1061 netbox/dcim/forms/bulk_edit.py:1088
#: netbox/dcim/forms/bulk_edit.py:1115 netbox/dcim/forms/bulk_edit.py:1133
-#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:65
+#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:66
#: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32
#: netbox/templates/dcim/consoleport.html:32
#: netbox/templates/dcim/consoleserverport.html:32
@@ -3433,13 +3437,13 @@ msgstr "Modül tipi"
msgid "Label"
msgstr "etiket"
-#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:987
+#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:999
#: netbox/templates/dcim/cable.html:50
msgid "Length"
msgstr "Uzunluk"
-#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1174
-#: netbox/dcim/forms/bulk_import.py:1177 netbox/dcim/forms/filtersets.py:991
+#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1165
+#: netbox/dcim/forms/bulk_import.py:1168 netbox/dcim/forms/filtersets.py:1003
msgid "Length unit"
msgstr "Uzunluk birimi"
@@ -3448,34 +3452,34 @@ msgstr "Uzunluk birimi"
msgid "Domain"
msgstr "Alan adı"
-#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1296
-#: netbox/dcim/forms/filtersets.py:1077 netbox/dcim/forms/model_forms.py:698
+#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1284
+#: netbox/dcim/forms/filtersets.py:1089 netbox/dcim/forms/model_forms.py:698
msgid "Power panel"
msgstr "Güç paneli"
-#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1332
-#: netbox/dcim/forms/filtersets.py:1099
+#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1320
+#: netbox/dcim/forms/filtersets.py:1111
#: netbox/templates/dcim/powerfeed.html:83
msgid "Supply"
msgstr "Tedarik"
-#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1337
-#: netbox/dcim/forms/filtersets.py:1104
+#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1325
+#: netbox/dcim/forms/filtersets.py:1116
#: netbox/templates/dcim/powerfeed.html:95
msgid "Phase"
msgstr "Faz"
-#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1109
+#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1121
#: netbox/templates/dcim/powerfeed.html:87
msgid "Voltage"
msgstr "Gerilim"
-#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1113
+#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1125
#: netbox/templates/dcim/powerfeed.html:91
msgid "Amperage"
msgstr "Amper"
-#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1117
+#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1129
msgid "Max utilization"
msgstr "Maksimum kullanım"
@@ -3499,13 +3503,13 @@ msgstr "Tahsis edilen çekiliş"
msgid "Allocated power draw (watts)"
msgstr "Tahsis edilen güç çekimi (watt)"
-#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:731
+#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:725
#: netbox/dcim/forms/model_forms.py:901 netbox/dcim/forms/model_forms.py:1226
#: netbox/dcim/forms/model_forms.py:1514 netbox/dcim/forms/object_import.py:55
msgid "Power port"
msgstr "Güç bağlantı noktası"
-#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:738
+#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:732
msgid "Feed leg"
msgstr "Besleme bacağı"
@@ -3514,7 +3518,7 @@ msgid "Management only"
msgstr "Yalnızca yönetim"
#: netbox/dcim/forms/bulk_edit.py:1037 netbox/dcim/forms/bulk_edit.py:1339
-#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1300
+#: netbox/dcim/forms/bulk_import.py:815 netbox/dcim/forms/filtersets.py:1312
#: netbox/dcim/forms/object_import.py:90
#: netbox/dcim/models/device_component_templates.py:411
#: netbox/dcim/models/device_components.py:671
@@ -3522,14 +3526,14 @@ msgid "PoE mode"
msgstr "PoE modu"
#: netbox/dcim/forms/bulk_edit.py:1043 netbox/dcim/forms/bulk_edit.py:1345
-#: netbox/dcim/forms/bulk_import.py:827 netbox/dcim/forms/filtersets.py:1305
+#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1317
#: netbox/dcim/forms/object_import.py:95
#: netbox/dcim/models/device_component_templates.py:417
#: netbox/dcim/models/device_components.py:677
msgid "PoE type"
msgstr "PoE tipi"
-#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1310
+#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1322
#: netbox/dcim/forms/object_import.py:100
msgid "Wireless role"
msgstr "Kablosuz rolü"
@@ -3557,9 +3561,9 @@ msgstr "GECİKME"
msgid "Virtual device contexts"
msgstr "Sanal cihaz bağlamları"
-#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:659
-#: netbox/dcim/forms/bulk_import.py:685 netbox/dcim/forms/filtersets.py:1169
-#: netbox/dcim/forms/filtersets.py:1191 netbox/dcim/forms/filtersets.py:1264
+#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:653
+#: netbox/dcim/forms/bulk_import.py:679 netbox/dcim/forms/filtersets.py:1181
+#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1276
#: netbox/dcim/tables/devices.py:594
#: netbox/templates/circuits/inc/circuit_termination_fields.html:67
#: netbox/templates/dcim/consoleport.html:40
@@ -3567,7 +3571,7 @@ msgstr "Sanal cihaz bağlamları"
msgid "Speed"
msgstr "Hız"
-#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:830
+#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:824
#: netbox/templates/vpn/ikepolicy.html:25
#: netbox/templates/vpn/ipsecprofile.html:21
#: netbox/templates/vpn/ipsecprofile.html:48
@@ -3613,7 +3617,7 @@ msgstr "Kablosuz LAN grubu"
msgid "Wireless LANs"
msgstr "Kablosuz LAN'lar"
-#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1237
+#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1249
#: netbox/dcim/forms/model_forms.py:1337 netbox/ipam/forms/bulk_edit.py:271
#: netbox/ipam/forms/bulk_edit.py:362 netbox/ipam/forms/filtersets.py:169
#: netbox/templates/dcim/interface.html:122
@@ -3622,13 +3626,13 @@ msgstr "Kablosuz LAN'lar"
msgid "Addressing"
msgstr "Adresleme"
-#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:650
+#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:651
#: netbox/dcim/forms/model_forms.py:1338
#: netbox/virtualization/forms/model_forms.py:350
msgid "Operation"
msgstr "Operasyon"
-#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1238
+#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1250
#: netbox/dcim/forms/model_forms.py:935 netbox/dcim/forms/model_forms.py:1340
msgid "PoE"
msgstr "PoE"
@@ -3676,8 +3680,8 @@ msgstr "Atanan grup"
msgid "available options"
msgstr "mevcut seçenekler"
-#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:488
-#: netbox/dcim/forms/bulk_import.py:1293 netbox/ipam/forms/bulk_import.py:174
+#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:482
+#: netbox/dcim/forms/bulk_import.py:1281 netbox/ipam/forms/bulk_import.py:174
#: netbox/ipam/forms/bulk_import.py:441
#: netbox/virtualization/forms/bulk_import.py:63
#: netbox/virtualization/forms/bulk_import.py:89
@@ -3692,105 +3696,106 @@ msgstr "Ana konum"
msgid "Location not found."
msgstr "Konum bulunamadı."
-#: netbox/dcim/forms/bulk_import.py:199
+#: netbox/dcim/forms/bulk_import.py:196
msgid "Name of assigned tenant"
msgstr "Atanan kiracının adı"
-#: netbox/dcim/forms/bulk_import.py:211
+#: netbox/dcim/forms/bulk_import.py:208
msgid "Name of assigned role"
msgstr "Atanan rolün adı"
-#: netbox/dcim/forms/bulk_import.py:217
+#: netbox/dcim/forms/bulk_import.py:214
msgid "Rack type"
msgstr "Raf tipi"
-#: netbox/dcim/forms/bulk_import.py:222
+#: netbox/dcim/forms/bulk_import.py:219
msgid "Rail-to-rail width (in inches)"
msgstr "Ray-ray genişliği (inç cinsinden)"
-#: netbox/dcim/forms/bulk_import.py:228
+#: netbox/dcim/forms/bulk_import.py:225
msgid "Unit for outer dimensions"
msgstr "Dış boyutlar için birim"
-#: netbox/dcim/forms/bulk_import.py:234
+#: netbox/dcim/forms/bulk_import.py:231
msgid "Unit for rack weights"
msgstr "Raf ağırlıkları için ünite"
-#: netbox/dcim/forms/bulk_import.py:260
+#: netbox/dcim/forms/bulk_import.py:257
msgid "Parent site"
msgstr "Ana site"
-#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:1306
+#: netbox/dcim/forms/bulk_import.py:264 netbox/dcim/forms/bulk_import.py:1294
msgid "Rack's location (if any)"
msgstr "Rafın konumu (varsa)"
-#: netbox/dcim/forms/bulk_import.py:276 netbox/dcim/forms/model_forms.py:253
+#: netbox/dcim/forms/bulk_import.py:273 netbox/dcim/forms/model_forms.py:253
#: netbox/dcim/tables/racks.py:153
#: netbox/templates/dcim/rackreservation.html:12
#: netbox/templates/dcim/rackreservation.html:45
msgid "Units"
msgstr "Birimler"
-#: netbox/dcim/forms/bulk_import.py:279
+#: netbox/dcim/forms/bulk_import.py:276
msgid "Comma-separated list of individual unit numbers"
msgstr "Bireysel birim numaralarının virgülle ayrılmış listesi"
-#: netbox/dcim/forms/bulk_import.py:322
+#: netbox/dcim/forms/bulk_import.py:319
msgid "The manufacturer which produces this device type"
msgstr "Bu cihaz tipini üreten üretici"
-#: netbox/dcim/forms/bulk_import.py:329
+#: netbox/dcim/forms/bulk_import.py:326
msgid "The default platform for devices of this type (optional)"
msgstr "Bu tür cihazlar için varsayılan platform (isteğe bağlı)"
-#: netbox/dcim/forms/bulk_import.py:334
+#: netbox/dcim/forms/bulk_import.py:331
msgid "Device weight"
-msgstr "Aygıt ağırlığı"
+msgstr "Cihaz ağırlığı"
-#: netbox/dcim/forms/bulk_import.py:340
+#: netbox/dcim/forms/bulk_import.py:337
msgid "Unit for device weight"
-msgstr "Aygıt ağırlığı için birim"
+msgstr "Cihaz ağırlığı için birim"
-#: netbox/dcim/forms/bulk_import.py:360
+#: netbox/dcim/forms/bulk_import.py:357
msgid "Module weight"
msgstr "Modül ağırlığı"
-#: netbox/dcim/forms/bulk_import.py:366
+#: netbox/dcim/forms/bulk_import.py:363
msgid "Unit for module weight"
msgstr "Modül ağırlığı için birim"
-#: netbox/dcim/forms/bulk_import.py:399
+#: netbox/dcim/forms/bulk_import.py:393
msgid "Limit platform assignments to this manufacturer"
msgstr "Platform atamalarını bu üreticiye sınırlayın"
-#: netbox/dcim/forms/bulk_import.py:421 netbox/dcim/forms/bulk_import.py:1376
+#: netbox/dcim/forms/bulk_import.py:415 netbox/dcim/forms/bulk_import.py:1364
#: netbox/tenancy/forms/bulk_import.py:106
msgid "Assigned role"
msgstr "Atanan rol"
-#: netbox/dcim/forms/bulk_import.py:434
+#: netbox/dcim/forms/bulk_import.py:428
msgid "Device type manufacturer"
-msgstr "Aygıt tipi üreticisi"
+msgstr "Cihaz tipi üreticisi"
-#: netbox/dcim/forms/bulk_import.py:440
+#: netbox/dcim/forms/bulk_import.py:434
msgid "Device type model"
-msgstr "Aygıt tipi modeli"
+msgstr "Cihaz tipi modeli"
-#: netbox/dcim/forms/bulk_import.py:447
+#: netbox/dcim/forms/bulk_import.py:441
#: netbox/virtualization/forms/bulk_import.py:126
msgid "Assigned platform"
msgstr "Atanan platform"
-#: netbox/dcim/forms/bulk_import.py:455 netbox/dcim/forms/bulk_import.py:459
+#: netbox/dcim/forms/bulk_import.py:449 netbox/dcim/forms/bulk_import.py:453
#: netbox/dcim/forms/model_forms.py:479
msgid "Virtual chassis"
msgstr "Sanal şasi"
-#: netbox/dcim/forms/bulk_import.py:462 netbox/dcim/forms/model_forms.py:465
+#: netbox/dcim/forms/bulk_import.py:456 netbox/dcim/forms/filtersets.py:659
+#: netbox/dcim/forms/filtersets.py:829 netbox/dcim/forms/model_forms.py:465
#: netbox/dcim/tables/devices.py:199 netbox/extras/filtersets.py:548
#: netbox/extras/forms/filtersets.py:331 netbox/ipam/forms/bulk_edit.py:479
#: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:459
-#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:232
+#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:239
#: netbox/templates/virtualization/cluster.html:10
#: netbox/templates/virtualization/virtualmachine.html:88
#: netbox/templates/virtualization/virtualmachine.html:97
@@ -3807,63 +3812,63 @@ msgstr "Sanal şasi"
msgid "Cluster"
msgstr "Küme"
-#: netbox/dcim/forms/bulk_import.py:466
+#: netbox/dcim/forms/bulk_import.py:460
msgid "Virtualization cluster"
msgstr "Sanallaştırma kümesi"
-#: netbox/dcim/forms/bulk_import.py:495
+#: netbox/dcim/forms/bulk_import.py:489
msgid "Assigned location (if any)"
msgstr "Atanan konum (varsa)"
-#: netbox/dcim/forms/bulk_import.py:502
+#: netbox/dcim/forms/bulk_import.py:496
msgid "Assigned rack (if any)"
msgstr "Atanmış raf (varsa)"
-#: netbox/dcim/forms/bulk_import.py:505
+#: netbox/dcim/forms/bulk_import.py:499
msgid "Face"
msgstr "Yüz"
-#: netbox/dcim/forms/bulk_import.py:508
+#: netbox/dcim/forms/bulk_import.py:502
msgid "Mounted rack face"
msgstr "Monte edilmiş raf yüzü"
-#: netbox/dcim/forms/bulk_import.py:515
+#: netbox/dcim/forms/bulk_import.py:509
msgid "Parent device (for child devices)"
-msgstr "Ana cihaz (çocuk cihazlar için)"
+msgstr "Ana cihaz (alt cihazlar için)"
-#: netbox/dcim/forms/bulk_import.py:518
+#: netbox/dcim/forms/bulk_import.py:512
msgid "Device bay"
-msgstr "Aygıt yuvası"
+msgstr "Cihaz yuvası"
+
+#: netbox/dcim/forms/bulk_import.py:516
+msgid "Device bay in which this device is installed (for child devices)"
+msgstr "Bu cihazın kurulu olduğu cihaz yuvası (alt cihazlar için)"
#: netbox/dcim/forms/bulk_import.py:522
-msgid "Device bay in which this device is installed (for child devices)"
-msgstr "Bu cihazın kurulu olduğu cihaz yuvası (çocuk cihazlar için)"
-
-#: netbox/dcim/forms/bulk_import.py:528
msgid "Airflow direction"
msgstr "Hava akışı yönü"
-#: netbox/dcim/forms/bulk_import.py:589
+#: netbox/dcim/forms/bulk_import.py:583
msgid "The device in which this module is installed"
msgstr "Bu modülün kurulu olduğu cihaz"
-#: netbox/dcim/forms/bulk_import.py:592 netbox/dcim/forms/model_forms.py:583
+#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/model_forms.py:583
msgid "Module bay"
msgstr "Modül yuvası"
-#: netbox/dcim/forms/bulk_import.py:595
+#: netbox/dcim/forms/bulk_import.py:589
msgid "The module bay in which this module is installed"
msgstr "Bu modülün kurulu olduğu modül yuvası"
-#: netbox/dcim/forms/bulk_import.py:601
+#: netbox/dcim/forms/bulk_import.py:595
msgid "The type of module"
msgstr "Modül türü"
-#: netbox/dcim/forms/bulk_import.py:609 netbox/dcim/forms/model_forms.py:599
+#: netbox/dcim/forms/bulk_import.py:603 netbox/dcim/forms/model_forms.py:599
msgid "Replicate components"
msgstr "Bileşenleri çoğaltın"
-#: netbox/dcim/forms/bulk_import.py:611
+#: netbox/dcim/forms/bulk_import.py:605
msgid ""
"Automatically populate components associated with this module type (enabled "
"by default)"
@@ -3871,87 +3876,87 @@ msgstr ""
"Bu modül türüyle ilişkili bileşenleri otomatik olarak doldurun (varsayılan "
"olarak etkindir)"
-#: netbox/dcim/forms/bulk_import.py:614 netbox/dcim/forms/model_forms.py:605
+#: netbox/dcim/forms/bulk_import.py:608 netbox/dcim/forms/model_forms.py:605
msgid "Adopt components"
msgstr "Bileşenleri benimseyin"
-#: netbox/dcim/forms/bulk_import.py:616 netbox/dcim/forms/model_forms.py:608
+#: netbox/dcim/forms/bulk_import.py:610 netbox/dcim/forms/model_forms.py:608
msgid "Adopt already existing components"
msgstr "Mevcut bileşenleri benimseyin"
-#: netbox/dcim/forms/bulk_import.py:656 netbox/dcim/forms/bulk_import.py:682
-#: netbox/dcim/forms/bulk_import.py:708
+#: netbox/dcim/forms/bulk_import.py:650 netbox/dcim/forms/bulk_import.py:676
+#: netbox/dcim/forms/bulk_import.py:702
msgid "Port type"
msgstr "Bağlantı noktası tipi"
-#: netbox/dcim/forms/bulk_import.py:664 netbox/dcim/forms/bulk_import.py:690
+#: netbox/dcim/forms/bulk_import.py:658 netbox/dcim/forms/bulk_import.py:684
msgid "Port speed in bps"
msgstr "Bps cinsinden bağlantı noktası hızı"
-#: netbox/dcim/forms/bulk_import.py:728
+#: netbox/dcim/forms/bulk_import.py:722
msgid "Outlet type"
msgstr "Çıkış tipi"
-#: netbox/dcim/forms/bulk_import.py:735
+#: netbox/dcim/forms/bulk_import.py:729
msgid "Local power port which feeds this outlet"
msgstr "Bu prizi besleyen yerel güç portu"
-#: netbox/dcim/forms/bulk_import.py:741
+#: netbox/dcim/forms/bulk_import.py:735
msgid "Electrical phase (for three-phase circuits)"
msgstr "Elektrik fazı (üç fazlı devreler için)"
-#: netbox/dcim/forms/bulk_import.py:782 netbox/dcim/forms/model_forms.py:1264
+#: netbox/dcim/forms/bulk_import.py:776 netbox/dcim/forms/model_forms.py:1264
#: netbox/virtualization/forms/bulk_import.py:155
#: netbox/virtualization/forms/model_forms.py:305
msgid "Parent interface"
msgstr "Ebeveyn arayüzü"
-#: netbox/dcim/forms/bulk_import.py:789 netbox/dcim/forms/model_forms.py:1272
+#: netbox/dcim/forms/bulk_import.py:783 netbox/dcim/forms/model_forms.py:1272
#: netbox/virtualization/forms/bulk_import.py:162
#: netbox/virtualization/forms/model_forms.py:313
msgid "Bridged interface"
msgstr "Köprülü arayüz"
-#: netbox/dcim/forms/bulk_import.py:792
+#: netbox/dcim/forms/bulk_import.py:786
msgid "Lag"
msgstr "Gecikme"
-#: netbox/dcim/forms/bulk_import.py:796
+#: netbox/dcim/forms/bulk_import.py:790
msgid "Parent LAG interface"
msgstr "Ebeveyn LAG arayüzü"
-#: netbox/dcim/forms/bulk_import.py:799
+#: netbox/dcim/forms/bulk_import.py:793
msgid "Vdcs"
msgstr "Vdcs"
-#: netbox/dcim/forms/bulk_import.py:804
+#: netbox/dcim/forms/bulk_import.py:798
msgid "VDC names separated by commas, encased with double quotes. Example:"
msgstr ""
"VDC isimleri virgülle ayrılmış, çift tırnak işareti ile çevrelenmiştir. "
"Örnek:"
-#: netbox/dcim/forms/bulk_import.py:810
+#: netbox/dcim/forms/bulk_import.py:804
msgid "Physical medium"
msgstr "Fiziksel ortam"
-#: netbox/dcim/forms/bulk_import.py:813 netbox/dcim/forms/filtersets.py:1271
+#: netbox/dcim/forms/bulk_import.py:807 netbox/dcim/forms/filtersets.py:1283
msgid "Duplex"
msgstr "Dubleks"
-#: netbox/dcim/forms/bulk_import.py:818
+#: netbox/dcim/forms/bulk_import.py:812
msgid "Poe mode"
msgstr "Poe modu"
-#: netbox/dcim/forms/bulk_import.py:824
+#: netbox/dcim/forms/bulk_import.py:818
msgid "Poe type"
msgstr "Poe tipi"
-#: netbox/dcim/forms/bulk_import.py:833
+#: netbox/dcim/forms/bulk_import.py:827
#: netbox/virtualization/forms/bulk_import.py:168
msgid "IEEE 802.1Q operational mode (for L2 interfaces)"
msgstr "IEEE 802.1Q çalışma modu (L2 arayüzleri için)"
-#: netbox/dcim/forms/bulk_import.py:840 netbox/ipam/forms/bulk_import.py:160
+#: netbox/dcim/forms/bulk_import.py:834 netbox/ipam/forms/bulk_import.py:160
#: netbox/ipam/forms/bulk_import.py:246 netbox/ipam/forms/bulk_import.py:282
#: netbox/ipam/forms/filtersets.py:201 netbox/ipam/forms/filtersets.py:277
#: netbox/ipam/forms/filtersets.py:336
@@ -3959,150 +3964,150 @@ msgstr "IEEE 802.1Q çalışma modu (L2 arayüzleri için)"
msgid "Assigned VRF"
msgstr "Atanmış VRF"
-#: netbox/dcim/forms/bulk_import.py:843
+#: netbox/dcim/forms/bulk_import.py:837
msgid "Rf role"
msgstr "Rf rolü"
-#: netbox/dcim/forms/bulk_import.py:846
+#: netbox/dcim/forms/bulk_import.py:840
msgid "Wireless role (AP/station)"
msgstr "Kablosuz rolü (AP/istasyon)"
-#: netbox/dcim/forms/bulk_import.py:882
+#: netbox/dcim/forms/bulk_import.py:876
#, python-brace-format
msgid "VDC {vdc} is not assigned to device {device}"
msgstr "VDC {vdc} cihaza atanmadı {device}"
-#: netbox/dcim/forms/bulk_import.py:896 netbox/dcim/forms/model_forms.py:948
+#: netbox/dcim/forms/bulk_import.py:890 netbox/dcim/forms/model_forms.py:948
#: netbox/dcim/forms/model_forms.py:1522
#: netbox/dcim/forms/object_import.py:117
msgid "Rear port"
msgstr "Arka bağlantı noktası"
-#: netbox/dcim/forms/bulk_import.py:899
+#: netbox/dcim/forms/bulk_import.py:893
msgid "Corresponding rear port"
msgstr "İlgili arka bağlantı noktası"
-#: netbox/dcim/forms/bulk_import.py:904 netbox/dcim/forms/bulk_import.py:945
-#: netbox/dcim/forms/bulk_import.py:1164
+#: netbox/dcim/forms/bulk_import.py:898 netbox/dcim/forms/bulk_import.py:939
+#: netbox/dcim/forms/bulk_import.py:1155
msgid "Physical medium classification"
msgstr "Fiziksel ortam sınıflandırması"
-#: netbox/dcim/forms/bulk_import.py:973 netbox/dcim/tables/devices.py:805
+#: netbox/dcim/forms/bulk_import.py:967 netbox/dcim/tables/devices.py:805
msgid "Installed device"
msgstr "Yüklü cihaz"
-#: netbox/dcim/forms/bulk_import.py:977
+#: netbox/dcim/forms/bulk_import.py:971
msgid "Child device installed within this bay"
msgstr "Bu bölmeye takılan çocuk cihazı"
-#: netbox/dcim/forms/bulk_import.py:979
+#: netbox/dcim/forms/bulk_import.py:973
msgid "Child device not found."
msgstr "Çocuk cihazı bulunamadı."
-#: netbox/dcim/forms/bulk_import.py:1037
+#: netbox/dcim/forms/bulk_import.py:1031
msgid "Parent inventory item"
msgstr "Ana envanter kalemi"
-#: netbox/dcim/forms/bulk_import.py:1040
+#: netbox/dcim/forms/bulk_import.py:1034
msgid "Component type"
msgstr "Bileşen tipi"
-#: netbox/dcim/forms/bulk_import.py:1044
+#: netbox/dcim/forms/bulk_import.py:1038
msgid "Component Type"
msgstr "Bileşen Türü"
-#: netbox/dcim/forms/bulk_import.py:1047
+#: netbox/dcim/forms/bulk_import.py:1041
msgid "Compnent name"
msgstr "Bileşen adı"
-#: netbox/dcim/forms/bulk_import.py:1049
+#: netbox/dcim/forms/bulk_import.py:1043
msgid "Component Name"
msgstr "Bileşen Adı"
-#: netbox/dcim/forms/bulk_import.py:1091
+#: netbox/dcim/forms/bulk_import.py:1085
#, python-brace-format
msgid "Component not found: {device} - {component_name}"
msgstr "Bileşen bulunamadı: {device} - {component_name}"
-#: netbox/dcim/forms/bulk_import.py:1119
+#: netbox/dcim/forms/bulk_import.py:1110
msgid "Side A device"
msgstr "A Tarafı Cihazı"
-#: netbox/dcim/forms/bulk_import.py:1122 netbox/dcim/forms/bulk_import.py:1140
+#: netbox/dcim/forms/bulk_import.py:1113 netbox/dcim/forms/bulk_import.py:1131
msgid "Device name"
-msgstr "Aygıt adı"
+msgstr "Cihaz adı"
-#: netbox/dcim/forms/bulk_import.py:1125
+#: netbox/dcim/forms/bulk_import.py:1116
msgid "Side A type"
msgstr "Taraf A tipi"
-#: netbox/dcim/forms/bulk_import.py:1128 netbox/dcim/forms/bulk_import.py:1146
+#: netbox/dcim/forms/bulk_import.py:1119 netbox/dcim/forms/bulk_import.py:1137
msgid "Termination type"
msgstr "Sonlandırma türü"
-#: netbox/dcim/forms/bulk_import.py:1131
+#: netbox/dcim/forms/bulk_import.py:1122
msgid "Side A name"
msgstr "A Tarafı adı"
-#: netbox/dcim/forms/bulk_import.py:1132 netbox/dcim/forms/bulk_import.py:1150
+#: netbox/dcim/forms/bulk_import.py:1123 netbox/dcim/forms/bulk_import.py:1141
msgid "Termination name"
msgstr "Fesih adı"
-#: netbox/dcim/forms/bulk_import.py:1137
+#: netbox/dcim/forms/bulk_import.py:1128
msgid "Side B device"
msgstr "B tarafı cihazı"
-#: netbox/dcim/forms/bulk_import.py:1143
+#: netbox/dcim/forms/bulk_import.py:1134
msgid "Side B type"
msgstr "Taraf B tipi"
-#: netbox/dcim/forms/bulk_import.py:1149
+#: netbox/dcim/forms/bulk_import.py:1140
msgid "Side B name"
msgstr "B tarafı adı"
-#: netbox/dcim/forms/bulk_import.py:1158
+#: netbox/dcim/forms/bulk_import.py:1149
#: netbox/wireless/forms/bulk_import.py:86
msgid "Connection status"
msgstr "Bağlantı durumu"
-#: netbox/dcim/forms/bulk_import.py:1213
+#: netbox/dcim/forms/bulk_import.py:1201
#, python-brace-format
msgid "Side {side_upper}: {device} {termination_object} is already connected"
msgstr "Yan {side_upper}: {device} {termination_object} zaten bağlı"
-#: netbox/dcim/forms/bulk_import.py:1219
+#: netbox/dcim/forms/bulk_import.py:1207
#, python-brace-format
msgid "{side_upper} side termination not found: {device} {name}"
msgstr "{side_upper} yan sonlandırma bulunamadı: {device} {name}"
-#: netbox/dcim/forms/bulk_import.py:1244 netbox/dcim/forms/model_forms.py:733
-#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:131
+#: netbox/dcim/forms/bulk_import.py:1232 netbox/dcim/forms/model_forms.py:733
+#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:132
#: netbox/templates/dcim/virtualchassis.html:27
#: netbox/templates/dcim/virtualchassis.html:67
msgid "Master"
msgstr "Usta"
-#: netbox/dcim/forms/bulk_import.py:1248
+#: netbox/dcim/forms/bulk_import.py:1236
msgid "Master device"
msgstr "Ana cihaz"
-#: netbox/dcim/forms/bulk_import.py:1265
+#: netbox/dcim/forms/bulk_import.py:1253
msgid "Name of parent site"
msgstr "Ana sitenin adı"
-#: netbox/dcim/forms/bulk_import.py:1299
+#: netbox/dcim/forms/bulk_import.py:1287
msgid "Upstream power panel"
msgstr "Yukarı akış güç paneli"
-#: netbox/dcim/forms/bulk_import.py:1329
+#: netbox/dcim/forms/bulk_import.py:1317
msgid "Primary or redundant"
msgstr "Birincil veya gereksiz"
-#: netbox/dcim/forms/bulk_import.py:1334
+#: netbox/dcim/forms/bulk_import.py:1322
msgid "Supply type (AC/DC)"
msgstr "Besleme tipi (AC/DC)"
-#: netbox/dcim/forms/bulk_import.py:1339
+#: netbox/dcim/forms/bulk_import.py:1327
msgid "Single or three-phase"
msgstr "Tek veya üç fazlı"
@@ -4159,11 +4164,11 @@ msgstr "Güç Beslemesi"
msgid "Side"
msgstr "Yan"
-#: netbox/dcim/forms/filtersets.py:142
+#: netbox/dcim/forms/filtersets.py:143
msgid "Parent region"
msgstr "Ana bölge"
-#: netbox/dcim/forms/filtersets.py:156 netbox/tenancy/forms/bulk_import.py:28
+#: netbox/dcim/forms/filtersets.py:157 netbox/tenancy/forms/bulk_import.py:28
#: netbox/tenancy/forms/bulk_import.py:62
#: netbox/tenancy/forms/filtersets.py:33 netbox/tenancy/forms/filtersets.py:62
#: netbox/wireless/forms/bulk_import.py:25
@@ -4171,51 +4176,58 @@ msgstr "Ana bölge"
msgid "Parent group"
msgstr "Ebeveyn grubu"
-#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:332
+#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333
msgid "Function"
msgstr "Fonksiyon"
-#: netbox/dcim/forms/filtersets.py:418 netbox/dcim/forms/model_forms.py:317
+#: netbox/dcim/forms/filtersets.py:419 netbox/dcim/forms/model_forms.py:317
#: netbox/templates/inc/panels/image_attachments.html:6
msgid "Images"
msgstr "Görüntüler"
-#: netbox/dcim/forms/filtersets.py:421 netbox/dcim/forms/filtersets.py:546
-#: netbox/dcim/forms/filtersets.py:656
+#: netbox/dcim/forms/filtersets.py:422 netbox/dcim/forms/filtersets.py:547
+#: netbox/dcim/forms/filtersets.py:657
msgid "Components"
msgstr "Bileşenleri"
-#: netbox/dcim/forms/filtersets.py:441
+#: netbox/dcim/forms/filtersets.py:442
msgid "Subdevice role"
msgstr "Alt aygıt rolü"
-#: netbox/dcim/forms/filtersets.py:719
+#: netbox/dcim/forms/filtersets.py:721
msgid "Model"
msgstr "Modeli"
-#: netbox/dcim/forms/filtersets.py:763
+#: netbox/dcim/forms/filtersets.py:765
msgid "Has an OOB IP"
msgstr "OOB IP'ye sahiptir"
-#: netbox/dcim/forms/filtersets.py:770
+#: netbox/dcim/forms/filtersets.py:772
msgid "Virtual chassis member"
msgstr "Sanal şasi elemanı"
-#: netbox/dcim/forms/filtersets.py:819
+#: netbox/dcim/forms/filtersets.py:821
msgid "Has virtual device contexts"
msgstr "Sanal cihaz bağlamlarına sahiptir"
-#: netbox/dcim/forms/filtersets.py:1129
+#: netbox/dcim/forms/filtersets.py:834 netbox/extras/filtersets.py:537
+#: netbox/ipam/forms/bulk_edit.py:476 netbox/ipam/forms/filtersets.py:464
+#: netbox/ipam/forms/model_forms.py:624
+#: netbox/virtualization/forms/filtersets.py:112
+msgid "Cluster group"
+msgstr "Küme grubu"
+
+#: netbox/dcim/forms/filtersets.py:1141
msgid "Cabled"
msgstr "Kablolu"
-#: netbox/dcim/forms/filtersets.py:1136
+#: netbox/dcim/forms/filtersets.py:1148
msgid "Occupied"
msgstr "işgal"
-#: netbox/dcim/forms/filtersets.py:1161 netbox/dcim/forms/filtersets.py:1183
-#: netbox/dcim/forms/filtersets.py:1205 netbox/dcim/forms/filtersets.py:1222
-#: netbox/dcim/forms/filtersets.py:1242 netbox/dcim/tables/devices.py:352
+#: netbox/dcim/forms/filtersets.py:1173 netbox/dcim/forms/filtersets.py:1195
+#: netbox/dcim/forms/filtersets.py:1217 netbox/dcim/forms/filtersets.py:1234
+#: netbox/dcim/forms/filtersets.py:1254 netbox/dcim/tables/devices.py:352
#: netbox/templates/dcim/consoleport.html:55
#: netbox/templates/dcim/consoleserverport.html:55
#: netbox/templates/dcim/frontport.html:69
@@ -4227,42 +4239,42 @@ msgstr "işgal"
msgid "Connection"
msgstr "Bağlantı"
-#: netbox/dcim/forms/filtersets.py:1254 netbox/extras/forms/bulk_edit.py:316
-#: netbox/extras/forms/bulk_import.py:242
+#: netbox/dcim/forms/filtersets.py:1266 netbox/extras/forms/bulk_edit.py:316
+#: netbox/extras/forms/bulk_import.py:239
#: netbox/extras/forms/filtersets.py:473
#: netbox/extras/forms/model_forms.py:551 netbox/extras/tables/tables.py:513
#: netbox/templates/extras/journalentry.html:30
msgid "Kind"
msgstr "Tür"
-#: netbox/dcim/forms/filtersets.py:1283
+#: netbox/dcim/forms/filtersets.py:1295
msgid "Mgmt only"
msgstr "Sadece Mgmt"
-#: netbox/dcim/forms/filtersets.py:1295 netbox/dcim/forms/model_forms.py:1330
+#: netbox/dcim/forms/filtersets.py:1307 netbox/dcim/forms/model_forms.py:1330
#: netbox/dcim/models/device_components.py:630
#: netbox/templates/dcim/interface.html:129
msgid "WWN"
msgstr "WWN"
-#: netbox/dcim/forms/filtersets.py:1315
+#: netbox/dcim/forms/filtersets.py:1327
msgid "Wireless channel"
msgstr "Kablosuz kanal"
-#: netbox/dcim/forms/filtersets.py:1319
+#: netbox/dcim/forms/filtersets.py:1331
msgid "Channel frequency (MHz)"
msgstr "Kanal frekansı (MHz)"
-#: netbox/dcim/forms/filtersets.py:1323
+#: netbox/dcim/forms/filtersets.py:1335
msgid "Channel width (MHz)"
msgstr "Kanal genişliği (MHz)"
-#: netbox/dcim/forms/filtersets.py:1327
+#: netbox/dcim/forms/filtersets.py:1339
#: netbox/templates/dcim/interface.html:85
msgid "Transmit power (dBm)"
msgstr "İletim gücü (dBm)"
-#: netbox/dcim/forms/filtersets.py:1350 netbox/dcim/forms/filtersets.py:1372
+#: netbox/dcim/forms/filtersets.py:1362 netbox/dcim/forms/filtersets.py:1384
#: netbox/dcim/tables/devices.py:316 netbox/templates/dcim/cable.html:12
#: netbox/templates/dcim/cable_trace.html:46
#: netbox/templates/dcim/frontport.html:77
@@ -4273,7 +4285,7 @@ msgstr "İletim gücü (dBm)"
msgid "Cable"
msgstr "Kablo"
-#: netbox/dcim/forms/filtersets.py:1442 netbox/dcim/tables/devices.py:915
+#: netbox/dcim/forms/filtersets.py:1454 netbox/dcim/tables/devices.py:915
msgid "Discovered"
msgstr "Keşfedildi"
@@ -4298,7 +4310,7 @@ msgstr "Envanter Kontrolü"
msgid "Outer Dimensions"
msgstr "Dış Ölçüler"
-#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:308
+#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:315
#: netbox/templates/dcim/rack.html:73
msgid "Dimensions"
msgstr "Ölçüler"
@@ -4328,7 +4340,7 @@ msgstr "Şasi"
#: netbox/dcim/forms/model_forms.py:366
#: netbox/templates/dcim/devicerole.html:23
msgid "Device Role"
-msgstr "Aygıt Rolü"
+msgstr "Cİhaz Rolü"
#: netbox/dcim/forms/model_forms.py:433 netbox/dcim/models/devices.py:634
msgid "The lowest-numbered unit occupied by the device"
@@ -4338,7 +4350,7 @@ msgstr "Cihazın kullandığı en düşük numaralı birim"
msgid "The position in the virtual chassis this device is identified by"
msgstr "Bu cihazın sanal kasadaki konumu tanımlanır"
-#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:132
+#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:133
#: netbox/templates/dcim/virtualchassis.html:68
#: netbox/templates/dcim/virtualchassis_edit.html:56
#: netbox/templates/ipam/inc/panels/fhrp_groups.html:26
@@ -4518,13 +4530,13 @@ msgstr "Envanter Öğesi"
msgid "Inventory Item Role"
msgstr "Envanter Öğesi Rolü"
-#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:188
+#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:190
#: netbox/templates/dcim/virtualdevicecontext.html:30
#: netbox/templates/virtualization/virtualmachine.html:48
msgid "Primary IPv4"
msgstr "Birincil IPv4"
-#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:204
+#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:206
#: netbox/templates/dcim/virtualdevicecontext.html:41
#: netbox/templates/virtualization/virtualmachine.html:64
msgid "Primary IPv6"
@@ -4612,7 +4624,7 @@ msgstr "İlk VC üyesi için bir pozisyon belirtilmelidir."
#: netbox/dcim/models/cables.py:62
#: netbox/dcim/models/device_component_templates.py:55
#: netbox/dcim/models/device_components.py:63
-#: netbox/extras/models/customfields.py:109
+#: netbox/extras/models/customfields.py:110
msgid "label"
msgstr "etiketlemek"
@@ -5289,13 +5301,13 @@ msgstr "Bu tür bir cihaz ({device_type}) cihaz bölmelerini desteklemez."
#: netbox/dcim/models/device_components.py:1143
msgid "Cannot install a device into itself."
-msgstr "Bir aygıt kendi içine yüklenemiyor."
+msgstr "Bir cihaz kendi içine yüklenemiyor."
#: netbox/dcim/models/device_components.py:1151
#, python-brace-format
msgid ""
"Cannot install the specified device; device is already installed in {bay}."
-msgstr "Belirtilen aygıt yüklenemiyor; cihaz zaten yüklü {bay}."
+msgstr "Belirtilen cihaz yüklenemiyor; cihaz zaten yüklü {bay}."
#: netbox/dcim/models/device_components.py:1172
msgid "inventory item role"
@@ -5395,7 +5407,7 @@ msgstr "tam derinliktir"
#: netbox/dcim/models/devices.py:117
msgid "Device consumes both front and rear rack faces."
-msgstr "Aygıt hem ön hem de arka raf yüzlerini tüketir."
+msgstr "Cihaz hem ön hem de arka kabin yüzlerini tüketir."
#: netbox/dcim/models/devices.py:123
msgid "parent/child status"
@@ -5406,8 +5418,8 @@ msgid ""
"Parent devices house child devices in device bays. Leave blank if this "
"device type is neither a parent nor a child."
msgstr ""
-"Ana cihazlar, alt aygıtları cihaz yuvalarında barındırır. Bu cihaz türü "
-"ebeveyn veya çocuk değilse boş bırakın."
+"Ana cihazlar, alt cihazarı cihaz yuvalarında barındırır. Bu cihaz türü ana "
+"veya alt cihaz değilse boş bırakın."
#: netbox/dcim/models/devices.py:128 netbox/dcim/models/devices.py:649
msgid "airflow"
@@ -5431,8 +5443,8 @@ msgid ""
"Device {device} in rack {rack} does not have sufficient space to accommodate"
" a height of {height}U"
msgstr ""
-"Aygıt {device} rafta {rack} bir yüksekliği barındırmak için yeterli alana "
-"sahip değildir {height}U"
+"{rack} kabininde {device} cihazını {height}U yüksekliğinde barındırmak için "
+"yeterli alan bulunmamaktadır"
#: netbox/dcim/models/devices.py:322
#, python-brace-format
@@ -5449,7 +5461,7 @@ msgid ""
"Must delete all device bay templates associated with this device before "
"declassifying it as a parent device."
msgstr ""
-"Ana aygıt olarak sınıflandırmadan önce bu aygıtla ilişkili tüm aygıt yuvası "
+"Ana cihaz olarak sınıflandırmadan önce bu cihazla ilişkili tüm cihaz yuvası "
"şablonlarını silmeniz gerekir."
#: netbox/dcim/models/devices.py:337
@@ -5705,7 +5717,7 @@ msgstr "belirlemek"
msgid "Numeric identifier unique to the parent device"
msgstr "Ana aygıta benzersiz sayısal tanımlayıcı"
-#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:210
+#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:211
#: netbox/extras/models/models.py:127 netbox/extras/models/models.py:722
#: netbox/netbox/models/__init__.py:114
msgid "comments"
@@ -6055,43 +6067,43 @@ msgstr "konumlar"
msgid "Parent location ({parent}) must belong to the same site ({site})."
msgstr "Ana konum ({parent}) aynı siteye ({site}) ait olmalıdır."
-#: netbox/dcim/tables/cables.py:54
+#: netbox/dcim/tables/cables.py:55
msgid "Termination A"
msgstr "Fesih A"
-#: netbox/dcim/tables/cables.py:59
+#: netbox/dcim/tables/cables.py:60
msgid "Termination B"
msgstr "Sonlandırma B"
-#: netbox/dcim/tables/cables.py:65 netbox/wireless/tables/wirelesslink.py:22
+#: netbox/dcim/tables/cables.py:66 netbox/wireless/tables/wirelesslink.py:22
msgid "Device A"
msgstr "Aygıt A"
-#: netbox/dcim/tables/cables.py:71 netbox/wireless/tables/wirelesslink.py:31
+#: netbox/dcim/tables/cables.py:72 netbox/wireless/tables/wirelesslink.py:31
msgid "Device B"
msgstr "Aygıt B"
-#: netbox/dcim/tables/cables.py:77
+#: netbox/dcim/tables/cables.py:78
msgid "Location A"
msgstr "Konum A"
-#: netbox/dcim/tables/cables.py:83
+#: netbox/dcim/tables/cables.py:84
msgid "Location B"
msgstr "Konum B"
-#: netbox/dcim/tables/cables.py:89
+#: netbox/dcim/tables/cables.py:90
msgid "Rack A"
msgstr "Raf A"
-#: netbox/dcim/tables/cables.py:95
+#: netbox/dcim/tables/cables.py:96
msgid "Rack B"
msgstr "Raf B"
-#: netbox/dcim/tables/cables.py:101
+#: netbox/dcim/tables/cables.py:102
msgid "Site A"
msgstr "Site A"
-#: netbox/dcim/tables/cables.py:107
+#: netbox/dcim/tables/cables.py:108
msgid "Site B"
msgstr "Site B"
@@ -6107,7 +6119,7 @@ msgstr "Ulaşılabilir"
#: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62
#: netbox/virtualization/forms/model_forms.py:122
#: netbox/virtualization/tables/clusters.py:83
-#: netbox/virtualization/views.py:202
+#: netbox/virtualization/views.py:205
msgid "Devices"
msgstr "Aygıtlar"
@@ -6188,8 +6200,8 @@ msgid "Power outlets"
msgstr "Elektrik prizleri"
#: netbox/dcim/tables/devices.py:243 netbox/dcim/tables/devices.py:1046
-#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:985
-#: netbox/dcim/views.py:1224 netbox/dcim/views.py:1900
+#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:988
+#: netbox/dcim/views.py:1227 netbox/dcim/views.py:1908
#: netbox/netbox/navigation/menu.py:81 netbox/netbox/navigation/menu.py:237
#: netbox/templates/dcim/device/base.html:37
#: netbox/templates/dcim/device_list.html:43
@@ -6201,7 +6213,7 @@ msgstr "Elektrik prizleri"
#: netbox/templates/virtualization/virtualmachine/base.html:27
#: netbox/templates/virtualization/virtualmachine_list.html:14
#: netbox/virtualization/tables/virtualmachines.py:100
-#: netbox/virtualization/views.py:359 netbox/wireless/tables/wirelesslan.py:55
+#: netbox/virtualization/views.py:363 netbox/wireless/tables/wirelesslan.py:55
msgid "Interfaces"
msgstr "Arayüzler"
@@ -6211,7 +6223,7 @@ msgstr "Ön bağlantı noktaları"
#: netbox/dcim/tables/devices.py:252
msgid "Device bays"
-msgstr "Aygıt yuvaları"
+msgstr "Cihaz yuvaları"
#: netbox/dcim/tables/devices.py:255
msgid "Module bays"
@@ -6227,8 +6239,8 @@ msgid "Module Bay"
msgstr "Modül Yuvası"
#: netbox/dcim/tables/devices.py:310 netbox/dcim/tables/devicetypes.py:48
-#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1060
-#: netbox/dcim/views.py:1993 netbox/netbox/navigation/menu.py:90
+#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1063
+#: netbox/dcim/views.py:2006 netbox/netbox/navigation/menu.py:90
#: netbox/templates/dcim/device/base.html:52
#: netbox/templates/dcim/device_list.html:71
#: netbox/templates/dcim/devicetype/base.html:49
@@ -6258,8 +6270,8 @@ msgid "Allocated draw (W)"
msgstr "Tahsis edilen çekiliş (W)"
#: netbox/dcim/tables/devices.py:546 netbox/ipam/forms/model_forms.py:747
-#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:589
-#: netbox/ipam/views.py:688 netbox/netbox/navigation/menu.py:145
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:596
+#: netbox/ipam/views.py:696 netbox/netbox/navigation/menu.py:145
#: netbox/netbox/navigation/menu.py:147
#: netbox/templates/dcim/interface.html:339
#: netbox/templates/ipam/ipaddress_bulk_add.html:15
@@ -6322,7 +6334,7 @@ msgstr "Öğeler"
#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:71
#: netbox/netbox/navigation/menu.py:73
msgid "Device Types"
-msgstr "Aygıt Türleri"
+msgstr "Cihaz Türleri"
#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:74
msgid "Module Types"
@@ -6352,8 +6364,8 @@ msgstr "U Yüksekliği"
msgid "Instances"
msgstr "Örnekler"
-#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:925
-#: netbox/dcim/views.py:1164 netbox/dcim/views.py:1840
+#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:928
+#: netbox/dcim/views.py:1167 netbox/dcim/views.py:1844
#: netbox/netbox/navigation/menu.py:84
#: netbox/templates/dcim/device/base.html:25
#: netbox/templates/dcim/device_list.html:15
@@ -6363,8 +6375,8 @@ msgstr "Örnekler"
msgid "Console Ports"
msgstr "Konsol Bağlantı Noktaları"
-#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:940
-#: netbox/dcim/views.py:1179 netbox/dcim/views.py:1855
+#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:943
+#: netbox/dcim/views.py:1182 netbox/dcim/views.py:1860
#: netbox/netbox/navigation/menu.py:85
#: netbox/templates/dcim/device/base.html:28
#: netbox/templates/dcim/device_list.html:22
@@ -6374,8 +6386,8 @@ msgstr "Konsol Bağlantı Noktaları"
msgid "Console Server Ports"
msgstr "Konsol Sunucusu Bağlantı Noktaları"
-#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:955
-#: netbox/dcim/views.py:1194 netbox/dcim/views.py:1870
+#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:958
+#: netbox/dcim/views.py:1197 netbox/dcim/views.py:1876
#: netbox/netbox/navigation/menu.py:86
#: netbox/templates/dcim/device/base.html:31
#: netbox/templates/dcim/device_list.html:29
@@ -6385,8 +6397,8 @@ msgstr "Konsol Sunucusu Bağlantı Noktaları"
msgid "Power Ports"
msgstr "Güç Bağlantı Noktaları"
-#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:970
-#: netbox/dcim/views.py:1209 netbox/dcim/views.py:1885
+#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:973
+#: netbox/dcim/views.py:1212 netbox/dcim/views.py:1892
#: netbox/netbox/navigation/menu.py:87
#: netbox/templates/dcim/device/base.html:34
#: netbox/templates/dcim/device_list.html:36
@@ -6396,8 +6408,8 @@ msgstr "Güç Bağlantı Noktaları"
msgid "Power Outlets"
msgstr "Elektrik Prizleri"
-#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1000
-#: netbox/dcim/views.py:1239 netbox/dcim/views.py:1921
+#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1003
+#: netbox/dcim/views.py:1242 netbox/dcim/views.py:1930
#: netbox/netbox/navigation/menu.py:82
#: netbox/templates/dcim/device/base.html:40
#: netbox/templates/dcim/devicetype/base.html:37
@@ -6406,8 +6418,8 @@ msgstr "Elektrik Prizleri"
msgid "Front Ports"
msgstr "Ön Bağlantı Noktaları"
-#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1015
-#: netbox/dcim/views.py:1254 netbox/dcim/views.py:1936
+#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1018
+#: netbox/dcim/views.py:1257 netbox/dcim/views.py:1946
#: netbox/netbox/navigation/menu.py:83
#: netbox/templates/dcim/device/base.html:43
#: netbox/templates/dcim/device_list.html:50
@@ -6417,16 +6429,16 @@ msgstr "Ön Bağlantı Noktaları"
msgid "Rear Ports"
msgstr "Arka Bağlantı Noktaları"
-#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1045
-#: netbox/dcim/views.py:1974 netbox/netbox/navigation/menu.py:89
+#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1048
+#: netbox/dcim/views.py:1986 netbox/netbox/navigation/menu.py:89
#: netbox/templates/dcim/device/base.html:49
#: netbox/templates/dcim/device_list.html:57
#: netbox/templates/dcim/devicetype/base.html:46
msgid "Device Bays"
-msgstr "Aygıt Yuvaları"
+msgstr "Cihaz Yuvaları"
-#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1030
-#: netbox/dcim/views.py:1955 netbox/netbox/navigation/menu.py:88
+#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1033
+#: netbox/dcim/views.py:1966 netbox/netbox/navigation/menu.py:88
#: netbox/templates/dcim/device/base.html:46
#: netbox/templates/dcim/device_list.html:64
#: netbox/templates/dcim/devicetype/base.html:43
@@ -6451,7 +6463,7 @@ msgstr "Kullanılabilir Güç (VA)"
msgid "Racks"
msgstr "Raflar"
-#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:311
+#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:318
#: netbox/templates/dcim/rack.html:90
msgid "Height"
msgstr "Yükseklik"
@@ -6484,38 +6496,38 @@ msgstr "Siteler"
msgid "Test case must set peer_termination_type"
msgstr "Test senaryosu peer_termination_type ayarlamalıdır"
-#: netbox/dcim/views.py:139
+#: netbox/dcim/views.py:140
#, python-brace-format
msgid "Disconnected {count} {type}"
msgstr "Bağlantısı kesildi {count} {type}"
-#: netbox/dcim/views.py:684 netbox/netbox/navigation/menu.py:28
+#: netbox/dcim/views.py:686 netbox/netbox/navigation/menu.py:28
msgid "Reservations"
msgstr "Rezervasyon"
-#: netbox/dcim/views.py:702 netbox/templates/dcim/location.html:90
+#: netbox/dcim/views.py:705 netbox/templates/dcim/location.html:90
#: netbox/templates/dcim/site.html:140
msgid "Non-Racked Devices"
msgstr "Raf Olmayan Cihazlar"
-#: netbox/dcim/views.py:2006 netbox/extras/forms/model_forms.py:453
+#: netbox/dcim/views.py:2019 netbox/extras/forms/model_forms.py:453
#: netbox/templates/extras/configcontext.html:10
#: netbox/virtualization/forms/model_forms.py:225
-#: netbox/virtualization/views.py:399
+#: netbox/virtualization/views.py:404
msgid "Config Context"
msgstr "Yapılandırma Bağlamı"
-#: netbox/dcim/views.py:2016 netbox/virtualization/views.py:409
+#: netbox/dcim/views.py:2029 netbox/virtualization/views.py:414
msgid "Render Config"
msgstr "Oluştur Yapılandırması"
-#: netbox/dcim/views.py:2066 netbox/extras/tables/tables.py:441
+#: netbox/dcim/views.py:2080 netbox/extras/tables/tables.py:441
#: netbox/netbox/navigation/menu.py:234 netbox/netbox/navigation/menu.py:236
-#: netbox/virtualization/views.py:177
+#: netbox/virtualization/views.py:179
msgid "Virtual Machines"
msgstr "Sanal Makineler"
-#: netbox/dcim/views.py:2948 netbox/ipam/tables/ip.py:233
+#: netbox/dcim/views.py:2963 netbox/ipam/tables/ip.py:233
msgid "Children"
msgstr "Çocuklar"
@@ -6943,16 +6955,6 @@ msgstr "Küme türü"
msgid "Cluster type (slug)"
msgstr "Küme tipi (kısa ad)"
-#: netbox/extras/filtersets.py:537 netbox/ipam/forms/bulk_edit.py:476
-#: netbox/ipam/forms/filtersets.py:464 netbox/ipam/forms/model_forms.py:624
-#: netbox/virtualization/forms/filtersets.py:112
-msgid "Cluster group"
-msgstr "Küme grubu"
-
-#: netbox/extras/filtersets.py:543 netbox/virtualization/filtersets.py:136
-msgid "Cluster group (slug)"
-msgstr "Küme grubu (kısa ad)"
-
#: netbox/extras/filtersets.py:553 netbox/tenancy/forms/forms.py:16
#: netbox/tenancy/forms/forms.py:39
msgid "Tenant group"
@@ -6993,13 +6995,13 @@ msgstr "Gerekli"
#: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_import.py:57
#: netbox/extras/forms/filtersets.py:79
-#: netbox/extras/models/customfields.py:194
+#: netbox/extras/models/customfields.py:195
msgid "UI visible"
msgstr "Kullanıcı arayüzü görünür"
#: netbox/extras/forms/bulk_edit.py:58 netbox/extras/forms/bulk_import.py:63
#: netbox/extras/forms/filtersets.py:84
-#: netbox/extras/models/customfields.py:201
+#: netbox/extras/models/customfields.py:202
msgid "UI editable"
msgstr "UI düzenlenebilir"
@@ -7178,11 +7180,11 @@ msgstr "Web kancası {name} bulunamadı"
msgid "Script {name} not found"
msgstr "Senaryo {name} bulunamadı"
-#: netbox/extras/forms/bulk_import.py:239
+#: netbox/extras/forms/bulk_import.py:236
msgid "Assigned object type"
msgstr "Atanan nesne türü"
-#: netbox/extras/forms/bulk_import.py:244
+#: netbox/extras/forms/bulk_import.py:241
msgid "The classification of entry"
msgstr "Girişin sınıflandırılması"
@@ -7278,7 +7280,7 @@ msgstr "Konumlar"
#: netbox/extras/forms/filtersets.py:370
#: netbox/extras/forms/model_forms.py:403
msgid "Device types"
-msgstr "Aygıt türleri"
+msgstr "Cihaz türleri"
#: netbox/extras/forms/filtersets.py:375
#: netbox/extras/forms/model_forms.py:408
@@ -7406,7 +7408,7 @@ msgstr "Şablon kodu"
#: netbox/extras/forms/model_forms.py:173
#: netbox/templates/extras/exporttemplate.html:12
msgid "Export Template"
-msgstr "Dışa Aktar Şablonu"
+msgstr "Dışa Aktarma Şablonu"
#: netbox/extras/forms/model_forms.py:175
msgid "Rendering"
@@ -7641,31 +7643,31 @@ msgstr "yapılandırma şablonu"
msgid "config templates"
msgstr "yapılandırma şablonları"
-#: netbox/extras/models/customfields.py:73
+#: netbox/extras/models/customfields.py:74
msgid "The object(s) to which this field applies."
msgstr "Bu alanın geçerli olduğu nesne (ler) dir."
-#: netbox/extras/models/customfields.py:80
+#: netbox/extras/models/customfields.py:81
msgid "The type of data this custom field holds"
msgstr "Bu özel alanın tuttuğu veri türü"
-#: netbox/extras/models/customfields.py:87
+#: netbox/extras/models/customfields.py:88
msgid "The type of NetBox object this field maps to (for object fields)"
msgstr "Bu alanın eşlendiği NetBox nesnesinin türü (nesne alanları için)"
-#: netbox/extras/models/customfields.py:93
+#: netbox/extras/models/customfields.py:94
msgid "Internal field name"
msgstr "İç alan adı"
-#: netbox/extras/models/customfields.py:97
+#: netbox/extras/models/customfields.py:98
msgid "Only alphanumeric characters and underscores are allowed."
msgstr "Yalnızca alfasayısal karakterlere ve alt çizgilere izin verilir."
-#: netbox/extras/models/customfields.py:102
+#: netbox/extras/models/customfields.py:103
msgid "Double underscores are not permitted in custom field names."
msgstr "Özel alan adlarında çift alt çizgilere izin verilmez."
-#: netbox/extras/models/customfields.py:113
+#: netbox/extras/models/customfields.py:114
msgid ""
"Name of the field as displayed to users (if not provided, 'the field's name "
"will be used)"
@@ -7673,19 +7675,19 @@ msgstr ""
"Kullanıcılara görüntülenen alanın adı (belirtilmezse, 'alanın adı "
"kullanılacaktır)"
-#: netbox/extras/models/customfields.py:117 netbox/extras/models/models.py:345
+#: netbox/extras/models/customfields.py:118 netbox/extras/models/models.py:345
msgid "group name"
msgstr "grup adı"
-#: netbox/extras/models/customfields.py:120
+#: netbox/extras/models/customfields.py:121
msgid "Custom fields within the same group will be displayed together"
msgstr "Aynı gruptaki özel alanlar birlikte görüntülenecektir"
-#: netbox/extras/models/customfields.py:128
+#: netbox/extras/models/customfields.py:129
msgid "required"
msgstr "gereklidir"
-#: netbox/extras/models/customfields.py:130
+#: netbox/extras/models/customfields.py:131
msgid ""
"If true, this field is required when creating new objects or editing an "
"existing object."
@@ -7693,11 +7695,11 @@ msgstr ""
"Eğer true ise, yeni nesneler oluştururken veya varolan bir nesneyi "
"düzenlerken bu alan gereklidir."
-#: netbox/extras/models/customfields.py:133
+#: netbox/extras/models/customfields.py:134
msgid "search weight"
msgstr "arama ağırlığı"
-#: netbox/extras/models/customfields.py:136
+#: netbox/extras/models/customfields.py:137
msgid ""
"Weighting for search. Lower values are considered more important. Fields "
"with a search weight of zero will be ignored."
@@ -7705,11 +7707,11 @@ msgstr ""
"Arama için ağırlıklandırma. Düşük değerler daha önemli kabul edilir. Arama "
"ağırlığı sıfır olan alanlar göz ardı edilecektir."
-#: netbox/extras/models/customfields.py:141
+#: netbox/extras/models/customfields.py:142
msgid "filter logic"
msgstr "filtre mantığı"
-#: netbox/extras/models/customfields.py:145
+#: netbox/extras/models/customfields.py:146
msgid ""
"Loose matches any instance of a given string; exact matches the entire "
"field."
@@ -7717,11 +7719,11 @@ msgstr ""
"Loose, belirli bir dizgenin herhangi bir örneğiyle eşleşir; tam olarak tüm "
"alanla eşleşir."
-#: netbox/extras/models/customfields.py:148
+#: netbox/extras/models/customfields.py:149
msgid "default"
msgstr "varsayılan"
-#: netbox/extras/models/customfields.py:152
+#: netbox/extras/models/customfields.py:153
msgid ""
"Default value for the field (must be a JSON value). Encapsulate strings with"
" double quotes (e.g. \"Foo\")."
@@ -7729,35 +7731,35 @@ msgstr ""
"Alan için varsayılan değer (JSON değeri olmalıdır). Dizeleri çift tırnak "
"işaretleriyle kapsülleyin (örn. “Foo”)."
-#: netbox/extras/models/customfields.py:157
+#: netbox/extras/models/customfields.py:158
msgid "display weight"
msgstr "ekran ağırlığı"
-#: netbox/extras/models/customfields.py:158
+#: netbox/extras/models/customfields.py:159
msgid "Fields with higher weights appear lower in a form."
msgstr "Daha yüksek ağırlığa sahip alanlar bir formda daha düşük görünür."
-#: netbox/extras/models/customfields.py:163
+#: netbox/extras/models/customfields.py:164
msgid "minimum value"
msgstr "minimum değer"
-#: netbox/extras/models/customfields.py:164
+#: netbox/extras/models/customfields.py:165
msgid "Minimum allowed value (for numeric fields)"
msgstr "İzin verilen minimum değer (sayısal alanlar için)"
-#: netbox/extras/models/customfields.py:169
+#: netbox/extras/models/customfields.py:170
msgid "maximum value"
msgstr "maksimum değer"
-#: netbox/extras/models/customfields.py:170
+#: netbox/extras/models/customfields.py:171
msgid "Maximum allowed value (for numeric fields)"
msgstr "İzin verilen maksimum değer (sayısal alanlar için)"
-#: netbox/extras/models/customfields.py:176
+#: netbox/extras/models/customfields.py:177
msgid "validation regex"
msgstr "doğrulama regex"
-#: netbox/extras/models/customfields.py:178
+#: netbox/extras/models/customfields.py:179
#, python-brace-format
msgid ""
"Regular expression to enforce on text field values. Use ^ and $ to force "
@@ -7768,174 +7770,174 @@ msgstr ""
"zorlamak için ^ ve $ kullanın. Örneğin, ^ [A-Z]{3}$
değerleri "
"tam olarak üç büyük harfle sınırlayacaktır."
-#: netbox/extras/models/customfields.py:186
+#: netbox/extras/models/customfields.py:187
msgid "choice set"
msgstr "seçim seti"
-#: netbox/extras/models/customfields.py:195
+#: netbox/extras/models/customfields.py:196
msgid "Specifies whether the custom field is displayed in the UI"
msgstr ""
"Özel alanın kullanıcı arayüzünde görüntülenip görüntülenmeyeceğini belirtir"
-#: netbox/extras/models/customfields.py:202
+#: netbox/extras/models/customfields.py:203
msgid "Specifies whether the custom field value can be edited in the UI"
msgstr ""
"Özel alan değerinin kullanıcı arayüzünde düzenlenip düzenlenemeyeceğini "
"belirtir"
-#: netbox/extras/models/customfields.py:206
+#: netbox/extras/models/customfields.py:207
msgid "is cloneable"
msgstr "klonlanabilir"
-#: netbox/extras/models/customfields.py:207
+#: netbox/extras/models/customfields.py:208
msgid "Replicate this value when cloning objects"
msgstr "Nesneleri klonlarken bu değeri çoğaltın"
-#: netbox/extras/models/customfields.py:224
+#: netbox/extras/models/customfields.py:225
msgid "custom field"
msgstr "özel alan"
-#: netbox/extras/models/customfields.py:225
+#: netbox/extras/models/customfields.py:226
msgid "custom fields"
msgstr "özel alanlar"
-#: netbox/extras/models/customfields.py:314
+#: netbox/extras/models/customfields.py:315
#, python-brace-format
msgid "Invalid default value \"{value}\": {error}"
msgstr "Geçersiz varsayılan değer”{value}“: {error}"
-#: netbox/extras/models/customfields.py:321
+#: netbox/extras/models/customfields.py:322
msgid "A minimum value may be set only for numeric fields"
msgstr "Minimum değer yalnızca sayısal alanlar için ayarlanabilir"
-#: netbox/extras/models/customfields.py:323
+#: netbox/extras/models/customfields.py:324
msgid "A maximum value may be set only for numeric fields"
msgstr "Maksimum değer yalnızca sayısal alanlar için ayarlanabilir"
-#: netbox/extras/models/customfields.py:333
+#: netbox/extras/models/customfields.py:334
msgid ""
"Regular expression validation is supported only for text and URL fields"
msgstr ""
"Düzenli ifade doğrulaması yalnızca metin ve URL alanları için desteklenir"
-#: netbox/extras/models/customfields.py:343
+#: netbox/extras/models/customfields.py:344
msgid "Selection fields must specify a set of choices."
msgstr "Seçim alanları bir dizi seçenek belirtmelidir."
-#: netbox/extras/models/customfields.py:347
+#: netbox/extras/models/customfields.py:348
msgid "Choices may be set only on selection fields."
msgstr "Seçenekler yalnızca seçim alanlarında ayarlanabilir."
-#: netbox/extras/models/customfields.py:354
+#: netbox/extras/models/customfields.py:355
msgid "Object fields must define an object type."
msgstr "Nesne alanları bir nesne türü tanımlamalıdır."
-#: netbox/extras/models/customfields.py:359
+#: netbox/extras/models/customfields.py:360
#, python-brace-format
msgid "{type} fields may not define an object type."
msgstr "{type} alanlar bir nesne türü tanımlayamaz."
-#: netbox/extras/models/customfields.py:439
+#: netbox/extras/models/customfields.py:440
msgid "True"
msgstr "Doğru"
-#: netbox/extras/models/customfields.py:440
+#: netbox/extras/models/customfields.py:441
msgid "False"
msgstr "Yanlış"
-#: netbox/extras/models/customfields.py:522
+#: netbox/extras/models/customfields.py:523
#, python-brace-format
msgid "Values must match this regex: {regex}
"
msgstr "Değerler bu normal ifadeyle eşleşmelidir: {regex}
"
-#: netbox/extras/models/customfields.py:616
+#: netbox/extras/models/customfields.py:617
msgid "Value must be a string."
msgstr "Değer bir dize olmalıdır."
-#: netbox/extras/models/customfields.py:618
+#: netbox/extras/models/customfields.py:619
#, python-brace-format
msgid "Value must match regex '{regex}'"
msgstr "Değer regex ile eşleşmelidir '{regex}'"
-#: netbox/extras/models/customfields.py:623
+#: netbox/extras/models/customfields.py:624
msgid "Value must be an integer."
msgstr "Değer bir tamsayı olmalıdır."
-#: netbox/extras/models/customfields.py:626
-#: netbox/extras/models/customfields.py:641
+#: netbox/extras/models/customfields.py:627
+#: netbox/extras/models/customfields.py:642
#, python-brace-format
msgid "Value must be at least {minimum}"
msgstr "Değer en az olmalıdır {minimum}"
-#: netbox/extras/models/customfields.py:630
-#: netbox/extras/models/customfields.py:645
+#: netbox/extras/models/customfields.py:631
+#: netbox/extras/models/customfields.py:646
#, python-brace-format
msgid "Value must not exceed {maximum}"
msgstr "Değer geçmemelidir {maximum}"
-#: netbox/extras/models/customfields.py:638
+#: netbox/extras/models/customfields.py:639
msgid "Value must be a decimal."
msgstr "Değer ondalık olmalıdır."
-#: netbox/extras/models/customfields.py:650
+#: netbox/extras/models/customfields.py:651
msgid "Value must be true or false."
msgstr "Değer doğru veya yanlış olmalıdır."
-#: netbox/extras/models/customfields.py:658
+#: netbox/extras/models/customfields.py:659
msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
msgstr "Tarih değerleri ISO 8601 biçiminde olmalıdır (YYYY-AA-GG)."
-#: netbox/extras/models/customfields.py:671
+#: netbox/extras/models/customfields.py:672
msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
msgstr ""
"Tarih ve saat değerleri ISO 8601 biçiminde olmalıdır (YYYY-MM-DD HH:MM:SS)."
-#: netbox/extras/models/customfields.py:678
+#: netbox/extras/models/customfields.py:679
#, python-brace-format
msgid "Invalid choice ({value}) for choice set {choiceset}."
msgstr "Geçersiz seçim ({value}) seçim seti için {choiceset}."
-#: netbox/extras/models/customfields.py:688
+#: netbox/extras/models/customfields.py:689
#, python-brace-format
msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
msgstr "Geçersiz seçim (ler) ({value}) seçim seti için {choiceset}."
-#: netbox/extras/models/customfields.py:697
+#: netbox/extras/models/customfields.py:698
#, python-brace-format
msgid "Value must be an object ID, not {type}"
msgstr "Değer bir nesne kimliği olmalıdır, değil {type}"
-#: netbox/extras/models/customfields.py:703
+#: netbox/extras/models/customfields.py:704
#, python-brace-format
msgid "Value must be a list of object IDs, not {type}"
msgstr "Değer, nesne kimliklerinin bir listesi olmalıdır, değil {type}"
-#: netbox/extras/models/customfields.py:707
+#: netbox/extras/models/customfields.py:708
#, python-brace-format
msgid "Found invalid object ID: {id}"
msgstr "Geçersiz nesne kimliği bulundu: {id}"
-#: netbox/extras/models/customfields.py:710
+#: netbox/extras/models/customfields.py:711
msgid "Required field cannot be empty."
msgstr "Zorunlu alan boş olamaz."
-#: netbox/extras/models/customfields.py:729
+#: netbox/extras/models/customfields.py:730
msgid "Base set of predefined choices (optional)"
msgstr "Önceden tanımlanmış seçeneklerin temel kümesi (isteğe bağlı)"
-#: netbox/extras/models/customfields.py:741
+#: netbox/extras/models/customfields.py:742
msgid "Choices are automatically ordered alphabetically"
msgstr "Seçenekler otomatik olarak alfabetik olarak sıralanır"
-#: netbox/extras/models/customfields.py:748
+#: netbox/extras/models/customfields.py:749
msgid "custom field choice set"
msgstr "özel alan seçim kümesi"
-#: netbox/extras/models/customfields.py:749
+#: netbox/extras/models/customfields.py:750
msgid "custom field choice sets"
msgstr "özel alan seçim kümeleri"
-#: netbox/extras/models/customfields.py:785
+#: netbox/extras/models/customfields.py:786
msgid "Must define base or extra choices."
msgstr "Temel veya ekstra seçenekleri tanımlamalıdır."
@@ -8376,19 +8378,19 @@ msgstr "Komut Dosyası Verileri"
msgid "Script Execution Parameters"
msgstr "Script Yürütme Parametreleri"
-#: netbox/extras/scripts.py:664
+#: netbox/extras/scripts.py:666
msgid "Database changes have been reverted automatically."
msgstr "Veritabanı değişiklikleri otomatik olarak geri alındı."
-#: netbox/extras/scripts.py:677
+#: netbox/extras/scripts.py:679
msgid "Script aborted with error: "
msgstr "Komut dosyası hatayla iptal edildi: "
-#: netbox/extras/scripts.py:687
+#: netbox/extras/scripts.py:689
msgid "An exception occurred: "
msgstr "Bir istisna oluştu: "
-#: netbox/extras/scripts.py:690
+#: netbox/extras/scripts.py:692
msgid "Database changes have been reverted due to error."
msgstr "Veritabanı değişiklikleri hata nedeniyle geri alındı."
@@ -8484,7 +8486,7 @@ msgstr "İş Sonu"
#: netbox/extras/tables/tables.py:426 netbox/netbox/navigation/menu.py:64
#: netbox/templates/dcim/devicerole.html:8
msgid "Device Roles"
-msgstr "Aygıt Rolleri"
+msgstr "Cihaz Rolleri"
#: netbox/extras/tables/tables.py:467 netbox/templates/account/profile.html:19
#: netbox/templates/users/user.html:21
@@ -9131,7 +9133,7 @@ msgstr "VRF'de mevcut"
#: netbox/ipam/forms/filtersets.py:311
msgid "Device/VM"
-msgstr "Aygıt/VM"
+msgstr "Cihaz/VM"
#: netbox/ipam/forms/filtersets.py:321
msgid "Parent Prefix"
@@ -9139,7 +9141,7 @@ msgstr "Ebeveyn Öneki"
#: netbox/ipam/forms/filtersets.py:347
msgid "Assigned Device"
-msgstr "Atanan Aygıt"
+msgstr "Atanan Cihaz"
#: netbox/ipam/forms/filtersets.py:352
msgid "Assigned VM"
@@ -9605,12 +9607,12 @@ msgstr "servisler"
#: netbox/ipam/models/services.py:117
msgid ""
"A service cannot be associated with both a device and a virtual machine."
-msgstr "Bir hizmet hem aygıt hem de sanal makine ile ilişkilendirilemez."
+msgstr "Bir hizmet hem cihaz hem de sanal makine ile ilişkilendirilemez."
#: netbox/ipam/models/services.py:119
msgid ""
"A service must be associated with either a device or a virtual machine."
-msgstr "Bir hizmet, bir aygıt veya sanal makine ile ilişkilendirilmelidir."
+msgstr "Bir hizmet, bir cihaz veya sanal makine ile ilişkilendirilmelidir."
#: netbox/ipam/models/vlans.py:49
msgid "minimum VLAN ID"
@@ -9666,7 +9668,7 @@ msgid "The primary function of this VLAN"
msgstr "Bu VLAN'ın birincil işlevi"
#: netbox/ipam/models/vlans.py:215 netbox/ipam/tables/ip.py:175
-#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:961
+#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:971
#: netbox/netbox/navigation/menu.py:180 netbox/netbox/navigation/menu.py:182
msgid "VLANs"
msgstr "VLAN'lar"
@@ -9741,7 +9743,7 @@ msgid "Added"
msgstr "Eklendi"
#: netbox/ipam/tables/ip.py:127 netbox/ipam/tables/ip.py:165
-#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:342
+#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:346
#: netbox/netbox/navigation/menu.py:152 netbox/netbox/navigation/menu.py:154
#: netbox/templates/ipam/vlan.html:84
msgid "Prefixes"
@@ -9749,7 +9751,7 @@ msgstr "Önekler"
#: netbox/ipam/tables/ip.py:130 netbox/ipam/tables/ip.py:267
#: netbox/ipam/tables/ip.py:320 netbox/ipam/tables/vlans.py:82
-#: netbox/templates/dcim/device.html:253
+#: netbox/templates/dcim/device.html:260
#: netbox/templates/ipam/aggregate.html:24
#: netbox/templates/ipam/iprange.html:29 netbox/templates/ipam/prefix.html:106
msgid "Utilization"
@@ -9844,23 +9846,23 @@ msgstr ""
"DNS adlarında yalnızca alfanümerik karakterlere, yıldızlara, tirelere, "
"noktalara ve alt çizgilere izin verilir"
-#: netbox/ipam/views.py:528
+#: netbox/ipam/views.py:533
msgid "Child Prefixes"
msgstr "Çocuk Önekleri"
-#: netbox/ipam/views.py:563
+#: netbox/ipam/views.py:569
msgid "Child Ranges"
msgstr "Çocuk Aralıkları"
-#: netbox/ipam/views.py:889
+#: netbox/ipam/views.py:898
msgid "Related IPs"
msgstr "İlgili IP'ler"
-#: netbox/ipam/views.py:1116
+#: netbox/ipam/views.py:1127
msgid "Device Interfaces"
-msgstr "Aygıt Arayüzleri"
+msgstr "Cihaz Arayüzleri"
-#: netbox/ipam/views.py:1133
+#: netbox/ipam/views.py:1145
msgid "VM Interfaces"
msgstr "VM Arayüzleri"
@@ -10194,6 +10196,10 @@ msgstr "Regeks"
msgid "Object type(s)"
msgstr "Nesne türü (ler)"
+#: netbox/netbox/forms/__init__.py:40
+msgid "Lookup"
+msgstr ""
+
#: netbox/netbox/forms/base.py:88
msgid ""
"Tag slugs separated by commas, encased with double quotes (e.g. "
@@ -10298,10 +10304,10 @@ msgstr "İletişim Atamaları"
msgid "Modules"
msgstr "Modüller"
-#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:158
+#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:160
#: netbox/templates/dcim/virtualdevicecontext.html:8
msgid "Virtual Device Contexts"
-msgstr "Sanal Aygıt Bağlamları"
+msgstr "Sanal Cihaz Bağlamları"
#: netbox/netbox/navigation/menu.py:75
msgid "Manufacturers"
@@ -10309,7 +10315,7 @@ msgstr "İmalatçıları"
#: netbox/netbox/navigation/menu.py:79
msgid "Device Components"
-msgstr "Aygıt Bileşenleri"
+msgstr "Cihaz Bileşenleri"
#: netbox/netbox/navigation/menu.py:91
#: netbox/templates/dcim/inventoryitemrole.html:8
@@ -10360,7 +10366,7 @@ msgstr "VLAN Grupları"
msgid "Service Templates"
msgstr "Hizmet Şablonları"
-#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:295
+#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:302
#: netbox/templates/ipam/ipaddress.html:118
#: netbox/templates/virtualization/virtualmachine.html:150
msgid "Services"
@@ -10427,7 +10433,7 @@ msgstr "Sanallaştırma"
#: netbox/templates/virtualization/virtualmachine/base.html:32
#: netbox/templates/virtualization/virtualmachine_list.html:21
#: netbox/virtualization/tables/virtualmachines.py:103
-#: netbox/virtualization/views.py:380
+#: netbox/virtualization/views.py:385
msgid "Virtual Disks"
msgstr "Sanal Diskler"
@@ -10489,7 +10495,7 @@ msgstr "Özelleştirme"
#: netbox/templates/htmx/form.html:19 netbox/templates/inc/filter_list.html:30
#: netbox/templates/inc/panels/custom_fields.html:7
#: netbox/templates/ipam/ipaddress_bulk_add.html:35
-#: netbox/templates/ipam/vlan_edit.html:63
+#: netbox/templates/ipam/vlan_edit.html:59
msgid "Custom Fields"
msgstr "Özel Alanlar"
@@ -10595,7 +10601,7 @@ msgstr "Yapılandırma Geçmişi"
msgid "Background Tasks"
msgstr "Arka Plan Görevleri"
-#: netbox/netbox/navigation/menu.py:483 netbox/templates/500.html:35
+#: netbox/netbox/navigation/menu.py:480 netbox/templates/500.html:35
#: netbox/templates/account/preferences.html:22
#: netbox/templates/core/system.html:80
msgid "Plugins"
@@ -10735,43 +10741,43 @@ msgstr "Başlatıldıktan sonra kayıt defterine mağazalar eklenemiyor"
msgid "Cannot delete stores from registry"
msgstr "Mağazalar kayıt defterinden silinemiyor"
-#: netbox/netbox/settings.py:724
+#: netbox/netbox/settings.py:741
msgid "German"
msgstr "Alman"
-#: netbox/netbox/settings.py:725
+#: netbox/netbox/settings.py:742
msgid "English"
msgstr "İngilizce"
-#: netbox/netbox/settings.py:726
+#: netbox/netbox/settings.py:743
msgid "Spanish"
msgstr "İspanyolca"
-#: netbox/netbox/settings.py:727
+#: netbox/netbox/settings.py:744
msgid "French"
msgstr "Fransızca"
-#: netbox/netbox/settings.py:728
+#: netbox/netbox/settings.py:745
msgid "Japanese"
msgstr "Japonca"
-#: netbox/netbox/settings.py:729
+#: netbox/netbox/settings.py:746
msgid "Portuguese"
msgstr "Portekizce"
-#: netbox/netbox/settings.py:730
+#: netbox/netbox/settings.py:747
msgid "Russian"
msgstr "Rusça"
-#: netbox/netbox/settings.py:731
+#: netbox/netbox/settings.py:748
msgid "Turkish"
msgstr "Türkçe"
-#: netbox/netbox/settings.py:732
+#: netbox/netbox/settings.py:749
msgid "Ukrainian"
msgstr "Ukraynalı"
-#: netbox/netbox/settings.py:733
+#: netbox/netbox/settings.py:750
msgid "Chinese"
msgstr "Çince"
@@ -10818,7 +10824,7 @@ msgstr "Değişiklik Günlüğü"
msgid "Journal"
msgstr "dergi"
-#: netbox/netbox/views/generic/object_views.py:106
+#: netbox/netbox/views/generic/object_views.py:108
#, python-brace-format
msgid "{class_name} must implement get_children()"
msgstr "{class_name} get_children () uygulamasını uygulamalıdır"
@@ -11389,8 +11395,8 @@ msgstr "Arka Plan Kuyrukları"
#: netbox/templates/core/rq_worker_list.html:45
#: netbox/templates/extras/script_result.html:49
#: netbox/templates/extras/script_result.html:51
-#: netbox/templates/inc/table_controls_htmx.html:28
-#: netbox/templates/inc/table_controls_htmx.html:31
+#: netbox/templates/inc/table_controls_htmx.html:30
+#: netbox/templates/inc/table_controls_htmx.html:33
msgid "Configure Table"
msgstr "Tabloyu Yapılandır"
@@ -11500,7 +11506,7 @@ msgstr "İçindeki işçiler "
#: netbox/templates/core/system.html:11
#: netbox/utilities/templates/buttons/export.html:4
msgid "Export"
-msgstr "İhracat"
+msgstr "Dışa Aktar"
#: netbox/templates/core/system.html:28
msgid "System Status"
@@ -11628,11 +11634,11 @@ msgstr "Bağlı Değil"
#: netbox/templates/dcim/device.html:34
msgid "Highlight device in rack"
-msgstr "Raftaki cihazı vurgulayın"
+msgstr "Kabindeki cihazı vurgulayın"
#: netbox/templates/dcim/device.html:55
msgid "Not racked"
-msgstr "Rackli değil"
+msgstr "Kabine bağlı değil"
#: netbox/templates/dcim/device.html:62 netbox/templates/dcim/site.html:94
msgid "GPS Coordinates"
@@ -11653,56 +11659,58 @@ msgstr "Varlık Etiketi"
msgid "View Virtual Chassis"
msgstr "Sanal Kasayı Görüntüle"
-#: netbox/templates/dcim/device.html:162
+#: netbox/templates/dcim/device.html:164
msgid "Create VDC"
msgstr "VDC oluştur"
-#: netbox/templates/dcim/device.html:173
+#: netbox/templates/dcim/device.html:175
#: netbox/templates/dcim/device_edit.html:64
#: netbox/virtualization/forms/model_forms.py:223
msgid "Management"
msgstr "Yönetim"
-#: netbox/templates/dcim/device.html:193 netbox/templates/dcim/device.html:209
+#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211
+#: netbox/templates/dcim/device.html:227
#: netbox/templates/virtualization/virtualmachine.html:53
#: netbox/templates/virtualization/virtualmachine.html:69
msgid "NAT for"
msgstr "NAT için"
-#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211
+#: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213
+#: netbox/templates/dcim/device.html:229
#: netbox/templates/virtualization/virtualmachine.html:55
#: netbox/templates/virtualization/virtualmachine.html:71
msgid "NAT"
-msgstr "THE NİGHT"
+msgstr "NAT"
-#: netbox/templates/dcim/device.html:245 netbox/templates/dcim/rack.html:67
+#: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:67
msgid "Power Utilization"
msgstr "Güç Kullanımı"
-#: netbox/templates/dcim/device.html:249
+#: netbox/templates/dcim/device.html:256
msgid "Input"
msgstr "Giriş"
-#: netbox/templates/dcim/device.html:250
+#: netbox/templates/dcim/device.html:257
msgid "Outlets"
msgstr "Satış noktaları"
-#: netbox/templates/dcim/device.html:251
+#: netbox/templates/dcim/device.html:258
msgid "Allocated"
msgstr "Tahsis edilmiş"
-#: netbox/templates/dcim/device.html:261 netbox/templates/dcim/device.html:263
-#: netbox/templates/dcim/device.html:279
+#: netbox/templates/dcim/device.html:268 netbox/templates/dcim/device.html:270
+#: netbox/templates/dcim/device.html:286
#: netbox/templates/dcim/powerfeed.html:67
msgid "VA"
msgstr "İL"
-#: netbox/templates/dcim/device.html:273
+#: netbox/templates/dcim/device.html:280
msgctxt "Leg of a power feed"
msgid "Leg"
msgstr "Bacak"
-#: netbox/templates/dcim/device.html:299
+#: netbox/templates/dcim/device.html:306
#: netbox/templates/virtualization/virtualmachine.html:154
msgid "Add a service"
msgstr "Hizmet ekle"
@@ -11727,7 +11735,7 @@ msgstr "Konsol Sunucusu Bağlantı Noktaları Ekle"
#: netbox/templates/dcim/device/devicebays.html:10
msgid "Add Device Bays"
-msgstr "Aygıt Yuvaları Ekle"
+msgstr "Cihaz Yuvaları Ekle"
#: netbox/templates/dcim/device/frontports.html:24
msgid "Add Front Ports"
@@ -11828,11 +11836,11 @@ msgstr "Yeniden Adlandır"
#: netbox/templates/dcim/devicebay.html:17
msgid "Device Bay"
-msgstr "Aygıt Yuvası"
+msgstr "Cihaz Yuvası"
#: netbox/templates/dcim/devicebay.html:43
msgid "Installed Device"
-msgstr "Yüklü Aygıt"
+msgstr "Yüklü Cihaz"
#: netbox/templates/dcim/devicebay_depopulate.html:6
#, python-format
@@ -11859,7 +11867,7 @@ msgstr "Körfez"
#: netbox/templates/dcim/devicerole.html:14
#: netbox/templates/dcim/platform.html:17
msgid "Add Device"
-msgstr "Aygıt Ekle"
+msgstr "Cihaz Ekle"
#: netbox/templates/dcim/devicerole.html:40
msgid "VM Role"
@@ -11910,7 +11918,7 @@ msgstr "Bağlantı Durumu"
#: netbox/templates/dcim/htmx/cable_edit.html:10
msgid "A Side"
-msgstr "Bir Taraf"
+msgstr "A Tarafı"
#: netbox/templates/dcim/htmx/cable_edit.html:30
msgid "B Side"
@@ -12029,7 +12037,7 @@ msgstr "Kanal Genişliği"
#: netbox/wireless/forms/filtersets.py:80 netbox/wireless/models.py:81
#: netbox/wireless/models.py:155 netbox/wireless/tables/wirelesslan.py:44
msgid "SSID"
-msgstr "SSİD"
+msgstr "SSID"
#: netbox/templates/dcim/interface.html:305
msgid "LAG Members"
@@ -12073,11 +12081,11 @@ msgstr "Konum Ekle"
#: netbox/templates/dcim/location.html:94 netbox/templates/dcim/site.html:144
msgid "Add a Device"
-msgstr "Aygıt Ekle"
+msgstr "Cihaz Ekle"
#: netbox/templates/dcim/manufacturer.html:16
msgid "Add Device Type"
-msgstr "Aygıt Türü Ekle"
+msgstr "Cihaz Türü Ekle"
#: netbox/templates/dcim/manufacturer.html:21
msgid "Add Module Type"
@@ -12085,7 +12093,7 @@ msgstr "Modül Türü Ekle"
#: netbox/templates/dcim/powerfeed.html:53
msgid "Connected Device"
-msgstr "Bağlı Aygıt"
+msgstr "Bağlı Cihaz"
#: netbox/templates/dcim/powerfeed.html:63
msgid "Utilization (Allocated"
@@ -12103,7 +12111,7 @@ msgstr "V"
#: netbox/templates/dcim/powerfeed.html:92
msgctxt "Abbreviation for amperes"
msgid "A"
-msgstr "BİR"
+msgstr "A"
#: netbox/templates/dcim/poweroutlet.html:48
msgid "Feed Leg"
@@ -12131,7 +12139,7 @@ msgstr "azalan"
#: netbox/templates/dcim/rack.html:91
msgid "ascending"
-msgstr "yükselen"
+msgstr "artan"
#: netbox/templates/dcim/rack.html:94
msgid "Starting Unit"
@@ -12825,11 +12833,11 @@ msgstr "Uygula"
#: netbox/templates/generic/bulk_import.html:19
msgid "Bulk Import"
-msgstr "Toplu İthalat"
+msgstr "Toplu İçe Aktar"
#: netbox/templates/generic/bulk_import.html:25
msgid "Direct Import"
-msgstr "Doğrudan İthalat"
+msgstr "Doğrudan İçe Aktar"
#: netbox/templates/generic/bulk_import.html:30
msgid "Upload File"
@@ -13077,7 +13085,7 @@ msgstr "Veriler yukarı akış dosyasıyla senkronize değil"
msgid "Quick search"
msgstr ""
-#: netbox/templates/inc/table_controls_htmx.html:19
+#: netbox/templates/inc/table_controls_htmx.html:20
msgid "Saved filter"
msgstr ""
@@ -13482,11 +13490,11 @@ msgstr "Kümeye Aygıt Ekle %(cluster)s"
#: netbox/templates/virtualization/cluster_add_devices.html:23
msgid "Device Selection"
-msgstr "Aygıt Seçimi"
+msgstr "Cihaz Seçimi"
#: netbox/templates/virtualization/cluster_add_devices.html:31
msgid "Add Devices"
-msgstr "Aygıt Ekle"
+msgstr "Cihaz Ekle"
#: netbox/templates/virtualization/clustergroup.html:10
#: netbox/templates/virtualization/clustertype.html:10
@@ -13710,7 +13718,7 @@ msgstr "Ebeveyn iletişim grubu (ID)"
#: netbox/tenancy/filtersets.py:35
msgid "Parent contact group (slug)"
-msgstr "Ebeveyn iletişim grubu (sümüklü böcek)"
+msgstr "Ebeveyn iletişim grubu (kısa ad)"
#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68
#: netbox/tenancy/filtersets.py:111
@@ -13744,7 +13752,7 @@ msgstr "Ana kiracı grubu (ID)"
#: netbox/tenancy/filtersets.py:176
msgid "Parent tenant group (slug)"
-msgstr "Ana kiracı grubu (sümüklü böcek)"
+msgstr "Ana kiracı grubu (kısa ad)"
#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202
msgid "Tenant group (ID)"
@@ -14153,7 +14161,11 @@ msgstr ""
msgid "More than 50"
msgstr "50'den fazla"
-#: netbox/utilities/fields.py:157
+#: netbox/utilities/fields.py:30
+msgid "RGB color in hexadecimal. Example: "
+msgstr ""
+
+#: netbox/utilities/fields.py:159
#, python-format
msgid ""
"%s(%r) is invalid. to_model parameter to CounterCacheField must be a string "
@@ -14162,7 +14174,7 @@ msgstr ""
"%s(%r) geçersiz. counterCacheField için to_model parametresi 'app.model' "
"biçiminde bir dize olmalıdır"
-#: netbox/utilities/fields.py:167
+#: netbox/utilities/fields.py:169
#, python-format
msgid ""
"%s(%r) is invalid. to_field parameter to CounterCacheField must be a string "
@@ -14433,7 +14445,7 @@ msgstr "Dışa aktarma şablonu ekle"
#: netbox/utilities/templates/buttons/import.html:4
msgid "Import"
-msgstr "İthalat"
+msgstr "İçe aktar"
#: netbox/utilities/templates/form_helpers/render_field.html:39
msgid "Copy to clipboard"
@@ -14463,6 +14475,14 @@ msgstr "Yukarı hareket et"
msgid "Move Down"
msgstr "Aşağı hareket et"
+#: netbox/utilities/templates/navigation/menu.html:14
+msgid "Search…"
+msgstr ""
+
+#: netbox/utilities/templates/navigation/menu.html:14
+msgid "Search NetBox"
+msgstr ""
+
#: netbox/utilities/templates/widgets/apiselect.html:7
msgid "Open selector"
msgstr "Seçiciyi aç"
@@ -14484,19 +14504,19 @@ msgstr "Test csv_update_data tanımlamalıdır."
msgid "{value} is not a valid regular expression."
msgstr "{value} geçerli bir normal ifade değildir."
-#: netbox/utilities/views.py:44
+#: netbox/utilities/views.py:45
#, python-brace-format
msgid "{self.__class__.__name__} must implement get_required_permission()"
msgstr ""
"{self.__class__.__name__} get_required_permissions () uygulamasını "
"uygulamalıdır"
-#: netbox/utilities/views.py:80
+#: netbox/utilities/views.py:81
#, python-brace-format
msgid "{class_name} must implement get_required_permission()"
msgstr "{class_name} get_required_permissions () uygulamasını uygulamalıdır"
-#: netbox/utilities/views.py:104
+#: netbox/utilities/views.py:105
#, python-brace-format
msgid ""
"{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
@@ -14518,10 +14538,6 @@ msgstr "Ebeveyn grubu (kısa ad)"
msgid "Cluster type (ID)"
msgstr "Küme türü (ID)"
-#: netbox/virtualization/filtersets.py:130
-msgid "Cluster group (ID)"
-msgstr "Küme grubu (ID)"
-
#: netbox/virtualization/filtersets.py:151
#: netbox/virtualization/filtersets.py:267
msgid "Cluster (ID)"
diff --git a/netbox/translations/zh/LC_MESSAGES/django.mo b/netbox/translations/zh/LC_MESSAGES/django.mo
index e1aae350a..ec12fb52e 100644
Binary files a/netbox/translations/zh/LC_MESSAGES/django.mo and b/netbox/translations/zh/LC_MESSAGES/django.mo differ
diff --git a/netbox/translations/zh/LC_MESSAGES/django.po b/netbox/translations/zh/LC_MESSAGES/django.po
index 80efa12b7..903a5d7db 100644
--- a/netbox/translations/zh/LC_MESSAGES/django.po
+++ b/netbox/translations/zh/LC_MESSAGES/django.po
@@ -5,15 +5,25 @@
#
# Translators:
# Jeremy Stretch, 2024
+# Mitt, 2024
+# 夏小正, 2024
+# RossCheung, 2024
+# Daniel Wu, 2024
+# JingHua Wu, 2024
+# xiaohu han, 2024
+# 闻寄云, 2024
+# 孔南, 2024
+# Bubu, 2024
+# jiyin luo, 2024
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2024-05-22 17:41+0000\n"
+"POT-Creation-Date: 2024-07-09 05:02+0000\n"
"PO-Revision-Date: 2023-10-30 17:48+0000\n"
-"Last-Translator: Jeremy Stretch, 2024\n"
+"Last-Translator: jiyin luo, 2024\n"
"Language-Team: Chinese (https://app.transifex.com/netbox-community/teams/178115/zh/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,11464 +31,12115 @@ msgstr ""
"Language: zh\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: account/tables.py:27 templates/account/token.html:22
-#: templates/users/token.html:17 users/forms/bulk_import.py:39
-#: users/forms/model_forms.py:113
+#: netbox/account/tables.py:27 netbox/templates/account/token.html:22
+#: netbox/templates/users/token.html:17 netbox/users/forms/bulk_import.py:39
+#: netbox/users/forms/model_forms.py:113
msgid "Key"
-msgstr "钥匙"
+msgstr "令牌"
-#: account/tables.py:31 users/forms/filtersets.py:133
+#: netbox/account/tables.py:31 netbox/users/forms/filtersets.py:133
msgid "Write Enabled"
-msgstr "写入已启用"
+msgstr "可写"
-#: account/tables.py:35 core/tables/jobs.py:29 core/tables/tasks.py:79
-#: extras/choices.py:138 extras/tables/tables.py:499
-#: templates/account/token.html:43 templates/core/configrevision.html:26
-#: templates/core/configrevision_restore.html:12 templates/core/job.html:51
-#: templates/core/rq_task.html:16 templates/core/rq_task.html:73
-#: templates/core/rq_worker.html:14
-#: templates/extras/htmx/script_result.html:12
-#: templates/extras/journalentry.html:22 templates/generic/object.html:58
-#: templates/users/token.html:35
+#: netbox/account/tables.py:35 netbox/core/tables/jobs.py:29
+#: netbox/core/tables/tasks.py:79 netbox/extras/choices.py:142
+#: netbox/extras/tables/tables.py:500 netbox/templates/account/token.html:43
+#: netbox/templates/core/configrevision.html:26
+#: netbox/templates/core/configrevision_restore.html:12
+#: netbox/templates/core/job.html:51 netbox/templates/core/rq_task.html:16
+#: netbox/templates/core/rq_task.html:73
+#: netbox/templates/core/rq_worker.html:14
+#: netbox/templates/extras/htmx/script_result.html:12
+#: netbox/templates/extras/journalentry.html:22
+#: netbox/templates/generic/object.html:58
+#: netbox/templates/users/token.html:35
msgid "Created"
msgstr "已创建"
-#: account/tables.py:39 templates/account/token.html:47
-#: templates/users/token.html:39 users/forms/bulk_edit.py:117
-#: users/forms/filtersets.py:137
+#: netbox/account/tables.py:39 netbox/templates/account/token.html:47
+#: netbox/templates/users/token.html:39 netbox/users/forms/bulk_edit.py:117
+#: netbox/users/forms/filtersets.py:137
msgid "Expires"
msgstr "过期"
-#: account/tables.py:42 users/forms/filtersets.py:142
+#: netbox/account/tables.py:42 netbox/users/forms/filtersets.py:142
msgid "Last Used"
-msgstr "上次使用"
+msgstr "最后使用"
-#: account/tables.py:45 templates/account/token.html:55
-#: templates/users/token.html:47 users/forms/bulk_edit.py:122
-#: users/forms/model_forms.py:125
+#: netbox/account/tables.py:45 netbox/templates/account/token.html:55
+#: netbox/templates/users/token.html:47 netbox/users/forms/bulk_edit.py:122
+#: netbox/users/forms/model_forms.py:125
msgid "Allowed IPs"
-msgstr "允许的 IP"
+msgstr "允许的IP"
-#: account/views.py:197
+#: netbox/account/views.py:204
msgid "Your preferences have been updated."
-msgstr "您的首选项已更新。"
+msgstr "你的首选项已更新。"
-#: circuits/choices.py:21 dcim/choices.py:20 dcim/choices.py:102
-#: dcim/choices.py:174 dcim/choices.py:220 dcim/choices.py:1457
-#: dcim/choices.py:1533 dcim/choices.py:1583 virtualization/choices.py:20
-#: virtualization/choices.py:45 vpn/choices.py:18
+#: netbox/circuits/choices.py:21 netbox/dcim/choices.py:20
+#: netbox/dcim/choices.py:102 netbox/dcim/choices.py:174
+#: netbox/dcim/choices.py:220 netbox/dcim/choices.py:1459
+#: netbox/dcim/choices.py:1535 netbox/dcim/choices.py:1585
+#: netbox/virtualization/choices.py:20 netbox/virtualization/choices.py:45
+#: netbox/vpn/choices.py:18
msgid "Planned"
-msgstr "计划中"
+msgstr "已规划的"
-#: circuits/choices.py:22 netbox/navigation/menu.py:290
+#: netbox/circuits/choices.py:22 netbox/netbox/navigation/menu.py:290
msgid "Provisioning"
-msgstr "资源调配"
+msgstr "置备"
-#: circuits/choices.py:23 core/tables/tasks.py:22 dcim/choices.py:22
-#: dcim/choices.py:103 dcim/choices.py:173 dcim/choices.py:219
-#: dcim/choices.py:1532 dcim/choices.py:1582 extras/tables/tables.py:385
-#: ipam/choices.py:31 ipam/choices.py:49 ipam/choices.py:69
-#: ipam/choices.py:154 templates/extras/configcontext.html:25
-#: templates/users/user.html:37 users/forms/bulk_edit.py:38
-#: virtualization/choices.py:22 virtualization/choices.py:44 vpn/choices.py:19
-#: wireless/choices.py:25
+#: netbox/circuits/choices.py:23 netbox/core/tables/tasks.py:22
+#: netbox/dcim/choices.py:22 netbox/dcim/choices.py:103
+#: netbox/dcim/choices.py:173 netbox/dcim/choices.py:219
+#: netbox/dcim/choices.py:1534 netbox/dcim/choices.py:1584
+#: netbox/extras/tables/tables.py:386 netbox/ipam/choices.py:31
+#: netbox/ipam/choices.py:49 netbox/ipam/choices.py:69
+#: netbox/ipam/choices.py:154 netbox/templates/extras/configcontext.html:25
+#: netbox/templates/users/user.html:37 netbox/users/forms/bulk_edit.py:38
+#: netbox/virtualization/choices.py:22 netbox/virtualization/choices.py:44
+#: netbox/vpn/choices.py:19 netbox/wireless/choices.py:25
msgid "Active"
-msgstr "活跃"
+msgstr "在线"
-#: circuits/choices.py:24 dcim/choices.py:172 dcim/choices.py:218
-#: dcim/choices.py:1531 dcim/choices.py:1584 virtualization/choices.py:24
-#: virtualization/choices.py:43
+#: netbox/circuits/choices.py:24 netbox/dcim/choices.py:172
+#: netbox/dcim/choices.py:218 netbox/dcim/choices.py:1533
+#: netbox/dcim/choices.py:1586 netbox/virtualization/choices.py:24
+#: netbox/virtualization/choices.py:43
msgid "Offline"
msgstr "离线"
-#: circuits/choices.py:25
+#: netbox/circuits/choices.py:25
msgid "Deprovisioning"
-msgstr "取消配置"
+msgstr "预留"
-#: circuits/choices.py:26
+#: netbox/circuits/choices.py:26
msgid "Decommissioned"
-msgstr "已退役"
+msgstr "退役"
-#: circuits/filtersets.py:29 circuits/filtersets.py:196 dcim/filtersets.py:97
-#: dcim/filtersets.py:151 dcim/filtersets.py:211 dcim/filtersets.py:297
-#: dcim/filtersets.py:406 dcim/filtersets.py:969 dcim/filtersets.py:1305
-#: dcim/filtersets.py:1832 dcim/filtersets.py:2075 dcim/filtersets.py:2133
-#: ipam/filtersets.py:339 ipam/filtersets.py:945
-#: virtualization/filtersets.py:45 virtualization/filtersets.py:173
-#: vpn/filtersets.py:377
+#: netbox/circuits/filtersets.py:29 netbox/circuits/filtersets.py:196
+#: netbox/dcim/filtersets.py:97 netbox/dcim/filtersets.py:151
+#: netbox/dcim/filtersets.py:211 netbox/dcim/filtersets.py:297
+#: netbox/dcim/filtersets.py:406 netbox/dcim/filtersets.py:969
+#: netbox/dcim/filtersets.py:1316 netbox/dcim/filtersets.py:1843
+#: netbox/dcim/filtersets.py:2086 netbox/dcim/filtersets.py:2144
+#: netbox/ipam/filtersets.py:339 netbox/ipam/filtersets.py:945
+#: netbox/virtualization/filtersets.py:45
+#: netbox/virtualization/filtersets.py:173 netbox/vpn/filtersets.py:377
msgid "Region (ID)"
-msgstr "地区 (ID)"
+msgstr "区域(ID)"
-#: circuits/filtersets.py:36 circuits/filtersets.py:203 dcim/filtersets.py:104
-#: dcim/filtersets.py:157 dcim/filtersets.py:218 dcim/filtersets.py:304
-#: dcim/filtersets.py:413 dcim/filtersets.py:976 dcim/filtersets.py:1312
-#: dcim/filtersets.py:1839 dcim/filtersets.py:2082 dcim/filtersets.py:2140
-#: extras/filtersets.py:461 ipam/filtersets.py:346 ipam/filtersets.py:952
-#: virtualization/filtersets.py:52 virtualization/filtersets.py:180
-#: vpn/filtersets.py:372
+#: netbox/circuits/filtersets.py:36 netbox/circuits/filtersets.py:203
+#: netbox/dcim/filtersets.py:104 netbox/dcim/filtersets.py:157
+#: netbox/dcim/filtersets.py:218 netbox/dcim/filtersets.py:304
+#: netbox/dcim/filtersets.py:413 netbox/dcim/filtersets.py:976
+#: netbox/dcim/filtersets.py:1323 netbox/dcim/filtersets.py:1850
+#: netbox/dcim/filtersets.py:2093 netbox/dcim/filtersets.py:2151
+#: netbox/extras/filtersets.py:461 netbox/ipam/filtersets.py:346
+#: netbox/ipam/filtersets.py:952 netbox/virtualization/filtersets.py:52
+#: netbox/virtualization/filtersets.py:180 netbox/vpn/filtersets.py:372
msgid "Region (slug)"
-msgstr "区域(slug)"
+msgstr "地区(缩写)"
-#: circuits/filtersets.py:42 circuits/filtersets.py:209 dcim/filtersets.py:127
-#: dcim/filtersets.py:224 dcim/filtersets.py:310 dcim/filtersets.py:419
-#: dcim/filtersets.py:982 dcim/filtersets.py:1318 dcim/filtersets.py:1845
-#: dcim/filtersets.py:2088 dcim/filtersets.py:2146 ipam/filtersets.py:352
-#: ipam/filtersets.py:958 virtualization/filtersets.py:58
-#: virtualization/filtersets.py:186
+#: netbox/circuits/filtersets.py:42 netbox/circuits/filtersets.py:209
+#: netbox/dcim/filtersets.py:127 netbox/dcim/filtersets.py:224
+#: netbox/dcim/filtersets.py:310 netbox/dcim/filtersets.py:419
+#: netbox/dcim/filtersets.py:982 netbox/dcim/filtersets.py:1329
+#: netbox/dcim/filtersets.py:1856 netbox/dcim/filtersets.py:2099
+#: netbox/dcim/filtersets.py:2157 netbox/ipam/filtersets.py:352
+#: netbox/ipam/filtersets.py:958 netbox/virtualization/filtersets.py:58
+#: netbox/virtualization/filtersets.py:186
msgid "Site group (ID)"
-msgstr "站点组 (ID)"
+msgstr "站点组(ID)"
-#: circuits/filtersets.py:49 circuits/filtersets.py:216 dcim/filtersets.py:134
-#: dcim/filtersets.py:231 dcim/filtersets.py:317 dcim/filtersets.py:426
-#: dcim/filtersets.py:989 dcim/filtersets.py:1325 dcim/filtersets.py:1852
-#: dcim/filtersets.py:2095 dcim/filtersets.py:2153 extras/filtersets.py:467
-#: ipam/filtersets.py:359 ipam/filtersets.py:965
-#: virtualization/filtersets.py:65 virtualization/filtersets.py:193
+#: netbox/circuits/filtersets.py:49 netbox/circuits/filtersets.py:216
+#: netbox/dcim/filtersets.py:134 netbox/dcim/filtersets.py:231
+#: netbox/dcim/filtersets.py:317 netbox/dcim/filtersets.py:426
+#: netbox/dcim/filtersets.py:989 netbox/dcim/filtersets.py:1336
+#: netbox/dcim/filtersets.py:1863 netbox/dcim/filtersets.py:2106
+#: netbox/dcim/filtersets.py:2164 netbox/extras/filtersets.py:467
+#: netbox/ipam/filtersets.py:359 netbox/ipam/filtersets.py:965
+#: netbox/virtualization/filtersets.py:65
+#: netbox/virtualization/filtersets.py:193
msgid "Site group (slug)"
-msgstr "站点组(slug)"
+msgstr "站点组(缩写)"
-#: circuits/filtersets.py:54 circuits/forms/bulk_edit.py:186
-#: circuits/forms/bulk_edit.py:214 circuits/forms/bulk_import.py:126
-#: circuits/forms/filtersets.py:49 circuits/forms/filtersets.py:169
-#: circuits/forms/filtersets.py:207 circuits/forms/model_forms.py:136
-#: circuits/forms/model_forms.py:152 circuits/tables/circuits.py:105
-#: dcim/forms/bulk_edit.py:167 dcim/forms/bulk_edit.py:239
-#: dcim/forms/bulk_edit.py:575 dcim/forms/bulk_edit.py:771
-#: dcim/forms/bulk_import.py:130 dcim/forms/bulk_import.py:184
-#: dcim/forms/bulk_import.py:257 dcim/forms/bulk_import.py:485
-#: dcim/forms/bulk_import.py:1262 dcim/forms/bulk_import.py:1290
-#: dcim/forms/filtersets.py:85 dcim/forms/filtersets.py:218
-#: dcim/forms/filtersets.py:265 dcim/forms/filtersets.py:374
-#: dcim/forms/filtersets.py:682 dcim/forms/filtersets.py:916
-#: dcim/forms/filtersets.py:940 dcim/forms/filtersets.py:1030
-#: dcim/forms/filtersets.py:1068 dcim/forms/filtersets.py:1476
-#: dcim/forms/filtersets.py:1500 dcim/forms/filtersets.py:1524
-#: dcim/forms/model_forms.py:136 dcim/forms/model_forms.py:164
-#: dcim/forms/model_forms.py:206 dcim/forms/model_forms.py:406
-#: dcim/forms/model_forms.py:668 dcim/forms/object_create.py:391
-#: dcim/tables/devices.py:158 dcim/tables/power.py:26 dcim/tables/power.py:93
-#: dcim/tables/racks.py:62 dcim/tables/racks.py:138 dcim/tables/sites.py:129
-#: extras/filtersets.py:477 ipam/forms/bulk_edit.py:216
-#: ipam/forms/bulk_edit.py:270 ipam/forms/bulk_edit.py:448
-#: ipam/forms/bulk_edit.py:522 ipam/forms/bulk_import.py:170
-#: ipam/forms/bulk_import.py:437 ipam/forms/filtersets.py:153
-#: ipam/forms/filtersets.py:231 ipam/forms/filtersets.py:432
-#: ipam/forms/filtersets.py:496 ipam/forms/model_forms.py:203
-#: ipam/forms/model_forms.py:587 ipam/forms/model_forms.py:682
-#: ipam/tables/ip.py:244 ipam/tables/vlans.py:114 ipam/tables/vlans.py:216
-#: templates/circuits/inc/circuit_termination_fields.html:6
-#: templates/dcim/device.html:21 templates/dcim/inc/cable_termination.html:8
-#: templates/dcim/inc/cable_termination.html:33
-#: templates/dcim/location.html:37 templates/dcim/powerpanel.html:22
-#: templates/dcim/rack.html:22 templates/dcim/rackreservation.html:28
-#: templates/dcim/site.html:27 templates/ipam/prefix.html:56
-#: templates/ipam/vlan.html:23 templates/ipam/vlan_edit.html:40
-#: templates/virtualization/cluster.html:42
-#: templates/virtualization/virtualmachine.html:91
-#: virtualization/forms/bulk_edit.py:91 virtualization/forms/bulk_edit.py:109
-#: virtualization/forms/bulk_edit.py:124
-#: virtualization/forms/bulk_import.py:59
-#: virtualization/forms/bulk_import.py:85
-#: virtualization/forms/filtersets.py:79
-#: virtualization/forms/filtersets.py:148
-#: virtualization/forms/model_forms.py:71
-#: virtualization/forms/model_forms.py:104
-#: virtualization/forms/model_forms.py:171
-#: virtualization/tables/clusters.py:77
-#: virtualization/tables/virtualmachines.py:62 vpn/forms/filtersets.py:266
-#: wireless/forms/model_forms.py:76 wireless/forms/model_forms.py:118
+#: netbox/circuits/filtersets.py:54 netbox/circuits/forms/bulk_edit.py:186
+#: netbox/circuits/forms/bulk_edit.py:214
+#: netbox/circuits/forms/bulk_import.py:123
+#: netbox/circuits/forms/filtersets.py:49
+#: netbox/circuits/forms/filtersets.py:169
+#: netbox/circuits/forms/filtersets.py:207
+#: netbox/circuits/forms/model_forms.py:136
+#: netbox/circuits/forms/model_forms.py:152
+#: netbox/circuits/tables/circuits.py:107 netbox/dcim/forms/bulk_edit.py:167
+#: netbox/dcim/forms/bulk_edit.py:239 netbox/dcim/forms/bulk_edit.py:575
+#: netbox/dcim/forms/bulk_edit.py:771 netbox/dcim/forms/bulk_import.py:130
+#: netbox/dcim/forms/bulk_import.py:181 netbox/dcim/forms/bulk_import.py:254
+#: netbox/dcim/forms/bulk_import.py:479 netbox/dcim/forms/bulk_import.py:1250
+#: netbox/dcim/forms/bulk_import.py:1278 netbox/dcim/forms/filtersets.py:86
+#: netbox/dcim/forms/filtersets.py:219 netbox/dcim/forms/filtersets.py:266
+#: netbox/dcim/forms/filtersets.py:375 netbox/dcim/forms/filtersets.py:684
+#: netbox/dcim/forms/filtersets.py:928 netbox/dcim/forms/filtersets.py:952
+#: netbox/dcim/forms/filtersets.py:1042 netbox/dcim/forms/filtersets.py:1080
+#: netbox/dcim/forms/filtersets.py:1488 netbox/dcim/forms/filtersets.py:1512
+#: netbox/dcim/forms/filtersets.py:1536 netbox/dcim/forms/model_forms.py:136
+#: netbox/dcim/forms/model_forms.py:164 netbox/dcim/forms/model_forms.py:206
+#: netbox/dcim/forms/model_forms.py:406 netbox/dcim/forms/model_forms.py:671
+#: netbox/dcim/forms/object_create.py:391 netbox/dcim/tables/devices.py:150
+#: netbox/dcim/tables/power.py:26 netbox/dcim/tables/power.py:93
+#: netbox/dcim/tables/racks.py:62 netbox/dcim/tables/racks.py:138
+#: netbox/dcim/tables/sites.py:129 netbox/extras/filtersets.py:477
+#: netbox/ipam/forms/bulk_edit.py:216 netbox/ipam/forms/bulk_edit.py:270
+#: netbox/ipam/forms/bulk_edit.py:448 netbox/ipam/forms/bulk_edit.py:522
+#: netbox/ipam/forms/bulk_import.py:170 netbox/ipam/forms/bulk_import.py:437
+#: netbox/ipam/forms/filtersets.py:153 netbox/ipam/forms/filtersets.py:231
+#: netbox/ipam/forms/filtersets.py:432 netbox/ipam/forms/filtersets.py:496
+#: netbox/ipam/forms/model_forms.py:203 netbox/ipam/forms/model_forms.py:587
+#: netbox/ipam/forms/model_forms.py:682 netbox/ipam/tables/ip.py:244
+#: netbox/ipam/tables/vlans.py:114 netbox/ipam/tables/vlans.py:216
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:6
+#: netbox/templates/dcim/device.html:22
+#: netbox/templates/dcim/inc/cable_termination.html:8
+#: netbox/templates/dcim/inc/cable_termination.html:33
+#: netbox/templates/dcim/location.html:37
+#: netbox/templates/dcim/powerpanel.html:22 netbox/templates/dcim/rack.html:22
+#: netbox/templates/dcim/rackreservation.html:28
+#: netbox/templates/dcim/site.html:28 netbox/templates/ipam/prefix.html:56
+#: netbox/templates/ipam/vlan.html:23 netbox/templates/ipam/vlan_edit.html:40
+#: netbox/templates/virtualization/cluster.html:42
+#: netbox/templates/virtualization/virtualmachine.html:91
+#: netbox/virtualization/forms/bulk_edit.py:91
+#: netbox/virtualization/forms/bulk_edit.py:109
+#: netbox/virtualization/forms/bulk_edit.py:124
+#: netbox/virtualization/forms/bulk_import.py:59
+#: netbox/virtualization/forms/bulk_import.py:85
+#: netbox/virtualization/forms/filtersets.py:79
+#: netbox/virtualization/forms/filtersets.py:148
+#: netbox/virtualization/forms/model_forms.py:71
+#: netbox/virtualization/forms/model_forms.py:104
+#: netbox/virtualization/forms/model_forms.py:171
+#: netbox/virtualization/tables/clusters.py:77
+#: netbox/virtualization/tables/virtualmachines.py:62
+#: netbox/vpn/forms/filtersets.py:266 netbox/wireless/forms/model_forms.py:76
+#: netbox/wireless/forms/model_forms.py:118
msgid "Site"
msgstr "站点"
-#: circuits/filtersets.py:60 circuits/filtersets.py:227
-#: circuits/filtersets.py:272 dcim/filtersets.py:241 dcim/filtersets.py:327
-#: dcim/filtersets.py:400 extras/filtersets.py:483 ipam/filtersets.py:238
-#: ipam/filtersets.py:369 ipam/filtersets.py:975
-#: virtualization/filtersets.py:75 virtualization/filtersets.py:203
-#: vpn/filtersets.py:382
+#: netbox/circuits/filtersets.py:60 netbox/circuits/filtersets.py:227
+#: netbox/circuits/filtersets.py:272 netbox/dcim/filtersets.py:241
+#: netbox/dcim/filtersets.py:327 netbox/dcim/filtersets.py:400
+#: netbox/extras/filtersets.py:483 netbox/ipam/filtersets.py:238
+#: netbox/ipam/filtersets.py:369 netbox/ipam/filtersets.py:975
+#: netbox/virtualization/filtersets.py:75
+#: netbox/virtualization/filtersets.py:203 netbox/vpn/filtersets.py:382
msgid "Site (slug)"
-msgstr "网站(slug)"
+msgstr "站点(站点)"
-#: circuits/filtersets.py:65
+#: netbox/circuits/filtersets.py:65
msgid "ASN (ID)"
-msgstr "ASN (ID)"
+msgstr "ASN(ID)"
-#: circuits/filtersets.py:71 circuits/forms/filtersets.py:29
-#: ipam/forms/model_forms.py:157 ipam/models/asns.py:108
-#: ipam/models/asns.py:125 ipam/tables/asn.py:41 templates/ipam/asn.html:20
+#: netbox/circuits/filtersets.py:71 netbox/circuits/forms/filtersets.py:29
+#: netbox/ipam/forms/model_forms.py:157 netbox/ipam/models/asns.py:108
+#: netbox/ipam/models/asns.py:125 netbox/ipam/tables/asn.py:41
+#: netbox/templates/ipam/asn.html:20
msgid "ASN"
-msgstr "ASN"
+msgstr "自治系统编号/AS编号"
-#: circuits/filtersets.py:93 circuits/filtersets.py:120
-#: circuits/filtersets.py:154 circuits/filtersets.py:281
-#: ipam/filtersets.py:243
+#: netbox/circuits/filtersets.py:93 netbox/circuits/filtersets.py:120
+#: netbox/circuits/filtersets.py:154 netbox/circuits/filtersets.py:281
+#: netbox/ipam/filtersets.py:243
msgid "Provider (ID)"
-msgstr "提供商 (ID)"
+msgstr "运营商(ID)"
-#: circuits/filtersets.py:99 circuits/filtersets.py:126
-#: circuits/filtersets.py:160 circuits/filtersets.py:287
-#: ipam/filtersets.py:249
+#: netbox/circuits/filtersets.py:99 netbox/circuits/filtersets.py:126
+#: netbox/circuits/filtersets.py:160 netbox/circuits/filtersets.py:287
+#: netbox/ipam/filtersets.py:249
msgid "Provider (slug)"
-msgstr "提供商(slug)"
+msgstr "运营商(缩写)"
-#: circuits/filtersets.py:165
+#: netbox/circuits/filtersets.py:165
msgid "Provider account (ID)"
-msgstr "提供商账户 (ID)"
+msgstr "运营商帐户(ID)"
-#: circuits/filtersets.py:171
+#: netbox/circuits/filtersets.py:171
msgid "Provider account (account)"
-msgstr "提供商账户(账户)"
+msgstr "供应商(账户)"
-#: circuits/filtersets.py:176
+#: netbox/circuits/filtersets.py:176
msgid "Provider network (ID)"
-msgstr "提供商网络 (ID)"
+msgstr "运营商网络(ID)"
-#: circuits/filtersets.py:180
+#: netbox/circuits/filtersets.py:180
msgid "Circuit type (ID)"
-msgstr "电路类型 (ID)"
+msgstr "线路类型 (ID)"
-#: circuits/filtersets.py:186
+#: netbox/circuits/filtersets.py:186
msgid "Circuit type (slug)"
-msgstr "电路类型(弹头)"
+msgstr "线路类型(缩写)"
-#: circuits/filtersets.py:221 circuits/filtersets.py:266
-#: dcim/filtersets.py:235 dcim/filtersets.py:321 dcim/filtersets.py:394
-#: dcim/filtersets.py:993 dcim/filtersets.py:1330 dcim/filtersets.py:1857
-#: dcim/filtersets.py:2099 dcim/filtersets.py:2158 ipam/filtersets.py:232
-#: ipam/filtersets.py:363 ipam/filtersets.py:969
-#: virtualization/filtersets.py:69 virtualization/filtersets.py:197
-#: vpn/filtersets.py:387
+#: netbox/circuits/filtersets.py:221 netbox/circuits/filtersets.py:266
+#: netbox/dcim/filtersets.py:235 netbox/dcim/filtersets.py:321
+#: netbox/dcim/filtersets.py:394 netbox/dcim/filtersets.py:993
+#: netbox/dcim/filtersets.py:1341 netbox/dcim/filtersets.py:1868
+#: netbox/dcim/filtersets.py:2110 netbox/dcim/filtersets.py:2169
+#: netbox/ipam/filtersets.py:232 netbox/ipam/filtersets.py:363
+#: netbox/ipam/filtersets.py:969 netbox/virtualization/filtersets.py:69
+#: netbox/virtualization/filtersets.py:197 netbox/vpn/filtersets.py:387
msgid "Site (ID)"
-msgstr "网站 (ID)"
+msgstr "站点(ID)"
-#: circuits/filtersets.py:231 circuits/filtersets.py:235
+#: netbox/circuits/filtersets.py:231 netbox/circuits/filtersets.py:235
msgid "Termination A (ID)"
-msgstr "终止 A (ID)"
+msgstr "接入点A (ID)"
-#: circuits/filtersets.py:258 core/filtersets.py:73 core/filtersets.py:132
-#: dcim/filtersets.py:693 dcim/filtersets.py:1299 dcim/filtersets.py:2206
-#: extras/filtersets.py:41 extras/filtersets.py:63 extras/filtersets.py:92
-#: extras/filtersets.py:127 extras/filtersets.py:176 extras/filtersets.py:204
-#: extras/filtersets.py:234 extras/filtersets.py:271 extras/filtersets.py:343
-#: extras/filtersets.py:390 extras/filtersets.py:450 extras/filtersets.py:613
-#: extras/filtersets.py:655 extras/filtersets.py:696
-#: ipam/forms/model_forms.py:447 netbox/filtersets.py:275
-#: netbox/forms/__init__.py:22 netbox/forms/base.py:165
-#: templates/htmx/object_selector.html:28 templates/inc/filter_list.html:45
-#: templates/ipam/ipaddress_assign.html:29 templates/search.html:7
-#: templates/search.html:26 tenancy/filtersets.py:100 users/filtersets.py:23
-#: users/filtersets.py:52 users/filtersets.py:92 users/filtersets.py:140
-#: utilities/forms/forms.py:104
+#: netbox/circuits/filtersets.py:258 netbox/core/filtersets.py:73
+#: netbox/core/filtersets.py:132 netbox/dcim/filtersets.py:693
+#: netbox/dcim/filtersets.py:1310 netbox/dcim/filtersets.py:2217
+#: netbox/extras/filtersets.py:41 netbox/extras/filtersets.py:63
+#: netbox/extras/filtersets.py:92 netbox/extras/filtersets.py:127
+#: netbox/extras/filtersets.py:176 netbox/extras/filtersets.py:204
+#: netbox/extras/filtersets.py:234 netbox/extras/filtersets.py:271
+#: netbox/extras/filtersets.py:343 netbox/extras/filtersets.py:390
+#: netbox/extras/filtersets.py:450 netbox/extras/filtersets.py:613
+#: netbox/extras/filtersets.py:655 netbox/extras/filtersets.py:696
+#: netbox/ipam/forms/model_forms.py:447 netbox/netbox/filtersets.py:275
+#: netbox/netbox/forms/__init__.py:22 netbox/netbox/forms/base.py:165
+#: netbox/templates/htmx/object_selector.html:28
+#: netbox/templates/inc/filter_list.html:45
+#: netbox/templates/ipam/ipaddress_assign.html:29
+#: netbox/templates/search.html:7 netbox/templates/search.html:26
+#: netbox/tenancy/filtersets.py:100 netbox/users/filtersets.py:23
+#: netbox/users/filtersets.py:52 netbox/users/filtersets.py:92
+#: netbox/users/filtersets.py:140 netbox/utilities/forms/forms.py:104
+#: netbox/utilities/templates/navigation/menu.html:16
msgid "Search"
-msgstr "搜寻"
+msgstr "搜索"
-#: circuits/filtersets.py:262 circuits/forms/bulk_edit.py:170
-#: circuits/forms/bulk_import.py:117 circuits/forms/filtersets.py:196
-#: circuits/forms/filtersets.py:212 circuits/forms/model_forms.py:109
-#: circuits/forms/model_forms.py:131 circuits/tables/circuits.py:96
-#: dcim/forms/connections.py:71 templates/circuits/circuit.html:15
-#: templates/circuits/circuittermination.html:19
-#: templates/dcim/inc/cable_termination.html:55
-#: templates/dcim/trace/circuit.html:4
+#: netbox/circuits/filtersets.py:262 netbox/circuits/forms/bulk_edit.py:170
+#: netbox/circuits/forms/bulk_import.py:114
+#: netbox/circuits/forms/filtersets.py:196
+#: netbox/circuits/forms/filtersets.py:212
+#: netbox/circuits/forms/model_forms.py:109
+#: netbox/circuits/forms/model_forms.py:131
+#: netbox/circuits/tables/circuits.py:98 netbox/dcim/forms/connections.py:71
+#: netbox/templates/circuits/circuit.html:15
+#: netbox/templates/circuits/circuittermination.html:19
+#: netbox/templates/dcim/inc/cable_termination.html:55
+#: netbox/templates/dcim/trace/circuit.html:4
msgid "Circuit"
-msgstr "电路"
+msgstr "线路"
-#: circuits/filtersets.py:276
+#: netbox/circuits/filtersets.py:276
msgid "ProviderNetwork (ID)"
-msgstr "提供商网络 (ID)"
+msgstr "运营商网络 (ID)"
-#: circuits/forms/bulk_edit.py:28 circuits/forms/filtersets.py:54
-#: circuits/forms/model_forms.py:27 circuits/tables/providers.py:33
-#: dcim/forms/bulk_edit.py:127 dcim/forms/filtersets.py:188
-#: dcim/forms/model_forms.py:122 dcim/tables/sites.py:94
-#: ipam/models/asns.py:126 ipam/tables/asn.py:27 ipam/views.py:219
-#: netbox/navigation/menu.py:159 netbox/navigation/menu.py:162
-#: templates/circuits/provider.html:23
+#: netbox/circuits/forms/bulk_edit.py:28
+#: netbox/circuits/forms/filtersets.py:54
+#: netbox/circuits/forms/model_forms.py:27
+#: netbox/circuits/tables/providers.py:33 netbox/dcim/forms/bulk_edit.py:127
+#: netbox/dcim/forms/filtersets.py:189 netbox/dcim/forms/model_forms.py:122
+#: netbox/dcim/tables/sites.py:94 netbox/ipam/models/asns.py:126
+#: netbox/ipam/tables/asn.py:27 netbox/ipam/views.py:213
+#: netbox/netbox/navigation/menu.py:159 netbox/netbox/navigation/menu.py:162
+#: netbox/templates/circuits/provider.html:23
msgid "ASNs"
-msgstr "ASN"
+msgstr "自治系统编号/AS编号"
-#: circuits/forms/bulk_edit.py:32 circuits/forms/bulk_edit.py:54
-#: circuits/forms/bulk_edit.py:81 circuits/forms/bulk_edit.py:102
-#: circuits/forms/bulk_edit.py:162 circuits/forms/bulk_edit.py:181
-#: core/forms/bulk_edit.py:28 core/tables/plugins.py:29
-#: dcim/forms/bulk_create.py:35 dcim/forms/bulk_edit.py:72
-#: dcim/forms/bulk_edit.py:91 dcim/forms/bulk_edit.py:150
-#: dcim/forms/bulk_edit.py:191 dcim/forms/bulk_edit.py:209
-#: dcim/forms/bulk_edit.py:337 dcim/forms/bulk_edit.py:373
-#: dcim/forms/bulk_edit.py:388 dcim/forms/bulk_edit.py:447
-#: dcim/forms/bulk_edit.py:486 dcim/forms/bulk_edit.py:516
-#: dcim/forms/bulk_edit.py:540 dcim/forms/bulk_edit.py:613
-#: dcim/forms/bulk_edit.py:665 dcim/forms/bulk_edit.py:717
-#: dcim/forms/bulk_edit.py:740 dcim/forms/bulk_edit.py:788
-#: dcim/forms/bulk_edit.py:858 dcim/forms/bulk_edit.py:911
-#: dcim/forms/bulk_edit.py:946 dcim/forms/bulk_edit.py:986
-#: dcim/forms/bulk_edit.py:1030 dcim/forms/bulk_edit.py:1075
-#: dcim/forms/bulk_edit.py:1102 dcim/forms/bulk_edit.py:1120
-#: dcim/forms/bulk_edit.py:1138 dcim/forms/bulk_edit.py:1156
-#: dcim/forms/bulk_edit.py:1575 extras/forms/bulk_edit.py:36
-#: extras/forms/bulk_edit.py:124 extras/forms/bulk_edit.py:153
-#: extras/forms/bulk_edit.py:183 extras/forms/bulk_edit.py:264
-#: extras/forms/bulk_edit.py:288 extras/forms/bulk_edit.py:302
-#: extras/tables/tables.py:58 ipam/forms/bulk_edit.py:51
-#: ipam/forms/bulk_edit.py:71 ipam/forms/bulk_edit.py:91
-#: ipam/forms/bulk_edit.py:115 ipam/forms/bulk_edit.py:144
-#: ipam/forms/bulk_edit.py:173 ipam/forms/bulk_edit.py:192
-#: ipam/forms/bulk_edit.py:261 ipam/forms/bulk_edit.py:305
-#: ipam/forms/bulk_edit.py:353 ipam/forms/bulk_edit.py:396
-#: ipam/forms/bulk_edit.py:424 ipam/forms/bulk_edit.py:554
-#: ipam/forms/bulk_edit.py:585 templates/account/token.html:35
-#: templates/circuits/circuit.html:59 templates/circuits/circuittype.html:26
-#: templates/circuits/inc/circuit_termination_fields.html:88
-#: templates/circuits/provider.html:33
-#: templates/circuits/providernetwork.html:32
-#: templates/core/datasource.html:54 templates/dcim/cable.html:36
-#: templates/dcim/consoleport.html:44 templates/dcim/consoleserverport.html:44
-#: templates/dcim/device.html:93 templates/dcim/devicebay.html:32
-#: templates/dcim/devicerole.html:30 templates/dcim/devicetype.html:33
-#: templates/dcim/frontport.html:58 templates/dcim/interface.html:69
-#: templates/dcim/inventoryitem.html:60
-#: templates/dcim/inventoryitemrole.html:22 templates/dcim/location.html:33
-#: templates/dcim/manufacturer.html:40 templates/dcim/module.html:70
-#: templates/dcim/modulebay.html:38 templates/dcim/moduletype.html:26
-#: templates/dcim/platform.html:33 templates/dcim/powerfeed.html:40
-#: templates/dcim/poweroutlet.html:40 templates/dcim/powerpanel.html:30
-#: templates/dcim/powerport.html:40 templates/dcim/rack.html:51
-#: templates/dcim/rackreservation.html:62 templates/dcim/rackrole.html:26
-#: templates/dcim/rearport.html:54 templates/dcim/region.html:33
-#: templates/dcim/site.html:59 templates/dcim/sitegroup.html:33
-#: templates/dcim/virtualchassis.html:31
-#: templates/extras/configcontext.html:21
-#: templates/extras/configtemplate.html:17
-#: templates/extras/customfield.html:34
-#: templates/extras/dashboard/widget_add.html:14
-#: templates/extras/eventrule.html:21 templates/extras/exporttemplate.html:19
-#: templates/extras/savedfilter.html:17 templates/extras/script_list.html:47
-#: templates/extras/tag.html:20 templates/extras/webhook.html:17
-#: templates/generic/bulk_import.html:120 templates/ipam/aggregate.html:43
-#: templates/ipam/asn.html:42 templates/ipam/asnrange.html:38
-#: templates/ipam/fhrpgroup.html:34 templates/ipam/ipaddress.html:55
-#: templates/ipam/iprange.html:67 templates/ipam/prefix.html:81
-#: templates/ipam/rir.html:26 templates/ipam/role.html:26
-#: templates/ipam/routetarget.html:21 templates/ipam/service.html:50
-#: templates/ipam/servicetemplate.html:27 templates/ipam/vlan.html:62
-#: templates/ipam/vlangroup.html:34 templates/ipam/vrf.html:33
-#: templates/tenancy/contact.html:67 templates/tenancy/contactgroup.html:25
-#: templates/tenancy/contactrole.html:22 templates/tenancy/tenant.html:24
-#: templates/tenancy/tenantgroup.html:33 templates/users/group.html:21
-#: templates/users/objectpermission.html:21 templates/users/token.html:27
-#: templates/virtualization/cluster.html:25
-#: templates/virtualization/clustergroup.html:26
-#: templates/virtualization/clustertype.html:26
-#: templates/virtualization/virtualdisk.html:39
-#: templates/virtualization/virtualmachine.html:31
-#: templates/virtualization/vminterface.html:51
-#: templates/vpn/ikepolicy.html:17 templates/vpn/ikeproposal.html:17
-#: templates/vpn/ipsecpolicy.html:17 templates/vpn/ipsecprofile.html:17
-#: templates/vpn/ipsecprofile.html:40 templates/vpn/ipsecprofile.html:73
-#: templates/vpn/ipsecproposal.html:17 templates/vpn/l2vpn.html:26
-#: templates/vpn/tunnel.html:33 templates/vpn/tunnelgroup.html:30
-#: templates/wireless/wirelesslan.html:26
-#: templates/wireless/wirelesslangroup.html:33
-#: templates/wireless/wirelesslink.html:34 tenancy/forms/bulk_edit.py:32
-#: tenancy/forms/bulk_edit.py:80 tenancy/forms/bulk_edit.py:122
-#: users/forms/bulk_edit.py:64 users/forms/bulk_edit.py:82
-#: users/forms/bulk_edit.py:112 virtualization/forms/bulk_edit.py:32
-#: virtualization/forms/bulk_edit.py:46 virtualization/forms/bulk_edit.py:100
-#: virtualization/forms/bulk_edit.py:177 virtualization/forms/bulk_edit.py:228
-#: virtualization/forms/bulk_edit.py:337 vpn/forms/bulk_edit.py:28
-#: vpn/forms/bulk_edit.py:64 vpn/forms/bulk_edit.py:121
-#: vpn/forms/bulk_edit.py:155 vpn/forms/bulk_edit.py:190
-#: vpn/forms/bulk_edit.py:215 vpn/forms/bulk_edit.py:247
-#: vpn/forms/bulk_edit.py:274 wireless/forms/bulk_edit.py:29
-#: wireless/forms/bulk_edit.py:82 wireless/forms/bulk_edit.py:129
+#: netbox/circuits/forms/bulk_edit.py:32 netbox/circuits/forms/bulk_edit.py:54
+#: netbox/circuits/forms/bulk_edit.py:81
+#: netbox/circuits/forms/bulk_edit.py:102
+#: netbox/circuits/forms/bulk_edit.py:162
+#: netbox/circuits/forms/bulk_edit.py:181 netbox/core/forms/bulk_edit.py:28
+#: netbox/core/tables/plugins.py:29 netbox/dcim/forms/bulk_create.py:35
+#: netbox/dcim/forms/bulk_edit.py:72 netbox/dcim/forms/bulk_edit.py:91
+#: netbox/dcim/forms/bulk_edit.py:150 netbox/dcim/forms/bulk_edit.py:191
+#: netbox/dcim/forms/bulk_edit.py:209 netbox/dcim/forms/bulk_edit.py:337
+#: netbox/dcim/forms/bulk_edit.py:373 netbox/dcim/forms/bulk_edit.py:388
+#: netbox/dcim/forms/bulk_edit.py:447 netbox/dcim/forms/bulk_edit.py:486
+#: netbox/dcim/forms/bulk_edit.py:516 netbox/dcim/forms/bulk_edit.py:540
+#: netbox/dcim/forms/bulk_edit.py:613 netbox/dcim/forms/bulk_edit.py:665
+#: netbox/dcim/forms/bulk_edit.py:717 netbox/dcim/forms/bulk_edit.py:740
+#: netbox/dcim/forms/bulk_edit.py:788 netbox/dcim/forms/bulk_edit.py:858
+#: netbox/dcim/forms/bulk_edit.py:911 netbox/dcim/forms/bulk_edit.py:946
+#: netbox/dcim/forms/bulk_edit.py:986 netbox/dcim/forms/bulk_edit.py:1030
+#: netbox/dcim/forms/bulk_edit.py:1075 netbox/dcim/forms/bulk_edit.py:1102
+#: netbox/dcim/forms/bulk_edit.py:1120 netbox/dcim/forms/bulk_edit.py:1138
+#: netbox/dcim/forms/bulk_edit.py:1156 netbox/dcim/forms/bulk_edit.py:1575
+#: netbox/extras/forms/bulk_edit.py:36 netbox/extras/forms/bulk_edit.py:124
+#: netbox/extras/forms/bulk_edit.py:153 netbox/extras/forms/bulk_edit.py:183
+#: netbox/extras/forms/bulk_edit.py:264 netbox/extras/forms/bulk_edit.py:288
+#: netbox/extras/forms/bulk_edit.py:302 netbox/extras/tables/tables.py:59
+#: netbox/ipam/forms/bulk_edit.py:51 netbox/ipam/forms/bulk_edit.py:71
+#: netbox/ipam/forms/bulk_edit.py:91 netbox/ipam/forms/bulk_edit.py:115
+#: netbox/ipam/forms/bulk_edit.py:144 netbox/ipam/forms/bulk_edit.py:173
+#: netbox/ipam/forms/bulk_edit.py:192 netbox/ipam/forms/bulk_edit.py:261
+#: netbox/ipam/forms/bulk_edit.py:305 netbox/ipam/forms/bulk_edit.py:353
+#: netbox/ipam/forms/bulk_edit.py:396 netbox/ipam/forms/bulk_edit.py:424
+#: netbox/ipam/forms/bulk_edit.py:554 netbox/ipam/forms/bulk_edit.py:585
+#: netbox/templates/account/token.html:35
+#: netbox/templates/circuits/circuit.html:59
+#: netbox/templates/circuits/circuittype.html:26
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:88
+#: netbox/templates/circuits/provider.html:33
+#: netbox/templates/circuits/providernetwork.html:32
+#: netbox/templates/core/datasource.html:54
+#: netbox/templates/dcim/cable.html:36
+#: netbox/templates/dcim/consoleport.html:44
+#: netbox/templates/dcim/consoleserverport.html:44
+#: netbox/templates/dcim/device.html:94
+#: netbox/templates/dcim/devicebay.html:32
+#: netbox/templates/dcim/devicerole.html:30
+#: netbox/templates/dcim/devicetype.html:33
+#: netbox/templates/dcim/frontport.html:58
+#: netbox/templates/dcim/interface.html:69
+#: netbox/templates/dcim/inventoryitem.html:60
+#: netbox/templates/dcim/inventoryitemrole.html:22
+#: netbox/templates/dcim/location.html:33
+#: netbox/templates/dcim/manufacturer.html:40
+#: netbox/templates/dcim/module.html:70
+#: netbox/templates/dcim/modulebay.html:38
+#: netbox/templates/dcim/moduletype.html:26
+#: netbox/templates/dcim/platform.html:33
+#: netbox/templates/dcim/powerfeed.html:40
+#: netbox/templates/dcim/poweroutlet.html:40
+#: netbox/templates/dcim/powerpanel.html:30
+#: netbox/templates/dcim/powerport.html:40 netbox/templates/dcim/rack.html:51
+#: netbox/templates/dcim/rackreservation.html:62
+#: netbox/templates/dcim/rackrole.html:26
+#: netbox/templates/dcim/rearport.html:54 netbox/templates/dcim/region.html:33
+#: netbox/templates/dcim/site.html:60 netbox/templates/dcim/sitegroup.html:33
+#: netbox/templates/dcim/virtualchassis.html:31
+#: netbox/templates/extras/configcontext.html:21
+#: netbox/templates/extras/configtemplate.html:17
+#: netbox/templates/extras/customfield.html:34
+#: netbox/templates/extras/dashboard/widget_add.html:14
+#: netbox/templates/extras/eventrule.html:21
+#: netbox/templates/extras/exporttemplate.html:19
+#: netbox/templates/extras/savedfilter.html:17
+#: netbox/templates/extras/script_list.html:47
+#: netbox/templates/extras/tag.html:20 netbox/templates/extras/webhook.html:17
+#: netbox/templates/generic/bulk_import.html:120
+#: netbox/templates/ipam/aggregate.html:43 netbox/templates/ipam/asn.html:42
+#: netbox/templates/ipam/asnrange.html:38
+#: netbox/templates/ipam/fhrpgroup.html:34
+#: netbox/templates/ipam/ipaddress.html:55
+#: netbox/templates/ipam/iprange.html:67 netbox/templates/ipam/prefix.html:81
+#: netbox/templates/ipam/rir.html:26 netbox/templates/ipam/role.html:26
+#: netbox/templates/ipam/routetarget.html:21
+#: netbox/templates/ipam/service.html:50
+#: netbox/templates/ipam/servicetemplate.html:27
+#: netbox/templates/ipam/vlan.html:62 netbox/templates/ipam/vlangroup.html:34
+#: netbox/templates/ipam/vrf.html:33 netbox/templates/tenancy/contact.html:67
+#: netbox/templates/tenancy/contactgroup.html:25
+#: netbox/templates/tenancy/contactrole.html:22
+#: netbox/templates/tenancy/tenant.html:24
+#: netbox/templates/tenancy/tenantgroup.html:33
+#: netbox/templates/users/group.html:21
+#: netbox/templates/users/objectpermission.html:21
+#: netbox/templates/users/token.html:27
+#: netbox/templates/virtualization/cluster.html:25
+#: netbox/templates/virtualization/clustergroup.html:26
+#: netbox/templates/virtualization/clustertype.html:26
+#: netbox/templates/virtualization/virtualdisk.html:39
+#: netbox/templates/virtualization/virtualmachine.html:31
+#: netbox/templates/virtualization/vminterface.html:51
+#: netbox/templates/vpn/ikepolicy.html:17
+#: netbox/templates/vpn/ikeproposal.html:17
+#: netbox/templates/vpn/ipsecpolicy.html:17
+#: netbox/templates/vpn/ipsecprofile.html:17
+#: netbox/templates/vpn/ipsecprofile.html:40
+#: netbox/templates/vpn/ipsecprofile.html:73
+#: netbox/templates/vpn/ipsecproposal.html:17
+#: netbox/templates/vpn/l2vpn.html:26 netbox/templates/vpn/tunnel.html:33
+#: netbox/templates/vpn/tunnelgroup.html:30
+#: netbox/templates/wireless/wirelesslan.html:26
+#: netbox/templates/wireless/wirelesslangroup.html:33
+#: netbox/templates/wireless/wirelesslink.html:34
+#: netbox/tenancy/forms/bulk_edit.py:32 netbox/tenancy/forms/bulk_edit.py:80
+#: netbox/tenancy/forms/bulk_edit.py:122 netbox/users/forms/bulk_edit.py:64
+#: netbox/users/forms/bulk_edit.py:82 netbox/users/forms/bulk_edit.py:112
+#: netbox/virtualization/forms/bulk_edit.py:32
+#: netbox/virtualization/forms/bulk_edit.py:46
+#: netbox/virtualization/forms/bulk_edit.py:100
+#: netbox/virtualization/forms/bulk_edit.py:177
+#: netbox/virtualization/forms/bulk_edit.py:228
+#: netbox/virtualization/forms/bulk_edit.py:337
+#: netbox/vpn/forms/bulk_edit.py:28 netbox/vpn/forms/bulk_edit.py:64
+#: netbox/vpn/forms/bulk_edit.py:121 netbox/vpn/forms/bulk_edit.py:155
+#: netbox/vpn/forms/bulk_edit.py:190 netbox/vpn/forms/bulk_edit.py:215
+#: netbox/vpn/forms/bulk_edit.py:247 netbox/vpn/forms/bulk_edit.py:274
+#: netbox/wireless/forms/bulk_edit.py:29 netbox/wireless/forms/bulk_edit.py:82
+#: netbox/wireless/forms/bulk_edit.py:129
msgid "Description"
msgstr "描述"
-#: circuits/forms/bulk_edit.py:49 circuits/forms/bulk_edit.py:71
-#: circuits/forms/bulk_edit.py:121 circuits/forms/bulk_import.py:35
-#: circuits/forms/bulk_import.py:50 circuits/forms/bulk_import.py:76
-#: circuits/forms/filtersets.py:68 circuits/forms/filtersets.py:86
-#: circuits/forms/filtersets.py:114 circuits/forms/filtersets.py:129
-#: circuits/forms/filtersets.py:197 circuits/forms/filtersets.py:230
-#: circuits/forms/model_forms.py:45 circuits/forms/model_forms.py:59
-#: circuits/forms/model_forms.py:91 circuits/tables/circuits.py:56
-#: circuits/tables/circuits.py:100 circuits/tables/providers.py:72
-#: circuits/tables/providers.py:103 templates/circuits/circuit.html:18
-#: templates/circuits/circuittermination.html:25
-#: templates/circuits/provider.html:20
-#: templates/circuits/provideraccount.html:20
-#: templates/circuits/providernetwork.html:20
-#: templates/dcim/inc/cable_termination.html:51
+#: netbox/circuits/forms/bulk_edit.py:49 netbox/circuits/forms/bulk_edit.py:71
+#: netbox/circuits/forms/bulk_edit.py:121
+#: netbox/circuits/forms/bulk_import.py:35
+#: netbox/circuits/forms/bulk_import.py:50
+#: netbox/circuits/forms/bulk_import.py:73
+#: netbox/circuits/forms/filtersets.py:68
+#: netbox/circuits/forms/filtersets.py:86
+#: netbox/circuits/forms/filtersets.py:114
+#: netbox/circuits/forms/filtersets.py:129
+#: netbox/circuits/forms/filtersets.py:197
+#: netbox/circuits/forms/filtersets.py:230
+#: netbox/circuits/forms/model_forms.py:45
+#: netbox/circuits/forms/model_forms.py:59
+#: netbox/circuits/forms/model_forms.py:91
+#: netbox/circuits/tables/circuits.py:56
+#: netbox/circuits/tables/circuits.py:102
+#: netbox/circuits/tables/providers.py:72
+#: netbox/circuits/tables/providers.py:103
+#: netbox/templates/circuits/circuit.html:18
+#: netbox/templates/circuits/circuittermination.html:25
+#: netbox/templates/circuits/provider.html:20
+#: netbox/templates/circuits/provideraccount.html:20
+#: netbox/templates/circuits/providernetwork.html:20
+#: netbox/templates/dcim/inc/cable_termination.html:51
msgid "Provider"
-msgstr "提供商"
+msgstr "运营商"
-#: circuits/forms/bulk_edit.py:78 circuits/forms/filtersets.py:89
-#: templates/circuits/providernetwork.html:28
+#: netbox/circuits/forms/bulk_edit.py:78
+#: netbox/circuits/forms/filtersets.py:89
+#: netbox/templates/circuits/providernetwork.html:28
msgid "Service ID"
-msgstr "服务 ID"
+msgstr "服务ID"
-#: circuits/forms/bulk_edit.py:98 circuits/forms/filtersets.py:105
-#: dcim/forms/bulk_edit.py:205 dcim/forms/bulk_edit.py:502
-#: dcim/forms/bulk_edit.py:702 dcim/forms/bulk_edit.py:1071
-#: dcim/forms/bulk_edit.py:1098 dcim/forms/bulk_edit.py:1571
-#: dcim/forms/filtersets.py:983 dcim/forms/filtersets.py:1359
-#: dcim/forms/filtersets.py:1380 dcim/tables/devices.py:699
-#: dcim/tables/devices.py:759 dcim/tables/devices.py:986
-#: dcim/tables/devicetypes.py:245 dcim/tables/devicetypes.py:260
-#: dcim/tables/racks.py:32 extras/forms/bulk_edit.py:260
-#: extras/tables/tables.py:333 templates/circuits/circuittype.html:30
-#: templates/dcim/cable.html:40 templates/dcim/devicerole.html:34
-#: templates/dcim/frontport.html:40 templates/dcim/inventoryitemrole.html:26
-#: templates/dcim/rackrole.html:30 templates/dcim/rearport.html:40
-#: templates/extras/tag.html:26
+#: netbox/circuits/forms/bulk_edit.py:98
+#: netbox/circuits/forms/filtersets.py:105 netbox/dcim/forms/bulk_edit.py:205
+#: netbox/dcim/forms/bulk_edit.py:502 netbox/dcim/forms/bulk_edit.py:702
+#: netbox/dcim/forms/bulk_edit.py:1071 netbox/dcim/forms/bulk_edit.py:1098
+#: netbox/dcim/forms/bulk_edit.py:1571 netbox/dcim/forms/filtersets.py:995
+#: netbox/dcim/forms/filtersets.py:1371 netbox/dcim/forms/filtersets.py:1392
+#: netbox/dcim/tables/devices.py:687 netbox/dcim/tables/devices.py:744
+#: netbox/dcim/tables/devices.py:968 netbox/dcim/tables/devicetypes.py:245
+#: netbox/dcim/tables/devicetypes.py:260 netbox/dcim/tables/racks.py:32
+#: netbox/extras/forms/bulk_edit.py:260 netbox/extras/tables/tables.py:334
+#: netbox/templates/circuits/circuittype.html:30
+#: netbox/templates/dcim/cable.html:40
+#: netbox/templates/dcim/devicerole.html:34
+#: netbox/templates/dcim/frontport.html:40
+#: netbox/templates/dcim/inventoryitemrole.html:26
+#: netbox/templates/dcim/rackrole.html:30
+#: netbox/templates/dcim/rearport.html:40 netbox/templates/extras/tag.html:26
msgid "Color"
msgstr "颜色"
-#: circuits/forms/bulk_edit.py:116 circuits/forms/bulk_import.py:89
-#: circuits/forms/filtersets.py:124 core/forms/bulk_edit.py:18
-#: core/forms/filtersets.py:30 core/tables/data.py:20 core/tables/jobs.py:18
-#: dcim/forms/bulk_edit.py:282 dcim/forms/bulk_edit.py:680
-#: dcim/forms/bulk_edit.py:819 dcim/forms/bulk_edit.py:887
-#: dcim/forms/bulk_edit.py:906 dcim/forms/bulk_edit.py:929
-#: dcim/forms/bulk_edit.py:971 dcim/forms/bulk_edit.py:1015
-#: dcim/forms/bulk_edit.py:1066 dcim/forms/bulk_edit.py:1093
-#: dcim/forms/bulk_import.py:214 dcim/forms/bulk_import.py:653
-#: dcim/forms/bulk_import.py:679 dcim/forms/bulk_import.py:705
-#: dcim/forms/bulk_import.py:725 dcim/forms/bulk_import.py:808
-#: dcim/forms/bulk_import.py:902 dcim/forms/bulk_import.py:944
-#: dcim/forms/bulk_import.py:1161 dcim/forms/bulk_import.py:1327
-#: dcim/forms/filtersets.py:287 dcim/forms/filtersets.py:874
-#: dcim/forms/filtersets.py:973 dcim/forms/filtersets.py:1094
-#: dcim/forms/filtersets.py:1164 dcim/forms/filtersets.py:1186
-#: dcim/forms/filtersets.py:1208 dcim/forms/filtersets.py:1225
-#: dcim/forms/filtersets.py:1259 dcim/forms/filtersets.py:1354
-#: dcim/forms/filtersets.py:1375 dcim/forms/model_forms.py:643
-#: dcim/forms/model_forms.py:649 dcim/forms/object_import.py:84
-#: dcim/forms/object_import.py:113 dcim/forms/object_import.py:145
-#: dcim/tables/devices.py:183 dcim/tables/devices.py:815
-#: dcim/tables/power.py:77 extras/forms/bulk_import.py:39
-#: extras/tables/tables.py:283 extras/tables/tables.py:355
-#: extras/tables/tables.py:473 netbox/tables/tables.py:239
-#: templates/circuits/circuit.html:30 templates/core/datasource.html:38
-#: templates/dcim/cable.html:15 templates/dcim/consoleport.html:36
-#: templates/dcim/consoleserverport.html:36 templates/dcim/frontport.html:36
-#: templates/dcim/interface.html:46 templates/dcim/interface.html:169
-#: templates/dcim/interface.html:311 templates/dcim/powerfeed.html:32
-#: templates/dcim/poweroutlet.html:36 templates/dcim/powerport.html:36
-#: templates/dcim/rack.html:76 templates/dcim/rearport.html:36
-#: templates/extras/eventrule.html:80 templates/virtualization/cluster.html:17
-#: templates/vpn/l2vpn.html:22
-#: templates/wireless/inc/authentication_attrs.html:8
-#: templates/wireless/inc/wirelesslink_interface.html:14
-#: virtualization/forms/bulk_edit.py:60 virtualization/forms/bulk_import.py:41
-#: virtualization/forms/filtersets.py:54
-#: virtualization/forms/model_forms.py:62 virtualization/tables/clusters.py:66
-#: vpn/forms/bulk_edit.py:264 vpn/forms/bulk_import.py:264
-#: vpn/forms/filtersets.py:217 vpn/forms/model_forms.py:84
-#: vpn/forms/model_forms.py:119 vpn/forms/model_forms.py:231
+#: netbox/circuits/forms/bulk_edit.py:116
+#: netbox/circuits/forms/bulk_import.py:86
+#: netbox/circuits/forms/filtersets.py:124 netbox/core/forms/bulk_edit.py:18
+#: netbox/core/forms/filtersets.py:30 netbox/core/tables/data.py:20
+#: netbox/core/tables/jobs.py:18 netbox/dcim/forms/bulk_edit.py:282
+#: netbox/dcim/forms/bulk_edit.py:680 netbox/dcim/forms/bulk_edit.py:819
+#: netbox/dcim/forms/bulk_edit.py:887 netbox/dcim/forms/bulk_edit.py:906
+#: netbox/dcim/forms/bulk_edit.py:929 netbox/dcim/forms/bulk_edit.py:971
+#: netbox/dcim/forms/bulk_edit.py:1015 netbox/dcim/forms/bulk_edit.py:1066
+#: netbox/dcim/forms/bulk_edit.py:1093 netbox/dcim/forms/bulk_import.py:211
+#: netbox/dcim/forms/bulk_import.py:647 netbox/dcim/forms/bulk_import.py:673
+#: netbox/dcim/forms/bulk_import.py:699 netbox/dcim/forms/bulk_import.py:719
+#: netbox/dcim/forms/bulk_import.py:802 netbox/dcim/forms/bulk_import.py:896
+#: netbox/dcim/forms/bulk_import.py:938 netbox/dcim/forms/bulk_import.py:1152
+#: netbox/dcim/forms/bulk_import.py:1315 netbox/dcim/forms/filtersets.py:288
+#: netbox/dcim/forms/filtersets.py:886 netbox/dcim/forms/filtersets.py:985
+#: netbox/dcim/forms/filtersets.py:1106 netbox/dcim/forms/filtersets.py:1176
+#: netbox/dcim/forms/filtersets.py:1198 netbox/dcim/forms/filtersets.py:1220
+#: netbox/dcim/forms/filtersets.py:1237 netbox/dcim/forms/filtersets.py:1271
+#: netbox/dcim/forms/filtersets.py:1366 netbox/dcim/forms/filtersets.py:1387
+#: netbox/dcim/forms/model_forms.py:646 netbox/dcim/forms/model_forms.py:652
+#: netbox/dcim/forms/object_import.py:84
+#: netbox/dcim/forms/object_import.py:113
+#: netbox/dcim/forms/object_import.py:145 netbox/dcim/tables/devices.py:175
+#: netbox/dcim/tables/devices.py:797 netbox/dcim/tables/power.py:77
+#: netbox/extras/forms/bulk_import.py:39 netbox/extras/tables/tables.py:284
+#: netbox/extras/tables/tables.py:356 netbox/extras/tables/tables.py:474
+#: netbox/netbox/tables/tables.py:239
+#: netbox/templates/circuits/circuit.html:30
+#: netbox/templates/core/datasource.html:38
+#: netbox/templates/dcim/cable.html:15
+#: netbox/templates/dcim/consoleport.html:36
+#: netbox/templates/dcim/consoleserverport.html:36
+#: netbox/templates/dcim/frontport.html:36
+#: netbox/templates/dcim/interface.html:46
+#: netbox/templates/dcim/interface.html:169
+#: netbox/templates/dcim/interface.html:311
+#: netbox/templates/dcim/powerfeed.html:32
+#: netbox/templates/dcim/poweroutlet.html:36
+#: netbox/templates/dcim/powerport.html:36 netbox/templates/dcim/rack.html:76
+#: netbox/templates/dcim/rearport.html:36
+#: netbox/templates/extras/eventrule.html:80
+#: netbox/templates/virtualization/cluster.html:17
+#: netbox/templates/vpn/l2vpn.html:22
+#: netbox/templates/wireless/inc/authentication_attrs.html:8
+#: netbox/templates/wireless/inc/wirelesslink_interface.html:14
+#: netbox/virtualization/forms/bulk_edit.py:60
+#: netbox/virtualization/forms/bulk_import.py:41
+#: netbox/virtualization/forms/filtersets.py:54
+#: netbox/virtualization/forms/model_forms.py:62
+#: netbox/virtualization/tables/clusters.py:66
+#: netbox/vpn/forms/bulk_edit.py:264 netbox/vpn/forms/bulk_import.py:264
+#: netbox/vpn/forms/filtersets.py:217 netbox/vpn/forms/model_forms.py:84
+#: netbox/vpn/forms/model_forms.py:119 netbox/vpn/forms/model_forms.py:231
msgid "Type"
msgstr "类型"
-#: circuits/forms/bulk_edit.py:126 circuits/forms/bulk_import.py:82
-#: circuits/forms/filtersets.py:137 circuits/forms/model_forms.py:96
+#: netbox/circuits/forms/bulk_edit.py:126
+#: netbox/circuits/forms/bulk_import.py:79
+#: netbox/circuits/forms/filtersets.py:137
+#: netbox/circuits/forms/model_forms.py:96
msgid "Provider account"
-msgstr "提供商账户"
+msgstr "运营商账户"
-#: circuits/forms/bulk_edit.py:134 circuits/forms/bulk_import.py:95
-#: circuits/forms/filtersets.py:148 core/forms/filtersets.py:35
-#: core/forms/filtersets.py:76 core/tables/data.py:23 core/tables/jobs.py:26
-#: core/tables/tasks.py:88 dcim/forms/bulk_edit.py:105
-#: dcim/forms/bulk_edit.py:180 dcim/forms/bulk_edit.py:261
-#: dcim/forms/bulk_edit.py:598 dcim/forms/bulk_edit.py:654
-#: dcim/forms/bulk_edit.py:686 dcim/forms/bulk_edit.py:813
-#: dcim/forms/bulk_edit.py:1594 dcim/forms/bulk_import.py:87
-#: dcim/forms/bulk_import.py:146 dcim/forms/bulk_import.py:202
-#: dcim/forms/bulk_import.py:450 dcim/forms/bulk_import.py:604
-#: dcim/forms/bulk_import.py:1155 dcim/forms/bulk_import.py:1322
-#: dcim/forms/bulk_import.py:1386 dcim/forms/filtersets.py:171
-#: dcim/forms/filtersets.py:230 dcim/forms/filtersets.py:282
-#: dcim/forms/filtersets.py:728 dcim/forms/filtersets.py:843
-#: dcim/forms/filtersets.py:877 dcim/forms/filtersets.py:978
-#: dcim/forms/filtersets.py:1089 dcim/tables/devices.py:145
-#: dcim/tables/devices.py:818 dcim/tables/devices.py:1046
-#: dcim/tables/modules.py:69 dcim/tables/power.py:74 dcim/tables/racks.py:66
-#: dcim/tables/sites.py:82 dcim/tables/sites.py:133
-#: ipam/forms/bulk_edit.py:241 ipam/forms/bulk_edit.py:290
-#: ipam/forms/bulk_edit.py:338 ipam/forms/bulk_edit.py:544
-#: ipam/forms/bulk_import.py:191 ipam/forms/bulk_import.py:256
-#: ipam/forms/bulk_import.py:292 ipam/forms/bulk_import.py:458
-#: ipam/forms/filtersets.py:210 ipam/forms/filtersets.py:281
-#: ipam/forms/filtersets.py:355 ipam/forms/filtersets.py:508
-#: ipam/forms/model_forms.py:466 ipam/tables/ip.py:236 ipam/tables/ip.py:309
-#: ipam/tables/ip.py:359 ipam/tables/ip.py:421 ipam/tables/ip.py:448
-#: ipam/tables/vlans.py:122 ipam/tables/vlans.py:227
-#: templates/circuits/circuit.html:34 templates/core/datasource.html:46
-#: templates/core/job.html:30 templates/core/rq_task.html:81
-#: templates/core/system.html:18 templates/dcim/cable.html:19
-#: templates/dcim/device.html:175 templates/dcim/location.html:45
-#: templates/dcim/module.html:66 templates/dcim/powerfeed.html:36
-#: templates/dcim/rack.html:43 templates/dcim/site.html:42
-#: templates/extras/script_list.html:49 templates/ipam/ipaddress.html:37
-#: templates/ipam/iprange.html:54 templates/ipam/prefix.html:73
-#: templates/ipam/vlan.html:48 templates/virtualization/cluster.html:21
-#: templates/virtualization/virtualmachine.html:19
-#: templates/vpn/tunnel.html:25 templates/wireless/wirelesslan.html:22
-#: templates/wireless/wirelesslink.html:17 users/forms/filtersets.py:33
-#: users/forms/model_forms.py:195 virtualization/forms/bulk_edit.py:70
-#: virtualization/forms/bulk_edit.py:118
-#: virtualization/forms/bulk_import.py:54
-#: virtualization/forms/bulk_import.py:80
-#: virtualization/forms/filtersets.py:62
-#: virtualization/forms/filtersets.py:160 virtualization/tables/clusters.py:74
-#: virtualization/tables/virtualmachines.py:59 vpn/forms/bulk_edit.py:39
-#: vpn/forms/bulk_import.py:37 vpn/forms/filtersets.py:47
-#: vpn/tables/tunnels.py:48 wireless/forms/bulk_edit.py:43
-#: wireless/forms/bulk_edit.py:105 wireless/forms/bulk_import.py:43
-#: wireless/forms/bulk_import.py:84 wireless/forms/filtersets.py:49
-#: wireless/forms/filtersets.py:83 wireless/tables/wirelesslan.py:52
-#: wireless/tables/wirelesslink.py:19
+#: netbox/circuits/forms/bulk_edit.py:134
+#: netbox/circuits/forms/bulk_import.py:92
+#: netbox/circuits/forms/filtersets.py:148 netbox/core/forms/filtersets.py:35
+#: netbox/core/forms/filtersets.py:76 netbox/core/tables/data.py:23
+#: netbox/core/tables/jobs.py:26 netbox/core/tables/tasks.py:88
+#: netbox/dcim/forms/bulk_edit.py:105 netbox/dcim/forms/bulk_edit.py:180
+#: netbox/dcim/forms/bulk_edit.py:261 netbox/dcim/forms/bulk_edit.py:598
+#: netbox/dcim/forms/bulk_edit.py:654 netbox/dcim/forms/bulk_edit.py:686
+#: netbox/dcim/forms/bulk_edit.py:813 netbox/dcim/forms/bulk_edit.py:1594
+#: netbox/dcim/forms/bulk_import.py:87 netbox/dcim/forms/bulk_import.py:146
+#: netbox/dcim/forms/bulk_import.py:199 netbox/dcim/forms/bulk_import.py:444
+#: netbox/dcim/forms/bulk_import.py:598 netbox/dcim/forms/bulk_import.py:1146
+#: netbox/dcim/forms/bulk_import.py:1310 netbox/dcim/forms/bulk_import.py:1374
+#: netbox/dcim/forms/filtersets.py:172 netbox/dcim/forms/filtersets.py:231
+#: netbox/dcim/forms/filtersets.py:283 netbox/dcim/forms/filtersets.py:730
+#: netbox/dcim/forms/filtersets.py:855 netbox/dcim/forms/filtersets.py:889
+#: netbox/dcim/forms/filtersets.py:990 netbox/dcim/forms/filtersets.py:1101
+#: netbox/dcim/tables/devices.py:137 netbox/dcim/tables/devices.py:800
+#: netbox/dcim/tables/devices.py:1028 netbox/dcim/tables/modules.py:69
+#: netbox/dcim/tables/power.py:74 netbox/dcim/tables/racks.py:66
+#: netbox/dcim/tables/sites.py:82 netbox/dcim/tables/sites.py:133
+#: netbox/ipam/forms/bulk_edit.py:241 netbox/ipam/forms/bulk_edit.py:290
+#: netbox/ipam/forms/bulk_edit.py:338 netbox/ipam/forms/bulk_edit.py:544
+#: netbox/ipam/forms/bulk_import.py:191 netbox/ipam/forms/bulk_import.py:256
+#: netbox/ipam/forms/bulk_import.py:292 netbox/ipam/forms/bulk_import.py:458
+#: netbox/ipam/forms/filtersets.py:210 netbox/ipam/forms/filtersets.py:281
+#: netbox/ipam/forms/filtersets.py:355 netbox/ipam/forms/filtersets.py:508
+#: netbox/ipam/forms/model_forms.py:466 netbox/ipam/tables/ip.py:236
+#: netbox/ipam/tables/ip.py:309 netbox/ipam/tables/ip.py:359
+#: netbox/ipam/tables/ip.py:421 netbox/ipam/tables/ip.py:448
+#: netbox/ipam/tables/vlans.py:122 netbox/ipam/tables/vlans.py:227
+#: netbox/templates/circuits/circuit.html:34
+#: netbox/templates/core/datasource.html:46 netbox/templates/core/job.html:30
+#: netbox/templates/core/rq_task.html:81 netbox/templates/core/system.html:18
+#: netbox/templates/dcim/cable.html:19 netbox/templates/dcim/device.html:178
+#: netbox/templates/dcim/location.html:45 netbox/templates/dcim/module.html:66
+#: netbox/templates/dcim/powerfeed.html:36 netbox/templates/dcim/rack.html:43
+#: netbox/templates/dcim/site.html:43
+#: netbox/templates/extras/script_list.html:49
+#: netbox/templates/ipam/ipaddress.html:37
+#: netbox/templates/ipam/iprange.html:54 netbox/templates/ipam/prefix.html:73
+#: netbox/templates/ipam/vlan.html:48
+#: netbox/templates/virtualization/cluster.html:21
+#: netbox/templates/virtualization/virtualmachine.html:19
+#: netbox/templates/vpn/tunnel.html:25
+#: netbox/templates/wireless/wirelesslan.html:22
+#: netbox/templates/wireless/wirelesslink.html:17
+#: netbox/users/forms/filtersets.py:33 netbox/users/forms/model_forms.py:195
+#: netbox/virtualization/forms/bulk_edit.py:70
+#: netbox/virtualization/forms/bulk_edit.py:118
+#: netbox/virtualization/forms/bulk_import.py:54
+#: netbox/virtualization/forms/bulk_import.py:80
+#: netbox/virtualization/forms/filtersets.py:62
+#: netbox/virtualization/forms/filtersets.py:160
+#: netbox/virtualization/tables/clusters.py:74
+#: netbox/virtualization/tables/virtualmachines.py:59
+#: netbox/vpn/forms/bulk_edit.py:39 netbox/vpn/forms/bulk_import.py:37
+#: netbox/vpn/forms/filtersets.py:47 netbox/vpn/tables/tunnels.py:48
+#: netbox/wireless/forms/bulk_edit.py:43
+#: netbox/wireless/forms/bulk_edit.py:105
+#: netbox/wireless/forms/bulk_import.py:43
+#: netbox/wireless/forms/bulk_import.py:84
+#: netbox/wireless/forms/filtersets.py:49
+#: netbox/wireless/forms/filtersets.py:83
+#: netbox/wireless/tables/wirelesslan.py:52
+#: netbox/wireless/tables/wirelesslink.py:19
msgid "Status"
msgstr "状态"
-#: circuits/forms/bulk_edit.py:140 circuits/forms/bulk_import.py:100
-#: circuits/forms/filtersets.py:117 dcim/forms/bulk_edit.py:121
-#: dcim/forms/bulk_edit.py:186 dcim/forms/bulk_edit.py:256
-#: dcim/forms/bulk_edit.py:368 dcim/forms/bulk_edit.py:588
-#: dcim/forms/bulk_edit.py:692 dcim/forms/bulk_edit.py:1599
-#: dcim/forms/bulk_import.py:106 dcim/forms/bulk_import.py:151
-#: dcim/forms/bulk_import.py:195 dcim/forms/bulk_import.py:282
-#: dcim/forms/bulk_import.py:424 dcim/forms/bulk_import.py:1167
-#: dcim/forms/bulk_import.py:1379 dcim/forms/filtersets.py:166
-#: dcim/forms/filtersets.py:198 dcim/forms/filtersets.py:249
-#: dcim/forms/filtersets.py:334 dcim/forms/filtersets.py:355
-#: dcim/forms/filtersets.py:652 dcim/forms/filtersets.py:835
-#: dcim/forms/filtersets.py:897 dcim/forms/filtersets.py:927
-#: dcim/forms/filtersets.py:1049 dcim/tables/power.py:88
-#: extras/filtersets.py:564 extras/forms/filtersets.py:332
-#: extras/forms/filtersets.py:405 ipam/forms/bulk_edit.py:41
-#: ipam/forms/bulk_edit.py:66 ipam/forms/bulk_edit.py:110
-#: ipam/forms/bulk_edit.py:139 ipam/forms/bulk_edit.py:164
-#: ipam/forms/bulk_edit.py:236 ipam/forms/bulk_edit.py:285
-#: ipam/forms/bulk_edit.py:333 ipam/forms/bulk_edit.py:539
-#: ipam/forms/bulk_import.py:37 ipam/forms/bulk_import.py:66
-#: ipam/forms/bulk_import.py:94 ipam/forms/bulk_import.py:114
-#: ipam/forms/bulk_import.py:134 ipam/forms/bulk_import.py:163
-#: ipam/forms/bulk_import.py:249 ipam/forms/bulk_import.py:285
-#: ipam/forms/bulk_import.py:451 ipam/forms/filtersets.py:48
-#: ipam/forms/filtersets.py:68 ipam/forms/filtersets.py:100
-#: ipam/forms/filtersets.py:120 ipam/forms/filtersets.py:143
-#: ipam/forms/filtersets.py:174 ipam/forms/filtersets.py:267
-#: ipam/forms/filtersets.py:310 ipam/forms/filtersets.py:476
-#: ipam/tables/ip.py:451 ipam/tables/vlans.py:224
-#: templates/circuits/circuit.html:38 templates/dcim/cable.html:23
-#: templates/dcim/device.html:78 templates/dcim/location.html:49
-#: templates/dcim/powerfeed.html:44 templates/dcim/rack.html:34
-#: templates/dcim/rackreservation.html:49 templates/dcim/site.html:46
-#: templates/dcim/virtualdevicecontext.html:52
-#: templates/ipam/aggregate.html:30 templates/ipam/asn.html:33
-#: templates/ipam/asnrange.html:29 templates/ipam/ipaddress.html:28
-#: templates/ipam/iprange.html:58 templates/ipam/prefix.html:29
-#: templates/ipam/routetarget.html:17 templates/ipam/vlan.html:39
-#: templates/ipam/vrf.html:20 templates/tenancy/tenant.html:17
-#: templates/virtualization/cluster.html:33
-#: templates/virtualization/virtualmachine.html:35 templates/vpn/l2vpn.html:30
-#: templates/vpn/tunnel.html:49 templates/wireless/wirelesslan.html:34
-#: templates/wireless/wirelesslink.html:25 tenancy/forms/forms.py:25
-#: tenancy/forms/forms.py:48 tenancy/forms/model_forms.py:52
-#: tenancy/tables/columns.py:64 virtualization/forms/bulk_edit.py:76
-#: virtualization/forms/bulk_edit.py:155
-#: virtualization/forms/bulk_import.py:66
-#: virtualization/forms/bulk_import.py:115
-#: virtualization/forms/filtersets.py:47
-#: virtualization/forms/filtersets.py:105 vpn/forms/bulk_edit.py:59
-#: vpn/forms/bulk_edit.py:269 vpn/forms/bulk_import.py:59
-#: vpn/forms/bulk_import.py:258 vpn/forms/filtersets.py:214
-#: wireless/forms/bulk_edit.py:63 wireless/forms/bulk_edit.py:110
-#: wireless/forms/bulk_import.py:55 wireless/forms/bulk_import.py:97
-#: wireless/forms/filtersets.py:35 wireless/forms/filtersets.py:75
+#: netbox/circuits/forms/bulk_edit.py:140
+#: netbox/circuits/forms/bulk_import.py:97
+#: netbox/circuits/forms/filtersets.py:117 netbox/dcim/forms/bulk_edit.py:121
+#: netbox/dcim/forms/bulk_edit.py:186 netbox/dcim/forms/bulk_edit.py:256
+#: netbox/dcim/forms/bulk_edit.py:368 netbox/dcim/forms/bulk_edit.py:588
+#: netbox/dcim/forms/bulk_edit.py:692 netbox/dcim/forms/bulk_edit.py:1599
+#: netbox/dcim/forms/bulk_import.py:106 netbox/dcim/forms/bulk_import.py:151
+#: netbox/dcim/forms/bulk_import.py:192 netbox/dcim/forms/bulk_import.py:279
+#: netbox/dcim/forms/bulk_import.py:418 netbox/dcim/forms/bulk_import.py:1158
+#: netbox/dcim/forms/bulk_import.py:1367 netbox/dcim/forms/filtersets.py:167
+#: netbox/dcim/forms/filtersets.py:199 netbox/dcim/forms/filtersets.py:250
+#: netbox/dcim/forms/filtersets.py:335 netbox/dcim/forms/filtersets.py:356
+#: netbox/dcim/forms/filtersets.py:653 netbox/dcim/forms/filtersets.py:847
+#: netbox/dcim/forms/filtersets.py:909 netbox/dcim/forms/filtersets.py:939
+#: netbox/dcim/forms/filtersets.py:1061 netbox/dcim/tables/power.py:88
+#: netbox/extras/filtersets.py:564 netbox/extras/forms/filtersets.py:332
+#: netbox/extras/forms/filtersets.py:405 netbox/ipam/forms/bulk_edit.py:41
+#: netbox/ipam/forms/bulk_edit.py:66 netbox/ipam/forms/bulk_edit.py:110
+#: netbox/ipam/forms/bulk_edit.py:139 netbox/ipam/forms/bulk_edit.py:164
+#: netbox/ipam/forms/bulk_edit.py:236 netbox/ipam/forms/bulk_edit.py:285
+#: netbox/ipam/forms/bulk_edit.py:333 netbox/ipam/forms/bulk_edit.py:539
+#: netbox/ipam/forms/bulk_import.py:37 netbox/ipam/forms/bulk_import.py:66
+#: netbox/ipam/forms/bulk_import.py:94 netbox/ipam/forms/bulk_import.py:114
+#: netbox/ipam/forms/bulk_import.py:134 netbox/ipam/forms/bulk_import.py:163
+#: netbox/ipam/forms/bulk_import.py:249 netbox/ipam/forms/bulk_import.py:285
+#: netbox/ipam/forms/bulk_import.py:451 netbox/ipam/forms/filtersets.py:48
+#: netbox/ipam/forms/filtersets.py:68 netbox/ipam/forms/filtersets.py:100
+#: netbox/ipam/forms/filtersets.py:120 netbox/ipam/forms/filtersets.py:143
+#: netbox/ipam/forms/filtersets.py:174 netbox/ipam/forms/filtersets.py:267
+#: netbox/ipam/forms/filtersets.py:310 netbox/ipam/forms/filtersets.py:476
+#: netbox/ipam/tables/ip.py:451 netbox/ipam/tables/vlans.py:224
+#: netbox/templates/circuits/circuit.html:38
+#: netbox/templates/dcim/cable.html:23 netbox/templates/dcim/device.html:79
+#: netbox/templates/dcim/location.html:49
+#: netbox/templates/dcim/powerfeed.html:44 netbox/templates/dcim/rack.html:34
+#: netbox/templates/dcim/rackreservation.html:49
+#: netbox/templates/dcim/site.html:47
+#: netbox/templates/dcim/virtualdevicecontext.html:52
+#: netbox/templates/ipam/aggregate.html:30 netbox/templates/ipam/asn.html:33
+#: netbox/templates/ipam/asnrange.html:29
+#: netbox/templates/ipam/ipaddress.html:28
+#: netbox/templates/ipam/iprange.html:58 netbox/templates/ipam/prefix.html:29
+#: netbox/templates/ipam/routetarget.html:17
+#: netbox/templates/ipam/vlan.html:39 netbox/templates/ipam/vrf.html:20
+#: netbox/templates/tenancy/tenant.html:17
+#: netbox/templates/virtualization/cluster.html:33
+#: netbox/templates/virtualization/virtualmachine.html:35
+#: netbox/templates/vpn/l2vpn.html:30 netbox/templates/vpn/tunnel.html:49
+#: netbox/templates/wireless/wirelesslan.html:34
+#: netbox/templates/wireless/wirelesslink.html:25
+#: netbox/tenancy/forms/forms.py:25 netbox/tenancy/forms/forms.py:48
+#: netbox/tenancy/forms/model_forms.py:52 netbox/tenancy/tables/columns.py:64
+#: netbox/virtualization/forms/bulk_edit.py:76
+#: netbox/virtualization/forms/bulk_edit.py:155
+#: netbox/virtualization/forms/bulk_import.py:66
+#: netbox/virtualization/forms/bulk_import.py:115
+#: netbox/virtualization/forms/filtersets.py:47
+#: netbox/virtualization/forms/filtersets.py:105
+#: netbox/vpn/forms/bulk_edit.py:59 netbox/vpn/forms/bulk_edit.py:269
+#: netbox/vpn/forms/bulk_import.py:59 netbox/vpn/forms/bulk_import.py:258
+#: netbox/vpn/forms/filtersets.py:214 netbox/wireless/forms/bulk_edit.py:63
+#: netbox/wireless/forms/bulk_edit.py:110
+#: netbox/wireless/forms/bulk_import.py:55
+#: netbox/wireless/forms/bulk_import.py:97
+#: netbox/wireless/forms/filtersets.py:35
+#: netbox/wireless/forms/filtersets.py:75
msgid "Tenant"
msgstr "租户"
-#: circuits/forms/bulk_edit.py:145 circuits/forms/filtersets.py:172
+#: netbox/circuits/forms/bulk_edit.py:145
+#: netbox/circuits/forms/filtersets.py:172
msgid "Install date"
msgstr "安装日期"
-#: circuits/forms/bulk_edit.py:150 circuits/forms/filtersets.py:177
+#: netbox/circuits/forms/bulk_edit.py:150
+#: netbox/circuits/forms/filtersets.py:177
msgid "Termination date"
msgstr "终止日期"
-#: circuits/forms/bulk_edit.py:156 circuits/forms/filtersets.py:184
+#: netbox/circuits/forms/bulk_edit.py:156
+#: netbox/circuits/forms/filtersets.py:184
msgid "Commit rate (Kbps)"
-msgstr "提交速率 (Kbps)"
+msgstr "承诺速率(Kbps)"
-#: circuits/forms/bulk_edit.py:171 circuits/forms/model_forms.py:110
+#: netbox/circuits/forms/bulk_edit.py:171
+#: netbox/circuits/forms/model_forms.py:110
msgid "Service Parameters"
msgstr "服务参数"
-#: circuits/forms/bulk_edit.py:172 circuits/forms/model_forms.py:111
-#: dcim/forms/model_forms.py:138 dcim/forms/model_forms.py:180
-#: dcim/forms/model_forms.py:228 dcim/forms/model_forms.py:267
-#: dcim/forms/model_forms.py:713 dcim/forms/model_forms.py:1636
-#: ipam/forms/model_forms.py:62 ipam/forms/model_forms.py:79
-#: ipam/forms/model_forms.py:113 ipam/forms/model_forms.py:134
-#: ipam/forms/model_forms.py:158 ipam/forms/model_forms.py:230
-#: ipam/forms/model_forms.py:259 ipam/forms/model_forms.py:314
-#: netbox/navigation/menu.py:37 templates/dcim/device_edit.html:85
-#: templates/dcim/htmx/cable_edit.html:72
-#: templates/ipam/ipaddress_bulk_add.html:27 templates/ipam/vlan_edit.html:22
-#: virtualization/forms/model_forms.py:80
-#: virtualization/forms/model_forms.py:222 vpn/forms/bulk_edit.py:78
-#: vpn/forms/filtersets.py:44 vpn/forms/model_forms.py:62
-#: vpn/forms/model_forms.py:147 vpn/forms/model_forms.py:411
-#: wireless/forms/model_forms.py:54 wireless/forms/model_forms.py:163
+#: netbox/circuits/forms/bulk_edit.py:172
+#: netbox/circuits/forms/model_forms.py:111
+#: netbox/dcim/forms/model_forms.py:138 netbox/dcim/forms/model_forms.py:180
+#: netbox/dcim/forms/model_forms.py:228 netbox/dcim/forms/model_forms.py:267
+#: netbox/dcim/forms/model_forms.py:716 netbox/dcim/forms/model_forms.py:1639
+#: netbox/ipam/forms/model_forms.py:62 netbox/ipam/forms/model_forms.py:79
+#: netbox/ipam/forms/model_forms.py:113 netbox/ipam/forms/model_forms.py:134
+#: netbox/ipam/forms/model_forms.py:158 netbox/ipam/forms/model_forms.py:230
+#: netbox/ipam/forms/model_forms.py:259 netbox/ipam/forms/model_forms.py:314
+#: netbox/netbox/navigation/menu.py:37
+#: netbox/templates/dcim/device_edit.html:85
+#: netbox/templates/dcim/htmx/cable_edit.html:72
+#: netbox/templates/ipam/ipaddress_bulk_add.html:27
+#: netbox/templates/ipam/vlan_edit.html:22
+#: netbox/virtualization/forms/model_forms.py:80
+#: netbox/virtualization/forms/model_forms.py:222
+#: netbox/vpn/forms/bulk_edit.py:78 netbox/vpn/forms/filtersets.py:44
+#: netbox/vpn/forms/model_forms.py:62 netbox/vpn/forms/model_forms.py:147
+#: netbox/vpn/forms/model_forms.py:411 netbox/wireless/forms/model_forms.py:54
+#: netbox/wireless/forms/model_forms.py:163
msgid "Tenancy"
-msgstr "租赁"
+msgstr "租户"
-#: circuits/forms/bulk_edit.py:191 circuits/forms/bulk_edit.py:215
-#: circuits/forms/model_forms.py:153 circuits/tables/circuits.py:109
-#: templates/circuits/inc/circuit_termination_fields.html:62
-#: templates/circuits/providernetwork.html:17
+#: netbox/circuits/forms/bulk_edit.py:191
+#: netbox/circuits/forms/bulk_edit.py:215
+#: netbox/circuits/forms/model_forms.py:153
+#: netbox/circuits/tables/circuits.py:111
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:62
+#: netbox/templates/circuits/providernetwork.html:17
msgid "Provider Network"
-msgstr "提供商网络"
+msgstr "运营商网络"
-#: circuits/forms/bulk_edit.py:197
+#: netbox/circuits/forms/bulk_edit.py:197
msgid "Port speed (Kbps)"
msgstr "端口速度 (Kbps)"
-#: circuits/forms/bulk_edit.py:201
+#: netbox/circuits/forms/bulk_edit.py:201
msgid "Upstream speed (Kbps)"
msgstr "上行速度 (Kbps)"
-#: circuits/forms/bulk_edit.py:204 dcim/forms/bulk_edit.py:849
-#: dcim/forms/bulk_edit.py:1208 dcim/forms/bulk_edit.py:1225
-#: dcim/forms/bulk_edit.py:1242 dcim/forms/bulk_edit.py:1260
-#: dcim/forms/bulk_edit.py:1348 dcim/forms/bulk_edit.py:1487
-#: dcim/forms/bulk_edit.py:1504
+#: netbox/circuits/forms/bulk_edit.py:204 netbox/dcim/forms/bulk_edit.py:849
+#: netbox/dcim/forms/bulk_edit.py:1208 netbox/dcim/forms/bulk_edit.py:1225
+#: netbox/dcim/forms/bulk_edit.py:1242 netbox/dcim/forms/bulk_edit.py:1260
+#: netbox/dcim/forms/bulk_edit.py:1348 netbox/dcim/forms/bulk_edit.py:1487
+#: netbox/dcim/forms/bulk_edit.py:1504
msgid "Mark connected"
msgstr "标记已连接"
-#: circuits/forms/bulk_edit.py:217 circuits/forms/model_forms.py:155
-#: templates/circuits/inc/circuit_termination_fields.html:54
-#: templates/dcim/frontport.html:121 templates/dcim/interface.html:193
-#: templates/dcim/rearport.html:111
+#: netbox/circuits/forms/bulk_edit.py:217
+#: netbox/circuits/forms/model_forms.py:155
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:54
+#: netbox/templates/dcim/frontport.html:121
+#: netbox/templates/dcim/interface.html:193
+#: netbox/templates/dcim/rearport.html:111
msgid "Circuit Termination"
-msgstr "电路终止"
+msgstr "线路终端"
-#: circuits/forms/bulk_edit.py:219 circuits/forms/model_forms.py:157
+#: netbox/circuits/forms/bulk_edit.py:219
+#: netbox/circuits/forms/model_forms.py:157
msgid "Termination Details"
-msgstr "终止详情"
+msgstr "终端详情"
-#: circuits/forms/bulk_import.py:38 circuits/forms/bulk_import.py:53
-#: circuits/forms/bulk_import.py:79
+#: netbox/circuits/forms/bulk_import.py:38
+#: netbox/circuits/forms/bulk_import.py:53
+#: netbox/circuits/forms/bulk_import.py:76
msgid "Assigned provider"
-msgstr "指定的提供商"
+msgstr "指定的运营商"
-#: circuits/forms/bulk_import.py:70 dcim/forms/bulk_import.py:178
-#: dcim/forms/bulk_import.py:388 dcim/forms/bulk_import.py:1108
-#: dcim/forms/bulk_import.py:1187 extras/forms/bulk_import.py:232
-msgid "RGB color in hexadecimal. Example:"
-msgstr "十六进制的 RGB 颜色。示例:"
-
-#: circuits/forms/bulk_import.py:85
+#: netbox/circuits/forms/bulk_import.py:82
msgid "Assigned provider account"
-msgstr "分配的提供商账户"
+msgstr "指定的运营商账户"
-#: circuits/forms/bulk_import.py:92
+#: netbox/circuits/forms/bulk_import.py:89
msgid "Type of circuit"
-msgstr "电路类型"
+msgstr "线路类型"
-#: circuits/forms/bulk_import.py:97 dcim/forms/bulk_import.py:89
-#: dcim/forms/bulk_import.py:148 dcim/forms/bulk_import.py:204
-#: dcim/forms/bulk_import.py:452 dcim/forms/bulk_import.py:606
-#: dcim/forms/bulk_import.py:1324 ipam/forms/bulk_import.py:193
-#: ipam/forms/bulk_import.py:258 ipam/forms/bulk_import.py:294
-#: ipam/forms/bulk_import.py:460 virtualization/forms/bulk_import.py:56
-#: virtualization/forms/bulk_import.py:82 vpn/forms/bulk_import.py:39
-#: wireless/forms/bulk_import.py:45
+#: netbox/circuits/forms/bulk_import.py:94 netbox/dcim/forms/bulk_import.py:89
+#: netbox/dcim/forms/bulk_import.py:148 netbox/dcim/forms/bulk_import.py:201
+#: netbox/dcim/forms/bulk_import.py:446 netbox/dcim/forms/bulk_import.py:600
+#: netbox/dcim/forms/bulk_import.py:1312 netbox/ipam/forms/bulk_import.py:193
+#: netbox/ipam/forms/bulk_import.py:258 netbox/ipam/forms/bulk_import.py:294
+#: netbox/ipam/forms/bulk_import.py:460
+#: netbox/virtualization/forms/bulk_import.py:56
+#: netbox/virtualization/forms/bulk_import.py:82
+#: netbox/vpn/forms/bulk_import.py:39 netbox/wireless/forms/bulk_import.py:45
msgid "Operational status"
msgstr "运行状态"
-#: circuits/forms/bulk_import.py:104 dcim/forms/bulk_import.py:110
-#: dcim/forms/bulk_import.py:155 dcim/forms/bulk_import.py:286
-#: dcim/forms/bulk_import.py:428 dcim/forms/bulk_import.py:1171
-#: dcim/forms/bulk_import.py:1319 dcim/forms/bulk_import.py:1383
-#: ipam/forms/bulk_import.py:41 ipam/forms/bulk_import.py:70
-#: ipam/forms/bulk_import.py:98 ipam/forms/bulk_import.py:118
-#: ipam/forms/bulk_import.py:138 ipam/forms/bulk_import.py:167
-#: ipam/forms/bulk_import.py:253 ipam/forms/bulk_import.py:289
-#: ipam/forms/bulk_import.py:455 virtualization/forms/bulk_import.py:70
-#: virtualization/forms/bulk_import.py:119 vpn/forms/bulk_import.py:63
-#: wireless/forms/bulk_import.py:59 wireless/forms/bulk_import.py:101
+#: netbox/circuits/forms/bulk_import.py:101
+#: netbox/dcim/forms/bulk_import.py:110 netbox/dcim/forms/bulk_import.py:155
+#: netbox/dcim/forms/bulk_import.py:283 netbox/dcim/forms/bulk_import.py:422
+#: netbox/dcim/forms/bulk_import.py:1162 netbox/dcim/forms/bulk_import.py:1307
+#: netbox/dcim/forms/bulk_import.py:1371 netbox/ipam/forms/bulk_import.py:41
+#: netbox/ipam/forms/bulk_import.py:70 netbox/ipam/forms/bulk_import.py:98
+#: netbox/ipam/forms/bulk_import.py:118 netbox/ipam/forms/bulk_import.py:138
+#: netbox/ipam/forms/bulk_import.py:167 netbox/ipam/forms/bulk_import.py:253
+#: netbox/ipam/forms/bulk_import.py:289 netbox/ipam/forms/bulk_import.py:455
+#: netbox/virtualization/forms/bulk_import.py:70
+#: netbox/virtualization/forms/bulk_import.py:119
+#: netbox/vpn/forms/bulk_import.py:63 netbox/wireless/forms/bulk_import.py:59
+#: netbox/wireless/forms/bulk_import.py:101
msgid "Assigned tenant"
-msgstr "分配的租户"
+msgstr "已分配租户"
-#: circuits/forms/bulk_import.py:122
-#: templates/circuits/inc/circuit_termination.html:6
-#: templates/circuits/inc/circuit_termination_fields.html:15
-#: templates/dcim/cable.html:68 templates/dcim/cable.html:72
-#: vpn/forms/bulk_import.py:100 vpn/forms/filtersets.py:77
+#: netbox/circuits/forms/bulk_import.py:119
+#: netbox/templates/circuits/inc/circuit_termination.html:6
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:15
+#: netbox/templates/dcim/cable.html:68 netbox/templates/dcim/cable.html:72
+#: netbox/vpn/forms/bulk_import.py:100 netbox/vpn/forms/filtersets.py:77
msgid "Termination"
-msgstr "终止"
+msgstr "终端"
-#: circuits/forms/bulk_import.py:132 circuits/forms/filtersets.py:145
-#: circuits/forms/filtersets.py:225 circuits/forms/model_forms.py:142
+#: netbox/circuits/forms/bulk_import.py:129
+#: netbox/circuits/forms/filtersets.py:145
+#: netbox/circuits/forms/filtersets.py:225
+#: netbox/circuits/forms/model_forms.py:142
msgid "Provider network"
-msgstr "提供商网络"
+msgstr "运营商网络"
-#: circuits/forms/filtersets.py:28 circuits/forms/filtersets.py:116
-#: circuits/forms/filtersets.py:198 dcim/forms/bulk_edit.py:248
-#: dcim/forms/bulk_edit.py:346 dcim/forms/bulk_edit.py:580
-#: dcim/forms/bulk_edit.py:627 dcim/forms/bulk_edit.py:780
-#: dcim/forms/bulk_import.py:189 dcim/forms/bulk_import.py:263
-#: dcim/forms/bulk_import.py:491 dcim/forms/bulk_import.py:1268
-#: dcim/forms/bulk_import.py:1302 dcim/forms/filtersets.py:93
-#: dcim/forms/filtersets.py:246 dcim/forms/filtersets.py:279
-#: dcim/forms/filtersets.py:331 dcim/forms/filtersets.py:382
-#: dcim/forms/filtersets.py:649 dcim/forms/filtersets.py:691
-#: dcim/forms/filtersets.py:896 dcim/forms/filtersets.py:925
-#: dcim/forms/filtersets.py:945 dcim/forms/filtersets.py:1009
-#: dcim/forms/filtersets.py:1039 dcim/forms/filtersets.py:1048
-#: dcim/forms/filtersets.py:1159 dcim/forms/filtersets.py:1181
-#: dcim/forms/filtersets.py:1203 dcim/forms/filtersets.py:1220
-#: dcim/forms/filtersets.py:1240 dcim/forms/filtersets.py:1348
-#: dcim/forms/filtersets.py:1370 dcim/forms/filtersets.py:1391
-#: dcim/forms/filtersets.py:1406 dcim/forms/filtersets.py:1420
-#: dcim/forms/model_forms.py:179 dcim/forms/model_forms.py:211
-#: dcim/forms/model_forms.py:411 dcim/forms/model_forms.py:673
-#: dcim/tables/devices.py:162 dcim/tables/power.py:30 dcim/tables/racks.py:58
-#: dcim/tables/racks.py:143 extras/filtersets.py:488
-#: extras/forms/filtersets.py:329 ipam/forms/bulk_edit.py:457
-#: ipam/forms/filtersets.py:173 ipam/forms/filtersets.py:414
-#: ipam/forms/filtersets.py:437 ipam/forms/filtersets.py:474
-#: ipam/forms/model_forms.py:599 templates/dcim/device.html:25
-#: templates/dcim/device_edit.html:30
-#: templates/dcim/inc/cable_termination.html:12
-#: templates/dcim/location.html:26 templates/dcim/powerpanel.html:26
-#: templates/dcim/rack.html:26 templates/dcim/rackreservation.html:32
-#: virtualization/forms/filtersets.py:46
-#: virtualization/forms/filtersets.py:100 wireless/forms/model_forms.py:87
-#: wireless/forms/model_forms.py:129
+#: netbox/circuits/forms/filtersets.py:28
+#: netbox/circuits/forms/filtersets.py:116
+#: netbox/circuits/forms/filtersets.py:198 netbox/dcim/forms/bulk_edit.py:248
+#: netbox/dcim/forms/bulk_edit.py:346 netbox/dcim/forms/bulk_edit.py:580
+#: netbox/dcim/forms/bulk_edit.py:627 netbox/dcim/forms/bulk_edit.py:780
+#: netbox/dcim/forms/bulk_import.py:186 netbox/dcim/forms/bulk_import.py:260
+#: netbox/dcim/forms/bulk_import.py:485 netbox/dcim/forms/bulk_import.py:1256
+#: netbox/dcim/forms/bulk_import.py:1290 netbox/dcim/forms/filtersets.py:94
+#: netbox/dcim/forms/filtersets.py:247 netbox/dcim/forms/filtersets.py:280
+#: netbox/dcim/forms/filtersets.py:332 netbox/dcim/forms/filtersets.py:383
+#: netbox/dcim/forms/filtersets.py:650 netbox/dcim/forms/filtersets.py:693
+#: netbox/dcim/forms/filtersets.py:908 netbox/dcim/forms/filtersets.py:937
+#: netbox/dcim/forms/filtersets.py:957 netbox/dcim/forms/filtersets.py:1021
+#: netbox/dcim/forms/filtersets.py:1051 netbox/dcim/forms/filtersets.py:1060
+#: netbox/dcim/forms/filtersets.py:1171 netbox/dcim/forms/filtersets.py:1193
+#: netbox/dcim/forms/filtersets.py:1215 netbox/dcim/forms/filtersets.py:1232
+#: netbox/dcim/forms/filtersets.py:1252 netbox/dcim/forms/filtersets.py:1360
+#: netbox/dcim/forms/filtersets.py:1382 netbox/dcim/forms/filtersets.py:1403
+#: netbox/dcim/forms/filtersets.py:1418 netbox/dcim/forms/filtersets.py:1432
+#: netbox/dcim/forms/model_forms.py:179 netbox/dcim/forms/model_forms.py:211
+#: netbox/dcim/forms/model_forms.py:411 netbox/dcim/forms/model_forms.py:676
+#: netbox/dcim/tables/devices.py:154 netbox/dcim/tables/power.py:30
+#: netbox/dcim/tables/racks.py:58 netbox/dcim/tables/racks.py:143
+#: netbox/extras/filtersets.py:488 netbox/extras/forms/filtersets.py:329
+#: netbox/ipam/forms/bulk_edit.py:457 netbox/ipam/forms/filtersets.py:173
+#: netbox/ipam/forms/filtersets.py:414 netbox/ipam/forms/filtersets.py:437
+#: netbox/ipam/forms/filtersets.py:474 netbox/ipam/forms/model_forms.py:599
+#: netbox/templates/dcim/device.html:26
+#: netbox/templates/dcim/device_edit.html:30
+#: netbox/templates/dcim/inc/cable_termination.html:12
+#: netbox/templates/dcim/location.html:26
+#: netbox/templates/dcim/powerpanel.html:26 netbox/templates/dcim/rack.html:26
+#: netbox/templates/dcim/rackreservation.html:32
+#: netbox/virtualization/forms/filtersets.py:46
+#: netbox/virtualization/forms/filtersets.py:100
+#: netbox/wireless/forms/model_forms.py:87
+#: netbox/wireless/forms/model_forms.py:129
msgid "Location"
-msgstr "地点"
+msgstr "位置"
-#: circuits/forms/filtersets.py:30 circuits/forms/filtersets.py:118
-#: dcim/forms/filtersets.py:137 dcim/forms/filtersets.py:151
-#: dcim/forms/filtersets.py:167 dcim/forms/filtersets.py:199
-#: dcim/forms/filtersets.py:250 dcim/forms/filtersets.py:335
-#: dcim/forms/filtersets.py:406 dcim/forms/filtersets.py:653
-#: dcim/forms/filtersets.py:1010 netbox/navigation/menu.py:44
-#: netbox/navigation/menu.py:46 tenancy/forms/filtersets.py:42
-#: tenancy/tables/columns.py:70 tenancy/tables/contacts.py:25
-#: tenancy/views.py:19 virtualization/forms/filtersets.py:37
-#: virtualization/forms/filtersets.py:48
-#: virtualization/forms/filtersets.py:106
+#: netbox/circuits/forms/filtersets.py:30
+#: netbox/circuits/forms/filtersets.py:118 netbox/dcim/forms/filtersets.py:138
+#: netbox/dcim/forms/filtersets.py:152 netbox/dcim/forms/filtersets.py:168
+#: netbox/dcim/forms/filtersets.py:200 netbox/dcim/forms/filtersets.py:251
+#: netbox/dcim/forms/filtersets.py:336 netbox/dcim/forms/filtersets.py:407
+#: netbox/dcim/forms/filtersets.py:654 netbox/dcim/forms/filtersets.py:1022
+#: netbox/netbox/navigation/menu.py:44 netbox/netbox/navigation/menu.py:46
+#: netbox/tenancy/forms/filtersets.py:42 netbox/tenancy/tables/columns.py:70
+#: netbox/tenancy/tables/contacts.py:25 netbox/tenancy/views.py:19
+#: netbox/virtualization/forms/filtersets.py:37
+#: netbox/virtualization/forms/filtersets.py:48
+#: netbox/virtualization/forms/filtersets.py:106
msgid "Contacts"
-msgstr "联系人"
+msgstr "联系"
-#: circuits/forms/filtersets.py:35 circuits/forms/filtersets.py:155
-#: dcim/forms/bulk_edit.py:111 dcim/forms/bulk_edit.py:223
-#: dcim/forms/bulk_edit.py:755 dcim/forms/bulk_import.py:92
-#: dcim/forms/filtersets.py:71 dcim/forms/filtersets.py:178
-#: dcim/forms/filtersets.py:204 dcim/forms/filtersets.py:257
-#: dcim/forms/filtersets.py:360 dcim/forms/filtersets.py:668
-#: dcim/forms/filtersets.py:902 dcim/forms/filtersets.py:932
-#: dcim/forms/filtersets.py:1016 dcim/forms/filtersets.py:1055
-#: dcim/forms/filtersets.py:1468 dcim/forms/filtersets.py:1492
-#: dcim/forms/filtersets.py:1516 dcim/forms/model_forms.py:111
-#: dcim/forms/object_create.py:375 dcim/tables/devices.py:148
-#: dcim/tables/sites.py:85 extras/filtersets.py:455
-#: ipam/forms/bulk_edit.py:206 ipam/forms/bulk_edit.py:438
-#: ipam/forms/bulk_edit.py:512 ipam/forms/filtersets.py:217
-#: ipam/forms/filtersets.py:422 ipam/forms/filtersets.py:482
-#: ipam/forms/model_forms.py:571 templates/dcim/device.html:17
-#: templates/dcim/rack.html:16 templates/dcim/rackreservation.html:22
-#: templates/dcim/region.html:26 templates/dcim/site.html:30
-#: templates/ipam/prefix.html:49 templates/ipam/vlan.html:16
-#: virtualization/forms/bulk_edit.py:81 virtualization/forms/filtersets.py:59
-#: virtualization/forms/filtersets.py:133
-#: virtualization/forms/model_forms.py:92 vpn/forms/filtersets.py:257
+#: netbox/circuits/forms/filtersets.py:35
+#: netbox/circuits/forms/filtersets.py:155 netbox/dcim/forms/bulk_edit.py:111
+#: netbox/dcim/forms/bulk_edit.py:223 netbox/dcim/forms/bulk_edit.py:755
+#: netbox/dcim/forms/bulk_import.py:92 netbox/dcim/forms/filtersets.py:72
+#: netbox/dcim/forms/filtersets.py:179 netbox/dcim/forms/filtersets.py:205
+#: netbox/dcim/forms/filtersets.py:258 netbox/dcim/forms/filtersets.py:361
+#: netbox/dcim/forms/filtersets.py:670 netbox/dcim/forms/filtersets.py:914
+#: netbox/dcim/forms/filtersets.py:944 netbox/dcim/forms/filtersets.py:1028
+#: netbox/dcim/forms/filtersets.py:1067 netbox/dcim/forms/filtersets.py:1480
+#: netbox/dcim/forms/filtersets.py:1504 netbox/dcim/forms/filtersets.py:1528
+#: netbox/dcim/forms/model_forms.py:111 netbox/dcim/forms/object_create.py:375
+#: netbox/dcim/tables/devices.py:140 netbox/dcim/tables/sites.py:85
+#: netbox/extras/filtersets.py:455 netbox/ipam/forms/bulk_edit.py:206
+#: netbox/ipam/forms/bulk_edit.py:438 netbox/ipam/forms/bulk_edit.py:512
+#: netbox/ipam/forms/filtersets.py:217 netbox/ipam/forms/filtersets.py:422
+#: netbox/ipam/forms/filtersets.py:482 netbox/ipam/forms/model_forms.py:571
+#: netbox/templates/dcim/device.html:18 netbox/templates/dcim/rack.html:16
+#: netbox/templates/dcim/rackreservation.html:22
+#: netbox/templates/dcim/region.html:26 netbox/templates/dcim/site.html:31
+#: netbox/templates/ipam/prefix.html:49 netbox/templates/ipam/vlan.html:16
+#: netbox/virtualization/forms/bulk_edit.py:81
+#: netbox/virtualization/forms/filtersets.py:59
+#: netbox/virtualization/forms/filtersets.py:133
+#: netbox/virtualization/forms/model_forms.py:92
+#: netbox/vpn/forms/filtersets.py:257
msgid "Region"
-msgstr "区域"
+msgstr "地区"
-#: circuits/forms/filtersets.py:40 circuits/forms/filtersets.py:160
-#: dcim/forms/bulk_edit.py:231 dcim/forms/bulk_edit.py:763
-#: dcim/forms/filtersets.py:76 dcim/forms/filtersets.py:183
-#: dcim/forms/filtersets.py:209 dcim/forms/filtersets.py:270
-#: dcim/forms/filtersets.py:365 dcim/forms/filtersets.py:673
-#: dcim/forms/filtersets.py:907 dcim/forms/filtersets.py:1021
-#: dcim/forms/filtersets.py:1060 dcim/forms/object_create.py:383
-#: extras/filtersets.py:472 ipam/forms/bulk_edit.py:211
-#: ipam/forms/bulk_edit.py:445 ipam/forms/bulk_edit.py:517
-#: ipam/forms/filtersets.py:222 ipam/forms/filtersets.py:427
-#: ipam/forms/filtersets.py:487 ipam/forms/model_forms.py:584
-#: virtualization/forms/bulk_edit.py:86 virtualization/forms/filtersets.py:69
-#: virtualization/forms/filtersets.py:138
-#: virtualization/forms/model_forms.py:98
+#: netbox/circuits/forms/filtersets.py:40
+#: netbox/circuits/forms/filtersets.py:160 netbox/dcim/forms/bulk_edit.py:231
+#: netbox/dcim/forms/bulk_edit.py:763 netbox/dcim/forms/filtersets.py:77
+#: netbox/dcim/forms/filtersets.py:184 netbox/dcim/forms/filtersets.py:210
+#: netbox/dcim/forms/filtersets.py:271 netbox/dcim/forms/filtersets.py:366
+#: netbox/dcim/forms/filtersets.py:675 netbox/dcim/forms/filtersets.py:919
+#: netbox/dcim/forms/filtersets.py:1033 netbox/dcim/forms/filtersets.py:1072
+#: netbox/dcim/forms/object_create.py:383 netbox/extras/filtersets.py:472
+#: netbox/ipam/forms/bulk_edit.py:211 netbox/ipam/forms/bulk_edit.py:445
+#: netbox/ipam/forms/bulk_edit.py:517 netbox/ipam/forms/filtersets.py:222
+#: netbox/ipam/forms/filtersets.py:427 netbox/ipam/forms/filtersets.py:487
+#: netbox/ipam/forms/model_forms.py:584
+#: netbox/virtualization/forms/bulk_edit.py:86
+#: netbox/virtualization/forms/filtersets.py:69
+#: netbox/virtualization/forms/filtersets.py:138
+#: netbox/virtualization/forms/model_forms.py:98
msgid "Site group"
msgstr "站点组"
-#: circuits/forms/filtersets.py:63 circuits/forms/filtersets.py:81
-#: circuits/forms/filtersets.py:100 circuits/forms/filtersets.py:115
-#: core/forms/filtersets.py:64 dcim/forms/bulk_edit.py:726
-#: dcim/forms/filtersets.py:165 dcim/forms/filtersets.py:197
-#: dcim/forms/filtersets.py:834 dcim/forms/filtersets.py:926
-#: dcim/forms/filtersets.py:1050 dcim/forms/filtersets.py:1158
-#: dcim/forms/filtersets.py:1180 dcim/forms/filtersets.py:1202
-#: dcim/forms/filtersets.py:1219 dcim/forms/filtersets.py:1236
-#: dcim/forms/filtersets.py:1347 dcim/forms/filtersets.py:1369
-#: dcim/forms/filtersets.py:1390 dcim/forms/filtersets.py:1405
-#: dcim/forms/filtersets.py:1418 extras/forms/filtersets.py:43
-#: extras/forms/filtersets.py:112 extras/forms/filtersets.py:143
-#: extras/forms/filtersets.py:183 extras/forms/filtersets.py:199
-#: extras/forms/filtersets.py:230 extras/forms/filtersets.py:254
-#: extras/forms/filtersets.py:450 extras/forms/filtersets.py:488
-#: ipam/forms/filtersets.py:99 ipam/forms/filtersets.py:266
-#: ipam/forms/filtersets.py:307 ipam/forms/filtersets.py:382
-#: ipam/forms/filtersets.py:475 ipam/forms/filtersets.py:534
-#: ipam/forms/filtersets.py:552 netbox/tables/tables.py:255
-#: virtualization/forms/filtersets.py:45
-#: virtualization/forms/filtersets.py:103
-#: virtualization/forms/filtersets.py:194
-#: virtualization/forms/filtersets.py:239 vpn/forms/filtersets.py:213
-#: wireless/forms/filtersets.py:34 wireless/forms/filtersets.py:74
+#: netbox/circuits/forms/filtersets.py:63
+#: netbox/circuits/forms/filtersets.py:81
+#: netbox/circuits/forms/filtersets.py:100
+#: netbox/circuits/forms/filtersets.py:115 netbox/core/forms/filtersets.py:64
+#: netbox/dcim/forms/bulk_edit.py:726 netbox/dcim/forms/filtersets.py:166
+#: netbox/dcim/forms/filtersets.py:198 netbox/dcim/forms/filtersets.py:846
+#: netbox/dcim/forms/filtersets.py:938 netbox/dcim/forms/filtersets.py:1062
+#: netbox/dcim/forms/filtersets.py:1170 netbox/dcim/forms/filtersets.py:1192
+#: netbox/dcim/forms/filtersets.py:1214 netbox/dcim/forms/filtersets.py:1231
+#: netbox/dcim/forms/filtersets.py:1248 netbox/dcim/forms/filtersets.py:1359
+#: netbox/dcim/forms/filtersets.py:1381 netbox/dcim/forms/filtersets.py:1402
+#: netbox/dcim/forms/filtersets.py:1417 netbox/dcim/forms/filtersets.py:1430
+#: netbox/extras/forms/filtersets.py:43 netbox/extras/forms/filtersets.py:112
+#: netbox/extras/forms/filtersets.py:143 netbox/extras/forms/filtersets.py:183
+#: netbox/extras/forms/filtersets.py:199 netbox/extras/forms/filtersets.py:230
+#: netbox/extras/forms/filtersets.py:254 netbox/extras/forms/filtersets.py:450
+#: netbox/extras/forms/filtersets.py:485 netbox/ipam/forms/filtersets.py:99
+#: netbox/ipam/forms/filtersets.py:266 netbox/ipam/forms/filtersets.py:307
+#: netbox/ipam/forms/filtersets.py:382 netbox/ipam/forms/filtersets.py:475
+#: netbox/ipam/forms/filtersets.py:534 netbox/ipam/forms/filtersets.py:552
+#: netbox/netbox/tables/tables.py:255
+#: netbox/virtualization/forms/filtersets.py:45
+#: netbox/virtualization/forms/filtersets.py:103
+#: netbox/virtualization/forms/filtersets.py:194
+#: netbox/virtualization/forms/filtersets.py:239
+#: netbox/vpn/forms/filtersets.py:213 netbox/wireless/forms/filtersets.py:34
+#: netbox/wireless/forms/filtersets.py:74
msgid "Attributes"
msgstr "属性"
-#: circuits/forms/filtersets.py:71 circuits/tables/circuits.py:61
-#: circuits/tables/providers.py:66 templates/circuits/circuit.html:22
-#: templates/circuits/provideraccount.html:24
+#: netbox/circuits/forms/filtersets.py:71
+#: netbox/circuits/tables/circuits.py:61
+#: netbox/circuits/tables/providers.py:66
+#: netbox/templates/circuits/circuit.html:22
+#: netbox/templates/circuits/provideraccount.html:24
msgid "Account"
msgstr "账户"
-#: circuits/forms/filtersets.py:215
+#: netbox/circuits/forms/filtersets.py:215
msgid "Term Side"
-msgstr "学期方面"
+msgstr "线路终端侧"
-#: circuits/models/circuits.py:25 dcim/models/cables.py:67
-#: dcim/models/device_component_templates.py:491
-#: dcim/models/device_component_templates.py:591
-#: dcim/models/device_components.py:976 dcim/models/device_components.py:1050
-#: dcim/models/device_components.py:1166 dcim/models/devices.py:469
-#: dcim/models/racks.py:44 extras/models/tags.py:28
+#: netbox/circuits/models/circuits.py:25 netbox/dcim/models/cables.py:67
+#: netbox/dcim/models/device_component_templates.py:491
+#: netbox/dcim/models/device_component_templates.py:591
+#: netbox/dcim/models/device_components.py:976
+#: netbox/dcim/models/device_components.py:1050
+#: netbox/dcim/models/device_components.py:1166
+#: netbox/dcim/models/devices.py:469 netbox/dcim/models/racks.py:44
+#: netbox/extras/models/tags.py:28
msgid "color"
msgstr "颜色"
-#: circuits/models/circuits.py:34
+#: netbox/circuits/models/circuits.py:34
msgid "circuit type"
-msgstr "电路类型"
+msgstr "线路类型"
-#: circuits/models/circuits.py:35
+#: netbox/circuits/models/circuits.py:35
msgid "circuit types"
-msgstr "电路类型"
+msgstr "线路类型"
-#: circuits/models/circuits.py:46
+#: netbox/circuits/models/circuits.py:46
msgid "circuit ID"
-msgstr "电路 ID"
+msgstr "线路ID"
-#: circuits/models/circuits.py:47
+#: netbox/circuits/models/circuits.py:47
msgid "Unique circuit ID"
-msgstr "唯一的电路 ID"
+msgstr "唯一线路 ID"
-#: circuits/models/circuits.py:67 core/models/data.py:55
-#: core/models/jobs.py:85 dcim/models/cables.py:49 dcim/models/devices.py:643
-#: dcim/models/devices.py:1155 dcim/models/devices.py:1364
-#: dcim/models/power.py:96 dcim/models/racks.py:98 dcim/models/sites.py:154
-#: dcim/models/sites.py:266 ipam/models/ip.py:253 ipam/models/ip.py:522
-#: ipam/models/ip.py:730 ipam/models/vlans.py:175
-#: virtualization/models/clusters.py:74
-#: virtualization/models/virtualmachines.py:84 vpn/models/tunnels.py:40
-#: wireless/models.py:94 wireless/models.py:158
+#: netbox/circuits/models/circuits.py:67 netbox/core/models/data.py:55
+#: netbox/core/models/jobs.py:85 netbox/dcim/models/cables.py:49
+#: netbox/dcim/models/devices.py:643 netbox/dcim/models/devices.py:1155
+#: netbox/dcim/models/devices.py:1364 netbox/dcim/models/power.py:96
+#: netbox/dcim/models/racks.py:98 netbox/dcim/models/sites.py:154
+#: netbox/dcim/models/sites.py:266 netbox/ipam/models/ip.py:253
+#: netbox/ipam/models/ip.py:522 netbox/ipam/models/ip.py:730
+#: netbox/ipam/models/vlans.py:175 netbox/virtualization/models/clusters.py:74
+#: netbox/virtualization/models/virtualmachines.py:84
+#: netbox/vpn/models/tunnels.py:40 netbox/wireless/models.py:94
+#: netbox/wireless/models.py:158
msgid "status"
msgstr "状态"
-#: circuits/models/circuits.py:82
+#: netbox/circuits/models/circuits.py:82
msgid "installed"
-msgstr "已安装"
+msgstr "安装时间"
-#: circuits/models/circuits.py:87
+#: netbox/circuits/models/circuits.py:87
msgid "terminates"
-msgstr "终止"
+msgstr "结束时间"
-#: circuits/models/circuits.py:92
+#: netbox/circuits/models/circuits.py:92
msgid "commit rate (Kbps)"
-msgstr "提交速率 (Kbps)"
+msgstr "承诺速率(Kbps)"
-#: circuits/models/circuits.py:93
+#: netbox/circuits/models/circuits.py:93
msgid "Committed rate"
-msgstr "承诺费率"
+msgstr "承诺速率"
-#: circuits/models/circuits.py:135
+#: netbox/circuits/models/circuits.py:135
msgid "circuit"
-msgstr "电路"
+msgstr "线路"
-#: circuits/models/circuits.py:136
+#: netbox/circuits/models/circuits.py:136
msgid "circuits"
-msgstr "电路"
+msgstr "广域网线路"
-#: circuits/models/circuits.py:169
+#: netbox/circuits/models/circuits.py:169
msgid "termination"
-msgstr "终止"
+msgstr "接入终端"
-#: circuits/models/circuits.py:186
+#: netbox/circuits/models/circuits.py:186
msgid "port speed (Kbps)"
-msgstr "端口速度 (Kbps)"
+msgstr "接口速率(Kpbs)"
-#: circuits/models/circuits.py:189
+#: netbox/circuits/models/circuits.py:189
msgid "Physical circuit speed"
-msgstr "物理电路速度"
+msgstr "物理线路速率"
-#: circuits/models/circuits.py:194
+#: netbox/circuits/models/circuits.py:194
msgid "upstream speed (Kbps)"
-msgstr "上行速度 (Kbps)"
+msgstr "上行速率(Kbps)"
-#: circuits/models/circuits.py:195
+#: netbox/circuits/models/circuits.py:195
msgid "Upstream speed, if different from port speed"
msgstr "上行速度(如果与端口速度不同)"
-#: circuits/models/circuits.py:200
+#: netbox/circuits/models/circuits.py:200
msgid "cross-connect ID"
-msgstr "交叉连接 ID"
+msgstr "交叉连接ID"
-#: circuits/models/circuits.py:201
+#: netbox/circuits/models/circuits.py:201
msgid "ID of the local cross-connect"
-msgstr "本地交叉连接的 ID"
+msgstr "本地交叉连接ID"
-#: circuits/models/circuits.py:206
+#: netbox/circuits/models/circuits.py:206
msgid "patch panel/port(s)"
msgstr "配线架/端口"
-#: circuits/models/circuits.py:207
+#: netbox/circuits/models/circuits.py:207
msgid "Patch panel ID and port number(s)"
msgstr "配线架 ID 和端口号"
-#: circuits/models/circuits.py:210
-#: dcim/models/device_component_templates.py:61
-#: dcim/models/device_components.py:69 dcim/models/racks.py:538
-#: extras/models/configs.py:45 extras/models/configs.py:219
-#: extras/models/customfields.py:123 extras/models/models.py:60
-#: extras/models/models.py:186 extras/models/models.py:424
-#: extras/models/models.py:539 extras/models/staging.py:31
-#: extras/models/tags.py:32 netbox/models/__init__.py:109
-#: netbox/models/__init__.py:144 netbox/models/__init__.py:190
-#: users/models/permissions.py:24 users/models/tokens.py:58
-#: users/models/users.py:33 virtualization/models/virtualmachines.py:284
+#: netbox/circuits/models/circuits.py:210
+#: netbox/dcim/models/device_component_templates.py:61
+#: netbox/dcim/models/device_components.py:69 netbox/dcim/models/racks.py:538
+#: netbox/extras/models/configs.py:45 netbox/extras/models/configs.py:219
+#: netbox/extras/models/customfields.py:124 netbox/extras/models/models.py:60
+#: netbox/extras/models/models.py:186 netbox/extras/models/models.py:424
+#: netbox/extras/models/models.py:539 netbox/extras/models/staging.py:32
+#: netbox/extras/models/tags.py:32 netbox/netbox/models/__init__.py:109
+#: netbox/netbox/models/__init__.py:144 netbox/netbox/models/__init__.py:190
+#: netbox/users/models/permissions.py:24 netbox/users/models/tokens.py:58
+#: netbox/users/models/users.py:33
+#: netbox/virtualization/models/virtualmachines.py:284
msgid "description"
msgstr "描述"
-#: circuits/models/circuits.py:223
+#: netbox/circuits/models/circuits.py:223
msgid "circuit termination"
-msgstr "电路终止"
+msgstr "线路接入"
-#: circuits/models/circuits.py:224
+#: netbox/circuits/models/circuits.py:224
msgid "circuit terminations"
-msgstr "电路终端"
+msgstr "线路接入"
-#: circuits/models/circuits.py:237
+#: netbox/circuits/models/circuits.py:237
msgid ""
"A circuit termination must attach to either a site or a provider network."
-msgstr "电路终端必须连接到站点或提供商网络。"
+msgstr "线路终结必须连接到站点或运营商网络。"
-#: circuits/models/circuits.py:239
+#: netbox/circuits/models/circuits.py:239
msgid ""
"A circuit termination cannot attach to both a site and a provider network."
-msgstr "电路终端不能同时连接到站点和提供商网络。"
+msgstr "线路终结不能同时连接到站点和运营商网络。"
-#: circuits/models/providers.py:22 circuits/models/providers.py:66
-#: circuits/models/providers.py:104 core/models/data.py:42
-#: core/models/jobs.py:46 dcim/models/device_component_templates.py:43
-#: dcim/models/device_components.py:54 dcim/models/devices.py:583
-#: dcim/models/devices.py:1295 dcim/models/devices.py:1360
-#: dcim/models/power.py:39 dcim/models/power.py:92 dcim/models/racks.py:63
-#: dcim/models/sites.py:138 extras/models/configs.py:36
-#: extras/models/configs.py:215 extras/models/customfields.py:90
-#: extras/models/models.py:55 extras/models/models.py:181
-#: extras/models/models.py:324 extras/models/models.py:420
-#: extras/models/models.py:529 extras/models/models.py:624
-#: extras/models/scripts.py:30 extras/models/staging.py:26
-#: ipam/models/asns.py:18 ipam/models/fhrp.py:25 ipam/models/services.py:51
-#: ipam/models/services.py:87 ipam/models/vlans.py:26 ipam/models/vlans.py:164
-#: ipam/models/vrfs.py:22 ipam/models/vrfs.py:79 netbox/models/__init__.py:136
-#: netbox/models/__init__.py:180 tenancy/models/contacts.py:64
-#: tenancy/models/tenants.py:20 tenancy/models/tenants.py:45
-#: users/models/permissions.py:20 users/models/users.py:28
-#: virtualization/models/clusters.py:57
-#: virtualization/models/virtualmachines.py:72
-#: virtualization/models/virtualmachines.py:274 vpn/models/crypto.py:24
-#: vpn/models/crypto.py:71 vpn/models/crypto.py:131 vpn/models/crypto.py:183
-#: vpn/models/crypto.py:221 vpn/models/l2vpn.py:22 vpn/models/tunnels.py:35
-#: wireless/models.py:50
+#: netbox/circuits/models/providers.py:22
+#: netbox/circuits/models/providers.py:66
+#: netbox/circuits/models/providers.py:104 netbox/core/models/data.py:42
+#: netbox/core/models/jobs.py:46
+#: netbox/dcim/models/device_component_templates.py:43
+#: netbox/dcim/models/device_components.py:54
+#: netbox/dcim/models/devices.py:583 netbox/dcim/models/devices.py:1295
+#: netbox/dcim/models/devices.py:1360 netbox/dcim/models/power.py:39
+#: netbox/dcim/models/power.py:92 netbox/dcim/models/racks.py:63
+#: netbox/dcim/models/sites.py:138 netbox/extras/models/configs.py:36
+#: netbox/extras/models/configs.py:215 netbox/extras/models/customfields.py:91
+#: netbox/extras/models/models.py:55 netbox/extras/models/models.py:181
+#: netbox/extras/models/models.py:324 netbox/extras/models/models.py:420
+#: netbox/extras/models/models.py:529 netbox/extras/models/models.py:624
+#: netbox/extras/models/scripts.py:30 netbox/extras/models/staging.py:27
+#: netbox/ipam/models/asns.py:18 netbox/ipam/models/fhrp.py:25
+#: netbox/ipam/models/services.py:52 netbox/ipam/models/services.py:88
+#: netbox/ipam/models/vlans.py:26 netbox/ipam/models/vlans.py:164
+#: netbox/ipam/models/vrfs.py:22 netbox/ipam/models/vrfs.py:79
+#: netbox/netbox/models/__init__.py:136 netbox/netbox/models/__init__.py:180
+#: netbox/tenancy/models/contacts.py:64 netbox/tenancy/models/tenants.py:20
+#: netbox/tenancy/models/tenants.py:45 netbox/users/models/permissions.py:20
+#: netbox/users/models/users.py:28 netbox/virtualization/models/clusters.py:57
+#: netbox/virtualization/models/virtualmachines.py:72
+#: netbox/virtualization/models/virtualmachines.py:274
+#: netbox/vpn/models/crypto.py:24 netbox/vpn/models/crypto.py:71
+#: netbox/vpn/models/crypto.py:131 netbox/vpn/models/crypto.py:183
+#: netbox/vpn/models/crypto.py:221 netbox/vpn/models/l2vpn.py:22
+#: netbox/vpn/models/tunnels.py:35 netbox/wireless/models.py:50
msgid "name"
msgstr "名称"
-#: circuits/models/providers.py:25
+#: netbox/circuits/models/providers.py:25
msgid "Full name of the provider"
-msgstr "提供商的全名"
+msgstr "运营商全称"
-#: circuits/models/providers.py:28 dcim/models/devices.py:86
-#: dcim/models/sites.py:149 extras/models/models.py:534 ipam/models/asns.py:23
-#: ipam/models/vlans.py:30 netbox/models/__init__.py:140
-#: netbox/models/__init__.py:185 tenancy/models/tenants.py:25
-#: tenancy/models/tenants.py:49 vpn/models/l2vpn.py:27 wireless/models.py:55
+#: netbox/circuits/models/providers.py:28 netbox/dcim/models/devices.py:86
+#: netbox/dcim/models/sites.py:149 netbox/extras/models/models.py:534
+#: netbox/ipam/models/asns.py:23 netbox/ipam/models/vlans.py:30
+#: netbox/netbox/models/__init__.py:140 netbox/netbox/models/__init__.py:185
+#: netbox/tenancy/models/tenants.py:25 netbox/tenancy/models/tenants.py:49
+#: netbox/vpn/models/l2vpn.py:27 netbox/wireless/models.py:55
msgid "slug"
-msgstr "蛞蝓"
+msgstr "缩写"
-#: circuits/models/providers.py:42
+#: netbox/circuits/models/providers.py:42
msgid "provider"
-msgstr "提供商"
+msgstr "运营商"
-#: circuits/models/providers.py:43
+#: netbox/circuits/models/providers.py:43
msgid "providers"
-msgstr "供应商"
+msgstr "运营商"
-#: circuits/models/providers.py:63
+#: netbox/circuits/models/providers.py:63
msgid "account ID"
-msgstr "账户 ID"
+msgstr "账户ID"
-#: circuits/models/providers.py:86
+#: netbox/circuits/models/providers.py:86
msgid "provider account"
-msgstr "提供商账户"
+msgstr "运营商账号"
-#: circuits/models/providers.py:87
+#: netbox/circuits/models/providers.py:87
msgid "provider accounts"
-msgstr "提供商账户"
+msgstr "运营商账户"
-#: circuits/models/providers.py:115
+#: netbox/circuits/models/providers.py:115
msgid "service ID"
-msgstr "服务 ID"
+msgstr "服务ID"
-#: circuits/models/providers.py:126
+#: netbox/circuits/models/providers.py:126
msgid "provider network"
-msgstr "提供商网络"
+msgstr "运营商网络"
-#: circuits/models/providers.py:127
+#: netbox/circuits/models/providers.py:127
msgid "provider networks"
-msgstr "提供商网络"
+msgstr "运营商网络"
-#: circuits/tables/circuits.py:30 circuits/tables/providers.py:18
-#: circuits/tables/providers.py:69 circuits/tables/providers.py:99
-#: core/tables/data.py:16 core/tables/jobs.py:14 core/tables/plugins.py:13
-#: core/tables/tasks.py:11 core/tables/tasks.py:115
-#: dcim/forms/filtersets.py:61 dcim/forms/object_create.py:43
-#: dcim/tables/devices.py:60 dcim/tables/devices.py:97
-#: dcim/tables/devices.py:139 dcim/tables/devices.py:294
-#: dcim/tables/devices.py:380 dcim/tables/devices.py:424
-#: dcim/tables/devices.py:476 dcim/tables/devices.py:528
-#: dcim/tables/devices.py:644 dcim/tables/devices.py:726
-#: dcim/tables/devices.py:776 dcim/tables/devices.py:842
-#: dcim/tables/devices.py:957 dcim/tables/devices.py:977
-#: dcim/tables/devices.py:1006 dcim/tables/devices.py:1036
-#: dcim/tables/devicetypes.py:32 dcim/tables/power.py:22
-#: dcim/tables/power.py:62 dcim/tables/racks.py:23 dcim/tables/racks.py:53
-#: dcim/tables/sites.py:24 dcim/tables/sites.py:51 dcim/tables/sites.py:78
-#: dcim/tables/sites.py:125 extras/forms/filtersets.py:191
-#: extras/tables/tables.py:42 extras/tables/tables.py:88
-#: extras/tables/tables.py:120 extras/tables/tables.py:144
-#: extras/tables/tables.py:209 extras/tables/tables.py:256
-#: extras/tables/tables.py:279 extras/tables/tables.py:329
-#: extras/tables/tables.py:381 extras/tables/tables.py:404
-#: ipam/forms/bulk_edit.py:391 ipam/forms/filtersets.py:386
-#: ipam/tables/asn.py:16 ipam/tables/ip.py:85 ipam/tables/ip.py:159
-#: ipam/tables/services.py:15 ipam/tables/services.py:40
-#: ipam/tables/vlans.py:64 ipam/tables/vlans.py:110 ipam/tables/vrfs.py:26
-#: ipam/tables/vrfs.py:67 templates/circuits/circuittype.html:22
-#: templates/circuits/provideraccount.html:28
-#: templates/circuits/providernetwork.html:24
-#: templates/core/datasource.html:34 templates/core/job.html:26
-#: templates/core/rq_worker.html:43 templates/dcim/consoleport.html:28
-#: templates/dcim/consoleserverport.html:28 templates/dcim/devicebay.html:24
-#: templates/dcim/devicerole.html:26 templates/dcim/frontport.html:28
-#: templates/dcim/inc/interface_vlans_table.html:5
-#: templates/dcim/inc/panels/inventory_items.html:18
-#: templates/dcim/interface.html:38 templates/dcim/interface.html:165
-#: templates/dcim/inventoryitem.html:28
-#: templates/dcim/inventoryitemrole.html:18 templates/dcim/location.html:29
-#: templates/dcim/manufacturer.html:36 templates/dcim/modulebay.html:26
-#: templates/dcim/platform.html:29 templates/dcim/poweroutlet.html:28
-#: templates/dcim/powerport.html:28 templates/dcim/rackrole.html:22
-#: templates/dcim/rearport.html:28 templates/dcim/region.html:29
-#: templates/dcim/sitegroup.html:29
-#: templates/dcim/virtualdevicecontext.html:18
-#: templates/extras/configcontext.html:13
-#: templates/extras/configtemplate.html:13
-#: templates/extras/customfield.html:13 templates/extras/customlink.html:13
-#: templates/extras/eventrule.html:13 templates/extras/exporttemplate.html:15
-#: templates/extras/savedfilter.html:13 templates/extras/script_list.html:46
-#: templates/extras/tag.html:14 templates/extras/webhook.html:13
-#: templates/ipam/asnrange.html:15 templates/ipam/fhrpgroup.html:30
-#: templates/ipam/rir.html:22 templates/ipam/role.html:22
-#: templates/ipam/routetarget.html:13 templates/ipam/service.html:24
-#: templates/ipam/servicetemplate.html:15 templates/ipam/vlan.html:35
-#: templates/ipam/vlangroup.html:30 templates/tenancy/contact.html:25
-#: templates/tenancy/contactgroup.html:21
-#: templates/tenancy/contactrole.html:18 templates/tenancy/tenantgroup.html:29
-#: templates/users/group.html:17 templates/users/objectpermission.html:17
-#: templates/virtualization/cluster.html:13
-#: templates/virtualization/clustergroup.html:22
-#: templates/virtualization/clustertype.html:22
-#: templates/virtualization/virtualdisk.html:25
-#: templates/virtualization/virtualmachine.html:15
-#: templates/virtualization/vminterface.html:25
-#: templates/vpn/ikepolicy.html:13 templates/vpn/ikeproposal.html:13
-#: templates/vpn/ipsecpolicy.html:13 templates/vpn/ipsecprofile.html:13
-#: templates/vpn/ipsecprofile.html:36 templates/vpn/ipsecprofile.html:69
-#: templates/vpn/ipsecproposal.html:13 templates/vpn/l2vpn.html:14
-#: templates/vpn/tunnel.html:21 templates/vpn/tunnelgroup.html:26
-#: templates/wireless/wirelesslangroup.html:29 tenancy/tables/contacts.py:19
-#: tenancy/tables/contacts.py:41 tenancy/tables/contacts.py:56
-#: tenancy/tables/tenants.py:16 tenancy/tables/tenants.py:38
-#: users/tables.py:62 users/tables.py:76
-#: virtualization/forms/bulk_create.py:20
-#: virtualization/forms/object_create.py:13
-#: virtualization/forms/object_create.py:23
-#: virtualization/tables/clusters.py:17 virtualization/tables/clusters.py:39
-#: virtualization/tables/clusters.py:62
-#: virtualization/tables/virtualmachines.py:54
-#: virtualization/tables/virtualmachines.py:132
-#: virtualization/tables/virtualmachines.py:185 vpn/tables/crypto.py:18
-#: vpn/tables/crypto.py:57 vpn/tables/crypto.py:93 vpn/tables/crypto.py:129
-#: vpn/tables/crypto.py:158 vpn/tables/l2vpn.py:23 vpn/tables/tunnels.py:18
-#: vpn/tables/tunnels.py:40 wireless/tables/wirelesslan.py:18
-#: wireless/tables/wirelesslan.py:79
+#: netbox/circuits/tables/circuits.py:30
+#: netbox/circuits/tables/providers.py:18
+#: netbox/circuits/tables/providers.py:69
+#: netbox/circuits/tables/providers.py:99 netbox/core/tables/data.py:16
+#: netbox/core/tables/jobs.py:14 netbox/core/tables/plugins.py:13
+#: netbox/core/tables/tasks.py:11 netbox/core/tables/tasks.py:115
+#: netbox/dcim/forms/filtersets.py:62 netbox/dcim/forms/object_create.py:43
+#: netbox/dcim/tables/devices.py:52 netbox/dcim/tables/devices.py:89
+#: netbox/dcim/tables/devices.py:131 netbox/dcim/tables/devices.py:286
+#: netbox/dcim/tables/devices.py:380 netbox/dcim/tables/devices.py:421
+#: netbox/dcim/tables/devices.py:470 netbox/dcim/tables/devices.py:519
+#: netbox/dcim/tables/devices.py:632 netbox/dcim/tables/devices.py:714
+#: netbox/dcim/tables/devices.py:761 netbox/dcim/tables/devices.py:824
+#: netbox/dcim/tables/devices.py:939 netbox/dcim/tables/devices.py:959
+#: netbox/dcim/tables/devices.py:988 netbox/dcim/tables/devices.py:1018
+#: netbox/dcim/tables/devicetypes.py:32 netbox/dcim/tables/power.py:22
+#: netbox/dcim/tables/power.py:62 netbox/dcim/tables/racks.py:23
+#: netbox/dcim/tables/racks.py:53 netbox/dcim/tables/sites.py:24
+#: netbox/dcim/tables/sites.py:51 netbox/dcim/tables/sites.py:78
+#: netbox/dcim/tables/sites.py:125 netbox/extras/forms/filtersets.py:191
+#: netbox/extras/tables/tables.py:43 netbox/extras/tables/tables.py:89
+#: netbox/extras/tables/tables.py:121 netbox/extras/tables/tables.py:145
+#: netbox/extras/tables/tables.py:210 netbox/extras/tables/tables.py:257
+#: netbox/extras/tables/tables.py:280 netbox/extras/tables/tables.py:330
+#: netbox/extras/tables/tables.py:382 netbox/extras/tables/tables.py:405
+#: netbox/ipam/forms/bulk_edit.py:391 netbox/ipam/forms/filtersets.py:386
+#: netbox/ipam/tables/asn.py:16 netbox/ipam/tables/ip.py:85
+#: netbox/ipam/tables/ip.py:159 netbox/ipam/tables/services.py:15
+#: netbox/ipam/tables/services.py:40 netbox/ipam/tables/vlans.py:64
+#: netbox/ipam/tables/vlans.py:110 netbox/ipam/tables/vrfs.py:26
+#: netbox/ipam/tables/vrfs.py:67 netbox/templates/circuits/circuittype.html:22
+#: netbox/templates/circuits/provideraccount.html:28
+#: netbox/templates/circuits/providernetwork.html:24
+#: netbox/templates/core/datasource.html:34 netbox/templates/core/job.html:26
+#: netbox/templates/core/rq_worker.html:43
+#: netbox/templates/dcim/consoleport.html:28
+#: netbox/templates/dcim/consoleserverport.html:28
+#: netbox/templates/dcim/devicebay.html:24
+#: netbox/templates/dcim/devicerole.html:26
+#: netbox/templates/dcim/frontport.html:28
+#: netbox/templates/dcim/inc/interface_vlans_table.html:5
+#: netbox/templates/dcim/inc/panels/inventory_items.html:18
+#: netbox/templates/dcim/interface.html:38
+#: netbox/templates/dcim/interface.html:165
+#: netbox/templates/dcim/inventoryitem.html:28
+#: netbox/templates/dcim/inventoryitemrole.html:18
+#: netbox/templates/dcim/location.html:29
+#: netbox/templates/dcim/manufacturer.html:36
+#: netbox/templates/dcim/modulebay.html:26
+#: netbox/templates/dcim/platform.html:29
+#: netbox/templates/dcim/poweroutlet.html:28
+#: netbox/templates/dcim/powerport.html:28
+#: netbox/templates/dcim/rackrole.html:22
+#: netbox/templates/dcim/rearport.html:28 netbox/templates/dcim/region.html:29
+#: netbox/templates/dcim/sitegroup.html:29
+#: netbox/templates/dcim/virtualdevicecontext.html:18
+#: netbox/templates/extras/configcontext.html:13
+#: netbox/templates/extras/configtemplate.html:13
+#: netbox/templates/extras/customfield.html:13
+#: netbox/templates/extras/customlink.html:13
+#: netbox/templates/extras/eventrule.html:13
+#: netbox/templates/extras/exporttemplate.html:15
+#: netbox/templates/extras/savedfilter.html:13
+#: netbox/templates/extras/script_list.html:46
+#: netbox/templates/extras/tag.html:14 netbox/templates/extras/webhook.html:13
+#: netbox/templates/ipam/asnrange.html:15
+#: netbox/templates/ipam/fhrpgroup.html:30 netbox/templates/ipam/rir.html:22
+#: netbox/templates/ipam/role.html:22
+#: netbox/templates/ipam/routetarget.html:13
+#: netbox/templates/ipam/service.html:24
+#: netbox/templates/ipam/servicetemplate.html:15
+#: netbox/templates/ipam/vlan.html:35 netbox/templates/ipam/vlangroup.html:30
+#: netbox/templates/tenancy/contact.html:25
+#: netbox/templates/tenancy/contactgroup.html:21
+#: netbox/templates/tenancy/contactrole.html:18
+#: netbox/templates/tenancy/tenantgroup.html:29
+#: netbox/templates/users/group.html:17
+#: netbox/templates/users/objectpermission.html:17
+#: netbox/templates/virtualization/cluster.html:13
+#: netbox/templates/virtualization/clustergroup.html:22
+#: netbox/templates/virtualization/clustertype.html:22
+#: netbox/templates/virtualization/virtualdisk.html:25
+#: netbox/templates/virtualization/virtualmachine.html:15
+#: netbox/templates/virtualization/vminterface.html:25
+#: netbox/templates/vpn/ikepolicy.html:13
+#: netbox/templates/vpn/ikeproposal.html:13
+#: netbox/templates/vpn/ipsecpolicy.html:13
+#: netbox/templates/vpn/ipsecprofile.html:13
+#: netbox/templates/vpn/ipsecprofile.html:36
+#: netbox/templates/vpn/ipsecprofile.html:69
+#: netbox/templates/vpn/ipsecproposal.html:13
+#: netbox/templates/vpn/l2vpn.html:14 netbox/templates/vpn/tunnel.html:21
+#: netbox/templates/vpn/tunnelgroup.html:26
+#: netbox/templates/wireless/wirelesslangroup.html:29
+#: netbox/tenancy/tables/contacts.py:19 netbox/tenancy/tables/contacts.py:41
+#: netbox/tenancy/tables/contacts.py:56 netbox/tenancy/tables/tenants.py:16
+#: netbox/tenancy/tables/tenants.py:38 netbox/users/tables.py:62
+#: netbox/users/tables.py:76 netbox/virtualization/forms/bulk_create.py:20
+#: netbox/virtualization/forms/object_create.py:13
+#: netbox/virtualization/forms/object_create.py:23
+#: netbox/virtualization/tables/clusters.py:17
+#: netbox/virtualization/tables/clusters.py:39
+#: netbox/virtualization/tables/clusters.py:62
+#: netbox/virtualization/tables/virtualmachines.py:54
+#: netbox/virtualization/tables/virtualmachines.py:132
+#: netbox/virtualization/tables/virtualmachines.py:187
+#: netbox/vpn/tables/crypto.py:18 netbox/vpn/tables/crypto.py:57
+#: netbox/vpn/tables/crypto.py:93 netbox/vpn/tables/crypto.py:129
+#: netbox/vpn/tables/crypto.py:158 netbox/vpn/tables/l2vpn.py:23
+#: netbox/vpn/tables/tunnels.py:18 netbox/vpn/tables/tunnels.py:40
+#: netbox/wireless/tables/wirelesslan.py:18
+#: netbox/wireless/tables/wirelesslan.py:79
msgid "Name"
-msgstr "姓名"
+msgstr "名称"
-#: circuits/tables/circuits.py:39 circuits/tables/providers.py:45
-#: circuits/tables/providers.py:79 netbox/navigation/menu.py:253
-#: netbox/navigation/menu.py:257 netbox/navigation/menu.py:259
-#: templates/circuits/provider.html:57
-#: templates/circuits/provideraccount.html:44
-#: templates/circuits/providernetwork.html:50
+#: netbox/circuits/tables/circuits.py:39
+#: netbox/circuits/tables/providers.py:45
+#: netbox/circuits/tables/providers.py:79 netbox/netbox/navigation/menu.py:253
+#: netbox/netbox/navigation/menu.py:257 netbox/netbox/navigation/menu.py:259
+#: netbox/templates/circuits/provider.html:57
+#: netbox/templates/circuits/provideraccount.html:44
+#: netbox/templates/circuits/providernetwork.html:50
msgid "Circuits"
-msgstr "电路"
+msgstr "广域网线路"
-#: circuits/tables/circuits.py:53 templates/circuits/circuit.html:26
+#: netbox/circuits/tables/circuits.py:53
+#: netbox/templates/circuits/circuit.html:26
msgid "Circuit ID"
-msgstr "电路编号"
+msgstr "线路ID"
-#: circuits/tables/circuits.py:66 wireless/forms/model_forms.py:160
+#: netbox/circuits/tables/circuits.py:67
+#: netbox/wireless/forms/model_forms.py:160
msgid "Side A"
-msgstr "A 面"
+msgstr "A端"
-#: circuits/tables/circuits.py:70
+#: netbox/circuits/tables/circuits.py:72
msgid "Side Z"
-msgstr "Z 面"
+msgstr "Z端"
-#: circuits/tables/circuits.py:73 templates/circuits/circuit.html:55
+#: netbox/circuits/tables/circuits.py:75
+#: netbox/templates/circuits/circuit.html:55
msgid "Commit Rate"
-msgstr "承诺率"
+msgstr "承诺速率"
-#: circuits/tables/circuits.py:76 circuits/tables/providers.py:48
-#: circuits/tables/providers.py:82 circuits/tables/providers.py:107
-#: dcim/tables/devices.py:1019 dcim/tables/devicetypes.py:92
-#: dcim/tables/modules.py:29 dcim/tables/modules.py:72 dcim/tables/power.py:39
-#: dcim/tables/power.py:96 dcim/tables/racks.py:76 dcim/tables/racks.py:156
-#: dcim/tables/sites.py:103 extras/tables/tables.py:515 ipam/tables/asn.py:69
-#: ipam/tables/fhrp.py:34 ipam/tables/ip.py:135 ipam/tables/ip.py:272
-#: ipam/tables/ip.py:325 ipam/tables/ip.py:392 ipam/tables/services.py:24
-#: ipam/tables/services.py:54 ipam/tables/vlans.py:141 ipam/tables/vrfs.py:46
-#: ipam/tables/vrfs.py:71 templates/dcim/htmx/cable_edit.html:89
-#: templates/generic/bulk_edit.html:86 templates/inc/panels/comments.html:6
-#: tenancy/tables/contacts.py:68 tenancy/tables/tenants.py:46
-#: utilities/forms/fields/fields.py:29 virtualization/tables/clusters.py:91
-#: virtualization/tables/virtualmachines.py:81 vpn/tables/crypto.py:37
-#: vpn/tables/crypto.py:74 vpn/tables/crypto.py:109 vpn/tables/crypto.py:140
-#: vpn/tables/crypto.py:173 vpn/tables/l2vpn.py:37 vpn/tables/tunnels.py:61
-#: wireless/tables/wirelesslan.py:27 wireless/tables/wirelesslan.py:58
+#: netbox/circuits/tables/circuits.py:78
+#: netbox/circuits/tables/providers.py:48
+#: netbox/circuits/tables/providers.py:82
+#: netbox/circuits/tables/providers.py:107 netbox/dcim/tables/devices.py:1001
+#: netbox/dcim/tables/devicetypes.py:92 netbox/dcim/tables/modules.py:29
+#: netbox/dcim/tables/modules.py:72 netbox/dcim/tables/power.py:39
+#: netbox/dcim/tables/power.py:96 netbox/dcim/tables/racks.py:76
+#: netbox/dcim/tables/racks.py:156 netbox/dcim/tables/sites.py:103
+#: netbox/extras/tables/tables.py:516 netbox/ipam/tables/asn.py:69
+#: netbox/ipam/tables/fhrp.py:34 netbox/ipam/tables/ip.py:135
+#: netbox/ipam/tables/ip.py:272 netbox/ipam/tables/ip.py:325
+#: netbox/ipam/tables/ip.py:392 netbox/ipam/tables/services.py:24
+#: netbox/ipam/tables/services.py:54 netbox/ipam/tables/vlans.py:141
+#: netbox/ipam/tables/vrfs.py:46 netbox/ipam/tables/vrfs.py:71
+#: netbox/templates/dcim/htmx/cable_edit.html:89
+#: netbox/templates/generic/bulk_edit.html:86
+#: netbox/templates/inc/panels/comments.html:6
+#: netbox/tenancy/tables/contacts.py:68 netbox/tenancy/tables/tenants.py:46
+#: netbox/utilities/forms/fields/fields.py:29
+#: netbox/virtualization/tables/clusters.py:91
+#: netbox/virtualization/tables/virtualmachines.py:81
+#: netbox/vpn/tables/crypto.py:37 netbox/vpn/tables/crypto.py:74
+#: netbox/vpn/tables/crypto.py:109 netbox/vpn/tables/crypto.py:140
+#: netbox/vpn/tables/crypto.py:173 netbox/vpn/tables/l2vpn.py:37
+#: netbox/vpn/tables/tunnels.py:61 netbox/wireless/tables/wirelesslan.py:27
+#: netbox/wireless/tables/wirelesslan.py:58
msgid "Comments"
-msgstr "评论意见"
+msgstr "评论"
-#: circuits/tables/providers.py:23
+#: netbox/circuits/tables/providers.py:23
msgid "Accounts"
msgstr "账户"
-#: circuits/tables/providers.py:29
+#: netbox/circuits/tables/providers.py:29
msgid "Account Count"
-msgstr "账户数量"
+msgstr "账户统计"
-#: circuits/tables/providers.py:39 dcim/tables/sites.py:100
+#: netbox/circuits/tables/providers.py:39 netbox/dcim/tables/sites.py:100
msgid "ASN Count"
-msgstr "ASN 数量"
+msgstr "ASN统计"
-#: core/api/views.py:36
+#: netbox/core/api/views.py:36
msgid "This user does not have permission to synchronize this data source."
-msgstr "此用户没有权限同步此数据源。"
+msgstr "该用户无权同步该数据源。"
-#: core/choices.py:18
+#: netbox/core/choices.py:18
msgid "New"
-msgstr "全新"
+msgstr "新创建"
-#: core/choices.py:19 core/constants.py:18 core/tables/tasks.py:15
-#: templates/core/rq_task.html:77
+#: netbox/core/choices.py:19 netbox/core/constants.py:18
+#: netbox/core/tables/tasks.py:15 netbox/templates/core/rq_task.html:77
msgid "Queued"
-msgstr "已排队"
+msgstr "排队等候"
-#: core/choices.py:20
+#: netbox/core/choices.py:20
msgid "Syncing"
msgstr "正在同步"
-#: core/choices.py:21 core/choices.py:57 core/tables/jobs.py:41
-#: extras/choices.py:224 templates/core/job.html:68
+#: netbox/core/choices.py:21 netbox/core/choices.py:57
+#: netbox/core/tables/jobs.py:41 netbox/extras/choices.py:228
+#: netbox/templates/core/job.html:68
msgid "Completed"
-msgstr "已完成"
+msgstr "完成"
-#: core/choices.py:22 core/choices.py:59 core/constants.py:20
-#: core/tables/tasks.py:34 dcim/choices.py:176 dcim/choices.py:222
-#: dcim/choices.py:1534 extras/choices.py:226 virtualization/choices.py:47
+#: netbox/core/choices.py:22 netbox/core/choices.py:59
+#: netbox/core/constants.py:20 netbox/core/tables/tasks.py:34
+#: netbox/dcim/choices.py:176 netbox/dcim/choices.py:222
+#: netbox/dcim/choices.py:1536 netbox/extras/choices.py:230
+#: netbox/virtualization/choices.py:47
msgid "Failed"
-msgstr "失败"
+msgstr "故障"
-#: core/choices.py:35 netbox/navigation/menu.py:320
-#: netbox/navigation/menu.py:324 templates/extras/script/base.html:14
-#: templates/extras/script_list.html:7 templates/extras/script_list.html:12
-#: templates/extras/script_result.html:17
+#: netbox/core/choices.py:35 netbox/netbox/navigation/menu.py:320
+#: netbox/netbox/navigation/menu.py:324
+#: netbox/templates/extras/script/base.html:14
+#: netbox/templates/extras/script_list.html:7
+#: netbox/templates/extras/script_list.html:12
+#: netbox/templates/extras/script_result.html:17
msgid "Scripts"
msgstr "脚本"
-#: core/choices.py:36 templates/extras/report/base.html:13
+#: netbox/core/choices.py:36 netbox/templates/extras/report/base.html:13
msgid "Reports"
msgstr "报告"
-#: core/choices.py:54 extras/choices.py:221
+#: netbox/core/choices.py:54 netbox/extras/choices.py:225
msgid "Pending"
-msgstr "待处理"
+msgstr "正在挂起"
-#: core/choices.py:55 core/constants.py:23 core/tables/jobs.py:32
-#: core/tables/tasks.py:38 extras/choices.py:222 templates/core/job.html:55
+#: netbox/core/choices.py:55 netbox/core/constants.py:23
+#: netbox/core/tables/jobs.py:32 netbox/core/tables/tasks.py:38
+#: netbox/extras/choices.py:226 netbox/templates/core/job.html:55
msgid "Scheduled"
-msgstr "已排定"
+msgstr "计划"
-#: core/choices.py:56 extras/choices.py:223
+#: netbox/core/choices.py:56 netbox/extras/choices.py:227
msgid "Running"
-msgstr "跑步"
+msgstr "运行中"
-#: core/choices.py:58 extras/choices.py:225
+#: netbox/core/choices.py:58 netbox/extras/choices.py:229
msgid "Errored"
-msgstr "出错了"
+msgstr "错误"
-#: core/constants.py:19 core/tables/tasks.py:30
+#: netbox/core/constants.py:19 netbox/core/tables/tasks.py:30
msgid "Finished"
msgstr "已完成"
-#: core/constants.py:21 core/tables/jobs.py:38 templates/core/job.html:64
-#: templates/extras/htmx/script_result.html:8
+#: netbox/core/constants.py:21 netbox/core/tables/jobs.py:38
+#: netbox/templates/core/job.html:64
+#: netbox/templates/extras/htmx/script_result.html:8
msgid "Started"
-msgstr "已开始"
+msgstr "开始于"
-#: core/constants.py:22 core/tables/tasks.py:26
+#: netbox/core/constants.py:22 netbox/core/tables/tasks.py:26
msgid "Deferred"
-msgstr "已推迟"
+msgstr "延期"
-#: core/constants.py:24
+#: netbox/core/constants.py:24
msgid "Stopped"
msgstr "已停止"
-#: core/constants.py:25
+#: netbox/core/constants.py:25
msgid "Cancelled"
msgstr "已取消"
-#: core/data_backends.py:29 templates/dcim/interface.html:216
+#: netbox/core/data_backends.py:29 netbox/templates/dcim/interface.html:216
msgid "Local"
msgstr "本地"
-#: core/data_backends.py:47 extras/tables/tables.py:461
-#: templates/account/profile.html:15 templates/users/user.html:17
-#: users/tables.py:31
+#: netbox/core/data_backends.py:47 netbox/extras/tables/tables.py:462
+#: netbox/templates/account/profile.html:15
+#: netbox/templates/users/user.html:17 netbox/users/tables.py:31
msgid "Username"
msgstr "用户名"
-#: core/data_backends.py:49 core/data_backends.py:55
+#: netbox/core/data_backends.py:49 netbox/core/data_backends.py:55
msgid "Only used for cloning with HTTP(S)"
-msgstr "仅用于使用 HTTP (S) 进行克隆"
+msgstr "仅用于通过 HTTP(S) 进行克隆"
-#: core/data_backends.py:53 templates/account/base.html:17
-#: templates/account/password.html:11 users/forms/model_forms.py:171
+#: netbox/core/data_backends.py:53 netbox/templates/account/base.html:17
+#: netbox/templates/account/password.html:11
+#: netbox/users/forms/model_forms.py:171
msgid "Password"
msgstr "密码"
-#: core/data_backends.py:59
+#: netbox/core/data_backends.py:59
msgid "Branch"
msgstr "分支"
-#: core/data_backends.py:105
+#: netbox/core/data_backends.py:105
#, python-brace-format
msgid "Fetching remote data failed ({name}): {error}"
-msgstr "获取远程数据失败 ({name}): {error}"
+msgstr "获取远程数据失败({name}): {error}"
-#: core/data_backends.py:118
+#: netbox/core/data_backends.py:118
msgid "AWS access key ID"
-msgstr "AWS 访问密钥 ID"
+msgstr "AWS access key ID"
-#: core/data_backends.py:122
+#: netbox/core/data_backends.py:122
msgid "AWS secret access key"
-msgstr "AWS 私有访问密钥"
+msgstr "AWS secret access key"
-#: core/filtersets.py:49 extras/filtersets.py:245 extras/filtersets.py:585
-#: extras/filtersets.py:617
+#: netbox/core/filtersets.py:49 netbox/extras/filtersets.py:245
+#: netbox/extras/filtersets.py:585 netbox/extras/filtersets.py:617
msgid "Data source (ID)"
msgstr "数据源 (ID)"
-#: core/filtersets.py:55
+#: netbox/core/filtersets.py:55
msgid "Data source (name)"
-msgstr "数据源(名称)"
+msgstr "数据源 (name)"
-#: core/forms/bulk_edit.py:25 core/forms/filtersets.py:40
-#: core/tables/data.py:26 dcim/forms/bulk_edit.py:1020
-#: dcim/forms/bulk_edit.py:1293 dcim/forms/filtersets.py:1276
-#: dcim/tables/devices.py:553 dcim/tables/devicetypes.py:221
-#: extras/forms/bulk_edit.py:98 extras/forms/bulk_edit.py:162
-#: extras/forms/bulk_edit.py:221 extras/forms/filtersets.py:120
-#: extras/forms/filtersets.py:207 extras/forms/filtersets.py:268
-#: extras/tables/tables.py:127 extras/tables/tables.py:216
-#: extras/tables/tables.py:293 netbox/preferences.py:22
-#: templates/core/datasource.html:42 templates/dcim/interface.html:61
-#: templates/extras/customlink.html:17 templates/extras/eventrule.html:17
-#: templates/extras/savedfilter.html:25
-#: templates/users/objectpermission.html:25
-#: templates/virtualization/vminterface.html:29 users/forms/bulk_edit.py:89
-#: users/forms/filtersets.py:71 users/tables.py:83
-#: virtualization/forms/bulk_edit.py:217
-#: virtualization/forms/filtersets.py:211
+#: netbox/core/forms/bulk_edit.py:25 netbox/core/forms/filtersets.py:40
+#: netbox/core/tables/data.py:26 netbox/dcim/forms/bulk_edit.py:1020
+#: netbox/dcim/forms/bulk_edit.py:1293 netbox/dcim/forms/filtersets.py:1288
+#: netbox/dcim/tables/devices.py:541 netbox/dcim/tables/devicetypes.py:221
+#: netbox/extras/forms/bulk_edit.py:98 netbox/extras/forms/bulk_edit.py:162
+#: netbox/extras/forms/bulk_edit.py:221 netbox/extras/forms/filtersets.py:120
+#: netbox/extras/forms/filtersets.py:207 netbox/extras/forms/filtersets.py:268
+#: netbox/extras/tables/tables.py:128 netbox/extras/tables/tables.py:217
+#: netbox/extras/tables/tables.py:294 netbox/netbox/preferences.py:22
+#: netbox/templates/core/datasource.html:42
+#: netbox/templates/dcim/interface.html:61
+#: netbox/templates/extras/customlink.html:17
+#: netbox/templates/extras/eventrule.html:17
+#: netbox/templates/extras/savedfilter.html:25
+#: netbox/templates/users/objectpermission.html:25
+#: netbox/templates/virtualization/vminterface.html:29
+#: netbox/users/forms/bulk_edit.py:89 netbox/users/forms/filtersets.py:71
+#: netbox/users/tables.py:83 netbox/virtualization/forms/bulk_edit.py:217
+#: netbox/virtualization/forms/filtersets.py:211
msgid "Enabled"
msgstr "已启用"
-#: core/forms/bulk_edit.py:34 extras/forms/model_forms.py:211
-#: templates/extras/savedfilter.html:53 vpn/forms/filtersets.py:97
-#: vpn/forms/filtersets.py:127 vpn/forms/filtersets.py:151
-#: vpn/forms/filtersets.py:170 vpn/forms/model_forms.py:301
-#: vpn/forms/model_forms.py:321 vpn/forms/model_forms.py:337
-#: vpn/forms/model_forms.py:357 vpn/forms/model_forms.py:380
+#: netbox/core/forms/bulk_edit.py:34 netbox/extras/forms/model_forms.py:211
+#: netbox/templates/extras/savedfilter.html:53
+#: netbox/vpn/forms/filtersets.py:97 netbox/vpn/forms/filtersets.py:127
+#: netbox/vpn/forms/filtersets.py:151 netbox/vpn/forms/filtersets.py:170
+#: netbox/vpn/forms/model_forms.py:301 netbox/vpn/forms/model_forms.py:321
+#: netbox/vpn/forms/model_forms.py:337 netbox/vpn/forms/model_forms.py:357
+#: netbox/vpn/forms/model_forms.py:380
msgid "Parameters"
msgstr "参数"
-#: core/forms/bulk_edit.py:38 templates/core/datasource.html:68
+#: netbox/core/forms/bulk_edit.py:38 netbox/templates/core/datasource.html:68
msgid "Ignore rules"
msgstr "忽略规则"
-#: core/forms/filtersets.py:27 core/forms/model_forms.py:97
-#: extras/forms/model_forms.py:174 extras/forms/model_forms.py:454
-#: extras/forms/model_forms.py:508 extras/tables/tables.py:154
-#: extras/tables/tables.py:373 extras/tables/tables.py:408
-#: templates/core/datasource.html:31
-#: templates/dcim/device/render_config.html:18
-#: templates/extras/configcontext.html:29
-#: templates/extras/configtemplate.html:21
-#: templates/extras/exporttemplate.html:35
-#: templates/virtualization/virtualmachine/render_config.html:18
+#: netbox/core/forms/filtersets.py:27 netbox/core/forms/model_forms.py:97
+#: netbox/extras/forms/model_forms.py:174
+#: netbox/extras/forms/model_forms.py:454
+#: netbox/extras/forms/model_forms.py:508 netbox/extras/tables/tables.py:155
+#: netbox/extras/tables/tables.py:374 netbox/extras/tables/tables.py:409
+#: netbox/templates/core/datasource.html:31
+#: netbox/templates/dcim/device/render_config.html:18
+#: netbox/templates/extras/configcontext.html:29
+#: netbox/templates/extras/configtemplate.html:21
+#: netbox/templates/extras/exporttemplate.html:35
+#: netbox/templates/virtualization/virtualmachine/render_config.html:18
msgid "Data Source"
msgstr "数据源"
-#: core/forms/filtersets.py:52 core/forms/mixins.py:21
+#: netbox/core/forms/filtersets.py:52 netbox/core/forms/mixins.py:21
msgid "File"
msgstr "文件"
-#: core/forms/filtersets.py:57 core/forms/mixins.py:16
-#: extras/forms/filtersets.py:148 extras/forms/filtersets.py:337
-#: extras/forms/filtersets.py:422
+#: netbox/core/forms/filtersets.py:57 netbox/core/forms/mixins.py:16
+#: netbox/extras/forms/filtersets.py:148 netbox/extras/forms/filtersets.py:337
+#: netbox/extras/forms/filtersets.py:422
msgid "Data source"
msgstr "数据源"
-#: core/forms/filtersets.py:67 extras/forms/filtersets.py:449
+#: netbox/core/forms/filtersets.py:67 netbox/extras/forms/filtersets.py:449
msgid "Creation"
-msgstr "创作"
+msgstr "创建"
-#: core/forms/filtersets.py:71 extras/forms/filtersets.py:470
-#: extras/forms/filtersets.py:513 extras/tables/tables.py:183
-#: extras/tables/tables.py:504 templates/core/job.html:20
-#: templates/extras/objectchange.html:51 tenancy/tables/contacts.py:90
-#: vpn/tables/l2vpn.py:59
+#: netbox/core/forms/filtersets.py:71 netbox/extras/forms/filtersets.py:470
+#: netbox/extras/forms/filtersets.py:510 netbox/extras/tables/tables.py:184
+#: netbox/extras/tables/tables.py:505 netbox/templates/core/job.html:20
+#: netbox/templates/extras/objectchange.html:52
+#: netbox/tenancy/tables/contacts.py:90 netbox/vpn/tables/l2vpn.py:59
msgid "Object Type"
-msgstr "物体类型"
+msgstr "目标类型"
-#: core/forms/filtersets.py:81
+#: netbox/core/forms/filtersets.py:81
msgid "Created after"
msgstr "之后创建"
-#: core/forms/filtersets.py:86
+#: netbox/core/forms/filtersets.py:86
msgid "Created before"
msgstr "之前创建"
-#: core/forms/filtersets.py:91
+#: netbox/core/forms/filtersets.py:91
msgid "Scheduled after"
-msgstr "预定在之后"
+msgstr "计划在之后"
-#: core/forms/filtersets.py:96
+#: netbox/core/forms/filtersets.py:96
msgid "Scheduled before"
-msgstr "之前预定的"
+msgstr "计划在之前"
-#: core/forms/filtersets.py:101
+#: netbox/core/forms/filtersets.py:101
msgid "Started after"
msgstr "之后开始"
-#: core/forms/filtersets.py:106
+#: netbox/core/forms/filtersets.py:106
msgid "Started before"
-msgstr "之前开始的"
+msgstr "之前开始"
-#: core/forms/filtersets.py:111
+#: netbox/core/forms/filtersets.py:111
msgid "Completed after"
-msgstr "之后完成"
+msgstr "完成后"
-#: core/forms/filtersets.py:116
+#: netbox/core/forms/filtersets.py:116
msgid "Completed before"
-msgstr "之前完成"
+msgstr "完成后"
-#: core/forms/filtersets.py:123 dcim/forms/bulk_edit.py:361
-#: dcim/forms/filtersets.py:353 dcim/forms/filtersets.py:397
-#: dcim/forms/model_forms.py:258 extras/forms/filtersets.py:465
-#: extras/forms/filtersets.py:508 templates/dcim/rackreservation.html:58
-#: templates/extras/objectchange.html:35 templates/extras/savedfilter.html:21
-#: templates/inc/user_menu.html:15 templates/users/token.html:21
-#: templates/users/user.html:6 templates/users/user.html:14
-#: users/filtersets.py:97 users/filtersets.py:164 users/forms/filtersets.py:85
-#: users/forms/filtersets.py:126 users/forms/model_forms.py:156
-#: users/forms/model_forms.py:193 users/tables.py:19
+#: netbox/core/forms/filtersets.py:123 netbox/dcim/forms/bulk_edit.py:361
+#: netbox/dcim/forms/filtersets.py:354 netbox/dcim/forms/filtersets.py:398
+#: netbox/dcim/forms/model_forms.py:258 netbox/extras/forms/filtersets.py:465
+#: netbox/extras/forms/filtersets.py:505
+#: netbox/templates/dcim/rackreservation.html:58
+#: netbox/templates/extras/objectchange.html:36
+#: netbox/templates/extras/savedfilter.html:21
+#: netbox/templates/inc/user_menu.html:15 netbox/templates/users/token.html:21
+#: netbox/templates/users/user.html:6 netbox/templates/users/user.html:14
+#: netbox/users/filtersets.py:97 netbox/users/filtersets.py:164
+#: netbox/users/forms/filtersets.py:85 netbox/users/forms/filtersets.py:126
+#: netbox/users/forms/model_forms.py:156 netbox/users/forms/model_forms.py:193
+#: netbox/users/tables.py:19
msgid "User"
msgstr "用户"
-#: core/forms/model_forms.py:54 core/tables/data.py:46
-#: templates/core/datafile.html:27 templates/extras/report/base.html:33
-#: templates/extras/script/base.html:32
+#: netbox/core/forms/model_forms.py:54 netbox/core/tables/data.py:46
+#: netbox/templates/core/datafile.html:27
+#: netbox/templates/extras/report/base.html:33
+#: netbox/templates/extras/script/base.html:32
msgid "Source"
-msgstr "来源"
+msgstr "源"
-#: core/forms/model_forms.py:58
+#: netbox/core/forms/model_forms.py:58
msgid "Backend Parameters"
-msgstr "后端参数"
+msgstr "后台参数"
-#: core/forms/model_forms.py:96
+#: netbox/core/forms/model_forms.py:96
msgid "File Upload"
msgstr "文件上传"
-#: core/forms/model_forms.py:108
+#: netbox/core/forms/model_forms.py:108
msgid "Cannot upload a file and sync from an existing file"
-msgstr "无法上传文件并从现有文件进行同步"
+msgstr "无法上传文件,也不能从已经存在的文件进行同步"
-#: core/forms/model_forms.py:110
+#: netbox/core/forms/model_forms.py:110
msgid "Must upload a file or select a data file to sync"
-msgstr "必须上传文件或选择要同步的数据文件"
+msgstr "必须上传文件或选择数据文件进行同步"
-#: core/forms/model_forms.py:153 templates/dcim/rack_elevation_list.html:6
+#: netbox/core/forms/model_forms.py:153
+#: netbox/templates/dcim/rack_elevation_list.html:6
msgid "Rack Elevations"
-msgstr "机架高度"
+msgstr "机柜立面图"
-#: core/forms/model_forms.py:157 dcim/choices.py:1445
-#: dcim/forms/bulk_edit.py:867 dcim/forms/bulk_edit.py:1250
-#: dcim/forms/bulk_edit.py:1268 dcim/tables/racks.py:89
-#: netbox/navigation/menu.py:276 netbox/navigation/menu.py:280
+#: netbox/core/forms/model_forms.py:157 netbox/dcim/choices.py:1447
+#: netbox/dcim/forms/bulk_edit.py:867 netbox/dcim/forms/bulk_edit.py:1250
+#: netbox/dcim/forms/bulk_edit.py:1268 netbox/dcim/tables/racks.py:89
+#: netbox/netbox/navigation/menu.py:276 netbox/netbox/navigation/menu.py:280
msgid "Power"
-msgstr "权力"
+msgstr "电源"
-#: core/forms/model_forms.py:159 netbox/navigation/menu.py:141
-#: templates/core/inc/config_data.html:37
+#: netbox/core/forms/model_forms.py:159 netbox/netbox/navigation/menu.py:141
+#: netbox/templates/core/inc/config_data.html:37
msgid "IPAM"
-msgstr "IPAM"
+msgstr "IP地址管理"
-#: core/forms/model_forms.py:160 netbox/navigation/menu.py:217
-#: templates/core/inc/config_data.html:50 vpn/forms/bulk_edit.py:77
-#: vpn/forms/filtersets.py:43 vpn/forms/model_forms.py:61
-#: vpn/forms/model_forms.py:146
+#: netbox/core/forms/model_forms.py:160 netbox/netbox/navigation/menu.py:217
+#: netbox/templates/core/inc/config_data.html:50
+#: netbox/vpn/forms/bulk_edit.py:77 netbox/vpn/forms/filtersets.py:43
+#: netbox/vpn/forms/model_forms.py:61 netbox/vpn/forms/model_forms.py:146
msgid "Security"
msgstr "安全"
-#: core/forms/model_forms.py:161 templates/core/inc/config_data.html:59
+#: netbox/core/forms/model_forms.py:161
+#: netbox/templates/core/inc/config_data.html:59
msgid "Banners"
msgstr "横幅"
-#: core/forms/model_forms.py:162 templates/core/inc/config_data.html:80
+#: netbox/core/forms/model_forms.py:162
+#: netbox/templates/core/inc/config_data.html:80
msgid "Pagination"
msgstr "分页"
-#: core/forms/model_forms.py:163 extras/forms/model_forms.py:67
-#: templates/core/inc/config_data.html:93
+#: netbox/core/forms/model_forms.py:163 netbox/extras/forms/model_forms.py:67
+#: netbox/templates/core/inc/config_data.html:93
msgid "Validation"
msgstr "验证"
-#: core/forms/model_forms.py:164 templates/account/preferences.html:6
+#: netbox/core/forms/model_forms.py:164
+#: netbox/templates/account/preferences.html:6
msgid "User Preferences"
-msgstr "用户偏好"
+msgstr "用户首选项"
-#: core/forms/model_forms.py:167 dcim/forms/filtersets.py:661
-#: templates/core/inc/config_data.html:127 users/forms/model_forms.py:65
+#: netbox/core/forms/model_forms.py:167 netbox/dcim/forms/filtersets.py:663
+#: netbox/templates/core/inc/config_data.html:127
+#: netbox/users/forms/model_forms.py:65
msgid "Miscellaneous"
msgstr "杂项"
-#: core/forms/model_forms.py:169
+#: netbox/core/forms/model_forms.py:169
msgid "Config Revision"
-msgstr "配置修订版"
+msgstr "配置修订"
-#: core/forms/model_forms.py:208
+#: netbox/core/forms/model_forms.py:208
msgid "This parameter has been defined statically and cannot be modified."
-msgstr "此参数是静态定义的,无法修改。"
+msgstr "该参数已被静态定义,无法修改。"
-#: core/forms/model_forms.py:216
+#: netbox/core/forms/model_forms.py:216
#, python-brace-format
msgid "Current value: {value} "
-msgstr "当前值: {value} "
+msgstr "当前变量: {value} "
-#: core/forms/model_forms.py:218
+#: netbox/core/forms/model_forms.py:218
msgid " (default)"
-msgstr " (默认)"
+msgstr "(默认)"
-#: core/models/config.py:18 core/models/data.py:282 core/models/files.py:27
-#: core/models/jobs.py:50 extras/models/models.py:758
-#: netbox/models/features.py:51 users/models/tokens.py:33
+#: netbox/core/models/config.py:18 netbox/core/models/data.py:282
+#: netbox/core/models/files.py:27 netbox/core/models/jobs.py:50
+#: netbox/extras/models/models.py:758 netbox/netbox/models/features.py:51
+#: netbox/users/models/tokens.py:33
msgid "created"
-msgstr "创造"
+msgstr "已创建"
-#: core/models/config.py:22
+#: netbox/core/models/config.py:22
msgid "comment"
-msgstr "评论"
+msgstr "评论/注释"
-#: core/models/config.py:29
+#: netbox/core/models/config.py:29
msgid "configuration data"
msgstr "配置数据"
-#: core/models/config.py:36
+#: netbox/core/models/config.py:36
msgid "config revision"
-msgstr "配置修订版"
+msgstr "配置修订"
-#: core/models/config.py:37
+#: netbox/core/models/config.py:37
msgid "config revisions"
msgstr "配置修订"
-#: core/models/config.py:41
+#: netbox/core/models/config.py:41
msgid "Default configuration"
msgstr "默认配置"
-#: core/models/config.py:43
+#: netbox/core/models/config.py:43
msgid "Current configuration"
msgstr "当前配置"
-#: core/models/config.py:44
+#: netbox/core/models/config.py:44
#, python-brace-format
msgid "Config revision #{id}"
-msgstr "配置修订版 #{id}"
+msgstr "配置修订#{id}"
-#: core/models/data.py:47 dcim/models/cables.py:43
-#: dcim/models/device_component_templates.py:177
-#: dcim/models/device_component_templates.py:211
-#: dcim/models/device_component_templates.py:246
-#: dcim/models/device_component_templates.py:308
-#: dcim/models/device_component_templates.py:387
-#: dcim/models/device_component_templates.py:486
-#: dcim/models/device_component_templates.py:586
-#: dcim/models/device_components.py:284 dcim/models/device_components.py:313
-#: dcim/models/device_components.py:346 dcim/models/device_components.py:464
-#: dcim/models/device_components.py:606 dcim/models/device_components.py:971
-#: dcim/models/device_components.py:1045 dcim/models/power.py:102
-#: dcim/models/racks.py:128 extras/models/customfields.py:76
-#: extras/models/search.py:41 virtualization/models/clusters.py:61
-#: vpn/models/l2vpn.py:32
+#: netbox/core/models/data.py:47 netbox/dcim/models/cables.py:43
+#: netbox/dcim/models/device_component_templates.py:177
+#: netbox/dcim/models/device_component_templates.py:211
+#: netbox/dcim/models/device_component_templates.py:246
+#: netbox/dcim/models/device_component_templates.py:308
+#: netbox/dcim/models/device_component_templates.py:387
+#: netbox/dcim/models/device_component_templates.py:486
+#: netbox/dcim/models/device_component_templates.py:586
+#: netbox/dcim/models/device_components.py:284
+#: netbox/dcim/models/device_components.py:313
+#: netbox/dcim/models/device_components.py:346
+#: netbox/dcim/models/device_components.py:464
+#: netbox/dcim/models/device_components.py:606
+#: netbox/dcim/models/device_components.py:971
+#: netbox/dcim/models/device_components.py:1045
+#: netbox/dcim/models/power.py:102 netbox/dcim/models/racks.py:128
+#: netbox/extras/models/customfields.py:77 netbox/extras/models/search.py:41
+#: netbox/virtualization/models/clusters.py:61 netbox/vpn/models/l2vpn.py:32
msgid "type"
msgstr "类型"
-#: core/models/data.py:52 extras/choices.py:37 extras/models/models.py:192
-#: extras/tables/tables.py:577 templates/core/datasource.html:58
+#: netbox/core/models/data.py:52 netbox/extras/choices.py:37
+#: netbox/extras/models/models.py:192 netbox/extras/tables/tables.py:590
+#: netbox/templates/core/datasource.html:58
msgid "URL"
-msgstr "网址"
+msgstr "URL"
-#: core/models/data.py:62 dcim/models/device_component_templates.py:392
-#: dcim/models/device_components.py:513 extras/models/models.py:90
-#: extras/models/models.py:329 extras/models/models.py:554
-#: users/models/permissions.py:29
+#: netbox/core/models/data.py:62
+#: netbox/dcim/models/device_component_templates.py:392
+#: netbox/dcim/models/device_components.py:513
+#: netbox/extras/models/models.py:90 netbox/extras/models/models.py:329
+#: netbox/extras/models/models.py:554 netbox/users/models/permissions.py:29
msgid "enabled"
-msgstr "已启用"
+msgstr "开启"
-#: core/models/data.py:66
+#: netbox/core/models/data.py:66
msgid "ignore rules"
msgstr "忽略规则"
-#: core/models/data.py:68
+#: netbox/core/models/data.py:68
msgid "Patterns (one per line) matching files to ignore when syncing"
-msgstr "同步时要忽略的匹配文件的模式(每行一个)"
+msgstr "模式(每行一个)匹配同步时要忽略的文件"
-#: core/models/data.py:71 extras/models/models.py:562
+#: netbox/core/models/data.py:71 netbox/extras/models/models.py:562
msgid "parameters"
msgstr "参数"
-#: core/models/data.py:76
+#: netbox/core/models/data.py:76
msgid "last synced"
-msgstr "上次同步"
+msgstr "最后同步"
-#: core/models/data.py:84
+#: netbox/core/models/data.py:84
msgid "data source"
msgstr "数据源"
-#: core/models/data.py:85
+#: netbox/core/models/data.py:85
msgid "data sources"
msgstr "数据源"
-#: core/models/data.py:125
+#: netbox/core/models/data.py:125
#, python-brace-format
msgid "Unknown backend type: {type}"
-msgstr "未知的后端类型: {type}"
+msgstr "未知后端类型: {type}"
-#: core/models/data.py:180
+#: netbox/core/models/data.py:180
msgid "Cannot initiate sync; syncing already in progress."
-msgstr "无法启动同步;同步已在进行中。"
+msgstr "无法启动同步; 同步已在进行中。"
-#: core/models/data.py:193
+#: netbox/core/models/data.py:193
msgid ""
"There was an error initializing the backend. A dependency needs to be "
"installed: "
-msgstr "初始化后端时出错。需要安装依赖项: "
+msgstr "初始化后端时出错。 需要安装依赖:"
-#: core/models/data.py:286 core/models/files.py:31
-#: netbox/models/features.py:57
+#: netbox/core/models/data.py:286 netbox/core/models/files.py:31
+#: netbox/netbox/models/features.py:57
msgid "last updated"
-msgstr "上次更新"
+msgstr "最后更新"
-#: core/models/data.py:296 dcim/models/cables.py:442
+#: netbox/core/models/data.py:296 netbox/dcim/models/cables.py:442
msgid "path"
msgstr "路径"
-#: core/models/data.py:299
+#: netbox/core/models/data.py:299
msgid "File path relative to the data source's root"
msgstr "相对于数据源根目录的文件路径"
-#: core/models/data.py:303 ipam/models/ip.py:503
+#: netbox/core/models/data.py:303 netbox/ipam/models/ip.py:503
msgid "size"
-msgstr "尺寸"
+msgstr "大小"
-#: core/models/data.py:306
+#: netbox/core/models/data.py:306
msgid "hash"
-msgstr "切碎"
+msgstr "哈希值"
-#: core/models/data.py:310
+#: netbox/core/models/data.py:310
msgid "Length must be 64 hexadecimal characters."
msgstr "长度必须为 64 个十六进制字符。"
-#: core/models/data.py:312
+#: netbox/core/models/data.py:312
msgid "SHA256 hash of the file data"
msgstr "文件数据的 SHA256 哈希值"
-#: core/models/data.py:329
+#: netbox/core/models/data.py:329
msgid "data file"
msgstr "数据文件"
-#: core/models/data.py:330
+#: netbox/core/models/data.py:330
msgid "data files"
msgstr "数据文件"
-#: core/models/data.py:417
+#: netbox/core/models/data.py:417
msgid "auto sync record"
msgstr "自动同步记录"
-#: core/models/data.py:418
+#: netbox/core/models/data.py:418
msgid "auto sync records"
msgstr "自动同步记录"
-#: core/models/files.py:37
+#: netbox/core/models/files.py:37
msgid "file root"
-msgstr "文件根"
+msgstr "根目录"
-#: core/models/files.py:42
+#: netbox/core/models/files.py:42
msgid "file path"
msgstr "文件路径"
-#: core/models/files.py:44
+#: netbox/core/models/files.py:44
msgid "File path relative to the designated root path"
msgstr "相对于指定根路径的文件路径"
-#: core/models/files.py:61
+#: netbox/core/models/files.py:61
msgid "managed file"
msgstr "托管文件"
-#: core/models/files.py:62
+#: netbox/core/models/files.py:62
msgid "managed files"
msgstr "托管文件"
-#: core/models/jobs.py:54
+#: netbox/core/models/jobs.py:54
msgid "scheduled"
-msgstr "计划的"
+msgstr "计划"
-#: core/models/jobs.py:59
+#: netbox/core/models/jobs.py:59
msgid "interval"
msgstr "间隔"
-#: core/models/jobs.py:65
+#: netbox/core/models/jobs.py:65
msgid "Recurrence interval (in minutes)"
msgstr "重复间隔(以分钟为单位)"
-#: core/models/jobs.py:68
+#: netbox/core/models/jobs.py:68
msgid "started"
-msgstr "已开始"
+msgstr "已经开始"
-#: core/models/jobs.py:73
+#: netbox/core/models/jobs.py:73
msgid "completed"
-msgstr "已完成"
+msgstr "已经完成"
-#: core/models/jobs.py:91 extras/models/models.py:121
-#: extras/models/staging.py:87
+#: netbox/core/models/jobs.py:91 netbox/extras/models/models.py:121
+#: netbox/extras/models/staging.py:88
msgid "data"
msgstr "数据"
-#: core/models/jobs.py:96
+#: netbox/core/models/jobs.py:96
msgid "error"
msgstr "错误"
-#: core/models/jobs.py:101
+#: netbox/core/models/jobs.py:101
msgid "job ID"
-msgstr "作业 ID"
+msgstr "任务ID"
-#: core/models/jobs.py:112
+#: netbox/core/models/jobs.py:112
msgid "job"
-msgstr "工作"
+msgstr "任务"
-#: core/models/jobs.py:113
+#: netbox/core/models/jobs.py:113
msgid "jobs"
-msgstr "工作"
+msgstr "任务"
-#: core/models/jobs.py:135
+#: netbox/core/models/jobs.py:135
#, python-brace-format
msgid "Jobs cannot be assigned to this object type ({type})."
-msgstr "无法将作业分配给此对象类型 ({type})。"
+msgstr "任务不能分配给此对象类型 ({type})"
-#: core/models/jobs.py:185
+#: netbox/core/models/jobs.py:185
#, python-brace-format
msgid "Invalid status for job termination. Choices are: {choices}"
-msgstr "任务终止的状态无效。选项有: {choices}"
+msgstr "作业终止状态无效。选项有:{choices}"
-#: core/tables/config.py:21 users/forms/filtersets.py:45 users/tables.py:39
+#: netbox/core/tables/config.py:21 netbox/users/forms/filtersets.py:45
+#: netbox/users/tables.py:39
msgid "Is Active"
-msgstr "处于活动状态"
+msgstr "激活的"
-#: core/tables/data.py:50 templates/core/datafile.html:31
+#: netbox/core/tables/data.py:50 netbox/templates/core/datafile.html:31
msgid "Path"
msgstr "路径"
-#: core/tables/data.py:54 templates/extras/inc/result_pending.html:7
+#: netbox/core/tables/data.py:54
+#: netbox/templates/extras/inc/result_pending.html:7
msgid "Last updated"
-msgstr "上次更新时间"
+msgstr "最后更新日期"
-#: core/tables/jobs.py:10 core/tables/tasks.py:76
-#: dcim/tables/devicetypes.py:161 extras/tables/tables.py:179
-#: extras/tables/tables.py:350 netbox/tables/tables.py:188
-#: templates/dcim/virtualchassis_edit.html:52 utilities/forms/forms.py:73
-#: wireless/tables/wirelesslink.py:16
+#: netbox/core/tables/jobs.py:10 netbox/core/tables/tasks.py:76
+#: netbox/dcim/tables/devicetypes.py:161 netbox/extras/tables/tables.py:180
+#: netbox/extras/tables/tables.py:351 netbox/netbox/tables/tables.py:188
+#: netbox/templates/dcim/virtualchassis_edit.html:52
+#: netbox/utilities/forms/forms.py:73
+#: netbox/wireless/tables/wirelesslink.py:16
msgid "ID"
-msgstr "身份证"
+msgstr "ID"
-#: core/tables/jobs.py:21 extras/choices.py:41 extras/tables/tables.py:241
-#: extras/tables/tables.py:287 extras/tables/tables.py:360
-#: extras/tables/tables.py:478 extras/tables/tables.py:509
-#: extras/tables/tables.py:574 netbox/tables/tables.py:243
-#: templates/extras/eventrule.html:84 templates/extras/journalentry.html:18
-#: templates/extras/objectchange.html:57 tenancy/tables/contacts.py:93
-#: vpn/tables/l2vpn.py:64
+#: netbox/core/tables/jobs.py:21 netbox/extras/choices.py:41
+#: netbox/extras/tables/tables.py:242 netbox/extras/tables/tables.py:288
+#: netbox/extras/tables/tables.py:361 netbox/extras/tables/tables.py:479
+#: netbox/extras/tables/tables.py:510 netbox/extras/tables/tables.py:550
+#: netbox/extras/tables/tables.py:587 netbox/netbox/tables/tables.py:243
+#: netbox/templates/extras/eventrule.html:84
+#: netbox/templates/extras/journalentry.html:18
+#: netbox/templates/extras/objectchange.html:58
+#: netbox/tenancy/tables/contacts.py:93 netbox/vpn/tables/l2vpn.py:64
msgid "Object"
-msgstr "物体"
+msgstr "对象"
-#: core/tables/jobs.py:35
+#: netbox/core/tables/jobs.py:35
msgid "Interval"
msgstr "间隔"
-#: core/tables/plugins.py:16 templates/vpn/ipsecprofile.html:44
-#: vpn/forms/bulk_edit.py:141 vpn/forms/bulk_import.py:172
-#: vpn/tables/crypto.py:61
+#: netbox/core/tables/plugins.py:16 netbox/templates/vpn/ipsecprofile.html:44
+#: netbox/vpn/forms/bulk_edit.py:141 netbox/vpn/forms/bulk_import.py:172
+#: netbox/vpn/tables/crypto.py:61
msgid "Version"
msgstr "版本"
-#: core/tables/plugins.py:20
+#: netbox/core/tables/plugins.py:20
msgid "Package"
-msgstr "包裹"
+msgstr "软件包"
-#: core/tables/plugins.py:23
+#: netbox/core/tables/plugins.py:23
msgid "Author"
msgstr "作者"
-#: core/tables/plugins.py:26
+#: netbox/core/tables/plugins.py:26
msgid "Author Email"
-msgstr "作者电子邮件"
+msgstr "作者电子邮箱"
-#: core/tables/plugins.py:33
+#: netbox/core/tables/plugins.py:33
msgid "No plugins found"
-msgstr "未找到任何插件"
+msgstr "没有找到插件"
-#: core/tables/tasks.py:18
+#: netbox/core/tables/tasks.py:18
msgid "Oldest Task"
-msgstr "最古老的任务"
+msgstr "最早的任务"
-#: core/tables/tasks.py:42 templates/core/rq_worker_list.html:34
+#: netbox/core/tables/tasks.py:42 netbox/templates/core/rq_worker_list.html:34
msgid "Workers"
-msgstr "工人"
+msgstr "Workers"
-#: core/tables/tasks.py:46 vpn/tables/tunnels.py:88
+#: netbox/core/tables/tasks.py:46 netbox/vpn/tables/tunnels.py:88
msgid "Host"
-msgstr "主持人"
+msgstr "主机"
-#: core/tables/tasks.py:50 ipam/forms/filtersets.py:542
+#: netbox/core/tables/tasks.py:50 netbox/ipam/forms/filtersets.py:542
msgid "Port"
msgstr "端口"
-#: core/tables/tasks.py:54
+#: netbox/core/tables/tasks.py:54
msgid "DB"
-msgstr "DB"
+msgstr "数据库"
-#: core/tables/tasks.py:58
+#: netbox/core/tables/tasks.py:58
msgid "Scheduler PID"
-msgstr "调度器 PID"
+msgstr "定时任务进程 PID"
-#: core/tables/tasks.py:62
+#: netbox/core/tables/tasks.py:62
msgid "No queues found"
msgstr "未找到队列"
-#: core/tables/tasks.py:82
+#: netbox/core/tables/tasks.py:82
msgid "Enqueued"
-msgstr "已入队"
+msgstr "已加入队列"
-#: core/tables/tasks.py:85
+#: netbox/core/tables/tasks.py:85
msgid "Ended"
-msgstr "已结束"
+msgstr "已完结"
-#: core/tables/tasks.py:93 templates/core/rq_task.html:85
+#: netbox/core/tables/tasks.py:93 netbox/templates/core/rq_task.html:85
msgid "Callable"
msgstr "可调用"
-#: core/tables/tasks.py:97
+#: netbox/core/tables/tasks.py:97
msgid "No tasks found"
-msgstr "未找到任务"
+msgstr "没有找到任务"
-#: core/tables/tasks.py:118 templates/core/rq_worker.html:47
+#: netbox/core/tables/tasks.py:118 netbox/templates/core/rq_worker.html:47
msgid "State"
-msgstr "州"
+msgstr "状态"
-#: core/tables/tasks.py:121 templates/core/rq_worker.html:51
+#: netbox/core/tables/tasks.py:121 netbox/templates/core/rq_worker.html:51
msgid "Birth"
-msgstr "出生"
+msgstr "生成日期"
-#: core/tables/tasks.py:124 templates/core/rq_worker.html:59
+#: netbox/core/tables/tasks.py:124 netbox/templates/core/rq_worker.html:59
msgid "PID"
msgstr "PID"
-#: core/tables/tasks.py:128
+#: netbox/core/tables/tasks.py:128
msgid "No workers found"
-msgstr "未找到工作人员"
+msgstr "没有找到workers"
-#: core/views.py:335 core/views.py:378 core/views.py:401 core/views.py:419
-#: core/views.py:454
+#: netbox/core/views.py:331 netbox/core/views.py:374 netbox/core/views.py:397
+#: netbox/core/views.py:415 netbox/core/views.py:450
#, python-brace-format
msgid "Job {job_id} not found"
-msgstr "工作 {job_id} 未找到"
+msgstr "任务{job_id} 未发现"
-#: dcim/api/serializers_/devices.py:50 dcim/api/serializers_/devicetypes.py:26
+#: netbox/dcim/api/serializers_/devices.py:50
+#: netbox/dcim/api/serializers_/devicetypes.py:26
msgid "Position (U)"
-msgstr "位置 (U)"
+msgstr "具体U位"
-#: dcim/api/serializers_/racks.py:45 templates/dcim/rack.html:30
+#: netbox/dcim/api/serializers_/racks.py:45 netbox/templates/dcim/rack.html:30
msgid "Facility ID"
-msgstr "设施编号"
+msgstr "标识符ID"
-#: dcim/choices.py:21 virtualization/choices.py:21
+#: netbox/dcim/choices.py:21 netbox/virtualization/choices.py:21
msgid "Staging"
-msgstr "舞台"
+msgstr "暂存"
-#: dcim/choices.py:23 dcim/choices.py:178 dcim/choices.py:223
-#: dcim/choices.py:1458 virtualization/choices.py:23
-#: virtualization/choices.py:48
+#: netbox/dcim/choices.py:23 netbox/dcim/choices.py:178
+#: netbox/dcim/choices.py:223 netbox/dcim/choices.py:1460
+#: netbox/virtualization/choices.py:23 netbox/virtualization/choices.py:48
msgid "Decommissioning"
-msgstr "退役"
+msgstr "报废"
-#: dcim/choices.py:24
+#: netbox/dcim/choices.py:24
msgid "Retired"
-msgstr "已退休"
+msgstr "下架"
-#: dcim/choices.py:65
+#: netbox/dcim/choices.py:65
msgid "2-post frame"
-msgstr "2 柱相框"
+msgstr "双立柱机架"
-#: dcim/choices.py:66
+#: netbox/dcim/choices.py:66
msgid "4-post frame"
-msgstr "4 柱框架"
+msgstr "4立柱机架"
-#: dcim/choices.py:67
+#: netbox/dcim/choices.py:67
msgid "4-post cabinet"
-msgstr "4 柱式机柜"
+msgstr "4立柱机柜"
-#: dcim/choices.py:68
+#: netbox/dcim/choices.py:68
msgid "Wall-mounted frame"
-msgstr "壁挂式框架"
+msgstr "壁挂式机架"
-#: dcim/choices.py:69
+#: netbox/dcim/choices.py:69
msgid "Wall-mounted frame (vertical)"
-msgstr "壁挂式框架(垂直)"
+msgstr "壁挂式机架(竖式)"
-#: dcim/choices.py:70
+#: netbox/dcim/choices.py:70
msgid "Wall-mounted cabinet"
msgstr "壁挂式机柜"
-#: dcim/choices.py:71
+#: netbox/dcim/choices.py:71
msgid "Wall-mounted cabinet (vertical)"
-msgstr "壁挂式机柜(垂直)"
+msgstr "壁挂式机柜(立式)"
-#: dcim/choices.py:83 dcim/choices.py:84 dcim/choices.py:85 dcim/choices.py:86
+#: netbox/dcim/choices.py:83 netbox/dcim/choices.py:84
+#: netbox/dcim/choices.py:85 netbox/dcim/choices.py:86
#, python-brace-format
msgid "{n} inches"
msgstr "{n} 英寸"
-#: dcim/choices.py:100 ipam/choices.py:32 ipam/choices.py:50
-#: ipam/choices.py:70 ipam/choices.py:155 wireless/choices.py:26
+#: netbox/dcim/choices.py:100 netbox/ipam/choices.py:32
+#: netbox/ipam/choices.py:50 netbox/ipam/choices.py:70
+#: netbox/ipam/choices.py:155 netbox/wireless/choices.py:26
msgid "Reserved"
-msgstr "已保留"
+msgstr "预留"
-#: dcim/choices.py:101 templates/dcim/device.html:251
+#: netbox/dcim/choices.py:101 netbox/templates/dcim/device.html:259
msgid "Available"
msgstr "可用"
-#: dcim/choices.py:104 ipam/choices.py:33 ipam/choices.py:51
-#: ipam/choices.py:71 ipam/choices.py:156 wireless/choices.py:28
+#: netbox/dcim/choices.py:104 netbox/ipam/choices.py:33
+#: netbox/ipam/choices.py:51 netbox/ipam/choices.py:71
+#: netbox/ipam/choices.py:156 netbox/wireless/choices.py:28
msgid "Deprecated"
msgstr "已弃用"
-#: dcim/choices.py:114 templates/dcim/rack.html:123
+#: netbox/dcim/choices.py:114 netbox/templates/dcim/rack.html:123
msgid "Millimeters"
msgstr "毫米"
-#: dcim/choices.py:115 dcim/choices.py:1480
+#: netbox/dcim/choices.py:115 netbox/dcim/choices.py:1482
msgid "Inches"
msgstr "英寸"
-#: dcim/choices.py:140 dcim/forms/bulk_edit.py:67 dcim/forms/bulk_edit.py:86
-#: dcim/forms/bulk_edit.py:172 dcim/forms/bulk_edit.py:1298
-#: dcim/forms/bulk_import.py:59 dcim/forms/bulk_import.py:73
-#: dcim/forms/bulk_import.py:136 dcim/forms/bulk_import.py:511
-#: dcim/forms/bulk_import.py:778 dcim/forms/bulk_import.py:1033
-#: dcim/forms/filtersets.py:227 dcim/forms/model_forms.py:73
-#: dcim/forms/model_forms.py:92 dcim/forms/model_forms.py:169
-#: dcim/forms/model_forms.py:1007 dcim/forms/model_forms.py:1446
-#: dcim/forms/object_import.py:176 dcim/tables/devices.py:652
-#: dcim/tables/devices.py:937 extras/tables/tables.py:186
-#: ipam/tables/fhrp.py:59 ipam/tables/ip.py:374 ipam/tables/services.py:44
-#: templates/dcim/interface.html:102 templates/dcim/interface.html:309
-#: templates/dcim/location.html:41 templates/dcim/region.html:37
-#: templates/dcim/sitegroup.html:37 templates/ipam/service.html:28
-#: templates/tenancy/contactgroup.html:29
-#: templates/tenancy/tenantgroup.html:37
-#: templates/virtualization/vminterface.html:39
-#: templates/wireless/wirelesslangroup.html:37 tenancy/forms/bulk_edit.py:27
-#: tenancy/forms/bulk_edit.py:61 tenancy/forms/bulk_import.py:24
-#: tenancy/forms/bulk_import.py:58 tenancy/forms/model_forms.py:25
-#: tenancy/forms/model_forms.py:68 virtualization/forms/bulk_edit.py:207
-#: virtualization/forms/bulk_import.py:151
-#: virtualization/tables/virtualmachines.py:155 wireless/forms/bulk_edit.py:24
-#: wireless/forms/bulk_import.py:21 wireless/forms/model_forms.py:21
+#: netbox/dcim/choices.py:140 netbox/dcim/forms/bulk_edit.py:67
+#: netbox/dcim/forms/bulk_edit.py:86 netbox/dcim/forms/bulk_edit.py:172
+#: netbox/dcim/forms/bulk_edit.py:1298 netbox/dcim/forms/bulk_import.py:59
+#: netbox/dcim/forms/bulk_import.py:73 netbox/dcim/forms/bulk_import.py:136
+#: netbox/dcim/forms/bulk_import.py:505 netbox/dcim/forms/bulk_import.py:772
+#: netbox/dcim/forms/bulk_import.py:1027 netbox/dcim/forms/filtersets.py:228
+#: netbox/dcim/forms/model_forms.py:73 netbox/dcim/forms/model_forms.py:92
+#: netbox/dcim/forms/model_forms.py:169 netbox/dcim/forms/model_forms.py:1010
+#: netbox/dcim/forms/model_forms.py:1449
+#: netbox/dcim/forms/object_import.py:176 netbox/dcim/tables/devices.py:640
+#: netbox/dcim/tables/devices.py:919 netbox/extras/tables/tables.py:187
+#: netbox/ipam/tables/fhrp.py:59 netbox/ipam/tables/ip.py:374
+#: netbox/ipam/tables/services.py:44 netbox/templates/dcim/interface.html:102
+#: netbox/templates/dcim/interface.html:309
+#: netbox/templates/dcim/location.html:41 netbox/templates/dcim/region.html:37
+#: netbox/templates/dcim/sitegroup.html:37
+#: netbox/templates/ipam/service.html:28
+#: netbox/templates/tenancy/contactgroup.html:29
+#: netbox/templates/tenancy/tenantgroup.html:37
+#: netbox/templates/virtualization/vminterface.html:39
+#: netbox/templates/wireless/wirelesslangroup.html:37
+#: netbox/tenancy/forms/bulk_edit.py:27 netbox/tenancy/forms/bulk_edit.py:61
+#: netbox/tenancy/forms/bulk_import.py:24
+#: netbox/tenancy/forms/bulk_import.py:58
+#: netbox/tenancy/forms/model_forms.py:25
+#: netbox/tenancy/forms/model_forms.py:68
+#: netbox/virtualization/forms/bulk_edit.py:207
+#: netbox/virtualization/forms/bulk_import.py:151
+#: netbox/virtualization/tables/virtualmachines.py:155
+#: netbox/wireless/forms/bulk_edit.py:24
+#: netbox/wireless/forms/bulk_import.py:21
+#: netbox/wireless/forms/model_forms.py:21
msgid "Parent"
-msgstr "家长"
+msgstr "上级"
-#: dcim/choices.py:141
+#: netbox/dcim/choices.py:141
msgid "Child"
-msgstr "孩子"
+msgstr "子类"
-#: dcim/choices.py:155 templates/dcim/device.html:331
-#: templates/dcim/rack.html:175 templates/dcim/rack_elevation_list.html:20
-#: templates/dcim/rackreservation.html:76
+#: netbox/dcim/choices.py:155 netbox/templates/dcim/device.html:339
+#: netbox/templates/dcim/rack.html:175
+#: netbox/templates/dcim/rack_elevation_list.html:20
+#: netbox/templates/dcim/rackreservation.html:76
msgid "Front"
-msgstr "正面"
+msgstr "前"
-#: dcim/choices.py:156 templates/dcim/device.html:337
-#: templates/dcim/rack.html:181 templates/dcim/rack_elevation_list.html:21
-#: templates/dcim/rackreservation.html:82
+#: netbox/dcim/choices.py:156 netbox/templates/dcim/device.html:345
+#: netbox/templates/dcim/rack.html:181
+#: netbox/templates/dcim/rack_elevation_list.html:21
+#: netbox/templates/dcim/rackreservation.html:82
msgid "Rear"
-msgstr "后方"
+msgstr "后"
-#: dcim/choices.py:175 dcim/choices.py:221 virtualization/choices.py:46
+#: netbox/dcim/choices.py:175 netbox/dcim/choices.py:221
+#: netbox/virtualization/choices.py:46
msgid "Staged"
-msgstr "已上演"
+msgstr "已暂存"
-#: dcim/choices.py:177
+#: netbox/dcim/choices.py:177
msgid "Inventory"
-msgstr "库存"
+msgstr "库存中"
-#: dcim/choices.py:193
+#: netbox/dcim/choices.py:193
msgid "Front to rear"
-msgstr "从前到后"
+msgstr "从前向后"
-#: dcim/choices.py:194
+#: netbox/dcim/choices.py:194
msgid "Rear to front"
-msgstr "从后到前"
+msgstr "从后向前"
-#: dcim/choices.py:195
+#: netbox/dcim/choices.py:195
msgid "Left to right"
-msgstr "从左到右"
+msgstr "从左向右"
-#: dcim/choices.py:196
+#: netbox/dcim/choices.py:196
msgid "Right to left"
-msgstr "从右到左"
+msgstr "从右向左"
-#: dcim/choices.py:197
+#: netbox/dcim/choices.py:197
msgid "Side to rear"
-msgstr "从一边到另一边"
+msgstr "侧进风后出风"
-#: dcim/choices.py:198 dcim/choices.py:1253
+#: netbox/dcim/choices.py:198 netbox/dcim/choices.py:1255
msgid "Passive"
msgstr "被动"
-#: dcim/choices.py:199
+#: netbox/dcim/choices.py:199
msgid "Mixed"
-msgstr "混合"
+msgstr "混合风道"
-#: dcim/choices.py:447 dcim/choices.py:693
+#: netbox/dcim/choices.py:447 netbox/dcim/choices.py:693
msgid "NEMA (Non-locking)"
msgstr "NEMA(非锁定)"
-#: dcim/choices.py:469 dcim/choices.py:715
+#: netbox/dcim/choices.py:469 netbox/dcim/choices.py:715
msgid "NEMA (Locking)"
msgstr "NEMA(锁定)"
-#: dcim/choices.py:492 dcim/choices.py:738
+#: netbox/dcim/choices.py:492 netbox/dcim/choices.py:738
msgid "California Style"
-msgstr "加州风格"
+msgstr "美标"
-#: dcim/choices.py:500
+#: netbox/dcim/choices.py:500
msgid "International/ITA"
-msgstr "国际/意大利"
+msgstr "国际通用标准/ITA"
-#: dcim/choices.py:535 dcim/choices.py:773
+#: netbox/dcim/choices.py:535 netbox/dcim/choices.py:773
msgid "Proprietary"
-msgstr "专有的"
+msgstr "专用规格"
-#: dcim/choices.py:543 dcim/choices.py:782 dcim/choices.py:1169
-#: dcim/choices.py:1171 dcim/choices.py:1376 dcim/choices.py:1378
-#: netbox/navigation/menu.py:187
+#: netbox/dcim/choices.py:543 netbox/dcim/choices.py:782
+#: netbox/dcim/choices.py:1171 netbox/dcim/choices.py:1173
+#: netbox/dcim/choices.py:1378 netbox/dcim/choices.py:1380
+#: netbox/netbox/navigation/menu.py:187
msgid "Other"
msgstr "其他"
-#: dcim/choices.py:746
+#: netbox/dcim/choices.py:746
msgid "ITA/International"
-msgstr "ITA/国际"
+msgstr "ITA/国际通用标准"
-#: dcim/choices.py:812
+#: netbox/dcim/choices.py:812
msgid "Physical"
-msgstr "身体的"
+msgstr "物理"
-#: dcim/choices.py:813 dcim/choices.py:977
+#: netbox/dcim/choices.py:813 netbox/dcim/choices.py:978
msgid "Virtual"
msgstr "虚拟"
-#: dcim/choices.py:814 dcim/choices.py:1049 dcim/forms/bulk_edit.py:1408
-#: dcim/forms/filtersets.py:1239 dcim/forms/model_forms.py:933
-#: dcim/forms/model_forms.py:1341 netbox/navigation/menu.py:127
-#: netbox/navigation/menu.py:131 templates/dcim/interface.html:210
+#: netbox/dcim/choices.py:814 netbox/dcim/choices.py:1051
+#: netbox/dcim/forms/bulk_edit.py:1408 netbox/dcim/forms/filtersets.py:1251
+#: netbox/dcim/forms/model_forms.py:936 netbox/dcim/forms/model_forms.py:1344
+#: netbox/netbox/navigation/menu.py:127 netbox/netbox/navigation/menu.py:131
+#: netbox/templates/dcim/interface.html:210
msgid "Wireless"
msgstr "无线"
-#: dcim/choices.py:975
+#: netbox/dcim/choices.py:976
msgid "Virtual interfaces"
msgstr "虚拟接口"
-#: dcim/choices.py:978 dcim/forms/bulk_edit.py:1303
-#: dcim/forms/bulk_import.py:785 dcim/forms/model_forms.py:919
-#: dcim/tables/devices.py:656 templates/dcim/interface.html:106
-#: templates/virtualization/vminterface.html:43
-#: virtualization/forms/bulk_edit.py:212
-#: virtualization/forms/bulk_import.py:158
-#: virtualization/tables/virtualmachines.py:159
+#: netbox/dcim/choices.py:979 netbox/dcim/forms/bulk_edit.py:1303
+#: netbox/dcim/forms/bulk_import.py:779 netbox/dcim/forms/model_forms.py:922
+#: netbox/dcim/tables/devices.py:644 netbox/templates/dcim/interface.html:106
+#: netbox/templates/virtualization/vminterface.html:43
+#: netbox/virtualization/forms/bulk_edit.py:212
+#: netbox/virtualization/forms/bulk_import.py:158
+#: netbox/virtualization/tables/virtualmachines.py:159
msgid "Bridge"
-msgstr "桥"
+msgstr "桥接"
-#: dcim/choices.py:979
+#: netbox/dcim/choices.py:980
msgid "Link Aggregation Group (LAG)"
-msgstr "链路聚合组 (LAG)"
+msgstr "链路聚合组(LAG)"
-#: dcim/choices.py:983
+#: netbox/dcim/choices.py:984
msgid "Ethernet (fixed)"
-msgstr "以太网(固定)"
+msgstr "以太网(固定类型)"
-#: dcim/choices.py:997
+#: netbox/dcim/choices.py:999
msgid "Ethernet (modular)"
-msgstr "以太网(模块化)"
+msgstr "以太网(模块)"
-#: dcim/choices.py:1033
+#: netbox/dcim/choices.py:1035
msgid "Ethernet (backplane)"
-msgstr "以太网(背板)"
+msgstr "以太网(背板)"
-#: dcim/choices.py:1063
+#: netbox/dcim/choices.py:1065
msgid "Cellular"
msgstr "蜂窝网络"
-#: dcim/choices.py:1115 dcim/forms/filtersets.py:303
-#: dcim/forms/filtersets.py:738 dcim/forms/filtersets.py:882
-#: dcim/forms/filtersets.py:1434 templates/dcim/inventoryitem.html:52
-#: templates/dcim/virtualchassis_edit.html:54
+#: netbox/dcim/choices.py:1117 netbox/dcim/forms/filtersets.py:304
+#: netbox/dcim/forms/filtersets.py:740 netbox/dcim/forms/filtersets.py:894
+#: netbox/dcim/forms/filtersets.py:1446
+#: netbox/templates/dcim/inventoryitem.html:52
+#: netbox/templates/dcim/virtualchassis_edit.html:54
msgid "Serial"
-msgstr "序列号"
+msgstr "串口"
-#: dcim/choices.py:1130
+#: netbox/dcim/choices.py:1132
msgid "Coaxial"
-msgstr "同轴"
+msgstr "同轴电缆接口"
-#: dcim/choices.py:1150
+#: netbox/dcim/choices.py:1152
msgid "Stacking"
msgstr "堆叠"
-#: dcim/choices.py:1200
+#: netbox/dcim/choices.py:1202
msgid "Half"
-msgstr "一半"
+msgstr "半双工"
-#: dcim/choices.py:1201
+#: netbox/dcim/choices.py:1203
msgid "Full"
-msgstr "已满"
+msgstr "全双工"
-#: dcim/choices.py:1202 netbox/preferences.py:31 wireless/choices.py:480
+#: netbox/dcim/choices.py:1204 netbox/netbox/preferences.py:31
+#: netbox/wireless/choices.py:480
msgid "Auto"
-msgstr "汽车"
+msgstr "自动"
-#: dcim/choices.py:1213
+#: netbox/dcim/choices.py:1215
msgid "Access"
-msgstr "访问"
+msgstr "接入"
-#: dcim/choices.py:1214 ipam/tables/vlans.py:168 ipam/tables/vlans.py:213
-#: templates/dcim/inc/interface_vlans_table.html:7
+#: netbox/dcim/choices.py:1216 netbox/ipam/tables/vlans.py:168
+#: netbox/ipam/tables/vlans.py:213
+#: netbox/templates/dcim/inc/interface_vlans_table.html:7
msgid "Tagged"
-msgstr "已标记"
+msgstr "Trunk口"
-#: dcim/choices.py:1215
+#: netbox/dcim/choices.py:1217
msgid "Tagged (All)"
-msgstr "已标记 (全部)"
+msgstr "Trunk口(允许所有VLAN)"
-#: dcim/choices.py:1244
+#: netbox/dcim/choices.py:1246
msgid "IEEE Standard"
-msgstr "IEEE 标准"
+msgstr "IEEE标准"
-#: dcim/choices.py:1255
+#: netbox/dcim/choices.py:1257
msgid "Passive 24V (2-pair)"
-msgstr "被动 24V(2 对)"
+msgstr "24V(2对供电)"
-#: dcim/choices.py:1256
+#: netbox/dcim/choices.py:1258
msgid "Passive 24V (4-pair)"
-msgstr "被动式 24V(4 对)"
+msgstr "24V(4对供电)"
-#: dcim/choices.py:1257
+#: netbox/dcim/choices.py:1259
msgid "Passive 48V (2-pair)"
-msgstr "被动式 48V(2 对)"
+msgstr "48V(2对供电)"
-#: dcim/choices.py:1258
+#: netbox/dcim/choices.py:1260
msgid "Passive 48V (4-pair)"
-msgstr "被动式 48V(4 对)"
+msgstr "48V(4对供电)"
-#: dcim/choices.py:1320 dcim/choices.py:1416
+#: netbox/dcim/choices.py:1322 netbox/dcim/choices.py:1418
msgid "Copper"
-msgstr "铜"
+msgstr "铜缆"
-#: dcim/choices.py:1343
+#: netbox/dcim/choices.py:1345
msgid "Fiber Optic"
msgstr "光纤"
-#: dcim/choices.py:1432
+#: netbox/dcim/choices.py:1434
msgid "Fiber"
-msgstr "纤维"
+msgstr "光纤"
-#: dcim/choices.py:1456 dcim/forms/filtersets.py:1146
+#: netbox/dcim/choices.py:1458 netbox/dcim/forms/filtersets.py:1158
msgid "Connected"
msgstr "已连接"
-#: dcim/choices.py:1475
+#: netbox/dcim/choices.py:1477
msgid "Kilometers"
-msgstr "千米"
+msgstr "公里"
-#: dcim/choices.py:1476 templates/dcim/cable_trace.html:65
+#: netbox/dcim/choices.py:1478 netbox/templates/dcim/cable_trace.html:65
msgid "Meters"
msgstr "米"
-#: dcim/choices.py:1477
+#: netbox/dcim/choices.py:1479
msgid "Centimeters"
msgstr "厘米"
-#: dcim/choices.py:1478
+#: netbox/dcim/choices.py:1480
msgid "Miles"
msgstr "英里"
-#: dcim/choices.py:1479 templates/dcim/cable_trace.html:66
+#: netbox/dcim/choices.py:1481 netbox/templates/dcim/cable_trace.html:66
msgid "Feet"
msgstr "英尺"
-#: dcim/choices.py:1495 templates/dcim/device.html:319
-#: templates/dcim/rack.html:152
+#: netbox/dcim/choices.py:1497 netbox/templates/dcim/device.html:327
+#: netbox/templates/dcim/rack.html:152
msgid "Kilograms"
msgstr "千克"
-#: dcim/choices.py:1496
+#: netbox/dcim/choices.py:1498
msgid "Grams"
msgstr "克"
-#: dcim/choices.py:1497 templates/dcim/rack.html:153
+#: netbox/dcim/choices.py:1499 netbox/templates/dcim/rack.html:153
msgid "Pounds"
-msgstr "英镑"
+msgstr "磅"
-#: dcim/choices.py:1498
+#: netbox/dcim/choices.py:1500
msgid "Ounces"
msgstr "盎司"
-#: dcim/choices.py:1544 tenancy/choices.py:17
+#: netbox/dcim/choices.py:1546 netbox/tenancy/choices.py:17
msgid "Primary"
-msgstr "小学"
+msgstr "主要联系人"
-#: dcim/choices.py:1545
+#: netbox/dcim/choices.py:1547
msgid "Redundant"
msgstr "冗余"
-#: dcim/choices.py:1566
+#: netbox/dcim/choices.py:1568
msgid "Single phase"
-msgstr "单相"
+msgstr "单相电"
-#: dcim/choices.py:1567
+#: netbox/dcim/choices.py:1569
msgid "Three-phase"
msgstr "三相"
-#: dcim/fields.py:45
+#: netbox/dcim/fields.py:45
#, python-brace-format
msgid "Invalid MAC address format: {value}"
-msgstr "MAC 地址格式无效: {value}"
+msgstr "MAC地址格式无效:{value}"
-#: dcim/fields.py:71
+#: netbox/dcim/fields.py:71
#, python-brace-format
msgid "Invalid WWN format: {value}"
-msgstr "WWN 格式无效: {value}"
+msgstr "WWN格式无效:{value}"
-#: dcim/filtersets.py:85
+#: netbox/dcim/filtersets.py:85
msgid "Parent region (ID)"
-msgstr "父区域 (ID)"
+msgstr "上一级地区(ID)"
-#: dcim/filtersets.py:91
+#: netbox/dcim/filtersets.py:91
msgid "Parent region (slug)"
-msgstr "父区域(slug)"
+msgstr "上一级地区(缩写)"
-#: dcim/filtersets.py:115
+#: netbox/dcim/filtersets.py:115
msgid "Parent site group (ID)"
-msgstr "父站点组 (ID)"
+msgstr "上一级站点组(ID)"
-#: dcim/filtersets.py:121
+#: netbox/dcim/filtersets.py:121
msgid "Parent site group (slug)"
-msgstr "父站点组(slug)"
+msgstr "上一级站点组(缩写)"
-#: dcim/filtersets.py:163 ipam/filtersets.py:841 ipam/filtersets.py:979
+#: netbox/dcim/filtersets.py:163 netbox/ipam/filtersets.py:841
+#: netbox/ipam/filtersets.py:979
msgid "Group (ID)"
-msgstr "群组 (ID)"
+msgstr "组(ID)"
-#: dcim/filtersets.py:169
+#: netbox/dcim/filtersets.py:169
msgid "Group (slug)"
-msgstr "群组(slug)"
+msgstr "组(缩写)"
-#: dcim/filtersets.py:175 dcim/filtersets.py:180
+#: netbox/dcim/filtersets.py:175 netbox/dcim/filtersets.py:180
msgid "AS (ID)"
-msgstr "作为(ID)"
+msgstr "AS (ID)"
-#: dcim/filtersets.py:245
+#: netbox/dcim/filtersets.py:245
msgid "Parent location (ID)"
-msgstr "家长所在地 (ID)"
+msgstr "父级位置(ID)"
-#: dcim/filtersets.py:251
+#: netbox/dcim/filtersets.py:251
msgid "Parent location (slug)"
-msgstr "家长所在地(slug)"
+msgstr "父级位置(缩写)"
-#: dcim/filtersets.py:257 dcim/filtersets.py:333 dcim/filtersets.py:432
-#: dcim/filtersets.py:1005 dcim/filtersets.py:1341 dcim/filtersets.py:2111
+#: netbox/dcim/filtersets.py:257 netbox/dcim/filtersets.py:333
+#: netbox/dcim/filtersets.py:432 netbox/dcim/filtersets.py:1005
+#: netbox/dcim/filtersets.py:1352 netbox/dcim/filtersets.py:2122
msgid "Location (ID)"
-msgstr "地点 (ID)"
+msgstr "位置(ID)"
-#: dcim/filtersets.py:264 dcim/filtersets.py:340 dcim/filtersets.py:439
-#: dcim/filtersets.py:1347 extras/filtersets.py:494
+#: netbox/dcim/filtersets.py:264 netbox/dcim/filtersets.py:340
+#: netbox/dcim/filtersets.py:439 netbox/dcim/filtersets.py:1358
+#: netbox/extras/filtersets.py:494
msgid "Location (slug)"
-msgstr "位置(slug)"
+msgstr "位置(缩写)"
-#: dcim/filtersets.py:354 dcim/filtersets.py:840 dcim/filtersets.py:942
-#: dcim/filtersets.py:1779 ipam/filtersets.py:381 ipam/filtersets.py:493
-#: ipam/filtersets.py:989 virtualization/filtersets.py:210
+#: netbox/dcim/filtersets.py:354 netbox/dcim/filtersets.py:840
+#: netbox/dcim/filtersets.py:942 netbox/dcim/filtersets.py:1790
+#: netbox/ipam/filtersets.py:381 netbox/ipam/filtersets.py:493
+#: netbox/ipam/filtersets.py:989 netbox/virtualization/filtersets.py:210
msgid "Role (ID)"
-msgstr "角色 (ID)"
+msgstr "角色(ID)"
-#: dcim/filtersets.py:360 dcim/filtersets.py:846 dcim/filtersets.py:948
-#: dcim/filtersets.py:1785 extras/filtersets.py:510 ipam/filtersets.py:387
-#: ipam/filtersets.py:499 ipam/filtersets.py:995
-#: virtualization/filtersets.py:216
+#: netbox/dcim/filtersets.py:360 netbox/dcim/filtersets.py:846
+#: netbox/dcim/filtersets.py:948 netbox/dcim/filtersets.py:1796
+#: netbox/extras/filtersets.py:510 netbox/ipam/filtersets.py:387
+#: netbox/ipam/filtersets.py:499 netbox/ipam/filtersets.py:995
+#: netbox/virtualization/filtersets.py:216
msgid "Role (slug)"
-msgstr "角色(slug)"
+msgstr "角色 (缩写)"
-#: dcim/filtersets.py:389 dcim/filtersets.py:1010 dcim/filtersets.py:1352
-#: dcim/filtersets.py:2173
+#: netbox/dcim/filtersets.py:389 netbox/dcim/filtersets.py:1010
+#: netbox/dcim/filtersets.py:1363 netbox/dcim/filtersets.py:2184
msgid "Rack (ID)"
-msgstr "机架 (ID)"
+msgstr "机柜(ID)"
-#: dcim/filtersets.py:443 extras/filtersets.py:282 extras/filtersets.py:326
-#: extras/filtersets.py:365 extras/filtersets.py:664 users/filtersets.py:28
+#: netbox/dcim/filtersets.py:443 netbox/extras/filtersets.py:282
+#: netbox/extras/filtersets.py:326 netbox/extras/filtersets.py:365
+#: netbox/extras/filtersets.py:664 netbox/users/filtersets.py:28
msgid "User (ID)"
-msgstr "用户 (ID)"
+msgstr "用户(ID)"
-#: dcim/filtersets.py:449 extras/filtersets.py:288 extras/filtersets.py:332
-#: extras/filtersets.py:371 users/filtersets.py:103 users/filtersets.py:170
+#: netbox/dcim/filtersets.py:449 netbox/extras/filtersets.py:288
+#: netbox/extras/filtersets.py:332 netbox/extras/filtersets.py:371
+#: netbox/users/filtersets.py:103 netbox/users/filtersets.py:170
msgid "User (name)"
-msgstr "用户(姓名)"
+msgstr "用户(名称)"
-#: dcim/filtersets.py:481 dcim/filtersets.py:620 dcim/filtersets.py:830
-#: dcim/filtersets.py:881 dcim/filtersets.py:921 dcim/filtersets.py:1243
-#: dcim/filtersets.py:1769
+#: netbox/dcim/filtersets.py:481 netbox/dcim/filtersets.py:620
+#: netbox/dcim/filtersets.py:830 netbox/dcim/filtersets.py:881
+#: netbox/dcim/filtersets.py:921 netbox/dcim/filtersets.py:1254
+#: netbox/dcim/filtersets.py:1780
msgid "Manufacturer (ID)"
-msgstr "制造商 (ID)"
+msgstr "厂商(ID)"
-#: dcim/filtersets.py:487 dcim/filtersets.py:626 dcim/filtersets.py:836
-#: dcim/filtersets.py:887 dcim/filtersets.py:927 dcim/filtersets.py:1249
-#: dcim/filtersets.py:1775
+#: netbox/dcim/filtersets.py:487 netbox/dcim/filtersets.py:626
+#: netbox/dcim/filtersets.py:836 netbox/dcim/filtersets.py:887
+#: netbox/dcim/filtersets.py:927 netbox/dcim/filtersets.py:1260
+#: netbox/dcim/filtersets.py:1786
msgid "Manufacturer (slug)"
-msgstr "制造商(slug)"
+msgstr "厂商 (缩写)"
-#: dcim/filtersets.py:491
+#: netbox/dcim/filtersets.py:491
msgid "Default platform (ID)"
-msgstr "默认平台 (ID)"
+msgstr "默认系统平台(ID)"
-#: dcim/filtersets.py:497
+#: netbox/dcim/filtersets.py:497
msgid "Default platform (slug)"
-msgstr "默认平台(slug)"
+msgstr "默认系统平台(缩写)"
-#: dcim/filtersets.py:500 dcim/forms/filtersets.py:452
+#: netbox/dcim/filtersets.py:500 netbox/dcim/forms/filtersets.py:453
msgid "Has a front image"
-msgstr "有正面图片"
+msgstr "有前面板图片"
-#: dcim/filtersets.py:504 dcim/forms/filtersets.py:459
+#: netbox/dcim/filtersets.py:504 netbox/dcim/forms/filtersets.py:460
msgid "Has a rear image"
-msgstr "有背面影像"
+msgstr "有后面板图片"
-#: dcim/filtersets.py:509 dcim/filtersets.py:630 dcim/filtersets.py:1068
-#: dcim/forms/filtersets.py:466 dcim/forms/filtersets.py:562
-#: dcim/forms/filtersets.py:777
+#: netbox/dcim/filtersets.py:509 netbox/dcim/filtersets.py:630
+#: netbox/dcim/filtersets.py:1079 netbox/dcim/forms/filtersets.py:467
+#: netbox/dcim/forms/filtersets.py:563 netbox/dcim/forms/filtersets.py:779
msgid "Has console ports"
-msgstr "有控制台端口"
+msgstr "具有console端口"
-#: dcim/filtersets.py:513 dcim/filtersets.py:634 dcim/filtersets.py:1072
-#: dcim/forms/filtersets.py:473 dcim/forms/filtersets.py:569
-#: dcim/forms/filtersets.py:784
+#: netbox/dcim/filtersets.py:513 netbox/dcim/filtersets.py:634
+#: netbox/dcim/filtersets.py:1083 netbox/dcim/forms/filtersets.py:474
+#: netbox/dcim/forms/filtersets.py:570 netbox/dcim/forms/filtersets.py:786
msgid "Has console server ports"
-msgstr "有控制台服务器端口"
+msgstr "具有console 服务器端口"
-#: dcim/filtersets.py:517 dcim/filtersets.py:638 dcim/filtersets.py:1076
-#: dcim/forms/filtersets.py:480 dcim/forms/filtersets.py:576
-#: dcim/forms/filtersets.py:791
+#: netbox/dcim/filtersets.py:517 netbox/dcim/filtersets.py:638
+#: netbox/dcim/filtersets.py:1087 netbox/dcim/forms/filtersets.py:481
+#: netbox/dcim/forms/filtersets.py:577 netbox/dcim/forms/filtersets.py:793
msgid "Has power ports"
-msgstr "有电源端口"
+msgstr "有电源接口"
-#: dcim/filtersets.py:521 dcim/filtersets.py:642 dcim/filtersets.py:1080
-#: dcim/forms/filtersets.py:487 dcim/forms/filtersets.py:583
-#: dcim/forms/filtersets.py:798
+#: netbox/dcim/filtersets.py:521 netbox/dcim/filtersets.py:642
+#: netbox/dcim/filtersets.py:1091 netbox/dcim/forms/filtersets.py:488
+#: netbox/dcim/forms/filtersets.py:584 netbox/dcim/forms/filtersets.py:800
msgid "Has power outlets"
msgstr "有电源插座"
-#: dcim/filtersets.py:525 dcim/filtersets.py:646 dcim/filtersets.py:1084
-#: dcim/forms/filtersets.py:494 dcim/forms/filtersets.py:590
-#: dcim/forms/filtersets.py:805
+#: netbox/dcim/filtersets.py:525 netbox/dcim/filtersets.py:646
+#: netbox/dcim/filtersets.py:1095 netbox/dcim/forms/filtersets.py:495
+#: netbox/dcim/forms/filtersets.py:591 netbox/dcim/forms/filtersets.py:807
msgid "Has interfaces"
msgstr "有接口"
-#: dcim/filtersets.py:529 dcim/filtersets.py:650 dcim/filtersets.py:1088
-#: dcim/forms/filtersets.py:501 dcim/forms/filtersets.py:597
-#: dcim/forms/filtersets.py:812
+#: netbox/dcim/filtersets.py:529 netbox/dcim/filtersets.py:650
+#: netbox/dcim/filtersets.py:1099 netbox/dcim/forms/filtersets.py:502
+#: netbox/dcim/forms/filtersets.py:598 netbox/dcim/forms/filtersets.py:814
msgid "Has pass-through ports"
msgstr "有直通端口"
-#: dcim/filtersets.py:533 dcim/filtersets.py:1092 dcim/forms/filtersets.py:515
+#: netbox/dcim/filtersets.py:533 netbox/dcim/filtersets.py:1103
+#: netbox/dcim/forms/filtersets.py:516
msgid "Has module bays"
msgstr "有模块托架"
-#: dcim/filtersets.py:537 dcim/filtersets.py:1096 dcim/forms/filtersets.py:508
+#: netbox/dcim/filtersets.py:537 netbox/dcim/filtersets.py:1107
+#: netbox/dcim/forms/filtersets.py:509
msgid "Has device bays"
msgstr "有设备托架"
-#: dcim/filtersets.py:541 dcim/forms/filtersets.py:522
+#: netbox/dcim/filtersets.py:541 netbox/dcim/forms/filtersets.py:523
msgid "Has inventory items"
-msgstr "有库存物品"
+msgstr "有库存项"
-#: dcim/filtersets.py:698 dcim/filtersets.py:937 dcim/filtersets.py:1373
+#: netbox/dcim/filtersets.py:698 netbox/dcim/filtersets.py:937
+#: netbox/dcim/filtersets.py:1384
msgid "Device type (ID)"
-msgstr "设备类型 (ID)"
+msgstr "设备型号(ID)"
-#: dcim/filtersets.py:717 dcim/filtersets.py:1254
+#: netbox/dcim/filtersets.py:717 netbox/dcim/filtersets.py:1265
msgid "Module type (ID)"
-msgstr "模块类型 (ID)"
+msgstr "模块类型(ID)"
-#: dcim/filtersets.py:752 dcim/filtersets.py:1524
+#: netbox/dcim/filtersets.py:752 netbox/dcim/filtersets.py:1535
msgid "Power port (ID)"
-msgstr "电源端口 (ID)"
+msgstr "电源接口(ID)"
-#: dcim/filtersets.py:826 dcim/filtersets.py:1765
+#: netbox/dcim/filtersets.py:826 netbox/dcim/filtersets.py:1776
msgid "Parent inventory item (ID)"
-msgstr "父库存物品 (ID)"
+msgstr "上一级库存项(ID)"
-#: dcim/filtersets.py:869 dcim/filtersets.py:895 dcim/filtersets.py:1064
-#: virtualization/filtersets.py:238
+#: netbox/dcim/filtersets.py:869 netbox/dcim/filtersets.py:895
+#: netbox/dcim/filtersets.py:1075 netbox/virtualization/filtersets.py:238
msgid "Config template (ID)"
-msgstr "配置模板 (ID)"
+msgstr "配置模板(ID)"
-#: dcim/filtersets.py:933
+#: netbox/dcim/filtersets.py:933
msgid "Device type (slug)"
-msgstr "设备类型(slug)"
+msgstr "设备型号 (缩写)"
-#: dcim/filtersets.py:953
+#: netbox/dcim/filtersets.py:953
msgid "Parent Device (ID)"
-msgstr "家长设备 (ID)"
+msgstr "上一级设备(ID)"
-#: dcim/filtersets.py:957 virtualization/filtersets.py:220
+#: netbox/dcim/filtersets.py:957 netbox/virtualization/filtersets.py:220
msgid "Platform (ID)"
-msgstr "平台 (ID)"
+msgstr "平台(ID)"
-#: dcim/filtersets.py:963 extras/filtersets.py:521
-#: virtualization/filtersets.py:226
+#: netbox/dcim/filtersets.py:963 netbox/extras/filtersets.py:521
+#: netbox/virtualization/filtersets.py:226
msgid "Platform (slug)"
-msgstr "平台(slug)"
+msgstr "平台(缩写)"
-#: dcim/filtersets.py:999 dcim/filtersets.py:1336 dcim/filtersets.py:1863
-#: dcim/filtersets.py:2105 dcim/filtersets.py:2164
+#: netbox/dcim/filtersets.py:999 netbox/dcim/filtersets.py:1347
+#: netbox/dcim/filtersets.py:1874 netbox/dcim/filtersets.py:2116
+#: netbox/dcim/filtersets.py:2175
msgid "Site name (slug)"
-msgstr "站点名称(slug)"
+msgstr "站点名字 (缩写)"
-#: dcim/filtersets.py:1015
+#: netbox/dcim/filtersets.py:1015
msgid "Parent bay (ID)"
-msgstr "家长宝贝 (ID)"
+msgstr "父级托架(IE)"
-#: dcim/filtersets.py:1019
+#: netbox/dcim/filtersets.py:1019
msgid "VM cluster (ID)"
-msgstr "虚拟机集群 (ID)"
+msgstr "虚拟机集群(ID)"
-#: dcim/filtersets.py:1025
+#: netbox/dcim/filtersets.py:1025 netbox/extras/filtersets.py:543
+#: netbox/virtualization/filtersets.py:136
+msgid "Cluster group (slug)"
+msgstr "集群组(缩写)"
+
+#: netbox/dcim/filtersets.py:1030 netbox/virtualization/filtersets.py:130
+msgid "Cluster group (ID)"
+msgstr "集群组(ID)"
+
+#: netbox/dcim/filtersets.py:1036
msgid "Device model (slug)"
-msgstr "设备型号(slug)"
+msgstr "设备模块(缩写)"
-#: dcim/filtersets.py:1036 dcim/forms/bulk_edit.py:423
+#: netbox/dcim/filtersets.py:1047 netbox/dcim/forms/bulk_edit.py:423
msgid "Is full depth"
-msgstr "深度已满"
+msgstr "是否全尺寸"
-#: dcim/filtersets.py:1040 dcim/forms/common.py:18
-#: dcim/forms/filtersets.py:747 dcim/forms/filtersets.py:1291
-#: dcim/models/device_components.py:519 virtualization/filtersets.py:230
-#: virtualization/filtersets.py:297 virtualization/forms/filtersets.py:172
-#: virtualization/forms/filtersets.py:219
+#: netbox/dcim/filtersets.py:1051 netbox/dcim/forms/common.py:18
+#: netbox/dcim/forms/filtersets.py:749 netbox/dcim/forms/filtersets.py:1303
+#: netbox/dcim/models/device_components.py:519
+#: netbox/virtualization/filtersets.py:230
+#: netbox/virtualization/filtersets.py:297
+#: netbox/virtualization/forms/filtersets.py:172
+#: netbox/virtualization/forms/filtersets.py:219
msgid "MAC address"
msgstr "MAC 地址"
-#: dcim/filtersets.py:1047 dcim/filtersets.py:1211
-#: dcim/forms/filtersets.py:756 dcim/forms/filtersets.py:849
-#: virtualization/filtersets.py:234 virtualization/forms/filtersets.py:176
+#: netbox/dcim/filtersets.py:1058 netbox/dcim/filtersets.py:1222
+#: netbox/dcim/forms/filtersets.py:758 netbox/dcim/forms/filtersets.py:861
+#: netbox/virtualization/filtersets.py:234
+#: netbox/virtualization/forms/filtersets.py:176
msgid "Has a primary IP"
-msgstr "有主 IP"
+msgstr "有主IP"
-#: dcim/filtersets.py:1051
+#: netbox/dcim/filtersets.py:1062
msgid "Has an out-of-band IP"
-msgstr "有带外 IP"
+msgstr "有带外管理IP"
-#: dcim/filtersets.py:1056
+#: netbox/dcim/filtersets.py:1067
msgid "Virtual chassis (ID)"
-msgstr "虚拟机箱 (ID)"
+msgstr "堆叠 (ID)"
-#: dcim/filtersets.py:1060
+#: netbox/dcim/filtersets.py:1071
msgid "Is a virtual chassis member"
-msgstr "是虚拟机箱成员"
+msgstr "是堆叠成员"
-#: dcim/filtersets.py:1101
+#: netbox/dcim/filtersets.py:1112
msgid "OOB IP (ID)"
-msgstr "OOB IP (ID)"
+msgstr "带外管理IP(ID)"
-#: dcim/filtersets.py:1105
+#: netbox/dcim/filtersets.py:1116
msgid "Has virtual device context"
msgstr "有虚拟设备上下文"
-#: dcim/filtersets.py:1194
+#: netbox/dcim/filtersets.py:1205
msgid "VDC (ID)"
msgstr "VDC (ID)"
-#: dcim/filtersets.py:1199
+#: netbox/dcim/filtersets.py:1210
msgid "Device model"
msgstr "设备型号"
-#: dcim/filtersets.py:1204 ipam/filtersets.py:632 vpn/filtersets.py:102
-#: vpn/filtersets.py:420
+#: netbox/dcim/filtersets.py:1215 netbox/ipam/filtersets.py:632
+#: netbox/vpn/filtersets.py:102 netbox/vpn/filtersets.py:420
msgid "Interface (ID)"
-msgstr "接口 (ID)"
+msgstr "接口(ID)"
-#: dcim/filtersets.py:1260
+#: netbox/dcim/filtersets.py:1271
msgid "Module type (model)"
-msgstr "模块类型(型号)"
+msgstr "模块类型(模块)"
-#: dcim/filtersets.py:1266
+#: netbox/dcim/filtersets.py:1277
msgid "Module Bay (ID)"
-msgstr "模块托架 (ID)"
+msgstr "设备板卡插槽 (ID)"
-#: dcim/filtersets.py:1270 dcim/filtersets.py:1362 ipam/filtersets.py:611
-#: ipam/filtersets.py:851 ipam/filtersets.py:1075
-#: virtualization/filtersets.py:161 vpn/filtersets.py:398
+#: netbox/dcim/filtersets.py:1281 netbox/dcim/filtersets.py:1373
+#: netbox/ipam/filtersets.py:611 netbox/ipam/filtersets.py:851
+#: netbox/ipam/filtersets.py:1075 netbox/virtualization/filtersets.py:161
+#: netbox/vpn/filtersets.py:398
msgid "Device (ID)"
-msgstr "设备 (ID)"
+msgstr "设备(ID)"
-#: dcim/filtersets.py:1358
+#: netbox/dcim/filtersets.py:1369
msgid "Rack (name)"
-msgstr "机架(名称)"
+msgstr "机柜(名称)"
-#: dcim/filtersets.py:1368 ipam/filtersets.py:606 ipam/filtersets.py:846
-#: ipam/filtersets.py:1081 vpn/filtersets.py:393
+#: netbox/dcim/filtersets.py:1379 netbox/ipam/filtersets.py:606
+#: netbox/ipam/filtersets.py:846 netbox/ipam/filtersets.py:1081
+#: netbox/vpn/filtersets.py:393
msgid "Device (name)"
msgstr "设备(名称)"
-#: dcim/filtersets.py:1379
+#: netbox/dcim/filtersets.py:1390
msgid "Device type (model)"
-msgstr "设备类型(型号)"
+msgstr "设备型号 (model)"
-#: dcim/filtersets.py:1384
+#: netbox/dcim/filtersets.py:1395
msgid "Device role (ID)"
-msgstr "设备角色 (ID)"
+msgstr "设备角色(ID)"
-#: dcim/filtersets.py:1390
+#: netbox/dcim/filtersets.py:1401
msgid "Device role (slug)"
-msgstr "设备角色(slug)"
+msgstr "设备角色(缩写)"
-#: dcim/filtersets.py:1395
+#: netbox/dcim/filtersets.py:1406
msgid "Virtual Chassis (ID)"
-msgstr "虚拟机箱 (ID)"
+msgstr "堆叠(ID)"
-#: dcim/filtersets.py:1401 dcim/forms/filtersets.py:107
-#: dcim/tables/devices.py:211 netbox/navigation/menu.py:66
-#: templates/dcim/device.html:119 templates/dcim/device_edit.html:93
-#: templates/dcim/virtualchassis.html:20
-#: templates/dcim/virtualchassis_add.html:8
-#: templates/dcim/virtualchassis_edit.html:24
+#: netbox/dcim/filtersets.py:1412 netbox/dcim/forms/filtersets.py:108
+#: netbox/dcim/tables/devices.py:203 netbox/netbox/navigation/menu.py:66
+#: netbox/templates/dcim/device.html:120
+#: netbox/templates/dcim/device_edit.html:93
+#: netbox/templates/dcim/virtualchassis.html:20
+#: netbox/templates/dcim/virtualchassis_add.html:8
+#: netbox/templates/dcim/virtualchassis_edit.html:24
msgid "Virtual Chassis"
-msgstr "虚拟机箱"
+msgstr "堆叠"
-#: dcim/filtersets.py:1421
+#: netbox/dcim/filtersets.py:1432
msgid "Module (ID)"
-msgstr "模块 (ID)"
+msgstr "模块(ID)"
-#: dcim/filtersets.py:1428
+#: netbox/dcim/filtersets.py:1439
msgid "Cable (ID)"
-msgstr "电缆 (ID)"
+msgstr "线缆(ID)"
-#: dcim/filtersets.py:1537 ipam/forms/bulk_import.py:188
-#: vpn/forms/bulk_import.py:308
+#: netbox/dcim/filtersets.py:1548 netbox/ipam/forms/bulk_import.py:188
+#: netbox/vpn/forms/bulk_import.py:308
msgid "Assigned VLAN"
-msgstr "分配的 VLAN"
+msgstr "指定VLAN"
-#: dcim/filtersets.py:1541
+#: netbox/dcim/filtersets.py:1552
msgid "Assigned VID"
-msgstr "分配的 VID"
+msgstr "指定VID"
-#: dcim/filtersets.py:1546 dcim/forms/bulk_edit.py:1382
-#: dcim/forms/bulk_import.py:836 dcim/forms/filtersets.py:1334
-#: dcim/forms/model_forms.py:1322 dcim/models/device_components.py:712
-#: dcim/tables/devices.py:622 ipam/filtersets.py:316 ipam/filtersets.py:327
-#: ipam/filtersets.py:483 ipam/filtersets.py:584 ipam/filtersets.py:595
-#: ipam/forms/bulk_edit.py:227 ipam/forms/bulk_edit.py:282
-#: ipam/forms/bulk_edit.py:324 ipam/forms/bulk_import.py:156
-#: ipam/forms/bulk_import.py:242 ipam/forms/bulk_import.py:278
-#: ipam/forms/filtersets.py:67 ipam/forms/filtersets.py:172
-#: ipam/forms/filtersets.py:309 ipam/forms/model_forms.py:60
-#: ipam/forms/model_forms.py:200 ipam/forms/model_forms.py:245
-#: ipam/forms/model_forms.py:298 ipam/forms/model_forms.py:429
-#: ipam/forms/model_forms.py:443 ipam/forms/model_forms.py:457
-#: ipam/models/ip.py:233 ipam/models/ip.py:512 ipam/models/ip.py:720
-#: ipam/models/vrfs.py:62 ipam/tables/ip.py:241 ipam/tables/ip.py:306
-#: ipam/tables/ip.py:356 ipam/tables/ip.py:445
-#: templates/dcim/interface.html:133 templates/ipam/ipaddress.html:18
-#: templates/ipam/iprange.html:40 templates/ipam/prefix.html:19
-#: templates/ipam/vrf.html:7 templates/ipam/vrf.html:13
-#: templates/virtualization/vminterface.html:47
-#: virtualization/forms/bulk_edit.py:261
-#: virtualization/forms/bulk_import.py:171
-#: virtualization/forms/filtersets.py:224
-#: virtualization/forms/model_forms.py:344
-#: virtualization/models/virtualmachines.py:350
-#: virtualization/tables/virtualmachines.py:136
+#: netbox/dcim/filtersets.py:1557 netbox/dcim/forms/bulk_edit.py:1382
+#: netbox/dcim/forms/bulk_import.py:830 netbox/dcim/forms/filtersets.py:1346
+#: netbox/dcim/forms/model_forms.py:1325
+#: netbox/dcim/models/device_components.py:712
+#: netbox/dcim/tables/devices.py:610 netbox/ipam/filtersets.py:316
+#: netbox/ipam/filtersets.py:327 netbox/ipam/filtersets.py:483
+#: netbox/ipam/filtersets.py:584 netbox/ipam/filtersets.py:595
+#: netbox/ipam/forms/bulk_edit.py:227 netbox/ipam/forms/bulk_edit.py:282
+#: netbox/ipam/forms/bulk_edit.py:324 netbox/ipam/forms/bulk_import.py:156
+#: netbox/ipam/forms/bulk_import.py:242 netbox/ipam/forms/bulk_import.py:278
+#: netbox/ipam/forms/filtersets.py:67 netbox/ipam/forms/filtersets.py:172
+#: netbox/ipam/forms/filtersets.py:309 netbox/ipam/forms/model_forms.py:60
+#: netbox/ipam/forms/model_forms.py:200 netbox/ipam/forms/model_forms.py:245
+#: netbox/ipam/forms/model_forms.py:298 netbox/ipam/forms/model_forms.py:429
+#: netbox/ipam/forms/model_forms.py:443 netbox/ipam/forms/model_forms.py:457
+#: netbox/ipam/models/ip.py:233 netbox/ipam/models/ip.py:512
+#: netbox/ipam/models/ip.py:720 netbox/ipam/models/vrfs.py:62
+#: netbox/ipam/tables/ip.py:241 netbox/ipam/tables/ip.py:306
+#: netbox/ipam/tables/ip.py:356 netbox/ipam/tables/ip.py:445
+#: netbox/templates/dcim/interface.html:133
+#: netbox/templates/ipam/ipaddress.html:18
+#: netbox/templates/ipam/iprange.html:40 netbox/templates/ipam/prefix.html:19
+#: netbox/templates/ipam/vrf.html:7 netbox/templates/ipam/vrf.html:13
+#: netbox/templates/virtualization/vminterface.html:47
+#: netbox/virtualization/forms/bulk_edit.py:261
+#: netbox/virtualization/forms/bulk_import.py:171
+#: netbox/virtualization/forms/filtersets.py:224
+#: netbox/virtualization/forms/model_forms.py:344
+#: netbox/virtualization/models/virtualmachines.py:350
+#: netbox/virtualization/tables/virtualmachines.py:136
msgid "VRF"
msgstr "VRF"
-#: dcim/filtersets.py:1552 ipam/filtersets.py:322 ipam/filtersets.py:333
-#: ipam/filtersets.py:489 ipam/filtersets.py:590 ipam/filtersets.py:601
+#: netbox/dcim/filtersets.py:1563 netbox/ipam/filtersets.py:322
+#: netbox/ipam/filtersets.py:333 netbox/ipam/filtersets.py:489
+#: netbox/ipam/filtersets.py:590 netbox/ipam/filtersets.py:601
msgid "VRF (RD)"
-msgstr "VRF(红色)"
+msgstr "VRF (RD)"
-#: dcim/filtersets.py:1557 ipam/filtersets.py:1016 vpn/filtersets.py:361
+#: netbox/dcim/filtersets.py:1568 netbox/ipam/filtersets.py:1016
+#: netbox/vpn/filtersets.py:361
msgid "L2VPN (ID)"
msgstr "L2VPN (ID)"
-#: dcim/filtersets.py:1563 dcim/forms/filtersets.py:1339
-#: dcim/tables/devices.py:570 ipam/filtersets.py:1022
-#: ipam/forms/filtersets.py:525 ipam/tables/vlans.py:133
-#: templates/dcim/interface.html:93 templates/ipam/vlan.html:66
-#: templates/vpn/l2vpntermination.html:12
-#: virtualization/forms/filtersets.py:229 vpn/forms/bulk_import.py:280
-#: vpn/forms/filtersets.py:246 vpn/forms/model_forms.py:409
-#: vpn/forms/model_forms.py:427 vpn/models/l2vpn.py:63 vpn/tables/l2vpn.py:55
+#: netbox/dcim/filtersets.py:1574 netbox/dcim/forms/filtersets.py:1351
+#: netbox/dcim/tables/devices.py:558 netbox/ipam/filtersets.py:1022
+#: netbox/ipam/forms/filtersets.py:525 netbox/ipam/tables/vlans.py:133
+#: netbox/templates/dcim/interface.html:93 netbox/templates/ipam/vlan.html:66
+#: netbox/templates/vpn/l2vpntermination.html:12
+#: netbox/virtualization/forms/filtersets.py:229
+#: netbox/vpn/forms/bulk_import.py:280 netbox/vpn/forms/filtersets.py:246
+#: netbox/vpn/forms/model_forms.py:409 netbox/vpn/forms/model_forms.py:427
+#: netbox/vpn/models/l2vpn.py:63 netbox/vpn/tables/l2vpn.py:55
msgid "L2VPN"
msgstr "L2VPN"
-#: dcim/filtersets.py:1595
+#: netbox/dcim/filtersets.py:1606
msgid "Virtual Chassis Interfaces for Device"
-msgstr "设备的虚拟机箱接口"
+msgstr "设备的集群接口"
-#: dcim/filtersets.py:1600
+#: netbox/dcim/filtersets.py:1611
msgid "Virtual Chassis Interfaces for Device (ID)"
-msgstr "设备的虚拟机箱接口 (ID)"
+msgstr "设备的集群接口(ID)"
-#: dcim/filtersets.py:1604
+#: netbox/dcim/filtersets.py:1615
msgid "Kind of interface"
-msgstr "接口的种类"
+msgstr "接口类型"
-#: dcim/filtersets.py:1609 virtualization/filtersets.py:289
+#: netbox/dcim/filtersets.py:1620 netbox/virtualization/filtersets.py:289
msgid "Parent interface (ID)"
-msgstr "父接口 (ID)"
+msgstr "父级接口(ID)"
-#: dcim/filtersets.py:1614 virtualization/filtersets.py:294
+#: netbox/dcim/filtersets.py:1625 netbox/virtualization/filtersets.py:294
msgid "Bridged interface (ID)"
-msgstr "桥接接口 (ID)"
+msgstr "桥接接口(ID)"
-#: dcim/filtersets.py:1619
+#: netbox/dcim/filtersets.py:1630
msgid "LAG interface (ID)"
-msgstr "LAG 接口 (ID)"
+msgstr "链路聚合接口(ID)"
-#: dcim/filtersets.py:1646 dcim/filtersets.py:1658
-#: dcim/forms/filtersets.py:1251 dcim/forms/model_forms.py:1634
-#: templates/dcim/virtualdevicecontext.html:15
+#: netbox/dcim/filtersets.py:1657 netbox/dcim/filtersets.py:1669
+#: netbox/dcim/forms/filtersets.py:1263 netbox/dcim/forms/model_forms.py:1637
+#: netbox/templates/dcim/virtualdevicecontext.html:15
msgid "Virtual Device Context"
msgstr "虚拟设备上下文"
-#: dcim/filtersets.py:1652
+#: netbox/dcim/filtersets.py:1663
msgid "Virtual Device Context (Identifier)"
-msgstr "虚拟设备上下文(标识符)"
+msgstr "虚拟设备上下文(ID)"
-#: dcim/filtersets.py:1663 templates/wireless/wirelesslan.html:11
-#: wireless/forms/model_forms.py:53
+#: netbox/dcim/filtersets.py:1674
+#: netbox/templates/wireless/wirelesslan.html:11
+#: netbox/wireless/forms/model_forms.py:53
msgid "Wireless LAN"
msgstr "无线局域网"
-#: dcim/filtersets.py:1667 dcim/tables/devices.py:609
+#: netbox/dcim/filtersets.py:1678 netbox/dcim/tables/devices.py:597
msgid "Wireless link"
-msgstr "无线链接"
+msgstr "无线连接"
-#: dcim/filtersets.py:1737
+#: netbox/dcim/filtersets.py:1748
msgid "Installed module (ID)"
-msgstr "已安装的模块 (ID)"
+msgstr "已安装模块(ID)"
-#: dcim/filtersets.py:1748
+#: netbox/dcim/filtersets.py:1759
msgid "Installed device (ID)"
-msgstr "已安装的设备 (ID)"
+msgstr "已安装设备(ID)"
-#: dcim/filtersets.py:1754
+#: netbox/dcim/filtersets.py:1765
msgid "Installed device (name)"
-msgstr "已安装的设备(名称)"
+msgstr "已安装设备(名称)"
-#: dcim/filtersets.py:1820
+#: netbox/dcim/filtersets.py:1831
msgid "Master (ID)"
-msgstr "大师 (ID)"
+msgstr "主设备(ID)"
-#: dcim/filtersets.py:1826
+#: netbox/dcim/filtersets.py:1837
msgid "Master (name)"
-msgstr "主人(姓名)"
+msgstr "主设备(名称)"
-#: dcim/filtersets.py:1868 tenancy/filtersets.py:246
+#: netbox/dcim/filtersets.py:1879 netbox/tenancy/filtersets.py:246
msgid "Tenant (ID)"
-msgstr "租户 (ID)"
+msgstr "租户(ID)"
-#: dcim/filtersets.py:1874 extras/filtersets.py:570 tenancy/filtersets.py:252
+#: netbox/dcim/filtersets.py:1885 netbox/extras/filtersets.py:570
+#: netbox/tenancy/filtersets.py:252
msgid "Tenant (slug)"
-msgstr "租户(slug)"
+msgstr "租户(缩写)"
-#: dcim/filtersets.py:1910 dcim/forms/filtersets.py:996
+#: netbox/dcim/filtersets.py:1921 netbox/dcim/forms/filtersets.py:1008
msgid "Unterminated"
-msgstr "未终止"
+msgstr "未接终端"
-#: dcim/filtersets.py:2168
+#: netbox/dcim/filtersets.py:2179
msgid "Power panel (ID)"
-msgstr "电源面板 (ID)"
+msgstr "电源面板(ID)"
-#: dcim/forms/bulk_create.py:40 extras/forms/filtersets.py:410
-#: extras/forms/model_forms.py:443 extras/forms/model_forms.py:495
-#: netbox/forms/base.py:84 netbox/forms/mixins.py:81
-#: netbox/tables/columns.py:458
-#: templates/circuits/inc/circuit_termination.html:32
-#: templates/generic/bulk_edit.html:65 templates/inc/panels/tags.html:5
-#: utilities/forms/fields/fields.py:81
+#: netbox/dcim/forms/bulk_create.py:40 netbox/extras/forms/filtersets.py:410
+#: netbox/extras/forms/model_forms.py:443
+#: netbox/extras/forms/model_forms.py:495 netbox/netbox/forms/base.py:84
+#: netbox/netbox/forms/mixins.py:81 netbox/netbox/tables/columns.py:461
+#: netbox/templates/circuits/inc/circuit_termination.html:32
+#: netbox/templates/generic/bulk_edit.html:65
+#: netbox/templates/inc/panels/tags.html:5
+#: netbox/utilities/forms/fields/fields.py:81
msgid "Tags"
msgstr "标签"
-#: dcim/forms/bulk_create.py:112 dcim/forms/filtersets.py:1396
-#: dcim/forms/model_forms.py:431 dcim/forms/model_forms.py:486
-#: dcim/forms/object_create.py:197 dcim/forms/object_create.py:353
-#: dcim/tables/devices.py:170 dcim/tables/devices.py:702
-#: dcim/tables/devicetypes.py:242 templates/dcim/device.html:42
-#: templates/dcim/device.html:129 templates/dcim/modulebay.html:34
-#: templates/dcim/virtualchassis.html:66
-#: templates/dcim/virtualchassis_edit.html:55
+#: netbox/dcim/forms/bulk_create.py:112 netbox/dcim/forms/filtersets.py:1408
+#: netbox/dcim/forms/model_forms.py:431 netbox/dcim/forms/model_forms.py:489
+#: netbox/dcim/forms/object_create.py:197
+#: netbox/dcim/forms/object_create.py:353 netbox/dcim/tables/devices.py:162
+#: netbox/dcim/tables/devices.py:690 netbox/dcim/tables/devicetypes.py:242
+#: netbox/templates/dcim/device.html:43 netbox/templates/dcim/device.html:131
+#: netbox/templates/dcim/modulebay.html:34
+#: netbox/templates/dcim/virtualchassis.html:66
+#: netbox/templates/dcim/virtualchassis_edit.html:55
msgid "Position"
msgstr "位置"
-#: dcim/forms/bulk_create.py:114
+#: netbox/dcim/forms/bulk_create.py:114
msgid ""
"Alphanumeric ranges are supported. (Must match the number of names being "
"created.)"
-msgstr "支持字母数字范围。(必须与正在创建的名称数量相匹配。)"
+msgstr "支持字母和数字。(必须与正在创建的名称数相匹配)"
-#: dcim/forms/bulk_edit.py:116 dcim/forms/bulk_import.py:99
-#: dcim/forms/model_forms.py:116 dcim/tables/sites.py:89
-#: ipam/filtersets.py:985 ipam/forms/bulk_edit.py:531
-#: ipam/forms/bulk_import.py:444 ipam/forms/model_forms.py:526
-#: ipam/tables/fhrp.py:67 ipam/tables/vlans.py:118 ipam/tables/vlans.py:221
-#: templates/dcim/interface.html:284 templates/dcim/site.html:36
-#: templates/ipam/inc/panels/fhrp_groups.html:23 templates/ipam/vlan.html:27
-#: templates/tenancy/contact.html:21 templates/tenancy/tenant.html:20
-#: templates/users/group.html:6 templates/users/group.html:14
-#: templates/virtualization/cluster.html:29 templates/vpn/tunnel.html:29
-#: templates/wireless/wirelesslan.html:18 tenancy/forms/bulk_edit.py:43
-#: tenancy/forms/bulk_edit.py:94 tenancy/forms/bulk_import.py:40
-#: tenancy/forms/bulk_import.py:81 tenancy/forms/filtersets.py:48
-#: tenancy/forms/filtersets.py:78 tenancy/forms/filtersets.py:97
-#: tenancy/forms/model_forms.py:45 tenancy/forms/model_forms.py:97
-#: tenancy/forms/model_forms.py:122 tenancy/tables/contacts.py:60
-#: tenancy/tables/contacts.py:107 tenancy/tables/tenants.py:42
-#: users/filtersets.py:57 users/filtersets.py:175 users/forms/filtersets.py:32
-#: users/forms/filtersets.py:38 users/forms/filtersets.py:80
-#: virtualization/forms/bulk_edit.py:65 virtualization/forms/bulk_import.py:47
-#: virtualization/forms/filtersets.py:85
-#: virtualization/forms/model_forms.py:66 virtualization/tables/clusters.py:70
-#: vpn/forms/bulk_edit.py:112 vpn/forms/bulk_import.py:158
-#: vpn/forms/filtersets.py:116 vpn/tables/crypto.py:31
-#: vpn/tables/tunnels.py:44 wireless/forms/bulk_edit.py:48
-#: wireless/forms/bulk_import.py:36 wireless/forms/filtersets.py:46
-#: wireless/forms/model_forms.py:40 wireless/tables/wirelesslan.py:48
+#: netbox/dcim/forms/bulk_edit.py:116 netbox/dcim/forms/bulk_import.py:99
+#: netbox/dcim/forms/model_forms.py:116 netbox/dcim/tables/sites.py:89
+#: netbox/ipam/filtersets.py:985 netbox/ipam/forms/bulk_edit.py:531
+#: netbox/ipam/forms/bulk_import.py:444 netbox/ipam/forms/model_forms.py:526
+#: netbox/ipam/tables/fhrp.py:67 netbox/ipam/tables/vlans.py:118
+#: netbox/ipam/tables/vlans.py:221 netbox/templates/dcim/interface.html:284
+#: netbox/templates/dcim/site.html:37
+#: netbox/templates/ipam/inc/panels/fhrp_groups.html:23
+#: netbox/templates/ipam/vlan.html:27 netbox/templates/tenancy/contact.html:21
+#: netbox/templates/tenancy/tenant.html:20 netbox/templates/users/group.html:6
+#: netbox/templates/users/group.html:14
+#: netbox/templates/virtualization/cluster.html:29
+#: netbox/templates/vpn/tunnel.html:29
+#: netbox/templates/wireless/wirelesslan.html:18
+#: netbox/tenancy/forms/bulk_edit.py:43 netbox/tenancy/forms/bulk_edit.py:94
+#: netbox/tenancy/forms/bulk_import.py:40
+#: netbox/tenancy/forms/bulk_import.py:81
+#: netbox/tenancy/forms/filtersets.py:48 netbox/tenancy/forms/filtersets.py:78
+#: netbox/tenancy/forms/filtersets.py:97
+#: netbox/tenancy/forms/model_forms.py:45
+#: netbox/tenancy/forms/model_forms.py:97
+#: netbox/tenancy/forms/model_forms.py:122
+#: netbox/tenancy/tables/contacts.py:60 netbox/tenancy/tables/contacts.py:107
+#: netbox/tenancy/tables/tenants.py:42 netbox/users/filtersets.py:57
+#: netbox/users/filtersets.py:175 netbox/users/forms/filtersets.py:32
+#: netbox/users/forms/filtersets.py:38 netbox/users/forms/filtersets.py:80
+#: netbox/virtualization/forms/bulk_edit.py:65
+#: netbox/virtualization/forms/bulk_import.py:47
+#: netbox/virtualization/forms/filtersets.py:85
+#: netbox/virtualization/forms/model_forms.py:66
+#: netbox/virtualization/tables/clusters.py:70
+#: netbox/vpn/forms/bulk_edit.py:112 netbox/vpn/forms/bulk_import.py:158
+#: netbox/vpn/forms/filtersets.py:116 netbox/vpn/tables/crypto.py:31
+#: netbox/vpn/tables/tunnels.py:44 netbox/wireless/forms/bulk_edit.py:48
+#: netbox/wireless/forms/bulk_import.py:36
+#: netbox/wireless/forms/filtersets.py:46
+#: netbox/wireless/forms/model_forms.py:40
+#: netbox/wireless/tables/wirelesslan.py:48
msgid "Group"
-msgstr "小组"
+msgstr "组"
-#: dcim/forms/bulk_edit.py:131
+#: netbox/dcim/forms/bulk_edit.py:131
msgid "Contact name"
-msgstr "联系人姓名"
+msgstr "联系人名字"
-#: dcim/forms/bulk_edit.py:136
+#: netbox/dcim/forms/bulk_edit.py:136
msgid "Contact phone"
-msgstr "联系电话"
+msgstr "联系人手机"
-#: dcim/forms/bulk_edit.py:142
+#: netbox/dcim/forms/bulk_edit.py:142
msgid "Contact E-mail"
-msgstr "联系人邮箱"
+msgstr "联系人电子邮箱"
-#: dcim/forms/bulk_edit.py:145 dcim/forms/bulk_import.py:122
-#: dcim/forms/model_forms.py:127
+#: netbox/dcim/forms/bulk_edit.py:145 netbox/dcim/forms/bulk_import.py:122
+#: netbox/dcim/forms/model_forms.py:127
msgid "Time zone"
msgstr "时区"
-#: dcim/forms/bulk_edit.py:267 dcim/forms/bulk_edit.py:1160
-#: dcim/forms/bulk_edit.py:1548 dcim/forms/bulk_import.py:207
-#: dcim/forms/bulk_import.py:1021 dcim/forms/filtersets.py:300
-#: dcim/forms/filtersets.py:706 dcim/forms/filtersets.py:1426
-#: dcim/forms/model_forms.py:219 dcim/forms/model_forms.py:1015
-#: dcim/forms/model_forms.py:1454 dcim/forms/object_import.py:181
-#: dcim/tables/devices.py:174 dcim/tables/devices.py:810
-#: dcim/tables/devices.py:921 dcim/tables/devicetypes.py:300
-#: dcim/tables/racks.py:69 extras/filtersets.py:504
-#: ipam/forms/bulk_edit.py:246 ipam/forms/bulk_edit.py:295
-#: ipam/forms/bulk_edit.py:343 ipam/forms/bulk_edit.py:549
-#: ipam/forms/bulk_import.py:196 ipam/forms/bulk_import.py:261
-#: ipam/forms/bulk_import.py:297 ipam/forms/bulk_import.py:463
-#: ipam/forms/filtersets.py:237 ipam/forms/filtersets.py:289
-#: ipam/forms/filtersets.py:360 ipam/forms/filtersets.py:516
-#: ipam/forms/model_forms.py:186 ipam/forms/model_forms.py:219
-#: ipam/forms/model_forms.py:248 ipam/forms/model_forms.py:689
-#: ipam/tables/ip.py:257 ipam/tables/ip.py:313 ipam/tables/ip.py:363
-#: ipam/tables/vlans.py:126 ipam/tables/vlans.py:230
-#: templates/dcim/device.html:179
-#: templates/dcim/inc/panels/inventory_items.html:20
-#: templates/dcim/interface.html:223 templates/dcim/inventoryitem.html:36
-#: templates/dcim/rack.html:47 templates/ipam/ipaddress.html:41
-#: templates/ipam/iprange.html:50 templates/ipam/prefix.html:77
-#: templates/ipam/role.html:19 templates/ipam/vlan.html:52
-#: templates/virtualization/virtualmachine.html:23
-#: templates/vpn/tunneltermination.html:17
-#: templates/wireless/inc/wirelesslink_interface.html:20
-#: tenancy/forms/bulk_edit.py:142 tenancy/forms/filtersets.py:107
-#: tenancy/forms/model_forms.py:137 tenancy/tables/contacts.py:102
-#: virtualization/forms/bulk_edit.py:145
-#: virtualization/forms/bulk_import.py:106
-#: virtualization/forms/filtersets.py:157
-#: virtualization/forms/model_forms.py:195
-#: virtualization/tables/virtualmachines.py:74 vpn/forms/bulk_edit.py:87
-#: vpn/forms/bulk_import.py:81 vpn/forms/filtersets.py:85
-#: vpn/forms/model_forms.py:78 vpn/forms/model_forms.py:113
-#: vpn/tables/tunnels.py:82
+#: netbox/dcim/forms/bulk_edit.py:267 netbox/dcim/forms/bulk_edit.py:1160
+#: netbox/dcim/forms/bulk_edit.py:1548 netbox/dcim/forms/bulk_import.py:204
+#: netbox/dcim/forms/bulk_import.py:1015 netbox/dcim/forms/filtersets.py:301
+#: netbox/dcim/forms/filtersets.py:708 netbox/dcim/forms/filtersets.py:1438
+#: netbox/dcim/forms/model_forms.py:219 netbox/dcim/forms/model_forms.py:1018
+#: netbox/dcim/forms/model_forms.py:1457
+#: netbox/dcim/forms/object_import.py:181 netbox/dcim/tables/devices.py:166
+#: netbox/dcim/tables/devices.py:792 netbox/dcim/tables/devices.py:903
+#: netbox/dcim/tables/devicetypes.py:300 netbox/dcim/tables/racks.py:69
+#: netbox/extras/filtersets.py:504 netbox/ipam/forms/bulk_edit.py:246
+#: netbox/ipam/forms/bulk_edit.py:295 netbox/ipam/forms/bulk_edit.py:343
+#: netbox/ipam/forms/bulk_edit.py:549 netbox/ipam/forms/bulk_import.py:196
+#: netbox/ipam/forms/bulk_import.py:261 netbox/ipam/forms/bulk_import.py:297
+#: netbox/ipam/forms/bulk_import.py:463 netbox/ipam/forms/filtersets.py:237
+#: netbox/ipam/forms/filtersets.py:289 netbox/ipam/forms/filtersets.py:360
+#: netbox/ipam/forms/filtersets.py:516 netbox/ipam/forms/model_forms.py:186
+#: netbox/ipam/forms/model_forms.py:219 netbox/ipam/forms/model_forms.py:248
+#: netbox/ipam/forms/model_forms.py:689 netbox/ipam/tables/ip.py:257
+#: netbox/ipam/tables/ip.py:313 netbox/ipam/tables/ip.py:363
+#: netbox/ipam/tables/vlans.py:126 netbox/ipam/tables/vlans.py:230
+#: netbox/templates/dcim/device.html:182
+#: netbox/templates/dcim/inc/panels/inventory_items.html:20
+#: netbox/templates/dcim/interface.html:223
+#: netbox/templates/dcim/inventoryitem.html:36
+#: netbox/templates/dcim/rack.html:47 netbox/templates/ipam/ipaddress.html:41
+#: netbox/templates/ipam/iprange.html:50 netbox/templates/ipam/prefix.html:77
+#: netbox/templates/ipam/role.html:19 netbox/templates/ipam/vlan.html:52
+#: netbox/templates/virtualization/virtualmachine.html:23
+#: netbox/templates/vpn/tunneltermination.html:17
+#: netbox/templates/wireless/inc/wirelesslink_interface.html:20
+#: netbox/tenancy/forms/bulk_edit.py:142
+#: netbox/tenancy/forms/filtersets.py:107
+#: netbox/tenancy/forms/model_forms.py:137
+#: netbox/tenancy/tables/contacts.py:102
+#: netbox/virtualization/forms/bulk_edit.py:145
+#: netbox/virtualization/forms/bulk_import.py:106
+#: netbox/virtualization/forms/filtersets.py:157
+#: netbox/virtualization/forms/model_forms.py:195
+#: netbox/virtualization/tables/virtualmachines.py:74
+#: netbox/vpn/forms/bulk_edit.py:87 netbox/vpn/forms/bulk_import.py:81
+#: netbox/vpn/forms/filtersets.py:85 netbox/vpn/forms/model_forms.py:78
+#: netbox/vpn/forms/model_forms.py:113 netbox/vpn/tables/tunnels.py:82
msgid "Role"
msgstr "角色"
-#: dcim/forms/bulk_edit.py:274 dcim/forms/bulk_edit.py:610
-#: dcim/forms/bulk_edit.py:662 templates/dcim/device.html:103
-#: templates/dcim/module.html:74 templates/dcim/modulebay.html:66
-#: templates/dcim/rack.html:55
+#: netbox/dcim/forms/bulk_edit.py:274 netbox/dcim/forms/bulk_edit.py:610
+#: netbox/dcim/forms/bulk_edit.py:662 netbox/templates/dcim/device.html:104
+#: netbox/templates/dcim/module.html:74
+#: netbox/templates/dcim/modulebay.html:66 netbox/templates/dcim/rack.html:55
msgid "Serial Number"
msgstr "序列号"
-#: dcim/forms/bulk_edit.py:277 dcim/forms/filtersets.py:307
-#: dcim/forms/filtersets.py:742 dcim/forms/filtersets.py:886
-#: dcim/forms/filtersets.py:1438
+#: netbox/dcim/forms/bulk_edit.py:277 netbox/dcim/forms/filtersets.py:308
+#: netbox/dcim/forms/filtersets.py:744 netbox/dcim/forms/filtersets.py:898
+#: netbox/dcim/forms/filtersets.py:1450
msgid "Asset tag"
msgstr "资产标签"
-#: dcim/forms/bulk_edit.py:287 dcim/forms/bulk_import.py:220
-#: dcim/forms/filtersets.py:292 templates/dcim/rack.html:86
+#: netbox/dcim/forms/bulk_edit.py:287 netbox/dcim/forms/bulk_import.py:217
+#: netbox/dcim/forms/filtersets.py:293 netbox/templates/dcim/rack.html:86
msgid "Width"
msgstr "宽度"
-#: dcim/forms/bulk_edit.py:293 templates/dcim/devicetype.html:37
+#: netbox/dcim/forms/bulk_edit.py:293 netbox/templates/dcim/devicetype.html:37
msgid "Height (U)"
-msgstr "身高 (U)"
+msgstr "高度(U)"
-#: dcim/forms/bulk_edit.py:298
+#: netbox/dcim/forms/bulk_edit.py:298
msgid "Descending units"
-msgstr "降序单位"
+msgstr "U位显示降序"
-#: dcim/forms/bulk_edit.py:301
+#: netbox/dcim/forms/bulk_edit.py:301
msgid "Outer width"
msgstr "外部宽度"
-#: dcim/forms/bulk_edit.py:306
+#: netbox/dcim/forms/bulk_edit.py:306
msgid "Outer depth"
-msgstr "外层深度"
+msgstr "外部深度"
-#: dcim/forms/bulk_edit.py:311 dcim/forms/bulk_import.py:225
+#: netbox/dcim/forms/bulk_edit.py:311 netbox/dcim/forms/bulk_import.py:222
msgid "Outer unit"
msgstr "外部单元"
-#: dcim/forms/bulk_edit.py:316
+#: netbox/dcim/forms/bulk_edit.py:316
msgid "Mounting depth"
msgstr "安装深度"
-#: dcim/forms/bulk_edit.py:321 dcim/forms/bulk_edit.py:351
-#: dcim/forms/bulk_edit.py:436 dcim/forms/bulk_edit.py:459
-#: dcim/forms/bulk_edit.py:475 dcim/forms/bulk_edit.py:495
-#: dcim/forms/bulk_import.py:332 dcim/forms/bulk_import.py:358
-#: dcim/forms/filtersets.py:251 dcim/forms/filtersets.py:312
-#: dcim/forms/filtersets.py:336 dcim/forms/filtersets.py:423
-#: dcim/forms/filtersets.py:529 dcim/forms/filtersets.py:548
-#: dcim/forms/filtersets.py:604 dcim/forms/model_forms.py:232
-#: dcim/forms/model_forms.py:346 dcim/tables/devicetypes.py:103
-#: dcim/tables/modules.py:35 dcim/tables/racks.py:103
-#: extras/forms/bulk_edit.py:45 extras/forms/bulk_edit.py:108
-#: extras/forms/bulk_edit.py:158 extras/forms/bulk_edit.py:278
-#: extras/forms/filtersets.py:61 extras/forms/filtersets.py:134
-#: extras/forms/filtersets.py:221 ipam/forms/bulk_edit.py:188
-#: templates/dcim/device.html:316 templates/dcim/devicetype.html:49
-#: templates/dcim/moduletype.html:30 templates/extras/configcontext.html:17
-#: templates/extras/customlink.html:25 templates/extras/savedfilter.html:33
-#: templates/ipam/role.html:30
+#: netbox/dcim/forms/bulk_edit.py:321 netbox/dcim/forms/bulk_edit.py:351
+#: netbox/dcim/forms/bulk_edit.py:436 netbox/dcim/forms/bulk_edit.py:459
+#: netbox/dcim/forms/bulk_edit.py:475 netbox/dcim/forms/bulk_edit.py:495
+#: netbox/dcim/forms/bulk_import.py:329 netbox/dcim/forms/bulk_import.py:355
+#: netbox/dcim/forms/filtersets.py:252 netbox/dcim/forms/filtersets.py:313
+#: netbox/dcim/forms/filtersets.py:337 netbox/dcim/forms/filtersets.py:424
+#: netbox/dcim/forms/filtersets.py:530 netbox/dcim/forms/filtersets.py:549
+#: netbox/dcim/forms/filtersets.py:605 netbox/dcim/forms/model_forms.py:232
+#: netbox/dcim/forms/model_forms.py:346 netbox/dcim/tables/devicetypes.py:103
+#: netbox/dcim/tables/modules.py:35 netbox/dcim/tables/racks.py:103
+#: netbox/extras/forms/bulk_edit.py:45 netbox/extras/forms/bulk_edit.py:108
+#: netbox/extras/forms/bulk_edit.py:158 netbox/extras/forms/bulk_edit.py:278
+#: netbox/extras/forms/filtersets.py:61 netbox/extras/forms/filtersets.py:134
+#: netbox/extras/forms/filtersets.py:221 netbox/ipam/forms/bulk_edit.py:188
+#: netbox/templates/dcim/device.html:324
+#: netbox/templates/dcim/devicetype.html:49
+#: netbox/templates/dcim/moduletype.html:30
+#: netbox/templates/extras/configcontext.html:17
+#: netbox/templates/extras/customlink.html:25
+#: netbox/templates/extras/savedfilter.html:33
+#: netbox/templates/ipam/role.html:30
msgid "Weight"
msgstr "重量"
-#: dcim/forms/bulk_edit.py:326 dcim/forms/filtersets.py:317
+#: netbox/dcim/forms/bulk_edit.py:326 netbox/dcim/forms/filtersets.py:318
msgid "Max weight"
-msgstr "最大重量"
+msgstr "最大承重"
-#: dcim/forms/bulk_edit.py:331 dcim/forms/bulk_edit.py:441
-#: dcim/forms/bulk_edit.py:480 dcim/forms/bulk_import.py:231
-#: dcim/forms/bulk_import.py:337 dcim/forms/bulk_import.py:363
-#: dcim/forms/filtersets.py:322 dcim/forms/filtersets.py:533
-#: dcim/forms/filtersets.py:608
+#: netbox/dcim/forms/bulk_edit.py:331 netbox/dcim/forms/bulk_edit.py:441
+#: netbox/dcim/forms/bulk_edit.py:480 netbox/dcim/forms/bulk_import.py:228
+#: netbox/dcim/forms/bulk_import.py:334 netbox/dcim/forms/bulk_import.py:360
+#: netbox/dcim/forms/filtersets.py:323 netbox/dcim/forms/filtersets.py:534
+#: netbox/dcim/forms/filtersets.py:609
msgid "Weight unit"
msgstr "重量单位"
-#: dcim/forms/bulk_edit.py:345 dcim/forms/bulk_edit.py:808
-#: dcim/forms/bulk_import.py:270 dcim/forms/bulk_import.py:273
-#: dcim/forms/bulk_import.py:498 dcim/forms/bulk_import.py:1309
-#: dcim/forms/bulk_import.py:1313 dcim/forms/filtersets.py:102
-#: dcim/forms/filtersets.py:340 dcim/forms/filtersets.py:354
-#: dcim/forms/filtersets.py:392 dcim/forms/filtersets.py:701
-#: dcim/forms/filtersets.py:954 dcim/forms/filtersets.py:1086
-#: dcim/forms/model_forms.py:226 dcim/forms/model_forms.py:248
-#: dcim/forms/model_forms.py:422 dcim/forms/model_forms.py:700
-#: dcim/forms/object_create.py:400 dcim/tables/devices.py:166
-#: dcim/tables/power.py:70 dcim/tables/racks.py:148
-#: ipam/forms/bulk_edit.py:465 ipam/forms/filtersets.py:442
-#: ipam/forms/model_forms.py:610 templates/dcim/device.html:29
-#: templates/dcim/inc/cable_termination.html:16
-#: templates/dcim/powerfeed.html:28 templates/dcim/rack.html:13
-#: templates/dcim/rack/base.html:4 templates/dcim/rackreservation.html:19
-#: templates/dcim/rackreservation.html:36
-#: virtualization/forms/model_forms.py:113
+#: netbox/dcim/forms/bulk_edit.py:345 netbox/dcim/forms/bulk_edit.py:808
+#: netbox/dcim/forms/bulk_import.py:267 netbox/dcim/forms/bulk_import.py:270
+#: netbox/dcim/forms/bulk_import.py:492 netbox/dcim/forms/bulk_import.py:1297
+#: netbox/dcim/forms/bulk_import.py:1301 netbox/dcim/forms/filtersets.py:103
+#: netbox/dcim/forms/filtersets.py:341 netbox/dcim/forms/filtersets.py:355
+#: netbox/dcim/forms/filtersets.py:393 netbox/dcim/forms/filtersets.py:703
+#: netbox/dcim/forms/filtersets.py:966 netbox/dcim/forms/filtersets.py:1098
+#: netbox/dcim/forms/model_forms.py:226 netbox/dcim/forms/model_forms.py:248
+#: netbox/dcim/forms/model_forms.py:422 netbox/dcim/forms/model_forms.py:703
+#: netbox/dcim/forms/object_create.py:400 netbox/dcim/tables/devices.py:158
+#: netbox/dcim/tables/power.py:70 netbox/dcim/tables/racks.py:148
+#: netbox/ipam/forms/bulk_edit.py:465 netbox/ipam/forms/filtersets.py:442
+#: netbox/ipam/forms/model_forms.py:610 netbox/templates/dcim/device.html:30
+#: netbox/templates/dcim/inc/cable_termination.html:16
+#: netbox/templates/dcim/powerfeed.html:28 netbox/templates/dcim/rack.html:13
+#: netbox/templates/dcim/rack/base.html:4
+#: netbox/templates/dcim/rackreservation.html:19
+#: netbox/templates/dcim/rackreservation.html:36
+#: netbox/virtualization/forms/model_forms.py:113
msgid "Rack"
-msgstr "机架"
+msgstr "机柜"
-#: dcim/forms/bulk_edit.py:349 dcim/forms/bulk_edit.py:628
-#: dcim/forms/filtersets.py:248 dcim/forms/filtersets.py:333
-#: dcim/forms/filtersets.py:416 dcim/forms/filtersets.py:543
-#: dcim/forms/filtersets.py:651 dcim/forms/filtersets.py:861
-#: dcim/forms/model_forms.py:610 dcim/forms/model_forms.py:1524
-#: templates/dcim/device_edit.html:20
+#: netbox/dcim/forms/bulk_edit.py:349 netbox/dcim/forms/bulk_edit.py:628
+#: netbox/dcim/forms/filtersets.py:249 netbox/dcim/forms/filtersets.py:334
+#: netbox/dcim/forms/filtersets.py:417 netbox/dcim/forms/filtersets.py:544
+#: netbox/dcim/forms/filtersets.py:652 netbox/dcim/forms/filtersets.py:873
+#: netbox/dcim/forms/model_forms.py:613 netbox/dcim/forms/model_forms.py:1527
+#: netbox/templates/dcim/device_edit.html:20
msgid "Hardware"
msgstr "硬件"
-#: dcim/forms/bulk_edit.py:402 dcim/forms/bulk_edit.py:466
-#: dcim/forms/bulk_edit.py:530 dcim/forms/bulk_edit.py:554
-#: dcim/forms/bulk_edit.py:638 dcim/forms/bulk_edit.py:1165
-#: dcim/forms/bulk_edit.py:1553 dcim/forms/bulk_import.py:319
-#: dcim/forms/bulk_import.py:353 dcim/forms/bulk_import.py:395
-#: dcim/forms/bulk_import.py:431 dcim/forms/bulk_import.py:1027
-#: dcim/forms/filtersets.py:429 dcim/forms/filtersets.py:554
-#: dcim/forms/filtersets.py:630 dcim/forms/filtersets.py:711
-#: dcim/forms/filtersets.py:866 dcim/forms/filtersets.py:1431
-#: dcim/forms/model_forms.py:281 dcim/forms/model_forms.py:293
-#: dcim/forms/model_forms.py:339 dcim/forms/model_forms.py:379
-#: dcim/forms/model_forms.py:1020 dcim/forms/model_forms.py:1459
-#: dcim/forms/object_import.py:187 dcim/tables/devices.py:101
-#: dcim/tables/devices.py:177 dcim/tables/devices.py:924
-#: dcim/tables/devicetypes.py:81 dcim/tables/devicetypes.py:304
-#: dcim/tables/modules.py:20 dcim/tables/modules.py:60
-#: templates/dcim/devicetype.html:14 templates/dcim/inventoryitem.html:44
-#: templates/dcim/manufacturer.html:33 templates/dcim/modulebay.html:58
-#: templates/dcim/moduletype.html:14 templates/dcim/platform.html:37
+#: netbox/dcim/forms/bulk_edit.py:402 netbox/dcim/forms/bulk_edit.py:466
+#: netbox/dcim/forms/bulk_edit.py:530 netbox/dcim/forms/bulk_edit.py:554
+#: netbox/dcim/forms/bulk_edit.py:638 netbox/dcim/forms/bulk_edit.py:1165
+#: netbox/dcim/forms/bulk_edit.py:1553 netbox/dcim/forms/bulk_import.py:316
+#: netbox/dcim/forms/bulk_import.py:350 netbox/dcim/forms/bulk_import.py:389
+#: netbox/dcim/forms/bulk_import.py:425 netbox/dcim/forms/bulk_import.py:1021
+#: netbox/dcim/forms/filtersets.py:430 netbox/dcim/forms/filtersets.py:555
+#: netbox/dcim/forms/filtersets.py:631 netbox/dcim/forms/filtersets.py:713
+#: netbox/dcim/forms/filtersets.py:878 netbox/dcim/forms/filtersets.py:1443
+#: netbox/dcim/forms/model_forms.py:281 netbox/dcim/forms/model_forms.py:293
+#: netbox/dcim/forms/model_forms.py:339 netbox/dcim/forms/model_forms.py:379
+#: netbox/dcim/forms/model_forms.py:1023 netbox/dcim/forms/model_forms.py:1462
+#: netbox/dcim/forms/object_import.py:187 netbox/dcim/tables/devices.py:93
+#: netbox/dcim/tables/devices.py:169 netbox/dcim/tables/devices.py:906
+#: netbox/dcim/tables/devicetypes.py:81 netbox/dcim/tables/devicetypes.py:304
+#: netbox/dcim/tables/modules.py:20 netbox/dcim/tables/modules.py:60
+#: netbox/templates/dcim/devicetype.html:14
+#: netbox/templates/dcim/inventoryitem.html:44
+#: netbox/templates/dcim/manufacturer.html:33
+#: netbox/templates/dcim/modulebay.html:58
+#: netbox/templates/dcim/moduletype.html:14
+#: netbox/templates/dcim/platform.html:37
msgid "Manufacturer"
-msgstr "制造商"
+msgstr "厂商"
-#: dcim/forms/bulk_edit.py:407 dcim/forms/bulk_import.py:325
-#: dcim/forms/filtersets.py:434 dcim/forms/model_forms.py:297
+#: netbox/dcim/forms/bulk_edit.py:407 netbox/dcim/forms/bulk_import.py:322
+#: netbox/dcim/forms/filtersets.py:435 netbox/dcim/forms/model_forms.py:297
msgid "Default platform"
-msgstr "默认平台"
+msgstr "默认系统平台"
-#: dcim/forms/bulk_edit.py:412 dcim/forms/bulk_edit.py:471
-#: dcim/forms/filtersets.py:437 dcim/forms/filtersets.py:557
+#: netbox/dcim/forms/bulk_edit.py:412 netbox/dcim/forms/bulk_edit.py:471
+#: netbox/dcim/forms/filtersets.py:438 netbox/dcim/forms/filtersets.py:558
msgid "Part number"
-msgstr "零件号"
+msgstr "部件编码(PN)"
-#: dcim/forms/bulk_edit.py:416
+#: netbox/dcim/forms/bulk_edit.py:416
msgid "U height"
-msgstr "U 形高度"
+msgstr "U高度"
-#: dcim/forms/bulk_edit.py:428
+#: netbox/dcim/forms/bulk_edit.py:428
msgid "Exclude from utilization"
-msgstr "排除在使用范围之外"
+msgstr "从利用率中排除"
-#: dcim/forms/bulk_edit.py:431 dcim/forms/bulk_edit.py:603
-#: dcim/forms/bulk_import.py:525 dcim/forms/filtersets.py:446
-#: dcim/forms/filtersets.py:733 templates/dcim/device.html:97
-#: templates/dcim/devicetype.html:65
+#: netbox/dcim/forms/bulk_edit.py:431 netbox/dcim/forms/bulk_edit.py:603
+#: netbox/dcim/forms/bulk_import.py:519 netbox/dcim/forms/filtersets.py:447
+#: netbox/dcim/forms/filtersets.py:735 netbox/templates/dcim/device.html:98
+#: netbox/templates/dcim/devicetype.html:65
msgid "Airflow"
-msgstr "气流"
+msgstr "气流方向"
-#: dcim/forms/bulk_edit.py:457 dcim/forms/model_forms.py:312
-#: dcim/tables/devicetypes.py:78 templates/dcim/device.html:87
-#: templates/dcim/devicebay.html:52 templates/dcim/module.html:58
+#: netbox/dcim/forms/bulk_edit.py:457 netbox/dcim/forms/model_forms.py:312
+#: netbox/dcim/tables/devicetypes.py:78 netbox/templates/dcim/device.html:88
+#: netbox/templates/dcim/devicebay.html:52
+#: netbox/templates/dcim/module.html:58
msgid "Device Type"
-msgstr "设备类型"
+msgstr "设备型号"
-#: dcim/forms/bulk_edit.py:494 dcim/forms/model_forms.py:345
-#: dcim/tables/modules.py:17 dcim/tables/modules.py:65
-#: templates/dcim/module.html:62 templates/dcim/modulebay.html:62
-#: templates/dcim/moduletype.html:11
+#: netbox/dcim/forms/bulk_edit.py:494 netbox/dcim/forms/model_forms.py:345
+#: netbox/dcim/tables/modules.py:17 netbox/dcim/tables/modules.py:65
+#: netbox/templates/dcim/module.html:62
+#: netbox/templates/dcim/modulebay.html:62
+#: netbox/templates/dcim/moduletype.html:11
msgid "Module Type"
-msgstr "模块类型"
+msgstr "设备配件类型"
-#: dcim/forms/bulk_edit.py:508 dcim/models/devices.py:474
+#: netbox/dcim/forms/bulk_edit.py:508 netbox/dcim/models/devices.py:474
msgid "VM role"
-msgstr "虚拟机角色"
+msgstr "VM 角色"
-#: dcim/forms/bulk_edit.py:511 dcim/forms/bulk_edit.py:535
-#: dcim/forms/bulk_edit.py:618 dcim/forms/bulk_import.py:376
-#: dcim/forms/bulk_import.py:380 dcim/forms/bulk_import.py:402
-#: dcim/forms/bulk_import.py:406 dcim/forms/bulk_import.py:531
-#: dcim/forms/bulk_import.py:535 dcim/forms/filtersets.py:619
-#: dcim/forms/filtersets.py:635 dcim/forms/filtersets.py:752
-#: dcim/forms/model_forms.py:358 dcim/forms/model_forms.py:384
-#: dcim/forms/model_forms.py:495 virtualization/forms/bulk_import.py:132
-#: virtualization/forms/bulk_import.py:133
-#: virtualization/forms/filtersets.py:184
-#: virtualization/forms/model_forms.py:215
+#: netbox/dcim/forms/bulk_edit.py:511 netbox/dcim/forms/bulk_edit.py:535
+#: netbox/dcim/forms/bulk_edit.py:618 netbox/dcim/forms/bulk_import.py:373
+#: netbox/dcim/forms/bulk_import.py:377 netbox/dcim/forms/bulk_import.py:396
+#: netbox/dcim/forms/bulk_import.py:400 netbox/dcim/forms/bulk_import.py:525
+#: netbox/dcim/forms/bulk_import.py:529 netbox/dcim/forms/filtersets.py:620
+#: netbox/dcim/forms/filtersets.py:636 netbox/dcim/forms/filtersets.py:754
+#: netbox/dcim/forms/model_forms.py:358 netbox/dcim/forms/model_forms.py:384
+#: netbox/dcim/forms/model_forms.py:498
+#: netbox/virtualization/forms/bulk_import.py:132
+#: netbox/virtualization/forms/bulk_import.py:133
+#: netbox/virtualization/forms/filtersets.py:184
+#: netbox/virtualization/forms/model_forms.py:215
msgid "Config template"
-msgstr "配置模板"
+msgstr "配置模版"
-#: dcim/forms/bulk_edit.py:559 dcim/forms/bulk_edit.py:959
-#: dcim/forms/bulk_import.py:437 dcim/forms/filtersets.py:112
-#: dcim/forms/model_forms.py:444 dcim/forms/model_forms.py:817
-#: dcim/forms/model_forms.py:834 extras/filtersets.py:499
+#: netbox/dcim/forms/bulk_edit.py:559 netbox/dcim/forms/bulk_edit.py:959
+#: netbox/dcim/forms/bulk_import.py:431 netbox/dcim/forms/filtersets.py:113
+#: netbox/dcim/forms/model_forms.py:444 netbox/dcim/forms/model_forms.py:820
+#: netbox/dcim/forms/model_forms.py:837 netbox/extras/filtersets.py:499
msgid "Device type"
-msgstr "设备类型"
+msgstr "设备型号"
-#: dcim/forms/bulk_edit.py:570 dcim/forms/bulk_import.py:418
-#: dcim/forms/filtersets.py:117 dcim/forms/model_forms.py:452
+#: netbox/dcim/forms/bulk_edit.py:570 netbox/dcim/forms/bulk_import.py:412
+#: netbox/dcim/forms/filtersets.py:118 netbox/dcim/forms/model_forms.py:452
msgid "Device role"
msgstr "设备角色"
-#: dcim/forms/bulk_edit.py:593 dcim/forms/bulk_import.py:443
-#: dcim/forms/filtersets.py:725 dcim/forms/model_forms.py:394
-#: dcim/forms/model_forms.py:456 dcim/tables/devices.py:187
-#: extras/filtersets.py:515 templates/dcim/device.html:183
-#: templates/dcim/platform.html:26
-#: templates/virtualization/virtualmachine.html:27
-#: virtualization/forms/bulk_edit.py:160
-#: virtualization/forms/bulk_import.py:122
-#: virtualization/forms/filtersets.py:168
-#: virtualization/forms/model_forms.py:203
-#: virtualization/tables/virtualmachines.py:78
+#: netbox/dcim/forms/bulk_edit.py:593 netbox/dcim/forms/bulk_import.py:437
+#: netbox/dcim/forms/filtersets.py:727 netbox/dcim/forms/model_forms.py:394
+#: netbox/dcim/forms/model_forms.py:456 netbox/dcim/tables/devices.py:179
+#: netbox/extras/filtersets.py:515 netbox/templates/dcim/device.html:186
+#: netbox/templates/dcim/platform.html:26
+#: netbox/templates/virtualization/virtualmachine.html:27
+#: netbox/virtualization/forms/bulk_edit.py:160
+#: netbox/virtualization/forms/bulk_import.py:122
+#: netbox/virtualization/forms/filtersets.py:168
+#: netbox/virtualization/forms/model_forms.py:203
+#: netbox/virtualization/tables/virtualmachines.py:78
msgid "Platform"
msgstr "平台"
-#: dcim/forms/bulk_edit.py:626 dcim/forms/bulk_edit.py:1179
-#: dcim/forms/bulk_edit.py:1543 dcim/forms/bulk_edit.py:1589
-#: dcim/forms/bulk_import.py:586 dcim/forms/bulk_import.py:648
-#: dcim/forms/bulk_import.py:674 dcim/forms/bulk_import.py:700
-#: dcim/forms/bulk_import.py:720 dcim/forms/bulk_import.py:773
-#: dcim/forms/bulk_import.py:891 dcim/forms/bulk_import.py:939
-#: dcim/forms/bulk_import.py:956 dcim/forms/bulk_import.py:968
-#: dcim/forms/bulk_import.py:1016 dcim/forms/bulk_import.py:1373
-#: dcim/forms/connections.py:24 dcim/forms/filtersets.py:129
-#: dcim/forms/filtersets.py:840 dcim/forms/filtersets.py:970
-#: dcim/forms/filtersets.py:1160 dcim/forms/filtersets.py:1182
-#: dcim/forms/filtersets.py:1204 dcim/forms/filtersets.py:1221
-#: dcim/forms/filtersets.py:1241 dcim/forms/filtersets.py:1349
-#: dcim/forms/filtersets.py:1371 dcim/forms/filtersets.py:1392
-#: dcim/forms/filtersets.py:1407 dcim/forms/filtersets.py:1421
-#: dcim/forms/filtersets.py:1484 dcim/forms/filtersets.py:1508
-#: dcim/forms/filtersets.py:1532 dcim/forms/model_forms.py:573
-#: dcim/forms/model_forms.py:794 dcim/forms/model_forms.py:1153
-#: dcim/forms/model_forms.py:1608 dcim/forms/object_create.py:257
-#: dcim/tables/connections.py:22 dcim/tables/connections.py:41
-#: dcim/tables/connections.py:60 dcim/tables/devices.py:290
-#: dcim/tables/devices.py:359 dcim/tables/devices.py:403
-#: dcim/tables/devices.py:448 dcim/tables/devices.py:502
-#: dcim/tables/devices.py:594 dcim/tables/devices.py:692
-#: dcim/tables/devices.py:752 dcim/tables/devices.py:802
-#: dcim/tables/devices.py:862 dcim/tables/devices.py:914
-#: dcim/tables/devices.py:1040 dcim/tables/modules.py:52
-#: extras/forms/filtersets.py:330 ipam/forms/bulk_import.py:303
-#: ipam/forms/bulk_import.py:489 ipam/forms/filtersets.py:558
-#: ipam/forms/model_forms.py:317 ipam/forms/model_forms.py:725
-#: ipam/forms/model_forms.py:758 ipam/forms/model_forms.py:784
-#: ipam/tables/vlans.py:176 templates/dcim/consoleport.html:20
-#: templates/dcim/consoleserverport.html:20 templates/dcim/device.html:14
-#: templates/dcim/device.html:128 templates/dcim/device_edit.html:10
-#: templates/dcim/devicebay.html:20 templates/dcim/devicebay.html:48
-#: templates/dcim/frontport.html:20 templates/dcim/interface.html:30
-#: templates/dcim/interface.html:161 templates/dcim/inventoryitem.html:20
-#: templates/dcim/module.html:54 templates/dcim/modulebay.html:20
-#: templates/dcim/poweroutlet.html:20 templates/dcim/powerport.html:20
-#: templates/dcim/rearport.html:20 templates/dcim/virtualchassis.html:65
-#: templates/dcim/virtualchassis_edit.html:51
-#: templates/dcim/virtualdevicecontext.html:22
-#: templates/virtualization/virtualmachine.html:110
-#: templates/vpn/tunneltermination.html:23
-#: templates/wireless/inc/wirelesslink_interface.html:6
-#: virtualization/filtersets.py:167 virtualization/forms/bulk_edit.py:137
-#: virtualization/forms/bulk_import.py:99
-#: virtualization/forms/filtersets.py:128
-#: virtualization/forms/model_forms.py:185
-#: virtualization/tables/virtualmachines.py:70 vpn/choices.py:44
-#: vpn/forms/bulk_import.py:86 vpn/forms/bulk_import.py:283
-#: vpn/forms/filtersets.py:275 vpn/forms/model_forms.py:90
-#: vpn/forms/model_forms.py:125 vpn/forms/model_forms.py:236
-#: vpn/forms/model_forms.py:453 wireless/forms/model_forms.py:99
-#: wireless/forms/model_forms.py:141 wireless/tables/wirelesslan.py:75
+#: netbox/dcim/forms/bulk_edit.py:626 netbox/dcim/forms/bulk_edit.py:1179
+#: netbox/dcim/forms/bulk_edit.py:1543 netbox/dcim/forms/bulk_edit.py:1589
+#: netbox/dcim/forms/bulk_import.py:580 netbox/dcim/forms/bulk_import.py:642
+#: netbox/dcim/forms/bulk_import.py:668 netbox/dcim/forms/bulk_import.py:694
+#: netbox/dcim/forms/bulk_import.py:714 netbox/dcim/forms/bulk_import.py:767
+#: netbox/dcim/forms/bulk_import.py:885 netbox/dcim/forms/bulk_import.py:933
+#: netbox/dcim/forms/bulk_import.py:950 netbox/dcim/forms/bulk_import.py:962
+#: netbox/dcim/forms/bulk_import.py:1010 netbox/dcim/forms/bulk_import.py:1361
+#: netbox/dcim/forms/connections.py:24 netbox/dcim/forms/filtersets.py:130
+#: netbox/dcim/forms/filtersets.py:852 netbox/dcim/forms/filtersets.py:982
+#: netbox/dcim/forms/filtersets.py:1172 netbox/dcim/forms/filtersets.py:1194
+#: netbox/dcim/forms/filtersets.py:1216 netbox/dcim/forms/filtersets.py:1233
+#: netbox/dcim/forms/filtersets.py:1253 netbox/dcim/forms/filtersets.py:1361
+#: netbox/dcim/forms/filtersets.py:1383 netbox/dcim/forms/filtersets.py:1404
+#: netbox/dcim/forms/filtersets.py:1419 netbox/dcim/forms/filtersets.py:1433
+#: netbox/dcim/forms/filtersets.py:1496 netbox/dcim/forms/filtersets.py:1520
+#: netbox/dcim/forms/filtersets.py:1544 netbox/dcim/forms/model_forms.py:576
+#: netbox/dcim/forms/model_forms.py:797 netbox/dcim/forms/model_forms.py:1156
+#: netbox/dcim/forms/model_forms.py:1611
+#: netbox/dcim/forms/object_create.py:257 netbox/dcim/tables/connections.py:22
+#: netbox/dcim/tables/connections.py:41 netbox/dcim/tables/connections.py:60
+#: netbox/dcim/tables/devices.py:282 netbox/dcim/tables/devices.py:359
+#: netbox/dcim/tables/devices.py:400 netbox/dcim/tables/devices.py:442
+#: netbox/dcim/tables/devices.py:493 netbox/dcim/tables/devices.py:582
+#: netbox/dcim/tables/devices.py:680 netbox/dcim/tables/devices.py:737
+#: netbox/dcim/tables/devices.py:784 netbox/dcim/tables/devices.py:844
+#: netbox/dcim/tables/devices.py:896 netbox/dcim/tables/devices.py:1022
+#: netbox/dcim/tables/modules.py:52 netbox/extras/forms/filtersets.py:330
+#: netbox/ipam/forms/bulk_import.py:303 netbox/ipam/forms/bulk_import.py:489
+#: netbox/ipam/forms/filtersets.py:558 netbox/ipam/forms/model_forms.py:317
+#: netbox/ipam/forms/model_forms.py:725 netbox/ipam/forms/model_forms.py:758
+#: netbox/ipam/forms/model_forms.py:784 netbox/ipam/tables/vlans.py:176
+#: netbox/templates/dcim/consoleport.html:20
+#: netbox/templates/dcim/consoleserverport.html:20
+#: netbox/templates/dcim/device.html:15 netbox/templates/dcim/device.html:130
+#: netbox/templates/dcim/device_edit.html:10
+#: netbox/templates/dcim/devicebay.html:20
+#: netbox/templates/dcim/devicebay.html:48
+#: netbox/templates/dcim/frontport.html:20
+#: netbox/templates/dcim/interface.html:30
+#: netbox/templates/dcim/interface.html:161
+#: netbox/templates/dcim/inventoryitem.html:20
+#: netbox/templates/dcim/module.html:54
+#: netbox/templates/dcim/modulebay.html:20
+#: netbox/templates/dcim/poweroutlet.html:20
+#: netbox/templates/dcim/powerport.html:20
+#: netbox/templates/dcim/rearport.html:20
+#: netbox/templates/dcim/virtualchassis.html:65
+#: netbox/templates/dcim/virtualchassis_edit.html:51
+#: netbox/templates/dcim/virtualdevicecontext.html:22
+#: netbox/templates/virtualization/virtualmachine.html:110
+#: netbox/templates/vpn/tunneltermination.html:23
+#: netbox/templates/wireless/inc/wirelesslink_interface.html:6
+#: netbox/virtualization/filtersets.py:167
+#: netbox/virtualization/forms/bulk_edit.py:137
+#: netbox/virtualization/forms/bulk_import.py:99
+#: netbox/virtualization/forms/filtersets.py:128
+#: netbox/virtualization/forms/model_forms.py:185
+#: netbox/virtualization/tables/virtualmachines.py:70 netbox/vpn/choices.py:44
+#: netbox/vpn/forms/bulk_import.py:86 netbox/vpn/forms/bulk_import.py:283
+#: netbox/vpn/forms/filtersets.py:275 netbox/vpn/forms/model_forms.py:90
+#: netbox/vpn/forms/model_forms.py:125 netbox/vpn/forms/model_forms.py:236
+#: netbox/vpn/forms/model_forms.py:453 netbox/wireless/forms/model_forms.py:99
+#: netbox/wireless/forms/model_forms.py:141
+#: netbox/wireless/tables/wirelesslan.py:75
msgid "Device"
msgstr "设备"
-#: dcim/forms/bulk_edit.py:629 templates/extras/dashboard/widget_config.html:7
-#: virtualization/forms/bulk_edit.py:191
+#: netbox/dcim/forms/bulk_edit.py:629
+#: netbox/templates/extras/dashboard/widget_config.html:7
+#: netbox/virtualization/forms/bulk_edit.py:191
msgid "Configuration"
msgstr "配置"
-#: dcim/forms/bulk_edit.py:643 dcim/forms/bulk_import.py:598
-#: dcim/forms/model_forms.py:587 dcim/forms/model_forms.py:842
+#: netbox/dcim/forms/bulk_edit.py:643 netbox/dcim/forms/bulk_import.py:592
+#: netbox/dcim/forms/model_forms.py:590 netbox/dcim/forms/model_forms.py:845
msgid "Module type"
msgstr "模块类型"
-#: dcim/forms/bulk_edit.py:697 dcim/forms/bulk_edit.py:882
-#: dcim/forms/bulk_edit.py:901 dcim/forms/bulk_edit.py:924
-#: dcim/forms/bulk_edit.py:966 dcim/forms/bulk_edit.py:1010
-#: dcim/forms/bulk_edit.py:1061 dcim/forms/bulk_edit.py:1088
-#: dcim/forms/bulk_edit.py:1115 dcim/forms/bulk_edit.py:1133
-#: dcim/forms/bulk_edit.py:1151 dcim/forms/filtersets.py:65
-#: dcim/forms/object_create.py:46 templates/dcim/cable.html:32
-#: templates/dcim/consoleport.html:32 templates/dcim/consoleserverport.html:32
-#: templates/dcim/devicebay.html:28 templates/dcim/frontport.html:32
-#: templates/dcim/inc/panels/inventory_items.html:19
-#: templates/dcim/interface.html:42 templates/dcim/inventoryitem.html:32
-#: templates/dcim/modulebay.html:30 templates/dcim/poweroutlet.html:32
-#: templates/dcim/powerport.html:32 templates/dcim/rearport.html:32
-#: templates/extras/customfield.html:26 templates/generic/bulk_import.html:162
+#: netbox/dcim/forms/bulk_edit.py:697 netbox/dcim/forms/bulk_edit.py:882
+#: netbox/dcim/forms/bulk_edit.py:901 netbox/dcim/forms/bulk_edit.py:924
+#: netbox/dcim/forms/bulk_edit.py:966 netbox/dcim/forms/bulk_edit.py:1010
+#: netbox/dcim/forms/bulk_edit.py:1061 netbox/dcim/forms/bulk_edit.py:1088
+#: netbox/dcim/forms/bulk_edit.py:1115 netbox/dcim/forms/bulk_edit.py:1133
+#: netbox/dcim/forms/bulk_edit.py:1151 netbox/dcim/forms/filtersets.py:66
+#: netbox/dcim/forms/object_create.py:46 netbox/templates/dcim/cable.html:32
+#: netbox/templates/dcim/consoleport.html:32
+#: netbox/templates/dcim/consoleserverport.html:32
+#: netbox/templates/dcim/devicebay.html:28
+#: netbox/templates/dcim/frontport.html:32
+#: netbox/templates/dcim/inc/panels/inventory_items.html:19
+#: netbox/templates/dcim/interface.html:42
+#: netbox/templates/dcim/inventoryitem.html:32
+#: netbox/templates/dcim/modulebay.html:30
+#: netbox/templates/dcim/poweroutlet.html:32
+#: netbox/templates/dcim/powerport.html:32
+#: netbox/templates/dcim/rearport.html:32
+#: netbox/templates/extras/customfield.html:26
+#: netbox/templates/generic/bulk_import.html:162
msgid "Label"
-msgstr "标签"
+msgstr "标记"
-#: dcim/forms/bulk_edit.py:706 dcim/forms/filtersets.py:987
-#: templates/dcim/cable.html:50
+#: netbox/dcim/forms/bulk_edit.py:706 netbox/dcim/forms/filtersets.py:999
+#: netbox/templates/dcim/cable.html:50
msgid "Length"
msgstr "长度"
-#: dcim/forms/bulk_edit.py:711 dcim/forms/bulk_import.py:1174
-#: dcim/forms/bulk_import.py:1177 dcim/forms/filtersets.py:991
+#: netbox/dcim/forms/bulk_edit.py:711 netbox/dcim/forms/bulk_import.py:1165
+#: netbox/dcim/forms/bulk_import.py:1168 netbox/dcim/forms/filtersets.py:1003
msgid "Length unit"
msgstr "长度单位"
-#: dcim/forms/bulk_edit.py:735 templates/dcim/virtualchassis.html:23
+#: netbox/dcim/forms/bulk_edit.py:735
+#: netbox/templates/dcim/virtualchassis.html:23
msgid "Domain"
msgstr "域"
-#: dcim/forms/bulk_edit.py:803 dcim/forms/bulk_import.py:1296
-#: dcim/forms/filtersets.py:1077 dcim/forms/model_forms.py:695
+#: netbox/dcim/forms/bulk_edit.py:803 netbox/dcim/forms/bulk_import.py:1284
+#: netbox/dcim/forms/filtersets.py:1089 netbox/dcim/forms/model_forms.py:698
msgid "Power panel"
-msgstr "电源面板"
+msgstr "电源面版"
-#: dcim/forms/bulk_edit.py:825 dcim/forms/bulk_import.py:1332
-#: dcim/forms/filtersets.py:1099 templates/dcim/powerfeed.html:83
+#: netbox/dcim/forms/bulk_edit.py:825 netbox/dcim/forms/bulk_import.py:1320
+#: netbox/dcim/forms/filtersets.py:1111
+#: netbox/templates/dcim/powerfeed.html:83
msgid "Supply"
msgstr "供应"
-#: dcim/forms/bulk_edit.py:831 dcim/forms/bulk_import.py:1337
-#: dcim/forms/filtersets.py:1104 templates/dcim/powerfeed.html:95
+#: netbox/dcim/forms/bulk_edit.py:831 netbox/dcim/forms/bulk_import.py:1325
+#: netbox/dcim/forms/filtersets.py:1116
+#: netbox/templates/dcim/powerfeed.html:95
msgid "Phase"
-msgstr "阶段"
+msgstr "相位"
-#: dcim/forms/bulk_edit.py:837 dcim/forms/filtersets.py:1109
-#: templates/dcim/powerfeed.html:87
+#: netbox/dcim/forms/bulk_edit.py:837 netbox/dcim/forms/filtersets.py:1121
+#: netbox/templates/dcim/powerfeed.html:87
msgid "Voltage"
msgstr "电压"
-#: dcim/forms/bulk_edit.py:841 dcim/forms/filtersets.py:1113
-#: templates/dcim/powerfeed.html:91
+#: netbox/dcim/forms/bulk_edit.py:841 netbox/dcim/forms/filtersets.py:1125
+#: netbox/templates/dcim/powerfeed.html:91
msgid "Amperage"
-msgstr "安培数"
+msgstr "电流"
-#: dcim/forms/bulk_edit.py:845 dcim/forms/filtersets.py:1117
+#: netbox/dcim/forms/bulk_edit.py:845 netbox/dcim/forms/filtersets.py:1129
msgid "Max utilization"
msgstr "最大利用率"
-#: dcim/forms/bulk_edit.py:934
+#: netbox/dcim/forms/bulk_edit.py:934
msgid "Maximum draw"
-msgstr "最大抽奖量"
+msgstr "最大功率"
-#: dcim/forms/bulk_edit.py:937 dcim/models/device_component_templates.py:256
-#: dcim/models/device_components.py:357
+#: netbox/dcim/forms/bulk_edit.py:937
+#: netbox/dcim/models/device_component_templates.py:256
+#: netbox/dcim/models/device_components.py:357
msgid "Maximum power draw (watts)"
-msgstr "最大功耗(瓦特)"
+msgstr "最大功率(瓦)"
-#: dcim/forms/bulk_edit.py:940
+#: netbox/dcim/forms/bulk_edit.py:940
msgid "Allocated draw"
-msgstr "已分配的抽奖"
+msgstr "分配功率"
-#: dcim/forms/bulk_edit.py:943 dcim/models/device_component_templates.py:263
-#: dcim/models/device_components.py:364
+#: netbox/dcim/forms/bulk_edit.py:943
+#: netbox/dcim/models/device_component_templates.py:263
+#: netbox/dcim/models/device_components.py:364
msgid "Allocated power draw (watts)"
-msgstr "分配的功耗(瓦特)"
+msgstr "分配功率(瓦)"
-#: dcim/forms/bulk_edit.py:976 dcim/forms/bulk_import.py:731
-#: dcim/forms/model_forms.py:898 dcim/forms/model_forms.py:1223
-#: dcim/forms/model_forms.py:1511 dcim/forms/object_import.py:55
+#: netbox/dcim/forms/bulk_edit.py:976 netbox/dcim/forms/bulk_import.py:725
+#: netbox/dcim/forms/model_forms.py:901 netbox/dcim/forms/model_forms.py:1226
+#: netbox/dcim/forms/model_forms.py:1514 netbox/dcim/forms/object_import.py:55
msgid "Power port"
-msgstr "电源端口"
+msgstr "电源接口"
-#: dcim/forms/bulk_edit.py:981 dcim/forms/bulk_import.py:738
+#: netbox/dcim/forms/bulk_edit.py:981 netbox/dcim/forms/bulk_import.py:732
msgid "Feed leg"
-msgstr "喂腿"
+msgstr "馈电线路"
-#: dcim/forms/bulk_edit.py:1027 dcim/forms/bulk_edit.py:1333
+#: netbox/dcim/forms/bulk_edit.py:1027 netbox/dcim/forms/bulk_edit.py:1333
msgid "Management only"
msgstr "仅限管理"
-#: dcim/forms/bulk_edit.py:1037 dcim/forms/bulk_edit.py:1339
-#: dcim/forms/bulk_import.py:821 dcim/forms/filtersets.py:1300
-#: dcim/forms/object_import.py:90
-#: dcim/models/device_component_templates.py:411
-#: dcim/models/device_components.py:671
+#: netbox/dcim/forms/bulk_edit.py:1037 netbox/dcim/forms/bulk_edit.py:1339
+#: netbox/dcim/forms/bulk_import.py:815 netbox/dcim/forms/filtersets.py:1312
+#: netbox/dcim/forms/object_import.py:90
+#: netbox/dcim/models/device_component_templates.py:411
+#: netbox/dcim/models/device_components.py:671
msgid "PoE mode"
-msgstr "PoE 模式"
+msgstr "PoE模式"
-#: dcim/forms/bulk_edit.py:1043 dcim/forms/bulk_edit.py:1345
-#: dcim/forms/bulk_import.py:827 dcim/forms/filtersets.py:1305
-#: dcim/forms/object_import.py:95
-#: dcim/models/device_component_templates.py:417
-#: dcim/models/device_components.py:677
+#: netbox/dcim/forms/bulk_edit.py:1043 netbox/dcim/forms/bulk_edit.py:1345
+#: netbox/dcim/forms/bulk_import.py:821 netbox/dcim/forms/filtersets.py:1317
+#: netbox/dcim/forms/object_import.py:95
+#: netbox/dcim/models/device_component_templates.py:417
+#: netbox/dcim/models/device_components.py:677
msgid "PoE type"
-msgstr "PoE 类型"
+msgstr "PoE类型"
-#: dcim/forms/bulk_edit.py:1049 dcim/forms/filtersets.py:1310
-#: dcim/forms/object_import.py:100
+#: netbox/dcim/forms/bulk_edit.py:1049 netbox/dcim/forms/filtersets.py:1322
+#: netbox/dcim/forms/object_import.py:100
msgid "Wireless role"
msgstr "无线角色"
-#: dcim/forms/bulk_edit.py:1186 dcim/forms/model_forms.py:609
-#: dcim/forms/model_forms.py:1168 dcim/tables/devices.py:313
-#: templates/dcim/consoleport.html:24 templates/dcim/consoleserverport.html:24
-#: templates/dcim/frontport.html:24 templates/dcim/interface.html:34
-#: templates/dcim/module.html:51 templates/dcim/modulebay.html:54
-#: templates/dcim/poweroutlet.html:24 templates/dcim/powerport.html:24
-#: templates/dcim/rearport.html:24
+#: netbox/dcim/forms/bulk_edit.py:1186 netbox/dcim/forms/model_forms.py:612
+#: netbox/dcim/forms/model_forms.py:1171 netbox/dcim/tables/devices.py:305
+#: netbox/templates/dcim/consoleport.html:24
+#: netbox/templates/dcim/consoleserverport.html:24
+#: netbox/templates/dcim/frontport.html:24
+#: netbox/templates/dcim/interface.html:34
+#: netbox/templates/dcim/module.html:51
+#: netbox/templates/dcim/modulebay.html:54
+#: netbox/templates/dcim/poweroutlet.html:24
+#: netbox/templates/dcim/powerport.html:24
+#: netbox/templates/dcim/rearport.html:24
msgid "Module"
msgstr "模块"
-#: dcim/forms/bulk_edit.py:1313 dcim/tables/devices.py:661
-#: templates/dcim/interface.html:110
+#: netbox/dcim/forms/bulk_edit.py:1313 netbox/dcim/tables/devices.py:649
+#: netbox/templates/dcim/interface.html:110
msgid "LAG"
-msgstr "滞后"
+msgstr "链路聚合"
-#: dcim/forms/bulk_edit.py:1318 dcim/forms/model_forms.py:1250
+#: netbox/dcim/forms/bulk_edit.py:1318 netbox/dcim/forms/model_forms.py:1253
msgid "Virtual device contexts"
-msgstr "虚拟设备上下文"
+msgstr "设备虚拟实例"
-#: dcim/forms/bulk_edit.py:1324 dcim/forms/bulk_import.py:659
-#: dcim/forms/bulk_import.py:685 dcim/forms/filtersets.py:1169
-#: dcim/forms/filtersets.py:1191 dcim/forms/filtersets.py:1264
-#: dcim/tables/devices.py:606
-#: templates/circuits/inc/circuit_termination_fields.html:67
-#: templates/dcim/consoleport.html:40 templates/dcim/consoleserverport.html:40
+#: netbox/dcim/forms/bulk_edit.py:1324 netbox/dcim/forms/bulk_import.py:653
+#: netbox/dcim/forms/bulk_import.py:679 netbox/dcim/forms/filtersets.py:1181
+#: netbox/dcim/forms/filtersets.py:1203 netbox/dcim/forms/filtersets.py:1276
+#: netbox/dcim/tables/devices.py:594
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:67
+#: netbox/templates/dcim/consoleport.html:40
+#: netbox/templates/dcim/consoleserverport.html:40
msgid "Speed"
-msgstr "速度"
+msgstr "速率"
-#: dcim/forms/bulk_edit.py:1353 dcim/forms/bulk_import.py:830
-#: templates/vpn/ikepolicy.html:25 templates/vpn/ipsecprofile.html:21
-#: templates/vpn/ipsecprofile.html:48 virtualization/forms/bulk_edit.py:233
-#: virtualization/forms/bulk_import.py:165 vpn/forms/bulk_edit.py:146
-#: vpn/forms/bulk_edit.py:232 vpn/forms/bulk_import.py:176
-#: vpn/forms/bulk_import.py:234 vpn/forms/filtersets.py:135
-#: vpn/forms/filtersets.py:178 vpn/forms/filtersets.py:192
-#: vpn/tables/crypto.py:64 vpn/tables/crypto.py:162
+#: netbox/dcim/forms/bulk_edit.py:1353 netbox/dcim/forms/bulk_import.py:824
+#: netbox/templates/vpn/ikepolicy.html:25
+#: netbox/templates/vpn/ipsecprofile.html:21
+#: netbox/templates/vpn/ipsecprofile.html:48
+#: netbox/virtualization/forms/bulk_edit.py:233
+#: netbox/virtualization/forms/bulk_import.py:165
+#: netbox/vpn/forms/bulk_edit.py:146 netbox/vpn/forms/bulk_edit.py:232
+#: netbox/vpn/forms/bulk_import.py:176 netbox/vpn/forms/bulk_import.py:234
+#: netbox/vpn/forms/filtersets.py:135 netbox/vpn/forms/filtersets.py:178
+#: netbox/vpn/forms/filtersets.py:192 netbox/vpn/tables/crypto.py:64
+#: netbox/vpn/tables/crypto.py:162
msgid "Mode"
msgstr "模式"
-#: dcim/forms/bulk_edit.py:1361 dcim/forms/model_forms.py:1299
-#: ipam/forms/bulk_import.py:177 ipam/forms/filtersets.py:505
-#: ipam/models/vlans.py:84 virtualization/forms/bulk_edit.py:240
-#: virtualization/forms/model_forms.py:321
+#: netbox/dcim/forms/bulk_edit.py:1361 netbox/dcim/forms/model_forms.py:1302
+#: netbox/ipam/forms/bulk_import.py:177 netbox/ipam/forms/filtersets.py:505
+#: netbox/ipam/models/vlans.py:84 netbox/virtualization/forms/bulk_edit.py:240
+#: netbox/virtualization/forms/model_forms.py:321
msgid "VLAN group"
-msgstr "VLAN 组"
+msgstr "VLAN group"
-#: dcim/forms/bulk_edit.py:1369 dcim/forms/model_forms.py:1304
-#: dcim/tables/devices.py:579 virtualization/forms/bulk_edit.py:248
-#: virtualization/forms/model_forms.py:326
+#: netbox/dcim/forms/bulk_edit.py:1369 netbox/dcim/forms/model_forms.py:1307
+#: netbox/dcim/tables/devices.py:567
+#: netbox/virtualization/forms/bulk_edit.py:248
+#: netbox/virtualization/forms/model_forms.py:326
msgid "Untagged VLAN"
-msgstr "未标记的 VLAN"
+msgstr "Untagged VLAN"
-#: dcim/forms/bulk_edit.py:1377 dcim/forms/model_forms.py:1313
-#: dcim/tables/devices.py:585 virtualization/forms/bulk_edit.py:256
-#: virtualization/forms/model_forms.py:335
+#: netbox/dcim/forms/bulk_edit.py:1377 netbox/dcim/forms/model_forms.py:1316
+#: netbox/dcim/tables/devices.py:573
+#: netbox/virtualization/forms/bulk_edit.py:256
+#: netbox/virtualization/forms/model_forms.py:335
msgid "Tagged VLANs"
-msgstr "标记的 VLAN"
+msgstr "Tagged VLANs"
-#: dcim/forms/bulk_edit.py:1387 dcim/forms/model_forms.py:1286
+#: netbox/dcim/forms/bulk_edit.py:1387 netbox/dcim/forms/model_forms.py:1289
msgid "Wireless LAN group"
msgstr "无线局域网组"
-#: dcim/forms/bulk_edit.py:1392 dcim/forms/model_forms.py:1291
-#: dcim/tables/devices.py:615 netbox/navigation/menu.py:133
-#: templates/dcim/interface.html:280 wireless/tables/wirelesslan.py:24
+#: netbox/dcim/forms/bulk_edit.py:1392 netbox/dcim/forms/model_forms.py:1294
+#: netbox/dcim/tables/devices.py:603 netbox/netbox/navigation/menu.py:133
+#: netbox/templates/dcim/interface.html:280
+#: netbox/wireless/tables/wirelesslan.py:24
msgid "Wireless LANs"
msgstr "无线局域网"
-#: dcim/forms/bulk_edit.py:1401 dcim/forms/filtersets.py:1237
-#: dcim/forms/model_forms.py:1334 ipam/forms/bulk_edit.py:271
-#: ipam/forms/bulk_edit.py:362 ipam/forms/filtersets.py:169
-#: templates/dcim/interface.html:122 templates/ipam/prefix.html:95
-#: virtualization/forms/model_forms.py:349
+#: netbox/dcim/forms/bulk_edit.py:1401 netbox/dcim/forms/filtersets.py:1249
+#: netbox/dcim/forms/model_forms.py:1337 netbox/ipam/forms/bulk_edit.py:271
+#: netbox/ipam/forms/bulk_edit.py:362 netbox/ipam/forms/filtersets.py:169
+#: netbox/templates/dcim/interface.html:122
+#: netbox/templates/ipam/prefix.html:95
+#: netbox/virtualization/forms/model_forms.py:349
msgid "Addressing"
msgstr "寻址"
-#: dcim/forms/bulk_edit.py:1402 dcim/forms/filtersets.py:650
-#: dcim/forms/model_forms.py:1335 virtualization/forms/model_forms.py:350
+#: netbox/dcim/forms/bulk_edit.py:1402 netbox/dcim/forms/filtersets.py:651
+#: netbox/dcim/forms/model_forms.py:1338
+#: netbox/virtualization/forms/model_forms.py:350
msgid "Operation"
msgstr "操作"
-#: dcim/forms/bulk_edit.py:1403 dcim/forms/filtersets.py:1238
-#: dcim/forms/model_forms.py:932 dcim/forms/model_forms.py:1337
+#: netbox/dcim/forms/bulk_edit.py:1403 netbox/dcim/forms/filtersets.py:1250
+#: netbox/dcim/forms/model_forms.py:935 netbox/dcim/forms/model_forms.py:1340
msgid "PoE"
msgstr "PoE"
-#: dcim/forms/bulk_edit.py:1404 dcim/forms/model_forms.py:1336
-#: templates/dcim/interface.html:99 virtualization/forms/bulk_edit.py:267
-#: virtualization/forms/model_forms.py:351
+#: netbox/dcim/forms/bulk_edit.py:1404 netbox/dcim/forms/model_forms.py:1339
+#: netbox/templates/dcim/interface.html:99
+#: netbox/virtualization/forms/bulk_edit.py:267
+#: netbox/virtualization/forms/model_forms.py:351
msgid "Related Interfaces"
msgstr "相关接口"
-#: dcim/forms/bulk_edit.py:1405 dcim/forms/model_forms.py:1338
-#: virtualization/forms/bulk_edit.py:268
-#: virtualization/forms/model_forms.py:352
+#: netbox/dcim/forms/bulk_edit.py:1405 netbox/dcim/forms/model_forms.py:1341
+#: netbox/virtualization/forms/bulk_edit.py:268
+#: netbox/virtualization/forms/model_forms.py:352
msgid "802.1Q Switching"
msgstr "802.1Q 交换"
-#: dcim/forms/bulk_edit.py:1467 dcim/forms/bulk_edit.py:1469
+#: netbox/dcim/forms/bulk_edit.py:1467 netbox/dcim/forms/bulk_edit.py:1469
msgid "Interface mode must be specified to assign VLANs"
-msgstr "必须指定接口模式才能分配 VLAN"
+msgstr "该接口模式下,必须指定VLAN"
-#: dcim/forms/bulk_edit.py:1474 dcim/forms/common.py:50
+#: netbox/dcim/forms/bulk_edit.py:1474 netbox/dcim/forms/common.py:50
msgid "An access interface cannot have tagged VLANs assigned."
-msgstr "无法为接入接口分配带标签的 VLAN。"
+msgstr "access接口不允许指定Tag的VLAN"
-#: dcim/forms/bulk_import.py:63
+#: netbox/dcim/forms/bulk_import.py:63
msgid "Name of parent region"
-msgstr "父区域的名称"
+msgstr "上一级区域的名称"
-#: dcim/forms/bulk_import.py:77
+#: netbox/dcim/forms/bulk_import.py:77
msgid "Name of parent site group"
-msgstr "父站点组的名称"
+msgstr "上一级站点组的名称"
-#: dcim/forms/bulk_import.py:96
+#: netbox/dcim/forms/bulk_import.py:96
msgid "Assigned region"
-msgstr "分配的区域"
+msgstr "指定地区"
-#: dcim/forms/bulk_import.py:103 tenancy/forms/bulk_import.py:44
-#: tenancy/forms/bulk_import.py:85 wireless/forms/bulk_import.py:40
+#: netbox/dcim/forms/bulk_import.py:103 netbox/tenancy/forms/bulk_import.py:44
+#: netbox/tenancy/forms/bulk_import.py:85
+#: netbox/wireless/forms/bulk_import.py:40
msgid "Assigned group"
-msgstr "分配的群组"
+msgstr "指定组"
-#: dcim/forms/bulk_import.py:122
+#: netbox/dcim/forms/bulk_import.py:122
msgid "available options"
msgstr "可用选项"
-#: dcim/forms/bulk_import.py:133 dcim/forms/bulk_import.py:488
-#: dcim/forms/bulk_import.py:1293 ipam/forms/bulk_import.py:174
-#: ipam/forms/bulk_import.py:441 virtualization/forms/bulk_import.py:63
-#: virtualization/forms/bulk_import.py:89
+#: netbox/dcim/forms/bulk_import.py:133 netbox/dcim/forms/bulk_import.py:482
+#: netbox/dcim/forms/bulk_import.py:1281 netbox/ipam/forms/bulk_import.py:174
+#: netbox/ipam/forms/bulk_import.py:441
+#: netbox/virtualization/forms/bulk_import.py:63
+#: netbox/virtualization/forms/bulk_import.py:89
msgid "Assigned site"
-msgstr "分配的站点"
+msgstr "指定站点"
-#: dcim/forms/bulk_import.py:140
+#: netbox/dcim/forms/bulk_import.py:140
msgid "Parent location"
-msgstr "家长所在地"
+msgstr "上一级位置"
-#: dcim/forms/bulk_import.py:142
+#: netbox/dcim/forms/bulk_import.py:142
msgid "Location not found."
-msgstr "未找到位置。"
+msgstr "未找到该位置"
-#: dcim/forms/bulk_import.py:199
+#: netbox/dcim/forms/bulk_import.py:196
msgid "Name of assigned tenant"
-msgstr "已分配租户的名称"
+msgstr "指定租户名称"
-#: dcim/forms/bulk_import.py:211
+#: netbox/dcim/forms/bulk_import.py:208
msgid "Name of assigned role"
-msgstr "分配角色的名称"
+msgstr "指定规则名称"
-#: dcim/forms/bulk_import.py:217
+#: netbox/dcim/forms/bulk_import.py:214
msgid "Rack type"
-msgstr "机架类型"
+msgstr "机柜类型"
-#: dcim/forms/bulk_import.py:222
+#: netbox/dcim/forms/bulk_import.py:219
msgid "Rail-to-rail width (in inches)"
-msgstr "轨到轨宽度(以英寸为单位)"
+msgstr "设备安装宽度(英寸)"
-#: dcim/forms/bulk_import.py:228
+#: netbox/dcim/forms/bulk_import.py:225
msgid "Unit for outer dimensions"
-msgstr "外部尺寸单位"
+msgstr "外形尺寸单位"
-#: dcim/forms/bulk_import.py:234
+#: netbox/dcim/forms/bulk_import.py:231
msgid "Unit for rack weights"
-msgstr "机架重量单位"
+msgstr "机柜重量单位"
-#: dcim/forms/bulk_import.py:260
+#: netbox/dcim/forms/bulk_import.py:257
msgid "Parent site"
-msgstr "家长网站"
+msgstr "上一级站点"
-#: dcim/forms/bulk_import.py:267 dcim/forms/bulk_import.py:1306
+#: netbox/dcim/forms/bulk_import.py:264 netbox/dcim/forms/bulk_import.py:1294
msgid "Rack's location (if any)"
-msgstr "机架的位置(如果有)"
+msgstr "机柜所在位置"
-#: dcim/forms/bulk_import.py:276 dcim/forms/model_forms.py:253
-#: dcim/tables/racks.py:153 templates/dcim/rackreservation.html:12
-#: templates/dcim/rackreservation.html:45
+#: netbox/dcim/forms/bulk_import.py:273 netbox/dcim/forms/model_forms.py:253
+#: netbox/dcim/tables/racks.py:153
+#: netbox/templates/dcim/rackreservation.html:12
+#: netbox/templates/dcim/rackreservation.html:45
msgid "Units"
-msgstr "单位"
+msgstr "单元(U)"
-#: dcim/forms/bulk_import.py:279
+#: netbox/dcim/forms/bulk_import.py:276
msgid "Comma-separated list of individual unit numbers"
-msgstr "以逗号分隔的单个单位编号列表"
+msgstr "占用U位号列表,以逗号分隔"
-#: dcim/forms/bulk_import.py:322
+#: netbox/dcim/forms/bulk_import.py:319
msgid "The manufacturer which produces this device type"
-msgstr "生产此设备类型的制造商"
+msgstr "生产这种类型设备的制造商"
-#: dcim/forms/bulk_import.py:329
+#: netbox/dcim/forms/bulk_import.py:326
msgid "The default platform for devices of this type (optional)"
-msgstr "此类设备的默认平台(可选)"
+msgstr "此类型设备的默认平台(可选)"
-#: dcim/forms/bulk_import.py:334
+#: netbox/dcim/forms/bulk_import.py:331
msgid "Device weight"
msgstr "设备重量"
-#: dcim/forms/bulk_import.py:340
+#: netbox/dcim/forms/bulk_import.py:337
msgid "Unit for device weight"
msgstr "设备重量单位"
-#: dcim/forms/bulk_import.py:360
+#: netbox/dcim/forms/bulk_import.py:357
msgid "Module weight"
msgstr "模块重量"
-#: dcim/forms/bulk_import.py:366
+#: netbox/dcim/forms/bulk_import.py:363
msgid "Unit for module weight"
msgstr "模块重量单位"
-#: dcim/forms/bulk_import.py:399
+#: netbox/dcim/forms/bulk_import.py:393
msgid "Limit platform assignments to this manufacturer"
-msgstr "将平台分配限制给该制造商"
+msgstr "限定此系统平台的制造商"
-#: dcim/forms/bulk_import.py:421 dcim/forms/bulk_import.py:1376
-#: tenancy/forms/bulk_import.py:106
+#: netbox/dcim/forms/bulk_import.py:415 netbox/dcim/forms/bulk_import.py:1364
+#: netbox/tenancy/forms/bulk_import.py:106
msgid "Assigned role"
-msgstr "分配的角色"
+msgstr "指定规则"
-#: dcim/forms/bulk_import.py:434
+#: netbox/dcim/forms/bulk_import.py:428
msgid "Device type manufacturer"
-msgstr "设备类型制造商"
+msgstr "设备制造商"
-#: dcim/forms/bulk_import.py:440
+#: netbox/dcim/forms/bulk_import.py:434
msgid "Device type model"
-msgstr "设备类型型号"
+msgstr "设备型号"
-#: dcim/forms/bulk_import.py:447 virtualization/forms/bulk_import.py:126
+#: netbox/dcim/forms/bulk_import.py:441
+#: netbox/virtualization/forms/bulk_import.py:126
msgid "Assigned platform"
-msgstr "分配的平台"
+msgstr "指定系统平台"
-#: dcim/forms/bulk_import.py:455 dcim/forms/bulk_import.py:459
-#: dcim/forms/model_forms.py:476
+#: netbox/dcim/forms/bulk_import.py:449 netbox/dcim/forms/bulk_import.py:453
+#: netbox/dcim/forms/model_forms.py:479
msgid "Virtual chassis"
-msgstr "虚拟机箱"
+msgstr "堆叠"
-#: dcim/forms/bulk_import.py:462 dcim/forms/model_forms.py:465
-#: dcim/tables/devices.py:207 extras/filtersets.py:548
-#: extras/forms/filtersets.py:331 ipam/forms/bulk_edit.py:479
-#: ipam/forms/filtersets.py:415 ipam/forms/filtersets.py:459
-#: ipam/forms/model_forms.py:627 templates/dcim/device.html:231
-#: templates/virtualization/cluster.html:10
-#: templates/virtualization/virtualmachine.html:88
-#: templates/virtualization/virtualmachine.html:97
-#: virtualization/filtersets.py:157 virtualization/filtersets.py:273
-#: virtualization/forms/bulk_edit.py:129
-#: virtualization/forms/bulk_import.py:92
-#: virtualization/forms/filtersets.py:99
-#: virtualization/forms/filtersets.py:123
-#: virtualization/forms/filtersets.py:200
-#: virtualization/forms/model_forms.py:79
-#: virtualization/forms/model_forms.py:176
-#: virtualization/tables/virtualmachines.py:66
+#: netbox/dcim/forms/bulk_import.py:456 netbox/dcim/forms/filtersets.py:659
+#: netbox/dcim/forms/filtersets.py:829 netbox/dcim/forms/model_forms.py:465
+#: netbox/dcim/tables/devices.py:199 netbox/extras/filtersets.py:548
+#: netbox/extras/forms/filtersets.py:331 netbox/ipam/forms/bulk_edit.py:479
+#: netbox/ipam/forms/filtersets.py:415 netbox/ipam/forms/filtersets.py:459
+#: netbox/ipam/forms/model_forms.py:627 netbox/templates/dcim/device.html:239
+#: netbox/templates/virtualization/cluster.html:10
+#: netbox/templates/virtualization/virtualmachine.html:88
+#: netbox/templates/virtualization/virtualmachine.html:97
+#: netbox/virtualization/filtersets.py:157
+#: netbox/virtualization/filtersets.py:273
+#: netbox/virtualization/forms/bulk_edit.py:129
+#: netbox/virtualization/forms/bulk_import.py:92
+#: netbox/virtualization/forms/filtersets.py:99
+#: netbox/virtualization/forms/filtersets.py:123
+#: netbox/virtualization/forms/filtersets.py:200
+#: netbox/virtualization/forms/model_forms.py:79
+#: netbox/virtualization/forms/model_forms.py:176
+#: netbox/virtualization/tables/virtualmachines.py:66
msgid "Cluster"
msgstr "集群"
-#: dcim/forms/bulk_import.py:466
+#: netbox/dcim/forms/bulk_import.py:460
msgid "Virtualization cluster"
msgstr "虚拟化集群"
-#: dcim/forms/bulk_import.py:495
+#: netbox/dcim/forms/bulk_import.py:489
msgid "Assigned location (if any)"
-msgstr "分配的地点(如果有)"
+msgstr "指定位置(如果有)"
-#: dcim/forms/bulk_import.py:502
+#: netbox/dcim/forms/bulk_import.py:496
msgid "Assigned rack (if any)"
-msgstr "分配的机架(如果有)"
+msgstr "指定机柜(如果有)"
-#: dcim/forms/bulk_import.py:505
+#: netbox/dcim/forms/bulk_import.py:499
msgid "Face"
-msgstr "脸"
+msgstr "朝向"
-#: dcim/forms/bulk_import.py:508
+#: netbox/dcim/forms/bulk_import.py:502
msgid "Mounted rack face"
-msgstr "已安装的机架面"
+msgstr "指定安装朝向(前装/后装)"
-#: dcim/forms/bulk_import.py:515
+#: netbox/dcim/forms/bulk_import.py:509
msgid "Parent device (for child devices)"
-msgstr "父设备(适用于子设备)"
+msgstr "上一级设备(用于子设备)"
-#: dcim/forms/bulk_import.py:518
+#: netbox/dcim/forms/bulk_import.py:512
msgid "Device bay"
msgstr "设备托架"
-#: dcim/forms/bulk_import.py:522
+#: netbox/dcim/forms/bulk_import.py:516
msgid "Device bay in which this device is installed (for child devices)"
-msgstr "安装此设备的设备托架(适用于子设备)"
+msgstr "安装此设备的设备托架(用于子设备)"
-#: dcim/forms/bulk_import.py:528
+#: netbox/dcim/forms/bulk_import.py:522
msgid "Airflow direction"
-msgstr "气流方向"
+msgstr "风道方向"
-#: dcim/forms/bulk_import.py:589
+#: netbox/dcim/forms/bulk_import.py:583
msgid "The device in which this module is installed"
msgstr "安装此模块的设备"
-#: dcim/forms/bulk_import.py:592 dcim/forms/model_forms.py:580
+#: netbox/dcim/forms/bulk_import.py:586 netbox/dcim/forms/model_forms.py:583
msgid "Module bay"
-msgstr "模块托架"
+msgstr "设备板卡插槽"
-#: dcim/forms/bulk_import.py:595
+#: netbox/dcim/forms/bulk_import.py:589
msgid "The module bay in which this module is installed"
msgstr "安装此模块的模块托架"
-#: dcim/forms/bulk_import.py:601
+#: netbox/dcim/forms/bulk_import.py:595
msgid "The type of module"
-msgstr "模块的类型"
+msgstr "模块类型"
-#: dcim/forms/bulk_import.py:609 dcim/forms/model_forms.py:596
+#: netbox/dcim/forms/bulk_import.py:603 netbox/dcim/forms/model_forms.py:599
msgid "Replicate components"
-msgstr "复制组件"
+msgstr "填充组件"
-#: dcim/forms/bulk_import.py:611
+#: netbox/dcim/forms/bulk_import.py:605
msgid ""
"Automatically populate components associated with this module type (enabled "
"by default)"
-msgstr "自动填充与此模块类型关联的组件(默认启用)"
+msgstr "自动填充与此模块类型关联的组件(默认情况下启用)"
-#: dcim/forms/bulk_import.py:614 dcim/forms/model_forms.py:602
+#: netbox/dcim/forms/bulk_import.py:608 netbox/dcim/forms/model_forms.py:605
msgid "Adopt components"
-msgstr "采用组件"
+msgstr "选定组件"
-#: dcim/forms/bulk_import.py:616 dcim/forms/model_forms.py:605
+#: netbox/dcim/forms/bulk_import.py:610 netbox/dcim/forms/model_forms.py:608
msgid "Adopt already existing components"
-msgstr "采用现有组件"
+msgstr "选定已经存在的组件"
-#: dcim/forms/bulk_import.py:656 dcim/forms/bulk_import.py:682
-#: dcim/forms/bulk_import.py:708
+#: netbox/dcim/forms/bulk_import.py:650 netbox/dcim/forms/bulk_import.py:676
+#: netbox/dcim/forms/bulk_import.py:702
msgid "Port type"
msgstr "端口类型"
-#: dcim/forms/bulk_import.py:664 dcim/forms/bulk_import.py:690
+#: netbox/dcim/forms/bulk_import.py:658 netbox/dcim/forms/bulk_import.py:684
msgid "Port speed in bps"
-msgstr "以 bps 为单位的端口速度"
+msgstr "端口速率(bps)"
-#: dcim/forms/bulk_import.py:728
+#: netbox/dcim/forms/bulk_import.py:722
msgid "Outlet type"
msgstr "插座类型"
-#: dcim/forms/bulk_import.py:735
+#: netbox/dcim/forms/bulk_import.py:729
msgid "Local power port which feeds this outlet"
-msgstr "为该插座供电的本地电源端口"
+msgstr "该插座供电的电源端口"
-#: dcim/forms/bulk_import.py:741
+#: netbox/dcim/forms/bulk_import.py:735
msgid "Electrical phase (for three-phase circuits)"
-msgstr "电相(用于三相电路)"
+msgstr "相位(用于三相电)"
-#: dcim/forms/bulk_import.py:782 dcim/forms/model_forms.py:1261
-#: virtualization/forms/bulk_import.py:155
-#: virtualization/forms/model_forms.py:305
+#: netbox/dcim/forms/bulk_import.py:776 netbox/dcim/forms/model_forms.py:1264
+#: netbox/virtualization/forms/bulk_import.py:155
+#: netbox/virtualization/forms/model_forms.py:305
msgid "Parent interface"
-msgstr "家长接口"
+msgstr "上一级接口"
-#: dcim/forms/bulk_import.py:789 dcim/forms/model_forms.py:1269
-#: virtualization/forms/bulk_import.py:162
-#: virtualization/forms/model_forms.py:313
+#: netbox/dcim/forms/bulk_import.py:783 netbox/dcim/forms/model_forms.py:1272
+#: netbox/virtualization/forms/bulk_import.py:162
+#: netbox/virtualization/forms/model_forms.py:313
msgid "Bridged interface"
msgstr "桥接接口"
-#: dcim/forms/bulk_import.py:792
+#: netbox/dcim/forms/bulk_import.py:786
msgid "Lag"
-msgstr "滞后"
+msgstr "聚合接口"
-#: dcim/forms/bulk_import.py:796
+#: netbox/dcim/forms/bulk_import.py:790
msgid "Parent LAG interface"
-msgstr "父级 LAG 接口"
+msgstr "上一级聚合接口"
-#: dcim/forms/bulk_import.py:799
+#: netbox/dcim/forms/bulk_import.py:793
msgid "Vdcs"
msgstr "Vdcs"
-#: dcim/forms/bulk_import.py:804
+#: netbox/dcim/forms/bulk_import.py:798
msgid "VDC names separated by commas, encased with double quotes. Example:"
-msgstr "VDC 名称用逗号分隔,用双引号括起来。示例:"
+msgstr "VDC名称,用逗号分隔,用双引号包含。例如:"
-#: dcim/forms/bulk_import.py:810
+#: netbox/dcim/forms/bulk_import.py:804
msgid "Physical medium"
-msgstr "物理介质"
+msgstr "接口类型"
-#: dcim/forms/bulk_import.py:813 dcim/forms/filtersets.py:1271
+#: netbox/dcim/forms/bulk_import.py:807 netbox/dcim/forms/filtersets.py:1283
msgid "Duplex"
msgstr "双工"
-#: dcim/forms/bulk_import.py:818
+#: netbox/dcim/forms/bulk_import.py:812
msgid "Poe mode"
-msgstr "Poe 模式"
+msgstr "POE模式"
-#: dcim/forms/bulk_import.py:824
+#: netbox/dcim/forms/bulk_import.py:818
msgid "Poe type"
-msgstr "Poe 类型"
+msgstr "POE类型"
-#: dcim/forms/bulk_import.py:833 virtualization/forms/bulk_import.py:168
+#: netbox/dcim/forms/bulk_import.py:827
+#: netbox/virtualization/forms/bulk_import.py:168
msgid "IEEE 802.1Q operational mode (for L2 interfaces)"
-msgstr "IEEE 802.1Q 运行模式(适用于 L2 接口)"
+msgstr "端口类型(Access/Tagged/Tagged all,限二层接口)"
-#: dcim/forms/bulk_import.py:840 ipam/forms/bulk_import.py:160
-#: ipam/forms/bulk_import.py:246 ipam/forms/bulk_import.py:282
-#: ipam/forms/filtersets.py:201 ipam/forms/filtersets.py:277
-#: ipam/forms/filtersets.py:336 virtualization/forms/bulk_import.py:175
+#: netbox/dcim/forms/bulk_import.py:834 netbox/ipam/forms/bulk_import.py:160
+#: netbox/ipam/forms/bulk_import.py:246 netbox/ipam/forms/bulk_import.py:282
+#: netbox/ipam/forms/filtersets.py:201 netbox/ipam/forms/filtersets.py:277
+#: netbox/ipam/forms/filtersets.py:336
+#: netbox/virtualization/forms/bulk_import.py:175
msgid "Assigned VRF"
-msgstr "已分配的 VRF"
+msgstr "指定VRF"
-#: dcim/forms/bulk_import.py:843
+#: netbox/dcim/forms/bulk_import.py:837
msgid "Rf role"
-msgstr "射频角色"
+msgstr "射频类型"
-#: dcim/forms/bulk_import.py:846
+#: netbox/dcim/forms/bulk_import.py:840
msgid "Wireless role (AP/station)"
-msgstr "无线角色(AP/电台)"
+msgstr "射频类型(AP/基站)"
-#: dcim/forms/bulk_import.py:882
+#: netbox/dcim/forms/bulk_import.py:876
#, python-brace-format
msgid "VDC {vdc} is not assigned to device {device}"
-msgstr "VDC {vdc} 未分配给设备 {device}"
+msgstr "VDC {vdc} 没有指定给设备 {device}"
-#: dcim/forms/bulk_import.py:896 dcim/forms/model_forms.py:945
-#: dcim/forms/model_forms.py:1519 dcim/forms/object_import.py:117
+#: netbox/dcim/forms/bulk_import.py:890 netbox/dcim/forms/model_forms.py:948
+#: netbox/dcim/forms/model_forms.py:1522
+#: netbox/dcim/forms/object_import.py:117
msgid "Rear port"
-msgstr "后端口"
+msgstr "后置端口"
-#: dcim/forms/bulk_import.py:899
+#: netbox/dcim/forms/bulk_import.py:893
msgid "Corresponding rear port"
-msgstr "对应的后端口"
+msgstr "对应后向端口"
-#: dcim/forms/bulk_import.py:904 dcim/forms/bulk_import.py:945
-#: dcim/forms/bulk_import.py:1164
+#: netbox/dcim/forms/bulk_import.py:898 netbox/dcim/forms/bulk_import.py:939
+#: netbox/dcim/forms/bulk_import.py:1155
msgid "Physical medium classification"
-msgstr "物理介质分类"
+msgstr "端口类型"
-#: dcim/forms/bulk_import.py:973 dcim/tables/devices.py:823
+#: netbox/dcim/forms/bulk_import.py:967 netbox/dcim/tables/devices.py:805
msgid "Installed device"
-msgstr "已安装的设备"
+msgstr "安装设备"
-#: dcim/forms/bulk_import.py:977
+#: netbox/dcim/forms/bulk_import.py:971
msgid "Child device installed within this bay"
-msgstr "儿童设备安装在此托架中"
+msgstr "此托架内安装的子设备"
-#: dcim/forms/bulk_import.py:979
+#: netbox/dcim/forms/bulk_import.py:973
msgid "Child device not found."
-msgstr "未找到子设备。"
+msgstr "子设备未找到"
-#: dcim/forms/bulk_import.py:1037
+#: netbox/dcim/forms/bulk_import.py:1031
msgid "Parent inventory item"
-msgstr "父库存物品"
+msgstr "上一级库存项"
-#: dcim/forms/bulk_import.py:1040
+#: netbox/dcim/forms/bulk_import.py:1034
msgid "Component type"
msgstr "组件类型"
-#: dcim/forms/bulk_import.py:1044
+#: netbox/dcim/forms/bulk_import.py:1038
msgid "Component Type"
msgstr "组件类型"
-#: dcim/forms/bulk_import.py:1047
+#: netbox/dcim/forms/bulk_import.py:1041
msgid "Compnent name"
msgstr "组件名称"
-#: dcim/forms/bulk_import.py:1049
+#: netbox/dcim/forms/bulk_import.py:1043
msgid "Component Name"
msgstr "组件名称"
-#: dcim/forms/bulk_import.py:1091
+#: netbox/dcim/forms/bulk_import.py:1085
#, python-brace-format
msgid "Component not found: {device} - {component_name}"
-msgstr "未找到组件: {device} - {component_name}"
+msgstr "组件未找到: {device} - {component_name}"
-#: dcim/forms/bulk_import.py:1119
+#: netbox/dcim/forms/bulk_import.py:1110
msgid "Side A device"
-msgstr "A 侧设备"
+msgstr "A端设备"
-#: dcim/forms/bulk_import.py:1122 dcim/forms/bulk_import.py:1140
+#: netbox/dcim/forms/bulk_import.py:1113 netbox/dcim/forms/bulk_import.py:1131
msgid "Device name"
-msgstr "设备名称"
+msgstr "设备名字"
-#: dcim/forms/bulk_import.py:1125
+#: netbox/dcim/forms/bulk_import.py:1116
msgid "Side A type"
-msgstr "A 面类型"
+msgstr "A端线缆类型"
-#: dcim/forms/bulk_import.py:1128 dcim/forms/bulk_import.py:1146
+#: netbox/dcim/forms/bulk_import.py:1119 netbox/dcim/forms/bulk_import.py:1137
msgid "Termination type"
-msgstr "终止类型"
+msgstr "线缆接口类型"
-#: dcim/forms/bulk_import.py:1131
+#: netbox/dcim/forms/bulk_import.py:1122
msgid "Side A name"
-msgstr "A 面名字"
+msgstr "A端设备名称"
-#: dcim/forms/bulk_import.py:1132 dcim/forms/bulk_import.py:1150
+#: netbox/dcim/forms/bulk_import.py:1123 netbox/dcim/forms/bulk_import.py:1141
msgid "Termination name"
-msgstr "终止名称"
+msgstr "线缆类型名称"
-#: dcim/forms/bulk_import.py:1137
+#: netbox/dcim/forms/bulk_import.py:1128
msgid "Side B device"
-msgstr "B 侧设备"
+msgstr "B端设备"
-#: dcim/forms/bulk_import.py:1143
+#: netbox/dcim/forms/bulk_import.py:1134
msgid "Side B type"
-msgstr "B 侧型"
+msgstr "B端线缆类型"
-#: dcim/forms/bulk_import.py:1149
+#: netbox/dcim/forms/bulk_import.py:1140
msgid "Side B name"
-msgstr "B 侧名称"
+msgstr "B端设备名称"
-#: dcim/forms/bulk_import.py:1158 wireless/forms/bulk_import.py:86
+#: netbox/dcim/forms/bulk_import.py:1149
+#: netbox/wireless/forms/bulk_import.py:86
msgid "Connection status"
msgstr "连接状态"
-#: dcim/forms/bulk_import.py:1213
+#: netbox/dcim/forms/bulk_import.py:1201
#, python-brace-format
msgid "Side {side_upper}: {device} {termination_object} is already connected"
-msgstr "侧面 {side_upper}: {device} {termination_object} 已经连接"
+msgstr " {side_upper}端: {device} {termination_object}已连接"
-#: dcim/forms/bulk_import.py:1219
+#: netbox/dcim/forms/bulk_import.py:1207
#, python-brace-format
msgid "{side_upper} side termination not found: {device} {name}"
-msgstr "{side_upper} 未找到侧面终端: {device} {name}"
+msgstr "{side_upper} 端接口类型未发现: {device} {name}"
-#: dcim/forms/bulk_import.py:1244 dcim/forms/model_forms.py:730
-#: dcim/tables/devices.py:1010 templates/dcim/device.html:130
-#: templates/dcim/virtualchassis.html:27 templates/dcim/virtualchassis.html:67
+#: netbox/dcim/forms/bulk_import.py:1232 netbox/dcim/forms/model_forms.py:733
+#: netbox/dcim/tables/devices.py:992 netbox/templates/dcim/device.html:132
+#: netbox/templates/dcim/virtualchassis.html:27
+#: netbox/templates/dcim/virtualchassis.html:67
msgid "Master"
-msgstr "大师"
+msgstr "Master"
-#: dcim/forms/bulk_import.py:1248
+#: netbox/dcim/forms/bulk_import.py:1236
msgid "Master device"
msgstr "主设备"
-#: dcim/forms/bulk_import.py:1265
+#: netbox/dcim/forms/bulk_import.py:1253
msgid "Name of parent site"
-msgstr "父网站的名称"
+msgstr "站点名称"
-#: dcim/forms/bulk_import.py:1299
+#: netbox/dcim/forms/bulk_import.py:1287
msgid "Upstream power panel"
-msgstr "上游电源面板"
+msgstr "上一级电源面板"
-#: dcim/forms/bulk_import.py:1329
+#: netbox/dcim/forms/bulk_import.py:1317
msgid "Primary or redundant"
-msgstr "主要或冗余"
+msgstr "主线路/备用线路"
-#: dcim/forms/bulk_import.py:1334
+#: netbox/dcim/forms/bulk_import.py:1322
msgid "Supply type (AC/DC)"
-msgstr "电源类型(交流/直流)"
+msgstr "供应类型(AC/DC)"
-#: dcim/forms/bulk_import.py:1339
+#: netbox/dcim/forms/bulk_import.py:1327
msgid "Single or three-phase"
-msgstr "单相或三相"
+msgstr "两相电/三相电"
-#: dcim/forms/common.py:24 dcim/models/device_components.py:528
-#: templates/dcim/interface.html:57
-#: templates/virtualization/vminterface.html:55
-#: virtualization/forms/bulk_edit.py:225
+#: netbox/dcim/forms/common.py:24 netbox/dcim/models/device_components.py:528
+#: netbox/templates/dcim/interface.html:57
+#: netbox/templates/virtualization/vminterface.html:55
+#: netbox/virtualization/forms/bulk_edit.py:225
msgid "MTU"
msgstr "MTU"
-#: dcim/forms/common.py:65
+#: netbox/dcim/forms/common.py:65
#, python-brace-format
msgid ""
"The tagged VLANs ({vlans}) must belong to the same site as the interface's "
"parent device/VM, or they must be global"
-msgstr "标记的 VLAN ({vlans}) 必须与接口的父设备/虚拟机属于同一个站点,或者它们必须是全局的"
+msgstr "标记的VLAN ({vlans}) 必须与接口所属设备/虚拟机属于同一站点,或者是全局VLAN"
-#: dcim/forms/common.py:110
+#: netbox/dcim/forms/common.py:110
msgid ""
"Cannot install module with placeholder values in a module bay with no "
"position defined."
msgstr "无法在未定义位置的模块托架中安装具有占位符值的模块。"
-#: dcim/forms/common.py:119
+#: netbox/dcim/forms/common.py:119
#, python-brace-format
msgid "Cannot adopt {model} {name} as it already belongs to a module"
-msgstr "无法收养 {model} {name} 因为它已经属于一个模块了"
+msgstr "无法选定 {model} {name} ,因为它已属于某个模块"
-#: dcim/forms/common.py:128
+#: netbox/dcim/forms/common.py:128
#, python-brace-format
msgid "A {model} named {name} already exists"
-msgstr "一个 {model} 被命名 {name} 已经存在"
+msgstr "名为 {name} 的 {model} 已存在"
-#: dcim/forms/connections.py:48 dcim/forms/model_forms.py:683
-#: dcim/tables/power.py:66 templates/dcim/inc/cable_termination.html:37
-#: templates/dcim/powerfeed.html:24 templates/dcim/powerpanel.html:19
-#: templates/dcim/trace/powerpanel.html:4
+#: netbox/dcim/forms/connections.py:48 netbox/dcim/forms/model_forms.py:686
+#: netbox/dcim/tables/power.py:66
+#: netbox/templates/dcim/inc/cable_termination.html:37
+#: netbox/templates/dcim/powerfeed.html:24
+#: netbox/templates/dcim/powerpanel.html:19
+#: netbox/templates/dcim/trace/powerpanel.html:4
msgid "Power Panel"
msgstr "电源面板"
-#: dcim/forms/connections.py:57 dcim/forms/model_forms.py:710
-#: templates/dcim/powerfeed.html:21 templates/dcim/powerport.html:80
+#: netbox/dcim/forms/connections.py:57 netbox/dcim/forms/model_forms.py:713
+#: netbox/templates/dcim/powerfeed.html:21
+#: netbox/templates/dcim/powerport.html:80
msgid "Power Feed"
-msgstr "电源馈送"
+msgstr "电力来源"
-#: dcim/forms/connections.py:79
+#: netbox/dcim/forms/connections.py:79
msgid "Side"
-msgstr "侧面"
+msgstr "端"
-#: dcim/forms/filtersets.py:142
+#: netbox/dcim/forms/filtersets.py:143
msgid "Parent region"
-msgstr "父区域"
+msgstr "上一级地区"
-#: dcim/forms/filtersets.py:156 tenancy/forms/bulk_import.py:28
-#: tenancy/forms/bulk_import.py:62 tenancy/forms/filtersets.py:33
-#: tenancy/forms/filtersets.py:62 wireless/forms/bulk_import.py:25
-#: wireless/forms/filtersets.py:25
+#: netbox/dcim/forms/filtersets.py:157 netbox/tenancy/forms/bulk_import.py:28
+#: netbox/tenancy/forms/bulk_import.py:62
+#: netbox/tenancy/forms/filtersets.py:33 netbox/tenancy/forms/filtersets.py:62
+#: netbox/wireless/forms/bulk_import.py:25
+#: netbox/wireless/forms/filtersets.py:25
msgid "Parent group"
-msgstr "家长小组"
+msgstr "上一级组"
-#: dcim/forms/filtersets.py:247 dcim/forms/filtersets.py:332
+#: netbox/dcim/forms/filtersets.py:248 netbox/dcim/forms/filtersets.py:333
msgid "Function"
-msgstr "函数"
+msgstr "功能用途"
-#: dcim/forms/filtersets.py:418 dcim/forms/model_forms.py:317
-#: templates/inc/panels/image_attachments.html:6
+#: netbox/dcim/forms/filtersets.py:419 netbox/dcim/forms/model_forms.py:317
+#: netbox/templates/inc/panels/image_attachments.html:6
msgid "Images"
msgstr "图片"
-#: dcim/forms/filtersets.py:421 dcim/forms/filtersets.py:546
-#: dcim/forms/filtersets.py:656
+#: netbox/dcim/forms/filtersets.py:422 netbox/dcim/forms/filtersets.py:547
+#: netbox/dcim/forms/filtersets.py:657
msgid "Components"
msgstr "组件"
-#: dcim/forms/filtersets.py:441
+#: netbox/dcim/forms/filtersets.py:442
msgid "Subdevice role"
-msgstr "子设备角色"
+msgstr "设备角色(父设备/子设备)"
-#: dcim/forms/filtersets.py:719
+#: netbox/dcim/forms/filtersets.py:721
msgid "Model"
-msgstr "模型"
+msgstr "型号"
-#: dcim/forms/filtersets.py:763
+#: netbox/dcim/forms/filtersets.py:765
msgid "Has an OOB IP"
-msgstr "有 OOB IP"
+msgstr "有带外管理IP"
-#: dcim/forms/filtersets.py:770
+#: netbox/dcim/forms/filtersets.py:772
msgid "Virtual chassis member"
-msgstr "虚拟机箱成员"
+msgstr "堆叠数量"
-#: dcim/forms/filtersets.py:819
+#: netbox/dcim/forms/filtersets.py:821
msgid "Has virtual device contexts"
msgstr "有虚拟设备上下文"
-#: dcim/forms/filtersets.py:1129
+#: netbox/dcim/forms/filtersets.py:834 netbox/extras/filtersets.py:537
+#: netbox/ipam/forms/bulk_edit.py:476 netbox/ipam/forms/filtersets.py:464
+#: netbox/ipam/forms/model_forms.py:624
+#: netbox/virtualization/forms/filtersets.py:112
+msgid "Cluster group"
+msgstr "堆叠组"
+
+#: netbox/dcim/forms/filtersets.py:1141
msgid "Cabled"
-msgstr "电缆"
+msgstr "已连接"
-#: dcim/forms/filtersets.py:1136
+#: netbox/dcim/forms/filtersets.py:1148
msgid "Occupied"
-msgstr "已占领"
+msgstr "占用"
-#: dcim/forms/filtersets.py:1161 dcim/forms/filtersets.py:1183
-#: dcim/forms/filtersets.py:1205 dcim/forms/filtersets.py:1222
-#: dcim/forms/filtersets.py:1242 dcim/tables/devices.py:352
-#: templates/dcim/consoleport.html:55 templates/dcim/consoleserverport.html:55
-#: templates/dcim/frontport.html:69 templates/dcim/interface.html:140
-#: templates/dcim/powerfeed.html:110 templates/dcim/poweroutlet.html:59
-#: templates/dcim/powerport.html:59 templates/dcim/rearport.html:65
+#: netbox/dcim/forms/filtersets.py:1173 netbox/dcim/forms/filtersets.py:1195
+#: netbox/dcim/forms/filtersets.py:1217 netbox/dcim/forms/filtersets.py:1234
+#: netbox/dcim/forms/filtersets.py:1254 netbox/dcim/tables/devices.py:352
+#: netbox/templates/dcim/consoleport.html:55
+#: netbox/templates/dcim/consoleserverport.html:55
+#: netbox/templates/dcim/frontport.html:69
+#: netbox/templates/dcim/interface.html:140
+#: netbox/templates/dcim/powerfeed.html:110
+#: netbox/templates/dcim/poweroutlet.html:59
+#: netbox/templates/dcim/powerport.html:59
+#: netbox/templates/dcim/rearport.html:65
msgid "Connection"
msgstr "连接"
-#: dcim/forms/filtersets.py:1254 extras/forms/bulk_edit.py:316
-#: extras/forms/bulk_import.py:242 extras/forms/filtersets.py:476
-#: extras/forms/model_forms.py:551 extras/tables/tables.py:512
-#: templates/extras/journalentry.html:30
+#: netbox/dcim/forms/filtersets.py:1266 netbox/extras/forms/bulk_edit.py:316
+#: netbox/extras/forms/bulk_import.py:239
+#: netbox/extras/forms/filtersets.py:473
+#: netbox/extras/forms/model_forms.py:551 netbox/extras/tables/tables.py:513
+#: netbox/templates/extras/journalentry.html:30
msgid "Kind"
-msgstr "善良"
+msgstr "类型"
-#: dcim/forms/filtersets.py:1283
+#: netbox/dcim/forms/filtersets.py:1295
msgid "Mgmt only"
-msgstr "仅限管理"
+msgstr "仅用于管理"
-#: dcim/forms/filtersets.py:1295 dcim/forms/model_forms.py:1327
-#: dcim/models/device_components.py:630 templates/dcim/interface.html:129
+#: netbox/dcim/forms/filtersets.py:1307 netbox/dcim/forms/model_forms.py:1330
+#: netbox/dcim/models/device_components.py:630
+#: netbox/templates/dcim/interface.html:129
msgid "WWN"
msgstr "WWN"
-#: dcim/forms/filtersets.py:1315
+#: netbox/dcim/forms/filtersets.py:1327
msgid "Wireless channel"
-msgstr "无线频道"
+msgstr "无线信道"
-#: dcim/forms/filtersets.py:1319
+#: netbox/dcim/forms/filtersets.py:1331
msgid "Channel frequency (MHz)"
-msgstr "信道频率 (MHz)"
+msgstr "信道频率(MHz)"
-#: dcim/forms/filtersets.py:1323
+#: netbox/dcim/forms/filtersets.py:1335
msgid "Channel width (MHz)"
-msgstr "信道宽度 (MHz)"
+msgstr "信道频宽(MHz)"
-#: dcim/forms/filtersets.py:1327 templates/dcim/interface.html:85
+#: netbox/dcim/forms/filtersets.py:1339
+#: netbox/templates/dcim/interface.html:85
msgid "Transmit power (dBm)"
-msgstr "发射功率 (dBm)"
+msgstr "信道功率(dBm)"
-#: dcim/forms/filtersets.py:1350 dcim/forms/filtersets.py:1372
-#: dcim/tables/devices.py:324 templates/dcim/cable.html:12
-#: templates/dcim/cable_trace.html:46 templates/dcim/frontport.html:77
-#: templates/dcim/htmx/cable_edit.html:50
-#: templates/dcim/inc/connection_endpoints.html:4
-#: templates/dcim/rearport.html:73 templates/dcim/trace/cable.html:7
+#: netbox/dcim/forms/filtersets.py:1362 netbox/dcim/forms/filtersets.py:1384
+#: netbox/dcim/tables/devices.py:316 netbox/templates/dcim/cable.html:12
+#: netbox/templates/dcim/cable_trace.html:46
+#: netbox/templates/dcim/frontport.html:77
+#: netbox/templates/dcim/htmx/cable_edit.html:50
+#: netbox/templates/dcim/inc/connection_endpoints.html:4
+#: netbox/templates/dcim/rearport.html:73
+#: netbox/templates/dcim/trace/cable.html:7
msgid "Cable"
msgstr "电缆"
-#: dcim/forms/filtersets.py:1442 dcim/tables/devices.py:933
+#: netbox/dcim/forms/filtersets.py:1454 netbox/dcim/tables/devices.py:915
msgid "Discovered"
msgstr "已发现"
-#: dcim/forms/formsets.py:20
+#: netbox/dcim/forms/formsets.py:20
#, python-brace-format
msgid "A virtual chassis member already exists in position {vc_position}."
-msgstr "虚拟机箱成员已在适当的位置 {vc_position}。"
+msgstr "在 {vc_position}中已存在虚拟机箱成员。"
-#: dcim/forms/model_forms.py:139
+#: netbox/dcim/forms/model_forms.py:139
msgid "Contact Info"
-msgstr "联系信息"
+msgstr "联系方式"
-#: dcim/forms/model_forms.py:194 templates/dcim/rackrole.html:19
+#: netbox/dcim/forms/model_forms.py:194 netbox/templates/dcim/rackrole.html:19
msgid "Rack Role"
-msgstr "机架角色"
+msgstr "机柜角色"
-#: dcim/forms/model_forms.py:227
+#: netbox/dcim/forms/model_forms.py:227
msgid "Inventory Control"
-msgstr "库存控制"
+msgstr "库存管理"
-#: dcim/forms/model_forms.py:231
+#: netbox/dcim/forms/model_forms.py:231
msgid "Outer Dimensions"
msgstr "外部尺寸"
-#: dcim/forms/model_forms.py:233 templates/dcim/device.html:307
-#: templates/dcim/rack.html:73
+#: netbox/dcim/forms/model_forms.py:233 netbox/templates/dcim/device.html:315
+#: netbox/templates/dcim/rack.html:73
msgid "Dimensions"
-msgstr "尺寸"
+msgstr "外部尺寸"
-#: dcim/forms/model_forms.py:255
+#: netbox/dcim/forms/model_forms.py:255
msgid ""
"Comma-separated list of numeric unit IDs. A range may be specified using a "
"hyphen."
-msgstr "以逗号分隔的数字单位 ID 列表。可以使用连字符指定范围。"
+msgstr "以逗号分隔的数字U位 列表。 可以使用-字符指定范围。"
-#: dcim/forms/model_forms.py:266 dcim/tables/racks.py:133
+#: netbox/dcim/forms/model_forms.py:266 netbox/dcim/tables/racks.py:133
msgid "Reservation"
-msgstr "预订"
+msgstr "预留"
-#: dcim/forms/model_forms.py:306 dcim/forms/model_forms.py:389
-#: utilities/forms/fields/fields.py:47
+#: netbox/dcim/forms/model_forms.py:306 netbox/dcim/forms/model_forms.py:389
+#: netbox/utilities/forms/fields/fields.py:47
msgid "Slug"
-msgstr "蛞蝓"
+msgstr "缩写"
-#: dcim/forms/model_forms.py:315 templates/dcim/devicetype.html:11
+#: netbox/dcim/forms/model_forms.py:315
+#: netbox/templates/dcim/devicetype.html:11
msgid "Chassis"
-msgstr "底盘"
+msgstr "机箱"
-#: dcim/forms/model_forms.py:366 templates/dcim/devicerole.html:23
+#: netbox/dcim/forms/model_forms.py:366
+#: netbox/templates/dcim/devicerole.html:23
msgid "Device Role"
msgstr "设备角色"
-#: dcim/forms/model_forms.py:433 dcim/models/devices.py:634
+#: netbox/dcim/forms/model_forms.py:433 netbox/dcim/models/devices.py:634
msgid "The lowest-numbered unit occupied by the device"
-msgstr "设备占用的编号最低的单位"
+msgstr "设备在机柜上最下面的U位"
-#: dcim/forms/model_forms.py:487
+#: netbox/dcim/forms/model_forms.py:490
msgid "The position in the virtual chassis this device is identified by"
-msgstr "该设备在虚拟机箱中的位置由以下公式标识"
+msgstr "该设备在虚拟机箱中的位置由以下方式标识"
-#: dcim/forms/model_forms.py:491 templates/dcim/device.html:131
-#: templates/dcim/virtualchassis.html:68
-#: templates/dcim/virtualchassis_edit.html:56
-#: templates/ipam/inc/panels/fhrp_groups.html:26
-#: tenancy/forms/bulk_edit.py:147 tenancy/forms/filtersets.py:110
+#: netbox/dcim/forms/model_forms.py:494 netbox/templates/dcim/device.html:133
+#: netbox/templates/dcim/virtualchassis.html:68
+#: netbox/templates/dcim/virtualchassis_edit.html:56
+#: netbox/templates/ipam/inc/panels/fhrp_groups.html:26
+#: netbox/tenancy/forms/bulk_edit.py:147
+#: netbox/tenancy/forms/filtersets.py:110
msgid "Priority"
msgstr "优先级"
-#: dcim/forms/model_forms.py:492
+#: netbox/dcim/forms/model_forms.py:495
msgid "The priority of the device in the virtual chassis"
-msgstr "虚拟机箱中设备的优先级"
+msgstr "堆叠中设备的优先级"
-#: dcim/forms/model_forms.py:599
+#: netbox/dcim/forms/model_forms.py:602
msgid "Automatically populate components associated with this module type"
-msgstr "自动填充与该模块类型关联的组件"
+msgstr "自动填充与此模块类型关联的组件"
-#: dcim/forms/model_forms.py:661
+#: netbox/dcim/forms/model_forms.py:664
msgid "Maximum length is 32767 (any unit)"
-msgstr "最大长度为 32767(任何单位)"
+msgstr "最大长度为32767(任意单位)"
-#: dcim/forms/model_forms.py:712
+#: netbox/dcim/forms/model_forms.py:715
msgid "Characteristics"
-msgstr "特征"
+msgstr "特性"
-#: dcim/forms/model_forms.py:1032
+#: netbox/dcim/forms/model_forms.py:1035
msgid "Console port template"
msgstr "控制台端口模板"
-#: dcim/forms/model_forms.py:1040
+#: netbox/dcim/forms/model_forms.py:1043
msgid "Console server port template"
-msgstr "控制台服务器端口模板"
+msgstr "控制口模版"
-#: dcim/forms/model_forms.py:1048
+#: netbox/dcim/forms/model_forms.py:1051
msgid "Front port template"
-msgstr "前端模板"
+msgstr "前向端口模版"
-#: dcim/forms/model_forms.py:1056
+#: netbox/dcim/forms/model_forms.py:1059
msgid "Interface template"
-msgstr "接口模板"
+msgstr "接口模版"
-#: dcim/forms/model_forms.py:1064
+#: netbox/dcim/forms/model_forms.py:1067
msgid "Power outlet template"
-msgstr "电源插座模板"
+msgstr "电源插座模版"
-#: dcim/forms/model_forms.py:1072
+#: netbox/dcim/forms/model_forms.py:1075
msgid "Power port template"
-msgstr "电源端口模板"
+msgstr "电源接口模版"
-#: dcim/forms/model_forms.py:1080
+#: netbox/dcim/forms/model_forms.py:1083
msgid "Rear port template"
-msgstr "后置端口模板"
+msgstr "后向接口模版"
-#: dcim/forms/model_forms.py:1089 dcim/forms/model_forms.py:1332
-#: dcim/forms/model_forms.py:1495 dcim/forms/model_forms.py:1527
-#: dcim/tables/connections.py:65 ipam/forms/bulk_import.py:317
-#: ipam/forms/model_forms.py:278 ipam/forms/model_forms.py:287
-#: ipam/tables/fhrp.py:64 ipam/tables/ip.py:368 ipam/tables/vlans.py:165
-#: templates/circuits/inc/circuit_termination_fields.html:51
-#: templates/dcim/frontport.html:106 templates/dcim/interface.html:27
-#: templates/dcim/interface.html:184 templates/dcim/interface.html:310
-#: templates/dcim/rearport.html:102
-#: templates/virtualization/vminterface.html:18
-#: templates/vpn/tunneltermination.html:31
-#: templates/wireless/inc/wirelesslink_interface.html:10
-#: templates/wireless/wirelesslink.html:10
-#: templates/wireless/wirelesslink.html:45
-#: virtualization/forms/model_forms.py:348 vpn/forms/bulk_import.py:297
-#: vpn/forms/model_forms.py:436 vpn/forms/model_forms.py:445
-#: wireless/forms/model_forms.py:113 wireless/forms/model_forms.py:155
+#: netbox/dcim/forms/model_forms.py:1092 netbox/dcim/forms/model_forms.py:1335
+#: netbox/dcim/forms/model_forms.py:1498 netbox/dcim/forms/model_forms.py:1530
+#: netbox/dcim/tables/connections.py:65 netbox/ipam/forms/bulk_import.py:317
+#: netbox/ipam/forms/model_forms.py:278 netbox/ipam/forms/model_forms.py:287
+#: netbox/ipam/tables/fhrp.py:64 netbox/ipam/tables/ip.py:368
+#: netbox/ipam/tables/vlans.py:165
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:51
+#: netbox/templates/dcim/frontport.html:106
+#: netbox/templates/dcim/interface.html:27
+#: netbox/templates/dcim/interface.html:184
+#: netbox/templates/dcim/interface.html:310
+#: netbox/templates/dcim/rearport.html:102
+#: netbox/templates/virtualization/vminterface.html:18
+#: netbox/templates/vpn/tunneltermination.html:31
+#: netbox/templates/wireless/inc/wirelesslink_interface.html:10
+#: netbox/templates/wireless/wirelesslink.html:10
+#: netbox/templates/wireless/wirelesslink.html:45
+#: netbox/virtualization/forms/model_forms.py:348
+#: netbox/vpn/forms/bulk_import.py:297 netbox/vpn/forms/model_forms.py:436
+#: netbox/vpn/forms/model_forms.py:445
+#: netbox/wireless/forms/model_forms.py:113
+#: netbox/wireless/forms/model_forms.py:155
msgid "Interface"
msgstr "接口"
-#: dcim/forms/model_forms.py:1090 dcim/forms/model_forms.py:1528
-#: dcim/tables/connections.py:27 templates/dcim/consoleport.html:17
-#: templates/dcim/consoleserverport.html:74 templates/dcim/frontport.html:112
+#: netbox/dcim/forms/model_forms.py:1093 netbox/dcim/forms/model_forms.py:1531
+#: netbox/dcim/tables/connections.py:27
+#: netbox/templates/dcim/consoleport.html:17
+#: netbox/templates/dcim/consoleserverport.html:74
+#: netbox/templates/dcim/frontport.html:112
msgid "Console Port"
-msgstr "控制台端口"
+msgstr "Console 端口"
-#: dcim/forms/model_forms.py:1091 dcim/forms/model_forms.py:1529
-#: templates/dcim/consoleport.html:73 templates/dcim/consoleserverport.html:17
-#: templates/dcim/frontport.html:109
+#: netbox/dcim/forms/model_forms.py:1094 netbox/dcim/forms/model_forms.py:1532
+#: netbox/templates/dcim/consoleport.html:73
+#: netbox/templates/dcim/consoleserverport.html:17
+#: netbox/templates/dcim/frontport.html:109
msgid "Console Server Port"
-msgstr "控制台服务器端口"
+msgstr "Console 服务器端口"
-#: dcim/forms/model_forms.py:1092 dcim/forms/model_forms.py:1530
-#: templates/circuits/inc/circuit_termination_fields.html:52
-#: templates/dcim/consoleport.html:76 templates/dcim/consoleserverport.html:77
-#: templates/dcim/frontport.html:17 templates/dcim/frontport.html:115
-#: templates/dcim/interface.html:187 templates/dcim/rearport.html:105
+#: netbox/dcim/forms/model_forms.py:1095 netbox/dcim/forms/model_forms.py:1533
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:52
+#: netbox/templates/dcim/consoleport.html:76
+#: netbox/templates/dcim/consoleserverport.html:77
+#: netbox/templates/dcim/frontport.html:17
+#: netbox/templates/dcim/frontport.html:115
+#: netbox/templates/dcim/interface.html:187
+#: netbox/templates/dcim/rearport.html:105
msgid "Front Port"
msgstr "前端口"
-#: dcim/forms/model_forms.py:1093 dcim/forms/model_forms.py:1531
-#: dcim/tables/devices.py:705
-#: templates/circuits/inc/circuit_termination_fields.html:53
-#: templates/dcim/consoleport.html:79 templates/dcim/consoleserverport.html:80
-#: templates/dcim/frontport.html:50 templates/dcim/frontport.html:118
-#: templates/dcim/interface.html:190 templates/dcim/rearport.html:17
-#: templates/dcim/rearport.html:108
+#: netbox/dcim/forms/model_forms.py:1096 netbox/dcim/forms/model_forms.py:1534
+#: netbox/dcim/tables/devices.py:693
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:53
+#: netbox/templates/dcim/consoleport.html:79
+#: netbox/templates/dcim/consoleserverport.html:80
+#: netbox/templates/dcim/frontport.html:50
+#: netbox/templates/dcim/frontport.html:118
+#: netbox/templates/dcim/interface.html:190
+#: netbox/templates/dcim/rearport.html:17
+#: netbox/templates/dcim/rearport.html:108
msgid "Rear Port"
-msgstr "后端口"
+msgstr "后置端口"
-#: dcim/forms/model_forms.py:1094 dcim/forms/model_forms.py:1532
-#: dcim/tables/connections.py:46 dcim/tables/devices.py:509
-#: templates/dcim/poweroutlet.html:44 templates/dcim/powerport.html:17
+#: netbox/dcim/forms/model_forms.py:1097 netbox/dcim/forms/model_forms.py:1535
+#: netbox/dcim/tables/connections.py:46 netbox/dcim/tables/devices.py:500
+#: netbox/templates/dcim/poweroutlet.html:44
+#: netbox/templates/dcim/powerport.html:17
msgid "Power Port"
-msgstr "电源端口"
+msgstr "电源接口"
-#: dcim/forms/model_forms.py:1095 dcim/forms/model_forms.py:1533
-#: templates/dcim/poweroutlet.html:17 templates/dcim/powerport.html:77
+#: netbox/dcim/forms/model_forms.py:1098 netbox/dcim/forms/model_forms.py:1536
+#: netbox/templates/dcim/poweroutlet.html:17
+#: netbox/templates/dcim/powerport.html:77
msgid "Power Outlet"
msgstr "电源插座"
-#: dcim/forms/model_forms.py:1097 dcim/forms/model_forms.py:1535
+#: netbox/dcim/forms/model_forms.py:1100 netbox/dcim/forms/model_forms.py:1538
msgid "Component Assignment"
msgstr "组件分配"
-#: dcim/forms/model_forms.py:1140 dcim/forms/model_forms.py:1582
+#: netbox/dcim/forms/model_forms.py:1143 netbox/dcim/forms/model_forms.py:1585
msgid "An InventoryItem can only be assigned to a single component."
-msgstr "库存物料只能分配给单个组件。"
+msgstr "库存项只能分配给单个组件"
-#: dcim/forms/model_forms.py:1277
+#: netbox/dcim/forms/model_forms.py:1280
msgid "LAG interface"
-msgstr "LAG 接口"
+msgstr "链路聚合接口"
-#: dcim/forms/model_forms.py:1428
+#: netbox/dcim/forms/model_forms.py:1431
msgid "Child Device"
-msgstr "儿童设备"
+msgstr "子设备"
-#: dcim/forms/model_forms.py:1429
+#: netbox/dcim/forms/model_forms.py:1432
msgid ""
"Child devices must first be created and assigned to the site and rack of the"
" parent device."
-msgstr "必须首先创建子设备并将其分配到父设备的站点和机架。"
+msgstr "必须首先创建子设备,并将其分配给父设备的站点和机柜。"
-#: dcim/forms/model_forms.py:1471
+#: netbox/dcim/forms/model_forms.py:1474
msgid "Console port"
-msgstr "控制台端口"
+msgstr "Console 端口"
-#: dcim/forms/model_forms.py:1479
+#: netbox/dcim/forms/model_forms.py:1482
msgid "Console server port"
-msgstr "控制台服务器端口"
+msgstr "Console 服务器端口"
-#: dcim/forms/model_forms.py:1487
+#: netbox/dcim/forms/model_forms.py:1490
msgid "Front port"
-msgstr "前端口"
+msgstr "前置端口"
-#: dcim/forms/model_forms.py:1503
+#: netbox/dcim/forms/model_forms.py:1506
msgid "Power outlet"
msgstr "电源插座"
-#: dcim/forms/model_forms.py:1523 templates/dcim/inventoryitem.html:17
+#: netbox/dcim/forms/model_forms.py:1526
+#: netbox/templates/dcim/inventoryitem.html:17
msgid "Inventory Item"
-msgstr "库存物品"
+msgstr "库存项"
-#: dcim/forms/model_forms.py:1596 templates/dcim/inventoryitemrole.html:15
+#: netbox/dcim/forms/model_forms.py:1599
+#: netbox/templates/dcim/inventoryitemrole.html:15
msgid "Inventory Item Role"
-msgstr "库存物品角色"
+msgstr "库存物品分类"
-#: dcim/forms/model_forms.py:1614 templates/dcim/device.html:187
-#: templates/dcim/virtualdevicecontext.html:30
-#: templates/virtualization/virtualmachine.html:48
+#: netbox/dcim/forms/model_forms.py:1617 netbox/templates/dcim/device.html:190
+#: netbox/templates/dcim/virtualdevicecontext.html:30
+#: netbox/templates/virtualization/virtualmachine.html:48
msgid "Primary IPv4"
-msgstr "主要 IPv4"
+msgstr "主 IPv4"
-#: dcim/forms/model_forms.py:1623 templates/dcim/device.html:203
-#: templates/dcim/virtualdevicecontext.html:41
-#: templates/virtualization/virtualmachine.html:64
+#: netbox/dcim/forms/model_forms.py:1626 netbox/templates/dcim/device.html:206
+#: netbox/templates/dcim/virtualdevicecontext.html:41
+#: netbox/templates/virtualization/virtualmachine.html:64
msgid "Primary IPv6"
-msgstr "主要 IPv6"
+msgstr "主 IPv6"
-#: dcim/forms/object_create.py:48 dcim/forms/object_create.py:199
-#: dcim/forms/object_create.py:355
+#: netbox/dcim/forms/object_create.py:48
+#: netbox/dcim/forms/object_create.py:199
+#: netbox/dcim/forms/object_create.py:355
msgid ""
"Alphanumeric ranges are supported. (Must match the number of objects being "
"created.)"
-msgstr "支持字母数字范围。(必须与正在创建的对象数量相匹配。)"
+msgstr "支持字母数字范围。(必须与正在创建的对象数相匹配。)"
-#: dcim/forms/object_create.py:68
+#: netbox/dcim/forms/object_create.py:68
#, python-brace-format
msgid ""
"The provided pattern specifies {value_count} values, but {pattern_count} are"
" expected."
-msgstr "提供的模式指定 {value_count} 价值观,但是 {pattern_count} 是预料之中的。"
+msgstr "提供了 {value_count}个参数,实际需要{pattern_count}个。"
-#: dcim/forms/object_create.py:110 dcim/forms/object_create.py:271
-#: dcim/tables/devices.py:257
+#: netbox/dcim/forms/object_create.py:110
+#: netbox/dcim/forms/object_create.py:271 netbox/dcim/tables/devices.py:249
msgid "Rear ports"
-msgstr "后置端口"
+msgstr "后向端口"
-#: dcim/forms/object_create.py:111 dcim/forms/object_create.py:272
+#: netbox/dcim/forms/object_create.py:111
+#: netbox/dcim/forms/object_create.py:272
msgid "Select one rear port assignment for each front port being created."
-msgstr "为正在创建的每个前端端口选择一个后端端口分配。"
+msgstr "为正在创建的每个前向端口指定一个后向端口"
-#: dcim/forms/object_create.py:164
+#: netbox/dcim/forms/object_create.py:164
#, python-brace-format
msgid ""
"The number of front port templates to be created ({frontport_count}) must "
"match the selected number of rear port positions ({rearport_count})."
-msgstr "要创建的前端模板的数量 ({frontport_count}) 必须与选定的后端端口位置数量相匹配 ({rearport_count})。"
+msgstr "要创建的前向端口数({frontport_count}) 必须与所选的后向端口数({rearport_count})匹配。"
-#: dcim/forms/object_create.py:251
+#: netbox/dcim/forms/object_create.py:251
#, python-brace-format
msgid ""
"The string {module}
will be replaced with the position of the "
"assigned module, if any."
-msgstr "这条字符串 {module}
将替换为指定模块的位置(如果有)。"
+msgstr "字符串{module}
将替换为指定位置的模块, (如果有的话)。"
-#: dcim/forms/object_create.py:320
+#: netbox/dcim/forms/object_create.py:320
#, python-brace-format
msgid ""
"The number of front ports to be created ({frontport_count}) must match the "
"selected number of rear port positions ({rearport_count})."
-msgstr "要创建的前端端口的数量 ({frontport_count}) 必须与所选的后端端口位置数量相匹配 ({rearport_count})。"
+msgstr "要创建的前向端口数 ({frontport_count}) 必须与所选的后向端口数({rearport_count})匹配。"
-#: dcim/forms/object_create.py:409 dcim/tables/devices.py:1016
-#: ipam/tables/fhrp.py:31 templates/dcim/virtualchassis.html:53
-#: templates/dcim/virtualchassis_edit.html:47 templates/ipam/fhrpgroup.html:38
+#: netbox/dcim/forms/object_create.py:409 netbox/dcim/tables/devices.py:998
+#: netbox/ipam/tables/fhrp.py:31 netbox/templates/dcim/virtualchassis.html:53
+#: netbox/templates/dcim/virtualchassis_edit.html:47
+#: netbox/templates/ipam/fhrpgroup.html:38
msgid "Members"
-msgstr "会员"
+msgstr "成员"
-#: dcim/forms/object_create.py:418
+#: netbox/dcim/forms/object_create.py:418
msgid "Initial position"
msgstr "初始位置"
-#: dcim/forms/object_create.py:421
+#: netbox/dcim/forms/object_create.py:421
msgid ""
"Position of the first member device. Increases by one for each additional "
"member."
-msgstr "第一个成员设备的位置。每增加一个成员,就会增加一个。"
+msgstr "第一个成员设备的位置。每增加一个成员增加一个。"
-#: dcim/forms/object_create.py:435
+#: netbox/dcim/forms/object_create.py:435
msgid "A position must be specified for the first VC member."
-msgstr "必须为第一个 VC 成员指定位置。"
+msgstr "必须为第一个VC成员指定一个位置。"
-#: dcim/models/cables.py:62 dcim/models/device_component_templates.py:55
-#: dcim/models/device_components.py:63 extras/models/customfields.py:109
+#: netbox/dcim/models/cables.py:62
+#: netbox/dcim/models/device_component_templates.py:55
+#: netbox/dcim/models/device_components.py:63
+#: netbox/extras/models/customfields.py:110
msgid "label"
-msgstr "标签"
+msgstr "标记"
-#: dcim/models/cables.py:71
+#: netbox/dcim/models/cables.py:71
msgid "length"
msgstr "长度"
-#: dcim/models/cables.py:78
+#: netbox/dcim/models/cables.py:78
msgid "length unit"
msgstr "长度单位"
-#: dcim/models/cables.py:93
+#: netbox/dcim/models/cables.py:93
msgid "cable"
msgstr "电缆"
-#: dcim/models/cables.py:94
+#: netbox/dcim/models/cables.py:94
msgid "cables"
-msgstr "电缆"
+msgstr "线缆"
-#: dcim/models/cables.py:163
+#: netbox/dcim/models/cables.py:163
msgid "Must specify a unit when setting a cable length"
msgstr "设置电缆长度时必须指定单位"
-#: dcim/models/cables.py:166
+#: netbox/dcim/models/cables.py:166
msgid "Must define A and B terminations when creating a new cable."
-msgstr "创建新电缆时必须定义 A 和 B 端接。"
+msgstr "创建新电缆时必须定义A端和B端。"
-#: dcim/models/cables.py:173
+#: netbox/dcim/models/cables.py:173
msgid "Cannot connect different termination types to same end of cable."
-msgstr "无法将不同的端接类型连接到电缆的同一端。"
+msgstr "无法将不同的端点类型连接到电缆的两端。"
-#: dcim/models/cables.py:181
+#: netbox/dcim/models/cables.py:181
#, python-brace-format
msgid "Incompatible termination types: {type_a} and {type_b}"
-msgstr "不兼容的终止类型: {type_a} 和 {type_b}"
+msgstr "不兼容的端点类型: {type_a} 和{type_b}"
-#: dcim/models/cables.py:191
+#: netbox/dcim/models/cables.py:191
msgid "A and B terminations cannot connect to the same object."
-msgstr "A 和 B 终端无法连接到同一个对象。"
+msgstr "A B端不能连接到同一个对象"
-#: dcim/models/cables.py:258 ipam/models/asns.py:37
+#: netbox/dcim/models/cables.py:258 netbox/ipam/models/asns.py:37
msgid "end"
msgstr "结束"
-#: dcim/models/cables.py:311
+#: netbox/dcim/models/cables.py:311
msgid "cable termination"
-msgstr "电缆终端"
+msgstr "线缆端点"
-#: dcim/models/cables.py:312
+#: netbox/dcim/models/cables.py:312
msgid "cable terminations"
-msgstr "电缆终端"
+msgstr "线缆端点"
-#: dcim/models/cables.py:331
+#: netbox/dcim/models/cables.py:331
#, python-brace-format
msgid ""
"Duplicate termination found for {app_label}.{model} {termination_id}: cable "
"{cable_pk}"
-msgstr "发现以下项重复终止 {app_label}。{model} {termination_id}: 电缆 {cable_pk}"
+msgstr "发现{app_label}重复成端:{model} {termination_id}: cable {cable_pk}"
-#: dcim/models/cables.py:341
+#: netbox/dcim/models/cables.py:341
#, python-brace-format
msgid "Cables cannot be terminated to {type_display} interfaces"
-msgstr "电缆无法端接到 {type_display} 接口"
+msgstr "电缆不能连接至{type_display} 接口"
-#: dcim/models/cables.py:348
+#: netbox/dcim/models/cables.py:348
msgid "Circuit terminations attached to a provider network may not be cabled."
-msgstr "连接到提供商网络的电路终端可能无法通过电缆连接。"
+msgstr "运营商网络的线路可能没有连接。"
-#: dcim/models/cables.py:446 extras/models/configs.py:50
+#: netbox/dcim/models/cables.py:446 netbox/extras/models/configs.py:50
msgid "is active"
-msgstr "处于活动状态"
+msgstr "激活的"
-#: dcim/models/cables.py:450
+#: netbox/dcim/models/cables.py:450
msgid "is complete"
-msgstr "已完成"
+msgstr "完成的"
-#: dcim/models/cables.py:454
+#: netbox/dcim/models/cables.py:454
msgid "is split"
-msgstr "是分裂的"
+msgstr "被拆分的"
-#: dcim/models/cables.py:462
+#: netbox/dcim/models/cables.py:462
msgid "cable path"
-msgstr "电缆路径"
+msgstr "线缆连接路径"
-#: dcim/models/cables.py:463
+#: netbox/dcim/models/cables.py:463
msgid "cable paths"
-msgstr "电缆路径"
+msgstr "线缆连接路径"
-#: dcim/models/device_component_templates.py:46
+#: netbox/dcim/models/device_component_templates.py:46
#, python-brace-format
msgid ""
"{module} is accepted as a substitution for the module bay position when "
"attached to a module type."
-msgstr "{module} 当连接到模块类型时,可以作为模块托架位置的替代品。"
+msgstr "当连接到模块类型时,{module} 被认定为模块托架位置的替代。"
-#: dcim/models/device_component_templates.py:58
-#: dcim/models/device_components.py:66
+#: netbox/dcim/models/device_component_templates.py:58
+#: netbox/dcim/models/device_components.py:66
msgid "Physical label"
-msgstr "实物标签"
+msgstr "物理标签"
-#: dcim/models/device_component_templates.py:103
+#: netbox/dcim/models/device_component_templates.py:103
msgid "Component templates cannot be moved to a different device type."
msgstr "组件模板无法移动到其他设备类型。"
-#: dcim/models/device_component_templates.py:154
+#: netbox/dcim/models/device_component_templates.py:154
msgid ""
"A component template cannot be associated with both a device type and a "
"module type."
msgstr "组件模板不能同时与设备类型和模块类型相关联。"
-#: dcim/models/device_component_templates.py:158
+#: netbox/dcim/models/device_component_templates.py:158
msgid ""
"A component template must be associated with either a device type or a "
"module type."
msgstr "组件模板必须与设备类型或模块类型相关联。"
-#: dcim/models/device_component_templates.py:186
+#: netbox/dcim/models/device_component_templates.py:186
msgid "console port template"
-msgstr "控制台端口模板"
+msgstr "console端口模板"
-#: dcim/models/device_component_templates.py:187
+#: netbox/dcim/models/device_component_templates.py:187
msgid "console port templates"
-msgstr "控制台端口模板"
+msgstr "console端口模板"
-#: dcim/models/device_component_templates.py:220
+#: netbox/dcim/models/device_component_templates.py:220
msgid "console server port template"
-msgstr "控制台服务器端口模板"
+msgstr "console服务器端口模板"
-#: dcim/models/device_component_templates.py:221
+#: netbox/dcim/models/device_component_templates.py:221
msgid "console server port templates"
-msgstr "控制台服务器端口模板"
+msgstr "console服务器端口模板"
-#: dcim/models/device_component_templates.py:252
-#: dcim/models/device_components.py:353
+#: netbox/dcim/models/device_component_templates.py:252
+#: netbox/dcim/models/device_components.py:353
msgid "maximum draw"
-msgstr "最大抽奖量"
+msgstr "最大功率"
-#: dcim/models/device_component_templates.py:259
-#: dcim/models/device_components.py:360
+#: netbox/dcim/models/device_component_templates.py:259
+#: netbox/dcim/models/device_components.py:360
msgid "allocated draw"
-msgstr "分配的抽奖"
+msgstr "分配功率"
-#: dcim/models/device_component_templates.py:269
+#: netbox/dcim/models/device_component_templates.py:269
msgid "power port template"
-msgstr "电源端口模板"
+msgstr "电源端口模版"
-#: dcim/models/device_component_templates.py:270
+#: netbox/dcim/models/device_component_templates.py:270
msgid "power port templates"
-msgstr "电源端口模板"
+msgstr "电源端口模版"
-#: dcim/models/device_component_templates.py:289
-#: dcim/models/device_components.py:383
+#: netbox/dcim/models/device_component_templates.py:289
+#: netbox/dcim/models/device_components.py:383
#, python-brace-format
msgid "Allocated draw cannot exceed the maximum draw ({maximum_draw}W)."
-msgstr "分配的抽奖不能超过最大抽奖额 ({maximum_draw}W)。"
+msgstr "分配功率不能超过最大功率({maximum_draw}瓦)"
-#: dcim/models/device_component_templates.py:321
-#: dcim/models/device_components.py:478
+#: netbox/dcim/models/device_component_templates.py:321
+#: netbox/dcim/models/device_components.py:478
msgid "feed leg"
-msgstr "喂腿"
+msgstr "馈电线路"
-#: dcim/models/device_component_templates.py:325
-#: dcim/models/device_components.py:482
+#: netbox/dcim/models/device_component_templates.py:325
+#: netbox/dcim/models/device_components.py:482
msgid "Phase (for three-phase feeds)"
-msgstr "相位(用于三相馈电)"
+msgstr "相位(用于三相电)"
-#: dcim/models/device_component_templates.py:331
+#: netbox/dcim/models/device_component_templates.py:331
msgid "power outlet template"
-msgstr "电源插座模板"
+msgstr "电源插座模版"
-#: dcim/models/device_component_templates.py:332
+#: netbox/dcim/models/device_component_templates.py:332
msgid "power outlet templates"
-msgstr "电源插座模板"
+msgstr "电源插座模版"
-#: dcim/models/device_component_templates.py:341
+#: netbox/dcim/models/device_component_templates.py:341
#, python-brace-format
msgid "Parent power port ({power_port}) must belong to the same device type"
-msgstr "家长电源端口 ({power_port}) 必须属于相同的设备类型"
+msgstr "父电源端口 ({power_port}) 必须属于相同的设备类型"
-#: dcim/models/device_component_templates.py:345
+#: netbox/dcim/models/device_component_templates.py:345
#, python-brace-format
msgid "Parent power port ({power_port}) must belong to the same module type"
-msgstr "家长电源端口 ({power_port}) 必须属于相同的模块类型"
+msgstr "父电源端口 ({power_port}) 必须属于相同的设备类型"
-#: dcim/models/device_component_templates.py:397
-#: dcim/models/device_components.py:612
+#: netbox/dcim/models/device_component_templates.py:397
+#: netbox/dcim/models/device_components.py:612
msgid "management only"
msgstr "仅限管理"
-#: dcim/models/device_component_templates.py:405
-#: dcim/models/device_components.py:551
+#: netbox/dcim/models/device_component_templates.py:405
+#: netbox/dcim/models/device_components.py:551
msgid "bridge interface"
msgstr "桥接接口"
-#: dcim/models/device_component_templates.py:423
-#: dcim/models/device_components.py:637
+#: netbox/dcim/models/device_component_templates.py:423
+#: netbox/dcim/models/device_components.py:637
msgid "wireless role"
msgstr "无线角色"
-#: dcim/models/device_component_templates.py:429
+#: netbox/dcim/models/device_component_templates.py:429
msgid "interface template"
-msgstr "接口模板"
+msgstr "接口模版"
-#: dcim/models/device_component_templates.py:430
+#: netbox/dcim/models/device_component_templates.py:430
msgid "interface templates"
-msgstr "界面模板"
+msgstr "接口模版"
-#: dcim/models/device_component_templates.py:437
-#: dcim/models/device_components.py:805
-#: virtualization/models/virtualmachines.py:400
+#: netbox/dcim/models/device_component_templates.py:437
+#: netbox/dcim/models/device_components.py:805
+#: netbox/virtualization/models/virtualmachines.py:400
msgid "An interface cannot be bridged to itself."
-msgstr "接口无法桥接到自身。"
+msgstr "接口不能桥接到自己"
-#: dcim/models/device_component_templates.py:440
+#: netbox/dcim/models/device_component_templates.py:440
#, python-brace-format
msgid "Bridge interface ({bridge}) must belong to the same device type"
-msgstr "桥接接口 ({bridge}) 必须属于相同的设备类型"
+msgstr "桥接接口({bridge}) 必须属于相同的设备类型"
-#: dcim/models/device_component_templates.py:444
+#: netbox/dcim/models/device_component_templates.py:444
#, python-brace-format
msgid "Bridge interface ({bridge}) must belong to the same module type"
-msgstr "桥接接口 ({bridge}) 必须属于相同的模块类型"
+msgstr "桥接接口({bridge}) 必须属于相同的模块类型"
-#: dcim/models/device_component_templates.py:500
-#: dcim/models/device_components.py:985
+#: netbox/dcim/models/device_component_templates.py:500
+#: netbox/dcim/models/device_components.py:985
msgid "rear port position"
-msgstr "后方端口位置"
+msgstr "后向端口位置"
-#: dcim/models/device_component_templates.py:525
+#: netbox/dcim/models/device_component_templates.py:525
msgid "front port template"
-msgstr "前端模板"
+msgstr "前端口模板"
-#: dcim/models/device_component_templates.py:526
+#: netbox/dcim/models/device_component_templates.py:526
msgid "front port templates"
-msgstr "前端模板"
+msgstr "前端口模板"
-#: dcim/models/device_component_templates.py:536
+#: netbox/dcim/models/device_component_templates.py:536
#, python-brace-format
msgid "Rear port ({name}) must belong to the same device type"
-msgstr "后端口 ({name}) 必须属于相同的设备类型"
+msgstr "后端口({name})必须属于相同的设备类型"
-#: dcim/models/device_component_templates.py:542
+#: netbox/dcim/models/device_component_templates.py:542
#, python-brace-format
msgid ""
"Invalid rear port position ({position}); rear port {name} has only {count} "
"positions"
-msgstr "后置端口位置无效 ({position}); 后端口 {name} 只有 {count} 位置"
+msgstr "无效的后端口位置 ({position});后端口{name}只有{count}个"
-#: dcim/models/device_component_templates.py:595
-#: dcim/models/device_components.py:1054
+#: netbox/dcim/models/device_component_templates.py:595
+#: netbox/dcim/models/device_components.py:1054
msgid "positions"
-msgstr "位置"
+msgstr "可映射端口数"
-#: dcim/models/device_component_templates.py:606
+#: netbox/dcim/models/device_component_templates.py:606
msgid "rear port template"
-msgstr "后置端口模板"
+msgstr "后端口模版"
-#: dcim/models/device_component_templates.py:607
+#: netbox/dcim/models/device_component_templates.py:607
msgid "rear port templates"
-msgstr "后置端口模板"
+msgstr "后端口模版"
-#: dcim/models/device_component_templates.py:636
-#: dcim/models/device_components.py:1095
+#: netbox/dcim/models/device_component_templates.py:636
+#: netbox/dcim/models/device_components.py:1095
msgid "position"
-msgstr "位置"
+msgstr "机柜位置"
-#: dcim/models/device_component_templates.py:639
-#: dcim/models/device_components.py:1098
+#: netbox/dcim/models/device_component_templates.py:639
+#: netbox/dcim/models/device_components.py:1098
msgid "Identifier to reference when renaming installed components"
-msgstr "重命名已安装组件时要参考的标识符"
+msgstr "重命名已安装组件时要引用的标识符"
-#: dcim/models/device_component_templates.py:645
+#: netbox/dcim/models/device_component_templates.py:645
msgid "module bay template"
-msgstr "模块托架模板"
+msgstr "模块托架模版"
-#: dcim/models/device_component_templates.py:646
+#: netbox/dcim/models/device_component_templates.py:646
msgid "module bay templates"
-msgstr "模块托架模板"
+msgstr "模块托架模版"
-#: dcim/models/device_component_templates.py:673
+#: netbox/dcim/models/device_component_templates.py:673
msgid "device bay template"
-msgstr "设备托架模板"
+msgstr "设备托架模版"
-#: dcim/models/device_component_templates.py:674
+#: netbox/dcim/models/device_component_templates.py:674
msgid "device bay templates"
-msgstr "设备托架模板"
+msgstr "设备托架模版"
-#: dcim/models/device_component_templates.py:687
+#: netbox/dcim/models/device_component_templates.py:687
#, python-brace-format
msgid ""
"Subdevice role of device type ({device_type}) must be set to \"parent\" to "
"allow device bays."
-msgstr "设备类型的子设备角色 ({device_type}) 必须设置为 “父级” 才能允许设备托架。"
+msgstr "设备类型({device_type})的子设备角色必须设置为“父设备”,才能允许设备托架。"
-#: dcim/models/device_component_templates.py:742
-#: dcim/models/device_components.py:1224
+#: netbox/dcim/models/device_component_templates.py:742
+#: netbox/dcim/models/device_components.py:1224
msgid "part ID"
-msgstr "零件编号"
+msgstr "零件ID"
-#: dcim/models/device_component_templates.py:744
-#: dcim/models/device_components.py:1226
+#: netbox/dcim/models/device_component_templates.py:744
+#: netbox/dcim/models/device_components.py:1226
msgid "Manufacturer-assigned part identifier"
-msgstr "制造商分配的零件标识符"
+msgstr "制造商指定的零件标识符"
-#: dcim/models/device_component_templates.py:761
+#: netbox/dcim/models/device_component_templates.py:761
msgid "inventory item template"
-msgstr "库存商品模板"
+msgstr "库存项模版"
-#: dcim/models/device_component_templates.py:762
+#: netbox/dcim/models/device_component_templates.py:762
msgid "inventory item templates"
-msgstr "库存商品模板"
+msgstr "库存项模版"
-#: dcim/models/device_components.py:106
+#: netbox/dcim/models/device_components.py:106
msgid "Components cannot be moved to a different device."
-msgstr "组件不能移动到其他设备上。"
+msgstr "组件模板无法移动到其他设备类型。"
-#: dcim/models/device_components.py:145
+#: netbox/dcim/models/device_components.py:145
msgid "cable end"
-msgstr "电缆末端"
+msgstr "线缆终点"
-#: dcim/models/device_components.py:151
+#: netbox/dcim/models/device_components.py:151
msgid "mark connected"
msgstr "标记已连接"
-#: dcim/models/device_components.py:153
+#: netbox/dcim/models/device_components.py:153
msgid "Treat as if a cable is connected"
-msgstr "像连接电缆一样对待"
+msgstr "视为电缆已连接"
-#: dcim/models/device_components.py:171
+#: netbox/dcim/models/device_components.py:171
msgid "Must specify cable end (A or B) when attaching a cable."
-msgstr "连接电缆时必须指定电缆末端(A 或 B)。"
+msgstr "连接电缆时必须指定电缆末端(A或B)。"
-#: dcim/models/device_components.py:175
+#: netbox/dcim/models/device_components.py:175
msgid "Cable end must not be set without a cable."
-msgstr "不得在没有电缆的情况下设置电缆末端。"
+msgstr "不得在没有线缆的情况下设置线缆末端。"
-#: dcim/models/device_components.py:179
+#: netbox/dcim/models/device_components.py:179
msgid "Cannot mark as connected with a cable attached."
-msgstr "无法将连接电缆标记为已连接。"
+msgstr "无法标记为已连接线缆。"
-#: dcim/models/device_components.py:203
+#: netbox/dcim/models/device_components.py:203
#, python-brace-format
msgid "{class_name} models must declare a parent_object property"
-msgstr "{class_name} 模型必须声明 parent_object 属性"
+msgstr "{class_name}模块必须声明上架类型"
-#: dcim/models/device_components.py:288 dcim/models/device_components.py:317
-#: dcim/models/device_components.py:350 dcim/models/device_components.py:468
+#: netbox/dcim/models/device_components.py:288
+#: netbox/dcim/models/device_components.py:317
+#: netbox/dcim/models/device_components.py:350
+#: netbox/dcim/models/device_components.py:468
msgid "Physical port type"
msgstr "物理端口类型"
-#: dcim/models/device_components.py:291 dcim/models/device_components.py:320
+#: netbox/dcim/models/device_components.py:291
+#: netbox/dcim/models/device_components.py:320
msgid "speed"
-msgstr "速度"
+msgstr "速率"
-#: dcim/models/device_components.py:295 dcim/models/device_components.py:324
+#: netbox/dcim/models/device_components.py:295
+#: netbox/dcim/models/device_components.py:324
msgid "Port speed in bits per second"
-msgstr "以比特每秒为单位的端口速度"
+msgstr "端口速度(单位bps)"
-#: dcim/models/device_components.py:301
+#: netbox/dcim/models/device_components.py:301
msgid "console port"
-msgstr "控制台端口"
+msgstr "console端口"
-#: dcim/models/device_components.py:302
+#: netbox/dcim/models/device_components.py:302
msgid "console ports"
-msgstr "控制台端口"
+msgstr "console端口"
-#: dcim/models/device_components.py:330
+#: netbox/dcim/models/device_components.py:330
msgid "console server port"
-msgstr "控制台服务器端口"
+msgstr "console服务器端口"
-#: dcim/models/device_components.py:331
+#: netbox/dcim/models/device_components.py:331
msgid "console server ports"
-msgstr "控制台服务器端口"
+msgstr "console服务器端口"
-#: dcim/models/device_components.py:370
+#: netbox/dcim/models/device_components.py:370
msgid "power port"
-msgstr "电源端口"
+msgstr "电源接口"
-#: dcim/models/device_components.py:371
+#: netbox/dcim/models/device_components.py:371
msgid "power ports"
-msgstr "电源端口"
+msgstr "电源接口"
-#: dcim/models/device_components.py:488
+#: netbox/dcim/models/device_components.py:488
msgid "power outlet"
msgstr "电源插座"
-#: dcim/models/device_components.py:489
+#: netbox/dcim/models/device_components.py:489
msgid "power outlets"
msgstr "电源插座"
-#: dcim/models/device_components.py:500
+#: netbox/dcim/models/device_components.py:500
#, python-brace-format
msgid "Parent power port ({power_port}) must belong to the same device"
-msgstr "家长电源端口 ({power_port}) 必须属于同一个设备"
+msgstr "父电源端口({power_port})必须属于同一设备"
-#: dcim/models/device_components.py:531 vpn/models/crypto.py:81
-#: vpn/models/crypto.py:226
+#: netbox/dcim/models/device_components.py:531 netbox/vpn/models/crypto.py:81
+#: netbox/vpn/models/crypto.py:226
msgid "mode"
msgstr "模式"
-#: dcim/models/device_components.py:535
+#: netbox/dcim/models/device_components.py:535
msgid "IEEE 802.1Q tagging strategy"
-msgstr "IEEE 802.1Q 标记策略"
+msgstr "VLAN策略"
-#: dcim/models/device_components.py:543
+#: netbox/dcim/models/device_components.py:543
msgid "parent interface"
msgstr "父接口"
-#: dcim/models/device_components.py:603
+#: netbox/dcim/models/device_components.py:603
msgid "parent LAG"
-msgstr "父级 LAG"
+msgstr "父聚合组"
-#: dcim/models/device_components.py:613
+#: netbox/dcim/models/device_components.py:613
msgid "This interface is used only for out-of-band management"
-msgstr "此接口仅用于带外管理"
+msgstr "该接口仅用于带外管理"
-#: dcim/models/device_components.py:618
+#: netbox/dcim/models/device_components.py:618
msgid "speed (Kbps)"
-msgstr "速度 (Kbps)"
+msgstr "速率(Kbps)"
-#: dcim/models/device_components.py:621
+#: netbox/dcim/models/device_components.py:621
msgid "duplex"
msgstr "双工"
-#: dcim/models/device_components.py:631
+#: netbox/dcim/models/device_components.py:631
msgid "64-bit World Wide Name"
-msgstr "64 位全球通用名称"
+msgstr "64位WWN"
-#: dcim/models/device_components.py:643
+#: netbox/dcim/models/device_components.py:643
msgid "wireless channel"
-msgstr "无线频道"
+msgstr "无线信道"
-#: dcim/models/device_components.py:650
+#: netbox/dcim/models/device_components.py:650
msgid "channel frequency (MHz)"
-msgstr "信道频率 (MHz)"
+msgstr "信道频率(MHz)"
-#: dcim/models/device_components.py:651 dcim/models/device_components.py:659
+#: netbox/dcim/models/device_components.py:651
+#: netbox/dcim/models/device_components.py:659
msgid "Populated by selected channel (if set)"
-msgstr "由所选频道填充(如果已设置)"
+msgstr "由所选通道填充(如有)"
-#: dcim/models/device_components.py:665
+#: netbox/dcim/models/device_components.py:665
msgid "transmit power (dBm)"
-msgstr "发射功率 (dBm)"
+msgstr "发射功率(dBm)"
-#: dcim/models/device_components.py:690 wireless/models.py:116
+#: netbox/dcim/models/device_components.py:690 netbox/wireless/models.py:116
msgid "wireless LANs"
msgstr "无线局域网"
-#: dcim/models/device_components.py:698
-#: virtualization/models/virtualmachines.py:330
+#: netbox/dcim/models/device_components.py:698
+#: netbox/virtualization/models/virtualmachines.py:330
msgid "untagged VLAN"
-msgstr "未标记的 VLAN"
+msgstr "untagged VLAN"
-#: dcim/models/device_components.py:704
-#: virtualization/models/virtualmachines.py:336
+#: netbox/dcim/models/device_components.py:704
+#: netbox/virtualization/models/virtualmachines.py:336
msgid "tagged VLANs"
-msgstr "标记的 VLAN"
+msgstr "tagged VLANs"
-#: dcim/models/device_components.py:746
-#: virtualization/models/virtualmachines.py:372
+#: netbox/dcim/models/device_components.py:746
+#: netbox/virtualization/models/virtualmachines.py:372
msgid "interface"
-msgstr "界面"
+msgstr "接口"
-#: dcim/models/device_components.py:747
-#: virtualization/models/virtualmachines.py:373
+#: netbox/dcim/models/device_components.py:747
+#: netbox/virtualization/models/virtualmachines.py:373
msgid "interfaces"
msgstr "接口"
-#: dcim/models/device_components.py:758
+#: netbox/dcim/models/device_components.py:758
#, python-brace-format
msgid "{display_type} interfaces cannot have a cable attached."
-msgstr "{display_type} 接口不能连接电缆。"
+msgstr "{display_type}接口不能连接线缆。"
-#: dcim/models/device_components.py:766
+#: netbox/dcim/models/device_components.py:766
#, python-brace-format
msgid "{display_type} interfaces cannot be marked as connected."
-msgstr "{display_type} 接口无法标记为已连接。"
+msgstr "{display_type}接口不能标记为已连接。"
-#: dcim/models/device_components.py:775
-#: virtualization/models/virtualmachines.py:385
+#: netbox/dcim/models/device_components.py:775
+#: netbox/virtualization/models/virtualmachines.py:385
msgid "An interface cannot be its own parent."
-msgstr "接口不能是自己的父接口。"
+msgstr "接口不能是自己的父级。"
-#: dcim/models/device_components.py:779
+#: netbox/dcim/models/device_components.py:779
msgid "Only virtual interfaces may be assigned to a parent interface."
msgstr "只能将虚拟接口分配给父接口。"
-#: dcim/models/device_components.py:786
+#: netbox/dcim/models/device_components.py:786
#, python-brace-format
msgid ""
"The selected parent interface ({interface}) belongs to a different device "
"({device})"
-msgstr "选定的父接口 ({interface}) 属于不同的设备 ({device})"
+msgstr "所选父接口({interface}) 属于另一个设备 ({device})"
-#: dcim/models/device_components.py:792
+#: netbox/dcim/models/device_components.py:792
#, python-brace-format
msgid ""
"The selected parent interface ({interface}) belongs to {device}, which is "
"not part of virtual chassis {virtual_chassis}."
-msgstr "选定的父接口 ({interface}) 属于 {device},它不是虚拟机箱的一部分 {virtual_chassis}。"
+msgstr "所选的父接口({interface})属于 {device},该设备不是虚拟机箱{virtual_chassis}的一部分。"
-#: dcim/models/device_components.py:812
+#: netbox/dcim/models/device_components.py:812
#, python-brace-format
msgid ""
"The selected bridge interface ({bridge}) belongs to a different device "
"({device})."
-msgstr "选定的网桥接口 ({bridge}) 属于不同的设备 ({device})。"
+msgstr "所选桥接接口 ({bridge})属于另一个设备({device})。"
-#: dcim/models/device_components.py:818
+#: netbox/dcim/models/device_components.py:818
#, python-brace-format
msgid ""
"The selected bridge interface ({interface}) belongs to {device}, which is "
"not part of virtual chassis {virtual_chassis}."
-msgstr "选定的网桥接口 ({interface}) 属于 {device},它不是虚拟机箱的一部分 {virtual_chassis}。"
+msgstr "所选的桥接接口({interface})属于 {device},该设备不是虚拟机箱{virtual_chassis}的一部分。"
-#: dcim/models/device_components.py:829
+#: netbox/dcim/models/device_components.py:829
msgid "Virtual interfaces cannot have a parent LAG interface."
-msgstr "虚拟接口不能有父 LAG 接口。"
+msgstr "虚拟接口不能具有父聚合接口。"
-#: dcim/models/device_components.py:833
+#: netbox/dcim/models/device_components.py:833
msgid "A LAG interface cannot be its own parent."
-msgstr "LAG 接口不能成为自己的父接口。"
+msgstr "聚合接口不能是自己的父级。"
-#: dcim/models/device_components.py:840
+#: netbox/dcim/models/device_components.py:840
#, python-brace-format
msgid ""
"The selected LAG interface ({lag}) belongs to a different device ({device})."
-msgstr "所选的 LAG 接口 ({lag}) 属于不同的设备 ({device})。"
+msgstr "选择的LAG接口 ({lag}) 属于不同的设备 ({device})."
-#: dcim/models/device_components.py:846
+#: netbox/dcim/models/device_components.py:846
#, python-brace-format
msgid ""
"The selected LAG interface ({lag}) belongs to {device}, which is not part of"
" virtual chassis {virtual_chassis}."
-msgstr "所选的 LAG 接口 ({lag}) 属于 {device},它不是虚拟机箱的一部分 {virtual_chassis}。"
+msgstr "选择的LAG接口 ({lag}) 属于 {device}, 它不是虚拟机箱的一部分 {virtual_chassis}."
-#: dcim/models/device_components.py:857
+#: netbox/dcim/models/device_components.py:857
msgid "Virtual interfaces cannot have a PoE mode."
-msgstr "虚拟接口不能具有 PoE 模式。"
+msgstr "虚拟接口不能具有PoE模式。"
-#: dcim/models/device_components.py:861
+#: netbox/dcim/models/device_components.py:861
msgid "Virtual interfaces cannot have a PoE type."
-msgstr "虚拟接口不能有 PoE 类型。"
+msgstr "虚拟接口不能是PoE类型。"
-#: dcim/models/device_components.py:867
+#: netbox/dcim/models/device_components.py:867
msgid "Must specify PoE mode when designating a PoE type."
-msgstr "指定 PoE 类型时必须指定 PoE 模式。"
+msgstr "指定PoE类型时必须指定PoE模式。"
-#: dcim/models/device_components.py:874
+#: netbox/dcim/models/device_components.py:874
msgid "Wireless role may be set only on wireless interfaces."
msgstr "只能在无线接口上设置无线角色。"
-#: dcim/models/device_components.py:876
+#: netbox/dcim/models/device_components.py:876
msgid "Channel may be set only on wireless interfaces."
msgstr "只能在无线接口上设置信道。"
-#: dcim/models/device_components.py:882
+#: netbox/dcim/models/device_components.py:882
msgid "Channel frequency may be set only on wireless interfaces."
-msgstr "只能在无线接口上设置信道频率。"
+msgstr "信道频率仅在无线接口上设置。"
-#: dcim/models/device_components.py:886
+#: netbox/dcim/models/device_components.py:886
msgid "Cannot specify custom frequency with channel selected."
-msgstr "无法在选定频道时指定自定义频率。"
+msgstr "无法在选定频道的情况下指定自定义频率。"
-#: dcim/models/device_components.py:892
+#: netbox/dcim/models/device_components.py:892
msgid "Channel width may be set only on wireless interfaces."
-msgstr "信道宽度只能在无线接口上设置。"
+msgstr "只能在无线接口上设置频宽。"
-#: dcim/models/device_components.py:894
+#: netbox/dcim/models/device_components.py:894
msgid "Cannot specify custom width with channel selected."
-msgstr "无法在选择频道时指定自定义宽度。"
+msgstr "无法在选定通道的情况下指定自定义频宽。"
-#: dcim/models/device_components.py:902
+#: netbox/dcim/models/device_components.py:902
#, python-brace-format
msgid ""
"The untagged VLAN ({untagged_vlan}) must belong to the same site as the "
"interface's parent device, or it must be global."
-msgstr "未标记的 VLAN ({untagged_vlan}) 必须与接口的父设备属于同一个站点,或者必须是全局的。"
+msgstr "不打标记的VLAN({untagged_vlan})必须与接口所属设备/虚拟机属于同一站点,或者是全局VLAN"
-#: dcim/models/device_components.py:991
+#: netbox/dcim/models/device_components.py:991
msgid "Mapped position on corresponding rear port"
-msgstr "相应的后端端口上的映射位置"
+msgstr "对应后端口上的映射位置"
-#: dcim/models/device_components.py:1007
+#: netbox/dcim/models/device_components.py:1007
msgid "front port"
-msgstr "前端口"
+msgstr "前置端口"
-#: dcim/models/device_components.py:1008
+#: netbox/dcim/models/device_components.py:1008
msgid "front ports"
-msgstr "前端口"
+msgstr "前置端口"
-#: dcim/models/device_components.py:1022
+#: netbox/dcim/models/device_components.py:1022
#, python-brace-format
msgid "Rear port ({rear_port}) must belong to the same device"
-msgstr "后端口 ({rear_port}) 必须属于同一个设备"
+msgstr "后端口({rear_port})必须属于同一设备"
-#: dcim/models/device_components.py:1030
+#: netbox/dcim/models/device_components.py:1030
#, python-brace-format
msgid ""
"Invalid rear port position ({rear_port_position}): Rear port {name} has only"
" {positions} positions."
-msgstr "后置端口位置无效 ({rear_port_position}): 后端口 {name} 只有 {positions} 职位。"
+msgstr "无效的后端口位置({rear_port_position});后端口{name}只有 {positions}个"
-#: dcim/models/device_components.py:1060
+#: netbox/dcim/models/device_components.py:1060
msgid "Number of front ports which may be mapped"
-msgstr "可以映射的前端端口的数量"
+msgstr "可以映射的前端口数"
-#: dcim/models/device_components.py:1065
+#: netbox/dcim/models/device_components.py:1065
msgid "rear port"
-msgstr "后端口"
+msgstr "后置端口"
-#: dcim/models/device_components.py:1066
+#: netbox/dcim/models/device_components.py:1066
msgid "rear ports"
-msgstr "后端口"
+msgstr "后向端口"
-#: dcim/models/device_components.py:1080
+#: netbox/dcim/models/device_components.py:1080
#, python-brace-format
msgid ""
"The number of positions cannot be less than the number of mapped front ports"
" ({frontport_count})"
-msgstr "位置的数量不能小于映射的前端端口的数量({frontport_count})"
+msgstr "位置数不能小于映射的前端端口数({frontport_count})"
-#: dcim/models/device_components.py:1104
+#: netbox/dcim/models/device_components.py:1104
msgid "module bay"
-msgstr "模块托架"
+msgstr "设备板卡插槽"
-#: dcim/models/device_components.py:1105
+#: netbox/dcim/models/device_components.py:1105
msgid "module bays"
-msgstr "模块托架"
+msgstr "设备板卡插槽"
-#: dcim/models/device_components.py:1126
+#: netbox/dcim/models/device_components.py:1126
msgid "device bay"
msgstr "设备托架"
-#: dcim/models/device_components.py:1127
+#: netbox/dcim/models/device_components.py:1127
msgid "device bays"
msgstr "设备托架"
-#: dcim/models/device_components.py:1137
+#: netbox/dcim/models/device_components.py:1137
#, python-brace-format
msgid "This type of device ({device_type}) does not support device bays."
-msgstr "这种类型的设备({device_type}) 不支持设备托架。"
+msgstr "此类型的设备 ({device_type}) 不支持设备托架。"
-#: dcim/models/device_components.py:1143
+#: netbox/dcim/models/device_components.py:1143
msgid "Cannot install a device into itself."
-msgstr "无法自行安装设备。"
+msgstr "无法将设备安装到自身中。"
-#: dcim/models/device_components.py:1151
+#: netbox/dcim/models/device_components.py:1151
#, python-brace-format
msgid ""
"Cannot install the specified device; device is already installed in {bay}."
-msgstr "无法安装指定的设备;设备已安装在 {bay}。"
+msgstr "无法安装指定的设备;设备已安装在{bay}中。"
-#: dcim/models/device_components.py:1172
+#: netbox/dcim/models/device_components.py:1172
msgid "inventory item role"
-msgstr "库存物品角色"
+msgstr "库存物品分类"
-#: dcim/models/device_components.py:1173
+#: netbox/dcim/models/device_components.py:1173
msgid "inventory item roles"
-msgstr "库存物品角色"
+msgstr "库存物品分类"
-#: dcim/models/device_components.py:1230 dcim/models/devices.py:597
-#: dcim/models/devices.py:1163 dcim/models/racks.py:114
+#: netbox/dcim/models/device_components.py:1230
+#: netbox/dcim/models/devices.py:597 netbox/dcim/models/devices.py:1163
+#: netbox/dcim/models/racks.py:114
msgid "serial number"
msgstr "序列号"
-#: dcim/models/device_components.py:1238 dcim/models/devices.py:605
-#: dcim/models/devices.py:1170 dcim/models/racks.py:121
+#: netbox/dcim/models/device_components.py:1238
+#: netbox/dcim/models/devices.py:605 netbox/dcim/models/devices.py:1170
+#: netbox/dcim/models/racks.py:121
msgid "asset tag"
msgstr "资产标签"
-#: dcim/models/device_components.py:1239
+#: netbox/dcim/models/device_components.py:1239
msgid "A unique tag used to identify this item"
-msgstr "用于识别此商品的独特标签"
+msgstr "用于识别该项目的唯一标识"
-#: dcim/models/device_components.py:1242
+#: netbox/dcim/models/device_components.py:1242
msgid "discovered"
-msgstr "发现了"
+msgstr "已发现"
-#: dcim/models/device_components.py:1244
+#: netbox/dcim/models/device_components.py:1244
msgid "This item was automatically discovered"
-msgstr "此物品已被自动发现"
+msgstr "此项目是自动发现的"
-#: dcim/models/device_components.py:1262
+#: netbox/dcim/models/device_components.py:1262
msgid "inventory item"
-msgstr "库存物品"
+msgstr "库存项"
-#: dcim/models/device_components.py:1263
+#: netbox/dcim/models/device_components.py:1263
msgid "inventory items"
-msgstr "库存物品"
+msgstr "库存项"
-#: dcim/models/device_components.py:1274
+#: netbox/dcim/models/device_components.py:1274
msgid "Cannot assign self as parent."
-msgstr "无法将自己指定为父母。"
+msgstr "无法将自身分配为父级。"
-#: dcim/models/device_components.py:1282
+#: netbox/dcim/models/device_components.py:1282
msgid "Parent inventory item does not belong to the same device."
-msgstr "父库存物品不属于同一个设备。"
+msgstr "父库存项不能属于同一设备。"
-#: dcim/models/device_components.py:1288
+#: netbox/dcim/models/device_components.py:1288
msgid "Cannot move an inventory item with dependent children"
-msgstr "无法移动带有受抚养子女的库存物品"
+msgstr "无法移动具有子项的库存项目"
-#: dcim/models/device_components.py:1296
+#: netbox/dcim/models/device_components.py:1296
msgid "Cannot assign inventory item to component on another device"
-msgstr "无法将库存项目分配给其他设备上的组件"
+msgstr "无法将库存项分配给其他设备上的组件"
-#: dcim/models/devices.py:54
+#: netbox/dcim/models/devices.py:54
msgid "manufacturer"
-msgstr "制造商"
+msgstr "厂商"
-#: dcim/models/devices.py:55
+#: netbox/dcim/models/devices.py:55
msgid "manufacturers"
-msgstr "制造商"
+msgstr "厂商"
-#: dcim/models/devices.py:82 dcim/models/devices.py:382
+#: netbox/dcim/models/devices.py:82 netbox/dcim/models/devices.py:382
msgid "model"
-msgstr "模型"
+msgstr "型号"
-#: dcim/models/devices.py:95
+#: netbox/dcim/models/devices.py:95
msgid "default platform"
-msgstr "默认平台"
+msgstr "默认系统平台"
-#: dcim/models/devices.py:98 dcim/models/devices.py:386
+#: netbox/dcim/models/devices.py:98 netbox/dcim/models/devices.py:386
msgid "part number"
-msgstr "零件号"
+msgstr "部件编码(PN)"
-#: dcim/models/devices.py:101 dcim/models/devices.py:389
+#: netbox/dcim/models/devices.py:101 netbox/dcim/models/devices.py:389
msgid "Discrete part number (optional)"
-msgstr "分立部件号(可选)"
+msgstr "独立部件编码(PN) (可选)"
-#: dcim/models/devices.py:107 dcim/models/racks.py:138
+#: netbox/dcim/models/devices.py:107 netbox/dcim/models/racks.py:138
msgid "height (U)"
-msgstr "身高 (U)"
+msgstr "高度(U)"
-#: dcim/models/devices.py:111
+#: netbox/dcim/models/devices.py:111
msgid "exclude from utilization"
-msgstr "排除在使用范围之外"
+msgstr "从利用率中排除"
-#: dcim/models/devices.py:112
+#: netbox/dcim/models/devices.py:112
msgid "Devices of this type are excluded when calculating rack utilization."
-msgstr "计算机架利用率时,不包括此类设备。"
+msgstr "计算机柜利用率时,不包括此类设备。"
-#: dcim/models/devices.py:116
+#: netbox/dcim/models/devices.py:116
msgid "is full depth"
-msgstr "是全深的"
+msgstr "是否全尺寸"
-#: dcim/models/devices.py:117
+#: netbox/dcim/models/devices.py:117
msgid "Device consumes both front and rear rack faces."
-msgstr "设备消耗前后机架表面。"
+msgstr "设备同时使用机柜的前面板和后面板。"
-#: dcim/models/devices.py:123
+#: netbox/dcim/models/devices.py:123
msgid "parent/child status"
-msgstr "父母/子女身份"
+msgstr "父设备/子设备状态"
-#: dcim/models/devices.py:124
+#: netbox/dcim/models/devices.py:124
msgid ""
"Parent devices house child devices in device bays. Leave blank if this "
"device type is neither a parent nor a child."
-msgstr "父设备将子设备存放在设备托架中。如果此设备类型既不是家长也不是孩子,请留空。"
+msgstr "父设备将子设备放置在设备托架中。如果此设备类型既不是父设备也不是子设备,请保留为空。"
-#: dcim/models/devices.py:128 dcim/models/devices.py:649
+#: netbox/dcim/models/devices.py:128 netbox/dcim/models/devices.py:649
msgid "airflow"
-msgstr "空气流动"
+msgstr "气流方向"
-#: dcim/models/devices.py:204
+#: netbox/dcim/models/devices.py:204
msgid "device type"
-msgstr "设备类型"
+msgstr "设备型号"
-#: dcim/models/devices.py:205
+#: netbox/dcim/models/devices.py:205
msgid "device types"
-msgstr "设备类型"
+msgstr "设备型号"
-#: dcim/models/devices.py:290
+#: netbox/dcim/models/devices.py:290
msgid "U height must be in increments of 0.5 rack units."
-msgstr "U 高度必须以 0.5 个机架单位为增量。"
+msgstr "U位数必须以0.5U为增量。"
-#: dcim/models/devices.py:307
+#: netbox/dcim/models/devices.py:307
#, python-brace-format
msgid ""
"Device {device} in rack {rack} does not have sufficient space to accommodate"
" a height of {height}U"
-msgstr "设备 {device} 在机架上 {rack} 没有足够的空间来容纳高度 {height}U"
+msgstr "机柜 {rack}没有足够的空间容纳{height}U的设备 {device}"
-#: dcim/models/devices.py:322
+#: netbox/dcim/models/devices.py:322
#, python-brace-format
msgid ""
"Unable to set 0U height: Found {racked_instance_count} "
"instances already mounted within racks."
-msgstr "无法设置 0U 高度:已找到 {racked_instance_count} 实例 已经安装在机架中。"
+msgstr "无法设置高度为0U: 发现 {racked_instance_count}个设备 已经安装在机柜中。"
-#: dcim/models/devices.py:331
+#: netbox/dcim/models/devices.py:331
msgid ""
"Must delete all device bay templates associated with this device before "
"declassifying it as a parent device."
-msgstr "必须先删除与该设备关联的所有设备托架模板,然后才能将其取消归类为父设备。"
+msgstr "必须删除与此设备关联的所有设备托架模板,然后才能将其修改为父设备。"
-#: dcim/models/devices.py:337
+#: netbox/dcim/models/devices.py:337
msgid "Child device types must be 0U."
-msgstr "子设备类型必须为 0U。"
+msgstr "子设备类型高度必须为0U。"
-#: dcim/models/devices.py:405
+#: netbox/dcim/models/devices.py:405
msgid "module type"
msgstr "模块类型"
-#: dcim/models/devices.py:406
+#: netbox/dcim/models/devices.py:406
msgid "module types"
msgstr "模块类型"
-#: dcim/models/devices.py:475
+#: netbox/dcim/models/devices.py:475
msgid "Virtual machines may be assigned to this role"
-msgstr "可以将虚拟机分配给此角色"
+msgstr "虚拟机可以使用该型号/角色"
-#: dcim/models/devices.py:487
+#: netbox/dcim/models/devices.py:487
msgid "device role"
msgstr "设备角色"
-#: dcim/models/devices.py:488
+#: netbox/dcim/models/devices.py:488
msgid "device roles"
msgstr "设备角色"
-#: dcim/models/devices.py:505
+#: netbox/dcim/models/devices.py:505
msgid "Optionally limit this platform to devices of a certain manufacturer"
-msgstr "(可选)将此平台限制为特定制造商的设备"
+msgstr "可选择将此平台限定为特定制造商的设备"
-#: dcim/models/devices.py:517
+#: netbox/dcim/models/devices.py:517
msgid "platform"
-msgstr "平台"
+msgstr "操作系统"
-#: dcim/models/devices.py:518
+#: netbox/dcim/models/devices.py:518
msgid "platforms"
-msgstr "平台"
+msgstr "操作系统"
-#: dcim/models/devices.py:566
+#: netbox/dcim/models/devices.py:566
msgid "The function this device serves"
-msgstr "此设备提供的功能"
+msgstr "该设备的角色"
-#: dcim/models/devices.py:598
+#: netbox/dcim/models/devices.py:598
msgid "Chassis serial number, assigned by the manufacturer"
-msgstr "机箱序列号,由制造商分配"
+msgstr "制造商分配的机箱序列号"
-#: dcim/models/devices.py:606 dcim/models/devices.py:1171
+#: netbox/dcim/models/devices.py:606 netbox/dcim/models/devices.py:1171
msgid "A unique tag used to identify this device"
-msgstr "用于识别此设备的唯一标签"
+msgstr "用于识别该设备的唯一标签"
-#: dcim/models/devices.py:633
+#: netbox/dcim/models/devices.py:633
msgid "position (U)"
-msgstr "位置 (U)"
+msgstr "机柜位置(U)"
-#: dcim/models/devices.py:640
+#: netbox/dcim/models/devices.py:640
msgid "rack face"
-msgstr "机架面"
+msgstr "机柜安装方向"
-#: dcim/models/devices.py:660 dcim/models/devices.py:1380
-#: virtualization/models/virtualmachines.py:100
+#: netbox/dcim/models/devices.py:660 netbox/dcim/models/devices.py:1380
+#: netbox/virtualization/models/virtualmachines.py:100
msgid "primary IPv4"
-msgstr "主 IPv4"
+msgstr "主IPv4"
-#: dcim/models/devices.py:668 dcim/models/devices.py:1388
-#: virtualization/models/virtualmachines.py:108
+#: netbox/dcim/models/devices.py:668 netbox/dcim/models/devices.py:1388
+#: netbox/virtualization/models/virtualmachines.py:108
msgid "primary IPv6"
-msgstr "主要 IPv6"
+msgstr "主IPv6"
-#: dcim/models/devices.py:676
+#: netbox/dcim/models/devices.py:676
msgid "out-of-band IP"
-msgstr "带外 IP"
+msgstr "带外管理IP地址"
-#: dcim/models/devices.py:693
+#: netbox/dcim/models/devices.py:693
msgid "VC position"
-msgstr "风险投资职位"
+msgstr "堆叠位置"
-#: dcim/models/devices.py:696
+#: netbox/dcim/models/devices.py:696
msgid "Virtual chassis position"
-msgstr "虚拟机箱位置"
+msgstr "堆叠位置"
-#: dcim/models/devices.py:699
+#: netbox/dcim/models/devices.py:699
msgid "VC priority"
-msgstr "风险投资优先"
+msgstr "VC优先级"
-#: dcim/models/devices.py:703
+#: netbox/dcim/models/devices.py:703
msgid "Virtual chassis master election priority"
-msgstr "虚拟机箱主选举优先级"
+msgstr "堆叠主设备优先级"
-#: dcim/models/devices.py:706 dcim/models/sites.py:207
+#: netbox/dcim/models/devices.py:706 netbox/dcim/models/sites.py:207
msgid "latitude"
msgstr "纬度"
-#: dcim/models/devices.py:711 dcim/models/devices.py:719
-#: dcim/models/sites.py:212 dcim/models/sites.py:220
+#: netbox/dcim/models/devices.py:711 netbox/dcim/models/devices.py:719
+#: netbox/dcim/models/sites.py:212 netbox/dcim/models/sites.py:220
msgid "GPS coordinate in decimal format (xx.yyyyyy)"
-msgstr "十进制格式的 GPS 坐标 (xx.yyyyy)"
+msgstr "GPS坐标(数字格式, xx.yyyyyy)"
-#: dcim/models/devices.py:714 dcim/models/sites.py:215
+#: netbox/dcim/models/devices.py:714 netbox/dcim/models/sites.py:215
msgid "longitude"
msgstr "经度"
-#: dcim/models/devices.py:787
+#: netbox/dcim/models/devices.py:787
msgid "Device name must be unique per site."
-msgstr "每个站点的设备名称必须是唯一的。"
+msgstr "每个站点的设备名称必须唯一。"
-#: dcim/models/devices.py:798 ipam/models/services.py:74
+#: netbox/dcim/models/devices.py:798 netbox/ipam/models/services.py:75
msgid "device"
msgstr "设备"
-#: dcim/models/devices.py:799
+#: netbox/dcim/models/devices.py:799
msgid "devices"
msgstr "设备"
-#: dcim/models/devices.py:825
+#: netbox/dcim/models/devices.py:825
#, python-brace-format
msgid "Rack {rack} does not belong to site {site}."
-msgstr "机架 {rack} 不属于网站 {site}。"
+msgstr "机柜 {rack} 不属于 {site}站点."
-#: dcim/models/devices.py:830
+#: netbox/dcim/models/devices.py:830
#, python-brace-format
msgid "Location {location} does not belong to site {site}."
-msgstr "地点 {location} 不属于网站 {site}。"
+msgstr "地点 {location} 不属于 {site}站点."
-#: dcim/models/devices.py:836
+#: netbox/dcim/models/devices.py:836
#, python-brace-format
msgid "Rack {rack} does not belong to location {location}."
-msgstr "机架 {rack} 不属于地点 {location}。"
+msgstr "机柜{rack}不属于{location}地点."
-#: dcim/models/devices.py:843
+#: netbox/dcim/models/devices.py:843
msgid "Cannot select a rack face without assigning a rack."
-msgstr "如果不分配机架,就无法选择机架面。"
+msgstr "在未分配机柜的情况下,无法选择安装在机柜的哪一面。"
-#: dcim/models/devices.py:847
+#: netbox/dcim/models/devices.py:847
msgid "Cannot select a rack position without assigning a rack."
-msgstr "如果不分配机架,就无法选择机架位置。"
+msgstr "在未分配机柜的情况下,无法选择安装在机柜的哪个位置。"
-#: dcim/models/devices.py:853
+#: netbox/dcim/models/devices.py:853
msgid "Position must be in increments of 0.5 rack units."
-msgstr "位置必须以 0.5 个机架单位为增量。"
+msgstr "机柜位置必须以0.5个U位递增。"
-#: dcim/models/devices.py:857
+#: netbox/dcim/models/devices.py:857
msgid "Must specify rack face when defining rack position."
-msgstr "定义机架位置时必须指定机架面。"
+msgstr "指定机柜安装位置时必须指定安装在机柜的哪一面。"
-#: dcim/models/devices.py:865
+#: netbox/dcim/models/devices.py:865
#, python-brace-format
msgid ""
"A 0U device type ({device_type}) cannot be assigned to a rack position."
-msgstr "一个 0U 设备类型 ({device_type}) 无法分配给机架位置。"
+msgstr "无法将0U的设备类型({device_type})的设备安装在机柜中。"
-#: dcim/models/devices.py:876
+#: netbox/dcim/models/devices.py:876
msgid ""
"Child device types cannot be assigned to a rack face. This is an attribute "
"of the parent device."
-msgstr "无法将子设备类型分配给机架面。这是父设备的属性。"
+msgstr "子设备类型不能安装到机柜的前/后面。这是父设备的一个属性。"
-#: dcim/models/devices.py:883
+#: netbox/dcim/models/devices.py:883
msgid ""
"Child device types cannot be assigned to a rack position. This is an "
"attribute of the parent device."
-msgstr "无法将子设备类型分配给机架位置。这是父设备的属性。"
+msgstr "子设备类型不能安装到机柜某个位置。这是父设备的一个属性。"
-#: dcim/models/devices.py:897
+#: netbox/dcim/models/devices.py:897
#, python-brace-format
msgid ""
"U{position} is already occupied or does not have sufficient space to "
"accommodate this device type: {device_type} ({u_height}U)"
-msgstr "U{position} 已被占用或空间不足,无法容纳此设备类型: {device_type} ({u_height}U)"
+msgstr "{position}U已被占用或没有足够的空间容纳此设备类型:{device_type} ({u_height}U)"
-#: dcim/models/devices.py:912
+#: netbox/dcim/models/devices.py:912
#, python-brace-format
msgid "{ip} is not an IPv4 address."
-msgstr "{ip} 不是 IPv4 地址。"
+msgstr "{ip} 不是一个正确的IPv4地址"
-#: dcim/models/devices.py:921 dcim/models/devices.py:936
+#: netbox/dcim/models/devices.py:921 netbox/dcim/models/devices.py:936
#, python-brace-format
msgid "The specified IP address ({ip}) is not assigned to this device."
-msgstr "指定的 IP 地址 ({ip}) 未分配给此设备。"
+msgstr "指定的IP地址 ({ip}) 未分配给该设备。"
-#: dcim/models/devices.py:927
+#: netbox/dcim/models/devices.py:927
#, python-brace-format
msgid "{ip} is not an IPv6 address."
-msgstr "{ip} 不是 IPv6 地址。"
+msgstr "{ip} 不是一个正确的IPv6地址"
-#: dcim/models/devices.py:954
+#: netbox/dcim/models/devices.py:954
#, python-brace-format
msgid ""
"The assigned platform is limited to {platform_manufacturer} device types, "
"but this device's type belongs to {devicetype_manufacturer}."
msgstr ""
-"分配的平台仅限于 {platform_manufacturer} 设备类型,但此设备的类型属于 {devicetype_manufacturer}。"
+"指定的平台仅限于{platform_manufacturer} 的设备类型,但此设备的类型属于{devicetype_manufacturer}。"
-#: dcim/models/devices.py:965
+#: netbox/dcim/models/devices.py:965
#, python-brace-format
msgid "The assigned cluster belongs to a different site ({site})"
-msgstr "分配的集群属于不同的站点 ({site})"
+msgstr "分配的群集属于其他站点({site})"
-#: dcim/models/devices.py:973
+#: netbox/dcim/models/devices.py:973
msgid "A device assigned to a virtual chassis must have its position defined."
-msgstr "分配给虚拟机箱的设备必须定义其位置。"
+msgstr "分配给集群的设备必须定义其位置。"
-#: dcim/models/devices.py:1178
+#: netbox/dcim/models/devices.py:1178
msgid "module"
msgstr "模块"
-#: dcim/models/devices.py:1179
+#: netbox/dcim/models/devices.py:1179
msgid "modules"
-msgstr "模块"
+msgstr "设备板卡"
-#: dcim/models/devices.py:1195
+#: netbox/dcim/models/devices.py:1195
#, python-brace-format
msgid ""
"Module must be installed within a module bay belonging to the assigned "
"device ({device})."
-msgstr "模块必须安装在属于指定设备的模块托架中 ({device})。"
+msgstr "模块必须安装在属于指定设备({device})的模块托架内。"
-#: dcim/models/devices.py:1299
+#: netbox/dcim/models/devices.py:1299
msgid "domain"
msgstr "域"
-#: dcim/models/devices.py:1312 dcim/models/devices.py:1313
+#: netbox/dcim/models/devices.py:1312 netbox/dcim/models/devices.py:1313
msgid "virtual chassis"
-msgstr "虚拟机箱"
+msgstr "堆叠"
-#: dcim/models/devices.py:1328
+#: netbox/dcim/models/devices.py:1328
#, python-brace-format
msgid ""
"The selected master ({master}) is not assigned to this virtual chassis."
-msgstr "选定的主人 ({master}) 未分配给该虚拟机箱。"
+msgstr "所选主设备({master})未分配给此堆叠。"
-#: dcim/models/devices.py:1344
+#: netbox/dcim/models/devices.py:1344
#, python-brace-format
msgid ""
"Unable to delete virtual chassis {self}. There are member interfaces which "
"form a cross-chassis LAG interfaces."
-msgstr "无法删除虚拟机箱 {self}。有些成员接口构成跨机箱 LAG 接口。"
+msgstr "无法删除堆叠 {self}。有成员接口属于跨机箱聚合。"
-#: dcim/models/devices.py:1369 vpn/models/l2vpn.py:37
+#: netbox/dcim/models/devices.py:1369 netbox/vpn/models/l2vpn.py:37
msgid "identifier"
msgstr "标识符"
-#: dcim/models/devices.py:1370
+#: netbox/dcim/models/devices.py:1370
msgid "Numeric identifier unique to the parent device"
-msgstr "父设备独有的数字标识符"
+msgstr "父设备唯一的标识符"
-#: dcim/models/devices.py:1398 extras/models/customfields.py:210
-#: extras/models/models.py:127 extras/models/models.py:722
-#: netbox/models/__init__.py:114
+#: netbox/dcim/models/devices.py:1398 netbox/extras/models/customfields.py:211
+#: netbox/extras/models/models.py:127 netbox/extras/models/models.py:722
+#: netbox/netbox/models/__init__.py:114
msgid "comments"
msgstr "评论"
-#: dcim/models/devices.py:1414
+#: netbox/dcim/models/devices.py:1414
msgid "virtual device context"
-msgstr "虚拟设备上下文"
+msgstr "设备虚拟实例"
-#: dcim/models/devices.py:1415
+#: netbox/dcim/models/devices.py:1415
msgid "virtual device contexts"
-msgstr "虚拟设备上下文"
+msgstr "设备虚拟实例"
-#: dcim/models/devices.py:1447
+#: netbox/dcim/models/devices.py:1447
#, python-brace-format
msgid "{ip} is not an IPv{family} address."
-msgstr "{ip} 不是 iPV{family} 地址。"
+msgstr "{ip} 不是一个 IPv{family} 地址"
-#: dcim/models/devices.py:1453
+#: netbox/dcim/models/devices.py:1453
msgid "Primary IP address must belong to an interface on the assigned device."
-msgstr "主 IP 地址必须属于分配设备上的接口。"
+msgstr "主 IP 地址必须属于指定设备上的接口。"
-#: dcim/models/mixins.py:15 extras/models/configs.py:41
-#: extras/models/models.py:341 extras/models/models.py:550
-#: extras/models/search.py:48 ipam/models/ip.py:194
+#: netbox/dcim/models/mixins.py:15 netbox/extras/models/configs.py:41
+#: netbox/extras/models/models.py:341 netbox/extras/models/models.py:550
+#: netbox/extras/models/search.py:48 netbox/ipam/models/ip.py:194
msgid "weight"
msgstr "重量"
-#: dcim/models/mixins.py:22
+#: netbox/dcim/models/mixins.py:22
msgid "weight unit"
msgstr "重量单位"
-#: dcim/models/mixins.py:51
+#: netbox/dcim/models/mixins.py:51
msgid "Must specify a unit when setting a weight"
-msgstr "设置权重时必须指定单位"
+msgstr "设置重量时必须指定单位"
-#: dcim/models/power.py:55
+#: netbox/dcim/models/power.py:55
msgid "power panel"
msgstr "电源面板"
-#: dcim/models/power.py:56
+#: netbox/dcim/models/power.py:56
msgid "power panels"
msgstr "电源面板"
-#: dcim/models/power.py:70
+#: netbox/dcim/models/power.py:70
#, python-brace-format
msgid ""
"Location {location} ({location_site}) is in a different site than {site}"
-msgstr "地点 {location} ({location_site}) 位于不同的网站上 {site}"
+msgstr "位置 {location} ({location_site}) 位于不同的站点 {site}"
-#: dcim/models/power.py:108
+#: netbox/dcim/models/power.py:108
msgid "supply"
msgstr "供应"
-#: dcim/models/power.py:114
+#: netbox/dcim/models/power.py:114
msgid "phase"
-msgstr "阶段"
+msgstr "相位"
-#: dcim/models/power.py:120
+#: netbox/dcim/models/power.py:120
msgid "voltage"
msgstr "电压"
-#: dcim/models/power.py:125
+#: netbox/dcim/models/power.py:125
msgid "amperage"
-msgstr "安培数"
+msgstr "电流"
-#: dcim/models/power.py:130
+#: netbox/dcim/models/power.py:130
msgid "max utilization"
msgstr "最大利用率"
-#: dcim/models/power.py:133
+#: netbox/dcim/models/power.py:133
msgid "Maximum permissible draw (percentage)"
-msgstr "最大允许抽水(百分比)"
+msgstr "最大允许利用率(百分比)"
-#: dcim/models/power.py:136
+#: netbox/dcim/models/power.py:136
msgid "available power"
msgstr "可用功率"
-#: dcim/models/power.py:164
+#: netbox/dcim/models/power.py:164
msgid "power feed"
-msgstr "供电"
+msgstr "电力来源"
-#: dcim/models/power.py:165
+#: netbox/dcim/models/power.py:165
msgid "power feeds"
-msgstr "供电"
+msgstr "电力来源"
-#: dcim/models/power.py:179
+#: netbox/dcim/models/power.py:179
#, python-brace-format
msgid ""
"Rack {rack} ({rack_site}) and power panel {powerpanel} ({powerpanel_site}) "
"are in different sites."
-msgstr ""
-"机架 {rack} ({rack_site}) 和电源面板 {powerpanel} ({powerpanel_site}) 位于不同的站点。"
+msgstr "机柜{rack} ({rack_site})和电源面板{powerpanel} ({powerpanel_site})位于不同的站点。"
-#: dcim/models/power.py:190
+#: netbox/dcim/models/power.py:190
msgid "Voltage cannot be negative for AC supply"
-msgstr "交流电源的电压不能为负值"
+msgstr "交流电源的电压不能为负"
-#: dcim/models/racks.py:50
+#: netbox/dcim/models/racks.py:50
msgid "rack role"
-msgstr "机架角色"
+msgstr "机柜角色"
-#: dcim/models/racks.py:51
+#: netbox/dcim/models/racks.py:51
msgid "rack roles"
-msgstr "机架角色"
+msgstr "机柜角色"
-#: dcim/models/racks.py:75
+#: netbox/dcim/models/racks.py:75
msgid "facility ID"
-msgstr "设施 ID"
+msgstr "标识符ID"
-#: dcim/models/racks.py:76
+#: netbox/dcim/models/racks.py:76
msgid "Locally-assigned identifier"
msgstr "本地分配的标识符"
-#: dcim/models/racks.py:109 ipam/forms/bulk_import.py:200
-#: ipam/forms/bulk_import.py:265 ipam/forms/bulk_import.py:300
-#: ipam/forms/bulk_import.py:467 virtualization/forms/bulk_import.py:112
+#: netbox/dcim/models/racks.py:109 netbox/ipam/forms/bulk_import.py:200
+#: netbox/ipam/forms/bulk_import.py:265 netbox/ipam/forms/bulk_import.py:300
+#: netbox/ipam/forms/bulk_import.py:467
+#: netbox/virtualization/forms/bulk_import.py:112
msgid "Functional role"
-msgstr "职能角色"
+msgstr "功能角色"
-#: dcim/models/racks.py:122
+#: netbox/dcim/models/racks.py:122
msgid "A unique tag used to identify this rack"
-msgstr "用于识别此机架的独特标签"
+msgstr "用于识别该机柜的唯一标识"
-#: dcim/models/racks.py:133
+#: netbox/dcim/models/racks.py:133
msgid "width"
msgstr "宽度"
-#: dcim/models/racks.py:134
+#: netbox/dcim/models/racks.py:134
msgid "Rail-to-rail width"
-msgstr "轨到轨宽度"
+msgstr "机柜宽度"
-#: dcim/models/racks.py:140
+#: netbox/dcim/models/racks.py:140
msgid "Height in rack units"
-msgstr "机架单元的高度"
+msgstr "以U为单位的机柜高度"
-#: dcim/models/racks.py:144
+#: netbox/dcim/models/racks.py:144
msgid "starting unit"
-msgstr "起动单元"
+msgstr "起始U位"
-#: dcim/models/racks.py:146
+#: netbox/dcim/models/racks.py:146
msgid "Starting unit for rack"
-msgstr "机架起动装置"
+msgstr "此机柜的起始U位"
-#: dcim/models/racks.py:150
+#: netbox/dcim/models/racks.py:150
msgid "descending units"
-msgstr "降序单位"
+msgstr "U位显示降序"
-#: dcim/models/racks.py:151
+#: netbox/dcim/models/racks.py:151
msgid "Units are numbered top-to-bottom"
-msgstr "单位从上到下编号"
+msgstr "U位从上到下编号"
-#: dcim/models/racks.py:154
+#: netbox/dcim/models/racks.py:154
msgid "outer width"
msgstr "外部宽度"
-#: dcim/models/racks.py:157
+#: netbox/dcim/models/racks.py:157
msgid "Outer dimension of rack (width)"
-msgstr "机架的外部尺寸(宽度)"
+msgstr "机柜外部尺寸(宽)"
-#: dcim/models/racks.py:160
+#: netbox/dcim/models/racks.py:160
msgid "outer depth"
-msgstr "外层深度"
+msgstr "外部长度/深度"
-#: dcim/models/racks.py:163
+#: netbox/dcim/models/racks.py:163
msgid "Outer dimension of rack (depth)"
-msgstr "机架的外部尺寸(深度)"
+msgstr "机架外形尺寸(深度)"
-#: dcim/models/racks.py:166
+#: netbox/dcim/models/racks.py:166
msgid "outer unit"
-msgstr "外部单元"
+msgstr "外框尺寸的单位"
-#: dcim/models/racks.py:172
+#: netbox/dcim/models/racks.py:172
msgid "max weight"
-msgstr "最大重量"
+msgstr "最大承重"
-#: dcim/models/racks.py:175
+#: netbox/dcim/models/racks.py:175
msgid "Maximum load capacity for the rack"
-msgstr "机架的最大负载能力"
+msgstr "机柜最大承重"
-#: dcim/models/racks.py:183
+#: netbox/dcim/models/racks.py:183
msgid "mounting depth"
msgstr "安装深度"
-#: dcim/models/racks.py:187
+#: netbox/dcim/models/racks.py:187
msgid ""
"Maximum depth of a mounted device, in millimeters. For four-post racks, this"
" is the distance between the front and rear rails."
-msgstr "安装设备的最大深度,以毫米为单位。对于四柱机架,这是前后导轨之间的距离。"
+msgstr "已安装设备的最大深度(以毫米为单位)。 对于四柱机架,这是前导轨和后导轨之间的距离。"
-#: dcim/models/racks.py:221
+#: netbox/dcim/models/racks.py:221
msgid "rack"
-msgstr "架"
+msgstr "机柜"
-#: dcim/models/racks.py:222
+#: netbox/dcim/models/racks.py:222
msgid "racks"
-msgstr "架子"
+msgstr "机柜"
-#: dcim/models/racks.py:237
+#: netbox/dcim/models/racks.py:237
#, python-brace-format
msgid "Assigned location must belong to parent site ({site})."
-msgstr "分配的位置必须属于父站点 ({site})。"
+msgstr "指定的位置必须属于父站点({site})。"
-#: dcim/models/racks.py:241
+#: netbox/dcim/models/racks.py:241
msgid "Must specify a unit when setting an outer width/depth"
msgstr "设置外部宽度/深度时必须指定单位"
-#: dcim/models/racks.py:245
+#: netbox/dcim/models/racks.py:245
msgid "Must specify a unit when setting a maximum weight"
-msgstr "设置最大重量时必须指定单位"
+msgstr "设置最大承重时必须指定单位"
-#: dcim/models/racks.py:255
+#: netbox/dcim/models/racks.py:255
#, python-brace-format
msgid ""
"Rack must be at least {min_height}U tall to house currently installed "
"devices."
-msgstr "机架必须至少为 {min_height}我可以容纳当前安装的设备。"
+msgstr "机柜必须有至少{min_height}U高,才可以容纳当前安装的设备。"
-#: dcim/models/racks.py:262
+#: netbox/dcim/models/racks.py:262
#, python-brace-format
msgid ""
"Rack unit numbering must begin at {position} or less to house currently "
"installed devices."
-msgstr "机架单元编号必须从开始 {position} 或更少用于容纳当前安装的设备。"
+msgstr "机柜单元编号必须从{position}或以上开始,才能容纳当前安装的设备。"
-#: dcim/models/racks.py:270
+#: netbox/dcim/models/racks.py:270
#, python-brace-format
msgid "Location must be from the same site, {site}."
-msgstr "位置必须来自同一个站点, {site}。"
+msgstr "位置必须来自同一站点 {site}。"
-#: dcim/models/racks.py:523
+#: netbox/dcim/models/racks.py:523
msgid "units"
-msgstr "单位"
+msgstr "位置"
-#: dcim/models/racks.py:549
+#: netbox/dcim/models/racks.py:549
msgid "rack reservation"
-msgstr "机架预订"
+msgstr "机柜预留"
-#: dcim/models/racks.py:550
+#: netbox/dcim/models/racks.py:550
msgid "rack reservations"
-msgstr "机架预订"
+msgstr "机柜预留"
-#: dcim/models/racks.py:567
+#: netbox/dcim/models/racks.py:567
#, python-brace-format
msgid "Invalid unit(s) for {height}U rack: {unit_list}"
-msgstr "的单位无效 {height}U 型机架: {unit_list}"
+msgstr "{height}U机柜中无效的U位: {unit_list}"
-#: dcim/models/racks.py:580
+#: netbox/dcim/models/racks.py:580
#, python-brace-format
msgid "The following units have already been reserved: {unit_list}"
-msgstr "以下单位已被预订: {unit_list}"
+msgstr "以下U位已被保留:{unit_list}"
-#: dcim/models/sites.py:49
+#: netbox/dcim/models/sites.py:49
msgid "A top-level region with this name already exists."
-msgstr "使用此名称的顶级区域已经存在。"
+msgstr "具有此名称的顶级区域已存在。"
-#: dcim/models/sites.py:59
+#: netbox/dcim/models/sites.py:59
msgid "A top-level region with this slug already exists."
-msgstr "已经存在带有此子弹的顶级区域。"
+msgstr "具有此缩写的顶级区域已经存在。"
-#: dcim/models/sites.py:62
+#: netbox/dcim/models/sites.py:62
msgid "region"
-msgstr "领域"
+msgstr "地区"
-#: dcim/models/sites.py:63
+#: netbox/dcim/models/sites.py:63
msgid "regions"
msgstr "地区"
-#: dcim/models/sites.py:102
+#: netbox/dcim/models/sites.py:102
msgid "A top-level site group with this name already exists."
-msgstr "使用此名称的顶级站点组已经存在。"
+msgstr "具有此名称的顶级站点组已存在。"
-#: dcim/models/sites.py:112
+#: netbox/dcim/models/sites.py:112
msgid "A top-level site group with this slug already exists."
-msgstr "带有此子句的顶级站点组已经存在。"
+msgstr "具有此缩写的顶级站点组已存在。"
-#: dcim/models/sites.py:115
+#: netbox/dcim/models/sites.py:115
msgid "site group"
msgstr "站点组"
-#: dcim/models/sites.py:116
+#: netbox/dcim/models/sites.py:116
msgid "site groups"
-msgstr "网站群组"
+msgstr "站点组"
-#: dcim/models/sites.py:141
+#: netbox/dcim/models/sites.py:141
msgid "Full name of the site"
-msgstr "网站的全名"
+msgstr "站点全名"
-#: dcim/models/sites.py:181 dcim/models/sites.py:279
+#: netbox/dcim/models/sites.py:181 netbox/dcim/models/sites.py:279
msgid "facility"
msgstr "设施"
-#: dcim/models/sites.py:184 dcim/models/sites.py:282
+#: netbox/dcim/models/sites.py:184 netbox/dcim/models/sites.py:282
msgid "Local facility ID or description"
msgstr "本地设施 ID 或描述"
-#: dcim/models/sites.py:195
+#: netbox/dcim/models/sites.py:195
msgid "physical address"
-msgstr "物理地址"
+msgstr "实体地址"
-#: dcim/models/sites.py:198
+#: netbox/dcim/models/sites.py:198
msgid "Physical location of the building"
-msgstr "建筑物的物理位置"
+msgstr "机房的实体位置"
-#: dcim/models/sites.py:201
+#: netbox/dcim/models/sites.py:201
msgid "shipping address"
-msgstr "送货地址"
+msgstr "快递地址"
-#: dcim/models/sites.py:204
+#: netbox/dcim/models/sites.py:204
msgid "If different from the physical address"
-msgstr "如果与物理地址不同"
+msgstr "若与实体地址不同"
-#: dcim/models/sites.py:238
+#: netbox/dcim/models/sites.py:238
msgid "site"
+msgstr "site"
+
+#: netbox/dcim/models/sites.py:239
+msgid "sites"
msgstr "站点"
-#: dcim/models/sites.py:239
-msgid "sites"
-msgstr "网站"
-
-#: dcim/models/sites.py:309
+#: netbox/dcim/models/sites.py:309
msgid "A location with this name already exists within the specified site."
-msgstr "指定站点中已存在具有此名称的地点。"
+msgstr "指定的站点中已存在此名称的位置。"
-#: dcim/models/sites.py:319
+#: netbox/dcim/models/sites.py:319
msgid "A location with this slug already exists within the specified site."
-msgstr "指定站点中已经存在带有此子句的位置。"
+msgstr "指定的站点中已存在此缩写的位置。"
-#: dcim/models/sites.py:322
+#: netbox/dcim/models/sites.py:322
msgid "location"
-msgstr "位置"
+msgstr "室内位置"
-#: dcim/models/sites.py:323
+#: netbox/dcim/models/sites.py:323
msgid "locations"
-msgstr "地点"
+msgstr "室内位置"
-#: dcim/models/sites.py:337
+#: netbox/dcim/models/sites.py:337
#, python-brace-format
msgid "Parent location ({parent}) must belong to the same site ({site})."
-msgstr "家长所在地 ({parent}) 必须属于同一个站点 ({site})。"
+msgstr "父位置({parent})必须属于同一站点({site})。"
-#: dcim/tables/cables.py:54
+#: netbox/dcim/tables/cables.py:55
msgid "Termination A"
-msgstr "终止 A"
+msgstr "本端A"
-#: dcim/tables/cables.py:59
+#: netbox/dcim/tables/cables.py:60
msgid "Termination B"
-msgstr "终止 B"
+msgstr "对端B"
-#: dcim/tables/cables.py:65 wireless/tables/wirelesslink.py:22
+#: netbox/dcim/tables/cables.py:66 netbox/wireless/tables/wirelesslink.py:22
msgid "Device A"
-msgstr "设备 A"
+msgstr "设备A"
-#: dcim/tables/cables.py:71 wireless/tables/wirelesslink.py:31
+#: netbox/dcim/tables/cables.py:72 netbox/wireless/tables/wirelesslink.py:31
msgid "Device B"
-msgstr "设备 B"
+msgstr "设备B"
-#: dcim/tables/cables.py:77
+#: netbox/dcim/tables/cables.py:78
msgid "Location A"
-msgstr "地点 A"
+msgstr "位置A"
-#: dcim/tables/cables.py:83
+#: netbox/dcim/tables/cables.py:84
msgid "Location B"
-msgstr "地点 B"
+msgstr "位置B"
-#: dcim/tables/cables.py:89
+#: netbox/dcim/tables/cables.py:90
msgid "Rack A"
-msgstr "机架 A"
+msgstr "机柜A"
-#: dcim/tables/cables.py:95
+#: netbox/dcim/tables/cables.py:96
msgid "Rack B"
-msgstr "机架 B"
+msgstr "机柜B"
-#: dcim/tables/cables.py:101
+#: netbox/dcim/tables/cables.py:102
msgid "Site A"
-msgstr "站点 A"
+msgstr "站点A"
-#: dcim/tables/cables.py:107
+#: netbox/dcim/tables/cables.py:108
msgid "Site B"
-msgstr "站点 B"
+msgstr "站点B"
-#: dcim/tables/connections.py:31 dcim/tables/connections.py:50
-#: dcim/tables/connections.py:71
-#: templates/dcim/inc/connection_endpoints.html:16
+#: netbox/dcim/tables/connections.py:31 netbox/dcim/tables/connections.py:50
+#: netbox/dcim/tables/connections.py:71
+#: netbox/templates/dcim/inc/connection_endpoints.html:16
msgid "Reachable"
-msgstr "可到达"
+msgstr "可达性"
-#: dcim/tables/devices.py:66 dcim/tables/devices.py:111
-#: dcim/tables/racks.py:81 dcim/tables/sites.py:143
-#: extras/tables/tables.py:435 netbox/navigation/menu.py:56
-#: netbox/navigation/menu.py:60 netbox/navigation/menu.py:62
-#: virtualization/forms/model_forms.py:122
-#: virtualization/tables/clusters.py:83 virtualization/views.py:210
+#: netbox/dcim/tables/devices.py:58 netbox/dcim/tables/devices.py:103
+#: netbox/dcim/tables/racks.py:81 netbox/dcim/tables/sites.py:143
+#: netbox/extras/tables/tables.py:436 netbox/netbox/navigation/menu.py:56
+#: netbox/netbox/navigation/menu.py:60 netbox/netbox/navigation/menu.py:62
+#: netbox/virtualization/forms/model_forms.py:122
+#: netbox/virtualization/tables/clusters.py:83
+#: netbox/virtualization/views.py:205
msgid "Devices"
msgstr "设备"
-#: dcim/tables/devices.py:71 dcim/tables/devices.py:116
-#: virtualization/tables/clusters.py:88
+#: netbox/dcim/tables/devices.py:63 netbox/dcim/tables/devices.py:108
+#: netbox/virtualization/tables/clusters.py:88
msgid "VMs"
-msgstr "虚拟机"
+msgstr "VMs"
-#: dcim/tables/devices.py:105 dcim/tables/devices.py:221
-#: extras/forms/model_forms.py:506 templates/dcim/device.html:111
-#: templates/dcim/device/render_config.html:11
-#: templates/dcim/device/render_config.html:14
-#: templates/dcim/devicerole.html:44 templates/dcim/platform.html:41
-#: templates/extras/configtemplate.html:10
-#: templates/virtualization/virtualmachine.html:44
-#: templates/virtualization/virtualmachine/render_config.html:11
-#: templates/virtualization/virtualmachine/render_config.html:14
-#: virtualization/tables/virtualmachines.py:106
+#: netbox/dcim/tables/devices.py:97 netbox/dcim/tables/devices.py:213
+#: netbox/extras/forms/model_forms.py:506
+#: netbox/templates/dcim/device.html:112
+#: netbox/templates/dcim/device/render_config.html:11
+#: netbox/templates/dcim/device/render_config.html:14
+#: netbox/templates/dcim/devicerole.html:44
+#: netbox/templates/dcim/platform.html:41
+#: netbox/templates/extras/configtemplate.html:10
+#: netbox/templates/virtualization/virtualmachine.html:44
+#: netbox/templates/virtualization/virtualmachine/render_config.html:11
+#: netbox/templates/virtualization/virtualmachine/render_config.html:14
+#: netbox/virtualization/tables/virtualmachines.py:106
msgid "Config Template"
-msgstr "配置模板"
+msgstr "配置模版"
-#: dcim/tables/devices.py:155 templates/dcim/sitegroup.html:26
+#: netbox/dcim/tables/devices.py:147 netbox/templates/dcim/sitegroup.html:26
msgid "Site Group"
msgstr "站点组"
-#: dcim/tables/devices.py:192 dcim/tables/devices.py:1051
-#: ipam/forms/bulk_import.py:511 ipam/forms/model_forms.py:304
-#: ipam/forms/model_forms.py:313 ipam/tables/ip.py:352 ipam/tables/ip.py:418
-#: ipam/tables/ip.py:441 templates/ipam/ipaddress.html:11
-#: virtualization/tables/virtualmachines.py:94
+#: netbox/dcim/tables/devices.py:184 netbox/dcim/tables/devices.py:1033
+#: netbox/ipam/forms/bulk_import.py:511 netbox/ipam/forms/model_forms.py:304
+#: netbox/ipam/forms/model_forms.py:313 netbox/ipam/tables/ip.py:352
+#: netbox/ipam/tables/ip.py:418 netbox/ipam/tables/ip.py:441
+#: netbox/templates/ipam/ipaddress.html:11
+#: netbox/virtualization/tables/virtualmachines.py:94
msgid "IP Address"
-msgstr "IP 地址"
+msgstr "IP地址"
-#: dcim/tables/devices.py:196 dcim/tables/devices.py:1055
-#: virtualization/tables/virtualmachines.py:85
+#: netbox/dcim/tables/devices.py:188 netbox/dcim/tables/devices.py:1037
+#: netbox/virtualization/tables/virtualmachines.py:85
msgid "IPv4 Address"
msgstr "IPv4 地址"
-#: dcim/tables/devices.py:200 dcim/tables/devices.py:1059
-#: virtualization/tables/virtualmachines.py:89
+#: netbox/dcim/tables/devices.py:192 netbox/dcim/tables/devices.py:1041
+#: netbox/virtualization/tables/virtualmachines.py:89
msgid "IPv6 Address"
msgstr "IPv6 地址"
-#: dcim/tables/devices.py:215
+#: netbox/dcim/tables/devices.py:207
msgid "VC Position"
-msgstr "风险投资职位"
+msgstr "堆叠位置"
-#: dcim/tables/devices.py:218
+#: netbox/dcim/tables/devices.py:210
msgid "VC Priority"
-msgstr "风险投资优先级"
+msgstr "堆叠优先级"
-#: dcim/tables/devices.py:225 templates/dcim/device_edit.html:38
-#: templates/dcim/devicebay_populate.html:16
+#: netbox/dcim/tables/devices.py:217 netbox/templates/dcim/device_edit.html:38
+#: netbox/templates/dcim/devicebay_populate.html:16
msgid "Parent Device"
-msgstr "家长设备"
+msgstr "父设备"
-#: dcim/tables/devices.py:230
+#: netbox/dcim/tables/devices.py:222
msgid "Position (Device Bay)"
-msgstr "位置(设备托架)"
+msgstr "位置(设备托架)"
-#: dcim/tables/devices.py:239
+#: netbox/dcim/tables/devices.py:231
msgid "Console ports"
-msgstr "控制台端口"
+msgstr "Console 端口"
-#: dcim/tables/devices.py:242
+#: netbox/dcim/tables/devices.py:234
msgid "Console server ports"
-msgstr "控制台服务器端口"
+msgstr "Console 服务器端口"
-#: dcim/tables/devices.py:245
+#: netbox/dcim/tables/devices.py:237
msgid "Power ports"
-msgstr "电源端口"
+msgstr "电源接口"
-#: dcim/tables/devices.py:248
+#: netbox/dcim/tables/devices.py:240
msgid "Power outlets"
msgstr "电源插座"
-#: dcim/tables/devices.py:251 dcim/tables/devices.py:1064
-#: dcim/tables/devicetypes.py:125 dcim/views.py:1006 dcim/views.py:1245
-#: dcim/views.py:1931 netbox/navigation/menu.py:81
-#: netbox/navigation/menu.py:237 templates/dcim/device/base.html:37
-#: templates/dcim/device_list.html:43 templates/dcim/devicetype/base.html:34
-#: templates/dcim/module.html:34 templates/dcim/moduletype/base.html:34
-#: templates/dcim/virtualdevicecontext.html:61
-#: templates/dcim/virtualdevicecontext.html:81
-#: templates/virtualization/virtualmachine/base.html:27
-#: templates/virtualization/virtualmachine_list.html:14
-#: virtualization/tables/virtualmachines.py:100 virtualization/views.py:367
-#: wireless/tables/wirelesslan.py:55
+#: netbox/dcim/tables/devices.py:243 netbox/dcim/tables/devices.py:1046
+#: netbox/dcim/tables/devicetypes.py:125 netbox/dcim/views.py:988
+#: netbox/dcim/views.py:1227 netbox/dcim/views.py:1908
+#: netbox/netbox/navigation/menu.py:81 netbox/netbox/navigation/menu.py:237
+#: netbox/templates/dcim/device/base.html:37
+#: netbox/templates/dcim/device_list.html:43
+#: netbox/templates/dcim/devicetype/base.html:34
+#: netbox/templates/dcim/module.html:34
+#: netbox/templates/dcim/moduletype/base.html:34
+#: netbox/templates/dcim/virtualdevicecontext.html:61
+#: netbox/templates/dcim/virtualdevicecontext.html:81
+#: netbox/templates/virtualization/virtualmachine/base.html:27
+#: netbox/templates/virtualization/virtualmachine_list.html:14
+#: netbox/virtualization/tables/virtualmachines.py:100
+#: netbox/virtualization/views.py:363 netbox/wireless/tables/wirelesslan.py:55
msgid "Interfaces"
msgstr "接口"
-#: dcim/tables/devices.py:254
+#: netbox/dcim/tables/devices.py:246
msgid "Front ports"
-msgstr "前端口"
+msgstr "前置端口"
-#: dcim/tables/devices.py:260
+#: netbox/dcim/tables/devices.py:252
msgid "Device bays"
msgstr "设备托架"
-#: dcim/tables/devices.py:263
+#: netbox/dcim/tables/devices.py:255
msgid "Module bays"
-msgstr "模块托架"
+msgstr "设备板卡插槽"
-#: dcim/tables/devices.py:266
+#: netbox/dcim/tables/devices.py:258
msgid "Inventory items"
-msgstr "库存物品"
+msgstr "库存项"
-#: dcim/tables/devices.py:305 dcim/tables/modules.py:56
-#: templates/dcim/modulebay.html:17
+#: netbox/dcim/tables/devices.py:297 netbox/dcim/tables/modules.py:56
+#: netbox/templates/dcim/modulebay.html:17
msgid "Module Bay"
-msgstr "模块托架"
+msgstr "设备板卡插槽"
-#: dcim/tables/devices.py:318 dcim/tables/devicetypes.py:48
-#: dcim/tables/devicetypes.py:140 dcim/views.py:1081 dcim/views.py:2024
-#: netbox/navigation/menu.py:90 templates/dcim/device/base.html:52
-#: templates/dcim/device_list.html:71 templates/dcim/devicetype/base.html:49
-#: templates/dcim/inc/panels/inventory_items.html:6
-#: templates/dcim/inventoryitemrole.html:32
+#: netbox/dcim/tables/devices.py:310 netbox/dcim/tables/devicetypes.py:48
+#: netbox/dcim/tables/devicetypes.py:140 netbox/dcim/views.py:1063
+#: netbox/dcim/views.py:2006 netbox/netbox/navigation/menu.py:90
+#: netbox/templates/dcim/device/base.html:52
+#: netbox/templates/dcim/device_list.html:71
+#: netbox/templates/dcim/devicetype/base.html:49
+#: netbox/templates/dcim/inc/panels/inventory_items.html:6
+#: netbox/templates/dcim/inventoryitemrole.html:32
msgid "Inventory Items"
-msgstr "库存物品"
+msgstr "库存项目"
-#: dcim/tables/devices.py:330
+#: netbox/dcim/tables/devices.py:322
msgid "Cable Color"
-msgstr "电缆颜色"
+msgstr "线缆颜色"
-#: dcim/tables/devices.py:336
+#: netbox/dcim/tables/devices.py:328
msgid "Link Peers"
-msgstr "链接同行"
+msgstr "链接对等体"
-#: dcim/tables/devices.py:339
+#: netbox/dcim/tables/devices.py:331
msgid "Mark Connected"
-msgstr "标记为已连接"
+msgstr "标记已连接"
-#: dcim/tables/devices.py:455
+#: netbox/dcim/tables/devices.py:449
msgid "Maximum draw (W)"
-msgstr "最大消耗 (W)"
+msgstr "最大功率(W)"
-#: dcim/tables/devices.py:458
+#: netbox/dcim/tables/devices.py:452
msgid "Allocated draw (W)"
-msgstr "分配的抽奖 (W)"
+msgstr "分配功率(W)"
-#: dcim/tables/devices.py:558 ipam/forms/model_forms.py:747
-#: ipam/tables/fhrp.py:28 ipam/views.py:602 ipam/views.py:701
-#: netbox/navigation/menu.py:145 netbox/navigation/menu.py:147
-#: templates/dcim/interface.html:339 templates/ipam/ipaddress_bulk_add.html:15
-#: templates/ipam/service.html:40 templates/virtualization/vminterface.html:85
-#: vpn/tables/tunnels.py:98
+#: netbox/dcim/tables/devices.py:546 netbox/ipam/forms/model_forms.py:747
+#: netbox/ipam/tables/fhrp.py:28 netbox/ipam/views.py:596
+#: netbox/ipam/views.py:696 netbox/netbox/navigation/menu.py:145
+#: netbox/netbox/navigation/menu.py:147
+#: netbox/templates/dcim/interface.html:339
+#: netbox/templates/ipam/ipaddress_bulk_add.html:15
+#: netbox/templates/ipam/service.html:40
+#: netbox/templates/virtualization/vminterface.html:85
+#: netbox/vpn/tables/tunnels.py:98
msgid "IP Addresses"
-msgstr "IP 地址"
+msgstr "IP地址"
-#: dcim/tables/devices.py:564 netbox/navigation/menu.py:189
-#: templates/ipam/inc/panels/fhrp_groups.html:6
+#: netbox/dcim/tables/devices.py:552 netbox/netbox/navigation/menu.py:189
+#: netbox/templates/ipam/inc/panels/fhrp_groups.html:6
msgid "FHRP Groups"
-msgstr "FHRP 群组"
+msgstr "网关冗余协议组"
-#: dcim/tables/devices.py:576 templates/dcim/interface.html:89
-#: templates/virtualization/vminterface.html:67 templates/vpn/tunnel.html:18
-#: templates/vpn/tunneltermination.html:13 vpn/forms/bulk_edit.py:76
-#: vpn/forms/bulk_import.py:76 vpn/forms/filtersets.py:42
-#: vpn/forms/filtersets.py:82 vpn/forms/model_forms.py:60
-#: vpn/forms/model_forms.py:145 vpn/tables/tunnels.py:78
+#: netbox/dcim/tables/devices.py:564 netbox/templates/dcim/interface.html:89
+#: netbox/templates/virtualization/vminterface.html:67
+#: netbox/templates/vpn/tunnel.html:18
+#: netbox/templates/vpn/tunneltermination.html:13
+#: netbox/vpn/forms/bulk_edit.py:76 netbox/vpn/forms/bulk_import.py:76
+#: netbox/vpn/forms/filtersets.py:42 netbox/vpn/forms/filtersets.py:82
+#: netbox/vpn/forms/model_forms.py:60 netbox/vpn/forms/model_forms.py:145
+#: netbox/vpn/tables/tunnels.py:78
msgid "Tunnel"
msgstr "隧道"
-#: dcim/tables/devices.py:601 dcim/tables/devicetypes.py:224
-#: templates/dcim/interface.html:65
+#: netbox/dcim/tables/devices.py:589 netbox/dcim/tables/devicetypes.py:224
+#: netbox/templates/dcim/interface.html:65
msgid "Management Only"
msgstr "仅限管理"
-#: dcim/tables/devices.py:619
+#: netbox/dcim/tables/devices.py:607
msgid "VDCs"
-msgstr "VDC"
+msgstr "VDCs"
-#: dcim/tables/devices.py:870 templates/dcim/modulebay.html:49
+#: netbox/dcim/tables/devices.py:852 netbox/templates/dcim/modulebay.html:49
msgid "Installed Module"
msgstr "已安装的模块"
-#: dcim/tables/devices.py:873
+#: netbox/dcim/tables/devices.py:855
msgid "Module Serial"
-msgstr "模块序列号"
+msgstr "模块状态"
-#: dcim/tables/devices.py:877
+#: netbox/dcim/tables/devices.py:859
msgid "Module Asset Tag"
msgstr "模块资产标签"
-#: dcim/tables/devices.py:886
+#: netbox/dcim/tables/devices.py:868
msgid "Module Status"
msgstr "模块状态"
-#: dcim/tables/devices.py:928 dcim/tables/devicetypes.py:308
-#: templates/dcim/inventoryitem.html:40
+#: netbox/dcim/tables/devices.py:910 netbox/dcim/tables/devicetypes.py:308
+#: netbox/templates/dcim/inventoryitem.html:40
msgid "Component"
msgstr "组件"
-#: dcim/tables/devices.py:983
+#: netbox/dcim/tables/devices.py:965
msgid "Items"
-msgstr "物品"
+msgstr "项目"
-#: dcim/tables/devicetypes.py:38 netbox/navigation/menu.py:71
-#: netbox/navigation/menu.py:73
+#: netbox/dcim/tables/devicetypes.py:38 netbox/netbox/navigation/menu.py:71
+#: netbox/netbox/navigation/menu.py:73
msgid "Device Types"
-msgstr "设备类型"
+msgstr "设备型号"
-#: dcim/tables/devicetypes.py:43 netbox/navigation/menu.py:74
+#: netbox/dcim/tables/devicetypes.py:43 netbox/netbox/navigation/menu.py:74
msgid "Module Types"
-msgstr "模块类型"
+msgstr "设备配件类型"
-#: dcim/tables/devicetypes.py:53 extras/forms/filtersets.py:380
-#: extras/forms/model_forms.py:413 extras/tables/tables.py:430
-#: netbox/navigation/menu.py:65
+#: netbox/dcim/tables/devicetypes.py:53 netbox/extras/forms/filtersets.py:380
+#: netbox/extras/forms/model_forms.py:413 netbox/extras/tables/tables.py:431
+#: netbox/netbox/navigation/menu.py:65
msgid "Platforms"
-msgstr "平台"
+msgstr "操作系统"
-#: dcim/tables/devicetypes.py:85 templates/dcim/devicetype.html:29
+#: netbox/dcim/tables/devicetypes.py:85
+#: netbox/templates/dcim/devicetype.html:29
msgid "Default Platform"
-msgstr "默认平台"
+msgstr "默认系统平台"
-#: dcim/tables/devicetypes.py:89 templates/dcim/devicetype.html:45
+#: netbox/dcim/tables/devicetypes.py:89
+#: netbox/templates/dcim/devicetype.html:45
msgid "Full Depth"
-msgstr "全深度"
+msgstr "全尺寸"
-#: dcim/tables/devicetypes.py:98
+#: netbox/dcim/tables/devicetypes.py:98
msgid "U Height"
-msgstr "U 形高度"
+msgstr "U高度"
-#: dcim/tables/devicetypes.py:110 dcim/tables/modules.py:26
+#: netbox/dcim/tables/devicetypes.py:110 netbox/dcim/tables/modules.py:26
msgid "Instances"
msgstr "实例"
-#: dcim/tables/devicetypes.py:113 dcim/views.py:946 dcim/views.py:1185
-#: dcim/views.py:1871 netbox/navigation/menu.py:84
-#: templates/dcim/device/base.html:25 templates/dcim/device_list.html:15
-#: templates/dcim/devicetype/base.html:22 templates/dcim/module.html:22
-#: templates/dcim/moduletype/base.html:22
+#: netbox/dcim/tables/devicetypes.py:113 netbox/dcim/views.py:928
+#: netbox/dcim/views.py:1167 netbox/dcim/views.py:1844
+#: netbox/netbox/navigation/menu.py:84
+#: netbox/templates/dcim/device/base.html:25
+#: netbox/templates/dcim/device_list.html:15
+#: netbox/templates/dcim/devicetype/base.html:22
+#: netbox/templates/dcim/module.html:22
+#: netbox/templates/dcim/moduletype/base.html:22
msgid "Console Ports"
-msgstr "控制台端口"
+msgstr "Console口"
-#: dcim/tables/devicetypes.py:116 dcim/views.py:961 dcim/views.py:1200
-#: dcim/views.py:1886 netbox/navigation/menu.py:85
-#: templates/dcim/device/base.html:28 templates/dcim/device_list.html:22
-#: templates/dcim/devicetype/base.html:25 templates/dcim/module.html:25
-#: templates/dcim/moduletype/base.html:25
+#: netbox/dcim/tables/devicetypes.py:116 netbox/dcim/views.py:943
+#: netbox/dcim/views.py:1182 netbox/dcim/views.py:1860
+#: netbox/netbox/navigation/menu.py:85
+#: netbox/templates/dcim/device/base.html:28
+#: netbox/templates/dcim/device_list.html:22
+#: netbox/templates/dcim/devicetype/base.html:25
+#: netbox/templates/dcim/module.html:25
+#: netbox/templates/dcim/moduletype/base.html:25
msgid "Console Server Ports"
-msgstr "控制台服务器端口"
+msgstr "Console 服务端口"
-#: dcim/tables/devicetypes.py:119 dcim/views.py:976 dcim/views.py:1215
-#: dcim/views.py:1901 netbox/navigation/menu.py:86
-#: templates/dcim/device/base.html:31 templates/dcim/device_list.html:29
-#: templates/dcim/devicetype/base.html:28 templates/dcim/module.html:28
-#: templates/dcim/moduletype/base.html:28
+#: netbox/dcim/tables/devicetypes.py:119 netbox/dcim/views.py:958
+#: netbox/dcim/views.py:1197 netbox/dcim/views.py:1876
+#: netbox/netbox/navigation/menu.py:86
+#: netbox/templates/dcim/device/base.html:31
+#: netbox/templates/dcim/device_list.html:29
+#: netbox/templates/dcim/devicetype/base.html:28
+#: netbox/templates/dcim/module.html:28
+#: netbox/templates/dcim/moduletype/base.html:28
msgid "Power Ports"
-msgstr "电源端口"
+msgstr "电源接口"
-#: dcim/tables/devicetypes.py:122 dcim/views.py:991 dcim/views.py:1230
-#: dcim/views.py:1916 netbox/navigation/menu.py:87
-#: templates/dcim/device/base.html:34 templates/dcim/device_list.html:36
-#: templates/dcim/devicetype/base.html:31 templates/dcim/module.html:31
-#: templates/dcim/moduletype/base.html:31
+#: netbox/dcim/tables/devicetypes.py:122 netbox/dcim/views.py:973
+#: netbox/dcim/views.py:1212 netbox/dcim/views.py:1892
+#: netbox/netbox/navigation/menu.py:87
+#: netbox/templates/dcim/device/base.html:34
+#: netbox/templates/dcim/device_list.html:36
+#: netbox/templates/dcim/devicetype/base.html:31
+#: netbox/templates/dcim/module.html:31
+#: netbox/templates/dcim/moduletype/base.html:31
msgid "Power Outlets"
-msgstr "电源插座"
+msgstr "PDU"
-#: dcim/tables/devicetypes.py:128 dcim/views.py:1021 dcim/views.py:1260
-#: dcim/views.py:1952 netbox/navigation/menu.py:82
-#: templates/dcim/device/base.html:40 templates/dcim/devicetype/base.html:37
-#: templates/dcim/module.html:37 templates/dcim/moduletype/base.html:37
+#: netbox/dcim/tables/devicetypes.py:128 netbox/dcim/views.py:1003
+#: netbox/dcim/views.py:1242 netbox/dcim/views.py:1930
+#: netbox/netbox/navigation/menu.py:82
+#: netbox/templates/dcim/device/base.html:40
+#: netbox/templates/dcim/devicetype/base.html:37
+#: netbox/templates/dcim/module.html:37
+#: netbox/templates/dcim/moduletype/base.html:37
msgid "Front Ports"
-msgstr "前端端口"
+msgstr "前置端口"
-#: dcim/tables/devicetypes.py:131 dcim/views.py:1036 dcim/views.py:1275
-#: dcim/views.py:1967 netbox/navigation/menu.py:83
-#: templates/dcim/device/base.html:43 templates/dcim/device_list.html:50
-#: templates/dcim/devicetype/base.html:40 templates/dcim/module.html:40
-#: templates/dcim/moduletype/base.html:40
+#: netbox/dcim/tables/devicetypes.py:131 netbox/dcim/views.py:1018
+#: netbox/dcim/views.py:1257 netbox/dcim/views.py:1946
+#: netbox/netbox/navigation/menu.py:83
+#: netbox/templates/dcim/device/base.html:43
+#: netbox/templates/dcim/device_list.html:50
+#: netbox/templates/dcim/devicetype/base.html:40
+#: netbox/templates/dcim/module.html:40
+#: netbox/templates/dcim/moduletype/base.html:40
msgid "Rear Ports"
-msgstr "后端端口"
+msgstr "后置端口"
-#: dcim/tables/devicetypes.py:134 dcim/views.py:1066 dcim/views.py:2005
-#: netbox/navigation/menu.py:89 templates/dcim/device/base.html:49
-#: templates/dcim/device_list.html:57 templates/dcim/devicetype/base.html:46
+#: netbox/dcim/tables/devicetypes.py:134 netbox/dcim/views.py:1048
+#: netbox/dcim/views.py:1986 netbox/netbox/navigation/menu.py:89
+#: netbox/templates/dcim/device/base.html:49
+#: netbox/templates/dcim/device_list.html:57
+#: netbox/templates/dcim/devicetype/base.html:46
msgid "Device Bays"
-msgstr "设备托架"
+msgstr "机柜托架"
-#: dcim/tables/devicetypes.py:137 dcim/views.py:1051 dcim/views.py:1986
-#: netbox/navigation/menu.py:88 templates/dcim/device/base.html:46
-#: templates/dcim/device_list.html:64 templates/dcim/devicetype/base.html:43
+#: netbox/dcim/tables/devicetypes.py:137 netbox/dcim/views.py:1033
+#: netbox/dcim/views.py:1966 netbox/netbox/navigation/menu.py:88
+#: netbox/templates/dcim/device/base.html:46
+#: netbox/templates/dcim/device_list.html:64
+#: netbox/templates/dcim/devicetype/base.html:43
msgid "Module Bays"
-msgstr "模块托架"
+msgstr "设备板卡插槽"
-#: dcim/tables/power.py:36 netbox/navigation/menu.py:282
-#: templates/dcim/powerpanel.html:51
+#: netbox/dcim/tables/power.py:36 netbox/netbox/navigation/menu.py:282
+#: netbox/templates/dcim/powerpanel.html:51
msgid "Power Feeds"
-msgstr "电源供应"
+msgstr "电力来源"
-#: dcim/tables/power.py:80 templates/dcim/powerfeed.html:99
+#: netbox/dcim/tables/power.py:80 netbox/templates/dcim/powerfeed.html:99
msgid "Max Utilization"
-msgstr "最大利用率"
+msgstr "电源面板"
-#: dcim/tables/power.py:84
+#: netbox/dcim/tables/power.py:84
msgid "Available Power (VA)"
msgstr "可用功率 (VA)"
-#: dcim/tables/racks.py:29 dcim/tables/sites.py:138
-#: netbox/navigation/menu.py:24 netbox/navigation/menu.py:26
+#: netbox/dcim/tables/racks.py:29 netbox/dcim/tables/sites.py:138
+#: netbox/netbox/navigation/menu.py:24 netbox/netbox/navigation/menu.py:26
msgid "Racks"
-msgstr "机架"
+msgstr "机柜"
-#: dcim/tables/racks.py:73 templates/dcim/device.html:310
-#: templates/dcim/rack.html:90
+#: netbox/dcim/tables/racks.py:73 netbox/templates/dcim/device.html:318
+#: netbox/templates/dcim/rack.html:90
msgid "Height"
-msgstr "身高"
+msgstr "高度"
-#: dcim/tables/racks.py:85
+#: netbox/dcim/tables/racks.py:85
msgid "Space"
-msgstr "太空"
+msgstr "空间"
-#: dcim/tables/racks.py:96 templates/dcim/rack.html:100
+#: netbox/dcim/tables/racks.py:96 netbox/templates/dcim/rack.html:100
msgid "Outer Width"
msgstr "外部宽度"
-#: dcim/tables/racks.py:100 templates/dcim/rack.html:110
+#: netbox/dcim/tables/racks.py:100 netbox/templates/dcim/rack.html:110
msgid "Outer Depth"
-msgstr "外部深度"
+msgstr "外部长度/深度"
-#: dcim/tables/racks.py:108
+#: netbox/dcim/tables/racks.py:108
msgid "Max Weight"
-msgstr "最大重量"
+msgstr "最大承重"
-#: dcim/tables/sites.py:30 dcim/tables/sites.py:57
-#: extras/forms/filtersets.py:360 extras/forms/model_forms.py:393
-#: ipam/forms/bulk_edit.py:129 ipam/forms/model_forms.py:151
-#: ipam/tables/asn.py:66 netbox/navigation/menu.py:15
-#: netbox/navigation/menu.py:17
+#: netbox/dcim/tables/sites.py:30 netbox/dcim/tables/sites.py:57
+#: netbox/extras/forms/filtersets.py:360
+#: netbox/extras/forms/model_forms.py:393 netbox/ipam/forms/bulk_edit.py:129
+#: netbox/ipam/forms/model_forms.py:151 netbox/ipam/tables/asn.py:66
+#: netbox/netbox/navigation/menu.py:15 netbox/netbox/navigation/menu.py:17
msgid "Sites"
msgstr "站点"
-#: dcim/tests/test_api.py:50
+#: netbox/dcim/tests/test_api.py:50
msgid "Test case must set peer_termination_type"
-msgstr "测试用例必须设置 peer_termination_type"
+msgstr "测试用例必须设置对端端点类型"
-#: dcim/views.py:137
+#: netbox/dcim/views.py:140
#, python-brace-format
msgid "Disconnected {count} {type}"
-msgstr "断开连接 {count} {type}"
+msgstr "已断开连接{count} {type}"
-#: dcim/views.py:698 netbox/navigation/menu.py:28
+#: netbox/dcim/views.py:686 netbox/netbox/navigation/menu.py:28
msgid "Reservations"
-msgstr "预订"
+msgstr "机柜预留"
-#: dcim/views.py:716 templates/dcim/location.html:90
-#: templates/dcim/site.html:139
+#: netbox/dcim/views.py:705 netbox/templates/dcim/location.html:90
+#: netbox/templates/dcim/site.html:140
msgid "Non-Racked Devices"
-msgstr "非机架设备"
+msgstr "未上架设备"
-#: dcim/views.py:2037 extras/forms/model_forms.py:453
-#: templates/extras/configcontext.html:10
-#: virtualization/forms/model_forms.py:225 virtualization/views.py:407
+#: netbox/dcim/views.py:2019 netbox/extras/forms/model_forms.py:453
+#: netbox/templates/extras/configcontext.html:10
+#: netbox/virtualization/forms/model_forms.py:225
+#: netbox/virtualization/views.py:404
msgid "Config Context"
-msgstr "配置上下文"
+msgstr "配置实例"
-#: dcim/views.py:2047 virtualization/views.py:417
+#: netbox/dcim/views.py:2029 netbox/virtualization/views.py:414
msgid "Render Config"
-msgstr "渲染配置"
+msgstr "提交配置"
-#: dcim/views.py:2097 extras/tables/tables.py:440
-#: netbox/navigation/menu.py:234 netbox/navigation/menu.py:236
-#: virtualization/views.py:185
+#: netbox/dcim/views.py:2080 netbox/extras/tables/tables.py:441
+#: netbox/netbox/navigation/menu.py:234 netbox/netbox/navigation/menu.py:236
+#: netbox/virtualization/views.py:179
msgid "Virtual Machines"
msgstr "虚拟机"
-#: dcim/views.py:2989 ipam/tables/ip.py:233
+#: netbox/dcim/views.py:2963 netbox/ipam/tables/ip.py:233
msgid "Children"
-msgstr "孩子们"
+msgstr "子网"
-#: extras/api/customfields.py:88
+#: netbox/extras/api/customfields.py:88
#, python-brace-format
msgid "Unknown related object(s): {name}"
-msgstr "未知的相关对象: {name}"
+msgstr "未知的相关对象: {name}"
-#: extras/api/serializers_/customfields.py:74
+#: netbox/extras/api/serializers_/customfields.py:74
msgid "Changing the type of custom fields is not supported."
msgstr "不支持更改自定义字段的类型。"
-#: extras/api/serializers_/scripts.py:71 extras/api/serializers_/scripts.py:76
+#: netbox/extras/api/serializers_/scripts.py:71
+#: netbox/extras/api/serializers_/scripts.py:76
msgid "Scheduling is not enabled for this script."
-msgstr "此脚本未启用调度。"
+msgstr "脚本计划未启用。"
-#: extras/choices.py:30 extras/forms/misc.py:14
+#: netbox/extras/choices.py:30 netbox/extras/forms/misc.py:14
msgid "Text"
msgstr "文本"
-#: extras/choices.py:31
+#: netbox/extras/choices.py:31
msgid "Text (long)"
-msgstr "文本(长)"
+msgstr "长文本"
-#: extras/choices.py:32
+#: netbox/extras/choices.py:32
msgid "Integer"
msgstr "整数"
-#: extras/choices.py:33
+#: netbox/extras/choices.py:33
msgid "Decimal"
-msgstr "十进制"
+msgstr "双精度浮点数"
-#: extras/choices.py:34
+#: netbox/extras/choices.py:34
msgid "Boolean (true/false)"
-msgstr "布尔值(真/假)"
+msgstr "布尔值(true/false)"
-#: extras/choices.py:35
+#: netbox/extras/choices.py:35
msgid "Date"
msgstr "日期"
-#: extras/choices.py:36
+#: netbox/extras/choices.py:36
msgid "Date & time"
-msgstr "日期和时间"
+msgstr "日期&时间"
-#: extras/choices.py:38
+#: netbox/extras/choices.py:38
msgid "JSON"
msgstr "JSON"
-#: extras/choices.py:39
+#: netbox/extras/choices.py:39
msgid "Selection"
-msgstr "选择"
+msgstr "单选框"
-#: extras/choices.py:40
+#: netbox/extras/choices.py:40
msgid "Multiple selection"
-msgstr "多项选择"
+msgstr "复选框"
-#: extras/choices.py:42
+#: netbox/extras/choices.py:42
msgid "Multiple objects"
msgstr "多个对象"
-#: extras/choices.py:53 netbox/preferences.py:21
-#: templates/extras/customfield.html:66 vpn/choices.py:20
-#: wireless/choices.py:27
+#: netbox/extras/choices.py:53 netbox/netbox/preferences.py:21
+#: netbox/templates/extras/customfield.html:66 netbox/vpn/choices.py:20
+#: netbox/wireless/choices.py:27
msgid "Disabled"
-msgstr "已禁用"
+msgstr "禁用"
-#: extras/choices.py:54
+#: netbox/extras/choices.py:54
msgid "Loose"
-msgstr "松散"
+msgstr "松散匹配"
-#: extras/choices.py:55
+#: netbox/extras/choices.py:55
msgid "Exact"
-msgstr "精确"
+msgstr "严格匹配"
-#: extras/choices.py:66
+#: netbox/extras/choices.py:66
msgid "Always"
-msgstr "永远"
+msgstr "总是可见"
-#: extras/choices.py:67
+#: netbox/extras/choices.py:67
msgid "If set"
-msgstr "如果已设置"
+msgstr "设置才可见"
-#: extras/choices.py:68 extras/choices.py:81
+#: netbox/extras/choices.py:68 netbox/extras/choices.py:81
msgid "Hidden"
msgstr "隐藏"
-#: extras/choices.py:79
+#: netbox/extras/choices.py:79
msgid "Yes"
-msgstr "是的"
+msgstr "是"
-#: extras/choices.py:80
+#: netbox/extras/choices.py:80
msgid "No"
-msgstr "没有"
+msgstr "否"
-#: extras/choices.py:108 templates/tenancy/contact.html:57
-#: tenancy/forms/bulk_edit.py:118 wireless/forms/model_forms.py:162
+#: netbox/extras/choices.py:108 netbox/templates/tenancy/contact.html:57
+#: netbox/tenancy/forms/bulk_edit.py:118
+#: netbox/wireless/forms/model_forms.py:162
msgid "Link"
msgstr "链接"
-#: extras/choices.py:122
+#: netbox/extras/choices.py:124
msgid "Newest"
-msgstr "最新"
+msgstr "最新排序"
-#: extras/choices.py:123
+#: netbox/extras/choices.py:125
msgid "Oldest"
-msgstr "最古老"
+msgstr "最久排序"
-#: extras/choices.py:139 templates/generic/object.html:61
+#: netbox/extras/choices.py:126
+msgid "Alphabetical (A-Z)"
+msgstr "按字母顺序 (A-Z)"
+
+#: netbox/extras/choices.py:127
+msgid "Alphabetical (Z-A)"
+msgstr "按字母顺序 (Z-A)"
+
+#: netbox/extras/choices.py:143 netbox/templates/generic/object.html:61
msgid "Updated"
-msgstr "已更新"
+msgstr "更新于"
-#: extras/choices.py:140
+#: netbox/extras/choices.py:144
msgid "Deleted"
-msgstr "已删除"
+msgstr "删除"
-#: extras/choices.py:157 extras/choices.py:181
+#: netbox/extras/choices.py:161 netbox/extras/choices.py:185
msgid "Info"
msgstr "信息"
-#: extras/choices.py:158 extras/choices.py:180
+#: netbox/extras/choices.py:162 netbox/extras/choices.py:184
msgid "Success"
msgstr "成功"
-#: extras/choices.py:159 extras/choices.py:182
+#: netbox/extras/choices.py:163 netbox/extras/choices.py:186
msgid "Warning"
msgstr "警告"
-#: extras/choices.py:160
+#: netbox/extras/choices.py:164
msgid "Danger"
-msgstr "危险"
+msgstr "危急"
-#: extras/choices.py:178
+#: netbox/extras/choices.py:182
msgid "Debug"
msgstr "调试"
-#: extras/choices.py:179 netbox/choices.py:104
+#: netbox/extras/choices.py:183 netbox/netbox/choices.py:104
msgid "Default"
msgstr "默认"
-#: extras/choices.py:183
+#: netbox/extras/choices.py:187
msgid "Failure"
msgstr "失败"
-#: extras/choices.py:199
+#: netbox/extras/choices.py:203
msgid "Hourly"
msgstr "每小时"
-#: extras/choices.py:200
+#: netbox/extras/choices.py:204
msgid "12 hours"
-msgstr "12 小时"
+msgstr "12小时制"
-#: extras/choices.py:201
+#: netbox/extras/choices.py:205
msgid "Daily"
msgstr "每天"
-#: extras/choices.py:202
+#: netbox/extras/choices.py:206
msgid "Weekly"
-msgstr "每周一次"
+msgstr "周"
-#: extras/choices.py:203
+#: netbox/extras/choices.py:207
msgid "30 days"
-msgstr "30 天"
+msgstr "30天"
-#: extras/choices.py:268 extras/tables/tables.py:296
-#: templates/dcim/virtualchassis_edit.html:107
-#: templates/extras/eventrule.html:40
-#: templates/generic/bulk_add_component.html:68
-#: templates/generic/object_edit.html:47 templates/generic/object_edit.html:80
-#: templates/ipam/inc/ipaddress_edit_header.html:7
+#: netbox/extras/choices.py:272 netbox/extras/tables/tables.py:297
+#: netbox/templates/dcim/virtualchassis_edit.html:107
+#: netbox/templates/extras/eventrule.html:40
+#: netbox/templates/generic/bulk_add_component.html:68
+#: netbox/templates/generic/object_edit.html:47
+#: netbox/templates/generic/object_edit.html:80
+#: netbox/templates/ipam/inc/ipaddress_edit_header.html:7
msgid "Create"
msgstr "创建"
-#: extras/choices.py:269 extras/tables/tables.py:299
-#: templates/extras/eventrule.html:44
+#: netbox/extras/choices.py:273 netbox/extras/tables/tables.py:300
+#: netbox/templates/extras/eventrule.html:44
msgid "Update"
msgstr "更新"
-#: extras/choices.py:270 extras/tables/tables.py:302
-#: templates/circuits/inc/circuit_termination.html:23
-#: templates/dcim/inc/panels/inventory_items.html:37
-#: templates/dcim/moduletype/component_templates.html:23
-#: templates/dcim/powerpanel.html:66 templates/extras/eventrule.html:48
-#: templates/extras/script_list.html:37 templates/generic/bulk_delete.html:20
-#: templates/generic/bulk_delete.html:66
-#: templates/generic/object_delete.html:19 templates/htmx/delete_form.html:57
-#: templates/ipam/inc/panels/fhrp_groups.html:48
-#: templates/users/objectpermission.html:46
-#: utilities/templates/buttons/delete.html:11
+#: netbox/extras/choices.py:274 netbox/extras/tables/tables.py:303
+#: netbox/templates/circuits/inc/circuit_termination.html:23
+#: netbox/templates/dcim/inc/panels/inventory_items.html:37
+#: netbox/templates/dcim/moduletype/component_templates.html:23
+#: netbox/templates/dcim/powerpanel.html:66
+#: netbox/templates/extras/eventrule.html:48
+#: netbox/templates/extras/script_list.html:37
+#: netbox/templates/generic/bulk_delete.html:20
+#: netbox/templates/generic/bulk_delete.html:66
+#: netbox/templates/generic/object_delete.html:19
+#: netbox/templates/htmx/delete_form.html:57
+#: netbox/templates/ipam/inc/panels/fhrp_groups.html:48
+#: netbox/templates/users/objectpermission.html:46
+#: netbox/utilities/templates/buttons/delete.html:11
msgid "Delete"
msgstr "删除"
-#: extras/choices.py:294 netbox/choices.py:57 netbox/choices.py:105
+#: netbox/extras/choices.py:298 netbox/netbox/choices.py:57
+#: netbox/netbox/choices.py:105
msgid "Blue"
msgstr "蓝色"
-#: extras/choices.py:295 netbox/choices.py:56 netbox/choices.py:106
+#: netbox/extras/choices.py:299 netbox/netbox/choices.py:56
+#: netbox/netbox/choices.py:106
msgid "Indigo"
-msgstr "靛青"
+msgstr "靛青色"
-#: extras/choices.py:296 netbox/choices.py:54 netbox/choices.py:107
+#: netbox/extras/choices.py:300 netbox/netbox/choices.py:54
+#: netbox/netbox/choices.py:107
msgid "Purple"
msgstr "紫色"
-#: extras/choices.py:297 netbox/choices.py:51 netbox/choices.py:108
+#: netbox/extras/choices.py:301 netbox/netbox/choices.py:51
+#: netbox/netbox/choices.py:108
msgid "Pink"
-msgstr "粉"
+msgstr "粉红色"
-#: extras/choices.py:298 netbox/choices.py:50 netbox/choices.py:109
+#: netbox/extras/choices.py:302 netbox/netbox/choices.py:50
+#: netbox/netbox/choices.py:109
msgid "Red"
msgstr "红色"
-#: extras/choices.py:299 netbox/choices.py:68 netbox/choices.py:110
+#: netbox/extras/choices.py:303 netbox/netbox/choices.py:68
+#: netbox/netbox/choices.py:110
msgid "Orange"
-msgstr "橙子"
+msgstr "橙色"
-#: extras/choices.py:300 netbox/choices.py:66 netbox/choices.py:111
+#: netbox/extras/choices.py:304 netbox/netbox/choices.py:66
+#: netbox/netbox/choices.py:111
msgid "Yellow"
msgstr "黄色"
-#: extras/choices.py:301 netbox/choices.py:63 netbox/choices.py:112
+#: netbox/extras/choices.py:305 netbox/netbox/choices.py:63
+#: netbox/netbox/choices.py:112
msgid "Green"
msgstr "绿色"
-#: extras/choices.py:302 netbox/choices.py:60 netbox/choices.py:113
+#: netbox/extras/choices.py:306 netbox/netbox/choices.py:60
+#: netbox/netbox/choices.py:113
msgid "Teal"
-msgstr "蒂尔"
+msgstr "蓝色"
-#: extras/choices.py:303 netbox/choices.py:59 netbox/choices.py:114
+#: netbox/extras/choices.py:307 netbox/netbox/choices.py:59
+#: netbox/netbox/choices.py:114
msgid "Cyan"
-msgstr "青色"
+msgstr "蓝绿色"
-#: extras/choices.py:304 netbox/choices.py:115
+#: netbox/extras/choices.py:308 netbox/netbox/choices.py:115
msgid "Gray"
msgstr "灰色"
-#: extras/choices.py:305 netbox/choices.py:74 netbox/choices.py:116
+#: netbox/extras/choices.py:309 netbox/netbox/choices.py:74
+#: netbox/netbox/choices.py:116
msgid "Black"
msgstr "黑色"
-#: extras/choices.py:306 netbox/choices.py:75 netbox/choices.py:117
+#: netbox/extras/choices.py:310 netbox/netbox/choices.py:75
+#: netbox/netbox/choices.py:117
msgid "White"
msgstr "白色"
-#: extras/choices.py:320 extras/forms/model_forms.py:242
-#: extras/forms/model_forms.py:324 templates/extras/webhook.html:10
+#: netbox/extras/choices.py:324 netbox/extras/forms/model_forms.py:242
+#: netbox/extras/forms/model_forms.py:324
+#: netbox/templates/extras/webhook.html:10
msgid "Webhook"
-msgstr "网络挂钩"
+msgstr "Webhook"
-#: extras/choices.py:321 extras/forms/model_forms.py:312
-#: templates/extras/script/base.html:29
+#: netbox/extras/choices.py:325 netbox/extras/forms/model_forms.py:312
+#: netbox/templates/extras/script/base.html:29
msgid "Script"
msgstr "脚本"
-#: extras/conditions.py:54
+#: netbox/extras/conditions.py:54
#, python-brace-format
msgid "Unknown operator: {op}. Must be one of: {operators}"
-msgstr "未知的操作员: {op}。必须是以下之一: {operators}"
+msgstr "未知运算符: {op}。必须是以下项之一: {operators}"
-#: extras/conditions.py:58
+#: netbox/extras/conditions.py:58
#, python-brace-format
msgid "Unsupported value type: {value}"
-msgstr "不支持的值类型: {value}"
+msgstr "不支持的值类型: {value}"
-#: extras/conditions.py:60
+#: netbox/extras/conditions.py:60
#, python-brace-format
msgid "Invalid type for {op} operation: {value}"
-msgstr "的类型无效 {op} 操作: {value}"
+msgstr "{op}的操作类型 {value}无效"
-#: extras/conditions.py:137
+#: netbox/extras/conditions.py:137
#, python-brace-format
msgid "Ruleset must be a dictionary, not {ruleset}."
-msgstr "规则集必须是字典,而不是 {ruleset}。"
+msgstr "规则集必须是字典,而不是 {ruleset}.。"
-#: extras/conditions.py:139
-#, python-brace-format
-msgid "Ruleset must have exactly one logical operator (found {ruleset})"
-msgstr "规则集必须只有一个逻辑运算符(已找到) {ruleset})"
+#: netbox/extras/conditions.py:142
+msgid "Invalid logic type: must be 'AND' or 'OR'. Please check documentation."
+msgstr "无效的逻辑类型:必须是“与”或“或”中之一。请查看文档。"
-#: extras/conditions.py:145
-#, python-brace-format
-msgid "Invalid logic type: {logic} (must be '{op_and}' or '{op_or}')"
-msgstr "逻辑类型无效: {logic} (必须是 '{op_and}'或'{op_or}')"
+#: netbox/extras/conditions.py:154
+msgid "Incorrect key(s) informed. Please check documentation."
+msgstr "提供了错误的密钥。请检查文档。"
-#: extras/dashboard/forms.py:38
+#: netbox/extras/dashboard/forms.py:38
msgid "Widget type"
-msgstr "控件类型"
+msgstr "小组件类型"
-#: extras/dashboard/utils.py:36
+#: netbox/extras/dashboard/utils.py:36
#, python-brace-format
msgid "Unregistered widget class: {name}"
-msgstr "未注册的控件类: {name}"
+msgstr "未注册的小组件类型: {name}"
-#: extras/dashboard/widgets.py:126
+#: netbox/extras/dashboard/widgets.py:126
#, python-brace-format
msgid "{class_name} must define a render() method."
-msgstr "{class_name} 必须定义一个 render () 方法。"
+msgstr "{class_name}必须定义render() 方法。"
-#: extras/dashboard/widgets.py:161
+#: netbox/extras/dashboard/widgets.py:161
msgid "Note"
-msgstr "注意"
+msgstr "公告"
-#: extras/dashboard/widgets.py:162
+#: netbox/extras/dashboard/widgets.py:162
msgid "Display some arbitrary custom content. Markdown is supported."
-msgstr "显示一些任意的自定义内容。支持 Markdown。"
+msgstr "显示任意的自定义内容。支持Markdown。"
-#: extras/dashboard/widgets.py:175
+#: netbox/extras/dashboard/widgets.py:175
msgid "Object Counts"
-msgstr "物体数量"
+msgstr "对象统计"
-#: extras/dashboard/widgets.py:176
+#: netbox/extras/dashboard/widgets.py:176
msgid ""
"Display a set of NetBox models and the number of objects created for each "
"type."
-msgstr "显示一组 NetBox 模型以及为每种类型创建的对象的数量。"
+msgstr "显示NetBox模型以及为每种类型创建的对象数。"
-#: extras/dashboard/widgets.py:186
+#: netbox/extras/dashboard/widgets.py:186
msgid "Filters to apply when counting the number of objects"
-msgstr "计算物体数量时要应用的过滤器"
+msgstr "统计对象数时要应用的筛选器"
-#: extras/dashboard/widgets.py:194
+#: netbox/extras/dashboard/widgets.py:194
msgid "Invalid format. Object filters must be passed as a dictionary."
-msgstr "格式无效。对象过滤器必须作为字典传递。"
+msgstr "无效的格式。对象筛选器必须作为字典传递。"
-#: extras/dashboard/widgets.py:222
+#: netbox/extras/dashboard/widgets.py:222
msgid "Object List"
-msgstr "物件清单"
+msgstr "对象列表"
-#: extras/dashboard/widgets.py:223
+#: netbox/extras/dashboard/widgets.py:223
msgid "Display an arbitrary list of objects."
-msgstr "显示任意对象列表。"
+msgstr "显示任意的对象列表。"
-#: extras/dashboard/widgets.py:236
+#: netbox/extras/dashboard/widgets.py:236
msgid "The default number of objects to display"
-msgstr "要显示的对象的默认数量"
+msgstr "要显示的默认对象数"
-#: extras/dashboard/widgets.py:248
+#: netbox/extras/dashboard/widgets.py:248
msgid "Invalid format. URL parameters must be passed as a dictionary."
-msgstr "格式无效。URL 参数必须作为字典传递。"
+msgstr "无效的格式。URL参数必须作为字典传递。"
-#: extras/dashboard/widgets.py:283
+#: netbox/extras/dashboard/widgets.py:284
msgid "RSS Feed"
-msgstr "RSS 提要"
+msgstr "RSS订阅"
-#: extras/dashboard/widgets.py:288
+#: netbox/extras/dashboard/widgets.py:289
msgid "Embed an RSS feed from an external website."
-msgstr "嵌入来自外部网站的 RSS 提要。"
+msgstr "嵌入来自外部网站的 RSS 源。"
-#: extras/dashboard/widgets.py:295
+#: netbox/extras/dashboard/widgets.py:296
msgid "Feed URL"
-msgstr "提要网址"
+msgstr "订阅链接"
-#: extras/dashboard/widgets.py:300
+#: netbox/extras/dashboard/widgets.py:301
msgid "The maximum number of objects to display"
-msgstr "要显示的最大对象数"
+msgstr "要多显示的对象数"
-#: extras/dashboard/widgets.py:305
+#: netbox/extras/dashboard/widgets.py:306
msgid "How long to stored the cached content (in seconds)"
-msgstr "缓存内容存储多长时间(以秒为单位)"
+msgstr "存储缓存内容的时间(秒)"
-#: extras/dashboard/widgets.py:357 templates/account/base.html:10
-#: templates/account/bookmarks.html:7 templates/inc/user_menu.html:30
+#: netbox/extras/dashboard/widgets.py:358
+#: netbox/templates/account/base.html:10
+#: netbox/templates/account/bookmarks.html:7
+#: netbox/templates/inc/user_menu.html:30
msgid "Bookmarks"
msgstr "书签"
-#: extras/dashboard/widgets.py:361
+#: netbox/extras/dashboard/widgets.py:362
msgid "Show your personal bookmarks"
msgstr "显示您的个人书签"
-#: extras/events.py:128
+#: netbox/extras/events.py:134
#, python-brace-format
msgid "Unknown action type for an event rule: {action_type}"
-msgstr "事件规则的未知操作类型: {action_type}"
+msgstr "事件规则的未知操作类型: {action_type}"
-#: extras/events.py:176
+#: netbox/extras/events.py:182
#, python-brace-format
msgid "Cannot import events pipeline {name} error: {error}"
-msgstr "无法导入事件管道 {name} 错误: {error}"
+msgstr "无法导入事件管道 {name}错误: {error}"
-#: extras/filtersets.py:45
+#: netbox/extras/filtersets.py:45
msgid "Script module (ID)"
-msgstr "脚本模块 (ID)"
+msgstr "脚本模版(ID)"
-#: extras/filtersets.py:249 extras/filtersets.py:589 extras/filtersets.py:621
+#: netbox/extras/filtersets.py:249 netbox/extras/filtersets.py:589
+#: netbox/extras/filtersets.py:621
msgid "Data file (ID)"
-msgstr "数据文件 (ID)"
+msgstr "数据文件(ID)"
-#: extras/filtersets.py:526 virtualization/forms/filtersets.py:118
+#: netbox/extras/filtersets.py:526
+#: netbox/virtualization/forms/filtersets.py:118
msgid "Cluster type"
-msgstr "集群类型"
+msgstr "堆叠类型"
-#: extras/filtersets.py:532 virtualization/filtersets.py:95
-#: virtualization/filtersets.py:147
+#: netbox/extras/filtersets.py:532 netbox/virtualization/filtersets.py:95
+#: netbox/virtualization/filtersets.py:147
msgid "Cluster type (slug)"
-msgstr "集群类型(slug)"
+msgstr "堆叠类型(缩写)"
-#: extras/filtersets.py:537 ipam/forms/bulk_edit.py:476
-#: ipam/forms/filtersets.py:464 ipam/forms/model_forms.py:624
-#: virtualization/forms/filtersets.py:112
-msgid "Cluster group"
-msgstr "集群组"
-
-#: extras/filtersets.py:543 virtualization/filtersets.py:136
-msgid "Cluster group (slug)"
-msgstr "集群组(slug)"
-
-#: extras/filtersets.py:553 tenancy/forms/forms.py:16
-#: tenancy/forms/forms.py:39
+#: netbox/extras/filtersets.py:553 netbox/tenancy/forms/forms.py:16
+#: netbox/tenancy/forms/forms.py:39
msgid "Tenant group"
-msgstr "租户群组"
+msgstr "租户组"
-#: extras/filtersets.py:559 tenancy/filtersets.py:189
-#: tenancy/filtersets.py:209
+#: netbox/extras/filtersets.py:559 netbox/tenancy/filtersets.py:189
+#: netbox/tenancy/filtersets.py:209
msgid "Tenant group (slug)"
-msgstr "租户群组(slug)"
+msgstr "租户组(缩写)"
-#: extras/filtersets.py:575 extras/forms/model_forms.py:371
-#: templates/extras/tag.html:11
+#: netbox/extras/filtersets.py:575 netbox/extras/forms/model_forms.py:371
+#: netbox/templates/extras/tag.html:11
msgid "Tag"
msgstr "标签"
-#: extras/filtersets.py:581
+#: netbox/extras/filtersets.py:581
msgid "Tag (slug)"
-msgstr "标签(蛞蝓)"
+msgstr "标签(缩写)"
-#: extras/filtersets.py:645 extras/forms/filtersets.py:438
+#: netbox/extras/filtersets.py:645 netbox/extras/forms/filtersets.py:438
msgid "Has local config context data"
-msgstr "有本地配置上下文数据"
+msgstr "具有本地配置实例"
-#: extras/filtersets.py:670
+#: netbox/extras/filtersets.py:670
msgid "User name"
msgstr "用户名"
-#: extras/forms/bulk_edit.py:32 extras/forms/filtersets.py:57
+#: netbox/extras/forms/bulk_edit.py:32 netbox/extras/forms/filtersets.py:57
msgid "Group name"
-msgstr "群组名称"
+msgstr "组名称"
-#: extras/forms/bulk_edit.py:40 extras/forms/filtersets.py:65
-#: extras/tables/tables.py:49 templates/extras/customfield.html:38
-#: templates/generic/bulk_import.html:118
+#: netbox/extras/forms/bulk_edit.py:40 netbox/extras/forms/filtersets.py:65
+#: netbox/extras/tables/tables.py:50
+#: netbox/templates/extras/customfield.html:38
+#: netbox/templates/generic/bulk_import.html:118
msgid "Required"
-msgstr "必填项"
+msgstr "必须"
-#: extras/forms/bulk_edit.py:53 extras/forms/bulk_import.py:57
-#: extras/forms/filtersets.py:79 extras/models/customfields.py:194
+#: netbox/extras/forms/bulk_edit.py:53 netbox/extras/forms/bulk_import.py:57
+#: netbox/extras/forms/filtersets.py:79
+#: netbox/extras/models/customfields.py:195
msgid "UI visible"
-msgstr "用户界面可见"
+msgstr "页面可见"
-#: extras/forms/bulk_edit.py:58 extras/forms/bulk_import.py:63
-#: extras/forms/filtersets.py:84 extras/models/customfields.py:201
+#: netbox/extras/forms/bulk_edit.py:58 netbox/extras/forms/bulk_import.py:63
+#: netbox/extras/forms/filtersets.py:84
+#: netbox/extras/models/customfields.py:202
msgid "UI editable"
-msgstr "用户界面可编辑"
+msgstr "页面可编辑"
-#: extras/forms/bulk_edit.py:63 extras/forms/filtersets.py:87
+#: netbox/extras/forms/bulk_edit.py:63 netbox/extras/forms/filtersets.py:87
msgid "Is cloneable"
-msgstr "是可克隆的"
+msgstr "可复制"
-#: extras/forms/bulk_edit.py:103 extras/forms/filtersets.py:127
+#: netbox/extras/forms/bulk_edit.py:103 netbox/extras/forms/filtersets.py:127
msgid "New window"
msgstr "新窗口"
-#: extras/forms/bulk_edit.py:112
+#: netbox/extras/forms/bulk_edit.py:112
msgid "Button class"
-msgstr "按钮类别"
+msgstr "按钮类型"
-#: extras/forms/bulk_edit.py:129 extras/forms/filtersets.py:165
-#: extras/models/models.py:437
+#: netbox/extras/forms/bulk_edit.py:129 netbox/extras/forms/filtersets.py:165
+#: netbox/extras/models/models.py:437
msgid "MIME type"
-msgstr "哑剧类型"
+msgstr "MIME类型"
-#: extras/forms/bulk_edit.py:134 extras/forms/filtersets.py:168
+#: netbox/extras/forms/bulk_edit.py:134 netbox/extras/forms/filtersets.py:168
msgid "File extension"
msgstr "文件扩展名"
-#: extras/forms/bulk_edit.py:139 extras/forms/filtersets.py:172
+#: netbox/extras/forms/bulk_edit.py:139 netbox/extras/forms/filtersets.py:172
msgid "As attachment"
msgstr "作为附件"
-#: extras/forms/bulk_edit.py:167 extras/forms/filtersets.py:214
-#: extras/tables/tables.py:219 templates/extras/savedfilter.html:29
+#: netbox/extras/forms/bulk_edit.py:167 netbox/extras/forms/filtersets.py:214
+#: netbox/extras/tables/tables.py:220
+#: netbox/templates/extras/savedfilter.html:29
msgid "Shared"
-msgstr "共享的"
+msgstr "共享性"
-#: extras/forms/bulk_edit.py:190 extras/forms/filtersets.py:243
-#: extras/models/models.py:202
+#: netbox/extras/forms/bulk_edit.py:190 netbox/extras/forms/filtersets.py:243
+#: netbox/extras/models/models.py:202
msgid "HTTP method"
-msgstr "HTTP 方法"
+msgstr "HTTP方法"
-#: extras/forms/bulk_edit.py:194 extras/forms/filtersets.py:237
-#: templates/extras/webhook.html:30
+#: netbox/extras/forms/bulk_edit.py:194 netbox/extras/forms/filtersets.py:237
+#: netbox/templates/extras/webhook.html:30
msgid "Payload URL"
-msgstr "有效载荷 URL"
+msgstr "有效URL"
-#: extras/forms/bulk_edit.py:199 extras/models/models.py:242
+#: netbox/extras/forms/bulk_edit.py:199 netbox/extras/models/models.py:242
msgid "SSL verification"
-msgstr "SSL 验证"
+msgstr "SSL验证"
-#: extras/forms/bulk_edit.py:202 templates/extras/webhook.html:38
+#: netbox/extras/forms/bulk_edit.py:202
+#: netbox/templates/extras/webhook.html:38
msgid "Secret"
-msgstr "秘密"
+msgstr "秘钥"
-#: extras/forms/bulk_edit.py:207
+#: netbox/extras/forms/bulk_edit.py:207
msgid "CA file path"
-msgstr "CA 文件路径"
+msgstr "CA证书文件路径"
-#: extras/forms/bulk_edit.py:226
+#: netbox/extras/forms/bulk_edit.py:226
msgid "On create"
msgstr "创建时"
-#: extras/forms/bulk_edit.py:231
+#: netbox/extras/forms/bulk_edit.py:231
msgid "On update"
msgstr "更新时"
-#: extras/forms/bulk_edit.py:236
+#: netbox/extras/forms/bulk_edit.py:236
msgid "On delete"
msgstr "删除时"
-#: extras/forms/bulk_edit.py:241
+#: netbox/extras/forms/bulk_edit.py:241
msgid "On job start"
-msgstr "开始工作"
+msgstr "任务开始时"
-#: extras/forms/bulk_edit.py:246
+#: netbox/extras/forms/bulk_edit.py:246
msgid "On job end"
-msgstr "在工作结束时"
+msgstr "任务结束时"
-#: extras/forms/bulk_edit.py:283
+#: netbox/extras/forms/bulk_edit.py:283
msgid "Is active"
-msgstr "处于活动状态"
+msgstr "激活的"
-#: extras/forms/bulk_import.py:34 extras/forms/bulk_import.py:115
-#: extras/forms/bulk_import.py:136 extras/forms/bulk_import.py:159
-#: extras/forms/bulk_import.py:183 extras/forms/filtersets.py:115
-#: extras/forms/filtersets.py:202 extras/forms/model_forms.py:43
-#: extras/forms/model_forms.py:131 extras/forms/model_forms.py:163
-#: extras/forms/model_forms.py:204 extras/forms/model_forms.py:261
-#: extras/forms/model_forms.py:365 users/forms/model_forms.py:273
+#: netbox/extras/forms/bulk_import.py:34
+#: netbox/extras/forms/bulk_import.py:115
+#: netbox/extras/forms/bulk_import.py:136
+#: netbox/extras/forms/bulk_import.py:159
+#: netbox/extras/forms/bulk_import.py:183
+#: netbox/extras/forms/filtersets.py:115 netbox/extras/forms/filtersets.py:202
+#: netbox/extras/forms/model_forms.py:43
+#: netbox/extras/forms/model_forms.py:131
+#: netbox/extras/forms/model_forms.py:163
+#: netbox/extras/forms/model_forms.py:204
+#: netbox/extras/forms/model_forms.py:261
+#: netbox/extras/forms/model_forms.py:365
+#: netbox/users/forms/model_forms.py:273
msgid "Object types"
msgstr "对象类型"
-#: extras/forms/bulk_import.py:36 extras/forms/bulk_import.py:117
-#: extras/forms/bulk_import.py:138 extras/forms/bulk_import.py:161
-#: extras/forms/bulk_import.py:185 tenancy/forms/bulk_import.py:96
+#: netbox/extras/forms/bulk_import.py:36
+#: netbox/extras/forms/bulk_import.py:117
+#: netbox/extras/forms/bulk_import.py:138
+#: netbox/extras/forms/bulk_import.py:161
+#: netbox/extras/forms/bulk_import.py:185
+#: netbox/tenancy/forms/bulk_import.py:96
msgid "One or more assigned object types"
-msgstr "一种或多种已分配的对象类型"
+msgstr "一个或多个分配对象类型"
-#: extras/forms/bulk_import.py:41
+#: netbox/extras/forms/bulk_import.py:41
msgid "Field data type (e.g. text, integer, etc.)"
msgstr "字段数据类型(例如文本、整数等)"
-#: extras/forms/bulk_import.py:44 extras/forms/filtersets.py:186
-#: extras/forms/filtersets.py:260 extras/forms/model_forms.py:230
-#: tenancy/forms/filtersets.py:92
+#: netbox/extras/forms/bulk_import.py:44 netbox/extras/forms/filtersets.py:186
+#: netbox/extras/forms/filtersets.py:260
+#: netbox/extras/forms/model_forms.py:230
+#: netbox/tenancy/forms/filtersets.py:92
msgid "Object type"
-msgstr "物体类型"
+msgstr "对象类型"
-#: extras/forms/bulk_import.py:47
+#: netbox/extras/forms/bulk_import.py:47
msgid "Object type (for object or multi-object fields)"
-msgstr "对象类型(适用于对象或多对象字段)"
+msgstr "对象类型(用于对象或多对象字段)"
-#: extras/forms/bulk_import.py:50 extras/forms/filtersets.py:74
+#: netbox/extras/forms/bulk_import.py:50 netbox/extras/forms/filtersets.py:74
msgid "Choice set"
-msgstr "选择集"
+msgstr "可选项"
-#: extras/forms/bulk_import.py:54
+#: netbox/extras/forms/bulk_import.py:54
msgid "Choice set (for selection fields)"
-msgstr "选择集(用于选择字段)"
+msgstr "可选项(用于单选框)"
-#: extras/forms/bulk_import.py:60
+#: netbox/extras/forms/bulk_import.py:60
msgid "Whether the custom field is displayed in the UI"
-msgstr "用户界面中是否显示自定义字段"
+msgstr "自定义字段是否显示在页面中"
-#: extras/forms/bulk_import.py:66
+#: netbox/extras/forms/bulk_import.py:66
msgid "Whether the custom field is editable in the UI"
-msgstr "自定义字段是否可在 UI 中编辑"
+msgstr "自定义字段在页面中是否可编辑"
-#: extras/forms/bulk_import.py:82
+#: netbox/extras/forms/bulk_import.py:82
msgid "The base set of predefined choices to use (if any)"
-msgstr "要使用的基本预定义选项集(如果有)"
+msgstr "预定义选项的基本集合(如有)"
-#: extras/forms/bulk_import.py:88
+#: netbox/extras/forms/bulk_import.py:88
msgid ""
"Quoted string of comma-separated field choices with optional labels "
"separated by colon: \"choice1:First Choice,choice2:Second Choice\""
-msgstr "以逗号分隔的字段选项的引号字符串,可选标签以冒号分隔:“choice1:第一选择,选择 2:第二选择”"
+msgstr "用逗号分隔字段选项,可选标签用冒号分隔,并用引号包围:“选项1:第一选项,选项2:第二选项”"
-#: extras/forms/bulk_import.py:120 extras/models/models.py:351
+#: netbox/extras/forms/bulk_import.py:120 netbox/extras/models/models.py:351
msgid "button class"
msgstr "按钮类"
-#: extras/forms/bulk_import.py:123 extras/models/models.py:355
+#: netbox/extras/forms/bulk_import.py:123 netbox/extras/models/models.py:355
msgid ""
"The class of the first link in a group will be used for the dropdown button"
-msgstr "群组中第一个链接的类别将用于下拉按钮"
+msgstr "列表中第一个类将用于下拉按钮"
-#: extras/forms/bulk_import.py:188
+#: netbox/extras/forms/bulk_import.py:188
msgid "Action object"
-msgstr "操作对象"
+msgstr "动作对象"
-#: extras/forms/bulk_import.py:190
+#: netbox/extras/forms/bulk_import.py:190
msgid "Webhook name or script as dotted path module.Class"
-msgstr "Webhook 名称或脚本为虚线路径 module.Class"
+msgstr "Webhook名称或脚本的路径为module.Class"
-#: extras/forms/bulk_import.py:211
+#: netbox/extras/forms/bulk_import.py:211
#, python-brace-format
msgid "Webhook {name} not found"
-msgstr "网络挂钩 {name} 未找到"
+msgstr "未找到 Webhook {name}"
-#: extras/forms/bulk_import.py:220
+#: netbox/extras/forms/bulk_import.py:220
#, python-brace-format
msgid "Script {name} not found"
-msgstr "脚本 {name} 未找到"
+msgstr "未找到脚本{name}"
-#: extras/forms/bulk_import.py:239
+#: netbox/extras/forms/bulk_import.py:236
msgid "Assigned object type"
msgstr "分配的对象类型"
-#: extras/forms/bulk_import.py:244
+#: netbox/extras/forms/bulk_import.py:241
msgid "The classification of entry"
-msgstr "参赛分类"
+msgstr "条目的分类"
-#: extras/forms/filtersets.py:49 extras/forms/model_forms.py:47
+#: netbox/extras/forms/filtersets.py:49 netbox/extras/forms/model_forms.py:47
msgid "Related object type"
-msgstr "相关对象类型"
+msgstr "连接的对象类型"
-#: extras/forms/filtersets.py:54
+#: netbox/extras/forms/filtersets.py:54
msgid "Field type"
msgstr "字段类型"
-#: extras/forms/filtersets.py:98 extras/tables/tables.py:70
-#: templates/generic/bulk_import.html:154
+#: netbox/extras/forms/filtersets.py:98 netbox/extras/tables/tables.py:71
+#: netbox/templates/generic/bulk_import.html:154
msgid "Choices"
-msgstr "选择"
+msgstr "选项"
-#: extras/forms/filtersets.py:142 extras/forms/filtersets.py:328
-#: extras/forms/filtersets.py:417 extras/forms/model_forms.py:448
-#: templates/core/job.html:78 templates/extras/eventrule.html:90
+#: netbox/extras/forms/filtersets.py:142 netbox/extras/forms/filtersets.py:328
+#: netbox/extras/forms/filtersets.py:417
+#: netbox/extras/forms/model_forms.py:448 netbox/templates/core/job.html:78
+#: netbox/templates/extras/eventrule.html:90
msgid "Data"
-msgstr "数据"
+msgstr "日期"
-#: extras/forms/filtersets.py:153 extras/forms/filtersets.py:342
-#: extras/forms/filtersets.py:427 netbox/choices.py:133
-#: utilities/forms/bulk_import.py:26
+#: netbox/extras/forms/filtersets.py:153 netbox/extras/forms/filtersets.py:342
+#: netbox/extras/forms/filtersets.py:427 netbox/netbox/choices.py:133
+#: netbox/utilities/forms/bulk_import.py:26
msgid "Data file"
msgstr "数据文件"
-#: extras/forms/filtersets.py:161
+#: netbox/extras/forms/filtersets.py:161
msgid "Content types"
msgstr "内容类型"
-#: extras/forms/filtersets.py:233 extras/models/models.py:207
+#: netbox/extras/forms/filtersets.py:233 netbox/extras/models/models.py:207
msgid "HTTP content type"
-msgstr "HTTP 内容类型"
+msgstr "HTTP内容类型"
-#: extras/forms/filtersets.py:255 extras/forms/model_forms.py:280
-#: templates/extras/eventrule.html:37
+#: netbox/extras/forms/filtersets.py:255
+#: netbox/extras/forms/model_forms.py:280
+#: netbox/templates/extras/eventrule.html:37
msgid "Events"
-msgstr "活动"
+msgstr "事件"
-#: extras/forms/filtersets.py:265
+#: netbox/extras/forms/filtersets.py:265
msgid "Action type"
-msgstr "操作类型"
+msgstr "动作类型"
-#: extras/forms/filtersets.py:279
+#: netbox/extras/forms/filtersets.py:279
msgid "Object creations"
-msgstr "物体创作"
+msgstr "对象创建"
-#: extras/forms/filtersets.py:286
+#: netbox/extras/forms/filtersets.py:286
msgid "Object updates"
msgstr "对象更新"
-#: extras/forms/filtersets.py:293
+#: netbox/extras/forms/filtersets.py:293
msgid "Object deletions"
-msgstr "删除对象"
+msgstr "对象删除"
-#: extras/forms/filtersets.py:300
+#: netbox/extras/forms/filtersets.py:300
msgid "Job starts"
-msgstr "作业开始"
+msgstr "开始任务"
-#: extras/forms/filtersets.py:307 extras/forms/model_forms.py:297
+#: netbox/extras/forms/filtersets.py:307
+#: netbox/extras/forms/model_forms.py:297
msgid "Job terminations"
-msgstr "终止工作"
+msgstr "终止任务"
-#: extras/forms/filtersets.py:316
+#: netbox/extras/forms/filtersets.py:316
msgid "Tagged object type"
msgstr "标记的对象类型"
-#: extras/forms/filtersets.py:321
+#: netbox/extras/forms/filtersets.py:321
msgid "Allowed object type"
msgstr "允许的对象类型"
-#: extras/forms/filtersets.py:350 extras/forms/model_forms.py:383
-#: netbox/navigation/menu.py:18
+#: netbox/extras/forms/filtersets.py:350
+#: netbox/extras/forms/model_forms.py:383 netbox/netbox/navigation/menu.py:18
msgid "Regions"
msgstr "地区"
-#: extras/forms/filtersets.py:355 extras/forms/model_forms.py:388
+#: netbox/extras/forms/filtersets.py:355
+#: netbox/extras/forms/model_forms.py:388
msgid "Site groups"
-msgstr "网站群组"
+msgstr "站点组"
-#: extras/forms/filtersets.py:365 extras/forms/model_forms.py:398
-#: netbox/navigation/menu.py:20 templates/dcim/site.html:126
+#: netbox/extras/forms/filtersets.py:365
+#: netbox/extras/forms/model_forms.py:398 netbox/netbox/navigation/menu.py:20
+#: netbox/templates/dcim/site.html:127
msgid "Locations"
-msgstr "地点"
+msgstr "室内位置"
-#: extras/forms/filtersets.py:370 extras/forms/model_forms.py:403
+#: netbox/extras/forms/filtersets.py:370
+#: netbox/extras/forms/model_forms.py:403
msgid "Device types"
-msgstr "设备类型"
+msgstr "设备型号"
-#: extras/forms/filtersets.py:375 extras/forms/model_forms.py:408
+#: netbox/extras/forms/filtersets.py:375
+#: netbox/extras/forms/model_forms.py:408
msgid "Roles"
msgstr "角色"
-#: extras/forms/filtersets.py:385 extras/forms/model_forms.py:418
+#: netbox/extras/forms/filtersets.py:385
+#: netbox/extras/forms/model_forms.py:418
msgid "Cluster types"
msgstr "集群类型"
-#: extras/forms/filtersets.py:390 extras/forms/model_forms.py:423
+#: netbox/extras/forms/filtersets.py:390
+#: netbox/extras/forms/model_forms.py:423
msgid "Cluster groups"
msgstr "集群组"
-#: extras/forms/filtersets.py:395 extras/forms/model_forms.py:428
-#: netbox/navigation/menu.py:242 netbox/navigation/menu.py:244
-#: templates/virtualization/clustertype.html:30
-#: virtualization/tables/clusters.py:23 virtualization/tables/clusters.py:45
+#: netbox/extras/forms/filtersets.py:395
+#: netbox/extras/forms/model_forms.py:428 netbox/netbox/navigation/menu.py:242
+#: netbox/netbox/navigation/menu.py:244
+#: netbox/templates/virtualization/clustertype.html:30
+#: netbox/virtualization/tables/clusters.py:23
+#: netbox/virtualization/tables/clusters.py:45
msgid "Clusters"
msgstr "集群"
-#: extras/forms/filtersets.py:400 extras/forms/model_forms.py:433
+#: netbox/extras/forms/filtersets.py:400
+#: netbox/extras/forms/model_forms.py:433
msgid "Tenant groups"
-msgstr "租户群组"
+msgstr "租户组"
-#: extras/forms/filtersets.py:454 extras/forms/filtersets.py:492
+#: netbox/extras/forms/filtersets.py:454 netbox/extras/forms/filtersets.py:489
msgid "After"
msgstr "之后"
-#: extras/forms/filtersets.py:459 extras/forms/filtersets.py:497
+#: netbox/extras/forms/filtersets.py:459 netbox/extras/forms/filtersets.py:494
msgid "Before"
msgstr "之前"
-#: extras/forms/filtersets.py:487 extras/tables/tables.py:456
-#: extras/tables/tables.py:542 extras/tables/tables.py:567
-#: templates/extras/objectchange.html:31
+#: netbox/extras/forms/filtersets.py:484 netbox/extras/tables/tables.py:457
+#: netbox/extras/tables/tables.py:543 netbox/extras/tables/tables.py:580
+#: netbox/templates/extras/objectchange.html:32
msgid "Time"
msgstr "时间"
-#: extras/forms/filtersets.py:501 extras/forms/model_forms.py:282
-#: extras/tables/tables.py:470 templates/extras/eventrule.html:77
-#: templates/extras/objectchange.html:45
+#: netbox/extras/forms/filtersets.py:498
+#: netbox/extras/forms/model_forms.py:282 netbox/extras/tables/tables.py:471
+#: netbox/templates/extras/eventrule.html:77
+#: netbox/templates/extras/objectchange.html:46
msgid "Action"
-msgstr "行动"
+msgstr "动作"
-#: extras/forms/model_forms.py:50
+#: netbox/extras/forms/model_forms.py:50
msgid "Type of the related object (for object/multi-object fields only)"
msgstr "相关对象的类型(仅适用于对象/多对象字段)"
-#: extras/forms/model_forms.py:61 templates/extras/customfield.html:10
+#: netbox/extras/forms/model_forms.py:61
+#: netbox/templates/extras/customfield.html:10
msgid "Custom Field"
msgstr "自定义字段"
-#: extras/forms/model_forms.py:64 templates/extras/customfield.html:58
+#: netbox/extras/forms/model_forms.py:64
+#: netbox/templates/extras/customfield.html:58
msgid "Behavior"
msgstr "行为"
-#: extras/forms/model_forms.py:66
+#: netbox/extras/forms/model_forms.py:66
msgid "Values"
-msgstr "价值观"
+msgstr "值"
-#: extras/forms/model_forms.py:75
+#: netbox/extras/forms/model_forms.py:75
msgid ""
"The type of data stored in this field. For object/multi-object fields, "
"select the related object type below."
-msgstr "存储在此字段中的数据类型。对于对象/多对象字段,选择下面的相关对象类型。"
+msgstr "存储在此字段中的数据类型。对于对象/多对象字段,请选择下面的相关对象类型。"
-#: extras/forms/model_forms.py:78
+#: netbox/extras/forms/model_forms.py:78
msgid ""
"This will be displayed as help text for the form field. Markdown is "
"supported."
-msgstr "这将显示为表单字段的帮助文本。支持 Markdown。"
+msgstr "这将显示为表单字段的帮助文本。支持Markdown。"
-#: extras/forms/model_forms.py:95
+#: netbox/extras/forms/model_forms.py:95
msgid ""
"Enter one choice per line. An optional label may be specified for each "
"choice by appending it with a colon. Example:"
-msgstr "每行输入一个选项。可以通过在每个选项后面添加冒号来为每个选项指定一个可选标签。示例:"
+msgstr "每行输入一个选项。可以为每个选项指定一个可选标签,方法是在其后面附加一个冒号。例如:"
-#: extras/forms/model_forms.py:138 templates/extras/customlink.html:10
+#: netbox/extras/forms/model_forms.py:138
+#: netbox/templates/extras/customlink.html:10
msgid "Custom Link"
msgstr "自定义链接"
-#: extras/forms/model_forms.py:140
+#: netbox/extras/forms/model_forms.py:140
msgid "Templates"
-msgstr "模板"
+msgstr "模版"
-#: extras/forms/model_forms.py:152
+#: netbox/extras/forms/model_forms.py:152
#, python-brace-format
msgid ""
"Jinja2 template code for the link text. Reference the object as {example}. "
"Links which render as empty text will not be displayed."
-msgstr "链接文本的 Jinja2 模板代码。将对象引用为 {example}。显示为空文本的链接将不显示。"
+msgstr "用于链接的Jinja2模板代码。将对象引用为{example}。空链接将不会显示。"
-#: extras/forms/model_forms.py:156
+#: netbox/extras/forms/model_forms.py:156
#, python-brace-format
msgid ""
"Jinja2 template code for the link URL. Reference the object as {example}."
-msgstr "链接 URL 的 Jinja2 模板代码。将对象引用为 {example}。"
+msgstr "URL链接的Jinja2模板代码。将对象引用为 {example}。"
-#: extras/forms/model_forms.py:167 extras/forms/model_forms.py:500
+#: netbox/extras/forms/model_forms.py:167
+#: netbox/extras/forms/model_forms.py:500
msgid "Template code"
-msgstr "模板代码"
+msgstr "模版代码"
-#: extras/forms/model_forms.py:173 templates/extras/exporttemplate.html:12
+#: netbox/extras/forms/model_forms.py:173
+#: netbox/templates/extras/exporttemplate.html:12
msgid "Export Template"
-msgstr "导出模板"
+msgstr "导出模版"
-#: extras/forms/model_forms.py:175
+#: netbox/extras/forms/model_forms.py:175
msgid "Rendering"
-msgstr "渲染"
+msgstr "转换"
-#: extras/forms/model_forms.py:189 extras/forms/model_forms.py:525
+#: netbox/extras/forms/model_forms.py:189
+#: netbox/extras/forms/model_forms.py:525
msgid "Template content is populated from the remote source selected below."
-msgstr "模板内容是从下面选择的远程来源填充的。"
+msgstr "模板内容是从下面选择的远程源填充的。"
-#: extras/forms/model_forms.py:196 extras/forms/model_forms.py:532
+#: netbox/extras/forms/model_forms.py:196
+#: netbox/extras/forms/model_forms.py:532
msgid "Must specify either local content or a data file"
msgstr "必须指定本地内容或数据文件"
-#: extras/forms/model_forms.py:210 netbox/forms/mixins.py:70
-#: templates/extras/savedfilter.html:10
+#: netbox/extras/forms/model_forms.py:210 netbox/netbox/forms/mixins.py:70
+#: netbox/templates/extras/savedfilter.html:10
msgid "Saved Filter"
msgstr "已保存的过滤器"
-#: extras/forms/model_forms.py:245 templates/extras/webhook.html:23
+#: netbox/extras/forms/model_forms.py:245
+#: netbox/templates/extras/webhook.html:23
msgid "HTTP Request"
-msgstr "HTTP 请求"
+msgstr "HTTP Request"
-#: extras/forms/model_forms.py:247 templates/extras/webhook.html:44
+#: netbox/extras/forms/model_forms.py:247
+#: netbox/templates/extras/webhook.html:44
msgid "SSL"
msgstr "SSL"
-#: extras/forms/model_forms.py:265
+#: netbox/extras/forms/model_forms.py:265
msgid "Action choice"
-msgstr "动作选择"
+msgstr "选择动作"
-#: extras/forms/model_forms.py:270
+#: netbox/extras/forms/model_forms.py:270
msgid "Enter conditions in JSON format."
-msgstr "在中输入条件 JSON 格式。"
+msgstr "已JSON 格式输入条件。"
-#: extras/forms/model_forms.py:274
+#: netbox/extras/forms/model_forms.py:274
msgid ""
"Enter parameters to pass to the action in JSON format."
-msgstr "输入要传递给操作的参数 JSON 格式。"
+msgstr "输入以 JSON 格式传递的参数。"
-#: extras/forms/model_forms.py:279 templates/extras/eventrule.html:10
+#: netbox/extras/forms/model_forms.py:279
+#: netbox/templates/extras/eventrule.html:10
msgid "Event Rule"
msgstr "事件规则"
-#: extras/forms/model_forms.py:281 templates/extras/eventrule.html:66
+#: netbox/extras/forms/model_forms.py:281
+#: netbox/templates/extras/eventrule.html:66
msgid "Conditions"
msgstr "条件"
-#: extras/forms/model_forms.py:293
+#: netbox/extras/forms/model_forms.py:293
msgid "Creations"
-msgstr "创作"
+msgstr "创建"
-#: extras/forms/model_forms.py:294
+#: netbox/extras/forms/model_forms.py:294
msgid "Updates"
msgstr "更新"
-#: extras/forms/model_forms.py:295
+#: netbox/extras/forms/model_forms.py:295
msgid "Deletions"
msgstr "删除"
-#: extras/forms/model_forms.py:296
+#: netbox/extras/forms/model_forms.py:296
msgid "Job executions"
-msgstr "任务执行"
+msgstr "任务开始"
-#: extras/forms/model_forms.py:438 netbox/navigation/menu.py:39
-#: tenancy/tables/tenants.py:22
+#: netbox/extras/forms/model_forms.py:438 netbox/netbox/navigation/menu.py:39
+#: netbox/tenancy/tables/tenants.py:22
msgid "Tenants"
msgstr "租户"
-#: extras/forms/model_forms.py:458 ipam/forms/filtersets.py:142
-#: ipam/forms/filtersets.py:553 ipam/forms/model_forms.py:321
-#: templates/extras/configcontext.html:60 templates/ipam/ipaddress.html:59
-#: templates/ipam/vlan_edit.html:30 tenancy/forms/filtersets.py:87
-#: users/forms/model_forms.py:311
+#: netbox/extras/forms/model_forms.py:458 netbox/ipam/forms/filtersets.py:142
+#: netbox/ipam/forms/filtersets.py:553 netbox/ipam/forms/model_forms.py:321
+#: netbox/templates/extras/configcontext.html:60
+#: netbox/templates/ipam/ipaddress.html:59
+#: netbox/templates/ipam/vlan_edit.html:30
+#: netbox/tenancy/forms/filtersets.py:87 netbox/users/forms/model_forms.py:311
msgid "Assignment"
msgstr "分配"
-#: extras/forms/model_forms.py:482
+#: netbox/extras/forms/model_forms.py:482
msgid "Data is populated from the remote source selected below."
-msgstr "数据是从下面选择的远程源填充的。"
+msgstr "任务终止"
-#: extras/forms/model_forms.py:488
+#: netbox/extras/forms/model_forms.py:488
msgid "Must specify either local data or a data file"
-msgstr "必须指定本地数据或数据文件"
+msgstr "必须指定本地内容或数据文件"
-#: extras/forms/model_forms.py:507 templates/core/datafile.html:55
+#: netbox/extras/forms/model_forms.py:507
+#: netbox/templates/core/datafile.html:55
msgid "Content"
msgstr "内容"
-#: extras/forms/reports.py:17 extras/forms/scripts.py:23
+#: netbox/extras/forms/reports.py:17 netbox/extras/forms/scripts.py:23
msgid "Schedule at"
-msgstr "日程安排在"
+msgstr "计划在"
-#: extras/forms/reports.py:18
+#: netbox/extras/forms/reports.py:18
msgid "Schedule execution of report to a set time"
-msgstr "将报告的执行安排在设定的时间内"
+msgstr "在指定的时间执行报告"
-#: extras/forms/reports.py:23 extras/forms/scripts.py:29
+#: netbox/extras/forms/reports.py:23 netbox/extras/forms/scripts.py:29
msgid "Recurs every"
-msgstr "每次都会重复"
+msgstr "重复间隔"
-#: extras/forms/reports.py:27
+#: netbox/extras/forms/reports.py:27
msgid "Interval at which this report is re-run (in minutes)"
-msgstr "重新运行此报告的间隔(以分钟为单位)"
+msgstr "重新运行此报表的间隔(分钟)"
-#: extras/forms/reports.py:35 extras/forms/scripts.py:41
+#: netbox/extras/forms/reports.py:35 netbox/extras/forms/scripts.py:41
#, python-brace-format
msgid " (current time: {now} )"
-msgstr " (当前时间: {now} )"
+msgstr " (当前时间: {now} )"
-#: extras/forms/reports.py:45 extras/forms/scripts.py:51
+#: netbox/extras/forms/reports.py:45 netbox/extras/forms/scripts.py:51
msgid "Scheduled time must be in the future."
-msgstr "预定时间必须是将来的时间。"
+msgstr "计划时间必须是将来的某一时刻"
-#: extras/forms/scripts.py:17
+#: netbox/extras/forms/scripts.py:17
msgid "Commit changes"
msgstr "提交更改"
-#: extras/forms/scripts.py:18
+#: netbox/extras/forms/scripts.py:18
msgid "Commit changes to the database (uncheck for a dry-run)"
-msgstr "提交对数据库的更改(取消选中试运行)"
+msgstr "提交对数据库的更改(取消选中以进行试运行)"
-#: extras/forms/scripts.py:24
+#: netbox/extras/forms/scripts.py:24
msgid "Schedule execution of script to a set time"
-msgstr "将脚本的执行安排到设定的时间"
+msgstr "在指定的时间执行脚本"
-#: extras/forms/scripts.py:33
+#: netbox/extras/forms/scripts.py:33
msgid "Interval at which this script is re-run (in minutes)"
-msgstr "此脚本重新运行的时间间隔(以分钟为单位)"
+msgstr "重新运行此脚本的间隔(分钟)"
-#: extras/management/commands/reindex.py:66
+#: netbox/extras/management/commands/reindex.py:66
msgid "No indexers found!"
-msgstr "未找到索引器!"
+msgstr "找不到索引!"
-#: extras/models/change_logging.py:24
+#: netbox/extras/models/change_logging.py:29
msgid "time"
msgstr "时间"
-#: extras/models/change_logging.py:37
+#: netbox/extras/models/change_logging.py:42
msgid "user name"
msgstr "用户名"
-#: extras/models/change_logging.py:42
+#: netbox/extras/models/change_logging.py:47
msgid "request ID"
-msgstr "请求 ID"
+msgstr "请求ID"
-#: extras/models/change_logging.py:47 extras/models/staging.py:69
+#: netbox/extras/models/change_logging.py:52
+#: netbox/extras/models/staging.py:70
msgid "action"
-msgstr "行动"
+msgstr "动作"
-#: extras/models/change_logging.py:81
+#: netbox/extras/models/change_logging.py:86
msgid "pre-change data"
-msgstr "变更前数据"
+msgstr "变更前配置"
-#: extras/models/change_logging.py:87
+#: netbox/extras/models/change_logging.py:92
msgid "post-change data"
-msgstr "变更后的数据"
+msgstr "变更后配置"
-#: extras/models/change_logging.py:101
+#: netbox/extras/models/change_logging.py:106
msgid "object change"
-msgstr "物体变更"
+msgstr "变更的对象"
-#: extras/models/change_logging.py:102
+#: netbox/extras/models/change_logging.py:107
msgid "object changes"
-msgstr "物体变更"
+msgstr "变更的对象"
-#: extras/models/change_logging.py:118
+#: netbox/extras/models/change_logging.py:123
#, python-brace-format
msgid "Change logging is not supported for this object type ({type})."
-msgstr "此对象类型不支持更改日志 ({type})。"
+msgstr "此对象类型 ({type}) 不支持更改日志记录。"
-#: extras/models/configs.py:130
+#: netbox/extras/models/configs.py:130
msgid "config context"
-msgstr "配置上下文"
+msgstr "配置实例"
-#: extras/models/configs.py:131
+#: netbox/extras/models/configs.py:131
msgid "config contexts"
-msgstr "配置上下文"
+msgstr "配置实例"
-#: extras/models/configs.py:149 extras/models/configs.py:205
+#: netbox/extras/models/configs.py:149 netbox/extras/models/configs.py:205
msgid "JSON data must be in object form. Example:"
-msgstr "JSON 数据必须采用对象形式。示例:"
+msgstr "JSON数据必须为对象形式。例如:"
-#: extras/models/configs.py:169
+#: netbox/extras/models/configs.py:169
msgid ""
"Local config context data takes precedence over source contexts in the final"
" rendered config context"
-msgstr "在最终呈现的配置上下文中,本地配置上下文数据优先于源上下文"
+msgstr "在最终渲染的配置实例中,本地配置实例数据优先于数据源中的实力"
-#: extras/models/configs.py:224
+#: netbox/extras/models/configs.py:224
msgid "template code"
-msgstr "模板代码"
+msgstr "模版代码"
-#: extras/models/configs.py:225
+#: netbox/extras/models/configs.py:225
msgid "Jinja2 template code."
-msgstr "Jinja2 模板代码。"
+msgstr "Jinja2模版代码"
-#: extras/models/configs.py:228
+#: netbox/extras/models/configs.py:228
msgid "environment parameters"
msgstr "环境参数"
-#: extras/models/configs.py:233
+#: netbox/extras/models/configs.py:233
msgid ""
"Any additional"
" parameters to pass when constructing the Jinja2 environment."
msgstr ""
-"任何 其他参数 "
-" 在构建 Jinja2 环境时传递。"
+"构建Jinja2环境时要传递的 附加参数 "
-#: extras/models/configs.py:240
+#: netbox/extras/models/configs.py:240
msgid "config template"
-msgstr "配置模板"
+msgstr "配置模版"
-#: extras/models/configs.py:241
+#: netbox/extras/models/configs.py:241
msgid "config templates"
-msgstr "配置模板"
+msgstr "配置模版"
-#: extras/models/customfields.py:73
+#: netbox/extras/models/customfields.py:74
msgid "The object(s) to which this field applies."
-msgstr "此字段适用的对象。"
+msgstr "此字段所应用的对象。"
-#: extras/models/customfields.py:80
+#: netbox/extras/models/customfields.py:81
msgid "The type of data this custom field holds"
-msgstr "此自定义字段保存的数据类型"
+msgstr "该自定义字段保存的数据类型"
-#: extras/models/customfields.py:87
+#: netbox/extras/models/customfields.py:88
msgid "The type of NetBox object this field maps to (for object fields)"
-msgstr "此字段映射到的 NetBox 对象的类型(对于对象字段)"
+msgstr "此字段映射到的NetBox对象的类型(对于对象字段)"
-#: extras/models/customfields.py:93
+#: netbox/extras/models/customfields.py:94
msgid "Internal field name"
msgstr "内部字段名称"
-#: extras/models/customfields.py:97
+#: netbox/extras/models/customfields.py:98
msgid "Only alphanumeric characters and underscores are allowed."
-msgstr "只允许使用字母数字字符和下划线。"
+msgstr "仅允许输入英文字符、数字和下划线。"
-#: extras/models/customfields.py:102
+#: netbox/extras/models/customfields.py:103
msgid "Double underscores are not permitted in custom field names."
msgstr "自定义字段名称中不允许使用双下划线。"
-#: extras/models/customfields.py:113
+#: netbox/extras/models/customfields.py:114
msgid ""
"Name of the field as displayed to users (if not provided, 'the field's name "
"will be used)"
-msgstr "向用户显示的字段名称(如果未提供,则将使用字段的名称)"
+msgstr "向用户显示的字段名称(如果未提供,则使用字段名称)"
-#: extras/models/customfields.py:117 extras/models/models.py:345
+#: netbox/extras/models/customfields.py:118 netbox/extras/models/models.py:345
msgid "group name"
-msgstr "群组名称"
+msgstr "组名称"
-#: extras/models/customfields.py:120
+#: netbox/extras/models/customfields.py:121
msgid "Custom fields within the same group will be displayed together"
-msgstr "同一组中的自定义字段将一起显示"
+msgstr "同一组内的自定义字段将一起显示"
-#: extras/models/customfields.py:128
+#: netbox/extras/models/customfields.py:129
msgid "required"
-msgstr "规定的"
+msgstr "必须"
-#: extras/models/customfields.py:130
+#: netbox/extras/models/customfields.py:131
msgid ""
"If true, this field is required when creating new objects or editing an "
"existing object."
-msgstr "如果为 true,则在创建新对象或编辑现有对象时必须填写此字段。"
+msgstr "如果为true,则在创建新对象或编辑现有对象时需要此字段。"
-#: extras/models/customfields.py:133
+#: netbox/extras/models/customfields.py:134
msgid "search weight"
msgstr "搜索权重"
-#: extras/models/customfields.py:136
+#: netbox/extras/models/customfields.py:137
msgid ""
"Weighting for search. Lower values are considered more important. Fields "
"with a search weight of zero will be ignored."
-msgstr "为搜索加权。较低的值被认为更重要。搜索权重为零的字段将被忽略。"
+msgstr "搜索权重。值越低越被有限搜索。权重为零的字段将被忽略搜索。"
-#: extras/models/customfields.py:141
+#: netbox/extras/models/customfields.py:142
msgid "filter logic"
-msgstr "过滤器逻辑"
+msgstr "过滤器规则"
-#: extras/models/customfields.py:145
+#: netbox/extras/models/customfields.py:146
msgid ""
"Loose matches any instance of a given string; exact matches the entire "
"field."
-msgstr "Loose 匹配给定字符串的任何实例;精确匹配整个字段。"
+msgstr "松散匹配是匹配字段中的任意位置;严格匹配是与整个字段完全匹配。"
-#: extras/models/customfields.py:148
+#: netbox/extras/models/customfields.py:149
msgid "default"
msgstr "默认"
-#: extras/models/customfields.py:152
+#: netbox/extras/models/customfields.py:153
msgid ""
"Default value for the field (must be a JSON value). Encapsulate strings with"
" double quotes (e.g. \"Foo\")."
-msgstr "该字段的默认值(必须是 JSON 值)。用双引号(例如 “Foo”)封装字符串。"
+msgstr "字段的默认值(必须是JSON值)。字符串要包含在双引号中(例如“Foo”)。"
-#: extras/models/customfields.py:157
+#: netbox/extras/models/customfields.py:158
msgid "display weight"
-msgstr "显示重量"
+msgstr "显示权重"
-#: extras/models/customfields.py:158
+#: netbox/extras/models/customfields.py:159
msgid "Fields with higher weights appear lower in a form."
-msgstr "权重越高的字段在表单中显示得越低。"
+msgstr "权重约高的字段在页面中显示得位置越低。"
-#: extras/models/customfields.py:163
+#: netbox/extras/models/customfields.py:164
msgid "minimum value"
msgstr "最小值"
-#: extras/models/customfields.py:164
+#: netbox/extras/models/customfields.py:165
msgid "Minimum allowed value (for numeric fields)"
-msgstr "允许的最小值(适用于数值字段)"
+msgstr "允许的最小值(对于数字字段)"
-#: extras/models/customfields.py:169
+#: netbox/extras/models/customfields.py:170
msgid "maximum value"
msgstr "最大值"
-#: extras/models/customfields.py:170
+#: netbox/extras/models/customfields.py:171
msgid "Maximum allowed value (for numeric fields)"
-msgstr "允许的最大值(对于数值字段)"
+msgstr "允许的最大值(对于数字字段)"
-#: extras/models/customfields.py:176
+#: netbox/extras/models/customfields.py:177
msgid "validation regex"
msgstr "验证正则表达式"
-#: extras/models/customfields.py:178
+#: netbox/extras/models/customfields.py:179
#, python-brace-format
msgid ""
"Regular expression to enforce on text field values. Use ^ and $ to force "
"matching of entire string. For example, ^[A-Z]{3}$
will limit "
"values to exactly three uppercase letters."
msgstr ""
-"对文本字段值强制执行的正则表达式。使用 ^ 和 $ 强制匹配整个字符串。例如, ^ [A-Z]{3}$
"
-"会将值限制为正好三个大写字母。"
+"要在文本字段值上强制执行的正则表达式。使用^和$可以强制匹配整个字符串。例如, "
+"^[A-Z]{3}$
将限制值只能有三个大写字母。"
-#: extras/models/customfields.py:186
+#: netbox/extras/models/customfields.py:187
msgid "choice set"
-msgstr "选择集"
+msgstr "可选项"
-#: extras/models/customfields.py:195
+#: netbox/extras/models/customfields.py:196
msgid "Specifies whether the custom field is displayed in the UI"
-msgstr "指定是否在 UI 中显示自定义字段"
+msgstr "是否在UI中显示此字段"
-#: extras/models/customfields.py:202
+#: netbox/extras/models/customfields.py:203
msgid "Specifies whether the custom field value can be edited in the UI"
-msgstr "指定是否可以在用户界面中编辑自定义字段值"
+msgstr "是否在UI中可编辑此字段"
-#: extras/models/customfields.py:206
+#: netbox/extras/models/customfields.py:207
msgid "is cloneable"
-msgstr "是可克隆的"
+msgstr "可复制"
-#: extras/models/customfields.py:207
+#: netbox/extras/models/customfields.py:208
msgid "Replicate this value when cloning objects"
-msgstr "克隆对象时复制此值"
+msgstr "复制对象时同时复制此值"
-#: extras/models/customfields.py:224
+#: netbox/extras/models/customfields.py:225
msgid "custom field"
msgstr "自定义字段"
-#: extras/models/customfields.py:225
+#: netbox/extras/models/customfields.py:226
msgid "custom fields"
msgstr "自定义字段"
-#: extras/models/customfields.py:314
+#: netbox/extras/models/customfields.py:315
#, python-brace-format
msgid "Invalid default value \"{value}\": {error}"
-msgstr "默认值无效”{value}“: {error}"
+msgstr "无效的默认值:“{value}”:{error}"
-#: extras/models/customfields.py:321
+#: netbox/extras/models/customfields.py:322
msgid "A minimum value may be set only for numeric fields"
-msgstr "只能为数值字段设置最小值"
+msgstr "只能为数字字段设置最小值"
-#: extras/models/customfields.py:323
+#: netbox/extras/models/customfields.py:324
msgid "A maximum value may be set only for numeric fields"
-msgstr "只能为数值字段设置最大值"
+msgstr "只能为数字字段设置最大值"
-#: extras/models/customfields.py:333
+#: netbox/extras/models/customfields.py:334
msgid ""
"Regular expression validation is supported only for text and URL fields"
-msgstr "仅文本和 URL 字段支持正则表达式验证"
+msgstr "仅对文本和URL字段支持正则表达式验证"
-#: extras/models/customfields.py:343
+#: netbox/extras/models/customfields.py:344
msgid "Selection fields must specify a set of choices."
-msgstr "选择字段必须指定一组选项。"
+msgstr "选择字段必须指定一组可用选项。"
-#: extras/models/customfields.py:347
+#: netbox/extras/models/customfields.py:348
msgid "Choices may be set only on selection fields."
msgstr "只能在选择字段上设置选项。"
-#: extras/models/customfields.py:354
+#: netbox/extras/models/customfields.py:355
msgid "Object fields must define an object type."
msgstr "对象字段必须定义对象类型。"
-#: extras/models/customfields.py:359
+#: netbox/extras/models/customfields.py:360
#, python-brace-format
msgid "{type} fields may not define an object type."
-msgstr "{type} 字段可能无法定义对象类型。"
+msgstr "{type}字段不能定义对象类型。"
-#: extras/models/customfields.py:439
+#: netbox/extras/models/customfields.py:440
msgid "True"
-msgstr "真的"
+msgstr "是"
-#: extras/models/customfields.py:440
+#: netbox/extras/models/customfields.py:441
msgid "False"
-msgstr "假的"
+msgstr "否"
-#: extras/models/customfields.py:522
+#: netbox/extras/models/customfields.py:523
#, python-brace-format
msgid "Values must match this regex: {regex}
"
-msgstr "值必须匹配以下正则表达式: {regex}
"
+msgstr "值必须与此正则表达式匹配: {regex}
"
-#: extras/models/customfields.py:616
+#: netbox/extras/models/customfields.py:617
msgid "Value must be a string."
-msgstr "值必须是字符串。"
+msgstr "值必须为字符串"
-#: extras/models/customfields.py:618
+#: netbox/extras/models/customfields.py:619
#, python-brace-format
msgid "Value must match regex '{regex}'"
-msgstr "值必须匹配正则表达式 '{regex}'"
+msgstr "值必须与正则表达式'{regex}'匹配"
-#: extras/models/customfields.py:623
+#: netbox/extras/models/customfields.py:624
msgid "Value must be an integer."
msgstr "值必须是整数。"
-#: extras/models/customfields.py:626 extras/models/customfields.py:641
+#: netbox/extras/models/customfields.py:627
+#: netbox/extras/models/customfields.py:642
#, python-brace-format
msgid "Value must be at least {minimum}"
-msgstr "值必须至少为 {minimum}"
+msgstr "值最少为{minimum}"
-#: extras/models/customfields.py:630 extras/models/customfields.py:645
+#: netbox/extras/models/customfields.py:631
+#: netbox/extras/models/customfields.py:646
#, python-brace-format
msgid "Value must not exceed {maximum}"
-msgstr "值不得超过 {maximum}"
+msgstr "值最大为{maximum}"
-#: extras/models/customfields.py:638
+#: netbox/extras/models/customfields.py:639
msgid "Value must be a decimal."
msgstr "值必须是十进制。"
-#: extras/models/customfields.py:650
+#: netbox/extras/models/customfields.py:651
msgid "Value must be true or false."
-msgstr "值必须为真或假。"
+msgstr "值必须为true或false。"
-#: extras/models/customfields.py:658
+#: netbox/extras/models/customfields.py:659
msgid "Date values must be in ISO 8601 format (YYYY-MM-DD)."
-msgstr "日期值必须采用 ISO 8601 格式 (YYYY-MM-DD)。"
+msgstr "日期格式必须为(YYYY-MM-DD)."
-#: extras/models/customfields.py:667
+#: netbox/extras/models/customfields.py:672
msgid "Date and time values must be in ISO 8601 format (YYYY-MM-DD HH:MM:SS)."
-msgstr "日期和时间值必须采用 ISO 8601 格式(YYYY-MM-DD HH: MM: SS)。"
+msgstr "日期和时间必须遵循这个格式 (YYYY-MM-DD HH:MM:SS)."
-#: extras/models/customfields.py:674
+#: netbox/extras/models/customfields.py:679
#, python-brace-format
msgid "Invalid choice ({value}) for choice set {choiceset}."
-msgstr "选择无效 ({value}) 用于选择集 {choiceset}。"
+msgstr "选项集{choiceset}的选项({value})无效。"
-#: extras/models/customfields.py:684
+#: netbox/extras/models/customfields.py:689
#, python-brace-format
msgid "Invalid choice(s) ({value}) for choice set {choiceset}."
-msgstr "无效的选择 ({value}) 用于选择集 {choiceset}。"
+msgstr "选项集{choiceset}的选项({value})无效。"
-#: extras/models/customfields.py:693
+#: netbox/extras/models/customfields.py:698
#, python-brace-format
msgid "Value must be an object ID, not {type}"
-msgstr "值必须是对象 ID,而不是 {type}"
+msgstr "值必须为对象ID, 不是 {type}"
-#: extras/models/customfields.py:699
+#: netbox/extras/models/customfields.py:704
#, python-brace-format
msgid "Value must be a list of object IDs, not {type}"
-msgstr "值必须是对象 ID 的列表,而不是 {type}"
+msgstr "值必须为对象ID的列表,不是 {type}"
-#: extras/models/customfields.py:703
+#: netbox/extras/models/customfields.py:708
#, python-brace-format
msgid "Found invalid object ID: {id}"
-msgstr "发现无效的对象 ID: {id}"
+msgstr "发现错误的对象ID: {id}"
-#: extras/models/customfields.py:706
+#: netbox/extras/models/customfields.py:711
msgid "Required field cannot be empty."
msgstr "必填字段不能为空。"
-#: extras/models/customfields.py:725
+#: netbox/extras/models/customfields.py:730
msgid "Base set of predefined choices (optional)"
-msgstr "预定义选项的基本集合(可选)"
+msgstr "预定义选项的基本集合(可选)"
-#: extras/models/customfields.py:737
+#: netbox/extras/models/customfields.py:742
msgid "Choices are automatically ordered alphabetically"
-msgstr "选项自动按字母顺序排序"
+msgstr "选项会自动按字母顺序排列"
-#: extras/models/customfields.py:744
+#: netbox/extras/models/customfields.py:749
msgid "custom field choice set"
msgstr "自定义字段选择集"
-#: extras/models/customfields.py:745
+#: netbox/extras/models/customfields.py:750
msgid "custom field choice sets"
msgstr "自定义字段选择集"
-#: extras/models/customfields.py:781
+#: netbox/extras/models/customfields.py:786
msgid "Must define base or extra choices."
-msgstr "必须定义基本选择或额外选择。"
+msgstr "必须定义基本选项或额外选项。"
-#: extras/models/dashboard.py:19
+#: netbox/extras/models/dashboard.py:19
msgid "layout"
msgstr "布局"
-#: extras/models/dashboard.py:23
+#: netbox/extras/models/dashboard.py:23
msgid "config"
msgstr "配置"
-#: extras/models/dashboard.py:28
+#: netbox/extras/models/dashboard.py:28
msgid "dashboard"
-msgstr "仪表板"
+msgstr "仪表盘"
-#: extras/models/dashboard.py:29
+#: netbox/extras/models/dashboard.py:29
msgid "dashboards"
-msgstr "仪表板"
+msgstr "仪表盘"
-#: extras/models/models.py:51
+#: netbox/extras/models/models.py:51
msgid "object types"
msgstr "对象类型"
-#: extras/models/models.py:52
+#: netbox/extras/models/models.py:52
msgid "The object(s) to which this rule applies."
-msgstr "此规则适用的对象。"
+msgstr "应用此规则的对象。"
-#: extras/models/models.py:65
+#: netbox/extras/models/models.py:65
msgid "on create"
msgstr "创建时"
-#: extras/models/models.py:67
+#: netbox/extras/models/models.py:67
msgid "Triggers when a matching object is created."
msgstr "创建匹配对象时触发。"
-#: extras/models/models.py:70
+#: netbox/extras/models/models.py:70
msgid "on update"
msgstr "更新时"
-#: extras/models/models.py:72
+#: netbox/extras/models/models.py:72
msgid "Triggers when a matching object is updated."
-msgstr "更新匹配对象时触发。"
+msgstr "当匹配的对象更新时触发。"
-#: extras/models/models.py:75
+#: netbox/extras/models/models.py:75
msgid "on delete"
msgstr "删除时"
-#: extras/models/models.py:77
+#: netbox/extras/models/models.py:77
msgid "Triggers when a matching object is deleted."
msgstr "删除匹配对象时触发。"
-#: extras/models/models.py:80
+#: netbox/extras/models/models.py:80
msgid "on job start"
-msgstr "在工作开始时"
+msgstr "任务开始时"
-#: extras/models/models.py:82
+#: netbox/extras/models/models.py:82
msgid "Triggers when a job for a matching object is started."
-msgstr "在启动匹配对象的作业时触发。"
+msgstr "当匹配对象的任务启动时触发。"
-#: extras/models/models.py:85
+#: netbox/extras/models/models.py:85
msgid "on job end"
-msgstr "在工作结束时"
+msgstr "任务结束时"
-#: extras/models/models.py:87
+#: netbox/extras/models/models.py:87
msgid "Triggers when a job for a matching object terminates."
-msgstr "当匹配对象的任务终止时触发。"
+msgstr "当匹配对象的任务结束时触发。"
-#: extras/models/models.py:94
+#: netbox/extras/models/models.py:94
msgid "conditions"
-msgstr "条件"
+msgstr "限制条件"
-#: extras/models/models.py:97
+#: netbox/extras/models/models.py:97
msgid ""
"A set of conditions which determine whether the event will be generated."
-msgstr "决定是否生成事件的一组条件。"
+msgstr "一组条件,用于确定是否会生成事件。"
-#: extras/models/models.py:105
+#: netbox/extras/models/models.py:105
msgid "action type"
-msgstr "操作类型"
+msgstr "动作类型"
-#: extras/models/models.py:124
+#: netbox/extras/models/models.py:124
msgid "Additional data to pass to the action object"
-msgstr "要传递给操作对象的其他数据"
+msgstr "要传递给动作对象的其他数据"
-#: extras/models/models.py:136
+#: netbox/extras/models/models.py:136
msgid "event rule"
msgstr "事件规则"
-#: extras/models/models.py:137
+#: netbox/extras/models/models.py:137
msgid "event rules"
msgstr "事件规则"
-#: extras/models/models.py:153
+#: netbox/extras/models/models.py:153
msgid ""
"At least one event type must be selected: create, update, delete, job start,"
" and/or job end."
-msgstr "必须选择至少一种事件类型:创建、更新、删除、作业启动和/或作业结束。"
+msgstr "必须至少选择一种事件类型:创建、更新、删除、任务开始和/或任务结束。"
-#: extras/models/models.py:194
+#: netbox/extras/models/models.py:194
msgid ""
"This URL will be called using the HTTP method defined when the webhook is "
"called. Jinja2 template processing is supported with the same context as the"
" request body."
-msgstr "将使用调用 webhook 时定义的 HTTP 方法调用此 URL。支持 Jinja2 模板处理,其上下文与请求正文相同。"
+msgstr "此URL将使用调用webhook时定义的HTTP方法进行调用。Jinja2模板处理支持与请求主体相同的描述。"
-#: extras/models/models.py:209
+#: netbox/extras/models/models.py:209
msgid ""
"The complete list of official content types is available here ."
msgstr ""
-"官方内容类型的完整列表可用 这里 。"
+"完整的官网内容类型 点击这里 ."
-#: extras/models/models.py:214
+#: netbox/extras/models/models.py:214
msgid "additional headers"
-msgstr "其他标题"
+msgstr "附加标头"
-#: extras/models/models.py:217
+#: netbox/extras/models/models.py:217
msgid ""
"User-supplied HTTP headers to be sent with the request in addition to the "
"HTTP content type. Headers should be defined in the format Name: "
"Value
. Jinja2 template processing is supported with the same context "
"as the request body (below)."
msgstr ""
-"除 HTTP 内容类型外,用户提供的 HTTP 标头将随请求一起发送。标题应按以下格式定义 名称:值
。支持 Jinja2 "
-"模板处理,其上下文与请求正文相同(见下文)。"
+"除了HTTP内容类型之外,还要与请求一起发送用户提供的HTTP标头。标头的定义格式应为 名称: 值
. "
+"Jinja2模板处理支持与请求主体相同的实例(如下)。"
-#: extras/models/models.py:223
+#: netbox/extras/models/models.py:223
msgid "body template"
-msgstr "正文模板"
+msgstr "内容模版"
-#: extras/models/models.py:226
+#: netbox/extras/models/models.py:226
msgid ""
"Jinja2 template for a custom request body. If blank, a JSON object "
"representing the change will be included. Available context data includes: "
"event
, model
, timestamp
, "
"username
, request_id
, and data
."
msgstr ""
-"自定义请求正文的 Jinja2 模板。如果为空,则将包含代表更改的 JSON 对象。可用的上下文数据包括: 事件
, "
-"模型
, 时间戳
, 用户名
, "
-"request_id
,以及 数据
。"
+"用于自定义请求正文的Jinja2模板。如果为空,则会包含一个表示更改的JSON对象。可用的实例数据包括: 时间
, "
+"模块
, 时间戳
, 用户名
, 请求id
, 和 "
+"数据
."
-#: extras/models/models.py:232
+#: netbox/extras/models/models.py:232
msgid "secret"
-msgstr "秘密"
+msgstr "秘钥"
-#: extras/models/models.py:236
+#: netbox/extras/models/models.py:236
msgid ""
"When provided, the request will include a X-Hook-Signature
"
"header containing a HMAC hex digest of the payload body using the secret as "
"the key. The secret is not transmitted in the request."
msgstr ""
-"提供后,请求将包括 X-Hook 签名
包含使用密钥作为密钥的有效载荷正文的 HMAC "
-"十六进制摘要的标头。密钥未在请求中传输。"
+"当提供时,请求将包括一个X-Hook-Signature
"
+"该标头包含使用机密作为密钥的有效载荷主体的HMAC十六进制摘要。秘钥不会在请求中传输。"
-#: extras/models/models.py:243
+#: netbox/extras/models/models.py:243
msgid "Enable SSL certificate verification. Disable with caution!"
-msgstr "启用 SSL 证书验证。请谨慎禁用!"
+msgstr "启用SSL证书验证。禁用时请注意!"
-#: extras/models/models.py:249 templates/extras/webhook.html:51
+#: netbox/extras/models/models.py:249 netbox/templates/extras/webhook.html:51
msgid "CA File Path"
-msgstr "CA 文件路径"
+msgstr "CA证书文件路径"
-#: extras/models/models.py:251
+#: netbox/extras/models/models.py:251
msgid ""
"The specific CA certificate file to use for SSL verification. Leave blank to"
" use the system defaults."
-msgstr "用于 SSL 验证的特定 CA 证书文件。留空以使用系统默认值。"
+msgstr "用于SSL验证的CA证书文件。空为使用系统默认值。"
-#: extras/models/models.py:262
+#: netbox/extras/models/models.py:262
msgid "webhook"
msgstr "webhook"
-#: extras/models/models.py:263
+#: netbox/extras/models/models.py:263
msgid "webhooks"
-msgstr "网络挂钩"
+msgstr "webhooks"
-#: extras/models/models.py:281
+#: netbox/extras/models/models.py:281
msgid "Do not specify a CA certificate file if SSL verification is disabled."
-msgstr "如果禁用 SSL 验证,请勿指定 CA 证书文件。"
+msgstr "如果禁用了SSL验证,请不要指定CA证书文件。"
-#: extras/models/models.py:321
+#: netbox/extras/models/models.py:321
msgid "The object type(s) to which this link applies."
-msgstr "此链接适用的对象类型。"
+msgstr "此链接所应用的对象类型。"
-#: extras/models/models.py:333
+#: netbox/extras/models/models.py:333
msgid "link text"
msgstr "链接文本"
-#: extras/models/models.py:334
+#: netbox/extras/models/models.py:334
msgid "Jinja2 template code for link text"
-msgstr "链接文本的 Jinja2 模板代码"
+msgstr "链接文本的Jinja2模板代码"
-#: extras/models/models.py:337
+#: netbox/extras/models/models.py:337
msgid "link URL"
-msgstr "链接网址"
+msgstr "链接URL"
-#: extras/models/models.py:338
+#: netbox/extras/models/models.py:338
msgid "Jinja2 template code for link URL"
-msgstr "链接 URL 的 Jinja2 模板代码"
+msgstr "链接URL的Jinja2模板代码"
-#: extras/models/models.py:348
+#: netbox/extras/models/models.py:348
msgid "Links with the same group will appear as a dropdown menu"
-msgstr "同一群组的链接将显示为下拉菜单"
+msgstr "同一类的链接将显示为下拉菜单"
-#: extras/models/models.py:358
+#: netbox/extras/models/models.py:358
msgid "new window"
msgstr "新窗口"
-#: extras/models/models.py:360
+#: netbox/extras/models/models.py:360
msgid "Force link to open in a new window"
-msgstr "强制在新窗口中打开链接"
+msgstr "强制链接在新窗口中打开"
-#: extras/models/models.py:369
+#: netbox/extras/models/models.py:369
msgid "custom link"
msgstr "自定义链接"
-#: extras/models/models.py:370
+#: netbox/extras/models/models.py:370
msgid "custom links"
msgstr "自定义链接"
-#: extras/models/models.py:417
+#: netbox/extras/models/models.py:417
msgid "The object type(s) to which this template applies."
-msgstr "此模板适用的对象类型。"
+msgstr "应用此模板的对象类型。"
-#: extras/models/models.py:430
+#: netbox/extras/models/models.py:430
msgid ""
"Jinja2 template code. The list of objects being exported is passed as a "
"context variable named queryset
."
-msgstr "Jinja2 模板代码。要导出的对象列表作为名为的上下文变量传递 查询集
。"
+msgstr "Jinja2模板代码。要导出的对象列表作为queryset
的实例变量传递."
-#: extras/models/models.py:438
+#: netbox/extras/models/models.py:438
msgid "Defaults to text/plain; charset=utf-8
"
-msgstr "默认为 文本/纯文本;字符集=utf-8
"
+msgstr "默认为text/plain; charset=utf-8
"
-#: extras/models/models.py:441
+#: netbox/extras/models/models.py:441
msgid "file extension"
msgstr "文件扩展名"
-#: extras/models/models.py:444
+#: netbox/extras/models/models.py:444
msgid "Extension to append to the rendered filename"
-msgstr "附加到渲染文件名的扩展名"
+msgstr "附加到文件名的扩展名"
-#: extras/models/models.py:447
+#: netbox/extras/models/models.py:447
msgid "as attachment"
msgstr "作为附件"
-#: extras/models/models.py:449
+#: netbox/extras/models/models.py:449
msgid "Download file as attachment"
-msgstr "将文件下载为附件"
+msgstr "将文件作为附件下载"
-#: extras/models/models.py:458
+#: netbox/extras/models/models.py:458
msgid "export template"
-msgstr "导出模板"
+msgstr "导出模版"
-#: extras/models/models.py:459
+#: netbox/extras/models/models.py:459
msgid "export templates"
-msgstr "导出模板"
+msgstr "导出模版"
-#: extras/models/models.py:476
+#: netbox/extras/models/models.py:476
#, python-brace-format
msgid "\"{name}\" is a reserved name. Please choose a different name."
-msgstr "“{name}“是保留名称。请选择其他名称。"
+msgstr "\"{name}\"是保留名称。请选择其他名称。"
-#: extras/models/models.py:526
+#: netbox/extras/models/models.py:526
msgid "The object type(s) to which this filter applies."
-msgstr "此过滤器适用的对象类型。"
+msgstr "应用此筛选器的对象类型。"
-#: extras/models/models.py:558
+#: netbox/extras/models/models.py:558
msgid "shared"
-msgstr "共享的"
+msgstr "共享性"
-#: extras/models/models.py:571
+#: netbox/extras/models/models.py:571
msgid "saved filter"
msgstr "已保存的过滤器"
-#: extras/models/models.py:572
+#: netbox/extras/models/models.py:572
msgid "saved filters"
msgstr "已保存的过滤器"
-#: extras/models/models.py:590
+#: netbox/extras/models/models.py:590
msgid "Filter parameters must be stored as a dictionary of keyword arguments."
-msgstr "过滤器参数必须存储为关键字参数字典。"
+msgstr "筛选器参数必须存储为关键字参数的字典。"
-#: extras/models/models.py:618
+#: netbox/extras/models/models.py:618
msgid "image height"
-msgstr "图像高度"
+msgstr "图片高度"
-#: extras/models/models.py:621
+#: netbox/extras/models/models.py:621
msgid "image width"
-msgstr "图像宽度"
+msgstr "图片宽度"
-#: extras/models/models.py:638
+#: netbox/extras/models/models.py:638
msgid "image attachment"
-msgstr "图像附件"
+msgstr "图片附件"
-#: extras/models/models.py:639
+#: netbox/extras/models/models.py:639
msgid "image attachments"
-msgstr "图像附件"
+msgstr "图片附件"
-#: extras/models/models.py:653
+#: netbox/extras/models/models.py:653
#, python-brace-format
msgid "Image attachments cannot be assigned to this object type ({type})."
-msgstr "无法将图像附件分配给此对象类型 ({type})。"
+msgstr "无法将图片附件分配给此对象类型({type})."
-#: extras/models/models.py:716
+#: netbox/extras/models/models.py:716
msgid "kind"
-msgstr "善良"
+msgstr "类型"
-#: extras/models/models.py:730
+#: netbox/extras/models/models.py:730
msgid "journal entry"
-msgstr "日记文章"
+msgstr "日志条目"
-#: extras/models/models.py:731
+#: netbox/extras/models/models.py:731
msgid "journal entries"
-msgstr "日记条目"
+msgstr "日志条目"
-#: extras/models/models.py:746
+#: netbox/extras/models/models.py:746
#, python-brace-format
msgid "Journaling is not supported for this object type ({type})."
-msgstr "此对象类型不支持日记 ({type})。"
+msgstr "此对象类型({type})不支持备忘。"
-#: extras/models/models.py:788
+#: netbox/extras/models/models.py:788
msgid "bookmark"
msgstr "书签"
-#: extras/models/models.py:789
+#: netbox/extras/models/models.py:789
msgid "bookmarks"
msgstr "书签"
-#: extras/models/models.py:802
+#: netbox/extras/models/models.py:802
#, python-brace-format
msgid "Bookmarks cannot be assigned to this object type ({type})."
-msgstr "无法将书签分配给此对象类型 ({type})。"
+msgstr "无法将书签分配给此对象类型({type})。"
-#: extras/models/scripts.py:42
+#: netbox/extras/models/scripts.py:42
msgid "is executable"
msgstr "是可执行的"
-#: extras/models/scripts.py:64
+#: netbox/extras/models/scripts.py:64
msgid "script"
msgstr "脚本"
-#: extras/models/scripts.py:65
+#: netbox/extras/models/scripts.py:65
msgid "scripts"
msgstr "脚本"
-#: extras/models/scripts.py:111
+#: netbox/extras/models/scripts.py:111
msgid "script module"
msgstr "脚本模块"
-#: extras/models/scripts.py:112
+#: netbox/extras/models/scripts.py:112
msgid "script modules"
msgstr "脚本模块"
-#: extras/models/search.py:22
+#: netbox/extras/models/search.py:22
msgid "timestamp"
msgstr "时间戳"
-#: extras/models/search.py:37
+#: netbox/extras/models/search.py:37
msgid "field"
-msgstr "领域"
+msgstr "字段"
-#: extras/models/search.py:45
+#: netbox/extras/models/search.py:45
msgid "value"
-msgstr "价值"
+msgstr "值"
-#: extras/models/search.py:56
+#: netbox/extras/models/search.py:56
msgid "cached value"
msgstr "缓存的值"
-#: extras/models/search.py:57
+#: netbox/extras/models/search.py:57
msgid "cached values"
msgstr "缓存的值"
-#: extras/models/staging.py:44
+#: netbox/extras/models/staging.py:45
msgid "branch"
msgstr "分支"
-#: extras/models/staging.py:45
+#: netbox/extras/models/staging.py:46
msgid "branches"
-msgstr "分支机构"
+msgstr "分支"
-#: extras/models/staging.py:97
+#: netbox/extras/models/staging.py:98
msgid "staged change"
-msgstr "分阶段的变革"
+msgstr "暂存变更"
-#: extras/models/staging.py:98
+#: netbox/extras/models/staging.py:99
msgid "staged changes"
-msgstr "分阶段的更改"
+msgstr "暂存变更"
-#: extras/models/tags.py:40
+#: netbox/extras/models/tags.py:40
msgid "The object type(s) to which this tag can be applied."
-msgstr "可以应用此标签的对象类型。"
+msgstr "可以应用此标记的对象类型。"
-#: extras/models/tags.py:49
+#: netbox/extras/models/tags.py:49
msgid "tag"
msgstr "标签"
-#: extras/models/tags.py:50
+#: netbox/extras/models/tags.py:50
msgid "tags"
msgstr "标签"
-#: extras/models/tags.py:78
+#: netbox/extras/models/tags.py:78
msgid "tagged item"
-msgstr "带标签的物品"
+msgstr "标记的项目"
-#: extras/models/tags.py:79
+#: netbox/extras/models/tags.py:79
msgid "tagged items"
-msgstr "带标签的物品"
+msgstr "标记的项目"
-#: extras/scripts.py:439
+#: netbox/extras/scripts.py:439
msgid "Script Data"
msgstr "脚本数据"
-#: extras/scripts.py:443
+#: netbox/extras/scripts.py:443
msgid "Script Execution Parameters"
msgstr "脚本执行参数"
-#: extras/scripts.py:662
+#: netbox/extras/scripts.py:666
msgid "Database changes have been reverted automatically."
msgstr "数据库更改已自动恢复。"
-#: extras/scripts.py:675
+#: netbox/extras/scripts.py:679
msgid "Script aborted with error: "
-msgstr "脚本因错误而中止: "
+msgstr "脚本因错误而中止:"
-#: extras/scripts.py:685
+#: netbox/extras/scripts.py:689
msgid "An exception occurred: "
-msgstr "出现异常: "
+msgstr "发生异常:"
-#: extras/scripts.py:688
+#: netbox/extras/scripts.py:692
msgid "Database changes have been reverted due to error."
-msgstr "由于错误,数据库更改已恢复。"
+msgstr "由于出现错误,数据库更改已回滚。"
-#: extras/signals.py:146
+#: netbox/extras/signals.py:133
#, python-brace-format
msgid "Deletion is prevented by a protection rule: {message}"
-msgstr "保护规则禁止删除: {message}"
+msgstr "保护规则阻止删除: {message}"
-#: extras/tables/tables.py:46 extras/tables/tables.py:124
-#: extras/tables/tables.py:148 extras/tables/tables.py:213
-#: extras/tables/tables.py:238 extras/tables/tables.py:290
-#: extras/tables/tables.py:336 templates/extras/customfield.html:93
-#: templates/extras/eventrule.html:27 templates/users/objectpermission.html:64
-#: users/tables.py:80
+#: netbox/extras/tables/tables.py:47 netbox/extras/tables/tables.py:125
+#: netbox/extras/tables/tables.py:149 netbox/extras/tables/tables.py:214
+#: netbox/extras/tables/tables.py:239 netbox/extras/tables/tables.py:291
+#: netbox/extras/tables/tables.py:337
+#: netbox/templates/extras/customfield.html:93
+#: netbox/templates/extras/eventrule.html:27
+#: netbox/templates/users/objectpermission.html:64 netbox/users/tables.py:80
msgid "Object Types"
-msgstr "物体类型"
+msgstr "对象类型"
-#: extras/tables/tables.py:52
+#: netbox/extras/tables/tables.py:53
msgid "Visible"
msgstr "可见"
-#: extras/tables/tables.py:55
+#: netbox/extras/tables/tables.py:56
msgid "Editable"
msgstr "可编辑"
-#: extras/tables/tables.py:61
+#: netbox/extras/tables/tables.py:62
msgid "Related Object Type"
msgstr "相关对象类型"
-#: extras/tables/tables.py:65 templates/extras/customfield.html:47
+#: netbox/extras/tables/tables.py:66
+#: netbox/templates/extras/customfield.html:47
msgid "Choice Set"
-msgstr "选择集"
+msgstr "选项集"
-#: extras/tables/tables.py:73
+#: netbox/extras/tables/tables.py:74
msgid "Is Cloneable"
-msgstr "是否可以克隆"
+msgstr "可复制"
-#: extras/tables/tables.py:103
+#: netbox/extras/tables/tables.py:104
msgid "Count"
msgstr "计数"
-#: extras/tables/tables.py:106
+#: netbox/extras/tables/tables.py:107
msgid "Order Alphabetically"
-msgstr "按字母顺序排序"
+msgstr "按字母顺序排列"
-#: extras/tables/tables.py:130 templates/extras/customlink.html:33
+#: netbox/extras/tables/tables.py:131
+#: netbox/templates/extras/customlink.html:33
msgid "New Window"
msgstr "新窗口"
-#: extras/tables/tables.py:151
+#: netbox/extras/tables/tables.py:152
msgid "As Attachment"
msgstr "作为附件"
-#: extras/tables/tables.py:158 extras/tables/tables.py:377
-#: extras/tables/tables.py:412 templates/core/datafile.html:24
-#: templates/dcim/device/render_config.html:22
-#: templates/extras/configcontext.html:39
-#: templates/extras/configtemplate.html:31
-#: templates/extras/exporttemplate.html:45
-#: templates/generic/bulk_import.html:35
-#: templates/virtualization/virtualmachine/render_config.html:22
+#: netbox/extras/tables/tables.py:159 netbox/extras/tables/tables.py:378
+#: netbox/extras/tables/tables.py:413 netbox/templates/core/datafile.html:24
+#: netbox/templates/dcim/device/render_config.html:22
+#: netbox/templates/extras/configcontext.html:39
+#: netbox/templates/extras/configtemplate.html:31
+#: netbox/templates/extras/exporttemplate.html:45
+#: netbox/templates/generic/bulk_import.html:35
+#: netbox/templates/virtualization/virtualmachine/render_config.html:22
msgid "Data File"
msgstr "数据文件"
-#: extras/tables/tables.py:163 extras/tables/tables.py:389
-#: extras/tables/tables.py:417
+#: netbox/extras/tables/tables.py:164 netbox/extras/tables/tables.py:390
+#: netbox/extras/tables/tables.py:418
msgid "Synced"
-msgstr "已同步"
+msgstr "同步"
-#: extras/tables/tables.py:190
+#: netbox/extras/tables/tables.py:191
msgid "Image"
msgstr "图片"
-#: extras/tables/tables.py:195
+#: netbox/extras/tables/tables.py:196
msgid "Size (Bytes)"
-msgstr "大小(字节)"
+msgstr "大小 (Bytes)"
-#: extras/tables/tables.py:260
+#: netbox/extras/tables/tables.py:261
msgid "SSL Validation"
-msgstr "SSL 验证"
+msgstr "SSL验证"
-#: extras/tables/tables.py:305
+#: netbox/extras/tables/tables.py:306
msgid "Job Start"
-msgstr "作业开始"
+msgstr "开始工作"
-#: extras/tables/tables.py:308
+#: netbox/extras/tables/tables.py:309
msgid "Job End"
-msgstr "任务结束"
+msgstr "结束工作"
-#: extras/tables/tables.py:425 netbox/navigation/menu.py:64
-#: templates/dcim/devicerole.html:8
+#: netbox/extras/tables/tables.py:426 netbox/netbox/navigation/menu.py:64
+#: netbox/templates/dcim/devicerole.html:8
msgid "Device Roles"
msgstr "设备角色"
-#: extras/tables/tables.py:466 templates/account/profile.html:19
-#: templates/users/user.html:21
+#: netbox/extras/tables/tables.py:467 netbox/templates/account/profile.html:19
+#: netbox/templates/users/user.html:21
msgid "Full Name"
msgstr "全名"
-#: extras/tables/tables.py:483 templates/extras/objectchange.html:67
+#: netbox/extras/tables/tables.py:484
+#: netbox/templates/extras/objectchange.html:68
msgid "Request ID"
-msgstr "请求 ID"
+msgstr "请求ID"
-#: extras/tables/tables.py:520
+#: netbox/extras/tables/tables.py:521
msgid "Comments (Short)"
-msgstr "评论(简短)"
+msgstr "评论(简短)"
-#: extras/tables/tables.py:539 extras/tables/tables.py:561
+#: netbox/extras/tables/tables.py:540 netbox/extras/tables/tables.py:574
msgid "Line"
msgstr "线"
-#: extras/tables/tables.py:546 extras/tables/tables.py:571
+#: netbox/extras/tables/tables.py:547 netbox/extras/tables/tables.py:584
msgid "Level"
-msgstr "级别"
+msgstr "等级"
-#: extras/tables/tables.py:549 extras/tables/tables.py:580
+#: netbox/extras/tables/tables.py:553 netbox/extras/tables/tables.py:593
msgid "Message"
-msgstr "留言"
+msgstr "信息"
-#: extras/tables/tables.py:564
+#: netbox/extras/tables/tables.py:577
msgid "Method"
msgstr "方法"
-#: extras/validators.py:16
+#: netbox/extras/validators.py:16
#, python-format
msgid "Ensure this value is equal to %(limit_value)s."
-msgstr "确保此值等于 %(limit_value)s。"
+msgstr "请确保值等于 %(limit_value)s."
-#: extras/validators.py:27
+#: netbox/extras/validators.py:27
#, python-format
msgid "Ensure this value does not equal %(limit_value)s."
-msgstr "确保此值不等于 %(limit_value)s。"
+msgstr "请确保值不等于 %(limit_value)s."
-#: extras/validators.py:38
+#: netbox/extras/validators.py:38
msgid "This field must be empty."
-msgstr "此字段必须为空。"
+msgstr "此字段必须为空"
-#: extras/validators.py:53
+#: netbox/extras/validators.py:53
msgid "This field must not be empty."
-msgstr "此字段不能为空。"
+msgstr "此字段必须不为空"
-#: extras/validators.py:95
+#: netbox/extras/validators.py:95
msgid "Validation rules must be passed as a dictionary"
msgstr "验证规则必须作为字典传递"
-#: extras/validators.py:120
+#: netbox/extras/validators.py:120
#, python-brace-format
msgid "Custom validation failed for {attribute}: {exception}"
-msgstr "的自定义验证失败 {attribute}: {exception}"
+msgstr "{attribute} 的自定义验证失败:{exception}"
-#: extras/validators.py:140
+#: netbox/extras/validators.py:140
#, python-brace-format
msgid "Invalid attribute \"{name}\" for request"
-msgstr "属性无效”{name}“供请求"
+msgstr "请求的属性“{name}”无效"
-#: extras/validators.py:157
+#: netbox/extras/validators.py:157
#, python-brace-format
msgid "Invalid attribute \"{name}\" for {model}"
-msgstr "属性无效”{name}“对于 {model}"
+msgstr "{model}的属性 \"{name}\"无效"
-#: extras/views.py:889
+#: netbox/extras/views.py:889
msgid "Your dashboard has been reset."
-msgstr "您的仪表板已重置。"
+msgstr "您的仪表盘已重置。"
-#: extras/views.py:935
+#: netbox/extras/views.py:935
msgid "Added widget: "
-msgstr "添加了小部件: "
+msgstr "添加小组件:"
-#: extras/views.py:976
+#: netbox/extras/views.py:976
msgid "Updated widget: "
-msgstr "更新的小部件: "
+msgstr "更新小组件:"
-#: extras/views.py:1012
+#: netbox/extras/views.py:1012
msgid "Deleted widget: "
-msgstr "已删除的控件: "
+msgstr "删除小组件:"
-#: extras/views.py:1014
+#: netbox/extras/views.py:1014
msgid "Error deleting widget: "
-msgstr "删除小部件时出错: "
+msgstr "删除小组件错误:"
-#: extras/views.py:1101
+#: netbox/extras/views.py:1101
msgid "Unable to run script: RQ worker process not running."
-msgstr "无法运行脚本:RQ 工作进程未运行。"
+msgstr "无法运行脚本:RQ worker进程未运行。"
-#: ipam/api/field_serializers.py:17
+#: netbox/ipam/api/field_serializers.py:17
msgid "Enter a valid IPv4 or IPv6 address with optional mask."
-msgstr "输入带有可选掩码的有效 IPv4 或 IPv6 地址。"
+msgstr "输入有效的 IPv4 或 IPv6 地址以及可选掩码。"
-#: ipam/api/field_serializers.py:24
+#: netbox/ipam/api/field_serializers.py:24
#, python-brace-format
msgid "Invalid IP address format: {data}"
-msgstr "IP 地址格式无效: {data}"
+msgstr "IP 地址格式无效: {data}"
-#: ipam/api/field_serializers.py:37
+#: netbox/ipam/api/field_serializers.py:37
msgid "Enter a valid IPv4 or IPv6 prefix and mask in CIDR notation."
-msgstr "以 CIDR 表示法输入有效的 IPv4 或 IPv6 前缀和掩码。"
+msgstr "以CIDR格式输入有效的IPv4或IPv6前缀和掩码。"
-#: ipam/api/field_serializers.py:44
+#: netbox/ipam/api/field_serializers.py:44
#, python-brace-format
msgid "Invalid IP prefix format: {data}"
-msgstr "IP 前缀格式无效: {data}"
+msgstr "无效的IP前缀格式: {data}"
-#: ipam/api/views.py:358
+#: netbox/ipam/api/views.py:358
msgid ""
"Insufficient space is available to accommodate the requested prefix size(s)"
-msgstr "可用空间不足,无法容纳请求的前缀大小"
+msgstr "可用IP不足,无法容纳此请求的前缀大小(s)"
-#: ipam/choices.py:30
+#: netbox/ipam/choices.py:30
msgid "Container"
msgstr "容器"
-#: ipam/choices.py:72
+#: netbox/ipam/choices.py:72
msgid "DHCP"
-msgstr "动态主机设置协议"
+msgstr "DHCP"
-#: ipam/choices.py:73
+#: netbox/ipam/choices.py:73
msgid "SLAAC"
msgstr "SLAAC"
-#: ipam/choices.py:89
+#: netbox/ipam/choices.py:89
msgid "Loopback"
-msgstr "环回"
+msgstr "Loopback"
-#: ipam/choices.py:90 tenancy/choices.py:18
+#: netbox/ipam/choices.py:90 netbox/tenancy/choices.py:18
msgid "Secondary"
-msgstr "中学"
+msgstr "次要联系人"
-#: ipam/choices.py:91
+#: netbox/ipam/choices.py:91
msgid "Anycast"
msgstr "Anycast"
-#: ipam/choices.py:115
+#: netbox/ipam/choices.py:115
msgid "Standard"
-msgstr "标准"
+msgstr "标准的"
-#: ipam/choices.py:120
+#: netbox/ipam/choices.py:120
msgid "CheckPoint"
msgstr "检查点"
-#: ipam/choices.py:123
+#: netbox/ipam/choices.py:123
msgid "Cisco"
msgstr "思科"
-#: ipam/choices.py:137
+#: netbox/ipam/choices.py:137
msgid "Plaintext"
-msgstr "纯文本"
+msgstr "明文"
-#: ipam/fields.py:36
+#: netbox/ipam/fields.py:36
#, python-brace-format
msgid "Invalid IP address format: {address}"
-msgstr "IP 地址格式无效: {address}"
+msgstr "IP 地址格式无效: {address}"
-#: ipam/filtersets.py:48 vpn/filtersets.py:323
+#: netbox/ipam/filtersets.py:48 netbox/vpn/filtersets.py:323
msgid "Import target"
-msgstr "导入目标"
+msgstr "引入target"
-#: ipam/filtersets.py:54 vpn/filtersets.py:329
+#: netbox/ipam/filtersets.py:54 netbox/vpn/filtersets.py:329
msgid "Import target (name)"
-msgstr "导入目标(名称)"
+msgstr "引入target(名称)"
-#: ipam/filtersets.py:59 vpn/filtersets.py:334
+#: netbox/ipam/filtersets.py:59 netbox/vpn/filtersets.py:334
msgid "Export target"
-msgstr "导出目标"
+msgstr "输出target"
-#: ipam/filtersets.py:65 vpn/filtersets.py:340
+#: netbox/ipam/filtersets.py:65 netbox/vpn/filtersets.py:340
msgid "Export target (name)"
-msgstr "导出目标(名称)"
+msgstr "输出target(名称)"
-#: ipam/filtersets.py:86
+#: netbox/ipam/filtersets.py:86
msgid "Importing VRF"
-msgstr "导入 VRF"
+msgstr "导入VRF"
-#: ipam/filtersets.py:92
+#: netbox/ipam/filtersets.py:92
msgid "Import VRF (RD)"
msgstr "导入 VRF (RD)"
-#: ipam/filtersets.py:97
+#: netbox/ipam/filtersets.py:97
msgid "Exporting VRF"
msgstr "导出 VRF"
-#: ipam/filtersets.py:103
+#: netbox/ipam/filtersets.py:103
msgid "Export VRF (RD)"
msgstr "导出 VRF (RD)"
-#: ipam/filtersets.py:108
+#: netbox/ipam/filtersets.py:108
msgid "Importing L2VPN"
-msgstr "正在导入 L2VPN"
+msgstr "导入 L2VPN"
-#: ipam/filtersets.py:114
+#: netbox/ipam/filtersets.py:114
msgid "Importing L2VPN (identifier)"
-msgstr "导入 L2VPN(标识符)"
+msgstr "导入 L2VPN (identifier)"
-#: ipam/filtersets.py:119
+#: netbox/ipam/filtersets.py:119
msgid "Exporting L2VPN"
msgstr "导出 L2VPN"
-#: ipam/filtersets.py:125
+#: netbox/ipam/filtersets.py:125
msgid "Exporting L2VPN (identifier)"
-msgstr "导出 L2VPN(标识符)"
+msgstr "导出L2VPN(标识符)"
-#: ipam/filtersets.py:155 ipam/filtersets.py:281 ipam/forms/model_forms.py:227
-#: ipam/tables/ip.py:211 templates/ipam/prefix.html:12
+#: netbox/ipam/filtersets.py:155 netbox/ipam/filtersets.py:281
+#: netbox/ipam/forms/model_forms.py:227 netbox/ipam/tables/ip.py:211
+#: netbox/templates/ipam/prefix.html:12
msgid "Prefix"
msgstr "前缀"
-#: ipam/filtersets.py:159 ipam/filtersets.py:198 ipam/filtersets.py:221
+#: netbox/ipam/filtersets.py:159 netbox/ipam/filtersets.py:198
+#: netbox/ipam/filtersets.py:221
msgid "RIR (ID)"
-msgstr "RIR (ID)"
+msgstr "RIR(ID)"
-#: ipam/filtersets.py:165 ipam/filtersets.py:204 ipam/filtersets.py:227
+#: netbox/ipam/filtersets.py:165 netbox/ipam/filtersets.py:204
+#: netbox/ipam/filtersets.py:227
msgid "RIR (slug)"
-msgstr "RIR(slug)"
+msgstr "RIP(缩写)"
-#: ipam/filtersets.py:285
+#: netbox/ipam/filtersets.py:285
msgid "Within prefix"
-msgstr "在前缀内"
+msgstr "此前缀包含的"
-#: ipam/filtersets.py:289
+#: netbox/ipam/filtersets.py:289
msgid "Within and including prefix"
-msgstr "在前缀内和包括前缀"
+msgstr "此前缀包含的(包含此前缀)"
-#: ipam/filtersets.py:293
+#: netbox/ipam/filtersets.py:293
msgid "Prefixes which contain this prefix or IP"
-msgstr "包含此前缀或 IP 的前缀"
+msgstr "包含此前缀或IP的前缀"
-#: ipam/filtersets.py:304 ipam/filtersets.py:572 ipam/forms/bulk_edit.py:327
-#: ipam/forms/filtersets.py:196 ipam/forms/filtersets.py:331
+#: netbox/ipam/filtersets.py:304 netbox/ipam/filtersets.py:572
+#: netbox/ipam/forms/bulk_edit.py:327 netbox/ipam/forms/filtersets.py:196
+#: netbox/ipam/forms/filtersets.py:331
msgid "Mask length"
-msgstr "口罩长度"
+msgstr "掩码长度"
-#: ipam/filtersets.py:373 vpn/filtersets.py:446
+#: netbox/ipam/filtersets.py:373 netbox/vpn/filtersets.py:446
msgid "VLAN (ID)"
msgstr "VLAN (ID)"
-#: ipam/filtersets.py:377 vpn/filtersets.py:441
+#: netbox/ipam/filtersets.py:377 netbox/vpn/filtersets.py:441
msgid "VLAN number (1-4094)"
-msgstr "VLAN 编号 (1-4094)"
+msgstr "VLAN 号(1-4094)"
-#: ipam/filtersets.py:471 ipam/filtersets.py:475 ipam/filtersets.py:567
-#: ipam/forms/model_forms.py:461 templates/tenancy/contact.html:53
-#: tenancy/forms/bulk_edit.py:113
+#: netbox/ipam/filtersets.py:471 netbox/ipam/filtersets.py:475
+#: netbox/ipam/filtersets.py:567 netbox/ipam/forms/model_forms.py:461
+#: netbox/templates/tenancy/contact.html:53
+#: netbox/tenancy/forms/bulk_edit.py:113
msgid "Address"
msgstr "地址"
-#: ipam/filtersets.py:479
+#: netbox/ipam/filtersets.py:479
msgid "Ranges which contain this prefix or IP"
-msgstr "包含此前缀或 IP 的范围"
+msgstr "包含此前缀或IP的范围"
-#: ipam/filtersets.py:507 ipam/filtersets.py:563
+#: netbox/ipam/filtersets.py:507 netbox/ipam/filtersets.py:563
msgid "Parent prefix"
-msgstr "家长前缀"
+msgstr "上级前缀"
-#: ipam/filtersets.py:616 ipam/filtersets.py:856 ipam/filtersets.py:1091
-#: vpn/filtersets.py:404
+#: netbox/ipam/filtersets.py:616 netbox/ipam/filtersets.py:856
+#: netbox/ipam/filtersets.py:1091 netbox/vpn/filtersets.py:404
msgid "Virtual machine (name)"
-msgstr "虚拟机(名称)"
+msgstr "虚拟机(名称)"
-#: ipam/filtersets.py:621 ipam/filtersets.py:861 ipam/filtersets.py:1085
-#: virtualization/filtersets.py:278 virtualization/filtersets.py:317
-#: vpn/filtersets.py:409
+#: netbox/ipam/filtersets.py:621 netbox/ipam/filtersets.py:861
+#: netbox/ipam/filtersets.py:1085 netbox/virtualization/filtersets.py:278
+#: netbox/virtualization/filtersets.py:317 netbox/vpn/filtersets.py:409
msgid "Virtual machine (ID)"
-msgstr "虚拟机 (ID)"
+msgstr "虚拟机(ID)"
-#: ipam/filtersets.py:627 vpn/filtersets.py:97 vpn/filtersets.py:415
+#: netbox/ipam/filtersets.py:627 netbox/vpn/filtersets.py:97
+#: netbox/vpn/filtersets.py:415
msgid "Interface (name)"
-msgstr "接口(名称)"
+msgstr "接口(名称)"
-#: ipam/filtersets.py:638 vpn/filtersets.py:108 vpn/filtersets.py:426
+#: netbox/ipam/filtersets.py:638 netbox/vpn/filtersets.py:108
+#: netbox/vpn/filtersets.py:426
msgid "VM interface (name)"
-msgstr "虚拟机接口(名称)"
+msgstr "虚拟接口(名称)"
-#: ipam/filtersets.py:643 vpn/filtersets.py:113
+#: netbox/ipam/filtersets.py:643 netbox/vpn/filtersets.py:113
msgid "VM interface (ID)"
-msgstr "虚拟机接口 (ID)"
+msgstr "虚拟接口(ID)"
-#: ipam/filtersets.py:648
+#: netbox/ipam/filtersets.py:648
msgid "FHRP group (ID)"
-msgstr "FHRP 群组 (ID)"
+msgstr "FHRP组(ID)"
-#: ipam/filtersets.py:652
+#: netbox/ipam/filtersets.py:652
msgid "Is assigned to an interface"
-msgstr "已分配给接口"
+msgstr "分配给接口"
-#: ipam/filtersets.py:656
+#: netbox/ipam/filtersets.py:656
msgid "Is assigned"
msgstr "已分配"
-#: ipam/filtersets.py:668
+#: netbox/ipam/filtersets.py:668
msgid "Service (ID)"
-msgstr "服务 (ID)"
+msgstr "服务(ID)"
-#: ipam/filtersets.py:673
+#: netbox/ipam/filtersets.py:673
msgid "NAT inside IP address (ID)"
-msgstr "NAT 内部 IP 地址 (ID)"
+msgstr "NAT 内部 IP 地址(ID)"
-#: ipam/filtersets.py:1096
+#: netbox/ipam/filtersets.py:1096
msgid "IP address (ID)"
msgstr "IP 地址 (ID)"
-#: ipam/filtersets.py:1102 ipam/models/ip.py:788
+#: netbox/ipam/filtersets.py:1102 netbox/ipam/models/ip.py:788
msgid "IP address"
-msgstr "IP 地址"
+msgstr "IP地址"
-#: ipam/filtersets.py:1131
+#: netbox/ipam/filtersets.py:1131
msgid "Primary IPv4 (ID)"
-msgstr "主 IPv4 (ID)"
+msgstr "主IPv4(ID)"
-#: ipam/filtersets.py:1136
+#: netbox/ipam/filtersets.py:1136
msgid "Primary IPv6 (ID)"
-msgstr "主 IPv6 (ID)"
+msgstr "主IPv6(ID)"
-#: ipam/formfields.py:14
+#: netbox/ipam/formfields.py:14
msgid "Enter a valid IPv4 or IPv6 address (without a mask)."
msgstr "输入有效的 IPv4 或 IPv6 地址(不带掩码)。"
-#: ipam/formfields.py:32
+#: netbox/ipam/formfields.py:32
#, python-brace-format
msgid "Invalid IPv4/IPv6 address format: {address}"
-msgstr "IPv4/IPv6 地址格式无效: {address}"
+msgstr "IPv4/IPv6 地址格式无效: {address}"
-#: ipam/formfields.py:37
+#: netbox/ipam/formfields.py:37
msgid "This field requires an IP address without a mask."
-msgstr "此字段需要不带掩码的 IP 地址。"
+msgstr "该字段需要一个不带掩码的 IP 地址。"
-#: ipam/formfields.py:39 ipam/formfields.py:61
+#: netbox/ipam/formfields.py:39 netbox/ipam/formfields.py:61
msgid "Please specify a valid IPv4 or IPv6 address."
msgstr "请指定有效的 IPv4 或 IPv6 地址。"
-#: ipam/formfields.py:44
+#: netbox/ipam/formfields.py:44
msgid "Enter a valid IPv4 or IPv6 address (with CIDR mask)."
msgstr "输入有效的 IPv4 或 IPv6 地址(带有 CIDR 掩码)。"
-#: ipam/formfields.py:56
+#: netbox/ipam/formfields.py:56
msgid "CIDR mask (e.g. /24) is required."
-msgstr "需要 CIDR 掩码(例如 /24)。"
+msgstr "需要CIDR掩码(例如/24)"
-#: ipam/forms/bulk_create.py:13
+#: netbox/ipam/forms/bulk_create.py:13
msgid "Address pattern"
msgstr "地址模式"
-#: ipam/forms/bulk_edit.py:48
+#: netbox/ipam/forms/bulk_edit.py:48
msgid "Enforce unique space"
-msgstr "强制使用独特的空间"
+msgstr "强制使用唯一空间"
-#: ipam/forms/bulk_edit.py:86
+#: netbox/ipam/forms/bulk_edit.py:86
msgid "Is private"
-msgstr "是私密的"
+msgstr "私有的"
-#: ipam/forms/bulk_edit.py:107 ipam/forms/bulk_edit.py:136
-#: ipam/forms/bulk_edit.py:161 ipam/forms/bulk_import.py:88
-#: ipam/forms/bulk_import.py:108 ipam/forms/bulk_import.py:128
-#: ipam/forms/filtersets.py:110 ipam/forms/filtersets.py:125
-#: ipam/forms/filtersets.py:148 ipam/forms/model_forms.py:94
-#: ipam/forms/model_forms.py:107 ipam/forms/model_forms.py:129
-#: ipam/forms/model_forms.py:147 ipam/models/asns.py:31
-#: ipam/models/asns.py:103 ipam/models/ip.py:71 ipam/models/ip.py:90
-#: ipam/tables/asn.py:20 ipam/tables/asn.py:45
-#: templates/ipam/aggregate.html:18 templates/ipam/asn.html:27
-#: templates/ipam/asnrange.html:19 templates/ipam/rir.html:19
+#: netbox/ipam/forms/bulk_edit.py:107 netbox/ipam/forms/bulk_edit.py:136
+#: netbox/ipam/forms/bulk_edit.py:161 netbox/ipam/forms/bulk_import.py:88
+#: netbox/ipam/forms/bulk_import.py:108 netbox/ipam/forms/bulk_import.py:128
+#: netbox/ipam/forms/filtersets.py:110 netbox/ipam/forms/filtersets.py:125
+#: netbox/ipam/forms/filtersets.py:148 netbox/ipam/forms/model_forms.py:94
+#: netbox/ipam/forms/model_forms.py:107 netbox/ipam/forms/model_forms.py:129
+#: netbox/ipam/forms/model_forms.py:147 netbox/ipam/models/asns.py:31
+#: netbox/ipam/models/asns.py:103 netbox/ipam/models/ip.py:71
+#: netbox/ipam/models/ip.py:90 netbox/ipam/tables/asn.py:20
+#: netbox/ipam/tables/asn.py:45 netbox/templates/ipam/aggregate.html:18
+#: netbox/templates/ipam/asn.html:27 netbox/templates/ipam/asnrange.html:19
+#: netbox/templates/ipam/rir.html:19
msgid "RIR"
-msgstr "RIR"
+msgstr "区域互联网注册管理机构"
-#: ipam/forms/bulk_edit.py:169
+#: netbox/ipam/forms/bulk_edit.py:169
msgid "Date added"
msgstr "添加日期"
-#: ipam/forms/bulk_edit.py:230
+#: netbox/ipam/forms/bulk_edit.py:230
msgid "Prefix length"
-msgstr "前缀长度"
+msgstr "前缀长"
-#: ipam/forms/bulk_edit.py:253 ipam/forms/filtersets.py:241
-#: templates/ipam/prefix.html:85
+#: netbox/ipam/forms/bulk_edit.py:253 netbox/ipam/forms/filtersets.py:241
+#: netbox/templates/ipam/prefix.html:85
msgid "Is a pool"
-msgstr "是一个游泳池"
+msgstr "是一个池"
-#: ipam/forms/bulk_edit.py:258 ipam/forms/bulk_edit.py:302
-#: ipam/forms/filtersets.py:248 ipam/forms/filtersets.py:293
-#: ipam/models/ip.py:272 ipam/models/ip.py:539
+#: netbox/ipam/forms/bulk_edit.py:258 netbox/ipam/forms/bulk_edit.py:302
+#: netbox/ipam/forms/filtersets.py:248 netbox/ipam/forms/filtersets.py:293
+#: netbox/ipam/models/ip.py:272 netbox/ipam/models/ip.py:539
msgid "Treat as fully utilized"
-msgstr "视作已充分利用"
+msgstr "设置为已被全部占用"
-#: ipam/forms/bulk_edit.py:350 ipam/models/ip.py:772
+#: netbox/ipam/forms/bulk_edit.py:350 netbox/ipam/models/ip.py:772
msgid "DNS name"
-msgstr "DNS 名称"
+msgstr "DNS名称"
-#: ipam/forms/bulk_edit.py:371 ipam/forms/bulk_edit.py:572
-#: ipam/forms/bulk_import.py:393 ipam/forms/bulk_import.py:477
-#: ipam/forms/bulk_import.py:503 ipam/forms/filtersets.py:390
-#: ipam/forms/filtersets.py:537 templates/ipam/fhrpgroup.html:22
-#: templates/ipam/inc/panels/fhrp_groups.html:24
-#: templates/ipam/service.html:32 templates/ipam/servicetemplate.html:19
+#: netbox/ipam/forms/bulk_edit.py:371 netbox/ipam/forms/bulk_edit.py:572
+#: netbox/ipam/forms/bulk_import.py:393 netbox/ipam/forms/bulk_import.py:477
+#: netbox/ipam/forms/bulk_import.py:503 netbox/ipam/forms/filtersets.py:390
+#: netbox/ipam/forms/filtersets.py:537 netbox/templates/ipam/fhrpgroup.html:22
+#: netbox/templates/ipam/inc/panels/fhrp_groups.html:24
+#: netbox/templates/ipam/service.html:32
+#: netbox/templates/ipam/servicetemplate.html:19
msgid "Protocol"
msgstr "协议"
-#: ipam/forms/bulk_edit.py:378 ipam/forms/filtersets.py:397
-#: ipam/tables/fhrp.py:22 templates/ipam/fhrpgroup.html:26
+#: netbox/ipam/forms/bulk_edit.py:378 netbox/ipam/forms/filtersets.py:397
+#: netbox/ipam/tables/fhrp.py:22 netbox/templates/ipam/fhrpgroup.html:26
msgid "Group ID"
-msgstr "群组 ID"
+msgstr "组ID"
-#: ipam/forms/bulk_edit.py:383 ipam/forms/filtersets.py:402
-#: wireless/forms/bulk_edit.py:68 wireless/forms/bulk_edit.py:115
-#: wireless/forms/bulk_import.py:62 wireless/forms/bulk_import.py:65
-#: wireless/forms/bulk_import.py:104 wireless/forms/bulk_import.py:107
-#: wireless/forms/filtersets.py:54 wireless/forms/filtersets.py:88
+#: netbox/ipam/forms/bulk_edit.py:383 netbox/ipam/forms/filtersets.py:402
+#: netbox/wireless/forms/bulk_edit.py:68
+#: netbox/wireless/forms/bulk_edit.py:115
+#: netbox/wireless/forms/bulk_import.py:62
+#: netbox/wireless/forms/bulk_import.py:65
+#: netbox/wireless/forms/bulk_import.py:104
+#: netbox/wireless/forms/bulk_import.py:107
+#: netbox/wireless/forms/filtersets.py:54
+#: netbox/wireless/forms/filtersets.py:88
msgid "Authentication type"
-msgstr "身份验证类型"
+msgstr "认证类型"
-#: ipam/forms/bulk_edit.py:388 ipam/forms/filtersets.py:406
+#: netbox/ipam/forms/bulk_edit.py:388 netbox/ipam/forms/filtersets.py:406
msgid "Authentication key"
-msgstr "身份验证密钥"
+msgstr "认证秘钥"
-#: ipam/forms/bulk_edit.py:405 ipam/forms/filtersets.py:383
-#: ipam/forms/model_forms.py:472 netbox/navigation/menu.py:370
-#: templates/ipam/fhrpgroup.html:49
-#: templates/wireless/inc/authentication_attrs.html:5
-#: wireless/forms/bulk_edit.py:91 wireless/forms/bulk_edit.py:138
-#: wireless/forms/filtersets.py:36 wireless/forms/filtersets.py:76
-#: wireless/forms/model_forms.py:55 wireless/forms/model_forms.py:164
+#: netbox/ipam/forms/bulk_edit.py:405 netbox/ipam/forms/filtersets.py:383
+#: netbox/ipam/forms/model_forms.py:472 netbox/netbox/navigation/menu.py:370
+#: netbox/templates/ipam/fhrpgroup.html:49
+#: netbox/templates/wireless/inc/authentication_attrs.html:5
+#: netbox/wireless/forms/bulk_edit.py:91
+#: netbox/wireless/forms/bulk_edit.py:138
+#: netbox/wireless/forms/filtersets.py:36
+#: netbox/wireless/forms/filtersets.py:76
+#: netbox/wireless/forms/model_forms.py:55
+#: netbox/wireless/forms/model_forms.py:164
msgid "Authentication"
msgstr "身份验证"
-#: ipam/forms/bulk_edit.py:415
+#: netbox/ipam/forms/bulk_edit.py:415
msgid "Minimum child VLAN VID"
-msgstr "子级 VLAN VID 下限"
+msgstr "最小的子VLAN ID"
-#: ipam/forms/bulk_edit.py:421
+#: netbox/ipam/forms/bulk_edit.py:421
msgid "Maximum child VLAN VID"
-msgstr "子 VLAN VID 的最大值"
+msgstr "最大的子VLAN ID"
-#: ipam/forms/bulk_edit.py:429 ipam/forms/model_forms.py:566
+#: netbox/ipam/forms/bulk_edit.py:429 netbox/ipam/forms/model_forms.py:566
msgid "Scope type"
-msgstr "范围类型"
+msgstr "作用域类型"
-#: ipam/forms/bulk_edit.py:491 ipam/forms/model_forms.py:641
-#: ipam/tables/vlans.py:71 templates/ipam/vlangroup.html:38
+#: netbox/ipam/forms/bulk_edit.py:491 netbox/ipam/forms/model_forms.py:641
+#: netbox/ipam/tables/vlans.py:71 netbox/templates/ipam/vlangroup.html:38
msgid "Scope"
-msgstr "范围"
+msgstr "作用域"
-#: ipam/forms/bulk_edit.py:563
+#: netbox/ipam/forms/bulk_edit.py:563
msgid "Site & Group"
-msgstr "网站和群组"
+msgstr "站点 & 组"
-#: ipam/forms/bulk_edit.py:577 ipam/forms/model_forms.py:705
-#: ipam/forms/model_forms.py:737 ipam/tables/services.py:19
-#: ipam/tables/services.py:49 templates/ipam/service.html:36
-#: templates/ipam/servicetemplate.html:23
+#: netbox/ipam/forms/bulk_edit.py:577 netbox/ipam/forms/model_forms.py:705
+#: netbox/ipam/forms/model_forms.py:737 netbox/ipam/tables/services.py:19
+#: netbox/ipam/tables/services.py:49 netbox/templates/ipam/service.html:36
+#: netbox/templates/ipam/servicetemplate.html:23
msgid "Ports"
msgstr "端口"
-#: ipam/forms/bulk_import.py:47
+#: netbox/ipam/forms/bulk_import.py:47
msgid "Import route targets"
-msgstr "导入路径目标"
+msgstr "导入的 Route Targets"
-#: ipam/forms/bulk_import.py:53
+#: netbox/ipam/forms/bulk_import.py:53
msgid "Export route targets"
-msgstr "导出路径目标"
+msgstr "导出的Route Targets"
-#: ipam/forms/bulk_import.py:91 ipam/forms/bulk_import.py:111
-#: ipam/forms/bulk_import.py:131
+#: netbox/ipam/forms/bulk_import.py:91 netbox/ipam/forms/bulk_import.py:111
+#: netbox/ipam/forms/bulk_import.py:131
msgid "Assigned RIR"
-msgstr "分配的 RIR"
+msgstr "指定的 RIR"
-#: ipam/forms/bulk_import.py:181
+#: netbox/ipam/forms/bulk_import.py:181
msgid "VLAN's group (if any)"
-msgstr "VLAN 的群组(如果有)"
+msgstr "VLAN 组(若存在)"
-#: ipam/forms/bulk_import.py:184 ipam/forms/filtersets.py:256
-#: ipam/forms/model_forms.py:216 ipam/models/vlans.py:214
-#: ipam/tables/ip.py:254 templates/ipam/prefix.html:60
-#: templates/ipam/vlan.html:12 templates/ipam/vlan/base.html:6
-#: templates/ipam/vlan_edit.html:10 templates/wireless/wirelesslan.html:30
-#: vpn/forms/bulk_import.py:304 vpn/forms/filtersets.py:284
-#: vpn/forms/model_forms.py:433 vpn/forms/model_forms.py:452
-#: wireless/forms/bulk_edit.py:55 wireless/forms/bulk_import.py:48
-#: wireless/forms/model_forms.py:48 wireless/models.py:101
+#: netbox/ipam/forms/bulk_import.py:184 netbox/ipam/forms/filtersets.py:256
+#: netbox/ipam/forms/model_forms.py:216 netbox/ipam/models/vlans.py:214
+#: netbox/ipam/tables/ip.py:254 netbox/templates/ipam/prefix.html:60
+#: netbox/templates/ipam/vlan.html:12 netbox/templates/ipam/vlan/base.html:6
+#: netbox/templates/ipam/vlan_edit.html:10
+#: netbox/templates/wireless/wirelesslan.html:30
+#: netbox/vpn/forms/bulk_import.py:304 netbox/vpn/forms/filtersets.py:284
+#: netbox/vpn/forms/model_forms.py:433 netbox/vpn/forms/model_forms.py:452
+#: netbox/wireless/forms/bulk_edit.py:55
+#: netbox/wireless/forms/bulk_import.py:48
+#: netbox/wireless/forms/model_forms.py:48 netbox/wireless/models.py:101
msgid "VLAN"
msgstr "VLAN"
-#: ipam/forms/bulk_import.py:307
+#: netbox/ipam/forms/bulk_import.py:307
msgid "Parent device of assigned interface (if any)"
-msgstr "已分配接口的父设备(如果有)"
+msgstr "指定接口的父设备(如果有)"
-#: ipam/forms/bulk_import.py:310 ipam/forms/bulk_import.py:496
-#: ipam/forms/model_forms.py:731 virtualization/filtersets.py:284
-#: virtualization/filtersets.py:323 virtualization/forms/bulk_edit.py:200
-#: virtualization/forms/bulk_edit.py:326
-#: virtualization/forms/bulk_import.py:146
-#: virtualization/forms/bulk_import.py:207
-#: virtualization/forms/filtersets.py:208
-#: virtualization/forms/filtersets.py:244
-#: virtualization/forms/model_forms.py:288 vpn/forms/bulk_import.py:93
-#: vpn/forms/bulk_import.py:290
+#: netbox/ipam/forms/bulk_import.py:310 netbox/ipam/forms/bulk_import.py:496
+#: netbox/ipam/forms/model_forms.py:731
+#: netbox/virtualization/filtersets.py:284
+#: netbox/virtualization/filtersets.py:323
+#: netbox/virtualization/forms/bulk_edit.py:200
+#: netbox/virtualization/forms/bulk_edit.py:326
+#: netbox/virtualization/forms/bulk_import.py:146
+#: netbox/virtualization/forms/bulk_import.py:207
+#: netbox/virtualization/forms/filtersets.py:208
+#: netbox/virtualization/forms/filtersets.py:244
+#: netbox/virtualization/forms/model_forms.py:288
+#: netbox/vpn/forms/bulk_import.py:93 netbox/vpn/forms/bulk_import.py:290
msgid "Virtual machine"
msgstr "虚拟机"
-#: ipam/forms/bulk_import.py:314
+#: netbox/ipam/forms/bulk_import.py:314
msgid "Parent VM of assigned interface (if any)"
-msgstr "已分配接口的父虚拟机(如果有)"
+msgstr "指定接口的父虚拟机(如果有)"
-#: ipam/forms/bulk_import.py:321
+#: netbox/ipam/forms/bulk_import.py:321
msgid "Assigned interface"
msgstr "分配的接口"
-#: ipam/forms/bulk_import.py:324
+#: netbox/ipam/forms/bulk_import.py:324
msgid "Is primary"
-msgstr "是主要的"
+msgstr "是主用的"
-#: ipam/forms/bulk_import.py:325
+#: netbox/ipam/forms/bulk_import.py:325
msgid "Make this the primary IP for the assigned device"
-msgstr "将此设为分配设备的主 IP"
+msgstr "将此IP设置为分配设备的主 IP"
-#: ipam/forms/bulk_import.py:364
+#: netbox/ipam/forms/bulk_import.py:364
msgid "No device or virtual machine specified; cannot set as primary IP"
-msgstr "未指定设备或虚拟机;无法设置为主 IP"
+msgstr "未指定设备或虚拟机;无法设置为主IP"
-#: ipam/forms/bulk_import.py:368
+#: netbox/ipam/forms/bulk_import.py:368
msgid "No interface specified; cannot set as primary IP"
-msgstr "未指定接口;无法设置为主 IP"
+msgstr "未指定接口;无法设置为主IP"
-#: ipam/forms/bulk_import.py:397
+#: netbox/ipam/forms/bulk_import.py:397
msgid "Auth type"
-msgstr "身份验证类型"
+msgstr "认证类型"
-#: ipam/forms/bulk_import.py:412
+#: netbox/ipam/forms/bulk_import.py:412
msgid "Scope type (app & model)"
-msgstr "范围类型(应用程序和型号)"
+msgstr "作用域类型(应用程序&型号)"
-#: ipam/forms/bulk_import.py:418
+#: netbox/ipam/forms/bulk_import.py:418
#, python-brace-format
msgid "Minimum child VLAN VID (default: {minimum})"
-msgstr "子 VLAN VID 的最小值(默认值: {minimum})"
+msgstr "最小的子VLAN ID (默认: {minimum})"
-#: ipam/forms/bulk_import.py:424
+#: netbox/ipam/forms/bulk_import.py:424
#, python-brace-format
msgid "Maximum child VLAN VID (default: {maximum})"
-msgstr "子 VLAN VID 的最大值(默认值: {maximum})"
+msgstr "最大的子VLAN ID (默认: {maximum})"
-#: ipam/forms/bulk_import.py:448
+#: netbox/ipam/forms/bulk_import.py:448
msgid "Assigned VLAN group"
-msgstr "已分配的 VLAN 组"
+msgstr "分配的VLAN组"
-#: ipam/forms/bulk_import.py:479 ipam/forms/bulk_import.py:505
+#: netbox/ipam/forms/bulk_import.py:479 netbox/ipam/forms/bulk_import.py:505
msgid "IP protocol"
msgstr "IP 协议"
-#: ipam/forms/bulk_import.py:493
+#: netbox/ipam/forms/bulk_import.py:493
msgid "Required if not assigned to a VM"
-msgstr "如果未分配给 VM,则为必填项"
+msgstr "如果未分配给虚拟机,则为必需"
-#: ipam/forms/bulk_import.py:500
+#: netbox/ipam/forms/bulk_import.py:500
msgid "Required if not assigned to a device"
-msgstr "如果未分配给设备,则为必填项"
+msgstr "如果未分配给设备,则为必需"
-#: ipam/forms/bulk_import.py:525
+#: netbox/ipam/forms/bulk_import.py:525
#, python-brace-format
msgid "{ip} is not assigned to this device/VM."
msgstr "{ip} 未分配给此设备/虚拟机。"
-#: ipam/forms/filtersets.py:47 ipam/forms/model_forms.py:61
-#: netbox/navigation/menu.py:176 vpn/forms/model_forms.py:410
+#: netbox/ipam/forms/filtersets.py:47 netbox/ipam/forms/model_forms.py:61
+#: netbox/netbox/navigation/menu.py:176 netbox/vpn/forms/model_forms.py:410
msgid "Route Targets"
-msgstr "路线目标"
+msgstr "Route Targets"
-#: ipam/forms/filtersets.py:53 ipam/forms/model_forms.py:48
-#: vpn/forms/filtersets.py:224 vpn/forms/model_forms.py:397
+#: netbox/ipam/forms/filtersets.py:53 netbox/ipam/forms/model_forms.py:48
+#: netbox/vpn/forms/filtersets.py:224 netbox/vpn/forms/model_forms.py:397
msgid "Import targets"
-msgstr "导入目标"
+msgstr "引入targets"
-#: ipam/forms/filtersets.py:58 ipam/forms/model_forms.py:53
-#: vpn/forms/filtersets.py:229 vpn/forms/model_forms.py:402
+#: netbox/ipam/forms/filtersets.py:58 netbox/ipam/forms/model_forms.py:53
+#: netbox/vpn/forms/filtersets.py:229 netbox/vpn/forms/model_forms.py:402
msgid "Export targets"
-msgstr "出口目标"
+msgstr "输出targets"
-#: ipam/forms/filtersets.py:73
+#: netbox/ipam/forms/filtersets.py:73
msgid "Imported by VRF"
-msgstr "由 VRF 进口"
+msgstr "由VRF引入"
-#: ipam/forms/filtersets.py:78
+#: netbox/ipam/forms/filtersets.py:78
msgid "Exported by VRF"
-msgstr "由 VRF 导出"
+msgstr "由VRF输出"
-#: ipam/forms/filtersets.py:87 ipam/tables/ip.py:89 templates/ipam/rir.html:30
+#: netbox/ipam/forms/filtersets.py:87 netbox/ipam/tables/ip.py:89
+#: netbox/templates/ipam/rir.html:30
msgid "Private"
-msgstr "私人"
+msgstr "私有的"
-#: ipam/forms/filtersets.py:105 ipam/forms/filtersets.py:191
-#: ipam/forms/filtersets.py:272 ipam/forms/filtersets.py:326
+#: netbox/ipam/forms/filtersets.py:105 netbox/ipam/forms/filtersets.py:191
+#: netbox/ipam/forms/filtersets.py:272 netbox/ipam/forms/filtersets.py:326
msgid "Address family"
-msgstr "地址家族"
+msgstr "地址类型"
-#: ipam/forms/filtersets.py:119 templates/ipam/asnrange.html:25
+#: netbox/ipam/forms/filtersets.py:119 netbox/templates/ipam/asnrange.html:25
msgid "Range"
msgstr "范围"
-#: ipam/forms/filtersets.py:128
+#: netbox/ipam/forms/filtersets.py:128
msgid "Start"
msgstr "开始"
-#: ipam/forms/filtersets.py:132
+#: netbox/ipam/forms/filtersets.py:132
msgid "End"
msgstr "结束"
-#: ipam/forms/filtersets.py:171
+#: netbox/ipam/forms/filtersets.py:171
msgid "VLAN Assignment"
msgstr "VLAN 分配"
-#: ipam/forms/filtersets.py:186
+#: netbox/ipam/forms/filtersets.py:186
msgid "Search within"
-msgstr "在里面搜索"
+msgstr "在此前缀内查找"
-#: ipam/forms/filtersets.py:207 ipam/forms/filtersets.py:342
+#: netbox/ipam/forms/filtersets.py:207 netbox/ipam/forms/filtersets.py:342
msgid "Present in VRF"
-msgstr "出现在 VRF 中"
+msgstr "存在于VRF中"
-#: ipam/forms/filtersets.py:311
+#: netbox/ipam/forms/filtersets.py:311
msgid "Device/VM"
msgstr "设备/虚拟机"
-#: ipam/forms/filtersets.py:321
+#: netbox/ipam/forms/filtersets.py:321
msgid "Parent Prefix"
-msgstr "家长前缀"
+msgstr "上级IP前缀"
-#: ipam/forms/filtersets.py:347
+#: netbox/ipam/forms/filtersets.py:347
msgid "Assigned Device"
-msgstr "分配的设备"
+msgstr "指定设备"
-#: ipam/forms/filtersets.py:352
+#: netbox/ipam/forms/filtersets.py:352
msgid "Assigned VM"
-msgstr "分配的虚拟机"
+msgstr "指定虚拟机"
-#: ipam/forms/filtersets.py:366
+#: netbox/ipam/forms/filtersets.py:366
msgid "Assigned to an interface"
-msgstr "分配给接口"
+msgstr "指定给一个接口"
-#: ipam/forms/filtersets.py:373 templates/ipam/ipaddress.html:51
+#: netbox/ipam/forms/filtersets.py:373 netbox/templates/ipam/ipaddress.html:51
msgid "DNS Name"
-msgstr "DNS 名称"
+msgstr "DNS名称"
-#: ipam/forms/filtersets.py:416 ipam/forms/filtersets.py:520
-#: ipam/models/vlans.py:156 templates/ipam/vlan.html:31
+#: netbox/ipam/forms/filtersets.py:416 netbox/ipam/forms/filtersets.py:520
+#: netbox/ipam/models/vlans.py:156 netbox/templates/ipam/vlan.html:31
msgid "VLAN ID"
msgstr "VLAN ID"
-#: ipam/forms/filtersets.py:448
+#: netbox/ipam/forms/filtersets.py:448
msgid "Minimum VID"
-msgstr "最低 VID"
+msgstr "最小的VLAN ID"
-#: ipam/forms/filtersets.py:454
+#: netbox/ipam/forms/filtersets.py:454
msgid "Maximum VID"
-msgstr "最大 VID"
+msgstr "最大的VLAN ID"
-#: ipam/forms/filtersets.py:563 ipam/forms/model_forms.py:318
-#: ipam/forms/model_forms.py:759 ipam/forms/model_forms.py:785
-#: ipam/tables/vlans.py:191 templates/virtualization/virtualdisk.html:21
-#: templates/virtualization/virtualmachine.html:12
-#: templates/virtualization/vminterface.html:21
-#: templates/vpn/tunneltermination.html:25
-#: virtualization/forms/filtersets.py:193
-#: virtualization/forms/filtersets.py:238
-#: virtualization/forms/model_forms.py:220
-#: virtualization/tables/virtualmachines.py:128
-#: virtualization/tables/virtualmachines.py:181 vpn/choices.py:45
-#: vpn/forms/filtersets.py:293 vpn/forms/model_forms.py:160
-#: vpn/forms/model_forms.py:171 vpn/forms/model_forms.py:273
-#: vpn/forms/model_forms.py:454
+#: netbox/ipam/forms/filtersets.py:563 netbox/ipam/forms/model_forms.py:318
+#: netbox/ipam/forms/model_forms.py:759 netbox/ipam/forms/model_forms.py:785
+#: netbox/ipam/tables/vlans.py:191
+#: netbox/templates/virtualization/virtualdisk.html:21
+#: netbox/templates/virtualization/virtualmachine.html:12
+#: netbox/templates/virtualization/vminterface.html:21
+#: netbox/templates/vpn/tunneltermination.html:25
+#: netbox/virtualization/forms/filtersets.py:193
+#: netbox/virtualization/forms/filtersets.py:238
+#: netbox/virtualization/forms/model_forms.py:220
+#: netbox/virtualization/tables/virtualmachines.py:128
+#: netbox/virtualization/tables/virtualmachines.py:183
+#: netbox/vpn/choices.py:45 netbox/vpn/forms/filtersets.py:293
+#: netbox/vpn/forms/model_forms.py:160 netbox/vpn/forms/model_forms.py:171
+#: netbox/vpn/forms/model_forms.py:273 netbox/vpn/forms/model_forms.py:454
msgid "Virtual Machine"
msgstr "虚拟机"
-#: ipam/forms/model_forms.py:78 templates/ipam/routetarget.html:10
+#: netbox/ipam/forms/model_forms.py:78
+#: netbox/templates/ipam/routetarget.html:10
msgid "Route Target"
-msgstr "路线目标"
+msgstr "路由目标"
-#: ipam/forms/model_forms.py:112 ipam/tables/ip.py:116
-#: templates/ipam/aggregate.html:11 templates/ipam/prefix.html:38
+#: netbox/ipam/forms/model_forms.py:112 netbox/ipam/tables/ip.py:116
+#: netbox/templates/ipam/aggregate.html:11
+#: netbox/templates/ipam/prefix.html:38
msgid "Aggregate"
-msgstr "聚合"
+msgstr "聚合IP"
-#: ipam/forms/model_forms.py:133 templates/ipam/asnrange.html:12
+#: netbox/ipam/forms/model_forms.py:133 netbox/templates/ipam/asnrange.html:12
msgid "ASN Range"
-msgstr "ASN 范围"
+msgstr "ASN范围"
-#: ipam/forms/model_forms.py:229
+#: netbox/ipam/forms/model_forms.py:229
msgid "Site/VLAN Assignment"
-msgstr "站点/VLAN 分配"
+msgstr "Site/VLAN 分配"
-#: ipam/forms/model_forms.py:257 templates/ipam/iprange.html:10
+#: netbox/ipam/forms/model_forms.py:257 netbox/templates/ipam/iprange.html:10
msgid "IP Range"
-msgstr "IP 范围"
+msgstr "IP范围"
-#: ipam/forms/model_forms.py:293 ipam/forms/model_forms.py:319
-#: ipam/forms/model_forms.py:471 templates/ipam/fhrpgroup.html:19
+#: netbox/ipam/forms/model_forms.py:293 netbox/ipam/forms/model_forms.py:319
+#: netbox/ipam/forms/model_forms.py:471
+#: netbox/templates/ipam/fhrpgroup.html:19
msgid "FHRP Group"
-msgstr "FHRP 集团"
+msgstr "FHRP组"
-#: ipam/forms/model_forms.py:308
+#: netbox/ipam/forms/model_forms.py:308
msgid "Make this the primary IP for the device/VM"
-msgstr "将此设为设备/虚拟机的主 IP"
+msgstr "将此IP设置为分配设备的主 IP"
-#: ipam/forms/model_forms.py:323
+#: netbox/ipam/forms/model_forms.py:323
msgid "NAT IP (Inside)"
-msgstr "NAT IP(内部)"
+msgstr "NAT IP (Inside)"
-#: ipam/forms/model_forms.py:382
+#: netbox/ipam/forms/model_forms.py:382
msgid "An IP address can only be assigned to a single object."
msgstr "IP 地址只能分配给单个对象。"
-#: ipam/forms/model_forms.py:388 ipam/models/ip.py:897
+#: netbox/ipam/forms/model_forms.py:388 netbox/ipam/models/ip.py:897
msgid ""
"Cannot reassign IP address while it is designated as the primary IP for the "
"parent object"
-msgstr "当它被指定为父对象的主 IP 时,无法重新分配 IP 地址"
+msgstr "当 IP 地址被指定为父对象的主 IP 时,无法重新分配 IP 地址"
-#: ipam/forms/model_forms.py:398
+#: netbox/ipam/forms/model_forms.py:398
msgid ""
"Only IP addresses assigned to an interface can be designated as primary IPs."
msgstr "只有分配给接口的 IP 地址才能指定为主 IP。"
-#: ipam/forms/model_forms.py:473
+#: netbox/ipam/forms/model_forms.py:473
msgid "Virtual IP Address"
-msgstr "虚拟 IP 地址"
+msgstr "虚拟IP地址"
-#: ipam/forms/model_forms.py:558
+#: netbox/ipam/forms/model_forms.py:558
msgid "Assignment already exists"
-msgstr "任务已经存在"
+msgstr "已被分配"
-#: ipam/forms/model_forms.py:637 ipam/forms/model_forms.py:679
-#: ipam/tables/ip.py:250 templates/ipam/vlan_edit.html:37
-#: templates/ipam/vlangroup.html:27
+#: netbox/ipam/forms/model_forms.py:637 netbox/ipam/forms/model_forms.py:679
+#: netbox/ipam/tables/ip.py:250 netbox/templates/ipam/vlan_edit.html:37
+#: netbox/templates/ipam/vlangroup.html:27
msgid "VLAN Group"
-msgstr "VLAN 组"
+msgstr "VLAN组"
-#: ipam/forms/model_forms.py:638
+#: netbox/ipam/forms/model_forms.py:638
msgid "Child VLANs"
-msgstr "儿童 VLAN"
+msgstr "子类 VLANs"
-#: ipam/forms/model_forms.py:710 ipam/forms/model_forms.py:742
+#: netbox/ipam/forms/model_forms.py:710 netbox/ipam/forms/model_forms.py:742
msgid ""
"Comma-separated list of one or more port numbers. A range may be specified "
"using a hyphen."
-msgstr "一个或多个端口号的逗号分隔列表。可以使用连字符指定范围。"
+msgstr "一个或多个端口号的列表,逗号分隔。可以使用连字符指定范围。"
-#: ipam/forms/model_forms.py:715 templates/ipam/servicetemplate.html:12
+#: netbox/ipam/forms/model_forms.py:715
+#: netbox/templates/ipam/servicetemplate.html:12
msgid "Service Template"
-msgstr "服务模板"
+msgstr "服务模版"
-#: ipam/forms/model_forms.py:762
+#: netbox/ipam/forms/model_forms.py:762
msgid "Port(s)"
msgstr "端口"
-#: ipam/forms/model_forms.py:763 ipam/forms/model_forms.py:791
-#: templates/ipam/service.html:21
+#: netbox/ipam/forms/model_forms.py:763 netbox/ipam/forms/model_forms.py:791
+#: netbox/templates/ipam/service.html:21
msgid "Service"
msgstr "服务"
-#: ipam/forms/model_forms.py:776
+#: netbox/ipam/forms/model_forms.py:776
msgid "Service template"
-msgstr "服务模板"
+msgstr "服务模版"
-#: ipam/forms/model_forms.py:788
+#: netbox/ipam/forms/model_forms.py:788
msgid "From Template"
-msgstr "来自模板"
+msgstr "来自模版"
-#: ipam/forms/model_forms.py:789
+#: netbox/ipam/forms/model_forms.py:789
msgid "Custom"
msgstr "自定义"
-#: ipam/forms/model_forms.py:819
+#: netbox/ipam/forms/model_forms.py:819
msgid ""
"Must specify name, protocol, and port(s) if not using a service template."
msgstr "如果不使用服务模板,则必须指定名称、协议和端口。"
-#: ipam/models/asns.py:34
+#: netbox/ipam/models/asns.py:34
msgid "start"
msgstr "开始"
-#: ipam/models/asns.py:51
+#: netbox/ipam/models/asns.py:51
msgid "ASN range"
-msgstr "ASN 范围"
+msgstr "ASN范围"
-#: ipam/models/asns.py:52
+#: netbox/ipam/models/asns.py:52
msgid "ASN ranges"
-msgstr "ASN 范围"
+msgstr "ASN范围"
-#: ipam/models/asns.py:72
+#: netbox/ipam/models/asns.py:72
#, python-brace-format
msgid "Starting ASN ({start}) must be lower than ending ASN ({end})."
-msgstr "启动 ASN ({start}) 必须低于结尾 ASN ({end})。"
+msgstr "开始的ASN ({start}) 必须低于结束的ASN({end})。"
-#: ipam/models/asns.py:104
+#: netbox/ipam/models/asns.py:104
msgid "Regional Internet Registry responsible for this AS number space"
-msgstr "负责此 AS 号码空间的地区互联网注册管理机构"
+msgstr "负责此AS号码的区域互联网注册处"
-#: ipam/models/asns.py:109
+#: netbox/ipam/models/asns.py:109
msgid "16- or 32-bit autonomous system number"
-msgstr "16 或 32 位自治系统编号"
+msgstr "16或32位自主系统编号"
-#: ipam/models/fhrp.py:22
+#: netbox/ipam/models/fhrp.py:22
msgid "group ID"
-msgstr "群组 ID"
+msgstr "组ID"
-#: ipam/models/fhrp.py:30 ipam/models/services.py:21
+#: netbox/ipam/models/fhrp.py:30 netbox/ipam/models/services.py:22
msgid "protocol"
msgstr "协议"
-#: ipam/models/fhrp.py:38 wireless/models.py:27
+#: netbox/ipam/models/fhrp.py:38 netbox/wireless/models.py:27
msgid "authentication type"
-msgstr "身份验证类型"
+msgstr "认证类型"
-#: ipam/models/fhrp.py:43
+#: netbox/ipam/models/fhrp.py:43
msgid "authentication key"
-msgstr "身份验证密钥"
+msgstr "认证秘钥"
-#: ipam/models/fhrp.py:56
+#: netbox/ipam/models/fhrp.py:56
msgid "FHRP group"
-msgstr "FHRP 小组"
+msgstr "FHRP组"
-#: ipam/models/fhrp.py:57
+#: netbox/ipam/models/fhrp.py:57
msgid "FHRP groups"
-msgstr "FHRP 团体"
+msgstr "网关冗余协议组"
-#: ipam/models/fhrp.py:93 tenancy/models/contacts.py:134
+#: netbox/ipam/models/fhrp.py:93 netbox/tenancy/models/contacts.py:134
msgid "priority"
-msgstr "优先"
+msgstr "优先级"
-#: ipam/models/fhrp.py:113
+#: netbox/ipam/models/fhrp.py:113
msgid "FHRP group assignment"
-msgstr "FHRP 群组分配"
+msgstr "指定FHRP组"
-#: ipam/models/fhrp.py:114
+#: netbox/ipam/models/fhrp.py:114
msgid "FHRP group assignments"
-msgstr "FHRP 小组作业"
+msgstr "指定FHRP组"
-#: ipam/models/ip.py:65
+#: netbox/ipam/models/ip.py:65
msgid "private"
-msgstr "私人的"
+msgstr "私有的"
-#: ipam/models/ip.py:66
+#: netbox/ipam/models/ip.py:66
msgid "IP space managed by this RIR is considered private"
-msgstr "此 RIR 管理的 IP 空间被视为私有空间"
+msgstr "由该RIR管理的IP地址空间被认为是私有的"
-#: ipam/models/ip.py:72 netbox/navigation/menu.py:169
+#: netbox/ipam/models/ip.py:72 netbox/netbox/navigation/menu.py:169
msgid "RIRs"
-msgstr "RIR"
+msgstr "区域互联网注册管理机构"
-#: ipam/models/ip.py:84
+#: netbox/ipam/models/ip.py:84
msgid "IPv4 or IPv6 network"
-msgstr "IPv4 或 IPv6 网络"
+msgstr "IPv4或IPv6网络"
-#: ipam/models/ip.py:91
+#: netbox/ipam/models/ip.py:91
msgid "Regional Internet Registry responsible for this IP space"
-msgstr "负责此 IP 空间的地区互联网注册管理机构"
+msgstr "负责此IP地址空间的区域互联网注册管理机构"
-#: ipam/models/ip.py:101
+#: netbox/ipam/models/ip.py:101
msgid "date added"
msgstr "添加日期"
-#: ipam/models/ip.py:115
+#: netbox/ipam/models/ip.py:115
msgid "aggregate"
-msgstr "聚合"
+msgstr "聚合IP"
-#: ipam/models/ip.py:116
+#: netbox/ipam/models/ip.py:116
msgid "aggregates"
-msgstr "总量"
+msgstr "aggregates"
-#: ipam/models/ip.py:132
+#: netbox/ipam/models/ip.py:132
msgid "Cannot create aggregate with /0 mask."
-msgstr "无法使用 /0 掩码创建聚合。"
+msgstr "无法使用/0掩码创建聚合IP。"
-#: ipam/models/ip.py:144
+#: netbox/ipam/models/ip.py:144
#, python-brace-format
msgid ""
"Aggregates cannot overlap. {prefix} is already covered by an existing "
"aggregate ({aggregate})."
-msgstr "聚合不能重叠。 {prefix} 已被现有聚合所覆盖 ({aggregate})。"
+msgstr "聚合不能重叠。{prefix}已被现有聚合({aggregate})包含。"
-#: ipam/models/ip.py:158
+#: netbox/ipam/models/ip.py:158
#, python-brace-format
msgid ""
"Prefixes cannot overlap aggregates. {prefix} covers an existing aggregate "
"({aggregate})."
-msgstr "前缀不能与聚合重叠。 {prefix} 涵盖现有聚合 ({aggregate})。"
+msgstr "前缀不能与聚合重叠。{prefix} 包含现有聚合({aggregate})。"
-#: ipam/models/ip.py:200 ipam/models/ip.py:737 vpn/models/tunnels.py:114
+#: netbox/ipam/models/ip.py:200 netbox/ipam/models/ip.py:737
+#: netbox/vpn/models/tunnels.py:114
msgid "role"
msgstr "角色"
-#: ipam/models/ip.py:201
+#: netbox/ipam/models/ip.py:201
msgid "roles"
msgstr "角色"
-#: ipam/models/ip.py:217 ipam/models/ip.py:293
+#: netbox/ipam/models/ip.py:217 netbox/ipam/models/ip.py:293
msgid "prefix"
msgstr "前缀"
-#: ipam/models/ip.py:218
+#: netbox/ipam/models/ip.py:218
msgid "IPv4 or IPv6 network with mask"
-msgstr "带掩码的 IPv4 或 IPv6 网络"
+msgstr "带掩码的IPv4或IPv6网络"
-#: ipam/models/ip.py:254
+#: netbox/ipam/models/ip.py:254
msgid "Operational status of this prefix"
-msgstr "此前缀的运行状态"
+msgstr "此前缀的操作状态"
-#: ipam/models/ip.py:262
+#: netbox/ipam/models/ip.py:262
msgid "The primary function of this prefix"
-msgstr "这个前缀的主要功能"
+msgstr "此前缀的主要功能"
-#: ipam/models/ip.py:265
+#: netbox/ipam/models/ip.py:265
msgid "is a pool"
-msgstr "是一个游泳池"
+msgstr "是地址池"
-#: ipam/models/ip.py:267
+#: netbox/ipam/models/ip.py:267
msgid "All IP addresses within this prefix are considered usable"
-msgstr "此前缀中的所有 IP 地址均视为可用"
+msgstr "此前缀内的所有IP地址都可用"
-#: ipam/models/ip.py:270 ipam/models/ip.py:537
+#: netbox/ipam/models/ip.py:270 netbox/ipam/models/ip.py:537
msgid "mark utilized"
-msgstr "已使用标记"
+msgstr "使用标记"
-#: ipam/models/ip.py:294
+#: netbox/ipam/models/ip.py:294
msgid "prefixes"
msgstr "前缀"
-#: ipam/models/ip.py:317
+#: netbox/ipam/models/ip.py:317
msgid "Cannot create prefix with /0 mask."
-msgstr "无法使用 /0 掩码创建前缀。"
+msgstr "无法创建/0掩码的IP地址前缀。"
-#: ipam/models/ip.py:324 ipam/models/ip.py:874
+#: netbox/ipam/models/ip.py:324 netbox/ipam/models/ip.py:874
#, python-brace-format
msgid "VRF {vrf}"
msgstr "VRF {vrf}"
-#: ipam/models/ip.py:324 ipam/models/ip.py:874
+#: netbox/ipam/models/ip.py:324 netbox/ipam/models/ip.py:874
msgid "global table"
msgstr "全局表"
-#: ipam/models/ip.py:326
+#: netbox/ipam/models/ip.py:326
#, python-brace-format
msgid "Duplicate prefix found in {table}: {prefix}"
-msgstr "在中找到重复的前缀 {table}: {prefix}"
+msgstr "在{table}中发现重复的前缀: {prefix}"
-#: ipam/models/ip.py:495
+#: netbox/ipam/models/ip.py:495
msgid "start address"
msgstr "起始地址"
-#: ipam/models/ip.py:496 ipam/models/ip.py:500 ipam/models/ip.py:712
+#: netbox/ipam/models/ip.py:496 netbox/ipam/models/ip.py:500
+#: netbox/ipam/models/ip.py:712
msgid "IPv4 or IPv6 address (with mask)"
msgstr "IPv4 或 IPv6 地址(带掩码)"
-#: ipam/models/ip.py:499
+#: netbox/ipam/models/ip.py:499
msgid "end address"
msgstr "结束地址"
-#: ipam/models/ip.py:526
+#: netbox/ipam/models/ip.py:526
msgid "Operational status of this range"
-msgstr "该范围的运行状态"
+msgstr "此IP范围的操作状态"
-#: ipam/models/ip.py:534
+#: netbox/ipam/models/ip.py:534
msgid "The primary function of this range"
-msgstr "这个范围的主要函数"
+msgstr "此IP范围的主要功能"
-#: ipam/models/ip.py:548
+#: netbox/ipam/models/ip.py:548
msgid "IP range"
-msgstr "IP 范围"
+msgstr "IP范围"
-#: ipam/models/ip.py:549
+#: netbox/ipam/models/ip.py:549
msgid "IP ranges"
-msgstr "IP 范围"
+msgstr "IP范围"
-#: ipam/models/ip.py:565
+#: netbox/ipam/models/ip.py:565
msgid "Starting and ending IP address versions must match"
-msgstr "起始和结束 IP 地址版本必须匹配"
+msgstr "起始和结束IP地址的版本必须一致"
-#: ipam/models/ip.py:571
+#: netbox/ipam/models/ip.py:571
msgid "Starting and ending IP address masks must match"
-msgstr "起始和结束 IP 地址掩码必须匹配"
+msgstr "起始和结束IP地址的掩码必须一致"
-#: ipam/models/ip.py:578
+#: netbox/ipam/models/ip.py:578
#, python-brace-format
msgid ""
"Ending address must be greater than the starting address ({start_address})"
msgstr "结束地址必须大于起始地址 ({start_address})"
-#: ipam/models/ip.py:590
+#: netbox/ipam/models/ip.py:590
#, python-brace-format
msgid "Defined addresses overlap with range {overlapping_range} in VRF {vrf}"
-msgstr "定义的地址与范围重叠 {overlapping_range} 在 VRF 中 {vrf}"
+msgstr "定义的地址与 VRF {vrf} 中的范围 {overlapping_range} 重叠"
-#: ipam/models/ip.py:599
+#: netbox/ipam/models/ip.py:599
#, python-brace-format
msgid "Defined range exceeds maximum supported size ({max_size})"
msgstr "定义的范围超过了支持的最大大小 ({max_size})"
-#: ipam/models/ip.py:711 tenancy/models/contacts.py:82
+#: netbox/ipam/models/ip.py:711 netbox/tenancy/models/contacts.py:82
msgid "address"
msgstr "地址"
-#: ipam/models/ip.py:734
+#: netbox/ipam/models/ip.py:734
msgid "The operational status of this IP"
-msgstr "此 IP 的运行状态"
+msgstr "此IP的运行状态"
-#: ipam/models/ip.py:741
+#: netbox/ipam/models/ip.py:741
msgid "The functional role of this IP"
-msgstr "这个 IP 的功能作用"
+msgstr "此IP的功能作用"
-#: ipam/models/ip.py:765 templates/ipam/ipaddress.html:72
+#: netbox/ipam/models/ip.py:765 netbox/templates/ipam/ipaddress.html:72
msgid "NAT (inside)"
-msgstr "NAT(内部)"
+msgstr "NAT(内部IP)"
-#: ipam/models/ip.py:766
+#: netbox/ipam/models/ip.py:766
msgid "The IP for which this address is the \"outside\" IP"
-msgstr "此地址作为 “外部” IP 的 IP"
+msgstr "此IP地址为外部IP"
-#: ipam/models/ip.py:773
+#: netbox/ipam/models/ip.py:773
msgid "Hostname or FQDN (not case-sensitive)"
msgstr "主机名或 FQDN(不区分大小写)"
-#: ipam/models/ip.py:789 ipam/models/services.py:93
+#: netbox/ipam/models/ip.py:789 netbox/ipam/models/services.py:94
msgid "IP addresses"
-msgstr "IP 地址"
+msgstr "IP地址"
-#: ipam/models/ip.py:845
+#: netbox/ipam/models/ip.py:845
msgid "Cannot create IP address with /0 mask."
-msgstr "无法使用 /0 掩码创建 IP 地址。"
+msgstr "无法创建/0掩码的IP地址。"
-#: ipam/models/ip.py:851
+#: netbox/ipam/models/ip.py:851
#, python-brace-format
msgid "{ip} is a network ID, which may not be assigned to an interface."
-msgstr "{ip} 是网络 ID,不能分配给接口。"
+msgstr "{ip}是一个网络号,不能分配给接口。"
-#: ipam/models/ip.py:862
+#: netbox/ipam/models/ip.py:862
#, python-brace-format
msgid ""
"{ip} is a broadcast address, which may not be assigned to an interface."
-msgstr "{ip} 是一个广播地址,不能分配给接口。"
+msgstr "{ip}是一个广播地址,不能分配给接口。"
-#: ipam/models/ip.py:876
+#: netbox/ipam/models/ip.py:876
#, python-brace-format
msgid "Duplicate IP address found in {table}: {ipaddress}"
-msgstr "在中找到重复的 IP 地址 {table}: {ipaddress}"
+msgstr "在 {table}中发现重复的IP地址: {ipaddress}"
-#: ipam/models/ip.py:903
+#: netbox/ipam/models/ip.py:903
msgid "Only IPv6 addresses can be assigned SLAAC status"
-msgstr "只能为 IPv6 地址分配 SLAAC 状态"
+msgstr "只能为IPv6地址分配SLAAC状态"
-#: ipam/models/services.py:32
+#: netbox/ipam/models/services.py:33
msgid "port numbers"
msgstr "端口号"
-#: ipam/models/services.py:58
+#: netbox/ipam/models/services.py:59
msgid "service template"
-msgstr "服务模板"
+msgstr "服务模版"
-#: ipam/models/services.py:59
+#: netbox/ipam/models/services.py:60
msgid "service templates"
msgstr "服务模板"
-#: ipam/models/services.py:94
+#: netbox/ipam/models/services.py:95
msgid "The specific IP addresses (if any) to which this service is bound"
-msgstr "此服务绑定到的特定 IP 地址(如果有)"
+msgstr "此服务绑定到的特定IP地址(如果有)"
-#: ipam/models/services.py:101
+#: netbox/ipam/models/services.py:102
msgid "service"
msgstr "服务"
-#: ipam/models/services.py:102
+#: netbox/ipam/models/services.py:103
msgid "services"
msgstr "服务"
-#: ipam/models/services.py:116
+#: netbox/ipam/models/services.py:117
msgid ""
"A service cannot be associated with both a device and a virtual machine."
msgstr "服务不能同时与设备和虚拟机相关联。"
-#: ipam/models/services.py:118
+#: netbox/ipam/models/services.py:119
msgid ""
"A service must be associated with either a device or a virtual machine."
msgstr "服务必须与设备或虚拟机相关联。"
-#: ipam/models/vlans.py:49
+#: netbox/ipam/models/vlans.py:49
msgid "minimum VLAN ID"
-msgstr "最低 VLAN ID"
+msgstr "最小的VLAN ID"
-#: ipam/models/vlans.py:55
+#: netbox/ipam/models/vlans.py:55
msgid "Lowest permissible ID of a child VLAN"
-msgstr "子 VLAN 的最低允许 ID"
+msgstr "子VLAN的最小ID"
-#: ipam/models/vlans.py:58
+#: netbox/ipam/models/vlans.py:58
msgid "maximum VLAN ID"
-msgstr "最大 VLAN ID"
+msgstr "最大VLAN ID"
-#: ipam/models/vlans.py:64
+#: netbox/ipam/models/vlans.py:64
msgid "Highest permissible ID of a child VLAN"
-msgstr "子 VLAN 的最大允许 ID"
+msgstr "子VLAN的最大ID"
-#: ipam/models/vlans.py:85
+#: netbox/ipam/models/vlans.py:85
msgid "VLAN groups"
-msgstr "VLAN 群组"
+msgstr "VLAN组"
-#: ipam/models/vlans.py:95
+#: netbox/ipam/models/vlans.py:95
msgid "Cannot set scope_type without scope_id."
-msgstr "没有 scope_id 就无法设置 scope_type。"
+msgstr "没有作用域id,无法设置作用域。"
-#: ipam/models/vlans.py:97
+#: netbox/ipam/models/vlans.py:97
msgid "Cannot set scope_id without scope_type."
-msgstr "没有 scope_type 就无法设置 scope_id。"
+msgstr "没有作用域类型,无法设置作用域。"
-#: ipam/models/vlans.py:102
+#: netbox/ipam/models/vlans.py:102
msgid "Maximum child VID must be greater than or equal to minimum child VID"
-msgstr "儿童 VID 的最大值必须大于或等于子项 VID 的最小值"
+msgstr "最大子VLAN ID必须大于或等于最小子VLAN ID"
-#: ipam/models/vlans.py:145
+#: netbox/ipam/models/vlans.py:145
msgid "The specific site to which this VLAN is assigned (if any)"
-msgstr "此 VLAN 分配到的特定站点(如果有)"
+msgstr "此VLAN所属的站点(如果有)"
-#: ipam/models/vlans.py:153
+#: netbox/ipam/models/vlans.py:153
msgid "VLAN group (optional)"
-msgstr "VLAN 组(可选)"
+msgstr "VLAN组(可选)"
-#: ipam/models/vlans.py:161
+#: netbox/ipam/models/vlans.py:161
msgid "Numeric VLAN ID (1-4094)"
-msgstr "数字 VLAN ID (1-4094)"
+msgstr "VLAN ID(1-4094)"
-#: ipam/models/vlans.py:179
+#: netbox/ipam/models/vlans.py:179
msgid "Operational status of this VLAN"
-msgstr "此 VLAN 的运行状态"
+msgstr "此VLAN的操作状态"
-#: ipam/models/vlans.py:187
+#: netbox/ipam/models/vlans.py:187
msgid "The primary function of this VLAN"
-msgstr "此 VLAN 的主要功能"
+msgstr "此VLAN的主要功能"
-#: ipam/models/vlans.py:215 ipam/tables/ip.py:175 ipam/tables/vlans.py:78
-#: ipam/views.py:978 netbox/navigation/menu.py:180
-#: netbox/navigation/menu.py:182
+#: netbox/ipam/models/vlans.py:215 netbox/ipam/tables/ip.py:175
+#: netbox/ipam/tables/vlans.py:78 netbox/ipam/views.py:971
+#: netbox/netbox/navigation/menu.py:180 netbox/netbox/navigation/menu.py:182
msgid "VLANs"
-msgstr "VLAN"
+msgstr "VLANs"
-#: ipam/models/vlans.py:230
+#: netbox/ipam/models/vlans.py:230
#, python-brace-format
msgid ""
"VLAN is assigned to group {group} (scope: {scope}); cannot also assign to "
"site {site}."
-msgstr "VLAN 已分配给群组 {group} (范围: {scope}); 也无法分配给站点 {site}。"
+msgstr "VLAN 已分配给组 {group}(作用域:{scope}); 不能再分配给站点:{site}。"
-#: ipam/models/vlans.py:238
+#: netbox/ipam/models/vlans.py:238
#, python-brace-format
msgid "VID must be between {minimum} and {maximum} for VLANs in group {group}"
-msgstr "VID 必须介于 {minimum} 和 {maximum} 对于组中的 VLAN {group}"
+msgstr ""
+"VID must be between {minimum} and {maximum} for VLANs in group {group}"
-#: ipam/models/vrfs.py:30
+#: netbox/ipam/models/vrfs.py:30
msgid "route distinguisher"
-msgstr "路线区分器"
+msgstr "路由实例"
-#: ipam/models/vrfs.py:31
+#: netbox/ipam/models/vrfs.py:31
msgid "Unique route distinguisher (as defined in RFC 4364)"
-msgstr "唯一的路由区分器(如 RFC 4364 中所定义)"
+msgstr "唯一的路由区分符(如 RFC 4364 中定义)"
-#: ipam/models/vrfs.py:42
+#: netbox/ipam/models/vrfs.py:42
msgid "enforce unique space"
-msgstr "强制使用独特的空间"
+msgstr "强制使用唯一空间"
-#: ipam/models/vrfs.py:43
+#: netbox/ipam/models/vrfs.py:43
msgid "Prevent duplicate prefixes/IP addresses within this VRF"
-msgstr "防止此 VRF 中出现重复的前缀/IP 地址"
+msgstr "防止此 VRF 内出现重复的前缀/IP 地址"
-#: ipam/models/vrfs.py:63 netbox/navigation/menu.py:173
-#: netbox/navigation/menu.py:175
+#: netbox/ipam/models/vrfs.py:63 netbox/netbox/navigation/menu.py:173
+#: netbox/netbox/navigation/menu.py:175
msgid "VRFs"
-msgstr "VRF"
+msgstr "VRFs"
-#: ipam/models/vrfs.py:82
+#: netbox/ipam/models/vrfs.py:82
msgid "Route target value (formatted in accordance with RFC 4360)"
-msgstr "路径目标值(按照 RFC 4360 进行格式化)"
+msgstr "RT值(按照 RFC 4360 格式)"
-#: ipam/models/vrfs.py:94
+#: netbox/ipam/models/vrfs.py:94
msgid "route target"
-msgstr "路线目标"
+msgstr "route target"
-#: ipam/models/vrfs.py:95
+#: netbox/ipam/models/vrfs.py:95
msgid "route targets"
-msgstr "路线目标"
+msgstr "route targets"
-#: ipam/tables/asn.py:52
+#: netbox/ipam/tables/asn.py:52
msgid "ASDOT"
msgstr "ASDOT"
-#: ipam/tables/asn.py:57
+#: netbox/ipam/tables/asn.py:57
msgid "Site Count"
-msgstr "站点数量"
+msgstr "站点统计"
-#: ipam/tables/asn.py:62
+#: netbox/ipam/tables/asn.py:62
msgid "Provider Count"
-msgstr "提供商数量"
+msgstr "运营商统计"
-#: ipam/tables/ip.py:94 netbox/navigation/menu.py:166
-#: netbox/navigation/menu.py:168
+#: netbox/ipam/tables/ip.py:94 netbox/netbox/navigation/menu.py:166
+#: netbox/netbox/navigation/menu.py:168
msgid "Aggregates"
-msgstr "聚合"
+msgstr "Aggregates"
-#: ipam/tables/ip.py:124
+#: netbox/ipam/tables/ip.py:124
msgid "Added"
msgstr "已添加"
-#: ipam/tables/ip.py:127 ipam/tables/ip.py:165 ipam/tables/vlans.py:138
-#: ipam/views.py:349 netbox/navigation/menu.py:152
-#: netbox/navigation/menu.py:154 templates/ipam/vlan.html:84
+#: netbox/ipam/tables/ip.py:127 netbox/ipam/tables/ip.py:165
+#: netbox/ipam/tables/vlans.py:138 netbox/ipam/views.py:346
+#: netbox/netbox/navigation/menu.py:152 netbox/netbox/navigation/menu.py:154
+#: netbox/templates/ipam/vlan.html:84
msgid "Prefixes"
msgstr "前缀"
-#: ipam/tables/ip.py:130 ipam/tables/ip.py:267 ipam/tables/ip.py:320
-#: ipam/tables/vlans.py:82 templates/dcim/device.html:252
-#: templates/ipam/aggregate.html:24 templates/ipam/iprange.html:29
-#: templates/ipam/prefix.html:106
+#: netbox/ipam/tables/ip.py:130 netbox/ipam/tables/ip.py:267
+#: netbox/ipam/tables/ip.py:320 netbox/ipam/tables/vlans.py:82
+#: netbox/templates/dcim/device.html:260
+#: netbox/templates/ipam/aggregate.html:24
+#: netbox/templates/ipam/iprange.html:29 netbox/templates/ipam/prefix.html:106
msgid "Utilization"
msgstr "利用率"
-#: ipam/tables/ip.py:170 netbox/navigation/menu.py:148
+#: netbox/ipam/tables/ip.py:170 netbox/netbox/navigation/menu.py:148
msgid "IP Ranges"
-msgstr "IP 范围"
+msgstr "IP范围"
-#: ipam/tables/ip.py:220
+#: netbox/ipam/tables/ip.py:220
msgid "Prefix (Flat)"
-msgstr "前缀(平面)"
+msgstr "前缀(标记)"
-#: ipam/tables/ip.py:224
+#: netbox/ipam/tables/ip.py:224
msgid "Depth"
msgstr "深度"
-#: ipam/tables/ip.py:261
+#: netbox/ipam/tables/ip.py:261
msgid "Pool"
-msgstr "泳池"
+msgstr "地址池"
-#: ipam/tables/ip.py:264 ipam/tables/ip.py:317
+#: netbox/ipam/tables/ip.py:264 netbox/ipam/tables/ip.py:317
msgid "Marked Utilized"
-msgstr "已标记为已使用"
+msgstr "标记为已使用"
-#: ipam/tables/ip.py:301
+#: netbox/ipam/tables/ip.py:301
msgid "Start address"
msgstr "起始地址"
-#: ipam/tables/ip.py:379
+#: netbox/ipam/tables/ip.py:379
msgid "NAT (Inside)"
-msgstr "NAT(内部)"
+msgstr "NAT (内部地址)"
-#: ipam/tables/ip.py:384
+#: netbox/ipam/tables/ip.py:384
msgid "NAT (Outside)"
-msgstr "NAT(外部)"
+msgstr "NAT (外部地址)"
-#: ipam/tables/ip.py:389
+#: netbox/ipam/tables/ip.py:389
msgid "Assigned"
-msgstr "已分配"
+msgstr "分配"
-#: ipam/tables/ip.py:424 templates/vpn/l2vpntermination.html:16
-#: vpn/forms/filtersets.py:240
+#: netbox/ipam/tables/ip.py:424 netbox/templates/vpn/l2vpntermination.html:16
+#: netbox/vpn/forms/filtersets.py:240
msgid "Assigned Object"
-msgstr "分配的对象"
+msgstr "指定对象"
-#: ipam/tables/vlans.py:68
+#: netbox/ipam/tables/vlans.py:68
msgid "Scope Type"
-msgstr "范围类型"
+msgstr "作用域类型"
-#: ipam/tables/vlans.py:107 ipam/tables/vlans.py:210
-#: templates/dcim/inc/interface_vlans_table.html:4
+#: netbox/ipam/tables/vlans.py:107 netbox/ipam/tables/vlans.py:210
+#: netbox/templates/dcim/inc/interface_vlans_table.html:4
msgid "VID"
-msgstr "视频"
+msgstr "VLAN号"
-#: ipam/tables/vrfs.py:30
+#: netbox/ipam/tables/vrfs.py:30
msgid "RD"
msgstr "RD"
-#: ipam/tables/vrfs.py:33
+#: netbox/ipam/tables/vrfs.py:33
msgid "Unique"
-msgstr "独特"
+msgstr "唯一的"
-#: ipam/tables/vrfs.py:36 vpn/tables/l2vpn.py:27
+#: netbox/ipam/tables/vrfs.py:36 netbox/vpn/tables/l2vpn.py:27
msgid "Import Targets"
-msgstr "导入目标"
+msgstr "引入targets"
-#: ipam/tables/vrfs.py:41 vpn/tables/l2vpn.py:32
+#: netbox/ipam/tables/vrfs.py:41 netbox/vpn/tables/l2vpn.py:32
msgid "Export Targets"
-msgstr "出口目标"
+msgstr "输出targets"
-#: ipam/validators.py:9
+#: netbox/ipam/validators.py:9
#, python-brace-format
msgid "{prefix} is not a valid prefix. Did you mean {suggested}?"
-msgstr "{prefix} 不是有效的前缀。你的意思是 {suggested}?"
+msgstr "{prefix} 不是有效的前缀。您是想 {suggested}?"
-#: ipam/validators.py:16
+#: netbox/ipam/validators.py:16
#, python-format
msgid "The prefix length must be less than or equal to %(limit_value)s."
-msgstr "前缀长度必须小于或等于 %(limit_value)s。"
+msgstr "前缀长度必须≤ %(limit_value)s."
-#: ipam/validators.py:24
+#: netbox/ipam/validators.py:24
#, python-format
msgid "The prefix length must be greater than or equal to %(limit_value)s."
-msgstr "前缀长度必须大于或等于 %(limit_value)s。"
+msgstr "前缀长度必须≥ %(limit_value)s."
-#: ipam/validators.py:33
+#: netbox/ipam/validators.py:33
msgid ""
"Only alphanumeric characters, asterisks, hyphens, periods, and underscores "
"are allowed in DNS names"
msgstr "DNS 名称中仅允许使用字母数字字符、星号、连字符、句点和下划线"
-#: ipam/views.py:541
+#: netbox/ipam/views.py:533
msgid "Child Prefixes"
-msgstr "子前缀"
+msgstr "下级前缀"
-#: ipam/views.py:576
+#: netbox/ipam/views.py:569
msgid "Child Ranges"
-msgstr "儿童系列"
+msgstr "子类地址访问"
-#: ipam/views.py:902
+#: netbox/ipam/views.py:898
msgid "Related IPs"
-msgstr "相关知识产权"
+msgstr "关联IP"
-#: ipam/views.py:1133
+#: netbox/ipam/views.py:1127
msgid "Device Interfaces"
msgstr "设备接口"
-#: ipam/views.py:1150
+#: netbox/ipam/views.py:1145
msgid "VM Interfaces"
-msgstr "虚拟机接口"
+msgstr "VM接口"
-#: netbox/api/fields.py:63
+#: netbox/netbox/api/fields.py:63
msgid "This field may not be blank."
-msgstr "此字段可能不为空。"
+msgstr "此字段不能为空。"
-#: netbox/api/fields.py:68
+#: netbox/netbox/api/fields.py:68
msgid ""
"Value must be passed directly (e.g. \"foo\": 123); do not use a dictionary "
"or list."
-msgstr "必须直接传递值(例如 “foo”: 123);不要使用字典或列表。"
+msgstr "值必须直接传递(e.g. \"foo\": 123); 不要使用字典或列表。"
-#: netbox/api/fields.py:89
+#: netbox/netbox/api/fields.py:89
#, python-brace-format
msgid "{value} is not a valid choice."
-msgstr "{value} 不是一个有效的选择。"
+msgstr "{value}不是一个有效的选项。"
-#: netbox/api/fields.py:102
+#: netbox/netbox/api/fields.py:102
#, python-brace-format
msgid "Invalid content type: {content_type}"
-msgstr "内容类型无效: {content_type}"
+msgstr "无效的内容类型: {content_type}"
-#: netbox/api/fields.py:103
+#: netbox/netbox/api/fields.py:103
msgid "Invalid value. Specify a content type as '.'."
-msgstr "值无效。将内容类型指定为 '。'。"
+msgstr "无效的值。需要将内容类型指定为 '.'。"
-#: netbox/authentication/__init__.py:138
+#: netbox/netbox/authentication/__init__.py:138
#, python-brace-format
msgid "Invalid permission {permission} for model {model}"
-msgstr "权限无效 {permission} 用于模型 {model}"
+msgstr "模型{model}的权限{permission}无效"
-#: netbox/choices.py:49
+#: netbox/netbox/choices.py:49
msgid "Dark Red"
-msgstr "暗红色"
+msgstr "深红"
-#: netbox/choices.py:52
+#: netbox/netbox/choices.py:52
msgid "Rose"
-msgstr "玫瑰"
+msgstr "玫瑰色"
-#: netbox/choices.py:53
+#: netbox/netbox/choices.py:53
msgid "Fuchsia"
msgstr "紫红色"
-#: netbox/choices.py:55
+#: netbox/netbox/choices.py:55
msgid "Dark Purple"
msgstr "深紫色"
-#: netbox/choices.py:58
+#: netbox/netbox/choices.py:58
msgid "Light Blue"
msgstr "浅蓝色"
-#: netbox/choices.py:61
+#: netbox/netbox/choices.py:61
msgid "Aqua"
-msgstr "Aqua"
+msgstr "水色"
-#: netbox/choices.py:62
+#: netbox/netbox/choices.py:62
msgid "Dark Green"
msgstr "深绿色"
-#: netbox/choices.py:64
+#: netbox/netbox/choices.py:64
msgid "Light Green"
msgstr "浅绿色"
-#: netbox/choices.py:65
+#: netbox/netbox/choices.py:65
msgid "Lime"
-msgstr "酸橙"
+msgstr "柠檬色"
-#: netbox/choices.py:67
+#: netbox/netbox/choices.py:67
msgid "Amber"
-msgstr "琥珀"
+msgstr "琥珀色"
-#: netbox/choices.py:69
+#: netbox/netbox/choices.py:69
msgid "Dark Orange"
msgstr "深橙色"
-#: netbox/choices.py:70
+#: netbox/netbox/choices.py:70
msgid "Brown"
msgstr "棕色"
-#: netbox/choices.py:71
+#: netbox/netbox/choices.py:71
msgid "Light Grey"
msgstr "浅灰色"
-#: netbox/choices.py:72
+#: netbox/netbox/choices.py:72
msgid "Grey"
msgstr "灰色"
-#: netbox/choices.py:73
+#: netbox/netbox/choices.py:73
msgid "Dark Grey"
msgstr "深灰色"
-#: netbox/choices.py:131
+#: netbox/netbox/choices.py:131
msgid "Direct"
-msgstr "直接"
+msgstr "直连"
-#: netbox/choices.py:132
+#: netbox/netbox/choices.py:132
msgid "Upload"
msgstr "上传"
-#: netbox/choices.py:144 netbox/choices.py:158
+#: netbox/netbox/choices.py:144 netbox/netbox/choices.py:158
msgid "Auto-detect"
msgstr "自动检测"
-#: netbox/choices.py:159
+#: netbox/netbox/choices.py:159
msgid "Comma"
msgstr "逗号"
-#: netbox/choices.py:160
+#: netbox/netbox/choices.py:160
msgid "Semicolon"
msgstr "分号"
-#: netbox/choices.py:161
+#: netbox/netbox/choices.py:161
msgid "Tab"
-msgstr "选项卡"
+msgstr "Tab"
-#: netbox/config/__init__.py:67
+#: netbox/netbox/config/__init__.py:67
#, python-brace-format
msgid "Invalid configuration parameter: {item}"
-msgstr "配置参数无效: {item}"
+msgstr "无效的配置参数: {item}"
-#: netbox/config/parameters.py:22 templates/core/inc/config_data.html:62
+#: netbox/netbox/config/parameters.py:22
+#: netbox/templates/core/inc/config_data.html:62
msgid "Login banner"
-msgstr "登录横幅"
+msgstr "登录提示"
-#: netbox/config/parameters.py:24
+#: netbox/netbox/config/parameters.py:24
msgid "Additional content to display on the login page"
-msgstr "登录页面上显示的其他内容"
+msgstr "要在登录页面上显示的其他内容"
-#: netbox/config/parameters.py:33 templates/core/inc/config_data.html:66
+#: netbox/netbox/config/parameters.py:33
+#: netbox/templates/core/inc/config_data.html:66
msgid "Maintenance banner"
-msgstr "维护横幅"
+msgstr "维护提示"
-#: netbox/config/parameters.py:35
+#: netbox/netbox/config/parameters.py:35
msgid "Additional content to display when in maintenance mode"
-msgstr "在维护模式下要显示的其他内容"
+msgstr "要在维护页面上显示的其他内容"
-#: netbox/config/parameters.py:44 templates/core/inc/config_data.html:70
+#: netbox/netbox/config/parameters.py:44
+#: netbox/templates/core/inc/config_data.html:70
msgid "Top banner"
-msgstr "热门横幅"
+msgstr "顶部提示"
-#: netbox/config/parameters.py:46
+#: netbox/netbox/config/parameters.py:46
msgid "Additional content to display at the top of every page"
-msgstr "在每页顶部显示的其他内容"
+msgstr "要在顶部提示显示的其他内容"
-#: netbox/config/parameters.py:55 templates/core/inc/config_data.html:74
+#: netbox/netbox/config/parameters.py:55
+#: netbox/templates/core/inc/config_data.html:74
msgid "Bottom banner"
-msgstr "底部横幅"
+msgstr "底部提示"
-#: netbox/config/parameters.py:57
+#: netbox/netbox/config/parameters.py:57
msgid "Additional content to display at the bottom of every page"
-msgstr "在每页底部显示其他内容"
+msgstr "要在每页底部提示显示的其他内容"
-#: netbox/config/parameters.py:68
+#: netbox/netbox/config/parameters.py:68
msgid "Globally unique IP space"
-msgstr "全球独一无二的 IP 空间"
+msgstr "全局IP地址空间"
-#: netbox/config/parameters.py:70
+#: netbox/netbox/config/parameters.py:70
msgid "Enforce unique IP addressing within the global table"
-msgstr "在全局表中强制使用唯一的 IP 地址"
+msgstr "在全局表中强制执行唯一的 IP 寻址"
-#: netbox/config/parameters.py:75 templates/core/inc/config_data.html:44
+#: netbox/netbox/config/parameters.py:75
+#: netbox/templates/core/inc/config_data.html:44
msgid "Prefer IPv4"
-msgstr "首选 IPv4"
+msgstr "首选IPv4"
-#: netbox/config/parameters.py:77
+#: netbox/netbox/config/parameters.py:77
msgid "Prefer IPv4 addresses over IPv6"
-msgstr "优先选择 IPv4 地址而不是 IPv6"
+msgstr "IPv4地址优先于IPv6地址"
-#: netbox/config/parameters.py:84
+#: netbox/netbox/config/parameters.py:84
msgid "Rack unit height"
-msgstr "机架单元高度"
+msgstr "机柜每U高度"
-#: netbox/config/parameters.py:86
+#: netbox/netbox/config/parameters.py:86
msgid "Default unit height for rendered rack elevations"
-msgstr "渲染机架高程的默认单位高度"
+msgstr "渲染机架标高的默认单位高度"
-#: netbox/config/parameters.py:91
+#: netbox/netbox/config/parameters.py:91
msgid "Rack unit width"
-msgstr "机架单元宽度"
+msgstr "机柜每U宽度"
-#: netbox/config/parameters.py:93
+#: netbox/netbox/config/parameters.py:93
msgid "Default unit width for rendered rack elevations"
-msgstr "渲染机架高程的默认单位宽度"
+msgstr "渲染机架标高的默认单位宽度"
-#: netbox/config/parameters.py:100
+#: netbox/netbox/config/parameters.py:100
msgid "Powerfeed voltage"
msgstr "供电电压"
-#: netbox/config/parameters.py:102
+#: netbox/netbox/config/parameters.py:102
msgid "Default voltage for powerfeeds"
-msgstr "供电的默认电压"
+msgstr "电源默认电压"
-#: netbox/config/parameters.py:107
+#: netbox/netbox/config/parameters.py:107
msgid "Powerfeed amperage"
-msgstr "电源电流安培数"
+msgstr "供电电流"
-#: netbox/config/parameters.py:109
+#: netbox/netbox/config/parameters.py:109
msgid "Default amperage for powerfeeds"
-msgstr "供电的默认安培数"
+msgstr "电源的默认电流"
-#: netbox/config/parameters.py:114
+#: netbox/netbox/config/parameters.py:114
msgid "Powerfeed max utilization"
-msgstr "Powerfeed 最大利用率"
+msgstr "电源最大利用率"
-#: netbox/config/parameters.py:116
+#: netbox/netbox/config/parameters.py:116
msgid "Default max utilization for powerfeeds"
-msgstr "供电的默认最大利用率"
+msgstr "默认的电源最大利用率"
-#: netbox/config/parameters.py:123 templates/core/inc/config_data.html:53
+#: netbox/netbox/config/parameters.py:123
+#: netbox/templates/core/inc/config_data.html:53
msgid "Allowed URL schemes"
-msgstr "允许的网址架构"
+msgstr "允许的URL方案"
-#: netbox/config/parameters.py:128
+#: netbox/netbox/config/parameters.py:128
msgid "Permitted schemes for URLs in user-provided content"
-msgstr "允许在用户提供的内容中使用 URL 的方案"
+msgstr "用户提供的内容中允许的URL方案"
-#: netbox/config/parameters.py:136
+#: netbox/netbox/config/parameters.py:136
msgid "Default page size"
msgstr "默认页面大小"
-#: netbox/config/parameters.py:142
+#: netbox/netbox/config/parameters.py:142
msgid "Maximum page size"
msgstr "最大页面大小"
-#: netbox/config/parameters.py:150 templates/core/inc/config_data.html:96
+#: netbox/netbox/config/parameters.py:150
+#: netbox/templates/core/inc/config_data.html:96
msgid "Custom validators"
msgstr "自定义验证器"
-#: netbox/config/parameters.py:152
+#: netbox/netbox/config/parameters.py:152
msgid "Custom validation rules (JSON)"
-msgstr "自定义验证规则 (JSON)"
+msgstr "自定义验证规则(JSON)"
-#: netbox/config/parameters.py:160 templates/core/inc/config_data.html:104
+#: netbox/netbox/config/parameters.py:160
+#: netbox/templates/core/inc/config_data.html:104
msgid "Protection rules"
msgstr "保护规则"
-#: netbox/config/parameters.py:162
+#: netbox/netbox/config/parameters.py:162
msgid "Deletion protection rules (JSON)"
-msgstr "删除保护规则 (JSON)"
+msgstr "删除动作的保护规则(JSON)"
-#: netbox/config/parameters.py:172 templates/core/inc/config_data.html:117
+#: netbox/netbox/config/parameters.py:172
+#: netbox/templates/core/inc/config_data.html:117
msgid "Default preferences"
msgstr "默认首选项"
-#: netbox/config/parameters.py:174
+#: netbox/netbox/config/parameters.py:174
msgid "Default preferences for new users"
-msgstr "新用户的默认首选项"
+msgstr "新用户默认首选项"
-#: netbox/config/parameters.py:181 templates/core/inc/config_data.html:129
+#: netbox/netbox/config/parameters.py:181
+#: netbox/templates/core/inc/config_data.html:129
msgid "Maintenance mode"
msgstr "维护模式"
-#: netbox/config/parameters.py:183
+#: netbox/netbox/config/parameters.py:183
msgid "Enable maintenance mode"
-msgstr "启用维护模式"
+msgstr "开启维护模式"
-#: netbox/config/parameters.py:188 templates/core/inc/config_data.html:133
+#: netbox/netbox/config/parameters.py:188
+#: netbox/templates/core/inc/config_data.html:133
msgid "GraphQL enabled"
-msgstr "启用 GraphQ"
+msgstr "GraphQL已启用"
-#: netbox/config/parameters.py:190
+#: netbox/netbox/config/parameters.py:190
msgid "Enable the GraphQL API"
-msgstr "启用 GraphQL API"
+msgstr "启用GraphQL API"
-#: netbox/config/parameters.py:195 templates/core/inc/config_data.html:137
+#: netbox/netbox/config/parameters.py:195
+#: netbox/templates/core/inc/config_data.html:137
msgid "Changelog retention"
-msgstr "更改日志保留"
+msgstr "变更日志保留"
-#: netbox/config/parameters.py:197
+#: netbox/netbox/config/parameters.py:197
msgid "Days to retain changelog history (set to zero for unlimited)"
-msgstr "保留变更日志历史记录的天数(设置为零表示无限制)"
+msgstr "变更日志的保留天数(0表示无限制)"
-#: netbox/config/parameters.py:202
+#: netbox/netbox/config/parameters.py:202
msgid "Job result retention"
-msgstr "保留工作结果"
+msgstr "任务结果保留"
-#: netbox/config/parameters.py:204
+#: netbox/netbox/config/parameters.py:204
msgid "Days to retain job result history (set to zero for unlimited)"
-msgstr "保留任务结果历史记录的天数(设置为零表示无限制)"
+msgstr "任务结果的保留天数(0表示无限制)"
-#: netbox/config/parameters.py:209 templates/core/inc/config_data.html:145
+#: netbox/netbox/config/parameters.py:209
+#: netbox/templates/core/inc/config_data.html:145
msgid "Maps URL"
-msgstr "地图网址"
+msgstr "地图链接"
-#: netbox/config/parameters.py:211
+#: netbox/netbox/config/parameters.py:211
msgid "Base URL for mapping geographic locations"
-msgstr "用于绘制地理位置的基本 URL"
+msgstr "用于映射地理位置的基本URL"
-#: netbox/forms/__init__.py:12
+#: netbox/netbox/forms/__init__.py:12
msgid "Partial match"
-msgstr "部分比赛"
+msgstr "部分匹配"
-#: netbox/forms/__init__.py:13
+#: netbox/netbox/forms/__init__.py:13
msgid "Exact match"
-msgstr "精确匹配"
+msgstr "完全匹配"
-#: netbox/forms/__init__.py:14
+#: netbox/netbox/forms/__init__.py:14
msgid "Starts with"
-msgstr "开头是"
+msgstr "开始于"
-#: netbox/forms/__init__.py:15
+#: netbox/netbox/forms/__init__.py:15
msgid "Ends with"
-msgstr "结尾为"
+msgstr "结束于"
-#: netbox/forms/__init__.py:16
+#: netbox/netbox/forms/__init__.py:16
msgid "Regex"
msgstr "正则表达式"
-#: netbox/forms/__init__.py:34
+#: netbox/netbox/forms/__init__.py:34
msgid "Object type(s)"
msgstr "对象类型"
-#: netbox/forms/base.py:88
+#: netbox/netbox/forms/__init__.py:40
+msgid "Lookup"
+msgstr "查找"
+
+#: netbox/netbox/forms/base.py:88
msgid ""
"Tag slugs separated by commas, encased with double quotes (e.g. "
"\"tag1,tag2,tag3\")"
-msgstr "用逗号分隔的标签 slug,用双引号括起来(例如 “tag1、tag2、tag3”)"
+msgstr "用逗号分隔的标签段,用双引号括起来(例如\"tag1,tag2,tag3\")"
-#: netbox/forms/base.py:118
+#: netbox/netbox/forms/base.py:118
msgid "Add tags"
-msgstr "添加标签"
+msgstr "增加标签"
-#: netbox/forms/base.py:123
+#: netbox/netbox/forms/base.py:123
msgid "Remove tags"
msgstr "移除标签"
-#: netbox/forms/mixins.py:38
+#: netbox/netbox/forms/mixins.py:38
#, python-brace-format
msgid "{class_name} must specify a model class."
-msgstr "{class_name} 必须指定模型类。"
+msgstr "{class_name}必须指定一个模型类。"
-#: netbox/models/features.py:277
+#: netbox/netbox/models/features.py:277
#, python-brace-format
msgid "Unknown field name '{name}' in custom field data."
-msgstr "未知的字段名 '{name}'在自定义字段数据中。"
+msgstr "自定义字段中的字段名称 '{name}' 未知。"
-#: netbox/models/features.py:283
+#: netbox/netbox/models/features.py:283
#, python-brace-format
msgid "Invalid value for custom field '{name}': {error}"
-msgstr "自定义字段 '的值无效{name}': {error}"
+msgstr "自定义字段'{name}'的值无效: {error}"
-#: netbox/models/features.py:290
+#: netbox/netbox/models/features.py:290
#, python-brace-format
msgid "Missing required custom field '{name}'."
-msgstr "缺少必填的自定义字段 '{name}'。"
+msgstr "缺少必需的自定义字段'{name}'."
-#: netbox/models/features.py:441
+#: netbox/netbox/models/features.py:441
msgid "Remote data source"
msgstr "远程数据源"
-#: netbox/models/features.py:451
+#: netbox/netbox/models/features.py:451
msgid "data path"
-msgstr "数据路径"
+msgstr "文件路径"
-#: netbox/models/features.py:455
+#: netbox/netbox/models/features.py:455
msgid "Path to remote file (relative to data source root)"
-msgstr "远程文件路径(相对于数据源根目录)"
+msgstr "数据源文件路径(相对路径)"
-#: netbox/models/features.py:458
+#: netbox/netbox/models/features.py:458
msgid "auto sync enabled"
-msgstr "已启用自动同步"
+msgstr "使能自动同步"
-#: netbox/models/features.py:460
+#: netbox/netbox/models/features.py:460
msgid "Enable automatic synchronization of data when the data file is updated"
-msgstr "更新数据文件时启用数据的自动同步"
+msgstr "数据文件更新时启用数据自动同步"
-#: netbox/models/features.py:463
+#: netbox/netbox/models/features.py:463
msgid "date synced"
-msgstr "日期已同步"
+msgstr "数据已同步"
-#: netbox/models/features.py:557
+#: netbox/netbox/models/features.py:557
#, python-brace-format
msgid "{class_name} must implement a sync_data() method."
-msgstr "{class_name} 必须实现 sync_data () 方法。"
+msgstr "{class_name}必须包含sync_data()方法。"
-#: netbox/navigation/menu.py:11
+#: netbox/netbox/navigation/menu.py:11
msgid "Organization"
-msgstr "组织"
+msgstr "组织机构"
-#: netbox/navigation/menu.py:19
+#: netbox/netbox/navigation/menu.py:19
msgid "Site Groups"
-msgstr "站点群组"
+msgstr "站点组"
-#: netbox/navigation/menu.py:27
+#: netbox/netbox/navigation/menu.py:27
msgid "Rack Roles"
-msgstr "机架角色"
+msgstr "机柜角色"
-#: netbox/navigation/menu.py:31
+#: netbox/netbox/navigation/menu.py:31
msgid "Elevations"
-msgstr "海拔"
+msgstr "机柜立面图"
-#: netbox/navigation/menu.py:40
+#: netbox/netbox/navigation/menu.py:40
msgid "Tenant Groups"
-msgstr "租户群组"
+msgstr "租户组"
-#: netbox/navigation/menu.py:47
+#: netbox/netbox/navigation/menu.py:47
msgid "Contact Groups"
-msgstr "联系人小组"
+msgstr "联系组"
-#: netbox/navigation/menu.py:48 templates/tenancy/contactrole.html:8
+#: netbox/netbox/navigation/menu.py:48
+#: netbox/templates/tenancy/contactrole.html:8
msgid "Contact Roles"
-msgstr "联系人角色"
+msgstr "联系角色"
-#: netbox/navigation/menu.py:49
+#: netbox/netbox/navigation/menu.py:49
msgid "Contact Assignments"
-msgstr "联系任务"
+msgstr "联系分配"
-#: netbox/navigation/menu.py:63
+#: netbox/netbox/navigation/menu.py:63
msgid "Modules"
-msgstr "模块"
+msgstr "设备板卡"
-#: netbox/navigation/menu.py:67 templates/dcim/device.html:157
-#: templates/dcim/virtualdevicecontext.html:8
+#: netbox/netbox/navigation/menu.py:67 netbox/templates/dcim/device.html:160
+#: netbox/templates/dcim/virtualdevicecontext.html:8
msgid "Virtual Device Contexts"
-msgstr "虚拟设备上下文"
+msgstr "设备虚拟实例"
-#: netbox/navigation/menu.py:75
+#: netbox/netbox/navigation/menu.py:75
msgid "Manufacturers"
-msgstr "制造商"
+msgstr "厂商"
-#: netbox/navigation/menu.py:79
+#: netbox/netbox/navigation/menu.py:79
msgid "Device Components"
-msgstr "设备组件"
+msgstr "设备详情"
-#: netbox/navigation/menu.py:91 templates/dcim/inventoryitemrole.html:8
+#: netbox/netbox/navigation/menu.py:91
+#: netbox/templates/dcim/inventoryitemrole.html:8
msgid "Inventory Item Roles"
-msgstr "库存物品角色"
+msgstr "库存物品分类"
-#: netbox/navigation/menu.py:98 netbox/navigation/menu.py:102
+#: netbox/netbox/navigation/menu.py:98 netbox/netbox/navigation/menu.py:102
msgid "Connections"
msgstr "连接"
-#: netbox/navigation/menu.py:104
+#: netbox/netbox/navigation/menu.py:104
msgid "Cables"
-msgstr "电缆"
+msgstr "链路"
-#: netbox/navigation/menu.py:105
+#: netbox/netbox/navigation/menu.py:105
msgid "Wireless Links"
-msgstr "无线链接"
+msgstr "无线连接"
-#: netbox/navigation/menu.py:108
+#: netbox/netbox/navigation/menu.py:108
msgid "Interface Connections"
msgstr "接口连接"
-#: netbox/navigation/menu.py:113
+#: netbox/netbox/navigation/menu.py:113
msgid "Console Connections"
-msgstr "控制台连接"
+msgstr "Console 连接"
-#: netbox/navigation/menu.py:118
+#: netbox/netbox/navigation/menu.py:118
msgid "Power Connections"
msgstr "电源连接"
-#: netbox/navigation/menu.py:134
+#: netbox/netbox/navigation/menu.py:134
msgid "Wireless LAN Groups"
msgstr "无线局域网组"
-#: netbox/navigation/menu.py:155
+#: netbox/netbox/navigation/menu.py:155
msgid "Prefix & VLAN Roles"
-msgstr "前缀和 VLAN 角色"
+msgstr "前缀和VLAN角色"
-#: netbox/navigation/menu.py:161
+#: netbox/netbox/navigation/menu.py:161
msgid "ASN Ranges"
msgstr "ASN 范围"
-#: netbox/navigation/menu.py:183
+#: netbox/netbox/navigation/menu.py:183
msgid "VLAN Groups"
-msgstr "VLAN 群组"
+msgstr "VLAN组"
-#: netbox/navigation/menu.py:190
+#: netbox/netbox/navigation/menu.py:190
msgid "Service Templates"
-msgstr "服务模板"
+msgstr "服务模版"
-#: netbox/navigation/menu.py:191 templates/dcim/device.html:294
-#: templates/ipam/ipaddress.html:118
-#: templates/virtualization/virtualmachine.html:150
+#: netbox/netbox/navigation/menu.py:191 netbox/templates/dcim/device.html:302
+#: netbox/templates/ipam/ipaddress.html:118
+#: netbox/templates/virtualization/virtualmachine.html:150
msgid "Services"
msgstr "服务"
-#: netbox/navigation/menu.py:198
+#: netbox/netbox/navigation/menu.py:198
msgid "VPN"
msgstr "VPN"
-#: netbox/navigation/menu.py:202 netbox/navigation/menu.py:204
-#: vpn/tables/tunnels.py:24
+#: netbox/netbox/navigation/menu.py:202 netbox/netbox/navigation/menu.py:204
+#: netbox/vpn/tables/tunnels.py:24
msgid "Tunnels"
msgstr "隧道"
-#: netbox/navigation/menu.py:205 templates/vpn/tunnelgroup.html:8
+#: netbox/netbox/navigation/menu.py:205
+#: netbox/templates/vpn/tunnelgroup.html:8
msgid "Tunnel Groups"
-msgstr "隧道群组"
+msgstr "隧道组"
-#: netbox/navigation/menu.py:206
+#: netbox/netbox/navigation/menu.py:206
msgid "Tunnel Terminations"
-msgstr "隧道终止"
+msgstr "隧道终端"
-#: netbox/navigation/menu.py:210 netbox/navigation/menu.py:212
-#: vpn/models/l2vpn.py:64
+#: netbox/netbox/navigation/menu.py:210 netbox/netbox/navigation/menu.py:212
+#: netbox/vpn/models/l2vpn.py:64
msgid "L2VPNs"
-msgstr "L2VPN"
+msgstr "L2VPNs"
-#: netbox/navigation/menu.py:213 templates/vpn/l2vpn.html:56
-#: templates/vpn/tunnel.html:72 vpn/tables/tunnels.py:58
+#: netbox/netbox/navigation/menu.py:213 netbox/templates/vpn/l2vpn.html:56
+#: netbox/templates/vpn/tunnel.html:72 netbox/vpn/tables/tunnels.py:58
msgid "Terminations"
-msgstr "终止"
+msgstr "终端"
-#: netbox/navigation/menu.py:219
+#: netbox/netbox/navigation/menu.py:219
msgid "IKE Proposals"
-msgstr "IKE 提案"
+msgstr "IKE Proposals"
-#: netbox/navigation/menu.py:220 templates/vpn/ikeproposal.html:41
+#: netbox/netbox/navigation/menu.py:220
+#: netbox/templates/vpn/ikeproposal.html:41
msgid "IKE Policies"
-msgstr "IKE 政策"
+msgstr "IKE策略"
-#: netbox/navigation/menu.py:221
+#: netbox/netbox/navigation/menu.py:221
msgid "IPSec Proposals"
-msgstr "IPsec 提案"
+msgstr "IPSEC安全提议"
-#: netbox/navigation/menu.py:222 templates/vpn/ipsecproposal.html:37
+#: netbox/netbox/navigation/menu.py:222
+#: netbox/templates/vpn/ipsecproposal.html:37
msgid "IPSec Policies"
-msgstr "IPsec 策略"
+msgstr "IPSec策略"
-#: netbox/navigation/menu.py:223 templates/vpn/ikepolicy.html:38
-#: templates/vpn/ipsecpolicy.html:25
+#: netbox/netbox/navigation/menu.py:223 netbox/templates/vpn/ikepolicy.html:38
+#: netbox/templates/vpn/ipsecpolicy.html:25
msgid "IPSec Profiles"
-msgstr "IPsec 配置文件"
+msgstr "IPSec通道"
-#: netbox/navigation/menu.py:230 templates/dcim/device_edit.html:78
+#: netbox/netbox/navigation/menu.py:230
+#: netbox/templates/dcim/device_edit.html:78
msgid "Virtualization"
msgstr "虚拟化"
-#: netbox/navigation/menu.py:238
-#: templates/virtualization/virtualmachine.html:170
-#: templates/virtualization/virtualmachine/base.html:32
-#: templates/virtualization/virtualmachine_list.html:21
-#: virtualization/tables/virtualmachines.py:103 virtualization/views.py:388
+#: netbox/netbox/navigation/menu.py:238
+#: netbox/templates/virtualization/virtualmachine.html:170
+#: netbox/templates/virtualization/virtualmachine/base.html:32
+#: netbox/templates/virtualization/virtualmachine_list.html:21
+#: netbox/virtualization/tables/virtualmachines.py:103
+#: netbox/virtualization/views.py:385
msgid "Virtual Disks"
msgstr "虚拟磁盘"
-#: netbox/navigation/menu.py:245
+#: netbox/netbox/navigation/menu.py:245
msgid "Cluster Types"
msgstr "集群类型"
-#: netbox/navigation/menu.py:246
+#: netbox/netbox/navigation/menu.py:246
msgid "Cluster Groups"
msgstr "集群组"
-#: netbox/navigation/menu.py:260
+#: netbox/netbox/navigation/menu.py:260
msgid "Circuit Types"
-msgstr "电路类型"
+msgstr "链路类型"
-#: netbox/navigation/menu.py:261
+#: netbox/netbox/navigation/menu.py:261
msgid "Circuit Terminations"
msgstr "电路终端"
-#: netbox/navigation/menu.py:265 netbox/navigation/menu.py:267
+#: netbox/netbox/navigation/menu.py:265 netbox/netbox/navigation/menu.py:267
msgid "Providers"
-msgstr "提供商"
+msgstr "运营商"
-#: netbox/navigation/menu.py:268 templates/circuits/provider.html:51
+#: netbox/netbox/navigation/menu.py:268
+#: netbox/templates/circuits/provider.html:51
msgid "Provider Accounts"
-msgstr "提供商账户"
+msgstr "运营商账户"
-#: netbox/navigation/menu.py:269
+#: netbox/netbox/navigation/menu.py:269
msgid "Provider Networks"
-msgstr "提供商网络"
+msgstr "运营商网络"
-#: netbox/navigation/menu.py:283
+#: netbox/netbox/navigation/menu.py:283
msgid "Power Panels"
msgstr "电源面板"
-#: netbox/navigation/menu.py:294
+#: netbox/netbox/navigation/menu.py:294
msgid "Configurations"
msgstr "配置"
-#: netbox/navigation/menu.py:296
+#: netbox/netbox/navigation/menu.py:296
msgid "Config Contexts"
-msgstr "配置上下文"
+msgstr "配置实例"
-#: netbox/navigation/menu.py:297
+#: netbox/netbox/navigation/menu.py:297
msgid "Config Templates"
msgstr "配置模板"
-#: netbox/navigation/menu.py:304 netbox/navigation/menu.py:308
+#: netbox/netbox/navigation/menu.py:304 netbox/netbox/navigation/menu.py:308
msgid "Customization"
-msgstr "定制"
+msgstr "自定义"
-#: netbox/navigation/menu.py:310 templates/dcim/device_edit.html:103
-#: templates/dcim/htmx/cable_edit.html:81
-#: templates/dcim/virtualchassis_add.html:31
-#: templates/dcim/virtualchassis_edit.html:40
-#: templates/generic/bulk_edit.html:76 templates/htmx/form.html:19
-#: templates/inc/filter_list.html:30 templates/inc/panels/custom_fields.html:7
-#: templates/ipam/ipaddress_bulk_add.html:35 templates/ipam/vlan_edit.html:63
+#: netbox/netbox/navigation/menu.py:310
+#: netbox/templates/dcim/device_edit.html:103
+#: netbox/templates/dcim/htmx/cable_edit.html:81
+#: netbox/templates/dcim/virtualchassis_add.html:31
+#: netbox/templates/dcim/virtualchassis_edit.html:40
+#: netbox/templates/generic/bulk_edit.html:76
+#: netbox/templates/htmx/form.html:19 netbox/templates/inc/filter_list.html:30
+#: netbox/templates/inc/panels/custom_fields.html:7
+#: netbox/templates/ipam/ipaddress_bulk_add.html:35
+#: netbox/templates/ipam/vlan_edit.html:59
msgid "Custom Fields"
msgstr "自定义字段"
-#: netbox/navigation/menu.py:311
+#: netbox/netbox/navigation/menu.py:311
msgid "Custom Field Choices"
-msgstr "自定义字段选择"
+msgstr "自定义字段选项"
-#: netbox/navigation/menu.py:312
+#: netbox/netbox/navigation/menu.py:312
msgid "Custom Links"
msgstr "自定义链接"
-#: netbox/navigation/menu.py:313
+#: netbox/netbox/navigation/menu.py:313
msgid "Export Templates"
msgstr "导出模板"
-#: netbox/navigation/menu.py:314
+#: netbox/netbox/navigation/menu.py:314
msgid "Saved Filters"
msgstr "已保存的过滤器"
-#: netbox/navigation/menu.py:316
+#: netbox/netbox/navigation/menu.py:316
msgid "Image Attachments"
-msgstr "图像附件"
+msgstr "图片附件"
-#: netbox/navigation/menu.py:334
+#: netbox/netbox/navigation/menu.py:334
msgid "Operations"
-msgstr "运营"
+msgstr "操作"
-#: netbox/navigation/menu.py:338
+#: netbox/netbox/navigation/menu.py:338
msgid "Integrations"
-msgstr "整合"
+msgstr "系统集成"
-#: netbox/navigation/menu.py:340
+#: netbox/netbox/navigation/menu.py:340
msgid "Data Sources"
msgstr "数据源"
-#: netbox/navigation/menu.py:341
+#: netbox/netbox/navigation/menu.py:341
msgid "Event Rules"
-msgstr "赛事规则"
+msgstr "事件规则"
-#: netbox/navigation/menu.py:342
+#: netbox/netbox/navigation/menu.py:342
msgid "Webhooks"
-msgstr "网络挂钩"
+msgstr "Webhooks"
-#: netbox/navigation/menu.py:346 netbox/navigation/menu.py:350
-#: netbox/views/generic/feature_views.py:151
-#: templates/extras/report/base.html:37 templates/extras/script/base.html:36
+#: netbox/netbox/navigation/menu.py:346 netbox/netbox/navigation/menu.py:350
+#: netbox/netbox/views/generic/feature_views.py:151
+#: netbox/templates/extras/report/base.html:37
+#: netbox/templates/extras/script/base.html:36
msgid "Jobs"
-msgstr "职位"
+msgstr "任务"
-#: netbox/navigation/menu.py:356
+#: netbox/netbox/navigation/menu.py:356
msgid "Logging"
-msgstr "记录"
+msgstr "日志"
-#: netbox/navigation/menu.py:358
+#: netbox/netbox/navigation/menu.py:358
msgid "Journal Entries"
-msgstr "日记条目"
+msgstr "日志条目"
-#: netbox/navigation/menu.py:359 templates/extras/objectchange.html:8
-#: templates/extras/objectchange_list.html:4
+#: netbox/netbox/navigation/menu.py:359
+#: netbox/templates/extras/objectchange.html:9
+#: netbox/templates/extras/objectchange_list.html:4
msgid "Change Log"
-msgstr "更改日志"
+msgstr "修改日志"
-#: netbox/navigation/menu.py:366 templates/inc/user_menu.html:11
+#: netbox/netbox/navigation/menu.py:366 netbox/templates/inc/user_menu.html:11
msgid "Admin"
msgstr "管理员"
-#: netbox/navigation/menu.py:374 templates/users/group.html:29
-#: users/forms/model_forms.py:233 users/forms/model_forms.py:245
-#: users/forms/model_forms.py:297 users/tables.py:102
+#: netbox/netbox/navigation/menu.py:374 netbox/templates/users/group.html:29
+#: netbox/users/forms/model_forms.py:233 netbox/users/forms/model_forms.py:245
+#: netbox/users/forms/model_forms.py:297 netbox/users/tables.py:102
msgid "Users"
msgstr "用户"
-#: netbox/navigation/menu.py:394 users/forms/model_forms.py:182
-#: users/forms/model_forms.py:194 users/forms/model_forms.py:302
-#: users/tables.py:35 users/tables.py:106
+#: netbox/netbox/navigation/menu.py:394 netbox/users/forms/model_forms.py:182
+#: netbox/users/forms/model_forms.py:194 netbox/users/forms/model_forms.py:302
+#: netbox/users/tables.py:35 netbox/users/tables.py:106
msgid "Groups"
-msgstr "群组"
+msgstr "组"
-#: netbox/navigation/menu.py:414 templates/account/base.html:21
-#: templates/inc/user_menu.html:36
+#: netbox/netbox/navigation/menu.py:414 netbox/templates/account/base.html:21
+#: netbox/templates/inc/user_menu.html:36
msgid "API Tokens"
-msgstr "API 代币"
+msgstr "API Tokens"
-#: netbox/navigation/menu.py:421 users/forms/model_forms.py:188
-#: users/forms/model_forms.py:196 users/forms/model_forms.py:239
-#: users/forms/model_forms.py:246
+#: netbox/netbox/navigation/menu.py:421 netbox/users/forms/model_forms.py:188
+#: netbox/users/forms/model_forms.py:196 netbox/users/forms/model_forms.py:239
+#: netbox/users/forms/model_forms.py:246
msgid "Permissions"
msgstr "权限"
-#: netbox/navigation/menu.py:429 netbox/navigation/menu.py:433
-#: templates/core/system.html:7
+#: netbox/netbox/navigation/menu.py:429 netbox/netbox/navigation/menu.py:433
+#: netbox/templates/core/system.html:7
msgid "System"
msgstr "系统"
-#: netbox/navigation/menu.py:438
+#: netbox/netbox/navigation/menu.py:438
msgid "Configuration History"
msgstr "配置历史记录"
-#: netbox/navigation/menu.py:444 templates/core/rq_task.html:8
-#: templates/core/rq_task_list.html:22
+#: netbox/netbox/navigation/menu.py:444 netbox/templates/core/rq_task.html:8
+#: netbox/templates/core/rq_task_list.html:22
msgid "Background Tasks"
msgstr "后台任务"
-#: netbox/navigation/menu.py:483 templates/500.html:35
-#: templates/account/preferences.html:22 templates/core/system.html:80
+#: netbox/netbox/navigation/menu.py:480 netbox/templates/500.html:35
+#: netbox/templates/account/preferences.html:22
+#: netbox/templates/core/system.html:80
msgid "Plugins"
msgstr "插件"
-#: netbox/plugins/navigation.py:47 netbox/plugins/navigation.py:69
+#: netbox/netbox/plugins/navigation.py:47
+#: netbox/netbox/plugins/navigation.py:69
msgid "Permissions must be passed as a tuple or list."
msgstr "权限必须以元组或列表的形式传递。"
-#: netbox/plugins/navigation.py:51
+#: netbox/netbox/plugins/navigation.py:51
msgid "Buttons must be passed as a tuple or list."
-msgstr "按钮必须以元组或列表的形式传递。"
+msgstr "按钮必须作为元组或列表传递。"
-#: netbox/plugins/navigation.py:73
+#: netbox/netbox/plugins/navigation.py:73
msgid "Button color must be a choice within ButtonColorChoices."
-msgstr "按钮颜色必须是 buttonColorChoices 中的一个选项。"
+msgstr "按钮颜色必须是颜色可选项中的一个。"
-#: netbox/plugins/registration.py:25
+#: netbox/netbox/plugins/registration.py:25
#, python-brace-format
msgid ""
"PluginTemplateExtension class {template_extension} was passed as an "
"instance!"
-msgstr "PluginTemplate扩展类 {template_extension} 是作为实例传递的!"
+msgstr "PluginTemplateExtension类{template_extension}已作为实例传递!"
-#: netbox/plugins/registration.py:31
+#: netbox/netbox/plugins/registration.py:31
#, python-brace-format
msgid ""
"{template_extension} is not a subclass of "
"netbox.plugins.PluginTemplateExtension!"
-msgstr "{template_extension} 不是 netbox.plugins.plugintEmplateExtension 的子类!"
+msgstr "{template_extension} 不是netbox.plugins.PluginTemplateExtension的子类。"
-#: netbox/plugins/registration.py:37
+#: netbox/netbox/plugins/registration.py:37
#, python-brace-format
msgid ""
"PluginTemplateExtension class {template_extension} does not define a valid "
"model!"
-msgstr "PluginTemplate扩展类 {template_extension} 未定义有效的模型!"
+msgstr "PluginTemplateExtension类{template_extension} 未定义有效的模型!"
-#: netbox/plugins/registration.py:47
+#: netbox/netbox/plugins/registration.py:47
#, python-brace-format
msgid "{item} must be an instance of netbox.plugins.PluginMenuItem"
-msgstr "{item} 必须是 netbox.plugins.pluginMenuItem 的实例"
+msgstr "{item} 必须是netbox.plugins.PluginMenuItem的实例。"
-#: netbox/plugins/registration.py:60
+#: netbox/netbox/plugins/registration.py:60
#, python-brace-format
msgid "{menu_link} must be an instance of netbox.plugins.PluginMenuItem"
-msgstr "{menu_link} 必须是 netbox.plugins.pluginMenuItem 的实例"
+msgstr "{menu_link} 必须是netbox.plugins.PluginMenuItem的实例。"
-#: netbox/plugins/registration.py:65
+#: netbox/netbox/plugins/registration.py:65
#, python-brace-format
msgid "{button} must be an instance of netbox.plugins.PluginMenuButton"
-msgstr "{button} 必须是 netbox.plugins.pluginMenuButton 的实例"
+msgstr "{button}必须是netbox.plugins.PluginMenuButton的实例。"
-#: netbox/plugins/templates.py:35
+#: netbox/netbox/plugins/templates.py:35
msgid "extra_context must be a dictionary"
-msgstr "extra_context 必须是字典"
+msgstr "附加实例必须是字典"
-#: netbox/preferences.py:19
+#: netbox/netbox/preferences.py:19
msgid "HTMX Navigation"
-msgstr "HTMX 导航"
+msgstr "HTMX导航"
-#: netbox/preferences.py:24
+#: netbox/netbox/preferences.py:24
msgid "Enable dynamic UI navigation"
-msgstr "启用动态 UI 导航"
+msgstr "启用动态UI导航"
-#: netbox/preferences.py:26
+#: netbox/netbox/preferences.py:26
msgid "Experimental feature"
msgstr "实验功能"
-#: netbox/preferences.py:29
+#: netbox/netbox/preferences.py:29
msgid "Language"
msgstr "语言"
-#: netbox/preferences.py:34
+#: netbox/netbox/preferences.py:34
msgid "Forces UI translation to the specified language"
msgstr "强制将用户界面翻译成指定语言"
-#: netbox/preferences.py:36
+#: netbox/netbox/preferences.py:36
msgid "Support for translation has been disabled locally"
msgstr "对翻译的支持已在本地禁用"
-#: netbox/preferences.py:42
+#: netbox/netbox/preferences.py:42
msgid "Page length"
msgstr "页面长度"
-#: netbox/preferences.py:44
+#: netbox/netbox/preferences.py:44
msgid "The default number of objects to display per page"
-msgstr "每页显示的默认对象数"
+msgstr "每页默认显示的对象数"
-#: netbox/preferences.py:48
+#: netbox/netbox/preferences.py:48
msgid "Paginator placement"
-msgstr "分页器放置"
+msgstr "分页器位置"
-#: netbox/preferences.py:50
+#: netbox/netbox/preferences.py:50
msgid "Bottom"
msgstr "底部"
-#: netbox/preferences.py:51
+#: netbox/netbox/preferences.py:51
msgid "Top"
msgstr "顶部"
-#: netbox/preferences.py:52
+#: netbox/netbox/preferences.py:52
msgid "Both"
-msgstr "两者都"
+msgstr "两者皆有"
-#: netbox/preferences.py:55
+#: netbox/netbox/preferences.py:55
msgid "Where the paginator controls will be displayed relative to a table"
msgstr "分页器控件相对于表格的显示位置"
-#: netbox/preferences.py:60
+#: netbox/netbox/preferences.py:60
msgid "Data format"
msgstr "数据格式"
-#: netbox/preferences.py:65
+#: netbox/netbox/preferences.py:65
msgid "The preferred syntax for displaying generic data within the UI"
-msgstr "在 UI 中显示通用数据的首选语法"
+msgstr "在UI中显示通用数据的首选语法"
-#: netbox/registry.py:14
+#: netbox/netbox/registry.py:14
#, python-brace-format
msgid "Invalid store: {key}"
-msgstr "商店无效: {key}"
+msgstr "无效商店: {key}"
-#: netbox/registry.py:17
+#: netbox/netbox/registry.py:17
msgid "Cannot add stores to registry after initialization"
-msgstr "初始化后无法将存储添加到注册表"
+msgstr "初始化后无法在注册表中添加存储空间"
-#: netbox/registry.py:20
+#: netbox/netbox/registry.py:20
msgid "Cannot delete stores from registry"
msgstr "无法从注册表中删除存储"
-#: netbox/settings.py:722
+#: netbox/netbox/settings.py:741
msgid "German"
msgstr "德语"
-#: netbox/settings.py:723
+#: netbox/netbox/settings.py:742
msgid "English"
msgstr "英语"
-#: netbox/settings.py:724
+#: netbox/netbox/settings.py:743
msgid "Spanish"
-msgstr "西班牙的"
+msgstr "西班牙语"
-#: netbox/settings.py:725
+#: netbox/netbox/settings.py:744
msgid "French"
msgstr "法语"
-#: netbox/settings.py:726
+#: netbox/netbox/settings.py:745
msgid "Japanese"
-msgstr "日本人"
+msgstr "日语"
-#: netbox/settings.py:727
+#: netbox/netbox/settings.py:746
msgid "Portuguese"
msgstr "葡萄牙语"
-#: netbox/settings.py:728
+#: netbox/netbox/settings.py:747
msgid "Russian"
-msgstr "俄国人"
+msgstr "俄语"
-#: netbox/settings.py:729
+#: netbox/netbox/settings.py:748
msgid "Turkish"
-msgstr "土耳其人"
+msgstr "土耳其语"
-#: netbox/settings.py:730
+#: netbox/netbox/settings.py:749
msgid "Ukrainian"
-msgstr "乌克兰人"
+msgstr "乌克兰语"
-#: netbox/settings.py:731
+#: netbox/netbox/settings.py:750
msgid "Chinese"
-msgstr "中国人"
+msgstr "中文"
-#: netbox/tables/columns.py:185
+#: netbox/netbox/tables/columns.py:188
msgid "Toggle all"
msgstr "全部切换"
-#: netbox/tables/columns.py:287
+#: netbox/netbox/tables/columns.py:290
msgid "Toggle Dropdown"
-msgstr "切换下拉列表"
+msgstr "切换下拉菜单"
-#: netbox/tables/columns.py:552 templates/core/job.html:35
+#: netbox/netbox/tables/columns.py:555 netbox/templates/core/job.html:35
msgid "Error"
msgstr "错误"
-#: netbox/tables/tables.py:57
+#: netbox/netbox/tables/tables.py:57
#, python-brace-format
msgid "No {model_name} found"
msgstr "没有 {model_name} 找到"
-#: netbox/tables/tables.py:248 templates/generic/bulk_import.html:117
+#: netbox/netbox/tables/tables.py:248
+#: netbox/templates/generic/bulk_import.html:117
msgid "Field"
-msgstr "字段"
+msgstr "现场"
-#: netbox/tables/tables.py:251
+#: netbox/netbox/tables/tables.py:251
msgid "Value"
-msgstr "价值"
+msgstr "数值"
-#: netbox/tests/dummy_plugin/navigation.py:29
+#: netbox/netbox/tests/dummy_plugin/navigation.py:29
msgid "Dummy Plugin"
msgstr "虚拟插件"
-#: netbox/views/generic/bulk_views.py:405
+#: netbox/netbox/views/generic/bulk_views.py:405
#, python-brace-format
msgid "Row {i}: Object with ID {id} does not exist"
-msgstr "行 {i}: 带有 ID 的对象 {id} 不存在"
+msgstr "第{i}行: ID为{id}的对象不存在"
-#: netbox/views/generic/feature_views.py:38
+#: netbox/netbox/views/generic/feature_views.py:38
msgid "Changelog"
msgstr "变更日志"
-#: netbox/views/generic/feature_views.py:91
+#: netbox/netbox/views/generic/feature_views.py:91
msgid "Journal"
-msgstr "日记"
+msgstr "日志"
-#: netbox/views/generic/object_views.py:106
+#: netbox/netbox/views/generic/object_views.py:108
#, python-brace-format
msgid "{class_name} must implement get_children()"
-msgstr "{class_name} 必须实现 get_children ()"
+msgstr "{class_name}必须实现get_children()方法"
-#: netbox/views/misc.py:43
+#: netbox/netbox/views/misc.py:43
msgid ""
"There was an error loading the dashboard configuration. A default dashboard "
"is in use."
-msgstr "加载仪表板配置时出错。正在使用默认仪表板。"
+msgstr "加载仪表盘配置时出错。正在使用默认仪表盘。"
-#: templates/403.html:4
+#: netbox/templates/403.html:4
msgid "Access Denied"
-msgstr "访问被拒绝"
+msgstr "拒绝访问"
-#: templates/403.html:9
+#: netbox/templates/403.html:9
msgid "You do not have permission to access this page"
-msgstr "您没有权限访问此页面"
+msgstr "你没有权限访问该页面"
-#: templates/404.html:4
+#: netbox/templates/404.html:4
msgid "Page Not Found"
-msgstr "未找到页面"
+msgstr "找不到页面"
-#: templates/404.html:9
+#: netbox/templates/404.html:9
msgid "The requested page does not exist"
msgstr "请求的页面不存在"
-#: templates/500.html:7 templates/500.html:18
+#: netbox/templates/500.html:7 netbox/templates/500.html:18
msgid "Server Error"
msgstr "服务器错误"
-#: templates/500.html:23
+#: netbox/templates/500.html:23
msgid "There was a problem with your request. Please contact an administrator"
-msgstr "您的请求有问题。请联系管理员"
+msgstr "您的请求有问题。 请联系管理员"
-#: templates/500.html:28
+#: netbox/templates/500.html:28
msgid "The complete exception is provided below"
-msgstr "完整的例外情况如下所示"
+msgstr "以下提供了完整的异常信息"
-#: templates/500.html:33 templates/core/system.html:35
+#: netbox/templates/500.html:33 netbox/templates/core/system.html:35
msgid "Python version"
msgstr "Python 版本"
-#: templates/500.html:34 templates/core/system.html:31
+#: netbox/templates/500.html:34 netbox/templates/core/system.html:31
msgid "NetBox version"
msgstr "NetBox 版本"
-#: templates/500.html:36
+#: netbox/templates/500.html:36
msgid "None installed"
-msgstr "未安装任何内容"
+msgstr "未安装"
-#: templates/500.html:39
+#: netbox/templates/500.html:39
msgid "If further assistance is required, please post to the"
-msgstr "如果需要进一步的帮助,请发帖到"
+msgstr "如果需要进一步帮助,请提交到"
-#: templates/500.html:39
+#: netbox/templates/500.html:39
msgid "NetBox discussion forum"
-msgstr "Netbox 讨论论坛"
+msgstr "NetBox论坛"
-#: templates/500.html:39
+#: netbox/templates/500.html:39
msgid "on GitHub"
-msgstr "GitHub"
+msgstr "在GitHub上"
-#: templates/500.html:42 templates/base/40x.html:17
+#: netbox/templates/500.html:42 netbox/templates/base/40x.html:17
msgid "Home Page"
-msgstr "主页页面"
+msgstr "主页"
-#: templates/account/base.html:7 templates/inc/user_menu.html:27
-#: vpn/forms/bulk_edit.py:255 vpn/forms/filtersets.py:189
-#: vpn/forms/model_forms.py:379
+#: netbox/templates/account/base.html:7 netbox/templates/inc/user_menu.html:27
+#: netbox/vpn/forms/bulk_edit.py:255 netbox/vpn/forms/filtersets.py:189
+#: netbox/vpn/forms/model_forms.py:379
msgid "Profile"
-msgstr "概况"
+msgstr "个人资料"
-#: templates/account/base.html:13 templates/inc/user_menu.html:33
+#: netbox/templates/account/base.html:13
+#: netbox/templates/inc/user_menu.html:33
msgid "Preferences"
msgstr "首选项"
-#: templates/account/password.html:5
+#: netbox/templates/account/password.html:5
msgid "Change Password"
-msgstr "更改密码"
+msgstr "修改密码"
-#: templates/account/password.html:17 templates/account/preferences.html:77
-#: templates/core/configrevision_restore.html:63
-#: templates/dcim/devicebay_populate.html:34
-#: templates/dcim/virtualchassis_add_member.html:26
-#: templates/dcim/virtualchassis_edit.html:103
-#: templates/extras/object_journal.html:26 templates/extras/script.html:38
-#: templates/generic/bulk_add_component.html:67
-#: templates/generic/bulk_delete.html:65 templates/generic/bulk_edit.html:106
-#: templates/generic/bulk_import.html:56 templates/generic/bulk_import.html:78
-#: templates/generic/bulk_import.html:100
-#: templates/generic/bulk_remove.html:62 templates/generic/bulk_rename.html:63
-#: templates/generic/confirmation_form.html:19
-#: templates/generic/object_edit.html:72 templates/htmx/delete_form.html:53
-#: templates/htmx/delete_form.html:55 templates/ipam/ipaddress_assign.html:28
-#: templates/virtualization/cluster_add_devices.html:30
+#: netbox/templates/account/password.html:17
+#: netbox/templates/account/preferences.html:77
+#: netbox/templates/core/configrevision_restore.html:63
+#: netbox/templates/dcim/devicebay_populate.html:34
+#: netbox/templates/dcim/virtualchassis_add_member.html:26
+#: netbox/templates/dcim/virtualchassis_edit.html:103
+#: netbox/templates/extras/object_journal.html:26
+#: netbox/templates/extras/script.html:38
+#: netbox/templates/generic/bulk_add_component.html:67
+#: netbox/templates/generic/bulk_delete.html:65
+#: netbox/templates/generic/bulk_edit.html:106
+#: netbox/templates/generic/bulk_import.html:56
+#: netbox/templates/generic/bulk_import.html:78
+#: netbox/templates/generic/bulk_import.html:100
+#: netbox/templates/generic/bulk_remove.html:62
+#: netbox/templates/generic/bulk_rename.html:63
+#: netbox/templates/generic/confirmation_form.html:19
+#: netbox/templates/generic/object_edit.html:72
+#: netbox/templates/htmx/delete_form.html:53
+#: netbox/templates/htmx/delete_form.html:55
+#: netbox/templates/ipam/ipaddress_assign.html:28
+#: netbox/templates/virtualization/cluster_add_devices.html:30
msgid "Cancel"
msgstr "取消"
-#: templates/account/password.html:18 templates/account/preferences.html:78
-#: templates/dcim/devicebay_populate.html:35
-#: templates/dcim/virtualchassis_add_member.html:28
-#: templates/dcim/virtualchassis_edit.html:105
-#: templates/extras/dashboard/widget_add.html:26
-#: templates/extras/dashboard/widget_config.html:19
-#: templates/extras/object_journal.html:27
-#: templates/generic/object_edit.html:75
-#: utilities/templates/helpers/applied_filters.html:16
-#: utilities/templates/helpers/table_config_form.html:40
+#: netbox/templates/account/password.html:18
+#: netbox/templates/account/preferences.html:78
+#: netbox/templates/dcim/devicebay_populate.html:35
+#: netbox/templates/dcim/virtualchassis_add_member.html:28
+#: netbox/templates/dcim/virtualchassis_edit.html:105
+#: netbox/templates/extras/dashboard/widget_add.html:26
+#: netbox/templates/extras/dashboard/widget_config.html:19
+#: netbox/templates/extras/object_journal.html:27
+#: netbox/templates/generic/object_edit.html:75
+#: netbox/utilities/templates/helpers/applied_filters.html:16
+#: netbox/utilities/templates/helpers/table_config_form.html:40
msgid "Save"
msgstr "保存"
-#: templates/account/preferences.html:34
+#: netbox/templates/account/preferences.html:34
msgid "Table Configurations"
-msgstr "表格配置"
+msgstr "配置查看列表"
-#: templates/account/preferences.html:39
+#: netbox/templates/account/preferences.html:39
msgid "Clear table preferences"
-msgstr "清除表格首选项"
+msgstr "清理列表自定义选项"
-#: templates/account/preferences.html:47
+#: netbox/templates/account/preferences.html:47
msgid "Toggle All"
msgstr "全部切换"
-#: templates/account/preferences.html:49
+#: netbox/templates/account/preferences.html:49
msgid "Table"
-msgstr "桌子"
+msgstr "列表"
-#: templates/account/preferences.html:50
+#: netbox/templates/account/preferences.html:50
msgid "Ordering"
-msgstr "订购"
+msgstr "订阅"
-#: templates/account/preferences.html:51
+#: netbox/templates/account/preferences.html:51
msgid "Columns"
msgstr "专栏"
-#: templates/account/preferences.html:71 templates/dcim/cable_trace.html:113
-#: templates/extras/object_configcontext.html:43
+#: netbox/templates/account/preferences.html:71
+#: netbox/templates/dcim/cable_trace.html:113
+#: netbox/templates/extras/object_configcontext.html:43
msgid "None found"
-msgstr "未找到"
+msgstr "未找到任何内容"
-#: templates/account/profile.html:6
+#: netbox/templates/account/profile.html:6
msgid "User Profile"
-msgstr "用户档案"
+msgstr "用户个人资料"
-#: templates/account/profile.html:12
+#: netbox/templates/account/profile.html:12
msgid "Account Details"
msgstr "账户详情"
-#: templates/account/profile.html:29 templates/tenancy/contact.html:43
-#: templates/users/user.html:25 tenancy/forms/bulk_edit.py:109
+#: netbox/templates/account/profile.html:29
+#: netbox/templates/tenancy/contact.html:43
+#: netbox/templates/users/user.html:25 netbox/tenancy/forms/bulk_edit.py:109
msgid "Email"
-msgstr "电子邮件"
+msgstr "电子邮箱"
-#: templates/account/profile.html:33 templates/users/user.html:29
+#: netbox/templates/account/profile.html:33
+#: netbox/templates/users/user.html:29
msgid "Account Created"
-msgstr "账户已创建"
+msgstr "创建账号"
-#: templates/account/profile.html:37 templates/users/user.html:33
+#: netbox/templates/account/profile.html:37
+#: netbox/templates/users/user.html:33
msgid "Last Login"
-msgstr "上次登录"
+msgstr "最后登录"
-#: templates/account/profile.html:41 templates/users/user.html:45
+#: netbox/templates/account/profile.html:41
+#: netbox/templates/users/user.html:45
msgid "Superuser"
-msgstr "超级用户"
+msgstr "超级管理员用户"
-#: templates/account/profile.html:45 templates/inc/user_menu.html:13
-#: templates/users/user.html:41
+#: netbox/templates/account/profile.html:45
+#: netbox/templates/inc/user_menu.html:13 netbox/templates/users/user.html:41
msgid "Staff"
-msgstr "员工"
+msgstr "工作人员"
-#: templates/account/profile.html:53 templates/users/objectpermission.html:82
-#: templates/users/user.html:53
+#: netbox/templates/account/profile.html:53
+#: netbox/templates/users/objectpermission.html:82
+#: netbox/templates/users/user.html:53
msgid "Assigned Groups"
-msgstr "分配的群组"
+msgstr "指定用户组"
-#: templates/account/profile.html:58
-#: templates/circuits/circuit_terminations_swap.html:18
-#: templates/circuits/circuit_terminations_swap.html:26
-#: templates/circuits/circuittermination.html:34
-#: templates/circuits/inc/circuit_termination.html:68
-#: templates/dcim/devicebay.html:59
-#: templates/dcim/inc/panels/inventory_items.html:45
-#: templates/dcim/interface.html:296 templates/dcim/modulebay.html:76
-#: templates/extras/configcontext.html:70 templates/extras/eventrule.html:72
-#: templates/extras/htmx/script_result.html:56
-#: templates/extras/objectchange.html:123
-#: templates/extras/objectchange.html:141 templates/extras/webhook.html:67
-#: templates/extras/webhook.html:79 templates/inc/panel_table.html:13
-#: templates/inc/panels/comments.html:12
-#: templates/ipam/inc/panels/fhrp_groups.html:56 templates/users/group.html:34
-#: templates/users/group.html:44 templates/users/objectpermission.html:77
-#: templates/users/objectpermission.html:87 templates/users/user.html:58
-#: templates/users/user.html:68
+#: netbox/templates/account/profile.html:58
+#: netbox/templates/circuits/circuit_terminations_swap.html:18
+#: netbox/templates/circuits/circuit_terminations_swap.html:26
+#: netbox/templates/circuits/circuittermination.html:34
+#: netbox/templates/circuits/inc/circuit_termination.html:68
+#: netbox/templates/dcim/devicebay.html:59
+#: netbox/templates/dcim/inc/panels/inventory_items.html:45
+#: netbox/templates/dcim/interface.html:296
+#: netbox/templates/dcim/modulebay.html:76
+#: netbox/templates/extras/configcontext.html:70
+#: netbox/templates/extras/eventrule.html:72
+#: netbox/templates/extras/htmx/script_result.html:56
+#: netbox/templates/extras/objectchange.html:124
+#: netbox/templates/extras/objectchange.html:142
+#: netbox/templates/extras/webhook.html:67
+#: netbox/templates/extras/webhook.html:79
+#: netbox/templates/inc/panel_table.html:13
+#: netbox/templates/inc/panels/comments.html:12
+#: netbox/templates/ipam/inc/panels/fhrp_groups.html:56
+#: netbox/templates/users/group.html:34 netbox/templates/users/group.html:44
+#: netbox/templates/users/objectpermission.html:77
+#: netbox/templates/users/objectpermission.html:87
+#: netbox/templates/users/user.html:58 netbox/templates/users/user.html:68
msgid "None"
msgstr "无"
-#: templates/account/profile.html:68 templates/users/user.html:78
+#: netbox/templates/account/profile.html:68
+#: netbox/templates/users/user.html:78
msgid "Recent Activity"
-msgstr "最近的活动"
+msgstr "近期活动"
-#: templates/account/token.html:8 templates/account/token_list.html:6
+#: netbox/templates/account/token.html:8
+#: netbox/templates/account/token_list.html:6
msgid "My API Tokens"
-msgstr "我的 API 代币"
+msgstr "我的 API Tokens"
-#: templates/account/token.html:11 templates/account/token.html:19
-#: templates/users/token.html:6 templates/users/token.html:14
-#: users/forms/filtersets.py:121
+#: netbox/templates/account/token.html:11
+#: netbox/templates/account/token.html:19 netbox/templates/users/token.html:6
+#: netbox/templates/users/token.html:14 netbox/users/forms/filtersets.py:121
msgid "Token"
-msgstr "代币"
+msgstr "Token"
-#: templates/account/token.html:39 templates/users/token.html:31
-#: users/forms/bulk_edit.py:107
+#: netbox/templates/account/token.html:39 netbox/templates/users/token.html:31
+#: netbox/users/forms/bulk_edit.py:107
msgid "Write enabled"
-msgstr "写入已启用"
+msgstr "启用写入"
-#: templates/account/token.html:51 templates/users/token.html:43
+#: netbox/templates/account/token.html:51 netbox/templates/users/token.html:43
msgid "Last used"
-msgstr "上次使用"
+msgstr "最后使用"
-#: templates/account/token_list.html:12
+#: netbox/templates/account/token_list.html:12
msgid "Add a Token"
-msgstr "添加代币"
+msgstr "增加一个 Token"
-#: templates/base/base.html:18 templates/home.html:27
+#: netbox/templates/base/base.html:18 netbox/templates/home.html:27
msgid "Home"
msgstr "主页"
-#: templates/base/layout.html:32
+#: netbox/templates/base/layout.html:32
msgid "NetBox Logo"
-msgstr "NetBox 徽标"
+msgstr "NetBox Logo"
-#: templates/base/layout.html:56
-msgid "Enable dark mode"
-msgstr "启用暗黑模式"
-
-#: templates/base/layout.html:59
-msgid "Enable light mode"
-msgstr "启用灯光模式"
-
-#: templates/base/layout.html:145
+#: netbox/templates/base/layout.html:139
msgid "Docs"
msgstr "文档"
-#: templates/base/layout.html:151 templates/rest_framework/api.html:10
+#: netbox/templates/base/layout.html:145
+#: netbox/templates/rest_framework/api.html:10
msgid "REST API"
-msgstr "休息 API"
+msgstr "REST API"
-#: templates/base/layout.html:157
+#: netbox/templates/base/layout.html:151
msgid "REST API documentation"
msgstr "REST API 文档"
-#: templates/base/layout.html:164
+#: netbox/templates/base/layout.html:158
msgid "GraphQL API"
msgstr "GraphQL API"
-#: templates/base/layout.html:171
+#: netbox/templates/base/layout.html:165
msgid "Source Code"
msgstr "源代码"
-#: templates/base/layout.html:177
+#: netbox/templates/base/layout.html:171
msgid "Community"
msgstr "社区"
-#: templates/circuits/circuit.html:47
+#: netbox/templates/circuits/circuit.html:47
msgid "Install Date"
-msgstr "安装日期"
+msgstr "安装时间"
-#: templates/circuits/circuit.html:51
+#: netbox/templates/circuits/circuit.html:51
msgid "Termination Date"
-msgstr "终止日期"
+msgstr "维护模式"
-#: templates/circuits/circuit_terminations_swap.html:4
+#: netbox/templates/circuits/circuit_terminations_swap.html:4
msgid "Swap Circuit Terminations"
-msgstr "交换电路终端"
+msgstr "交换线路终点"
-#: templates/circuits/circuit_terminations_swap.html:8
+#: netbox/templates/circuits/circuit_terminations_swap.html:8
#, python-format
msgid "Swap these terminations for circuit %(circuit)s?"
-msgstr "将这些终端换成电路 %(circuit)s?"
+msgstr "将这些终结换成线路 %(circuit)s?"
-#: templates/circuits/circuit_terminations_swap.html:14
+#: netbox/templates/circuits/circuit_terminations_swap.html:14
msgid "A side"
-msgstr "一面"
+msgstr "A端"
-#: templates/circuits/circuit_terminations_swap.html:22
+#: netbox/templates/circuits/circuit_terminations_swap.html:22
msgid "Z side"
-msgstr "Z 面"
+msgstr "Z端"
-#: templates/circuits/circuittype.html:10
+#: netbox/templates/circuits/circuittype.html:10
msgid "Add Circuit"
-msgstr "添加电路"
+msgstr "增加线路"
-#: templates/circuits/circuittype.html:19
+#: netbox/templates/circuits/circuittype.html:19
msgid "Circuit Type"
-msgstr "电路类型"
+msgstr "线路类型"
-#: templates/circuits/inc/circuit_termination.html:10
-#: templates/dcim/devicetype/component_templates.html:33
-#: templates/dcim/manufacturer.html:11
-#: templates/dcim/moduletype/component_templates.html:29
-#: templates/generic/bulk_add_component.html:22
-#: templates/users/objectpermission.html:38
-#: utilities/templates/buttons/add.html:4
-#: utilities/templates/helpers/table_config_form.html:20
+#: netbox/templates/circuits/inc/circuit_termination.html:10
+#: netbox/templates/dcim/devicetype/component_templates.html:33
+#: netbox/templates/dcim/manufacturer.html:11
+#: netbox/templates/dcim/moduletype/component_templates.html:29
+#: netbox/templates/generic/bulk_add_component.html:22
+#: netbox/templates/users/objectpermission.html:38
+#: netbox/utilities/templates/buttons/add.html:4
+#: netbox/utilities/templates/helpers/table_config_form.html:20
msgid "Add"
msgstr "添加"
-#: templates/circuits/inc/circuit_termination.html:15
-#: templates/circuits/inc/circuit_termination_fields.html:36
-#: templates/dcim/inc/panels/inventory_items.html:32
-#: templates/dcim/moduletype/component_templates.html:20
-#: templates/dcim/powerpanel.html:56 templates/extras/script_list.html:32
-#: templates/generic/object_edit.html:47
-#: templates/ipam/inc/ipaddress_edit_header.html:7
-#: templates/ipam/inc/panels/fhrp_groups.html:43
-#: utilities/templates/buttons/edit.html:3
+#: netbox/templates/circuits/inc/circuit_termination.html:15
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:36
+#: netbox/templates/dcim/inc/panels/inventory_items.html:32
+#: netbox/templates/dcim/moduletype/component_templates.html:20
+#: netbox/templates/dcim/powerpanel.html:56
+#: netbox/templates/extras/script_list.html:32
+#: netbox/templates/generic/object_edit.html:47
+#: netbox/templates/ipam/inc/ipaddress_edit_header.html:7
+#: netbox/templates/ipam/inc/panels/fhrp_groups.html:43
+#: netbox/utilities/templates/buttons/edit.html:3
msgid "Edit"
msgstr "编辑"
-#: templates/circuits/inc/circuit_termination.html:18
+#: netbox/templates/circuits/inc/circuit_termination.html:18
msgid "Swap"
msgstr "交换"
-#: templates/circuits/inc/circuit_termination_fields.html:19
-#: templates/dcim/consoleport.html:59 templates/dcim/consoleserverport.html:60
-#: templates/dcim/powerfeed.html:114
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:19
+#: netbox/templates/dcim/consoleport.html:59
+#: netbox/templates/dcim/consoleserverport.html:60
+#: netbox/templates/dcim/powerfeed.html:114
msgid "Marked as connected"
-msgstr "标记为已连接"
+msgstr "标记已连接"
-#: templates/circuits/inc/circuit_termination_fields.html:21
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:21
msgid "to"
msgstr "到"
-#: templates/circuits/inc/circuit_termination_fields.html:31
-#: templates/circuits/inc/circuit_termination_fields.html:32
-#: templates/dcim/frontport.html:80
-#: templates/dcim/inc/connection_endpoints.html:7
-#: templates/dcim/interface.html:154 templates/dcim/rearport.html:76
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:31
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:32
+#: netbox/templates/dcim/frontport.html:80
+#: netbox/templates/dcim/inc/connection_endpoints.html:7
+#: netbox/templates/dcim/interface.html:154
+#: netbox/templates/dcim/rearport.html:76
msgid "Trace"
-msgstr "追踪"
+msgstr "跟踪"
-#: templates/circuits/inc/circuit_termination_fields.html:35
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:35
msgid "Edit cable"
-msgstr "编辑电缆"
+msgstr "编辑线缆"
-#: templates/circuits/inc/circuit_termination_fields.html:40
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:40
msgid "Remove cable"
-msgstr "拆下电缆"
+msgstr "删除线缆"
-#: templates/circuits/inc/circuit_termination_fields.html:41
-#: templates/dcim/bulk_disconnect.html:5
-#: templates/dcim/device/consoleports.html:12
-#: templates/dcim/device/consoleserverports.html:12
-#: templates/dcim/device/frontports.html:12
-#: templates/dcim/device/interfaces.html:16
-#: templates/dcim/device/poweroutlets.html:12
-#: templates/dcim/device/powerports.html:12
-#: templates/dcim/device/rearports.html:12 templates/dcim/powerpanel.html:61
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:41
+#: netbox/templates/dcim/bulk_disconnect.html:5
+#: netbox/templates/dcim/device/consoleports.html:12
+#: netbox/templates/dcim/device/consoleserverports.html:12
+#: netbox/templates/dcim/device/frontports.html:12
+#: netbox/templates/dcim/device/interfaces.html:16
+#: netbox/templates/dcim/device/poweroutlets.html:12
+#: netbox/templates/dcim/device/powerports.html:12
+#: netbox/templates/dcim/device/rearports.html:12
+#: netbox/templates/dcim/powerpanel.html:61
msgid "Disconnect"
-msgstr "断开连接"
+msgstr "断开"
-#: templates/circuits/inc/circuit_termination_fields.html:48
-#: templates/dcim/consoleport.html:69 templates/dcim/consoleserverport.html:70
-#: templates/dcim/frontport.html:102 templates/dcim/interface.html:180
-#: templates/dcim/interface.html:200 templates/dcim/powerfeed.html:127
-#: templates/dcim/poweroutlet.html:71 templates/dcim/poweroutlet.html:72
-#: templates/dcim/powerport.html:73 templates/dcim/rearport.html:98
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:48
+#: netbox/templates/dcim/consoleport.html:69
+#: netbox/templates/dcim/consoleserverport.html:70
+#: netbox/templates/dcim/frontport.html:102
+#: netbox/templates/dcim/interface.html:180
+#: netbox/templates/dcim/interface.html:200
+#: netbox/templates/dcim/powerfeed.html:127
+#: netbox/templates/dcim/poweroutlet.html:71
+#: netbox/templates/dcim/poweroutlet.html:72
+#: netbox/templates/dcim/powerport.html:73
+#: netbox/templates/dcim/rearport.html:98
msgid "Connect"
msgstr "连接"
-#: templates/circuits/inc/circuit_termination_fields.html:70
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:70
msgid "Downstream"
msgstr "下游"
-#: templates/circuits/inc/circuit_termination_fields.html:71
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:71
msgid "Upstream"
msgstr "上游"
-#: templates/circuits/inc/circuit_termination_fields.html:80
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:80
msgid "Cross-Connect"
msgstr "交叉连接"
-#: templates/circuits/inc/circuit_termination_fields.html:84
+#: netbox/templates/circuits/inc/circuit_termination_fields.html:84
msgid "Patch Panel/Port"
msgstr "配线架/端口"
-#: templates/circuits/provider.html:11
+#: netbox/templates/circuits/provider.html:11
msgid "Add circuit"
-msgstr "添加电路"
+msgstr "添加线路"
-#: templates/circuits/provideraccount.html:17
+#: netbox/templates/circuits/provideraccount.html:17
msgid "Provider Account"
-msgstr "提供商账户"
+msgstr "运营商帐户"
-#: templates/core/configrevision.html:35
+#: netbox/templates/core/configrevision.html:35
msgid "Configuration Data"
msgstr "配置数据"
-#: templates/core/configrevision.html:40
+#: netbox/templates/core/configrevision.html:40
msgid "Comment"
msgstr "评论"
-#: templates/core/configrevision_restore.html:8
-#: templates/core/configrevision_restore.html:25
-#: templates/core/configrevision_restore.html:64
+#: netbox/templates/core/configrevision_restore.html:8
+#: netbox/templates/core/configrevision_restore.html:25
+#: netbox/templates/core/configrevision_restore.html:64
msgid "Restore"
-msgstr "恢复"
+msgstr "还原"
-#: templates/core/configrevision_restore.html:36
+#: netbox/templates/core/configrevision_restore.html:36
msgid "Parameter"
msgstr "参数"
-#: templates/core/configrevision_restore.html:37
+#: netbox/templates/core/configrevision_restore.html:37
msgid "Current Value"
-msgstr "当前值"
+msgstr "当前变量"
-#: templates/core/configrevision_restore.html:38
+#: netbox/templates/core/configrevision_restore.html:38
msgid "New Value"
-msgstr "新价值"
+msgstr "新变量"
-#: templates/core/configrevision_restore.html:50
+#: netbox/templates/core/configrevision_restore.html:50
msgid "Changed"
msgstr "已更改"
-#: templates/core/datafile.html:38
+#: netbox/templates/core/datafile.html:38
msgid "Last Updated"
-msgstr "上次更新时间"
+msgstr "最后更新"
-#: templates/core/datafile.html:42 templates/ipam/iprange.html:25
-#: templates/virtualization/virtualdisk.html:29
+#: netbox/templates/core/datafile.html:42
+#: netbox/templates/ipam/iprange.html:25
+#: netbox/templates/virtualization/virtualdisk.html:29
msgid "Size"
msgstr "大小"
-#: templates/core/datafile.html:43
+#: netbox/templates/core/datafile.html:43
msgid "bytes"
-msgstr "字节"
+msgstr "bytes"
-#: templates/core/datafile.html:46
+#: netbox/templates/core/datafile.html:46
msgid "SHA256 Hash"
-msgstr "SHA256 哈希"
+msgstr "SHA256 Hash"
-#: templates/core/datasource.html:14 templates/core/datasource.html:20
-#: utilities/templates/buttons/sync.html:5
+#: netbox/templates/core/datasource.html:14
+#: netbox/templates/core/datasource.html:20
+#: netbox/utilities/templates/buttons/sync.html:5
msgid "Sync"
msgstr "同步"
-#: templates/core/datasource.html:50
+#: netbox/templates/core/datasource.html:50
msgid "Last synced"
-msgstr "上次同步"
+msgstr "最后同步"
-#: templates/core/datasource.html:84
+#: netbox/templates/core/datasource.html:84
msgid "Backend"
-msgstr "后端"
+msgstr "后台"
-#: templates/core/datasource.html:99
+#: netbox/templates/core/datasource.html:99
msgid "No parameters defined"
-msgstr "未定义任何参数"
+msgstr "未定义参数"
-#: templates/core/datasource.html:114
+#: netbox/templates/core/datasource.html:114
msgid "Files"
-msgstr "档案"
+msgstr "文件"
-#: templates/core/inc/config_data.html:7
+#: netbox/templates/core/inc/config_data.html:7
msgid "Rack elevations"
-msgstr "机架高度"
+msgstr "机柜立面图"
-#: templates/core/inc/config_data.html:10
+#: netbox/templates/core/inc/config_data.html:10
msgid "Default unit height"
-msgstr "默认单位高度"
+msgstr "默认U位高度"
-#: templates/core/inc/config_data.html:14
+#: netbox/templates/core/inc/config_data.html:14
msgid "Default unit width"
-msgstr "默认单位宽度"
+msgstr "默认U位宽度"
-#: templates/core/inc/config_data.html:20
+#: netbox/templates/core/inc/config_data.html:20
msgid "Power feeds"
-msgstr "供电"
+msgstr "供电线路"
-#: templates/core/inc/config_data.html:23
+#: netbox/templates/core/inc/config_data.html:23
msgid "Default voltage"
msgstr "默认电压"
-#: templates/core/inc/config_data.html:27
+#: netbox/templates/core/inc/config_data.html:27
msgid "Default amperage"
-msgstr "默认安培数"
+msgstr "默认电流"
-#: templates/core/inc/config_data.html:31
+#: netbox/templates/core/inc/config_data.html:31
msgid "Default max utilization"
-msgstr "默认最大利用率"
+msgstr "默认最高功率"
-#: templates/core/inc/config_data.html:40
+#: netbox/templates/core/inc/config_data.html:40
msgid "Enforce global unique"
-msgstr "强制执行全局唯一"
+msgstr "执行全局唯一"
-#: templates/core/inc/config_data.html:83
+#: netbox/templates/core/inc/config_data.html:83
msgid "Paginate count"
-msgstr "分页数"
+msgstr "分页数量"
-#: templates/core/inc/config_data.html:87
+#: netbox/templates/core/inc/config_data.html:87
msgid "Max page size"
msgstr "最大页面大小"
-#: templates/core/inc/config_data.html:114
+#: netbox/templates/core/inc/config_data.html:114
msgid "User preferences"
-msgstr "用户偏好"
+msgstr "用户首选项"
-#: templates/core/inc/config_data.html:141
+#: netbox/templates/core/inc/config_data.html:141
msgid "Job retention"
-msgstr "留住工作"
+msgstr "任务保留"
-#: templates/core/job.html:17 templates/core/rq_task.html:12
-#: templates/core/rq_task.html:49 templates/core/rq_task.html:58
+#: netbox/templates/core/job.html:17 netbox/templates/core/rq_task.html:12
+#: netbox/templates/core/rq_task.html:49 netbox/templates/core/rq_task.html:58
msgid "Job"
-msgstr "工作"
+msgstr "任务"
-#: templates/core/job.html:40 templates/extras/journalentry.html:26
+#: netbox/templates/core/job.html:40
+#: netbox/templates/extras/journalentry.html:26
msgid "Created By"
msgstr "创建者"
-#: templates/core/job.html:48
+#: netbox/templates/core/job.html:48
msgid "Scheduling"
msgstr "日程安排"
-#: templates/core/job.html:59
+#: netbox/templates/core/job.html:59
#, python-format
msgid "every %(interval)s minutes"
-msgstr "每个 %(interval)s 分钟"
+msgstr "每 %(interval)s 分钟"
-#: templates/core/rq_queue_list.html:5 templates/core/rq_queue_list.html:13
-#: templates/core/rq_task_list.html:14 templates/core/rq_worker.html:7
+#: netbox/templates/core/rq_queue_list.html:5
+#: netbox/templates/core/rq_queue_list.html:13
+#: netbox/templates/core/rq_task_list.html:14
+#: netbox/templates/core/rq_worker.html:7
msgid "Background Queues"
msgstr "后台队列"
-#: templates/core/rq_queue_list.html:24 templates/core/rq_queue_list.html:25
-#: templates/core/rq_worker_list.html:44 templates/core/rq_worker_list.html:45
-#: templates/extras/script_result.html:49
-#: templates/extras/script_result.html:51
-#: templates/inc/table_controls_htmx.html:18
-#: templates/inc/table_controls_htmx.html:20
+#: netbox/templates/core/rq_queue_list.html:24
+#: netbox/templates/core/rq_queue_list.html:25
+#: netbox/templates/core/rq_worker_list.html:44
+#: netbox/templates/core/rq_worker_list.html:45
+#: netbox/templates/extras/script_result.html:49
+#: netbox/templates/extras/script_result.html:51
+#: netbox/templates/inc/table_controls_htmx.html:30
+#: netbox/templates/inc/table_controls_htmx.html:33
msgid "Configure Table"
-msgstr "配置表"
+msgstr "列设置"
-#: templates/core/rq_task.html:29
+#: netbox/templates/core/rq_task.html:29
msgid "Stop"
-msgstr "停下来"
+msgstr "停止"
-#: templates/core/rq_task.html:34
+#: netbox/templates/core/rq_task.html:34
msgid "Requeue"
-msgstr "Requeue"
+msgstr "请求"
-#: templates/core/rq_task.html:39
+#: netbox/templates/core/rq_task.html:39
msgid "Enqueue"
msgstr "排队"
-#: templates/core/rq_task.html:61
+#: netbox/templates/core/rq_task.html:61
msgid "Queue"
msgstr "队列"
-#: templates/core/rq_task.html:65
+#: netbox/templates/core/rq_task.html:65
msgid "Timeout"
msgstr "超时"
-#: templates/core/rq_task.html:69
+#: netbox/templates/core/rq_task.html:69
msgid "Result TTL"
-msgstr "结果 TTL"
+msgstr "TTL结果"
-#: templates/core/rq_task.html:89
+#: netbox/templates/core/rq_task.html:89
msgid "Meta"
-msgstr "Meta"
+msgstr "元数据"
-#: templates/core/rq_task.html:93
+#: netbox/templates/core/rq_task.html:93
msgid "Arguments"
-msgstr "论点"
+msgstr "参数"
-#: templates/core/rq_task.html:97
+#: netbox/templates/core/rq_task.html:97
msgid "Keyword Arguments"
-msgstr "关键字参数"
+msgstr "关键参数"
-#: templates/core/rq_task.html:103
+#: netbox/templates/core/rq_task.html:103
msgid "Depends on"
msgstr "取决于"
-#: templates/core/rq_task.html:109
+#: netbox/templates/core/rq_task.html:109
msgid "Exception"
msgstr "例外"
-#: templates/core/rq_task_list.html:28
+#: netbox/templates/core/rq_task_list.html:28
msgid "tasks in "
-msgstr "中的任务 "
+msgstr "任务进行中"
-#: templates/core/rq_task_list.html:33
+#: netbox/templates/core/rq_task_list.html:33
msgid "Queued Jobs"
-msgstr "排队的作业"
+msgstr "排队中的任务"
-#: templates/core/rq_task_list.html:64 templates/extras/script_result.html:68
+#: netbox/templates/core/rq_task_list.html:64
+#: netbox/templates/extras/script_result.html:68
#, python-format
msgid ""
"Select all %(count)s %(object_type_plural)s matching query"
-msgstr "选择 所有 %(count)s %(object_type_plural)s 匹配查询"
+msgstr "选择 所有的 %(count)s 个 %(object_type_plural)s 进行查找"
-#: templates/core/rq_worker.html:10
+#: netbox/templates/core/rq_worker.html:10
msgid "Worker Info"
-msgstr "工人信息"
+msgstr "任务信息"
-#: templates/core/rq_worker.html:31 templates/core/rq_worker.html:40
+#: netbox/templates/core/rq_worker.html:31
+#: netbox/templates/core/rq_worker.html:40
msgid "Worker"
-msgstr "工人"
+msgstr "Worker"
-#: templates/core/rq_worker.html:55
+#: netbox/templates/core/rq_worker.html:55
msgid "Queues"
msgstr "队列"
-#: templates/core/rq_worker.html:63
+#: netbox/templates/core/rq_worker.html:63
msgid "Curent Job"
-msgstr "目前的工作"
+msgstr "当前任务"
-#: templates/core/rq_worker.html:67
+#: netbox/templates/core/rq_worker.html:67
msgid "Successful job count"
-msgstr "成功的任务数"
+msgstr "完成的任务数"
-#: templates/core/rq_worker.html:71
+#: netbox/templates/core/rq_worker.html:71
msgid "Failed job count"
msgstr "失败的任务数"
-#: templates/core/rq_worker.html:75
+#: netbox/templates/core/rq_worker.html:75
msgid "Total working time"
-msgstr "总工作时间"
+msgstr "任务总计时长"
-#: templates/core/rq_worker.html:76
+#: netbox/templates/core/rq_worker.html:76
msgid "seconds"
msgstr "秒"
-#: templates/core/rq_worker_list.html:13 templates/core/rq_worker_list.html:21
+#: netbox/templates/core/rq_worker_list.html:13
+#: netbox/templates/core/rq_worker_list.html:21
msgid "Background Workers"
-msgstr "后台工作人员"
+msgstr "后台任务"
-#: templates/core/rq_worker_list.html:27
+#: netbox/templates/core/rq_worker_list.html:27
msgid "Workers in "
-msgstr "工人在 "
+msgstr "工作中"
-#: templates/core/system.html:11 utilities/templates/buttons/export.html:4
+#: netbox/templates/core/system.html:11
+#: netbox/utilities/templates/buttons/export.html:4
msgid "Export"
-msgstr "出口"
+msgstr "导出"
-#: templates/core/system.html:28
+#: netbox/templates/core/system.html:28
msgid "System Status"
msgstr "系统状态"
-#: templates/core/system.html:39
+#: netbox/templates/core/system.html:39
msgid "Django version"
-msgstr "Django 版本"
+msgstr "Django版本"
-#: templates/core/system.html:43
+#: netbox/templates/core/system.html:43
msgid "PostgreSQL version"
msgstr "PostgreSQL 版本"
-#: templates/core/system.html:47
+#: netbox/templates/core/system.html:47
msgid "Database name"
-msgstr "数据库名"
+msgstr "数据库名称"
-#: templates/core/system.html:51
+#: netbox/templates/core/system.html:51
msgid "Database size"
msgstr "数据库大小"
-#: templates/core/system.html:56
+#: netbox/templates/core/system.html:56
msgid "Unavailable"
msgstr "不可用"
-#: templates/core/system.html:61
+#: netbox/templates/core/system.html:61
msgid "RQ workers"
-msgstr "RQ 工作人员"
+msgstr "RQ workers"
-#: templates/core/system.html:64
+#: netbox/templates/core/system.html:64
msgid "default queue"
msgstr "默认队列"
-#: templates/core/system.html:68
+#: netbox/templates/core/system.html:68
msgid "System time"
msgstr "系统时间"
-#: templates/core/system.html:90
+#: netbox/templates/core/system.html:90
msgid "Current Configuration"
msgstr "当前配置"
-#: templates/dcim/bulk_disconnect.html:9
+#: netbox/templates/dcim/bulk_disconnect.html:9
#, python-format
msgid ""
"Are you sure you want to disconnect these %(count)s %(obj_type_plural)s?"
-msgstr "你确定要断开这些连接吗 %(count)s %(obj_type_plural)s?"
+msgstr "您确定要断开这些连接 %(count)s %(obj_type_plural)s?"
-#: templates/dcim/cable_trace.html:10
+#: netbox/templates/dcim/cable_trace.html:10
#, python-format
msgid "Cable Trace for %(object_type)s %(object)s"
-msgstr "电缆追踪 %(object_type)s %(object)s"
+msgstr "电缆走线用于 %(object_type)s %(object)s"
-#: templates/dcim/cable_trace.html:24 templates/dcim/inc/rack_elevation.html:7
+#: netbox/templates/dcim/cable_trace.html:24
+#: netbox/templates/dcim/inc/rack_elevation.html:7
msgid "Download SVG"
-msgstr "下载 SVG"
+msgstr "下载 SVG文件"
-#: templates/dcim/cable_trace.html:30
+#: netbox/templates/dcim/cable_trace.html:30
msgid "Asymmetric Path"
msgstr "非对称路径"
-#: templates/dcim/cable_trace.html:31
+#: netbox/templates/dcim/cable_trace.html:31
msgid "The nodes below have no links and result in an asymmetric path"
-msgstr "下面的节点没有链接,导致路径不对称"
+msgstr "下面的节点没有链接,因此路径不对称"
-#: templates/dcim/cable_trace.html:38
+#: netbox/templates/dcim/cable_trace.html:38
msgid "Path split"
-msgstr "路径分割"
+msgstr "(意见) 分歧"
-#: templates/dcim/cable_trace.html:39
+#: netbox/templates/dcim/cable_trace.html:39
msgid "Select a node below to continue"
-msgstr "选择下面的节点继续"
+msgstr "选择以下节点继续"
-#: templates/dcim/cable_trace.html:55
+#: netbox/templates/dcim/cable_trace.html:55
msgid "Trace Completed"
-msgstr "追踪已完成"
+msgstr "跟踪已完成"
-#: templates/dcim/cable_trace.html:58
+#: netbox/templates/dcim/cable_trace.html:58
msgid "Total segments"
-msgstr "分段总数"
+msgstr "总分段"
-#: templates/dcim/cable_trace.html:62
+#: netbox/templates/dcim/cable_trace.html:62
msgid "Total length"
-msgstr "总长度"
+msgstr "总计长度"
-#: templates/dcim/cable_trace.html:77
+#: netbox/templates/dcim/cable_trace.html:77
msgid "No paths found"
msgstr "未找到路径"
-#: templates/dcim/cable_trace.html:85
+#: netbox/templates/dcim/cable_trace.html:85
msgid "Related Paths"
-msgstr "相关路径"
+msgstr "关联路径"
-#: templates/dcim/cable_trace.html:89
+#: netbox/templates/dcim/cable_trace.html:89
msgid "Origin"
-msgstr "起源"
+msgstr "源"
-#: templates/dcim/cable_trace.html:90
+#: netbox/templates/dcim/cable_trace.html:90
msgid "Destination"
-msgstr "目的地"
+msgstr "目的"
-#: templates/dcim/cable_trace.html:91
+#: netbox/templates/dcim/cable_trace.html:91
msgid "Segments"
-msgstr "细分市场"
+msgstr "分隔符"
-#: templates/dcim/cable_trace.html:104
+#: netbox/templates/dcim/cable_trace.html:104
msgid "Incomplete"
-msgstr "不完整"
+msgstr "未完成"
-#: templates/dcim/component_list.html:14
+#: netbox/templates/dcim/component_list.html:14
msgid "Rename Selected"
-msgstr "重命名所选"
+msgstr "重命名选中项"
-#: templates/dcim/consoleport.html:65 templates/dcim/consoleserverport.html:66
-#: templates/dcim/frontport.html:98 templates/dcim/interface.html:176
-#: templates/dcim/poweroutlet.html:69 templates/dcim/powerport.html:69
+#: netbox/templates/dcim/consoleport.html:65
+#: netbox/templates/dcim/consoleserverport.html:66
+#: netbox/templates/dcim/frontport.html:98
+#: netbox/templates/dcim/interface.html:176
+#: netbox/templates/dcim/poweroutlet.html:69
+#: netbox/templates/dcim/powerport.html:69
msgid "Not Connected"
msgstr "未连接"
-#: templates/dcim/device.html:33
+#: netbox/templates/dcim/device.html:34
msgid "Highlight device in rack"
msgstr "突出显示机架中的设备"
-#: templates/dcim/device.html:54
+#: netbox/templates/dcim/device.html:55
msgid "Not racked"
-msgstr "不是架子上的"
+msgstr "未上架"
-#: templates/dcim/device.html:61 templates/dcim/site.html:93
+#: netbox/templates/dcim/device.html:62 netbox/templates/dcim/site.html:94
msgid "GPS Coordinates"
-msgstr "GPS 坐标"
+msgstr "GPS坐标"
-#: templates/dcim/device.html:67 templates/dcim/site.html:99
+#: netbox/templates/dcim/device.html:68 netbox/templates/dcim/site.html:100
msgid "Map It"
-msgstr "绘制地图"
+msgstr "在地图中定位"
-#: templates/dcim/device.html:107 templates/dcim/inventoryitem.html:56
-#: templates/dcim/module.html:78 templates/dcim/modulebay.html:70
-#: templates/dcim/rack.html:59
+#: netbox/templates/dcim/device.html:108
+#: netbox/templates/dcim/inventoryitem.html:56
+#: netbox/templates/dcim/module.html:78
+#: netbox/templates/dcim/modulebay.html:70 netbox/templates/dcim/rack.html:59
msgid "Asset Tag"
msgstr "资产标签"
-#: templates/dcim/device.html:122
+#: netbox/templates/dcim/device.html:123
msgid "View Virtual Chassis"
-msgstr "查看虚拟机箱"
+msgstr "查看堆叠设备"
-#: templates/dcim/device.html:161
+#: netbox/templates/dcim/device.html:164
msgid "Create VDC"
-msgstr "创建 VDC"
+msgstr "创建VDC"
-#: templates/dcim/device.html:172 templates/dcim/device_edit.html:64
-#: virtualization/forms/model_forms.py:223
+#: netbox/templates/dcim/device.html:175
+#: netbox/templates/dcim/device_edit.html:64
+#: netbox/virtualization/forms/model_forms.py:223
msgid "Management"
msgstr "管理"
-#: templates/dcim/device.html:192 templates/dcim/device.html:208
-#: templates/virtualization/virtualmachine.html:53
-#: templates/virtualization/virtualmachine.html:69
+#: netbox/templates/dcim/device.html:195 netbox/templates/dcim/device.html:211
+#: netbox/templates/dcim/device.html:227
+#: netbox/templates/virtualization/virtualmachine.html:53
+#: netbox/templates/virtualization/virtualmachine.html:69
msgid "NAT for"
-msgstr "NAT 用于"
+msgstr "NAT for"
-#: templates/dcim/device.html:194 templates/dcim/device.html:210
-#: templates/virtualization/virtualmachine.html:55
-#: templates/virtualization/virtualmachine.html:71
+#: netbox/templates/dcim/device.html:197 netbox/templates/dcim/device.html:213
+#: netbox/templates/dcim/device.html:229
+#: netbox/templates/virtualization/virtualmachine.html:55
+#: netbox/templates/virtualization/virtualmachine.html:71
msgid "NAT"
msgstr "NAT"
-#: templates/dcim/device.html:244 templates/dcim/rack.html:67
+#: netbox/templates/dcim/device.html:252 netbox/templates/dcim/rack.html:67
msgid "Power Utilization"
-msgstr "能量利用率"
+msgstr "电力容量利用率"
-#: templates/dcim/device.html:248
+#: netbox/templates/dcim/device.html:256
msgid "Input"
msgstr "输入"
-#: templates/dcim/device.html:249
+#: netbox/templates/dcim/device.html:257
msgid "Outlets"
-msgstr "网点"
+msgstr "电源插座"
-#: templates/dcim/device.html:250
+#: netbox/templates/dcim/device.html:258
msgid "Allocated"
-msgstr "已分配"
+msgstr "分配"
-#: templates/dcim/device.html:260 templates/dcim/device.html:262
-#: templates/dcim/device.html:278 templates/dcim/powerfeed.html:67
+#: netbox/templates/dcim/device.html:268 netbox/templates/dcim/device.html:270
+#: netbox/templates/dcim/device.html:286
+#: netbox/templates/dcim/powerfeed.html:67
msgid "VA"
msgstr "VA"
-#: templates/dcim/device.html:272
+#: netbox/templates/dcim/device.html:280
msgctxt "Leg of a power feed"
msgid "Leg"
-msgstr "腿"
+msgstr "针"
-#: templates/dcim/device.html:298
-#: templates/virtualization/virtualmachine.html:154
+#: netbox/templates/dcim/device.html:306
+#: netbox/templates/virtualization/virtualmachine.html:154
msgid "Add a service"
msgstr "添加服务"
-#: templates/dcim/device/base.html:21 templates/dcim/device_list.html:9
-#: templates/dcim/devicetype/base.html:18 templates/dcim/module.html:18
-#: templates/dcim/moduletype/base.html:18
-#: templates/virtualization/virtualmachine/base.html:22
-#: templates/virtualization/virtualmachine_list.html:8
+#: netbox/templates/dcim/device/base.html:21
+#: netbox/templates/dcim/device_list.html:9
+#: netbox/templates/dcim/devicetype/base.html:18
+#: netbox/templates/dcim/module.html:18
+#: netbox/templates/dcim/moduletype/base.html:18
+#: netbox/templates/virtualization/virtualmachine/base.html:22
+#: netbox/templates/virtualization/virtualmachine_list.html:8
msgid "Add Components"
msgstr "添加组件"
-#: templates/dcim/device/consoleports.html:24
+#: netbox/templates/dcim/device/consoleports.html:24
msgid "Add Console Ports"
-msgstr "添加控制台端口"
+msgstr "增加 Console端口"
-#: templates/dcim/device/consoleserverports.html:24
+#: netbox/templates/dcim/device/consoleserverports.html:24
msgid "Add Console Server Ports"
-msgstr "添加控制台服务器端口"
+msgstr "增加console服务器端口"
-#: templates/dcim/device/devicebays.html:10
+#: netbox/templates/dcim/device/devicebays.html:10
msgid "Add Device Bays"
msgstr "添加设备托架"
-#: templates/dcim/device/frontports.html:24
+#: netbox/templates/dcim/device/frontports.html:24
msgid "Add Front Ports"
-msgstr "添加前端口"
+msgstr "添加前向端口"
-#: templates/dcim/device/inc/interface_table_controls.html:9
+#: netbox/templates/dcim/device/inc/interface_table_controls.html:9
msgid "Hide Enabled"
-msgstr "隐藏已启用"
+msgstr "已启用隐藏"
-#: templates/dcim/device/inc/interface_table_controls.html:10
+#: netbox/templates/dcim/device/inc/interface_table_controls.html:10
msgid "Hide Disabled"
-msgstr "隐藏已禁用"
+msgstr "已禁用隐藏"
-#: templates/dcim/device/inc/interface_table_controls.html:11
+#: netbox/templates/dcim/device/inc/interface_table_controls.html:11
msgid "Hide Virtual"
-msgstr "隐藏虚拟"
+msgstr "隐藏虚拟对象"
-#: templates/dcim/device/inc/interface_table_controls.html:12
+#: netbox/templates/dcim/device/inc/interface_table_controls.html:12
msgid "Hide Disconnected"
-msgstr "隐藏已断开连接"
+msgstr "隐藏未连接的"
-#: templates/dcim/device/interfaces.html:27
+#: netbox/templates/dcim/device/interfaces.html:27
msgid "Add Interfaces"
-msgstr "添加接口"
+msgstr "增加接口"
-#: templates/dcim/device/inventory.html:10
-#: templates/dcim/inc/panels/inventory_items.html:10
+#: netbox/templates/dcim/device/inventory.html:10
+#: netbox/templates/dcim/inc/panels/inventory_items.html:10
msgid "Add Inventory Item"
-msgstr "添加库存物品"
+msgstr "添加库存项"
-#: templates/dcim/device/modulebays.html:10
+#: netbox/templates/dcim/device/modulebays.html:10
msgid "Add Module Bays"
-msgstr "添加模块托架"
+msgstr "增加设备板卡插槽"
-#: templates/dcim/device/poweroutlets.html:24
+#: netbox/templates/dcim/device/poweroutlets.html:24
msgid "Add Power Outlets"
msgstr "添加电源插座"
-#: templates/dcim/device/powerports.html:24
+#: netbox/templates/dcim/device/powerports.html:24
msgid "Add Power Port"
-msgstr "添加电源端口"
+msgstr "添加电源接口"
-#: templates/dcim/device/rearports.html:24
+#: netbox/templates/dcim/device/rearports.html:24
msgid "Add Rear Ports"
-msgstr "添加后端口"
+msgstr "添加后置端口"
-#: templates/dcim/device/render_config.html:5
-#: templates/virtualization/virtualmachine/render_config.html:5
+#: netbox/templates/dcim/device/render_config.html:5
+#: netbox/templates/virtualization/virtualmachine/render_config.html:5
msgid "Config"
msgstr "配置"
-#: templates/dcim/device/render_config.html:35
-#: templates/virtualization/virtualmachine/render_config.html:35
+#: netbox/templates/dcim/device/render_config.html:35
+#: netbox/templates/virtualization/virtualmachine/render_config.html:35
msgid "Context Data"
-msgstr "上下文数据"
+msgstr "实例数据"
-#: templates/dcim/device/render_config.html:53
-#: templates/virtualization/virtualmachine/render_config.html:53
+#: netbox/templates/dcim/device/render_config.html:53
+#: netbox/templates/virtualization/virtualmachine/render_config.html:53
msgid "Rendered Config"
-msgstr "渲染的配置"
+msgstr "提交配置"
-#: templates/dcim/device/render_config.html:55
-#: templates/virtualization/virtualmachine/render_config.html:55
+#: netbox/templates/dcim/device/render_config.html:55
+#: netbox/templates/virtualization/virtualmachine/render_config.html:55
msgid "Download"
msgstr "下载"
-#: templates/dcim/device/render_config.html:61
-#: templates/virtualization/virtualmachine/render_config.html:61
+#: netbox/templates/dcim/device/render_config.html:61
+#: netbox/templates/virtualization/virtualmachine/render_config.html:61
msgid "No configuration template found"
-msgstr "未找到配置模板"
+msgstr "找不到配置模板"
-#: templates/dcim/device_edit.html:44
+#: netbox/templates/dcim/device_edit.html:44
msgid "Parent Bay"
-msgstr "家长湾"
+msgstr "父托架"
-#: templates/dcim/device_edit.html:48
-#: utilities/templates/form_helpers/render_field.html:20
+#: netbox/templates/dcim/device_edit.html:48
+#: netbox/utilities/templates/form_helpers/render_field.html:20
msgid "Regenerate Slug"
-msgstr "再生弹头"
+msgstr "重新生成缩写"
-#: templates/dcim/device_edit.html:49 templates/generic/bulk_remove.html:21
-#: utilities/templates/helpers/table_config_form.html:23
+#: netbox/templates/dcim/device_edit.html:49
+#: netbox/templates/generic/bulk_remove.html:21
+#: netbox/utilities/templates/helpers/table_config_form.html:23
msgid "Remove"
-msgstr "移除"
+msgstr "删除"
-#: templates/dcim/device_edit.html:110
+#: netbox/templates/dcim/device_edit.html:110
msgid "Local Config Context Data"
-msgstr "本地配置上下文数据"
+msgstr "本地配置数据实例"
-#: templates/dcim/device_list.html:82
-#: templates/dcim/moduletype/component_templates.html:17
-#: templates/generic/bulk_rename.html:57
-#: templates/virtualization/virtualmachine/interfaces.html:11
-#: templates/virtualization/virtualmachine/virtual_disks.html:11
+#: netbox/templates/dcim/device_list.html:82
+#: netbox/templates/dcim/moduletype/component_templates.html:17
+#: netbox/templates/generic/bulk_rename.html:57
+#: netbox/templates/virtualization/virtualmachine/interfaces.html:11
+#: netbox/templates/virtualization/virtualmachine/virtual_disks.html:11
msgid "Rename"
msgstr "重命名"
-#: templates/dcim/devicebay.html:17
+#: netbox/templates/dcim/devicebay.html:17
msgid "Device Bay"
msgstr "设备托架"
-#: templates/dcim/devicebay.html:43
+#: netbox/templates/dcim/devicebay.html:43
msgid "Installed Device"
-msgstr "已安装的设备"
+msgstr "已安装设备"
-#: templates/dcim/devicebay_depopulate.html:6
+#: netbox/templates/dcim/devicebay_depopulate.html:6
#, python-format
msgid "Remove %(device)s from %(device_bay)s?"
-msgstr "移除 %(device)s 从 %(device_bay)s?"
+msgstr "确认从%(device_bay)s移除%(device)s?"
-#: templates/dcim/devicebay_depopulate.html:13
+#: netbox/templates/dcim/devicebay_depopulate.html:13
#, python-format
msgid ""
"Are you sure you want to remove %(device)s from "
"%(device_bay)s ?"
-msgstr ""
-"你确定要移除吗 %(device)s 从 %(device_bay)s ?"
+msgstr "确认从%(device_bay)s 移除%(device)s ?"
-#: templates/dcim/devicebay_populate.html:13
+#: netbox/templates/dcim/devicebay_populate.html:13
msgid "Populate"
msgstr "填充"
-#: templates/dcim/devicebay_populate.html:22
+#: netbox/templates/dcim/devicebay_populate.html:22
msgid "Bay"
-msgstr "湾"
+msgstr "托架"
-#: templates/dcim/devicerole.html:14 templates/dcim/platform.html:17
+#: netbox/templates/dcim/devicerole.html:14
+#: netbox/templates/dcim/platform.html:17
msgid "Add Device"
-msgstr "添加设备"
+msgstr "增加设备"
-#: templates/dcim/devicerole.html:40
+#: netbox/templates/dcim/devicerole.html:40
msgid "VM Role"
msgstr "虚拟机角色"
-#: templates/dcim/devicetype.html:18 templates/dcim/moduletype.html:18
+#: netbox/templates/dcim/devicetype.html:18
+#: netbox/templates/dcim/moduletype.html:18
msgid "Model Name"
-msgstr "型号名称"
+msgstr "模块名称"
-#: templates/dcim/devicetype.html:25 templates/dcim/moduletype.html:22
+#: netbox/templates/dcim/devicetype.html:25
+#: netbox/templates/dcim/moduletype.html:22
msgid "Part Number"
-msgstr "零件号"
+msgstr "部件编码(PN)"
-#: templates/dcim/devicetype.html:41
+#: netbox/templates/dcim/devicetype.html:41
msgid "Exclude From Utilization"
-msgstr "排除在使用范围之外"
+msgstr "从利用率中排除"
-#: templates/dcim/devicetype.html:59
+#: netbox/templates/dcim/devicetype.html:59
msgid "Parent/Child"
-msgstr "父母/子女"
+msgstr "父/子"
-#: templates/dcim/devicetype.html:71
+#: netbox/templates/dcim/devicetype.html:71
msgid "Front Image"
-msgstr "正面图片"
+msgstr "正视图"
-#: templates/dcim/devicetype.html:83
+#: netbox/templates/dcim/devicetype.html:83
msgid "Rear Image"
-msgstr "背面影像"
+msgstr "后视图"
-#: templates/dcim/frontport.html:54
+#: netbox/templates/dcim/frontport.html:54
msgid "Rear Port Position"
-msgstr "后部端口位置"
+msgstr "后向端口位置"
-#: templates/dcim/frontport.html:72 templates/dcim/interface.html:144
-#: templates/dcim/poweroutlet.html:63 templates/dcim/powerport.html:63
-#: templates/dcim/rearport.html:68
+#: netbox/templates/dcim/frontport.html:72
+#: netbox/templates/dcim/interface.html:144
+#: netbox/templates/dcim/poweroutlet.html:63
+#: netbox/templates/dcim/powerport.html:63
+#: netbox/templates/dcim/rearport.html:68
msgid "Marked as Connected"
-msgstr "标记为已连接"
+msgstr "标记已连接"
-#: templates/dcim/frontport.html:86 templates/dcim/rearport.html:82
+#: netbox/templates/dcim/frontport.html:86
+#: netbox/templates/dcim/rearport.html:82
msgid "Connection Status"
msgstr "连接状态"
-#: templates/dcim/htmx/cable_edit.html:10
+#: netbox/templates/dcim/htmx/cable_edit.html:10
msgid "A Side"
-msgstr "A 面"
+msgstr "A端"
-#: templates/dcim/htmx/cable_edit.html:30
+#: netbox/templates/dcim/htmx/cable_edit.html:30
msgid "B Side"
-msgstr "B 面"
+msgstr "B端"
-#: templates/dcim/inc/cable_termination.html:65
+#: netbox/templates/dcim/inc/cable_termination.html:65
msgid "No termination"
-msgstr "不终止"
+msgstr "未成端"
-#: templates/dcim/inc/cable_toggle_buttons.html:3
+#: netbox/templates/dcim/inc/cable_toggle_buttons.html:3
msgid "Mark Planned"
-msgstr "标记为已计划"
+msgstr "标记为计划中"
-#: templates/dcim/inc/cable_toggle_buttons.html:6
+#: netbox/templates/dcim/inc/cable_toggle_buttons.html:6
msgid "Mark Installed"
-msgstr "标记已安装"
+msgstr "标记为已安装"
-#: templates/dcim/inc/connection_endpoints.html:13
+#: netbox/templates/dcim/inc/connection_endpoints.html:13
msgid "Path Status"
msgstr "路径状态"
-#: templates/dcim/inc/connection_endpoints.html:18
+#: netbox/templates/dcim/inc/connection_endpoints.html:18
msgid "Not Reachable"
-msgstr "无法到达"
+msgstr "不可达"
-#: templates/dcim/inc/connection_endpoints.html:23
+#: netbox/templates/dcim/inc/connection_endpoints.html:23
msgid "Path Endpoints"
-msgstr "路径端点"
+msgstr "路径终点"
-#: templates/dcim/inc/endpoint_connection.html:8
-#: templates/dcim/powerfeed.html:120 templates/dcim/rearport.html:94
+#: netbox/templates/dcim/inc/endpoint_connection.html:8
+#: netbox/templates/dcim/powerfeed.html:120
+#: netbox/templates/dcim/rearport.html:94
msgid "Not connected"
msgstr "未连接"
-#: templates/dcim/inc/interface_vlans_table.html:6
+#: netbox/templates/dcim/inc/interface_vlans_table.html:6
msgid "Untagged"
-msgstr "未标记"
+msgstr "Untagged"
-#: templates/dcim/inc/interface_vlans_table.html:37
+#: netbox/templates/dcim/inc/interface_vlans_table.html:37
msgid "No VLANs Assigned"
msgstr "未分配 VLAN"
-#: templates/dcim/inc/interface_vlans_table.html:44
-#: templates/ipam/prefix_list.html:16 templates/ipam/prefix_list.html:33
+#: netbox/templates/dcim/inc/interface_vlans_table.html:44
+#: netbox/templates/ipam/prefix_list.html:16
+#: netbox/templates/ipam/prefix_list.html:33
msgid "Clear"
msgstr "清除"
-#: templates/dcim/inc/interface_vlans_table.html:47
+#: netbox/templates/dcim/inc/interface_vlans_table.html:47
msgid "Clear All"
-msgstr "全部清除"
+msgstr "清除所有"
-#: templates/dcim/interface.html:17
+#: netbox/templates/dcim/interface.html:17
msgid "Add Child Interface"
msgstr "添加子接口"
-#: templates/dcim/interface.html:50
+#: netbox/templates/dcim/interface.html:50
msgid "Speed/Duplex"
-msgstr "速度/双工"
+msgstr "速率/双工模式"
-#: templates/dcim/interface.html:73
+#: netbox/templates/dcim/interface.html:73
msgid "PoE Mode"
-msgstr "PoE 模式"
+msgstr "PoE模式"
-#: templates/dcim/interface.html:77
+#: netbox/templates/dcim/interface.html:77
msgid "PoE Type"
-msgstr "PoE 类型"
+msgstr "PoE类型"
-#: templates/dcim/interface.html:81
-#: templates/virtualization/vminterface.html:63
+#: netbox/templates/dcim/interface.html:81
+#: netbox/templates/virtualization/vminterface.html:63
msgid "802.1Q Mode"
msgstr "802.1Q 模式"
-#: templates/dcim/interface.html:125
-#: templates/virtualization/vminterface.html:59
+#: netbox/templates/dcim/interface.html:125
+#: netbox/templates/virtualization/vminterface.html:59
msgid "MAC Address"
-msgstr "MAC 地址"
+msgstr "MAC地址"
-#: templates/dcim/interface.html:151
+#: netbox/templates/dcim/interface.html:151
msgid "Wireless Link"
-msgstr "无线链接"
+msgstr "无线连接"
-#: templates/dcim/interface.html:218 vpn/choices.py:55
+#: netbox/templates/dcim/interface.html:218 netbox/vpn/choices.py:55
msgid "Peer"
-msgstr "同行"
+msgstr "对端"
-#: templates/dcim/interface.html:230
-#: templates/wireless/inc/wirelesslink_interface.html:26
+#: netbox/templates/dcim/interface.html:230
+#: netbox/templates/wireless/inc/wirelesslink_interface.html:26
msgid "Channel"
-msgstr "频道"
+msgstr "通道"
-#: templates/dcim/interface.html:239
-#: templates/wireless/inc/wirelesslink_interface.html:32
+#: netbox/templates/dcim/interface.html:239
+#: netbox/templates/wireless/inc/wirelesslink_interface.html:32
msgid "Channel Frequency"
-msgstr "频道频率"
+msgstr "通道频率"
-#: templates/dcim/interface.html:242 templates/dcim/interface.html:250
-#: templates/dcim/interface.html:261 templates/dcim/interface.html:269
+#: netbox/templates/dcim/interface.html:242
+#: netbox/templates/dcim/interface.html:250
+#: netbox/templates/dcim/interface.html:261
+#: netbox/templates/dcim/interface.html:269
msgid "MHz"
-msgstr "兆赫"
+msgstr "MHz"
-#: templates/dcim/interface.html:258
-#: templates/wireless/inc/wirelesslink_interface.html:42
+#: netbox/templates/dcim/interface.html:258
+#: netbox/templates/wireless/inc/wirelesslink_interface.html:42
msgid "Channel Width"
-msgstr "信道宽度"
+msgstr "信道频率"
-#: templates/dcim/interface.html:285 templates/wireless/wirelesslan.html:14
-#: templates/wireless/wirelesslink.html:21 wireless/forms/bulk_edit.py:60
-#: wireless/forms/bulk_edit.py:102 wireless/forms/filtersets.py:40
-#: wireless/forms/filtersets.py:80 wireless/models.py:81
-#: wireless/models.py:155 wireless/tables/wirelesslan.py:44
+#: netbox/templates/dcim/interface.html:285
+#: netbox/templates/wireless/wirelesslan.html:14
+#: netbox/templates/wireless/wirelesslink.html:21
+#: netbox/wireless/forms/bulk_edit.py:60
+#: netbox/wireless/forms/bulk_edit.py:102
+#: netbox/wireless/forms/filtersets.py:40
+#: netbox/wireless/forms/filtersets.py:80 netbox/wireless/models.py:81
+#: netbox/wireless/models.py:155 netbox/wireless/tables/wirelesslan.py:44
msgid "SSID"
msgstr "SSID"
-#: templates/dcim/interface.html:305
+#: netbox/templates/dcim/interface.html:305
msgid "LAG Members"
-msgstr "LAG 会员"
+msgstr "聚合组成员"
-#: templates/dcim/interface.html:323
+#: netbox/templates/dcim/interface.html:323
msgid "No member interfaces"
-msgstr "没有成员接口"
+msgstr "无成员接口"
-#: templates/dcim/interface.html:343 templates/ipam/fhrpgroup.html:73
-#: templates/ipam/iprange/ip_addresses.html:7
-#: templates/ipam/prefix/ip_addresses.html:7
-#: templates/virtualization/vminterface.html:89
+#: netbox/templates/dcim/interface.html:343
+#: netbox/templates/ipam/fhrpgroup.html:73
+#: netbox/templates/ipam/iprange/ip_addresses.html:7
+#: netbox/templates/ipam/prefix/ip_addresses.html:7
+#: netbox/templates/virtualization/vminterface.html:89
msgid "Add IP Address"
-msgstr "添加 IP 地址"
+msgstr "增加 IP 地址"
-#: templates/dcim/inventoryitem.html:24
+#: netbox/templates/dcim/inventoryitem.html:24
msgid "Parent Item"
-msgstr "父物品"
+msgstr "父项"
-#: templates/dcim/inventoryitem.html:48
+#: netbox/templates/dcim/inventoryitem.html:48
msgid "Part ID"
-msgstr "零件编号"
+msgstr "零件ID"
-#: templates/dcim/location.html:17
+#: netbox/templates/dcim/location.html:17
msgid "Add Child Location"
-msgstr "添加孩子位置"
+msgstr "增加子类室内位置"
-#: templates/dcim/location.html:58 templates/dcim/site.html:55
+#: netbox/templates/dcim/location.html:58 netbox/templates/dcim/site.html:56
msgid "Facility"
msgstr "设施"
-#: templates/dcim/location.html:77
+#: netbox/templates/dcim/location.html:77
msgid "Child Locations"
-msgstr "儿童地点"
+msgstr "子位置"
-#: templates/dcim/location.html:81 templates/dcim/site.html:130
+#: netbox/templates/dcim/location.html:81 netbox/templates/dcim/site.html:131
msgid "Add a Location"
-msgstr "添加地点"
+msgstr "添加一个室内位置"
-#: templates/dcim/location.html:94 templates/dcim/site.html:143
+#: netbox/templates/dcim/location.html:94 netbox/templates/dcim/site.html:144
msgid "Add a Device"
-msgstr "添加设备"
+msgstr "增加设备"
-#: templates/dcim/manufacturer.html:16
+#: netbox/templates/dcim/manufacturer.html:16
msgid "Add Device Type"
-msgstr "添加设备类型"
+msgstr "增加设备型号"
-#: templates/dcim/manufacturer.html:21
+#: netbox/templates/dcim/manufacturer.html:21
msgid "Add Module Type"
-msgstr "添加模块类型"
+msgstr "添加一个模块类型"
-#: templates/dcim/powerfeed.html:53
+#: netbox/templates/dcim/powerfeed.html:53
msgid "Connected Device"
-msgstr "连接的设备"
+msgstr "连接设备"
-#: templates/dcim/powerfeed.html:63
+#: netbox/templates/dcim/powerfeed.html:63
msgid "Utilization (Allocated"
-msgstr "利用率(已分配)"
+msgstr "利用率(已分配"
-#: templates/dcim/powerfeed.html:80
+#: netbox/templates/dcim/powerfeed.html:80
msgid "Electrical Characteristics"
msgstr "电气特性"
-#: templates/dcim/powerfeed.html:88
+#: netbox/templates/dcim/powerfeed.html:88
msgctxt "Abbreviation for volts"
msgid "V"
msgstr "V"
-#: templates/dcim/powerfeed.html:92
+#: netbox/templates/dcim/powerfeed.html:92
msgctxt "Abbreviation for amperes"
msgid "A"
-msgstr "一个"
+msgstr "A"
-#: templates/dcim/poweroutlet.html:48
+#: netbox/templates/dcim/poweroutlet.html:48
msgid "Feed Leg"
-msgstr "喂腿"
+msgstr "电源针脚"
-#: templates/dcim/powerpanel.html:72
+#: netbox/templates/dcim/powerpanel.html:72
msgid "Add Power Feeds"
-msgstr "添加供电"
+msgstr "添加一个供电线路"
-#: templates/dcim/powerport.html:44
+#: netbox/templates/dcim/powerport.html:44
msgid "Maximum Draw"
-msgstr "最大抽奖量"
+msgstr "最大功率"
-#: templates/dcim/powerport.html:48
+#: netbox/templates/dcim/powerport.html:48
msgid "Allocated Draw"
-msgstr "已分配抽奖"
+msgstr "允许功率"
-#: templates/dcim/rack.html:63
+#: netbox/templates/dcim/rack.html:63
msgid "Space Utilization"
-msgstr "空间利用率"
+msgstr "机柜空间利用率"
-#: templates/dcim/rack.html:91
+#: netbox/templates/dcim/rack.html:91
msgid "descending"
-msgstr "降"
+msgstr "降序"
-#: templates/dcim/rack.html:91
+#: netbox/templates/dcim/rack.html:91
msgid "ascending"
-msgstr "上升的"
+msgstr "升序"
-#: templates/dcim/rack.html:94
+#: netbox/templates/dcim/rack.html:94
msgid "Starting Unit"
-msgstr "起始单位"
+msgstr "起始U位"
-#: templates/dcim/rack.html:120
+#: netbox/templates/dcim/rack.html:120
msgid "Mounting Depth"
msgstr "安装深度"
-#: templates/dcim/rack.html:130
+#: netbox/templates/dcim/rack.html:130
msgid "Rack Weight"
-msgstr "机架重量"
+msgstr "机柜重量"
-#: templates/dcim/rack.html:140
+#: netbox/templates/dcim/rack.html:140
msgid "Maximum Weight"
-msgstr "最大重量"
+msgstr "最大承重"
-#: templates/dcim/rack.html:150
+#: netbox/templates/dcim/rack.html:150
msgid "Total Weight"
msgstr "总重量"
-#: templates/dcim/rack.html:167 templates/dcim/rack_elevation_list.html:15
+#: netbox/templates/dcim/rack.html:167
+#: netbox/templates/dcim/rack_elevation_list.html:15
msgid "Images and Labels"
-msgstr "图像和标签"
+msgstr "图片和标签"
-#: templates/dcim/rack.html:168 templates/dcim/rack_elevation_list.html:16
+#: netbox/templates/dcim/rack.html:168
+#: netbox/templates/dcim/rack_elevation_list.html:16
msgid "Images only"
-msgstr "仅限图片"
+msgstr "仅图像"
-#: templates/dcim/rack.html:169 templates/dcim/rack_elevation_list.html:17
+#: netbox/templates/dcim/rack.html:169
+#: netbox/templates/dcim/rack_elevation_list.html:17
msgid "Labels only"
-msgstr "仅限标签"
+msgstr "仅标签"
-#: templates/dcim/rack/reservations.html:8
+#: netbox/templates/dcim/rack/reservations.html:8
msgid "Add reservation"
-msgstr "添加预订"
+msgstr "增加预留"
-#: templates/dcim/rack_elevation_list.html:12
+#: netbox/templates/dcim/rack_elevation_list.html:12
msgid "View List"
-msgstr "查看清单"
+msgstr "查看列表"
-#: templates/dcim/rack_elevation_list.html:25
+#: netbox/templates/dcim/rack_elevation_list.html:25
msgid "Sort By"
-msgstr "排序依据"
+msgstr "排序方式"
-#: templates/dcim/rack_elevation_list.html:74
+#: netbox/templates/dcim/rack_elevation_list.html:74
msgid "No Racks Found"
-msgstr "未找到机架"
+msgstr "找不到机柜"
-#: templates/dcim/rack_list.html:8
+#: netbox/templates/dcim/rack_list.html:8
msgid "View Elevations"
-msgstr "查看海拔"
+msgstr "查看机柜立面图"
-#: templates/dcim/rackreservation.html:42
+#: netbox/templates/dcim/rackreservation.html:42
msgid "Reservation Details"
-msgstr "预订详情"
+msgstr "预留详情"
-#: templates/dcim/rackrole.html:10
+#: netbox/templates/dcim/rackrole.html:10
msgid "Add Rack"
-msgstr "添加机架"
+msgstr "增加机柜"
-#: templates/dcim/rearport.html:50
+#: netbox/templates/dcim/rearport.html:50
msgid "Positions"
msgstr "职位"
-#: templates/dcim/region.html:17 templates/dcim/sitegroup.html:17
+#: netbox/templates/dcim/region.html:17
+#: netbox/templates/dcim/sitegroup.html:17
msgid "Add Site"
-msgstr "添加站点"
+msgstr "增加站点"
-#: templates/dcim/region.html:55
+#: netbox/templates/dcim/region.html:55
msgid "Child Regions"
-msgstr "儿童区域"
+msgstr "子区域"
-#: templates/dcim/region.html:59
+#: netbox/templates/dcim/region.html:59
msgid "Add Region"
-msgstr "添加区域"
+msgstr "增加地区"
-#: templates/dcim/site.html:63
+#: netbox/templates/dcim/site.html:64
msgid "Time Zone"
msgstr "时区"
-#: templates/dcim/site.html:66
+#: netbox/templates/dcim/site.html:67
msgid "UTC"
-msgstr "世界标准时间"
+msgstr "UTC"
-#: templates/dcim/site.html:67
+#: netbox/templates/dcim/site.html:68
msgid "Site time"
-msgstr "站点时间"
+msgstr "站点时区"
-#: templates/dcim/site.html:74
+#: netbox/templates/dcim/site.html:75
msgid "Physical Address"
-msgstr "物理地址"
+msgstr "实体地址"
-#: templates/dcim/site.html:80
+#: netbox/templates/dcim/site.html:81
msgid "Map"
msgstr "地图"
-#: templates/dcim/site.html:89
+#: netbox/templates/dcim/site.html:90
msgid "Shipping Address"
-msgstr "送货地址"
+msgstr "物流地址"
-#: templates/dcim/sitegroup.html:55 templates/tenancy/contactgroup.html:46
-#: templates/tenancy/tenantgroup.html:55
-#: templates/wireless/wirelesslangroup.html:55
+#: netbox/templates/dcim/sitegroup.html:55
+#: netbox/templates/tenancy/contactgroup.html:46
+#: netbox/templates/tenancy/tenantgroup.html:55
+#: netbox/templates/wireless/wirelesslangroup.html:55
msgid "Child Groups"
-msgstr "儿童群体"
+msgstr "子类组"
-#: templates/dcim/sitegroup.html:59
+#: netbox/templates/dcim/sitegroup.html:59
msgid "Add Site Group"
-msgstr "添加站点组"
+msgstr "增加站点组"
-#: templates/dcim/trace/attachment.html:5
-#: templates/extras/exporttemplate.html:31
+#: netbox/templates/dcim/trace/attachment.html:5
+#: netbox/templates/extras/exporttemplate.html:31
msgid "Attachment"
msgstr "附件"
-#: templates/dcim/virtualchassis.html:57
+#: netbox/templates/dcim/virtualchassis.html:57
msgid "Add Member"
-msgstr "添加会员"
+msgstr "增加成员"
-#: templates/dcim/virtualchassis_add.html:18
+#: netbox/templates/dcim/virtualchassis_add.html:18
msgid "Member Devices"
msgstr "成员设备"
-#: templates/dcim/virtualchassis_add_member.html:10
+#: netbox/templates/dcim/virtualchassis_add_member.html:10
#, python-format
msgid "Add New Member to Virtual Chassis %(virtual_chassis)s"
-msgstr "向虚拟机箱添加新成员 %(virtual_chassis)s"
+msgstr "添加新成员到堆叠%(virtual_chassis)s中"
-#: templates/dcim/virtualchassis_add_member.html:19
+#: netbox/templates/dcim/virtualchassis_add_member.html:19
msgid "Add New Member"
-msgstr "添加新会员"
+msgstr "新增会员"
-#: templates/dcim/virtualchassis_add_member.html:27
-#: templates/generic/object_edit.html:78
-#: templates/users/objectpermission.html:31 users/forms/filtersets.py:68
-#: users/forms/model_forms.py:309
+#: netbox/templates/dcim/virtualchassis_add_member.html:27
+#: netbox/templates/generic/object_edit.html:78
+#: netbox/templates/users/objectpermission.html:31
+#: netbox/users/forms/filtersets.py:68 netbox/users/forms/model_forms.py:309
msgid "Actions"
-msgstr "行动"
+msgstr "激活"
-#: templates/dcim/virtualchassis_add_member.html:29
+#: netbox/templates/dcim/virtualchassis_add_member.html:29
msgid "Save & Add Another"
msgstr "保存并添加另一个"
-#: templates/dcim/virtualchassis_edit.html:7
+#: netbox/templates/dcim/virtualchassis_edit.html:7
#, python-format
msgid "Editing Virtual Chassis %(name)s"
-msgstr "编辑虚拟机箱 %(name)s"
+msgstr "编辑堆叠%(name)s"
-#: templates/dcim/virtualchassis_edit.html:53
+#: netbox/templates/dcim/virtualchassis_edit.html:53
msgid "Rack/Unit"
-msgstr "机架/单元"
+msgstr "机柜/单元"
-#: templates/dcim/virtualchassis_remove_member.html:5
+#: netbox/templates/dcim/virtualchassis_remove_member.html:5
msgid "Remove Virtual Chassis Member"
-msgstr "移除虚拟机箱成员"
+msgstr "移除堆叠成员"
-#: templates/dcim/virtualchassis_remove_member.html:9
+#: netbox/templates/dcim/virtualchassis_remove_member.html:9
#, python-format
msgid ""
"Are you sure you want to remove %(device)s from virtual "
"chassis %(name)s?"
-msgstr "你确定要移除吗 %(device)s 来自虚拟机箱 %(name)s?"
+msgstr "确认从%(name)s中移除%(device)s ?"
-#: templates/dcim/virtualdevicecontext.html:26 templates/vpn/l2vpn.html:18
+#: netbox/templates/dcim/virtualdevicecontext.html:26
+#: netbox/templates/vpn/l2vpn.html:18
msgid "Identifier"
msgstr "标识符"
-#: templates/exceptions/import_error.html:6
+#: netbox/templates/exceptions/import_error.html:6
msgid ""
"A module import error occurred during this request. Common causes include "
"the following:"
-msgstr "此请求期间出现模块导入错误。常见原因包括以下几点:"
+msgstr "此请求过程中发生模块导入错误。常见原因包括:"
-#: templates/exceptions/import_error.html:10
+#: netbox/templates/exceptions/import_error.html:10
msgid "Missing required packages"
-msgstr "缺少必需的包裹"
+msgstr "缺少必需的程序包"
-#: templates/exceptions/import_error.html:11
+#: netbox/templates/exceptions/import_error.html:11
msgid ""
"This installation of NetBox might be missing one or more required Python "
"packages. These packages are listed in requirements.txt
and "
@@ -11487,448 +12148,456 @@ msgid ""
"pip freeze
from the console and compare the output to the list "
"of required packages."
msgstr ""
-"此次安装的 NetBox 可能缺少一个或多个必需的 Python 包。这些软件包列于 requirements.txt
和 "
-"local_requirements.txt
,通常作为安装或升级过程的一部分进行安装。要验证已安装的软件包,请运行 "
-"pip 冻结
从控制台将输出与所需软件包列表进行比较。"
+"NetBox 的此安装可能缺少一个或多个必需的 Python 包。 这些包列在 requirements.txt
和 "
+"local_requirements.txt
, and are normally installed as part of "
+"the installation or upgrade process. To verify installed packages, run "
+"pip freeze
from the console and compare the output to the list "
+"of required packages."
-#: templates/exceptions/import_error.html:20
+#: netbox/templates/exceptions/import_error.html:20
msgid "WSGI service not restarted after upgrade"
-msgstr "升级后 WSGI 服务未重新启动"
+msgstr "升级后未重新启动WSGI服务"
-#: templates/exceptions/import_error.html:21
+#: netbox/templates/exceptions/import_error.html:21
msgid ""
"If this installation has recently been upgraded, check that the WSGI service"
" (e.g. gunicorn or uWSGI) has been restarted. This ensures that the new code"
" is running."
-msgstr "如果此安装程序最近已升级,请检查WSGI服务(例如gunicorn或uWSGI)是否已重新启动。这样可以确保新代码正在运行。"
+msgstr "如果系统最近已升级,请检查WSGI服务(例如gunicorn或uWSGI)是否已重新启动。这样可以确保正在运行新代码。"
-#: templates/exceptions/permission_error.html:6
+#: netbox/templates/exceptions/permission_error.html:6
msgid ""
"A file permission error was detected while processing this request. Common "
"causes include the following:"
-msgstr "处理此请求时检测到文件权限错误。常见原因包括以下几点:"
+msgstr "处理此请求时检测到文件权限错误。常见原因包括:"
-#: templates/exceptions/permission_error.html:10
+#: netbox/templates/exceptions/permission_error.html:10
msgid "Insufficient write permission to the media root"
-msgstr "对媒体根的写入权限不足"
+msgstr "对media目录的写入权限不足"
-#: templates/exceptions/permission_error.html:11
+#: netbox/templates/exceptions/permission_error.html:11
#, python-format
msgid ""
"The configured media root is %(media_root)s
. Ensure that the "
"user NetBox runs as has access to write files to all locations within this "
"path."
-msgstr ""
-"配置的媒体根目录是 %(media_root)s
。确保运行 NetBox 的用户有权将文件写入此路径中的所有位置。"
+msgstr "media目录为%(media_root)s
。确保用户NetBox已有权将文件写入此路径"
-#: templates/exceptions/programming_error.html:6
+#: netbox/templates/exceptions/programming_error.html:6
msgid ""
"A database programming error was detected while processing this request. "
"Common causes include the following:"
-msgstr "处理此请求时检测到数据库编程错误。常见原因包括以下几点:"
+msgstr "处理此请求时检测到数据库错误。常见原因包括:"
-#: templates/exceptions/programming_error.html:10
+#: netbox/templates/exceptions/programming_error.html:10
msgid "Database migrations missing"
msgstr "缺少数据库迁移"
-#: templates/exceptions/programming_error.html:11
+#: netbox/templates/exceptions/programming_error.html:11
msgid ""
"When upgrading to a new NetBox release, the upgrade script must be run to "
"apply any new database migrations. You can run migrations manually by "
"executing python3 manage.py migrate
from the command line."
msgstr ""
-"升级到新的 NetBox 版本时,必须运行升级脚本以应用任何新的数据库迁移。您可以通过执行来手动运行迁移 python3 manage.py"
-" 迁移
来自命令行。"
+"升级到新的NetBox版本时,必须运行升级脚本才能应用任何新的数据库迁移。您可以通过从命令行执行python3 manage.py "
+"migrate
手动进行迁移。"
-#: templates/exceptions/programming_error.html:18
+#: netbox/templates/exceptions/programming_error.html:18
msgid "Unsupported PostgreSQL version"
-msgstr "不支持的 PostgreSQL 版本"
+msgstr "不支持当前PostgreSQL版本"
-#: templates/exceptions/programming_error.html:19
+#: netbox/templates/exceptions/programming_error.html:19
msgid ""
"Ensure that PostgreSQL version 12 or later is in use. You can check this by "
"connecting to the database using NetBox's credentials and issuing a query "
"for SELECT VERSION()
."
msgstr ""
-"确保正在使用 PostgreSQL 版本 12 或更高版本。您可以通过使用 NetBox 的凭据连接到数据库并发出查询来检查这一点 选择版本"
-" ()
。"
+"请确保正在使用PostgreSQL版本12或更高版本。您可以通过使用NetBox用户连接到数据库并执行SELECT "
+"VERSION()
来进行检查。"
-#: templates/extras/configcontext.html:45
-#: templates/extras/configtemplate.html:37
-#: templates/extras/exporttemplate.html:51
+#: netbox/templates/extras/configcontext.html:45
+#: netbox/templates/extras/configtemplate.html:37
+#: netbox/templates/extras/exporttemplate.html:51
msgid "The data file associated with this object has been deleted"
-msgstr "与该对象关联的数据文件已被删除"
+msgstr "与此对象关联的数据文件已被删除"
-#: templates/extras/configcontext.html:54
-#: templates/extras/configtemplate.html:46
-#: templates/extras/exporttemplate.html:60
+#: netbox/templates/extras/configcontext.html:54
+#: netbox/templates/extras/configtemplate.html:46
+#: netbox/templates/extras/exporttemplate.html:60
msgid "Data Synced"
msgstr "数据已同步"
-#: templates/extras/configcontext_list.html:7
-#: templates/extras/configtemplate_list.html:7
-#: templates/extras/exporttemplate_list.html:7
+#: netbox/templates/extras/configcontext_list.html:7
+#: netbox/templates/extras/configtemplate_list.html:7
+#: netbox/templates/extras/exporttemplate_list.html:7
msgid "Sync Data"
msgstr "同步数据"
-#: templates/extras/configtemplate.html:56
+#: netbox/templates/extras/configtemplate.html:56
msgid "Environment Parameters"
msgstr "环境参数"
-#: templates/extras/configtemplate.html:67
-#: templates/extras/exporttemplate.html:79
+#: netbox/templates/extras/configtemplate.html:67
+#: netbox/templates/extras/exporttemplate.html:79
msgid "Template"
-msgstr "模板"
+msgstr "模版"
-#: templates/extras/customfield.html:30 templates/extras/customlink.html:21
+#: netbox/templates/extras/customfield.html:30
+#: netbox/templates/extras/customlink.html:21
msgid "Group Name"
-msgstr "群组名称"
+msgstr "组名称"
-#: templates/extras/customfield.html:42
+#: netbox/templates/extras/customfield.html:42
msgid "Cloneable"
-msgstr "可克隆"
+msgstr "可复制"
-#: templates/extras/customfield.html:52
+#: netbox/templates/extras/customfield.html:52
msgid "Default Value"
msgstr "默认值"
-#: templates/extras/customfield.html:61
+#: netbox/templates/extras/customfield.html:61
msgid "Search Weight"
-msgstr "搜索重量"
+msgstr "搜索权重"
-#: templates/extras/customfield.html:71
+#: netbox/templates/extras/customfield.html:71
msgid "Filter Logic"
-msgstr "过滤器逻辑"
+msgstr "过滤器规则"
-#: templates/extras/customfield.html:75
+#: netbox/templates/extras/customfield.html:75
msgid "Display Weight"
-msgstr "显示重量"
+msgstr "显示权重"
-#: templates/extras/customfield.html:79
+#: netbox/templates/extras/customfield.html:79
msgid "UI Visible"
-msgstr "用户界面可见"
+msgstr "页面中可见"
-#: templates/extras/customfield.html:83
+#: netbox/templates/extras/customfield.html:83
msgid "UI Editable"
-msgstr "用户界面可编辑"
+msgstr "页面中可编辑"
-#: templates/extras/customfield.html:103
+#: netbox/templates/extras/customfield.html:103
msgid "Validation Rules"
msgstr "验证规则"
-#: templates/extras/customfield.html:106
+#: netbox/templates/extras/customfield.html:106
msgid "Minimum Value"
msgstr "最小值"
-#: templates/extras/customfield.html:110
+#: netbox/templates/extras/customfield.html:110
msgid "Maximum Value"
msgstr "最大值"
-#: templates/extras/customfield.html:114
+#: netbox/templates/extras/customfield.html:114
msgid "Regular Expression"
msgstr "正则表达式"
-#: templates/extras/customlink.html:29
+#: netbox/templates/extras/customlink.html:29
msgid "Button Class"
-msgstr "按钮类别"
+msgstr "按钮类型"
-#: templates/extras/customlink.html:39 templates/extras/exporttemplate.html:66
-#: templates/extras/savedfilter.html:39
+#: netbox/templates/extras/customlink.html:39
+#: netbox/templates/extras/exporttemplate.html:66
+#: netbox/templates/extras/savedfilter.html:39
msgid "Assigned Models"
-msgstr "分配的模型"
+msgstr "指定模块"
-#: templates/extras/customlink.html:53
+#: netbox/templates/extras/customlink.html:53
msgid "Link Text"
msgstr "链接文本"
-#: templates/extras/customlink.html:61
+#: netbox/templates/extras/customlink.html:61
msgid "Link URL"
-msgstr "链接网址"
+msgstr "链接URL"
-#: templates/extras/dashboard/reset.html:4 templates/home.html:66
+#: netbox/templates/extras/dashboard/reset.html:4
+#: netbox/templates/home.html:66
msgid "Reset Dashboard"
-msgstr "重置控制面板"
+msgstr "重置仪表盘"
-#: templates/extras/dashboard/reset.html:8
+#: netbox/templates/extras/dashboard/reset.html:8
msgid ""
"This will remove all configured widgets and restore the "
"default dashboard configuration."
-msgstr "这将删除 所有 配置小部件并恢复默认仪表板配置。"
+msgstr "这将删除所有 小组件,并恢复默认的仪表板配置。"
-#: templates/extras/dashboard/reset.html:13
+#: netbox/templates/extras/dashboard/reset.html:13
msgid ""
"This change affects only your dashboard, and will not impact other "
"users."
-msgstr "此更改仅影响 您的 仪表板,不会影响其他用户。"
+msgstr "此更改仅影响您 的仪表盘,不会影响其他用户。"
-#: templates/extras/dashboard/widget_add.html:7
+#: netbox/templates/extras/dashboard/widget_add.html:7
msgid "Add a Widget"
-msgstr "添加小工具"
+msgstr "添加小组件"
-#: templates/extras/dashboard/widgets/bookmarks.html:14
+#: netbox/templates/extras/dashboard/widgets/bookmarks.html:14
msgid "No bookmarks have been added yet."
-msgstr "尚未添加任何书签。"
+msgstr "尚未添加书签。"
-#: templates/extras/dashboard/widgets/objectcounts.html:10
+#: netbox/templates/extras/dashboard/widgets/objectcounts.html:10
msgid "No permission"
-msgstr "没有权限"
+msgstr "无权限"
-#: templates/extras/dashboard/widgets/objectlist.html:6
+#: netbox/templates/extras/dashboard/widgets/objectlist.html:6
msgid "No permission to view this content"
-msgstr "无权查看此内容"
+msgstr "没有查看此内容的权限"
-#: templates/extras/dashboard/widgets/objectlist.html:10
+#: netbox/templates/extras/dashboard/widgets/objectlist.html:10
msgid "Unable to load content. Invalid view name"
-msgstr "无法加载内容。视图名称无效"
+msgstr "无法加载内容。无效的视图名称"
-#: templates/extras/dashboard/widgets/rssfeed.html:12
+#: netbox/templates/extras/dashboard/widgets/rssfeed.html:12
msgid "No content found"
-msgstr "未找到任何内容"
+msgstr "未找到内容"
-#: templates/extras/dashboard/widgets/rssfeed.html:18
+#: netbox/templates/extras/dashboard/widgets/rssfeed.html:18
msgid "There was a problem fetching the RSS feed"
-msgstr "获取 RSS 提要时出现问题"
+msgstr "获取RSS源时出现问题"
-#: templates/extras/dashboard/widgets/rssfeed.html:21
+#: netbox/templates/extras/dashboard/widgets/rssfeed.html:21
msgid "HTTP"
msgstr "HTTP"
-#: templates/extras/eventrule.html:52
+#: netbox/templates/extras/eventrule.html:52
msgid "Job start"
-msgstr "作业开始"
+msgstr "开始工作"
-#: templates/extras/eventrule.html:56
+#: netbox/templates/extras/eventrule.html:56
msgid "Job end"
-msgstr "任务结束"
+msgstr "结束工作"
-#: templates/extras/exporttemplate.html:23
+#: netbox/templates/extras/exporttemplate.html:23
msgid "MIME Type"
-msgstr "哑剧类型"
+msgstr "MIME类型"
-#: templates/extras/exporttemplate.html:27
+#: netbox/templates/extras/exporttemplate.html:27
msgid "File Extension"
msgstr "文件扩展名"
-#: templates/extras/htmx/script_result.html:10
+#: netbox/templates/extras/htmx/script_result.html:10
msgid "Scheduled for"
-msgstr "预定于"
+msgstr "计划为"
-#: templates/extras/htmx/script_result.html:15
+#: netbox/templates/extras/htmx/script_result.html:15
msgid "Duration"
msgstr "持续时间"
-#: templates/extras/htmx/script_result.html:23
+#: netbox/templates/extras/htmx/script_result.html:23
msgid "Test Summary"
-msgstr "测试摘要"
+msgstr "测试总结"
-#: templates/extras/htmx/script_result.html:43
+#: netbox/templates/extras/htmx/script_result.html:43
msgid "Log"
msgstr "日志"
-#: templates/extras/htmx/script_result.html:52
+#: netbox/templates/extras/htmx/script_result.html:52
msgid "Output"
msgstr "输出"
-#: templates/extras/inc/result_pending.html:4
+#: netbox/templates/extras/inc/result_pending.html:4
msgid "Loading"
msgstr "加载中"
-#: templates/extras/inc/result_pending.html:6
+#: netbox/templates/extras/inc/result_pending.html:6
msgid "Results pending"
msgstr "结果待定"
-#: templates/extras/journalentry.html:15
+#: netbox/templates/extras/journalentry.html:15
msgid "Journal Entry"
-msgstr "日记条目"
+msgstr "日志条目"
-#: templates/extras/object_changelog.html:15
-#: templates/extras/objectchange_list.html:9
+#: netbox/templates/extras/object_changelog.html:15
+#: netbox/templates/extras/objectchange_list.html:9
msgid "Change log retention"
-msgstr "更改日志保留时间"
+msgstr "变更日志保留"
-#: templates/extras/object_changelog.html:15
-#: templates/extras/objectchange_list.html:9
+#: netbox/templates/extras/object_changelog.html:15
+#: netbox/templates/extras/objectchange_list.html:9
msgid "days"
msgstr "天"
-#: templates/extras/object_changelog.html:15
-#: templates/extras/objectchange_list.html:9
+#: netbox/templates/extras/object_changelog.html:15
+#: netbox/templates/extras/objectchange_list.html:9
msgid "Indefinite"
-msgstr "无限期"
+msgstr "无限期的"
-#: templates/extras/object_configcontext.html:19
+#: netbox/templates/extras/object_configcontext.html:19
msgid "The local config context overwrites all source contexts"
-msgstr "本地配置上下文会覆盖所有源上下文"
+msgstr "本地实例覆盖数据源上的实例"
-#: templates/extras/object_configcontext.html:25
+#: netbox/templates/extras/object_configcontext.html:25
msgid "Source Contexts"
-msgstr "源上下文"
+msgstr "数据源实例"
-#: templates/extras/object_journal.html:17
+#: netbox/templates/extras/object_journal.html:17
msgid "New Journal Entry"
-msgstr "新日记文章"
+msgstr "新的日志条目"
-#: templates/extras/objectchange.html:28
-#: templates/users/objectpermission.html:42
+#: netbox/templates/extras/objectchange.html:29
+#: netbox/templates/users/objectpermission.html:42
msgid "Change"
-msgstr "改变"
+msgstr "更改"
-#: templates/extras/objectchange.html:78
+#: netbox/templates/extras/objectchange.html:79
msgid "Difference"
-msgstr "区别"
+msgstr "差异"
-#: templates/extras/objectchange.html:81
+#: netbox/templates/extras/objectchange.html:82
msgid "Previous"
-msgstr "以前"
+msgstr "上一个"
-#: templates/extras/objectchange.html:84
+#: netbox/templates/extras/objectchange.html:85
msgid "Next"
-msgstr "下一步"
+msgstr "下一个"
-#: templates/extras/objectchange.html:92
+#: netbox/templates/extras/objectchange.html:93
msgid "Object Created"
msgstr "对象已创建"
-#: templates/extras/objectchange.html:94
+#: netbox/templates/extras/objectchange.html:95
msgid "Object Deleted"
msgstr "对象已删除"
-#: templates/extras/objectchange.html:96
+#: netbox/templates/extras/objectchange.html:97
msgid "No Changes"
-msgstr "没有变化"
+msgstr "没有改变"
-#: templates/extras/objectchange.html:110
+#: netbox/templates/extras/objectchange.html:111
msgid "Pre-Change Data"
-msgstr "变更前数据"
+msgstr "变更前配置"
-#: templates/extras/objectchange.html:121
+#: netbox/templates/extras/objectchange.html:122
msgid "Warning: Comparing non-atomic change to previous change record"
-msgstr "警告:将非原子更改与先前的更改记录进行比较"
+msgstr "警告:将非原子更改与以前的更改记录进行比较"
-#: templates/extras/objectchange.html:130
+#: netbox/templates/extras/objectchange.html:131
msgid "Post-Change Data"
-msgstr "变更后的数据"
+msgstr "变更后配置"
-#: templates/extras/objectchange.html:153
+#: netbox/templates/extras/objectchange.html:162
#, python-format
msgid "See All %(count)s Changes"
-msgstr "查看全部 %(count)s 变更"
+msgstr "查看所有的%(count)s个变更"
-#: templates/extras/report/base.html:30
+#: netbox/templates/extras/report/base.html:30
msgid "Report"
-msgstr "举报"
+msgstr "报告"
-#: templates/extras/script.html:14
+#: netbox/templates/extras/script.html:14
msgid "You do not have permission to run scripts"
-msgstr "你没有权限运行脚本"
+msgstr "您没有权限执行脚本"
-#: templates/extras/script.html:41 templates/extras/script.html:45
-#: templates/extras/script_list.html:88
+#: netbox/templates/extras/script.html:41
+#: netbox/templates/extras/script.html:45
+#: netbox/templates/extras/script_list.html:88
msgid "Run Script"
-msgstr "运行脚本"
+msgstr "保存运行脚本计划"
-#: templates/extras/script.html:51 templates/extras/script/source.html:10
+#: netbox/templates/extras/script.html:51
+#: netbox/templates/extras/script/source.html:10
msgid "Error loading script"
msgstr "加载脚本时出错"
-#: templates/extras/script/jobs.html:16
+#: netbox/templates/extras/script/jobs.html:16
msgid "Script no longer exists in the source file."
-msgstr "脚本不再存在于源文件中。"
+msgstr "源文件中没有该脚本。"
-#: templates/extras/script_list.html:48
+#: netbox/templates/extras/script_list.html:48
msgid "Last Run"
-msgstr "最后一次运行"
+msgstr "上一次运行"
-#: templates/extras/script_list.html:63
+#: netbox/templates/extras/script_list.html:63
msgid "Script is no longer present in the source file"
-msgstr "脚本不再存在于源文件中"
+msgstr "源文件中没有该脚本。"
-#: templates/extras/script_list.html:76
+#: netbox/templates/extras/script_list.html:76
msgid "Never"
-msgstr "永远不要"
+msgstr "从不"
-#: templates/extras/script_list.html:86
+#: netbox/templates/extras/script_list.html:86
msgid "Run Again"
-msgstr "再跑一次"
+msgstr "重新运行"
-#: templates/extras/script_list.html:140
+#: netbox/templates/extras/script_list.html:140
msgid "No Scripts Found"
-msgstr "未找到脚本"
+msgstr "找不到脚本"
-#: templates/extras/script_list.html:143
+#: netbox/templates/extras/script_list.html:143
#, python-format
msgid ""
"Get started by creating a script from "
"an uploaded file or data source."
-msgstr "开始吧 创建脚本 来自上传的文件或数据源。"
+msgstr "从上传的文件或数据源开始创建脚本 。"
-#: templates/extras/script_result.html:35
-#: templates/generic/object_list.html:50 templates/search.html:13
+#: netbox/templates/extras/script_result.html:35
+#: netbox/templates/generic/object_list.html:50
+#: netbox/templates/search.html:13
msgid "Results"
msgstr "结果"
-#: templates/extras/tag.html:32
+#: netbox/templates/extras/tag.html:32
msgid "Tagged Items"
-msgstr "带标签的物品"
+msgstr "标记的项目"
-#: templates/extras/tag.html:43
+#: netbox/templates/extras/tag.html:43
msgid "Allowed Object Types"
msgstr "允许的对象类型"
-#: templates/extras/tag.html:51
+#: netbox/templates/extras/tag.html:51
msgid "Any"
-msgstr "任何"
+msgstr "所有"
-#: templates/extras/tag.html:57
+#: netbox/templates/extras/tag.html:57
msgid "Tagged Item Types"
-msgstr "带标签的物品类型"
+msgstr "标记的项目类型"
-#: templates/extras/tag.html:81
+#: netbox/templates/extras/tag.html:81
msgid "Tagged Objects"
-msgstr "带标签的对象"
+msgstr "标记的对象"
-#: templates/extras/webhook.html:26
+#: netbox/templates/extras/webhook.html:26
msgid "HTTP Method"
-msgstr "HTTP 方法"
+msgstr "HTTP方式"
-#: templates/extras/webhook.html:34
+#: netbox/templates/extras/webhook.html:34
msgid "HTTP Content Type"
-msgstr "HTTP 内容类型"
+msgstr "HTTP内容类型"
-#: templates/extras/webhook.html:47
+#: netbox/templates/extras/webhook.html:47
msgid "SSL Verification"
-msgstr "SSL 验证"
+msgstr "SSL验证"
-#: templates/extras/webhook.html:61
+#: netbox/templates/extras/webhook.html:61
msgid "Additional Headers"
-msgstr "其他标题"
+msgstr "附加标头"
-#: templates/extras/webhook.html:73
+#: netbox/templates/extras/webhook.html:73
msgid "Body Template"
-msgstr "正文模板"
+msgstr "内容模版"
-#: templates/generic/bulk_add_component.html:29
+#: netbox/templates/generic/bulk_add_component.html:29
msgid "Bulk Creation"
msgstr "批量创建"
-#: templates/generic/bulk_add_component.html:34
-#: templates/generic/bulk_delete.html:32 templates/generic/bulk_edit.html:33
+#: netbox/templates/generic/bulk_add_component.html:34
+#: netbox/templates/generic/bulk_delete.html:32
+#: netbox/templates/generic/bulk_edit.html:33
msgid "Selected Objects"
-msgstr "所选对象"
+msgstr "选定的对象"
-#: templates/generic/bulk_add_component.html:58
+#: netbox/templates/generic/bulk_add_component.html:58
msgid "to Add"
-msgstr "待添加"
+msgstr "添加"
-#: templates/generic/bulk_delete.html:27
+#: netbox/templates/generic/bulk_delete.html:27
msgid "Bulk Delete"
msgstr "批量删除"
-#: templates/generic/bulk_delete.html:49
+#: netbox/templates/generic/bulk_delete.html:49
msgid "Confirm Bulk Deletion"
-msgstr "确认批量删除"
+msgstr "批量删除确认"
-#: templates/generic/bulk_delete.html:50
+#: netbox/templates/generic/bulk_delete.html:50
#, python-format
msgid ""
"The following operation will delete %(count)s "
@@ -11936,2335 +12605,2399 @@ msgid ""
"this action."
msgstr "以下操作将删除 %(count)s %(type_plural)s。请仔细检查所选对象并确认此操作。"
-#: templates/generic/bulk_edit.html:21 templates/generic/object_edit.html:22
+#: netbox/templates/generic/bulk_edit.html:21
+#: netbox/templates/generic/object_edit.html:22
msgid "Editing"
-msgstr "正在编辑"
+msgstr "编辑中"
-#: templates/generic/bulk_edit.html:28
+#: netbox/templates/generic/bulk_edit.html:28
msgid "Bulk Edit"
msgstr "批量编辑"
-#: templates/generic/bulk_edit.html:107 templates/generic/bulk_rename.html:66
+#: netbox/templates/generic/bulk_edit.html:107
+#: netbox/templates/generic/bulk_rename.html:66
msgid "Apply"
-msgstr "申请"
+msgstr "应用"
-#: templates/generic/bulk_import.html:19
+#: netbox/templates/generic/bulk_import.html:19
msgid "Bulk Import"
msgstr "批量导入"
-#: templates/generic/bulk_import.html:25
+#: netbox/templates/generic/bulk_import.html:25
msgid "Direct Import"
msgstr "直接导入"
-#: templates/generic/bulk_import.html:30
+#: netbox/templates/generic/bulk_import.html:30
msgid "Upload File"
msgstr "上传文件"
-#: templates/generic/bulk_import.html:58 templates/generic/bulk_import.html:80
-#: templates/generic/bulk_import.html:102
+#: netbox/templates/generic/bulk_import.html:58
+#: netbox/templates/generic/bulk_import.html:80
+#: netbox/templates/generic/bulk_import.html:102
msgid "Submit"
msgstr "提交"
-#: templates/generic/bulk_import.html:113
+#: netbox/templates/generic/bulk_import.html:113
msgid "Field Options"
msgstr "字段选项"
-#: templates/generic/bulk_import.html:119
+#: netbox/templates/generic/bulk_import.html:119
msgid "Accessor"
-msgstr "存取器"
+msgstr "Accessor"
-#: templates/generic/bulk_import.html:161
+#: netbox/templates/generic/bulk_import.html:161
msgid "Import Value"
-msgstr "进口价值"
+msgstr "导入值"
-#: templates/generic/bulk_import.html:181
+#: netbox/templates/generic/bulk_import.html:181
msgid "Format: YYYY-MM-DD"
-msgstr "格式:YYYY-MM-DD"
+msgstr "格式:年-月-日"
-#: templates/generic/bulk_import.html:183
+#: netbox/templates/generic/bulk_import.html:183
msgid "Specify true or false"
-msgstr "指定对或错"
+msgstr "指定true或false"
-#: templates/generic/bulk_import.html:195
+#: netbox/templates/generic/bulk_import.html:195
msgid "Required fields must be specified for all objects."
-msgstr "必填字段 必须 为所有对象指定。"
+msgstr "必须 为所有对象指定必填字段"
-#: templates/generic/bulk_import.html:201
+#: netbox/templates/generic/bulk_import.html:201
#, python-format
msgid ""
"Related objects may be referenced by any unique attribute. For example, "
"%(example)s
would identify a VRF by its route distinguisher."
-msgstr "任何唯一的属性都可以引用相关对象。例如, %(example)s
将通过其路线区分器识别 VRF。"
+msgstr "相关对象可以由任何唯一的属性引用。例如,%(example)s
将通过RD来识别VRF"
-#: templates/generic/bulk_remove.html:28
+#: netbox/templates/generic/bulk_remove.html:28
msgid "Bulk Remove"
msgstr "批量移除"
-#: templates/generic/bulk_remove.html:42
+#: netbox/templates/generic/bulk_remove.html:42
msgid "Confirm Bulk Removal"
-msgstr "确认批量移除"
+msgstr "确认批量删除"
-#: templates/generic/bulk_remove.html:43
+#: netbox/templates/generic/bulk_remove.html:43
#, python-format
msgid ""
"The following operation will remove %(count)s %(obj_type_plural)s from "
"%(parent_obj)s. Please carefully review the %(obj_type_plural)s to be "
"removed and confirm below."
msgstr ""
-"以下操作将删除 %(count)s %(obj_type_plural)s 从 %(parent_obj)s。请仔细查看 "
-"%(obj_type_plural)s 待删除并在下方确认。"
+"以下操作将从%(parent_obj)s中删除%(count)s个%(obj_type_plural)s,请仔细查看要删除的%(obj_type_plural)s,并在下面进行确认。"
-#: templates/generic/bulk_remove.html:64
+#: netbox/templates/generic/bulk_remove.html:64
#, python-format
msgid "Remove these %(count)s %(obj_type_plural)s"
-msgstr "移除这些 %(count)s %(obj_type_plural)s"
+msgstr "删除%(count)s个 %(obj_type_plural)s"
-#: templates/generic/bulk_rename.html:20
+#: netbox/templates/generic/bulk_rename.html:20
msgid "Renaming"
msgstr "重命名"
-#: templates/generic/bulk_rename.html:27
+#: netbox/templates/generic/bulk_rename.html:27
msgid "Bulk Rename"
msgstr "批量重命名"
-#: templates/generic/bulk_rename.html:39
+#: netbox/templates/generic/bulk_rename.html:39
msgid "Current Name"
-msgstr "当前姓名"
+msgstr "当前名称"
-#: templates/generic/bulk_rename.html:40
+#: netbox/templates/generic/bulk_rename.html:40
msgid "New Name"
-msgstr "新名字"
+msgstr "新名称"
-#: templates/generic/bulk_rename.html:64
-#: utilities/templates/widgets/markdown_input.html:11
+#: netbox/templates/generic/bulk_rename.html:64
+#: netbox/utilities/templates/widgets/markdown_input.html:11
msgid "Preview"
msgstr "预览"
-#: templates/generic/confirmation_form.html:16
+#: netbox/templates/generic/confirmation_form.html:16
msgid "Are you sure"
-msgstr "你确定吗"
+msgstr "确认吗"
-#: templates/generic/confirmation_form.html:20
+#: netbox/templates/generic/confirmation_form.html:20
msgid "Confirm"
msgstr "确认"
-#: templates/generic/object_children.html:47
-#: utilities/templates/buttons/bulk_edit.html:4
+#: netbox/templates/generic/object_children.html:47
+#: netbox/utilities/templates/buttons/bulk_edit.html:4
msgid "Edit Selected"
-msgstr "编辑选定内容"
+msgstr "修改选中项"
-#: templates/generic/object_children.html:61
-#: utilities/templates/buttons/bulk_delete.html:4
+#: netbox/templates/generic/object_children.html:61
+#: netbox/utilities/templates/buttons/bulk_delete.html:4
msgid "Delete Selected"
-msgstr "删除选定内容"
+msgstr "删除选中项"
-#: templates/generic/object_edit.html:24
+#: netbox/templates/generic/object_edit.html:24
#, python-format
msgid "Add a new %(object_type)s"
msgstr "添加一个新的 %(object_type)s"
-#: templates/generic/object_edit.html:35
+#: netbox/templates/generic/object_edit.html:35
msgid "View model documentation"
-msgstr "查看模型文档"
+msgstr "查看model文档"
-#: templates/generic/object_edit.html:36
+#: netbox/templates/generic/object_edit.html:36
msgid "Help"
-msgstr "帮帮我"
+msgstr "帮助"
-#: templates/generic/object_edit.html:83
+#: netbox/templates/generic/object_edit.html:83
msgid "Create & Add Another"
msgstr "创建并添加另一个"
-#: templates/generic/object_list.html:57
+#: netbox/templates/generic/object_list.html:57
msgid "Filters"
-msgstr "过滤器"
+msgstr "筛选"
-#: templates/generic/object_list.html:96
+#: netbox/templates/generic/object_list.html:96
#, python-format
msgid ""
"Select all %(count)s "
"%(object_type_plural)s matching query"
msgstr ""
-"选择 所有 %(count)s "
-"%(object_type_plural)s 匹配查询"
+"选择 所有的 %(count)s个 "
+"%(object_type_plural)s 查询到的记录"
-#: templates/home.html:15
+#: netbox/templates/home.html:15
msgid "New Release Available"
-msgstr "新版本可用"
+msgstr "有新版本可用"
-#: templates/home.html:16
+#: netbox/templates/home.html:16
msgid "is available"
msgstr "可用"
-#: templates/home.html:18
+#: netbox/templates/home.html:18
msgctxt "Document title"
msgid "Upgrade Instructions"
msgstr "升级说明"
-#: templates/home.html:40
+#: netbox/templates/home.html:40
msgid "Unlock Dashboard"
msgstr "解锁仪表板"
-#: templates/home.html:49
+#: netbox/templates/home.html:49
msgid "Lock Dashboard"
msgstr "锁定仪表板"
-#: templates/home.html:60
+#: netbox/templates/home.html:60
msgid "Add Widget"
-msgstr "添加小工具"
+msgstr "添加小组件"
-#: templates/home.html:63
+#: netbox/templates/home.html:63
msgid "Save Layout"
-msgstr "保存布局"
+msgstr "保存仪表盘"
-#: templates/htmx/delete_form.html:7
+#: netbox/templates/htmx/delete_form.html:7
msgid "Confirm Deletion"
-msgstr "确认删除"
+msgstr "删除确认"
-#: templates/htmx/delete_form.html:11
+#: netbox/templates/htmx/delete_form.html:11
#, python-format
msgid ""
"Are you sure you want to delete "
"%(object_type)s %(object)s ?"
msgstr ""
-"你确定要吗 删除 %(object_type)s "
-"%(object)s ?"
+"确认删除 %(object_type)s "
+"%(object)s ?"
-#: templates/htmx/delete_form.html:17
+#: netbox/templates/htmx/delete_form.html:17
msgid "The following objects will be deleted as a result of this action."
-msgstr "此操作将导致以下对象被删除。"
+msgstr "此操作将删除以下对象。"
-#: templates/htmx/object_selector.html:5
+#: netbox/templates/htmx/object_selector.html:5
msgid "Select"
msgstr "选择"
-#: templates/inc/filter_list.html:42
-#: utilities/templates/helpers/table_config_form.html:39
+#: netbox/templates/inc/filter_list.html:42
+#: netbox/utilities/templates/helpers/table_config_form.html:39
msgid "Reset"
msgstr "重置"
-#: templates/inc/missing_prerequisites.html:8
+#: netbox/templates/inc/light_toggle.html:4
+msgid "Enable dark mode"
+msgstr "启用深色模式"
+
+#: netbox/templates/inc/light_toggle.html:7
+msgid "Enable light mode"
+msgstr "启用浅色模式"
+
+#: netbox/templates/inc/missing_prerequisites.html:8
#, python-format
msgid ""
"Before you can add a %(model)s you must first create a "
"%(prerequisite_model)s ."
-msgstr "在你添加之前 %(model)s 你必须先创建一个 %(prerequisite_model)s 。"
+msgstr "添加%(model)s之前,必须先创建%(prerequisite_model)s ."
-#: templates/inc/paginator.html:15
+#: netbox/templates/inc/paginator.html:15
msgid "Page selection"
msgstr "页面选择"
-#: templates/inc/paginator.html:75
+#: netbox/templates/inc/paginator.html:75
#, python-format
msgid "Showing %(start)s-%(end)s of %(total)s"
-msgstr "显示 %(start)s-%(end)s 的 %(total)s"
+msgstr "显示 %(start)s-%(end)s 共 %(total)s"
-#: templates/inc/paginator.html:82
+#: netbox/templates/inc/paginator.html:82
msgid "Pagination options"
msgstr "分页选项"
-#: templates/inc/paginator.html:86
+#: netbox/templates/inc/paginator.html:86
msgid "Per Page"
msgstr "每页"
-#: templates/inc/panels/image_attachments.html:10
+#: netbox/templates/inc/panels/image_attachments.html:10
msgid "Attach an image"
-msgstr "附上图片"
+msgstr "增加图片"
-#: templates/inc/panels/related_objects.html:5
+#: netbox/templates/inc/panels/related_objects.html:5
msgid "Related Objects"
msgstr "相关对象"
-#: templates/inc/panels/tags.html:11
+#: netbox/templates/inc/panels/tags.html:11
msgid "No tags assigned"
-msgstr "未分配标签"
+msgstr "没有分配标签"
-#: templates/inc/sync_warning.html:10
+#: netbox/templates/inc/sync_warning.html:10
msgid "Data is out of sync with upstream file"
msgstr "数据与上游文件不同步"
-#: templates/inc/user_menu.html:23
-msgid "Django Admin"
-msgstr "Django 管理员"
+#: netbox/templates/inc/table_controls_htmx.html:7
+msgid "Quick search"
+msgstr "快速搜索"
-#: templates/inc/user_menu.html:40
+#: netbox/templates/inc/table_controls_htmx.html:20
+msgid "Saved filter"
+msgstr "保存的筛选"
+
+#: netbox/templates/inc/user_menu.html:23
+msgid "Django Admin"
+msgstr "Django Admin"
+
+#: netbox/templates/inc/user_menu.html:40
msgid "Log Out"
msgstr "登出"
-#: templates/inc/user_menu.html:47 templates/login.html:36
+#: netbox/templates/inc/user_menu.html:47 netbox/templates/login.html:36
msgid "Log In"
msgstr "登录"
-#: templates/ipam/aggregate.html:14 templates/ipam/ipaddress.html:14
-#: templates/ipam/iprange.html:13 templates/ipam/prefix.html:15
+#: netbox/templates/ipam/aggregate.html:14
+#: netbox/templates/ipam/ipaddress.html:14
+#: netbox/templates/ipam/iprange.html:13 netbox/templates/ipam/prefix.html:15
msgid "Family"
-msgstr "家庭"
+msgstr "Family"
-#: templates/ipam/aggregate.html:39
+#: netbox/templates/ipam/aggregate.html:39
msgid "Date Added"
msgstr "添加日期"
-#: templates/ipam/aggregate/prefixes.html:8
-#: templates/ipam/prefix/prefixes.html:8 templates/ipam/role.html:10
+#: netbox/templates/ipam/aggregate/prefixes.html:8
+#: netbox/templates/ipam/prefix/prefixes.html:8
+#: netbox/templates/ipam/role.html:10
msgid "Add Prefix"
-msgstr "添加前缀"
+msgstr "增加IP前缀"
-#: templates/ipam/asn.html:23
+#: netbox/templates/ipam/asn.html:23
msgid "AS Number"
-msgstr "AS 编号"
+msgstr "AS号码"
-#: templates/ipam/fhrpgroup.html:52
+#: netbox/templates/ipam/fhrpgroup.html:52
msgid "Authentication Type"
-msgstr "身份验证类型"
+msgstr "认证类型"
-#: templates/ipam/fhrpgroup.html:56
+#: netbox/templates/ipam/fhrpgroup.html:56
msgid "Authentication Key"
-msgstr "身份验证密钥"
+msgstr "认证密钥"
-#: templates/ipam/fhrpgroup.html:69
+#: netbox/templates/ipam/fhrpgroup.html:69
msgid "Virtual IP Addresses"
-msgstr "虚拟 IP 地址"
+msgstr "虚拟IP地址"
-#: templates/ipam/inc/ipaddress_edit_header.html:13
+#: netbox/templates/ipam/inc/ipaddress_edit_header.html:13
msgid "Assign IP"
-msgstr "分配 IP"
+msgstr "分配IP"
-#: templates/ipam/inc/ipaddress_edit_header.html:19
+#: netbox/templates/ipam/inc/ipaddress_edit_header.html:19
msgid "Bulk Create"
msgstr "批量创建"
-#: templates/ipam/inc/panels/fhrp_groups.html:10
+#: netbox/templates/ipam/inc/panels/fhrp_groups.html:10
msgid "Create Group"
-msgstr "创建群组"
+msgstr "创建组"
-#: templates/ipam/inc/panels/fhrp_groups.html:15
+#: netbox/templates/ipam/inc/panels/fhrp_groups.html:15
msgid "Assign Group"
-msgstr "分配群组"
+msgstr "分配组"
-#: templates/ipam/inc/panels/fhrp_groups.html:25
+#: netbox/templates/ipam/inc/panels/fhrp_groups.html:25
msgid "Virtual IPs"
-msgstr "虚拟 IP"
+msgstr "虚拟IP"
-#: templates/ipam/inc/toggle_available.html:7
+#: netbox/templates/ipam/inc/toggle_available.html:7
msgid "Show Assigned"
-msgstr "显示已分配"
+msgstr "查看指定的"
-#: templates/ipam/inc/toggle_available.html:10
+#: netbox/templates/ipam/inc/toggle_available.html:10
msgid "Show Available"
-msgstr "显示可用"
+msgstr "查看可用"
-#: templates/ipam/inc/toggle_available.html:13
+#: netbox/templates/ipam/inc/toggle_available.html:13
msgid "Show All"
-msgstr "显示全部"
+msgstr "全部显示"
-#: templates/ipam/ipaddress.html:23 templates/ipam/iprange.html:45
-#: templates/ipam/prefix.html:24
+#: netbox/templates/ipam/ipaddress.html:23
+#: netbox/templates/ipam/iprange.html:45 netbox/templates/ipam/prefix.html:24
msgid "Global"
-msgstr "全球"
+msgstr "全局"
-#: templates/ipam/ipaddress.html:85
+#: netbox/templates/ipam/ipaddress.html:85
msgid "NAT (outside)"
-msgstr "NAT(外部)"
+msgstr "NAT(外部ip)"
-#: templates/ipam/ipaddress_assign.html:8
+#: netbox/templates/ipam/ipaddress_assign.html:8
msgid "Assign an IP Address"
-msgstr "分配 IP 地址"
+msgstr "分配IP地址"
-#: templates/ipam/ipaddress_assign.html:22
+#: netbox/templates/ipam/ipaddress_assign.html:22
msgid "Select IP Address"
-msgstr "选择 IP 地址"
+msgstr "选择IP地址"
-#: templates/ipam/ipaddress_assign.html:35
+#: netbox/templates/ipam/ipaddress_assign.html:35
msgid "Search Results"
-msgstr "搜寻结果"
+msgstr "搜索结果"
-#: templates/ipam/ipaddress_bulk_add.html:6
+#: netbox/templates/ipam/ipaddress_bulk_add.html:6
msgid "Bulk Add IP Addresses"
-msgstr "批量添加 IP 地址"
+msgstr "批量创建IP地址"
-#: templates/ipam/iprange.html:17
+#: netbox/templates/ipam/iprange.html:17
msgid "Starting Address"
-msgstr "起始地址"
+msgstr "开始地址"
-#: templates/ipam/iprange.html:21
+#: netbox/templates/ipam/iprange.html:21
msgid "Ending Address"
msgstr "结束地址"
-#: templates/ipam/iprange.html:33 templates/ipam/prefix.html:110
+#: netbox/templates/ipam/iprange.html:33 netbox/templates/ipam/prefix.html:110
msgid "Marked fully utilized"
-msgstr "标记为已完全使用"
+msgstr "标记为已全部被使用"
-#: templates/ipam/prefix.html:99
+#: netbox/templates/ipam/prefix.html:99
msgid "Addressing Details"
-msgstr "地址详情"
+msgstr "IP地址详细信息"
-#: templates/ipam/prefix.html:118
+#: netbox/templates/ipam/prefix.html:118
msgid "Child IPs"
-msgstr "儿童 IP"
+msgstr "子IP"
-#: templates/ipam/prefix.html:126
+#: netbox/templates/ipam/prefix.html:126
msgid "Available IPs"
-msgstr "可用的 IP"
+msgstr "可用IP"
-#: templates/ipam/prefix.html:138
+#: netbox/templates/ipam/prefix.html:138
msgid "First available IP"
-msgstr "第一个可用的 IP"
+msgstr "第一个可用IP"
-#: templates/ipam/prefix.html:179
+#: netbox/templates/ipam/prefix.html:179
msgid "Prefix Details"
-msgstr "前缀详情"
+msgstr "前缀详细信息"
-#: templates/ipam/prefix.html:185
+#: netbox/templates/ipam/prefix.html:185
msgid "Network Address"
-msgstr "网络地址"
+msgstr "网络位地址"
-#: templates/ipam/prefix.html:189
+#: netbox/templates/ipam/prefix.html:189
msgid "Network Mask"
-msgstr "网络掩码"
+msgstr "网络掩码/子网掩码"
-#: templates/ipam/prefix.html:193
+#: netbox/templates/ipam/prefix.html:193
msgid "Wildcard Mask"
-msgstr "通配符掩码"
+msgstr "反掩码"
-#: templates/ipam/prefix.html:197
+#: netbox/templates/ipam/prefix.html:197
msgid "Broadcast Address"
msgstr "广播地址"
-#: templates/ipam/prefix/ip_ranges.html:7
+#: netbox/templates/ipam/prefix/ip_ranges.html:7
msgid "Add IP Range"
-msgstr "添加 IP 范围"
+msgstr "添加IP范围"
-#: templates/ipam/prefix_list.html:7
+#: netbox/templates/ipam/prefix_list.html:7
msgid "Hide Depth Indicators"
-msgstr "隐藏深度指示器"
+msgstr "隐藏深度值"
-#: templates/ipam/prefix_list.html:11
+#: netbox/templates/ipam/prefix_list.html:11
msgid "Max Depth"
msgstr "最大深度"
-#: templates/ipam/prefix_list.html:28
+#: netbox/templates/ipam/prefix_list.html:28
msgid "Max Length"
msgstr "最大长度"
-#: templates/ipam/rir.html:10
+#: netbox/templates/ipam/rir.html:10
msgid "Add Aggregate"
-msgstr "添加聚合"
+msgstr "添加聚合IP"
-#: templates/ipam/routetarget.html:38
+#: netbox/templates/ipam/routetarget.html:38
msgid "Importing VRFs"
-msgstr "导入 VRF"
+msgstr "导入VFR"
-#: templates/ipam/routetarget.html:44
+#: netbox/templates/ipam/routetarget.html:44
msgid "Exporting VRFs"
-msgstr "导出 VRF"
+msgstr "导出VFR"
-#: templates/ipam/routetarget.html:52
+#: netbox/templates/ipam/routetarget.html:52
msgid "Importing L2VPNs"
-msgstr "导入 L2VPN"
+msgstr "导入L2VPN"
-#: templates/ipam/routetarget.html:58
+#: netbox/templates/ipam/routetarget.html:58
msgid "Exporting L2VPNs"
-msgstr "导出 L2VPN"
+msgstr "导出L2VPN"
-#: templates/ipam/vlan.html:88
+#: netbox/templates/ipam/vlan.html:88
msgid "Add a Prefix"
-msgstr "添加前缀"
+msgstr "添加一个前缀"
-#: templates/ipam/vlangroup.html:18
+#: netbox/templates/ipam/vlangroup.html:18
msgid "Add VLAN"
-msgstr "添加 VLAN"
+msgstr "添加VLAN"
-#: templates/ipam/vlangroup.html:42
+#: netbox/templates/ipam/vlangroup.html:42
msgid "Permitted VIDs"
-msgstr "允许的 VID"
+msgstr "允许的VID"
-#: templates/ipam/vrf.html:16
+#: netbox/templates/ipam/vrf.html:16
msgid "Route Distinguisher"
-msgstr "路线区分器"
+msgstr "路由实例"
-#: templates/ipam/vrf.html:29
+#: netbox/templates/ipam/vrf.html:29
msgid "Unique IP Space"
-msgstr "独一无二的 IP 空间"
+msgstr "独立IP空间"
-#: templates/login.html:14
+#: netbox/templates/login.html:14
msgid "NetBox logo"
-msgstr "NetBox 徽标"
+msgstr "NetBox logo"
-#: templates/login.html:27
-#: utilities/templates/form_helpers/render_errors.html:7
+#: netbox/templates/login.html:27
+#: netbox/utilities/templates/form_helpers/render_errors.html:7
msgid "Errors"
msgstr "错误"
-#: templates/login.html:67
+#: netbox/templates/login.html:67
msgid "Sign In"
msgstr "登录"
-#: templates/login.html:75
+#: netbox/templates/login.html:75
msgctxt "Denotes an alternative option"
msgid "Or"
-msgstr "或者"
+msgstr "或"
-#: templates/media_failure.html:7
+#: netbox/templates/media_failure.html:7
msgid "Static Media Failure - NetBox"
-msgstr "静态媒体故障-NetBox"
+msgstr "静态文件故障-NetBox"
-#: templates/media_failure.html:21
+#: netbox/templates/media_failure.html:21
msgid "Static Media Failure"
-msgstr "静态媒体故障"
+msgstr "静态文件故障"
-#: templates/media_failure.html:23
+#: netbox/templates/media_failure.html:23
msgid "The following static media file failed to load"
-msgstr "以下静态媒体文件加载失败"
+msgstr "无法加载以下静态文件"
-#: templates/media_failure.html:26
+#: netbox/templates/media_failure.html:26
msgid "Check the following"
msgstr "检查以下内容"
-#: templates/media_failure.html:29
+#: netbox/templates/media_failure.html:29
msgid ""
"manage.py collectstatic
was run during the most recent upgrade."
" This installs the most recent iteration of each static file into the static"
" root path."
-msgstr "manage.py 集合静态
是在最近一次升级期间运行的。这会将每个静态文件的最新迭代安装到静态根路径中。"
+msgstr ""
+"在升级过程中执行manage.py collectstatic
。这会将每个静态文件的最新迭代版本安装到静态文件根路径中。"
-#: templates/media_failure.html:35
+#: netbox/templates/media_failure.html:35
#, python-format
msgid ""
"The HTTP service (e.g. nginx or Apache) is configured to serve files from "
"the STATIC_ROOT
path. Refer to the "
"installation documentation for further guidance."
msgstr ""
-"HTTP 服务(例如 nginx 或 Apache)配置为提供来自的文件 静态根
路径。请参阅 安装文档 以获取进一步的指导。"
+"HTTP服务(例如nginx或Apache)被配置为从STATIC_ROOT
路径提供文件。请参考the installation documentation 以获取更多指导。"
-#: templates/media_failure.html:47
+#: netbox/templates/media_failure.html:47
#, python-format
msgid ""
"The file %(filename)s
exists in the static root directory and "
"is readable by the HTTP server."
-msgstr "这个文件 %(filename)s
存在于静态根目录中,可由 HTTP 服务器读取。"
+msgstr "文件%(filename)s
存在于静态文件根目录中,可由HTTP服务器读取。"
-#: templates/media_failure.html:55
+#: netbox/templates/media_failure.html:55
#, python-format
msgid "Click here to attempt loading NetBox again."
-msgstr "点击 这里 尝试再次加载 NetBox。"
+msgstr "点击 这里 重新加载NetBox"
-#: templates/tenancy/contact.html:18 tenancy/filtersets.py:148
-#: tenancy/forms/bulk_edit.py:137 tenancy/forms/filtersets.py:102
-#: tenancy/forms/forms.py:56 tenancy/forms/model_forms.py:106
-#: tenancy/forms/model_forms.py:130 tenancy/tables/contacts.py:98
+#: netbox/templates/tenancy/contact.html:18 netbox/tenancy/filtersets.py:148
+#: netbox/tenancy/forms/bulk_edit.py:137
+#: netbox/tenancy/forms/filtersets.py:102 netbox/tenancy/forms/forms.py:56
+#: netbox/tenancy/forms/model_forms.py:106
+#: netbox/tenancy/forms/model_forms.py:130
+#: netbox/tenancy/tables/contacts.py:98
msgid "Contact"
-msgstr "联系我们"
+msgstr "联系人"
-#: templates/tenancy/contact.html:29 tenancy/forms/bulk_edit.py:99
+#: netbox/templates/tenancy/contact.html:29
+#: netbox/tenancy/forms/bulk_edit.py:99
msgid "Title"
msgstr "标题"
-#: templates/tenancy/contact.html:33 tenancy/forms/bulk_edit.py:104
-#: tenancy/tables/contacts.py:64
+#: netbox/templates/tenancy/contact.html:33
+#: netbox/tenancy/forms/bulk_edit.py:104 netbox/tenancy/tables/contacts.py:64
msgid "Phone"
-msgstr "电话"
+msgstr "手机号"
-#: templates/tenancy/contact.html:84 tenancy/tables/contacts.py:73
+#: netbox/templates/tenancy/contact.html:84
+#: netbox/tenancy/tables/contacts.py:73
msgid "Assignments"
-msgstr "作业"
+msgstr "分配"
-#: templates/tenancy/contactgroup.html:18 tenancy/forms/forms.py:66
-#: tenancy/forms/model_forms.py:75
+#: netbox/templates/tenancy/contactgroup.html:18
+#: netbox/tenancy/forms/forms.py:66 netbox/tenancy/forms/model_forms.py:75
msgid "Contact Group"
-msgstr "联系小组"
+msgstr "联系人组"
-#: templates/tenancy/contactgroup.html:50
+#: netbox/templates/tenancy/contactgroup.html:50
msgid "Add Contact Group"
-msgstr "添加联系人组"
+msgstr "增加联系人组"
-#: templates/tenancy/contactrole.html:15 tenancy/filtersets.py:153
-#: tenancy/forms/forms.py:61 tenancy/forms/model_forms.py:87
+#: netbox/templates/tenancy/contactrole.html:15
+#: netbox/tenancy/filtersets.py:153 netbox/tenancy/forms/forms.py:61
+#: netbox/tenancy/forms/model_forms.py:87
msgid "Contact Role"
msgstr "联系人角色"
-#: templates/tenancy/object_contacts.html:9
+#: netbox/templates/tenancy/object_contacts.html:9
msgid "Add a contact"
-msgstr "添加联系人"
+msgstr "增加联系人"
-#: templates/tenancy/tenantgroup.html:17
+#: netbox/templates/tenancy/tenantgroup.html:17
msgid "Add Tenant"
-msgstr "添加租户"
+msgstr "增加租户"
-#: templates/tenancy/tenantgroup.html:26 tenancy/forms/model_forms.py:32
-#: tenancy/tables/columns.py:51 tenancy/tables/columns.py:61
+#: netbox/templates/tenancy/tenantgroup.html:26
+#: netbox/tenancy/forms/model_forms.py:32 netbox/tenancy/tables/columns.py:51
+#: netbox/tenancy/tables/columns.py:61
msgid "Tenant Group"
msgstr "租户组"
-#: templates/tenancy/tenantgroup.html:59
+#: netbox/templates/tenancy/tenantgroup.html:59
msgid "Add Tenant Group"
-msgstr "添加租户组"
+msgstr "增加租户组"
-#: templates/users/group.html:39 templates/users/user.html:63
+#: netbox/templates/users/group.html:39 netbox/templates/users/user.html:63
msgid "Assigned Permissions"
msgstr "分配的权限"
-#: templates/users/objectpermission.html:6
-#: templates/users/objectpermission.html:14 users/forms/filtersets.py:67
+#: netbox/templates/users/objectpermission.html:6
+#: netbox/templates/users/objectpermission.html:14
+#: netbox/users/forms/filtersets.py:67
msgid "Permission"
-msgstr "许可"
+msgstr "权限"
-#: templates/users/objectpermission.html:34
+#: netbox/templates/users/objectpermission.html:34
msgid "View"
msgstr "查看"
-#: templates/users/objectpermission.html:52 users/forms/model_forms.py:312
+#: netbox/templates/users/objectpermission.html:52
+#: netbox/users/forms/model_forms.py:312
msgid "Constraints"
msgstr "限制因素"
-#: templates/users/objectpermission.html:72
+#: netbox/templates/users/objectpermission.html:72
msgid "Assigned Users"
-msgstr "分配的用户"
+msgstr "分配用户"
-#: templates/virtualization/cluster.html:52
+#: netbox/templates/virtualization/cluster.html:52
msgid "Allocated Resources"
-msgstr "分配的资源"
+msgstr "已分配资源"
-#: templates/virtualization/cluster.html:55
-#: templates/virtualization/virtualmachine.html:121
+#: netbox/templates/virtualization/cluster.html:55
+#: netbox/templates/virtualization/virtualmachine.html:121
msgid "Virtual CPUs"
-msgstr "虚拟 CPU"
+msgstr "虚拟CPU"
-#: templates/virtualization/cluster.html:59
-#: templates/virtualization/virtualmachine.html:125
+#: netbox/templates/virtualization/cluster.html:59
+#: netbox/templates/virtualization/virtualmachine.html:125
msgid "Memory"
-msgstr "记忆"
+msgstr "内存"
-#: templates/virtualization/cluster.html:69
-#: templates/virtualization/virtualmachine.html:136
+#: netbox/templates/virtualization/cluster.html:69
+#: netbox/templates/virtualization/virtualmachine.html:136
msgid "Disk Space"
msgstr "磁盘空间"
-#: templates/virtualization/cluster.html:72
-#: templates/virtualization/virtualdisk.html:32
-#: templates/virtualization/virtualmachine.html:140
+#: netbox/templates/virtualization/cluster.html:72
+#: netbox/templates/virtualization/virtualdisk.html:32
+#: netbox/templates/virtualization/virtualmachine.html:140
msgctxt "Abbreviation for gigabyte"
msgid "GB"
msgstr "GB"
-#: templates/virtualization/cluster/base.html:18
+#: netbox/templates/virtualization/cluster/base.html:18
msgid "Add Virtual Machine"
-msgstr "添加虚拟机"
+msgstr "增加虚拟机"
-#: templates/virtualization/cluster/base.html:24
+#: netbox/templates/virtualization/cluster/base.html:24
msgid "Assign Device"
msgstr "分配设备"
-#: templates/virtualization/cluster/devices.html:10
+#: netbox/templates/virtualization/cluster/devices.html:10
msgid "Remove Selected"
-msgstr "移除所选内容"
+msgstr "删除选定"
-#: templates/virtualization/cluster_add_devices.html:9
+#: netbox/templates/virtualization/cluster_add_devices.html:9
#, python-format
msgid "Add Device to Cluster %(cluster)s"
-msgstr "将设备添加到集群 %(cluster)s"
+msgstr "增加设备到虚拟化集群 %(cluster)s"
-#: templates/virtualization/cluster_add_devices.html:23
+#: netbox/templates/virtualization/cluster_add_devices.html:23
msgid "Device Selection"
msgstr "设备选择"
-#: templates/virtualization/cluster_add_devices.html:31
+#: netbox/templates/virtualization/cluster_add_devices.html:31
msgid "Add Devices"
-msgstr "添加设备"
+msgstr "增加设备"
-#: templates/virtualization/clustergroup.html:10
-#: templates/virtualization/clustertype.html:10
+#: netbox/templates/virtualization/clustergroup.html:10
+#: netbox/templates/virtualization/clustertype.html:10
msgid "Add Cluster"
-msgstr "添加集群"
+msgstr "增加集群"
-#: templates/virtualization/clustergroup.html:19
-#: virtualization/forms/model_forms.py:50
+#: netbox/templates/virtualization/clustergroup.html:19
+#: netbox/virtualization/forms/model_forms.py:50
msgid "Cluster Group"
msgstr "集群组"
-#: templates/virtualization/clustertype.html:19
-#: templates/virtualization/virtualmachine.html:106
-#: virtualization/forms/model_forms.py:36
+#: netbox/templates/virtualization/clustertype.html:19
+#: netbox/templates/virtualization/virtualmachine.html:106
+#: netbox/virtualization/forms/model_forms.py:36
msgid "Cluster Type"
msgstr "集群类型"
-#: templates/virtualization/virtualdisk.html:18
+#: netbox/templates/virtualization/virtualdisk.html:18
msgid "Virtual Disk"
-msgstr "虚拟磁盘"
+msgstr "虚拟硬盘"
-#: templates/virtualization/virtualmachine.html:118
-#: virtualization/forms/bulk_edit.py:190
-#: virtualization/forms/model_forms.py:224
+#: netbox/templates/virtualization/virtualmachine.html:118
+#: netbox/virtualization/forms/bulk_edit.py:190
+#: netbox/virtualization/forms/model_forms.py:224
msgid "Resources"
msgstr "资源"
-#: templates/virtualization/virtualmachine.html:174
+#: netbox/templates/virtualization/virtualmachine.html:174
msgid "Add Virtual Disk"
-msgstr "添加虚拟磁盘"
+msgstr "增加虚拟硬盘"
-#: templates/vpn/ikepolicy.html:10 templates/vpn/ipsecprofile.html:33
-#: vpn/tables/crypto.py:166
+#: netbox/templates/vpn/ikepolicy.html:10
+#: netbox/templates/vpn/ipsecprofile.html:33 netbox/vpn/tables/crypto.py:166
msgid "IKE Policy"
-msgstr "IKE 政策"
+msgstr "IKE Policy"
-#: templates/vpn/ikepolicy.html:21
+#: netbox/templates/vpn/ikepolicy.html:21
msgid "IKE Version"
msgstr "IKE 版本"
-#: templates/vpn/ikepolicy.html:29
+#: netbox/templates/vpn/ikepolicy.html:29
msgid "Pre-Shared Key"
-msgstr "预共享密钥"
+msgstr "预共享密钥-PSK"
-#: templates/vpn/ikepolicy.html:33
-#: templates/wireless/inc/authentication_attrs.html:20
+#: netbox/templates/vpn/ikepolicy.html:33
+#: netbox/templates/wireless/inc/authentication_attrs.html:20
msgid "Show Secret"
-msgstr "显示秘密"
+msgstr "显示密码"
-#: templates/vpn/ikepolicy.html:57 templates/vpn/ipsecpolicy.html:45
-#: templates/vpn/ipsecprofile.html:52 templates/vpn/ipsecprofile.html:77
-#: vpn/forms/model_forms.py:316 vpn/forms/model_forms.py:352
-#: vpn/tables/crypto.py:68 vpn/tables/crypto.py:134
+#: netbox/templates/vpn/ikepolicy.html:57
+#: netbox/templates/vpn/ipsecpolicy.html:45
+#: netbox/templates/vpn/ipsecprofile.html:52
+#: netbox/templates/vpn/ipsecprofile.html:77
+#: netbox/vpn/forms/model_forms.py:316 netbox/vpn/forms/model_forms.py:352
+#: netbox/vpn/tables/crypto.py:68 netbox/vpn/tables/crypto.py:134
msgid "Proposals"
-msgstr "提案"
+msgstr "Proposals"
-#: templates/vpn/ikeproposal.html:10
+#: netbox/templates/vpn/ikeproposal.html:10
msgid "IKE Proposal"
-msgstr "IKE 提案"
+msgstr "IKE Proposal"
-#: templates/vpn/ikeproposal.html:21 vpn/forms/bulk_edit.py:97
-#: vpn/forms/bulk_import.py:145 vpn/forms/filtersets.py:101
+#: netbox/templates/vpn/ikeproposal.html:21 netbox/vpn/forms/bulk_edit.py:97
+#: netbox/vpn/forms/bulk_import.py:145 netbox/vpn/forms/filtersets.py:101
msgid "Authentication method"
msgstr "身份验证方法"
-#: templates/vpn/ikeproposal.html:25 templates/vpn/ipsecproposal.html:21
-#: vpn/forms/bulk_edit.py:102 vpn/forms/bulk_edit.py:172
-#: vpn/forms/bulk_import.py:149 vpn/forms/bulk_import.py:195
-#: vpn/forms/filtersets.py:106 vpn/forms/filtersets.py:154
+#: netbox/templates/vpn/ikeproposal.html:25
+#: netbox/templates/vpn/ipsecproposal.html:21
+#: netbox/vpn/forms/bulk_edit.py:102 netbox/vpn/forms/bulk_edit.py:172
+#: netbox/vpn/forms/bulk_import.py:149 netbox/vpn/forms/bulk_import.py:195
+#: netbox/vpn/forms/filtersets.py:106 netbox/vpn/forms/filtersets.py:154
msgid "Encryption algorithm"
msgstr "加密算法"
-#: templates/vpn/ikeproposal.html:29 templates/vpn/ipsecproposal.html:25
-#: vpn/forms/bulk_edit.py:107 vpn/forms/bulk_edit.py:177
-#: vpn/forms/bulk_import.py:153 vpn/forms/bulk_import.py:200
-#: vpn/forms/filtersets.py:111 vpn/forms/filtersets.py:159
+#: netbox/templates/vpn/ikeproposal.html:29
+#: netbox/templates/vpn/ipsecproposal.html:25
+#: netbox/vpn/forms/bulk_edit.py:107 netbox/vpn/forms/bulk_edit.py:177
+#: netbox/vpn/forms/bulk_import.py:153 netbox/vpn/forms/bulk_import.py:200
+#: netbox/vpn/forms/filtersets.py:111 netbox/vpn/forms/filtersets.py:159
msgid "Authentication algorithm"
-msgstr "身份验证算法"
+msgstr "认证算法"
-#: templates/vpn/ikeproposal.html:33
+#: netbox/templates/vpn/ikeproposal.html:33
msgid "DH group"
-msgstr "DH 小组"
+msgstr "DH group"
-#: templates/vpn/ikeproposal.html:37 templates/vpn/ipsecproposal.html:29
-#: vpn/forms/bulk_edit.py:182 vpn/models/crypto.py:146
+#: netbox/templates/vpn/ikeproposal.html:37
+#: netbox/templates/vpn/ipsecproposal.html:29
+#: netbox/vpn/forms/bulk_edit.py:182 netbox/vpn/models/crypto.py:146
msgid "SA lifetime (seconds)"
-msgstr "SA 生命周期(秒)"
+msgstr "SA生存期(秒)"
-#: templates/vpn/ipsecpolicy.html:10 templates/vpn/ipsecprofile.html:66
-#: vpn/tables/crypto.py:170
+#: netbox/templates/vpn/ipsecpolicy.html:10
+#: netbox/templates/vpn/ipsecprofile.html:66 netbox/vpn/tables/crypto.py:170
msgid "IPSec Policy"
-msgstr "IPsec 政策"
+msgstr "IPSec Policy"
-#: templates/vpn/ipsecpolicy.html:21 vpn/forms/bulk_edit.py:210
-#: vpn/models/crypto.py:193
+#: netbox/templates/vpn/ipsecpolicy.html:21 netbox/vpn/forms/bulk_edit.py:210
+#: netbox/vpn/models/crypto.py:193
msgid "PFS group"
-msgstr "PFS 群组"
+msgstr "PFS group"
-#: templates/vpn/ipsecprofile.html:10 vpn/forms/model_forms.py:54
+#: netbox/templates/vpn/ipsecprofile.html:10
+#: netbox/vpn/forms/model_forms.py:54
msgid "IPSec Profile"
-msgstr "IPsec 配置文件"
+msgstr "IPSec Profile"
-#: templates/vpn/ipsecprofile.html:89 vpn/tables/crypto.py:137
+#: netbox/templates/vpn/ipsecprofile.html:89 netbox/vpn/tables/crypto.py:137
msgid "PFS Group"
-msgstr "PFS 集团"
+msgstr "PFS Group"
-#: templates/vpn/ipsecproposal.html:10
+#: netbox/templates/vpn/ipsecproposal.html:10
msgid "IPSec Proposal"
-msgstr "IPsec 提案"
+msgstr "IPSec Proposal"
-#: templates/vpn/ipsecproposal.html:33 vpn/forms/bulk_edit.py:186
-#: vpn/models/crypto.py:152
+#: netbox/templates/vpn/ipsecproposal.html:33
+#: netbox/vpn/forms/bulk_edit.py:186 netbox/vpn/models/crypto.py:152
msgid "SA lifetime (KB)"
-msgstr "SA 生命周期 (KB)"
+msgstr "SA生存大小(KB)"
-#: templates/vpn/l2vpn.html:11 templates/vpn/l2vpntermination.html:9
+#: netbox/templates/vpn/l2vpn.html:11
+#: netbox/templates/vpn/l2vpntermination.html:9
msgid "L2VPN Attributes"
msgstr "L2VPN 属性"
-#: templates/vpn/l2vpn.html:60 templates/vpn/tunnel.html:76
+#: netbox/templates/vpn/l2vpn.html:60 netbox/templates/vpn/tunnel.html:76
msgid "Add a Termination"
-msgstr "添加终止信息"
+msgstr "增加接入点"
-#: templates/vpn/tunnel.html:9
+#: netbox/templates/vpn/tunnel.html:9
msgid "Add Termination"
-msgstr "添加终止"
+msgstr "增加接入点"
-#: templates/vpn/tunnel.html:37 vpn/forms/bulk_edit.py:49
-#: vpn/forms/bulk_import.py:48 vpn/forms/filtersets.py:57
+#: netbox/templates/vpn/tunnel.html:37 netbox/vpn/forms/bulk_edit.py:49
+#: netbox/vpn/forms/bulk_import.py:48 netbox/vpn/forms/filtersets.py:57
msgid "Encapsulation"
msgstr "封装"
-#: templates/vpn/tunnel.html:41 vpn/forms/bulk_edit.py:55
-#: vpn/forms/bulk_import.py:53 vpn/forms/filtersets.py:64
-#: vpn/models/crypto.py:250 vpn/tables/tunnels.py:51
+#: netbox/templates/vpn/tunnel.html:41 netbox/vpn/forms/bulk_edit.py:55
+#: netbox/vpn/forms/bulk_import.py:53 netbox/vpn/forms/filtersets.py:64
+#: netbox/vpn/models/crypto.py:250 netbox/vpn/tables/tunnels.py:51
msgid "IPSec profile"
-msgstr "IPsec 配置文件"
+msgstr "IPSec profile"
-#: templates/vpn/tunnel.html:45 vpn/forms/bulk_edit.py:69
-#: vpn/forms/filtersets.py:68
+#: netbox/templates/vpn/tunnel.html:45 netbox/vpn/forms/bulk_edit.py:69
+#: netbox/vpn/forms/filtersets.py:68
msgid "Tunnel ID"
-msgstr "隧道 ID"
+msgstr "Tunnel ID"
-#: templates/vpn/tunnelgroup.html:14
+#: netbox/templates/vpn/tunnelgroup.html:14
msgid "Add Tunnel"
-msgstr "添加隧道"
+msgstr "增加 Tunnel"
-#: templates/vpn/tunnelgroup.html:23 vpn/forms/model_forms.py:36
-#: vpn/forms/model_forms.py:49
+#: netbox/templates/vpn/tunnelgroup.html:23 netbox/vpn/forms/model_forms.py:36
+#: netbox/vpn/forms/model_forms.py:49
msgid "Tunnel Group"
-msgstr "隧道集团"
+msgstr "Tunnel 组"
-#: templates/vpn/tunneltermination.html:10
+#: netbox/templates/vpn/tunneltermination.html:10
msgid "Tunnel Termination"
-msgstr "隧道终止"
+msgstr "Tunnel 接入点"
-#: templates/vpn/tunneltermination.html:35 vpn/forms/bulk_import.py:107
-#: vpn/forms/model_forms.py:102 vpn/forms/model_forms.py:138
-#: vpn/forms/model_forms.py:247 vpn/tables/tunnels.py:101
+#: netbox/templates/vpn/tunneltermination.html:35
+#: netbox/vpn/forms/bulk_import.py:107 netbox/vpn/forms/model_forms.py:102
+#: netbox/vpn/forms/model_forms.py:138 netbox/vpn/forms/model_forms.py:247
+#: netbox/vpn/tables/tunnels.py:101
msgid "Outside IP"
msgstr "外部 IP"
-#: templates/vpn/tunneltermination.html:51
+#: netbox/templates/vpn/tunneltermination.html:51
msgid "Peer Terminations"
-msgstr "同行终止"
+msgstr "对等体接入点"
-#: templates/wireless/inc/authentication_attrs.html:12
+#: netbox/templates/wireless/inc/authentication_attrs.html:12
msgid "Cipher"
-msgstr "密码"
+msgstr "加密"
-#: templates/wireless/inc/authentication_attrs.html:16
+#: netbox/templates/wireless/inc/authentication_attrs.html:16
msgid "PSK"
-msgstr "PSK"
+msgstr "PSK-共享密钥"
-#: templates/wireless/inc/wirelesslink_interface.html:35
-#: templates/wireless/inc/wirelesslink_interface.html:45
+#: netbox/templates/wireless/inc/wirelesslink_interface.html:35
+#: netbox/templates/wireless/inc/wirelesslink_interface.html:45
msgctxt "Abbreviation for megahertz"
msgid "MHz"
-msgstr "兆赫"
+msgstr "MHz"
-#: templates/wireless/wirelesslan.html:57
+#: netbox/templates/wireless/wirelesslan.html:57
msgid "Attached Interfaces"
-msgstr "连接的接口"
+msgstr "附加接口"
-#: templates/wireless/wirelesslangroup.html:17
+#: netbox/templates/wireless/wirelesslangroup.html:17
msgid "Add Wireless LAN"
-msgstr "添加无线局域网"
+msgstr "增加无线局域网"
-#: templates/wireless/wirelesslangroup.html:26
-#: wireless/forms/model_forms.py:28
+#: netbox/templates/wireless/wirelesslangroup.html:26
+#: netbox/wireless/forms/model_forms.py:28
msgid "Wireless LAN Group"
msgstr "无线局域网组"
-#: templates/wireless/wirelesslangroup.html:59
+#: netbox/templates/wireless/wirelesslangroup.html:59
msgid "Add Wireless LAN Group"
-msgstr "添加无线局域网组"
+msgstr "增加无线局域网组"
-#: templates/wireless/wirelesslink.html:14
+#: netbox/templates/wireless/wirelesslink.html:14
msgid "Link Properties"
msgstr "链接属性"
-#: tenancy/choices.py:19
+#: netbox/tenancy/choices.py:19
msgid "Tertiary"
-msgstr "大专教育"
+msgstr "第三级联系人"
-#: tenancy/choices.py:20
+#: netbox/tenancy/choices.py:20
msgid "Inactive"
-msgstr "不活跃"
+msgstr "已失效"
-#: tenancy/filtersets.py:29
+#: netbox/tenancy/filtersets.py:29
msgid "Parent contact group (ID)"
-msgstr "家长联系小组 (ID)"
+msgstr "父联系人组 (ID)"
-#: tenancy/filtersets.py:35
+#: netbox/tenancy/filtersets.py:35
msgid "Parent contact group (slug)"
-msgstr "家长联络小组(slug)"
+msgstr "父联系人组 (缩写)"
-#: tenancy/filtersets.py:41 tenancy/filtersets.py:68 tenancy/filtersets.py:111
+#: netbox/tenancy/filtersets.py:41 netbox/tenancy/filtersets.py:68
+#: netbox/tenancy/filtersets.py:111
msgid "Contact group (ID)"
msgstr "联系人组 (ID)"
-#: tenancy/filtersets.py:48 tenancy/filtersets.py:75 tenancy/filtersets.py:118
+#: netbox/tenancy/filtersets.py:48 netbox/tenancy/filtersets.py:75
+#: netbox/tenancy/filtersets.py:118
msgid "Contact group (slug)"
-msgstr "联络小组(slug)"
+msgstr "联系人组(缩写)"
-#: tenancy/filtersets.py:105
+#: netbox/tenancy/filtersets.py:105
msgid "Contact (ID)"
msgstr "联系人 (ID)"
-#: tenancy/filtersets.py:122
+#: netbox/tenancy/filtersets.py:122
msgid "Contact role (ID)"
msgstr "联系人角色 (ID)"
-#: tenancy/filtersets.py:128
+#: netbox/tenancy/filtersets.py:128
msgid "Contact role (slug)"
-msgstr "联系人角色(slug)"
+msgstr "联系人角色(缩写)"
-#: tenancy/filtersets.py:159
+#: netbox/tenancy/filtersets.py:159
msgid "Contact group"
-msgstr "联系小组"
+msgstr "联系人组"
-#: tenancy/filtersets.py:170
+#: netbox/tenancy/filtersets.py:170
msgid "Parent tenant group (ID)"
msgstr "父租户组 (ID)"
-#: tenancy/filtersets.py:176
+#: netbox/tenancy/filtersets.py:176
msgid "Parent tenant group (slug)"
-msgstr "父租户群组 (slug)"
+msgstr "上级租户组(slug)"
-#: tenancy/filtersets.py:182 tenancy/filtersets.py:202
+#: netbox/tenancy/filtersets.py:182 netbox/tenancy/filtersets.py:202
msgid "Tenant group (ID)"
msgstr "租户组 (ID)"
-#: tenancy/filtersets.py:235
+#: netbox/tenancy/filtersets.py:235
msgid "Tenant Group (ID)"
msgstr "租户组 (ID)"
-#: tenancy/filtersets.py:242
+#: netbox/tenancy/filtersets.py:242
msgid "Tenant Group (slug)"
-msgstr "租户群组(slug)"
+msgstr "租户组(缩写)"
-#: tenancy/forms/bulk_edit.py:66
+#: netbox/tenancy/forms/bulk_edit.py:66
msgid "Desciption"
msgstr "描述"
-#: tenancy/forms/bulk_import.py:101
+#: netbox/tenancy/forms/bulk_import.py:101
msgid "Assigned contact"
-msgstr "分配的联系人"
+msgstr "分配联系人"
-#: tenancy/models/contacts.py:32
+#: netbox/tenancy/models/contacts.py:32
msgid "contact group"
-msgstr "联系小组"
+msgstr "联系人组"
-#: tenancy/models/contacts.py:33
+#: netbox/tenancy/models/contacts.py:33
msgid "contact groups"
-msgstr "联系小组"
+msgstr "联系人组"
-#: tenancy/models/contacts.py:48
+#: netbox/tenancy/models/contacts.py:48
msgid "contact role"
msgstr "联系人角色"
-#: tenancy/models/contacts.py:49
+#: netbox/tenancy/models/contacts.py:49
msgid "contact roles"
msgstr "联系人角色"
-#: tenancy/models/contacts.py:68
+#: netbox/tenancy/models/contacts.py:68
msgid "title"
-msgstr "标题"
+msgstr "职位"
-#: tenancy/models/contacts.py:73
+#: netbox/tenancy/models/contacts.py:73
msgid "phone"
-msgstr "电话"
+msgstr "电话号"
-#: tenancy/models/contacts.py:78
+#: netbox/tenancy/models/contacts.py:78
msgid "email"
-msgstr "电子邮件"
+msgstr "电子邮箱"
-#: tenancy/models/contacts.py:87
+#: netbox/tenancy/models/contacts.py:87
msgid "link"
msgstr "链接"
-#: tenancy/models/contacts.py:103
+#: netbox/tenancy/models/contacts.py:103
msgid "contact"
-msgstr "联系"
+msgstr "联系人"
-#: tenancy/models/contacts.py:104
+#: netbox/tenancy/models/contacts.py:104
msgid "contacts"
msgstr "联系人"
-#: tenancy/models/contacts.py:153
+#: netbox/tenancy/models/contacts.py:153
msgid "contact assignment"
msgstr "联系人分配"
-#: tenancy/models/contacts.py:154
+#: netbox/tenancy/models/contacts.py:154
msgid "contact assignments"
-msgstr "联系任务"
+msgstr "联系人分配"
-#: tenancy/models/contacts.py:170
+#: netbox/tenancy/models/contacts.py:170
#, python-brace-format
msgid "Contacts cannot be assigned to this object type ({type})."
-msgstr "无法将联系人分配给此对象类型 ({type})。"
+msgstr "无法将联系人分配给此对象类型 ({type})."
-#: tenancy/models/tenants.py:32
+#: netbox/tenancy/models/tenants.py:32
msgid "tenant group"
msgstr "租户组"
-#: tenancy/models/tenants.py:33
+#: netbox/tenancy/models/tenants.py:33
msgid "tenant groups"
-msgstr "租户群组"
+msgstr "租户组"
-#: tenancy/models/tenants.py:70
+#: netbox/tenancy/models/tenants.py:70
msgid "Tenant name must be unique per group."
-msgstr "每个组的租户名称必须是唯一的。"
+msgstr "每个组的租户名称必须唯一。"
-#: tenancy/models/tenants.py:80
+#: netbox/tenancy/models/tenants.py:80
msgid "Tenant slug must be unique per group."
-msgstr "每个群组的租户标签必须是唯一的。"
+msgstr "每个组的租户缩写必须是唯一的。"
-#: tenancy/models/tenants.py:88
+#: netbox/tenancy/models/tenants.py:88
msgid "tenant"
msgstr "租户"
-#: tenancy/models/tenants.py:89
+#: netbox/tenancy/models/tenants.py:89
msgid "tenants"
-msgstr "租户们"
+msgstr "租户"
-#: tenancy/tables/contacts.py:112
+#: netbox/tenancy/tables/contacts.py:112
msgid "Contact Title"
-msgstr "联系人标题"
+msgstr "联系人职位"
-#: tenancy/tables/contacts.py:116
+#: netbox/tenancy/tables/contacts.py:116
msgid "Contact Phone"
-msgstr "联系电话"
+msgstr "联系人电话号"
-#: tenancy/tables/contacts.py:120
+#: netbox/tenancy/tables/contacts.py:120
msgid "Contact Email"
-msgstr "联系人邮箱"
+msgstr "联系人电子邮箱"
-#: tenancy/tables/contacts.py:124
+#: netbox/tenancy/tables/contacts.py:124
msgid "Contact Address"
-msgstr "联系地址"
+msgstr "联系人地址"
-#: tenancy/tables/contacts.py:128
+#: netbox/tenancy/tables/contacts.py:128
msgid "Contact Link"
-msgstr "联系链接"
+msgstr "联系人链接"
-#: tenancy/tables/contacts.py:132
+#: netbox/tenancy/tables/contacts.py:132
msgid "Contact Description"
msgstr "联系人描述"
-#: users/filtersets.py:33 users/filtersets.py:68
+#: netbox/users/filtersets.py:33 netbox/users/filtersets.py:68
msgid "Permission (ID)"
-msgstr "权限 (ID)"
+msgstr "权限(ID)"
-#: users/filtersets.py:63 users/filtersets.py:181
+#: netbox/users/filtersets.py:63 netbox/users/filtersets.py:181
msgid "Group (name)"
-msgstr "群组(名称)"
+msgstr "组 (名字)"
-#: users/forms/bulk_edit.py:26
+#: netbox/users/forms/bulk_edit.py:26
msgid "First name"
msgstr "名字"
-#: users/forms/bulk_edit.py:31
+#: netbox/users/forms/bulk_edit.py:31
msgid "Last name"
msgstr "姓氏"
-#: users/forms/bulk_edit.py:43
+#: netbox/users/forms/bulk_edit.py:43
msgid "Staff status"
-msgstr "员工身份"
+msgstr "工作人员状态"
-#: users/forms/bulk_edit.py:48
+#: netbox/users/forms/bulk_edit.py:48
msgid "Superuser status"
msgstr "超级用户状态"
-#: users/forms/bulk_import.py:41
+#: netbox/users/forms/bulk_import.py:41
msgid "If no key is provided, one will be generated automatically."
-msgstr "如果未提供密钥,则将自动生成一个密钥。"
+msgstr "如果未提供密钥,则会自动生成一个。"
-#: users/forms/filtersets.py:52 users/tables.py:42
+#: netbox/users/forms/filtersets.py:52 netbox/users/tables.py:42
msgid "Is Staff"
-msgstr "是员工"
+msgstr "是工作人员"
-#: users/forms/filtersets.py:59 users/tables.py:45
+#: netbox/users/forms/filtersets.py:59 netbox/users/tables.py:45
msgid "Is Superuser"
msgstr "是超级用户"
-#: users/forms/filtersets.py:92 users/tables.py:86
+#: netbox/users/forms/filtersets.py:92 netbox/users/tables.py:86
msgid "Can View"
-msgstr "可以查看"
+msgstr "可查看"
-#: users/forms/filtersets.py:99 users/tables.py:89
+#: netbox/users/forms/filtersets.py:99 netbox/users/tables.py:89
msgid "Can Add"
msgstr "可以添加"
-#: users/forms/filtersets.py:106 users/tables.py:92
+#: netbox/users/forms/filtersets.py:106 netbox/users/tables.py:92
msgid "Can Change"
-msgstr "可以改变"
+msgstr "可更改"
-#: users/forms/filtersets.py:113 users/tables.py:95
+#: netbox/users/forms/filtersets.py:113 netbox/users/tables.py:95
msgid "Can Delete"
-msgstr "可以删除"
+msgstr "可删除"
-#: users/forms/model_forms.py:63
+#: netbox/users/forms/model_forms.py:63
msgid "User Interface"
-msgstr "用户界面"
+msgstr "用户接口"
-#: users/forms/model_forms.py:115
+#: netbox/users/forms/model_forms.py:115
msgid ""
"Keys must be at least 40 characters in length. Be sure to record "
"your key prior to submitting this form, as it may no longer be "
"accessible once the token has been created."
msgstr ""
-"密钥的长度必须至少为 40 个字符。 一定要记录好你的密钥 "
-"在提交此表单之前,因为一旦创建了令牌,就可能无法再访问该表单。"
+"Keys的长度必须至少为40个字符。在提交此表单之前请务必记录您的key 因为一旦创建了令牌,就可能无法再访问该Keys。"
-#: users/forms/model_forms.py:127
+#: netbox/users/forms/model_forms.py:127
msgid ""
"Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for"
" no restrictions. Example: "
"10.1.1.0/24,192.168.10.16/32,2001:db8:1::/64
"
msgstr ""
-"允许使用令牌的 IPv4/IPv6 网络。留空表示没有限制。示例: 10.1.1.0/24,192.168.10.16/32,2001: "
-"db 8:1:: /64
"
+"允许使用Token的 IPv4/IPv6 网络。留空表示无限制。示例: "
+"10.1.1.0/24,192.168.10.16/32,2001:db8:1::/64
"
-#: users/forms/model_forms.py:176
+#: netbox/users/forms/model_forms.py:176
msgid "Confirm password"
msgstr "确认密码"
-#: users/forms/model_forms.py:179
+#: netbox/users/forms/model_forms.py:179
msgid "Enter the same password as before, for verification."
msgstr "输入与以前相同的密码进行验证。"
-#: users/forms/model_forms.py:228
+#: netbox/users/forms/model_forms.py:228
msgid "Passwords do not match! Please check your input and try again."
-msgstr "密码不匹配!请检查您的输入并重试。"
+msgstr "密码错误!请检查您的输入,然后重试。"
-#: users/forms/model_forms.py:291
+#: netbox/users/forms/model_forms.py:291
msgid "Additional actions"
-msgstr "其他行动"
+msgstr "其他操作"
-#: users/forms/model_forms.py:294
+#: netbox/users/forms/model_forms.py:294
msgid "Actions granted in addition to those listed above"
-msgstr "除上面列出的行动外,还批准了行动"
+msgstr "除上述操作外,还批准了其他操作"
-#: users/forms/model_forms.py:310
+#: netbox/users/forms/model_forms.py:310
msgid "Objects"
-msgstr "物体"
+msgstr "对象"
-#: users/forms/model_forms.py:322
+#: netbox/users/forms/model_forms.py:322
msgid ""
"JSON expression of a queryset filter that will return only permitted "
"objects. Leave null to match all objects of this type. A list of multiple "
"objects will result in a logical OR operation."
-msgstr "查询集过滤器的 JSON 表达式,仅返回允许的对象。保留 null 以匹配该类型的所有对象。多个对象的列表将生成逻辑 OR 运算。"
+msgstr "查询集筛选器的JSON表达式,该表达式将只返回允许的对象。保留null以匹配此类型的所有对象。多个对象的列表将执行“或”运算。"
-#: users/forms/model_forms.py:361
+#: netbox/users/forms/model_forms.py:361
msgid "At least one action must be selected."
-msgstr "必须至少选择一项操作。"
+msgstr "必须至少选择一个操作。"
-#: users/forms/model_forms.py:379
+#: netbox/users/forms/model_forms.py:379
#, python-brace-format
msgid "Invalid filter for {model}: {error}"
-msgstr "的过滤器无效 {model}: {error}"
+msgstr "{model}的筛选器无效: {error}"
-#: users/models/permissions.py:39
+#: netbox/users/models/permissions.py:39
msgid "The list of actions granted by this permission"
-msgstr "此权限授予的操作列表"
+msgstr "该权限授予的操作列表"
-#: users/models/permissions.py:44
+#: netbox/users/models/permissions.py:44
msgid "constraints"
-msgstr "限制的"
+msgstr "限制条件"
-#: users/models/permissions.py:45
+#: netbox/users/models/permissions.py:45
msgid ""
"Queryset filter matching the applicable objects of the selected type(s)"
-msgstr "与选定类型的适用对象相匹配的查询集过滤器"
+msgstr "与所选类型的适用对象匹配的查询集过滤器"
-#: users/models/permissions.py:52
+#: netbox/users/models/permissions.py:52
msgid "permission"
-msgstr "许可"
+msgstr "允许"
-#: users/models/permissions.py:53 users/models/users.py:47
+#: netbox/users/models/permissions.py:53 netbox/users/models/users.py:47
msgid "permissions"
-msgstr "许可"
+msgstr "权限"
-#: users/models/preferences.py:30 users/models/preferences.py:31
+#: netbox/users/models/preferences.py:30 netbox/users/models/preferences.py:31
msgid "user preferences"
-msgstr "用户偏好"
+msgstr "用户首选项"
-#: users/models/preferences.py:98
+#: netbox/users/models/preferences.py:98
#, python-brace-format
msgid "Key '{path}' is a leaf node; cannot assign new keys"
-msgstr "密钥 '{path}'是叶节点;无法分配新密钥"
+msgstr "Key '{path}' 是一个子节点;无法分配新密钥"
-#: users/models/preferences.py:110
+#: netbox/users/models/preferences.py:110
#, python-brace-format
msgid "Key '{path}' is a dictionary; cannot assign a non-dictionary value"
-msgstr "密钥 '{path}'是字典;无法分配非字典值"
+msgstr "Key '{path}'是一个字典;无法分配非字典值"
-#: users/models/tokens.py:37
+#: netbox/users/models/tokens.py:37
msgid "expires"
-msgstr "到期"
+msgstr "过期"
-#: users/models/tokens.py:42
+#: netbox/users/models/tokens.py:42
msgid "last used"
-msgstr "上次使用"
+msgstr "最后使用"
-#: users/models/tokens.py:47
+#: netbox/users/models/tokens.py:47
msgid "key"
-msgstr "钥匙"
+msgstr "key"
-#: users/models/tokens.py:53
+#: netbox/users/models/tokens.py:53
msgid "write enabled"
-msgstr "写入已启用"
+msgstr "可写开启"
-#: users/models/tokens.py:55
+#: netbox/users/models/tokens.py:55
msgid "Permit create/update/delete operations using this key"
msgstr "允许使用此密钥进行创建/更新/删除操作"
-#: users/models/tokens.py:66
+#: netbox/users/models/tokens.py:66
msgid "allowed IPs"
-msgstr "允许的 IP"
+msgstr "允许的IP"
-#: users/models/tokens.py:68
+#: netbox/users/models/tokens.py:68
msgid ""
"Allowed IPv4/IPv6 networks from where the token can be used. Leave blank for"
" no restrictions. Ex: \"10.1.1.0/24, 192.168.10.16/32, 2001:DB8:1::/64\""
msgstr ""
-"允许使用令牌的 IPv4/IPv6 网络。留空表示没有限制。例如:“10.1.1.0/24、192.168.10.16/32、2001: DB "
-"8:1:: /64”"
+"允许使用 token 的 IPv4/IPv6 网络。 留空表示没有限制。 "
+"例如:“10.1.1.0/24、192.168.10.16/32、2001:DB8:1::/64”"
-#: users/models/tokens.py:76
+#: netbox/users/models/tokens.py:76
msgid "token"
-msgstr "代币"
+msgstr "token"
-#: users/models/tokens.py:77
+#: netbox/users/models/tokens.py:77
msgid "tokens"
-msgstr "象征"
+msgstr "tokens"
-#: users/models/users.py:57 vpn/models/crypto.py:42
+#: netbox/users/models/users.py:57 netbox/vpn/models/crypto.py:42
msgid "group"
msgstr "组"
-#: users/models/users.py:58 users/models/users.py:77
+#: netbox/users/models/users.py:58 netbox/users/models/users.py:77
msgid "groups"
msgstr "组"
-#: users/models/users.py:92
+#: netbox/users/models/users.py:92
msgid "user"
msgstr "用户"
-#: users/models/users.py:93
+#: netbox/users/models/users.py:93
msgid "users"
msgstr "用户"
-#: users/models/users.py:104
+#: netbox/users/models/users.py:104
msgid "A user with this username already exists."
-msgstr "使用此用户名的用户已经存在。"
+msgstr "使用此用户名的用户已存在。"
-#: users/tables.py:98
+#: netbox/users/tables.py:98
msgid "Custom Actions"
msgstr "自定义操作"
-#: utilities/api.py:153
+#: netbox/utilities/api.py:153
#, python-brace-format
msgid "Related object not found using the provided attributes: {params}"
-msgstr "使用提供的属性未找到相关对象: {params}"
+msgstr "使用提供的属性找不到相关对象: {params}"
-#: utilities/api.py:156
+#: netbox/utilities/api.py:156
#, python-brace-format
msgid "Multiple objects match the provided attributes: {params}"
-msgstr "多个对象匹配提供的属性: {params}"
+msgstr "多个对象与提供的属性匹配: {params}"
-#: utilities/api.py:168
+#: netbox/utilities/api.py:168
#, python-brace-format
msgid ""
"Related objects must be referenced by numeric ID or by dictionary of "
"attributes. Received an unrecognized value: {value}"
-msgstr "必须通过数字 ID 或属性字典引用相关对象。收到了一个无法识别的值: {value}"
+msgstr "相关对象必须由数字ID或属性字典引用。接收到无法识别的值: {value}"
-#: utilities/api.py:177
+#: netbox/utilities/api.py:177
#, python-brace-format
msgid "Related object not found using the provided numeric ID: {id}"
-msgstr "使用提供的数字 ID 未找到相关对象: {id}"
+msgstr "使用提供的ID找不到相关对象: {id}"
-#: utilities/choices.py:19
+#: netbox/utilities/choices.py:19
#, python-brace-format
msgid "{name} has a key defined but CHOICES is not a list"
-msgstr "{name} 已定义密钥但是 CHOICES 不是列表"
+msgstr "{name} 已定义键,但 CHOICES 不是列表"
-#: utilities/conversion.py:19
+#: netbox/utilities/conversion.py:19
msgid "Weight must be a positive number"
-msgstr "重量必须为正数"
+msgstr "重量必须是正数"
-#: utilities/conversion.py:21
+#: netbox/utilities/conversion.py:21
#, python-brace-format
msgid "Invalid value '{weight}' for weight (must be a number)"
-msgstr "值无效 '{weight}'表示重量(必须是数字)"
+msgstr " '{weight}' 为无效重量(必须是数字)"
-#: utilities/conversion.py:32 utilities/conversion.py:62
+#: netbox/utilities/conversion.py:32 netbox/utilities/conversion.py:62
#, python-brace-format
msgid "Unknown unit {unit}. Must be one of the following: {valid_units}"
-msgstr "未知单位 {unit}。必须是以下之一: {valid_units}"
+msgstr "无效单位{unit}. 必须是这些: {valid_units}"
-#: utilities/conversion.py:45
+#: netbox/utilities/conversion.py:45
msgid "Length must be a positive number"
-msgstr "长度必须为正数"
+msgstr "长度必须是正数"
-#: utilities/conversion.py:47
+#: netbox/utilities/conversion.py:47
#, python-brace-format
msgid "Invalid value '{length}' for length (must be a number)"
-msgstr "值无效 '{length}'表示长度(必须是数字)"
+msgstr " '{length}' 为无效的长度(必须是数字)"
-#: utilities/error_handlers.py:31
+#: netbox/utilities/error_handlers.py:31
#, python-brace-format
msgid ""
"Unable to delete {objects} . {count} dependent objects were "
"found: "
-msgstr "无法删除 {objects} 。 {count} 找到了依赖对象: "
+msgstr "无法删除{objects}。 找到了 {count} 个依赖对象:"
-#: utilities/error_handlers.py:33
+#: netbox/utilities/error_handlers.py:33
msgid "More than 50"
-msgstr "大于 50"
+msgstr "超过50个"
-#: utilities/fields.py:157
+#: netbox/utilities/fields.py:30
+msgid "RGB color in hexadecimal. Example: "
+msgstr "以十六进制表示的 RGB 颜色。例如:"
+
+#: netbox/utilities/fields.py:159
#, python-format
msgid ""
"%s(%r) is invalid. to_model parameter to CounterCacheField must be a string "
"in the format 'app.model'"
-msgstr "%s(%r) 无效。CounterCacheField 的 to_model 参数必须是格式为 “app.model” 的字符串"
+msgstr "%s(%r)无效。CounterCacheField的to_model参数必须是格式为“app.model”的字符串"
-#: utilities/fields.py:167
+#: netbox/utilities/fields.py:169
#, python-format
msgid ""
"%s(%r) is invalid. to_field parameter to CounterCacheField must be a string "
"in the format 'field'"
-msgstr "%s(%r) 无效。CounterCacheField 的 to_field 参数必须是格式为 “字段” 的字符串"
+msgstr "%s(%r)无效。CounterCacheField的to_field参数必须是格式为“field”的字符串"
-#: utilities/forms/bulk_import.py:23
+#: netbox/utilities/forms/bulk_import.py:23
msgid "Enter object data in CSV, JSON or YAML format."
-msgstr "以 CSV、JSON 或 YAML 格式输入对象数据。"
+msgstr "输入 CSV、JSON 或 YAML 格式的对象数据。"
-#: utilities/forms/bulk_import.py:36
+#: netbox/utilities/forms/bulk_import.py:36
msgid "CSV delimiter"
msgstr "CSV 分隔符"
-#: utilities/forms/bulk_import.py:37
+#: netbox/utilities/forms/bulk_import.py:37
msgid "The character which delimits CSV fields. Applies only to CSV format."
-msgstr "分隔 CSV 字段的字符。仅适用于 CSV 格式。"
+msgstr "分隔 CSV 字段的字符。 仅适用于 CSV 格式。"
-#: utilities/forms/bulk_import.py:51
+#: netbox/utilities/forms/bulk_import.py:51
msgid "Form data must be empty when uploading/selecting a file."
msgstr "上传/选择文件时,表单数据必须为空。"
-#: utilities/forms/bulk_import.py:80
+#: netbox/utilities/forms/bulk_import.py:80
#, python-brace-format
msgid "Unknown data format: {format}"
-msgstr "未知的数据格式: {format}"
+msgstr "未知数据格式:{format}"
-#: utilities/forms/bulk_import.py:100
+#: netbox/utilities/forms/bulk_import.py:100
msgid "Unable to detect data format. Please specify."
-msgstr "无法检测数据格式。请具体说明。"
+msgstr "无法检测数据格式。 请明确说明。"
-#: utilities/forms/bulk_import.py:123
+#: netbox/utilities/forms/bulk_import.py:123
msgid "Invalid CSV delimiter"
msgstr "CSV 分隔符无效"
-#: utilities/forms/bulk_import.py:167
+#: netbox/utilities/forms/bulk_import.py:167
msgid ""
"Invalid YAML data. Data must be in the form of multiple documents, or a "
"single document comprising a list of dictionaries."
-msgstr "YAML 数据无效。数据必须采用多个文档的形式,或包含字典列表的单个文档的形式。"
+msgstr "YAML 数据无效。 数据必须采用多个文档的形式,或包含字典列表的单个文档。"
-#: utilities/forms/fields/array.py:17
+#: netbox/utilities/forms/fields/array.py:17
#, python-brace-format
msgid ""
"Invalid list ({value}). Must be numeric and ranges must be in ascending "
"order."
-msgstr "清单无效 ({value})。必须是数字,范围必须按升序排列。"
+msgstr "列表 ({value}) 无效。 必须是数字,并且范围必须按升序排列。"
-#: utilities/forms/fields/csv.py:44
+#: netbox/utilities/forms/fields/csv.py:44
#, python-brace-format
msgid "Invalid value for a multiple choice field: {value}"
-msgstr "多项选择字段的值无效: {value}"
+msgstr "多项选择字段的值无效:{value}"
-#: utilities/forms/fields/csv.py:57 utilities/forms/fields/csv.py:74
+#: netbox/utilities/forms/fields/csv.py:57
+#: netbox/utilities/forms/fields/csv.py:74
#, python-format
msgid "Object not found: %(value)s"
-msgstr "未找到对象: %(value)s"
+msgstr "未找到对象:·%(value)s"
-#: utilities/forms/fields/csv.py:65
+#: netbox/utilities/forms/fields/csv.py:65
#, python-brace-format
msgid ""
"\"{value}\" is not a unique value for this field; multiple objects were "
"found"
-msgstr "“{value}“不是此字段的唯一值;找到了多个对象"
+msgstr "\"{value}\" 不是此字段的唯一值;找到多个对象"
-#: utilities/forms/fields/csv.py:97
+#: netbox/utilities/forms/fields/csv.py:97
msgid "Object type must be specified as \".\""
-msgstr "必须将对象类型指定为”。“"
+msgstr "对象类型必须定义为\".\""
-#: utilities/forms/fields/csv.py:101
+#: netbox/utilities/forms/fields/csv.py:101
msgid "Invalid object type"
-msgstr "对象类型无效"
+msgstr "无效的对象类型"
-#: utilities/forms/fields/expandable.py:25
+#: netbox/utilities/forms/fields/expandable.py:25
msgid ""
"Alphanumeric ranges are supported for bulk creation. Mixed cases and types "
"within a single range are not supported (example: "
"[ge,xe]-0/0/[0-9]
)."
-msgstr "批量创建支持字母数字范围。不支持单个范围内的混合大小写和类型(例如: [ge,xe] -0/0/ [0-9]
)。"
+msgstr "批量创建时支持字母数字范围。不支持在单个范围内混合字符和数字 (例如: [ge,xe]-0/0/[0-9]
)."
-#: utilities/forms/fields/expandable.py:46
+#: netbox/utilities/forms/fields/expandable.py:46
msgid ""
"Specify a numeric range to create multiple IPs. Example: "
"192.0.2.[1,5,100-254]/24
"
-msgstr "指定数值范围以创建多个 IP。 示例: 192.0.2. [1,5,100-254] /24
"
+msgstr "指定一个范围以创建多个IP。示例 示例: 192.0.2.[1,5,100-254]/24
"
-#: utilities/forms/fields/fields.py:31
+#: netbox/utilities/forms/fields/fields.py:31
#, python-brace-format
msgid ""
" Markdown syntax is supported"
msgstr ""
-" 降价 支持语法"
+"支持 Markdown 语法"
-#: utilities/forms/fields/fields.py:48
+#: netbox/utilities/forms/fields/fields.py:48
msgid "URL-friendly unique shorthand"
-msgstr "网址友好的独特速记"
+msgstr "URL友好的唯一简写,是URL中最后一个反斜杠之后的部分"
-#: utilities/forms/fields/fields.py:101
+#: netbox/utilities/forms/fields/fields.py:101
msgid "Enter context data in JSON format."
-msgstr "在中输入上下文数据 JSON 格式。"
+msgstr "以JSON 格式输入数据。"
-#: utilities/forms/fields/fields.py:124
+#: netbox/utilities/forms/fields/fields.py:124
msgid "MAC address must be in EUI-48 format"
msgstr "MAC 地址必须采用 EUI-48 格式"
-#: utilities/forms/forms.py:52
+#: netbox/utilities/forms/forms.py:52
msgid "Use regular expressions"
msgstr "使用正则表达式"
-#: utilities/forms/forms.py:75
+#: netbox/utilities/forms/forms.py:75
msgid ""
"Numeric ID of an existing object to update (if not creating a new object)"
-msgstr "要更新的现有对象的数字 ID(如果不是创建新对象)"
+msgstr "要更新的现有对象的数字 ID(如果不创建新对象)"
-#: utilities/forms/forms.py:92
+#: netbox/utilities/forms/forms.py:92
#, python-brace-format
msgid "Unrecognized header: {name}"
-msgstr "无法识别的标题: {name}"
+msgstr "无法识别的列头: {name}"
-#: utilities/forms/forms.py:118
+#: netbox/utilities/forms/forms.py:118
msgid "Available Columns"
msgstr "可用列"
-#: utilities/forms/forms.py:126
+#: netbox/utilities/forms/forms.py:126
msgid "Selected Columns"
-msgstr "所选专栏"
+msgstr "选定的列"
-#: utilities/forms/mixins.py:44
+#: netbox/utilities/forms/mixins.py:44
msgid ""
"This object has been modified since the form was rendered. Please consult "
"the object's change log for details."
-msgstr "自表单呈现以来,此对象已被修改。有关详细信息,请查阅对象的更改日志。"
+msgstr "自呈现表单以来,该对象已被修改。 有关详细信息,请查阅对象的更改日志。"
-#: utilities/forms/utils.py:42 utilities/forms/utils.py:68
-#: utilities/forms/utils.py:85 utilities/forms/utils.py:87
+#: netbox/utilities/forms/utils.py:42 netbox/utilities/forms/utils.py:68
+#: netbox/utilities/forms/utils.py:85 netbox/utilities/forms/utils.py:87
#, python-brace-format
msgid "Range \"{value}\" is invalid."
-msgstr "范围”{value}“无效。"
+msgstr "范围 \"{value}\"无效。"
-#: utilities/forms/utils.py:74
+#: netbox/utilities/forms/utils.py:74
#, python-brace-format
msgid ""
"Invalid range: Ending value ({end}) must be greater than beginning value "
"({begin})."
-msgstr "无效范围:结束值 ({end}) 必须大于起始值 ({begin})。"
+msgstr "无效的范围:结束值({end})必须大于开始值({begin})。"
-#: utilities/forms/utils.py:232
+#: netbox/utilities/forms/utils.py:232
#, python-brace-format
msgid "Duplicate or conflicting column header for \"{field}\""
-msgstr "” 的列标题重复或冲突{field}“"
+msgstr "\"{field}\"的列标题重复或冲突"
-#: utilities/forms/utils.py:238
+#: netbox/utilities/forms/utils.py:238
#, python-brace-format
msgid "Duplicate or conflicting column header for \"{header}\""
-msgstr "” 的列标题重复或冲突{header}“"
+msgstr "\"{header}\"的列标题重复或冲突"
-#: utilities/forms/utils.py:247
+#: netbox/utilities/forms/utils.py:247
#, python-brace-format
msgid "Row {row}: Expected {count_expected} columns but found {count_found}"
-msgstr "行 {row}: 预期 {count_expected} 列但已找到 {count_found}"
+msgstr "第{row}行: 应该有{count_expected}列,但是发现了{count_found}列"
-#: utilities/forms/utils.py:270
+#: netbox/utilities/forms/utils.py:270
#, python-brace-format
msgid "Unexpected column header \"{field}\" found."
-msgstr "意外的列标题”{field}“找到了。"
+msgstr "发现错误的列头\"{field}\"。"
-#: utilities/forms/utils.py:272
+#: netbox/utilities/forms/utils.py:272
#, python-brace-format
msgid "Column \"{field}\" is not a related object; cannot use dots"
-msgstr "专栏”{field}“不是关联对象;不能使用点"
+msgstr "字段\"{field}\"未与对象关联;不能使用“.”"
-#: utilities/forms/utils.py:276
+#: netbox/utilities/forms/utils.py:276
#, python-brace-format
msgid "Invalid related object attribute for column \"{field}\": {to_field}"
-msgstr "列” 的相关对象属性无效{field}“: {to_field}"
+msgstr "对象的属性关联无效 \"{field}\": {to_field}"
-#: utilities/forms/utils.py:284
+#: netbox/utilities/forms/utils.py:284
#, python-brace-format
msgid "Required column header \"{header}\" not found."
-msgstr "必填的列标题”{header}“未找到。"
+msgstr "找不到必需的列标题\"{header}\"。"
-#: utilities/forms/widgets/apiselect.py:124
+#: netbox/utilities/forms/widgets/apiselect.py:124
#, python-brace-format
msgid "Missing required value for dynamic query param: '{dynamic_params}'"
-msgstr "缺少动态查询参数的必填值:'{dynamic_params}'"
+msgstr "缺少动态查询参数:'{dynamic_params}'"
-#: utilities/forms/widgets/apiselect.py:141
+#: netbox/utilities/forms/widgets/apiselect.py:141
#, python-brace-format
msgid "Missing required value for static query param: '{static_params}'"
-msgstr "缺少静态查询参数的必填值:'{static_params}'"
+msgstr "缺少静态查询参数:'{static_params}'"
-#: utilities/permissions.py:39
+#: netbox/utilities/permissions.py:39
#, python-brace-format
msgid ""
"Invalid permission name: {name}. Must be in the format "
"._"
-msgstr "权限名称无效: {name}。必须采用以下格式 。_"
+msgstr "无效的权限名称: {name}. 格式必须是 ._"
-#: utilities/permissions.py:57
+#: netbox/utilities/permissions.py:57
#, python-brace-format
msgid "Unknown app_label/model_name for {name}"
-msgstr "未知的应用程序标签/模型名称 {name}"
+msgstr "未知的app_label/model_name: {name}"
-#: utilities/request.py:76
+#: netbox/utilities/request.py:76
#, python-brace-format
msgid "Invalid IP address set for {header}: {ip}"
-msgstr "为设置的 IP 地址无效 {header}: {ip}"
+msgstr "为 {header} 设置的 IP 地址无效:{ip}"
-#: utilities/tables.py:47
+#: netbox/utilities/tables.py:47
#, python-brace-format
msgid "A column named {name} is already defined for table {table_name}"
-msgstr "一列名为 {name} 已经为表定义了 {table_name}"
+msgstr "名为{name}的列已在表{table_name}中定义了"
-#: utilities/templates/builtins/customfield_value.html:30
+#: netbox/utilities/templates/builtins/customfield_value.html:30
msgid "Not defined"
msgstr "未定义"
-#: utilities/templates/buttons/bookmark.html:9
+#: netbox/utilities/templates/buttons/bookmark.html:9
msgid "Unbookmark"
msgstr "取消书签"
-#: utilities/templates/buttons/bookmark.html:13
+#: netbox/utilities/templates/buttons/bookmark.html:13
msgid "Bookmark"
-msgstr "加入书签"
+msgstr "书签"
-#: utilities/templates/buttons/clone.html:4
+#: netbox/utilities/templates/buttons/clone.html:4
msgid "Clone"
msgstr "克隆"
-#: utilities/templates/buttons/export.html:7
+#: netbox/utilities/templates/buttons/export.html:7
msgid "Current View"
-msgstr "当前视图"
+msgstr "当前显示"
-#: utilities/templates/buttons/export.html:8
+#: netbox/utilities/templates/buttons/export.html:8
msgid "All Data"
msgstr "所有数据"
-#: utilities/templates/buttons/export.html:28
+#: netbox/utilities/templates/buttons/export.html:28
msgid "Add export template"
-msgstr "添加导出模板"
+msgstr "添加导出模版"
-#: utilities/templates/buttons/import.html:4
+#: netbox/utilities/templates/buttons/import.html:4
msgid "Import"
msgstr "导入"
-#: utilities/templates/form_helpers/render_field.html:39
+#: netbox/utilities/templates/form_helpers/render_field.html:39
msgid "Copy to clipboard"
msgstr "复制到剪贴板"
-#: utilities/templates/form_helpers/render_field.html:55
+#: netbox/utilities/templates/form_helpers/render_field.html:55
msgid "This field is required"
-msgstr "此字段为必填字段"
+msgstr "此字段必填"
-#: utilities/templates/form_helpers/render_field.html:68
+#: netbox/utilities/templates/form_helpers/render_field.html:68
msgid "Set Null"
msgstr "设置为空"
-#: utilities/templates/helpers/applied_filters.html:11
+#: netbox/utilities/templates/helpers/applied_filters.html:11
msgid "Clear all"
-msgstr "全部清除"
+msgstr "清除所有内容"
-#: utilities/templates/helpers/table_config_form.html:8
+#: netbox/utilities/templates/helpers/table_config_form.html:8
msgid "Table Configuration"
-msgstr "表格配置"
+msgstr "表单配置"
-#: utilities/templates/helpers/table_config_form.html:31
+#: netbox/utilities/templates/helpers/table_config_form.html:31
msgid "Move Up"
-msgstr "向上移动"
+msgstr "上移"
-#: utilities/templates/helpers/table_config_form.html:34
+#: netbox/utilities/templates/helpers/table_config_form.html:34
msgid "Move Down"
-msgstr "向下移动"
+msgstr "下移"
-#: utilities/templates/widgets/apiselect.html:7
+#: netbox/utilities/templates/navigation/menu.html:14
+msgid "Search…"
+msgstr "搜索…"
+
+#: netbox/utilities/templates/navigation/menu.html:14
+msgid "Search NetBox"
+msgstr "搜索 NetBox"
+
+#: netbox/utilities/templates/widgets/apiselect.html:7
msgid "Open selector"
-msgstr "打开选择器"
+msgstr "打开选择框"
-#: utilities/templates/widgets/clearable_file_input.html:12
+#: netbox/utilities/templates/widgets/clearable_file_input.html:12
msgid "None assigned"
msgstr "未指定"
-#: utilities/templates/widgets/markdown_input.html:6
+#: netbox/utilities/templates/widgets/markdown_input.html:6
msgid "Write"
-msgstr "写作"
+msgstr "编写"
-#: utilities/testing/views.py:633
+#: netbox/utilities/testing/views.py:633
msgid "The test must define csv_update_data."
-msgstr "测试必须定义 csv_update_data。"
+msgstr "测试必须定义csv_update_data。"
-#: utilities/validators.py:65
+#: netbox/utilities/validators.py:65
#, python-brace-format
msgid "{value} is not a valid regular expression."
msgstr "{value} 不是有效的正则表达式。"
-#: utilities/views.py:40
+#: netbox/utilities/views.py:45
#, python-brace-format
msgid "{self.__class__.__name__} must implement get_required_permission()"
-msgstr "{self.__class__.__name__} 必须实现 get_required_permission ()"
+msgstr "{self.__class__.__name__}必须实现get_required_permission()方法"
-#: utilities/views.py:76
+#: netbox/utilities/views.py:81
#, python-brace-format
msgid "{class_name} must implement get_required_permission()"
-msgstr "{class_name} 必须实现 get_required_permission ()"
+msgstr "{class_name}必须实现get_required_permission()方法"
-#: utilities/views.py:100
+#: netbox/utilities/views.py:105
#, python-brace-format
msgid ""
"{class_name} has no queryset defined. ObjectPermissionRequiredMixin may only"
" be used on views which define a base queryset"
-msgstr "{class_name} 没有定义查询集。objectPermissionRequiredMixin 只能用于定义基本查询集的视图"
+msgstr "{class_name} 没有定义查询集。ObjectPermissionRequiredMixin 只能在定义了基本查询集的视图中使用"
-#: virtualization/filtersets.py:79
+#: netbox/virtualization/filtersets.py:79
msgid "Parent group (ID)"
-msgstr "家长群组 (ID)"
+msgstr "父组(ID)"
-#: virtualization/filtersets.py:85
+#: netbox/virtualization/filtersets.py:85
msgid "Parent group (slug)"
-msgstr "家长小组(slug)"
+msgstr "父组(缩写)"
-#: virtualization/filtersets.py:89 virtualization/filtersets.py:141
+#: netbox/virtualization/filtersets.py:89
+#: netbox/virtualization/filtersets.py:141
msgid "Cluster type (ID)"
-msgstr "集群类型 (ID)"
+msgstr "集群类型(ID)"
-#: virtualization/filtersets.py:130
-msgid "Cluster group (ID)"
-msgstr "集群组 (ID)"
-
-#: virtualization/filtersets.py:151 virtualization/filtersets.py:267
+#: netbox/virtualization/filtersets.py:151
+#: netbox/virtualization/filtersets.py:267
msgid "Cluster (ID)"
msgstr "集群 (ID)"
-#: virtualization/forms/bulk_edit.py:166
-#: virtualization/models/virtualmachines.py:115
+#: netbox/virtualization/forms/bulk_edit.py:166
+#: netbox/virtualization/models/virtualmachines.py:115
msgid "vCPUs"
-msgstr "vCPU"
+msgstr "vCPUs"
-#: virtualization/forms/bulk_edit.py:170
+#: netbox/virtualization/forms/bulk_edit.py:170
msgid "Memory (MB)"
msgstr "内存 (MB)"
-#: virtualization/forms/bulk_edit.py:174
+#: netbox/virtualization/forms/bulk_edit.py:174
msgid "Disk (GB)"
msgstr "磁盘 (GB)"
-#: virtualization/forms/bulk_edit.py:334
-#: virtualization/forms/filtersets.py:247
+#: netbox/virtualization/forms/bulk_edit.py:334
+#: netbox/virtualization/forms/filtersets.py:247
msgid "Size (GB)"
msgstr "大小 (GB)"
-#: virtualization/forms/bulk_import.py:44
+#: netbox/virtualization/forms/bulk_import.py:44
msgid "Type of cluster"
-msgstr "集群的类型"
+msgstr "集群类型"
-#: virtualization/forms/bulk_import.py:51
+#: netbox/virtualization/forms/bulk_import.py:51
msgid "Assigned cluster group"
-msgstr "已分配的集群组"
+msgstr "指定集群组"
-#: virtualization/forms/bulk_import.py:96
+#: netbox/virtualization/forms/bulk_import.py:96
msgid "Assigned cluster"
-msgstr "分配的集群"
+msgstr "指定集群"
-#: virtualization/forms/bulk_import.py:103
+#: netbox/virtualization/forms/bulk_import.py:103
msgid "Assigned device within cluster"
-msgstr "集群内分配的设备"
+msgstr "指定集群内部设备"
-#: virtualization/forms/model_forms.py:153
+#: netbox/virtualization/forms/model_forms.py:153
#, python-brace-format
msgid ""
"{device} belongs to a different site ({device_site}) than the cluster "
"({cluster_site})"
-msgstr "{device} 属于另一个站点 ({device_site}) 而不是集群 ({cluster_site})"
+msgstr "{device} 属于与集群({cluster_site})不同的站点({device_site})"
-#: virtualization/forms/model_forms.py:192
+#: netbox/virtualization/forms/model_forms.py:192
msgid "Optionally pin this VM to a specific host device within the cluster"
-msgstr "(可选)将此虚拟机固定到集群中的特定主机设备"
+msgstr "可将此虚拟机固定到集群中的特定主机设备"
-#: virtualization/forms/model_forms.py:221
+#: netbox/virtualization/forms/model_forms.py:221
msgid "Site/Cluster"
msgstr "站点/集群"
-#: virtualization/forms/model_forms.py:244
+#: netbox/virtualization/forms/model_forms.py:244
msgid "Disk size is managed via the attachment of virtual disks."
-msgstr "磁盘大小通过连接虚拟磁盘进行管理。"
+msgstr "通过附加虚拟磁盘来管理磁盘大小。"
-#: virtualization/forms/model_forms.py:372
+#: netbox/virtualization/forms/model_forms.py:372
msgid "Disk"
-msgstr "磁盘"
+msgstr "硬盘"
-#: virtualization/models/clusters.py:25
+#: netbox/virtualization/models/clusters.py:25
msgid "cluster type"
msgstr "集群类型"
-#: virtualization/models/clusters.py:26
+#: netbox/virtualization/models/clusters.py:26
msgid "cluster types"
msgstr "集群类型"
-#: virtualization/models/clusters.py:45
+#: netbox/virtualization/models/clusters.py:45
msgid "cluster group"
msgstr "集群组"
-#: virtualization/models/clusters.py:46
+#: netbox/virtualization/models/clusters.py:46
msgid "cluster groups"
msgstr "集群组"
-#: virtualization/models/clusters.py:121
+#: netbox/virtualization/models/clusters.py:121
msgid "cluster"
-msgstr "聚集"
-
-#: virtualization/models/clusters.py:122
-msgid "clusters"
msgstr "集群"
-#: virtualization/models/clusters.py:141
+#: netbox/virtualization/models/clusters.py:122
+msgid "clusters"
+msgstr "集群组"
+
+#: netbox/virtualization/models/clusters.py:141
#, python-brace-format
msgid ""
"{count} devices are assigned as hosts for this cluster but are not in site "
"{site}"
-msgstr "{count} 设备被指定为该群集的主机,但不在站点 {site}"
+msgstr "{count} 个设备被分配为此集群的主机,但不在站点{site}"
-#: virtualization/models/virtualmachines.py:123
+#: netbox/virtualization/models/virtualmachines.py:123
msgid "memory (MB)"
msgstr "内存 (MB)"
-#: virtualization/models/virtualmachines.py:128
+#: netbox/virtualization/models/virtualmachines.py:128
msgid "disk (GB)"
-msgstr "磁盘 (GB)"
+msgstr "硬盘 (GB)"
-#: virtualization/models/virtualmachines.py:161
+#: netbox/virtualization/models/virtualmachines.py:161
msgid "Virtual machine name must be unique per cluster."
-msgstr "每个集群的虚拟机名称必须是唯一的。"
+msgstr "集群中的虚拟机名称必须唯一。"
-#: virtualization/models/virtualmachines.py:164
+#: netbox/virtualization/models/virtualmachines.py:164
msgid "virtual machine"
msgstr "虚拟机"
-#: virtualization/models/virtualmachines.py:165
+#: netbox/virtualization/models/virtualmachines.py:165
msgid "virtual machines"
msgstr "虚拟机"
-#: virtualization/models/virtualmachines.py:179
+#: netbox/virtualization/models/virtualmachines.py:179
msgid "A virtual machine must be assigned to a site and/or cluster."
-msgstr "必须将虚拟机分配给站点和/或群集。"
+msgstr "虚拟机必须分配给站点和/或集群。"
-#: virtualization/models/virtualmachines.py:186
+#: netbox/virtualization/models/virtualmachines.py:186
#, python-brace-format
msgid ""
"The selected cluster ({cluster}) is not assigned to this site ({site})."
-msgstr "选定的集群 ({cluster}) 未分配给此站点 ({site})。"
+msgstr "所选集群({cluster}) 未分配给此站点 ({site})。"
-#: virtualization/models/virtualmachines.py:193
+#: netbox/virtualization/models/virtualmachines.py:193
msgid "Must specify a cluster when assigning a host device."
msgstr "分配主机设备时必须指定集群。"
-#: virtualization/models/virtualmachines.py:198
+#: netbox/virtualization/models/virtualmachines.py:198
#, python-brace-format
msgid ""
"The selected device ({device}) is not assigned to this cluster ({cluster})."
-msgstr "所选设备 ({device}) 未分配给此集群 ({cluster})。"
+msgstr "所选设备 ({device})未分配给此集群({cluster})。"
-#: virtualization/models/virtualmachines.py:210
+#: netbox/virtualization/models/virtualmachines.py:210
#, python-brace-format
msgid ""
"The specified disk size ({size}) must match the aggregate size of assigned "
"virtual disks ({total_size})."
-msgstr "指定的磁盘大小 ({size}) 必须与分配的虚拟磁盘的总大小相匹配 ({total_size})。"
+msgstr "指定的磁盘大小 ({size}) 必须与分配的虚拟磁盘的总大小相匹配 ({total_size})."
-#: virtualization/models/virtualmachines.py:224
+#: netbox/virtualization/models/virtualmachines.py:224
#, python-brace-format
msgid "Must be an IPv{family} address. ({ip} is an IPv{version} address.)"
-msgstr "必须是 iPV{family} 地址。({ip} 是一个 iPV{version} 地址。)"
+msgstr "必须是 IPv{family} 地址。 ({ip} 是 IPv{version} 地址。)"
-#: virtualization/models/virtualmachines.py:233
+#: netbox/virtualization/models/virtualmachines.py:233
#, python-brace-format
msgid "The specified IP address ({ip}) is not assigned to this VM."
-msgstr "指定的 IP 地址 ({ip}) 未分配给此 VM。"
+msgstr "指定的IP地址 ({ip}) 未分配给该虚拟机。"
-#: virtualization/models/virtualmachines.py:391
+#: netbox/virtualization/models/virtualmachines.py:391
#, python-brace-format
msgid ""
"The selected parent interface ({parent}) belongs to a different virtual "
"machine ({virtual_machine})."
-msgstr "选定的父接口 ({parent}) 属于不同的虚拟机 ({virtual_machine})。"
+msgstr "所选父接口 ({parent}) 属于另一个虚拟机 ({virtual_machine})"
-#: virtualization/models/virtualmachines.py:406
+#: netbox/virtualization/models/virtualmachines.py:406
#, python-brace-format
msgid ""
"The selected bridge interface ({bridge}) belongs to a different virtual "
"machine ({virtual_machine})."
-msgstr "选定的网桥接口 ({bridge}) 属于不同的虚拟机 ({virtual_machine})。"
+msgstr "所选桥接接口 ({bridge})属于另一个虚拟机({virtual_machine})。"
-#: virtualization/models/virtualmachines.py:417
+#: netbox/virtualization/models/virtualmachines.py:417
#, python-brace-format
msgid ""
"The untagged VLAN ({untagged_vlan}) must belong to the same site as the "
"interface's parent virtual machine, or it must be global."
-msgstr "未标记的 VLAN ({untagged_vlan}) 必须与接口的父虚拟机属于同一个站点,或者它必须是全局的。"
+msgstr "未标记 VLAN ({untagged_vlan}) 必须与接口的父虚拟机属于同一站点,或者必须是全局的。"
-#: virtualization/models/virtualmachines.py:429
+#: netbox/virtualization/models/virtualmachines.py:429
msgid "size (GB)"
msgstr "大小 (GB)"
-#: virtualization/models/virtualmachines.py:433
+#: netbox/virtualization/models/virtualmachines.py:433
msgid "virtual disk"
msgstr "虚拟磁盘"
-#: virtualization/models/virtualmachines.py:434
+#: netbox/virtualization/models/virtualmachines.py:434
msgid "virtual disks"
msgstr "虚拟磁盘"
-#: vpn/choices.py:31
+#: netbox/vpn/choices.py:31
msgid "IPsec - Transport"
-msgstr "IPsec-传输"
+msgstr "IPsec-传输模式"
-#: vpn/choices.py:32
+#: netbox/vpn/choices.py:32
msgid "IPsec - Tunnel"
-msgstr "IPsec-隧道"
+msgstr "IPsec - Tunnel"
-#: vpn/choices.py:33
+#: netbox/vpn/choices.py:33
msgid "IP-in-IP"
msgstr "IP-in-IP"
-#: vpn/choices.py:34
+#: netbox/vpn/choices.py:34
msgid "GRE"
msgstr "GRE"
-#: vpn/choices.py:56
+#: netbox/vpn/choices.py:56
msgid "Hub"
-msgstr "集线器"
+msgstr "中心节点"
-#: vpn/choices.py:57
+#: netbox/vpn/choices.py:57
msgid "Spoke"
-msgstr "说话了"
+msgstr "分支节点"
-#: vpn/choices.py:80
+#: netbox/vpn/choices.py:80
msgid "Aggressive"
-msgstr "侵略性"
+msgstr "野蛮模式"
-#: vpn/choices.py:81
+#: netbox/vpn/choices.py:81
msgid "Main"
-msgstr "主要"
+msgstr "主模式"
-#: vpn/choices.py:92
+#: netbox/vpn/choices.py:92
msgid "Pre-shared keys"
msgstr "预共享密钥"
-#: vpn/choices.py:93
+#: netbox/vpn/choices.py:93
msgid "Certificates"
msgstr "证书"
-#: vpn/choices.py:94
+#: netbox/vpn/choices.py:94
msgid "RSA signatures"
-msgstr "RSA 签名"
+msgstr "RSA签名"
-#: vpn/choices.py:95
+#: netbox/vpn/choices.py:95
msgid "DSA signatures"
-msgstr "DSA 签名"
+msgstr "DSA签名"
-#: vpn/choices.py:178 vpn/choices.py:179 vpn/choices.py:180 vpn/choices.py:181
-#: vpn/choices.py:182 vpn/choices.py:183 vpn/choices.py:184 vpn/choices.py:185
-#: vpn/choices.py:186 vpn/choices.py:187 vpn/choices.py:188 vpn/choices.py:189
-#: vpn/choices.py:190 vpn/choices.py:191 vpn/choices.py:192 vpn/choices.py:193
-#: vpn/choices.py:194 vpn/choices.py:195 vpn/choices.py:196 vpn/choices.py:197
-#: vpn/choices.py:198 vpn/choices.py:199 vpn/choices.py:200 vpn/choices.py:201
+#: netbox/vpn/choices.py:178 netbox/vpn/choices.py:179
+#: netbox/vpn/choices.py:180 netbox/vpn/choices.py:181
+#: netbox/vpn/choices.py:182 netbox/vpn/choices.py:183
+#: netbox/vpn/choices.py:184 netbox/vpn/choices.py:185
+#: netbox/vpn/choices.py:186 netbox/vpn/choices.py:187
+#: netbox/vpn/choices.py:188 netbox/vpn/choices.py:189
+#: netbox/vpn/choices.py:190 netbox/vpn/choices.py:191
+#: netbox/vpn/choices.py:192 netbox/vpn/choices.py:193
+#: netbox/vpn/choices.py:194 netbox/vpn/choices.py:195
+#: netbox/vpn/choices.py:196 netbox/vpn/choices.py:197
+#: netbox/vpn/choices.py:198 netbox/vpn/choices.py:199
+#: netbox/vpn/choices.py:200 netbox/vpn/choices.py:201
#, python-brace-format
msgid "Group {n}"
-msgstr "小组 {n}"
+msgstr "Group {n}"
-#: vpn/choices.py:241
+#: netbox/vpn/choices.py:241
msgid "Ethernet Private LAN"
-msgstr "以太网私有局域网"
+msgstr "Ethernet Private LAN"
-#: vpn/choices.py:242
+#: netbox/vpn/choices.py:242
msgid "Ethernet Virtual Private LAN"
-msgstr "以太网虚拟专用 LAN"
+msgstr "Ethernet Virtual Private LAN"
-#: vpn/choices.py:245
+#: netbox/vpn/choices.py:245
msgid "Ethernet Private Tree"
-msgstr "以太网私有树"
+msgstr "Ethernet Private Tree"
-#: vpn/choices.py:246
+#: netbox/vpn/choices.py:246
msgid "Ethernet Virtual Private Tree"
-msgstr "以太网虚拟私有树"
+msgstr "Ethernet Virtual Private Tree"
-#: vpn/filtersets.py:41
+#: netbox/vpn/filtersets.py:41
msgid "Tunnel group (ID)"
-msgstr "隧道组 (ID)"
+msgstr "隧道组(ID)"
-#: vpn/filtersets.py:47
+#: netbox/vpn/filtersets.py:47
msgid "Tunnel group (slug)"
-msgstr "隧道群(slug)"
+msgstr "隧道组(缩写)"
-#: vpn/filtersets.py:54
+#: netbox/vpn/filtersets.py:54
msgid "IPSec profile (ID)"
-msgstr "IPsec 配置文件 (ID)"
+msgstr "IPSec通道(ID)"
-#: vpn/filtersets.py:60
+#: netbox/vpn/filtersets.py:60
msgid "IPSec profile (name)"
-msgstr "IPsec 配置文件(名称)"
+msgstr "IPSec通道(名称)"
-#: vpn/filtersets.py:81
+#: netbox/vpn/filtersets.py:81
msgid "Tunnel (ID)"
-msgstr "隧道 (ID)"
+msgstr "Tunnel (ID)"
-#: vpn/filtersets.py:87
+#: netbox/vpn/filtersets.py:87
msgid "Tunnel (name)"
-msgstr "隧道(名称)"
+msgstr "隧道(ID)"
-#: vpn/filtersets.py:118
+#: netbox/vpn/filtersets.py:118
msgid "Outside IP (ID)"
-msgstr "外部 IP (ID)"
+msgstr "外部IP(ID)"
-#: vpn/filtersets.py:130 vpn/filtersets.py:153 vpn/filtersets.py:282
+#: netbox/vpn/filtersets.py:130 netbox/vpn/filtersets.py:153
+#: netbox/vpn/filtersets.py:282
msgid "IKE policy (ID)"
-msgstr "IKE 策略 (ID)"
+msgstr "IKE策略(ID)"
-#: vpn/filtersets.py:136 vpn/filtersets.py:159 vpn/filtersets.py:288
+#: netbox/vpn/filtersets.py:136 netbox/vpn/filtersets.py:159
+#: netbox/vpn/filtersets.py:288
msgid "IKE policy (name)"
-msgstr "IKE 策略(名称)"
+msgstr "IKE策略(名称)"
-#: vpn/filtersets.py:215 vpn/filtersets.py:292
+#: netbox/vpn/filtersets.py:215 netbox/vpn/filtersets.py:292
msgid "IPSec policy (ID)"
-msgstr "IPsec 策略 (ID)"
+msgstr "IPSec策略(ID)"
-#: vpn/filtersets.py:221 vpn/filtersets.py:298
+#: netbox/vpn/filtersets.py:221 netbox/vpn/filtersets.py:298
msgid "IPSec policy (name)"
-msgstr "IPsec 策略(名称)"
+msgstr "IPSec策略(名称)"
-#: vpn/filtersets.py:367
+#: netbox/vpn/filtersets.py:367
msgid "L2VPN (slug)"
-msgstr "L2VPN(弹头)"
+msgstr "L2VPN(缩写)"
-#: vpn/filtersets.py:431
+#: netbox/vpn/filtersets.py:431
msgid "VM Interface (ID)"
-msgstr "虚拟机接口 (ID)"
+msgstr "虚拟接口(ID)"
-#: vpn/filtersets.py:437
+#: netbox/vpn/filtersets.py:437
msgid "VLAN (name)"
-msgstr "VLAN(名称)"
+msgstr "VLAN (名字)"
-#: vpn/forms/bulk_edit.py:45 vpn/forms/bulk_import.py:42
-#: vpn/forms/filtersets.py:54
+#: netbox/vpn/forms/bulk_edit.py:45 netbox/vpn/forms/bulk_import.py:42
+#: netbox/vpn/forms/filtersets.py:54
msgid "Tunnel group"
-msgstr "隧道群"
+msgstr "隧道组"
-#: vpn/forms/bulk_edit.py:117 vpn/models/crypto.py:47
+#: netbox/vpn/forms/bulk_edit.py:117 netbox/vpn/models/crypto.py:47
msgid "SA lifetime"
-msgstr "一生"
+msgstr "SA生存期"
-#: vpn/forms/bulk_edit.py:151 wireless/forms/bulk_edit.py:79
-#: wireless/forms/bulk_edit.py:126 wireless/forms/filtersets.py:64
-#: wireless/forms/filtersets.py:98
+#: netbox/vpn/forms/bulk_edit.py:151 netbox/wireless/forms/bulk_edit.py:79
+#: netbox/wireless/forms/bulk_edit.py:126
+#: netbox/wireless/forms/filtersets.py:64
+#: netbox/wireless/forms/filtersets.py:98
msgid "Pre-shared key"
msgstr "预共享密钥"
-#: vpn/forms/bulk_edit.py:237 vpn/forms/bulk_import.py:239
-#: vpn/forms/filtersets.py:199 vpn/forms/model_forms.py:370
-#: vpn/models/crypto.py:104
+#: netbox/vpn/forms/bulk_edit.py:237 netbox/vpn/forms/bulk_import.py:239
+#: netbox/vpn/forms/filtersets.py:199 netbox/vpn/forms/model_forms.py:370
+#: netbox/vpn/models/crypto.py:104
msgid "IKE policy"
-msgstr "IKE 政策"
+msgstr "IKE策略"
-#: vpn/forms/bulk_edit.py:242 vpn/forms/bulk_import.py:244
-#: vpn/forms/filtersets.py:204 vpn/forms/model_forms.py:374
-#: vpn/models/crypto.py:209
+#: netbox/vpn/forms/bulk_edit.py:242 netbox/vpn/forms/bulk_import.py:244
+#: netbox/vpn/forms/filtersets.py:204 netbox/vpn/forms/model_forms.py:374
+#: netbox/vpn/models/crypto.py:209
msgid "IPSec policy"
-msgstr "IPsec 政策"
+msgstr "IPSec策略"
-#: vpn/forms/bulk_import.py:50
+#: netbox/vpn/forms/bulk_import.py:50
msgid "Tunnel encapsulation"
msgstr "隧道封装"
-#: vpn/forms/bulk_import.py:83
+#: netbox/vpn/forms/bulk_import.py:83
msgid "Operational role"
-msgstr "运营角色"
+msgstr "操作角色"
-#: vpn/forms/bulk_import.py:90
+#: netbox/vpn/forms/bulk_import.py:90
msgid "Parent device of assigned interface"
msgstr "指定接口的父设备"
-#: vpn/forms/bulk_import.py:97
+#: netbox/vpn/forms/bulk_import.py:97
msgid "Parent VM of assigned interface"
msgstr "指定接口的父虚拟机"
-#: vpn/forms/bulk_import.py:104
+#: netbox/vpn/forms/bulk_import.py:104
msgid "Device or virtual machine interface"
-msgstr "设备或虚拟机接口"
+msgstr "设备/虚拟机接口"
-#: vpn/forms/bulk_import.py:183
+#: netbox/vpn/forms/bulk_import.py:183
msgid "IKE proposal(s)"
-msgstr "IKE 提案"
+msgstr "IKE安全提议"
-#: vpn/forms/bulk_import.py:215 vpn/models/crypto.py:197
+#: netbox/vpn/forms/bulk_import.py:215 netbox/vpn/models/crypto.py:197
msgid "Diffie-Hellman group for Perfect Forward Secrecy"
-msgstr "Diffie-Hellman 组合 “完美向前保密”"
+msgstr "DH组"
-#: vpn/forms/bulk_import.py:222
+#: netbox/vpn/forms/bulk_import.py:222
msgid "IPSec proposal(s)"
-msgstr "IPsec 提案"
+msgstr "IPSEC安全提议"
-#: vpn/forms/bulk_import.py:236
+#: netbox/vpn/forms/bulk_import.py:236
msgid "IPSec protocol"
-msgstr "IPsec 协议"
+msgstr "IPSEC协议"
-#: vpn/forms/bulk_import.py:266
+#: netbox/vpn/forms/bulk_import.py:266
msgid "L2VPN type"
msgstr "L2VPN 类型"
-#: vpn/forms/bulk_import.py:287
+#: netbox/vpn/forms/bulk_import.py:287
msgid "Parent device (for interface)"
msgstr "父设备(用于接口)"
-#: vpn/forms/bulk_import.py:294
+#: netbox/vpn/forms/bulk_import.py:294
msgid "Parent virtual machine (for interface)"
msgstr "父虚拟机(用于接口)"
-#: vpn/forms/bulk_import.py:301
+#: netbox/vpn/forms/bulk_import.py:301
msgid "Assigned interface (device or VM)"
-msgstr "分配的接口(设备或 VM)"
+msgstr "指定接口(设备/虚拟机)"
-#: vpn/forms/bulk_import.py:334
+#: netbox/vpn/forms/bulk_import.py:334
msgid "Cannot import device and VM interface terminations simultaneously."
-msgstr "无法同时导入设备和虚拟机接口终止。"
+msgstr "不能导入设备和虚拟机接口连接。"
-#: vpn/forms/bulk_import.py:336
+#: netbox/vpn/forms/bulk_import.py:336
msgid "Each termination must specify either an interface or a VLAN."
-msgstr "每个终端都必须指定接口或 VLAN。"
+msgstr "每个接入点必须指定一个接口或一个 VLAN。"
-#: vpn/forms/bulk_import.py:338
+#: netbox/vpn/forms/bulk_import.py:338
msgid "Cannot assign both an interface and a VLAN."
-msgstr "无法同时分配接口和 VLAN。"
+msgstr "不能同时分配接口和VLAN。"
-#: vpn/forms/filtersets.py:130
+#: netbox/vpn/forms/filtersets.py:130
msgid "IKE version"
msgstr "IKE 版本"
-#: vpn/forms/filtersets.py:142 vpn/forms/filtersets.py:175
-#: vpn/forms/model_forms.py:298 vpn/forms/model_forms.py:334
+#: netbox/vpn/forms/filtersets.py:142 netbox/vpn/forms/filtersets.py:175
+#: netbox/vpn/forms/model_forms.py:298 netbox/vpn/forms/model_forms.py:334
msgid "Proposal"
-msgstr "提案"
+msgstr "安全提议"
-#: vpn/forms/filtersets.py:251
+#: netbox/vpn/forms/filtersets.py:251
msgid "Assigned Object Type"
-msgstr "分配的对象类型"
+msgstr "指定的对象类型"
-#: vpn/forms/model_forms.py:95 vpn/forms/model_forms.py:130
-#: vpn/forms/model_forms.py:240 vpn/tables/tunnels.py:91
+#: netbox/vpn/forms/model_forms.py:95 netbox/vpn/forms/model_forms.py:130
+#: netbox/vpn/forms/model_forms.py:240 netbox/vpn/tables/tunnels.py:91
msgid "Tunnel interface"
msgstr "隧道接口"
-#: vpn/forms/model_forms.py:150
+#: netbox/vpn/forms/model_forms.py:150
msgid "First Termination"
-msgstr "第一次终止"
+msgstr "第一端"
-#: vpn/forms/model_forms.py:153
+#: netbox/vpn/forms/model_forms.py:153
msgid "Second Termination"
-msgstr "第二次终止"
+msgstr "第二端"
-#: vpn/forms/model_forms.py:197
+#: netbox/vpn/forms/model_forms.py:197
msgid "This parameter is required when defining a termination."
-msgstr "定义终止时必须使用此参数。"
+msgstr "定义端点时需要此参数。"
-#: vpn/forms/model_forms.py:320 vpn/forms/model_forms.py:356
+#: netbox/vpn/forms/model_forms.py:320 netbox/vpn/forms/model_forms.py:356
msgid "Policy"
-msgstr "政策"
+msgstr "策略"
-#: vpn/forms/model_forms.py:487
+#: netbox/vpn/forms/model_forms.py:487
msgid "A termination must specify an interface or VLAN."
-msgstr "终端必须指定接口或 VLAN。"
+msgstr "接入点必须指定接口或 VLAN。"
-#: vpn/forms/model_forms.py:489
+#: netbox/vpn/forms/model_forms.py:489
msgid ""
"A termination can only have one terminating object (an interface or VLAN)."
-msgstr "终端只能有一个终止对象(接口或 VLAN)。"
+msgstr "一个终端只能有一个终端对象(接口或VLAN)。"
-#: vpn/models/crypto.py:33
+#: netbox/vpn/models/crypto.py:33
msgid "encryption algorithm"
msgstr "加密算法"
-#: vpn/models/crypto.py:37
+#: netbox/vpn/models/crypto.py:37
msgid "authentication algorithm"
-msgstr "身份验证算法"
+msgstr "认证算法"
-#: vpn/models/crypto.py:44
+#: netbox/vpn/models/crypto.py:44
msgid "Diffie-Hellman group ID"
-msgstr "Diffie-Hellman 群组 ID"
+msgstr "DH组"
-#: vpn/models/crypto.py:50
+#: netbox/vpn/models/crypto.py:50
msgid "Security association lifetime (in seconds)"
-msgstr "安全关联生命周期(以秒为单位)"
+msgstr "SA生存期(秒)"
-#: vpn/models/crypto.py:59
+#: netbox/vpn/models/crypto.py:59
msgid "IKE proposal"
-msgstr "IKE 提案"
+msgstr "IKE proposal"
-#: vpn/models/crypto.py:60
+#: netbox/vpn/models/crypto.py:60
msgid "IKE proposals"
-msgstr "IKE 提案"
+msgstr "IKE proposals"
-#: vpn/models/crypto.py:76
+#: netbox/vpn/models/crypto.py:76
msgid "version"
msgstr "版本"
-#: vpn/models/crypto.py:88 vpn/models/crypto.py:190
+#: netbox/vpn/models/crypto.py:88 netbox/vpn/models/crypto.py:190
msgid "proposals"
-msgstr "提案"
+msgstr "proposals"
-#: vpn/models/crypto.py:91 wireless/models.py:38
+#: netbox/vpn/models/crypto.py:91 netbox/wireless/models.py:38
msgid "pre-shared key"
-msgstr "预共享密钥"
+msgstr "pre-shared key"
-#: vpn/models/crypto.py:105
+#: netbox/vpn/models/crypto.py:105
msgid "IKE policies"
-msgstr "IKE 策略"
+msgstr "IKE policies"
-#: vpn/models/crypto.py:118
+#: netbox/vpn/models/crypto.py:118
msgid "Mode is required for selected IKE version"
-msgstr "所选 IKE 版本需要模式"
+msgstr "所选IKE版本需要配置模式"
-#: vpn/models/crypto.py:122
+#: netbox/vpn/models/crypto.py:122
msgid "Mode cannot be used for selected IKE version"
-msgstr "模式不能用于选定的 IKE 版本"
+msgstr "该模式不能用于所选的IKE版本"
-#: vpn/models/crypto.py:136
+#: netbox/vpn/models/crypto.py:136
msgid "encryption"
-msgstr "加密"
+msgstr "加密算法"
-#: vpn/models/crypto.py:141
+#: netbox/vpn/models/crypto.py:141
msgid "authentication"
-msgstr "身份验证"
+msgstr "认证"
-#: vpn/models/crypto.py:149
+#: netbox/vpn/models/crypto.py:149
msgid "Security association lifetime (seconds)"
-msgstr "安全关联生命周期(秒)"
+msgstr "SA生存期(秒)"
-#: vpn/models/crypto.py:155
+#: netbox/vpn/models/crypto.py:155
msgid "Security association lifetime (in kilobytes)"
-msgstr "安全关联生命周期(以千字节为单位)"
+msgstr "SA生存大小(KB)"
-#: vpn/models/crypto.py:164
+#: netbox/vpn/models/crypto.py:164
msgid "IPSec proposal"
-msgstr "IPsec 提案"
+msgstr "IPSec proposal"
-#: vpn/models/crypto.py:165
+#: netbox/vpn/models/crypto.py:165
msgid "IPSec proposals"
-msgstr "IPsec 提案"
+msgstr "IPSec proposals"
-#: vpn/models/crypto.py:178
+#: netbox/vpn/models/crypto.py:178
msgid "Encryption and/or authentication algorithm must be defined"
-msgstr "必须定义加密和/或身份验证算法"
+msgstr "必须定义加密和身份验证算法"
-#: vpn/models/crypto.py:210
+#: netbox/vpn/models/crypto.py:210
msgid "IPSec policies"
-msgstr "IPsec 策略"
+msgstr "IPSec policies"
-#: vpn/models/crypto.py:251
+#: netbox/vpn/models/crypto.py:251
msgid "IPSec profiles"
-msgstr "IPsec 配置文件"
+msgstr "IPSec profiles"
-#: vpn/models/l2vpn.py:116
+#: netbox/vpn/models/l2vpn.py:116
msgid "L2VPN termination"
-msgstr "L2VPN 终止"
+msgstr "L2VPN 终点"
-#: vpn/models/l2vpn.py:117
+#: netbox/vpn/models/l2vpn.py:117
msgid "L2VPN terminations"
-msgstr "L2VPN 终止"
+msgstr "L2VPN 终点"
-#: vpn/models/l2vpn.py:135
+#: netbox/vpn/models/l2vpn.py:135
#, python-brace-format
msgid "L2VPN Termination already assigned ({assigned_object})"
-msgstr "L2VPN 终止已分配 ({assigned_object})"
+msgstr "L2VPN终端已分配({assigned_object})"
-#: vpn/models/l2vpn.py:147
+#: netbox/vpn/models/l2vpn.py:147
#, python-brace-format
msgid ""
"{l2vpn_type} L2VPNs cannot have more than two terminations; found "
"{terminations_count} already defined."
-msgstr "{l2vpn_type} L2VPN 的终止次数不能超过两次;已找到 {terminations_count} 已经定义了。"
+msgstr "{l2vpn_type}L2VPN不能有两个以上的端点;已找到{terminations_count}个端点。"
-#: vpn/models/tunnels.py:26
+#: netbox/vpn/models/tunnels.py:26
msgid "tunnel group"
-msgstr "隧道群"
+msgstr "隧道组"
-#: vpn/models/tunnels.py:27
+#: netbox/vpn/models/tunnels.py:27
msgid "tunnel groups"
-msgstr "隧道群"
+msgstr "隧道组"
-#: vpn/models/tunnels.py:53
+#: netbox/vpn/models/tunnels.py:53
msgid "encapsulation"
msgstr "封装"
-#: vpn/models/tunnels.py:72
+#: netbox/vpn/models/tunnels.py:72
msgid "tunnel ID"
msgstr "隧道 ID"
-#: vpn/models/tunnels.py:94
+#: netbox/vpn/models/tunnels.py:94
msgid "tunnel"
msgstr "隧道"
-#: vpn/models/tunnels.py:95
+#: netbox/vpn/models/tunnels.py:95
msgid "tunnels"
msgstr "隧道"
-#: vpn/models/tunnels.py:153
+#: netbox/vpn/models/tunnels.py:153
msgid "An object may be terminated to only one tunnel at a time."
-msgstr "一个对象一次只能终止到一个隧道。"
+msgstr "一个对象一次只能被终止到一个隧道。"
-#: vpn/models/tunnels.py:156
+#: netbox/vpn/models/tunnels.py:156
msgid "tunnel termination"
-msgstr "隧道终止"
+msgstr "隧道终点"
-#: vpn/models/tunnels.py:157
+#: netbox/vpn/models/tunnels.py:157
msgid "tunnel terminations"
-msgstr "隧道终止"
+msgstr "隧道终点"
-#: vpn/models/tunnels.py:174
+#: netbox/vpn/models/tunnels.py:174
#, python-brace-format
msgid "{name} is already attached to a tunnel ({tunnel})."
-msgstr "{name} 已经连接到隧道 ({tunnel})。"
+msgstr "{name}已附加到隧道({tunnel})。"
-#: vpn/tables/crypto.py:22
+#: netbox/vpn/tables/crypto.py:22
msgid "Authentication Method"
-msgstr "身份验证方法"
+msgstr "认证方式"
-#: vpn/tables/crypto.py:25 vpn/tables/crypto.py:97
+#: netbox/vpn/tables/crypto.py:25 netbox/vpn/tables/crypto.py:97
msgid "Encryption Algorithm"
msgstr "加密算法"
-#: vpn/tables/crypto.py:28 vpn/tables/crypto.py:100
+#: netbox/vpn/tables/crypto.py:28 netbox/vpn/tables/crypto.py:100
msgid "Authentication Algorithm"
-msgstr "身份验证算法"
+msgstr "认证算法"
-#: vpn/tables/crypto.py:34
+#: netbox/vpn/tables/crypto.py:34
msgid "SA Lifetime"
-msgstr "SA 终身"
+msgstr "SA生存期"
-#: vpn/tables/crypto.py:71
+#: netbox/vpn/tables/crypto.py:71
msgid "Pre-shared Key"
msgstr "预共享密钥"
-#: vpn/tables/crypto.py:103
+#: netbox/vpn/tables/crypto.py:103
msgid "SA Lifetime (Seconds)"
-msgstr "SA 寿命(秒)"
+msgstr "SA生存期(秒)"
-#: vpn/tables/crypto.py:106
+#: netbox/vpn/tables/crypto.py:106
msgid "SA Lifetime (KB)"
-msgstr "SA 生命周期 (KB)"
+msgstr "SA生存大小(KB)"
-#: vpn/tables/l2vpn.py:69
+#: netbox/vpn/tables/l2vpn.py:69
msgid "Object Parent"
-msgstr "对象父级"
+msgstr "目标上级"
-#: vpn/tables/l2vpn.py:74
+#: netbox/vpn/tables/l2vpn.py:74
msgid "Object Site"
-msgstr "对象站点"
+msgstr "目的站点"
-#: wireless/choices.py:11
+#: netbox/wireless/choices.py:11
msgid "Access point"
-msgstr "接入点"
+msgstr "无线AP"
-#: wireless/choices.py:12
+#: netbox/wireless/choices.py:12
msgid "Station"
-msgstr "站"
+msgstr "基站"
-#: wireless/choices.py:467
+#: netbox/wireless/choices.py:467
msgid "Open"
-msgstr "打开"
+msgstr "开放"
-#: wireless/choices.py:469
+#: netbox/wireless/choices.py:469
msgid "WPA Personal (PSK)"
-msgstr "WPA 个人 (PSK)"
+msgstr "WPA Personal (PSK)"
-#: wireless/choices.py:470
+#: netbox/wireless/choices.py:470
msgid "WPA Enterprise"
-msgstr "WPA 企业版"
+msgstr "WPA Enterprise"
-#: wireless/forms/bulk_edit.py:73 wireless/forms/bulk_edit.py:120
-#: wireless/forms/bulk_import.py:68 wireless/forms/bulk_import.py:71
-#: wireless/forms/bulk_import.py:110 wireless/forms/bulk_import.py:113
-#: wireless/forms/filtersets.py:59 wireless/forms/filtersets.py:93
+#: netbox/wireless/forms/bulk_edit.py:73
+#: netbox/wireless/forms/bulk_edit.py:120
+#: netbox/wireless/forms/bulk_import.py:68
+#: netbox/wireless/forms/bulk_import.py:71
+#: netbox/wireless/forms/bulk_import.py:110
+#: netbox/wireless/forms/bulk_import.py:113
+#: netbox/wireless/forms/filtersets.py:59
+#: netbox/wireless/forms/filtersets.py:93
msgid "Authentication cipher"
-msgstr "身份验证密码"
+msgstr "认证密码"
-#: wireless/forms/bulk_import.py:52
+#: netbox/wireless/forms/bulk_import.py:52
msgid "Bridged VLAN"
msgstr "桥接 VLAN"
-#: wireless/forms/bulk_import.py:89 wireless/tables/wirelesslink.py:27
+#: netbox/wireless/forms/bulk_import.py:89
+#: netbox/wireless/tables/wirelesslink.py:27
msgid "Interface A"
-msgstr "接口 A"
+msgstr "网络接口A"
-#: wireless/forms/bulk_import.py:93 wireless/tables/wirelesslink.py:36
+#: netbox/wireless/forms/bulk_import.py:93
+#: netbox/wireless/tables/wirelesslink.py:36
msgid "Interface B"
-msgstr "接口 B"
+msgstr "网络接口B"
-#: wireless/forms/model_forms.py:161
+#: netbox/wireless/forms/model_forms.py:161
msgid "Side B"
-msgstr "B 面"
+msgstr "B端"
-#: wireless/models.py:30
+#: netbox/wireless/models.py:30
msgid "authentication cipher"
-msgstr "身份验证密码"
+msgstr "认证密码"
-#: wireless/models.py:68
+#: netbox/wireless/models.py:68
msgid "wireless LAN group"
msgstr "无线局域网组"
-#: wireless/models.py:69
+#: netbox/wireless/models.py:69
msgid "wireless LAN groups"
msgstr "无线局域网组"
-#: wireless/models.py:115
+#: netbox/wireless/models.py:115
msgid "wireless LAN"
msgstr "无线局域网"
-#: wireless/models.py:143
+#: netbox/wireless/models.py:143
msgid "interface A"
msgstr "接口 A"
-#: wireless/models.py:150
+#: netbox/wireless/models.py:150
msgid "interface B"
msgstr "接口 B"
-#: wireless/models.py:198
+#: netbox/wireless/models.py:198
msgid "wireless link"
-msgstr "无线链接"
+msgstr "无线连接"
-#: wireless/models.py:199
+#: netbox/wireless/models.py:199
msgid "wireless links"
-msgstr "无线链接"
+msgstr "无线连接"
-#: wireless/models.py:216 wireless/models.py:222
+#: netbox/wireless/models.py:216 netbox/wireless/models.py:222
#, python-brace-format
msgid "{type} is not a wireless interface."
msgstr "{type} 不是无线接口。"
-#: wireless/utils.py:16
+#: netbox/wireless/utils.py:16
#, python-brace-format
msgid "Invalid channel value: {channel}"
-msgstr "频道值无效: {channel}"
+msgstr "通道值无效: {channel}"
-#: wireless/utils.py:26
+#: netbox/wireless/utils.py:26
#, python-brace-format
msgid "Invalid channel attribute: {name}"
-msgstr "频道属性无效: {name}"
+msgstr "通道属性无效: {name}"
diff --git a/netbox/utilities/fields.py b/netbox/utilities/fields.py
index 2640f6886..ee71223cb 100644
--- a/netbox/utilities/fields.py
+++ b/netbox/utilities/fields.py
@@ -2,6 +2,7 @@ from collections import defaultdict
from django.contrib.contenttypes.fields import GenericForeignKey
from django.db import models
+from django.utils.safestring import mark_safe
from django.utils.translation import gettext_lazy as _
from utilities.ordering import naturalize
@@ -26,6 +27,7 @@ class ColorField(models.CharField):
def formfield(self, **kwargs):
kwargs['widget'] = ColorSelect
+ kwargs['help_text'] = mark_safe(_('RGB color in hexadecimal. Example: ') + '00ff00
')
return super().formfield(**kwargs)
diff --git a/netbox/utilities/querydict.py b/netbox/utilities/querydict.py
index a2296cb1a..78395758a 100644
--- a/netbox/utilities/querydict.py
+++ b/netbox/utilities/querydict.py
@@ -55,7 +55,7 @@ def prepare_cloned_fields(instance):
for key, value in attrs.items():
if type(value) in (list, tuple):
params.extend([(key, v) for v in value])
- elif value not in (False, None):
+ elif value is not False and value is not None:
params.append((key, value))
else:
params.append((key, ''))
diff --git a/netbox/virtualization/models/virtualmachines.py b/netbox/virtualization/models/virtualmachines.py
index b62ec4b3e..2b61a7d86 100644
--- a/netbox/virtualization/models/virtualmachines.py
+++ b/netbox/virtualization/models/virtualmachines.py
@@ -184,8 +184,8 @@ class VirtualMachine(ContactsMixin, ImageAttachmentsMixin, RenderConfigMixin, Co
'cluster': _('A virtual machine must be assigned to a site and/or cluster.')
})
- # Validate site for cluster & device
- if self.cluster and self.cluster.site is not None and self.cluster.site != self.site:
+ # Validate site for cluster & VM
+ if self.cluster and self.site and self.cluster.site and self.cluster.site != self.site:
raise ValidationError({
'cluster': _(
'The selected cluster ({cluster}) is not assigned to this site ({site}).'
diff --git a/netbox/virtualization/views.py b/netbox/virtualization/views.py
index c143fff85..1030fed04 100644
--- a/netbox/virtualization/views.py
+++ b/netbox/virtualization/views.py
@@ -10,6 +10,7 @@ from django.utils.translation import gettext as _
from jinja2.exceptions import TemplateError
from dcim.filtersets import DeviceFilterSet
+from dcim.forms import DeviceFilterForm
from dcim.models import Device
from dcim.tables import DeviceTable
from extras.views import ObjectConfigContextView
@@ -173,6 +174,7 @@ class ClusterVirtualMachinesView(generic.ObjectChildrenView):
child_model = VirtualMachine
table = tables.VirtualMachineTable
filterset = filtersets.VirtualMachineFilterSet
+ filterset_form = forms.VirtualMachineFilterForm
tab = ViewTab(
label=_('Virtual Machines'),
badge=lambda obj: obj.virtual_machines.count(),
@@ -190,6 +192,7 @@ class ClusterDevicesView(generic.ObjectChildrenView):
child_model = Device
table = DeviceTable
filterset = DeviceFilterSet
+ filterset_form = DeviceFilterForm
template_name = 'virtualization/cluster/devices.html'
actions = {
'add': {'add'},
@@ -350,6 +353,7 @@ class VirtualMachineInterfacesView(generic.ObjectChildrenView):
child_model = VMInterface
table = tables.VirtualMachineVMInterfaceTable
filterset = filtersets.VMInterfaceFilterSet
+ filterset_form = forms.VMInterfaceFilterForm
template_name = 'virtualization/virtualmachine/interfaces.html'
actions = {
**DEFAULT_ACTION_PERMISSIONS,
@@ -375,6 +379,7 @@ class VirtualMachineVirtualDisksView(generic.ObjectChildrenView):
child_model = VirtualDisk
table = tables.VirtualMachineVirtualDiskTable
filterset = filtersets.VirtualDiskFilterSet
+ filterset_form = forms.VirtualDiskFilterForm
template_name = 'virtualization/virtualmachine/virtual_disks.html'
tab = ViewTab(
label=_('Virtual Disks'),
diff --git a/netbox/vpn/api/serializers_/crypto.py b/netbox/vpn/api/serializers_/crypto.py
index 27a39055f..700917b89 100644
--- a/netbox/vpn/api/serializers_/crypto.py
+++ b/netbox/vpn/api/serializers_/crypto.py
@@ -22,7 +22,8 @@ class IKEProposalSerializer(NetBoxModelSerializer):
choices=EncryptionAlgorithmChoices
)
authentication_algorithm = ChoiceField(
- choices=AuthenticationAlgorithmChoices
+ choices=AuthenticationAlgorithmChoices,
+ required=False
)
group = ChoiceField(
choices=DHGroupChoices
@@ -43,7 +44,8 @@ class IKEPolicySerializer(NetBoxModelSerializer):
choices=IKEVersionChoices
)
mode = ChoiceField(
- choices=IKEModeChoices
+ choices=IKEModeChoices,
+ required=False
)
proposals = SerializedPKRelatedField(
queryset=IKEProposal.objects.all(),
diff --git a/requirements.txt b/requirements.txt
index 79e8941e3..55b972be2 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,4 @@
-Django==5.0.6
+Django==5.0.7
django-cors-headers==4.4.0
django-debug-toolbar==4.3.0
django-filter==24.2
@@ -12,26 +12,26 @@ django-rich==1.9.0
django-rq==2.10.2
django-taggit==5.0.1
django-tables2==2.7.0
-django-timezone-field==6.1.0
+django-timezone-field==7.0
djangorestframework==3.15.2
drf-spectacular==0.27.2
-drf-spectacular-sidecar==2024.6.1
+drf-spectacular-sidecar==2024.7.1
feedparser==6.0.11
gunicorn==22.0.0
Jinja2==3.1.4
Markdown==3.6
-mkdocs-material==9.5.27
+mkdocs-material==9.5.28
mkdocstrings[python-legacy]==0.25.1
netaddr==1.3.0
-nh3==0.2.17
-Pillow==10.3.0
-psycopg[c,pool]==3.1.19
+nh3==0.2.18
+Pillow==10.4.0
+psycopg[c,pool]==3.2.1
PyYAML==6.0.1
requests==2.32.3
social-auth-app-django==5.4.1
social-auth-core==4.5.4
-strawberry-graphql==0.235.0
-strawberry-graphql-django==0.44.2
+strawberry-graphql==0.235.2
+strawberry-graphql-django==0.46.1
svgwrite==1.4.3
tablib==3.6.1
tzdata==2024.1
diff --git a/upgrade.sh b/upgrade.sh
index 512bda34b..a4db87747 100755
--- a/upgrade.sh
+++ b/upgrade.sh
@@ -33,7 +33,7 @@ echo "Using ${PYTHON_VERSION}"
# Remove the existing virtual environment (if any)
if [ -d "$VIRTUALENV" ]; then
- COMMAND="rm -rf ${VIRTUALENV}"
+ COMMAND="rm -rf \"${VIRTUALENV}\""
echo "Removing old virtual environment..."
eval $COMMAND
else
@@ -41,7 +41,7 @@ else
fi
# Create a new virtual environment
-COMMAND="${PYTHON} -m venv ${VIRTUALENV}"
+COMMAND="${PYTHON} -m venv \"${VIRTUALENV}\""
echo "Creating a new virtual environment at ${VIRTUALENV}..."
eval $COMMAND || {
echo "--------------------------------------------------------------------"