PageSourceSearch

https://www.indianfoodtaiwan.com/assets/index-ftxs6c-6.js

js indianfoodtaiwan.com collected 2026-10-07 20:01:15 UTC 897,855 bytes, 640 lines download raw bytes

vendor: 4,750 bytes, lines 1-10
1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/BranchesPage-C1BbBryj.js","assets/branchLocalization-2LzjWXoQ.js","assets/arrow-down-pFmawoXE.js","assets/check-TqymPqWN.js","assets/use-reduced-motion-CVVMtPFx.js","assets/BranchDetailPage-Ct1nbdBn.js","assets/useReviews-BGKV0aWl.js","assets/chevron-left-C_8F6sQu.js","assets/chevron-right-CHNcnkp3.js","assets/dhabaZhDescriptions-De-8jdO-.js","assets/phone-CtYLju-B.js","assets/external-link-BaLFYQlv.js","assets/globe-B-J58hvN.js","assets/MenuPage-DEl3iqNG.js","assets/reservationBranchNames-BitzVH_Y.js","assets/HotDishPage-BELh2dNx.js","assets/message-circle-hSOb2mZe.js","assets/StoryPage-DOc_Y-5W.js","assets/OffersPage-B1xuncXl.js","assets/users-D7oLwWMT.js","assets/EventsPage-9QIl-WE3.js","assets/holiLegacyPage-Ph0NKAS8.js","assets/refresh-cw-BGTgan4R.js","assets/EventDetailPage-Ypy_ot-P.js","assets/GalleryPage-OXtqJXmS.js","assets/TestimonialsPage-B6oOG2eH.js","assets/ReservationPage-DPoRcObH.js","assets/loader-circle-BSKPDkMl.js","assets/ManageReservationPage-DFNAhm7T.js","assets/NotFoundPage-CMWS_VRC.js","assets/BlogPage-B18VEHsf.js","assets/BlogImage-azBfh6uT.js","assets/book-open-1eBtEEt8.js","assets/BlogPostPage-DeYFbB1s.js","assets/chineseBlogData-Cz1C1BLj.js","assets/ChineseBlogsPage-Cc-QeVuX.js","assets/TravelGuidePage-CbTETcrh.js","assets/CulturalChinesePages-Dpe3Moad.js","assets/DiscoverIndiaPage-CnX73dKp.js","assets/IndianSpicesPage-Jb9GwSPA.js","assets/MythsRealityPage-BLUd5-88.js","assets/CareerPage-Bx553sga.js","assets/LegalPage-DfWnTxHH.js","assets/ContactPage-DPei8dkQ.js","assets/LegacyServicePage-nXeiNta9.js"])))=>i.map(i=>d[i]);
2(function(){const n=document.createElement("link").relList;if(n&&n.supports&&n.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))s(l);new MutationObserver(l=>{for(const u of l)if(u.type==="childList")for(const h of u.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&s(h)}).observe(document,{childList:!0,subtree:!0});function i(l){const u={};return l.integrity&&(u.integrity=l.integrity),l.referrerPolicy&&(u.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?u.credentials="include":l.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function s(l){if(l.ep)return;l.ep=!0;const u=i(l);fetch(l.href,u)}})();function Nm(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Jl={exports:{}},Bi={},Xl={exports:{}},ce={};/**
3 * @license React
4 * react.production.min.js
5 *
6 * Copyright (c) Facebook, Inc. and its affiliates.
7 *
8 * This source code is licensed under the MIT license found in the
9 * LICENSE file in the root directory of this source tree.
10 */var Lp;function Hb(){if(Lp)return ce;Lp=1;var t=Symbol.for("react.element"),n=Symbol.for("react.portal"),i=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),h=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),g=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),b=Symbol.iterator;function w(C){return C===null||typeof C!="object"?null:(C=b&&C[b]||C["@@iterator"],typeof C=="function"?C:null)}var _={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},j=Object.assign,M={};function S(C,O,se){this.props=C,this.context=O,this.refs=M,this.updater=se||_}S.prototype.isReactComponent={},S.prototype.setState=function(C,O){if(typeof C!="object"&&typeof C!="function"&&C!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,C,O,"setState")},S.prototype.forceUpdate=function(C){this.updater.enqueueForceUpdate(this,C,"forceUpdate")};function E(){}E.prototype=S.prototype;function R(C,O,se){this.props=C,this.context=O,this.refs=M,this.updater=se||_}var K=R.prototype=new E;K.constructor=R,j(K,S.prototype),K.isPureReactComponent=!0;var W=Array.isArray,N=Object.prototype.hasOwnProperty,q={current:null},ee={key:!0,ref:!0,__self:!0,__source:!0};function V(C,O,se){var ue,fe={},me=null,ke=null;if(O!=null)for(ue in O.ref!==void 0&&(ke=O.ref),O.key!==void 0&&(me=""+O.key),O)N.call(O,ue)&&!ee.hasOwnProperty(ue)&&(fe[ue]=O[ue]);var be=arguments.length-2;if(be===1)fe.children=se;else if(1<be){for(var Se=Array(be),vt=0;vt<be;vt++)Se[vt]=arguments[vt+2];fe.children=Se}if(C&&C.defaultProps)for(ue in be=C.defaultProps,be)fe[ue]===void 0&&(fe[ue]=be[ue]);return{$$typeof:t,type:C,key:me,ref:ke,props:fe,_owner:q.current}}function oe(C,O){return{$$typeof:t,type:C.type,key:O,ref:C.ref,props:C.props,_owner:C._owner}}
vendor: 5,192 bytes, lines 10-18
10function he(C){return typeof C=="object"&&C!==null&&C.$$typeof===t}function Oe(C){var O={"=":"=0",":":"=2"};return"$"+C.replace(/[=:]/g,function(se){return O[se]})}var He=/\/+/g;function ze(C,O){return typeof C=="object"&&C!==null&&C.key!=null?Oe(""+C.key):O.toString(36)}function Xe(C,O,se,ue,fe){var me=typeof C;(me==="undefined"||me==="boolean")&&(C=null);var ke=!1;if(C===null)ke=!0;else switch(me){case"string":case"number":ke=!0;break;case"object":switch(C.$$typeof){case t:case n:ke=!0}}if(ke)return ke=C,fe=fe(ke),C=ue===""?"."+ze(ke,0):ue,W(fe)?(se="",C!=null&&(se=C.replace(He,"$&/")+"/"),Xe(fe,O,se,"",function(vt){return vt})):fe!=null&&(he(fe)&&(fe=oe(fe,se+(!fe.key||ke&&ke.key===fe.key?"":(""+fe.key).replace(He,"$&/")+"/")+C)),O.push(fe)),1;if(ke=0,ue=ue===""?".":ue+":",W(C))for(var be=0;be<C.length;be++){me=C[be];var Se=ue+ze(me,be);ke+=Xe(me,O,se,Se,fe)}else if(Se=w(C),typeof Se=="function")for(C=Se.call(C),be=0;!(me=C.next()).done;)me=me.value,Se=ue+ze(me,be++),ke+=Xe(me,O,se,Se,fe);else if(me==="object")throw O=String(C),Error("Objects are not valid as a React child (found: "+(O==="[object Object]"?"object with keys {"+Object.keys(C).join(", ")+"}":O)+"). If you meant to render a collection of children, use an array instead.");return ke}function Ve(C,O,se){if(C==null)return C;var ue=[],fe=0;return Xe(C,ue,"","",function(me){return O.call(se,me,fe++)}),ue}function lt(C){if(C._status===-1){var O=C._result;O=O(),O.then(function(se){(C._status===0||C._status===-1)&&(C._status=1,C._result=se)},function(se){(C._status===0||C._status===-1)&&(C._status=2,C._result=se)}),C._status===-1&&(C._status=0,C._result=O)}if(C._status===1)return C._result.default;throw C._result}var le={current:null},z={transition:null},te={ReactCurrentDispatcher:le,ReactCurrentBatchConfig:z,ReactCurrentOwner:q};function G(){throw Error("act(...) is not supported in production builds of React.")}return ce.Children={map:Ve,forEach:function(C,O,se){Ve(C,function(){O.apply(this,arguments)},se)},count:function(C){var O=0;return Ve(C,function(){O++}),O},toArray:function(C){return Ve(C,function(O){return O})||[]},only:function(C){if(!he(C))throw Error("React.Children.only expected to receive a single React element child.");return C}},ce.Component=S,ce.Fragment=i,ce.Profiler=l,ce.PureComponent=R,ce.StrictMode=s,ce.Suspense=m,ce.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=te,ce.act=G,ce.cloneElement=function(C,O,se){if(C==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+C+".");var ue=j({},C.props),fe=C.key,me=C.ref,ke=C._owner;if(O!=null){if(O.ref!==void 0&&(me=O.ref,ke=q.current),O.key!==void 0&&(fe=""+O.key),C.type&&C.type.defaultProps)var be=C.type.defaultProps;for(Se in O)N.call(O,Se)&&!ee.hasOwnProperty(Se)&&(ue[Se]=O[Se]===void 0&&be!==void 0?be[Se]:O[Se])}var Se=arguments.length-2;if(Se===1)ue.children=se;else if(1<Se){be=Array(Se);for(var vt=0;vt<Se;vt++)be[vt]=arguments[vt+2];ue.children=be}return{$$typeof:t,type:C.type,key:fe,ref:me,props:ue,_owner:ke}},ce.createContext=function(C){return C={$$typeof:h,_currentValue:C,_currentValue2:C,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},C.Provider={$$typeof:u,_context:C},C.Consumer=C},ce.createElement=V,ce.createFactory=function(C){var O=V.bind(null,C);return O.type=C,O},ce.createRef=function(){return{current:null}},ce.forwardRef=function(C){return{$$typeof:f,render:C}},ce.isValidElement=he,ce.lazy=function(C){return{$$typeof:y,_payload:{_status:-1,_result:C},_init:lt}},ce.memo=function(C,O){return{$$typeof:g,type:C,compare:O===void 0?null:O}},ce.startTransition=function(C){var O=z.transition;z.transition={};try{C()}finally{z.transition=O}},ce.unstable_act=G,ce.useCallback=function(C,O){return le.current.useCallback(C,O)},ce.useContext=function(C){return le.current.useContext(C)},ce.useDebugValue=function(){},ce.useDeferredValue=function(C){return le.current.useDeferredValue(C)},ce.useEffect=function(C,O){return le.current.useEffect(C,O)},ce.useId=function(){return le.current.useId()},ce.useImperativeHandle=function(C,O,se){return le.current.useImperativeHandle(C,O,se)},ce.useInsertionEffect=function(C,O){return le.current.useInsertionEffect(C,O)},ce.useLayoutEffect=function(C,O){return le.current.useLayoutEffect(C,O)},ce.useMemo=function(C,O){return le.current.useMemo(C,O)},ce.useReducer=function(C,O,se){return le.current.useReducer(C,O,se)},ce.useRef=function(C){return le.current.useRef(C)},ce.useState=function(C){return le.current.useState(C)},ce.useSyncExternalStore=function(C,O,se){return le.current.useSyncExternalStore(C,O,se)},ce.useTransition=function(){return le.current.useTransition()},ce.version="18.3.1",ce}var Op;function Zc(){return Op||(Op=1,Xl.exports=Hb()),Xl.exports}/**
11 * @license React
12 * react-jsx-runtime.production.min.js
13 *
14 * Copyright (c) Facebook, Inc. and its affiliates.
15 *
16 * This source code is licensed under the MIT license found in the
17 * LICENSE file in the root directory of this source tree.
18 */var Bp;function zb(){if(Bp)return Bi;Bp=1;var t=Zc(),n=Symbol.for("react.element"),i=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,l=t.__SECRET_INT
vendor: 1,378 bytes, lines 18-26
18ERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,u={key:!0,ref:!0,__self:!0,__source:!0};function h(f,m,g){var y,b={},w=null,_=null;g!==void 0&&(w=""+g),m.key!==void 0&&(w=""+m.key),m.ref!==void 0&&(_=m.ref);for(y in m)s.call(m,y)&&!u.hasOwnProperty(y)&&(b[y]=m[y]);if(f&&f.defaultProps)for(y in m=f.defaultProps,m)b[y]===void 0&&(b[y]=m[y]);return{$$typeof:n,type:f,key:w,ref:_,props:b,_owner:l.current}}return Bi.Fragment=i,Bi.jsx=h,Bi.jsxs=h,Bi}var Fp;function Vb(){return Fp||(Fp=1,Jl.exports=zb()),Jl.exports}var d=Vb(),x=Zc();const qb=Nm(x);var vs={},Ql={exports:{}},gt={},ec={exports:{}},tc={};/**
19 * @license React
20 * scheduler.production.min.js
21 *
22 * Copyright (c) Facebook, Inc. and its affiliates.
23 *
24 * This source code is licensed under the MIT license found in the
25 * LICENSE file in the root directory of this source tree.
26 */var Wp;function $b(){return Wp||(Wp=1,(function(t){function n(z,te){var G=z.length;z.push(te);e:for(;0<G;){var C=G-1>>>1,O=z[C];if(0<l(O,te))z[C]=te,z[G]=O,G=C;else break e}}function i(z){return z.length===0?null:z[0]}function s(z){if(z.length===0)return null;var te=z[0],G=z.pop();if(G!==te){z[0]=G;e:for(var C=0,O=z.length,se=O>>>1;C<se;){var ue=2*(C+1)-1,fe=z[ue],me=ue+1,ke=z[me];if(0>l(fe,G))me<O&&0>l(ke,fe)?(z[C]=ke,z[me]=G,C=me):(z[C]=fe,z[ue]=G,C=ue);else if(me<O&&0>l(ke,G))z[C]=ke,z[me]=G,C=me;else break e}}return te}
vendor: 48,959 bytes, lines 26-39
26function l(z,te){var G=z.sortIndex-te.sortIndex;return G!==0?G:z.id-te.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;t.unstable_now=function(){return u.now()}}else{var h=Date,f=h.now();t.unstable_now=function(){return h.now()-f}}var m=[],g=[],y=1,b=null,w=3,_=!1,j=!1,M=!1,S=typeof setTimeout=="function"?setTimeout:null,E=typeof clearTimeout=="function"?clearTimeout:null,R=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function K(z){for(var te=i(g);te!==null;){if(te.callback===null)s(g);else if(te.startTime<=z)s(g),te.sortIndex=te.expirationTime,n(m,te);else break;te=i(g)}}function W(z){if(M=!1,K(z),!j)if(i(m)!==null)j=!0,lt(N);else{var te=i(g);te!==null&&le(W,te.startTime-z)}}function N(z,te){j=!1,M&&(M=!1,E(V),V=-1),_=!0;var G=w;try{for(K(te),b=i(m);b!==null&&(!(b.expirationTime>te)||z&&!Oe());){var C=b.callback;if(typeof C=="function"){b.callback=null,w=b.priorityLevel;var O=C(b.expirationTime<=te);te=t.unstable_now(),typeof O=="function"?b.callback=O:b===i(m)&&s(m),K(te)}else s(m);b=i(m)}if(b!==null)var se=!0;else{var ue=i(g);ue!==null&&le(W,ue.startTime-te),se=!1}return se}finally{b=null,w=G,_=!1}}var q=!1,ee=null,V=-1,oe=5,he=-1;function Oe(){return!(t.unstable_now()-he<oe)}function He(){if(ee!==null){var z=t.unstable_now();he=z;var te=!0;try{te=ee(!0,z)}finally{te?ze():(q=!1,ee=null)}}else q=!1}var ze;if(typeof R=="function")ze=function(){R(He)};else if(typeof MessageChannel<"u"){var Xe=new MessageChannel,Ve=Xe.port2;Xe.port1.onmessage=He,ze=function(){Ve.postMessage(null)}}else ze=function(){S(He,0)};function lt(z){ee=z,q||(q=!0,ze())}function le(z,te){V=S(function(){z(t.unstable_now())},te)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(z){z.callback=null},t.unstable_continueExecution=function(){j||_||(j=!0,lt(N))},t.unstable_forceFrameRate=function(z){0>z||125<z?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):oe=0<z?Math.floor(1e3/z):5},t.unstable_getCurrentPriorityLevel=function(){return w},t.unstable_getFirstCallbackNode=function(){return i(m)},t.unstable_next=function(z){switch(w){case 1:case 2:case 3:var te=3;break;default:te=w}var G=w;w=te;try{return z()}finally{w=G}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(z,te){switch(z){case 1:case 2:case 3:case 4:case 5:break;default:z=3}var G=w;w=z;try{return te()}finally{w=G}},t.unstable_scheduleCallback=function(z,te,G){var C=t.unstable_now();switch(typeof G=="object"&&G!==null?(G=G.delay,G=typeof G=="number"&&0<G?C+G:C):G=C,z){case 1:var O=-1;break;case 2:O=250;break;case 5:O=1073741823;break;case 4:O=1e4;break;default:O=5e3}return O=G+O,z={id:y++,callback:te,priorityLevel:z,startTime:G,expirationTime:O,sortIndex:-1},G>C?(z.sortIndex=G,n(g,z),i(m)===null&&z===i(g)&&(M?(E(V),V=-1):M=!0,le(W,G-C))):(z.sortIndex=O,n(m,z),j||_||(j=!0,lt(N))),z},t.unstable_shouldYield=Oe,t.unstable_wrapCallback=function(z){var te=w;return function(){var G=w;w=te;try{return z.apply(this,arguments)}finally{w=G}}}})(tc)),tc}var Hp;function Ub(){return Hp||(Hp=1,ec.exports=$b()),ec.exports}/**
27 * @license React
28 * react-dom.production.min.js
29 *
30 * Copyright (c) Facebook, Inc. and its affiliates.
31 *
32 * This source code is licensed under the MIT license found in the
33 * LICENSE file in the root directory of this source tree.
34 */var zp;function Gb(){if(zp)return gt;zp=1;var t=Zc(),n=Ub();function i(e){for(var a="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r<arguments.length;r++)a+="&args[]="+encodeURIComponent(arguments[r]);return"Minified React error #"+e+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var s=new Set,l={};function u(e,a){h(e,a),h(e+"Capture",a)}function h(e,a){for(l[e]=a,e=0;e<a.length;e++)s.add(a[e])}var f=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),m=Object.prototype.hasOwnProperty,g=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,y={},b={};function w(e){return m.call(b,e)?!0:m.call(y,e)?!1:g.test(e)?b[e]=!0:(y[e]=!0,!1)}function _(e,a,r,o){if(r!==null&&r.type===0)return!1;switch(typeof a){case"function":case"symbol":return!0;case"boolean":return o?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function j(e,a,r,o){if(a===null||typeof a>"u"||_(e,a,r,o))return!0;if(o)return!1;if(r!==null)switch(r.type){case 3:return!a;case 4:return a===!1;case 5:return isNaN(a);case 6:return isNaN(a)||1>a}return!1}function M(e,a,r,o,c,p,v){this.acceptsBooleans=a===2||a===3||a===4,this.attributeName=o,this.attributeNamespace=c,this.mustUseProperty=r,this.propertyName=e,this.type=a,this.sanitizeURL=p,this.removeEmptyString=v}var S={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){S[e]=new M(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var a=e[0];S[a]=new M(a,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){S[e]=new M(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){S[e]=new M(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){S[e]=new M(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){S[e]=new M(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){S[e]=new M(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){S[e]=new M(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){S[e]=new M(e,5,!1,e.toLowerCase(),null,!1,!1)});var E=/[\-:]([a-z])/g;function R(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var a=e.replace(E,R);S[a]=new M(a,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var a=e.replace(E,R);S[a]=new M(a,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var a=e.replace(E,R);S[a]=new M(a,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){S[e]=new M(e,1,!1,e.toLowerCase(),null,!1,!1)}),S.xlinkHref=new M("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){S[e]=new M(e,1,!1,e.toLowerCase(),null,!0,!0)});function K(e,a,r,o){var c=S.hasOwnProperty(a)?S[a]:null;(c!==null?c.type!==0:o||!(2<a.length)||a[0]!=="o"&&a[0]!=="O"||a[1]!=="n"&&a[1]!=="N")&&(j(a,r,c,o)&&(r=null),o||c===null?w(a)&&(r===null?e.removeAttribute(a):e.setAttribute(a,""+r)):c.mustUseProperty?e[c.propertyName]=r===null?c.type===3?!1:"":r:(a=c.attributeName,o=c.attributeNamespace,r===null?e.removeAttribute(a):(c=c.type,r=c===3||c===4&&r===!0?"":""+r,o?e.setAttributeNS(o,a,r):e.setAttribute(a,r))))}var W=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,N=Symbol.for("react.element"),q=Symbol.for("react.portal"),ee=Symbol.for("react.fragment"),V=Symbol.for("react.strict_mode"),oe=Symbol.for("react.profiler"),he=Symbol.for("react.provider"),Oe=Symbol.for("react.context"),He=Symbol.for("react.forward_ref"),ze=Symbol.for("react.suspense"),Xe=Symbol.for("react.suspense_list"),Ve=Symbol.for("react.memo"),lt=Symbol.for("react.lazy"),le=Symbol.for("react.offscreen"),z=Symbol.iterator;function te(e){return e===null||typeof e!="object"?null:(e=z&&e[z]||e["@@iterator"],typeof e=="function"?e:null)}var G=Object.assign,C;function O(e){if(C===void 0)try{throw Error()}catch(r){var a=r.stack.trim().match(/\n( *(at )?)/);C=a&&a[1]||""}return`
35`+C+e}var se=!1;function ue(e,a){if(!e||se)return"";se=!0;var r=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(a)if(a=function(){throw Error()},Object.defineProperty(a.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(a,[])}catch(A){var o=A}Reflect.construct(e,[],a)}else{try{a.call()}catch(A){o=A}e.call(a.prototype)}else{try{throw Error()}catch(A){o=A}e()}}catch(A){if(A&&o&&typeof A.stack=="string"){for(var c=A.stack.split(`
36`),p=o.stack.split(`
37`),v=c.length-1,k=p.length-1;1<=v&&0<=k&&c[v]!==p[k];)k--;for(;1<=v&&0<=k;v--,k--)if(c[v]!==p[k]){if(v!==1||k!==1)do if(v--,k--,0>k||c[v]!==p[k]){var T=`
38`+c[v].replace(" at new "," at ");return e.displayName&&T.includes("<anonymous>")&&(T=T.replace("<anonymous>",e.displayName)),T}while(1<=v&&0<=k);break}}}finally{se=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?O(e):""}function fe(e){switch(e.tag){case 5:return O(e.type);case 16:return O("Lazy");case 13:return O("Suspense");case 19:return O("SuspenseList");case 0:case 2:case 15:return e=ue(e.type,!1),e;case 11:return e=ue(e.type.render,!1),e;case 1:return e=ue(e.type,!0),e;default:return""}}function me(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case ee:return"Fragment";case q:return"Portal";case oe:return"Profiler";case V:return"StrictMode";case ze:return"Suspense";case Xe:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Oe:return(e.displayName||"Context")+".Consumer";case he:return(e._context.displayName||"Context")+".Provider";case He:var a=e.render;return e=e.displayName,e||(e=a.displayName||a.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Ve:return a=e.displayName||null,a!==null?a:me(e.type)||"Memo";case lt:a=e._payload,e=e._init;try{return me(e(a))}catch{}}return null}function ke(e){var a=e.type;switch(e.tag){case 24:return"Cache";case 9:return(a.displayName||"Context")+".Consumer";case 10:return(a._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=a.render,e=e.displayName||e.name||"",a.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return a;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return me(a);case 8:return a===V?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a}return null}function be(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Se(e){var a=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function vt(e){var a=Se(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,a),o=""+e[a];if(!e.hasOwnProperty(a)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var c=r.get,p=r.set;return Object.defineProperty(e,a,{configurable:!0,get:function(){return c.call(this)},set:function(v){o=""+v,p.call(this,v)}}),Object.defineProperty(e,a,{enumerable:r.enumerable}),{getValue:function(){return o},setValue:function(v){o=""+v},stopTracking:function(){e._valueTracker=null,delete e[a]}}}}function cr(e){e._valueTracker||(e._valueTracker=vt(e))}function zu(e){if(!e)return!1;var a=e._valueTracker;if(!a)return!0;var r=a.getValue(),o="";return e&&(o=Se(e)?e.checked?"true":"false":e.value),e=o,e!==r?(a.setValue(e),!0):!1}function ur(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function no(e,a){var r=a.checked;return G({},a,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function Vu(e,a){var r=a.defaultValue==null?"":a.defaultValue,o=a.checked!=null?a.checked:a.defaultChecked;r=be(a.value!=null?a.value:r),e._wrapperState={initialChecked:o,initialValue:r,controlled:a.type==="checkbox"||a.type==="radio"?a.checked!=null:a.value!=null}}function qu(e,a){a=a.checked,a!=null&&K(e,"checked",a,!1)}function io(e,a){qu(e,a);var r=be(a.value),o=a.type;if(r!=null)o==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(o==="submit"||o==="reset"){e.removeAttribute("value");return}a.hasOwnProperty("value")?ro(e,a.type,r):a.hasOwnProperty("defaultValue")&&ro(e,a.type,be(a.defaultValue)),a.checked==null&&a.defaultChecked!=null&&(e.defaultChecked=!!a.defaultChecked)}function $u(e,a,r){if(a.hasOwnProperty("value")||a.hasOwnProperty("defaultValue")){var o=a.type;if(!(o!=="submit"&&o!=="reset"||a.value!==void 0&&a.value!==null))return;a=""+e._wrapperState.initialValue,r||a===e.value||(e.value=a),e.defaultValue=a}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function ro(e,a,r){(a!=="number"||ur(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var ei=Array.isArray;function pn(e,a,r,o){if(e=e.options,a){a={};for(var c=0;c<r.length;c++)a["$"+r[c]]=!0;for(r=0;r<e.length;r++)c=a.hasOwnProperty("$"+e[r].value),e[r].selected!==c&&(e[r].selected=c),c&&o&&(e[r].defaultSelected=!0)}else{for(r=""+be(r),a=null,c=0;c<e.length;c++){if(e[c].value===r){e[c].selected=!0,o&&(e[c].defaultSelected=!0);return}a!==null||e[c].disabled||(a=e[c])}a!==null&&(a.selected=!0)}}function so(e,a){if(a.dangerouslySetInnerHTML!=null)throw Error(i(91));return G({},a,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function Uu(e,a){var r=a.value;if(r==null){if(r=a.children,a=a.defaultValue,r!=null){if(a!=null)throw Error(i(92));if(ei(r)){if(1<r.length)throw Error(i(93));r=r[0]}a=r}a==null&&(a=""),r=a}e._wrapperState={initialValue:be(r)}}function Gu(e,a){var r=be(a.value),o=be(a.defaultValue);r!=null&&(r=""+r,r!==e.value&&(e.value=r),a.defaultValue==null&&e.defaultValue!==r&&(e.defaultValue=r)),o!=null&&(e.defaultValue=""+o)}function Yu(e){var a=e.textContent;a===e._wrapperState.initialValue&&a!==""&&a!==null&&(e.value=a)}function Zu(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function oo(e,a){return e==null||e==="http://www.w3.org/1999/xhtml"?Zu(a):e==="http://www.w3.org/2000/svg"&&a==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var dr,Ju=(function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(a,r,o,c){MSApp.execUnsafeLocalFunction(function(){return e(a,r,o,c)})}:e})(function(e,a){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=a;else{for(dr=dr||document.createElement("div"),dr.innerHTML="<svg>"+a.valueOf().toString()+"</svg>",a=dr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;a.firstChild;)e.appendChild(a.firstChild)}});function ti(e,a){if(a){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=a;return}}e.textContent=a}var ai={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},$y=["Webkit","ms","Moz","O"];Object.keys(ai).forEach(function(e){$y.forEach(function(a){a=a+e.charAt(0).toUpperCase()+e.substring(1),ai[a]=ai[e]})});function Xu(e,a,r){return a==null||typeof a=="boolean"||a===""?"":r||typeof a!="number"||a===0||ai.hasOwnProperty(e)&&ai[e]?(""+a).trim():a+"px"}function Qu(e,a){e=e.style;for(var r in a)if(a.hasOwnProperty(r)){var o=r.indexOf("--")===0,c=Xu(r,a[r],o);r==="float"&&(r="cssFloat"),o?e.setProperty(r,c):e[r]=c}}var Uy=G({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function lo(e,a){if(a){if(Uy[e]&&(a.children!=null||a.dangerouslySetInnerHTML!=null))throw Error(i(137,e));if(a.dangerouslySetInnerHTML!=null){if(a.children!=null)throw Error(i(60));if(typeof a.dangerouslySetInnerHTML!="object"||!("__html"in a.dangerouslySetInnerHTML))throw Error(i(61))}if(a.style!=null&&typeof a.style!="object")throw Error(i(62))}}function co(e,a){if(e.indexOf("-")===-1)return typeof a.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var uo=null;function ho(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var po=null,fn=null,mn=null;function ed(e){if(e=Ti(e)){if(typeof po!="function")throw Error(i(280));var a=e.stateNode;a&&(a=Nr(a),po(e.stateNode,e.type,a))}}function td(e){fn?mn?mn.push(e):mn=[e]:fn=e}function ad(){if(fn){var e=fn,a=mn;if(mn=fn=null,ed(e),a)for(e=0;e<a.length;e++)ed(a[e])}}function nd(e,a){return e(a)}function id(){}var fo=!1;function rd(e,a,r){if(fo)return e(a,r);fo=!0;try{return nd(e,a,r)}finally{fo=!1,(fn!==null||mn!==null)&&(id(),ad())}}function ni(e,a){var r=e.stateNode;if(r===null)return null;var o=Nr(r);if(o===null)return null;r=o[a];e:switch(a){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(o=!o.disabled)||(e=e.type,o=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!o;break e;default:e=!1}if(e)return null;if(r&&typeof r!="function")throw Error(i(231,a,typeof r));return r}var mo=!1;if(f)try{var ii={};Object.defineProperty(ii,"passive",{get:function(){mo=!0}}),window.addEventListener("test",ii,ii),window.removeEventListener("test",ii,ii)}catch{mo=!1}function Gy(e,a,r,o,c,p,v,k,T){var A=Array.prototype.slice.call(arguments,3);try{a.apply(r,A)}catch(B){this.onError(B)}}var ri=!1,hr=null,pr=!1,go=null,Yy={onError:function(e){ri=!0,hr=e}};function Zy(e,a,r,o,c,p,v,k,T){ri=!1,hr=null,Gy.apply(Yy,arguments)}function Jy(e,a,r,o,c,p,v,k,T){if(Zy.apply(this,arguments),ri){if(ri){var A=hr;ri=!1,hr=null}else throw Error(i(198));pr||(pr=!0,go=A)}}function $a(e){var a=e,r=e;if(e.alternate)for(;a.return;)a=a.return;else{e=a;do a=e,(a.flags&4098)!==0&&(r=a.return),e=a.return;while(e)}return a.tag===3?r:null}function sd(e){if(e.tag===13){var a=e.memoizedState;if(a===null&&(e=e.alternate,e!==null&&(a=e.memoizedState)),a!==null)return a.dehydrated}return null}function od(e){if($a(e)!==e)throw Error(i(188))}function Xy(e){var a=e.alternate;if(!a){if(a=$a(e),a===null)throw Error(i(188));return a!==e?null:e}for(var r=e,o=a;;){var c=r.return;if(c===null)break;var p=c.alternate;if(p===null){if(o=c.return,o!==null){r=o;continue}break}if(c.child===p.child){for(p=c.child;p;){if(p===r)return od(c),e;if(p===o)return od(c),a;p=p.sibling}throw Error(i(188))}if(r.return!==o.return)r=c,o=p;else{for(var v=!1,k=c.child;k;){if(k===r){v=!0,r=c,o=p;break}if(k===o){v=!0,o=c,r=p;break}k=k.sibling}if(!v){for(k=p.child;k;){if(k===r){v=!0,r=p,o=c;break}if(k===o){v=!0,o=p,r=c;break}k=k.sibling}if(!v)throw Error(i(189))}}if(r.alternate!==o)throw Error(i(190))}if(r.tag!==3)throw Error(i(188));return r.stateNode.current===r?e:a}function ld(e){return e=Xy(e),e!==null?cd(e):null}function cd(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var a=cd(e);if(a!==null)return a;e=e.sibling}return null}var ud=n.unstable_scheduleCallback,dd=n.unstable_cancelCallback,Qy=n.unstable_shouldYield,e0=n.unstable_requestPaint,Be=n.unstable_now,t0=n.unstable_getCurrentPriorityLevel,yo=n.unstable_ImmediatePriority,hd=n.unstable_UserBlockingPriority,fr=n.unstable_NormalPriority,a0=n.unstable_LowPriority,pd=n.unstable_IdlePriority,mr=null,Zt=null;function n0(e){if(Zt&&typeof Zt.onCommitFiberRoot=="function")try{Zt.onCommitFiberRoot(mr,e,void 0,(e.current.flags&128)===128)}catch{}}var Bt=Math.clz32?Math.clz32:s0,i0=Math.log,r0=Math.LN2;function s0(e){return e>>>=0,e===0?32:31-(i0(e)/r0|0)|0}var gr=64,yr=4194304;function si(e){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:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function br(e,a){var r=e.pendingLanes;if(r===0)return 0;var o=0,c=e.suspendedLanes,p=e.pingedLanes,v=r&268435455;if(v!==0){var k=v&~c;k!==0?o=si(k):(p&=v,p!==0&&(o=si(p)))}else v=r&~c,v!==0?o=si(v):p!==0&&(o=si(p));if(o===0)return 0;if(a!==0&&a!==o&&(a&c)===0&&(c=o&-o,p=a&-a,c>=p||c===16&&(p&4194240)!==0))return a;if((o&4)!==0&&(o|=r&16),a=e.entangledLanes,a!==0)for(e=e.entanglements,a&=o;0<a;)r=31-Bt(a),c=1<<r,o|=e[r],a&=~c;return o}function o0(e,a){switch(e){case 1:case 2:case 4:return a+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function l0(e,a){for(var r=e.suspendedLanes,o=e.pingedLanes,c=e.expirationTimes,p=e.pendingLanes;0<p;){var v=31-Bt(p),k=1<<v,T=c[v];T===-1?((k&r)===0||(k&o)!==0)&&(c[v]=o0(k,a)):T<=a&&(e.expiredLanes|=k),p&=~k}}function bo(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function fd(){var e=gr;return gr<<=1,(gr&4194240)===0&&(gr=64),e}function vo(e){for(var a=[],r=0;31>r;r++)a.push(e);return a}function oi(e,a,r){e.pendingLanes|=a,a!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,a=31-Bt(a),e[a]=r}function c0(e,a){var r=e.pendingLanes&~a;e.pendingLanes=a,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=a,e.mutableReadLanes&=a,e.entangledLanes&=a,a=e.entanglements;var o=e.eventTimes;for(e=e.expirationTimes;0<r;){var c=31-Bt(r),p=1<<c;a[c]=0,o[c]=-1,e[c]=-1,r&=~p}}function wo(e,a){var r=e.entangledLanes|=a;for(e=e.entanglements;r;){var o=31-Bt(r),c=1<<o;c&a|e[o]&a&&(e[o]|=a),r&=~c}}var ve=0;function md(e){return e&=-e,1<e?4<e?(e&268435455)!==0?16:536870912:4:1}var gd,xo,yd,bd,vd,ko=!1,vr=[],ba=null,va=null,wa=null,li=new Map,ci=new Map,xa=[],u0="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function wd(e,a){switch(e){case"focusin":case"focusout":ba=null;break;case"dragenter":case"dragleave":va=null;break;case"mouseover":case"mouseout":wa=null;break;case"pointerover":case"pointerout":li.delete(a.pointerId);break;case"gotpointercapture":case"lostpointercapture":ci.delete(a.pointerId)}}function ui(e,a,r,o,c,p){return e===null||e.nativeEvent!==p?(e={blockedOn:a,domEventName:r,eventSystemFlags:o,nativeEvent:p,targetContainers:[c]},a!==null&&(a=Ti(a),a!==null&&xo(a)),e):(e.eventSystemFlags|=o,a=e.targetContainers,c!==null&&a.indexOf(c)===-1&&a.push(c),e)}function d0(e,a,r,o,c){switch(a){case"focusin":return ba=ui(ba,e,a,r,o,c),!0;case"dragenter":return va=ui(va,e,a,r,o,c),!0;case"mouseover":return wa=ui(wa,e,a,r,o,c),!0;case"pointerover":var p=c.pointerId;return li.set(p,ui(li.get(p)||null,e,a,r,o,c)),!0;case"gotpointercapture":return p=c.pointerId,ci.set(p,ui(ci.get(p)||null,e,a,r,o,c)),!0}return!1}function xd(e){var a=Ua(e.target);if(a!==null){var r=$a(a);if(r!==null){if(a=r.tag,a===13){if(a=sd(r),a!==null){e.blockedOn=a,vd(e.priority,function(){yd(r)});return}}else if(a===3&&r.stateNode.current.memoizedState.isDehydrated){e.blockedOn=r.tag===3?r.stateNode.containerInfo:null;return}}}e.blockedOn=null}function wr(e){if(e.blockedOn!==null)return!1;for(var a=e.targetContainers;0<a.length;){var r=To(e.domEventName,e.eventSystemFlags,a[0],e.nativeEvent);if(r===null){r=e.nativeEvent;var o=new r.constructor(r.type,r);uo=o,r.target.dispatchEvent(o),uo=null}else return a=Ti(r),a!==null&&xo(a),e.blockedOn=r,!1;a.shift()}return!0}function kd(e,a,r){wr(e)&&r.delete(a)}function h0(){ko=!1,ba!==null&&wr(ba)&&(ba=null),va!==null&&wr(va)&&(va=null),wa!==null&&wr(wa)&&(wa=null),li.forEach(kd),ci.forEach(kd)}function di(e,a){e.blockedOn===a&&(e.blockedOn=null,ko||(ko=!0,n.unstable_scheduleCallback(n.unstable_NormalPriority,h0)))}function hi(e){function a(c){return di(c,e)}if(0<vr.length){di(vr[0],e);for(var r=1;r<vr.length;r++){var o=vr[r];o.blockedOn===e&&(o.blockedOn=null)}}for(ba!==null&&di(ba,e),va!==null&&di(va,e),wa!==null&&di(wa,e),li.forEach(a),ci.forEach(a),r=0;r<xa.length;r++)o=xa[r],o.blockedOn===e&&(o.blockedOn=null);for(;0<xa.length&&(r=xa[0],r.blockedOn===null);)xd(r),r.blockedOn===null&&xa.shift()}var gn=W.ReactCurrentBatchConfig,xr=!0;function p0(e,a,r,o){var c=ve,p=gn.transition;gn.transition=null;try{ve=1,_o(e,a,r,o)}finally{ve=c,gn.transition=p}}function f0(e,a,r,o){var c=ve,p=gn.transition;gn.transition=null;try{ve=4,_o(e,a,r,o)}finally{ve=c,gn.transition=p}}function _o(e,a,r,o){if(xr){var c=To(e,a,r,o);if(c===null)Wo(e,a,o,kr,r),wd(e,o);else if(d0(c,e,a,r,o))o.stopPropagation();else if(wd(e,o),a&4&&-1<u0.indexOf(e)){for(;c!==null;){var p=Ti(c);if(p!==null&&gd(p),p=To(e,a,r,o),p===null&&Wo(e,a,o,kr,r),p===c)break;c=p}c!==null&&o.stopPropagation()}else Wo(e,a,o,null,r)}}var kr=null;function To(e,a,r,o){if(kr=null,e=ho(o),e=Ua(e),e!==null)if(a=$a(e),a===null)e=null;else if(r=a.tag,r===13){if(e=sd(a),e!==null)return e;e=null}else if(r===3){if(a.stateNode.current.memoizedState.isDehydrated)return a.tag===3?a.stateNode.containerInfo:null;e=null}else a!==e&&(e=null);return kr=e,null}function _d(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(t0()){case yo:return 1;case hd:return 4;case fr:case a0:return 16;case pd:return 536870912;default:return 16}default:return 16}}var ka=null,Io=null,_r=null;function Td(){if(_r)return _r;var e,a=Io,r=a.length,o,c="value"in ka?ka.value:ka.textContent,p=c.length;for(e=0;e<r&&a[e]===c[e];e++);var v=r-e;for(o=1;o<=v&&a[r-o]===c[p-o];o++);return _r=c.slice(e,1<o?1-o:void 0)}function Tr(e){var a=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&a===13&&(e=13)):e=a,e===10&&(e=13),32<=e||e===13?e:0}function Ir(){return!0}function Id(){return!1}function wt(e){function a(r,o,c,p,v){this._reactName=r,this._targetInst=c,this.type=o,this.nativeEvent=p,this.target=v,this.currentTarget=null;for(var k in e)e.hasOwnProperty(k)&&(r=e[k],this[k]=r?r(p):p[k]);return this.isDefaultPrevented=(p.defaultPrevented!=null?p.defaultPrevented:p.returnValue===!1)?Ir:Id,this.isPropagationStopped=Id,this}return G(a.prototype,{preventDefault:function(){this.defaultPrevented=!0;var r=this.nativeEvent;r&&(r.preventDefault?r.preventDefault():typeof r.returnValue!="unknown"&&(r.returnValue=!1),this.isDefaultPrevented=Ir)},stopPropagation:function(){var r=this.nativeEvent;r&&(r.stopPropagation?r.stopPropagation():typeof r.cancelBubble!="unknown"&&(r.cancelBubble=!0),this.isPropagationStopped=Ir)},persist:function(){},isPersistent:Ir}),a}var yn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Mo=wt(yn),pi=G({},yn,{view:0,detail:0}),m0=wt(pi),So,jo,fi,Mr=G({},pi,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Po,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==fi&&(fi&&e.type==="mousemove"?(So=e.screenX-fi.screenX,jo=e.screenY-fi.screenY):jo=So=0,fi=e),So)},movementY:function(e){return"movementY"in e?e.movementY:jo}}),Md=wt(Mr),g0=G({},Mr,{dataTransfer:0}),y0=wt(g0),b0=G({},pi,{relatedTarget:0}),Co=wt(b0),v0=G({},yn,{animationName:0,elapsedTime:0,pseudoElement:0}),w0=wt(v0),x0=G({},yn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),k0=wt(x0),_0=G({},yn,{data:0}),Sd=wt(_0),T0={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},I0={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},M0={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function S0(e){var a=this.nativeEvent;return a.getModifierState?a.getModifierState(e):(e=M0[e])?!!a[e]:!1}function Po(){return S0}var j0=G({},pi,{key:function(e){if(e.key){var a=T0[e.key]||e.key;if(a!=="Unidentified")return a}return e.type==="keypress"?(e=Tr(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?I0[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Po,charCode:function(e){return e.type==="keypress"?Tr(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Tr(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),C0=wt(j0),P0=G({},Mr,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),jd=wt(P0),E0=G({},pi,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Po}),D0=wt(E0),A0=G({},yn,{propertyName:0,elapsedTime:0,pseudoElement:0}),N0=wt(A0),R0=G({},Mr,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),K0=wt(R0),L0=[9,13,27,32],Eo=f&&"CompositionEvent"in window,mi=null;f&&"documentMode"in document&&(mi=document.documentMode);var O0=f&&"TextEvent"in window&&!mi,Cd=f&&(!Eo||mi&&8<mi&&11>=mi),Pd=" ",Ed=!1;function Dd(e,a){switch(e){case"keyup":return L0.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ad(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var bn=!1;function B0(e,a){switch(e){case"compositionend":return Ad(a);case"keypress":return a.which!==32?null:(Ed=!0,Pd);case"textInput":return e=a.data,e===Pd&&Ed?null:e;default:return null}}function F0(e,a){if(bn)return e==="compositionend"||!Eo&&Dd(e,a)?(e=Td(),_r=Io=ka=null,bn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1<a.char.length)return a.char;if(a.which)return String.fromCharCode(a.which)}return null;case"compositionend":return Cd&&a.locale!=="ko"?null:a.data;default:return null}}var W0={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Nd(e){var a=e&&e.nodeName&&e.nodeName.toLowerCase();return a==="input"?!!W0[e.type]:a==="textarea"}function Rd(e,a,r,o){td(o),a=Er(a,"onChange"),0<a.length&&(r=new Mo("onChange","change",null,r,o),e.push({event:r,listeners:a}))}var gi=null,yi=null;function H0(e){Qd(e,0)}function Sr(e){var a=_n(e);if(zu(a))return e}function z0(e,a){if(e==="change")return a}var Kd=!1;if(f){var Do;if(f){var Ao="oninput"in document;if(!Ao){var Ld=document.createElement("div");Ld.setAttribute("oninput","return;"),Ao=typeof Ld.oninput=="function"}Do=Ao}else Do=!1;Kd=Do&&(!document.documentMode||9<document.documentMode)}function Od(){gi&&(gi.detachEvent("onpropertychange",Bd),yi=gi=null)}function Bd(e){if(e.propertyName==="value"&&Sr(yi)){var a=[];Rd(a,yi,e,ho(e)),rd(H0,a)}}function V0(e,a,r){e==="focusin"?(Od(),gi=a,yi=r,gi.attachEvent("onpropertychange",Bd)):e==="focusout"&&Od()}function q0(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return Sr(yi)}function $0(e,a){if(e==="click")return Sr(a)}function U0(e,a){if(e==="input"||e==="change")return Sr(a)}function G0(e,a){return e===a&&(e!==0||1/e===1/a)||e!==e&&a!==a}var Ft=typeof Object.is=="function"?Object.is:G0;function bi(e,a){if(Ft(e,a))return!0;if(typeof e!="object"||e===null||typeof a!="object"||a===null)return!1;var r=Object.keys(e),o=Object.keys(a);if(r.length!==o.length)return!1;for(o=0;o<r.length;o++){var c=r[o];if(!m.call(a,c)||!Ft(e[c],a[c]))return!1}return!0}function Fd(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Wd(e,a){var r=Fd(e);e=0;for(var o;r;){if(r.nodeType===3){if(o=e+r.textContent.length,e<=a&&o>=a)return{node:r,offset:a-e};e=o}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Fd(r)}}function Hd(e,a){return e&&a?e===a?!0:e&&e.nodeType===3?!1:a&&a.nodeType===3?Hd(e,a.parentNode):"contains"in e?e.contains(a):e.compareDocumentPosition?!!(e.compareDocumentPosition(a)&16):!1:!1}function zd(){for(var e=window,a=ur();a instanceof e.HTMLIFrameElement;){try{var r=typeof a.contentWindow.location.href=="string"}catch{r=!1}if(r)e=a.contentWindow;else break;a=ur(e.document)}return a}function No(e){var a=e&&e.nodeName&&e.nodeName.toLowerCase();return a&&(a==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||a==="textarea"||e.contentEditable==="true")}function Y0(e){var a=zd(),r=e.focusedElem,o=e.selectionRange;if(a!==r&&r&&r.ownerDocument&&Hd(r.ownerDocument.documentElement,r)){if(o!==null&&No(r)){if(a=o.start,e=o.end,e===void 0&&(e=a),"selectionStart"in r)r.selectionStart=a,r.selectionEnd=Math.min(e,r.value.length);else if(e=(a=r.ownerDocument||document)&&a.defaultView||window,e.getSelection){e=e.getSelection();var c=r.textContent.length,p=Math.min(o.start,c);o=o.end===void 0?p:Math.min(o.end,c),!e.extend&&p>o&&(c=o,o=p,p=c),c=Wd(r,p);var v=Wd(r,o);c&&v&&(e.rangeCount!==1||e.anchorNode!==c.node||e.anchorOffset!==c.offset||e.focusNode!==v.node||e.focusOffset!==v.offset)&&(a=a.createRange(),a.setStart(c.node,c.offset),e.removeAllRanges(),p>o?(e.addRange(a),e.extend(v.node,v.offset)):(a.setEnd(v.node,v.offset),e.addRange(a)))}}for(a=[],e=r;e=e.parentNode;)e.nodeType===1&&a.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r<a.length;r++)e=a[r],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var Z0=f&&"documentMode"in document&&11>=document.documentMode,vn=null,Ro=null,vi=null,Ko=!1;function Vd(e,a,r){var o=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;Ko||vn==null||vn!==ur(o)||(o=vn,"selectionStart"in o&&No(o)?o={start:o.selectionStart,end:o.selectionEnd}:(o=(o.ownerDocument&&o.ownerDocument.defaultView||window).getSelection(),o={anchorNode:o.anchorNode,anchorOffset:o.anchorOffset,focusNode:o.focusNode,focusOffset:o.focusOffset}),vi&&bi(vi,o)||(vi=o,o=Er(Ro,"onSelect"),0<o.length&&(a=new Mo("onSelect","select",null,a,r),e.push({event:a,listeners:o}),a.target=vn)))}function jr(e,a){var r={};return r[e.toLowerCase()]=a.toLowerCase(),r["Webkit"+e]="webkit"+a,r["Moz"+e]="moz"+a,r}var wn={animationend:jr("Animation","AnimationEnd"),animationiteration:jr("Animation","AnimationIteration"),animationstart:jr("Animation","AnimationStart"),transitionend:jr("Transition","TransitionEnd")},Lo={},qd={};f&&(qd=document.createElement("div").style,"AnimationEvent"in window||(delete wn.animationend.animation,delete wn.animationiteration.animation,delete wn.animationstart.animation),"TransitionEvent"in window||delete wn.transitionend.transition);function Cr(e){if(Lo[e])return Lo[e];if(!wn[e])return e;var a=wn[e],r;for(r in a)if(a.hasOwnProperty(r)&&r in qd)return Lo[e]=a[r];return e}var $d=Cr("animationend"),Ud=Cr("animationiteration"),Gd=Cr("animationstart"),Yd=Cr("transitionend"),Zd=new Map,Jd="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function _a(e,a){Zd.set(e,a),u(a,[e])}for(var Oo=0;Oo<Jd.length;Oo++){var Bo=Jd[Oo],J0=Bo.toLowerCase(),X0=Bo[0].toUpperCase()+Bo.slice(1);_a(J0,"on"+X0)}_a($d,"onAnimationEnd"),_a(Ud,"onAnimationIteration"),_a(Gd,"onAnimationStart"),_a("dblclick","onDoubleClick"),_a("focusin","onFocus"),_a("focusout","onBlur"),_a(Yd,"onTransitionEnd"),h("onMouseEnter",["mouseout","mouseover"]),h("onMouseLeave",["mouseout","mouseover"]),h("onPointerEnter",["pointerout","pointerover"]),h("onPointerLeave",["pointerout","pointerover"]),u("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),u("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),u("onBeforeInput",["compositionend","keypress","textInput","paste"]),u("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),u("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),u("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var wi="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Q0=new Set("cancel close invalid load scroll toggle".split(" ").concat(wi));function Xd(e,a,r){var o=e.type||"unknown-event";e.currentTarget=r,Jy(o,a,void 0,e),e.currentTarget=null}function Qd(e,a){a=(a&4)!==0;for(var r=0;r<e.length;r++){var o=e[r],c=o.event;o=o.listeners;e:{var p=void 0;if(a)for(var v=o.length-1;0<=v;v--){var k=o[v],T=k.instance,A=k.currentTarget;if(k=k.listener,T!==p&&c.isPropagationStopped())break e;Xd(c,k,A),p=T}else for(v=0;v<o.length;v++){if(k=o[v],T=k.instance,A=k.currentTarget,k=k.listener,T!==p&&c.isPropagationStopped())break e;Xd(c,k,A),p=T}}}if(pr)throw e=go,pr=!1,go=null,e}function Te(e,a){var r=a[Uo];r===void 0&&(r=a[Uo]=new Set);var o=e+"__bubble";r.has(o)||(eh(a,e,2,!1),r.add(o))}function Fo(e,a,r){var o=0;a&&(o|=4),eh(r,e,o,a)}var Pr="_reactListening"+Math.random().toString(36).slice(2);function xi(e){if(!e[Pr]){e[Pr]=!0,s.forEach(function(r){r!=="selectionchange"&&(Q0.has(r)||Fo(r,!1,e),Fo(r,!0,e))});var a=e.nodeType===9?e:e.ownerDocument;a===null||a[Pr]||(a[Pr]=!0,Fo("selectionchange",!1,a))}}function eh(e,a,r,o){switch(_d(a)){case 1:var c=p0;break;case 4:c=f0;break;default:c=_o}r=c.bind(null,a,r,e),c=void 0,!mo||a!=="touchstart"&&a!=="touchmove"&&a!=="wheel"||(c=!0),o?c!==void 0?e.addEventListener(a,r,{capture:!0,passive:c}):e.addEventListener(a,r,!0):c!==void 0?e.addEventListener(a,r,{passive:c}):e.addEventListener(a,r,!1)}function Wo(e,a,r,o,c){var p=o;if((a&1)===0&&(a&2)===0&&o!==null)e:for(;;){if(o===null)return;var v=o.tag;if(v===3||v===4){var k=o.stateNode.containerInfo;if(k===c||k.nodeType===8&&k.parentNode===c)break;if(v===4)for(v=o.return;v!==null;){var T=v.tag;if((T===3||T===4)&&(T=v.stateNode.containerInfo,T===c||T.nodeType===8&&T.parentNode===c))return;v=v.return}for(;k!==null;){if(v=Ua(k),v===null)return;if(T=v.tag,T===5||T===6){o=p=v;continue e}k=k.parentNode}}o=o.return}rd(function(){var A=p,B=ho(r),F=[];e:{var L=Zd.get(e);if(L!==void 0){var U=Mo,J=e;switch(e){case"keypress":if(Tr(r)===0)break e;case"keydown":case"keyup":U=C0;break;case"focusin":J="focus",U=Co;break;case"focusout":J="blur",U=Co;break;case"beforeblur":case"afterblur":U=Co;break;case"click":if(r.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":U=Md;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":U=y0;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":U=D0;break;case $d:case Ud:case Gd:U=w0;break;case Yd:U=N0;break;case"scroll":U=m0;break;case"wheel":U=K0;break;case"copy":case"cut":case"paste":U=k0;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":U=jd}var X=(a&4)!==0,Fe=!X&&e==="scroll",P=X?L!==null?L+"Capture":null:L;X=[];for(var I=A,D;I!==null;){D=I;var H=D.stateNode;if(D.tag===5&&H!==null&&(D=H,P!==null&&(H=ni(I,P),H!=null&&X.push(ki(I,H,D)))),Fe)break;I=I.return}0<X.length&&(L=new U(L,J,null,r,B),F.push({event:L,listeners:X}))}}if((a&7)===0){e:{if(L=e==="mouseover"||e==="pointerover",U=e==="mouseout"||e==="pointerout",L&&r!==uo&&(J=r.relatedTarget||r.fromElement)&&(Ua(J)||J[ia]))break e;if((U||L)&&(L=B.window===B?B:(L=B.ownerDocument)?L.defaultView||L.parentWindow:window,U?(J=r.relatedTarget||r.toElement,U=A,J=J?Ua(J):null,J!==null&&(Fe=$a(J),J!==Fe||J.tag!==5&&J.tag!==6)&&(J=null)):(U=null,J=A),U!==J)){if(X=Md,H="onMouseLeave",P="onMouseEnter",I="mouse",(e==="pointerout"||e==="pointerover")&&(X=jd,H="onPointerLeave",P="onPointerEnter",I="pointer"),Fe=U==null?L:_n(U),D=J==null?L:_n(J),L=new X(H,I+"leave",U,r,B),L.target=Fe,L.relatedTarget=D,H=null,Ua(B)===A&&(X=new X(P,I+"enter",J,r,B),X.target=D,X.relatedTarget=Fe,H=X),Fe=H,U&&J)t:{for(X=U,P=J,I=0,D=X;D;D=xn(D))I++;for(D=0,H=P;H;H=xn(H))D++;for(;0<I-D;)X=xn(X),I--;for(;0<D-I;)P=xn(P),D--;for(;I--;){if(X===P||P!==null&&X===P.alternate)break t;X=xn(X),P=xn(P)}X=null}else X=null;U!==null&&th(F,L,U,X,!1),J!==null&&Fe!==null&&th(F,Fe,J,X,!0)}}e:{if(L=A?_n(A):window,U=L.nodeName&&L.nodeName.toLowerCase(),U==="select"||U==="input"&&L.type==="file")var Q=z0;else if(Nd(L))if(Kd)Q=U0;else{Q=q0;var ae=V0}else(U=L.nodeName)&&U.toLowerCase()==="input"&&(L.type==="checkbox"||L.type==="radio")&&(Q=$0);if(Q&&(Q=Q(e,A))){Rd(F,Q,r,B);break e}ae&&ae(e,L,A),e==="focusout"&&(ae=L._wrapperState)&&ae.controlled&&L.type==="number"&&ro(L,"number",L.value)}switch(ae=A?_n(A):window,e){case"focusin":(Nd(ae)||ae.contentEditable==="true")&&(vn=ae,Ro=A,vi=null);break;case"focusout":vi=Ro=vn=null;break;case"mousedown":Ko=!0;break;case"contextmenu":case"mouseup":case"dragend":Ko=!1,Vd(F,r,B);break;case"selectionchange":if(Z0)break;case"keydown":case"keyup":Vd(F,r,B)}var ne;if(Eo)e:{switch(e){case"compositionstart":var re="onCompositionStart";break e;case"compositionend":re="onCompositionEnd";break e;case"compositionupdate":re="onCompositionUpdate";break e}re=void 0}else bn?Dd(e,r)&&(re="onCompositionEnd"):e==="keydown"&&r.keyCode===229&&(re="onCompositionStart");re&&(Cd&&r.locale!=="ko"&&(bn||re!=="onCompositionStart"?re==="onCompositionEnd"&&bn&&(ne=Td()):(ka=B,Io="value"in ka?ka.value:ka.textContent,bn=!0)),ae=Er(A,re),0<ae.length&&(re=new Sd(re,e,null,r,B),F.push({event:re,listeners:ae}),ne?re.data=ne:(ne=Ad(r),ne!==null&&(re.data=ne)))),(ne=O0?B0(e,r):F0(e,r))&&(A=Er(A,"onBeforeInput"),0<A.length&&(B=new Sd("onBeforeInput","beforeinput",null,r,B),F.push({event:B,listeners:A}),B.data=ne))}Qd(F,a)})}function ki(e,a,r){return{instance:e,listener:a,currentTarget:r}}function Er(e,a){for(var r=a+"Capture",o=[];e!==null;){var c=e,p=c.stateNode;c.tag===5&&p!==null&&(c=p,p=ni(e,r),p!=null&&o.unshift(ki(e,p,c)),p=ni(e,a),p!=null&&o.push(ki(e,p,c))),e=e.return}return o}function xn(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function th(e,a,r,o,c){for(var p=a._reactName,v=[];r!==null&&r!==o;){var k=r,T=k.alternate,A=k.stateNode;if(T!==null&&T===o)break;k.tag===5&&A!==null&&(k=A,c?(T=ni(r,p),T!=null&&v.unshift(ki(r,T,k))):c||(T=ni(r,p),T!=null&&v.push(ki(r,T,k)))),r=r.return}v.length!==0&&e.push({event:a,listeners:v})}var eb=/\r\n?/g,tb=/\u0000|\uFFFD/g;function ah(e){return(typeof e=="string"?e:""+e).replace(eb,`
39`).replace(tb,"")}function Dr(e,a,r){if(a=ah(a),ah(e)!==a&&r)throw Error(i(425))}function Ar(){}var Ho=null,zo=null;function Vo(e,a){return e==="textarea"||e==="noscript"||typeof a.children=="string"||typeof a.children=="number"||typeof a.dangerouslySetInnerHTML=="object"&&a.dangerouslySetInnerHTML!==null&&a.dangerouslySetInnerHTML.__html!=null}var qo=typeof setTimeout=="function"?setTimeout:void 0,ab=typeof clearTimeout=="function"?clearTimeout:void 0,nh=typeof Promise=="function"?Promise:void 0,nb=typeof queueMicrotask=="function"?queueMicrotask:typeof nh<"u"?function(e){return nh.resolve(null).then(e).catch(ib)}:qo;function ib(e){setTimeout(function(){throw e})}function $o(e,a){var r=a,o=0;do{var c=r.nextSibling;if(e.removeChild(r),c&&c.nodeType===8)if(r=c.data,r==="/$"){if(o===0){e.removeChild(c),hi(a);return}o--}else r!=="$"&&r!=="$?"&&r!=="$!"||o++;r=c}while(r);hi(a)}function Ta(e){for(;e!=null;
vendor: 6,784 bytes, line 39
39e=e.nextSibling){var a=e.nodeType;if(a===1||a===3)break;if(a===8){if(a=e.data,a==="$"||a==="$!"||a==="$?")break;if(a==="/$")return null}}return e}function ih(e){e=e.previousSibling;for(var a=0;e;){if(e.nodeType===8){var r=e.data;if(r==="$"||r==="$!"||r==="$?"){if(a===0)return e;a--}else r==="/$"&&a++}e=e.previousSibling}return null}var kn=Math.random().toString(36).slice(2),Jt="__reactFiber$"+kn,_i="__reactProps$"+kn,ia="__reactContainer$"+kn,Uo="__reactEvents$"+kn,rb="__reactListeners$"+kn,sb="__reactHandles$"+kn;function Ua(e){var a=e[Jt];if(a)return a;for(var r=e.parentNode;r;){if(a=r[ia]||r[Jt]){if(r=a.alternate,a.child!==null||r!==null&&r.child!==null)for(e=ih(e);e!==null;){if(r=e[Jt])return r;e=ih(e)}return a}e=r,r=e.parentNode}return null}function Ti(e){return e=e[Jt]||e[ia],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function _n(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(i(33))}function Nr(e){return e[_i]||null}var Go=[],Tn=-1;function Ia(e){return{current:e}}function Ie(e){0>Tn||(e.current=Go[Tn],Go[Tn]=null,Tn--)}function _e(e,a){Tn++,Go[Tn]=e.current,e.current=a}var Ma={},at=Ia(Ma),dt=Ia(!1),Ga=Ma;function In(e,a){var r=e.type.contextTypes;if(!r)return Ma;var o=e.stateNode;if(o&&o.__reactInternalMemoizedUnmaskedChildContext===a)return o.__reactInternalMemoizedMaskedChildContext;var c={},p;for(p in r)c[p]=a[p];return o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=c),c}function ht(e){return e=e.childContextTypes,e!=null}function Rr(){Ie(dt),Ie(at)}function rh(e,a,r){if(at.current!==Ma)throw Error(i(168));_e(at,a),_e(dt,r)}function sh(e,a,r){var o=e.stateNode;if(a=a.childContextTypes,typeof o.getChildContext!="function")return r;o=o.getChildContext();for(var c in o)if(!(c in a))throw Error(i(108,ke(e)||"Unknown",c));return G({},r,o)}function Kr(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ma,Ga=at.current,_e(at,e),_e(dt,dt.current),!0}function oh(e,a,r){var o=e.stateNode;if(!o)throw Error(i(169));r?(e=sh(e,a,Ga),o.__reactInternalMemoizedMergedChildContext=e,Ie(dt),Ie(at),_e(at,e)):Ie(dt),_e(dt,r)}var ra=null,Lr=!1,Yo=!1;function lh(e){ra===null?ra=[e]:ra.push(e)}function ob(e){Lr=!0,lh(e)}function Sa(){if(!Yo&&ra!==null){Yo=!0;var e=0,a=ve;try{var r=ra;for(ve=1;e<r.length;e++){var o=r[e];do o=o(!0);while(o!==null)}ra=null,Lr=!1}catch(c){throw ra!==null&&(ra=ra.slice(e+1)),ud(yo,Sa),c}finally{ve=a,Yo=!1}}return null}var Mn=[],Sn=0,Or=null,Br=0,St=[],jt=0,Ya=null,sa=1,oa="";function Za(e,a){Mn[Sn++]=Br,Mn[Sn++]=Or,Or=e,Br=a}function ch(e,a,r){St[jt++]=sa,St[jt++]=oa,St[jt++]=Ya,Ya=e;var o=sa;e=oa;var c=32-Bt(o)-1;o&=~(1<<c),r+=1;var p=32-Bt(a)+c;if(30<p){var v=c-c%5;p=(o&(1<<v)-1).toString(32),o>>=v,c-=v,sa=1<<32-Bt(a)+c|r<<c|o,oa=p+e}else sa=1<<p|r<<c|o,oa=e}function Zo(e){e.return!==null&&(Za(e,1),ch(e,1,0))}function Jo(e){for(;e===Or;)Or=Mn[--Sn],Mn[Sn]=null,Br=Mn[--Sn],Mn[Sn]=null;for(;e===Ya;)Ya=St[--jt],St[jt]=null,oa=St[--jt],St[jt]=null,sa=St[--jt],St[jt]=null}var xt=null,kt=null,je=!1,Wt=null;function uh(e,a){var r=Dt(5,null,null,0);r.elementType="DELETED",r.stateNode=a,r.return=e,a=e.deletions,a===null?(e.deletions=[r],e.flags|=16):a.push(r)}function dh(e,a){switch(e.tag){case 5:var r=e.type;return a=a.nodeType!==1||r.toLowerCase()!==a.nodeName.toLowerCase()?null:a,a!==null?(e.stateNode=a,xt=e,kt=Ta(a.firstChild),!0):!1;case 6:return a=e.pendingProps===""||a.nodeType!==3?null:a,a!==null?(e.stateNode=a,xt=e,kt=null,!0):!1;case 13:return a=a.nodeType!==8?null:a,a!==null?(r=Ya!==null?{id:sa,overflow:oa}:null,e.memoizedState={dehydrated:a,treeContext:r,retryLane:1073741824},r=Dt(18,null,null,0),r.stateNode=a,r.return=e,e.child=r,xt=e,kt=null,!0):!1;default:return!1}}function Xo(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Qo(e){if(je){var a=kt;if(a){var r=a;if(!dh(e,a)){if(Xo(e))throw Error(i(418));a=Ta(r.nextSibling);var o=xt;a&&dh(e,a)?uh(o,r):(e.flags=e.flags&-4097|2,je=!1,xt=e)}}else{if(Xo(e))throw Error(i(418));e.flags=e.flags&-4097|2,je=!1,xt=e}}}function hh(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;xt=e}function Fr(e){if(e!==xt)return!1;if(!je)return hh(e),je=!0,!1;var a;if((a=e.tag!==3)&&!(a=e.tag!==5)&&(a=e.type,a=a!=="head"&&a!=="body"&&!Vo(e.type,e.memoizedProps)),a&&(a=kt)){if(Xo(e))throw ph(),Error(i(418));for(;a;)uh(e,a),a=Ta(a.nextSibling)}if(hh(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(i(317));e:{for(e=e.nextSibling,a=0;e;){if(e.nodeType===8){var r=e.data;if(r==="/$"){if(a===0){kt=Ta(e.nextSibling);break e}a--}else r!=="$"&&r!=="$!"&&r!=="$?"||a++}e=e.nextSibling}kt=null}}else kt=xt?Ta(e.stateNode.nextSibling):null;return!0}function ph(){for(var e=kt;e;)e=Ta(e.nextSibling)}function jn(){kt=xt=null,je=!1}function el(e){Wt===null?Wt=[e]:Wt.push(e)}var lb=W.ReactCurrentBatchConfig;function Ii(e,a,r){if(e=r.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(r._owner){if(r=r._owner,r){if(r.tag!==1)throw Error(i(309));var o=r.stateNode}if(!o)throw Error(i(147,e));var c=o,p=""+e;return a!==null&&a.ref!==null&&typeof a.ref=="function"&&a.ref._stringRef===p?a.ref:(a=function(v){var k=c.refs;v===null?delete k[p]:k[p]=v},a._stringRef=p,a)}if(typeof e!="string")throw Error(i(284));if(!r._owner)throw Error(i(290,e))}return e}function Wr(e,a){throw e=Object.prototype.toString.call(a),Error(i(31,e==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":e))}function fh(e){var a=e._init;return a(e._payload)}function mh(e){function a(P,I){if(e){var D=P.deletions;D===null?(P.deletions=[I],P.flags|=16):D.push(I)}}function r(P,I){if(!e)return null;for(;I!==null;)a(P,I),I=I.sibling;return null}function o(P,I){for(P=new Map;I!==null;)I.key!==null?P.set(I.key,I):P.set(I.index,I),I=I.sibling;return P}function c(P,I){return P=Ra(P,I),P.index=0,P.sibling=null,P}function p(P,I,D){return P.index=D,e?(D=P.alternate,D!==null?(D=D.index,D<I?(P.flags|=2,I):D):(P.flags|=2,I)):(P.flags|=1048576,I)}function v(P){return e&&P.alternate===null&&(P.flags|=2),P}function k(P,I,D,H){return I===null||I.tag!==6?(I=ql(D,P.mode,H),I.return=P,I):(I=c(I,D),I.return=P,I)}function T(P,I,D,H){var Q=D.type;return Q===ee?B(P,I,D.props.children,H,D.key):I!==null&&(I.elementType===Q||typeof Q=="object"&&Q!==null&&Q.$$typeof===lt&&fh(Q)===I.type)?(H=c(I,D.props),H.ref=Ii(P,I,D),H.return=P,H):(H=ds(D.type,D.key,D.props,null,P.mode,H),H.ref=Ii(P,I,D),H.return=P,H)}function A(P,I,D,H){return I===null||I.tag!==4||I.stateNode.containerInfo!==D.containerInfo||I.stateNode.implementation!==D.implementation?(I=$l(D,P.mode,H),I.return=P,I):(I=c(I,D.children||[]),I.return=P,I)}function B(P,I,D,H,Q){return I===null||I.tag!==7?(I=rn(D,P.mode,H,Q),I.return=P,I):(I=c(I,D),I.return=P,I)}
vendor: 3,851 bytes, line 39
39function F(P,I,D){if(typeof I=="string"&&I!==""||typeof I=="number")return I=ql(""+I,P.mode,D),I.return=P,I;if(typeof I=="object"&&I!==null){switch(I.$$typeof){case N:return D=ds(I.type,I.key,I.props,null,P.mode,D),D.ref=Ii(P,null,I),D.return=P,D;case q:return I=$l(I,P.mode,D),I.return=P,I;case lt:var H=I._init;return F(P,H(I._payload),D)}if(ei(I)||te(I))return I=rn(I,P.mode,D,null),I.return=P,I;Wr(P,I)}return null}function L(P,I,D,H){var Q=I!==null?I.key:null;if(typeof D=="string"&&D!==""||typeof D=="number")return Q!==null?null:k(P,I,""+D,H);if(typeof D=="object"&&D!==null){switch(D.$$typeof){case N:return D.key===Q?T(P,I,D,H):null;case q:return D.key===Q?A(P,I,D,H):null;case lt:return Q=D._init,L(P,I,Q(D._payload),H)}if(ei(D)||te(D))return Q!==null?null:B(P,I,D,H,null);Wr(P,D)}return null}function U(P,I,D,H,Q){if(typeof H=="string"&&H!==""||typeof H=="number")return P=P.get(D)||null,k(I,P,""+H,Q);if(typeof H=="object"&&H!==null){switch(H.$$typeof){case N:return P=P.get(H.key===null?D:H.key)||null,T(I,P,H,Q);case q:return P=P.get(H.key===null?D:H.key)||null,A(I,P,H,Q);case lt:var ae=H._init;return U(P,I,D,ae(H._payload),Q)}if(ei(H)||te(H))return P=P.get(D)||null,B(I,P,H,Q,null);Wr(I,H)}return null}function J(P,I,D,H){for(var Q=null,ae=null,ne=I,re=I=0,Ze=null;ne!==null&&re<D.length;re++){ne.index>re?(Ze=ne,ne=null):Ze=ne.sibling;var ge=L(P,ne,D[re],H);if(ge===null){ne===null&&(ne=Ze);break}e&&ne&&ge.alternate===null&&a(P,ne),I=p(ge,I,re),ae===null?Q=ge:ae.sibling=ge,ae=ge,ne=Ze}if(re===D.length)return r(P,ne),je&&Za(P,re),Q;if(ne===null){for(;re<D.length;re++)ne=F(P,D[re],H),ne!==null&&(I=p(ne,I,re),ae===null?Q=ne:ae.sibling=ne,ae=ne);return je&&Za(P,re),Q}for(ne=o(P,ne);re<D.length;re++)Ze=U(ne,P,re,D[re],H),Ze!==null&&(e&&Ze.alternate!==null&&ne.delete(Ze.key===null?re:Ze.key),I=p(Ze,I,re),ae===null?Q=Ze:ae.sibling=Ze,ae=Ze);return e&&ne.forEach(function(Ka){return a(P,Ka)}),je&&Za(P,re),Q}function X(P,I,D,H){var Q=te(D);if(typeof Q!="function")throw Error(i(150));if(D=Q.call(D),D==null)throw Error(i(151));for(var ae=Q=null,ne=I,re=I=0,Ze=null,ge=D.next();ne!==null&&!ge.done;re++,ge=D.next()){ne.index>re?(Ze=ne,ne=null):Ze=ne.sibling;var Ka=L(P,ne,ge.value,H);if(Ka===null){ne===null&&(ne=Ze);break}e&&ne&&Ka.alternate===null&&a(P,ne),I=p(Ka,I,re),ae===null?Q=Ka:ae.sibling=Ka,ae=Ka,ne=Ze}if(ge.done)return r(P,ne),je&&Za(P,re),Q;if(ne===null){for(;!ge.done;re++,ge=D.next())ge=F(P,ge.value,H),ge!==null&&(I=p(ge,I,re),ae===null?Q=ge:ae.sibling=ge,ae=ge);return je&&Za(P,re),Q}for(ne=o(P,ne);!ge.done;re++,ge=D.next())ge=U(ne,P,re,ge.value,H),ge!==null&&(e&&ge.alternate!==null&&ne.delete(ge.key===null?re:ge.key),I=p(ge,I,re),ae===null?Q=ge:ae.sibling=ge,ae=ge);return e&&ne.forEach(function(Wb){return a(P,Wb)}),je&&Za(P,re),Q}function Fe(P,I,D,H){if(typeof D=="object"&&D!==null&&D.type===ee&&D.key===null&&(D=D.props.children),typeof D=="object"&&D!==null){switch(D.$$typeof){case N:e:{for(var Q=D.key,ae=I;ae!==null;){if(ae.key===Q){if(Q=D.type,Q===ee){if(ae.tag===7){r(P,ae.sibling),I=c(ae,D.props.children),I.return=P,P=I;break e}}else if(ae.elementType===Q||typeof Q=="object"&&Q!==null&&Q.$$typeof===lt&&fh(Q)===ae.type){r(P,ae.sibling),I=c(ae,D.props),I.ref=Ii(P,ae,D),I.return=P,P=I;break e}r(P,ae);break}else a(P,ae);ae=ae.sibling}D.type===ee?(I=rn(D.props.children,P.mode,H,D.key),I.return=P,P=I):(H=ds(D.type,D.key,D.props,null,P.mode,H),H.ref=Ii(P,I,D),H.return=P,P=H)}return v(P);case q:e:{for(ae=D.key;I!==null;){if(I.key===ae)if(I.tag===4&&I.stateNode.containerInfo===D.containerInfo&&I.stateNode.implementation===D.implementation){r(P,I.sibling),I=c(I,D.children||[]),I.return=P,P=I;break e}else{r(P,I);break}else a(P,I);I=I.sibling}I=$l(D,P.mode,H),I.return=P,P=I}return v(P);case lt:return ae=D._init,Fe(P,I,ae(D._payload),H)}if(ei(D))return J(P,I,D,H);if(te(D))return X(P,I,D,H);Wr(P,D)}
vendor: 7,344 bytes, line 39
39return typeof D=="string"&&D!==""||typeof D=="number"?(D=""+D,I!==null&&I.tag===6?(r(P,I.sibling),I=c(I,D),I.return=P,P=I):(r(P,I),I=ql(D,P.mode,H),I.return=P,P=I),v(P)):r(P,I)}return Fe}var Cn=mh(!0),gh=mh(!1),Hr=Ia(null),zr=null,Pn=null,tl=null;function al(){tl=Pn=zr=null}function nl(e){var a=Hr.current;Ie(Hr),e._currentValue=a}function il(e,a,r){for(;e!==null;){var o=e.alternate;if((e.childLanes&a)!==a?(e.childLanes|=a,o!==null&&(o.childLanes|=a)):o!==null&&(o.childLanes&a)!==a&&(o.childLanes|=a),e===r)break;e=e.return}}function En(e,a){zr=e,tl=Pn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&a)!==0&&(pt=!0),e.firstContext=null)}function Ct(e){var a=e._currentValue;if(tl!==e)if(e={context:e,memoizedValue:a,next:null},Pn===null){if(zr===null)throw Error(i(308));Pn=e,zr.dependencies={lanes:0,firstContext:e}}else Pn=Pn.next=e;return a}var Ja=null;function rl(e){Ja===null?Ja=[e]:Ja.push(e)}function yh(e,a,r,o){var c=a.interleaved;return c===null?(r.next=r,rl(a)):(r.next=c.next,c.next=r),a.interleaved=r,la(e,o)}function la(e,a){e.lanes|=a;var r=e.alternate;for(r!==null&&(r.lanes|=a),r=e,e=e.return;e!==null;)e.childLanes|=a,r=e.alternate,r!==null&&(r.childLanes|=a),r=e,e=e.return;return r.tag===3?r.stateNode:null}var ja=!1;function sl(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function bh(e,a){e=e.updateQueue,a.updateQueue===e&&(a.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ca(e,a){return{eventTime:e,lane:a,tag:0,payload:null,callback:null,next:null}}function Ca(e,a,r){var o=e.updateQueue;if(o===null)return null;if(o=o.shared,(pe&2)!==0){var c=o.pending;return c===null?a.next=a:(a.next=c.next,c.next=a),o.pending=a,la(e,r)}return c=o.interleaved,c===null?(a.next=a,rl(o)):(a.next=c.next,c.next=a),o.interleaved=a,la(e,r)}function Vr(e,a,r){if(a=a.updateQueue,a!==null&&(a=a.shared,(r&4194240)!==0)){var o=a.lanes;o&=e.pendingLanes,r|=o,a.lanes=r,wo(e,r)}}function vh(e,a){var r=e.updateQueue,o=e.alternate;if(o!==null&&(o=o.updateQueue,r===o)){var c=null,p=null;if(r=r.firstBaseUpdate,r!==null){do{var v={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};p===null?c=p=v:p=p.next=v,r=r.next}while(r!==null);p===null?c=p=a:p=p.next=a}else c=p=a;r={baseState:o.baseState,firstBaseUpdate:c,lastBaseUpdate:p,shared:o.shared,effects:o.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=a:e.next=a,r.lastBaseUpdate=a}function qr(e,a,r,o){var c=e.updateQueue;ja=!1;var p=c.firstBaseUpdate,v=c.lastBaseUpdate,k=c.shared.pending;if(k!==null){c.shared.pending=null;var T=k,A=T.next;T.next=null,v===null?p=A:v.next=A,v=T;var B=e.alternate;B!==null&&(B=B.updateQueue,k=B.lastBaseUpdate,k!==v&&(k===null?B.firstBaseUpdate=A:k.next=A,B.lastBaseUpdate=T))}if(p!==null){var F=c.baseState;v=0,B=A=T=null,k=p;do{var L=k.lane,U=k.eventTime;if((o&L)===L){B!==null&&(B=B.next={eventTime:U,lane:0,tag:k.tag,payload:k.payload,callback:k.callback,next:null});e:{var J=e,X=k;switch(L=a,U=r,X.tag){case 1:if(J=X.payload,typeof J=="function"){F=J.call(U,F,L);break e}F=J;break e;case 3:J.flags=J.flags&-65537|128;case 0:if(J=X.payload,L=typeof J=="function"?J.call(U,F,L):J,L==null)break e;F=G({},F,L);break e;case 2:ja=!0}}k.callback!==null&&k.lane!==0&&(e.flags|=64,L=c.effects,L===null?c.effects=[k]:L.push(k))}else U={eventTime:U,lane:L,tag:k.tag,payload:k.payload,callback:k.callback,next:null},B===null?(A=B=U,T=F):B=B.next=U,v|=L;if(k=k.next,k===null){if(k=c.shared.pending,k===null)break;L=k,k=L.next,L.next=null,c.lastBaseUpdate=L,c.shared.pending=null}}while(!0);if(B===null&&(T=F),c.baseState=T,c.firstBaseUpdate=A,c.lastBaseUpdate=B,a=c.shared.interleaved,a!==null){c=a;do v|=c.lane,c=c.next;while(c!==a)}else p===null&&(c.shared.lanes=0);en|=v,e.lanes=v,e.memoizedState=F}}function wh(e,a,r){if(e=a.effects,a.effects=null,e!==null)for(a=0;a<e.length;a++){var o=e[a],c=o.callback;if(c!==null){if(o.callback=null,o=r,typeof c!="function")throw Error(i(191,c));c.call(o)}}}var Mi={},Xt=Ia(Mi),Si=Ia(Mi),ji=Ia(Mi);function Xa(e){if(e===Mi)throw Error(i(174));return e}function ol(e,a){switch(_e(ji,a),_e(Si,e),_e(Xt,Mi),e=a.nodeType,e){case 9:case 11:a=(a=a.documentElement)?a.namespaceURI:oo(null,"");break;default:e=e===8?a.parentNode:a,a=e.namespaceURI||null,e=e.tagName,a=oo(a,e)}Ie(Xt),_e(Xt,a)}function Dn(){Ie(Xt),Ie(Si),Ie(ji)}function xh(e){Xa(ji.current);var a=Xa(Xt.current),r=oo(a,e.type);a!==r&&(_e(Si,e),_e(Xt,r))}function ll(e){Si.current===e&&(Ie(Xt),Ie(Si))}var Ee=Ia(0);function $r(e){for(var a=e;a!==null;){if(a.tag===13){var r=a.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.data==="$!"))return a}else if(a.tag===19&&a.memoizedProps.revealOrder!==void 0){if((a.flags&128)!==0)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===e)break;for(;a.sibling===null;){if(a.return===null||a.return===e)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}var cl=[];function ul(){for(var e=0;e<cl.length;e++)cl[e]._workInProgressVersionPrimary=null;cl.length=0}var Ur=W.ReactCurrentDispatcher,dl=W.ReactCurrentBatchConfig,Qa=0,De=null,$e=null,Ge=null,Gr=!1,Ci=!1,Pi=0,cb=0;function nt(){throw Error(i(321))}function hl(e,a){if(a===null)return!1;for(var r=0;r<a.length&&r<e.length;r++)if(!Ft(e[r],a[r]))return!1;return!0}function pl(e,a,r,o,c,p){if(Qa=p,De=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,Ur.current=e===null||e.memoizedState===null?pb:fb,e=r(o,c),Ci){p=0;do{if(Ci=!1,Pi=0,25<=p)throw Error(i(301));p+=1,Ge=$e=null,a.updateQueue=null,Ur.current=mb,e=r(o,c)}while(Ci)}if(Ur.current=Jr,a=$e!==null&&$e.next!==null,Qa=0,Ge=$e=De=null,Gr=!1,a)throw Error(i(300));return e}function fl(){var e=Pi!==0;return Pi=0,e}function Qt(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ge===null?De.memoizedState=Ge=e:Ge=Ge.next=e,Ge}function Pt(){if($e===null){var e=De.alternate;e=e!==null?e.memoizedState:null}else e=$e.next;var a=Ge===null?De.memoizedState:Ge.next;if(a!==null)Ge=a,$e=e;else{if(e===null)throw Error(i(310));$e=e,e={memoizedState:$e.memoizedState,baseState:$e.baseState,baseQueue:$e.baseQueue,queue:$e.queue,next:null},Ge===null?De.memoizedState=Ge=e:Ge=Ge.next=e}return Ge}function Ei(e,a){return typeof a=="function"?a(e):a}function ml(e){var a=Pt(),r=a.queue;if(r===null)throw Error(i(311));r.lastRenderedReducer=e;var o=$e,c=o.baseQueue,p=r.pending;if(p!==null){if(c!==null){var v=c.next;c.next=p.next,p.next=v}o.baseQueue=c=p,r.pending=null}if(c!==null){p=c.next,o=o.baseState;var k=v=null,T=null,A=p;do{var B=A.lane;if((Qa&B)===B)T!==null&&(T=T.next={lane:0,action:A.action,hasEagerState:A.hasEagerState,eagerState:A.eagerState,next:null}),o=A.hasEagerState?A.eagerState:e(o,A.action);else{var F={lane:B,action:A.action,hasEagerState:A.hasEagerState,eagerState:A.eagerState,next:null};T===null?(k=T=F,v=o):T=T.next=F,De.lanes|=B,en|=B}A=A.next}while(A!==null&&A!==p);T===null?v=o:T.next=k,Ft(o,a.memoizedState)||(pt=!0),a.memoizedState=o,a.baseState=v,a.baseQueue=T,r.lastRenderedState=o}if(e=r.interleaved,e!==null){c=e;do p=c.lane,De.lanes|=p,en|=p,c=c.next;while(c!==e)}else c===null&&(r.lanes=0);
vendor: 4,917 bytes, line 39
39return[a.memoizedState,r.dispatch]}function gl(e){var a=Pt(),r=a.queue;if(r===null)throw Error(i(311));r.lastRenderedReducer=e;var o=r.dispatch,c=r.pending,p=a.memoizedState;if(c!==null){r.pending=null;var v=c=c.next;do p=e(p,v.action),v=v.next;while(v!==c);Ft(p,a.memoizedState)||(pt=!0),a.memoizedState=p,a.baseQueue===null&&(a.baseState=p),r.lastRenderedState=p}return[p,o]}function kh(){}function _h(e,a){var r=De,o=Pt(),c=a(),p=!Ft(o.memoizedState,c);if(p&&(o.memoizedState=c,pt=!0),o=o.queue,yl(Mh.bind(null,r,o,e),[e]),o.getSnapshot!==a||p||Ge!==null&&Ge.memoizedState.tag&1){if(r.flags|=2048,Di(9,Ih.bind(null,r,o,c,a),void 0,null),Ye===null)throw Error(i(349));(Qa&30)!==0||Th(r,a,c)}return c}function Th(e,a,r){e.flags|=16384,e={getSnapshot:a,value:r},a=De.updateQueue,a===null?(a={lastEffect:null,stores:null},De.updateQueue=a,a.stores=[e]):(r=a.stores,r===null?a.stores=[e]:r.push(e))}function Ih(e,a,r,o){a.value=r,a.getSnapshot=o,Sh(a)&&jh(e)}function Mh(e,a,r){return r(function(){Sh(a)&&jh(e)})}function Sh(e){var a=e.getSnapshot;e=e.value;try{var r=a();return!Ft(e,r)}catch{return!0}}function jh(e){var a=la(e,1);a!==null&&qt(a,e,1,-1)}function Ch(e){var a=Qt();return typeof e=="function"&&(e=e()),a.memoizedState=a.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Ei,lastRenderedState:e},a.queue=e,e=e.dispatch=hb.bind(null,De,e),[a.memoizedState,e]}function Di(e,a,r,o){return e={tag:e,create:a,destroy:r,deps:o,next:null},a=De.updateQueue,a===null?(a={lastEffect:null,stores:null},De.updateQueue=a,a.lastEffect=e.next=e):(r=a.lastEffect,r===null?a.lastEffect=e.next=e:(o=r.next,r.next=e,e.next=o,a.lastEffect=e)),e}function Ph(){return Pt().memoizedState}function Yr(e,a,r,o){var c=Qt();De.flags|=e,c.memoizedState=Di(1|a,r,void 0,o===void 0?null:o)}function Zr(e,a,r,o){var c=Pt();o=o===void 0?null:o;var p=void 0;if($e!==null){var v=$e.memoizedState;if(p=v.destroy,o!==null&&hl(o,v.deps)){c.memoizedState=Di(a,r,p,o);return}}De.flags|=e,c.memoizedState=Di(1|a,r,p,o)}function Eh(e,a){return Yr(8390656,8,e,a)}function yl(e,a){return Zr(2048,8,e,a)}function Dh(e,a){return Zr(4,2,e,a)}function Ah(e,a){return Zr(4,4,e,a)}function Nh(e,a){if(typeof a=="function")return e=e(),a(e),function(){a(null)};if(a!=null)return e=e(),a.current=e,function(){a.current=null}}function Rh(e,a,r){return r=r!=null?r.concat([e]):null,Zr(4,4,Nh.bind(null,a,e),r)}function bl(){}function Kh(e,a){var r=Pt();a=a===void 0?null:a;var o=r.memoizedState;return o!==null&&a!==null&&hl(a,o[1])?o[0]:(r.memoizedState=[e,a],e)}function Lh(e,a){var r=Pt();a=a===void 0?null:a;var o=r.memoizedState;return o!==null&&a!==null&&hl(a,o[1])?o[0]:(e=e(),r.memoizedState=[e,a],e)}function Oh(e,a,r){return(Qa&21)===0?(e.baseState&&(e.baseState=!1,pt=!0),e.memoizedState=r):(Ft(r,a)||(r=fd(),De.lanes|=r,en|=r,e.baseState=!0),a)}function ub(e,a){var r=ve;ve=r!==0&&4>r?r:4,e(!0);var o=dl.transition;dl.transition={};try{e(!1),a()}finally{ve=r,dl.transition=o}}function Bh(){return Pt().memoizedState}function db(e,a,r){var o=Aa(e);if(r={lane:o,action:r,hasEagerState:!1,eagerState:null,next:null},Fh(e))Wh(a,r);else if(r=yh(e,a,r,o),r!==null){var c=ut();qt(r,e,o,c),Hh(r,a,o)}}function hb(e,a,r){var o=Aa(e),c={lane:o,action:r,hasEagerState:!1,eagerState:null,next:null};if(Fh(e))Wh(a,c);else{var p=e.alternate;if(e.lanes===0&&(p===null||p.lanes===0)&&(p=a.lastRenderedReducer,p!==null))try{var v=a.lastRenderedState,k=p(v,r);if(c.hasEagerState=!0,c.eagerState=k,Ft(k,v)){var T=a.interleaved;T===null?(c.next=c,rl(a)):(c.next=T.next,T.next=c),a.interleaved=c;return}}catch{}finally{}r=yh(e,a,c,o),r!==null&&(c=ut(),qt(r,e,o,c),Hh(r,a,o))}}function Fh(e){var a=e.alternate;return e===De||a!==null&&a===De}function Wh(e,a){Ci=Gr=!0;var r=e.pending;r===null?a.next=a:(a.next=r.next,r.next=a),e.pending=a}function Hh(e,a,r){if((r&4194240)!==0){var o=a.lanes;o&=e.pendingLanes,r|=o,a.lanes=r,wo(e,r)}}var Jr={readContext:Ct,useCallback:nt,useContext:nt,useEffect:nt,useImperativeHandle:nt,useInsertionEffect:nt,useLayoutEffect:nt,useMemo:nt,useReducer:nt,useRef:nt,useState:nt,useDebugValue:nt,useDeferredValue:nt,useTransition:nt,useMutableSource:nt,useSyncExternalStore:nt,useId:nt,unstable_isNewReconciler:!1},pb={readContext:Ct,useCallback:function(e,a){return Qt().memoizedState=[e,a===void 0?null:a],e},useContext:Ct,useEffect:Eh,useImperativeHandle:function(e,a,r){return r=r!=null?r.concat([e]):null,Yr(4194308,4,Nh.bind(null,a,e),r)},useLayoutEffect:function(e,a){return Yr(4194308,4,e,a)},useInsertionEffect:function(e,a){return Yr(4,2,e,a)},useMemo:function(e,a){var r=Qt();return a=a===void 0?null:a,e=e(),r.memoizedState=[e,a],e},useReducer:function(e,a,r){var o=Qt();return a=r!==void 0?r(a):a,o.memoizedState=o.baseState=a,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:a},o.queue=e,e=e.dispatch=db.bind(null,De,e),[o.memoizedState,e]}
vendor: 6,472 bytes, lines 39-41
39,useRef:function(e){var a=Qt();return e={current:e},a.memoizedState=e},useState:Ch,useDebugValue:bl,useDeferredValue:function(e){return Qt().memoizedState=e},useTransition:function(){var e=Ch(!1),a=e[0];return e=ub.bind(null,e[1]),Qt().memoizedState=e,[a,e]},useMutableSource:function(){},useSyncExternalStore:function(e,a,r){var o=De,c=Qt();if(je){if(r===void 0)throw Error(i(407));r=r()}else{if(r=a(),Ye===null)throw Error(i(349));(Qa&30)!==0||Th(o,a,r)}c.memoizedState=r;var p={value:r,getSnapshot:a};return c.queue=p,Eh(Mh.bind(null,o,p,e),[e]),o.flags|=2048,Di(9,Ih.bind(null,o,p,r,a),void 0,null),r},useId:function(){var e=Qt(),a=Ye.identifierPrefix;if(je){var r=oa,o=sa;r=(o&~(1<<32-Bt(o)-1)).toString(32)+r,a=":"+a+"R"+r,r=Pi++,0<r&&(a+="H"+r.toString(32)),a+=":"}else r=cb++,a=":"+a+"r"+r.toString(32)+":";return e.memoizedState=a},unstable_isNewReconciler:!1},fb={readContext:Ct,useCallback:Kh,useContext:Ct,useEffect:yl,useImperativeHandle:Rh,useInsertionEffect:Dh,useLayoutEffect:Ah,useMemo:Lh,useReducer:ml,useRef:Ph,useState:function(){return ml(Ei)},useDebugValue:bl,useDeferredValue:function(e){var a=Pt();return Oh(a,$e.memoizedState,e)},useTransition:function(){var e=ml(Ei)[0],a=Pt().memoizedState;return[e,a]},useMutableSource:kh,useSyncExternalStore:_h,useId:Bh,unstable_isNewReconciler:!1},mb={readContext:Ct,useCallback:Kh,useContext:Ct,useEffect:yl,useImperativeHandle:Rh,useInsertionEffect:Dh,useLayoutEffect:Ah,useMemo:Lh,useReducer:gl,useRef:Ph,useState:function(){return gl(Ei)},useDebugValue:bl,useDeferredValue:function(e){var a=Pt();return $e===null?a.memoizedState=e:Oh(a,$e.memoizedState,e)},useTransition:function(){var e=gl(Ei)[0],a=Pt().memoizedState;return[e,a]},useMutableSource:kh,useSyncExternalStore:_h,useId:Bh,unstable_isNewReconciler:!1};function Ht(e,a){if(e&&e.defaultProps){a=G({},a),e=e.defaultProps;for(var r in e)a[r]===void 0&&(a[r]=e[r]);return a}return a}function vl(e,a,r,o){a=e.memoizedState,r=r(o,a),r=r==null?a:G({},a,r),e.memoizedState=r,e.lanes===0&&(e.updateQueue.baseState=r)}var Xr={isMounted:function(e){return(e=e._reactInternals)?$a(e)===e:!1},enqueueSetState:function(e,a,r){e=e._reactInternals;var o=ut(),c=Aa(e),p=ca(o,c);p.payload=a,r!=null&&(p.callback=r),a=Ca(e,p,c),a!==null&&(qt(a,e,c,o),Vr(a,e,c))},enqueueReplaceState:function(e,a,r){e=e._reactInternals;var o=ut(),c=Aa(e),p=ca(o,c);p.tag=1,p.payload=a,r!=null&&(p.callback=r),a=Ca(e,p,c),a!==null&&(qt(a,e,c,o),Vr(a,e,c))},enqueueForceUpdate:function(e,a){e=e._reactInternals;var r=ut(),o=Aa(e),c=ca(r,o);c.tag=2,a!=null&&(c.callback=a),a=Ca(e,c,o),a!==null&&(qt(a,e,o,r),Vr(a,e,o))}};function zh(e,a,r,o,c,p,v){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(o,p,v):a.prototype&&a.prototype.isPureReactComponent?!bi(r,o)||!bi(c,p):!0}function Vh(e,a,r){var o=!1,c=Ma,p=a.contextType;return typeof p=="object"&&p!==null?p=Ct(p):(c=ht(a)?Ga:at.current,o=a.contextTypes,p=(o=o!=null)?In(e,c):Ma),a=new a(r,p),e.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Xr,e.stateNode=a,a._reactInternals=e,o&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=c,e.__reactInternalMemoizedMaskedChildContext=p),a}function qh(e,a,r,o){e=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(r,o),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(r,o),a.state!==e&&Xr.enqueueReplaceState(a,a.state,null)}function wl(e,a,r,o){var c=e.stateNode;c.props=r,c.state=e.memoizedState,c.refs={},sl(e);var p=a.contextType;typeof p=="object"&&p!==null?c.context=Ct(p):(p=ht(a)?Ga:at.current,c.context=In(e,p)),c.state=e.memoizedState,p=a.getDerivedStateFromProps,typeof p=="function"&&(vl(e,a,p,r),c.state=e.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof c.getSnapshotBeforeUpdate=="function"||typeof c.UNSAFE_componentWillMount!="function"&&typeof c.componentWillMount!="function"||(a=c.state,typeof c.componentWillMount=="function"&&c.componentWillMount(),typeof c.UNSAFE_componentWillMount=="function"&&c.UNSAFE_componentWillMount(),a!==c.state&&Xr.enqueueReplaceState(c,c.state,null),qr(e,r,c,o),c.state=e.memoizedState),typeof c.componentDidMount=="function"&&(e.flags|=4194308)}function An(e,a){try{var r="",o=a;do r+=fe(o),o=o.return;while(o);var c=r}catch(p){c=`
40Error generating stack: `+p.message+`
41`+p.stack}return{value:e,source:a,stack:c,digest:null}}function xl(e,a,r){return{value:e,source:null,stack:r??null,digest:a??null}}function kl(e,a){try{console.error(a.value)}catch(r){setTimeout(function(){throw r})}}var gb=typeof WeakMap=="function"?WeakMap:Map;function $h(e,a,r){r=ca(-1,r),r.tag=3,r.payload={element:null};var o=a.value;return r.callback=function(){rs||(rs=!0,Ll=o),kl(e,a)},r}function Uh(e,a,r){r=ca(-1,r),r.tag=3;var o=e.type.getDerivedStateFromError;if(typeof o=="function"){var c=a.value;r.payload=function(){return o(c)},r.callback=function(){kl(e,a)}}var p=e.stateNode;return p!==null&&typeof p.componentDidCatch=="function"&&(r.callback=function(){kl(e,a),typeof o!="function"&&(Ea===null?Ea=new Set([this]):Ea.add(this));var v=a.stack;this.componentDidCatch(a.value,{componentStack:v!==null?v:""})}),r}function Gh(e,a,r){var o=e.pingCache;if(o===null){o=e.pingCache=new gb;var c=new Set;o.set(a,c)}else c=o.get(a),c===void 0&&(c=new Set,o.set(a,c));c.has(r)||(c.add(r),e=Pb.bind(null,e,a,r),a.then(e,e))}function Yh(e){do{var a;if((a=e.tag===13)&&(a=e.memoizedState,a=a!==null?a.dehydrated!==null:!0),a)return e;e=e.return}while(e!==null);return null}function Zh(e,a,r,o,c){return(e.mode&1)===0?(e===a?e.flags|=65536:(e.flags|=128,r.flags|=131072,r.flags&=-52805,r.tag===1&&(r.alternate===null?r.tag=17:(a=ca(-1,1),a.tag=2,Ca(r,a,1))),r.lanes|=1),e):(e.flags|=65536,e.lanes=c,e)}var yb=W.ReactCurrentOwner,pt=!1;function ct(e,a,r,o){a.child=e===null?gh(a,null,r,o):Cn(a,e.child,r,o)}function Jh(e,a,r,o,c){r=r.render;var p=a.ref;return En(a,c),o=pl(e,a,r,o,p,c),r=fl(),e!==null&&!pt?(a.updateQueue=e.updateQueue,a.flags&=-2053,e.lanes&=~c,ua(e,a,c)):(je&&r&&Zo(a),a.flags|=1,ct(e,a,o,c),a.child)}function Xh(e,a,r,o,c){if(e===null){var p=r.type;return typeof p=="function"&&!Vl(p)&&p.defaultProps===void 0&&r.compare===null&&r.defaultProps===void 0?(a.tag=15,a.type=p,Qh(e,a,p,o,c)):(e=ds(r.type,null,o,a,a.mode,c),e.ref=a.ref,e.return=a,a.child=e)}if(p=e.child,(e.lanes&c)===0){var v=p.memoizedProps;if(r=r.compare,r=r!==null?r:bi,r(v,o)&&e.ref===a.ref)return ua(e,a,c)}
vendor: 35,953 bytes, line 41
41return a.flags|=1,e=Ra(p,o),e.ref=a.ref,e.return=a,a.child=e}function Qh(e,a,r,o,c){if(e!==null){var p=e.memoizedProps;if(bi(p,o)&&e.ref===a.ref)if(pt=!1,a.pendingProps=o=p,(e.lanes&c)!==0)(e.flags&131072)!==0&&(pt=!0);else return a.lanes=e.lanes,ua(e,a,c)}return _l(e,a,r,o,c)}function ep(e,a,r){var o=a.pendingProps,c=o.children,p=e!==null?e.memoizedState:null;if(o.mode==="hidden")if((a.mode&1)===0)a.memoizedState={baseLanes:0,cachePool:null,transitions:null},_e(Rn,_t),_t|=r;else{if((r&1073741824)===0)return e=p!==null?p.baseLanes|r:r,a.lanes=a.childLanes=1073741824,a.memoizedState={baseLanes:e,cachePool:null,transitions:null},a.updateQueue=null,_e(Rn,_t),_t|=e,null;a.memoizedState={baseLanes:0,cachePool:null,transitions:null},o=p!==null?p.baseLanes:r,_e(Rn,_t),_t|=o}else p!==null?(o=p.baseLanes|r,a.memoizedState=null):o=r,_e(Rn,_t),_t|=o;return ct(e,a,c,r),a.child}function tp(e,a){var r=a.ref;(e===null&&r!==null||e!==null&&e.ref!==r)&&(a.flags|=512,a.flags|=2097152)}function _l(e,a,r,o,c){var p=ht(r)?Ga:at.current;return p=In(a,p),En(a,c),r=pl(e,a,r,o,p,c),o=fl(),e!==null&&!pt?(a.updateQueue=e.updateQueue,a.flags&=-2053,e.lanes&=~c,ua(e,a,c)):(je&&o&&Zo(a),a.flags|=1,ct(e,a,r,c),a.child)}function ap(e,a,r,o,c){if(ht(r)){var p=!0;Kr(a)}else p=!1;if(En(a,c),a.stateNode===null)es(e,a),Vh(a,r,o),wl(a,r,o,c),o=!0;else if(e===null){var v=a.stateNode,k=a.memoizedProps;v.props=k;var T=v.context,A=r.contextType;typeof A=="object"&&A!==null?A=Ct(A):(A=ht(r)?Ga:at.current,A=In(a,A));var B=r.getDerivedStateFromProps,F=typeof B=="function"||typeof v.getSnapshotBeforeUpdate=="function";F||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(k!==o||T!==A)&&qh(a,v,o,A),ja=!1;var L=a.memoizedState;v.state=L,qr(a,o,v,c),T=a.memoizedState,k!==o||L!==T||dt.current||ja?(typeof B=="function"&&(vl(a,r,B,o),T=a.memoizedState),(k=ja||zh(a,r,k,o,L,T,A))?(F||typeof v.UNSAFE_componentWillMount!="function"&&typeof v.componentWillMount!="function"||(typeof v.componentWillMount=="function"&&v.componentWillMount(),typeof v.UNSAFE_componentWillMount=="function"&&v.UNSAFE_componentWillMount()),typeof v.componentDidMount=="function"&&(a.flags|=4194308)):(typeof v.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=o,a.memoizedState=T),v.props=o,v.state=T,v.context=A,o=k):(typeof v.componentDidMount=="function"&&(a.flags|=4194308),o=!1)}else{v=a.stateNode,bh(e,a),k=a.memoizedProps,A=a.type===a.elementType?k:Ht(a.type,k),v.props=A,F=a.pendingProps,L=v.context,T=r.contextType,typeof T=="object"&&T!==null?T=Ct(T):(T=ht(r)?Ga:at.current,T=In(a,T));var U=r.getDerivedStateFromProps;(B=typeof U=="function"||typeof v.getSnapshotBeforeUpdate=="function")||typeof v.UNSAFE_componentWillReceiveProps!="function"&&typeof v.componentWillReceiveProps!="function"||(k!==F||L!==T)&&qh(a,v,o,T),ja=!1,L=a.memoizedState,v.state=L,qr(a,o,v,c);var J=a.memoizedState;k!==F||L!==J||dt.current||ja?(typeof U=="function"&&(vl(a,r,U,o),J=a.memoizedState),(A=ja||zh(a,r,A,o,L,J,T)||!1)?(B||typeof v.UNSAFE_componentWillUpdate!="function"&&typeof v.componentWillUpdate!="function"||(typeof v.componentWillUpdate=="function"&&v.componentWillUpdate(o,J,T),typeof v.UNSAFE_componentWillUpdate=="function"&&v.UNSAFE_componentWillUpdate(o,J,T)),typeof v.componentDidUpdate=="function"&&(a.flags|=4),typeof v.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof v.componentDidUpdate!="function"||k===e.memoizedProps&&L===e.memoizedState||(a.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||k===e.memoizedProps&&L===e.memoizedState||(a.flags|=1024),a.memoizedProps=o,a.memoizedState=J),v.props=o,v.state=J,v.context=T,o=A):(typeof v.componentDidUpdate!="function"||k===e.memoizedProps&&L===e.memoizedState||(a.flags|=4),typeof v.getSnapshotBeforeUpdate!="function"||k===e.memoizedProps&&L===e.memoizedState||(a.flags|=1024),o=!1)}return Tl(e,a,r,o,p,c)}function Tl(e,a,r,o,c,p){tp(e,a);var v=(a.flags&128)!==0;if(!o&&!v)return c&&oh(a,r,!1),ua(e,a,p);o=a.stateNode,yb.current=a;var k=v&&typeof r.getDerivedStateFromError!="function"?null:o.render();return a.flags|=1,e!==null&&v?(a.child=Cn(a,e.child,null,p),a.child=Cn(a,null,k,p)):ct(e,a,k,p),a.memoizedState=o.state,c&&oh(a,r,!0),a.child}function np(e){var a=e.stateNode;a.pendingContext?rh(e,a.pendingContext,a.pendingContext!==a.context):a.context&&rh(e,a.context,!1),ol(e,a.containerInfo)}function ip(e,a,r,o,c){return jn(),el(c),a.flags|=256,ct(e,a,r,o),a.child}var Il={dehydrated:null,treeContext:null,retryLane:0};function Ml(e){return{baseLanes:e,cachePool:null,transitions:null}}function rp(e,a,r){var o=a.pendingProps,c=Ee.current,p=!1,v=(a.flags&128)!==0,k;if((k=v)||(k=e!==null&&e.memoizedState===null?!1:(c&2)!==0),k?(p=!0,a.flags&=-129):(e===null||e.memoizedState!==null)&&(c|=1),_e(Ee,c&1),e===null)return Qo(a),e=a.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((a.mode&1)===0?a.lanes=1:e.data==="$!"?a.lanes=8:a.lanes=1073741824,null):(v=o.children,e=o.fallback,p?(o=a.mode,p=a.child,v={mode:"hidden",children:v},(o&1)===0&&p!==null?(p.childLanes=0,p.pendingProps=v):p=hs(v,o,0,null),e=rn(e,o,r,null),p.return=a,e.return=a,p.sibling=e,a.child=p,a.child.memoizedState=Ml(r),a.memoizedState=Il,e):Sl(a,v));if(c=e.memoizedState,c!==null&&(k=c.dehydrated,k!==null))return bb(e,a,v,o,k,c,r);if(p){p=o.fallback,v=a.mode,c=e.child,k=c.sibling;var T={mode:"hidden",children:o.children};return(v&1)===0&&a.child!==c?(o=a.child,o.childLanes=0,o.pendingProps=T,a.deletions=null):(o=Ra(c,T),o.subtreeFlags=c.subtreeFlags&14680064),k!==null?p=Ra(k,p):(p=rn(p,v,r,null),p.flags|=2),p.return=a,o.return=a,o.sibling=p,a.child=o,o=p,p=a.child,v=e.child.memoizedState,v=v===null?Ml(r):{baseLanes:v.baseLanes|r,cachePool:null,transitions:v.transitions},p.memoizedState=v,p.childLanes=e.childLanes&~r,a.memoizedState=Il,o}return p=e.child,e=p.sibling,o=Ra(p,{mode:"visible",children:o.children}),(a.mode&1)===0&&(o.lanes=r),o.return=a,o.sibling=null,e!==null&&(r=a.deletions,r===null?(a.deletions=[e],a.flags|=16):r.push(e)),a.child=o,a.memoizedState=null,o}function Sl(e,a){return a=hs({mode:"visible",children:a},e.mode,0,null),a.return=e,e.child=a}function Qr(e,a,r,o){return o!==null&&el(o),Cn(a,e.child,null,r),e=Sl(a,a.pendingProps.children),e.flags|=2,a.memoizedState=null,e}function bb(e,a,r,o,c,p,v){if(r)return a.flags&256?(a.flags&=-257,o=xl(Error(i(422))),Qr(e,a,v,o)):a.memoizedState!==null?(a.child=e.child,a.flags|=128,null):(p=o.fallback,c=a.mode,o=hs({mode:"visible",children:o.children},c,0,null),p=rn(p,c,v,null),p.flags|=2,o.return=a,p.return=a,o.sibling=p,a.child=o,(a.mode&1)!==0&&Cn(a,e.child,null,v),a.child.memoizedState=Ml(v),a.memoizedState=Il,p);if((a.mode&1)===0)return Qr(e,a,v,null);if(c.data==="$!"){if(o=c.nextSibling&&c.nextSibling.dataset,o)var k=o.dgst;return o=k,p=Error(i(419)),o=xl(p,o,void 0),Qr(e,a,v,o)}if(k=(v&e.childLanes)!==0,pt||k){if(o=Ye,o!==null){switch(v&-v){case 4:c=2;break;case 16:c=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:c=32;break;case 536870912:c=268435456;break;default:c=0}c=(c&(o.suspendedLanes|v))!==0?0:c,c!==0&&c!==p.retryLane&&(p.retryLane=c,la(e,c),qt(o,e,c,-1))}return zl(),o=xl(Error(i(421))),Qr(e,a,v,o)}return c.data==="$?"?(a.flags|=128,a.child=e.child,a=Eb.bind(null,e),c._reactRetry=a,null):(e=p.treeContext,kt=Ta(c.nextSibling),xt=a,je=!0,Wt=null,e!==null&&(St[jt++]=sa,St[jt++]=oa,St[jt++]=Ya,sa=e.id,oa=e.overflow,Ya=a),a=Sl(a,o.children),a.flags|=4096,a)}function sp(e,a,r){e.lanes|=a;var o=e.alternate;o!==null&&(o.lanes|=a),il(e.return,a,r)}function jl(e,a,r,o,c){var p=e.memoizedState;p===null?e.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:o,tail:r,tailMode:c}:(p.isBackwards=a,p.rendering=null,p.renderingStartTime=0,p.last=o,p.tail=r,p.tailMode=c)}function op(e,a,r){var o=a.pendingProps,c=o.revealOrder,p=o.tail;if(ct(e,a,o.children,r),o=Ee.current,(o&2)!==0)o=o&1|2,a.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=a.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&sp(e,r,a);else if(e.tag===19)sp(e,r,a);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===a)break e;for(;e.sibling===null;){if(e.return===null||e.return===a)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}o&=1}if(_e(Ee,o),(a.mode&1)===0)a.memoizedState=null;else switch(c){case"forwards":for(r=a.child,c=null;r!==null;)e=r.alternate,e!==null&&$r(e)===null&&(c=r),r=r.sibling;r=c,r===null?(c=a.child,a.child=null):(c=r.sibling,r.sibling=null),jl(a,!1,c,r,p);break;case"backwards":for(r=null,c=a.child,a.child=null;c!==null;){if(e=c.alternate,e!==null&&$r(e)===null){a.child=c;break}e=c.sibling,c.sibling=r,r=c,c=e}jl(a,!0,r,null,p);break;case"together":jl(a,!1,null,null,void 0);break;default:a.memoizedState=null}return a.child}function es(e,a){(a.mode&1)===0&&e!==null&&(e.alternate=null,a.alternate=null,a.flags|=2)}function ua(e,a,r){if(e!==null&&(a.dependencies=e.dependencies),en|=a.lanes,(r&a.childLanes)===0)return null;if(e!==null&&a.child!==e.child)throw Error(i(153));if(a.child!==null){for(e=a.child,r=Ra(e,e.pendingProps),a.child=r,r.return=a;e.sibling!==null;)e=e.sibling,r=r.sibling=Ra(e,e.pendingProps),r.return=a;r.sibling=null}return a.child}function vb(e,a,r){switch(a.tag){case 3:np(a),jn();break;case 5:xh(a);break;case 1:ht(a.type)&&Kr(a);break;case 4:ol(a,a.stateNode.containerInfo);break;case 10:var o=a.type._context,c=a.memoizedProps.value;_e(Hr,o._currentValue),o._currentValue=c;break;case 13:if(o=a.memoizedState,o!==null)return o.dehydrated!==null?(_e(Ee,Ee.current&1),a.flags|=128,null):(r&a.child.childLanes)!==0?rp(e,a,r):(_e(Ee,Ee.current&1),e=ua(e,a,r),e!==null?e.sibling:null);_e(Ee,Ee.current&1);break;case 19:if(o=(r&a.childLanes)!==0,(e.flags&128)!==0){if(o)return op(e,a,r);a.flags|=128}if(c=a.memoizedState,c!==null&&(c.rendering=null,c.tail=null,c.lastEffect=null),_e(Ee,Ee.current),o)break;return null;case 22:case 23:return a.lanes=0,ep(e,a,r)}return ua(e,a,r)}var lp,Cl,cp,up;lp=function(e,a){for(var r=a.child;r!==null;){if(r.tag===5||r.tag===6)e.appendChild(r.stateNode);else if(r.tag!==4&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===a)break;for(;r.sibling===null;){if(r.return===null||r.return===a)return;r=r.return}r.sibling.return=r.return,r=r.sibling}},Cl=function(){},cp=function(e,a,r,o){var c=e.memoizedProps;if(c!==o){e=a.stateNode,Xa(Xt.current);var p=null;switch(r){case"input":c=no(e,c),o=no(e,o),p=[];break;case"select":c=G({},c,{value:void 0}),o=G({},o,{value:void 0}),p=[];break;case"textarea":c=so(e,c),o=so(e,o),p=[];break;default:typeof c.onClick!="function"&&typeof o.onClick=="function"&&(e.onclick=Ar)}lo(r,o);var v;r=null;for(A in c)if(!o.hasOwnProperty(A)&&c.hasOwnProperty(A)&&c[A]!=null)if(A==="style"){var k=c[A];for(v in k)k.hasOwnProperty(v)&&(r||(r={}),r[v]="")}else A!=="dangerouslySetInnerHTML"&&A!=="children"&&A!=="suppressContentEditableWarning"&&A!=="suppressHydrationWarning"&&A!=="autoFocus"&&(l.hasOwnProperty(A)?p||(p=[]):(p=p||[]).push(A,null));for(A in o){var T=o[A];if(k=c!=null?c[A]:void 0,o.hasOwnProperty(A)&&T!==k&&(T!=null||k!=null))if(A==="style")if(k){for(v in k)!k.hasOwnProperty(v)||T&&T.hasOwnProperty(v)||(r||(r={}),r[v]="");for(v in T)T.hasOwnProperty(v)&&k[v]!==T[v]&&(r||(r={}),r[v]=T[v])}else r||(p||(p=[]),p.push(A,r)),r=T;else A==="dangerouslySetInnerHTML"?(T=T?T.__html:void 0,k=k?k.__html:void 0,T!=null&&k!==T&&(p=p||[]).push(A,T)):A==="children"?typeof T!="string"&&typeof T!="number"||(p=p||[]).push(A,""+T):A!=="suppressContentEditableWarning"&&A!=="suppressHydrationWarning"&&(l.hasOwnProperty(A)?(T!=null&&A==="onScroll"&&Te("scroll",e),p||k===T||(p=[])):(p=p||[]).push(A,T))}r&&(p=p||[]).push("style",r);var A=p;(a.updateQueue=A)&&(a.flags|=4)}},up=function(e,a,r,o){r!==o&&(a.flags|=4)};function Ai(e,a){if(!je)switch(e.tailMode){case"hidden":a=e.tail;for(var r=null;a!==null;)a.alternate!==null&&(r=a),a=a.sibling;r===null?e.tail=null:r.sibling=null;break;case"collapsed":r=e.tail;for(var o=null;r!==null;)r.alternate!==null&&(o=r),r=r.sibling;o===null?a||e.tail===null?e.tail=null:e.tail.sibling=null:o.sibling=null}}function it(e){var a=e.alternate!==null&&e.alternate.child===e.child,r=0,o=0;if(a)for(var c=e.child;c!==null;)r|=c.lanes|c.childLanes,o|=c.subtreeFlags&14680064,o|=c.flags&14680064,c.return=e,c=c.sibling;else for(c=e.child;c!==null;)r|=c.lanes|c.childLanes,o|=c.subtreeFlags,o|=c.flags,c.return=e,c=c.sibling;return e.subtreeFlags|=o,e.childLanes=r,a}function wb(e,a,r){var o=a.pendingProps;switch(Jo(a),a.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return it(a),null;case 1:return ht(a.type)&&Rr(),it(a),null;case 3:return o=a.stateNode,Dn(),Ie(dt),Ie(at),ul(),o.pendingContext&&(o.context=o.pendingContext,o.pendingContext=null),(e===null||e.child===null)&&(Fr(a)?a.flags|=4:e===null||e.memoizedState.isDehydrated&&(a.flags&256)===0||(a.flags|=1024,Wt!==null&&(Fl(Wt),Wt=null))),Cl(e,a),it(a),null;case 5:ll(a);var c=Xa(ji.current);if(r=a.type,e!==null&&a.stateNode!=null)cp(e,a,r,o,c),e.ref!==a.ref&&(a.flags|=512,a.flags|=2097152);else{if(!o){if(a.stateNode===null)throw Error(i(166));return it(a),null}if(e=Xa(Xt.current),Fr(a)){o=a.stateNode,r=a.type;var p=a.memoizedProps;switch(o[Jt]=a,o[_i]=p,e=(a.mode&1)!==0,r){case"dialog":Te("cancel",o),Te("close",o);break;case"iframe":case"object":case"embed":Te("load",o);break;case"video":case"audio":for(c=0;c<wi.length;c++)Te(wi[c],o);break;case"source":Te("error",o);break;case"img":case"image":case"link":Te("error",o),Te("load",o);break;case"details":Te("toggle",o);break;case"input":Vu(o,p),Te("invalid",o);break;case"select":o._wrapperState={wasMultiple:!!p.multiple},Te("invalid",o);break;case"textarea":Uu(o,p),Te("invalid",o)}lo(r,p),c=null;for(var v in p)if(p.hasOwnProperty(v)){var k=p[v];v==="children"?typeof k=="string"?o.textContent!==k&&(p.suppressHydrationWarning!==!0&&Dr(o.textContent,k,e),c=["children",k]):typeof k=="number"&&o.textContent!==""+k&&(p.suppressHydrationWarning!==!0&&Dr(o.textContent,k,e),c=["children",""+k]):l.hasOwnProperty(v)&&k!=null&&v==="onScroll"&&Te("scroll",o)}switch(r){case"input":cr(o),$u(o,p,!0);break;case"textarea":cr(o),Yu(o);break;case"select":case"option":break;default:typeof p.onClick=="function"&&(o.onclick=Ar)}o=c,a.updateQueue=o,o!==null&&(a.flags|=4)}else{v=c.nodeType===9?c:c.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=Zu(r)),e==="http://www.w3.org/1999/xhtml"?r==="script"?(e=v.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof o.is=="string"?e=v.createElement(r,{is:o.is}):(e=v.createElement(r),r==="select"&&(v=e,o.multiple?v.multiple=!0:o.size&&(v.size=o.size))):e=v.createElementNS(e,r),e[Jt]=a,e[_i]=o,lp(e,a,!1,!1),a.stateNode=e;e:{switch(v=co(r,o),r){case"dialog":Te("cancel",e),Te("close",e),c=o;break;case"iframe":case"object":case"embed":Te("load",e),c=o;break;case"video":case"audio":for(c=0;c<wi.length;c++)Te(wi[c],e);c=o;break;case"source":Te("error",e),c=o;break;case"img":case"image":case"link":Te("error",e),Te("load",e),c=o;break;case"details":Te("toggle",e),c=o;break;case"input":Vu(e,o),c=no(e,o),Te("invalid",e);break;case"option":c=o;break;case"select":e._wrapperState={wasMultiple:!!o.multiple},c=G({},o,{value:void 0}),Te("invalid",e);break;case"textarea":Uu(e,o),c=so(e,o),Te("invalid",e);break;default:c=o}lo(r,c),k=c;for(p in k)if(k.hasOwnProperty(p)){var T=k[p];p==="style"?Qu(e,T):p==="dangerouslySetInnerHTML"?(T=T?T.__html:void 0,T!=null&&Ju(e,T)):p==="children"?typeof T=="string"?(r!=="textarea"||T!=="")&&ti(e,T):typeof T=="number"&&ti(e,""+T):p!=="suppressContentEditableWarning"&&p!=="suppressHydrationWarning"&&p!=="autoFocus"&&(l.hasOwnProperty(p)?T!=null&&p==="onScroll"&&Te("scroll",e):T!=null&&K(e,p,T,v))}switch(r){case"input":cr(e),$u(e,o,!1);break;case"textarea":cr(e),Yu(e);break;case"option":o.value!=null&&e.setAttribute("value",""+be(o.value));break;case"select":e.multiple=!!o.multiple,p=o.value,p!=null?pn(e,!!o.multiple,p,!1):o.defaultValue!=null&&pn(e,!!o.multiple,o.defaultValue,!0);break;default:typeof c.onClick=="function"&&(e.onclick=Ar)}switch(r){case"button":case"input":case"select":case"textarea":o=!!o.autoFocus;break e;case"img":o=!0;break e;default:o=!1}}o&&(a.flags|=4)}a.ref!==null&&(a.flags|=512,a.flags|=2097152)}return it(a),null;case 6:if(e&&a.stateNode!=null)up(e,a,e.memoizedProps,o);else{if(typeof o!="string"&&a.stateNode===null)throw Error(i(166));if(r=Xa(ji.current),Xa(Xt.current),Fr(a)){if(o=a.stateNode,r=a.memoizedProps,o[Jt]=a,(p=o.nodeValue!==r)&&(e=xt,e!==null))switch(e.tag){case 3:Dr(o.nodeValue,r,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&Dr(o.nodeValue,r,(e.mode&1)!==0)}p&&(a.flags|=4)}else o=(r.nodeType===9?r:r.ownerDocument).createTextNode(o),o[Jt]=a,a.stateNode=o}return it(a),null;case 13:if(Ie(Ee),o=a.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(je&&kt!==null&&(a.mode&1)!==0&&(a.flags&128)===0)ph(),jn(),a.flags|=98560,p=!1;else if(p=Fr(a),o!==null&&o.dehydrated!==null){if(e===null){if(!p)throw Error(i(318));if(p=a.memoizedState,p=p!==null?p.dehydrated:null,!p)throw Error(i(317));p[Jt]=a}else jn(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;it(a),p=!1}else Wt!==null&&(Fl(Wt),Wt=null),p=!0;if(!p)return a.flags&65536?a:null}return(a.flags&128)!==0?(a.lanes=r,a):(o=o!==null,o!==(e!==null&&e.memoizedState!==null)&&o&&(a.child.flags|=8192,(a.mode&1)!==0&&(e===null||(Ee.current&1)!==0?Ue===0&&(Ue=3):zl())),a.updateQueue!==null&&(a.flags|=4),it(a),null);case 4:return Dn(),Cl(e,a),e===null&&xi(a.stateNode.containerInfo),it(a),null;case 10:return nl(a.type._context),it(a),null;case 17:return ht(a.type)&&Rr(),it(a),null;case 19:if(Ie(Ee),p=a.memoizedState,p===null)return it(a),null;if(o=(a.flags&128)!==0,v=p.rendering,v===null)if(o)Ai(p,!1);else{if(Ue!==0||e!==null&&(e.flags&128)!==0)for(e=a.child;e!==null;){if(v=$r(e),v!==null){for(a.flags|=128,Ai(p,!1),o=v.updateQueue,o!==null&&(a.updateQueue=o,a.flags|=4),a.subtreeFlags=0,o=r,r=a.child;r!==null;)p=r,e=o,p.flags&=14680066,v=p.alternate,v===null?(p.childLanes=0,p.lanes=e,p.child=null,p.subtreeFlags=0,p.memoizedProps=null,p.memoizedState=null,p.updateQueue=null,p.dependencies=null,p.stateNode=null):(p.childLanes=v.childLanes,p.lanes=v.lanes,p.child=v.child,p.subtreeFlags=0,p.deletions=null,p.memoizedProps=v.memoizedProps,p.memoizedState=v.memoizedState,p.updateQueue=v.updateQueue,p.type=v.type,e=v.dependencies,p.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),r=r.sibling;return _e(Ee,Ee.current&1|2),a.child}e=e.sibling}p.tail!==null&&Be()>Kn&&(a.flags|=128,o=!0,Ai(p,!1),a.lanes=4194304)}else{if(!o)if(e=$r(v),e!==null){if(a.flags|=128,o=!0,r=e.updateQueue,r!==null&&(a.updateQueue=r,a.flags|=4),Ai(p,!0),p.tail===null&&p.tailMode==="hidden"&&!v.alternate&&!je)return it(a),null}else 2*Be()-p.renderingStartTime>Kn&&r!==1073741824&&(a.flags|=128,o=!0,Ai(p,!1),a.lanes=4194304);p.isBackwards?(v.sibling=a.child,a.child=v):(r=p.last,r!==null?r.sibling=v:a.child=v,p.last=v)}return p.tail!==null?(a=p.tail,p.rendering=a,p.tail=a.sibling,p.renderingStartTime=Be(),a.sibling=null,r=Ee.current,_e(Ee,o?r&1|2:r&1),a):(it(a),null);case 22:case 23:return Hl(),o=a.memoizedState!==null,e!==null&&e.memoizedState!==null!==o&&(a.flags|=8192),o&&(a.mode&1)!==0?(_t&1073741824)!==0&&(it(a),a.subtreeFlags&6&&(a.flags|=8192)):it(a),null;case 24:return null;case 25:return null}throw Error(i(156,a.tag))}function xb(e,a){switch(Jo(a),a.tag){case 1:return ht(a.type)&&Rr(),e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 3:return Dn(),Ie(dt),Ie(at),ul(),e=a.flags,(e&65536)!==0&&(e&128)===0?(a.flags=e&-65537|128,a):null;case 5:return ll(a),null;case 13:if(Ie(Ee),e=a.memoizedState,e!==null&&e.dehydrated!==null){if(a.alternate===null)throw Error(i(340));jn()}return e=a.flags,e&65536?(a.flags=e&-65537|128,a):null;case 19:return Ie(Ee),null;case 4:return Dn(),null;case 10:return nl(a.type._context),null;case 22:case 23:return Hl(),null;case 24:return null;default:return null}}var ts=!1,rt=!1,kb=typeof WeakSet=="function"?WeakSet:Set,Z=null;function Nn(e,a){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(o){Re(e,a,o)}else r.current=null}function Pl(e,a,r){try{r()}catch(o){Re(e,a,o)}}var dp=!1;function _b(e,a){if(Ho=xr,e=zd(),No(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var o=r.getSelection&&r.getSelection();if(o&&o.rangeCount!==0){r=o.anchorNode;var c=o.anchorOffset,p=o.focusNode;o=o.focusOffset;try{r.nodeType,p.nodeType}catch{r=null;break e}var v=0,k=-1,T=-1,A=0,B=0,F=e,L=null;t:for(;;){for(var U;F!==r||c!==0&&F.nodeType!==3||(k=v+c),F!==p||o!==0&&F.nodeType!==3||(T=v+o),F.nodeType===3&&(v+=F.nodeValue.length),(U=F.firstChild)!==null;)L=F,F=U;for(;;){if(F===e)break t;if(L===r&&++A===c&&(k=v),L===p&&++B===o&&(T=v),(U=F.nextSibling)!==null)break;F=L,L=F.parentNode}F=U}r=k===-1||T===-1?null:{start:k,end:T}}else r=null}r=r||{start:0,end:0}}else r=null;for(zo={focusedElem:e,selectionRange:r},xr=!1,Z=a;Z!==null;)if(a=Z,e=a.child,(a.subtreeFlags&1028)!==0&&e!==null)e.return=a,Z=e;else for(;Z!==null;){a=Z;try{var J=a.alternate;if((a.flags&1024)!==0)switch(a.tag){case 0:case 11:case 15:break;case 1:if(J!==null){var X=J.memoizedProps,Fe=J.memoizedState,P=a.stateNode,I=P.getSnapshotBeforeUpdate(a.elementType===a.type?X:Ht(a.type,X),Fe);P.__reactInternalSnapshotBeforeUpdate=I}break;case 3:var D=a.stateNode.containerInfo;D.nodeType===1?D.textContent="":D.nodeType===9&&D.documentElement&&D.removeChild(D.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(i(163))}}catch(H){Re(a,a.return,H)}if(e=a.sibling,e!==null){e.return=a.return,Z=e;break}Z=a.return}return J=dp,dp=!1,J}function Ni(e,a,r){var o=a.updateQueue;if(o=o!==null?o.lastEffect:null,o!==null){var c=o=o.next;do{if((c.tag&e)===e){var p=c.destroy;c.destroy=void 0,p!==void 0&&Pl(a,r,p)}c=c.next}while(c!==o)}}function as(e,a){if(a=a.updateQueue,a=a!==null?a.lastEffect:null,a!==null){var r=a=a.next;do{if((r.tag&e)===e){var o=r.create;r.destroy=o()}r=r.next}while(r!==a)}}function El(e){var a=e.ref;if(a!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof a=="function"?a(e):a.current=e}}function hp(e){var a=e.alternate;a!==null&&(e.alternate=null,hp(a)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(a=e.stateNode,a!==null&&(delete a[Jt],delete a[_i],delete a[Uo],delete a[rb],delete a[sb])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function pp(e){return e.tag===5||e.tag===3||e.tag===4}function fp(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||pp(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Dl(e,a,r){var o=e.tag;if(o===5||o===6)e=e.stateNode,a?r.nodeType===8?r.parentNode.insertBefore(e,a):r.insertBefore(e,a):(r.nodeType===8?(a=r.parentNode,a.insertBefore(e,r)):(a=r,a.appendChild(e)),r=r._reactRootContainer,r!=null||a.onclick!==null||(a.onclick=Ar));else if(o!==4&&(e=e.child,e!==null))for(Dl(e,a,r),e=e.sibling;e!==null;)Dl(e,a,r),e=e.sibling}function Al(e,a,r){var o=e.tag;if(o===5||o===6)e=e.stateNode,a?r.insertBefore(e,a):r.appendChild(e);else if(o!==4&&(e=e.child,e!==null))for(Al(e,a,r),e=e.sibling;e!==null;)Al(e,a,r),e=e.sibling}var Qe=null,zt=!1;function Pa(e,a,r){for(r=r.child;r!==null;)mp(e,a,r),r=r.sibling}function mp(e,a,r){if(Zt&&typeof Zt.onCommitFiberUnmount=="function")try{Zt.onCommitFiberUnmount(mr,r)}catch{}switch(r.tag){case 5:rt||Nn(r,a);case 6:var o=Qe,c=zt;Qe=null,Pa(e,a,r),Qe=o,zt=c,Qe!==null&&(zt?(e=Qe,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):Qe.removeChild(r.stateNode));break;case 18:Qe!==null&&(zt?(e=Qe,r=r.stateNode,e.nodeType===8?$o(e.parentNode,r):e.nodeType===1&&$o(e,r),hi(e)):$o(Qe,r.stateNode));break;case 4:o=Qe,c=zt,Qe=r.stateNode.containerInfo,zt=!0,Pa(e,a,r),Qe=o,zt=c;break;case 0:case 11:case 14:case 15:if(!rt&&(o=r.updateQueue,o!==null&&(o=o.lastEffect,o!==null))){c=o=o.next;do{var p=c,v=p.destroy;p=p.tag,v!==void 0&&((p&2)!==0||(p&4)!==0)&&Pl(r,a,v),c=c.next}while(c!==o)}Pa(e,a,r);break;case 1:if(!rt&&(Nn(r,a),o=r.stateNode,typeof o.componentWillUnmount=="function"))try{o.props=r.memoizedProps,o.state=r.memoizedState,o.componentWillUnmount()}catch(k){Re(r,a,k)}Pa(e,a,r);break;case 21:Pa(e,a,r);break;case 22:r.mode&1?(rt=(o=rt)||r.memoizedState!==null,Pa(e,a,r),rt=o):Pa(e,a,r);break;default:Pa(e,a,r)}}function gp(e){var a=e.updateQueue;if(a!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new kb),a.forEach(function(o){var c=Db.bind(null,e,o);r.has(o)||(r.add(o),o.then(c,c))})}}function Vt(e,a){var r=a.deletions;if(r!==null)for(var o=0;o<r.length;o++){var c=r[o];try{var p=e,v=a,k=v;e:for(;k!==null;){switch(k.tag){case 5:Qe=k.stateNode,zt=!1;break e;case 3:Qe=k.stateNode.containerInfo,zt=!0;break e;case 4:Qe=k.stateNode.containerInfo,zt=!0;break e}k=k.return}if(Qe===null)throw Error(i(160));mp(p,v,c),Qe=null,zt=!1;var T=c.alternate;T!==null&&(T.return=null),c.return=null}catch(A){Re(c,a,A)}}if(a.subtreeFlags&12854)for(a=a.child;a!==null;)yp(a,e),a=a.sibling}function yp(e,a){var r=e.alternate,o=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(Vt(a,e),ea(e),o&4){try{Ni(3,e,e.return),as(3,e)}catch(X){Re(e,e.return,X)}try{Ni(5,e,e.return)}catch(X){Re(e,e.return,X)}}break;case 1:Vt(a,e),ea(e),o&512&&r!==null&&Nn(r,r.return);break;case 5:if(Vt(a,e),ea(e),o&512&&r!==null&&Nn(r,r.return),e.flags&32){var c=e.stateNode;try{ti(c,"")}catch(X){Re(e,e.return,X)}}if(o&4&&(c=e.stateNode,c!=null)){var p=e.memoizedProps,v=r!==null?r.memoizedProps:p,k=e.type,T=e.updateQueue;if(e.updateQueue=null,T!==null)try{k==="input"&&p.type==="radio"&&p.name!=null&&qu(c,p),co(k,v);var A=co(k,p);for(v=0;v<T.length;v+=2){var B=T[v],F=T[v+1];B==="style"?Qu(c,F):B==="dangerouslySetInnerHTML"?Ju(c,F):B==="children"?ti(c,F):K(c,B,F,A)}switch(k){case"input":io(c,p);break;case"textarea":Gu(c,p);break;case"select":var L=c._wrapperState.wasMultiple;c._wrapperState.wasMultiple=!!p.multiple;var U=p.value;U!=null?pn(c,!!p.multiple,U,!1):L!==!!p.multiple&&(p.defaultValue!=null?pn(c,!!p.multiple,p.defaultValue,!0):pn(c,!!p.multiple,p.multiple?[]:"",!1))}c[_i]=p}catch(X){Re(e,e.return,X)}}break;case 6:if(Vt(a,e),ea(e),o&4){if(e.stateNode===null)throw Error(i(162));c=e.stateNode,p=e.memoizedProps;try{c.nodeValue=p}catch(X){Re(e,e.return,X)}}break;case 3:if(Vt(a,e),ea(e),o&4&&r!==null&&r.memoizedState.isDehydrated)try{hi(a.containerInfo)}catch(X){Re(e,e.return,X)}break;case 4:Vt(a,e),ea(e);break;case 13:Vt(a,e),ea(e),c=e.child,c.flags&8192&&(p=c.memoizedState!==null,c.stateNode.isHidden=p,!p||c.alternate!==null&&c.alternate.memoizedState!==null||(Kl=Be())),o&4&&gp(e);break;case 22:if(B=r!==null&&r.memoizedState!==null,e.mode&1?(rt=(A=rt)||B,Vt(a,e),rt=A):Vt(a,e),ea(e),o&8192){if(A=e.memoizedState!==null,(e.stateNode.isHidden=A)&&!B&&(e.mode&1)!==0)for(Z=e,B=e.child;B!==null;){for(F=Z=B;Z!==null;){switch(L=Z,U=L.child,L.tag){case 0:case 11:case 14:case 15:Ni(4,L,L.return);break;case 1:Nn(L,L.return);var J=L.stateNode;if(typeof J.componentWillUnmount=="function"){o=L,r=L.return;try{a=o,J.props=a.memoizedProps,J.state=a.memoizedState,J.componentWillUnmount()}catch(X){Re(o,r,X)}}break;case 5:Nn(L,L.return);break;case 22:if(L.memoizedState!==null){wp(F);continue}}U!==null?(U.return=L,Z=U):wp(F)}B=B.sibling}e:for(B=null,F=e;;){if(F.tag===5){if(B===null){B=F;try{c=F.stateNode,A?(p=c.style,typeof p.setProperty=="function"?p.setProperty("display","none","important"):p.display="none"):(k=F.stateNode,T=F.memoizedProps.style,v=T!=null&&T.hasOwnProperty("display")?T.display:null,k.style.display=Xu("display",v))}catch(X){Re(e,e.return,X)}}}else if(F.tag===6){if(B===null)try{F.stateNode.nodeValue=A?"":F.memoizedProps}catch(X){Re(e,e.return,X)}}else if((F.tag!==22&&F.tag!==23||F.memoizedState===null||F===e)&&F.child!==null){F.child.return=F,F=F.child;continue}if(F===e)break e;for(;F.sibling===null;){if(F.return===null||F.return===e)break e;B===F&&(B=null),F=F.return}B===F&&(B=null),F.sibling.return=F.return,F=F.sibling}}break;case 19:Vt(a,e),ea(e),o&4&&gp(e);break;case 21:break;default:Vt(a,e),ea(e)}}function ea(e){var a=e.flags;if(a&2){try{e:{for(var r=e.return;r!==null;){if(pp(r)){var o=r;break e}r=r.return}throw Error(i(160))}switch(o.tag){case 5:var c=o.stateNode;o.flags&32&&(ti(c,""),o.flags&=-33);var p=fp(e);Al(e,p,c);break;case 3:case 4:var v=o.stateNode.containerInfo,k=fp(e);Dl(e,k,v);break;default:throw Error(i(161))}}catch(T){Re(e,e.return,T)}e.flags&=-3}a&4096&&(e.flags&=-4097)}function Tb(e,a,r){Z=e,bp(e)}function bp(e,a,r){for(var o=(e.mode&1)!==0;Z!==null;){var c=Z,p=c.child;if(c.tag===22&&o){var v=c.memoizedState!==null||ts;if(!v){var k=c.alternate,T=k!==null&&k.memoizedState!==null||rt;k=ts;var A=rt;if(ts=v,(rt=T)&&!A)for(Z=c;Z!==null;)v=Z,T=v.child,v.tag===22&&v.memoizedState!==null?xp(c):T!==null?(T.return=v,Z=T):xp(c);for(;p!==null;)Z=p,bp(p),p=p.sibling;Z=c,ts=k,rt=A}vp(e)}else(c.subtreeFlags&8772)!==0&&p!==null?(p.return=c,Z=p):vp(e)}}function vp(e){for(;Z!==null;){var a=Z;if((a.flags&8772)!==0){var r=a.alternate;try{if((a.flags&8772)!==0)switch(a.tag){case 0:case 11:case 15:rt||as(5,a);break;case 1:var o=a.stateNode;if(a.flags&4&&!rt)if(r===null)o.componentDidMount();else{var c=a.elementType===a.type?r.memoizedProps:Ht(a.type,r.memoizedProps);o.componentDidUpdate(c,r.memoizedState,o.__reactInternalSnapshotBeforeUpdate)}var p=a.updateQueue;p!==null&&wh(a,p,o);break;case 3:var v=a.updateQueue;if(v!==null){if(r=null,a.child!==null)switch(a.child.tag){case 5:r=a.child.stateNode;break;case 1:r=a.child.stateNode}wh(a,v,r)}break;case 5:var k=a.stateNode;if(r===null&&a.flags&4){r=k;var T=a.memoizedProps;switch(a.type){case"button":case"input":case"select":case"textarea":T.autoFocus&&r.focus();break;case"img":T.src&&(r.src=T.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(a.memoizedState===null){var A=a.alternate;if(A!==null){var B=A.memoizedState;if(B!==null){var F=B.dehydrated;F!==null&&hi(F)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(i(163))}rt||a.flags&512&&El(a)}catch(L){Re(a,a.return,L)}}if(a===e){Z=null;break}if(r=a.sibling,r!==null){r.return=a.return,Z=r;break}Z=a.return}}function wp(e){for(;Z!==null;){var a=Z;if(a===e){Z=null;break}var r=a.sibling;if(r!==null){r.return=a.return,Z=r;break}Z=a.return}}function xp(e){for(;Z!==null;){var a=Z;try{switch(a.tag){case 0:case 11:case 15:var r=a.return;try{as(4,a)}catch(T){Re(a,r,T)}break;case 1:var o=a.stateNode;if(typeof o.componentDidMount=="function"){var c=a.return;try{o.componentDidMount()}catch(T){Re(a,c,T)}}var p=a.return;try{El(a)}catch(T){Re(a,p,T)}break;case 5:var v=a.return;try{El(a)}catch(T){Re(a,v,T)}}}catch(T){Re(a,a.return,T)}if(a===e){Z=null;break}var k=a.sibling;if(k!==null){k.return=a.return,Z=k;break}Z=a.return}}var Ib=Math.ceil,ns=W.ReactCurrentDispatcher,Nl=W.ReactCurrentOwner,Et=W.ReactCurrentBatchConfig,pe=0,Ye=null,qe=null,et=0,_t=0,Rn=Ia(0),Ue=0,Ri=null,en=0,is=0,Rl=0,Ki=null,ft=null,Kl=0,Kn=1/0,da=null,rs=!1,Ll=null,Ea=null,ss=!1,Da=null,os=0,Li=0,Ol=null,ls=-1,cs=0;function ut(){return(pe&6)!==0?Be():ls!==-1?ls:ls=Be()}function Aa(e){return(e.mode&1)===0?1:(pe&2)!==0&&et!==0?et&-et:lb.transition!==null?(cs===0&&(cs=fd()),cs):(e=ve,e!==0||(e=window.event,e=e===void 0?16:_d(e.type)),e)}function qt(e,a,r,o){if(50<Li)throw Li=0,Ol=null,Error(i(185));oi(e,r,o),((pe&2)===0||e!==Ye)&&(e===Ye&&((pe&2)===0&&(is|=r),Ue===4&&Na(e,et)),mt(e,o),r===1&&pe===0&&(a.mode&1)===0&&(Kn=Be()+500,Lr&&Sa()))}function mt(e,a){var r=e.callbackNode;l0(e,a);var o=br(e,e===Ye?et:0);if(o===0)r!==null&&dd(r),e.callbackNode=null,e.callbackPriority=0;else if(a=o&-o,e.callbackPriority!==a){if(r!=null&&dd(r),a===1)e.tag===0?ob(_p.bind(null,e)):lh(_p.bind(null,e)),nb(function(){(pe&6)===0&&Sa()}),r=null;else{switch(md(o)){case 1:r=yo;break;case 4:r=hd;break;case 16:r=fr;break;case 536870912:r=pd;break;default:r=fr}r=Ep(r,kp.bind(null,e))}e.callbackPriority=a,e.callbackNode=r}}function kp(e,a){if(ls=-1,cs=0,(pe&6)!==0)throw Error(i(327));var r=e.callbackNode;if(Ln()&&e.callbackNode!==r)return null;var o=br(e,e===Ye?et:0);if(o===0)return null;if((o&30)!==0||(o&e.expiredLanes)!==0||a)a=us(e,o);else{a=o;var c=pe;pe|=2;var p=Ip();(Ye!==e||et!==a)&&(da=null,Kn=Be()+500,an(e,a));do try{jb();break}catch(k){Tp(e,k)}while(!0);al(),ns.current=p,pe=c,qe!==null?a=0:(Ye=null,et=0,a=Ue)}if(a!==0){if(a===2&&(c=bo(e),c!==0&&(o=c,a=Bl(e,c))),a===1)throw r=Ri,an(e,0),Na(e,o),mt(e,Be()),r;if(a===6)Na(e,o);else{if(c=e.current.alternate,(o&30)===0&&!Mb(c)&&(a=us(e,o),a===2&&(p=bo(e),p!==0&&(o=p,a=Bl(e,p))),a===1))throw r=Ri,an(e,0),Na(e,o),mt(e,Be()),r;switch(e.finishedWork=c,e.finishedLanes=o,a){case 0:case 1:throw Error(i(345));case 2:nn(e,ft,da);break;case 3:if(Na(e,o),(o&130023424)===o&&(a=Kl+500-Be(),10<a)){if(br(e,0)!==0)break;if(c=e.suspendedLanes,(c&o)!==o){ut(),e.pingedLanes|=e.suspendedLanes&c;break}e.timeoutHandle=qo(nn.bind(null,e,ft,da),a);break}nn(e,ft,da);break;case 4:if(Na(e,o),(o&4194240)===o)break;for(a=e.eventTimes,c=-1;0<o;){var v=31-Bt(o);p=1<<v,v=a[v],v>c&&(c=v),o&=~p}if(o=c,o=Be()-o,o=(120>o?120:480>o?480:1080>o?1080:1920>o?1920:3e3>o?3e3:4320>o?4320:1960*Ib(o/1960))-o,10<o){e.timeoutHandle=qo(nn.bind(null,e,ft,da),o);break}nn(e,ft,da);break;case 5:nn(e,ft,da);break;default:throw Error(i(329))}}}return mt(e,Be()),e.callbackNode===r?kp.bind(null,e):null}function Bl(e,a){var r=Ki;return e.current.memoizedState.isDehydrated&&(an(e,a).flags|=256),e=us(e,a),e!==2&&(a=ft,ft=r,a!==null&&Fl(a)),e}function Fl(e){ft===null?ft=e:ft.push.apply(ft,e)}function Mb(e){for(var a=e;;){if(a.flags&16384){var r=a.updateQueue;if(r!==null&&(r=r.stores,r!==null))for(var o=0;o<r.length;o++){var c=r[o],p=c.getSnapshot;c=c.value;try{if(!Ft(p(),c))return!1}catch{return!1}}}if(r=a.child,a.subtreeFlags&16384&&r!==null)r.return=a,a=r;else{if(a===e)break;for(;a.sibling===null;){if(a.return===null||a.return===e)return!0;a=a.return}a.sibling.return=a.return,a=a.sibling}}return!0}function Na(e,a){for(a&=~Rl,a&=~is,e.suspendedLanes|=a,e.pingedLanes&=~a,e=e.expirationTimes;0<a;){var r=31-Bt(a),o=1<<r;e[r]=-1,a&=~o}}function _p(e){if((pe&6)!==0)throw Error(i(327));Ln();var a=br(e,0);if((a&1)===0)return mt(e,Be()),null;var r=us(e,a);if(e.tag!==0&&r===2){var o=bo(e);o!==0&&(a=o,r=Bl(e,o))}if(r===1)throw r=Ri,an(e,0),Na(e,a),mt(e,Be()),r;if(r===6)throw Error(i(345));return e.finishedWork=e.current.alternate,e.finishedLanes=a,nn(e,ft,da),mt(e,Be()),null}function Wl(e,a){var r=pe;pe|=1;try{return e(a)}finally{pe=r,pe===0&&(Kn=Be()+500,Lr&&Sa())}}function tn(e){Da!==null&&Da.tag===0&&(pe&6)===0&&Ln();var a=pe;pe|=1;var r=Et.transition,o=ve;try{if(Et.transition=null,ve=1,e)return e()}finally{ve=o,Et.transition=r,pe=a,(pe&6)===0&&Sa()}}function Hl(){_t=Rn.current,Ie(Rn)}function an(e,a){e.finishedWork=null,e.finishedLanes=0;var r=e.timeoutHandle;if(r!==-1&&(e.timeoutHandle=-1,ab(r)),qe!==null)for(r=qe.return;r!==null;){var o=r;switch(Jo(o),o.tag){case 1:o=o.type.childContextTypes,o!=null&&Rr();break;case 3:Dn(),Ie(dt),Ie(at),ul();break;case 5:ll(o);break;case 4:Dn();break;case 13:Ie(Ee);break;case 19:Ie(Ee);break;case 10:nl(o.type._context);break;case 22:case 23:Hl()}r=r.return}if(Ye=e,qe=e=Ra(e.current,null),et=_t=a,Ue=0,Ri=null,Rl=is=en=0,ft=Ki=null,Ja!==null){for(a=0;a<Ja.length;a++)if(r=Ja[a],o=r.interleaved,o!==null){r.interleaved=null;var c=o.next,p=r.pending;if(p!==null){var v=p.next;p.next=c,o.next=v}
vendor: 6,109 bytes, line 41
41r.pending=o}Ja=null}return e}function Tp(e,a){do{var r=qe;try{if(al(),Ur.current=Jr,Gr){for(var o=De.memoizedState;o!==null;){var c=o.queue;c!==null&&(c.pending=null),o=o.next}Gr=!1}if(Qa=0,Ge=$e=De=null,Ci=!1,Pi=0,Nl.current=null,r===null||r.return===null){Ue=1,Ri=a,qe=null;break}e:{var p=e,v=r.return,k=r,T=a;if(a=et,k.flags|=32768,T!==null&&typeof T=="object"&&typeof T.then=="function"){var A=T,B=k,F=B.tag;if((B.mode&1)===0&&(F===0||F===11||F===15)){var L=B.alternate;L?(B.updateQueue=L.updateQueue,B.memoizedState=L.memoizedState,B.lanes=L.lanes):(B.updateQueue=null,B.memoizedState=null)}var U=Yh(v);if(U!==null){U.flags&=-257,Zh(U,v,k,p,a),U.mode&1&&Gh(p,A,a),a=U,T=A;var J=a.updateQueue;if(J===null){var X=new Set;X.add(T),a.updateQueue=X}else J.add(T);break e}else{if((a&1)===0){Gh(p,A,a),zl();break e}T=Error(i(426))}}else if(je&&k.mode&1){var Fe=Yh(v);if(Fe!==null){(Fe.flags&65536)===0&&(Fe.flags|=256),Zh(Fe,v,k,p,a),el(An(T,k));break e}}p=T=An(T,k),Ue!==4&&(Ue=2),Ki===null?Ki=[p]:Ki.push(p),p=v;do{switch(p.tag){case 3:p.flags|=65536,a&=-a,p.lanes|=a;var P=$h(p,T,a);vh(p,P);break e;case 1:k=T;var I=p.type,D=p.stateNode;if((p.flags&128)===0&&(typeof I.getDerivedStateFromError=="function"||D!==null&&typeof D.componentDidCatch=="function"&&(Ea===null||!Ea.has(D)))){p.flags|=65536,a&=-a,p.lanes|=a;var H=Uh(p,k,a);vh(p,H);break e}}p=p.return}while(p!==null)}Sp(r)}catch(Q){a=Q,qe===r&&r!==null&&(qe=r=r.return);continue}break}while(!0)}function Ip(){var e=ns.current;return ns.current=Jr,e===null?Jr:e}function zl(){(Ue===0||Ue===3||Ue===2)&&(Ue=4),Ye===null||(en&268435455)===0&&(is&268435455)===0||Na(Ye,et)}function us(e,a){var r=pe;pe|=2;var o=Ip();(Ye!==e||et!==a)&&(da=null,an(e,a));do try{Sb();break}catch(c){Tp(e,c)}while(!0);if(al(),pe=r,ns.current=o,qe!==null)throw Error(i(261));return Ye=null,et=0,Ue}function Sb(){for(;qe!==null;)Mp(qe)}function jb(){for(;qe!==null&&!Qy();)Mp(qe)}function Mp(e){var a=Pp(e.alternate,e,_t);e.memoizedProps=e.pendingProps,a===null?Sp(e):qe=a,Nl.current=null}function Sp(e){var a=e;do{var r=a.alternate;if(e=a.return,(a.flags&32768)===0){if(r=wb(r,a,_t),r!==null){qe=r;return}}else{if(r=xb(r,a),r!==null){r.flags&=32767,qe=r;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Ue=6,qe=null;return}}if(a=a.sibling,a!==null){qe=a;return}qe=a=e}while(a!==null);Ue===0&&(Ue=5)}function nn(e,a,r){var o=ve,c=Et.transition;try{Et.transition=null,ve=1,Cb(e,a,r,o)}finally{Et.transition=c,ve=o}return null}function Cb(e,a,r,o){do Ln();while(Da!==null);if((pe&6)!==0)throw Error(i(327));r=e.finishedWork;var c=e.finishedLanes;if(r===null)return null;if(e.finishedWork=null,e.finishedLanes=0,r===e.current)throw Error(i(177));e.callbackNode=null,e.callbackPriority=0;var p=r.lanes|r.childLanes;if(c0(e,p),e===Ye&&(qe=Ye=null,et=0),(r.subtreeFlags&2064)===0&&(r.flags&2064)===0||ss||(ss=!0,Ep(fr,function(){return Ln(),null})),p=(r.flags&15990)!==0,(r.subtreeFlags&15990)!==0||p){p=Et.transition,Et.transition=null;var v=ve;ve=1;var k=pe;pe|=4,Nl.current=null,_b(e,r),yp(r,e),Y0(zo),xr=!!Ho,zo=Ho=null,e.current=r,Tb(r),e0(),pe=k,ve=v,Et.transition=p}else e.current=r;if(ss&&(ss=!1,Da=e,os=c),p=e.pendingLanes,p===0&&(Ea=null),n0(r.stateNode),mt(e,Be()),a!==null)for(o=e.onRecoverableError,r=0;r<a.length;r++)c=a[r],o(c.value,{componentStack:c.stack,digest:c.digest});if(rs)throw rs=!1,e=Ll,Ll=null,e;return(os&1)!==0&&e.tag!==0&&Ln(),p=e.pendingLanes,(p&1)!==0?e===Ol?Li++:(Li=0,Ol=e):Li=0,Sa(),null}function Ln(){if(Da!==null){var e=md(os),a=Et.transition,r=ve;try{if(Et.transition=null,ve=16>e?16:e,Da===null)var o=!1;else{if(e=Da,Da=null,os=0,(pe&6)!==0)throw Error(i(331));var c=pe;for(pe|=4,Z=e.current;Z!==null;){var p=Z,v=p.child;if((Z.flags&16)!==0){var k=p.deletions;if(k!==null){for(var T=0;T<k.length;T++){var A=k[T];for(Z=A;Z!==null;){var B=Z;switch(B.tag){case 0:case 11:case 15:Ni(8,B,p)}var F=B.child;if(F!==null)F.return=B,Z=F;else for(;Z!==null;){B=Z;var L=B.sibling,U=B.return;if(hp(B),B===A){Z=null;break}if(L!==null){L.return=U,Z=L;break}Z=U}}}var J=p.alternate;if(J!==null){var X=J.child;if(X!==null){J.child=null;do{var Fe=X.sibling;X.sibling=null,X=Fe}while(X!==null)}}Z=p}}if((p.subtreeFlags&2064)!==0&&v!==null)v.return=p,Z=v;else e:for(;Z!==null;){if(p=Z,(p.flags&2048)!==0)switch(p.tag){case 0:case 11:case 15:Ni(9,p,p.return)}var P=p.sibling;if(P!==null){P.return=p.return,Z=P;break e}Z=p.return}}var I=e.current;for(Z=I;Z!==null;){v=Z;var D=v.child;if((v.subtreeFlags&2064)!==0&&D!==null)D.return=v,Z=D;else e:for(v=I;Z!==null;){if(k=Z,(k.flags&2048)!==0)try{switch(k.tag){case 0:case 11:case 15:as(9,k)}}catch(Q){Re(k,k.return,Q)}if(k===v){Z=null;break e}var H=k.sibling;if(H!==null){H.return=k.return,Z=H;break e}Z=k.return}}if(pe=c,Sa(),Zt&&typeof Zt.onPostCommitFiberRoot=="function")try{Zt.onPostCommitFiberRoot(mr,e)}catch{}o=!0}return o}finally{ve=r,Et.transition=a}}return!1}function jp(e,a,r){a=An(r,a),a=$h(e,a,1),e=Ca(e,a,1),a=ut(),e!==null&&(oi(e,1,a),mt(e,a))}function Re(e,a,r){if(e.tag===3)jp(e,e,r);else for(;a!==null;){if(a.tag===3){jp(a,e,r);break}else if(a.tag===1){var o=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof o.componentDidCatch=="function"&&(Ea===null||!Ea.has(o))){e=An(r,e),e=Uh(a,e,1),a=Ca(a,e,1),e=ut(),a!==null&&(oi(a,1,e),mt(a,e));break}}a=a.return}}function Pb(e,a,r){var o=e.pingCache;o!==null&&o.delete(a),a=ut(),e.pingedLanes|=e.suspendedLanes&r,Ye===e&&(et&r)===r&&(Ue===4||Ue===3&&(et&130023424)===et&&500>Be()-Kl?an(e,0):Rl|=r),mt(e,a)}function Cp(e,a){a===0&&((e.mode&1)===0?a=1:(a=yr,yr<<=1,(yr&130023424)===0&&(yr=4194304)));var r=ut();e=la(e,a),e!==null&&(oi(e,a,r),mt(e,r))}function Eb(e){var a=e.memoizedState,r=0;a!==null&&(r=a.retryLane),Cp(e,r)}function Db(e,a){var r=0;switch(e.tag){case 13:var o=e.stateNode,c=e.memoizedState;c!==null&&(r=c.retryLane);break;case 19:o=e.stateNode;break;default:throw Error(i(314))}o!==null&&o.delete(a),Cp(e,r)}var Pp;Pp=function(e,a,r){if(e!==null)if(e.memoizedProps!==a.pendingProps||dt.current)pt=!0;else{if((e.lanes&r)===0&&(a.flags&128)===0)return pt=!1,vb(e,a,r);pt=(e.flags&131072)!==0}
vendor: 13,575 bytes, line 41
41else pt=!1,je&&(a.flags&1048576)!==0&&ch(a,Br,a.index);switch(a.lanes=0,a.tag){case 2:var o=a.type;es(e,a),e=a.pendingProps;var c=In(a,at.current);En(a,r),c=pl(null,a,o,e,c,r);var p=fl();return a.flags|=1,typeof c=="object"&&c!==null&&typeof c.render=="function"&&c.$$typeof===void 0?(a.tag=1,a.memoizedState=null,a.updateQueue=null,ht(o)?(p=!0,Kr(a)):p=!1,a.memoizedState=c.state!==null&&c.state!==void 0?c.state:null,sl(a),c.updater=Xr,a.stateNode=c,c._reactInternals=a,wl(a,o,e,r),a=Tl(null,a,o,!0,p,r)):(a.tag=0,je&&p&&Zo(a),ct(null,a,c,r),a=a.child),a;case 16:o=a.elementType;e:{switch(es(e,a),e=a.pendingProps,c=o._init,o=c(o._payload),a.type=o,c=a.tag=Nb(o),e=Ht(o,e),c){case 0:a=_l(null,a,o,e,r);break e;case 1:a=ap(null,a,o,e,r);break e;case 11:a=Jh(null,a,o,e,r);break e;case 14:a=Xh(null,a,o,Ht(o.type,e),r);break e}throw Error(i(306,o,""))}return a;case 0:return o=a.type,c=a.pendingProps,c=a.elementType===o?c:Ht(o,c),_l(e,a,o,c,r);case 1:return o=a.type,c=a.pendingProps,c=a.elementType===o?c:Ht(o,c),ap(e,a,o,c,r);case 3:e:{if(np(a),e===null)throw Error(i(387));o=a.pendingProps,p=a.memoizedState,c=p.element,bh(e,a),qr(a,o,null,r);var v=a.memoizedState;if(o=v.element,p.isDehydrated)if(p={element:o,isDehydrated:!1,cache:v.cache,pendingSuspenseBoundaries:v.pendingSuspenseBoundaries,transitions:v.transitions},a.updateQueue.baseState=p,a.memoizedState=p,a.flags&256){c=An(Error(i(423)),a),a=ip(e,a,o,r,c);break e}else if(o!==c){c=An(Error(i(424)),a),a=ip(e,a,o,r,c);break e}else for(kt=Ta(a.stateNode.containerInfo.firstChild),xt=a,je=!0,Wt=null,r=gh(a,null,o,r),a.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(jn(),o===c){a=ua(e,a,r);break e}ct(e,a,o,r)}a=a.child}return a;case 5:return xh(a),e===null&&Qo(a),o=a.type,c=a.pendingProps,p=e!==null?e.memoizedProps:null,v=c.children,Vo(o,c)?v=null:p!==null&&Vo(o,p)&&(a.flags|=32),tp(e,a),ct(e,a,v,r),a.child;case 6:return e===null&&Qo(a),null;case 13:return rp(e,a,r);case 4:return ol(a,a.stateNode.containerInfo),o=a.pendingProps,e===null?a.child=Cn(a,null,o,r):ct(e,a,o,r),a.child;case 11:return o=a.type,c=a.pendingProps,c=a.elementType===o?c:Ht(o,c),Jh(e,a,o,c,r);case 7:return ct(e,a,a.pendingProps,r),a.child;case 8:return ct(e,a,a.pendingProps.children,r),a.child;case 12:return ct(e,a,a.pendingProps.children,r),a.child;case 10:e:{if(o=a.type._context,c=a.pendingProps,p=a.memoizedProps,v=c.value,_e(Hr,o._currentValue),o._currentValue=v,p!==null)if(Ft(p.value,v)){if(p.children===c.children&&!dt.current){a=ua(e,a,r);break e}}else for(p=a.child,p!==null&&(p.return=a);p!==null;){var k=p.dependencies;if(k!==null){v=p.child;for(var T=k.firstContext;T!==null;){if(T.context===o){if(p.tag===1){T=ca(-1,r&-r),T.tag=2;var A=p.updateQueue;if(A!==null){A=A.shared;var B=A.pending;B===null?T.next=T:(T.next=B.next,B.next=T),A.pending=T}}p.lanes|=r,T=p.alternate,T!==null&&(T.lanes|=r),il(p.return,r,a),k.lanes|=r;break}T=T.next}}else if(p.tag===10)v=p.type===a.type?null:p.child;else if(p.tag===18){if(v=p.return,v===null)throw Error(i(341));v.lanes|=r,k=v.alternate,k!==null&&(k.lanes|=r),il(v,r,a),v=p.sibling}else v=p.child;if(v!==null)v.return=p;else for(v=p;v!==null;){if(v===a){v=null;break}if(p=v.sibling,p!==null){p.return=v.return,v=p;break}v=v.return}p=v}ct(e,a,c.children,r),a=a.child}return a;case 9:return c=a.type,o=a.pendingProps.children,En(a,r),c=Ct(c),o=o(c),a.flags|=1,ct(e,a,o,r),a.child;case 14:return o=a.type,c=Ht(o,a.pendingProps),c=Ht(o.type,c),Xh(e,a,o,c,r);case 15:return Qh(e,a,a.type,a.pendingProps,r);case 17:return o=a.type,c=a.pendingProps,c=a.elementType===o?c:Ht(o,c),es(e,a),a.tag=1,ht(o)?(e=!0,Kr(a)):e=!1,En(a,r),Vh(a,o,c),wl(a,o,c,r),Tl(null,a,o,!0,e,r);case 19:return op(e,a,r);case 22:return ep(e,a,r)}throw Error(i(156,a.tag))};function Ep(e,a){return ud(e,a)}function Ab(e,a,r,o){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=o,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Dt(e,a,r,o){return new Ab(e,a,r,o)}function Vl(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Nb(e){if(typeof e=="function")return Vl(e)?1:0;if(e!=null){if(e=e.$$typeof,e===He)return 11;if(e===Ve)return 14}return 2}function Ra(e,a){var r=e.alternate;return r===null?(r=Dt(e.tag,a,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=a,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,a=e.dependencies,r.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function ds(e,a,r,o,c,p){var v=2;if(o=e,typeof e=="function")Vl(e)&&(v=1);else if(typeof e=="string")v=5;else e:switch(e){case ee:return rn(r.children,c,p,a);case V:v=8,c|=8;break;case oe:return e=Dt(12,r,a,c|2),e.elementType=oe,e.lanes=p,e;case ze:return e=Dt(13,r,a,c),e.elementType=ze,e.lanes=p,e;case Xe:return e=Dt(19,r,a,c),e.elementType=Xe,e.lanes=p,e;case le:return hs(r,c,p,a);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case he:v=10;break e;case Oe:v=9;break e;case He:v=11;break e;case Ve:v=14;break e;case lt:v=16,o=null;break e}throw Error(i(130,e==null?e:typeof e,""))}return a=Dt(v,r,a,c),a.elementType=e,a.type=o,a.lanes=p,a}function rn(e,a,r,o){return e=Dt(7,e,o,a),e.lanes=r,e}function hs(e,a,r,o){return e=Dt(22,e,o,a),e.elementType=le,e.lanes=r,e.stateNode={isHidden:!1},e}function ql(e,a,r){return e=Dt(6,e,null,a),e.lanes=r,e}function $l(e,a,r){return a=Dt(4,e.children!==null?e.children:[],e.key,a),a.lanes=r,a.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},a}function Rb(e,a,r,o,c){this.tag=a,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=vo(0),this.expirationTimes=vo(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=vo(0),this.identifierPrefix=o,this.onRecoverableError=c,this.mutableSourceEagerHydrationData=null}function Ul(e,a,r,o,c,p,v,k,T){return e=new Rb(e,a,r,k,T),a===1?(a=1,p===!0&&(a|=8)):a=0,p=Dt(3,null,null,a),e.current=p,p.stateNode=e,p.memoizedState={element:o,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},sl(p),e}function Kb(e,a,r){var o=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:q,key:o==null?null:""+o,children:e,containerInfo:a,implementation:r}}function Dp(e){if(!e)return Ma;e=e._reactInternals;e:{if($a(e)!==e||e.tag!==1)throw Error(i(170));var a=e;do{switch(a.tag){case 3:a=a.stateNode.context;break e;case 1:if(ht(a.type)){a=a.stateNode.__reactInternalMemoizedMergedChildContext;break e}}a=a.return}while(a!==null);throw Error(i(171))}if(e.tag===1){var r=e.type;if(ht(r))return sh(e,r,a)}return a}function Ap(e,a,r,o,c,p,v,k,T){return e=Ul(r,o,!0,e,c,p,v,k,T),e.context=Dp(null),r=e.current,o=ut(),c=Aa(r),p=ca(o,c),p.callback=a??null,Ca(r,p,c),e.current.lanes=c,oi(e,c,o),mt(e,o),e}function ps(e,a,r,o){var c=a.current,p=ut(),v=Aa(c);return r=Dp(r),a.context===null?a.context=r:a.pendingContext=r,a=ca(p,v),a.payload={element:e},o=o===void 0?null:o,o!==null&&(a.callback=o),e=Ca(c,a,v),e!==null&&(qt(e,c,v,p),Vr(e,c,v)),v}function fs(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function Np(e,a){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var r=e.retryLane;e.retryLane=r!==0&&r<a?r:a}}function Gl(e,a){Np(e,a),(e=e.alternate)&&Np(e,a)}function Lb(){return null}var Rp=typeof reportError=="function"?reportError:function(e){console.error(e)};function Yl(e){this._internalRoot=e}ms.prototype.render=Yl.prototype.render=function(e){var a=this._internalRoot;if(a===null)throw Error(i(409));ps(e,a,null,null)},ms.prototype.unmount=Yl.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var a=e.containerInfo;tn(function(){ps(null,e,null,null)}),a[ia]=null}};function ms(e){this._internalRoot=e}ms.prototype.unstable_scheduleHydration=function(e){if(e){var a=bd();e={blockedOn:null,target:e,priority:a};for(var r=0;r<xa.length&&a!==0&&a<xa[r].priority;r++);xa.splice(r,0,e),r===0&&xd(e)}};function Zl(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function gs(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function Kp(){}function Ob(e,a,r,o,c){if(c){if(typeof o=="function"){var p=o;o=function(){var A=fs(v);p.call(A)}}var v=Ap(a,o,e,0,null,!1,!1,"",Kp);return e._reactRootContainer=v,e[ia]=v.current,xi(e.nodeType===8?e.parentNode:e),tn(),v}for(;c=e.lastChild;)e.removeChild(c);if(typeof o=="function"){var k=o;o=function(){var A=fs(T);k.call(A)}}var T=Ul(e,0,!1,null,null,!1,!1,"",Kp);return e._reactRootContainer=T,e[ia]=T.current,xi(e.nodeType===8?e.parentNode:e),tn(function(){ps(a,T,r,o)}),T}function ys(e,a,r,o,c){var p=r._reactRootContainer;if(p){var v=p;if(typeof c=="function"){var k=c;c=function(){var T=fs(v);k.call(T)}}ps(a,v,e,c)}else v=Ob(r,a,e,c,o);return fs(v)}gd=function(e){switch(e.tag){case 3:var a=e.stateNode;if(a.current.memoizedState.isDehydrated){var r=si(a.pendingLanes);r!==0&&(wo(a,r|1),mt(a,Be()),(pe&6)===0&&(Kn=Be()+500,Sa()))}break;case 13:tn(function(){var o=la(e,1);if(o!==null){var c=ut();qt(o,e,1,c)}}),Gl(e,1)}},xo=function(e){if(e.tag===13){var a=la(e,134217728);if(a!==null){var r=ut();qt(a,e,134217728,r)}Gl(e,134217728)}},yd=function(e){if(e.tag===13){var a=Aa(e),r=la(e,a);if(r!==null){var o=ut();qt(r,e,a,o)}Gl(e,a)}},bd=function(){return ve},vd=function(e,a){var r=ve;try{return ve=e,a()}finally{ve=r}},po=function(e,a,r){switch(a){case"input":if(io(e,r),a=r.name,r.type==="radio"&&a!=null){for(r=e;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll("input[name="+JSON.stringify(""+a)+'][type="radio"]'),a=0;a<r.length;a++){var o=r[a];if(o!==e&&o.form===e.form){var c=Nr(o);if(!c)throw Error(i(90));zu(o),io(o,c)}}}break;case"textarea":Gu(e,r);break;case"select":a=r.value,a!=null&&pn(e,!!r.multiple,a,!1)}},nd=Wl,id=tn;var Bb={usingClientEntryPoint:!1,Events:[Ti,_n,Nr,td,ad,Wl]},Oi={findFiberByHostInstance:Ua,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Fb={bundleType:Oi.bundleType,version:Oi.version,rendererPackageName:Oi.rendererPackageName,rendererConfig:Oi.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:W.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=ld(e),e===null?null:e.stateNode},findFiberByHostInstance:Oi.findFiberByHostInstance||Lb,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var bs=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!bs.isDisabled&&bs.supportsFiber)try{mr=bs.inject(Fb),Zt=bs}catch{}}return gt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Bb,gt.createPortal=function(e,a){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Zl(a))throw Error(i(200));return Kb(e,a,null,r)},gt.createRoot=function(e,a){if(!Zl(e))throw Error(i(299));var r=!1,o="",c=Rp;return a!=null&&(a.unstable_strictMode===!0&&(r=!0),a.identifierPrefix!==void 0&&(o=a.identifierPrefix),a.onRecoverableError!==void 0&&(c=a.onRecoverableError)),a=Ul(e,1,!1,null,null,r,!1,o,c),e[ia]=a.current,xi(e.nodeType===8?e.parentNode:e),new Yl(a)},gt.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var a=e._reactInternals;if(a===void 0)throw typeof e.render=="function"?Error(i(188)):(e=Object.keys(e).join(","),Error(i(268,e)));return e=ld(a),e=e===null?null:e.stateNode,e},gt.flushSync=function(e){return tn(e)},gt.hydrate=function(e,a,r){if(!gs(a))throw Error(i(200));return ys(null,e,a,!0,r)},gt.hydrateRoot=function(e,a,r){if(!Zl(e))throw Error(i(405));var o=r!=null&&r.hydratedSources||null,c=!1,p="",v=Rp;if(r!=null&&(r.unstable_strictMode===!0&&(c=!0),r.identifierPrefix!==void 0&&(p=r.identifierPrefix),r.onRecoverableError!==void 0&&(v=r.onRecoverableError)),a=Ap(a,null,e,1,r??null,c,!1,p,v),e[ia]=a.current,xi(e),o)for(e=0;e<o.length;e++)r=o[e],c=r._getVersion,c=c(r._source),a.mutableSourceEagerHydrationData==null?a.mutableSourceEagerHydrationData=[r,c]:a.mutableSourceEagerHydrationData.push(r,c);return new ms(a)},gt.render=function(e,a,r){if(!gs(a))throw Error(i(200));return ys(null,e,a,!1,r)},gt.unmountComponentAtNode=function(e){if(!gs(e))throw Error(i(40));return e._reactRootContainer?(tn(function(){ys(null,null,e,!1,function(){e._reactRootContainer=null,e[ia]=null})}),!0):!1},gt.unstable_batchedUpdates=Wl,gt.unstable_renderSubtreeIntoContainer=function(e,a,r,o){if(!gs(r))throw Error(i(200));if(e==null||e._reactInternals===void 0)throw Error(i(38));return ys(e,a,r,!1,o)},gt.version="18.3.1-next-f1338f8080-20240426",gt}var Vp;
41function Yb(){if(Vp)return Ql.exports;Vp=1;function t(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(n){console.error(n)}}return t(),Ql.exports=Gb(),Ql.exports}var qp;function Zb(){if(qp)return vs;qp=1;var t=Yb();return vs.createRoot=t.createRoot,vs.hydrateRoot=t.hydrateRoot,vs}var Jb=Zb();const Xb=Nm(Jb);var Ps={},Qb=()=>{window.va||(window.va=function(...n){window.vaq||(window.vaq=[]),window.vaq.push(n)})},ev="@vercel/analytics",tv="2.0.1";function Rm(){return typeof window<"u"}function Km(){try{const t="production"}catch{}return"production"}function av(t="auto"){if(t==="auto"){window.vam=Km();return}window.vam=t}function nv(){return(Rm()?window.vam:Km())||"production"}function Jc(){return nv()==="development"}function iv(t){return t.scriptSrc?Bn(t.scriptSrc):Jc()?"https://va.vercel-scripts.com/v1/script.debug.js":t.basePath?Bn(`${t.basePath}/insights/script.js`):"/_vercel/insights/script.js"}function rv(t,n){var i;let s=t;if(n)try{s={...(i=JSON.parse(n))==null?void 0:i.analytics,...t}}catch{}av(s.mode);const l={sdkn:ev+(s.framework?`/${s.framework}`:""),sdkv:tv};return s.disableAutoTrack&&(l.disableAutoTrack="1"),s.viewEndpoint&&(l.viewEndpoint=Bn(s.viewEndpoint)),s.eventEndpoint&&(l.eventEndpoint=Bn(s.eventEndpoint)),s.sessionEndpoint&&(l.sessionEndpoint=Bn(s.sessionEndpoint)),Jc()&&s.debug===!1&&(l.debug="false"),s.dsn&&(l.dsn=s.dsn),s.endpoint?l.endpoint=s.endpoint:s.basePath&&(l.endpoint=Bn(`${s.basePath}/insights`)),{beforeSend:s.beforeSend,src:iv(s),dataset:l}}function Bn(t){return t.startsWith("http://")||t.startsWith("https://")||t.startsWith("/")?t:`/${t}`}function sv(t={debug:!0},n){var i;if(!Rm())return;const{beforeSend:s,src:l,dataset:u}=rv(t,n);if(Qb(),s&&((i=window.va)==null||i.call(window,"beforeSend",s)),document.head.querySelector(`script[src*="${l}"]`))return;const h=document.createElement("script");h.src=l;for(const[f,m]of Object.entries(u))h.dataset[f]=m;h.defer=!0,h.onerror=()=>{const f=Jc()?"Please check if any ad blockers are enabled and try again.":"Be sure to enable Web Analytics for your project and deploy again. See https://vercel.com/docs/analytics/quickstart for more information.";console.log(`[Vercel Web Analytics] Failed to load script from ${l}. ${f}`)},document.head.appendChild(h)}function ov({route:t,path:n}){var i;(i=window.va)==null||i.call(window,"pageview",{route:t,path:n})}function lv(){if(!(typeof process>"u"||typeof Ps>"u"))return Ps.REACT_APP_VERCEL_OBSERVABILITY_BASEPATH}function cv(){if(!(typeof process>"u"||typeof Ps>"u"))return Ps.REACT_APP_VERCEL_OBSERVABILITY_CLIENT_CONFIG}function uv(t){return x.useEffect(()=>{var n;t.beforeSend&&((n=window.va)==null||n.call(window,"beforeSend",t.beforeSend))},[t.beforeSend]),x.useEffect(()=>{sv({framework:t.framework||"react",basePath:t.basePath??lv(),...t.route!==void 0&&{disableAutoTrack:!0},...t},t.configString??cv())},[]),x.useEffect(()=>{t.route&&t.path&&ov({route:t.route,path:t.path})},[t.route,t.path]),null}const dv="modulepreload",hv=function(t){return"/"+t},$p={},Pe=function(n,i,s){let l=Promise.resolve();if(i&&i.length>0){let h=function(g){return Promise.all(g.map(y=>Promise.resolve(y).then(b=>({status:"fulfilled",value:b}),b=>({status:"rejected",reason:b}))))};document.getElementsByTagName("link");const f=document.querySelector("meta[property=csp-nonce]"),m=(f==null?void 0:f.nonce)||(f==null?void 0:f.getAttribute("nonce"));l=h(i.map(g=>{if(g=hv(g),g in $p)return;$p[g]=!0;const y=g.endsWith(".css"),b=y?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${g}"]${b}`))return;const w=document.createElement("link");if(w.rel=y?"stylesheet":dv,y||(w.as="script"),w.crossOrigin="",w.href=g,m&&w.setAttribute("nonce",m),document.head.appendChild(w),y)return new Promise((_,j)=>{w.addEventListener("load",_),w.addEventListener("error",()=>j(new Error(`Unable to preload CSS for ${g}`)))})}))}function u(h){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=h,window.dispatchEvent(f),!f.defaultPrevented)throw h}return l.then(h=>{for(const f of h||[])f.status==="rejected"&&u(f.reason);return n().catch(u)})};/**
42 * react-router v7.18.2
43 *
44 * Copyright (c) Remix Software Inc.
45 *
46 * This source code is licensed under the MIT license found in the
47 * LICENSE.md file in the root directory of this source tree.
48 *
49 * @license MIT
50 */var Xc=/^(?:[a-z][a-z0-9+.-]*:|[\\/]{2})/i,Lm=/^[\\/]{2}/;function pv(t,n){return n+t.replace(/\\/g,"/")}var Up="popstate";function Gp(t){return typeof t=="object"&&t!=null&&"pathname"in t&&"search"in t&&"hash"in t&&"state"in t&&"key"in t}function fv(t={}){function n(s,l){var g;let u=(g=l.state)==null?void 0:g.masked,{pathname:h,search:f,hash:m}=u||s.location;return Sc("",{pathname:h,search:f,hash:m},l.state&&l.state.usr||null,l.state&&l.state.key||"default",u?{pathname:s.location.pathname,search:s.location.search,hash:s.location.hash}:void 0)}function i(s,l){return typeof l=="string"?l:Ji(l)}return gv(n,i,null,t)}function Ce(t,n){if(t===!1||t===null||typeof t>"u")throw new Error(n)}function Ot(t,n){if(!t){typeof console<"u"&&console.warn(n);try{throw new Error(n)}catch{}}}function mv(){return Math.random().toString(36).substring(2,10)}function Yp(t,n){return{usr:t.state,key:t.key,idx:n,masked:t.mask?{pathname:t.pathname,search:t.search,hash:t.hash}:void 0}}function Sc(t,n,i=null,s,l){return{pathname:typeof t=="string"?t:t.pathname,search:"",hash:"",...typeof n=="string"?Yn(n):n,state:i,key:n&&n.key||s||mv(),mask:l}}function Ji({pathname:t="/",search:n="",hash:i=""}){return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),i&&i!=="#"&&(t+=i.charAt(0)==="#"?i:"#"+i),t}function Yn(t){let n={};if(t){let i=t.indexOf("#");i>=0&&(n.hash=t.substring(i),t=t.substring(0,i));let s=t.indexOf("?");s>=0&&(n.search=t.substring(s),t=t.substring(0,s)),t&&(n.pathname=t)}return n}
50function gv(t,n,i,s={}){let{window:l=document.defaultView,v5Compat:u=!1}=s,h=l.history,f="POP",m=null,g=y();g==null&&(g=0,h.replaceState({...h.state,idx:g},""));function y(){return(h.state||{idx:null}).idx}function b(){f="POP";let S=y(),E=S==null?null:S-g;g=S,m&&m({action:f,location:M.location,delta:E})}function w(S,E){f="PUSH";let R=Gp(S)?S:Sc(M.location,S,E);g=y()+1;let K=Yp(R,g),W=M.createHref(R.mask||R);try{h.pushState(K,"",W)}catch(N){if(N instanceof DOMException&&N.name==="DataCloneError")throw N;l.location.assign(W)}u&&m&&m({action:f,location:M.location,delta:1})}function _(S,E){f="REPLACE";let R=Gp(S)?S:Sc(M.location,S,E);g=y();let K=Yp(R,g),W=M.createHref(R.mask||R);h.replaceState(K,"",W),u&&m&&m({action:f,location:M.location,delta:0})}function j(S){return yv(l,S)}let M={get action(){return f},get location(){return t(l,h)},listen(S){if(m)throw new Error("A history only accepts one active listener");return l.addEventListener(Up,b),m=S,()=>{l.removeEventListener(Up,b),m=null}},createHref(S){return n(l,S)},createURL:j,encodeLocation(S){let E=j(S);return{pathname:E.pathname,search:E.search,hash:E.hash}},push:w,replace:_,go(S){return h.go(S)}};return M}function yv(t,n,i=!1){let s="http://localhost";t&&(s=t.location.origin!=="null"?t.location.origin:t.location.href),Ce(s,"No window.location.(origin|href) available to create URL");let l=typeof n=="string"?n:Ji(n);return l=l.replace(/ $/,"%20"),!i&&Lm.test(l)&&(l=s+l),new URL(l,s)}function Om(t,n,i="/"){return bv(t,n,i,!1)}function bv(t,n,i,s,l){let u=typeof n=="string"?Yn(n):n,h=ma(u.pathname||"/",i);if(h==null)return null;let f=vv(t),m=null,g=Pv(h);for(let y=0;m==null&&y<f.length;++y)m=Cv(f[y],g,s);return m}function vv(t){let n=Bm(t);return wv(n),n}function Bm(t,n=[],i=[],s="",l=!1){let u=(h,f,m=l,g)=>{let y={relativePath:g===void 0?h.path||"":g,caseSensitive:h.caseSensitive===!0,childrenIndex:f,route:h};if(y.relativePath.startsWith("/")){if(!y.relativePath.startsWith(s)&&m)return;Ce(y.relativePath.startsWith(s),`Absolute route path "${y.relativePath}" nested under path "${s}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),y.relativePath=y.relativePath.slice(s.length)}let b=Ut([s,y.relativePath]),w=i.concat(y);h.children&&h.children.length>0&&(Ce(h.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${b}".`),Bm(h.children,n,w,b,m)),!(h.path==null&&!h.index)&&n.push({path:b,score:Sv(b,h.index),routesMeta:w.map((_,j)=>{let[M,S]=Hm(_.relativePath,_.caseSensitive,j===w.length-1);return{..._,matcher:M,compiledParams:S}})})};return t.forEach((h,f)=>{var m;if(h.path===""||!((m=h.path)!=null&&m.includes("?")))u(h,f);else for(let g of Fm(h.path))u(h,f,!0,g)}),n}function Fm(t){let n=t.split("/");if(n.length===0)return[];let[i,...s]=n,l=i.endsWith("?"),u=i.replace(/\?$/,"");if(s.length===0)return l?[u,""]:[u];let h=Fm(s.join("/")),f=[];return f.push(...h.map(m=>m===""?u:[u,m].join("/"))),l&&f.push(...h),f.map(m=>t.startsWith("/")&&m===""?"/":m)}function wv(t){t.sort((n,i)=>n.score!==i.score?i.score-n.score:jv(n.routesMeta.map(s=>s.childrenIndex),i.routesMeta.map(s=>s.childrenIndex)))}var xv=/^:[\w-]+$/,kv=3,_v=2,Tv=1,Iv=10,Mv=-2,Zp=t=>t==="*";function Sv(t,n){let i=t.split("/"),s=i.length;return i.some(Zp)&&(s+=Mv),n&&(s+=_v),i.filter(l=>!Zp(l)).reduce((l,u)=>l+(xv.test(u)?kv:u===""?Tv:Iv),s)}function jv(t,n){return t.length===n.length&&t.slice(0,-1).every((s,l)=>s===n[l])?t[t.length-1]-n[n.length-1]:0}function Cv(t,n,i=!1){let{routesMeta:s}=t,l={},u="/",h=[];for(let f=0;f<s.length;++f){let m=s[f],g=f===s.length-1,y=u==="/"?n:n.slice(u.length)||"/",b={path:m.relativePath,caseSensitive:m.caseSensitive,end:g},w=m.matcher&&m.compiledParams?Wm(b,y,m.matcher,m.compiledParams):Es(b,y),_=m.route;if(!w&&g&&i&&!s[s.length-1].route.index&&(w=Es({path:m.relativePath,caseSensitive:m.caseSensitive,end:!1},y)),!w)return null;
50Object.assign(l,w.params),h.push({params:l,pathname:Ut([u,w.pathname]),pathnameBase:Av(Ut([u,w.pathnameBase])),route:_}),w.pathnameBase!=="/"&&(u=Ut([u,w.pathnameBase]))}return h}function Es(t,n){typeof t=="string"&&(t={path:t,caseSensitive:!1,end:!0});let[i,s]=Hm(t.path,t.caseSensitive,t.end);return Wm(t,n,i,s)}function Wm(t,n,i,s){let l=n.match(i);if(!l)return null;let u=l[0],h=u.replace(/(.)\/+$/,"$1"),f=l.slice(1);return{params:s.reduce((g,{paramName:y,isOptional:b},w)=>{if(y==="*"){let j=f[w]||"";h=u.slice(0,u.length-j.length).replace(/(.)\/+$/,"$1")}const _=f[w];return b&&!_?g[y]=void 0:g[y]=(_||"").replace(/%2F/g,"/"),g},{}),pathname:u,pathnameBase:h,pattern:t}}function Hm(t,n=!1,i=!0){Ot(t==="*"||!t.endsWith("*")||t.endsWith("/*"),`Route path "${t}" will be treated as if it were "${t.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${t.replace(/\*$/,"/*")}".`);let s=[],l="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(h,f,m,g,y)=>{if(s.push({paramName:f,isOptional:m!=null}),m){let b=y.charAt(g+h.length);return b&&b!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return t.endsWith("*")?(s.push({paramName:"*"}),l+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):i?l+="\\/*$":t!==""&&t!=="/"&&(l+="(?:(?=\\/|$))"),[new RegExp(l,n?void 0:"i"),s]}function Pv(t){try{return t.split("/").map(n=>decodeURIComponent(n).replace(/\//g,"%2F")).join("/")}catch(n){return Ot(!1,`The URL path "${t}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${n}).`),t}}function ma(t,n){if(n==="/")return t;if(!t.toLowerCase().startsWith(n.toLowerCase()))return null;let i=n.endsWith("/")?n.length-1:n.length,s=t.charAt(i);return s&&s!=="/"?null:t.slice(i)||"/"}function Ev(t,n="/"){let{pathname:i,search:s="",hash:l=""}=typeof t=="string"?Yn(t):t,u;return i?(i=zm(i),i.startsWith("/")?u=Jp(i.substring(1),"/"):u=Jp(i,n)):u=n,{pathname:u,search:Nv(s),hash:Rv(l)}}function Jp(t,n){let i=Ds(n).split("/");return t.split("/").forEach(l=>{l===".."?i.length>1&&i.pop():l!=="."&&i.push(l)}),i.length>1?i.join("/"):"/"}function ac(t,n,i,s){return`Cannot include a '${t}' character in a manually specified \`to.${n}\` field [${JSON.stringify(s)}].  Please separate it out to the \`to.${i}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function Dv(t){return t.filter((n,i)=>i===0||n.route.path&&n.route.path.length>0)}function Qc(t){let n=Dv(t);return n.map((i,s)=>s===n.length-1?i.pathname:i.pathnameBase)}function zs(t,n,i,s=!1){let l;typeof t=="string"?l=Yn(t):(l={...t},Ce(!l.pathname||!l.pathname.includes("?"),ac("?","pathname","search",l)),Ce(!l.pathname||!l.pathname.includes("#"),ac("#","pathname","hash",l)),Ce(!l.search||!l.search.includes("#"),ac("#","search","hash",l)));let u=t===""||l.pathname==="",h=u?"/":l.pathname,f;if(h==null)f=i;else{let b=n.length-1;if(!s&&h.startsWith("..")){let w=h.split("/");for(;w[0]==="..";)w.shift(),b-=1;l.pathname=w.join("/")}f=b>=0?n[b]:"/"}let m=Ev(l,f),g=h&&h!=="/"&&h.endsWith("/"),y=(u||h===".")&&i.endsWith("/");return!m.pathname.endsWith("/")&&(g||y)&&(m.pathname+="/"),m}var zm=t=>t.replace(/[\\/]{2,}/g,"/"),Ut=t=>zm(t.join("/")),Ds=t=>t.replace(/\/+$/,""),Av=t=>Ds(t).replace(/^\/*/,"/"),Nv=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,Rv=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t,Kv=class{constructor(t,n,i,s=!1){this.status=t,this.statusText=n||"",this.internal=s,i instanceof Error?(this.data=i.toString(),this.error=i):this.data=i}};function Lv(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}function Ov(t){let n=t.map(i=>i.route.path).filter(Boolean);return Ut(n)||"/"}var Vm=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function qm(t,n){let i=t;if(typeof i!="string"||!Xc.test(i))return{absoluteURL:void 0,isExternal:!1,to:i};let s=i,l=!1;if(Vm)try{let u=new URL(window.location.href),h=Lm.test(i)?new URL(pv(i,u.protocol)):new URL(i),f=ma(h.pathname,n);h.origin===u.origin&&f!=null?i=f+h.search+h.hash:l=!0}catch{Ot(!1,`<Link to="${i}">
50 contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:s,isExternal:l,to:i}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var $m=["POST","PUT","PATCH","DELETE"];new Set($m);var Bv=["GET",...$m];new Set(Bv);var Fv=["about:","blob:","chrome:","chrome-untrusted:","content:","data:","devtools:","file:","filesystem:","javascript:"];function Wv(t){try{return Fv.includes(new URL(t).protocol)}catch{return!1}}var Zn=x.createContext(null);Zn.displayName="DataRouter";var Vs=x.createContext(null);Vs.displayName="DataRouterState";var Um=x.createContext(!1);function Hv(){return x.useContext(Um)}var Gm=x.createContext({isTransitioning:!1});Gm.displayName="ViewTransition";var zv=x.createContext(new Map);zv.displayName="Fetchers";var Vv=x.createContext(null);Vv.displayName="Await";var Mt=x.createContext(null);Mt.displayName="Navigation";var nr=x.createContext(null);nr.displayName="Location";var Gt=x.createContext({outlet:null,matches:[],isDataRoute:!1});Gt.displayName="Route";var eu=x.createContext(null);eu.displayName="RouteError";var Ym="REACT_ROUTER_ERROR",qv="REDIRECT",$v="ROUTE_ERROR_RESPONSE";function Uv(t){if(t.startsWith(`${Ym}:${qv}:{`))try{let n=JSON.parse(t.slice(28));if(typeof n=="object"&&n&&typeof n.status=="number"&&typeof n.statusText=="string"&&typeof n.location=="string"&&typeof n.reloadDocument=="boolean"&&typeof n.replace=="boolean")return n}catch{}}function Gv(t){if(t.startsWith(`${Ym}:${$v}:{`))try{let n=JSON.parse(t.slice(40));if(typeof n=="object"&&n&&typeof n.status=="number"&&typeof n.statusText=="string")return new Kv(n.status,n.statusText,n.data)}catch{}}function Yv(t,{relative:n}={}){Ce(Jn(),"useHref() may be used only in the context of a <Router> component.");let{basename:i,navigator:s}=x.useContext(Mt),{hash:l,pathname:u,search:h}=ir(t,{relative:n}),f=u;return i!=="/"&&(f=u==="/"?i:Ut([i,u])),s.createHref({pathname:f,search:h,hash:l})}function Jn(){return x.useContext(nr)!=null}function Je(){return Ce(Jn(),"useLocation() may be used only in the context of a <Router> component."),x.useContext(nr).location}var Zm="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Jm(t){x.useContext(Mt).static||x.useLayoutEffect(t)}function tu(){let{isDataRoute:t}=x.useContext(Gt);return t?c1():Zv()}function Zv(){Ce(Jn(),"useNavigate() may be used only in the context of a <Router> component.");let t=x.useContext(Zn),{basename:n,navigator:i}=x.useContext(Mt),{matches:s}=x.useContext(Gt),{pathname:l}=Je(),u=JSON.stringify(Qc(s)),h=x.useRef(!1);return Jm(()=>{h.current=!0}),x.useCallback((m,g={})=>{if(Ot(h.current,Zm),!h.current)return;if(typeof m=="number"){i.go(m);return}let y=zs(m,JSON.parse(u),l,g.relative==="path");t==null&&n!=="/"&&(y.pathname=y.pathname==="/"?n:Ut([n,y.pathname])),(g.replace?i.replace:i.push)(y,g.state,g)},[n,i,u,l,t])}x.createContext(null);function Jv(){let{matches:t}=x.useContext(Gt),n=t[t.length-1];return(n==null?void 0:n.params)??{}}function ir(t,{relative:n}={}){let{matches:i}=x.useContext(Gt),{pathname:s}=Je(),l=JSON.stringify(Qc(i));return x.useMemo(()=>zs(t,JSON.parse(l),s,n==="path"),[t,l,s,n])}function Xv(t,n){return Xm(t,n)}function Xm(t,n,i){var S;Ce(Jn(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:s}=x.useContext(Mt),{matches:l}=x.useContext(Gt),u=l[l.length-1],h=u?u.params:{},f=u?u.pathname:"/",m=u?u.pathnameBase:"/",g=u&&u.route;{let E=g&&g.path||"";eg(f,!g||E.endsWith("*")||E.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${f}" (under <Route path="${E}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
51
52Please change the parent <Route path="${E}"> to <Route path="${E==="/"?"*":`${E}/*`}">.`)}let y=Je(),b;if(n){let E=typeof n=="string"?Yn(n):n;Ce(m==="/"||((S=E.pathname)==null?void 0:S.startsWith(m)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${m}" but pathname "${E.pathname}" was given in the \`location\` prop.`),b=E}else b=y;let w=b.pathname||"/",_=w;if(m!=="/"){let E=m.replace(/^\//,"").split("/");_="/"+w.replace(/^\//,"").split("/").slice(E.length).join("/")}let j=i&&i.state.matches.length?i.state.matches.map(E=>Object.assign(E,{route:i.manifest[E.route.id]||E.route})):Om(t,{pathname:_});Ot(g||j!=null,`No routes matched location "${b.pathname}${b.search}${b.hash}" `),Ot(j==null||j[j.length-1].route.element!==void 0||j[j.length-1].route.Component!==void 0||j[j.length-1].route.lazy!==void 0,`Matched leaf route at location "${b.pathname}${b.search}${b.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let M=n1(j&&j.map(E=>Object.assign({},E,{params:Object.assign({},h,E.params),pathname:Ut([m,s.encodeLocation?s.encodeLocation(E.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:E.pathname]),pathnameBase:E.pathnameBase==="/"?m:Ut([m,s.encodeLocation?s.encodeLocation(E.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:E.pathnameBase])})),l,i);return n&&M?x.createElement(nr.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",mask:void 0,...b},navigationType:"POP"}},M):M}function Qv(){let t=l1(),n=Lv(t)?`${t.status} ${t.statusText}`:t instanceof Error?t.message:JSON.stringify(t),i=t instanceof Error?t.stack:null,s="rgba(200,200,200, 0.5)",l={padding:"0.5rem",backgroundColor:s},u={padding:"2px 4px",backgroundColor:s},h=null;return console.error("Error handled by React Router default ErrorBoundary:",t),h=x.createElement(x.Fragment,null,x.createElement("p",null,"💿 Hey developer 👋"),x.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",x.createElement("code",{style:u},"ErrorBoundary")," or"," ",x.createElement("code",{style:u},"errorElement")," prop on your route.")),x.createElement(x.Fragment,null,x.createElement("h2",null,"Unexpected Application 
52Error!"),x.createElement("h3",{style:{fontStyle:"italic"}},n),i?x.createElement("pre",{style:l},i):null,h)}var e1=x.createElement(Qv,null),Qm=class extends x.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error!==void 0?t.error:n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){this.props.onError?this.props.onError(t,n):console.error("React Router caught the following error during render",t)}render(){let t=this.state.error;if(this.context&&typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){const i=Gv(t.digest);i&&(t=i)}let n=t!==void 0?x.createElement(Gt.Provider,{value:this.props.routeContext},x.createElement(eu.Provider,{value:t,children:this.props.component})):this.props.children;return this.context?x.createElement(t1,{error:t},n):n}};Qm.contextType=Um;var nc=new WeakMap;function t1({children:t,error:n}){let{basename:i}=x.useContext(Mt);if(typeof n=="object"&&n&&"digest"in n&&typeof n.digest=="string"){let s=Uv(n.digest);if(s){let l=nc.get(n);if(l)throw l;let u=qm(s.location,i),h=u.absoluteURL||u.to;if(Wv(h))throw new Error("Invalid redirect location");if(Vm&&!nc.get(n))if(u.isExternal||s.reloadDocument)window.location.href=h;else{const f=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(u.to,{replace:s.replace}));throw nc.set(n,f),f}return x.createElement("meta",{httpEquiv:"refresh",content:`0;url=${h}`})}}return t}function a1({routeContext:t,match:n,children:i}){let s=x.useContext(Zn);return s&&s.static&&s.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(s.staticContext._deepestRenderedBoundaryId=n.route.id),x.createElement(Gt.Provider,{value:t},i)}function n1(t,n=[],i){let s=i==null?void 0:i.state;if(t==null){if(!s)return null;if(s.errors)t=s.matches;else if(n.length===0&&!s.initialized&&s.matches.length>0)t=s.matches;else return null}let l=t,u=s==null?void 0:s.errors;if(u!=null){let y=l.findIndex(b=>b.route.id&&(u==null?void 0:u[b.route.id])!==void 0);Ce(y>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(u).join(",")}`),l=l.slice(0,Math.min(l.length,y+1))}let h=!1,f=-1;if(i&&s){h=s.renderFallback;for(let y=0;y<l.length;y++){let b=l[y];if((b.route.HydrateFallback||b.route.hydrateFallbackElement)&&(f=y),b.route.id){let{loaderData:w,errors:_}=s,j=b.route.loader&&!w.hasOwnProperty(b.route.id)&&(!_||_[b.route.id]===void 0);if(b.route.lazy||j){i.isStatic&&(h=!0),f>=0?l=l.slice(0,f+1):l=[l[0]];break}}}}let m=i==null?void 0:i.onError,g=s&&m?(y,b)=>{var w,_;m(y,{location:s.location,params:((_=(w=s.matches)==null?void 0:w[0])==null?void 0:_.params)??{},pattern:Ov(s.matches),errorInfo:b})}:void 0;return l.reduceRight((y,b,w)=>{let _,j=!1,M=null,S=null;s&&(_=u&&b.route.id?u[b.route.id]:void 0,M=b.route.errorElement||e1,h&&(f<0&&w===0?(eg("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),j=!0,S=null):f===w&&(j=!0,S=b.route.hydrateFallbackElement||null)));let E=n.concat(l.slice(0,w+1)),R=()=>{let K;return _?K=M:j?K=S:b.route.Component?K=x.createElement(b.route.Component,null):b.route.element?K=b.route.element:K=y,x.createElement(a1,{match:b,routeContext:{outlet:y,matches:E,isDataRoute:s!=null},children:K})};return s&&(b.route.ErrorBoundary||b.route.errorElement||w===0)?x.createElement(Qm,{location:s.location,revalidation:s.revalidation,component:M,error:_,children:R(),routeContext:{outlet:null,matches:E,isDataRoute:!0},onError:g}):R()},null)}function au(t){return`${t} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function i1(t){let n=x.useContext(Zn);return Ce(n,au(t)),n}function r1(t){let n=x.useContext(Vs);return Ce(n,au(t)),n}function s1(t){let n=x.useContext(Gt);return Ce(n,au(t)),n}function nu(t){let n=s1(t),i=n.matches[n.matches.length-1];return Ce(i.route.id,`${t} can only be used on routes that contain a unique "id"`),i.route.id}function o1(){return nu("useRouteId")}function l1(){var s;let t=x.useContext(eu),n=r1("useRouteError"),i=nu("useRouteError");return t!==void 0?t:(s=n.errors)==null?void 0:s[i]}function c1(){let{router:t}=i1("useNavigate"),n=nu("useNavigate"),i=x.useRef(!1);return Jm(()=>{i.current=!0}),x.useCallback(async(l,u={})=>{Ot(i.current,Zm),i.current&&(typeof l=="number"?await t.navigate(l):await t.navigate(l,{fromRouteId:n,...u}))},[t,n])}var Xp={};function eg(t,n,i){!n&&!Xp[t]&&(Xp[t]=!0,Ot(!1,i))}x.memo(u1);function u1({routes:t,manifest:n,future:i,state:s,isStatic:l,onError:u}){return Xm(t,void 0,{manifest:n,state:s,isStatic:l,onError:u})}function WT({to:t,replace:n,state:i,relative:s}){Ce(Jn(),"<Navigate> may be used only in the context of a <Router> component.");let{static:l}=x.useContext(Mt);Ot(!l,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:u}=x.useContext(Gt),{pathname:h}=Je(),f=tu(),m=zs(t,Qc(u),h,s==="path"),g=JSON.stringify(m);return x.useEffect(()=>{f(JSON.parse(g),{replace:n,state:i,relative:s})},[f,g,s,n,i]),null}function $(t){Ce(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function d1({basename:t="/",children:n=null,location:i,navigationType:s="POP",navigator:l,static:u=!1,useTransitions:h}){Ce(!Jn(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let f=t.replace(/^\/*/,"/"),m=x.useMemo(()=>({basename:f,navigator:l,static:u,useTransitions:h,future:{}}),[f,l,u,h]);typeof i=="string"&&(i=Yn(i));let{pathname:g="/",search:y="",hash:b="",state:w=null,key:_="default",mask:j}=i,M=x.useMemo(()=>{let S=ma(g,f);return S==null?null:{location:{pathname:S,search:y,hash:b,state:w,key:_,mask:j},navigationType:s}},[f,g,y,b,w,_,s,j]);
52return Ot(M!=null,`<Router basename="${f}"> is not able to match the URL "${g}${y}${b}" because it does not start with the basename, so the <Router> won't render anything.`),M==null?null:x.createElement(Mt.Provider,{value:m},x.createElement(nr.Provider,{children:n,value:M}))}function h1({children:t,location:n}){return Xv(jc(t),n)}function jc(t,n=[]){let i=[];return x.Children.forEach(t,(s,l)=>{if(!x.isValidElement(s))return;let u=[...n,l];if(s.type===x.Fragment){i.push.apply(i,jc(s.props.children,u));return}Ce(s.type===$,`[${typeof s.type=="string"?s.type:s.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),Ce(!s.props.index||!s.props.children,"An index route cannot have child routes.");let h={id:s.props.id||u.join("-"),caseSensitive:s.props.caseSensitive,element:s.props.element,Component:s.props.Component,index:s.props.index,path:s.props.path,middleware:s.props.middleware,loader:s.props.loader,action:s.props.action,hydrateFallbackElement:s.props.hydrateFallbackElement,HydrateFallback:s.props.HydrateFallback,errorElement:s.props.errorElement,ErrorBoundary:s.props.ErrorBoundary,hasErrorBoundary:s.props.hasErrorBoundary===!0||s.props.ErrorBoundary!=null||s.props.errorElement!=null,shouldRevalidate:s.props.shouldRevalidate,handle:s.props.handle,lazy:s.props.lazy};s.props.children&&(h.children=jc(s.props.children,u)),i.push(h)}),i}var Is="get",Ms="application/x-www-form-urlencoded";function qs(t){return typeof HTMLElement<"u"&&t instanceof HTMLElement}function p1(t){return qs(t)&&t.tagName.toLowerCase()==="button"}function f1(t){return qs(t)&&t.tagName.toLowerCase()==="form"}function m1(t){return qs(t)&&t.tagName.toLowerCase()==="input"}function g1(t){return!!(t.metaKey||t.altKey||t.ctrlKey||t.shiftKey)}function y1(t,n){return t.button===0&&(!n||n==="_self")&&!g1(t)}function Cc(t=""){return new URLSearchParams(typeof t=="string"||Array.isArray(t)||t instanceof URLSearchParams?t:Object.keys(t).reduce((n,i)=>{let s=t[i];return n.concat(Array.isArray(s)?s.map(l=>[i,l]):[[i,s]])},[]))}function b1(t,n){let i=Cc(t);return n&&n.forEach((s,l)=>{i.has(l)||n.getAll(l).forEach(u=>{i.append(l,u)})}),i}var ws=null;function v1(){if(ws===null)try{new FormData(document.createElement("form"),0),ws=!1}catch{ws=!0}return ws}var w1=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function ic(t){return t!=null&&!w1.has(t)?(Ot(!1,`"${t}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${Ms}"`),null):t}function x1(t,n){let i,s,l,u,h;if(f1(t)){let f=t.getAttribute("action");s=f?ma(f,n):null,i=t.getAttribute("method")||Is,l=ic(t.getAttribute("enctype"))||Ms,u=new FormData(t)}else if(p1(t)||m1(t)&&(t.type==="submit"||t.type==="image")){let f=t.form;if(f==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let m=t.getAttribute("formaction")||f.getAttribute("action");if(s=m?ma(m,n):null,i=t.getAttribute("formmethod")||f.getAttribute("method")||Is,l=ic(t.getAttribute("formenctype"))||ic(f.getAttribute("enctype"))||Ms,u=new FormData(f,t),!v1()){let{name:g,type:y,value:b}=t;if(y==="image"){let w=g?`${g}.`:"";u.append(`${w}x`,"0"),u.append(`${w}y`,"0")}else g&&u.append(g,b)}}else{if(qs(t))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');i=Is,s=null,l=Ms,h=t}return u&&l==="text/plain"&&(h=u,u=void 0),{action:s,method:i.toLowerCase(),encType:l,formData:u,body:h}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function iu(t,n){if(t===!1||t===null||typeof t>"u")throw new Error(n)}function tg(t,n,i,s){let l=typeof t=="string"?new URL(t,typeof window>"u"?"server://singlefetch/":window.location.origin):t;return i?l.pathname.endsWith("/")?l.pathname=`${l.pathname}_.${s}`:l.pathname=`${l.pathname}.${s}`:l.pathname==="/"?l.pathname=`_root.${s}`:n&&ma(l.pathname,n)==="/"?l.pathname=`${Ds(n)}/_root.${s}`:l.pathname=`${Ds(l.pathname)}.${s}`,l}async function k1(t,n){if(t.id in n)return n[t.id];try{let i=await import(t.module);return n[t.id]=i,i}catch(i){return console.error(`Error loading route module \`${t.module}\`, reloading page...`),console.error(i),window.__reactRouterContext&&window.__reactRouterContext.
52isSpaMode,window.location.reload(),new Promise(()=>{})}}function _1(t){return t==null?!1:t.href==null?t.rel==="preload"&&typeof t.imageSrcSet=="string"&&typeof t.imageSizes=="string":typeof t.rel=="string"&&typeof t.href=="string"}async function T1(t,n,i){let s=await Promise.all(t.map(async l=>{let u=n.routes[l.route.id];if(u){let h=await k1(u,i);return h.links?h.links():[]}return[]}));return j1(s.flat(1).filter(_1).filter(l=>l.rel==="stylesheet"||l.rel==="preload").map(l=>l.rel==="stylesheet"?{...l,rel:"prefetch",as:"style"}:{...l,rel:"prefetch"}))}function Qp(t,n,i,s,l,u){let h=(m,g)=>i[g]?m.route.id!==i[g].route.id:!0,f=(m,g)=>{var y;return i[g].pathname!==m.pathname||((y=i[g].route.path)==null?void 0:y.endsWith("*"))&&i[g].params["*"]!==m.params["*"]};return u==="assets"?n.filter((m,g)=>h(m,g)||f(m,g)):u==="data"?n.filter((m,g)=>{var b;let y=s.routes[m.route.id];if(!y||!y.hasLoader)return!1;if(h(m,g)||f(m,g))return!0;if(m.route.shouldRevalidate){let w=m.route.shouldRevalidate({currentUrl:new URL(l.pathname+l.search+l.hash,window.origin),currentParams:((b=i[0])==null?void 0:b.params)||{},nextUrl:new URL(t,window.origin),nextParams:m.params,defaultShouldRevalidate:!0});if(typeof w=="boolean")return w}return!0}):[]}function I1(t,n,{includeHydrateFallback:i}={}){return M1(t.map(s=>{let l=n.routes[s.route.id];if(!l)return[];let u=[l.module];return l.clientActionModule&&(u=u.concat(l.clientActionModule)),l.clientLoaderModule&&(u=u.concat(l.clientLoaderModule)),i&&l.hydrateFallbackModule&&(u=u.concat(l.hydrateFallbackModule)),l.imports&&(u=u.concat(l.imports)),u}).flat(1))}function M1(t){return[...new Set(t)]}function S1(t){let n={},i=Object.keys(t).sort();for(let s of i)n[s]=t[s];return n}function j1(t,n){let i=new Set;return new Set(n),t.reduce((s,l)=>{let u=JSON.stringify(S1(l));return i.has(u)||(i.add(u),s.push({key:u,link:l})),s},[])}function ru(){let t=x.useContext(Zn);return iu(t,"You must render this element inside a <DataRouterContext.Provider> element"),t}function C1(){let t=x.useContext(Vs);return iu(t,"You must render this element inside a <DataRouterStateContext.Provider> element"),t}var su=x.createContext(void 0);su.displayName="FrameworkContext";function $s(){let t=x.useContext(su);return iu(t,"You must render this element inside a <HydratedRouter> element"),t}function P1(t,n){let i=x.useContext(su),[s,l]=x.useState(!1),[u,h]=x.useState(!1),{onFocus:f,onBlur:m,onMouseEnter:g,onMouseLeave:y,onTouchStart:b}=n,w=x.useRef(null);x.useEffect(()=>{if(t==="render"&&h(!0),t==="viewport"){let M=E=>{E.forEach(R=>{h(R.isIntersecting)})},S=new IntersectionObserver(M,{threshold:.5});return w.current&&S.observe(w.current),()=>{S.disconnect()}}},[t]),x.useEffect(()=>{if(s){let M=setTimeout(()=>{h(!0)},100);return()=>{clearTimeout(M)}}},[s]);let _=()=>{l(!0)},j=()=>{l(!1),h(!1)};return i?t!=="intent"?[u,w,{}]:[u,w,{onFocus:Fi(f,_),onBlur:Fi(m,j),onMouseEnter:Fi(g,_),onMouseLeave:Fi(y,j),onTouchStart:Fi(b,_)}]:[!1,w,{}]}function Fi(t,n){return i=>{t&&t(i),i.defaultPrevented||n(i)}}function E1({page:t,...n}){let i=Hv(),{nonce:s}=$s(),{router:l}=ru(),u=x.useMemo(()=>Om(l.routes,t,l.basename),[l.routes,t,l.basename]);return u?(n.nonce==null&&s&&(n={...n,nonce:s}),i?x.createElement(A1,{page:t,matches:u,...n}):x.createElement(N1,{page:t,matches:u,...n})):null}function D1(t){let{manifest:n,routeModules:i}=$s(),[s,l]=x.useState([]);return x.useEffect(()=>{let u=!1;return T1(t,n,i).then(h=>{u||l(h)}),()=>{u=!0}},[t,n,i]),s}function A1({page:t,matches:n,...i}){let s=Je(),{future:l}=$s(),{basename:u}=ru(),h=x.useMemo(()=>{if(t===s.pathname+s.search+s.hash)return[];let f=tg(t,u,l.v8_trailingSlashAwareDataRequests,"rsc"),m=!1,g=[];for(let y of n)typeof y.route.shouldRevalidate=="function"?m=!0:g.push(y.route.id);return m&&g.length>0&&f.searchParams.set("_routes",g.join(",")),[f.pathname+f.search]},[u,l.v8_trailingSlashAwareDataRequests,t,s,n]);return x.createElement(x.Fragment,null,h.map(f=>x.createElement("link",{key:f,rel:"prefetch",as:"fetch",href:f,...i})))}function N1({page:t,matches:n,...i}){let s=Je(),{future:l,manifest:u,routeModules:h}=$s(),{basename:f}=ru(),{loaderData:m,matches:g}=C1(),y=x.useMemo(()=>Qp(t,n,g,u,s,"data"),[t,n,g,u,s]),b=x.useMemo(()=>Qp(t,n,g,u,s,"assets"),[t,n,g,u,s]),w=x.useMemo(()=>
52{if(t===s.pathname+s.search+s.hash)return[];let M=new Set,S=!1;if(n.forEach(R=>{var W;let K=u.routes[R.route.id];!K||!K.hasLoader||(!y.some(N=>N.route.id===R.route.id)&&R.route.id in m&&((W=h[R.route.id])!=null&&W.shouldRevalidate)||K.hasClientLoader?S=!0:M.add(R.route.id))}),M.size===0)return[];let E=tg(t,f,l.v8_trailingSlashAwareDataRequests,"data");return S&&M.size>0&&E.searchParams.set("_routes",n.filter(R=>M.has(R.route.id)).map(R=>R.route.id).join(",")),[E.pathname+E.search]},[f,l.v8_trailingSlashAwareDataRequests,m,s,u,y,n,t,h]),_=x.useMemo(()=>I1(b,u),[b,u]),j=D1(b);return x.createElement(x.Fragment,null,w.map(M=>x.createElement("link",{key:M,rel:"prefetch",as:"fetch",href:M,...i})),_.map(M=>x.createElement("link",{key:M,rel:"modulepreload",href:M,...i})),j.map(({key:M,link:S})=>x.createElement("link",{key:M,nonce:i.nonce,...S,crossOrigin:S.crossOrigin??i.crossOrigin})))}function R1(...t){return n=>{t.forEach(i=>{typeof i=="function"?i(n):i!=null&&(i.current=n)})}}var K1=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{K1&&(window.__reactRouterVersion="7.18.2")}catch{}function L1({basename:t,children:n,useTransitions:i,window:s}){let l=x.useRef();l.current==null&&(l.current=fv({window:s,v5Compat:!0}));let u=l.current,[h,f]=x.useState({action:u.action,location:u.location}),m=x.useCallback(g=>{i===!1?f(g):x.startTransition(()=>f(g))},[i]);return x.useLayoutEffect(()=>u.listen(m),[u,m]),x.createElement(d1,{basename:t,children:n,location:h.location,navigationType:h.action,navigator:u,useTransitions:i})}var ye=x.forwardRef(function({onClick:n,discover:i="render",prefetch:s="none",relative:l,reloadDocument:u,replace:h,mask:f,state:m,target:g,to:y,preventScrollReset:b,viewTransition:w,defaultShouldRevalidate:_,...j},M){let{basename:S,navigator:E,useTransitions:R}=x.useContext(Mt),K=typeof y=="string"&&Xc.test(y),W=qm(y,S);y=W.to;let N=Yv(y,{relative:l}),q=Je(),ee=null;if(f){let Ve=zs(f,[],q.mask?q.mask.pathname:"/",!0);S!=="/"&&(Ve.pathname=Ve.pathname==="/"?S:Ut([S,Ve.pathname])),ee=E.createHref(Ve)}let[V,oe,he]=P1(s,j),Oe=W1(y,{replace:h,mask:f,state:m,target:g,preventScrollReset:b,relative:l,viewTransition:w,defaultShouldRevalidate:_,useTransitions:R});function He(Ve){n&&n(Ve),Ve.defaultPrevented||Oe(Ve)}let ze=!(W.isExternal||u),Xe=x.createElement("a",{...j,...he,href:(ze?ee:void 0)||W.absoluteURL||N,onClick:ze?He:n,ref:R1(M,oe),target:g,"data-discover":!K&&i==="render"?"true":void 0});return V&&!K?x.createElement(x.Fragment,null,Xe,x.createElement(E1,{page:N})):Xe});ye.displayName="Link";var O1=x.forwardRef(function({"aria-current":n="page",caseSensitive:i=!1,className:s="",end:l=!1,style:u,to:h,viewTransition:f,children:m,...g},y){let b=ir(h,{relative:g.relative}),w=Je(),_=x.useContext(Vs),{navigator:j,basename:M}=x.useContext(Mt),S=_!=null&&$1(b)&&f===!0,E=j.encodeLocation?j.encodeLocation(b).pathname:b.pathname,R=w.pathname,K=_&&_.navigation&&_.navigation.location?_.navigation.location.pathname:null;i||(R=R.toLowerCase(),K=K?K.toLowerCase():null,E=E.toLowerCase()),K&&M&&(K=ma(K,M)||K);const W=E!=="/"&&E.endsWith("/")?E.length-1:E.length;let N=R===E||!l&&R.startsWith(E)&&R.charAt(W)==="/",q=K!=null&&(K===E||!l&&K.startsWith(E)&&K.charAt(E.length)==="/"),ee={isActive:N,isPending:q,isTransitioning:S},V=N?n:void 0,oe;typeof s=="function"?oe=s(ee):oe=[s,N?"active":null,q?"pending":null,S?"transitioning":null].filter(Boolean).join(" ");let he=typeof u=="function"?u(ee):u;return x.createElement(ye,{...g,"aria-current":V,className:oe,ref:y,style:he,to:h,viewTransition:f},typeof m=="function"?m(ee):m)});O1.displayName="NavLink";var B1=x.forwardRef(({discover:t="render",fetcherKey:n,navigate:i,reloadDocument:s,replace:l,state:u,method:h=Is,action:f,onSubmit:m,relative:g,preventScrollReset:y,viewTransition:b,defaultShouldRevalidate:w,..._},j)=>{let{useTransitions:M}=x.useContext(Mt),S=V1(),E=q1(f,{relative:g}),R=h.toLowerCase()==="get"?"get":"post",K=typeof f=="string"&&Xc.test(f),W=N=>{if(m&&m(N),N.defaultPrevented)return;N.preventDefault();let q=N.nativeEvent.submitter,ee=(q==null?void 0:q.getAttribute("formmethod"))||h,V=()=>S(q||N.currentTarget,{fetcherKey:n,method:ee,navigate:i,replace:l,state:u,relative:g,preventScrollReset:y,viewTransition:b,defaultShouldRevalidate:w});M&&i!==!1?x.startTransition(()=>V()):V()};return x.createElement("form",{ref:j,method:R,action:E,onSubmit:s?m:W,..._,"data-discover":!K&&t==="render"?"true":void 0})});B1.displayName="Form";function F1(t){return`${t} must be used within a data router.  See https://reactrouter.com/en/main/routers/picking-a-router.`}function ag(t){let n=x.useContext(Zn);return Ce(n,F1(t)),n}function W1(t,{target:n,replace:i,mask:s,state:l,preventScrollReset:u,relative:h,viewTransition:f,defaultShouldRevalidate:m,useTransitions:g}={}){let y=tu(),b=Je(),w=ir(t,{relative:h});return x.useCallback(_=>{if(y1(_,n)){_.preventDefault();let j=i!==void 0?i:Ji(b)===Ji(w),M=()=>y(t,{replace:j,mask:s,state:l,preventScrollReset:u,relative:h,viewTransition:f,defaultShouldRevalidate:m});g?x.startTransition(()=>M()):M()}},[b,y,w,i,s,l,n,t,u,h,f,m,g])}function HT(t){Ot(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let n=x.useRef(Cc(t)),i=x.useRef(!1),s=Je(),l=x.useMemo(()=>b1(s.search,i.current?null:n.current),[s.search]),u=tu(),h=x.useCallback((f,m)=>{const g=Cc(typeof f=="function"?f(new URLSearchParams(l)):f);i.current=!0,u("?"+g,m)},[u,l]);return[l,h]}var H1=0,z1=()=>`__${String(++H1)}__`;function V1(){let{router:t}=ag("useSubmit"),{basename:n}=x.useContext(Mt),i=o1(),s=t.fetch,l=t.navigate;return x.useCallback(async(u,h={})=>{let{action:f,method:m,encType:g,formData:y,body:b}=x1(u,n);if(h.navigate===!1){let w=h.fetcherKey||z1();await s(w,i,h.action||f,{defaultShouldRevalidate:h.defaultShouldRevalidate,preventScrollReset:h.preventScrollReset,formData:y,body:b,formMethod:h.method||m,formEncType:h.encType||g,flushSync:h.flushSync})}else await l(h.action||f,{defaultShouldRevalidate:h.defaultShouldRevalidate,preventScrollReset:h.preventScrollReset,formData:y,body:b,formMethod:h.method||m,formEncType:h.encType||g,replace:h.replace,state:h.state,fromRouteId:i,flushSync:h.flushSync,viewTransition:h.viewTransition})},[s,l,n,i])}function q1(t,{relative:n}={}){let{basename:i}=x.useContext(Mt),s=x.useContext(Gt);Ce(s,"useFormAction must be used inside a RouteContext");let[l]=s.matches.slice(-1),u={...ir(t||".",{relative:n})},h=Je();if(t==null){u.search=h.search;let f=new URLSearchParams(u.search),m=f.getAll("index");if(m.some(y=>y==="")){f.delete("index"),m.filter(b=>b).forEach(b=>f.append("index",b));let y=f.toString();u.search=y?`?${y}`:""}}return(!t||t===".")&&l.route.index&&(u.search=u.search?u.search.replace(/^\?/,"?index&"):"?index"),i!=="/"&&(u.pathname=u.pathname==="/"?i:Ut([i,u.pathname])),Ji(u)}function $1(t,{relative:n}={}){let i=x.useContext(Gm);Ce(i!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  Did you accidentally import `RouterProvider` from `react-router`?");let{basename:s}=ag("useViewTransitionState"),l=ir(t,{relative:n});if(!i.isTransitioning)return!1;let u=ma(i.currentLocation.pathname,s)||i.currentLocation.pathname,h=ma(i.nextLocation.pathname,s)||i.nextLocation.pathname;return Es(l.pathname,h)!=null||Es(l.pathname,u)!=null}const yt={locales:["en","zh-TW"],defaultLocale:"en"},$i={mode:"prefix-no-default",storage:{localStorage:[{name:"INTLAYER_LOCALE"}]},basePath:""},rc="translation",U1="object",G1="array",Hi=(t,n)=>{for(const s of n.plugins??[])if(s.canHandle(t))return s.transform(t,n,(l,u)=>Hi(l,u));if(t===null||typeof t!="object"||t.$$typeof!==void 0||t.__v_isVNode!==void 0||t._isVNode!==void 0||t.isJSX!==void 0||typeof t=="function")return t;if(Array.isArray(t))return t.map((s,l)=>{const u={...n,children:s,keyPath:[...n.keyPath,{type:G1,key:l}]};return Hi(s,u)});const i={};for(const s in t){const l={...n,children:t[s],keyPath:[...n.keyPath,{type:U1,key:s}]};if(n.eager){i[s]=Hi(t[s],l);continue}Object.defineProperty(i,s,{enumerable:!0,configurable:!0,get:function(){const u=Hi(t[s],l);return Object.defineProperty(this,s,{value:u,enumerable:!0,configurable:!0}),u}})}return i},Us="default",Y1=/[^A-Za-z0-9._&=-]/g,ef=/[^A-Za-z0-9._-]/g,Z1=t=>`%${t.charCodeAt(0).toString(16).toUpperCase().padStart(4,"0")}`,sc=(t,n)=>{if(t==="")return"%";
52const i=t.replace(n,Z1);return i==="."||i===".."?i.replace(/\./g,"%002E"):i},tf=t=>t===void 0?Us:typeof t=="string"?sc(t,Y1):Object.keys(t).sort().map(n=>`${sc(n,ef)}=${sc(String(t[n]),ef)}`).join("&"),J1=t=>Array.isArray(t)?t.length===0?[Us]:t.map(tf):[tf(t)],X1=(t,n)=>{for(const i of t)if(n(i))return i;return n("default")?Us:t[0]??"default"},Q1=(t,n,i,s)=>{const l=t.split("/");return n.every((u,h)=>u==="variant"?l[h]===s:(i==null?void 0:i.item)===void 0||l[h]===String(i.item))},ew=t=>typeof t=="object"&&t!==null&&"qualifierTypes"in t&&Array.isArray(t.qualifierTypes)&&"content"in t,tw=(t,n)=>{const i=n.split("/"),s={key:t.key,content:t.content[n]};return t.qualifierTypes.forEach((l,u)=>{l==="variant"?s.variant=i[u]:l==="item"&&(s.item=Number(i[u]))}),s},aw=(t,n)=>{if(!ew(t))return t;const{qualifierTypes:i,content:s}=t,l=i.includes("item")&&(n==null?void 0:n.item)===void 0,u=Object.keys(s),h=i.indexOf("variant"),f=h===-1?Us:X1(J1(n==null?void 0:n.variant),g=>u.some(y=>y.split("/")[h]===g)),m=u.filter(g=>Q1(g,i,n,f)).map(g=>tw(t,g));return l?m.sort((g,y)=>(g.item??0)-(y.item??0)):m[0]??null},nw=t=>typeof t=="object"&&t!==null?{locale:t.locale,selector:t}:{locale:t},af=t=>{if(t===null||typeof t!="object"||typeof t.then=="function"||t.$$typeof!==void 0||t.__v_isVNode!==void 0||t._isVNode!==void 0||t.isJSX!==void 0)return!1;const n=Object.getPrototypeOf(t);return n===Object.prototype||n===null||Array.isArray(t)},ng=(t,n)=>{if(t===void 0)return n;if(n===void 0||Array.isArray(t))return t;if(af(t)&&af(n)){const i={...t};for(const s of Object.keys(n))s==="__proto__"||s==="constructor"||n[s]===void 0||(i[s]=t[s]!==void 0?ng(t[s],n[s]):n[s]);return i}return t},iw=(t,n,i)=>{const s=m=>t[m],l=new Set,u=[],h=m=>{m&&!l.has(m)&&(l.add(m),u.push(m))};h(n),n.includes("-")&&h(n.split("-")[0]),h(i),i!=null&&i.includes("-")&&h(i.split("-")[0]);const f=[];for(const m of u){const g=s(m);if(g!==void 0){if(typeof g=="string"){if(f.length===0)return g;continue}f.push(g)}}if(f.length!==0)return f.length===1||Array.isArray(f[0])?f[0]:f.reduce((m,g)=>ng(m,g))};var rw={};const Va={id:"fallback-plugin",canHandle:()=>!1,transform:t=>t},sw=(t,n)=>rw.INTLAYER_NODE_TYPE_TRANSLATION==="false"?Va:{id:"translation-plugin",canHandle:i=>typeof i=="object"&&(i==null?void 0:i.nodeType)===rc,transform:(i,s,l)=>{const u=i[rc]??{},h={};for(const f in u){const m={...s,children:u[f],keyPath:[...s.keyPath,{type:rc,key:f}]};h[f]=l(u[f],m)}return iw(h,t,n)}},ow=Va,lw=Va,cw=Va,uw=Va,dw=Va,hw=t=>Va,pw=Va,fw=(t,n=!0)=>[sw(t??yt.defaultLocale,n?yt.defaultLocale:void 0),ow,lw,cw,hw(),pw,uw,dw],mw=(t,n,i=[])=>Hi(t,{...n,plugins:i}),La=(t,n,i)=>{const{locale:s,selector:l}=nw(n),u=fw(s),h=aw(t,l),f=m=>{const g={dictionaryKey:m.key,dictionaryPath:m.filePath,keyPath:[],plugins:u,nestedDictionaries:m.nestedDictionaries};return mw(m.content,g,u)};return h===null?null:Array.isArray(h)?h.map(f):f(h)};var gw={};const ig=gw.INTLAYER_ROUTING_STORAGE_LOCALSTORAGE==="false",ou={getCookie:t=>{var n;return(n=document.cookie.split(";").find(i=>i.trim().startsWith(`${t}=`)))==null?void 0:n.split("=")[1]},getLocaleStorage:t=>
52localStorage.getItem(t),getSessionStorage:t=>sessionStorage.getItem(t),isCookieEnabled:!0,setCookieStore:(t,n,i)=>cookieStore.set({name:t,value:n,path:i.path,domain:i.domain,expires:i.expires,sameSite:i.sameSite}),setCookieString:(t,n)=>{document.cookie=n},setSessionStorage:(t,n)=>sessionStorage.setItem(t,n),setLocaleStorage:(t,n)=>localStorage.setItem(t,n)},yw=(t=ou)=>{var s;const{locales:n}=yt;if((t==null?void 0:t.isCookieEnabled)===!1)return;const i=l=>!!l&&n.includes(l);if(!ig)for(let l=0;l<($i.storage.localStorage??[]).length;l++)try{const u=(s=t==null?void 0:t.getLocaleStorage)==null?void 0:s.call(t,$i.storage.localStorage[l].name);if(i(u))return u}catch{}},bw=(t,n)=>{if((n==null?void 0:n.isCookieEnabled)!==!1&&!ig&&$i.storage.localStorage&&n!=null&&n.setLocaleStorage)for(let i=0;i<$i.storage.localStorage.length;i++){const{name:s}=$i.storage.localStorage[i];try{if(!((n==null?void 0:n.overwrite)??!0)&&(n!=null&&n.getLocaleStorage)&&n.getLocaleStorage(s))continue;n.setLocaleStorage(s,t)}catch{}}},rg=yw(ou),sg=(t,n)=>bw(t,{...ou,isCookieEnabled:n}),vw=()=>{const{locale:t}=x.useContext(Gs)??{},n=x.useRef(null);x.useEffect(()=>{},[]),x.useEffect(()=>{!t||!n.current||n.current.currentLocale.set(t)},[t])},ww=({children:t})=>(vw(),t),xw=()=>{const{locale:t}=x.useContext(Gs)??{},n=x.useRef(null);x.useEffect(()=>{},[]),x.useEffect(()=>{!t||!n.current||(n.current.setLocale(t),n.current.trackPageView({reason:"locale_change"}))},[t])},kw=({children:t})=>(xw(),t),_w=()=>{typeof window<"u"&&(window.intlayer={enabled:!0})},Tw=(t,n=yt==null?void 0:yt.locales,i=yt==null?void 0:yt.defaultLocale)=>{const s=[t].flat(),l=u=>u.trim().toLowerCase();try{for(const u of s){const h=l(u),f=n.find(y=>l(y)===h);if(f)return f;const[m]=h.split("-"),g=n.find(y=>l(y).split("-")[0]===m);if(g)return g}}catch{}return i},Gs=x.createContext({locale:rg??(yt==null?void 0:yt.defaultLocale),setLocale:()=>null,isCookieEnabled:!0}),Iw=({locale:t,defaultLocale:n,variant:i,children:s,setLocale:l,disableEditor:u,isCookieEnabled:h})=>{const{locales:f,defaultLocale:m}=yt??{},[g,y]=x.useState(t??rg??n??m);x.useEffect(()=>{t&&t!==g&&y(t)},[t]),x.useEffect(()=>{_w()},[]);const w=l??(j=>{if(g.toString()!==j.toString()){if(!(f!=null&&f.map(String).includes(j))){console.error(`Locale ${j} is not available`);return}y(j),sg(j,h)}}),_=Tw(g);return d.jsx(Gs.Provider,{value:{locale:_,setLocale:w,variant:i,disableEditor:u},children:s})},Mw=({children:t,...n})=>d.jsxs(Iw,{...n,children:[d.jsx(ww,{}),d.jsx(kw,{}),t]}),ya=({isCookieEnabled:t,onLocaleChange:n}={})=>{const{defaultLocale:i,locales:s}=yt??{},{locale:l,setLocale:u,isCookieEnabled:h}=x.useContext(Gs)??{};return{locale:l,defaultLocale:i,availableLocales:s,setLocale:x.useCallback(f=>{if(!(s!=null&&s.map(String).includes(f))){console.error(`Locale ${f} is not available`);return}u(f),sg(f,t??h??!0),n==null||n(f)},[s,n,u,t])}},lu=x.createContext({});function cu(t){const n=x.useRef(null);return n.current===null&&(n.current=t()),n.current}const Ys=x.createContext(null),uu=x.createContext({transformPagePoint:t=>t,isStatic:!1,reducedMotion:"never"});class Sw extends x.Component{getSnapshotBeforeUpdate(n){const i=this.props.childRef.current;if(i&&n.isPresent&&!this.props.isPresent){const s=this.props.sizeRef.current;s.height=i.offsetHeight||0,s.width=i.offsetWidth||0,s.top=i.offsetTop,s.left=i.offsetLeft}return null}componentDidUpdate(){}render(){return this.props.children}}function jw({children:t,isPresent:n}){const i=x.useId(),s=x.useRef(null),l=x.useRef({width:0,height:0,top:0,left:0}),{nonce:u}=x.useContext(uu);return x.useInsertionEffect(()=>{const{width:h,height:f,top:m,left:g}=l.current;if(n||!s.current||!h||!f)return;s.current.dataset.motionPopId=i;const y=document.createElement("style");return u&&(y.nonce=u),document.head.appendChild(y),y.sheet&&y.sheet.insertRule(`
53          [data-motion-pop-id="${i}"] {
54            position: absolute !important;
55            width: ${h}px !important;
56            height: ${f}px !important;
57            top: ${m}px !important;
58            left: ${g}px !important;
59          }
60        `),()=>{document.head.removeChild(y)}},[n]),d.jsx(Sw,{isPresent:n,childRef:s,sizeRef:l,children:x.cloneElement(t,{ref:s})})}const Cw=({children:t,initial:n,isPresent:i,onExitComplete:s,custom:l,presenceAffectsLayout:u,mode:h})=>{const f=cu(Pw),m=x.useId(),g=x.useCallback(b=>{f.set(b,!0);for(const w of f.values())if(!w)return;s&&s()},[f,s]),y=x.useMemo(()=>({id:m,initial:n,isPresent:i,custom:l,onExitComplete:g,register:b=>(f.set(b,!1),()=>f.delete(b))}),u?[Math.random(),g]:[i,g]);return x.useMemo(()=>{f.forEach((b,w)=>f.set(w,!1))},[i]),x.useEffect(()=>{!i&&!f.size&&s&&s()},[i]),h==="popLayout"&&(t=d.jsx(jw,{isPresent:i,children:t})),d.jsx(Ys.Provider,{value:y,children:t})};function Pw(){return new Map}function og(t=!0){const n=x.useContext(Ys);if(n===null)return[!0,null];const{isPresent:i,onExitComplete:s,register:l}=n,u=x.useId();x.useEffect(()=>{t&&l(u)},[t]);const h=x.useCallback(()=>t&&s&&s(u),[u,s,t]);return!i&&s?[!1,h]:[!0]}const xs=t=>t.key||"";function nf(t){const n=[];
vendor: 29,485 bytes, line 60
60return x.Children.forEach(t,i=>{x.isValidElement(i)&&n.push(i)}),n}const du=typeof window<"u",lg=du?x.useLayoutEffect:x.useEffect,Wa=({children:t,custom:n,initial:i=!0,onExitComplete:s,presenceAffectsLayout:l=!0,mode:u="sync",propagate:h=!1})=>{const[f,m]=og(h),g=x.useMemo(()=>nf(t),[t]),y=h&&!f?[]:g.map(xs),b=x.useRef(!0),w=x.useRef(g),_=cu(()=>new Map),[j,M]=x.useState(g),[S,E]=x.useState(g);lg(()=>{b.current=!1,w.current=g;for(let W=0;W<S.length;W++){const N=xs(S[W]);y.includes(N)?_.delete(N):_.get(N)!==!0&&_.set(N,!1)}},[S,y.length,y.join("-")]);const R=[];if(g!==j){let W=[...g];for(let N=0;N<S.length;N++){const q=S[N],ee=xs(q);y.includes(ee)||(W.splice(N,0,q),R.push(q))}u==="wait"&&R.length&&(W=R),E(nf(W)),M(g);return}const{forceRender:K}=x.useContext(lu);return d.jsx(d.Fragment,{children:S.map(W=>{const N=xs(W),q=h&&!f?!1:g===S||y.includes(N),ee=()=>{if(_.has(N))_.set(N,!0);else return;let V=!0;_.forEach(oe=>{oe||(V=!1)}),V&&(K==null||K(),E(w.current),h&&(m==null||m()),s&&s())};return d.jsx(Cw,{isPresent:q,initial:!b.current||i?void 0:!1,custom:q?void 0:n,presenceAffectsLayout:l,mode:u,onExitComplete:q?void 0:ee,children:W},N)})})},bt=t=>t;let zT=bt,cg=bt;function hu(t){let n;return()=>(n===void 0&&(n=t()),n)}const $n=(t,n,i)=>{const s=n-t;return s===0?1:(i-t)/s},pa=t=>t*1e3,fa=t=>t/1e3,Ew={useManualTiming:!1};function Dw(t){let n=new Set,i=new Set,s=!1,l=!1;const u=new WeakSet;let h={delta:0,timestamp:0,isProcessing:!1};function f(g){u.has(g)&&(m.schedule(g),t()),g(h)}const m={schedule:(g,y=!1,b=!1)=>{const _=b&&s?n:i;return y&&u.add(g),_.has(g)||_.add(g),g},cancel:g=>{i.delete(g),u.delete(g)},process:g=>{if(h=g,s){l=!0;return}s=!0,[n,i]=[i,n],n.forEach(f),n.clear(),s=!1,l&&(l=!1,m.process(g))}};return m}const ks=["read","resolveKeyframes","update","preRender","render","postRender"],Aw=40;function ug(t,n){let i=!1,s=!0;const l={delta:0,timestamp:0,isProcessing:!1},u=()=>i=!0,h=ks.reduce((E,R)=>(E[R]=Dw(u),E),{}),{read:f,resolveKeyframes:m,update:g,preRender:y,render:b,postRender:w}=h,_=()=>{const E=performance.now();i=!1,l.delta=s?1e3/60:Math.max(Math.min(E-l.timestamp,Aw),1),l.timestamp=E,l.isProcessing=!0,f.process(l),m.process(l),g.process(l),y.process(l),b.process(l),w.process(l),l.isProcessing=!1,i&&n&&(s=!1,t(_))},j=()=>{i=!0,s=!0,l.isProcessing||t(_)};return{schedule:ks.reduce((E,R)=>{const K=h[R];return E[R]=(W,N=!1,q=!1)=>(i||j(),K.schedule(W,N,q)),E},{}),cancel:E=>{for(let R=0;R<ks.length;R++)h[ks[R]].cancel(E)},state:l,steps:h}}const{schedule:Me,cancel:Ha,state:tt,steps:oc}=ug(typeof requestAnimationFrame<"u"?requestAnimationFrame:bt,!0),dg=x.createContext({strict:!1}),rf={animation:["animate","variants","whileHover","whileTap","exit","whileInView","whileFocus","whileDrag"],exit:["exit"],drag:["drag","dragControls"],focus:["whileFocus"],hover:["whileHover","onHoverStart","onHoverEnd"],tap:["whileTap","onTap","onTapStart","onTapCancel"],pan:["onPan","onPanStart","onPanSessionStart","onPanEnd"],inView:["whileInView","onViewportEnter","onViewportLeave"],layout:["layout","layoutId"]},Un={};for(const t in rf)Un[t]={isEnabled:n=>rf[t].some(i=>!!n[i])};function Nw(t){for(const n in t)Un[n]={...Un[n],...t[n]}}const Rw=new Set(["animate","exit","variants","initial","style","values","variants","transition","transformTemplate","custom","inherit","onBeforeLayoutMeasure","onAnimationStart","onAnimationComplete","onUpdate","onDragStart","onDrag","onDragEnd","onMeasureDragConstraints","onDirectionLock","onDragTransitionEnd","_dragX","_dragY","onHoverStart","onHoverEnd","onViewportEnter","onViewportLeave","globalTapTarget","ignoreStrict","viewport"]);function As(t){return t.startsWith("while")||t.startsWith("drag")&&t!=="draggable"||t.startsWith("layout")||t.startsWith("onTap")||t.startsWith("onPan")||t.startsWith("onLayout")||Rw.has(t)}let hg=t=>!As(t);function Kw(t){t&&(hg=n=>n.startsWith("on")?!As(n):t(n))}try{Kw(require("@emotion/is-prop-valid").default)}catch{}function Lw(t,n,i){const s={};for(const l in t)l==="values"&&typeof t.values=="object"||(hg(l)||i===!0&&As(l)||!n&&!As(l)||t.draggable&&l.startsWith("onDrag"))&&(s[l]=t[l]);return s}function Ow(t){if(typeof Proxy>"u")return t;const n=new Map,i=(...s)=>t(...s);return new Proxy(i,{get:(s,l)=>l==="create"?t:(n.has(l)||n.set(l,t(l)),n.get(l))})}const Zs=x.createContext({});function Xi(t){return typeof t=="string"||Array.isArray(t)}function Js(t){return t!==null&&typeof t=="object"&&typeof t.start=="function"}const pu=["animate","whileInView","whileFocus","whileHover","whileTap","whileDrag","exit"],fu=["initial",...pu];function Xs(t){return Js(t.animate)||fu.some(n=>Xi(t[n]))}function pg(t){return!!(Xs(t)||t.variants)}function Bw(t,n){if(Xs(t)){const{initial:i,animate:s}=t;return{initial:i===!1||Xi(i)?i:void 0,animate:Xi(s)?s:void 0}}return t.inherit!==!1?n:{}}function Fw(t){const{initial:n,animate:i}=Bw(t,x.useContext(Zs));return x.useMemo(()=>({initial:n,animate:i}),[sf(n),sf(i)])}function sf(t){return Array.isArray(t)?t.join(" "):t}const Ww=Symbol.for("motionComponentSymbol");function Fn(t){return t&&typeof t=="object"&&Object.prototype.hasOwnProperty.call(t,"current")}function Hw(t,n,i){return x.useCallback(s=>{s&&t.onMount&&t.onMount(s),n&&(s?n.mount(s):n.unmount()),i&&(typeof i=="function"?i(s):Fn(i)&&(i.current=s))},[n])}const mu=t=>t.replace(/([a-z])([A-Z])/gu,"$1-$2").toLowerCase(),zw="framerAppearId",fg="data-"+mu(zw),{schedule:gu}=ug(queueMicrotask,!1),mg=x.createContext({});function Vw(t,n,i,s,l){var u,h;const{visualElement:f}=x.useContext(Zs),m=x.useContext(dg),g=x.useContext(Ys),y=x.useContext(uu).reducedMotion,b=x.useRef(null);s=s||m.renderer,!b.current&&s&&(b.current=s(t,{visualState:n,parent:f,props:i,presenceContext:g,blockInitialAnimation:g?g.initial===!1:!1,reducedMotionConfig:y}));const w=b.current,_=x.useContext(mg);w&&!w.projection&&l&&(w.type==="html"||w.type==="svg")&&qw(b.current,i,l,_);const j=x.useRef(!1);x.useInsertionEffect(()=>{w&&j.current&&w.update(i,g)});const M=i[fg],S=x.useRef(!!M&&!(!((u=window.MotionHandoffIsComplete)===null||u===void 0)&&u.call(window,M))&&((h=window.MotionHasOptimisedAnimation)===null||h===void 0?void 0:h.call(window,M)));return lg(()=>{w&&(j.current=!0,window.MotionIsMounted=!0,w.updateFeatures(),gu.render(w.render),S.current&&w.animationState&&w.animationState.animateChanges())}),x.useEffect(()=>{w&&(!S.current&&w.animationState&&w.animationState.animateChanges(),S.current&&(queueMicrotask(()=>{var E;(E=window.MotionHandoffMarkAsComplete)===null||E===void 0||E.call(window,M)}),S.current=!1))}),w}function qw(t,n,i,s){const{layoutId:l,layout:u,drag:h,dragConstraints:f,layoutScroll:m,layoutRoot:g}=n;t.projection=new i(t.latestValues,n["data-framer-portal-id"]?void 0:gg(t.parent)),t.projection.setOptions({layoutId:l,layout:u,alwaysMeasureLayout:!!h||f&&Fn(f),visualElement:t,animationType:typeof u=="string"?u:"both",initialPromotionConfig:s,layoutScroll:m,layoutRoot:g})}function gg(t){if(t)return t.options.allowProjection!==!1?t.projection:gg(t.parent)}function $w({preloadedFeatures:t,createVisualElement:n,useRender:i,useVisualState:s,Component:l}){var u,h;t&&Nw(t);function f(g,y){let b;const w={...x.useContext(uu),...g,layoutId:Uw(g)},{isStatic:_}=w,j=Fw(g),M=s(g,_);if(!_&&du){Gw();const S=Yw(w);b=S.MeasureLayout,j.visualElement=Vw(l,M,w,n,S.ProjectionNode)}return d.jsxs(Zs.Provider,{value:j,children:[b&&j.visualElement?d.jsx(b,{visualElement:j.visualElement,...w}):null,i(l,g,Hw(M,j.visualElement,y),M,_,j.visualElement)]})}f.displayName=`motion.${typeof l=="string"?l:`create(${(h=(u=l.displayName)!==null&&u!==void 0?u:l.name)!==null&&h!==void 0?h:""})`}`;const m=x.forwardRef(f);return m[Ww]=l,m}function Uw({layoutId:t}){const n=x.useContext(lu).id;return n&&t!==void 0?n+"-"+t:t}function Gw(t,n){x.useContext(dg).strict}function Yw(t){const{drag:n,layout:i}=Un;if(!n&&!i)return{};const s={...n,...i};return{MeasureLayout:n!=null&&n.isEnabled(t)||i!=null&&i.isEnabled(t)?s.MeasureLayout:void 0,ProjectionNode:s.ProjectionNode}}const Zw=["animate","circle","defs","desc","ellipse","g","image","line","filter","marker","mask","metadata","path","pattern","polygon","polyline","rect","stop","switch","symbol","svg","text","tspan","use","view"];function yu(t){return typeof t!="string"||t.includes("-")?!1:!!(Zw.indexOf(t)>-1||/[A-Z]/u.test(t))}function of(t){const n=[{},{}];return t==null||t.values.forEach((i,s)=>{n[0][s]=i.get(),n[1][s]=i.getVelocity()}),n}function bu(t,n,i,s){if(typeof n=="function"){const[l,u]=of(s);n=n(i!==void 0?i:t.custom,l,u)}if(typeof n=="string"&&(n=t.variants&&t.variants[n]),typeof n=="function"){const[l,u]=of(s);n=n(i!==void 0?i:t.custom,l,u)}return n}const Pc=t=>Array.isArray(t),Jw=t=>!!(t&&typeof t=="object"&&t.mix&&t.toValue),Xw=t=>Pc(t)?t[t.length-1]||0:t,ot=t=>!!(t&&t.getVelocity);function Ss(t){const n=ot(t)?t.get():t;return Jw(n)?n.toValue():n}function Qw({scrapeMotionValuesFromProps:t,createRenderState:n,onUpdate:i},s,l,u){const h={latestValues:ex(s,l,u,t),renderState:n()};return i&&(h.onMount=f=>i({props:s,current:f,...h}),h.onUpdate=f=>i(f)),h}const yg=t=>(n,i)=>{const s=x.useContext(Zs),l=x.useContext(Ys),u=()=>Qw(t,n,s,l);return i?u():cu(u)};function ex(t,n,i,s){const l={},u=s(t,{});for(const w in u)l[w]=Ss(u[w]);let{initial:h,animate:f}=t;const m=Xs(t),g=pg(t);n&&g&&!m&&t.inherit!==!1&&(h===void 0&&(h=n.initial),f===void 0&&(f=n.animate));let y=i?i.initial===!1:!1;y=y||h===!1;const b=y?f:h;if(b&&typeof b!="boolean"&&!Js(b)){const w=Array.isArray(b)?b:[b];for(let _=0;_<w.length;_++){const j=bu(t,w[_]);if(j){const{transitionEnd:M,transition:S,...E}=j;for(const R in E){let K=E[R];if(Array.isArray(K)){const W=y?K.length-1:0;K=K[W]}K!==null&&(l[R]=K)}for(const R in M)l[R]=M[R]}}}return l}const Xn=["transformPerspective","x","y","z","translateX","translateY","translateZ","scale","scaleX","scaleY","rotate","rotateX","rotateY","rotateZ","skew","skewX","skewY"],dn=new Set(Xn),bg=t=>n=>typeof n=="string"&&n.startsWith(t),vg=bg("--"),tx=bg("var(--"),vu=t=>tx(t)?ax.test(t.split("/*")[0].trim()):!1,ax=/var\(--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)$/iu,wg=(t,n)=>n&&typeof t=="number"?n.transform(t):t,ga=(t,n,i)=>i>n?n:i<t?t:i,Qn={test:t=>typeof t=="number",parse:parseFloat,transform:t=>t},Qi={...Qn,transform:t=>ga(0,1,t)},_s={...Qn,default:1},rr=t=>({test:n=>typeof n=="string"&&n.endsWith(t)&&n.split(" ").length===1,parse:parseFloat,transform:n=>`${n}${t}`}),Oa=rr("deg"),aa=rr("%"),ie=rr("px"),nx=rr("vh"),ix=rr("vw"),lf={...aa,parse:t=>aa.parse(t)/100,transform:t=>aa.transform(t*100)},rx={borderWidth:ie,borderTopWidth:ie,borderRightWidth:ie,borderBottomWidth:ie,borderLeftWidth:ie,borderRadius:ie,radius:ie,borderTopLeftRadius:ie,borderTopRightRadius:ie,borderBottomRightRadius:ie,borderBottomLeftRadius:ie,width:ie,maxWidth:ie,height:ie,maxHeight:ie,top:ie,right:ie,bottom:ie,left:ie,padding:ie,paddingTop:ie,paddingRight:ie,paddingBottom:ie,paddingLeft:ie,margin:ie,marginTop:ie,marginRight:ie,marginBottom:ie,marginLeft:ie,backgroundPositionX:ie,backgroundPositionY:ie},sx={rotate:Oa,rotateX:Oa,rotateY:Oa,rotateZ:Oa,scale:_s,scaleX:_s,scaleY:_s,scaleZ:_s,skew:Oa,skewX:Oa,skewY:Oa,distance:ie,translateX:ie,translateY:ie,translateZ:ie,x:ie,y:ie,z:ie,perspective:ie,transformPerspective:ie,opacity:Qi,originX:lf,originY:lf,originZ:ie},cf={...Qn,transform:Math.round},wu={...rx,...sx,zIndex:cf,size:ie,fillOpacity:Qi,strokeOpacity:Qi,numOctaves:cf},ox={x:"translateX",y:"translateY",z:"translateZ",transformPerspective:"perspective"},lx=Xn.length;function cx(t,n,i){let s="",l=!0;for(let u=0;u<lx;u++){const h=Xn[u],f=t[h];if(f===void 0)continue;let m=!0;if(typeof f=="number"?m=f===(h.startsWith("scale")?1:0):m=parseFloat(f)===0,!m||i){const g=wg(f,wu[h]);if(!m){l=!1;const y=ox[h]||h;s+=`${y}(${g}) `}i&&(n[h]=g)}}return s=s.trim(),i?s=i(n,l?"":s):l&&(s="none"),s}function xu(t,n,i){const{style:s,vars:l,transformOrigin:u}=t;let h=!1,f=!1;for(const m in n){const g=n[m];if(dn.has(m)){h=!0;continue}else if(vg(m)){l[m]=g;continue}else{const y=wg(g,wu[m]);m.startsWith("origin")?(f=!0,u[m]=y):s[m]=y}}if(n.transform||(h||i?s.transform=cx(n,t.transform,i):s.transform&&(s.transform="none")),f){const{originX:m="50%",originY:g="50%",originZ:y=0}=u;s.transformOrigin=`${m} ${g} ${y}`}}const ux={offset:"stroke-dashoffset",array:"stroke-dasharray"},dx={offset:"strokeDashoffset",array:"strokeDasharray"};function hx(t,n,i=1,s=0,l=!0){t.pathLength=1;const u=l?ux:dx;t[u.offset]=ie.transform(-s);const h=ie.transform(n),f=ie.transform(i);t[u.array]=`${h} ${f}`}function uf(t,n,i){return typeof t=="string"?t:ie.transform(n+i*t)}function px(t,n,i){const s=uf(n,t.x,t.width),l=uf(i,t.y,t.height);return`${s} ${l}`}function ku(t,{attrX:n,attrY:i,attrScale:s,originX:l,originY:u,pathLength:h,pathSpacing:f=1,pathOffset:m=0,...g},y,b){if(xu(t,g,b),y){t.style.viewBox&&(t.attrs.viewBox=t.style.viewBox);return}t.attrs=t.style,t.style={};const{attrs:w,style:_,dimensions:j}=t;w.transform&&(j&&(_.transform=w.transform),delete w.transform),j&&(l!==void 0||u!==void 0||_.transform)&&(_.transformOrigin=px(j,l!==void 0?l:.5,u!==void 0?u:.5)),n!==void 0&&(w.x=n),i!==void 0&&(w.y=i),s!==void 0&&(w.scale=s),h!==void 0&&hx(w,h,f,m,!1)}const _u=()=>({style:{},transform:{},transformOrigin:{},vars:{}}),xg=()=>({..._u(),attrs:{}}),Tu=t=>typeof t=="string"&&t.toLowerCase()==="svg";function kg(t,{style:n,vars:i},s,l){Object.assign(t.style,n,l&&l.getProjectionStyles(s));for(const u in i)t.style.setProperty(u,i[u])}const _g=new Set(["baseFrequency","diffuseConstant","kernelMatrix","kernelUnitLength","keySplines","keyTimes","limitingConeAngle","markerHeight","markerWidth","numOctaves","targetX","targetY","surfaceScale","specularConstant","specularExponent","stdDeviation","tableValues","viewBox","gradientTransform","pathLength","startOffset","textLength","lengthAdjust"]);function Tg(t,n,i,s){kg(t,n,void 0,s);for(const l in n.attrs)t.setAttribute(_g.has(l)?l:mu(l),n.attrs[l])}const Ns={};function fx(t){Object.assign(Ns,t)}function Ig(t,{layout:n,layoutId:i}){return dn.has(t)||t.startsWith("origin")||(n||i!==void 0)&&(!!Ns[t]||t==="opacity")}function Iu(t,n,i){var s;const{style:l}=t,u={};for(const h in l)(ot(l[h])||n.style&&ot(n.style[h])||Ig(h,t)||((s=i==null?void 0:i.getValue(h))===null||s===void 0?void 0:s.liveStyle)!==void 0)&&(u[h]=l[h]);return u}function Mg(t,n,i){const s=Iu(t,n,i);for(const l in t)if(ot(t[l])||ot(n[l])){const u=Xn.indexOf(l)!==-1?"attr"+l.charAt(0).toUpperCase()+l.substring(1):l;s[u]=t[l]}return s}function mx(t,n){try{n.dimensions=typeof t.getBBox=="function"?t.getBBox():t.getBoundingClientRect()}catch{n.dimensions={x:0,y:0,width:0,height:0}}}const df=["x","y","width","height","cx","cy","r"],gx={useVisualState:yg({scrapeMotionValuesFromProps:Mg,createRenderState:xg,onUpdate:({props:t,prevProps:n,current:i,renderState:s,latestValues:l})=>{if(!i)return;let u=!!t.drag;if(!u){for(const f in l)if(dn.has(f)){u=!0;break}}if(!u)return;let h=!n;if(n)for(let f=0;f<df.length;f++){const m=df[f];t[m]!==n[m]&&(h=!0)}h&&Me.read(()=>{mx(i,s),Me.render(()=>{ku(s,l,Tu(i.tagName),t.transformTemplate),Tg(i,s)})})}})},yx={useVisualState:yg({scrapeMotionValuesFromProps:Iu,createRenderState:_u})};function Sg(t,n,i){for(const s in n)!ot(n[s])&&!Ig(s,i)&&(t[s]=n[s])}function bx({transformTemplate:t},n){return x.useMemo(()=>{const i=_u();return xu(i,n,t),Object.assign({},i.vars,i.style)},[n])}function vx(t,n){const i=t.style||{},s={};return Sg(s,i,t),Object.assign(s,bx(t,n)),s}function wx(t,n){const i={},s=vx(t,n);return t.drag&&t.dragListener!==!1&&(i.draggable=!1,s.userSelect=s.WebkitUserSelect=s.WebkitTouchCallout="none",s.touchAction=t.drag===!0?"none":`pan-${t.drag==="x"?"y":"x"}`),t.tabIndex===void 0&&(t.onTap||t.onTapStart||t.whileTap)&&(i.tabIndex=0),i.style=s,i}function xx(t,n,i,s){const l=x.useMemo(()=>{const u=xg();return ku(u,n,Tu(s),t.transformTemplate),{...u.attrs,style:{...u.style}}},[n]);if(t.style){const u={};Sg(u,t.style,t),l.style={...u,...l.style}}return l}function kx(t=!1){return(i,s,l,{latestValues:u},h)=>{const m=(yu(i)?xx:wx)(s,u,h,i),g=Lw(s,typeof i=="string",t),y=i!==x.Fragment?{...g,...m,ref:l}:{},{children:b}=s,w=x.useMemo(()=>ot(b)?b.get():b,[b]);return x.createElement(i,{...y,children:w})}}function _x(t,n){return function(s,{forwardMotionProps:l}={forwardMotionProps:!1}){const h={...yu(s)?gx:yx,preloadedFeatures:t,useRender:kx(l),createVisualElement:n,Component:s};return $w(h)}}function jg(t,n){if(!Array.isArray(n))return!1;const i=n.length;if(i!==t.length)return!1;for(let s=0;s<i;s++)if(n[s]!==t[s])return!1;return!0}function Qs(t,n,i){const s=t.getProps();return bu(s,n,i!==void 0?i:s.custom,t)}const Tx=hu(()=>window.ScrollTimeline!==void 0);class Ix{constructor(n){this.stop=()=>this.runAll("stop"),this.animations=n.filter(Boolean)}get finished(){return Promise.all(this.animations.map(n=>"finished"in n?n.finished:n))}getAll(n){return this.animations[0][n]}setAll(n,i){for(let s=0;s<this.animations.length;s++)this.animations[s][n]=i}attachTimeline(n,i){const s=this.animations.map(l=>{if(Tx()&&l.attachTimeline)return l.attachTimeline(n);if(typeof i=="function")return i(l)});return()=>{s.forEach((l,u)=>{l&&l(),this.animations[u].stop()})}}get time(){return this.getAll("time")}set time(n){this.setAll("time",n)}get speed(){return this.getAll("speed")}set speed(n){this.setAll("speed",n)}get startTime(){return this.getAll("startTime")}get duration(){let n=0;for(let i=0;i<this.animations.length;i++)n=Math.max(n,this.animations[i].duration);return n}runAll(n){this.animations.forEach(i=>i[n]())}flatten(){this.runAll("flatten")}play(){this.runAll("play")}pause(){this.runAll("pause")}cancel(){this.runAll("cancel")}complete(){this.runAll("complete")}}class Mx extends Ix{then(n,i){return Promise.all(this.animations).then(n).catch(i)}}function Mu(t,n){return t?t[n]||t.default||t:void 0}const Ec=2e4;function Cg(t){let n=0;const i=50;let s=t.next(n);for(;!s.done&&n<Ec;)n+=i,s=t.next(n);return n>=Ec?1/0:n}function Su(t){return typeof t=="function"}function hf(t,n){t.timeline=n,t.onfinish=null}const ju=t=>Array.isArray(t)&&typeof t[0]=="number",Sx={linearEasing:void 0};function jx(t,n){const i=hu(t);return()=>{var s;return(s=Sx[n])!==null&&s!==void 0?s:i()}}const Rs=jx(()=>{try{document.createElement("div").animate({opacity:0},{easing:"linear(0, 1)"})}catch{return!1}return!0},"linearEasing"),Pg=(t,n,i=10)=>{let s="";const l=Math.max(Math.round(n/i),2);for(let u=0;u<l;u++)s+=t($n(0,l-1,u))+", ";return`linear(${s.substring(0,s.length-2)})`};function Eg(t){return!!(typeof t=="function"&&Rs()||!t||typeof t=="string"&&(t in Dc||Rs())||ju(t)||Array.isArray(t)&&t.every(Eg))}const zi=([t,n,i,s])=>`cubic-bezier(${t}, ${n}, ${i}, ${s})`,Dc={linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",circIn:zi([0,.65,.55,1]),circOut:zi([.55,0,1,.45]),backIn:zi([.31,.01,.66,-.59]),backOut:zi([.33,1.53,.69,.99])};function Dg(t,n){if(t)return typeof t=="function"&&Rs()?Pg(t,n):ju(t)?zi(t):Array.isArray(t)?t.map(i=>Dg(i,n)||Dc.easeOut):Dc[t]}const $t={x:!1,y:!1};function Ag(){return $t.x||$t.y}function Ng(t,n,i){var s;if(t instanceof Element)return[t];if(typeof t=="string"){let l=document;const u=(s=void 0)!==null&&s!==void 0?s:l.querySelectorAll(t);return u?Array.from(u):[]}return Array.from(t)}function Rg(t,n){const i=Ng(t),s=new AbortController,l={passive:!0,...n,signal:s.signal};return[i,l,()=>s.abort()]}function pf(t){return n=>{n.pointerType==="touch"||Ag()||t(n)}}function Cx(t,n,i={}){const[s,l,u]=Rg(t,i),h=pf(f=>{const{target:m}=f,g=n(f);if(typeof g!="function"||!m)return;const y=pf(b=>{g(b),m.removeEventListener("pointerleave",y)});m.addEventListener("pointerleave",y,l)});return s.forEach(f=>{f.addEventListener("pointerenter",h,l)}),u}const Kg=(t,n)=>n?t===n?!0:Kg(t,n.parentElement):!1,Cu=t=>t.pointerType==="mouse"?typeof t.button!="number"||t.button<=0:t.isPrimary!==!1,Px=new Set(["BUTTON","INPUT","SELECT","TEXTAREA","A"]);function Ex(t){return Px.has(t.tagName)||t.tabIndex!==-1}const Vi=new WeakSet;function ff(t){return n=>{n.key==="Enter"&&t(n)}}function lc(t,n){t.dispatchEvent(new PointerEvent("pointer"+n,{isPrimary:!0,bubbles:!0}))}const Dx=(t,n)=>{const i=t.currentTarget;if(!i)return;const s=ff(()=>{if(Vi.has(i))return;lc(i,"down");const l=ff(()=>{lc(i,"up")}),u=()=>lc(i,"cancel");i.addEventListener("keyup",l,n),i.addEventListener("blur",u,n)});i.addEventListener("keydown",s,n),i.addEventListener("blur",()=>i.removeEventListener("keydown",s),n)};function mf(t){return Cu(t)&&!Ag()}function Ax(t,n,i={}){const[s,l,u]=Rg(t,i),h=f=>{const m=f.currentTarget;if(!mf(f)||Vi.has(m))return;Vi.add(m);const g=n(f),y=(_,j)=>{window.removeEventListener("pointerup",b),window.removeEventListener("pointercancel",w),!(!mf(_)||!Vi.has(m))&&(Vi.delete(m),typeof g=="function"&&g(_,{success:j}))},b=_=>{y(_,i.useGlobalTarget||Kg(m,_.target))},w=_=>{y(_,!1)};window.addEventListener("pointerup",b,l),window.addEventListener("pointercancel",w,l)};return s.forEach(f=>{!Ex(f)&&f.getAttribute("tabindex")===null&&(f.tabIndex=0),(i.useGlobalTarget?window:f).addEventListener("pointerdown",h,l),f.addEventListener("focus",g=>Dx(g,l),l)}),u}function Nx(t){return t==="x"||t==="y"?$t[t]?null:($t[t]=!0,()=>{$t[t]=!1}):$t.x||$t.y?null:($t.x=$t.y=!0,()=>{$t.x=$t.y=!1})}const Lg=new Set(["width","height","top","left","right","bottom",...Xn]);let js;function Rx(){js=void 0}const na={now:()=>(js===void 0&&na.set(tt.isProcessing||Ew.useManualTiming?tt.timestamp:performance.now()),js),set:t=>{js=t,queueMicrotask(Rx)}};function Pu(t,n){t.indexOf(n)===-1&&t.push(n)}function Eu(t,n){const i=t.indexOf(n);i>-1&&t.splice(i,1)}class Du{constructor(){this.subscriptions=[]}add(n){return Pu(this.subscriptions,n),()=>Eu(this.subscriptions,n)}notify(n,i,s){const l=this.subscriptions.length;if(l)if(l===1)this.subscriptions[0](n,i,s);else for(let u=0;u<l;u++){const h=this.subscriptions[u];h&&h(n,i,s)}}getSize(){return this.subscriptions.length}clear(){this.subscriptions.length=0}}function Og(t,n){return n?t*(1e3/n):0}const gf=30,Kx=t=>!isNaN(parseFloat(t)),yf={current:void 0};class Lx{constructor(n,i={}){this.version="11.18.2",this.canTrackVelocity=null,this.events={},this.updateAndNotify=(s,l=!0)=>{const u=na.now();this.updatedAt!==u&&this.setPrevFrameValue(),this.prev=this.current,this.setCurrent(s),this.current!==this.prev&&this.events.change&&this.events.change.notify(this.current),l&&this.events.renderRequest&&this.events.renderRequest.notify(this.current)},this.hasAnimated=!1,this.setCurrent(n),this.owner=i.owner}setCurrent(n){this.current=n,this.updatedAt=na.now(),this.canTrackVelocity===null&&n!==void 0&&(this.canTrackVelocity=Kx(this.current))}setPrevFrameValue(n=this.current){this.prevFrameValue=n,this.prevUpdatedAt=this.updatedAt}onChange(n){return this.on("change",n)}on(n,i){this.events[n]||(this.events[n]=new Du);const s=this.events[n].add(i);return n==="change"?()=>{s(),Me.read(()=>{this.events.change.getSize()||this.stop()})}:s}clearListeners(){for(const n in this.events)this.events[n].clear()}attach(n,i){this.passiveEffect=n,this.stopPassiveEffect=i}set(n,i=!0){!i||!this.passiveEffect?this.updateAndNotify(n,i):this.passiveEffect(n,this.updateAndNotify)}setWithVelocity(n,i,s){this.set(i),this.prev=void 0,this.prevFrameValue=n,this.prevUpdatedAt=this.updatedAt-s}jump(n,i=!0){this.updateAndNotify(n),this.prev=n,this.prevUpdatedAt=this.prevFrameValue=void 0,i&&this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}get(){return yf.current&&yf.current.push(this),this.current}getPrevious(){return this.prev}getVelocity(){const n=na.now();if(!this.canTrackVelocity||this.prevFrameValue===void 0||n-this.updatedAt>gf)return 0;const i=Math.min(this.updatedAt-this.prevUpdatedAt,gf);return Og(parseFloat(this.current)-parseFloat(this.prevFrameValue),i)}start(n){return this.stop(),new Promise(i=>{this.hasAnimated=!0,this.animation=n(i),this.events.animationStart&&this.events.animationStart.notify()}).then(()=>{this.events.animationComplete&&this.events.animationComplete.notify(),this.clearAnimation()})}stop(){this.animation&&(this.animation.stop(),this.events.animationCancel&&this.events.animationCancel.notify()),this.clearAnimation()}isAnimating(){return!!this.animation}clearAnimation(){delete this.animation}destroy(){this.clearListeners(),this.stop(),this.stopPassiveEffect&&this.stopPassiveEffect()}}function er(t,n){return new Lx(t,n)}function Ox(t,n,i){t.hasValue(n)?t.getValue(n).set(i):t.addValue(n,er(i))}function Bx(t,n){const i=Qs(t,n);let{transitionEnd:s={},transition:l={},...u}=i||{};u={...u,...s};for(const h in u){const f=Xw(u[h]);Ox(t,h,f)}}function Fx(t){return!!(ot(t)&&t.add)}function Ac(t,n){const i=t.getValue("willChange");if(Fx(i))return i.add(n)}function Bg(t){return t.props[fg]}const Fg=(t,n,i)=>(((1-3*i+3*n)*t+(3*i-6*n))*t+3*n)*t,Wx=1e-7,Hx=12;function zx(t,n,i,s,l){let u,h,f=0;do h=n+(i-n)/2,u=Fg(h,s,l)-t,u>0?i=h:n=h;while(Math.abs(u)>Wx&&++f<Hx);return h}function sr(t,n,i,s){if(t===n&&i===s)return bt;const l=u=>zx(u,0,1,t,i);return u=>u===0||u===1?u:Fg(l(u),n,s)}const Wg=t=>n=>n<=.5?t(2*n)/2:(2-t(2*(1-n)))/2,Hg=t=>n=>1-t(1-n),zg=sr(.33,1.53,.69,.99),Au=Hg(zg),Vg=Wg(Au),qg=t=>(t*=2)<1?.5*Au(t):.5*(2-Math.pow(2,-10*(t-1))),Nu=t=>1-Math.sin(Math.acos(t)),$g=Hg(Nu),Ug=Wg(Nu),Gg=t=>/^0[^.\s]+$/u.test(t);function Vx(t){return typeof t=="number"?t===0:t!==null?t==="none"||t==="0"||Gg(t):!0}const Ui=t=>Math.round(t*1e5)/1e5,Ru=/-?(?:\d+(?:\.\d+)?|\.\d+)/gu;function qx(t){return t==null}const $x=/^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu,Ku=(t,n)=>i=>!!(typeof i=="string"&&$x.test(i)&&i.startsWith(t)||n&&!qx(i)&&Object.prototype.hasOwnProperty.call(i,n)),Yg=(t,n,i)=>s=>{if(typeof s!="string")return s;const[l,u,h,f]=s.match(Ru);return{[t]:parseFloat(l),[n]:parseFloat(u),[i]:parseFloat(h),alpha:f!==void 0?parseFloat(f):1}},Ux=t=>ga(0,255,t),cc={...Qn,transform:t=>Math.round(Ux(t))},cn={test:Ku("rgb","red"),parse:Yg("red","green","blue"),transform:({red:t,green:n,blue:i,alpha:s=1})=>"rgba("+cc.transform(t)+", "+cc.transform(n)+", "+cc.transform(i)+", "+Ui(Qi.transform(s))+")"};function Gx(t){let n="",i="",s="",l="";return t.length>5?(n=t.substring(1,3),i=t.substring(3,5),s=t.substring(5,7),l=t.substring(7,9)):(n=t.substring(1,2),i=t.substring(2,3),s=t.substring(3,4),l=t.substring(4,5),n+=n,i+=i,s+=s,l+=l),{red:parseInt(n,16),green:parseInt(i,16),blue:parseInt(s,16),alpha:l?parseInt(l,16)/255:1}}const Nc={test:Ku("#"),parse:Gx,transform:cn.transform},Wn={test:Ku("hsl","hue"),parse:Yg("hue","saturation","lightness"),transform:({hue:t,saturation:n,lightness:i,alpha:s=1})=>"hsla("+Math.round(t)+", "+aa.transform(Ui(n))+", "+aa.transform(Ui(i))+", "+Ui(Qi.transform(s))+")"},st={test:t=>cn.test(t)||Nc.test(t)||Wn.test(t),parse:t=>cn.test(t)?cn.parse(t):Wn.test(t)?Wn.parse(t):Nc.parse(t),transform:t=>typeof t=="string"?t:t.hasOwnProperty("red")?cn.transform(t):Wn.transform(t)},Yx=/(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;function Zx(t){var n,i;return isNaN(t)&&typeof t=="string"&&(((n=t.match(Ru))===null||n===void 0?void 0:n.length)||0)+(((i=t.match(Yx))===null||i===void 0?void 0:i.length)||0)>0}const Zg="number",Jg="color",Jx="var",Xx="var(",bf="${}",Qx=/var\s*\(\s*--(?:[\w-]+\s*|[\w-]+\s*,(?:\s*[^)(\s]|\s*\((?:[^)(]|\([^)(]*\))*\))+\s*)\)|#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\)|-?(?:\d+(?:\.\d+)?|\.\d+)/giu;function tr(t){const n=t.toString(),i=[],s={color:[],number:[],var:[]},l=[];let u=0;const f=n.replace(Qx,m=>(st.test(m)?(s.color.push(u),l.push(Jg),i.push(st.parse(m))):m.startsWith(Xx)?(s.var.push(u),l.push(Jx),i.push(m)):(s.number.push(u),l.push(Zg),i.push(parseFloat(m))),++u,bf)).split(bf);return{values:i,split:f,indexes:s,types:l}}function Xg(t){return tr(t).values}function Qg(t){const{split:n,types:i}=tr(t),s=n.length;return l=>{let u="";for(let h=0;h<s;h++)if(u+=n[h],l[h]!==void 0){const f=i[h];f===Zg?u+=Ui(l[h]):f===Jg?u+=st.transform(l[h]):u+=l[h]}return u}}const e2=t=>typeof t=="number"?0:t;function t2(t){const n=Xg(t);return Qg(t)(n.map(e2))}const za={test:Zx,parse:Xg,createTransformer:Qg,getAnimatableNone:t2},a2=new Set(["brightness","contrast","saturate","opacity"]);function n2(t){const[n,i]=t.slice(0,-1).split("(");if(n==="drop-shadow")return t;const[s]=i.match(Ru)||[];if(!s)return t;const l=i.replace(s,"");let u=a2.has(n)?1:0;return s!==i&&(u*=100),n+"("+u+l+")"}const i2=/\b([a-z-]*)\(.*?\)/gu,Rc={...za,getAnimatableNone:t=>{const n=t.match(i2);return n?n.map(n2).join(" "):t}},r2={...wu,color:st,backgroundColor:st,outlineColor:st,fill:st,stroke:st,borderColor:st,borderTopColor:st,borderRightColor:st,borderBottomColor:st,borderLeftColor:st,filter:Rc,WebkitFilter:Rc},Lu=t=>r2[t];function ey(t,n){let i=Lu(t);return i!==Rc&&(i=za),i.getAnimatableNone?i.getAnimatableNone(n):void 0}const s2=new Set(["auto","none","0"]);function o2(t,n,i){let s=0,l;for(;s<t.length&&!l;){const u=t[s];typeof u=="string"&&!s2.has(u)&&tr(u).values.length&&(l=t[s]),s++}if(l&&i)for(const u of n)t[u]=ey(i,l)}const vf=t=>t===Qn||t===ie,wf=(t,n)=>parseFloat(t.split(", ")[n]),xf=(t,n)=>(i,{transform:s})=>{if(s==="none"||!s)return 0;const l=s.match(/^matrix3d\((.+)\)$/u);if(l)return wf(l[1],n);{const u=s.match(/^matrix\((.+)\)$/u);return u?wf(u[1],t):0}},l2=new Set(["x","y","z"]),c2=Xn.filter(t=>!l2.has(t));function u2(t){const n=[];return c2.forEach(i=>
vendor: 7,481 bytes, line 60
60{const s=t.getValue(i);s!==void 0&&(n.push([i,s.get()]),s.set(i.startsWith("scale")?1:0))}),n}const Gn={width:({x:t},{paddingLeft:n="0",paddingRight:i="0"})=>t.max-t.min-parseFloat(n)-parseFloat(i),height:({y:t},{paddingTop:n="0",paddingBottom:i="0"})=>t.max-t.min-parseFloat(n)-parseFloat(i),top:(t,{top:n})=>parseFloat(n),left:(t,{left:n})=>parseFloat(n),bottom:({y:t},{top:n})=>parseFloat(n)+(t.max-t.min),right:({x:t},{left:n})=>parseFloat(n)+(t.max-t.min),x:xf(4,13),y:xf(5,14)};Gn.translateX=Gn.x;Gn.translateY=Gn.y;const un=new Set;let Kc=!1,Lc=!1;function ty(){if(Lc){const t=Array.from(un).filter(s=>s.needsMeasurement),n=new Set(t.map(s=>s.element)),i=new Map;n.forEach(s=>{const l=u2(s);l.length&&(i.set(s,l),s.render())}),t.forEach(s=>s.measureInitialState()),n.forEach(s=>{s.render();const l=i.get(s);l&&l.forEach(([u,h])=>{var f;(f=s.getValue(u))===null||f===void 0||f.set(h)})}),t.forEach(s=>s.measureEndState()),t.forEach(s=>{s.suspendedScrollY!==void 0&&window.scrollTo(0,s.suspendedScrollY)})}Lc=!1,Kc=!1,un.forEach(t=>t.complete()),un.clear()}function ay(){un.forEach(t=>{t.readKeyframes(),t.needsMeasurement&&(Lc=!0)})}function d2(){ay(),ty()}class Ou{constructor(n,i,s,l,u,h=!1){this.isComplete=!1,this.isAsync=!1,this.needsMeasurement=!1,this.isScheduled=!1,this.unresolvedKeyframes=[...n],this.onComplete=i,this.name=s,this.motionValue=l,this.element=u,this.isAsync=h}scheduleResolve(){this.isScheduled=!0,this.isAsync?(un.add(this),Kc||(Kc=!0,Me.read(ay),Me.resolveKeyframes(ty))):(this.readKeyframes(),this.complete())}readKeyframes(){const{unresolvedKeyframes:n,name:i,element:s,motionValue:l}=this;for(let u=0;u<n.length;u++)if(n[u]===null)if(u===0){const h=l==null?void 0:l.get(),f=n[n.length-1];if(h!==void 0)n[0]=h;else if(s&&i){const m=s.readValue(i,f);m!=null&&(n[0]=m)}n[0]===void 0&&(n[0]=f),l&&h===void 0&&l.set(n[0])}else n[u]=n[u-1]}setFinalKeyframe(){}measureInitialState(){}renderEndStyles(){}measureEndState(){}complete(){this.isComplete=!0,this.onComplete(this.unresolvedKeyframes,this.finalKeyframe),un.delete(this)}cancel(){this.isComplete||(this.isScheduled=!1,un.delete(this))}resume(){this.isComplete||this.scheduleResolve()}}const ny=t=>/^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(t),h2=/^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u;function p2(t){const n=h2.exec(t);if(!n)return[,];const[,i,s,l]=n;return[`--${i??s}`,l]}function iy(t,n,i=1){const[s,l]=p2(t);if(!s)return;const u=window.getComputedStyle(n).getPropertyValue(s);if(u){const h=u.trim();return ny(h)?parseFloat(h):h}return vu(l)?iy(l,n,i+1):l}const ry=t=>n=>n.test(t),f2={test:t=>t==="auto",parse:t=>t},sy=[Qn,ie,aa,Oa,ix,nx,f2],kf=t=>sy.find(ry(t));class oy extends Ou{constructor(n,i,s,l,u){super(n,i,s,l,u,!0)}readKeyframes(){const{unresolvedKeyframes:n,element:i,name:s}=this;if(!i||!i.current)return;super.readKeyframes();for(let m=0;m<n.length;m++){let g=n[m];if(typeof g=="string"&&(g=g.trim(),vu(g))){const y=iy(g,i.current);y!==void 0&&(n[m]=y),m===n.length-1&&(this.finalKeyframe=g)}}if(this.resolveNoneKeyframes(),!Lg.has(s)||n.length!==2)return;const[l,u]=n,h=kf(l),f=kf(u);if(h!==f)if(vf(h)&&vf(f))for(let m=0;m<n.length;m++){const g=n[m];typeof g=="string"&&(n[m]=parseFloat(g))}else this.needsMeasurement=!0}resolveNoneKeyframes(){const{unresolvedKeyframes:n,name:i}=this,s=[];for(let l=0;l<n.length;l++)Vx(n[l])&&s.push(l);s.length&&o2(n,s,i)}measureInitialState(){const{element:n,unresolvedKeyframes:i,name:s}=this;if(!n||!n.current)return;s==="height"&&(this.suspendedScrollY=window.pageYOffset),this.measuredOrigin=Gn[s](n.measureViewportBox(),window.getComputedStyle(n.current)),i[0]=this.measuredOrigin;const l=i[i.length-1];l!==void 0&&n.getValue(s,l).jump(l,!1)}measureEndState(){var n;const{element:i,name:s,unresolvedKeyframes:l}=this;if(!i||!i.current)return;const u=i.getValue(s);u&&u.jump(this.measuredOrigin,!1);const h=l.length-1,f=l[h];l[h]=Gn[s](i.measureViewportBox(),window.getComputedStyle(i.current)),f!==null&&this.finalKeyframe===void 0&&(this.finalKeyframe=f),!((n=this.removedTransforms)===null||n===void 0)&&n.length&&this.removedTransforms.forEach(([m,g])=>{i.getValue(m).set(g)}),this.resolveNoneKeyframes()}}const _f=(t,n)=>n==="zIndex"?!1:!!(typeof t=="number"||Array.isArray(t)||typeof t=="string"&&(za.test(t)||t==="0")&&!t.startsWith("url("));function m2(t){const n=t[0];if(t.length===1)return!0;for(let i=0;i<t.length;i++)if(t[i]!==n)return!0}function g2(t,n,i,s){const l=t[0];if(l===null)return!1;if(n==="display"||n==="visibility")return!0;const u=t[t.length-1],h=_f(l,n),f=_f(u,n);return!h||!f?!1:m2(t)||(i==="spring"||Su(i))&&s}const y2=t=>t!==null;function eo(t,{repeat:n,repeatType:i="loop"},s){const l=t.filter(y2),u=n&&i!=="loop"&&n%2===1?0:l.length-1;return!u||s===void 0?l[u]:s}const b2=40;class ly{constructor({autoplay:n=!0,delay:i=0,type:s="keyframes",repeat:l=0,repeatDelay:u=0,repeatType:h="loop",...f}){this.isStopped=!1,this.hasAttemptedResolve=!1,this.createdAt=na.now(),this.options={autoplay:n,delay:i,type:s,repeat:l,repeatDelay:u,repeatType:h,...f},this.updateFinishedPromise()}calcStartTime(){return this.resolvedAt?this.resolvedAt-this.createdAt>b2?this.resolvedAt:this.createdAt:this.createdAt}get resolved(){return!this._resolved&&!this.hasAttemptedResolve&&d2(),this._resolved}onKeyframesResolved(n,i){this.resolvedAt=na.now(),this.hasAttemptedResolve=!0;const{name:s,type:l,velocity:u,delay:h,onComplete:f,onUpdate:m,isGenerator:g}=this.options;if(!g&&!g2(n,s,l,u))if(h)this.options.duration=0;else{m&&m(eo(n,this.options,i)),f&&f(),this.resolveFinishedPromise();return}const y=this.initPlayback(n,i);y!==!1&&(this._resolved={keyframes:n,finalKeyframe:i,...y},this.onPostResolved())}onPostResolved(){}then(n,i){return this.currentFinishedPromise.then(n,i)}flatten(){this.options.type="keyframes",this.options.ease="linear"}updateFinishedPromise(){this.currentFinishedPromise=new Promise(n=>{this.resolveFinishedPromise=n})}}const Ne=(t,n,i)=>t+(n-t)*i;function uc(t,n,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+(n-t)*6*i:i<1/2?n:i<2/3?t+(n-t)*(2/3-i)*6:t}function v2({hue:t,saturation:n,lightness:i,alpha:s}){t/=360,n/=100,i/=100;let l=0,u=0,h=0;if(!n)l=u=h=i;else{const f=i<.5?i*(1+n):i+n-i*n,m=2*i-f;l=uc(m,f,t+1/3),u=uc(m,f,t),h=uc(m,f,t-1/3)}return{red:Math.round(l*255),green:Math.round(u*255),blue:Math.round(h*255),alpha:s}}function Ks(t,n){return i=>i>0?n:t}const dc=(t,n,i)=>{const s=t*t,l=i*(n*n-s)+s;return l<0?0:Math.sqrt(l)},w2=[Nc,cn,Wn],x2=t=>w2.find(n=>n.test(t));function Tf(t){const n=x2(t);if(!n)return!1;let i=n.parse(t);return n===Wn&&(i=v2(i)),i}const If=(t,n)=>{const i=Tf(t),s=Tf(n);if(!i||!s)return Ks(t,n);const l={...i};return u=>(l.red=dc(i.red,s.red,u),l.green=dc(i.green,s.green,u),l.blue=dc(i.blue,s.blue,u),l.alpha=Ne(i.alpha,s.alpha,u),cn.transform(l))},k2=(t,n)=>i=>n(t(i)),or=(...t)=>t.reduce(k2),Oc=new Set(["none","hidden"]);function _2(t,n){return Oc.has(t)?i=>i<=0?t:n:i=>i>=1?n:t}function T2(t,n){return i=>Ne(t,n,i)}function Bu(t){return typeof t=="number"?T2:typeof t=="string"?vu(t)?Ks:st.test(t)?If:S2:Array.isArray(t)?cy:typeof t=="object"?st.test(t)?If:I2:Ks}function cy(t,n){const i=[...t],s=i.length,l=t.map((u,h)=>Bu(u)(u,n[h]));return u=>{for(let h=0;h<s;h++)i[h]=l[h](u);return i}}function I2(t,n){const i={...t,...n},s={};for(const l in i)t[l]!==void 0&&n[l]!==void 0&&(s[l]=Bu(t[l])(t[l],n[l]));return l=>{for(const u in s)i[u]=s[u](l);return i}}function M2(t,n){var i;const s=[],l={color:0,var:0,number:0};for(let u=0;u<n.values.length;
vendor: 62,973 bytes, line 60
60u++){const h=n.types[u],f=t.indexes[h][l[h]],m=(i=t.values[f])!==null&&i!==void 0?i:0;s[u]=m,l[h]++}return s}const S2=(t,n)=>{const i=za.createTransformer(n),s=tr(t),l=tr(n);return s.indexes.var.length===l.indexes.var.length&&s.indexes.color.length===l.indexes.color.length&&s.indexes.number.length>=l.indexes.number.length?Oc.has(t)&&!l.values.length||Oc.has(n)&&!s.values.length?_2(t,n):or(cy(M2(s,l),l.values),i):Ks(t,n)};function uy(t,n,i){return typeof t=="number"&&typeof n=="number"&&typeof i=="number"?Ne(t,n,i):Bu(t)(t,n)}const j2=5;function dy(t,n,i){const s=Math.max(n-j2,0);return Og(i-t(s),n-s)}const Ke={stiffness:100,damping:10,mass:1,velocity:0,duration:800,bounce:.3,visualDuration:.3,restSpeed:{granular:.01,default:2},restDelta:{granular:.005,default:.5},minDuration:.01,maxDuration:10,minDamping:.05,maxDamping:1},hc=.001;function C2({duration:t=Ke.duration,bounce:n=Ke.bounce,velocity:i=Ke.velocity,mass:s=Ke.mass}){let l,u,h=1-n;h=ga(Ke.minDamping,Ke.maxDamping,h),t=ga(Ke.minDuration,Ke.maxDuration,fa(t)),h<1?(l=g=>{const y=g*h,b=y*t,w=y-i,_=Bc(g,h),j=Math.exp(-b);return hc-w/_*j},u=g=>{const b=g*h*t,w=b*i+i,_=Math.pow(h,2)*Math.pow(g,2)*t,j=Math.exp(-b),M=Bc(Math.pow(g,2),h);return(-l(g)+hc>0?-1:1)*((w-_)*j)/M}):(l=g=>{const y=Math.exp(-g*t),b=(g-i)*t+1;return-hc+y*b},u=g=>{const y=Math.exp(-g*t),b=(i-g)*(t*t);return y*b});const f=5/t,m=E2(l,u,f);if(t=pa(t),isNaN(m))return{stiffness:Ke.stiffness,damping:Ke.damping,duration:t};{const g=Math.pow(m,2)*s;return{stiffness:g,damping:h*2*Math.sqrt(s*g),duration:t}}}const P2=12;function E2(t,n,i){let s=i;for(let l=1;l<P2;l++)s=s-t(s)/n(s);return s}function Bc(t,n){return t*Math.sqrt(1-n*n)}const D2=["duration","bounce"],A2=["stiffness","damping","mass"];function Mf(t,n){return n.some(i=>t[i]!==void 0)}function N2(t){let n={velocity:Ke.velocity,stiffness:Ke.stiffness,damping:Ke.damping,mass:Ke.mass,isResolvedFromDuration:!1,...t};if(!Mf(t,A2)&&Mf(t,D2))if(t.visualDuration){const i=t.visualDuration,s=2*Math.PI/(i*1.2),l=s*s,u=2*ga(.05,1,1-(t.bounce||0))*Math.sqrt(l);n={...n,mass:Ke.mass,stiffness:l,damping:u}}else{const i=C2(t);n={...n,...i,mass:Ke.mass},n.isResolvedFromDuration=!0}return n}function hy(t=Ke.visualDuration,n=Ke.bounce){const i=typeof t!="object"?{visualDuration:t,keyframes:[0,1],bounce:n}:t;let{restSpeed:s,restDelta:l}=i;const u=i.keyframes[0],h=i.keyframes[i.keyframes.length-1],f={done:!1,value:u},{stiffness:m,damping:g,mass:y,duration:b,velocity:w,isResolvedFromDuration:_}=N2({...i,velocity:-fa(i.velocity||0)}),j=w||0,M=g/(2*Math.sqrt(m*y)),S=h-u,E=fa(Math.sqrt(m/y)),R=Math.abs(S)<5;s||(s=R?Ke.restSpeed.granular:Ke.restSpeed.default),l||(l=R?Ke.restDelta.granular:Ke.restDelta.default);let K;if(M<1){const N=Bc(E,M);K=q=>{const ee=Math.exp(-M*E*q);return h-ee*((j+M*E*S)/N*Math.sin(N*q)+S*Math.cos(N*q))}}else if(M===1)K=N=>h-Math.exp(-E*N)*(S+(j+E*S)*N);else{const N=E*Math.sqrt(M*M-1);K=q=>{const ee=Math.exp(-M*E*q),V=Math.min(N*q,300);return h-ee*((j+M*E*S)*Math.sinh(V)+N*S*Math.cosh(V))/N}}const W={calculatedDuration:_&&b||null,next:N=>{const q=K(N);if(_)f.done=N>=b;else{let ee=0;M<1&&(ee=N===0?pa(j):dy(K,N,q));const V=Math.abs(ee)<=s,oe=Math.abs(h-q)<=l;f.done=V&&oe}return f.value=f.done?h:q,f},toString:()=>{const N=Math.min(Cg(W),Ec),q=Pg(ee=>W.next(N*ee).value,N,30);return N+"ms "+q}};return W}function Sf({keyframes:t,velocity:n=0,power:i=.8,timeConstant:s=325,bounceDamping:l=10,bounceStiffness:u=500,modifyTarget:h,min:f,max:m,restDelta:g=.5,restSpeed:y}){const b=t[0],w={done:!1,value:b},_=V=>f!==void 0&&V<f||m!==void 0&&V>m,j=V=>f===void 0?m:m===void 0||Math.abs(f-V)<Math.abs(m-V)?f:m;let M=i*n;const S=b+M,E=h===void 0?S:h(S);E!==S&&(M=E-b);const R=V=>-M*Math.exp(-V/s),K=V=>E+R(V),W=V=>{const oe=R(V),he=K(V);w.done=Math.abs(oe)<=g,w.value=w.done?E:he};let N,q;const ee=V=>{_(w.value)&&(N=V,q=hy({keyframes:[w.value,j(w.value)],velocity:dy(K,V,w.value),damping:l,stiffness:u,restDelta:g,restSpeed:y}))};return ee(0),{calculatedDuration:null,next:V=>{let oe=!1;return!q&&N===void 0&&(oe=!0,W(V),ee(V)),N!==void 0&&V>=N?q.next(V-N):(!oe&&W(V),w)}}}const R2=sr(.42,0,1,1),K2=sr(0,0,.58,1),py=sr(.42,0,.58,1),L2=t=>Array.isArray(t)&&typeof t[0]!="number",O2={linear:bt,easeIn:R2,easeInOut:py,easeOut:K2,circIn:Nu,circInOut:Ug,circOut:$g,backIn:Au,backInOut:Vg,backOut:zg,anticipate:qg},jf=t=>{if(ju(t)){cg(t.length===4);const[n,i,s,l]=t;return sr(n,i,s,l)}else if(typeof t=="string")return O2[t];return t};function B2(t,n,i){const s=[],l=i||uy,u=t.length-1;for(let h=0;h<u;h++){let f=l(t[h],t[h+1]);if(n){const m=Array.isArray(n)?n[h]||bt:n;f=or(m,f)}s.push(f)}return s}function F2(t,n,{clamp:i=!0,ease:s,mixer:l}={}){const u=t.length;if(cg(u===n.length),u===1)return()=>n[0];if(u===2&&n[0]===n[1])return()=>n[1];const h=t[0]===t[1];t[0]>t[u-1]&&(t=[...t].reverse(),n=[...n].reverse());const f=B2(n,s,l),m=f.length,g=y=>{if(h&&y<t[0])return n[0];let b=0;if(m>1)for(;b<t.length-2&&!(y<t[b+1]);b++);const w=$n(t[b],t[b+1],y);return f[b](w)};return i?y=>g(ga(t[0],t[u-1],y)):g}function W2(t,n){const i=t[t.length-1];for(let s=1;s<=n;s++){const l=$n(0,n,s);t.push(Ne(i,1,l))}}function H2(t){const n=[0];return W2(n,t.length-1),n}function z2(t,n){return t.map(i=>i*n)}function V2(t,n){return t.map(()=>n||py).splice(0,t.length-1)}function Ls({duration:t=300,keyframes:n,times:i,ease:s="easeInOut"}){const l=L2(s)?s.map(jf):jf(s),u={done:!1,value:n[0]},h=z2(i&&i.length===n.length?i:H2(n),t),f=F2(h,n,{ease:Array.isArray(l)?l:V2(n,l)});return{calculatedDuration:t,next:m=>(u.value=f(m),u.done=m>=t,u)}}const q2=t=>{const n=({timestamp:i})=>t(i);return{start:()=>Me.update(n,!0),stop:()=>Ha(n),now:()=>tt.isProcessing?tt.timestamp:na.now()}},$2={decay:Sf,inertia:Sf,tween:Ls,keyframes:Ls,spring:hy},U2=t=>t/100;class Fu extends ly{constructor(n){super(n),this.holdTime=null,this.cancelTime=null,this.currentTime=0,this.playbackSpeed=1,this.pendingPlayState="running",this.startTime=null,this.state="idle",this.stop=()=>{if(this.resolver.cancel(),this.isStopped=!0,this.state==="idle")return;this.teardown();const{onStop:m}=this.options;m&&m()};const{name:i,motionValue:s,element:l,keyframes:u}=this.options,h=(l==null?void 0:l.KeyframeResolver)||Ou,f=(m,g)=>this.onKeyframesResolved(m,g);this.resolver=new h(u,f,i,s,l),this.resolver.scheduleResolve()}flatten(){super.flatten(),this._resolved&&Object.assign(this._resolved,this.initPlayback(this._resolved.keyframes))}initPlayback(n){const{type:i="keyframes",repeat:s=0,repeatDelay:l=0,repeatType:u,velocity:h=0}=this.options,f=Su(i)?i:$2[i]||Ls;let m,g;f!==Ls&&typeof n[0]!="number"&&(m=or(U2,uy(n[0],n[1])),n=[0,100]);const y=f({...this.options,keyframes:n});u==="mirror"&&(g=f({...this.options,keyframes:[...n].reverse(),velocity:-h})),y.calculatedDuration===null&&(y.calculatedDuration=Cg(y));const{calculatedDuration:b}=y,w=b+l,_=w*(s+1)-l;return{generator:y,mirroredGenerator:g,mapPercentToKeyframes:m,calculatedDuration:b,resolvedDuration:w,totalDuration:_}}onPostResolved(){const{autoplay:n=!0}=this.options;this.play(),this.pendingPlayState==="paused"||!n?this.pause():this.state=this.pendingPlayState}tick(n,i=!1){const{resolved:s}=this;if(!s){const{keyframes:V}=this.options;return{done:!0,value:V[V.length-1]}}const{finalKeyframe:l,generator:u,mirroredGenerator:h,mapPercentToKeyframes:f,keyframes:m,calculatedDuration:g,totalDuration:y,resolvedDuration:b}=s;if(this.startTime===null)return u.next(0);const{delay:w,repeat:_,repeatType:j,repeatDelay:M,onUpdate:S}=this.options;this.speed>0?this.startTime=Math.min(this.startTime,n):this.speed<0&&(this.startTime=Math.min(n-y/this.speed,this.startTime)),i?this.currentTime=n:this.holdTime!==null?this.currentTime=this.holdTime:this.currentTime=Math.round(n-this.startTime)*this.speed;const E=this.currentTime-w*(this.speed>=0?1:-1),R=this.speed>=0?E<0:E>y;this.currentTime=Math.max(E,0),this.state==="finished"&&this.holdTime===null&&(this.currentTime=y);let K=this.currentTime,W=u;if(_){const V=Math.min(this.currentTime,y)/b;let oe=Math.floor(V),he=V%1;!he&&V>=1&&(he=1),he===1&&oe--,oe=Math.min(oe,_+1),!!(oe%2)&&(j==="reverse"?(he=1-he,M&&(he-=M/b)):j==="mirror"&&(W=h)),K=ga(0,1,he)*b}const N=R?{done:!1,value:m[0]}:W.next(K);f&&(N.value=f(N.value));let{done:q}=N;!R&&g!==null&&(q=this.speed>=0?this.currentTime>=y:this.currentTime<=0);const ee=this.holdTime===null&&(this.state==="finished"||this.state==="running"&&q);return ee&&l!==void 0&&(N.value=eo(m,this.options,l)),S&&S(N.value),ee&&this.finish(),N}get duration(){const{resolved:n}=this;return n?fa(n.calculatedDuration):0}get time(){return fa(this.currentTime)}set time(n){n=pa(n),this.currentTime=n,this.holdTime!==null||this.speed===0?this.holdTime=n:this.driver&&(this.startTime=this.driver.now()-n/this.speed)}get speed(){return this.playbackSpeed}set speed(n){const i=this.playbackSpeed!==n;this.playbackSpeed=n,i&&(this.time=fa(this.currentTime))}play(){if(this.resolver.isScheduled||this.resolver.resume(),!this._resolved){this.pendingPlayState="running";return}if(this.isStopped)return;const{driver:n=q2,onPlay:i,startTime:s}=this.options;this.driver||(this.driver=n(u=>this.tick(u))),i&&i();const l=this.driver.now();this.holdTime!==null?this.startTime=l-this.holdTime:this.startTime?this.state==="finished"&&(this.startTime=l):this.startTime=s??this.calcStartTime(),this.state==="finished"&&this.updateFinishedPromise(),this.cancelTime=this.startTime,this.holdTime=null,this.state="running",this.driver.start()}pause(){var n;if(!this._resolved){this.pendingPlayState="paused";return}this.state="paused",this.holdTime=(n=this.currentTime)!==null&&n!==void 0?n:0}complete(){this.state!=="running"&&this.play(),this.pendingPlayState=this.state="finished",this.holdTime=null}finish(){this.teardown(),this.state="finished";const{onComplete:n}=this.options;n&&n()}cancel(){this.cancelTime!==null&&this.tick(this.cancelTime),this.teardown(),this.updateFinishedPromise()}teardown(){this.state="idle",this.stopDriver(),this.resolveFinishedPromise(),this.updateFinishedPromise(),this.startTime=this.cancelTime=null,this.resolver.cancel()}stopDriver(){this.driver&&(this.driver.stop(),this.driver=void 0)}sample(n){return this.startTime=0,this.tick(n,!0)}}const G2=new Set(["opacity","clipPath","filter","transform"]);function Y2(t,n,i,{delay:s=0,duration:l=300,repeat:u=0,repeatType:h="loop",ease:f="easeInOut",times:m}={}){const g={[n]:i};m&&(g.offset=m);const y=Dg(f,l);return Array.isArray(y)&&(g.easing=y),t.animate(g,{delay:s,duration:l,easing:Array.isArray(y)?"linear":y,fill:"both",iterations:u+1,direction:h==="reverse"?"alternate":"normal"})}const Z2=hu(()=>Object.hasOwnProperty.call(Element.prototype,"animate")),Os=10,J2=2e4;function X2(t){return Su(t.type)||t.type==="spring"||!Eg(t.ease)}function Q2(t,n){const i=new Fu({...n,keyframes:t,repeat:0,delay:0,isGenerator:!0});let s={done:!1,value:t[0]};const l=[];let u=0;for(;!s.done&&u<J2;)s=i.sample(u),l.push(s.value),u+=Os;return{times:void 0,keyframes:l,duration:u-Os,ease:"linear"}}const fy={anticipate:qg,backInOut:Vg,circInOut:Ug};function ek(t){return t in fy}class Cf extends ly{constructor(n){super(n);const{name:i,motionValue:s,element:l,keyframes:u}=this.options;this.resolver=new oy(u,(h,f)=>this.onKeyframesResolved(h,f),i,s,l),this.resolver.scheduleResolve()}initPlayback(n,i){let{duration:s=300,times:l,ease:u,type:h,motionValue:f,name:m,startTime:g}=this.options;if(!f.owner||!f.owner.current)return!1;if(typeof u=="string"&&Rs()&&ek(u)&&(u=fy[u]),X2(this.options)){const{onComplete:b,onUpdate:w,motionValue:_,element:j,...M}=this.options,S=Q2(n,M);n=S.keyframes,n.length===1&&(n[1]=n[0]),s=S.duration,l=S.times,u=S.ease,h="keyframes"}const y=Y2(f.owner.current,m,n,{...this.options,duration:s,times:l,ease:u});return y.startTime=g??this.calcStartTime(),this.pendingTimeline?(hf(y,this.pendingTimeline),this.pendingTimeline=void 0):y.onfinish=()=>{const{onComplete:b}=this.options;f.set(eo(n,this.options,i)),b&&b(),this.cancel(),this.resolveFinishedPromise()},{animation:y,duration:s,times:l,type:h,ease:u,keyframes:n}}get duration(){const{resolved:n}=this;if(!n)return 0;const{duration:i}=n;return fa(i)}get time(){const{resolved:n}=this;if(!n)return 0;const{animation:i}=n;return fa(i.currentTime||0)}set time(n){const{resolved:i}=this;if(!i)return;const{animation:s}=i;s.currentTime=pa(n)}get speed(){const{resolved:n}=this;if(!n)return 1;const{animation:i}=n;return i.playbackRate}set speed(n){const{resolved:i}=this;if(!i)return;const{animation:s}=i;s.playbackRate=n}get state(){const{resolved:n}=this;if(!n)return"idle";const{animation:i}=n;return i.playState}get startTime(){const{resolved:n}=this;if(!n)return null;const{animation:i}=n;return i.startTime}attachTimeline(n){if(!this._resolved)this.pendingTimeline=n;else{const{resolved:i}=this;if(!i)return bt;const{animation:s}=i;hf(s,n)}return bt}play(){if(this.isStopped)return;const{resolved:n}=this;if(!n)return;const{animation:i}=n;i.playState==="finished"&&this.updateFinishedPromise(),i.play()}pause(){const{resolved:n}=this;if(!n)return;const{animation:i}=n;i.pause()}stop(){if(this.resolver.cancel(),this.isStopped=!0,this.state==="idle")return;this.resolveFinishedPromise(),this.updateFinishedPromise();const{resolved:n}=this;if(!n)return;const{animation:i,keyframes:s,duration:l,type:u,ease:h,times:f}=n;if(i.playState==="idle"||i.playState==="finished")return;if(this.time){const{motionValue:g,onUpdate:y,onComplete:b,element:w,..._}=this.options,j=new Fu({..._,keyframes:s,duration:l,type:u,ease:h,times:f,isGenerator:!0}),M=pa(this.time);g.setWithVelocity(j.sample(M-Os).value,j.sample(M).value,Os)}const{onStop:m}=this.options;m&&m(),this.cancel()}complete(){const{resolved:n}=this;n&&n.animation.finish()}cancel(){const{resolved:n}=this;n&&n.animation.cancel()}static supports(n){const{motionValue:i,name:s,repeatDelay:l,repeatType:u,damping:h,type:f}=n;if(!i||!i.owner||!(i.owner.current instanceof HTMLElement))return!1;const{onUpdate:m,transformTemplate:g}=i.owner.getProps();return Z2()&&s&&G2.has(s)&&!m&&!g&&!l&&u!=="mirror"&&h!==0&&f!=="inertia"}}const tk={type:"spring",stiffness:500,damping:25,restSpeed:10},ak=t=>({type:"spring",stiffness:550,damping:t===0?2*Math.sqrt(550):30,restSpeed:10}),nk={type:"keyframes",duration:.8},ik={type:"keyframes",ease:[.25,.1,.35,1],duration:.3},rk=(t,{keyframes:n})=>n.length>2?nk:dn.has(t)?t.startsWith("scale")?ak(n[1]):tk:ik;function sk({when:t,delay:n,delayChildren:i,staggerChildren:s,staggerDirection:l,repeat:u,repeatType:h,repeatDelay:f,from:m,elapsed:g,...y}){return!!Object.keys(y).length}const Wu=(t,n,i,s={},l,u)=>h=>{const f=Mu(s,t)||{},m=f.delay||s.delay||0;let{elapsed:g=0}=s;g=g-pa(m);let y={keyframes:Array.isArray(i)?i:[null,i],ease:"easeOut",velocity:n.getVelocity(),...f,delay:-g,onUpdate:w=>{n.set(w),f.onUpdate&&f.onUpdate(w)},onComplete:()=>{h(),f.onComplete&&f.onComplete()},name:t,motionValue:n,element:u?void 0:l};sk(f)||(y={...y,...rk(t,y)}),y.duration&&(y.duration=pa(y.duration)),y.repeatDelay&&(y.repeatDelay=pa(y.repeatDelay)),y.from!==void 0&&(y.keyframes[0]=y.from);let b=!1;if((y.type===!1||y.duration===0&&!y.repeatDelay)&&(y.duration=0,y.delay===0&&(b=!0)),b&&!u&&n.get()!==void 0){const w=eo(y.keyframes,f);if(w!==void 0)return Me.update(()=>{y.onUpdate(w),y.onComplete()}),new Mx([])}return!u&&Cf.supports(y)?new Cf(y):new Fu(y)};function ok({protectedKeys:t,needsAnimating:n},i){const s=t.hasOwnProperty(i)&&n[i]!==!0;return n[i]=!1,s}function my(t,n,{delay:i=0,transitionOverride:s,type:l}={}){var u;let{transition:h=t.getDefaultTransition(),transitionEnd:f,...m}=n;s&&(h=s);const g=[],y=l&&t.animationState&&t.animationState.getState()[l];for(const b in m){const w=t.getValue(b,(u=t.latestValues[b])!==null&&u!==void 0?u:null),_=m[b];if(_===void 0||y&&ok(y,b))continue;const j={delay:i,...Mu(h||{},b)};let M=!1;if(window.MotionHandoffAnimation){const E=Bg(t);if(E){const R=window.MotionHandoffAnimation(E,b,Me);R!==null&&(j.startTime=R,M=!0)}}Ac(t,b),w.start(Wu(b,w,_,t.shouldReduceMotion&&Lg.has(b)?{type:!1}:j,t,M));const S=w.animation;S&&g.push(S)}return f&&Promise.all(g).then(()=>{Me.update(()=>{f&&Bx(t,f)})}),g}function Fc(t,n,i={}){var s;const l=Qs(t,n,i.type==="exit"?(s=t.presenceContext)===null||s===void 0?void 0:s.custom:void 0);let{transition:u=t.getDefaultTransition()||{}}=l||{};i.transitionOverride&&(u=i.transitionOverride);const h=l?()=>Promise.all(my(t,l,i)):()=>Promise.resolve(),f=t.variantChildren&&t.variantChildren.size?(g=0)=>{const{delayChildren:y=0,staggerChildren:b,staggerDirection:w}=u;return lk(t,n,y+g,b,w,i)}:()=>Promise.resolve(),{when:m}=u;if(m){const[g,y]=m==="beforeChildren"?[h,f]:[f,h];return g().then(()=>y())}else return Promise.all([h(),f(i.delay)])}function lk(t,n,i=0,s=0,l=1,u){const h=[],f=(t.variantChildren.size-1)*s,m=l===1?(g=0)=>g*s:(g=0)=>f-g*s;return Array.from(t.variantChildren).sort(ck).forEach((g,y)=>{g.notify("AnimationStart",n),h.push(Fc(g,n,{...u,delay:i+m(y)}).then(()=>g.notify("AnimationComplete",n)))}),Promise.all(h)}function ck(t,n){return t.sortNodePosition(n)}function uk(t,n,i={}){t.notify("AnimationStart",n);let s;if(Array.isArray(n)){const l=n.map(u=>Fc(t,u,i));s=Promise.all(l)}else if(typeof n=="string")s=Fc(t,n,i);else{const l=typeof n=="function"?Qs(t,n,i.custom):n;s=Promise.all(my(t,l,i))}return s.then(()=>{t.notify("AnimationComplete",n)})}const dk=fu.length;function gy(t){if(!t)return;if(!t.isControllingVariants){const i=t.parent?gy(t.parent)||{}:{};return t.props.initial!==void 0&&(i.initial=t.props.initial),i}const n={};for(let i=0;i<dk;i++){const s=fu[i],l=t.props[s];(Xi(l)||l===!1)&&(n[s]=l)}return n}const hk=[...pu].reverse(),pk=pu.length;function fk(t){return n=>Promise.all(n.map(({animation:i,options:s})=>uk(t,i,s)))}function mk(t){let n=fk(t),i=Pf(),s=!0;const l=m=>(g,y)=>{var b;const w=Qs(t,y,m==="exit"?(b=t.presenceContext)===null||b===void 0?void 0:b.custom:void 0);if(w){const{transition:_,transitionEnd:j,...M}=w;g={...g,...M,...j}}return g};function u(m){n=m(t)}function h(m){const{props:g}=t,y=gy(t.parent)||{},b=[],w=new Set;let _={},j=1/0;for(let S=0;S<pk;S++){const E=hk[S],R=i[E],K=g[E]!==void 0?g[E]:y[E],W=Xi(K),N=E===m?R.isActive:null;N===!1&&(j=S);let q=K===y[E]&&K!==g[E]&&W;if(q&&s&&t.manuallyAnimateOnMount&&(q=!1),R.protectedKeys={..._},!R.isActive&&N===null||!K&&!R.prevProp||Js(K)||typeof K=="boolean")continue;const ee=gk(R.prevProp,K);let V=ee||E===m&&R.isActive&&!q&&W||S>j&&W,oe=!1;const he=Array.isArray(K)?K:[K];let Oe=he.reduce(l(E),{});N===!1&&(Oe={});const{prevResolvedValues:He={}}=R,ze={...He,...Oe},Xe=le=>{V=!0,w.has(le)&&(oe=!0,w.delete(le)),R.needsAnimating[le]=!0;const z=t.getValue(le);z&&(z.liveStyle=!1)};for(const le in ze){const z=Oe[le],te=He[le];if(_.hasOwnProperty(le))continue;let G=!1;Pc(z)&&Pc(te)?G=!jg(z,te):G=z!==te,G?z!=null?Xe(le):w.add(le):z!==void 0&&w.has(le)?Xe(le):R.protectedKeys[le]=!0}R.prevProp=K,R.prevResolvedValues=Oe,R.isActive&&(_={..._,...Oe}),s&&t.blockInitialAnimation&&(V=!1),V&&(!(q&&ee)||oe)&&b.push(...he.map(le=>({animation:le,options:{type:E}})))}if(w.size){const S={};w.forEach(E=>{const R=t.getBaseTarget(E),K=t.getValue(E);K&&(K.liveStyle=!0),S[E]=R??null}),b.push({animation:S})}let M=!!b.length;return s&&(g.initial===!1||g.initial===g.animate)&&!t.manuallyAnimateOnMount&&(M=!1),s=!1,M?n(b):Promise.resolve()}function f(m,g){var y;if(i[m].isActive===g)return Promise.resolve();(y=t.variantChildren)===null||y===void 0||y.forEach(w=>{var _;return(_=w.animationState)===null||_===void 0?void 0:_.setActive(m,g)}),i[m].isActive=g;const b=h(m);for(const w in i)i[w].protectedKeys={};return b}return{animateChanges:h,setActive:f,setAnimateFunction:u,getState:()=>i,reset:()=>{i=Pf(),s=!0}}}function gk(t,n){return typeof n=="string"?n!==t:Array.isArray(n)?!jg(n,t):!1}function sn(t=!1){return{isActive:t,protectedKeys:{},needsAnimating:{},prevResolvedValues:{}}}function Pf(){return{animate:sn(!0),whileInView:sn(),whileHover:sn(),whileTap:sn(),whileDrag:sn(),whileFocus:sn(),exit:sn()}}class qa{constructor(n){this.isMounted=!1,this.node=n}update(){}}class yk extends qa{constructor(n){super(n),n.animationState||(n.animationState=mk(n))}updateAnimationControlsSubscription(){const{animate:n}=this.node.getProps();Js(n)&&(this.unmountControls=n.subscribe(this.node))}mount(){this.updateAnimationControlsSubscription()}update(){const{animate:n}=this.node.getProps(),{animate:i}=this.node.prevProps||{};n!==i&&this.updateAnimationControlsSubscription()}unmount(){var n;this.node.animationState.reset(),(n=this.unmountControls)===null||n===void 0||n.call(this)}}let bk=0;class vk extends qa{constructor(){super(...arguments),this.id=bk++}update(){if(!this.node.presenceContext)return;const{isPresent:n,onExitComplete:i}=this.node.presenceContext,{isPresent:s}=this.node.prevPresenceContext||{};if(!this.node.animationState||n===s)return;const l=this.node.animationState.setActive("exit",!n);i&&!n&&l.then(()=>i(this.id))}mount(){const{register:n}=this.node.presenceContext||{};n&&(this.unmount=n(this.id))}unmount(){}}const wk={animation:{Feature:yk},exit:{Feature:vk}};function ar(t,n,i,s={passive:!0}){return t.addEventListener(n,i,s),()=>t.removeEventListener(n,i)}function lr(t){return{point:{x:t.pageX,y:t.pageY}}}const xk=t=>n=>Cu(n)&&t(n,lr(n));function Gi(t,n,i,s){return ar(t,n,xk(i),s)}const Ef=(t,n)=>Math.abs(t-n);function kk(t,n){const i=Ef(t.x,n.x),s=Ef(t.y,n.y);return Math.sqrt(i**2+s**2)}class yy{constructor(n,i,{transformPagePoint:s,contextWindow:l,dragSnapToOrigin:u=!1}={}){if(this.startEvent=null,this.lastMoveEvent=null,this.lastMoveEventInfo=null,this.handlers={},this.contextWindow=window,this.updatePoint=()=>{if(!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const b=fc(this.lastMoveEventInfo,this.history),w=this.startEvent!==null,_=kk(b.offset,{x:0,y:0})>=3;if(!w&&!_)return;const{point:j}=b,{timestamp:M}=tt;this.history.push({...j,timestamp:M});const{onStart:S,onMove:E}=this.handlers;w||(S&&S(this.lastMoveEvent,b),this.startEvent=this.lastMoveEvent),E&&E(this.lastMoveEvent,b)},this.handlePointerMove=(b,w)=>{this.lastMoveEvent=b,this.lastMoveEventInfo=pc(w,this.transformPagePoint),Me.update(this.updatePoint,!0)},this.handlePointerUp=(b,w)=>{this.end();const{onEnd:_,onSessionEnd:j,resumeAnimation:M}=this.handlers;if(this.dragSnapToOrigin&&M&&M(),!(this.lastMoveEvent&&this.lastMoveEventInfo))return;const S=fc(b.type==="pointercancel"?this.lastMoveEventInfo:pc(w,this.transformPagePoint),this.history);this.startEvent&&_&&_(b,S),j&&j(b,S)},!Cu(n))return;this.dragSnapToOrigin=u,this.handlers=i,this.transformPagePoint=s,this.contextWindow=l||window;const h=lr(n),f=pc(h,this.transformPagePoint),{point:m}=f,{timestamp:g}=tt;this.history=[{...m,timestamp:g}];const{onSessionStart:y}=i;y&&y(n,fc(f,this.history)),this.removeListeners=or(Gi(this.contextWindow,"pointermove",this.handlePointerMove),Gi(this.contextWindow,"pointerup",this.handlePointerUp),Gi(this.contextWindow,"pointercancel",this.handlePointerUp))}updateHandlers(n){this.handlers=n}end(){this.removeListeners&&this.removeListeners(),Ha(this.updatePoint)}}function pc(t,n){return n?{point:n(t.point)}:t}function Df(t,n){return{x:t.x-n.x,y:t.y-n.y}}function fc({point:t},n){return{point:t,delta:Df(t,by(n)),offset:Df(t,_k(n)),velocity:Tk(n,.1)}}function _k(t){return t[0]}function by(t){return t[t.length-1]}function Tk(t,n){if(t.length<2)return{x:0,y:0};let i=t.length-1,s=null;const l=by(t);for(;i>=0&&(s=t[i],!(l.timestamp-s.timestamp>pa(n)));)i--;if(!s)return{x:0,y:0};const u=fa(l.timestamp-s.timestamp);if(u===0)return{x:0,y:0};const h={x:(l.x-s.x)/u,y:(l.y-s.y)/u};return h.x===1/0&&(h.x=0),h.y===1/0&&(h.y=0),h}const vy=1e-4,Ik=1-vy,Mk=1+vy,wy=.01,Sk=0-wy,jk=0+wy;function It(t){return t.max-t.min}function Ck(t,n,i){return Math.abs(t-n)<=i}function Af(t,n,i,s=.5){t.origin=s,t.originPoint=Ne(n.min,n.max,t.origin),t.scale=It(i)/It(n),t.translate=Ne(i.min,i.max,t.origin)-t.originPoint,(t.scale>=Ik&&t.scale<=Mk||isNaN(t.scale))&&(t.scale=1),(t.translate>=Sk&&t.translate<=jk||isNaN(t.translate))&&(t.translate=0)}function Yi(t,n,i,s){Af(t.x,n.x,i.x,s?s.originX:void 0),Af(t.y,n.y,i.y,s?s.originY:void 0)}function Nf(t,n,i){t.min=i.min+n.min,t.max=t.min+It(n)}function Pk(t,n,i){Nf(t.x,n.x,i.x),Nf(t.y,n.y,i.y)}function Rf(t,n,i){t.min=n.min-i.min,t.max=t.min+It(n)}function Zi(t,n,i){Rf(t.x,n.x,i.x),Rf(t.y,n.y,i.y)}function Ek(t,{min:n,max:i},s){return n!==void 0&&t<n?t=s?Ne(n,t,s.min):Math.max(t,n):i!==void 0&&t>i&&(t=s?Ne(i,t,s.max):Math.min(t,i)),t}function Kf(t,n,i){return{min:n!==void 0?t.min+n:void 0,max:i!==void 0?t.max+i-(t.max-t.min):void 0}}function Dk(t,{top:n,left:i,bottom:s,right:l}){return{x:Kf(t.x,i,l),y:Kf(t.y,n,s)}}function Lf(t,n){let i=n.min-t.min,s=n.max-t.max;return n.max-n.min<t.max-t.min&&([i,s]=[s,i]),{min:i,max:s}}function Ak(t,n){return{x:Lf(t.x,n.x),y:Lf(t.y,n.y)}}function Nk(t,n){let i=.5;const s=It(t),l=It(n);return l>s?i=$n(n.min,n.max-s,t.min):s>l&&(i=$n(t.min,t.max-l,n.min)),ga(0,1,i)}function Rk(t,n){const i={};return n.min!==void 0&&(i.min=n.min-t.min),n.max!==void 0&&(i.max=n.max-t.min),i}const Wc=.35;function Kk(t=Wc){return t===!1?t=0:t===!0&&(t=Wc),{x:Of(t,"left","right"),y:Of(t,"top","bottom")}}function Of(t,n,i){return{min:Bf(t,n),max:Bf(t,i)}}function Bf(t,n){return typeof t=="number"?t:t[n]||0}const Ff=()=>({translate:0,scale:1,origin:0,originPoint:0}),Hn=()=>({x:Ff(),y:Ff()}),Wf=()=>({min:0,max:0}),We=()=>({x:Wf(),y:Wf()});function Rt(t){return[t("x"),t("y")]}function xy({top:t,left:n,right:i,bottom:s}){return{x:{min:n,max:i},y:{min:t,max:s}}}function Lk({x:t,y:n}){return{top:n.min,right:t.max,bottom:n.max,left:t.min}}function Ok(t,n){if(!n)return t;const i=n({x:t.left,y:t.top}),s=n({x:t.right,y:t.bottom});return{top:i.y,left:i.x,bottom:s.y,right:s.x}}function mc(t){return t===void 0||t===1}function Hc({scale:t,scaleX:n,scaleY:i}){return!mc(t)||!mc(n)||!mc(i)}function on(t){return Hc(t)||ky(t)||t.z||t.rotate||t.rotateX||t.rotateY||t.skewX||t.skewY}function ky(t){return Hf(t.x)||Hf(t.y)}function Hf(t){return t&&t!=="0%"}function Bs(t,n,i){const s=t-i,l=n*s;return i+l}function zf(t,n,i,s,l){return l!==void 0&&(t=Bs(t,l,s)),Bs(t,i,s)+n}function zc(t,n=0,i=1,s,l){t.min=zf(t.min,n,i,s,l),t.max=zf(t.max,n,i,s,l)}function _y(t,{x:n,y:i}){zc(t.x,n.translate,n.scale,n.originPoint),zc(t.y,i.translate,i.scale,i.originPoint)}const Vf=.999999999999,qf=1.0000000000001;function Bk(t,n,i,s=!1){const l=i.length;if(!l)return;n.x=n.y=1;let u,h;for(let f=0;f<l;f++){u=i[f],h=u.projectionDelta;const{visualElement:m}=u.options;m&&m.props.style&&m.props.style.display==="contents"||(s&&u.options.layoutScroll&&u.scroll&&u!==u.root&&Vn(t,{x:-u.scroll.offset.x,y:-u.scroll.offset.y}),h&&(n.x*=h.x.scale,n.y*=h.y.scale,_y(t,h)),s&&on(u.latestValues)&&Vn(t,u.latestValues))}n.x<qf&&n.x>Vf&&(n.x=1),n.y<qf&&n.y>Vf&&(n.y=1)}function zn(t,n){t.min=t.min+n,t.max=t.max+n}function $f(t,n,i,s,l=.5){const u=Ne(t.min,t.max,l);zc(t,n,i,u,s)}function Vn(t,n){$f(t.x,n.x,n.scaleX,n.scale,n.originX),$f(t.y,n.y,n.scaleY,n.scale,n.originY)}function Ty(t,n){return xy(Ok(t.getBoundingClientRect(),n))}function Fk(t,n,i){const s=Ty(t,i),{scroll:l}=n;return l&&(zn(s.x,l.offset.x),zn(s.y,l.offset.y)),s}const Iy=({current:t})=>t?t.ownerDocument.defaultView:null,Wk=new WeakMap;class Hk{constructor(n){this.openDragLock=null,this.isDragging=!1,this.currentDirection=null,this.originPoint={x:0,y:0},this.constraints=!1,this.hasMutatedConstraints=!1,this.elastic=We(),this.visualElement=n}start(n,{snapToCursor:i=!1}={}){const{presenceContext:s}=this.visualElement;if(s&&s.isPresent===!1)return;const l=y=>{const{dragSnapToOrigin:b}=this.getProps();b?this.pauseAnimation():this.stopAnimation(),i&&this.snapToCursor(lr(y).point)},u=(y,b)=>{const{drag:w,dragPropagation:_,onDragStart:j}=this.getProps();if(w&&!_&&(this.openDragLock&&this.openDragLock(),this.openDragLock=Nx(w),!this.openDragLock))return;this.isDragging=!0,this.currentDirection=null,this.resolveConstraints(),this.visualElement.projection&&(this.visualElement.projection.isAnimationBlocked=!0,this.visualElement.projection.target=void 0),Rt(S=>{let E=this.getAxisMotionValue(S).get()||0;if(aa.test(E)){const{projection:R}=this.visualElement;if(R&&R.layout){const K=R.layout.layoutBox[S];K&&(E=It(K)*(parseFloat(E)/100))}}this.originPoint[S]=E}),j&&Me.postRender(()=>j(y,b)),Ac(this.visualElement,"transform");const{animationState:M}=this.visualElement;M&&M.setActive("whileDrag",!0)},h=(y,b)=>{const{dragPropagation:w,dragDirectionLock:_,onDirectionLock:j,onDrag:M}=this.getProps();if(!w&&!this.openDragLock)return;const{offset:S}=b;if(_&&this.currentDirection===null){this.currentDirection=zk(S),this.currentDirection!==null&&j&&j(this.currentDirection);return}this.updateAxis("x",b.point,S),this.updateAxis("y",b.point,S),this.visualElement.render(),M&&M(y,b)},f=(y,b)=>this.stop(y,b),m=()=>Rt(y=>{var b;return this.getAnimationState(y)==="paused"&&((b=this.getAxisMotionValue(y).animation)===null||b===void 0?void 0:b.play())}),{dragSnapToOrigin:g}=this.getProps();this.panSession=new yy(n,{onSessionStart:l,onStart:u,onMove:h,onSessionEnd:f,resumeAnimation:m},{transformPagePoint:this.visualElement.getTransformPagePoint(),dragSnapToOrigin:g,contextWindow:Iy(this.visualElement)})}stop(n,i){const s=this.isDragging;if(this.cancel(),!s)return;const{velocity:l}=i;this.startAnimation(l);const{onDragEnd:u}=this.getProps();u&&Me.postRender(()=>u(n,i))}cancel(){this.isDragging=!1;const{projection:n,animationState:i}=this.visualElement;n&&(n.isAnimationBlocked=!1),this.panSession&&this.panSession.end(),this.panSession=void 0;const{dragPropagation:s}=this.getProps();!s&&this.openDragLock&&(this.openDragLock(),this.openDragLock=null),i&&i.setActive("whileDrag",!1)}updateAxis(n,i,s){const{drag:l}=this.getProps();if(!s||!Ts(n,l,this.currentDirection))return;const u=this.getAxisMotionValue(n);let h=this.originPoint[n]+s[n];this.constraints&&this.constraints[n]&&(h=Ek(h,this.constraints[n],this.elastic[n])),u.set(h)}resolveConstraints(){var n;const{dragConstraints:i,dragElastic:s}=this.getProps(),l=this.visualElement.projection&&!this.visualElement.projection.layout?this.visualElement.projection.measure(!1):(n=this.visualElement.projection)===null||n===void 0?void 0:n.layout,u=this.constraints;i&&Fn(i)?this.constraints||(this.constraints=this.resolveRefConstraints()):i&&l?this.constraints=Dk(l.layoutBox,i):this.constraints=!1,this.elastic=Kk(s),u!==this.constraints&&l&&this.constraints&&!this.hasMutatedConstraints&&Rt(h=>{this.constraints!==!1&&this.getAxisMotionValue(h)&&(this.constraints[h]=Rk(l.layoutBox[h],this.constraints[h]))})}resolveRefConstraints(){const{dragConstraints:n,onMeasureDragConstraints:i}=this.getProps();if(!n||!Fn(n))return!1;const s=n.current,{projection:l}=this.visualElement;if(!l||!l.layout)return!1;const u=Fk(s,l.root,this.visualElement.getTransformPagePoint());let h=Ak(l.layout.layoutBox,u);if(i){const f=i(Lk(h));this.hasMutatedConstraints=!!f,f&&(h=xy(f))}return h}startAnimation(n){const{drag:i,dragMomentum:s,dragElastic:l,dragTransition:u,dragSnapToOrigin:h,onDragTransitionEnd:f}=this.getProps(),m=this.constraints||{},g=Rt(y=>{if(!Ts(y,i,this.currentDirection))return;let b=m&&m[y]||{};h&&(b={min:0,max:0});const w=l?200:1e6,_=l?40:1e7,j={type:"inertia",velocity:s?n[y]:0,bounceStiffness:w,bounceDamping:_,timeConstant:750,restDelta:1,restSpeed:10,...u,...b};return this.startAxisValueAnimation(y,j)});return Promise.all(g).then(f)}startAxisValueAnimation(n,i){const s=this.getAxisMotionValue(n);return Ac(this.visualElement,n),s.start(Wu(n,s,0,i,this.visualElement,!1))}stopAnimation(){Rt(n=>this.getAxisMotionValue(n).stop())}pauseAnimation(){Rt(n=>{var i;return(i=this.getAxisMotionValue(n).animation)===null||i===void 0?void 0:i.pause()})}getAnimationState(n){var i;return(i=this.getAxisMotionValue(n).animation)===null||i===void 0?void 0:i.state}getAxisMotionValue(n){const i=`_drag${n.toUpperCase()}`,s=this.visualElement.getProps(),l=s[i];return l||this.visualElement.getValue(n,(s.initial?s.initial[n]:void 0)||0)}snapToCursor(n){Rt(i=>{const{drag:s}=this.getProps();if(!Ts(i,s,this.currentDirection))return;const{projection:l}=this.visualElement,u=this.getAxisMotionValue(i);if(l&&l.layout){const{min:h,max:f}=l.layout.layoutBox[i];u.set(n[i]-Ne(h,f,.5))}})}scalePositionWithinConstraints(){if(!this.visualElement.current)return;const{drag:n,dragConstraints:i}=this.getProps(),{projection:s}=this.visualElement;if(!Fn(i)||!s||!this.constraints)return;this.stopAnimation();const l={x:0,y:0};Rt(h=>{const f=this.getAxisMotionValue(h);if(f&&this.constraints!==!1){const m=f.get();l[h]=Nk({min:m,max:m},this.constraints[h])}});const{transformTemplate:u}=this.visualElement.getProps();this.visualElement.current.style.transform=u?u({},""):"none",s.root&&s.root.updateScroll(),s.updateLayout(),this.resolveConstraints(),Rt(h=>{if(!Ts(h,n,null))return;const f=this.getAxisMotionValue(h),{min:m,max:g}=this.constraints[h];f.set(Ne(m,g,l[h]))})}addListeners(){if(!this.visualElement.current)return;Wk.set(this.visualElement,this);const n=this.visualElement.current,i=Gi(n,"pointerdown",m=>{const{drag:g,dragListener:y=!0}=this.getProps();g&&y&&this.start(m)}),s=()=>{const{dragConstraints:m}=this.getProps();Fn(m)&&m.current&&(this.constraints=this.resolveRefConstraints())},{projection:l}=this.visualElement,u=l.addEventListener("measure",s);l&&!l.layout&&(l.root&&l.root.updateScroll(),l.updateLayout()),Me.read(s);const h=ar(window,"resize",()=>this.scalePositionWithinConstraints()),f=l.addEventListener("didUpdate",(({delta:m,hasLayoutChanged:g})=>{this.isDragging&&g&&(Rt(y=>{const b=this.getAxisMotionValue(y);b&&(this.originPoint[y]+=m[y].translate,b.set(b.get()+m[y].translate))}),this.visualElement.render())}));return()=>{h(),i(),u(),f&&f()}}getProps(){const n=this.visualElement.getProps(),{drag:i=!1,dragDirectionLock:s=!1,dragPropagation:l=!1,dragConstraints:u=!1,dragElastic:h=Wc,dragMomentum:f=!0}=n;return{...n,drag:i,dragDirectionLock:s,dragPropagation:l,dragConstraints:u,dragElastic:h,dragMomentum:f}}}function Ts(t,n,i){return(n===!0||n===t)&&(i===null||i===t)}function zk(t,n=10){let i=null;return Math.abs(t.y)>n?i="y":Math.abs(t.x)>n&&(i="x"),i}class Vk extends qa{constructor(n){super(n),this.removeGroupControls=bt,this.removeListeners=bt,this.controls=new Hk(n)}mount(){const{dragControls:n}=this.node.getProps();n&&(this.removeGroupControls=n.subscribe(this.controls)),this.removeListeners=this.controls.addListeners()||bt}unmount(){this.removeGroupControls(),this.removeListeners()}}const Uf=t=>(n,i)=>{t&&Me.postRender(()=>t(n,i))};class qk extends qa{constructor(){super(...arguments),this.removePointerDownListener=bt}onPointerDown(n){this.session=new yy(n,this.createPanHandlers(),{transformPagePoint:this.node.getTransformPagePoint(),contextWindow:Iy(this.node)})}createPanHandlers(){const{onPanSessionStart:n,onPanStart:i,onPan:s,onPanEnd:l}=this.node.getProps();return{onSessionStart:Uf(n),onStart:Uf(i),onMove:s,onEnd:(u,h)=>{delete this.session,l&&Me.postRender(()=>l(u,h))}}}mount(){this.removePointerDownListener=Gi(this.node.current,"pointerdown",n=>this.onPointerDown(n))}update(){this.session&&this.session.updateHandlers(this.createPanHandlers())}unmount(){this.removePointerDownListener(),this.session&&this.session.end()}}const Cs={hasAnimatedSinceResize:!0,hasEverUpdated:!1};function Gf(t,n){return n.max===n.min?0:t/(n.max-n.min)*100}const Wi={correct:(t,n)=>{if(!n.target)return t;if(typeof t=="string")if(ie.test(t))t=parseFloat(t);else return t;const i=Gf(t,n.target.x),s=Gf(t,n.target.y);return`${i}% ${s}%`}},$k={correct:(t,{treeScale:n,projectionDelta:i})=>{const s=t,l=za.parse(t);if(l.length>5)return s;const u=za.createTransformer(t),h=typeof l[0]!="number"?1:0,f=i.x.scale*n.x,m=i.y.scale*n.y;l[0+h]/=f,l[1+h]/=m;const g=Ne(f,m,.5);return typeof l[2+h]=="number"&&(l[2+h]/=g),typeof l[3+h]=="number"&&(l[3+h]/=g),u(l)}};class Uk extends x.Component{componentDidMount(){const{visualElement:n,layoutGroup:i,switchLayoutGroup:s,layoutId:l}=this.props,{projection:u}=n;fx(Gk),u&&(i.group&&i.group.add(u),s&&s.register&&l&&s.register(u),u.root.didUpdate(),u.addEventListener("animationComplete",()=>{this.safeToRemove()}),u.setOptions({...u.options,onExitComplete:()=>this.safeToRemove()})),Cs.hasEverUpdated=!0}getSnapshotBeforeUpdate(n){const{layoutDependency:i,visualElement:s,drag:l,isPresent:u}=this.props,h=s.projection;return h&&(h.isPresent=u,l||n.layoutDependency!==i||i===void 0?h.willUpdate():this.safeToRemove(),n.isPresent!==u&&(u?h.promote():h.relegate()||Me.postRender(()=>{const f=h.getStack();(!f||!f.members.length)&&this.safeToRemove()}))),null}componentDidUpdate(){const{projection:n}=this.props.visualElement;n&&(n.root.didUpdate(),gu.postRender(()=>{!n.currentAnimation&&n.isLead()&&this.safeToRemove()}))}componentWillUnmount(){const{visualElement:n,layoutGroup:i,switchLayoutGroup:s}=this.props,{projection:l}=n;l&&(l.scheduleCheckAfterUnmount(),i&&i.group&&i.group.remove(l),s&&s.deregister&&s.deregister(l))}safeToRemove(){const{safeToRemove:n}=this.props;n&&n()}render(){return null}}function My(t){const[n,i]=og(),s=x.useContext(lu);return d.jsx(Uk,{...t,layoutGroup:s,switchLayoutGroup:x.useContext(mg),isPresent:n,safeToRemove:i})}const Gk={borderRadius:{...Wi,applyTo:["borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius"]},borderTopLeftRadius:Wi,borderTopRightRadius:Wi,borderBottomLeftRadius:Wi,borderBottomRightRadius:Wi,boxShadow:$k};function Yk(t,n,i){const s=ot(t)?t:er(t);return s.start(Wu("",s,n,i)),s.animation}function Zk(t){return t instanceof SVGElement&&t.tagName!=="svg"}const Jk=(t,n)=>t.depth-n.depth;class Xk{constructor(){this.children=[],this.isDirty=!1}add(n){Pu(this.children,n),this.isDirty=!0}remove(n){Eu(this.children,n),this.isDirty=!0}forEach(n){this.isDirty&&this.children.sort(Jk),this.isDirty=!1,this.children.forEach(n)}}function Qk(t,n){const i=na.now(),s=({timestamp:l})=>{const u=l-i;u>=n&&(Ha(s),t(u-n))};return Me.read(s,!0),()=>Ha(s)}const Sy=["TopLeft","TopRight","BottomLeft","BottomRight"],e5=Sy.length,Yf=t=>typeof t=="string"?parseFloat(t):t,Zf=t=>typeof t=="number"||ie.test(t);function t5(t,n,i,s,l,u){l?(t.opacity=Ne(0,i.opacity!==void 0?i.opacity:1,a5(s)),t.opacityExit=Ne(n.opacity!==void 0?n.opacity:1,0,n5(s))):u&&(t.opacity=Ne(n.opacity!==void 0?n.opacity:1,i.opacity!==void 0?i.opacity:1,s));for(let h=0;h<e5;h++){const f=`border${Sy[h]}Radius`;let m=Jf(n,f),g=Jf(i,f);if(m===void 0&&g===void 0)continue;m||(m=0),g||(g=0),m===0||g===0||Zf(m)===Zf(g)?(t[f]=Math.max(Ne(Yf(m),Yf(g),s),0),(aa.test(g)||aa.test(m))&&(t[f]+="%")):t[f]=g}(n.rotate||i.rotate)&&(t.rotate=Ne(n.rotate||0,i.rotate||0,s))}function Jf(t,n){return t[n]!==void 0?t[n]:t.borderRadius}const a5=jy(0,.5,$g),n5=jy(.5,.95,bt);function jy(t,n,i){return s=>s<t?0:s>n?1:i($n(t,n,s))}function Xf(t,n){t.min=n.min,t.max=n.max}function At(t,n){Xf(t.x,n.x),Xf(t.y,n.y)}function Qf(t,n){t.translate=n.translate,t.scale=n.scale,t.originPoint=n.originPoint,t.origin=n.origin}function em(t,n,i,s,l){return t-=n,t=Bs(t,1/i,s),l!==void 0&&(t=Bs(t,1/l,s)),t}function i5(t,n=0,i=1,s=.5,l,u=t,h=t){if(aa.test(n)&&(n=parseFloat(n),n=Ne(h.min,h.max,n/100)-h.min),typeof n!="number")return;let f=Ne(u.min,u.max,s);t===u&&(f-=n),t.min=em(t.min,n,i,f,l),t.max=em(t.max,n,i,f,l)}function tm(t,n,[i,s,l],u,h){i5(t,n[i],n[s],n[l],n.scale,u,h)}const r5=["x","scaleX","originX"],s5=["y","scaleY","originY"];function am(t,n,i,s){tm(t.x,n,r5,i?i.x:void 0,s?s.x:void 0),tm(t.y,n,s5,i?i.y:void 0,s?s.y:void 0)}function nm(t){return t.translate===0&&t.scale===1}function Cy(t){return nm(t.x)&&nm(t.y)}function im(t,n){return t.min===n.min&&t.max===n.max}function o5(t,n){return im(t.x,n.x)&&im(t.y,n.y)}function rm(t,n){return Math.round(t.min)===Math.round(n.min)&&Math.round(t.max)===Math.round(n.max)}function Py(t,n){return rm(t.x,n.x)&&rm(t.y,n.y)}function sm(t){return It(t.x)/It(t.y)}function om(t,n){return t.translate===n.translate&&t.scale===n.scale&&t.originPoint===n.originPoint}class l5{constructor(){this.members=[]}add(n){Pu(this.members,n),n.scheduleRender()}remove(n){if(Eu(this.members,n),n===this.prevLead&&(this.prevLead=void 0),n===this.lead){const i=this.members[this.members.length-1];i&&this.promote(i)}}relegate(n){const i=this.members.findIndex(l=>n===l);if(i===0)return!1;let s;for(let l=i;l>=0;l--){const u=this.members[l];if(u.isPresent!==!1){s=u;break}}return s?(this.promote(s),!0):!1}promote(n,i){const s=this.lead;if(n!==s&&(this.prevLead=s,this.lead=n,n.show(),s)){s.instance&&s.scheduleRender(),n.scheduleRender(),n.resumeFrom=s,i&&(n.resumeFrom.preserveOpacity=!0),s.snapshot&&(n.snapshot=s.snapshot,n.snapshot.latestValues=s.animationValues||s.latestValues),n.root&&n.root.isUpdating&&(n.isLayoutDirty=!0);const{crossfade:l}=n.options;l===!1&&s.hide()}}exitAnimationComplete(){this.members.forEach(n=>{const{options:i,resumingFrom:s}=n;i.onExitComplete&&i.onExitComplete(),s&&s.options.onExitComplete&&s.options.onExitComplete()})}scheduleRender(){this.members.forEach(n=>{n.instance&&n.scheduleRender(!1)})}removeLeadSnapshot(){this.lead&&this.lead.snapshot&&(this.lead.snapshot=void 0)}}function c5(t,n,i){let s="";const l=t.x.translate/n.x,u=t.y.translate/n.y,h=(i==null?void 0:i.z)||0;if((l||u||h)&&(s=`translate3d(${l}px, ${u}px, ${h}px) `),(n.x!==1||n.y!==1)&&(s+=`scale(${1/n.x}, ${1/n.y}) `),i){const{transformPerspective:g,rotate:y,rotateX:b,rotateY:w,skewX:_,skewY:j}=i;g&&(s=`perspective(${g}px) ${s}`),y&&(s+=`rotate(${y}deg) `),b&&(s+=`rotateX(${b}deg) `),w&&(s+=`rotateY(${w}deg) `),_&&(s+=`skewX(${_}deg) `),j&&(s+=`skewY(${j}deg) `)}const f=t.x.scale*n.x,m=t.y.scale*n.y;return(f!==1||m!==1)&&(s+=`scale(${f}, ${m})`),s||"none"}const ln={type:"projectionFrame",totalNodes:0,resolvedTargetDeltas:0,recalculatedProjection:0},qi=typeof window<"u"&&window.MotionDebug!==void 0,gc=["","X","Y","Z"],u5={visibility:"hidden"},lm=1e3;let d5=0;function yc(t,n,i,s){const{latestValues:l}=n;l[t]&&(i[t]=l[t],n.setStaticValue(t,0),s&&(s[t]=0))}function Ey(t){if(t.hasCheckedOptimisedAppear=!0,t.root===t)return;const{visualElement:n}=t.options;if(!n)return;const i=Bg(n);if(window.MotionHasOptimisedAnimation(i,"transform")){const{layout:l,layoutId:u}=t.options;window.MotionCancelOptimisedAnimation(i,"transform",Me,!(l||u))}const{parent:s}=t;s&&!s.hasCheckedOptimisedAppear&&Ey(s)}function Dy({attachResizeListener:t,defaultParent:n,measureScroll:i,checkIsScrollRoot:s,resetTransform:l}){return class{constructor(h={},f=n==null?void 0:n()){this.id=d5++,this.animationId=0,this.children=new Set,this.options={},this.isTreeAnimating=!1,this.isAnimationBlocked=!1,this.isLayoutDirty=!1,this.isProjectionDirty=!1,this.isSharedProjectionDirty=!1,this.isTransformDirty=!1,this.updateManuallyBlocked=!1,this.updateBlockedByResize=!1,this.isUpdating=!1,this.isSVG=!1,this.needsReset=!1,this.shouldResetTransform=!1,this.hasCheckedOptimisedAppear=!1,this.treeScale={x:1,y:1},this.eventHandlers=new Map,this.hasTreeAnimated=!1,this.updateScheduled=!1,this.scheduleUpdate=()=>this.update(),this.projectionUpdateScheduled=!1,this.checkUpdateFailed=()=>{this.isUpdating&&(this.isUpdating=!1,this.clearAllSnapshots())},this.updateProjection=()=>{this.projectionUpdateScheduled=!1,qi&&(ln.totalNodes=ln.resolvedTargetDeltas=ln.recalculatedProjection=0),this.nodes.forEach(f5),this.nodes.forEach(v5),this.nodes.forEach(w5),this.nodes.forEach(m5),qi&&window.MotionDebug.record(ln)},this.resolvedRelativeTargetAt=0,this.hasProjected=!1,this.isVisible=!0,this.animationProgress=0,this.sharedNodes=new Map,this.latestValues=h,this.root=f?f.root||f:this,this.path=f?[...f.path,f]:[],this.parent=f,this.depth=f?f.depth+1:0;for(let m=0;m<this.path.length;m++)this.path[m].shouldResetTransform=!0;this.root===this&&(this.nodes=new Xk)}addEventListener(h,f){return this.eventHandlers.has(h)||this.eventHandlers.set(h,new Du),this.eventHandlers.get(h).add(f)}notifyListeners(h,...f){const m=this.eventHandlers.get(h);m&&m.notify(...f)}hasListeners(h){return this.eventHandlers.has(h)}mount(h,f=this.root.hasTreeAnimated){if(this.instance)return;this.isSVG=Zk(h),this.instance=h;const{layoutId:m,layout:g,visualElement:y}=this.options;if(y&&!y.current&&y.mount(h),this.root.nodes.add(this),this.parent&&this.parent.children.add(this),f&&(g||m)&&(this.isLayoutDirty=!0),t){let b;const w=()=>this.root.updateBlockedByResize=!1;t(h,()=>{this.root.updateBlockedByResize=!0,b&&b(),b=Qk(w,250),Cs.hasAnimatedSinceResize&&(Cs.hasAnimatedSinceResize=!1,this.nodes.forEach(um))})}m&&this.root.registerSharedNode(m,this),this.options.animate!==!1&&y&&(m||g)&&this.addEventListener("didUpdate",({delta:b,hasLayoutChanged:w,hasRelativeTargetChanged:_,layout:j})=>{if(this.isTreeAnimationBlocked()){this.target=void 0,this.relativeTarget=void 0;return}const M=this.options.transition||y.getDefaultTransition()||I5,{onLayoutAnimationStart:S,onLayoutAnimationComplete:E}=y.getProps(),R=!this.targetLayout||!Py(this.targetLayout,j)||_,K=!w&&_;if(this.options.layoutRoot||this.resumeFrom&&this.resumeFrom.instance||K||w&&(R||!this.currentAnimation)){this.resumeFrom&&(this.resumingFrom=this.resumeFrom,this.resumingFrom.resumingFrom=void 0),this.setAnimationOrigin(b,K);const W={...Mu(M,"layout"),onPlay:S,onComplete:E};(y.shouldReduceMotion||this.options.layoutRoot)&&(W.delay=0,W.type=!1),this.startAnimation(W)}else w||um(this),this.isLead()&&this.options.onExitComplete&&this.options.onExitComplete();this.targetLayout=j})}unmount(){this.options.layoutId&&this.willUpdate(),this.root.nodes.remove(this);const h=this.getStack();h&&h.remove(this),this.parent&&this.parent.children.delete(this),this.instance=void 0,Ha(this.updateProjection)}blockUpdate(){this.updateManuallyBlocked=!0}unblockUpdate(){this.updateManuallyBlocked=!1}isUpdateBlocked(){return this.updateManuallyBlocked||this.updateBlockedByResize}isTreeAnimationBlocked(){return this.isAnimationBlocked||this.parent&&this.parent.isTreeAnimationBlocked()||!1}startUpdate(){this.isUpdateBlocked()||(this.isUpdating=!0,this.nodes&&this.nodes.forEach(x5),this.animationId++)}getTransformTemplate(){const{visualElement:h}=this.options;return h&&h.getProps().transformTemplate}willUpdate(h=!0){if(this.root.hasTreeAnimated=!0,this.root.isUpdateBlocked()){this.options.onExitComplete&&this.options.onExitComplete();return}if(window.MotionCancelOptimisedAnimation&&!this.hasCheckedOptimisedAppear&&Ey(this),!this.root.isUpdating&&this.root.startUpdate(),this.isLayoutDirty)return;this.isLayoutDirty=!0;for(let y=0;y<this.path.length;y++){const b=this.path[y];b.shouldResetTransform=!0,b.updateScroll("snapshot"),b.options.layoutRoot&&b.willUpdate(!1)}const{layoutId:f,layout:m}=this.options;if(f===void 0&&!m)return;const g=this.getTransformTemplate();this.prevTransformTemplateValue=g?g(this.latestValues,""):void 0,this.updateSnapshot(),h&&this.notifyListeners("willUpdate")}update(){if(this.updateScheduled=!1,this.isUpdateBlocked()){this.unblockUpdate(),this.clearAllSnapshots(),this.nodes.forEach(cm);return}this.isUpdating||this.nodes.forEach(y5),this.isUpdating=!1,this.nodes.forEach(b5),this.nodes.forEach(h5),this.nodes.forEach(p5),this.clearAllSnapshots();const f=na.now();tt.delta=ga(0,1e3/60,f-tt.timestamp),tt.timestamp=f,tt.isProcessing=!0,oc.update.process(tt),oc.preRender.process(tt),oc.render.process(tt),tt.isProcessing=!1}didUpdate(){this.updateScheduled||(this.updateScheduled=!0,gu.read(this.scheduleUpdate))}clearAllSnapshots(){this.nodes.forEach(g5),this.sharedNodes.forEach(k5)}scheduleUpdateProjection(){this.projectionUpdateScheduled||(this.projectionUpdateScheduled=!0,Me.preRender(this.updateProjection,!1,!0))}scheduleCheckAfterUnmount(){Me.postRender(()=>{this.isLayoutDirty?this.root.didUpdate():this.root.checkUpdateFailed()})}updateSnapshot(){this.snapshot||!this.instance||(this.snapshot=this.measure())}updateLayout(){if(!this.instance||(this.updateScroll(),!(this.options.alwaysMeasureLayout&&this.isLead())&&!this.isLayoutDirty))return;if(this.resumeFrom&&!this.resumeFrom.instance)for(let m=0;m<this.path.length;m++)this.path[m].updateScroll();const h=this.layout;this.layout=this.measure(!1),this.layoutCorrected=We(),this.isLayoutDirty=!1,this.projectionDelta=void 0,this.notifyListeners("measure",this.layout.layoutBox);const{visualElement:f}=this.options;f&&f.notify("LayoutMeasure",this.layout.layoutBox,h?h.layoutBox:void 0)}updateScroll(h="measure"){let f=!!(this.options.layoutScroll&&this.instance);if(this.scroll&&this.scroll.animationId===this.root.animationId&&this.scroll.phase===h&&(f=!1),f){const m=s(this.instance);this.scroll={animationId:this.root.animationId,phase:h,isRoot:m,offset:i(this.instance),wasRoot:this.scroll?this.scroll.isRoot:m}}}resetTransform(){if(!l)return;const h=this.isLayoutDirty||this.shouldResetTransform||this.options.alwaysMeasureLayout,f=this.projectionDelta&&!Cy(this.projectionDelta),m=this.getTransformTemplate(),g=m?m(this.latestValues,""):void 0,y=g!==this.prevTransformTemplateValue;h&&(f||on(this.latestValues)||y)&&(l(this.instance,g),this.shouldResetTransform=!1,this.scheduleRender())}measure(h=!0){const f=this.measurePageBox();let m=this.removeElementScroll(f);return h&&(m=this.removeTransform(m)),M5(m),{animationId:this.root.animationId,measuredBox:f,layoutBox:m,latestValues:{},source:this.id}}measurePageBox(){var h;const{visualElement:f}=this.options;if(!f)return We();const m=f.measureViewportBox();if(!(((h=this.scroll)===null||h===void 0?void 0:h.wasRoot)||this.path.some(S5))){const{scroll:y}=this.root;y&&(zn(m.x,y.offset.x),zn(m.y,y.offset.y))}return m}removeElementScroll(h){var f;const m=We();if(At(m,h),!((f=this.scroll)===null||f===void 0)&&f.wasRoot)return m;for(let g=0;g<this.path.length;g++){const y=this.path[g],{scroll:b,options:w}=y;y!==this.root&&b&&w.layoutScroll&&(b.wasRoot&&At(m,h),zn(m.x,b.offset.x),zn(m.y,b.offset.y))}return m}applyTransform(h,f=!1){const m=We();At(m,h);for(let g=0;g<this.path.length;g++){const y=this.path[g];!f&&y.options.layoutScroll&&y.scroll&&y!==y.root&&Vn(m,{x:-y.scroll.offset.x,y:-y.scroll.offset.y}),on(y.latestValues)&&Vn(m,y.latestValues)}return on(this.latestValues)&&Vn(m,this.latestValues),m}removeTransform(h){const f=We();At(f,h);for(let m=0;m<this.path.length;m++){const g=this.path[m];if(!g.instance||!on(g.latestValues))continue;Hc(g.latestValues)&&g.updateSnapshot();const y=We(),b=g.measurePageBox();At(y,b),am(f,g.latestValues,g.snapshot?g.snapshot.layoutBox:void 0,y)}return on(this.latestValues)&&am(f,this.latestValues),f}setTargetDelta(h){this.targetDelta=h,this.root.scheduleUpdateProjection(),this.isProjectionDirty=!0}setOptions(h){this.options={...this.options,...h,crossfade:h.crossfade!==void 0?h.crossfade:!0}}clearMeasurements(){this.scroll=void 0,this.layout=void 0,this.snapshot=void 0,this.prevTransformTemplateValue=void 0,this.targetDelta=void 0,this.target=void 0,this.isLayoutDirty=!1}forceRelativeParentToResolveTarget(){this.relativeParent&&this.relativeParent.resolvedRelativeTargetAt!==tt.timestamp&&this.relativeParent.resolveTargetDelta(!0)}resolveTargetDelta(h=!1){var f;const m=this.getLead();this.isProjectionDirty||(this.isProjectionDirty=m.isProjectionDirty),this.isTransformDirty||(this.isTransformDirty=m.isTransformDirty),this.isSharedProjectionDirty||(this.isSharedProjectionDirty=m.isSharedProjectionDirty);const g=!!this.resumingFrom||this!==m;if(!(h||g&&this.isSharedProjectionDirty||this.isProjectionDirty||!((f=this.parent)===null||f===void 0)&&f.isProjectionDirty||this.attemptToResolveRelativeTarget||this.root.updateBlockedByResize))return;const{layout:b,layoutId:w}=this.options;if(!(!this.layout||!(b||w))){if(this.resolvedRelativeTargetAt=tt.timestamp,!this.targetDelta&&!this.relativeTarget){const _=this.getClosestProjectingParent();_&&_.layout&&this.animationProgress!==1?(this.relativeParent=_,this.forceRelativeParentToResolveTarget(),this.relativeTarget=We(),this.relativeTargetOrigin=We(),Zi(this.relativeTargetOrigin,this.layout.layoutBox,_.layout.layoutBox),At(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}if(!(!this.relativeTarget&&!this.targetDelta)){if(this.target||(this.target=We(),this.targetWithTransforms=We()),this.relativeTarget&&this.relativeTargetOrigin&&this.relativeParent&&this.relativeParent.target?(this.forceRelativeParentToResolveTarget(),Pk(this.target,this.relativeTarget,this.relativeParent.target)):this.targetDelta?(this.resumingFrom?this.target=this.applyTransform(this.layout.layoutBox):At(this.target,this.layout.layoutBox),_y(this.target,this.targetDelta)):At(this.target,this.layout.layoutBox),this.attemptToResolveRelativeTarget){this.attemptToResolveRelativeTarget=!1;const _=this.getClosestProjectingParent();_&&!!_.resumingFrom==!!this.resumingFrom&&!_.options.layoutScroll&&_.target&&this.animationProgress!==1?(this.relativeParent=_,this.forceRelativeParentToResolveTarget(),this.relativeTarget=We(),this.relativeTargetOrigin=We(),Zi(this.relativeTargetOrigin,this.target,_.target),At(this.relativeTarget,this.relativeTargetOrigin)):this.relativeParent=this.relativeTarget=void 0}qi&&ln.resolvedTargetDeltas++}}}getClosestProjectingParent(){if(!(!this.parent||Hc(this.parent.latestValues)||ky(this.parent.latestValues)))return this.parent.isProjecting()?this.parent:this.parent.getClosestProjectingParent()}isProjecting(){return!!((this.relativeTarget||this.targetDelta||this.options.layoutRoot)&&this.layout)}calcProjection(){var h;const f=this.getLead(),m=!!this.resumingFrom||this!==f;let g=!0;if((this.isProjectionDirty||!((h=this.parent)===null||h===void 0)&&h.isProjectionDirty)&&(g=!1),m&&(this.isSharedProjectionDirty||this.isTransformDirty)&&(g=!1),this.resolvedRelativeTargetAt===tt.timestamp&&(g=!1),g)return;const{layout:y,layoutId:b}=this.options;if(this.isTreeAnimating=!!(this.parent&&this.parent.isTreeAnimating||this.currentAnimation||this.pendingAnimation),this.isTreeAnimating||(this.targetDelta=this.relativeTarget=void 0),!this.layout||!(y||b))return;At(this.layoutCorrected,this.layout.layoutBox);const w=this.treeScale.x,_=this.treeScale.y;Bk(this.layoutCorrected,this.treeScale,this.path,m),f.layout&&!f.target&&(this.treeScale.x!==1||this.treeScale.y!==1)&&(f.target=f.layout.layoutBox,f.targetWithTransforms=We());const{target:j}=f;if(!j){this.prevProjectionDelta&&(this.createProjectionDeltas(),this.scheduleRender());return}!this.projectionDelta||!this.prevProjectionDelta?this.createProjectionDeltas():(Qf(this.prevProjectionDelta.x,this.projectionDelta.x),Qf(this.prevProjectionDelta.y,this.projectionDelta.y)),Yi(this.projectionDelta,this.layoutCorrected,j,this.latestValues),(this.treeScale.x!==w||this.treeScale.y!==_||!om(this.projectionDelta.x,this.prevProjectionDelta.x)||!om(this.projectionDelta.y,this.prevProjectionDelta.y))&&(this.hasProjected=!0,this.scheduleRender(),this.notifyListeners("projectionUpdate",j)),qi&&ln.recalculatedProjection++}hide(){this.isVisible=!1}show(){this.isVisible=!0}scheduleRender(h=!0){var f;if((f=this.options.visualElement)===null||f===void 0||f.scheduleRender(),h){const m=this.getStack();m&&m.scheduleRender()}this.resumingFrom&&!this.resumingFrom.instance&&(this.resumingFrom=void 0)}createProjectionDeltas(){this.prevProjectionDelta=Hn(),this.projectionDelta=Hn(),this.projectionDeltaWithTransform=Hn()}setAnimationOrigin(h,f=!1){const m=this.snapshot,g=m?m.latestValues:{},y={...this.latestValues},b=Hn();(!this.relativeParent||!this.relativeParent.options.layoutRoot)&&(this.relativeTarget=this.relativeTargetOrigin=void 0),this.attemptToResolveRelativeTarget=!f;const w=We(),_=m?m.source:void 0,j=this.layout?this.layout.source:void 0,M=_!==j,S=this.getStack(),E=!S||S.members.length<=1,R=!!(M&&!E&&this.options.crossfade===!0&&!this.path.some(T5));this.animationProgress=0;let K;this.mixTargetDelta=W=>{const N=W/1e3;dm(b.x,h.x,N),dm(b.y,h.y,N),this.setTargetDelta(b),this.relativeTarget&&this.relativeTargetOrigin&&this.layout&&this.relativeParent&&this.relativeParent.layout&&(Zi(w,this.layout.layoutBox,this.relativeParent.layout.layoutBox),_5(this.relativeTarget,this.relativeTargetOrigin,w,N),K&&o5(this.relativeTarget,K)&&(this.isProjectionDirty=!1),K||(K=We()),At(K,this.relativeTarget)),M&&(this.animationValues=y,t5(y,g,this.latestValues,N,R,E)),this.root.scheduleUpdateProjection(),this.scheduleRender(),this.animationProgress=N},this.mixTargetDelta(this.options.layoutRoot?1e3:0)}startAnimation(h){this.notifyListeners("animationStart"),this.currentAnimation&&this.currentAnimation.stop(),this.resumingFrom&&this.resumingFrom.currentAnimation&&this.resumingFrom.currentAnimation.stop(),this.pendingAnimation&&(Ha(this.pendingAnimation),this.pendingAnimation=void 0),this.pendingAnimation=Me.update(()=>{Cs.hasAnimatedSinceResize=!0,this.currentAnimation=Yk(0,lm,{...h,onUpdate:f=>{this.mixTargetDelta(f),h.onUpdate&&h.onUpdate(f)},onComplete:()=>{h.onComplete&&h.onComplete(),this.completeAnimation()}}),this.resumingFrom&&(this.resumingFrom.currentAnimation=this.currentAnimation),this.pendingAnimation=void 0})}completeAnimation(){this.resumingFrom&&(this.resumingFrom.currentAnimation=void 0,this.resumingFrom.preserveOpacity=void 0);const h=this.getStack();h&&h.exitAnimationComplete(),this.resumingFrom=this.currentAnimation=this.animationValues=void 0,this.notifyListeners("animationComplete")}finishAnimation(){this.currentAnimation&&(this.mixTargetDelta&&this.mixTargetDelta(lm),this.currentAnimation.stop()),this.completeAnimation()}applyTransformsToTarget(){const h=this.getLead();let{targetWithTransforms:f,target:m,layout:g,latestValues:y}=h;if(!(!f||!m||!g)){if(this!==h&&this.layout&&g&&Ay(this.options.animationType,this.layout.layoutBox,g.layoutBox)){m=this.target||We();const b=It(this.layout.layoutBox.x);m.x.min=h.target.x.min,m.x.max=m.x.min+b;const w=It(this.layout.layoutBox.y);m.y.min=h.target.y.min,m.y.max=m.y.min+w}At(f,m),Vn(f,y),Yi(this.projectionDeltaWithTransform,this.layoutCorrected,f,y)}}registerSharedNode(h,f){this.sharedNodes.has(h)||this.sharedNodes.set(h,new l5),this.sharedNodes.get(h).add(f);const g=f.options.initialPromotionConfig;f.promote({transition:g?g.transition:void 0,preserveFollowOpacity:g&&g.shouldPreserveFollowOpacity?g.shouldPreserveFollowOpacity(f):void 0})}isLead(){const h=this.getStack();return h?h.lead===this:!0}getLead(){var h;const{layoutId:f}=this.options;return f?((h=this.getStack())===null||h===void 0?void 0:h.lead)||this:this}getPrevLead(){var h;const{layoutId:f}=this.options;return f?(h=this.getStack())===null||h===void 0?void 0:h.prevLead:void 0}getStack(){const{layoutId:h}=this.options;if(h)return this.root.sharedNodes.get(h)}promote({needsReset:h,transition:f,preserveFollowOpacity:m}={}){const g=this.getStack();g&&g.promote(this,m),h&&(this.projectionDelta=void 0,this.needsReset=!0),f&&this.setOptions({transition:f})}relegate(){const h=this.getStack();return h?h.relegate(this):!1}resetSkewAndRotation(){const{visualElement:h}=this.options;if(!h)return;let f=!1;const{latestValues:m}=h;if((m.z||m.rotate||m.rotateX||m.rotateY||m.rotateZ||m.skewX||m.skewY)&&(f=!0),!f)return;const g={};m.z&&yc("z",h,g,this.animationValues);for(let y=0;y<gc.length;y++)yc(`rotate${gc[y]}`,h,g,this.animationValues),yc(`skew${gc[y]}`,h,g,this.animationValues);h.render();for(const y in g)h.setStaticValue(y,g[y]),this.animationValues&&(this.animationValues[y]=g[y]);h.scheduleRender()}getProjectionStyles(h){var f,m;if(!this.instance||this.isSVG)return;if(!this.isVisible)return u5;const g={visibility:""},y=this.getTransformTemplate();if(this.needsReset)return this.needsReset=!1,g.opacity="",g.pointerEvents=Ss(h==null?void 0:h.pointerEvents)||"",g.transform=y?y(this.latestValues,""):"none",g;const b=this.getLead();if(!this.projectionDelta||!this.layout||!b.target){const M={};return this.options.layoutId&&(M.opacity=this.latestValues.opacity!==void 0?this.latestValues.opacity:1,M.pointerEvents=Ss(h==null?void 0:h.pointerEvents)||""),this.hasProjected&&!on(this.latestValues)&&(M.transform=y?y({},""):"none",this.hasProjected=!1),M}const w=b.animationValues||b.latestValues;this.applyTransformsToTarget(),g.transform=c5(this.projectionDeltaWithTransform,this.treeScale,w),y&&(g.transform=y(w,g.transform));const{x:_,y:j}=this.projectionDelta;g.transformOrigin=`${_.origin*100}% ${j.origin*100}% 0`,b.animationValues?g.opacity=b===this?(m=(f=w.opacity)!==null&&f!==void 0?f:this.latestValues.opacity)!==null&&m!==void 0?m:1:this.preserveOpacity?this.latestValues.opacity:w.opacityExit:g.opacity=b===this?w.opacity!==void 0?w.opacity:"":w.opacityExit!==void 0?w.opacityExit:0;for(const M in Ns){if(w[M]===void 0)continue;const{correct:S,applyTo:E}=Ns[M],R=g.transform==="none"?w[M]:S(w[M],b);if(E){const K=E.length;for(let W=0;W<K;W++)g[E[W]]=R}else g[M]=R}return this.options.layoutId&&(g.pointerEvents=b===this?Ss(h==null?void 0:h.pointerEvents)||"":"none"),g}clearSnapshot(){this.resumeFrom=this.snapshot=void 0}resetTree(){this.root.nodes.forEach(h=>{var f;return(f=h.currentAnimation)===null||f===void 0?void 0:f.stop()}),this.root.nodes.forEach(cm),this.root.sharedNodes.clear()}}}function h5(t){t.updateLayout()}function p5(t){var n;const i=((n=t.resumeFrom)===null||n===void 0?void 0:n.snapshot)||t.snapshot;if(t.isLead()&&t.layout&&i&&t.hasListeners("didUpdate")){const{layoutBox:s,measuredBox:l}=t.layout,{animationType:u}=t.options,h=i.source!==t.layout.source;u==="size"?Rt(b=>{const w=h?i.measuredBox[b]:i.layoutBox[b],_=It(w);w.min=s[b].min,w.max=w.min+_}):Ay(u,i.layoutBox,s)&&Rt(b=>{const w=h?i.measuredBox[b]:i.layoutBox[b],_=It(s[b]);w.max=w.min+_,t.relativeTarget&&!t.currentAnimation&&(t.isProjectionDirty=!0,t.relativeTarget[b].max=t.relativeTarget[b].min+_)});const f=Hn();Yi(f,s,i.layoutBox);const m=Hn();h?Yi(m,t.applyTransform(l,!0),i.measuredBox):Yi(m,s,i.layoutBox);const g=!Cy(f);let y=!1;if(!t.resumeFrom){const b=t.getClosestProjectingParent();if(b&&!b.resumeFrom){const{snapshot:w,layout:_}=b;if(w&&_){const j=We();Zi(j,i.layoutBox,w.layoutBox);const M=We();Zi(M,s,_.layoutBox),Py(j,M)||(y=!0),b.options.layoutRoot&&(t.relativeTarget=M,t.relativeTargetOrigin=j,t.relativeParent=b)}}}t.notifyListeners("didUpdate",{layout:s,snapshot:i,delta:m,layoutDelta:f,hasLayoutChanged:g,hasRelativeTargetChanged:y})}else if(t.isLead()){const{onExitComplete:s}=t.options;s&&s()}t.options.transition=void 0}function f5(t){qi&&ln.totalNodes++,t.parent&&(t.isProjecting()||(t.isProjectionDirty=t.parent.isProjectionDirty),t.isSharedProjectionDirty||(t.isSharedProjectionDirty=!!(t.isProjectionDirty||t.parent.isProjectionDirty||t.parent.isSharedProjectionDirty)),t.isTransformDirty||(t.isTransformDirty=t.parent.isTransformDirty))}function m5(t){t.isProjectionDirty=t.isSharedProjectionDirty=t.isTransformDirty=!1}function g5(t){t.clearSnapshot()}function cm(t){t.clearMeasurements()}function y5(t){t.isLayoutDirty=!1}function b5(t){const{visualElement:n}=t.options;n&&n.getProps().onBeforeLayoutMeasure&&n.notify("BeforeLayoutMeasure"),t.resetTransform()}function um(t){t.finishAnimation(),t.targetDelta=t.relativeTarget=t.target=void 0,t.isProjectionDirty=!0}function v5(t){t.resolveTargetDelta()}function w5(t){t.calcProjection()}
vendor: 6,595 bytes, line 60
60function x5(t){t.resetSkewAndRotation()}function k5(t){t.removeLeadSnapshot()}function dm(t,n,i){t.translate=Ne(n.translate,0,i),t.scale=Ne(n.scale,1,i),t.origin=n.origin,t.originPoint=n.originPoint}function hm(t,n,i,s){t.min=Ne(n.min,i.min,s),t.max=Ne(n.max,i.max,s)}function _5(t,n,i,s){hm(t.x,n.x,i.x,s),hm(t.y,n.y,i.y,s)}function T5(t){return t.animationValues&&t.animationValues.opacityExit!==void 0}const I5={duration:.45,ease:[.4,0,.1,1]},pm=t=>typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes(t),fm=pm("applewebkit/")&&!pm("chrome/")?Math.round:bt;function mm(t){t.min=fm(t.min),t.max=fm(t.max)}function M5(t){mm(t.x),mm(t.y)}function Ay(t,n,i){return t==="position"||t==="preserve-aspect"&&!Ck(sm(n),sm(i),.2)}function S5(t){var n;return t!==t.root&&((n=t.scroll)===null||n===void 0?void 0:n.wasRoot)}const j5=Dy({attachResizeListener:(t,n)=>ar(t,"resize",n),measureScroll:()=>({x:document.documentElement.scrollLeft||document.body.scrollLeft,y:document.documentElement.scrollTop||document.body.scrollTop}),checkIsScrollRoot:()=>!0}),bc={current:void 0},Ny=Dy({measureScroll:t=>({x:t.scrollLeft,y:t.scrollTop}),defaultParent:()=>{if(!bc.current){const t=new j5({});t.mount(window),t.setOptions({layoutScroll:!0}),bc.current=t}return bc.current},resetTransform:(t,n)=>{t.style.transform=n!==void 0?n:"none"},checkIsScrollRoot:t=>window.getComputedStyle(t).position==="fixed"}),C5={pan:{Feature:qk},drag:{Feature:Vk,ProjectionNode:Ny,MeasureLayout:My}};function gm(t,n,i){const{props:s}=t;t.animationState&&s.whileHover&&t.animationState.setActive("whileHover",i==="Start");const l="onHover"+i,u=s[l];u&&Me.postRender(()=>u(n,lr(n)))}class P5 extends qa{mount(){const{current:n}=this.node;n&&(this.unmount=Cx(n,i=>(gm(this.node,i,"Start"),s=>gm(this.node,s,"End"))))}unmount(){}}class E5 extends qa{constructor(){super(...arguments),this.isActive=!1}onFocus(){let n=!1;try{n=this.node.current.matches(":focus-visible")}catch{n=!0}!n||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!0),this.isActive=!0)}onBlur(){!this.isActive||!this.node.animationState||(this.node.animationState.setActive("whileFocus",!1),this.isActive=!1)}mount(){this.unmount=or(ar(this.node.current,"focus",()=>this.onFocus()),ar(this.node.current,"blur",()=>this.onBlur()))}unmount(){}}function ym(t,n,i){const{props:s}=t;t.animationState&&s.whileTap&&t.animationState.setActive("whileTap",i==="Start");const l="onTap"+(i==="End"?"":i),u=s[l];u&&Me.postRender(()=>u(n,lr(n)))}class D5 extends qa{mount(){const{current:n}=this.node;n&&(this.unmount=Ax(n,i=>(ym(this.node,i,"Start"),(s,{success:l})=>ym(this.node,s,l?"End":"Cancel")),{useGlobalTarget:this.node.props.globalTapTarget}))}unmount(){}}const Vc=new WeakMap,vc=new WeakMap,A5=t=>{const n=Vc.get(t.target);n&&n(t)},N5=t=>{t.forEach(A5)};function R5({root:t,...n}){const i=t||document;vc.has(i)||vc.set(i,{});const s=vc.get(i),l=JSON.stringify(n);return s[l]||(s[l]=new IntersectionObserver(N5,{root:t,...n})),s[l]}function K5(t,n,i){const s=R5(n);return Vc.set(t,i),s.observe(t),()=>{Vc.delete(t),s.unobserve(t)}}const L5={some:0,all:1};class O5 extends qa{constructor(){super(...arguments),this.hasEnteredView=!1,this.isInView=!1}startObserver(){this.unmount();const{viewport:n={}}=this.node.getProps(),{root:i,margin:s,amount:l="some",once:u}=n,h={root:i?i.current:void 0,rootMargin:s,threshold:typeof l=="number"?l:L5[l]},f=m=>{const{isIntersecting:g}=m;if(this.isInView===g||(this.isInView=g,u&&!g&&this.hasEnteredView))return;g&&(this.hasEnteredView=!0),this.node.animationState&&this.node.animationState.setActive("whileInView",g);const{onViewportEnter:y,onViewportLeave:b}=this.node.getProps(),w=g?y:b;w&&w(m)};return K5(this.node.current,h,f)}mount(){this.startObserver()}update(){if(typeof IntersectionObserver>"u")return;const{props:n,prevProps:i}=this.node;["amount","margin","root"].some(B5(n,i))&&this.startObserver()}unmount(){}}function B5({viewport:t={}},{viewport:n={}}={}){return i=>t[i]!==n[i]}const F5={inView:{Feature:O5},tap:{Feature:D5},focus:{Feature:E5},hover:{Feature:P5}},W5={layout:{ProjectionNode:Ny,MeasureLayout:My}},qc={current:null},Ry={current:!1};function H5(){if(Ry.current=!0,!!du)if(window.matchMedia){const t=window.matchMedia("(prefers-reduced-motion)"),n=()=>qc.current=t.matches;t.addListener(n),n()}else qc.current=!1}const z5=[...sy,st,za],V5=t=>z5.find(ry(t)),bm=new WeakMap;function q5(t,n,i){for(const s in n){const l=n[s],u=i[s];if(ot(l))t.addValue(s,l);else if(ot(u))t.addValue(s,er(l,{owner:t}));else if(u!==l)if(t.hasValue(s)){const h=t.getValue(s);h.liveStyle===!0?h.jump(l):h.hasAnimated||h.set(l)}else{const h=t.getStaticValue(s);t.addValue(s,er(h!==void 0?h:l,{owner:t}))}}for(const s in i)n[s]===void 0&&t.removeValue(s);return n}const vm=["AnimationStart","AnimationComplete","Update","BeforeLayoutMeasure","LayoutMeasure","LayoutAnimationStart","LayoutAnimationComplete"];class $5{scrapeMotionValuesFromProps(n,i,s){return{}}constructor({parent:n,props:i,presenceContext:s,reducedMotionConfig:l,blockInitialAnimation:u,visualState:h},f={}){this.current=null,this.children=new Set,this.isVariantNode=!1,this.isControllingVariants=!1,this.shouldReduceMotion=null,this.values=new Map,this.KeyframeResolver=Ou,this.features={},this.valueSubscriptions=new Map,this.prevMotionValues={},this.events={},this.propEventSubscriptions={},this.notifyUpdate=()=>this.notify("Update",this.latestValues),this.render=()=>{this.current&&(this.triggerBuild(),this.renderInstance(this.current,this.renderState,this.props.style,this.projection))},this.renderScheduledAt=0,this.scheduleRender=()=>{const _=na.now();this.renderScheduledAt<_&&(this.renderScheduledAt=_,Me.render(this.render,!1,!0))};const{latestValues:m,renderState:g,onUpdate:y}=h;this.onUpdate=y,this.latestValues=m,this.baseTarget={...m},this.initialValues=i.initial?{...m}:{},this.renderState=g,this.parent=n,this.props=i,this.presenceContext=s,this.depth=n?n.depth+1:0,this.reducedMotionConfig=l,this.options=f,this.blockInitialAnimation=!!u,this.isControllingVariants=Xs(i),this.isVariantNode=pg(i),this.isVariantNode&&(this.variantChildren=new Set),this.manuallyAnimateOnMount=!!(n&&n.current);const{willChange:b,...w}=this.scrapeMotionValuesFromProps(i,{},this);for(const _ in w){const j=w[_];m[_]!==void 0&&ot(j)&&j.set(m[_],!1)}}mount(n){this.current=n,bm.set(n,this),this.projection&&!this.projection.instance&&this.projection.mount(n),this.parent&&this.isVariantNode&&!this.isControllingVariants&&(this.removeFromVariantTree=this.parent.addVariantChild(this)),this.values.forEac
vendor: 6,022 bytes, line 60
60h((i,s)=>this.bindToMotionValue(s,i)),Ry.current||H5(),this.shouldReduceMotion=this.reducedMotionConfig==="never"?!1:this.reducedMotionConfig==="always"?!0:qc.current,this.parent&&this.parent.children.add(this),this.update(this.props,this.presenceContext)}unmount(){bm.delete(this.current),this.projection&&this.projection.unmount(),Ha(this.notifyUpdate),Ha(this.render),this.valueSubscriptions.forEach(n=>n()),this.valueSubscriptions.clear(),this.removeFromVariantTree&&this.removeFromVariantTree(),this.parent&&this.parent.children.delete(this);for(const n in this.events)this.events[n].clear();for(const n in this.features){const i=this.features[n];i&&(i.unmount(),i.isMounted=!1)}this.current=null}bindToMotionValue(n,i){this.valueSubscriptions.has(n)&&this.valueSubscriptions.get(n)();const s=dn.has(n),l=i.on("change",f=>{this.latestValues[n]=f,this.props.onUpdate&&Me.preRender(this.notifyUpdate),s&&this.projection&&(this.projection.isTransformDirty=!0)}),u=i.on("renderRequest",this.scheduleRender);let h;window.MotionCheckAppearSync&&(h=window.MotionCheckAppearSync(this,n,i)),this.valueSubscriptions.set(n,()=>{l(),u(),h&&h(),i.owner&&i.stop()})}sortNodePosition(n){return!this.current||!this.sortInstanceNodePosition||this.type!==n.type?0:this.sortInstanceNodePosition(this.current,n.current)}updateFeatures(){let n="animation";for(n in Un){const i=Un[n];if(!i)continue;const{isEnabled:s,Feature:l}=i;if(!this.features[n]&&l&&s(this.props)&&(this.features[n]=new l(this)),this.features[n]){const u=this.features[n];u.isMounted?u.update():(u.mount(),u.isMounted=!0)}}}triggerBuild(){this.build(this.renderState,this.latestValues,this.props)}measureViewportBox(){return this.current?this.measureInstanceViewportBox(this.current,this.props):We()}getStaticValue(n){return this.latestValues[n]}setStaticValue(n,i){this.latestValues[n]=i}update(n,i){(n.transformTemplate||this.props.transformTemplate)&&this.scheduleRender(),this.prevProps=this.props,this.props=n,this.prevPresenceContext=this.presenceContext,this.presenceContext=i;for(let s=0;s<vm.length;s++){const l=vm[s];this.propEventSubscriptions[l]&&(this.propEventSubscriptions[l](),delete this.propEventSubscriptions[l]);const u="on"+l,h=n[u];h&&(this.propEventSubscriptions[l]=this.on(l,h))}this.prevMotionValues=q5(this,this.scrapeMotionValuesFromProps(n,this.prevProps,this),this.prevMotionValues),this.handleChildMotionValue&&this.handleChildMotionValue(),this.onUpdate&&this.onUpdate(this)}getProps(){return this.props}getVariant(n){return this.props.variants?this.props.variants[n]:void 0}getDefaultTransition(){return this.props.transition}getTransformPagePoint(){return this.props.transformPagePoint}getClosestVariantNode(){return this.isVariantNode?this:this.parent?this.parent.getClosestVariantNode():void 0}addVariantChild(n){const i=this.getClosestVariantNode();if(i)return i.variantChildren&&i.variantChildren.add(n),()=>i.variantChildren.delete(n)}addValue(n,i){const s=this.values.get(n);i!==s&&(s&&this.removeValue(n),this.bindToMotionValue(n,i),this.values.set(n,i),this.latestValues[n]=i.get())}removeValue(n){this.values.delete(n);const i=this.valueSubscriptions.get(n);i&&(i(),this.valueSubscriptions.delete(n)),delete this.latestValues[n],this.removeValueFromRenderState(n,this.renderState)}hasValue(n){return this.values.has(n)}getValue(n,i){if(this.props.values&&this.props.values[n])return this.props.values[n];let s=this.values.get(n);return s===void 0&&i!==void 0&&(s=er(i===null?void 0:i,{owner:this}),this.addValue(n,s)),s}readValue(n,i){var s;let l=this.latestValues[n]!==void 0||!this.current?this.latestValues[n]:(s=this.getBaseTargetFromProps(this.props,n))!==null&&s!==void 0?s:this.readValueFromInstance(this.current,n,this.options);return l!=null&&(typeof l=="string"&&(ny(l)||Gg(l))?l=parseFloat(l):!V5(l)&&za.test(i)&&(l=ey(n,i)),this.setBaseTarget(n,ot(l)?l.get():l)),ot(l)?l.get():l}setBaseTarget(n,i){this.baseTarget[n]=i}getBaseTarget(n){var i;const{initial:s}=this.props;let l;if(typeof s=="string"||typeof s=="object"){const h=bu(this.props,s,(i=this.presenceContext)===null||i===void 0?void 0:i.custom);h&&(l=h[n])}if(s&&l!==void 0)return l;const u=this.getBaseTargetFromProps(this.props,n);return u!==void 0&&!ot(u)?u:this.initialValues[n]!==void 0&&l===void 0?void 0:this.baseTarget[n]}on(n,i){return this.events[n]||(this.events[n]=new Du),this.events[n].add(i)}notify(n,...i){this.events[n]&&this.events[n].notify(...i)}}class Ky extends $5{constructor(){super(...arguments),this.KeyframeResolver=oy}sortInstanceNodePosition(n,i){return n.compareDocumentPosition(i)&2?1:-1}getBaseTargetFromProps(n,i){return n.style?n.style[i]:void 0}removeValueFromRenderState(n,{vars:i,style:s}){delete i[n],delete s[n]}handleChildMotionValue(){this.childSubscription&&(this.childSubscription(),delete this.childSubscription);const{children:n}=this.props;ot(n)&&(this.childSubscription=n.on("change",i=>{this.current&&(this.current.textContent=`${i}`)}))}}function U5(t){return window.getComputedStyle(t)}class G5 extends Ky{constructor(){super(...arguments),this.type="html",this.renderInstance=kg}readValueFromInstance(n,i){if(dn.has(i)){const s=Lu(i);return s&&s.default||0}else{const s=U5(n),l=(vg(i)?s.getPropertyValue(i):s[i])||0;return typeof l=="string"?l.trim():l}}measureInstanceViewportBox(n,{transformPagePoint:i}){return Ty(n,i)}build(n,i,s){xu(n,i,s.transformTemplate)}scrapeMotionValuesFromProps(n,i,s){return Iu(n,i,s)}}class Y5 extends Ky{constructor(){super(...arguments),this.type="svg",this.isSVGTag=!1,this.measureInstanceViewportBox=We}getBaseTargetFromProps(n,i){return n[i]}readValueFromInstance(n,i){if(dn.has(i)){const s=Lu(i);return s&&s.default||0}return i=_g.has(i)?i:mu(i),n.getAttribute(i)}scrapeMotionValuesFromProps(n,i,s){return Mg(n,i,s)}build(n,i,s){ku(n,i,this.isSVGTag,s.transformTemplate)}renderInstance(n,i,s,l){Tg(n,i,s,l)}mount(n){this.isSVGTag=Tu(n.tagName),super.mount(n)}}const Z5=(t,n)=>yu(t)?new Y5(n):new G5(n,{allowProjection:t!==x.Fragment}),J5=_x({...wk,...F5,...C5,...W5}
60,Z5),Le=Ow(J5),X5={some:0,all:1};function Q5(t,n,{root:i,margin:s,amount:l="some"}={}){const u=Ng(t),h=new WeakMap,f=g=>{g.forEach(y=>{const b=h.get(y.target);if(y.isIntersecting!==!!b)if(y.isIntersecting){const w=n(y);typeof w=="function"?h.set(y.target,w):m.unobserve(y.target)}else typeof b=="function"&&(b(y),h.delete(y.target))})},m=new IntersectionObserver(f,{root:i,rootMargin:s,threshold:typeof l=="number"?l:X5[l]});return u.forEach(g=>m.observe(g)),()=>m.disconnect()}function e4(t,{root:n,margin:i,amount:s,once:l=!1}={}){const[u,h]=x.useState(!1);return x.useEffect(()=>{if(!t.current||l&&u)return;const f=()=>(h(!0),l?void 0:()=>h(!1)),m={root:n&&n.current||void 0,margin:i,amount:s};return Q5(t.current,f,m)},[n,t,i,l,s]),u}/**
61 * @license lucide-react v0.359.0 - ISC
62 *
63 * This source code is licensed under the ISC license.
64 * See the LICENSE file in the root directory of this source tree.
65 */var t4={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
66 * @license lucide-react v0.359.0 - ISC
67 *
68 * This source code is licensed under the ISC license.
69 * See the LICENSE file in the root directory of this source tree.
70 */const a4=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/**
71 * @license lucide-react v0.359.0 - ISC
72 *
73 * This source code is licensed under the ISC license.
74 * See the LICENSE file in the root directory of this source tree.
75 */const xe=(t,n)=>{const i=x.forwardRef(({color:s="currentColor",size:l=24,strokeWidth:u=2,absoluteStrokeWidth:h,className:f="",children:m,...g},y)=>x.createElement("svg",{ref:y,...t4,width:l,height:l,stroke:s,strokeWidth:h?Number(u)*24/Number(l):u,className:["lucide",`lucide-${a4(t)}`,f].join(" "),...g},[...n.map(([b,w])=>x.createElement(b,w)),...Array.isArray(m)?m:[m]]));return i.displayName=`${t}`,i};/**
76 * @license lucide-react v0.359.0 - ISC
77 *
78 * This source code is licensed under the ISC license.
79 * See the LICENSE file in the root directory of this source tree.
80 */const n4=xe("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/**
81 * @license lucide-react v0.359.0 - ISC
82 *
83 * This source code is licensed under the ISC license.
84 * See the LICENSE file in the root directory of this source tree.
85 */const hn=xe("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/**
86 * @license lucide-react v0.359.0 - ISC
87 *
88 * This source code is licensed under the ISC license.
89 * See the LICENSE file in the root directory of this source tree.
90 */const Ly=xe("ArrowUp",[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]]);/**
91 * @license lucide-react v0.359.0 - ISC
92 *
93 * This source code is licensed under the ISC license.
94 * See the LICENSE file in the root directory of this source tree.
95 */const i4=xe("BadgeCheck",[["path",{d:"M3.85 8.62a4 4 0 0 1 4.78-4.77 4 4 0 0 1 6.74 0 4 4 0 0 1 4.78 4.78 4 4 0 0 1 0 6.74 4 4 0 0 1-4.77 4.78 4 4 0 0 1-6.75 0 4 4 0 0 1-4.78-4.77 4 4 0 0 1 0-6.76Z",key:"3c2336"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/**
96 * @license lucide-react v0.359.0 - ISC
97 *
98 * This source code is licensed under the ISC license.
99 * See the LICENSE file in the root directory of this source tree.
100 */const $c=xe("CalendarCheck",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"m9 16 2 2 4-4",key:"19s6y9"}]]);/**
101 * @license lucide-react v0.359.0 - ISC
102 *
103 * This source code is licensed under the ISC license.
104 * See the LICENSE file in the root directory of this source tree.
105 */const Uc=xe("CalendarDays",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]]);/**
106 * @license lucide-react v0.359.0 - ISC
107 *
108 * This source code is licensed under the ISC license.
109 * See the LICENSE file in the root directory of this source tree.
110 */const wm=xe("ChefHat",[["path",{d:"M17 21a1 1 0 0 0 1-1v-5.35c0-.457.316-.844.727-1.041a4 4 0 0 0-2.134-7.589 5 5 0 0 0-9.186 0 4 4 0 0 0-2.134 7.588c.411.198.727.585.727 1.041V20a1 1 0 0 0 1 1Z",key:"1qvrer"}],["path",{d:"M6 17h12",key:"1jwigz"}]]);/**
111 * @license lucide-react v0.359.0 - ISC
112 *
113 * This source code is licensed under the ISC license.
114 * See the LICENSE file in the root directory of this source tree.
115 */const Oy=xe("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/**
116 * @license lucide-react v0.359.0 - ISC
117 *
118 * This source code is licensed under the ISC license.
119 * See the LICENSE file in the root directory of this source tree.
120 */const r4=xe("Clock3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16.5 12",key:"1aq6pp"}]]);/**
121 * @license lucide-react v0.359.0 - ISC
122 *
123 * This source code is licensed under the ISC license.
124 * See the LICENSE file in the root directory of this source tree.
125 */const s4=xe("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]);/**
126 * @license lucide-react v0.359.0 - ISC
127 *
128 * This source code is licensed under the ISC license.
129 * See the LICENSE file in the root directory of this source tree.
130 */const o4=xe("Facebook",[["path",{d:"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z",key:"1jg4f8"}]]);/**
131 * @license lucide-react v0.359.0 - ISC
132 *
133 * This source code is licensed under the ISC license.
134 * See the LICENSE file in the root directory of this source tree.
135 */const l4=xe("FileText",[["path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z",key:"1rqfz7"}],["path",{d:"M14 2v4a2 2 0 0 0 2 2h4",key:"tnqrlb"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/**
136 * @license lucide-react v0.359.0 - ISC
137 *
138 * This source code is licensed under the ISC license.
139 * See the LICENSE file in the root directory of this source tree.
140 */const Gc=xe("Instagram",[["rect",{width:"20",height:"20",x:"2",y:"2",rx:"5",ry:"5",key:"2e1cvw"}],["path",{d:"M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z",key:"9exkf1"}],["line",{x1:"17.5",x2:"17.51",y1:"6.5",y2:"6.5",key:"r4j83e"}]]);/**
141 * @license lucide-react v0.359.0 - ISC
142 *
143 * This source code is licensed under the ISC license.
144 * See the LICENSE file in the root directory of this source tree.
145 */const c4=xe("Leaf",[["path",{d:"M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10Z",key:"nnexq3"}],["path",{d:"M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12",key:"mt58a7"}]]);/**
146 * @license lucide-react v0.359.0 - ISC
147 *
148 * This source code is licensed under the ISC license.
149 * See the LICENSE file in the root directory of this source tree.
150 */const u4=xe("LocateFixed",[["line",{x1:"2",x2:"5",y1:"12",y2:"12",key:"bvdh0s"}],["line",{x1:"19",x2:"22",y1:"12",y2:"12",key:"1tbv5k"}],["line",{x1:"12",x2:"12",y1:"2",y2:"5",key:"11lu5j"}],["line",{x1:"12",x2:"12",y1:"19",y2:"22",key:"x3vr5v"}],["circle",{cx:"12",cy:"12",r:"7",key:"fim9np"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/**
151 * @license lucide-react v0.359.0 - ISC
152 *
153 * This source code is licensed under the ISC license.
154 * See the LICENSE file in the root directory of this source tree.
155 */const By=xe("Mail",[["rect",{width:"20",height:"16",x:"2",y:"4",rx:"2",key:"18n3k1"}],["path",{d:"m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7",key:"1ocrg3"}]]);/**
156 * @license lucide-react v0.359.0 - ISC
157 *
158 * This source code is licensed under the ISC license.
159 * See the LICENSE file in the root directory of this source tree.
160 */const to=xe("MapPin",[["path",{d:"M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z",key:"2oe9fu"}],["circle",{cx:"12",cy:"10",r:"3",key:"ilqhr7"}]]);/**
161 * @license lucide-react v0.359.0 - ISC
162 *
163 * This source code is licensed under the ISC license.
164 * See the LICENSE file in the root directory of this source tree.
165 */const d4=xe("Martini",[["path",{d:"M8 22h8",key:"rmew8v"}],["path",{d:"M12 11v11",key:"ur9y6a"}],["path",{d:"m19 3-7 8-7-8Z",key:"1sgpiw"}]]);/**
166 * @license lucide-react v0.359.0 - ISC
167 *
168 * This source code is licensed under the ISC license.
169 * See the LICENSE file in the root directory of this source tree.
170 */const h4=xe("Menu",[["line",{x1:"4",x2:"20",y1:"12",y2:"12",key:"1e0a9i"}],["line",{x1:"4",x2:"20",y1:"6",y2:"6",key:"1owob3"}],["line",{x1:"4",x2:"20",y1:"18",y2:"18",key:"yk5zj1"}]]);/**
171 * @license lucide-react v0.359.0 - ISC
172 *
173 * This source code is licensed under the ISC license.
174 * See the LICENSE file in the root directory of this source tree.
175 */const p4=xe("MoonStar",[["path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",key:"a7tn18"}],["path",{d:"M19 3v4",key:"vgv24u"}],["path",{d:"M21 5h-4",key:"1wcg1f"}]]);/**
176 * @license lucide-react v0.359.0 - ISC
177 *
178 * This source code is licensed under the ISC license.
179 * See the LICENSE file in the root directory of this source tree.
180 */const f4=xe("Music2",[["circle",{cx:"8",cy:"18",r:"4",key:"1fc0mg"}],["path",{d:"M12 18V2l7 4",key:"g04rme"}]]);/**
181 * @license lucide-react v0.359.0 - ISC
182 *
183 * This source code is licensed under the ISC license.
184 * See the LICENSE file in the root directory of this source tree.
185 */const m4=xe("Navigation",[["polygon",{points:"3 11 22 2 13 21 11 13 3 11",key:"1ltx0t"}]]);/**
186 * @license lucide-react v0.359.0 - ISC
187 *
188 * This source code is licensed under the ISC license.
189 * See the LICENSE file in the root directory of this source tree.
190 */const g4=xe("Send",[["path",{d:"m22 2-7 20-4-9-9-4Z",key:"1q3vgg"}],["path",{d:"M22 2 11 13",key:"nzbqef"}]]);/**
191 * @license lucide-react v0.359.0 - ISC
192 *
193 * This source code is licensed under the ISC license.
194 * See the LICENSE file in the root directory of this source tree.
195 */const y4=xe("Sparkles",[["path",{d:"m12 3-1.912 5.813a2 2 0 0 1-1.275 1.275L3 12l5.813 1.912a2 2 0 0 1 1.275 1.275L12 21l1.912-5.813a2 2 0 0 1 1.275-1.275L21 12l-5.813-1.912a2 2 0 0 1-1.275-1.275L12 3Z",key:"17u4zn"}],["path",{d:"M5 3v4",key:"bklmnn"}],["path",{d:"M19 17v4",key:"iiml17"}],["path",{d:"M3 5h4",key:"nem4j1"}],["path",{d:"M17 19h4",key:"lbex7p"}]]);/**
196 * @license lucide-react v0.359.0 - ISC
197 *
198 * This source code is licensed under the ISC license.
199 * See the LICENSE file in the root directory of this source tree.
200 */const b4=xe("Star",[["polygon",{points:"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2",key:"8f66p6"}]]);/**
201 * @license lucide-react v0.359.0 - ISC
202 *
203 * This source code is licensed under the ISC license.
204 * See the LICENSE file in the root directory of this source tree.
205 */const v4=xe("User",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);/**
206 * @license lucide-react v0.359.0 - ISC
207 *
208 * This source code is licensed under the ISC license.
209 * See the LICENSE file in the root directory of this source tree.
210 */const w4=xe("Utensils",[["path",{d:"M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2",key:"cjf0a3"}],["path",{d:"M7 2v20",key:"1473qp"}
210],["path",{d:"M21 15V2v0a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7",key:"1ogz0v"}]]);/**
211 * @license lucide-react v0.359.0 - ISC
212 *
213 * This source code is licensed under the ISC license.
214 * See the LICENSE file in the root directory of this source tree.
215 */const Hu=xe("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),qn="en",Kt="zh-TW",x4="mayur-locale",Lt="/zh";function k4(t){return t===Lt||t.startsWith(`${Lt}/`)?Kt:qn}function _4(t){return t===Lt||t.startsWith(`${Lt}/`)?Lt:"/"}function T4(t,n){const i=t.startsWith("/")?t:`/${t}`;return n===Kt?i==="/"?`${Lt}/`:`${Lt}${i}`:i}function I4(t){try{window.localStorage.setItem(x4,t)}catch{}}const M4="shared-shell",S4={nodeType:"translation",translation:{en:{navbar:{home:"Home",story:"Story",menu:"Menu",offers:"Offers",events:"Events",gallery:"Gallery",branches:"Branches",journal:"Journal",chineseBlog:"Chinese Blog",discoverIndia:"Discover India",reserve:"Reserve",reserveTable:"Reserve a Table",openMenu:"Open navigation menu",closeMenu:"Close navigation menu",whatsapp:"Contact Mayur Indian Kitchen on WhatsApp",language:"Language",switchEnglish:"Switch to English",switchChinese:"Switch to Traditional Chinese"},footer:{brandName:"Mayur Indian Kitchen",newsletter:"Fresh stories, new dishes and special events—served occasionally.",emailLabel:"Email address",emailPlaceholder:"Your email address",join:"Join",joining:"Joining…",newsletterConsent:"I agree to receive news and promotional offers from Mayur Indian Kitchen.",newsletterSuccess:"You’re subscribed. Welcome to the Mayur table!",newsletterError:"We could not complete the subscription. Please try again.",description:"Authentic Indian cooking, generous hospitality and the flavours of home—shared across Taiwan since 2011.",explore:"Explore",discover:"Discover",company:"Company",ourStory:"Our Story",ourMenu:"Our Menu",allBranches:"All Branches",offers:"Offers",events:"Events",catering:"Catering",gallery:"Gallery",guestReviews:"Guest Reviews",journal:"Journal",travelGuide:"Travel Guide",careers:"Careers",chineseBlog:"Chinese Blog",reservations:"Reservations",privacy:"Privacy",terms:"Terms",cookies:"Cookies",whatsappEnquiries:"WhatsApp enquiries",backToTop:"Back to top",navLabelSuffix:"footer links",emailSocial:"Email Mayur Indian Kitchen",newsletterSubject:"Mayur newsletter subscription",newsletterBodyPrefix:"Please add",newsletterBodySuffix:"to the Mayur Indian Kitchen newsletter."},floating:{scrollTop:"Scroll to top",chatLine:"Chat with us on LINE",addLine:"Add Mayur Indian Kitchen on LINE"},offerSignup:{close:"Close offer signup",eyebrow:"A seat at the Mayur table",titleLineOne:"The Biggest Indian chain restaurant",titleLineTwo:"& grocery store in Taiwan",description:"Be first to hear about special menus, new openings and delicious reasons to visit again.",emailLabel:"Email address",emailPlaceholder:"Your email address",profileHeading:"Your details (optional)",profileHint:"Share your name and birthday if you would like birthday offers.",nameLabel:"Name",namePlaceholder:"Your name",birthdateLabel:"Date of birth",submit:"Get offers",submitting:"Joining…",consent:"I agree to receive promotional emails from Mayur Indian Kitchen.",confirmation:"See how we handle your information in our",success:"You’re on the list—welcome!",error:"We could not complete the subscription. Please try again.",privacyPolicy:"privacy policy",dismiss:"Not now, thank you",mailSubject:"Join Mayur offers list",mailBodyPrefix:"Please add",mailBodySuffix:"to the Mayur Indian Kitchen offers and updates list."},chat:{open:"Open chat",close:"Close chat",avatarAlt:"MIK Capy chatbot",name:"Capy at Mayur",subtitle:"AI concierge for Mayur",chooseLanguage:"Choose a language",chooseLanguageHint:"Select a language to start chatting",english:"English",chinese:"Traditional Chinese",placeholder:"Ask about menus, branches…",send:"Send message",loading:"Capy is replying"},loadingPage:"Loading page"},"zh-TW":{navbar:{home:"首頁",story:"品牌故事",menu:"菜單",offers:"優惠活動",events:"活動",gallery:"精彩相冊",branches:"分店資訊",journal:"中文部落格",chineseBlog:"中文部落格",discoverIndia:"探索印度",reserve:"立即訂位",reserveTable:"線上訂位",openMenu:"開å•
215Ÿå°Žè¦½é¸å–®",closeMenu:"關閉導覽選單",whatsapp:"透過 WhatsApp 聯絡馬友友印度廚房",language:"網站語言",switchEnglish:"切換為英文",switchChinese:"切換為繁體中文"},footer:{brandName:"馬友友印度廚房",newsletter:"偶爾送上品牌新聞、新菜色與特別活動。",emailLabel:"電子信箱",emailPlaceholder:"請輸入電子信箱",join:"訂閱",joining:"訂閱中…",newsletterConsent:"我同意接收馬友友印度廚房的最新消息與優惠資訊。",newsletterSuccess:"訂閱成功,歡迎加入馬友友印度廚房!",newsletterError:"目前無法完成訂閱,請稍後再試。",description:"從 2011 年起,我們在台灣分享道地的印度料理、熱情款待,以及家鄉般的味道。",explore:"開始探索",discover:"發現更多",company:"關於我們",ourStory:"我們的故事",ourMenu:"餐點菜單",allBranches:"所有分店",offers:"優惠活動",events:"精彩活動",catering:"外燴服務",gallery:"精彩相冊",guestReviews:"顧客評價",journal:"中文部落格",travelGuide:"旅遊指南",careers:"人才招募",chineseBlog:"中文部落格",reservations:"線上訂位",privacy:"隱私權",terms:"使用條款",cookies:"Cookie 政策",whatsappEnquiries:"WhatsApp 諮詢",backToTop:"回到頁首",navLabelSuffix:"頁尾連結",emailSocial:"寄信給馬友友印度廚房",newsletterSubject:"訂閱馬友友印度廚房電子報",newsletterBodyPrefix:"請將",newsletterBodySuffix:"加入馬友友印度廚房電子報訂閱名單。"},floating:{scrollTop:"回到頁首",chatLine:"使用 LINE 與我們聯絡",addLine:"在 LINE 加入馬友友印度廚房"},offerSignup:{close:"關閉優惠訂閱視窗",eyebrow:"馬友友印度廚房的餐桌,為你留了一個位置",titleLineOne:"帶著好胃口來,",titleLineTwo:"帶著優惠回家。",description:"第一時間收到限定餐點、新店開幕,以及讓你再度光臨的美味消息。",emailLabel:"電子信箱",emailPlaceholder:"請輸入電子信箱",profileHeading:"您的資料(選填)",profileHint:"若希望收到生日優惠,可填寫姓名與生日。",nameLabel:"姓名",namePlaceholder:"請輸入姓名",birthdateLabel:"出生日期",submit:"收取優惠",submitting:"訂閱中…",consent:"我同意接收馬友友印度廚房的優惠電子郵件。",confirmation:"了解我們如何處理您的資料,請參閱",success:"訂閱成功,歡迎加入!",error:"目前無法完成訂閱,請稍後再試。",privacyPolicy:"隱私權政策",dismiss:"現在不用,謝謝",mailSubject:"訂閱馬友友印度廚房優惠資訊",mailBodyPrefix:"請將",mailBodySuffix:"加入馬友友印度廚房優惠與最新消息名單。"},chat:{open:"開啟聊天",close:"關閉聊天",avatarAlt:"MIK Capy 聊天機器人",name:"馬友友印度廚房的 Capy",subtitle:"馬友友印度廚房 AI 服務小幫手",chooseLanguage:"選擇聊天語言",chooseLanguageHint:"請選擇語言開始聊天",english:"英文",chinese:"繁體中文",placeholder:"詢問菜單、分店資訊…",send:"傳送訊息",loading:"Capy 正在回覆"},loadingPage:"頁面載入中"}}},j4="local",C4="shared-shell::local::src/content/shared-shell.content.js",P4="src/content/shared-shell.content.js",E4={key:M4,content:S4,location:j4,localId:C4,filePath:P4},D4="homepage",A4={nodeType:"translation",translation:{en:{seo:{title:"Authentic Indian Cuisine in Taiwan",description:"Mayur Indian Kitchen — 14 restaurant locations across Taiwan and Dubai. Authentic curries, tandoor, biryani and international cuisine."},hero:{brand:"Mayur",eyebrow:"Authentic Indian Cuisine · Taiwan",subtitle:"Indian Kitchen",tagline:"Where spice tradition meets Taiwanese hospitality.",book:"Book a Table",menu:"View Menu",branches:"Branches",scroll:"Scroll"},press:{heading:"Featured in"},chef:{imageAlt:"Chef Mayur Srivastava, founder of Mayur Indian Kitchen",badge:"Founder & Chef",eyebrow:"The man behind Mayur Indian Kitchen",title:"The story",description:"What began as Chef Mayur’s desire to share the food of home has grown into a family of restaurants across Taiwan and Dubai. Every kitchen carries the same promise: honest Indian flavours, careful preparation, and hospital
215ity that makes every guest feel welcome.",descriptionExtra:"Since opening the first Mayur Indian Kitchen in Taipei in 2011, Chef Mayur has built each restaurant around its neighbourhood—bringing together regional recipes, local ingredients and the generous spirit of an Indian family table.",readStory:"Read the full story",since:"Taiwan · Since 2011"},featured:{eyebrow:"Signature Dishes",titleBefore:"Taste the",titleAccent:"Tradition",description:"From our tandoor to your table — each dish carries the soul of India's rich culinary heritage.",viewMenu:"View Full Menu"},reviews:{eyebrow:"Guest experiences across Taiwan",title:"What are people saying?",ratingLabel:"5 out of 5 stars",firstTitle:"Taipei’s most authentic Indian flavours",firstText:"The butter chicken was rich and silky, and the freshly baked naan was fragrant and satisfyingly chewy. The service was warm and the spices had wonderful depth. It is our first choice for authentic Indian food in Taipei.",firstDetail:"Guest from Taipei",secondTitle:"Proper Indian cooking",secondText:"The chicken tikka was beautifully charred, the curry had real depth, and the naan arrived piping hot. Easily one of the best Indian restaurants we have visited in Taipei.",secondDetail:"British guest · Taipei",thirdTitle:"Flavours that feel like home",thirdText:"The biryani was fragrant, the dal was comforting, and the spice level was exactly right. As an Indian living in Taiwan, I truly appreciate the care behind every dish.",thirdDetail:"Indian guest · Taiwan",fourthTitle:"A wonderful place to gather",fourthText:"The tandoori chicken was juicy and full of flavour, the curry was aromatic without being heavy, and there were plenty of vegetarian choices. The relaxed setting and generous portions make it perfect for dinner with friends or family.",fourthDetail:"Guest from New Taipei"},instagram:{iframeTitle:"Mayur Indian Kitchen Instagram Reels",eyebrow:"Live from Instagram",titleBefore:"Follow the",titleAccent:"MIK Story",description:"Fresh dishes, celebrations, live music and moments from Mayur Indian Kitchen.",follow:"Follow @mik_taiwan"},finalCta:{eyebrow:"Your table is waiting",titleBefore:"Ready for an",titleAccent:"Authentic",titleAfter:"Indian Feast?",description:"Find your nearest Mayur Indian Kitchen and book a table. We can’t wait to welcome you with warm flavours and even warmer hospitality.",reserve:"Reserve a table",ringText:"RESERVE A TABLE · "},branchFinder:{kicker:"Capy’s Branch Finder",titleBefore:"Let’s find your nearest",idle:"Share your browser location and Capy will compare all 14 kitchens.",searching:"Capy is checking the map…",found:"Found it — your nearest MIK is ready.",denied:"Hmm… I can’t see where you are.",unavailable:"Your location is unavailable right now.",find:"Find my MIK",finding:"Finding your MIK…",manual:"Choose your branch manually",manualLabel:"Choose a Mayur Indian Kitchen branch",selectLocation:"Select a location…",chooseRegion:"Choose a region",locations:"locations",allRegions:"All regions",showLocations:"Show locations in",selectBranch:"Select",kmAway:"km away",directions:"Take me there",viewBranch:"View branch",altMap:"Capy helping with a paper map",altFound:"Capy pointing to a discovered restaurant location",altDenied:"Capy holding a map upside down",taipei:"Taipei",qianshui:"New Taipei · Qianshui Bay",taoyuan:"Taoyuan",hsinchu:"Hsinchu",taichung:"Taichung",dubai:"Dubai"},experiences:{eyebrow:"Find your kind of MIK",title:"More than dinner.",intro:"From plant-based dining to after-dark music, drinks and catering—these experiences are supported by our current branch information.",vegetarian:"100% vegetarian restaurant",vegetarianDetail:"MIK-3 · Vegan options available",lateNight:"Late-night Indian food",lateNightDetail:"MIK-6 · Open until 2:00 AM",bar:"Indian restaurant & full bar",barDetail:"MIK-6 · Cocktails and premium drinks",music:"Live Indian music restaurant",musicDetail:"MIK-6 · Bollywood nights",shisha:"Shisha & hookah lounge",shishaDetail:"MIK-6 · Taipei after dark",catering:"Indian food catering in Taiwan",cateringDetail:"Available from selected MIK branches"}},"zh-TW":{seo:{title:"台灣道地印度料理",description:"馬友友印度廚房在台灣與迪拜共有 14 間分店,提供道地咖哩、坦都窯烤料理、印度香料飯與國際料理。"},hero:{brand:"馬友友印度廚房",eyebrow:"道地印度料理 · 台灣",subt
215itle:"",tagline:"當印度香料傳統,遇上台灣的熱情款待。",book:"線上訂位",menu:"查看菜單",branches:"分店資訊",scroll:"往下瀏覽"},press:{heading:"媒體報導"},chef:{imageAlt:"馬友友印度廚房創辦人暨主廚 Mayur Srivastava",badge:"創辦人暨主廚",eyebrow:"馬友友印度廚房背後的靈魂人物",title:"我們的故事",description:"一切起於 Mayur 主廚想把家鄉料理分享給大家的心願,如今已成長為遍佈台灣與迪拜的餐廳家族。每間廚房都守著同一份承諾:呈現真實的印度風味、用心烹調每道菜,並以熱情款待讓每位客人都有賓至如歸的感受。",descriptionExtra:"自 2011 年在台北開設第一間馬友友印度廚房以來,Mayur 主廚始終讓每間餐廳與所在社區共同成長,將印度各地食譜、在地食材,以及印度家庭餐桌上的熱情款待融為一體。",readStory:"閱讀完整故事",since:"台灣 · 始於 2011 年"},featured:{eyebrow:"招牌料理",titleBefore:"品嘗",titleAccent:"傳統真味",description:"從坦都窯到你的餐桌,每道料理都承載著印度豐富飲食文化的靈魂。",viewMenu:"查看完整菜單"},reviews:{eyebrow:"來自全台顧客的真實體驗",title:"大家怎麼說?",ratingLabel:"5 顆星,滿分 5 顆星",firstTitle:"台北最道地的印度味",firstText:"奶油雞香濃滑順,烤餅剛出爐又香又有嚼勁。服務親切,香料層次很豐富,是我們在台北想吃正宗印度料理時的首選。",firstDetail:"台北用餐客人",secondTitle:"真正道地的印度料理",secondText:"印度烤雞塊烤得焦香恰到好處,咖哩層次深厚,烤餅上桌時還熱騰騰的。這絕對是我們在台北吃過最棒的印度餐廳之一。",secondDetail:"英國顧客 · 台北",thirdTitle:"像家鄉一樣的味道",thirdText:"印度香料飯香氣十足,扁豆料理溫暖又熟悉,辣度也恰到好處。作為住在台灣的印度人,我真心感受得到每道菜背後的用心。",thirdDetail:"印度顧客 · 台灣",fourthTitle:"聚餐氣氛很棒",fourthText:"坦都里烤雞多汁又入味,咖哩香而不膩,素食選擇也很多。環境舒服、份量實在,很適合朋友聚餐和家庭晚餐。",fourthDetail:"新北用餐客人"},instagram:{iframeTitle:"馬友友印度廚房 Instagram Reels",eyebrow:"Instagram 即時動態",titleBefore:"跟著我們看見",titleAccent:"MIK 日常",description:"新鮮上桌的料理、歡慶聚會、現場音樂,還有馬友友印度廚房的日常片刻。",follow:"追蹤 @mik_taiwan"},finalCta:{eyebrow:"我們已為你留好位置",titleBefore:"準備好享用一場",titleAccent:"道地",titleAfter:"印度盛宴了嗎?",description:"找到離你最近的馬友友印度廚房並預訂座位。我們期待以溫暖的風味與更熱情的款待迎接你。",reserve:"線上訂位",ringText:"線上訂位 · "},branchFinder:{kicker:"Capy 分店小幫手",titleBefore:"一起找到離你最近的",idle:"分享瀏覽器位置後,Capy 會為你比對全部 14 間分店。",searching:"Capy 正在查看地圖…",found:"找到了!離你最近的 MIK 已準備好迎接你。",denied:"嗯…我無法取得你的位置。",unavailable:"目前無法取得你的位置。",find:"尋找附近 MIK",finding:"正在尋找附近 MIK…",manual:"手動選擇分店",manualLabel:"選擇馬友友印度廚房分店",selectLocation:"請選擇地點…",chooseRegion:"請選擇地區",locations:"間分店",allRegions:"所有地區",showLocations:"顯示此地區的分店:",selectBranch:"選擇",kmAway:"公里",directions:"開啟導航",viewBranch:"查看分店",altMap:"Capy 正拿著紙本地圖幫忙尋找分店",altFound:"Capy 指著已找到的餐廳位置",altDenied:"Capy 倒著拿地圖,無法確認位置",taipei:"台北",qianshui:"新北 · 淺水灣",taoyuan:"桃園",hsinchu:"新竹",taichung:"台中",dubai:"迪拜"},experiences:{eyebrow:"找到適合你的 MIK 體驗",title:"不只是一頓晚餐",intro:"從植物系料理到深夜音樂、飲品與外燴服務;以下特
215色皆依目前分店資料整理。",vegetarian:"100% 印度蔬食餐廳",vegetarianDetail:"MIK-3 · 提供純素選擇",lateNight:"台北深夜印度料理",lateNightDetail:"MIK-6 · 營業至凌晨 2 點",bar:"印度餐廳與完整酒吧",barDetail:"MIK-6 · 調酒與精選飲品",music:"印度現場音樂餐廳",musicDetail:"MIK-6 · 寶萊塢之夜",shisha:"水煙與 Hookah 休憩區",shishaDetail:"MIK-6 · 台北夜間體驗",catering:"台灣印度料理外燴服務",cateringDetail:"由指定 MIK 分店提供"}}}},N4="local",R4="homepage::local::src/content/homepage.content.js",K4="src/content/homepage.content.js",L4={key:D4,content:A4,location:N4,localId:R4,filePath:K4},O4="branches",B4={nodeType:"translation",translation:{en:{listing:{seoTitle:"Mayur Indian Kitchen Locations in Taiwan & Dubai",seoDescription:"Find your nearest Mayur Indian Kitchen location across Taiwan and Dubai, including our first international restaurant in Business Bay.",breadcrumbHome:"Home",breadcrumbBranches:"Branches",eyebrow:"Mayur across Taiwan & Dubai",title:"Restaurants near you",intro:"Choose the Mayur experience that fits your day—from vegetarian dining to live music, bars, and seaside tables.",location:"location",locations:"locations",filters:"Filters",sortBy:"Sort by",name:"Name",nearest:"Nearest first",allCities:"All Cities",finding:"Finding you…",within:"Within 5 km",vegetarian:"Vegan",alcohol:"Serves Alcohol",clearAll:"Clear all",denied:"Location access was not available. You can still find a restaurant using the city filter.",unsupported:"Your browser does not support nearby search. Please choose a city instead.",emptyTitle:"No matching locations",emptyText:"Try removing a filter or selecting another city.",clearFilters:"Clear filters",cuisine:"Indian Cuisine",servesAlcohol:"Serves alcohol",viewBranch:"View branch",reserve:"Reserve",explore:"Explore",photo:"photo",photos:"branch photos",showPhoto:"Show photo",of:"of"},detail:{seoSuffix:"Book a table, view the menu, and visit us today.",home:"Home",branches:"Branches",allBranches:"All branches",open:"Open",closed:"Closed",directions:"Directions",call:"Call",contactLine:"Contact on LINE",viewMenu:"View Menu",reserveTable:"Reserve a Table",closeHours:"Close opening hours",outletTimings:"Outlet timings",taiwanTime:"Times shown in Taiwan local time.",dubaiTime:"Times shown in Dubai local time.",today:"Today",about:"About This Branch",chefTip:"Chef’s Tip",reservationsWeekend:"Reservations recommended on weekends.",whatOffer:"What We Offer",signature:"Signature Dishes",whatOrder:"What to Order",dietary:"Dietary Options",everyone:"Everyone Is Welcome",vegetarianOptions:"Vegetarian Options",veganOptions:"Vegan Options",halalFriendly:"Halal-Friendly",variedOptions:"Varied Menu Options",gettingHere:"Getting Here",howFind:"How to Find Us",takeExit:"Take Exit",approximately:"Approximately",nearbyBus:"Nearby Bus Stops",address:"Address",attractions:"Nearby Attractions",exploreArea:"Explore the Area",hotels:"Nearby Hotels",placesStay:"Places to Stay",luxury:"Luxury",midRange:"Mid-Range",budget:"Budget",locationMap:"Location & Map",getDirections:"Get Directions",contact:"Contact",phone:"Phone",website:"Website",openingHours:"Opening Hours",fullMenu:"View Full Menu",dishes100:"100+ authentic dishes",faq:"Frequently Asked Questions",findUs:"Find Us",location:"Location",transit:"Transit",nearby:"Nearby",reviews:"Customer Reviews",guestsSay:"What Guests Say About",gallery:"Gallery",photos:"Photos",video:"Video",lookInside:"A Look Inside",exploreMore:"Explore More",otherBranches:"Other Branches",viewAll:"View All",previousPhoto:"Previous photo",nextPhoto:"Next photo",goPhoto:"Go to photo"}},"zh-TW":{listing:{seoTitle:"馬友友印度廚房台灣與迪拜分店",seoDescription:"尋找離你最近的馬友友印度廚房;分店遍布台灣,並於迪拜 Business Bay 設有首間海外餐廳。",breadcrumbHome:"首頁",breadcrumbBranches:"分店",eyebrow:"馬友友印度廚房遍布台灣與迪拜",title:"尋找附近餐廳",intro:"從蔬食料理、現場音樂與餐酒館,到海景座位,選擇最適合今天的馬友友印度廚房用餐體驗。",location:"間分店",locations:"間分店",filters:"篩選",sortBy:"排序方式",name:"名稱",nearest:"距離最近",allCities:"所有城市",finding:"正在取得位置…",within:"5 公里內",vegetarian:"純素",alcohol:"供應酒類",clearAll:"全部清除",denied:"無法取得你的位置。你仍可使用城市篩選尋找餐廳。",unsupported:"你的瀏覽器不支援附近搜尋,請改為選擇城市。",emptyTitle:"找不到符合條件的分店",emptyText:"請移除部分篩選條件,或選擇其他城市。",clearFilters:"清除篩選條件",cuisine:"印度料理",servesAlcohol:"供應酒類",viewBranch:"查看分店",reserve:"訂位",explore:"查看",photo:"照片",photos:"張分店照片",showPhoto:"顯示照片",of:"共"},detail:{seoSuffix:"立即查看菜單、預訂座位並前來用餐。",home:"首頁",branches:"分店",allBranches:"所有分店",open:"營業中",closed:"休息中",directions:"導航",call:"致電",contactLine:"透過 LINE 聯絡",viewMenu:"查看菜單",reserveTable:"預訂座位",closeHours:"關閉營業時間",outletTimings:"分店營業時間",taiwanTime:"以下時間為台灣當地時間。",dubaiTime:"以下時間為迪拜當地時間。",today:"今天",about:"關於這間分店",chefTip:"主廚小提醒",reservationsWeekend:"週末建議提前訂位。",whatOffer:"分店服務",signature:"招牌料理",whatOrder:"推薦餐點",dietary:"飲食選擇",everyone:"滿足不同飲食需求",vegetarianOptions:"蔬食選擇",veganOptions:"純素選擇",halalFriendly:"清真友善",variedOptions:"多元菜單選擇",gettingHere:"交通方式",howFind:"如何抵達",takeExit:"請走出口",approximately:"步行約",nearbyBus:"附近公車站",address:"地址",attractions:"附近景點",exploreArea:"探索周邊",hotels:"附近住宿",placesStay:"住宿選擇",luxury:"豪華",midRange:"中價位",budget:"平價",locationMap:"位置與地圖",getDirections:"開啟導航",contact:"聯絡方式",phone:"電話",website:"網站",openingHours:"營業時間",fullMenu:"查看完整菜單",dishes100:"超過 100 道道地料理",faq:"常見問題",findUs:"找到我們",location:"地點",transit:"交通",nearby:"周邊",reviews:"顧客評論",guestsSay:"顧客怎麼說",gallery:"相片集",photos:"照片",video:"影片",lookInside:"店內一覽",exploreMore:"探索更多",otherBranches:"其他分店",viewAll:"查看全部",previousPhoto:"上一張照片",nextPhoto:"下一張照片",goPhoto:"前往照片"}}}},F4="local",W4="branches::local::src/content/branches.content.js",H4="src/content/branches.content.js",z4={key:O4,content:B4,location:F4,localId:W4,filePath:H4},V4="reservation",q4={nodeType:"translation",translation:{en:{seo:{title:"Reserve a Table — Mayur Indian Kitchen",description:"Submit a reservation request for Mayur Indian Kitchen locations across Taiwan and Dubai.",home:"Home",reservations:"Reservations"},header:{home:"Home",eyebrow:"14 Branches · Taiwan & Dubai",title:"Reserve a Table",subt
215itle:"Request review · Free cancellation · No credit card required"},steps:{where:"Where & When",time:"Choose Time",details:"Your Details",review:"Review",submitted:"Submitted"},common:{back:"Back",continue:"Continue",guest:"guest",guests:"guests",optional:"(optional)",available:"Available"},branch:{intro:"Choose your branch, date, and party size",label:"Branch",select:"Select a branch…",party:"Party Size",largeParty:"For groups larger than 20, please call us directly.",date:"Date",closedHint:"Strikethrough = branch closed on that day",check:"Check Availability",errorBranch:"Please select a branch.",errorDate:"Please select a date.",errorParty:"Please select party size."},time:{title:"Choose Your Time",noSlots:"No slots available",noSlotsText:"This branch may be closed on the selected date, or all slots are past the booking cutoff.",differentDate:"Choose Different Date",filling:"Filling Fast",selected:"Selected",left:"left",error:"Please select a time slot.",lunch:"Lunch",dinner:"Dinner"},details:{title:"Your Details",intro:"Help us personalise your visit",fullName:"Full Name *",namePlaceholder:"Your full name",phone:"Phone Number *",email:"Email",emailPlaceholder:"[email protected]",occasion:"Occasion",dietary:"Dietary Preferences",requests:"Special Requests",requestsPlaceholder:"High chair needed, window seat preferred, birthday cake…",review:"Review Booking",nameError:"Full name is required.",phoneError:"Phone number is required.",emailError:"Enter a valid email address."},occasions:{none:"No Special Occasion",birthday:"🎂 Birthday",anniversary:"💑 Anniversary",date:"💕 Date Night",business:"💼 Business Lunch / Dinner",family:"👨‍👩‍👧 Family Gathering",other:"✨ Other Celebration"},dietary:{vegetarian:"Vegetarian",vegan:"Vegan",halal:"Halal",glutenFree:"Gluten-Free",nutAllergy:"Nut Allergy",dairyFree:"Dairy-Free"},review:{title:"Review Your Booking",intro:"Please confirm all details are correct before we reserve your table.",date:"Date",time:"Time",party:"Party Size",name:"Name",phone:"Phone",email:"Email",occasion:"Occasion",dietary:"Dietary",requests:"Requests",policy:"Free cancellation up to 2 hours before your reservation. Late arrivals held for 15 minutes. For group bookings ≥ 10, please call us directly.",failed:"Booking failed. Please try again.",slotFull:"This slot just filled up — please go back and select a different time.",confirming:"Confirming…",confirm:"Confirm Reservation"},confirmed:{sent:"Request Sent!",receivedConfirmed:"Your reservation request has been received and is confirmed.",receivedPending:"Your reservation request has been received and is pending review.",confirmed:"Confirmed",pending:"Pending review",reference:"Reservation Reference",saveConfirmed:"Save this reference for your records. The reservation has been auto-confirmed by our rules engine.",savePending:"Save this reference for your records. The restaurant will review it shortly.",share:"Share via WhatsApp",another:"Make Another Booking",home:"Back to Home"}},"zh-TW":{seo:{title:"馬友友印度廚房線上訂位",description:"線上預約馬友友印度廚房台灣與迪拜分店的用餐座位。",home:"首頁",reservations:"線上訂位"},header:{home:"首頁",eyebrow:"14 間分店 · 台灣與迪拜",title:"線上預訂座位",subtitle:"送出預約申請 · 免費取消 · 無需信用卡"},steps:{where:"分店與日期",time:"選擇時間",details:"聯絡資料",review:"確認資料",submitted:"已送出"},common:{back:"返回",continue:"繼續",guest:"位",guests:"位",optional:"(選填)",available:"可預訂"},branch:{intro:"選擇分店、日期與用餐人數",label:"分店",select:"請選擇分店…",party:"用餐人數",largeParty:"超過 20 人的團體訂位,請直接致電分店。",date:"日期",closedHint:"刪除線代表該分店當日公休",check:"查看可預訂時間",errorBranch:"請選擇分店。",errorDate:"請選擇日期。",errorParty:"請選擇用餐人數。"},time:{title:"選擇用餐時間",noSlots:"目前沒有可預訂時段",noSlotsText:"該分店可能於所選日期公休,或所有時段皆已超過預訂截止時間。",differentDate:"改選其他日期",filling:"即將額滿",selected:"已選擇",left:"個名額",error:"請選擇用餐時段。",lunch:"午餐",dinner:"晚餐"},details:{title:"聯絡資料",intro:"讓我們為你準備更貼心的用餐體驗",fullName:"姓名 *",namePlaceholder:"請輸入姓名",phone:"電話號碼 *",email:"電子郵件",emailPlaceholder:"[email protected]",occasion:"用餐場合",dietary:"飲食需求",requests:"特殊需求",requestsPlaceholder:"ä¾
215‹å¦‚:需要兒童椅、希望靠窗座位、準備生日蛋糕…",review:"確認預約資料",nameError:"請輸入姓名。",phoneError:"請輸入電話號碼。",emailError:"請輸入有效的電子郵件地址。"},occasions:{none:"一般用餐",birthday:"🎂 生日",anniversary:"💑 紀念日",date:"💕 約會",business:"💼 商務午餐/晚餐",family:"👨‍👩‍👧 家庭聚餐",other:"✨ 其他慶祝活動"},dietary:{vegetarian:"蔬食",vegan:"純素",halal:"清真",glutenFree:"無麩質",nutAllergy:"堅果過敏",dairyFree:"無乳製品"},review:{title:"確認預約資料",intro:"送出前請確認以下資料正確無誤。",date:"日期",time:"時間",party:"用餐人數",name:"姓名",phone:"電話",email:"電子郵件",occasion:"用餐場合",dietary:"飲食需求",requests:"特殊需求",policy:"用餐前 2 小時皆可免費取消;遲到將保留座位 15 分鐘。10 人以上團體訂位請直接致電分店。",failed:"預約失敗,請再試一次。",slotFull:"此時段剛剛額滿,請返回選擇其他時間。",confirming:"正在確認…",confirm:"確認送出預約"},confirmed:{sent:"預約申請已送出!",receivedConfirmed:"我們已收到你的預約申請,訂位已確認。",receivedPending:"我們已收到你的預約申請,目前等待分店確認。",confirmed:"已確認",pending:"等待確認",reference:"預約編號",saveConfirmed:"請保存此預約編號。系統已依訂位規則自動確認。",savePending:"請保存此預約編號,分店將儘快確認。",share:"透過 WhatsApp 分享",another:"再次預約",home:"返回首頁"}}}},$4="local",U4="reservation::local::src/content/reservation.content.js",G4="src/content/reservation.content.js",Y4={key:V4,content:q4,location:$4,localId:U4,filePath:G4},Z4="story",J4={nodeType:"translation",translation:{en:{seo:{title:"Our Story — Mayur Indian Kitchen",description:"Learn how Mayur Indian Kitchen grew from its original Taipei restaurant to 14 locations across Taiwan and Dubai.",home:"Home",story:"Story"},hero:{crumb:"Home / Our Story",eyebrow:"A legacy of spice and hospitality",title1:"From royal kitchens,",title2:"to Taiwan’s table.",quote:"Recipes shaped by centuries of royal tradition, carried across oceans, and served with the warmth of home."},origin:{aria:"The origins of Mayur Indian Kitchen",imageAlt:"Hand-painted Indian palace landscape beside a lake in Rajasthan",begins:"Every dish begins somewhere.",chapter:"The first chapter",ours:"Ours began",india:"in India.",caption:"A landscape of flavour · carried from India to Taiwan"},heritage:{thread:"The thread of memory",begins:"It begins with",remember:"what we remember.",grandmaAlt:"Watercolor of a Rajasthani grandmother cooking a family recipe",inheritance:"01 · Inheritance",recipes:"The recipes",carry:"we carry.",recipeCopy:"Recipes passed from one generation to the next—not written down, but remembered by hand, aroma and instinct.",ritual:"02 · Ritual",cooked:"Cooked",fire:"by fire.",fireCopy:"The same heat. The same patience. The same ritual. Fire turns technique into flavour.",tandoorAlt:"Watercolor of naan baking over a glowing tandoor fire",foundation:"03 · The foundation",spices:"Spices were never",afterthought:"an afterthought.",spicesAlt:"Watercolor of traditional Indian spices arranged in a wooden spice box"},modern:{originalAlt:"The original Mayur Indian Kitchen on Keelung Road in 2009",oneKitchen:"One small kitchen",taipei:"in Taipei.",firstCopy:"The first Mayur Indian Kitchen opened its doors on Keelung Road. Nobody knew how far that first table would take us.",firstHome:"Taipei · Our first home",oneBecame:"One became",five:"five.",dream:"Taipei gave us a home. And room to dream.",fiveAlt:"Mayur Srivastava and five Mayur Indian Kitchen locations across Taipei",beyond:"Beyond Taipei",butTaipei:"But Taipei was",beginning:"only the beginning.",taiwanWelcome:"Taiwan gave Mayur its first home. And city by city, you welcomed us.",horizon:"A new horizon",thenTime:"Then, it was time to go",further:"a little further.",dubaiAlt:"Watercolor view of Business Bay, Dubai",date:"01 July 2026",crossed:"We crossed",borders:"borders.",internationalHome:"Our first international home.",roots:"India gave us our roots. Taiwan gave us our home. And now, the journey continues beyond it.",years:"years",restaurants:"restaurants",countries:"countries",started:"We’re just getting started.",guestDivine:"Atithi Devo Bhava · The guest is divine",symbolAlt:"अतिथि देवो भव — Atithi Devo Bhava"},cities:{Taipei:"Taipei",Taoyuan:"Taoyuan",Hsinchu:"Hsinchu",Taichung:"Taichung",taiwan:"Taiwan",TaipeiCopy:"Taiwan gave Mayur its f
215irst home.",TaoyuanCopy:"A little further.",HsinchuCopy:"New tables. Familiar warmth.",TaichungCopy:"And then, further still.",TaipeiDetail:"Where the first table was set.",TaoyuanDetail:"Mayur Indian Kitchen · Taoyuan",HsinchuDetail:"Mayur Indian Kitchen · Zhubei",TaichungDetail:"Mayur Indian Kitchen · Taichung"}},"zh-TW":{seo:{title:"馬友友印度廚房品牌故事",description:"了解馬友友印度廚房如何從台北創始店,成長為遍布台灣與迪拜的 14 間分店。",home:"首頁",story:"品牌故事"},hero:{crumb:"首頁/品牌故事",eyebrow:"香料傳承與款待之道",title1:"從印度宮廷廚房,",title2:"走上台灣餐桌。",quote:"歷經數百年宮廷傳統淬鍊的食譜,跨越海洋,以家的溫暖端上每一張餐桌。"},origin:{aria:"馬友友印度廚房的起源",imageAlt:"手繪印度拉賈斯坦湖畔宮殿景色",begins:"每一道料理,都有它的起點。",chapter:"第一章",ours:"我們的故事始於",india:"印度。",caption:"一片風味的土地 · 從印度來到台灣"},heritage:{thread:"記憶的絲線",begins:"一切始於",remember:"我們記得的味道。",grandmaAlt:"水彩畫中的拉賈斯坦祖母正在烹調家傳料理",inheritance:"01 · 傳承",recipes:"代代相傳的",carry:"家傳食譜。",recipeCopy:"食譜從一代傳到下一代,不靠文字記錄,而是由雙手、香氣與直覺牢牢記住。",ritual:"02 · 儀式",cooked:"以火",fire:"烹調。",fireCopy:"同樣的火候、同樣的耐心、同樣的儀式。火,讓技藝轉化成風味。",tandoorAlt:"水彩畫中的印度烤餅正在炙熱坦都窯中烘烤",foundation:"03 · 根基",spices:"香料從來不是",afterthought:"最後才想到的配角。",spicesAlt:"傳統印度香料排列在木製香料盒中的水彩畫"},modern:{originalAlt:"2009 年基隆路上的第一間馬友友印度廚房",oneKitchen:"台北的一間",taipei:"小小廚房。",firstCopy:"第一間馬友友印度廚房在基隆路開門迎客。當時沒有人知道,最初的那張餐桌會帶我們走得多遠。",firstHome:"台北 · 我們的第一個家",oneBecame:"一間,成為",five:"五間。",dream:"台北給了我們一個家,也給了夢想生長的空間。",fiveAlt:"Mayur Srivastava 與馬友友印度廚房在台北的五間分店",beyond:"走出台北",butTaipei:"但台北",beginning:"只是起點。",taiwanWelcome:"台灣給了馬友友印度廚房第一個家,而一座城市接著一座城市,你們都熱情迎接了我們。",horizon:"新的地平線",thenTime:"接著,是時候",further:"再走遠一點。",dubaiAlt:"迪拜 Business Bay 水彩風景",date:"2026 年 7 月 1 日",crossed:"我們跨越了",borders:"國界。",internationalHome:"我們的第一個海外據點。",roots:"印度給了我們根;台灣給了我們家。如今,旅程繼續向更遠的地方延伸。",years:"年",restaurants:"間餐廳",countries:"個國家",started:"我們才正要開始。",guestDivine:"Atithi Devo Bhava · 賓客如神,敬客如敬神",symbolAlt:"अतिथि देवो भव — Atithi Devo Bhava,賓客如神"},cities:{Taipei:"台北",Taoyuan:"桃園",Hsinchu:"新竹",Taichung:"台中",taiwan:"台灣",TaipeiCopy:"台灣給了馬友友印度廚房第一個家。",TaoyuanCopy:"再向前一些。",HsinchuCopy:"新的餐桌,熟悉的溫暖。",TaichungCopy:"然後,再往更遠的地方。",TaipeiDetail:"第一張餐桌擺下的地方。",TaoyuanDetail:"馬友友印度廚房 · 桃園",HsinchuDetail
215:"馬友友印度廚房 · 竹北",TaichungDetail:"馬友友印度廚房 · 台中"}}}},X4="local",Q4="story::local::src/content/story.content.js",e_="src/content/story.content.js",t_={key:Z4,content:J4,location:X4,localId:Q4,filePath:e_},a_="offers-gallery",n_={nodeType:"translation",translation:{en:{offers:{seoTitle:"Offers & Deals — Mayur Indian Kitchen",seoDescription:"Browse lunch specials, group discounts, happy hour deals, birthday treats, and private event offers at Mayur Indian Kitchen.",home:"Home",breadcrumb:"Offers",year:"Offers · 2026",kicker:"For the table",title:"Reasons to gather.",intro:"Good food is already a reason. These are the small extras we set aside for your next table.",varies:"Offers vary by branch and season",all:"All offers",dining:"Dining deals",drinks:"Drinks & nightlife",vegan:"Vegan",view:"View offer",viewAria:"View offer",cover:"promotional cover",close:"Close offer",terms:"Terms & conditions",findBranch:"Find this branch",empty:"No current offers in this category.",expired:"This offer has expired.",celebrate:"Always worth celebrating",moreWays:"More ways to save",birthday:"Birthday Treat",birthdayText:"A complimentary sweet chocolate naan for the birthday guest; MIK-6 also offers a complimentary cocktail.",birthdayNote:"Advance booking and ID required",group:"Group Dining",groupText:"Groups of 15–20 or more can receive 20% off food when choosing a menu from NT$800 per person.",groupNote:"Advance booking · cash payment",goshare:"GoShare Members",goshareText:"Receive a 10% discount when using the GoShare app at participating Mayur locations.",goshareNote:"À la carte orders only",planning:"Planning something special?",build:"Let us build the right experience for your table.",ctaText:"Offers can vary by branch and season. Choose a location or message MIK on LINE to confirm the campaign before you arrive.",choose:"Choose a branch",line:"Ask on LINE"},gallery:{seoTitle:"Gallery — Mayur Indian Kitchen",seoDescription:"See the dishes, interiors, and dining atmosphere across Mayur Indian Kitchen’s branches in Taiwan.",home:"Home",breadcrumb:"Gallery",journal:"The food journal",established:"Est. 2011 · Taiwan",title:"The Mayur Table",intro:"A visual journal of spice, smoke, colour and the meals made for sharing.",all:"All",food:"Food",issue:"Issue no. 01 · From our kitchen",opening:"The opening plate",burst:"A burst of flavour, held in one crisp bite.",open:"Open the plate",fromKitchen:"From the kitchen",continuing:"The continuing feast",more:"More from our table.",discover:"Every dish has a place, a memory, and a little more to discover.",imageLabel:"Mayur Indian Kitchen food photograph",close:"Close image",previous:"Previous image",next:"Next image",image:"Image",of:"of",empty:"No images in this category."}},"zh-TW":{offers:{seoTitle:"馬友友印度廚房優惠活動",seoDescription:"查看馬友友印度廚房的午餐優惠、團體折扣、歡樂時光、生日招待與私人活動方案。",home:"首頁",breadcrumb:"優惠活動",year:"優惠活動 · 2026",kicker:"為餐桌準備的心意",title:"值得相聚的理由。",intro:"好料理本身就是相聚的理由,而這些額外心意,是我們為你的下一次聚餐特別準備的。",varies:"優惠依分店與季節而異",all:"所有優惠",dining:"用餐優惠",drinks:"飲品與夜生活",vegan:"純素",view:"查看優惠",viewAria:"查看優惠",cover:"優惠活動封面",close:"關閉優惠內容",terms:"活動條款",findBranch:"尋找適用分店",empty:"此分類目前沒有優惠活動。",expired:"此優惠活動已結束。",celebrate:"每次相聚都值得慶祝",moreWays:"更多優惠方式",birthday:"生日招待",birthdayText:"壽星可享免費巧克力甜烤餅;MIK-6 另招待一杯調酒。",birthdayNote:"須提前訂位並出示證件",group:"團體聚餐",groupText:"15 至 20 人以上團體選用每人 NT$800 起的菜單,可享餐點八折優惠。",groupNote:"須提前訂位 · 現金付款",goshare:"GoShare 會員",goshareText:"於適用的馬友友印度廚房分店使用 GoShare App,可享九折優惠。",goshareNote:"僅適用單點消費",planning:"正在規劃特別聚會?",build:"讓我們為你的餐桌打造合適的聚餐體驗。",ctaText:"優惠依分店與季節而異。出發前請選擇分店,或透過 LINE 聯絡 MIK 確認活動內容。",choose:"選擇分店",line:"透過 LINE 詢問"},gallery:{seoTitle:"馬友友印度廚房精彩相冊",seoDescription:"瀏覽馬友友印度廚房台灣各分店的料理、空間與用餐氛圍。",home:"首頁",breadcrumb:"精彩相冊",journal:"料理影像誌",established:"2011 年創立 · 台灣",title:"馬友友印度廚房的餐桌",intro:"以影像記錄香料、炭火、色彩,以及為分享而生的每一道料理。",all:"全部",food:"料理",issue:"第 01 期 · 來自我們的廚房",opening:"開場料理",burst:"一口酥脆,盛住迸發的風味。",open:"查看料理照片",fromKitchen:"來自廚房",continuing:"盛宴仍在繼續",more:"餐桌上的更多風景。",discover:"每道料理都有它的位置與記憶,也總有更多等待發現。",imageLabel:"馬友友印度廚房料理照片",close:"關閉圖片",previous:"上一張圖片",next:"下一張圖片",image:"圖片",of:"共",empty:"此分類目前沒有圖片。"}}}},i_="local",r_="offers-gallery::local::src/content/offers-gallery.content.js",s_="src/content/offers-gallery.content.js",o_={key:a_,content:n_,location:i_,localId:r_,filePath:s_},l_="testimonials-careers",c_={nodeType:"translation",translation:{en:{testimonials:{seoTitle:"Reviews — Mayur Indian Kitchen",seoDesc:"Read guest reviews and dining experiences from Mayur Indian Kitchen locations across Taiwan.",home:"Home",reviews:"Reviews",eyebrow:"Guest Experiences",title:"Words from Our Guests",loading:"Reviews loading…",previous:"Previous review",next:"Next review",goTo:"Go to review",live:"Live from Google Reviews",count:"Reviews",translation:"Translated from the original English review",original:"Show original",translated:"Show translation"},careers:{seoTitle:"Careers — Join the Mayur Indian Kitchen Team",seoDesc:"Join the Mayur Indian Kitchen family across 14 locations in Taiwan and Dubai.",home:"Home",careers:"Careers",join:"Join Our Team",title:"Come Work With Us",intro:"At Mayur Indian Kitchen, we are more than a restaurant — we are a family. Join 300+ team members across Taiwan bringing the authentic taste of India to every table.",culture:"Our Culture",life:"Life at Mayur",family:"A Family First Ethos",familyText:"We treat every team member like family. Birthdays are celebrated, milestones are recognised, and everyone is encouraged to bring their full selves to work. Our annual team outings and Diwali celebrations are legendary.",learning:"Learning Every Day",learningText:"From mastering the tandoor to learning conversational Mandarin or Hindi, we invest in your growth. Regular training sessions, cross-branch rotations, and mentorship programs help you build skills that last a lifetime.",diversity:"Diversity Is Our Strength",diversityText:"Our team represents over 10 nationalities. We celebrate our differences through food-sharing, language exchange, and cultural festivals. At MIK, your background is your superpower.",growth:"Growth From Within",growthText:"Many of our branch managers started as servers. Our head chefs began as kitchen helpers. We believe in promoting from within and providing clear pathways for career advancement across our growing restaurant group.",ready:"Ready to Join the Family?",instructions:"Send us your resume and a brief note about yourself. We will be in touch to arrange a conversation.",apply:"Apply Now",visit:"Visit a Branch",note:"No walk-in applications, please. We will respond to all qualified applicants within 5 business days."}},"zh-TW":{testimonials:{seoTitle:"馬友友印度廚房顧客評論",seoDesc:"閱讀顧客在馬友友印度廚房台灣各分店的用餐心得。",home:"首頁",reviews:"顧客評論",eyebrow:"顧客用餐體驗",title:"聽聽顧客怎麼說",loading:"正在載入評論…",previous:"上一則評論",next:"下一則評論",goTo:"前往評論",live:"Google 評論即時內容",count:"則評論",translation:"以下為英文原文之中文翻譯",original:"查看英文原文",translated:"查看中文翻譯"},careers:{seoTitle:"馬友友印度廚房人才招募",seoDesc:"加入馬友友印度廚房在台灣與迪拜 14 間分店的跨國團隊。",home:"首頁",careers:"人才招募",join:"加入我們的團隊",title:"與我們一起工作",intro:"在馬友友印度廚房,我們不只是一間餐廳,更是一個大家庭。加入遍布台灣、超過 300 位夥伴的團隊,一起把道地印度滋味帶到每張餐桌。",culture:"團隊文化",life:"在馬友友印度廚房的工作日常",family:"以家人為先",familyText:"我們把每位夥伴都當成家人,一起慶祝生日與重要里程碑,也鼓勵每個人在工作中展現真實的自己。年度員工旅遊與排燈節慶祝活動更是團隊傳統。",learning:"每天持續學習",learningText:"從掌握坦都窯烹調,到學習日常中文或印地語,我們願意投資每位夥伴的成長。定期訓練、跨店輪調與導師制度,協助你累積長久受用的能力。",diversity:"多元就是我們的力量",diversityText:"團隊成員來自超過 10 個國家。我們透過分享料理、語言交流與文化節慶欣賞彼此的不同;在 MIK,你的背景就是獨特優勢。",growth:"從內部培養人才",growthText:"許多分店經理從外場服務開始,主廚也曾是廚房助手。我們重視內部晉升,並在持續成長的餐飲集團中提供清楚的職涯發展路徑。",ready:"準備加入這個大家庭了嗎?",
215instructions:"請傳送履歷與簡短自我介紹,我們會與合適的應徵者聯絡並安排面談。",apply:"立即應徵",visit:"前往分店了解",note:"恕不接受現場直接投遞。符合條件的應徵者將於 5 個工作天內收到回覆。"}}}},u_="local",d_="testimonials-careers::local::src/content/testimonials-careers.content.js",h_="src/content/testimonials-careers.content.js",p_={key:l_,content:c_,location:u_,localId:d_,filePath:h_},f_="legal-system",m_={nodeType:"translation",translation:{en:{common:{lastUpdated:"Last updated",translationLabel:"Original website legal text",translationNotice:"This page contains the current legal text published on this website.",questions:"Questions about this?",emailLead:"Email",emailTail:"and we’ll help.",privacy:"Privacy",terms:"Terms",cookies:"Cookies",updated:"12 August 2026"},privacy:{seoTitle:"Privacy",eyebrow:"Privacy",title:"Your information, handled with care.",description:"How Mayur Indian Kitchen collects, uses and protects the information you share with us.",sections:[["Information we collect","We collect information you choose to provide when you make a reservation, contact us, use the chat assistant or subscribe to updates. This can include your name, phone number, email address, booking details, dietary notes and message content. We also receive limited technical information needed to keep the website secure and working correctly."],["How we use it","We use your information to manage reservations, respond to enquiries, provide requested service, improve our website and protect against fraud or misuse. We do not sell personal information."],["When we share it","We share information only with service providers that help us operate the website, reservations, communications and security, or where required by law. They may use it only to provide those services."],["How long we keep it","We retain information only for as long as reasonably necessary for the purpose it was collected, to meet legal obligations or to resolve disputes."],["Your choices","You can ask to access, correct or delete your personal information, or withdraw marketing consent, by emailing us. Some information may need to be retained where legally required or to complete an existing booking."],["Security","We use reasonable technical and organisational safeguards. No online service can promise absolute security, so please avoid sending sensitive information through open message fields."]]},terms:{seoTitle:"Terms of use",eyebrow:"Terms of use",title:"The simple terms of visiting Mayur online.",description:"These terms apply when you use the Mayur Indian Kitchen website, place an enquiry or make a reservation request.",sections:[["Using this website","Please use this website lawfully and respectfully. Content, photographs, logos, menus and design are owned by or licensed to Mayur Indian Kitchen and may not be copied or reused without permission."],["Menus, availability and prices","Menus, dishes, availability, offers, branch information and prices can change. The information on this website is a guide; please confirm current details with your selected branch before visiting."],["Reservations","A reservation request is not confirmed until you receive confirmation from Mayur or the relevant reservation service. Please provide accurate details and contact the branch if your plans change. Group-booking or cancellation requirements may vary by branch."],["Links and third-party services","This website may link to maps, messaging, social media and booking platforms. Their services are governed by their own terms and privacy policies."],["No warranty","We aim to keep the website accurate and available, but it is provided on an “as is” basis. To the extent allowed by law, Mayur Indian Kitchen is not liable for losses caused by reliance on website information or temporary interruption of the site."],["Changes to these terms","We may update these terms when our services or legal obligations change. Continued use of the site after an update means you accept the revised terms."]]},cookies:{seoTitle:"Cookies",eyebrow:"Cookies",title:"A clear note about cookies.",description:"Cookies are small files that help a website remember essential settings and operate safely.",sections:[["Essential cookies","We use essential cookies and similar technologies for core website functions, including secure sign-in where applicable, fraud prevention and remembering necessary site settings. These cannot be switched off without affecting the service."],["Optional services","If we add anal
215ytics, advertising or other optional cookie-based services, this notice and any consent controls will be updated before those tools are used."],["Managing cookies","You can manage or delete cookies through your browser settings. Blocking essential cookies may prevent some parts of the website from functioning correctly."]]},notFound:{seoTitle:"Page Not Found",seoDescription:"The requested page could not be found.",label:"Page Not Found",titleLineOne:"Looks like this dish",titleLineTwo:"isn't on the menu.",descriptionLineOne:"The page you're looking for may have moved or doesn't exist.",descriptionLineTwo:"Let us guide you back to something delicious.",home:"Back to Home",menu:"View Our Menu",branches:"Find a Branch"}},"zh-TW":{common:{lastUpdated:"最後更新日期",translationLabel:"翻譯說明",translationNotice:"本頁為現有網站英文法律文字的繁體中文翻譯,旨在呈現相同內容,並未新增法律建議、權利或義務。",questions:"對本頁內容有疑問嗎?",emailLead:"請寄信至",emailTail:",我們會協助您。",privacy:"隱私權政策",terms:"使用條款",cookies:"Cookie 政策",updated:"2026 年 8 月 12 日"},privacy:{seoTitle:"隱私權政策",eyebrow:"隱私權政策",title:"用心妥善處理您的資料。",description:"說明馬友友印度廚房如何蒐集、使用及保護您提供給我們的資料。",sections:[["我們蒐集的資料","當您預約、聯絡我們、使用聊天助理或訂閱最新消息時,我們會蒐集您選擇提供的資料。這些資料可能包括您的姓名、電話號碼、電子郵件地址、訂位詳情、飲食備註及訊息內容。我們也會接收維持網站安全與正常運作所需的有限技術資料。"],["我們如何使用資料","我們使用您的資料來管理訂位、回覆詢問、提供您要求的服務、改善網站,以及防範詐騙或不當使用。我們不會出售個人資料。"],["我們何時分享資料","我們只會與協助營運網站、處理訂位、通訊及安全事務的服務供應商分享資料,或在法律要求時分享資料。這些供應商只能將資料用於提供相關服務。"],["資料保留期間","我們只會在達成蒐集目的、履行法律義務或解決爭議所合理需要的期間內保留資料。"],["您的選擇","您可寄送電子郵件要求存取、更正或刪除您的個人資料,或撤回行銷同意。在法律要求或為完成現有訂位的情況下,部分資料可能仍需保留。"],["安全措施","我們採取合理的技術與組織安全措施。任何線上服務都無法保證絕對安全,因此請避免透過開放式訊息欄位傳送敏感資料。"]]},terms:{seoTitle:"使用條款",eyebrow:"使用條款",title:"瀏覽馬友友印度廚房網站的簡明條款。",description:"當您使用馬友友印度廚房網站、提出詢問或送出訂位要求時,本條款即適用。",sections:[["使用本網站","請以合法且尊重他人的方式使用本網站。網站內容、照片、標誌、菜單及設計由馬友友印度廚房擁有或取得授權,未經許可不得複製或重複使用。"],["菜單、供應狀況與價格","菜單、餐點、供應狀況、優惠、分店資訊及價格可能有所變動。本網站資訊僅供參考;到訪前請向您選擇的分店確認最新詳情。"],["訂位","在您收到馬友友印度廚房或相關訂位服務的確認前,訂位要求尚未成立。請提供正確資料;若行程有變,請聯絡分店。團體訂位或取消規定可能因分店而異。"],["連結與第三方服務","本網站可能連結至地圖、通訊、社群媒體及訂位平台。這些服務受其各自的條款與隱私權政策規範。"],["不提供保證","我們致力維持網站資訊正確並可正常使用,但本網站按「現況」提供。在法律允許的範圍內,馬友友印度廚房不對因信賴網站資訊或網站暫時中斷而造成的損失負責。"],["條款變更","當我們的服務或法律義務有所變更時,我們可能更新本條款。條款更新後繼續使用本網站,即表示您接受修訂後的條款。"]]},cookies:{seoTitle:"Cookie 政策",eyebrow:"Cookie 政策",title:"清楚說明 Cookie 的使用方式。",description:"Cookie 是小型檔案,可協助網站記住必要設定並安全運作。",sections:[["必要 Cookie","我們使用必要 Cookie 及類似技術來支援網站核心功能,包括適用時的安全登入、防止詐騙,以及記住必要的網站設定。若關閉這些技術,服務可能會受到影響。"],["選用服務","若我們新增分析、廣告或其他以 Cookie 為基礎的選用服務,會在使用相關工具前更新本說明及任何同意控制項。"],["管理 Cookie","您可以透過瀏覽器設定管理或刪除 Cookie。
215封鎖必要 Cookie 可能導致網站部分功能無法正常運作。"]]},notFound:{seoTitle:"找不到頁面",seoDescription:"找不到您要求的頁面。",label:"找不到頁面",titleLineOne:"看來這道菜",titleLineTwo:"不在菜單上。",descriptionLineOne:"您尋找的頁面可能已移動或不存在。",descriptionLineTwo:"讓我們帶您回到更多美味選擇。",home:"返回首頁",menu:"查看菜單",branches:"尋找分店"}}}},g_="local",y_="legal-system::local::src/content/legal-system.content.js",b_="src/content/legal-system.content.js",v_={key:f_,content:m_,location:g_,localId:y_,filePath:b_};function Yt(t){const{locale:n}=ya();if(t==="shared-shell")return La(E4,n);if(t==="homepage")return La(L4,n);if(t==="branches")return La(z4,n);if(t==="reservation")return La(Y4,n);if(t==="story")return La(t_,n);if(t==="offers-gallery")return La(o_,n);if(t==="testimonials-careers")return La(p_,n);if(t==="legal-system")return La(v_,n);throw new Error(`Unknown Intlayer dictionary: ${t}`)}const w_=[{locale:qn,label:"EN"},{locale:Kt,label:"中文"}];function xm({compact:t=!1,className:n=""}){const{locale:i}=ya(),{navbar:s}=Yt("shared-shell"),l=Je();if(l.pathname==="/admin"||l.pathname.startsWith("/admin/"))return null;const u=f=>`${T4(l.pathname,f)}${l.search}${l.hash}`,h=f=>{I4(f)};return d.jsx("div",{className:`inline-flex items-center rounded-full border border-current/25 p-1 ${n}`,role:"group","aria-label":s.language,children:w_.map(f=>{const m=f.locale===i;return d.jsx("a",{href:u(f.locale),onClick:()=>h(f.locale),hrefLang:f.locale===qn?"en":Kt,lang:f.locale===qn?"en":Kt,"aria-label":f.locale===qn?s.switchEnglish:s.switchChinese,"aria-current":m?"page":void 0,className:`rounded-full font-bold leading-none transition-colors focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-brand-saffron ${t?"px-2.5 py-2 text-[11px]":"px-3 py-2 text-xs"} ${m?"bg-brand-saffron text-white":"text-current opacity-65 hover:opacity-100"}`,children:f.label},f.locale)})})}function x_(){return d.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:d.jsx("path",{d:"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"})})}function k_(){const{navbar:t}=Yt("shared-shell"),{locale:n}=ya(),[i,s]=x.useState(!1),[l,u]=x.useState(!1),[h,f]=x.useState(!1),m=Je();m.pathname;const g=m.pathname.startsWith("/branches"),y=m.pathname==="/blog"||m.pathname.startsWith("/blog/"),b=m.pathname==="/experiences"||m.pathname.startsWith("/experiences/")||m.pathname==="/events"||m.pathname.startsWith("/events/"),w=[{label:t.home,to:"/"},{label:t.story,to:"/about-us-mik-taipei"},{label:t.menu,to:"/menu"},{label:t.offers,to:"/discount-promotions-indian-taiwan"},{label:t.events,to:"/experiences"},{label:t.gallery,to:"/gallery"}],_=n==="zh-TW"?"您好,我想預訂馬友友印度廚房的座位。":"Hello Mayur Indian Kitchen! I'd like to make a reservation.";x.useEffect(()=>{const R=()=>{u(window.scrollY>60);const W=document.querySelector("[data-nav-hero], #home, #story-hero"),N=W?W.offsetTop+W.offsetHeight:0;f(!!W&&window.scrollY<N-88)};window.addEventListener("scroll",R),window.addEventListener("resize",R);const K=window.requestAnimationFrame(R);return()=>{window.removeEventListener("scroll",R),window.removeEventListener("resize",R),window.cancelAnimationFrame(K)}},[m.pathname]);const j=h&&!l,M=l?"bg-white/95 backdrop-blur-md border-b border-brand-border shadow-sm shadow-black/5":j?"bg-[#1c1208]/15 backdrop-blur-[2px]":"bg-brand-deeper/80 backdrop-blur-sm border-b border-brand-border/40",S=j?"text-white/70 hover:text-white":"text-brand-muted hover:text-brand-cream",E=j?"text-white":"text-brand-saffron";return d.jsxs("header",{className:`fixed top-0 left-0 right-0 z-50 transition-all duration-400 ${M}`,children:[d.jsxs("div",{className:"page-container flex items-center justify-between h-[88px]",children:[d.jsx(ye,{to:"/",className:"flex items-center shrink-0",children:d.jsx("img",{src:"/images/mik-logo.png",alt:n==="zh-TW"?"馬友友印度廚房":"Mayur Indian Kitchen",className:`h-12 md:h-14 w-auto transition-all duration-300 ${j?"brightness-0 invert":""}`})}),d.jsxs("nav",{className:"hidden xl:flex items-center gap-5 2xl:gap-8",children:[w.map(R=>d.jsxs(ye,{to:R.to,className:`relative text-[14px] tracking-[0.1em] uppercase font-black transition-colors duration-300 group ${(R.to==="/experiences"?b:m.pathname===R.to)?E:S}`,children:[R.label,d.jsx("span",{className:`absolute -bottom-[18px] left-0 h-px bg-brand-saffron transition-all duration-300 ${(R.to==="/experiences"?b:m.pathname===R.to)?"w-full":"w-0 group-hover:w-full"}`})]},R.to)),d.jsxs(ye,{to:"/branches",className:`relative text-[14px] tracking-[0.1em] uppercase font-black transition-colors flex items-center gap-2 group ${g?E:S}`,children:[t.branches,d.jsx("span",{className:"text-[9px] bg-brand-saffron text-white font-bold px-1.5 py-0.5 leading-none",children:"14"}),d.jsx("span",{className:`absolute -bottom-[18px] left-0 h-px bg-brand-saffron transition-all duration-300 ${g?"w-full":"w-0 group-hover:w-full"}`})]}),d.jsxs(ye,{to:"/blog",className:`relative text-[14px] tracking-[0.1em] uppercase font-black transition-colors group ${y?E:S}`,children:[t.journal,d.jsx("span",{className:`absolute -bottom-[18px] left-0 h-px bg-brand-saffron transition-all duration-300 ${y?"
215w-full":"w-0 group-hover:w-full"}`})]}),d.jsx(ye,{to:"/discover-india",className:`text-[14px] tracking-[0.1em] uppercase font-black transition-colors border px-3.5 py-2 ${j?"text-white/70 hover:text-white border-white/20":"text-brand-saffron/80 hover:text-brand-saffron border-brand-saffron/20"}`,children:t.discoverIndia})]}),d.jsxs("div",{className:"hidden xl:flex items-center gap-3",children:[d.jsx(xm,{compact:!0,className:`!h-[52px] ${j?"text-white":"text-brand-muted"}`}),d.jsx("a",{href:`https://wa.me/886921004175?text=${encodeURIComponent(_)}`,target:"_blank",rel:"noreferrer",className:"btn-outline-gold !h-[52px] !min-h-[52px] !min-w-0 !w-[52px] !px-0","aria-label":t.whatsapp,children:d.jsx(x_,{})}),d.jsxs(ye,{to:"/reservations",className:"btn-gold !h-[52px] !min-h-[52px] !min-w-[170px]",children:[d.jsx($c,{size:16})," ",t.reserve]})]}),d.jsx("button",{onClick:()=>s(!i),"aria-label":i?t.closeMenu:t.openMenu,"aria-expanded":i,className:`xl:hidden transition-colors p-2 ${j?"text-white/80":"text-brand-muted"}`,children:i?d.jsx(Hu,{size:22}):d.jsx(h4,{size:22})})]}),d.jsx(Wa,{children:i&&d.jsx(Le.div,{initial:{opacity:0,height:0},animate:{opacity:1,height:"auto"},exit:{opacity:0,height:0},transition:{duration:.25},className:"xl:hidden bg-white border-t border-brand-border overflow-hidden shadow-lg",children:d.jsxs("nav",{className:"flex flex-col px-6 py-7 gap-5",children:[w.map(R=>d.jsx(ye,{to:R.to,onClick:()=>s(!1),className:`text-base tracking-[0.1em] uppercase font-bold transition-colors ${m.pathname===R.to?"text-brand-gold":"text-brand-muted"}`,children:R.label},R.to)),d.jsxs(ye,{to:"/branches",onClick:()=>s(!1),className:"text-base tracking-[0.1em] uppercase font-bold text-brand-muted flex items-center gap-2",children:[t.branches,d.jsx("span",{className:"text-[9px] bg-brand-gold text-white font-bold px-1.5 py-0.5",children:"14"})]}),d.jsx(ye,{to:"/blog",onClick:()=>s(!1),className:"text-base tracking-[0.1em] uppercase font-bold text-brand-muted",children:t.journal}),d.jsx(ye,{to:"/discover-india",onClick:()=>s(!1),className:"text-base tracking-[0.1em] uppercase font-bold text-brand-gold/80",children:t.discoverIndia}),d.jsx(xm,{className:"self-start text-brand-muted"}),d.jsxs(ye,{to:"/reservations",onClick:()=>s(!1),className:"btn-gold justify-center mt-2",children:[d.jsx($c,{size:13})," ",t.reserveTable]})]})})})]})}const __=Le(ye);function T_(){const{hero:t}=Yt("homepage"),{locale:n}=ya(),i=n==="zh-TW"?"font-senty-title font-normal":"";return d.jsxs("section",{id:"home",className:"relative h-screen min-h-[600px] max-h-[900px] overflow-hidden",children:[d.jsx("img",{src:"/images/mik-hi5-hero.webp",alt:"",className:"absolute inset-0 w-full h-full object-cover"}),d.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/80 via-black/40 to-black/20"}),d.jsx("div",{className:"absolute inset-0 bg-gradient-to-r from-black/60 via-trans
215parent to-black/20"}),d.jsx("div",{className:"absolute bottom-0 left-1/2 -translate-x-1/2 w-[800px] h-[200px] bg-brand-saffron/8 blur-[120px] pointer-events-none"}),d.jsx("div",{className:"relative z-10 page-container h-full flex flex-col justify-center",children:d.jsxs("div",{className:"max-w-3xl",children:[d.jsxs(Le.div,{initial:{opacity:0,y:-12},animate:{opacity:1,y:0},transition:{duration:.6,delay:.1},className:"flex items-center gap-3 mb-7",children:[d.jsx("span",{className:"h-px w-8 bg-brand-saffron/60"}),d.jsx("span",{className:"text-white/75 text-[13px] font-semibold tracking-[0.24em] uppercase",children:t.eyebrow})]}),d.jsx(Le.h1,{initial:{opacity:0,y:30},animate:{opacity:1,y:0},transition:{duration:.8,delay:.35,ease:[.22,1,.36,1]},className:`font-serif font-bold italic text-white drop-shadow-lg ${n==="zh-TW"?"whitespace-nowrap font-senty-title text-[clamp(2.9rem,7.2vw,6.8rem)] font-normal not-italic leading-none tracking-[-0.025em]":"text-6xl leading-[0.88] tracking-tight sm:text-7xl lg:text-8xl xl:text-9xl"}`,children:t.brand}),t.subtitle&&d.jsx(Le.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:.5},className:`font-serif text-2xl sm:text-3xl font-semibold text-brand-saffron mt-4 tracking-wide ${i}`,children:t.subtitle}),d.jsx(Le.div,{initial:{scaleX:0},animate:{scaleX:1},transition:{duration:.8,delay:.6,ease:[.22,1,.36,1]},className:"h-[1px] w-24 bg-brand-saffron/60 origin-left mt-6"}),d.jsx(Le.p,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:.7},className:"text-white/85 text-lg sm:text-xl mt-6 max-w-2xl leading-relaxed font-medium",children:t.tagline}),d.jsxs(Le.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},transition:{duration:.6,delay:.9},className:"flex flex-col sm:flex-row gap-3 mt-10",children:[d.jsxs(ye,{to:"/branches",className:"btn-gold inline-flex min-h-14 gap-3 px-8 py-4",children:[d.jsx($c,{size:17})," ",t.book]}),d.jsxs(ye,{to:"/menu",className:"inline-flex min-h-14 items-center justify-center gap-3 px-8 py-4 border border-white/40 hover:border-white/75 bg-black/10 text-white/90 hover:text-white text-sm font-bold tracking-[0.1em] uppercase transition-all duration-300 backdrop-blur-sm",children:[d.jsx(l4,{size:17})," ",t.menu]}),d.jsxs(ye,{to:"/branches",className:"inline-flex min-h-14 items-center justify-center gap-3 px-8 py-4 border border-white/40 hover:border-white/75 bg-black/10 text-white/90 hover:text-white text-sm font-bold tracking-[0.1em] uppercase transition-all duration-300 backdrop-blur-sm",children:[d.jsx(to,{size:17})," ",t.branches]})]})]})}),d.jsxs(__,{to:"/about-us-mik-taipei",initial:{opacity:0}
215,animate:{opacity:1},transition:{delay:1.4},className:"absolute bottom-10 left-1/2 -translate-x-1/2 flex flex-col items-center gap-1 text-white/40 hover:text-white/70 transition-colors",children:[d.jsx("span",{className:"text-[10px] tracking-widest uppercase",children:t.scroll}),d.jsx(Le.div,{animate:{y:[0,6,0]},transition:{duration:1.6,repeat:1/0},children:d.jsx(Oy,{size:17})})]})]})}const I_=[{name:"中央社 CNA",logo:"/images/press/cna-taiwan.png",logoClass:"scale-125",href:"https://www.cna.com.tw/newsworld/article/20181114n005/"},{name:"人間福報 Merit Times",logo:"/images/press/merit-times.jpg",logoClass:"scale-110",href:"https://www.merit-times.com.tw/NewsPage.aspx?unid=562929"},{name:"Taipei Times",logo:"/images/press/taipei-times.png",logoClass:"scale-[1.55]",href:"https://www.taipeitimes.com/News/feat/archives/2012/04/26/2003531281"},{name:"台視新聞 TTV",logo:"/images/press/ttv-news.gif",logoClass:"scale-[1.55]",href:"https://www.youtube.com/watch?v=qInU7KVnaRs"},{name:"民視新聞 FTV",logo:"/images/press/ftv.png",logoClass:"scale-110",href:"https://www.ftvnews.com.tw/news/detail/2018119J66M1"},{name:"三立新聞 SET News",logo:"/images/press/set-news.png",href:"https://www.youtube.com/watch?v=llMKeIka_ng"},{name:"TVBS",logo:"/images/press/tvbs.jpg",logoClass:"scale-125",href:"https://supertaste.tvbs.com.tw/hot/346266"},{name:"Taiwan News",logo:"/images/press/taiwan-news.jpg",logoClass:"scale-125",href:"https://www.taiwannews.com.tw/news/4053513"},{name:"CNA Channel NewsAsia",logo:"/images/press/channel-newsasia.png",href:"https://www.channelnewsasia.com/advertorial/finding-new-familiar-taiwan-youve-always-loved-beckoning-new-adventures-2538921"}];function km({hidden:t=!1}){return d.jsx("div",{className:"press-strip__set","aria-hidden":t||void 0,children:I_.map(n=>d.jsx("a",{href:n.href,target:"_blank",rel:"noreferrer","aria-label":t?void 0:n.name,tabIndex:t?-1:void 0,className:"press-strip__logo group",children:d.jsx("img",{src:n.logo,alt:t?"":n.name,loading:"lazy",className:`h-full w-full object-contain grayscale transition duration-300 group-hover:grayscale-0 ${n.logoClass||""}`})},`${t?"copy-":""}${n.name}`))})}function M_(){const{press:t}=Yt("homepage");return d.jsx("section",{className:"border-b border-[#e4e0d9] bg-white py-5 text-[#211d19] sm:py-6","aria-labelledby":"press-strip-title",children:d.jsx("div",{className:"page-container",children:d.jsxs("div",{className:"flex items-center gap-4 sm:gap-7",children:[d.jsx("h2",{id:"press-strip-title",className:"w-[74px] shrink-0 text-[10px] font-black uppercase leading-4 tracking-[0.2em] text-[#6e675f] sm:w-[105px] sm:text-xs",children:t.heading}),d.jsx("div",{className:"min-w-0 flex-1 overflow-hidden [mask-image:linear-gradient(to_right,transparent,black_5%,black_95%,transparent)]",children:d.jsxs("div",{className:"press-strip__track hover:[animation-play-state:paused] motion-reduce:animate-none",children:[d.jsx(km,{}),d.jsx(km,{hidden:!0})]})})]})})})}function S_(t,n){const i=n==="zh-TW"?"zh-TW":"en-GB",s=t.timeZone||"Asia/Taipei",l=new Date(t.startDate),u=t.endDate?new Date(t.endDate):null;return{date:new Intl.DateTimeFormat(i,{timeZone:s,weekday:"short",month:"short",day:"numeric",year:"numeric"}).format(l),time:`${new Intl.DateTimeFormat(i,{timeZone:s,hour:"numeric",minute:"2-digit"}).format(l)}${u?`–${new Intl.DateTimeFormat(i,{timeZone:s,hour:"numeric",minute:"2-digit"}).format(u)}`:""}`}}function j_({event:t,locale:n="en",compact:i=!1}){const s=n==="zh-TW",{date:l,time:u}=S_(t,n);return d.jsxs("article",{className:"group flex h-full flex-col overflow-hidden border border-[#d8c9b7] bg-white transition-transform duration-300 hover:-translate-y-1",children:[d.jsxs("div",{className:`relative overflow-hidden bg-[#eee5d7] ${i?"aspect-[16/10]":"aspect-[16/9]"}`,children:[t.image?d.jsx("img",{src:t.image,alt:t.imageAlt||t.title,loading:"lazy",className:"h-full w-full object-cover transition-transform duration-700 group-hover:scale-105"}):d.jsx("div",{className:"flex h-full items-center justify-center",children:d.jsx(Uc,{size:42,className:"text-brand-saffron/50"})}),d.jsx("span",{className:"absolute left-4 top-4 bg-brand-saffron px-3 py-1.5 text-[10px] font-bold uppercase tracking-[0.18em] text-white",children:s?"現場活動":"Live event"})]}),d.jsxs("div",{className:`flex flex-1 flex-col ${i?"p-5":"p-6"}`,children:[d.jsxs("div",{className:"flex flex-wrap gap-x-4 gap-y-2 text-[11px] font-semibold uppercase tracking-[0.1em] text-[#8b654b]",children:[d.jsxs("span",{className:"flex items-center gap-1.5",children:[d.jsx(Uc,{size:13}),l]}),d.jsxs("span",{className:"flex items-center gap-1.5",children:[d.jsx(r4,{size:13}),u]})]}),d.jsx("h3",{className:`mt-4 text-[#25170f] ${s?"font-senty-title text-2xl font-bold":"font-serif text-2xl font-semibold italic"}`,children:t.title}),t.description&&d.jsx("p",{className:"mt-3 line-clamp-3 text-sm leading-6 text-[#6e6258]",children:t.description}),d.jsxs("div",{className:"mt-auto pt-5",children:[d.jsxs("p",{className:"flex items-start gap-2 text-xs leading-5 text-[#76695e]",children:[d.jsx(to,{size:14,className:"mt-0.5 shrink-0 text-brand-saffron"}),t.location||t.address]}),d.jsxs(ye,{to:`/experiences/${t.slug}`,className:"mt-5 inline-flex items-center gap-2 border-b border-[#25170f] pb-1 text-xs font-bold uppercase tracking-[0.15em] text-[#25170f] transition-colors hover:border-brand-saffron hover:text-brand-saffron",children:[s?"查看活動詳情":"View event"," ",d.jsx(hn,{size:14})]})]})]})]})}const C_="";async function we(t,n={}){const i=await fetch(`${C_}${t}`,{credentials:"include",headers:{"Content-Type":"application/json",...n.headers||{}},...n}),l=(i.headers.get("content-type")||"").includes("application/json")?await i.json():await i.text();if(!i.ok){const u=new Error((l==null?void 0:l.error)||"Request failed");throw u.code=l==null?void 0:l.code,u.status=i.status,u.payload=l,u}return l}const ao={health:()=>we("/api/health"),getBranches:()=>we("/api/public/branches"),getOffers:()=>we("/api/public/offers"),getEvents:(t=50)=>we(`/api/events?limit=${encodeURIComponent(t)}`),getEvent:t=>we(`/api/events/${encodeURIComponent(t)}`),getBlogPosts:(t=100)=>we(`/api/blog-posts?limit=${encodeURIComponent(t)}`),getBlogPost:t=>we(`/api/blog-posts/${encodeURIComponent(t)}`),chat:t=>we("/api/chat",{method:"POST",body:JSON.stringify(t)}),createReservation:async t=>(await we("/api/reservations",{method:"POST",body:JSON.stringify(t)})).reservation,createWixReservation:async t=>(await we("/api/wix-reservations",{method:"POST",body:JSON.stringify(t)})).reservation,getWixReservation:async t=>(await we(`/api/public/wix-reservations/${encodeURIComponent(t)}`)).reservation,cancelWixReservation:async t=>(await we(`/api/public/wix-reservations/${encodeURIComponent(t)}/cancel`,{method:"POST",body:"{}"})).reservation,newsletterSignup:t=>we("/api/newsletter",{method:"POST",body:JSON.stringify(t)}),adminLogin:t=>we("/api/admin/login",{method:"POST",body:JSON.stringify(t)}),adminLogout:()=>we("/api/admin/logout",{method:"POST"}),adminSession:()=>we("/api/admin/session"),adminReservations:(t={})=>{const n=new URLSearchParams(Object.entries(t).filter(([,s])=>s!==void 0&&s!==""&&s!=="all")),i=n.toString()?`?${n.toString()}`:"";return we(`/api/admin/reservations${i}`)},adminStats:t=>we(`/api/admin/stats${t?`?date=${encodeURIComponent(t)}`:""}`),adminPerformance:(t=30)=>we(`/api/admin/performance?days=${encodeURIComponent(t)}`),adminBranches:()=>we("/api/admin/branches"),updateAdminReservation:(t,n)=>we(`/api/admin/reservations/${t}`,{method:"PATCH",body:JSON.stringify(n)}),deleteAdminReservation:t=>we(`/api/admin/reservations/${t}`,{method:"DELETE"}),updateAdminBranch:(t,n)=>we(`/api/admin/branches/${t}`,{method:"PATCH",body:JSON.stringify(n)}),adminOffers:()=>we("/api/admin/offers"),createAdminOffer:t=>we("/api/admin/offers",{method:"POST",body:JSON.stringify(t)}),updateAdminOffer:(t,n)=>we(`/api/admin/offers/${t}`,{method:"PATCH",body:JSON.stringify(n)}),deleteAdminOffer:t=>we(`/api/admin/offers/${t}`,{method:"DELETE"}),getReviews:t=>we(`/api/public/reviews${t?`?branchId=${encodeURIComponent(t)}`:""}`)};function P_(t=50){const[n,i]=x.useState({events:[],loading:!0,error:""});return x.useEffect(()=>{let s=!0;return ao.getEvents(t).then(l=>s&&i({events:l.events||[],loading:!1,error:""})).catch(()=>s&&i({events:[],loading:!1,error:"events_unavailable"})),()=>{s=!1}},[t]),n}function E_(){const{locale:t}=ya(),n=t==="zh-TW",{events:i,loading:s,error:l}=P_(3);return!s&&(l||i.length===0)?null:d.jsx("section",{className:"bg-[#f6efe5] py-20 text-[#25170f] lg:py-24",children:d.jsxs("div",{className:"page-container",children:[d.jsxs("div",{className:"mb-10 flex flex-col justify-between gap-6 sm:flex-row sm:items-end",children:[d.jsxs("div",{children:[d.jsxs("p",{className:"flex items-center gap-2 text-[11px] font-bold uppercase tracking-[0.27em] text-[#9f6549]",children:[d.jsx(Uc,{size:15}),n?"本週精彩活動":"What's on"]}),d.jsx("h2",{className:`mt-4 text-4xl leading-tight sm:text-5xl ${n?"font-senty-title font-bold":"font-serif font-semibold italic"}`,children:n?"即將登場的現場活動":"Upcoming at MIK"}),d.jsx("p",{className:"mt-3 max-w-xl text-sm leading-6 text-[#6e6258]",children:n?"現場音樂、舞蹈與文化表演,由 Wix 活動資訊即時更新。":"Live music, dance and cultural performances—updated directly from our Wix events calendar."})]}),d.jsxs(ye,{to:"/experiences",className:"inline-flex items-center gap-2 self
215-start border-b border-[#25170f] pb-1 text-xs font-bold uppercase tracking-[0.15em] sm:self-auto",children:[n?"查看全部活動":"View all events"," ",d.jsx(hn,{size:14})]})]}),s?d.jsx("div",{className:"grid gap-6 md:grid-cols-3","aria-label":n?"正在載入活動":"Loading events",children:[0,1,2].map(u=>d.jsx("div",{className:"aspect-[4/3] animate-pulse bg-white/70"},u))}):d.jsx("div",{className:"grid gap-6 md:grid-cols-3",children:i.map(u=>d.jsx(j_,{event:u,locale:t,compact:!0},u.id))})]})})}function Fy({size:t=22,className:n=""}){return d.jsx("img",{src:"/images/line-icon.png",alt:"","aria-hidden":"true",width:t,height:t,className:`shrink-0 object-contain ${n}`})}function D_({size:t=19,className:n=""}){return d.jsx("svg",{width:t,height:t,viewBox:"0 0 24 24",fill:"currentColor",className:n,"aria-hidden":"true",children:d.jsx("path",{d:"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z"})})}const A_=[{icon:D_,href:"https://wa.me/886921004175",label:"WhatsApp",hover:"hover:bg-[#25D366] hover:border-[#25D366]"},{icon:Fy,href:"https://line.me/ti/p/@688vynca",label:"LINE",hover:"hover:bg-[#06C755] hover:border-[#06C755]",isLine:!0},{icon:Gc,href:"https://www.instagram.com/mik_taiwan/?hl=en",label:"Instagram",hover:"hover:bg-[#E4405F] hover:border-[#E4405F]"},{icon:o4,href:"https://www.facebook.com/mayur.indianrestauranttaipei/",label:"Facebook",hover:"hover:bg-[#1877F2] hover:border-[#1877F2]"},{icon:By,href:"mailto:[email protected]",label:"Email",hover:"hover:bg-[#d9621d] hover:border-[#d9621d]",isEmail:!0}];function N_(){const{footer:t}=Yt("shared-shell"),[n,i]=x.useState("idle"),[s,l]=x.useState(""),u=[{heading:t.explore,links:[{label:t.ourStory,to:"/about-us-mik-taipei"},{label:t.ourMenu,to:"/menu"},{label:t.allBranches,to:"/branches"},{label:t.offers,to:"/discount-promotions-indian-taiwan"},{label:t.events,to:"/experiences"},{label:t.catering,to:"/mik-indian-catering-delivery-taipei"}]},{heading:t.discover,links:[{label:t.gallery,to:"/gallery"},{label:t.guestReviews,to:"/testimonials"},{label:t.journal,to:"/blog"},{label:t.travelGuide,to:"/travel-guide"}]},{heading:t.company,links:[{label:t.careers,to:"/careers"},{label:t.reservations,to:"/reservations"}]}],h=async f=>{f.preventDefault();const m=f.currentTarget,g=new FormData(m);i("loading"),l("");try{await ao.newsletterSignup({email:g.get("newsletter-email"),consent:g.get("newsletter-consent")==="on",website:g.get("website")}),i("success"),m.reset()}catch(y){i("error"),l((y==null?void 0:y.message)||t.newsletterError)}};return d.jsxs("footer",{className:"relative overflow-hidden border-t border-[#dedbd3] bg-[#f8f7f3] text-[#1a1b18]",children:[d.jsxs("div",{className:"page-container relative z-10 pt-12 sm:pt-16 lg:pt-20",children:[d.jsxs("section",{"aria-labelledby":"newsletter-heading",className:"mb-12 flex flex-col gap-4 border-b border-[#dedbd3] pb-10 sm:flex-row sm:items-center sm:justify-between",children:[d.jsx("h2",{id:"newsletter-heading",className:"font-serif text-xl font-semibold italic text-[#342116] sm:text-2xl",children:t.newsletter}),d.jsxs("form",{onSubmit:h,className:"w-full max-w-md",children:[d.jsxs("div",{className:"absolute -left-[10000px] top-auto h-px w-px overflow-hidden","aria-hidden":"true",children:[d.jsx("label",{htmlFor:"footer-newsletter-website",children:"Website"}),d.jsx("input",{id:"footer-newsletter-website",name:"website",type:"text",tabIndex:"-1",autoComplete:"off"})]}),d.jsxs("div",{className:"flex border-b-2 border-[#342116]",children:[d.jsx("label",{htmlFor:"newsletter-email",className:"sr-only",children:t.emailLabel}),d.jsx("input",{id:"newsletter-email",name:"newsletter-email",type:"email",autoComplete:"email",required:!0,placeholder:t.emailPlaceholder,className:"min-w-0 flex-1 bg-transparent px-1 py-3 text-sm font-medium text-[#342116] outline-none placeholder:text-[#8c8b81]"}),d.jsxs("button",{type:"submit",disabled:n==="loading",className:"inline-flex shrink-0 items-center gap-2 px-2 text-xs font-bold uppercase tracking-[0.12em] text-[#b84f32] transition-colors hover:text-[#e69a26] disabled:opacity-50",children:[n==="loading"?t.joining:t.join," ",d.jsx(hn,{size:15})]})]}),d.jsxs("label",{className:"mt-3 flex cursor-pointer items-start gap-2 text-xs leading-5 text-[#65665f]",children:[d.jsx("input",{type:"checkbox",name:"newsletter-consent",required:!0,className:"mt-1 accent-[#b84f32]"}),d.jsxs("span",{children:[t.newsletterConsent," ",d.jsx(ye,{to:"/privacy",className:"underline hover:text-[#1a1b18]",children:t.privacy})]})]}),n==="success"&&d.jsx("p",{role:"status",className:"mt-2 text-xs font-semibold text-green-700",children:t.newsletterSuccess}),n==="error"&&d.jsx("p",{role:"alert",className:"mt-2 text-xs font-semibold text-red-700",children:s})]})]}),d.jsxs("div",{className:"grid gap-12 border-b border-[#dedbd3] pb-14 sm:grid-cols-2 lg:grid-cols-[1.45fr_repeat(3,0.72fr)] lg:gap-10 lg:pb-16",children:[d.jsxs("div",{className:"sm:col-span-2 lg:col-span-1",children:[d.jsxs(ye,{to:"/",className:"inline-flex items-center gap-3",children:[d.jsx("img",{src:"/images/mik-logo.png",alt:t.brandName,className:"h-14 w-auto"}),d.jsx("span",{className:"text-xl font-bold tracking-[-0.04em]",children:t.brandName})]}),d.jsx("p",{className:"mt-6 max-w-sm text-sm font-medium leading-7 text-[#65665f]",children:t.description}),d.jsx("div",{className:"mt-8 flex flex-wrap items-center gap-3",children:A_.map(({icon:f,href:m,label:g,hover:y,isLine:b,
215isEmail:w})=>d.jsxs("a",{href:m,target:w?void 0:"_blank",rel:w?void 0:"noreferrer","aria-label":w?t.emailSocial:`${g} — ${t.brandName}`,className:`group relative flex h-12 w-12 items-center justify-center rounded-full border border-[#c9c7bf] bg-white text-[#77786f] shadow-[0_8px_18px_rgba(45,35,24,0.08)] transition-all duration-200 hover:-translate-y-1 hover:text-white hover:shadow-[0_12px_22px_rgba(45,35,24,0.16)] ${y}`,children:[d.jsx("span",{className:"pointer-events-none absolute -top-10 left-1/2 -translate-x-1/2 translate-y-1 whitespace-nowrap rounded-md bg-[#342116] px-2.5 py-1.5 text-[10px] font-bold uppercase tracking-[0.1em] text-white opacity-0 shadow-lg transition-all duration-200 after:absolute after:-bottom-1 after:left-1/2 after:h-2 after:w-2 after:-translate-x-1/2 after:rotate-45 after:bg-[#342116] group-hover:translate-y-0 group-hover:opacity-100",children:g}),d.jsx(f,{size:b?27:19,className:b?"transition-all group-hover:brightness-0 group-hover:invert":""})]},g))})]}),u.map(f=>d.jsxs("nav",{"aria-label":`${f.heading} ${t.navLabelSuffix}`,children:[d.jsx("h2",{className:"text-[10px] font-semibold uppercase tracking-[0.24em] text-[#92938b]",children:f.heading}),d.jsx("ul",{className:"mt-6 space-y-4",children:f.links.map(m=>d.jsx("li",{children:d.jsx(ye,{to:m.to,className:"text-sm font-medium text-[#55564f] transition-colors hover:text-[#d9621d]",children:m.label})},m.to))})]},f.heading))]}),d.jsxs("div",{className:"flex flex-wrap items-center gap-x-6 gap-y-3 py-7 text-xs font-medium text-[#77786f]",children:[d.jsxs("span",{children:["© ",new Date().getFullYear()," ",t.brandName]}),d.jsx(ye,{to:"/privacy",className:"hover:text-[#1a1b18]",children:t.privacy}),d.jsx(ye,{to:"/terms",className:"hover:text-[#1a1b18]",children:t.terms}),d.jsx(ye,{to:"/cookies",className:"hover:text-[#1a1b18]",children:t.cookies}),d.jsx("a",{href:"https://wa.me/886921004175",target:"_blank",rel:"noreferrer",className:"hover:text-[#1a1b18]",children:t.whatsappEnquiries}),d.jsxs("button",{type:"button",onClick:()=>window.scrollTo({top:0,behavior:"smooth"}),className:"inline-flex items-center gap-2 font-medium text-[#55564f] hover:text-[#1a1b18]",children:[t.backToTop," ",d.jsx(Ly,{size:13})]})]})]}),d.jsx("div",{className:"relative h-[290px] overflow-hidden sm:h-[360px] lg:h-[460px]","aria-hidden":"true",children:d.jsx("img",{src:"/images/indian-footer-landscape.webp",loading:"lazy",alt:"",className:"absolute inset-x-0 bottom-0 h-full w-full origin-bottom scale-[1.55] object-cover object-bottom sm:scale-125 lg:scale-100"})})]})}const _m="https://line.me/ti/p/@688vynca";function R_(){const{floating:t}=Yt("shared-shell"),[n,i]=x.useState(!1),[s,l]=x.useState(!1);x.useEffect(()=>{const h=()=>{i(window.scrollY>400),l(window.scrollY>200)};window.addEventListener("scroll",h,{passive:!0});const f=setTimeout(()=>l(!0),3e3);return()=>{window.removeEventListener("scroll",h),clearTimeout(f)}},[]);const u=()=>window.scrollTo({top:0,behavior:"smooth"});return d.jsxs("div",{className:"fixed bottom-6 right-5 z-50 flex flex-col items-end gap-3",children:[d.jsx(Wa,{children:n&&d.jsx(Le.button,{initial:{opacity:0,scale:.7,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.7,y:10},transition:{duration:.25},onClick:u,"aria-label":t.scrollTop,className:"w-10 h-10 bg-white border border-brand-border text-brand-muted hover:text-brand-soft hover:border-brand-gold/40 flex items-center justify-center shadow-sm shadow-black/10",children:d.jsx(Ly,{size:16})})}),d.jsx(Wa,{children:s&&d.jsxs(Le.div,{initial:{opacity:0,scale:.7,y:10},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.7,y:10},transition:{duration:.3},className:"flex items-center gap-3",children:[d.jsx(Le.a,{href:_m,target:"_blank",rel:"noreferrer",initial:{opacity:0,x:10},animate:{opacity:1,x:0},transition:{delay:.4,duration:.3},className:"hidden border-b border-[#1a1b18]/35 pb-1 text-[11px] font-medium uppercase tracking-[0.14em] text-[#34352f] transition-colors hover:border-[#06C755] hover:text-[#06C755] sm:block",children:t.chatLine}),d.jsx("a",{href:_m,target:"_blank",rel:"noreferrer","aria-label":t.addLine,className:"flex h-12 w-12 items-center justify-center rounded-full transition-transform hover:scale-105",children:d.jsx(Fy,{size:48})})]})})]})}const Wy=[{branchId:"mik-1",routePath:"/mik-locations/mayur-indian-kitchen-mik-1--(keelung-rd.)--馬友友印度廚房-基隆路",canonicalPath:"/mik-locations/mayur-indian-kitchen-mik-1--(keelung-rd.)--馬友友印度廚房-基隆路"},{branchId:"mik-2",routePath:"/mik-locations/mayur-indian-kitchen-mik-2-(minsheng-e.road)--馬友友印度廚房--民生東路",canonicalPath:"/mik-locations/mayur-indian-kitchen-mik-2-(minsheng-e.road)--馬友友印度廚房--民生東路"},{branchId:"mik-3",routePath:"/mik-locations/mayur-indian-kitchen-mik-3-(vegetarian-restaurant)-馬友友印度廚房--蔬食餐廳",canonicalPath:"/mik-locations/mayur-indian-kitchen-mik-3-(vegetarian-restaurant)-馬友友印度廚房--蔬食餐廳"},{branchId:"mik-hi5",routePath:"/mik-locations/mayur-indian-kitchen-mik-hi5-(dazhi)-馬友友印度廚房---大直",canonicalPath:"/mik-locations/mayur-indian-kitchen-mik-hi5-(dazhi)-馬友友印度廚房---大直"},{branchId:"mik-6",routePath:"/mik-locations/mayur-indian-kitchen-restaurant-bar-&-mik-6-live-music-house-馬友友印度餐廳酒吧+水煙館",canonicalPath:"/mik-locations/mayur-indian-kitchen-restaurant-bar-%26-mik-6-live-music-house-馬友友印度餐廳酒吧%2B水煙館"},{branchId:"mik-7",routePath:"/mik-locations/mayur-indian-kitchen-mik-7-(zhubei,-hsinchu)-馬友友印度廚房-竹北店",canonicalPath:"/mik-locations/mayur-indian-kitchen-mik-7-(zhubei%2C-hsinchu)-馬友友印度廚房-竹北店"},{branchId:"mik-8",routePath:"/mik-locations/mayur-indian-halal-kitchen--mik-8,-zhongxiao-e.rd.-馬友友印度清真餐廳---忠孝店",canonicalPath:"/mik-locations/mayur-indian-halal-kitchen--mik-8%2C-zhongxiao-e.rd.-馬友友印度清真餐廳---忠孝店"},{branchId:"mik-9",routePath:"/mik-locations/mayur-indian-kitchen-mik-9
215-馬友友印度廚房---淺水灣店",canonicalPath:"/mik-locations/mayur-indian-kitchen-mik-9-馬友友印度廚房---淺水灣店"},{branchId:"mik-10",routePath:"/mik-locations/mayur-indian--kitchen-mik-10-@-taichung-馬友友印度廚房---台中店",canonicalPath:"/mik-locations/mayur-indian--kitchen-mik-10-%40-taichung-馬友友印度廚房---台中店"},{branchId:"mik-11",routePath:"/mik-locations/mayur-indian--kitchen-mik-11-@-taoyuan-馬友友印度廚房---桃園店",canonicalPath:"/mik-locations/mayur-indian--kitchen-mik-11-%40-taoyuan-馬友友印度廚房---桃園店"},{branchId:"mik-12",routePath:"/mik-locations/mayur-indian--kitchen-mik-12-@-neihu-馬友友印度廚房---內湖店",canonicalPath:"/mik-locations/mayur-indian--kitchen-mik-12-%40-neihu-馬友友印度廚房---內湖店"},{branchId:"dhaba-by-mik",routePath:"/mik-locations/dhaba-by-mik-(langar-before)-馬友友印度快餐店",canonicalPath:"/mik-locations/dhaba-by-mik-(langar-before)-馬友友印度快餐店"},{branchId:"mirch-masala",routePath:"/mik-locations/mirch-masala-indian-restaurant",canonicalPath:"/mik-locations/mirch-masala-indian-restaurant"}],K_=new Map(Wy.map(({branchId:t,canonicalPath:n})=>[t,n]));function L_(t){return K_.get(t)||""}function O_(t){return t.id==="mikd-1"?"mayur-international-kitchen-1":t.id==="dhaba-by-mik"?"dhaba-by-mik":t.id==="mirch-masala"?"mirch-masala":`mayur-indian-kitchen-${t.number.toLowerCase().replace(/^mik-?/,"")}`}function Tm(t=""){return t.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function Hy(t){return`/restaurants/${Tm(t.city)}/${Tm(t.district)}/${O_(t)}`}function Fs(t){return L_(t.id)||Hy(t)}function B_(t,n){return`${Hy(t)}/menu${n?`/${n}`:""}`}const Fa=[{id:"mik-1",number:"MIK-1",name:"Keelung Road",chineseName:"馬友友印度廚房-基隆路",tagline:"The Original Mayur Indian Kitchen — Where It All Began",district:"Xinyi District",city:"Taipei",address:"No. 350-7, Section 1, Keelung Road, Xinyi District, Taipei, Taiwan",addressZh:"台北市信義區基隆路一段350-7號",phone:"+886 2 2720 0011",coordinates:{lat:25.0369,lng:121.5616},hours:[{day:"Wednesday – Friday",time:"11:30 – 15:00 / 17:00 – 21:30"},{day:"Saturday – Sunday",time:"11:30 – 15:00 / 16:30 – 21:30"},{day:"Monday – Tuesday",time:"Closed"}],features:["Authentic Indian Cuisine","Vegetarian Options","Vegan Options","Halal-Friendly Dishes","Non-Vegetarian Dishes","Dine-in","Takeaway","Delivery","Catering","Table Service","Reservations Accepted","Kids' Menu","Wheelchair-Accessible Parking","Wheelchair-Accessible Seating","Gender-Neutral Toilets","Credit Cards Accepted","Debit Cards Accepted","Beer & Wine Available","Coffee & Tea Selection","Great Dessert Selection"],nearby:{transit:{primary:{station:"Sun Yat-Sen Memorial Hall Station (Bannan / Blue Line)",exit:"Exit 4",walkingDistance:"500 m",walkingTime:"6–8 min",details:"Exit 4 is located on the south side of Section 4, Zhongxiao East Road, adjacent to Guangfu Elementary School. Bus stop and bicycle parking available nearby. Most convenient route to the restaurant via Keelung Road.",alternativeExit:{exit:"Exit 5",details:"Opens onto Guangfu South Road. Convenient for visitors coming from Songshan Cultural & Creative Park and Taipei Dome."}},secondary:{station:"Taipei 101 / World Trade Center Station (Blue Line)",walkingDistance:"1.1 km",details:"Suitable for visitors exploring the Taipei 101 area."},busStops:[{name:"Sun Yat-Sen Memorial Hall (國父紀念館)",distance:"150 m",details:"Located near Ren'ai Road and Yixian Road"},{name:"Sun Yat-Sen Memorial Hall (Zhongxiao)",distance:"Near Exit 4",details:"Located near MRT Exit 4 on Zhongxiao East Road"},{name:"Sun Yat-Sen Memorial Hall (Guangfu)",distance:"Near Exit 5",details:"Located on Guangfu South Road near MRT Exit 5. Served by Chengde Line, 282, 288, and 204"},{name:"Taipei City Hall Bus Station",distance:"1 km east",details:"Major intercity terminal with routes to northern Taiwan"}]},attractions:[{name:"National Dr. Sun Yat-Sen Memorial Hall and Zhongshan Park",distance:"350 m"},{name:"Songshan Cultural & Creative Park",distance:"700 m"},{name:"Xiangti Avenue Plaza",distance:"900 m"},{name:"Taipei 101 Rainbow Walk",distance:"1 km"},{name:"Taipei City Hall",distance:"1 km"},{name:"Taipei 101 Observatory and Mall",distance:"1.1 km"}],hotels:{luxury:[{name:"Grand Hyatt Taipei",distance:"1.1 km"},{name:"Le Méridien Taipei",distance:"1.2 km"},{name:"Humble House Taipei (Curio by Hilton)",distance:"1.3 km"},{name:"W Taipei",distance:"1.5 km"},{name:"Mandarin Oriental Taipei",distance:"2.5 km"},{name:"Shangri-La Far Eastern Taipei",distance:"3 km"}],midRange:[{name:"Park Taipei Hotel",distance:"1.8 km"},{name:"Les Suites Taipei Da'an",distance:"2 km"},{name:"Miramar Garden Taipei",distance:"2.8 km"},{name:"ILLUME Taipei",distance:"3 km"}],budget:[{name:"Eastern Star Hotel",distance:"1 km"},{name:"RF Hotel",distance:"1 km"},{name:"Work Inn 101",distance:"1.2 km"},{name:"Vendome Taipei Business Hotel",distance:"1 km"},{name:"Hostel Jiizu",distance:"2 km"}]}},type:"restaurant",typeLabel:"Flagship Restaurant",desc:"Mayur Indian Kitchen MIK-1 (Keelung Rd.) is the first and original Mayur Indian Kitchen in Taiwan, located in Taipei's Xinyi District near Taipei 101. As the flagship location, it brings authentic Indian cuisine — crafted by Indian chefs using traditional recipes — to the heart of Taipei. Known for warm hospital
215ity, a welcoming atmosphere, and diverse menu options spanning vegetarian, vegan, halal-friendly, and non-vegetarian dishes, MIK-1 serves local residents, office workers, international travelers, expats, and families alike.",image:"/images/mik-1-hero.webp",heroImage:"/images/mik-1-hero.webp",mapEmbed:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3615.5!2d121.5616!3d25.0369!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442abb0e3000001%3A0x1!2sNo.%20350-7%2C%20Sec.%201%2C%20Keelung%20Rd%2C%20Xinyi%20District%2C%20Taipei!5e0!3m2!1sen!2sus!4v1!5m2!1sen!2sus",color:"#C9932A",highlight:"Flagship Location · Near Taipei 101",gallery:[{src:"/images/mik1-interior-menu-board.webp",alt:"Cozy dining interior of Mayur Indian Kitchen MIK-1 Keelung Road in Taipei Xinyi District with red and white checkered floor, wooden tables, and wall menu board near Taipei 101",caption:"Warm and inviting dining area with traditional checkered floor and wall menu board"},{src:"/images/mik1-interior-tv-shelf.webp",alt:"Dining area at MIK-1 Keelung Road flagship Mayur Indian Kitchen in Taipei Xinyi District featuring TV screen, decorative shelf, and red cushioned bench seating",caption:"Comfortable dining space with TV entertainment and decorative accents"}],reviews:[{name:"Gowda S.",text:"The flavors here were absolutely fantastic! The garlic naan and palak paneer are rich, well-seasoned, and full of authentic taste.",rating:5},{name:"Kristel G. E.",text:"So delicious! Every single dish is so fragrant and full of flavors.",rating:5},{name:"Ada C.",text:"Food is good, but the Dal Makhani was a bit salty this time. Still a great meal overall.",rating:4},{name:"Kumar S.",text:"The food is really good. A cozy place for a family lunch and dinner. Highly recommended.",rating:5},{name:"Abhimanyu G.",text:"All the food items were on point and beyond our expectations. Truly authentic Indian cuisine.",rating:5}],faqs:[{q:"Is Mayur Indian Kitchen near Taipei 101?",a:"Yes, Mayur Indian Kitchen MIK-1 is located approximately 1 km from Taipei 101 and its observatory. It is the closest Mayur Indian Kitchen branch to Taipei 101, making it a convenient dining option before or after visiting the landmark."},{q:"Does this branch offer halal-friendly food?",a:"Yes, MIK-1 offers halal-friendly dishes. While MIK-8 (Zhongxiao East Road) is the fully halal-certified Mayur kitchen, MIK-1 also provides halal-friendly options for Muslim diners."},{q:"Are vegan and vegetarian options available at MIK-1?",a:"Yes. MIK-1 offers a wide selection of vegetarian and vegan dishes, including vegetable curries, dal, paneer preparations, and plant-based options. For a 100% vegetarian experience, visit our dedicated vegetarian branch MIK-3 on Jinan Road."},{q:"Which MRT station is closest to MIK-1?",a:"Sun Yat-Sen Memorial Hall Station on the Bannan (Blue) Line is the closest station. Take Exit 4 and walk approximately 500 m (6–8 minutes) along Keelung Road. Taipei 101 / World Trade Center Station is also an option at 1.1 km away."},{q:"Is the restaurant wheelchair accessible?",a:"Yes, MIK-1 offers wheelchair-accessible parking and seating. The restaurant also features gender-neutral toilets and family-friendly facilities."},{q:"Do I need a reservation at MIK-1?",a:"Reservations are recommended, especially for lunch and dinner. You can book a table through our reservation page. Walk-ins are welcome subject to availability."},{q:"Is takeaway available at this branch?",a:"Yes, MIK-1 offers takeaway and delivery services. You can order your favorite Indian dishes to enjoy at home or in your hotel."},{q:"Does the restaurant offer catering services?",a:"Yes, MIK-1 provides catering services for events, gatherings, and office lunches. Contact the restaurant directly for catering inquiries."},{q:"Is there a kids' menu?",a:"Yes, MIK-1 has a kids' menu with child-friendly portions and milder dishes suitable for younger diners. The restaurant is family-friendly and welcomes children."},{q:"What payment methods are accepted?",a:"MIK-1 accepts credit cards and debit cards. Cash payments are also accepted."}]},{id:"mik-2",number:"MIK-2",name:"Minsheng East Road",chineseName:"民生東路店",tagline:"Elevated Indian Dining in Taipei's Minsheng Community",district:"Songshan District",city:"Taipei",address:"No. 103, Section 3, Minsheng East Road, Songshan District, Taipei City 105, Taiwan",addressZh:"台北市松山區民生東路三段103號",phone:"+886 2 2715 5277",coordinates:{lat:25.058,lng:121.5446},hours:[{day:"Monday – Sunday",time:"11:30 – 15:00 / 17:00 – 22:00"}],features:["Dine-in","Bar","Takeaway","Private Dining","Premium Cocktails","Wine Selection","Beer Selection","Pet-Friendly","Vegetarian Options","Vegan Options","Halal-Friendly Dishes","Family-Friendly","Business Lunch","Group Dining","Credit Cards Accepted","Reservations Accepted","Table Service"],nearby:{transit:{primary:{station:"Z
215hongshan Junior High School Station (Wenhu / Brown Line)",exit:"Exit",walkingDistance:"350 m",walkingTime:"4–5 min",details:"Located at the Fuxing N Road / Minquan E Road intersection. This is an elevated, driverless line. The Minsheng community is one of the few central Taipei areas not directly on a subway line, so most arrivals come via bus or a short ride from this Brown Line stop."},secondary:{station:"Nanjing Fuxing Station (Brown + Green Lines)",walkingDistance:"1.3 km",details:"Major interchange station. Requires a bus or longer walk south."},tertiary:{station:"Songshan Station (Green Line + TRA Rail)",walkingDistance:"2 km",details:"Next to Raohe Night Market. Requires a bus or short taxi ride."},busStops:[{name:"Minsheng E. Rd. Intersection (民生東路口)",distance:"At the door",details:"Directly in front of the restaurant (~25.0583, 121.5444)"},{name:"Minsheng & Fuxing Rd. Intersection (民生敦化路口)",distance:"150 m southwest",details:"Busy junction with many routes (~25.0576, 121.5458)"},{name:"Minsheng Community Activity Center (民生社區活動中心)",distance:"1.1 km east",details:"On Minsheng E Road (~25.0586, 121.5610)"},{name:"Fuxing N Road corridor",distance:"Near Zhongshan Junior High MRT",details:"Minquan Road has a dedicated bus lane with numerous city and intercity routes."}]},attractions:[{name:"Nylon Cheng Liberty Foundation & Memorial Museum",distance:"500 m"},{name:"Mandarin Oriental Taipei",distance:"600 m"},{name:"Songshan Airport Observation Deck",distance:"1 km"},{name:"Minsheng Park (民生公園)",distance:"1.3 km"},{name:"Minsheng Community Center",distance:"1.6 km"},{name:"Xinzhong Park",distance:"1.8 km"},{name:"Songshan Cultural & Creative Park",distance:"2 km"},{name:"Raohe Night Market",distance:"3.3 km"},{name:"Rongjin Gorgeous Time",distance:"3.5 km"}],hotels:{luxury:[{name:"Mandarin Oriental, Taipei",distance:"600 m"},{name:"Hotel Metropolitan Premier Taipei",distance:"1 km"},{name:"HOTEL COZZI Taipei Minsheng",distance:"1 km"},{name:"Evergreen Laurel Hotel Taipei",distance:"1.5 km"}],midRange:[{name:"Les Suites Taipei Qingcheng",distance:"700 m"},{name:"San Want Residences Taipei",distance:"2 km"},{name:"The Riviera Hotel",distance:"2.3 km"}],budget:[{name:"Hostel Jiizu",distance:"1.4 km"},{name:"Backpackers Hostel",distance:"1.3 km"},{name:"Taipei Discover Hostel",distance:"1.8 km"}]}},type:"restaurant-bar",typeLabel:"Restaurant & Bar",desc:"Mayur Indian Kitchen MIK-2 (Minsheng East Road) is an elevated Indian dining destination in Taipei's Minsheng community. Combining authentic Indian cuisine with premium ingredients, handcrafted cocktails, and a sophisticated neighborhood atmosphere, MIK-2 is a trusted dining destination for families, business professionals, local residents, and expats alike. Known for warm hospitality, a refined yet approachable ambiance, and diverse menu options including vegetarian, vegan, halal-friendly, and non-vegetarian dishes — plus a pet-friendly environment.",image:"/images/mik-2-hero.webp",heroImage:"/images/mik-2-hero.webp",mapEmbed:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3614.5!2d121.5446!3d25.0580!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442a96f00000001%3A0x1!2sNo.%20103%2C%20Sec.%203%2C%20Minsheng%20E%20Rd%2C%20Songshan%20District%2C%20Taipei!5e0!3m2!1sen!2sus!4v1!5m2!1sen!2sus",color:"#C9932A",highlight:"Minsheng Neighborhood · Premium Dining & Bar",gallery:[{src:"/images/mik2-exterior.webp",alt:"Exterior storefront of MIK-2 Mayur Indian Kitchen on Minsheng East Road in Taipei Songshan District with restaurant signage and entrance",caption:"Restaurant entrance on Minsheng East Road"}],reviews:[{name:"Crystal W.",text:"Great table service, delicious Indian food! The employee is very friendly and nice. Love the atmosphere here.",rating:5},{name:"MK D.",text:"Has a small family business feel with welcoming staff and authentic food. They even offered to let us take some sauce home.",rating:5},{name:"Jezrel M.",text:"They are so accommodating and considerate to your taste buds. Great experience every time.",rating:5},{name:"Lawrence L.",text:"Very authentic and delicious cuisine. The parking garage across the street is convenient.",rating:4}],faqs:[{q:"Is MIK-2 pet-friendly?",a:"Yes, MIK-2 is a pet-friendly restaurant. Dogs are welcome, especially at the outdoor seating area. Water bowls and treats are available upon request."},{q:"Does this branch offer a full bar?",a:"Yes, MIK-2 features a full bar with premium cocktails, wine selection, and beer. It is the perfect spot for evening drinks alongside your meal."},{q:"What is the closest MRT station?",a:"Zhongshan Junior High School Station on the Wenhu (Brown) Line is approximately 350 m away (4–5 min walk). The Minsheng c
215ommunity area is bus-dependent, so Nanjing Fuxing Station (1.3 km) and Songshan Station (2 km) are secondary options."},{q:"Is private dining available?",a:"Yes, MIK-2 offers private dining options for group celebrations, business dinners, and special occasions. Contact the restaurant for details."},{q:"Are vegetarian and vegan options available?",a:"Yes, MIK-2 offers a wide selection of vegetarian and vegan dishes alongside its non-vegetarian menu. The kitchen accommodates dietary preferences with advance notice."},{q:"Do I need a reservation?",a:"Reservations are recommended, especially for dinner and weekend dining. Business lunch reservations are also advised during peak hours."},{q:"Is this branch suitable for business lunches?",a:"Absolutely. MIK-2 is a popular choice for business lunches and corporate gatherings in the Minsheng area, with a refined atmosphere and efficient table service."},{q:"Does MIK-2 offer takeaway?",a:"Yes, takeaway is available. You can order your favorite dishes to enjoy at home or in your hotel."},{q:"What hotels are near MIK-2?",a:"The Mandarin Oriental Taipei is just 600 m away. Other nearby options include Hotel Metropolitan Premier Taipei (1 km), HOTEL COZZI Taipei Minsheng (1 km), and Evergreen Laurel Hotel Taipei (1.5 km)."},{q:"Is there parking nearby?",a:"Yes, there are parking options in the Minsheng c
215ommunity area. The restaurant is also easily accessible by bus and taxi."}]},{id:"mik-3",number:"MIK-3",name:"Zhongzheng",chineseName:"馬友友印度廚房-蔬食餐廳",tagline:"Plant-Based India in the Heart of Taipei",district:"Zhongzheng District",city:"Taipei",address:"No. 64-2, Section 2, Jinan Road, Zhongzheng District, Taipei, Taiwan",addressZh:"台北市中正區濟南路二段64-2號",phone:"+886 2 2321 2261",coordinates:{lat:25.0401,lng:121.5324},hours:[{day:"Monday",time:"11:00 – 15:00 / 16:00 – 21:00"},{day:"Wednesday – Friday",time:"11:00 – 15:00 / 16:00 – 21:00"},{day:"Saturday – Sunday",time:"11:00 – 15:00 / 16:00 – 21:30"},{day:"Tuesday",time:"Closed"}],features:["100% Vegetarian Menu","Vegan Options","Halal-Friendly","Dine-in","Takeaway","Plant-Based Cuisine","Fresh Ingredients","Brunch Service","Lunch Service","Dinner Service","Family-Friendly","Solo Dining Welcome","Quiet Atmosphere","Three-Floor Dining","Tea Selection","Dessert Selection","Credit Cards Accepted","Reservations Accepted"],nearby:{transit:{primary:{station:"Songjiang Nanjing Station (Orange / Zhonghe-Xinlu Line & Green / Songshan-Xindian Line)",exit:"Exit 7 or 8",walkingDistance:"1.3 km",walkingTime:"12–15 min",details:"Exits 7 and 8 are on the south side toward Jinan Road. The station is a major interchange with exits 1–8 spread around the Songjiang Road / Nanjing East Road junction. A short bus ride is recommended from the station to the restaurant."},secondary:{station:"Zhongxiao Xinsheng Station (Blue + Orange Lines)",walkingDistance:"1.4 km",details:"Alternative option from the south, roughly equidistant with Shandao Temple Station."},tertiary:{station:"Shandao Temple Station (Blue Line)",walkingDistance:"1.4 km",details:"Southwest option. Suitable for visitors coming from the Taipei Main Station area."},busStops:[{name:"Chang An–Songjiang Rd. Intersection (長安松江路口)",distance:"600 m north",details:"Closest cluster on Songjiang Road (~25.0486, 121.5329). No transfer needed from Nanjing Fuxing."},{name:"Songjiang Nanjing Station bus stops",distance:"~1.3 km",details:"Several bus bays around the MRT with two-way transfer and route 40 among others."},{name:"Jinan Road / Xinsheng S Road stops",distance:"Within 200 m",details:"Serve east-west city routes past Huashan and toward CKS Memorial Hall."}]},attractions:[{name:"Chitung (Qidong) Old Street",distance:"350 m"},{name:"Huashan 1914 Creative Park",distance:"1.2 km"},{name:"Dr. Sun Yat-Sen Memorial House",distance:"1.5 km"},{name:"Chiang Kai-shek Memorial Hall & Liberty Square",distance:"1.5 km"},{name:"Presidential Office Building / Plaza",distance:"2 km"},{name:"Ningxia Night Market",distance:"2 km"},{name:"Little South Gate (Chongxi Gate)",distance:"2.3 km"}],hotels:{luxury:[{name:"Evergreen Laurel Hotel Taipei",distance:"1 km"},{name:"The Okura Prestige Taipei",distance:"1.4 km"},{name:"Regent Taipei",distance:"1.7 km"},{name:"Mandarin Oriental, Taipei",distance:"2.3 km"}],midRange:[{name:"Miramar Garden Taipei",distance:"1 km"},{name:"Humble Boutique Hotel",distance:"1.3 km"},{name:"Parkview Taipei",distance:"1.5 km"},{name:"The Riviera Hotel",distance:"3 km"}],budget:[{name:"Backpackers Hostel",distance:"1.5 km"},{name:"Taipei Discover Hostel",distance:"2.5 km"},{name:"Work Inn International",distance:"2 km"},{name:"CU Hotel Taipei",distance:"2.5 km"}]}},type:"vegetarian",typeLabel:"Vegetarian Restaurant",desc:"Mayur Indian Kitchen MIK-3 (Vegetarian Restaurant) is Taipei's dedicated vegetarian and vegan Indian restaurant, located in Zhongzheng District near Huashan 1914 Creative Park. Featuring a spacious three-floor dining experience, MIK-3 serves authentic plant-based Indian cuisine crafted from fresh ingredients — from rich paneer curries and dal to crispy street food snacks, wholesome thalis, and brunch favorites. A peaceful urban retreat for vegetarians, vegans, health-conscious diners, families, and travelers seeking nourishing, flavorful Indian food.",image:"/images/mik-3-hero.webp",heroImage:"/images/mik-3-hero.webp",mapEmbed:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3615.2!2d121.5324!3d25.0401!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442a9f600000001%3A0x1!2sNo.%2064-2%2C%20Sec.%202%2C%20Jinan%20Rd%2C%20Zhongzheng%20District%2C%20Taipei!5e0!3m2!1sen!2sus!4v1!5m2!1sen!2sus",color:"#4CAF50",highlight:"100% Vegetarian",website:"https://www.mik3taiwan.com",reviews:[{name:"幸福搖擺舞者",text:"Many Indian restaurants in Taipei but this one has 14 regional cuisines. The chef worked at five-star hotels in India. A must-try for vegetarians!",rating:5},{name:"Yogii Loves Tea",text:"The Mixed Vegetable Masala has incredible layered spices. Every bite is aromatic. The lingering spice aftertaste is wonderful — felt so Indian!",rating:5},{name:"貓晶雪",text:"Had the Bengali milk balls for dessert — very sweet and delicious. Great way to end a meal of flavorful curries and naan.",rating:5},{name:"Lin R.",text:"The food looks and tastes amazing! Great vegetarian options with customizable vegan choices. Highly recommended.",rating:5}],faqs:[{q:"Is MIK-3 fully vegetarian?",a:"Yes, MIK-3 is 100% vegetarian. No meat, poultry, or fish is served. The restaurant is dedicated exclusively to vegetarian and vegan Indian cuisine."},{q:"Are vegan options available?",a:"Yes, MIK-3 offers an extensive selection of vegan dishes, including vegetable curries, dal, rice preparations, and plant-based appetizers. Many dishes are naturally vegan or can be prepared vegan upon request."},{q:"Does this branch serve brunch?",a:"Yes, MIK-3 serves brunch alongside lunch and dinner. The brunch menu features lighter Indian dishes, teas, and desserts in a calm, relaxing setting."},{q:"Which MRT station is closest?",a:"Songjiang Nanjing Station (Orange/Green Lines) is approximately 1.3 km away (~12–15 min walk). Take Exit 7 or 8 toward Jinan Road. Zhongxiao Xinsheng Station (1.4 km) and 
215Shandao Temple Station (1.4 km) are also nearby."},{q:"Is the restaurant family-friendly?",a:"Yes, MIK-3 is family-friendly and welcomes children. The spacious three-floor layout provides a comfortable dining experience for families and groups."},{q:"Is MIK-3 halal-friendly?",a:"Yes, MIK-3 offers halal-friendly options. As a vegetarian restaurant, all dishes are prepared without meat, and halal-friendly ingredients are used where possible."},{q:"Do I need a reservation?",a:"Reservations are recommended, especially on weekends and for dinner. Walk-ins are welcome subject to availability."},{q:"Does this branch have a private dining area?",a:"With three floors of dining space, MIK-3 can accommodate groups and private gatherings. Contact the restaurant for specific arrangements."},{q:"Is takeaway available?",a:"Yes, takeaway is available. You can order your favorite vegetarian dishes to enjoy at home."},{q:"What attractions are near MIK-3?",a:"Chitung (Qidong) Old Street is just 350 m away with well-preserved Japanese-era buildings. Huashan 1914 Creative Park is 1.2 km away, and Chiang Kai-shek Memorial Hall is 1.5 km away."}],gallery:[{src:"/images/mik3-DSC00938.webp",alt:"Spacious vegetarian dining area at Mayur Indian Kitchen MIK-3 three-floor restaurant in Taipei with wooden tables and green placemats",caption:"First floor dining area — warm timber and red lantern accents throughout the three-floor space"},{src:"/images/mik3-DSC00951.webp",alt:"Main dining hall at MIK-3 vegetarian restaurant with wooden table arrangements and brick wall design in Zhongzheng District Taipei",caption:"Main dining hall with floor-to-ceiling windows overlooking Jinan Road"},{src:"/images/mik3-DSC00971.webp",alt:"MIK-3 three-floor vegetarian restaurant interior with red Chinese lanterns hanging from ceiling and stairs leading to upper dining levels",caption:"A look inside MIK-3 — the spacious three-floor dining environment"},{src:"/images/mik3-DSC00989.webp",alt:"Staircase and second floor landing at MIK-3 vegetarian Indian restaurant in Taipei with warm wooden decor and greenery",caption:"Staircase landing connecting all three dining floors"},{src:"/images/mik3-DSC01017.webp",alt:"Brick wall detail with framed artwork and TV screen at MIK-3 vegetarian restaurant interior design",caption:"Curated 
215wall art and decor reflecting Indian heritage and seasonal celebrations"},{src:"/images/mik3-DSC01082.webp",alt:"Warm dining corner at MIK-3 vegetarian restaurant with wooden panel ceilings hanging plants and table settings with green placemats",caption:"Private dining corner with lush greenery overhead"},{src:"/images/mik3-DSC01087.webp",alt:"Bar and counter area at MIK-3 vegetarian restaurant with display counter bottles and wall-mounted TV screens",caption:"Beverage counter with curated Indian drinks selection"},{src:"/images/mik3-DSC01181.webp",alt:"Wooden wall panel detail with Indian-inspired framed pictures and TV at MIK-3 interior design Taipei vegetarian restaurant",caption:"Traditional Indian decor elements blending with modern Taipei style"}]},{id:"mik-hi5",number:"MIK-Hi5",name:"Dazhi",chineseName:"馬友友印度廚房-大直",tagline:"Modern Indian Dining in Taipei's Dazhi District",district:"Zhongshan District",city:"Taipei",address:"No. 8, Lane 630, Bei'an Road, Zhongshan District, Taipei City, Taiwan",addressZh:"台北市中山區北安路630巷8號",phone:"+886 2 2533 0698",coordinates:{lat:25.0827,lng:121.5497},hours:[{day:"Wednesday – Sunday",time:"11:30 – 15:00 / 16:30 – 21:30"},{day:"Monday – Tuesday",time:"Closed"}],features:["Dine-in","Takeaway","Private Dining Room","Bar & Cocktails","Wine Selection","Family-Friendly","Kids Menu","Group Dining","Business Lunch","Vegetarian Options","Vegan Options","Halal-Friendly Dishes","Wheelchair-Accessible Entrance","Wheelchair-Accessible Parking","Credit Cards Accepted","Reservations Accepted"],nearby:{transit:{primary:{station:"Dazhi Station (Wenhu / Brown Line)",exit:"Exit 1 or 3",walkingDistance:"600 m",walkingTime:"8 min",details:"Exit 1 serves buses toward Yuanshan / Shilin. Exit 3 serves buses toward Neihu / Miramar. This is the natural home station for the restaurant."},secondary:{station:"Jiannan Road Station (Wenhu / Brown Line)",walkingDistance:"650 m",details:"Exit 3 is the gateway to Miramar Entertainment Park, the Marriott, and Grand Victoria Hotel. Also the stop for National Palace Museum shuttle buses."},busStops:[{name:"Dazhi Gas Station (大直加油站)",distance:"250 m north",details:"Closest stop, on Bei'an Road. Has seating and arrival-time displays (~25.0840, 121.5501)."},{name:"Mingshui Rd. Intersection (明水路口)",distance:"600 m east",details:"Near the MRT exits (~25.0799, 121.5525)."},{name:"Dazhi Station bus bays",distance:"~600 m",details:"Clustered around MRT exits, main transfer point for Shilin, Neihu, and Ziqiang Tunnel routes."},{name:"MRT Jiannan Rd. Station stop",distance:"750 m east",details:"Served by intercity routes including 1801 to/from Keelung."}]},attractions:[{name:"Grand Mayfull Hotel Taipei",distance:"600 m"},{name:"Miramar Entertainment Park & Ferris Wheel",distance:"800 m"},{name:"Taipei Marriott Hotel",distance:"900 m"},{name:"Dazhi Bridge Lookout",distance:"900 m"},{name:"Jiannan Butterfly Garden Lookout",distance:"1.2 km"},{name:"Meiti Riverside Park",distance:"1.5 km"},{name:"Ching-Kuo Chi-Hai Cultural Park",distance:"1.6 km"},{name:"Shilin Night Market",distance:"3 km"},{name:"Grand Hotel / Maple Garden viewpoint",distance:"3 km"},{name:"National Palace Museum",distance:"3.5 km"}],hotels:{luxury:[{name:"Grand Mayfull Hotel Taipei",distance:"600 m"},{name:"Taipei Marriott Hotel",distance:"900 m"},{name:"Grand Victoria Hotel Taipei",distance:"1 km"},{name:"Mandarin Oriental, Taipei",distance:"3 km"}],midRange:[{name:"Hotel Indigo Taipei North",distance:"1.1 km"},{name:"Renaissance Taipei Shihlin Hotel",distance:"2 km"},{name:"HOTEL COZZI Taipei Minsheng",distance:"2.5 km"},{name:"The Riviera Hotel",distance:"2.5 km"}],budget:[{name:"Wego Boutique Hotel Dazhi",distance:"700 m"},{name:"HUB Hotel Songshan Airport",distance:"2 km"},{name:"Taipei Discover Hostel",distance:"2.7 km"},{name:"Corner Hostel & Café",distance:"3 km"}]}},type:"restaurant",typeLabel:"Restaurant & Bar",desc:"Mayur Indian Kitchen MIK-Hi5 (Dazhi) is a contemporary Indian dining destination in Taipei's Dazhi district, conveniently located near Miramar Entertainment Park and major business centers. Blending authentic Indian cuisine with a modern, vibrant atmosphere, MIK-Hi5 is the ideal choice for business lunches, family outings, celebrations, and post-shopping meals. Featuring an on-site bar with cocktails, a private dining room, and inclusive menu options spanning vegetarian, vegan, halal-friendly, and non-vegetarian dishes.",image:"/images/mik-hi5-hero.webp",heroImage:"/images/mik-hi5-hero.webp",mapEmbed:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3614.0!2d121.5497!3d25.0827!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442a8b600000001%3A0x1!2sNo.%208%2C%20Ln.%20630%2C%20Bei%27an%20Rd%2C%20Zhongshan%20District%2C%20Taipei!5e0!3m2!1sen!2sus!4v1!5m2!1sen!2sus",color:"#C9932A",highlight:"Near Miramar",reviews:[{name:"Amit S.",text:"Great location near Miramar. Perfect for dinner after a movie or shopping. The biryani and cocktails are excellent.",rating:5},{name:"Jessica L.",text:"We booked the private dining room for a family celebration. The staff were wonderful and the kids loved the naan.",rating:5},{name:"Kevin C.",text:"Regular for business lunches. The lunch specials are great value and the service is quick and professional.",rating:4},{name:"Maya R.",text:"The Dazhi location is convenient and the atmosphere is vibrant. Great place for group dinners.",rating:5}],faqs:[{q:"Is MIK-Hi5 near Miramar Entertainment Park?",a:"Yes, MIK-Hi5 is just 800 m from Miramar Entertainment Park and the iconic Miramar Ferris Wheel. It is the perfect dining stop before or after a movie, shopping, or the Ferris wheel."},{q:"Which MRT station is closest?",a:"Dazhi Station on the Wenhu (Brown) Line is approximately 600 m away (8 min walk). Jiannan Road Station is also nearby at 650 m — Exit 3 leads directly to Miramar."},{q:"Is there a private dining room?",a:"Yes, MIK-Hi5 offers a private dining room for group celebrations, family gatherings, and business dinners. Contact the restaurant for reservations and menu options."},{q:"Does this branch have a bar?",a:"Yes, MIK-Hi5 features an on-site bar with cocktails, wine, and spirits. It complements the dining experience for evening meals and social gatherings."},{q:"Are vegetarian and vegan options available?",a:"Yes, MIK-Hi5 offers vegetarian, vegan, and halal-friendly options alongside its non-vegetarian dishes."}
215,{q:"Is the restaurant family-friendly?",a:"Yes, MIK-Hi5 is family-friendly with a kids' menu and a welcoming atmosphere for children. It is a popular choice for family outings in the Dazhi area."},{q:"Do I need a reservation?",a:"Reservations are recommended, especially for dinner, weekends, and the private dining room. Business lunch reservations are also advised during peak hours."},{q:"Is the restaurant wheelchair accessible?",a:"Yes, MIK-Hi5 has a wheelchair-accessible entrance and parking."},{q:"What hotels are near MIK-Hi5?",a:"Grand Mayfull Hotel Taipei is just 600 m away. Taipei Marriott Hotel (900 m), Grand Victoria Hotel (1 km), and Hotel Indigo Taipei North (1.1 km) are also nearby."},{q:"Is MIK-Hi5 suitable for business lunches?",a:"Absolutely. Located near the Dazhi business district and Neihu Technology Park, MIK-Hi5 is a popular choice for business lunches and corporate gatherings."}],gallery:[{src:"/images/MIK5.webp",alt:"Mayur Indian Kitchen MIK-Hi5 Dazhi exterior restaurant front view in Taipei",caption:"MIK-Hi5 Dazhi — modern Indian dining in Taipei's Dazhi district"},{src:"/images/MIK5-2.webp",alt:"MIK-Hi5 Dazhi interior dining area with tables and warm ambient lighting",caption:"Spacious indoor dining area at Mayur Indian Kitchen Dazhi"},{src:"/images/MIK5-3.webp",alt:"MIK-Hi5 Dazhi dining room with bar counter and restaurant seating",caption:"Dining and bar area at MIK-Hi5 Dazhi restaurant"},{src:"/images/MIK5-4.webp",alt:"Table setting at MIK-Hi5 Dazhi with plates cutlery and Indian cuisine",caption:"Elegant table setting at Mayur Indian Kitchen Dazhi branch"},{src:"/images/MIK5-5.webp",alt:"Authentic Indian food presentation at MIK-Hi5 Dazhi restaurant",caption:"Authentic Indian cuisine presentation at MIK-Hi5 Dazhi"},{src:"/images/MIK5-6.webp",alt:"MIK-Hi5 Dazhi restaurant ambiance with warm decor and lighting",caption:"Warm restaurant ambiance at MIK-Hi5 in Dazhi, Taipei"},{src:"/images/MIK5-7.webp",alt:"Dining experience at MIK-Hi5 Dazhi with Indian dishes on table",caption:"Indian fine dining experience at MIK-Hi5 Dazhi"},{src:"/images/MIK5-8.webp",alt:"MIK-Hi5 Dazhi interior details showing restaurant decor and design",caption:"Interior design and decor at MIK-Hi5 Dazhi, Mayur Indian Kitchen"}]},{id:"mik-6",number:"MIK-6",name:"Live Music House",chineseName:"馬友友印度餐酒館",tagline:"Indian Flavors After Dark — Live Music, Bar & Shisha",district:"Zhongshan District",city:"Taipei",address:"No. 1-1, Songjiang Road, Zhongshan District, Taipei, Taiwan",addressZh:"台北市中山區松江路1-1號",phone:"+886 2 2500 6186",coordinates:{lat:25.0458,lng:121.5333},hours:[{day:"Monday – Friday",time:"17:00 – 02:00"},{day:"Saturday – Sunday",time:"12:00 – 14:30 / 17:00 – 02:00"}],features:["Live Music","Bollywood Nights","Shisha / Hookah","Full Bar","Handcrafted Cocktails","Premium Beverages","Sports Screenings","Cultural Performances","Dine-in","Outdoor Seating","Late-Night Dining","Takeaway","Happy Hour","Group Gatherings","Date Night","Credit Cards Accepted"],nearby:{transit:{primary:{station:"Songjiang Nanjing Station (Orange / Zhonghe-Xinlu Line & Green / Songshan-Xindian Line)",exit:"Exit 1 or 8",walkingDistance:"700 m",walkingTime:"8–10 min",details:"Exits 1 and 8 are at the south end toward Chang'an East Road. The station is a major interchange with exits 1–8 around the Songjiang Road / Nanjing East Road junction."},secondary:{station:"Zhongshan Station (Red + Green Lines)",walkingDistance:"1.5 km",details:"Major hub near Taipei Main Station."},tertiary:{station:"Xingtian Temple Station (Orange Line)",walkingDistance:"1.7 km",details:"Exit 2 has escalators. Suitable for visitors from the north."},busStops:[{name:"Chang An–Songjiang Rd. Intersection (長安松江路口)",distance:"350 m north",details:"Right by Songjiang Starbucks (~25.0486, 121.5329). No transfer needed from Nanjing Fuxing direction."},{name:"Songjiang Nanjing Station bus stops",distance:"~700 m",details:"Cluster around the MRT with two-way MRT transfer and route 40 among others."},{name:"Chang'an E Road stops",distance:"Within 200 m",details:"Serve east-west city routes along Chang'an East Road."}]},attractions:[{name:"Songjiang Poet Park",distance:"500 m"},{name:"Huashan 1914 Creative Park",distance:"1.3 km"},{name:"Zhongshan Shopping / Nanjing W Rd Area",distance:"1.5 km"},{name:"Xingtian Temple",distance:"2 km"},{name:"Chiang Kai-shek Memorial Hall",distance:"2.5 km"},{name:"Lin An Tai Historical House & Museum",distance:"3 km"},{name:"Xinsheng Park (Taipei Expo Park)",distance:"3 km"},{name:"Daan Forest Park",distance:"3.5 km"}],hotels:{luxury:[{name:"The Okura Prestige Taipei",distance:"1.3 km"},{name:"Kimpton Da An Hotel",distance:"1.6 km"},{name:"Regent Taipei",distance:"1.7 km"},{name:"Mandarin Oriental, Taipei",distance:"2.3 km"}],midRange:[{name:"K Hotels Taipei Chang-An",distance:"350 m"},{name:"Hotel Resonance Taipei (Hilton)",distance:"2 km"},{name:"AKA Hotel",distance:"2.5 km"},{name:"SOTETSU Grand Fresa Taipei Ximen",distance:"3 km"}],budget:[{name:"The Moon Hotel",distance:"600 m"},{name:"Backpackers Hostel",distance:"1 km"},{name:"Work Inn International",distance:"1.7 km"},{name:"Taipei Discover Hostel",distance:"2 km"}]}},type:"bar-lounge",typeLabel:"Restaurant Bar & Live House",desc:"Mayur Indian Kitchen MIK-6 (Live Music House) is Taipei's one-of-a-kind Indian restaurant, bar, and live entertainment venue near Songjiang Nanjing MRT. Combining authentic Indian cuisine with a full cocktail bar, shisha lounge, live Bollywood music, and sports screenings, MIK-6 transforms traditional dining into a complete evening experience. Open late for dinner, drinks, and unforgettable nights out.",image:"/images/mik-6-hero.webp",heroImage:"/images/mik-6-hero.webp",mapEmbed:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3614.8!2d121.5333!3d25.0458!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442a95400000001%3A0x1!2sNo.%201-1%2C%20Songjiang%20Rd%2C%20Zhongshan%20District%2C%20Taipei!5e0!3m2!1sen!2sus!4v1!5m2!1sen!2sus",color:"#8B4FC7",highlight:"Live Bollywood Nights · Bar & Shisha",gallery:[{src:"/images/mik6-dining-bar.webp",alt:"Main dining area of MIK-6 Live Music House in Taipei Zhongshan District with red checkered floor, wo
215oden tables, bar counter, and warm ambient lighting near Songjiang Nanjing MRT",caption:"Inviting dining room with bar counter and signature checkered floor"},{src:"/images/mik6-table-decor.webp",alt:"Dining table set with elegant green plates and cutlery at Mayur Indian Kitchen MIK-6 Live Music House in Zhongshan Taipei with warm bottle-lit decor",caption:"Elegantly set dining table with warm ambiance"},{src:"/images/mik6-hookah-bar.webp",alt:"Hookah bar lounge area at MIK-6 in Taipei Zhongshan District featuring blue neon hookah bar wall art and shisha flavors",caption:"Hookah lounge with vibrant neon wall art"},{src:"/images/mik6-liquor-shelf.webp",alt:"Premium liquor and whiskey bottle display shelf at MIK-6 Live Music House bar in Zhongshan Taipei with varied spirits collection",caption:"Full bar with premium whiskey and spirits selection"},{src:"/images/mik6-bollywood-wall.webp",alt:"Hollywood and Bollywood themed wall art with framed celebrity pictures at MIK-6 Indian restaurant bar in Taipei Zhongshan",caption:"Bollywood-inspired decor celebrates cinema culture"},{src:"/images/mik6-interior-bollywood.webp",alt:"Wide angle interior of MIK-6 Live Music House in Taipei featuring Bollywood wall mural, dining tables, and bar seating area",caption:"Spacious dining and entertainment venue with Bollywood mural"}],reviews:[{name:"Ravi K.",text:"The Bollywood night is incredible! Great music, amazing food, and the cocktails are top notch. Best night out in Taipei.",rating:5},{name:"Tina C.",text:"Came for the live music and stayed for the food. The butter chicken and hookah make for a perfect Friday night.",rating:5},{name:"Alex W.",text:"Great spot for group gatherings. We booked for a birthday and everyone loved the vibe, the outdoor seating, and the late-night menu.",rating:5},{name:"Priya S.",text:"Love that this place is open late. The atmosphere is electric and the staff are wonderful. Perfect for date night.",rating:5}],faqs:[{q:"Does MIK-6 have live music?",a:"Yes, MIK-6 features live Bollywood music performances, cultural dance shows, and themed entertainment nights. Check our events schedule for upcoming performances."},{q:"Is there a hookah lounge?",a:"Yes, MIK-6 offers a shisha / hookah lounge with a selection of flavors. It is a popular after-dinner experience at the venue."},{q:"What are the opening hours?",a:"MIK-6 is open Mon–Thu 17:00–01:00, Fri–Sat 17:00–02:00, and Sunday 17:00–00:00. It is the latest-open Mayur Indian Kitchen branch in Taipei."},{q:"Does this branch serve alcohol?",a:"Yes, MIK-6 features a full bar with handcrafted cocktails, premium spirits, wine, and beer. Happy hour promotions are available."},{q:"Is outdoor seating available?",a:"Yes, MIK-6 offers outdoor seating for guests who prefer an open-air dining and social experience."},{q:"Does MIK-6 screen sports events?",a:"Yes, MIK-6 hosts sports screenings for major events and tournaments. It is a popular spot for group viewing."},{q:"Is this branch suitable for group celebrations?",a:"Absolutely. MIK-6 is ideal for birthdays, after-work gatherings, and group celebrations. Contact us for group booking arrangements."},{q:"Which MRT station is closest?",a:"Songjiang Nanjing Station is approximately 700 m away (8–10 min walk). Take Exit 1 or 8 toward Chang'an E Road."},{q:"What attractions are near MIK-6?",a:"Songjiang Poet Park is 500 m away, Huashan 1914 Creative Park is 1.3 km, and Xingtian Temple is 2 km from the restaurant."},{q:"Is there a dance floor?",a:"Yes, MIK-6 has space for dancing during live music nights and Bollywood events. It is a full entertainment venue, not just a restaurant."}]},{id:"mik-7",number:"MIK-7",name:"Zhubei (Hsinchu)",chineseName:"竹北店",tagline:"A Taste of Home for Hsinchu's Global Community",district:"Zhubei City",city:"Hsinchu County",address:"No. 412, Guangming 1st Road, Zhubei City, Hsinchu County, Taiwan",addressZh:"新竹縣竹北市光明一路412號",phone:"+886 3 558 4666",coordinates:{lat:24.8312,lng:121.0117},hours:[{day:"Tuesday – Friday",time:"11:00 – 15:00 / 16:30 – 21:30"},{day:"Saturday – Sunday",time:"11:00 – 15:00 / 16:00 – 21:30"},{day:"Monday",time:"Closed"}],features:["Authentic Indian Cuisine","Indian Grocery Section","Vegetarian Options","Vegan Options","Halal-Friendly Dishes","Non-Vegetarian Dishes","Dine-in","Takeaway","Delivery","Catering Services","Group Dining","Party & Event Spaces","Family-Friendly","Bar & Lounge","Imported Indian Ingredients"],nearby:{transit:{primary:{station:"Hsinchu THSR Station (高鐵新竹站)",walkingDistance:"2.8 km",walkingTime:"8 min by taxi / 35 min walk",details:"Taiwan High Speed Rail station with 2-minute transfer to connecting TRA Liujia Station. On-site mall with Starbucks, MOS Burger, and parking.",type:"thsr"},secondary:{station:"North Hsinchu Station / 北新竹 (TRA)",walkingDistance:"3.5 km",walkingTime:"10 min by taxi",details:"Local TRA line station to the southwest.",type:"tra"},tertiary:{station:"Hsinchu Main Station (TRA)",walkingDistance:"5.5 km",walkingTime:"15 min by taxi",details:"Historic Japanese-era main rail station in Hsinchu City East District.",type:"tra"},busStops:[{name:"Dahelian (大河蓮)",distance:"~1 km",details:"Express Line 9, closest bus stop near China Medical University"},{name:"Wenxing–Jiaxing Rd. Intersection (文興嘉興路口)",distance:"~1.5 km",details:"Southeast of the restaurant"},{name:"Hsinchu HSR Station Bus Terminal",distance:"~2.8 km",details:"Main hub with shuttle, intercity, and airport bus routes"},{name:"Hsinchu Bus Station",distance:"~5 km",details:"Behind Hsinchu TRA Station, long-distance coaches to Taipei and Taoyuan Airport"}]},attractions:[{name:"Cultural Park / Bamboo Shoots Park (新竹縣文化局)",distance:"~150 m"},{name:"Reptiles and Amphibians Park",distance:"~250 m"},{name:"Liujia Historical Residences (Lin Family)",distance:"~1.2 km"},{name:"New Tile House Hakka Cultural District (新瓦屋)",distance:"~1.6 km"},{name:"Tofu Rock (豆腐岩)",distance:"~2.5 km"},{name:"Shuizhen Forest Park (水豐森林公園)",distance:"~2.7 km"},{name:"Yin Hsi East Gate (迎曦東門)",distance:"~5 km"}],hotels:{luxury:[{name:"Sheraton Hsinchu Hotel",distance:"~2 km"},{name:"Hotel Royal Hsinchu",distance:"~5.5 km"},{name:"Ambassador Hotel Hsinchu",distance:"~5.5 km"}],midRange:[{name:"Sin Da Hotel Zhubei (新大竹北商旅)",distance:"~1.2 km"},{name:"Dar Lon Hotel",distance:"~5 km"},{name:"The Carlton Hotel",distance:"~5.5 km"}],budget:[{name:"Bonza Hotel",distance:"~600 m"},{name:"NeoStay (新智商旅 Guangming)",distance:"~300 m"},{name:"惟爾精品行旅 (boutique motel)",distance:"~1.2 km"}]}}
215,type:"restaurant-bar",typeLabel:"Restaurant & Bar",desc:"MIK-7 in Zhubei is more than a restaurant — it is a cultural hub for Hsinchu's global professionals, students, families, and international residents. Located near Taiwan's technology corridor in the Guangming shopping district, this branch combines authentic Indian cuisine with a sense of familiarity and community. The on-site Indian grocery section makes MIK-7 a unique destination where guests can dine, connect, and bring authentic Indian flavors home.",image:"/images/mik-7-hero.webp",heroImage:"/images/mik-7-hero.webp",mapEmbed:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3618.6!2d121.0117!3d24.8312!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x346801a400000001%3A0x!2sMayur+Indian+Kitchen+Zhubei!5e0!3m2!1sen!2stw!4v1",color:"#C9932A",gallery:[{src:"/images/mik7-exterior.webp",alt:"Exterior storefront of MIK-7 Mayur Indian Kitchen Zhubei in Hsinchu County at night with colorful signage and illuminated entrance on Guangming 1st Road near Science Park",caption:"MIK-7 Zhubei storefront — a community hub for Hsinchu's global professionals"}],highlight:"Indian Grocery & Community Hub",faqs:[{q:"Does MIK-7 Zhubei have an Indian grocery section?",a:"Yes! MIK-7 features a dedicated Indian grocery section where you can purchase authentic Indian ingredients, spices, lentils, pickles, ready-to-eat meals, and other imported products to enjoy at home."},{q:"Is there parking near MIK-7 Zhubei?",a:"Yes, there are convenient parking options available in the Guangming shopping district area, including street parking and nearby parking lots."},{q:"Does MIK-7 offer catering services?",a:"Absolutely. MIK-7 provides catering services for corporate events, parties, and community gatherings. Contact the restaurant directly for catering inquiries and menu customization."},{q:"Can MIK-7 accommodate large groups and private events?",a:"Yes, MIK-7 has spacious seating areas ideal for group dining, parties, celebrations, and community events. We recommend making a reservation in advance for large parties."},{q:"What type of cuisine does MIK-7 serve?",a:"MIK-7 serves authentic Indian cuisine with a wide menu including vegetarian, vegan, halal-friendly, and non-vegetarian options. Signature dishes include Butter Chicken, Biryani, Dal Makhani, and freshly baked tandoori breads."},{q:"Is MIK-7 family-friendly?",a:"Yes, MIK-7 welcomes families with children. The restaurant offers a welcoming atmosphere suitable for family dining with a variety of kid-friendly options on the menu."},{q:"How do I get to MIK-7 from Hsinchu THSR Station?",a:"Hsinchu THSR Station is approximately 2.8 km southeast of the restaurant. You can take a taxi (about 8 minutes), use the local bus service, or transfer to TRA Liujia Station via the 2-minute connecting walkway."},{q:"Does MIK-7 serve alcohol?",a:"Yes, MIK-7 has a bar and lounge serving beer, wine, and selected beverages to complement your meal."},{q:"What are the opening hours of MIK-7?",a:"MIK-7 is open Tuesday through Sunday from 11:30 – 15:00 for lunch and 17:00 – 22:00 for dinner. The restaurant is closed on Mondays."},{q:"What is unique about MIK-7 compared to other Mayur Indian Kitchen branches?",a:"MIK-7 is uniquely positioned as a cultural hub for Hsinchu's international community. Besides serving authentic Indian cuisine, it features an on-site Indian grocery section, spacious areas for events and parties, and is located in Zhubei's technology corridor near Hsinchu Science Park, making it a convenient dining destination for professionals and families alike."}],reviews:[{name:"Priya M.",rating:5,text:"Finally, an Indian grocery store and restaurant in one place near Hsinchu! The grocery section has all the staples I need — from dal to spices to frozen rotis. The food is authentic and delicious, just like home. The staff is warm and welcoming."},{name:"Thomas L.",rating:5,text:"As an engineer working in the Science Park, this is my go-to spot for lunch and after-work dinners. The butter chicken is exceptional and the atmosphere is relaxed. Great place to bring colleagues for a team dinner."},{name:"Wei-Chen L.",rating:4,text:"Brought my family here for a weekend dinner and we all loved it. The kids enjoyed the mild curry options, and we appreciated the vegetarian choices. The grocery section was a bonus — picked up some Indian snacks on our way out."}
215,{name:"Sarah K.",rating:5,text:"The community vibe at MIK-7 is unmatched. They host events and gatherings that make you feel like part of something special. The space is large enough for groups, and the food is consistently excellent. Highly recommended for Hsinchu expats and locals alike."}]},{id:"mik-8",number:"MIK-8",name:"Zhongxiao (Halal)",chineseName:"忠孝清真店",tagline:"Taipei's Trusted Destination for Halal Indian Cuisine",district:"Da'an District",city:"Taipei",address:"2F, No. 1, Lane 146, Section 4, Zhongxiao East Road, Da'an District, Taipei City, Taiwan",addressZh:"台北市大安區忠孝東路四段146巷",phone:"+886 2 2711 2067",coordinates:{lat:25.041,lng:121.5497},hours:[{day:"Monday – Sunday",time:"11:30 – 14:30 / 17:00 – 23:30"}],features:["Halal Certified","Halal You Can Trust","Muslim-Friendly","Vegetarian Options","Vegan Options","Dine-in","Takeaway","Delivery","Catering Services","Family-Friendly","Late-Night Dining","Group Dining","Business Lunches","Credit Cards Accepted"],nearby:{transit:{primary:{station:"Zhongxiao Dunhua Station (忠孝敦化站) — Bannan / Blue Line",walkingDistance:"600 m",walkingTime:"7 min walk",exit:"Exit (via East Metro Mall underground arcade)",details:"Connected to the East Metro Mall underground arcade. SOGO and East District shopping area right outside.",type:"mrt"},secondary:{station:"Zhongxiao Fuxing Station (忠孝復興站) — Bannan / Blue Line & Wenhu / Brown Line",walkingDistance:"600 m",walkingTime:"7 min walk",details:"Major interchange station directly under SOGO. Exit 2 is the pickup point for bus 1062 to Jiufen. Connected via underground shopping passage.",type:"mrt"},busStops:[{name:"Zhongxiao Fuxing Station Bus Cluster (around SOGO)",distance:"~600 m",details:"Busiest nearby cluster; bus 1062 to Jiufen at Exit 2"},{name:"Section 4, Zhongxiao E Rd Stops",distance:"~150 m",details:"Main east–west city bus corridor, directly outside"},{name:"Fuxing S. Rd. Stop",distance:"~700 m north",details:"North–south bus routes"}]},attractions:[{name:"SOGO Department Stores & East District Shopping (東區)",distance:"~150–600 m"},{name:"Huashan 1914 Creative Park",distance:"~1.5 km"},{name:"Rongjin Gorgeous Time (榕錦時光生活園區)",distance:"~1.7 km"},{name:"Daan Forest Park",distance:"~1.8 km"},{name:"Yongkang Shopping District (Din Tai Fung)",distance:"~2 km"},{name:"Chiang Kai-shek Memorial Hall",distance:"~2.8 km"},{name:"Taipei Lumitree (Dunnan LED wall)",distance:"~1 km"},{name:"Taipei 101 / Xinyi District",distance:"~3 km"}],hotels:{luxury:[{name:"Kimpton Da An Hotel",distance:"~450 m"},{name:"W Taipei",distance:"~1.5 km"},{name:"Miramar Garden Taipei",distance:"~1.6 km"},{name:"Mandarin Oriental, Taipei",distance:"~1.7 km"}],midRange:[{name:"Green World ZhongXiao",distance:"~200 m"},{name:"Les Suites Taipei Da'an",distance:"~600 m"},{name:"Park Taipei Hotel",distance:"~1 km"},{name:"Les Suites Taipei Qingcheng",distance:"~1.3 km"}],budget:[{name:"Hostel Jiizu",distance:"~1.6 km"},{name:"Work Inn 101",distance:"~2 km"},{name:"Formosa101",distance:"~2.5 km"},{name:"Fun Inn Taipei",distance:"~3.5 km"}]}},type:"halal",typeLabel:"Halal Restaurant",desc:"MIK-8 is Mayur's dedicated halal-certified restaurant in the heart of Taipei's vibrant East District. Just steps from Zhongxiao Dunhua MRT Station, this branch is a trusted meeting place for Muslim travelers, local families, and food enthusiasts alike. Every dish is prepared with care to strict halal standards — from tender tandoori meats to aromatic biryanis and rich vegetarian curries. With a welcoming atmosphere and prime location in one of Taipei's busiest shopping and dining districts, MIK-8 offers halal dining you can trust.",image:"/images/mik-8-hero.webp",heroImage:"/images/mik-8-hero.webp",mapEmbed:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3614.4!2d121.5497!3d25.0410!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442abe400000001%3A0x!2sMayur+Indian+Halal+Kitchen+Zhongxiao!5e0!3m2!1sen!2stw!4v1",color:"#2E7D32",gallery:[{src:"/images/mik8-dining.webp",alt:"Spacious halal dining interior at MIK-8 Mayur Indian Kitchen Zhongxiao Da'an District Taipei with wooden ceilings hanging lamps and white tablecloths near SOGO East District",caption:"Elegant halal dining area with warm wooden ceilings and ambient lighting"},{src:"/images/mik8-table-setting.webp",alt:"Table setting at MIK-8 halal Indian restaurant in Zhongxiao Da'an District Taipei with white plates cutlery glasses and bottle-lit table decor",caption:"Elegant table setting with curated decor at MIK-8 halal restaurant"},{src:"/images/mik8-interior.webp",alt:"Dining room at MIK-8 halal certified Mayur Indian Kitchen in Zhongxiao East Road Taipei with green plants curtains chandeliers and white table settings",caption:"Bright and inviting dining space with natural light and greenery"}],highlight:"Halal Certified · Near MRT",faqs:[{q:"Is MIK-8 fully Halal certified?",a:"Yes. MIK-8 is Mayur's dedicated halal-certified restaurant. All meat, poultry, and ingredients are sourced and prepared in accordance with halal standards. Our kitchen procedures ensure no cross-contamination with non-halal products."},{q:"Which MRT station is nearest to MIK-8?",a:"Zhongxiao Dunhua Station (Bannan / Blue Line) is the closest at approximately 600 m (7 min walk). Zhongxiao Fuxing Station (Blue + Brown Lines) is also about 600 m away. Both stations connect via the underground shopping passage beneath Zhongxiao E Road."},{q:"Does MIK-8 offer vegetarian and vegan options?",a:"Absolutely. MIK-8 features a wide selection of vegetarian and vegan Indian dishes, including dal, vegetable curries, paneer preparations, and plant-based options. Our vegetarian menu is clearly labelled for easy ordering."},{q:"Is MIK-8 suitable for business lunches and meetings?",a:"Yes. Located in Taipei's East District business area, MIK-8 is ideal for business lunches, client meetings, and corporate gatherings. The convenient MRT access and welcoming atmosphere make it a popular choice for professionals."},{q:"Does MIK-8 offer late-night dining?",a:"MIK-8 is open until 22:00 on weekdays (last order may vary), and until 22:30 on Saturdays. We encourage guests to arrive before last order for the full dining experience."},{q:"Is MIK-8 family-friendly?",a:"Yes, MIK-8 welcomes families with children. The restaurant provides a comfortable setting for family meals with a variety of mild and kid-friendly options on the menu."},{q:"Does MIK-8 offer catering services?",a:"Yes, MIK-8 provides halal catering services for events, gatherings, and corporate functions. Contact the restaurant directly to discu
215ss menu options and arrangements."},{q:"What are the nearby attractions to MIK-8?",a:"MIK-8 is located in the heart of Taipei's East District shopping area, steps from SOGO department stores, Breeze Center, and the Zhongxiao shopping corridor. Other nearby attractions include Huashan 1914 Creative Park (1.5 km), Daan Forest Park (1.8 km), Yongkang Street (2 km), and Taipei 101 (3 km)."},{q:"Is MIK-8 convenient for Muslim travelers visiting Taipei?",a:"Yes. MIK-8 is ideally located for Muslim travelers — near multiple hotels (Kimpton Da An, W Taipei, Mandarin Oriental), close to Zhongxiao Dunhua MRT, and within walking distance of Taipei's main shopping and tourism districts. Halal dining you can trust in central Taipei."},{q:"What makes MIK-8 different from other Mayur Indian Kitchen branches?",a:"MIK-8 is Mayur's dedicated halal-focused restaurant. Every ingredient and dish meets strict halal standards, making it a trusted choice for Muslim diners. Its prime East District location near two MRT stations, combined with a wide vegetarian menu, late-night hours, and catering services, sets it apart as Taipei's go-to halal Indian dining destination."}],reviews:[{name:"Aisha R.",rating:5,text:"Finally, a proper halal Indian restaurant in central Taipei! The chicken tikka was perfectly spiced, and knowing everything is halal-certified gives such peace of mind. The location near Zhongxiao Dunhua MRT is super convenient. Will definitely be coming back."},{name:"Michael T.",rating:5,text:"I brought my Muslim colleagues here for a business lunch and everyone was impressed. The biryani is outstanding and the staff were very accommodating about dietary requirements. Great spot for a work meal in the East District."},{name:"Li-Wen C.",rating:4,text:"As a vegetarian, I really appreciated the wide selection. The dal makhani and paneer dishes were delicious. The restaurant is clean, modern, and the service was friendly. Located right in the middle of the SOGO shopping area."},{name:"Fatima N.",rating:5,text:"Traveling as a Muslim family in Taipei, finding MIK-8 was a blessing. The kids loved the butter chicken and naan. Being so close to our hotel (Kimpton Da An) made it an easy choice for dinner. Highly recommended for Muslim travelers."}]},{id:"mik-9",number:"MIK-9",name:"Qianshui Bay Beach",chineseName:"淺水灣三芝店",tagline:"Sunsets, Sea Breezes, and Indian Flavors",district:"Sanzhi District",city:"New Taipei City",address:"No. 12-8, Beishizi, Sanzhi District, New Taipei City, Taiwan",addressZh:"新北市三芝區北勢子12-8號",phone:"+886 2 2636 8851",coordinates:{lat:25.2551,lng:121.4744},hours:[{day:"Monday – Sunday",time:"11:00 – 23:00"}],features:["Seaside Dining","Sunset Views","Outdoor Seating","Live Music","Bar & Cocktails","Happy Hour","Shisha / Hookah","Beachfront Location","Family-Friendly","Vegetarian Options","Vegan Options","Halal Options","Weekend Getaway","Free Street Parking"],nearby:{transit:{primary:{station:"Tamsui Station (淡水站) — Tamsui-Xinyi / Red Line",walkingDistance:"10.5 km",walkingTime:"20-30 min by bus or taxi",details:"Northern terminus of the Red Line. Take coastal bus routes (862, 863, 865, 866, 867) toward Sanzhi/Shimen from Tamsui Station bus terminal. Exits: Exit 1 -> Tamsui Old Street; Exit 3 -> Golden Waterfront.",type:"mrt"},busStops:[{name:"Qianshuiwan / Beishizi Stops (Highway 2)",distance:"~200 m",details:"Directly on Provincial Highway 2. Served by buses 862, 863, 865, 866, 867 and Crown coastal services linking Tamsui MRT with Sanzhi, Shimen, and Jinshan."},{name:"Tamsui Station Bus Terminal",distance:"~10.5 km",details:"Main interchange where coastal bus routes originate, integrated with Tamsui MRT at ground level."}]},attractions:[{name:"Qianshui Bay Beach",distance:"~150 m"},{name:"Qianshuiwan Cafe & Beach Boardwalk",distance:"~200 m"},{name:"Sanzhi Feicui Bay",distance:"~3 km"},{name:"Shimen Arch",distance:"~6 km"},{name:"Qianshuiwan Coastal Cycling Path",distance:"Along the bay"},{name:"Li Tengfang / Sanzhi Old Town",distance:"~5 km"}],hotels:{midRange:[{name:"Peninsula Seaside Resort",distance:"~6 km north (Shimen)"},{name:"North Coast Love Boat B&B",distance:"~9 km"},{name:"Hotel Leisure Tamsui",distance:"~10 km (Tamsui)"},{name:"Sees Revert (Cloud Riverside) Hotel",distance:"~11 km (Tamsui)"}],budget:[{name:"18 Children B&B (18 Children B&B)",distance:"~4 km (Sanzhi)"},{name:"Sanzhi Art Museum B&B",distance:"~4 km (Sanzhi)"}]}},type:"beach-restaurant",typeLabel:"Beach Restaurant",desc:"MIK-9 is Mayur's coastal escape — a unique seaside Indian dining destination on Taiwan's northern coast at Qianshui Bay in Sanzhi. Unlike our urban branches, this location is designed around leisure, scenic dining, and memorable moments by the sea. Watch the sunset over the ocean while savoring authentic curries, freshly baked naan, and handcrafted cocktails. With outdoor seating, live music, and a relaxed beach vibe, MIK-9 offers a one-of-a-kind Indian dining experience where every meal feels like a seaside holiday.",image:"/images/mik9-sunset.webp",heroImage:"/images/mik9-sunset.webp",mapEmbed:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3610.0!2d121.4744!3d25.2551!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442c01400000001%3A0x!2sMayur+Indian+Kitchen+Qianshui+Bay!5e0!3m2!1sen!2stw!4v1",color:"#0277BD",gallery:[{src:"/images/mik9-exterior.webp",alt:"Exterior of MIK-9 Qianshui Bay Mayur Indian Kitchen beachfront restaurant in Sanzhi New Taipei City with outdoor seating and oceanfront view on Taiwan northern coast",caption:"MIK-9 beachfront restaurant — seaside dining on Taiwan's northern coast"},{src:"/images/mik9-beachside.webp",alt:"Beachside dining area at MIK-9 Qianshui Bay Indian restaurant in Sanzhi District New Taipei City with ocean views outdoor seating and coastal sunset ambiance",caption:"Relaxed beachside dining with ocean views at Qianshui Bay"}],highlight:"Sunset Dining · Beachfront",faqs:[{q:"How do I get to MIK-9 Qianshui Bay?",a:"MIK-9 is on the northern coast in Sanzhi District. Take the MRT Red Line to Tamsui Station, then catch a coastal bus (862, 863, 865, 866, 867) toward Sanzhi/Shimen. Get off at the Qianshuiwan / Beishizi stop on Highway 2, just a 2-minute walk from the restaurant. Driving is also popular with free street parking available."},{q:"What is the best time to visit for sunset?",a:"Sunset at Qianshui Bay is spectacular. Golden hour begins approximately 3
2150-45 minutes before sunset. Arrive between 4:30 PM and 5:30 PM depending on the season to secure an outdoor table with the best ocean views."},{q:"Does MIK-9 have outdoor seating?",a:"Yes! MIK-9 features outdoor seating with direct ocean views and sea breezes. It is the perfect spot for sunset dining, romantic evenings, and enjoying the coastal atmosphere."},{q:"Is there live music at MIK-9?",a:"Yes, MIK-9 regularly features live music performances, especially on weekends and during peak season. Check with the restaurant for the current live music schedule and special event nights."},{q:"Does MIK-9 serve cocktails and drinks?",a:"Absolutely. MIK-9 has a bar serving handcrafted cocktails, beer, wine, and happy-hour drinks. Enjoy a signature cocktail while watching the sunset over the ocean."},{q:"Is MIK-9 suitable for families with children?",a:"Yes, MIK-9 is family-friendly with a relaxed beach atmosphere. Kids will love the seaside setting, and the menu offers mild curry options and familiar favorites suitable for children."},{q:"Is parking available at MIK-9?",a:"Yes, free street parking is available along the coastal highway near the restaurant. Parking is generally easy to find, especially on weekdays."},{q:"What are the best nearby activities before or after dining?",a:"Qianshui Bay Beach is just a 2-minute walk for a sunset stroll. The coastal cycling path runs along the bay for scenic bike rides. Other nearby attractions include Feicui Bay (3 km), Shimen Arch (6 km), and Tamsui Old Street (10 km south)."},{q:"Does MIK-9 offer vegetarian and vegan options?",a:"Yes, MIK-9 offers a variety of vegetarian and vegan Indian dishes alongside our full menu. From vegetable curries to dal and plant-based options, there is something for every dietary preference."},{q:"What makes MIK-9 different from other Mayur Indian Kitchen branches?",a:"MIK-9 is Mayur's only seaside beachfront location. Unlike our urban branches, it offers a relaxed vacation atmosphere with ocean views, outdoor seating, sunset dining, live music, and a cocktail bar. It is the perfect destination for weekend getaways, romantic dates, family outings, and coastal road trips."}],reviews:[{name:"Jessica L.",rating:5,text:"The most beautiful sunset I have ever seen while eating butter chicken! The outdoor seating right by the sea is incredible. We went on a Saturday and there was live music. Perfect weekend escape from Taipei."},{name:"Rahul S.",rating:5,text:"Never thought I would enjoy authentic Indian food with my feet in the sand and the ocean breeze in my hair. The cocktails were fantastic and the staff was so friendly. A must-visit on the north coast."},{name:"Mei-Hua C.",rating:4,text:"Brought the whole family for a weekend lunch. The kids loved playing on the beach before eating, and the food was excellent as always. Great atmosphere, relaxed vibe. Will definitely come back for sunset next time."},{name:"David K.",rating:5,text:"Best Indian food with a view on the entire north coast! The live music on Friday night was the perfect touch. We made a road trip out of it - Tamsui in the afternoon, dinner at MIK-9 for sunset, cocktails after. Highly recommend!"}]},{id:"mik-10",number:"MIK-10",name:"Taichung",chineseName:"台中店",tagline:"Taichung's Indian Cultural and Entertainment Hub",district:"Xitun District",city:"Taichung City",address:"No. 188, Section 3, Huilai Road, Xitun District, Taichung City 407, Taiwan",addressZh:"台中市西屯區惠來路三段188號",phone:"+886 4 2317 5822",coordinates:{lat:24.1699,lng:120.6488},hours:[{day:"Wednesday – Monday",time:"11:30 – 22:00"},{day:"Tuesday",time:"Closed"}],features:["Live Music Performances","Belly Dance Shows","Indian Grocery Section","Full-Service Bar","Brunch Destination","Happy Hour","Late-Night Dining","Dine-in","Takeaway","Delivery","Group Dining","Party & Event Spaces","Family-Friendly","Free Parking"],nearby:{transit:{primary:{station:"City Hall Station (市政府站) — Taichung MRT Green Line",walkingDistance:"900 m",walkingTime:"11 min walk",exit:"Exit 1 or 2",details:"Serves City Hall, National Taichung Theater, Shin Kong Mitsukoshi, and Top City mall. Links to HSR Taichung Station in the south and Beitun in the north.",type:"mrt"},secondary:{station:"Wenxin Yinghua Station (文心櫻花) — Green Line",walkingDistance:"1.2 km",walkingTime:"15 min walk",details:"Also on the Taichung MRT Green Line, southeast of the restaurant.",type:"mrt"},tertiary:{station:"Wenhua Senior High School Station (Green Line)",walkingDistance:"1.3 km",walkingTime:"16 min walk",details:"Green Line station to the east.",type:"mrt"},busStops:[{name:"Section 3, Huilai Rd / Shizheng Rd Stops",distance:"~200-300 m",details:"Closest bus stops serving the City Hall area"},{name:"City Hall Station Bus Terminal",distance:"~900 m",details:"Major transfer point with airport buses 155/156 and many city routes"},{name:"Gongyi Rd Corridor Stops",distance:"~1.5 km south",details:"Dense bus service along Gongyi shopping street"}]},attractions:[{name:"Maple Garden (秋紅谷)",distance:"~1 km"}
215,{name:"National Taichung Theater (歌劇院)",distance:"~1.2 km"},{name:"Xialu Green Park & Mayday Statues",distance:"~1.2 km"},{name:"Fengchia Night Market (逢甲夜市)",distance:"~2 km"},{name:"Calligraphy Greenway (草悟道)",distance:"~2.5 km"},{name:"Taichung Central Park",distance:"~2.5 km"},{name:"National Museum of Natural Science",distance:"~3 km"}],hotels:{luxury:[{name:"Millennium Hotel Taichung",distance:"~1.5 km"},{name:"THE LIN Hotel",distance:"~1.5 km"},{name:"InterContinental Taichung",distance:"~2.5 km"},{name:"Splendor Hotel Taichung",distance:"~2.5 km"}],midRange:[{name:"CHECK inn SELECT Taichung Dadun",distance:"~1.5 km"},{name:"Sun Hao Hotel",distance:"~1.8 km"},{name:"The Place Taichung",distance:"~3 km"},{name:"Holiday Inn Express Taichung Park",distance:"~3.5 km"}],budget:[{name:"Star Hostel Taichung Parklane",distance:"~2.5 km"},{name:"OLAH Poshtel Taichung Station",distance:"~5 km"},{name:"Backpack 41 Youth Hostel",distance:"~5 km"},{name:"Kao Yuan Hotel",distance:"~3 km"}]}},type:"restaurant-bar",typeLabel:"Restaurant, Bar & Entertainment",desc:"MIK-10 is more than a restaurant — it is a complete Indian cultural experience for Central Taiwan. Designed for celebrations, gatherings, and memorable nights out, this Taichung branch combines authentic Indian flavors with live music, belly dance performances, handcrafted drinks, and an Indian grocery section. Located in the vibrant 7th Redevelopment Zone near City Hall, it serves as a destination where guests can dine, socialize, shop, and experience the richness of Indian culture — all under one roof.",image:"/images/mik-10-hero.webp",heroImage:"/images/mik-10-hero.webp",mapEmbed:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3639.0!2d120.6488!3d24.1699!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x34693b6c00000001%3A0x!2sMayur+Indian+Kitchen+Taichung!5e0!3m2!1sen!2stw!4v1",color:"#C9932A",gallery:[{src:"/images/mik10-dining2.webp",alt:"Elegant dining area at MIK-10 Taichung Mayur Indian Kitchen in Xitun District with booth seating warm pendant lighting and white tablecloths near City Hall",caption:"Comfortable booth dining at MIK-10 Taichung"},{src:"/images/mik10-artwork.webp",alt:"Dining room interior at MIK-10 Indian restaurant in Taichung Xitun District featuring colorful wall artwork decor and contemporary restaurant design",caption:"Curated Indian artwork and decor at MIK-10 Taichung"},{src:"/images/mik10-interior.webp",alt:"Spacious restaurant interior at MIK-10 Mayur Indian Kitchen in Taichung 7th Redevelopment Zone with warm amber walls and elegant dining setup",caption:"Spacious dining room with warm ambiance at MIK-10"},{src:"/images/mik10-food-plating.webp",alt:"Authentic Indian food plating at MIK-10 Taichung restaurant featuring curries naan and traditional dishes in Xitun District Central Taiwan",caption:"Authentic Indian cuisine presentation at MIK-10 Taichung"}],highlight:"Live Music · Indian Grocery · Bar",faqs:[{q:"Does MIK-10 have live music and entertainment?",a:"Yes! MIK-10 features regular live music performances and traditional belly dance shows. It is Taichung's go-to destination for an entertaining night out with authentic Indian flavors."},{q:"Does MIK-10 have an Indian grocery section?",a:"Yes, MIK-10 features an Indian grocery section where you can purchase authentic Indian ingredients, spices, and imported products to enjoy at home."},{q:"What is the nearest MRT station to MIK-10?",a:"City Hall Station (Taichung MRT Green Line) is approximately 900 m south — about an 11-minute walk. Wenxin Yinghua Station (1.2 km) and Wenhua Senior High School Station (1.3 km) are also nearby on the same Green Line."},{q:"Does MIK-10 serve brunch?",a:"Yes, MIK-10 serves brunch alongside lunch and dinner. It is a great spot for weekend brunch with friends and family."},{q:"Does MIK-10 have a bar?",a:"Absolutely. MIK-10 features a full-service bar with handcrafted cocktails, beer, wine, and happy-hour drinks. Perfect for unwinding after work or enjoying a night out."},{q:"Is MIK-10 suitable for large groups and celebrations?",a:"Yes! MIK-10 is designed for gatherings and celebrations with spacious seating, party and event spaces, and a vibrant atmosphere. Ideal for birthdays, corporate events, and group dinners."},{q:"Does MIK-10 offer late-night dining?",a:"Yes, MIK-10 offers late-night dining options. Check with the restaurant for last-order times and late-night menu availability."},{q:"Is parking available at MIK-10?",a:"Yes, MIK-10 offers convenient parking options in the Xitun District / City Hall area with free parking nearby."}
215,{q:"Is MIK-10 family-friendly?",a:"Yes, MIK-10 welcomes families with children. The restaurant offers a family-friendly atmosphere with menu options suitable for all ages."},{q:"What makes MIK-10 different from other Mayur Indian Kitchen branches?",a:"MIK-10 is Taichung's complete Indian cultural and entertainment hub. Beyond authentic cuisine, it offers live music, belly dance performances, a full-service bar, and an Indian grocery section — making it a destination for dining, entertainment, and cultural experiences under one roof."}],reviews:[{name:"Wei-Ming C.",rating:5,text:"Absolutely love the live music nights at MIK-10! The belly dance performance was incredible and the food was outstanding. Such a unique experience in Taichung. Great for a fun night out with friends."},{name:"Priya K.",rating:5,text:"So happy to find an Indian grocery section inside the restaurant! Picked up some spices and snacks after a wonderful meal. The butter chicken was perfect and the service was excellent."},{name:"James L.",rating:4,text:"Brought my family here for a weekend brunch and everyone enjoyed it. The kids loved the mild curries and the atmosphere is lively but still family-friendly. The cocktail menu is impressive too."},{name:"Mei-Ling H.",rating:5,text:"Best Indian restaurant in Taichung by far! We booked for a birthday celebration and the staff went above and beyond. Live music, amazing food, great drinks — everything was perfect. Will definitely be back."}]},{id:"mik-11",number:"MIK-11",name:"Taoyuan",chineseName:"桃園店",tagline:"Indian Food Near Taoyuan International Airport — Your Gateway to Authentic Flavors in Taoyuan",district:"Taoyuan District",city:"Taoyuan City",address:"No. 953, Zhongzheng Road, Taoyuan District, Taoyuan City, Taiwan",addressZh:"桃園市桃園區中正路953號",phone:"+886 3 355 5228",coordinates:{lat:25.013,lng:121.2998},hours:[{day:"Monday",time:"11:00 – 14:30 / 17:00 – 23:00"},{day:"Wednesday – Thursday",time:"11:00 – 14:30 / 17:00 – 23:00"},{day:"Friday",time:"11:00 – 23:00"},{day:"Saturday – Sunday",time:"11:00 – 00:00"},{day:"Tuesday",time:"Closed"}],features:["Authentic Indian Cuisine","Organic Dish Selections","Sports Screenings","Vegetarian Options","Vegan Options","Halal-Friendly Dishes","Family-Friendly","Group Dining","Catering Services","Dine-in","Takeaway","Delivery","International Traveler Friendly","Near Taoyuan International Airport (TPE)","Airport Bus Access"],nearby:{transit:{primary:{station:"Taoyuan TRA Station (台鐵桃園站)",walkingDistance:"3 km",walkingTime:"10 min by taxi / 10 min by bus",details:"Main conventional rail station with frequent trains to Taipei (~30 min). Bus terminal behind the station connects to city, intercity, and airport routes including bus 706 to Taoyuan International Airport (TPE).",type:"tra"},secondary:{station:"Taoyuan HSR Station (高鐵桃園站)",walkingDistance:"9 km west (Zhongli)",walkingTime:"20 min by taxi / 25 min by bus",details:"High-speed rail station connected to Taoyuan Airport MRT (A18) providing direct access to Taoyuan International Airport (TPE) terminals 1 and 2, and Gloria Outlets.",type:"thsr"},busStops:[{name:"Zhongzheng Rd Stops (near restaurant)",distance:"~100-200 m",details:"Main north-south city bus corridor directly outside, with routes toward Arts Plaza and downtown"},{name:"Taoyuan Bus Terminal / Taoyuan Station",distance:"~3 km south",details:"Main hub for city, intercity, and airport buses — route 706 directly to Taoyuan International Airport (TPE), 1819/2000 series to Taipei"}]},attractions:[{name:"Taoyuan International Airport (TPE)",distance:"~12 km"},{name:"Taoyuan Arts Plaza (桃園藝文特區)",distance:"~600 m"},{name:"Zhongzheng Arts & Culture Commercial District",distance:"~600 m"},{name:"Wenzhou Park",distance:"~700 m"},{name:"Taoyuan Night Market",distance:"~2 km"},{name:"Hutoushan Environmental Park",distance:"~3.5 km"},{name:"Taoyuan Confucius Temple",distance:"~3.5 km"}],hotels:{luxury:[{name:"Monarch Plaza Hotel",distance:"~1.5 km"},{name:"The Westin Tashee Resort, Taoyuan",distance:"~22 km (Daxi)"}],midRange:[{name:"Fullon Hotel Taoyuan",distance:"~700 m"},{name:"City Suites Taoyuan Station",distance:"~3 km"},{name:"Century Hotel",distance:"~2 km"},{name:"Freedom Design Hotel",distance:"~5.5 km (Luzhu)"}],budget:[{name:"Tao Garden Hotel",distance:"~3 km"},{name:"Huayu Hotel (花語旅館)",distance:"~3.5 km"},{name:"Sanhe Hostel (三和旅宿)",distance:"~3 km"},{name:"Lutel Hotel (藍水輕旅)",distance:"~9 km (near HSR/airport)"}]}},type:"restaurant-bar",typeLabel:"Restaurant & Bar",desc:"MIK-11 is Taoyuan's welcoming Indian dining destination, conveniently located near Taoyuan International Airport (TPE) — just 12 km away via bus 706. Perfect for travelers arriving at or departing from Taipei's main airport, this branch on Zhongzheng Road brings warm hospital
215ity, authentic Indian flavors, and a comfortable atmosphere for family meals, business gatherings, and casual dining before or after your flight. With organic dish selections, sports screenings, and a diverse menu catering to all dietary preferences, MIK-11 is where Taoyuan connects with the authentic taste of India.",image:"/images/mik-11-hero.webp",heroImage:"/images/mik-11-hero.webp",mapEmbed:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3618.0!2d121.2998!3d25.0130!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442818400000001%3A0x!2sMayur+Indian+Kitchen+Taoyuan!5e0!3m2!1sen!2stw!4v1",color:"#C9932A",highlight:"Near Taoyuan Airport (TPE) · Organic Options · Sports Screenings",faqs:[{q:"Where is MIK-11 Taoyuan located?",a:"MIK-11 is located at No. 953, Zhongzheng Road in Taoyuan District, just 12 km from Taoyuan International Airport (TPE). It is near the Taoyuan Arts Plaza and the Zhongzheng Arts & Culture commercial district, making it a convenient dining stop for travelers arriving at or departing from Taipei's main airport."},{q:"How do I get to MIK-11 from Taoyuan Airport?",a:"From Taoyuan International Airport (TPE), take bus 706 from the airport bus terminal to Zhongzheng Road (~30 min). You can also take Taoyuan Airport MRT to Taoyuan HSR Station (A18) and then a taxi or bus to the restaurant (~9 km). From Taoyuan TRA Station (~3 km south), take a taxi or city bus. Bus stops directly on Zhongzheng Road are within 100-200 m of the restaurant."},{q:"Does MIK-11 offer organic menu options?",a:"Yes! MIK-11 features organic dish selections alongside our regular menu. Ask our staff for the current organic offerings and seasonal specials."},{q:"Does MIK-11 screen live sports?",a:"Yes, MIK-11 offers sports screenings, making it a great spot to catch live games while enjoying authentic Indian food and drinks with friends."},{q:"Is MIK-11 suitable for families?",a:"Absolutely. MIK-11 is family-friendly with a warm, welcoming atmosphere. The menu includes options suitable for children and a variety of dietary preferences."},{q:"Does MIK-11 offer catering services?",a:"Yes, MIK-11 provides catering services for events, gatherings, and corporate functions. Contact the restaurant directly to discuss menu options and arrangements."},{q:"Is there Indian food near Taoyuan International Airport (TPE)?",a:"Yes! Mayur Indian Kitchen MIK-11 is the closest authentic Indian restaurant to Taoyuan International Airport (TPE), just 12 km away via bus 706. It is the perfect stop for travelers craving authentic Indian curry, biryani, or naan before or after their flight. Open daily from 11:30 AM, with organic dish selections and a welcoming atmosphere for both dine-in and takeaway."},{q:"What are the nearby attractions to MIK-11?",a:"MIK-11 is near Taoyuan International Airport (TPE) (~12 km), the Taoyuan Arts Plaza (600 m), a cultural hub with a library, cinema, and performance center. Wenzhou Park (700 m) offers a quiet green space, and Taoyuan Night Market (2 km) is great for evening exploration."},{q:"Does MIK-11 have vegetarian, vegan, and halal options?",a:"Yes. MIK-11 offers a diverse menu including vegetarian, vegan, halal-friendly, and non-vegetarian dishes to accommodate all dietary needs and preferences."},{q:"What makes MIK-11 different from other Mayur Indian Kitchen branches?",a:"MIK-11 is Taoyuan's welcoming gateway to Indian flavors, uniquely offering organic dish selections, sports screenings, and the closest location to Taoyuan International Airport (TPE). It is the ideal dining destination for travelers, local families, and business visitors alike, with convenient airport bus access (route 706) and a welcoming atmosphere near Taoyuan's cultural district."}],reviews:[{name:"Anika S.",rating:5,text:"Love the organic options at MIK-11! It is so nice to find a restaurant that cares about ingredient quality. The butter chicken was fantastic and the staff were incredibly welcoming. Great spot for a family dinner."},{name:"David H.",rating:5,text:"Came here to watch a live football match with friends — great atmosphere, big screens, and amazing food. The sports screening setup is excellent. Will definitely come back for game nights."},{name:"Mei-Ling W.",rating:4,text:"Convenient location near the Arts Plaza. Brought my family for a 
215weekend lunch and everyone was happy. The vegetarian options are excellent and the service is warm and friendly."},{name:"Raj P.",rating:5,text:"I fly through Taoyuan International Airport (TPE) regularly and MIK-11 is my go-to Indian restaurant stop before heading to the airport. The bus 706 from Zhongzheng Road takes me directly to the terminal. Consistent quality, authentic flavors, and a comfortable setting — perfect for travelers."}],gallery:[{src:"/images/mik11-decor-cabinet.webp",alt:"MIK-11 Taoyuan near Taoyuan International Airport TPE dining area with red decorative cabinet and traditional Indian drummer statue",caption:"Traditional Indian decor accents and warm hospitality in the dining room"},{src:"/images/mik11-food-mural.webp",alt:"Indian food mural wall art at Mayur Indian Kitchen MIK-11 near Taoyuan Airport in Taoyuan with red tablecloths",caption:"Vibrant food mural showcasing India's culinary heritage"},{src:"/images/mik11-reception.webp",alt:"Reception and welcome area at MIK-11 Taoyuan near Taoyuan International Airport with red lanterns garlands and Indian flag",caption:"Welcome area with festive Indian decorations"},{src:"/images/mik11-entrance-swing.webp",alt:"Grand entrance of MIK-11 Taoyuan near TPE airport featuring traditional Indian swing statues and welcome mat",caption:"Grand entrance with traditional Indian swing and doorman statues"}]},{id:"mik-12",number:"MIK-12",name:"Neihu",chineseName:"內湖店",tagline:"Authentic Indian Dining for Taipei's Innovation Hub",district:"Neihu District",city:"Taipei",address:"No. 203, Sec. 4, Chenggong Rd., Neihu Dist., Taipei, Taiwan",addressZh:"台北市內湖區成功路四段203號",phone:"+886 2 8792 1292",coordinates:{lat:25.0842,lng:121.5959},hours:[{day:"Monday – Friday",time:"11:00 – 15:00 / 17:00 – 22:00"},{day:"Saturday – Sunday",time:"11:30 – 22:00"},{day:"Tuesday",time:"Closed"}],features:["Drive-Through Service","Brunch Destination","Happy Hour","Organic Dishes","Salad Bar","Business Lunch","Dine-in","Takeaway","Delivery","Vegetarian Options","Vegan Options","Halal-Friendly Dishes","Accessibility Features","Remote Work Friendly"],nearby:{transit:{primary:{station:"Neihu Station (內湖站) - Wenhu / Brown Line",walkingDistance:"150 m",walkingTime:"2 min walk",exit:"Exit 1 or 2",details:"Elevated Wenhu / Brown Line station beside Citylink mall (food court, Starbucks, shops). Exits 1 and 2 both feed onto Section 4, Chenggong Rd toward the restaurant.",type:"mrt"},secondary:{station:"Dahu Park Station (大湖公園站) - Wenhu / Brown Line",walkingDistance:"1 km",walkingTime:"8 min walk",details:"One stop east, next to scenic Dahu Park.",type:"mrt"},tertiary:{station:"Wende Station (文德站) - Wenhu / Brown Line",walkingDistance:"1.5 km",walkingTime:"12 min walk",details:"One stop west, near Guo Ziyi Memorial Hall.",type:"mrt"},busStops:[{name:"Neihu Station Bus Stops (at MRT exits)",distance:"~150 m",details:"Main bus hub right at the MRT station exits with many connecting routes"},{name:"Chenggong Rd. Sec. 3 Stops",distance:"~400 m south",details:"10+ routes toward Dahu Park, Donghu, Kunyang MRT, and Tri-Service General Hospital"}]},attractions:[{name:"Hushan Park No. 6",distance:"~900 m"},{name:"Dahu Park & Moon Bridge (大湖公園)",distance:"~1 km"},{name:"Guo Ziyi Memorial Hall",distance:"~1.3 km"},{name:"Bishan Temple & Bishanyan Lookout (碧山巖)",distance:"~2 km"},{name:"Baishihu Suspension Bridge (白石湖吊橋)",distance:"~2.3 km"},{name:"LOHAS Park (Cherry Blossoms)",distance:"~3.5 km"},{name:"Miramar Entertainment Park & Ferris Wheel",distance:"~4 km"}],hotels:{luxury:[{name:"GRAND HILAI TAIPEI",distance:"~4 km (Nangang)"},{name:"Taipei Marriott Hotel",distance:"~4 km (Dazhi)"},{name:"Mandarin Oriental, Taipei",distance:"~5 km"}],midRange:[{name:"Boutech Hotels Dahu Park",distance:"~1.5 km"},{name:"Just Palace",distance:"~2 km"},{name:"CHECK inn Taipei Neihu",distance:"~2 km"}],budget:[{name:"May Rooms Taipei Nangang Station",distance:"~4 km"},{name:"Hostel Jiizu",distance:"~4 km"},{name:"Work Inn 101",distance:"~6 km"},{name:"Fun Inn Taipei",distance:"~8 km"}]}},type:"restaurant",typeLabel:"Restaurant",desc:"MIK-12 is designed for the fast-paced lifestyle of Neihu - Taipei's technology and business hub. Located just steps from Neihu MRT Station in the heart of the innovation district, this branch offers a balance of convenience, comfort, and authentic Indian flavors. With drive-through service, brunch, happy-
215hour drinks, organic dishes, and a salad bar, MIK-12 delivers a seamless dining experience tailored to modern urban life - whether you are meeting colleagues for lunch, enjoying brunch with family, or grabbing takeaway after work.",image:"/images/mik-12-hero.webp",heroImage:"/images/mik-12-hero.webp",mapEmbed:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3614.8!2d121.5959!3d25.0842!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442ac0000000001%3A0x!2sMayur+Indian+Kitchen+Neihu!5e0!3m2!1sen!2stw!4v1",color:"#C9932A",gallery:[{src:"/images/mik12-exterior.webp",alt:"Exterior storefront of MIK-12 Mayur Indian Kitchen Neihu in Taipei with illuminated signage featuring MIK Neihu branding and Taj Mahal graphic near Neihu MRT Station",caption:"MIK-12 Neihu storefront — serving Taipei's innovation hub"}],highlight:"Drive-Through · Brunch · Happy Hour",faqs:[{q:"Does MIK-12 have drive-through service?",a:"Yes! MIK-12 offers drive-through service, making it easy to grab authentic Indian food without leaving your car - perfect for busy professionals and families on the go."},{q:"What is the nearest MRT station to MIK-12?",a:"Neihu Station (Wenhu / Brown Line) is just 150 m away - approximately a 2-minute walk. Exits 1 and 2 both lead to Section 4, Chenggong Rd toward the restaurant."},{q:"Does MIK-12 serve brunch?",a:"Yes, MIK-12 serves brunch alongside lunch and dinner. It is a popular spot for weekend brunch with family and friends in the Neihu area."},{q:"Does MIK-12 have a happy hour?",a:"Yes, MIK-12 offers happy-hour drinks and bar service. Check with the restaurant for current happy-hour times and drink specials."},{q:"Does MIK-12 offer organic dishes and a salad bar?",a:"Yes! MIK-12 features organic dish selections and a salad bar, alongside our full menu of authentic Indian cuisine. Great options for health-conscious diners."},{q:"Is MIK-12 suitable for business lunches?",a:"Absolutely. Located in Neihu's technology district, MIK-12 is ideal for business lunches, team gatherings, and client meetings. The efficient service and professional atmosphere make it a favorite among office workers."},{q:"Is MIK-12 accessible?",a:"Yes, MIK-12 offers accessibility features including an assistive hearing loop and accessible entrance. We strive to make our restaurant welcoming for all guests."},{q:"What are the nearby attractions to MIK-12?",a:"Hushan Park No. 6 (900 m), Dahu Park with its iconic Moon Bridge (1 km), Bishan Temple with panoramic Taipei views (2 km), and Miramar Entertainment Park with its Ferris wheel (4 km) are all nearby."},{q:"Does MIK-12 have vegetarian, vegan, and halal options?",a:"Yes. MIK-12 offers a wide range of options including vegetarian, vegan, halal-friendly, and non-vegetarian dishes to accommodate all dietary needs."},{q:"What makes MIK-12 different from other Mayur Indian Kitchen branches?",a:"MIK-12 is uniquely designed for Neihu'
215s innovation hub lifestyle. It is the only Mayur branch with drive-through service, a salad bar, and dedicated accessibility features. Combined with brunch, happy hour, and organic options, it delivers authentic Indian flavors with maximum convenience for Taipei's technology and business community."}],reviews:[{name:"Kevin C.",rating:5,text:"The drive-through is a game changer! I can grab butter chicken and naan on my way home from work without even getting out of the car. The food is always fresh and delicious. Perfect for busy Neihu professionals."},{name:"Sarah L.",rating:5,text:"Love the brunch here on weekends! The salad bar is a nice touch and the organic options are great. The location right by Neihu MRT makes it super convenient. My go-to spot in the neighborhood."},{name:"Wei-Jen T.",rating:4,text:"Regular spot for business lunches with my team from the tech park. Efficient service, great food, and the happy hour is a bonus for after-work gatherings. The accessibility features are also appreciated."},{name:"Priya S.",rating:5,text:"Brought the kids for a weekend brunch and everyone loved it. The staff was so accommodating with our dietary needs. Drive-through for takeaway later that week was just as good. MIK-12 really understands modern family needs."}]},{id:"dhaba-by-mik",number:"DH",name:"Dhaba by MIK",chineseName:"馬友友印度快餐店",tagline:"India's Roadside Flavors, Reimagined for Taiwan",district:"Songshan District",city:"Taipei",address:"No. 10, Guangfu N. Rd., Songshan Dist., Taipei City, Taiwan",addressZh:"台北市松山區光復北路10號",phone:"+886 2 2578 0398",coordinates:{lat:25.0486,lng:121.5577},hours:[{day:"Monday – Sunday",time:"11:00 – 15:00 / 16:00 – 21:30"},{day:"Tuesday",time:"Closed"}],features:["Indian Comfort Food","Casual Dining","Quick Meals","Dine-in","Takeaway","Delivery","Vegetarian Options","Vegan Options","Student Friendly","Family Friendly","Dog Friendly","Group Gatherings"],nearby:{transit:{primary:{station:"Taipei Arena Station (台北小巨蛋站) — Songshan-Xindian / Green Line",walkingDistance:"700 m",walkingTime:"8-9 min walk",exit:"Exit (toward Guangfu N. Rd.)",details:"Green Line station serving Taipei Arena stadium and cafe area.",type:"mrt"},secondary:{station:"Nanjing Sanmin Station (南京三民站) — Songshan-Xindian / Green Line",walkingDistance:"750 m",walkingTime:"9 min walk",details:"Also on the Green Line, near Chia Te pineapple cake bakery.",type:"mrt"},tertiary:{station:"Nanjing Fuxing Station (南京復興站) — Green + Brown Line",walkingDistance:"1.3 km",walkingTime:"15 min walk",details:"Major Green + Brown Line interchange station.",type:"mrt"},busStops:[{name:"Nanjing & Ning'an Rd. Intersection (南京寧安路口)",distance:"~350 m north",details:"Served by routes 306/307"},{name:"Nanjing & Sanmin Rd. Intersection (南京三民路口)",distance:"~500 m northeast",details:"Near Chia Te bakery, many routes"},{name:"Guangfu N. Rd. / Nanjing E. Rd. Stops",distance:"~200 m",details:"Main corridors directly outside"}]},attractions:[{name:"Songshan Cultural and Creative Park (松山文創園區)",distance:"~600 m"},{name:"Baroque Garden",distance:"~600 m"},{name:"Taipei Arena (台北小巨蛋)",distance:"~700 m"},{name:"Sun Yat-Sen Memorial Hall & Zhongshan Park",distance:"~1.2 km"},{name:"Rainbow Bridge (彩虹橋)",distance:"~2.5 km"},{name:"Raohe Night Market",distance:"~3 km"},{name:"Taipei 101 / Xinyi District",distance:"~3.5 km"}],hotels:{luxury:[{name:"Mandarin Oriental, Taipei",distance:"~1.5 km"},{name:"Hotel Metropolitan Premier Taipei",distance:"~1.7 km"},{name:"Kimpton Da An Hotel",distance:"~1.8 km"},{name:"Miramar Garden Taipei",distance:"~2 km"}],midRange:[{name:"K Hotel Taipei Nanjing",distance:"~1 km"},{name:"ILLUME Taipei (茹曦酒店)",distance:"~1.5 km"},{name:"Les Suites Taipei Qingcheng",distance:"~1.5 km"},{name:"HOTEL COZZI Taipei Minsheng",distance:"~2.5 km"}],budget:[{name:"Hostel Jiizu",distance:"~700 m"},{name:"NK Hostel",distance:"~1 km"},{name:"Backpackers Hostel",distance:"~1.7 km"},{name:"Work Inn 101",distance:"~2.5 km"}]}},type:"fast-casual",typeLabel:"Fast Casual",desc:"Dhaba by MIK brings the soul of India's iconic highway eateries to Taipei's Songshan District. Inspired by the vibrant roadside dhabas of India, this casual concept celebrates the simplicity, warmth, and bold flavors of authentic Indian comfort food — from hearty curries and freshly baked breads to quick bites and shareable plates. Designed for quick meals, casual gatherings, students, families, and anyone craving a taste of everyday India, Dhaba by MIK offers a relaxed setting where authentic Indian flavors meet warm hospital
215ity.",image:"/images/dhaba-hero.webp",heroImage:"/images/dhaba-hero.webp",mapEmbed:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3614.7!2d121.5577!3d25.0486!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3442ab0000000001%3A0x!2sDhaba+by+MIK+Songshan!5e0!3m2!1sen!2stw!4v1",color:"#E53935",highlight:"Indian Comfort Food · Casual · Dog Friendly",gallery:[{src:"/images/dhaba-entrance-decor.webp",alt:"Entrance and dining area of Dhaba by MIK in Taipei Songshan District near Taipei Arena featuring colorful door decoration, floral garlands, and traditional Indian decor",caption:"Welcoming entrance with vibrant traditional Indian decorations"},{src:"/images/dhaba-menu-wall.webp",alt:"Menu board display wall at Dhaba by MIK Indian comfort food restaurant in Songshan Taipei with decorative fountain and dish listings",caption:"Menu wall showcasing authentic Indian comfort food options"},{src:"/images/dhaba-kitchen-tv.webp",alt:"Dining counter and open kitchen area at Dhaba by MIK fast casual restaurant in Taipei Songshan near Songshan Cultural and Creative Park with TV and shelf",caption:"Casual dining counter with open kitchen and TV"}],faqs:[{q:"What is a dhaba?",a:"A dhaba is a traditional Indian roadside eatery — famous for its hearty, flavorful food, rustic charm, and welcoming atmosphere. Dhaba by MIK brings this beloved concept to Taipei with authentic Indian comfort food in a casual setting."},{q:"Is Dhaba by MIK different from other Mayur Indian Kitchen branches?",a:"Yes! Dhaba by MIK is a casual spinoff focused on Indian comfort food inspired by traditional roadside dhabas. Unlike formal dining at MIK, Dhaba offers quick meals, a relaxed atmosphere, and approachable prices — perfect for everyday dining."},{q:"What type of food does Dhaba by MIK serve?",a:"We serve authentic Indian comfort food — hearty curries, freshly baked breads, quick bites, and shareable plates. Think butter chicken, dal, biryani, samosas, and tandoori breads, all made with traditional recipes."},{q:"Is Dhaba by MIK dog-friendly?",a:"Yes! Dhaba by MIK is dog-friendly with outdoor spaces where you can enjoy your meal with your furry companions."},{q:"Is Dhaba by MIK suitable for students?",a:"Absolutely. Dhaba by MIK offers affordable prices and a casual atmosphere that is ideal for students. Quick service makes it perfect for a fast lunch between classes."},{q:"What is the nearest MRT station to Dhaba by MIK?",a:"Taipei Arena Station (Songshan-Xindian / Green Line) is approximately 700 m north — about an 8-9 minute walk. Nanjing Sanmin Station (750 m) and Nanjing Fuxing Station (1.3 km) are also nearby."},{q:"Does Dhaba by MIK offer vegetarian and vegan options?",a:"Yes. Dhaba by MIK offers a variety of vegetarian and vegan Indian comfort food options alongside our full menu. The menu includes dal, vegetable curries, and plant-based dishes."},{q:"Is Dhaba by MIK suitable for families?",a:"Yes! Dhaba by MIK is family-friendly with a welcoming atmosphere and menu options suitable for all ages. It is a great spot for a relaxed family meal."},{q:"What are the nearby attractions to Dhaba by MIK?",a:"Dhaba by MIK is near Songshan Cultural and Creative Park (600 m), Taipei Arena (700 m), Sun Yat-Sen Memorial Hall (1.2 km), Rainbow Bridge (2.5 km), and Raohe Night Market (3 km)."},{q:"Does Dhaba by MIK offer takeaway and delivery?",a:"Yes, Dhaba by MIK offers both takeaway and delivery services for those who want to enjoy authentic Indian comfort food at home or on the go."}],reviews:[{name:"Ananya P.",rating:5,text:"Love the casual vibe at Dhaba by MIK! The food reminds me of the dhabas back home in Punjab. The dal makhani and naan are perfect. So happy to have this in Taipei."},{name:"Kevin W.",rating:5,text:"Great spot for a quick lunch near Taipei Arena. The butter chicken is fantastic and the prices are very reasonable. Perfect for a casual meal with friends."},{name:"Mia L.",rating:4,text:"Brought my dog and sat outside — they were so welcoming! The food was delicious and the service was fast. Love that there is a dog-friendly Indian food spot in Taipei."},{name:"Jason T.",rating:5,text:"As a student, I come here all the time. Affordable prices, generous portions, and the food is consistently excellent. The comfort food vibe is exactly what I need after a long day of classes."}]},{id:"mirch-masala",number:"MM",name:"Mirch Masala",chineseName:"馬友友印度快餐店",tagline:"Fast, Flavorful, Everyday India",district:"Nantun District",city:"Taichung City",address:"No. 79, Section 1, Wenxin Road, Nantun District, Taichung City, Taiwan",addressZh:"台中市南屯區文心路一段79號",phone:"+886 4 2471 0498",coordinates:{lat:24.1406,lng:120.6465},hours:[{day:"Wednesday – Sunday",time:"11:00 – 15:00 / 16:00 – 21:30"},{day:"Monday – Tuesday",time:"Closed"}],features:["Indian Street Food","Home-Style Favorites","Quick Meals","Casual Dining","Takeaway Friendly","Delivery Available","Solo Dining","Family Friendly","Vegetarian Options","Vegan Options","Affordable Dining"],nearby:{transit:{primary:{station:"Wenxin Forest Park Station (文心森林公園站) — Taichung MRT Green Line",walkingDistance:"500 m",walkingTime:"5 min walk",exit:"Exit (park side of Wenxin Rd.)",details:"Green Line station opening directly onto Wen-Xin Forest Park. IKEA, Costco, and basketball court nearby. Direct rail link to Taichung HSR Station.",type:"mrt"},busStops:[{name:"Section 1, Wenxin Rd. Stops",distance:"~150-200 m",details:"Serving the north-south Wenxin corridor"},{name:"Wenxin Forest Park MRT Bus Stops",distance:"~500 m",details:"Transfer point with YouBike station"},{name:"Gongyi Rd. Corridor Stops",distance:"~1.2 km north",details:"Dense bus service along Gongyi shopping/dining street"}]},attractions:[{name:"Wen-Xin Forest Park (文心森林公園)",distance:"~500 m"},{name:"Fengle Sculpture Park (豐樂雕塑公園)",distance:"~1.5 km"},{name:"Calligraphy Greenway (草悟道)",distance:"~2.5 km"},{name:"National Taichung Theater",distance:"~2.5 km"},{name:"Maple Garden (秋紅谷)",distance:"~3 km"},{name:"National Museum of Natural Science",distance:"~3.5 km"},{name:"Fengchia Night Market",distance:"~4 km"}],hotels:{luxury:[{name:"Millennium Hotel Taichung",distance:"~2 km"},{name:"InterContinental Taichung",distance:"~2 km"},{name:"THE LIN Hotel",distance:"~3 km"}],midRange:[{name:"Sun Hao Hotel (三好行旅)",distance:"~1.7 km"},{name:"The Carlton Taichung",distance:"~2 km"},{name:"TEMPUS Hotel",distance:"~2.5 km"},{name:"Stay Hotel",distance:"~3 km"}],budget:[{name:"Star Hostel Taichung Parklane",distance:"~2.5 km"},{name:"Stray Birds Hostel",distance:"~2.5 km"},{name:"OLAH Poshtel Taichung Station",distance:"~5 km"},{name:"Backpack 41 Youth Hostel",distance:"~5 km"}]}},type:"fast-casual",typeLabel:"Fast Casual",desc:"Mirch Masala brings the energy and bold flavors of everyday India to Taichung's Nantun District. Inspired by the vibrant street food stalls and home-style kitchens of India, this casual eatery serves authentic Indian street food and home-style favorites for guests seeking quick, affordable, and satisfying meals. Whether you are grabbing a quick lunch, enjoying a casual dinner, or satisfying a crav
215ing — Mirch Masala delivers vibrant flavors in a relaxed setting without compromising on quality.",image:"/images/mirch-masala-hero.webp",heroImage:"/images/mirch-masala-hero.webp",mapEmbed:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3639.0!2d120.6465!3d24.1406!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x34693b6c00000001%3A0x!2sMirch+Masala+Taichung!5e0!3m2!1sen!2stw!4v1",color:"#E53935",highlight:"Indian Street Food · Quick & Affordable",faqs:[{q:"What type of food does Mirch Masala serve?",a:"Mirch Masala serves authentic Indian street food and home-style favorites — from samosas and chaat to hearty curries, biryani, and freshly baked breads. The focus is on quick, affordable, and flavorful everyday Indian food."},{q:"Is Mirch Masala a full-service restaurant?",a:"Mirch Masala is a casual, fast-casual eatery designed for convenience and speed. Unlike full-service Mayur Indian Kitchen locations, it focuses on quick meals, takeaway, and delivery — perfect for lunch breaks and casual dinners."},{q:"What is the nearest MRT station to Mirch Masala?",a:"Wenxin Forest Park Station (Taichung MRT Green Line) is approximately 500 m north — about a 5-minute walk. The station opens directly onto Wen-Xin Forest Park, with IKEA and Costco nearby."},{q:"Is Mirch Masala suitable for takeaway and delivery?",a:"Absolutely! Mirch Masala is designed for takeaway and delivery. Quick service and convenient packaging make it easy to enjoy authentic Indian street food at home or on the go."},{q:"Does Mirch Masala have vegetarian and vegan options?",a:"Yes, Mirch Masala offers a variety of vegetarian and vegan Indian street food and home-style dishes alongside our full menu."},{q:"Is Mirch Masala affordable?",a:"Yes! Mirch Masala offers affordable meal options without compromising on flavor or quality. It is ideal for students, solo diners, and anyone looking for a quick, satisfying meal."},{q:"Is Mirch Masala suitable for solo diners?",a:"Absolutely. Mirch Masala's casual and welcoming atmosphere makes it perfect for solo diners looking for a quick and satisfying meal."},{q:"Is Mirch Masala family-friendly?",a:"Yes, Mirch Masala welcomes families with children. The casual setting and varied menu make it easy for everyone to find something they love."},{q:"What are the nearby attractions to Mirch Masala?",a:"Wen-Xin Forest Park (500 m), Fengle Sculpture Park (1.5 km), the Calligraphy Greenway (2.5 km), National Taichung Theater (2.5 km), and Fengchia Night Market (4 km) are all nearby."},{q:"What makes Mirch Masala different from Mayur Indian Kitchen Taichung?",a:"Mirch Masala is a casual, fast-casual concept focused on street food and home-style favorites at affordable prices. While MIK-10 in Taichung is a full-service restaurant with live entertainment and a bar, Mirch Masala is designed for quick, everyday meals and takeaway."}],reviews:[{name:"Tina C.",rating:5,text:"Finally, affordable Indian street food in Taichung! The samosas are incredible and the prices are so reasonable. Perfect for a quick lunch near the park."},{name:"Rahul K.",rating:5,text:"The home-style dishes remind me of my grandmother's cooking. The dal and roti are simple but perfect. Great for a casual dinner when you just want comforting Indian food."},{name:"Mei-Ling H.",rating:4,text:"Ordered takeaway and it was ready in 10 minutes. The biryani was fantastic and the portions were generous. Will definitely order again for busy weeknights."},{name:"Alex W.",rating:5,text:"Great spot for a quick solo lunch near Wenxin Forest Park. The staff is friendly and the food comes out fast. The street food menu is perfect for trying a bit of everything."}]},{id:"mikd-1",number:"MIKD1",name:"Mayur International Kitchen 1",chineseName:"Dubai · Business Bay",tagline:"Business Bay's International Kitchen — Minutes from Burj Khalifa and Downtown Dubai",district:"Business Bay",city:"Dubai",country:"United Arab Emirates",timeZone:"Asia/Dubai",address:"Shop No. 5, The Metropolis Tower, Burj Khalifa Street, Business Bay, Dubai, UAE",addressZh:"Shop No. 5, The Metropolis Tower, Business Bay, Dubai",phone:"+971 54 996 6937",secondaryPhone:"+971 54 996 6938",website:"https://www.indianfoodtaiwan.com/restaurants/dubai/business-bay/mayur-international-kitchen-1",menuUrl:"https://www.mayurindiankitchen.com/",deliveryApps:[{name:"Noon Food",url:"https://food.noon.com/outlet/BRGRBTMTYO-Burger%20Bae/"}],reservationsEnabled:!1,directionsUrl:"https://www.google.com/maps/search/?api=1&query=Mayur%20International%20Kitchen%20Dubai%2C%20The%20Metropolis%20Tower%2C%20Business%20Bay%2C%20Dubai",coordinates:{lat:25.1857,lng:55.2629},hours:[{day:"Monday – Sunday",time:"06:00 – 23:30"}],features:["100% Halal Certified","International Cuisine","Indian Cuisine","All-Day Breakfast","Business Lunch","Vegetarian Options","Family Dining","Dine-in","Takeaway","Free Local Delivery","Online Ordering","Corporate Catering","Group Dining","Reservations Accepted"],nearby:{transit:{primary:{station:"Business Bay Metro Station",walkingDistance:"8 min 
215walk",details:"Convenient for Business Bay, Downtown Dubai, and visitors travelling via the Dubai Metro.",type:"metro"}},attractions:[{name:"Burj Khalifa",distance:"5 min"},{name:"Dubai Mall",distance:"5 min"},{name:"Dubai Canal",distance:"Nearby"},{name:"DIFC",distance:"Nearby"}]},type:"halal",typeLabel:"International Halal Kitchen",desc:"Mayur International Kitchen Dubai is MIK's first international location, serving an all-day menu in Business Bay minutes from Burj Khalifa and Dubai Mall. The 100% halal-certified kitchen brings together Indian favourites, biryani, curries, charcoal grills, shawarma, fried rice, noodles, burgers, vegetarian dishes, fresh breads, breakfast, and karak chai for residents, office teams, families, and visitors.",image:"/images/mikd1-hero.jpg",heroImage:"/images/mikd1-hero.jpg",mapEmbed:"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3610.18!2d55.2629!3d25.1857!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x3e5f690a392a8037%3A0x1a81e4ec6d2e2228!2sMayur%20International%20kitchen%20Dubai!5e0!3m2!1sen!2sae!4v1720000000000!5m2!1sen!2sae",color:"#E96A24",highlight:"First International Location · 100% Halal Certified",gallery:[{src:"/images/mikd1-tandoori-chicken.jpg",alt:"Charcoal tandoori chicken at Mayur International Kitchen Dubai",caption:"Charcoal-grilled tandoori chicken in Business Bay"},{src:"/images/mikd1-chicken-kebab.jpg",alt:"Chicken seekh kebab at Mayur International Kitchen Dubai",caption:"Fresh chicken seekh kebab"},{src:"/images/mikd1-tandoori-platter.jpg",alt:"Tandoori chicken platter at Mayur International Kitchen Dubai",caption:"Tandoori chicken platter"},{src:"/images/mikd1-chicken-tikka.jpg",alt:"Chicken tikka skewers at Mayur International Kitchen Dubai",caption:"Charcoal-grilled chicken tikka"},{src:"/images/mikd1-garlic-naan.jpg",alt:"Fresh garlic naan at Mayur International Kitchen Dubai",caption:"Fresh garlic naan from the tandoor"}],faqs:[{q:"Where is Mayur International Kitchen Dubai?",a:"MIKD-1 is at Shop No. 5, The Metropolis Tower, Burj Khalifa Street, Business Bay, Dubai, around five minutes from Burj Khalifa and Dubai Mall."},{q:"What are the opening hours?",a:"Mayur International Kitchen Dubai is open daily from 06:00 to 23:30."},{q:"Is the restaurant halal?",a:"Yes. Mayur International Kitchen Dubai is 100% halal certified."},{q:"Are vegetarian dishes available?",a:"Yes. The international all-day menu includes vegetarian Indian dishes, breakfast choices, rice, noodles, breads, and family dining options."},{q:"Does MIKD-1 offer delivery?",a:"Yes. Free delivery is available within the restaurant's delivery coverage across Business Bay, Downtown Dubai, DIFC, and surrounding areas. Contact the restaurant to confirm availability for your address."}],reviews:[]}],qT={restaurant:{bg:"bg-brand-gold/15",text:"text-brand-amber",border:"border-brand-gold/30"},"restaurant-bar":{bg:"bg-purple-900/20",text:"text-purple-400",border:"border-purple-500/30"},vegetarian:{bg:"bg-green-900/20",text:"text-green-400",border:"border-green-500/30"},halal:{bg:"bg-emerald-900/20",text:"text-emerald-400",border:"border-emerald-500/30"},"bar-lounge":{bg:"bg-violet-900/20",text:"text-violet-400",border:"border-violet-500/30"},"beach-restaurant":{bg:"bg-blue-900/20",text:"text-blue-400",border:"border-blue-500/30"},"fast-casual":{bg:"bg-red-900/20",text:"text-red-400",border:"border-red-500/30"}},On=(t,n)=>n.some(i=>t.includes(i));function F_(t){return Fa.find(n=>[n.id,n.number,n.name,n.chineseName,n.city,n.district].filter(Boolean).some(s=>t.includes(String(s).toLowerCase())))}function W_(t,n="en"){const i=String(t||"").trim().toLowerCase(),s=n==="zh",l=F_(i);if(On(i,["introduce yourself","介紹自己","你好","您好","哈囉","嗨","早安","午安","晚安"])||/^(?:h+i+|h+e+l+l+o+|h+e+y+|yo+|sup+|namaste)(?:\s+[^?!.]*)?[?!.]*$/i.test(i))return{reply:s?"你好,我是 Capy,馬友友印度廚房的小幫手。我可以協助查詢分店、菜單、蔬食、清真資訊與訂位方式。":"Hi, I’m Capy, Mayur Indian Kitchen’s little helper. I can help with verified branch, menu, vegetarian, halal and reservation information.",quickReplies:s?["查看分店","查看菜單","訂位"]:["Find a branch","View menus","Reserve a table"]};if(l){const h=Array.isArray(l.hours)?l.hours.map(f=>`${f.day}: ${f.time}`).join("; "):"";return{reply:s?`${l.number} ${l.chineseName||l.name}:${l.addressZh||l.address}。電話:${l.phone}。營業時間:${h||"請查看分店頁確認"}。分店頁:${Fs(l)}`:`${l.number} ${l.name}: ${l.address}. Phone: ${l.phone}. Hours: ${h||"please confirm on the branch page"}. Branch page: ${Fs(l)}`,quickReplies:s?["查看菜單","訂位"]:["View menus","Reserve a table"]}}return On(i,["branch","location","near me","where","分店","地址","附近"])?{reply:s?"你可以在 /zh/branches 查看所有馬友友印度廚房分店、地址、電話與營業時間。":"You can find every Mayur Indian Kitchen location, address, phone number and opening schedule at /branches.",quickReplies:s?["查看菜單","訂位"]:["View menus","Reserve a table"]}:On(i,["menu","dish","food","price","菜單","餐點","價格"])?{reply:s?"å
215„分店菜單可能不同。請前往 /zh/menus,選擇分店後查看網站目前提供的菜單與價格。":"Menus vary by branch. Please visit /menus and choose a branch to see the current menu and prices published on this website.",quickReplies:s?["查看分店","訂位"]:["Find a branch","Reserve a table"]}:On(i,["vegetarian","vegan","蔬食","素食","純素"])?{reply:s?"MIK-3 是馬友友印度廚房的全蔬食分店。其他分店也可能提供蔬食或純素選擇,請在點餐前向該分店確認。":"MIK-3 is Mayur Indian Kitchen’s fully vegetarian branch. Other branches may also offer vegetarian or vegan choices; confirm specific dishes with the branch before ordering.",quickReplies:s?["MIK-3 分店","查看菜單"]:["MIK-3 details","View menus"]}:On(i,["halal","muslim","清真","穆斯林"])?{reply:s?"MIK-8 是馬友友印度廚房的清真分店。若有特定飲食需求,請在到訪或點餐前直接向 MIK-8 確認。":"MIK-8 is Mayur Indian Kitchen’s halal branch. For specific dietary requirements, confirm directly with MIK-8 before visiting or ordering.",quickReplies:s?["MIK-8 分店","訂位"]:["MIK-8 details","Reserve a table"]}:On(i,["reserve","reservation","book","table","訂位","預約"])?{reply:s?"請前往 /zh/reservations 提交訂位需求。送出表單不代表已確認;請以分店的確認結果為準。":"Please submit your reservation request at /reservations. Submitting the form does not confirm a table; wait for confirmation from the branch.",quickReplies:s?["查看分店","查看菜單"]:["Find a branch","View menus"]}:{reply:s?"我目前沒有可驗證的馬友友印度廚房資料可以回答這個問題。請查看相關分店頁面,或直接聯絡該分店確認。":"I don’t have verified Mayur Indian Kitchen information to answer that. Please check the relevant branch page or contact the branch directly.",quickReplies:s?["查看分店","查看菜單","訂位"]:["Find a branch","View menus","Reserve a table"]}}function wc({small:t=!1}){return d.jsx("img",{src:"/images/mik-capy-chatbot.png",alt:"","aria-hidden":"true",className:`${t?"h-7 w-7":"h-8 w-8"} rounded-full object-contain`})}function H_(){const{chat:t}=Yt("shared-shell"),[n,i]=x.useState(!1),[s,l]=x.useState([]),[u,h]=x.useState(""),[f,m]=x.useState(!1),[g,y]=x.useState([]),[b,w]=x.useState(null),_=x.useRef(null),j=x.useRef(null),M=[{code:"en",label:t.english},{code:"zh",label:t.chinese}];x.useEffect(()=>{_.current&&(_.current.scrollTop=_.current.scrollHeight)},[s]),x.useEffect(()=>{n&&setTimeout(()=>{var N;return(N=j.current)==null?void 0:N.focus()},300)},[n]);const S=x.useCallback(async(N,q,ee)=>{m(!0);try{const V=await ao.chat({message:N,history:q,language:ee});l(oe=>[...oe,{role:"assistant",content:V.reply}]),y(V.quickReplies||[])}catch(V){const oe=ee==="zh",he=V.status===429,Oe=V.code==="MESSAGE_TOO_LONG";if(!he&&!Oe){const He=W_(N,ee);l(ze=>[...ze,{role:"assistant",content:He.reply}]),y(He.quickReplies);return}l(He=>[...He,{role:"assistant",content:Oe?oe?"訊息有點太長了。請將問題縮短至 1,000 個字元以內,我會完整閱讀,不會截斷文字。":"That message is a little too long. Please keep it under 1,000 characters so I can read it completely without cutting off words.":he?oe?"Capy 正在幫很多客人找餐桌呢!請稍等一分鐘後再試。":"Capy is helping a busy little queue right now—please wait a minute, then try again.":""}]),y([])}finally{m(!1)}},[]),E=x.useCallback(N=>{const q=(N||u).trim();if(!q||f)return;h(""),y([]);const ee=b||"en";b||w(ee);const V={role:"user",content:q},oe=s.slice(-4).map(({role:he,content:Oe})=>({role:he,content:Oe}));l(he=>[...he,V]),S(q,oe,ee)},[u,b,f,s,S]),R=x.useCallback(N=>{if(f)return;w(N),y([]),S(N==="zh"?"請用繁體中文簡短、親切地介紹自己,並邀請客人詢問馬友友印度廚房的菜單或分店。":"Introduce yourself briefly and warmly in English, then invite the guest to ask about Mayur Indian Kitchen menus or branches.",[],N)},[S,f]),K=N=>{N.key==="Enter"&&!N.shiftKey&&(N.preventDefault(),E())},W=N=>{const q=N.replace(/^[^\w]+\s*/,"");E(q)};return d.jsxs(d.Fragment,{children:[d.jsx("button",{onClick:()=>i(N=>!N),className:`fixed bottom-6 left-2 sm:left-3 z-50 w-16 h-16 rounded-full shadow-xl flex items-center justify-center transition-all duration-200 hover:scale-105 active:scale-95 overflow-hidden ${n?"bg-brand-gold text-brand-black border-2 border-brand-gold":"bg-[#fff8ec] border-2 border-brand-gold"}`,"aria-label":n?t.close:t.open,children:n?d.jsx(Hu,{size:24}):d.jsx("img",{src:"/images/mik-capy-chatbot.png",alt:t.avatarAlt,className:"h-full w-full object-contain p-0.5"})}),d.jsx(Wa,{children:n&&d.jsxs(Le.div,{initial:{opacity:0,y:20,scale:.95}
215,animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:20,scale:.95},transition:{duration:.2,ease:"easeOut"},className:"fixed bottom-24 left-6 z-50 w-[380px] max-w-[calc(100vw-2rem)] h-[560px] max-h-[calc(100vh-8rem)] bg-brand-black border border-brand-border rounded-xl shadow-2xl flex flex-col overflow-hidden",children:[d.jsxs("div",{className:"flex items-center gap-3 px-5 py-4 border-b border-brand-border bg-brand-dark flex-shrink-0",children:[d.jsx("div",{className:"w-8 h-8 rounded-full bg-brand-gold/20 flex items-center justify-center overflow-hidden",children:d.jsx(wc,{})}),d.jsxs("div",{children:[d.jsx("p",{className:"font-serif text-sm font-semibold text-brand-cream",children:t.name}),d.jsx("p",{className:"text-[10px] text-brand-muted tracking-wider uppercase",children:t.subtitle})]})]}),d.jsxs("div",{ref:_,className:"flex-1 overflow-y-auto px-5 py-4 space-y-4 scroll-smooth",children:[!b&&s.length===0&&!f&&d.jsxs("div",{className:"rounded-xl border border-brand-gold/20 bg-brand-card px-4 py-5 text-center",children:[d.jsx("p",{className:"font-serif text-lg text-brand-cream",children:t.chooseLanguage}),d.jsx("p",{className:"mt-1 text-xs text-brand-muted",children:t.chooseLanguageHint}),d.jsx("div",{className:"mt-4 flex justify-center gap-2",children:M.map(N=>d.jsx("button",{type:"button",onClick:()=>R(N.code),className:"rounded-full border border-brand-gold/40 px-4 py-2 text-sm font-semibold text-brand-gold transition-colors hover:bg-brand-gold/10",children:N.label},N.code))})]}),s.map((N,q)=>d.jsxs("div",{className:`flex gap-3 ${N.role==="user"?"flex-row-reverse":""}`,children:[d.jsx("div",{className:`flex-shrink-0 w-7 h-7 rounded-full flex items-center justify-center ${N.role==="user"?"bg-brand-saffron/20":"bg-brand-gold/20"}`,children:N.role==="user"?d.jsx(v4,{size:13,className:"text-brand-saffron"}):d.jsx(wc,{small:!0})}),d.jsx("div",{className:`max-w-[85%] px-4 py-2.5 rounded-xl text-sm leading-relaxed whitespace-pre-wrap ${N.role==="user"?"bg-brand-gold/15 text-brand-cream rounded-tr-sm":"bg-brand-card text-brand-muted rounded-tl-sm"}`,children:N.content})]},q)),g.length>0&&!f&&d.jsx("div",{className:"flex flex-wrap gap-2 pt-1",children:g.map((N,q)=>d.jsx("button",{onClick:()=>W(N),className:"text-xs px-3 py-1.5 rounded-full border border-brand-gold/30 text-brand-gold hover:bg-brand-gold/10 hover:border-brand-gold/50 transition-colors",children:N},q))}),f&&d.jsxs("div",{className:"flex gap-3",role:"status","aria-label":t.loading,children:[d.jsx("div",{className:"flex-shrink-0 w-7 h-7 rounded-full bg-brand-gold/20 flex items-center justify-center",children:d.jsx(wc,{small:!0})}),d.jsx("div",{className:"bg-brand-card text-brand-muted px-4 py-2.5 rounded-xl rounded-tl-sm text-sm",children:d.jsxs("span",{className:"inline-flex gap-1",children:[d.jsx("span",{className:"w-1.5 h-1.5 bg-brand-gold/60 rounded-full animate-bounce",style:{animationDelay:"0ms"}}),d.jsx("span",{className:"w-1.5 h-1.5 bg-brand-gold/60 rounded-full animate-bounce",style:{animationDelay:"150ms"}}),d.jsx("span",{className:"w-1.5 h-1.5 bg-brand-gold/60 rounded-full animate-bounce",style:{animationDelay:"300ms"}})]})})]})]}),d.jsx("div",{className:"flex-shrink-0 border-t border-brand-border p-3 bg-brand-dark",children:d.jsxs("div",{className:"flex gap-2",children:[d.jsx("input",{ref:j,type:"text",value:u,onChange:N=>h(N.target.value),onKeyDown:K,placeholder:t.placeholder,className:"flex-1 bg-brand-card border border-brand-border text-brand-cream placeholder:text-brand-muted/50 text-sm px-4 py-2.5 rounded-lg focus:outline-none focus:border-brand-gold/50 transition-colors",disabled:f||!b,maxLength:1e3}),d.jsx("button",{onClick:()=>E(),disabled:f||!b||!u.trim(),className:"flex-shrink-0 w-10 h-10 rounded-lg bg-brand-gold text-brand-black flex items-center justify-center hover:bg-brand-saffron transition-colors disabled:opacity-40 disabled:cursor-not-allowed","aria-label":t.send,children:d.jsx(g4,{size:16})})]})})]})})]})}const Im="mik-offer-signup-dismissed-at",z_=10080*60*1e3;function V_(){const{offerSignup:t}=Yt("shared-shell"),{locale:n}=ya(),{pathname:i}=Je(),[s,l]=x.useState(!1),[u,h]=x.useState("idle"),[f,m]=x.useState("");x.useEffect(()=>{if(/(^|\/)menus?(?:-1)?(?:\/|$)/.test(i)){l(!1);return}let w=0;try{w=Number(window.localStorage.getItem(Im))||0}catch{}if(Date.now()-w<z_)return;const _=window.setTimeout(()=>l(!0),650);return()=>window.clearTimeout(_)},[i]),x.useEffect(()=>{if(!s)return;const b=w=>{w.key==="Escape"&&g()};return document.addEventListener("keydown",b),document.body.style.overflow="hidden",()=>{document.removeEventListener("keydown",b),document.body.style.overflow=""}},[s]);const g=()=>{try{window.localStorage.setItem(Im,String(Date.now()))}catch{}l(!1)},y=async b=>{b.preventDefault();const w=b.currentTarget,_=new FormData(w);h("loading"),m("");try{await ao.newsletterSignup({email:_.get("offer-email"),name:_.get("offer-name"),birthdate:_.get("offer-birthdate"),consent:_.get("offer-consent")==="on",website:_.get("website")}),h("success"),w.reset()}catch(j){h("error"),m((j==null?void 0:j.message)||t.error)}};return d.jsx(Wa,{children:s&&d.jsx(Le.div,{className:"fixed inset-0 z-[100] flex items-center justify-center bg-[#160b06]/75 p-3 backdrop-blur-sm sm:p-5",
215initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onMouseDown:b=>{b.target===b.currentTarget&&g()},children:d.jsxs(Le.section,{role:"dialog","aria-modal":"true","aria-labelledby":"offer-signup-title",initial:{opacity:0,y:28,scale:.96},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:18,scale:.97},transition:{duration:.38,ease:[.22,1,.36,1]},className:"relative max-h-[calc(100vh-1.5rem)] w-full max-w-md overflow-y-auto rounded-[1.25rem] bg-[#efad38] px-5 py-5 text-center text-[#401d14] shadow-[0_24px_80px_rgba(0,0,0,0.4)] sm:px-7 sm:py-6",children:[d.jsx("div",{className:"pointer-events-none absolute inset-0 opacity-25 [background-image:radial-gradient(rgba(95,40,22,.55)_0.55px,transparent_0.8px)] [background-size:5px_5px]"}),d.jsx("div",{className:"pointer-events-none absolute -bottom-28 -right-20 h-72 w-72 rounded-full bg-[#bd3e32]/25 blur-3xl"}),d.jsx("button",{type:"button",onClick:g,"aria-label":t.close,className:"absolute right-3 top-3 z-20 flex h-9 w-9 items-center justify-center rounded-lg bg-[#b93435] text-[#fff4dc] transition-transform hover:scale-105 sm:right-4 sm:top-4",children:d.jsx(Hu,{size:19})}),d.jsxs("div",{className:"relative z-10 mx-auto max-w-lg",children:[d.jsx("p",{className:"text-[9px] font-black uppercase tracking-[0.3em] text-[#8d3029]",children:t.eyebrow}),d.jsxs("h2",{id:"offer-signup-title",className:`mt-3 font-black uppercase text-[#b93435] ${n==="zh-TW"?"font-senty-title !font-normal normal-case text-[clamp(1.6rem,4vw,2.5rem)] leading-[0.95] tracking-[-0.02em]":"text-[clamp(1.7rem,4.3vw,2.7rem)] leading-[0.9] tracking-[-0.04em]"}`,style:n==="zh-TW"?void 0:{fontFamily:"'Cooper Black', 'Arial Rounded MT Bold', Georgia, serif"},children:[t.titleLineOne,d.jsx("br",{}),t.titleLineTwo]}),d.jsx("p",{className:"mx-auto mt-3 max-w-sm font-serif text-sm font-semibold italic leading-relaxed sm:text-base",children:t.description}),d.jsxs("form",{onSubmit:y,className:"mx-auto mt-5 max-w-lg",children:[d.jsxs("div",{className:"absolute -left-[10000px] top-auto h-px w-px overflow-hidden","aria-hidden":"true",children:[d.jsx("label",{htmlFor:"offer-signup-website",children:"Website"}),d.jsx("input",{id:"offer-signup-website",name:"website",type:"text",tabIndex:"-1",autoComplete:"off"})]}),d.jsxs("div",{className:"mb-3 text-left",children:[d.jsx("h3",{className:"text-xs font-black uppercase tracking-[0.11em] text-[#5f281d]",children:t.profileHeading}),d.jsx("p",{className:"mt-0.5 text-[11px] font-semibold text-[#713c29]/80",children:t.profileHint})]}),d.jsxs("div",{className:"mb-3 grid gap-3 sm:grid-cols-2",children:[d.jsxs("label",{className:"text-left",children:[d.jsx("span",{className:"mb-1.5 block text-xs font-black uppercase tracking-[0.12em] text-[#4d2118]",children:t.nameLabel}),d.jsx("input",{name:"offer-name",type:"text",autoComplete:"name",maxLength:"100",placeholder:t.namePlaceholder,className:"w-full rounded-lg bg-[#fff7e8] px-3 py-2.5 text-xs font-semibold text-[#342116] outline-none placeholder:text-[#8c7465] focus:ring-2 focus:ring-[#296b55]"})]}),d.jsxs("label",{className:"text-left",children:[d.jsx("span",{className:"mb-1.5 block text-xs font-black uppercase tracking-[0.12em] text-[#4d2118]",children:t.birthdateLabel}),d.jsx("input",{name:"offer-birthdate",type:"date",autoComplete:"bday",max:new Date().toISOString().slice(0,10),className:"w-full rounded-lg bg-[#fff7e8] px-3 py-2.5 text-xs font-semibold text-[#342116] outline-none focus:ring-2 focus:ring-[#296b55]"})]})]}),d.jsxs("div",{className:"flex rounded-lg bg-[#fff7e8] p-1 shadow-[0_10px_24px_rgba(95,40,22,.18)] focus-within:ring-2 focus-within:ring-[#296b55]",children:[d.jsx("label",{htmlFor:"offer-email",className:"sr-only",children:t.emailLabel}),d.jsx(By,{className:"ml-3 hidden self-center text-[#8c7465] sm:block",size:18}),d.jsx("input",{id:"offer-email",name:"offer-email",type:"email",autoComplete:"email",autoFocus:!0,required:!0,placeholder:t.emailPlaceholder,className:"min-w-0 flex-1 bg-transparent px-2.5 py-2.5 text-xs font-semibold text-[#342116] outline-none placeholder:text-[#8c7465] sm:px-3"}),d.jsxs("button",{type:"submit",disabled:u==="loading",className:"inline-flex min-h-10 shrink-0 items-center justify-center gap-1.5 rounded-md bg-[#296b55] px-3 text-[10px] font-black uppercase tracking-[0.08em] text-white transition-colors hover:bg-[#1e5846] disabled:opacity-60 sm:px-4",children:[u==="loading"?t.submitting:t.submit," ",d.jsx(hn,{size:15})]})]}),d.jsxs("label",{className:"mx-auto mt-3 flex max-w-lg cursor-pointer items-start justify-center gap-2 text-left text-[11px] font-semibold text-[#713c29]/80",children:[d.jsx("input",{type:"checkbox",name:"offer-consent",required:!0,className:"mt-0.5 accent-[#296b55]"}),d.jsx("span",{children:t.consent})]}),d.jsxs("p",{className:"mt-3 text-[11px] font-semibold text-[#713c29]/75",children:[t.confirmation," ",d.jsx(ye,{to:"/privacy",onClick:g,className:"underline underline-offset-2",children:t.privacyPolicy}),"."]}),u==="success"&&d.jsx("p",{role:"status",className:"mt-3 text-sm font-black text-[#296b55]",children:t.success}),u==="error"&&d.jsx("p",{role:"alert",className:"mt-3 text-sm font-bold text-[#8d3029]",children:f})]}),d.jsx("button",{type:"button",onClick:g,className:"mt-4 text-[11px] font-bold text-[#296b55] underline decoration-[#296b55]/50 underline-offset-4 hover:text-[#1e5846]",children:t.dismiss})]})]})})})}const Mm="G-SSZQFWK7GR",q_="y5bjd8kzdv";function Sm(t,n){if(document.getElementById(t))return;const i=document.createElement("script");i.id=t,i.async=!0,i.src=n,document.head.appendChild(i)}function $_(){const{pathname:t}=Je();return x.useEffect(()=>{window.dataLayer=window.dataLayer||[],window.gtag=window.gtag||function(){window.dataLayer.push(arguments)},window.gtag("js",new Date),window.gtag("config",Mm,{send_page_view:!1}),Sm("google-analytics",`https://www.googletagmanager.com/gtag/js?i
215d=${Mm}`),window.clarity=window.clarity||function(){window.clarity.q=window.clarity.q||[],window.clarity.q.push(arguments)},Sm("microsoft-clarity",`https://www.clarity.ms/tag/${q_}`)},[]),x.useEffect(()=>{if(t.startsWith("/admin"))return;const n=window.requestAnimationFrame(()=>{var i;(i=window.gtag)==null||i.call(window,"event","page_view",{page_title:document.title,page_location:`${window.location.origin}${t}`,page_path:t})});return()=>window.cancelAnimationFrame(n)},[t]),null}function Ws(t,n){return n==="zh-TW"&&t.chineseName?t.chineseName:t.name}function U_(t,n){const i=f=>f*Math.PI/180,l=i(n.lat-t.lat),u=i(n.lng-t.lng),h=Math.sin(l/2)**2+Math.cos(i(t.lat))*Math.cos(i(n.lat))*Math.sin(u/2)**2;return 6371*2*Math.atan2(Math.sqrt(h),Math.sqrt(1-h))}function G_(t){return`https://www.google.com/maps/dir/?api=1&destination=${t.coordinates.lat},${t.coordinates.lng}`}function Y_({state:t,content:n}){const i=t==="searching"?"/images/capy/capy-03.webp":t==="found"?"/images/capy/capy-04.webp":t==="denied"?"/images/capy/capy-06.webp":"/images/capy/capy-02.webp",s=t==="denied"?n.altDenied:t==="found"?n.altFound:n.altMap;return d.jsx(Wa,{mode:"wait",children:d.jsx(Le.img,{src:i,alt:s,loading:"lazy",initial:{opacity:0,y:12,scale:.97},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:8},transition:{duration:.45,ease:[.22,1,.36,1]},className:`branch-finder__capy-image ${t==="searching"?"branch-finder__capy-searching":""}`},i)})}function Z_({active:t,label:n,onClick:i,style:s}){return d.jsxs("button",{type:"button",onClick:i,style:s,className:`branch-pin ${t?"branch-pin--active":""}`,"aria-label":n,children:[d.jsx("span",{className:"branch-pin__leaf"}),d.jsx("span",{className:"branch-pin__fruit",children:d.jsx("span",{})})]})}const J_=t=>[{key:"taipei",name:t.taipei,position:{left:72,top:18},matches:n=>n.city==="Taipei"},{key:"qianshui",name:t.qianshui,position:{left:56,top:18},matches:n=>n.id==="mik-9"},{key:"taoyuan",name:t.taoyuan,position:{left:62,top:29},matches:n=>n.city==="Taoyuan City"},{key:"hsinchu",name:t.hsinchu,position:{left:53,top:37},matches:n=>n.city==="Hsinchu County"},{key:"taichung",name:t.taichung,position:{left:47,top:50},matches:n=>n.city==="Taichung City"},{key:"dubai",name:t.dubai,position:{left:89,top:82},matches:n=>n.city==="Dubai"}];function X_({region:t,count:n,style:i,onClick:s,content:l}){return d.jsxs("button",{type:"button",style:i,onClick:s,className:"branch-cluster","aria-label":`${l.showLocations} ${t.name} (${n})`,children:[d.jsx("span",{className:"branch-cluster__leaf"}),d.jsx("span",{className:"branch-cluster__count",children:n}),d.jsx("span",{className:"branch-cluster__name",children:t.name})]})}function Q_({selected:t,onSelect:n,state:i,content:s,locale:l}){const[u,h]=x.useState(null),f=x.useMemo(()=>J_(s).map(y=>({...y,items:Fa.filter(y.matches),center:y.position})),[s]),m=f.find(y=>y.key===u),g=(y,b)=>{if(b===1)return m.center;const w=m.center,_=-Math.PI/2+y/b*Math.PI*2,j=b>4?10:6,M=b>4?14:9;return{left:w.left+Math.cos(_)*j,top:w.top+Math.sin(_)*M}};return d.jsxs(Le.div,{className:"branch-map",initial:{opacity:0,rotateX:-8},whileInView:{opacity:1,rotateX:0},viewport:{once:!0,amount:.35},transition:{duration:.75},children:[d.jsxs("div",{className:`branch-map__canvas ${u?"branch-map__canvas--focused":""}`,children:[d.jsx("div",{className:"branch-map__crease branch-map__crease--one"}),d.jsx("div",{className:"branch-map__crease branch-map__crease--two"}),d.jsx("img",{src:"/images/taiwan-illustrated-mik.webp",alt:"","aria-hidden":"true",className:"branch-map__island-illustration"}),d.jsxs("div",{className:"branch-map__dubai-card","aria-hidden":"true",children:[d.jsx("span",{children:"MIK"}),d.jsx("small",{children:"DUBAI"})]}),!u&&f.map(y=>d.jsx(X_,{region:y,count:y.items.length,style:{left:`${y.center.left}%`,top:`${y.center.top}%`},onClick:()=>h(y.key),content:s},y.key)),m==null?void 0:m.items.map((y,b)=>{const w=g(b,m.items.length);return d.jsx(Z_,{active:(t==null?void 0:t.id)===y.id,label:`${s.selectBranch} ${y.number}, ${Ws(y,l)}`,onClick:()=>n(y),style:{left:`${w.left}%`,top:`${w.top}%`}},y.id)}),i==="searching"&&d.jsx("div",{className:"branch-map__scan","aria-hidden":"true"})]}),d.jsx("div",{className:"branch-map__legend",children:m?`${m.name} ${s.locations}`:s.chooseRegion}),m&&d.jsxs("div",{className:"branch-map__branch-list",children:[d.jsxs("button",{type:"button",onClick:()=>h(null),className:"branch-map__back",children:[d.jsx(n4,{size:14})," ",s.allRegions]}),d.jsx("strong",{children:m.name}),d.jsx("div",{children:m.items.map(y=>d.jsxs("button",{type:"button",onClick:()=>n(y),className:(t==null?void 0:t.id)===y.id?"is-active":"",children:[d.jsx("span",{children:y.number}),Ws(y,l)]},y.id))})]})]})}function eT({value:t,onSelect:n,open:i,onToggle:s,content:l,locale:u}){return d.jsxs("div",{className:"branch-manual",children:[d.jsxs("button",{type:"button",onClick:s,className:"branch-manual__toggle","aria-expanded":i,children:[l.manual," ",d.jsx(Oy,{size:16,className:i?"rotate-180":""})]}),d.jsx(Wa,{initial:!1,children:i&&d.jsxs(Le.div,{initial:{height:0,opacity:0}
215,animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},className:"overflow-hidden",children:[d.jsx("label",{className:"sr-only",htmlFor:"manual-branch",children:l.manualLabel}),d.jsxs("select",{id:"manual-branch",value:(t==null?void 0:t.id)||"",onChange:h=>n(Fa.find(f=>f.id===h.target.value)),className:"branch-manual__select",children:[d.jsx("option",{value:"",children:l.selectLocation}),Fa.map(h=>d.jsxs("option",{value:h.id,children:[h.number," · ",Ws(h,u)]},h.id))]})]})})]})}function tT({branch:t,distance:n,content:i,locale:s}){return t?d.jsxs(Le.div,{initial:{opacity:0,y:18},animate:{opacity:1,y:0},className:"branch-result","aria-live":"polite",children:[d.jsx("img",{src:t.image,alt:"",className:"branch-result__image"}),d.jsxs("div",{className:"branch-result__body",children:[d.jsx("p",{className:"branch-result__eyebrow",children:s==="zh-TW"?"馬友友印度廚房":"Mayur Indian Kitchen"}),d.jsxs("h3",{children:[t.number," · ",Ws(t,s)]}),d.jsxs("p",{className:"branch-result__place",children:[d.jsx(to,{size:14})," ",s==="zh-TW"?t.addressZh:`${t.district}, ${t.city}`]}),n!=null&&d.jsxs("p",{className:"branch-result__distance",children:[n<10?n.toFixed(1):Math.round(n)," ",i.kmAway]}),d.jsxs("div",{className:"branch-result__actions",children:[d.jsxs("a",{href:G_(t),target:"_blank",rel:"noreferrer",className:"branch-result__primary",children:[d.jsx(m4,{size:15})," ",i.directions," ",d.jsx(hn,{size:14})]}),d.jsx(ye,{to:Fs(t),className:"branch-result__secondary",children:i.viewBranch})]})]})]}):null}function aT(){const{branchFinder:t}=Yt("homepage"),{locale:n}=ya(),[i,s]=x.useState("idle"),[l,u]=x.useState(null),[h,f]=x.useState(null),[m,g]=x.useState(!1),y=x.useMemo(()=>i==="searching"?t.searching:i==="found"?t.found:i==="denied"?t.denied:i==="unavailable"?t.unavailable:t.idle,[i,t]),b=()=>{if(!window.isSecureContext){s("unavailable"),g(!0);return}if(!navigator.geolocation){s("unavailable"),g(!0);return}s("searching"),navigator.geolocation.getCurrentPosition(_=>{const j={lat:_.coords.latitude,lng:_.coords.longitude},M=Fa.map(S=>({branch:S,distance:U_(j,S.coordinates)})).sort((S,E)=>S.distance-E.distance)[0];u(M.branch),f(M.distance),s("found")},_=>{s(_.code===_.PERMISSION_DENIED?"denied":"unavailable"),g(!0)},{enableHighAccuracy:!1,timeout:15e3,maximumAge:3e5})},w=_=>{_&&(u(_),f(null),s("found"))};return d.jsx("section",{id:"branch-finder",className:"branch-finder","aria-labelledby":"branch-finder-title",children:d.jsx("div",{className:"page-container",children:d.jsxs("div",{className:"branch-finder__shell",children:[d.jsxs("div",{className:"branch-finder__copy",children:[d.jsxs("p",{className:"branch-finder__kicker",children:[d.jsx(to,{size:14})," ",t.kicker]}),d.jsxs("h2",{id:"branch-finder-title",className:n==="zh-TW"?"font-senty-title":"",children:[t.titleBefore," ",d.jsx("em",{children:"MIK."})]}),d.jsx("p",{className:"branch-finder__message",role:"status","aria-live":"polite",children:y}),d.jsxs("button",{type:"button",onClick:b,disabled:i==="searching",className:"branch-finder__cta",children:[d.jsx(u4,{size:18})," ",i==="searching"?t.finding:t.find]}),d.jsx(eT,{value:l,onSelect:w,open:m,onToggle:()=>g(_=>!_),content:t,locale:n})]}),d.jsxs("div",{className:"branch-finder__visual",children:[d.jsx("div",{className:"branch-finder__capy",children:d.jsx(Y_,{state:i,content:t})}),d.jsx(Q_,{selected:l,onSelect:w,state:i,content:t,locale:n})]}),d.jsx("div",{className:"branch-finder__result",children:d.jsx(tT,{branch:l,distance:h,content:t,locale:n})})]})})})}function Y({children:t}){return d.jsx(Le.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:-8},transition:{duration:.35,ease:[.22,1,.36,1]},children:t})}const jm=[{id:"starters",label:"Starters",emoji:"🥗",items:[{name:"Samosa (2 pcs)",desc:"Crispy pastry filled with spiced potatoes and peas, served with mint chutney",price:120,veg:!0},{name:"Onion Bhaji",desc:"Golden fried onion fritters seasoned with spices and fresh herbs",price:140,veg:!0},{name:"Paneer Tikka",desc:"Marinated cottage cheese grilled in a tandoor with bell peppers and onions",price:280,veg:!0},{name:"Chicken Tikka",desc:"Tender chicken marinated in yoghurt and spices, chargrilled to perfection",price:320,veg:!1},{name:"Chicken Manchurian",desc:"Crispy chicken fritters tossed in a tangy, spicy soy-based Indo-Chinese sauce",price:300,veg:!1},{name:"Seekh Kebab",desc:"Minced lamb mixed with herbs and spices, grilled on skewers",price:340,veg:!1}
215,{name:"Aloo Tikki",desc:"Crispy potato patties seasoned with cumin and coriander, topped with chutneys",price:130,veg:!0},{name:"Medhu Vada (2 pcs)",desc:"Crispy, deep-fried lentil donuts with a fluffy interior — served with sambar and coconut chutney",price:140,veg:!0},{name:"Soup of the Day",desc:"Ask your server for today's freshly made Indian-spiced soup",price:110,veg:!0}]},{id:"mains",label:"Mains",emoji:"🍛",items:[{name:"Butter Chicken",desc:"Tender chicken in a rich, creamy tomato-butter sauce with aromatic spices — a classic favourite",price:380,veg:!1,popular:!0},{name:"Lamb Rogan Josh",desc:"Slow-cooked Kashmiri lamb in a bold sauce of whole spices and Kashmiri chillies",price:420,veg:!1},{name:"Palak Paneer",desc:"Fresh cottage cheese in a velvety spinach gravy spiced with garam masala",price:300,veg:!0,popular:!0},{name:"Dal Makhani",desc:"Overnight slow-cooked black lentils in a buttery tomato sauce — the heart of Punjabi cooking",price:270,veg:!0},{name:"Chicken Biryani",desc:"Fragrant basmati rice cooked with marinated chicken, caramelized onions and saffron",price:400,veg:!1,popular:!0},{name:"Vegetable Biryani",desc:"Aromatic basmati layered with seasonal vegetables, nuts and whole spices",price:320,veg:!0},{name:"Prawn Masala",desc:"Succulent prawns cooked in a tangy onion-tomato masala with coastal spices",price:450,veg:!1},{name:"Chana Masala",desc:"Hearty chickpeas simmered in a bold tomato and onion gravy",price:260,veg:!0},{name:"Lamb Biryani",desc:"Tender slow-cooked lamb layered with saffron-scented basmati rice",price:440,veg:!1},{name:"Paneer Butter Masala",desc:"Cottage cheese in a luxurious buttery tomato cream sauce",price:320,veg:!0}]},{id:"breads",label:"Breads",emoji:"🫓",items:[{name:"Plain Naan",desc:"Soft leavened flatbread baked fresh in the tandoor",price:60,veg:!0},{name:"Garlic Naan",desc:"Naan topped with fresh garlic and coriander butter",price:75,veg:!0,popular:!0},{name:"Butter Naan",desc:"Fluffy naan glazed with pure butter",price:70,veg:!0},{name:"Cheese Naan",desc:"Naan stuffed with melted cheese — a crowd favourite",price:95,veg:!0},{name:"Peshwari Naan",desc:"Sweet naan filled with coconut, almonds and sultanas",price:90,veg:!0},{name:"Paratha",desc:"Flaky whole wheat flatbread cooked on a griddle",price:65,veg:!0},{name:"Puri (2 pcs)",desc:"Light, puffed deep-fried bread served with curries",price:70,veg:!0}]},{id:"drinks",label:"Drinks",emoji:"🥤",items:[{name:"Mango Lassi",desc:"Chilled blended yoghurt drink with fresh Alphonso mango pulp",price:130,veg:!0,popular:!0},{name:"Rose Lassi",desc:"Creamy yoghurt drink infused with fragrant rose syrup",price:120,veg:!0},{name:"Salt Lassi",desc:"Traditional savoury yoghurt drink with cumin and black salt",price:110,veg:!0},{name:"Masala Chai",desc:"Spiced Indian tea brewed with cardamom, ginger and cinnamon",price:80,veg:!0},{name:"Fresh Lime Soda",desc:"Freshly squeezed lime with soda, sweet or salted",price:80,veg:!0},{name:"Nimbu Pani",desc:"Classic Indian lemonade with fresh lime, mint and a pinch of black salt",price:75,veg:!0},{name:"Coconut Water",desc:"Fresh Thai coconut served chilled",price:120,veg:!0}]},{id:"desserts",label:"Desserts",emoji:"🍮",items:[{name:"Gulab Jamun",desc:"Soft milk dumplings soaked in rose-saffron syrup, served warm",price:130,veg:!0,popular:!0},{name:"Kulfi",desc:"Traditional Indian ice cream in pistachio or mango flavour",price:150,veg:!0},{name:"Kheer",desc:"Creamy rice pudding slow-cooked with cardamom, saffron and topped with almonds",price:140,veg:!0},{name:"Rasgulla",desc:"Light spongy cottage cheese balls in light sugar syrup",price:130,veg:!0},{name:"Gajar Ka Halwa",desc:"Slow-cooked carrot pudding with ghee, cardamom and dry fruits",price:150,veg:!0}]}],Hs="https://www.indianfoodtaiwan.com";function Tt(t=""){return t?/^https?:\/\//i.test(t)?t:`${Hs}${t.startsWith("/")?"":"/"}${t}`:Hs}function nT(t="en"){return{"@context":"https://schema.org","@type":"Organization",name:t==="zh-TW"?"馬友友印度廚房":"Mayur Indian Kitchen",alternateName:t==="zh-TW"?"Mayur Indian Kitchen":"馬友友印度廚房",url:Hs,logo:Tt("/images/mik-logo.png"),sameAs:["https://www.instagram.com/mik_taiwan/?hl=en","https://line.me/ti/p/@688vynca"]}}function iT(t="en"){return{"@context":"https://schema.org","@type":"WebSite",name:t==="zh-TW"?"馬友友印度廚房":"Mayur Indian Kitchen",alternateName:t==="zh-TW"?"Mayur Indian Kitchen":"馬友友印度廚房",url:Hs,inLanguage:["en-TW","zh-TW"]}}function $T(t=[]){return{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:t.map((n,i)=>({"@type":"ListItem",position:i+1,name:n.name,item:Tt(n.url)}))}}function zy(t=[]){return t.map(n=>`${n.day} ${n.time}`)}function UT(t,n){return t?{"@context":"https://schema.org","@type":"Restaurant",name:`Mayur Indian Kitchen ${t.name}`,alternateName:t.chineseName,url:Tt(n),menu:Tt(B_(t)),telephone:t.phone,image:Tt(t.image),description:t.desc,priceRange:"$$",servesCuisine:["Indian","North Indian","South Indian"],acceptsReservations:!0,openingHours:zy(t.hours),address:{"@type":"PostalAddress",streetAddress:t.address,addressLocality:t.city,addressRegion:t.district,addressCountry:t.country==="United Arab Emirates"?"AE":"TW"}}:null}function GT(t=[]){return{"@context":"https://schema.org","@type":"ItemList",name:"Mayur Indian Kitchen Branches",itemListElement:t.map((n,i)=>({"@type":"ListItem",position:i+1,name:`${n.name} - ${n.city}`,item:Tt(Fs(n))}))}}function YT(t=[]){return t.length?{"@context":"https://schema.org","@type":"FAQPage",mainEntity:t.map(n=>
215({"@type":"Question",name:n.q,acceptedAnswer:{"@type":"Answer",text:n.a}}))}:null}function ZT(t,n){var i;return t?{"@context":"https://schema.org","@type":"LocalBusiness",name:`Mayur Indian Kitchen ${t.name}`,alternateName:t.chineseName,url:Tt(n),telephone:t.phone,image:Tt(t.image),description:t.desc,priceRange:"$$",servesCuisine:["Indian","North Indian","South Indian"],address:{"@type":"PostalAddress",streetAddress:t.address,addressLocality:t.city,addressRegion:t.district,addressCountry:t.country==="United Arab Emirates"?"AE":"TW"},geo:t.coordinates?{"@type":"GeoCoordinates",latitude:t.coordinates.lat,longitude:t.coordinates.lng}:void 0,openingHours:zy(t.hours),...((i=t.features)==null?void 0:i.includes("Wheelchair-Accessible Seating"))&&{hasOfferCatalog:{"@type":"OfferCatalog",name:"Service Options",itemListElement:[{"@type":"Offer",itemOffered:{"@type":"Service",name:"Dine-in"}},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Takeaway"}},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Delivery"}},{"@type":"Offer",itemOffered:{"@type":"Service",name:"Catering"}}]}}}:null}function JT(t){return t?{"@context":"https://schema.org","@type":"AggregateRating",itemReviewed:{"@type":"Restaurant",name:t.restaurantName},ratingValue:t.ratingValue,bestRating:t.bestRating||5,ratingCount:t.ratingCount,reviewCount:t.reviewCount||t.ratingCount}:null}function XT(t,n){return t?{"@context":"https://schema.org","@type":"ReservationAction",agent:{"@type":"Person",name:"Customer"},object:{"@type":"Restaurant",name:`Mayur Indian Kitchen ${t.name}`,url:Tt(n)},target:{"@type":"EntryPoint",urlTemplate:Tt(`/reservations?branch=${t.id}`),actionPlatform:"https://schema.org/WebSite"}}:null}function QT({branch:t,categoryId:n,pageUrl:i,activeCategory:s}={}){const l=s||jm.find(h=>h.id===n)||null,u=l?[l]:jm;return{"@context":"https://schema.org","@type":"Menu",name:t?`${t.name} Menu`:"Mayur Indian Kitchen Menu",description:t?`Menu for ${t.name} in ${t.city}.`:"Branch-specific Indian menu for Mayur Indian Kitchen locations across Taiwan.",url:Tt(i),hasMenuSection:u.map(h=>({"@type":"MenuSection",name:h.label,description:`Indian ${h.label.toLowerCase()} from Mayur Indian Kitchen${t?` ${t.name}`:""}.`}))}}function e3(t=[],n){return t.length?{"@context":"https://schema.org","@type":"ItemList",name:`Customer reviews for ${n}`,itemListElement:t.slice(0,10).map((i,s)=>({"@type":"ListItem",position:s+1,item:{"@type":"Review",author:{"@type":"Person",name:i.name},reviewRating:{"@type":"Rating",ratingValue:String(i.rating),bestRating:"5"},reviewBody:i.text,...i.date?{datePublished:i.date}:{}}}))}:null}function rT(t){return t===Lt||t===`${Lt}/`?"/":t.startsWith(`${Lt}/`)?t.slice(Lt.length):t}function xc(t,n){const i=rT(t||"/");return n===Kt?`${Lt}${i==="/"?"/":i}`:i}function sT({title:t,description:n,image:i,keywords:s,canonical:l,schemas:u=[],noIndex:h=!1,locale:f="en",alternates:m=!0}){x.useEffect(()=>{const g=f===Kt?"馬友友印度廚房":"Mayur Indian Kitchen",y=t?`${t} | ${g}`:`${g} | Authentic Indian Cuisine in Taiwan`,b=n||(f===Kt?"馬友友印度廚房在台灣與迪拜共有 14 間分店,提供道地印度料理、外帶、外送與外燴服務。":"Mayur Indian Kitchen — authentic Indian cuisine across 14 locations in Taiwan and Dubai. Dine-in, takeaway, delivery and catering."),w=i||"/images/food-butter-chicken.webp",_=xc(l||window.location.pathname,f),j=Tt(_);document.title=y;const M=(W,N,q=!1)=>{const ee=q?`meta[property="${W}"]`:`meta[name="${W}"]`;let V=document.querySelector(ee);V||(V=document.createElement("meta"),q?V.setAttribute("property",W):V.setAttribute("name",W),document.head.appendChild(V)),V.setAttribute("content",N)};M("description",b),M("og:title",y,!0),M("og:description",b,!0),M("og:image",w,!0),M("og:type","website",!0),M("og:url",j,!0),M("og:locale",f==="zh-TW"?"zh_TW":"en_US",!0),M("twitter:card","summary_large_image"),M("twitter:title",y),M("twitter:description",b),M("twitter:image",w),M("robots",h?"noindex, nofollow":"index, follow");const S=document.querySelector('meta[name="keywords"]');s&&s.length?M("keywords",s.join(", ")):S&&S.remove();let E=document.querySelector('link[rel="canonical"]');if(E||(E=document.createElement("link"),E.setAttribute("rel","canonical"),document.head.appendChild(E)),E.setAttribute("href",j),document.querySelectorAll('link[data-seo-alternate="true"]').forEach(W=>W.remove()),m&&!h){const W=xc(_,"en");
215[["en",W],["zh-TW",f===Kt?_:xc(W,Kt)],["x-default",W]].forEach(([q,ee])=>{const V=document.createElement("link");V.rel="alternate",V.hreflang=q,V.href=Tt(ee),V.dataset.seoAlternate="true",document.head.appendChild(V)})}const R="seo-jsonld";let K=document.getElementById(R);u&&u.length?(K||(K=document.createElement("script"),K.id=R,K.type="application/ld+json",document.head.appendChild(K)),K.textContent=JSON.stringify(u.length===1?u[0]:u)):K==null||K.remove()},[t,n,i,s,l,u,h,f,m])}const oT=JSON.parse(`[{"id":"legacy-seo-1","path":"/mik-veg-vegan-taiwan-dishes","title":"MIK Vegan Dishes | MIK restaurants","seoTitle":"MIK Vegan Dishes | MIK restaurants","seoDesc":"All the vegetarian and vegan community are most welcome to the meat free world of mayur indian kitchen at mik-3 location. All you can get here is meat free and lot of south indian, north indian and chinese indian dishes. All are pure vegetarians. Jain meals available too on request.","keywords":["vegetarian Indian food Taiwan","vegan Indian food Taipei","MIK-3 vegetarian restaurant","Jain meals Taipei"],"publishDate":"2023-01-01","dateModified":"2026-08-20","author":"Mayur Indian Kitchen","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_90cbdb753fcb443ab0388cddb85d61ae~mv2.png/v1/fill/w_468,h_380,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_90cbdb753fcb443ab0388cddb85d61ae~mv2.png","imageAlt":"Samosa","excerpt":"All the vegetarian and vegan community are most welcome to the meat free world of mayur indian kitchen at mik-3 location. All you can get here is meat free and lot of south indian, north indian and chinese indian dishes. All are pure vegetarians. Jain meals available too on request.","content":[{"type":"p","text":"All the vegetarian and vegan community are most welcome to the meat free world of mayur indian kitchen at mik-3 location. All you can get here is meat free and lot of south indian, north indian and chinese indian dishes. All are pure vegetarians. Jain meals available too on request."},{"type":"h2","text":"VEG. APPETIZERS"},{"type":"ul","items":["Samosa","Mix-Vegetable","Aloo bonda"]},{"type":"gallery","images":[{"alt":"Samosa","src":"https://static.wixstatic.com/media/e9b5bf_90cbdb753fcb443ab0388cddb85d61ae~mv2.png/v1/fill/w_468,h_380,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_90cbdb753fcb443ab0388cddb85d61ae~mv2.png"},{"alt":"Mix-Vegetable","src":"https://static.wixstatic.com/media/e9b5bf_d6a0a63077424683a13c6d0b217dbd1e~mv2.png/v1/fill/w_468,h_380,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_d6a0a63077424683a13c6d0b217dbd1e~mv2.png"},{"alt":"Aloo bonda","src":"https://static.wixstatic.com/media/e9b5bf_50e55b895b014f5081b894425c4623e1.jpg/v1/fill/w_468,h_380,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_50e55b895b014f5081b894425c4623e1.jpg"}]},{"type":"h2","text":"SALAD & SOUP"},{"type":"ul","items":["Garden Salad","Mulligatawny Soup","Veg. Corn Soup"]},{"type":"gallery","images":[{"alt":"Garden Salad","src":"https://static.wixstatic.com/media/e9b5bf_051a753517db40ebb4404e6731e42856~mv2.jpg/v1/fill/w_468,h_382,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_051a753517db40ebb4404e6731e42856~mv2.jpg"},{"alt":"Mulligatawny Soup","src":"https://static.wixstatic.com/media/e9b5bf_3afc2a8de0c54e988101a53646ffe84b~mv2.jpg/v1/fill/w_468,h_382,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_3afc2a8de0c54e988101a53646ffe84b~mv2.jpg"},{"alt":"Veg. Corn Soup","src":"https://static.wixstatic.com/media/e9b5bf_ad76fbf6efef4afaaba740afcc9cd9e0~mv2.jpg/v1/fill/w_468,h_382,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_ad76fbf6efef4afaaba740afcc9cd9e0~mv2.jpg"}]},{"type":"h2","text":"SOUTH INDIAN SPECIALTY"},{"type":"ul","items":["Idli Sambar","Dosa","Mendu Vada Sambhar","Uttapam"]},{"type":"gallery","images":[{"alt":"Idli Sambar","src":"https://static.wixstatic.com/media/e9b5bf_2f35a7bd6a6f4804b5dbda937508786f~mv2.jpg/v1/fill/w_468,h_382,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_2f35a7bd6a6f4804b5dbda937508786f~mv2.jpg"},{"alt":"Dosa","src":"https://static.wixstatic.com/media/e9b5bf_558c6396cae7adec420cea143bcac639.jpg/v1/fill/w_468,h_382,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_558c6396cae7adec420cea143bcac639.jpg"},{"alt":"Mendu Vada Sambhar","src":"https://static.wixstatic.com/media/e9b5bf_c22fdb4b03634a3990cbdbd44ec58837~mv2.jpg/v1/fill/w_468,h_382,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_c22fdb4b03634a3990cbdbd44ec58837~mv2.jpg"},{"alt":"Uttapam","src":"https://static.wixstatic.com/media/e9b5bf_530c8a26fb5f4b4a87c4d44ead52c318~mv2.jpg/v1/fill/w_468,h_382,al_c,lg_1,q_80,enc_avif,quality_auto/e9b5bf_530c8a26fb5f4b4a87c4d44ead52c318~mv2.jpg"}]},{"type":"h2","text":"INDO-CHINESE CUISIN"},{"type":"ul","items":["Momo","Veg. Manchurian","Hakka Noodles"]},{"type":"gallery","images":[{"alt":"Momo","src":"https://static.wixstatic.com/media/e9b5bf_77d08f1b899341dfb9ece6172316c1f6~mv2.jpg/v1/fill/w_468,h_382,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_77d08f1b899341dfb9ece6172316c1f6~mv2.jpg"},{"alt":"Veg. Manchurian","src":"https://static.wixstatic.com/media/e9b5bf_ec9f015980ac4a88aa8ed5338fc19f02~mv2.jpg/v1/fill/w_468,h_382,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_ec9f015980ac4a88aa8ed5338fc19f02~mv2.jpg"},{"alt":"Hakka Noodles","src":"https://static.wixstatic.com/media/e9b5bf_92d668fb59db44a8a49afa8e022dceac~mv2.jpg/v1/fill/w_468,h_382,al_c,lg_1,q_80,enc_avif,quality_auto/e9b5bf_92d668fb59db44a8a49afa8e022dceac~mv2.jpg"}]},{"type":"h2","text":"TANDOORI BBQ"},{"type":"ul","items":["Tandoori Fruit & Veggies Salad","Tofu Tikka"]},{"type":"gallery","images":[{"alt":"Tandoori Fruit & Veggies Salad","src":"https://static.wixstatic.com/media/e9b5bf_32ceebca959e46088b7c74e9d7deb99c~mv2.jpg/v1/fill/w_118,h_78,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_32ceebca959e46088b7c74e9d7deb99c~mv2.jpg"},{"alt":"Tofu Tikka","src":"https://static.wixstatic.com/media/e9b5bf_262d924b1f5a45c2adce326ef880dc85~mv2.jpg/v1/fill/w_146,h_146,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_262d924b1f5a45c2adce326ef880dc85~mv2.jpg"}]},{"type":"h2","text":"NAAN / BREADS"},{"type":"ul","items":["Naan","Bhatura / Poori","Roti","Paratha"]},{"type":"gallery","images":[{"alt":"Naan","src":"https://static.wixstatic.com/media/e9b5bf_dad90c68afbb477d99c64a86cadbbe04~mv2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_dad90c68afbb477d99c64a86cadbbe04~mv2.jpg"},{"alt":"Bhatura / Poori","src":"https://static.wixstatic.com/media/e9b5bf_acd4f7ce2a444635bffb9aac7ea779b5~mv2.jpg/v1/fill/w_144,h_108,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_acd4f7ce2a444635bffb9aac7ea779b5~mv2.jpg"},{"alt":"Roti","src":"https://static.wixstatic.com/media/e9b5bf_f85bac46da10f85c257105fe7285110f.jpg/v1/fill/w_80,h_53,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_f85bac46da10f85c257105fe7285110f.jpg"},{"alt":"Paratha","src":"https://static.wixstatic.com/media/e9b5bf_6ee400b4cedb4d7f97dd03321818c386~mv2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_6ee400b4cedb4d7f97dd03321818c386~mv2.jpg"}]},{"type":"h2","text":"BIRYANI & RICE/Side Dish"},{"type":"ul","items":["Biryani","Spices Rice","Jeera Fatka Rice","Plain Basmati Rice"]},{"type":"gallery","images":[{"alt":"Biryani","src":"https://static.wixstatic.com/media/e9b5bf_6ec24cf18e98451c881ecde2d5a9c765~mv2.jpg/v1/fill/w_102,h_89,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_6ec24cf18e98451c881ecde2d5a9c765~mv2.jpg"},{"alt":"Spices Rice","src":"https://static.wixstatic.com/media/e9b5bf_db3b9338e24b4ca58623030da683d10d~mv2.jpg/v1/fill/w_147,h_118,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_db3b9338e24b4ca58623030da683d10d~mv2.jpg"},{"alt":"Jeera Fatka Rice","src":"https://static.wixstatic.com/media/e9b5bf_172334f3836044839fdaa180d5ef2700~mv2.jpg/v1/fill/w_120,h_92,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_172334f3836044839fdaa180d5ef2700~mv2.jpg"},{"alt":"Plain Basmati Rice","src":"https://static.wixstatic.com/media/e9b5bf_b42d1d3a3dbc42a89f28671fd9da120b~mv2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_b42d1d3a3dbc42a89f28671fd9da120b~mv2.jpg"}]},{"type":"h2","text":"CURRIES"},{"type":"ul","items":["KARAHI","Bihari Dal Tadka","Punjabi Chana Masala","Punjabi Dal Makhani","Aloo Gobhi","Palak Curry"]},{"type":"gallery","images":[{"alt":"KARAHI","src":"https://static.wixstatic.com/media/e9b5bf_5d26c36bf26e44829b784c502d6f6136~mv2.jpg/v1/fill/w_65,h_65,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_5d26c36bf26e44829b784c502d6f6136~mv2.jpg"},{"alt":"Bihari Dal Tadka","src":"https://static.wixstatic.com/media/e9b5bf_bf57d58f555846dd87ffd6038deea4b4~mv2.jpg/v1/fill/w_87,h_76,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_bf57d58f555846dd87ffd6038deea4b4~mv2.jpg"},{"alt":"Punjabi Chana Masala","src":"https://static.wixstatic.com/media/e9b5bf_5b6aa3f55016424f9ababec860ed2c25~mv2.jpg/v1/fill/w_135,h_114,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_5b6aa3f55016424f9ababec860ed2c25~mv2.jpg"},{"alt":"Punjabi Dal Makhani","src":"https://static.wixstatic.com/media/e9b5bf_2d8d0b8dc29c41a28da4077adba3b792~mv2.jpg/v1/fill/w_147,h_92,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_2d8d0b8dc29c41a28da4077adba3b792~mv2.jpg"},{"alt":"Aloo Gobhi","src":"https://static.wixstatic.com/media/e9b5bf_4bf57ef16f8a47aebdaac7a8ecd908a9~mv2_d_2000_2000_s_2.jpg/v1/fill/w_147,h_147,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_4bf57ef16f8a47aebdaac7a8ecd908a9~mv2_d_2000_2000_s_2.jpg"},{"alt":"Palak Curry","src":"https://static.wixstatic.com/media/e9b5bf_258cc04fc7ad4468b4d9456aff5269b0~mv2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_258cc04fc7ad4468b4d9456aff5269b0~mv2.jpg"}]}
215],"sourceUrl":"https://www.indianfoodtaiwan.com/mik-veg-vegan-taiwan-dishes"},{"id":"legacy-seo-2","path":"/loyalty","title":"MIK's VIP","seoTitle":"MIK's VIP","seoDesc":"Earn points and turn them into rewards","keywords":["Mayur Indian Kitchen loyalty","MIK VIP","restaurant rewards Taiwan"],"publishDate":"2023-01-01","dateModified":"2026-08-20","author":"Mayur Indian Kitchen","language":"en","image":"https://static.wixstatic.com/media/11062b_afc56c8cc31c46eeabbec328b1a08736~mv2.jpeg/v1/fill/w_1176,h_360,fp_0.50_0.50,lg_1,q_85,enc_avif,quality_auto/11062b_afc56c8cc31c46eeabbec328b1a08736~mv2.jpeg","imageAlt":"MIK's VIP","excerpt":"Earn points and turn them into rewards","content":[{"text":"Earn points and turn them into rewards","type":"p"},{"text":"Sign Up","type":"h2"},{"type":"ul","items":["Sign up as a member to start enjoying the loyalty program"]},{"text":"Earn Points","type":"h2"},{"type":"ul","items":["Place a restaurant order Get 1 point for every NT$1 spent","Sign Up to the Site & earn points Get 50 points"]},{"text":"Redeem Rewards","type":"h2"},{"type":"ul","items":["Order Discount 100 Points = NT$10 discount"]}],"sourceUrl":"https://www.indianfoodtaiwan.com/loyalty"},{"id":"legacy-seo-3","path":"/faq-mik-indianrestaurant","title":"FAQ | MIK restaurants","seoTitle":"FAQ | MIK restaurants","seoDesc":"Frequently Asked Questions about mayur indian kitchen in Taiwan, 馬友友印度廚房 – 常見問題(AI 與 Google 優化","keywords":["Mayur Indian Kitchen FAQ","Indian restaurant Taiwan","Indian food delivery Taiwan"],"publishDate":"2023-01-01","dateModified":"2026-08-20","author":"Mayur Indian Kitchen","language":"en","image":null,"imageAlt":"FAQ | MIK restaurants","excerpt":"A: Indian cuisine is unique in Taiwan due to its rich diversity of flavors, vibrant spices, and traditional cooking techniques that offer a distinct culinary experience compared to local Taiwanese food. The intricate use of aromatic spices, varied regional specialties, and vegetarian options make Indian cuisine both flavorful and inclusive. Mayur Indian Kitchen, part of the MIK restaurants chain, stands out as a leader in Taiwanese Indian dining by combining authentic recipes with high-quality ingredients sourced both locally and from India. Their commitment to preserving traditional taste while adapting to local preferences, along with their comprehensive services—including catering, an Indian grocery store, and efficient food delivery—ensures a seamless and authentic experience for customers. This dedication to authenticity, consistency, and customer service is why Mayur Indian Kitchen tops the chart among Indian restaurants in Taiwan.","content":[{"text":"Frequently asked questions","type":"h2"},{"text":"A: Indian cuisine is unique in Taiwan due to its rich diversity of flavors, vibrant spices, and traditional cooking techniques that offer a distinct culinary experience compared to local Taiwanese food. The intricate use of aromatic spices, varied regional specialties, and vegetarian options make Indian cuisine both flavorful and inclusive. Mayur Indian Kitchen, part of the MIK restaurants chain, stands out as a leader in Taiwanese Indian dining by combining authentic recipes with high-quality ingredients sourced both locally and from India. Their commitment to preserving traditional taste while adapting to local preferences, along with their comprehensive services—including catering, an Indian grocery store, and efficient food delivery—ensures a seamless and authentic experience for customers. This dedication to authenticity, consistency, and customer service is why Mayur Indian Kitchen tops the chart among Indian restaurants in Taiwan.","type":"p"},{"text":"A: MIK restaurants, through its Mayur Indian Kitchen brand, has established itself as a trusted name in Taiwan by offering authentic Indian flavors that resonate with locals, expats, and travelers alike. What sets Mayur Indian Kitchen apart is its commitment to traditional Indian cooking methods and recipes that genuinely reflect India’s diverse food culture. Additionally, the restaurant caters to a wide range of dietary preferences by providing extensive vegetarian and vegan options, ensuring that everyone can enjoy a true taste of India. By thoughtfully adapting dishes to suit local Taiwanese tastes while maintaining authenticity, Mayur Indian Kitchen has become a favorite destination for those seeking a genuine Indian dining experience across Taiwan.","type":"p"},{"text":"Indian food at Mayur Indian Kitchen is prepared using **traditional Indian cooking techniques**, including slow-cooked curries, freshly blended spice mixes, and made-to-order breads. Guest reviews frequently mention the home-style taste, balanced spices, and attention to authenticity, while also appreciating that spice levels can be adju
215sted to suit local and international preferences.","type":"p"},{"text":"If you want to order samosas for delivery in Taiwan, you can use the following options:","type":"p"},{"type":"ul","items":["Major Delivery Platforms: You can search for \\"Samosa\\" or \\"Indian Food\\" on Uber Eats or foodpanda. This is the fastest method in major cities like Taipei, Taichung, and Kaohsiung.","Well-known Chains: Mayur Indian Kitchen (MIK) has multiple branches across Taiwan and offers a dedicated online ordering system on their official website.","Search Tips: On Chinese menus, samosas are often listed as \\"印度咖哩餃\\" (Yìndù gālí jiǎo) or \\"炸三角包\\" (Zhà sānjiǎo bāo)."]}],"sourceUrl":"https://www.indianfoodtaiwan.com/faq-mik-indianrestaurant"},{"id":"legacy-seo-4","path":"/single-post/2017/01/29/indian-spices-benefit-taipei-taiwan-mayur-kitchen","title":"台北| 馬友友印度廚房MIK | 為什麼你在冬天一定要吃印度菜和印度咖哩?","seoTitle":"台北| 馬友友印度廚房MIK | 為什麼你在冬天一定要吃印度菜和印度咖哩?","seoDesc":"有很多方法可以預防冬天的寒冷,或讓你覺得溫暖,但最有效和天然的一個方式是在冬天你的飲食中有印度咖哩或印度料理,背後的原因是印度食品中使用的香料成分,這是最簡單的方法治療感冒和在寒冷的冬天保持你的身體溫暖,香料中有一些增強免疫力成份,防止你在冬天感冒和禦寒。 最好的是印度香料奶茶!每個人都喜歡使用天然的草藥禦寒,印度食品","keywords":["Indian spices benefits","Indian curry Taipei","masala tea","印度香料","印度咖哩"],"publishDate":"2017-01-29","dateModified":"2026-08-20","author":"Mayur Indian Kitchen","language":"zh-TW","image":"https://static.wixstatic.com/media/e9b5bf_f9b64a74bbc74c8081a79854950522aa.jpg/v1/fill/w_700,h_1050,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_f9b64a74bbc74c8081a79854950522aa.jpg","imageAlt":"Masala Tea","excerpt":"有很多方法可以預防冬天的寒冷,或讓你覺得溫暖,但最有效和天然的一個方式是在冬天你的飲食中有印度咖哩或印度料理,背後的原因是印度食品中使用的香料成分,這是最簡單的方法治療感冒和在寒冷的冬天保持你的身體溫暖,香料中有一些增強免疫力成份,防止你在冬天感冒和禦寒。","content":[{"type":"ul","items":["Jan 29, 2017","4 min read"]},{"text":"有很多方法可以預防冬天的寒冷,或讓你覺得溫暖,但最有效和天然的一個方式是在冬天你的飲食中有印度咖哩或印度料理,背後的原因是印度食品中使用的香料成分,這是最簡單的方法治療感冒和在寒冷的冬天保持你的身體溫暖,香料中有一些增強免疫力成份,防止你在冬天感冒和禦寒。","type":"p"},{"alt":"Masala Tea","src":"https://static.wixstatic.com/media/e9b5bf_f9b64a74bbc74c8081a79854950522aa.jpg/v1/fill/w_700,h_1050,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_f9b64a74bbc74c8081a79854950522aa.jpg","type":"image"},{"text":"最好的是印度香料奶茶!","type":"p"},{"text":"每個人都喜歡使用天然的草藥禦寒,","type":"p"},{"text":"印度食品也是預防冬天寒冷和保持身體更暖的方式,最好的例子是印度Masala茶(香料奶茶)!它有不錯的功效,如果你正在尋找一個治療感冒的天然食品,在Masala茶(香料奶茶)裡的大多數草本和香料被認為是健康的暖系草藥,Masala茶(香料奶茶)是用牛奶,老薑,肉桂,丁香和小荳蔻等香料烹調製成,一杯Masala茶(香料奶茶)是可以緩慢治療感冒最好的天然方式,可幫助你的疾病迅速得到好轉。","type":"p"},{"text":"香料和草藥","type":"p"},{"text":"香料和草藥看似體積小,但裡面包覆著許多天然又健康的物質,大多數的","type":"p"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_b57a4b154337420998db1014ddadb379~mv1.jpg/v1/fill/w_1304,h_816,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_b57a4b154337420998db1014ddadb379~mv1.jpg","type":"image"},{"text":"香料和草藥常用於印度菜,例如用蔬菜或肉類做成的咖哩,印度炒飯,烤餅,甜點,新鮮的飲料等,純素食的愛好者也有很多種類的印度菜可以選擇,以獲得所有營養成分的吸收,印度菜中使用的香料和草藥的數量或比例取決於印度地區的氣候,這些地方在夏季從極熱到寒冷和凍結的冬季都有主要的季節,無論何時購買香料和草本有機食品是最好的,應避免使用農藥,馬友友印度廚房從印度直接進口許多香料和草藥以及其他食材在台灣使用,就是為了保持我們的食物新鮮,健康和美味與優質的成分。<健康>是我們在馬友友印度餐廳給客人的座右銘。","type":"p"},{"text":"有許多可食用的草藥或香料,可以幫助身體感覺溫熱,並改善血液循環,以下是一些常用於印度料理的天然香料。","type":"p"},{"alt":"薑黃 Turmeric whole for Indian curries in MIK","src":"https://static.wixstatic.com/media/e9b5bf_9ffe90fab6e946daa8b196c70d0337bd.png/v1/fill/w_624,h_418,al_c,lg_1,q_85,enc_avif,quality_auto/e9b5bf_9ffe90fab6e946daa8b196c70d0337bd.png","type":"image"},{"text":"薑黃 是世界上最廣泛使用的香料具有現代科學接受並證明富含最多好處之一的香料,它可以解毒和增強免疫細胞的活力,也可以幫助治療腫瘤和癌症以及抗氧化,一些研究說明,薑黃可以幫助緩解類風濕關節炎的一些症狀,這是為什麼很多印度料理和咖哩以及烤雞裡面有豐富的薑黃。","type":"p"},{"alt":"茴香 Fennel seed","src":"https://static.wixstatic.com/media/e9b5bf_781834051c594b1897823ceed0e787de.png/v1/fill/w_80,h_57,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_781834051c594b1897823ceed0e787de.png","type":"image"},{"text":"茴香","type":"p"},{"text":"茴香是功效最大的香料之一,它被用於治療消化系統疾病,並有助於緩解不舒服的胃腸道症狀。茴香籽可以是烹調的香料或製成草藥,在印度餐廳中,茴香籽作為餐後食用,可使口氣清新,您可以在台灣台北的任何馬友友印度餐廳各分店找到它。","type":"p"},{"alt":"辣椒 Kashmiri Chili flakes are best during winters。","src":"https://static.wixstatic.com/media/e9b5bf_5512713207f84f18afad90f76bd7752d.jpg/v1/fill/w_108,h_81,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_5512713207f84f18afad90f76bd7752d.jpg","type":"image"},{"text":"辣椒","type":"p"},{"text":"它含有豐富的維生素C,並有助於緩解畏寒和咳嗽及充血,當出門在外,ä¹
215Ÿå¯ä»¥åœ¨éž‹å­å’Œè¥ªå­ä¹‹é–“撒上一點辣椒粉可以幫助溫暖腳底(避免觸碰眼睛和嘴巴!)辣椒被廣泛用於咖哩,如果您正在尋找辣與不辣的料理,馬友友印度廚房應客人的要求添加辣椒或提供不辣的菜餚。","type":"p"},{"alt":"肉桂 Cinnamon | Indian Spices used in Masala tea","src":"https://static.wixstatic.com/media/e9b5bf_5f006f3c2e4a48128ea936397ba11470.jpg/v1/fill/w_108,h_108,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_5f006f3c2e4a48128ea936397ba11470.jpg","type":"image"},{"text":"肉桂","type":"p"},{"text":"它有助於偏寒和偏燥的人,當然也有助於血液循環不良症,肉桂是有助殺菌和良好消化的補品,我們馬友友印度廚房一般使用肉桂混合其他香料在所有咖哩和甜點。","type":"p"},{"text":"最具代表性的印度飲料即是香料奶茶,喝一杯將足以去除身體中的毒素和溫暖腎臟。","type":"p"},{"text":"大蒜","type":"p"},{"text":"它有助於預防感染增強抵抗力,大蒜是一種有效的血管擴張劑,幫助血液聚集在一起來改善循環,大蒜是印度咖哩和肉類菜餚中最重要和最美味的食材之一(純素食之外),對料理的提味也有很大的影響力。","type":"p"},{"text":"生薑","type":"p"},{"text":"它是一種天然的抗氧化劑和殺菌劑,它改善血液循環到身體的所有部分,薑浴可以使身體溫暖,可以將8盎司薑於水中煮沸20分鐘,然後稀釋在浴缸中,進行泡澡使肌肉放鬆,舒緩感冒,薑和å¤
215§è’œåœ¨å°åº¦èœé¤šä¸­å»£æ³›è¢«ä½¿ç”¨æ–¼é†ƒè£½è‚‰é¡žç­‰ï¼Œå°åº¦åŒ—部冬天的溫度非常寒冷,於是薑和香料奶茶是印度北部最有名的禦寒聖品。我們在馬友友印度餐廳使用薑和大蒜醃製,羊肉,雞肉,海鮮菜餚和咖哩餃,牛奶茶和一些其他純素食。","type":"p"},{"alt":"芥末 Mustard plays an important role in South Indian cuisine","src":"https://static.wixstatic.com/media/e9b5bf_702111464b81491fbdacce3e803fede2.png/v1/fill/w_108,h_91,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_702111464b81491fbdacce3e803fede2.png","type":"image"},{"text":"芥末 是維生素C高,可以預防愛滋病,辣根是防腐劑和改善充血劑,幫助打開擁擠的呼吸道,使用更多溫暖的烹飪草藥調味您的食物和茶,以促進健康,溫暖的光輝在整個身體中。 黑胡椒黑胡椒(胡椒)是胡椒(辣椒)家族中的一員,它具有防腐和抗氧化功能。除香料和草藥,許多蔬菜和肉類也可以算作免疫增強劑,如下: 菠菜可以說,許多印度咖哩是菠菜做的,因為菠菜富含葉酸,有助於修復細胞,它也是真正高的維生素C.菠菜的鉀和鎂保持身體良好的水分,並幫助保持能量水平平衡。 蘑菇蘑菇是印度食品不可缺少的項目,因為蘑菇是一種非常罕見有維生素D的蔬菜.這就是為什麼你會看到大量的蘑菇比薩餅,意大利面和印度咖哩。此外,它們是鋅的主要來源,並且含有可以幫助殺死病毒和細菌的免疫支持劑。 酸奶酸奶是保持免疫系統強大的第一項。因為裡面含有益生菌,為了讓酸奶獲得更多的好處,它可以是你正常飲食習慣的一部分,這就是為什麼許多印度飯菜也有酸奶。。","type":"p"},{"text":"#馬友友印度廚房 #印度菜和印度咖哩","type":"p"}],"sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2017/01/29/indian-spices-benefit-taipei-taiwan-mayur-kitchen"},{"id":"legacy-seo-5","path":"/single-post/2018/05/10/a-must-have-food-if-you-are-diabetic-personalitysimple-food-for-simple-meals","title":"A must have food if you are Diabetic personality,simple food for simple meals.","seoTitle":"A must have food if you are Diabetic personality,simple food for simple meals.","seoDesc":"Beans is one of the essential foods you should have in your house to prepare meals with if you have diabetes,beans are rich in filling fiber, lean protein, and ","keywords":["food for diabetes","whole grain bread","natural nut butter","healthy meals"],"publishDate":"2018-05-10","dateModified":"2026-08-20","author":"Mayur Indian Kitchen","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_5bb8c3f3446344369799da96361c56bf~mv2.jpg/v1/fill/w_677,h_707,al_c,lg_1,q_85,enc_avif,quality_auto/e9b5bf_5bb8c3f3446344369799da96361c56bf~mv2.jpg","imageAlt":"A must have food if you are Diabetic personality,simple food for simple meals.","excerpt":"Beans is one of the essential foods you should have in your house to prepare meals with if you have diabetes,beans are rich in filling fiber, lean protein, and folate. Dried beans are preferable when you have time to cook them because they contain less sodium, but not everyone has time to cook them. Instead, use canned beans and be sure to rinse them well (to help rid some of the sodium).","content":[{"type":"ul","items":["May 10, 2018","3 min read"]},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_5bb8c3f3446344369799da96361c56bf~mv2.jpg/v1/fill/w_677,h_707,al_c,lg_1,q_85,enc_avif,quality_auto/e9b5bf_5bb8c3f3446344369799da96361c56bf~mv2.jpg","type":"image"},{"text":"Beans is one of the essential foods you should have in your house to prepare meals with if you have diabetes,beans are rich in filling fiber, lean protein, and folate. Dried beans are preferable when you have time to cook them because they contain less sodium, but not everyone has time to cook them. Instead, use canned beans and be sure to rinse them well (to help rid some of the sodium).","type":"p"},{"text":"We pray for you to get well soon.","type":"p"},{"text":"Whole Grain Bread","type":"h3"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_b516d25c4cc3434e8d524ab2433801f5~mv2.jpg/v1/fill/w_677,h_508,al_c,lg_1,q_80,enc_avif,quality_auto/e9b5bf_b516d25c4cc3434e8d524ab2433801f5~mv2.jpg","type":"image"},{"text":"Whole grain bread is rich in fiber and b-vitamins and any bread that has the 100 percent whole grain stamp or the word whole as the first ingredient is considered a whole grain.","type":"p"},{"text":"When purchasing aim to choose one with limited ingredients and opt for those with 90 calories or less.","type":"p"},{"text":"Two slices of bread is about 30 g of carbohydrate so be mindful of your portions.","type":"p"},{"text":"Bread can serve as the carbohydrate in any meal.","type":"p"},{"text":"Eat well and get well soon.","type":"p"},{"text":"Quinoa","type":"p"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_6b2bc48f016f4ac6942405c0c5ad0305~mv2.jpg/v1/fill/w_126,h_87,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_6b2bc48f016f4ac6942405c0c5ad0305~mv2.jpg","type":"image"},{"text":"There's variety of colors that quinoa come in; black,white,red, it is a low glycemic index food rich in protein and fiber. It contains only 160 calories and 30g of carbohydrate per 1 cup serving.","type":"p"},{"text":"We can add a diced vegetables and beans to eat as a meal or side dish also can toss into salads or eat as hot cereal.","type":"p"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_d6f6f08044864099be425b775df146ab~mv2.jpg/v1/fill/w_126,h_161,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_d6f6f08044864099be425b775df146ab~mv2.jpg","type":"image"},{"text":"Extra Virgin Olive Oil","type":"h3"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_b17fa5d458e94ba88606bf84a9c73ddc~mv2.jpg/v1/fill/w_96,h_134,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_b17fa5d458e94ba88606bf84a9c73ddc~mv2.jpg","type":"image"},{"text":"We can use the olive oil in marinades in salad dressing,it's rich in monounsaturated fat.","type":"p"},{"text":"Olive oil is great for bringing out flavor in salads and vegetables.","type":"p"},{"text":"When roasting vegetables to reduce the saturated fat content we can substitute butter for olive oil tor that.","type":"p"},{"text":"All Natural Nut Butter","type":"h3"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_6c39447f8ee74245938f6c459e
2151a78e4~mv2.jpg/v1/fill/w_102,h_197,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_6c39447f8ee74245938f6c459e1a78e4~mv2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_1301ab689ddc423fb96e9e6c3293f8b5~mv2.jpg/v1/fill/w_125,h_468,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_1301ab689ddc423fb96e9e6c3293f8b5~mv2.jpg","type":"image"},{"text":"A canned pumpkin is rich in vitamin A (can help to promote eye health) and fiber,A nutrition powerhouse extremely versatile as it can take on savory or sweet flavor.","type":"p"},{"text":"To prepare it you need check the expiration and open ,no additional prep needed,if you want to use a whole pumpkin you'll have more options: cooking low carb with pumpkin","type":"p"},{"text":"It can be use in soups, stews and chili or desserts or even breakfast,also can be use as a substitute for squash in a recipe.","type":"p"},{"text":"Berries","type":"p"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_46bb77dcde1e4d638e225bf30e7a0462~mv2.jpg/v1/fill/w_102,h_139,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_46bb77dcde1e4d638e225bf30e7a0462~mv2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_9bc67c6f3992428ab2f7eb68dfce505b~mv2.jpg/v1/fill/w_125,h_231,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_9bc67c6f3992428ab2f7eb68dfce505b~mv2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_12fe8fd4eed940f6912726862b51890f~mv2.jpg/v1/fill/w_102,h_120,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_12fe8fd4eed940f6912726862b51890f~mv2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_35f67cb34c14447fa590698abb4d684e~mv2.png/v1/fill/w_124,h_114,al_c,q_85,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_35f67cb34c14447fa590698abb4d684e~mv2.png","type":"image"},{"text":"Mayur Indian Kitchen MIK-1","type":"p"},{"text":"(Keelung rd.)","type":"p"},{"text":"350-5, Section 1, Keelung road, Xinyi district, Taipei City.","type":"p"},{"text":"台北市信義區基隆路一段350號之5","type":"p"},{"text":"(886) 02-27200011","type":"p"},{"text":"Mayur Indian Kitchen MIK-2 (Minsheng E.road)","type":"p"},{"text":"馬友友印度廚房--民生東路","type":"p"},{"text":"103, Section 3, Minsheng e.rd., Songshan district, Taipei City.","type":"p"},{"text":"台北市松山區民生東路三段103號","type":"p"},{"text":"(886) 02-27155277","type":"p"},{"text":"Mayur Indian Kitchen MIK-3 (Xingsheng N.road)","type":"p"},{"text":"馬友友印度廚房--新生北路","type":"p"},{"text":"38, Section 1, Xinsheng N. rd., Zhongshan district, Taipei City.​","type":"p"},{"text":"台北市中山區新生北路一段38號","type":"p"},{"text":"(886) 02-25431817","type":"p"},{"text":"Mayur Indian Kitchen MIK-4ever (Tong Hua street buffet restaurant)","type":"p"},{"text":"馬友友印度廚房--通化街","type":"p"},{"text":"No.34, Lane 171, Tong hua street, Taipei City","type":"p"},{"text":"台北市通化街171å··34號","type":"p"},{"text":"(886) 02-27321687","type":"p"},{"text":"Mayur Indian Kitchen MIK-Hi5 (Dazhi)","type":"p"},{"text":"馬友友印度廚房 - 大直","type":"p"},{"text":"No.8, Ln. 630, Bei an Rd., Taipei city","type":"p"},{"text":"台北市北安路630å··8號","type":"p"},{"text":"(886) 02-25330698","type":"p"},{"text":"MIK'sutras BBQ & Hookah bar 馬友友印度廚房 - 松江路","type":"p"},{"text":"1-1, Songjiang rd., Taipei","type":"p"},{"text":"台北市,中山區 松江路1-1號","type":"p"},{"text":"(886) 02-2500 6186, 0921004175","type":"p"}],"sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2018/05/10/a-must-have-food-if-you-are-diabetic-personalitysimple-food-for-simple-meals"},{"id":"legacy-seo-6","path":"/single-post/2018/11/14/travel-agentcompany-looking-for-indian-food-in-taipei-taiwan","title":"你是旅行社正在尋找在台灣台北的印度美食嗎? Travel Agent/Company looking for Indian food in Taipei, Taiwan","seoTitle":"你是旅行社正在尋找在台灣台北的印度美食嗎? Travel Agent/Company looking for Indian food in Taipei, Taiwan","seoDesc":"If you are a travel agent or a company looking for a est deal for Indian food/ catering for your group or a package deal for Indian or Non-Indian people in Taip","keywords":["Indian food Taipei tour group","Indian catering Taiwan","travel agent Indian meals Taipei"],"publishDate":"2018-11-14","dateModified":"2026-08-20","author":"Mayur Indian Kitchen","language":"zh-TW","image":"https://static.wixstatic.com/media/cce181791931046e4e02c2db2e3de89e.jpg/v1/fill/w_1304,h_1062,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/cce181791931046e4e02c2db2e3de89e.jpg","imageAlt":"best indian food near me","excerpt":"If you are a travel agent or a company looking for a est deal for Indian food/ catering for your group or a package deal for Indian or Non-Indian people in Taipei, Taiwan. Do not feel shy to give us a try! We love to cater and cater with new adventure, challenges as per the size of your pocket. Sightseeing groups / Business meetings / Tourists groups we have done it all. People from all over the world visits Taipei, Taiwan and try our Indian cuisine, each time Mayur Indian Kitchen do it's best to WOW it's valuable guests. We are master in doing presentations of set menus, thali, set meal, alacarte, for the Indian or even non Indian food. For more information email to us @ [email protected] or call us at 0921004175, 0955531063 (Chinese)","content":[{"type":"ul","items":["Nov 14, 2018","1 min read"]},{"alt":"best indian food near me","src":"https://static.wixstatic.com/media/cce181791931046e4e02c2db2e3de89e.jpg/v1/fill/w_1304,h_1062,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/cce181791931046e4e02c2db2e3de89e.jpg","type":"image"},{"text":"If you are a travel agent or a company looking for a est deal for Indian food/ catering for your group or a package deal for Indian or Non-Indian people in Taipei, Taiwan. Do not feel shy to give us a try! We love to cater and cater with new adventure, challenges as per the size of your pocket. Sightseeing groups / Business meetings / Tourists groups we have done it all. People from all over the world visits Taipei, Taiwan and try our Indian cuisine, each time Mayur Indian Kitchen do it's best to WOW it's valuable guests. We are master in doing presentations of set menus, thali, set meal, alacarte, for the Indian or even non Indian food. For more information email to us @ [email protected] or call us at 0921004175, 0955531063 (Chinese)","type":"p"},{"text":"如果您是旅行社且正在為您的客戶尋找在台北的印度食品/外燴服務。 歡迎來嘗試我們的服務! 我們能根據您的預算及各式需求來量身規劃餐點。 而根據以往接待過的各式觀光團體/商務會議/遊客團體,再再表明我們的服務無庸置疑。 來自世界各地的人們來到台灣訪問台北並品嚐我們的印度美食,每次馬友友印度廚房都會盡情招待各位貴賓。 我們有各式套餐、印度傳統套餐、單點料理。 欲了解更多信息,請發送電子郵件至 [email protected]或致電0921004175,0955531063(中文)","type":"p"}],"sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2018/11/14/travel-agentcompany-looking-for-indian-food-in-taipei-taiwan"},{"id":"legacy-seo-7","path":"/single-post/the-authentic-indian-hospitality-in-taiwan","title":"The Authentic Indian Hospital
215ity in Taiwan 道地印度待客之道在台灣","seoTitle":"The Authentic Indian Hospitality in Taiwan 道地印度待客之道在台灣","seoDesc":"Updated: Jan 9","keywords":["Indian hospitality Taiwan","authentic Indian restaurant Taiwan","道地印度料理"],"publishDate":"2023-01-01","dateModified":"2026-08-20","author":"Mayur Indian Kitchen","language":"zh-TW","image":"https://static.wixstatic.com/media/e9b5bf_ae6f8fc73dd740d4a4959287633ea5ec~mv2.jpg/v1/fill/w_1304,h_734,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_ae6f8fc73dd740d4a4959287633ea5ec~mv2.jpg","imageAlt":"馬友友印度廚房在印度駐台灣大使館 (ITA) 提供戶外餐飲服務","excerpt":"Updated: Jan 9","content":[{"type":"ul","items":["Sep 5, 2025","5 min read"]},{"text":"Updated: Jan 9","type":"p"},{"text":"Are you traveling to Taiwan and craving the authentic taste of India?","type":"p"},{"text":"Are you a vegetarian unsure of where to find suitable meals?","type":"p"},{"text":"Or are you visiting with a large group looking for a comfortable, reliable, one-stop dining experience?","type":"p"},{"text":"Don’t worry! Mayur Indian Kitchen (MIK) is the place in Taiwan to enjoy authentic Indian cuisine, halal and Muslim-friendly, with top-notch service.","type":"p"},{"text":"At MIK, we are more than just a restaurant. We are a trusted destination for anyone seeking genuine Indian food in Taiwan. From individual travelers to large groups, our kitchen is fully equipped to serve everyone with care. Our experience includes serving large groups, such as 400 people on a ship, and over 800 Indian travelers from companies like Asian Paints. Most importantly, we provide the same attention and dedication to every guest, no matter the group size.","type":"p"},{"text":"We understand that everyone has different health and dietary preferences. That’s why we strive to offer dishes suitable for all. Whether you are vegetarian, vegan, or non-vegetarian, our menu offers delicious and wholesome options. Our commitment to authenticity also extends to the ingredients we use; we provide Muslim-friendly meals and halal-certified meats, ensuring every guest can enjoy their meal with peace of mind and confidence.","type":"p"},{"text":"您是否計劃前往台灣,渴望品嚐正宗的印度風味?","type":"p"},{"text":"您是否是素食主義者,卻不知如何找到合適的餐點?","type":"p"},{"text":"還是您正與一大群朋友或家人一同旅行,尋求舒適、可靠且一站式的餐飲體驗?","type":"p"},{"text":"別擔心!馬友友印度廚房在台灣為您提供正宗的印度美食,包括清真食品和穆斯林友好型餐點,在多個地點提供一流的菜品,並在全島範圍內提供餐飲服務。","type":"p"},{"text":"在馬友友,我們不僅是一家餐廳,更是您在台灣尋找正宗印度美食的可靠選擇。無論您是獨自旅行還是大型團體,我們的廚房設備齊全,擁有三十多位經驗豐富的廚師,竭誠為您服務。我們擁有豐富的經驗,能夠為家庭、貴賓或大型團體提供餐飲服務,無論是在私人場所還是在遊輪上,我們都將竭盡全力為您提供最優質的服務!","type":"p"},{"text":"最近,我們為來自印度頂尖公司 Asian Paints 的 800 多名印度員工提供了餐飲服務。最重要的是,無論團體規模大小,我們都給予每位客人同樣的關注與關懷。","type":"p"},{"alt":"馬友友印度廚房在印度駐台灣大使館 (ITA) 提供戶外餐飲服務","src":"https://static.wixstatic.com/media/e9b5bf_ae6f8fc73dd740d4a4959287633ea5ec~mv2.jpg/v1/fill/w_1304,h_734,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_ae6f8fc73dd740d4a4959287633ea5ec~mv2.jpg","type":"image"},{"text":"我們深知每個人的健康狀況和飲食偏好各不相同。因此,我們致力於提供適合所有人的菜餚。無論您是素食主義者、純素食主義者還是葷食者,我們的菜單都能提供美味又健康的選擇。我們對食材品質的堅持也體現在我們所使用的食材上;我們提供符合穆斯林飲食標準的餐點,所有肉類均經過清真認證,確保每位顧客都能安心享用美食。","type":"p"},{"alt":"台灣及非台灣賓客享用馬友友提供的道地印度美食","src":"https://static.wixstatic.com/media/e9b5bf_2b9a05e8ccad41ee95925c07d28e4c9c~mv2.jpg/v1/fill/w_147,h_71,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_2b9a05e8ccad41ee95925c07d28e4c9c~mv2.jpg","type":"image"},{"alt":"印度遊客在台北松江店欣賞肚皮舞表演","src":"https://static.wixstatic.com/media/e9b5bf_e24826e4d7fd4e7ca73b72bbb561c6e0~mv2.jpg/v1/fill/w_147,h_83,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_e24826e4d7fd4e7ca73b72bbb561c6e0~mv2.jpg","type":"image"},{"text":"Why Guests Keep Coming Back 為何馬友友的客人會不斷回訪","type":"p"},{"text":"In today’s digital age, a quick Google search for \\"Indian food in Taiwan\\" can reveal countless options. But what truly sets us apart are the stories and experiences shared by our guests. We are grateful and proud of their trust, reflected in the consistently positive reviews and high ratings we receive online.","type":"p"},{"text":"“One guest, whether new or a long-time visitor, wrote on Google that our food was ‘unreal’ and praised our friendly staff and pleasant atmosphere. They added that our restaurant is a perfect place to gather with friends or family.”","type":"p"},{"text":"“Another guest shared, ‘This is truly the best and most delicious Indian restaurant in the Taipei area. You must come and enjoy it yourself.’”","type":"p"},{"text":"These heartfelt words from our community are a testament to our dedication. We understand that when you seek the authentic taste of home, you are not just looking for a meal—you are looking for a welcoming, enjoyable, and safe experience for everyone.","type":"p"},{"text":"Our culinary journey spans the length and breadth of India. From the rich, flavorful curries of the North to the aromatic spices of the South, and all the regional specialties in between, we bring the full spectrum of Indian cuisine straight to your table.","type":"p"}
215,{"text":"在如今的數位時代,只需在谷歌上搜尋“台灣 印度菜”,就能找到無數選擇。但真正讓我們脫穎而出的是顧客分享的故事和體驗。我們感謝並自豪於他們的信任,這體現在我們持續收到的好評和高分評價中。","type":"p"},{"text":"“一位顧客,無論是新顧客還是老顧客,都在谷歌上寫道,我們的食物‘簡直太棒了’,並稱讚我們友好的員工和舒適的氛圍。他們還補充說,我們的餐廳是與朋友或家人聚會的理想場所。”","type":"p"},{"text":"“另一位顧客分享道:’這真是台北地區最美味的印度餐廳。你一定要親自來品嚐一下。’”","type":"p"},{"text":"這些來自我們社群的真誠評價是對我們用心經營的最佳證明。我們深知,當您尋找道地的家鄉味道時,您不僅僅是在尋找一頓飯——您更在尋找一個溫馨、愉快且安全的用餐環境。","type":"p"},{"text":"我們的美食之旅遍及印度各地。從北方濃鬱美味的咖哩到南方芬芳的香料,以及介於兩者之間的所有地方特色菜,我們將印度美食的方方面面直接帶到您的餐桌上。","type":"p"},{"text":"Looking for a special event space? We offer private dining options tailored to your needs. Want a truly unique experience? We have even served meals aboard a moving ship! We take pride in customizing our menu, from children’s meals to special dishes for the eldest members of your family. Whatever your needs, MIK is ready to welcome and serve you wholeheartedly, with halal and Muslim-friendly options.","type":"p"},{"text":"Experience the excitement of Indian cuisine in Taiwan, with authentic dishes, halal options, and service that makes every visit truly memorable!","type":"p"},{"text":"正在尋找特別的活動場地?我們提供可根據您的需求量身訂製的私人用餐選擇。想要體驗真正獨一無二的用餐體驗?我們甚至曾在航行中的船上為您提供餐飲服務!我們引以為傲的是,我們能夠根據您的喜好客製化菜單,從兒童餐到為家中長輩準備的特色菜餚,應有盡有。無論您的需求如何,馬友友都隨時準備好以最誠摯的熱情歡迎您的到來,並提供清真和穆斯林友好型選擇。","type":"p"},{"text":"在台灣體驗印度美食的魅力,這裡有正宗的菜餚、清真食品以及令人難忘的優質服務!","type":"p"}],"sourceUrl":"https://www.indianfoodtaiwan.com/single-post/the-authentic-indian-hospitality-in-taiwan"},{"id":"legacy-seo-8","path":"/single-post/introducing-mayur-indian-vegetarian-kitchen-the-ultimate-vegetarian-vegan-dining-experience","title":"🌱 Introducing Mayur Indian vegetarian Kitchen: The Ultimate Vegetarian/Vegan Dining Experience! 🌱","seoTitle":"🌱 Introducing Mayur Indian vegetarian Kitchen: The Ultimate Vegetarian/Vegan Dining Experience! 🌱","seoDesc":"Are you a devoted Vegan/vegetarian or simply someone who appreciates the flavours and benefits of plant-based cuisine?","keywords":["vegetarian Indian restaurant Taipei","vegan Indian food Taipei","MIK-3","Jain food Taipei"],"publishDate":"2023-01-01","dateModified":"2026-08-20","author":"Mayur Indian Kitchen","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_fdaf8f2c18f6470ba22db53a50795942~mv2.jpg/v1/fill/w_1000,h_667,al_c,q_85,enc_avif,quality_auto/e9b5bf_fdaf8f2c18f6470ba22db53a50795942~mv2.jpg","imageAlt":"🌱 Introducing Mayur Indian vegetarian Kitchen: The Ultimate Vegetarian/Vegan Dining Experience! 🌱","excerpt":"Are you a devoted Vegan/vegetarian or simply someone who appreciates the flavours and benefits of plant-based cuisine?","content":[{"type":"ul","items":["May 29, 2023","2 min read"]},{"text":"Are you a devoted Vegan/vegetarian or simply someone who appreciates the flavours and benefits of plant-based cuisine?","type":"p"},{"text":"Look no further! Mayur Indian Kitchen 3, MIK-3 in short is here to satisfy your south Indian food cravings and take your taste buds on an unforgettable journey. Check out our menu here at Indianfoodtaiwan.com","type":"p"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_fdaf8f2c18f6470ba22db53a50795942~mv2.jpg/v1/fill/w_1000,h_667,al_c,q_85,enc_avif,quality_auto/e9b5bf_fdaf8f2c18f6470ba22db53a50795942~mv2.jpg","type":"image"},{"text":"✨ Immerse Yourself in a World of Veggie Goodness ✨","type":"p"},{"text":"At MIK-3, we're passionate about crafting exceptional vegetarian dishes that are as delicious as they are nutritious. We believe that vegetarian food should never be boring or predictable. That's why our skilled chefs have created a menu celebrating the vibrant flavours of vegetables, legumes, whole grains, and so much more!","type":"p"}
215,{"text":"🍽️ A Culinary Adventure Awaits 🍽️","type":"p"},{"text":"Step into our cosy and inviting restaurant, where you'll be greeted by a warm and friendly atmosphere. Indulge in our wide array of mouthwatering vegetarian dishes that cater to various dietary preferences.","type":"p"},{"text":"🌍 Savor the Organic Indian flavours 🌍","type":"p"},{"text":"We take pride in importing our ingredients from India and sourcing organically local ingredients whenever possible. By supporting local farmers and producers, we ensure you receive every dish's freshest and highest quality ingredients. Each bite is a testament to our commitment to sustainability and reducing our carbon footprint without compromising taste.","type":"p"},{"text":"🌿 A Haven for Vegetarian Lifestyle 🌿","type":"p"},{"text":"Whether you're a dedicated vegetarian, a health-conscious foodie, or simply curious about plant-based cuisine, Mayur's vegetarian kitchen is the perfect destination. Our knowledgeable staff is ready to guide you through our menu, offering recommendations and answering any questions. We'll go above and beyond to make your dining experience truly exceptional.","type":"p"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_8f3e20aeb81b40ef85b37a5d57919742~mv2.jpg/v1/fill/w_960,h_640,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/e9b5bf_8f3e20aeb81b40ef85b37a5d57919742~mv2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_18c92bbe85444d5698372deff83d4b02~mv2.jpg/v1/fill/w_960,h_640,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/e9b5bf_18c92bbe85444d5698372deff83d4b02~mv2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_bd8044054ff34f628c9e8e39b99ac80e~mv2.jpg/v1/fill/w_960,h_640,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/e9b5bf_bd8044054ff34f628c9e8e39b99ac80e~mv2.jpg","type":"image"},{"text":"🥕 Join the MIK-3 Family Today! 🥕","type":"p"},{"text":"Ready to embark on a gastronomic adventure filled with flavours that will tantalise your taste buds? Don't miss out on the incredible vegetarian dining experience at Mayur's. Visit us today and discover a world of veggie goodness that will leave you craving more.","type":"p"},{"text":"📞 Call now to reserve and secure your spot!📞","type":"p"},{"text":"You can book by line: @miktaiwan too!","type":"p"}],"sourceUrl":"https://www.indianfoodtaiwan.com/single-post/introducing-mayur-indian-vegetarian-kitchen-the-ultimate-vegetarian-vegan-dining-experience"},{"id":"legacy-seo-9","path":"/single-post/2018/07/10/為什麼應該吃清真食品或它的優點是什麼?hy-anyone-should-eat-halal-meat-or-what-are-the-advantages-of-it","title":"為什麼應該吃清真食品或它的優點是什麼?Why anyone should eat Halal meat or what are the advantages of it?","seoTitle":"為什麼應該吃清真食品或它的優點是什麼?Why anyone should eat Halal meat or what are the advantages of it?","seoDesc":"為什麼穆斯林只吃清真食品呢?什麼是清真食品?為什麼應該吃清真食品或它的優點是什麼?","keywords":["halal","清真食品","halal 中文","halal meat","清真食物"],"publishDate":"2018-07-10","dateModified":"2026-08-20","author":"Mayur Indian Kitchen","language":"zh-TW","image":null,"imageAlt":"為什麼應該吃清真食品或它的優點是什麼?Why anyone should eat Halal meat or what are the advantages of it?","excerpt":"為什麼穆斯林只吃清真食品呢?什麼是清真食品?為什麼應該吃清真食品或它的優點是什麼?","content":[{"type":"ul","items":["Jul 10, 2018","4 min read"]},{"text":"為什麼穆斯林只吃清真食品呢?什麼是清真食品?為什麼應該吃清真食品或它的優點是什麼?","type":"p"},{"text":"伊斯蘭飲食法中詳細規範了允許穆斯林吃的動物,所有這些動物都是清真的(Halal 阿拉伯語含義合法),其他不合法的動物都被稱為Haram。現在關於伊斯蘭和非伊斯蘭世界之間的清真和聖地之間存在長期爭論,許多人已經提供了相關論點,但我們強調與Haram肉相比吃清真食品更有利的事實。","type":"p"},{"text":"為了使消費品符合清真食品,古蘭經和聖訓為所有穆斯林和伊斯蘭宗教信徒提供指導,指導他們如何屠宰動物以及在什麼條件下!屠宰動物的過程被稱為“Zabiha”,然而,它絕不會實質上定義或包含什麼是真正的清真食品。只有一個特定因素涉及動物如何或是否被屠宰。同樣地,'Zabiha'沒有提到血液,或被雜質污染的肉或死屍的消費;所有這些都在伊斯蘭教聖書中被禁止。","type":"p"},{"text":"在穆斯林社區中,清真用於描述食物和行動中允許的內容。穆斯林通常將清真與食物聯繫在一起,許多非穆斯林也是如此。就本文而言,我們探討為什麼清真食品,特別是肉類和家禽,對每個人都有益。","type":"p"},{"text":"清真食品如何適合這個參數?","type":"p"},{"text":"清真食品不僅包括肉類,甚至包括吃的肉類,儘管它是消費最多的產品類型。對於從農場到餐桌的動物作為清真食品,它必須從一開始就過著純淨的生活,按照伊斯蘭標準完成一個允許的生命週期。它必須吃得好,被很好的對待,最後被很人道地犧牲。","type":"p"},{"text":"動物在其一生中接受的對待和餵養方式非常重要。它不應該被濫用,虐待或引起任何痛苦。它不應局限於不能移動或正常行走或呼吸新鮮空氣的區域。它應該餵乾淨的水和適當的食物,絕對不會餵食其他動物或含有其他動物副產品的產品。","type":"p"},{"text":"在屠宰之後,血液應該從動物身上完全排出。攜帶毒素,細菌和細菌的血液ï¼
215Œç•¶ç•™åœ¨å‹•物體內時,可能會使人生病。至少,它可以使煮熟的肉非常堅硬。清真食品是一種健康的肉類,而在烹煮或食用時其產生的柔軟質地且鮮美的肉質更是讓人驚異。有人說他們光是品嚐就能知道差異。","type":"p"},{"text":"治療我們的身體的有益健康的食物,沒有有害成分 - 殺蟲劑,毒素,污染物,污物等 - 不僅是穆斯林所希望的價值,而且是全人類所希望的。 這是一種共同的需求,共同的願望和共同的權利,這意味著每個人都可以從消費清真食品中受益","type":"p"},{"text":"Why Muslims eat Halal meat only!? What is Halal? Why anyone should eat Halal meat or what are the advantages of it?","type":"p"},{"text":"Islamic Dietary laws gives a detailed account of the animals that are permitted for Muslims to eat, all such animals are halal, the Arabic word meaning lawful, anything unlawful is known as Haram. I.e. Halal. Now there is a long debate about Halal and Haram between Islamic and Non-Islamic world and many has given facts about it but we are highlighting the proven facts which favours to eat Halal meat as compare to Haram meat.","type":"p"},{"text":"In order for a consumable product to be Halal, the Quran and Sunnah give guidance to all Muslims and Islamic religion followers that how to slaughter animals and in what condition!? The process of slaughtering animals is called 'Zabiha',however, does not in any way substantially define or encompass what is truly Halal. It is only one specific element that relates to how or if an animal is slaughtered. Similarly ‘Zabiha’ makes no reference to the consumption of blood, or meat that is contaminated with impurities, or dead carcasses; all of which are prohibited in the the holy book of Islamic religion.","type":"p"},{"text":"Within the Muslim community, halal is used to describe what is permissible both in food and in actions. Muslims typically associate halal with food, as do many non-Muslims. For purposes of this article, we explore why halal food, specifically meat and poultry, is good for everyone.","type":"p"},{"text":"How does halal food fit into this parameter?","type":"p"},{"text":"Halal encompasses more than just meat, or even the type of meat eaten, although it is the most discussed type of product consumed.For an animal to go from farm to table as halal food, it must have lived a pure life from the very beginning, finishing a cycle of life that is permissible in accordance with Islamic standards. It must have eaten well, been treated well, and been sacrificed well.","type":"p"},{"text":"The kind of treatment and feed an animal receives during its life is important. It should be not be abused, mistreated or caused any pain. It should not be confined to an area where it cannot move or walk normally or get fresh air. It should be fed clean water and food that is appropriate and absolutely never fed another animal or products that contain the by-products of other animals.","type":"p"},{"text":"After words, the blood should be completely drained from the animal. It is the blood that carries toxins, germs and bacteria and when left inside the body of the animal, could potentially make people sick. At the very least, it could make the cooked meat quite tough. An amazing result of cooking and consuming halal meat is a healthy meat in which the resulting texture is tender and the meat delicious. Some people say they can “taste the difference”.","type":"p"},{"text":"Treating our bodies with wholesome foods free of harmful ingredients — pesticides, toxins, pollutants, filth, etc. — is not just a value desired by Muslims, it’s desired by all of humanity. It’s a common need, a common desire and a common right, and that means everyone can benefit from consuming halal foods and avoiding what is not.","type":"p"},{"text":"#MAYURINDIANKITCHEN #Halalmeatintaipei","type":"p"}],"sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2018/07/10/%E7%82%BA%E4%BB%80%E9%BA%BC%E6%87%89%E8%A9%B2%E5%90%83%E6%B8%85%E7%9C%9F%E9%A3%9F%E5%93%81%E6%88%96%E5%AE%83%E7%9A%84%E5%84%AA%E9%BB%9E%E6%98%AF%E4%BB%80%E9%BA%BC%EF%BC%9Fhy-anyone-should-eat-halal-meat-or-what-are-the-advantages-of-it"},{"id":"legacy-seo-10","path":"/single-post/unique-facts-about-diwali-activities-to-e
215njoy-during-the-festival","title":"Unique Facts About Diwali & Activities to Enjoy During the Festival","seoTitle":"Unique Facts About Diwali & Activities to Enjoy During the Festival","seoDesc":"Updated: Dec 1, 2025","keywords":["Diwali facts","Diwali activities","festival of lights","Diwali Taiwan"],"publishDate":"2023-01-01","dateModified":"2026-08-20","author":"Mayur Indian Kitchen","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_669fc53482154a68aa0d7e374572fe35~mv2.png/v1/fill/w_1023,h_576,al_c,q_90,enc_avif,quality_auto/e9b5bf_669fc53482154a68aa0d7e374572fe35~mv2.png","imageAlt":"Unique Facts About Diwali & Activities to Enjoy During the Festival","excerpt":"Updated: Dec 1, 2025","content":[{"type":"ul","items":["Sep 25, 2025","2 min read"]},{"text":"Updated: Dec 1, 2025","type":"p"},{"text":"Unique Facts About Diwali: A Festival of Lights and Joy","type":"h2"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_669fc53482154a68aa0d7e374572fe35~mv2.png/v1/fill/w_1023,h_576,al_c,q_90,enc_avif,quality_auto/e9b5bf_669fc53482154a68aa0d7e374572fe35~mv2.png","type":"image"},{"text":"A Five-Day Celebration","type":"h3"},{"text":"Diwali is not just a one-day event. It lasts for five days, and each day carries its own significance. The celebration begins with Dhanteras, where people buy valuables. The next day is Naraka Chaturdashi, which symbolizes the triumph over darkness. The main day of Diwali is filled with joy and festivities. Following that, we have Govardhan Puja and Bhai Dooj, which emphasize family and community bonds.","type":"p"},{"text":"The New Year for Merchants","type":"h3"},{"text":"In many regions of India, Diwali also marks the beginning of the financial year. Shopkeepers and entrepreneurs often start new account books during this time. They pray for prosperity and success in the coming year.","type":"p"},{"text":"The Darkest Night of the Year","type":"h3"},{"text":"Diwali falls on Amavasya, the new moon night. This night is the darkest in the Hindu lunar calendar. Lights, oil lamps, and fireworks play a crucial role during this festival. They symbolize the victory of light over darkness.","type":"p"},{"text":"The Rise of “Green Diwali”","type":"h3"},{"text":"More communities today are choosing eco-friendly ways to celebrate Diwali. Known as “Green Diwali,” this movement includes reducing firecracker use. It also encourages creating natural decorations, planting trees, and focusing on togetherness and sharing.","type":"p"},{"text":"Activities to Enjoy During Diwali","type":"h2"},{"alt":"Craving authentic Indian sweets? Visit www.indianstoretaiwan.com to place your order today!","src":"https://static.wixstatic.com/media/e9b5bf_23c01f800259452b87fbee4bdd128c86~mv2.jpg/v1/fill/w_1023,h_576,al_c,q_85,enc_avif,quality_auto/e9b5bf_23c01f800259452b87fbee4bdd128c86~mv2.jpg","type":"image"},{"text":"Creating Colorful Rangoli","type":"h3"},{"text":"One popular activity during Diwali is creating colorful rangoli. This decorative art is made from powders, rice, or flowers. It welcomes guests and is believed to attract good fortune.","type":"p"},{"text":"Sharing Traditional Sweets","type":"h3"},{"text":"No Diwali celebration is complete without mithai (Indian sweets) such as ladoos, barfi, or jalebi. Exchanging sweets is a cherished tradition that spreads happiness and warmth. To make your celebration even more special, explore a wide selection of authentic sweets at Mayur Indian Kitchen—perfect for gifting or enjoying with family.","type":"p"},{"text":"Family Gatherings and Prayers","type":"h3"},{"text":"Families come together for Lakshmi Puja, offering prayers to the Goddess of Prosperity. This time is meaningful as families reflect and reconnect with loved ones. It strengthens bonds and creates lasting memories.","type":"p"},{"text":"Exchanging Gifts and Stories","type":"h3"},{"text":"Along with thoughtful presents, many families share stories from epics like the Ramayana. This practice keeps traditions and values alive for the younger generation. It fosters a sense of identity and belonging.","type":"p"},{"text":"The Spirit of Diwali: Togetherness and Joy","type":"h2"},{"text":"Diwali is more than just a festival; it is a celebration of togetherness and joy. The lights, sweets, and gatherings create a vibrant atmosphere. Families and friends come together to share love and happiness.","type":"p"},{"text":"Cultural Significance","type":"h3"},{"text":"The cultural significance of Diwali extends beyond rituals. It teaches values such as kindness, generosity, and the importance of family. These lessons resonate with people of all ages, making Diwali a timeless celebration.","type":"p"},{"text":"Modern Celebrations","type":"h3"},{"text":"In today's world, Diwali celebrations have evolved. Many people incorporate modern elements while honoring traditional practices. This blend of old and new makes the festival more inclusive and relatable.","type":"p"},{"text":"Conclusion: Celebrate Diwali with Love","type":"h3"},{"text":"Celebrate your Diwali wherever you are with your loved one
215s, friends, and family. Complete the celebration with sweets from Mayur Indian Kitchen—order through our website, and don’t hesitate to contact us for special requests! Embrace the spirit of Diwali, and let the lights of joy illuminate your life.","type":"p"}],"sourceUrl":"https://www.indianfoodtaiwan.com/single-post/unique-facts-about-diwali-activities-to-enjoy-during-the-festival"},{"id":"legacy-seo-11","path":"/single-post/why-taiwan-tops-the-charts-as-one-of-the-world-s-safest-countries-a-deep-dive-for-indian-traveller","title":"Why Taiwan Tops the Charts as One of the World's Safest Countries – A Deep Dive for Indian Travellers!","seoTitle":"Why Taiwan Tops the Charts as One of the World's Safest Countries – A Deep Dive for Indian Travellers!","seoDesc":"Planning your next international trip and safety is your top priority? Look no further than Taiwan! This vibrant island nation, often praised for its stunning l","keywords":["Taiwan safety","Taiwan crime rate","is Taiwan safe","Taiwan for Indian travellers"],"publishDate":"2023-01-01","dateModified":"2026-08-20","author":"Mayur Indian Kitchen","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_62f9023d6bee4dd4917523ce8e565f45~mv2.jpg/v1/fill/w_1304,h_734,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_62f9023d6bee4dd4917523ce8e565f45~mv2.jpg","imageAlt":"Why Taiwan Tops the Charts as One of the World's Safest Countries – A Deep Dive for Indian Travellers!","excerpt":"Planning your next international trip and safety is your top priority? Look no further than Taiwan! This vibrant island nation, often praised for its stunning landscapes, delicious food, and friendly locals, also consistently earns a spot among the safest places on Earth. For Indian travellers, knowing a destination offers peace of mind is crucial. Let's dive into what makes Taiwan an unparalleled haven for both residents and tourists.","content":[{"type":"ul","items":["Dec 1, 2025","3 min read"]},{"text":"Planning your next international trip and safety is your top priority? Look no further than Taiwan! This vibrant island nation, often praised for its stunning landscapes, delicious food, and friendly locals, also consistently earns a spot among the safest places on Earth. For Indian travellers, knowing a destination offers peace of mind is crucial. Let's dive into what makes Taiwan an unparalleled haven for both residents and tourists.","type":"p"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_62f9023d6bee4dd4917523ce8e565f45~mv2.jpg/v1/fill/w_1304,h_734,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_62f9023d6bee4dd4917523ce8e565f45~mv2.jpg","type":"image"},{"text":"Five major points to prove our point:","type":"p"},{"text":"1. Unbeatable Global Safety Rankings: Your Peace of Mind Starts Here","type":"p"},{"text":"Taiwan is not just \\"safe\\"; it's exceptionally safe. According to international databases like Numbeo's Crime Index, Taiwan frequently ranks in the top five globally for safety, often outperforming many developed Western nations. This isn't just a number; it reflects a genuine sense of security felt by everyone on the island. Imagine walking around without constantly worrying about your belongings – that's the Taiwanese experience!","type":"p"},{"text":"2. Near Non-Existent Violent & Petty Crime: Experience True Freedom","type":"p"},{"text":"The most striking aspect of Taiwan's safety is its incredibly low crime rates.","type":"p"},{"text":"Violent Crime: Incidents like assaults, robberies, and murders are remarkably rare. You'll find a respectful society where serious altercations are uncommon.","type":"p"},{"text":"Petty Crime: Even common urban woes like pickpocketing or bag snatching are almost unheard of, even in bustling night markets or crowded public transport. Locals often leave their bags unattended briefly without a second thought, a testament to the honesty prevalent here.","type":"p"},{"text":"3. Safety for Everyone, Anytime: Solo, Female, or Family Travellers Welcome!","type":"p"},{"text":"One of Taiwan's standout features is the high degree of personal safety felt by all.","type":"p"},{"text":"Walking at Night: Whether you're a night owl exploring the vibrant night markets or simply heading back to your accommodation after dark, you'll feel remarkably secure walking alone, even in less populated areas.","type":"p"},{"text":"Solo & Female Travellers:Taiwan is consistently lauded as one of the best and safest destinations globally for solo adventurers and female travellers. The risk of harassment or targeted crime is minimal, allowing for truly independent exploration.","type":"p"},{"text":"4. Visible, Trusted, and Efficient Law Enforcement: Your Guardians of Peace","type":"p"},{"text":"Taiwanese law enforcement plays a crucial role in maintaining public order and safety.","type":"p"},{"text":"Trust & Respect:The police force is highly regarded and trusted by the public. They are seen as guardians of peace, not as intimidating figures.","type":"p"},{"text":"Visible Presence:You'll often see police presence in key areas, which acts as both a deterrent and a source of reassurance. Their efficiency in responding to incidents further bolsters public confidence.","type":"p"}
215,{"text":"5. Strong Social Fabric & World-Class Infrastructure: Beyond Just Crime Rates","type":"p"},{"text":"Taiwan's safety extends beyond crime statistics, rooted in its robust societal structure and infrastructure.","type":"p"},{"text":"Community Values: The culture strongly emphasizes social harmony, respect for others, and honesty. This collective mindset significantly contributes to the overall peaceful environment.","type":"p"},{"text":"Universal Healthcare: Taiwan boasts one of the world's best universal healthcare systems, ensuring accessible and high-quality medical care for everyone. This system is a major safety net, providing security against health emergencies.","type":"p"},{"text":"Natural Disaster Preparedness: While Taiwan is prone to natural disasters like earthquakes and typhoons, it has invested heavily in advanced early warning systems, resilient infrastructure, and efficient evacuation protocols, minimizing risks to its population.","type":"p"},{"text":"(Conclusion)","type":"p"},{"text":"From its remarkably low crime rates and the palpable sense of public security to its trusted law enforcement and strong community values, Taiwan offers an exceptional environment where safety is a given. For Indian travellers seeking a worry-free adventure filled with cultural richness and natural beauty, Taiwan is not just a destination; it's a promise of peace. Pack your bags with confidence – Taiwan awaits!","type":"p"}],"sourceUrl":"https://www.indianfoodtaiwan.com/single-post/why-taiwan-tops-the-charts-as-one-of-the-world-s-safest-countries-a-deep-dive-for-indian-traveller"},{"id":"legacy-seo-12","path":"/single-post/best-places-to-visit-in-taiwan-during-summer","title":"Your Ultimate Guide to a Summer Getaway in Taiwan","seoTitle":"Your Ultimate Guide to a Summer Getaway in Taiwan","seoDesc":"Updated: Dec 1, 2025","keywords":["Taiwan summer travel","best places to visit in Taiwan","Taiwan travel guide"],"publishDate":"2023-01-01","dateModified":"2026-08-20","author":"Mayur Indian Kitchen","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_70cdcbb1c79e4880a09eade4e2e1a755~mv2.jpg/v1/fill/w_1023,h_576,al_c,q_85,enc_avif,quality_auto/e9b5bf_70cdcbb1c79e4880a09eade4e2e1a755~mv2.jpg","imageAlt":"Your Ultimate Guide to a Summer Getaway in Taiwan","excerpt":"Updated: Dec 1, 2025","content":[{"type":"ul","items":["Sep 9, 2025","3 min read"]},{"text":"Updated: Dec 1, 2025","type":"p"},{"text":"Planning a summer getaway to Taiwan? Discover the top destinations you simply can’t miss during your trip. From vibrant cities to breathtaking natural wonders, here’s your ultimate guide to making the most of your holiday in Taiwan.","type":"p"},{"text":"Must-Visit Destinations in Taiwan","type":"h2"},{"text":"Elephant Mountain (Xiangshan)","type":"h3"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_70cdcbb1c79e4880a09eade4e2e1a755~mv2.jpg/v1/fill/w_1023,h_576,al_c,q_85,enc_avif,quality_auto/e9b5bf_70cdcbb1c79e4880a09eade4e2e1a755~mv2.jpg","type":"image"},{"text":"Nestled within Taipei’s lush hills, Elephant Mountain offers a short but steep hike. This trail rewards visitors with some of the city’s most iconic panoramic views. As you ascend, the path leads to several viewing platforms. Here, you can take in sweeping vistas of Taipei, with Taipei 101 standing prominently in the skyline. The scener
215y becomes especially magical during sunset. The city lights shimmer against a colorful sky, making it a perfect spot for photography or simply soaking in the breathtaking cityscape.","type":"p"},{"text":"Yangmingshan (陽明山)","type":"h3"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_f19883126abf41adabed758868b90e43~mv2.jpg/v1/fill/w_1023,h_576,al_c,q_85,enc_avif,quality_auto/e9b5bf_f19883126abf41adabed758868b90e43~mv2.jpg","type":"image"},{"text":"Just a short drive from the city, Yangmingshan (陽明山) offers a cool and refreshing escape from Taipei’s summer heat. This national park is famous for its volcanic landscapes, soothing hot springs, and scenic hiking trails. During the warmer months, the area transforms into a lush retreat. Vibrant greenery and colorful hydrangeas bloom, making it the perfect spot to relax, explore nature, and enjoy a peaceful break from bustling city life.","type":"p"},{"text":"Shilin Night Market (士林夜市)","type":"h3"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_b331473c42e04d73a8629a81e5942484~mv2.jpg/v1/fill/w_1023,h_576,al_c,q_85,enc_avif,quality_auto/e9b5bf_b331473c42e04d73a8629a81e5942484~mv2.jpg","type":"image"},{"text":"Shilin Night Market is a world-famous hotspot for food lovers seeking both flavor and fun. Even during the summer heat, visitors can cool down with popular desserts and refreshing beverages, like shaved ice topped with tropical fruits. For those who prefer a comfortable indoor setting, the market’s food courts offer a wide variety of delicious dishes in air-conditioned comfort. From street snacks to full meals, Shilin Night Market promises a vibrant experience filled with local flavors, lively atmosphere, and endless culinary discoveries.","type":"p"},{"text":"Alishan (阿里山)","type":"h3"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_56aae9a85f88482cbfd2c5573ec3834b~mv2.jpg/v1/fill/w_147,h_83,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_56aae9a85f88482cbfd2c5573ec3834b~mv2.jpg","type":"image"},{"text":"Alishan is a renowned mountain resort area offering a refreshing break from the heat. Famous for its breathtaking sunrises, mesmerizing sea of clouds, and ancient forests, it’s a paradise for nature lovers. Visitors can ride the historic Forest Railway, winding through lush landscapes, or take invigorating hikes along misty trails. These trails reveal hidden waterfalls and scenic viewpoints. With its cool climate and serene atmosphere, Alishan provides a perfect escape to connect with nature and experience Taiwan’s majestic mountain beauty.","type":"p"},{"text":"Taroko National Park (太魯閣國家公園)","type":"h3"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_4d8ab650b3584ebb9c1b174fec2cdf77~mv2.jpg/v1/fill/w_147,h_83,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_4d8ab650b3584ebb9c1b174fec2cdf77~mv2.jpg","type":"image"},{"text":"Taroko National Park is a stunning natural wonder, featuring a marble gorge sculpted over millennia by the Liwu River. Summer is the perfect season to explore its scenic trails, such as the Shakadang Trail. Here, visitors can enjoy river tracing and walk along crystal-clear streams. Dramatic cliffs, cascading waterfalls, and lush greenery create a breathtaking backdrop at every turn. Taroko is a must-visit destination for nature lovers and adventure seekers alike.","type":"p"},{"text":"Tamsui (淡水)","type":"h3"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_33f1fae82ce94c3d8ba66e2a4113410a~mv2.jpg/v1/fill/w_147,h_83,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_33f1fae82ce94c3d8ba66e2a4113410a~mv2.jpg","type":"image"},{"text":"Tamsui is a charming riverside town, perfect for a relaxing summer day trip. Wander along the old streets, savor local snacks, and explore historic sites like Fort San Domingo. As the day winds down, enjoy a stunning sunset over the harbor. Soak in the peaceful riverside atmosphere.","type":"p"},{"text":"Culinary Delights at Mayur Indian Kitchen (MIK-9) 馬友友印度廚房 - 淺水灣三芝店","type":"h3"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_ea55149c0bf94b068cb4aec47922488d~mv2.webp/v1/fill/w_147,h_83,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_ea55149c0bf94b068cb4aec47922488d~mv2.webp","type":"image"},{"text":"For a special culinary experience, visit Mayur Indian Kitchen (MIK-9) 馬友友印度廚房 - 淺水灣三芝店. Here, you can enjoy authentic Indian dishes while taking in the beautiful beachside view. It’s a perfect spot to share delicious food, watch the sunset, and create joyful memories with friends or family by the water.","type":"p"},{"text":"Conclusion","type":"h2"},{"text":"Visiting Taiwan is one of the best experiences you can have! The country offers excellent public facilities and reliable transportation, so getting around is easy and stress-free. You’ll also feel safe thanks to the welcoming and helpful people. See you in Taiwan!","type":"p"}],"sourceUrl":"https://www.indianfoodtaiwan.com/single-post/best-places-to-visit-in-taiwan-during-summer"},{"id":"legacy-seo-13","path":"/single-post/catering-services-tailored-to-your-needs","title":"Catering Services Tailored to Your Needs","seoTitle":"Catering Services Tailored to Your Needs","seoDesc":"Looking for an amazing catering solution for your next event?","keywords":["Indian catering Taiwan","Indian catering Taipei","corporate catering Taiwan"],"publishDate":"2023-01-01","dateModified":"2026-08-20","author":"Mayur Indian Kitchen","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_9e07bd9ad29f44fd8857b373cd773304~mv2_d_2000_1334_s_2.jpg/v1/fill/w_1920,h_1281,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/e9b5bf_9e07bd9ad29f44fd8857b373cd773304~mv2_d_2000_1334_s_2.jpg","imageAlt":"Catering Services Tailored to Your Needs","excerpt":"Looking for an amazing catering solution for your next event?","content":[{"type":"ul","items":["Dec 12, 2024","2 min read"]},{"text":"Looking for an amazing catering solution for your next event?","type":"p"},{"text":"Mayur Indian Kitchen is here to make your celebrations truly unforgettable! 🌟 Whether it’s a cozy family gathering, a corporate meeting, or a grand wedding, we bring the magic of authentic Indian cuisine straight to your doorstep, anytime, anywhere!","type":"p"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_9e07bd9ad29f44fd8857b373cd773304~mv2_d_2000_1334_s_2.jpg/v1/fill/w_1920,h_1281,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/e9b5bf_9e07bd9ad29f44fd8857b373cd773304~mv2_d_2000_1334_s_2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_61b305b7acb84ff2ae071b16909decd7~mv2_d_2000_1334_s_2.jpg/v1/fill/w_1920,h_1281,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/e9b5bf_61b305b7acb84ff2ae071b16909decd7~mv2_d_2000_1334_s_2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_f2350fd18eb14cdc8df102e06b54f92b~mv2.jpg/v1/fill/w_1280,h_854,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/e9b5bf_f2350fd18eb14cdc8df102e06b54f92b~mv2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_953604a8f83a46d985f68c12fd98647d~mv2.jpg/v1/fill/w_1280,h_854,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/e9b5bf_953604a8f83a46d985f68c12fd98647d~mv2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_c7e51a212f094915b2b42026c4b7d558~mv2.jpg/v1/fill/w_1280,h_854,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/e9b5bf_c7e51a212f094915b2b42026c4b7d558~mv2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_b865b37e426a48c49ce42761af347d4a~mv2.jpg/v1/fill/w_1280,h_854,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/e9b5bf_b865b37e426a48c49ce42761af347d4a~mv2.jpg","type":"image"},{"text":"### **Why Choose Mayur Indian Kitchen Catering Services?**","type":"p"},{"text":"At Mayur Indian Kitchen, we don’t just serve food — we create memories. Here’s what makes our catering services stand out:","type":"p"},{"text":"#### **Indoor Parties**","type":"p"},{"text":"Host your next celebration in style! From intimate family dinners to elegant indoor events, our team ensures a delightful and hassle-free experience.","type":"p"},{"text":"#### **Outdoor Events**","type":"p"},{"text":"Planning a garden party or a beachside gathering? 🌊 We bring the vibrant flavours of India to life under the open sky, making your outdoor celebrations truly special.","type":"p"},{"text":"#### **Small to Large Events**","type":"p"},{"text":"Whether it’s an intimate get-together or a grand gala, we’ve got you covered! Our flexible menu and services are tailored to fit your needs and budget.","type":"p"},{"text":"#### **Corporate Meetings**","type":"p"},{"text":"Take your office gatherings to the next level! Impress your colleagues and clients with expertly prepared meals that strike the perfect balance between taste and presentation. 💼","type":"p"},{"text":"#### **Weddings**","type":"p"},{"text":"Make your big day extra special with a feast fit for royalty. 💖 Our wedding catering services include not just mouthwatering dishes but also decor to match the joyous occasion. If you are looking for wedding locations, we have many connections to help you with!","type":"p"},{"text":"#### **Birthdays and Anniversaries**","type":"p"},{"text":"Turn your milestones into cherished memories! From tailored menus to beautiful decor, we’ll ensure your special day is one to remember. 🎈","type":"p"},{"text":"### **Customizable Options for Every Occasion**","type":"p"},{"text":"Just tell us the number of guests and your preferred location (indoor, outdoor, or at your premises), and we’ll handle the rest. Our team works closely with you to customize the menu and ambiance to suit your unique needs.","type":"p"},{"text":"### **Why Trust Mayur Indian Kitchen?**","type":"p"},{"text":"With over 15 years of experience, we’ve built a reputation for excellence in Taiwan. Our loyal customers love us for our:","type":"p"},{"text":"- **Authenticity:** Top-quality ingredients and imported spices ensure every dish is true to its roots.","type":"p"},{"text":"- **Reliability:** We deliver consistent quality and impeccable service, no matter the occasion.","type":"p"},{"text":"- **Passion:** We pour our heart and soul into every event because your happiness is our success. 🌟","type":"p"},{"text":"### **Join Us and Make Memories**","type":"p"},{"text":"This holiday season, share the joy of great food and warm company with Mayur Indian Kitchen. Whether it’s Christmas, New Year, or any other celebration, we’re here to make your moments magical.","type":"p"},{"text":"**Reserve your table, book our catering services, or simply give us a call to start planning your perfect event.** Let Mayur Indian Kitchen turn your celebrations into cherished memories! 🍽️❤️","type":"p"}],"sourceUrl":"https://www.indianfoodtaiwan.com/single-post/catering-services-tailored-to-your-needs"},{"id":"legacy-seo-14","path":"/single-post/mayur-indian-kitchen-open-till-late-for-food-drinks","title":"Mayur Indian Kitchen Open till late for food & drinks","seoTitle":"Mayur Indian Kitchen Open till late for food & drinks","seoDesc":"call 02-25006186","keywords":["late night Indian food Taipei","Indian restaurant open late Taipei","MIK-6 live music"],"publishDate":"2023-01-01","dateModified":"2026-08-20","author":"Mayur Indian Kitchen","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_84d255dee8154e2b806c2f21391d9c8b~mv2.jpg/v1/fill/w_960,h_640,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/e9b5bf_84d255dee8154e2b806c2f21391d9c8b~mv2.jpg","imageAlt":"Mayur Indian Kitchen Open till late for food & drinks","excerpt":"call 02-25006186","content":[{"type":"ul","items":["May 30, 2023","1 min read"]},{"text":"call 02-25006186","type":"p"},{"text":"Discover the Exciting Nightlife of Computex Taipei 2023 at MIK-6 restaurant and shisha/hookah bar with live music every evening without any door charges!","type":"p"},{"text":"Attention all tech-savvy travellers! As you explore the wonders of Computex Taipei, don't miss out on the vibrant nightlife that awaits you after the convention halls close. Whether you're a late-night goer or simply seeking a well-deserved drink to unwind, we've got you covered. Get ready to experience an unforgettable evening with our guide to the best late-night drinks in Taipei along with best tasty food! Check our reviews to know more :)","type":"p"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_84d255dee8154e2b806c2f21391d9c8b~mv2.jpg/v1/fill/w_960,h_640,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/e9b5bf_84d255dee8154e2b806c2f21391d9c8b~mv2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_087e0f0aa14a450991bd5bd545bb0a1b~mv2.jpg/v1/fill/w_960,h_720,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/e9b5bf_087e0f0aa14a450991bd5bd545bb0a1b~mv2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_441d3f9a41744a80982b80f8124a12b7~mv2.jpg/v1/fill/w_960,h_720,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/e9b5bf_441d3f9a41744a80982b80f8124a12b7~mv2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_bbbf3d5f85e54abbbf8d6ff4e91265e6~mv2.jpg/v1/fill/w_960,h_640,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/e9b5bf_bbbf3d5f85e54abbbf8d6ff4e91265e6~mv2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_242b9e19fcef45e3b9f8df8c889ae1cf~mv2.jpg/v1/fill/w_960,h_640,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/e9b5bf_242b9e19fcef45e3b9f8df8c889ae1cf~mv2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_ca2ac54ceeef4803971bc3f876f4ba1d~mv2.jpg/v1/fill/w_960,h_640,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/e9b5bf_ca2ac54ceeef4803971bc3f876f4ba1d~mv2.jpg","type":"image"},{"text":"-We are not just a restaurant, but we have Live music too!","type":"p"},{"text":"-Neon Lights & cosy dim lights while chatting with friends","type":"p"},{"text":"-This trendy bar boasts an elegant ambience with dazzling lights & mix a variety of music.","type":"p"}
215,{"text":"-Immerse yourself in the vibrant local culture while enjoying a night of culinary delights.","type":"p"},{"text":"-We care for all your needs if you are looking for Vegetarian, Halal or dietary meals.","type":"p"},{"text":"- Call us now and book your spot! We do not have extra charges for live music or performances!","type":"p"},{"text":"- Please note that we do not play too loud music and the atmosphere is good to talk with friends and business clients.","type":"p"}],"sourceUrl":"https://www.indianfoodtaiwan.com/single-post/mayur-indian-kitchen-open-till-late-for-food-drinks"},{"id":"legacy-seo-15","path":"/single-post/2018/07/10/馬友友蔬食餐廳推出印度風味的美味早餐和下午茶餐點mik-3-introduces-delicious-indian-breakfast-and-afternoon-tea-in","title":"馬友友蔬食餐廳推出印度風味的美味早餐和下午茶餐點,MIK-3 introduces delicious Indian breakfast and afternoon tea in Taipei.","seoTitle":"馬友友蔬食餐廳推出印度風味的美味早餐和下午茶餐點,MIK-3 introduces delicious Indian breakfast and afternoon tea in Taipei.","seoDesc":"馬友友印度廚房-蔬食餐廳(MIK-3)在台北推出印度風味的美味早餐和下午茶餐點。🎉🎉 營業時段分為🍽 10:00-12:00 早午餐時間(Brunch) 12:00-14:00 午餐時間(Lunch) 15:00-17:00 下午茶時間(Afternoon Tea) 17:00-20:00 晚餐時間(Dinner","keywords":["印度蔬食餐廳","印度早餐台北","MIK-3 vegetarian restaurant"],"publishDate":"2018-07-10","dateModified":"2026-08-20","author":"Mayur Indian Kitchen","language":"zh-TW","image":"https://static.wixstatic.com/media/e9b5bf_61aeb1a2617e47968bb6dda67d63f01b~mv2.jpg/v1/fill/w_1199,h_800,al_c,q_85,enc_avif,quality_auto/e9b5bf_61aeb1a2617e47968bb6dda67d63f01b~mv2.jpg","imageAlt":"馬友友蔬食餐廳推出印度風味的美味早餐和下午茶餐點,MIK-3 introduces delicious Indian breakfast and afternoon tea in Taipei.","excerpt":"馬友友印度廚房-蔬食餐廳(MIK-3)在台北推出印度風味的美味早餐和下午茶餐點。🎉🎉 營業時段分為🍽 10:00-12:00 早午餐時間(Brunch) 12:00-14:00 午餐時間(Lunch) 15:00-17:00 下午茶時間(Afternoon Tea) 17:00-20:00 晚餐時間(Dinner) 歡迎訂位:02-25431817😋 Mayur Indian Kitchen - Vegetarian Restaurant(MIK-3) introduces delicious Indian breakfast and afternoon tea in Taipei.🎉🎉🎉 🍽Business hours are 10:00-12:00 Brunch Time 12:00-14:00 Lunch time 15:00-17:00 Afternoon Tea 17:00-20:00 Dinner Time For reservation call 02-25431817!","content":[{"type":"ul","items":["Jul 10, 2018","1 min read"]},{"text":"馬友友印度廚房-蔬食餐廳(MIK-3)在台北推出印度風味的美味早餐和下午茶餐點。🎉🎉 營業時段分為🍽 10:00-12:00 早午餐時間(Brunch) 12:00-14:00 午餐時間(Lunch) 15:00-17:00 下午茶時間(Afternoon Tea) 17:00-20:00 晚餐時間(Dinner) 歡迎訂位:02-25431817😋 Mayur Indian Kitchen - Vegetarian Restaurant(MIK-3) introduces delicious Indian breakfast and afternoon tea in Taipei.🎉🎉🎉 🍽Business hours are 10:00-12:00 Brunch Time 12:00-14:00 Lunch time 15:00-17:00 Afternoon Tea 17:00-20:00 Dinner Time For reservation call 02-25431817!","type":"p"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_61aeb1a2617e47968bb6dda67d63f01b~mv2.jpg/v1/fill/w_1199,h_800,al_c,q_85,enc_avif,quality_auto/e9b5bf_61aeb1a2617e47968bb6dda67d63f01b~mv2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_4bd3e6cb03414b5f9f96bc95e18a4392~mv2.jpg/v1/fill/w_156,h_109,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_4bd3e6cb03414b5f9f96bc95e18a4392~mv2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_1ec3f6136cd54e9bbefe20f3bde09ea0~mv2_d_2274_1280_s_2.jpeg/v1/fill/w_147,h_83,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_1ec3f6136cd54e9bbefe20f3bde09ea0~mv2_d_2274_1280_s_2.jpeg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_8d3fd9108abe4cefa1e2db9052fd5760~mv2_d_1280_1280_s_2.jpg/v1/fill/w_147,h_147,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_8d3fd9108abe4cefa1e2db9052fd5760~mv2_d_1280_1280_s_2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_877a6df3f27746ef95ff4f776b0b8aae~mv2_d_2100_1400_s_2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_877a6df3f27746ef95ff4f776b0b8aae~mv2_d_2100_1400_s_2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_1d16e9ba9f924722acbde7651736788e~mv2_d_3264_2448_s_4_2.jpg/v1/fill/w_147,h_110,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_1d16e9ba9f924722acbde7651736788e~mv2_d_3264_2448_s_4_2.jpg","type":"image"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_df3d4e2432ad4054b6265eee775561a2~mv2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_df3d4e2432ad4054b6265eee775561a2~mv2.jpg","type":"image"},{"text":"#MIK3 #Indianbreakfast #Indianafternoontea #IndianVegetarianrestaurant #vegetarianhealthyliving","type":"p"}],"sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2018/07/10/%E9%A6%AC%E5%8F%8B%E5%8F%8B%E8%94%AC%E9%A3%9F%E9%A4%90%E5%BB%B3%E6%8E%A8%E5%87%BA%E5%8D%B0%E5%BA%A6%E9%A2%A8%E5%91%B3%E7%9A%84%E7%BE%8E%E5%91%B3%E6%97%A9%E9%A4%90%E5%92%8C%E4%B8%8B%E5%8D%88%E8%8C%B6%E9%A4%90%E9%BB%9Emik-3-introduces-delicious-indian-breakfast-and-afternoon-tea-in"},{"id":"legacy-seo-16","path":"/single-post/2018/05/11/馬友友印度廚房-印度料理教室","title":"馬友友印度廚房-印度料理教室","seoTitle":"馬友友印度廚房-印度料理教室","seoDesc":"#馬友友和本次學員們合照","keywords":["印度料理教室","Indian cooking class Taipei","印度菜教學"],"publishDate":"2018-05-11","dateModified":"2026-08-20","author":"Mayur Indian Kitchen","language":"zh-TW","image":"https://static.wixstatic.com/media/e9b5bf_95d19b49fec1405f9cfa721dd2940a9e~mv2_d_5472_3648_s_4_2.jpg/v1/fill/w_1304,h_870,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_95d19b49fec1405f9cfa721dd2940a9e~mv2_d_5472_3648_s_4_2.jpg","imageAlt":"馬友友印度廚房-印度料理教室","excerpt":"#馬友友和本次學員們合照","content":[{"type":"ul","items":["May 11, 2018","1 min read"]},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_95d19b49fec1405f9cfa721dd2940a9e~mv2_d_5472_3648_s_4_2.jpg/v1/fill/w_1304,h_870,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_95d19b49fec1405f9cfa721dd2940a9e~mv2_d_5472_3648_s_4_2.jpg","type":"image"},{"text":"#馬友友和本次學員們合照","type":"p"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_3df46ac5db154e2fa35e93ac93626e02~mv2_d_3
215648_5472_s_4_2.jpg/v1/fill/w_700,h_1050,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_3df46ac5db154e2fa35e93ac93626e02~mv2_d_3648_5472_s_4_2.jpg","type":"image"},{"text":"#認真講解課程細節","type":"p"},{"text":"馬友友印度廚房主廚馬友友 2006年來到台灣,2010年開始投入印度料理授課,他在世界各地知名的廚藝教室授過課,印度料理多元化帶有濃厚民族風情,且東西南北的印度料理各有不同特色。","type":"p"},{"text":"這次來到台北知名的廚藝教室-囍廚 Gourmet Plus,要來教導各位學員做出有名的印度料理:","type":"p"},{"text":"蔬菜咖哩餃、鷹嘴豆香料咖哩、炸印度麵包、甜菜檸檬香料飲。","type":"p"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_af6c722aff464fedb3d2c0926fda22f4~mv2_d_5472_3648_s_4_2.jpg/v1/fill/w_1304,h_870,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/e9b5bf_af6c722aff464fedb3d2c0926fda22f4~mv2_d_5472_3648_s_4_2.jpg","type":"image"},{"text":"課程中不但詳細解釋了菜餚的製作方法,並對印度料理中使用的大量香料進行說明,讓人對印度料理有更深入的了解。過程中並對學員一一指導各項步驟中不甚明瞭的地方,活潑明確的教學方式使整間廚藝教室充滿了活力。","type":"p"},{"alt":"Indian food, Indian chef at Mayur indian kitchen","src":"https://static.wixstatic.com/media/e9b5bf_b3d2788a2298451ea6fc2dd6ec105409~mv2_d_5472_3648_s_4_2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_b3d2788a2298451ea6fc2dd6ec105409~mv2_d_5472_3648_s_4_2.jpg","type":"image"},{"text":"#學員專心觀看馬友友示範","type":"p"},{"alt":"Indian food, Indian chef at Mayur indian kitchen","src":"https://static.wixstatic.com/media/e9b5bf_b7f5fc84615c426cacf05b8aa4ea003b~mv2_d_5472_3648_s_4_2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_b7f5fc84615c426cacf05b8aa4ea003b~mv2_d_5472_3648_s_4_2.jpg","type":"image"},{"text":"#咖哩餃的餡料製作完成","type":"p"},{"alt":"Indian food, Indian chef at Mayur indian kitchen","src":"https://static.wixstatic.com/media/e9b5bf_bc4252f077ec46fb91674672cbaa746c~mv2_d_5472_3648_s_4_2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_bc4252f077ec46fb91674672cbaa746c~mv2_d_5472_3648_s_4_2.jpg","type":"image"},{"text":"#咖哩餃的餅皮製作講解","type":"p"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_c47b2de37a6348e2be768b3c59696387~mv2_d_5472_3648_s_4_2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_c47b2de37a6348e2be768b3c59696387~mv2_d_5472_3648_s_4_2.jpg","type":"image"},{"text":"#學員們自己嘗試製作餅皮","type":"p"},{"alt":"Indian food, Indian chef at Mayur indian kitchen","src":"https://static.wixstatic.com/media/e9b5bf_24cc877859454a3296efcd642de2441a~mv2_d_5472_3648_s_4_2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_24cc877859454a3296efcd642de2441a~mv2_d_5472_3648_s_4_2.jpg","type":"image"},{"text":"#大家專心聽講中","type":"p"},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_6a2d0469746b4c8cb46a2bb2c8ad0c72~mv2_d_5472_3648_s_4_2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_6a2d0469746b4c8cb46a2bb2c8ad0c72~mv2_d_5472_3648_s_4_2.jpg","type":"image"},{"text":"#學員間互相研究討論作法","type":"p"},{"alt":"Indian food, Mayur indian kitchen","src":"https://static.wixstatic.com/media/e9b5bf_af4667aab388448fa63402091f47f233~mv2_d_5472_3648_s_4_2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_af4667aab388448fa63402091f47f233~mv2_d_5472_3648_s_4_2.jpg","type":"image"},{"text":"#各學員忙碌製作中","type":"p"},{"alt":"Indian food, Indian chef at Mayur indian kitchen","src":"https://static.wixstatic.com/media/e9b5bf_c2795e82e4a34170a52eb8f80ef6096e~mv2_d_3648_5472_s_4_2.jpg/v1/fill/w_147,h_220,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_c2795e82e4a34170a52eb8f80ef6096e~mv2_d_3
215648_5472_s_4_2.jpg","type":"image"},{"alt":"Indian food, Indian chef at Mayur indian kitchen","src":"https://static.wixstatic.com/media/e9b5bf_8158085565a54d9b82ac927ac0c78753~mv2_d_5472_3648_s_4_2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_8158085565a54d9b82ac927ac0c78753~mv2_d_5472_3648_s_4_2.jpg","type":"image"},{"text":"#指導及幫忙添加香料","type":"p"},{"alt":"Indian food, Indian chef at Mayur indian kitchen","src":"https://static.wixstatic.com/media/e9b5bf_df99928e98274cecaa672b66c1821022~mv2_d_5472_3648_s_4_2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_df99928e98274cecaa672b66c1821022~mv2_d_5472_3648_s_4_2.jpg","type":"image"},{"text":"#印度餃子包法示範中","type":"p"},{"alt":"Indian food, Indian chef at Mayur indian kitchen","src":"https://static.wixstatic.com/media/e9b5bf_d2f7325468af4db293bf0ea06cd3a5cd~mv2_d_5472_3648_s_4_2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_d2f7325468af4db293bf0ea06cd3a5cd~mv2_d_5472_3648_s_4_2.jpg","type":"image"},{"text":"#學員嘗試包餃子","type":"p"},{"alt":"Indian food, Indian chef at Mayur indian kitchen","src":"https://static.wixstatic.com/media/e9b5bf_fc5cb5846fb34596ac0b65371a7a86c9~mv2_d_3648_5472_s_4_2.jpg/v1/fill/w_147,h_220,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_fc5cb5846fb34596ac0b65371a7a86c9~mv2_d_3648_5472_s_4_2.jpg","type":"image"},{"alt":"Indian food at Mayur indian kitchen","src":"https://static.wixstatic.com/media/e9b5bf_7b0802f6556141eab29f3a6a765f371e~mv2_d_5472_3648_s_4_2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_7b0802f6556141eab29f3a6a765f371e~mv2_d_5472_3648_s_4_2.jpg","type":"image"},{"text":"#香噴噴的蔬菜咖哩餃完成","type":"p"},{"alt":"Indian food, Indian chef at Mayur indian kitchen","src":"https://static.wixstatic.com/media/e9b5bf_a83bc5761c074bc58a843f06b430122f~mv2_d_5472_3648_s_4_2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_a83bc5761c074bc58a843f06b430122f~mv2_d_5472_3648_s_4_2.jpg","type":"image"},{"text":"#製作炸印度麵包","type":"p"},{"alt":"Indian food at Mayur indian kitchen","src":"https://static.wixstatic.com/media/e9b5bf_38fb948a9e3441f9992b88934fadde36~mv2_d_5472_3648_s_4_2.jpg/v1/fill/w_147,h_98,al_c,q_80,usm_0.66_1.00_0.01,blur_2,enc_avif,quality_auto/e9b5bf_38fb948a9e3441f9992b88934fadde36~mv2_d_5472_3648_s_4_2.jpg","type":"image"},{"text":"#馬友友印度廚房 #印度料理 #馬友友印度菜 #道地印度料理 #MAYURINDIANKITCHEN #台北印度菜","type":"p"}],"sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2018/05/11/%E9%A6%AC%E5%8F%8B%E5%8F%8B%E5%8D%B0%E5%BA%A6%E5%BB%9A%E6%88%BF-%E5%8D%B0%E5%BA%A6%E6%96%99%E7%90%86%E6%95%99%E5%AE%A4"},{"id":"legacy-seo-17","path":"/single-post/2012/04/26/restaurant-review-mayur-indian-kitchen","title":"Restaurant review: Mayur Indian Kitchen","seoTitle":"Restaurant review: Mayur Indian Kitchen","seoDesc":"{備註:觀看英文點此Click here to view the original article}","keywords":["Mayur Indian Kitchen review","Indian restaurant Taipei review"],"publishDate":"2012-04-26","dateModified":"2026-08-20","author":"Mayur Indian Kitchen","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_98e1a2a432e942718f7c7a73a07d3b4d~mv2.png/v1/fill/w_752,h_475,al_c,lg_1,q_85,enc_avif,quality_auto/e9b5bf_98e1a2a432e942718f7c7a73a07d3b4d~mv2.png","imageAlt":"Restaurant review: Mayur Indian Kitchen","excerpt":"{備註:觀看英文點此Click here to view the original article}","content":[{"type":"ul","items":["Apr 26, 2012","2 min read"]},{"alt":"","src":"https://static.wixstatic.com/media/e9b5bf_98e1a2a432e942718f7c7a73a07d3b4d~mv2.png/v1/fill/w_752,h_475,al_c,lg_1,q_85,enc_avif,quality_auto/e9b5bf_98e1a2a432e942718f7c7a73a07d3b4d~mv2.png","type":"image"},{"text":"{備註:觀看英文點此Click here to view the original article}","type":"p"},{"text":"Mayur Indian Kitchen雖位於台北市政廳的視線範圍內,但人們很容易錯過這家餐廳,因為它位在基隆路地下道後面的一排摩托車維修店和小攤販之間。","type":"p"},{"text":"雖然Mayur Indian Kitchen是一個露天廚房,在人行道上簡單的排列著幾張桌子,但它提供各種各樣的家庭式印度名饌。 (Mayur Indian Kitchen第二家分店位置位於新北市的徐匯廣場附近)。","type":"p"},{"text":"店主Mayur Srivastava曾在六福皇宮擔任主廚,並在六個月前開設Mayur Indian Kitchen。Mayur Indian Kitchen的餐點皆是新鮮現煮的,使用的香料也是自製的。餐廳專門供應北印度的美食,也提供南印度經典美食,如:薄餅、由米粉和扁豆製成的美味煎餅,以及配以各種餡料的脆皮薩摩薩......等,其經常更換菜單,並根據季節提供特色菜。","type":"p"},{"text":"例如,下週Mayur將開始為溫暖的天氣提供自製酸奶,芒果和檸檬飲料。","type":"p"},{"text":"Mayur說:“在印度有很多不同的美食,所以我們不斷更新菜色,希望每次都讓人們品嚐到新鮮事物。“","type":"p"},{"text":"我在Mayur Indian Kitchen吃的咖哩略帶辛辣味,但也提供客人在咖喱辣度上的調整。餐廳提供多種清真或素食菜餚,如
215家常炒馬鈴薯花椰菜(新台幣110元),採用炒馬鈴薯、花椰菜、番茄和香料製成,我很喜歡裡面的花椰菜經輕微烹飪過保留住一些彈性。","type":"p"},{"text":"唐杜里雞肉馬鈴薯(新台幣145元)也是一道很好的料理,裏頭的雞肉都帶骨,在食用上也要格外用心。","type":"p"},{"text":"當晚,我最喜歡的菜是傳統鷹嘴豆咖哩(新台幣95),與奶油餡餅(新台幣55)搭配得非常好。 Mayur Indian Kitchen新鮮製作的印度麵包特別好吃,邊緣烤至酥脆,中間是鬆軟和有嚼勁,很適合搭配咖哩一起下嚥。","type":"p"},{"text":"薄餅有14種口味,我和朋友一起點了大蒜口味的薄餅(新台幣 55),上面放著大量的海苔,配料搭配的極為恰當,但意外的我們覺得奶油跟其他菜餚更搭調。","type":"p"},{"text":"在另一次訪問中,我點了一份素食鷹嘴豆咖哩套餐當午餐,其用天然孜然烹調而成;套餐中的捲心菜沙拉也撒上大量的茴香籽,與酸撻醋的形成了鮮明的對比,在吃完咖哩和香料飯後可以有效去除口中殘留的味道;而甜點,Mayur Indian Kitchen提供孟加拉紅牛奶球(新台幣80元)和gajar halwa(新台幣 95),孟加拉紅牛奶球美味厚實,其濃稠的布丁狀口感是用胡蘿蔔、牛奶及腰果製成的,甜點讓我吃得非常開心。","type":"p"},{"text":"#MayurIndianKitchen #Restaurantreview #台北時報TaipeiTimes #MIK","type":"p"}],"sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2012/04/26/restaurant-review-mayur-indian-kitchen"}]`),de=t=>`https://static.wixstatic.com/media/${t}`,ta=({id:t,path:n,title:i,date:s,image:l,images:u,text:h,keywords:f=[]})=>({slug:t,id:t,legacyPath:n,title:i,seoTitle:i,seoDesc:h.replace(/\s+/g," ").trim().slice(0,155),keywords:f,category:"Story",wixCategory:"Mayur Indian Kitchen",tags:["Mayur Indian Kitchen","MIK restaurants","Taiwan"],publishDate:s,readTime:`${Math.max(1,Math.ceil(h.trim().split(/\s+/).length/200))} min read`,author:"Mayur Indian Kitchen",language:"en",image:l,imageAlt:i,excerpt:h.replace(/\s+/g," ").trim().slice(0,220),sourceUrl:`https://www.indianfoodtaiwan.com${n}`,content:[{type:"legacyText",text:h},{type:"gallery",images:u.map((m,g)=>({src:m,alt:`${i} — original Wix image ${g+1}`}))}]}),lT=[ta({id:"legacy-branch-mik-1-keelung-2018",path:"/single-post/2018/05/09/馬友友印度廚房-基隆店mayur-indian-kitchenmik-1",title:"Mayur Indian Kitchen,MIK-1(Keelung rd.)",date:"2018-05-09",image:de("e9b5bf_7f3d0070a74e4049953bb181ef2b0e1d~mv2.jpg"),images:[de("e9b5bf_7f3d0070a74e4049953bb181ef2b0e1d~mv2.jpg"),de("e9b5bf_b7a8f341fd2d47f9b68becac3c099efe~mv2.jpg"),de("e9b5bf_8efca5afb05a43d5bf0aa9d8a8fb7fc9~mv2.jpg"),de("e9b5bf_6123e38edcca4821ad0cc5b0832bfeb9~mv2.jpg"),de("e9b5bf_c925ef7c53834353ae3d9e9a253aa279~mv2.jpg"),de("e9b5bf_f0087062b5fa4812927035d0bec1884b~mv2_d_5312_2988_s_4_2.jpg"),de("e9b5bf_22792a017dff4b93bbf066aa43ea145a.jpg"),de("e9b5bf_cc1eae07c6da4faf846342c1befaa5c3.jpg"),de("e9b5bf_629ac1f0d5ab4dd69d66773b3a1b3000~mv2.jpg")],text:`Mayur Indian Kitchen's first branch is located on the corner of Renai rd. & Keelung rd.Taipei, just opposite to Taipei City hall or Grand Hyatt hotel. It is walking distance away from best sight seeing spots or shopping area Xinyi in Taipei. It is very close to Taipei 101, TAITRA, TWTC and Indian trade office, Taipei.Some of the popular hotels like W Taipei, Le-meridien etc. are there along with business hotels nearby suitable for business travvellers.Address: No. 350, Section 350, Keelung Road, Xinyi District, Taipei City
216
217Google location : https://goo.gl/maps/2iD1gXADj6mOpening
218
219hours : 11:30 - 15:00/17:00 - 21:30 (Everyday Open)
220
221Capacity : 35-40 people inside and outside the restaurant, this MIK location has spectecular view of Taipei 101 while dining outside teh restaurant.
222
223Average Cheque : Affordable price NT 250-400/person (with cash and credit card services)
224
225Cuisine: North & South Indian cuisine, Vegetarian - Vegan, Indian Tandoori Grill, Halal cuisine available.Restaurant nearby has ample parking for many cars.There is a paid parking too.
226
227Transportation: 5 minutes walk to Dr. Sun Yat-Sen Memorial Hall / Taipei 101 World Trade Center / City Hall MRT Station.
228
229Google reviews about MIK-1 Keelung rd.
230Facebook reviews of guest
231Picture gallery of MIK-1
232
233#MIK1 #MAYURINDIANKITCHEN`}),ta({id:"legacy-branch-mik-2-minsheng-2018",path:"/single-post/2018/05/09/馬友友印度廚房-民生店-mayurs-indian-kitchen-restaurant-barmik-2",title:"Mayur'
233s Indian Kitchen Restaurant & Bar,MIK-2",date:"2018-05-09",image:de("e9b5bf_bbeafb6ca17e49e4997a49f95eed9275.jpg"),images:[de("e9b5bf_bbeafb6ca17e49e4997a49f95eed9275.jpg"),de("e9b5bf_981ab65cc52e4dbe83bf43f5ed7533b0~mv2.jpg"),de("e9b5bf_a9549cf47723412d9c3f5e66795d1cb7~mv2.jpg"),de("e9b5bf_4dc2ff276a9d4ffd95b30484c8e28017~mv2.jpg"),de("e9b5bf_8aa4c583075b40d5b2078788fe9fe5f1~mv2_d_3672_2448_s_4_2.jpg"),de("e9b5bf_7d4998c9d95d4f0e9e1998caf3190ed2~mv2.jpg"),de("e9b5bf_c3781b2437624058a65956c2fc91e968~mv2_d_4320_2880_s_4_2.jpg"),de("e9b5bf_25ca5fa9cdc34ec1ba485d01652b818a~mv2_d_2000_1334_s_2.jpg"),de("e9b5bf_bcc818f85230434a8b8c5ccb25d60b44~mv2.jpg")],text:`Mayur Indian Kitchen, MIK-2 (Minsheng East Road)
234
235Mayur Indian Kitchen's second branch is located in the heart of Taipei's business commercial Center at the intersection of Fuxing North Road and Minsheng East Road. It is next to Taipei's Sherwood & Mandarin oriental hotel and nearby Songshan Airport makes MIK-2 are favorite among many travelers.The elegant dining environment in the store is full of rich Indian flair, catering to the diversity of modern Indian cuisine.
236
237It serves authentic Indian food, like Thalis (set menus) breads, curries and tandoori dishes of halal meat from 14 different cuisines of India, with an additional expertise in South Indian, halal & pure vegetarian food.
238
239MIK-2 serves gourmet food with a higher price as compare to other Mayur Indian Kitchens or Indian restaurants in Taipei, Taiwan.
240
241It also boasts well-equipped bar with many varieties of beer, whiskey and wine.We also offer Mocktail (a non-alcoholic special cocktail) for non-drinking guests.
242
243Address: No. 103, Section 3, Minsheng East Road, Songshan District, Taipei City
244Google Map
245
246Opening hours: 11:30 - 15:00/17:00 - 22:00 Open daily
247Capacity : 55 - 65 people
248Price : exquisite price NT 500 - 700/person (with cash and credit card services)
249Cuisine style: exquisite traditional & modern North - South Indian cuisine
250There is a paid parking nearby
251Transportation : 5 minutes walk to Zhongshan jr. high school MRT Station on brown line.
252
253Google reviews about MIK-2 Minsheng
254Facebook reviews of guest
255Picture gallery of MIK-2
256
257#MIK2 #MayurIndianKitchen #BestIndianfood`}),ta({id:"legacy-branch-mik-7-zhubei-2018",path:"/single-post/2018/09/11/馬友友印度廚房-竹北店mik-7-zhubei",title:"馬友友印度廚房-竹北店,MIK-7 Zhubei",date:"2018-09-11",image:de("e9b5bf_ac0a689bc744471fb2b66fee99454396~mv2.jpg"),images:["ac0a689bc744471fb2b66fee99454396","e3299380dfc647a3926aa0b9f714fef0","381b228a465d4b65b2261328096e6cb5","062e9035a1ec43ca88fc2b67a1f99583","12ec2e11eb9145328598a74122c3763e","ec60b01a021d4bcdbb022a036e6fcb81","337c5ba852fe47b7920c23a459b14a8e","dab11489f5e74d1286b1254e74060afc","f79d76fdf3c943ef9b91ebc9c8fa3234","a73c0d4fdd8540e79bf60ba7a2ee3987","32b928b8b1f049fc8f3a6a290a85158e","58daaa1d0fea48d68ab8fb74d9d940d1","3085a26a65db4420a61e1366855de961","75553935186b43e68b1acb6539e65191","fd535009ad7b4aa38465816016fe601e","a7785afd5536441eab89b1f41998b97c","0cff6d89505448b6b14c31a7271392c2","dd68508912384eb7baa1408ce66712da","f3d5712cf8b043f8aa20a730fac161e4","a9f8d99ab0374d0abc15f89844c60961","627180fd210340d68b7b646c01d37631"].map(t=>de(`e9b5bf_${t}~mv2.jpg`)),text:`Taipei, Taiwan's famous chain of Indian restaurants, Mayur Indian kitchen, opened it's first branch in Zhubei, Hsinchu known as Mayur Indian kitchen restaurant and live shisha bar, MIK-7 in short as it's the seventh branch of MIK.
258
259It has delicious versatile menu which consists North and South Indian cuisine, whether it is spicy or not spicy, vegetarian and non vegetarian. If you are a foodie, the food here must not to be missed.
260
261MIK-7 offers a variety of dishes, Indian barbecue, business lunches and traditional Indian style Thalis, set menus etc. In addition, there are cocktails, drinks, shisha, live music performances and dances.The dining room is spacious and divided into upper and lower floors. The second floor provides private rooms perfect for family gatherings, bithday parties, caterings, smoking shisha or other activities.
262
263Soon MIK-7 is going to start it's catering and delivery service of Indian food in Zhubei, Hsinchu.
264
265Food Menu / Drink Menu
266
267Mayur Indian Kitchen (Zhubei, Hsinchu)
268(886) 03-5584666
269address:No. 412, Guangming First Road, Hsinchu County, Zhubei City
270Google Map
271
272Opening hours : Tuesday off
273Mon to thu: 11:30 - 14:30/17:00 - 23:00
274Fri to sun (holidays): 11:30 - 00:00
275Capacity : 100 people
276Price : Affordable price NT 250-600/person (with cash and credit card services)
277Transportation: Exit from Zhubei Station, 15 minutes walk, which is very close to Hsinchu County Government Cultural Affairs Bureau.
278
279Google reviews about MIK-7 Zhubei
280Facebook reviews of guest
281Picture gallery of MIK-7
282
283#IndianfoodinZhubei #latenightrestaurant #nightlife #shishabarzhubei`}),ta({id:"legacy-branch-mik-6-songjiang-2018",path:"/single-post/2018/05/08/馬友友印度廚房-松江店介紹mayur-indian-kitchenmik-6",title:"Mayur Indian Kitchen,MIK-6",date:"2018-05-10",keywords:["mayur indian kitchen","MIK-6","Indian restaurant Taipei"],image:de("e9b5bf_64f8810865254e19a7c51ad64cba9394~mv2_d_2000_1334_s_2.jpg"),images:["64f8810865254e19a7c51ad64cba9394~mv2_d_2000_1334_s_2.jpg","de3cbca3f4f54739b32db378d4e16af6~mv2_d_1912_1275_s_2.jpg","a744a1c592e84567bba358e24a303360~mv2_d_2000_1334_s_2.jpg","a0e5e935db61485da8109769e87fccbe~mv2_d_5472_3648_s_4_2.jpg","6cf25efd91fe4b0791e1845a39608150~mv2.jpg","9e2b860449cb4157b23e73560850b039~mv2_d_2000_1334_s_2.jpg","7de95f049d7e49b9bb300e6dde44e509~mv2.jpg","e7683d56ba9b4a65996482fb05da89f6~mv2_d_2000_1334_s_2.jpg","d677568006ee46e99fef673bdc4b1d11~mv2_d_2000_1334_s_2.jpg","c52364c163cd41fa9818877cb13eaf56~mv2.jpg","044372dd625c46aabb2afa0e3ee7463f~mv2.jpg","b6f67a90b7b8459fb368f7b767b6ad8d~mv2_d_2000_1334_s_2.jpg","6b0fa183cdc44224abce9f4c0d6fc06f~mv2_d_2000_1334_s_2.jpg","11b5e4e10ca64ea6aef1a9aa0dc56fc6~mv2.jpg","3d42c0bc9d144608910f39ab8ae87f7f~mv2.jpg"].map(t=>de(`e9b5bf_${t}`)),text:`飲酒勿開車未滿18歲者,禁止飲酒本場所不販賣酒予未滿18歲者。
284
285Mayur Indian Kitchen restaurant & live shisha bar, MIK-6 MENU
286
287地址:台北市松江路1-1號
288Google Map
289
290MIK'sutras Indian BBQ restaurant & live bar with International performances is the sixth branch of Mayur Indian Kitchen restaurant chain in Taipei. It is also the “First Indian Hookah Bar in Taipei”, which is located at the intersection of Songjiang Road and Ao Shui Road, near Gunaghua digital plaza and Mayur's Pure Vegetarian, Vegan Indian restauran (MIK-3) which are walkable distance of one minute only.
291
292MIK-6 offers Indian barbecue, shisha and performances in various cultures. The shisha and performances will begin after 8:30 in the evening. People under the age of 18 can't enter after 10pm. Here in MIK-6, we offer free live performance for our guests without any door ticket or extra charge.
293
294MIK-6 serves the North and South Indian food, beef and vegetarian food are all available and there are business lunch and dinner set to choose from.
295
296Address: 1-1 Songjiang Road, Taipei City
297Google Map
298Opening hours : 12:00 - 15:00/18:00 - 00:00
299Friday ~ Saturday 12:00 - 15:00/18:00 - 03:00
300Capacity : 50-60 people
301Price : Affordable price NT 250-600/person (with cash and credit card services)
302Transportation: Exit from Zhongxiao Xinsheng MRT Station, 6 minutes walk
303
304飲酒勿開車未滿18歲者,禁止飲酒本場所不販賣酒予未滿18歲者。
305
306#MIK6 #MAYURINDIANKITCHEN #IndianrestaurantTaipei #印度料理
307
308Google reviews about MIK-6 Songjiang
309Facebook reviews of guest
310Picture gallery of MIK-6`}),ta({id:"legacy-branch-mik-6-welcome",path:"/single-post/welcome-to-馬友友印度廚房-mayur-indian-kitchen-6-mik-6",title:"🌟 Welcome to 馬友友印度廚房 Mayur Indian Kitchen-6 (MIK-6)!",date:"2025-04-29",image:de("e9b5bf_31bdc5308c7340e5a252eb5569c48965~mv2.jpg"),images:["31bdc5308c7340e5a252eb5569c48965","242b9e19fcef45e3b9f8df8c889ae1cf","749192f6ed4f42fcbb174879b1757dd4","220df1f8d4d045828e456c29bf5ffe9c","f5ac2bac16a643ae9eaa8135c32c776f","178eb5f3e9874917b4f99a8b56aba68f","6ed06104352f4c3599631485a676116c","7716c54ffd8d442c8e23c7e07c85b9bd"].map(t=>de(`e9b5bf_${t}~mv2.jpg`)),text:`🌟 Welcome to 馬友友印度廚房 Mayur Indian Kitchen-6 (MIK-6)!
311
312Step into a world where flavor, music, and relaxation come together in perfect harmony. 🎶🍽️✨ At MIK-6, we invite you to escape the ordinary and experience a delightful fusion of authentic Indian cuisine, vibrant live entertainment, and a cozy, welcoming atmosphere — right here in the heart of the city!
313
314🍢 Start Your Journey with Irresistible Starters
315
316Get ready to awaken your taste buds with our mouthwatering starters!
317
318Savor the smoky perfection of our Tandoori Chicken, indulge in the rich flavors of succulent Kebabs, and experience the melt-in-your-mouth tenderness of our Grilled Lamb Chops.
319
320Looking for something to pair with your drinks? Our Indian Cheese Platter is a must-try, bringing together the best textures and tastes — all prepared with love and authentic Indian spices. 💖
321
322🥦 A Paradise for Vegetarians and Vegans
323
324At MIK-6, we believe great food should be enjoyed by everyone!
325
326Vegetarians and vegans will be thrilled with our wide variety of options like Samosas, Veg Kebabs, Vegetable Rolls, Pakoras, and Fresh Veggie Sandwiches.
327
328Don't miss our signature Homemade Potato Wedges — crispy, golden, and utterly addictive! 🥔✨ There’s something for every palate, crafted carefully to suit all dietary needs without compromising on flavor.
329
330🎶 Groove to the Beat: Live Music and More!
331
332Music lovers, rejoice! At MIK-6, we turn up the vibe with live music, live bands, belly dance performances, and even open mic nights where our guests can showcase their talents! 🎤💃
333
334Feel the rhythm, enjoy the beats, and create joyful moments with friends while soaking in the lively yet elegant energy of our space.
335
336💨 Relax with Premium Shisha Flavors
337
338Unwind in style with our premium Shisha experience, featuring flavors imported from the Middle East, India, and beyond.
339
340From classic blends to exotic unique flavors, our Shisha lounge offers a luxurious escape for those looking to relax and savor something special. 🌬️🍇🍑
341
342🕯️ Cozy Ambiance — Your Perfect Chill-Out Spot
343
344Whether you’re catching up with old friends or making new ones, MIK-6 provides the perfect atmosphere for both.
345
346Our cozy and intimate setting is designed for conversations — not too loud, not too crowded — just the right vibe where you can talk, laugh, and chill. 🕯️✨ It’s your home away from home, with a warm and friendly crowd.
347
348🥂 Create Unforgettable Memories at MIK-6!
349
350Life’s too short for ordinary nights!
351
352Gather your friends, sip on delicious drinks, share amazing food, and make unforgettable memories that you'll cherish forever. 🥂🍹
353
354📍 Visit us at 馬友友印度廚房 Mayur Indian Kitchen-6 and discover your new favorite hangout spot!
355
356📅 Book your table now through Line: @miktaiwan, visit our website www.indianfoodtaiwan.com, or call us directly at 📞 02-25006186 for hassle-free reservations.
357
358youtube IG
359
360We can’t wait to welcome you to the MIK-6 family! 🌟`}),ta({id:"legacy-branch-mik-9-sanzhi",path:"/single-post/馬友友印度廚房-淺水灣三芝店-mayur-indian-kitchen-new-taipei-beach-restaurant-mik-9",title:"Mayur Indian kitchen new Taipei - beach restaurant MIK-9",date:"2020-12-13",image:de("e9b5bf_03d0cb06719c447d844b2f6478e82cb8~mv2.jpg"),images:["03d0cb06719c447d844b2f6478e82cb8","dd362235f8a7418d8733373f5fd7c14f","2657ed1a52bd44b198278c5ca9322730","9b8117bd387e465facfb9d1607628773","64fd5ec7f46649b597995d5d66958f2b","7c7fbfe6d8bd474c8972b0aa132b2ef9","7e1318e686ae4c6d8fc142f37ff68db2","902acd8efc0b42d99f3567b41f49f811","d991a8efc53e47208083bee9e52074bf"].map(t=>de(`e9b5bf_${t}~mv2.jpg`)),text:`電話Phone: (886) 02-26368851
361
362Feature: Beach restaurant, Indian store
363
364a la carte, set Items:
365
366Indian cuisine, veg/vegan cuisine, halal food, Drink (alcohol), Shisha
367
368Menu Facebook page
369
370Average Cheque: 250-600 (with cash and credit card services)
371
372Hours:
373
374Tue, Wed off
375
376Everyday Open 11:30~14:30/17:00~23:30
377
378Capacity: 60-80人 60-80 people inside the restaurant
379
380Address: (Google map)
381
382新北市三芝區北勢子12-8號
383No.12-8, Beishizi, Sanzhi Dist., New Taipei
384
385Nearby:
386Qianshui Bay, Houcuo Fishing port
387
388Train station:
3891.MRT (Tamsui Station)→Bus 821/860/863/867/867Shuttle (Houcuo)
3902.MRT (Hongshulin Station)→Bus821/882/879 (Houcuo)
3913.MRT (Hongshulin Station)→Danhai Light Rail(Danjin Beixin Station)→Bus821/860/879 (Houcuo)
3924.MRT (Zhuwei Station)→Bus821/879 (Houcuo)
393
394Location: Close to Civic Center
395Parking: paid parking
396
397Shisha is not cigarettes, Mainly water steam and fruit flavored.
398
399飲酒勿開車;未滿18歲者,禁止飲酒;本場所不販賣酒予未滿18歲者。
400
401#好吃 #delicious #美味 #推薦 #recommeneded #聚餐
402
403Google reviews about MIK-9 Sanzhi
404Facebook reviews of guest
405Picture gallery of MIK-9`}),ta({id:"legacy-branch-mik-8-halal-2019",path:"/single-post/2019/10/15/馬友友印度清真餐廳-mayur-indian-halal-kitchenmik-8-zhongxiao-erd",title:"Mayur Indian Halal Kitchen,MIK-8, Zhongxiao E.rd.",date:"2019-10-16",image:de("e9b5bf_efa97aa6d7bb432ca7c8c8f823d0e089~mv2_d_6016_4016_s_4_2.jpg"),images:["efa97aa6d7bb432ca7c8c8f823d0e089~mv2_d_6016_4016_s_4_2.jpg","16dcfdc3d78c40069501d039cf660247~mv2.png","8ada32c1cadf40b58043e3367890e3c5~mv2_d_5472_3648_s_4_2.jpg","f5eff904150e43d6ab17b91cd157094e~mv2.png","e2153842882f4a0bb2bf4bcf8dd074f0~mv2_d_6016_4016_s_4_2.jpg","7410e523c4cb43ffa58f79b72c56ab77~mv2.png","ce7c29dd0da243b5ad278e998c99d9dc~mv2_d_6016_4016_s_4_2.jpg","f808b4b00dd74b11b3bcba1fad0e96f5~mv2.jpg","a1365a0596b641688c1678554a0b5d66~mv2_d_5472_3648_s_4_2.jpg","20f2053997c5456ebcfb2344187bce46~mv2_d_6016_4016_s_4_2.jpg"].map(t=>de(`e9b5bf_${t}`)),text:`Open at 2019/07!
406
407Phone: (886) 02-27112067
408
409Feature: Indian halal cuisine, Indian store
410
411a la carte, set Items:
412Mediterranean cuisine, Halal cuisine, Drink (alcohol), Shisha
413
414Menu Facebook page
415Ubereats Foodpanda
416
417Average Cheque: 250-600 (with cash and credit card services)
418
419Hours:
420Everyday Open 11:30~14:30/17:00~23:30
421
422Capacity: 40-50 people inside the restaurant
423
424Address: (Google map)
425台北市大安區忠孝東路四段146巷1號2樓
4262F, No.1, Ln146, Sec4 Zhongxiao E Rd, Da’an Dist, Taipei City
427
428Nearby:
429Mingyao Mall, Eslite book store, KTV Cashbox Party World KTV
430
431Train station:
432Zhongxiao Dunhua MRT Station, 1 min walk
433
434Location: intersection of Zhongxiao E Rd and Fuxing S. Rd
435Parking: paid parking
436
437Shisha is not cigarettes, Mainly water steam and fruit flavored.
438
439飲酒勿開車;未滿18歲者,禁止飲酒;本場所不販賣酒予未滿18歲者。
440
441#好吃 #delicious #美味 #推薦 #recommeneded #聚餐
442
443Google reviews about MIK-8 Zhongxiao
444Facebook reviews of guest
445Picture gallery of MIK-8`}),ta({id:"legacy-branch-mik-10-taichung",path:"/single-post/馬友友國際廚房-台中店-mayur-international-kitchen-mik-10-taichung",title:"2021 newest Indian restaurant Taichung is Mayur Indian kitchen Taichung (MIK-10) 馬友友印度廚房台中店",date:"2020-12-13",keywords:["indian restaurant taichung","indian restaurant in taichung","mayur indian kitchen"],image:de("e9b5bf_7b91bdc660d44f8fb03e0d330622a4c1~mv2.jpg"),images:["7b91bdc660d44f8fb03e0d330622a4c1","1f4bcc9453d548adbfe5a385ce000b66","0758a374a70446f2b100e35390e2e864","880770d140684dae9f424a9d542e64b4","b9bf3e3a814b4cc8b3f8a880c1a3b0eb","b0b75ab73ca04460ad023fb9230fc7a8","4fde80ce50624f7faa2e61c38b2ceb5e"].map(t=>de(`e9b5bf_${t}~mv2.jpg`)),text:`MIK-10 Indian restaurant Taichung
446Fine dine Indian cuisine Taichung
447
448The latest addition to the Taichung's Indian culinary world is Mayur Indian kitchen in Taichung. It is a hot spot for those who loves curry, breads, Tandoori, Vegetarian, Vegan Indian cuisine. It is opened on the first and second floor of Hotel Kuei in Taichung.
449
450電話Phone: (886)04-23175822
451
452特色Feature: 台中旗艦店、食品香料店 Taichung flagship store, Indian store, Only Indian Shisha bar in taichung
453
454This is Mayur's tenth branch of the Indian restaurant chain rest nine branches are in Taipei, New taipei and Hsinchu respectively.
455
456It also has Indian store where anyone could get fresh spices, atta(wheat flour), pulses, Indian basmati rice, Amul ghee etc.
457
458The lavish Indian restaurant offers free live performances every Friday to Sunday (weekend and holidays) on its second floor and Shisha/hookah (after 8pm) to those who wants to enjoy the Indian delicacy along with smoking some nice flavored Shisha. A nice lavish bar is a plus to the Taichung's night life as it opens till midnight on the weekends.
459
460Check the timings of the Indian shisha bar.
461
462單點、套餐品項 a la carte, set Items:
463印度料理、清真料理、酒水、水煙
464Indian cuisine, Halal cuisine, Drink (alcohol), Shisha
465
466The newest Indian restaurant in Taichung offers wide range of Indian cuisine. We have almost everything for your palette start from vegan, vegetarian dishes to certified halal cuisine on the menu. Those who loves tandooris, Biryanis, Naan bread, Samosa, Chicten tikka masala, Lamb specialities this is a perfect spot for you to try out in taichung!
467
468Restaurant also offers delivery to nearby location in Taichung as well as paid delivery of Indian food by uber eats. Anyone could enjoy the mocktails or the cocktails from full fledge bar of the International drink menu at the restaurant.
469
470菜單Menu 臉書Facebook page 優食Ubereats
471
472價位Average Cheque: 250-600 (提供現金和刷卡服務 with cash and credit card services)
473
474The Indian cuisine in Taichung might be expensive but Mayur Indian kitchen menu is easily affordable, Lunch start from NTD 150 only and the set (Indian thali) are best and cheap whoever wants to try traditional indian cuisine altogether. For alacarte with a drink the maximum average cheque goes to NTD 500 to 600 only!
475
476營業時間Hours:
477每天營業 Everyday Open except Tuesday 11:30~14:30/17:00~22:00
47817:00~23:30 (weekends and holiday only)
479
480This is the only Indian restaurant in Taichung which is open until midnight on weekends, so you can stay until late if you are having get together with friends and families, while enjoying dinner and drinks.
481
482可容納人數Capacity: 餐廳內約60-80人 60-80 people inside the restaurant
483
484The Indian restaurant has two levels first is ground floor with live kitchen for business lunch where you can have quick meal and rush back to your work. Capacity of 20 to 25 people can sit altogether!
485
486On the second level of restaurant (it has lift and stairs to go up) the Mayur Indian kitchen Taichung has two seperate portions for different clientele.
487
488Quiet and cozy : If you do not want to see live performance or want to chut chat with your family and friends, you could enjoy the food here without any disturbance.
489
490Lavish Indian bar with restaurant: This part is widest and biggest part of the restaurant where music and live performances will start feeling you the 'high' vibes of the weekend.The lunch and dinner is available anytime at Mayur Indian kitchen but Shisha smoking allowed only after 8 pm in a seperate aread away from kids and families.
491
492The restaurant also offers a private room for families to dine, line us: @miktaiwan to know more about it.
493
494地址Address: (谷哥地圖Google map)
495台中市西屯區惠來路三段188號
496No. 188, Sec. 3, Huilai Rd., Taichung
497
498週邊Nearby:
499桂之旅 HOTEL KUEI
500逢甲夜市 Fengjia Night Market
501新光三越 SHINKONG MITSUKOSHI
502黎明溝支線 Liming Ditch
503
504車站Train station:
505公車Bus 25, 35, 37, 300, 303, 304, 307, 308
506
507地裡位置Location: 惠來路西屯路口 intersection of Huilai Rd., and Xitun Rd.
508停車Parking: 收費停車場 paid parking
509
510水煙非香菸,主要為水蒸霧氣及水果口味。
511Shisha is not cigarettes, Mainly water steam and fruit flavored.
512
513飲酒勿開車;未滿18歲者,禁止飲酒;本場所不販賣酒予未滿18歲者。
514
515#好吃 #delicious #美味 #推薦 #recommeneded #聚餐
516
517Google reviews about MIK-10 Taichung
518Facebook reviews of guest
519Picture gallery of MIK-10`}),ta({id:"legacy-branch-mik-11-taoyuan",path:"/single-post/craving-for-indian-food-in-taoyuan-welcome-to-new-mayur-indian-kitchen-opened-june-2022",title:"Craving for Indian food in Taoyuan, Welcome to new Mayur Indian Kitchen opened June 2022",date:"2022-09-11",image:de("e9b5bf_3efd6bc68bd14b5bb5ab99f6d416ff2d~mv2.jpg"),images:["3efd6bc68bd14b5bb5ab99f6d416ff2d","b3a9e053b76e4621ad102169e38804bf"].map(t=>de(`e9b5bf_${t}~mv2.jpg`)),text:`One of our best pal Desi spices, a famous Indian restaurant in Jhongli, accomodate Mayur Indian Kitchen to enter into the Indian culinary scene of Taoyuan.
520
521Mayur Indian Kitchen MIK-11 Taoyuan
522馬友友印度廚房 - 桃園店
523
524Mayur Indian Kitchen's eleventh branch, in short MIK-11 in Taoyuan is an Indian restaurant with bar which serves À la carte food by menu. The restaurant is situated on Jhongheng road corner and has huge sitting capacity on 1f to 2f with a rooftop on third floor.
525
526Google Location: No. 953, Zhongzheng Rd, Taoyuan District, Taoyuan City
527桃園市桃園區中正路953號
528Phone: (+886) 03-355 5228
529
530Hours:
531平日 Weekday 11:00~23:00 (週二休Tuesday close)
532週末與假日 Weekends & Holidays
53311:30~00:00
534週一至週四 MON-THU
53514:30~17:00 休息 Break time
536
537Maximum Capacity : 40 (1f), 60 (2f) 80 (3f) (kids friendly)
538Average Price : Economical price range, Nt$350 - 500/person
539all credit card accepted, line, paypal, online payment accepted.
540Type of Cuisine : Home style North & South Veg / Non Veg. Indian, Indo - Chinese Spicy, Tandoori Bbq, Muslim Friendly Halalm cuisine.
541Paid Parking available very nearby.
542Transportation: Car parking opposite to the restaurant, MRT, bus, bicycle access! located in the center on big main road corner.
543
544The restaurant is located into the heart of the Taoyuan city just a minute walk from the newest MRT station (still in making) and close to Taoyuan city hall. The Indian restaurant offers wide range of North & West Indian cuisine, mainly from Punjab, Delhi, Gujarat, Mumbai & some dishes from Kolkata. It has vegan salads and street food from India too! Not only the cuisine but it has a small grocery store offering various whole spices, powder spices, many famous and known Indian brands like Amul, Haldirams etc.
545
546To read about mik-11 guest experience: click below links:
547Google reviews about MIK-11 Taoyuan
548Facebook reviews of guest
549Picture gallery of MIK-11`}),ta({id:"legacy-branch-mik-hi5-dazhi-2016",path:"/single-post/2016/09/14/馬友友印度廚房新開幕大直店-mayur-indian-kitchen-mik-hi5-dazhi",title:"Mayur Indian Kitchen, MIK- hi5 Dazhi",date:"2016-09-14",image:de("e9b5bf_71ed9c551c434c70af68cdd514bb40a2~mv2_d_2000_1334_s_2.jpg"),images:["71ed9c551c434c70af68cdd514bb40a2~mv2_d_2000_1334_s_2.jpg","ba992f9a3cde4ce0be0b5d6d8f6afa4e~mv2_d_2000_1334_s_2.jpg","bcd4ae63bf33487296a4633cf7b8a4aa~mv2_d_2000_1334_s_2.jpg","9dbe931950424cb2ba5c75621130eb01~mv2.jpg","0b7406283af045a18a82dabda9ccff92~mv2.jpg"].map(t=>de(`e9b5bf_${t}`)),text:`Mayur Indian Kitchen's 5th branch restaurant in Dazhi, Taipei Taiwan.
550
551The opening of MIK-hi5 Indian restaurant in Dazhi Taipei, Taiwan near to Miramar shopping mall, Taipei's Marriott hotel is one of the most exclusive and royal treat of Indian cuisine as per many bloggers and newspapers in Taiwan.
552
553Chef Mayur is quite famous in Taiwan which has just opened it's 5th branch in Taipei named as Mayur Indian Kitchen, MIK-hi5.
554
555Here you can try exclusive, Vegan, pure veg, Halal meat south and North Indian cuisine. Mayur is quite popular for it's own style of home Indian cooking.Many expats, Taiwanese and Indian visitors recommend
556
557Mayur's Indian kitchen on Internet and Google as well as traveller's favorite website 'TripAdvisor'.
558
559The MIK-hi5 Indian restaurant is on Beian rd., which is very close to MRT Dazhi exit 1. For maps click here!
560
561地址:台北市北安路630巷8號
562Google Map
563
564營業時間 :(週一公休)
565平日 中午 12:00 - 15:00/17:00 - 21:30
566週末/國定假日 12:00 - 22:00 全天營業
567可容納人數 : 店內約100人
568價位 : 中等價位NT 350-500/人(提供現金和刷卡服務)
569交通:5-10分鐘步行即可到達 大直捷運站
570
571#MayurIndianKitchenDazhi #MIKhi5 #IndianrestaurantTaipei #馬友友印度廚房大直店
572
573Google reviews about MIK-5 Dazhi
574Facebook reviews of guest
575Picture gallery of MIK-5
576
577Indian restaurant
578Mayur Indian Kitchen`})],cT="/single-post/indian-diabetic-meals-healthy-choices-for-managing-blood-sugar",uT="/single-post/2016/08/17/馬友友印度廚房-通化街-mayurs-indian-buffet-restaurant-taipei-taiwan",dT="/event-details/beach-holi-color-party-2022-qian-shui-wan-hai-tan-hao-li-se-cai-pai-dui-1",hT=[{slug:"indian-diabetic-meals-legacy",legacyPath:cT,title:"Indian Diabetic Meals: Healthy Choices for Managing Blood Sugar",seoTitle:"Indian Diabetic Meals: Healthy Choices for Managing Blood Sugar",seoDesc:"Practical Indian diabetic meals, low-GI ingredients, balanced meal ideas and cooking tips for managing blood sugar without giving up flavour.",category:"Food",tags:["Indian diabetic meals","Indian food for diabetics","healthy Indian food"],keywords:["Indian diabetic meals","Indian food for diabetics","healthy Indian meals","low glycemic Indian food"],publishDate:"2026-08-01",readTime:"7 min read",author:"Mayur Indian Kitchen",language:"en",image:"/images/blog/indian-diabetic-meals/thali.jpg",imageAlt:"Eye-level view of a traditional Indian thali with various healthy dishes",excerpt:"Indian food can be both satisfying and nutritious when meals balance carbohydrates, proteins and fats and favour low-glycemic ingredients.",content:[{type:"p",text:"Managing diabetes requires careful attention to diet, and Indian cuisine offers a variety of flavorful options that can fit well into a diabetic-friendly meal plan. With its rich use of spices, vegetables, and legumes, Indian food can be both satisfying and nutritious. This article explores practical and delicious Indian diabetic meals that help maintain blood sugar levels without compromising on taste."},{type:"h2",text:"Understanding Indian Diabetic Meals"},{type:"p",text:"Indian diabetic meals focus on balancing carbohydrates, proteins, and fats while emphasizing foods with a low glycemic index (GI). The glycemic index measures how quickly a food raises blood sugar levels. Foods with a low GI release glucose slowly, helping to keep blood sugar stable."},{type:"h3",text:"Key Components of Indian Diabetic Meals"},{type:"ul",items:["Whole grains: Brown rice, whole wheat, millet (bajra), and barley are preferred over refined grains.","Legumes and pulses: Lentils, chickpeas, and beans provide protein and fiber.","Vegetables: Non-starchy vegetables like spinach, cauliflower, and okra are staples.","Healthy fats: Use of mustard oil, olive oil, or ghee in moderation.","Spices: Turmeric, cinnamon, fenugreek, and ginger have benef
578icial effects on blood sugar."]},{type:"p",text:"By combining these ingredients thoughtfully, Indian diabetic meals can be both nutritious and enjoyable."},{type:"image",src:"/images/blog/indian-diabetic-meals/thali.jpg",alt:"Eye-level view of a traditional Indian thali with various healthy dishes",caption:"Indian diabetic meal thali with balanced portions"},{type:"h2",text:"Benefits of Including Indian Diabetic Meals in Your Diet"},{type:"p",text:"Indian cuisine naturally incorporates many ingredients that support blood sugar control. High-fiber foods slow digestion and glucose absorption; spices such as turmeric and cinnamon are rich in antioxidants; and traditional meals often combine carbohydrates, protein and fats in balanced portions."},{type:"p",text:"For example, a meal with whole wheat roti, dal (lentil soup), mixed vegetable sabzi, and a small portion of brown rice provides a balanced mix of nutrients. This combination helps prevent blood sugar spikes and keeps you full longer."},{type:"h2",text:"What Indian Meal Is Best for Diabetics?"},{type:"p",text:"Choosing the right Indian meal involves selecting dishes with low GI ingredients and minimal added sugars or unhealthy fats."},{type:"h3",text:"Breakfast Ideas"},{type:"ul",items:["Vegetable upma made with semolina and plenty of vegetables.","Moong dal chilla (lentil pancakes) served with mint chutney.","Oats porridge with nuts and a pinch of cinnamon."]},{type:"h3",text:"Lunch and Dinner Options"},{type:"ul",items:["Brown rice pulao with mixed vegetables and a side of raita.","Whole wheat roti with palak paneer.","Chickpea curry (chole) with a small portion of millet or barley.","Mixed vegetable sambar with a small serving of idli."]}
578,{type:"h3",text:"Snacks and Sides"},{type:"ul",items:["Roasted chickpeas or peanuts.","Fresh vegetable salad with lemon and chaat masala.","Buttermilk (chaas) with roasted cumin."]},{type:"p",text:"Avoid deep-fried snacks, sweets, and dishes with heavy cream or sugar syrups. Instead, focus on fresh, home-cooked meals with natural ingredients."},{type:"image",src:"/images/blog/indian-diabetic-meals/sambar.png",alt:"Close-up of a bowl of mixed vegetable sambar with lentils",caption:"Healthy Indian lentil and vegetable sambar"},{type:"h2",text:"Tips for Preparing Indian Food for Diabetics"},{type:"ul",items:["Use whole grains instead of refined flour or white rice.","Limit oil usage to 1–2 teaspoons per serving; prefer heart-healthy oils.","Incorporate plenty of vegetables to increase fiber and nutrients.","Avoid added sugars in chutneys and desserts; use natural sweeteners sparingly.","Cook with spices known to help regulate blood sugar, such as fenugreek and cinnamon.","Control portion sizes to avoid overeating carbohydrates."]},{type:"p",text:"Meal prepping can help maintain consistency. For example, cooking a large batch of dal or sambar and pairing it with different whole grain options throughout the week saves time and ensures healthy choices."},{type:"h2",text:"Incorporating Indian Food for Diabetics Into Your Lifestyle"},{type:"ul",items:["Plan meals ahead to avoid last-minute unhealthy choices.","Experiment with recipes to find diabetic-friendly versions of your favorite dishes.","Eat smaller, frequent meals to maintain steady blood sugar.","Stay hydrated with water, herbal teas, or buttermilk.","Consult a dietitian for personalized advice tailored to your health needs."]},{type:"p",text:"By making these adjustments, you can enjoy the rich flavors of Indian cuisine while managing diabetes effectively."},{type:"h2",text:"Embracing a Healthy Indian Food Journey"},{type:"p",text:"Adopting Indian diabetic meals is not just about restriction but about discovering a variety of wholesome, flavorful foods that support your health. With the right ingredients and cooking methods, Indian food can be a powerful ally in diabetes management. Enjoy the vibrant spices, fresh vegetables, and nutritious grains that make Indian cuisine unique and beneficial."},{type:"p",text:"Remember, the key is balance and moderation. By choosing wisely and preparing meals thoughtfully, you can savor delicious Indian dishes that nourish your body and help keep your blood sugar in check."}]},{slug:"tonghua-indian-buffet-legacy",legacyPath:uT,title:"馬友友印度廚房--通化街,印度料理,咖哩吃到飽 Mayur's Indian buffet restaurant Taipei, Taiwan",seoTitle:"馬友友印度廚房通化街|Mayur's Indian Buffet Restaurant Taipei",seoDesc:"Historic bilingual article about Mayur Indian Kitchen MIK-4ever, the Tonghua Street Indian buffet restaurant in Taipei.",category:"Story",tags:["Indian buffet restaurant Taipei","Indian buffet Taiwan","印度料理咖哩吃到飽"],keywords:["Indian buffet restaurant Taipei","Indian buffet Taiwan","印度料理咖哩吃到飽","通化街印度料理"],publishDate:"2016-08-17",readTime:"5 min read",author:"Mayur Indian Kitchen",language:"zh-TW",image:"/images/blog/tonghua-buffet/restaurant.jpg",imageAlt:"Indian buffet restaurant at Tonghua Street Taipei",excerpt:"Historic bilingual information about Mayur Indian Kitchen MIK-4ever, formerly an Indian buffet restaurant near Tonghua Night Market in Taipei.",content:[{type:"image",src:"/images/blog/tonghua-buffet/restaurant.jpg",alt:"Indian buffet restaurant at Tonghua Street Taipei"},{type:"image",src:"/images/blog/tonghua-buffet/decoration.jpg",alt:"Indian decoration of Mayur's Indian buffet restaurant"},{type:"image",src:"/images/blog/tonghua-buffet/interior.jpg",alt:"Interior of the historic Mayur Indian buffet restaurant"},{type:"image",src:"/images/blog/tonghua-buffet/poster.jpg",alt:"Historic Mayur Indian Kitchen Tonghua Street restaurant poster"},{type:"callout",text:"Historical archive: this article preserves the original 2016 restaurant information. The Tonghua Street location and the offers, prices, hours and telephone details below are not presented as current."},{type:"legacyText",text:`印度料理,咖哩吃到飽‧馬友友印度廚房通化店 (Mayur Indian Kitchen MIK-4ever), 台北 Taipei, Taiwan.
579
580Mayur Indian Kitchen, MIK-4ever is the first Indian buffet restaurant of Mayur’s in Taipei, Taiwan.
581
582Mayur has total 8 branches in Taiwan. The most recent branch is in Hsinchu, Taipei known as MIK-Zhubei Indian restaurant which has sitting capacity of more then 100 people. The biggest elegant Indian restaurant in all of Taiwan.
583
584MIK-4ever is an Indian buffet restaurant which serves all kind of Veg/Vegan, Non-veg, North & South Indian cuisine varies on every Friday dinner, Weekends or holidays (all day dining).
585
586This location of Mayur’s are closed on Monday and Tuesday (exception of holidays).
587
588On Wednesday, Thursday and Friday’s lunch anyone could enjoy the Indian Thali set menu at MIK-4ever Indian restaurant.`},{type:"h2",text:"2016 年原始分店資訊 / Original branch information"},{type:"legacyText",text:`目前馬友友印度廚房台北各店位置如下:
589
590信義店 MIK-1:台北市信義區基隆路一段350號1樓之5(近君悅酒店)02-27200011。
591民生店 MIK-2:台北市松山區民生東路三段103號(近西華飯店)02-27155277。
592新生店 MIK-3:台北市中山區新生北路一段38號(近光華商場)02-25431817。
593通化店 MIK-4:台北市信義區通化街171巷34號(近通化夜市)02-27321687。
594大直店 MIK-5:台北市北安路630巷8號 02-25330698。
595松江店 MIK-6:台北市松江路1-1號 02-25006186。`},{type:"h2",text:"原始吃到飽內容 / Original buffet details"},{type:"legacyText",text:`吃到飽若有事先預約則價位每人449元+10%,非預約用餐則是499+10%,這回和幾個去過的朋友一起來去試試 Buffet 吃到飽。
596
597和 MIK1~3 不同的是 MIK4 有供應豬肉和牛肉,這天的葷食咖哩共4個口味,分別是牛、豬、雞、羊。
598
599馬友友印度餐廳 MIK-4ever 印度餐廳是台北市吃到飽的餐廳。MIK-4ever 我們會為您客製化蔬食/全素、葷食,南部與北部印度料理;每個禮拜五都有新的餐點。`},{type:"legacyText",text:`地址:台北市通化街171巷34號
600營業時間:(週一到週三公休)週四 12:00–15:00 / 17:00–22:00;週末 12:00–22:00
601可容納人數:店內約40–45人
602價位:NT$250–500/人(提供現金和刷卡服務)
603料理型態:南北葷素印度料理、印度坦都燒烤、印中式料理、清真料理
604交通:步行約5–10分鐘可達信義安和捷運站或六張犁捷運站。`}]},{slug:"beach-holi-2022-legacy",legacyPath:dT,title:"Beach Holi Color Party 2022 淺水灣海灘好麗色彩派對",seoTitle:"Beach Holi Color Party 2022 淺水灣海灘好麗色彩派對",seoDesc:"Archived bilingual details for the 2022 Beach Holi Color Party at Qianshuiwan Beach and Mayur International Kitchen MIK-9.",category:"Story",tags:["Beach Holi 2022","Holi Taiwan","淺水灣海灘好麗色彩派對"],keywords:["Beach Holi Taiwan","Holi Taipei","淺水灣海灘好麗色彩派對"],publishDate:"2022-04-03",readTime:"5 min read",author:"Mayur Indian Kitchen",language:"en",image:"/images/events/beach-holi-2022.png",imageAlt:"Beach Holi Color Party 2022 淺水灣海灘好麗色彩派對",excerpt:"Archived bilingual event information for the 2022 festival of spring, love and colours at Qianshuiwan Beach in New Taipei City.",content:[{type:"callout",text:"Archived event: registration and ticket sales have ended. The details below are retained for historical and SEO preservation and are not a current offer."},{type:"h2",text:"Time & Location"},{type:"legacyText",text:`Apr 03, 2022, 12:00 PM–5:00 PM GMT+8
605Qianshuiwan Beach (behind MIK-9 restaurant), 後厝里北勢子12-8號, Sanzhi District, New Taipei City, Taiwan.`},{type:"h2",text:"About the event"},{type:"legacyText",text:`*This event postpone to within a month because of weather & COVID-19 situation, sorry for any inconvenience.
606由於天氣與新冠疫情,此活動延遲至一個月內,不便之處敬請見諒。
607
608Beach HOLI Color Party 2022 海灘好麗色彩
609Date 日期: Sunday, 03rd April 2022
610Color Party 彩色派對時間: 12:00–17:00
611
612Bar open all day till night: non-stop drinks, food, dance and colour party!
613酒吧通宵營業,不間斷的飲料、美食、舞蹈、色彩派對!
614
615Venue: Mayur International Kitchen, MIK-9 Beach Bar & Restaurant, Beizhi, Sanzhi District.
616場地:馬友友國際廚房-海灘餐酒館,三芝區北勢子12-8號。`},{type:"h2",text:"Original ticket information"},{type:"legacyText",text:`NTD 500 per person, including lunch buffet (all you can eat) plus 2 beers or 2 cocktails. Kids 5 years and under were not allowed; ages 6–10 were half price.
617每人台幣500元,包含午餐吃到飽與兩杯啤酒或調酒。未開放五歲及以下兒童,六至十歲半價。
618
619Ticket sales have ended.`},{type:"h2",text:"A Festival of Spring, Love and Colours"},{type:"legacyText",text:`Holi, an ancient Indian springtime festival, may very well be the most popular Indian festival around the world. The playful throwing of colours is a way to celebrate the end of winter and the blossoming of flowers in spring. It also signifies forgiveness and new starts with cheers. It is a carnival of the new seasons, love, and colours.
620
621好麗色彩節,這個悠久的春日慶典,可能是在世界各地最受歡迎的印度傳統慶典了。人們互相玩鬧扔擲色彩,象徵春日百花復甦綻放,也代表人與人之間放下過往,在愉悅的氣氛中彼此祝福有全新開始。
622
623Greet new friends or party with loved ones—come experience the carnival of joy and hues, enjoy merrymaking without restraint, and just have fun!
624不管你想體驗與新朋友盡情狂歡,或想與親朋好友來場色彩派對,都歡迎一同體驗這場歡樂色彩盛會。`},{type:"h2",text:"Original safety disclaimer"},{type:"legacyText",text:`On the grounds that coloured powders are no longer permitted in Taiwan, the event stated that it would not use coloured powders. It planned to use organic, non-flammable, non-toxic, water-based paints that wash off with water.
625
626免責聲明:活動原始說明表示,因台灣不再允許使用彩粉,活動不使用彩色粉末,而使用有機、不易燃、無毒且可用水清洗的水性塗料。`}]}],ha=t=>`https://static.wixstatic.com/media/${t}`,pT=[{slug:"taiwan-only-holi-festival-world-legacy",legacyPath:"/single-post/台灣舉辦世界上唯一的好麗節-taiwan-holds-only-holi-festival-in-world",title:"台灣舉辦世界上唯一的好麗節 Taiwan Holds Only Holi Festival in World",seoTitle:"Taiwan Holds a Unique Holi Festival|Mayur Indian Kitchen",seoDesc:"Discover how Taiwan celebrates India’s Holi festival with colour, Indian food, music, dance and a welcoming international community.",category:"Story",publishDate:"2020-06-21",dateModified:"2026-08-20",readTime:"4 min read",author:"Mayur Indian Kitchen",image:"/images/mik9-beachside.webp",imageAlt:"Holi colour festival organised by Mayur Indian Kitchen in Taiwan",excerpt:"A bilingual record of Mayur Indian Kitchen’s Holi celebrations in Taiwan, bringing Indian food, colour, music and friendship together.",tags:["Holi Taiwan","Holi Festival Taipei","Indian festival Taiwan"],content:[{type:"callout",text:"This is a historical festival article. Dates, venues and registration details from the original Wix page are no longer current; please check the Experiences page for upcoming events."},{type:"h2",text:"Holi Festival in Taiwan 台灣好麗節"},{type:"p",text:"Holi is India’s joyful festival of colours, welcoming a new season and celebrating friendship, hope and the victory of good over evil. Mayur Indian Kitchen brought this tradition to Taiwan through Indian food, music, dance and an open gathering for Taiwanese, Indian and international friends."},{type:"p",text:"好麗節以繽紛色彩迎接新季節,象徵正義戰勝邪惡。馬友友印度廚房透過印度料理、音樂、舞蹈與社群活動,讓台灣與世界各地的朋友一同體驗印度文化。"},{type:"h2",text:"Colour, food and community"},{type:"ul",items:["Organic, non-toxic and washable colours","Vegetarian and non-vegetarian Indian food","Indian music and dancing","A family-friendly international gathering"]},{type:"p",text:"The original celebrations were created as community events rather than ordinary restaurant promotions. Guests shared a meal, played with colour and met new friends while learning why Holi remains one of India’s most loved festivals."},{type:"rich",parts:[{text:"See "},{text:"current Mayur Indian Kitchen experiences",href:"/experiences"},{text:" for confirmed dates and venues."}]}]},{slug:"discovering-authentic-indian-cuisine-taipei-exact",legacyPath:"/single-post/discovering-authentic-indian-cuisine-in-taipei",t
626itle:"Discovering Authentic Indian Cuisine in Taipei",seoTitle:"Discovering Authentic Indian Cuisine in Taipei",seoDesc:"Explore authentic Indian cuisine in Taipei, from aromatic curries and tandoori dishes to biryani, vegetarian food and traditional Indian hospitality.",category:"Guide",publishDate:"2026-01-14",dateModified:"2026-08-20",readTime:"4 min read",author:"Mayur Indian Kitchen",image:"/images/food-thali-platter.webp",imageAlt:"Authentic Indian thali and curries in Taipei",excerpt:"A guide to the spices, dishes and dining traditions that define authentic Indian cuisine in Taipei.",tags:["authentic Indian cuisine Taipei","Indian restaurant Taipei","Indian food Taiwan"],content:[{type:"p",text:"Taipei is known for its vibrant food culture, and authentic Indian cuisine stands out for its layered spices, varied regional dishes and warm hospitality. Exploring Indian food in Taipei is a journey through North Indian tandoori cooking, South Indian favourites, fragrant rice dishes and home-style curries."},{type:"h2",text:"What makes Indian food authentic?"},{type:"p",text:"Traditional recipes use spices such as cumin, coriander, turmeric and garam masala with fresh ingredients and careful cooking. The result is flavourful rather than simply hot, with vegetarian, vegan, meat and halal-friendly choices available across the cuisine."},{type:"h2",text:"Dishes worth discovering in Taipei"},{type:"ul",items:["Butter chicken and slow-cooked curries","Biryani made with fragrant basmati rice","Tandoori chicken and paneer tikka","Samosa, dal and chana masala","Naan, roti, paratha and South Indian dosa","A traditional thali with several small dishes"]},{type:"h2",text:"Enjoying the experience"},{type:"p",text:"Ask about spice levels, share several dishes with the table and pair richer curries with bread, rice, raita or lassi. This makes it easier to experience the depth and variety of Indian cooking in one meal."},{type:"rich",parts:[{text:"Browse "},{text:"Mayur Indian Kitchen locations",href:"/branches"},{text:" for current menus, addresses and reservations."}]}]},{slug:"mik-3-vegetarian-2018-exact",legacyPath:"/single-post/2018/05/09/馬友友印度廚房-素食餐廳-mayur-indian-kitchen-vegetarian-restaurant-mik-3",title:"馬友友印度廚房-素食餐廳 Mayur Indian Kitchen Vegetarian Restaurant MIK-3",seoTitle:"MIK-3 Mayur Indian Kitchen Vegetarian Restaurant Taipei",seoDesc:"Historical bilingual introduction to Mayur Indian Kitchen MIK-3, an Indian vegetarian and vegan restaurant in Taipei.",category:"Story",publishDate:"2018-05-09",dateModified:"2026-08-20",readTime:"3 min read",author:"Mayur Indian Kitchen",image:"/images/blog/mik3-vegetarian-legacy/hero.jpg",imageAlt:"Mayur Indian Kitchen MIK-3 vegetarian restaurant Taipei",excerpt:"The original bilingual introduction to MIK-3, Mayur Indian Kitchen’s vegetarian restaurant in Taipei.",tags:["MIK-3","Indian vegetarian restaurant Taipei","vegan Indian food Taipei"],content:[{type:"p",text:"馬友友印度廚房 MIK-3 濟南店位於新生南路與濟南路交會處,鄰近光華商場及忠孝新生捷運站。2018年整修後,分店以印度素食與蔬食料理為主。"},{type:"image",src:"/images/blog/mik3-vegetarian-legacy/interior.jpg",alt:"MIK-3 Indian vegetarian restaurant interior",caption:"馬友友印度廚房 MIK-3"},{type:"p",text:"The restaurant was created for vegetarian, vegan and Jain diners, with South Indian home-style vegetarian food, North Indian dishes and traditional banana-leaf meals. The historical article stated that no meat or alcohol was served at this location."},{type:"h2",text:"Original location information 原始分店資訊"},{type:"ul",items:["Address 地址:台北市中正區濟南路二段64之2號","Cuisine 料理:South and North Indian vegetarian food 南北印度蔬食料理","Transport 交通:忠孝新生捷運站","Nearby 附近:光華商場、台北科技大學"]},{type:"callout",text:"Hours, prices and service details on the 2018 Wix article may have changed. Use the current branch page before visiting."},{type:"rich",parts:[{text:"View "},{text:"current MIK-3 details",href:"/mik-locations/mayur-indian-kitchen-mik-3-(vegetarian-restaurant)-馬友友印度廚房--蔬食餐廳"},{text:"."}]}]}],fT=[{slug:"why-choose-mayur-next-dining-zh-exact",legacyPath:"/zh/single-post/為何選擇馬友友印度廚房作為您的下一次用餐體驗?",title:"為何選擇馬友友印度廚房作為您的下一次用餐體驗?",seoTitle:"為何選擇馬友友印度廚房作為您的下一次用餐體驗?",seoDesc:"認識馬友友印度廚房的道地印度料理、多元飲食選擇、用餐體驗與台灣分店服務。",category:"Story",publishDate:"2025-12-01",dateModified:"2026-08-20",readTime:"閱讀約 3 分鐘",author:"馬友友印度廚房",language:"zh-TW",image:"/images/food-indian-feast-table.webp",imageAlt:"馬友友印度廚房道地印度料理與用餐體驗",excerpt:"從道地風味、多元菜色到印度式熱情款待,了解為何馬友友印度廚房適合æ
626‚¨çš„下一次聚餐。",tags:["馬友友印度廚房","台北印度餐廳","印度料理"],content:[{type:"p",text:"想在台灣品嚐道地印度風味,馬友友印度廚房以傳統香料、不同區域的印度菜色與熱情服務,為日常用餐、朋友聚會及家庭聚餐提供多元選擇。"},{type:"h2",text:"品嚐得到的道地風味"},{type:"p",text:"料理以印度烹調方法與香料組合為核心,從咖哩、坦都燒烤、印度香料炒飯到各式烤餅,呈現印度不同地區的味道。辣度可依個人口味詢問調整。"},{type:"h2",text:"每個人都能找到合適選擇"},{type:"p",text:"不同分店提供葷食、素食、純素與清真友善選擇。若有特殊飲食需求,請在訂位或點餐前向分店確認目前可供應的菜色。"},{type:"h2",text:"不只是吃一頓飯"},{type:"p",text:"馬友友印度廚房希望以食物連結台灣與印度文化。不同分店各有家常料理、蔬食、清真、現場音樂或海邊聚會等特色,適合依照場合選擇。"},{type:"rich",parts:[{text:"查看 "},{text:"所有分店與最新資訊",href:"/branches"},{text:"。"}]}]},{slug:"taoyuan-new-mik-june-2022-zh-exact",legacyPath:"/zh/single-post/想在桃園吃到印度菜,歡迎前往2022å¹´6月新開幕的馬友友印度廚房",title:"想在桃園吃到印度菜,歡迎前往2022å¹´6月新開幕的馬友友印度廚房",seoTitle:"桃園印度料理|馬友友印度廚房 MIK-11 歷史介紹",seoDesc:"馬友友印度廚房 MIK-11 桃園店歷史介紹:北印度、西印度、素食、印度街頭小吃與香料食品。",category:"Story",publishDate:"2022-09-11",dateModified:"2026-08-20",readTime:"閱讀約 3 分鐘",author:"馬友友印度廚房",language:"zh-TW",image:ha("e9b5bf_3efd6bc68bd14b5bb5ab99f6d416ff2d~mv2.jpg"),imageAlt:"馬友友印度廚房 MIK-11 桃園店",excerpt:"原始 Wix 文章介紹 2022 年開幕的 MIK-11 桃園店、料理特色、空間與交通位置。",tags:["桃園印度料理","桃園印度餐廳","MIK-11"],content:[{type:"p",text:"馬友友印度廚房在桃園開設第十一間分店 MIK-11。原始文章記錄餐廳位於桃園市中正路,設有一、二樓用餐空間及三樓屋頂空間,並以單點菜單供應印度料理。"},{type:"image",src:ha("e9b5bf_b3a9e053b76e4621ad102169e38804bf~mv2.jpg"),alt:"MIK-11 桃園店原始 Wix 照片",caption:"馬友友印度廚房 MIK-11 桃園店"},{type:"h2",text:"料理與食品"},{type:"p",text:"原始文章介紹北印度與西印度料理,包含旁遮普、德里、古吉拉特、孟買及加爾各答風味,也提到純素沙拉、印度街頭小吃,以及販售整粒與粉狀香料、Amul、Haldirams 等印度食品的小型雜貨區。"},{type:"h2",text:"原始地址與交通"},{type:"p",text:"原始文章地址:桃園市桃園區中正路953號,鄰近桃園市政府與主要道路,附近有停車場及大眾運輸。"},{type:"callout",text:"這是 2022 年歷史文章。原文中的電話、營業時間、價位、付款方式與服務內容可能已變更,請勿視為目前承諾。"},{type:"rich",parts:[{text:"查看 "},{text:"MIK-11 桃園店目前資訊",href:"/mik-locations/mayur-indian--kitchen-mik-11-%40-taoyuan-馬友友印度廚房---桃園店"},{text:"。"}]}]},{slug:"explore-taipei-best-indian-cuisine-zh-exact",legacyPath:"/zh/single-post/探索台北最棒的印度料理餐廳",title:"探索台北最棒的印度料理餐廳",seoTitle:"探索台北最棒的印度料理餐廳|印度美食推薦",seoDesc:"探索台北印度料理餐廳、經典印度菜、特色小吃,以及享用印度美食的實用技巧。",category:"Guide",publishDate:"2026-01-10",dateModified:"2026-08-20",readTime:"閱讀約 6 分鐘",author:"馬友友印度廚房",language:"zh-TW",image:ha("e9b5bf_8d4552cbdf414776a33ab70d7ed7e0d4~mv2.png"),imageAlt:"探索台北最棒的印度料理餐廳",excerpt:"從奶油雞肉咖哩、印度香料炒飯到印度街頭小吃,探索台北多元的印度餐飲風景。",tags:["台北印度料理","台北印度餐廳","印度美食推薦"],content:[{type:"p",text:"台北是一個充滿活力的城市,以多元的美食文化聞名。印度料理以濃郁香料、豐富口感與多樣區域風味,成為城市餐飲版圖中值得探索的一部分。"},{type:"h2",text:"台北印度美食推薦:一場味蕾的饗宴"},{type:"p",text:"經典菜色包含濃郁滑順的奶油雞肉咖哩、香氣十足的印度香料炒飯,以及適合搭配咖哩的現烤印度烤餅。不同餐廳也提供素食、純素、坦都燒烤與地方特色料理。"},{type:"image",src:ha("e9b5bf_e48388faeab6466aaeb7f253daafd88f~mv2_d_5472_3648_s_4_2.jpg"),alt:"台北印度餐廳供應的道地印度料理",caption:"台北的印度料理選擇豐富多元"},{type:"h2",text:"台北必吃印度餐廳推薦"},{type:"p",text:"馬友友印度廚房以多間特色分店提供家常印度菜、蔬食、清真料理與現場音樂體驗。原始文章也列出番紅花46、Masala Thai、莫夏印度餐廳、Atithi 與 Orchid 等台北印度餐飲選擇,讓讀者依口味與場合探索。"},{type:"h2",text:"探索獨特料理"},{type:"ul",items:["Dhokla:口感蓬鬆、帶有酸香的古吉拉特小吃","Rogan Josh:香料層次豐富的慢燉咖哩","Pani Puri:酥脆外殼搭配香料水與餡料的印度街頭小吃"]},{type:"image",src:ha("e9b5bf_1279a4aacb7649859d4a1fbae2083c56~mv2.png"),alt:"印度特色料理與街頭小吃",caption:"探索印度不同地區的特色料理"},{type:"h2",text:"享受印度料理的小技巧"},{type:"ul",items:["先從咖哩餃或坦都料理等開胃菜開始","詢問店員招牌菜與適合自己的辣度","搭配印度奶茶、優酪乳或其他飲品","多人共享不同咖哩、米飯與烤餅"]},{type:"p",text:"無論喜歡濃郁咖哩、芳香米飯或清爽素食,台北都有不同風格的印度料理可供選擇。"}]},{slug:"unforgettable-dining-live-music-zh-exact",legacyPath:"/zh/single-post/在馬友友印度廚房體驗難忘的用餐體驗,感受風味與現場音樂的完美融合",title:"在馬友友印度廚房體驗難忘的用餐體驗,感受風味與現場音樂的完美融合",seoTitle:"馬友友印度廚房|印度料理、現場音樂與聚會體驗",seoDesc:"在馬友友印度廚房享用印度料理、現場音樂與舒適聚會空間,認識 MIK-6 的歷史用餐特色。",category:"Story",publishDate:"2025-04-29",dateModified:"2026-08-20",readTime:"閱讀約 4 分鐘",author:"馬友友印度廚房",language:"zh-TW",image:ha("e9b5bf_e24826e4d7fd4e7ca73b72bbb561c6e0~mv2.jpg"),imageAlt:"馬友友印度廚房料理與現場音樂體驗",excerpt:"香料、音樂與熱情款待交織的 MIK-6 歷史用餐體驗。",tags:["馬友友印度廚房","台北現場音樂餐廳","MIK-6"],content:[{type:"p",text:"走進馬友友印度廚房 MIK-6,香料香氣、音樂與熱情款待共同構成一場感官饗宴。這裡的歷史定位,是讓朋友在享用印度料理的同時,也能感受現場表演與輕鬆聚會氛圍。"},{type:"h2",text:"精心打造的美味之旅"},{type:"p",text:"原始文章介紹奶油雞肉咖哩、碳烤香料起司、拉賈斯坦羊肉咖哩與印度香料炒飯等菜色,呈現印度料理從濃郁咖哩到坦都燒烤的多樣風味。"},{type:"image",src:ha("e9b5bf_18415007370b41ca9c17be3e6f49be56~mv2.jpg"),alt:"MIK-6 印度料理與聚會空間",caption:"料理、音樂與朋友相聚"},{type:"h2",text:"昇華體驗的現場音樂"},{type:"p",text:"現場音樂讓晚餐不只是用餐。不同表演為空間帶來節奏,也讓生日、朋友聚會或週末夜晚更有記憶點;實際演出安排請以目前活動資訊為準。"},{type:"h2",text:"舒適溫馨的聚會氛圍"},{type:"p",text:"原始文章也介紹歷史水煙口味,包括薄荷檸檬、蘋果肉桂、玫瑰香草與綜合漿果。相關服務、年齡限制與現行法規可能已有變更,請直接向分店確認,不應將舊文視為目前供應承諾。"},{type:"image",src:ha("e9b5bf_1d8551b7a5014d56b7caed0cfc2ccff1~mv2.jpg"),alt:"MIK-6 現場音樂餐廳空間",caption:"適合朋友相聚的 MIK-6 歷史氛圍"},{type:"ul",items:["分享印度料理","欣賞現場音樂","在輕鬆環境與朋友聚會","創造值得回味的夜晚"]},{type:"rich",parts:[{text:"查看 "},{text:"MIK-6 目前分店資訊",href:"/mik-locations/mayur-indian-kitchen-restaurant-bar-%26-mik-6-live-music-house-馬友友印度餐廳酒吧%2B水煙館"},{text:"。"}]}]},{slug:"welcome-mik-taipei-songjiang-zh-exact",legacyPath:"/zh/single-post/歡迎來到-馬友友印度廚房台北松江店!",title:"歡迎來到 馬友友印度廚房台北松江店!",seoTitle:"歡迎來到馬友友印度廚房台北松江店 MIK-6",seoDesc:"認識馬友友印度廚房台北松江店 MIK-6 的印度料理、素食選擇、現場音樂與歷史聚會特色。",category:"Story",publishDate:"2025-04-29",dateModified:"2026-08-20",readTime:"閱讀約 4 分鐘",author:"馬友友印度廚房",language:"zh-TW",image:ha("e9b5bf_31bdc5308c7340e5a252eb5569c48965~mv2.jpg"),imageAlt:"馬友友印度廚房台北松江店 MIK-6",excerpt:"歡迎來到 MIK-6:印度美食、現場娛樂與溫馨聚會氛圍相遇的台北松江店。",tags:["MIK-6","台北松江路印度餐廳","現場音樂餐廳"],content:[{type:"p",text:"歡迎來到馬友友印度廚房 MIK-6。這間台北松江店將道地印度料理、現場娛樂與舒適聚會空間結合,
626希望讓每次用餐都不只是普通的一餐。"},{type:"h2",text:"從令人難忘的開胃菜開始"},{type:"p",text:"原始文章推薦坦都烤雞、印度烤肉串、烤羊排與印度起司拼盤,強調以印度香料呈現炭烤香氣與不同口感。"},{type:"h2",text:"素食與純素食客的多元選擇"},{type:"p",text:"咖哩餃、蔬菜烤肉串、蔬菜捲、蔬菜炸物、蔬菜三明治與自製薯角,讓素食與純素客人也能共享聚餐。實際菜單請以分店目前供應為準。"},{type:"h2",text:"現場音樂與表演"},{type:"p",text:"MIK-6 的歷史特色包括現場音樂、樂團、肚皮舞與開放麥克風活動。表演內容與時間可能調整,前往前請查看最新活動或直接詢問分店。"},{type:"h2",text:"適合聊天與創造回憶的空間"},{type:"p",text:"溫馨而不擁擠的氛圍,適合老朋友相聚、認識新朋友、分享美食與飲品。原文亦介紹水煙服務;其供應與限制可能因法規及營運調整而不同,請向店家確認。"},{type:"callout",text:"這是從原始 Wix 文章保存的歷史內容。電話、LINE、營業時間、表演與服務資訊可能已更新。"},{type:"rich",parts:[{text:"查看 "},{text:"MIK-6 目前菜單、地址與訂位資訊",href:"/mik-locations/mayur-indian-kitchen-restaurant-bar-%26-mik-6-live-music-house-馬友友印度餐廳酒吧%2B水煙館"},{text:"。"}]}]}],mT=JSON.parse(`[{"slug":"recovered-wix-post-1","legacyPath":"/single-post/2019/03/18/how-an-indian-spring-festival-holi-brings-the-whole-community-together-in-taipei-taiwan-t","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2019/03/18/how-an-indian-spring-festival-holi-brings-the-whole-community-together-in-taipei-taiwan-t","title":"Indians in Taipei, Taiwan | 感謝您對印度春節好麗節的關注和參與 Thanks for attending an Indian Spring festival Holi!","seoTitle":"Indians in Taipei, Taiwan | 感謝您對印度春節好麗節的關注和參與 Thanks for attending an Indian Spring festival Holi!","seoDesc":"(Chef & Owner, Mayur of Mayur Indian Kitchen Taipei, Taiwan, PC : Tempo Tempo) A brief description of the Holi event (for next Holi details or more picture","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2019-03-18","dateModified":"2023-01-25","readTime":"5 min read","author":"Mayur Srivastava","language":"zh-TW","image":"https://static.wixstatic.com/media/e9b5bf_ad38f4b832244f06b1cf5a03776b0c7f~mv2.jpg","imageAlt":"Mayur of Mayur Indian Kitchen at Taipei Holi 2019","excerpt":"(Chef & Owner, Mayur of Mayur Indian Kitchen Taipei, Taiwan, PC : Tempo Tempo) A brief description of the Holi event (for next Holi details or more picture","content":[{"type":"p","text":"Mar 18, 2019"},{"type":"p","text":"4 min read"},{"type":"p","text":"Updated: Jan 25, 2023"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_ad38f4b832244f06b1cf5a03776b0c7f~mv2.jpg","alt":"Mayur of Mayur Indian Kitchen at Taipei Holi 2019"},{"type":"p","text":"(Chef & Owner, Mayur of Mayur Indian Kitchen Taipei, Taiwan, PC : Tempo Tempo)"},{"type":"p","text":"A brief description of the Holi event (for next Holi details or more pictures, videos click here) Revellers spend a full day outdoors, celebrating the beauty of watercolours with community-wide merriment, musical performances, and Indian food and drinks. Holi, an ancient Indian springtime festival dates back many centuries symbolizes the victory of good overcoming evil, it is also known as the festival of colours or The festival of sharing the love in modern times. Holi has become popular not only in Southeast Asia but also across the world."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_210b5887fc59415c9ec68ed749995026~mv2_d_2436_1721_s_2.jpg","alt":"Indian Holi in Taipei by Mayur Indian Kitchen 2019 poster"},{"type":"p","text":"The Indian Spring Festival Holi in Modern Times The spirit of Holi is one of playfulness and inclusivity, so people of other faiths are often welcomed to join in on the fun. But there’s a fine line between appreciating the culture and appropriating culture. In re
626cent years, the Indian diaspora has found that the Holi celebrations are increasingly drawing interest from non-Indians too. Once a year, all communities, race of people gather together to shower one another in colour, enjoy a meal, and celebrate the spring and their love for one and all."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_5613633c2da5459ebe4d50a0fe50cc9a~mv2.jpg","alt":"The VIP's & invitees holding souvenir gifts at Holi Taipei 2019"},{"type":"p","text":"(above pic. the invitees holding 'we are one world' souvenir gift & cheering up everyone for HOLI.)"},{"type":"p","text":"Taiwan's Indian club Holi in Taipei 2019 This year again, just as like any other one since 2012, Mayur Indian Kitchen and many other teams of media partners, volunteers, well-wishers, friends of India-Taiwan gathered altogether to organize the successful spring festival 'Holi in Taipei 2019' at Huashan1914 creative & cultural park right in the heart of the city. This year following sponsors/media partners, volunteers, performers helped in many ways to make it a successful event like never before. The organizers are thankful to all sponsors : Amma Kitchen Taipei, Flavour of India, The Thali Indian restaurant, Sherwood Taipei Hotel Patanjali Ayurved store Taiwan, Moksha Indian restaurant, Spiceshop Indian restaurant, Indian museum Taiwan, Priyalee Translator & Interpreter, Taiwan's Indian club Media Partners : Taiwan Observer, Taiwan News, Taiwan Panaroma magazine, UDN & local bloggers, photographers, youtubers, Instagrammers, etc. Performers, Dancers & Live band 1. The Intern band in Taipei sponsored by Mojo Music (James Liu on saxophone, Klaus with guitar, Mark Howe on drums, Kenneth doing bass & Dashu the singer! 2. Vande Mataram instrumental by Tanishi Krishna. 3. Bollywood Dance performance by Laxmi Indian dance group. 4. Bollywood's special dance by Sayani Palit. 5. Durga Indian dance group's (Kamariya + Chogda) Gujarati folk style Garba/Dandiya. 6. Lily Dance group dance performance on Chamak challo song. 7. Merry, Sara and Jamie Bollywood dance performance on Thoda Thoda Pyaar song. 8. Linda Liu and friend rocked the stage on Bollywood Song Dilbar Dilbar. 9. Indian DJ Abhishek. Volunteers : Ateesha Negi, Bhawna Rangwani, Manikanta Prasad, Najim Akhtar, Ram Ambre, Riya Chien, Srinivas Gowdru, Teja Jetivar & Zora Mamidikaya, MIK Chefs and other friends etc."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_7f17b931e23d4dc8a382c6e53d63c8b0~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"Holi brings us together as 'One World' Mayur Indian kitchen has been organizing Holi since 2012 on a non-profit basis to bring the community together with an idea of \\"we are one world\\" as the splashing of colours blurs cultural and ethnic differences.The \\"Indian Holi Taipei\\" festival held on Saturday (March 16, 2019) in Taipei saw over 650 attendees from many countries, from various races and religions, celebrated Holi altogether, and enjoyed the day with delicious Indian cuisine, music, and dance performances."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_1d63d49032454c8080041afa95ce7e59~mv2.jpg","alt":"The Crowd at Holi Taipei 2019"},{"type":"p","text":"Myth's & History of Holi It is not a colour party or colour run, many People who don't know the history of the spring festival often compares it with the colour run or colour parties! Holi is a religious festival that celebrates the beginning of spring and the triumph of good over evil, it comes the day after last full moon of Phalguna, the last month of the Hindu calendar (between late February and early March). It has religious significance. After all, this festival was originally celebrated 
626within a Hindu context. According to the Indian scriptures, there once was a powerful demon king by the name of Hiranyakshyap."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_5519ffeb2f1a41fb83c16e1574168c36~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"(In above pic. Prahlad’s devotion to God Vishnu, Holika dahan & end of demon king Hiranyakshyap) This demon king was virtually indestructible, due to a boon granted to him by Brahma (the God of Life). Hiranyakshyap grew arrogant, considered himself a god, and demanded everyone to worship him. His son, Prahlad, however, was a devotee of Vishnu and refused to worship his father. As a result, Hiranyakshyap asked his sister, the demoness Holika (it is from her name that we get the word ‘Holi’), for her help to get rid of Prahlad. As Holika had received a boon that made her immune to fire, she went into a pyre with Prahlad on her lap, hoping that her nephew would be burnt alive. Prahlad’s devotion to Vishnu, however, saved him, and the demoness was burnt to death instead also known as 'Holika Dahan' in the Hindi language. This is a practice that takes place on the eve of Holi and is also known as the ‘Chhoti Holi’ (‘Small Holi.’) During the ‘Holika Dahan,’ bonfires are lit to commemorate the deliverance of Prahlad from his evil father and aunt. In many parts of India, an effigy of Holika is also burned on the fire. Thus, the ‘Holika Dahan’ is a reminder that good always triumphs over evil."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_97fcf8622ac84863b267f143eb97a320~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"(above pic.) The backbone of the event & TIC members Mr. Mayur Patel(in center), Mr. Ajay (left), Mr. Sanjay Chauhan(right)"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_55577cbf119446fa80609b72722b0997~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"The 'Painted' crowd eagerly waiting for more music & fun at #Taipeiholi2019."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_8179ff46aee24a66b7b34784c013bdf3~mv2.jpg","alt":"The Interns Live Band sponsored by Mojo Music at Holi in Taipei 2019"},{"type":"p","text":"(above pic.) The Interns Live Band sponsored by Mojo Music at Holi in Taipei 2019."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_9179d0d651cd47f1bcbd95d1e775a51f~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_3e85636c76e54a5aa4c006d02f945281~mv2.jpg","alt":"Laxmi Indian dance group at Holi in Taipei 2019"},{"type":"p","text":"(above pic.) Laxmi Indian dance group at Holi in Taipei 2019."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_82c9df61176c40289af77d16065874a9~mv2.jpg","alt":"Taiwan Observers and Mayur at Holi Taipei 2019"},{"type":"p","text":"(above pic.) PC: Taiwan Observers, Jospeh Gorka & Mu Linsen along with Mayur at Holi Taipei 2019."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_979587c2d5a04349b2459b0043a3aa5f~mv2.jpg","alt":"Mela Tsai group performance"},{"type":"p","text":"(above pic.) Laxmi Indian dance group at Holi in Taipei 2019."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_55999afd35bc4be1aa53149c8eb72611~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"(above pic.) Ladies taking pictures and writing messages at Holi Taipei 2019"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_760f4e74bb574a65b56b52c7c8b9c273~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"(above pic.) Lily Dance Group at Holi Taipei 2019"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_2965e9d3500e4cc99affb0c1b0c9b09c~mv2.jpg","alt":"The Chefs preparing meal at Holi Taipei 2019"},{"type":"p","text":"(above pic.) The Chefs preparing meal for all at Holi Taipei 2019."},{"type":"p","text":"*********"}]},{"slug":"recovered-wix-post-2","legacyPath":"/single-post/2019/04/02/the-outdoors-indoors-indian-catering-in-taiwan-by-mayur-indian-kitchen-馬友友印度廚房在台灣室內與戶外舉辦的","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2019/04/02/the-outdoors-indoors-indian-catering-in-taiwan-by-mayur-indian-kitchen-馬友友印度廚房在台灣室內與戶外舉辦的","title":"The Outdoors & Indoors Indian Catering in Taiwan by Mayur Indian Kitchen 馬友友印度廚房在台灣室內與戶外舉辦的印度料理外","seoTitle":"The Outdoors & Indoors Indian Catering in Taiwan by Mayur Indian Kitchen 馬友友印度廚房在台灣室內與戶外舉辦的印度料理外","seoDesc":"馬友友印度廚房執行室內和室外活動的歷史回顧就在這裡,我們不僅僅是å
626œ¨å°ç£çƒ¹é£ªå°åº¦ç¾Žé£Ÿï¼Œè€Œæ˜¯ç‚ºæ‚¨å‰µé€ ä¸€ç”Ÿæœ€ç¾Žå¥½çš„回憶!往下觀看,了解我們的工作以及我們如何執行!? The history of Mayur Indian Kitchen indoor and outdoor events are here, we ","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2019-04-02","dateModified":"2019-04-02","readTime":"1 min read","author":"Indian food in Taipei","language":"zh-TW","image":"https://img.youtube.com/vi/E-GjEraqNck/mqdefault.jpg","imageAlt":"The Outdoors & Indoors Indian Catering in Taiwan by Mayur Indian Kitchen 馬友友印度廚房在台灣室內與戶外舉辦的印度料理外","excerpt":"馬友友印度廚房執行室內和室外活動的歷史回顧就在這裡,我們不僅僅是在台灣烹飪印度美食,而是為您創造一生最美好的回憶!往下觀看,了解我們的工作以及我們如何執行!? The history of Mayur Indian Kitchen indoor and outdoor events are here, we ","content":[{"type":"p","text":"Apr 2, 2019"},{"type":"p","text":"2 min read"},{"type":"p","text":"馬友友印度廚房執行室內和室外活動的歷史回顧就在這裡,我們不僅僅是在台灣烹飪印度美食,而是為您創造一生最美好的回憶!往下觀看,了解我們的工作以及我們如何執行!? The history of Mayur Indian Kitchen indoor and outdoor events are here, we are not just cooking Indian food here in Taiwan but we are creating some best lifetime memories for you! See below to know more about what we do and how we do!?"},{"type":"h3","text":"It was an unforgettable get together on the occasion of monthly luncheon event of Taipei Executive Group. We believe everyone enjoyed the Indian cuisine as well as our hot topic of the discussion! We got such wonderful chance to host the event which was organized by T.E.G. for all it's members. Welcome for business meeting reservation"},{"type":"p","text":"Call 0921004175 for English"},{"type":"h3","text":"0955531063 for (Chinese)"},{"type":"h3","text":"這是一次難以忘懷的聚會,在台北每月的午餐商務會議上,我們相信每個人都喜歡印度菜,這也是討論的熱門話題!我們很榮幸有機會為T.E.G的成員,舉辦此活動。"},{"type":"h3","text":"歡迎預約商務會議"},{"type":"p","text":"Most recently Mayur Indian Kitchen organized the Indian festival of colours HOLI #Taipeiholi2019 with the support of Taiwan Indians' club and help of many other Indian restaurants & volunteers group. Some of the glimpse are below."},{"type":"p","text":"台灣南印度協會舉辦2019年印度龐格爾節 ,馬友友印度廚房廚師團隊的食物得到很好的評價。 龐格爾音樂節上有近600名觀眾參加了此次活動,當天由馬友友印度廚房提供蔬食、葷食的印度美味料理。"},{"type":"p","text":"來自印度許多地方的人們在台灣台北體驗了泰米爾的美妙文化。不僅印度人,台灣人和外國人也來參與,這個節日也提供許多印度兒童、成人和台灣舞蹈團的表演。等各種舞蹈團的表演。"},{"type":"p","text":"台灣南印度協會長期在台推廣泰米爾文化,我們為此感到自豪。"},{"type":"p","text":"Taiwan Tamil Sangam had Happy Pongal Thirvvizha 2019 and the food was well organized by the Mayur Indian Kitchen Chefs team. The event saw almost 600 attendees at the Pongal festival.Veg. & Non veg. Indian feast were served.People from many parts of India had a wonderful experience of Tamil culture in Taipei, Taiwan.Not only Indians but Taiwanese and Foreigners also came to experience Pongal festival vibes.The festival had many performances by Indian kids, adults and Taiwanese dance groups."},{"type":"p","text":"Taiwan Tamil Sangam is promoting Tamil culture in Taipei, Taiwan since very long and we are proud of it."},{"type":"p","text":"#TamilPongalfestivalinTaiwan #Indiancatering #MAYURINDIANKITCHEN #HoliinTaipei #Taiwanevents #Indianculture"}]},{"slug":"recovered-wix-post-3","legacyPath":"/single-post/2017-08-01-mayur-indian-kitchen-catering-services","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/201
6267-08-01-mayur-indian-kitchen-catering-services","title":"馬友友印度廚房-外燴服務","seoTitle":"馬友友印度廚房-外燴服務","seoDesc":"馬友友印度廚房為台北受歡迎的的連鎖印度餐廳 不定期在台北舉辦印度相關美食或是節慶活動 為了服務廣大的消費者,我們也提供外燴服務。 不久前,印度知名的Tata鋼鐵企業300名員工來台旅遊, 搭遊艇欣賞淡水的迷人夜景同時,選擇了馬友友印度廚房外燴服務 四層樓的遊艇,我們的外燴服務精心準備了多元化的印度料理、印度點","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2017-08-01","dateModified":"2017-08-01","readTime":"1 min read","author":"Mayur Indian Kitchen","language":"zh-TW","image":"https://static.wixstatic.com/media/e9b5bf_1811bbd438a442b29d8427151fe63c8a~mv2_d_2000_1334_s_2.jpg","imageAlt":"Original Wix article image","excerpt":"馬友友印度廚房為台北受歡迎的的連鎖印度餐廳 不定期在台北舉辦印度相關美食或是節慶活動 為了服務廣大的消費者,我們也提供外燴服務。 不久前,印度知名的Tata鋼鐵企業300名員工來台旅遊, 搭遊艇欣賞淡水的迷人夜景同時,選擇了馬友友印度廚房外燴服務 四層樓的遊艇,我們的外燴服務精心準備了多元化的印度料理、印度點","content":[{"type":"p","text":"Aug 1, 2017"},{"type":"p","text":"1 min read"},{"type":"p","text":"馬友友印度廚房為台北受歡迎的的連鎖印度餐廳 不定期在台北舉辦印度相關美食或是節慶活動 為了服務廣大的消費者,我們也提供外燴服務。 不久前,印度知名的Tata鋼鐵企業300名員工來台旅遊, 搭遊艇欣賞淡水的迷人夜景同時,選擇了馬友友印度廚房外燴服務 四層樓的遊艇,我們的外燴服務精心準備了多元化的印度料理、印度點心,酒和飲料和印度的娛樂表演 無論是聚會活動、各式茶會、派對等等,都能為您量身規劃專屬外燴到府服務。 外燴的菜單可依客戶實際需求為您貼心規劃。 如有需要外燴服務,請連繫: 02-25431817 or 0921004175"},{"type":"p","text":"馬友友印度廚房"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_1811bbd438a442b29d8427151fe63c8a~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_9e07bd9ad29f44fd8857b373cd773304~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_7a07d450811d4731964712a809de37a1~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_92bcfc8df7834af092a32d67a2ce62b9~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_d06c0776b0154ff3a7478f806499a490~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_6ad3606a3023447ba80acc8377fd5446~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#馬友友印度廚房 #印度料理 #mayurindiankitchen #indianfood #印度廚房 #台北印度菜"}]},{"slug":"recovered-wix-post-4","legacyPath":"/single-post/排燈節家庭歡聚的最佳時刻","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/排燈節家庭歡聚的最佳時刻","title":"排燈節家庭歡聚的最佳時刻","seoTitle":"排燈節家庭歡聚的最佳時刻","seoDesc":"排燈節,是充滿光明與喜悅的時刻。這是與家人共享幸福與團聚的最佳時機。在家慶祝也能和外出一樣熱鬧,甚至更溫馨、更親密。簡單而有意義的活動,能讓家中的排燈節氣氛更加特別。一起裝飾家,增添節日氣氛可以從和家人一起裝飾家開始。製作色彩繽紛的裝飾品,掛上節日燈飾,點亮小燈或蠟燭。這不僅好玩,也能促進合作並增進家庭的情感","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2026-01-08","dateModified":"2026-01-23","readTime":"2 min read","author":"Mayur Srivastava","language":"zh-TW","image":"https://static.wixstatic.com/media/e9b5bf_68349d247e0c4f46ab40ea870b20173f~mv2.jpg","imageAlt":"Diyas 是一種小型陶燈,內裝油和燈芯,印度人特別在排燈節(Diwali)使用,象徵å
626…‰æ˜Žèˆ‡å–„良","excerpt":"排燈節,是充滿光明與喜悅的時刻。這是與家人共享幸福與團聚的最佳時機。在家慶祝也能和外出一樣熱鬧,甚至更溫馨、更親密。簡單而有意義的活動,能讓家中的排燈節氣氛更加特別。一起裝飾家,增添節日氣氛可以從和家人一起裝飾家開始。製作色彩繽紛的裝飾品,掛上節日燈飾,點亮小燈或蠟燭。這不僅好玩,也能促進合作並增進家庭的情感","content":[{"type":"p","text":"Jan 8"},{"type":"p","text":"2 min read"},{"type":"p","text":"Updated: Jan 23"},{"type":"p","text":"排燈節,是充滿光明與喜悅的時刻。這是與家人共享幸福與團聚的最佳時機。在家慶祝也能和外出一樣熱鬧,甚至更溫馨、更親密。簡單而有意義的活動,能讓家中的排燈節氣氛更加特別。"},{"type":"h2","text":"一起裝飾家,增添節日氣氛"},{"type":"p","text":"可以從和家人一起裝飾家開始。製作色彩繽紛的裝飾品,掛上節日燈飾,點亮小燈或蠟燭。這不僅好玩,也能促進合作並增進家庭的情感連結。"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_65295aca1577435cb0f0b0fe969b9254~mv2.jpg","alt":"Diyas 是一種小型陶燈,內裝油和燈芯,印度人特別在排燈節(Diwali)使用,象徵å
626…‰æ˜Žèˆ‡å–„良"},{"type":"h2","text":"Sharing Traditional Sweets"},{"type":"p","text":"No Diwali celebration is complete without mithai (Indian sweets) such as ladoos, barfi, or jalebi. Exchanging sweets is a cherished tradition that spreads happiness and warmth. To make your celebration even more special, explore a wide selection of authentic sweets at Mayur Indian Kitchen—perfect for gifting or enjoying with family."},{"type":"h2","text":"Family Gatherings and Prayers"},{"type":"p","text":"Families come together for Lakshmi Puja, offering prayers to the Goddess of Prosperity. This time is meaningful as families reflect and reconnect with loved ones. It strengthens bonds and creates lasting memories."},{"type":"h2","text":"Exchanging Gifts and Stories"},{"type":"p","text":"Along with thoughtful presents, many families share stories from epics like the Ramayana. This practice keeps traditions and values alive for the younger generation. It fosters a sense of identity and belonging."},{"type":"h2","text":"The Spirit of Diwali: Togetherness and Joy"},{"type":"p","text":"Diwali is more than just a festival; it is a celebration of togetherness and joy. The lights, sweets, and gatherings create a vibrant atmosphere. Families and friends come together to share love and happiness."},{"type":"h2","text":"Cultural Significance"},{"type":"p","text":"The cultural significance of Diwali extends beyond rituals. It teaches values such as kindness, generosity, and the importance of family. These lessons resonate with people of all ages, making Diwali a timeless celebration."},{"type":"h2","text":"Modern Celebrations"},{"type":"p","text":"In today's world, Diwali celebrations have evolved. Many people incorporate modern elements while honoring traditional practices. This blend of old and new makes the festival more inclusive and relatable."},{"type":"h2","text":"Conclusion: Celebrate Diwali with Love"},{"type":"p","text":"Celebrate your Diwali wherever you are with your loved ones, friends, and family. Complete the celebration with sweets from Mayur Indian Kitchen—order through our website, and don’t hesitate to contact us for special requests! Embrace the spirit of Diwali, and let the lights of joy illuminate your life."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_a201305a8c61454286d84363653f1109~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"您可以將您最喜愛的甜點或排燈節禮物寄送給在台灣的家人或朋友。"},{"type":"p","text":"台灣境內可選擇貨到付款 (COD)。"},{"type":"p","text":"台灣境外請使用 Paytm 或 PayPal 付款。"},{"type":"p","text":"請透過 WhatsApp 聯繫我們:+886 921 004 175"}]},{"slug":"recovered-wix-post-5","legacyPath":"/single-post/mik-free-delivery","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/mik-free-delivery","title":"MIK Free delivery","seoTitle":"MIK Free delivery","seoDesc":"Available in Taipei/Taoyuan/New Taipei/Hsinchu/Taichung branches within 3kmfor food (NTD 800 above) or Indian grocery (NTD 500 above)Order by Line ID: @mik","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2022-06-23","dateModified":"2022-06-23","readTime":"1 min read","author":"Mayur Srivastava","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_a5943f4469344d0f94952f835d74bc69~mv2.png","imageAlt":"Original Wix article image","excerpt":"Available in Taipei/Taoyuan/New Taipei/Hsinchu/Taichung branches within 3kmfor food (NTD 800 above) or Indian grocery (NTD 500 above)Order by Line ID: @mik","content":[{"type":"p","text":"Jun 23, 2022"},{"type":"p","text":"1 min read"},{"type":"p","text":"Available in Taipei/Taoyuan/New Taipei/Hsinchu/Taichung branches within 3km"},{"type":"p","text":"for food (NTD 800 above) or Indian grocery (NTD 500 above)"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_a5943f4469344d0f94952f835d74bc69~mv2.png","alt":"Original Wix article image"},{"type":"p","text":"Order by Line ID: @miktaiwan or"},{"type":"p","text":"Food (curry, naan, tandoori roasted etc): indianfoodtaiwan.com"},{"type":"p","text":"Grocery (spices, rice, flour, frozen food etc): indianstoretaiwan.com"},{"type":"p","text":"- Mayur Indian Kitchen"}]},{"slug":"recovered-wix-post-6","legacyPath":"/single-post/mik-s-dosa-festival-mik-3","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/mik-s-dosa-festival-mik-3","title":"MIK's DOSA FESTIVA
626L @MIK-3","seoTitle":"MIK's DOSA FESTIVAL @MIK-3","seoDesc":"新年限定活動~煎餅祭來囉~ Dosa Festival~ Begin the new year with Delightful Dosas! 每人台幣200元,可享用薄煎餅,蒸米餅,豆子麵包,羅望子酸辣湯及沾醬 NTD200 per person for Dosa, Idli, Medu Vada, Samb","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2020-01-08","dateModified":"2020-12-24","readTime":"1 min read","author":"Mayur Srivastava","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_72e06a66f39a4352a7d85c6b3019fda8~mv2.png","imageAlt":"Original Wix article image","excerpt":"新年限定活動~煎餅祭來囉~ Dosa Festival~ Begin the new year with Delightful Dosas! 每人台幣200元,可享用薄煎餅,蒸米餅,豆子麵包,羅望子酸辣湯及沾醬 NTD200 per person for Dosa, Idli, Medu Vada, Samb","content":[{"type":"p","text":"Jan 9, 2020"},{"type":"p","text":"1 min read"},{"type":"p","text":"Updated: Dec 24, 2020"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_558c6396cae7adec420cea143bcac639.jpg","alt":"Original Wix article image"},{"type":"p","text":"新年限定活動~煎餅祭來囉~ Dosa Festival 2020~ Begin the new year with Delightful Dosas at Mayur Indian kitchen vegetarian restaurant Taipei"},{"type":"p","text":"每人台幣200元,可享用薄煎餅,蒸米餅,豆子麵包,羅望子酸辣湯及沾醬 NTD200 per person for Dosa, Idli, Medu Vada, Sambar and Chutney"},{"type":"p","text":"限定期間: 2020å¹´ 1月8號 ~ 1月31號 Limited time only: JAN 8 - 31, 2020"},{"type":"p","text":"活動需訂位 Reservations required: (+886) 02-25431817"},{"type":"p","text":"煎薄餅(Dosa)有著酥脆、類似可麗餅的口感,蒸米餅(Idli)是鬆軟滑潤,豆子麵包則是外酥內軟~ Dosa has a crispy crepe taste, Idli a soft and fluffy texture, while Medu Vada is crunchy on the outside and soft inside."},{"type":"p","text":"想盡情感受口感、味道、香氣交織的美味盛會嗎?快訂位 馬友友印度廚房-蔬食餐廳 Would you like to experience the carnival of deliciousness, with a symphony of taste, texture and aroma? Make your reservation at MIK-3, Mayur Indian Kitchen Vegetarian Restaurant"},{"type":"p","text":"#miktaiwan #馬友友印度廚房 #mikdosafestival #煎餅祭 #MIK3"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_72e06a66f39a4352a7d85c6b3019fda8~mv2.png","alt":"Original Wix article image"},{"type":"p","text":"Mayur Indian Kitchen"},{"type":"p","text":"Indian restaurant"}]},{"slug":"recovered-wix-post-7","legacyPath":"/single-post/2017/08/04/mayurindiankitchenccokingclass","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2017/08/04/mayurindiankitchenccokingclass","title":"馬友友印度廚房-印度料理教室","seoTitle":"馬友友印度廚房-印度料理教室","seoDesc":"馬友友印度廚師 2006年來到台灣,曾在台灣五星級飯店和知名飯店擔任過主廚一職,也很榮幸如今有機會能夠把他對於印度料理的專業知識傳授給台灣人, 他熱愛料理,也希望每個人能夠吃得健康 . 活得健康 馬友友印度廚師2010開始投入印度料理授課,他在世界各地知名的廚藝教室授過課, 印度料理多元化帶有濃厚民族風情,且","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2017-08-04","dateModified":"2017-08-04","readTime":"1 min read","author":"Mayur Indian Kitchen","language":"zh-TW","image":"https://static.wixstatic.com/media/e9b5bf_6e971d455d704ce09b902d80ffe65784~mv2_d_2000_1334_s_2.jpg","imageAlt":"馬友友印度廚房 料理教室","excerpt":"馬友友印度廚師 2006年來到台灣,曾在台灣五星級飯店和知名飯店擔任過主廚一職,也很榮幸如今有機會能夠把他對於印度料理的專業知識傳授給台灣人, 他熱愛料理,也希望每個人能夠吃得健康 . 活得健康 馬友友印度廚師2010開始投入印度料理授課,他在世界各地知名的廚藝教室授過課, 印度料理多元化帶有濃厚民族風情,且","content":[{"type":"p","text":"Aug 4, 2017"},{"type":"p","text":"1 min read"},{"type":"p","text":"馬友友印度廚師 2006年來到台灣ï¼
626Œæ›¾åœ¨å°ç£äº”星級飯店和知名飯店擔任過主廚一職,"},{"type":"p","text":"也很榮幸如今有機會,能夠把他對於印度料理的專業知識傳授給台灣人, 他熱愛印度料理和文化,也希望每個人除了能夠學習料理知識外,也能吃得健康 . 活得健康"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_6e971d455d704ce09b902d80ffe65784~mv2_d_2000_1334_s_2.jpg","alt":"馬友友印度廚房 料理教室"},{"type":"p","text":"#馬友友和學員們合照 馬友友印度廚師2010年開始投入印度料理授課,他在世界各地知名的廚藝教室授過課, 印度料理多元化帶有濃厚民族風情,且東西南北的印度料理各有不同特色。"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_ace143365426407ea7f7ca6304f02012~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#各式各樣的印度香料"},{"type":"p","text":"馬友友印度廚師走遍印度各地,曾和來自世界各地的廚師一起共事過,"},{"type":"p","text":"他想把所學的印度料理知識分享給台灣人, 幾年前開始致力於健康的印度料理教學,"},{"type":"p","text":"在台北一些知名的廚藝教室如"},{"type":"p","text":"囍廚 Gourmet Plus , Mini Cook 迷你庫食育生活工作室, 甜婆寓所 Taste Studio ...等等 教導大家做出有名的印度料理,譬如:馬薩拉薄餅 Masala Roti"},{"type":"p","text":"印度蔬菜香料優格 Raita . 海德拉巴蔬菜香料炒飯 Vegetable Biryani 等等"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_21d82690e10445adb63c8eabce96a5bb~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#馬友友印度廚師細心教導 烙餅 製作細節"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_02fe05edcae34b3d8ecd919ea683492e~mv2_d_1334_2000_s_2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#印度知名料理 坦都烤雞(Tandoori chicken)"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_094e8cb92e99410bbcd611aa896371d9~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_6c52ba1f46bf4bdeb92f3cfc2b107ff0~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#學員認真聆聽上課的過程"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_1b09f001295a44bdba02f36ff276263e~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_d4588c8a51b445fa9eac380f9f02e9e8~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#學員們學習製作馬薩拉薄餅( Masala Roti )"},{"type":"p","text":"#馬友友印度廚房 #印度料理 #印度菜 #馬友友印度菜 #異國料理 #廚藝教室 #MAYURINDIANKITCHEN #台北印度菜 #道地印度料理"}]},{"slug":"recovered-wix-post-8","legacyPath":"/single-post/2017/09/20/『食記』『台北市』-馬友友印度廚房-基隆路店","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2017/09/20/『食記』『台北市』-馬友友印度廚房-基隆路店","title":"『食記』『台北市』 馬友友印度廚房 基隆路店","seoTitle":"『食記』『台北市』 馬友友印度廚房 基隆路店","seoDesc":"Sep. 10 is the third day of \\"Opening Equipment Exhibition\\" in Taipei World Trade CenterAfter the evening,our friends had dinner at \\"Mayur Indian Kitchen\\" o","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2017-09-20","dateModified":"2017-09-20","readTime":"3 min read","author":"【Jeremy以食為天】","language":"zh-TW","image":"https://static.wixstatic.com/media/e9b5bf_4373b4dee47d45e6877d6ce6242a8d15~mv2.png","imageAlt":"Original Wix article image","excerpt":"Sep. 10 is the third day of \\"Opening Equipment Exhibition\\" in Taipei World Trade CenterAfter the evening,our friends had dinner at \\"Mayur Indian Kitchen\\" o","content":[{"type":"p","text":"Sep 20, 2017"},{"type":"p","text":"2 min read"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_4373b4dee47d45e6877d6ce6242a8d15~mv2.png","alt":"Original Wix article image"},{"type":"p","text":"Sep. 10 is the third day of \\"Opening Equipment Exhibition\\" in Taipei World Trade Center"},{"type":"p","text":"After the evening,our friends had dinner at \\"Mayur Indian Kitchen\\" on Keelung Road."},{"type":"p","text":"This is my first time to taste Indian foods!"},{"type":"p","text":"I am looking forward to it badly!"}
626,{"type":"p","text":"Dining space is just right,there have indoor and outdoor dinig area. {備註:看中文請點此}"},{"type":"p","text":"A lot of spices jars are displayed in front of the kitchen."},{"type":"p","text":"The main meal has a variety of curries and scones,and also had some Indian-style char-grilled dishes and side dishes."},{"type":"p","text":"The menu content can be found in my album:http://jeremyckt2.pixnet.net/album/set/5909489"},{"type":"p","text":"The first dish I forgot what the name is, it looked like a conical crispy pizza XD,and I ordered Chicken Tikka Masala and Cheese Naan after."},{"type":"p","text":"Masala is a noun that mixes spices."},{"type":"p","text":"Often appearing in dishes from India, Pakistan, and the Middle East"},{"type":"p","text":"The basic spices include cinnamon, cardamom, ginger, fennel, black pepper, cumin and other spicy ingredients."},{"type":"p","text":"Cooking vegetables and meat are suitable."},{"type":"p","text":"After the chicken legs are boned, they are roasted in the oven."},{"type":"p","text":"After the oil is forced out, it is mixed with the rich synthetic spice Masala."},{"type":"p","text":"Masala's cumin and fennel aroma"},{"type":"p","text":"There is also the spicy and cinnamon special flavor of ginger."},{"type":"p","text":"The chicken legs are very tender and the Masala stew is very tasty."},{"type":"p","text":"Naans are displayed on the flour after throwing."},{"type":"p","text":"Good ductility and thin skin and toughness."},{"type":"p","text":"The crust is baked and the outer edge is crispy and it’s chewy."},{"type":"p","text":"The cheese stuffing with the blasting inside is so hot,but it’s very rich and stringy."},{"type":"p","text":"Naans are delicious with curry and chicken!"},{"type":"p","text":"You can also eat directly with curry sauce."},{"type":"p","text":"Let's see what other friends' ordered!"},{"type":"p","text":"A friend ordered Goan Chicken Vindaloo and spices rice and a cup of Masala tea."},{"type":"p","text":"Goan Vindaloo displayed the spicy flavor of South Indian extremely"},{"type":"p","text":"Spice layer stacking with the fusion focuses on salty and spicy."},{"type":"p","text":"The spices rice is quite chewy with aroma of turmeric and cream."},{"type":"p","text":"Masala tea is sweet and delicious."},{"type":"p","text":"Here is Palak Lamb."},{"type":"p","text":"Crush up the fresh spinach and stewed on low heat with garlic, chili flakes, ... and other spices,and add the boneless leg of lamb to cook after."},{"type":"p","text":"Spinach is very rich.In comparison, it is not so spicy."},{"type":"p","text":"The leg of lamb is stewed very soft and delicious."},{"type":"p","text":"Here is Hhabey Ki Dal."},{"type":"p","text":"Both ordered the Butter Naan."},{"type":"p","text":"The Naan with butter is more fragrant!"},{"type":"p","text":"Here’s a butter naan with Palak Lamb."},{"type":"p","text":"I thought Karahi Beef is more spicy,but my friend don’t think so.XD"},{"type":"p","text":"My friend oldered the Onion Naan."},{"type":"p","text":"I had a special experience when I tasted Indian food at my first time."},{"type":"p","text":"Indian curry uses variety of spices"},{"type":"p","text":"The sauce is rich and full of spices and aromas."},{"type":"p","text":"Each curry is special,and the meat is stewed very tender."},{"type":"p","text":"Naans are good to eat."},{"type":"p","text":"We are very satisfied with the meal of \\"Mayur Indian Kitchen\\"."},{"type":"p","text":"Recommended people who wants to taste Indian food can try this 
626store."},{"type":"p","text":"#Jeremy以食為天 #食記台北市馬友友印度廚房基隆路店 #TaipeiWorldTradeCenter #mayurindiankitchen #馬友友印度廚房"}]},{"slug":"recovered-wix-post-9","legacyPath":"/single-post/2018/07/03/馬友友印度廚房-外燴服務公司聚會活動","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2018/07/03/馬友友印度廚房-外燴服務公司聚會活動","title":"馬友友印度廚房-外燴服務(公司聚會活動)","seoTitle":"馬友友印度廚房-外燴服務(公司聚會活動)","seoDesc":"馬友友印度廚房為台北受歡迎的的連鎖印度餐廳,不定期在台北舉辦印度相關美食或是節慶活動。 為了服務廣大的消費者,我們也提供外燴服務。 無論是公司聚會活動、各式茶會、派對等等,都能為您量身規劃專屬外燴到府服務。 外燴的菜單可依客戶實際需求為您貼心規劃。 如有需要外燴服務,請連繫: 02-25431817 or 0","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2018-07-03","dateModified":"2018-07-03","readTime":"1 min read","author":"Mayur Indian Kitchen Catering","language":"zh-TW","image":"https://static.wixstatic.com/media/e9b5bf_0c60e12cc09547aca806708a21648780~mv2.jpg","imageAlt":"Original Wix article image","excerpt":"馬友友印度廚房為台北受歡迎的的連鎖印度餐廳,不定期在台北舉辦印度相關美食或是節慶活動。 為了服務廣大的消費者,我們也提供外燴服務。 無論是公司聚會活動、各式茶會、派對等等,都能為您量身規劃專屬外燴到府服務。 外燴的菜單可依客戶實際需求為您貼心規劃。 如有需要外燴服務,請連繫: 02-25431817 or 0","content":[{"type":"p","text":"Jul 3, 2018"},{"type":"p","text":"1 min read"},{"type":"p","text":"馬友友印度廚房為台北受歡迎的的連鎖印度餐廳,不定期在台北舉辦印度相關美食或是節慶活動。 為了服務廣大的消費者,我們也提供外燴服務。 無論是公司聚會活動、各式茶會、派對等等,都能為您量身規劃專屬外燴到府服務。 外燴的菜單可依客戶實際需求為您貼心規劃。 如有需要外燴服務,請連繫: 02-25431817 or 0921004175"},{"type":"p","text":"馬友友印度廚房"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_0c60e12cc09547aca806708a21648780~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_179d22afc22f484b84ec78d348ac9c00~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_17fd43a5ccd84d3d92bfda9617ae6c0b~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_ef5b6f1d82a048afb5fb88ce99907a27~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_90487871ad1a41b780463857cb5bbf2a~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_0f6d8e9c861943879f9709607063d397~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_17b9b5f17b414718b1a2f558204d5189~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_c7e51a212f094915b2b42026c4b7d558~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_41434e2a6c324a5bbe3c8643c9579da6~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_cc0b0e05aac947b3a6944480903d41e0~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_b865b37e426a48c49ce42761af347d4a~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#MAYURINDIANKITCHEN #印度菜外燴 #Indiancatering #Indianrestaurant #台北印度菜 #馬友友印度廚房"}]},{"slug":"recovered-wix-post-10","legacyPath":"/single-post/thank-you-to-all-our-friends-in-taiwan-for-your-love-and-support-along-the-way","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/thank-you-to-all-our-friends-in-taiwan-for-your-love-and-support-along-the-way","title":"Thank y
626ou to all our friends in Taiwan for your love and support along the way.","seoTitle":"Thank you to all our friends in Taiwan for your love and support along the way.","seoDesc":"6 mins Video Chinese Subs.mp4I am not only hurt but disappointed too with some Taiwanese deliberate act of maligning our image for TRP and sensationMe and ","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2026-08-12","dateModified":"2026-08-13","readTime":"7 min read","author":"Mayur Srivastava","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_20c77ce197444ad28ddb391600efdad4~mv2.jpg","imageAlt":"Original Wix article image","excerpt":"6 mins Video Chinese Subs.mp4I am not only hurt but disappointed too with some Taiwanese deliberate act of maligning our image for TRP and sensationMe and ","content":[{"type":"p","text":"Aug 12"},{"type":"p","text":"6 min read"},{"type":"p","text":"Updated: 6 days ago"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_20c77ce197444ad28ddb391600efdad4~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_d83b5d9e564940d39b62412f70b82621~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_3000c54b20b743e3b8d9217410323c12~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_552d433aeb3943dfbf18bc849c86dd69~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_80915f262de94c51961faf909131e17b~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_ef83733c5859463dbaf81976ad2a1056~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_894cb5a2a722460e8e25bc95732213f8~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_190d0eab5d45413baf48119786251fb2~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_a358b5036be543b4887d240defebefe1~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_39628a55182f48569b92a823443eea38~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"I am not only hurt but disappointed too with some Taiwanese deliberate act of maligning our image for TRP and sensation"},{"type":"h3","text":"Me and Mayur Indian Kitchen were no one today; whatever we are is only because of the love and appreciation of Taiwanese people, and we will carry forward their love and trust in us."},{"type":"p","text":"Thanks to the love and support of the friendly people of Taiwan."},{"type":"p","text":"There are moments when silence is the most dignified answer."},{"type":"p","text":"For years, whenever sensational stories appeared online using the name Mayur Indian Kitchen, suggesting that certain imported spices were dangerous or contained pesticide residues, we chose not to respond. We believed that facts, responsible authorities and our work would speak louder than frightening headlines."},{"type":"p","text":"But today, I feel not only hurt — I feel deeply disappointed."},{"type":"p","text":"I am disappointed that sometimes a routine food-safety matter can be presented in a way that makes ordinary people believe that something dangerous has been served in our restaurants, when that is simply not what happened."},{"type":"p","text":"Let me make one thing absolutely clear:"},{"type":"h3","text":"If a food product or spice fails Taiwan's food-safety requirements, Taiwan's competent authorities have every right — and responsibility — to stop it."},{"type":"p","text":"We respect the Taiwan FDA and Taiwan Customs. Their job is to inspect imported products and prevent products that do not meet Taiwan's requirements from entering the market. We have never complained when a shipment or product is stopped. That is exactly how a responsible food-safety system should work."},{"type":"p","text":"But if a product is stopped before it enters the market, why should the public be frightened into thinking that Taiwanese families are eating it?"},{"type":"h3","text":"We do not manufacture these spice powders."},{"type":"p","text":"Mayur Indian Kitchen imports hundreds of different food and grocery products from various countries, including India, Pakistan, Singapore, Malaysia, the UAE, Canada, Australia and others."},{"type":"p","text":"If one particular product from one particular shipment fails an inspection, that does not mean that every product is unsafe. And it certainly does not mean that our customers have consumed something dangerous."},{"type":"p","text":"If a particular imported spice cannot be used, we simply don't use it."},{"type":"p","text":"Indian cuisine does not depend on one single spice."},{"type":"p","text":"There are hundreds of spices, herbs and ingredients that can be used in Indian cooking. Taiwan itself has an abundance of excellent local ingredients. When necessary, we can use whole spices, grind them ourselves and prepare our food accordingly."},{"type":"p","text":"If black pepper powder is unavailable, we can use whole black pepper and grind it ourselves."},{"type":"p","text":"How complicated is that?"},{"type":"p","text":"Why should a simple food-safety procedure become a frightening story that makes customers believe our restaurants are putt
626ing their health at risk?"},{"type":"h3","text":"Behind every restaurant are real human beings."},{"type":"p","text":"This is something I wish sensational reporting would remember."},{"type":"p","text":"Mayur Indian Kitchen has employees — Taiwanese and foreign — who work hard every day. Behind every employee is a family. Behind every salary is someone's rent, food, children's education, parents, dreams and future."},{"type":"p","text":"When a restaurant's name is repeatedly associated with frightening headlines, the damage is not limited to the owner."},{"type":"p","text":"It affects everyone who depends on that business."},{"type":"p","text":"A sensational headline may generate clicks, views, ratings or attention for a few minutes."},{"type":"p","text":"But for us, the consequences can last much longer."},{"type":"p","text":"We are talking about people's livelihoods."},{"type":"h3","text":"And I have one more question."},{"type":"p","text":"Taiwan is an island that imports countless food products and ingredients from around the world. Taiwan also exports its own products globally."},{"type":"p","text":"This is how the modern world works."},{"type":"p","text":"Products travel across borders. Authorities inspect them. Some pass. Some are rejected. Some are destroyed or returned."},{"type":"p","text":"That is normal international trade."},{"type":"p","text":"Products from many countries and regions can be stopped by food-safety authorities when they fail the required standards. We respect that process."},{"type":"p","text":"So why should every such incident involving an Indian spice become a frightening story?"},{"type":"p","text":"Why repeatedly create the impression that something terrible has happened when the very system designed to protect consumers has already prevented the questionable product from entering the market?"},{"type":"p","text":"Please report facts — not fear."},{"type":"h3","text":"I say this not as an outsider, but as someone who has spent years building a life in Taiwan."},{"type":"p","text":"I came to Taiwan as a chef."},{"type":"p","text":"I built Mayur Indian Kitchen here."},{"type":"p","text":"I worked, struggled, cooked, served and dreamed here."},{"type":"p","text":"Taiwan gave me an opportunity."},{"type":"p","text":"Taiwanese people gave me trust."},{"type":"p","text":"And that trust became the foundation of everything we have today."},{"type":"p","text":"Today, Mayur Indian Kitchen has grown into a much larger family, and our journey has even taken us beyond Taiwan."},{"type":"p","text":"Our 15th branch, Mayur International Kitchen in Dubai, represents Taiwan internationally."},{"type":"p","text":"We proudly tell people that our story was born and grew in Taiwan — not in India."},{"type":"p","text":"We introduce Taiwanese food and culture to people overseas. We proudly display the Taiwan flag. We tell our guests that Taiwan is where our journey began."},{"type":"p","text":"I have spent so many years promoting Taiwan in a foreign land that, in my heart, Taiwan is no longer simply a place where I do business."},{"type":"h3","text":"Taiwan is my second home."},{"type":"p","text":"India is my motherland."},{"type":"p","text":"Taiwan is the country where I built my life, my business and my dreams."},{"type":"p","text":"It is also the homeland of my wife and my children."},{"type":"p","text":"My children have grown with Taiwan around them."},{"type":"p","text":"Thousands of Taiwanese and international guests have eaten at our restaurants."},{"type":"p","text":"Families have trusted us with their meals."},{"type":"p","text":"Children, young people and elderly customers have sat at our tables."},{"type":"p","text":"We understand the responsibility that comes with that trust."},{"type":"p","text":"We would never deliberately compromise the health of our customers."},{"type":"p","text":"Never."},{"type":"h3","text":"To my friends in the Taiwanese media:"},{"type":"p","text":"I am not asking you to protect Mayur Indian Kitchen."},{"type":"p","text":"I am not asking you to ignore food-safety issues."},{"type":"p","text":"I am asking you to report them responsibly."},{"type":"p","text":"If something is genuinely dangerous and has reached consumers, tell people."},{"type":"p","text":"If something fails inspection and is stopped before entering the market, tell that truth too."},{"type":"p","text":"Please do not turn a regulatory rejection into a frightening story that makes ordinary people believe they have been eating dangerous food."},{"type":"p","text":"Facts are powerful enough. They don't need sensational headlines."},{"type":"p","text":"TRP, clicks and fame may come and go."},{"type":"p","text":"But the reputation of a business built over many years can be damaged in a few minutes."},{"type":"p","text":"And behind that reputation are hundreds of workers, their families and thousands of customers who have trusted us."},{"type":"h3","text":"To the people of Taiwan, I want to say only this:"}
626,{"type":"p","text":"Thank you."},{"type":"p","text":"Thank you for giving me a chance when I was nobody."},{"type":"p","text":"Thank you for eating our food."},{"type":"p","text":"Thank you for trusting us."},{"type":"p","text":"Thank you for allowing Mayur Indian Kitchen to become part of your lives."},{"type":"p","text":"Whatever we are today is because of the love and appreciation of Taiwanese people."},{"type":"p","text":"We will never forget that."},{"type":"p","text":"And we will continue carrying that love and trust forward — in Taiwan, in Dubai and wherever our journey takes us."},{"type":"p","text":"We are proud of where we came from."},{"type":"p","text":"We are proud that Mayur Indian Kitchen was born and grew in Taiwan."},{"type":"p","text":"We are proud to represent Taiwan internationally."},{"type":"p","text":"And we will continue doing what we have always done:"},{"type":"p","text":"Cook honestly. Serve responsibly. Respect Taiwan's laws. Respect Taiwan's people. And protect the trust that our customers have placed in us."},{"type":"p","text":"So, to the media, my friends and everyone reading this:"},{"type":"h3","text":"Please don't create fear where there is no danger."},{"type":"h3","text":"Please don't turn facts into sensationalism."},{"type":"h3","text":"Please don't destroy the reputation of people who have spent years building something with hard work and the trust of Taiwanese people."},{"type":"p","text":"We are not against the media."},{"type":"p","text":"We are against misleading sensationalism."},{"type":"p","text":"We respect Taiwan."},{"type":"p","text":"We respect its people."},{"type":"p","text":"We respect its food-safety authorities."},{"type":"p","text":"And we will continue to stand proudly as a business born in Taiwan and representing Taiwan to the world."},{"type":"p","text":"I am Mayur. I am the founder of Mayur Indian Kitchen. I am the founder of Mayur International Kitchen in Dubai. And I will always be grateful to the people of Taiwan who made this journey possible."},{"type":"p","text":"You gave us your trust."},{"type":"p","text":"We will carry that trust with us — always."},{"type":"p","text":"Thank you, Taiwan. ❤️🇹🇼"},{"type":"p","text":"— Mayur Srivastava"},{"type":"p","text":"Founder & Chef, Mayur Indian Kitchen, Taiwan"},{"type":"p","text":"Founder, Mayur International Kitchen, Dubai"},{"type":"p","text":"Proudly representing Taiwan on international forums"},{"type":"p","text":"To know more about details about the products we buy to use in Mayur Indian Kitchen, please click here."}]},{"slug":"recovered-wix-post-11","legacyPath":"/single-post/discover-unforgettable-dining-at-mayur-indian-kitchen-where-flavor-meets-live-music","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/discover-unforgettable-dining-at-mayur-indian-kitchen-where-flavor-meets-live-music","title":"Discover Unforgettable Dining at Mayur Indian Kitchen where Flavor Meets Live Music","seoTitle":"Discover Unforgettable Dining at Mayur Indian Kitchen where Flavor Meets Live Music","seoDesc":"Stepping into Mayur Indian Kitchen means entering a world where every sense is delighted. This is not just a place to eat; it’s a place to experience. From","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2026-01-04","dateModified":"2026-01-23","readTime":"3 min read","author":"Mayur Srivastava","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_5d7803b0f86943c780d7c21bb5986be2~mv2.png","imageAlt":"Eye-level view of a cozy dining area with warm lighting and Indian decor at Mayur Indian Kitchen","excerpt":"Stepping into Mayur Indian Kitchen means entering a world where every sense is delighted. This is not just a place to eat; it’s a place to experience. From","content":[{"type":"p","text":"Jan 4"},{"type":"p","text":"3 min read"},{"type":"p","text":"Updated: Jan 23"},{"type":"p","text":"Stepping into Mayur Indian Kitchen means entering a world where every sense is delighted. This is not just a place to eat; it’s a place to experience. From the moment you arrive, the lively atmosphere filled with rich aromas, rhythm
626ic music, and a welcoming vibe invites you to relax and enjoy. Whether you are a food lover or a music enthusiast, Mayur Indian Kitchen offers a unique blend of tastes and sounds that create lasting memories."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_e24826e4d7fd4e7ca73b72bbb561c6e0~mv2.jpg","alt":"Eye-level view of a cozy dining area with warm lighting and Indian decor at Mayur Indian Kitchen"},{"type":"h2","text":"A Flavorful Journey Crafted with Care"},{"type":"p","text":"At Mayur Indian Kitchen, every dish tells a story. The chefs prepare signature dishes with love and attention to detail, using fresh ingredients and authentic spices. The menu offers a variety of options, from classic favourites to innovative creations, ensuring there is something for everyone."},{"type":"p","text":"Some standout dishes include:"},{"type":"p","text":"Butter Chicken: Tender chicken cooked in a creamy tomato sauce, perfectly balanced with spices."},{"type":"p","text":"Paneer Tikka: Grilled cubes of paneer marinated in yoghurt and spices, served with mint chutney."},{"type":"p","text":"Lamb Rogan Josh: Slow-cooked lamb in a rich, aromatic curry that melts in your mouth."},{"type":"p","text":"Biryani: Fragrant basmati rice layered with marinated meat or vegetables, infused with saffron and herbs."},{"type":"p","text":"Each plate is prepared with care, reflecting the passion behind the kitchen. The flavours are bold but balanced, inviting you to savour every bite."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_18415007370b41ca9c17be3e6f49be56~mv2.jpg","alt":"Eye-level view of a cozy dining area with warm lighting and Indian decor at Mayur Indian Kitchen"},{"type":"h2","text":"Live Music That Elevates the Experience"},{"type":"p","text":"What sets Mayur Indian Kitchen apart is the live music that fills the air during dinner hours. Local musicians perform traditional and contemporary Indian tunes, creating a vibrant yet relaxed atmosphere. The music complements the food perfectly, enhancing the overall dining experience."},{"type":"p","text":"Guests often find themselves tapping their feet or quietly swaying to the rhythm as they enjoy their meals. The live performances add a personal touch, making every visit feel special and unique."},{"type":"h2","text":"Premium Shisha Flavours for a Relaxing Finish"},{"type":"p","text":"For those who enjoy a leisurely evening, Mayur Indian Kitchen offers a selection of premium shisha flavours. The shisha lounge area is designed for comfort, with plush seating and ambient lighting that encourages relaxation."},{"type":"p","text":"Choose from a variety of flavours such as:"},{"type":"p","text":"Mint and lemon"},{"type":"p","text":"Apple and cinnamon"},{"type":"p","text":"Rose and vanilla"},{"type":"p","text":"Mixed berry"},{"type":"p","text":"Paan & Zarda (Al fakhar)"},{"type":"p","text":"The smooth, fragrant smoke pairs well with the rich spices of the food and the soothing sounds of live music, creating a perfect way to unwind after a delicious meal."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_1d8551b7a5014d56b7caed0cfc2ccff1~mv2.jpg","alt":"Eye-level view of a cozy dining area with warm lighting and Indian decor at Mayur Indian Kitchen"},{"type":"h2","text":"A Cosy Ambience Perfect for Unwinding"},{"type":"p","text":"The ambience at Mayur Indian Kitchen is warm and inviting. Soft lighting, traditional Indian artwork, and comfortable seating combine to create a space where guests feel at home. Whether you come for a casual dinner or a special celebration, the setting encourages you to relax and enjoy the moment."},{"type":"p","text":"The restaurant’s layout allows for intimate conversations as well as lively group gatherings. It’s an ideal spot to catch up with friends, celebrate milestones, or escape the everyday routine."},{"type":"h2","text":"Gather Friends and Create Unforgettable Memories"},{"type":"p","text":"Mayur Indian Kitchen's sixth location, also known as MIK-6, is more than a restaurant; it’s a place to connect. The combination of delicious food, live music, premium shisha, and cosy surroundings makes it a perfect destination for groups looking to share an experience."},{"type":"p","text":"Invite your friends, family, or colleagues and enjoy:"},{"type":"p","text":"A flavorful feast that satisfies every palate"},{"type":"p","text":"Live music that sets the mood"},{"type":"p","text":"A relaxing environment to chat and laugh"},{"type":"p","text":"Premium shisha to extend the evening in style"},{"type":"p","text":"Creating memories here is easy. The attentive staff, vibrant atmosphere, and thoughtful details ensure every visit is special."}]},{"slug":"recovered-wix-post-12","legacyPath":"/single-post/2018/11/08/馬友友印度廚房歡慶印度光明燈節-happy-wali-diwali-at-mayur-indian-kitchen","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2018/11/08/馬友友印度廚房歡慶印度光明燈節-happy-wali-diwali-at-mayur-indian-kitchen","title":"馬友友印度廚房歡慶印度光明燈節, Happy wali diwali at Mayur Indian Kitchen","seoTitle":"馬友友印度廚房歡慶印度光明燈節, Happy wali diwali at Mayur Indian Kitchen","seoDesc":"光明節是印度教最受歡迎的節日之一,象徵「光明勝過黑暗,幸運勝過不幸,知識勝過無知。」在節慶期間,寺廟、住家、商店和大樓都會點亮燈。許多人會在這天做「Diya」和燈飾、家居裝飾及購物、放煙花、做禮拜(祈禱),彼此交換禮物,表演宗教儀式,分享糖果、小吃等來慶祝光明節。 ~歡慶 印度光明燈節~地點:馬友友印度廚房各","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2018-11-08","dateModified":"2018-11-08","readTime":"1 min read","author":"Mayur Indian Kitchen","language":"zh-TW","image":"https://static.wixstatic.com/media/e9b5bf_f57e7a47c06f466094e280491efd985c~mv2_d_4001_4001_s_4_2.jpg","imageAlt":"diwali in taipei, taiwan","excerpt":"光明節是印度教最受歡迎的節日之一,象徵「光明勝過黑暗,幸運勝過不幸,知識勝過無知。」在節慶期間,寺廟、住家、商店和大樓都會點亮燈。許多人會在這天做「Diya」和燈飾、家居裝飾及購物、放煙花、做禮拜(祈禱),彼此交換禮物,表演宗教儀式,分享糖果、小吃等來慶祝光明節。 ~歡慶 印度光明燈節~地點:馬友友印度廚房各","content":[{"type":"p","text":"Nov 8, 2018"},{"type":"p","text":"2 min read"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_f57e7a47c06f466094e280491efd985c~mv2_d_4001_4001_s_4_2.jpg","alt":"diwali in taipei, taiwan"},{"type":"p","text":"光明節是印度教最受歡迎的節日之一,象徵「光明勝過黑暗,幸運勝過不幸,知識勝過無知。」"},{"type":"p","text":"在節慶期間,寺廟、住家、商店和大樓都會點亮燈。許多人會在這天做「Diya」和燈飾、家居裝飾及購物、放煙花、做禮拜(祈禱),彼此交換禮物,表演宗教儀式,分享糖果、小吃等來慶祝光明節。"},{"type":"p","text":"~歡慶 印度光明燈節~"},{"type":"p","text":"地點:馬友友印度廚房各分店(台北、新竹) 時間:週三至週日晚間時段 特別活動: 🎉穿著印度傳統服裝可享有九折優惠 🎉贈送自製甜點 🎉餐廳外大、小朋友一起享受歡樂時光(提供仙女棒) 🎉通化店(M.I.K-4),吃到飽只要449元(吃到飽只有在週五晚及六日提供) 🎉週末於松江店(M.I.K-6)為您獻上寶萊塢舞蹈表演、DJ 及音樂。"},{"type":"p","text":"************************************************************************"},{"type":"p","text":"One of the most popular festivals of Hinduism, Diwali symbolises the spiritual \\"victory of light over darkness, good over evil and knowledge over ignorance\\"."},{"type":"p","text":"During the celebration, temples, homes, shops and office buildings are brightly illuminated.Most of the people do Diya and lighting, home decorations, shopping, fireworks, puja (prayers), exchange of gifts, performing religious rituals, share sweets, snacks etc. while celebrating Diwali."},{"type":"p","text":"Mayur Indian kitchen in Taiwan welcomes you to celebrate 'Happy wali diwali' at all MIK branches from MIK-1 to MIK-7 in Taipei or Zhubei, Hsinchu. Venue : Any Mayur Indian kitchen Timings : From Wed. till Sunday Dinner What's special : 🎉 10% discount (Indian traditional dress) to anyone (Indian or Non Indian) 🎉 Special festival home made sweets FREE to everyone, after your meal. 🎉 Enjoy fire crackers. 🎉 449, all you can eat buffet at MIK-4 restaurant."},{"type":"p","text":"(Buffet only at Friday night and weekend) 🎉 Bollywood dance performances, music, DJ to celebrate Diwali at MIK-6"},{"type":"p","text":"location on weekend."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_4f0404cb821644279be7b4d26319d82f~mv2_d_1920_1440_s_2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_88cd00d37e794d10b78d86f31d98a8a7~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_54c85b4c7f5e4c54b9fe11a1ed59fe51~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_2d80a0b35da54fed87eadf7c3075ab6e~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_450dc1c63a4d440dba86a45b6ade8eac~mv2_d_2304_1728_s_2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_89679c77bbc841bfb2c48090d8ebf8c8~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_683916cd0a874270882a4fb365b853ab~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_729b3935f11b484f8240cfbfdcdfb745~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#Diwaliintaipei #Indiannewyear #MAYURINDIANKITCHEN"}]},{"slug":"recovered-wix-post-13","legacyPath":"/single-post/2018/07/14/馬友友印度廚房-印度料理教室","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2018/07/14/馬友友印度廚房-印度料理教室","title":"馬友友印度廚房-印度料理教室","seoTitle":"馬友友印度廚房-印度料理教室","seoDesc":"馬友友印度廚房主廚馬友友 2006年來到台灣ï¼
626Œ2010年開始投入印度料理授課,他在世界各地知名的廚藝教室授過課,印度料理多元化帶有濃厚民族風情,且東西南北的印度料理各有不同特色。這次來到台北知名的廚藝教室-囍廚 Gourmet Plus開課。這次將教導學員健康的印度蔬食,有以下這些菜色#菠菜蘑菇咖哩 Mush","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2018-07-14","dateModified":"2018-07-14","readTime":"1 min read","author":"Mayur Indian Kitchen","language":"zh-TW","image":"https://static.wixstatic.com/media/e9b5bf_29808f7ee76147deae7919122b347d77~mv2.jpg","imageAlt":"Mayur Indian Kitchen,Mayur Indian Cooking Class,Gourmet Plus","excerpt":"馬友友印度廚房主廚馬友友 2006年來到台灣,2010年開始投入印度料理授課,他在世界各地知名的廚藝教室授過課,印度料理多元化帶有濃厚民族風情,且東西南北的印度料理各有不同特色。這次來到台北知名的廚藝教室-囍廚 Gourmet Plus開課。這次將教導學員健康的印度蔬食,有以下這些菜色#菠菜蘑菇咖哩 Mush","content":[{"type":"p","text":"Jul 14, 2018"},{"type":"p","text":"1 min read"},{"type":"p","text":"馬友友印度廚房主廚馬友友 2006年來到台灣,2010年開始投入印度料理授課,他在世界各地知名的廚藝教室授過課,印度料理多元化帶有濃厚民族風情,且東西南北的印度料理各有不同特色。"},{"type":"p","text":"這次來到台北知名的廚藝教室-囍廚 Gourmet Plus開課。這次將教導學員健康的印度蔬食,有以下這些菜色"},{"type":"p","text":"#菠菜蘑菇咖哩 Mushroom Palak"},{"type":"p","text":"#香料蘑菇西谷米 Mushroom and sabudana khichdi"},{"type":"p","text":"#菠菜青豆洋芋餅 Hara bhara kebab"},{"type":"p","text":"#甜菜根醬 Beetroot chutney"},{"type":"p","text":"#芒果優酪飲 Mango lassi"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_7634a55911d24f6c82a9625bdb2cc80f~mv2.jpg","alt":"Mayur Indian Kitchen,Mayur Indian Cooking Class,Gourmet Plus"},{"type":"p","text":"#跟學員的大合照"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_8419d29284234c04b41b911c2f7
626511ad~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#這次教學所使用的材料"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_384e7b7782404ab8a758a8299f8ad920~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_6c653bee6f80470b8adff35d305bfcdb~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_dd33dade8d004b1e88f72ba8cbe427a5~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#開始備料 - 菠菜泥"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_0e2ac478205a46ca9abeba69a29dfb67~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#看完教學後學員自己實做時間"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_d1ec005452be48ceadd72a9b908f4526~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#主廚馬友友一一跟學員講解各項注意細節"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_0a12922cbf174d9991b4ab75af0544da~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#菠菜蘑菇咖哩 Mushroom Palak製作中"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_0869ab57e06a47c4b1da4a4d27abebff~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#課程中隨時指導學員"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_58c6611dd4ee44c4a7cec72e02326862~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_73abe5c834a24d809065c83da426067f~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_0d6dc9212d9d458eb1a21b274fedf042~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_caf79dd7079447a6a1862068ca0a2583~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_8b22946d930c49d29e7204af1899ebf0~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_a21381364c914e8897bcf384661987a8~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_2394049793fb4fb7a422e976ffbd7bcc~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#菠菜青豆洋芋餅 Hara bhara kebab的製作教學"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_41d7e24a151c4b7f8ba9820759f4a619~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_fbc853a0e66a4cfb8be334fd72de9f27~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_980f72c8cc4540e0bfad6c6be3a96d11~mv2.jpg","alt":"Mayur Indian Kitchen,Mayur Indian Cooking Class,Hara bhara kebab,"},{"type":"p","text":"#新鮮美味的菠菜青豆洋芋餅 Hara bhara kebab出爐了"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_356e24c5f8e84a6ba46b4c0e3c34e7d6~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_31e6e227cfc64000acf39644f2b7757c~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_29808f7ee76147deae7919122b347d77~mv2.jpg","alt":"Mayur Indian Kitchen,Mayur Indian Cooking Class,"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_5cc9535ef4db4648966beb2018b4f2f0~mv2.jpg","alt":"Mayur Indian Kitchen,Mango Lassi,"},{"type":"p","text":"#美味的芒果優酪飲 Mango lassi"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_82638448d7f74ffc94125a56b6fa6f45~mv2.jpg","alt":"Mayur Indian Kitchen,Mushroom and sabudana khichdi,Hara bhara kebab"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_8b9aceba41354a93a974e6d8a8e28e8b~mv2.jpg","alt":"Mayur Indian Kitchen,Mango Lassi,Beetroot chutney,Mushroom Palak,"},{"type":"p","text":"#成品展示時間"},{"type":"p","text":"#廚藝教室 #馬友友印度廚房 #MAYURINDIANKITCHEN #台北印度菜 #印度料理"}]},{"slug":"recovered-wix-post-14","legacyPath":"/single-post/2018/09/11/多人套餐及宴席套é
626¤menu","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2018/09/11/多人套餐及宴席套餐menu","title":"多人套餐及宴席套餐Menu","seoTitle":"多人套餐及宴席套餐Menu","seoDesc":"多人套餐及宴席套餐菜單可依照您的需求、預算及人數量身打造適合家族朋友聚會聚餐,公司團體舉辦活動餐聚等MENU #Indianparty #Indiancatering #印度菜和印度咖哩 #MAYURINDIANKITCHEN","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2018-09-11","dateModified":"2018-09-11","readTime":"1 min read","author":"Mayur Indian Kitchen","language":"zh-TW","image":"https://static.wixstatic.com/media/e9b5bf_b33bc11e79cb492d83501acf68a477a8~mv2.jpg","imageAlt":"Original Wix article image","excerpt":"多人套餐及宴席套餐菜單可依照您的需求、預算及人數量身打造適合家族朋友聚會聚餐,公司團體舉辦活動餐聚等MENU #Indianparty #Indiancatering #印度菜和印度咖哩 #MAYURINDIANKITCHEN","content":[{"type":"p","text":"Sep 11, 2018"},{"type":"p","text":"1 min read"},{"type":"p","text":"多人套餐及宴席套餐菜單"},{"type":"p","text":"可依照您的需求、預算及人數量身打造"},{"type":"p","text":"適合家族朋友聚會聚餐,公司團體舉辦活動餐聚等"},{"type":"h3","text":"MENU"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_b33bc11e79cb492d83501acf68a477a8~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#Indianparty #Indiancatering #印度菜和印度咖哩 #MAYURINDIANKITCHEN"}]},{"slug":"recovered-wix-post-15","legacyPath":"/single-post/why-choose-mayur-indian-kitchen-for-your-next-dining-experience","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/why-choose-mayur-indian-kitchen-for-your-next-dining-experience","title":"Why Choose Mayur Indian Kitchen for Your Next Dining Experience?","seoTitle":"Why Choose Mayur Indian Kitchen for Your Next Dining Experience?","seoDesc":"If you're searching for authentic Indian flavours right here in Taiwan, look no further than Mayur Indian Kitchen (MIK). With 13 branches across Taiwan, in","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2024-12-11","dateModified":"2024-12-11","readTime":"2 min read","author":"Mayur Srivastava","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_20fe6c350a3247089b0608b6af62861e~mv2.jpg","imageAlt":"Original Wix article image","excerpt":"If you're searching for authentic Indian flavours right here in Taiwan, look no further than Mayur Indian Kitchen (MIK). With 13 branches across Taiwan, in","content":[{"type":"p","text":"Dec 11, 2024"},{"type":"p","text":"2 min read"},{"type":"p","text":"If you're searching for authentic Indian flavours right here in Taiwan, look no further than Mayur Indian Kitchen (MIK). With 13 branches across Taiwan, including Taipei, we have become a culinary haven for food enthusiasts seeking a genuine Indian dining experience. Here’s why you and your friends should trust us and celebrate your special moments with Mayur Indian Kitchen:"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_20fe6c350a3247089b0608b6af62861e~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_3bfc9a19924243bd8c0340e0ffaa657b~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_ea6bfcee8625472491cc17650500abf2~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_591330dadafa4ca0a17c0c2ba204b9ce~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_31bdc5308c7340e5a252eb5569c48965~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_3c9926cc91d84af1a517dd1cc0568da3~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_69b46e51bb0d437da9418809b389f59a~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_e4fe9
6261fb6199423db5884077018fc5e4~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_b6fbc6be7fed4755b105e8d227caa086~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_177047e9361d4de8b81265825dfb1cae~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_bb7bfd99952c4ece81e6c78816a82bfb~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"Authenticity You Can Taste"},{"type":"p","text":"At Mayur Indian Kitchen, we bring the vibrant flavours of India to your plate. Our chefs use top-quality ingredients and imported spices to ensure every dish stays true to its origins. Whether you’re indulging in vegetarian delights, savouring non-vegetarian halal cuisine, or exploring our vegan offerings, every bite is a journey through India’s rich culinary heritage."},{"type":"p","text":"Something for Everyone"},{"type":"p","text":"We understand that dining preferences vary, which is why our menu is versatile and inclusive. Catering to big groups, families with kids, solo diners, and seniors, our offerings range from classic snacks to hearty meals. No matter your dietary needs or preferences, we’re here to ensure you leave satisfied."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_dc349f827fac44689bd202e38b5f8efb~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_59ea8b2b5ca447e4b8aef3e6552470e6.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_8648453b324a41839fdb749b99435cf6.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_f85ca96e1972401c87e3f3925fccd3c0.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_84b7ca14e4867692bc89f0c2bf971111.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_731d6bdcada37d1fb1e96bd339c4a8cb.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_22e43d08f6e4c8973fdbfdae9e89e748.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_2a68a27b0cfd4220211b458081578ff0.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_60f01f94a8927d440c41f68794cebc99.jpg","alt":"Original Wix article image"},{"type":"p","text":"A Legacy of Excellence"},{"type":"p","text":"For over 15 years, we have been committed to delivering exceptional dining experiences. Our dedication to guest satisfaction is evident in every aspect of our service, from the warm hospitality to the meticulous preparation of every dish."},{"type":"p","text":"Celebrate With Us This Holiday Season"},{"type":"p","text":"Looking for a place to host your Christmas 2024 or New Year 2025 celebrations? Mayur Indian Kitchen is ready to make your festivities unforgettable. Whether you choose to dine at one of our inviting branches or opt for our catering services, we promise to add a touch of Indian magic to your celebrations."},{"type":"p","text":"Highlights of the Holiday Offerings:"},{"type":"p","text":"Customizable menus for group parties."},{"type":"p","text":"Special deals for festive events."},{"type":"p","text":"Flexible dining options for in-house or catered celebrations."},{"type":"p","text":"Why Trust Us?"},{"type":"p","text":"With 15 years of experience in delighting guests across Taiwan, we have built a reputation for consistency, quality, and authenticity. Our loyal patrons vouch for our commitment to excellence, and our ever-growing presence is a testament to the trust we’ve earned."},{"type":"p","text":"Join Us and Make Memories"},{"type":"p","text":"This holiday season, share the joy of good food and great company at Mayur Indian Kitchen. Whether you’re gathering with friends, family, or colleagues, we’re here to make every occasion special."},{"type":"p","text":"Reserve your table, book our catering services, or simply drop by to experience why Mayur Indian Kitchen is loved by so many. Let us turn your celebrations into cherished memories!"}]},{"slug":"recovered-wix-post-16","legacyPath":"/single-post/experience-the-magic-of-bollywood-more-at-mayur-indian-kitchen-mik-6-shisha-live-restaurant-bar","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/experience-the-magic-of-bollywood-more-at-mayur-indian-kitchen-mik-6-shisha-live-restaurant-bar","title":"Experience the Magic of Bollywood & More at Mayur Indian Kitchen & MIK-6 Shisha Live Restaurant Bar!","seoTitle":"Experience the Magic of Bollywood & More at Mayur Indian Kitchen & MIK-6 Shisha Live Restaurant Bar!","seoDesc":"Get ready to ignite your weekends with colors, culture, and rhythm at Mayur Indian Kitchen & Live Shisha Bar (MIK-6) — Taipei’s ultimate destination for en","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2025-06-03","dateModified":"2025-07-04","readTime":"2 min read","author":"Mayur Srivastava","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_92137218464e4bf78ec7ac69cb29af59~mv2.png","imageAlt":"Original Wix article image","excerpt":"Get ready to ignite your weekends with colors, culture, and rhythm at Mayur Indian Kitchen & Live Shisha Bar (MIK-6) — Taipei’s ultimate destination for en","content":[{"type":"p","text":"Jun 3, 2025"},{"type":"p","text":"2 min read"},{"type":"p","text":"Updated: Jul 4, 2025"},{"type":"p","text":"Get ready to ignite your weekends with colors, culture, and rhythm at Mayur Indian Kitchen & Live Shisha Bar (MIK-6) — Taipei’s ultimate destination for entertainment, fine dining, and unforgettable vibes!"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_92137218464e4bf78ec7ac69cb29af59~mv2.png","alt":"Original Wix article image"},{"type":"h2","text":"🎬 Bollywood Theme Party – Every Second Saturday of the Month!"},{"type":"p","text":"Experience a night filled with glitz and glamour at our Bollywood Theme Parties every second Saturday. Dress to impress, dance to your favorite hits, and immerse yourself in the vibrant ambiance inspired by Mumbai’s movie magic!"},{"type":"h2","text":"⚽ Live Telecast of Sports"},{"type":"p","text":"No matter if you prefer cricket, football, or your favorite league, we ensure you won’t miss a moment. All major sports are streamed LIVE here. Enjoy your drink and delicious bites while cheering for your team!"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_788157ec19ef48ae9f1bc4da54c31347~mv2.jpg","alt":"Original Wix article image"},{"type":"h2","text":"🎤 Everyday Live Performances – No Extra Charges!"},{"type":"p","text":"Join us every evening for live performances that feature soul-stirring music and upbeat dance numbers. Enjoy free live entertainment that turns every night into a special occasion!"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_f5ac2bac16a643ae9eaa8135c32c776f~mv2.jpg","alt":"Original Wix article image"},{"type":"h2","text":"💃 Belly Dance Show – Every Friday"},{"type":"p","text":"Every Friday, our stunning belly dance shows light up the night. It’s the perfect way to start your weekend and enjoy the exotic flair of dance."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_5ee9ed54b1c849aca59ba0ccb3d877e8~mv2.jpg","alt":"Original Wix article image"},{"type":"h2","text":"🎷 Jazz Nights – Every Monday"},{"type":"p","text":"Ease into the week with smooth live jazz every Monday. Enjoy the elegant surroundings while sipping expertly crafted cocktails. It’s a delightful way to unwind after a long day."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_18415007370b41ca9c17be3e6f49be56~mv2.jpg","alt":"Original Wix article image"},{"type":"h2","text":"📍 Venue Information"},{"type":"p","text":"Mayur Indian Kitchen & Live Shisha Bar"},{"type":"p","text":"Address: No. 1-1, Songjiang Rd, Zhongshan District, Taipei City"},{"type":"p","text":"地址: 台北市中山區松江路1-1號"},{"type":"p","text":"📞 Phone: (02)2500-6186 / 0921 004 175"},{"type":"p","text":"📱 LINE Booking: @miktaiwan"},{"type":"h2","text":"🍽️ What We Offer"},{"type":"p","text":"At Mayur Indian Kitchen, we pride ourselves on providing:"},{"type":"p","text":"✅ Authentic Indian Cuisine & Barbecue"},{"type":"p","text":"✅ Signature Cocktails & Full Bar"},{"type":"p","text":"✅ Shisha in a stylish, cozy setting"},{"type":"p","text":"✅ Business Lunch, Romantic Dinners & Late-Night Dining"},{"type":"p","text":"✅ Open daily until 2 AM"},{"type":"p","text":"💰 Cover Charge: NT$400–500 per person (for special events)"},{"type":"h2","text":"Why Choose Us?"},{"type":"p","text":"Whether you’re out for a casual night with friends or a special celebration, MIK-6 is your go-to destination in Taipei. We combine flavor, flair, and excitement under one roof. Here, every detail caters to creating unforgettable memories."},{"type":"p","text":"Imagine sharing dishes rich in spices, sipping on our signature cocktails, and enjoying the delightful vibrant atmosphere. Here at Mayur Indian Kitchen, we prioritize comfort and enjoyment, making it the perfect venue for any occasion."},{"type":"p","text":"Experience Something Unique"},{"type":"p","text":"Feeling adventurous? Join us during our special events, including Bollywood nights that transport you to India. The captivating ambiance and lively performances ensure that you’ll leave with unforgettable experiences."},{"type":"p","text":"Don't forget to check out our menu, where each dish is a masterpiece, blending tradition with innovation."},{"type":"p","text":"Follow us on LINE or give us a call to reserve your table today! Enjoy a vibrant dining experience at Mayur Indian Kitchen, where colors, culture, and rhythm await you. Make your weekends memorable with us!"},{"type":"p","text":"---"},{"type":"p","text":"Let the rhythm of our live performances and the flavors of our cuisine spark joy in your weekends!"}]},{"slug":"recovered-wix-post-17","legacyPath":"/single-post/2018/10/17/
626馬友友印度廚房派對服務","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2018/10/17/馬友友印度廚房派對服務","title":"馬友友印度廚房-外燴服務及派對包場服務, Indian food Catering and Parties services Taipei, Taiwan by Mayur Indian Kitch","seoTitle":"馬友友印度廚房-外燴服務及派對包場服務, Indian food Catering and Parties services Taipei, Taiwan by Mayur Indian Kitch","seoDesc":"馬友友印度廚房為了服務廣大的消費者,我們也提供外燴服務。 無論是公司聚會活動、各式茶會、派對等等,都能為您量身規劃專屬外燴到府服務。且不定期在台北舉辦印度相關美食或是節慶活動。 外燴的菜單可依客戶實際需求為您貼心規劃。 如有需要外燴服務,請連繫: 02-25431817 or 0921004175如果您是旅行","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2018-10-17","dateModified":"2020-07-27","readTime":"2 min read","author":"Mayur Indian Kitchen Catering","language":"zh-TW","image":"https://static.wixstatic.com/media/e9b5bf_74073d18a64b467ebf2c6b9150a127cf~mv2.jpg","imageAlt":"indian food at catering in Taipei","excerpt":"馬友友印度廚房為了服務廣大的消費者,我們也提供外燴服務。 無論是公司聚會活動、各式茶會、派對等等,都能為您量身規劃專屬外燴到府服務。且不定期在台北舉辦印度相關美食或是節慶活動。 外燴的菜單可依客戶實際需求為您貼心規劃。 如有需要外燴服務,請連繫: 02-25431817 or 0921004175如果您是旅行","content":[{"type":"p","text":"Oct 17, 2018"},{"type":"p","text":"3 min read"},{"type":"p","text":"Updated: Jul 27, 2020"},{"type":"p","text":"馬友友印度廚房為了服務廣大的消費者,我們也提供外燴服務。 無論是公司聚會活動、各式茶會、派對等等,都能為您量身規劃專屬外燴到府服務。且不定期在台北舉辦印度相關美食或是節慶活動。 外燴的菜單可依客戶實際需求為您貼心規劃。"},{"type":"p","text":"如有需要外燴服務,請連繫: 02-25431817 or 0921004175"},{"type":"p","text":"如果您是旅行社並正為您的團員尋找實惠的美食,請聯繫我們"},{"type":"p","text":"電子郵件:[email protected]、[email protected]"},{"type":"p","text":"菜單參考Menu Reference"},{"type":"p","text":"We are well known for one of the best Indian food in Taipei and we would like to extend ourselves with Indian food caterings for Private dining , Corporate Lunch/Dinner meetings or Outdoor picnic any kind of small or big scale functions. Menu and prices could be well discussed and set as per your convenience.For details and reservations kindly call 02-25431817 or 0921004175. If you are tours and travel agent and looking for a special deal for your group mail us at [email protected], [email protected]"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_74073d18a64b467ebf2c6b9150a127cf~mv2.jpg","alt":"indian food at catering in Taipei"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_89a6ccc395ef4f619172f29dd599cc78~mv2.jpg","alt":"Mayur doing settings"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_c7e51a212f094915b2b42026c4b7d558~mv2.jpg","alt":"印度外燴在辦公室開心享用印度美食"},{"type":"p","text":"馬友友印度廚房提供包場服務,可以舉辦各式活動,"},{"type":"p","text":"生日派對、新年派對、尾牙...等各式聚會。"},{"type":"p","text":"HAPPY BIRTHDAY PARTY!! HAPPY NEW YEAR PARTY!! CHRISTMAS PARTY!!求婚派對、婚禮、公司活動、春酒、尾牙及學校迎新。"},{"type":"p","text":"馬友友印度廚房的各分店都有不同的接待人數、不同的價格及菜單、酒精或非酒精酒吧、清真菜單等。我們可以隨時隨地根據您的需求來量身訂做!"},{"type":"p","text":"Mayur Indian Kitchen welcomes you for Graduation dinner,Happy birthday party,Alumni gathering, Year-end banquet,Christmas or Halloween parties, Reserve the whole restaurants for a private or public event, office or family dinner. Dine Indian, Enjoy at Mayur Indian kitchen different locations, each location has different setup, price range, menu, alcoholic or non alcoholic bar, halal menu etc. we can customize us as per your needs, anytime anywhere! always!"},{"type":"p","text":"MIK-2 馬友友印度廚房-民生店, Mayur'
626s Indian Kitchen Restaurant & Bar,"},{"type":"p","text":"地址:台北市松山區民生東路三段103號"},{"type":"p","text":"No.103, Section 3, Minsheng e.rd., Songshan district, Taipei City."},{"type":"p","text":"CALL:(02) 2715-5277"},{"type":"p","text":"Google Map : https://goo.gl/maps/SXSAXzhxRgz"},{"type":"p","text":"營業時間 : 11:30-15:00 /17:00-22:00"},{"type":"p","text":"可容納人數 : 店內約55-65人 Capacity : 55-65 people"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_f4089d307ffe4a219218ba89e7784750~mv2.jpg","alt":"馬友友印度廚房民生店,MIK-2, Mayur Indian Kitchen Minsheng branch"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_b14847b282ab44599ce55d8e718910fa~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_e0c503ea30be4c2f863f2716e2a95c0e~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"MIK-4 馬友友印度廚房--通化店,印度料理,咖哩吃到飽 Mayur's Indian buffet restaurant,"},{"type":"p","text":"地址:台北市通化街171巷34號 No.34, Lane 171, Tong hua street, Taipei City"},{"type":"p","text":"CALL: (02) 2732-1687 Google Map : https://goo.gl/maps/h1xdq1doiJn 營業時間 : (週一週二公休) 11:30~15:00/17:00~21:30 週末及假日11:30~21:30 可容納人數 : 店內約40-45人 Capacity : 40-45 people"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_d8fe4e28c50549e2af3a0bbe955d0ec3~mv2.jpg","alt":"馬友友印度廚房通化店,MIK-4, Mayur Indian Kitchen Tong Hua street buffet restaurant"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_81bc1fa42ceb4fd98a4d2cc7d55c8d0c~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_53961425b7314b488a2c1866151f6204~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"MIK-5 馬友友印度廚房-大直店, Mayur Indian Kitchen, MIK- hi5 Dazhi,"},{"type":"p","text":"地址:台北市北安路630巷8號 No.8, Ln. 630, Bei an Rd., Taipei city"},{"type":"p","text":"CALL: (02) 2533-0698 Google Map : https://goo.gl/maps/JGqFXY44Tpp"},{"type":"p","text":"營業時間 :(週一公休) 12:00 - 15:00/17:00 - 21:30 週末及假日12:00 - 22:00 可容納人數 : 店內約100人 Capacity : 100 people"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_adbdc48ec0224a4daf452bebf7fb6d08~mv2.jpg","alt":"馬友友印度廚房大直店,MIK-5, Mayur Indian Kitchen Dazhi branch"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_09d8a5273b4f4ce982eab606555a669f~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_938bf238ed6a4d4589934f6b98ccd314~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"MIK-6 馬友友印度餐廳酒吧-松江店 Mayur Indian kitchen restaurant bar & MIK-6 live music house"},{"type":"p","text":"地址:台北市松江路1-1號 No. 1-1, Songjiang rd., Taipei CALL: (02) 2500-6186 Google Map : https://goo.gl/maps/d6Pjn2vEgU52 營業時間 :12:00 - 15:00/18:00 - 00:00 星期五~星期六 12:00 - 15:00/18:00 - 03:00 可容納人數 : 店內約 50-60人 Capacity : 50-60 people"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_2dde2584f1e8497d85dfb97ecdb8e882~mv2.jpg","alt":"馬友友印度廚房松江店,MIK-6, Mayur Indian Kitchen restaurant bar & live music house"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_70a99d2b56944a33b8e3a9ecbd7134d2~mv2.jpg","alt":"Live Performance"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_11ec659c989845eba51327d3d1c9e0fb~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_56e159fd91544eda8a6bbf55e66eb590~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"MIK-7 馬友友印度廚房-竹北店Mayur Indian Kitchen Restaurant & Bar,(Zhubei, Hsinchu)"},{"type":"p","text":"地址:新竹縣竹北市光明一路412號 No. 412, Guangming First Road, Hsinchu County, Zhubei City CALL: (03) 5584-666"},{"type":"p","text":"Google Map : https://goo.gl/maps/ezq3grZd9Rr 營業時間 :(週二公休) 11:30 - 14:30/17:00 - 23:00 星期五~星期日 11:30 - 23:00 可容納人數 : 店內約100人 Capacity : 100 people"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_bcb1e7e932f54d3cb6864ce560981e37~mv2.jpg","alt":"馬友友印度廚房竹北店,MIK-7, Mayur Indian Kitchen Zhubei branch"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_062e9035a1ec43ca88fc2b67a1f99583~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_b1f25ce30aa3421ea10ffcf6cfb761dd~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_337c5ba852fe47b7920c23a459b14a8e~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#birthdayparty #Newyearsparty #CHRISTMASPARTY #weddingparty #印度菜外燴 #Indiancatering"}]},{"slug":"recovered-wix-post-18","legacyPath":"/single-post/馬友友印度廚房-素食餐廳-mayur-indian-kitchen-vegetarian-restaurant-mik-3","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/馬友友印度廚房-素食餐廳-mayur-indian-kitchen-vegetarian-restaurant-mik-3","title":"Mayur Indian Kitchen Vegetarian restaurant, MIK-3","seoTitle":"Mayur Indian Kitchen Vegetarian restaurant, MIK-3","seoDesc":"Mayur Indian Kitchen, MIK-3 (Jinan Rd.) Mayuur's third branch of the Indian Kitchen is located at Jinan Rd. It is close to Taipei’s largest electronics sho","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2022-09-28","dateModified":"2025-12-01","readTime":"1 min read","author":"Mayur Srivastava","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_ea6bfcee8625472491cc17650500abf2~mv2.jpg","imageAlt":"Original Wix article image","excerpt":"Mayur Indian Kitchen, MIK-3 (Jinan Rd.) Mayuur's third branch of the Indian Kitchen is located at Jinan Rd. It is close to Taipei’s largest electronics sho","content":[{"type":"p","text":"Sep 28, 2022"},{"type":"p","text":"1 min read"},{"type":"p","text":"Updated: Dec 1, 2025"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_ea6bfcee8625472491cc17650500abf2~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_6b8a4a4699034d1498427c1e5e888afa~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"Mayur Indian Kitchen, MIK-3 (Jinan Rd.) Mayuur's third branch of the Indian Kitchen is located at Jinan Rd. It is close to Taipei’s largest electronics shopping mall, Guanghua Mall. It is a 5-minute drive from Taipei Station. Address: No. 64-2, Sec. 2, Jinan Rd., Taipei City Google Map Opening hours : (Monday, two public holidays) Weekdays 11:00 - 14:30/15:30 - 21:00 Weekends/National Holidays 11:00 - 21:00 Open all day Capacity : About 40-45 people in the shop Price : Moderate NT 350-500/person (with cash and credit card services) Cuisine style: Nanyin Jiachang Vegetable Cuisine and Beiyin Cuisine There is a paid parking nearby Transportation: Zhongxiao Shin Sang MRT Station"},{"type":"p","text":"Mayur Indian Kitchen, MIK-3 location serves Indian cuisine in Taipei since 2012. In 2018, it has been renovated into Vegetarian and Vegan Indian restaurant in April 2018 which serves South Indian cuisine on banana leaf as well as other major Indian vegetarian dishes from all over the India. We do not serve any kind of meat at this Mayur Indian Kitchen, MIK-3 branch."},{"type":"p","text":"MIK-3 is near Gunaghua digital plaza computer market, nearby to National Taipei University of Technology, Ambience Hotel and Evergreen Laurel Hotel and many business hotels for business travelers and economivcally cheap accomodation. It is very near from Taipei Station in taxi or in MRT or public bus. For two wheelers and four wheelers, there is a paid parking opposite to the restaurant."},{"type":"p","text":"Google reviews about MIK-3 Jinan"},{"type":"p","text":"Facebook reviews of guest"},{"type":"p","text":"Picture gallery of MIK-3"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_e78820bd79a4465bb0598241ae273166~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_9e18b1488aa44cd2a6ca80bafd130dfc~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_a8e3302597bc4a95bdcc03e99ebf3ffd~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_5b9e7690889348de84fad6b53ad9664c~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_79c0dd4e5424de85a2d41fc25048b177.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_b19ca1c6b79b037
62656a4550f926823f1f.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_558c6396cae7adec420cea143bcac639.jpg","alt":"Original Wix article image"},{"type":"p","text":"#Vegetarianrestaurant #素食餐廳 #MIK3 #IndianVegetarianrestaurant"}]},{"slug":"recovered-wix-post-19","legacyPath":"/single-post/discover-the-best-indian-restaurants-in-taipei","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/discover-the-best-indian-restaurants-in-taipei","title":"Discover the Best Indian Restaurants in Taipei","seoTitle":"Discover the Best Indian Restaurants in Taipei","seoDesc":"Explore the best Indian restaurants in Taipei, offering authentic cuisines, and learn what makes them special in Taiwan's vibrant food scene.","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2025-07-04","dateModified":"2025-07-04","readTime":"4 min read","author":"Mayur Srivastava","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_8d4552cbdf414776a33ab70d7ed7e0d4~mv2.png","imageAlt":"Close-up view of a bowl of butter chicken","excerpt":"Explore the best Indian restaurants in Taipei, offering authentic cuisines, and learn what makes them special in Taiwan's vibrant food scene.","content":[{"type":"p","text":"Jul 4, 2025"},{"type":"p","text":"4 min read"},{"type":"p","text":"Taipei is a bustling city renowned for its diverse food scene, and Indian cuisine has found a warm welcome among locals and expatriates alike. With a blend of aromatic spices and rich flavors, the best Indian restaurants in Taipei serve not only traditional dishes but also innovative twists that reflect the city's dynamic culinary landscape. Below, we’ll explore some of the top spots that you should not miss when you're craving Indian food."},{"type":"h2","text":"Best Indian Food Taipei: A Flavorful Experience"},{"type":"p","text":"When it comes to enjoying the best Indian food in Taipei, numerous options cater to various tastes and preferences. From cosy eateries to upscale dining establishments, each restaurant offers unique dishes prepared with authentic ingredients sourced from India."},{"type":"p","text":"Some of the highlights of Indian cuisine include popular dishes such as butter chicken, biryani, and various types of naan bread, which can serve as the perfect accompaniment. If you are looking to explore Indian culture, many restaurants often incorporate traditional decorations and attire to enhance the dining experience."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_8d4552cbdf414776a33ab70d7ed7e0d4~mv2.png","alt":"Close-up view of a bowl of butter chicken"},{"type":"h3","text":"Top Picks for Indian Restaurants in Taipei"},{"type":"p","text":"Here’s a curated list of the best Indian restaurants in Taipei that you must try:"},{"type":"p","text":"Located in the heart of Taipei, MIK-1 is known for its authentic homestyle Indian cuisine. The ambience is both homely and simple, making it a great spot for a casual dining experience."},{"type":"p","text":"The must-try dishes include the spicy lamb curry and palak paneer. The restaurant's friendly staff provides excellent service, enhancing the overall dining experience. If you are in the area, this spot is worth a visit. One of the guests' quotes, \\"There are many meal options, ranging from various flavours of curry, naan, roast chicken to Indian The taste is very good! The naan was very good and the portion was moderate, the roast chicken was very tender, and the curry with spinach and mutton was delicious."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_e48388faeab6466aaeb7f253daafd88f~mv2_d_5472_3648_s_4_2.jpg","alt":"Local people enjoying the Indian cuisine in Taipei, Taiwan"},{"type":"p","text":"Modern Indian cuisine, urban dining experience, and award-winning cocktails in Taipei that offer a delightful array of traditional Indian dishes. The extensive menu includes vegetarian options, seafood, and meat dishes, ensuring that there’s something for everyone."},{"type":"p","text":"The guest Meenakshi quotes' The food was outstanding. The flavours were on point. For a second, I couldn’t believe that I was eating this food in Taiwan. It is a must-try if you appreciate good food and great service with breathtaking views of Taipei 101. I recommend making a reservation in advance and asking for a table near the panoramic glass window."},{"type":"p","text":"Masala Thai serves a wonderful fusion of Thai and Indian flavours. Their unique approach combines traditional Indian spices with Thai cooking techniques. Some of the must-try dishes are the curry fried rice and their signature masala soup."},{"type":"p","text":"If you appreciate the journey of flavours and are open to trying something different, this restaurant should be on your list. 4. Moks
626ha Taipei"},{"type":"p","text":"5. Atithi Indian restaurants"},{"type":"p","text":"6 Orchid Indian restaurant is one of the other exciting Indian restaurants in Taipei!"},{"type":"h3","text":"Exploring Unique Dishes"},{"type":"p","text":"As you explore the various Indian restaurants in Taipei, take the time to discover unique dishes that may not be as commonly found elsewhere."},{"type":"p","text":"For instance, many restaurants offer regional specialities from different parts of India. You might find dishes such as:"},{"type":"p","text":"Dhokla: A steamed snack made from fermented rice and chickpea batter."},{"type":"p","text":"Rogan Josh: A flavorful lamb dish cooked with aromatic spices."},{"type":"p","text":"Pani Puri: A popular street food filled with flavoured water and spices."},{"type":"p","text":"Being adventurous with your food choices can introduce you to delightful flavours you've never experienced before."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_1279a4aacb7649859d4a1fbae2083c56~mv2.png","alt":"Eye-level view of an assortment of colorful Indian spices"},{"type":"h3","text":"Tips for Enjoying Indian Cuisine in Taipei"},{"type":"p","text":"To fully enjoy your experience at the best Indian restaurants in Taipei, consider these helpful tips:"},{"type":"p","text":"Start with Appetisers: Indian cuisine is renowned for its rich selection of appetisers. Explore options like samosas and pakoras to begin your meal."},{"type":"p","text":"Ask for Recommendations: Don’t hesitate to ask the waitstaff for their favourite dishes or specials of the day."},{"type":"p","text":"Pair with Drinks: To elevate your meal, try pairing your food with traditional drinks like lassi or chai."},{"type":"p","text":"Share Dishes: During your visit, share different dishes with your group. This way, you can taste a variety of flavours and preparations."},{"type":"p","text":"Dining at Indian restaurants in Taipei isn’t just about the food; it’s also an experience that encompasses the culture, hospitality, and traditions of India."},{"type":"h3","text":"Final Thoughts on Indian Food in Taipei"},{"type":"p","text":"Finding the best Indian food in Taipei can be a delightful adventure, offering a variety of restaurants that cater to different tastes and preferences. Each restaurant provides a unique dining experience that celebrates the flavours of India."},{"type":"p","text":"If you're an expat or a local looking to explore the spicy flavours of Indian cuisine, make sure to visit these top restaurants. You’ll discover a menu filled with fragrant dishes, each telling a story through its rich history and vibrant culture."},{"type":"p","text":"For a more extensive list of Indian dining options, you can check"},{"type":"p","text":"that will guide you to the best experiences around the city. Enjoy your culinary journey!"}]},{"slug":"recovered-wix-post-20","legacyPath":"/single-post/welcome-to-mayur-indian-kitchen-try-the-taste-of-india-while-exploring-computex-taipei","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/welcome-to-mayur-indian-kitchen-try-the-taste-of-india-while-exploring-computex-taipei","title":"Welcome to Mayur Indian Kitchen: Try The Taste of India while exploring Computex Taipei!","seoTitle":"Welcome to Mayur Indian Kitchen: Try The Taste of India while exploring Computex Taipei!","seoDesc":"As Taipei gears up for Computex 2024, we warmly invite all visitors to experience a culinary journey at Mayur Indian Kitchen, the largest and most beloved ","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2024-05-28","dateModified":"2024-05-28","readTime":"3 min read","author":"Mayur Srivastava","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_c22fdb4b03634a3990cbdbd44ec58837~mv2.jpg","imageAlt":"Original Wix article image","excerpt":"As Taipei gears up for Computex 2024, we warmly invite all visitors to experience a culinary journey at Mayur Indian Kitchen, the largest and most beloved ","content":[{"type":"p","text":"May 28, 2024"},{"type":"p","text":"3 min read"},{"type":"p","text":"As Taipei gears up for Computex 2024, we warmly invite all visitors to experience a culinary journey at Mayur Indian Kitchen, the largest and most beloved Indian restaurant chain in Taiwan. Whether you're a techie, a food enthusiast, a lover of Indian cuisine, or simply looking for a welcoming place to dine, Mayur Indian Kitchen promises an unforgettable experience."},{"type":"p","text":"A Diverse Menu to Delight Every Palate"},{"type":"p","text":"At Mayur Indian Kitchen, we pride ourselves on offering a wide array of dishes that cater to diverse tastes and dietary preferences:"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_ae681212be9543c18b5ccb77ca5ada95~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_8462c6c901a14168aad592a31fd1abb3~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_5e57fe242acb48faaf314551399cd0fa~mv2.png","alt":"Original Wix article image"},{"type":"p","text":"Vegetarian Delights: Enjoy traditional South Indian favourites like dosa, idli, and sambhar, or savour our flavorful biryanis and fresh naan. You can try our North Indian Thalis, which includes naan, basmati rice, chana masala, and any main course like mixed begetable korma or paneer makhani. Our a la carte menu offers a lot of vegetarian delights."},{"type":"p","text":"A Lot for Meat Eaters: Indulge in our succulent tandoori meats, BBQ dishes, and spicy Indo-Chinese cuisine."},{"type":"p","text":"Halal and Muslim-Friendly: We offer halal-certified meats and have a dedicated halal restaurant, MIK-8, with a Muslim manager to ensure the highest standards."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_5207d1921277434ebc69e83022b5be27~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_8e5d66d29f3e42b6927f3d503c305d98~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_98f4b199689842c3954e8dd441da38f2~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"Special Dietary Needs: Our menu includes a variety of vegetarian, vegan, and gluten-free options, and we have a dedicated vegetarian and vegan location at MIK-3."}
626,{"type":"p","text":"Unique Ambiances Across Locations"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_ea6bfcee8625472491cc17650500abf2~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_18c92bbe85444d5698372deff83d4b02~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_dc897ef1e4aa483692ec96f91bd2b190~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"Each Mayur Indian Kitchen location in Taipei and beyond offers a distinct dining experience:"},{"type":"p","text":"Fine Dining: MIK-2 is perfect for those seeking a luxurious dining experience."},{"type":"p","text":"Home-Style Cuisine: Visit MIK-1 near the iconic Taipei 101 building for a taste of home-style Indian cooking."},{"type":"p","text":"Vegetarian and Vegan Haven: MIK-3 offers a completely meat-free menu, ensuring a pure vegetarian and vegan dining experience."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_20fe6c350a3247089b0608b6af62861e~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_3bfc9a19924243bd8c0340e0ffaa657b~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_927718be3e274a7c8b77848f7e7d7aba~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"Muslim-Friendly Dining: MIK-8 caters specifically to our Muslim guests, providing a comfortable and welcoming environment with halal-certified dishes."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_1955cdbbb9e746d5ab42879be3b41f5d~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"Convenient Locations and Accessibility:"},{"type":"p","text":"With seven locations in Taipei, one in New Taipei City, one near Taoyuan Airport, one near Taipei Airport, one in Zhubei City, and two in Taichung, you’re never far from a Mayur Indian Kitchen in Taiwan. All our restaurants are easily accessible via the MRT system, bus, local transport, taxi, or Uber, making it convenient for you to drop by anywhere."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_356aa2352cc14d3abf7a46b2107dae54~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"Exceptional Services and Entertainment"},{"type":"p","text":"Free Delivery and Takeaway:"},{"type":"p","text":"We offer free delivery in Taipei (for more details, ask us by line: https://line.me/ti/p/@688vynca or WhatsApp +886921004175, and our delicious dishes are available on Uber Eats and FoodPanda too! You can pay in cash or by credit card. We accept linepay, Paypal, online payment too."},{"type":"p","text":"Special Promotions: At MIK-6, enjoy a \\"buy one, get one free\\" offer on beers and drinks until midnight, along with free live performances, such as belly dancing and live musical bands, every night. To know more, visit our Facebook pages and see the calendar of performances."},{"type":"p","text":"Every night, there will also be free live performances, such as belly dancing and live musical bands. To learn"},{"type":"p","text":"Genuine Reviews and Authentic Experience"},{"type":"p","text":"At Mayur Indian Kitchen, we value authenticity and guest satisfaction. Our online reviews reflect genuine customer experiences, as we prioritise providing the best authentic Indian taste, comfortable pricing, and excellent service. This commitment has made us the largest and most popular Indian restaurant chain in Taipei, standing out from our competitors."},{"type":"p","text":"Visit Us During Computex 2024"},{"type":"p","text":"We look forward to welcoming all Computex visitors—foreigners, Indians, and Muslim guests alike—to Mayur Indian Kitchen. Come and experience the rich flavours of India, our staff's warm hospitality, and our restaurants' vibrant atmosphere. Whether dining in, taking away, or enjoying a live performance at MIK-6, Mayur Indian Kitchen promises to make your visit to Taipei even more memorable."},{"type":"p","text":"See you soon at Mayur Indian Kitchen!"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_1e3e80a542744de28a430236ac4ac1d7~mv2.png","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_61bdd99d7f124e7d90566b562f16286a~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_c6f3c6eb61f64f98a653d70193218344~mv2.png","alt":"Original Wix article image"}]},{"slug":"recovered-wix-post-21","legacyPath":"/single-post/2018/06/22/馬友友印度廚房-外燴服務桃園印度交流論壇","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2018/06/22/馬友友印度廚房-外燴服務桃園印度交流論壇","title":"馬友友印度廚房-外燴服務(桃園印度交流論壇)","seoTitle":"馬友友印度廚房-外燴服務(桃園印度交流論壇)","seoDesc":"馬友友印度廚房為台北受歡迎的的連鎖印度餐廳,不定期在台北舉辦印度相關美食或是節慶活動。 為了服務廣大的消費者,我們也提供外燴服務。 這次桃園市政府與印度台北協會合辦「2018桃園印度交流論壇–商貿、旅遊與文化」,選擇了馬友友印度廚房外燴服務替參與交流論壇的貴賓提供多元化且精緻的印度料理、印度點心和飲料。 無論","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2018-06-22","dateModified":"2018-06-22","readTime":"1 min read","author":"Mayur Indian Kitchen","language":"zh-TW","image":"https://static.wixstatic.com/media/e9b5bf_77abbb89d3d94ba38d49c91aaa7f54f8~mv2.jpg","imageAlt":"Original Wix article image","excerpt":"馬友友印度廚房為台北受歡迎的的連鎖印度餐廳,不定期在台北舉辦印度相關美食或是節慶活動。 為了服務廣大的消費者,我們也提供外燴服務。 這次桃園市政府與印度台北協會合辦「2018桃園印度交流論壇–商貿、旅遊與文化」,選擇了馬友友印度廚房外燴服務替參與交流論壇的貴賓提供多元化且精緻的印度料理、印度點心和飲料。 無論","content":[{"type":"p","text":"Jun 22, 2018"},{"type":"p","text":"1 min read"},{"type":"p","text":"馬友友印度廚房為台北受歡迎的的連鎖印度餐廳,不定期在台北舉辦印度相關美食或是節慶活動。 為了服務廣大的消費者,我們也提供外燴服務。 這次桃園市政府與印度台北協會合辦「2018桃園印度交流論壇–商貿、旅遊與文化」,選擇了馬友友印度廚房外燴服務替參與交流論壇的貴賓提供多元化且精緻的印度料理、印度點心和飲料。 無論是聚會活動、各式茶會、派對等等,都能為您量身規劃專屬外燴到府服務。 外燴的菜單可依客戶實際需求為您貼心規劃。 如有需要外燴服務,請連繫: 02-25431817 or 0921004175"},{"type":"p","text":"馬友友印度廚房"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_8cd09f797df0437694410c0949faf80a~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_3b89a32711bb42a4bac786a24522b533~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_f2350fd18eb14cdc8df102e06b54f92b~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_fb67dc51291c4b11813f3ce9d004eddb~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_00d794b70c0c4ddb8f2c46feda6c7b1c~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_d9e9bd0f45ea4c2a8b66b5555103cfff~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_77abbb89d3d94ba38d49c91aaa7f54f8~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_953604a8f83a46d985f68c12fd98647d~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_84dcf205bd1d47be96793458b12a4de3~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_62b80a64bc8f49d7bbdc73c8a7fa8040~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_07ec84b456554dfca4e8c3c9db75d17c~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_06a1ba30d64c4602adfdcc5ef27b83f5~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_1f1eea3fb37445199edd733f2d4154fe~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"#Indiancatering #Indianrestaurant #MAYURINDIANKITCHEN #馬友友印度廚房 #台北印度菜 #印度菜外燴"}]},{"slug":"recovered-wix-post-22","legacyPath":"/single-post/2018/05/31/2018-computex-國際電腦展-馬友友印度廚房免費外送mayur-indian-kitchen-indian-food-free-delivery","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2018/05/31/2018-computex-國際電腦展-馬友友印度廚房免費外送mayur-indian-kitchen-indian-food-free-delivery","title":"國際電腦展-馬友友印度廚房免費外送,Indian Food Free Delivery by Mayur Indian Kitchen Taipei for COMPUTEX 2018","seoTitle":"國際電腦展-馬友友印度廚房免費外送,Indian Food Free Delivery by Mayur Indian Kitchen Taipei for COMPUTEX 2018","seoDesc":"COMPUTEX創辦於1981年,30多年來一路與全球ICT產業一同成長、茁壯,見證產業發展與轉變的歷史性時刻,每年吸引超過4萬名的國際買主來臺參觀及採購,亦是國際指標廠商選擇公布劃時代產品的首選平台。 馬友友印度廚房歡迎所有來參加2018台北國際電腦展的朋友。 如果您正在尋找蔬食,純素食,清真料理或任何與印","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2018-05-31","dateModified":"2018-05-31","readTime":"2 min read","author":"Indian food in Taipei","language":"zh-TW","image":"https://static.wixstatic.com/media/e9b5bf_08ea53c25efe45b4a786207d213715bd~mv2.jpg","imageAlt":"computex taipei Indian food free delivery","excerpt":"COMPUTEX創辦於1981年,30多年來一路與全球ICT產業一同成長、茁壯,見證產業發展與轉變的歷史性時刻,每年吸引超過4萬名的國際買主來臺參觀及採購,亦是國際指標廠商選擇公布劃時代產品的首選平台。 馬友友印度廚房歡迎所有來參加2018台北國際電腦展的朋友。 如果您正在尋找蔬食,純素食,清真料理或任何與印","content":[{"type":"p","text":"May 31, 2018"},{"type":"p","text":"3 min read"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_08ea53c25efe45b4a786207d213715bd~mv2.jpg","alt":"computex taipei Indian food free delivery"},{"type":"p","text":"COMPUTEX創辦於1981年,30多年來一路與全球ICT產業一同成長、茁壯,見證產業發展與轉變的歷史性時刻,每年吸引超過4萬名的國際買主來臺參觀及採購,亦是國際指標廠商選擇公布劃時代產品的首選平台。"},{"type":"p","text":"馬友友印度廚房歡迎所有來參加2018台北國際電腦展的朋友。 如果您正在尋找蔬食,純素食,清真料理或任何與印度食品有關的食物,我們很樂意為您量身定制烹飪。 我們將根據您的口味和需求烹飪印度菜餚,並免費外送。欲了解更多信息,請致電0921004175。"},{"type":"p","text":"同時,如果您會比較晚用餐或在晚上想喝幾杯調é
626…’,或在尋找可以舉辦派對的場所,我們同樣能滿足您的需求。"},{"type":"p","text":"馬友友印度餐廳分店: (基隆路店MIK-1) (民生店MIK-2) (新生店MIK-3)"},{"type":"p","text":"(通化店MIK-4) (大直店MIK-5) (松江店MIK-6)"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_7588a6a58a644ae18fd2765d41569aa6~mv2.jpg","alt":"馬友友印度廚房免費外送, Indian food delivery Taipei"},{"type":"p","text":"Established in 1981, COMPUTEX TAIPEI (also called COMPUTEX) is the leading global ICT and IT show with a complete supply chain and ecosystems. Every Year many computer engineers, companies and IT tycoons visit Taipei, Taiwan to explore the latest technology, exchange IT innovations, R&D etc."},{"type":"p","text":"We, Mayur Indian kitchen, one of the biggest Indian restaurant chain in Taipei welcomes all visitors, friends at Computex Taipei 2018. If you are looking for vegetarian, Vegan, Halal or anything related to Indian food, we would love to do customized cooking for you. We are expert to do Indian cuisine with your favorable taste. We take care of your religious beliefs, taste and quality too. For more information or free delivery of Indian food to Computex Taipei booth or your hotel, call 0921004175 or visit our nearest branch of Mayur Indian Kitchen."},{"type":"p","text":"Mayur Indian kitchen restaurant branches in Taipei : (MIK-1) (MIK-2) (MIK-3)"},{"type":"p","text":"(MIK-4) (MIK-5) (MIK-6)"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_935dbbb09cb34de580f23e68bc2c891a~mv2.jpg","alt":"The vegetarian Indian cuisine Taipei"},{"type":"p","text":"The vegetarian - Vegan cuisine of Mayur Indian Kitchen, MIK-3 branch. It serves South Indian menu and North Indian cuisine as well."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_7f3d0070a74e4049953bb181ef2b0e1d~mv2.jpg","alt":"Mayur Indian Kitchen, MIK-1"},{"type":"p","text":"The Mayur Indian Kitchen on Keelung rd, MIK-1 is just minutes far away from TAITRA, Computex exhibition hall. In case if someone wants free delivery, can call us anytime for Lunch & dinner."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_9ffe078aad07453bbaf5d08d89a9fe95~mv2.jpg","alt":"Original Wix article image"},{"type":"p","text":"The Mayur Indian kitchen next to sherwood hotel on Minsheng e.rd. serves Fine Dine Indian cuisine with high end classic, warm and elegant settings."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_dc897ef1e4aa483692ec96f91bd2b190~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_523e2f04970946cfa049e8bc6c568f04~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"p","text":"The entrance door of Mayur Indian Kitchen restaurant & bar, MIK-6 live house in short which serves Indian cuisine till mid night along with live performances, belly dance shows, alcoholic & Non - alcoholic drinks, Shisha/Hookah etc."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_9a7cd65e120b4348906170e35dcf4411~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"p","text":"Guests enjoying the Indian food and live music show at MIK-6"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_0a149101d29141c9800b25b556b1c1de~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"p","text":"Sexy Samba dance performance at MIK-6, live house & shisha bar Taipei"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_87fba0f6da5449c684417b71ce10331d~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"p","text":"Bollywood Dance performance by Dance groups in Taipei at MIK-6 live house & shisha bar"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_81391e812d804f1086f91edd180b2806~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"p","text":"The Blues live jam at MIK-6 live house & shisha bar"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_ec73616f1a46465ab5c025b75a101d71~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"p","text":"Indian bartender preparing drinks at Mayur Indian Kitchen restaurant & MIK-6 live house live shisha bar"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_359c45d160e643e58c8e5be58288a8c9~mv2_d_1424_2000_s_2.jpg","alt":"Indian imported no nicotine Shisha/ Hookah available at Mayur Indian Kitchen restaurant, MIK-6 shisha live bar"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_35f67cb34c14447fa590698abb4d684e~mv2.png","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_aca49ddbb9614eacb9b23979535f8635~mv2.jpg","alt":"Friends Enjoying Shisha/ Hookah at MIK-6 live house & shisha bar"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_61901ad4c1f744c6ab22a31555871397~mv2_d_2048_1365_s_2.jpg","alt":"Original Wix article image"},{"type":"p","text":"Mayur Indian Kitchen MIK-4 locations serves unlimited Indian food, all you can eat style buffet for NTD 449+10% This location is very close to Taipei 101 & TAITRA computex exhibition hall."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_1fc9d639f848432c91daca51c03b9e0c~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"}
626,{"type":"p","text":"The biggest, boldest and the beautiful branch of Mayur Indian Kitchen's fifth branch known as MIK-hi5 in Dazhi, Neihu. It's very near to Software parks and Taipei Mariott hotel."},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_a0d8628e9aa842d9aa9625803be48a47~mv2_d_2000_1334_s_2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_857992e39dfa4f68994a075d45208b6c~mv2.jpg","alt":"Original Wix article image"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_13b53d6049a2451990a31d62a60d0114~mv2.jpg","alt":"Tandoori Veg and Non veg options at MIK Taipei"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_e87b888bb0f0443583727db7bfed3e40~mv2.jpg","alt":"Alcoholic & non alcoholic drinks at Mayur Indian Kitchen restaurant, MIK-6 live shisha bar"},{"type":"p","text":"飲酒勿開車未滿18歲者,禁止飲酒本場所不販賣酒予未滿18歲者。"},{"type":"p","text":"#2018COMPUTEXTAIPEI #MAYURINDIANKITCHEN #ComputexIndianFood #Indianfoodintaipei #freedelivery #Computex2018 #PartyDrinks #ShishaHookah"}]},{"slug":"recovered-wix-post-23","legacyPath":"/single-post/2016/11/30/mayur-indian-kitchen-its-an-unforgettable-indian-experience","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2016/11/30/mayur-indian-kitchen-its-an-unforgettable-indian-experience","title":"Mayur Indian Kitchen ~ It's an unforgettable Indian experience","seoTitle":"Mayur Indian Kitchen ~ It's an unforgettable Indian experience","seoDesc":"Mayur Indian Kitchen, Spring 2013 Indian cuisine which has a rich level of flavor, let the taste stays on your tongue.","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2013-02-14","dateModified":"2013-02-14","readTime":"5 min read","author":"Famous Taiwanese Blogger Carrie Wu","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_862ecde37e234ef2af1941015c789df2~mv2_d_3840_5760_s_4_2.jpg","imageAlt":"Mayur Indian Kitchen ~ It's an unforgettable Indian experience","excerpt":"Mayur Indian Kitchen, Spring 2013 Indian cuisine which has a rich level of flavor, let the taste stays on your tongue.","content":[{"type":"p","text":"Feb 14, 2013"},{"type":"p","text":"4 min read"},{"type":"p","text":"For Mandarin 中文 English version of the blog - Mayur Indian Kitchen, Spring 2013"},{"type":"p","text":"Indian cuisine which has a rich level of flavor, let the taste stays on your tongue"},{"type":"p","text":"To evoke the memories of those years with old friends, we are at Mayur Indian Kitchen"},{"type":"p","text":"when i heard of the name \\" MAYUR INDIAN KITCHEN\\" , Carrie wondered when did restaurant had been opened ~ha ha, the name 馬友友非彼馬友友 is the name of the owner Mayur Srivastava."},{"type":"p","text":"3 years ago, when he was a chef at 六福皇宮 , his wife helped him out to choose this cool Chinese name 馬友友, because i always wish in Taiwan you can eat your favorite country food, that's why Native Indian Mayur is very diligent, does efforts to operate an Indian restaurant."},{"type":"p","text":"And no need to mention the beautiful handmade crafts and he is very enthusiastic. Many years in the world Trade International Exhibition, he gave free Indian milk tea."},{"type":"p","text":"Mayur opened 3 restaurants (Update : 5 until 2016) The one on the Xin Sheng Bei Road is the newest restaurant. The restaurant we are in is also new. The other 2 restaurants' meals are not the same. And they emphasize the curry."},{"type":"p","text":"The restaurant on Xin Sheng has bigger attempts and patterns. He said : 「 India has 28 states, and every states has their own cuisine."},{"type":"p","text":"App. there are 30 or 40 different kinds of cuisines. Because what Taiwanese people know about Indian cuisine is just curry and bread. So i would like to do something different on local Indian cuisines here.」"},{"type":"p","text":"The decoration of restaurant is very elegant, and every corner has a rich Indian taste."},{"type":"p","text":"The floor has a mysterious totem footsteps to lead the guests. The restaurant has 2 floors, the middle has a rotating ladder which goes upstairs.The menu has classic taste of Indian cuisines and 2 full pages veg dishes. Really considerable and a great feature. Who eats veg should come here !The seats on the second floor is great, the wall has full of special Indian photography. And also a large TV which you can watch Indian dance and listen Indian music.Come here quickly to taste these great dishes !"},{"type":"p","text":"Plain naan is 55NT$ Indian pancake is Carrie's one of the favorite dishes.Naan can be cut in small pieces and eaten with any kind of curry together.Every single piece of it let people unable to stop.In the first floor, there is a naan corner and also a cook who is responsible to make special naan or ingredients can be put in the naan and eat by rolling it down.When you had a bite from the bread, the crunchy pancake skin also comes with it.The scorched part has a crispy taste, and also exudes a charming aroma ."},{"type":"p","text":"Garlic naan is 55NT$ The thick garlic makes the taste of naan profou
626nd."},{"type":"p","text":"Dal Soup is 95NT$ It has a rich fragrance, drink a little is enough to feel energetic."},{"type":"p","text":"Malai Tikka is 270NT$Yoghurt softens the chicken fiber is good with sweet pepper.it worths to mention the 沾醬, the apperance looks like Italian 青醬Featured chicken thigh with 7 to 8 different spices and the home made yoghurt is pickled 6 hrs.but when you start eating, you get indian curry taste, and adding a little spice is super tasty, veg salad and onion on the side is also delicious."},{"type":"p","text":"Tofu Tikka is 175NT$ The basil flavor and Tofu is good together."},{"type":"p","text":"Indo-Chinese style veg Manchurian is 195NT$ Eating vegetable balls are very refreshing. Seasoned spicy is also great on it."},{"type":"p","text":"Chili Paneer is 195NT$ The cheese is super chewy"},{"type":"p","text":"Chili naan is 75NT$ This kind of naan is crispy as a biscuit and has a special spicy flavor."},{"type":"p","text":"Cheese naan is 95NT$ Roll it down by adding salad inside has a great taste."},{"type":"p","text":"Lucknowi Chaape is 380NT$ The main taste comes from the indian chili powder, mustard oil, ginger, clove and the other spices The lamb has no smell, and has a small bone that you can hold the bone to eat. That's very easy and convenient. Carrie really recommends!"},{"type":"p","text":"South Indian lemon king Prawn is 380NT$ The prawn is super big, has a simple and pure cooking technique. It presents the fresh taste of king shrimp."},{"type":"p","text":"Roasted Chicken Curry is 380NT$ Super delicious chicken curry is more delicious if you eat with naan."},{"type":"p","text":"Palak Lamb is 350NT$ Green curry is also a must-order dish of Indian restaurant.Adding cheese makes the curry has a strong taste."},{"type":"p","text":"Golden Shrimp is 390NT$ The shrimp has a fresh meat.Let people want to eat more."},{"type":"p","text":"Masala Tea is 80NT$ The waiter comes near the table and give a show by filling from distance the empty glass. This is a must-order beverage in this restaurant."},{"type":"p","text":"Rasgulla is 80NT$ This dessert is quite sweet. The milk balls are coated with syrup. After eating one bite, the sweet taste directly reaches your forehead."},{"type":"p","text":"like eating Sashimi mustard, there is almost the same purpose to ensure the people to eat sweet, it is really worth to try ^^"},{"type":"p","text":"Kheer is 120NT$ Pudding has a thick milk taste,and the rice in it is very chewy but also very sweet."},{"type":"p","text":"After eating the dinner, Mayur was inviting people to taste the spices in front of the counter.The flavor of these two were totally different.Inside of the box, there was thin cumin at the front side, cardamon at the back side."},{"type":"p","text":"Mayur experienced in all the Indian hotels and restaurant by the age of 20, and he is able to do North-South Indian cuisines. North India has lots of meat cuisine with lots of spices and yogurt. South India has lots of sea food cuisine with less spice but the taste is still heavy."},{"type":"p","text":"His meals have various colors. 沾醬, cheese, yoghurt are all what he,himself did."},{"type":"p","text":"#MAYURINDIANKITCHEN #Carriewu #Taiwanblogger #六福皇宮 #Indianexperience #IndianrestaurantTaipei"}]},{"slug":"recovered-wix-post-24","legacyPath":"/single-post/2014/01/04/the-visit-of-mayurs-indian-kitchen-no3","sourceUrl":"https://www.indianfoodtaiwan.com/single-post/2014/01/04/the-visit-of-mayurs-indian-kitchen-no3","title":"The visit of Mayur's Indian Kitchen - No.3","seoTitle":"The visit of Mayur's Indian Kitchen - No.3","seoDesc":"Here is Mayur's restaurant. The boss Mayur is not the cellist Mayur we know. He is an Indian master chef from India. Let's taste the delicious Indian cuisi","category":"Story","tags":["Mayur Indian Kitchen"],"publishDate":"2014-01-03","dateModified":"2014-01-03","readTime":"3 min read","author":"Taiwan Travel","language":"en","image":"https://static.wixstatic.com/media/e9b5bf_c04e10b7b3174993bfaf4b86b0e705b3~mv2_d_3840_5760_s_4_2.jpg","imageAlt":"South & North Indian Cuisine at Mayur's no.3 on Xinsheng n.rd., Taipei","excerpt":"Here is Mayur's restaurant. The boss Mayur is not the cellist Mayur we know. He is an Indian master chef from India. Let's taste the delicious Indian cuisi","content":[{"type":"p","text":"Jan 4, 2014"},{"type":"p","text":"3 min read"},{"type":"image","src":"https://static.wixstatic.com/media/e9b5bf_c04e10b7b3174993bfaf4b86b0e705b3~mv2_d_3840_5760_s_4_2.jpg","alt":"South & North Indian Cuisine at Mayur's no.3 on Xinsheng n.rd., Taipei"},{"type":"p","text":"Here is Mayur's restaurant. The boss Mayur is not the cellist Mayur we know."},{"type":"p","text":"He is an Indian master chef from India. Let's taste the delicious Indian cuisines !"},{"type":"p","text":"Mayur is doing a great job, not only running the restaurant but also expanding to other locations."}
626,{"type":"p","text":"Today we came to the restaurant on Xin Sheng Bei Rd. , No.3. This location is really hard to find."},{"type":"p","text":"If you come from the direction of 忠孝新生 MRT, walk along on Xin Sheng north rd."},{"type":"p","text":"When you pass 光華 shopping mall and 市民大道, you will see the location on the small lane under civic boulevard bridge."},{"type":"p","text":"But even you turn from the lane, the special decorations are calling attention on people that you cannot miss the place."},{"type":"p","text":"The restaurant is not that big. And there are less tables though."},{"type":"p","text":"It was decorated with Indian style with a wonderful background music. That's really exotic!"},{"type":"p","text":"I don\\"t know how to use those vessels."},{"type":"p","text":"The only powerful thing about the Indian cuisine is it\\"s smell. And the wall side is decorated with spice cans side by side.Today we came here so early that's why seats were all empty."},{"type":"p","text":"Every table has their tableware on it, waits for us to dine."},{"type":"p","text":"We had viewed enough, it is time to order !"},{"type":"p","text":"The cuisines names in the menu are what i never heard before. What i know about Indian cuisine is curry and naan. well, I am not sure where to start order!"},{"type":"p","text":"The better let's read the beginning text about Indian cuisines on the menu.Naan is not only a naan. There is a list of different flavors.The above is small part of the menu. For the details, you can go to the official website.In short, Let's try the curry and naan we ordered."},{"type":"p","text":"Chicken Tikka Masala - 295NT$"},{"type":"p","text":"The curry came to the table very quickly, and the table was covered with the curry smell."},{"type":"p","text":"This reddish thick Indian curry is not like yellowish Taiwanese curry."},{"type":"p","text":"It is a little spicy and there are several piece of chicken legs wrapped in curry sauce. Really delicious!"},{"type":"p","text":"Plain naan - 50NT$"},{"type":"p","text":"This Indian bread is very chewy that one bite makes my jaw feel tired."},{"type":"p","text":"Curry and naan is the standard way to eat."},{"type":"p","text":"I feel that eating single naan is too dry , needs something to dip with."},{"type":"p","text":"Me, i don't like eating dry foods, that's why keep chewing this bread is really boring ~~~~"},{"type":"p","text":"Murg Makhani - 295NT$"},{"type":"p","text":"the white thing on the Makhani is cream. There is almost no spicy taste, that's why i feel i need to order something spicy to eat with it."},{"type":"p","text":"Garlic naan - 65NT$"},{"type":"p","text":"It is really delicious to eat this thick garlic bread without anything."},{"type":"p","text":"The taste is similar with garlic bread."},{"type":"p","text":"when you dip in the curry, unfortunately you only get garlic taste from the curry. The real flavor of the curry disappears."},{"type":"p","text":"Malai Tikka - 270NT$"},{"type":"p","text":"This roasted chicken legs looks really delicious !"},{"type":"p","text":"But i did not eat the yogurt sauce so i have no idea about its taste."},{"type":"p","text":"The day of being Indian ~~~~"},{"type":"p","text":"There is a huge statue in front of the check-out area. That's really amazing. I don't know if it is the Indian GOD or what ?"},{"type":"p","text":"The counter area has the spices, Cumin and the Cardamon."},{"type":"p","text":"It seems you eat that to remove the taste in your mouth. The same as the \\"mint\\" which general restaurants has.Next time i can ask about them."},{"type":"p","text":"Mayur Indian cuisines are delicious, but i feel the prices are a little high."},{"type":"p","text":"Curry or any BBQ meats are all around 300NT$."},{"type":"p","text":"If i ordered beverage and desert, the price will be incredible ~~"}]}]`),gT=x.lazy(()=>Pe(()=>import("./BranchesPage-C1BbBryj.js"),__vite__mapDeps([0,1,2,3,4]))),kc=x.lazy(()=>Pe(()=>import("./BranchDetailPage-Ct1nbdBn.js"),__vite__mapDeps([5,6,7,8,9,1,10,11,12]))),Ba=x.lazy(()=>Pe(()=>import("./MenuPage-DEl3iqNG.js"),__vite__mapDeps([13,9,14,1,10,8]))),yT=x.lazy(()=>Pe(()=>import("./HotDishPage-BELh2dNx.js"),__vite__mapDeps([15,1,10,16]))),_c=x.lazy(()=>Pe(()=>import("./StoryPage-DOc_Y-5W.js"),__vite__mapDeps([17,1,4]))),Tc=x.lazy(()=>Pe(()=>import("./OffersPage-B1xuncXl.js"),__vite__mapDeps([18,1,19,8,3,2]))),Cm=x.lazy(()=>Pe(()=>import("./EventsPage-9QIl-WE3.js"),__vite__mapDeps([20,21,2,22]))),Pm=x.lazy(()=>Pe(()=>import("./EventDetailPage-Ypy_ot-P.js"),__vite__mapDeps([23,22]))),bT=x.lazy(()=>Pe(()=>import("./GalleryPage-OXtqJXmS.js"),__vite__mapDeps([24,1,7,8,2]))),vT=x.lazy(()=>Pe(()=>import("./TestimonialsPage-B6oOG2eH.js"),__vite__mapDeps([25,6,7,8]))),wT=x.lazy(()=>Pe(()=>import("./ReservationPage-DPoRcObH.js"),__vite__mapDeps([26,14,1,7,27]))),xT=x.lazy(()=>Pe(()=>import("./ManageReservationPage-DFNAhm7T.js"),__vite__mapDeps([28,27,19]))),Em=x.lazy(()=>Pe(()=>import("./NotFoundPage-CMWS_VRC.js"),__vite__mapDeps([29,1]))),Yc=x.lazy(()=>Pe(()=>import("./BlogPage-B18VEHsf.js"),__vite__mapDeps([30,31,21,32,2]))),Ae=x.lazy(()=>Pe(()=>import("./BlogPostPage-DeYFbB1s.js"),__vite__mapDeps([33,31,21,34,1]))),kT=x.lazy(()=>Pe(()=>import("./ChineseBlogsPage-Cc-QeVuX.js"),__vite__mapDeps([35,34,31,21,32,2]))),_T=x.lazy(()=>Pe(()=>import("./TravelGuidePage-CbTETcrh.js"),__vite__mapDeps([36,37,1,12,10,11]))),TT=x.lazy(()=>Pe(()=>import("./DiscoverIndiaPage-CnX73dKp.js"),__vite__mapDeps([38,37,1]))),IT=x.lazy(()=>Pe(()=>import("./IndianSpicesPage-Jb9GwSPA.js"),__vite__mapDeps([39,37,1,8]))),MT=x.lazy(()=>Pe(()=>import("./MythsRealityPage-BLUd5-88.js"),__vite__mapDeps([40,37,1,8]))),ST=x.lazy(()=>Pe(()=>import("./CareerPage-Bx553sga.js"),__vite__mapDeps([41,1,12]))),Ic=x.lazy(()=>Pe(()=>
626import("./LegalPage-DfWnTxHH.js"),__vite__mapDeps([42,1]))),jT=x.lazy(()=>Pe(()=>import("./ContactPage-DPei8dkQ.js"),__vite__mapDeps([43,10,11,16]))),Mc=x.lazy(()=>Pe(()=>import("./LegacyServicePage-nXeiNta9.js"),__vite__mapDeps([44,10,16,19])));function CT(){const{locale:t}=ya();return t===Kt?d.jsx(kT,{}):d.jsx(Yc,{})}function Dm(){const{slug:t}=Jv();return x.useEffect(()=>{const n=`/zh/blog${t?`/${t}`:""}`;window.location.replace(`${n}${window.location.search}${window.location.hash}`)},[t]),null}const PT={"mik-8-menu":"mik-8","mik-2-menu":"mik-2","our-menu":"mik-2"};function ET({legacyChinese:t=!1}){const{search:n}=Je(),i=new URLSearchParams(n).get("menu")||"",s=`${t?"/zh":""}/menus-1${i?`?menu=${encodeURIComponent(i)}`:""}`;return d.jsx(Ba,{branchId:PT[i],canonicalPath:s})}function DT(){const{pathname:t}=Je();return x.useEffect(()=>{window.scrollTo(0,0)},[t]),null}function Nt({children:t,delay:n=0,className:i=""}){const s=x.useRef(null),l=e4(s,{once:!0,margin:"-60px"});return d.jsx(Le.div,{ref:s,initial:{opacity:0,y:32},animate:l?{opacity:1,y:0}:{},transition:{duration:.7,delay:n,ease:[.22,1,.36,1]},className:i,children:t})}function AT({title:t,locale:n}){const i=`<!doctype html>
627<html lang="${n}">
628  <head>
629    <meta charset="utf-8" />
630    <meta name="viewport" content="width=device-width, initial-scale=1" />
631    <style>
632      html, body { margin: 0; padding: 0; background: transparent; overflow-x: hidden; }
633      .sk-ww-instagram-reels { width: 100%; }
634    </style>
635  </head>
636  <body>
637    <div class="sk-ww-instagram-reels" data-embed-id="25703734"></div>
638    <script src="https://widgets.sociablekit.com/instagram-reels/widget.js" defer><\/script>
639  </body>
640</html>`;return d.jsx("iframe",{title:t,srcDoc:i,loading:"lazy",className:"h-[620px] w-full border-0 sm:h-[680px] lg:h-[720px]",referrerPolicy:"strict-origin-when-cross-origin"})}const NT=[{name:"Mayur Grand Feast",nameZh:"馬友友印度盛宴",desc:"A generous table of curries, tandoor favourites, naan and house-made chutneys",descZh:"咖哩、坦都窯烤、印度烤餅與自製酸甜醬匯聚一桌,適合大家一起分享。",tag:"Signature Spread",tagZh:"招牌盛宴",image:"/images/food-indian-feast-table-enhanced.webp"},{name:"Chicken Biryani",nameZh:"印度香料雞肉飯",desc:"Fragrant basmati rice layered with spiced chicken, herbs and whole spices",descZh:"芳香的印度長米與香料雞肉、香草及完整香料層層燜煮。",tag:"Chef's Pick",tagZh:"主廚推薦",image:"/images/food-biryani-chicken.webp"},{name:"Masala Dosa",nameZh:"馬薩拉多薩",desc:"A crisp South Indian dosa served with warming sambhar and coconut chutney",descZh:"酥脆的南印度米豆煎餅,搭配暖心扁豆湯與椰香酸甜醬。",tag:"Vegetarian",tagZh:"蔬食",image:"/images/food-dosa.webp"},{name:"Chana Masala",nameZh:"香料鷹嘴豆咖哩",desc:"Slow-simmered chickpeas in a bright, aromatic tomato and ginger masala",descZh:"鷹嘴豆以番茄、薑與芳香香料慢火燉煮,滋味明亮濃郁。",tag:"Classic",tagZh:"經典料理",image:"/images/food-chana-masala.webp"}];function RT({content:t}){const i=[...t.ringText],s=`${360/i.length}deg`;return d.jsxs(ye,{to:"/reservations",className:"orbit-reserve-button","aria-label":t.reserve,children:[d.jsx("span",{className:"orbit-reserve-button__text","aria-hidden":"true",children:i.map((l,u)=>d.jsx("span",{style:{"--index":u,"--angle":s},children:l},`${l}-${u}`))}),d.jsxs("span",{className:"orbit-reserve-button__circle","aria-hidden":"true",children:[d.jsx(s4,{className:"orbit-reserve-button__icon",size:18}),d.jsx(hn,{className:"orbit-reserve-button__icon orbit-reserve-button__icon--copy",size:18})]})]})}function Am({canonicalPath:t}){const n=Yt("homepage"),{locale:i}=ya(),s=i==="zh-TW",l=s?"font-senty-title !font-normal not-italic":"",u=s?"font-senty-quote not-italic":"",h=[{title:n.reviews.firstTitle,text:n.reviews.firstText,name:"林雅雯",detail:n.reviews.firstDetail,rating:5},{title:n.reviews.secondTitle,text:n.reviews.secondText,name:"Oliver Bennett",detail:n.reviews.secondDetail,rating:5},{title:n.reviews.thirdTitle,text:n.reviews.thirdText,name:"Priya Sharma",detail
640:n.reviews.thirdDetail,rating:5},{title:n.reviews.fourthTitle,text:n.reviews.fourthText,name:"張偉倫",detail:n.reviews.fourthDetail,rating:5}],f=Fa.find(b=>b.id==="mik-3"),m=Fa.find(b=>b.id==="mik-6"),g=Fa.filter(b=>{var w;return(w=b.features)==null?void 0:w.some(_=>/catering/i.test(_))}),y=[{icon:c4,title:n.experiences.vegetarian,detail:n.experiences.vegetarianDetail,valid:(f==null?void 0:f.features.includes("100% Vegetarian Menu"))&&(f==null?void 0:f.features.includes("Vegan Options"))},{icon:p4,title:n.experiences.lateNight,detail:n.experiences.lateNightDetail,valid:(m==null?void 0:m.features.includes("Late-Night Dining"))&&(m==null?void 0:m.hours.some(b=>b.time.includes("02:00")))},{icon:d4,title:n.experiences.bar,detail:n.experiences.barDetail,valid:m==null?void 0:m.features.includes("Full Bar")},{icon:f4,title:n.experiences.music,detail:n.experiences.musicDetail,valid:m==null?void 0:m.features.includes("Live Music")},{icon:y4,title:n.experiences.shisha,detail:n.experiences.shishaDetail,valid:m==null?void 0:m.features.includes("Shisha / Hookah")},{icon:wm,title:n.experiences.catering,detail:n.experiences.cateringDetail,valid:g.length>0}].filter(b=>b.valid);return sT({title:n.seo.title,description:n.seo.description,keywords:s?["台灣印度餐廳","台北印度料理","馬友友印度廚房","道地印度料理"]:["Indian restaurant Taiwan","Indian restaurant Taipei","Indian restaurant New Taipei City","Indian restaurant Taoyuan City","Indian restaurant Taichung City","Indian restaurant Hsinchu County","Mayur Indian Kitchen"],canonical:t||(s?"/zh/":"/"),locale:i,schemas:[nT(i),iT(i)]}),d.jsx(Y,{children:d.jsxs("main",{children:[d.jsx(T_,{}),d.jsx(M_,{}),d.jsx("section",{className:"relative overflow-hidden bg-[#d8dad8] py-16 sm:py-20 lg:py-28",children:d.jsx("div",{className:"page-container relative",children:d.jsxs("div",{className:"grid items-center gap-16 lg:grid-cols-[minmax(0,1.05fr)_minmax(340px,0.72fr)] lg:gap-20 xl:gap-28",children:[d.jsx(Nt,{children:d.jsxs("div",{className:"group relative mx-auto w-full max-w-[700px] pb-[13%] pt-[clamp(6rem,14vw,12rem)] lg:ml-auto lg:mr-0",children:[d.jsx("p",{className:"absolute left-0 top-0 z-20 text-[clamp(4.6rem,12vw,10.5rem)] font-light leading-[0.72] tracking-[-0.085em] text-[#111313]",children:"Mayur"}),d.jsx("div",{className:"relative z-10 ml-0 mr-auto w-[62%] overflow-hidden rounded-[1.75rem] bg-[#bfc2c0] shadow-[0_28px_70px_rgba(17,19,19,0.18)]",children:d.jsx("img",{src:"/images/mayur-sir-home.webp",alt:n.chef.imageAlt,loading:"lazy",className:"aspect-[4/5] w-full object-cover object-top transition-transform duration-700 ease-out group-hover:scale-[1.025]"})}),d.jsx("p",{className:"absolute bottom-0 left-0 z-20 whitespace-nowrap text-[clamp(3.25rem,8.4vw,8rem)] font-light leading-[0.72] tracking-[-0.075em] text-[#111313]",children:"Srivastava"}),d.jsx("div",{className:"pointer-events-none absolute left-[56%] top-[39%] z-20 flex h-20 w-20 scale-90 items-center justify-center rounded-full border border-[#111313]/45 bg-[#d8dad8]/55 opacity-0 backdrop-blur-[2px] transition-all duration-300 ease-out group-hover:scale-100 group-hover:opacity-100 sm:h-24 sm:w-24",children:d.jsx("span",{className:"max-w-[4.5rem] text-center text-[9px] font-medium uppercase leading-tight tracking-[0.2em] text-[#111313]",children:n.chef.badge})})]})}),d.jsx(Nt,{delay:.1,children:d.jsxs("div",{className:"relative max-w-2xl border-t border-[#111313]/30 pt-7 lg:border-t-0 lg:py-4 lg:pl-14 xl:pl-20",children:[d.jsx(Le.span,{initial:{scaleY:0},whileInView:{scaleY:1},viewport:{once:!0,margin:"-80px"},transition:{duration:1,delay:.2,ease:[.22,1,.36,1]},className:"absolute bottom-0 left-0 top-0 hidden w-px origin-top bg-[#111313]/35 lg:block","aria-hidden":"true"}),d.jsx("p",{className:"text-[11px] font-bold uppercase tracking-[0.34em] text-[#111313]/60",children:n.chef.eyebrow}),d.jsx("h2",{className:`mt-5 text-[clamp(3.5rem,7vw,7.5rem)] font-medium leading-[0.78] tracking-[-0.075em] text-[#111313] ${l}`,children:n.chef.title}),d.jsx("p",{className:"mt-9 max-w-xl text-base font-medium leading-[1.8] text-[#111313]/75 sm:text-lg",children:n.chef.description}),d.jsx("p",{className:"mt-5 max-w-xl text-base font-medium leading-[1.8] text-[#111313]/75 sm:text-lg",children:n.chef.descriptionExtra}),d.jsxs("div",{className:"mt-9 flex flex-wrap items-center gap-5 border-t border-[#111313]/25 pt-5",children:[d.jsxs(ye,{to:"/about-us-mik-taipei",className:"group inline-flex items-center gap-3 text-xs font-semibold uppercase tracking-[0.18em] text-[#111313]",children:[n.chef.readStory,d.jsx("span",{className:"flex h-9 w-9 items-center justify-center rounded-full border border-[#111313] transition-colors group-hover:bg-[#111313] group-hover:text-[#d8dad8]",children:d.jsx(hn,{size:14})})]}),d.jsx("span",{className:"text-[10px] font-medium uppercase tracking-[0.2em] text-[#111313]/50",children:n.chef.since})]})]})})]})})}),d.jsxs("section",{className:"relative py-24 lg:py-28 bg-brand-deeper/50",children:[d.jsx("div",{className:"absolute inset-0 pointer-events-none"}),d.jsxs("div",{className:"page-container",children:[d.jsxs(Nt,{className:"text-center mb-12",children:[d.jsxs("div",{className:"flex items-center justify-center gap-3 mb-4",children:[d.jsx("span",{className:"h-px w-10 bg-brand-border"}),d.jsx(wm,{size:14,className:"text-brand-muted"}),d.jsx("span",{className:"text-brand-soft text-xs tracking-[0.3em] uppercase",children:n.featured.eyebrow}),d.jsx("span",{className:"h-px w-10 bg-brand-border"})]}),d.jsxs("h2",{className:`section-heading ${l}`,children:[n.featured.titleBefore," ",d.jsx("span",{className:"text-brand-saffron",children:n.featured.titleAccent})]}),d.jsx("div",{className:"gold-divider"}),d.jsx("p",{className:"text-brand-muted max-w-xl mx-auto mt-4 leading-relaxed",children:n.featured.description})]}),d.jsx("div",{className:"grid sm:grid-cols-2 lg:grid-cols-4 gap-
6405",children:NT.map((b,w)=>d.jsx(Nt,{delay:w*.08,children:d.jsxs("div",{className:"group card-vibrant overflow-hidden rounded-2xl",children:[d.jsxs("div",{className:"relative aspect-[4/3] overflow-hidden",children:[d.jsx("img",{src:b.image,alt:s?b.nameZh:b.name,className:"w-full h-full object-cover transition-all duration-700 group-hover:scale-105"}),d.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/40 to-transparent"}),d.jsx("span",{className:"absolute top-3 left-3 bg-brand-saffron text-white text-[10px] font-bold tracking-widest uppercase px-2.5 py-1",children:s?b.tagZh:b.tag})]}),d.jsxs("div",{className:"p-5",children:[d.jsx("h3",{className:`${s?"font-senty-title not-italic":"font-serif italic"} text-xl font-bold text-brand-cream`,children:s?b.nameZh:b.name}),d.jsx("p",{className:"text-brand-muted text-sm leading-relaxed mt-2",children:s?b.descZh:b.desc})]})]})},b.name))}),d.jsx(Nt,{delay:.3,className:"text-center mt-10",children:d.jsxs(ye,{to:"/menu",className:"btn-gold inline-flex",children:[d.jsx(w4,{size:13})," ",n.featured.viewMenu]})})]})]}),d.jsx("section",{className:"border-y border-[#d9c7a8] bg-[#f8f3e9] py-14 text-[#302216] sm:py-16",children:d.jsx("div",{className:"page-container",children:d.jsxs(Nt,{className:"grid gap-7 lg:grid-cols-[0.72fr_1.28fr] lg:items-end",children:[d.jsxs("div",{children:[d.jsx("p",{className:"text-[10px] font-bold uppercase tracking-[0.3em] text-[#b96519]",children:n.experiences.eyebrow}),d.jsx("h2",{className:`mt-3 text-[clamp(2.5rem,5vw,4.8rem)] font-medium leading-none tracking-[-0.045em] ${s?"font-senty-title":"font-serif italic"}`,children:n.experiences.title}),d.jsx("p",{className:"mt-4 max-w-xl text-sm leading-relaxed text-[#75634f]",children:n.experiences.intro})]}),d.jsx("div",{className:"grid gap-2 sm:grid-cols-2 xl:grid-cols-3",children:y.map(({icon:b,title:w,detail:_})=>d.jsxs("article",{className:"group flex min-h-24 items-start gap-3 rounded-2xl border border-[#d8c9b2] bg-[#fffdf8] px-4 py-4 transition-all hover:-translate-y-0.5 hover:border-[#df6d1b]/60 hover:shadow-[0_12px_30px_rgba(95,61,24,.09)]",children:[d.jsx("span",{className:"grid h-9 w-9 shrink-0 place-items-center rounded-full bg-[#f6e2c9] text-[#b95e18]",children:d.jsx(b,{size:17})}),d.jsxs("div",{children:[d.jsx("h3",{className:"text-sm font-bold leading-snug",children:w}),d.jsx("p",{className:"mt-1 text-[11px] leading-relaxed text-[#75634f]",children:_})]})]},w))})]})})}),d.jsx(E_,{}),d.jsx(aT,{}),d.jsx("section",{id:"reviews",className:"relative bg-[#f7f5ee] py-20 text-[#171713] lg:py-28",children:d.jsxs("div",{className:"page-container",children:[d.jsxs(Nt,{className:"mx-auto mb-12 max-w-4xl text-center lg:mb-16",children:[d.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-[0.3em] text-[#77756d]",children:n.reviews.eyebrow}),d.jsx("h2",{className:`mt-5 text-[clamp(3.5rem,8vw,7.5rem)] font-black uppercase leading-[0.82] tracking-[-0.065em] ${l}`,children:n.reviews.title})]}),d.jsx("div",{className:"grid border-l border-t border-[#a9a79e] sm:grid-cols-2 xl:grid-cols-4",children:h.map((b,w)=>d.jsx(Nt,{delay:w*.07,className:"h-full border-b border-r border-[#a9a79e]",children:d.jsxs("article",{className:"!rounded-none flex h-full min-h-[390px] flex-col items-center bg-[#f7f5ee] px-6 py-10 text-center sm:px-8 lg:py-12",children:[d.jsx("div",{className:"flex gap-1","aria-label":n.reviews.ratingLabel,children:Array.from({length:5}).map((_,j)=>d.jsx(b4,{size:19,strokeWidth:1.6,className:"fill-[#171713] text-[#171713]","aria-hidden":"true"},j))}),d.jsxs("h3",{className:`mt-8 text-lg font-bold leading-snug tracking-[-0.02em] ${u}`,children:["“",b.title,"”"]}),d.jsx("p",{className:`mt-3 flex-1 text-[15px] leading-[1.7] text-[#4f4e48] ${u}`,children:b.text}),d.jsxs("div",{className:"mt-8 flex items-center justify-center gap-2",children:[d.jsx(i4,{size:17,className:"fill-brand-saffron text-brand-saffron","aria-hidden":"true"}),d.jsxs("div",{className:"text-left",children:[d.jsx("p",{className:"text-sm font-semibold leading-tight",children:b.name}),d.jsx("p",{className:"mt-1 text-[10px] uppercase tracking-[0.12em] text-[#77756d]",children:b.detail})]})]})]})},b.name))})]})}),d.jsxs("section",{className:"relative overflow-hidden bg-white py-20 lg:py-24",children:[d.jsx("div",{className:"absolute -left-24 top-10 h-72 w-72 rounded-full bg-brand-saffron/10 blur-3xl"}),d.jsxs("div",{className:"page-container relative",children:[d.jsxs(Nt,{className:"mb-10 text-center",children:[d.jsxs("div",{className:"mb-4 flex items-center justify-center gap-3",children:[d.jsx("span",{className:"h-px w-10 bg-slate-300"}),d.jsx(Gc,{size:15,className:"text-brand-saffron"}),d.jsx("span",{className:"text-xs font-bold uppercase tracking-[0.3em] text-slate-500",children:n.instagram.eyebrow}),d.jsx("span",{className:"h-px w-10 bg-slate-300"})]}),d.jsxs("h2",{className:`font-serif text-4xl font-bold italic text-slate-950 sm:text-5xl ${l}`,children:[n.instagram.titleBefore," ",d.jsx("span",{className:"text-brand-saffron",children:n.instagram.titleAccent})]}),d.jsx("p",{className:"mx-auto mt-4 max-w-xl text-sm leading-relaxed text-slate-600 sm:text-base",children:n.instagram.description})]}),d.jsx(Nt,{delay:.1,children:d.jsx("div",{className:"overflow-hidden rounded-2xl border border-slate-200 bg-white p-3 shadow-xl shadow-slate-900/5 sm:p-5",children:d.jsx(AT,{title:n.instagram.iframeTitle,locale:i})})}),d.jsx(Nt,{delay:.15,className:"mt-8 text-center",children:d.jsxs("a",{href:"https://www.instagram.com/mik_taiwan/?hl=en",target:"_blank",rel:"noopener noreferrer",className:"btn-gold inline-flex min-w-[15rem] gap-3 sm:min-w-[19rem]",children:[d.jsx(Gc,{size:18,strokeWidth:2.4})," ",n.instagram.follow]})})]})]}),d.jsx("section",{className:"relative bg-brand-dark py-20 lg:py-24",children:d.jsx("div",{className:"page-container text-center",children:d.jsx(Nt,{children:d.jsxs("div",{className:"relative mx-auto max-w-6xl overflow-hidden border border-[#e5a58e]/55 bg-[#fbf4ef] px-6 py-14 sm:px-10 sm:py-16 lg:px-20 lg:py-20",children:[d.jsx("img",{src:"/images/polka-dots-cta.webp",alt:"","aria-hidden":"true",className:"pointer-events-none absolute inset-0 h-full w-full object-cover opacity-[0.16]"}),d.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_center,rgba(251,244,239,0.7)_0%,rgba(251,244,239,0.38)_48%,rgba(251,244,239,0.15)_100%)]"}),d.jsxs("div",{className:"relative z-10 mx-auto max-w-4xl",children:[d.jsx("p",{className:"text-[10px] font-semibold uppercase tracking-[0.32em] text-[#a96753]",children:n.finalCta.eyebrow}),d.jsxs("h2",{className:`mt-4 font-serif text-[clamp(2.6rem,5vw,4.8rem)] font-semibold italic leading-[1.03] text-[#21140e] ${l}`,children:[n.finalCta.titleBefore," ",d.jsx("span",{className:"text-brand-saffron",children:n.finalCta.titleAccent})," ",n.finalCta.titleAfter]}),d.jsx("p",{className:"mx-auto mt-6 max-w-2xl text-base leading-relaxed text-[#64554a] sm:text-lg",children:n.finalCta.description}),d.jsx("div",{className:"mt-10 flex justify-center",children:d.jsx(RT,{content:n.finalCta})})]})]})})})})]})})}function KT({legacyChinese:t=!1}){const{loadingPage:n}=Yt("shared-shell"),i=Je();return d.jsx(Wa,{mode:"wait",children:d.jsx(x.Suspense,{fallback:d.jsx("div",{className:"min-h-[60vh] bg-brand-dark",role:"status","aria-label":n}),children:d.jsxs(h1,{location:i,children:[d.jsx($,{path:"/",element:d.jsx(Am,{canonicalPath:t?"/zh":void 0})}),d.jsx($,{path:"/home-mik",element:d.jsx(Am,{canonicalPath:t?"/zh/home-mik":"/home-mik"})}),d.jsx($,{path:"/menu",element:d.jsx(Y,{children:d.jsx(Ba,{})})}),d.jsx($,{path:"/menus",element:d.jsx(Y,{children:d.jsx(Ba,{canonicalPath:t?"/zh/menus":"/menus"})})}),d.jsx($,{path:"/menus-1",element:d.jsx(Y,{children:d.jsx(ET,{legacyChinese:t})})}),d.jsx($,{path:"/hotdish",element:d.jsx(Y,{children:d.jsx(yT,{})})}),d.jsx($,{path:"/menu/:categoryId",element:d.jsx(Y,{children:d.jsx(Ba,{})})}),d.jsx($,{path:"/about-us-mik-taipei",element:d.jsx(Y,{children:d.jsx(_c,{})})}),d.jsx($,{path:"/story",element:d.jsx(Y,{children:d.jsx(_c,{})})}),d.jsx($,{path:"/about",element:d.jsx(Y,{children:d.jsx(_c,{})})}),d.jsx($,{path:"/discount-promotions-indian-taiwan",element:d.jsx(Y,{children:d.jsx(Tc,{})})}),d.jsx($,{path:"/offers",element:d.jsx(Y,{children:d.jsx(Tc,{})})}),d.jsx($,{path:"/promotions",element:d.jsx(Y,{children:d.jsx(Tc,{})})}),d.jsx($,{path:"/experiences",element:d.jsx(Y,{children:d.jsx(Cm,{})})}),d.jsx($,{path:"/experiences/:slug",element:d.jsx(Y,{children:d.jsx(Pm,{})})}),d.jsx($,{path:"/events",element:d.jsx(Y,{children:d.jsx(Cm,{})})}),d.jsx($,{path:"/events/:slug",element:d.jsx(Y,{children:d.jsx(Pm,{})})}),d.jsx($,{path:"/gallery",element:d.jsx(Y,{children:d.jsx(bT,{})})}),d.jsx($,{path:"/testimonials",element:d.jsx(Y,{children:d.jsx(vT,{})})}),d.jsx($,{path:"/branches",element:d.jsx(Y,{children:d.jsx(gT,{})})}),d.jsx($,{path:"/branches/:id",element:d.jsx(Y,{children:d.jsx(kc,{})})}),d.jsx($,{path:"/restaurants/:city/:location/:slug",element:d.jsx(Y,{children:d.jsx(kc,{})})}),Wy.map(s=>d.jsx($,{path:s.routePath,element:d.jsx(Y,{children:d.jsx(kc,{branchId:s.branchId,canonicalPath:t?`/zh${s.canonicalPath}`:s.canonicalPath})})},s.canonicalPath)),d.jsx($,{path:"/branches/:id/menu",element:d.jsx(Y,{children:d.jsx(Ba,{})})}),d.jsx($,{path:"/branches/:id/menu/:categoryId",element:d.jsx(Y,{children:d.jsx(Ba,{})})}),d.jsx($,{path:"/restaurants/:city/:location/:slug/menu",element:d.jsx(Y,{children:d.jsx(Ba,{})})}),d.jsx($,{path:"/restaurants/:city/:location/:slug/menu/:categoryId",element:d.jsx(Y,{children:d.jsx(Ba,{})})}),d.jsx($,{path:"/reservations",element:d.jsx(Y,{children:d.jsx(wT,{})})}),d.jsx($,{path:"/reservation",element:d.jsx(Y,{children:d.jsx(xT,{})})}),d.jsx($,{path:"/contact-us-1",element:d.jsx(Y,{children:d.jsx(jT,{canonicalPath:t?"/zh/contact-us-1":"/contact-us-1"})})}),d.jsx($,{path:"/mik-indian-catering-delivery-taipei",element:d.jsx(Y,{children:d.jsx(Mc,{type:"catering",canonicalPath:t?"/zh/mik-indian-catering-delivery-taipei":"/mik-indian-catering-delivery-taipei"})})}),d.jsx($,{path:"/mayur-free-indian-food-delivery-onl",element:d.jsx(Y,{children:d.jsx(Mc,{type:"delivery",canonicalPath:t?"/zh/mayur-free-indian-food-delivery-onl":"/mayur-free-indian-food-delivery-onl"})})}),d.jsx($,{path:"/online-ordering",element:d.jsx(Y,{children:d.jsx(Mc,{type:"delivery",canonicalPath:t?"/zh/online-ordering":"/online-ordering"})})}),d.jsx($,{path:"/blog",element:d.jsx(Y,{children:d.jsx(CT,{})})}),d.jsx($,{path:"/blog/categories/indian-restaurant",element:d.jsx(Y,{children:d.jsx(Yc,{})})}),d.jsx($,{path:"/blog/categories/mayur-indian-kitchen",element:d.jsx(Y,{children:d.jsx(Yc,{categoryOnly:"Mayur Indian Kitchen"})})}),d.jsx($,{path:"/blog/:slug",element:d.jsx(Y,{children:d.jsx(Ae,{})})}),d.jsx($,{path:"/single-post/why-indian-restaurants-in-taipei-are-a-must-try",element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:"indian-restaurant-taipei-guide"})})}),d.jsx($,{path:"/single-post/discover-the-best-indian-dining-spots-in-taipei",element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:"discover-best-indian-dining-spots-taipei-legacy",canonicalPath:"/single-post/discover-the-best-indian-dining-spots-in-taipei"})})}),d.jsx($,{path:"/mik-indian-holi-taipei-taiwan",element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:"holi-taipei-taiwan-original",canonicalPath:"/mik-indian-holi-taipei-taiwan"})})}),oT.map(s=>d.jsx($,{path:s.path,element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:s.id,canonicalPath:t?`/zh${s.path}`:s.path})})},s.path)),lT.map(s=>d.jsx($,{path:s.legacyPath,element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:s.slug,canonicalPath:s.legacyPath})})},s.legacyPath)),!t&&hT.map(s=>d.jsx($,{path:s.legacyPath,element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:s.slug,canonicalPath:s.legacyPath})})},s.legacyPath)),!t&&pT.map(s=>d.jsx($,{path:s.legacyPath,element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:s.slug,canonicalPath:s.legacyPath})})},s.legacyPath)),!t&&mT.map(s=>d.jsx($,{path:s.legacyPath,element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:s.slug,canonicalPath:s.legacyPath})})},s.legacyPath)),!t&&d.jsx($,{path:"/single-post/馬友友印度廚房-素食餐廳",element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:"mik-3-vegetarian-legacy",canonicalPath:"/single-post/馬友友印度廚房-素食餐廳"})})}),t&&fT.map(s=>d.jsx($,{path:s.legacyPath.replace(/^\/zh/,""),element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:s.slug,canonicalPath:s.legacyPath})})},s.legacyPath)),t&&d.jsxs(d.Fragment,{children:[d.jsx($,{path:"/single-post/馬友友印度廚房-民生店-mayur-s-indian-kitchen-restaurant-bar-mik-2",element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:"mik-2-minsheng-legacy",canonicalPath:"/zh/single-post/馬友友印度廚房-民生店-mayur-s-indian-kitchen-restaurant-bar-mik-2"})})}),d.jsx($,{path:"/single-post/探索台北最佳印度餐廳",element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:"explore-taipei-best-indian-restaurants-legacy",canonicalPath:"/zh/single-post/探索台北最佳印度餐廳"})})}),d.jsx($,{path:"/single-post/馬友友印度廚房-竹北店-mik-7-zhubei",element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:"mik-7-zhubei-legacy",canonicalPath:"/zh/single-post/馬友友印度廚房-竹北店-mik-7-zhubei"})})}),d.jsx($,{path:"/single-post/馬友友印度廚房-基隆路店-mayur-indian-kitchen-mik-1-keelung-rd",element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:"mik-1-keelung-legacy",canonicalPath:"/zh/single-post/馬友友印度廚房-基隆路店-mayur-indian-kitchen-mik-1-keelung-rd"})})}),d.jsx($,{path:"/single-post/馬友友印度廚房-素食餐廳",element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:"mik-3-vegetarian-legacy",canonicalPath:"/zh/single-post/馬友友印度廚房-素食餐廳"})})}),d.jsx($,{path:"/single-post/馬友友印度廚房-松江店-mayur-indian-kitchen-mik-6",element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:"legacy-branch-mik-6-songjiang-2018",canonicalPath:"/zh/single-post/馬友友印度廚房-松江店-mayur-indian-kitchen-mik-6"})})}),d.jsx($,{path:"/single-post/馬友友印度廚房新開幕大直店",element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:"mik-hi5-dazhi-opening-legacy",canonicalPath:"/zh/single-post/馬友友印度廚房新開幕大直店"})})}),d.jsx($,{path:"/single-post/馬友友印度廚房-淺水灣三芝店-mayur-indian-kitchen-new-taipei-beach-restaurant-mik-9-1",element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:"mik-9-sanzhi-legacy",canonicalPath:"/zh/single-post/馬友友印度廚房-淺水灣三芝店-mayur-indian-kitchen-new-taipei-beach-restaurant-mik-9-1"})})}),d.jsx($,{path:"/single-post/在台北探索道地印度美食",element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:"authentic-indian-cuisine-taipei-legacy",canonicalPath:"/zh/single-post/在台北探索道地印度美食"})})}),d.jsx($,{path:"/single-post/為何台北的印度餐廳值得一試",element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:"why-indian-restaurants-taipei-zh-legacy",canonicalPath:"/zh/single-post/為何台北的印度餐廳值得一試"})})}),d.jsx($,{path:"/single-post/馬友友印度清真餐廳-mayur-indian-halal-kitchen-mik-8-zhongxiao-e-rd",element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:"mik-8-halal-legacy",canonicalPath:"/zh/single-post/馬友友印度清真餐廳-mayur-indian-halal-kitchen-mik-8-zhongxiao-e-rd"})})}),d.jsx($,{path:"/mik-indian-holi-taipei-taiwan",element:d.jsx(Y,{children:d.jsx(Ae,{postSlug:"holi-taipei-taiwan-legacy",canonicalPath:"/zh/mik-indian-holi-taipei-taiwan"})})})]}),d.jsx($,{path:"/blogs",element:d.jsx(Dm,{})}),d.jsx($,{path:"/blogs/:slug",element:d.jsx(Dm,{})}),d.jsx($,{path:"/travel-guide",element:d.jsx(Y,{children:d.jsx(_T,{})})}),d.jsx($,{path:"/discover-india",element:d.jsx(Y,{children:d.jsx(TT,{})})}),d.jsx($,{path:"/discover-india/spices",element:d.jsx(Y,{children:d.jsx(IT,{})})}),d.jsx($,{path:"/discover-india/myths-vs-reality",element:d.jsx(Y,{children:d.jsx(MT,{})})}),d.jsx($,{path:"/careers",element:d.jsx(Y,{children:d.jsx(ST,{})})}),d.jsx($,{path:"/privacy",element:d.jsx(Y,{children:d.jsx(Ic,{type:"privacy"})})}),d.jsx($,{path:"/terms",element:d.jsx(Y,{children:d.jsx(Ic,{type:"terms"})})}),d.jsx($,{path:"/cookies",element:d.jsx(Y,{children:d.jsx(Ic,{type:"cookies"})})}),d.jsx($,{path:"/admin/*",element:d.jsx(Y,{children:d.jsx(Em,{})})}),d.jsx($,{path:"*",element:d.jsx(Y,{children:d.jsx(Em,{})})})]},i.pathname)})})}function LT({locale:t,basename:n=t===Kt?"/zh":"/"}){const i=n==="/zh";return d.jsx(Mw,{locale
640:t,defaultLocale:"en",isCookieEnabled:!1,children:d.jsxs(L1,{basename:n,children:[d.jsx($_,{}),d.jsx(DT,{}),d.jsxs("div",{className:"min-h-screen bg-brand-dark",children:[d.jsx(k_,{}),d.jsx(KT,{legacyChinese:i}),d.jsx(N_,{}),d.jsx(R_,{}),d.jsx(H_,{}),d.jsx(V_,{})]})]})})}const Vy=window.location.pathname==="/admin"||window.location.pathname.startsWith("/admin/"),OT=k4(window.location.pathname),qy=Vy?qn:OT,BT=Vy?"/":_4(window.location.pathname);document.documentElement.lang=qy;document.documentElement.dir="ltr";const FT="/images/mik-logo.png";document.addEventListener("error",t=>{const n=t.target;!(n instanceof HTMLImageElement)||n.dataset.fallbackApplied==="true"||(n.dataset.fallbackApplied="true",n.src=FT,n.alt||(n.alt="Mayur Indian Kitchen"))},!0);Xb.createRoot(document.getElementById("root")).render(d.jsxs(qb.StrictMode,{children:[d.jsx(LT,{locale:qy,basename:BT}),d.jsx(uv,{})]}));export{d as $,Wa as A,ZT as B,$c as C,QT as D,j_ as E,XT as F,UT as G,e3 as H,Ha as I,ga as J,yf as K,c4 as L,By as M,WT as N,xe as O,H2 as P,Me as Q,tt as R,g4 as S,B_ as T,w4 as U,Fs as V,Ry as W,Hu as X,H5 as Y,F2 as Z,Pe as _,n4 as a,lT as a0,oT as a1,jm as a2,Le as a3,er as a4,bt as a5,qc as a6,$n as a7,x as a8,mT as a9,hT as aa,Ng as ab,Tx as ac,cu as ad,P_ as ae,e4 as af,lg as ag,ya as ah,Je as ai,tu as aj,Jv as ak,sT as al,HT as am,Yt as an,Og as ao,zT as ap,hn as b,Ly as c,Uc as d,wm as e,Oy as f,s4 as g,r4 as h,Fy as i,ye as j,u4 as k,to as l,uu as m,y4 as n,b4 as o,Tt as p,fT as q,pT as r,ao as s,O_ as t,qT as u,Fa as v,JT as w,GT as x,$T as y,YT as z};

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