/*! For license information please see query.js.LICENSE.txt */ !function(){"use strict";var e={"./node_modules/react/cjs/react-jsx-runtime.development.js":function(e,t,r){!function(){var e,n=r("react"),s=Symbol.for("react.element"),i=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),l=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),h=Symbol.for("react.suspense"),f=Symbol.for("react.suspense_list"),y=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),m=Symbol.for("react.offscreen"),b=Symbol.iterator,v=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function g(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n=1&&l>=0&&a[c]!==u[l];)l--;for(;c>=1&&l>=0;c--,l--)if(a[c]!==u[l]){if(1!==c||1!==l)do{if(c--,--l<0||a[c]!==u[l]){var d="\n"+a[c].replace(" at new "," at ");return e.displayName&&d.includes("")&&(d=d.replace("",e.displayName)),"function"==typeof e&&x.set(e,d),d}}while(c>=1&&l>=0);break}}}finally{D=!1,F.current=s,function(){if(0==--_){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:Q({},e,{value:R}),info:Q({},e,{value:k}),warn:Q({},e,{value:S}),error:Q({},e,{value:C}),group:Q({},e,{value:w}),groupCollapsed:Q({},e,{value:j}),groupEnd:Q({},e,{value:P})})}_<0&&g("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}(),Error.prepareStackTrace=i}var h=e?e.displayName||e.name:"",f=h?T(h):"";return"function"==typeof e&&x.set(e,f),f}function U(e,t,r){if(null==e)return"";if("function"==typeof e)return A(e,!(!(n=e.prototype)||!n.isReactComponent));var n;if("string"==typeof e)return T(e);switch(e){case h:return T("Suspense");case f:return T("SuspenseList")}if("object"==typeof e)switch(e.$$typeof){case d:return A(e.render,!1);case y:return U(e.type,t,r);case p:var s=e,i=s._payload,o=s._init;try{return U(o(i),t,r)}catch(e){}}return""}x=new I;var K=Object.prototype.hasOwnProperty,B={},N=v.ReactDebugCurrentFrame;function L(e){if(e){var t=e._owner,r=U(e.type,e._source,t?t.type:null);N.setExtraStackFrame(r)}else N.setExtraStackFrame(null)}var $=Array.isArray;function H(e){return $(e)}function W(e){return""+e}function G(e){if(function(e){try{return W(e),!1}catch(e){return!0}}(e))return g("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",function(e){return"function"==typeof Symbol&&Symbol.toStringTag&&e[Symbol.toStringTag]||e.constructor.name||"Object"}(e)),W(e)}var z,V,Y,J=v.ReactCurrentOwner,X={key:!0,ref:!0,__self:!0,__source:!0};Y={};var Z,ee=v.ReactCurrentOwner,te=v.ReactDebugCurrentFrame;function re(e){if(e){var t=e._owner,r=U(e.type,e._source,t?t.type:null);te.setExtraStackFrame(r)}else te.setExtraStackFrame(null)}function ne(e){return"object"==typeof e&&null!==e&&e.$$typeof===s}function se(){if(ee.current){var e=q(ee.current.type);if(e)return"\n\nCheck the render method of `"+e+"`."}return""}Z=!1;var ie={};function oe(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var r=function(e){var t=se();if(!t){var r="string"==typeof e?e:e.displayName||e.name;r&&(t="\n\nCheck the top-level render call using <"+r+">.")}return t}(t);if(!ie[r]){ie[r]=!0;var n="";e&&e._owner&&e._owner!==ee.current&&(n=" It was passed a child from "+q(e._owner.type)+"."),re(e),g('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',r,n),re(null)}}}function ae(e,t){if("object"==typeof e)if(H(e))for(var r=0;r",R=" Did you accidentally export a JSX literal instead of a component?"):k=typeof t,g("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",k,R)}var C=function(e,t,r,n,i){var o,a={},u=null,c=null;for(o in void 0!==r&&(G(r),u=""+r),function(e){if(K.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return void 0!==e.key}(t)&&(G(t.key),u=""+t.key),function(e){if(K.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return void 0!==e.ref}(t)&&(c=t.ref,function(e,t){if("string"==typeof e.ref&&J.current&&t&&J.current.stateNode!==t){var r=q(J.current.type);Y[r]||(g('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',q(J.current.type),e.ref),Y[r]=!0)}}(t,i)),t)K.call(t,o)&&!X.hasOwnProperty(o)&&(a[o]=t[o]);if(e&&e.defaultProps){var l=e.defaultProps;for(o in l)void 0===a[o]&&(a[o]=l[o])}if(u||c){var d="function"==typeof e?e.displayName||e.name||"Unknown":e;u&&function(e,t){var r=function(){z||(z=!0,g("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};r.isReactWarning=!0,Object.defineProperty(e,"key",{get:r,configurable:!0})}(a,d),c&&function(e,t){var r=function(){V||(V=!0,g("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};r.isReactWarning=!0,Object.defineProperty(e,"ref",{get:r,configurable:!0})}(a,d)}return function(e,t,r,n,i,o,a){var u={$$typeof:s,type:e,key:t,ref:r,props:a,_owner:o,_store:{}};return Object.defineProperty(u._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(u,"_self",{configurable:!1,enumerable:!1,writable:!1,value:n}),Object.defineProperty(u,"_source",{configurable:!1,enumerable:!1,writable:!1,value:i}),Object.freeze&&(Object.freeze(u.props),Object.freeze(u)),u}(e,u,c,i,n,J.current,a)}(t,r,n,b,v);if(null==C)return C;if(O){var w=r.children;if(void 0!==w)if(i)if(H(w)){for(var j=0;j0?"{key: someKey, "+Q.join(": ..., ")+": ...}":"{key: someKey}";ue[P+_]||(g('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',_,P,Q.length>0?"{"+Q.join(": ..., ")+": ...}":"{}",P),ue[P+_]=!0)}return t===o?function(e){for(var t=Object.keys(e.props),r=0;r{if(!s.isServer&&window.addEventListener){const t=()=>e();return window.addEventListener("visibilitychange",t,!1),()=>{window.removeEventListener("visibilitychange",t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e((e=>{"boolean"==typeof e?this.setFocused(e):this.onFocus()}))}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){const e=this.isFocused();this.listeners.forEach((t=>{t(e)}))}isFocused(){return"boolean"==typeof this.#e?this.#e:"hidden"!==globalThis.document?.visibilityState}},o=new i},"./node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js":function(e,t,r){r.r(t),r.d(t,{hasNextPage:function(){return a},hasPreviousPage:function(){return u},infiniteQueryBehavior:function(){return s}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js");function s(e){return{onFetch:(t,r)=>{const s=async()=>{const r=t.options,s=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],u=t.state.data?.pageParams||[],c={pages:[],pageParams:[]};let l=!1;const d=(0,n.ensureQueryFn)(t.options,t.fetchOptions),h=async(e,r,s)=>{if(l)return Promise.reject();if(null==r&&e.pages.length)return Promise.resolve(e);const i={queryKey:t.queryKey,pageParam:r,direction:s?"backward":"forward",meta:t.options.meta};var o;o=i,Object.defineProperty(o,"signal",{enumerable:!0,get:()=>(t.signal.aborted?l=!0:t.signal.addEventListener("abort",(()=>{l=!0})),t.signal)});const a=await d(i),{maxPages:u}=t.options,c=s?n.addToStart:n.addToEnd;return{pages:c(e.pages,a,u),pageParams:c(e.pageParams,r,u)}};let f;if(s&&a.length){const e="backward"===s,t={pages:a,pageParams:u},n=(e?o:i)(r,t);f=await h(t,n,e)}else{f=await h(c,u[0]??r.initialPageParam);const t=e??a.length;for(let e=1;et.options.persister?.(s,{queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},r):t.fetchFn=s}}}function i(e,{pages:t,pageParams:r}){const n=t.length-1;return e.getNextPageParam(t[n],t,r[n],r)}function o(e,{pages:t,pageParams:r}){return e.getPreviousPageParam?.(t[0],t,r[0],r)}function a(e,t){return!!t&&null!=i(e,t)}function u(e,t){return!(!t||!e.getPreviousPageParam)&&null!=o(e,t)}},"./node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js":function(e,t,r){r.r(t),r.d(t,{InfiniteQueryObserver:function(){return i}});var n=r("./node_modules/@tanstack/query-core/build/modern/queryObserver.js"),s=r("./node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js"),i=class extends n.QueryObserver{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e,t){super.setOptions({...e,behavior:(0,s.infiniteQueryBehavior)()},t)}getOptimisticResult(e){return e.behavior=(0,s.infiniteQueryBehavior)(),super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,t){const{state:r}=e,n=super.createResult(e,t),{isFetching:i,isRefetching:o,isError:a,isRefetchError:u}=n,c=r.fetchMeta?.fetchMore?.direction,l=a&&"forward"===c,d=i&&"forward"===c,h=a&&"backward"===c,f=i&&"backward"===c;return{...n,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,s.hasNextPage)(t,r.data),hasPreviousPage:(0,s.hasPreviousPage)(t,r.data),isFetchNextPageError:l,isFetchingNextPage:d,isFetchPreviousPageError:h,isFetchingPreviousPage:f,isRefetchError:u&&!l&&!h,isRefetching:o&&!d&&!f}}}},"./node_modules/@tanstack/query-core/build/modern/mutation.js":function(e,t,r){r.r(t),r.d(t,{Mutation:function(){return o},getDefaultState:function(){return a}});var n=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),s=r("./node_modules/@tanstack/query-core/build/modern/removable.js"),i=r("./node_modules/@tanstack/query-core/build/modern/retryer.js"),o=class extends s.Removable{#n;#s;#i;constructor(e){super(),this.mutationId=e.mutationId,this.#s=e.mutationCache,this.#n=[],this.state=e.state||{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0},this.setOptions(e.options),this.scheduleGc()}setOptions(e){this.options=e,this.updateGcTime(this.options.gcTime)}get meta(){return this.options.meta}addObserver(e){this.#n.includes(e)||(this.#n.push(e),this.clearGcTimeout(),this.#s.notify({type:"observerAdded",mutation:this,observer:e}))}removeObserver(e){this.#n=this.#n.filter((t=>t!==e)),this.scheduleGc(),this.#s.notify({type:"observerRemoved",mutation:this,observer:e})}optionalRemove(){this.#n.length||("pending"===this.state.status?this.scheduleGc():this.#s.remove(this))}continue(){return this.#i?.continue()??this.execute(this.state.variables)}async execute(e){this.#i=(0,i.createRetryer)({fn:()=>this.options.mutationFn?this.options.mutationFn(e):Promise.reject(new Error("No mutationFn found")),onFail:(e,t)=>{this.#o({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#o({type:"pause"})},onContinue:()=>{this.#o({type:"continue"})},retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#s.canRun(this)});const t="pending"===this.state.status,r=!this.#i.canStart();try{if(!t){this.#o({type:"pending",variables:e,isPaused:r}),await(this.#s.config.onMutate?.(e,this));const t=await(this.options.onMutate?.(e));t!==this.state.context&&this.#o({type:"pending",context:t,variables:e,isPaused:r})}const n=await this.#i.start();return await(this.#s.config.onSuccess?.(n,e,this.state.context,this)),await(this.options.onSuccess?.(n,e,this.state.context)),await(this.#s.config.onSettled?.(n,null,this.state.variables,this.state.context,this)),await(this.options.onSettled?.(n,null,e,this.state.context)),this.#o({type:"success",data:n}),n}catch(t){try{throw await(this.#s.config.onError?.(t,e,this.state.context,this)),await(this.options.onError?.(t,e,this.state.context)),await(this.#s.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this)),await(this.options.onSettled?.(void 0,t,e,this.state.context)),t}finally{this.#o({type:"error",error:t})}}finally{this.#s.runNext(this)}}#o(e){this.state=(t=>{switch(e.type){case"failed":return{...t,failureCount:e.failureCount,failureReason:e.error};case"pause":return{...t,isPaused:!0};case"continue":return{...t,isPaused:!1};case"pending":return{...t,context:e.context,data:void 0,failureCount:0,failureReason:null,error:null,isPaused:e.isPaused,status:"pending",variables:e.variables,submittedAt:Date.now()};case"success":return{...t,data:e.data,failureCount:0,failureReason:null,error:null,status:"success",isPaused:!1};case"error":return{...t,data:void 0,error:e.error,failureCount:t.failureCount+1,failureReason:e.error,isPaused:!1,status:"error"}}})(this.state),n.notifyManager.batch((()=>{this.#n.forEach((t=>{t.onMutationUpdate(e)})),this.#s.notify({mutation:this,type:"updated",action:e})}))}};function a(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:"idle",variables:void 0,submittedAt:0}}},"./node_modules/@tanstack/query-core/build/modern/mutationCache.js":function(e,t,r){r.r(t),r.d(t,{MutationCache:function(){return a}});var n=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),s=r("./node_modules/@tanstack/query-core/build/modern/mutation.js"),i=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),o=r("./node_modules/@tanstack/query-core/build/modern/subscribable.js"),a=class extends o.Subscribable{constructor(e={}){super(),this.config=e,this.#a=new Map,this.#u=Date.now()}#a;#u;build(e,t,r){const n=new s.Mutation({mutationCache:this,mutationId:++this.#u,options:e.defaultMutationOptions(t),state:r});return this.add(n),n}add(e){const t=u(e),r=this.#a.get(t)??[];r.push(e),this.#a.set(t,r),this.notify({type:"added",mutation:e})}remove(e){const t=u(e);if(this.#a.has(t)){const r=this.#a.get(t)?.filter((t=>t!==e));r&&(0===r.length?this.#a.delete(t):this.#a.set(t,r))}this.notify({type:"removed",mutation:e})}canRun(e){const t=this.#a.get(u(e))?.find((e=>"pending"===e.state.status));return!t||t===e}runNext(e){const t=this.#a.get(u(e))?.find((t=>t!==e&&t.state.isPaused));return t?.continue()??Promise.resolve()}clear(){n.notifyManager.batch((()=>{this.getAll().forEach((e=>{this.remove(e)}))}))}getAll(){return[...this.#a.values()].flat()}find(e){const t={exact:!0,...e};return this.getAll().find((e=>(0,i.matchMutation)(t,e)))}findAll(e={}){return this.getAll().filter((t=>(0,i.matchMutation)(e,t)))}notify(e){n.notifyManager.batch((()=>{this.listeners.forEach((t=>{t(e)}))}))}resumePausedMutations(){const e=this.getAll().filter((e=>e.state.isPaused));return n.notifyManager.batch((()=>Promise.all(e.map((e=>e.continue().catch(i.noop))))))}};function u(e){return e.options.scope?.id??String(e.mutationId)}},"./node_modules/@tanstack/query-core/build/modern/mutationObserver.js":function(e,t,r){r.r(t),r.d(t,{MutationObserver:function(){return a}});var n=r("./node_modules/@tanstack/query-core/build/modern/mutation.js"),s=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),i=r("./node_modules/@tanstack/query-core/build/modern/subscribable.js"),o=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),a=class extends i.Subscribable{#c;#l=void 0;#d;#h;constructor(e,t){super(),this.#c=e,this.setOptions(t),this.bindMethods(),this.#f()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){const t=this.options;this.options=this.#c.defaultMutationOptions(e),(0,o.shallowEqualObjects)(this.options,t)||this.#c.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#d,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,o.hashKey)(t.mutationKey)!==(0,o.hashKey)(this.options.mutationKey)?this.reset():"pending"===this.#d?.state.status&&this.#d.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#d?.removeObserver(this)}onMutationUpdate(e){this.#f(),this.#y(e)}getCurrentResult(){return this.#l}reset(){this.#d?.removeObserver(this),this.#d=void 0,this.#f(),this.#y()}mutate(e,t){return this.#h=t,this.#d?.removeObserver(this),this.#d=this.#c.getMutationCache().build(this.#c,this.options),this.#d.addObserver(this),this.#d.execute(e)}#f(){const e=this.#d?.state??(0,n.getDefaultState)();this.#l={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#y(e){s.notifyManager.batch((()=>{if(this.#h&&this.hasListeners()){const t=this.#l.variables,r=this.#l.context;"success"===e?.type?(this.#h.onSuccess?.(e.data,t,r),this.#h.onSettled?.(e.data,null,t,r)):"error"===e?.type&&(this.#h.onError?.(e.error,t,r),this.#h.onSettled?.(void 0,e.error,t,r))}this.listeners.forEach((e=>{e(this.#l)}))}))}}},"./node_modules/@tanstack/query-core/build/modern/notifyManager.js":function(e,t,r){function n(){let e=[],t=0,r=e=>{e()},n=e=>{e()},s=e=>setTimeout(e,0);const i=n=>{t?e.push(n):s((()=>{r(n)}))};return{batch:i=>{let o;t++;try{o=i()}finally{t--,t||(()=>{const t=e;e=[],t.length&&s((()=>{n((()=>{t.forEach((e=>{r(e)}))}))}))})()}return o},batchCalls:e=>(...t)=>{i((()=>{e(...t)}))},schedule:i,setNotifyFunction:e=>{r=e},setBatchNotifyFunction:e=>{n=e},setScheduler:e=>{s=e}}}r.r(t),r.d(t,{createNotifyManager:function(){return n},notifyManager:function(){return s}});var s=n()},"./node_modules/@tanstack/query-core/build/modern/onlineManager.js":function(e,t,r){r.r(t),r.d(t,{OnlineManager:function(){return i},onlineManager:function(){return o}});var n=r("./node_modules/@tanstack/query-core/build/modern/subscribable.js"),s=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),i=class extends n.Subscribable{#p=!0;#t;#r;constructor(){super(),this.#r=e=>{if(!s.isServer&&window.addEventListener){const t=()=>e(!0),r=()=>e(!1);return window.addEventListener("online",t,!1),window.addEventListener("offline",r,!1),()=>{window.removeEventListener("online",t),window.removeEventListener("offline",r)}}}}onSubscribe(){this.#t||this.setEventListener(this.#r)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#r=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#p!==e&&(this.#p=e,this.listeners.forEach((t=>{t(e)})))}isOnline(){return this.#p}},o=new i},"./node_modules/@tanstack/query-core/build/modern/query.js":function(e,t,r){r.r(t),r.d(t,{Query:function(){return a},fetchState:function(){return u}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),s=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),i=r("./node_modules/@tanstack/query-core/build/modern/retryer.js"),o=r("./node_modules/@tanstack/query-core/build/modern/removable.js"),a=class extends o.Removable{#m;#b;#v;#i;#g;#O;constructor(e){super(),this.#O=!1,this.#g=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#v=e.cache,this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#m=e.state||function(e){const t="function"==typeof e.initialData?e.initialData():e.initialData,r=void 0!==t,n=r?"function"==typeof e.initialDataUpdatedAt?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:r?n??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:r?"success":"pending",fetchStatus:"idle"}}(this.options),this.state=this.#m,this.scheduleGc()}get meta(){return this.options.meta}get promise(){return this.#i?.promise}setOptions(e){this.options={...this.#g,...e},this.updateGcTime(this.options.gcTime)}optionalRemove(){this.observers.length||"idle"!==this.state.fetchStatus||this.#v.remove(this)}setData(e,t){const r=(0,n.replaceData)(this.state.data,e,this.options);return this.#o({data:r,type:"success",dataUpdatedAt:t?.updatedAt,manual:t?.manual}),r}setState(e,t){this.#o({type:"setState",state:e,setStateOptions:t})}cancel(e){const t=this.#i?.promise;return this.#i?.cancel(e),t?t.then(n.noop).catch(n.noop):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}reset(){this.destroy(),this.setState(this.#m)}isActive(){return this.observers.some((e=>!1!==(0,n.resolveEnabled)(e.options.enabled,this)))}isDisabled(){return this.getObserversCount()>0&&!this.isActive()}isStale(){return!!this.state.isInvalidated||(this.getObserversCount()>0?this.observers.some((e=>e.getCurrentResult().isStale)):void 0===this.state.data)}isStaleByTime(e=0){return this.state.isInvalidated||void 0===this.state.data||!(0,n.timeUntilStale)(this.state.dataUpdatedAt,e)}onFocus(){const e=this.observers.find((e=>e.shouldFetchOnWindowFocus()));e?.refetch({cancelRefetch:!1}),this.#i?.continue()}onOnline(){const e=this.observers.find((e=>e.shouldFetchOnReconnect()));e?.refetch({cancelRefetch:!1}),this.#i?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#v.notify({type:"observerAdded",query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter((t=>t!==e)),this.observers.length||(this.#i&&(this.#O?this.#i.cancel({revert:!0}):this.#i.cancelRetry()),this.scheduleGc()),this.#v.notify({type:"observerRemoved",query:this,observer:e}))}getObserversCount(){return this.observers.length}invalidate(){this.state.isInvalidated||this.#o({type:"invalidate"})}fetch(e,t){if("idle"!==this.state.fetchStatus)if(void 0!==this.state.data&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#i)return this.#i.continueRetry(),this.#i.promise;if(e&&this.setOptions(e),!this.options.queryFn){const e=this.observers.find((e=>e.options.queryFn));e&&this.setOptions(e.options)}Array.isArray(this.options.queryKey)||console.error("As of v4, queryKey needs to be an Array. If you are using a string like 'repoData', please change it to an Array, e.g. ['repoData']");const r=new AbortController,s=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#O=!0,r.signal)})},o={fetchOptions:t,options:this.options,queryKey:this.queryKey,state:this.state,fetchFn:()=>{const e=(0,n.ensureQueryFn)(this.options,t),r={queryKey:this.queryKey,meta:this.meta};return s(r),this.#O=!1,this.options.persister?this.options.persister(e,r,this):e(r)}};s(o),this.options.behavior?.onFetch(o,this),this.#b=this.state,"idle"!==this.state.fetchStatus&&this.state.fetchMeta===o.fetchOptions?.meta||this.#o({type:"fetch",meta:o.fetchOptions?.meta});const a=e=>{(0,i.isCancelledError)(e)&&e.silent||this.#o({type:"error",error:e}),(0,i.isCancelledError)(e)||(this.#v.config.onError?.(e,this),this.#v.config.onSettled?.(this.state.data,e,this)),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1};return this.#i=(0,i.createRetryer)({initialPromise:t?.initialPromise,fn:o.fetchFn,abort:r.abort.bind(r),onSuccess:e=>{if(void 0===e)return console.error(`Query data cannot be undefined. Please make sure to return a value other than undefined from your query function. Affected query key: ${this.queryHash}`),void a(new Error(`${this.queryHash} data is undefined`));this.setData(e),this.#v.config.onSuccess?.(e,this),this.#v.config.onSettled?.(e,this.state.error,this),this.isFetchingOptimistic||this.scheduleGc(),this.isFetchingOptimistic=!1},onError:a,onFail:(e,t)=>{this.#o({type:"failed",failureCount:e,error:t})},onPause:()=>{this.#o({type:"pause"})},onContinue:()=>{this.#o({type:"continue"})},retry:o.options.retry,retryDelay:o.options.retryDelay,networkMode:o.options.networkMode,canRun:()=>!0}),this.#i.start()}#o(e){this.state=(t=>{switch(e.type){case"failed":return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case"pause":return{...t,fetchStatus:"paused"};case"continue":return{...t,fetchStatus:"fetching"};case"fetch":return{...t,...u(t.data,this.options),fetchMeta:e.meta??null};case"success":return{...t,data:e.data,dataUpdateCount:t.dataUpdateCount+1,dataUpdatedAt:e.dataUpdatedAt??Date.now(),error:null,isInvalidated:!1,status:"success",...!e.manual&&{fetchStatus:"idle",fetchFailureCount:0,fetchFailureReason:null}};case"error":const r=e.error;return(0,i.isCancelledError)(r)&&r.revert&&this.#b?{...this.#b,fetchStatus:"idle"}:{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:"idle",status:"error"};case"invalidate":return{...t,isInvalidated:!0};case"setState":return{...t,...e.state}}})(this.state),s.notifyManager.batch((()=>{this.observers.forEach((e=>{e.onQueryUpdate()})),this.#v.notify({query:this,type:"updated",action:e})}))}};function u(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:(0,i.canFetch)(t.networkMode)?"fetching":"paused",...void 0===e&&{error:null,status:"pending"}}}},"./node_modules/@tanstack/query-core/build/modern/queryCache.js":function(e,t,r){r.r(t),r.d(t,{QueryCache:function(){return a}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),s=r("./node_modules/@tanstack/query-core/build/modern/query.js"),i=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),o=r("./node_modules/@tanstack/query-core/build/modern/subscribable.js"),a=class extends o.Subscribable{constructor(e={}){super(),this.config=e,this.#q=new Map}#q;build(e,t,r){const i=t.queryKey,o=t.queryHash??(0,n.hashQueryKeyByOptions)(i,t);let a=this.get(o);return a||(a=new s.Query({cache:this,queryKey:i,queryHash:o,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(i)}),this.add(a)),a}add(e){this.#q.has(e.queryHash)||(this.#q.set(e.queryHash,e),this.notify({type:"added",query:e}))}remove(e){const t=this.#q.get(e.queryHash);t&&(e.destroy(),t===e&&this.#q.delete(e.queryHash),this.notify({type:"removed",query:e}))}clear(){i.notifyManager.batch((()=>{this.getAll().forEach((e=>{this.remove(e)}))}))}get(e){return this.#q.get(e)}getAll(){return[...this.#q.values()]}find(e){const t={exact:!0,...e};return this.getAll().find((e=>(0,n.matchQuery)(t,e)))}findAll(e={}){const t=this.getAll();return Object.keys(e).length>0?t.filter((t=>(0,n.matchQuery)(e,t))):t}notify(e){i.notifyManager.batch((()=>{this.listeners.forEach((t=>{t(e)}))}))}onFocus(){i.notifyManager.batch((()=>{this.getAll().forEach((e=>{e.onFocus()}))}))}onOnline(){i.notifyManager.batch((()=>{this.getAll().forEach((e=>{e.onOnline()}))}))}}},"./node_modules/@tanstack/query-core/build/modern/queryClient.js":function(e,t,r){r.r(t),r.d(t,{QueryClient:function(){return l}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),s=r("./node_modules/@tanstack/query-core/build/modern/queryCache.js"),i=r("./node_modules/@tanstack/query-core/build/modern/mutationCache.js"),o=r("./node_modules/@tanstack/query-core/build/modern/focusManager.js"),a=r("./node_modules/@tanstack/query-core/build/modern/onlineManager.js"),u=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),c=r("./node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js"),l=class{#R;#s;#g;#k;#S;#C;#w;#j;constructor(e={}){this.#R=e.queryCache||new s.QueryCache,this.#s=e.mutationCache||new i.MutationCache,this.#g=e.defaultOptions||{},this.#k=new Map,this.#S=new Map,this.#C=0}mount(){this.#C++,1===this.#C&&(this.#w=o.focusManager.subscribe((async e=>{e&&(await this.resumePausedMutations(),this.#R.onFocus())})),this.#j=a.onlineManager.subscribe((async e=>{e&&(await this.resumePausedMutations(),this.#R.onOnline())})))}unmount(){this.#C--,0===this.#C&&(this.#w?.(),this.#w=void 0,this.#j?.(),this.#j=void 0)}isFetching(e){return this.#R.findAll({...e,fetchStatus:"fetching"}).length}isMutating(e){return this.#s.findAll({...e,status:"pending"}).length}getQueryData(e){const t=this.defaultQueryOptions({queryKey:e});return this.#R.get(t.queryHash)?.state.data}ensureQueryData(e){const t=this.getQueryData(e.queryKey);if(void 0===t)return this.fetchQuery(e);{const r=this.defaultQueryOptions(e),s=this.#R.build(this,r);return e.revalidateIfStale&&s.isStaleByTime((0,n.resolveStaleTime)(r.staleTime,s))&&this.prefetchQuery(r),Promise.resolve(t)}}getQueriesData(e){return this.#R.findAll(e).map((({queryKey:e,state:t})=>[e,t.data]))}setQueryData(e,t,r){const s=this.defaultQueryOptions({queryKey:e}),i=this.#R.get(s.queryHash),o=i?.state.data,a=(0,n.functionalUpdate)(t,o);if(void 0!==a)return this.#R.build(this,s).setData(a,{...r,manual:!0})}setQueriesData(e,t,r){return u.notifyManager.batch((()=>this.#R.findAll(e).map((({queryKey:e})=>[e,this.setQueryData(e,t,r)]))))}getQueryState(e){const t=this.defaultQueryOptions({queryKey:e});return this.#R.get(t.queryHash)?.state}removeQueries(e){const t=this.#R;u.notifyManager.batch((()=>{t.findAll(e).forEach((e=>{t.remove(e)}))}))}resetQueries(e,t){const r=this.#R,n={type:"active",...e};return u.notifyManager.batch((()=>(r.findAll(e).forEach((e=>{e.reset()})),this.refetchQueries(n,t))))}cancelQueries(e={},t={}){const r={revert:!0,...t},s=u.notifyManager.batch((()=>this.#R.findAll(e).map((e=>e.cancel(r)))));return Promise.all(s).then(n.noop).catch(n.noop)}invalidateQueries(e={},t={}){return u.notifyManager.batch((()=>{if(this.#R.findAll(e).forEach((e=>{e.invalidate()})),"none"===e.refetchType)return Promise.resolve();const r={...e,type:e.refetchType??e.type??"active"};return this.refetchQueries(r,t)}))}refetchQueries(e={},t){const r={...t,cancelRefetch:t?.cancelRefetch??!0},s=u.notifyManager.batch((()=>this.#R.findAll(e).filter((e=>!e.isDisabled())).map((e=>{let t=e.fetch(void 0,r);return r.throwOnError||(t=t.catch(n.noop)),"paused"===e.state.fetchStatus?Promise.resolve():t}))));return Promise.all(s).then(n.noop)}fetchQuery(e){const t=this.defaultQueryOptions(e);void 0===t.retry&&(t.retry=!1);const r=this.#R.build(this,t);return r.isStaleByTime((0,n.resolveStaleTime)(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(n.noop).catch(n.noop)}fetchInfiniteQuery(e){return e.behavior=(0,c.infiniteQueryBehavior)(e.pages),this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(n.noop).catch(n.noop)}resumePausedMutations(){return a.onlineManager.isOnline()?this.#s.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#R}getMutationCache(){return this.#s}getDefaultOptions(){return this.#g}setDefaultOptions(e){this.#g=e}setQueryDefaults(e,t){this.#k.set((0,n.hashKey)(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){const t=[...this.#k.values()];let r={};return t.forEach((t=>{(0,n.partialMatchKey)(e,t.queryKey)&&(r={...r,...t.defaultOptions})})),r}setMutationDefaults(e,t){this.#S.set((0,n.hashKey)(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){const t=[...this.#S.values()];let r={};return t.forEach((t=>{(0,n.partialMatchKey)(e,t.mutationKey)&&(r={...r,...t.defaultOptions})})),r}defaultQueryOptions(e){if(e._defaulted)return e;const t={...this.#g.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||(t.queryHash=(0,n.hashQueryKeyByOptions)(t.queryKey,t)),void 0===t.refetchOnReconnect&&(t.refetchOnReconnect="always"!==t.networkMode),void 0===t.throwOnError&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode="offlineFirst"),!0!==t.enabled&&t.queryFn===n.skipToken&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#g.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#R.clear(),this.#s.clear()}}},"./node_modules/@tanstack/query-core/build/modern/queryObserver.js":function(e,t,r){r.r(t),r.d(t,{QueryObserver:function(){return u}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),s=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),i=r("./node_modules/@tanstack/query-core/build/modern/focusManager.js"),o=r("./node_modules/@tanstack/query-core/build/modern/subscribable.js"),a=r("./node_modules/@tanstack/query-core/build/modern/query.js"),u=class extends o.Subscribable{constructor(e,t){super(),this.options=t,this.#c=e,this.#P=null,this.bindMethods(),this.setOptions(t)}#c;#Q=void 0;#_=void 0;#l=void 0;#E;#M;#P;#F;#T;#x;#D;#I;#A;#U=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){1===this.listeners.size&&(this.#Q.addObserver(this),c(this.#Q,this.options)?this.#K():this.updateResult(),this.#B())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return l(this.#Q,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return l(this.#Q,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#N(),this.#L(),this.#Q.removeObserver(this)}setOptions(e,t){const r=this.options,s=this.#Q;if(this.options=this.#c.defaultQueryOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled&&"function"!=typeof this.options.enabled&&"boolean"!=typeof(0,n.resolveEnabled)(this.options.enabled,this.#Q))throw new Error("Expected enabled to be a boolean or a callback that returns a boolean");this.#$(),this.#Q.setOptions(this.options),r._defaulted&&!(0,n.shallowEqualObjects)(this.options,r)&&this.#c.getQueryCache().notify({type:"observerOptionsUpdated",query:this.#Q,observer:this});const i=this.hasListeners();i&&d(this.#Q,s,this.options,r)&&this.#K(),this.updateResult(t),!i||this.#Q===s&&(0,n.resolveEnabled)(this.options.enabled,this.#Q)===(0,n.resolveEnabled)(r.enabled,this.#Q)&&(0,n.resolveStaleTime)(this.options.staleTime,this.#Q)===(0,n.resolveStaleTime)(r.staleTime,this.#Q)||this.#H();const o=this.#W();!i||this.#Q===s&&(0,n.resolveEnabled)(this.options.enabled,this.#Q)===(0,n.resolveEnabled)(r.enabled,this.#Q)&&o===this.#A||this.#G(o)}getOptimisticResult(e){const t=this.#c.getQueryCache().build(this.#c,e),r=this.createResult(t,e);return s=this,i=r,!(0,n.shallowEqualObjects)(s.getCurrentResult(),i)&&(this.#l=r,this.#M=this.options,this.#E=this.#Q.state),r;var s,i}getCurrentResult(){return this.#l}trackResult(e,t){const r={};return Object.keys(e).forEach((n=>{Object.defineProperty(r,n,{configurable:!1,enumerable:!0,get:()=>(this.trackProp(n),t?.(n),e[n])})})),r}trackProp(e){this.#U.add(e)}getCurrentQuery(){return this.#Q}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){const t=this.#c.defaultQueryOptions(e),r=this.#c.getQueryCache().build(this.#c,t);return r.isFetchingOptimistic=!0,r.fetch().then((()=>this.createResult(r,t)))}fetch(e){return this.#K({...e,cancelRefetch:e.cancelRefetch??!0}).then((()=>(this.updateResult(),this.#l)))}#K(e){this.#$();let t=this.#Q.fetch(this.options,e);return e?.throwOnError||(t=t.catch(n.noop)),t}#H(){this.#N();const e=(0,n.resolveStaleTime)(this.options.staleTime,this.#Q);if(n.isServer||this.#l.isStale||!(0,n.isValidTimeout)(e))return;const t=(0,n.timeUntilStale)(this.#l.dataUpdatedAt,e)+1;this.#D=setTimeout((()=>{this.#l.isStale||this.updateResult()}),t)}#W(){return("function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.#Q):this.options.refetchInterval)??!1}#G(e){this.#L(),this.#A=e,!n.isServer&&!1!==(0,n.resolveEnabled)(this.options.enabled,this.#Q)&&(0,n.isValidTimeout)(this.#A)&&0!==this.#A&&(this.#I=setInterval((()=>{(this.options.refetchIntervalInBackground||i.focusManager.isFocused())&&this.#K()}),this.#A))}#B(){this.#H(),this.#G(this.#W())}#N(){this.#D&&(clearTimeout(this.#D),this.#D=void 0)}#L(){this.#I&&(clearInterval(this.#I),this.#I=void 0)}createResult(e,t){const r=this.#Q,s=this.options,i=this.#l,o=this.#E,u=this.#M,l=e!==r?e.state:this.#_,{state:f}=e;let y,p={...f},m=!1;if(t._optimisticResults){const n=this.hasListeners(),i=!n&&c(e,t),o=n&&d(e,r,t,s);(i||o)&&(p={...p,...(0,a.fetchState)(f.data,e.options)}),"isRestoring"===t._optimisticResults&&(p.fetchStatus="idle")}let{error:b,errorUpdatedAt:v,status:g}=p;if(t.select&&void 0!==p.data)if(i&&p.data===o?.data&&t.select===this.#F)y=this.#T;else try{this.#F=t.select,y=t.select(p.data),y=(0,n.replaceData)(i?.data,y,t),this.#T=y,this.#P=null}catch(e){this.#P=e}else y=p.data;if(void 0!==t.placeholderData&&void 0===y&&"pending"===g){let e;if(i?.isPlaceholderData&&t.placeholderData===u?.placeholderData)e=i.data;else if(e="function"==typeof t.placeholderData?t.placeholderData(this.#x?.state.data,this.#x):t.placeholderData,t.select&&void 0!==e)try{e=t.select(e),this.#P=null}catch(e){this.#P=e}void 0!==e&&(g="success",y=(0,n.replaceData)(i?.data,e,t),m=!0)}this.#P&&(b=this.#P,y=this.#T,v=Date.now(),g="error");const O="fetching"===p.fetchStatus,q="pending"===g,R="error"===g,k=q&&O,S=void 0!==y;return{status:g,fetchStatus:p.fetchStatus,isPending:q,isSuccess:"success"===g,isError:R,isInitialLoading:k,isLoading:k,data:y,dataUpdatedAt:p.dataUpdatedAt,error:b,errorUpdatedAt:v,failureCount:p.fetchFailureCount,failureReason:p.fetchFailureReason,errorUpdateCount:p.errorUpdateCount,isFetched:p.dataUpdateCount>0||p.errorUpdateCount>0,isFetchedAfterMount:p.dataUpdateCount>l.dataUpdateCount||p.errorUpdateCount>l.errorUpdateCount,isFetching:O,isRefetching:O&&!q,isLoadingError:R&&!S,isPaused:"paused"===p.fetchStatus,isPlaceholderData:m,isRefetchError:R&&S,isStale:h(e,t),refetch:this.refetch}}updateResult(e){const t=this.#l,r=this.createResult(this.#Q,this.options);if(this.#E=this.#Q.state,this.#M=this.options,void 0!==this.#E.data&&(this.#x=this.#Q),(0,n.shallowEqualObjects)(r,t))return;this.#l=r;const s={};!1!==e?.listeners&&(()=>{if(!t)return!0;const{notifyOnChangeProps:e}=this.options,r="function"==typeof e?e():e;if("all"===r||!r&&!this.#U.size)return!0;const n=new Set(r??this.#U);return this.options.throwOnError&&n.add("error"),Object.keys(this.#l).some((e=>{const r=e;return this.#l[r]!==t[r]&&n.has(r)}))})()&&(s.listeners=!0),this.#y({...s,...e})}#$(){const e=this.#c.getQueryCache().build(this.#c,this.options);if(e===this.#Q)return;const t=this.#Q;this.#Q=e,this.#_=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#B()}#y(e){s.notifyManager.batch((()=>{e.listeners&&this.listeners.forEach((e=>{e(this.#l)})),this.#c.getQueryCache().notify({query:this.#Q,type:"observerResultsUpdated"})}))}};function c(e,t){return function(e,t){return!1!==(0,n.resolveEnabled)(t.enabled,e)&&void 0===e.state.data&&!("error"===e.state.status&&!1===t.retryOnMount)}(e,t)||void 0!==e.state.data&&l(e,t,t.refetchOnMount)}function l(e,t,r){if(!1!==(0,n.resolveEnabled)(t.enabled,e)){const n="function"==typeof r?r(e):r;return"always"===n||!1!==n&&h(e,t)}return!1}function d(e,t,r,s){return(e!==t||!1===(0,n.resolveEnabled)(s.enabled,e))&&(!r.suspense||"error"!==e.state.status)&&h(e,r)}function h(e,t){return!1!==(0,n.resolveEnabled)(t.enabled,e)&&e.isStaleByTime((0,n.resolveStaleTime)(t.staleTime,e))}},"./node_modules/@tanstack/query-core/build/modern/removable.js":function(e,t,r){r.r(t),r.d(t,{Removable:function(){return s}});var n=r("./node_modules/@tanstack/query-core/build/modern/utils.js"),s=class{#z;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),(0,n.isValidTimeout)(this.gcTime)&&(this.#z=setTimeout((()=>{this.optionalRemove()}),this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(n.isServer?1/0:3e5))}clearGcTimeout(){this.#z&&(clearTimeout(this.#z),this.#z=void 0)}}},"./node_modules/@tanstack/query-core/build/modern/retryer.js":function(e,t,r){r.r(t),r.d(t,{CancelledError:function(){return u},canFetch:function(){return a},createRetryer:function(){return l},isCancelledError:function(){return c}});var n=r("./node_modules/@tanstack/query-core/build/modern/focusManager.js"),s=r("./node_modules/@tanstack/query-core/build/modern/onlineManager.js"),i=r("./node_modules/@tanstack/query-core/build/modern/utils.js");function o(e){return Math.min(1e3*2**e,3e4)}function a(e){return"online"!==(e??"online")||s.onlineManager.isOnline()}var u=class{constructor(e){this.revert=e?.revert,this.silent=e?.silent}};function c(e){return e instanceof u}function l(e){let t,r,c,l=!1,d=0,h=!1;const f=new Promise(((e,t)=>{r=e,c=t})),y=()=>n.focusManager.isFocused()&&("always"===e.networkMode||s.onlineManager.isOnline())&&e.canRun(),p=()=>a(e.networkMode)&&e.canRun(),m=n=>{h||(h=!0,e.onSuccess?.(n),t?.(),r(n))},b=r=>{h||(h=!0,e.onError?.(r),t?.(),c(r))},v=()=>new Promise((r=>{t=e=>{(h||y())&&r(e)},e.onPause?.()})).then((()=>{t=void 0,h||e.onContinue?.()})),g=()=>{if(h)return;let t;const r=0===d?e.initialPromise:void 0;try{t=r??e.fn()}catch(e){t=Promise.reject(e)}Promise.resolve(t).then(m).catch((t=>{if(h)return;const r=e.retry??(i.isServer?0:3),n=e.retryDelay??o,s="function"==typeof n?n(d,t):n,a=!0===r||"number"==typeof r&&dy()?void 0:v())).then((()=>{l?b(t):g()}))):b(t)}))};return{promise:f,cancel:t=>{h||(b(new u(t)),e.abort?.())},continue:()=>(t?.(),f),cancelRetry:()=>{l=!0},continueRetry:()=>{l=!1},canStart:p,start:()=>(p()?g():v().then(g),f)}}},"./node_modules/@tanstack/query-core/build/modern/subscribable.js":function(e,t,r){r.r(t),r.d(t,{Subscribable:function(){return n}});var n=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}}},"./node_modules/@tanstack/query-core/build/modern/utils.js":function(e,t,r){r.r(t),r.d(t,{addToEnd:function(){return k},addToStart:function(){return S},ensureQueryFn:function(){return w},functionalUpdate:function(){return i},hashKey:function(){return f},hashQueryKeyByOptions:function(){return h},isPlainArray:function(){return b},isPlainObject:function(){return v},isServer:function(){return n},isValidTimeout:function(){return o},keepPreviousData:function(){return R},matchMutation:function(){return d},matchQuery:function(){return l},noop:function(){return s},partialMatchKey:function(){return y},replaceData:function(){return q},replaceEqualDeep:function(){return p},resolveEnabled:function(){return c},resolveStaleTime:function(){return u},shallowEqualObjects:function(){return m},skipToken:function(){return C},sleep:function(){return O},timeUntilStale:function(){return a}});var n="undefined"==typeof window||"Deno"in globalThis;function s(){}function i(e,t){return"function"==typeof e?e(t):e}function o(e){return"number"==typeof e&&e>=0&&e!==1/0}function a(e,t){return Math.max(e+(t||0)-Date.now(),0)}function u(e,t){return"function"==typeof e?e(t):e}function c(e,t){return"function"==typeof e?e(t):e}function l(e,t){const{type:r="all",exact:n,fetchStatus:s,predicate:i,queryKey:o,stale:a}=e;if(o)if(n){if(t.queryHash!==h(o,t.options))return!1}else if(!y(t.queryKey,o))return!1;if("all"!==r){const e=t.isActive();if("active"===r&&!e)return!1;if("inactive"===r&&e)return!1}return!("boolean"==typeof a&&t.isStale()!==a||s&&s!==t.state.fetchStatus||i&&!i(t))}function d(e,t){const{exact:r,status:n,predicate:s,mutationKey:i}=e;if(i){if(!t.options.mutationKey)return!1;if(r){if(f(t.options.mutationKey)!==f(i))return!1}else if(!y(t.options.mutationKey,i))return!1}return!(n&&t.state.status!==n||s&&!s(t))}function h(e,t){return(t?.queryKeyHashFn||f)(e)}function f(e){return JSON.stringify(e,((e,t)=>v(t)?Object.keys(t).sort().reduce(((e,r)=>(e[r]=t[r],e)),{}):t))}function y(e,t){return e===t||typeof e==typeof t&&!(!e||!t||"object"!=typeof e||"object"!=typeof t)&&!Object.keys(t).some((r=>!y(e[r],t[r])))}function p(e,t){if(e===t)return e;const r=b(e)&&b(t);if(r||v(e)&&v(t)){const n=r?e:Object.keys(e),s=n.length,i=r?t:Object.keys(t),o=i.length,a=r?[]:{};let u=0;for(let s=0;s{setTimeout(t,e)}))}function q(e,t,r){return"function"==typeof r.structuralSharing?r.structuralSharing(e,t):!1!==r.structuralSharing?p(e,t):t}function R(e){return e}function k(e,t,r=0){const n=[...e,t];return r&&n.length>r?n.slice(1):n}function S(e,t,r=0){const n=[t,...e];return r&&n.length>r?n.slice(0,-1):n}var C=Symbol(),w=(e,t)=>(e.queryFn===C&&console.error(`Attempted to invoke queryFn when set to skipToken. This is likely a configuration error. Query hash: '${e.queryHash}'`),!e.queryFn&&t?.initialPromise?()=>t.initialPromise:e.queryFn&&e.queryFn!==C?e.queryFn:()=>Promise.reject(new Error(`Missing queryFn: '${e.queryHash}'`)))},"./node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js":function(e,t,r){r.r(t),r.d(t,{QueryClientContext:function(){return i},QueryClientProvider:function(){return a},useQueryClient:function(){return o}});var n=r("react"),s=r("./node_modules/react/jsx-runtime.js"),i=n.createContext(void 0),o=e=>{const t=n.useContext(i);if(e)return e;if(!t)throw new Error("No QueryClient set, use QueryClientProvider to set one");return t},a=({client:e,children:t})=>(n.useEffect((()=>(e.mount(),()=>{e.unmount()})),[e]),(0,s.jsx)(i.Provider,{value:e,children:t}))},"./node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js":function(e,t,r){r.r(t),r.d(t,{QueryErrorResetBoundary:function(){return u},useQueryErrorResetBoundary:function(){return a}});var n=r("react"),s=r("./node_modules/react/jsx-runtime.js");function i(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var o=n.createContext(i()),a=()=>n.useContext(o),u=({children:e})=>{const[t]=n.useState((()=>i()));return(0,s.jsx)(o.Provider,{value:t,children:"function"==typeof e?e(t):e})}},"./node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js":function(e,t,r){r.r(t),r.d(t,{ensurePreventErrorBoundaryRetry:function(){return i},getHasError:function(){return a},useClearResetErrorBoundary:function(){return o}});var n=r("react"),s=r("./node_modules/@tanstack/react-query/build/modern/utils.js"),i=(e,t)=>{(e.suspense||e.throwOnError)&&(t.isReset()||(e.retryOnMount=!1))},o=e=>{n.useEffect((()=>{e.clearReset()}),[e])},a=({result:e,errorResetBoundary:t,throwOnError:r,query:n})=>e.isError&&!t.isReset()&&!e.isFetching&&n&&(0,s.shouldThrowError)(r,[e.error,n])},"./node_modules/@tanstack/react-query/build/modern/isRestoring.js":function(e,t,r){r.r(t),r.d(t,{IsRestoringProvider:function(){return o},useIsRestoring:function(){return i}});var n=r("react"),s=n.createContext(!1),i=()=>n.useContext(s),o=s.Provider},"./node_modules/@tanstack/react-query/build/modern/suspense.js":function(e,t,r){r.r(t),r.d(t,{defaultThrowOnError:function(){return n},ensureStaleTime:function(){return s},fetchOptimistic:function(){return a},shouldSuspend:function(){return o},willFetch:function(){return i}});var n=(e,t)=>void 0===t.state.data,s=e=>{e.suspense&&"number"!=typeof e.staleTime&&(e.staleTime=1e3)},i=(e,t)=>e.isLoading&&e.isFetching&&!t,o=(e,t)=>e?.suspense&&t.isPending,a=(e,t,r)=>t.fetchOptimistic(e).catch((()=>{r.clearReset()}))},"./node_modules/@tanstack/react-query/build/modern/useBaseQuery.js":function(e,t,r){r.r(t),r.d(t,{useBaseQuery:function(){return l}});var n=r("react"),s=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),i=r("./node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js"),o=r("./node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js"),a=r("./node_modules/@tanstack/react-query/build/modern/isRestoring.js"),u=r("./node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js"),c=r("./node_modules/@tanstack/react-query/build/modern/suspense.js");function l(e,t,r){if("object"!=typeof e||Array.isArray(e))throw new Error('Bad argument type. Starting with v5, only the "Object" form is allowed when calling query related functions. Please use the error stack to find the culprit call. More info here: https://tanstack.com/query/latest/docs/react/guides/migrating-to-v5#supports-a-single-signature-one-object');const l=(0,o.useQueryClient)(r),d=(0,a.useIsRestoring)(),h=(0,i.useQueryErrorResetBoundary)(),f=l.defaultQueryOptions(e);l.getDefaultOptions().queries?._experimental_beforeQuery?.(f),f._optimisticResults=d?"isRestoring":"optimistic",(0,c.ensureStaleTime)(f),(0,u.ensurePreventErrorBoundaryRetry)(f,h),(0,u.useClearResetErrorBoundary)(h);const[y]=n.useState((()=>new t(l,f))),p=y.getOptimisticResult(f);if(n.useSyncExternalStore(n.useCallback((e=>{const t=d?()=>{}:y.subscribe(s.notifyManager.batchCalls(e));return y.updateResult(),t}),[y,d]),(()=>y.getCurrentResult()),(()=>y.getCurrentResult())),n.useEffect((()=>{y.setOptions(f,{listeners:!1})}),[f,y]),(0,c.shouldSuspend)(f,p))throw(0,c.fetchOptimistic)(f,y,h);if((0,u.getHasError)({result:p,errorResetBoundary:h,throwOnError:f.throwOnError,query:l.getQueryCache().get(f.queryHash)}))throw p.error;return l.getDefaultOptions().queries?._experimental_afterQuery?.(f,p),f.notifyOnChangeProps?p:y.trackResult(p)}},"./node_modules/@tanstack/react-query/build/modern/useInfiniteQuery.js":function(e,t,r){r.r(t),r.d(t,{useInfiniteQuery:function(){return i}});var n=r("./node_modules/@tanstack/query-core/build/modern/infiniteQueryObserver.js"),s=r("./node_modules/@tanstack/react-query/build/modern/useBaseQuery.js");function i(e,t){return(0,s.useBaseQuery)(e,n.InfiniteQueryObserver,t)}},"./node_modules/@tanstack/react-query/build/modern/useMutation.js":function(e,t,r){r.r(t),r.d(t,{useMutation:function(){return u}});var n=r("react"),s=r("./node_modules/@tanstack/query-core/build/modern/mutationObserver.js"),i=r("./node_modules/@tanstack/query-core/build/modern/notifyManager.js"),o=r("./node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js"),a=r("./node_modules/@tanstack/react-query/build/modern/utils.js");function u(e,t){const r=(0,o.useQueryClient)(t),[u]=n.useState((()=>new s.MutationObserver(r,e)));n.useEffect((()=>{u.setOptions(e)}),[u,e]);const c=n.useSyncExternalStore(n.useCallback((e=>u.subscribe(i.notifyManager.batchCalls(e))),[u]),(()=>u.getCurrentResult()),(()=>u.getCurrentResult())),l=n.useCallback(((e,t)=>{u.mutate(e,t).catch(a.noop)}),[u]);if(c.error&&(0,a.shouldThrowError)(u.options.throwOnError,[c.error]))throw c.error;return{...c,mutate:l,mutateAsync:c.mutate}}},"./node_modules/@tanstack/react-query/build/modern/useQuery.js":function(e,t,r){r.r(t),r.d(t,{useQuery:function(){return i}});var n=r("./node_modules/@tanstack/query-core/build/modern/queryObserver.js"),s=r("./node_modules/@tanstack/react-query/build/modern/useBaseQuery.js");function i(e,t){return(0,s.useBaseQuery)(e,n.QueryObserver,t)}},"./node_modules/@tanstack/react-query/build/modern/utils.js":function(e,t,r){function n(e,t){return"function"==typeof e?e(...t):!!e}function s(){}r.r(t),r.d(t,{noop:function(){return s},shouldThrowError:function(){return n}})}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};!function(){r.r(n),r.d(n,{QueryClient:function(){return e.QueryClient},QueryClientProvider:function(){return t.QueryClientProvider},createQueryClient:function(){return a},useInfiniteQuery:function(){return s.useInfiniteQuery},useMutation:function(){return i.useMutation},useQuery:function(){return o.useQuery},useQueryClient:function(){return t.useQueryClient}});var e=r("./node_modules/@tanstack/query-core/build/modern/queryClient.js"),t=r("./node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js"),s=r("./node_modules/@tanstack/react-query/build/modern/useInfiniteQuery.js"),i=r("./node_modules/@tanstack/react-query/build/modern/useMutation.js"),o=r("./node_modules/@tanstack/react-query/build/modern/useQuery.js");function a(){return new e.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1,refetchOnReconnect:!1}}})}}(),(window.elementorV2=window.elementorV2||{}).query=n}(); blog Archives - غرفة Room 11 https://bs.room11.sa/cat/blog/ Tue, 22 Jul 2025 22:03:15 +0000 en-US hourly 1 https://wordpress.org/?v=6.9.4 https://bs.room11.sa/wp-content/uploads/2022/07/Room11-Marketing-Agency-logo.svg blog Archives - غرفة Room 11 https://bs.room11.sa/cat/blog/ 32 32 Porno video – Krijg nu https://bs.room11.sa/blog/blog/porno-video-krijg-nu/ Wed, 23 Jul 2025 00:00:00 +0000 https://bs.room11.sa/?p=238701 Vbet goksite De Vbet gokomgeving is een platform dat een breed scala aan gokspellen en vermaak biedt voor gebruikers van over de hele wereld. Sinds de lancering heeft het aan bekendheid gewonnen dankzij de gebruiksvriendelijke interface, diverse promoties en betrouwbaarheid. Dit online casino biedt niet alleen klassieke slots, maar ook kaartspellen en meerdere competities. Vbet […]

The post Porno video – Krijg nu appeared first on غرفة Room 11.

]]>

Vbet goksite

De Vbet gokomgeving is een platform dat een breed scala aan gokspellen en vermaak biedt voor gebruikers van over de hele wereld. Sinds de lancering heeft het aan bekendheid gewonnen dankzij de gebruiksvriendelijke interface, diverse promoties en betrouwbaarheid. Dit online casino biedt niet alleen klassieke slots, maar ook kaartspellen en meerdere competities. Vbet biedt ook makkelijke betalingsopties en een mobiele interface van de site om mobiel te gokken. Alle spellen zijn officieel goedgekeurd en getest op eerlijkheid, wat een veilige spelomgeving creëert voor klanten.

Kenmerk Betekenis
Naam gokplatform Vbet
Licentie Curaçao licentie
Minimum storting €10
Stortingsopties Bankpassen, elektronische portefeuilles en crypto’s
Startaanbieding Verdubbeling van eerste storting tot €500
App voor smartphones Beschikbaar voor iOS en Android

Vbet casino werd opgericht in het jaar 2003 door bedenkers Vigen en Vahe Badalyan. Aanvankelijk begon Vbet met slechts vier teamleden, inclusief de founders. Het toen nog jonge onderneming vestigde zich in Yerevan, Armenië. In 2006 lanceerden ze hun digitale platform en openden ze meer fysieke locaties in Armenië. De site bleek een enorm succes en al snel trok Vbet Europese spelers aan. Het gokbedrijf heeft een Porno video vergunning van Curaçao, Malta en het Verenigd Koninkrijk.

Sinds 23/06/2023 heeft Vbet ook in NL een officiële toestemming weten te bemachtigen onder de naam bedrijf SCGO. In eerste instantie biedt het gokbedrijf alleen maar wedden op sport aan. Dit doen zij sinds 10/08/2023 live in Nederland. In de toekomst hoopt Vbet ook virtuele casino games aan te mogen aanbieden.

Vbet maakt gebruik van het BetConstruct-platform. Dit platform is eigendom van moederbedrijf het bedrijf Vivaro. Vbet is de enige legale online gokaanbieder binnen Nederland die op BetConstruct draait.

Voordelen en nadelen van VBet

Sterke kanten

  • Kansspelvergunning in Nederland
  • Betalen met iDeal mogelijk
  • Ruime keuze in sportgokken

Minpunten

  • Geen virtuele speelautomaten
  • Geen live casino
  • Afwezigheid van bingospellen
  • Geen mogelijkheid tot poker

Sportweddenschappen

Op dit moment heeft Vbet alleen een licentie van de Kansspelautoriteit in het bezit voor het aanbieden van weddenschappen op sport. Hier kun je weddenschappen plaatsen op populaire sporten zoals voetbal, tennis, wielrennen en basketbal. Het wedden op voetbal ziet er bijzonder gedetailleerd uit, met veel verschillende wedopties. Er zijn echter ook verschillende extra keuzes zoals NFL, tafeltennis, darts, volleybal, badminton, snooker en ijshockey.

Je kan zowel in real-time wedden, als voor de start van een wedstrijd een weddenschap plaatsen. Het is mogelijk om op elk moment de wedstrijdschema en uitslagen te bekijken.

VBet is een van de legale bookmakers in Nederland die gebruik maken van een snelle uitbetalingsmogelijkheid. Heeft het voetbalteam waarop jij een inzet hebt geplaatst een voorsprong van 2 goals, dan wordt deze weddenschap als gewonnen beschouwd ongeacht de einduitslag. Op dit moment is deze functie actief voor 17 verschillende leagues, waaronder de topcompetities zoals Eredivisie en Keuken Kampioen Divisie. Ook spelers die willen inzetten op het WK 2026 kunnen straks van deze functie voordeel hebben.

Net als ieder ander zichzelf respecterend gokplatform biedt Vbet de mogelijkheid van een BetBuilder aan. Met de inzetbouwer kun je je eigen weddenschap bouwen door meerdere resultaten van hetzelfde sportevenement te combineren. Om de weddenschap te winnen, moeten alle gecombineerde voorspellingen correct zijn. Met BetBuilder bundel je de gewenste bets van één match. Deze functie is beschikbaar voor meer dan tien sporten, waaronder wedden op NFL, voetbal, basketbal, MMA, cricket, rugby en meer.

Ook kent Vbet een combi boost. Dit houdt in dat hoe meer selecties je combineert, des te meer versterking je krijgt. Het gaat hierbij om een selectie van minimaal drie weddenschappen met een minimale quotering van 1.3. Bij een samengestelde bet van drie weddenschappen is de boost 3%, maar deze kan oplopen tot honderd procent (bij een gecombineerde weddenschap van 20 gecombineerde bets).

VBET sport bonus

Voor gebruikers die op sport inzetten, heeft VBET een exclusieve bonus voor sportgokkers. Wanneer je €10 inzet op een weddenschap, dan krijg je €55 aan free bets.

Registratie

Om gebruik te maken van het sportgedeelte van VBET, is het nodig om jezelf als speler te registreren. Doorgaans kan dit bij officiële aanbieders op twee manieren.

De meest gebruiksvriendelijke methode is een iDIN-verificatie, waarbij de meeste persoonlijke info uit je bankaccount gehaald worden. Het is op dit moment nog niet bevestigd of iDIN wordt toegepast bij VBET.

Wanneer de iDIN-optie niet tot de beschikbare methoden hoort, blijft een traditionele inschrijving over. Hierbij zal VBET je persoonlijke en financiële info uiteraard vertrouwelijk behandelen.

Op basis van je overheidsregistratie zal VBET controleren of je in het Centraal Register Uitsluiting Kansspelen staat ingeschreven. Als dat zo is, kun je geen toegang krijgen tot het platform.

Het inschrijftraject wordt afgesloten met een controle op legitimatie. Hiervoor dien je een persoonlijk ID aan te leveren.

Wanneer je registratie voltooid is, is het nog niet geactiveerd. Je dient namelijk eerst een aantal beperkingen te configureren voor het spelen bij VBET. De bookmaker vraagt je om een limiet op speeltijd, maximum stortingsbedrag en maximum saldo op te geven.

Het spelaanbod van VBet

VBet heeft in Nederland tot nu toe een beperkt spelaanbod. Aangezien het bedrijf enkel een licentie heeft gekregen voor het aanbieden van inzetten op sport, zijn er geen andere speltypes op de website te vinden.

Qua sportweddenschappen heeft VBet wel een breed aanbod voor de Nederlandse speler. Spelers kunnen zowel voor aanvang als live weddenschappen plaatsen. Veelgespeelde sporten, zoals F1, voetbal en wielrennen, behoren tot de opties. Per sport zijn er tientallen, zo niet honderden, wedopties. Maar ook wedden op minder bekende sporten is bij VBet mogelijk. Bovendien kiezen spelers per sport uit veel verschillende competities.

Spelers kunnen bij VBet in het sportsbook kiezen uit diverse manieren van presentatie. Er is een evenementweergave, maar ook een live kalender. Bovendien kan er gesorteerd worden per sport of league. Zo vinden spelers eenvoudig de gewenste inzetmogelijkheden. Na afloop van een wedstrijd is de resultaat makkelijk op te zoeken op de resultatenpagina.

Spelers kunnen bij VBet ook gebruik maken van de kunstmatige intelligentie “Hoory”. Uit eigen onderzoek blijkt dat deze assistent effectief is bij het maken van correcte voorspellingen!

Naam Antwoord Wegingsfactor
Aantal slot providers één aanbieder 0,5
Sportwedden Volwaardige bookmaker score 9
Pokeraanbod Ontbreekt score 5
Bingo Nee 5
Aantal tafels Live Casino Geen 0
Taal Live Casino Geen Nederlandse opties score 5

Vbet bonussen

De startbonus bij VBET is een bonus van €55 en is in feite een 550% bonus. Want je ontvangt gratis inzetten t.w\.v. €55 zodra je een eerste weddenschap van minimaal 10 euro plaatst tegen een minimumquotering van 1.80.

De VBet bonus is makkelijk vrij te spelen. Je hoeft hem namelijk slechts één keer te gebruiken om je winsten op te nemen. De free bets kunnen zonder beperkingen ingezet worden.

In het vierde kwartaal zal VBet zijn casinospellen starten. Dan verwachten wij ook een mooie casino bonus.

Extra promoties

VBet heeft ook bonussen voor bestaande spelers. Deze zijn vaak aan evenementen gekoppeld en verbonden aan bepaalde wedstrijden of kampioenschappen. Hieronder vind je een samenvatting van bonusdeals die worden aangeboden bij VBet.

Bonusvoorwaarden

Bij het ontvangen van de aanbieding van VBet gelden de volgende bonusvoorwaarden:

  • De free bet kan worden gebruikt op elk sportwedstrijd. Dit geldt voor elke inzetmogelijkheid, markt of quotering.
  • Uitbetalingen zijn netto, dus inzet wordt afgetrokken, en zijn direct opneembaar.
  • De free bet zelf kan niet worden uitbetaald.
  • Spelers mogen één keer gebruik maken van deze actie.
  • Deze bonus is geldig voor minimaal één weddenschap van minstens tien euro met een quotering van 1.8 of hoger.
  • De free bet moet de openingsinzet zijn na het aanmaken van het account.
  • Weddenschappen met een early cashout zijn uitgesloten van de actie.

Vclub

Het digitale gokplatform maakt in het buitenland gebruik van het VClub-programma, het loyaliteitsprogramma van de bookmaker. Door in te zetten op weddenschappen verzamel je punten voor Vclub. Ook kan je een VIP-status verkrijgen, waarmee je kans maakt op free bets en andere gratis prijzen.

Vclub is in Nederland echter niet beschikbaar. Of dit trouwsysteem later nog wordt toegevoegd is onbekend.

Vertrouwen

Kenmerk Status Weging / Factor
Vergunning Nederlandse KSA-vergunning weging 10
Achterliggende partij Europese eigenaar met transparantie 9
Preventiebeleid KSA-toezicht score 10
Beveiliging tegoeden Afgescheiden tegoeden factor 1
Samenwerking met CasinoNieuws Nee weging 0.9

Inzet- en gedragslimieten bij VBet

Je kunt verschillende limieten instellen bij VBet. Deze zijn onder de kop “Mijn Profiel” te vinden. We komen de volgende limieten tegen:

  • Speelsessielimiet: Stel een maximale login limiet in per 24 uur, 7 dagen of 30 dagen.
  • Limiet op geldstorting: Je kunt een stortingslimiet kiezen over een vastgestelde termijn.
  • Tijdelijke uitsluiting: Vraag een time-out aan. Dat kan voor minstens 24 uur zijn tot een definitieve time-out.

In vergelijking met concurrerende aanbieders, is het aantal limieten dat VBet hanteert aan de lage kant.

The post Porno video – Krijg nu appeared first on غرفة Room 11.

]]>
Отбор надежного интернет-казино и азартная игра на средства: что важно понимать https://bs.room11.sa/blog/marketing/otbor-nadezhnogo-internet-kazino-i-azartnaja-igra-13/ Fri, 13 Jun 2025 07:50:59 +0000 https://bs.room11.sa/?p=238255 Отбор надежного интернет-казино и азартная игра на средства: что важно понимать Обычные клубы существенно уступают по известности виртуальным казино. Играть в сети возможно всегда и в любом месте. Однако не нужно игнорировать наличие недобросовестных платформ, не выплачивающих деньги. Оформлять регистрацию советуется лишь в риобет и иных солидных игровых клубах с прекрасной репутацией. Есть несколько аспектов, […]

The post Отбор надежного интернет-казино и азартная игра на средства: что важно понимать appeared first on غرفة Room 11.

]]>
Отбор надежного интернет-казино и азартная игра на средства: что важно понимать

Обычные клубы существенно уступают по известности виртуальным казино. Играть в сети возможно всегда и в любом месте. Однако не нужно игнорировать наличие недобросовестных платформ, не выплачивающих деньги. Оформлять регистрацию советуется лишь в риобет и иных солидных игровых клубах с прекрасной репутацией. Есть несколько аспектов, какие важно принимать во внимание при отборе платформы с слотами, рулеткой и покером.

Присутствие лицензии, отличная слава и порядочность

При подбора онлайн гэмблинг-платформы с наличием привилегиями изначально следует проверить, есть ли у него лицензия. Обладание этого свидетельства – гарантия того, что сайт функционирует в границах юридических норм и открыт с пользователями. Развлекательные платформы оформляют лицензии на Кюрасао, Мальте, в Англии. Платформы, предлагающие сервисы законно, неизменно предоставляют игрокам детальную информацию о лицензии. Данная информация публикуется в подвальной области основной веб-страницы. Когда требуемых сведений здесь не имеется, эту информацию необходимо незамедлительно по запросу выдать работники техподдержки. В случае недостатка сведений о разрешении, заведение следует обойти стороной.

Репутация гэмблинг-платформы должна быть безупречной. Даже и платформы обладающие лицензией способны хитрить, скажем, навязывать подарки с высоким процентом отыгрыша. Чтобы оценки статуса казино следует почитать отзывы о клубе на специализированных сайтах-агрегаторах, в социальных медиа. Советуется избегать гэмблинг-платформы, какие:

  • не всегда предоставляют развернутые информацию о акциях;
  • задерживают выплату призов;
  • беспричинно блокируют профили клиентов.

Следует рассматривать обстановку целиком, а и насколько казино реагирует на негативные отзывы. Члены топовых клубов мониторят крупные форумы, и в случае неудовлетворенности игроков сразу связываются, чтобы разобраться с проблемой. Эти не только быстро решают проблемы, но и дают разочарованным клиентам разную возмещение, например, в виде дополнительного подарка по промокоду.

риобет и другие качественные игровые клубы предоставляют услуги на открытых и справедливых условиях. На подобных платформах имеется развернутая информационная поддержка, тщательно изложена каждая промоакция, турнир или лотерейная игра. Сайты, которым можно верить, всегда обеспечивают коммуникацию с пользователями.

Коллекция слотов и методы проведения транзакций

Надежные сайты сотрудничают с признанными производителями программного обеспечения:

  • Эволюция, БГейминг;
  • Amusnet PG Soft
  • Play’n Go, Igrosoft.

Игры данных компаний действуют на фундаменте генератора случайных чисел и подтверждены автономными аудиторскими компаниями, например, TechLabs или eCogra. Результаты вращений в слотах известных компаний случайны.

Важно, чтобы в казино был имеется демонстрационный вариант запуска слотов. Он разработан для детального исследования механики игр и просто веселого досуга. В демоверсии пользователь зарабатывает не настоящие баллы и имеет возможность вертеть ролики слот-машин сколько угодно. Выигрыши, полученные в демонстрационном варианте, нельзя обналичить. Прежде чем начать игре в стандартном режиме, советуется понять, как функционирует тот или иной игровой аппарат. У любого автомата свои особенности: число линеек, дополнительные возможности, величина множителей. Тренировочный формат позволяет вам понять все детали, безопасно от опасностей.

Один из основных критериев доверия игрового клуба – простое и прозрачное выполнение транзакций. В большинстве крупных виртуальных заведений предлагается использовать электронные кошельки, пластиковые карты, и крипту. Крайне важно, чтобы на платформе была доступна местная валютная единица: в этом сценарии игрок не столкнется с издержек, связанных с обменом валюты. Прежде чем входом в портале рекомендуется выяснить, какое количество времени часов там уходит на вывод добычи и есть ли необходимость в оплате комиссии. Лучшие платформы не взимают с геймеров значительное количество финансов, а запросы на снятие выигрышей исполняют максимум за несколько рабочих дней.

Функционирование сектора техподдержки и защита

В riobet и прочих доверенных заведениях есть служба техничной поддержки. Функция саппорта выполняет ключевую роль в гарантировании удобных условий игры. Специалисты устраняют проблемы техподдержки характера, обеспечивают игрокам подробную сведения о специальных предложениях и вознаграждениях. Отличная деятельность экспертов увеличивает уверенность публики.

Геймеры заходят в игровое заведение в любое время суток, поэтому критично, чтобы поддержка была круглосуточным. Данное в особенности значимо в случае обращений, потребующих быстрого реакции (к примеру, при проблемах с внесением денег на баланс). Желательно, чтобы имелись многообразные способы связи со профессионалами. Посетителям интернет-казино в основном рекомендуется применять чат, имейл и мессенджеры. Самый быстрый и практичный метод связи – чат. Электронную почту лучше задействовать для обращений, требующих тщательного изучения.

Операторы должны быть должным образом подготовлены. Для игроков необходимо уметь разбираться не только в технических деталях эксплуатации платформы, а также в правилах игр, условиях начисления и использования бонусов. Специалисты вынуждены предлагать понятные и вежливые реплики. Функционирование поддержки рекомендуется проверить, спросив любой вопрошение. В идеале, сообщение в рамках разговоре появится за период 2-3 минут. Когда запрос потребует дополнительного периода на анализ, представитель обязан сообщить об этом игрока. К саппорт риобет казино допустимо обратиться с вопросами, связанными с:

  • трудностей с оформлением профиля или входом к аккаунту;
  • погрешностей при выводе призов и депозите счета;
  • ошибочно выданных премий;
  • сбоях в работе игр.

При сложных обстоятельствах, например, в случае подозрении на жульничество со стороны других игроков, поддержка содействует в урегулировать спор. Менеджеры занимаются проверкой игроков (подтверждением персональных данных и возраста). У специалистов также возможно выяснить положения активации и использования вознаграждений, лимиты платежей, условия текущих распродаж.

В процессе оформления учетной записи в каждом казино пользователь указывает сведения о себе: имя и фамилию, день рождения, финансовую информацию. Каждый клиент выполняет операции, что становится причиной, что учетная запись возможной мишенью для проникновения. Таким образом необходимо, для того чтобы игорное заведение гарантировало игрокам защиту личных и финансовых данных, надежность операций.

В лицензированных казино, как riobet, используется система 128-битного криптографии SSL. Она задействуется для надежной трансляции данных между юзерами и серверной системой. Эта система разрабатывалась для цифрового банкинга. Ради еще повышенной надежности игорные заведения применяют двухфакторную аутентификацию – подтверждение логина посредством приложения или посредством указания кода из СМС. Когда геймер обнаружил странную активное поведение в аккаунте, ему следует немедленно изменить секретный код и контактировать с технической поддержкой.

Игровые заведения предлагают пользователям применять сложные ключи доступа. С целью максимальной надежности пароль следует периодически изменять и не делиться ни с кем. До оформлением учетной записи в понравившемся клубе важно ознакомиться с его политикой конфиденциальности. Следует ознакомиться с тем, как платформа аккумулирует, сохраняет и анализирует данные. Следует убедиться, что данные не распространяется неавторизованным.

Подарки: объем, величина и регламент

Надежные сайты, как, риобет казино, пытаются всеми возможными способами завлечь и удержать геймеров. Один из из самых эффективных методов удерживания – раздача вознаграждений. Прежде чем оформлением профиля на ресурсе важно выяснить, есть ли там бонусы. Самые значительные подарки часто даются за единственный либо несколько депозитов после регистрации. В будущем участники вдобавок могут приобретать презенты за депозит. Призы выдаются в в качестве наличных или фриспинов.

Во многочисленных интернет-казино доступен кэшбэк. Таким образом называется компенсация доли потерянных финансов в течение определенный период, скажем, семь дней или месячный срок. Геймерам способны предоставляться релоад-бонусы риобет в обмен на повторные пополнения. Больше больше презентов доступно в контексте системы лояльности. Суть подобных программ следующая: геймерам за ставки засчитываются очки, которые можно менять на подарки или наличные средства. От количества заработанных поинтов в большинстве случаев зависит уровень участника. Когда значительнее уровень игрока, то значительнее подарков геймеру предлагается.

Самое значительное о вознаграждениях: их требуется отыгрывать. У любого подарка существует вейджер, задающий, какое количество раз нужно «сыграть» премию в слотах, чтобы обналичить средства. Желательно, чтобы вейджер был низким: в этом случае правила выполнения требований бонуса существенно упрощаются. Следует взять в расчет, что онлайн-казино устанавливают лимиты по периоду отработки призов. Каждый из подарков необходимо отыграть в течение определенного времени – нескольких суток или недели. Вознаграждения советуется применять постоянно, особенно когда у данных вознаграждений минимизированный вейджер. Бонусы способствуют играть дольше, что особенно важно при маленькой количестве средств на счету.

Стиль, пользовательский интерфейс и мобильный вариант

Во время определения виртуального казино с поощрениями многие недооценивают графическое оформление и технологическую часть площадок. Наличие сертификата неизменно в приоритете, но маловероятно кто-то придется по душе играть на платформе, там, где приходится долго искать слоты или где вывод денег требует длительного изучения сложного интерфейса. Главные характеристики продуманных интернет-ресурсов азартных клубов такие:

  1. Скоростная переход. Желаемую игру возможно отыскать в пару нажатий.
  2. Удобство проведения сделок.
  3. Минимум рекламных объявлений плакатов и других мешающих элементов.
  4. Беспроблемная работа – недостаток подвисаний и лагов.

В игорных заведениях, сокращающих расходы на создании интуитивно понятного пользовательского интерфейса, обычно наблюдаются и другие неполадки, например, низкий уровень защиты данных.

Ресурсы топовых игорных заведений, как риобет, авто- подстраиваются под формат дисплей используемого гаджета – у них адаптивный дизайн. В случае, если при запуске на планшете или персональном компьютере кнопки пересекаются, а контент выходит за пределы дисплея – это дилетантская работа. В случае, если главная веб-страница загружается более двух-трех мгновений, также следует задуматься. Проблемы с настройкой свидетельствуют или о небрежности программистов, или о неэффективном серверном оборудовании.

Главное меню портала должно быть интуитивно понятным. Обычно оно состоит из ряда важных категорий: «Казино», «Ставки на спорт», «Live», «Профиль», «Платежи». Важно, чтобы на платформе был категоризация игр по разработчику, а также сортировка по главным критериям: популярности, проценту возврата игроку (RTP). В индивидуальном аккаунте геймера должна демонстрироваться запись транзакций, информация о предоставленных вознаграждениях и динамике их выполнения условий. В нижнем сегменте области веб-сайтов казино обычно находятся информация о лицензировании, находится всевозможная информационная и юридическая информация.

Множество геймеров активируют игровые автоматы на смартфонах – это удобно. Таким геймерам важно, чтобы игорное заведение было оптимизировано для переносных девайсов. У ведущих заведений, как риобет казино, есть не только удобная версия, но и скачиваемый приложение. Программное обеспечение в основной массе обстоятельств создано для платформы Android. Программное обеспечение для iOS тоже встречается все чаще. Доступность аппа – существенный плюс для сайта. Программное обеспечение не только упрощает вход к развлечениям, но и дает возможность обходить фильтры казино.

Самоконтроль и ответственная азартная игра

Игровые развлечения – это не только выигрыши, но и неудачи. В данном нет ничегошеньки дурного, пока геймер подходит к посещению казино как к увеселению. Надежные казино дают пользователям шанс устанавливать лимиты на депозиты и убытки, подробно освещают тему азартной зависимости. Когда платформа делает акцент на непрерывно побеждающих участниках и упускает из виду вопрос зависимости – это плохо.

Клиентам гэмблинга риобет необходимо понимать, как ставить деньги разумно. Наиболее важное принцип такое: до запуском игры всегда нужно устанавливать для себя определённую количество денег, которую можно израсходовать. Совершенно не не нужно ставить на деньги, предназначенные для оплаты коммунальных услуг, покупку одежды и иные задачи. При ситуации последовательности неудачных раундов возможно проявиться стремление реабилитироваться. Данный один из наиболее рискованных ситуаций: попытка все вернуть часто ведет к росту проигрыша. Стоит сделать паузу, дабы отвлечься и остыть.

Временами гэмблер способен упускать из виду, что за процессом пролетает несколько часов подряд. Чтобы возвратиться к действительности, желательно использовать хронометр или сигнализатор. В крупных казино, беспокоящихся о посетителях, есть вмонтированные выскакивающие напоминания о промежутке, проведенном в азартной игре. Запустить их возможно в параметрах индивидуального профиля.

Азартная зависимость (пристрастие от азартных занятий) проявляется изредка. Главные их характеристики такие:

  • постоянные размышления об гэмблинге;
  • увеличение величины бетов;
  • усилия замаскировать увлечение слотами от семьи;
  • желание восстановить потери всеми методами;
  • отвлечение от труда и родных ради визита в казино.

В случае наличии некоторых из указанных характеристик следует обратиться за помощью. Имеются горячие линии и консультации специалистов по психологии, специализирующихся на лудомании.

Каким способом зарегистрироваться в игорном заведении и начать азартные игры

По окончании выбора платформы для азартных игр нужно осуществить регистрационный процесс. Создать аккаунт требуется для подключения к автоматам, активации бонусов и участия в спецпредложениях. Геймеру обычно нужно осуществить подобные операции:

  1. Зайти на вебсайт или включить программу гэмблинга риобет.
  2. Нажать на клавишу «Зарегистрироваться».
  3. Предоставить e-mail или номер телефона.
  4. Сгенерировать пароль.
  5. Определить валюту счета.
  6. Принять условия платформы и удостоверить возраст.

На различных порталах, как в риобет казино, имеется функция входа через социальные платформы, различные мессенджеры и услуги: Google, Facebook, TikTok и другие. Использование данной возможности позволяет в кратчайшие сроки стартовать в игре, избегая заполнения анкеты. Однако нужно учесть заполнить в профиле персональную информацию: имя и фамилию, страну проживания, гендер, возраст. Индивидуальные сведения необходимо быть точными фактическому положению, поскольку если нет, геймер не сможет пройти подтверждение.

Следующий действие после регистрационного процесса – внесение средств на аккаунта. Любой клуб обеспечивает различные методы осуществления транзакций:

  • онлайн кошельки для денег (Neteller, Skrill);
  • кредитные карты (MasterCard, Visa);
  • цифровую валюту (Ethereum, Bitcoin, Tether).

Ограничения выплат регулярно изменяются, в связи с этим их желательно проверять. Совет: применять нужно исключительно свои денежные реквизиты. Депозит денег с не своих банковских карт или электронных кошельков может привести к заморозки профиля riobet.

Обналичивать финансы советуется таким же методом, что и зачислять на аккаунт. При первичном снятии выигрышей клиенту необходимо осуществить идентификацию. Игровая платформа риобет казино просит у пользователя изображение паспорта, селфи с удостоверением. Вдобавок вероятно потребоваться изображение документа за услуги ЖКХ (для подтверждения адреса).

По завершении депозита средств на аккаунт можно приступить к играть. Азартные игроки как правило предпочитают игровым автоматам. Замечательный выбор – автоматы из раздела «Популярное» (на каждом сайте он называется по-всякому). В категорию самых запрашиваемых относятся такие игровые автоматы: Crazy Monkey, Sugar Rush, Sweet Bonanza, Gonzo’s Quest. Для азартного времяпрепровождения на настоящие средства оптимальны слоты с наивысшей доходностью (RTP). Насколько значительнее уровень возврата, тем регулярнее на барабанах формируются выигрышные сочетания знаков. Также роль обладает волатильность (степень риска). Этот параметр непосредственно пропорционален величине мультипликаторов ставок. Сильная волатильность – редкие, но значительные вознаграждения. Малорисковые игровые автоматы определяются регулярными небольшими выигрышами.

Существует различные разновидностей игровых машин. Ранее наиболее часто встречались традиционные автоматы с тремя цилиндрами, минимальным числом функций и простыми символами (фруктовыми, овощными и колокольчиковыми картинками). С течением времени этим автоматам составили конкуренцию новаторские автоматы с пятью или более чем пятью цилиндрами, значительным числом иконок и строк.

В казино riobet представлены не только игровые машины, но и иные игры:

  1. Двадцать одно Чтобы победы необходимо достичь 21 пункт или как можно более схожее к 21 число баллов.
  2. Рулетка. В рулетке принимаются пари на сегменты, номера или колорит (черное или красное).
  3. Баккарат Цель – угадать, какая комбинация будет сильнее.
  4. Покер С целью одержать победу, нужно собрать весомую комбинацию карт.
  5. Кости. Игра с 2 дайсами, самая распространенная в Соединенных Штатах Америки.

На порталах все более часто появляются развлечения с участием настоящих дилеров вживую. В данных казино геймеры, не выходя своей квартиры, общаются с живыми опытными крупье. Видеокамеры передают изображение с площадок, где дилеры раздают карты, запускают колесо рулетки или проводят игры в стиле телешоу. Взаимодействовать с ведущим riobet предлагается, используя онлайн-чат.

The post Отбор надежного интернет-казино и азартная игра на средства: что важно понимать appeared first on غرفة Room 11.

]]>