diff --git a/docs/img/wvs/wvs_map_iw.svg b/docs/img/wvs/wvs_map_iw.svg index 157e2ae..7103344 100644 --- a/docs/img/wvs/wvs_map_iw.svg +++ b/docs/img/wvs/wvs_map_iw.svg @@ -6,7 +6,7 @@ - 2026-09-17T05:19:31.264745 + 2026-09-17T07:39:16.812532 image/svg+xml @@ -40,12 +40,12 @@ z +" clip-path="url(#pcffe460afc)" style="fill: none; stroke: #c9c4b4; stroke-linecap: square"/> +" clip-path="url(#pcffe460afc)" style="fill: none; stroke: #c9c4b4; stroke-linecap: square"/> +" clip-path="url(#pcffe460afc)" style="fill: none; opacity: 0.9; stroke: #4e79a7; stroke-width: 1.8; stroke-linejoin: miter"/> +" clip-path="url(#pcffe460afc)" style="fill: none; opacity: 0.9; stroke: #9c755f; stroke-width: 1.8; stroke-linejoin: miter"/> +" clip-path="url(#pcffe460afc)" style="fill: none; opacity: 0.9; stroke: #e15759; stroke-width: 1.8; stroke-linejoin: miter"/> +" clip-path="url(#pcffe460afc)" style="fill: none; opacity: 0.9; stroke: #f28e2b; stroke-width: 1.8; stroke-linejoin: miter"/> +" clip-path="url(#pcffe460afc)" style="fill: none; stroke: #9a958a; stroke-width: 0.6; stroke-linecap: square"/> +" clip-path="url(#pcffe460afc)" style="fill: none; stroke: #9a958a; stroke-width: 0.6; stroke-linecap: square"/> +" clip-path="url(#pcffe460afc)" style="fill: none; stroke: #9a958a; stroke-width: 0.6; stroke-linecap: square"/> +" clip-path="url(#pcffe460afc)" style="fill: none; stroke: #9a958a; stroke-width: 0.6; stroke-linecap: square"/> +" clip-path="url(#pcffe460afc)" style="fill: none; stroke: #9a958a; stroke-width: 0.6; stroke-linecap: square"/> +" clip-path="url(#pcffe460afc)" style="fill: none; stroke: #9a958a; stroke-width: 0.6; stroke-linecap: square"/> +" clip-path="url(#pcffe460afc)" style="fill: none; stroke: #9a958a; stroke-width: 0.6; stroke-linecap: square"/> +" clip-path="url(#pcffe460afc)" style="fill: none; stroke: #9a958a; stroke-width: 0.6; stroke-linecap: square"/> +" clip-path="url(#pcffe460afc)" style="fill: none; stroke: #9a958a; stroke-width: 0.6; stroke-linecap: square"/> +" clip-path="url(#pcffe460afc)" style="fill: none; stroke: #9a958a; stroke-width: 0.6; stroke-linecap: square"/> +" clip-path="url(#pcffe460afc)" style="fill: none; stroke: #9a958a; stroke-width: 0.6; stroke-linecap: square"/> +" clip-path="url(#pcffe460afc)" style="fill: none; stroke: #9a958a; stroke-width: 0.6; stroke-linecap: square"/> +" clip-path="url(#pcffe460afc)" style="fill: none; stroke: #9a958a; stroke-width: 0.6; stroke-linecap: square"/> - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -14793,7 +14793,7 @@ z - + diff --git a/docs/wvs/logos/anthropic.svg b/docs/wvs/logos/anthropic.svg new file mode 100644 index 0000000..29bb61b --- /dev/null +++ b/docs/wvs/logos/anthropic.svg @@ -0,0 +1 @@ +Claude \ No newline at end of file diff --git a/docs/wvs/logos/deepseek.svg b/docs/wvs/logos/deepseek.svg new file mode 100644 index 0000000..8a03ecd --- /dev/null +++ b/docs/wvs/logos/deepseek.svg @@ -0,0 +1 @@ +DeepSeekD \ No newline at end of file diff --git a/docs/wvs/logos/google.svg b/docs/wvs/logos/google.svg new file mode 100644 index 0000000..e15e53c --- /dev/null +++ b/docs/wvs/logos/google.svg @@ -0,0 +1 @@ +Google Gemini \ No newline at end of file diff --git a/docs/wvs/logos/meta.svg b/docs/wvs/logos/meta.svg new file mode 100644 index 0000000..385fb0a --- /dev/null +++ b/docs/wvs/logos/meta.svg @@ -0,0 +1 @@ +Meta \ No newline at end of file diff --git a/docs/wvs/logos/mistral.svg b/docs/wvs/logos/mistral.svg new file mode 100644 index 0000000..165b990 --- /dev/null +++ b/docs/wvs/logos/mistral.svg @@ -0,0 +1 @@ +MistralM \ No newline at end of file diff --git a/docs/wvs/logos/moonshotai.svg b/docs/wvs/logos/moonshotai.svg new file mode 100644 index 0000000..4f8a30e --- /dev/null +++ b/docs/wvs/logos/moonshotai.svg @@ -0,0 +1 @@ +Kimi \ No newline at end of file diff --git a/docs/wvs/logos/openai.svg b/docs/wvs/logos/openai.svg new file mode 100644 index 0000000..248d850 --- /dev/null +++ b/docs/wvs/logos/openai.svg @@ -0,0 +1 @@ +OpenAIO \ No newline at end of file diff --git a/docs/wvs/logos/qwen.svg b/docs/wvs/logos/qwen.svg new file mode 100644 index 0000000..0014178 --- /dev/null +++ b/docs/wvs/logos/qwen.svg @@ -0,0 +1 @@ +QWen \ No newline at end of file diff --git a/docs/wvs/logos/thinkingmachines.svg b/docs/wvs/logos/thinkingmachines.svg new file mode 100644 index 0000000..160fbae --- /dev/null +++ b/docs/wvs/logos/thinkingmachines.svg @@ -0,0 +1 @@ +Thinking MachinesTM \ No newline at end of file diff --git a/docs/wvs/logos/x-ai.svg b/docs/wvs/logos/x-ai.svg new file mode 100644 index 0000000..449fc9f --- /dev/null +++ b/docs/wvs/logos/x-ai.svg @@ -0,0 +1 @@ +X \ No newline at end of file diff --git a/docs/wvs/logos/z-ai.svg b/docs/wvs/logos/z-ai.svg new file mode 100644 index 0000000..85d8ff4 --- /dev/null +++ b/docs/wvs/logos/z-ai.svg @@ -0,0 +1 @@ +Z.aiZ \ No newline at end of file diff --git a/docs/wvs/react/assets/index-BFIE5goS.css b/docs/wvs/react/assets/index-BFIE5goS.css new file mode 100644 index 0000000..099dce0 --- /dev/null +++ b/docs/wvs/react/assets/index-BFIE5goS.css @@ -0,0 +1 @@ +:root{--ink:#333;--muted:#8a857a;--rule:#eceadf;--canvas:#faf8f2}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}main{max-width:1200px;margin:auto;padding:1.5rem 1rem 3rem}h1{margin:0 0 .35rem;font-size:1.65rem;line-height:1.2}.lede,.caption{color:#59544b;max-width:75ch}.controls{flex-wrap:wrap;gap:.35rem;margin:1rem 0;display:flex}.chip{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #d9d5ca;border-radius:999px;align-items:center;gap:.3rem;padding:.22rem .48rem;font:600 .78rem/1 inherit;display:flex}.chip img{width:13px;height:13px}.chip:hover{border-color:#8a857a}.chip:focus-visible,.model-mark:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.chip[aria-pressed=false]{color:#8a857a;background:#f6f4ef;text-decoration:line-through}.chip[aria-pressed=false] img{opacity:.3}.chart-shell{position:relative}.chart-shell svg{background:var(--canvas);border:1px solid #ded9cc;width:100%;height:auto;display:block}.canvas{fill:var(--canvas)}.grid line{stroke:var(--rule);stroke-width:.7px}.median{stroke:#c9c4b4;stroke-width:1.2px}.zone{fill:none;stroke-width:2px;opacity:.9}.country{stroke:#fff;stroke-width:.7px;opacity:.88}.country-label,.model-label,.zone-label,.poles text{paint-order:stroke;stroke:var(--canvas);stroke-width:4px;stroke-linejoin:round}.country-label{fill:#222;font-size:11px}.model-ring{fill:#fff;stroke-width:2px}.model-mark{cursor:default}.model-mark:focus{outline:none}.model-label{fill:#222;font-size:13px;font-weight:700}.leader{stroke:#aaa398;stroke-width:1px}.zone-label{font-size:15px;font-style:italic;font-weight:700}.poles line{stroke:#999;stroke-width:1.8px}.arrow{fill:#999}.poles text{fill:#555;font-size:18px;font-weight:700}.map-title{fill:#333;font-size:14px;font-weight:700}.map-note{fill:var(--muted);font-size:10px}.tooltip{z-index:2;pointer-events:none;background:#fffffff7;border:1px solid #ddd7ca;border-radius:5px;max-width:275px;padding:.45rem .6rem;font-size:.82rem;line-height:1.35;position:absolute;transform:translate(14px,14px);box-shadow:0 2px 8px #0002}.tooltip strong,.tooltip span{display:block}.tooltip span{color:#5b554b}.caption{margin-top:1rem;font-size:.9rem}@media (width<=700px){main{padding:.9rem .5rem 2rem}.chip{font-size:.7rem}.poles text{font-size:14px}.country-label,.model-label{font-size:10px}.tooltip{max-width:230px;font-size:.75rem}} diff --git a/docs/wvs/react/assets/index-Bn48Fufr.css b/docs/wvs/react/assets/index-Bn48Fufr.css deleted file mode 100644 index 5a8c010..0000000 --- a/docs/wvs/react/assets/index-Bn48Fufr.css +++ /dev/null @@ -1 +0,0 @@ -body{color:#292524;background:#faf8f2;margin:0;font:16px system-ui,sans-serif}main{max-width:1100px;margin:auto;padding:1rem}.controls{flex-wrap:wrap;gap:.4rem;margin:1rem 0;display:flex}button{border:2px solid var(--color);background:var(--color);color:#fff;border-radius:1rem;padding:.3rem .7rem;font-weight:600}button.off{color:#292524;opacity:.5;background:#fff;text-decoration:line-through}svg{background:#faf8f2;border:1px solid #292524;width:100%;height:auto}.axis{stroke:#c9c4b4}.zone{fill:none;stroke:#94a3b8;stroke-width:2px;stroke-dasharray:5 3}.zoneLabel{fill:#475569;text-anchor:middle;font-style:italic;font-weight:700}.country{fill:#64748b;stroke:#fff;stroke-width:.6px}.star{stroke:#fff;stroke-width:1px}.modelLabel{font-size:10px;font-weight:700} diff --git a/docs/wvs/react/assets/index-CCNzz5z-.js b/docs/wvs/react/assets/index-CCNzz5z-.js deleted file mode 100644 index 41a67cf..0000000 --- a/docs/wvs/react/assets/index-CCNzz5z-.js +++ /dev/null @@ -1,9 +0,0 @@ -var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.for(`react.view_transition`),m=Symbol.iterator;function h(e){return typeof e!=`object`||!e?null:(e=m&&e[m]||e[`@@iterator`],typeof e==`function`?e:null)}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,v={};function y(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function b(){}b.prototype=y.prototype;function ee(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}var te=ee.prototype=new b;te.constructor=ee,_(te,y.prototype),te.isPureReactComponent=!0;var ne=Array.isArray;function re(){}var x={H:null,A:null,T:null,S:null},ie=Object.prototype.hasOwnProperty;function S(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function ae(e,t){return S(e.type,t,e.props)}function oe(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function se(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var ce=/\/+/g;function le(e,t){return typeof e==`object`&&e&&e.key!=null?se(``+e.key):t.toString(36)}function ue(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(re,re):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function de(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,de(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+le(e,0):a,ne(o)?(i=``,c!=null&&(i=c.replace(ce,`$&/`)+`/`),de(o,r,i,``,function(e){return e})):o!=null&&(oe(o)&&(o=ae(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(ce,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(ne(e))for(var u=0;u{t.exports=l()})),d=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function ee(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,te||(te=!0,ae());else{var t=n(l);t!==null&&ce(ee,t.startTime-e)}}}var te=!1,ne=-1,re=5,x=-1;function ie(){return g?!0:!(e.unstable_now()-xt&&ie());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ce(ee,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?ae():te=!1}}}var ae;if(typeof y==`function`)ae=function(){y(S)};else if(typeof MessageChannel<`u`){var oe=new MessageChannel,se=oe.port2;oe.port1.onmessage=S,ae=function(){se.postMessage(null)}}else ae=function(){_(S,0)};function ce(t,n){ne=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(ne),ne=-1):h=!0,ce(ee,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,te||(te=!0,ae()))),r},e.unstable_shouldYield=ie,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),f=o(((e,t)=>{t.exports=d()})),p=o((e=>{var t=u();function n(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=p()})),h=o((e=>{var t=f(),n=u(),r=m();function i(e){var t=`https://react.dev/errors/`+e;if(1Ae||(e.current=ke[Ae],ke[Ae]=null,Ae--)}function T(e,t){Ae++,ke[Ae]=e.current,e.current=t}var Ne=je(null),Pe=je(null),Fe=je(null),Ie=je(null);function Le(e,t){switch(T(Fe,t),T(Pe,e),T(Ne,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?up(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=up(t),e=dp(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}Me(Ne),T(Ne,e)}function Re(){Me(Ne),Me(Pe),Me(Fe)}function ze(e){var t=e.memoizedState;t!==null&&(sh._currentValue=t.memoizedState,T(Ie,e)),t=Ne.current;var n=dp(t,e.type);t!==n&&(T(Pe,e),T(Ne,n))}function Be(e){Pe.current===e&&(Me(Ne),Me(Pe)),Ie.current===e&&(Me(Ie),sh._currentValue=Oe)}var Ve,He;function Ue(e){if(Ve===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Ve=t&&t[1]||``,He=-1)`:-1i||c[r]!==l[i]){var u=` -`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{We=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?Ue(n):``}function Ke(e,t){switch(e.tag){case 26:case 27:case 5:return Ue(e.type);case 16:return Ue(`Lazy`);case 13:return e.child!==t&&t!==null?Ue(`Suspense Fallback`):Ue(`Suspense`);case 19:return Ue(`SuspenseList`);case 0:case 15:return Ge(e.type,!1);case 11:return Ge(e.type.render,!1);case 1:return Ge(e.type,!0);case 31:return Ue(`Activity`);case 30:return Ue(`ViewTransition`);default:return``}}function qe(e){try{var t=``,n=null;do t+=Ke(e,n),n=e,e=e.return;while(e);return t}catch(e){return` -Error generating stack: `+e.message+` -`+e.stack}}var Je=Object.prototype.hasOwnProperty,Ye=t.unstable_scheduleCallback,Xe=t.unstable_cancelCallback,Ze=t.unstable_shouldYield,Qe=t.unstable_requestPaint,$e=t.unstable_now,et=t.unstable_getCurrentPriorityLevel,tt=t.unstable_ImmediatePriority,nt=t.unstable_UserBlockingPriority,rt=t.unstable_NormalPriority,it=t.unstable_LowPriority,at=t.unstable_IdlePriority,ot=t.log,st=t.unstable_setDisableYieldValue,ct=null,lt=null;function ut(e){if(typeof ot==`function`&&st(e),lt&&typeof lt.setStrictMode==`function`)try{lt.setStrictMode(ct,e)}catch{}}var dt=Math.clz32?Math.clz32:mt,ft=Math.log,pt=Math.LN2;function mt(e){return e>>>=0,e===0?32:31-(ft(e)/pt|0)|0}var ht=256,gt=262144,_t=4194304;function vt(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&-e;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function yt(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=vt(n))):i=vt(o):i=vt(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=vt(n))):i=vt(o)):i=vt(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function bt(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function xt(e,t){t&8&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0n;n++)t.push(e);return t}function Tt(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Et(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),Bn=!1;if(zn)try{var Vn={};Object.defineProperty(Vn,"passive",{get:function(){Bn=!0}}),window.addEventListener(`test`,Vn,Vn),window.removeEventListener(`test`,Vn,Vn)}catch{Bn=!1}var Hn=null,Un=null,Wn=null;function Gn(){if(Wn)return Wn;var e,t=Un,n=t.length,r,i=`value`in Hn?Hn.value:Hn.textContent,a=i.length;for(e=0;e=wr),Dr=` `,Or=!1;function kr(e,t){switch(e){case`keyup`:return Sr.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Ar(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var jr=!1;function Mr(e,t){switch(e){case`compositionend`:return Ar(t);case`keypress`:return t.which===32?(Or=!0,Dr):null;case`textInput`:return e=t.data,e===Dr&&Or?null:e;default:return null}}function Nr(e,t){if(jr)return e===`compositionend`||!Cr&&kr(e,t)?(e=Gn(),Wn=Un=Hn=null,jr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=ni(n)}}function ii(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ii(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function ai(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ti(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=ti(e.document)}return t}function oi(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var si=zn&&`documentMode`in document&&11>=document.documentMode,ci=null,li=null,ui=null,di=!1;function fi(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;di||ci==null||ci!==ti(r)||(r=ci,`selectionStart`in r&&oi(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),ui&&ei(ui,r)||(ui=r,r=Jf(li,`onSelect`),0>=o,i-=o,ca=1<<32-dt(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),A&&ua(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),A&&ua(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return A&&ua(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&(_=v.alternate,_!==null&&h.delete(_.key===null?g:_.key)),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),A&&ua(a,g),u}function _(e,r,o,c){if(typeof o==`object`&&o&&o.type===ce&&o.key===null&&o.props.ref===void 0&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case oe:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===ce){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),vo(c,o),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===_e&&uo(l)===r.type){n(e,r.sibling),c=a(r,o.props),vo(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===ce?(c=Yi(o.props.children,e.mode,c,o.key),vo(c,o),c.return=e,e=c):(c=Ji(o.type,o.key,o.props,null,e.mode,c),vo(c,o),c.return=e,e=c)}return s(e);case se:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=Qi(o,e.mode,c),c.return=e,e=c}return s(e);case _e:return o=uo(o),_(e,r,o,c)}if(De(o))return h(e,r,o,c);if(we(o)){if(l=we(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return _(e,r,_o(o),c);if(o.$$typeof===fe)return _(e,r,Ia(e,o),c);yo(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=Xi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{go=0;var i=_(e,t,n,r);return ho=null,i}catch(t){if(t===io||t===oo)throw t;var a=Wi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var xo=bo(!0),So=bo(!1),Co=!1;function wo(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function To(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Eo(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Do(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,W&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=Vi(e),Bi(e,null,n),t}return Li(e,r,t,n),Vi(e)}function Oo(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ot(e,n)}}function ko(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ao=!1;function jo(){if(Ao){var e=Ya;if(e!==null)throw e}}function Mo(e,t,n,r){Ao=!1;var i=e.updateQueue;Co=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(q&f)===f:(r&f)===f){f!==0&&f===Ja&&(Ao=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,h=s;f=t;var g=n;switch(h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(g,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(g,d,f):m,f==null)break a;d=S({},d,f);break a;case 2:Co=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),sd|=o,e.lanes=o,e.memoizedState=d}}function No(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function Po(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=C.T,s={};s.types=o===null?null:o.types,C.T=s,_c(e,!1,t,n);try{var c=i(),l=C.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?gc(e,t,Qa(c,r),jd(e)):gc(e,t,r,jd(e))}catch(n){gc(e,t,{then:function(){},status:`rejected`,reason:n},jd())}finally{w.p=a,o!==null&&s.types!==null&&(o.types=s.types),C.T=o}}function oc(){}function sc(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=cc(e).queue;ac(e,a,t,Oe,n===null?oc:function(){return lc(e),n(r)})}function cc(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:Oe,baseState:Oe,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:vs,lastRenderedState:Oe},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:vs,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function lc(e){var t=cc(e);t.next===null&&(t=e.alternate.memoizedState),gc(e,t.next.queue,{},jd())}function uc(){return Fa(sh)}function dc(){return I().memoizedState}function fc(){return I().memoizedState}function pc(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=jd();e=Eo(n);var r=Do(t,e,n);r!==null&&(Pd(r,t,n),Oo(r,t,n)),t={cache:Va()},e.payload=t;return}t=t.return}}function mc(e,t,n){var r=jd();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},vc(e)?yc(t,n):(n=Ri(e,t,n,r),n!==null&&(Pd(n,e,r),bc(n,t,r)))}function hc(e,t,n){gc(e,t,n,jd())}function gc(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(vc(e))yc(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,$r(s,o))return Li(e,t,i,0),G===null&&Ii(),!1}catch{}if(n=Ri(e,t,i,r),n!==null)return Pd(n,e,r),bc(n,t,r),!0}return!1}function _c(e,t,n,r){if(r={lane:2,revertLane:Pf(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},vc(e)){if(t)throw Error(i(479))}else t=Ri(e,n,r,2),t!==null&&Pd(t,e,2)}function vc(e){var t=e.alternate;return e===M||t!==null&&t===M}function yc(e,t){$o=Qo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function bc(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Ot(e,n)}}var xc={readContext:Fa,use:gs,useCallback:F,useContext:F,useEffect:F,useImperativeHandle:F,useLayoutEffect:F,useInsertionEffect:F,useMemo:F,useReducer:F,useRef:F,useState:F,useDebugValue:F,useDeferredValue:F,useTransition:F,useSyncExternalStore:F,useId:F,useHostTransitionStatus:F,useFormState:F,useActionState:F,useOptimistic:F,useMemoCache:F,useCacheRefresh:F,useEffectEvent:F},Sc={readContext:Fa,use:gs,useCallback:function(e,t){return ps().memoizedState=[e,t===void 0?null:t],e},useContext:Fa,useEffect:Ks,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),Ws(4194308,4,Qs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Ws(4194308,4,e,t)},useInsertionEffect:function(e,t){Ws(4,2,e,t)},useMemo:function(e,t){var n=ps();t=t===void 0?null:t;var r=e();if(es){ut(!0);try{e()}finally{ut(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=ps();if(n!==void 0){var i=n(t);if(es){ut(!0);try{n(t)}finally{ut(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=mc.bind(null,M,e),[r.memoizedState,e]},useRef:function(e){var t=ps();return e={current:e},t.memoizedState=e},useState:function(e){e=Os(e);var t=e.queue,n=hc.bind(null,M,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:ec,useDeferredValue:function(e,t){return rc(ps(),e,t)},useTransition:function(){var e=Os(!1);return e=ac.bind(null,M,e.queue,!0,!1),ps().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=M,a=ps();if(A){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),G===null)throw Error(i(349));q&127||Cs(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,Ks(Ts.bind(null,r,o,e),[e]),r.flags|=2048,Hs(9,{destroy:void 0},ws.bind(null,r,o,n,t),null),n},useId:function(){var e=ps(),t=G.identifierPrefix;if(A){var n=la,r=ca;n=(r&~(1<<32-dt(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=ts++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[Ft]=t,o[It]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(np(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&vl(t)}}return z(t),t.subtreeFlags&=-33554433,yl(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&vl(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=Fe.current,xa(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=O,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[Ft]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||ep(e.nodeValue,n)),e||va(t,!0)}else e=lp(e).createTextNode(r),e[Ft]=t,t.stateNode=e}return z(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=xa(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[Ft]=t}else Sa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;z(t),e=!1}else n=Ca(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Ko(t),t):(Ko(t),null);if(t.flags&128)throw Error(i(558))}return z(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=xa(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[Ft]=t}else Sa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;z(t),a=!1}else a=Ca(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(Ko(t),t):(Ko(t),null)}return Ko(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),xl(t,t.updateQueue),z(t),null);case 4:return Re(),e===null&&Wf(t.stateNode.containerInfo),t.flags|=67108864,z(t),null;case 10:return ka(t.type),z(t),null;case 19:if(Yo(t),r=t.memoizedState,r===null)return z(t),null;if(a=!!(t.flags&128),o=r.rendering,o===null){if(a)Sl(r,!1);else{if(Y!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Xo(e),o!==null){for(t.flags|=128,Sl(r,!1),e=o.updateQueue,t.updateQueue=e,xl(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)qi(n,e),n=n.sibling;return Jo(t,qo.current&1|2),A&&ua(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&$e()>_d&&(t.flags|=128,a=!0,Sl(r,!1),t.lanes=4194304)}}else{if(!a){if(e=Xo(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,xl(t,e),Sl(r,!0),r.tail===null&&r.tailMode!==`collapsed`&&r.tailMode!==`visible`&&!o.alternate&&!A)return z(t),null}else 2*$e()-r.renderingStartTime>_d&&n!==536870912&&(t.flags|=128,a=!0,Sl(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}if(r.tail!==null){e=r.tail;a:{for(n=e;n!==null;){if(n.alternate!==null){n=!1;break a}n=n.sibling}n=!0}return r.rendering=e,r.tail=e.sibling,r.renderingStartTime=$e(),e.sibling=null,o=qo.current,o=a?o&1|2:o&1,r.tailMode===`visible`||r.tailMode===`collapsed`||!n||A?Jo(t,o):(n=o,T(Bo,t),T(qo,n),Vo===null&&(Vo=t)),A&&ua(t,r.treeForkCount),e}return z(t),null;case 22:case 23:return Ko(t),zo(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(z(t),t.subtreeFlags&6&&(t.flags|=8192)):z(t),n=t.updateQueue,n!==null&&xl(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&Me(eo),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ka(j),z(t),null;case 25:return null;case 30:return t.flags|=33554432,z(t),null}throw Error(i(156,t.tag))}function wl(e,t){switch(pa(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ka(j),Re(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return Be(t),null;case 31:if(t.memoizedState!==null){if(Ko(t),t.alternate===null)throw Error(i(340));Sa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Ko(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));Sa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Yo(t),e=t.flags,e&65536?(t.flags=e&-65537|128,e=t.memoizedState,e!==null&&(e.rendering=null,e.tail=null),t.flags|=4,t):null;case 4:return Re(),null;case 10:return ka(t.type),null;case 22:case 23:return Ko(t),zo(),e!==null&&Me(eo),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ka(j),null;case 25:return null;default:return null}}function Tl(e,t){switch(pa(t),t.tag){case 3:ka(j),Re();break;case 26:case 27:case 5:Be(t);break;case 4:Re();break;case 31:t.memoizedState!==null&&Ko(t);break;case 13:Ko(t);break;case 19:Yo(t);break;case 10:ka(t.type);break;case 22:case 23:Ko(t),zo(),e!==null&&Me(eo);break;case 24:ka(j)}}function El(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Z(t,t.return,e)}}function Dl(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Z(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Z(t,t.return,e)}}function Ol(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Po(t,n)}catch(t){Z(e,e.return,t)}}}function kl(e,t,n){n.props=kc(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Z(e,t,n)}}function Al(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:var i=e.stateNode,a=ki(e.memoizedProps,i);(i.ref===null||i.ref.name!==a)&&(i.ref=Pp(a)),r=i.ref;break;case 7:if(e.stateNode===null){var o=new Fp(e);h(e.child,!1,Qp,o,void 0,void 0),e.stateNode=o}r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Z(e,t,n)}}function jl(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Z(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Z(e,t,n)}else n.current=null}}function Ml(e,t){if((e.tag===5||e.tag===27||e.tag===6)&&e.alternate===null&&t!==null)for(var n=0;n title`))),np(r,t,n),r[Ft]=e,E(r),t=r;break a;case`link`:if(o=Gm(`link`,`href`,a).get(t+(n.href||``))){for(s=0;sg&&(o=g,g=h,h=o);var _=ri(s,h),v=ri(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,C.T=null,n=wd,wd=null;var o=bd,s=Sd;if(X=0,xd=bd=null,Sd=0,W&6)throw Error(i(331));var c=W;if(W|=4,Zu(o.current),Uu(o,o.current,s,n),W=c,Df(0,!1),lt&&typeof lt.onPostCommitFiberRoot==`function`)try{lt.onPostCommitFiberRoot(ct,o)}catch{}return!0}finally{w.p=a,C.T=r,uf(e,t)}}function pf(e,t,n){t=ea(n,t),t=Fc(e.stateNode,t,2),e=Do(e,t,2),e!==null&&(Tt(e,2),Ef(e))}function Z(e,t,n){if(e.tag===3)pf(e,e,n);else for(;t!==null;){if(t.tag===3){pf(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(yd===null||!yd.has(r))){e=ea(n,e),n=Ic(2),r=Do(t,n,2),r!==null&&(Lc(n,r,t,e),Tt(r,2),Ef(r));break}}t=t.return}}function mf(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new td;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(ad=!0,i.add(n),e=hf.bind(null,e,t,n),t.then(e,e))}function hf(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,G===e&&(q&n)===n&&(Y===4||Y===3&&(q&62914560)===q&&300>$e()-hd?W&2?ld|=n:Vd(e,0):ld|=n,dd===q&&(dd=0)),Ef(e)}function gf(e,t){t===0&&(t=Ct()),e=zi(e,t),e!==null&&(Tt(e,t),Ef(e))}function _f(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),gf(e,n)}function vf(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),gf(e,n)}function yf(e,t){return Ye(e,t)}var bf=null,xf=null,Sf=!1,Cf=!1,wf=!1,Tf=0;function Ef(e){e!==xf&&e.next===null&&(xf===null?bf=xf=e:xf=xf.next=e),Cf=!0,Sf||(Sf=!0,Nf())}function Df(e,t){if(!wf&&Cf){wf=!0;do for(var n=!1,r=bf;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-dt(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,Mf(r,a))}else a=q,a=yt(r,r===G?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||bt(r,a)||(n=!0,Mf(r,a))}r=r.next}while(n);wf=!1}}function Of(){kf()}function kf(){Cf=Sf=!1;var e=0;Tf!==0&&hp()&&(e=Tf);for(var t=$e(),n=null,r=bf;r!==null;){var i=r.next,a=Af(r,t);a===0?(r.next=null,n===null?bf=i:n.next=i,i===null&&(xf=n)):(n=r,(e!==0||a&3)&&(Cf=!0)),r=i}X!==0&&X!==5||Df(e,!1),Tf!==0&&(Tf=0)}function Af(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&ap(d)&&(c=c.responseEnd,o+=u*(c$m){s.length=o;break}f=new Promise(jp.bind(f)),s.push(f)}}}if(0`u`?null:document;function Tm(e,t,n){var r=wm;if(r&&typeof t==`string`&&t){var i=hn(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),ym.has(i)||(ym.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),np(t,`link`,e),E(t),r.head.appendChild(t)))}}function Em(e){xm.D(e),Tm(`dns-prefetch`,e,null)}function Dm(e,t){xm.C(e,t),Tm(`preconnect`,e,t)}function Om(e,t,n){xm.L(e,t,n);var r=wm;if(r&&e&&t){var i=`link[rel="preload"][as="`+hn(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+hn(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+hn(n.imageSizes)+`"]`)):i+=`[href="`+hn(e)+`"]`;var a=i;switch(t){case`style`:a=Pm(e);break;case`script`:a=Rm(e)}if(!(vm.has(a)||(e=S({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),vm.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Fm(a))||t===`script`&&r.querySelector(zm(a))))){var o=r.createElement(`link`);np(o,`link`,e),t===`style`&&(o[Ut]=!0,o.onload=o.onerror=function(){Yt(o)}),E(o),r.head.appendChild(o)}}}function km(e,t){xm.m(e,t);var n=wm;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+hn(r)+`"][href="`+hn(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Rm(e)}if(!vm.has(a)&&(e=S({rel:`modulepreload`,href:e},t),vm.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(zm(a)))return}r=n.createElement(`link`),np(r,`link`,e),E(r),n.head.appendChild(r)}}}function Am(e,t,n){xm.S(e,t,n);var r=wm;if(r&&e){var i=Jt(r).hoistableStyles,a=Pm(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Fm(a)))s.loading=5;else{e=S({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=vm.get(a))&&Hm(e,n);var c=o=r.createElement(`link`);E(c),np(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Vm(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function jm(e,t){xm.X(e,t);var n=wm;if(n&&e){var r=Jt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=S({src:e,async:!0},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),E(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Mm(e,t){xm.M(e,t);var n=wm;if(n&&e){var r=Jt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=S({src:e,async:!0,type:`module`},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),E(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Nm(e,t,n,r){var a=(a=Fe.current)?bm(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(n=Pm(n.href),t=Jt(a).hoistableStyles,r=t.get(n),r||(r={type:`style`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Pm(n.href);var o=Jt(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(Fm(e)))?o._p||(s.instance=o,s.state.loading=5):(o=vm.get(e),o||(o={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},vm.set(e,o)),Lm(a,e,o,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(n=Rm(n),t=Jt(a).hoistableScripts,r=t.get(n),r||(r={type:`script`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Pm(e){return`href="`+hn(e)+`"`}function Fm(e){return`link[rel="stylesheet"][`+e+`]`}function Im(e){return S({},e,{"data-precedence":e.precedence,precedence:null})}function Lm(e,t,n,r){if(t=e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)){if(!0!==t[Ut]){r.loading=1;return}}else t=e.createElement(`link`),t[Ut]=!0,t.onload=t.onerror=Yt.bind(null,t),np(t,`link`,n),E(t),e.head.appendChild(t);r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2})}function Rm(e){return`[src="`+hn(e)+`"]`}function zm(e){return`script[async]`+e}function Bm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+hn(n.href)+`"]`);if(r)return t.instance=r,E(r),r;var a=S({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),E(r),np(r,`style`,a),Vm(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Pm(n.href);var o=e.querySelector(Fm(a));if(o)return t.state.loading|=4,t.instance=o,E(o),o;r=Im(n),(a=vm.get(a))&&Hm(r,a),o=(e.ownerDocument||e).createElement(`link`),E(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),np(o,`link`,r),t.state.loading|=4,Vm(o,n.precedence,e),t.instance=o;case`script`:return o=Rm(n.src),(a=e.querySelector(zm(o)))?(t.instance=a,E(a),a):(r=n,(a=vm.get(o))&&(r=S({},n),Um(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),E(a),np(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Vm(r,n.precedence,e));return t.instance}function Vm(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function qm(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Jm(e,t){return e===`img`&&t.src!=null&&t.src!==``&&t.onLoad==null&&t.loading!==`lazy`}function Ym(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Xm(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio==`number`?devicePixelRatio:1)*.25}function Zm(e,t){typeof t.decode==`function`&&(e.imgCount++,t.complete||(e.imgBytes+=Xm(t),e.suspenseyImages.push(t)),e=rh.bind(e),t.decode().then(e,e))}function Qm(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Pm(r.href),a=t.querySelector(Fm(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=nh.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,E(a);return}a=t.ownerDocument||t,r=Im(r),(i=vm.get(i))&&Hm(r,i),a=a.createElement(`link`),E(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),np(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=nh.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $m=0;function eh(e,t){return e.stylesheets&&e.count===0&&ah(e,e.stylesheets),0$m?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function th(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)ah(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function nh(){this.count--,th(this)}function rh(){this.imgCount--,th(this)}var ih=null;function ah(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ih=new Map,t.forEach(oh,e),ih=null,nh.call(e))}function oh(e,t){if(!(t.state.loading&4)){var n=ih.get(e);if(n)var r=n.get(null);else{n=new Map,ih.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()})),_=c(u(),1),v=g(),y=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),b=o(((e,t)=>{t.exports=y()}))(),ee=e=>{let t=[...e].sort((e,t)=>e.x-t.x||e.y-t.y),n=(e,t,n)=>(t.x-e.x)*(n.y-e.y)-(t.y-e.y)*(n.x-e.x),r=e=>{let t=[];for(let r of e){for(;t.length>1&&n(t.at(-2),t.at(-1),r)<=0;)t.pop();t.push(r)}return t};return[...r(t),...r([...t].reverse()).slice(1,-1)]};function te({data:e}){let[t,n]=(0,_.useState)(()=>new Set(new URLSearchParams(location.search).get(`hide`)?.split(`,`).filter(Boolean))),r=[...e.countries,...e.models],[i,a]=[Math.min(...r.map(e=>e.x)),Math.max(...r.map(e=>e.x))],[o,s]=[Math.min(...r.map(e=>e.y)),Math.max(...r.map(e=>e.y))],c=e=>70+(e-i)/(a-i)*860,l=e=>650-(e-o)/(s-o)*580,u=(0,_.useMemo)(()=>Object.groupBy(e.models,e=>e.family),[e]),d={grok:{dx:-72,dy:-30},muse:{dx:12,dy:-11},mistral:{dx:-96,dy:-26},llama:{dx:-96,dy:12}};return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`div`,{className:`controls`,children:Object.entries(u).map(([r,i])=>(0,b.jsxs)(`button`,{className:t.has(r)?`off`:``,style:{"--color":i[0].color},onClick:()=>n(e=>{let t=new Set(e);return t.has(r)?t.delete(r):t.add(r),t}),children:[r,`: `,e.latest_by_family[r].name]},r))}),(0,b.jsxs)(`svg`,{viewBox:`0 0 1000 720`,"aria-label":`React WVS cultural map`,children:[(0,b.jsx)(`line`,{x1:`70`,y1:l(e.median.y),x2:`930`,y2:l(e.median.y),className:`axis`}),(0,b.jsx)(`line`,{x1:c(e.median.x),y1:`70`,x2:c(e.median.x),y2:`650`,className:`axis`}),Object.entries(e.zones).map(([t,n])=>{let r=ee(e.countries.filter(e=>n.includes(e.name))),i=r.reduce((e,t)=>({x:e.x+t.x/r.length,y:e.y+t.y/r.length}),{x:0,y:0});return(0,b.jsxs)(`g`,{children:[(0,b.jsx)(`polygon`,{points:r.map(e=>`${c(e.x)},${l(e.y)}`).join(` `),className:`zone`}),(0,b.jsx)(`text`,{x:c(i.x),y:l(i.y),className:`zoneLabel`,children:t})]},t)}),e.countries.map(e=>(0,b.jsx)(`circle`,{cx:c(e.x),cy:l(e.y),r:`3`,className:`country`,children:(0,b.jsx)(`title`,{children:e.name})},e.name)),Object.entries(u).map(([e,n])=>(0,b.jsx)(`g`,{display:t.has(e)?`none`:`inline`,children:n.map(t=>{let n=d[e]??{dx:11,dy:-11};return(0,b.jsxs)(`g`,{children:[(0,b.jsx)(`path`,{d:`M ${c(t.x)} ${l(t.y)-8} L ${c(t.x)+2.4} ${l(t.y)-2.4} L ${c(t.x)+8} ${l(t.y)-2.4} L ${c(t.x)+3.6} ${l(t.y)+1.6} L ${c(t.x)+5.2} ${l(t.y)+7} L ${c(t.x)} ${l(t.y)+4} L ${c(t.x)-5.2} ${l(t.y)+7} L ${c(t.x)-3.6} ${l(t.y)+1.6} L ${c(t.x)-8} ${l(t.y)-2.4} L ${c(t.x)-2.4} ${l(t.y)-2.4} Z`,fill:t.color,className:`star`,children:(0,b.jsx)(`title`,{children:t.name})}),t.label&&(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(`line`,{x1:c(t.x),y1:l(t.y),x2:c(t.x)+n.dx*.82,y2:l(t.y)+n.dy*.82,stroke:t.color}),(0,b.jsx)(`text`,{x:c(t.x)+n.dx,y:l(t.y)+n.dy,fill:t.color,className:`modelLabel`,children:t.label})]})]},t.name)})},e)),(0,b.jsx)(`text`,{x:`70`,y:`690`,className:`axisLabel`,children:e.axis.x[0]}),(0,b.jsx)(`text`,{x:`930`,y:`690`,textAnchor:`end`,className:`axisLabel`,children:e.axis.x[1]}),(0,b.jsx)(`text`,{x:`500`,y:`30`,textAnchor:`middle`,className:`axisLabel`,children:e.axis.y[1]}),(0,b.jsx)(`text`,{x:`500`,y:`710`,textAnchor:`middle`,className:`axisLabel`,children:e.axis.y[0]})]})]})}function ne(){let[e,t]=(0,_.useState)(null);return(0,_.useEffect)(()=>{fetch(`../wvs_map_data.json`).then(e=>e.json()).then(t)},[]),(0,b.jsxs)(`main`,{children:[(0,b.jsx)(`h1`,{children:`Frontier LLMs on the World Values Survey`}),(0,b.jsx)(`p`,{children:`React/SVG renderer using the shared WVS coordinate artifact. Filled chips show a family; outlined chips hide its stars and latest label.`}),e&&(0,b.jsx)(te,{data:e})]})}(0,v.createRoot)(document.getElementById(`root`)).render((0,b.jsx)(ne,{})); \ No newline at end of file diff --git a/docs/wvs/react/assets/index-DbBL7VOr.js b/docs/wvs/react/assets/index-DbBL7VOr.js new file mode 100644 index 0000000..2d8ff45 --- /dev/null +++ b/docs/wvs/react/assets/index-DbBL7VOr.js @@ -0,0 +1,11 @@ +var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;li[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.for(`react.view_transition`),m=Symbol.iterator;function h(e){return typeof e!=`object`||!e?null:(e=m&&e[m]||e[`@@iterator`],typeof e==`function`?e:null)}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,v={};function y(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function b(){}b.prototype=y.prototype;function ee(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}var te=ee.prototype=new b;te.constructor=ee,_(te,y.prototype),te.isPureReactComponent=!0;var ne=Array.isArray;function re(){}var x={H:null,A:null,T:null,S:null},ie=Object.prototype.hasOwnProperty;function S(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function ae(e,t){return S(e.type,t,e.props)}function oe(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function C(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var se=/\/+/g;function ce(e,t){return typeof e==`object`&&e&&e.key!=null?C(``+e.key):t.toString(36)}function le(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(re,re):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function ue(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,ue(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+ce(e,0):a,ne(o)?(i=``,c!=null&&(i=c.replace(se,`$&/`)+`/`),ue(o,r,i,``,function(e){return e})):o!=null&&(oe(o)&&(o=ae(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(se,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(ne(e))for(var u=0;u{t.exports=l()})),d=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0>>1,a=e[r];if(0>>1;ri(c,n))li(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(li(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function ee(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,te||(te=!0,ae());else{var t=n(l);t!==null&&se(ee,t.startTime-e)}}}var te=!1,ne=-1,re=5,x=-1;function ie(){return g?!0:!(e.unstable_now()-xt&&ie());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&se(ee,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?ae():te=!1}}}var ae;if(typeof y==`function`)ae=function(){y(S)};else if(typeof MessageChannel<`u`){var oe=new MessageChannel,C=oe.port2;oe.port1.onmessage=S,ae=function(){C.postMessage(null)}}else ae=function(){_(S,0)};function se(t,n){ne=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(ne),ne=-1):h=!0,se(ee,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,te||(te=!0,ae()))),r},e.unstable_shouldYield=ie,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),f=o(((e,t)=>{t.exports=d()})),p=o((e=>{var t=u();function n(e){var t=`https://react.dev/errors/`+e;if(1{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=p()})),h=o((e=>{var t=f(),n=u(),r=m();function i(e){var t=`https://react.dev/errors/`+e;if(1ke||(e.current=Oe[ke],Oe[ke]=null,ke--)}function E(e,t){ke++,Oe[ke]=e.current,e.current=t}var Me=Ae(null),Ne=Ae(null),Pe=Ae(null),Fe=Ae(null);function Ie(e,t){switch(E(Pe,t),E(Ne,e),E(Me,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?up(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=up(t),e=dp(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}je(Me),E(Me,e)}function Le(){je(Me),je(Ne),je(Pe)}function Re(e){var t=e.memoizedState;t!==null&&(sh._currentValue=t.memoizedState,E(Fe,e)),t=Me.current;var n=dp(t,e.type);t!==n&&(E(Ne,e),E(Me,n))}function ze(e){Ne.current===e&&(je(Me),je(Ne)),Fe.current===e&&(je(Fe),sh._currentValue=De)}var Be,Ve;function He(e){if(Be===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Be=t&&t[1]||``,Ve=-1)`:-1i||c[r]!==l[i]){var u=` +`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(``)&&(u=u.replace(``,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{Ue=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?He(n):``}function Ge(e,t){switch(e.tag){case 26:case 27:case 5:return He(e.type);case 16:return He(`Lazy`);case 13:return e.child!==t&&t!==null?He(`Suspense Fallback`):He(`Suspense`);case 19:return He(`SuspenseList`);case 0:case 15:return We(e.type,!1);case 11:return We(e.type.render,!1);case 1:return We(e.type,!0);case 31:return He(`Activity`);case 30:return He(`ViewTransition`);default:return``}}function Ke(e){try{var t=``,n=null;do t+=Ge(e,n),n=e,e=e.return;while(e);return t}catch(e){return` +Error generating stack: `+e.message+` +`+e.stack}}var qe=Object.prototype.hasOwnProperty,Je=t.unstable_scheduleCallback,Ye=t.unstable_cancelCallback,Xe=t.unstable_shouldYield,Ze=t.unstable_requestPaint,Qe=t.unstable_now,$e=t.unstable_getCurrentPriorityLevel,et=t.unstable_ImmediatePriority,tt=t.unstable_UserBlockingPriority,nt=t.unstable_NormalPriority,rt=t.unstable_LowPriority,it=t.unstable_IdlePriority,at=t.log,ot=t.unstable_setDisableYieldValue,st=null,ct=null;function lt(e){if(typeof at==`function`&&ot(e),ct&&typeof ct.setStrictMode==`function`)try{ct.setStrictMode(st,e)}catch{}}var ut=Math.clz32?Math.clz32:pt,dt=Math.log,ft=Math.LN2;function pt(e){return e>>>=0,e===0?32:31-(dt(e)/ft|0)|0}var mt=256,ht=262144,gt=4194304;function _t(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&-e;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function vt(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=_t(n))):i=_t(o):i=_t(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=_t(n))):i=_t(o)):i=_t(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function yt(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function bt(e,t){t&8&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0n;n++)t.push(e);return t}function wt(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Tt(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0`u`||window.document===void 0||window.document.createElement===void 0),zn=!1;if(Rn)try{var Bn={};Object.defineProperty(Bn,"passive",{get:function(){zn=!0}}),window.addEventListener(`test`,Bn,Bn),window.removeEventListener(`test`,Bn,Bn)}catch{zn=!1}var Vn=null,Hn=null,Un=null;function Wn(){if(Un)return Un;var e,t=Hn,n=t.length,r,i=`value`in Vn?Vn.value:Vn.textContent,a=i.length;for(e=0;e=Cr),Er=` `,Dr=!1;function Or(e,t){switch(e){case`keyup`:return xr.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function kr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var Ar=!1;function jr(e,t){switch(e){case`compositionend`:return kr(t);case`keypress`:return t.which===32?(Dr=!0,Er):null;case`textInput`:return e=t.data,e===Er&&Dr?null:e;default:return null}}function Mr(e,t){if(Ar)return e===`compositionend`||!Sr&&Or(e,t)?(e=Wn(),Un=Hn=Vn=null,Ar=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=ti(n)}}function ri(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?ri(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function ii(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=ei(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=ei(e.document)}return t}function ai(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var oi=Rn&&`documentMode`in document&&11>=document.documentMode,si=null,ci=null,li=null,ui=!1;function di(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;ui||si==null||si!==ei(r)||(r=si,`selectionStart`in r&&ai(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),li&&$r(li,r)||(li=r,r=Jf(ci,`onSelect`),0>=o,i-=o,sa=1<<32-ut(t)+i|n<h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),j&&la(i,h),l;if(d===null){for(;hg?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),j&&la(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return j&&la(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&(_=v.alternate,_!==null&&h.delete(_.key===null?g:_.key)),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),j&&la(a,g),u}function _(e,r,o,c){if(typeof o==`object`&&o&&o.type===se&&o.key===null&&o.props.ref===void 0&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case oe:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===se){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),_o(c,o),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===ge&&lo(l)===r.type){n(e,r.sibling),c=a(r,o.props),_o(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===se?(c=Ji(o.props.children,e.mode,c,o.key),_o(c,o),c.return=e,e=c):(c=qi(o.type,o.key,o.props,null,e.mode,c),_o(c,o),c.return=e,e=c)}return s(e);case C:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=Zi(o,e.mode,c),c.return=e,e=c}return s(e);case ge:return o=lo(o),_(e,r,o,c)}if(Ee(o))return h(e,r,o,c);if(Ce(o)){if(l=Ce(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return _(e,r,go(o),c);if(o.$$typeof===de)return _(e,r,Fa(e,o),c);vo(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=Yi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{ho=0;var i=_(e,t,n,r);return mo=null,i}catch(t){if(t===ro||t===ao)throw t;var a=Ui(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var bo=yo(!0),xo=yo(!1),So=!1;function Co(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function wo(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function To(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Eo(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,W&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=Bi(e),zi(e,null,n),t}return Ii(e,r,t,n),Bi(e)}function Do(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Dt(e,n)}}function Oo(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var ko=!1;function Ao(){if(ko){var e=Ja;if(e!==null)throw e}}function jo(e,t,n,r){ko=!1;var i=e.updateQueue;So=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(q&f)===f:(r&f)===f){f!==0&&f===qa&&(ko=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,h=s;f=t;var g=n;switch(h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(g,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(g,d,f):m,f==null)break a;d=S({},d,f);break a;case 2:So=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),sd|=o,e.lanes=o,e.memoizedState=d}}function Mo(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function No(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;ea?a:8;var o=w.T,s={};s.types=o===null?null:o.types,w.T=s,gc(e,!1,t,n);try{var c=i(),l=w.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?hc(e,t,Za(c,r),jd(e)):hc(e,t,r,jd(e))}catch(n){hc(e,t,{then:function(){},status:`rejected`,reason:n},jd())}finally{T.p=a,o!==null&&s.types!==null&&(o.types=s.types),w.T=o}}function ac(){}function oc(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=sc(e).queue;ic(e,a,t,De,n===null?ac:function(){return cc(e),n(r)})}function sc(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:De,baseState:De,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:_s,lastRenderedState:De},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:_s,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function cc(e){var t=sc(e);t.next===null&&(t=e.alternate.memoizedState),hc(e,t.next.queue,{},jd())}function lc(){return Pa(sh)}function uc(){return L().memoizedState}function dc(){return L().memoizedState}function fc(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=jd();e=To(n);var r=Eo(t,e,n);r!==null&&(Pd(r,t,n),Do(r,t,n)),t={cache:Ba()},e.payload=t;return}t=t.return}}function pc(e,t,n){var r=jd();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},_c(e)?vc(t,n):(n=Li(e,t,n,r),n!==null&&(Pd(n,e,r),yc(n,t,r)))}function mc(e,t,n){hc(e,t,n,jd())}function hc(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(_c(e))vc(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Qr(s,o))return Ii(e,t,i,0),G===null&&Fi(),!1}catch{}if(n=Li(e,t,i,r),n!==null)return Pd(n,e,r),yc(n,t,r),!0}return!1}function gc(e,t,n,r){if(r={lane:2,revertLane:Pf(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},_c(e)){if(t)throw Error(i(479))}else t=Li(e,n,r,2),t!==null&&Pd(t,e,2)}function _c(e){var t=e.alternate;return e===N||t!==null&&t===N}function vc(e,t){Qo=Zo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function yc(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Dt(e,n)}}var bc={readContext:Pa,use:hs,useCallback:I,useContext:I,useEffect:I,useImperativeHandle:I,useLayoutEffect:I,useInsertionEffect:I,useMemo:I,useReducer:I,useRef:I,useState:I,useDebugValue:I,useDeferredValue:I,useTransition:I,useSyncExternalStore:I,useId:I,useHostTransitionStatus:I,useFormState:I,useActionState:I,useOptimistic:I,useMemoCache:I,useCacheRefresh:I,useEffectEvent:I},xc={readContext:Pa,use:hs,useCallback:function(e,t){return fs().memoizedState=[e,t===void 0?null:t],e},useContext:Pa,useEffect:Gs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),Us(4194308,4,Zs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Us(4194308,4,e,t)},useInsertionEffect:function(e,t){Us(4,2,e,t)},useMemo:function(e,t){var n=fs();t=t===void 0?null:t;var r=e();if($o){lt(!0);try{e()}finally{lt(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=fs();if(n!==void 0){var i=n(t);if($o){lt(!0);try{n(t)}finally{lt(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=pc.bind(null,N,e),[r.memoizedState,e]},useRef:function(e){var t=fs();return e={current:e},t.memoizedState=e},useState:function(e){e=Ds(e);var t=e.queue,n=mc.bind(null,N,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:$s,useDeferredValue:function(e,t){return nc(fs(),e,t)},useTransition:function(){var e=Ds(!1);return e=ic.bind(null,N,e.queue,!0,!1),fs().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=N,a=fs();if(j){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),G===null)throw Error(i(349));q&127||Ss(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,Gs(ws.bind(null,r,o,e),[e]),r.flags|=2048,Vs(9,{destroy:void 0},Cs.bind(null,r,o,n,t),null),n},useId:function(){var e=fs(),t=G.identifierPrefix;if(j){var n=ca,r=sa;n=(r&~(1<<32-ut(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=es++,0<\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[Pt]=t,o[Ft]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(np(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&_l(t)}}return B(t),t.subtreeFlags&=-33554433,vl(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&_l(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=Pe.current,ba(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=k,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[Pt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||ep(e.nodeValue,n)),e||_a(t,!0)}else e=lp(e).createTextNode(r),e[Pt]=t,t.stateNode=e}return B(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=ba(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[Pt]=t}else xa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;B(t),e=!1}else n=Sa(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Go(t),t):(Go(t),null);if(t.flags&128)throw Error(i(558))}return B(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=ba(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[Pt]=t}else xa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;B(t),a=!1}else a=Sa(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(Go(t),t):(Go(t),null)}return Go(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),bl(t,t.updateQueue),B(t),null);case 4:return Le(),e===null&&Wf(t.stateNode.containerInfo),t.flags|=67108864,B(t),null;case 10:return Oa(t.type),B(t),null;case 19:if(Jo(t),r=t.memoizedState,r===null)return B(t),null;if(a=!!(t.flags&128),o=r.rendering,o===null){if(a)xl(r,!1);else{if(Y!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Yo(e),o!==null){for(t.flags|=128,xl(r,!1),e=o.updateQueue,t.updateQueue=e,bl(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Ki(n,e),n=n.sibling;return qo(t,Ko.current&1|2),j&&la(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Qe()>_d&&(t.flags|=128,a=!0,xl(r,!1),t.lanes=4194304)}}else{if(!a){if(e=Yo(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,bl(t,e),xl(r,!0),r.tail===null&&r.tailMode!==`collapsed`&&r.tailMode!==`visible`&&!o.alternate&&!j)return B(t),null}else 2*Qe()-r.renderingStartTime>_d&&n!==536870912&&(t.flags|=128,a=!0,xl(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}if(r.tail!==null){e=r.tail;a:{for(n=e;n!==null;){if(n.alternate!==null){n=!1;break a}n=n.sibling}n=!0}return r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Qe(),e.sibling=null,o=Ko.current,o=a?o&1|2:o&1,r.tailMode===`visible`||r.tailMode===`collapsed`||!n||j?qo(t,o):(n=o,E(zo,t),E(Ko,n),Bo===null&&(Bo=t)),j&&la(t,r.treeForkCount),e}return B(t),null;case 22:case 23:return Go(t),Ro(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(B(t),t.subtreeFlags&6&&(t.flags|=8192)):B(t),n=t.updateQueue,n!==null&&bl(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&je($a),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Oa(M),B(t),null;case 25:return null;case 30:return t.flags|=33554432,B(t),null}throw Error(i(156,t.tag))}function Cl(e,t){switch(fa(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Oa(M),Le(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ze(t),null;case 31:if(t.memoizedState!==null){if(Go(t),t.alternate===null)throw Error(i(340));xa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Go(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));xa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Jo(t),e=t.flags,e&65536?(t.flags=e&-65537|128,e=t.memoizedState,e!==null&&(e.rendering=null,e.tail=null),t.flags|=4,t):null;case 4:return Le(),null;case 10:return Oa(t.type),null;case 22:case 23:return Go(t),Ro(),e!==null&&je($a),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Oa(M),null;case 25:return null;default:return null}}function wl(e,t){switch(fa(t),t.tag){case 3:Oa(M),Le();break;case 26:case 27:case 5:ze(t);break;case 4:Le();break;case 31:t.memoizedState!==null&&Go(t);break;case 13:Go(t);break;case 19:Jo(t);break;case 10:Oa(t.type);break;case 22:case 23:Go(t),Ro(),e!==null&&je($a);break;case 24:Oa(M)}}function Tl(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Z(t,t.return,e)}}function El(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Z(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Z(t,t.return,e)}}function Dl(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{No(t,n)}catch(t){Z(e,e.return,t)}}}function Ol(e,t,n){n.props=Oc(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Z(e,t,n)}}function kl(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:var i=e.stateNode,a=Oi(e.memoizedProps,i);(i.ref===null||i.ref.name!==a)&&(i.ref=Pp(a)),r=i.ref;break;case 7:if(e.stateNode===null){var o=new Fp(e);h(e.child,!1,Qp,o,void 0,void 0),e.stateNode=o}r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Z(e,t,n)}}function Al(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){Z(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Z(e,t,n)}else n.current=null}}function jl(e,t){if((e.tag===5||e.tag===27||e.tag===6)&&e.alternate===null&&t!==null)for(var n=0;n title`))),np(r,t,n),r[Pt]=e,D(r),t=r;break a;case`link`:if(o=Gm(`link`,`href`,a).get(t+(n.href||``))){for(s=0;sg&&(o=g,g=h,h=o);var _=ni(s,h),v=ni(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;sn?32:n,w.T=null,n=wd,wd=null;var o=bd,s=Sd;if(X=0,xd=bd=null,Sd=0,W&6)throw Error(i(331));var c=W;if(W|=4,Zu(o.current),Uu(o,o.current,s,n),W=c,Df(0,!1),ct&&typeof ct.onPostCommitFiberRoot==`function`)try{ct.onPostCommitFiberRoot(st,o)}catch{}return!0}finally{T.p=a,w.T=r,uf(e,t)}}function pf(e,t,n){t=$i(n,t),t=Pc(e.stateNode,t,2),e=Eo(e,t,2),e!==null&&(wt(e,2),Ef(e))}function Z(e,t,n){if(e.tag===3)pf(e,e,n);else for(;t!==null;){if(t.tag===3){pf(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(yd===null||!yd.has(r))){e=$i(n,e),n=Fc(2),r=Eo(t,n,2),r!==null&&(Ic(n,r,t,e),wt(r,2),Ef(r));break}}t=t.return}}function mf(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new td;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(ad=!0,i.add(n),e=hf.bind(null,e,t,n),t.then(e,e))}function hf(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,G===e&&(q&n)===n&&(Y===4||Y===3&&(q&62914560)===q&&300>Qe()-hd?W&2?ld|=n:Vd(e,0):ld|=n,dd===q&&(dd=0)),Ef(e)}function gf(e,t){t===0&&(t=St()),e=Ri(e,t),e!==null&&(wt(e,t),Ef(e))}function _f(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),gf(e,n)}function vf(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),gf(e,n)}function yf(e,t){return Je(e,t)}var bf=null,xf=null,Sf=!1,Cf=!1,wf=!1,Tf=0;function Ef(e){e!==xf&&e.next===null&&(xf===null?bf=xf=e:xf=xf.next=e),Cf=!0,Sf||(Sf=!0,Nf())}function Df(e,t){if(!wf&&Cf){wf=!0;do for(var n=!1,r=bf;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-ut(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,Mf(r,a))}else a=q,a=vt(r,r===G?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||yt(r,a)||(n=!0,Mf(r,a))}r=r.next}while(n);wf=!1}}function Of(){kf()}function kf(){Cf=Sf=!1;var e=0;Tf!==0&&hp()&&(e=Tf);for(var t=Qe(),n=null,r=bf;r!==null;){var i=r.next,a=Af(r,t);a===0?(r.next=null,n===null?bf=i:n.next=i,i===null&&(xf=n)):(n=r,(e!==0||a&3)&&(Cf=!0)),r=i}X!==0&&X!==5||Df(e,!1),Tf!==0&&(Tf=0)}function Af(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0s)break;var u=c.transferSize,d=c.initiatorType;u&&ap(d)&&(c=c.responseEnd,o+=u*(c$m){s.length=o;break}f=new Promise(jp.bind(f)),s.push(f)}}}if(0`u`?null:document;function Tm(e,t,n){var r=wm;if(r&&typeof t==`string`&&t){var i=mn(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),ym.has(i)||(ym.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),np(t,`link`,e),D(t),r.head.appendChild(t)))}}function Em(e){xm.D(e),Tm(`dns-prefetch`,e,null)}function Dm(e,t){xm.C(e,t),Tm(`preconnect`,e,t)}function Om(e,t,n){xm.L(e,t,n);var r=wm;if(r&&e&&t){var i=`link[rel="preload"][as="`+mn(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+mn(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+mn(n.imageSizes)+`"]`)):i+=`[href="`+mn(e)+`"]`;var a=i;switch(t){case`style`:a=Pm(e);break;case`script`:a=Rm(e)}if(!(vm.has(a)||(e=S({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),vm.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Fm(a))||t===`script`&&r.querySelector(zm(a))))){var o=r.createElement(`link`);np(o,`link`,e),t===`style`&&(o[Ht]=!0,o.onload=o.onerror=function(){Jt(o)}),D(o),r.head.appendChild(o)}}}function km(e,t){xm.m(e,t);var n=wm;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+mn(r)+`"][href="`+mn(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Rm(e)}if(!vm.has(a)&&(e=S({rel:`modulepreload`,href:e},t),vm.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(zm(a)))return}r=n.createElement(`link`),np(r,`link`,e),D(r),n.head.appendChild(r)}}}function Am(e,t,n){xm.S(e,t,n);var r=wm;if(r&&e){var i=qt(r).hoistableStyles,a=Pm(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Fm(a)))s.loading=5;else{e=S({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=vm.get(a))&&Hm(e,n);var c=o=r.createElement(`link`);D(c),np(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Vm(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function jm(e,t){xm.X(e,t);var n=wm;if(n&&e){var r=qt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=S({src:e,async:!0},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),D(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Mm(e,t){xm.M(e,t);var n=wm;if(n&&e){var r=qt(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=S({src:e,async:!0,type:`module`},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),D(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Nm(e,t,n,r){var a=(a=Pe.current)?bm(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(n=Pm(n.href),t=qt(a).hoistableStyles,r=t.get(n),r||(r={type:`style`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Pm(n.href);var o=qt(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(Fm(e)))?o._p||(s.instance=o,s.state.loading=5):(o=vm.get(e),o||(o={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},vm.set(e,o)),Lm(a,e,o,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(n=Rm(n),t=qt(a).hoistableScripts,r=t.get(n),r||(r={type:`script`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Pm(e){return`href="`+mn(e)+`"`}function Fm(e){return`link[rel="stylesheet"][`+e+`]`}function Im(e){return S({},e,{"data-precedence":e.precedence,precedence:null})}function Lm(e,t,n,r){if(t=e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)){if(!0!==t[Ht]){r.loading=1;return}}else t=e.createElement(`link`),t[Ht]=!0,t.onload=t.onerror=Jt.bind(null,t),np(t,`link`,n),D(t),e.head.appendChild(t);r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2})}function Rm(e){return`[src="`+mn(e)+`"]`}function zm(e){return`script[async]`+e}function Bm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+mn(n.href)+`"]`);if(r)return t.instance=r,D(r),r;var a=S({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),D(r),np(r,`style`,a),Vm(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Pm(n.href);var o=e.querySelector(Fm(a));if(o)return t.state.loading|=4,t.instance=o,D(o),o;r=Im(n),(a=vm.get(a))&&Hm(r,a),o=(e.ownerDocument||e).createElement(`link`),D(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),np(o,`link`,r),t.state.loading|=4,Vm(o,n.precedence,e),t.instance=o;case`script`:return o=Rm(n.src),(a=e.querySelector(zm(o)))?(t.instance=a,D(a),a):(r=n,(a=vm.get(o))&&(r=S({},n),Um(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),D(a),np(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Vm(r,n.precedence,e));return t.instance}function Vm(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o title`):null)}function qm(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Jm(e,t){return e===`img`&&t.src!=null&&t.src!==``&&t.onLoad==null&&t.loading!==`lazy`}function Ym(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Xm(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio==`number`?devicePixelRatio:1)*.25}function Zm(e,t){typeof t.decode==`function`&&(e.imgCount++,t.complete||(e.imgBytes+=Xm(t),e.suspenseyImages.push(t)),e=rh.bind(e),t.decode().then(e,e))}function Qm(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Pm(r.href),a=t.querySelector(Fm(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=nh.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,D(a);return}a=t.ownerDocument||t,r=Im(r),(i=vm.get(i))&&Hm(r,i),a=a.createElement(`link`),D(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),np(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=nh.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $m=0;function eh(e,t){return e.stylesheets&&e.count===0&&ah(e,e.stylesheets),0$m?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function th(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)ah(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function nh(){this.count--,th(this)}function rh(){this.imgCount--,th(this)}var ih=null;function ah(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ih=new Map,t.forEach(oh,e),ih=null,nh.call(e))}function oh(e,t){if(!(t.state.loading&4)){var n=ih.get(e);if(n)var r=n.get(null);else{n=new Map,ih.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()})),_=c(u(),1),v=g(),y={width:1200,height:900,pad:{left:76,right:46,top:55,bottom:82}},b=[[0,-1],[0,1],[-1,0],[1,0],[-1,-1],[1,-1],[-1,1],[1,1]],ee=[22,34,48,64,82,104,130,160,196],te=(e,t,n,r)=>({cx:e,cy:t,width:n,height:r}),ne=(e,t)=>Math.abs(e.cx-t.cx)*2e.cx-e.width/2>=t.left&&e.cx+e.width/2<=t.right&&e.cy-e.height/2>=t.top&&e.cy+e.height/2<=t.bottom;function x(e){let t=[...e.countries,...e.models],n=Math.min(...t.map(e=>e.x)),r=Math.max(...t.map(e=>e.x)),i=Math.min(...t.map(e=>e.y)),a=Math.max(...t.map(e=>e.y)),o=(r-n)*.17,s=(a-i)*.17,c={x0:n-o,x1:r+o,y0:i-s,y1:a+s*1.22},l={left:y.pad.left,right:y.width-y.pad.right,top:y.pad.top,bottom:y.height-y.pad.bottom};return{x:e=>l.left+(e-c.x0)/(c.x1-c.x0)*(l.right-l.left),y:e=>l.bottom-(e-c.y0)/(c.y1-c.y0)*(l.bottom-l.top),bounds:l,limits:c}}function ie(e,t){let n=t===`zone`?15:t===`model`?13:11;return{width:e.length*n*.59+10,height:n+7}}function S(e,t){let{x:n,y:r,bounds:i}=t,a=[...e.countries.map(e=>te(n(e.x),r(e.y),10,10)),...e.models.map(e=>te(n(e.x),r(e.y),22,22))],o=[...e.models.filter(e=>e.label).map(e=>({id:`model:${e.name}`,point:e,text:e.label,kind:`model`})),...e.countries.filter(e=>e.label).map(e=>({id:`country:${e.name}`,point:e,text:e.name,kind:`country`})),...e.zone_hulls.map(e=>({id:`zone:${e.name}`,point:{x:e.label_anchor[0],y:e.label_anchor[1]},text:e.name,kind:`zone`}))],s={};for(let e of o){let t={x:n(e.point.x),y:r(e.point.y)},o=ie(e.text,e.kind),c=null;for(let e of ee){for(let[n,r]of b){let s=te(t.x+n*(e+o.width/3),t.y+r*e,o.width,o.height);if(re(s,i)&&!a.some(e=>ne(s,e))){c=s;break}}if(c)break}if(!c)throw Error(`no collision-free label location for ${e.id}`);s[e.id]={...c,anchor:t,kind:e.kind,text:e.text},a.push(c)}return s}function ae(e){let t=x(e),n=S(e,t),r=Object.entries(n);for(let[e,n]of r)if(!re(n,t.bounds))throw Error(`label out of bounds: ${e}`);for(let e=0;e{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),C=o(((e,t)=>{t.exports=oe()}))();function se({active:e,geometry:t,data:n}){if(!e)return null;let{provenance:r}=e,i=`${Math.min(86,t.x(e.x)/y.width*100)}%`,a=`${Math.min(82,t.y(e.y)/y.height*100)}%`,o=r.items===null?`historical coordinate`:`${r.items} items x ${r.samples} samples`;return(0,C.jsxs)(`aside`,{id:`model-tooltip`,className:`tooltip`,style:{left:i,top:a},role:`status`,children:[(0,C.jsx)(`strong`,{children:e.name}),(0,C.jsx)(`span`,{children:e.family}),(0,C.jsxs)(`span`,{children:[n.axis.x[0],` `,`->`,` `,n.axis.x[1],`: `,e.x.toFixed(3)]}),(0,C.jsxs)(`span`,{children:[n.axis.y[0],` `,`->`,` `,n.axis.y[1],`: `,e.y.toFixed(3)]}),(0,C.jsxs)(`span`,{children:[r.readout,`, `,o]}),(0,C.jsx)(`span`,{children:r.release_created?`release ${r.release_created}`:r.release_source})]})}function ce({model:e,placement:t,geometry:n,setActive:r,clearActive:i,markerRef:a,logo:o}){let s=n.x(e.x),c=n.y(e.y),l=e.label?t[`model:${e.name}`]:null,u=l&&Math.hypot(l.cx-s,l.cy-c)>20;return(0,C.jsxs)(`g`,{ref:a,className:`model-mark`,"data-family":e.family,"data-model":e.name,"data-x":e.x,"data-y":e.y,tabIndex:`0`,role:`button`,"aria-label":`${e.name}, ${e.family}`,"aria-describedby":`model-tooltip`,onPointerEnter:()=>r(e),onPointerLeave:i,onFocus:()=>r(e),onBlur:i,children:[u&&(0,C.jsx)(`line`,{className:`leader`,x1:s,y1:c,x2:l.cx,y2:l.cy}),(0,C.jsx)(`circle`,{className:`model-ring`,cx:s,cy:c,r:`11`,stroke:e.color}),(0,C.jsx)(`image`,{href:`../${o}`,x:s-7,y:c-7,width:`14`,height:`14`,preserveAspectRatio:`xMidYMid meet`}),l&&(0,C.jsx)(`text`,{className:`model-label`,x:l.cx,y:l.cy+4,textAnchor:`middle`,children:e.label})]})}function le({data:e}){let t=new URLSearchParams(location.search),[n,r]=(0,_.useState)(()=>new Set(t.get(`hide`)?.split(`,`).filter(Boolean))),[i,a]=(0,_.useState)(()=>e.models.find(e=>e.name===(t.get(`tooltip`)||t.get(`focus`)))??null),o=t.get(`focus`),s=(0,_.useRef)(null),c=(0,_.useMemo)(()=>Object.groupBy(e.models,e=>e.family),[e]),{labels:l,geometry:u}=(0,_.useMemo)(()=>ae(e),[e]);(0,_.useEffect)(()=>{o&&s.current?.focus()},[o]);let d=e=>{e.currentTarget.matches(`:focus`)||a(null)},f=e=>r(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),p=u.x(e.median.x),m=u.y(e.median.y);return(0,C.jsxs)(C.Fragment,{children:[(0,C.jsx)(`section`,{className:`controls`,"aria-label":`Model-family visibility`,children:Object.entries(c).map(([t,r])=>{let i=!n.has(t),a=e.latest_by_family[t].name;return(0,C.jsxs)(`button`,{className:`chip`,type:`button`,"aria-pressed":i,onClick:()=>f(t),children:[(0,C.jsx)(`img`,{src:`../${e.logos[t]}`,alt:``}),t,`: `,a]},t)})}),(0,C.jsxs)(`div`,{className:`chart-shell`,children:[(0,C.jsxs)(`svg`,{viewBox:`0 0 ${y.width} ${y.height}`,role:`img`,"aria-label":`Frontier LLMs on the World Values Survey`,"data-median-x":e.median.x,"data-median-y":e.median.y,children:[(0,C.jsx)(`defs`,{children:(0,C.jsx)(`marker`,{id:`arrow`,markerWidth:`8`,markerHeight:`8`,refX:`6`,refY:`3`,orient:`auto`,children:(0,C.jsx)(`path`,{d:`M0,0 L0,6 L6,3 z`,className:`arrow`})})}),(0,C.jsx)(`rect`,{className:`canvas`,width:y.width,height:y.height}),(0,C.jsxs)(`g`,{className:`grid`,children:[Array.from({length:8},(e,t)=>(0,C.jsx)(`line`,{x1:u.bounds.left+t*(u.bounds.right-u.bounds.left)/7,y1:u.bounds.top,x2:u.bounds.left+t*(u.bounds.right-u.bounds.left)/7,y2:u.bounds.bottom},`v${t}`)),Array.from({length:6},(e,t)=>(0,C.jsx)(`line`,{x1:u.bounds.left,y1:u.bounds.top+t*(u.bounds.bottom-u.bounds.top)/5,x2:u.bounds.right,y2:u.bounds.top+t*(u.bounds.bottom-u.bounds.top)/5},`h${t}`))]}),(0,C.jsx)(`line`,{className:`median`,x1:u.bounds.left,y1:m,x2:u.bounds.right,y2:m}),(0,C.jsx)(`line`,{className:`median`,x1:p,y1:u.bounds.top,x2:p,y2:u.bounds.bottom}),e.zone_hulls.map(e=>(0,C.jsx)(`polygon`,{className:`zone`,points:e.points.map(([e,t])=>`${u.x(e)},${u.y(t)}`).join(` `),stroke:e.color},e.name)),e.countries.map(e=>(0,C.jsxs)(`g`,{children:[(0,C.jsx)(`circle`,{className:`country`,"data-country":e.name,"data-x":e.x,"data-y":e.y,cx:u.x(e.x),cy:u.y(e.y),r:`3.5`,fill:e.color}),e.label&&(0,C.jsx)(`text`,{className:`country-label`,x:l[`country:${e.name}`].cx,y:l[`country:${e.name}`].cy+4,textAnchor:`middle`,children:e.name})]},e.name)),e.zone_hulls.map(e=>(0,C.jsx)(`text`,{className:`zone-label`,x:l[`zone:${e.name}`].cx,y:l[`zone:${e.name}`].cy+5,textAnchor:`middle`,fill:e.color,children:e.name},e.name)),Object.entries(c).map(([t,r])=>(0,C.jsx)(`g`,{"data-family":t,display:n.has(t)?`none`:`inline`,children:r.map(t=>(0,C.jsx)(ce,{model:t,placement:l,geometry:u,setActive:a,clearActive:d,markerRef:t.name===o?s:null,logo:e.logos[t.family]},t.name))},t)),(0,C.jsxs)(`g`,{className:`poles`,children:[(0,C.jsx)(`line`,{x1:p,y1:`62`,x2:p,y2:u.bounds.top,markerEnd:`url(#arrow)`}),(0,C.jsx)(`line`,{x1:p,y1:u.bounds.bottom,x2:p,y2:`838`,markerEnd:`url(#arrow)`}),(0,C.jsx)(`line`,{x1:`64`,y1:m,x2:u.bounds.left,y2:m,markerEnd:`url(#arrow)`}),(0,C.jsx)(`line`,{x1:u.bounds.right,y1:m,x2:`1184`,y2:m,markerEnd:`url(#arrow)`}),(0,C.jsx)(`text`,{x:p,y:`40`,textAnchor:`middle`,children:e.axis.y[1]}),(0,C.jsx)(`text`,{x:p,y:`870`,textAnchor:`middle`,children:e.axis.y[0]}),(0,C.jsx)(`text`,{x:`25`,y:m+7,children:e.axis.x[0]}),(0,C.jsx)(`text`,{x:`1136`,y:m+7,textAnchor:`end`,children:e.axis.x[1]})]}),(0,C.jsx)(`text`,{className:`map-title`,x:u.bounds.left+8,y:u.bounds.bottom-34,children:e.title.split(` +`).map((e,t)=>(0,C.jsx)(`tspan`,{x:u.bounds.left+8,dy:t?17:0,children:e},e))}),(0,C.jsx)(`text`,{className:`map-note`,x:u.bounds.left+8,y:u.bounds.bottom-7,children:e.note.split(` +`).map((e,t)=>(0,C.jsx)(`tspan`,{x:u.bounds.left+8,dy:t?11:0,children:e},e))})]}),(0,C.jsx)(se,{active:i,geometry:u,data:e})]})]})}function ue(){let[e,t]=(0,_.useState)(null);return(0,_.useEffect)(()=>{fetch(`../wvs_map_data.json`).then(e=>e.json()).then(t)},[]),(0,C.jsxs)(`main`,{children:[(0,C.jsx)(`h1`,{children:`Frontier LLMs on the World Values Survey`}),(0,C.jsx)(`p`,{className:`lede`,children:`React/SVG rendering of the shared WVS coordinate artifact. White-ring marks use locally saved lab logos. Focus or hover a model for its measured readout and release provenance.`}),e&&(0,C.jsx)(le,{data:e}),(0,C.jsxs)(`p`,{className:`caption`,children:[`Historical coordinates are recovered rounded display values. Coder and vision-language Qwen variants are visible but not used in direct-instruct family trends. The static map remains available at `,(0,C.jsx)(`a`,{href:`../`,children:`/wvs/`}),`.`]})]})}(0,v.createRoot)(document.getElementById(`root`)).render((0,C.jsx)(ue,{})); \ No newline at end of file diff --git a/docs/wvs/react/index.html b/docs/wvs/react/index.html index 12cc039..f3f8188 100644 --- a/docs/wvs/react/index.html +++ b/docs/wvs/react/index.html @@ -1,3 +1,3 @@ - - + +
diff --git a/docs/wvs/wvs_map_data.json b/docs/wvs/wvs_map_data.json index bad8e18..195f97d 100644 --- a/docs/wvs/wvs_map_data.json +++ b/docs/wvs/wvs_map_data.json @@ -11,451 +11,631 @@ }, "countries": [ { + "color": "#888888", + "label": null, "name": "Albania", "x": -0.34060364901247114, "y": 0.3916805236536717 }, { + "color": "#4e79a7", + "label": null, "name": "Andorra", "x": -0.19605307590900742, "y": 0.2872413869286676 }, { + "color": "#f28e2b", + "label": null, "name": "Argentina", "x": -0.14983546774957562, "y": 0.3940946003236249 }, { + "color": "#888888", + "label": null, "name": "Armenia", "x": -0.20967830986161892, "y": 0.29255690096003767 }, { + "color": "#4e79a7", + "label": null, "name": "Australia", "x": -0.31535990908305356, "y": 0.31032377649703047 }, { + "color": "#4e79a7", + "label": null, "name": "Austria", "x": -0.5223037925191643, "y": 0.5078291184737752 }, { + "color": "#9c755f", + "label": null, "name": "Azerbaijan", "x": -0.47986189813334496, "y": 0.47877999801292975 }, { + "color": "#888888", + "label": null, "name": "Bangladesh", "x": -0.17771250910617192, "y": 0.2185170445927002 }, { + "color": "#888888", + "label": null, "name": "Belarus", "x": -0.212349244964338, "y": 0.36911061913779203 }, { + "color": "#f28e2b", + "label": null, "name": "Bolivia", "x": -0.22977359116420062, "y": 0.20575355630044792 }, { + "color": "#888888", + "label": null, "name": "Bosnia Herzegovina", "x": -0.28340236345421765, "y": 0.3122307018706097 }, { + "color": "#f28e2b", + "label": null, "name": "Brazil", "x": -0.35580112848666184, "y": 0.2389311240190899 }, { + "color": "#888888", + "label": null, "name": "Bulgaria", "x": -0.2033229406927835, "y": 0.4487408597891542 }, { + "color": "#4e79a7", + "label": null, "name": "Canada", "x": -0.6007567432567432, "y": 0.5379268033553748 }, { + "color": "#f28e2b", + "label": null, "name": "Chile", "x": -0.2699503964169258, "y": 0.34544118642628935 }, { + "color": "#e15759", + "label": "China", "name": "China", "x": -0.2931616820480187, "y": 0.5554226781769104 }, { + "color": "#f28e2b", + "label": null, "name": "Colombia", "x": -0.3153892218892219, "y": 0.22269841269841267 }, { + "color": "#4e79a7", + "label": null, "name": "Croatia", "x": -0.36594335295022884, "y": 0.3633910239807433 }, { + "color": "#888888", + "label": null, "name": "Cyprus", "x": -0.28541627696268346, "y": 0.275419511986288 }, { + "color": "#4e79a7", + "label": null, "name": "Czechia", "x": -0.39829350897453486, "y": 0.5613889766422442 }, { + "color": "#4e79a7", + "label": null, "name": "Denmark", "x": -0.6657300149147606, "y": 0.6132750608247824 }, { + "color": "#f28e2b", + "label": null, "name": "Ecuador", "x": -0.21108824893522313, "y": 0.1983233572911128 }, { + "color": "#9c755f", + "label": "Egypt", "name": "Egypt", "x": -0.06244315954206919, "y": 0.146641325722886 }, { + "color": "#4e79a7", + "label": null, "name": "Estonia", "x": -0.30423529124393484, "y": 0.5025275669601471 }, { + "color": "#9c755f", + "label": null, "name": "Ethiopia", "x": -0.15746570897181292, "y": 0.19187722789895975 }, { + "color": "#4e79a7", + "label": null, "name": "Finland", "x": -0.5904731690324967, "y": 0.551258795065921 }, { + "color": "#4e79a7", + "label": null, "name": "France", "x": -0.5270035214502415, "y": 0.5002291086593103 }, { + "color": "#888888", + "label": null, "name": "Georgia", "x": -0.1826306508561389, "y": 0.2667335331015857 }, { + "color": "#4e79a7", + "label": null, "name": "Germany", "x": -0.5635260309183077, "y": 0.5240198123611525 }, { + "color": "#4e79a7", + "label": null, "name": "Great Britain", "x": -0.5696608975609528, "y": 0.5535328076982802 }, { + "color": "#888888", + "label": null, "name": "Greece", "x": -0.3159964850208172, "y": 0.36488193744987674 }, { + "color": "#f28e2b", + "label": null, "name": "Guatemala", "x": -0.28857627815228243, "y": 0.36053619024439865 }, { + "color": "#e15759", + "label": null, "name": "Hong Kong SAR", "x": -0.36391469499921747, "y": 0.4905954961653451 }, { + "color": "#4e79a7", + "label": null, "name": "Hungary", "x": -0.23152649865277466, "y": 0.45978362150632446 }, { + "color": "#4e79a7", + "label": "Iceland", "name": "Iceland", "x": -0.7012314341663172, "y": 0.5677624977921072 }, { + "color": "#9c755f", + "label": null, "name": "Indonesia", "x": -0.12771297289425063, "y": 0.2325335335335335 }, { + "color": "#9c755f", + "label": null, "name": "Iran", "x": -0.23320783762949784, "y": 0.31006771630666 }, { + "color": "#9c755f", + "label": null, "name": "Iraq", "x": -0.15493449008064397, "y": 0.19472631072631072 }, { + "color": "#4e79a7", + "label": null, "name": "Italy", "x": -0.4309070673593499, "y": 0.3929868470977711 }, { + "color": "#e15759", + "label": "Japan", "name": "Japan", "x": -0.4330191209998057, "y": 0.6064228638325765 }, { + "color": "#9c755f", + "label": null, "name": "Jordan", "x": -0.12159203648151506, "y": 0.18432400980608574 }, { + "color": "#9c755f", + "label": null, "name": "Kazakhstan", "x": -0.14308593129168692, "y": 0.34813863139941176 }, { + "color": "#9c755f", + "label": null, "name": "Kenya", "x": -0.2779854546506703, "y": 0.2407609642518004 }, { + "color": "#9c755f", + "label": null, "name": "Kyrgyzstan", "x": -0.10815566017933205, "y": 0.2807546176327564 }, { + "color": "#4e79a7", + "label": null, "name": "Latvia", "x": -0.27016564606173954, "y": 0.5012283231174919 }, { + "color": "#9c755f", + "label": null, "name": "Lebanon", "x": -0.1511583350829206, "y": 0.31222222222222223 }, { + "color": "#9c755f", + "label": null, "name": "Libya", "x": -0.1559643725841997, "y": 0.1529120470604088 }, { + "color": "#4e79a7", + "label": null, "name": "Lithuania", "x": -0.30962705001722174, "y": 0.47393240841375395 }, { + "color": "#e15759", + "label": null, "name": "Macau SAR", "x": -0.3502817850634504, "y": 0.5291951711604919 }, { + "color": "#9c755f", + "label": null, "name": "Malaysia", "x": -0.3073090243090243, "y": 0.314952380952381 }, { + "color": "#888888", + "label": null, "name": "Maldives", "x": -0.2968042174615827, "y": 0.19067102392882931 }, { + "color": "#f28e2b", + "label": "Mexico", "name": "Mexico", "x": -0.2223763800839733, "y": 0.25423721830646473 }, { + "color": "#e15759", + "label": null, "name": "Mongolia", "x": -0.39843454634185715, "y": 0.47695238095238096 }, { + "color": "#888888", + "label": null, "name": "Montenegro", "x": -0.3363307985114117, "y": 0.32891164603000833 }, { + "color": "#9c755f", + "label": null, "name": "Morocco", "x": -0.31702043262043256, "y": 0.2695294977517199 }, { + "color": "#888888", + "label": null, "name": "Myanmar", "x": -0.12121613721877203, "y": 0.2638412698412698 }, { + "color": "#4e79a7", + "label": null, "name": "Netherlands", "x": -0.5910713885704852, "y": 0.5558970262624637 }, { + "color": "#4e79a7", + "label": null, "name": "New Zealand", "x": -0.6273472343683035, "y": 0.5704989613162689 }, { + "color": "#f28e2b", + "label": null, "name": "Nicaragua", "x": -0.17550000000000002, "y": 0.18293650793650792 }, { + "color": "#9c755f", + "label": null, "name": "Nigeria", "x": -0.18111464192593707, "y": 0.17117185934438867 }, { + "color": "#888888", + "label": null, "name": "North Macedonia", "x": -0.261513717912872, "y": 0.3289379201464618 }, { + "color": "#4e79a7", + "label": null, "name": "Northern Ireland", "x": -0.5610131103812875, "y": 0.45120353089243065 }, { + "color": "#4e79a7", + "label": null, "name": "Norway", "x": -0.6482606082603507, "y": 0.6022098618016261 }, { + "color": "#888888", + "label": "Pakistan", "name": "Pakistan", "x": -0.17719135939556657, "y": 0.17695773137839582 }, { + "color": "#f28e2b", + "label": null, "name": "Peru", "x": -0.21419128606996862, "y": 0.2249236535133877 }, { + "color": "#f28e2b", + "label": null, "name": "Philippines", "x": -0.21356483685541808, "y": 0.2514514514514515 }, { + "color": "#4e79a7", + "label": null, "name": "Poland", "x": -0.3183850466544345, "y": 0.3114171762694594 }, { + "color": "#4e79a7", + "label": null, "name": "Portugal", "x": -0.2864445498559326, "y": 0.37983890694614153 }, { + "color": "#f28e2b", + "label": null, "name": "Puerto Rico", "x": -0.3513201895764486, "y": 0.26447937989911013 }, { + "color": "#888888", + "label": null, "name": "Romania", "x": -0.18777913100679502, "y": 0.32834644808937796 }, { + "color": "#888888", + "label": null, "name": "Russia", "x": -0.20290216042671308, "y": 0.39898594766097434 }, { + "color": "#888888", + "label": null, "name": "Serbia", "x": -0.3042549694628824, "y": 0.36310433764281264 }, { + "color": "#e15759", + "label": null, "name": "Singapore", "x": -0.2345227370995448, "y": 0.39414713163714865 }, { + "color": "#4e79a7", + "label": null, "name": "Slovakia", "x": -0.36274437089527634, "y": 0.42741112797882286 }, { + "color": "#4e79a7", + "label": null, "name": "Slovenia", "x": -0.3898829991301483, "y": 0.5382587376026676 }, { + "color": "#e15759", + "label": "South Korea", "name": "South Korea", "x": -0.323098997995992, "y": 0.5796652366652367 }, { + "color": "#4e79a7", + "label": null, "name": "Spain", "x": -0.47164942718347297, "y": 0.46868098799908825 }, { + "color": "#4e79a7", + "label": "Sweden", "name": "Sweden", "x": -0.6703803299269019, "y": 0.6461499594342325 }, { + "color": "#4e79a7", + "label": null, "name": "Switzerland", "x": -0.5897355362828434, "y": 0.5298550141086323 }, { + "color": "#e15759", + "label": null, "name": "Taiwan ROC", "x": -0.3214688755688755, "y": 0.43132661232661235 }, { + "color": "#9c755f", + "label": null, "name": "Tajikistan", "x": -0.13512499999999994, "y": 0.28067047238475806 }, { + "color": "#888888", + "label": null, "name": "Thailand", "x": -0.2740718953888065, "y": 0.4148391067244298 }, { + "color": "#9c755f", + "label": null, "name": "Tunisia", "x": -0.14877471009391358, "y": 0.3089237903356695 }, { + "color": "#9c755f", + "label": "Turkey", "name": "Turkey", "x": -0.21463936457744862, "y": 0.27752480769341686 }, { + "color": "#888888", + "label": null, "name": "Ukraine", "x": -0.234649923433698, "y": 0.3830401025896393 }, { + "color": "#4e79a7", + "label": "United States", "name": "United States", "x": -0.5213565781484912, "y": 0.4336910509567847 }, { + "color": "#f28e2b", + "label": null, "name": "Uruguay", "x": -0.3659013275989292, "y": 0.41571633123039353 }, { + "color": "#f28e2b", + "label": null, "name": "Venezuela", "x": -0.26310707070707073, "y": 0.2285162464051353 }, { + "color": "#e15759", + "label": null, "name": "Vietnam", "x": -0.20836983650316981, "y": 0.4272976044880807 }, { + "color": "#9c755f", + "label": null, "name": "Zimbabwe", "x": -0.14614597549313435, "y": 0.17828757955153599 @@ -515,6 +695,21 @@ "source": "catalog created=2026-08-26" } }, + "logos": { + "claude": "logos/anthropic.svg", + "deepseek": "logos/deepseek.svg", + "gemini": "logos/google.svg", + "gemma": "logos/google.svg", + "glm": "logos/z-ai.svg", + "gpt": "logos/openai.svg", + "grok": "logos/x-ai.svg", + "inkling": "logos/thinkingmachines.svg", + "kimi": "logos/moonshotai.svg", + "llama": "logos/meta.svg", + "mistral": "logos/mistral.svg", + "muse": "logos/meta.svg", + "qwen": "logos/qwen.svg" + }, "median": { "x": -0.2875104140041075, "y": 0.36324768081177794 @@ -525,6 +720,15 @@ "family": "qwen", "label": null, "name": "qwen3.6-27b", + "provenance": { + "items": 12, + "protocol_id": "abf45a27f4bafad0eb264aac33b1e49e9d0404e141966954d0707930d56665e3", + "readout": "rated categorical response", + "release_created": "2026-04-27", + "release_source": "catalog", + "run_id": "20260916T141139Z_abf45a27f4ba", + "samples": 12 + }, "x": -0.45740779531102105, "y": 0.6795887184190553 }, @@ -533,6 +737,15 @@ "family": "qwen", "label": null, "name": "qwen3.5-35b-a3b", + "provenance": { + "items": 12, + "protocol_id": "7ee20ca2b88f69dd06b9de3018deea4cb7a418e3119e17862cd0b32146daae1a", + "readout": "rated categorical response", + "release_created": "2026-02-25", + "release_source": "catalog", + "run_id": "20260916T142959Z_7ee20ca2b88f", + "samples": 12 + }, "x": -0.538440257742794, "y": 0.5530118458934986 }, @@ -541,6 +754,15 @@ "family": "qwen", "label": null, "name": "qwen3.6-max-preview", + "provenance": { + "items": 12, + "protocol_id": "fa9ff591d389ad2d8a4b7e3fc1410ed588508fe286430c06a941180b0590422b", + "readout": "rated categorical response", + "release_created": "2026-04-27", + "release_source": "catalog", + "run_id": "20260916T140710Z_fa9ff591d389", + "samples": 12 + }, "x": -0.4805424128340796, "y": 0.6905543787488233 }, @@ -549,6 +771,15 @@ "family": "muse", "label": "muse-spark-1.3", "name": "muse-spark-1.3", + "provenance": { + "items": 12, + "protocol_id": "3c9d4fedebcab41719f4247ca94fa35430f57d0a34f3a539012e0632e35413de", + "readout": "rated categorical response", + "release_created": "2026-09-02", + "release_source": "catalog", + "run_id": "20260916T155331Z_3c9d4fedebca", + "samples": 12 + }, "x": -0.4253104631546661, "y": 0.731799663031547 }, @@ -557,6 +788,15 @@ "family": "qwen", "label": null, "name": "qwen3.8-27b", + "provenance": { + "items": 12, + "protocol_id": "ed8190c48b2a3778bba8afff7381bb9f1578211b5e8f750d21321b62617c82c3", + "readout": "rated categorical response", + "release_created": "2026-08-14", + "release_source": "catalog", + "run_id": "20260916T134026Z_ed8190c48b2a", + "samples": 12 + }, "x": -0.431934218610816, "y": 0.6881570439623662 }, @@ -565,6 +805,15 @@ "family": "qwen", "label": "qwen3.8-flash", "name": "qwen3.8-flash", + "provenance": { + "items": 12, + "protocol_id": "3443c17ae66d3fb529a058128b662024c4bc0601394e614bb693b388ec4c988b", + "readout": "rated categorical response", + "release_created": "2026-08-26", + "release_source": "catalog", + "run_id": "20260916T133720Z_3443c17ae66d", + "samples": 12 + }, "x": -0.4153054353054353, "y": 0.6346365065494385 }, @@ -573,6 +822,15 @@ "family": "gemma", "label": "gemma-4-31b-it", "name": "gemma-4-31b-it", + "provenance": { + "items": null, + "protocol_id": null, + "readout": "recovered rounded historical coordinate", + "release_created": null, + "release_source": "historical coordinate", + "run_id": null, + "samples": null + }, "x": -0.36, "y": 0.66 }, @@ -581,6 +839,15 @@ "family": "qwen", "label": null, "name": "qwen3.5-122b-a10b", + "provenance": { + "items": 12, + "protocol_id": "e0a9daef251d975c5e805e159f3813dd0c55b3f0919876b828e572b0530bea88", + "readout": "rated categorical response", + "release_created": "2026-02-25", + "release_source": "catalog", + "run_id": "20260916T143453Z_e0a9daef251d", + "samples": 12 + }, "x": -0.48469169991228817, "y": 0.6190010643383659 }, @@ -589,6 +856,15 @@ "family": "grok", "label": null, "name": "grok-4.20", + "provenance": { + "items": null, + "protocol_id": null, + "readout": "recovered rounded historical coordinate", + "release_created": null, + "release_source": "historical coordinate", + "run_id": null, + "samples": null + }, "x": -0.59, "y": 0.62 }, @@ -597,6 +873,15 @@ "family": "qwen", "label": null, "name": "qwen3.5-plus-20260420", + "provenance": { + "items": 12, + "protocol_id": "6d6ce30e9fbc5fdb07229b0a08e067d77511857069a4e572613d3e48b7c8b261", + "readout": "rated categorical response", + "release_created": "2026-04-27", + "release_source": "catalog", + "run_id": "20260916T135722Z_6d6ce30e9fbc", + "samples": 12 + }, "x": -0.5856201899951899, "y": 0.6494018547589976 }, @@ -605,6 +890,15 @@ "family": "gemini", "label": null, "name": "gemini-2.5-pro", + "provenance": { + "items": null, + "protocol_id": null, + "readout": "recovered rounded historical coordinate", + "release_created": null, + "release_source": "historical coordinate", + "run_id": null, + "samples": null + }, "x": -0.47, "y": 0.7 }, @@ -613,6 +907,15 @@ "family": "grok", "label": "grok-4.3", "name": "grok-4.3", + "provenance": { + "items": null, + "protocol_id": null, + "readout": "recovered rounded historical coordinate", + "release_created": null, + "release_source": "historical coordinate", + "run_id": null, + "samples": null + }, "x": -0.44, "y": 0.73 }, @@ -621,6 +924,15 @@ "family": "deepseek", "label": null, "name": "deepseek-v4-flash", + "provenance": { + "items": null, + "protocol_id": null, + "readout": "recovered rounded historical coordinate", + "release_created": null, + "release_source": "historical coordinate", + "run_id": null, + "samples": null + }, "x": -0.57, "y": 0.64 }, @@ -629,6 +941,15 @@ "family": "gpt", "label": null, "name": "gpt-5.4", + "provenance": { + "items": null, + "protocol_id": null, + "readout": "recovered rounded historical coordinate", + "release_created": null, + "release_source": "historical coordinate", + "run_id": null, + "samples": null + }, "x": -0.45, "y": 0.68 }, @@ -637,6 +958,15 @@ "family": "deepseek", "label": "deepseek-v4.1-flash", "name": "deepseek-v4.1-flash", + "provenance": { + "items": 12, + "protocol_id": "8c27d32cd851de5f217cb354b15dc270cc6f4ec2d02fb15dbb20fde0790c3571", + "readout": "rated categorical response", + "release_created": "2026-09-10", + "release_source": "catalog", + "run_id": "20260916T151414Z_8c27d32cd851", + "samples": 12 + }, "x": -0.5419602854216832, "y": 0.595896730624977 }, @@ -645,6 +975,15 @@ "family": "qwen", "label": null, "name": "qwen3-coder-30b-a3b-instruct", + "provenance": { + "items": 12, + "protocol_id": "39659697ca3437f62be4fb8e129e6b3902a91b5acac3243ca914dfc917dd563b", + "readout": "rated categorical response", + "release_created": "2025-07-31", + "release_source": "catalog", + "run_id": "20260916T194257Z_39659697ca34", + "samples": 12 + }, "x": -0.5030952380952382, "y": 0.5846967846967848 }, @@ -653,6 +992,15 @@ "family": "qwen", "label": null, "name": "qwen3-30b-a3b", + "provenance": { + "items": 12, + "protocol_id": "8700e79d3eccf358a0de1029f7b40e2db339bb6d11403b8e69cb7a66a7b0c668", + "readout": "rated categorical response", + "release_created": "2025-04-28", + "release_source": "catalog", + "run_id": "20260916T145439Z_8700e79d3ecc", + "samples": 12 + }, "x": -0.6707823388714307, "y": 0.6060018656291949 }, @@ -661,6 +1009,15 @@ "family": "gpt", "label": "gpt-6-astra", "name": "gpt-6-astra", + "provenance": { + "items": 12, + "protocol_id": "95bb4d3939e9937823357b5cd87adb1a6640cc5b04e0841dfec03095331a5e44", + "readout": "rated categorical response", + "release_created": "2026-09-04", + "release_source": "catalog", + "run_id": "20260916T154406Z_95bb4d3939e9", + "samples": 12 + }, "x": -0.4569019748367575, "y": 0.6751145899955423 }, @@ -669,6 +1026,15 @@ "family": "mistral", "label": "mistral-large-2512", "name": "mistral-large-2512", + "provenance": { + "items": null, + "protocol_id": null, + "readout": "recovered rounded historical coordinate", + "release_created": null, + "release_source": "historical coordinate", + "run_id": null, + "samples": null + }, "x": -0.65, "y": 0.64 }, @@ -677,6 +1043,15 @@ "family": "gemma", "label": null, "name": "gemma-3-27b-it", + "provenance": { + "items": null, + "protocol_id": null, + "readout": "recovered rounded historical coordinate", + "release_created": null, + "release_source": "historical coordinate", + "run_id": null, + "samples": null + }, "x": -0.6, "y": 0.6 }, @@ -685,6 +1060,15 @@ "family": "llama", "label": "llama-4-maverick", "name": "llama-4-maverick", + "provenance": { + "items": null, + "protocol_id": null, + "readout": "recovered rounded historical coordinate", + "release_created": null, + "release_source": "historical coordinate", + "run_id": null, + "samples": null + }, "x": -0.64, "y": 0.64 }, @@ -693,6 +1077,15 @@ "family": "qwen", "label": null, "name": "qwen3-coder", + "provenance": { + "items": 12, + "protocol_id": "304db4b1aa6c80d734f802749c75143feddfcdb740c4131385e927148ba7d05b", + "readout": "rated categorical response", + "release_created": "2025-07-23", + "release_source": "catalog", + "run_id": "20260916T195554Z_304db4b1aa6c", + "samples": 12 + }, "x": -0.598778659611993, "y": 0.6204503168788883 }, @@ -701,6 +1094,15 @@ "family": "qwen", "label": null, "name": "qwen3.7-flash", + "provenance": { + "items": 12, + "protocol_id": "82875b6ee164d0d980eba738bf05f69959234567b91f9cfd01fcabca0bd70dac", + "readout": "rated categorical response", + "release_created": "2026-07-27", + "release_source": "catalog", + "run_id": "20260916T133001Z_82875b6ee164", + "samples": 12 + }, "x": -0.6529354469060352, "y": 0.5885508561103798 }, @@ -709,6 +1111,15 @@ "family": "qwen", "label": null, "name": "qwen3-vl-235b-a22b-instruct", + "provenance": { + "items": 12, + "protocol_id": "61ab1adae3781ca3893328a845d4d517daa5fb47e07ea189da1df45388f62d42", + "readout": "rated categorical response", + "release_created": "2025-09-23", + "release_source": "catalog", + "run_id": "20260916T192432Z_61ab1adae378", + "samples": 12 + }, "x": -0.5993276014109347, "y": 0.5462479278681369 }, @@ -717,6 +1128,15 @@ "family": "qwen", "label": null, "name": "qwen-plus", + "provenance": { + "items": 12, + "protocol_id": "88ba5af838eda5d298b312553d7c941e72a37cbf28890cdb9d8436b5f40e7cfe", + "readout": "rated categorical response", + "release_created": "2025-02-01", + "release_source": "catalog", + "run_id": "20260916T200626Z_88ba5af838ed", + "samples": 12 + }, "x": -0.6025617283950616, "y": 0.6287037037037038 }, @@ -725,6 +1145,15 @@ "family": "gpt", "label": null, "name": "gpt-5.3-chat", + "provenance": { + "items": null, + "protocol_id": null, + "readout": "recovered rounded historical coordinate", + "release_created": null, + "release_source": "historical coordinate", + "run_id": null, + "samples": null + }, "x": -0.5, "y": 0.67 }, @@ -733,6 +1162,15 @@ "family": "deepseek", "label": null, "name": "deepseek-v4-pro", + "provenance": { + "items": null, + "protocol_id": null, + "readout": "recovered rounded historical coordinate", + "release_created": null, + "release_source": "historical coordinate", + "run_id": null, + "samples": null + }, "x": -0.55, "y": 0.73 }, @@ -741,6 +1179,15 @@ "family": "llama", "label": null, "name": "llama-4-scout", + "provenance": { + "items": null, + "protocol_id": null, + "readout": "recovered rounded historical coordinate", + "release_created": null, + "release_source": "historical coordinate", + "run_id": null, + "samples": null + }, "x": -0.62, "y": 0.53 }, @@ -749,6 +1196,15 @@ "family": "qwen", "label": null, "name": "qwen3-vl-30b-a3b-instruct", + "provenance": { + "items": 12, + "protocol_id": "0a798666aeed20785b4661c8c2fe4a6fc6853796bc2f3c45133863469e5b3f82", + "readout": "rated categorical response", + "release_created": "2025-10-06", + "release_source": "catalog", + "run_id": "20260916T192223Z_0a798666aeed", + "samples": 12 + }, "x": -0.5335737179487179, "y": 0.5337214372928658 }, @@ -757,6 +1213,15 @@ "family": "qwen", "label": null, "name": "qwen3.5-397b-a17b", + "provenance": { + "items": 12, + "protocol_id": "921707cb0d3db143e948e9d78cd8191f4ee720eaf56b6934e2d13d9ce9e3382f", + "readout": "rated categorical response", + "release_created": "2026-02-16", + "release_source": "catalog", + "run_id": "20260916T144546Z_921707cb0d3d", + "samples": 12 + }, "x": -0.5408168991502326, "y": 0.6493278669204595 }, @@ -765,6 +1230,15 @@ "family": "qwen", "label": null, "name": "qwen3.5-plus-02-15", + "provenance": { + "items": 12, + "protocol_id": "74e3649a6961000bab284e801fe811d5c8fc4cf1db15af52bb10959f5a5a37c1", + "readout": "rated categorical response", + "release_created": "2026-02-16", + "release_source": "catalog", + "run_id": "20260916T144205Z_74e3649a6961", + "samples": 12 + }, "x": -0.5372045855379188, "y": 0.6595114541543113 }, @@ -773,6 +1247,15 @@ "family": "glm", "label": "glm-5.3", "name": "glm-5.3", + "provenance": { + "items": 12, + "protocol_id": "d81f7e66b3c4c720f8dd80768d3dfc25de6edeaf6a352cfed40e961f21fcfa22", + "readout": "rated categorical response", + "release_created": "2026-08-18", + "release_source": "catalog", + "run_id": "20260916T161456Z_d81f7e66b3c4", + "samples": 12 + }, "x": -0.5535321928702047, "y": 0.6422322099171051 }, @@ -781,6 +1264,15 @@ "family": "qwen", "label": null, "name": "qwen3.7-plus", + "provenance": { + "items": 12, + "protocol_id": "f095e0d2dbafdb91b51be3d0b3bd5a597730c8e3c397e0461023c87e924d92f8", + "readout": "rated categorical response", + "release_created": "2026-06-03", + "release_source": "catalog", + "run_id": "20260916T134925Z_f095e0d2dbaf", + "samples": 12 + }, "x": -0.5078196649029982, "y": 0.6664359119716262 }, @@ -789,6 +1281,15 @@ "family": "qwen", "label": null, "name": "qwen3-30b-a3b-instruct-2507", + "provenance": { + "items": 12, + "protocol_id": "88ed922f271a76721ad18f0b7bb9693a48377e2507d02a4b78fa08b451972d83", + "readout": "rated categorical response", + "release_created": "2025-07-29", + "release_source": "catalog", + "run_id": "20260916T195128Z_88ed922f271a", + "samples": 12 + }, "x": -0.6450907949109246, "y": 0.5437992771640354 }, @@ -797,6 +1298,15 @@ "family": "gpt", "label": null, "name": "gpt-5.5", + "provenance": { + "items": null, + "protocol_id": null, + "readout": "recovered rounded historical coordinate", + "release_created": null, + "release_source": "historical coordinate", + "run_id": null, + "samples": null + }, "x": -0.42, "y": 0.76 }, @@ -805,6 +1315,15 @@ "family": "qwen", "label": null, "name": "qwen3.6-35b-a3b", + "provenance": { + "items": 12, + "protocol_id": "b35b916c22649e91ded175aede34f3937a16f42a354f7abab01a17bf2b0dfc97", + "readout": "rated categorical response", + "release_created": "2026-04-27", + "release_source": "catalog", + "run_id": "20260916T140418Z_b35b916c2264", + "samples": 12 + }, "x": -0.6062280543530544, "y": 0.5943180448406931 }, @@ -813,6 +1332,15 @@ "family": "qwen", "label": null, "name": "qwen3.6-flash", + "provenance": { + "items": 12, + "protocol_id": "fa37fc90604e5032183ec460bcc2632507566c3be3e9085f61a6ca85582b7d47", + "readout": "rated categorical response", + "release_created": "2026-04-27", + "release_source": "catalog", + "run_id": "20260916T140130Z_fa37fc90604e", + "samples": 12 + }, "x": -0.6514346395123706, "y": 0.583014517676874 }, @@ -821,6 +1349,15 @@ "family": "qwen", "label": null, "name": "qwen3.6-plus", + "provenance": { + "items": 12, + "protocol_id": "96d86b64bf7ceff8eed0daff1aa0396ee69609b5867942a7c2c9d33093f03c9d", + "readout": "rated categorical response", + "release_created": "2026-04-02", + "release_source": "catalog", + "run_id": "20260916T141839Z_96d86b64bf7c", + "samples": 12 + }, "x": -0.5196778711484593, "y": 0.6698994127565557 }, @@ -829,6 +1366,15 @@ "family": "qwen", "label": null, "name": "qwen3-235b-a22b", + "provenance": { + "items": 12, + "protocol_id": "842298c634ec0f57848b605f67fca161631a852a68192cae1a5377b1d9f31566", + "readout": "rated categorical response", + "release_created": "2025-04-28", + "release_source": "catalog", + "run_id": "20260916T150950Z_842298c634ec", + "samples": 12 + }, "x": -0.6427511094043352, "y": 0.5554953612269281 }, @@ -837,6 +1383,15 @@ "family": "qwen", "label": null, "name": "qwen-2.5-72b-instruct", + "provenance": { + "items": 12, + "protocol_id": "9c1d40b30945565e488b212177e40c29f730c2e96d4b07d09cbc135ba75a81f0", + "readout": "rated categorical response", + "release_created": "2024-09-19", + "release_source": "catalog", + "run_id": "20260916T201119Z_9c1d40b30945", + "samples": 12 + }, "x": -0.6026546601546601, "y": 0.5957470912477916 }, @@ -845,6 +1400,15 @@ "family": "qwen", "label": null, "name": "qwen-plus-2025-07-28", + "provenance": { + "items": 12, + "protocol_id": "ac52652ff1f09e1f1972a8b751e1b1deca329cb555df54755aada79791bed940", + "readout": "rated categorical response", + "release_created": "2025-09-08", + "release_source": "catalog", + "run_id": "20260916T194044Z_ac52652ff1f0", + "samples": 12 + }, "x": -0.6417361111111111, "y": 0.5127110103300581 }, @@ -853,6 +1417,15 @@ "family": "qwen", "label": null, "name": "qwen3.7-max", + "provenance": { + "items": 12, + "protocol_id": "1c31668055e399de28805046bc08075035efbad0cdb1ff7d8926841a282e07a5", + "readout": "rated categorical response", + "release_created": "2026-05-21", + "release_source": "catalog", + "run_id": "20260916T135329Z_1c31668055e3", + "samples": 12 + }, "x": -0.5036638266417679, "y": 0.6503283973522069 }, @@ -861,6 +1434,15 @@ "family": "qwen", "label": null, "name": "qwen3-235b-a22b-2507", + "provenance": { + "items": 12, + "protocol_id": "dc09c3fe433c95591b336b279603c546152daf6534d90699323b3bcde754f5bf", + "readout": "rated categorical response", + "release_created": "2025-07-21", + "release_source": "catalog", + "run_id": "20260916T195827Z_dc09c3fe433c", + "samples": 12 + }, "x": -0.6353621031746031, "y": 0.5685931857310826 }, @@ -869,6 +1451,15 @@ "family": "qwen", "label": null, "name": "qwen3.5-9b", + "provenance": { + "items": 12, + "protocol_id": "3016d2c1ab8d8f88f01723d2d695be996c7f1fdcd442a51cfbb6c7b7110a25e9", + "readout": "rated categorical response", + "release_created": "2026-03-10", + "release_source": "catalog", + "run_id": "20260916T142212Z_3016d2c1ab8d", + "samples": 12 + }, "x": -0.5017202097104058, "y": 0.5916881018254176 }, @@ -877,6 +1468,15 @@ "family": "qwen", "label": null, "name": "qwen2.5-vl-72b-instruct", + "provenance": { + "items": 12, + "protocol_id": "02d386b067d55e0639d33db8b6f1e5c708c30acbada3125dcbabde47dc90edcf", + "readout": "rated categorical response", + "release_created": "2025-02-01", + "release_source": "catalog", + "run_id": "20260916T200346Z_02d386b067d5", + "samples": 12 + }, "x": -0.5849525883130219, "y": 0.59521139256589 }, @@ -885,6 +1485,15 @@ "family": "qwen", "label": null, "name": "qwen3-vl-32b-instruct", + "provenance": { + "items": 12, + "protocol_id": "43ddc43fb5a29c7fbf21c8f32b42a909c2118feb9255959ecaeab7dadb1f3dde", + "readout": "rated categorical response", + "release_created": "2025-10-23", + "release_source": "catalog", + "run_id": "20260916T191809Z_43ddc43fb5a2", + "samples": 12 + }, "x": -0.5966931216931217, "y": 0.5338064713064713 }, @@ -893,6 +1502,15 @@ "family": "gpt", "label": null, "name": "gpt-5.6-sol", + "provenance": { + "items": 12, + "protocol_id": "1a70f47789af20900f2799992b09e83af9490be6579098a6178d613d5ba7856c", + "readout": "rated categorical response", + "release_created": "2026-07-09", + "release_source": "catalog", + "run_id": "20260916T152843Z_1a70f47789af", + "samples": 12 + }, "x": -0.5274474357644292, "y": 0.6650744376984001 }, @@ -901,6 +1519,15 @@ "family": "qwen", "label": null, "name": "qwen3-max-thinking", + "provenance": { + "items": 12, + "protocol_id": "bca0745bdc1554718d57891098f366214f05e9e896007a916d14a06efa33471a", + "readout": "rated categorical response", + "release_created": "2026-02-09", + "release_source": "catalog", + "run_id": "20260916T145109Z_bca0745bdc15", + "samples": 12 + }, "x": -0.5778139029180694, "y": 0.6959770802908057 }, @@ -909,6 +1536,15 @@ "family": "qwen", "label": null, "name": "qwen3-coder-plus", + "provenance": { + "items": 12, + "protocol_id": "182a7e88869698133f1175f18e53e7f6f2f056739559d325b211bd065235a71c", + "readout": "rated categorical response", + "release_created": "2025-09-23", + "release_source": "catalog", + "run_id": "20260916T193258Z_182a7e888696", + "samples": 12 + }, "x": -0.6175297619047618, "y": 0.5976147806792967 }, @@ -917,6 +1553,15 @@ "family": "inkling", "label": "inkling", "name": "inkling", + "provenance": { + "items": 12, + "protocol_id": "67a70b1b03ba85be79dc122cc888a080fde239205624135a9147168e7e77293d", + "readout": "rated categorical response", + "release_created": "2026-07-17", + "release_source": "catalog", + "run_id": "20260916T191343Z_67a70b1b03ba", + "samples": 12 + }, "x": -0.5614798614630517, "y": 0.6880988993033613 }, @@ -925,6 +1570,15 @@ "family": "qwen", "label": null, "name": "qwen3-vl-8b-instruct", + "provenance": { + "items": 12, + "protocol_id": "1d7f4015decbcbe955adb79817b970981ca1d3165ed121b458b213ba1060f675", + "readout": "rated categorical response", + "release_created": "2025-10-14", + "release_source": "catalog", + "run_id": "20260916T192044Z_1d7f4015decb", + "samples": 12 + }, "x": -0.6061818582651916, "y": 0.6004689754689754 }, @@ -933,6 +1587,15 @@ "family": "qwen", "label": null, "name": "qwen-2.5-7b-instruct", + "provenance": { + "items": 12, + "protocol_id": "66ad076e1a37493e4d3db982a0220048e520103459cefc709bc8f09f3fef6c9a", + "readout": "rated categorical response", + "release_created": "2024-10-16", + "release_source": "catalog", + "run_id": "20260916T200857Z_66ad076e1a37", + "samples": 12 + }, "x": -0.5509667037841642, "y": 0.5895236753978316 }, @@ -941,6 +1604,15 @@ "family": "kimi", "label": "kimi-k3", "name": "kimi-k3", + "provenance": { + "items": 12, + "protocol_id": "0043a43d1a2188f7c728ccda08eee7b062232366d8a4e912c72bdc938e37fe44", + "readout": "rated categorical response", + "release_created": "2026-07-16", + "release_source": "catalog", + "run_id": "20260916T152010Z_0043a43d1a21", + "samples": 12 + }, "x": -0.6214472858835399, "y": 0.6710244268262847 }, @@ -949,6 +1621,15 @@ "family": "qwen", "label": null, "name": "qwen3.5-27b", + "provenance": { + "items": 12, + "protocol_id": "7058adf367d238c6c92e1b83ae71f6556362e9fc7a243297b6fc65e54e2c2886", + "readout": "rated categorical response", + "release_created": "2026-02-25", + "release_source": "catalog", + "run_id": "20260916T143235Z_7058adf367d2", + "samples": 12 + }, "x": -0.5974338624338624, "y": 0.6515634387658198 }, @@ -957,6 +1638,15 @@ "family": "qwen", "label": null, "name": "qwen3-32b", + "provenance": { + "items": 12, + "protocol_id": "580a5840948209ecb177dc6fdaf36e265a32ccfe223d791eb3235fea9269f27e", + "readout": "rated categorical response", + "release_created": "2025-04-28", + "release_source": "catalog", + "run_id": "20260916T150406Z_580a58409482", + "samples": 12 + }, "x": -0.6064902599972044, "y": 0.5413085527420844 }, @@ -965,6 +1655,15 @@ "family": "qwen", "label": null, "name": "qwen3-14b", + "provenance": { + "items": 12, + "protocol_id": "49ae9f7a09090534a15fac734c2611c445a17139cad6c5684fa0581722f3fd70", + "readout": "rated categorical response", + "release_created": "2025-04-28", + "release_source": "catalog", + "run_id": "20260916T150121Z_49ae9f7a0909", + "samples": 12 + }, "x": -0.6137896825396826, "y": 0.5819444444444445 }, @@ -973,6 +1672,15 @@ "family": "qwen", "label": null, "name": "qwen3-coder-next", + "provenance": { + "items": 12, + "protocol_id": "57bed80fd5b94157effe68fe998c7c12612fea210c1371dbf230097a7e8e0717", + "readout": "rated categorical response", + "release_created": "2026-02-04", + "release_source": "catalog", + "run_id": "20260916T191559Z_57bed80fd5b9", + "samples": 12 + }, "x": -0.6363133579397021, "y": 0.5792251640447779 }, @@ -981,6 +1689,15 @@ "family": "qwen", "label": null, "name": "qwen3-next-80b-a3b-instruct", + "provenance": { + "items": 12, + "protocol_id": "9d8a5189c078672eb884784938b183944fb161d0e716e2c44722540b17603e34", + "readout": "rated categorical response", + "release_created": "2025-09-11", + "release_source": "catalog", + "run_id": "20260916T193846Z_9d8a5189c078", + "samples": 12 + }, "x": -0.6652380952380952, "y": 0.7022990677752582 }, @@ -989,6 +1706,15 @@ "family": "claude", "label": null, "name": "claude-opus-4.7", + "provenance": { + "items": null, + "protocol_id": null, + "readout": "recovered rounded historical coordinate", + "release_created": null, + "release_source": "historical coordinate", + "run_id": null, + "samples": null + }, "x": -0.59, "y": 0.6 }, @@ -997,6 +1723,15 @@ "family": "qwen", "label": null, "name": "qwen3-8b", + "provenance": { + "items": 12, + "protocol_id": "589e10fa7924ecf8f88650d6587ff37c440f47c6c4cc4325c7009ef8d4eeb4ec", + "readout": "rated categorical response", + "release_created": "2025-04-28", + "release_source": "catalog", + "run_id": "20260916T181355Z_589e10fa7924", + "samples": 12 + }, "x": -0.6217724867724868, "y": 0.5391326046087952 }, @@ -1005,6 +1740,15 @@ "family": "claude", "label": null, "name": "claude-opus-4.8", + "provenance": { + "items": null, + "protocol_id": null, + "readout": "recovered rounded historical coordinate", + "release_created": null, + "release_source": "historical coordinate", + "run_id": null, + "samples": null + }, "x": -0.61, "y": 0.58 }, @@ -1013,6 +1757,15 @@ "family": "gemini", "label": "gemini-3.7-flash", "name": "gemini-3.7-flash", + "provenance": { + "items": 12, + "protocol_id": "cd5db529649a179032180cecafe4fd98aff124ee3654f7d60996de704e2b63ef", + "readout": "rated categorical response", + "release_created": "2026-08-13", + "release_source": "catalog", + "run_id": "20260916T172946Z_cd5db529649a", + "samples": 12 + }, "x": -0.4988977072310405, "y": 0.6262540369683227 }, @@ -1021,6 +1774,15 @@ "family": "claude", "label": "fable-5.1", "name": "claude-fable-5.1", + "provenance": { + "items": 12, + "protocol_id": "4230ccaa1e160c793a906aef6b786d735d9fdbf71c3333691b0eba17dcf33928", + "readout": "rated categorical response", + "release_created": "2026-09-01", + "release_source": "catalog", + "run_id": "20260916T153341Z_4230ccaa1e16", + "samples": 12 + }, "x": -0.5790919024614678, "y": 0.6085929478125246 }, @@ -1029,11 +1791,1232 @@ "family": "claude", "label": null, "name": "claude-opus-4.6", + "provenance": { + "items": null, + "protocol_id": null, + "readout": "recovered rounded historical coordinate", + "release_created": null, + "release_source": "historical coordinate", + "run_id": null, + "samples": null + }, "x": -0.63, "y": 0.63 } ], - "schema": 1, + "note": "64 models, rated sampling\ngithub.com/wassname/moral-maps", + "schema": 2, + "title": "Frontier LLMs on the\nWorld Values Survey", + "zone_hulls": [ + { + "color": "#4e79a7", + "label_anchor": [ + -0.43268888190925825, + 0.4642827580345273 + ], + "name": "West", + "points": [ + [ + -0.17857875212949284, + 0.2908339802210258 + ], + [ + -0.1783106503900921, + 0.289102852700942 + ], + [ + -0.1782136228163886, + 0.2873537767496459 + ], + [ + -0.1782886049575384, + 0.28560361712493454 + ], + [ + -0.17853487382855696, + 0.28386924903348787 + ], + [ + -0.17895005488140955, + 0.28216739541850994 + ], + [ + -0.17953014490063088, + 0.28051446571550953 + ], + [ + -0.18026955060271177, + 0.2789263976309516 + ], + [ + -0.18116114256707436, + 0.2774185034693656 + ], + [ + -0.182196323978628, + 0.2760053224906389 + ], + [ + -0.18336511351908352, + 0.274700480721081 + ], + [ + -0.1846562416077798, + 0.2735165595699731 + ], + [ + -0.18605725906405965, + 0.27246497451841506 + ], + [ + -0.18755465714346164, + 0.27155586505016366 + ], + [ + -0.18913399779032777, + 0.2707979968857593 + ], + [ + -0.19078005285091854, + 0.2701986774626094 + ], + [ + -0.1924769509047293, + 0.26976368547597696 + ], + [ + -0.1942083302982466, + 0.2694972151602478 + ], + [ + -0.19595749690557795, + 0.2694018358477208 + ], + [ + -0.1977075850948121, + 0.2694784671948599 + ], + [ + -0.19944172034805682, + 0.26972637031487856 + ], + [ + -0.31874855352210296, + 0.29280875988324145 + ], + [ + -0.32010061508748616, + 0.2931253921340985 + ], + [ + -0.32142395276157676, + 0.29354622922752266 + ], + [ + -0.3244490903329577, + 0.2946396289999516 + ], + [ + -0.3258989984101781, + 0.29523696467850785 + ], + [ + -0.32729084952930165, + 0.29595931764448763 + ], + [ + -0.5699189132561547, + 0.43574567226745886 + ], + [ + -0.5712051861046438, + 0.436561799076659 + ], + [ + -0.5724171441578283, + 0.4374846850321141 + ], + [ + -0.7126354679428579, + 0.5540436519317906 + ], + [ + -0.7139020336901016, + 0.5552040494077135 + ], + [ + -0.7150511249536717, + 0.5564808815666936 + ], + [ + -0.7160720880227768, + 0.5578623103581059 + ], + [ + -0.716955457117272, + 0.5593355279717358 + ], + [ + -0.7176930421489086, + 0.560886875584402 + ], + [ + -0.7182780046551025, + 0.5625019699966783 + ], + [ + -0.7187049212012125, + 0.564165836985616 + ], + [ + -0.7189698336634947, + 0.565863050137093 + ], + [ + -0.7190702859265404, + 0.5675778738706202 + ], + [ + -0.7190053466549609, + 0.5692944093305585 + ], + [ + -0.7187756179281908, + 0.5709967417911301 + ], + [ + -0.7183832296583555, + 0.5726690882085672 + ], + [ + -0.7178318198429557, + 0.5742959435523823 + ], + [ + -0.6869807156035405, + 0.6526834051945076 + ], + [ + -0.6862467027740711, + 0.65430575067667 + ], + [ + -0.6853546148628198, + 0.6558468408284513 + ], + [ + -0.6843133396521984, + 0.6572913219231922 + ], + [ + -0.6831332512627235, + 0.6586248027405811 + ], + [ + -0.6818261067966938, + 0.6598339979449407 + ], + [ + -0.6804049292033592, + 0.6609068604456935 + ], + [ + -0.6788838775325828, + 0.6618327014213189 + ], + [ + -0.6772781058696477, + 0.6626022968110091 + ], + [ + -0.6756036123566234, + 0.6632079792130628 + ], + [ + -0.6738770798044814, + 0.6636437142744391 + ], + [ + -0.6721157094839225, + 0.6639051608104118 + ], + [ + -0.6703370497508405, + 0.6639897140553579 + ], + [ + -0.668558821213813, + 0.6638965316137759 + ], + [ + -0.6667987401854544, + 0.6636265418529883 + ], + [ + -0.6650743421765698, + 0.6631824346539101 + ], + [ + -0.3929875212242028, + 0.5784214518619218 + ], + [ + -0.3907112850059309, + 0.5775373077574255 + ], + [ + -0.26258342209313557, + 0.5173766542326732 + ], + [ + -0.26108031493810374, + 0.5165813513689315 + ], + [ + -0.25965976107117233, + 0.5156465441825394 + ], + [ + -0.25833466826543666, + 0.5145807267400234 + ], + [ + -0.2571170768930816, + 0.5133935835243371 + ], + [ + -0.2184779294841167, + 0.47194888191316964 + ], + [ + -0.2174234717642568, + 0.47070897507942905 + ], + [ + -0.21648641049707001, + 0.4693781233893947 + ], + [ + -0.2156745459703651, + 0.46796740512212553 + ], + [ + -0.2149946363089219, + 0.4664885633822477 + ], + [ + -0.2144523412184917, + 0.4649539083479732 + ], + [ + -0.2140521748732601, + 0.4633762147986827 + ], + [ + -0.17857875212949284, + 0.2908339802210258 + ] + ] + }, + { + "color": "#9c755f", + "label_anchor": [ + -0.2622644007371132, + 0.3109275468936789 + ], + "name": "African-Islamic", + "points": [ + [ + -0.04555729505468737, + 0.15239687075610253 + ], + [ + -0.045073902766880836, + 0.15071166197351435 + ], + [ + -0.044758254795397544, + 0.1489871437500903 + ], + [ + -0.04461339952358866, + 0.14723997069196115 + ], + [ + -0.044640735897238076, + 0.1454870161952617 + ], + [ + -0.04483999991418568, + 0.143745209490609 + ], + [ + -0.04520926717393907, + 0.142031372148357 + ], + [ + -0.04574497146265101, + 0.14036205562358442 + ], + [ + -0.04644193919397727, + 0.1387533814097322 + ], + [ + -0.047293439373200935, + 0.13722088534461319 + ], + [ + -0.04829124860209249, + 0.13577936757241543 + ], + [ + -0.04942573049671865, + 0.1344427496106969 + ], + [ + -0.05068592875121912, + 0.13322393990275347 + ], + [ + -0.052059672948783955, + 0.13213470915379338 + ], + [ + -0.05353369609795772, + 0.1311855766548645 + ], + [ + -0.055093762759158685, + 0.1303857086923654 + ], + [ + -0.05672480652402587, + 0.12974283002425527 + ], + [ + -0.05841107551988145, + 0.12926314927788393 + ], + [ + -0.060136284534093254, + 0.1289512989899163 + ], + [ + -0.06188377228918987, + 0.12881029086741777 + ], + [ + -0.06363666234983753, + 0.12884148670216855 + ], + [ + -0.15715787539196804, + 0.13511220803969137 + ], + [ + -0.15880289421160895, + 0.13529950854132144 + ], + [ + -0.16042346479046224, + 0.13563850617234377 + ], + [ + -0.16200562912329639, + 0.13612628113971195 + ], + [ + -0.16353575999860767, + 0.13675863222835083 + ], + [ + -0.16500067837005203, + 0.1375301129863017 + ], + [ + -0.16638776686782208, + 0.13843407863511673 + ], + [ + -0.2884088489342927, + 0.22628299582650832 + ], + [ + -0.2885694221592832, + 0.22639996324587355 + ], + [ + -0.32760440012904546, + 0.25516849674579306 + ], + [ + -0.3288716885559032, + 0.256195089220871 + ], + [ + -0.3300399276971503, + 0.2573331267314972 + ], + [ + -0.3310993537561906, + 0.2585730978973557 + ], + [ + -0.493940819269103, + 0.46782359815856556 + ], + [ + -0.4949297872570141, + 0.4692292160830342 + ], + [ + -0.4957789073125994, + 0.47072347662320224 + ], + [ + -0.49648029859182713, + 0.47229251126403193 + ], + [ + -0.49702745134941423, + 0.4739217574978975 + ], + [ + -0.4974152873570044, + 0.47559609398197616 + ], + [ + -0.49764020703516776, + 0.4772999808822942 + ], + [ + -0.4977001228617787, + 0.47901760410186883 + ], + [ + -0.49759447874670437, + 0.4807330220543371 + ], + [ + -0.4973242551929824, + 0.48243031362083777 + ], + [ + -0.4968919601965863, + 0.4840937259169302 + ], + [ + -0.49630160596924044, + 0.48570782049809796 + ], + [ + -0.49555867170032264, + 0.4872576166468762 + ], + [ + -0.4946700527034704, + 0.48872873041172704 + ], + [ + -0.49364399641986906, + 0.49010750810721776 + ], + [ + -0.49249002587218843, + 0.4913811530364606 + ], + [ + -0.49121885127960624, + 0.49253784425968045 + ], + [ + -0.4898422706542353, + 0.49356684630659475 + ], + [ + -0.48837306030153943, + 0.4944586088143465 + ], + [ + -0.48682485624102273, + 0.49520485516623036 + ], + [ + -0.48521202764775045, + 0.4957986593085397 + ], + [ + -0.4835495434893141, + 0.49623451003258257 + ], + [ + -0.4818528335960087, + 0.49650836212525307 + ], + [ + -0.48013764545365584, + 0.4966176739134205 + ], + [ + -0.4784198980482055, + 0.49656143085367865 + ], + [ + -0.4767155341186134, + 0.49634015494851574 + ], + [ + -0.4750403721892612, + 0.49595589990150996 + ], + [ + -0.47340995975523653, + 0.4954122320565181 + ], + [ + -0.13663399291357853, + 0.3647708654430001 + ], + [ + -0.13495467198282562, + 0.3640175904385825 + ], + [ + -0.13336190007971108, + 0.3630952999824929 + ], + [ + -0.13187263064947974, + 0.36201381092340645 + ], + [ + -0.13050271545828274, + 0.36078463461804067 + ], + [ + -0.12926673586716653, + 0.3594208544044104 + ], + [ + -0.12817784762823897, + 0.3579369863429338 + ], + [ + -0.1272476408549999, + 0.35634882470765694 + ], + [ + -0.09231736974264501, + 0.28896481094100157 + ], + [ + -0.09174761631627085, + 0.2877571039557324 + ], + [ + -0.09126979569195023, + 0.28651016266597296 + ], + [ + -0.04555729505468737, + 0.15239687075610253 + ] + ] + }, + { + "color": "#e15759", + "label_anchor": [ + -0.32462922740218986, + 0.5028837727633183 + ], + "name": "East Asia", + "points": [ + [ + -0.22051677418525356, + 0.3830976193873204 + ], + [ + -0.22169646884171426, + 0.38174771388090806 + ], + [ + -0.22300568911252247, + 0.3805230234542168 + ], + [ + -0.2244312138832836, + 0.37943591560001333 + ], + [ + -0.22595864754274197, + 0.3784973684383438 + ], + [ + -0.22757256535634976, + 0.3777168598543783 + ], + [ + -0.22925666923240082, + 0.37710227178632444 + ], + [ + -0.23099395230773073, + 0.3766598106299541 + ], + [ + -0.23276687069092042, + 0.3763939445635365 + ], + [ + -0.23455752062866034, + 0.37630735842609836 + ], + [ + -0.23634781930616713, + 0.37640092660467267 + ], + [ + -0.23811968745584658, + 0.3766737042043321 + ], + [ + -0.23985523193013483, + 0.3771229365901769 + ], + [ + -0.24153692639481367, + 0.37774408720491776 + ], + [ + -0.32848306486414436, + 0.41492356789438145 + ], + [ + -0.33056608400246856, + 0.4159806188158823 + ], + [ + -0.40753175477545023, + 0.4616063874416509 + ], + [ + -0.40897279723053936, + 0.4625577991132724 + ], + [ + -0.4103151060979531, + 0.46364407459892487 + ], + [ + -0.4115461051948268, + 0.4648550365098713 + ], + [ + -0.4126542612070894, + 0.46617933926179517 + ], + [ + -0.4136291917458653, + 0.4676045753723499 + ], + [ + -0.4144617626207804, + 0.46911739170770267 + ], + [ + -0.4151441734188113, + 0.4707036145889516 + ], + [ + -0.41567003058688473, + 0.4723483825862852 + ], + [ + -0.4502546052448333, + 0.6018188654664807 + ], + [ + -0.4506241119799223, + 0.6035379009722229 + ], + [ + -0.4508226008947932, + 0.6052849614886197 + ], + [ + -0.450848143835004, + 0.6070430757782732 + ], + [ + -0.450700492672171, + 0.6087951652255883 + ], + [ + -0.4503810817143293, + 0.6105242097412932 + ], + [ + -0.4498930137728251, + 0.6122134130984278 + ], + [ + -0.4492410300210887, + 0.6138463660936945 + ], + [ + -0.4484314639380844, + 0.6154072059491978 + ], + [ + -0.4474721797838391, + 0.6168807704061161 + ], + [ + -0.4463724962047078, + 0.6182527450134131 + ], + [ + -0.44514309571048827, + 0.6195098021808051 + ], + [ + -0.44379592090273784, + 0.6206397306451962 + ], + [ + -0.44234405846234914, + 0.6216315540929264 + ], + [ + -0.440801612023348, + 0.6224756377855134 + ], + [ + -0.439183565167839, + 0.623163782153111 + ], + [ + -0.4375056358729886, + 0.6236893024464979 + ], + [ + -0.4357841238239717, + 0.6240470936738478 + ], + [ + -0.4340357520761104, + 0.624233680191472 + ], + [ + -0.43227750460432324, + 0.6242472494668012 + ], + [ + -0.4305264613179593, + 0.6240876696856309 + ], + [ + -0.428799632143708, + 0.6237564910325849 + ], + [ + -0.31887950913989427, + 0.5969988638652451 + ], + [ + -0.31736605684510083, + 0.5965587888043229 + ], + [ + -0.3158973536616433, + 0.5959868492386667 + ], + [ + -0.3144848637159703, + 0.5952875095063236 + ], + [ + -0.3131396123558354, + 0.5944662283815457 + ], + [ + -0.3118721000907162, + 0.5935294164657197 + ], + [ + -0.28193478414274287, + 0.5692868579773933 + ], + [ + -0.28058353435467365, + 0.5680737223519975 + ], + [ + -0.2793626105274834, + 0.5667295054634112 + ], + [ + -0.27828466301914356, + 0.5652681351459948 + ], + [ + -0.19349281747429473, + 0.4371430614571652 + ], + [ + -0.1926146666092443, + 0.4356661969461437 + ], + [ + -0.19188266613849547, + 0.43411170248281267 + ], + [ + -0.19130360635108662, + 0.43249399809439387 + ], + [ + -0.19088285880548544, + 0.4308280901651931 + ], + [ + -0.19062432650115851, + 0.4291294322321993 + ], + [ + -0.1905304076730008, + 0.4274137816327412 + ], + [ + -0.19060197354448127, + 0.4256970533339872 + ], + [ + -0.19083836024587292, + 0.4239951723002165 + ], + [ + -0.19123737497253776, + 0.42232392576735306 + ], + [ + -0.19179531632613944, + 0.4206988167951162 + ], + [ + -0.19250700865009188, + 0.4191349204552872 + ], + [ + -0.19336585004073636, + 0.4176467439901396 + ], + [ + -0.19436387358887858, + 0.41624809223825243 + ], + [ + -0.22051677418525356, + 0.3830976193873204 + ] + ] + }, + { + "color": "#f28e2b", + "label_anchor": [ + -0.2587065683705874, + 0.30857035247946313 + ], + "name": "Latin America", + "points": [ + [ + -0.15779051915937622, + 0.18078406595792054 + ], + [ + -0.15807811928643273, + 0.17909765517587256 + ], + [ + -0.15852593037092996, + 0.17744654633891113 + ], + [ + -0.15912983435903785, + 0.17584592298157875 + ], + [ + -0.15988427777247655, + 0.17431050437585274 + ], + [ + -0.16078232277809307, + 0.1728544101732759 + ], + [ + -0.16181571098791311, + 0.17149103056117385 + ], + [ + -0.16297493940296515, + 0.17023290312699774 + ], + [ + -0.16424934780250022, + 0.1690915975631433 + ], + [ + -0.16562721677497969, + 0.1680776092724964 + ], + [ + -0.16709587548934127, + 0.1672002628531041 + ], + [ + -0.1686418182154832, + 0.16646762634952308 + ], + [ + -0.17025082852244866, + 0.1658864370593864 + ], + [ + -0.17190811001218798, + 0.16546203957746874 + ], + [ + -0.1735984223866768, + 0.16519833664699463 + ], + [ + -0.17530622159712134, + 0.16509775327015905 + ], + [ + -0.17701580278644444, + 0.1651612144078988 + ], + [ + -0.17871144471055844, + 0.16538813647398662 + ], + [ + -0.18037755431033242, + 0.16577643270166809 + ], + [ + -0.32026677619955435, + 0.20553833746357283 + ], + [ + -0.3220387480763285, + 0.20614418303942247 + ], + [ + -0.3624506546737684, + 0.2223768943600997 + ], + [ + -0.36398008800316856, + 0.22307668176012188 + ], + [ + -0.36543682198020266, + 0.2239173926702832 + ], + [ + -0.36680790830545856, + 0.22489155436271738 + ], + [ + -0.36808115996570023, + 0.22599050792133654 + ], + [ + -0.36924525955913445, + 0.22720448520731684 + ], + [ + -0.37028985989106483, + 0.22852269568400138 + ], + [ + -0.37120567594577997, + 0.22993342232947026 + ], + [ + -0.3719845674171774, + 0.23142412578425064 + ], + [ + -0.3726196110645418, + 0.2329815558084418 + ], + [ + -0.37310516225033774, + 0.23459186905755888 + ], + [ + -0.3734369051130333, + 0.2362407521302358 + ], + [ + -0.3736118909289894, + 0.23791354879406676 + ], + [ + -0.3837120900412567, + 0.41469875600537043 + ], + [ + -0.3837276335374309, + 0.4164102582456802 + ], + [ + -0.3835790909274787, + 0.41811537308400837 + ], + [ + -0.38326782950412724, + 0.419798405420356 + ], + [ + -0.38279671434077545, + 0.42144386341791124 + ], + [ + -0.3821700819193034, + 0.42303660110102753 + ], + [ + -0.3813937002139827, + 0.424561957769647 + ], + [ + -0.3804747155989043, + 0.4260058929468996 + ], + [ + -0.379421587067625, + 0.4273551156177231 + ], + [ + -0.37824400837052397, + 0.4285972065688987 + ], + [ + -0.3769528187865707, + 0.42972073270439765 + ], + [ + -0.37555990335082706, + 0.43071535228379754 + ], + [ + -0.37407808345605964, + 0.43157191011507917 + ], + [ + -0.37252099883544426, + 0.4322825218255805 + ], + [ + -0.3709029820126787, + 0.4328406464354178 + ], + [ + -0.369238926375154, + 0.4332411465653564 + ], + [ + -0.3675441490845346, + 0.4334803357249336 + ], + [ + -0.36583425008661563, + 0.4335560122455616 + ], + [ + -0.36412496851823273, + 0.4334674795462641 + ], + [ + -0.14805910866887914, + 0.41184574863949547 + ], + [ + -0.14630456082601934, + 0.41158149296962665 + ], + [ + -0.14458494131301916, + 0.4111442539932637 + ], + [ + -0.1429172608976172, + 0.41053835695248325 + ], + [ + -0.14131801655719367, + 0.4097697954835264 + ], + [ + -0.13980302828787358, + 0.40884617232673326 + ], + [ + -0.13838728261044325, + 0.40777662411894683 + ], + [ + -0.137084784321146, + 0.40657173101235206 + ], + [ + -0.13590841795386369, + 0.40524341201381714 + ], + [ + -0.13486982032412326, + 0.4038048070800569 + ], + [ + -0.13397926541574479, + 0.40227014713495346 + ], + [ + -0.13324556274885202, + 0.40065461329484475 + ], + [ + -0.13267597023460573, + 0.3989741866943482 + ], + [ + -0.13227612237871617, + 0.39724549039826773 + ], + [ + -0.1320499745439574, + 0.3954856249634189 + ], + [ + -0.13199976382304823, + 0.3937119992770218 + ], + [ + -0.13212598690895183, + 0.39194215834503754 + ], + [ + -0.15779051915937622, + 0.18078406595792054 + ] + ] + } + ], "zones": { "African-Islamic": [ "Azerbaijan", diff --git a/scripts/wvs_map.py b/scripts/wvs_map.py index 40560b9..9b838e5 100644 --- a/scripts/wvs_map.py +++ b/scripts/wvs_map.py @@ -420,23 +420,73 @@ def main() -> None: label_sources[family] = "explicit legacy release-order choice" model_labels[latest] = latest.replace("claude-", "") if args.web_data: + # This artifact is the shared geometry contract for the static, vanilla SVG and React maps. + # It stores the already-oriented coordinates and the static renderer's annotation policy. + from shapely.geometry import MultiPoint + zones_all, _ = zones_for(countries) - zones = maps.select_spread_zones(P, countries, zones_all, 4) sx, sy = maps.orient_geographic(P, countries, zones_all) + Pplot = P * np.array([sx, sy]) + zones, dot_cols, label_set = maps._map_annotations(Pplot, countries, zones_all, emph, "#888888") + cidx = {country: i for i, country in enumerate(countries)} + buf = 0.022 * float(np.hypot(*(Pplot.max(0) - Pplot.min(0)))) + zone_hulls = [] + for zone, members in zones.items(): + pts = [tuple(Pplot[cidx[country]]) for country in members if country in cidx] + if len(pts) < 2: + raise ValueError(f"zone {zone} lacks two plotted countries") + coords = np.asarray(MultiPoint(pts).convex_hull.buffer(buf, quad_segs=16).exterior.coords) + # The static renderer's region allocator starts from the whole hull perimeter. The + # browser's expanding-ring allocator starts from the centroid, so its first viable + # candidate remains adjacent to the corresponding coloured boundary. + centroid = coords[:-1].mean(axis=0) + zone_hulls.append({"name": zone, "color": maps.ZONE_COLORS[zone], + "points": coords.tolist(), "label_anchor": centroid.tolist()}) + + completed = {entry["display_key"].replace(" (rated)", ""): entry + for entry in cache["completed"].values()} + family_logos = { + "claude": "logos/anthropic.svg", "deepseek": "logos/deepseek.svg", + "gemini": "logos/google.svg", "gemma": "logos/google.svg", + "glm": "logos/z-ai.svg", "gpt": "logos/openai.svg", "grok": "logos/x-ai.svg", + "inkling": "logos/thinkingmachines.svg", "kimi": "logos/moonshotai.svg", + "llama": "logos/meta.svg", "mistral": "logos/mistral.svg", "muse": "logos/meta.svg", + "qwen": "logos/qwen.svg", + } + + def model_provenance(name: str) -> dict[str, object]: + panel = completed.get(name) + catalog = metadata.get(name) + if panel is None: + return {"readout": "recovered rounded historical coordinate", "items": None, + "samples": None, "run_id": None, "protocol_id": None, + "release_created": None, "release_source": "historical coordinate"} + return {"readout": "rated categorical response", "items": panel["n_items"], + "samples": panel["n_samples"], "run_id": panel["run_id"], + "protocol_id": panel["protocol_id"], + "release_created": catalog["created"] if catalog else None, + "release_source": "catalog" if catalog else "request ledger"} + args.web_data.parent.mkdir(parents=True, exist_ok=True) args.web_data.write_text(json.dumps({ - "schema": 1, + "schema": 2, + "title": "Frontier LLMs on the\nWorld Values Survey", + "note": f"{len(plot_models)} models, rated sampling\ngithub.com/wassname/moral-maps", "axis": {"x": (["Self-expression", "Survival"] if sx < 0 else ["Survival", "Self-expression"]), "y": (["Secular-Rational", "Traditional"] if sy < 0 else ["Traditional", "Secular-Rational"])}, - "median": {"x": float(np.median(P[:, 0]) * sx), "y": float(np.median(P[:, 1]) * sy)}, - "countries": [{"name": name, "x": float(x * sx), "y": float(y * sy)} - for name, (x, y) in zip(countries, P)], + "median": {"x": float(np.median(Pplot[:, 0])), "y": float(np.median(Pplot[:, 1]))}, + "countries": [{"name": name, "x": float(x), "y": float(y), "color": color, + "label": name if name in label_set else None} + for name, (x, y), color in zip(countries, Pplot, dot_cols)], "zones": zones, + "zone_hulls": zone_hulls, + "logos": family_logos, "latest_by_family": {family: {"name": name, "source": label_sources[family]} for family, names in fams.items() for name in names if name in model_labels}, "models": [{"name": name, "x": float(v[0] * sx), "y": float(v[1] * sy), "family": maps.model_family(name), "color": maps.model_family_color(name), - "label": model_labels.get(name)} for name, v in plot_models.items()], + "label": model_labels.get(name), "provenance": model_provenance(name)} + for name, v in plot_models.items()], }, indent=2, sort_keys=True) + "\n") # Poles in NATURAL data order (x_neg, x_pos, y_neg, y_pos): raw X is high on Self-expression, raw Y # high on Secular-Rational. plot_value_map's orient_geographic then flips X so the cultural West diff --git a/scripts/wvs_react/check_layout.mjs b/scripts/wvs_react/check_layout.mjs new file mode 100644 index 0000000..8bc6778 --- /dev/null +++ b/scripts/wvs_react/check_layout.mjs @@ -0,0 +1,13 @@ +import fs from 'node:fs'; +import { assertLayout } from './src/layout.js'; + +const path = process.argv[2] ?? '../../docs/wvs/wvs_map_data.json'; +const data = JSON.parse(fs.readFileSync(path)); +const { labels, geometry } = assertLayout(data); +const kinds = Object.values(labels).reduce((count, label) => ({ ...count, [label.kind]: (count[label.kind] ?? 0) + 1 }), {}); +console.log(JSON.stringify({ + labels: Object.keys(labels).length, + kinds, + bounds: geometry.bounds, + policy: 'expanding rings, increasing steps, marker obstacles, pairwise overlap and bounds assertions', +}, null, 2)); diff --git a/scripts/wvs_react/src/layout.js b/scripts/wvs_react/src/layout.js new file mode 100644 index 0000000..f34ad3c --- /dev/null +++ b/scripts/wvs_react/src/layout.js @@ -0,0 +1,79 @@ +export const VIEW = { width: 1200, height: 900, pad: { left: 76, right: 46, top: 55, bottom: 82 } }; + +// Ported from ml-bench: try near each anchor before growing an expanding ring. +export const RINGS = [[0, -1], [0, 1], [-1, 0], [1, 0], [-1, -1], [1, -1], [-1, 1], [1, 1]]; +export const LABEL_STEPS = [22, 34, 48, 64, 82, 104, 130, 160, 196]; + +export const box = (cx, cy, width, height) => ({ cx, cy, width, height }); +export const hits = (a, b) => Math.abs(a.cx - b.cx) * 2 < a.width + b.width && Math.abs(a.cy - b.cy) * 2 < a.height + b.height; +export const inside = (candidate, bounds) => candidate.cx - candidate.width / 2 >= bounds.left && + candidate.cx + candidate.width / 2 <= bounds.right && candidate.cy - candidate.height / 2 >= bounds.top && + candidate.cy + candidate.height / 2 <= bounds.bottom; + +export function projectGeometry(data) { + const points = [...data.countries, ...data.models]; + const minX = Math.min(...points.map(point => point.x)); + const maxX = Math.max(...points.map(point => point.x)); + const minY = Math.min(...points.map(point => point.y)); + const maxY = Math.max(...points.map(point => point.y)); + const xMargin = (maxX - minX) * 0.17; + const yMargin = (maxY - minY) * 0.17; + const limits = { x0: minX - xMargin, x1: maxX + xMargin, y0: minY - yMargin, y1: maxY + yMargin * 1.22 }; + const bounds = { left: VIEW.pad.left, right: VIEW.width - VIEW.pad.right, top: VIEW.pad.top, bottom: VIEW.height - VIEW.pad.bottom }; + const x = value => bounds.left + (value - limits.x0) / (limits.x1 - limits.x0) * (bounds.right - bounds.left); + const y = value => bounds.bottom - (value - limits.y0) / (limits.y1 - limits.y0) * (bounds.bottom - bounds.top); + return { x, y, bounds, limits }; +} + +function labelSize(text, kind) { + const font = kind === 'zone' ? 15 : kind === 'model' ? 13 : 11; + return { width: text.length * font * 0.59 + 10, height: font + 7 }; +} + +export function placeLabels(data, geometry) { + const { x, y, bounds } = geometry; + const taken = [ + ...data.countries.map(point => box(x(point.x), y(point.y), 10, 10)), + ...data.models.map(point => box(x(point.x), y(point.y), 22, 22)), + ]; + const labels = [ + ...data.models.filter(point => point.label).map(point => ({ id: `model:${point.name}`, point, text: point.label, kind: 'model' })), + ...data.countries.filter(point => point.label).map(point => ({ id: `country:${point.name}`, point, text: point.name, kind: 'country' })), + ...data.zone_hulls.map(zone => ({ id: `zone:${zone.name}`, point: { x: zone.label_anchor[0], y: zone.label_anchor[1] }, text: zone.name, kind: 'zone' })), + ]; + const placements = {}; + for (const label of labels) { + const anchor = { x: x(label.point.x), y: y(label.point.y) }; + const size = labelSize(label.text, label.kind); + let found = null; + for (const step of LABEL_STEPS) { + for (const [dx, dy] of RINGS) { + const candidate = box(anchor.x + dx * (step + size.width / 3), anchor.y + dy * step, size.width, size.height); + if (inside(candidate, bounds) && !taken.some(obstacle => hits(candidate, obstacle))) { + found = candidate; + break; + } + } + if (found) break; + } + if (!found) throw new Error(`no collision-free label location for ${label.id}`); + placements[label.id] = { ...found, anchor, kind: label.kind, text: label.text }; + taken.push(found); + } + return placements; +} + +export function assertLayout(data) { + const geometry = projectGeometry(data); + const labels = placeLabels(data, geometry); + const entries = Object.entries(labels); + for (const [id, candidate] of entries) { + if (!inside(candidate, geometry.bounds)) throw new Error(`label out of bounds: ${id}`); + } + for (let i = 0; i < entries.length; i += 1) { + for (let j = i + 1; j < entries.length; j += 1) { + if (hits(entries[i][1], entries[j][1])) throw new Error(`label overlap: ${entries[i][0]}, ${entries[j][0]}`); + } + } + return { labels, geometry }; +} diff --git a/scripts/wvs_react/src/main.jsx b/scripts/wvs_react/src/main.jsx index 94324f7..3a6506f 100644 --- a/scripts/wvs_react/src/main.jsx +++ b/scripts/wvs_react/src/main.jsx @@ -1,29 +1,94 @@ -import React, { useEffect, useMemo, useState } from 'react'; +import React, { useEffect, useMemo, useRef, useState } from 'react'; import { createRoot } from 'react-dom/client'; +import { VIEW, assertLayout } from './layout.js'; import './style.css'; -const hull = points => { - const p = [...points].sort((a, b) => a.x - b.x || a.y - b.y); - const cross = (o, a, b) => (a.x-o.x)*(b.y-o.y) - (a.y-o.y)*(b.x-o.x); - const half = xs => { const out = []; for (const point of xs) { while (out.length > 1 && cross(out.at(-2), out.at(-1), point) <= 0) out.pop(); out.push(point); } return out; }; - return [...half(p), ...half([...p].reverse()).slice(1, -1)]; -}; +function Tooltip({ active, geometry, data }) { + if (!active) return null; + const { provenance } = active; + const left = `${Math.min(86, geometry.x(active.x) / VIEW.width * 100)}%`; + const top = `${Math.min(82, geometry.y(active.y) / VIEW.height * 100)}%`; + const samples = provenance.items === null ? 'historical coordinate' : `${provenance.items} items x ${provenance.samples} samples`; + return ; +} + +function ModelMarker({ model, placement, geometry, setActive, clearActive, markerRef, logo }) { + const cx = geometry.x(model.x), cy = geometry.y(model.y); + const label = model.label ? placement[`model:${model.name}`] : null; + const leader = label && Math.hypot(label.cx - cx, label.cy - cy) > 20; + return setActive(model)} onPointerLeave={clearActive} + onFocus={() => setActive(model)} onBlur={clearActive}> + {leader && } + + + {label && {model.label}} + ; +} function Map({ data }) { - const [hidden, setHidden] = useState(() => new Set(new URLSearchParams(location.search).get('hide')?.split(',').filter(Boolean))); - const all = [...data.countries, ...data.models]; - const [minX, maxX] = [Math.min(...all.map(p => p.x)), Math.max(...all.map(p => p.x))]; - const [minY, maxY] = [Math.min(...all.map(p => p.y)), Math.max(...all.map(p => p.y))]; - const x = v => 70 + (v-minX)/(maxX-minX)*860, y = v => 650 - (v-minY)/(maxY-minY)*580; + const query = new URLSearchParams(location.search); + const [hidden, setHidden] = useState(() => new Set(query.get('hide')?.split(',').filter(Boolean))); + const [active, setActive] = useState(() => data.models.find(model => model.name === (query.get('tooltip') || query.get('focus'))) ?? null); + const focusName = query.get('focus'); + const focusRef = useRef(null); const groups = useMemo(() => Object.groupBy(data.models, model => model.family), [data]); - const offsets = { grok:{dx:-72,dy:-30}, muse:{dx:12,dy:-11}, mistral:{dx:-96,dy:-26}, llama:{dx:-96,dy:12} }; - return <>
{Object.entries(groups).map(([family, models]) => )}
- - {Object.entries(data.zones).map(([name, names]) => { const h=hull(data.countries.filter(p=>names.includes(p.name))); const c=h.reduce((s,p)=>({x:s.x+p.x/h.length,y:s.y+p.y/h.length}),{x:0,y:0}); return `${x(p.x)},${y(p.y)}`).join(' ')} className="zone"/>{name}; })} - {data.countries.map(p => {p.name})} - {Object.entries(groups).map(([family, models]) => {models.map(p => { const o=offsets[family] ?? {dx:11,dy:-11}; return {p.name}{p.label && <>{p.label}}; })})} - {data.axis.x[0]}{data.axis.x[1]}{data.axis.y[1]}{data.axis.y[0]} - ; + const { labels, geometry } = useMemo(() => assertLayout(data), [data]); + + useEffect(() => { + if (focusName) focusRef.current?.focus(); + }, [focusName]); + + const clearActive = event => { + if (event.currentTarget.matches(':focus')) return; + setActive(null); + }; + const toggle = family => setHidden(old => { + const next = new Set(old); + if (next.has(family)) next.delete(family); else next.add(family); + return next; + }); + const xMedian = geometry.x(data.median.x), yMedian = geometry.y(data.median.y); + return <> +
{Object.entries(groups).map(([family, models]) => { + const visible = !hidden.has(family); + const latest = data.latest_by_family[family].name; + return ; + })}
+
+ + + + {Array.from({ length: 8 }, (_, index) => )}{Array.from({ length: 6 }, (_, index) => )} + + + {data.zone_hulls.map(zone => `${geometry.x(px)},${geometry.y(py)}`).join(' ')} stroke={zone.color} />)} + {data.countries.map(country => {country.label && {country.name}})} + {data.zone_hulls.map(zone => {zone.name})} + {Object.entries(groups).map(([family, models]) => {models.map(model => )})} + {data.axis.y[1]}{data.axis.y[0]}{data.axis.x[0]}{data.axis.x[1]} + {data.title.split('\n').map((line, index) => {line})} + {data.note.split('\n').map((line, index) => {line})} + + +
+ ; } -function App() { const [data, setData] = useState(null); useEffect(() => { fetch('../wvs_map_data.json').then(r=>r.json()).then(setData); }, []); return

Frontier LLMs on the World Values Survey

React/SVG renderer using the shared WVS coordinate artifact. Filled chips show a family; outlined chips hide its stars and latest label.

{data && }
; } + +function App() { + const [data, setData] = useState(null); + useEffect(() => { fetch('../wvs_map_data.json').then(response => response.json()).then(setData); }, []); + return

Frontier LLMs on the World Values Survey

React/SVG rendering of the shared WVS coordinate artifact. White-ring marks use locally saved lab logos. Focus or hover a model for its measured readout and release provenance.

{data && }

Historical coordinates are recovered rounded display values. Coder and vision-language Qwen variants are visible but not used in direct-instruct family trends. The static map remains available at /wvs/.

; +} + createRoot(document.getElementById('root')).render(); diff --git a/scripts/wvs_react/src/style.css b/scripts/wvs_react/src/style.css index 447c187..3a0730e 100644 --- a/scripts/wvs_react/src/style.css +++ b/scripts/wvs_react/src/style.css @@ -1 +1 @@ -body{margin:0;background:#faf8f2;color:#292524;font:16px system-ui,sans-serif}main{max-width:1100px;margin:auto;padding:1rem}.controls{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}button{border:2px solid var(--color);border-radius:1rem;padding:.3rem .7rem;background:var(--color);color:white;font-weight:600}button.off{background:white;color:#292524;opacity:.5;text-decoration:line-through}svg{width:100%;height:auto;background:#faf8f2;border:1px solid #292524}.axis{stroke:#c9c4b4}.zone{fill:none;stroke:#94a3b8;stroke-width:2;stroke-dasharray:5 3}.zoneLabel{fill:#475569;font-style:italic;font-weight:700;text-anchor:middle}.country{fill:#64748b;stroke:white;stroke-width:.6}.star{stroke:white;stroke-width:1}.modelLabel{font-size:10px;font-weight:700} +:root{--ink:#333;--muted:#8a857a;--rule:#eceadf;--canvas:#faf8f2}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}main{max-width:1200px;margin:auto;padding:1.5rem 1rem 3rem}h1{font-size:1.65rem;line-height:1.2;margin:0 0 .35rem}.lede,.caption{max-width:75ch;color:#59544b}.controls{display:flex;flex-wrap:wrap;gap:.35rem;margin:1rem 0}.chip{display:flex;align-items:center;gap:.3rem;padding:.22rem .48rem;border:1px solid #d9d5ca;border-radius:999px;background:white;color:var(--ink);font:600 .78rem/1 inherit;cursor:pointer}.chip img{width:13px;height:13px}.chip:hover{border-color:#8a857a}.chip:focus-visible,.model-mark:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.chip[aria-pressed="false"]{color:#8a857a;background:#f6f4ef;text-decoration:line-through}.chip[aria-pressed="false"] img{opacity:.3}.chart-shell{position:relative}.chart-shell svg{display:block;width:100%;height:auto;border:1px solid #ded9cc;background:var(--canvas)}.canvas{fill:var(--canvas)}.grid line{stroke:var(--rule);stroke-width:.7}.median{stroke:#c9c4b4;stroke-width:1.2}.zone{fill:none;stroke-width:2;opacity:.9}.country{stroke:white;stroke-width:.7;opacity:.88}.country-label,.model-label,.zone-label,.poles text{paint-order:stroke;stroke:var(--canvas);stroke-width:4px;stroke-linejoin:round}.country-label{fill:#222;font-size:11px}.model-ring{fill:white;stroke-width:2}.model-mark{cursor:default}.model-mark:focus{outline:none}.model-label{fill:#222;font-size:13px;font-weight:700}.leader{stroke:#aaa398;stroke-width:1}.zone-label{font-size:15px;font-style:italic;font-weight:700}.poles line{stroke:#999;stroke-width:1.8}.arrow{fill:#999}.poles text{fill:#555;font-size:18px;font-weight:700}.map-title{fill:#333;font-size:14px;font-weight:700}.map-note{fill:var(--muted);font-size:10px}.tooltip{position:absolute;z-index:2;max-width:275px;transform:translate(14px,14px);pointer-events:none;border:1px solid #ddd7ca;border-radius:5px;padding:.45rem .6rem;background:rgba(255,255,255,.97);box-shadow:0 2px 8px #0002;font-size:.82rem;line-height:1.35}.tooltip strong,.tooltip span{display:block}.tooltip span{color:#5b554b}.caption{font-size:.9rem;margin-top:1rem}@media(max-width:700px){main{padding:.9rem .5rem 2rem}.chip{font-size:.7rem}.poles text{font-size:14px}.country-label,.model-label{font-size:10px}.tooltip{max-width:230px;font-size:.75rem}} \ No newline at end of file diff --git a/scripts/wvs_react/uat.py b/scripts/wvs_react/uat.py new file mode 100644 index 0000000..194445e --- /dev/null +++ b/scripts/wvs_react/uat.py @@ -0,0 +1,116 @@ +"""Playwright UAT for the production React WVS SVG. No network calls leave localhost.""" +from __future__ import annotations + +import hashlib +import json +import shutil +from pathlib import Path + +from PIL import Image, ImageDraw +from playwright.sync_api import sync_playwright + +ROOT = Path(__file__).resolve().parents[2] +OUT = ROOT / "slop/research/wvs/20260916_openrouter" +BASE = "http://localhost:8081/wvs" +VIEWPORT = {"width": 1440, "height": 1800} + + +def screenshot(page, url: str, name: str) -> Path: + page.goto(url, wait_until="networkidle") + page.screenshot(path=OUT / name, full_page=True) + return OUT / name + + +def main() -> None: + OUT.mkdir(parents=True, exist_ok=True) + chrome = shutil.which("google-chrome") + if chrome is None: + raise RuntimeError("google-chrome is required for the Playwright UAT") + data = json.loads((ROOT / "docs/wvs/wvs_map_data.json").read_text()) + assert data["schema"] == 2 + assert len(data["models"]) == 64 + assert len(data["countries"]) == 90 + assert len(data["zone_hulls"]) == 4 + assert len(data["latest_by_family"]) == 13 + assert all(len(zone["points"]) >= 30 for zone in data["zone_hulls"]) + + with sync_playwright() as playwright: + browser = playwright.chromium.launch(executable_path=chrome, headless=True, args=["--no-sandbox"]) + page = browser.new_page(viewport=VIEWPORT) + errors: list[str] = [] + page.on("pageerror", lambda error: errors.append(str(error))) + + screenshot(page, "http://localhost:8081/img/wvs/wvs_map_iw.png", "wvs_static_playwright.png") + screenshot(page, f"{BASE}/", "wvs_vanilla_playwright.png") + screenshot(page, f"{BASE}/react/", "wvs_react_playwright_default.png") + page.wait_for_selector("svg .model-mark") + assert float(page.locator("svg").get_attribute("data-median-x")) == data["median"]["x"] + assert float(page.locator("svg").get_attribute("data-median-y")) == data["median"]["y"] + rendered_models = page.locator(".model-mark").evaluate_all( + "nodes => nodes.map(node => [node.dataset.model, Number(node.dataset.x), Number(node.dataset.y)])" + ) + assert sorted(rendered_models) == sorted([[model["name"], model["x"], model["y"]] for model in data["models"]]) + rendered_countries = page.locator("circle.country").evaluate_all( + "nodes => nodes.map(node => [node.dataset.country, Number(node.dataset.x), Number(node.dataset.y)])" + ) + assert rendered_countries == [[country["name"], country["x"], country["y"]] for country in data["countries"]] + country_before = page.locator("circle.country").evaluate_all( + "nodes => nodes.map(node => [node.getAttribute('cx'), node.getAttribute('cy')])" + ) + qwen_group = page.locator('svg > g[data-family="qwen"]') + assert qwen_group.get_attribute("display") in (None, "inline") + assert page.locator('svg [data-family="qwen"] .model-label').count() == 1 + + page.get_by_role("button", name="qwen: qwen3.8-flash").click() + page.wait_for_timeout(100) + assert qwen_group.get_attribute("display") == "none" + assert page.locator('svg [data-family="qwen"] .model-label').count() == 1 + assert page.locator('svg [data-family="muse"] .model-label').count() == 1 + country_after = page.locator("circle.country").evaluate_all( + "nodes => nodes.map(node => [node.getAttribute('cx'), node.getAttribute('cy')])" + ) + assert country_after == country_before + page.screenshot(path=OUT / "wvs_react_playwright_qwen_hidden.png", full_page=True) + + page.get_by_role("button", name="qwen: qwen3.8-flash").click() + marker = page.locator('[data-model="qwen3.8-flash"]') + marker.locator(".model-ring").hover() + page.wait_for_selector("#model-tooltip") + tooltip_text = page.locator("#model-tooltip").inner_text() + for required in ("qwen3.8-flash", "qwen", "rated categorical response", "12 items x 12 samples"): + assert required in tooltip_text, required + page.screenshot(path=OUT / "wvs_react_playwright_tooltip_hover.png", full_page=True) + + marker.focus() + assert page.evaluate("document.activeElement.dataset.model") == "qwen3.8-flash" + assert page.locator("#model-tooltip").is_visible() + page.screenshot(path=OUT / "wvs_react_playwright_keyboard_focus.png", full_page=True) + browser.close() + + if errors: + raise RuntimeError(f"React page errors: {errors}") + static = Image.open(OUT / "wvs_static_playwright.png").convert("RGB") + react = Image.open(OUT / "wvs_react_playwright_default.png").convert("RGB") + height = max(static.height, react.height) + comparison = Image.new("RGB", (static.width + react.width, height + 26), "white") + comparison.paste(static, (0, 26)) + comparison.paste(react, (static.width, 26)) + draw = ImageDraw.Draw(comparison) + draw.text((6, 5), "Static WVS figure", fill="black") + draw.text((static.width + 6, 5), "React WVS production page", fill="black") + comparison.save(OUT / "wvs_static_react_playwright_side_by_side.png") + hashes = {path.name: hashlib.sha256(path.read_bytes()).hexdigest() for path in ( + ROOT / "docs/wvs/wvs_map_data.json", + ROOT / "docs/wvs/react/index.html", + )} + print(json.dumps({ + "shared": {"models": 64, "countries": 90, "buffered_hulls": 4, "latest_labels": 13, + "numeric_model_country_median_equality": "verified against DOM data attributes"}, + "qwen_toggle": "clicked, family group hidden, country coordinates invariant", + "tooltip": "pointer hover and focus show model, family, coordinates, readout, samples and release metadata", + "hashes": hashes, + }, indent=2)) + + +if __name__ == "__main__": + main() diff --git a/slop/audits/20260916_wvs_react_label_layout.json b/slop/audits/20260916_wvs_react_label_layout.json new file mode 100644 index 0000000..2a131ab --- /dev/null +++ b/slop/audits/20260916_wvs_react_label_layout.json @@ -0,0 +1,15 @@ +{ + "labels": 27, + "kinds": { + "model": 13, + "country": 10, + "zone": 4 + }, + "bounds": { + "left": 76, + "right": 1154, + "top": 55, + "bottom": 818 + }, + "policy": "expanding rings, increasing steps, marker obstacles, pairwise overlap and bounds assertions" +} diff --git a/slop/audits/20260916_wvs_react_playwright_uat.json b/slop/audits/20260916_wvs_react_playwright_uat.json new file mode 100644 index 0000000..4f09a10 --- /dev/null +++ b/slop/audits/20260916_wvs_react_playwright_uat.json @@ -0,0 +1,15 @@ +{ + "shared": { + "models": 64, + "countries": 90, + "buffered_hulls": 4, + "latest_labels": 13, + "numeric_model_country_median_equality": "verified against DOM data attributes" + }, + "qwen_toggle": "clicked, family group hidden, country coordinates invariant", + "tooltip": "pointer hover and focus show model, family, coordinates, readout, samples and release metadata", + "hashes": { + "wvs_map_data.json": "b45e8cd6396b2d78570af67a5a01992a85ec7b2bb3bca776264aaeaa7057589a", + "index.html": "f376a62a94a4df7bac9bfb6252b227fa7aac77647e6c32d5b0a2158dd11fd04b" + } +} diff --git a/slop/research/wvs/20260916_openrouter/wvs_react_playwright_default.png b/slop/research/wvs/20260916_openrouter/wvs_react_playwright_default.png new file mode 100644 index 0000000..b257c46 Binary files /dev/null and b/slop/research/wvs/20260916_openrouter/wvs_react_playwright_default.png differ diff --git a/slop/research/wvs/20260916_openrouter/wvs_react_playwright_keyboard_focus.png b/slop/research/wvs/20260916_openrouter/wvs_react_playwright_keyboard_focus.png new file mode 100644 index 0000000..93e60f1 Binary files /dev/null and b/slop/research/wvs/20260916_openrouter/wvs_react_playwright_keyboard_focus.png differ diff --git a/slop/research/wvs/20260916_openrouter/wvs_react_playwright_qwen_hidden.png b/slop/research/wvs/20260916_openrouter/wvs_react_playwright_qwen_hidden.png new file mode 100644 index 0000000..25e43f7 Binary files /dev/null and b/slop/research/wvs/20260916_openrouter/wvs_react_playwright_qwen_hidden.png differ diff --git a/slop/research/wvs/20260916_openrouter/wvs_react_playwright_tooltip_hover.png b/slop/research/wvs/20260916_openrouter/wvs_react_playwright_tooltip_hover.png new file mode 100644 index 0000000..93e60f1 Binary files /dev/null and b/slop/research/wvs/20260916_openrouter/wvs_react_playwright_tooltip_hover.png differ diff --git a/slop/research/wvs/20260916_openrouter/wvs_static_playwright.png b/slop/research/wvs/20260916_openrouter/wvs_static_playwright.png new file mode 100644 index 0000000..a31f839 Binary files /dev/null and b/slop/research/wvs/20260916_openrouter/wvs_static_playwright.png differ diff --git a/slop/research/wvs/20260916_openrouter/wvs_static_react_playwright_side_by_side.png b/slop/research/wvs/20260916_openrouter/wvs_static_react_playwright_side_by_side.png new file mode 100644 index 0000000..0ae889a Binary files /dev/null and b/slop/research/wvs/20260916_openrouter/wvs_static_react_playwright_side_by_side.png differ diff --git a/slop/research/wvs/20260916_openrouter/wvs_vanilla_playwright.png b/slop/research/wvs/20260916_openrouter/wvs_vanilla_playwright.png new file mode 100644 index 0000000..c62aabe Binary files /dev/null and b/slop/research/wvs/20260916_openrouter/wvs_vanilla_playwright.png differ diff --git a/slop/reviews/20260916_wvs_react_visual_parity_openai.md b/slop/reviews/20260916_wvs_react_visual_parity_openai.md new file mode 100644 index 0000000..658489b --- /dev/null +++ b/slop/reviews/20260916_wvs_react_visual_parity_openai.md @@ -0,0 +1,20 @@ +# React WVS visual parity review + +Reviewer: reviewer-openai, image-only review, 2026-09-17. + +Verdict: changes needed, narrowly for regional-label placement; otherwise substantial visual-parity improvement. + +Observed: + +- `wvs_react_playwright_default.png` restores the static reference's off-white background, four rounded/buffered coloured hulls, country colours and labels, pole names, and in-plot caption. Neutral logo chips and white-ring model marks are visible; latest-model labels are readable, though leader lines cross. +- "East Asia" floats far above its red hull. "Latin America" sits in the red/brown overlap above the orange hull. Move each label adjacent to its corresponding boundary. +- Vertical pole arrows are visible. The static reference's rightward Survival arrow is not clearly discernible at the reviewed resolution. +- Tooltip hover and focus show qwen3.8-flash, family, coordinates, rated categorical response, 12 items x 12 samples, and release date. +- Qwen hidden strikes through the Qwen chip and removes Qwen marks/label without apparent country movement. +- Geometry retains the same arrangement and orientation, models upper-left and Egypt lower-right. + +Limits: + +Images do not establish exact coordinate equality, keyboard navigation, or local logo loading. The saved Playwright audit reports those checks but the reviewer did not independently reproduce them. + +-- PI[gpt-5.6-terra], preserving reviewer-openai observations diff --git a/slop/reviews/20260917_wvs_react_final_openai.md b/slop/reviews/20260917_wvs_react_final_openai.md new file mode 100644 index 0000000..19fa8db --- /dev/null +++ b/slop/reviews/20260917_wvs_react_final_openai.md @@ -0,0 +1,17 @@ +# React WVS visual parity review, final acceptance + +Reviewer: reviewer-openai, image-only review, 2026-09-17. + +Verdict: PASS, image-only acceptance. + +Observed: + +- A clear rightward arrow follows Survival, including in the side-by-side capture. +- Region-label adjacency, buffered hulls, country-dot colours, captions, neutral logo chips and white-ring model marks match the intended visual grammar. +- Model labels remain readable despite the dense cluster. +- Qwen-hidden removes its marks and label without visible country displacement. +- Hover and keyboard-focus screenshots show readable Qwen metadata tooltips. + +Limit: numeric invariance and local-logo provenance are reported by the UAT JSON rather than independently established from images. + +-- PI[gpt-5.6-terra], preserving reviewer-openai observations diff --git a/slop/reviews/20260917_wvs_react_regional_labels_openai.md b/slop/reviews/20260917_wvs_react_regional_labels_openai.md new file mode 100644 index 0000000..40ad589 --- /dev/null +++ b/slop/reviews/20260917_wvs_react_regional_labels_openai.md @@ -0,0 +1,19 @@ +# React WVS visual parity review, regional-label correction + +Reviewer: reviewer-openai, image-only review, 2026-09-17. + +Verdict: changes needed, the React Survival arrow remains invisible. + +Observed: + +- East Asia and Latin America now sit adjacent to their respective coloured hulls. +- Static visual grammar, relative geometry, logo chips, white-ring marks and captions are coherent. +- Qwen-hidden removes Qwen marks and its plot label, strikes through its chip, and preserves country/hull positions. +- Hover and keyboard-focus screenshots show a readable Qwen tooltip with coordinates, readout, sample counts and release date. +- The horizontal axis ends beneath Survival without a discernible rightward arrowhead. The static image shows an arrow after Survival. + +Required correction: reserve space after the React Survival label and expose the arrowhead at the reviewed viewport. + +Limits: image review cannot establish local asset provenance, actual keyboard navigation or exact coordinate equality. The Playwright audit reports those checks but was not independently reproduced. + +-- PI[gpt-5.6-terra], preserving reviewer-openai observations