UNPKG

oh-my-live2d

Version:

live2d component for web. 看板娘组件, 支持 model2、model3、model4

132 lines (118 loc) 25.1 kB
(function(d,r){typeof exports=="object"&&typeof module!="undefined"?r(exports):typeof define=="function"&&define.amd?define(["exports"],r):(d=typeof globalThis!="undefined"?globalThis:d||self,r(d.OML2D={}))})(this,function(d){"use strict";var K=Object.defineProperty;var q=(d,r,c)=>r in d?K(d,r,{enumerable:!0,configurable:!0,writable:!0,value:c}):d[r]=c;var n=(d,r,c)=>(q(d,typeof r!="symbol"?r+"":r,c),c);var g=(d,r,c)=>new Promise((k,T)=>{var L=w=>{try{p(c.next(w))}catch(u){T(u)}},v=w=>{try{p(c.throw(w))}catch(u){T(u)}},p=w=>w.done?k(w.value):Promise.resolve(w.value).then(L,v);p((c=c.apply(d,r)).next())});const r=i=>{const t=i.length;if(t===0)return;const e=Math.floor(Math.random()*t);return i[e]},c=(i,t)=>{let e;return{start:function(){return g(this,null,function*(){const s=()=>g(this,null,function*(){e&&(yield i(),clearTimeout(e),e=setTimeout(s,t))});e||(clearTimeout(e),e=setTimeout(s,t))})},stop:function(){clearTimeout(e),e=void 0}}},k=i=>i!==null&&typeof i=="object"&&!Array.isArray(i),T=i=>typeof i=="number"||i instanceof Number,L=i=>typeof i=="function",v=(i,t)=>{const e=Object.assign({},i);return k(i)&&k(t)&&Object.keys(t).forEach(s=>{k(t[s])?s in i?e[s]=v(i[s],t[s]):Object.assign(e,{[s]:t[s]}):Object.assign(e,{[s]:t[s]})}),e},p="https://lib.oml2d.com",w={fixed:!0,sayHello:!0,transitionTime:1e3,parentElement:document.body,importType:"complete",libraryUrls:{cubism2:`${p}/live2d.min.js`,cubism5:`${p}/live2dcubismcore.min.js`},models:[],tips:{style:{width:230,height:100,offsetX:0,offsetY:0},idleTips:{wordTheDay:!1,message:[],duration:5e3,interval:1e4,priority:2},welcomeTips:{message:{daybreak:"早上好!一日之计在于晨,美好的一天就要开始了。",morning:"上午好!工作顺利嘛,不要久坐,多起来走动走动哦!",noon:"中午了,工作了一个上午,现在是午餐时间!",afternoon:"午后很容易犯困呢,来杯咖啡吧~",dusk:"傍晚了!工作一天幸苦啦~",night:"晚上好,今天过得怎么样呢?",lateNight:"已经这么晚了呀,早点休息吧,晚安~",weeHours:"这么晚还不睡吗?当心熬夜秃头哦!"},duration:6e3,priority:3},copyTips:{duration:3e3,priority:3,message:["你复制了什么内容呢?记得注明出处哦~"]}}},u={PIXI:`${p}/pixi.min.js`,PIXI_LIVE2D_DISPLAY:`${p}/pixi-live2d-display.min.js`,PIXI_LIVE2D_DISPLAY_CUBISM2:`${p}/pixi-live2d-display-cubism2.min.js`,PIXI_LIVE2D_DISPLAY_CUBISM4:`${p}/pixi-live2d-display-cubism4.min.js`},E={stageId:"oml2dStage",canvasId:"oml2dCanvas",statusBarId:"oml2dStatusBar",tipsId:"oml2dTips",menusId:"oml2dMenus"},C=[{id:"Rest",name:"icon-bed",title:"休息"},{id:"SwitchModel",name:"icon-a-userswitch-fill",title:"切换模型"},{id:"About",name:"icon-info-circle-fill",title:"关于"}],D=` @keyframes oml2d-shake-tips{ 0% { transform: translate(-50%, 5%) scale(0.99); } 50% { transform: translate(-50%, 0%) scale(1); } 100% { transform: translate(-50%, 5%) scale(0.99); } } @keyframes oml2d-stage-slide-in { from { transform: translateY(130%); } to { transform: translateY(0%); } } @keyframes oml2d-stage-slide-out { from { transform: translateY(0%); } to { transform: translateY(130%); } } @keyframes oml2d-display-tips { 0% { opacity: 0; visibility: hidden; } 100% { opacity: 1; visibility: visible; } } @keyframes oml2d-hidden-tips { 0% { opacity: 1; visibility: visible; } 100% { opacity: 0; visibility: hidden; } } @keyframes oml2d-loading-rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .oml2d-icon { width: 1em; height: 1em; vertical-align: -0.15em; fill: currentColor; overflow: hidden; } .oml2d-loading{ animation-name: oml2d-loading-rotate; animation-duration: 600ms; animation-iteration-count: infinite; animation-timing-function: linear; } .oml2d-menus-item { width: 36px; height: 36px; border-radius: 50%; display: flex; justify-content: center; box-sizing: border-box; align-items: center; transition: all 300ms; color: #58b0fc; cursor: pointer; background-color: #fff; } .oml2d-menus-item:hover { background-color: #58b0fc; color: #fff; box-shadow: 0 0 5px #000; } #oml2dMenus .oml2d-menus-item:not(:last-child) { margin-bottom: 10px; } @keyframes oml2d-status-bar-slide-out { 0% { transform: translateX(0%); } 100% { transform: translateX(-120%); } } @keyframes oml2d-status-bar-slide-in { 0% { transform: translateX(-120%); } 100% { transform: translateX(0%); } } `,$=function(i){const{message:t}=i;let e="";const s=new Date().getHours().toString(),o=/^[5-7]$/,a=/^(?:[8-9]|1[0-1])$/,h=/^(1[2-3])$/,y=/^1[4-7]$/,x=/^1[8-9]$/,S=/^2[0-1]$/,M=/^2[2-3]$/;return o.test(s)?e=t.daybreak:a.test(s)?e=t==null?void 0:t.morning:h.test(s)?e=t==null?void 0:t.noon:y.test(s)?e=t==null?void 0:t.afternoon:x.test(s)?e=t==null?void 0:t.dusk:S.test(s)?e=t==null?void 0:t.night:M.test(s)?e=t==null?void 0:t.lateNight:e=t==null?void 0:t.weeHours,e},H=()=>console.log(` %c 🎉🎉🎉 %c %c ✨ oh-my-live2d v0.8.2 - https://oml2d.com Happy Hacking !! ✨ %c %c 🎉🎉🎉 `,"background: #add7fb; padding:5px 0;","background: #58b0fc; padding:5px 0;","color: #fff; background: #030307; padding:5px 0;","background: #58b0fc; padding:5px 0;","background: #add7fb; padding:5px 0;"),B=i=>{"width"in i&&T(i.width)&&(i.width=`${i.width}px`),"height"in i&&T(i.height)&&(i.height=`${i.height}px`)},O=(i,t)=>{Object.assign(t.style,i)},A=i=>new Promise(t=>setTimeout(t,i)),b=i=>{const t=document.createElement(i.tagName);return t.id=i.id,i.className&&(t.className=i.className),i.dataName&&t.setAttribute("data-name",i.dataName),i.children&&i.children.forEach(e=>{t.appendChild(b(e))}),i.innerHtml&&(t.innerHTML=i.innerHtml),i.innerText&&(t.innerText=i.innerText),t},f=i=>new Promise(t=>{const e=document.createElement("script");document.head.append(e),e.src=i,e.addEventListener("load",()=>{t()})}),j=(i,t)=>g(this,null,function*(){switch(i){case"cubism2":yield f(t[i]),yield f(u.PIXI),yield f(u.PIXI_LIVE2D_DISPLAY_CUBISM2);break;case"cubism5":yield f(t[i]),yield f(u.PIXI),yield f(u.PIXI_LIVE2D_DISPLAY_CUBISM4);break;default:yield Promise.all([f(t.cubism2),f(t.cubism5)]),yield f(u.PIXI),yield f(u.PIXI_LIVE2D_DISPLAY);break}}),X=()=>g(this,null,function*(){const i=yield fetch("https://unpkg.com/oh-my-live2d/package.json"),{version:t}=yield i.json();t!=="0.8.2"&&console.warn("[oml2d] 检查到 oh-my-live2d 存在最新版:",`v${t}`,"请前往: https://oml2d.com 以获得最新版详细信息, 并及时更新.")}),P=i=>g(this,null,function*(){const e=yield(yield fetch("https://v1.hitokoto.cn/")).json();return i?i(e):`${e.hitokoto} -- ${e.from}`});class R{constructor(t){n(this,"element");n(this,"style",{});n(this,"clickItem");this.stageElement=t,this.element=b({id:E.menusId,tagName:"div",className:E.menusId}),this.createMenuItem(),this.stageElement.append(this.element),this.ininStyle()}ininStyle(){this.setStyle({transition:"all 500ms",visibility:"hidden",opacity:0,position:"absolute",right:0,bottom:"10%",zIndex:"9999",fontSize:"26px"}),this.stageElement.addEventListener("mouseover",()=>this.setStyle({opacity:1,visibility:"visible"})),this.stageElement.addEventListener("mouseout",()=>this.setStyle({opacity:0,visibility:"hidden"}))}createMenuItem(){const t=C.map(e=>{const s=b({id:e.id,tagName:"div",dataName:e.id,className:"oml2d-menus-item",innerHtml:` <svg class="oml2d-icon"> <use xlink:href="#${e.name}"></use> </svg> `});return s.title=e.title,s});this.element.append(...t),this.element.addEventListener("click",e=>{var o;if(e.target===e.currentTarget)return;let s=e.target;for(;s.parentNode!==e.currentTarget;)s=s.parentNode;(o=this.clickItem)==null||o.call(this,s.getAttribute("data-name"))})}onClickItem(t){this.clickItem=t}setStyle(t){this.style=v(this.style,t),O(this.style,this.element)}}class F{constructor(t,e,s){n(this,"model");n(this,"failEvent");this.live2dModel=t,this.modelOptions=e,this.application=s,this.model=this.create()}create(){const t=this.live2dModel.fromSync(this.modelOptions.path||"",{onError:e=>{var s;(s=this.failEvent)==null||s.call(this,e)}});return t.once("load",()=>{this.application.stage.addChild(this.model),this.application.resize()}),t}onLoaded(t){this.model.once("load",()=>{t({width:this.model.width,height:this.model.height})})}onFail(t){this.failEvent=t}setScale(t=.1,e=.1){this.model.scale.set(t,e)}setPosition(t=0,e=0){this.model.x=t,this.model.y=e}changeTexture(t){if(this.model.textures.length<=1)t({status:!1});else{const e=this.model.textures.shift();this.model.textures.push(e),t({status:!0})}}}class Y{constructor(t,e){n(this,"element");n(this,"canvasElement");n(this,"wrapperElement");n(this,"style",{});n(this,"canvasStyle",{});n(this,"status",0);n(this,"slideChangeEnd");this.targetElement=t,this.options=e,this.element=b({id:E.stageId,tagName:"div"}),this.canvasElement=b({id:E.canvasId,tagName:"canvas"}),this.wrapperElement=b({id:"oml2dWrapper",tagName:"div"}),this.create(),this.initStyle()}create(){const t=document.createDocumentFragment();this.element.append(this.canvasElement),t.append(this.element),this.targetElement.append(t),this.targetElement!==document.body&&document.body.append(this.targetElement),window.onbeforeunload=()=>{this.targetElement.removeChild(this.element)}}initStyle(){this.setStyle({width:"0px",height:"0px",position:this.options.fixed?"fixed":"relative",left:0,bottom:0,zIndex:"9997",transform:"translateY(130%)"});const t=b({tagName:"style",id:"oml2dStyle",innerHtml:D});document.head.append(t)}setStyle(t){this.style=v(this.style,t),O(this.style,this.element),this.setCanvasStyle({width:"100%",height:"100%",zIndex:"9999",position:"relative"})}setCanvasStyle(t){this.canvasStyle=v(this.canvasStyle,t),O(this.canvasStyle,this.canvasElement)}slideIn(t){return this.setStyle({animationName:"oml2d-stage-slide-in",animationDuration:`${t}ms`,animationFillMode:"forwards"}),this.status=1,new Promise(e=>{setTimeout(()=>{var s;(s=this.slideChangeEnd)==null||s.call(this,this.status),e()},t)})}slideOut(t){return this.setStyle({animationName:"oml2d-stage-slide-out",animationDuration:`${t}ms`,animationFillMode:"forwards"}),this.status=0,new Promise(e=>setTimeout(()=>{var s;(s=this.slideChangeEnd)==null||s.call(this,this.status),e()},t))}onSlideChangeEnd(t){this.slideChangeEnd=t}}var z=(i=>(i.info="info",i.error="error",i))(z||{});class V{constructor(t){n(this,"element");n(this,"transitionTime",800);n(this,"status",0);n(this,"stateColor",{info:"#58b0fc",error:"#F08080"});n(this,"style",{});n(this,"timer",0);this.element=b({id:E.statusBarId,tagName:"div",innerText:"hello"}),t.append(this.element),this.initStyle()}initStyle(){this.setStyle({minWidth:"20px",minHeight:"40px",position:"fixed",transform:"translateX(-110%)",left:"0",bottom:"80px",padding:"7px 5px",zIndex:"9998",backgroundColor:"#58b0fc",borderStyle:"solid",borderColor:"#fff",fontWeight:"bold",borderRadius:"0 5px 5px 0",borderWidth:"2px 2px 2px 0",boxShadow:"0 0 5px #999",color:"#fff",display:"flex",alignItems:"center",textAlign:"center",flexWrap:"wrap",fontSize:"14px",writingMode:"vertical-lr",cursor:"pointer"})}setStyle(t){this.style=v(this.style,t),O(t,this.element)}slideIn(){return new Promise(t=>{this.status=1,this.setStyle({animationName:"oml2d-status-bar-slide-in",animationDuration:`${this.transitionTime}ms`,animationFillMode:"forwards"}),setTimeout(()=>{t(this.status)},this.transitionTime)})}slideOut(){return new Promise(t=>{this.status=0,this.setStyle({animationName:"oml2d-status-bar-slide-out",animationDuration:`${this.transitionTime}ms`,animationFillMode:"forwards"}),setTimeout(()=>{t(this.status)},this.transitionTime)})}showLoading(){this.setContent(` <div style="margin-bottom:3px;">加载中</div> <svg class="oml2d-icon oml2d-loading" aria-hidden="true"> <use xlink:href="#icon-loading"></use> </svg> `),this.slideIn()}hideLoading(){this.popup("加载成功")}loadingError(t){this.popup("加载失败","error",!1);const e=()=>{this.popup("重新加载","info",!1)},s=()=>{this.popup("加载失败","error",!1)},o=()=>{t(),this.element.removeEventListener("mouseout",s),this.element.removeEventListener("mouseover",e),this.element.removeEventListener("click",o)};this.element.addEventListener("click",o),this.element.addEventListener("mouseover",e),this.element.addEventListener("mouseout",s)}popup(t,e="info",s=1e3,o){clearTimeout(this.timer),this.setContent(t),this.setStyle({backgroundColor:this.stateColor[e]}),this.slideIn().then(()=>{s?this.timer=setTimeout(()=>{this.slideOut()},s):o&&(this.element.onclick=o)})}setContent(t){this.element.innerHTML=t}}class W{constructor(t,e){n(this,"element");n(this,"idlePlayer");n(this,"closeTimer",0);n(this,"transitionTime",1e3);n(this,"style",{});n(this,"priority",0);this.tipsOptions=e,this.element=b({id:E.tipsId,tagName:"div"}),t.append(this.element),this.initStyle(),this.idlePlayer=this.createIdleMessagePlayer()}initStyle(){if(this.setStyle({position:"absolute",fontSize:"18px",borderRadius:"10px",filter:"drop-shadow(0 0 5px #999)",backgroundColor:"#58b0fc",border:"2px solid #fff",color:"#fff",padding:"3px 5px",opacity:0,visibility:"hidden",transform:"translateX(-50%)",left:"50%",textAlign:"center",display:"flex",alignItems:"center",justifyContent:"center",animationDuration:`${this.transitionTime}ms,${this.transitionTime}ms`,animationFillMode:"forwards, none",animationIterationCount:"1, infinite",minWidth:"230px",minHeight:"100px",top:0}),this.tipsOptions){const{width:t=230,height:e=100,offsetX:s=0,offsetY:o=0}=this.tipsOptions.style||{};this.setStyle({minWidth:`${t}px`,minHeight:`${e}px`,left:`calc(${s}px + 50%)`,top:`${o}px`})}}setStyle(t){this.style=v(this.style,t),O(this.style,this.element)}setContent(t){this.element.innerHTML=t}showMessage(t,e=3e3,s=0){s<this.priority||(this.priority=s,this.closeTimer&&clearTimeout(this.closeTimer),this.setContent(t),this.setStyle({animationName:"oml2d-display-tips,oml2d-shake-tips"}),this.closeTimer=setTimeout(()=>{this.setStyle({animationName:"oml2d-hidden-tips,oml2d-shake-tips"}),this.priority=0},e))}clear(){var t;this.setStyle({animationName:"oml2d-hidden-tips,oml2d-shake-tips"}),(t=this.idlePlayer)==null||t.stop(),clearTimeout(this.closeTimer),this.priority=0}notification(t,e=3e3,s=3){var o;(o=this.idlePlayer)==null||o.stop(),this.showMessage(t,e,s),setTimeout(()=>{var a;(a=this.idlePlayer)==null||a.start()},e+this.transitionTime)}welcome(){if(!this.tipsOptions)return;const t=$(this.tipsOptions.welcomeTips||{}),{duration:e,priority:s}=this.tipsOptions.welcomeTips;this.notification(t,e,s)}copy(){var t,e;if((e=(t=this.tipsOptions.copyTips)==null?void 0:t.message)!=null&&e.length){const s=r(this.tipsOptions.copyTips.message);this.notification(s,this.tipsOptions.copyTips.duration,this.tipsOptions.copyTips.priority)}}createIdleMessagePlayer(){if(!this.tipsOptions)return;const{message:t,duration:e,priority:s}=this.tipsOptions.idleTips;let o="";const a=c(()=>g(this,null,function*(){this.tipsOptions.idleTips.wordTheDay?L(this.tipsOptions.idleTips.wordTheDay)?o=yield P(this.tipsOptions.idleTips.wordTheDay):o=yield P():L(t)?o=yield t():o=r(t||[])||"",o?(this.showMessage(o,e,s),yield A(e)):a.stop()}),this.tipsOptions.idleTips.interval);return a}}var I=(i=>(i.pc="PC",i.mobile="MOBILE",i))(I||{});class U{constructor(t,e,s){n(this,"stage");n(this,"statusBar");n(this,"tips");n(this,"menus");n(this,"application");n(this,"model");n(this,"modelIndex",0);n(this,"windowSizeType",I.pc);n(this,"mediaQuery",window.matchMedia("screen and (max-width: 768px)"));this.options=t,this.live2dModel=e,this.Application=s,this.options.sayHello&&this.sayHello(),this.stage=new Y(this.options.parentElement,t),this.statusBar=new V(this.options.parentElement),this.tips=new W(this.stage.element,this.options.tips),this.menus=new R(this.stage.element),this.application=this.createApplication(),this.initialize(),X()}initialize(){if(this.verifyWindowSizeType(),this.windowSizeType!==I.pc){this.statusBar.popup("暂不支持移动端",z.info,8e3);return}this.loadModel(),this.registerEvents()}verifyWindowSizeType(){this.mediaQuery.matches?this.windowSizeType=I.mobile:this.windowSizeType=I.pc,this.mediaQuery.addEventListener("change",t=>{t.matches?this.windowSizeType=I.mobile:this.windowSizeType=I.pc})}loadModel(t=!0){var e,s,o,a,h,y,x;t&&this.statusBar.showLoading(),this.model=new F(this.live2dModel,this.currentModelOption,this.application),(o=this.model)==null||o.setScale((e=this.currentModelOption)==null?void 0:e.scale,(s=this.currentModelOption)==null?void 0:s.scale),(h=this.model)==null||h.setPosition(...((a=this.currentModelOption)==null?void 0:a.position)||[]),(y=this.model)==null||y.onLoaded(({width:S,height:M})=>{var m,l,_,N;this.setStageStyle({width:((m=this.currentModelOption.stageStyle)==null?void 0:m.width)||S,height:((l=this.currentModelOption.stageStyle)==null?void 0:l.height)||M,backgroundColor:((_=this.currentModelOption.stageStyle)==null?void 0:_.backgroundColor)||"rgba(0, 0, 0, 0)"}),this.stage.slideIn((N=this.options)==null?void 0:N.transitionTime),this.statusBar.hideLoading()}),(x=this.model)==null||x.onFail(S=>{this.statusBar.loadingError(this.loadModel.bind(this)),console.error(S)})}setStageStyle(t){B(t),this.stage.setStyle(t),this.application.resize()}get currentModelOption(){return this.options.models[this.modelIndex]}loadNextModel(){return g(this,null,function*(){var t;if(this.options.models.length<=1){this.tips.notification("没找到其他模型哦...",3e3,9);return}this.tips.clear(),this.statusBar.showLoading(),yield this.stage.slideOut(this.options.transitionTime),this.application.stage.children.length>=1&&this.application.stage.removeChildAt(0),T((t=this.options.models)==null?void 0:t.length)&&(this.modelIndex<this.options.models.length-1?this.modelIndex++:this.modelIndex=0,this.loadModel(!1))})}sayHello(){H()}registerEvents(){this.menus.onClickItem(t=>{switch(t){case"Rest":this.stage.slideOut(this.options.transitionTime),this.statusBar.popup("休息中",z.info,!1,()=>{var e;this.stage.slideIn(this.options.transitionTime),this.statusBar.popup("闪亮登场"),(e=this.tips.idlePlayer)==null||e.start()}),this.tips.clear();return;case"SwitchModel":this.loadNextModel();return;case"About":window.open("https://oml2d.com");return}}),window.addEventListener("copy",()=>{this.tips.copy()}),this.stage.onSlideChangeEnd(t=>{t&&this.tips.welcome()})}createApplication(){return new this.Application({view:this.stage.canvasElement,resolution:2,autoStart:!0,autoDensity:!0,backgroundAlpha:0,resizeTo:this.stage.element})}}const Q=i=>{let t;return s=>g(this,null,function*(){var x;const{parentElement:o}=s,a=v(w,s);if(a.parentElement=o||document.body,!((x=a.models)!=null&&x.length))throw new Error("至少需要配置一个模型");const{PixiLive2dDisplay:h,PIXI:y}=yield i(a.importType,a.libraryUrls);t||(t=new U(a,h.Live2DModel,y.Application))})};window._iconfont_svg_string_3847283='<svg><symbol id="icon-bed" viewBox="0 0 1280 1024"><path d="M352 512c88.22 0 160-71.78 160-160s-71.78-160-160-160-160 71.78-160 160 71.78 160 160 160z m704-256H608c-17.68 0-32 14.32-32 32v288H128V160c0-17.68-14.32-32-32-32H32C14.32 128 0 142.32 0 160v704c0 17.68 14.32 32 32 32h64c17.68 0 32-14.32 32-32v-96h1024v96c0 17.68 14.32 32 32 32h64c17.68 0 32-14.32 32-32V480c0-123.72-100.28-224-224-224z" ></path></symbol><symbol id="icon-info-circle-fill" viewBox="0 0 1024 1024"><path d="M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64z m32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272z m-32-344c-26.5 0-48-21.5-48-48s21.5-48 48-48 48 21.5 48 48-21.5 48-48 48z" ></path></symbol><symbol id="icon-heart-fill" viewBox="0 0 1024 1024"><path d="M923 283.6c-13.4-31.1-32.6-58.9-56.9-82.8-24.3-23.8-52.5-42.4-84-55.5-32.5-13.5-66.9-20.3-102.4-20.3-49.3 0-97.4 13.5-139.2 39-10 6.1-19.5 12.8-28.5 20.1-9-7.3-18.5-14-28.5-20.1-41.8-25.5-89.9-39-139.2-39-35.5 0-69.9 6.8-102.4 20.3-31.4 13-59.7 31.7-84 55.5-24.4 23.9-43.5 51.7-56.9 82.8-13.9 32.3-21 66.6-21 101.9 0 33.3 6.8 68 20.3 103.3 11.3 29.5 27.5 60.1 48.2 91 32.8 48.9 77.9 99.9 133.9 151.6 92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3 56-51.7 101.1-102.7 133.9-151.6 20.7-30.9 37-61.5 48.2-91 13.5-35.3 20.3-70 20.3-103.3 0.1-35.3-7-69.6-20.9-101.9z" ></path></symbol><symbol id="icon-skin-fill" viewBox="0 0 1024 1024"><path d="M870 126H663.8c-17.4 0-32.9 11.9-37 29.3C614.3 208.1 567 246 512 246s-102.3-37.9-114.8-90.7c-4.1-17.4-19.5-29.3-37-29.3H154c-24.3 0-44 19.7-44 44v252c0 24.3 19.7 44 44 44h75v388c0 24.3 19.7 44 44 44h478c24.3 0 44-19.7 44-44V466h75c24.3 0 44-19.7 44-44V170c0-24.3-19.7-44-44-44z" ></path></symbol><symbol id="icon-setting-fill" viewBox="0 0 1024 1024"><path d="M512.5 390.6c-29.9 0-57.9 11.6-79.1 32.8-21.1 21.2-32.8 49.2-32.8 79.1 0 29.9 11.7 57.9 32.8 79.1 21.2 21.1 49.2 32.8 79.1 32.8 29.9 0 57.9-11.7 79.1-32.8 21.1-21.2 32.8-49.2 32.8-79.1 0-29.9-11.7-57.9-32.8-79.1-21.2-21.2-49.2-32.8-79.1-32.8z" ></path><path d="M924.8 626.1l-65.4-55.9c3.1-19 4.7-38.4 4.7-57.7s-1.6-38.8-4.7-57.7l65.4-55.9c10.1-8.6 13.8-22.6 9.3-35.2l-0.9-2.6c-18.1-50.4-44.8-96.8-79.6-137.7l-1.8-2.1c-8.6-10.1-22.5-13.9-35.1-9.5l-81.2 28.9c-30-24.6-63.4-44-99.6-57.5l-15.7-84.9c-2.4-13.1-12.7-23.3-25.8-25.7l-2.7-0.5c-52-9.4-106.8-9.4-158.8 0l-2.7 0.5c-13.1 2.4-23.4 12.6-25.8 25.7l-15.8 85.3c-35.9 13.6-69.1 32.9-98.9 57.3l-81.8-29.1c-12.5-4.4-26.5-0.7-35.1 9.5l-1.8 2.1c-34.8 41.1-61.5 87.4-79.6 137.7l-0.9 2.6c-4.5 12.5-0.8 26.5 9.3 35.2l66.2 56.5c-3.1 18.8-4.6 38-4.6 57 0 19.2 1.5 38.4 4.6 57l-66 56.5c-10.1 8.6-13.8 22.6-9.3 35.2l0.9 2.6c18.1 50.3 44.8 96.8 79.6 137.7l1.8 2.1c8.6 10.1 22.5 13.9 35.1 9.5l81.8-29.1c29.8 24.5 63 43.9 98.9 57.3l15.8 85.3c2.4 13.1 12.7 23.3 25.8 25.7l2.7 0.5c26.1 4.7 52.7 7.1 79.4 7.1 26.7 0 53.4-2.4 79.4-7.1l2.7-0.5c13.1-2.4 23.4-12.6 25.8-25.7l15.7-84.9c36.2-13.6 69.6-32.9 99.6-57.5l81.2 28.9c12.5 4.4 26.5 0.7 35.1-9.5l1.8-2.1c34.8-41.1 61.5-87.4 79.6-137.7l0.9-2.6c4.3-12.4 0.6-26.3-9.5-35z m-412.3 52.2c-97.1 0-175.8-78.7-175.8-175.8s78.7-175.8 175.8-175.8 175.8 78.7 175.8 175.8-78.7 175.8-175.8 175.8z" ></path></symbol><symbol id="icon-a-userswitch-fill" viewBox="0 0 1024 1024"><path d="M512 565c133.7 0 242-108.3 242-242S645.7 81 512 81 270 189.3 270 323s108.3 242 242 242z m4.8 299.3a264.4 264.4 0 0 1 0-205.6c2.3-5.4 4.8-10.8 7.4-16a4 4 0 0 0-3.7-5.8H512a311.4 311.4 0 0 1-122.2-24.7 319.8 319.8 0 0 1-57.9-32 4 4 0 0 0-4.2-0.3C208.7 645.3 128 771.7 128 917v25a4 4 0 0 0 4 4h429.9a4 4 0 0 0 3-6.7 261.9 261.9 0 0 1-48.1-75zM760 568c-106 0-192 86-192 192s86 192 192 192 192-86 192-192-86-192-192-192z m-98.4 136a4 4 0 0 1 4-4h124v-33.4c0-16 20.8-22.1 29.4-8.7l36.9 57.5a16 16 0 0 1-13.5 24.6H665.6a4 4 0 0 1-4-4z m196.8 112a4 4 0 0 1-4 4h-124v33.4c0 16-20.8 22.1-29.4 8.7l-36.9-57.5a16 16 0 0 1 13.5-24.6h176.8a4 4 0 0 1 4 4z" ></path></symbol><symbol id="icon-loading" viewBox="0 0 1024 1024"><path d="M563.2 819.2a102.4 102.4 0 1 1 0 204.8 102.4 102.4 0 0 1 0-204.8z m-320.4608-153.6a128 128 0 1 1 0 256 128 128 0 0 1 0-256z m592.7936 25.6a102.4 102.4 0 1 1 0 204.8 102.4 102.4 0 0 1 0-204.8zM947.2 477.1328a76.8 76.8 0 1 1 0 153.6 76.8 76.8 0 0 1 0-153.6zM128 307.2a128 128 0 1 1 0 256 128 128 0 0 1 0-256z m782.6432-40.6016a51.2 51.2 0 1 1 0 102.4 51.2 51.2 0 0 1 0-102.4zM409.6 0a153.6 153.6 0 1 1 0 307.2 153.6 153.6 0 0 1 0-307.2z m384 153.6a25.6 25.6 0 1 1 0 51.2 25.6 25.6 0 0 1 0-51.2z" ></path></symbol></svg>',function(i){var e=(e=document.getElementsByTagName("script"))[e.length-1],t=e.getAttribute("data-injectcss"),e=e.getAttribute("data-disable-injectsvg");if(!e){var s,o,a,h,y,x=function(m,l){l.parentNode.insertBefore(m,l)};if(t&&!i.__iconfont__svg__cssinject__){i.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(m){console&&console.log(m)}}s=function(){var m,l=document.createElement("div");l.innerHTML=i._iconfont_svg_string_3847283,(l=l.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",l=l,(m=document.body).firstChild?x(l,m.firstChild):m.appendChild(l))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(s,0):(o=function(){document.removeEventListener("DOMContentLoaded",o,!1),s()},document.addEventListener("DOMContentLoaded",o,!1)):document.attachEvent&&(a=s,h=i.document,y=!1,M(),h.onreadystatechange=function(){h.readyState=="complete"&&(h.onreadystatechange=null,S())})}function S(){y||(y=!0,a())}function M(){try{h.documentElement.doScroll("left")}catch(m){return void setTimeout(M,50)}S()}}(window);const G=Q((i,t)=>g(this,null,function*(){return yield j(i,t),window.PIXI.utils.skipHello(),{PixiLive2dDisplay:window.PIXI.live2d,PIXI:window.PIXI}}));d.loadOml2d=G,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});