PageSourceSearch

https://assets.cdn.ifixit.com/AssetsV2/scripts/4354.d7e47a959a315c182155.js

js ifixit.com collected 2026-09-24 08:25:37 UTC 32,731 bytes, 2 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"5ca8a1b1efcc5b3a726c344b106a830e13abf521"},e._sentryModuleMetadata=e._sentryModuleMetadata||{},e._sentryModuleMetadata[(new e.Error).stack]=function(e){for(var t=1;t<arguments.length;t++){var i=arguments[t];if(null!=i)for(var n in i)i.hasOwnProperty(n)&&(e[n]=i[n])}return e}({},e._sentryModuleMetadata[(new e.Error).stack],{"_sentryBundlerPluginAppKey:ifixitFirstParty":!0});var t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="3b21dc55-46e7-4f70-bb7d-308c57ee8a2e",e._sentryDebugIdIdentifier="sentry-dbid-3b21dc55-46e7-4f70-bb7d-308c57ee8a2e")}catch(e){}}(),(globalThis.webpackChunkcarpenter_frontend=globalThis.webpackChunkcarpenter_frontend||[]).push([[4354],{842(e){e.exports=/<%([\s\S]+?)%>/g},1115(e,t,i){var n=i(76313);e.exports=function(e,t){return n(t,(function(t){return e[t]}))}},3470(e){var t={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"};e.exports=function(e){return"\\"+t[e]}},12616(e,t,i){var n=i(18350),s=i(11331),a=i(64075),o=s((function(e,t){try{return n(e,void 0,t)}catch(e){return a(e)?e:new Error(e)}}));e.exports=o},14178(e,t,i){var n=i(15346),s=i(57585),a=/[&<>"']/g,o=RegExp(a.source);e.exports=function(e){return(e=s(e))&&o.test(e)?e.replace(a,n):e}},15346(e,t,i){var n=i(89361)({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"});e.exports=n},27446(e){e.exports=/<%-([\s\S]+?)%>/g},27522(e,t,i){"use strict";i.d(t,{h:()=>n,r:()=>s});const n=new Class({Implements:[Options,Events],options:{scrollToTop:!1,scrollBuffer:200,onClick:function(){},onHide:function(){},onShow:function(){}},initialize:function(e,t){this.element=e,this.setOptions(t),this.overlay=new Element("div.modal-overlay"),this.overlay.addEvent("click",this.fireEvent.bind(this,"click"))},show:function(){return this.fireEvent("onShow"),this.overlay.inject(document.body),document.body.addClass("modal-displayed"),this.originalScrollPosition=window.getScroll(),this.options.scrollToTop&&window.scrollTo(0,0),this},hide:function(){return this.fireEvent("onHide"),this.overlay.unpin().dispose(),document.body.removeClass("modal-displayed"),this.options.scrollToTop&&window.scrollTo(0,this.originalScrollPosition.y),this}}),s=new Class({Implements:Options,options:{contentTop:null,zIndex:10001},initialize:function(e,t){this.element=e,this.setOptions(t),this.overlay=new n(e,{styles:{backgroundColor:"#fff",zIndex:this.options.zIndex,opacity:this.options.opacity||.7},scrollToTop:!1}),this.contentDiv=new Element("div.loading",{styles:{zIndex:this.options.zIndex+1}}),this.message=new Element("p.message"),this.subMessage=new Element("p.subMessage")},loading:function(e,t){this.overlay.show(),this.display(e,t)},update:function(e,t){this.message.dispose(),this.subMessage.dispose(),this.display(e,t)},doneLoading:function(){this.contentDiv.dispose(),this.message.dispose(),this.subMessage.dispose(),this.overlay.hide()},display:function(e,t){let i,n,s=this.element.getCoordinates();e&&this.message.set("text",e).inject(this.contentDiv,"top"),t&&this.subMessage.set("text",t).inject(this.message,"after"),this.contentDiv.setStyles({top:0,left:0,width:s.width,opacity:0}).inject(document.body),i=this.contentDiv.getHeight(),n=null===this.options.contentTop?s.top+(s.height-i)/2:s.top+this.options.contentTop,this.contentDiv.unpin().setStyles({top:Math.floor(n),left:s.left}),this.contentDiv.setStyle("opacity",1)}})},28494(e,t,i){var n=i(14178),s={escape:i(27446),evaluate:i(842),interpolate:i(82218),variable:"",imports:{_:{escape:n}}};e.exports=s},43226(e,t,i){"use strict";i.d(t,{t:()=>s});var n=i(5058);class s{info(e){this.update(e,"statusInfo")}notice(e){this.update(e,"statusNotice")}good(e){this.update(e,"statusSuccess")}error(e){this.update(e,"statusError")}update(e,t){this.status.textContent=e,this.element.className=t+" inPage status",this.element.style.display="block"}hide(){this.element.style.display="none"}addCloseButton(){const e=document.createElement("i");e.className="fa fa-times right js-status-cancel fa-svg",e.innerHTML=(0,n.cx)("times"),e.addEventListener("click",(()=>this.close())),this.status.append(e)}close(){this.element.remove()}constructor(e){this.element=e||document.createElement("div"),e||(this.element.className="status inPage",this.hide()),this.status=this.element.querySelector("p")||document.createElement("p"),this.element.contains(this.status)||this.element.append(this.status)}}},44375(e,t,i){"use strict";i.d(t,{Dc:()=>u,TC:()=>d,hh:()=>h,j5:()=>p});var n=i(82306),s=i(5058),a=i(68198),o=i(95366),l=i(44465),r=i(13023),c=i(35348);const u=new Class({Implements:[Options],options:{toolbarItems:["heading","bold","italic","underline","ul","ol","link"],className:"wikiTextEditorToolbar",helpLink:null,helpText:null,listHelper:!0,defaultOpenInNewTab:!1},textarea:null,toolbar:null,bindings:{},selection:null,initialize:function(e,t,i){if(this.setOptions(i),this.textarea=$(e),t)this.toolbar=$(t);else{let e=this.textarea.getPrevious(),t=this.options.className.split(" ");
1e&&e.hasClass(t[0])?this.toolbar=e:(this.toolbar=new Element("ul",{class:this.options.className}),this.toolbar.inject(this.textarea,"before"))}this.buildToolbar(),this.installKeyListener(),this.installClipboardListener(),this.options.listHelper&&this.installListHelper()},buildToolbar:function(){this.options.helpLink&&this.toolbar.adopt(new Element("li",{class:"toolbarHelp"}).adopt(new Element("a",{href:this.options.helpLink,class:"muted",alt:this.options.helpText||(0,n.N)("Help"),title:this.options.helpText||(0,n.N)("Help"),target:"_BLANK"}).adopt(new Element("i",{class:"fa fa-question-circle fa-svg",html:(0,s.cx)("question-circle")})))),this.options.toolbarItems.forEach((e=>{this["add"+(e=this.toolbarItems[e])[0].capitalize()+"Item"].apply(this,Array.convert(e.slice(1)))}))},toolbarItems:{heading:["heading",2,(0,n.N)("Make heading")],bold:["wrapper","Bold","***",(0,n.N)("bold text"),(0,n.N)("Make text bold"),"C-b"],italic:["wrapper","Italic","''",(0,n.N)("italic text"),(0,n.N)("Make text italic"),"C-i"],underline:["wrapper","Underline","++",(0,n.N)("Underlined text"),(0,n.N)("Make text underlined"),"C-u"],ul:["list","List","*",(0,n.N)("Make list"),"C-2"],ol:["list","Numbered list","#",(0,n.N)("Make numbered list"),"C-3"],link:["link","C-l"],media:["media"],image:["image"],video:["video"]},addHeadingItem:function(e,t){let i=this.makeItemId("Heading"+e),s=(0,n.N)("Heading")+" "+e,a="";for(let t=0;t<e;t++)a+="=";this.addFunction(s,(function(){this.wrapSelection({before:a+" ",defaultMiddle:(0,n.N)("Heading text"),after:" "+a})}),{class:i,icon:"header",tooltip:t})},addWrapperItem:function(e,t,i,n,s){let a=this.makeItemId(e);this.addFunction(e,(function(){if(this.wrapSelection({before:t,defaultMiddle:i,after:t}),s)return!1}),{class:a,icon:e.toLowerCase(),tooltip:n},s)},addListItem:function(e,t,i,s){let a=this.makeItemId(e),o=(0,n.N)("Hit <enter> to insert another list item, and <enter> twice in a row to end the list. To get subitems, repeat the bullet character once for each level of indent you want (e.g. %1%1)","<bullet>"),l="<bullet> "+o;this.addFunction(e,(function(){if(this.replaceMultilineSelection({eachLine:function(e){return t+" "+e},defaultText:{text:l.replace(/<bullet>/g,t),select:o.replace(/<bullet>/g,t)}}),s)return!1}),{class:a,icon:"*"===t?"list-ul":"list-ol",tooltip:i},s)},addLinkItem:function(){this.addFunction((0,n.N)("Link"),(function(){let e=p(this.textarea),t="",s="",a=this.options.defaultOpenInNewTab?"checked":"";""!==e&&(e.test(/^https?:\/\//)?t=e:e.test(/^([^\s./]+\.)+[^\s./]{2,7}/)?t="http://"+e:s=e),Promise.all([i.e(7108),i.e(4652),i.e(552),i.e(697),i.e(306)]).then(i.bind(i,60596)).then((({Modal:e})=>{e.open({type:"form",defaultWidth:!0,form:r.y.create({id:"wikiTextEditorLinkForm",class:"wikiTextEditorModal",fields:{url:{label:(0,n.N)("Link URL"),type:"text",value:t,properties:{id:"wikiTextEditorURLEntry"}},linkText:{label:(0,n.N)("Link Text (optional)"),type:"text",value:s,properties:{id:"wikiTextEditorLinkTextEntry"}},openInNewTab:{label:(0,n.N)("Open in a new tab"),type:"switch",value:this.options.defaultOpenInNewTab,properties:{id:"wikiTextEditorOpenInNewTabEntry",checked:a}}},submit:(0,n.N)("Insert link")}),onSubmit:function(e){let t=e.linkText?"|"+e.linkText.replace(/\|/g,""):"",i=e.openInNewTab?"|new_window=true":"",n=e.url;/https?:\/\//.test(n)||(n="http://"+n),n=this.encodeWikiSyntax(n),n=n.replace(/%7Cnew_window=true\s*/,"|new_window=true"),this.setStoredSelection(),d(this.textarea,"[link|"+n+i+t+"]")}.bind(this),onLoaded:function(){t&&$("wikiTextEditorLinkTextEntry").focus()}});let i=new Element("button",{type:"button",class:"button cancel-link",text:(0,n.N)("Cancel")}).addEvent("click",e.cancel);$$(".wikiTextEditorModal .formBody").adopt(i)}))}),{class:this.makeItemId("Link"),icon:"link",tooltip:(0,n.N)("Insert a link")})},addVideoItem:function(){this.addFunction((0,n.N)("Video"),(function(){let e=p(this.textarea),t="[video|";""===e?Promise.all([i.e(7108),i.e(4652),i.e(552),i.e(697),i.e(306)]).then(i.bind(i,60596)).then((({Modal:e})=>{e.open({type:"form",defaultWidth:!0,form:r.y.create({id:"wikiTextEditorVideoForm",class:"wikiTextEditorModal",fields:{videoUrl:{label:(0,n.N)("YouTube or Vimeo Video URL"),type:"text",properties:{id:"wikiTextEditorVideoURLEntry"}},videoCaption:{label:(0,n.N)("Video Caption (optional)"),type:"text",properties:{id:"wikiTextEditorVideoTextEntry"}}},submit:(0,n.N)("Insert video")}),onSubmit:function(e){let t=e.videoCaption?"]"+e.videoCaption+"[/video]":"";this.setStoredSelection(),/https?:\/\//.test(e.videoUrl)||(e.videoUrl="http://"+e.videoUrl),d(this.textarea,"[video|"+e.videoUrl+t+"]")}.bind(this)});let t=new Element("button",{type:"button",class:"button cancel-link",text:(0,n.N)("Cancel")}).addEvent("click",e.cancel);$$(".wikiTextEditorModal .formBody").adopt(t)})):e.test(/^https?:\/\//)||e.test(/^([^\s./]+\.)+[^\s./]{2,7}/)?this.replaceSelectionWithTemplate({before:t,select:e+"]"+(0,n.N)("Video caption"),after:"[/video]"}):this.replaceSelectionWithTemplate({before:t,select:"{"+(0,n.N)("Insert Video URL Here")+"}",after:"]"})}
1),{class:this.makeItemId("Video"),icon:"video-camera",tooltip:(0,n.N)("Insert a Youtube or Vimeo video")})},addImageItem:function(){this.addFunction((0,n.N)("Image"),(()=>{}),{class:this.makeItemId("Image"),icon:"image",tooltip:(0,n.N)("Insert an image")})},addMediaItem:function(){let e=this;this.mediaTarget=new l.t({customAttach:function(t,i){t&&(e.textarea.focus(),d(e.textarea,t.toWikiText())),i(null,!0)},accepts:"wiki_media"}),this.addFunction((0,n.N)("Media"),(()=>{o.g.browse(e.mediaTarget)}),{class:this.makeItemId("Media"),icon:"image",tooltip:(0,n.N)("Insert an image or video")})},addFunction:function(e,t,i,n){let o=new Element("li"),l=e.replace(/[^\w -]/g,"").replace(/\s+/,"-"),r=new Element("a",{events:{mousedown:function(){this.selection={start:this.textarea.selectionStart,end:this.textarea.selectionEnd}}.bind(this),click:function(i){i.stop(),this.setStoredSelection(),t.apply(this,Array.convert(null)),(0,c.jv)({eventCategory:"Wiki Text Editor",eventAction:`Wiki Text Editor - Toolbar Item Clicked - ${e}`})}.bind(this)},href:"#"+l.toLowerCase(),tabindex:1e3});r.adopt(new Element("span",{text:e})),r.adopt(new Element("i",{class:"fa fa-"+i.icon+" fa-svg",html:(0,s.cx)(i.icon)})),r.setProperties(i||{}),r.inject(o,"bottom"),o.inject(this.toolbar),(0,a.default)(r,{content:i.tooltip,theme:"globalTippyStyles"}),n&&this.addBinding(n,t)},makeItemId:function(e){return"wikiTextEditor"+(e=e.replace(/\s+/g,"-").camelCase().capitalize())+"Item"},setStoredSelection:function(){this.selection&&(this.textarea.focus(),this.textarea.setSelectionRange(this.selection.start,this.selection.end))},wrapSelection:function(e){let t=p(this.textarea);if(""===t)h(this.textarea,e);else{let i=e.before+t+e.after;d(this.textarea,i)}},replaceMultilineSelection:function(e){let t=p(this.textarea);if(""===t){let t=this.textarea.selectionStart,i=e.defaultText.text;if(d(this.textarea,i),e.defaultText.select){let n=e.defaultText.select,s=i.indexOf(n);-1!=s&&(t+=s,this.textarea.focus(),this.textarea.setSelectionRange(t,t+n.length))}}else{let i=e.eachLine,n=t.split("\n"),s=[];n.forEach((e=>{""!==e&&s.push(i.apply(this,Array.convert(e)))})),d(this.textarea,s.join("\n"))}},replaceSelectionWithTemplate:function(e){e=Object.merge({before:"",select:"",after:""},e),d(this.textarea,e.before),h(this.textarea,{before:"",defaultMiddle:e.select,after:e.after})},installListHelper:function(){let e=Hash.getValues(this.toolbarItems).map((e=>"list"==e[0]?e[2]:null)).clean().join(""),t=new RegExp("^(["+e+"]+)(.*)$"),i=new RegExp("^[\\s"+e+"]*$");this.addBinding("enter",(function(){let e=this.textarea.selectionStart,n=this.textarea.selectionEnd,s=this.textarea.value.slice(0,Math.max(0,e)).split("\n"),a=s.pop().match(t);if(a){if(/^\s*$/.test(a[2])){let e=s.join("\n")+"\n\n";e.test(i)&&(e=""),this.textarea.setSelectionRange(0,n),d(this.textarea,e),this.textarea.setSelectionRange(e.length+1,e.length+1)}else{let t="\n"+a[1]+" ";d(this.textarea,t),this.textarea.setSelectionRange(e+t.length,e+t.length)}return!1}}))},installKeyListener:function(){this.textarea.addEvent("keypress",(e=>{let t=[];["shift","control","alt","meta"].forEach((i=>{e[i]&&t.push(i.capitalize().slice(0,1))})),t.push(e.key);let i=t.join("-"),n=!0;this.bindings[i]&&(this.bindings[i].each((function(t){!1===t.apply(this,Array.convert(e))&&(n=!1)}),this),n||e.stop())}))},installClipboardListener:function(){this.textarea.addEventListener("paste",(e=>{let t;if(window.clipboardData&&window.clipboardData.getData?(t=window.clipboardData.getData("Text"),e=window.event):e.clipboardData&&e.clipboardData.getData&&(t=e.clipboardData.getData("text/plain")),t&&t.test(/^https?:\/\/\S+$/)){e.preventDefault?e.preventDefault():e.returnValue=!1;let i=this.encodeWikiSyntax(t);d(this.textarea,i)}}))},addBinding:function(e,t){this.bindings[e]?this.bindings[e].push(t):this.bindings[e]=[t]},encodeWikiSyntax:function(e){return e.replace(/[[\]|]/g,(e=>encodeURIComponent(e[0])))}});function d(e,t){const i=e.selectionStart,n=e.selectionEnd,s=e.value;e.value=s.slice(0,Math.max(0,i))+t+s.substring(n,s.length),e.setSelectionRange(i+t.length,i+t.length)}function h(e,t){t={before:"",defaultMiddle:"",after:"",...t};const i=p(e)||t.defaultMiddle,n={start:e.selectionStart,end:e.selectionEnd},s=e.value;if(n.start==n.end)e.value=s.slice(0,Math.max(0,n.start))+t.before+i+t.after+s.substring(n.end,s.length),e.setSelectionRange(n.start+t.before.length,n.end+t.before.length+i.length);else{const i=s.substring(n.start,n.end);e.value=s.slice(0,Math.max(0,n.start))+t.before+i+t.after+s.substring(n.end,s.length);const a=n.start+t.before.length;e.setSelectionRange(a,a+i.length)}return this}function p(e){let t=e.selectionStart,i=e.selectionEnd;return e.value.substring(t,i)}},48911(e,t,i){var n=i(7919),s=Object.prototype,a=s.hasOwnProperty;e.exports=function(e,t,i,o){return void 0===e||n(e,s[i])&&!a.call(o,i)?t:e}},55678(e){!function(e){var t="__properties";function i(){return this[t]}e.define=function(e){function n(e){this[t]=e||{}}for(var s=0;s<e.length;s++)a(e[s]);return n.prototype._toObject=i,n;function a(e){n.prototype[e]=function(i){return arguments.length>0?(this[t][e]=i,this):this[t][e]}}}}(e.exports)},60128(e,t,i){"use strict";function n({from:e,newUser:t}){const i=t?"Join":"Log In",n=(()=>{switch(e){case"google":return i+" - Google Sign-in";case"facebook":return i+" - Facebook Sign-in";case"apple":return i+" - Apple Sign-in";case"register":return i+" - Email Sign-up";case"email":return i+" - Email Sign-in";case"registerWithCode":return"Join - Email Code";case"loginWithCode":return"Log In - Email Code";default:return null}})();return n?{eventCategory:n.startsWith("Join")?"Join":"Log In",eventAction:n}:null}i.d(t,{o:()=>n})},64075(e,t,i){var n=i(46765),s=i(43405),a=i(65294);e.exports=function(e){if(!s(e))return!1;var t=n(e);return"[object Error]"==t||"[object DOMException]"==t||"string"==typeof e.message&&"string"==typeof e.name&&!
1a(e)}},76051(e,t,i){"use strict";i.r(t),i.d(t,{MediaItem:()=>d,MediaItemData:()=>h});var n=i(4079),s=i(82306),a=i(21328),o=i(43226),l=i(27522),r=i(5058),c=i(55678),u=i.n(c);const d=new Class({Implements:[Options,Events],options:{enableCrop:!0,enableMarkers:!0,min:{width:800,height:600},cropMin:{width:96,height:96},ratio:"FOUR_THREE"},medium:{width:592,height:444},initialize:function(e,t,i){this.setOptions(t),this.storage=new Hash,i?(this.setData(e,!0),this.setDataPromise(i)):this.setData(e)},_setLoading:function(e){e=!!e,this.isLoading!=e&&(this.isLoading=e,this.fireEvent("loadingChanged",[e]))},setData:function(e,t){e instanceof h||(e=new h(e)),this.data=e,t||this.fireEvent("dataChanged",[this])},setDataCheckFilterState:function(e,t){e instanceof h||(e=new h(e));const i=void 0!==this.data.filter_state,n=this.data.filter_state();i&&e.filter_state(n),this.data=e,t||this.fireEvent("dataChanged",[this])},setDataPromise:function(e){let t=this;this.dataPromise=e,e.isResolved()||t._setLoading(!0),e.getValue(((e,i)=>{i?alert(i):t.setData(e),delete t.dataPromise,t._setLoading(!1)}))},removeFilterState:function(){void 0!==this.data.filter_state()&&delete this.data.__properties.filter_state},whenReady:function(e,t){return this.dataPromise?(!this.dataPromise.isResolved()&&t&&t(),this.dataPromise.getValue(e,t)):(e&&e(),!0)},deleted:function(){this.fireEvent("deleted",[this]),this.removeEvents()},isReady:function(){let e=this.dataPromise;return!e||e.isResolved()},setContext:function(e){this.context=e},getContext:function(){return this.context},getElement:function(){return this.container},_getMenuOptions:function(){return{deleted:!0,copy:!0}},getLargestImageSize:function(e){let t=e?d.sizes.indexOf(e):d.sizes.length-1;for(;t>=0;t--){let e=d.sizes[t],i=this.data;if(i[e]&&i[e]())return e}},collectMenuOptions:function(){let e=d.prototype._getMenuOptions.call(this);return Object.append(e,this._getMenuOptions()),this.context&&Object.append(e,this.context.getMenuItems(this)),e},store:function(e,t){this.storage.set(e,t)},retrieve:function(e,t){let i=this.storage.get(e);return!i&&t&&(i=t,this.storage.set(e,i)),i},createRepresentationFor:function(e,t){},getID:function(){},getType:function(){},getGlobalID:function(){},isValidChoice:function(){return!!this.isReady()&&(void 0===this.data.filter_state()||!0===this.data.filter_state()||"crop"===this.data.filter_state())},copyToMediaLibrary:function(){d.copyToMediaLibrary(this.getID(),this.getType())}});d.extend({copyToMediaLibrary:function(e,t,i,n){let a=new l.r(n||$(document.body));a.loading((0,s.N)("Copying to library...")),new Request.AjaxIO("copyToLibrary",{onSuccess:function(n){a.doneLoading.delay("GuideVideoObject"===t||"GuideEmbedObject"===t?1e3:0,a),i&&i(n,e)},onError:function(e){a.doneLoading();let t=$$("#guideSteps .statuses");if(!e||!t.length){let t=e?.error??(0,s.N)("Internal Error: Failed copying to library.");return a.loading(t),void a.doneLoading.delay(3e3,a)}let i=new o.t;t.adopt(i.element),i.error(e.error),i.addCloseButton()}}).send(e,t)},createMenuControl:function(e){if(e&&e.context&&e.context.options&&"all"===e.context.options.menuHide)return null;let t=new Element("div.menuControl"),i=new Element("i",{class:"fa fa-cog fa-svg",html:(0,r.cx)("cog")}),n=new Element("div.edit-text");return n.setProperties({text:(0,s.N)("edit").toUpperCase()}),n.grab(i),t.grab(n),t.addEvent("click",(i=>{i.stop(),d.fireEvent("toggleMenu",[e,t])})),t.store("mediaItem",e),t},createFromData:function(e,t,i){return e=new h(e),new(0,this.types[e.type()])(e,t,i)},types:{},registerType:function(e,t){this.types[e]=t},sizes:["mini","thumbnail","standard","medium","large","huge","original"],isSizeAsBigAs:function(e,t){let i=this.sizes.indexOf(t),s=this.sizes.indexOf(e);if(-1===i||-1===s){let i=[t,e].join(",");throw new n.Uj("One of ["+i+"] is not a valid image size.")}return s>=i}}),Object.append(d,a.b);const h=u().define(["filename","title","type","provider","date","srcid","imageid","encoding","documentid","objectid","videoid","document_extension","document_type","document_group","guid","ratio","active","mini","thumbnail","standard","medium","original","view_url","edit_url","video_urls","width","height","markup","markup_string","scaled_width","scaled_height","filter_state","html"])},82218(e){e.exports=/<%=([\s\S]+?)%>/g},83727(e,t,i){"use strict";i.d(t,{A:()=>h});var n=i(95095),s=i.n(n),a=i(82306);function o(e,t,i){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return i}function l(e,t){!function(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}(e,t),t.add(e)}var r=new WeakSet,c=new WeakSet;function u(e){const t=s()(e);return(e,i)=>{const n=t({_js:a.N,...e});return i?n:o(this,c,d).call(this,n)}}function d(e){const t=$.parseHTML?$.parseHTML(e):new Element("div",{html:e}).getChildren();return 1===t.length?t[0]:t}const h=new class{get(e){return this.cachedTemplates[e]||(this.cachedTemplates[e]=o(this,r,u).call(this,e)),this.cachedTemplates[e]}constructor(){l(this,r),l(this,c),this.cachedTemplates={}}}},87939(e,t,i){"use strict";i.d(t,{t:()=>s});var n=i(92158);const s={initialize:function(e,t){this.options=t||{};let i=new n.eY(e,Object.merge({langid:App.lang?App.lang:null,fallbackToDefaultLanguage:!0,maxChoices:6,doctypes:"device",showImages:!0},this.options));this.options.onHide&&e.addEvent("keyup:pause(200)",this.options.onHide.bind(i))}}},89361(e){e.exports=function(e){return function(t){return null==e?void 0:e[t]}}},91988(e,t,i){var n=i(27554),s=i(77206),a=i(51141),o=s((function(e,t,i,s){n(t,a(t),e,s)}));e.exports=o},92158(e,t,i){"use strict";i.d(t,{pf:()=>u,yl:()=>m,eY:()=>d,qu:()=>g,bI:()=>p,J2:()=>h,YT:()=>f});var n=i(82306),s=i(40706),a=i(95864),o=i(97331),l=i(83727),r=i(5058);const c=new Class({Extends:s.j.Request.API_2_0,el:null,initialize:function(e,t){(t=Object.merge({fxOptions:null,doctypes:null,langid:null,fallbackToDefaultLanguage:!1,className:"blurb-finder",showImages:!0,endpoint:"suggest",maxChoices:5,minLength:0,truncateText:!1,overflow:!1,overflowMargin:0,injectChoice:this.injectChoice.bind(this),getValue:this.getValue.bind(this),filterSubset:!0,onShow:this.onShow.bind(this),queryParams:{}},t)).getData={},t.doctypes&&(t.getData.doctypes=t.doctypes),t.langid&&(t.getData.langid=t.langid),t.fallbackToDefaultLanguage&&(t.getData.fallbackToDefaultLanguage=!0),delete t.doctypes,delete t.langid,delete t.fallbackToDefaultLanguage,this.el=e,this.parent(this.el,t.endpoint,t),this.url=this.request.request.options.url,this.choices.addEvent("mousedown",(e=>{e.stop()}))},query:function(){if(this.toggleIndicator(!0),!this.queryValue)return;let e=new URI(this.url+"/"+encodeURIComponent(this.queryValue));e.setData(this.options.queryParams),this.request.request.options.url=e.toString();let t=Object.clone(this.options.getData)||{};this.fireEvent("onRequest",[this.element,this.request,t,this.queryValue]),this.request.send({data:t})},queryResponse:function(e){this.toggleIndicator(!1),this.fireEvent("onComplete",[this.element,this.request]);let t=JSON.parse(e);this.update(t&&t.results)},getValue:function(e){return e.title},onShow:function(e,t,i){let n=t.getElement(".blurb-image");if(n&&n.isVisible()){let e=t.getElement(".blurb-item").getDimensions(!0).width,i=20,s=t.getElements(".blurb-text"),a=e-n.getDimensions(!0).width-i;s.each((e=>{e.setStyle("width",a)}))}}}),u=new Class({Extends:c,initialize:function(e,t){t=Object.merge({className:"autocompleter-choices",endpoint:"users/search",multiple:!0,maxChoices:5},t),this.parent(e,t)},injectChoice:function(e){let t=null===e.unique_username?"":"(@"+e.unique_username+")",i={userid:e.userid,name:e.username,uniqueName:t,avatar:e.image.mini},n=l.A.get('<li class="author-suggest-item" id="author-<%- userid %>" data-userid="<%- userid %>"\n data-username="<%- name %> <%- uniqueName %>" data-image="<%- avatar %>">\n   <div class="author-suggest-info">\n      <img class="author-suggest-avatar" src="<%- avatar %>">\n      <div class="author-suggest-name">\n         <%- name %>\n      </div>\n   </div>\n</li>\n')(i);n.inputValue=e.username+t,this.addChoiceEvents(n).inject(this.choices)}}),d=new Class({Extends:c,initialize:function(e,t){t=Object.merge({doctypes:"device",truncateText:90},t),this.parent(e,t)}
1,injectChoice:function(e){if(!this.el.isDisplayed())return;let t=e.text&&this.options.truncateText?(0,a.xv)(e.text,this.options.truncateText,"…"," "):e.text;t=this.markQueryValue(t);let i={showImage:this.options.showImages,blurbImage:e.image?e.image.mini:window.shared_constants.GuideURI("TOPIC_NO_IMAGE_MINI"),title:e.title,displayTitle:this.markQueryValue(e.display_title),summary:t,blurbId:e.newItem?"blurb-new":"blurb-"+e.dataType+"-"+e[e.dataType+"id"]},n=l.A.get(o)(i);n.store("blurb",e),n.inputValue=this.options.getValue?this.options.getValue(e):e.type+":"+e.id,e.newItem&&n.addClass("blurb-add-new"),this.addChoiceEvents(n).inject(this.choices)}}),h=new Class({Extends:c,initialize:function(e,t){t=Object.merge({doctypes:"product",endpoint:"suggest/products"},t),this.parent(e,t)},injectChoice:function(e){if(!this.el.isDisplayed())return;let t=e.text,i="blurb-"+e.dataType+"-"+e.productCode;this.options.hideOptions||(i="blurb-"+e.dataType+"-"+e.itemCode,e.optionTitle&&(t=e.optionTitle)),this.options.truncateText&&(t=(0,a.xv)(t,this.options.truncateText,"…"," ")),t=this.markQueryValue(t);let n={blurbId:i,showImage:this.options.showImages,blurbImage:e.image?e.image.mini:window.shared_constants.GuideURI("TOPIC_NO_IMAGE_MINI"),title:e.title,displayTitle:this.markQueryValue(e.title),summary:t,productBlurb:e},s=l.A.get(o)(n);e.queryValue=this.queryValue,s.store("blurb",e),s.inputValue=this.options.getValue?this.options.getValue(e):e.type+":"+e.id,this.addChoiceEvents(s).inject(this.choices)}}),p=new Class({Extends:d,initialize:function(e,t){t=Object.merge({doctypes:"item"},t),this.parent(e,t)},queryResponse:function(e){this.toggleIndicator(!1),this.fireEvent("onComplete",[this.element,this.request]);let t=JSON.parse(e)||{query:"",results:[]},i={newItem:!0,title:t.query,display_title:"part"===this.options.itemType?(0,n.N)("Add new part '%1'").replace("%1",t.query):"tool"===this.options.itemType?(0,n.N)("Add new tool '%1'").replace("%1",t.query):(0,n.N)("Add new %1 '%2'").replace("%1",this.options.itemType).replace("%2",t.query),text:"part"===this.options.itemType?(0,n.N)("Create a new part with this name."):"tool"===this.options.itemType?(0,n.N)("Create a new tool with this name."):(0,n.N)("Create a new %1 with this name.").replace("%1",this.options.itemType),mini:window.shared_constants.GuideURI("NO_IMAGE_MINI")},s=t.results.filter((e=>e.title.toLowerCase()===t.query.toLowerCase()));t.query&&!s.length&&t.results.push(i),this.update(t&&t.results)}}),g=new Class({Extends:c,initialize:function(e,t){(t=Object.merge({doctypes:"guide",prereqOnlyOkay:!1,inProgressOkay:!1,queryParams:{}},t)).prereqOnlyOkay&&(t.queryParams.includePrereqOnlyGuides=!0),t.inProgressOkay&&(t.queryParams.includeInProgressGuides=!0),this.parent(e,t)},injectChoice:function(e){if(!this.el.isDisplayed())return;let t="blurb-"+e.dataType+"-"+e[e.dataType+"id"],i=e.image?e.image.mini:window.shared_constants.GuideURI("GUIDE_NO_MAIN_IMAGE_MINI"),n=e.text&&this.options.truncateText?(0,a.xv)(e.text,this.options.truncateText,"…"," "):e.summary||"",s=l.A.get(o)({blurbId:t,showImage:this.options.showImages,blurbImage:i,title:e.title,displayTitle:this.markQueryValue(e.title),summary:this.markQueryValue(n)});e.queryValue=this.queryValue,s.store("blurb",e),s.inputValue=this.options.getValue?this.options.getValue(e):e.type+":"+e.id,this.addChoiceEvents(s).inject(this.choices)}}),m=new Class({Extends:g,global:!1,wrapperEl:null,globalToggleEl:null,noResultsEl:null,noResultsQueryEl:null,initialize:function(e,t){(t=Object.merge({device:null,className:"blurb-finder",zIndex:42,queryParams:{}},t)).queryParams.guideDevice=t.device;let i=l.A.get('<div class="blurb-finder-wrap" styles="z-index:<%- zIndex %>">\n   <ul class="<%- choicesClass %>"></ul>\n   <p class="no-matches js-no-matches">\n      <% /* Translators: %1 -> search; */ %>\n      <%= _js(\'No results for %1\', \'<span></span>\') %>\n   </p>\n   <p class="blurb-finder-global-toggle js-blurb-finder-global-toggle">
1\n      <span class="when-not-global"><%- _js(\'Search all guides\') %>\n       <%= searchPlusIcon %></span>\n\n      <% /* Translators: %1 -> object name; */ %>\n      <span class="when-global"><%- _js(\'Search guides belonging to this %1\', objectNameSingular) %>\n       <%= searchMinusIcon %></span>\n   </p>\n</div>\n')({choicesClass:t.className,zIndex:t.zIndex,objectNameSingular:App.objectNameSingular.toLowerCase(),searchPlusIcon:(0,r.AY)("search-plus"),searchMinusIcon:(0,r.AY)("search-minus")}).hide().inject(document.body,"top");this.wrapperEl=i,this.globalToggleEl=i.getElement(".js-blurb-finder-global-toggle"),this.noResultsEl=i.getElement(".js-no-matches"),this.noResultsQueryEl=this.noResultsEl.getElement("span"),this.globalToggleEl.addEvent("mousedown",(e=>{e.stop(),this.toggleGlobal()})),t.customChoices=i.getElement("ul"),t.emptyChoices=this.showEmptyChoices,this.parent(e,t)},showChoices:function(){let e=this.options.choicesMatch;this.choices.getFirst(e)?(this.wrapperEl.removeClass("empty").show(),this.parent(),this.positionRelativeToInput(this.wrapperEl)):this.showEmptyChoices()},showEmptyChoices:function(){this.choices.setStyle("height","auto"),this.queryValue?(this.noResultsQueryEl.set("text",this.queryValue),this.positionRelativeToInput(this.wrapperEl),this.wrapperEl.addClass("empty").show()):this.hideChoices()},hideChoices:function(e){this.parent(e),this.wrapperEl.hide()},toggleGlobal:function(){this.global=!this.global,this.globalToggleEl.toggleClass("active"),this.global?delete this.options.queryParams.guideDevice:this.options.queryParams.guideDevice=this.options.device,this.query()}}),f=new Class({Extends:c,initialize:function(e,t){t=Object.merge({className:"autocompleter-choices",endpoint:"suggest/tags",multiple:!0,maxChoices:10,doctypes:"all"},t),this.parent(e,t)},injectChoice:function(e){let t={title:this.markQueryValue(e)},i=l.A.get("<li><%= title %></li>\n")(t);i.inputValue=e,this.addChoiceEvents(i).inject(this.choices)}})},95095(e,t,i){var n=i(67474),s=i(91988),a=i(12616),o=i(1115),l=i(48911),r=i(3470),c=i(64075),u=i(74309),d=i(51141),h=i(82218),p=i(28494),g=i(57585),m=/\b__p \+= '';/g,f=/\b(__p \+=) '' \+/g,b=/(__e\(.*?\)|\b__t\)) \+\n'';/g,y=/[()=,{}\[\]\/\s]/,w=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,v=/($^)/,x=/['\n\r\u2028\u2029\\]/g,E=Object.prototype.hasOwnProperty;e.exports=function(e,t,i){var I=p.imports._.templateSettings||p;i&&u(e,t,i)&&(t=void 0),e=g(e),t=s({},t,I,l);var T=s({},t.imports,I.imports,l),_=d(T),C=o(T,_);n(_,(function(e){if(y.test(e))throw new Error("Invalid `imports` option passed into `_.template`")}));var k,N,S=0,j=t.interpolate||v,M="__p += '",L=RegExp((t.escape||v).source+"|"+j.source+"|"+(j===h?w:v).source+"|"+(t.evaluate||v).source+"|$","g"),O=E.call(t,"sourceURL")?"//# sourceURL="+(t.sourceURL+"").replace(/\s/g," ")+"\n":"";e.replace(L,(function(t,i,n,s,a,o){return n||(n=s),M+=e.slice(S,o).replace(x,r),i&&(k=!0,M+="' +\n__e("+i+") +\n'"),a&&(N=!0,M+="';\n"+a+";\n__p += '"),n&&(M+="' +\n((__t = ("+n+")) == null ? '' : __t) +\n'"),S=o+t.length,t})),M+="';\n";var D=E.call(t,"variable")&&t.variable;if(D){if(y.test(D))throw new Error("Invalid `variable` option passed into `_.template`")}else M="with (obj) {\n"+M+"\n}\n";M=(N?M.replace(m,""):M).replace(f,"$1").replace(b,"$1;"),M="function("+(D||"obj")+") {\n"+(D?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(k?", __e = _.escape":"")+(N?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+M+"return __p\n}";var q=a((function(){return Function(_,O+"return "+M).apply(void 0,C)}));if(q.source=M,c(q))throw q;return q}},95864(e,t,i){"use strict";function n(e){e.value=e.value.replace(/^\n/gm,"")}function s(e,t,i="…",n){if(e.length>t){if(e=e.substring(0,t),n){const t=e.lastIndexOf(n);-1!==t&&(e=e.substring(0,t))}e+=i}return e}i.d(t,{cu:()=>n,xv:()=>s})},97331(e){"use strict";e.exports='<li class="blurb-item" id="<%- blurbId %>">\n   <% if (showImage) { %>\n      <div class="blurb-image">\n         <img src="<%- blurbImage %>" alt="<%- title %> Image">\n      </div>\n   <% } %>\n   <div class="blurb-text">\n      <p class="blurb-title"><%= displayTitle %></p>\n      <p class="blurb-summary hidden-mobile"><%= summary %></p>\n   </div>\n</li>\n'}}]);
2//# sourceMappingURL=4354.d7e47a959a315c182155.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.