1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[689],{4572:function(e,t,n){"use strict";var r=n(52322),o=n(40489),u=n(41303),l=n.n(u),a=n(38142),i=n(591),c=n(76501),s=n(72299);t.ZP=e=>{var t,n;let{nodeId:u,slug:d,name:f,pdpHref:h,clearbuyProductId:b,requireDeclared:p=!0,mode:m="open"}=e,v=(0,i.so)(),y=null!==(n=null===(t=(0,a.Be)())||void 0===t?void 0:t.declared)&&void 0!==n?n:null,g=(0,c.Ac)({nodeId:u,name:f});if(!v||p&&!y||null===b||y&&(0,s.UB)({nodeId:y.nodeId,slug:y.slug},{nodeId:u,slug:d}))return null;let x=v.isPinned(u),w=x?"toggle"===m?"unpin":"open":"pin",M={nodeId:u,slug:d,name:f,pdpHref:h,clearbuyProductId:b};return(0,r.jsxs)("button",{type:"button",className:(0,o.Z)(l().pin,{[l().pinOn]:x}),"aria-pressed":x,title:x?"unpin"===w?"Take this one out of the comparison":"Open the comparison â unpin from there":"Overlay this card's lab curves with your pair and up to two more cards",onClick:()=>{if("unpin"===w){v.unpin(u),g("pin",{action:"unpin",slots_used:v.pinned.length-1});return}if("open"===w){v.openDrawer(),g("pin",{action:"open",slots_used:v.pinned.length});return}let e=v.pin(M);g("pin",{action:e?"pin":"blocked",slots_used:v.pinned.length+(e?1:0)})},children:[(0,r.jsx)("svg",{className:l().icon,viewBox:"0 0 12 12",width:"11",height:"11",fill:"none",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,r.jsx)("path",{d:"M7.5 1.5l3 3-1.2.4-2 2 .3 2.3L6 8.6 3.4 11 1 8.6l2.4-2.6L1.6 4.4l2.3.3 2-2z"})}),(0,r.jsx)("span",{children:x?"toggle"===m?"Pinned \xb7 Unpin":"Pinned \xb7 Open":"Pin to compare"})]})}},56623:function(e,t,n){"use strict";n.d(t,{iv:function(){return M},uL:function(){return w},$Z:function(){return L},mI:function(){return F},zP:function(){return g},iu:function(){return x},w1:function(){return p},hG:function(){return b},dK:function(){return l},gi:function(){return m},$t:function(){return T},ry:function(){return f},as:function(){return O},vk:function(){return d},xK:function(){return v},xe:function(){return R},xx:function(){return Z},M:function(){return h},dQ:function(){return H}});var r=n(67574);let o="/api/chart-data";var u=JSON.parse('{"Ew":"SoundGuys Headphone Preference Curve","QI":{"hz":[20,20.6,21.2,21.8,22.4,23,23.6,24.3,25,25.8,26.5,27.2,28,29,30,30.7,31.5,32.5,33.5,34.5,35.5,36.5,37.5,38.7,40,41.2,42.5,43.7,45,46.2,47.5,48.7,50,51.5,53,54.5,56,58,60,61.5,63,65,67,69,71,73,75,77.5,80,82.5,85,87.5,90,92.5,95,97.5,100,103,106,109,112,115,118,122,125,128,132,136,140,145,150,155,160,165,170,175,180,185,190,195,200,206,212,218,224,230,236,243,250,258,265,272,280,290,300,307,315,325,335,345,355,365,375,387,400,412,425,437,450,462,475,487,500,515,530,545,560,580,600,615,630,650,670,690,710,730,750,775,800,825,850,875,900,925,950,975,1000,1030,1060,1090,1120,1150,1180,1220,1250,1280,1320,1360,1400,1450,1500,1550,1600,1650,1700,1750,1800,1850,1900,1950,2000,2060,2120,2180,2240,2300,2360,2430,2500,2580,2650,2720,2800,2900,3000,3070,3150,3250,3350,3450,3550,3650,3750,3870,4000,4120,4250,4370,4500,4620,4750,4870,5000,5150,5300,5450,5600,5800,6000,6150,6300,6500,6700,6900,7100,7300,7500,7750,8000,8250,8500,8750,9000,9250,9500,9750,10000,10300,10600,10900,11200,11500,11800,12200,12500,12800,13200,13600,14000,14500,15000,15500,16000,16500,17000,17500,18000,18500,19000,19500,20000],"response":[3.675,3.675,3.675,3.675,3.675,3.675,3.675,3.675,3.675,3.675,3.675,3.675,3.675,3.675,3.675,3.675,3.675,3.685,3.683333333,3.670833333,3.646666667,3.61,3.565,3.5075,3.444166667,3.375,3.3025,3.228333333,3.159166667,3.095,3.033333333,2.978333333,2.920833333,2.861666667,2.794166667,2.719166667,2.633333333,2.540833333,2.445,2.3425,2.235833333,2.133333333,2.025,1.915833333,1.806666667,1.695,1.580833333,1.46,1.3375,1.211666667,1.091666667,0.97,0.8525,0.739166667,0.6225,0.505833333,0.385833333,0.265833333,0.145,0.024166667,-0.095,-0.213333333,-0.331666667,-0.451666667,-0.5725,-0.696666667,-0.82,-0.943333333,-1.011666667,-1.1925,-1.31,-1.463333333,-1.5425,-1.569166667,-1.619166667,-1.651666667,-1.6625,-1.664166667,-1.659166667,-1.660833333,-1.670833333,-1.693333333,-1.725833333,-1.76,-1.791666667,-1.818333333,-1.844166667,-1.869166667,-1.891666667,-1.9125,-1.93,-1.945833333,-1.958333333,-1.970833333,-1.984166667,-1.999166667,-2.0125,-2.020833333,-2.025,-2.0275,-2.031666667,-2.041666667,-2.055,-2.0675,-2.0725,-2.058333333,-2.028333333,-1.990833333,-1.954166667,-1.9275,-1.913333333,-1.9,-1.8825,-1.845,-1.785,-1.700833333,-1.5975,-1.491666667,-1.39,-1.2875,-1.1775,-1.071666667,-0.9775,-0.891666667,-0.821666667,-0.771666667,-0.744166667,-0.725833333,-0.695,-0.6325,-0.535,-0.418333333,-0.300833333,-0.2,-0.1175,-0.044166667,0.034166667,0.12,0.215,0.313333333,0.413333333,0.5125,0.608333333,0.705833333,0.803333333,0.905,1.013333333,1.134166667,1.189166667,1.44,1.634166667,1.964166667,2.2375,2.421666667,2.77,3.158333333,3.57,3.9825,4.390833333,4.795,5.200833333,5.6025,5.990833333,6.353333333,6.683333333,6.980833333,7.2525,7.505,7.741666667,7.968333333,8.183333333,8.384166667,8.57,8.725833333,8.8375,8.895,8.8825,8.8025,8.663333333,8.483333333,8.278333333,8.065,7.845,7.605833333,7.330833333,7.006666667,6.628333333,6.210833333,5.785,5.376666667,4.991666667,4.639166667,4.37,4.185833333,4.0425,3.918333333,3.793333333,3.6625,3.518333333,3.404166667,3.385,3.49,3.666666667,3.859166667,4.0575,4.285833333,4.545,4.796666667,4.993333333,5.1025,5.1025,4.9775,4.74,4.428333333,4.099166667,3.788333333,3.480833333,3.135,2.7025,2.1675,1.85,1.545,1.24,1.348571429,1.43,1.631428571,1.9,1.705,1.51,0.655,-0.2,-0.51,-0.82,-2.295,-3.77,-6.135,-8.5,-10.53,-12.56,-16.39,-20.22]}}');let l={padL:46,plotW:540,viewW:600},a={...l,padT:14,plotH:208,viewH:250,labelSize:10,pinR:4},i={...a,plotH:338,viewH:380,labelSize:15,pinR:6}
1,c=Math.log10(20),s=Math.log10(2e4);function d(e){return l.padL+(Math.log10(e)-c)/(s-c)*l.plotW}function f(e){return 10**(c+(e-l.padL)/l.plotW*(s-c))}function h(e,t){let n=Math.log10(t),r=e[0],o=1/0;for(let t of e){let e=Math.abs(Math.log10(t[0])-n);e<o&&(o=e,r=t)}return r}let b="#009fff",p=["#f5871f","#1aa179","#7c5cdb","#e0457b"],m={freq:"frequency",iso:"isolation",anc:"anc"};function v(e){return e<1e3?"".concat(Math.round(e)," Hz"):"".concat(Number((e/1e3).toFixed(1))," kHz")}function y(e){let t=e.padT,n=e.padT+e.plotH,r=e=>Math.min(n,Math.max(t,e)),o=(t,n)=>r=>e.padT+(n-r)/(n-t||1)*e.plotH,u=(e,t)=>e.map((e,n)=>"".concat(n?"L":"M").concat(d(e[0]).toFixed(1)," ").concat(r(t(e[1])).toFixed(1))).join(" "),l=(e,t,n)=>{let r=e[e.length-1],[o]=e;return"".concat(u(e,t)," L").concat(d(r[0]).toFixed(1)," ").concat(n.toFixed(1)," L").concat(d(o[0]).toFixed(1)," ").concat(n.toFixed(1)," Z")};return{plot:e,viewBox:"0 0 ".concat(e.viewW," ").concat(e.viewH),scaleY:(e,t)=>r(o(e.min,e.max)(t)),scalePath:(e,t)=>{let{min:n,max:r}=t;return u(e,o(n,r))},attenAreaPath:(e,t)=>{let{min:n,max:r}=t,u=o(n,r);return l(e,u,u(0))},gapPaths:(e,t,n)=>{let{min:u,max:l}=n,a=o(u,l),i=[],c=[],s=[],f=0,h=null,b=()=>{0!==f&&c.length>1&&i.push({d:"M".concat(c.join(" L")," L").concat(s.join(" L")," Z"),bOnTop:f>0}),c=[],s=[],f=0};for(let[n,o,u]of function(e,t){let n=[];if(t.length<2)return n;let r=0;for(let[o,u]of e){if(o<t[0][0]||o>t[t.length-1][0])continue;for(;r<t.length-2&&t[r+1][0]<o;)r++;let[e,l]=t[r],[a,i]=t[r+1],c=a===e?0:(Math.log10(o)-Math.log10(e))/(Math.log10(a)-Math.log10(e));n.push([o,u,l+(i-l)*c])}return n}(e,t)){let e=d(n),t=r(a(o)),l=r(a(u)),i=Math.sign(t-l);if(h&&0!==i&&0!==f&&i!==f){let n=h[1]-h[2],r=n/(n-(t-l)),o="".concat((h[0]+(e-h[0])*r).toFixed(1)," ").concat((h[1]+(t-h[1])*r).toFixed(1));c.push(o),b(),c.push(o)}0!==i&&(f=i),c.push("".concat(e.toFixed(1)," ").concat(t.toFixed(1))),s.unshift("".concat(e.toFixed(1)," ").concat(l.toFixed(1))),h=[e,t,l]}return b(),i},axisTicks:function(e){let{min:t,max:n,step:r}=e,u=!(arguments.length>1)||void 0===arguments[1]||arguments[1],l=o(t,n),a=[];for(let e=t;e<=n+1e-6;e+=r){let t=Math.round(e);a.push({label:u&&t>0?"+".concat(t):"".concat(t),y:l(e)})}return a}}}let g=y(a),x=y(i),w="https://www.soundguys.com/soundguys-house-curve-54290/",M={before:"Measured frequency response (dB relative) against the ",linkText:"SoundGuys Headphone Preference Curve",after:". When the measurement goes above the dashed line, that frequency is louder than our preference curve, and when it goes below: it's quieter. Use the curve for comparison purposes only, as your taste may vary."},k=M.before+M.linkText+M.after;function C(e,t){let n=e[t];return null!==n&&"object"==typeof n?n:void 0}function _(e){if(!e||!Array.isArray(e.hz)||!Array.isArray(e.response))return null;let t=e.hz.map((t,n)=>[t,e.response[n]]).filter(e=>{let[t,n]=e;return Number.isFinite(t)&&t>0&&Number.isFinite(n)}).sort((e,t)=>e[0]-t[0]);return t.length?t:null}function S(e){return e&&e.some(e=>{let[,t]=e;return 0!==t})?e:null}let F=_(u.QI),L=u.Ew,N=[2,3,5,6,10,12,15,20,25],A=[2,5,10,20],I=[5,10,20];function j(e,t,n){var r;return null!==(r=t.find(t=>e/t<=n))&&void 0!==r?r:2*t[t.length-1]}function H(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:31;if(e.length<=t)return e;let n=Math.log10(e[0][0]),r=Math.log10(e[e.length-1][0]),o=[],u=0;for(let l=0;l<t;l++){let a=10**(n+(r-n)*l/(t-1));for(;u<e.length-1&&e[u][0]<a;)u++;let i=e[Math.max(0,u-1)],c=Math.abs(i[0]-a)<=Math.abs(e[u][0]-a)?i:e[u];o.length&&o[o.length-1][0]===c[0]||o.push(c)}return o}function P(e){let t=1/0,n=-1/0;for(let r of e)if(r)for(let[,e]of r)e<t&&(t=e),e>n&&(n=e);return Number.isFinite(t)&&Number.isFinite(n)?{lo:t,hi:n}:null}function E(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:N,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:6,o=j(t-e,n,r);return{min:Math.floor(e/o)*o,max:Math.ceil(t/o)*o,step:o}}function O(e){var t;let n=null!==(t=P(e))&&void 0!==t?t:{lo:-12,hi:12},r=Math.max(1,(n.hi-n.lo)*.08),o=n.lo-r,u=n.hi+r;if(u-o<12){let e=(u+o)/2;o=e-6,u=e+6}if(o>=-20&&u<=20)return E(o,u);o=Math.max(o,-20);let l=j((u=Math.min(u,20))-o,A,6);return{min:Math.max(Math.floor(o/l)*l,-20),max:Math.min(Math.ceil(u/l)*l,20),step:l}}function T(e){var t;let n=null!==(t=P(e))&&void 0!==t?t:{lo:0,hi:40},r=Math.min(0,n.lo),o=Math.max(2,(n.hi-r)*.08),u=Math.max(n.hi+o,r+20);return E(r,u,I,8)}function z(e){let t=S(_(C(e,"Smoothed Normalized Ave Raw Response"))),n=S(_(C(e,"Isolation"))),r=S(_(C(e,"ANC+Isolation")));return t||n||r?{frequency:t?{points:t,blurb:k}:null,isolation:n?{points:n,blurb:"Passive isolation (dB) with ANC off â how much ambient noise the fit blocks on its own. Higher on the chart means more attenuation."}
1:null,anc:r?{points:r,blurb:"Total attenuation (dB) with ANC on â passive isolation plus active noise cancelling. Higher on the chart means more attenuation."}:null}:null}class B extends Error{constructor(e,t){super("lab chart request failed for ".concat(e,": ").concat(String(t))),this.name="ChartRequestError"}}async function q(e,t){let n,u;try{if(n=await fetch(function(e){let t=(0,r.m)("useTrailingSlash")?"".concat(o,"/"):o;return"".concat(t,"?id=").concat(e,"&measurementSet=").concat("default")}(e),{signal:t,headers:{Accept:"application/json"}}),404===n.status)return null;if(!n.ok)throw Error("HTTP ".concat(n.status));u=await n.json()}catch(t){if((null==t?void 0:t.name)==="AbortError")throw t;throw new B(e,t)}return u&&"object"==typeof u&&"number"==typeof u.prod_id?u:null}async function G(e,t){try{return await q(e,t)}catch(t){if(t instanceof B)return console.error("[audio-chart] request failed:",e,t),null;throw t}}async function R(e,t){if(null==e)return null;let n=await G(e,t);return n?z(n):null}async function Z(e){let t=await q(e);return t?z(t):null}},94602:function(e,t,n){"use strict";n.d(t,{$L:function(){return o},YH:function(){return u},Z9:function(){return c},ab:function(){return a},cr:function(){return s},pQ:function(){return d},rv:function(){return l},ug:function(){return i}});var r=n(69513);function o(e){var t,n,r;return!e||e.count<=0?null:{count:e.count,buyAgain:e.buy_again,photoVerified:e.photo_verified,reads:null!==(t=e.reads)&&void 0!==t?t:[],hoursMedian:null!==(n=e.hours_median)&&void 0!==n?n:null,notes:null!==(r=e.top_notes)&&void 0!==r?r:e.top_note?[e.top_note]:[]}}function u(e){return e.buyAgain&&e.buyAgain.total>0?"".concat(e.buyAgain.yes," of ").concat(e.buyAgain.total," would buy again"):"".concat(e.count," owner").concat(1===e.count?"":"s")}function l(e,t){let n=[];if(e.buyAgain&&e.buyAgain.total>0&&n.push("".concat(e.count," owner").concat(1===e.count?"":"s")),e.photoVerified>0&&n.push("".concat(e.photoVerified," photo-verified")),null!==e.hoursMedian){let r="owners report ~".concat(e.hoursMedian," h per charge");n.push(null!==t?"".concat(r," vs ").concat(t," h claimed"):r)}return n.join(" \xb7 ")}function a(e,t){let n=t.reads;if(!n)return null;let r=null;for(let t of e.reads){let e=n[t.id];if(e){if("expected"!==e)return{id:t.id,label:t.label,value:e};r=null!=r?r:{id:t.id,label:t.label,value:e}}}return r}function i(e,t){let n=t.reads;if(!n)return[];let r=[];for(let t of e.reads){let e=n[t.id];e&&r.push({id:t.id,label:t.label,value:e})}return r}let c={better:"better",expected:"as expected",worse:"worse"},s={better:(0,r.kC)(c.better),expected:(0,r.kC)(c.expected),worse:(0,r.kC)(c.worse)};function d(e){return"expected"===e?c.expected:"".concat(c[e]," than expected")}},28050:function(e,t,n){"use strict";n.d(t,{GM:function(){return l},PT:function(){return a},TX:function(){return d},YD:function(){return h},dx:function(){return i},oX:function(){return f},uK:function(){return u}});var r=n(2784),o=n(56623);let u=o.w1[0],l=o.hG,a="lab-compare";function i(e,t){let n=e.includes("?")?"&":"?";return"".concat(e).concat(n).concat(a,"=").concat(t,"#").concat("sec-labs")}let c=new Map;function s(e){let t=c.get(e);return t||(t=(0,o.xx)(e),c.set(e,t),t.catch(()=>c.delete(e))),t}function d(e,t){let[n,o]=(0,r.useState)(void 0);return(0,r.useEffect)(()=>{if(!t||null==e)return;let n=!1;return o(void 0),(async()=>{let t=null;try{t=await s(e)}catch(e){t=null}n||o(t)})(),()=>{n=!0}},[e,t]),n}function f(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],[n,o]=(0,r.useState)({}),[u,l]=(0,r.useState)(()=>new Set),a=e.filter(e=>null!==e).join(",");return(0,r.useEffect)(()=>{let e=t&&a?a.split(",").map(Number):[],r=!1;return e.forEach(e=>{e in n||s(e).then(t=>{r||o(n=>({...n,[e]:t}))}).catch(()=>{r||(o(t=>({...t,[e]:null})),l(t=>new Set(t).add(e)))})}),()=>{r=!0}},[a,t]),{curves:n,failed:u}}function h(e){let t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"200px",[o,u]=(0,r.useState)(!1),l=(0,r.useRef)(!1);return(0,r.useEffect)(()=>{let r=e.current;if(!r||!t||l.current)return;if("undefined"==typeof IntersectionObserver){l.current=!0,u(!0);return}let o=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&(l.current=!0,u(!0),o.disconnect())},{rootMargin:n});return o.observe(r),()=>o.disconnect()},[e,t,n]),o}},72299:function(e,t,n){"use strict";n.d(t,{Eh:function(){return C},G7:function(){return k},G8:function(){return w},NL:function(){return o},OS:function(){return I},UB:function(){return M},VU:function(){return F},Z:function(){return S},bc:function(){return d},eX:function(){return L},kB:function(){return g},mJ:function(){return A},mw:function(){return _},pc:function(){return N},ts:function(){return f},vc:function(){return j},vn:function(){return x},zz:function(){return s}});var r=n(56623);let o=[{key:"sound",keys:["mdaqs_overall"],label:"Sound",min:1,max:5,callOut:!0,detail:!1},{key:"anc",keys:["active_noise_cancelling","noise_cancelling"],label:"ANC",min:0,max:10,callOut:!0,detail:!1},{key:"isolation",keys:["isolation","isolation_attenuation"],label:"Isolation",min:0,max:10,callOut:!1,detail:!0}],u=new Set(["battery.battery_life","battery.playtime_h","battery.battery_life_wireless","battery.battery_life_earbuds"]),l=new Set(["design.weight","build.weight"]);function a(e){return"number"==typeof e&&Number.isFinite(e)?e:null}function i(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return Math.abs(e)<t?"same":(n?e<0:e>0)?"up":"down"}function c(e,t){for(let n of t){let t=a(null==e?void 0:e[n]);if(null!==t)return t}return null}function s(e,t){let n=o.find(e=>e.key===t),r=n?c(e,n.keys):null;return n&&null!==r?{label:n.label,value:r,max:n.max}:null}function d(e){return"".concat(Math.abs(e)>=10?Math.round(e):Math.round(10*e)/10," h")}function f(e){var t;return"".concat(e.theirs.toFixed(1)," vs ").concat(e.mine.toFixed(1)," \xb7 ").concat((t=e.theirs-e.mine,"".concat(t>0?"+":"").concat(t.toFixed(1).replace("-","â")))," /").concat(e.max)}function h(e){if("boolean"==typeof e.value)return e.value?"Yes":"No";let t=e.unit?" ".concat(e.unit):"";return"".concat(e.value).concat(t)}function b(e){return Array.isArray(e.values)?e.values.map(String):null}function p(e){let t=/^IP[X\d](\d)/i.exec(e.trim());return t?Number(t[1]):null}let m=e=>/^(none|no)$/i.test(e.trim());function v(e){let t=/^\s*(\d+(?:\.\d+)?)\s*[a-z]/i.exec(e);return t?Number(t[1]):null}let y={down:0,neutral:1,up:2,same:3};function g(e,t){var n,r,s,f;let g=arguments.length>2&&void 0!==arguments[2]?arguments[2]:6,x=[],w=[],M=!1,k=e=>o.some(t=>null!==c(e,t.keys)),C=k(t.axes),_=k(e.axes);for(let n of o){let r=c(e.axes,n.keys),o=c(t.axes,n.keys);null!==r&&null!==o?(M=!0,(n.detail?w:x).push({kind:"scale",key:n.key,label:n.label,mine:r,theirs:o,min:n.min,max:n.max,direction:i(o-r,.05)})):null!==r&&C&&n.callOut?x.push({kind:"absent",key:n.key,label:n.label,text:"Not measured"}):null!==o&&_&&n.callOut&&x.push({kind:"absent",key:n.key,label:n.label,text:"".concat(o.toFixed(1)," /").concat(n.max),note:"yours not measured"})}let S=a(e.batteryHours),F=a(t.batteryHours);null!==S&&null!==F&&x.push({kind:"text",key:"battery",label:"Battery",theirs:d(F),mine:d(S),direction:i(F-S,.5)});let L=[],N=[],A=new Map((null!==(n=t.compareSpecs)&&void 0!==n?n:[]).map(e=>[e.key,e]));for(let t of null!==(r=e.compareSpecs)&&void 0!==r?r:[]){if(u.has(t.key)&&null!==S&&null!==F)continue;let e=A.get(t.key);if(!e)continue;let n=function(e,t){let n=b(e),r=b(t);if(n&&r){let e=new Set(n),o=new Set(r),u=r.filter(t=>!e.has(t)),l=n.filter(e=>!o.has(e));if(!u.length&&!l.length)return"".concat(t.label," ").concat(r.join(", "));let a=l.length?"yours adds ".concat(l.join(", ")):"adds ".concat(u.join(", ")),i="neutral";
1return l.length&&!u.length?i="down":u.length&&!l.length&&(i="up"),{kind:"text",key:t.key,label:t.label,theirs:r.join(", "),mine:n.join(", "),direction:i,note:a}}if("boolean"==typeof e.value&&"boolean"==typeof t.value)return e.value===t.value?"".concat(t.label," ").concat(h(t)):{kind:"text",key:t.key,label:t.label,theirs:h(t),mine:h(e),direction:t.value?"up":"down"};let o="number"==typeof e.value?e.value:Number(e.value),u="number"==typeof t.value?t.value:Number(t.value);if(Number.isFinite(o)&&Number.isFinite(u)&&"text"!==e.dataType){let n=u-o;return 1e-9>Math.abs(n)?"".concat(t.label," ").concat(h(t)):{kind:"text",key:t.key,label:t.label,theirs:h(t),mine:h(e),direction:i(n,1e-9,l.has(t.key))}}let a=h(e),c=h(t);return a.toLowerCase()===c.toLowerCase()?"".concat(t.label," ").concat(c):{kind:"text",key:t.key,label:t.label,theirs:c,mine:a,direction:function(e,t){let n=p(e),r=p(t);if(null!==n&&null!==r){let e=i(r-n,1e-9);return"same"===e?"neutral":e}if(m(t)!==m(e))return m(t)?"down":"up";let o=v(e),u=v(t);return null!==o&&null!==u&&o!==u?u>o?"up":"down":"neutral"}(a,c)}}(t,e);"string"==typeof n?L.push(n):n&&"text"===n.kind&&N.push(n)}N.sort((e,t)=>y[e.direction]-y[t.direction]),w.push(...N.slice(0,g));let I=null!==a(null!==(s=e.clearbuyProductId)&&void 0!==s?s:null)&&null!==a(null!==(f=t.clearbuyProductId)&&void 0!==f?f:null),j="specs";return I?j="lab":M&&(j="scored"),{tier:j,rows:x,details:w,same:L}}function x(e){var t,n;return null!==a(null!==(t=e.clearbuyProductId)&&void 0!==t?t:null)||Object.values(null!==(n=e.axes)&&void 0!==n?n:{}).some(e=>"number"==typeof e&&Number.isFinite(e))}function w(e){return e.split(" ").map((e,t)=>0===t||/^[A-Z0-9]+$/.test(e)?e:e.toLowerCase()).join(" ")}function M(e,t){return e.nodeId&&t.nodeId?e.nodeId===t.nodeId:!!e.slug&&e.slug===t.slug}let k=[{name:"bass",lo:20,hi:250},{name:"mids",lo:250,hi:4e3},{name:"treble",lo:4e3,hi:2e4}],C=3;function _(e){let t=Math.round(e);return 0===t?"0 dB":"".concat(t>0?"+":"â").concat(Math.abs(t)," dB")}function S(e,t){return e.length<2||t.length<2?[]:k.map(n=>
1{let o=Math.log10(n.lo),u=Math.log10(n.hi),l=0,a=0,i=0,c=n.lo;for(let n=0;n<24;n++){let s=10**(o+(u-o)*(n+.5)/24),d=(0,r.M)(t,s)[1]-(0,r.M)(e,s)[1];l+=d,d>0&&(a+=1),Math.abs(d)>Math.abs(i)&&(i=d,c=s)}let s=l/24,d=s>=0?a/24:1-a/24,f=Math.abs(s)>=C&&d<.7;return{band:n,db:s,text:"".concat(_(s)," ").concat(n.name),widest:i,widestHz:c,mixed:f}})}function F(e){let t=(0,r.xK)(e.lo),n=(0,r.xK)(e.hi),o=e=>e.slice(e.indexOf(" ")+1);return o(t)===o(n)?"".concat(t.slice(0,t.indexOf(" ")),"â").concat(n):"".concat(t,"â").concat(n)}let L=e=>e.name.charAt(0).toUpperCase()+e.name.slice(1);function N(e,t){if(Math.abs(e.db)<C)return"about the same as yours";let n="".concat(Math.abs(Math.round(e.db))," dB"),r=e.db>0?"more":"less";return"attenuation"===t?"blocks ".concat(n," ").concat(r," than yours"):"".concat(_(e.db)," ").concat(r," than yours")}function A(e){return Math.abs(e.db)<C?"".concat(L(e.band)," \xb7 about the same on average"):"".concat(L(e.band)," ").concat(_(e.db)," on average")}function I(e,t){let n=F(e.band),o="".concat(Math.abs(Math.round(e.widest))," dB");if(Math.abs(e.db)<C)return Math.abs(e.widest)>=C?"".concat(n," \xb7 but up to ").concat(o," apart near ").concat((0,r.xK)(e.widestHz)):"".concat(n," \xb7 the curves stay close all the way");let u=e.db>0?"this one":"yours";if(e.mixed){let[e,r]="attenuation"===t?["blocks more","less"]:["louder","quieter"];return"".concat(n," \xb7 ").concat(e," in places, ").concat(r," in others")}return"".concat(n," \xb7 ").concat(u," ").concat("attenuation"===t?"blocks more here":"is louder here"," \xb7 widest gap ").concat(o," near ").concat((0,r.xK)(e.widestHz))}function j(e,t,n){let r=S(e,t);if(!r.length)return null;let o=r[0];for(let e of r)Math.abs(e.db)>Math.abs(o.db)&&(o=e);if(Math.abs(o.db)<C)return{text:"close to yours",direction:"same",band:null,db:o.db};let u="neutral";return"attenuation"===n&&(u=Math.round(o.db)>0?"up":"down"),{text:o.text,direction:u,band:o.band.name,db:o.db}}},591:function(e,t,n){"use strict";n.d(t,{_P:function(){return a},_V:function(){return s},gJ:function(){return i},so:function(){return d}});var r=n(52322),o=n(2784),u=n(56623),l=n(28050);let a=3,i=[l.GM,u.w1[1],u.w1[2]],c=(0,o.createContext)(null),s=e=>{let{children:t}=e,[n,u]=(0,o.useState)(null),[l,i]=(0,o.useState)([]),[s,d]=(0,o.useState)(!1),f=(0,o.useCallback)((e,t)=>{u({target:e,tab:t})},[]),h=(0,o.useCallback)(()=>u(null),[]),b=(0,o.useCallback)(e=>l.some(t=>t.nodeId===e.nodeId)?(d(!0),!0):l.length>=a?(d(!0),!1):(i(t=>[...t,e]),d(!0),!0),[l]),p=(0,o.useCallback)(e=>{i(t=>t.filter(t=>t.nodeId!==e))},[]),m=(0,o.useCallback)(()=>{i([]),d(!1)},[]),v=(0,o.useCallback)(e=>l.some(t=>t.nodeId===e),[l]),y=(0,o.useCallback)(()=>d(!0),[]),g=(0,o.useCallback)(()=>d(!1),[]),x=(0,o.useMemo)(()=>({dialog:n,openDialog:f,closeDialog:h,pinned:l,pin:b,unpin:p,clearPins:m,isPinned:v,drawerOpen:s,openDrawer:y,closeDrawer:g}),[n,f,h,l,b,p,m,v,s,y,g]);return(0,r.jsx)(c.Provider,{value:x,children:t})};function d(){return(0,o.useContext)(c)}},64072:function(e,t,n){"use strict";n.d(t,{M:function(){return o}});var r=n(2784);function o(e,t){let n=(0,r.useRef)(null),[o,u]=(0,r.useState)(0),l=(0,r.useRef)(t);l.current=t;let a=(0,r.useCallback)(e=>{var t;let r=n.current;null===(t=l.current)||void 0===t||t.call(l),u(e);let o=null==r?void 0:r.children[e];r&&o instanceof HTMLElement&&r.scrollTo({left:o.offsetLeft-r.firstElementChild.offsetLeft})},[]);return(0,r.useEffect)(()=>{let e=n.current;if(!e)return;let t=0,r=()=>{t||(t=window.requestAnimationFrame(()=>{t=0;let n=e.firstElementChild,r=e.children[1],o=n&&r?r.offsetLeft-n.offsetLeft:0;if(o>0){let t=Math.round(e.scrollLeft/o);u(e=>{var n;return e===t?e:(null===(n=l.current)||void 0===n||n.call(l),t)})}}))};return e.addEventListener("scroll",r,{passive:!0}),()=>{e.removeEventListener("scroll",r),window.cancelAnimationFrame(t)}},[e]),{trackRef:n,active:o,goTo:a}}},41303:function(e){e.exports={pin:"e_oM",pinOn:"e_pM",icon:"e_qM"}}}]); 2//# sourceMappingURL=689-d8f7196f018ef9de.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.