vendor: 156,568 bytes, lines 1-10
1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/support-pWk6X70a.js","assets/chunk-CMxvf4Kt.js","assets/button-Cf72fni9.js","assets/utils-DXalBF5w.js","assets/jsx-runtime-CWteFE1C.js","assets/DialogTitle-DPX3vIAX.js","assets/owner-BHw9Zbyc.js","assets/react-dom-CoZa9heH.js","assets/with-selector-CTO29NSf.js","assets/getPseudoElementBounds-U8Vr_463.js","assets/isElementDisabled-KSuuBj8D.js","assets/useControlled-BDtnShyE.js","assets/navigation-CWOtiA3a.js","assets/useStore-BxqNxvuA.js","assets/link-Zv-E7cN7.js","assets/chevron-down-3d7saGDW.js","assets/createLucideIcon-D_HX7sDH.js","assets/chevron-up-HOWeUUMh.js","assets/header-B_2MdqK_.js","assets/dropdown-menu-DzZ5vMlf.js","assets/Separator-FRcB6gWn.js","assets/chevron-right-5I8sAPzx.js","assets/brand-logo-CJCgTHpL.js","assets/sheet-DqFwhf6G.js","assets/x-BLJKiM8W.js","assets/content-layout-DMCOM-H7.js","assets/house-4uR-SB12.js","assets/pricing-FhLMSjrF.js","assets/input-Df4MPsSG.js","assets/check-Dm23o7Ua.js","assets/laptop-fbn3NiDl.js","assets/minus-Cfh8aIxp.js","assets/plus-BkD3aJLJ.js","assets/marketing-sections-n7q1a6-P.js","assets/arrow-right-DYDMntgB.js","assets/card-Dw4j4K8Q.js","assets/table-DfNLediY.js","assets/pdf-tools-fPWpXPo6.js","assets/download-DREr36WC.js","assets/cloud-G6YnrtY2.js","assets/monitor-BaeGMGXW.js","assets/refresh-cw-DV7nnZJe.js","assets/sparkles-CMlduiAZ.js","assets/about-By31PIzA.js","assets/users-CqNROWSy.js","assets/_slug-B14yf_cF.js","assets/checkbox-BEf8vl5H.js","assets/useAriaLabelledBy-DQ5GebEP.js","assets/external-link-BXZieaRd.js","assets/folder-open-DzyytPIm.js","assets/link-Bk84XJy6.js","assets/lock-keyhole-u0liY1-Q.js","assets/upload-BXR2eray.js","assets/label-Cnts8Jng.js","assets/textarea-DVm8ZptO.js","assets/file-utils-BLrbZVkx.js","assets/registry-DqVEScPp.js","assets/route-DFpEsj0V.js","assets/dialog-BaKlhWOj.js","assets/app-layout-WiRj2II4.js","assets/avatar-DfsDocay.js","assets/useRender-Wc4GIpmj.js","assets/separator-Cs5zP_b_.js","assets/coins-2p3iyMy9.js","assets/credit-card-Zw4V0YTc.js","assets/key-CItBZbwG.js","assets/image-uploader-DTnyEbcp.js","assets/route-2QCzk7WX.js","assets/shield-DQGxAnuN.js","assets/route-VbquqZen.js","assets/mdx-components-CnMmrRSq.js","assets/route-oEtTQGC7.js","assets/routes-C6nCz7HE.js","assets/blog-DCalTJXp.js","assets/blog-pages-BDq6tS7t.js","assets/_slug-diXdgrpr.js","assets/markdown-content-CwEmIpIc.js","assets/markdown-it-eKEXSQF6.js","assets/settings-C17DzctB.js","assets/tickets-Df4GpLxz.js","assets/data-table-dY1ZChc-.js","assets/message-square-0S3SCwrd.js","assets/badge-Cb_TDGke.js","assets/profile-d4kfYYJL.js","assets/useForm-EVxaTTLN.js","assets/useMutation-Ddz_YzBg.js","assets/form-field-CZ8APBS6.js","assets/field-DPScn74q.js","assets/payments-CcrwOrTW.js","assets/credits-DzSHzpvg.js","assets/billing-KpN2cL8P.js","assets/circle-x-C_6oleMZ.js","assets/ellipsis-DCA_JAf3.js","assets/pencil-CvsafHBl.js","assets/apikeys-DMGMktPV.js","assets/admin-C3t5gFu3.js","assets/users-Bdck321e.js","assets/tickets-BvEi_t8a.js","assets/subscriptions-DPciUweQ.js","assets/settings-BjUoZjCE.js","assets/select-BLkM9sPZ.js","assets/roles-C65e_7AB.js","assets/posts-Bj-8fM75.js","assets/permissions-BA3VPSES.js","assets/payments-D0NL_OCN.js","assets/invite-codes-Bel1xyFk.js","assets/credits-CWz5jzNh.js","assets/categories-COhpMpA-.js","assets/verify-email-JG3hSNNA.js","assets/sign-up-BPrKWniZ.js","assets/sign-in-ButQPtju.js","assets/reset-password-CWnOTYKT.js","assets/redeem-invite-DUmC2hjm.js","assets/forgot-password-DoxKw_AF.js"])))=>i.map(i=>d[i]); 2import{o as e,r as t,t as n}from"./chunk-CMxvf4Kt.js";import{n as r,t as i}from"./jsx-runtime-CWteFE1C.js";import{t as a}from"./react-dom-CoZa9heH.js";import{A as o,B as s,C as c,D as l,E as u,F as d,H as f,I as p,L as m,M as h,N as g,O as _,P as v,R as y,S as b,T as x,U as ee,V as S,_ as te,a as ne,b as re,d as ie,f as ae,h as oe,i as se,j as ce,k as le,l as ue,m as de,n as C,o as w,r as fe,t as pe,u as me,v as he,w as ge,x as E,y as _e,z as ve}from"./useStore-BxqNxvuA.js";import{a as ye,c as be,i as xe,n as Se,o as Ce,r as we,s as Te,t as Ee}from"./matchContext-jQ4k0ibo.js";import{t as De}from"./link-Zv-E7cN7.js";import{t as D}from"./createLucideIcon-D_HX7sDH.js";var Oe=n((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,ee||(ee=!0,ae());else{var t=n(l);t!==null&&ce(x,t.startTime-e)}}var ee=!1,S=-1,te=5,ne=-1;function re(){return g?!0:!(e.unstable_now()-ne<te)}function ie(){if(g=!1,ee){var t=e.unstable_now();ne=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(S),S=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&re());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&ce(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?ae():ee=!1}}}var ae;if(typeof y==`function`)ae=function(){y(ie)};else if(typeof MessageChannel<`u`){var oe=new MessageChannel,se=oe.port2;oe.port1.onmessage=ie,ae=function(){se.postMessage(null)}}else ae=function(){_(ie,0)};function ce(t,n){S=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):te=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(S),S=-1):h=!0,ce(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,ee||(ee=!0,ae()))),r},e.unstable_shouldYield=re,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),ke=n(((e,t)=>{t.exports=Oe()})),Ae=n((e=>{var t=ke(),n=r(),i=a();function o(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function s(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function c(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function l(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function u(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function d(e){if(c(e)!==e)throw Error(o(188))}function f(e){var t=e.alternate;if(!t){if(t=c(e),t===null)throw Error(o(188));return t===e?e:null}for(var n=e,r=t;;){var i=n.return;if(i===null)break;var a=i.alternate;if(a===null){if(r=i.return,r!==null){n=r;continue}break}if(i.child===a.child){for(a=i.child;a;){if(a===n)return d(i),e;if(a===r)return d(i),t;a=a.sibling}throw Error(o(188))}if(n.return!==r.return)n=i,r=a;else{for(var s=!1,l=i.child;l;){if(l===n){s=!0,n=i,r=a;break}if(l===r){s=!0,r=i,n=a;break}l=l.sibling}if(!s){for(l=a.child;l;){if(l===n){s=!0,n=a,r=i;break}if(l===r){s=!0,r=a,n=i;break}l=l.sibling}if(!s)throw Error(o(189))}}if(n.alternate!==r)throw Error(o(190))}if(n.tag!==3)throw Error(o(188));return n.stateNode.current===n?e:t}function p(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=p(e),t!==null)return t;e=e.sibling}return null}var m=Object.assign,h=Symbol.for(`react.element`),g=Symbol.for(`react.transitional.element`),_=Symbol.for(`react.portal`),v=Symbol.for(`react.fragment`),y=Symbol.for(`react.strict_mode`),b=Symbol.for(`react.profiler`),x=Symbol.for(`react.consumer`),ee=Symbol.for(`react.context`),S=Symbol.for(`react.forward_ref`),te=Symbol.for(`react.suspense`),ne=Symbol.for(`react.suspense_list`),re=Symbol.for(`react.memo`),ie=Symbol.for(`react.lazy`),ae=Symbol.for(`react.activity`),oe=Symbol.for(`react.memo_cache_sentinel`),se=Symbol.iterator;function ce(e){return typeof e!=`object`||!e?null:(e=se&&e[se]||e[`@@iterator`],typeof e==`function`?e:null)}var le=Symbol.for(`react.client.reference`);function ue(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===le?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case v:return`Fragment`;case b:return`Profiler`;case y:return`StrictMode`;case te:return`Suspense`;case ne:return`SuspenseList`;case ae:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case _:return`Portal`;case ee:return e.displayName||`Context`;case x:return(e._context.displayName||`Context`)+`.Consumer`;case S:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case re:return t=e.displayName||null,t===null?ue(e.type)||`Memo`:t;case ie:t=e._payload,e=e._init;try{return ue(e(t))}catch{}}return null}var de=Array.isArray,C=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,w=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,fe={pending:!1,data:null,method:null,action:null},pe=[],me=-1;function he(e){return{current:e}}function ge(e){0>me||(e.current=pe[me],pe[me]=null,me--)}function E(e,t){me++,pe[me]=e.current,e.current=t}var _e=he(null),ve=he(null),ye=he(null),be=he(null);function xe(e,t){switch(E(ye,t),E(ve,e),E(_e,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Jd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Jd(t),e=Yd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}ge(_e),E(_e,e)}function Se(){ge(_e),ge(ve),ge(ye)}function Ce(e){e.memoizedState!==null&&E(be,e);var t=_e.current,n=Yd(t,e.type);t!==n&&(E(ve,e),E(_e,n))}function we(e){ve.current===e&&(ge(_e),ge(ve)),be.current===e&&(ge(be),ap._currentValue=fe)}var Te,Ee;function De(e){if(Te===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);Te=t&&t[1]||``,Ee=-1<e.stack.indexOf(` 3 at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return` 4`+Te+e+Ee}var D=!1;function Oe(e,t){if(!e||D)return``;D=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(` 5`),l=s.split(` 6`);for(i=r=0;r<c.length&&!c[r].includes(`DetermineComponentFrameRoot`);)r++;for(;i<l.length&&!l[i].includes(`DetermineComponentFrameRoot`);)i++;if(r===c.length||i===l.length)for(r=c.length-1,i=l.length-1;1<=r&&0<=i&&c[r]!==l[i];)i--;for(;1<=r&&0<=i;r--,i--)if(c[r]!==l[i]){if(r!==1||i!==1)do if(r--,i--,0>i||c[r]!==l[i]){var u=` 7`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{D=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?De(n):``}function Ae(e,t){switch(e.tag){case 26:case 27:case 5:return De(e.type);case 16:return De(`Lazy`);case 13:return e.child!==t&&t!==null?De(`Suspense Fallback`):De(`Suspense`);case 19:return De(`SuspenseList`);case 0:case 15:return Oe(e.type,!1);case 11:return Oe(e.type.render,!1);case 1:return Oe(e.type,!0);case 31:return De(`Activity`);default:return``}}function je(e){try{var t=``,n=null;do t+=Ae(e,n),n=e,e=e.return;while(e);return t}catch(e){return` 8Error generating stack: `+e.message+` 9`+e.stack}}var Me=Object.prototype.hasOwnProperty,Ne=t.unstable_scheduleCallback,Pe=t.unstable_cancelCallback,Fe=t.unstable_shouldYield,Ie=t.unstable_requestPaint,Le=t.unstable_now,Re=t.unstable_getCurrentPriorityLevel,ze=t.unstable_ImmediatePriority,Be=t.unstable_UserBlockingPriority,Ve=t.unstable_NormalPriority,He=t.unstable_LowPriority,Ue=t.unstable_IdlePriority,We=t.log,Ge=t.unstable_setDisableYieldValue,Ke=null,qe=null;function Je(e){if(typeof We==`function`&&Ge(e),qe&&typeof qe.setStrictMode==`function`)try{qe.setStrictMode(Ke,e)}catch{}}var Ye=Math.clz32?Math.clz32:Qe,Xe=Math.log,Ze=Math.LN2;function Qe(e){return e>>>=0,e===0?32:31-(Xe(e)/Ze|0)|0}var $e=256,et=262144,tt=4194304;function nt(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function rt(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=nt(n))):i=nt(o):i=nt(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=nt(n))):i=nt(o)):i=nt(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function it(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function at(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32: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 t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ot(){var e=tt;return tt<<=1,!(tt&62914560)&&(tt=4194304),e}function st(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function ct(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function lt(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-Ye(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&ut(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function ut(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Ye(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function dt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Ye(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function ft(e,t){var n=t&-t;return n=n&42?1:pt(n),(n&(e.suspendedLanes|t))===0?n:0}function pt(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;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:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function mt(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function ht(){var e=w.p;return e===0?(e=window.event,e===void 0?32:xp(e.type)):e}function gt(e,t){var n=w.p;try{return w.p=e,t()}finally{w.p=n}}var _t=Math.random().toString(36).slice(2),vt=`__reactFiber$`+_t,yt=`__reactProps$`+_t,bt=`__reactContainer$`+_t,xt=`__reactEvents$`+_t,St=`__reactListeners$`+_t,Ct=`__reactHandles$`+_t,wt=`__reactResources$`+_t,Tt=`__reactMarker$`+_t;function Et(e){delete e[vt],delete e[yt],delete e[xt],delete e[St],delete e[Ct]}function Dt(e){var t=e[vt];if(t)return t;for(var n=e.parentNode;n;){if(t=n[bt]||n[vt]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=vf(e);e!==null;){if(n=e[vt])return n;e=vf(e)}return t}e=n,n=e.parentNode}return null}function Ot(e){if(e=e[vt]||e[bt]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function kt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(o(33))}function At(e){var t=e[wt];return t||=e[wt]={hoistableStyles:new Map,hoistableScripts:new Map},t}function jt(e){e[Tt]=!0}var Mt=new Set,Nt={};function Pt(e,t){Ft(e,t),Ft(e+`Capture`,t)}function Ft(e,t){for(Nt[e]=t,e=0;e<t.length;e++)Mt.add(t[e])}var It=RegExp(`^[: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]*$`),Lt={},Rt={};function zt(e){return Me.call(Rt,e)?!0:Me.call(Lt,e)?!1:It.test(e)?Rt[e]=!0:(Lt[e]=!0,!1)}function Bt(e,t,n){if(zt(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,``+n)}}function Vt(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,``+n)}}function Ht(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,``+r)}}function Ut(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function Wt(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function Gt(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Kt(e){if(!e._valueTracker){var t=Wt(e)?`checked`:`value`;e._valueTracker=Gt(e,t,``+e[t])}}function qt(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=Wt(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function Jt(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var Yt=/[\n"\\]/g;function Xt(e){return e.replace(Yt,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function Zt(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+Ut(t)):e.value!==``+Ut(t)&&(e.value=``+Ut(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):$t(e,o,Ut(n)):$t(e,o,Ut(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+Ut(s):e.removeAttribute(`name`)}function Qt(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){Kt(e);return}n=n==null?``:``+Ut(n),t=t==null?n:``+Ut(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),Kt(e)}function $t(e,t,n){t===`number`&&Jt(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function en(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+Ut(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function tn(e,t,n){if(t!=null&&(t=``+Ut(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+Ut(n)}function nn(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(o(92));if(de(r)){if(1<r.length)throw Error(o(93));r=r[0]}n=r}n??=``,t=n}n=Ut(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),Kt(e)}function rn(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var an=new Set(`animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp`.split(` `));function on(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||an.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function sn(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(o(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``);for(var i in t)r=t[i],t.hasOwnProperty(i)&&n[i]!==r&&on(e,i,r)}else for(var a in t)t.hasOwnProperty(a)&&on(e,a,t[a])}function cn(e){if(e.indexOf(`-`)===-1)return!1;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 ln=new Map([[`acceptCharset`,`accept-charset`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`],[`crossOrigin`,`crossorigin`],[`accentHeight`,`accent-height`],[`alignmentBaseline`,`alignment-baseline`],[`arabicForm`,`arabic-form`],[`baselineShift`,`baseline-shift`],[`capHeight`,`cap-height`],[`clipPath`,`clip-path`],[`clipRule`,`clip-rule`],[`colorInterpolation`,`color-interpolation`],[`colorInterpolationFilters`,`color-interpolation-filters`],[`colorProfile`,`color-profile`],[`colorRendering`,`color-rendering`],[`dominantBaseline`,`dominant-baseline`],[`enableBackground`,`enable-background`],[`fillOpacity`,`fill-opacity`],[`fillRule`,`fill-rule`],[`floodColor`,`flood-color`],[`floodOpacity`,`flood-opacity`],[`fontFamily`,`font-family`],[`fontSize`,`font-size`],[`fontSizeAdjust`,`font-size-adjust`],[`fontStretch`,`font-stretch`],[`fontStyle`,`font-style`],[`fontVariant`,`font-variant`],[`fontWeight`,`font-weight`],[`glyphName`,`glyph-name`],[`glyphOrientationHorizontal`,`glyph-orientation-horizontal`],[`glyphOrientationVertical`,`glyph-orientation-vertical`],[`horizAdvX`,`horiz-adv-x`],[`horizOriginX`,`horiz-origin-x`],[`imageRendering`,`image-rendering`],[`letterSpacing`,`letter-spacing`],[`lightingColor`,`lighting-color`],[`markerEnd`,`marker-end`],[`markerMid`,`marker-mid`],[`markerStart`,`marker-start`],[`overlinePosition`,`overline-position`],[`overlineThickness`,`overline-thickness`],[`paintOrder`,`paint-order`],[`panose-1`,`panose-1`],[`pointerEvents`,`pointer-events`],[`renderingIntent`,`rendering-intent`],[`shapeRendering`,`shape-rendering`],[`stopColor`,`stop-color`],[`stopOpacity`,`stop-opacity`],[`strikethroughPosition`,`strikethrough-position`],[`strikethroughThickness`,`strikethrough-thickness`],[`strokeDasharray`,`stroke-dasharray`],[`strokeDashoffset`,`stroke-dashoffset`],[`strokeLinecap`,`stroke-linecap`],[`strokeLinejoin`,`stroke-linejoin`],[`strokeMiterlimit`,`stroke-miterlimit`],[`strokeOpacity`,`stroke-opacity`],[`strokeWidth`,`stroke-width`],[`textAnchor`,`text-anchor`],[`textDecoration`,`text-decoration`],[`textRendering`,`text-rendering`],[`transformOrigin`,`transform-origin`],[`underlinePosition`,`underline-position`],[`underlineThickness`,`underline-thickness`],[`unicodeBidi`,`unicode-bidi`],[`unicodeRange`,`unicode-range`],[`unitsPerEm`,`units-per-em`],[`vAlphabetic`,`v-alphabetic`],[`vHanging`,`v-hanging`],[`vIdeographic`,`v-ideographic`],[`vMathematical`,`v-mathematical`],[`vectorEffect`,`vector-effect`],[`vertAdvY`,`vert-adv-y`],[`vertOriginX`,`vert-origin-x`],[`vertOriginY`,`vert-origin-y`],[`wordSpacing`,`word-spacing`],[`writingMode`,`writing-mode`],[`xmlnsXlink`,`xmlns:xlink`],[`xHeight`,`x-height`]]),un=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function dn(e){return un.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function fn(){}var pn=null;function mn(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var hn=null,gn=null;function _n(e){var t=Ot(e);if(t&&(e=t.stateNode)){var n=e[yt]||null;a:switch(e=t.stateNode,t.type){case`input`:if(Zt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+Xt(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=r[yt]||null;if(!i)throw Error(o(90));Zt(r,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&qt(r)}break a;case`textarea`:tn(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&en(e,!!n.multiple,t,!1)}}}var vn=!1;function yn(e,t,n){if(vn)return e(t,n);vn=!0;try{return e(t)}finally{if(vn=!1,(hn!==null||gn!==null)&&(Du(),hn&&(t=hn,e=gn,gn=hn=null,_n(t),e)))for(t=0;t<e.length;t++)_n(e[t])}}function bn(e,t){var n=e.stateNode;if(n===null)return null;var r=n[yt]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=!(e===`button`||e===`input`||e===`select`||e===`textarea`)),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(o(231,t,typeof n));return n}var xn=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),Sn=!1;if(xn)try{var Cn={};Object.defineProperty(Cn,"passive",{get:function(){Sn=!0}}),window.addEventListener(`test`,Cn,Cn),window.removeEventListener(`test`,Cn,Cn)}catch{Sn=!1}var wn=null,Tn=null,En=null;function Dn(){if(En)return En;var e,t=Tn,n=t.length,r,i=`value`in wn?wn.value:wn.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return En=i.slice(e,1<r?1-r:void 0)}function On(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function kn(){return!0}function An(){return!1}function jn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?kn:An,this.isPropagationStopped=An,this}return m(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=kn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=kn)},persist:function(){},isPersistent:kn}),t}var O={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Mn=jn(O),Nn=m({},O,{view:0,detail:0}),Pn=jn(Nn),k,Fn,In,Ln=m({},Nn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Jn,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!==In&&(In&&e.type===`mousemove`?(k=e.screenX-In.screenX,Fn=e.screenY-In.screenY):Fn=k=0,In=e),k)},movementY:function(e){return`movementY`in e?e.movementY:Fn}}),Rn=jn(Ln),zn=jn(m({},Ln,{dataTransfer:0})),Bn=jn(m({},Nn,{relatedTarget:0})),Vn=jn(m({},O,{animationName:0,elapsedTime:0,pseudoElement:0})),Hn=jn(m({},O,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Un=jn(m({},O,{data:0})),Wn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},Gn={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`},Kn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function qn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=Kn[e])?!!t[e]:!1}function Jn(){return qn}var Yn=jn(m({},Nn,{key:function(e){if(e.key){var t=Wn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=On(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?Gn[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Jn,charCode:function(e){return e.type===`keypress`?On(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?On(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Xn=jn(m({},Ln,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Zn=jn(m({},Nn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Jn})),Qn=jn(m({},O,{propertyName:0,elapsedTime:0,pseudoElement:0})),$n=jn(m({},Ln,{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})),er=jn(m({},O,{newState:0,oldState:0})),tr=[9,13,27,32],nr=xn&&`CompositionEvent`in window,rr=null;xn&&`documentMode`in document&&(rr=document.documentMode);var ir=xn&&`TextEvent`in window&&!rr,ar=xn&&(!nr||rr&&8<rr&&11>=rr),or=` `,sr=!1;function cr(e,t){switch(e){case`keyup`:return tr.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function lr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var ur=!1;function dr(e,t){switch(e){case`compositionend`:return lr(t);case`keypress`:return t.which===32?(sr=!0,or):null;case`textInput`:return e=t.data,e===or&&sr?null:e;default:return null}}function fr(e,t){if(ur)return e===`compositionend`||!nr&&cr(e,t)?(e=Dn(),En=Tn=wn=null,ur=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return ar&&t.locale!==`ko`?null:t.data;default:return null}}var pr={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 mr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!pr[e.type]:t===`textarea`}function hr(e,t,n,r){hn?gn?gn.push(r):gn=[r]:hn=r,t=Nd(t,`onChange`),0<t.length&&(n=new Mn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var gr=null,_r=null;function vr(e){Ed(e,0)}function yr(e){if(qt(kt(e)))return e}function br(e,t){if(e===`change`)return t}var xr=!1;if(xn){var Sr;if(xn){var Cr=`oninput`in document;if(!Cr){var wr=document.createElement(`div`);wr.setAttribute(`oninput`,`return;`),Cr=typeof wr.oninput==`function`}Sr=Cr}else Sr=!1;xr=Sr&&(!document.documentMode||9<document.documentMode)}function Tr(){gr&&(gr.detachEvent(`onpropertychange`,Er),_r=gr=null)}function Er(e){if(e.propertyName===`value`&&yr(_r)){var t=[];hr(t,_r,e,mn(e)),yn(vr,t)}}function Dr(e,t,n){e===`focusin`?(Tr(),gr=t,_r=n,gr.attachEvent(`onpropertychange`,Er)):e===`focusout`&&Tr()}function Or(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return yr(_r)}function kr(e,t){if(e===`click`)return yr(t)}function Ar(e,t){if(e===`input`||e===`change`)return yr(t)}function jr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var Mr=typeof Object.is==`function`?Object.is:jr;function Nr(e,t){if(Mr(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!Me.call(t,i)||!Mr(e[i],t[i]))return!1}return!0}function Pr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Fr(e,t){var n=Pr(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Pr(n)}}function Ir(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Ir(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function Lr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Jt(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Jt(e.document)}return t}function Rr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var zr=xn&&`documentMode`in document&&11>=document.documentMode,Br=null,Vr=null,Hr=null,Ur=!1;function Wr(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Ur||Br==null||Br!==Jt(r)||(r=Br,`selectionStart`in r&&Rr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Hr&&Nr(Hr,r)||(Hr=r,r=Nd(Vr,`onSelect`),0<r.length&&(t=new Mn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Br)))}function Gr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Kr={animationend:Gr(`Animation`,`AnimationEnd`),animationiteration:Gr(`Animation`,`AnimationIteration`),animationstart:Gr(`Animation`,`AnimationStart`),transitionrun:Gr(`Transition`,`TransitionRun`),transitionstart:Gr(`Transition`,`TransitionStart`),transitioncancel:Gr(`Transition`,`TransitionCancel`),transitionend:Gr(`Transition`,`TransitionEnd`)},qr={},Jr={};xn&&(Jr=document.createElement(`div`).style,`AnimationEvent`in window||(delete Kr.animationend.animation,delete Kr.animationiteration.animation,delete Kr.animationstart.animation),`TransitionEvent`in window||delete Kr.transitionend.transition);function Yr(e){if(qr[e])return qr[e];if(!Kr[e])return e;var t=Kr[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Jr)return qr[e]=t[n];return e}var Xr=Yr(`animationend`),Zr=Yr(`animationiteration`),Qr=Yr(`animationstart`),$r=Yr(`transitionrun`),ei=Yr(`transitionstart`),ti=Yr(`transitioncancel`),ni=Yr(`transitionend`),ri=new Map,ii=`abort auxClick beforeToggle 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(` `);ii.push(`scrollEnd`);function ai(e,t){ri.set(e,t),Pt(t,[e])}var oi=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},si=[],ci=0,li=0;function ui(){for(var e=ci,t=li=ci=0;t<e;){var n=si[t];si[t++]=null;var r=si[t];si[t++]=null;var i=si[t];si[t++]=null;var a=si[t];if(si[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&mi(n,i,a)}}function di(e,t,n,r){si[ci++]=e,si[ci++]=t,si[ci++]=n,si[ci++]=r,li|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function fi(e,t,n,r){return di(e,t,n,r),hi(e)}function pi(e,t){return di(e,null,null,t),hi(e)}function mi(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-Ye(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function hi(e){if(50<vu)throw vu=0,yu=null,Error(o(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var gi={};function _i(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function vi(e,t,n,r){return new _i(e,t,n,r)}function yi(e){return e=e.prototype,!(!e||!e.isReactComponent)}function bi(e,t){var n=e.alternate;return n===null?(n=vi(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function xi(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Si(e,t,n,r,i,a){var s=0;if(r=e,typeof e==`function`)yi(e)&&(s=1);else if(typeof e==`string`)s=Xf(e,n,_e.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case ae:return e=vi(31,n,t,i),e.elementType=ae,e.lanes=a,e;case v:return Ci(n.children,i,a,t);case y:s=8,i|=24;break;case b:return e=vi(12,n,t,i|2),e.elementType=b,e.lanes=a,e;case te:return e=vi(13,n,t,i),e.elementType=te,e.lanes=a,e;case ne:return e=vi(19,n,t,i),e.elementType=ne,e.lanes=a,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case ee:s=10;break a;case x:s=9;break a;case S:s=11;break a;case re:s=14;break a;case ie:s=16,r=null;break a}s=29,n=Error(o(130,e===null?`null`:typeof e,``)),r=null}return t=vi(s,n,t,i),t.elementType=e,t.type=r,t.lanes=a,t}function Ci(e,t,n,r){return e=vi(7,e,r,t),e.lanes=n,e}function wi(e,t,n){return e=vi(6,e,null,t),e.lanes=n,e}function Ti(e){var t=vi(18,null,null,0);return t.stateNode=e,t}function Ei(e,t,n){return t=vi(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Di=new WeakMap;function Oi(e,t){if(typeof e==`object`&&e){var n=Di.get(e);return n===void 0?(t={value:e,source:t,stack:je(t)},Di.set(e,t),t):n}return{value:e,source:t,stack:je(t)}}var ki=[],Ai=0,ji=null,Mi=0,Ni=[],Pi=0,Fi=null,Ii=1,Li=``;function Ri(e,t){ki[Ai++]=Mi,ki[Ai++]=ji,ji=e,Mi=t}function zi(e,t,n){Ni[Pi++]=Ii,Ni[Pi++]=Li,Ni[Pi++]=Fi,Fi=e;var r=Ii;e=Li;var i=32-Ye(r)-1;r&=~(1<<i),n+=1;var a=32-Ye(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,Ii=1<<32-Ye(t)+i|n<<i|r,Li=a+e}else Ii=1<<a|n<<i|r,Li=e}function Bi(e){e.return!==null&&(Ri(e,1),zi(e,1,0))}function Vi(e){for(;e===ji;)ji=ki[--Ai],ki[Ai]=null,Mi=ki[--Ai],ki[Ai]=null;for(;e===Fi;)Fi=Ni[--Pi],Ni[Pi]=null,Li=Ni[--Pi],Ni[Pi]=null,Ii=Ni[--Pi],Ni[Pi]=null}function Hi(e,t){Ni[Pi++]=Ii,Ni[Pi++]=Li,Ni[Pi++]=Fi,Ii=t.id,Li=t.overflow,Fi=e}var Ui=null,Wi=null,A=!1,Gi=null,Ki=!1,qi=Error(o(519));function Ji(e){throw ea(Oi(Error(o(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),qi}function Yi(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[vt]=e,t[yt]=r,n){case`dialog`:K(`cancel`,t),K(`close`,t);break;case`iframe`:case`object`:case`embed`:K(`load`,t);break;case`video`:case`audio`:for(n=0;n<wd.length;n++)K(wd[n],t);break;case`source`:K(`error`,t);break;case`img`:case`image`:case`link`:K(`error`,t),K(`load`,t);break;case`details`:K(`toggle`,t);break;case`input`:K(`invalid`,t),Qt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:K(`invalid`,t);break;case`textarea`:K(`invalid`,t),nn(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||zd(t.textContent,n)?(r.popover!=null&&(K(`beforetoggle`,t),K(`toggle`,t)),r.onScroll!=null&&K(`scroll`,t),r.onScrollEnd!=null&&K(`scrollend`,t),r.onClick!=null&&(t.onclick=fn),t=!0):t=!1,t||Ji(e,!0)}function Xi(e){for(Ui=e.return;Ui;)switch(Ui.tag){case 5:case 31:case 13:Ki=!1;return;case 27:case 3:Ki=!0;return;default:Ui=Ui.return}}function Zi(e){if(e!==Ui)return!1;if(!A)return Xi(e),A=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!==`form`&&n!==`button`)||Xd(e.type,e.memoizedProps)),n=!n),n&&Wi&&Ji(e),Xi(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(o(317));Wi=_f(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(o(317));Wi=_f(e)}else t===27?(t=Wi,af(e.type)?(e=gf,gf=null,Wi=e):Wi=t):Wi=Ui?hf(e.stateNode.nextSibling):null;return!0}function Qi(){Wi=Ui=null,A=!1}function $i(){var e=Gi;return e!==null&&(iu===null?iu=e:iu.push.apply(iu,e),Gi=null),e}function ea(e){Gi===null?Gi=[e]:Gi.push(e)}var ta=he(null),na=null,ra=null;function ia(e,t,n){E(ta,t._currentValue),t._currentValue=n}function aa(e){e._currentValue=ta.current,ge(ta)}function oa(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function sa(e,t,n,r){var i=e.child;for(i!==null&&(i.return=e);i!==null;){var a=i.dependencies;if(a!==null){var s=i.child;a=a.firstContext;a:for(;a!==null;){var c=a;a=i;for(var l=0;l<t.length;l++)if(c.context===t[l]){a.lanes|=n,c=a.alternate,c!==null&&(c.lanes|=n),oa(a.return,n,e),r||(s=null);break a}a=c.next}}else if(i.tag===18){if(s=i.return,s===null)throw Error(o(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),oa(s,n,e),s=null}else s=i.child;if(s!==null)s.return=i;else for(s=i;s!==null;){if(s===e){s=null;break}if(i=s.sibling,i!==null){i.return=s.return,s=i;break}s=s.return}i=s}}function ca(e,t,n,r){e=null;for(var i=t,a=!1;i!==null;){if(!a){if(i.flags&524288)a=!0;else if(i.flags&262144)break}if(i.tag===10){var s=i.alternate;if(s===null)throw Error(o(387));if(s=s.memoizedProps,s!==null){var c=i.type;Mr(i.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(i===be.current){if(s=i.alternate,s===null)throw Error(o(387));s.memoizedState.memoizedState!==i.memoizedState.memoizedState&&(e===null?e=[ap]:e.push(ap))}i=i.return}e!==null&&sa(t,e,n,r),t.flags|=262144}function la(e){for(e=e.firstContext;e!==null;){if(!Mr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function ua(e){na=e,ra=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function da(e){return pa(na,e)}function fa(e,t){return na===null&&ua(e),pa(e,t)}function pa(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},ra===null){if(e===null)throw Error(o(308));ra=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else ra=ra.next=t;return n}var ma=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},ha=t.unstable_scheduleCallback,ga=t.unstable_NormalPriority,_a={$$typeof:ee,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function va(){return{controller:new ma,data:new Map,refCount:0}}function ya(e){e.refCount--,e.refCount===0&&ha(ga,function(){e.controller.abort()})}var ba=null,xa=0,Sa=0,Ca=null;function wa(e,t){if(ba===null){var n=ba=[];xa=0,Sa=vd(),Ca={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return xa++,t.then(Ta,Ta),t}function Ta(){if(--xa===0&&ba!==null){Ca!==null&&(Ca.status=`fulfilled`);var e=ba;ba=null,Sa=0,Ca=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Ea(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var Da=C.S;C.S=function(e,t){su=Le(),typeof t==`object`&&t&&typeof t.then==`function`&&wa(e,t),Da!==null&&Da(e,t)};var Oa=he(null);function ka(){var e=Oa.current;return e===null?B.pooledCache:e}function Aa(e,t){t===null?E(Oa,Oa.current):E(Oa,t.pool)}function ja(){var e=ka();return e===null?null:{parent:_a._currentValue,pool:e}}var Ma=Error(o(460)),Na=Error(o(474)),Pa=Error(o(542)),Fa={then:function(){}};function Ia(e){return e=e.status,e===`fulfilled`||e===`rejected`}function La(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(fn,fn),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Va(e),e;default:if(typeof t.status==`string`)t.then(fn,fn);else{if(e=B,e!==null&&100<e.shellSuspendCounter)throw Error(o(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Va(e),e}throw za=t,Ma}}function Ra(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(za=e,Ma):e}}var za=null;function Ba(){if(za===null)throw Error(o(459));var e=za;return za=null,e}function Va(e){if(e===Ma||e===Pa)throw Error(o(483))}var Ha=null,Ua=0;function Wa(e){var t=Ua;return Ua+=1,Ha===null&&(Ha=[]),La(Ha,e,t)}function j(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Ga(e,t){throw t.$$typeof===h?Error(o(525)):(e=Object.prototype.toString.call(t),Error(o(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function Ka(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function i(e,t){return e=bi(e,t),e.index=0,e.sibling=null,e}function a(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=wi(n,e.mode,r),t.return=e,t):(t=i(t,n),t.return=e,t)}function l(e,t,n,r){var a=n.type;return a===v?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===a||typeof a==`object`&&a&&a.$$typeof===ie&&Ra(a)===t.type)?(t=i(t,n.props),j(t,n),t.return=e,t):(t=Si(n.type,n.key,n.props,null,e.mode,r),j(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=Ei(n,e.mode,r),t.return=e,t):(t=i(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,a){return t===null||t.tag!==7?(t=Ci(n,e.mode,r,a),t.return=e,t):(t=i(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=wi(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case g:return n=Si(t.type,t.key,t.props,null,e.mode,n),j(n,t),n.return=e,n;case _:return t=Ei(t,e.mode,n),t.return=e,t;case ie:return t=Ra(t),f(e,t,n)}if(de(t)||ce(t))return t=Ci(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,Wa(t),n);if(t.$$typeof===ee)return f(e,fa(e,t),n);Ga(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case g:return n.key===i?l(e,t,n,r):null;case _:return n.key===i?u(e,t,n,r):null;case ie:return n=Ra(n),p(e,t,n,r)}if(de(n)||ce(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,Wa(n),r);if(n.$$typeof===ee)return p(e,t,fa(e,n),r);Ga(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case g:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case _:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case ie:return r=Ra(r),m(e,t,n,r,i)}if(de(r)||ce(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,Wa(r),i);if(r.$$typeof===ee)return m(e,t,n,fa(t,r),i);Ga(t,r)}return null}function h(i,o,s,c){for(var l=null,u=null,d=o,h=o=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),o=a(_,o,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),A&&Ri(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(o=a(d,o,h),u===null?l=d:u.sibling=d,u=d);return A&&Ri(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),o=a(g,o,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),A&&Ri(i,h),l}function y(i,s,c,l){if(c==null)throw Error(o(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=a(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),A&&Ri(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=a(v,s,g),d===null?u=v:d.sibling=v,d=v);return A&&Ri(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=a(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),A&&Ri(i,g),u}function b(e,r,a,c){if(typeof a==`object`&&a&&a.type===v&&a.key===null&&(a=a.props.children),typeof a==`object`&&a){switch(a.$$typeof){case g:a:{for(var l=a.key;r!==null;){if(r.key===l){if(l=a.type,l===v){if(r.tag===7){n(e,r.sibling),c=i(r,a.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===ie&&Ra(l)===r.type){n(e,r.sibling),c=i(r,a.props),j(c,a),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}a.type===v?(c=Ci(a.props.children,e.mode,c,a.key),c.return=e,e=c):(c=Si(a.type,a.key,a.props,null,e.mode,c),j(c,a),c.return=e,e=c)}return s(e);case _:a:{for(l=a.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===a.containerInfo&&r.stateNode.implementation===a.implementation){n(e,r.sibling),c=i(r,a.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=Ei(a,e.mode,c),c.return=e,e=c}return s(e);case ie:return a=Ra(a),b(e,r,a,c)}if(de(a))return h(e,r,a,c);if(ce(a)){if(l=ce(a),typeof l!=`function`)throw Error(o(150));return a=l.call(a),y(e,r,a,c)}if(typeof a.then==`function`)return b(e,r,Wa(a),c);if(a.$$typeof===ee)return b(e,r,fa(e,a),c);Ga(e,a)}return typeof a==`string`&&a!==``||typeof a==`number`||typeof a==`bigint`?(a=``+a,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,a),c.return=e,e=c):(n(e,r),c=wi(a,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{Ua=0;var i=b(e,t,n,r);return Ha=null,i}catch(t){if(t===Ma||t===Pa)throw t;var a=vi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var qa=Ka(!0),Ja=Ka(!1),Ya=!1;function Xa(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Za(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Qa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function $a(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,z&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=hi(e),mi(e,null,n),t}return di(e,r,t,n),hi(e)}function eo(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,dt(e,n)}}function to(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var no=!1;function ro(){if(no){var e=Ca;if(e!==null)throw e}}function io(e,t,n,r){no=!1;var i=e.updateQueue;Ya=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(H&f)===f:(r&f)===f){f!==0&&f===Sa&&(no=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=m({},d,f);break a;case 2:Ya=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Ql|=o,e.lanes=o,e.memoizedState=d}}function ao(e,t){if(typeof e!=`function`)throw Error(o(191,e));e.call(t)}function oo(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)ao(n[e],t)}var so=he(null),co=he(0);function lo(e,t){e=Xl,E(co,e),E(so,t),Xl=e|t.baseLanes}function uo(){E(co,Xl),E(so,so.current)}function fo(){Xl=co.current,ge(so),ge(co)}var po=he(null),mo=null;function ho(e){var t=e.alternate;E(bo,bo.current&1),E(po,e),mo===null&&(t===null||so.current!==null||t.memoizedState!==null)&&(mo=e)}function go(e){E(bo,bo.current),E(po,e),mo===null&&(mo=e)}function _o(e){e.tag===22?(E(bo,bo.current),E(po,e),mo===null&&(mo=e)):vo(e)}function vo(){E(bo,bo.current),E(po,po.current)}function yo(e){ge(po),mo===e&&(mo=null),ge(bo)}var bo=he(0);function xo(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||ff(n)||pf(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder===`forwards`||t.memoizedProps.revealOrder===`backwards`||t.memoizedProps.revealOrder===`unstable_legacy-backwards`||t.memoizedProps.revealOrder===`together`)){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var So=0,M=null,N=null,Co=null,wo=!1,To=!1,Eo=!1,Do=0,Oo=0,ko=null,Ao=0;function jo(){throw Error(o(321))}function Mo(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Mr(e[n],t[n]))return!1;return!0}function No(e,t,n,r,i,a){return So=a,M=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,C.H=e===null||e.memoizedState===null?Ks:qs,Eo=!1,a=n(r,i),Eo=!1,To&&(a=Fo(t,n,r,i)),Po(e),a}function Po(e){C.H=Gs;var t=N!==null&&N.next!==null;if(So=0,Co=N=M=null,wo=!1,Oo=0,ko=null,t)throw Error(o(300));e===null||uc||(e=e.dependencies,e!==null&&la(e)&&(uc=!0))}function Fo(e,t,n,r){M=e;var i=0;do{if(To&&(ko=null),Oo=0,To=!1,25<=i)throw Error(o(301));if(i+=1,Co=N=null,e.updateQueue!=null){var a=e.updateQueue;a.lastEffect=null,a.events=null,a.stores=null,a.memoCache!=null&&(a.memoCache.index=0)}C.H=Js,a=t(n,r)}while(To);return a}function Io(){var e=C.H,t=e.useState()[0];return t=typeof t.then==`function`?Uo(t):t,e=e.useState()[0],(N===null?null:N.memoizedState)!==e&&(M.flags|=1024),t}function Lo(){var e=Do!==0;return Do=0,e}function Ro(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function zo(e){if(wo){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}wo=!1}So=0,Co=N=M=null,To=!1,Oo=Do=0,ko=null}function Bo(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Co===null?M.memoizedState=Co=e:Co=Co.next=e,Co}function Vo(){if(N===null){var e=M.alternate;e=e===null?null:e.memoizedState}else e=N.next;var t=Co===null?M.memoizedState:Co.next;if(t!==null)Co=t,N=e;else{if(e===null)throw M.alternate===null?Error(o(467)):Error(o(310));N=e,e={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null},Co===null?M.memoizedState=Co=e:Co=Co.next=e}return Co}function Ho(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Uo(e){var t=Oo;return Oo+=1,ko===null&&(ko=[]),e=La(ko,e,t),t=M,(Co===null?t.memoizedState:Co.next)===null&&(t=t.alternate,C.H=t===null||t.memoizedState===null?Ks:qs),e}function P(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return Uo(e);if(e.$$typeof===ee)return da(e)}throw Error(o(438,String(e)))}function F(e){var t=null,n=M.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=M.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=Ho(),M.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=oe;return t.index++,n}function Wo(e,t){return typeof t==`function`?t(e):t}function Go(e){return Ko(Vo(),N,e)}function Ko(e,t,n){var r=e.queue;if(r===null)throw Error(o(311));r.lastRenderedReducer=n;var i=e.baseQueue,a=r.pending;if(a!==null){if(i!==null){var s=i.next;i.next=a.next,a.next=s}t.baseQueue=i=a,r.pending=null}if(a=e.baseState,i===null)e.memoizedState=a;else{t=i.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(So&f)===f:(H&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===Sa&&(d=!0);else if((So&p)===p){u=u.next,p===Sa&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=a):l=l.next=f,M.lanes|=p,Ql|=p;f=u.action,Eo&&n(a,f),a=u.hasEagerState?u.eagerState:n(a,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=a):l=l.next=p,M.lanes|=f,Ql|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=a:l.next=c,!Mr(a,e.memoizedState)&&(uc=!0,d&&(n=Ca,n!==null)))throw n;e.memoizedState=a,e.baseState=s,e.baseQueue=l,r.lastRenderedState=a}return i===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function qo(e){var t=Vo(),n=t.queue;if(n===null)throw Error(o(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,a=t.memoizedState;if(i!==null){n.pending=null;var s=i=i.next;do a=e(a,s.action),s=s.next;while(s!==i);Mr(a,t.memoizedState)||(uc=!0),t.memoizedState=a,t.baseQueue===null&&(t.baseState=a),n.lastRenderedState=a}return[a,r]}function Jo(e,t,n){var r=M,i=Vo(),a=A;if(a){if(n===void 0)throw Error(o(407));n=n()}else n=t();var s=!Mr((N||i).memoizedState,n);if(s&&(i.memoizedState=n,uc=!0),i=i.queue,ys(Zo.bind(null,r,i,e),[e]),i.getSnapshot!==t||s||Co!==null&&Co.memoizedState.tag&1){if(r.flags|=2048,ms(9,{destroy:void 0},Xo.bind(null,r,i,n,t),null),B===null)throw Error(o(349));a||So&127||Yo(r,t,n)}return n}function Yo(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=M.updateQueue,t===null?(t=Ho(),M.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Xo(e,t,n,r){t.value=n,t.getSnapshot=r,Qo(t)&&$o(e)}function Zo(e,t,n){return n(function(){Qo(t)&&$o(e)})}function Qo(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Mr(e,n)}catch{return!0}}function $o(e){var t=pi(e,2);t!==null&&Su(t,e,2)}function es(e){var t=Bo();if(typeof e==`function`){var n=e;if(e=n(),Eo){Je(!0);try{n()}finally{Je(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wo,lastRenderedState:e},t}function ts(e,t,n,r){return e.baseState=n,Ko(e,N,typeof r==`function`?r:Wo)}function ns(e,t,n,r,i){if(Hs(e))throw Error(o(485));if(e=t.action,e!==null){var a={payload:i,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){a.listeners.push(e)}};C.T===null?a.isTransition=!1:n(!0),r(a),n=t.pending,n===null?(a.next=t.pending=a,rs(t,a)):(a.next=n.next,t.pending=n.next=a)}}function rs(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=C.T,o={};C.T=o;try{var s=n(i,r),c=C.S;c!==null&&c(o,s),is(e,t,s)}catch(n){os(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),C.T=a}}else try{a=n(i,r),is(e,t,a)}catch(n){os(e,t,n)}}function is(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){as(e,t,n)},function(n){return os(e,t,n)}):as(e,t,n)}function as(e,t,n){t.status=`fulfilled`,t.value=n,ss(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,rs(e,n)))}function os(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,ss(t),t=t.next;while(t!==r)}e.action=null}function ss(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function cs(e,t){return t}function ls(e,t){if(A){var n=B.formState;if(n!==null){a:{var r=M;if(A){if(Wi){b:{for(var i=Wi,a=Ki;i.nodeType!==8;){if(!a){i=null;break b}if(i=hf(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){Wi=hf(i.nextSibling),r=i.data===`F!`;break a}}Ji(r)}r=!1}r&&(t=n[0])}}return n=Bo(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:cs,lastRenderedState:t},n.queue=r,n=zs.bind(null,M,r),r.dispatch=n,r=es(!1),a=Vs.bind(null,M,!1,r.queue),r=Bo(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=ns.bind(null,M,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function us(e){return ds(Vo(),N,e)}function ds(e,t,n){if(t=Ko(e,t,cs)[0],e=Go(Wo)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=Uo(t)}catch(e){throw e===Ma?Pa:e}else r=t;t=Vo();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(M.flags|=2048,ms(9,{destroy:void 0},fs.bind(null,i,n),null)),[r,a,e]}function fs(e,t){e.action=t}function ps(e){var t=Vo(),n=N;if(n!==null)return ds(t,n,e);Vo(),t=t.memoizedState,n=Vo();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function ms(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=M.updateQueue,t===null&&(t=Ho(),M.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function hs(){return Vo().memoizedState}function gs(e,t,n,r){var i=Bo();M.flags|=e,i.memoizedState=ms(1|t,{destroy:void 0},n,r===void 0?null:r)}function _s(e,t,n,r){var i=Vo();r=r===void 0?null:r;var a=i.memoizedState.inst;N!==null&&r!==null&&Mo(r,N.memoizedState.deps)?i.memoizedState=ms(t,a,n,r):(M.flags|=e,i.memoizedState=ms(1|t,a,n,r))}function vs(e,t){gs(8390656,8,e,t)}function ys(e,t){_s(2048,8,e,t)}function bs(e){M.flags|=4;var t=M.updateQueue;if(t===null)t=Ho(),M.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function xs(e){var t=Vo().memoizedState;return bs({ref:t,nextImpl:e}),function(){if(z&2)throw Error(o(440));return t.impl.apply(void 0,arguments)}}function Ss(e,t){return _s(4,2,e,t)}function Cs(e,t){return _s(4,4,e,t)}function ws(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Ts(e,t,n){n=n==null?null:n.concat([e]),_s(4,4,ws.bind(null,t,e),n)}function Es(){}function I(e,t){var n=Vo();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&Mo(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Ds(e,t){var n=Vo();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&Mo(t,r[1]))return r[0];if(r=e(),Eo){Je(!0);try{e()}finally{Je(!1)}}return n.memoizedState=[r,t],r}function L(e,t,n){return n===void 0||So&1073741824&&!(H&261930)?e.memoizedState=t:(e.memoizedState=n,e=xu(),M.lanes|=e,Ql|=e,n)}function Os(e,t,n,r){return Mr(n,t)?n:so.current===null?!(So&42)||So&1073741824&&!(H&261930)?(uc=!0,e.memoizedState=n):(e=xu(),M.lanes|=e,Ql|=e,t):(e=L(e,n,r),Mr(e,t)||(uc=!0),e)}function ks(e,t,n,r,i){var a=w.p;w.p=a!==0&&8>a?a:8;var o=C.T,s={};C.T=s,Vs(e,!1,t,n);try{var c=i(),l=C.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Bs(e,t,Ea(c,r),bu(e)):Bs(e,t,r,bu(e))}catch(n){Bs(e,t,{then:function(){},status:`rejected`,reason:n},bu())}finally{w.p=a,o!==null&&s.types!==null&&(o.types=s.types),C.T=o}}function As(){}function js(e,t,n,r){if(e.tag!==5)throw Error(o(476));var i=Ms(e).queue;ks(e,i,t,fe,n===null?As:function(){return Ns(e),n(r)})}function Ms(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:fe,baseState:fe,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wo,lastRenderedState:fe},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Wo,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function Ns(e){var t=Ms(e);t.next===null&&(t=e.alternate.memoizedState),Bs(e,t.next.queue,{},bu())}function Ps(){return da(ap)}function Fs(){return Vo().memoizedState}function Is(){return Vo().memoizedState}function Ls(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=bu();e=Qa(n);var r=$a(t,e,n);r!==null&&(Su(r,t,n),eo(r,t,n)),t={cache:va()},e.payload=t;return}t=t.return}}function Rs(e,t,n){var r=bu();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},Hs(e)?Us(t,n):(n=fi(e,t,n,r),n!==null&&(Su(n,e,r),Ws(n,t,r)))}function zs(e,t,n){Bs(e,t,n,bu())}function Bs(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(Hs(e))Us(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Mr(s,o))return di(e,t,i,0),B===null&&ui(),!1}catch{}if(n=fi(e,t,i,r),n!==null)return Su(n,e,r),Ws(n,t,r),!0}return!1}function Vs(e,t,n,r){if(r={lane:2,revertLane:vd(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},Hs(e)){if(t)throw Error(o(479))}else t=fi(e,n,r,2),t!==null&&Su(t,e,2)}function Hs(e){var t=e.alternate;return e===M||t!==null&&t===M}function Us(e,t){To=wo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Ws(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,dt(e,n)}}var Gs={readContext:da,use:P,useCallback:jo,useContext:jo,useEffect:jo,useImperativeHandle:jo,useLayoutEffect:jo,useInsertionEffect:jo,useMemo:jo,useReducer:jo,useRef:jo,useState:jo,useDebugValue:jo,useDeferredValue:jo,useTransition:jo,useSyncExternalStore:jo,useId:jo,useHostTransitionStatus:jo,useFormState:jo,useActionState:jo,useOptimistic:jo,useMemoCache:jo,useCacheRefresh:jo};Gs.useEffectEvent=jo;var Ks={readContext:da,use:P,useCallback:function(e,t){return Bo().memoizedState=[e,t===void 0?null:t],e},useContext:da,useEffect:vs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),gs(4194308,4,ws.bind(null,t,e),n)},useLayoutEffect:function(e,t){return gs(4194308,4,e,t)},useInsertionEffect:function(e,t){gs(4,2,e,t)},useMemo:function(e,t){var n=Bo();t=t===void 0?null:t;var r=e();if(Eo){Je(!0);try{e()}finally{Je(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Bo();if(n!==void 0){var i=n(t);if(Eo){Je(!0);try{n(t)}finally{Je(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Rs.bind(null,M,e),[r.memoizedState,e]},useRef:function(e){var t=Bo();return e={current:e},t.memoizedState=e},useState:function(e){e=es(e);var t=e.queue,n=zs.bind(null,M,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Es,useDeferredValue:function(e,t){return L(Bo(),e,t)},useTransition:function(){var e=es(!1);return e=ks.bind(null,M,e.queue,!0,!1),Bo().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=M,i=Bo();if(A){if(n===void 0)throw Error(o(407));n=n()}else{if(n=t(),B===null)throw Error(o(349));H&127||Yo(r,t,n)}i.memoizedState=n;var a={value:n,getSnapshot:t};return i.queue=a,vs(Zo.bind(null,r,a,e),[e]),r.flags|=2048,ms(9,{destroy:void 0},Xo.bind(null,r,a,n,t),null),n},useId:function(){var e=Bo(),t=B.identifierPrefix;if(A){var n=Li,r=Ii;n=(r&~(1<<32-Ye(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=Do++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=Ao++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:Ps,useFormState:ls,useActionState:ls,useOptimistic:function(e){var t=Bo();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Vs.bind(null,M,!0,n),n.dispatch=t,[e,t]},useMemoCache:F,useCacheRefresh:function(){return Bo().memoizedState=Ls.bind(null,M)},useEffectEvent:function(e){var t=Bo(),n={impl:e};return t.memoizedState=n,function(){if(z&2)throw Error(o(440));return n.impl.apply(void 0,arguments)}}},qs={readContext:da,use:P,useCallback:I,useContext:da,useEffect:ys,useImperativeHandle:Ts,useInsertionEffect:Ss,useLayoutEffect:Cs,useMemo:Ds,useReducer:Go,useRef:hs,useState:function(){return Go(Wo)},useDebugValue:Es,useDeferredValue:function(e,t){return Os(Vo(),N.memoizedState,e,t)},useTransition:function(){var e=Go(Wo)[0],t=Vo().memoizedState;return[typeof e==`boolean`?e:Uo(e),t]},useSyncExternalStore:Jo,useId:Fs,useHostTransitionStatus:Ps,useFormState:us,useActionState:us,useOptimistic:function(e,t){return ts(Vo(),N,e,t)},useMemoCache:F,useCacheRefresh:Is};qs.useEffectEvent=xs;var Js={readContext:da,use:P,useCallback:I,useContext:da,useEffect:ys,useImperativeHandle:Ts,useInsertionEffect:Ss,useLayoutEffect:Cs,useMemo:Ds,useReducer:qo,useRef:hs,useState:function(){return qo(Wo)},useDebugValue:Es,useDeferredValue:function(e,t){var n=Vo();return N===null?L(n,e,t):Os(n,N.memoizedState,e,t)},useTransition:function(){var e=qo(Wo)[0],t=Vo().memoizedState;return[typeof e==`boolean`?e:Uo(e),t]},useSyncExternalStore:Jo,useId:Fs,useHostTransitionStatus:Ps,useFormState:ps,useActionState:ps,useOptimistic:function(e,t){var n=Vo();return N===null?(n.baseState=e,[e,n.queue.dispatch]):ts(n,N,e,t)},useMemoCache:F,useCacheRefresh:Is};Js.useEffectEvent=xs;function Ys(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:m({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Xs={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=bu(),i=Qa(r);i.payload=t,n!=null&&(i.callback=n),t=$a(e,i,r),t!==null&&(Su(t,e,r),eo(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=bu(),i=Qa(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=$a(e,i,r),t!==null&&(Su(t,e,r),eo(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=bu(),r=Qa(n);r.tag=2,t!=null&&(r.callback=t),t=$a(e,r,n),t!==null&&(Su(t,e,n),eo(t,e,n))}};function Zs(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!Nr(n,r)||!Nr(i,a):!0}function Qs(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Xs.enqueueReplaceState(t,t.state,null)}function $s(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=m({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function ec(e){oi(e)}function tc(e){console.error(e)}function nc(e){oi(e)}function rc(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function ic(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function ac(e,t,n){return n=Qa(n),n.tag=3,n.payload={element:null},n.callback=function(){rc(e,t)},n}function oc(e){return e=Qa(e),e.tag=3,e}function sc(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){ic(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){ic(t,n,r),typeof i!=`function`&&(uu===null?uu=new Set([this]):uu.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function cc(e,t,n,r,i){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&ca(t,n,i,!0),n=po.current,n!==null){switch(n.tag){case 31:case 13:return mo===null?Pu():n.alternate===null&&Zl===0&&(Zl=3),n.flags&=-257,n.flags|=65536,n.lanes=i,r===Fa?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Qu(e,r,i)),!1;case 22:return n.flags|=65536,r===Fa?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),Qu(e,r,i)),!1}throw Error(o(435,n.tag))}return Qu(e,r,i),Pu(),!1}if(A)return t=po.current,t===null?(r!==qi&&(t=Error(o(423),{cause:r}),ea(Oi(t,n))),e=e.current.alternate,e.flags|=65536,i&=-i,e.lanes|=i,r=Oi(r,n),i=ac(e.stateNode,r,i),to(e,i),Zl!==4&&(Zl=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=i,r!==qi&&(e=Error(o(422),{cause:r}),ea(Oi(e,n)))),!1;var a=Error(o(520),{cause:r});if(a=Oi(a,n),ru===null?ru=[a]:ru.push(a),Zl!==4&&(Zl=2),t===null)return!0;r=Oi(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=i&-i,n.lanes|=e,e=ac(n.stateNode,r,e),to(n,e),!1;case 1:if(t=n.type,a=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||a!==null&&typeof a.componentDidCatch==`function`&&(uu===null||!uu.has(a))))return n.flags|=65536,i&=-i,n.lanes|=i,i=oc(i),sc(i,e,n,r),to(n,i),!1}n=n.return}while(n!==null);return!1}var lc=Error(o(461)),uc=!1;function dc(e,t,n,r){t.child=e===null?Ja(t,null,n,r):qa(t,e.child,n,r)}function fc(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return ua(t),r=No(e,t,n,o,a,i),s=Lo(),e!==null&&!uc?(Ro(e,t,i),Ic(e,t,i)):(A&&s&&Bi(t),t.flags|=1,dc(e,t,r,i),t.child)}function pc(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!yi(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,mc(e,t,a,r,i)):(e=Si(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!Lc(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?Nr:n,n(o,r)&&e.ref===t.ref)return Ic(e,t,i)}return t.flags|=1,e=bi(a,r),e.ref=t.ref,e.return=t,t.child=e}function mc(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(Nr(a,r)&&e.ref===t.ref)if(uc=!1,t.pendingProps=r=a,Lc(e,i))e.flags&131072&&(uc=!0);else return t.lanes=e.lanes,Ic(e,t,i)}return Sc(e,t,n,r,i)}function hc(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return _c(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&Aa(t,a===null?null:a.cachePool),a===null?uo():lo(t,a),_o(t);else return r=t.lanes=536870912,_c(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&Aa(t,null),uo(),vo(t)):(Aa(t,a.cachePool),lo(t,a),vo(t),t.memoizedState=null);return dc(e,t,i,n),t.child}function gc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function _c(e,t,n,r,i){var a=ka();return a=a===null?null:{parent:_a._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&Aa(t,null),uo(),_o(t),e!==null&&ca(e,t,r,!0),t.childLanes=i,null}function vc(e,t){return t=jc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function yc(e,t,n){return qa(t,e.child,null,n),e=vc(t,t.pendingProps),e.flags|=2,yo(t),t.memoizedState=null,e}function bc(e,t,n){var r=t.pendingProps,i=(t.flags&128)!=0;if(t.flags&=-129,e===null){if(A){if(r.mode===`hidden`)return e=vc(t,r),t.lanes=536870912,gc(null,e);if(go(t),(e=Wi)?(e=df(e,Ki),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Fi===null?null:{id:Ii,overflow:Li},retryLane:536870912,hydrationErrors:null},n=Ti(e),n.return=t,t.child=n,Ui=t,Wi=null)):e=null,e===null)throw Ji(t);return t.lanes=536870912,null}return vc(t,r)}var a=e.memoizedState;if(a!==null){var s=a.dehydrated;if(go(t),i)if(t.flags&256)t.flags&=-257,t=yc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(o(558));else if(uc||ca(e,t,n,!1),i=(n&e.childLanes)!==0,uc||i){if(r=B,r!==null&&(s=ft(r,n),s!==0&&s!==a.retryLane))throw a.retryLane=s,pi(e,s),Su(r,e,s),lc;Pu(),t=yc(e,t,n)}else e=a.treeContext,Wi=hf(s.nextSibling),Ui=t,A=!0,Gi=null,Ki=!1,e!==null&&Hi(t,e),t=vc(t,r),t.flags|=4096;return t}return e=bi(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function xc(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(o(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function Sc(e,t,n,r,i){return ua(t),n=No(e,t,n,r,void 0,i),r=Lo(),e!==null&&!uc?(Ro(e,t,i),Ic(e,t,i)):(A&&r&&Bi(t),t.flags|=1,dc(e,t,n,i),t.child)}function Cc(e,t,n,r,i,a){return ua(t),t.updateQueue=null,n=Fo(t,r,n,i),Po(e),r=Lo(),e!==null&&!uc?(Ro(e,t,a),Ic(e,t,a)):(A&&r&&Bi(t),t.flags|=1,dc(e,t,n,a),t.child)}function wc(e,t,n,r,i){if(ua(t),t.stateNode===null){var a=gi,o=n.contextType;typeof o==`object`&&o&&(a=da(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Xs,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},Xa(t),o=n.contextType,a.context=typeof o==`object`&&o?da(o):gi,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Ys(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&Xs.enqueueReplaceState(a,a.state,null),io(t,r,a,i),ro(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=$s(n,s);a.props=c;var l=a.context,u=n.contextType;o=gi,typeof u==`object`&&u&&(o=da(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&Qs(t,a,r,o),Ya=!1;var f=t.memoizedState;a.state=f,io(t,r,a,i),ro(),l=t.memoizedState,s||f!==l||Ya?(typeof d==`function`&&(Ys(t,n,d,r),l=t.memoizedState),(c=Ya||Zs(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Za(e,t),o=t.memoizedProps,u=$s(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=gi,typeof l==`object`&&l&&(c=da(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&Qs(t,a,r,c),Ya=!1,f=t.memoizedState,a.state=f,io(t,r,a,i),ro();var p=t.memoizedState;o!==d||f!==p||Ya||e!==null&&e.dependencies!==null&&la(e.dependencies)?(typeof s==`function`&&(Ys(t,n,s,r),p=t.memoizedState),(u=Ya||Zs(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&la(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,xc(e,t),r=(t.flags&128)!=0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=qa(t,e.child,null,i),t.child=qa(t,null,n,i)):dc(e,t,n,i),t.memoizedState=a.state,e=t.child):e=Ic(e,t,i),e}function Tc(e,t,n,r){return Qi(),t.flags|=256,dc(e,t,n,r),t.child}var Ec={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Dc(e){return{baseLanes:e,cachePool:ja()}}function Oc(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=tu),e}function kc(e,t,n){var r=t.pendingProps,i=!1,a=(t.flags&128)!=0,s;if((s=a)||(s=e!==null&&e.memoizedState===null?!1:(bo.current&2)!=0),s&&(i=!0,t.flags&=-129),s=(t.flags&32)!=0,t.flags&=-33,e===null){if(A){if(i?ho(t):vo(t),(e=Wi)?(e=df(e,Ki),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Fi===null?null:{id:Ii,overflow:Li},retryLane:536870912,hydrationErrors:null},n=Ti(e),n.return=t,t.child=n,Ui=t,Wi=null)):e=null,e===null)throw Ji(t);return pf(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,i?(vo(t),i=t.mode,c=jc({mode:`hidden`,children:c},i),r=Ci(r,i,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=Dc(n),r.childLanes=Oc(e,s,n),t.memoizedState=Ec,gc(null,r)):(ho(t),Ac(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(a)t.flags&256?(ho(t),t.flags&=-257,t=Mc(e,t,n)):t.memoizedState===null?(vo(t),c=r.fallback,i=t.mode,r=jc({mode:`visible`,children:r.children},i),c=Ci(c,i,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,qa(t,e.child,null,n),r=t.child,r.memoizedState=Dc(n),r.childLanes=Oc(e,s,n),t.memoizedState=Ec,t=gc(null,r)):(vo(t),t.child=e.child,t.flags|=128,t=null);else if(ho(t),pf(c)){if(s=c.nextSibling&&c.nextSibling.dataset,s)var u=s.dgst;s=u,r=Error(o(419)),r.stack=``,r.digest=s,ea({value:r,source:null,stack:null}),t=Mc(e,t,n)}else if(uc||ca(e,t,n,!1),s=(n&e.childLanes)!==0,uc||s){if(s=B,s!==null&&(r=ft(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,pi(e,r),Su(s,e,r),lc;ff(c)||Pu(),t=Mc(e,t,n)}else ff(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,Wi=hf(c.nextSibling),Ui=t,A=!0,Gi=null,Ki=!1,e!==null&&Hi(t,e),t=Ac(t,r.children),t.flags|=4096);return t}return i?(vo(t),c=r.fallback,i=t.mode,l=e.child,u=l.sibling,r=bi(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=Ci(c,i,n,null),c.flags|=2):c=bi(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,gc(null,r),r=t.child,c=e.child.memoizedState,c===null?c=Dc(n):(i=c.cachePool,i===null?i=ja():(l=_a._currentValue,i=i.parent===l?i:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:i}),r.memoizedState=c,r.childLanes=Oc(e,s,n),t.memoizedState=Ec,gc(e.child,r)):(ho(t),n=e.child,e=n.sibling,n=bi(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function Ac(e,t){return t=jc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function jc(e,t){return e=vi(22,e,null,t),e.lanes=0,e}function Mc(e,t,n){return qa(t,e.child,null,n),e=Ac(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Nc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),oa(e.return,t,n)}function Pc(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function Fc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=bo.current,s=(o&2)!=0;if(s?(o=o&1|2,t.flags|=128):o&=1,E(bo,o),dc(e,t,r,n),r=A?Mi:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Nc(e,n,t);else if(e.tag===19)Nc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&xo(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),Pc(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&xo(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}Pc(t,!0,n,null,a,r);break;case`together`:Pc(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Ic(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Ql|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(ca(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(o(153));if(t.child!==null){for(e=t.child,n=bi(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=bi(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function Lc(e,t){return(e.lanes&t)===0?(e=e.dependencies,!!(e!==null&&la(e))):!0}function Rc(e,t,n){switch(t.tag){case 3:xe(t,t.stateNode.containerInfo),ia(t,_a,e.memoizedState.cache),Qi();break;case 27:case 5:Ce(t);break;case 4:xe(t,t.stateNode.containerInfo);break;case 10:ia(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,go(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(ho(t),e=Ic(e,t,n),e===null?null:e.sibling):kc(e,t,n):(ho(t),t.flags|=128,null);ho(t);break;case 19:var i=(e.flags&128)!=0;if(r=(n&t.childLanes)!==0,r||=(ca(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return Fc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),E(bo,bo.current),r)break;return null;case 22:return t.lanes=0,hc(e,t,n,t.pendingProps);case 24:ia(t,_a,e.memoizedState.cache)}return Ic(e,t,n)}function zc(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)uc=!0;else{if(!Lc(e,n)&&!(t.flags&128))return uc=!1,Rc(e,t,n);uc=!!(e.flags&131072)}else uc=!1,A&&t.flags&1048576&&zi(t,Mi,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=Ra(t.elementType),t.type=e,typeof e==`function`)yi(e)?(r=$s(e,r),t.tag=1,t=wc(null,t,e,r,n)):(t.tag=0,t=Sc(null,t,e,r,n));else{if(e!=null){var i=e.$$typeof;if(i===S){t.tag=11,t=fc(null,t,e,r,n);break a}else if(i===re){t.tag=14,t=pc(null,t,e,r,n);break a}}throw t=ue(e)||e,Error(o(306,t,``))}}return t;case 0:return Sc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,i=$s(r,t.pendingProps),wc(e,t,r,i,n);case 3:a:{if(xe(t,t.stateNode.containerInfo),e===null)throw Error(o(387));r=t.pendingProps;var a=t.memoizedState;i=a.element,Za(e,t),io(t,r,null,n);var s=t.memoizedState;if(r=s.cache,ia(t,_a,r),r!==a.cache&&sa(t,[_a],n,!0),ro(),r=s.element,a.isDehydrated)if(a={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=a,t.memoizedState=a,t.flags&256){t=Tc(e,t,r,n);break a}else if(r!==i){i=Oi(Error(o(424)),t),ea(i),t=Tc(e,t,r,n);break a}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(Wi=hf(e.firstChild),Ui=t,A=!0,Gi=null,Ki=!0,n=Ja(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Qi(),r===i){t=Ic(e,t,n);break a}dc(e,t,r,n)}t=t.child}return t;case 26:return xc(e,t),e===null?(n=If(t.type,null,t.pendingProps,null))?t.memoizedState=n:A||(n=t.type,e=t.pendingProps,r=qd(ye.current).createElement(n),r[vt]=t,r[yt]=e,Vd(r,n,e),jt(r),t.stateNode=r):t.memoizedState=If(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Ce(t),e===null&&A&&(r=t.stateNode=yf(t.type,t.pendingProps,ye.current),Ui=t,Ki=!0,i=Wi,af(t.type)?(gf=i,Wi=hf(r.firstChild)):Wi=i),dc(e,t,t.pendingProps.children,n),xc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&A&&((i=r=Wi)&&(r=lf(r,t.type,t.pendingProps,Ki),r===null?i=!1:(t.stateNode=r,Ui=t,Wi=hf(r.firstChild),Ki=!1,i=!0)),i||Ji(t)),Ce(t),i=t.type,a=t.pendingProps,s=e===null?null:e.memoizedProps,r=a.children,Xd(i,a)?r=null:s!==null&&Xd(i,s)&&(t.flags|=32),t.memoizedState!==null&&(i=No(e,t,Io,null,null,n),ap._currentValue=i),xc(e,t),dc(e,t,r,n),t.child;case 6:return e===null&&A&&((e=n=Wi)&&(n=uf(n,t.pendingProps,Ki),n===null?e=!1:(t.stateNode=n,Ui=t,Wi=null,e=!0)),e||Ji(t)),null;case 13:return kc(e,t,n);case 4:return xe(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=qa(t,null,r,n):dc(e,t,r,n),t.child;case 11:return fc(e,t,t.type,t.pendingProps,n);case 7:return dc(e,t,t.pendingProps,n),t.child;case 8:return dc(e,t,t.pendingProps.children,n),t.child;case 12:return dc(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,ia(t,t.type,r.value),dc(e,t,r.children,n),t.child;case 9:return i=t.type._context,r=t.pendingProps.children,ua(t),i=da(i),r=r(i),t.flags|=1,dc(e,t,r,n),t.child;case 14:return pc(e,t,t.type,t.pendingProps,n);case 15:return mc(e,t,t.type,t.pendingProps,n);case 19:return Fc(e,t,n);case 31:return bc(e,t,n);case 22:return hc(e,t,n,t.pendingProps);case 24:return ua(t),r=da(_a),e===null?(i=ka(),i===null&&(i=B,a=va(),i.pooledCache=a,a.refCount++,a!==null&&(i.pooledCacheLanes|=n),i=a),t.memoizedState={parent:r,cache:i},Xa(t),ia(t,_a,i)):((e.lanes&n)!==0&&(Za(e,t),io(t,null,null,n),ro()),i=e.memoizedState,a=t.memoizedState,i.parent===r?(r=a.cache,ia(t,_a,r),r!==i.cache&&sa(t,[_a],n,!0)):(i={parent:r,cache:r},t.memoizedState=i,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=i),ia(t,_a,r))),dc(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(o(156,t.tag))}function Bc(e){e.flags|=4}function Vc(e,t,n,r,i){if((t=(e.mode&32)!=0)&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i)if(e.stateNode.complete)e.flags|=8192;else if(ju())e.flags|=8192;else throw za=Fa,Na}else e.flags&=-16777217}function Hc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Zf(t))if(ju())e.flags|=8192;else throw za=Fa,Na}function Uc(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:ot(),e.lanes|=t,nu|=t)}function Wc(e,t){if(!A)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function Gc(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Kc(e,t,n){var r=t.pendingProps;switch(Vi(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Gc(t),null;case 1:return Gc(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),aa(_a),Se(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Zi(t)?Bc(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,$i())),Gc(t),null;case 26:var i=t.type,a=t.memoizedState;return e===null?(Bc(t),a===null?(Gc(t),Vc(t,i,null,r,n)):(Gc(t),Hc(t,a))):a?a===e.memoizedState?(Gc(t),t.flags&=-16777217):(Bc(t),Gc(t),Hc(t,a)):(e=e.memoizedProps,e!==r&&Bc(t),Gc(t),Vc(t,i,e,r,n)),null;case 27:if(we(t),n=ye.current,i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Bc(t);else{if(!r){if(t.stateNode===null)throw Error(o(166));return Gc(t),null}e=_e.current,Zi(t)?Yi(t,e):(e=yf(i,r,n),t.stateNode=e,Bc(t))}return Gc(t),null;case 5:if(we(t),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Bc(t);else{if(!r){if(t.stateNode===null)throw Error(o(166));return Gc(t),null}if(a=_e.current,Zi(t))Yi(t,a);else{var s=qd(ye.current);switch(a){case 1:a=s.createElementNS(`http://www.w3.org/2000/svg`,i);break;case 2:a=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,i);break;default:switch(i){case`svg`:a=s.createElementNS(`http://www.w3.org/2000/svg`,i);break;case`math`:a=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,i);break;case`script`:a=s.createElement(`div`),a.innerHTML=`<script><\/script>`,a=a.removeChild(a.firstChild);break;case`select`:a=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?a.multiple=!0:r.size&&(a.size=r.size);break;default:a=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}a[vt]=t,a[yt]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)a.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=a;a:switch(Vd(a,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Bc(t)}}return Gc(t),Vc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Bc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(o(166));if(e=ye.current,Zi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=Ui,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[vt]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||zd(e.nodeValue,n)),e||Ji(t,!0)}else e=qd(e).createTextNode(r),e[vt]=t,t.stateNode=e}return Gc(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Zi(t),n!==null){if(e===null){if(!r)throw Error(o(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(o(557));e[vt]=t}else Qi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Gc(t),e=!1}else n=$i(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(yo(t),t):(yo(t),null);if(t.flags&128)throw Error(o(558))}return Gc(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Zi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(o(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(o(317));i[vt]=t}else Qi(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;Gc(t),i=!1}else i=$i(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(yo(t),t):(yo(t),null)}return yo(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),a=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(a=r.memoizedState.cachePool.pool),a!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Uc(t,t.updateQueue),Gc(t),null);case 4:return Se(),e===null&&kd(t.stateNode.containerInfo),Gc(t),null;case 10:return aa(t.type),Gc(t),null;case 19:if(ge(bo),r=t.memoizedState,r===null)return Gc(t),null;if(i=(t.flags&128)!=0,a=r.rendering,a===null)if(i)Wc(r,!1);else{if(Zl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(a=xo(e),a!==null){for(t.flags|=128,Wc(r,!1),e=a.updateQueue,t.updateQueue=e,Uc(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)xi(n,e),n=n.sibling;return E(bo,bo.current&1|2),A&&Ri(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Le()>cu&&(t.flags|=128,i=!0,Wc(r,!1),t.lanes=4194304)}else{if(!i)if(e=xo(a),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Uc(t,e),Wc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!a.alternate&&!A)return Gc(t),null}else 2*Le()-r.renderingStartTime>cu&&n!==536870912&&(t.flags|=128,i=!0,Wc(r,!1),t.lanes=4194304);r.isBackwards?(a.sibling=t.child,t.child=a):(e=r.last,e===null?t.child=a:e.sibling=a,r.last=a)}return r.tail===null?(Gc(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Le(),e.sibling=null,n=bo.current,E(bo,i?n&1|2:n&1),A&&Ri(t,r.treeForkCount),e);case 22:case 23:return yo(t),fo(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(Gc(t),t.subtreeFlags&6&&(t.flags|=8192)):Gc(t),n=t.updateQueue,n!==null&&Uc(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&ge(Oa),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),aa(_a),Gc(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function qc(e,t){switch(Vi(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return aa(_a),Se(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return we(t),null;case 31:if(t.memoizedState!==null){if(yo(t),t.alternate===null)throw Error(o(340));Qi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(yo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(o(340));Qi()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return ge(bo),null;case 4:return Se(),null;case 10:return aa(t.type),null;case 22:case 23:return yo(t),fo(),e!==null&&ge(Oa),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return aa(_a),null;case 25:return null;default:return null}}function Jc(e,t){switch(Vi(t),t.tag){case 3:aa(_a),Se();break;case 26:case 27:case 5:we(t);break;case 4:Se();break;case 31:t.memoizedState!==null&&yo(t);break;case 13:yo(t);break;case 19:ge(bo);break;case 10:aa(t.type);break;case 22:case 23:yo(t),fo(),e!==null&&ge(Oa);break;case 24:aa(_a)}}function Yc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){G(t,t.return,e)}}function Xc(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){G(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){G(t,t.return,e)}}function Zc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{oo(t,n)}catch(t){G(e,e.return,t)}}}function Qc(e,t,n){n.props=$s(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){G(e,t,n)}}function $c(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){G(e,t,n)}}function el(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){G(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){G(e,t,n)}else n.current=null}function tl(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){G(e,e.return,t)}}function nl(e,t,n){try{var r=e.stateNode;Hd(r,e.type,n,t),r[yt]=t}catch(t){G(e,e.return,t)}}function rl(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&af(e.type)||e.tag===4}function il(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||rl(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.tag===27&&af(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function al(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=fn));else if(r!==4&&(r===27&&af(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(al(e,t,n),e=e.sibling;e!==null;)al(e,t,n),e=e.sibling}function ol(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&af(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(ol(e,t,n),e=e.sibling;e!==null;)ol(e,t,n),e=e.sibling}function sl(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Vd(t,r,n),t[vt]=e,t[yt]=n}catch(t){G(e,e.return,t)}}var cl=!1,ll=!1,ul=!1,dl=typeof WeakSet==`function`?WeakSet:Set,fl=null;function pl(e,t){if(e=e.containerInfo,Gd=mp,e=Lr(e),Rr(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,a=r.focusNode;r=r.focusOffset;try{n.nodeType,a.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=s+i),f!==a||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=s),p===a&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(Kd={focusedElem:e,selectionRange:n},mp=!1,fl=t;fl!==null;)if(t=fl,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,fl=e;else for(;fl!==null;){switch(t=fl,a=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)i=e[n],i.ref.impl=i.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&a!==null){e=void 0,n=t,i=a.memoizedProps,a=a.memoizedState,r=n.stateNode;try{var h=$s(n.type,i);e=r.getSnapshotBeforeUpdate(h,a),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){G(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)cf(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:cf(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(o(163))}if(e=t.sibling,e!==null){e.return=t.return,fl=e;break}fl=t.return}}function ml(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:Ol(e,n),r&4&&Yc(5,n);break;case 1:if(Ol(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){G(n,n.return,e)}else{var i=$s(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){G(n,n.return,e)}}r&64&&Zc(n),r&512&&$c(n,n.return);break;case 3:if(Ol(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{oo(e,t)}catch(e){G(n,n.return,e)}}break;case 27:t===null&&r&4&&sl(n);case 26:case 5:Ol(e,n),t===null&&r&4&&tl(n),r&512&&$c(n,n.return);break;case 12:Ol(e,n);break;case 31:Ol(e,n),r&4&&bl(e,n);break;case 13:Ol(e,n),r&4&&xl(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=td.bind(null,n),mf(e,n))));break;case 22:if(r=n.memoizedState!==null||cl,!r){t=t!==null&&t.memoizedState!==null||ll,i=cl;var a=ll;cl=r,(ll=t)&&!a?Al(e,n,(n.subtreeFlags&8772)!=0):Ol(e,n),cl=i,ll=a}break;case 30:break;default:Ol(e,n)}}function hl(e){var t=e.alternate;t!==null&&(e.alternate=null,hl(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&Et(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var gl=null,_l=!1;function vl(e,t,n){for(n=n.child;n!==null;)yl(e,t,n),n=n.sibling}function yl(e,t,n){if(qe&&typeof qe.onCommitFiberUnmount==`function`)try{qe.onCommitFiberUnmount(Ke,n)}catch{}switch(n.tag){case 26:ll||el(n,t),vl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:ll||el(n,t);var r=gl,i=_l;af(n.type)&&(gl=n.stateNode,_l=!1),vl(e,t,n),bf(n.stateNode),gl=r,_l=i;break;case 5:ll||el(n,t);case 6:if(r=gl,i=_l,gl=null,vl(e,t,n),gl=r,_l=i,gl!==null)if(_l)try{(gl.nodeType===9?gl.body:gl.nodeName===`HTML`?gl.ownerDocument.body:gl).removeChild(n.stateNode)}catch(e){G(n,t,e)}else try{gl.removeChild(n.stateNode)}catch(e){G(n,t,e)}break;case 18:gl!==null&&(_l?(e=gl,of(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Bp(e)):of(gl,n.stateNode));break;case 4:r=gl,i=_l,gl=n.stateNode.containerInfo,_l=!0,vl(e,t,n),gl=r,_l=i;break;case 0:case 11:case 14:case 15:Xc(2,n,t),ll||Xc(4,n,t),vl(e,t,n);break;case 1:ll||(el(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Qc(n,t,r)),vl(e,t,n);break;case 21:vl(e,t,n);break;case 22:ll=(r=ll)||n.memoizedState!==null,vl(e,t,n),ll=r;break;default:vl(e,t,n)}}function bl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Bp(e)}catch(e){G(t,t.return,e)}}}function xl(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Bp(e)}catch(e){G(t,t.return,e)}}function Sl(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new dl),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new dl),t;default:throw Error(o(435,e.tag))}}function Cl(e,t){var n=Sl(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=nd.bind(null,e,t);t.then(r,r)}})}function wl(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r],a=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 27:if(af(c.type)){gl=c.stateNode,_l=!1;break a}break;case 5:gl=c.stateNode,_l=!1;break a;case 3:case 4:gl=c.stateNode.containerInfo,_l=!0;break a}c=c.return}if(gl===null)throw Error(o(160));yl(a,s,i),gl=null,_l=!1,a=i.alternate,a!==null&&(a.return=null),i.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)El(t,e),t=t.sibling}var Tl=null;function El(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:wl(t,e),R(e),r&4&&(Xc(3,e,e.return),Yc(3,e),Xc(5,e,e.return));break;case 1:wl(t,e),R(e),r&512&&(ll||n===null||el(n,n.return)),r&64&&cl&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var i=Tl;if(wl(t,e),R(e),r&512&&(ll||n===null||el(n,n.return)),r&4){var a=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,i=i.ownerDocument||i;b:switch(r){case`title`:a=i.getElementsByTagName(`title`)[0],(!a||a[Tt]||a[vt]||a.namespaceURI===`http://www.w3.org/2000/svg`||a.hasAttribute(`itemprop`))&&(a=i.createElement(r),i.head.insertBefore(a,i.querySelector(`head > title`))),Vd(a,r,n),a[vt]=e,jt(a),r=a;break a;case`link`:var s=Jf(`link`,`href`,i).get(r+(n.href||``));if(s){for(var c=0;c<s.length;c++)if(a=s[c],a.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&a.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&a.getAttribute(`title`)===(n.title==null?null:n.title)&&a.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){s.splice(c,1);break b}}a=i.createElement(r),Vd(a,r,n),i.head.appendChild(a);break;case`meta`:if(s=Jf(`meta`,`content`,i).get(r+(n.content||``))){for(c=0;c<s.length;c++)if(a=s[c],a.getAttribute(`content`)===(n.content==null?null:``+n.content)&&a.getAttribute(`name`)===(n.name==null?null:n.name)&&a.getAttribute(`property`)===(n.property==null?null:n.property)&&a.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&a.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){s.splice(c,1);break b}}a=i.createElement(r),Vd(a,r,n),i.head.appendChild(a);break;default:throw Error(o(468,r))}a[vt]=e,jt(a),r=a}e.stateNode=r}else Yf(i,e.type,e.stateNode);else e.stateNode=Uf(i,r,e.memoizedProps);else a===r?r===null&&e.stateNode!==null&&nl(e,e.memoizedProps,n.memoizedProps):(a===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):a.count--,r===null?Yf(i,e.type,e.stateNode):Uf(i,r,e.memoizedProps))}break;case 27:wl(t,e),R(e),r&512&&(ll||n===null||el(n,n.return)),n!==null&&r&4&&nl(e,e.memoizedProps,n.memoizedProps);break;case 5:if(wl(t,e),R(e),r&512&&(ll||n===null||el(n,n.return)),e.flags&32){i=e.stateNode;try{rn(i,``)}catch(t){G(e,e.return,t)}}r&4&&e.stateNode!=null&&(i=e.memoizedProps,nl(e,i,n===null?i:n.memoizedProps)),r&1024&&(ul=!0);break;case 6:if(wl(t,e),R(e),r&4){if(e.stateNode===null)throw Error(o(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){G(e,e.return,t)}}break;case 3:if(qf=null,i=Tl,Tl=Cf(t.containerInfo),wl(t,e),Tl=i,R(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Bp(t.containerInfo)}catch(t){G(e,e.return,t)}ul&&(ul=!1,Dl(e));break;case 4:r=Tl,Tl=Cf(e.stateNode.containerInfo),wl(t,e),R(e),Tl=r;break;case 12:wl(t,e),R(e);break;case 31:wl(t,e),R(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Cl(e,r)));break;case 13:wl(t,e),R(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(ou=Le()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Cl(e,r)));break;case 22:i=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=cl,d=ll;if(cl=u||i,ll=d||l,wl(t,e),ll=d,cl=u,R(e),r&8192)a:for(t=e.stateNode,t._visibility=i?t._visibility&-2:t._visibility|1,i&&(n===null||l||cl||ll||kl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(a=l.stateNode,i)s=a.style,typeof s.setProperty==`function`?s.setProperty(`display`,`none`,`important`):s.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){G(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=i?``:l.memoizedProps}catch(e){G(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;i?sf(m,!0):sf(l.stateNode,!1)}catch(e){G(l,l.return,e)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,Cl(e,n))));break;case 19:wl(t,e),R(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,Cl(e,r)));break;case 30:break;case 21:break;default:wl(t,e),R(e)}}function R(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(rl(r)){n=r;break}r=r.return}if(n==null)throw Error(o(160));switch(n.tag){case 27:var i=n.stateNode;ol(e,il(e),i);break;case 5:var a=n.stateNode;n.flags&32&&(rn(a,``),n.flags&=-33),ol(e,il(e),a);break;case 3:case 4:var s=n.stateNode.containerInfo;al(e,il(e),s);break;default:throw Error(o(161))}}catch(t){G(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Dl(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;Dl(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function Ol(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)ml(e,t.alternate,t),t=t.sibling}function kl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Xc(4,t,t.return),kl(t);break;case 1:el(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&Qc(t,t.return,n),kl(t);break;case 27:bf(t.stateNode);case 26:case 5:el(t,t.return),kl(t);break;case 22:t.memoizedState===null&&kl(t);break;case 30:kl(t);break;default:kl(t)}e=e.sibling}}function Al(e,t,n){for(n&&=(t.subtreeFlags&8772)!=0,t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:Al(i,a,n),Yc(4,a);break;case 1:if(Al(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){G(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)ao(c[i],s)}catch(e){G(r,r.return,e)}}n&&o&64&&Zc(a),$c(a,a.return);break;case 27:sl(a);case 26:case 5:Al(i,a,n),n&&r===null&&o&4&&tl(a),$c(a,a.return);break;case 12:Al(i,a,n);break;case 31:Al(i,a,n),n&&o&4&&bl(i,a);break;case 13:Al(i,a,n),n&&o&4&&xl(i,a);break;case 22:a.memoizedState===null&&Al(i,a,n),$c(a,a.return);break;case 30:break;default:Al(i,a,n)}t=t.sibling}}function jl(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&ya(n))}function Ml(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ya(e))}function Nl(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)Pl(e,t,n,r),t=t.sibling}function Pl(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:Nl(e,t,n,r),i&2048&&Yc(9,t);break;case 1:Nl(e,t,n,r);break;case 3:Nl(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ya(e)));break;case 12:if(i&2048){Nl(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){G(t,t.return,e)}}else Nl(e,t,n,r);break;case 31:Nl(e,t,n,r);break;case 13:Nl(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?Nl(e,t,n,r):(a._visibility|=2,Fl(e,t,n,r,(t.subtreeFlags&10256)!=0||!1)):a._visibility&2?Nl(e,t,n,r):Il(e,t),i&2048&&jl(o,t);break;case 24:Nl(e,t,n,r),i&2048&&Ml(t.alternate,t);break;default:Nl(e,t,n,r)}}function Fl(e,t,n,r,i){for(i&&=(t.subtreeFlags&10256)!=0||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:Fl(a,o,s,c,i),Yc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,Fl(a,o,s,c,i)):u._visibility&2?Fl(a,o,s,c,i):Il(a,o),i&&l&2048&&jl(o.alternate,o);break;case 24:Fl(a,o,s,c,i),i&&l&2048&&Ml(o.alternate,o);break;default:Fl(a,o,s,c,i)}t=t.sibling}}function Il(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:Il(n,r),i&2048&&jl(r.alternate,r);break;case 24:Il(n,r),i&2048&&Ml(r.alternate,r);break;default:Il(n,r)}t=t.sibling}}var Ll=8192;function Rl(e,t,n){if(e.subtreeFlags&Ll)for(e=e.child;e!==null;)zl(e,t,n),e=e.sibling}function zl(e,t,n){switch(e.tag){case 26:Rl(e,t,n),e.flags&Ll&&e.memoizedState!==null&&Qf(n,Tl,e.memoizedState,e.memoizedProps);break;case 5:Rl(e,t,n);break;case 3:case 4:var r=Tl;Tl=Cf(e.stateNode.containerInfo),Rl(e,t,n),Tl=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=Ll,Ll=16777216,Rl(e,t,n),Ll=r):Rl(e,t,n));break;default:Rl(e,t,n)}}function Bl(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Vl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];fl=r,Wl(r,e)}Bl(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Hl(e),e=e.sibling}function Hl(e){switch(e.tag){case 0:case 11:case 15:Vl(e),e.flags&2048&&Xc(9,e,e.return);break;case 3:Vl(e);break;case 12:Vl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Ul(e)):Vl(e);break;default:Vl(e)}}function Ul(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];fl=r,Wl(r,e)}Bl(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Xc(8,t,t.return),Ul(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Ul(t));break;default:Ul(t)}e=e.sibling}}function Wl(e,t){for(;fl!==null;){var n=fl;switch(n.tag){case 0:case 11:case 15:Xc(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:ya(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,fl=r;else a:for(n=e;fl!==null;){r=fl;var i=r.sibling,a=r.return;if(hl(r),r===n){fl=null;break a}if(i!==null){i.return=a,fl=i;break a}fl=a}}}var Gl={getCacheForType:function(e){var t=da(_a),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return da(_a).controller.signal}},Kl=typeof WeakMap==`function`?WeakMap:Map,z=0,B=null,V=null,H=0,U=0,ql=null,W=!1,Jl=!1,Yl=!1,Xl=0,Zl=0,Ql=0,$l=0,eu=0,tu=0,nu=0,ru=null,iu=null,au=!1,ou=0,su=0,cu=1/0,lu=null,uu=null,du=0,fu=null,pu=null,mu=0,hu=0,gu=null,_u=null,vu=0,yu=null;function bu(){return z&2&&H!==0?H&-H:C.T===null?ht():vd()}function xu(){if(tu===0)if(!(H&536870912)||A){var e=et;et<<=1,!(et&3932160)&&(et=262144),tu=e}else tu=536870912;return e=po.current,e!==null&&(e.flags|=32),tu}function Su(e,t,n){(e===B&&(U===2||U===9)||e.cancelPendingCommit!==null)&&(ku(e,0),Eu(e,H,tu,!1)),ct(e,n),(!(z&2)||e!==B)&&(e===B&&(!(z&2)&&($l|=n),Zl===4&&Eu(e,H,tu,!1)),ud(e))}function Cu(e,t,n){if(z&6)throw Error(o(327));var r=!n&&(t&127)==0&&(t&e.expiredLanes)===0||it(e,t),i=r?Lu(e,t):Fu(e,t,!0),a=r;do{if(i===0){Jl&&!r&&Eu(e,t,0,!1);break}else{if(n=e.current.alternate,a&&!Tu(n)){i=Fu(e,t,!1),a=!1;continue}if(i===2){if(a=t,e.errorRecoveryDisabledLanes&a)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;i=ru;var l=c.current.memoizedState.isDehydrated;if(l&&(ku(c,s).flags|=256),s=Fu(c,s,!1),s!==2){if(Yl&&!l){c.errorRecoveryDisabledLanes|=a,$l|=a,i=4;break a}a=iu,iu=i,a!==null&&(iu===null?iu=a:iu.push.apply(iu,a))}i=s}if(a=!1,i!==2)continue}}if(i===1){ku(e,0),Eu(e,t,0,!0);break}a:{switch(r=e,a=i,a){case 0:case 1:throw Error(o(345));case 4:if((t&4194048)!==t)break;case 6:Eu(r,t,tu,!W);break a;case 2:iu=null;break;case 3:case 5:break;default:throw Error(o(329))}if((t&62914560)===t&&(i=ou+300-Le(),10<i)){if(Eu(r,t,tu,!W),rt(r,0,!0)!==0)break a;mu=t,r.timeoutHandle=$d(wu.bind(null,r,n,iu,lu,au,t,tu,$l,nu,W,a,`Throttled`,-0,0),i);break a}wu(r,n,iu,lu,au,t,tu,$l,nu,W,a,null,-0,0)}}break}while(1);ud(e)}function wu(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:fn},zl(t,a,d);var m=(a&62914560)===a?ou-Le():(a&4194048)===a?su-Le():0;if(m=ep(d,m),m!==null){mu=a,e.cancelPendingCommit=m(Wu.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),Eu(e,a,o,!l);return}}Wu(e,t,a,n,r,i,o,s,c)}function Tu(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!Mr(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Eu(e,t,n,r){t&=~eu,t&=~$l,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-Ye(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&ut(e,n,t)}function Du(){return z&6?!0:(dd(0,!1),!1)}function Ou(){if(V!==null){if(U===0)var e=V.return;else e=V,ra=na=null,zo(e),Ha=null,Ua=0,e=V;for(;e!==null;)Jc(e.alternate,e),e=e.return;V=null}}function ku(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,ef(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),mu=0,Ou(),B=e,V=n=bi(e.current,null),H=t,U=0,ql=null,W=!1,Jl=it(e,t),Yl=!1,nu=tu=eu=$l=Ql=Zl=0,iu=ru=null,au=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-Ye(r),a=1<<i;t|=e[i],r&=~a}return Xl=t,ui(),n}function Au(e,t){M=null,C.H=Gs,t===Ma||t===Pa?(t=Ba(),U=3):t===Na?(t=Ba(),U=4):U=t===lc?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,ql=t,V===null&&(Zl=1,rc(e,Oi(t,e.current)))}function ju(){var e=po.current;return e===null?!0:(H&4194048)===H?mo===null:(H&62914560)===H||H&536870912?e===mo:!1}function Mu(){var e=C.H;return C.H=Gs,e===null?Gs:e}function Nu(){var e=C.A;return C.A=Gl,e}function Pu(){Zl=4,W||(H&4194048)!==H&&po.current!==null||(Jl=!0),!(Ql&134217727)&&!($l&134217727)||B===null||Eu(B,H,tu,!1)}function Fu(e,t,n){var r=z;z|=2;var i=Mu(),a=Nu();(B!==e||H!==t)&&(lu=null,ku(e,t)),t=!1;var o=Zl;a:do try{if(U!==0&&V!==null){var s=V,c=ql;switch(U){case 8:Ou(),o=6;break a;case 3:case 2:case 9:case 6:po.current===null&&(t=!0);var l=U;if(U=0,ql=null,Vu(e,s,c,l),n&&Jl){o=0;break a}break;default:l=U,U=0,ql=null,Vu(e,s,c,l)}}Iu(),o=Zl;break}catch(t){Au(e,t)}while(1);return t&&e.shellSuspendCounter++,ra=na=null,z=r,C.H=i,C.A=a,V===null&&(B=null,H=0,ui()),o}function Iu(){for(;V!==null;)zu(V)}function Lu(e,t){var n=z;z|=2;var r=Mu(),i=Nu();B!==e||H!==t?(lu=null,cu=Le()+500,ku(e,t)):Jl=it(e,t);a:do try{if(U!==0&&V!==null){t=V;var a=ql;b:switch(U){case 1:U=0,ql=null,Vu(e,t,a,1);break;case 2:case 9:if(Ia(a)){U=0,ql=null,Bu(t);break}t=function(){U!==2&&U!==9||B!==e||(U=7),ud(e)},a.then(t,t);break a;case 3:U=7;break a;case 4:U=5;break a;case 7:Ia(a)?(U=0,ql=null,Bu(t)):(U=0,ql=null,Vu(e,t,a,7));break;case 5:var s=null;switch(V.tag){case 26:s=V.memoizedState;case 5:case 27:var c=V;if(s?Zf(s):c.stateNode.complete){U=0,ql=null;var l=c.sibling;if(l!==null)V=l;else{var u=c.return;u===null?V=null:(V=u,Hu(u))}break b}}U=0,ql=null,Vu(e,t,a,5);break;case 6:U=0,ql=null,Vu(e,t,a,6);break;case 8:Ou(),Zl=6;break a;default:throw Error(o(462))}}Ru();break}catch(t){Au(e,t)}while(1);return ra=na=null,C.H=r,C.A=i,z=n,V===null?(B=null,H=0,ui(),Zl):0}function Ru(){for(;V!==null&&!Fe();)zu(V)}function zu(e){var t=zc(e.alternate,e,Xl);e.memoizedProps=e.pendingProps,t===null?Hu(e):V=t}function Bu(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Cc(n,t,t.pendingProps,t.type,void 0,H);break;case 11:t=Cc(n,t,t.pendingProps,t.type.render,t.ref,H);break;case 5:zo(t);default:Jc(n,t),t=V=xi(t,Xl),t=zc(n,t,Xl)}e.memoizedProps=e.pendingProps,t===null?Hu(e):V=t}function Vu(e,t,n,r){ra=na=null,zo(t),Ha=null,Ua=0;var i=t.return;try{if(cc(e,i,t,n,H)){Zl=1,rc(e,Oi(n,e.current)),V=null;return}}catch(t){if(i!==null)throw V=i,t;Zl=1,rc(e,Oi(n,e.current)),V=null;return}t.flags&32768?(A||r===1?e=!0:Jl||H&536870912?e=!1:(W=e=!0,(r===2||r===9||r===3||r===6)&&(r=po.current,r!==null&&r.tag===13&&(r.flags|=16384))),Uu(t,e)):Hu(t)}function Hu(e){var t=e;do{if(t.flags&32768){Uu(t,W);return}e=t.return;var n=Kc(t.alternate,t,Xl);if(n!==null){V=n;return}if(t=t.sibling,t!==null){V=t;return}V=t=e}while(t!==null);Zl===0&&(Zl=5)}function Uu(e,t){do{var n=qc(e.alternate,e);if(n!==null){n.flags&=32767,V=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){V=e;return}V=e=n}while(e!==null);Zl=6,V=null}function Wu(e,t,n,r,i,a,s,c,l){e.cancelPendingCommit=null;do Yu();while(du!==0);if(z&6)throw Error(o(327));if(t!==null){if(t===e.current)throw Error(o(177));if(a=t.lanes|t.childLanes,a|=li,lt(e,n,a,s,c,l),e===B&&(V=B=null,H=0),pu=t,fu=e,mu=n,hu=a,gu=i,_u=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,rd(Ve,function(){return Xu(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!=0,t.subtreeFlags&13878||r){r=C.T,C.T=null,i=w.p,w.p=2,s=z,z|=4;try{pl(e,t,n)}finally{z=s,w.p=i,C.T=r}}du=1,Gu(),Ku(),qu()}}function Gu(){if(du===1){du=0;var e=fu,t=pu,n=(t.flags&13878)!=0;if(t.subtreeFlags&13878||n){n=C.T,C.T=null;var r=w.p;w.p=2;var i=z;z|=4;try{El(t,e);var a=Kd,o=Lr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&Ir(s.ownerDocument.documentElement,s)){if(c!==null&&Rr(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=Fr(s,h),v=Fr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}mp=!!Gd,Kd=Gd=null}finally{z=i,w.p=r,C.T=n}}e.current=t,du=2}}function Ku(){if(du===2){du=0;var e=fu,t=pu,n=(t.flags&8772)!=0;if(t.subtreeFlags&8772||n){n=C.T,C.T=null;var r=w.p;w.p=2;var i=z;z|=4;try{ml(e,t.alternate,t)}finally{z=i,w.p=r,C.T=n}}du=3}}function qu(){if(du===4||du===3){du=0,Ie();var e=fu,t=pu,n=mu,r=_u;t.subtreeFlags&10256||t.flags&10256?du=5:(du=0,pu=fu=null,Ju(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(uu=null),mt(n),t=t.stateNode,qe&&typeof qe.onCommitFiberRoot==`function`)try{qe.onCommitFiberRoot(Ke,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=C.T,i=w.p,w.p=2,C.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{C.T=t,w.p=i}}mu&3&&Yu(),ud(e),i=e.pendingLanes,n&261930&&i&42?e===yu?vu++:(vu=0,yu=e):vu=0,dd(0,!1)}}function Ju(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,ya(t)))}function Yu(){return Gu(),Ku(),qu(),Xu()}function Xu(){if(du!==5)return!1;var e=fu,t=hu;hu=0;var n=mt(mu),r=C.T,i=w.p;try{w.p=32>n?32:n,C.T=null,n=gu,gu=null;var a=fu,s=mu;if(du=0,pu=fu=null,mu=0,z&6)throw Error(o(331));var c=z;if(z|=4,Hl(a.current),Pl(a,a.current,s,n),z=c,dd(0,!1),qe&&typeof qe.onPostCommitFiberRoot==`function`)try{qe.onPostCommitFiberRoot(Ke,a)}catch{}return!0}finally{w.p=i,C.T=r,Ju(e,t)}}function Zu(e,t,n){t=Oi(n,t),t=ac(e.stateNode,t,2),e=$a(e,t,2),e!==null&&(ct(e,2),ud(e))}function G(e,t,n){if(e.tag===3)Zu(e,e,n);else for(;t!==null;){if(t.tag===3){Zu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(uu===null||!uu.has(r))){e=Oi(n,e),n=oc(2),r=$a(t,n,2),r!==null&&(sc(n,r,t,e),ct(r,2),ud(r));break}}t=t.return}}function Qu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Kl;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Yl=!0,i.add(n),e=$u.bind(null,e,t,n),t.then(e,e))}function $u(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,B===e&&(H&n)===n&&(Zl===4||Zl===3&&(H&62914560)===H&&300>Le()-ou?!(z&2)&&ku(e,0):eu|=n,nu===H&&(nu=0)),ud(e)}function ed(e,t){t===0&&(t=ot()),e=pi(e,t),e!==null&&(ct(e,t),ud(e))}function td(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),ed(e,n)}function nd(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(o(314))}r!==null&&r.delete(t),ed(e,n)}function rd(e,t){return Ne(e,t)}var id=null,ad=null,od=!1,sd=!1,cd=!1,ld=0;function ud(e){e!==ad&&e.next===null&&(ad===null?id=ad=e:ad=ad.next=e),sd=!0,od||(od=!0,_d())}function dd(e,t){if(!cd&&sd){cd=!0;do for(var n=!1,r=id;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Ye(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,gd(r,a))}else a=H,a=rt(r,r===B?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||it(r,a)||(n=!0,gd(r,a));r=r.next}while(n);cd=!1}}function fd(){pd()}function pd(){sd=od=!1;var e=0;ld!==0&&Qd()&&(e=ld);for(var t=Le(),n=null,r=id;r!==null;){var i=r.next,a=md(r,t);a===0?(r.next=null,n===null?id=i:n.next=i,i===null&&(ad=n)):(n=r,(e!==0||a&3)&&(sd=!0)),r=i}du!==0&&du!==5||dd(e,!1),ld!==0&&(ld=0)}function md(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-Ye(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=at(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=B,n=H,n=rt(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(U===2||U===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Pe(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||it(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Pe(r),mt(n)){case 2:case 8:n=Be;break;case 32:n=Ve;break;case 268435456:n=Ue;break;default:n=Ve}return r=hd.bind(null,e),n=Ne(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Pe(r),e.callbackPriority=2,e.callbackNode=null,2}function hd(e,t){if(du!==0&&du!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(Yu()&&e.callbackNode!==n)return null;var r=H;return r=rt(e,e===B?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(Cu(e,r,t),md(e,Le()),e.callbackNode!=null&&e.callbackNode===n?hd.bind(null,e):null)}function gd(e,t){if(Yu())return null;Cu(e,t,!0)}function _d(){nf(function(){z&6?Ne(ze,fd):pd()})}function vd(){if(ld===0){var e=Sa;e===0&&(e=$e,$e<<=1,!($e&261888)&&($e=256)),ld=e}return ld}function yd(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:dn(``+e)}function bd(e,t){var n=t.ownerDocument.createElement(`input`);return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(`form`,e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function xd(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=yd((i[yt]||null).action),o=r.submitter;o&&(t=(t=o[yt]||null)?yd(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new Mn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(ld!==0){var e=o?bd(i,o):new FormData(i);js(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?bd(i,o):new FormData(i),js(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var Sd=0;Sd<ii.length;Sd++){var Cd=ii[Sd];ai(Cd.toLowerCase(),`on`+(Cd[0].toUpperCase()+Cd.slice(1)))}ai(Xr,`onAnimationEnd`),ai(Zr,`onAnimationIteration`),ai(Qr,`onAnimationStart`),ai(`dblclick`,`onDoubleClick`),ai(`focusin`,`onFocus`),ai(`focusout`,`onBlur`),ai($r,`onTransitionRun`),ai(ei,`onTransitionStart`),ai(ti,`onTransitionCancel`),ai(ni,`onTransitionEnd`),Ft(`onMouseEnter`,[`mouseout`,`mouseover`]),Ft(`onMouseLeave`,[`mouseout`,`mouseover`]),Ft(`onPointerEnter`,[`pointerout`,`pointerover`]),Ft(`onPointerLeave`,[`pointerout`,`pointerover`]),Pt(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),Pt(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),Pt(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),Pt(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),Pt(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),Pt(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var wd=`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(` `),Td=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(wd));function Ed(e,t){t=(t&4)!=0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){oi(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){oi(e)}i.currentTarget=null,a=c}}}}function K(e,t){var n=t[xt];n===void 0&&(n=t[xt]=new Set);var r=e+`__bubble`;n.has(r)||(Ad(t,e,2,!1),n.add(r))}function Dd(e,t,n){var r=0;t&&(r|=4),Ad(n,e,r,t)}var Od=`_reactListening`+Math.random().toString(36).slice(2);function kd(e){if(!e[Od]){e[Od]=!0,Mt.forEach(function(t){t!==`selectionchange`&&(Td.has(t)||Dd(t,!1,e),Dd(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Od]||(t[Od]=!0,Dd(`selectionchange`,!1,t))}}function Ad(e,t,n,r){switch(xp(t)){case 2:var i=hp;break;case 8:i=gp;break;default:i=_p}n=i.bind(null,t,n,e),i=void 0,!Sn||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function jd(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var s=r.stateNode.containerInfo;if(s===i)break;if(o===4)for(o=r.return;o!==null;){var l=o.tag;if((l===3||l===4)&&o.stateNode.containerInfo===i)return;o=o.return}for(;s!==null;){if(o=Dt(s),o===null)return;if(l=o.tag,l===5||l===6||l===26||l===27){r=a=o;continue a}s=s.parentNode}}r=r.return}yn(function(){var r=a,i=mn(n),o=[];a:{var s=ri.get(e);if(s!==void 0){var l=Mn,u=e;switch(e){case`keypress`:if(On(n)===0)break a;case`keydown`:case`keyup`:l=Yn;break;case`focusin`:u=`focus`,l=Bn;break;case`focusout`:u=`blur`,l=Bn;break;case`beforeblur`:case`afterblur`:l=Bn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=Rn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=zn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=Zn;break;case Xr:case Zr:case Qr:l=Vn;break;case ni:l=Qn;break;case`scroll`:case`scrollend`:l=Pn;break;case`wheel`:l=$n;break;case`copy`:case`cut`:case`paste`:l=Hn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=Xn;break;case`toggle`:case`beforetoggle`:l=er}var d=(t&4)!=0,f=!d&&(e===`scroll`||e===`scrollend`),p=d?s===null?null:s+`Capture`:s;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=bn(m,p),g!=null&&d.push(Md(m,g,h))),f)break;m=m.return}0<d.length&&(s=new l(s,u,null,n,i),o.push({event:s,listeners:d}))}}if(!(t&7)){a:{if(s=e===`mouseover`||e===`pointerover`,l=e===`mouseout`||e===`pointerout`,s&&n!==pn&&(u=n.relatedTarget||n.fromElement)&&(Dt(u)||u[bt]))break a;if((l||s)&&(s=i.window===i?i:(s=i.ownerDocument)?s.defaultView||s.parentWindow:window,l?(u=n.relatedTarget||n.toElement,l=r,u=u?Dt(u):null,u!==null&&(f=c(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(l=null,u=r),l!==u)){if(d=Rn,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Xn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?s:kt(l),h=u==null?s:kt(u),s=new d(g,m+`leave`,l,n,i),s.target=f,s.relatedTarget=h,g=null,Dt(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,l&&u)b:{for(d=Pd,p=l,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;l!==null&&Fd(o,s,l,d,!1),u!==null&&f!==null&&Fd(o,f,u,d,!0)}}a:{if(s=r?kt(r):window,l=s.nodeName&&s.nodeName.toLowerCase(),l===`select`||l===`input`&&s.type===`file`)var v=br;else if(mr(s))if(xr)v=Ar;else{v=Or;var y=Dr}else l=s.nodeName,!l||l.toLowerCase()!==`input`||s.type!==`checkbox`&&s.type!==`radio`?r&&cn(r.elementType)&&(v=br):v=kr;if(v&&=v(e,r)){hr(o,v,n,i);break a}y&&y(e,s,r),e===`focusout`&&r&&s.type===`number`&&r.memoizedProps.value!=null&&$t(s,`number`,s.value)}switch(y=r?kt(r):window,e){case`focusin`:(mr(y)||y.contentEditable===`true`)&&(Br=y,Vr=r,Hr=null);break;case`focusout`:Hr=Vr=Br=null;break;case`mousedown`:Ur=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Ur=!1,Wr(o,n,i);break;case`selectionchange`:if(zr)break;case`keydown`:case`keyup`:Wr(o,n,i)}var b;if(nr)b:{switch(e){case`compositionstart`:var x=`onCompositionStart`;break b;case`compositionend`:x=`onCompositionEnd`;break b;case`compositionupdate`:x=`onCompositionUpdate`;break b}x=void 0}else ur?cr(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(ar&&n.locale!==`ko`&&(ur||x!==`onCompositionStart`?x===`onCompositionEnd`&&ur&&(b=Dn()):(wn=i,Tn=`value`in wn?wn.value:wn.textContent,ur=!0)),y=Nd(r,x),0<y.length&&(x=new Un(x,e,null,n,i),o.push({event:x,listeners:y}),b?x.data=b:(b=lr(n),b!==null&&(x.data=b)))),(b=ir?dr(e,n):fr(e,n))&&(x=Nd(r,`onBeforeInput`),0<x.length&&(y=new Un(`onBeforeInput`,`beforeinput`,null,n,i),o.push({event:y,listeners:x}),y.data=b)),xd(o,e,r,n,i)}Ed(o,t)})}function Md(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Nd(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=bn(e,n),i!=null&&r.unshift(Md(e,i,a)),i=bn(e,t),i!=null&&r.push(Md(e,i,a))),e.tag===3)return r;e=e.return}return[]}function Pd(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Fd(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=bn(n,a),l!=null&&o.unshift(Md(n,l,c))):i||(l=bn(n,a),l!=null&&o.push(Md(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var Id=/\r\n?/g,Ld=/\u0000|\uFFFD/g;function Rd(e){return(typeof e==`string`?e:``+e).replace(Id,` 10`).replace(Ld,``)}function zd(e,t){return t=Rd(t),Rd(e)===t}function q(e,t,n,r,i,a){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||rn(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&rn(e,``+r);break;case`className`:Vt(e,`class`,r);break;case`tabIndex`:Vt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:Vt(e,n,r);break;case`style`:sn(e,r,a);break;case`data`:if(t!==`object`){Vt(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=dn(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}else typeof a==`function`&&(n===`formAction`?(t!==`input`&&q(e,t,`name`,i.name,i,null),q(e,t,`formEncType`,i.formEncType,i,null),q(e,t,`formMethod`,i.formMethod,i,null),q(e,t,`formTarget`,i.formTarget,i,null)):(q(e,t,`encType`,i.encType,i,null),q(e,t,`method`,i.method,i,null),q(e,t,`target`,i.target,i,null)));if(r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=dn(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=fn);break;case`onScroll`:r!=null&&K(`scroll`,e);break;case`onScrollEnd`:r!=null&&K(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(o(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(o(60));e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=dn(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:K(`beforetoggle`,e),K(`toggle`,e),Bt(e,`popover`,r);break;case`xlinkActuate`:Ht(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Ht(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Ht(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Ht(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Ht(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Ht(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Ht(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Ht(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Ht(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:Bt(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=ln.get(n)||n,Bt(e,n,r))}}function Bd(e,t,n,r,i,a){switch(n){case`style`:sn(e,r,a);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(o(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(o(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?rn(e,r):(typeof r==`number`||typeof r==`bigint`)&&rn(e,``+r);break;case`onScroll`:r!=null&&K(`scroll`,e);break;case`onScrollEnd`:r!=null&&K(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=fn);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!Nt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(i=n.endsWith(`Capture`),t=n.slice(2,i?n.length-7:void 0),a=e[yt]||null,a=a==null?null:a[n],typeof a==`function`&&e.removeEventListener(t,a,i),typeof r==`function`)){typeof a!=`function`&&a!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,i);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):Bt(e,n,r)}}}function Vd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:K(`error`,e),K(`load`,e);var r=!1,i=!1,a;for(a in n)if(n.hasOwnProperty(a)){var s=n[a];if(s!=null)switch(a){case`src`:r=!0;break;case`srcSet`:i=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(o(137,t));default:q(e,t,a,s,n,null)}}i&&q(e,t,`srcSet`,n.srcSet,n,null),r&&q(e,t,`src`,n.src,n,null);return;case`input`:K(`invalid`,e);var c=a=s=i=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:i=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:a=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(o(137,t));break;default:q(e,t,r,d,n,null)}}Qt(e,a,c,l,u,s,i,!1);return;case`select`:for(i in K(`invalid`,e),r=s=a=null,n)if(n.hasOwnProperty(i)&&(c=n[i],c!=null))switch(i){case`value`:a=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:q(e,t,i,c,n,null)}t=a,n=s,e.multiple=!!r,t==null?n!=null&&en(e,!!r,n,!0):en(e,!!r,t,!1);return;case`textarea`:for(s in K(`invalid`,e),a=i=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:i=c;break;case`children`:a=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(o(91));break;default:q(e,t,s,c,n,null)}nn(e,r,i,a);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:q(e,t,l,r,n,null)}return;case`dialog`:K(`beforetoggle`,e),K(`toggle`,e),K(`cancel`,e),K(`close`,e);break;case`iframe`:case`object`:K(`load`,e);break;case`video`:case`audio`:for(r=0;r<wd.length;r++)K(wd[r],e);break;case`image`:K(`error`,e),K(`load`,e);break;case`details`:K(`toggle`,e);break;case`embed`:case`source`:case`link`:K(`error`,e),K(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(o(137,t));default:q(e,t,u,r,n,null)}return;default:if(cn(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Bd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&q(e,t,c,r,n,null))}function Hd(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var i=null,a=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||q(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:a=m;break;case`name`:i=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(o(137,t));break;default:m!==f&&q(e,t,p,m,r,f)}}Zt(e,s,c,l,u,d,a,i);return;case`select`:for(a in m=s=c=p=null,n)if(l=n[a],n.hasOwnProperty(a)&&l!=null)switch(a){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(a)||q(e,t,a,null,r,l)}for(i in r)if(a=r[i],l=n[i],r.hasOwnProperty(i)&&(a!=null||l!=null))switch(i){case`value`:p=a;break;case`defaultValue`:c=a;break;case`multiple`:s=a;default:a!==l&&q(e,t,i,a,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?en(e,!!n,n?[]:``,!1):en(e,!!n,t,!0)):en(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(i=n[c],n.hasOwnProperty(c)&&i!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:q(e,t,c,null,r,i)}for(s in r)if(i=r[s],a=n[s],r.hasOwnProperty(s)&&(i!=null||a!=null))switch(s){case`value`:p=i;break;case`defaultValue`:m=i;break;case`children`:break;case`dangerouslySetInnerHTML`:if(i!=null)throw Error(o(91));break;default:i!==a&&q(e,t,s,i,r,a)}tn(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:q(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:q(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&q(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(o(137,t));break;default:q(e,t,u,p,r,m)}return;default:if(cn(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Bd(e,t,_,void 0,r,p);
vendor: 4,461 bytes, line 10
10for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Bd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&q(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||q(e,t,f,p,r,m)}function Ud(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Wd(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Ud(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Ud(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var Gd=null,Kd=null;function qd(e){return e.nodeType===9?e:e.ownerDocument}function Jd(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function Yd(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function Xd(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Zd=null;function Qd(){var e=window.event;return e&&e.type===`popstate`?e===Zd?!1:(Zd=e,!0):(Zd=null,!1)}var $d=typeof setTimeout==`function`?setTimeout:void 0,ef=typeof clearTimeout==`function`?clearTimeout:void 0,tf=typeof Promise==`function`?Promise:void 0,nf=typeof queueMicrotask==`function`?queueMicrotask:tf===void 0?$d:function(e){return tf.resolve(null).then(e).catch(rf)};function rf(e){setTimeout(function(){throw e})}function af(e){return e===`head`}function of(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Bp(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)bf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,bf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[Tt]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&bf(e.ownerDocument.body);n=i}while(n);Bp(t)}function sf(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8)if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++;n=r}while(n)}function cf(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:cf(n),Et(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function lf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r)if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e;else if(!e[Tt])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=hf(e.nextSibling),e===null)break}return null}function uf(e,t,n){if(t===``)return null;for(;
vendor: 20,906 bytes, line 10
10e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=hf(e.nextSibling),e===null))return null;return e}function df(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=hf(e.nextSibling),e===null))return null;return e}function ff(e){return e.data===`$?`||e.data===`$~`}function pf(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function mf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function hf(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var gf=null;function _f(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return hf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function vf(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function yf(e,t,n){switch(t=qd(n),e){case`html`:if(e=t.documentElement,!e)throw Error(o(452));return e;case`head`:if(e=t.head,!e)throw Error(o(453));return e;case`body`:if(e=t.body,!e)throw Error(o(454));return e;default:throw Error(o(451))}}function bf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);Et(e)}var xf=new Map,Sf=new Set;function Cf(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var wf=w.d;w.d={f:Tf,r:Ef,D:kf,C:Af,L:jf,m:Mf,X:Pf,S:Nf,M:Ff};function Tf(){var e=wf.f(),t=Du();return e||t}function Ef(e){var t=Ot(e);t!==null&&t.tag===5&&t.type===`form`?Ns(t):wf.r(e)}var Df=typeof document>`u`?null:document;function Of(e,t,n){var r=Df;if(r&&typeof t==`string`&&t){var i=Xt(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),Sf.has(i)||(Sf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Vd(t,`link`,e),jt(t),r.head.appendChild(t)))}}function kf(e){wf.D(e),Of(`dns-prefetch`,e,null)}function Af(e,t){wf.C(e,t),Of(`preconnect`,e,t)}function jf(e,t,n){wf.L(e,t,n);var r=Df;if(r&&e&&t){var i=`link[rel="preload"][as="`+Xt(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+Xt(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+Xt(n.imageSizes)+`"]`)):i+=`[href="`+Xt(e)+`"]`;var a=i;switch(t){case`style`:a=Lf(e);break;case`script`:a=Vf(e)}xf.has(a)||(e=m({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),xf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Rf(a))||t===`script`&&r.querySelector(Hf(a))||(t=r.createElement(`link`),Vd(t,`link`,e),jt(t),r.head.appendChild(t)))}}function Mf(e,t){wf.m(e,t);var n=Df;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+Xt(r)+`"][href="`+Xt(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Vf(e)}if(!xf.has(a)&&(e=m({rel:`modulepreload`,href:e},t),xf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(Hf(a)))return}r=n.createElement(`link`),Vd(r,`link`,e),jt(r),n.head.appendChild(r)}}}function Nf(e,t,n){wf.S(e,t,n);var r=Df;if(r&&e){var i=At(r).hoistableStyles,a=Lf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Rf(a)))s.loading=5;else{e=m({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=xf.get(a))&&Gf(e,n);var c=o=r.createElement(`link`);jt(c),Vd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Wf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Pf(e,t){wf.X(e,t);var n=Df;if(n&&e){var r=At(n).hoistableScripts,i=Vf(e),a=r.get(i);a||(a=n.querySelector(Hf(i)),a||(e=m({src:e,async:!0},t),(t=xf.get(i))&&Kf(e,t),a=n.createElement(`script`),jt(a),Vd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Ff(e,t){wf.M(e,t);var n=Df;if(n&&e){var r=At(n).hoistableScripts,i=Vf(e),a=r.get(i);a||(a=n.querySelector(Hf(i)),a||(e=m({src:e,async:!0,type:`module`},t),(t=xf.get(i))&&Kf(e,t),a=n.createElement(`script`),jt(a),Vd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function If(e,t,n,r){var i=(i=ye.current)?Cf(i):null;if(!i)throw Error(o(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=Lf(n.href),n=At(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Lf(n.href);var a=At(i).hoistableStyles,s=a.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},a.set(e,s),(a=i.querySelector(Rf(e)))&&!a._p&&(s.instance=a,s.state.loading=5),xf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},xf.set(e,n),a||Bf(i,e,n,s.state))),t&&r===null)throw Error(o(528,``));return s}if(t&&r!==null)throw Error(o(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Vf(n),n=At(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(o(444,e))}}function Lf(e){return`href="`+Xt(e)+`"`}function Rf(e){return`link[rel="stylesheet"][`+e+`]`}function zf(e){return m({},e,{"data-precedence":e.precedence,precedence:null})}function Bf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Vd(t,`link`,n),jt(t),e.head.appendChild(t))}function Vf(e){return`[src="`+Xt(e)+`"]`}function Hf(e){return`script[async]`+e}function Uf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+Xt(n.href)+`"]`);if(r)return t.instance=r,jt(r),r;var i=m({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),jt(r),Vd(r,`style`,i),Wf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=Lf(n.href);var a=e.querySelector(Rf(i));if(a)return t.state.loading|=4,t.instance=a,jt(a),a;r=zf(n),(i=xf.get(i))&&Gf(r,i),a=(e.ownerDocument||e).createElement(`link`),jt(a);var s=a;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Vd(a,`link`,r),t.state.loading|=4,Wf(a,n.precedence,e),t.instance=a;case`script`:return a=Vf(n.src),(i=e.querySelector(Hf(a)))?(t.instance=i,jt(i),i):(r=n,(i=xf.get(a))&&(r=m({},n),Kf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),jt(i),Vd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(o(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Wf(r,n.precedence,e));return t.instance}function Wf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Gf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function Kf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var qf=null;function Jf(e,t,n){if(qf===null){var r=new Map,i=qf=new Map;i.set(n,r)}else i=qf,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[Tt]||a[vt]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Yf(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function Xf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Zf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Qf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Lf(r.href),a=t.querySelector(Rf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=tp.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,jt(a);return}a=t.ownerDocument||t,r=zf(r),(i=xf.get(i))&&Gf(r,i),a=a.createElement(`link`),jt(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Vd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=tp.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $f=0;function ep(e,t){return e.stylesheets&&e.count===0&&rp(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&rp(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&$f===0&&($f=62500*Wd());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&rp(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>$f?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function tp(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)rp(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var np=null;function rp(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,np=new Map,t.forEach(ip,e),np=null,tp.call(e))}function ip(e,t){if(!(t.state.loading&4)){var n=np.get(e);if(n)var r=n.get(null);else{n=new Map,np.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=tp.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var ap={$$typeof:ee,Provider:null,Consumer:null,_currentValue:fe,_currentValue2:fe,_threadCount:0};function op(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=st(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=st(0),this.hiddenUpdates=st(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function sp(e,t,n,r,i,a,o,s,c,l,u,d){return e=new op(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=vi(3,null,null,t),e.current=a,a.stateNode=e,t=va(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Xa(a),e}function cp(e){return e?(e=gi,e):gi}function lp(e,t,n,r,i,a){i=cp(i),r.context===null?r.context=i:r.pendingContext=i,r=Qa(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=$a(e,r,t),n!==null&&(Su(n,e,t),eo(n,e,t))}function up(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function dp(e,t){up(e,t),(e=e.alternate)&&up(e,t)}function fp(e){if(e.tag===13||e.tag===31){var t=pi(e,67108864);t!==null&&Su(t,e,67108864),dp(e,67108864)}}function pp(e){if(e.tag===13||e.tag===31){var t=bu();t=pt(t);var n=pi(e,t);n!==null&&Su(n,e,t),dp(e,t)}}var mp=!0;function hp(e,t,n,r){var i=C.T;C.T=null;var a=w.p;try{w.p=2,_p(e,t,n,r)}finally{w.p=a,C.T=i}}function gp(e,t,n,r){var i=C.T;C.T=null;var a=w.p;try{w.p=8,_p(e,t,n,r)}finally{w.p=a,C.T=i}}function _p(e,t,n,r){if(mp){var i=vp(r);if(i===null)jd(e,t,r,yp,n),Ap(e,r);else if(Mp(i,e,t,n,r))r.stopPropagation();else if(Ap(e,r),t&4&&-1<kp.indexOf(e)){for(;i!==null;){var a=Ot(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=nt(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-Ye(o);s.entanglements[1]|=c,o&=~c}ud(a),!(z&6)&&(cu=Le()+500,dd(0,!1))}}break;case 31:case 13:s=pi(a,2),s!==null&&Su(s,a,2),Du(),dp(a,2)}if(a=vp(r),a===null&&jd(e,t,r,yp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else jd(e,t,r,null,n)}}function vp(e){return e=mn(e),bp(e)}var yp=null;function bp(e){if(yp=null,e=Dt(e),e!==null){var t=c(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=l(t),e!==null)return e;e=null}else if(n===31){if(e=u(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return yp=e,null}function xp(e){switch(e){case`beforetoggle`: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`toggle`: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 2;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`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(Re()){case ze:return 2;case Be:return 8;case Ve:case He:return 32;case Ue:return 268435456;default:return 32}default:return 32}}var Sp=!1,Cp=null,wp=null,Tp=null,Ep=new Map,Dp=new Map,Op=[],kp=`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`.split(` `);function Ap(e,t){switch(e){case`focusin`:case`focusout`:Cp=null;break;case`dragenter`:case`dragleave`:wp=null;break;case`mouseover`:case`mouseout`:Tp=null;break;case`pointerover`:case`pointerout`:Ep.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:Dp.delete(t.pointerId)}}function jp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=Ot(t),t!==null&&fp(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Mp(e,t,n,r,i){switch(t){case`focusin`:return Cp=jp(Cp,e,t,n,r,i),!0;case`dragenter`:return wp=jp(wp,e,t,n,r,i),!0;case`mouseover`:return Tp=jp(Tp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return Ep.set(a,jp(Ep.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,Dp.set(a,jp(Dp.get(a)||null,e,t,n,r,i)),!0}return!1}function Np(e){var t=Dt(e.target);if(t!==null){var n=c(t);if(n!==null){if(t=n.tag,t===13){if(t=l(n),t!==null){e.blockedOn=t,gt(e.priority,function(){pp(n)});return}}else if(t===31){if(t=u(n),t!==null){e.blockedOn=t,gt(e.priority,function(){pp(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Pp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=vp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);pn=r,n.target.dispatchEvent(r),pn=null}else return t=Ot(n),t!==null&&fp(t),e.blockedOn=n,!1;t.shift()}return!0}function Fp(e,t,n){Pp(e)&&n.delete(t)}function Ip(){Sp=!1,Cp!==null&&Pp(Cp)&&(Cp=null),wp!==null&&Pp(wp)&&(wp=null),Tp!==null&&Pp(Tp)&&(Tp=null),Ep.forEach(Fp),Dp.forEach(Fp)}function Lp(e,n){e.blockedOn===n&&(e.blockedOn=null,Sp||(Sp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Ip)))}var Rp=null;function zp(e){Rp!==e&&(Rp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){Rp===e&&(Rp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(bp(r||n)===null)continue;break}var a=Ot(n);a!==null&&(e.splice(t,3),t-=3,js(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Bp(e){function t(t){return Lp(t,e)}Cp!==null&&Lp(Cp,e),wp!==null&&Lp(wp,e),Tp!==null&&Lp(Tp,e),Ep.forEach(t),Dp.forEach(t);for(var n=0;n<Op.length;n++){var r=Op[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Op.length&&(n=Op[0],n.blockedOn===null);)Np(n),n.blockedOn===null&&Op.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[yt]||null;if(typeof a==`function`)o||zp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[yt]||null)s=o.formAction;else if(bp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),zp(n)}}}function Vp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Hp(e){this._internalRoot=e}Up.prototype.render=Hp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(o(409));var n=t.current;lp(n,bu(),e,t,null,null)},Up.prototype.unmount=Hp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;lp(e.current,2,null,e,null,null),Du(),t[bt]=null}};function Up(e){this._internalRoot=e}Up.prototype.unstable_scheduleHydration=function(e){if(e){var t=ht();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Op.length&&t!==0&&t<Op[n].priority;n++);Op.splice(n,0,e),n===0&&Np(e)}};var Wp=n.version;if(Wp!==`19.2.5`)throw Error(o(527,Wp,`19.2.5`));w.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(o(188)):(e=Object.keys(e).join(`,`),Error(o(268,e)));return e=f(t),e=e===null?null:p(e),e=e===null?null:e.stateNode,e};var Gp={bundleType:0,version:`19.2.5`,rendererPackageName:`react-dom`,currentDispatcherRef:C,reconcilerVersion:`19.2.5`};
10if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var Kp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Kp.isDisabled&&Kp.supportsFiber)try{Ke=Kp.inject(Gp),qe=Kp}catch{}}e.hydrateRoot=function(e,t,n){if(!s(e))throw Error(o(299));var r=!1,i=``,a=ec,c=tc,l=nc,u=null;return n!=null&&(!0===n.unstable_strictMode&&(r=!0),n.identifierPrefix!==void 0&&(i=n.identifierPrefix),n.onUncaughtError!==void 0&&(a=n.onUncaughtError),n.onCaughtError!==void 0&&(c=n.onCaughtError),n.onRecoverableError!==void 0&&(l=n.onRecoverableError),n.formState!==void 0&&(u=n.formState)),t=sp(e,1,!0,t,n??null,r,i,u,a,c,l,Vp),t.context=cp(null),n=t.current,r=bu(),r=pt(r),i=Qa(r),i.callback=null,$a(n,i,r),n=r,t.current.lanes=n,ct(t,n),ud(t),e[bt]=t.current,kd(e),new Up(t)}})),je=n(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=Ae()})),Me=`__TSS_CONTEXT`,Ne=Symbol.for(`TSS_SERVER_FUNCTION`),Pe=Symbol.for(`TSS_SERVER_FUNCTION_FACTORY`),Fe=`application/x-tss-framed`,Ie={JSON:0,CHUNK:1,END:2,ERROR:3};`${Fe}`;var Le=/;\s*v=(\d+)/;function Re(e){let t=e.match(Le);return t?parseInt(t[1],10):void 0}function ze(e){let t=Re(e);if(t!==void 0&&t!==1)throw Error(`Incompatible framed protocol version: server=${t}, client=1. Please ensure client and server are using compatible versions.`)}var Be=()=>window.__TSS_START_OPTIONS__;function Ve(e,t=String){let n=new URLSearchParams;for(let r in e){let i=e[r];i!==void 0&&n.set(r,t(i))}return n.toString()}function He(e){return e?e===`false`?!1:e===`true`?!0:e*0==0&&+e+``===e?+e:e:``}function Ue(e){let t=new URLSearchParams(e),n=Object.create(null);for(let[e,r]of t.entries()){let t=n[e];t==null?n[e]=He(r):Array.isArray(t)?t.push(He(r)):n[e]=[t,He(r)]}return n}var We=Ke(JSON.parse),Ge=qe(JSON.stringify,JSON.parse);function Ke(e){return t=>{t[0]===`?`&&(t=t.substring(1));let n=Ue(t);for(let t in n){let r=n[t];if(typeof r==`string`)try{n[t]=e(r)}catch{}}return n}}function qe(e,t){let n=typeof t==`function`;function r(r){if(typeof r==`object`&&r)try{return e(r)}catch{}else if(n&&typeof r==`string`)try{return t(r),e(r)}catch{}return r}return e=>{let t=Ve(e,r);return t?`?${t}`:``}}var Je=e=>{if(!e.rendered)return e.rendered=!0,e.onReady?.()},Ye=e=>e.stores.matchesId.get().some(t=>e.stores.matchStores.get(t)?.get()._forcePending),Xe=(e,t)=>!!(e.preload&&!e.router.stores.matchStores.has(t)),Ze=(e,t,n=!0)=>{let r={...e.router.options.context??{}},i=n?t:t-1;for(let t=0;t<=i;t++){let n=e.matches[t];if(!n)continue;let i=e.router.getMatch(n.id);
10i&&Object.assign(r,i.__routeContext,i.__beforeLoadContext)}return r},Qe=(e,t)=>{if(!e.matches.length)return;let n=t.routeId,r=e.matches.findIndex(t=>t.routeId===e.router.routeTree.id),i=r>=0?r:0,a=n?e.matches.findIndex(e=>e.routeId===n):e.firstBadMatchIndex??e.matches.length-1;a<0&&(a=i);for(let t=a;t>=0;t--){let n=e.matches[t];if(e.router.looseRoutesById[n.routeId].options.notFoundComponent)return t}return n?a:i},$e=(e,t,n)=>{if(!(!we(n)&&!Te(n)))throw we(n)&&n.redirectHandled&&!n.options.reloadDocument?n:(t&&(t._nonReactive.beforeLoadPromise?.resolve(),t._nonReactive.loaderPromise?.resolve(),t._nonReactive.beforeLoadPromise=void 0,t._nonReactive.loaderPromise=void 0,t._nonReactive.error=n,e.updateMatch(t.id,r=>({...r,status:we(n)?`redirected`:Te(n)?`notFound`:r.status===`pending`?`success`:r.status,context:Ze(e,t.index),isFetching:!1,error:n})),Te(n)&&!n.routeId&&(n.routeId=t.routeId),t._nonReactive.loadPromise?.resolve()),we(n)&&(e.rendered=!0,n.options._fromLocation=e.location,n.redirectHandled=!0,n=e.router.resolveRedirect(n)),n)},et=(e,t)=>{let n=e.router.getMatch(t);return!!(!n||n._nonReactive.dehydrated)},tt=(e,t,n)=>{let r=Ze(e,n);e.updateMatch(t,e=>({...e,context:r}))},nt=(e,t,n)=>{let{id:r,routeId:i}=e.matches[t],a=e.router.looseRoutesById[i];if(n instanceof Promise)throw n;e.firstBadMatchIndex??=t,$e(e,e.router.getMatch(r),n);try{a.options.onError?.(n)}catch(t){n=t,$e(e,e.router.getMatch(r),n)}e.updateMatch(r,e=>(e._nonReactive.beforeLoadPromise?.resolve(),e._nonReactive.beforeLoadPromise=void 0,e._nonReactive.loadPromise?.resolve(),{...e,error:n,status:`error`,isFetching:!1,updatedAt:Date.now(),abortController:new AbortController})),!e.preload&&!we(n)&&!Te(n)&&(e.serialError??=n)},rt=(e,t,n,r)=>{if(r._nonReactive.pendingTimeout!==void 0)return;let i=n.options.pendingMs??e.router.options.defaultPendingMs;if(e.onReady&&!Xe(e,t)&&(n.options.loader||n.options.beforeLoad||mt(n))&&typeof i==`number`&&i!==1/0&&(n.options.pendingComponent??e.router.options?.defaultPendingComponent)){let t=setTimeout(()=>{Je(e)},i);r._nonReactive.pendingTimeout=t}},it=(e,t,n)=>{let r=e.router.getMatch(t);if(!r._nonReactive.beforeLoadPromise&&!r._nonReactive.loaderPromise)return;rt(e,t,n,r);let i=()=>{let n=e.router.getMatch(t);n.preload&&(n.status===`redirected`||n.status===`notFound`)&&$e(e,n,n.error)};return r._nonReactive.beforeLoadPromise?r._nonReactive.beforeLoadPromise.then(i):i()},at=(e,t,n,r)=>{let i=e.router.getMatch(t),a=i._nonReactive.loadPromise;i._nonReactive.loadPromise=ce(()=>{a?.resolve(),a=void 0});let{paramsError:o,searchError:c}=i;o&&nt(e,n,o),c&&nt(e,n,c),rt(e,t,r,i);let l=new AbortController,u=!1,d=()=>{u||(u=!0,e.updateMatch(t,e=>({...e,isFetching:`beforeLoad`,fetchCount:e.fetchCount+1,abortController:l})))},f=()=>{i._nonReactive.beforeLoadPromise?.resolve(),i._nonReactive.beforeLoadPromise=void 0,e.updateMatch(t,e=>({...e,isFetching:!1}))};if(!r.options.beforeLoad){e.router.batch(()=>{d(),f()});return}i._nonReactive.beforeLoadPromise=ce();let p={...Ze(e,n,!1),...i.__routeContext},{search:m,params:h,cause:g}=i,_=Xe(e,t),v={search:m,abortController:l,params:h,preload:_,context:p,location:e.location,navigate:t=>e.router.navigate({...t,_fromLocation:e.location}),buildLocation:e.router.buildLocation,cause:_?`preload`:g,matches:e.matches,routeId:r.id,...e.router.options.additionalContext},y=r=>{if(r===void 0){e.router.batch(()=>{d(),f()});return}(we(r)||Te(r))&&(d(),nt(e,n,r)),e.router.batch(()=>{d(),e.updateMatch(t,e=>({...e,__beforeLoadContext:r})),f()})},b;try{if(b=r.options.beforeLoad(v),s(b))return d(),b.catch(t=>{nt(e,n,t)}).then(y)}catch(t){d(),nt(e,n,t)}y(b)},ot=(e,t)=>{let{id:n,routeId:r}=e.matches[t],i=e.router.looseRoutesById[r],a=()=>c(),o=()=>at(e,n,t,i),c=()=>{if(et(e,n))return;let t=it(e,n,i);return s(t)?t.then(o):o()};return a()},st=(e,t,n)=>{let r=e.router.getMatch(t);if(!r||!n.options.head&&!n.options.scripts&&!n.options.headers)return;let i={ssr:e.router.options.ssr,matches:e.matches,match:r,params:r.params,loaderData:r.loaderData};return Promise.all([n.options.head?.(i),n.options.scripts?.(i),n.options.headers?.(i)]).then(([e,t,n])=>({meta:e?.meta,links:e?.links,headScripts:e?.scripts,headers:n,scripts:t,styles:e?.styles}))},ct=(e,t,n,r,i)=>{let a=t[r-1],{params:o,loaderDeps:s,abortController:c,cause:l}=e.router.getMatch(n),u=Ze(e,r),d=Xe(e,n);return{params:o,deps:s,preload:!!d,parentMatchPromise:a,abortController:c,context:u,location:e.location,navigate:t=>e.router.navigate({...t,_fromLocation:e.location}),cause:d?`preload`:l,route:i,...e.router.options.additionalContext}},lt=async(e,t,n,r,i)=>{try{let a=e.router.getMatch(n);try{pt(i);let o=i.options.loader,c=typeof o==`function`?o:o?.handler,l=c?.(ct(e,t,n,r,i)),u=!!c&&s(l);if((u||i._lazyPromise||i._componentsPromise||i.options.head||i.options.scripts||i.options.headers||a._nonReactive.minPendingPromise)&&e.updateMatch(n,e=>({...e,isFetching:`loader`})),c){let t=u?await l:l;$e(e,e.router.getMatch(n),t),t!==void 0&&e.updateMatch(n,e=>({...e,loaderData:t}))}i._lazyPromise&&await i._lazyPromise;let d=a._nonReactive.minPendingPromise;d&&await d,i._componentsPromise&&await i._componentsPromise,e.updateMatch(n,t=>({...t,error:void 0,context:Ze(e,r),status:`success`,isFetching:!1,updatedAt:Date.now()}))}catch(t){let o=t;if(o?.name===`AbortError`){if(a.abortController.signal.aborted){a._nonReactive.loaderPromise?.resolve(),a._nonReactive.loaderPromise=void 0;return}e.updateMatch(n,t=>
10({...t,status:t.status===`pending`?`success`:t.status,isFetching:!1,context:Ze(e,r)}));return}let s=a._nonReactive.minPendingPromise;s&&await s,Te(t)&&await i.options.notFoundComponent?.preload?.(),$e(e,e.router.getMatch(n),t);try{i.options.onError?.(t)}catch(t){o=t,$e(e,e.router.getMatch(n),t)}!we(o)&&!Te(o)&&await pt(i,[`errorComponent`]),e.updateMatch(n,t=>({...t,error:o,context:Ze(e,r),status:`error`,isFetching:!1}))}}catch(t){let r=e.router.getMatch(n);r&&(r._nonReactive.loaderPromise=void 0),$e(e,r,t)}},ut=async(e,t,n)=>{async function r(r,a,c,l,d){let f=Date.now()-a.updatedAt,p=r?d.options.preloadStaleTime??e.router.options.defaultPreloadStaleTime??3e4:d.options.staleTime??e.router.options.defaultStaleTime??0,m=d.options.shouldReload,h=typeof m==`function`?m(ct(e,t,i,n,d)):m,{status:g,invalid:_}=l,v=f>=p&&(!!e.forceStaleReload||l.cause===`enter`||c!==void 0&&c!==l.id);o=g===`success`&&(_||(h??v)),r&&d.options.preload===!1||(o&&!e.sync&&u?(s=!0,(async()=>{try{await lt(e,t,i,n,d);let r=e.router.getMatch(i);r._nonReactive.loaderPromise?.resolve(),r._nonReactive.loadPromise?.resolve(),r._nonReactive.loaderPromise=void 0,r._nonReactive.loadPromise=void 0}catch(t){we(t)&&await e.router.navigate(t.options)}})()):g!==`success`||o?await lt(e,t,i,n,d):tt(e,i,n))}let{id:i,routeId:a}=e.matches[n],o=!1,s=!1,c=e.router.looseRoutesById[a],l=c.options.loader,u=((typeof l==`function`?void 0:l?.staleReloadMode)??e.router.options.defaultStaleReloadMode)!==`blocking`;if(et(e,i)){if(!e.router.getMatch(i))return e.matches[n];tt(e,i,n)}else{let t=e.router.getMatch(i),o=e.router.stores.matchesId.get()[n],s=(o&&e.router.stores.matchStores.get(o)||null)?.routeId===a?o:e.router.stores.matches.get().find(e=>e.routeId===a)?.id,l=Xe(e,i);if(t._nonReactive.loaderPromise){if(t.status===`success`&&!e.sync&&!t.preload&&u)return t;await t._nonReactive.loaderPromise;let n=e.router.getMatch(i),a=n._nonReactive.error||n.error;a&&$e(e,n,a),n.status===`pending`&&await r(l,t,s,n,c)}else{let n=l&&!e.router.stores.matchStores.has(i),a=e.router.getMatch(i);a._nonReactive.loaderPromise=ce(),n!==a.preload&&e.updateMatch(i,e=>({...e,preload:n})),await r(l,t,s,a,c)}}let d=e.router.getMatch(i);s||(d._nonReactive.loaderPromise?.resolve(),d._nonReactive.loadPromise?.resolve(),d._nonReactive.loadPromise=void 0),clearTimeout(d._nonReactive.pendingTimeout),d._nonReactive.pendingTimeout=void 0,s||(d._nonReactive.loaderPromise=void 0),d._nonReactive.dehydrated=void 0;let f=s?d.isFetching:!1;return f!==d.isFetching||d.invalid!==!1?(e.updateMatch(i,e=>({...e,isFetching:f,invalid:!1})),e.router.getMatch(i)):d};async function dt(e){let t=e,n=[];Ye(t.router)&&Je(t);let r;for(let e=0;e<t.matches.length;e++){try{let n=ot(t,e);s(n)&&await n}catch(e){if(we(e))throw e;if(Te(e))r=e;else if(!t.preload)throw e;break}if(t.serialError||t.firstBadMatchIndex!=null)break}let i=t.firstBadMatchIndex??t.matches.length,a=r&&!t.preload?Qe(t,r):void 0,o=r&&t.preload?0:a===void 0?i:Math.min(a+1,i),c,l;for(let e=0;e<o;e++)n.push(ut(t,n,e));try{await Promise.all(n)}catch{let e=await Promise.allSettled(n);for(let t of e){if(t.status!==`rejected`)continue;let e=t.reason;if(we(e))throw e;Te(e)?c??=e:l??=e}if(l!==void 0)throw l}let u=c??(r&&!t.preload?r:void 0),d=t.firstBadMatchIndex===void 0?t.matches.length-1:t.firstBadMatchIndex;if(!u&&r&&t.preload)return t.matches;if(u){let e=Qe(t,u);e===void 0&&_();let n=t.matches[e],r=t.router.looseRoutesById[n.routeId],i=t.router.options?.defaultNotFoundComponent;!r.options.notFoundComponent&&i&&(r.options.notFoundComponent=i),u.routeId=n.routeId;let a=n.routeId===t.router.routeTree.id;t.updateMatch(n.id,e=>({...e,...a?{status:`success`,globalNotFound:!0,error:void 0}:{status:`notFound`,error:u},isFetching:!1})),d=e,await pt(r,[`notFoundComponent`])}else if(!t.preload){let e=t.matches[0];e.globalNotFound||t.router.getMatch(e.id)?.globalNotFound&&t.updateMatch(e.id,e=>({...e,globalNotFound:!1,error:void 0}))}if(t.serialError&&t.firstBadMatchIndex!==void 0){let e=t.router.looseRoutesById[t.matches[t.firstBadMatchIndex].routeId];await pt(e,[`errorComponent`])}for(let e=0;e<=d;e++){let{id:n,routeId:r}=t.matches[e],i=t.router.looseRoutesById[r];try{let e=st(t,n,i);if(e){let r=await e;t.updateMatch(n,e=>({...e,...r}))}}catch(e){console.error(`Error executing head for route ${r}:`,e)}}let f=Je(t);if(s(f)&&await f,u)throw u;if(t.serialError&&!t.preload&&!t.onReady)throw t.serialError;return t.matches}function ft(e,t){let n=t.map(t=>
10e.options[t]?.preload?.()).filter(Boolean);if(n.length!==0)return Promise.all(n)}function pt(e,t=ht){!e._lazyLoaded&&e._lazyPromise===void 0&&(e.lazyFn?e._lazyPromise=e.lazyFn().then(t=>{let{id:n,...r}=t.options;Object.assign(e.options,r),e._lazyLoaded=!0,e._lazyPromise=void 0}):e._lazyLoaded=!0);let n=()=>e._componentsLoaded?void 0:t===ht?(()=>{if(e._componentsPromise===void 0){let t=ft(e,ht);t?e._componentsPromise=t.then(()=>{e._componentsLoaded=!0,e._componentsPromise=void 0}):e._componentsLoaded=!0}return e._componentsPromise})():ft(e,t);return e._lazyPromise?e._lazyPromise.then(n):n()}function mt(e){for(let t of ht)if(e.options[t]?.preload)return!0;return!1}var ht=[`component`,`errorComponent`,`pendingComponent`,`notFoundComponent`];function gt(e){return{input:({url:t})=>{for(let n of e)t=vt(n,t);return t},output:({url:t})=>{for(let n=e.length-1;n>=0;n--)t=yt(e[n],t);return t}}}function _t(e){let t=he(e.basepath),n=`/${t}`,r=e.caseSensitive?n:n.toLowerCase(),i=`${r}/`;return{input:({url:t})=>{let a=e.caseSensitive?t.pathname:t.pathname.toLowerCase();return a===r?t.pathname=`/`:a.startsWith(i)&&(t.pathname=t.pathname.slice(n.length)),t},output:({url:e})=>(e.pathname=oe([`/`,t,e.pathname]),e)}}function vt(e,t){let n=e?.input?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function yt(e,t){let n=e?.output?.({url:t});if(n){if(typeof n==`string`)return new URL(n);if(n instanceof URL)return n}return t}function bt(e,t){let{createMutableStore:n,createReadonlyStore:r,batch:i,init:a}=t,o=new Map,s=new Map,c=new Map,u=n(e.status),d=n(e.loadedAt),f=n(e.isLoading),p=n(e.isTransitioning),m=n(e.location),h=n(e.resolvedLocation),g=n(e.statusCode),_=n(e.redirect),v=n([]),y=n([]),b=n([]),x=r(()=>xt(o,v.get())),ee=r(()=>xt(s,y.get())),S=r(()=>xt(c,b.get())),te=r(()=>v.get()[0]),ne=r(()=>v.get().some(e=>o.get(e)?.get().status===`pending`)),re=r(()=>({locationHref:m.get().href,resolvedLocationHref:h.get()?.href,status:u.get()})),ie=r(()=>({status:u.get(),loadedAt:d.get(),isLoading:f.get(),isTransitioning:p.get(),matches:x.get(),location:m.get(),resolvedLocation:h.get(),statusCode:g.get(),redirect:_.get()})),ae=l(64);function oe(e){let t=ae.get(e);return t||(t=r(()=>{let t=v.get();for(let n of t){let t=o.get(n);if(t&&t.routeId===e)return t.get()}}),ae.set(e,t)),t}let se={status:u,loadedAt:d,isLoading:f,isTransitioning:p,location:m,resolvedLocation:h,statusCode:g,redirect:_,matchesId:v,pendingIds:y,cachedIds:b,matches:x,pendingMatches:ee,cachedMatches:S,firstId:te,hasPending:ne,matchRouteDeps:re,matchStores:o,pendingMatchStores:s,cachedMatchStores:c,__store:ie,getRouteMatchStore:oe,setMatches:ce,setPending:le,setCached:ue};ce(e.matches),a?.(se);function ce(e){St(e,o,v,n,i)}function le(e){St(e,s,y,n,i)}function ue(e){St(e,c,b,n,i)}return se}function xt(e,t){let n=[];for(let r of t){let t=e.get(r);t&&n.push(t.get())}return n}function St(e,t,n,r,i){let a=e.map(e=>e.id),s=new Set(a);i(()=>{for(let e of t.keys())s.has(e)||t.delete(e);for(let n of e){let e=t.get(n.id);if(!e){let e=r(n);e.routeId=n.routeId,t.set(n.id,e);continue}e.routeId=n.routeId,e.get()!==n&&e.set(n)}o(n.get(),a)||n.set(a)})}var Ct=`__TSR_index`,wt=`popstate`,Tt=`beforeunload`;function Et(e){let t=e.getLocation(),n=new Set,r=r=>{t=e.getLocation(),n.forEach(e=>e({location:t,action:r}))},i=n=>{e.notifyOnIndexChange??!0?r(n):t=e.getLocation()},a=async({task:n,navigateOpts:r,...i})=>{if(r?.ignoreBlocker??!1){n();return}let a=e.getBlockers?.()??[],o=i.type===`PUSH`||i.type===`REPLACE`;if(typeof document<`u`&&a.length&&o)for(let n of a){let r=At(i.path,i.state);if(await n.blockerFn({currentLocation:t,nextLocation:r,action:i.type})){e.onBlocked?.();return}}n()};return{get location(){return t},get length(){return e.getLength()},subscribers:n,subscribe:e=>(n.add(e),()=>{n.delete(e)}),push:(n,i,o)=>{let s=t.state[Ct];i=Dt(s+1,i),a({task:()=>{e.pushState(n,i),r({type:`PUSH`})},navigateOpts:o,type:`PUSH`,path:n,state:i})},replace:(n,i,o)=>{let s=t.state[Ct];i=Dt(s,i),a({task:()=>{e.replaceState(n,i),r({type:`REPLACE`})},navigateOpts:o,type:`REPLACE`,path:n,state:i})},go:(t,n)=>{a({task:()=>{e.go(t),i({type:`GO`,index:t})},navigateOpts:n,type:`GO`})},back:t=>{a({task:()=>{e.back(t?.ignoreBlocker??!1),i({type:`BACK`})},navigateOpts:t,type:`BACK`})},forward:t=>{a({task:()=>{e.forward(t?.ignoreBlocker??!1),i({type:`FORWARD`})},navigateOpts:t,type:`FORWARD`})},canGoBack:()=>t.state[Ct]!==0,createHref:t=>e.createHref(t),block:t=>{if(!e.setBlockers)return()=>{};let n=e.getBlockers?.()??[];return e.setBlockers([...n,t]),()=>{let n=e.getBlockers?.()??[];e.setBlockers?.(n.filter(e=>e!==t))}},flush:()=>e.flush?.(),destroy:()=>e.destroy?.(),notify:r}}function Dt(e,t){t||={};
10let n=jt();return{...t,key:n,__TSR_key:n,[Ct]:e}}function Ot(e){let t=e?.window??(typeof document<`u`?window:void 0),n=t.history.pushState,r=t.history.replaceState,i=[],a=()=>i,o=e=>i=e,s=e?.createHref??(e=>e),c=e?.parseLocation??(()=>At(`${t.location.pathname}${t.location.search}${t.location.hash}`,t.history.state));if(!t.history.state?.__TSR_key&&!t.history.state?.key){let e=jt();t.history.replaceState({[Ct]:0,key:e,__TSR_key:e},``)}let l=c(),u,d=!1,f=!1,p=!1,m=!1,h=()=>l,g,_,v=()=>{g&&(S._ignoreSubscribers=!0,(g.isPush?t.history.pushState:t.history.replaceState)(g.state,``,g.href),S._ignoreSubscribers=!1,g=void 0,_=void 0,u=void 0)},y=(e,t,n)=>{let r=s(t);_||(u=l),l=At(t,n),g={href:r,state:n,isPush:g?.isPush||e===`push`},_||=Promise.resolve().then(()=>v())},b=e=>{l=c(),S.notify({type:e})},x=async()=>{if(f){f=!1;return}let e=c(),n=e.state[Ct]-l.state[Ct],r=n===1,i=n===-1,o=!r&&!i||d;d=!1;let s=o?`GO`:i?`BACK`:`FORWARD`,u=o?{type:`GO`,index:n}:{type:i?`BACK`:`FORWARD`};if(p)p=!1;else{let n=a();if(typeof document<`u`&&n.length){for(let r of n)if(await r.blockerFn({currentLocation:l,nextLocation:e,action:s})){f=!0,t.history.go(1),S.notify(u);return}}}l=c(),S.notify(u)},ee=e=>{if(m){m=!1;return}let t=!1,n=a();if(typeof document<`u`&&n.length)for(let e of n){let n=e.enableBeforeUnload??!0;if(n===!0){t=!0;break}if(typeof n==`function`&&n()===!0){t=!0;break}}if(t)return e.preventDefault(),e.returnValue=``},S=Et({getLocation:h,getLength:()=>t.history.length,pushState:(e,t)=>y(`push`,e,t),replaceState:(e,t)=>y(`replace`,e,t),back:e=>(e&&(p=!0),m=!0,t.history.back()),forward:e=>{e&&(p=!0),m=!0,t.history.forward()},go:e=>{d=!0,t.history.go(e)},createHref:e=>s(e),flush:v,destroy:()=>{t.history.pushState=n,t.history.replaceState=r,t.removeEventListener(Tt,ee,{capture:!0}),t.removeEventListener(wt,x)},onBlocked:()=>{u&&l!==u&&(l=u)},getBlockers:a,setBlockers:o,notifyOnIndexChange:!1});return t.addEventListener(Tt,ee,{capture:!0}),t.addEventListener(wt,x),t.history.pushState=function(...e){let r=n.apply(t.history,e);return S._ignoreSubscribers||b(`PUSH`),r},t.history.replaceState=function(...e){let n=r.apply(t.history,e);return S._ignoreSubscribers||b(`REPLACE`),n},S}function kt(e){let t=e.replace(/[\x00-\x1f\x7f]/g,``);return t.startsWith(`//`)&&(t=`/`+t.replace(/^\/+/,``)),t}function At(e,t){let n=kt(e),r=n.indexOf(`#`),i=n.indexOf(`?`),a=jt();return{href:n,pathname:n.substring(0,r>0?i>0?Math.min(r,i):r:i>0?i:n.length),hash:r>-1?n.substring(r):``,search:i>-1?n.slice(i,r===-1?void 0:r):``,state:t||{[Ct]:0,key:a,__TSR_key:a}}}function jt(){return(Math.random()+1).toString(36).substring(7)}function Mt(e){return e instanceof Error?{name:e.name,message:e.message}:{data:e}}function Nt(e,t){let n=t,r=e;return{fromLocation:n,toLocation:r,pathChanged:n?.pathname!==r.pathname,hrefChanged:n?.href!==r.href,hashChanged:n?.hash!==r.hash}}var Pt=new WeakMap,Ft=class{constructor(e,t){this.tempLocationKey=`${Math.round(Math.random()*1e7)}`,this.resetNextScroll=!0,this.shouldViewTransition=void 0,this.isViewTransitionTypesSupported=void 0,this.subscribers=new Set,this.isScrollRestoring=!1,this.isScrollRestorationSetup=!1,this.routeBranchCache=new WeakMap,this.startTransition=e=>e(),this.update=e=>{let t=this.options,n=this.basepath??t?.basepath??`/`,r=this.basepath===void 0,i=t?.rewrite;if(this.options={...t,...e},this.isServer=this.options.isServer??typeof document>`u`,this.protocolAllowlist=new Set(this.options.protocolAllowlist),this.options.pathParamsAllowedCharacters&&(this.pathParamsDecoder=ae(this.options.pathParamsAllowedCharacters)),(!this.history||this.options.history&&this.options.history!==this.history)&&(this.options.history?this.history=this.options.history:this.history=Ot()),this.origin=this.options.origin,this.origin||(window?.origin&&window.origin!==`null`?this.origin=window.origin:this.origin=`http://localhost`),this.history&&this.updateLatestLocation(),this.options.routeTree!==this.routeTree){this.routeTree=this.options.routeTree;let e;this.resolvePathCache=l(1e3),e=this.buildRouteTree(),this.setRoutes(e)}if(!this.stores&&this.latestLocation){let e=this.getStoreConfig(this);this.batch=e.batch,this.stores=bt(Rt(this.latestLocation),e),an(this)}let a=!1,o=this.options.basepath??`/`,s=this.options.rewrite;if(r||n!==o||i!==s){this.basepath=o;let e=[],t=he(o);t&&t!==`/`&&e.push(_t({basepath:o})),s&&e.push(s),this.rewrite=e.length===0?void 0:e.length===1?e[0]:gt(e),this.history&&this.updateLatestLocation(),a=!0}a&&this.stores&&this.stores.location.set(this.latestLocation),typeof window<`u`&&`CSS`in window&&typeof window.CSS?.supports==`function`&&(this.isViewTransitionTypesSupported=window.CSS.supports(`selector(:active-view-transition-type(a))`))},this.updateLatestLocation=()=>{this.latestLocation=this.parseLocation(this.history.location,this.latestLocation)},this.buildRouteTree=()=>{let e=u(this.routeTree,this.options.caseSensitive,(e,t)=>{e.init({originalIndex:t})});return this.options.routeMasks&&x(this.options.routeMasks,e.processedTree),e},this.subscribe=(e,t)=>
10{let n={eventType:e,fn:t};return this.subscribers.add(n),()=>{this.subscribers.delete(n)}},this.emit=e=>{this.subscribers.forEach(t=>{t.eventType===e.type&&t.fn(e)})},this.parseLocation=(e,t)=>{let n=({pathname:e,search:n,hash:r,href:i,state:a})=>{if(!this.rewrite&&!/[ \x00-\x1f\x7f\u0080-\uffff]/.test(e)){let i=this.options.parseSearch(n),o=this.options.stringifySearch(i);return{href:e+o+r,publicHref:e+o+r,pathname:h(e).path,external:!1,searchStr:o,search:f(t?.search,i),hash:h(r.slice(1)).path,state:ee(t?.state,a)}}let o=new URL(i,this.origin),s=vt(this.rewrite,o),c=this.options.parseSearch(s.search),l=this.options.stringifySearch(c);return s.search=l,{href:s.href.replace(s.origin,``),publicHref:i,pathname:h(s.pathname).path,external:!!this.rewrite&&s.origin!==this.origin,searchStr:l,search:f(t?.search,c),hash:h(s.hash.slice(1)).path,state:ee(t?.state,a)}},r=n(e),{__tempLocation:i,__tempKey:a}=r.state;if(i&&(!a||a===this.tempLocationKey)){let e=n(i);return e.state.key=r.state.key,e.state.__TSR_key=r.state.__TSR_key,delete e.state.__tempLocation,{...e,maskedLocation:r}}return r},this.resolvePathWithBase=(e,t)=>te({base:e,to:t.includes(`//`)?ie(t):t,trailingSlash:this.options.trailingSlash,cache:this.resolvePathCache}),this.matchRoutes=(e,t,n)=>typeof e==`string`?this.matchRoutesInternal({pathname:e,search:t},n):this.matchRoutesInternal(e,t),this.getMatchedRoutes=e=>Bt({pathname:e,routesById:this.routesById,processedTree:this.processedTree}),this.cancelMatch=e=>{let t=this.getMatch(e);t&&(t.abortController.abort(),clearTimeout(t._nonReactive.pendingTimeout),t._nonReactive.pendingTimeout=void 0)},this.cancelMatches=()=>{this.stores.pendingIds.get().forEach(e=>{this.cancelMatch(e)}),this.stores.matchesId.get().forEach(e=>{if(this.stores.pendingMatchStores.has(e))return;let t=this.stores.matchStores.get(e)?.get();t&&(t.status===`pending`||t.isFetching===`loader`)&&this.cancelMatch(e)})},this.buildLocation=e=>{let t=(t={})=>{let n=t._fromLocation||this.pendingBuiltLocation||this.latestLocation,r=this.matchRoutesLightweight(n);t.from;let i=t.unsafeRelative===`path`?n.pathname:t.from??r.fullPath,a=t.to?`${t.to}`:void 0,o=r.search,s=Object.assign(Object.create(null),r.params),c=a?.charCodeAt(0)===47?`/`:this.resolvePathWithBase(i,`.`),l=a?this.resolvePathWithBase(c,a):c,u=t.params===!1||t.params===null?Object.create(null):(t.params??!0)===!0?s:Object.assign(s,p(t.params,s)),d=this.routesByPath[re(l)],g;if(d)g=this.getRouteBranch(d);else if(l.includes(`$`))g=[];else{let e=this.getMatchedRoutes(l);g=e.matchedRoutes,this.options.notFoundRoute&&(!e.foundRoute||e.foundRoute.path!==`/`&&e.routeParams[`**`])&&(g=[...g,this.options.notFoundRoute])}if(g.length&&m(u))for(let e of g){let t=e.options.params?.stringify??e.options.stringifyParams;if(t)try{Object.assign(u,t(u))}catch{}}let _=e.leaveParams?l:h(de({path:l,params:u,decoder:this.pathParamsDecoder,server:this.isServer}).interpolatedPath).path,y=o;if(e._includeValidateSearch&&this.options.search?.strict){let e={};g.forEach(t=>{if(t.options.validateSearch)try{Object.assign(e,zt(t.options.validateSearch,{...e,...y}))}catch{}}),y=e}y=Vt({search:y,dest:t,destRoutes:g,_includeValidateSearch:e._includeValidateSearch}),y=f(o,y);let b=this.options.stringifySearch(y),x=t.hash===!0?n.hash:t.hash?p(t.hash,n.hash):void 0,S=x?`#${x}`:``,te=t.state===!0?n.state:t.state?p(t.state,n.state):{};te=ee(n.state,te);let ne=`${_}${b}${S}`,ie,ae,oe=!1;if(this.rewrite){let e=new URL(ne,this.origin),t=yt(this.rewrite,e);ie=e.href.replace(e.origin,``),t.origin===this.origin?ae=t.pathname+t.search+t.hash:(ae=t.href,oe=!0)}else ie=v(ne),ae=ie;return{publicHref:ae,href:ie,pathname:_,search:y,searchStr:b,state:te,hash:x??``,external:oe,unmaskOnReload:t.unmaskOnReload}},n=(n={},r)=>{let i=t(n),a=r?t(r):void 0;if(!a){let n=Object.create(null);if(this.options.routeMasks){let o=b(i.pathname,this.processedTree);if(o){Object.assign(n,o.rawParams);let{from:i,params:s,...c}=o.route,l=s===!1||s===null?Object.create(null):(s??!0)===!0?n:Object.assign(n,p(s,n));r={from:e.from,...c,params:l},a=t(r)}}}return a&&(i.maskedLocation=a),i};return e.mask?n(e,{from:e.from,...e.mask}):n(e)},this.commitLocation=async({viewTransition:e,ignoreBlocker:t,...n})=>{let r,i=()=>{let e=[`key`,`__TSR_key`,`__TSR_index`,`__hashScrollIntoViewOptions`];
10e.forEach(e=>{n.state[e]=this.latestLocation.state[e]});let t=g(n.state,this.latestLocation.state);return e.forEach(e=>{delete n.state[e]}),t},a=re(this.latestLocation.href)===re(n.href),o=this.commitLocationPromise;if(this.commitLocationPromise=ce(()=>{o?.resolve(),o=void 0}),a&&i())this.load();else{let{maskedLocation:i,hashScrollIntoView:a,...o}=n;i&&(o={...i,state:{...i.state,__tempKey:void 0,__tempLocation:{...o,search:o.searchStr,state:{...o.state,__tempKey:void 0,__tempLocation:void 0,__TSR_key:void 0,key:void 0}}}},(o.unmaskOnReload??this.options.unmaskOnReload??!1)&&(o.state.__tempKey=this.tempLocationKey)),o.state.__hashScrollIntoViewOptions=a??this.options.defaultHashScrollIntoView??!0,this.shouldViewTransition=e,r=n.replace?`REPLACE`:`PUSH`,this.history[r===`REPLACE`?`replace`:`push`](o.publicHref,o.state,{ignoreBlocker:t})}return this.resetNextScroll=n.resetScroll??!0,this.history.subscribers.size||this.load(r?{action:{type:r}}:void 0),this.commitLocationPromise},this.buildAndCommitLocation=({replace:e,resetScroll:t,hashScrollIntoView:n,viewTransition:r,ignoreBlocker:i,href:a,...o}={})=>{if(a){let t=this.history.location.state.__TSR_index,n=At(a,{__TSR_index:e?t:t+1}),r=new URL(n.pathname,this.origin);o.to=vt(this.rewrite,r).pathname,o.search=this.options.parseSearch(n.search),o.hash=n.hash.slice(1)}let s=this.buildLocation({...o,_includeValidateSearch:!0});this.pendingBuiltLocation=s;let c=this.commitLocation({...s,viewTransition:r,replace:e,resetScroll:t,hashScrollIntoView:n,ignoreBlocker:i});return Promise.resolve().then(()=>{this.pendingBuiltLocation===s&&(this.pendingBuiltLocation=void 0)}),c},this.navigate=async({to:e,reloadDocument:t,href:n,publicHref:r,...i})=>{let a=!1;if(n)try{new URL(`${n}`),a=!0}catch{}if(a&&!t&&(t=!0),t){if(e!==void 0||!n){let t=this.buildLocation({to:e,...i});n??=t.publicHref,r??=t.publicHref}let t=!a&&r?r:n;if(y(t,this.protocolAllowlist))return Promise.resolve();if(!i.ignoreBlocker){let e=this.history.getBlockers?.()??[];for(let t of e)if(t?.blockerFn&&await t.blockerFn({currentLocation:this.latestLocation,nextLocation:this.latestLocation,action:`PUSH`}))return Promise.resolve()}return i.replace?window.location.replace(t):window.location.href=t,Promise.resolve()}return this.buildAndCommitLocation({...i,href:n,to:e,_isNavigate:!0})},this.beforeLoad=()=>{this.cancelMatches(),this.updateLatestLocation();let e=this.matchRoutes(this.latestLocation),t=this.stores.cachedMatches.get().filter(t=>!e.some(e=>e.id===t.id));this.batch(()=>{this.stores.status.set(`pending`),this.stores.statusCode.set(200),this.stores.isLoading.set(!0),this.stores.location.set(this.latestLocation),this.stores.setPending(e),this.stores.setCached(t)})},this.load=async e=>{let t=e?.action?.type,n,r,i,a=this.stores.resolvedLocation.get()??this.stores.location.get();for(i=new Promise(o=>{this.startTransition(async()=>{try{this.beforeLoad(),t?Pt.set(this.latestLocation,t):Pt.delete(this.latestLocation);let n=this.latestLocation,r=Nt(n,this.stores.resolvedLocation.get());this.stores.redirect.get()||this.emit({type:`onBeforeNavigate`,...r}),this.emit({type:`onBeforeLoad`,...r}),await dt({router:this,sync:e?.sync,forceStaleReload:a.href===n.href,matches:this.stores.pendingMatches.get(),location:n,updateMatch:this.updateMatch,onReady:async()=>{this.startTransition(()=>{this.startViewTransition(async()=>{let e=null,t=null,n=null,r=null;this.batch(()=>{let i=this.stores.pendingMatches.get(),a=i.length,o=this.stores.matches.get();e=a?o.filter(e=>!this.stores.pendingMatchStores.has(e.id)):null;let s=new Set;for(let e of this.stores.pendingMatchStores.values())e.routeId&&s.add(e.routeId);let c=new Set;for(let e of this.stores.matchStores.values())e.routeId&&c.add(e.routeId);t=a?o.filter(e=>!s.has(e.routeId)):null,n=a?i.filter(e=>!c.has(e.routeId)):null,r=a?i.filter(e=>c.has(e.routeId)):o,this.stores.isLoading.set(!1),this.stores.loadedAt.set(Date.now()),a&&(this.stores.setMatches(i),this.stores.setPending([]),this.stores.setCached([...this.stores.cachedMatches.get(),...e.filter(e=>e.status!==`error`&&e.status!==`notFound`&&e.status!==`redirected`)]),this.clearExpiredCache())});for(let[e,i]of[[t,`onLeave`],[n,`onEnter`],[r,`onStay`]])if(e)for(let t of e)this.looseRoutesById[t.routeId].options[i]?.(t)})})}})}catch(e){we(e)?(n=e,this.navigate({...n.options,replace:!0,ignoreBlocker:!0})):Te(e)&&(r=e);let t=n?n.status:r?404:this.stores.matches.get().some(e=>e.status===`error`)?500:200;this.batch(()=>{this.stores.statusCode.set(t),this.stores.redirect.set(n)})}this.latestLoadPromise===i&&(this.commitLocationPromise?.resolve(),this.latestLoadPromise=void 0,this.commitLocationPromise=void 0),o()})}),this.latestLoadPromise=i,await i;this.latestLoadPromise&&i!==this.latestLoadPromise;)await this.latestLoadPromise;let o;this.hasNotFoundMatch()?o=404:this.stores.matches.get().some(e=>e.status===`error`)&&(o=500),o!==void 0&&this.stores.statusCode.set(o)},this.startViewTransition=e=>{let t=this.shouldViewTransition??this.options.defaultViewTransition;if(this.shouldViewTransition=void 0,t&&typeof document<`u`&&`startViewTransition`in document&&typeof document.startViewTransition==`function`){let n;if(typeof t==`object`&&this.isViewTransitionTypesSupported){let r=this.latestLocation,i=this.stores.resolvedLocation.get(),a=typeof t.types==`function`?t.types(Nt(r,i)):t.types;if(a===!1){e();return}n={update:e,types:a}}else n=e;document.startViewTransition(n)}else e()},this.updateMatch=(e,t)=>{this.startTransition(()=>
10{let n=this.stores.pendingMatchStores.get(e);if(n){n.set(t);return}let r=this.stores.matchStores.get(e);if(r){r.set(t);return}let i=this.stores.cachedMatchStores.get(e);if(i){let n=t(i.get());n.status===`redirected`?this.stores.cachedMatchStores.delete(e)&&this.stores.cachedIds.set(t=>t.filter(t=>t!==e)):i.set(n)}})},this.getMatch=e=>this.stores.cachedMatchStores.get(e)?.get()??this.stores.pendingMatchStores.get(e)?.get()??this.stores.matchStores.get(e)?.get(),this.invalidate=e=>{let t=t=>e?.filter?.(t)??!0?{...t,invalid:!0,...e?.forcePending||t.status===`error`||t.status===`notFound`?{status:`pending`,error:void 0}:void 0}:t;return this.batch(()=>{this.stores.setMatches(this.stores.matches.get().map(t)),this.stores.setCached(this.stores.cachedMatches.get().map(t)),this.stores.setPending(this.stores.pendingMatches.get().map(t))}),this.shouldViewTransition=!1,this.load({sync:e?.sync})},this.getParsedLocationHref=e=>e.publicHref||`/`,this.resolveRedirect=e=>{let t=e.headers.get(`Location`);if(!e.options.href||e.options._builtLocation){let t=e.options._builtLocation??this.buildLocation(e.options),n=this.getParsedLocationHref(t);e.options.href=n,e.headers.set(`Location`,n)}else if(t)try{let n=new URL(t);if(this.origin&&n.origin===this.origin){let t=n.pathname+n.search+n.hash;e.options.href=t,e.headers.set(`Location`,t)}}catch{}if(e.options.href&&!e.options._builtLocation&&y(e.options.href,this.protocolAllowlist))throw Error(`Redirect blocked: unsafe protocol`);return e.headers.get(`Location`)||e.headers.set(`Location`,e.options.href),e},this.clearCache=e=>{let t=e?.filter;t===void 0?this.stores.setCached([]):this.stores.setCached(this.stores.cachedMatches.get().filter(e=>!t(e)))},this.clearExpiredCache=()=>{let e=Date.now();this.clearCache({filter:t=>{let n=this.looseRoutesById[t.routeId];if(!n.options.loader)return!0;let r=(t.preload?n.options.preloadGcTime??this.options.defaultPreloadGcTime:n.options.gcTime??this.options.defaultGcTime)??300*1e3;return t.status===`error`?!0:e-t.updatedAt>=r}})},this.loadRouteChunk=pt,this.preloadRoute=async e=>{let t=e._builtLocation??this.buildLocation(e),n=this.matchRoutes(t,{throwOnError:!0,preload:!0,dest:e}),r=new Set([...this.stores.matchesId.get(),...this.stores.pendingIds.get()]),i=new Set([...r,...this.stores.cachedIds.get()]),a=n.filter(e=>!i.has(e.id));if(a.length){let e=this.stores.cachedMatches.get();this.stores.setCached([...e,...a])}try{return n=await dt({router:this,matches:n,location:t,preload:!0,updateMatch:(e,t)=>{r.has(e)?n=n.map(n=>n.id===e?t(n):n):this.updateMatch(e,t)}}),n}catch(e){if(we(e))return e.options.reloadDocument?void 0:await this.preloadRoute({...e.options,_fromLocation:t});Te(e)||console.error(e);return}},this.matchRoute=(e,t)=>{let n={...e,to:e.to?this.resolvePathWithBase(e.from||``,e.to):void 0,params:e.params||{},leaveParams:!0},r=this.buildLocation(n);if(t?.pending&&this.stores.status.get()!==`pending`)return!1;let i=(t?.pending===void 0?!this.stores.isLoading.get():t.pending)?this.latestLocation:this.stores.resolvedLocation.get()||this.stores.location.get(),a=ge(r.pathname,t?.caseSensitive??!1,t?.fuzzy??!1,i.pathname,this.processedTree);return!a||e.params&&!g(a.rawParams,e.params,{partial:!0})?!1:t?.includeSearch??!0?g(i.search,r.search,{partial:!0})?a.rawParams:!1:a.rawParams},this.hasNotFoundMatch=()=>this.stores.matches.get().some(e=>e.status===`notFound`||e.globalNotFound),this.getStoreConfig=t,this.update({defaultPreloadDelay:50,defaultPendingMs:1e3,defaultPendingMinMs:500,context:void 0,...e,caseSensitive:e.caseSensitive??!1,notFoundMode:e.notFoundMode??`fuzzy`,stringifySearch:e.stringifySearch??Ge,parseSearch:e.parseSearch??We,protocolAllowlist:e.protocolAllowlist??le}),typeof document<`u`&&(self.__TSR_ROUTER__=this)}isShell(){return!!this.options.isShell}isPrerendering(){return!!this.options.isPrerendering}get state(){return this.stores.__store.get()}setRoutes({routesById:e,routesByPath:t,processedTree:n}){this.routesById=e,this.routesByPath=t,this.processedTree=n;let r=this.options.notFoundRoute;r&&(r.init({originalIndex:99999999999}),this.routesById[r.id]=r)}getRouteBranch(e){let t=this.routeBranchCache.get(e);return t||(t=E(e),this.routeBranchCache.set(e,t)),t}get looseRoutesById(){return this.routesById}getParentContext(e){return e?.id?e.context??this.options.context??void 0:this.options.context??void 0}matchRoutesInternal(e,t){let n=this.getMatchedRoutes(e.pathname),{foundRoute:r,routeParam
10s:i}=n,{matchedRoutes:a}=n,o=!1;(r?r.path!==`/`&&i[`**`]:re(e.pathname))&&(this.options.notFoundRoute?a=[...a,this.options.notFoundRoute]:o=!0);let s=o?Ut(this.options.notFoundMode,a):void 0,c=Array(a.length),l=new Map;for(let e of this.stores.matchStores.values())e.routeId&&l.set(e.routeId,e.get());for(let n=0;n<a.length;n++){let r=a[n],o=c[n-1],u,d,p;{let n=o?.search??e.search,i=o?._strictSearch??void 0;try{let e=zt(r.options.validateSearch,{...n})??void 0;u={...n,...e},d={...i,...e},p=void 0}catch(e){let r=e;if(e instanceof It||(r=new It(e.message,{cause:e})),t?.throwOnError)throw r;u=n,d={},p=r}}let m=r.options.loaderDeps?.({search:u})??``,h=m?JSON.stringify(m):``,{interpolatedPath:g,usedParams:_}=de({path:r.fullPath,params:i,decoder:this.pathParamsDecoder,server:this.isServer}),v=r.id+g+h,y=this.getMatch(v),b=l.get(r.id),x=y?._strictParams??_,S;if(!y)try{Wt(r,x)}catch(e){if(S=Te(e)||we(e)?e:new Lt(e.message,{cause:e}),t?.throwOnError)throw S}Object.assign(i,x);let te=b?`stay`:`enter`,ne;if(y)ne={...y,cause:te,params:b?.params??i,_strictParams:x,search:f(b?b.search:y.search,u),_strictSearch:d};else{let e=r.options.loader||r.options.beforeLoad||r.lazyFn||mt(r)?`pending`:`success`;ne={id:v,ssr:r.options.ssr,index:n,routeId:r.id,params:b?.params??i,_strictParams:x,pathname:g,updatedAt:Date.now(),search:b?f(b.search,u):u,_strictSearch:d,searchError:void 0,status:e,isFetching:!1,error:void 0,paramsError:S,__routeContext:void 0,_nonReactive:{loadPromise:ce()},__beforeLoadContext:void 0,context:{},abortController:new AbortController,fetchCount:0,cause:te,loaderDeps:b?ee(b.loaderDeps,m):m,invalid:!1,preload:!1,links:void 0,scripts:void 0,headScripts:void 0,meta:void 0,staticData:r.options.staticData||{},fullPath:r.fullPath}}t?.preload||(ne.globalNotFound=s===r.id),ne.searchError=p;let re=this.getParentContext(o);ne.context={...re,...ne.__routeContext,...ne.__beforeLoadContext},c[n]=ne}for(let t=0;t<c.length;t++){let n=c[t],r=this.looseRoutesById[n.routeId],a=this.getMatch(n.id),o=l.get(n.routeId);if(n.params=o?f(o.params,i):i,!a){let i=c[t-1],a=this.getParentContext(i);if(r.options.context){let t={deps:n.loaderDeps,params:n.params,context:a??{},location:e,navigate:t=>this.navigate({...t,_fromLocation:e}),buildLocation:this.buildLocation,cause:n.cause,abortController:n.abortController,preload:!!n.preload,matches:c,routeId:r.id};n.__routeContext=r.options.context(t)??void 0}n.context={...a,...n.__routeContext,...n.__beforeLoadContext}}}return c}matchRoutesLightweight(e){let{matchedRoutes:t,routeParams:n}=this.getMatchedRoutes(e.pathname),r=S(t),i={...e.search};for(let e of t)try{Object.assign(i,zt(e.options.validateSearch,i))}catch{}let a=S(this.stores.matchesId.get()),o=a&&this.stores.matchStores.get(a)?.get(),s=o&&o.routeId===r.id&&o.pathname===e.pathname,c;if(s)c=o.params;else{let e=Object.assign(Object.create(null),n);for(let n of t)try{Wt(n,e)}catch{}c=e}return{matchedRoutes:t,fullPath:r.fullPath,search:i,params:c}}},It=class extends Error{},Lt=class extends Error{};function Rt(e){return{loadedAt:0,isLoading:!1,isTransitioning:!1,status:`idle`,resolvedLocation:void 0,location:e,matches:[],statusCode:200}}function zt(e,t){if(e==null)return{};if(`~standard`in e){let n=e[`~standard`].validate(t);if(n instanceof Promise)throw new It(`Async validation not supported`);if(n.issues)throw new It(JSON.stringify(n.issues,void 0,2),{cause:n});return n.value}return`parse`in e?e.parse(t):typeof e==`function`?e(t):{}}function Bt({pathname:e,routesById:t,processedTree:n}){let r=Object.create(null),i=re(e),a,o=c(i,n,!0);return o&&(a=o.route,Object.assign(r,o.rawParams)),{matchedRoutes:o?.branch||[t.__root__],routeParams:r,foundRoute:a}}function Vt({search:e,dest:t,destRoutes:n,_includeValidateSearch:r}){return Ht(n)(e,t,r??!1)}function Ht(e){let t={dest:null,_includeValidateSearch:!1,middlewares:[]};for(let n of e)`search`in n.options?n.options.search?.middlewares&&t.middlewares.push(...n.options.search.middlewares):(n.options.preSearchFilters||n.options.postSearchFilters)&&t.middlewares.push(({search:e,next:t})=>{let r=e;
10`preSearchFilters`in n.options&&n.options.preSearchFilters&&(r=n.options.preSearchFilters.reduce((e,t)=>t(e),e));let i=t(r);return`postSearchFilters`in n.options&&n.options.postSearchFilters?n.options.postSearchFilters.reduce((e,t)=>t(e),i):i}),n.options.validateSearch&&t.middlewares.push(({search:e,next:r})=>{let i=r(e);if(!t._includeValidateSearch)return i;try{return{...i,...zt(n.options.validateSearch,i)??void 0}}catch{return i}});t.middlewares.push(({search:e})=>{let n=t.dest;return n.search?n.search===!0?e:p(n.search,e):{}});let n=(e,t,r)=>{if(e>=r.length)return t;let i=r[e];return i({search:t,next:t=>n(e+1,t,r)})};return function(e,r,i){return t.dest=r,t._includeValidateSearch=i,n(0,e,t.middlewares)}}function Ut(e,t){if(e!==`root`)for(let e=t.length-1;e>=0;e--){let n=t[e];if(n.children)return n.id}return Ce}function Wt(e,t){let n=e.options.params?.parse??e.options.parseParams;if(n){let e=n(t);if(e===!1)throw Error(`Route params.parse returned false for a matched route`);Object.assign(t,e)}}function Gt(){try{return sessionStorage}catch{return}}var Kt=`tsr-scroll-restoration-v1_3`,qt=Gt();function Jt(){try{return JSON.parse(qt?.getItem(`tsr-scroll-restoration-v1_3`)||`{}`)}catch{return{}}}function Yt(){try{qt?.setItem(Kt,JSON.stringify(Xt))}catch{}}var Xt=Jt(),Zt=`data-scroll-restoration-id`,Qt=e=>e.state.__TSR_key||e.href;function $t(e){let t=e.getAttribute(Zt);if(t)return`[${Zt}="${t}"]`;let n=``,r=e,i;for(;i=r.parentNode;){let e=1,t=r;for(;t=t.previousElementSibling;)e++;let a=`${r.localName}:nth-child(${e})`;n=n?`${a} > ${n}`:a,r=i}return n}var en=!1,tn=`window`;function nn(e){try{return typeof e==`function`?e():document.querySelector(e)}catch{}}function rn(e){let t=[];for(let n of e){if(n===tn)continue;let e=nn(n);e&&t.push(e)}return t}function an(e,t){if((t??e.options.scrollRestoration)&&(e.isScrollRestoring=!0),e.isScrollRestorationSetup)return;e.isScrollRestorationSetup=!0,en=!1;let n=e.options.getScrollRestorationKey||Qt,r=new Map,i=(e,t,n)=>{let i=r.get(e)||{};i.scrollX=t,i.scrollY=n,r.set(e,i)};history.scrollRestoration=`manual`;let a=t=>{if(!(en||!e.isScrollRestoring))if(t.target===document)i(tn,scrollX,scrollY);else{let e=t.target;i(e,e.scrollLeft,e.scrollTop)}},o=t=>{if(!e.isScrollRestoring)return;let n=Xt[t]||={};for(let[e,t]of r)e===tn?n[tn]=t:e.isConnected&&(n[$t(e)]=t)};document.addEventListener(`scroll`,a,!0),e.subscribe(`onBeforeLoad`,e=>{e.fromLocation&&o(n(e.fromLocation)),r.clear()}),addEventListener(`pagehide`,()=>{o(n(e.stores.resolvedLocation.get()??e.stores.location.get())),Yt()}),e.subscribe(`onRendered`,t=>{let i=e.options.scrollRestorationBehavior,a=e.options.scrollToTopSelectors,o=e.resetNextScroll,s;if(r.clear(),o||(e.resetNextScroll=!0),typeof e.options.scrollRestoration==`function`&&!e.options.scrollRestoration({location:e.latestLocation}))return;let c=n(t.toLocation),l=t.fromLocation&&n(t.fromLocation);if(e.isScrollRestoring&&l&&l!==c){let e=Xt[l];if(e){let t=Xt[c];for(let n in e){if(n===tn){if(o)continue}else{let e=nn(n);if(!e||o&&a&&(s??=rn(a),s.includes(e)))continue}t||=Xt[c]={},t[n]??=e[n]}}}en=!0;try{let n=t.toLocation.hash,r=t.toLocation.state.__hashScrollIntoViewOptions??!0,l=!1;if(o){let o=Pt.get(t.toLocation),u=n&&r&&(o===`PUSH`||o===`REPLACE`),d=e.isScrollRestoring?Xt[c]:void 0;if(d)for(let e in d){let{scrollX:t,scrollY:n}=d[e];if(e===tn){if(u)continue;scrollTo({top:n,left:t,behavior:i}),l=!0}else{let r=nn(e);r&&(r.scrollLeft=t,r.scrollTop=n)}}if(!l&&!n){let e={top:0,left:0,behavior:i};if(scrollTo(e),a){s??=rn(a);for(let t of s)t.scrollTo(e)}}}!l&&n&&r&&document.getElementById(n)?.scrollIntoView(r)}finally{en=!1}})}var on=Symbol.for(`TSR_DEFERRED_PROMISE`);function sn(e,t){let n=e;return n[on]?n:(n[on]={status:`pending`},n.then(e=>{n[on].status=`success`,n[on].data=e}).catch(e=>{n[on].status=`error`,n[on].error={data:(t?.serializeError??Mt)(e),__isServerError:!0}}),n)}function cn(e,t){if(e)return typeof e==`string`?e:e[t]}function ln(e){return e?.scriptFormat??`module`}function un(e,t,n){let r=dn(t),i=cn(n,`script`)??r.crossOrigin;return{...ln(e)===`iife`?{rel:`preload`,as:`script`}:{rel:`modulepreload`},href:r.href,...i?{crossOrigin:i}:{}}}function dn(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}function fn(e,t){if(t.length===0)return;if(t.length===1){e.push(t[0]);return}let n=new Set;for(let r of t){let t=JSON.stringify(r);n.has(t)||(n.add(t),e.push(r))}}function pn(e){return typeof e==`string`?{href:e,crossOrigin:void 0}:e}var mn=class{get to(){return this._to}get id(){return this._id}get path(){return this._path}get fullPath(){return this._fullPath}constructor(e){if(this.init=e=>{this.originalIndex=e.originalIndex;let t=this.options,n=!t?.path&&!t?.id;this.parentRoute=this.options.getParentRoute?.(),n?this._path=Ce:this.parentRoute||_();let r=n?Ce:t?.path;r&&r!==`/`&&(r=_e(r));let i=t?.id||r,a=n?Ce:oe([this.parentRoute.id===`__root__`?``:this.parentRoute.id,i]);
10r===`__root__`&&(r=`/`),a!==`__root__`&&(a=oe([`/`,a]));let o=a===`__root__`?`/`:oe([this.parentRoute.fullPath,r]);this._path=r,this._id=a,this._fullPath=o,this._to=re(o)},this.addChildren=e=>this._addFileChildren(e),this._addFileChildren=e=>(Array.isArray(e)&&(this.children=e),typeof e==`object`&&e&&(this.children=Object.values(e)),this),this._addFileTypes=()=>this,this.updateLoader=e=>(Object.assign(this.options,e),this),this.update=e=>(Object.assign(this.options,e),this),this.lazy=e=>(this.lazyFn=e,this),this.redirect=e=>ye({from:this.fullPath,...e}),this.options=e||{},this.isRoot=!e?.getParentRoute,e?.id&&e?.path)throw Error(`Route cannot have both an 'id' and a 'path' option.`)}},hn=class extends mn{constructor(e){super(e)}},gn=(e=>(e[e.AggregateError=1]=`AggregateError`,e[e.ArrowFunction=2]=`ArrowFunction`,e[e.ErrorPrototypeStack=4]=`ErrorPrototypeStack`,e[e.ObjectAssign=8]=`ObjectAssign`,e[e.BigIntTypedArray=16]=`BigIntTypedArray`,e[e.RegExp=32]=`RegExp`,e))(gn||{}),_n=Symbol.asyncIterator,vn=Symbol.hasInstance,yn=Symbol.isConcatSpreadable,bn=Symbol.iterator,xn=Symbol.match,Sn=Symbol.matchAll,Cn=Symbol.replace,wn=Symbol.search,Tn=Symbol.species,En=Symbol.split,Dn=Symbol.toPrimitive,On=Symbol.toStringTag,kn=Symbol.unscopables,An={[_n]:0,[vn]:1,[yn]:2,[bn]:3,[xn]:4,[Sn]:5,[Cn]:6,[wn]:7,[Tn]:8,[En]:9,[Dn]:10,[On]:11,[kn]:12},jn={0:_n,1:vn,2:yn,3:bn,4:xn,5:Sn,6:Cn,7:wn,8:Tn,9:En,10:Dn,11:On,12:kn},O=void 0,Mn={2:!0,3:!1,1:O,0:null,4:-0,5:1/0,6:-1/0,7:NaN},Nn={0:`Error`,1:`EvalError`,2:`RangeError`,3:`ReferenceError`,4:`SyntaxError`,5:`TypeError`,6:`URIError`},Pn={0:Error,1:EvalError,2:RangeError,3:ReferenceError,4:SyntaxError,5:TypeError,6:URIError};function k(e,t,n,r,i,a,o,s,c,l,u,d){return{t:e,i:t,s:n,c:r,m:i,p:a,e:o,a:s,f:c,b:l,o:u,l:d}}function Fn(e){return k(2,O,e,O,O,O,O,O,O,O,O,O)}var In=Fn(2),Ln=Fn(3),Rn=Fn(1),zn=Fn(0),Bn=Fn(4),Vn=Fn(5),Hn=Fn(6),Un=Fn(7);function Wn(e){switch(e){case`"`:return`\\"`;case`\\`:return`\\\\`;case` 11`:return`\\n`;case`\r`:return`\\r`;case`\b`:return`\\b`;case` `:return`\\t`;case`\f`:return`\\f`;case`<`:return`\\x3C`;case`\u2028`:return`\\u2028`;case`\u2029`:return`\\u2029`;default:return O}}function Gn(e){let t=``,n=0,r;for(let i=0,a=e.length;i<a;i++)r=Wn(e[i]),r&&(t+=e.slice(n,i)+r,n=i+1);return n===0?t=e:t+=e.slice(n),t}function Kn(e){switch(e){case`\\\\`:return`\\`;case`\\"`:return`"`;case`\\n`:return` 12`;case`\\r`:return`\r`;case`\\b`:return`\b`;case`\\t`:return` `;case`\\f`:return`\f`;case`\\x3C`:return`<`;case`\\u2028`:return`\u2028`;case`\\u2029`:return`\u2029`;default:return e}}function qn(e){return e.replace(/(\\\\|\\"|\\n|\\r|\\b|\\t|\\f|\\u2028|\\u2029|\\x3C)/g,Kn)}var Jn=`__SEROVAL_REFS__`,Yn=new Map,Xn=new Map;function Zn(e){return Yn.has(e)}function Qn(e){return Xn.has(e)}function $n(e){if(Zn(e))return Yn.get(e);throw new Vr(e)}function er(e){if(Qn(e))return Xn.get(e);throw new Hr(e)}typeof globalThis<`u`?Object.defineProperty(globalThis,Jn,{value:Xn,configurable:!0,writable:!1,enumerable:!1}):typeof window<`u`?Object.defineProperty(window,Jn,{value:Xn,configurable:!0,writable:!1,enumerable:!1}):typeof self<`u`?Object.defineProperty(self,Jn,{value:Xn,configurable:!0,writable:!1,enumerable:!1}):typeof global<`u`&&Object.defineProperty(global,Jn,{value:Xn,configurable:!0,writable:!1,enumerable:!1});function tr(e){return e instanceof EvalError?1:e instanceof RangeError?2:e instanceof ReferenceError?3:e instanceof SyntaxError?4:e instanceof TypeError?5:e instanceof URIError?6:0}function nr(e){let t=Nn[tr(e)];return e.name===t?e.constructor.name===t?{}:{name:e.constructor.name}:{name:e.name}}function rr(e,t){let n=nr(e),r=Object.getOwnPropertyNames(e);for(let i=0,a=r.length,o;i<a;i++)o=r[i],o!==`name`&&o!==`message`&&(o===`stack`?t&4&&(n||={},n[o]=e[o]):(n||={},n[o]=e[o]));return n}function ir(e){return Object.isFrozen(e)?3:Object.isSealed(e)?2:+!Object.isExtensible(e)}function ar(e){switch(e){case 1/0:return Vn;case-1/0:return Hn}return e===e?Object.is(e,-0)?Bn:k(0,O,e,O,O,O,O,O,O,O,O,O):Un}function or(e){return k(1,O,Gn(e),O,O,O,O,O,O,O,O,O)}function sr(e){return k(3,O,``+e,O,O,O,O,O,O,O,O,O)}function cr(e){return k(4,e,O,O,O,O,O,O,O,O,O,O)}function lr(e,t){let n=t.valueOf();return k(5,e,n===n?t.toISOString():``,O,O,O,O,O,O,O,O,O)}function ur(e,t){return k(6,e,O,Gn(t.source),t.flags,O,O,O,O,O,O,O)}function dr(e,t){return k(17,e,An[t],O,O,O,O,O,O,O,O,O)}function fr(e,t){return k(18,e,Gn($n(t)),O,O,O,O,O,O,O,O,O)}function pr(e,t,n){return k(25,e,n,Gn(t),O,O,O,O,O,O,O,O)}function mr(e,t,n){return k(9,e,O,O,O,O,O,n,O,O,ir(t),O)}function hr(e,t){return k(21,e,O,O,O,O,O,O,t,O,O,O)}function gr(e,t,n){return k(15,e,O,t.constructor.name,O,O,O,O,n,t.byteOffset,O,t.length)}function _r(e,t,n){return k(16,e,O,t.constructor.name,O,O,O,O,n,t.byteOffset,O,t.byteLength)}function vr(e,t,n){return k(20,e,O,O,O,O,O,O,n,t.byteOffset,O,t.byteLength)}function yr(e,t,n){return k(13,e,tr(t),O,Gn(t.message),n,O,O,O,O,O,O)}function br(e,t,n){return k(14,e,tr(t),O,Gn(t.message),n,O,O,O,O,O,O)}function xr(e,t){return k(7,e,O,O,O,O,O,t,O,O,O,O)}function Sr(e,t){return k(28,O,O,O,O,O,O,[e,t],O,O,O,O)}function Cr(e,t){return k(30,O,O,O,O,O,O,[e,t],O,O,O,O)}function wr(e,t,n){return k(31,e,O,O,O,O,O,n,t,O,O,O)}function Tr(e,t){return k(32,e,O,O,O,O,O,O,t,O,O,O)}function Er(e,t){return k(33,e,O,O,O,O,O,O,t,O,O,O)}function Dr(e,t){return k(34,e,O,O,O,O,O,O,t,O,O,O)}function Or(e,t,n,r){return k(35,e,n,O,O,O,O,t,O,O,O,r)}var{toString:kr}
12=Object.prototype,Ar={parsing:1,serialization:2,deserialization:3};function jr(e){return`Seroval Error (step: ${Ar[e]})`}var Mr=(e,t)=>jr(e),Nr=class extends Error{constructor(e,t){super(Mr(e,t)),this.cause=t}},Pr=class extends Nr{constructor(e){super(`parsing`,e)}},Fr=class extends Nr{constructor(e){super(`deserialization`,e)}};function Ir(e){return`Seroval Error (specific: ${e})`}var Lr=class extends Error{constructor(e){super(Ir(1)),this.value=e}},Rr=class extends Error{constructor(e){super(Ir(2))}},zr=class extends Error{constructor(e){super(Ir(3))}},Br=class extends Error{constructor(e){super(Ir(4))}},Vr=class extends Error{constructor(e){super(Ir(5)),this.value=e}},Hr=class extends Error{constructor(e){super(Ir(6))}},Ur=class extends Error{constructor(e){super(Ir(7))}},Wr=class extends Error{constructor(e){super(Ir(8))}},Gr=class extends Error{constructor(e){super(Ir(9))}},Kr=class{constructor(e,t){this.value=e,this.replacement=t}},qr=()=>{let e={p:0,s:0,f:0};return e.p=new Promise((t,n)=>{e.s=t,e.f=n}),e};qr.toString(),((e,t)=>{e.s(t),e.p.s=1,e.p.v=t}).toString(),((e,t)=>{e.f(t),e.p.s=2,e.p.v=t}).toString();var Jr=()=>{let e=[],t=[],n=!0,r=!1,i=0,a=(e,n,r)=>{for(r=0;r<i;r++)t[r]&&t[r][n](e)},o=(t,i,a,o)=>{for(i=0,a=e.length;i<a;i++)o=e[i],!n&&i===a-1?t[r?`return`:`throw`](o):t.next(o)},s=(e,r)=>(n&&(r=i++,t[r]=e),o(e),()=>{n&&(t[r]=t[i],t[i--]=void 0)});return{__SEROVAL_STREAM__:!0,on:e=>s(e),next:t=>{n&&(e.push(t),a(t,`next`))},throw:i=>{n&&(e.push(i),a(i,`throw`),n=!1,r=!1,t.length=0)},return:i=>{n&&(e.push(i),a(i,`return`),n=!1,r=!0,t.length=0)}}};Jr.toString();var Yr=e=>t=>()=>{let n=0,r={[e]:()=>r,next:()=>{if(n>t.d)return{done:!0,value:void 0};let e=n++,r=t.v[e];if(e===t.t)throw r;return{done:e===t.d,value:r}}};return r};Yr.toString();var Xr=(e,t)=>n=>()=>{let r=0,i=-1,a=!1,o=[],s=[],c=(e=0,t=s.length)=>{for(;e<t;e++)s[e].s({done:!0,value:void 0})};n.on({next:e=>{let t=s.shift();t&&t.s({done:!1,value:e}),o.push(e)},throw:e=>{let t=s.shift();t&&t.f(e),c(),i=o.length,a=!0,o.push(e)},return:e=>{let t=s.shift();t&&t.s({done:!0,value:e}),c(),i=o.length,o.push(e)}});let l={[e]:()=>l,next:()=>{if(i===-1){let e=r++;if(e>=o.length){let e=t();return s.push(e),e.p}return{done:!1,value:o[e]}}if(r>i)return{done:!0,value:void 0};let e=r++,n=o[e];if(e!==i)return{done:!1,value:n};if(a)throw n;return{done:!0,value:n}}};return l};Xr.toString();var Zr=e=>{let t=atob(e),n=t.length,r=new Uint8Array(n);for(let e=0;e<n;e++)r[e]=t.charCodeAt(e);return r.buffer};Zr.toString();function Qr(e){return`__SEROVAL_SEQUENCE__`in e}function $r(e,t,n){return{__SEROVAL_SEQUENCE__:!0,v:e,t,d:n}}function ei(e){let t=[],n=-1,r=-1,i=e[bn]();for(;;)try{let e=i.next();if(t.push(e.value),e.done){r=t.length-1;break}}catch(e){n=t.length,t.push(e)}return $r(t,n,r)}var ti=Yr(bn);function ni(e){return ti(e)}var ri={},ii={},ai={0:{},1:{},2:{},3:{},4:{},5:{}};function oi(e){return`__SEROVAL_STREAM__`in e}function si(){return Jr()}function ci(e){let t=si(),n=e[_n]();async function r(){try{let e=await n.next();e.done?t.return(e.value):(t.next(e.value),await r())}catch(e){t.throw(e)}}return r().catch(()=>{}),t}var li=Xr(_n,qr);function ui(e){return li(e)}async function di(e){try{return[1,await e]}catch(e){return[0,e]}}function fi(e,t){return{plugins:t.plugins,mode:e,marked:new Set,features:63^(t.disabledFeatures||0),refs:t.refs||new Map,depthLimit:t.depthLimit||1e3}}function pi(e,t){e.marked.add(t)}function mi(e,t){let n=e.refs.size;return e.refs.set(t,n),n}function hi(e,t){let n=e.refs.get(t);return n==null?{type:0,value:mi(e,t)}:(pi(e,n),{type:1,value:cr(n)})}function gi(e,t){let n=hi(e,t);return n.type===1?n:Zn(t)?{type:2,value:fr(n.value,t)}:n}function _i(e,t){let n=gi(e,t);if(n.type!==0)return n.value;if(t in An)return dr(n.value,t);throw new Lr(t)}function vi(e,t){let n=hi(e,ai[t]);return n.type===1?n.value:k(26,n.value,t,O,O,O,O,O,O,O,O,O)}function yi(e){let t=hi(e,ri);return t.type===1?t.value:k(27,t.value,O,O,O,O,O,O,_i(e,bn),O,O,O)}function bi(e){let t=hi(e,ii);return t.type===1?t.value:k(29,t.value,O,O,O,O,O,[vi(e,1),_i(e,_n)],O,O,O,O)}function xi(e,t,n,r){return k(n?11:10,e,O,O,O,r,O,O,O,O,ir(t),O)}function Si(e,t,n,r){return k(8,t,O,O,O,O,{k:n,v:r},O,vi(e,0),O,O,O)}function Ci(e,t,n){let r=new Uint8Array(n),i=``;for(let e=0,t=r.length;e<t;e++)i+=String.fromCharCode(r[e]);return k(19,t,Gn(btoa(i)),O,O,O,O,O,vi(e,5),O,O,O)}function wi(e,t){return{base:fi(e,t),child:void 0}}var Ti=class{constructor(e,t){this._p=e,this.depth=t}parse(e){return A(this._p,this.depth,e)}};async function Ei(e,t,n){let r=[];for(let i=0,a=n.length;i<a;i++)i in n?r[i]=await A(e,t,n[i]):r[i]=0;return r}async function Di(e,t,n,r){return mr(n,r,await Ei(e,t,r))}async function Oi(e,t,n){let r=Object.entries(n),i=[],a=[];for(let n=0,o=r.length;n<o;n++)i.push(Gn(r[n][0])),a.push(await A(e,t,r[n][1]));return bn in n&&(i.push(_i(e.base,bn)),a.push(Sr(yi(e.base),await A(e,t,ei(n))))),_n in n&&(i.push(_i(e.base,_n)),a.push(Cr(bi(e.base),await A(e,t,ci(n))))),On in n&&(i.push(_i(e.base,On)),a.push(or(n[On]))),yn in n&&(i.push(_i(e.base,yn)),a.push(n[yn]?In:Ln)),{k:i,v:a}}async function ki(e,t,n,r,i){return xi(n,r,i,await Oi(e,t,r))}async function Ai(e,t,n,r){return hr(n,await A(e,t,r.valueOf()))}async function ji(e,t,n,r){return gr(n,r,await A(e,t,r.buffer))}async function Mi(e,t,n,r){return _r(n,r,await A(e,t,r.buffer))}async function Ni(e,t,n,r){return vr(n,r,await A(e,t,r.buffer))}async function Pi(e,t,n,r){let i=rr(r,e.base.features);return yr(n,r,i?await Oi(e,t,i):O)}async function Fi(e,t,n,r){let i=rr(r,e.base.features);return br(n,r,i?await Oi(e,t,i):O)}async function Ii(e,t,n,r){let i=[],a=[];for(let[n,o]of r.entries())i.push(await A(e,t,n)),a.push(await A(e,t,o));return Si(e.base,n,i,a)}async function Li(e,t,n,r){let i=[];for(let n of r.keys())i.push(await A(e,t,n));return xr(n,i)}async function Ri(e,t,n,r){let i=e.base.plugins;if(i)for(let a=0,o=i.length;a<o;a++){let o=i[a];if(o.parse.async&&o.test(r))return pr(n,o.tag,await o.parse.async(r,new Ti(e,t),{id:n}))}return O}async function zi(e,t,n,r){let[i,a]=await di(r);return k(12,n,i,O,O,O,O,O,await A(e,t,a),O,O,O)}function Bi(e,t,n,r,i){let a=[],o=n.on({next:n=>{pi(this.base,t),A(this,e,n).then(e=>{a.push(Tr(t,e))},e=>{i(e),o()})},throw:n=>{pi(this.base,t),A(this,e,n).then(e=>{a.push(Er(t,e)),r(a),o()},e=>{i(e),o()})},return:n=>{pi(this.base,t),A(this,e,n).then(e=>{a.push(Dr(t,e)),r(a),o()},e=>{i(e),o()})}})}async function Vi(e,t,n,r){return wr(n,vi(e.base,4),await new Promise(Bi.bind(e,t,n,r)))}async function Hi(e,t,n,r){let i=[];for(let n=0,a=r.v.length;n<a;n++)i[n]=await A(e,t,r.v[n]);return Or(n,i,r.t,r.d)}async function Ui(e,t,n,r){if(Array.isArray(r))return Di(e,t,n,r);if(oi(r))return Vi(e,t,n,r);if(Qr(r))return Hi(e,t,n,r);let i=r.constructor;if(i===Kr)return A(e,t,r.replacement);let a=await Ri(e,t,n,r);if(a)return a;switch(i){case Object:return ki(e,t,n,r,!1);case O:return ki(e,t,n,r,!0);case Date:return lr(n,r);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return Pi(e,t,n,r);case Number:case Boolean:case String:case BigInt:return Ai(e,t,n,r);case ArrayBuffer:return Ci(e.base,n,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return ji(e,t,n,r);case DataView:return Ni(e,t,n,r);case Map:return Ii(e,t,n,r);case Set:return Li(e,t,n,r);default:break}if(i===Promise||r instanceof Promise)return zi(e,t,n,r);let o=e.base.features;if(o&32&&i===RegExp)return ur(n,r);if(o&16)switch(i){case BigInt64Array:case BigUint64Array:return Mi(e,t,n,r);default:break}if(o&1&&typeof AggregateError<`u`&&(i===AggregateError||r instanceof AggregateError))return Fi(e,t,n,r);if(r instanceof Error)return Pi(e,t,n,r);if(bn in r||_n in r)return ki(e,t,n,r,!!i);throw new Lr(r)}async function Wi(e,t,n){let r=gi(e.base,n);if(r.type!==0)return r.value;let i=await Ri(e,t,r.value,n);if(i)return i;throw new Lr(n)}async function A(e,t,n){switch(typeof n){case`boolean`:return n?In:Ln;case`undefined`:return Rn;case`string`:return or(n);case`number`:return ar(n);case`bigint`:return sr(n);case`object`:if(n){let r=gi(e.base,n);return r.type===0?await Ui(e,t+1,r.value,n):r.value}return zn;case`symbol`:return _i(e.base,n);case`function`:return Wi(e,t,n);default:throw new Lr(n)}}async function Gi(e,t){try{return await A(e,0,t)}catch(e){throw e instanceof Pr?e:new Pr(e)}}var Ki=(e=>(e[e.Vanilla=1]=`Vanilla`,e[e.Cross=2]=`Cross`,e))(Ki||{});function qi(e){return e}function Ji(e,t){for(let n=0,r=t.length;n<r;n++){let r=t[n];e.has(r)||(e.add(r),r.extends&&Ji(e,r.extends))}}function Yi(e){if(e){let t=new Set;return Ji(t,e),[...t]}}function Xi(e){switch(e){case`Int8Array`:return Int8Array;case`Int16Array`:return Int16Array;case`Int32Array`:return Int32Array;case`Uint8Array`:return Uint8Array;case`Uint16Array`:return Uint16Array;case`Uint32Array`:return Uint32Array;case`Uint8ClampedArray`:return Uint8ClampedArray;case`Float32Array`:return Float32Array;case`Float64Array`:return Float64Array;case`BigInt64Array`:return BigInt64Array;case`BigUint64Array`:return BigUint64Array;default:throw new Ur(e)}}var Zi=1e6,Qi=1e4,$i=2e4;function ea(e,t){switch(t){case 3:return Object.freeze(e);case 1:return Object.preventExtensions(e);case 2:return Object.seal(e);default:return e}}var ta=1e3;function na(e,t){let n=t.refs||new Map;return`types`in n||Object.assign(n,{types:new Map}),{mode:e,plugins:t.plugins,refs:n,features:t.features??63^(t.disabledFeatures||0),depthLimit:t.depthLimit||ta}}
12function ra(e){return{mode:2,base:na(2,e),child:O}}var ia=class{constructor(e,t){this._p=e,this.depth=t}deserialize(e){return j(this._p,this.depth,e)}};function aa(e,t){if(t<0||!Number.isFinite(t)||!Number.isInteger(t))throw new Wr({t:4,i:t});if(e.refs.has(t))throw Error(`Conflicted ref id: `+t)}function oa(e,t,n){return aa(e.base,t),e.state.marked.has(t)&&e.base.refs.set(t,n),n}function sa(e,t,n){return aa(e.base,t),e.base.refs.set(t,n),n}function ca(e,t,n){return e.mode===1?oa(e,t,n):sa(e,t,n)}function la(e,t,n){if(Object.hasOwn(t,n))return t[n];throw new Wr(e)}function ua(e,t){return ca(e,t.i,er(qn(t.s)))}function da(e,t,n){let r=n.a,i=r.length,a=ca(e,n.i,Array(i));for(let n=0,o;n<i;n++)o=r[n],o&&(a[n]=j(e,t,o));return ea(a,n.o),a}function fa(e){switch(e){case`constructor`:case`__proto__`:case`prototype`:case`__defineGetter__`:case`__defineSetter__`:case`__lookupGetter__`:case`__lookupSetter__`:return!1;default:return!0}}function pa(e){switch(e){case _n:case yn:case On:case bn:return!0;default:return!1}}function ma(e,t,n){fa(t)?e[t]=n:Object.defineProperty(e,t,{value:n,configurable:!0,enumerable:!0,writable:!0})}function ha(e,t,n,r,i){if(typeof r==`string`)ma(n,qn(r),j(e,t,i));else{let a=j(e,t,r);switch(typeof a){case`string`:ma(n,a,j(e,t,i));break;case`symbol`:pa(a)&&(n[a]=j(e,t,i));break;default:throw new Wr(r)}}}function ga(e,t,n){e.base.refs.types.set(t,n)}function _a(e,t,n,r){if(e.base.refs.types.get(n)!==r)throw new Wr(t)}function va(e,t,n,r){let i=n.k;if(i.length>0)for(let a=0,o=n.v,s=i.length;a<s;a++)ha(e,t,r,i[a],o[a]);return r}function ya(e,t,n){let r=ca(e,n.i,n.t===10?{}:Object.create(null));return va(e,t,n.p,r),ea(r,n.o),r}function ba(e,t){return ca(e,t.i,new Date(t.s))}function xa(e,t){if(e.base.features&32){let n=qn(t.c);if(n.length>$i)throw new Wr(t);return ca(e,t.i,new RegExp(n,t.m))}throw new Rr(t)}function Sa(e,t,n){let r=ca(e,n.i,new Set);for(let i=0,a=n.a,o=a.length;i<o;i++)r.add(j(e,t,a[i]));return r}function Ca(e,t,n){let r=ca(e,n.i,new Map);for(let i=0,a=n.e.k,o=n.e.v,s=a.length;i<s;i++)r.set(j(e,t,a[i]),j(e,t,o[i]));return r}function wa(e,t){if(t.s.length>Zi)throw new Wr(t);return ca(e,t.i,Zr(qn(t.s)))}function Ta(e,t,n){let r=Xi(n.c),i=j(e,t,n.f),a=n.b??0;if(a<0||a>i.byteLength)throw new Wr(n);return ca(e,n.i,new r(i,a,n.l))}function Ea(e,t,n){let r=j(e,t,n.f),i=n.b??0;if(i<0||i>r.byteLength)throw new Wr(n);return ca(e,n.i,new DataView(r,i,n.l))}function Da(e,t,n,r){if(n.p){let i=va(e,t,n.p,{});Object.defineProperties(r,Object.getOwnPropertyDescriptors(i))}return r}function Oa(e,t,n){return Da(e,t,n,ca(e,n.i,AggregateError([],qn(n.m))))}function ka(e,t,n){let r=la(n,Pn,n.s);return Da(e,t,n,ca(e,n.i,new r(qn(n.m))))}function Aa(e,t,n){let r=qr(),i=ca(e,n.i,r.p),a=j(e,t,n.f);return n.s?r.s(a):r.f(a),i}function ja(e,t,n){return ca(e,n.i,Object(j(e,t,n.f)))}function Ma(e,t,n){let r=e.base.plugins;if(r){let i=qn(n.c);for(let a=0,o=r.length;a<o;a++){let o=r[a];if(o.tag===i)return ca(e,n.i,o.deserialize(n.s,new ia(e,t),{id:n.i}))}}throw new zr(n.c)}function Na(e,t){let n=ca(e,t.i,ca(e,t.s,qr()).p);return ga(e,t.s,22),n}function Pa(e,t,n){let r=e.base.refs.get(n.i);if(r)return _a(e,n,n.i,22),r.s(j(e,t,n.a[1])),O;throw new Br(`Promise`)}function Fa(e,t,n){let r=e.base.refs.get(n.i);if(r)return _a(e,n,n.i,22),r.f(j(e,t,n.a[1])),O;throw new Br(`Promise`)}function Ia(e,t,n){return j(e,t,n.a[0]),ni(j(e,t,n.a[1]))}function La(e,t,n){return j(e,t,n.a[0]),ui(j(e,t,n.a[1]))}function Ra(e,t,n){let r=ca(e,n.i,si());ga(e,n.i,31);let i=n.a,a=i.length;if(a)for(let n=0;n<a;n++)j(e,t,i[n]);return r}function za(e,t,n){let r=e.base.refs.get(n.i);if(r)return _a(e,n,n.i,31),r.next(j(e,t,n.f)),O;throw new Br(`Stream`)}function Ba(e,t,n){let r=e.base.refs.get(n.i);if(r)return _a(e,n,n.i,31),r.throw(j(e,t,n.f)),O;throw new Br(`Stream`)}function Va(e,t,n){let r=e.base.refs.get(n.i);if(r)return _a(e,n,n.i,31),r.return(j(e,t,n.f)),O;throw new Br(`Stream`)}function Ha(e,t,n){return j(e,t,n.f),O}function Ua(e,t,n){return j(e,t,n.a[1]),O}function Wa(e,t,n){let r=ca(e,n.i,$r([],n.s,n.l));for(let i=0,a=n.a.length;i<a;i++)r.v[i]=j(e,t,n.a[i]);return r}function j(e,t,n){if(t>e.base.depthLimit)throw new Gr(e.base.depthLimit);switch(t+=1,n.t){case 2:return la(n,Mn,n.s);case 0:return Number(n.s);case 1:return qn(String(n.s));case 3:if(String(n.s).length>Qi)throw new Wr(n);return BigInt(n.s);case 4:return e.base.refs.get(n.i);case 18:return ua(e,n);
12case 9:return da(e,t,n);case 10:case 11:return ya(e,t,n);case 5:return ba(e,n);case 6:return xa(e,n);case 7:return Sa(e,t,n);case 8:return Ca(e,t,n);case 19:return wa(e,n);case 16:case 15:return Ta(e,t,n);case 20:return Ea(e,t,n);case 14:return Oa(e,t,n);case 13:return ka(e,t,n);case 12:return Aa(e,t,n);case 17:return la(n,jn,n.s);case 21:return ja(e,t,n);case 25:return Ma(e,t,n);case 22:return Na(e,n);case 23:return Pa(e,t,n);case 24:return Fa(e,t,n);case 28:return Ia(e,t,n);case 30:return La(e,t,n);case 31:return Ra(e,t,n);case 32:return za(e,t,n);case 33:return Ba(e,t,n);case 34:return Va(e,t,n);case 27:return Ha(e,t,n);case 29:return Ua(e,t,n);case 35:return Wa(e,t,n);default:throw new Rr(n)}}function Ga(e,t){try{return j(e,0,t)}catch(e){throw new Fr(e)}}var Ka=(()=>T).toString();/=>/.test(Ka);function qa(e,t){return Ga(ra({plugins:Yi(t.plugins),refs:t.refs,features:t.features,disabledFeatures:t.disabledFeatures,depthLimit:t.depthLimit}),e)}async function Ja(e,t={}){let n=wi(1,{plugins:Yi(t.plugins),disabledFeatures:t.disabledFeatures});return{t:await Gi(n,e),f:n.base.features,m:Array.from(n.base.marked)}}function Ya(e){return e}function Xa(e){return qi({tag:`$TSR/t/`+e.key,test:e.test,parse:{sync(t,n,r){return{v:n.parse(e.toSerializable(t))}},async async(t,n,r){return{v:await n.parse(e.toSerializable(t))}},stream(t,n,r){return{v:n.parse(e.toSerializable(t))}}},serialize:void 0,deserialize(t,n,r){return e.fromSerializable(n.deserialize(t.v))}})}var Za=class{constructor(e,t){this.stream=e,this.hint=t?.hint??`binary`}},Qa=globalThis.Buffer,$a=!!Qa&&typeof Qa.from==`function`;function eo(e){if(e.length===0)return``;if($a)return Qa.from(e).toString(`base64`);let t=32768,n=[];for(let r=0;r<e.length;r+=t){let i=e.subarray(r,r+t);n.push(String.fromCharCode.apply(null,i))}return btoa(n.join(``))}function to(e){if(e.length===0)return new Uint8Array;
12if($a){let t=Qa.from(e,`base64`);return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var no=Object.create(null),ro=Object.create(null),io=e=>new ReadableStream({start(t){e.on({next(e){try{t.enqueue(to(e))}catch{}},throw(e){t.error(e)},return(){try{t.close()}catch{}}})}}),ao=new TextEncoder,oo=e=>new ReadableStream({start(t){e.on({next(e){try{typeof e==`string`?t.enqueue(ao.encode(e)):t.enqueue(to(e.$b64))}catch{}},throw(e){t.error(e)},return(){try{t.close()}catch{}}})}}),so=`(s=>new ReadableStream({start(c){s.on({next(b){try{const d=atob(b),a=new Uint8Array(d.length);for(let i=0;i<d.length;i++)a[i]=d.charCodeAt(i);c.enqueue(a)}catch(_){}},throw(e){c.error(e)},return(){try{c.close()}catch(_){}}})}}))`,co=`(s=>{const e=new TextEncoder();return new ReadableStream({start(c){s.on({next(v){try{if(typeof v==='string'){c.enqueue(e.encode(v))}else{const d=atob(v.$b64),a=new Uint8Array(d.length);for(let i=0;i<d.length;i++)a[i]=d.charCodeAt(i);c.enqueue(a)}}catch(_){}},throw(x){c.error(x)},return(){try{c.close()}catch(_){}}})}})})`;function lo(e){let t=si(),n=e.getReader();return(async()=>{try{for(;;){let{done:e,value:r}=await n.read();if(e){t.return(void 0);break}t.next(eo(r))}}catch(e){t.throw(e)}finally{n.releaseLock()}})(),t}function uo(e){let t=si(),n=e.getReader(),r=new TextDecoder(`utf-8`,{fatal:!0});return(async()=>{try{for(;;){let{done:e,value:i}=await n.read();if(e){try{let e=r.decode();e.length>0&&t.next(e)}catch{}t.return(void 0);break}try{let e=r.decode(i,{stream:!0});e.length>0&&t.next(e)}catch{t.next({$b64:eo(i)})}}}catch(e){t.throw(e)}finally{n.releaseLock()}})(),t}var fo=qi({tag:`tss/RawStream`,extends:[qi({tag:`tss/RawStreamFactory`,test(e){return e===no},parse:{sync(e,t,n){return{}},async async(e,t,n){return{}},stream(e,t,n){return{}}},serialize(e,t,n){return so},deserialize(e,t,n){return no}}),qi({tag:`tss/RawStreamFactoryText`,test(e){return e===ro},parse:{sync(e,t,n){return{}},async async(e,t,n){return{}},stream(e,t,n){return{}}},serialize(e,t,n){return co},deserialize(e,t,n){return ro}})],test(e){return e instanceof Za},parse:{sync(e,t,n){let r=e.hint===`text`?ro:no;return{hint:t.parse(e.hint),factory:t.parse(r),stream:t.parse(si())}},async async(e,t,n){let r=e.hint===`text`?ro:no,i=e.hint===`text`?uo(e.stream):lo(e.stream);return{hint:await t.parse(e.hint),factory:await t.parse(r),stream:await t.parse(i)}},stream(e,t,n){let r=e.hint===`text`?ro:no,i=e.hint===`text`?uo(e.stream):lo(e.stream);return{hint:t.parse(e.hint),factory:t.parse(r),stream:t.parse(i)}}},serialize(e,t,n){return`(`+t.serialize(e.factory)+`)(`+t.serialize(e.stream)+`)`},deserialize(e,t,n){let r=t.deserialize(e.stream);return t.deserialize(e.hint)===`text`?oo(r):io(r)}});function po(e){return qi({tag:`tss/RawStream`,test:()=>!1,parse:{},serialize(){throw Error(`RawStreamDeserializePlugin.serialize should not be called. Client only deserializes.`)},deserialize(t,n,r){return e(typeof n?.deserialize==`function`?n.deserialize(t.streamId):t.streamId)}})}var mo=qi({tag:`$TSR/Error`,test(e){return e instanceof Error},parse:{sync(e,t){return{message:t.parse(e.message)}},async async(e,t){return{message:await t.parse(e.message)}},stream(e,t){return{message:t.parse(e.message)}}},serialize(e,t){return`new Error(`+t.serialize(e.message)+`)`},deserialize(e,t){return Error(t.deserialize(e.message))}}),ho={},go=e=>new ReadableStream({start:t=>{e.on({next:e=>{try{t.enqueue(e)}catch{}},throw:e=>{t.error(e)},return:()=>{try{t.close()}catch{}}})}}),_o=qi({tag:`seroval-plugins/web/ReadableStreamFactory`,test(e){return e===ho},parse:{sync(){return ho},async async(){return await Promise.resolve(ho)},stream(){return ho}},serialize(){return go.toString()},deserialize(){return ho}});function vo(e){let t=si(),n=e.getReader();async function r(){try{let e=await n.read();e.done?t.return(e.value):(t.next(e.value),await r())}catch(e){t.throw(e)}}return r().catch(()=>{}),t}var yo=[mo,fo,qi({tag:`seroval/plugins/web/ReadableStream`,extends:[_o],test(e){return typeof ReadableStream>`u`?!1:e instanceof ReadableStream}
12,parse:{sync(e,t){return{factory:t.parse(ho),stream:t.parse(si())}},async async(e,t){return{factory:await t.parse(ho),stream:await t.parse(vo(e))}},stream(e,t){return{factory:t.parse(ho),stream:t.parse(vo(e))}}},serialize(e,t){return`(`+t.serialize(e.factory)+`)(`+t.serialize(e.stream)+`)`},deserialize(e,t){return go(t.deserialize(e.stream))}})];function bo(){return[...(Be()?.serializationAdapters)?.map(Xa)??[],...yo]}var xo=new TextDecoder,So=new Uint8Array,M=16*1024*1024,N=32*1024*1024,Co=1024,wo=1e5;function To(e){let t=new Map,n=new Map,r=new Set,i=!1,a=null,o=0,s,c=new ReadableStream({start(e){s=e},cancel(){i=!0;try{a?.cancel()}catch{}t.forEach(e=>{try{e.error(Error(`Framed response cancelled`))}catch{}}),t.clear(),n.clear(),r.clear()}});function l(e){let i=n.get(e);if(i)return i;if(r.has(e))return new ReadableStream({start(e){e.close()}});if(n.size>=Co)throw Error(`Too many raw streams in framed response (max ${Co})`);let a=new ReadableStream({start(n){t.set(e,n)},cancel(){r.add(e),t.delete(e),n.delete(e)}});return n.set(e,a),a}function u(e){return l(e),t.get(e)}return(async()=>{let n=e.getReader();a=n;let c=[],l=0;function d(){if(l<9)return null;let e=c[0];if(e.length>=9)return{type:e[0],streamId:(e[1]<<24|e[2]<<16|e[3]<<8|e[4])>>>0,length:(e[5]<<24|e[6]<<16|e[7]<<8|e[8])>>>0};let t=new Uint8Array(9),n=0,r=9;for(let e=0;e<c.length&&r>0;e++){let i=c[e],a=Math.min(i.length,r);t.set(i.subarray(0,a),n),n+=a,r-=a}return{type:t[0],streamId:(t[1]<<24|t[2]<<16|t[3]<<8|t[4])>>>0,length:(t[5]<<24|t[6]<<16|t[7]<<8|t[8])>>>0}}function f(e){if(e===0)return So;let t=new Uint8Array(e),n=0,r=e;for(;r>0&&c.length>0;){let e=c[0];if(!e)break;let i=Math.min(e.length,r);t.set(e.subarray(0,i),n),n+=i,r-=i,i===e.length?c.shift():c[0]=e.subarray(i)}return l-=e,t}try{for(;;){let{done:e,value:a}=await n.read();if(i||e)break;if(a){if(l+a.length>N)throw Error(`Framed response buffer exceeded ${N} bytes`);for(c.push(a),l+=a.length;;){let e=d();if(!e)break;let{type:n,streamId:i,length:a}=e;if(n!==Ie.JSON&&n!==Ie.CHUNK&&n!==Ie.END&&n!==Ie.ERROR)throw Error(`Unknown frame type: ${n}`);if(n===Ie.JSON){if(i!==0)throw Error(`Invalid JSON frame streamId (expected 0)`)}else if(i===0)throw Error(`Invalid raw frame streamId (expected non-zero)`);if(a>M)throw Error(`Frame payload too large: ${a} bytes (max ${M})`);let c=9+a;if(l<c)break;if(++o>wo)throw Error(`Too many frames in framed response (max ${wo})`);f(9);let p=f(a);switch(n){case Ie.JSON:try{s.enqueue(xo.decode(p))}catch{}break;case Ie.CHUNK:{let e=u(i);e&&e.enqueue(p);break}case Ie.END:{let e=u(i);if(r.add(i),e){try{e.close()}catch{}t.delete(i)}break}case Ie.ERROR:{let e=u(i);if(r.add(i),e){let n=xo.decode(p);e.error(Error(n)),t.delete(i)}break}}}}}if(l!==0)throw Error(`Incomplete frame at end of framed response`);try{s.close()}catch{}t.forEach(e=>{try{e.close()}catch{}}),t.clear()}catch(e){try{s.error(e)}catch{}t.forEach(t=>{try{t.error(e)}catch{}}),t.clear()}finally{try{n.releaseLock()}catch{}a=null}})(),{getOrCreateStream:l,jsonChunks:c}}var Eo=null;async function Do(e){e.length>0&&await Promise.allSettled(e)}var Oo=Object.prototype.hasOwnProperty;function ko(e){for(let t in e)if(Oo.call(e,t))return!0;return!1}async function Ao(e,t,n){Eo||=bo();let r=t[0],i=r.fetch??n,a=r.data instanceof FormData?`formData`:`payload`,o=r.headers?new Headers(r.headers):new Headers;if(o.set(`x-tsr-serverFn`,`true`),a===`payload`&&o.set(`accept`,`${Fe}, application/x-ndjson, application/json`),r.method===`GET`){if(a===`formData`)throw Error(`FormData is not supported with GET requests`);let t=await jo(r);if(t!==void 0){let n=Ve({payload:t});e.includes(`?`)?e+=`&${n}`:e+=`?${n}`}}let s;if(r.method===`POST`){let e=await No(r);e?.contentType&&o.set(`content-type`,e.contentType),s=e?.body}return await Po(async()=>i(e,{method:r.method,headers:o,signal:r.signal,body:s}))}async function jo(e){let t=!1,n={};if(e.data!==void 0&&(t=!0,n.data=e.data),e.context&&ko(e.context)&&(t=!0,n.context=e.context),t)return Mo(n)}async function Mo(e){return JSON.stringify(await Promise.resolve(Ja(e,{plugins:Eo})))}async function No(e){if(e.data instanceof FormData){let t;return e.context&&ko(e.context)&&(t=await Mo(e.context)),t!==void 0&&e.data.set(Me,t),{body:e.data}}let t=await jo(e);if(t)return{body:t,contentType:`application/json`}}async function Po(e){let t;try{t=await e()}catch(e){if(e instanceof Response)t=e;else throw console.log(e),e}if(t.headers.get(`x-tss-raw`)===`true`)return t;let n=t.headers.get(`content-type`);if(n||_(),t.headers.get(`x-tss-serialized`)){let e;if(n.includes(`application/x-tss-framed`)){if(ze(n),!t.body)throw Error(`No response body for framed response`);
12let{getOrCreateStream:r,jsonChunks:i}=To(t.body),a=[po(r),...Eo||[]],o=new Map;e=await Fo({jsonStream:i,onMessage:e=>qa(e,{refs:o,plugins:a}),onError(e,t){console.error(e,t)}})}else if(n.includes(`application/json`)){let n=await t.json(),r=[];try{e=qa(n,{plugins:Eo})}finally{}await Do(r)}if(e||_(),e instanceof Error)throw e;return e}if(n.includes(`application/json`)){let e=await t.json(),n=xe(e);if(n)throw n;if(Te(e))throw e;return e}if(!t.ok)throw Error(await t.text());return t}async function Fo({jsonStream:e,onMessage:t,onError:n}){let r=e.getReader(),{value:i,done:a}=await r.read();if(a||!i)throw Error(`Stream ended before first object`);let o=JSON.parse(i),s=!1,c=(async()=>{try{for(;;){let{value:e,done:i}=await r.read();if(i)break;if(e)try{let n=[];try{t(JSON.parse(e))}finally{}await Do(n)}catch(t){n?.(`Invalid JSON: ${e}`,t)}}}catch(e){s||n?.(`Stream processing error:`,e)}})(),l,u=[];try{l=t(o)}catch(e){throw s=!0,r.cancel().catch(()=>{}),e}return await Do(u),Promise.resolve(l).catch(()=>{s=!0,r.cancel().catch(()=>{})}),c.finally(()=>{try{r.releaseLock()}catch{}}),l}function Io(e){let t=`/_serverFn/`+e;return Object.assign((...e)=>{let n=Be()?.serverFns?.fetch;return Ao(t,e,n??fetch)},{url:t,serverFnMeta:{id:e},[Ne]:!0})}var Lo=Ya({key:`$TSS/serverfn`,test:e=>typeof e!=`function`||!(Ne in e)?!1:!!e[Ne],toSerializable:({serverFnMeta:e})=>({functionId:e.id}),fromSerializable:({functionId:e})=>Io(e)});function Ro(e){if(Array.isArray(e))return e.flatMap(e=>Ro(e));if(typeof e!=`string`)return[];let t=[],n=0,r,i,a,o,s,c=()=>{for(;n<e.length&&/\s/.test(e.charAt(n));)n+=1;return n<e.length},l=()=>(i=e.charAt(n),i!==`=`&&i!==`;`&&i!==`,`);for(;n<e.length;){for(r=n,s=!1;c();)if(i=e.charAt(n),i===`,`){for(a=n,n+=1,c(),o=n;n<e.length&&l();)n+=1;n<e.length&&e.charAt(n)===`=`?(s=!0,n=o,t.push(e.slice(r,a)),r=n):n=a+1}else n+=1;(!s||n>=e.length)&&t.push(e.slice(r))}return t}function zo(e){return e instanceof Headers?e:Array.isArray(e)||typeof e==`object`?new Headers(e):null}function Bo(...e){return e.reduce((e,t)=>{let n=zo(t);if(!n)return e;for(let[t,r]of n.entries())t===`set-cookie`?Ro(r).forEach(t=>e.append(`set-cookie`,t)):e.set(t,r);return e},new Headers)}function Vo(e){return e.replaceAll(`\0`,`/`).replaceAll(`�`,`/`)}function Ho(e,t){e.id=t.i,e.__beforeLoadContext=t.b,e.loaderData=t.l,e.status=t.s,e.ssr=t.ssr,e.updatedAt=t.u,e.error=t.e,t.g!==void 0&&(e.globalNotFound=t.g)}async function Uo(e){window.$_TSR||_();let t=e.options.serializationAdapters;if(t?.length){let e=new Map;t.forEach(t=>{e.set(t.key,t.fromSerializable)}),window.$_TSR.t=e,window.$_TSR.buffer.forEach(e=>e())}window.$_TSR.initialized=!0,window.$_TSR.router||_();let n=window.$_TSR.router;n.matches.forEach(e=>{e.i=Vo(e.i)}),n.lastMatchId&&=Vo(n.lastMatchId);let{manifest:r,dehydratedData:i,lastMatchId:a}=n;e.ssr={manifest:r};let o=document.querySelector(`meta[property="csp-nonce"]`)?.content;e.options.ssr={nonce:o},await e.options.hydrate?.(i);let s=e.matchRoutes(e.stores.location.get()),c=Promise.all(s.map(t=>e.loadRouteChunk(e.looseRoutesById[t.routeId])));function l(t){let n=e.looseRoutesById[t.routeId].options.pendingMinMs??e.options.defaultPendingMinMs;if(n){let r=ce();t._nonReactive.minPendingPromise=r,t._forcePending=!0,setTimeout(()=>{r.resolve(),e.updateMatch(t.id,e=>(e._nonReactive.minPendingPromise=void 0,{...e,_forcePending:void 0}))},n)}}function u(t){let n=e.looseRoutesById[t.routeId];n&&(n.options.ssr=t.ssr)}let d;s.forEach(e=>{let t=n.matches.find(t=>t.i===e.id);if(!t){e._nonReactive.dehydrated=!1,e.ssr=!1,u(e);return}Ho(e,t),u(e),e._nonReactive.dehydrated=e.ssr!==!1,(e.ssr===`data-only`||e.ssr===!1)&&d===void 0&&(d=e.index,l(e))}),e.stores.setMatches(s);let f=e.stores.matches.get(),p=e.stores.location.get();await Promise.all(f.map(async t=>{try{let n=e.looseRoutesById[t.routeId],r=f[t.index-1]?.context??e.options.context;if(n.options.context){let i={deps:t.loaderDeps,params:t.params,context:r??{},location:p,navigate:t=>e.navigate({...t,_fromLocation:p}),buildLocation:e.buildLocation,cause:t.cause,abortController:t.abortController,preload:!1,matches:s,routeId:n.id};
12t.__routeContext=n.options.context(i)??void 0}t.context={...r,...t.__routeContext,...t.__beforeLoadContext};let i={ssr:e.options.ssr,matches:f,match:t,params:t.params,loaderData:t.loaderData},a=await n.options.head?.(i),o=await n.options.scripts?.(i);t.meta=a?.meta,t.links=a?.links,t.headScripts=a?.scripts,t.styles=a?.styles,t.scripts=o}catch(e){if(Te(e))t.error={isNotFound:!0},console.error(`NotFound error during hydration for routeId: ${t.routeId}`,e);else throw t.error=e,console.error(`Error during hydration for route ${t.routeId}:`,e),e}}));let m=s[s.length-1].id!==a;if(!s.some(e=>e.ssr===!1)&&!m)return s.forEach(e=>{e._nonReactive.dehydrated=void 0}),e.stores.resolvedLocation.set(e.stores.location.get()),c;let h=Promise.resolve().then(()=>e.load()).catch(e=>{console.error(`Error during router hydration:`,e)});if(m){let t=s[1];t||_(),l(t),t._displayPending=!0,t._nonReactive.displayPendingPromise=h,h.then(()=>{e.batch(()=>{e.stores.status.get()===`pending`&&(e.stores.status.set(`idle`),e.stores.resolvedLocation.set(e.stores.location.get())),e.updateMatch(t.id,e=>({...e,_displayPending:void 0,displayPendingPromise:void 0}))})})}return c}var P=e(r(),1),F=i();function Wo({promise:e}){if(w)return w(e);let t=sn(e);if(t[on].status===`pending`)throw t;if(t[on].status===`error`)throw t[on].error;return t[on].data}function Go(e){let t=(0,F.jsx)(Ko,{...e});return e.fallback?(0,F.jsx)(P.Suspense,{fallback:e.fallback,children:t}):t}function Ko(e){let t=Wo(e);return e.children(t)}function qo(e){let t=e.errorComponent??Yo;return(0,F.jsx)(Jo,{getResetKey:e.getResetKey,onCatch:e.onCatch,children:({error:n,reset:r})=>n?P.createElement(t,{error:n,reset:r}):e.children})}var Jo=class extends P.Component{constructor(...e){super(...e),this.state={error:null}}static getDerivedStateFromProps(e,t){let n=e.getResetKey();return t.error&&t.resetKey!==n?{resetKey:n,error:null}:{resetKey:n}}static getDerivedStateFromError(e){return{error:e}}reset(){this.setState({error:null})}componentDidCatch(e,t){this.props.onCatch&&this.props.onCatch(e,t)}render(){return this.props.children({error:this.state.error,reset:()=>{this.reset()}})}};function Yo({error:e}){let[t,n]=P.useState(!1);return(0,F.jsxs)(`div`,{style:{padding:`.5rem`,maxWidth:`100%`},children:[(0,F.jsxs)(`div`,{style:{display:`flex`,alignItems:`center`,gap:`.5rem`},children:[(0,F.jsx)(`strong`,{style:{fontSize:`1rem`},children:`Something went wrong!`}),(0,F.jsx)(`button`,{style:{appearance:`none`,fontSize:`.6em`,border:`1px solid currentColor`,padding:`.1rem .2rem`,fontWeight:`bold`,borderRadius:`.25rem`},onClick:()=>n(e=>!e),children:t?`Hide Error`:`Show Error`})]}),(0,F.jsx)(`div`,{style:{height:`.25rem`}}),t?(0,F.jsx)(`div`,{children:(0,F.jsx)(`pre`,{style:{fontSize:`.7em`,border:`1px solid red`,borderRadius:`.25rem`,padding:`.3rem`,color:`red`,overflow:`auto`},children:e.message?(0,F.jsx)(`code`,{children:e.message}):null})}):null]})}var Xo=(e=>(e[e.None=0]=`None`,e[e.Mutable=1]=`Mutable`,e[e.Watching=2]=`Watching`,e[e.RecursedCheck=4]=`RecursedCheck`,e[e.Recursed=8]=`Recursed`,e[e.Dirty=16]=`Dirty`,e[e.Pending=32]=`Pending`,e))(Xo||{});function Zo({update:e,notify:t,unwatched:n}){return{link:r,unlink:i,propagate:a,checkDirty:o,shallowPropagate:s};function r(e,t,n){let r=t.depsTail;if(r!==void 0&&r.dep===e)return;let i=r===void 0?t.deps:r.nextDep;if(i!==void 0&&i.dep===e){i.version=n,t.depsTail=i;return}let a=e.subsTail;if(a!==void 0&&a.version===n&&a.sub===t)return;let o=t.depsTail=e.subsTail={version:n,dep:e,sub:t,prevDep:r,nextDep:i,prevSub:a,nextSub:void 0};i!==void 0&&(i.prevDep=o),r===void 0?t.deps=o:r.nextDep=o,a===void 0?e.subs=o:a.nextSub=o}function i(e,t=e.sub){let r=e.dep,i=e.prevDep,a=e.nextDep,o=e.nextSub,s=e.prevSub;return a===void 0?t.depsTail=i:a.prevDep=i,i===void 0?t.deps=a:i.nextDep=a,o===void 0?r.subsTail=s:o.prevSub=s,s===void 0?(r.subs=o)===void 0&&n(r):s.nextSub=o,a}function a(e){let n=e.nextSub,r;top:do{let i=e.sub,a=i.flags;if(a&60?a&12?a&4?!(a&48)&&c(e,i)?(i.flags=a|40,a&=1):a=0:i.flags=a&-9|32:a=0:i.flags=a|32,a&2&&t(i),a&1){let t=i.subs;if(t!==void 0){let i=(e=t).nextSub;i!==void 0&&(r={value:n,prev:r},n=i);continue}}if((e=n)!==void 0){n=e.nextSub;continue}for(;r!==void 0;)if(e=r.value,r=r.prev,e!==void 0){n=e.nextSub;continue top}break}while(!0)}function o(t,n){let r,i=0,a=!1;top:do{let o=t.dep,c=o.flags;if(n.flags&16)a=!0;else if((c&17)==17){if(e(o)){let e=o.subs;e.nextSub!==void 0&&s(e),a=!0}}else if((c&33)==33){(t.nextSub!==void 0||t.prevSub!==void 0)&&(r={value:t,prev:r}),t=o.deps,n=o,++i;continue}if(!a){let e=t.nextDep;if(e!==void 0){t=e;continue}}for(;i--;){let i=n.subs,o=i.nextSub!==void 0;if(o?(t=r.value,r=r.prev):t=i,a){if(e(n)){o&&s(i),n=t.sub;continue}a=!1}else n.flags&=-33;n=t.sub;let c=t.nextDep;if(c!==void 0){t=c;continue top}}return a}while(!0)}function s(e){do{let n=e.sub,r=n.flags;(r&48)==32&&(n.flags=r|16,(r&6)==2&&t(n))}while((e=e.nextSub)!==void 0)}function c(e,t){let n=t.depsTail;for(;n!==void 0;){if(n===e)return!0;n=n.prevDep}return!1}}
12function Qo(e,t,n){let r=typeof e==`object`,i=r?e:void 0;return{next:(r?e.next:e)?.bind(i),error:(r?e.error:t)?.bind(i),complete:(r?e.complete:n)?.bind(i)}}var $o=[],es=0,{link:ts,unlink:ns,propagate:rs,checkDirty:is,shallowPropagate:as}=Zo({update(e){return e._update()},notify(e){$o[ss++]=e,e.flags&=~Xo.Watching},unwatched(e){e.depsTail!==void 0&&(e.depsTail=void 0,e.flags=Xo.Mutable|Xo.Dirty,ds(e))}}),os=0,ss=0,cs,ls=0;function us(e){try{++ls,e()}finally{--ls||fs()}}function ds(e){let t=e.depsTail,n=t===void 0?e.deps:t.nextDep;for(;n!==void 0;)n=ns(n,e)}function fs(){if(!(ls>0)){for(;os<ss;){let e=$o[os];$o[os++]=void 0,e.notify()}os=0,ss=0}}function ps(e,t){let n=typeof e==`function`,r=e,i={_snapshot:n?void 0:e,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:n?Xo.None:Xo.Mutable,get(){return cs!==void 0&&ts(i,cs,es),i._snapshot},subscribe(e){let t=Qo(e),n={current:!1},r=ms(()=>{i.get(),n.current?t.next?.(i._snapshot):n.current=!0});return{unsubscribe:()=>{r.stop()}}},_update(e){let a=cs,o=t?.compare??Object.is;if(n)cs=i,++es,i.depsTail=void 0;else if(e===void 0)return!1;n&&(i.flags=Xo.Mutable|Xo.RecursedCheck);try{let t=i._snapshot,a=typeof e==`function`?e(t):e===void 0&&n?r(t):e;return t===void 0||!o(t,a)?(i._snapshot=a,!0):!1}finally{cs=a,n&&(i.flags&=~Xo.RecursedCheck),ds(i)}}};return n?(i.flags=Xo.Mutable|Xo.Dirty,i.get=function(){let e=i.flags;if(e&Xo.Dirty||e&Xo.Pending&&is(i.deps,i)){if(i._update()){let e=i.subs;e!==void 0&&as(e)}}else e&Xo.Pending&&(i.flags=e&~Xo.Pending);return cs!==void 0&&ts(i,cs,es),i._snapshot}):i.set=function(e){if(i._update(e)){let e=i.subs;e!==void 0&&(rs(e),as(e),fs())}},i}function ms(e){let t=()=>{let t=cs;cs=n,++es,n.depsTail=void 0,n.flags=Xo.Watching|Xo.RecursedCheck;try{return e()}finally{cs=t,n.flags&=~Xo.RecursedCheck,ds(n)}},n={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:Xo.Watching|Xo.RecursedCheck,notify(){let e=this.flags;e&Xo.Dirty||e&Xo.Pending&&is(this.deps,this)?t():this.flags=Xo.Watching},stop(){this.flags=Xo.None,this.depsTail=void 0,ds(this)}};return t(),n}var hs={get:()=>void 0,subscribe:()=>({unsubscribe:()=>{}})};function gs(e){let t=C(),n=P.useContext(e.from?Ee:Se),r=e.from??n,i=r?e.from?t.stores.getRouteMatchStore(r):t.stores.matchStores.get(r):void 0,a=P.useRef(void 0);return pe(i??hs,n=>{if((e.shouldThrow??!0)&&!n&&_(),n===void 0)return;let r=e.select?e.select(n):n;if(e.structuralSharing??t.options.defaultStructuralSharing){let e=ee(a.current,r);return a.current=e,e}return r})}function _s(e){return gs({from:e.from,strict:e.strict,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.loaderData):t.loaderData})}function vs(e){let{select:t,...n}=e;return gs({...n,select:e=>t?t(e.loaderDeps):e.loaderDeps})}function ys(e){return gs({from:e.from,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,strict:e.strict,select:t=>{let n=e.strict===!1?t.params:t._strictParams;return e.select?e.select(n):n}})}function bs(e){return gs({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}function xs(e){let t=C();return P.useCallback(n=>t.navigate({...n,from:n.from??e?.from}),[e?.from,t])}function Ss(e){return gs({...e,select:t=>e.select?e.select(t.context):t.context})}var Cs=class extends mn{constructor(e){super(e),this.useMatch=e=>gs({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>Ss({...e,from:this.id}),this.useSearch=e=>bs({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>ys({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>vs({...e,from:this.id}),this.useLoaderData=e=>_s({...e,from:this.id}),this.useNavigate=()=>xs({from:this.fullPath}),this.Link=P.forwardRef((e,t)=>(0,F.jsx)(De,{ref:t,from:this.fullPath,...e}))}};function ws(e){return new Cs(e)}var Ts=class extends hn{constructor(e){super(e),this.useMatch=e=>gs({select:e?.select,from:this.id,structuralSharing:e?.structuralSharing}),this.useRouteContext=e=>Ss({...e,from:this.id}),this.useSearch=e=>bs({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useParams=e=>ys({select:e?.select,structuralSharing:e?.structuralSharing,from:this.id}),this.useLoaderDeps=e=>vs({...e,from:this.id}),this.useLoaderData=e=>_s({...e,from:this.id}),this.useNavigate=()=>xs({from:this.fullPath}),this.Link=P.forwardRef((e,t)=>
12(0,F.jsx)(De,{ref:t,from:this.fullPath,...e}))}};function Es(e){return new Ts(e)}function I(e){return new Ds(e,{silent:!0}).createRoute}var Ds=class{constructor(e,t){this.path=e,this.createRoute=e=>{let t=ws(e);return t.isRoot=!1,t},this.silent=t?.silent}};function L(e,t){let n,r,i,a,o=()=>(n||=e().then(e=>{n=void 0,r=e[t??`default`]}).catch(e=>{if(i=e,ve(i)&&i instanceof Error&&typeof window<`u`&&typeof sessionStorage<`u`){let e=`tanstack_router_reload:${i.message}`;sessionStorage.getItem(e)||(sessionStorage.setItem(e,`1`),a=!0)}}),n),s=function(e){if(a)throw window.location.reload(),new Promise(()=>{});if(i)throw i;if(!r)if(w)w(o());else throw o();return P.createElement(r,e)};return s.preload=o,s}function Os(e){let t=C(),n=`not-found-${pe(t.stores.location,e=>e.pathname)}-${pe(t.stores.status,e=>e)}`;return(0,F.jsx)(qo,{getResetKey:()=>n,onCatch:(t,n)=>{if(Te(t))e.onCatch?.(t,n);else throw t},errorComponent:({error:t})=>{if(Te(t))return e.fallback?.(t);throw t},children:e.children})}function ks(){return(0,F.jsx)(`p`,{children:`Not Found`})}function As(e){return(0,F.jsx)(F.Fragment,{children:e.children})}function js(e,t,n){return t.options.notFoundComponent?(0,F.jsx)(t.options.notFoundComponent,{...n}):e.options.defaultNotFoundComponent?(0,F.jsx)(e.options.defaultNotFoundComponent,{...n}):(0,F.jsx)(ks,{})}var Ms=P.memo(function({matchId:e}){let t=C(),n=t.stores.matchStores.get(e);n||_();let r=pe(t.stores.loadedAt,e=>e),i=pe(n,e=>e);return(0,F.jsx)(Ns,{router:t,matchId:e,resetKey:r,matchState:P.useMemo(()=>{let e=i.routeId,n=t.routesById[e].parentRoute?.id;return{routeId:e,ssr:i.ssr,_displayPending:i._displayPending,parentRouteId:n}},[i._displayPending,i.routeId,i.ssr,t.routesById])})});function Ns({router:e,matchId:t,resetKey:n,matchState:r}){let i=e.routesById[r.routeId],a=i.options.pendingComponent??e.options.defaultPendingComponent,o=a?(0,F.jsx)(a,{}):null,s=i.options.errorComponent??e.options.defaultErrorComponent,c=i.options.onCatch??e.options.defaultOnCatch,l=i.isRoot?i.options.notFoundComponent??e.options.notFoundRoute?.options.component:i.options.notFoundComponent,u=r.ssr===!1||r.ssr===`data-only`,d=(!i.isRoot||i.options.wrapInSuspense||u)&&(i.options.wrapInSuspense??a??(i.options.errorComponent?.preload||u))?P.Suspense:As,f=s?qo:As,p=l?Os:As;return(0,F.jsxs)(i.isRoot?i.options.shellComponent??As:As,{children:[(0,F.jsx)(Se.Provider,{value:t,children:(0,F.jsx)(d,{fallback:o,children:(0,F.jsx)(f,{getResetKey:()=>n,errorComponent:s||Yo,onCatch:(e,t)=>{if(Te(e))throw e.routeId??=r.routeId,e;c?.(e,t)},children:(0,F.jsx)(p,{fallback:e=>{if(e.routeId??=r.routeId,!l||e.routeId&&e.routeId!==r.routeId||!e.routeId&&!i.isRoot)throw e;return P.createElement(l,e)},children:u||r._displayPending?(0,F.jsx)(se,{fallback:o,children:(0,F.jsx)(Fs,{matchId:t})}):(0,F.jsx)(Fs,{matchId:t})})})})}),r.parentRouteId===`__root__`?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(Ps,{resetKey:n}),(e.options.scrollRestoration,null)]}):null]})}function Ps({resetKey:e}){let t=C(),n=P.useRef(void 0);return ue(()=>{let e=t.latestLocation.href;(n.current===void 0||n.current!==e)&&(t.emit({type:`onRendered`,...Nt(t.stores.location.get(),t.stores.resolvedLocation.get())}),n.current=e)},[t.latestLocation.state.__TSR_key,e,t]),null}var Fs=P.memo(function({matchId:e}){let t=C(),n=(e,n)=>t.getMatch(e.id)?._nonReactive[n]??e._nonReactive[n],r=t.stores.matchStores.get(e);r||_();let i=pe(r,e=>e),a=i.routeId,o=t.routesById[a],s=P.useMemo(()=>{let e=(t.routesById[a].options.remountDeps??t.options.defaultRemountDeps)?.({routeId:a,loaderDeps:i.loaderDeps,params:i._strictParams,search:i._strictSearch});return e?JSON.stringify(e):void 0},[a,i.loaderDeps,i._strictParams,i._strictSearch,t.options.defaultRemountDeps,t.routesById]),c=P.useMemo(()=>{let e=o.options.component??t.options.defaultComponent;return e?(0,F.jsx)(e,{},s):(0,F.jsx)(Is,{})},[s,o.options.component,t.options.defaultComponent]);if(i._displayPending)throw n(i,`displayPendingPromise`);if(i._forcePending)throw n(i,`minPendingPromise`);if(i.status===`pending`){let e=o.options.pendingMinMs??t.options.defaultPendingMinMs;if(e){let n=t.getMatch(i.id);if(n&&!n._nonReactive.minPendingPromise){let t=ce();n._nonReactive.minPendingPromise=t,setTimeout(()=>{t.resolve(),n._nonReactive.minPendingPromise=void 0},e)}}throw n(i,`loadPromise`)}if(i.status===`notFound`)return Te(i.error)||_(),js(t,o,i.error);if(i.status===`redirected`)throw we(i.error)||_(),n(i,`loadPromise`);if(i.status===`error`)throw i.error;return c}),Is=P.memo(function(){let e=C(),t=P.useContext(Se),n,r=!1,i;{let a=t?e.stores.matchStores.get(t):void 0;[n,r]=pe(a,e=>[e?.routeId,e?.globalNotFound??!1]),i=pe(e.stores.matchesId,e=>e[e.findIndex(e=>e===t)+1])}let a=n?e.routesById[n]:void 0,o=e.options.defaultPendingComponent?(0,F.jsx)(e.options.defaultPendingComponent,{}):null;
12if(r)return a||_(),js(e,a,void 0);if(!i)return null;let s=(0,F.jsx)(Ms,{matchId:i});return n===`__root__`?(0,F.jsx)(P.Suspense,{fallback:o,children:s}):s});function Ls(){let e=C(),t=P.useRef({router:e,mounted:!1}),[n,r]=P.useState(!1),i=pe(e.stores.isLoading,e=>e),a=pe(e.stores.hasPending,e=>e),o=me(i),s=i||n||a,c=me(s),l=i||a,u=me(l);return e.startTransition=e=>{r(!0),P.startTransition(()=>{e(),r(!1)})},P.useEffect(()=>{let t=e.history.subscribe(e.load),n=e.buildLocation({to:e.latestLocation.pathname,search:!0,params:!0,hash:!0,state:!0,_includeValidateSearch:!0});return re(e.latestLocation.publicHref)!==re(n.publicHref)&&e.commitLocation({...n,replace:!0}),()=>{t()}},[e,e.history]),ue(()=>{typeof window<`u`&&e.ssr||t.current.router===e&&t.current.mounted||(t.current={router:e,mounted:!0},(async()=>{try{await e.load()}catch(e){console.error(e)}})())},[e]),ue(()=>{o&&!i&&e.emit({type:`onLoad`,...Nt(e.stores.location.get(),e.stores.resolvedLocation.get())})},[o,e,i]),ue(()=>{u&&!l&&e.emit({type:`onBeforeRouteMount`,...Nt(e.stores.location.get(),e.stores.resolvedLocation.get())})},[l,u,e]),ue(()=>{if(c&&!s){let t=Nt(e.stores.location.get(),e.stores.resolvedLocation.get());e.emit({type:`onResolved`,...t}),us(()=>{e.stores.status.set(`idle`),e.stores.resolvedLocation.set(e.stores.location.get())})}},[s,c,e]),null}function Rs(){let e=C(),t=e.routesById.__root__.options.pendingComponent??e.options.defaultPendingComponent,n=t?(0,F.jsx)(t,{}):null,r=(0,F.jsxs)(typeof document<`u`&&e.ssr?As:P.Suspense,{fallback:n,children:[(0,F.jsx)(Ls,{}),(0,F.jsx)(zs,{})]});return e.options.InnerWrap?(0,F.jsx)(e.options.InnerWrap,{children:r}):r}function zs(){let e=C(),t=pe(e.stores.firstId,e=>e),n=pe(e.stores.loadedAt,e=>e),r=t?(0,F.jsx)(Ms,{matchId:t}):null;return(0,F.jsx)(Se.Provider,{value:t,children:e.options.disableGlobalCatchBoundary?r:(0,F.jsx)(qo,{getResetKey:()=>n,errorComponent:Yo,onCatch:void 0,children:r})})}var Bs=e=>({createMutableStore:ps,createReadonlyStore:ps,batch:us}),Vs=e=>new Hs(e),Hs=class extends Ft{constructor(e){super(e,Bs)}};function Us({router:e,children:t,...n}
12){m(n)&&e.update({...e.options,...n,context:{...e.options.context,...n.context}});let r=(0,F.jsx)(fe.Provider,{value:e,children:t});return e.options.Wrap?(0,F.jsx)(e.options.Wrap,{children:r}):r}function Ws({router:e,...t}){return(0,F.jsx)(Us,{router:e,...t,children:(0,F.jsx)(Rs,{})})}function Gs(e,t){if(t)for(let[n,r]of Object.entries(t))n!==`suppressHydrationWarning`&&r!==void 0&&r!==!1&&e.setAttribute(n,typeof r==`boolean`?``:String(r))}function Ks(e){let{attrs:t,children:n,nonce:r,preventScriptHoist:i}=e;switch(e.tag){case`title`:return(0,F.jsx)(`title`,{...t,suppressHydrationWarning:!0,children:n});case`meta`:return(0,F.jsx)(`meta`,{...t,suppressHydrationWarning:!0});case`link`:return(0,F.jsx)(`link`,{...t,precedence:t?.precedence??(t?.rel===`stylesheet`?`default`:void 0),nonce:r,suppressHydrationWarning:!0});case`style`:return e.inlineCss,(0,F.jsx)(`style`,{...t,dangerouslySetInnerHTML:{__html:n},nonce:r});case`script`:return(0,F.jsx)(qs,{attrs:t,preventScriptHoist:i,children:n});default:return null}}function qs({attrs:e,children:t,preventScriptHoist:n}){C();let r=ne(),i=typeof e?.type==`string`&&e.type!==``&&e.type!==`text/javascript`&&e.type!==`module`;if(P.useEffect(()=>{if(!i){if(e?.src){let t=(()=>{try{let t=document.baseURI||window.location.href;return new URL(e.src,t).href}catch{return e.src}})();for(let e of document.querySelectorAll(`script[src]`))if(e.src===t)return;let n=document.createElement(`script`);return Gs(n,e),document.head.appendChild(n),()=>n.remove()}if(typeof t==`string`){let n=typeof e?.type==`string`?e.type:`text/javascript`,r=typeof e?.nonce==`string`?e.nonce:void 0;for(let e of document.querySelectorAll(`script:not([src])`)){if(!(e instanceof HTMLScriptElement))continue;let i=e.getAttribute(`type`)??`text/javascript`,a=e.getAttribute(`nonce`)??void 0;if(e.textContent===t&&i===n&&a===r)return}let i=document.createElement(`script`);return i.textContent=t,Gs(i,e),document.head.appendChild(i),()=>i.remove()}}},[e,t,i]),i&&typeof t==`string`)return(0,F.jsx)(`script`,{...e,suppressHydrationWarning:!0,dangerouslySetInnerHTML:{__html:t}});if(!r){if(e?.src)return(0,F.jsx)(`script`,{...e,suppressHydrationWarning:!0});if(typeof t==`string`)return(0,F.jsx)(`script`,{...e,dangerouslySetInnerHTML:{__html:t},suppressHydrationWarning:!0})}return null}var Js=e=>{let t=C(),n=t.options.ssr?.nonce,r=pe(t.stores.matches,e=>e.map(e=>e.meta).filter(e=>e!==void 0),g),i=P.useMemo(()=>{let e=[],t={},i;for(let a=r.length-1;a>=0;a--){let o=r[a];for(let r=o.length-1;r>=0;r--){let a=o[r];if(a)if(a.title)i||={tag:`title`,children:a.title};else if(`script:ld+json`in a)try{let t=JSON.stringify(a[`script:ld+json`]);e.push({tag:`script`,attrs:{type:`application/ld+json`},children:d(t)})}catch{}else{let r=a.name??a.property;if(r){if(t[r])continue;t[r]=!0}e.push({tag:`meta`,attrs:{...a,nonce:n}})}}}return i&&e.push(i),n&&e.push({tag:`meta`,attrs:{property:`csp-nonce`,content:n}}),e.reverse(),e},[r,n]),a=pe(t.stores.matches,e=>e.flatMap(e=>e.links??[]).filter(e=>e!==void 0).map(e=>({tag:`link`,attrs:{...e,nonce:n}})),g),o=pe(t.stores.matches,r=>{let i=t.ssr?.manifest,a=[];return i?(r.forEach(t=>{i.routes[t.routeId]?.css?.forEach(t=>{let r=pn(t);a.push({tag:`link`,attrs:{rel:`stylesheet`,...r,crossOrigin:cn(e,`stylesheet`)??r.crossOrigin,suppressHydrationWarning:!0,nonce:n}})})}),i.inlineStyle&&a.push({tag:`style`,attrs:{...i.inlineStyle.attrs,nonce:n},children:i.inlineStyle.children,inlineCss:!0}),a):a},g),s=pe(t.stores.matches,r=>{let i=[],a=t.ssr?.manifest;return a&&r.forEach(t=>{a.routes[t.routeId]?.preloads?.forEach(t=>{i.push({tag:`link`,attrs:{...un(a,t,e),nonce:n}})})}),i},g),c=pe(t.stores.matches,e=>e.flatMap(e=>e.styles??[]).filter(e=>e!==void 0).map(({children:e,...t})=>({tag:`style`,attrs:{...t,nonce:n},children:e})),g),l=pe(t.stores.matches,e=>e.flatMap(e=>e.headScripts??[]).filter(e=>e!==void 0).map(({children:e,...t})=>({tag:`script`,attrs:{...t,nonce:n},children:e})),g),u=[];return fn(u,i),u.push(...s),fn(u,a),u.push(...o),fn(u,c),fn(u,l),u};function Ys(e){let t=Js(e.assetCrossOrigin),n=C().options.ssr?.nonce;return(0,F.jsx)(F.Fragment,{children:t.map(e=>(0,P.createElement)(Ks,{...e,key:`tsr-meta-${JSON.stringify(e)}`,nonce:n}))})}var Xs=()=>{let e=C(),t=e.options.ssr?.nonce,n=n=>{let r=[],i=e.ssr?.manifest;if(!i)return[];for(let e of n){let n=i.routes[e.routeId]?.scripts;if(n)for(let e of n)r.push({tag:`script`,attrs:{...e.attrs,nonce:t},children:e.children,...typeof e.attrs?.src==`string`?{preventScriptHoist:!0}:{}})}return r},r=e=>e.map(e=>
12e.scripts).flat(1).filter(Boolean).map(({children:e,...n})=>({tag:`script`,attrs:{...n,suppressHydrationWarning:!0,nonce:t},children:e})),i=pe(e.stores.matches,n,g);return Zs(e,pe(e.stores.matches,r,g),i)};function Zs(e,t,n){let r=[...t,...n];return(0,F.jsx)(F.Fragment,{children:r.map((e,t)=>(0,P.createElement)(Ks,{...e,key:`tsr-scripts-${e.tag}-${t}`}))})}var Qs=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(){}},$s=new class extends Qs{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},ec={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},tc=new class{#e=ec;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function nc(e){setTimeout(e,0)}var rc=typeof window>`u`||`Deno`in globalThis;function ic(){}function ac(e,t){return typeof e==`function`?e(t):e}function oc(e){return typeof e==`number`&&e>=0&&e!==1/0}function sc(e,t){return Math.max(e+(t||0)-Date.now(),0)}function cc(e,t){return typeof e==`function`?e(t):e}function lc(e,t){return typeof e==`function`?e(t):e}function uc(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==fc(o,t.options))return!1}else if(!mc(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function dc(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(pc(t.options.mutationKey)!==pc(a))return!1}else if(!mc(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function fc(e,t){return(t?.queryKeyHashFn||pc)(e)}function pc(e){return JSON.stringify(e,(e,t)=>yc(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function mc(e,t){return e===t?!0:typeof e==typeof t&&e&&t&&typeof e==`object`&&typeof t==`object`?Object.keys(t).every(n=>mc(e[n],t[n])):!1}var hc=Object.prototype.hasOwnProperty;function gc(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=vc(e)&&vc(t);if(!r&&!(yc(e)&&yc(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:hc.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=gc(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function _c(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function vc(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function yc(e){if(!bc(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!bc(n)||!n.hasOwnProperty(`isPrototypeOf`)||Object.getPrototypeOf(e)!==Object.prototype)}function bc(e){return Object.prototype.toString.call(e)===`[object Object]`}function xc(e){return new Promise(t=>{tc.setTimeout(t,e)})}function Sc(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:gc(e,t)}function Cc(e){return e}function wc(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function Tc(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var Ec=Symbol();function Dc(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===Ec?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function Oc(e,t){return typeof e==`function`?e(...t):!!e}function kc(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var Ac=(()=>{let e=()=>rc;return{isServer(){return e()},setIsServer(t){e=t}}})();function jc(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var Mc=nc;function Nc(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=Mc,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>
12{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var Pc=Nc(),Fc=new class extends Qs{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function Ic(e){return Math.min(1e3*2**e,3e4)}function Lc(e){return(e??`online`)===`online`?Fc.isOnline():!0}var Rc=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function zc(e){let t=!1,n=0,r,i=jc(),a=()=>i.status!==`pending`,o=t=>{if(!a()){let n=new Rc(t);f(n),e.onCancel?.(n)}},s=()=>{t=!0},c=()=>{t=!1},l=()=>$s.isFocused()&&(e.networkMode===`always`||Fc.isOnline())&&e.canRun(),u=()=>Lc(e.networkMode)&&e.canRun(),d=e=>{a()||(r?.(),i.resolve(e))},f=e=>{a()||(r?.(),i.reject(e))},p=()=>new Promise(t=>{r=e=>{(a()||l())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,a()||e.onContinue?.()}),m=()=>{if(a())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(d).catch(r=>{if(a())return;let i=e.retry??(Ac.isServer()?0:3),o=e.retryDelay??Ic,s=typeof o==`function`?o(n,r):o,c=i===!0||typeof i==`number`&&n<i||typeof i==`function`&&i(n,r);if(t||!c){f(r);return}n++,e.onFail?.(n,r),xc(s).then(()=>l()?void 0:p()).then(()=>{t?f(r):m()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(r?.(),i),cancelRetry:s,continueRetry:c,canStart:u,start:()=>(u()?m():p().then(m),i)}}var Bc=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),oc(this.gcTime)&&(this.#e=tc.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(Ac.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(tc.clearTimeout(this.#e),this.#e=void 0)}};function Vc(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{kc(e,()=>t.signal,()=>n=!0)},u=Dc(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=await u((()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})()),{maxPages:o}=t.options,s=i?Tc:wc;return{pages:s(e.pages,a,o),pageParams:s(e.pageParams,r,o)}};if(i&&a.length){let e=i===`backward`,t=e?Uc:Hc,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:Hc(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(c<t)}return s};t.options.persister?t.fetchFn=()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function Hc(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function Uc(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var Wc=class extends Bc{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=qc(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=qc(this.options);e.data!==void 0&&(this.setState(Kc(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=Sc(this.state.data,e,this.options);return this.#l({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#l({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(ic).catch(ic):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>lc(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===Ec||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdate
12Count>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>cc(e.options.staleTime,this)===`static`):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!sc(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.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.#a&&(this.#s||this.#c()?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#c(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#l({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=Dc(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?Vc(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#l({type:`fetch`,meta:a.fetchOptions?.meta}),this.#a=zc({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof Rc&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#l({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#l({type:`pause`})},onContinue:()=>{this.#l({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#a.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof Rc){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#l({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#l(e){let t=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,...Gc(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...Kc(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),Pc.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function Gc(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:Lc(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function Kc(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function qc(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdate
vendor: 4,635 bytes, line 12
12Count:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var Jc=class extends Qs{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=jc(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),Xc(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return Zc(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return Zc(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof lc(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!_c(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&Qc(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||lc(this.options.enabled,this.#t)!==lc(t.enabled,this.#t)||cc(this.options.staleTime,this.#t)!==cc(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||lc(this.options.enabled,this.#t)!==lc(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return el(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(ic)),t}#g(){this.#b();let e=cc(this.options.staleTime,this.#t);if(Ac.isServer()||this.#r.isStale||!oc(e))return;let t=sc(this.#r.dataUpdatedAt,e)+1;this.#d=tc.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(Ac.isServer()||lc(this.options.enabled,this.#t)===!1||!oc(this.#p)||this.#p===0)&&(this.#f=tc.setInterval(()=>{(this.options.refetchIntervalInBackground||$s.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(tc.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(tc.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},u=!1,d;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&Xc(e,t),o=i&&Qc(e,n,t,r);(a||o)&&(l={...l,...Gc(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:f,errorUpdatedAt:p,status:m}=l;d=l.data;let h=!1;if(t.placeholderData!==void 0&&d===void 0&&m===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,h=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(m=`success`,d=Sc(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!h)if(i&&d===a?.data&&t.select===this.#c)d=this.#l;else try{this.#c=t.select,d=t.select(d),d=Sc(i?.data,d,t),this.#l=d,this.#s=null}catch(e){this.#s=e}this.#s&&(f=this.#s,d=this.#l,p=Date.now(),m=`error`);let g=l.fetchStatus===`fetching`,_=m===`pending`,v=m===`error`,y=_&&g,b=d!==void 0,x={status:m,fetchStatus:l.fetchStatus,isPending:_,isSuccess:m===`success`,isError:v,isInitialLoading:y,isLoading:y,data:d,dataUpdatedAt:l.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdate
12Count:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:g,isRefetching:g&&!_,isLoadingError:v&&!b,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:v&&b,isStale:$c(e,t),refetch:this.refetch,promise:this.#o,isEnabled:lc(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=x.data!==void 0,r=x.status===`error`&&!t,i=e=>{r?e.reject(x.error):t&&e.resolve(x.data)},a=()=>{i(this.#o=x.promise=jc())},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||x.data!==o.value)&&a();break;case`rejected`:(!r||x.error!==o.reason)&&a();break}}return x}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!_c(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){Pc.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function Yc(e,t){return lc(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&lc(t.retryOnMount,e)===!1)}function Xc(e,t){return Yc(e,t)||e.state.data!==void 0&&Zc(e,t,t.refetchOnMount)}function Zc(e,t,n){if(lc(t.enabled,e)!==!1&&cc(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&$c(e,t)}return!1}function Qc(e,t,n,r){return(e!==t||lc(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&$c(e,n)}function $c(e,t){return lc(t.enabled,e)!==!1&&e.isStaleByTime(cc(t.staleTime,e))}function el(e,t){return!_c(e.getCurrentResult(),t)}var tl=class extends Bc{#e;#t;#n;#r;constructor(e){super(),this.#e=e.client,this.mutationId=e.mutationId,this.#n=e.mutationCache,this.#t=[],this.state=e.state||nl(),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.#t.includes(e)||(this.#t.push(e),this.clearGcTimeout(),this.#n.notify({type:`observerAdded`,mutation:this,observer:e}))}removeObserver(e){this.#t=this.#t.filter(t=>t!==e),this.scheduleGc(),this.#n.notify({type:`observerRemoved`,mutation:this,observer:e})}optionalRemove(){this.#t.length||(this.state.status===`pending`?this.scheduleGc():this.#n.remove(this))}continue(){return this.#r?.continue()??this.execute(this.state.variables)}async execute(e){let t=()=>{this.#i({type:`continue`})},n={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};this.#r=zc({fn:()=>this.options.mutationFn?this.options.mutationFn(e,n):Promise.reject(Error(`No mutationFn found`)),onFail:(e,t)=>{this.#i({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#i({type:`pause`})},onContinue:t,retry:this.options.retry??0,retryDelay:this.options.retryDelay,networkMode:this.options.networkMode,canRun:()=>this.#n.canRun(this)});let r=this.state.status===`pending`,i=!this.#r.canStart();try{if(r)t();else{this.#i({type:`pending`,variables:e,isPaused:i}),this.#n.config.onMutate&&await this.#n.config.onMutate(e,this,n);let t=await this.options.onMutate?.(e,n);t!==this.state.context&&this.#i({type:`pending`,context:t,variables:e,isPaused:i})}let a=await this.#r.start();return await this.#n.config.onSuccess?.(a,e,this.state.context,this,n),await this.options.onSuccess?.(a,e,this.state.context,n),await this.#n.config.onSettled?.(a,null,this.state.variables,this.state.context,this,n),await this.options.onSettled?.(a,null,e,this.state.context,n),this.#i({type:`success`,data:a}),a}catch(t){try{await this.#n.config.onError?.(t,e,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onError?.(t,e,this.state.context,n)}catch(e){Promise.reject(e)}try{await this.#n.config.onSettled?.(void 0,t,this.state.variables,this.state.context,this,n)}catch(e){Promise.reject(e)}try{await this.options.onSettled?.(void 0,t,e,this.state.context,n)}catch(e){Promise.reject(e)}throw this.#i({type:`error`,error:t}),t}finally{this.#n.runNext(this)}}#i(e){let t=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,isPau
12sed:!1,status:`error`}}};this.state=t(this.state),Pc.batch(()=>{this.#t.forEach(t=>{t.onMutationUpdate(e)}),this.#n.notify({mutation:this,type:`updated`,action:e})})}};function nl(){return{context:void 0,data:void 0,error:null,failureCount:0,failureReason:null,isPaused:!1,status:`idle`,variables:void 0,submittedAt:0}}var rl=class extends Qs{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,n){let r=new tl({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:n});return this.add(r),r}add(e){this.#e.add(e);let t=il(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=il(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=il(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=il(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>
12t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){Pc.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>dc(t,e))}findAll(e={}){return this.getAll().filter(t=>dc(e,t))}notify(e){Pc.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return Pc.batch(()=>Promise.all(e.map(e=>e.continue().catch(ic))))}};function il(e){return e.options.scope?.id}var al=class extends Qs{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,n){let r=t.queryKey,i=t.queryHash??fc(r,t),a=this.get(i);return a||(a=new Wc({client:e,queryKey:r,queryHash:i,options:e.defaultQueryOptions(t),state:n,defaultOptions:e.getQueryDefaults(r)}),this.add(a)),a}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){Pc.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>uc(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>uc(e,t)):t}notify(e){Pc.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){Pc.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){Pc.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},ol=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new al,this.#t=e.mutationCache||new rl,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=$s.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=Fc.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),n=this.#e.build(this,t),r=n.state.data;return r===void 0?this.fetchQuery(e):(e.revalidateIfStale&&n.isStaleByTime(cc(t.staleTime,n))&&this.prefetchQuery(t),Promise.resolve(r))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,n){let r=this.defaultQueryOptions({queryKey:e}),i=this.#e.get(r.queryHash)?.state.data,a=ac(t,i);if(a!==void 0)return this.#e.build(this,r).setData(a,{...n,manual:!0})}setQueriesData(e,t,n){return Pc.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,n)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;Pc.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let n=this.#e;return Pc.batch(()=>(n.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let n={revert:!0,...t},r=Pc.batch(()=>this.#e.findAll(e).map(e=>e.cancel(n)));return Promise.all(r).then(ic).catch(ic)}invalidateQueries(e,t={}){return Pc.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let n={...t,cancelRefetch:t.cancelRefetch??!0},r=Pc.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,n);return n.throwOnError||(t=t.catch(ic)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(r).then(ic)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let n=this.#e.build(this,t);return n.isStaleByTime(cc(t.staleTime,n))?n.fetch(t):Promise.resolve(n.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(ic).catch(ic)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(ic).catch(ic)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return Fc.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(pc(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],n={};return t.forEach(t=>{mc(e,t.queryKey)&&Object.assign(n,t.defaultOptions)}),n}setMutationDefaults(e,t){this.#i.set(pc(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],n={};return t.forEach(t=>{mc(e,t.mutationKey)&&Object.assign(n,t.defaultOptions)}),n}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=fc(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===Ec&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}},sl=P.createContext(void 0),cl=e=>{let t=P.useContext(sl);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},ll=({client:e,children:t})=>(P.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,F.jsx)(sl.Provider,{value:e,children:t})),ul=P.createContext(!1),dl=()=>P.useContext(ul);ul.Provider;function fl(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}
12var pl=P.createContext(fl()),ml=()=>P.useContext(pl),hl=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?Oc(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},gl=e=>{P.useEffect(()=>{e.clearReset()},[e])},_l=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||Oc(n,[e.error,r])),vl=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},yl=(e,t)=>e.isLoading&&e.isFetching&&!t,bl=(e,t)=>e?.suspense&&t.isPending,xl=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Sl(e,t,n){let r=dl(),i=ml(),a=cl(n),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,vl(o),hl(o,i,s),gl(i);let l=!a.getQueryCache().get(o.queryHash),[u]=P.useState(()=>new t(a,o)),d=u.getOptimisticResult(o),f=!r&&c;if(P.useSyncExternalStore(P.useCallback(e=>{let t=f?u.subscribe(Pc.batchCalls(e)):ic;return u.updateResult(),t},[u,f]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),P.useEffect(()=>{u.setOptions(o)},[o,u]),bl(o,d))throw xl(o,u,i);if(_l({result:d,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw d.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,d),o.experimental_prefetchInRender&&!Ac.isServer()&&yl(d,r)&&(l?xl(o,u,i):s?.promise)?.catch(ic).finally(()=>{u.updateResult()}),o.notifyOnChangeProps?d:u.trackResult(d)}function Cl(e,t){return Sl(e,Jc,t)}var wl=`modulepreload`,Tl=function(e){return`/`+e},El={},R=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}r=o(t.map(t=>{if(t=Tl(t,n),t in El)return;El[t]=!0;let r=t.endsWith(`.css`),i=r?`[rel="stylesheet"]`:``;if(n)for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}else if(document.querySelector(`link[href="${t}"]${i}`))return;let o=document.createElement(`link`);if(o.rel=r?`stylesheet`:wl,r||(o.as=`script`),o.crossOrigin=``,o.href=t,a&&o.setAttribute(`nonce`,a),document.head.appendChild(o),r)return new Promise((e,n)=>{o.addEventListener(`load`,e),o.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};function Dl(e){return e!==`__proto__`&&e!==`constructor`&&e!==`prototype`}function Ol(e,t){let n=Object.create(null);if(e)for(let t of Object.keys(e))Dl(t)&&(n[t]=e[t]);if(t&&typeof t==`object`)for(let e of Object.keys(t))Dl(e)&&(n[e]=t[e]);return n}function kl(e){if(!e)return Object.create(null);let t=Object.create(null);for(let n of Object.keys(e))Dl(n)&&(t[n]=e[n]);return t}var Al=()=>{throw Error(`createServerOnlyFn() functions can only be called on the server!`)},jl=(e,t)=>{let n=t||e||{};return n.method===void 0&&(n.method=`GET`),Object.assign(e=>jl(void 0,{...n,...e}),{options:n,middleware:e=>{let t=[...n.middleware||[]];e.map(e=>{Pe in e?e.options.middleware&&t.push(...e.options.middleware):t.push(e)});let r=jl(void 0,{...n,middleware:t});return r[Pe]=!0,r},inputValidator:e=>jl(void 0,{...n,inputValidator:e}),handler:(...e)=>{let[t,r]=e,i={...n,extractedFn:t,serverFn:r},a=[...i.middleware||[],Fl(i)];return t.method=n.method,Object.assign(async e=>{let n=await Ml(a,`client`,{...t,...i,data:e?.data,headers:e?.headers,signal:e?.signal,fetch:e?.fetch,context:kl()}),r=xe(n.error);if(r)throw r;if(n.error)throw n.error;return n.result},{...t,method:n.method,__executeServer:async e=>{let n=Al(),r=n.contextAfterGlobalMiddlewares;return await Ml(a,`server`,{...t,...e,serverFnMeta:t.serverFnMeta,context:Ol(e.context,r),request:n.request}).then(e=>({result:e.result,error:e.error,context:e.sendContext}))}})}})};async function Ml(e,t,n){let r=Nl([...Be()?.functionMiddleware||[],...e]);if(t===`server`){let e=Al({throwIfNotFound:!1});e?.executedRequestMiddlewares&&(r=r.filter(t=>!e.executedRequestMiddlewares.has(t)))}let i=async e=>{let n=r.shift();if(!n)return e;try{`inputValidator`in n.options&&n.options.inputValidator&&t===`server`&&(e.data=await Pl(n.options.inputValidator,e.data));let r;if(t===`client`?`client`in n.options&&(r=n.options.client):`server`in n.options&&(r=n.options.server),r){let t=async(t={})=>{let n=await i({...e,...t,context:Ol(e.context,t.context),sendContext:Ol(e.sendContext,t.sendContext),headers:Bo(e.headers,t.headers),_callSiteFetch:e._callSiteFetch,fetch:e._callSiteFetch??t.fetch??e.fetch,result:t.result===void 0?t instanceof Response?t:e.result:t.result,error:t.error??e.error});if(n.error)throw n.error;return n},n=await r({...e,next:t});if(we(n))return{...e,error:n};if(n instanceof Response)return{...e,result:n};if(!n)throw Error(`User middleware returned undefined. You must call next() or return a result in your middlewares.`);return n}return i(e)}catch(t){return{...e,error:t}}};return i({...n,headers:n.headers||{},sendContext:n.sendContext||{},context:n.context||kl(),_callSiteFetch:n.fetch})}function Nl(e,t=100){let n=new Set,r=[],i=(e,a)=>{if(a>t)throw Error(`Middleware nesting depth exceeded maximum of ${t}. Check for circular references.`);
12e.forEach(e=>{e.options.middleware&&i(e.options.middleware,a+1),n.has(e)||(n.add(e),r.push(e))})};return i(e,0),r}async function Pl(e,t){if(e==null)return{};if(`~standard`in e){let n=await e[`~standard`].validate(t);if(n.issues)throw Error(JSON.stringify(n.issues,void 0,2));return n.value}if(`parse`in e)return e.parse(t);if(typeof e==`function`)return e(t);throw Error(`Invalid validator type!`)}function Fl(e){return{"~types":void 0,options:{inputValidator:e.inputValidator,client:async({next:t,sendContext:n,fetch:r,...i})=>{let a={...i,context:n,fetch:r};return t(await e.extractedFn?.(a))},server:async({next:t,...n})=>{let r=await e.serverFn?.(n);return t({...n,result:r})}}}}var Il=(e,t,n,r,i,a,o,s)=>{let c=document.documentElement,l=[`light`,`dark`];function u(t){(Array.isArray(e)?e:[e]).forEach(e=>{let n=e===`class`,r=n&&a?i.map(e=>a[e]||e):i;n?(c.classList.remove(...r),c.classList.add(a&&a[t]?a[t]:t)):c.setAttribute(e,t)}),d(t)}function d(e){s&&l.includes(e)&&(c.style.colorScheme=e)}function f(){return window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}if(r)u(r);else try{let e=localStorage.getItem(t)||n;u(o&&e===`system`?f():e)}catch{}},Ll=[`light`,`dark`],Rl=`(prefers-color-scheme: dark)`,zl=typeof window>`u`,Bl=P.createContext(void 0),Vl={setTheme:e=>{},themes:[]},Hl=()=>P.useContext(Bl)??Vl,Ul=e=>P.useContext(Bl)?P.createElement(P.Fragment,null,e.children):P.createElement(Gl,{...e}),Wl=[`light`,`dark`],Gl=({forcedTheme:e,disableTransitionOnChange:t=!1,enableSystem:n=!0,enableColorScheme:r=!0,storageKey:i=`theme`,themes:a=Wl,defaultTheme:o=n?`system`:`light`,attribute:s=`data-theme`,value:c,children:l,nonce:u,scriptProps:d})=>{let[f,p]=P.useState(()=>z(i,o)),[m,h]=P.useState(()=>f===`system`?V():f),g=c?Object.values(c):a,_=P.useCallback(e=>{let i=e;if(!i)return;e===`system`&&n&&(i=V());let a=c?c[i]:i,l=t?B(u):null,d=document.documentElement,f=e=>{e===`class`?(d.classList.remove(...g),a&&d.classList.add(a)):e.startsWith(`data-`)&&(a?d.setAttribute(e,a):d.removeAttribute(e))};if(Array.isArray(s)?s.forEach(f):f(s),r){let e=Ll.includes(o)?o:null,t=Ll.includes(i)?i:e;d.style.colorScheme=t}l?.()},[u]),v=P.useCallback(e=>{let t=typeof e==`function`?e(f):e;p(t);try{localStorage.setItem(i,t)}catch{}},[f]),y=P.useCallback(t=>{h(V(t)),f===`system`&&n&&!e&&_(`system`)},[f,e]);P.useEffect(()=>{let e=window.matchMedia(Rl);return e.addListener(y),y(e),()=>e.removeListener(y)},[y]),P.useEffect(()=>{let e=e=>{e.key===i&&(e.newValue?p(e.newValue):v(o))};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[v]),P.useEffect(()=>{_(e??f)},[e,f]);let b=P.useMemo(()=>({theme:f,setTheme:v,forcedTheme:e,resolvedTheme:f===`system`?m:f,themes:n?[...a,`system`]:a,systemTheme:n?m:void 0}),[f,v,e,m,n,a]);return P.createElement(Bl.Provider,{value:b},P.createElement(Kl,{forcedTheme:e,storageKey:i,attribute:s,enableSystem:n,enableColorScheme:r,defaultTheme:o,value:c,themes:a,nonce:u,scriptProps:d}),l)},Kl=P.memo(({forcedTheme:e,storageKey:t,attribute:n,enableSystem:r,enableColorScheme:i,defaultTheme:a,value:o,themes:s,nonce:c,scriptProps:l})=>{let u=JSON.stringify([n,t,a,e,s,o,r,i]).slice(1,-1);return P.createElement(`script`,{...l,suppressHydrationWarning:!0,nonce:typeof window>`u`?c:``,dangerouslySetInnerHTML:{__html:`(${Il.toString()})(${u})`}})}),z=(e,t)=>{if(zl)return;let n;try{n=localStorage.getItem(e)||void 0}catch{}return n||t},B=e=>{let t=document.createElement(`style`);return e&&t.setAttribute(`nonce`,e),t.appendChild(document.createTextNode(`*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}`)),document.head.appendChild(t),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(t)},1)}},V=e=>(e||=window.matchMedia(Rl),e.matches?`dark`:`light`),H={BASE_URL:`/`,DEV:!1,MODE:`production`,PROD:!0,SSR:!1,TSS_DEV_SERVER:`false`,TSS_DEV_SSR_STYLES_BASEPATH:`/`,TSS_DEV_SSR_STYLES_ENABLED:`true`,TSS_DISABLE_CSRF_MIDDLEWARE_WARNING:`false`,TSS_INLINE_CSS_ENABLED:`false`,TSS_ROUTER_BASEPATH:``,TSS_SERVER_FN_BASE:`/_serverFn/`,VITE_APP_URL:`https://tipdf.com`},U={},ql=e=>H[e]??U[e],W={app_url:ql(`VITE_APP_URL`)??`https://tipdf.com`,app_name:ql(`VITE_APP_NAME`)??`TiPDF`,app_description:ql(`VITE_APP_DESCRIPTION`)??`Simple, fast PDF tools for everyday document work.`,app_logo:ql(`VITE_APP_LOGO`)??`/logo.png`,database_url:U.DATABASE_URL??``,database_auth_token:U.DATABASE_AUTH_TOKEN??``,database_provider:U.DATABASE_PROVIDER??`sqlite`,db_schema:U.DB_SCHEMA??`public`,db_singleton_enabled:U.DB_SINGLETON_ENABLED??`false`,db_max_connections:U.DB_MAX_CONNECTIONS??`1`,auth_url:U.AUTH_URL??ql(`VITE_APP_URL`)??``,auth_secret:U.AUTH_SECRET??``,stripe_secret_key:U.STRIPE_SECRET_KEY??``,stripe_publishable_key:U.STRIPE_PUBLISHABLE_KEY??``,stripe_signing_secret:U.STRIPE_SIGNING_SECRET??``,paypal_client_id:U.PAYPAL_CLIENT_ID??``,paypal_client_secret:U.PAYPAL_CLIENT_SECRET??``,paypal_webhook_id:U.PAYPAL_WEBHOOK_ID??``,paypal_environment:U.PAYPAL_ENVIRONMENT??`production`,alipay_app_id:U.ALIPAY_APP_ID??``,alipay_private_key:U.ALIPAY_PRIVATE_KEY??``,alipay_public_key:U.ALIPAY_PUBLIC_KEY??``,alipay_notify_url:U.ALIPAY_NOTIFY_URL??``,wechat_app_id:U.WECHAT_APP_ID??``,wechat_mch_id:U.WECHAT_MCH_ID??``,wechat_api_v3_key:U.WECHAT_API_V3_KEY??``,wechat_private_key:U.WECHAT_PRIVATE_KEY??``,wechat_serial_no:U.WECHAT_SERIAL_NO??``,wechat_notify_url:U.WECHAT_NOTIFY_URL??``,wechat_platform_cert:U.WECHAT_PLATFORM_CERT??``,resend_api_key:U.RESEND_API_KEY??``,resend_sender_email:U.RESEND_SENDER_EMAIL??U.RESEND_EMAIL_FROM??``,storage_endpoint:U.STORAGE_ENDPOINT??``,storage_region:U.STORAGE_REGION??`auto`,storage_access_key:U.STORAGE_ACCESS_KEY??``,storage_secret_key:U.STORAGE_SECRET_KEY??``,storage_bucket:U.STORAGE_BUCKET??``,storage_public_domain:U.STORAGE_PUBLIC_DOMAIN??``,inline_image_max_kb:U.INLINE_IMAGE_MAX_KB??`2048`,gotenberg_url:U.GOTENBERG_URL??``,gotenberg_timeout_ms:U.GOTENBERG_TIMEOUT_MS??`120000`,replicate_api_token:U.REPLICATE_API_TOKEN??``};function Jl(){return new ol({defaultOptions:{queries:{staleTime:3e4,retry:1,refetchOnWindowFocus:!1}}})}var Yl;function Xl(){return typeof window>`u`?Jl():(Yl||=Jl(),Yl)}function Zl({measurementId:e}){return e?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`script`,{id:`ga-loader`,src:`https://www.googletagmanager.com/gtag/js?i
12d=${e}`,async:!0}),(0,F.jsx)(`script`,{id:`ga-init`,async:!0,dangerouslySetInnerHTML:{__html:`window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag('js',new Date());gtag('config','${e}');`}})]}):null}function Ql({domain:e,src:t=`https://plausible.io/js/script.js`}){return e?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(`script`,{id:`plausible-init`,async:!0,dangerouslySetInnerHTML:{__html:`window.plausible=window.plausible||function(){(window.plausible.q=window.plausible.q||[]).push(arguments)};`}}),(0,F.jsx)(`script`,{id:`plausible-loader`,"data-domain":e,src:t,defer:!0,async:!0})]}):null}var $l=`1.6.13`;function eu(){let e=Object.getOwnPropertyDescriptor(Error,`stackTraceLimit`);return e===void 0?Object.isExtensible(Error):Object.prototype.hasOwnProperty.call(e,`writable`)?e.writable:e.set!==void 0}function tu(e){let t=e.split(` 13 at `);return t.length<=1?e:(t.splice(1,1),t.join(` 14 at `))}function nu(e,t){class n extends e{#e;constructor(...e){if(eu()){let t=Error.stackTraceLimit;Error.stackTraceLimit=0,super(...e),Error.stackTraceLimit=t}else super(...e);let t=Error().stack;t&&(this.#e=tu(t.replace(/^Error/,this.name)))}get errorStack(){return this.#e}}return Object.defineProperty(n.prototype,"constructor",{get(){return t},enumerable:!1,configurable:!0}),n}var ru={OK:200,CREATED:201,ACCEPTED:202,NO_CONTENT:204,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,TEMPORARY_REDIRECT:307,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,"I'M_A_TEAPOT":418,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE:431,UNAVAILABLE_FOR_LEGAL_REASONS:451,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511};nu(class extends Error{constructor(e=`INTERNAL_SERVER_ERROR`,t=void 0,n={},r=typeof e==`number`?e:ru[e]){super(t?.message,t?.cause?{cause:t.cause}:void 0),this.status=e,this.body=t,this.headers=n,this.statusCode=r,this.name=`APIError`,this.status=e,this.headers=n,this.statusCode=r,this.body=t}},Error);var iu=class extends Error{constructor(e,t){super(e,t),this.name=`BetterAuthError`,this.message=e,this.stack=``}},au=[`javascript:`,`data:`,`vbscript:`];function ou(e){return URL.canParse(e)?!au.includes(new URL(e).protocol):!0}var su=!1;function cu(){return typeof window<`u`&&`IdentityCredential`in window}var lu={dismissed:[`credential_returned`,`cancel_called`],skipped:[`user_cancel`,`tap_outside`]},uu=e=>({id:`one-tap`,version:$l,fetchPlugins:[{id:`fedcm-signout-handle`,name:`FedCM Sign-Out Handler`,hooks:{async onResponse(t){t.request.url.toString().includes(`/sign-out`)&&(e.promptOptions?.fedCM===!1||!cu()||navigator.credentials.preventSilentAccess())}}}],getActions:(t,n)=>({oneTap:async(n,r)=>{if(su){console.warn(`A Google One Tap request is already in progress. Please wait.`);return}if(typeof window>`u`||!window.document){console.warn(`Google One Tap is only available in browser environments`);return}if(n?.button){await du();let i=typeof n.button.container==`string`?document.querySelector(n.button.container):n.button.container;if(!i){console.error(`Google One Tap: Button container not found`,n.button.container);return}async function a(e){if(await t(`/one-tap/callback`,{method:`POST`,body:{idToken:e},...n?.fetchOptions,...r}),!n?.fetchOptions&&!r||n?.callbackURL){let e=n?.callbackURL??`/`;ou(e)&&(window.location.href=e)}}let{autoSelect:o,cancelOnTapOutside:s,context:c}=n??{},l=c??e.context??`signin`,u=e.promptOptions?.fedCM!==!1;window.google?.accounts.id.initialize({client_id:e.clientId,callback:async e=>{try{await a(e.credential)}catch(e){console.error(`Error during button callback:`,e)}}
14,auto_select:o,cancel_on_tap_outside:s,context:l,ux_mode:n?.uxMode||`popup`,nonce:n?.nonce,itp_support:!0,use_fedcm_for_prompt:u,...e.additionalOptions}),window.google?.accounts.id.renderButton(i,n.button.config??{type:`icon`});return}async function i(e){if(await t(`/one-tap/callback`,{method:`POST`,body:{idToken:e},...n?.fetchOptions,...r}),!n?.fetchOptions&&!r||n?.callbackURL){let e=n?.callbackURL??`/`;ou(e)&&(window.location.href=e)}}let{autoSelect:a,cancelOnTapOutside:o,context:s}=n??{},c=s??e.context??`signin`;su=!0;try{await du(),await new Promise((t,r)=>{let s=!1,l=e.promptOptions?.baseDelay??1e3,u=e.promptOptions?.maxAttempts??5,d=e.promptOptions?.fedCM!==!1;window.google?.accounts.id.initialize({client_id:e.clientId,callback:async e=>{s=!0;try{await i(e.credential),t()}catch(e){console.error(`Error during One Tap callback:`,e),r(e)}},auto_select:a,cancel_on_tap_outside:o,context:c,ux_mode:n?.uxMode||`popup`,nonce:n?.nonce,itp_support:!0,use_fedcm_for_prompt:d,...e.additionalOptions});let f=e=>{s||window.google?.accounts.id.prompt(r=>{if(!s)if(r.isDismissedMoment?.()){let i=r.getDismissedReason?.();if(lu.dismissed.includes(i)){n?.onPromptNotification?.(r),t();return}if(e<u){let t=2**e*l;setTimeout(()=>f(e+1),t)}else n?.onPromptNotification?.(r),t()}else if(r.isSkippedMoment?.()){let i=r.getSkippedReason?.();if(!i||lu.skipped.includes(i)){n?.onPromptNotification?.(r),t();return}if(e<u){let t=2**e*l;setTimeout(()=>f(e+1),t)}else n?.onPromptNotification?.(r),t()}else r.isNotDisplayed?.()&&(n?.onPromptNotification?.(r),t())})};f(0)})}catch(e){throw console.error(`Error during Google One Tap flow:`,e),e}finally{su=!1}}}),getAtoms(e){return{}}}),du=()=>new Promise((e,t)=>{if(window.googleScriptInitialized){e();return}let n=document.createElement(`script`);n.src=`https://accounts.google.com/gsi/client`,n.async=!0,n.defer=!0,n.onload=()=>{window.googleScriptInitialized=!0,e()},n.onerror=()=>{t(Error(`Failed to load Google Identity Services script`))},document.head.appendChild(n)}),fu=[],pu=0,mu=null,hu=4,gu=globalThis.nanostoresGlobal||={epoch:0},_u=()=>{for(pu=0;pu<fu.length;pu+=hu)fu[pu](fu[pu+1].value,fu[pu+2],fu[pu+3]);fu.length=0},vu=e=>{let t=[],n={get(){return n.lc||n.listen(()=>{})(),n.value},init:e,lc:0,listen(e){return n.lc=t.push(e),()=>{for(let t=pu+hu;t<fu.length;)fu[t]===e?fu.splice(t,hu):t+=hu;let r=t.indexOf(e);~r&&(t.splice(r,1),--n.lc||n.off())}},notify(e,r){gu.epoch++;let i=!fu.length&&!mu;for(let i of t)mu?.has(i)||(mu?.add(i),fu.push(i,n,e,mu?void 0:r));i&&_u()},off(){},set(e){let t=n.value;t!==e&&(n.value=e,n.notify(t))},subscribe(e){let t=n.listen(e);return e(n.value),t},value:e};return n},yu=5,bu=6,xu=10,Su=(e,t,n,r)=>(e.events=e.events||{},e.events[n+xu]||(e.events[n+xu]=r(t=>{e.events[n].reduceRight((e,t)=>(t(e),e),{shared:{},...t})})),e.events[n]=e.events[n]||[],e.events[n].push(t),()=>{let r=e.events[n],i=r.indexOf(t);r.splice(i,1),r.length||(delete e.events[n],e.events[n+xu](),delete e.events[n+xu])}),Cu=1e3,wu=(e,t)=>Su(e,n=>{let r=t(n);r&&e.events[bu].push(r)},yu,t=>{let n=e.listen;e.listen=(...r)=>(!e.lc&&!e.active&&(e.active=!0,t()),n(...r));let r=e.off;return e.events[bu]=[],e.off=()=>{r(),setTimeout(()=>{if(e.active&&!e.lc){e.active=!1;for(let t of e.events[bu])t();e.events[bu]=[]}},Cu)},()=>{e.listen=n,e.off=r}});function Tu(e,t,n){let r=new Set(t);return e.listen((e,i,a)=>{(a===void 0?t.some(t=>e[t]!==i[t]):r.has(a)||r.has(a.split(/\.|\[/)[0]))&&n(e,i,a)})}var Eu=()=>typeof window>`u`,Du=(e,t,n,r)=>{let i=vu({data:null,error:null,isPending:!0,isRefetching:!1,refetch:e=>a(e)}),a=async e=>new Promise(a=>{let o=typeof r==`function`?r({data:i.get().data,error:i.get().error,isPending:i.get().isPending}):r;n(t,{...o,query:{...o?.query,...e?.query},async onSuccess(e){i.set({data:e.data,error:null,isPending:!1,isRefetching:!1,refetch:i.value.refetch}),await o?.onSuccess?.(e)},async onError(e){let{request:t}=e,n=typeof t.retry==`number`?t.retry:t.retry?.attempts,r=t.retryAttempt||0;if(n&&r<n)return;let a=e.error.status===401;i.set({error:e.error,data:a?null:i.get().data,isPending:!1,isRefetching:!1,refetch:i.value.refetch}),await o?.onError?.(e)},async onRequest(e){let t=i.get();i.set({isPending:t.data===null,data:t.data,error:null,isRefetching:!0,refetch:i.value.refetch}),await o?.onRequest?.(e)}}).catch(e=>{i.set({error:e,data:i.get().data,isPending:!1,isRefetching:!1,refetch:i.value.refetch})}).finally(()=>{a(void 0)})});e=Array.isArray(e)?e:[e];let o=!1;for(let t of e)t.subscribe(async()=>{Eu()||(o?await a():wu(i,()=>{let e=setTimeout(async()=>{o||(o=!0,await a())},0);return()=>{i.off(),t.off(),clearTimeout(e)}}))});return i},Ou=Object.create(null),ku=e=>({}),Au=new Proxy(Ou,{get(e,t){return ku()[t]??Ou[t]},has(e,t){return t in ku()||t in Ou},set(e,t,n){let r=ku(!0);return r[t]=n,!0},deleteProperty(e,t){if(!t)return!1;let n=ku(!0);return delete n[t],!0},ownKeys(){let e=ku(!0);return Object.keys(e)}});function ju(e,t){return typeof process<`u`?{}[e]??t:typeof Deno<`u`?Deno.env.get(e)??t:typeof Bun<`u`?Bun.env[e]??t:t}Object.freeze({get BETTER_AUTH_SECRET(){return ju(`BETTER_AUTH_SECRET`)},get AUTH_SECRET(){return ju(`AUTH_SECRET`)},get BETTER_AUTH_TELEMETRY(){return ju(`BETTER_AUTH_TELEMETRY`)},get BETTER_AUTH_TELEMETRY_ID(){return ju(`BETTER_AUTH_TELEMETRY_ID`)},get NODE_ENV(){return ju(`NODE_ENV`,`development`)},get PACKAGE_VERSION(){return ju(`PACKAGE_VERSION`,`0.0.0`)},get BETTER_AUTH_TELEMETRY_ENDPOINT(){return ju(`BETTER_AUTH_TELEMETRY_ENDPOINT`,``)}});var Mu=47;function Nu(e){let t=e.length;for(;t>0&&e.charCodeAt(t-1)===Mu;)t--;return t===e.length?e:e.slice(0,t)}function Pu(e){try{return(Nu(new URL(e).pathname)||`/`)!==`/`}catch{throw new iu(`Invalid base URL: ${e}. Please provide a valid base URL.`)}}function Fu(e){try{let t=new URL(e);if(t.protocol!==`http:`&&t.protocol!==`https:`)throw new iu(`Invalid base URL: ${e}. URL must include 'http://' or 'https://'`)}catch(t){throw t instanceof iu?t:new iu(`Invalid base URL: ${e}. Please provide a valid base URL.`,{cause:t})}}function Iu(e,t=`/api/auth`){if(Fu(e),Pu(e))return e;let n=Nu(e);return!t||t===`/`?n:(t=t.startsWith(`/`)?t:`/${t}`,`${n}${t}`)}function Lu(e,t){return!e||e.trim()===``?!1:t===`proto`?e===`http`||e===`https`:t===`host`?[/\.\./,/\0/,/[\s]/,/^[.]/,/[<>'"]/,/javascript:/i,/file:/i,/data:/i].some(t=>t.test(e))?!1:/^[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(\.[a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*(:[0-9]{1,5})?$/.test(e)||/^(\d{1,3}\.){3}\d{1,3}(:[0-9]{1,5})?$/.test(e)||/^\[[0-9a-fA-F:]+\](:[0-9]{1,5})?$/.test(e)||/^localhost(:[0-9]{1,5})?$/i.test(e):!1}function Ru(e,t,n,r,i){if(e)return Iu(e,t);if(r!==!1){let e=Au.BETTER_AUTH_URL||Au.NEXT_PUBLIC_BETTER_AUTH_URL||Au.PUBLIC_BETTER_AUTH_URL||Au.NUXT_PUBLIC_BETTER_AUTH_URL||Au.NUXT_PUBLIC_AUTH_URL||(Au.BASE_URL===`/`?void 0:Au.BASE_URL);if(e)return Iu(e,t)}let a=n?.headers.get(`x-forwarded-host`),o=n?.headers.get(`x-forwarded-proto`);if(a&&o&&i&&Lu(o,`proto`)&&Lu(a,`host`))try{return Iu(`${o}://${a}`,t)}catch{}if(n){let e=zu(n.url);if(!e)throw new iu(`Could not get origin from request. Please provide a valid base URL.`);return Iu(e,t)}if(typeof window<`u`&&window.location)return Iu(window.location.origin,t)}function zu(e){try{let t=new URL(e);return t.origin===`null`?null:t.origin}catch{return null}}var Bu={proto:/"(?:_|\\u0{2}5[Ff]){2}(?:p|\\u0{2}70)(?:r|\\u0{2}72)(?:o|\\u0{2}6[Ff])(?:t|\\u0{2}74)(?:o|\\u0{2}6[Ff])(?:_|\\u0{2}5[Ff]){2}"\s*:/,constructor:/"(?:c|\\u0063)(?:o|\\u006[Ff])(?:n|\\u006[Ee])(?:s|\\u0073)(?:t|\\u0074)(?:r|\\u0072)(?:u|\\u0075)(?:c|\\u0063)(?:t|\\u0074)(?:o|\\u006[Ff])(?:r|\\u0072)"\s*:/,protoShort:/"__proto__"\s*:/,constructorShort:/"constructor"\s*:/},Vu=/^\s*["[{]|^\s*-?\d{1,16}(\.\d{1,17})?([Ee][+-]?\d+)?\s*$/,Hu={true:!0,false:!1,null:null,undefined:void 0,nan:NaN,infinity:1/0,"-infinity":-1/0},Uu=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.(\d{1,7}))?(?:Z|([+-])(\d{2}):(\d{2}))$/;function Wu(e){return e instanceof Date&&!isNaN(e.getTime())}function Gu(e){let t=Uu.exec(e);if(!t)return null;let[,n,r,i,a,o,s,c,l,u,d]=t,f=new Date(Date.UTC(parseInt(n,10),parseInt(r,10)-1,parseInt(i,10),parseInt(a,10),parseInt(o,10),parseInt(s,10),c?parseInt(c.padEnd(3,`0`),10):0));if(l){let e=(parseInt(u,10)*60+parseInt(d,10))*(l===`+`?-1:1);f.setUTCMinutes(f.getUTCMinutes()+e)}return Wu(f)?f:null}function Ku(e,t={}){let{strict:n=!1,warnings:r=!1,reviver:i,parseDates:a=!0}=t;if(typeof e!=`string`)return e;let o=e.trim(),s=o.toLowerCase();if(s.length<=9&&s in Hu)return Hu[s];if(!Vu.test(o)){if(n)throw SyntaxError(`[better-json] Invalid JSON`);return e}if(Object.entries(Bu).some(([e,t])=>{let n=t.test(o);return n&&r&&console.warn(`[better-json] Detected potential prototype pollution attempt using ${e} pattern`),n})&&n)throw Error(`[better-json] Potential prototype pollution attempt detected`);try{return JSON.parse(o,(e,t)=>{if(e===`__proto__`||e===`constructor`&&t&&typeof t==`object`&&`prototype`in t){r&&console.warn(`[better-json] Dropping "${e}" key to prevent prototype pollution`);return}if(a&&typeof t==`string`){let e=Gu(t);if(e)return e}return i?i(e,t):t})}catch(t){if(n)throw t;return e}}function qu(e,t={strict:!0}){return Ku(e,t)}var Ju={id:`redirect`,name:`Redirect`,hooks:{onSuccess(e){if(e.data?.url&&e.data?.redirect&&ou(e.data.url)&&typeof window<`u`&&window.location&&window.location)try{window.location.href=e.data.url}catch{}}}},Yu=Symbol.for(`better-auth:broadcast-channel`),Xu=()=>Math.floor(Date.now()/1e3),Zu=class{listeners=new Set;name;constructor(e=`better-auth.message`){this.name=e}subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}post(e){if(!(typeof window>`u`))try{localStorage.setItem(this.name,JSON.stringify({...e,timestamp:Xu()}))}catch{}}setup(){if(typeof window>`u`||window.addEventListener===void 0)return()=>{};let e=e=>{if(e.key!==this.name)return;let t=JSON.parse(e.newValue??`{}`);
14t?.event!==`session`||!t?.data||this.listeners.forEach(e=>e(t))};return window.addEventListener(`storage`,e),()=>{window.removeEventListener(`storage`,e)}}};function G(e=`better-auth.message`){return globalThis[Yu]||(globalThis[Yu]=new Zu(e)),globalThis[Yu]}var Qu=Symbol.for(`better-auth:focus-manager`),$u=class{listeners=new Set;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setFocused(e){this.listeners.forEach(t=>t(e))}setup(){if(typeof window>`u`||typeof document>`u`||window.addEventListener===void 0)return()=>{};let e=()=>{document.visibilityState===`visible`&&this.setFocused(!0)};return document.addEventListener(`visibilitychange`,e,!1),()=>{document.removeEventListener(`visibilitychange`,e,!1)}}};function ed(){return globalThis[Qu]||(globalThis[Qu]=new $u),globalThis[Qu]}var td=Symbol.for(`better-auth:online-manager`),nd=class{listeners=new Set;isOnline=typeof navigator<`u`?navigator.onLine:!0;subscribe(e){return this.listeners.add(e),()=>{this.listeners.delete(e)}}setOnline(e){this.isOnline=e,this.listeners.forEach(t=>t(e))}setup(){if(typeof window>`u`||window.addEventListener===void 0)return()=>{};let e=()=>this.setOnline(!0),t=()=>this.setOnline(!1);return window.addEventListener(`online`,e,!1),window.addEventListener(`offline`,t,!1),()=>{window.removeEventListener(`online`,e,!1),window.removeEventListener(`offline`,t,!1)}}};function rd(){return globalThis[td]||(globalThis[td]=new nd),globalThis[td]}var id=()=>Math.floor(Date.now()/1e3);function ad(e){return typeof e==`object`&&e&&`data`in e&&`error`in e?e:{data:e,error:null}}var od=5;function sd(e){let{sessionAtom:t,sessionSignal:n,$fetch:r,options:i={}}=e,a=i.sessionOptions?.refetchInterval??0,o=i.sessionOptions?.refetchOnWindowFocus??!0,s=i.sessionOptions?.refetchWhenOffline??!1,c={lastSync:0,lastSessionRequest:0,cachedSession:void 0},l=()=>s||rd().isOnline,u=e=>{if(!l())return;if(e?.event===`storage`){c.lastSync=id(),n.set(!n.get());return}let i=t.get(),a=()=>{c.lastSessionRequest=id(),r(`/get-session`).then(async e=>{let{data:a,error:o}=ad(e);if(a?.needsRefresh)try{let e=await r(`/get-session`,{method:`POST`});({data:a,error:o}=ad(e))}catch{}let s=a?.session&&a?.user?a:null;t.set({...i,data:s,error:o}),c.lastSync=id(),n.set(!n.get())}).catch(()=>{})};if(e?.event===`poll`){a();return}if(e?.event===`visibilitychange`){if(id()-c.lastSessionRequest<od)return;c.lastSessionRequest=id()}if(e?.event===`visibilitychange`){a();return}(i?.data===null||i?.data===void 0)&&(c.lastSync=id(),n.set(!n.get()))},d=e=>{G().post({event:`session`,data:{trigger:e},clientId:Math.random().toString(36).substring(7)})},f=()=>{a&&a>0&&(c.pollInterval=setInterval(()=>{t.get()?.data&&u({event:`poll`})},a*1e3))},p=()=>{c.unsubscribeBroadcast=G().subscribe(()=>{u({event:`storage`})})},m=()=>{o&&(c.unsubscribeFocus=ed().subscribe(()=>{u({event:`visibilitychange`})}))},h=()=>{c.unsubscribeOnline=rd().subscribe(e=>{e&&u({event:`visibilitychange`})})};return{init:()=>{f(),p(),m(),h(),G().setup(),ed().setup(),rd().setup()},cleanup:()=>{c.pollInterval&&=(clearInterval(c.pollInterval),void 0),c.unsubscribeBroadcast&&=(c.unsubscribeBroadcast(),void 0),c.unsubscribeFocus&&=(c.unsubscribeFocus(),void 0),c.unsubscribeOnline&&=(c.unsubscribeOnline(),void 0),c.lastSync=0,c.lastSessionRequest=0,c.cachedSession=void 0},triggerRefetch:u,broadcastSessionUpdate:d}}function cd(e,t){let n=vu(!1),r=Du(n,`/get-session`,e,{method:`GET`}),i=()=>{};return wu(r,()=>{let a=sd({sessionAtom:r,sessionSignal:n,$fetch:e,options:t});return a.init(),i=a.broadcastSessionUpdate,()=>{a.cleanup()}}),{session:r,$sessionSignal:n,broadcastSessionUpdate:e=>i(e)}}function ld(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t!==null&&t!==Object.prototype&&Object.getPrototypeOf(t)!==null||Symbol.iterator in e?!1:Symbol.toStringTag in e?Object.prototype.toString.call(e)===`[object Module]`:!0}function ud(e,t,n=`.`,r){if(!ld(t))return ud(e,{},n,r);let i={...t};for(let t of Object.keys(e)){if(t===`__proto__`||t===`constructor`)continue;let a=e[t];a!=null&&(r&&r(i,t,a,n)||(Array.isArray(a)&&Array.isArray(i[t])?i[t]=[...a,...i[t]]:ld(a)&&ld(i[t])?i[t]=ud(a,i[t],(n?`${n}.`:``)+t.toString(),r):i[t]=a))}return i}function dd(e){return(...t)=>t.reduce((t,n)=>ud(t,n,``,e),{})}var fd=dd(),pd=Object.defineProperty,md=Object.defineProperties,hd=Object.getOwnPropertyDescriptors,gd=Object.getOwnPropertySymbols,_d=Object.prototype.hasOwnProperty,vd=Object.prototype.propertyIsEnumerable,yd=(e,t,n)=>t in e?pd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,bd=(e,t)=>{for(var n in t||={}
14)_d.call(t,n)&&yd(e,n,t[n]);if(gd)for(var n of gd(t))vd.call(t,n)&&yd(e,n,t[n]);return e},xd=(e,t)=>md(e,hd(t)),Sd=class extends Error{constructor(e,t,n){super(t||e.toString(),{cause:n}),this.status=e,this.statusText=t,this.error=n,Error.captureStackTrace(this,this.constructor)}},Cd=async(e,t)=>{let n=t||{},r={onRequest:[t?.onRequest],onResponse:[t?.onResponse],onSuccess:[t?.onSuccess],onError:[t?.onError],onRetry:[t?.onRetry]};if(!t||!t?.plugins)return{url:e,options:n,hooks:r};for(let i of t?.plugins||[]){if(i.init){let r=await i.init?.call(i,e.toString(),t);n=r.options||n,e=r.url}r.onRequest.push(i.hooks?.onRequest),r.onResponse.push(i.hooks?.onResponse),r.onSuccess.push(i.hooks?.onSuccess),r.onError.push(i.hooks?.onError),r.onRetry.push(i.hooks?.onRetry)}return{url:e,options:n,hooks:r}},wd=class{constructor(e){this.options=e}shouldAttemptRetry(e,t){return this.options.shouldRetry?Promise.resolve(e<this.options.attempts&&this.options.shouldRetry(t)):Promise.resolve(e<this.options.attempts)}getDelay(){return this.options.delay}},Td=class{constructor(e){this.options=e}shouldAttemptRetry(e,t){return this.options.shouldRetry?Promise.resolve(e<this.options.attempts&&this.options.shouldRetry(t)):Promise.resolve(e<this.options.attempts)}getDelay(e){return Math.min(this.options.maxDelay,this.options.baseDelay*2**e)}};function Ed(e){if(typeof e==`number`)return new wd({type:`linear`,attempts:e,delay:1e3});switch(e.type){case`linear`:return new wd(e);case`exponential`:return new Td(e);default:throw Error(`Invalid retry strategy`)}}var K=async e=>{let t={},n=async e=>typeof e==`function`?await e():e;if(e?.auth){if(e.auth.type===`Bearer`){let r=await n(e.auth.token);if(!r)return t;t.authorization=`Bearer ${r}`}else if(e.auth.type===`Basic`){let[r,i]=await Promise.all([n(e.auth.username),n(e.auth.password)]);if(!r||!i)return t;t.authorization=`Basic ${btoa(`${r}:${i}`)}`}else if(e.auth.type===`Custom`){let[r,i]=await Promise.all([n(e.auth.prefix),n(e.auth.value)]);if(!i)return t;t.authorization=`${r??``} ${i}`}}return t},Dd=/^application\/(?:[\w!#$%&*.^`~-]*\+)?json(;.+)?$/i;function Od(e){let t=e.headers.get(`content-type`),n=new Set([`image/svg`,`application/xml`,`application/xhtml`,`application/html`]);if(!t)return`json`;let r=t.split(`;`).shift()||``;return Dd.test(r)?`json`:n.has(r)||r.startsWith(`text/`)?`text`:`blob`}function kd(e){try{return JSON.parse(e),!0}catch{return!1}}function Ad(e){if(e===void 0)return!1;let t=typeof e;return t===`string`||t===`number`||t===`boolean`||t===null?!0:t===`object`?Array.isArray(e)?!0:e.buffer?!1:e.constructor&&e.constructor.name===`Object`||typeof e.toJSON==`function`:!1}function jd(e){try{return JSON.parse(e)}catch{return e}}function Md(e){return typeof e==`function`}function Nd(e){if(e?.customFetchImpl)return e.customFetchImpl;if(typeof globalThis<`u`&&Md(globalThis.fetch))return globalThis.fetch;if(typeof window<`u`&&Md(window.fetch))return window.fetch;throw Error(`No fetch implementation found`)}async function Pd(e){let t=new Headers(e?.headers),n=await K(e);for(let[e,r]of Object.entries(n||{}))t.set(e,r);if(!t.has(`content-type`)){let n=Fd(e?.body);n&&t.set(`content-type`,n)}return t}function Fd(e){return Ad(e)?`application/json`:null}function Id(e){if(!e?.body)return null;let t=new Headers(e?.headers);if(Ad(e.body)&&!t.has(`content-type`)){for(let[t,n]of Object.entries(e?.body))n instanceof Date&&(e.body[t]=n.toISOString());return JSON.stringify(e.body)}return t.has(`content-type`)&&t.get(`content-type`)===`application/x-www-form-urlencoded`&&Ad(e.body)?new URLSearchParams(e.body).toString():e.body}function Ld(e,t){if(t?.method)return t.method.toUpperCase();if(e.startsWith(`@`)){let n=e.split(`@`)[1]?.split(`/`)[0];return Bd.includes(n)?n.toUpperCase():t?.body?`POST`:`GET`}return t?.body?`POST`:`GET`}function Rd(e,t){let n;return!e?.signal&&e?.timeout&&(n=setTimeout(()=>t?.abort(),e?.timeout)),{abortTimeout:n,clearTimeout:()=>{n&&clearTimeout(n)}}}var zd=class e extends Error{constructor(t,n){super(n||JSON.stringify(t,null,2)),this.issues=t,Object.setPrototypeOf(this,e.prototype)}};async function q(e,t){let n=await e[`~standard`].validate(t);if(n.issues)throw new zd(n.issues);return n.value}var Bd=[`get`,`post`,`put`,`patch`,`delete`],Vd=e=>({id:`apply-schema`,name:`Apply Schema`,version:`1.0.0`,async init(t,n){let r=e.plugins?.find(e=>
14e.schema?.config?t.startsWith(e.schema.config.baseURL||``)||t.startsWith(e.schema.config.prefix||``):!1)?.schema||e.schema;if(r){let e=t;r.config?.prefix&&e.startsWith(r.config.prefix)&&(e=e.replace(r.config.prefix,``),r.config.baseURL&&(t=t.replace(r.config.prefix,r.config.baseURL))),r.config?.baseURL&&e.startsWith(r.config.baseURL)&&(e=e.replace(r.config.baseURL,``));let i=r.schema[e];if(i){let e=xd(bd({},n),{method:i.method,output:i.output});return n?.disableValidation||(e=xd(bd({},e),{body:i.input?await q(i.input,n?.body):n?.body,params:i.params?await q(i.params,n?.params):n?.params,query:i.query?await q(i.query,n?.query):n?.query})),{url:t,options:e}}}return{url:t,options:n}}}),Hd=e=>{async function t(t,n){let r=xd(bd(bd({},e),n),{plugins:[...e?.plugins||[],Vd(e||{}),...n?.plugins||[]]});if(e?.catchAllError)try{return await Wd(t,r)}catch(e){return{data:null,error:{status:500,statusText:`Fetch Error`,message:`Fetch related error. Captured by catchAllError option. See error property for more details.`,error:e}}}return await Wd(t,r)}return t};function Ud(e,t){let{baseURL:n,params:r,query:i}=t||{query:{},params:{},baseURL:``},a=e.startsWith(`http`)?e.split(`/`).slice(0,3).join(`/`):n||``;if(e.startsWith(`@`)){let t=e.toString().split(`@`)[1].split(`/`)[0];Bd.includes(t)&&(e=e.replace(`@${t}/`,`/`))}a.endsWith(`/`)||(a+=`/`);let[o,s]=e.replace(a,``).split(`?`),c=new URLSearchParams(s);for(let[e,t]of Object.entries(i||{})){if(t==null)continue;let n;if(typeof t==`string`)n=t;else if(Array.isArray(t)){for(let n of t)c.append(e,n);continue}else n=JSON.stringify(t);c.set(e,n)}if(r)if(Array.isArray(r)){let e=o.split(`/`).filter(e=>e.startsWith(`:`));for(let[t,n]of e.entries()){let e=r[t];o=o.replace(n,e)}}else for(let[e,t]of Object.entries(r))o=o.replace(`:${e}`,String(t));o=o.split(`/`).map(encodeURIComponent).join(`/`),o.startsWith(`/`)&&(o=o.slice(1));let l=c.toString();return l=l.length>0?`?${l}`.replace(/\+/g,`%20`):``,a.startsWith(`http`)?new URL(`${o}${l}`,a):`${a}${o}${l}`}var Wd=async(e,t)=>{let{hooks:n,url:r,options:i}=await Cd(e,t),a=Nd(i),o=new AbortController,s=i.signal??o.signal,c=Ud(r,i),l=Id(i),u=await Pd(i),d=Ld(r,i),f=xd(bd({},i),{url:c,headers:u,body:l,method:d,signal:s});for(let e of n.onRequest)if(e){let t=await e(f);typeof t==`object`&&t&&(f=t)}(`pipeTo`in f&&typeof f.pipeTo==`function`||typeof t?.body?.pipe==`function`)&&(`duplex`in f||(f.duplex=`half`));let{clearTimeout:p}=Rd(i,o),m=await a(f.url,f);p();let h={response:m,request:f};for(let e of n.onResponse)if(e){let n=await e(xd(bd({},h),{response:t?.hookOptions?.cloneResponse?m.clone():m}));n instanceof Response?m=n:typeof n==`object`&&n&&(m=n.response)}if(m.ok){if(f.method===`HEAD`)return{data:``,error:null};let e=Od(m),r={data:null,response:m,request:f};if(e===`json`||e===`text`){let e=await m.text();r.data=await(f.jsonParser??jd)(e)}else r.data=await m[e]();f?.output&&f.output&&!f.disableValidation&&(r.data=await q(f.output,r.data));for(let e of n.onSuccess)e&&await e(xd(bd({},r),{response:t?.hookOptions?.cloneResponse?m.clone():m}));return t?.throw?r.data:{data:r.data,error:null}}let g=t?.jsonParser??jd,_=await m.text(),v=kd(_),y=v?await g(_):null,b={response:m,responseText:_,request:f,error:xd(bd({},y),{status:m.status,statusText:m.statusText})};for(let e of n.onError)e&&await e(xd(bd({},b),{response:t?.hookOptions?.cloneResponse?m.clone():m}));if(t?.retry){let r=Ed(t.retry),i=t.retryAttempt??0;if(await r.shouldAttemptRetry(i,m)){for(let e of n.onRetry)e&&await e(h);let a=r.getDelay(i);return await new Promise(e=>setTimeout(e,a)),await Wd(e,xd(bd({},t),{retryAttempt:i+1}))}}if(t?.throw)throw new Sd(m.status,m.statusText,v?y:_);return{data:null,error:xd(bd({},y),{status:m.status,statusText:m.statusText})}},Gd=e=>{if(typeof process>`u`)return;let t=e??`/api/auth`;if({}.NEXT_PUBLIC_AUTH_URL)return{}.NEXT_PUBLIC_AUTH_URL;if(typeof window>`u`){if({}.NEXTAUTH_URL)try{return{}.NEXTAUTH_URL}catch{}if({}.VERCEL_URL)try{let e={}.VERCEL_URL.startsWith(`http`)?``:`https://`;return`${new URL(`${e}${{}.VERCEL_URL}`).origin}${t}`}catch{}}},Kd=(e,t)=>{let n=`credentials`in Request.prototype,r=Ru(e?.baseURL,e?.basePath,void 0,t)??Gd(e?.basePath)??`/api/auth`,i=e?.plugins?.flatMap(e=>e.fetchPlugins).filter(e=>e!==void 0)||[],a={id:`lifecycle-hooks`,name:`lifecycle-hooks`,hooks:{onSuccess:e?.fetchOptions?.onSuccess,onError:e?.fetchOptions?.onError,onRequest:e?.fetchOptions?.onRequest,onResponse:e?.fetchOptions?.onResponse}},{onSuccess:o,onError:s,onRequest:c,onResponse:l,...u}=e?.fetchOptions||{},d=Hd({baseURL:r,...n?{credentials:`include`}:{},method:`GET`,jsonParser(e){return e?qu(e,{strict:!1}):null},customFetchImpl:fetch,...u,plugins:[a,...u.plugins||[],...e?.disableDefaultFetchPlugins?[]:[Ju],...i]}),{$sessionSignal:f,session:p,broadcastSessionUpdate:m}=cd(d,e),h=e?.plugins||[],g={},_={$sessionSignal:f,session:p}
14,v={"/sign-out":`POST`,"/revoke-sessions":`POST`,"/revoke-other-sessions":`POST`,"/delete-user":`POST`},y=[{signal:`$sessionSignal`,matcher(e){return e===`/sign-out`||e===`/update-user`||e===`/update-session`||e===`/sign-up/email`||e===`/sign-in/email`||e===`/delete-user`||e===`/verify-email`||e===`/revoke-sessions`||e===`/revoke-session`||e===`/revoke-other-sessions`||e===`/change-email`||e===`/change-password`},callback(e){e===`/sign-out`?m(`signout`):(e===`/update-user`||e===`/update-session`)&&m(`updateUser`)}}];for(let e of h)e.getAtoms&&Object.assign(_,e.getAtoms?.(d)),e.pathMethods&&Object.assign(v,e.pathMethods),e.atomListeners&&y.push(...e.atomListeners);let b={notify:e=>{_[e].set(!_[e].get())},listen:(e,t)=>{_[e].subscribe(t)},atoms:_};for(let t of h)t.getActions&&(g=fd(t.getActions?.(d,b,e)??{},g));return{get baseURL(){return r},pluginsActions:g,pluginsAtoms:_,pluginPathMethods:v,atomListeners:y,$fetch:d,$store:b}};function qd(e){return typeof e==`object`&&!!e&&`get`in e&&typeof e.get==`function`&&`lc`in e&&typeof e.lc==`number`}function Jd(e){return e.charAt(0).toUpperCase()+e.slice(1)}var Yd=/[\p{Ll}\d]+|\p{Lu}+(?!\p{Ll})|\p{Lu}[\p{Ll}\d]+|\p{Lo}+/gu,Xd=/['\u2019]/g;function Zd(e){return e.replace(Xd,``).match(Yd)??[]}function Qd(e){return Zd(e).map(e=>e.toLowerCase()).join(`-`)}function $d(e,t,n){let r=t[e],{fetchOptions:i,query:a,...o}=n||{};return r||(i?.method?i.method:o&&Object.keys(o).length>0?`POST`:`GET`)}function ef(e,t,n,r,i){function a(o=[]){return new Proxy(function(){},{get(t,n){if(typeof n!=`string`||n===`then`||n===`catch`||n===`finally`)return;let r=[...o,n],i=e;for(let e of r)if(i&&typeof i==`object`&&e in i)i=i[e];else{i=void 0;break}return typeof i==`function`||qd(i)?i:a(r)},apply:async(e,a,s)=>{let c=`/`+o.map(Qd).join(`/`),l=s[0]||{},u=s[1]||{},{query:d,fetchOptions:f,...p}=l,m={...u,...f},h=$d(c,n,l);return await t(c,{...m,body:h===`GET`?void 0:{...p,...m?.body||{}},query:d||m?.query,method:h,async onSuccess(e){if(await m?.onSuccess?.(e),!i||m.disableSignal)return;let t=i.filter(e=>e.matcher(c));if(!t.length)return;let n=new Set;for(let e of t){let t=r[e.signal];if(!t)return;if(n.has(e.signal))continue;n.add(e.signal);let i=t.get();setTimeout(()=>{t.set(!i)},10),e.callback?.(c)}}})}})}return a()}function tf(e,t={}){let n=(0,P.useRef)(e.get()),{keys:r,deps:i=[e,r]}=t,a=(0,P.useCallback)(t=>{let i=e=>{n.current!==e&&(n.current=e,t())};return i(e.value),r?.length?Tu(e,r,i):e.listen(i)},i),o=()=>n.current;return(0,P.useSyncExternalStore)(a,o,o)}function nf(e){return`use${Jd(e)}`}function rf(e){let{pluginPathMethods:t,pluginsActions:n,pluginsAtoms:r,$fetch:i,$store:a,atomListeners:o}=Kd(e),s={};for(let[e,t]of Object.entries(r))s[nf(e)]=()=>tf(t);return ef({...n,...s,$fetch:i,$store:a},i,t,r,o)}var af=typeof window<`u`?window.location.origin:`https://tipdf.com`,of=rf({baseURL:af}),{signIn:sf,signUp:cf,signOut:lf,useSession:uf,requestPasswordReset:df,resetPassword:ff}=of;function pf(e){return rf({baseURL:af,plugins:e.google_client_id&&e.google_one_tap_enabled===`true`?[uu({clientId:e.google_client_id,autoSelect:!1,cancelOnTapOutside:!1,context:`signin`,promptOptions:{baseDelay:1e3,maxAttempts:1}})]:[]})}var mf=class extends Error{code;data;constructor(e,t,n){super(t),this.code=e,this.data=n,this.name=`ApiError`}};async function hf(e,t){let n=await fetch(e,{...t,headers:{...t?.body?{"Content-Type":`application/json`}:{},...t?.headers}}
14),r=await n.json().catch(()=>({code:-1,message:n.statusText||`Request failed`}));if(r.code!==0)throw new mf(r.code??-1,r.message||`Request failed`,r.data);return r.data}var gf=(e,t)=>hf(e,t),_f=(e,t)=>hf(e,{method:`POST`,body:t==null?void 0:JSON.stringify(t)}),vf=(e,t)=>hf(e,{method:`PUT`,body:JSON.stringify(t)}),yf=(e,t)=>hf(e,{method:`PATCH`,body:JSON.stringify(t)}),bf=e=>hf(e,{method:`DELETE`});async function xf(e,t,n){let r=await fetch(e,{method:`POST`,body:t,signal:n});if(!r.ok){let e=await r.json().catch(()=>({code:-1,message:r.statusText||`Request failed`}));throw new mf(e.code??-1,e.message||`Request failed`,e.data)}let i=r.headers.get(`content-disposition`)??``,a=i.match(/filename\*=UTF-8''([^;]+)/i)?.[1],o=i.match(/filename="([^"]+)"/i)?.[1],s=a?decodeURIComponent(a):o||`document.pdf`;return{bytes:new Uint8Array(await r.arrayBuffer()),name:s,type:r.headers.get(`content-type`)||`application/octet-stream`}}async function Sf(e,t,n){let r=await fetch(e,{method:`POST`,body:t,signal:n}),i=await r.json().catch(()=>({code:-1,message:r.statusText||`Request failed`}));if(!r.ok||i.code!==0)throw new mf(i.code??-1,i.message||`Request failed`,i.data);return i.data}function Cf(e,t){let n=new URLSearchParams({page:String(t.page),pageSize:String(t.pageSize)});return t.search&&n.set(`search`,t.search),`${e}?${n}`}function wf(){return Cl({queryKey:[`public-config`],queryFn:()=>gf(`/api/config/public`,{cache:`no-store`}),staleTime:0})}function Tf(){let{data:e,isPending:t}=uf(),{data:n}=wf(),r=(0,P.useRef)(!1);return(0,P.useEffect)(()=>{r.current||n&&(t||e?.user||n.google_one_tap_enabled!==`true`||!n.google_client_id||(r.current=!0,pf(n).oneTap?.({callbackURL:`/`,onPromptNotification:()=>{}}
14).catch(()=>{})))},[n,e,t]),null}var Ef=e(a(),1);function Df(e){if(!e||typeof document>`u`)return;let t=document.head||document.getElementsByTagName(`head`)[0],n=document.createElement(`style`);n.type=`text/css`,t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}var Of=e=>{switch(e){case`success`:return jf;case`info`:return Nf;case`warning`:return Mf;case`error`:return Pf;default:return null}},kf=Array(12).fill(0),Af=({visible:e,className:t})=>P.createElement(`div`,{className:[`sonner-loading-wrapper`,t].filter(Boolean).join(` `),"data-visible":e},P.createElement(`div`,{className:`sonner-spinner`},kf.map((e,t)=>P.createElement(`div`,{className:`sonner-loading-bar`,key:`spinner-bar-${t}`})))),jf=P.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},P.createElement(`path`,{fillRule:`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,clipRule:`evenodd`})),Mf=P.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`},P.createElement(`path`,{fillRule:`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,clipRule:`evenodd`})),Nf=P.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},P.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,clipRule:`evenodd`})),Pf=P.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`},P.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,clipRule:`evenodd`})),Ff=P.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`},P.createElement(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),P.createElement(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})),If=()=>{let[e,t]=P.useState(document.hidden);return P.useEffect(()=>{let e=()=>{t(document.hidden)};return document.addEventListener(`visibilitychange`,e),()=>window.removeEventListener(`visibilitychange`,e)},[]),e},Lf=1,Rf=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e]},this.create=e=>{let{message:t,...n}=e,r=typeof e?.id==`number`||e.id?.length>0?e.id:Lf++,i=this.toasts.find(e=>e.id===r),a=e.dismissible===void 0?!0:e.dismissible;return this.dismissedToasts.has(r)&&this.dismissedToasts.delete(r),i?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:a,title:t}):n):this.addToast({title:t,...n,dismissible:a,id:r}),r},this.dismiss=e=>(e?(this.dismissedToasts.add(e),requestAnimationFrame(()=>this.subscribers.forEach(t=>t({id:e,dismiss:!0})))):this.toasts.forEach(e=>{this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e),this.message=(e,t)=>this.create({...t,message:e}),this.error=(e,t)=>this.create({...t,message:e,type:`error`}),this.success=(e,t)=>this.create({...t,type:`success`,message:e}),this.info=(e,t)=>this.create({...t,type:`info`,message:e}),this.warning=(e,t)=>this.create({...t,type:`warning`,message:e}),this.loading=(e,t)=>
14this.create({...t,type:`loading`,message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],P.isValidElement(e))i=!1,this.create({id:n,type:`default`,message:e});else if(Bf(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!P.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!P.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!P.isValidElement(r)?r:{message:r};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!P.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally==null||t.finally.call(t)}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})},this.custom=(e,t)=>{let n=t?.id||Lf++;return this.create({jsx:e(n),id:n,...t}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},zf=(e,t)=>{let n=t?.id||Lf++;return Rf.addToast({title:e,...t,id:n}),n},Bf=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,Vf=Object.assign(zf,{success:Rf.success,info:Rf.info,warning:Rf.warning,error:Rf.error,custom:Rf.custom,message:Rf.message,promise:Rf.promise,dismiss:Rf.dismiss,loading:Rf.loading},{getHistory:()=>Rf.toasts,getToasts:()=>Rf.getActiveToasts()});Df(`
vendor: 14,859 bytes, line 14
14[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}
14`);function Hf(e){return e.label!==void 0}var Uf=3,Wf=`24px`,Gf=`16px`,Kf=4e3,qf=356,Jf=14,Yf=45,Xf=200;function Zf(...e){return e.filter(Boolean).join(` `)}function Qf(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}var $f=e=>{let{invert:t,toast:n,unstyled:r,interacting:i,setHeights:a,visibleToasts:o,heights:s,index:c,toasts:l,expanded:u,removeToast:d,defaultRichColors:f,closeButton:p,style:m,cancelButtonStyle:h,actionButtonStyle:g,className:_=``,descriptionClassName:v=``,duration:y,position:b,gap:x,expandByDefault:ee,classNames:S,icons:te,closeButtonAriaLabel:ne=`Close toast`}=e,[re,ie]=P.useState(null),[ae,oe]=P.useState(null),[se,ce]=P.useState(!1),[le,ue]=P.useState(!1),[de,C]=P.useState(!1),[w,fe]=P.useState(!1),[pe,me]=P.useState(!1),[he,ge]=P.useState(0),[E,_e]=P.useState(0),ve=P.useRef(n.duration||y||Kf),ye=P.useRef(null),be=P.useRef(null),xe=c===0,Se=c+1<=o,Ce=n.type,we=n.dismissible!==!1,Te=n.className||``,Ee=n.descriptionClassName||``,De=P.useMemo(()=>s.findIndex(e=>e.toastId===n.id)||0,[s,n.id]),D=P.useMemo(()=>n.closeButton??p,[n.closeButton,p]),Oe=P.useMemo(()=>n.duration||y||Kf,[n.duration,y]),ke=P.useRef(0),Ae=P.useRef(0),je=P.useRef(0),Me=P.useRef(null),[Ne,Pe]=b.split(`-`),Fe=P.useMemo(()=>
14s.reduce((e,t,n)=>n>=De?e:e+t.height,0),[s,De]),Ie=If(),Le=n.invert||t,Re=Ce===`loading`;Ae.current=P.useMemo(()=>De*x+Fe,[De,Fe]),P.useEffect(()=>{ve.current=Oe},[Oe]),P.useEffect(()=>{ce(!0)},[]),P.useEffect(()=>{let e=be.current;if(e){let t=e.getBoundingClientRect().height;return _e(t),a(e=>[{toastId:n.id,height:t,position:n.position},...e]),()=>a(e=>e.filter(e=>e.toastId!==n.id))}},[a,n.id]),P.useLayoutEffect(()=>{if(!se)return;let e=be.current,t=e.style.height;e.style.height=`auto`;let r=e.getBoundingClientRect().height;e.style.height=t,_e(r),a(e=>e.find(e=>e.toastId===n.id)?e.map(e=>e.toastId===n.id?{...e,height:r}:e):[{toastId:n.id,height:r,position:n.position},...e])},[se,n.title,n.description,a,n.id,n.jsx,n.action,n.cancel]);let ze=P.useCallback(()=>{ue(!0),ge(Ae.current),a(e=>e.filter(e=>e.toastId!==n.id)),setTimeout(()=>{d(n)},Xf)},[n,d,a,Ae]);P.useEffect(()=>{if(n.promise&&Ce===`loading`||n.duration===1/0||n.type===`loading`)return;let e;return u||i||Ie?(()=>{if(je.current<ke.current){let e=new Date().getTime()-ke.current;ve.current-=e}je.current=new Date().getTime()})():ve.current!==1/0&&(ke.current=new Date().getTime(),e=setTimeout(()=>{n.onAutoClose==null||n.onAutoClose.call(n,n),ze()},ve.current)),()=>clearTimeout(e)},[u,i,n,Ce,Ie,ze]),P.useEffect(()=>{n.delete&&(ze(),n.onDismiss==null||n.onDismiss.call(n,n))},[ze,n.delete]);function Be(){return te?.loading?P.createElement(`div`,{className:Zf(S?.loader,n?.classNames?.loader,`sonner-loader`),"data-visible":Ce===`loading`},te.loading):P.createElement(Af,{className:Zf(S?.loader,n?.classNames?.loader),visible:Ce===`loading`})}let Ve=n.icon||te?.[Ce]||Of(Ce);return P.createElement(`li`,{tabIndex:0,ref:be,className:Zf(_,Te,S?.toast,n?.classNames?.toast,S?.default,S?.[Ce],n?.classNames?.[Ce]),"data-sonner-toast":``,"data-rich-colors":n.richColors??f,"data-styled":!(n.jsx||n.unstyled||r),"data-mounted":se,"data-promise":!!n.promise,"data-swiped":pe,"data-removed":le,"data-visible":Se,"data-y-position":Ne,"data-x-position":Pe,"data-index":c,"data-front":xe,"data-swiping":de,"data-dismissible":we,"data-type":Ce,"data-invert":Le,"data-swipe-out":w,"data-swipe-direction":ae,"data-expanded":!!(u||ee&&se),"data-testid":n.testId,style:{"--index":c,"--toasts-before":c,"--z-index":l.length-c,"--offset":`${le?he:Ae.current}px`,"--initial-height":ee?`auto`:`${E}px`,...m,...n.style},onDragEnd:()=>{C(!1),ie(null),Me.current=null},onPointerDown:e=>{e.button!==2&&(Re||!we||(ye.current=new Date,ge(Ae.current),e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(C(!0),Me.current={x:e.clientX,y:e.clientY})))},onPointerUp:()=>{if(w||!we)return;Me.current=null;let e=Number(be.current?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(be.current?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),r=new Date().getTime()-ye.current?.getTime(),i=re===`x`?e:t,a=Math.abs(i)/r;if(Math.abs(i)>=Yf||a>.11){ge(Ae.current),n.onDismiss==null||n.onDismiss.call(n,n),oe(re===`x`?e>0?`right`:`left`:t>0?`down`:`up`),ze(),fe(!0);return}else{var o,s;(o=be.current)==null||o.style.setProperty(`--swipe-amount-x`,`0px`),(s=be.current)==null||s.style.setProperty(`--swipe-amount-y`,`0px`)}me(!1),C(!1),ie(null)},onPointerMove:t=>{var n,r;if(!Me.current||!we||window.getSelection()?.toString().length>0)return;let i=t.clientY-Me.current.y,a=t.clientX-Me.current.x,o=e.swipeDirections??Qf(b);!re&&(Math.abs(a)>1||Math.abs(i)>1)&&ie(Math.abs(a)>Math.abs(i)?`x`:`y`);let s={x:0,y:0},c=e=>1/(1.5+Math.abs(e)/20);if(re===`y`){if(o.includes(`top`)||o.includes(`bottom`))if(o.includes(`top`)&&i<0||o.includes(`bottom`)&&i>0)s.y=i;else{let e=i*c(i);s.y=Math.abs(e)<Math.abs(i)?e:i}}else if(re===`x`&&(o.includes(`left`)||o.includes(`right`)))if(o.includes(`left`)&&a<0||o.includes(`right`)&&a>0)s.x=a;else{let e=a*c(a);s.x=Math.abs(e)<Math.abs(a)?e:a}(Math.abs(s.x)>0||Math.abs(s.y)>0)&&me(!0),(n=be.current)==null||n.style.setProperty(`--swipe-amount-x`,`${s.x}px`),(r=be.current)==null||r.style.setProperty(`--swipe-amount-y`,`${s.y}px`)}},D&&!n.jsx&&Ce!==`loading`?P.createElement(`button`,{"aria-label":ne,"data-disabled":Re,"data-close-button":!0,onClick:Re||!we?()=>{}:()=>{ze(),n.onDismiss==null||n.onDismiss.call(n,n)},className:Zf(S?.closeButton,n?.classNames?.closeButton)},te?.close??Ff):null,(Ce||n.icon||n.promise)&&n.icon!==null&&(te?.[Ce]!==null||n.icon)?P.createElement(`div`,{"data-icon":``,className:Zf(S?.icon,n?.classNames?.icon)},n.promise||n.type===`loading`&&!n.icon?n.icon||Be():null,n.type===`loading`?null:Ve):null,P.createElement(`div`,{"data-content":``,className:Zf(S?.content,n?.classNames?.content)},P.createElement(`div`,{"data-title":``,className:Zf(S?.title,n?.classNames?.title)},n.jsx?n.jsx:typeof n.title==`function`?n.title():n.title),n.description?P.createElement(`div`,{"data-description":``,className:Zf(v,Ee,S?.description,n?.classNames?.description)},typeof n.description==`function`?n.description():n.description):null),P.isValidElement(n.cancel)?n.c
14ancel:n.cancel&&Hf(n.cancel)?P.createElement(`button`,{"data-button":!0,"data-cancel":!0,style:n.cancelButtonStyle||h,onClick:e=>{Hf(n.cancel)&&we&&(n.cancel.onClick==null||n.cancel.onClick.call(n.cancel,e),ze())},className:Zf(S?.cancelButton,n?.classNames?.cancelButton)},n.cancel.label):null,P.isValidElement(n.action)?n.action:n.action&&Hf(n.action)?P.createElement(`button`,{"data-button":!0,"data-action":!0,style:n.actionButtonStyle||g,onClick:e=>{Hf(n.action)&&(n.action.onClick==null||n.action.onClick.call(n.action,e),!e.defaultPrevented&&ze())},className:Zf(S?.actionButton,n?.classNames?.actionButton)},n.action.label):null)};function ep(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}function tp(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?Gf:Wf;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var np=P.forwardRef(function(e,t){let{id:n,invert:r,position:i=`bottom-right`,hotkey:a=[`altKey`,`KeyT`],expand:o,closeButton:s,className:c,offset:l,mobileOffset:u,theme:d=`light`,richColors:f,duration:p,style:m,visibleToasts:h=Uf,toastOptions:g,dir:_=ep(),gap:v=Jf,icons:y,containerAriaLabel:b=`Notifications`}=e,[x,ee]=P.useState([]),S=P.useMemo(()=>n?x.filter(e=>e.toasterId===n):x.filter(e=>!e.toasterId),[x,n]),te=P.useMemo(()=>Array.from(new Set([i].concat(S.filter(e=>e.position).map(e=>e.position)))),[S,i]),[ne,re]=P.useState([]),[ie,ae]=P.useState(!1),[oe,se]=P.useState(!1),[ce,le]=P.useState(d===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:d),ue=P.useRef(null),de=a.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),C=P.useRef(null),w=P.useRef(!1),fe=P.useCallback(e=>{ee(t=>(t.find(t=>t.id===e.id)?.delete||Rf.dismiss(e.id),t.filter(({id:t})=>t!==e.id)))},[]);return P.useEffect(()=>Rf.subscribe(e=>{if(e.dismiss){requestAnimationFrame(()=>{ee(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))});return}setTimeout(()=>{Ef.flushSync(()=>{ee(t=>{let n=t.findIndex(t=>t.id===e.id);return n===-1?[e,...t]:[...t.slice(0,n),{...t[n],...e},...t.slice(n+1)]})})})}),[x]),P.useEffect(()=>{if(d!==`system`){le(d);return}if(d===`system`&&(window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?le(`dark`):le(`light`)),typeof window>`u`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`);try{e.addEventListener(`change`,({matches:e})=>{le(e?`dark`:`light`)})}catch{e.addListener(({matches:e})=>{try{le(e?`dark`:`light`)}catch(e){console.error(e)}})}},[d]),P.useEffect(()=>{x.length<=1&&ae(!1)},[x]),P.useEffect(()=>{let e=e=>{if(a.every(t=>e[t]||e.code===t)){var t;ae(!0),(t=ue.current)==null||t.focus()}e.code===`Escape`&&(document.activeElement===ue.current||ue.current?.contains(document.activeElement))&&ae(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a]),P.useEffect(()=>{if(ue.current)return()=>{C.current&&(C.current.focus({preventScroll:!0}),C.current=null,w.current=!1)}},[ue.current]),P.createElement(`section`,{ref:t,"aria-label":`${b} ${de}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`,suppressHydrationWarning:!0},te.map((t,n)=>{let[i,a]=t.split(`-`);return S.length?P.createElement(`ol`,{key:t,dir:_===`auto`?ep():_,tabIndex:-1,ref:ue,className:c,"data-sonner-toaster":!0,"data-sonner-theme":ce,"data-y-position":i,"data-x-position":a,style:{"--front-toast-height":`${ne[0]?.height||0}px`,"--width":`${qf}px`,"--gap":`${v}px`,...m,...tp(l,u)},onBlur:e=>{w.current&&!e.currentTarget.contains(e.relatedTarget)&&(w.current=!1,C.current&&=(C.current.focus({preventScroll:!0}),null))},onFocus:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`fal
14se`||w.current||(w.current=!0,C.current=e.relatedTarget)},onMouseEnter:()=>ae(!0),onMouseMove:()=>ae(!0),onMouseLeave:()=>{oe||ae(!1)},onDragEnd:()=>ae(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||se(!0)},onPointerUp:()=>se(!1)},S.filter(e=>!e.position&&n===0||e.position===t).map((n,i)=>P.createElement($f,{key:n.id,icons:y,index:i,toast:n,defaultRichColors:f,duration:g?.duration??p,className:g?.className,descriptionClassName:g?.descriptionClassName,invert:r,visibleToasts:h,closeButton:g?.closeButton??s,interacting:oe,position:t,style:g?.style,unstyled:g?.unstyled,classNames:g?.classNames,cancelButtonStyle:g?.cancelButtonStyle,actionButtonStyle:g?.actionButtonStyle,closeButtonAriaLabel:g?.closeButtonAriaLabel,removeToast:fe,toasts:S.filter(e=>e.position==n.position),heights:ne.filter(e=>e.position==n.position),setHeights:re,expandByDefault:o,gap:v,expanded:ie,swipeDirections:e.swipeDirections}))):null}))}),rp=D(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),ip=D(`bot`,[[`path`,{d:`M12 8V4H8`,key:`hb8ula`}],[`rect`,{width:`16`,height:`12`,x:`4`,y:`8`,rx:`2`,key:`enze0r`}],[`path`,{d:`M2 14h2`,key:`vft8re`}],[`path`,{d:`M20 14h2`,key:`4cs60a`}],[`path`,{d:`M15 13v2`,key:`1xurst`}],[`path`,{d:`M9 13v2`,key:`rq6x2g`}]]),ap=D(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),op=D(`clipboard-pen-line`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,key:`1oijnt`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-.5`,key:`1but9f`}],[`path`,{d:`M16 4h2a2 2 0 0 1 1.73 1`,key:`1p8n7l`}],[`path`,{d:`M8 18h1`,key:`13wk12`}],[`path`,{d:`M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`,key:`2t3380`}]]),sp=D(`combine`,[[`path`,{d:`M10 18H5a3 3 0 0 1-3-3v-1`,key:`ru65g8`}],[`path`,{d:`M14 2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2`,key:`e30een`}],[`path`,{d:`M20 2a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2`,key:`2ahx8o`}],[`path`,{d:`m7 21 3-3-3-3`,key:`127cv2`}],[`rect`,{x:`14`,y:`14`,width:`8`,height:`8`,rx:`2`,key:`1b0bso`}],[`rect`,{x:`2`,y:`2`,width:`8`,height:`8`,rx:`2`,key:`1x09vl`}]]),cp=D(`crop`,[[`path`,{d:`M6 2v14a2 2 0 0 0 2 2h14`,key:`ron5a4`}],[`path`,{d:`M18 22V8a2 2 0 0 0-2-2H2`,key:`7s9ehn`}]]),lp=D(`file-archive`,[[`path`,{d:`M10 12v-1`,key:`v7bkov`}],[`path`,{d:`M10 18v-2`,key:`1cjy8d`}],[`path`,{d:`M10 7V6`,key:`dljcrl`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M15.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v16a2 2 0 0 0 .274 1.01`,key:`gkbcor`}],[`circle`,{cx:`10`,cy:`20`,r:`2`,key:`1xzdoj`}]]),up=D(`file-check-2`,[[`path`,{d:`M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4`,key:`1pf5j1`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`m3 15 2 2 4-4`,key:`1lhrkk`}]]),dp=D(`file-image`,[[`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`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),fp=D(`file-input`,[[`path`,{d:`M4 22h14a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v4`,key:`1pf5j1`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M2 15h10`,key:`jfw4w8`}],[`path`,{d:`m9 18 3-3-3-3`,key:`112psh`}]]),pp=D(`file-output`,[[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M4 7V4a2 2 0 0 1 2-2 2 2 0 0 0-2 2`,key:`1vk7w2`}],[`path`,{d:`M4.063 20.999a2 2 0 0 0 2 1L18 22a2 2 0 0 0 2-2V7l-5-5H6`,key:`1jink5`}],[`path`,{d:`m5 11-3 3`,key:`1dgrs4`}],[`path`,{d:`m5 17-3-3h10`,key:`1mvvaf`}]]),mp=D(`file-pen-line`,[[`path`,{d:`m18 5-2.414-2.414A2 2 0 0 0 14.172 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2`,key:`142zxg`}],[`path`,{d:`M21.378 12.626a1 1 0 0 0-3.004-3.004l-4.01 4.012a2 2 0 0 0-.506.854l-.837 2.87a.5.5 0 0 0 .62.62l2.87-.837a2 2 0 0 0 .854-.506z`,key:`2t3380`}],[`path`,{d:`M8 18h1`,key:`13wk12`}]]),hp=D(`file-question`,[[`path`,{d:`M12 17h.01`,key:`p32p05`}],[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z`,key:`1mlx9k`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`,key:`mhlwft`}]]),gp=D(`file-spreadsheet`,[[`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:`M8 13h2`,key:`yr2amv`}],[`path`,{d:`M14 13h2`,key:`un5t4a`}],[`path`,{d:`M8 17h2`,key:`2yhykz`}],[`path`,{d:`M14 17h2`,key:`10kma7`}]]),_p=D(`file-text`,[[`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`}]]),vp=D(`files`,[[`path`,{d:`M20 7h-3a2 2 0 0 1-2-2V2`,key:`x099mo`}],[`path`,{d:`M9 18a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h7l4 4v10a2 2 0 0 1-2 2Z`,key:`18t6ie`}],[`path`,{d:`M3 7.6v12.8A1.6 1.6 0 0 0 4.6 22h9.8`,key:`1nja0z`}]]),yp=D(`grid-2x2`,[[`path`,{d:`M12 3v18`,key:`108xh3`}],[`path`,{d:`M3 12h18`,key:`1i2n21`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,key:`h1oib`}]]),bp=D(`hash`,[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`,key:`4lhtct`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`,key:`vyu0kd`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`,key:`1ggp8o`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`,key:`weycgp`}]]),xp=D(`highlighter`,[[`path`,{d:`m9 11-6 6v3h9l3-3`,key:`1a3l36`}],[`path`,{d:`m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4`,key:`14a9rk`}]]),Sp=D(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),Cp=D(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),wp=D(`languages`,[[`path`,{d:`m5 8 6 6`,key:`1wu5hv`}],[`path`,{d:`m4 14 6-6 2-3`,key:`1k1g8d`}],[`path`,{d:`M2 5h12`,key:`or177f`}],[`path`,{d:`M7 2h1`,key:`1t2jsx`}],[`path`,{d:`m22 22-5-10-5 10`,key:`don7ne`}],[`path`,{d:`M14 18h6`,key:`1m8k6r`}]]),Tp=D(`layers`,[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]]),Ep=D(`list-checks`,[[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}],[`path`,{d:`M13 6h8`,key:`15sg57`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 18h8`,key:`oe0vm4`}]]),Dp=D(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),Op=D(`lock-keyhole-open`,[[`circle`,{cx:`12`,cy:`16`,r:`1`,key:`1au0dj`}],[`rect`,{width:`18`,height:`12`,x:`3`,y:`10`,rx:`2`,key:`l0tzu3`}],[`path`,{d:`M7 10V7a5 5 0 0 1 9.33-2.5`,key:`car5b7`}]]),kp=D(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),Ap=D(`message-square-text`,[[`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`,key:`1lielz`}],[`path`,{d:`M13 8H7`,key:`14i4kc`}
14],[`path`,{d:`M17 12H7`,key:`16if0g`}]]),jp=D(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),Mp=D(`octagon-x`,[[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`,key:`2d38gg`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),Np=D(`presentation`,[[`path`,{d:`M2 3h20`,key:`91anmk`}],[`path`,{d:`M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3`,key:`2k9sn8`}],[`path`,{d:`m7 21 5-5 5 5`,key:`bip4we`}]]),Pp=D(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),Fp=D(`scan-line`,[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`,key:`aa7l1z`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`,key:`4qcy5o`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`,key:`6vwrx8`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`,key:`ioqczr`}],[`path`,{d:`M7 12h10`,key:`b7w52i`}]]),Ip=D(`scan-text`,[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`,key:`aa7l1z`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`,key:`4qcy5o`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`,key:`6vwrx8`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`,key:`ioqczr`}],[`path`,{d:`M7 8h8`,key:`1jbsf9`}],[`path`,{d:`M7 12h10`,key:`b7w52i`}],[`path`,{d:`M7 16h6`,key:`1vyc9m`}]]),Lp=D(`scissors`,[[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M8.12 8.12 12 12`,key:`1alkpv`}],[`path`,{d:`M20 4 8.12 15.88`,key:`xgtan2`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`path`,{d:`M14.8 14.8 20 20`,key:`ptml3r`}]]),Rp=D(`share-2`,[[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}],[`circle`,{cx:`6`,cy:`12`,r:`3`,key:`w7nqdw`}],[`circle`,{cx:`18`,cy:`19`,r:`3`,key:`1xt0gg`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`,key:`47mynk`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`,key:`1n3mei`}]]),zp=D(`shield-check`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Bp=D(`stamp`,[[`path`,{d:`M5 22h14`,key:`ehvnwv`}],[`path`,{d:`M19.27 13.73A2.5 2.5 0 0 0 17.5 13h-11A2.5 2.5 0 0 0 4 15.5V17a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-1.5c0-.66-.26-1.3-.73-1.77Z`,key:`1sy9ra`}],[`path`,{d:`M14 13V8.5C14 7 15 7 15 5a3 3 0 0 0-3-3c-1.66 0-3 1-3 3s1 2 1 3.5V13`,key:`cnxgux`}]]),Vp=D(`trash-2`,[[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6`,key:`4alrt4`}],[`path`,{d:`M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2`,key:`v07s0e`}],[`line`,{x1:`10`,x2:`10`,y1:`11`,y2:`17`,key:`1uufr5`}],[`line`,{x1:`14`,x2:`14`,y1:`11`,y2:`17`,key:`xtxkd`}]]),Hp=D(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),Up=D(`type`,[[`path`,{d:`M12 4v16`,key:`1654pz`}],[`path`,{d:`M4 7V5a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v2`,key:`e0r10z`}],[`path`,{d:`M9 20h6`,key:`s66wpe`}]]),Wp=({...e})=>{let{theme:t=`system`}=Hl();return(0,F.jsx)(np,{theme:t,className:`toaster group`,icons:{success:(0,F.jsx)(ap,{className:`size-4`}),info:(0,F.jsx)(Cp,{className:`size-4`}),warning:(0,F.jsx)(Hp,{className:`size-4`}),error:(0,F.jsx)(Mp,{className:`size-4`}),loading:(0,F.jsx)(Dp,{className:`size-4 animate-spin`})},style:{"--normal-bg":`var(--popover)`,"--normal-text":`var(--popover-foreground)`,"--normal-border":`var(--border)`,"--border-radius":`var(--radius)`},toastOptions:{classNames:{toast:`cn-toast`}},...e})},Gp=`G-KQWLRZTYYV`,Kp=jl().handler(Io(`cbd81923ae1249d4c007f69579597cf1e79f1f7b8675cc608ba82e8926b5bb59`)),qp=Es({loader:()=>Kp(),head:({matches:e,loaderData:t})=>{let n=(t?.appUrl||W.app_url||``).replace(/\/$/,``),r=e.at(-1)?.pathname||`/`,i=`${n}${r===`/`?`/`:r.replace(/\/+$/,``)}`,a=`${n}/imgs/tipdf/social-card.webp`,o=`${n}/#organization`,s=`${n}/#website`;return{meta:[{charSet:`utf-8`},{name:`viewport`,content:`width=device-width, initial-scale=1`},{title:W.app_name},{name:`description`,content:W.app_description},{property:`og:type`,content:`website`},{property:`og:site_name`,content:W.app_name},{property:`og:title`,content:W.app_name},{property:`og:description`,content:W.app_description},{property:`og:url`,content:i},{property:`og:image`,content:a},{property:`og:image:type`,content:`image/webp`},{property:`og:image:width`,content:`1200`},{property:`og:image:height`,content:`630`},{name:`twitter:card`,content:`summary_large_image`},{name:`twitter:title`,content:W.app_name},{name:`twitter:description`,content:W.app_description},{name:`twitter:image`,content:a},{"script:ld+json":{"@context":`https://schema.org`,"@graph":[{"@type":`Organization`,"@id":o,name:W.app_name,url:n,logo:`${n}/apple-touch-icon.png`},{"@type":`WebSite`,"@id":s,name:W.app_name,url:n,description:W.app_description,inLanguage:`en`,publisher:{"@id":o}}]}}
14],links:[{rel:`icon`,href:`/favicon.ico`,sizes:`32x32`},{rel:`icon`,href:`/favicon.svg`,type:`image/svg+xml`},{rel:`icon`,href:`/favicon-32x32.png`,type:`image/png`,sizes:`32x32`},{rel:`icon`,href:`/favicon-16x16.png`,type:`image/png`,sizes:`16x16`},{rel:`apple-touch-icon`,href:`/apple-touch-icon.png`,sizes:`180x180`},{rel:`manifest`,href:`/site.webmanifest`},{rel:`canonical`,href:i}]}},component:eee,shellComponent:tee,notFoundComponent:nee,errorComponent:ree});function eee(){let e=qp.useLoaderData();return(0,F.jsxs)(ll,{client:Xl(),children:[(0,F.jsxs)(Ul,{attribute:`class`,defaultTheme:`light`,forcedTheme:`light`,enableSystem:!1,disableTransitionOnChange:!0,children:[(0,F.jsx)(Is,{}),(0,F.jsx)(Wp,{position:`top-center`,richColors:!0}),(0,F.jsx)(Tf,{}),(0,F.jsx)(Zl,{measurementId:Gp}),e?.plausibleDomain?(0,F.jsx)(Ql,{domain:e.plausibleDomain,src:e.plausibleSrc||void 0}):null]}),!1]})}function tee({children:e}){return(0,F.jsxs)(`html`,{lang:`en`,suppressHydrationWarning:!0,children:[(0,F.jsx)(`head`,{children:(0,F.jsx)(Ys,{})}),(0,F.jsxs)(`body`,{className:`font-sans antialiased`,children:[e,(0,F.jsx)(Xs,{})]})]})}function nee(){return(0,F.jsxs)(`div`,{className:`bg-background text-foreground flex min-h-screen flex-col items-center justify-center gap-4`,children:[(0,F.jsx)(`h1`,{className:`text-6xl font-bold`,children:`404`}),(0,F.jsx)(`p`,{className:`text-muted-foreground`,children:`Page not found`}),(0,F.jsx)(`a`,{href:`/`,className:`text-sm underline underline-offset-4`,children:`Back to home`})]})}function ree({error:e,reset:t}){return(0,F.jsxs)(`div`,{className:`bg-background text-foreground flex min-h-screen flex-col items-center justify-center gap-4`,children:[(0,F.jsx)(`h1`,{className:`text-4xl font-bold`,children:`Oops`}),(0,F.jsx)(`p`,{className:`text-muted-foreground`,children:`Something went wrong. Please try again.`}),!1,(0,F.jsx)(`button`,{type:`button`,onClick:t,className:`text-sm underline underline-offset-4`,children:`Try again`})]})}var Jp=I(`/support`)({head:()=>({meta:[{title:`TiPDF Help Center`},{name:`description`,content:`Find current TiPDF account, document-processing, privacy, and troubleshooting guidance.`}]}),component:L(()=>R(()=>import(`./support-pWk6X70a.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26])),`component`)}),Yp=I(`/pricing`)({head:()=>({meta:[{title:`Free PDF Tools & Current Access | TiPDF`},{name:`description`,content:`See which TiPDF browser tools are available free today and how local, remote, and AI-assisted workflows handle documents.`}]}),component:L(()=>R(()=>import(`./pricing-FhLMSjrF.js`),__vite__mapDeps([27,1,2,3,4,28,6,11,7,12,13,8,14,16,29,18,19,5,9,20,21,15,22,23,24,30,31,32,33,34,35,36])),`component`)}),Xp={},Zp=[`en`],Qp=[`baseLocale`],$p=[],em,tm;function iee(e){if($p.length===0)return;let t=typeof e==`string`?e:e.href;if(em===t)return tm;let n=new URL(t,`http://dummy.com`),r;for(let e of $p)if(new Xp(e.match,n.href).exec(n.href)){r=e;break}return em=t,tm=r,r}function nm(e){let t=iee(e);return t&&t.exclude!==!0&&Array.isArray(t.strategy)?t.strategy:Qp}var rm=void 0;globalThis.__paraglide=globalThis.__paraglide??{},globalThis.__paraglide.ssr=globalThis.__paraglide.ssr??{};var im=!1,J=()=>{if(rm){let e=rm?.getStore()?.locale;if(e)return e}let e=Qp;typeof window<`u`&&window.location?.href&&(e=nm(window.location.href));let t=am(e,typeof window<`u`?window.location?.href:void 0);if(t)return im||(im=!0,oee(t,{reload:!1})),t;throw Error(`No locale found. Read the docs https://inlang.com/m/gerre34r/library-inlang-paraglideJs/errors#no-locale-found`)};function am(e,t){let n;for(let t of e){if(t===`baseLocale`)n=`en`;else if(bm(t)&&ym.has(t)){let e=ym.get(t);if(e){let t=e.getLocale();if(t instanceof Promise)continue;if(t!==void 0)return cm(t)}}let e=sm(n);if(e)return e}}var aee=e=>{e?window.location.href=e:window.location.reload()},oee=(e,t)=>{let n={reload:!0,...t},r;try{r=J()}catch{}let i=[],a=Qp;typeof window<`u`&&window.location?.href&&(a=nm(window.location.href));for(let t of a)if(t===`baseLocale`)continue;else if(bm(t)&&ym.has(t)){let n=ym.get(t);if(n){let r=n.setLocale(e);r instanceof Promise&&(r=r.catch(e=>{throw Error(`Custom strategy "${t}" setLocale failed.`,{cause:e})}),i.push(r))}}let o=()=>{n.reload&&window.location&&e!==r&&aee(void 0)};if(i.length)return Promise.all(i).then(()=>{o()});o()},om=()=>rm?rm.getStore()?.origin??`http://fallback.com`:typeof window<`u`?window.location.origin:`http://fallback.com`;function sm(e){if(typeof e!=`string`)return;let t=e.toLowerCase();for(let e of Zp)if(e.toLowerCase()===t)return e}function cm(e){let t=sm(e);if(t)return t;throw Error(`Invalid locale: ${e}. Expected one of: ${Zp.join(`, `)}`)}var lm,um;function dm(e){let t=typeof e==`string`?e:e.href;if(lm===t)return um;let n;return n=fm(e),lm=t,um=n,n}function fm(e){return sm(new URL(e,`http://dummy.com`).pathname.split(`/`).filter(
14Boolean)[0])||`en`}function pm(e,t){return mm(e,t?.locale?cm(t?.locale):J())}function mm(e,t){let n=typeof e==`string`?new URL(e,om()):new URL(e);if(dm(n)===t)return n;let r=n.pathname.split(`/`).filter(Boolean);return r.length>0&&sm(r[0])&&r.shift(),t===`en`?n.pathname=`/`+r.join(`/`):n.pathname=`/`+t+`/`+r.join(`/`),n}function hm(e){return gm(e)}function gm(e){let t=typeof e==`string`?new URL(e,om()):new URL(e),n=t.pathname.split(`/`).filter(Boolean);return n.length>0&&sm(n[0])&&(t.pathname=`/`+n.slice(1).join(`/`)),t}function _m(e,t){let n=J(),r=t?.locale??n,i=new URL(e,om()),a=pm(i,{locale:r});return e.startsWith(`/`)&&i.origin===a.origin?r!==n&&pm(i,{locale:n}).origin!==a.origin?a.href:a.pathname+a.search+a.hash:a.href}function vm(e){let t=new URL(e,om()),n=hm(t);return e.startsWith(`/`)&&t.origin===n.origin?n.pathname+n.search+n.hash:n.href}var ym=new Map;function bm(e){return typeof e==`string`&&/^custom-[A-Za-z0-9_-]+$/.test(e)}var xm=()=>`My App`,Sm=((e={},t={})=>(t.locale??J(),xm(e))),Cm=()=>`Ship your SaaS faster`,wm=((e={},t={})=>(t.locale??J(),Cm(e))),Tm=()=>`Sign In`,Em=((e={},t={})=>(t.locale??J(),Tm(e))),Dm=()=>`Welcome back`,Om=((e={},t={})=>(t.locale??J(),Dm(e))),km=()=>`Sign Up`,Am=((e={},t={})=>(t.locale??J(),km(e))),jm=()=>`Get started for free`,Mm=((e={},t={})=>(t.locale??J(),jm(e))),Nm=()=>`Email`,Pm=((e={},t={})=>(t.locale??J(),Nm(e))),see=()=>`Enter your email`,Fm=((e={},t={})=>(t.locale??J(),see(e))),cee=()=>`Password`,Im=((e={},t={})=>(t.locale??J(),cee(e))),lee=()=>`Enter your password`,Lm=((e={},t={})=>(t.locale??J(),lee(e))),uee=()=>`Confirm Password`,Rm=((e={},t={})=>(t.locale??J(),uee(e))),dee=()=>`Re-enter your password`,zm=((e={},t={})=>(t.locale??J(),dee(e))),fee=()=>`Passwords do not match`,Bm=((e={},t={})=>(t.locale??J(),fee(e))),Vm=()=>`Name`,Hm=((e={},t={})=>(t.locale??J(),Vm(e))),Um=()=>`Enter your name`,Wm=((e={},t={})=>(t.locale??J(),Um(e))),Gm=()=>`Don't have an account?`,Km=((e={},t={})=>(t.locale??J(),Gm(e))),qm=()=>`Already have an account?`,Jm=((e={},t={})=>(t.locale??J(),qm(e))),Ym=()=>`Or continue with`,Xm=((e={},t={})=>(t.locale??J(),Ym(e))),Zm=()=>`Sign Out`,Qm=((e={},t={})=>(t.locale??J(),Zm(e))),$m=()=>`Sign in with Google`,eh=((e={},t={})=>(t.locale??J(),$m(e))),th=()=>`Sign in with GitHub`,nh=((e={},t={})=>(t.locale??J(),th(e))),rh=()=>`No sign-in methods available`,ih=((e={},t={})=>(t.locale??J(),rh(e))),ah=()=>`The administrator hasn't enabled any sign-in methods yet. Please check back later.`,oh=((e={},t={})=>(t.locale??J(),ah(e))),sh=()=>`Forgot your password?`,ch=((e={},t={})=>(t.locale??J(),sh(e))),lh=()=>`Forgot password`,uh=((e={},t={})=>(t.locale??J(),lh(e))),dh=()=>`Enter your email and we'll send you a link to reset your password.`,fh=((e={},t={})=>(t.locale??J(),dh(e))),ph=()=>`Send reset link`,mh=((e={},t={})=>(t.locale??J(),ph(e))),hh=()=>`Check your email`,gh=((e={},t={})=>(t.locale??J(),hh(e))),_h=e=>`If an account exists for ${e?.email}, we've sent a link to reset your password. The link will expire in 1 hour.`,vh=((e,t={})=>(t.locale??J(),_h(e))),yh=()=>`Back to sign in`,bh=((e={},t={})=>(t.locale??J(),yh(e))),xh=()=>`Reset password`,Sh=((e={},t={})=>(t.locale??J(),xh(e))),Ch=()=>`Choose a new password for your account.`,wh=((e={},t={})=>(t.locale??J(),Ch(e))),Th=()=>`New password`,Eh=((e={},t={})=>(t.locale??J(),Th(e))),Dh=()=>`Enter your new password`,Oh=((e={},t={})=>(t.locale??J(),Dh(e))),kh=()=>`Re-enter your new password`,Ah=((e={},t={})=>(t.locale??J(),kh(e))),jh=()=>`Reset password`,Mh=((e={},t={})=>(t.locale??J(),jh(e))),Nh=()=>`Your password has been reset. You can now sign in.`,Ph=((e={},t={})=>(t.locale??J(),Nh(e))),pee=()=>`This reset link is invalid or has expired. Please request a new one.`,Fh=((e={},t={})=>(t.locale??J(),pee(e))),mee=()=>`Missing reset token. Please open the link from your email.`,Ih=((e={},t={})=>(t.locale??J(),mee(e))),hee=()=>`Password reset is not available`,Lh=((e={},t={})=>(t.locale??J(),hee(e))),gee=()=>`The administrator hasn't configured an email service yet, so reset links can't be sent. Please contact support.`,Rh=((e={},t={})=>(t.locale??J(),gee(e))),_ee=()=>`Check your email`,zh=((e={},t={})=>(t.locale??J(),_ee(e))),vee=()=>`To continue, click the link sent to`,Bh=((e={},t={})=>(t.locale??J(),vee(e))),yee=()=>`Continue`,Vh=((e={},t={})=>(t.locale??J(),yee(e))),bee=()=>`After verifying, click "Continue".`,Hh=((e={},t={})=>(t.locale??J(),bee(e))),xee=()=>`Not verified yet. Please click the link in your email first.`,Uh=((e={},t={})=>(t.locale??J(),xee(e))),See=()=>`Failed to send verification email`,Wh=((e={},t={})=>(t.locale??J(),See(e))),Cee=()=>`Email is required`,Gh=((e={},t={})=>(t.locale??J(),Cee(e))),wee=()=>`Resend verification email`,Kh=((e={},t={})=>(t.locale??J(),wee(e))),Tee=e=>`Resend in ${e?.seconds}s`,qh=((e,t={})=>(t.locale??J(),Tee(e))),Jh=()=>`Invite code`,Yh=((e={},t={})=>(t.locale??J(),Jh(e))),Xh=()=>`Enter your invite code`,Zh=((e={},t={})=>(t.locale??J(),Xh(e))),Qh=()=>`Invite code is required`,$h=((e={},t={})=>(t.locale??J(),Qh(e))),eg=()=>`Invalid invite code`,tg=((e={},t={})=>(t.locale??J(),eg(e))),ng=()=>`Enter your invite code`,rg=((e={},t={})=>(t.locale??J(),ng(e))),ig=()=>`This app is invite-only. Enter a valid invite code to continue.`,ag=((e={},t={})=>(t.locale??J(),ig(e))),og=()=>`Continue`,sg=((e={},t={})=>(t.locale??J(),og(e))),cg=()=>`Page not found`,lg=((e={},t={})=>(t.locale??J(),cg(e))),ug=()=>`Back to home`,dg=((e={},t={})=>(t.locale??J(),ug(e))),fg=()=>`Oops`,pg=((e={},t={})=>(t.locale??J(),fg(e))),mg=()=>`Something went wrong. Please try again.`,hg=((e={},t={})=>(t.locale??J(),mg(e))),gg=()=>`Try again`,_g=((e={},t={})=>(t.locale??J(),gg(e))),vg=()=>`Get Started`,yg=((e={},t={})=>(t.locale??J(),vg(e))),bg=()=>`Processing...`,xg=((e={},t={})=>(t.locale??J(),bg(e))),Sg=()=>`Choose payment method`,Cg=((e={},t={})=>(t.locale??J(),Sg(e))),wg=()=>`Pick how you'd like to pay.`,Tg=((e={},t={})=>(t.locale??J(),wg(e))),Eg=e=>`${e?.plan} â ${e?.price}`,Dg=((e,t={})=>(t.locale??J(),Eg(e))),Og=e=>`${e?.plan}`,kg=((e,t={})=>(t.locale??J(),Og(e))),Ag=()=>`Switch System`,jg=((e={},t={})=>(t.locale??J(),Ag(e))),Mg=()=>`Admin`,Ng=((e={},t={})=>(t.locale??J(),Mg(e))),Pg=()=>`Settings`,Fg=((e={},t={})=>(t.locale??J(),Pg(e))),Ig=()=>
14`Home`,Lg=((e={},t={})=>(t.locale??J(),Ig(e))),Rg=()=>`Search...`,zg=((e={},t={})=>(t.locale??J(),Rg(e))),Bg=()=>`No data`,Vg=((e={},t={})=>(t.locale??J(),Bg(e))),Hg=e=>`${e?.count} records`,Ug=((e,t={})=>(t.locale??J(),Hg(e))),Wg=e=>`Page ${e?.current} of ${e?.total}`,Gg=((e,t={})=>(t.locale??J(),Wg(e))),Kg=()=>`Previous`,qg=((e={},t={})=>(t.locale??J(),Kg(e))),Jg=()=>`Next`,Yg=((e={},t={})=>(t.locale??J(),Jg(e))),Xg=()=>`Refresh`,Zg=((e={},t={})=>(t.locale??J(),Xg(e))),Qg=()=>`Settings`,$g=((e={},t={})=>(t.locale??J(),Qg(e))),e_=()=>`Billing`,t_=((e={},t={})=>(t.locale??J(),e_(e))),n_=()=>`API Keys`,r_=((e={},t={})=>(t.locale??J(),n_(e))),i_=()=>`Profile`,a_=((e={},t={})=>(t.locale??J(),i_(e))),o_=()=>`Sign In`,s_=((e={},t={})=>(t.locale??J(),o_(e))),c_=()=>`Get Started`,l_=((e={},t={})=>(t.locale??J(),c_(e))),u_=()=>`Light`,d_=((e={},t={})=>(t.locale??J(),u_(e))),f_=()=>`Dark`,p_=((e={},t={})=>(t.locale??J(),f_(e))),m_=()=>`System`,h_=((e={},t={})=>(t.locale??J(),m_(e))),g_=()=>`Back to home`,__=((e={},t={})=>(t.locale??J(),g_(e))),v_=()=>`Last updated`,y_=((e={},t={})=>(t.locale??J(),v_(e))),b_=()=>`Contact support`,x_=((e={},t={})=>(t.locale??J(),b_(e))),S_=()=>`Contact Support`,C_=((e={},t={})=>(t.locale??J(),S_(e))),w_=()=>`Submit a ticket and our team will get back to you`,T_=((e={},t={})=>(t.locale??J(),w_(e))),E_=()=>`Please sign in to submit a support ticket.`,D_=((e={},t={})=>(t.locale??J(),E_(e))),O_=()=>`Sign In`,k_=((e={},t={})=>(t.locale??J(),O_(e))),A_=()=>`Subject`,j_=((e={},t={})=>(t.locale??J(),A_(e))),M_=()=>`Brief summary of your issue`,N_=((e={},t={})=>(t.locale??J(),M_(e))),P_=()=>`Description`,F_=((e={},t={})=>(t.locale??J(),P_(e))),I_=()=>`Describe your issue in detail...`,L_=((e={},t={})=>(t.locale??J(),I_(e))),R_=()=>`You can track replies in`,z_=((e={},t={})=>(t.locale??J(),R_(e))),B_=()=>`Support Tickets`,V_=((e={},t={})=>(t.locale??J(),B_(e))),H_=()=>`Subject and description are required`,U_=((e={},t={})=>(t.locale??J(),H_(e))),W_=()=>`Ticket submitted â we'll get back to you soon`,G_=((e={},t={})=>(t.locale??J(),W_(e))),K_=()=>`Cancel`,q_=((e={},t={})=>(t.locale??J(),K_(e))),J_=()=>`Submit`,Y_=((e={},t={})=>(t.locale??J(),J_(e))),X_=()=>`Submitting...`,Z_=((e={},t={})=>(t.locale??J(),X_(e))),Q_=()=>`Images (optional)`,$_=((e={},t={})=>(t.locale??J(),Q_(e))),ev=()=>`Settings`,tv=((e={},t={})=>(t.locale??J(),ev(e))),nv=e=>`Welcome back, ${e?.name}`,rv=((e,t={})=>(t.locale??J(),nv(e))),iv=()=>`Your app content goes here.`,av=((e={},t={})=>(t.locale??J(),iv(e))),ov=()=>`Overview`,sv=((e={},t={})=>(t.locale??J(),ov(e))),cv=()=>`Profile`,lv=((e={},t={})=>(t.locale??J(),cv(e))),uv=()=>`Billing`,dv=((e={},t={})=>(t.locale??J(),uv(e))),fv=()=>`Payments`,pv=((e={},t={})=>(t.locale??J(),fv(e))),Eee=()=>`Credits`,mv=((e={},t={})=>(t.locale??J(),Eee(e))),Dee=()=>`API Keys`,hv=((e={},t={})=>(t.locale??J(),Dee(e))),Oee=()=>`Support Tickets`,gv=((e={},t={})=>(t.locale??J(),Oee(e))),kee=()=>`Plan`,_v=((e={},t={})=>(t.locale??J(),kee(e))),Aee=()=>`Free`,vv=((e={},t={})=>(t.locale??J(),Aee(e))),jee=()=>`Current subscription`,yv=((e={},t={})=>(t.locale??J(),jee(e))),Mee=()=>`Usage`,bv=((e={},t={})=>(t.locale??J(),Mee(e))),Nee=()=>`API calls this month`,xv=((e={},t={})=>(t.locale??J(),Nee(e))),Pee=()=>`Active keys`,Sv=((e={},t={})=>(t.locale??J(),Pee(e))),Fee=()=>`Getting Started`,Cv=((e={},t={})=>(t.locale??J(),Fee(e))),Iee=()=>`Build your product on top of this engine`,wv=((e={},t={})=>(t.locale??J(),Iee(e))),Lee=()=>`Profile`,Tv=((e={},t={})=>(t.locale??J(),Lee(e))),Ree=()=>`Manage your account`,Ev=((e={},t={})=>(t.locale??J(),Ree(e))),zee=()=>`Profile`,Dv=((e={},t={})=>(t.locale??J(),zee(e))),Bee=()=>`Name`,Ov=((e={},t={})=>(t.locale??J(),Bee(e))),Vee=()=>`Email`,kv=((e={},t={})=>(t.locale??J(),Vee(e))),Hee=()=>`Avatar`,Av=((e={},t={})=>(t.locale??J(),Hee(e))),Uee=()=>`Drop an image, click to upload, or paste from clipboard`,jv=((e={},t={})=>(t.locale??J(),Uee(e))),Wee=()=>`Save`,Mv=((e={},t={})=>(t.locale??J(),Wee(e))),Gee=()=>`Saving...`,Nv=((e={},t={})=>(t.locale??J(),Gee(e))),Kee=()=>`Settings saved`,Pv=((e={},t={})=>(t.locale??J(),Kee(e))),qee=()=>`Failed to save`,Fv=((e={},t={})=>(t.locale??J(),qee(e))),Jee=()=>`Loading...`,Iv=((e={},t={})=>(t.locale??J(),Jee(e))),Yee=()=>`Billing`,Lv=((e={},t={})=>(t.locale??J(),Yee(e))),Xee=()=>`Manage your subscriptions`,Rv=((e={},t={})=>(t.locale??J(),Xee(e))),Zee=()=>`Credits`,Qee=((e={},t={})=>(t.locale??J(),Zee(e))),$ee=()=>`Your available credit balance`,ete=((e={},t={})=>(t.locale??J(),$ee(e))),tte=()=>`Current Subscription`,zv=((e={},t={})=>(t.locale??J(),tte(e))),nte=()=>`Subscriptions`,rte=((e={},t={})=>(t.locale??J(),nte(e))),ite=()=>`Subscription Details`,Bv=((e={},t={})=>(t.locale??J(),ite(e))),Vv=()=>`No active subscription`,Hv=((e={},t={})=>(t.locale??J(),Vv(e))),Uv=()=>`Subscribe`,Wv=((e={},t={})=>(t.locale??J(),Uv(e))),Gv=()=>`Change plan`,Kv=((e={},t={})=>(t.locale??J(),Gv(e))),qv=()=>`Plan`,Jv=((e={},t={})=>(t.locale??J(),qv(e))),Yv=()=>`Status`,Xv=((e={},t={})=>(t.locale??J(),Yv(e))),Zv=()=>`Interval`,Qv=((e={},t={})=>(t.locale??J(),Zv(e))),$v=()=>`No.`,ey=((e={},t={})=>(t.locale??J(),$v(e))),ty=()=>`Current period`,ny=((e={},t={})=>(t.locale??J(),ty(e))),ry=()=>`Ends at`,iy=((e={},t={})=>(t.locale??J(),ry(e))),ay=e=>`Renews on ${e?.date}`,oy=((e,t={})=>(t.locale??J(),ay(e))),sy=e=>`Ends on ${e?.date}`,cy=((e,t={})=>(t.locale??J(),sy(e))),ly=()=>`Period start`,uy=((e={},t={})=>(t.locale??J(),ly(e))),dy=()=>`Period end`,fy=((e={},t={})=>(t.locale??J(),dy(e))),py=()=>`Canceled at`,my=((e={},t={})=>(t.locale??J(),py(e))),hy=()=>`Ends at`,gy=((e={},t={})=>(t.locale??J(),hy(e))),_y=()=>`Reason`,vy=((e={},t={})=>(t.locale??J(),_y(e))),yy=()=>`View`,by=((e={},t={})=>(t.locale??J(),yy(e))),xy=()=>`Cancel subscription`,Sy=((e={},t={})=>(t.locale??J(),xy(e))),Cy=()=>`Cancel subscription`,wy=((e={},t={})=>(t.locale??J(),Cy(e))),Ty=e=>`Are you sure you want to cancel your ${e?.plan} subscription? You'll keep access until the end of the current billing period.`,Ey=((e,t={})=>(t.locale??J(),Ty(e))),Dy=()=>`Cancel subscription`,Oy=((e={},t={})=>(t.locale??J(),Dy(e))),ky=()=>`Keep subscription`,Ay=((e={},t={})=>(t.locale??J(),ky(e))),jy=()=>`Canceling...`,My=((e={},t={})=>(t.locale??J(),jy(e))),Ny=()=>`Subscription canceled`,Py=((e={},t={})=>(t.locale??J(),Ny(e))),Fy=()=>`Failed to cancel subscription`,Iy=((e={},t={})=>(t.locale??J(),Fy(e))),Ly=()=>`Close`,Ry=((e={},t={})=>(t.locale??J(),Ly(e))),zy=()=>`Actions`,By=((e={},t={})=>(t.locale??J(),zy(e))),Vy=()=>`All`,Hy=((e={},t={})=>(t.locale??J(),Vy(e))),Uy=()=>`Active`,Wy=((e={},t={})=>(t.locale??J(),Uy(e))),Gy=()=>`Trialing`,Ky=((e={},t={})=>(t.locale??J(),Gy(e))),qy=()=>`Paused`,Jy=((e={},t={})=>(t.locale??J(),qy(e))),Yy=()=>`Expired`,Xy=((e={},t={})=>(t.locale??J(),Yy(e))),Zy=()=>`Pending Cancel`,Qy=((e={},t={})=>(t.locale??J(),Zy(e))),$y=()=>`Canceled`,eb=((e={},t={})=>(t.locale??J(),$y(e))),tb=()=>`Payments`,nb=((e={},t={})=>(t.locale??J(),tb(e))),rb=()=>`No payments yet`,ib=((e={},t={})=>(t.locale??J(),rb(e))),ab=()=>`Order`,ob=((e={},t={})=>(t.locale??J(),ab(e))),sb=()=>`Amount`,cb=((e={},t={})=>(t.locale??J(),sb(e))),lb=()=>`Provider`,ub=((e={},t={})=>(t.locale??J(),lb(e))),db=()=>`Date`,fb=((e={},t={})=>(t.locale??J(),db(e))),pb=()=>`Payments`,mb=((e={},t={})=>(t.locale??J(),pb(e))),hb=()=>`Your payment history`,gb=((e={},t={})=>(t.locale??J(),hb(e))),_b=()=>`All`,vb=((e={},t={})=>(t.locale??J(),_b(e))),yb=()=>`One-time`,bb=((e={},t={})=>(t.locale??J(),yb(e))),xb=()=>`Subscription`,Sb=((e={},t={})=>(t.locale??J(),xb(e))),Cb=()=>`Renewal`,wb=((e={},t={})=>(t.locale??J(),Cb(e))),Tb=()=>`No payments yet`,Eb=((e={},t={})=>(t.locale??J(),Tb(e))),Db=()=>`Order`,Ob=((e={},t={})=>(t.locale??J(),Db(e))),kb=()=>`Product`,Ab=((e={},t={})=>(t.locale??J(),kb(e))),jb=()=>`Amount`,Mb=((e={},t={})=>(t.locale??J(),jb(e))),Nb=()=>`Status`,Pb=((e={},t={})=>(t.locale??J(),Nb(e))),Fb=()=>`Type`,Ib=((e={},t={})=>(t.locale??J(),Fb(e))),Lb=()=>`Provider`,Rb=((e={},t={})=>(t.locale??J(),Lb(e))),zb=()=>`Date`,Bb=((e={},t={})=>(t.locale??J(),zb(e))),Vb=()=>`Invoice`,Hb=((e={},t={})=>(t.locale??J(),Vb(e))),Ub=()=>`Credits`,Wb=((e={},t={})=>(t.locale??J(),Ub(e))),Gb=()=>`Your credits balance and history`,Kb=((e={},t={})=>(t.locale??J(),Gb(e))),qb=()=>`Balance`,Jb=((e={},t={})=>(t.locale??J(),qb(e))),Yb=()=>`Purchase Credits`,Xb=((e={},t={})=>(t.locale??J(),Yb(e))),Zb=()=>`All`,Qb=((e={},t={})=>(t.locale??J(),Zb(e))),$b=()=>`Grant`,ex=((e={},t={})=>(t.locale??J(),$b(e))),tx=()=>`Consume`,nx=((e={},t={})=>(t.locale??J(),tx(e))),rx=()=>`No credit records yet`,ix=((e={},t={})=>(t.locale??J(),rx(e))),ax=()=>`Transaction`,ox=((e={},t={})=>(t.locale??J(),ax(e))),sx=()=>`Type`,cx=((e={},t={})=>(t.locale??J(),sx(e))),lx=()=>`Scene`,ux=((e={},t={})=>(t.locale??J(),lx(e))),dx=()=>`Credits`,fx=((e={},t={})=>(t.locale??J(),dx(e))),px=()=>`Remaining`,mx=((e={},t={})=>(t.locale??J(),px(e))),hx=()=>`Description`,gx=((e={},t={})=>(t.locale??J(),hx(e))),_x=()=>`Expires`,vx=((e={},t={})=>(t.locale??J(),_x(e))),yx=()=>`Date`,bx=((e={},t={})=>(t.locale??J(),yx(e))),xx=()=>`API Keys`,Sx=((e={},t={})=>(t.locale??J(),xx(e))),Cx=()=>`Manage your API keys for programmatic access`,wx=((e={},t={})=>(t.locale??J(),Cx(e))),Tx=()=>`Your Keys`,Ex=((e={},t={})=>(t.locale??J(),Tx(e))),Dx=()=>`Use these keys to authenticate API requests`,Ox=((e={},t={})=>(t.locale??J(),Dx(e))),kx=()=>`Create Key`,Ax=((e={},t={})=>(t.locale??J(),kx(e))),jx=()=>`Create API Key`,Mx=((e={},t={})=>(t.locale??J(),jx(e))),Nx=()=>`Give your key a name to identify it later`,Px=((e={},t={})=>(t.locale??J(),Nx(e))),Fx=()=>`Key Name`,Ix=((e={},t={})=>(t.locale??J(),Fx(e))),Lx=()=>`e.g. Production, Development`,Rx=((e={},t={})=>(t.locale??J(),Lx(e))),zx=()=>`Cancel`,Bx=((e={},t={})=>(t.locale??J(),zx(e))),Vx=()=>`Create`,Hx=((e={},t={})=>(t.locale??J(),Vx(e))),Ux=()=>`Creating...`,Wx=((e={},t={})=>(t.locale??J(),Ux(e))),Gx=()=>`API key created`,Kx=((e={},t={})=>(t.locale??J(),Gx(e))),qx=()=>`Copied to clipboard`,Jx=((e={},t={})=>(t.locale??J(),qx(e))),Yx=()=>`Key copied to clipboard`,Xx=((e={},t={})=>(t.locale??J(),Yx(e))),Zx=()=>`Key deleted`,Qx=((e={},t={})=>(t.locale??J(),Zx(e))),$x=()=>`Failed to create key`,eS=((e={},t={})=>(t.locale??J(),$x(e))),tS=()=>`No API keys yet. Create one to get started.`,nS=((e={},t={})=>(t.locale??J(),tS(e))),rS=()=>`Name`,iS=((e={},t={})=>(t.locale??J(),rS(e))),aS=()=>`Key`,oS=((e={},t={})=>(t.locale??J(),aS(e))),sS=()=>`Actions`,cS=((e={},t={})=>(t.locale??J(),sS(e))),lS=()=>`Support Tickets`,uS=((e={},t={})=>(t.locale??J(),lS(e))),dS=()=>`Submit a ticket and our team will get back to you`,fS=((e={},t={})=>(t.locale??J(),dS(e))),pS=()=>`New Ticket`,mS=((e={},t={})=>(t.locale??J(),pS(e))),hS=()=>`Submit a Ticket`,gS=((e={},t={})=>(t.locale??J(),hS(e))),_S=()=>`Describe your issue and we'll respond as soon as possible`,vS=((e={},t={})=>(t.locale??J(),_S(e))),yS=()=>`Subject`,bS=((e={},t={})=>(t.locale??J(),yS(e))),xS=()=>`Brief summary of your issue`,SS=((e={},t={})=>(t.locale??J(),xS(e))),CS=()=>`Description`,wS=((e={},t={})=>(t.locale??J(),CS(e))),TS=()=>`Describe your issue in detail...`,ES=((e={},t={})=>(t.locale??J(),TS(e))),DS=()=>`Subject`,OS=((e={},t={})=>(t.locale??J(),DS(e))),kS=()=>`Status`,AS=((e={},t={})=>(t.locale??J(),kS(e))),jS=()=>`Last Updated`,MS=((e={},t={})=>(t.locale??J(),jS(e))),NS=()=>`Actions`,PS=((e={},t={})=>(t.locale??J(),NS(e))),FS=()=>`Open`,IS=((e={},t={})=>(t.locale??J(),FS(e))),LS=()=>`In Progress`,RS=((e={},t={})=>(t.locale??J(),LS(e))),zS=()=>`Closed`,BS=((e={},t={})=>(t.locale??J(),zS(e))),VS=()=>`No tickets yet`,HS=((e={},t={})=>(t.locale??J(),VS(e))),US=()=>`Subject and description are required`,WS=((e={},t={})=>(t.locale??J(),US(e))),GS=()=>`Ticket submitted`,KS=((e={},t={})=>(t.locale??J(),GS(e))),qS=()=>`Ticket closed`,JS=((e={},t={})=>(t.locale??J(),qS(e))),YS=()=>`Close Ticket`,XS=((e={},t={})=>(t.locale??J(),YS(e))),ZS=()=>`This ticket is closed. Create a new ticket if you need further help.`,QS=((e={},t={})=>(t.locale??J(),ZS(e))),$S=()=>`Write a reply...`,eC=((e={},t={})=>(t.locale??J(),$S(e))),tC=()=>`Send Reply`,nC=((e={},t={})=>(t.locale??J(),tC(e))),rC=()=>`Sending...`,iC=((e={},t={})=>(t.locale??J(),rC(e))),aC=()=>`Support Team`,oC=((e={},t={})=>(t.locale??J(),aC(e))),sC=()=>`You`,cC=((e={},t={})=>(t.locale??J(),sC(e))),lC=()=>`Cancel`,uC=((e={},t={})=>(t.locale??J(),lC(e))),dC=()=>`Submit`,fC=((e={},t={})=>(t.locale??J(),dC(e))),pC=()=>`Submitting...`,mC=((e={},t={})=>(t.locale??J(),pC(e))),hC=()=>`Images (optional)`,gC=((e={},t={})=>(t.locale??J(),hC(e))),_C=()=>`Latest Reply`,vC=((e={},t={})=>(t.locale??J(),_C(e))),yC=()=>`Created At`,bC=((e={},t={})=>(t.locale??J(),yC(e))),xC=()=>`Admin`,SC=((e={},t={})=>(t.locale??J(),xC(e))),CC=()=>`System overview`,wC=((e={},t={})=>(t.locale??J(),CC(e))),TC=()=>`Loading...`,EC=((e={},t={})=>(t.locale??J(),TC(e))),DC=()=>`Dashboard`,OC=((e={},t={})=>(t.locale??J(),DC(e))),kC=()=>`Overview`,AC=((e={},t={})=>(t.locale??J(),kC(e))),jC=()=>`Settings`,MC=((e={},t={})=>(t.locale??J(),jC(e))),NC=()=>`RBAC`,PC=((e={},t={})=>(t.locale??J(),NC(e))),FC=()=>`Users`,IC=((e={},t={})=>(t.locale??J(),FC(e))),LC=()=>`Roles`,RC=((e={},t={})=>(t.locale??J(),LC(e))),zC=()=>`Permissions`,BC=((e={},t={})=>(t.locale??J(),zC(e))),VC=()=>`Content`,HC=((e={},t={})=>(t.locale??J(),VC(e))),UC=()=>`Categories`,WC=((e={},t={})=>(t.locale??J(),UC(e))),GC=()=>`Posts`,KC=((e={},t={})=>(t.locale??J(),GC(e))),qC=()=>`Payments & Credits`,JC=((e={},t={})=>(t.locale??J(),qC(e))),YC=()=>`Payments`,XC=((e={},t={})=>(t.locale??J(),YC(e))),ZC=()=>`Subscriptions`,QC=((e={},t={})=>(t.locale??J(),ZC(e))),$C=()=>`Credits`,ew=((e={},t={})=>(t.locale??J(),$C(e))),tw=()=>`Invite Codes`,nw=((e={},t={})=>(t.locale??J(),tw(e))),rw=()=>`Tickets`,iw=((e={},t={})=>(t.locale??J(),rw(e))),aw=()=>`Support`,ow=((e={},t={})=>(t.locale??J(),aw(e))),sw=()=>`Total Users`,cw=((e={},t={})=>(t.locale??J(),sw(e))),lw=()=>`Roles`,uw=((e={},t={})=>(t.locale??J(),lw(e))),dw=()=>`Users`,fw=((e={},t={})=>(t.locale??J(),dw(e))),pw=()=>`Manage all registered users`,mw=((e={},t={})=>(t.locale??J(),pw(e))),hw=()=>`All Users`,gw=((e={},t={})=>(t.locale??J(),hw(e))),_w=e=>`${e?.count} users registered`,vw=((e,t={})=>(t.locale??J(),_w(e))),yw=()=>`No users yet`,bw=((e={},t={})=>(t.locale??J(),yw(e))),xw=()=>`User`,Sw=((e={},t={})=>(t.locale??J(),xw(e))),Cw=()=>`Email`,ww=((e={},t={})=>(t.locale??J(),Cw(e))),Tw=()=>`Credits`,Ew=((e={},t={})=>(t.locale??J(),Tw(e))),Dw=()=>`Joined`,Ow=((e={},t={})=>(t.locale??J(),Dw(e))),kw=()=>`Actions`,Aw=((e={},t={})=>(t.locale??J(),kw(e))),ate=()=>`Manage Roles`,ote=((e={},t={})=>(t.locale??J(),ate(e))),ste=()=>`Manage User Roles`,jw=((e={},t={})=>(t.locale??J(),ste(e))),cte=()=>`Assign or remove roles for this user`,Mw=((e={},t={})=>(t.locale??J(),cte(e))),lte=()=>`Role assigned`,Nw=((e={},t={})=>(t.locale??J(),lte(e))),ute=()=>`Role removed`,Pw=((e={},t={})=>(t.locale??J(),ute(e))),dte=()=>`Manage Credits`,Fw=((e={},t={})=>(t.locale??J(),dte(e))),fte=e=>`${e?.name} â current balance: ${e?.balance}`,Iw=((e,t={})=>
14(t.locale??J(),fte(e))),pte=()=>`Grant`,Lw=((e={},t={})=>(t.locale??J(),pte(e))),mte=()=>`Deduct`,Rw=((e={},t={})=>(t.locale??J(),mte(e))),hte=()=>`Amount`,zw=((e={},t={})=>(t.locale??J(),hte(e))),gte=()=>`Description`,Bw=((e={},t={})=>(t.locale??J(),gte(e))),_te=()=>`Optional reason`,Vw=((e={},t={})=>(t.locale??J(),_te(e))),vte=()=>`Confirm`,Hw=((e={},t={})=>(t.locale??J(),vte(e))),yte=()=>`Submitting...`,Uw=((e={},t={})=>(t.locale??J(),yte(e))),bte=()=>`Enter a positive amount`,Ww=((e={},t={})=>(t.locale??J(),bte(e))),xte=()=>`Credits granted`,Gw=((e={},t={})=>(t.locale??J(),xte(e))),Ste=()=>`Credits deducted`,Kw=((e={},t={})=>(t.locale??J(),Ste(e))),Cte=()=>`Roles`,qw=((e={},t={})=>(t.locale??J(),Cte(e))),wte=()=>`Manage system roles and permissions`,Jw=((e={},t={})=>(t.locale??J(),wte(e))),Tte=()=>`All Roles`,Ete=((e={},t={})=>(t.locale??J(),Tte(e))),Dte=e=>`${e?.count} roles defined`,Ote=((e,t={})=>(t.locale??J(),Dte(e))),kte=()=>`No roles defined yet`,Yw=((e={},t={})=>(t.locale??J(),kte(e))),Ate=()=>`Name`,Xw=((e={},t={})=>(t.locale??J(),Ate(e))),jte=()=>`Title`,Zw=((e={},t={})=>(t.locale??J(),jte(e))),Mte=()=>`Status`,Nte=((e={},t={})=>(t.locale??J(),Mte(e))),Pte=()=>`Description`,Qw=((e={},t={})=>(t.locale??J(),Pte(e))),Fte=()=>`Actions`,$w=((e={},t={})=>(t.locale??J(),Fte(e))),Ite=()=>`Create Role`,eT=((e={},t={})=>(t.locale??J(),Ite(e))),Lte=()=>`Create New Role`,tT=((e={},t={})=>(t.locale??J(),Lte(e))),Rte=()=>`Define a new system role`,nT=((e={},t={})=>(t.locale??J(),Rte(e))),zte=()=>`Edit Role`,rT=((e={},t={})=>(t.locale??J(),zte(e))),Bte=()=>`Update role details`,iT=((e={},t={})=>(t.locale??J(),Bte(e))),Vte=()=>`Delete Role`,aT=((e={},t={})=>(t.locale??J(),Vte(e))),Hte=()=>`Are you sure you want to delete this role? This will deactivate it.`,oT=((e={},t={})=>(t.locale??J(),Hte(e))),Ute=()=>`Name`,sT=((e={},t={})=>(t.locale??J(),Ute(e))),Wte=()=>`e.g. editor`,cT=((e={},t={})=>(t.locale??J(),Wte(e))),Gte=()=>`Title`,lT=((e={},t={})=>(t.locale??J(),Gte(e))),Kte=()=>`e.g. Content Editor`,uT=((e={},t={})=>(t.locale??J(),Kte(e))),qte=()=>`Description`,dT=((e={},t={})=>(t.locale??J(),qte(e))),Jte=()=>`Optional description`,fT=((e={},t={})=>(t.locale??J(),Jte(e))),Yte=()=>`Save`,pT=((e={},t={})=>(t.locale??J(),Yte(e))),Xte=()=>`Cancel`,mT=((e={},t={})=>(t.locale??J(),Xte(e))),Zte=()=>`Delete`,hT=((e={},t={})=>(t.locale??J(),Zte(e))),Qte=()=>`Role created`,gT=((e={},t={})=>(t.locale??J(),Qte(e))),$te=()=>`Role updated`,_T=((e={},t={})=>(t.locale??J(),$te(e))),ene=()=>`Role deleted`,vT=((e={},t={})=>(t.locale??J(),ene(e))),tne=()=>`Permissions`,nne=((e={},t={})=>(t.locale??J(),tne(e))),rne=()=>`Manage Role Permissions`,yT=((e={},t={})=>(t.locale??J(),rne(e))),ine=()=>`Select permissions for this role`,bT=((e={},t={})=>(t.locale??J(),ine(e))),ane=()=>`Permissions updated`,xT=((e={},t={})=>(t.locale??J(),ane(e))),one=()=>`Permissions`,ST=((e={},t={})=>(t.locale??J(),one(e))),sne=()=>`Manage system permissions`,CT=((e={},t={})=>(t.locale??J(),sne(e))),cne=()=>`All Permissions`,lne=((e={},t={})=>(t.locale??J(),cne(e))),une=e=>`${e?.count} permissions defined`,dne=((e,t={})=>(t.locale??J(),une(e))),fne=()=>`No permissions defined yet`,wT=((e={},t={})=>(t.locale??J(),fne(e))),pne=()=>`Code`,TT=((e={},t={})=>(t.locale??J(),pne(e))),mne=()=>`Resource`,ET=((e={},t={})=>(t.locale??J(),mne(e))),hne=()=>`Action`,DT=((e={},t={})=>(t.locale??J(),hne(e))),gne=()=>`Title`,OT=((e={},t={})=>(t.locale??J(),gne(e))),_ne=()=>`Actions`,kT=((e={},t={})=>(t.locale??J(),_ne(e))),vne=()=>`Create Permission`,AT=((e={},t={})=>(t.locale??J(),vne(e))),yne=()=>`Create New Permission`,jT=((e={},t={})=>(t.locale??J(),yne(e))),bne=()=>`Define a new system permission`,MT=((e={},t={})=>(t.locale??J(),bne(e))),xne=()=>`Edit Permission`,NT=((e={},t={})=>(t.locale??J(),xne(e))),Sne=()=>`Update permission details`,PT=((e={},t={})=>(t.locale??J(),Sne(e))),FT=()=>`Delete Permission`,IT=((e={},t={})=>(t.locale??J(),FT(e))),LT=()=>`Are you sure you want to delete this permission? It will be removed from all roles.`,RT=((e={},t={})=>(t.locale??J(),LT(e))),zT=()=>`Code`,BT=((e={},t={})=>
14(t.locale??J(),zT(e))),VT=()=>`e.g. posts.create`,HT=((e={},t={})=>(t.locale??J(),VT(e))),UT=()=>`Resource`,WT=((e={},t={})=>(t.locale??J(),UT(e))),GT=()=>`e.g. posts`,KT=((e={},t={})=>(t.locale??J(),GT(e))),qT=()=>`Action`,JT=((e={},t={})=>(t.locale??J(),qT(e))),YT=()=>`e.g. create`,XT=((e={},t={})=>(t.locale??J(),YT(e))),ZT=()=>`Title`,QT=((e={},t={})=>(t.locale??J(),ZT(e))),$T=()=>`e.g. Create Posts`,eE=((e={},t={})=>(t.locale??J(),$T(e))),tE=()=>`Save`,nE=((e={},t={})=>(t.locale??J(),tE(e))),rE=()=>`Cancel`,iE=((e={},t={})=>(t.locale??J(),rE(e))),aE=()=>`Delete`,oE=((e={},t={})=>(t.locale??J(),aE(e))),sE=()=>`Permission created`,cE=((e={},t={})=>(t.locale??J(),sE(e))),lE=()=>`Permission updated`,uE=((e={},t={})=>(t.locale??J(),lE(e))),dE=()=>`Permission deleted`,fE=((e={},t={})=>(t.locale??J(),dE(e))),pE=()=>`Categories`,mE=((e={},t={})=>(t.locale??J(),pE(e))),hE=()=>`Manage content categories`,gE=((e={},t={})=>(t.locale??J(),hE(e))),_E=()=>`All Categories`,vE=((e={},t={})=>(t.locale??J(),_E(e))),yE=e=>`${e?.count} categories`,bE=((e,t={})=>(t.locale??J(),yE(e))),xE=()=>`No categories yet`,SE=((e={},t={})=>(t.locale??J(),xE(e))),CE=()=>`Slug`,wE=((e={},t={})=>(t.locale??J(),CE(e))),TE=()=>`Title`,EE=((e={},t={})=>(t.locale??J(),TE(e))),DE=()=>`Description`,OE=((e={},t={})=>(t.locale??J(),DE(e))),kE=()=>`Status`,AE=((e={},t={})=>(t.locale??J(),kE(e))),jE=()=>`Created At`,ME=((e={},t={})=>(t.locale??J(),jE(e))),NE=()=>`Actions`,PE=((e={},t={})=>(t.locale??J(),NE(e))),FE=()=>`Create Category`,IE=((e={},t={})=>(t.locale??J(),FE(e))),LE=()=>`Create New Category`,RE=((e={},t={})=>(t.locale??J(),LE(e))),zE=()=>`Add a new content category`,BE=((e={},t={})=>(t.locale??J(),zE(e))),VE=()=>`Edit Category`,HE=((e={},t={})=>(t.locale??J(),VE(e))),UE=()=>`Update category details`,WE=((e={},t={})=>(t.locale??J(),UE(e))),GE=()=>`Delete Category`,KE=((e={},t={})=>(t.locale??J(),GE(e))),qE=()=>`Are you sure you want to delete this category?`,JE=((e={},t={})=>(t.locale??J(),qE(e))),YE=()=>`Slug`,XE=((e={},t={})=>(t.locale??J(),YE(e))),ZE=()=>`e.g. tutorials`,QE=((e={},t={})=>(t.locale??J(),ZE(e))),$E=()=>`Title`,eD=((e={},t={})=>(t.locale??J(),$E(e))),tD=()=>`e.g. Tutorials`,nD=((e={},t={})=>(t.locale??J(),tD(e))),rD=()=>`Description`,iD=((e={},t={})=>(t.locale??J(),rD(e))),aD=()=>`Optional description`,oD=((e={},t={})=>(t.locale??J(),aD(e))),sD=()=>`Save`,cD=((e={},t={})=>(t.locale??J(),sD(e))),lD=()=>`Cancel`,uD=((e={},t={})=>(t.locale??J(),lD(e))),dD=()=>`Delete`,fD=((e={},t={})=>(t.locale??J(),dD(e))),pD=()=>`Category created`,mD=((e={},t={})=>(t.locale??J(),pD(e))),hD=()=>`Category updated`,gD=((e={},t={})=>(t.locale??J(),hD(e))),_D=()=>`Category deleted`,vD=((e={},t={})=>(t.locale??J(),_D(e))),yD=()=>`Posts`,bD=((e={},t={})=>(t.locale??J(),yD(e))),xD=()=>`Manage blog posts and articles`,SD=((e={},t={})=>(t.locale??J(),xD(e))),CD=()=>`All Posts`,wD=((e={},t={})=>(t.locale??J(),CD(e))),TD=e=>`${e?.count} posts`,ED=((e,t={})=>(t.locale??J(),TD(e))),DD=()=>`No posts yet`,OD=((e={},t={})=>(t.locale??J(),DD(e))),kD=()=>`Title`,AD=((e={},t={})=>(t.locale??J(),kD(e))),jD=()=>`Slug`,MD=((e={},t={})=>(t.locale??J(),jD(e))),ND=()=>`Author`,PD=((e={},t={})=>(t.locale??J(),ND(e))),FD=()=>`Status`,ID=((e={},t={})=>(t.locale??J(),FD(e))),LD=()=>`Created At`,RD=((e={},t={})=>(t.locale??J(),LD(e))),zD=()=>`Actions`,BD=((e={},t={})=>(t.locale??J(),zD(e))),VD=()=>`Create Post`,HD=((e={},t={})=>(t.locale??J(),VD(e))),UD=()=>`Create New Post`,WD=((e={},t={})=>(t.locale??J(),UD(e))),GD=()=>`Create a new blog post`,KD=((e={},t={})=>(t.locale??J(),GD(e))),qD=()=>`Edit Post`,JD=((e={},t={})=>(t.locale??J(),qD(e))),YD=()=>`Update post details`,XD=((e={},t={})=>(t.locale??J(),YD(e))),ZD=()=>`Delete Post`,QD=((e={},t={})=>(t.locale??J(),ZD(e))),$D=()=>`Are you sure you want to delete this post?`,eO=((e={},t={})=>(t.locale??J(),$D(e))),tO=()=>`Slug`,nO=((e={},t={})=>(t.locale??J(),tO(e))),rO=()=>`e.g. my-first-post`,iO=((e={},t={})=>(t.locale??J(),rO(e))),aO=()=>`Title`,oO=((e={},t={})=>(t.locale??J(),aO(e))),sO=()=>`Post title`,cO=((e={},t={})=>(t.locale??J(),sO(e))),lO=()=>`Description`,uO=((e={},t={})=>(t.locale??J(),lO(e))),dO=()=>`Brief description`,fO=((e={},t={})=>(t.locale??J(),dO(e))),pO=()=>`Author`,mO=((e={},t={})=>(t.locale??J(),pO(e))),hO=()=>`Author name`,gO=((e={},t={})=>(t.locale??J(),hO(e))),_O=()=>`Content`,vO=((e={},t={})=>(t.locale??J(),_O(e))),yO=()=>`Write your postâ¦`,bO=((e={},t={})=>(t.locale??J(),yO(e))),xO=()=>`Category`,SO=((e={},t={})=>(t.locale??J(),xO(e))),CO=()=>`Select category`,wO=((e={},t={})=>(t.locale??J(),CO(e))),TO=()=>`Status`,EO=((e={},t={})=>(t.locale??J(),TO(e))),DO=()=>`Draft`,OO=((e={},t={})=>(t.locale??J(),DO(e))),kO=()=>`Published`,AO=((e={},t={})=>(t.locale??J(),kO(e))),jO=()=>`Save`,MO=((e={},t={})=>(t.locale??J(),jO(e))),NO=()=>`Cancel`,PO=((e={},t={})=>(t.locale??J(),NO(e))),FO=()=>`Delete`,IO=((e={},t={})=>(t.locale??J(),FO(e))),LO=()=>`Post created`,RO=((e={},t={})=>(t.locale??J(),LO(e))),zO=()=>`Post updated`,BO=((e={},t={})=>(t.locale??J(),zO(e))),VO=()=>`Post deleted`,HO=((e={},t={})=>(t.locale??J(),VO(e))),UO=()=>`All`,WO=((e={},t={})=>(t.locale??J(),UO(e))),GO=()=>`Published`,KO=((e={},t={})=>(t.locale??J(),GO(e))),qO=()=>`Draft`,JO=((e={},t={})=>(t.locale??J(),qO(e))),YO=()=>`Payments`,XO=((e={},t={})=>(t.locale??J(),YO(e))),ZO=()=>`View all payment orders`,QO=((e={},t={})=>(t.locale??J(),ZO(e))),$O=()=>`All Payments`,ek=((e={},t={})=>(t.locale??J(),$O(e))),tk=e=>`${e?.count} payments`,nk=((e,t={})=>(t.locale??J(),tk(e))),rk=()=>`No payments yet`,ik=((e={},t={})=>(t.locale??J(),rk(e))),ak=()=>`Order No`,ok=((e={},t={})=>(t.locale??J(),ak(e))),sk=()=>`User`,ck=((e={},t={})=>(t.locale??J(),sk(e))),lk=()=>`Amount`,uk=((e={},t={})=>(t.locale??J(),lk(e))),dk=()=>`Status`,fk=((e={},t={})=>(t.locale??J(),dk(e))),pk=()=>`Type`,mk=((e={},t={})=>(t.locale??J(),pk(e))),hk=()=>`Provider`,gk=((e={},t={})=>(t.locale??J(),hk(e))),_k=()=>`Created At`,vk=((e={},t={})=>(t.locale??J(),_k(e))),yk=()=>`All`,bk=((e={},t={})=>(t.locale??J(),yk(e))),xk=()=>`Subscription`,Sk=((e={},t={})=>(t.locale??J(),xk(e))),Ck=()=>`One-Time`,wk=((e={},t={})=>(t.locale??J(),Ck(e))),Tk=()=>`Subscriptions`,Ek=((e={},t={})=>(t.locale??J(),Tk(e))),Dk=()=>`View all subscriptions`,Ok=((e={},t={})=>(t.locale??J(),Dk(e))),kk=()=>`All Subscriptions`,Ak=((e={},t={})=>(t.locale??J(),kk(e))),jk=e=>`${e?.count}
14 subscriptions`,Mk=((e,t={})=>(t.locale??J(),jk(e))),Nk=()=>`No subscriptions yet`,Pk=((e={},t={})=>(t.locale??J(),Nk(e))),Fk=()=>`Subscription No`,Ik=((e={},t={})=>(t.locale??J(),Fk(e))),Lk=()=>`User`,Rk=((e={},t={})=>(t.locale??J(),Lk(e))),zk=()=>`Amount`,Bk=((e={},t={})=>(t.locale??J(),zk(e))),Vk=()=>`Interval`,Hk=((e={},t={})=>(t.locale??J(),Vk(e))),Uk=()=>`Status`,Wk=((e={},t={})=>(t.locale??J(),Uk(e))),Gk=()=>`Provider`,Kk=((e={},t={})=>(t.locale??J(),Gk(e))),qk=()=>`Period`,Jk=((e={},t={})=>(t.locale??J(),qk(e))),Yk=()=>`Created At`,Xk=((e={},t={})=>(t.locale??J(),Yk(e))),Zk=()=>`All`,Qk=((e={},t={})=>(t.locale??J(),Zk(e))),$k=()=>`Monthly`,eA=((e={},t={})=>(t.locale??J(),$k(e))),tA=()=>`Yearly`,nA=((e={},t={})=>(t.locale??J(),tA(e))),rA=()=>`Credits`,iA=((e={},t={})=>(t.locale??J(),rA(e))),aA=()=>`Description`,oA=((e={},t={})=>(t.locale??J(),aA(e))),sA=()=>`All Credits`,cA=((e={},t={})=>(t.locale??J(),sA(e))),lA=e=>`${e?.count} records`,uA=((e,t={})=>(t.locale??J(),lA(e))),dA=()=>`No credit records yet`,fA=((e={},t={})=>(t.locale??J(),dA(e))),pA=()=>`Transaction No`,mA=((e={},t={})=>(t.locale??J(),pA(e))),hA=()=>`User`,gA=((e={},t={})=>(t.locale??J(),hA(e))),_A=()=>`Amount`,vA=((e={},t={})=>(t.locale??J(),_A(e))),yA=()=>`Remaining`,bA=((e={},t={})=>(t.locale??J(),yA(e))),xA=()=>`Type`,SA=((e={},t={})=>(t.locale??J(),xA(e))),CA=()=>`Scene`,wA=((e={},t={})=>(t.locale??J(),CA(e))),TA=()=>`Expires At`,EA=((e={},t={})=>(t.locale??J(),TA(e))),DA=()=>`Created At`,OA=((e={},t={})=>(t.locale??J(),DA(e))),kA=()=>`All`,AA=((e={},t={})=>(t.locale??J(),kA(e))),jA=()=>`Grant`,MA=((e={},t={})=>(t.locale??J(),jA(e))),NA=()=>`Consume`,PA=((e={},t={})=>(t.locale??J(),NA(e))),FA=()=>`Invite Codes`,IA=((e={},t={})=>(t.locale??J(),FA(e))),LA=()=>`Manage invite codes for sign-up`,RA=((e={},t={})=>(t.locale??J(),LA(e))),zA=()=>`New Invite Code`,BA=((e={},t={})=>(t.locale??J(),zA(e))),VA=()=>`Create Invite Codes`,HA=((e={},t={})=>(t.locale??J(),VA(e))),UA=()=>`Generate one or more invite codes. Random codes are produced automatically.`,WA=((e={},t={})=>(t.locale??J(),UA(e))),GA=()=>`Create`,KA=((e={},t={})=>(t.locale??J(),GA(e))),qA=()=>`Creating...`,JA=((e={},t={})=>(t.locale??J(),qA(e))),YA=()=>`Invite code(s) created`,XA=((e={},t={})=>(t.locale??J(),YA(e))),ZA=()=>`Cancel`,QA=((e={},t={})=>(t.locale??J(),ZA(e))),$A=()=>`How many`,ej=((e={},t={})=>(t.locale??J(),$A(e))),tj=()=>`Max uses (per code)`,nj=((e={},t={})=>(t.locale??J(),tj(e))),rj=()=>`Trial days`,ij=((e={},t={})=>(t.locale??J(),rj(e))),aj=()=>`Expires at (optional)`,oj=((e={},t={})=>(t.locale??J(),aj(e))),sj=()=>`Note`,cj=((e={},t={})=>(t.locale??J(),sj(e))),lj=()=>`Optional note for internal reference`,uj=((e={},t={})=>(t.locale??J(),lj(e))),dj=()=>`Please check your input`,fj=((e={},t={})=>(t.locale??J(),dj(e))),pj=()=>`Code`,mj=((e={},t={})=>(t.locale??J(),pj(e))),hj=()=>`Usage`,gj=((e={},t={})=>(t.locale??J(),hj(e))),_j=()=>`Trial`,vj=((e={},t={})=>(t.locale??J(),_j(e))),yj=()=>`Note`,bj=((e={},t={})=>(t.locale??J(),yj(e))),xj=()=>`Expires`,Sj=((e={},t={})=>(t.locale??J(),xj(e))),Cj=()=>`Created`,wj=((e={},t={})=>(t.locale??J(),Cj(e))),Tj=()=>`Actions`,Ej=((e={},t={})=>(t.locale??J(),Tj(e))),Dj=()=>`No invite codes yet`,Oj=((e={},t={})=>(t.locale??J(),Dj(e))),kj=()=>`Copied to clipboard`,Aj=((e={},t={})=>(t.locale??J(),kj(e))),jj=()=>`Delete invite code?`,Mj=((e={},t={})=>(t.locale??J(),jj(e))),Nj=()=>`This action cannot be undone.`,Pj=((e={},t={})=>(t.locale??J(),Nj(e))),Fj=()=>`Delete`,Ij=((e={},t={})=>(t.locale??J(),Fj(e))),Lj=()=>`Invite code deleted`,Rj=((e={},t={})=>(t.locale??J(),Lj(e))),zj=()=>`All`,Bj=((e={},t={})=>(t.locale??J(),zj(e))),Vj=()=>`Available`,Hj=((e={},t={})=>(t.locale??J(),Vj(e))),Uj=()=>`Used`,Wj=((e={},t={})=>(t.locale??J(),Uj(e))),Gj=()=>`System Settings`,Kj=((e={},t={})=>(t.locale??J(),Gj(e))),qj=()=>`Configure system-wide settings`,Jj=((e={},t={})=>(t.locale??J(),qj(e))),Yj=()=>`Save`,Xj=((e={},t={})=>(t.locale??J(),Yj(e))),Zj=()=>`Saving...`,Qj=((e={},t={})=>(t.locale??J(),Zj(e))),$j=()=>`Settings saved`,eM=((e={},t={})=>(t.locale??J(),$j(e))),tM=()=>`Failed to save`,nM=((e={},t={})=>(t.locale??J(),tM(e))),rM=()=>`Test`,iM=((e={},t={})=>(t.locale??J(),rM(e))),aM=e=>`Test ${e?.group}`,oM=((e,t={})=>(t.locale??J(),aM(e))),sM=()=>`Run a live request with your current saved config. No orders or data are persisted.`,cM=((e={},t={})=>(t.locale??J(),sM(e))),lM=()=>`Run Test`,uM=((e={},t={})=>(t.locale??J(),lM(e))),dM=()=>`Running...`,fM=((e={},t={})=>(t.locale??J(),dM(e))),pM=()=>`Close`,mM=((e={},t={})=>(t.locale??J(),pM(e))),hM=()=>`Test failed`,gM=((e={},t={})=>(t.locale??J(),hM(e))),_M=()=>`General`,vM=((e={},t={})=>(t.locale??J(),_M(e))),yM=()=>`Auth`,bM=((e={},t={})=>(t.locale??J(),yM(e))),xM=()=>`Payment`,SM=((e={},t={})=>(t.locale??J(),xM(e))),CM=()=>`Email`,wM=((e={},t={})=>(t.locale??J(),CM(e))),TM=()=>`Storage`,EM=((e={},t={})=>(t.locale??J(),TM(e))),DM=()=>`AI`,OM=((e={},t={})=>(t.locale??J(),DM(e))),kM=()=>`Analytics`,AM=((e={},t={})=>(t.locale??J(),kM(e))),jM=()=>`Customer Service`,MM=((e={},t={})=>(t.locale??J(),jM(e))),NM=()=>`Custom`,PM=((e={},t={})=>(t.locale??J(),NM(e))),FM=()=>`Custom Configs`,IM=((e={},t={})=>(t.locale??J(),FM(e))),LM=()=>`Add your own key/value configs. Keys must be unique and not collide with built-in settings.`,RM=((e={},t={})=>(t.locale??J(),LM(e))),zM=()=>`No custom configs yet. Click "Add" to create one.`,BM=((e={},t={})=>(t.locale??J(),zM(e))),VM=()=>`config_key`,HM=((e={},t={})=>(t.locale??J(),VM(e))),UM=()=>`value`,WM=((e={},t={})=>(t.locale??J(),UM(e))),GM=()=>`Add`,KM=((e={},t={})=>(t.locale??J(),GM(e))),qM=()=>`Remove`,JM=((e={},t={})=>(t.locale??J(),qM(e))),YM=()=>`App Info`,XM=((e={},t={})=>(t.locale??J(),YM(e))),ZM=()=>`Basic application settings`,QM=((e={},t={})=>(t.locale??J(),ZM(e))),$M=()=>`User Roles`,eN=((e={},t={})=>(t.locale??J(),$M(e))),tN=()=>`Default role for new users`,nN=((e={},t={})=>(t.locale??J(),tN(e))),rN=()=>`Credits`,iN=((e={},t={})=>(t.locale??J(),rN(e))),aN=()=>`Initial credits for new users`,oN=((e={},t={})=>(t.locale??J(),aN(e))),sN=()=>`Email Auth`,cN=((e={},t={})=>(t.locale??J(),sN(e))),lN=()=>`Email/password authentication`,uN=((e={},t={})=>(t.locale??J(),lN(e))),dN=()=>`Google Auth`,fN=((e={},t={})=>(t.locale??J(),dN(e))),pN=()=>`Google OAuth login`,mN=((e={},t={})=>(t.locale??J(),pN(e))),hN=()=>`GitHub Auth`,gN=((e={},t={})=>(t.locale??J(),hN(e))),_N=()=>`GitHub OAuth login`,vN=((e={},t={})=>(t.locale??J(),_N(e))),yN=()=>`Basic`,bN=((e={},t={})=>(t.locale??J(),yN(e))),xN=()=>`Payment general settings`,SN=((e={},t={})=>(t.locale??J(),xN(e))),CN=()=>`Stripe`,wN=((e={},t={})=>(t.locale??J(),CN(e))),TN=()=>`Stripe payment gateway`,EN=((e={},t={})=>(t.locale??J(),TN(e))),DN=()=>`Creem`,ON=((e={},t={})=>(t.locale??J(),DN(e))),kN=()=>`Creem payment gateway`,AN=((e={},t={})=>(t.locale??J(),kN(e))),jN=()=>`PayPal`,MN=((e={},t={})=>(t.locale??J(),jN(e))),NN=()=>`PayPal payment gateway`,PN=((e={},t={})=>(t.locale??J(),NN(e))),FN=()=>`Alipay`,IN=((e={},t={})=>(t.locale??J(),FN(e))),LN=()=>`Alipay payment gateway (native)`,RN=((e={},t={})=>(t.locale??J(),LN(e))),zN=()=>`WeChat Pay`,BN=((e={},t={})=>(t.locale??J(),zN(e))),VN=()=>`WeChat Pay gateway (native)`,HN=((e={},t={})=>(t.locale??J(),VN(e))),UN=()=>`General`,WN=((e={},t={})=>(t.locale??J(),UN(e))),GN=()=>`Email provider selection`,KN=((e={},t={})=>(t.locale??J(),GN(e))),qN=()=>`Resend`,JN=((e={},t={})=>(t.locale??J(),qN(e))),YN=()=>`Resend email service`,XN=((e={},t={})=>(t.locale??J(),YN(e))),ZN=()=>`Cloudflare Email`,QN=((e={},t={})=>(t.locale??J(),ZN(e))),$N=()=>`Cloudflare Email Service`,eP=((e={},t={})=>(t.locale??J(),$N(e))),tP=()=>`Cloudflare R2 / S3`,nP=((e={},t={})=>(t.locale??J(),tP(e))),rP=()=>`Object storage settings`,iP=((e={},t={})=>(t.locale??J(),rP(e))),aP=()=>`OpenAI`,oP=((e={},t={})=>(t.locale??J(),aP(e))),sP=()=>`OpenAI (or compatible) API`,cP=((e={},t={})=>(t.locale??J(),sP(e))),lP=()=>`Anthropic`,uP=((e={},t={})=>(t.locale??J(),lP(e))),dP=()=>`Anthropic Claude API`,fP=((e={},t={})=>(t.locale??J(),dP(e))),pP=()=>`Replicate`,mP=((e={},t={})=>(t.locale??J(),pP(e))),hP=()=>`Replicate AI API`,gP=((e={},t={})=>(t.locale??J(),hP(e))),_P=()=>`Fal`,vP=((e={},t={})=>(t.locale??J(),_P(e))),yP=()=>`Fal AI API`,bP=((e={},t={})=>(t.locale??J(),yP(e))),xP=()=>`Google Analytics`,SP=((e={},t={})=>(t.locale??J(),xP(e))),CP=()=>`Inject gtag.js with the configured Measurement ID`,wP=((e={},t={})=>(t.locale??J(),CP(e))),TP=()=>`Plausible`,EP=((e={},t={})=>(t.locale??J(),TP(e))),DP=()=>`Inject plausible.js for self-hosted or cloud Plausible`,OP=((e={},t={})=>(t.locale??J(),DP(e))),kP=()=>`Crisp`,AP=((e={},t={})=>(t.locale??J(),kP(e))),jP=()=>`Crisp live chat widget`,MP=((e={},t={})=>(t.locale??J(),jP(e))),NP=()=>`Tawk.to`,PP=((e={},t={})=>(t.locale??J(),NP(e))),FP=()=>`Tawk.to live chat widget`,IP=((e={},t={})=>(t.locale??J(),FP(e))),LP=()=>`App Name`,RP=((e={},t={})=>(t.locale??J(),LP(e))),zP=()=>`App Description`,BP=((e={},t={})=>(t.locale??J(),zP(e))),VP=()=>`App URL`,HP=((e={},t={})=>(t.locale??J(),VP(e))),UP=()=>`Auto-assign role for new users`,WP=((e={},t={})=>(t.locale??J(),UP(e))),GP=()=>`Default role name`,KP=((e={},t={})=>(t.locale??J(),GP(e))),qP=()=>`Grant credits on signup`,JP=((e={},t={})=>(t.locale??J(),qP(e))),YP=()=>`Credits amount`,XP=((e={},t={})=>(t.locale??J(),YP(e))),ZP=()=>`Valid days`,QP=((e={},t={})=>(t.locale??J(),ZP(e))),$P=()=>`Description`,eF=((e={},t={})=>(t.locale??J(),$P(e))),tF=()=>`Enable email auth`,nF=((e={},t={})=>(t.locale??J(),tF(e))),rF=()=>`Require email verification on sign up`,iF=((e={},t={})=>(t.locale??J(),rF(e))),aF=()=>`Enable Google auth`,oF=((e={},t={})=>(t.locale??J(),aF(e))),sF=()=>`Enable Google One Tap`,cF=((e={},t={})=>(t.locale??J(),sF(e))),lF=()=>`Client ID`,uF=((e={},t={})=>(t.locale??J(),lF(e))),dF=()=>`Client Secret`,fF=((e={},t={})=>(t.locale??J(),dF(e))),pF=()=>`Enable GitHub auth`,mF=((e={},t={})=>(t.locale??J(),pF(e))),hF=()=>`Client ID`,gF=((e={},t={})=>(t.locale??J(),hF(e))),_F=()=>`Client Secret`,vF=((e={},t={})=>(t.locale??J(),_F(e))),yF=()=>`Require invite code on sign up`,bF=((e={},t={})=>(t.locale??J(),yF(e))),xF=()=>`Show payment method selector`,SF=((e={},t={})=>(t.locale??J(),xF(e))),CF=()=>`Default provider`,wF=((e={},t={})=>(t.locale??J(),CF(e))),TF=()=>`Enable Stripe`,EF=((e={},t={})=>(t.locale??J(),TF(e))),DF=()=>`Secret Key`,OF=((e={},t={})=>(t.locale??J(),DF(e))),kF=()=>`Publishable Key`,AF=((e={},t={})=>(t.locale??J(),kF(e))),jF=()=>`Webhook Signing Secret`,MF=((e={},t={})=>(t.locale??J(),jF(e))),NF=()=>`Enable Creem`,PF=((e={},t={})=>(t.locale??J(),NF(e))),FF=()=>`Environment`,IF=((e={},t={})=>(t.locale??J(),FF(e))),LF=()=>`API Key`,RF=((e={},t={})=>(t.locale??J(),LF(e))),zF=()=>`Signing Secret`,BF=((e={},t={})=>(t.locale??J(),zF(e))),VF=()=>`Product IDs Mapping`,HF=((e={},t={})=>(t.locale??J(),VF(e))),UF=()=>`Test amount (cents)`,WF=((e={},t={})=>(t.locale??J(),UF(e))),GF=()=>`Enable PayPal`,KF=((e={},t={})=>(t.locale??J(),GF(e))),qF=()=>`Client ID`,JF=((e={},t={})=>(t.locale??J(),qF(e))),YF=()=>`Client Secret`,XF=((e={},t={})=>(t.locale??J(),YF(e))),ZF=()=>`Webhook ID`,QF=((e={},t={})=>(t.locale??J(),ZF(e))),$F=()=>`Environment`,eI=((e={},t={})=>(t.locale??J(),$F(e))),tI=()=>`Test amount (cents)`,nI=((e={},t={})=>(t.locale??J(),tI(e))),rI=()=>`Enable Alipay`,iI=((e={},t={})=>(t.locale??J(),rI(e))),aI=()=>`App ID`,oI=((e={},t={})=>(t.locale??J(),aI(e))),sI=()=>`Private Key (RSA2)`,cI=((e={},t={})=>
14(t.locale??J(),sI(e))),lI=()=>`Alipay Public Key`,uI=((e={},t={})=>(t.locale??J(),lI(e))),dI=()=>`Notify URL (Webhook)`,fI=((e={},t={})=>(t.locale??J(),dI(e))),pI=()=>`Test amount (cents)`,mI=((e={},t={})=>(t.locale??J(),pI(e))),hI=()=>`Enable WeChat Pay`,gI=((e={},t={})=>(t.locale??J(),hI(e))),_I=()=>`AppID`,vI=((e={},t={})=>(t.locale??J(),_I(e))),yI=()=>`Merchant ID`,bI=((e={},t={})=>(t.locale??J(),yI(e))),xI=()=>`APIv3 Key`,SI=((e={},t={})=>(t.locale??J(),xI(e))),CI=()=>`Merchant Private Key (PEM)`,wI=((e={},t={})=>(t.locale??J(),CI(e))),TI=()=>`Certificate Serial No`,EI=((e={},t={})=>(t.locale??J(),TI(e))),DI=()=>`Notify URL (Webhook)`,OI=((e={},t={})=>(t.locale??J(),DI(e))),kI=()=>`Test amount (cents)`,AI=((e={},t={})=>(t.locale??J(),kI(e))),jI=()=>`Email Provider`,MI=((e={},t={})=>(t.locale??J(),jI(e))),NI=()=>`API Key`,PI=((e={},t={})=>(t.locale??J(),NI(e))),FI=()=>`Sender Email`,II=((e={},t={})=>(t.locale??J(),FI(e))),LI=()=>`API Token`,RI=((e={},t={})=>(t.locale??J(),LI(e))),zI=()=>`Account ID`,BI=((e={},t={})=>(t.locale??J(),zI(e))),VI=()=>`Sender Email`,HI=((e={},t={})=>(t.locale??J(),VI(e))),UI=()=>`Cloudflare Access Key`,WI=((e={},t={})=>(t.locale??J(),UI(e))),GI=()=>`Cloudflare Secret Key`,KI=((e={},t={})=>(t.locale??J(),GI(e))),qI=()=>`Bucket Name`,JI=((e={},t={})=>(t.locale??J(),qI(e))),YI=()=>`Upload Path`,XI=((e={},t={})=>(t.locale??J(),YI(e))),ZI=()=>`Endpoint`,QI=((e={},t={})=>(t.locale??J(),ZI(e))),$I=()=>`Domain`,eL=((e={},t={})=>(t.locale??J(),$I(e))),tL=()=>`Base URL`,nL=((e={},t={})=>(t.locale??J(),tL(e))),rL=()=>`API Key`,iL=((e={},t={})=>(t.locale??J(),rL(e))),aL=()=>`Base URL`,oL=((e={},t={})=>(t.locale??J(),aL(e))),sL=()=>`API Key`,cL=((e={},t={})=>(t.locale??J(),sL(e))),lL=()=>`API Token`,uL=((e={},t={})=>(t.locale??J(),lL(e))),dL=()=>`API Key`,fL=((e={},t={})=>(t.locale??J(),dL(e))),pL=()=>`Measurement ID`,mL=((e={},t={})=>(t.locale??J(),pL(e))),hL=()=>`Domain`,gL=((e={},t={})=>(t.locale??J(),hL(e))),_L=()=>`Script Src`,vL=((e={},t={})=>(t.locale??J(),_L(e))),yL=()=>`Enable Crisp`,bL=((e={},t={})=>(t.locale??J(),yL(e))),xL=()=>`Website ID`,SL=((e={},t={})=>(t.locale??J(),xL(e))),CL=()=>`Enable Tawk.to`,wL=((e={},t={})=>(t.locale??J(),CL(e))),TL=()=>`Property ID`,EL=((e={},t={})=>(t.locale??J(),TL(e))),DL=()=>`Widget ID`,OL=((e={},t={})=>(t.locale??J(),DL(e))),kL=e=>`${e?.[`"starter_monthly": "prod_xxx"`]}`,AL=((e,t={})=>(t.locale??J(),kL(e))),jL=()=>`Leave empty to use real amount, 1 = $0.01`,ML=((e={},t={})=>(t.locale??J(),jL(e))),NL=()=>`Leave empty to use real amount, 1 = $0.01`,PL=((e={},t={})=>(t.locale??J(),NL(e))),FL=()=>`Leave empty to use real amount, 1 = Â¥0.01`,IL=((e={},t={})=>(t.locale??J(),FL(e))),LL=()=>`Leave empty to use real amount, 1 = Â¥0.01`,RL=((e={},t={})=>(t.locale??J(),LL(e))),zL=()=>`Support Tickets`,BL=((e={},t={})=>(t.locale??J(),zL(e))),VL=()=>`View and reply to user tickets`,HL=((e={},t={})=>(t.locale??J(),VL(e))),UL=()=>`Subject`,WL=((e={},t={})=>(t.locale??J(),UL(e))),GL=()=>`User`,KL=((e={},t={})=>(t.locale??J(),GL(e))),qL=()=>`Status`,JL=((e={},t={})=>(t.locale??J(),qL(e))),YL=()=>`Last Updated`,XL=((e={},t={})=>(t.locale??J(),YL(e))),ZL=()=>`Actions`,QL=((e={},t={})=>(t.locale??J(),ZL(e))),$L=()=>`All`,eR=((e={},t={})=>(t.locale??J(),$L(e))),tR=()=>`Open`,nR=((e={},t={})=>(t.locale??J(),tR(e))),rR=()=>`In Progress`,iR=((e={},t={})=>(t.locale??J(),rR(e))),aR=()=>`Closed`,oR=((e={},t={})=>(t.locale??J(),aR(e))),sR=()=>`Open`,cR=((e={},t={})=>(t.locale??J(),sR(e))),lR=()=>`In Progress`,uR=((e={},t={})=>(t.locale??J(),lR(e))),dR=()=>`Closed`,fR=((e={},t={})=>(t.locale??J(),dR(e))),pR=()=>`No tickets`,mR=((e={},t={})=>(t.locale??J(),pR(e))),hR=()=>`Write a reply...`,gR=((e={},t={})=>(t.locale??J(),hR(e))),_R=()=>`Send Reply`,vR=((e={},t={})=>(t.locale??J(),_R(e))),yR=()=>`Sending...`,bR=((e={},t={})=>(t.locale??J(),yR(e))),xR=()=>`Reply sent`,SR=((e={},t={})=>(t.locale??J(),xR(e))),CR=()=>`Status updated`,wR=((e={},t={})=>(t.locale??J(),CR(e))),TR=()=>`Close Ticket`,ER=((e={},t={})=>(t.locale??J(),TR(e))),DR=()=>`Reopen Ticket`,OR=((e={},t={})=>(t.locale??J(),DR(e))),kR=()=>`Admin`,AR=((e={},t={})=>(t.locale??J(),kR(e))),jR=()=>`Latest Reply`,MR=((e={},t={})=>(t.locale??J(),jR(e))),NR=()=>`Created At`,PR=((e={},t={})=>(t.locale??J(),NR(e))),FR=()=>`Features`,IR=((e={},t={})=>(t.locale??J(),FR(e))),LR=()=>`Pricing`,RR=((e={},t={})=>(t.locale??J(),LR(e))),zR=()=>`The headless engine for your next SaaS.`,BR=((e={},t={})=>(t.locale??J(),zR(e))),VR=()=>`Auth, payments, subscriptions, credits, RBAC, CMS, and i18n â all pre-wired. Just build your product on top.`,HR=((e={},t={})=>(t.locale??J(),VR(e))),UR=()=>`Get Started`,WR=((e={},t={})=>(t.locale??J(),UR(e))),GR=()=>`Dashboard`,KR=((e={},t={})=>(t.locale??J(),GR(e))),qR=()=>`Authentication`,JR=((e={},t={})=>(t.locale??J(),qR(e))),YR=()=>`Payments`,XR=((e={},t={})=>(t.locale??J(),YR(e))),ZR=()=>`Subscriptions`,QR=((e={},t={})=>(t.locale??J(),ZR(e))),$R=()=>`Credits`,ez=((e={},t={})=>(t.locale??J(),$R(e))),tz=()=>`RBAC`,nz=((e={},t={})=>(t.locale??J(),tz(e))),rz=()=>`i18n`,iz=((e={},t={})=>(t.locale??J(),rz(e))),az=()=>`CMS`,oz=((e={},t={})=>(t.locale??J(),az(e))),sz=()=>`API Keys`,cz=((e={},t={})=>(t.locale??J(),sz(e))),lz=()=>`Everything you need to ship`,uz=((e={},t={})=>(t.locale??J(),lz(e))),dz=()=>`Pre-wired business logic so you can focus on building your product.`,fz
14=((e={},t={})=>(t.locale??J(),dz(e))),pz=()=>`Authentication`,mz=((e={},t={})=>(t.locale??J(),pz(e))),hz=()=>`Email/password, Google, and GitHub OAuth â ready out of the box with session management and account linking.`,gz=((e={},t={})=>(t.locale??J(),hz(e))),_z=()=>`Payments`,vz=((e={},t={})=>(t.locale??J(),_z(e))),yz=()=>`Stripe, PayPal, Alipay, WeChat Pay â checkout, subscriptions, webhooks, and order management.`,bz=((e={},t={})=>(t.locale??J(),yz(e))),xz=()=>`Roles & Permissions`,Sz=((e={},t={})=>(t.locale??J(),xz(e))),Cz=()=>`Fine-grained RBAC with wildcard matching. Full admin panel for managing users, roles, and permissions.`,wz=((e={},t={})=>(t.locale??J(),Cz(e))),Tz=()=>`Internationalization`,Ez=((e={},t={})=>(t.locale??J(),Tz(e))),Dz=()=>`Concise English copy is built in throughout the product and its document workflows.`,Oz=((e={},t={})=>(t.locale??J(),Dz(e))),kz=()=>`Content Management`,Az=((e={},t={})=>(t.locale??J(),kz(e))),jz=()=>`Categories and posts with full CRUD, status management, and admin panel â build your blog or docs.`,Mz=((e={},t={})=>(t.locale??J(),jz(e))),Nz=()=>`Credit System`,Pz=((e={},t={})=>(t.locale??J(),Nz(e))),Fz=()=>`FIFO consumption, expiration, auto-grant on signup, and revocation â ready for usage-based billing.`,Iz=((e={},t={})=>(t.locale??J(),Fz(e))),Lz=()=>`Pricing`,Rz=((e={},t={})=>(t.locale??J(),Lz(e))),zz=()=>`Choose the plan that works for you.`,Bz=((e={},t={})=>(t.locale??J(),zz(e))),Vz=()=>`Monthly`,Hz=((e={},t={})=>(t.locale??J(),Vz(e))),Uz=()=>`Yearly`,Wz=((e={},t={})=>(t.locale??J(),Uz(e))),Gz=()=>`Lifetime`,Kz=((e={},t={})=>(t.locale??J(),Gz(e))),qz=()=>`Popular`,Jz=((e={},t={})=>(t.locale??J(),qz(e))),Yz=()=>`Best value`,Xz=((e={},t={})=>(t.locale??J(),Yz(e))),Zz=()=>`Buy once`,Qz=((e={},t={})=>(t.locale??J(),Zz(e))),$z=()=>`Starter`,eB=((e={},t={})=>(t.locale??J(),$z(e))),tB=()=>`For individuals`,nB=((e={},t={})=>(t.locale??J(),tB(e))),rB=()=>`Pro`,iB=((e={},t={})=>(t.locale??J(),rB(e))),aB=()=>`For growing teams`,oB=((e={},t={})=>(t.locale??J(),aB(e))),sB=()=>`Enterprise`,cB=((e={},t={})=>(t.locale??J(),sB(e))),lB=()=>`For large organizations`,uB=((e={},t={})=>(t.locale??J(),lB(e))),dB=()=>`1 project`,fB=((e={},t={})=>(t.locale??J(),dB(e))),pB=()=>`5,000 credits`,mB=((e={},t={})=>(t.locale??J(),pB(e))),hB=()=>`Email support`,gB=((e={},t={})=>(t.locale??J(),hB(e))),_B=()=>`Unlimited projects`,vB=((e={},t={})=>(t.locale??J(),_B(e))),yB=()=>`50,000 credits`,bB=((e={},t={})=>(t.locale??J(),yB(e))),xB=()=>`Priority support`,SB=((e={},t={})=>(t.locale??J(),xB(e))),CB=()=>`API access`,wB=((e={},t={})=>(t.locale??J(),CB(e))),TB=()=>`Everything in Pro`,EB=((e={},t={})=>(t.locale??J(),TB(e))),DB=()=>`Unlimited credits`,OB=((e={},t={})=>(t.locale??J(),DB(e))),kB=()=>`Dedicated support`,AB=((e={},t={})=>(t.locale??J(),kB(e))),jB=()=>`Custom integrations`,MB=((e={},t={})=>(t.locale??J(),jB(e))),NB=()=>`Frequently asked questions`,PB=((e={},t={})=>(t.locale??J(),NB(e))),FB=()=>`Everything you need to know before getting started.`,IB=((e={},t={})=>(t.locale??J(),FB(e))),LB=()=>`What's the tech stack?`,RB=((e={},t={})=>(t.locale??J(),LB(e))),zB=()=>`Next.js 16 with the App Router, React 19, TypeScript strict mode, Tailwind CSS 4, shadcn/ui, Drizzle ORM, and better-auth. Every piece of business logic is inlined â no external packages for payment, email, storage, or AI.`,BB=((e={},t={})=>(t.locale??J(),zB(e))),VB=()=>`Which payment providers are supported?`,HB=((e={},t={})=>(t.locale??J(),VB(e))),UB=()=>`Stripe, PayPal, Creem, Alipay, and WeChat Pay out of the box. The PaymentManager abstraction makes it straightforward to add more providers by implementing a single interface.`,WB=((e={},t={})=>(t.locale??J(),UB(e))),GB=()=>`Which databases can I use?`,KB=((e={},t={})=>(t.locale??J(),GB(e))),qB=()=>`Drizzle ORM handles PostgreSQL, MySQL, SQLite, Turso, and Cloudflare D1. Switch providers by editing DATABASE_PROVIDER in your .env â the schema templates and drizzle config adapt automatically.`,JB=((e={},t={})=>(t.locale??J(),qB(e))),YB=()=>`How customizable is the landing page?`,XB=((e={},t={})=>(t.locale??J(),YB(e))),ZB=()=>`The src/blocks/ directory ships with demo sections â they're designed to be rewritten per project. The durable primitives live in src/components/, so your rebrand touches blocks and translations, not the chassis.`,QB=((e={},t={})=>(t.locale??J(),ZB(e))),$B=()=>
14`Can I use this for commercial projects?`,eV=((e={},t={})=>(t.locale??J(),$B(e))),tV=()=>`TiPDF's current browser tools are available without a paid plan. The repository license remains documented separately in LICENSE.`,nV=((e={},t={})=>(t.locale??J(),tV(e))),rV=()=>`Ready to ship your SaaS?`,iV=((e={},t={})=>(t.locale??J(),rV(e))),aV=()=>`Choose a focused PDF workflow, review its current limits, and keep an original copy of every important document.`,oV=((e={},t={})=>(t.locale??J(),aV(e))),sV=()=>`Get started for free`,cV=((e={},t={})=>(t.locale??J(),sV(e))),lV=()=>`Ship faster, iterate smarter.`,uV=((e={},t={})=>(t.locale??J(),lV(e))),dV=()=>`Feature`,fV=((e={},t={})=>(t.locale??J(),dV(e))),pV=()=>`Product`,mV=((e={},t={})=>(t.locale??J(),pV(e))),hV=()=>`Resources`,gV=((e={},t={})=>(t.locale??J(),hV(e))),_V=()=>`Legal`,vV=((e={},t={})=>(t.locale??J(),_V(e))),yV=()=>`Privacy Policy`,bV=((e={},t={})=>(t.locale??J(),yV(e))),xV=()=>`Terms of Service`,SV=((e={},t={})=>(t.locale??J(),xV(e))),CV=()=>`Settings`,wV=((e={},t={})=>(t.locale??J(),CV(e))),TV=()=>`Admin Panel`,EV=((e={},t={})=>(t.locale??J(),TV(e))),DV=()=>`Documentation`,OV=((e={},t={})=>(t.locale??J(),DV(e))),kV=()=>`GitHub`,AV=((e={},t={})=>(t.locale??J(),kV(e))),jV=()=>`Blog`,MV=((e={},t={})=>(t.locale??J(),jV(e))),NV=()=>`Product updates, guides, and engineering notes from the team.`,PV=((e={},t={})=>(t.locale??J(),NV(e))),FV=()=>`No posts yet â check back soon.`,IV=((e={},t={})=>(t.locale??J(),FV(e))),LV=()=>`Back to blog`,RV=((e={},t={})=>(t.locale??J(),LV(e))),zV=()=>`Read more`,BV=((e={},t={})=>(t.locale??J(),zV(e))),VV=()=>`Blog`,HV=((e={},t={})=>(t.locale??J(),VV(e))),UV=()=>`From the blog`,WV=((e={},t={})=>(t.locale??J(),UV(e))),GV=()=>`Product updates, guides, and engineering notes from the team.`,KV=((e={},t={})=>(t.locale??J(),GV(e))),qV=()=>`View all posts`,JV=((e={},t={})=>(t.locale??J(),qV(e))),YV=()=>`Blog`,XV=((e={},t={})=>(t.locale??J(),YV(e))),ZV=()=>`Tools`,QV=((e={},t={})=>(t.locale??J(),ZV(e))),$V=()=>`Log In`,eH=((e={},t={})=>(t.locale??J(),$V(e))),tH=()=>`Free Trial`,nH=((e={},t={})=>(t.locale??J(),tH(e))),rH=()=>`Compress PDF`,iH=((e={},t={})=>(t.locale??J(),rH(e))),aH=()=>`Convert PDF`,oH=((e={},t={})=>(t.locale??J(),aH(e))),sH=()=>`Merge PDF`,cH=((e={},t={})=>(t.locale??J(),sH(e))),lH=()=>`Split PDF`,uH=((e={},t={})=>(t.locale??J(),lH(e))),dH=()=>`All PDF Tools`,fH=((e={},t={})=>(t.locale??J(),dH(e))),pH=()=>`To PDF`,mH=((e={},t={})=>(t.locale??J(),pH(e))),hH=()=>`From PDF`,gH=((e={},t={})=>(t.locale??J(),hH(e))),_H=()=>`Open menu`,vH=((e={},t={})=>(t.locale??J(),_H(e))),yH=()=>`Edit`,bH=((e={},t={})=>(t.locale??J(),yH(e))),xH=()=>`Sign`,SH=((e={},t={})=>(t.locale??J(),xH(e))),CH=()=>`AI PDF`,wH=((e={},t={})=>(t.locale??J(),CH(e))),TH=()=>`We make PDF easy.`,EH=((e={},t={})=>(t.locale??J(),TH(e))),DH=()=>`All the tools you need to work smarter with PDFsâright in your browser.`,OH=((e={},t={})=>(t.locale??J(),DH(e))),kH=()=>`Start Free Trial`,AH=((e={},t={})=>(t.locale??J(),kH(e))),jH=()=>`Explore All PDF Tools`,MH=((e={},t={})=>(t.locale??J(),jH(e))),NH=()=>`Convert, Edit, Merge & Compress PDFs Online Free | TiPDF`,PH=((e={},t={})=>(t.locale??J(),NH(e))),FH=()=>`Convert between PDF, Word, JPG, and Excel; edit, merge, compress, sign, and organize PDFs online for free with TiPDFâs fast browser-based tools.`,IH=((e={},t={})=>(t.locale??J(),FH(e))),LH=()=>`Convert, Edit, Merge & Compress PDFs Online for Free`,RH=((e={},t={})=>(t.locale??J(),LH(e))),zH=()=>`Work with PDF, Word, JPG, and Excel in one browser-based toolkit. Start free, choose a task, and download your finished file in a few clear steps.`,BH=((e={},t={})=>(t.locale??J(),zH(e))),VH=()=>`Filter PDF tools by category`,HH=((e={},t={})=>(t.locale??J(),VH(e))),UH=()=>`All PDF Tools`,WH=((e={},t={})=>(t.locale??J(),UH(e))),GH=()=>`Organize PDF`,KH=((e={},t={})=>(t.locale??J(),GH(e))),qH=()=>`Compress & Optimize`,JH=((e={},t={})=>(t.locale??J(),qH(e))),YH=()=>`Convert PDF`,XH=((e={},t={})=>(t.locale??J(),YH(e))),ZH=()=>`Edit PDF`,QH=((e={},t={})=>(t.locale??J(),ZH(e))),$H=()=>`Sign & Protect`,eU=((e={},t={})=>(t.locale??J(),$H(e))),tU=()=>`AI & OCR`,nU=((e={},t={})=>(t.locale??J(),tU(e))),rU=()=>`Most Popular PDF Tools`,iU=((e={},t={})=>(t.locale??J(),rU(e))),aU=()=>`The PDF tools people reach for every day. Try one in a click.`,oU=((e={},t={})=>(t.locale??J(),aU(e))),sU=()=>`See All PDF Tools`,cU=((e={},t={})=>(t.locale??J(),sU(e))),lU=()=>`More Ways to Work With PDF Files`,uU=((e={},t={})=>(t.locale??J(),lU(e))),dU=()=>`Convert common formats, edit and sign documents, organize pages, extract text with OCR, and use focused AI toolsâall from one consistent TiPDF workspace.`,fU=((e={},t={})=>(t.locale??J(),dU(e))),pU=()=>`Edit and Annotate PDFs Online`,mU=((e={},t={})=>(t.locale??J(),pU(e))),hU=()=>`Add text or review notes to selected PDF pages, then use dedicated tools to watermark, crop, redact, or number your document.`,gU=((e={},t={})=>(t.locale??J(),hU(e))),_U=()=>`Open the PDF Editor`,vU=((e={},t={})=>(t.locale??J(),_U(e))),yU=()=>`Online PDF editor with text and page annotation controls`,bU=((e={},t={})=>(t.locale??J(),yU(e))),xU=()=>`Sign PDF Forms and Agreements`,SU=((e={},t={})=>(t.locale??J(),xU(e))),CU=()=>`Add a typed signature to agreements and forms, place it on the right page, and download the signed PDF in a focused browser workflow.`,wU=((e={},t={})=>(t.locale??J(),CU(e))),TU=()=>`Sign a PDF Online`,EU=((e={},t={})=>(t.locale??J(),TU(e))),DU=()=>`PDF signing workspace with a signature field`,OU=((e={},t={})=>(t.locale??J(),DU(e))),kU=()=>`Convert, Compress, and Organize PDFs`,AU=((e={},t={})=>(t.locale??J(),kU(e))),jU=()=>`Convert files to or from PDF, reduce file size, merge documents, split pages, rotate sheets, or remove pages you no longer need.`,MU=((e={},t={})=>(t.locale??J(),jU(e))),NU=()=>`Explore All PDF Tools`,PU=((e={},t={})=>(t.locale??J(),NU(e))),FU=()=>`PDF converter, compressor, and page organizer tools`,IU=((e={},t={})=>(t.locale??J(),FU(e))),LU=()=>`One Browser Workspace for PDF Tasks`,RU=((e={},t={})=>(t.locale??J(),LU(e))),zU=()=>`Move between reading, editing, converting, and sharing with consistent controls. Each tool explains whether processing stays on your device or uses an approved online service.`,BU=((e={},t={})=>(t.locale??J(),zU(e))),VU=()=>`Compare Free and Paid Plans`,HU=((e={},t={})=>(t.locale??J(),VU(e))),UU=()=>`TiPDF browser workspace for common document tasks`,WU=((e={},t={})=>(t.locale??J(),UU(e))),GU=()=>`Use PDF Tools from a Mobile Browser`,KU=((e={},t={})=>(t.locale??J(),GU(e))),qU=()=>`Open TiPDF on a current phone or tablet browser to create PDF scans from images, organize pages, and handle common document tasks without desktop software.`,JU=((e={},t={})=>(t.locale??J(),qU(e))),YU=()=>`TiPDF PDF scanner and document organizer shown on a phone and tablet`,XU=((e={},t={})=>(t.locale??J(),YU(e))),ZU=()=>`Open PDF Scanner`,QU=((e={},t={})=>(t.locale??J(),ZU(e))),$U=()=>`Explore Mobile Options`,eW=((e={},t={})=>(t.locale??J(),$U(e))),tW=()=>`Free PDF Tools, Ready in Your Browser`,nW=((e={},t={})=>(t.locale??J(),tW(e))),rW=()=>`Use TiPDF's current browser tools without a paid plan. Each tool page explains its processing location, output, and limits.`,iW=((e={},t={})=>(t.locale??J(),rW(e))),aW=()=>`Explore All PDF Tools`,oW=((e={},t={})=>(t.locale??J(),aW(e))),sW=()=>`Current Access`,cW=((e={},t={})=>(t.locale??J(),sW(e))),lW=()=>`Team`,uW=((e={},t={})=>(t.locale??J(),lW(e))),dW=()=>`per month, billed annually`,fW=((e={},t={})=>(t.locale??J(),dW(e))),pW=()=>`per member / month, billed annually`,mW=((e={},t={})=>(t.locale??J(),pW(e))),hW=()=>`Free`,gW=((e={},t={})=>(t.locale??J(),hW(e))),_W=()=>`The complete TiPDF tool directory`,vW=((e={},t={})=>(t.locale??J(),_W(e))),yW=()=>`Local processing for supported workflows`,bW=((e={},t={})=>(t.locale??J(),yW(e))),xW=()=>`Clear limits and handling notes on every tool page`,SW=((e={},t={})=>(t.locale??J(),xW(e))),CW=()=>`Everything in Pro, plus member access management, centralized billing, and team pricing for 2â19 seats.`,wW=((e={},t={})=>(t.locale??J(),CW(e))),TW=()=>`Clear PDF Tools and Transparent File Handling`,EW=((e={},t={})=>(t.locale??J(),TW(e))),DW=()=>`Free Tools to Get Started`,OW=((e={},t={})=>(t.locale??J(),DW(e))),kW=()=>
14`Use essential PDF tools with a practical daily allowance before choosing a paid plan.`,AW=((e={},t={})=>(t.locale??J(),kW(e))),jW=()=>`Built for Repeat Workflows`,MW=((e={},t={})=>(t.locale??J(),jW(e))),NW=()=>`Use consistent controls across common PDF tasks, with team access and shared billing available when you need them.`,PW=((e={},t={})=>(t.locale??J(),NW(e))),FW=()=>`Works in Modern Browsers`,IW=((e={},t={})=>(t.locale??J(),FW(e))),LW=()=>`Open TiPDF on current desktop and mobile browsers without installing traditional PDF software.`,RW=((e={},t={})=>(t.locale??J(),LW(e))),zW=()=>`Clear, Practical Guidance`,BW=((e={},t={})=>(t.locale??J(),zW(e))),VW=()=>`Follow focused controls, processing notes, and help content for each document task.`,HW=((e={},t={})=>(t.locale??J(),VW(e))),UW=()=>`Permission Before Uploads`,WW=((e={},t={})=>(t.locale??J(),UW(e))),GW=()=>`Tools that need an online service show a privacy note and ask for approval before sending a file or extracted text.`,KW=((e={},t={})=>(t.locale??J(),GW(e))),qW=()=>`Local Processing Where Supported`,JW=((e={},t={})=>(t.locale??J(),qW(e))),YW=()=>`Local tools keep files on your device; server and AI tools explain what leaves the browser and why.`,XW=((e={},t={})=>(t.locale??J(),YW(e))),ZW=()=>`Ready to Finish Your PDF Task?`,QW=((e={},t={})=>(t.locale??J(),ZW(e))),$W=()=>`Choose a free PDF tool to convert, edit, merge, compress, sign, or organize your document. Start in your browser and upgrade only if you need higher limits.`,eG=((e={},t={})=>(t.locale??J(),$W(e))),tG=()=>`Explore Free PDF Tools`,nG=((e={},t={})=>(t.locale??J(),tG(e))),rG=()=>`Free online PDF tools to convert, edit, merge, compress, sign, and organize filesâright in your browser.`,iG=((e={},t={})=>(t.locale??J(),rG(e))),aG=()=>`Privacy Notice`,oG=((e={},t={})=>(t.locale??J(),aG(e))),sG=()=>`Terms & Conditions`,cG=((e={},t={})=>(t.locale??J(),sG(e))),lG=()=>`Contact Us`,uG=((e={},t={})=>(t.locale??J(),lG(e))),dG=()=>`Compress PDF files with a measured PDF compressor that keeps the source when rebuilding would increase file size.`,fG=((e={},t={})=>(t.locale??J(),dG(e))),pG=()=>`Use the PDF converter to convert to PDF from supported images or Office files, or extract PDF text to DOCX.`,mG=((e={},t={})=>(t.locale??J(),pG(e))),hG=()=>`OCR PDF scans locally and download a searchable PDF plus page-grouped text for careful review.`,gG=((e={},t={})=>(t.locale??J(),hG(e))),_G=()=>`Use AI PDF analysis as an AI PDF assistant for broad document insights after reviewing the locally extracted text sent to the configured AI provider.`,vG=((e={},t={})=>(t.locale??J(),_G(e))),yG=()=>`Chat with PDF content using focused questions and grounded answers. This chat with PDF AI workflow extracts document text locally before approved AI processing.`,bG=((e={},t={})=>(t.locale??J(),yG(e))),xG=()=>`Use the PDF summarizer to summarize PDF text into concise Markdown key points after reviewing and approving the extracted content for AI processing.`,SG=((e={},t={})=>(t.locale??J(),xG(e))),CG=()=>`Translate PDF text with a focused PDF translator that outputs readable Markdown in the selected language after approved AI processing.`,wG=((e={},t={})=>(t.locale??J(),CG(e))),TG=()=>`Use an AI question generator from PDF text to create review prompts, quizzes, and a practical PDF question generator output in Markdown.`,EG=((e={},t={})=>(t.locale??J(),TG(e))),DG=()=>`Merge PDF files in your selected order and combine PDF pages without intentional rasterization.`,OG=((e={},t={})=>(t.locale??J(),DG(e))),kG=()=>`Split PDF selections into individual page files with a local PDF splitter and optional bundled download.`,AG=((e={},t={})=>(t.locale??J(),kG(e))),jG=()=>`Rotate PDF pages by 90, 180, or 270 degrees, choose all or selected pages, and save the rotation locally with this rotate PDF online tool.`,MG=((e={},t={})=>(t.locale??J(),jG(e))),NG=()=>`Remove pages from PDF files with a precise local tool to delete PDF pages and ranges while always keeping at least one page.`,PG=((e={},t={})=>(t.locale??J(),NG(e))),FG=()=>`Extract pages from PDF into one new document, save PDF pages in the requested order, and keep the original file unchanged.`,IG=((e={},t={})=>(t.locale??J(),FG(e))),LG=()=>`Organize PDF files locally when you need to reorder PDF pages into one complete, validated sequence.`,RG=((e={},t={})=>(t.locale??J(),LG(e))),zG=()=>`Use the PDF editor to edit PDF copies by adding a new text note without replacing existing text.`,BG=((e={},t={})=>(t.locale??J(),zG(e))),VG=()=>
14`Use the PDF annotator to annotate PDF online with visible review notes on selected pages while existing text and page content remain unchanged.`,HG=((e={},t={})=>(t.locale??J(),VG(e))),UG=()=>`Open documents with a local PDF reader and PDF viewer that validates the file, reports its page count, and returns the unchanged original.`,WG=((e={},t={})=>(t.locale??J(),UG(e))),GG=()=>`Add page numbers to PDF files with local PDF page numbering for all or selected pages and a configurable starting number.`,KG=((e={},t={})=>(t.locale??J(),GG(e))),qG=()=>`Crop PDF pages with a local PDF cropper that trims visible margins by adjusting the crop box without rescaling page content.`,JG=((e={},t={})=>(t.locale??J(),qG(e))),YG=()=>`Redact PDF pages with a permanent PDF redactor that removes covered source objects by rasterizing pages before applying the selected black area.`,XG=((e={},t={})=>(t.locale??J(),YG(e))),ZG=()=>`Watermark PDF pages with a diagonal text mark using this PDF watermark online tool, with configurable text and opacity for selected pages.`,QG=((e={},t={})=>(t.locale??J(),ZG(e))),$G=()=>`Use the PDF filler to populate existing controls with the PDF form filler and optionally flatten them.`,eK=((e={},t={})=>(t.locale??J(),$G(e))),tK=()=>`Share PDF online by creating an unlisted share PDF link through configured storage; anyone with the generated URL can open the uploaded file.`,nK=((e={},t={})=>(t.locale??J(),tK(e))),rK=()=>`Use the PDF to Word converter to extract embedded text into an editable page-grouped DOCX.`,iK=((e={},t={})=>(t.locale??J(),rK(e))),aK=()=>`Use the PDF to Excel converter to place extracted lines in column A of one worksheet per page.`,oK=((e={},t={})=>(t.locale??J(),aK(e))),sK=()=>`Convert PDF to PPT with a PDF to PowerPoint workflow that renders each page as a high-quality image on its own 16:9 slide.`,cK=((e={},t={})=>(t.locale??J(),sK(e))),lK=()=>`Convert PDF to JPG with a local PDF to JPG converter that exports all or selected pages at three practical resolution levels.`,uK=((e={},t={})=>(t.locale??J(),lK(e))),dK=()=>`Convert PDF to PNG with a local PDF to PNG converter that exports all or selected pages as lossless, high-quality images.`,fK=((e={},t={})=>(t.locale??J(),dK(e))),pK=()=>`Use the Word to PDF converter through an approved document service and review the rendered layout.`,mK=((e={},t={})=>(t.locale??J(),pK(e))),hK=()=>`Convert Excel to PDF with an Excel to PDF converter for XLS and XLSX workbooks, using the configured document service after upload approval.`,gK=((e={},t={})=>(t.locale??J(),hK(e))),_K=()=>`Convert PPT to PDF with a PowerPoint to PDF workflow for PPT and PPTX slides, using the configured document service after upload approval.`,vK=((e={},t={})=>(t.locale??J(),_K(e))),yK=()=>`Convert JPG to PDF with a JPG to PDF converter that can combine JPEG photos locally into one ordered A4 document.`,bK=((e={},t={})=>(t.locale??J(),yK(e))),xK=()=>`Convert image to PDF with an image to PDF converter that combines supported JPG, PNG, BMP, GIF, HEIC, TIFF, and WebP files locally.`,SK=((e={},t={})=>(t.locale??J(),xK(e))),CK=()=>`Convert BMP to PDF with a BMP to PDF converter that combines bitmap images locally into an ordered A4 document.`,wK=((e={},t={})=>(t.locale??J(),CK(e))),TK=()=>`Convert GIF to PDF with a GIF to PDF converter that places supported image frames on A4 pages; animation is flattened into document pages.`,EK=((e={},t={})=>(t.locale??J(),TK(e))),DK=()=>`Convert HEIC to PDF with a HEIC to PDF converter that turns iPhone photos and other HEIC images into an ordered A4 document locally.`,OK=((e={},t={})=>(t.locale??J(),DK(e))),kK=()=>`Convert PNG to PDF with a PNG to PDF converter that combines transparent PNG images locally and flattens transparency on white PDF pages.`,AK=((e={},t={})=>(t.locale??J(),kK(e))),jK=()=>`Convert TIFF to PDF with a TIFF to PDF converter that preserves each directory of a multipage TIFF as its own ordered PDF page.`,MK=((e={},t={})=>(t.locale??J(),jK(e))),NK=()=>`Convert WebP to PDF with a WebP to PDF converter that combines supported images locally and flattens transparency on white A4 pages.`,PK=((e={},t={})=>(t.locale??J(),NK(e))),FK=()=>`Convert TXT to PDF with a TXT to PDF converter that wraps UTF-8 plain text into readable A4 pages using a bundled Unicode font when available.`,IK=((e={},t={})=>(t.locale??J(),FK(e))),LK=()=>`Convert Markdown to PDF with a Markdown to PDF converter that renders headings, lists, quotes, inline code, and fenced code locally with raw HTML disabled.`,RK=((e={},t={})=>(t.locale??J(),LK(e))),zK=()=>`Convert RTF to PDF with an RTF to PDF converter that sends one approved ric
14h-text file to the configured document service and returns its rendered PDF.`,BK=((e={},t={})=>(t.locale??J(),zK(e))),VK=()=>`Convert ODT to PDF with an ODT to PDF converter for OpenDocument Text files through the configured service after upload approval.`,HK=((e={},t={})=>(t.locale??J(),VK(e))),UK=()=>`Convert ODP to PDF with an ODP to PDF converter that renders OpenDocument presentation slides through the configured service after upload approval.`,WK=((e={},t={})=>(t.locale??J(),UK(e))),GK=()=>`Convert ODS to PDF with an ODS to PDF converter that renders OpenDocument spreadsheets through the configured service after upload approval.`,KK=((e={},t={})=>(t.locale??J(),GK(e))),qK=()=>`Convert HWP to PDF with an HWP to PDF converter for Hangul documents when the configured document service supports the source file.`,JK=((e={},t={})=>(t.locale??J(),qK(e))),YK=()=>`Convert HTML to PDF with an HTML to PDF converter for uploaded HTML or HTM files; this workflow does not fetch a webpage URL.`,XK=((e={},t={})=>(t.locale??J(),YK(e))),ZK=()=>`Convert EPUB to PDF with an EPUB to PDF converter that renders an approved ebook through the configured document service without removing DRM.`,QK=((e={},t={})=>(t.locale??J(),ZK(e))),$K=()=>`Convert ZIP to PDF with a ZIP to PDF converter that filters supported office and ebook entries, enforces archive limits, renders each privately, and merges validated pages in archive order.`,eq=((e={},t={})=>(t.locale??J(),$K(e))),tq=()=>`Sign PDF pages with a typed visual mark from the local PDF signer, not a certificate signature.`,nq=((e={},t={})=>(t.locale??J(),tq(e))),rq=()=>`Unlock PDF files with the correct password and permission using a local remove PDF password workflow that never guesses or bypasses unknown credentials.`,iq=((e={},t={})=>(t.locale??J(),rq(e))),aq=()=>`Protect PDF files with local AES-256 encryption; password protect PDF documents and restrict copying, annotation, and page assembly.`,oq=((e={},t={})=>(t.locale??J(),aq(e))),sq=()=>`Flatten PDF forms, layers, and annotations locally with a flatten PDF online workflow that creates a stable presentation copy without adding encryption.`,cq=((e={},t={})=>(t.locale??J(),sq(e))),lq=()=>`Scan to PDF from prepared document photos with a local PDF scanner that applies grayscale and contrast.`,uq=((e={},t={})=>(t.locale??J(),lq(e))),dq=()=>`Home`,fq=((e={},t={})=>(t.locale??J(),dq(e))),pq=()=>`Choose Files`,mq=((e={},t={})=>(t.locale??J(),pq(e))),hq=()=>`Drop files here`,gq=((e={},t={})=>(t.locale??J(),hq(e))),_q=()=>`From device`,vq=((e={},t={})=>(t.locale??J(),_q(e))),yq=()=>`Device uploads are ready. Connect a cloud provider before using its file picker.`,bq=((e={},t={})=>(t.locale??J(),yq(e))),xq=()=>`Selected files`,Sq=((e={},t={})=>(t.locale??J(),xq(e))),Cq=()=>`Process files`,wq=((e={},t={})=>(t.locale??J(),Cq(e))),Tq=()=>`Cancel`,Eq=((e={},t={})=>(t.locale??J(),Tq(e))),Dq=()=>`Choose different files`,Oq=((e={},t={})=>(t.locale??J(),Dq(e))),kq=()=>`I understand that this operation uploads the selected file or extracted text to the configured service.`,Aq=((e={},t={})=>(t.locale??J(),kq(e))),jq=()=>`Your result is ready`,Mq=((e={},t={})=>(t.locale??J(),jq(e))),Nq=()=>`Download`,Pq=((e={},t={})=>(t.locale??J(),Nq(e))),Fq=()=>`Download all as ZIP`,Iq=((e={},t={})=>(t.locale??J(),Fq(e))),Lq=()=>`The file could not be processed`,Rq=((e={},t={})=>(t.locale??J(),Lq(e))),zq=()=>`Output files`,Bq=((e={},t={})=>(t.locale??J(),zq(e))),Vq=()=>`How to use this PDF tool`,Hq=((e={},t={})=>(t.locale??J(),Vq(e))),Uq=()=>`Choose a file from your device or drag it into the box.`,Wq=((e={},t={})=>(t.locale??J(),Uq(e))),Gq=()=>`Review the options shown for this document workflow.`,Kq=((e={},t={})=>(t.locale??J(),Gq(e))),qq=()=>`Process the document, verify the result, and download the output.`,Jq=((e={},t={})=>(t.locale??J(),qq(e))),Yq=()=>`Fast, approachable PDF tools`,Xq=((e={},t={})=>(t.locale??J(),Yq(e))),Zq=()=>`A familiar browser workflow, clear controls, and a consistent experience across every TiPDF tool.`,Qq=((e={},t={})=>(t.locale??J(),Zq(e))),$q=()=>`More PDF tools`,eJ=((e={},t={})=>(t.locale??J(),$q(e))),tJ=()=>`Related PDF tools for the next step`,nJ=((e={},t={})=>(t.locale??J(),tJ(e))),rJ=()=>`Test method and product notes`,iJ=((e={},t={})=>(t.locale??J(),rJ(e))),aJ=()=>`All PDF Tools`,oJ=((e={},t={})=>(t.locale??J(),aJ(e))),sJ=()=>`Every tool you need to convert, compress, organize, edit, sign, and understand PDFs.`,cJ=((e={},t={})=>(t.locale??J(),sJ(e))),lJ=()=>`54 PDF Tools for Conversion, Editing and More | TiPDF`,uJ=((e={},t={})=>(t.locale??J(),lJ(e))),dJ=()=>`Browse 54 focused PDF tools by task, compare local, server and AI processing, then open the exact converter, editor, organizer or security workflow.`,fJ=((e={},t={})=>(t.locale??J(),dJ(e))),pJ=()=>`PDF Tools`,mJ=((e={},t={})=>(t.locale??J(),pJ(e))),hJ=()=>`PDF Tools Organized by the Job You Need`,gJ=((e={},t={})=>(t.locale??J(),hJ(e))),_J=()=>`Browse 54 focused PDF tools without guessing which page matches your task. This directory groups conversion, page organization, editing, security, scanning and AI workflows, while every link leads to a dedicated page with exact inputs, outputs, limits, privacy boundaries and result checks. The PDF tools index stays focused on
14navigation.`,vJ=((e={},t={})=>(t.locale??J(),_J(e))),yJ=()=>`Find PDF tools by task`,bJ=((e={},t={})=>(t.locale??J(),yJ(e))),xJ=()=>`Start with the result you need, then use the category links to reach the relevant group. These PDF tools are separate on purpose: each tool page explains one search intent and the narrower capability implemented by TiPDF. PDF tools remain grouped by outcome.`,SJ=((e={},t={})=>(t.locale??J(),xJ(e))),CJ=()=>`Use these PDF tools when byte size is the problem. Compress PDF rasterizes pages at a selected quality, compares the result with the source and returns the original when rebuilding would make the file larger.`,wJ=((e={},t={})=>(t.locale??J(),CJ(e))),TJ=()=>`These PDF tools route supported inputs to a specific output. PDF Converter helps choose a path, while PDF OCR recognizes text in scans; neither page promises that every document structure becomes fully editable. Compare both PDF tools before choosing.`,EJ=((e={},t={})=>(t.locale??J(),TJ(e))),DJ=()=>`AI PDF tools work from text extracted from an approved document. Choose broad analysis, grounded questions, a concise summary, translation or study prompts according to the output you actually need. Open these PDF tools by desired response.`,OJ=((e={},t={})=>(t.locale??J(),DJ(e))),kJ=()=>`Page-organization PDF tools change complete pages rather than rewriting their contents. Merge, split, rotate, delete, extract and reorder have different outputs, so select the operation whose page-count result is easiest to verify. Compare PDF tools by final page structure.`,AJ=((e={},t={})=>(t.locale??J(),kJ(e))),jJ=()=>`These PDF tools handle focused reading and page changes: open a file, add a text note, place an annotation, crop a view, number pages, redact a rectangle, add a text watermark, fill existing fields or create a share link.`,MJ=((e={},t={})=>(t.locale??J(),jJ(e))),NJ=()=>`Export PDF content to a specific format with these PDF tools. Word and Excel outputs are extraction-based, PowerPoint receives page images, and JPG or PNG creates one image per selected page with different quality characteristics.`,PJ=((e={},t={})=>(t.locale??J(),NJ(e))),FJ=()=>`Create fixed pages from images, plain text, Markdown, office files, open formats, HTML, ebooks or supported archive entries. These PDF tools do not share one renderer: read the destination page before assuming local processing, layout fidelity or format support.`,IJ=((e={},t={})=>(t.locale??J(),FJ(e))),LJ=()=>`Security PDF tools cover distinct jobs. Add a visible typed signature, unlock with a known password, apply AES-256 password protection or flatten interactive content; none of those actions should be described as certificate signing or secure redaction.`,RJ=((e={},t={})=>(t.locale??J(),LJ(e))),zJ=()=>`The scanner path turns prepared document photos into a PDF after local grayscale and contrast processing. Use the dedicated PDF tools for OCR when the resulting pages also need a recognized text layer.`,BJ=((e={},t={})=>(t.locale??J(),zJ(e))),VJ=()=>`How to choose PDF tools without overlapping intents`,HJ=((e={},t={})=>(t.locale??J(),VJ(e))),UJ=()=>`A directory is useful only when nearby choices stay distinct. Match the requested output to the page below instead of opening several PDF tools that sound similar and hoping they behave alike. Use the PDF tools comparisons below.`,WJ=((e={},t={})=>(t.locale??J(),UJ(e))),GJ=()=>`Split, extract, delete or organize`,KJ=((e={},t={})=>(t.locale??J(),GJ(e))),qJ=()=>`Split PDF produces separate one-page files. Extract PDF Pages keeps selected pages together in one new document. Delete PDF Pages discards selected pages but must leave at least one. Organize PDF builds one complete reordered sequence. These PDF tools solve different page-selection intents.`,JJ=((e={},t={})=>(t.locale??J(),qJ(e))),YJ=()=>`Choose JPG, PNG or a new PDF`,XJ=((e={},t={})=>(t.locale??J(),YJ(e))),ZJ=()=>`PDF to JPG creates compact photographic images; PDF to PNG creates lossless PNG pages. JPG to PDF is the narrow JPEG route, while Image to PDF accepts the broader implemented image set. Use PDF tools according to output format, transparency and source type. Compare the PDF tools outputs before processing.`,QJ=((e={},t={})=>(t.locale??J(),ZJ(e))),$J=()=>`Separate analysis from conversation`,eY=((e={},t={})=>(t.locale??J(),$J(e))),tY=()=>`AI PDF provides broad document analysis. Chat with PDF answers focu
14sed questions, PDF Summarizer creates a concise digest, Translate PDF changes language and Question Generator creates study prompts. The AI PDF tools share an approved provider boundary but not the same user intent.`,nY=((e={},t={})=>(t.locale??J(),tY(e))),rY=()=>`Know how PDF tools process files`,iY=((e={},t={})=>(t.locale??J(),rY(e))),aY=()=>`Processing location depends on the selected workflow, not on the directory as a whole. Each page identifies whether PDF tools use browser memory, a configured document service, storage or an AI provider before you approve the operation. The PDF tools pages expose that boundary.`,oY=((e={},t={})=>(t.locale??J(),aY(e))),sY=()=>`Local document handling`,cY=((e={},t={})=>(t.locale??J(),sY(e))),lY=()=>`Many page, image and security PDF tools parse or create documents in browser memory without sending file bytes to conversion, storage or AI endpoints. The website can still load normal assets or analytics, so local document processing is more accurate than claiming a completely offline page.`,uY=((e={},t={})=>(t.locale??J(),lY(e))),dY=()=>`Approved document rendering`,fY=((e={},t={})=>(t.locale??J(),dY(e))),pY=()=>`Office, open-document, EPUB and supported ZIP conversions send an approved file through TiPDF to the configured Gotenberg service. Those PDF tools have a 50 MiB upload guard, bounded timeouts and renderer-dependent fonts or import filters; ZIP adds entry and expansion safeguards.`,mY=((e={},t={})=>(t.locale??J(),pY(e))),hY=()=>`AI and sharing boundaries`,gY=((e={},t={})=>(t.locale??J(),hY(e))),_Y=()=>`AI workflows extract document text locally before approved provider processing, while Share PDF uploads a file to configured storage and returns an unlisted URL. Review provider access, logs and retention because these PDF tools cannot promise a deployment policy they do not control.`,vY=((e={},t={})=>(t.locale??J(),_Y(e))),yY=()=>`Verify PDF tools by their real output`,bY=((e={},t={})=>(t.locale??J(),yY(e))),xY=()=>`A completed download is the start of validation, not proof of perfect fidelity. Useful PDF tools state what changed, what stayed out of scope and how a user can compare the result with the authorized source. These PDF tools require a source comparison.`,SY=((e={},t={})=>(t.locale??J(),xY(e))),CY=()=>`Check the page-specific limits`,wY=((e={},t={})=>(t.locale??J(),CY(e))),TY=()=>`Many local PDF tools allow up to 100 MiB and 500 readable PDF pages, while server-rendered sources use a 50 MiB guard. Individual formats add selection, file-count, page-count, password, font, timeout or expansion rules, so confirm the exact page before processing. Some PDF tools apply narrower safeguards.`,EY=((e={},t={})=>(t.locale??J(),TY(e))),DY=()=>`Inspect content and behavior`,OY=((e={},t={})=>(t.locale??J(),DY(e))),kY=()=>`Compare page count, order, dimensions, text selection, fonts, images, links, fields, annotations and signatures where relevant. PDF tools that rasterize can change searchability or interactivity even when every page still looks correct at fit-to-screen size.`,AY=((e={},t={})=>(t.locale??J(),kY(e))),jY=()=>`Keep the authorized source`,MY=((e={},t={})=>(t.locale??J(),jY(e))),NY=()=>`Download to a clearly named derivative, inspect representative pages and preserve the original until review passes. Password protection cannot reverse earlier disclosure, and a visual signature or watermark does not establish cryptographic authenticity. Good PDF tools make those boundaries visible.`,PY=((e={},t={})=>(t.locale??J(),NY(e))),FY=()=>`TiPDF resource`,IY=((e={},t={})=>(t.locale??J(),FY(e))),LY=()=>`Explore practical guidance and continue to the related TiPDF document tools.`,RY=((e={},t={})=>(t.locale??J(),LY(e))),zY=()=>`Explore PDF tools`,BY=((e={},t={})=>(t.locale??J(),zY(e))),VY=()=>`Learn more`,HY=((e={},t={})=>(t.locale??J(),VY(e))),UY=()=>`PDF tips, guides, and ideas`,WY=((e={},t={})=>(t.locale??J(),UY(e))),GY=()=>`Practical ways to work faster and smarter with documents.`,KY=((e={},t={})=>(t.locale??J(),GY(e))),qY=()=>`Free document templates`,JY=((e={},t={})=>(t.locale??J(),qY(e))),YY=()=>
14`Useful starting points for agreements, invoices, letters, and everyday paperwork.`,XY=((e={},t={})=>(t.locale??J(),YY(e))),ZY=()=>`PDF Editor â Add Text Notes Online | TiPDF`,QY=((e={},t={})=>(t.locale??J(),ZY(e))),$Y=()=>`Use the TiPDF PDF editor to add new text notes to selected pages in your browser. Review the exact editing limits, process locally, and download a new PDF.`,eX=((e={},t={})=>(t.locale??J(),$Y(e))),tX=()=>`PDF Editor for Adding Text Notes`,nX=((e={},t={})=>(t.locale??J(),tX(e))),rX=()=>`This PDF editor adds new text to selected pages while leaving the original file unchanged. Choose a PDF, select pages, enter a note and font size, then download a separate edited copy.`,iX=((e={},t={})=>(t.locale??J(),rX(e))),aX=()=>`Use the PDF editor without overwriting the source file 15 16Keep document processing in your browser 17 18Choose page ranges and font sizes from 6 to 96`,oX=((e={},t={})=>(t.locale??J(),aX(e))),sX=()=>`What this online PDF editor actually changes`,cX=((e={},t={})=>(t.locale??J(),sX(e))),lX=()=>`TiPDF provides a focused PDF editor for a common, well-defined task: placing a new text note on one or more existing pages. The note is drawn near the upper-left of each selected page in Helvetica, using the font size you choose. That makes the PDF editor useful for adding a short status, reviewer label, reference number, correction note or other visible overlay without rebuilding the source document. 19 20The current PDF editor does not select, delete, replace or reflow text that is already stored inside the PDF. Existing paragraphs may be split across font objects, drawing commands or scanned pixels, so editing them like a word-processing file requires a different reconstruction workflow. This tool adds content; it does not pretend to rewrite the original text layer. 21 22Every successful edit creates a new download. Your source remains on your device, and the output name identifies it as an edited copy. This separation helps when a contract, worksheet or report must remain available for comparison. For comments, use PDF Annotator; for existing AcroForm fields, use PDF Form Filler.`,uX=((e={},t={})=>(t.locale??J(),lX(e))),dX=()=>`PDF editor inputs, outputs and exact limits`,fX=((e={},t={})=>(t.locale??J(),dX(e))),pX=()=>`The PDF editor accepts one .pdf file and produces one .pdf file. Local jobs allow files up to 100 MiB, while the shared guard limits readable PDFs to 500 pages. Password-protected files must be unlocked because this tool cannot open encrypted page objects without credentials. Files with an invalid PDF signature are rejected. 23 24The PDF editor accepts all pages, individual pages such as 3, ranges such as 2-6, comma-separated combinations, and the odd or even shortcuts. Page numbers are one-based, matching the number a reader sees. The same note and font size are applied to every selected page. The workspace does not offer per-page coordinates, colors, images, shapes, freehand drawing or direct manipulation of existing objects. 25 26Helvetica supports common Latin text but is not universal. Characters outside the standard font may fail or render incompletely. For Chinese OCR text, use PDF OCR; for a Unicode document created from source text, TXT to PDF or Markdown to PDF uses the bundled font when available.`,mX=((e={},t={})=>(t.locale??J(),pX(e))),hX=()=>`How the PDF editor adds a new text note`,gX=((e={},t={})=>(t.locale??J(),hX(e))),_X=()=>`1. Choose the source PDF::Select one PDF from your device or drag it into the upload area. The PDF editor validates the filename, signature, file size and page count locally before exposing the editing controls. 27 282. Set pages and note::Enter all, a page number, a range or a comma-separated selection. Replace the sample note with the exact text you want to add and choose a font size between 6 and 96 points. 29 303. Process and inspect::Run the PDF editor. TiPDF adds the note at a consistent upper-left position on each selected page, writes a new PDF in memory and reports how many pages were changed. 31 324. Download a separate copy::Download the PDF editor result and open it to verify position, text, page range and readability. Keep the original until the new copy has passed your review.`,vX=((e={},t={})=>(t.locale??J(),_X(e))),yX=()=>`Practical uses for a lightweight PDF editor`,bX=((e={},t={})=>(t.locale??J(),yX(e))),xX=()=>`Review and approval labels::Add a short label such as a review stage, case reference or internal routing note to selected pages. Because the PDF editor uses one consistent position, the result works best when that corner is clear on every targeted page. 33 34Coursework and handouts::Use the PDF editor to place a concise instruction, class identifier or version note on a worksheet before distributing it. The original page remains intact, so diagrams and embedded text are not reconstructed or shifted. 35 36Document version cues::A PDF editor note can mark a working copy with a simple status or date before sharing it with colleagues. For a diagonal CONFIDENTIAL-style mark across the page, Watermark PDF is the more accurate tool; for sequential footers, use Add Page Numbers.`,SX=((e={},t={})=>(t.locale??J(),xX(e))),CX=()=>`PDF editor output quality and editing boundaries`,wX=((e={},t={})=>(t.locale??J(),CX(e))),TX=()=>`The PDF editor changes page content directly without rasterizing the document. Existing vectors and images retain their representation, and the note remains a PDF text object. Because placement is fixed, inspect pages with dense headers or content near the upper-left corner. 37 38A scanned PDF is an image inside a page. The PDF editor can place a note above it but cannot recognize or replace words in the scan. Run OCR PDF first for searchable text. Even after OCR, this tool adds a note rather than editing recognized paragraphs. Any content change may invali
38date a digital signature, so only edit a signed document when the workflow permits a new signature.`,EX=((e={},t={})=>(t.locale??J(),TX(e))),DX=()=>`PDF editor privacy and local processing`,OX=((e={},t={})=>(t.locale??J(),DX(e))),kX=()=>`The PDF editor reads and changes the selected file in browser memory on your device; it does not call conversion, sharing or AI endpoints. The browser can still make normal site or analytics requests unrelated to the document, so the precise claim is local document processing rather than a fully offline webpage. 39 40When the PDF editor finishes, closing or reloading clears the in-memory job. The download stays wherever your browser saves files. TiPDF cannot erase that copy, backups or files you later share. Review the result before sending sensitive material.`,AX=((e={},t={})=>(t.locale??J(),kX(e))),jX=()=>`Questions about adding text to a PDF`,MX=((e={},t={})=>(t.locale??J(),jX(e))),NX=()=>`Can I edit PDF text with this PDF editor?::No. It adds a new text note on top of selected pages. It does not select, remove, replace or reflow text that was already in the PDF. Use the original Word, presentation or design file when the underlying content needs substantial revision. 41 42Can the PDF editor choose where text appears?::Not in the current version. The note uses a fixed upper-left position with a safe margin. Review the result for collisions, especially on forms, letterhead and pages with dense headers. 43 44Does the PDF editor reduce image quality?::The standard text-note operation does not rasterize pages, so existing images are not recompressed by this handler. Other operations, including permanent redaction and compression, intentionally rasterize pages and have different quality tradeoffs. 45 46Is edit PDF online free?::Yes. This free PDF editor no signup workflow runs locally without checkout, but you should still review the output and keep the source until validation is complete. 47 48What happens with a password-protected or signed PDF?::Unlock an encrypted PDF with the correct password before editing. A content change can invalidate an existing digital signature even when the visual page looks normal. The Sign PDF tool adds a visual typed signature and is not a certificate-backed digital signature.`,PX=((e={},t={})=>(t.locale??J(),NX(e))),FX=()=>`PDF editor capability copy was checked against the edit-pdf registry and browser handler on July 18, 2026. The test suite verifies route coverage, local PDF processing and structurally valid downloads; this page deliberately excludes unsupported claims about editing existing text, drawing, image insertion or cryptographic signing.`,IX=((e={},t={})=>(t.locale??J(),FX(e))),LX=()=>`Layered PDF page showing a new blue text note added above unchanged document content`,RX=((e={},t={})=>(t.locale??J(),LX(e))),zX=()=>`Add a visible text note to selected PDF pages without replacing existing content.`,BX=((e={},t={})=>(t.locale??J(),zX(e))),VX=()=>`Add a clear note with the TiPDF PDF editor`,HX=((e={},t={})=>(t.locale??J(),VX(e))),UX=()=>`Compress PDF Online â Reduce File Size Locally | TiPDF`,WX=((e={},t={})=>(t.locale??J(),UX(e))),GX=()=>`Compress PDF files locally with three practical quality levels. Compare both byte sizes, keep the smaller result, and inspect the downloaded copy.`,KX=((e={},t={})=>(t.locale??J(),GX(e))),qX=()=>`Compress PDF Files in Your Browser`,JX=((e={},t={})=>(t.locale??J(),qX(e))),YX=()=>`Compress PDF files when attachments, portals or archives need a smaller document. This PDF compressor rebuilds pages locally at a chosen quality level, compares byte sizes and keeps the original when compression would be counterproductive.`,XX=((e={},t={})=>(t.locale??J(),YX(e))),ZX=()=>`Use Compress PDF for image-heavy files 49 50Choose high, balanced, or maximum quality 51 52Keep the original when the rebuilt PDF is larger`,QX=((e={},t={})=>(t.locale??J(),ZX(e))),$X=()=>`How Compress PDF reduces file size`,eZ=((e={},t={})=>(t.locale??J(),$X(e))),tZ=()=>`To compress PDF documents, TiPDF uses transparent rasterization. Each page becomes a browser image, is encoded at the chosen quality, and is placed into a new PDF. This can reduce PDF size when the source contains oversized photos, scans, or complex artwork. It is less useful for efficient text-only files, whose vectors and fonts may occupy fewer bytes than page images. 53 54When you compress PDF files here, the controls change rendering scale and image quality. High favors detail, balanced trades some fidelity for size, and maximum favors smaller output. The handler measures the completed file. If it is not smaller, TiPDF returns the untouched original instead of claiming a reduction. 55 56This process turns pages into images, unlike an optimizer that rewrites streams while preserving every object. Searchable text, links, forms, annotations, and vectors may
56stop being interactive. Keep the source when these features matter. Merge PDF and Organize PDF copy existing pages without rasterizing them.`,nZ=((e={},t={})=>(t.locale??J(),tZ(e))),rZ=()=>`Compress PDF input, output, and limits`,iZ=((e={},t={})=>(t.locale??J(),rZ(e))),aZ=()=>`To compress PDF content, select one genuine .pdf and receive one .pdf download. Browser jobs allow up to 100 MiB and 500 pages. A damaged, renamed, or encrypted file that cannot be opened is rejected. Unlock a protected PDF only with permission. 57 58All pages are processed; there is no page-range control. The result keeps page count and dimensions, but page contents are rendered instead of copied as editable objects. Large pages and dense scans use more memory, so smaller jobs can be more reliable on a constrained device. 59 60A request such as âcompress PDF to 200KBâ is a target, not a guarantee. Output depends on page count, dimensions, colors, and complexity. TiPDF shows quality levels and a real byte comparison but does not repeatedly degrade a file to reach an arbitrary threshold.`,oZ=((e={},t={})=>(t.locale??J(),aZ(e))),sZ=()=>`How to Compress PDF with a reviewable result`,cZ=((e={},t={})=>(t.locale??J(),sZ(e))),lZ=()=>`1. Select one Compress PDF source::Choose the document or drag it into the workspace. The browser checks its extension, signature, size, and readable page count. 61 622. Choose Compress PDF quality::Start high for reports, balanced for routine sharing, or maximum when a smaller attachment matters more than fine detail. One setting applies to every page. 63 643. Run the PDF compressor::TiPDF renders pages, assembles a new file, and compares its byte size with the source. Time depends on page count, dimensions, and device memory. 65 664. Compare Compress PDF sizes::Read the reported source and result sizes. Download the output, zoom into small text, and inspect photos, diagrams, and thin lines. Ineffective compression returns the original. 67 685. Keep a source copy::Rename the compressed PDF clearly and retain the original until visual and functional review passes, especially when text, links, fields, or signatures matter.`,uZ=((e={},t={})=>(t.locale??J(),lZ(e))),dZ=()=>`When Compress PDF is useful`,fZ=((e={},t={})=>(t.locale??J(),dZ(e))),pZ=()=>`Email and portal limits::Compress PDF file size for an image-led report that exceeds an attachment cap. Compare the measured result with the portal's published limit. 69 70Mobile access and shared folders::Use Compress PDF to reduce transfer time and repeated storage. Choose high quality when readers must zoom into charts or photographed text. 71 72Archive derivatives::Create a lightweight access copy while retaining the preservation master. A compressed derivative cannot replace searchable text, accessibility tags, or high-resolution evidence. 73 74Batch preparation::Compress PDF files individually before Merge PDF when a collection is unwieldy. Review each result because merging rasterized pages cannot restore lost detail.`,mZ=((e={},t={})=>(t.locale??J(),pZ(e))),hZ=()=>`Compress PDF visual quality and feature tradeoffs`,gZ=((e={},t={})=>(t.locale??J(),hZ(e))),_Z=()=>`When you compress PDF pages this way, the operation is lossy because pages become images. Small type, fine rules, and sharp screenshots degrade before broad photographs. Output may look acceptable at fit-to-page but soft at 200% zoom. Higher quality keeps more detail and usually produces a larger file. 75 76Rasterization also changes behavior. Text may stop being selectable or searchable, tagged reading order may be lost, and fields, links, comments, or certificate signatures may not work. Run OCR PDF afterward only if a searchable image-based copy is needed; OCR can introduce errors and cannot recreate the original structure.`,vZ=((e={},t={})=>(t.locale??J(),_Z(e))),yZ=()=>`Compress PDF privacy and local processing`,bZ=((e={},t={})=>(t.locale??J(),yZ(e))),xZ=()=>`When you compress PDF files, the document handler is registered for local processing. Page rendering and PDF assembly occur in browser memory on the current device, without calling the server conversion, storage or AI routes. No upload approval is requested for this job. The site can still load its normal assets and analytics, so the accurate statement concerns document processing rather than a completely offline webpage. 77 78Refreshing or closing the tab clears the active in-memory job. Your downloaded copy remains in the browser's chosen folder and may be included in device backups. TiPDF cannot remove that local file or control what happens after you share it.`,SZ=((e={},t={})=>(t.locale??J(),xZ(e))),CZ=()=>`Compress PDF questions and result checks`,wZ=((e={},t={})=>(t.locale??J(),CZ(e))),TZ=()=>`Why did Compress PDF not make the file smaller?::A compact text PDF may already use efficient fonts and streams. Page images can be larger, so TiPDF measures both files and returns the original when needed. 79 80Can I compress PDF online free?::Yes. This local workflow has no account or checkout requirement. File, page, and device-memory limits still apply. 81
82Can TiPDF compress a PDF to an exact size?::No exact byte target is promised. Select a quality level and compare the result. Page complexity prevents a reliable one-setting guarantee such as 200KB. 83 84Will text stay searchable?::Not reliably. This compressor rasterizes pages, so text and links can become pixels. Keep the original when search, accessibility, forms, or navigation matter. 85 86Does compressing a signed PDF preserve its signature?::Do not assume so. Rebuilding content can invalidate certificate signatures. Verify requirements before processing. 87 88Which quality should I use?::Begin high, inspect the result, and move toward stronger compression only when savings justify the visible change. Maximum is a delivery derivative, not a preservation master.`,EZ=((e={},t={})=>(t.locale??J(),TZ(e))),DZ=()=>`Capability notes were checked against the compress-pdf registry and browser handler on July 18, 2026. Tests verify that compress PDF jobs stay local, produce valid output and use the larger-result fallback; this page does not promise lossless optimization or a fixed target size.`,OZ=((e={},t={})=>(t.locale??J(),DZ(e))),kZ=()=>`PDF pages passing through a local quality control with a smaller output and an original-file fallback`,AZ=((e={},t={})=>(t.locale??J(),kZ(e))),jZ=()=>`Reduce an image-heavy PDF's byte size with explicit quality tradeoffs and a measured fallback.`,MZ=((e={},t={})=>(t.locale??J(),jZ(e))),NZ=()=>`Compress PDF files and compare the real result`,PZ=((e={},t={})=>(t.locale??J(),NZ(e))),FZ=()=>`Merge PDF Online â Combine Files in Order | TiPDF`,IZ=((e={},t={})=>(t.locale??J(),FZ(e))),LZ=()=>`Merge PDF files locally in your selected order. Combine 2â100 documents without rasterizing their pages, inspect every transition, and download one PDF.`,RZ=((e={},t={})=>(t.locale??J(),LZ(e))),zZ=()=>`Merge PDF Files Into One Document`,BZ=((e={},t={})=>(t.locale??J(),zZ(e))),VZ=()=>`Merge PDF files when separate chapters, scans or attachments belong in one document. TiPDF copies every page locally in your selected file order, writes one new PDF and leaves each source file unchanged.`,HZ=((e={},t={})=>(t.locale??J(),VZ(e))),UZ=()=>`Use Merge PDF with 2â100 files in selection order 89 90Let Merge PDF copy pages without rasterizing 91 92Process source documents in browser memory`,WZ=((e={},t={})=>(t.locale??J(),UZ(e))),GZ=()=>`How Merge PDF combines complete files`,KZ=((e={},t={})=>(t.locale??J(),GZ(e))),qZ=()=>`The Merge PDF handler opens every selected document, copies its pages and appends them to a new PDF in the same order as the file list. If report-a.pdf comes before appendix-b.pdf, all pages from the report appear before all pages from the appendix. The process does not interleave pages automatically, sort by dates found inside a document or infer chapter order from filenames. A deliberate source order is therefore the most important setup step. 93 94Unlike the compression and permanent redaction tools, this PDF merger does not render pages as images. Existing page dimensions, vector artwork, embedded text and images are copied as PDF page content. That usually preserves visual fidelity better than screenshot-based assembly, although the newly written file is not byte-for-byte identical to any source. Document-level metadata, bookmarks, attachments, forms and certificate signatures need separate review because copying pages is not the same as preserving every container feature. 95 96Use Merge PDF for whole-file concatenation. If the requirement is to rearrange every page inside one document, Organize PDF accepts an explicit complete page order. Extract PDF Pages copies a selection into one new document, while Split PDF creates separate one-page outputs. Keeping these intents separate prevents a simple combine PDF job from becoming an error-prone page-editing workflow.`,JZ=((e={},t={})=>(t.locale??J(),qZ(e))),YZ=()=>`Merge PDF file limits and ordering rules`,XZ=((e={},t={})=>(t.locale??J(),YZ(e))),ZZ=()=>`Merge PDF accepts 2â100 genuine .pdf files. Each local input can be up to 100 MiB and 500 readable pages. Total work still depends on browser memory: one hundred tiny PDFs differ from image-heavy reports. On a constrained device, combine sensible groups and inspect intermediate results. 97 98Merge PDF follows file selection order and has no post-upload drag control. Choose files deliberately or add them in the intended sequence. Distinct files with identical content will be copied twice. The output is one newly written .pdf. 99 100Before Merge PDF can load encrypted inputs, unlock them with authorization. A malformed file, renamed non-PDF, or document beyond validation limits stops the job instead of being skipped, preventing an apparently complete package with missing pages.`,QZ=((e={},t={})=>(t.locale??J(),ZZ(e))),$Z=()=>`How to Merge PDF files in the right order`,eQ=((e={},t={})=>(t.locale??J(),$Z(e))),tQ=()=>`1. Prepare the Merge PDF sequence::Rename files with clear prefixes if necessary, then confirm each document's first and last pages. Decide the complete order before selecting anything. 101 1022. Select 2â100 PDF files::Choose them from your device in the intended sequence or drag them into the workspace together. TiPDF validates extensions, signatures, sizes, and page counts locally. 103 1043. Run Merge PDF::Start only after the list is correct. TiPDF loads each source, copies every page, and appends it to the new document without server conversion or image rendering. 105 1064. Inspect transition points::Open the result and check every source boundary. The previous file's last page should be followed by the next file's first page. Verify orientation, page sizes, and interactive elements. 107 1085. Keep sources until approval::Save the merged copy under a descriptive name and retain the originals. A combined deliverable should not erase version history or evidence represented by its components.`,nQ=((e={},t={})=>(t.locale??J(),tQ(e))),rQ=()=>`When Merge PDF creates a useful package`,iQ=((e={},t={})=>(t.locale??J(),rQ(e))),aQ=()=>`Reports with appendices::Use Merge PDF to place a main report before exhibits, source notes, and signed approvals. Clear filenames make the package easier to rebuild. 109 110Scanned packets::Combine PDF files from separate scan sessions into one case, application, or course packet. Rotate upside-down pages before merging. 111 112Invoices and records::Merge PDF records into a monthly reference bundle in a known sequence. Retain the originals when individual provenance matters. 113 114Submission packages::Join PDF files such as a cover sheet, narrative, and evidence. Compare the final page count with the sum of all inputs and check the receiving system's size limit.`,oQ=((e={},t={})=>(t.locale??J(),aQ(e))),sQ=()=>`Merge PDF page fidelity and document features`,cQ=((e={},t={})=>(t.locale??J(),sQ(e))),lQ=()=>`Merge PDF copies pages without rasterization. Selectable text normally remains page text, photographs are not intentionally recompressed, and mixed page sizes remain. A viewer may show portrait, landscape, Letter, and A4 pages in one output; the operation does not normalize them. 115 116Review container-level behavior. Bookmarks may not form a unified outline, form field names can conflict, and links or attachments may depend on structures outside copied pages. Certificate signatures describe a specific original and should not be assumed valid in a new file. Preserve signed originals alongside a convenience copy.`,uQ=((e={},t={})=>(t.locale??J(),lQ(e))),dQ=()=>`Merge PDF privacy and local processing`,fQ=((e={},t={})=>(t.locale??J(),dQ(e))),pQ=()=>`Merge PDF processing occurs in browser memory on the current device. The handler reads the selected files and assembles the output locally; it does not call the server conversion, storage, sharing or AI endpoints and does not request upload approval. Normal webpage resources can still use the network, so this
116statement applies specifically to document bytes. 117 118Closing or refreshing the page clears the active job. The downloaded result and all source files remain wherever your browser and operating system store them. TiPDF cannot delete local copies, backups or later shares, so use a trusted device for confidential packages.`,mQ=((e={},t={})=>(t.locale??J(),pQ(e))),hQ=()=>`Merge PDF questions and ordering checks`,gQ=((e={},t={})=>(t.locale??J(),hQ(e))),_Q=()=>`Can Merge PDF change the order after selection?::The workspace follows selection order and has no post-upload drag list. Cancel and select again if the sequence is wrong. 119 120Does the PDF merger reduce page quality?::It copies existing pages rather than rasterizing them, so it does not intentionally recompress page images. Document-level features still require inspection. 121 122Can I merge PDF online free?::Yes. The local workflow has no checkout or account requirement. File limits and available device memory still apply. 123 124Can I combine password-protected PDFs?::Only after legitimately unlocking them. The handler cannot copy pages it cannot decrypt and does not bypass passwords. 125 126How do I combine PDF files safely?::Confirm selection order, inspect every source boundary, compare the final page count, and retain all originals. 127 128Can I join PDF files one page at a time?::This page concatenates whole files. Use Extract PDF Pages for one selected document or Organize PDF for a complete page order. 129 130Why is the combined file large?::Merge PDF does not optimize images. Compress suitable source copies first when smaller delivery size matters. 131 132Is this the same as organizing pages?::No. Organize PDF reorders one document, while Split PDF produces separate page files.`,vQ=((e={},t={})=>(t.locale??J(),_Q(e))),yQ=()=>`Merge PDF capability copy was checked against the registry and browser handler on July 18, 2026. Tests cover multiple inputs, local page copying, and valid output; bookmark reconstruction and signature preservation are excluded.`,bQ=((e={},t={})=>(t.locale??J(),yQ(e))),xQ=()=>`Three PDF document stacks joining in a selected order to create one combined page stack`,SQ=((e={},t={})=>(t.locale??J(),xQ(e))),CQ=()=>`Combine complete PDF files in a deliberate sequence without rendering their pages as images.`,wQ=((e={},t={})=>(t.locale??J(),CQ(e))),TQ=()=>`Merge PDF files into one reviewed document`,EQ=((e={},t={})=>(t.locale??J(),TQ(e))),DQ=()=>`Split PDF Pages Into Separate Files Online | TiPDF`,OQ=((e={},t={})=>(t.locale??J(),DQ(e))),kQ=()=>`Split PDF pages locally by page number or range. Create one PDF per selected page, review the outputs, and download individual files or a ZIP bundle.`,AQ=((e={},t={})=>(t.locale??J(),kQ(e))),jQ=()=>`Split PDF Pages Into Individual Files`,MQ=((e={},t={})=>(t.locale??J(),jQ(e))),NQ=()=>`Split PDF into pages when a large document contains records that must be sent or stored separately. TiPDF selects the pages you specify, creates one single-page PDF for each and processes the source in browser memory.`,PQ=((e={},t={})=>(t.locale??J(),NQ(e))),FQ=()=>`Creates one Split PDF file for every selected page 133 134Supports ranges and odd or even Split PDF selections 135 136Offers individual downloads and a bundled archive`,IQ=((e={},t={})=>(t.locale??J(),FQ(e))),LQ=()=>`What Split PDF produces`,RQ=((e={},t={})=>(t.locale??J(),LQ(e))),zQ=()=>`The Split PDF handler reads one source document and parses a page selection. Every selected page is copied into its own new one-page PDF. Selecting pages 2-4 therefore produces three artifacts, not one three-page excerpt. That distinction matters: Extract PDF Pages creates a single document containing a selection, while Split PDF is intended for separate page files. 137 138Split PDF selections use the visible one-based numbering people expect. You can request all pages, an individual page, a range, comma-separated combinations, or odd and even pages. The parser validates the selection against the actual page count and rejects impossible or empty requests instead of producing misleading blank files. Repeated page numbers are normalized, so the same source page is not silently emitted several times. 139 140To split PDF content, TiPDF copies page objects rather than rendering screenshots. Existing page dimensions, text and graphics normally remain in their PDF representation. Each output is newly written, however, and document-wide structures such as bookmarks, attachments, cross-page links, form relationships and certificate signatures are not guaranteed to follow a page into an independent file. Review the files according to their real use.`,BQ=((e={},t={})=>(t.locale??J(),zQ(e))),VQ=()=>`Split PDF input, selections and limits`,HQ=((e={},t={})=>(t.locale??J(),VQ(e))),UQ=()=>`Split PDF accepts one genuine .pdf of up to 100 MiB for local work and validates up to 500 readable pages. Password-protected documents must be unlocked with authorization before pages can be copied. Damaged files, invalid signatures and renamed non-PDF content are rejected. 141 142The Split PDF selection accepts all, values such as 3, ranges such as 5-12, combinations such as 1,3,8-10, and odd or even. Range order describes membership rather than a custom output sequence; outputs are named by their source page number. If you need one newly ordered document, Organize PDF is the correct intent. 143 144Each selected page becomes a separate .pdf artifact. The result area can download files individually, while multiple artifacts may be packaged into a ZIP for convenience. The archive is a download container, not cloud storage. Very broad selections can create hundreds of small files, so confirm that separate pages are genuinely useful before choosing all.`,WQ=((e={},t={})=>(t.locale??J(),UQ(e))),GQ=()=>`How to Split PDF pages accurately`,KQ=((e={},t={})=>(t.locale??J(),GQ(e))),qQ=()=>`1. Check the Split PDF source::Open the PDF and note the viewer page numbers you need. Printed labels inside a scan may not match the PDF's actual page index, so use the viewer count. 145 1462. Select one PDF::Choose or drag the source into the workspace. Split PDF checks its extension, file signature, byte size and readable page count locally. 147 1483. Enter a Split PDF selection::Use one page, a range, a combined expression, all, odd or even. Review the parsed request before starting, especially when a cover changes the apparent numbering. 149 1504. Run the PDF splitter::Split PDF copies every chosen page into an independent PDF and reports the artifacts. No server conversion or rasterization is used by this handler. 151 1525. Download and verify::Save files individually or use the archive bundle. Open a sample from the beginning, middle and end, confirm filenames and page content, and keep the source until the separated set is accepted.`,JQ=((e={},t={})=>(t.locale??J(),qQ(e))),YQ=()=>`When Split PDF files help`,XQ=((e={},t={})=>(t.locale??J(),YQ(e))),ZQ=()=>`Individual certificates::A combined export may contain one certificate per page. Split PDF pages, then match every output with the correct recipient before sending anything confidential. 153 154Invoices and receipts::Use Split PDF for page-level records only when each page is a complete transaction. Multi-page invoices should be extracted as a group rather than split blindly. 155 156Worksheets and handouts::Create one file per exercise or reference sheet. Check whether instructions span adjacent pages before distributing independent files. 157 158Selective review::Use odd or even selection for duplex scans only when the page pattern is consistent. Preview first; separator sheets and covers can shift the pattern.`,QQ=((e={},t={})=>(t.locale??J(),ZQ(e))),$Q=()=>`Split PDF fidelity and feature boundaries`,e$=((e={},t={})=>(t.locale??J(),$Q(e))),t$=()=>`Split PDF page copying does not intentionally recompress photographs or turn text into pixels. Mixed page sizes and rotations remain attached to their pages. Because each result contains only one copied page, file size may not fall in direct proportion to page count: shared fonts or resources can be embedded again in separate outputs. 159 160A one-page result cannot preserve every relationship from the source. Bookmarks aimed at other pages, internal links, document attachments and multi-page form logic may become irrelevant or fail. A certificate signature covering the original file should not be assumed valid on extracted outputs. If legal provenance matters, retain the complete signed source alongside derived pages.`,n$=((e={},t={})=>(t.locale??J(),t$(e))),r$=()=>`Local page-separation privacy`,i$=((e={},t={})=>(t.locale??J(),r$(e))),a$=()=>`Split PDF processing runs in browser memory on the current device. The source and copied pages are not sent to the server conversion, sharing, storage or AI routes, and the job does not request upload approval. Normal site resources may still use the network; the local statement applies to document bytes. 161 162Refreshing closes the in-memory job, but downloaded PDFs and ZIP archives remain on the device. TiPDF cannot delete them, rename them after download or prevent a recipient from forwarding them. Page-level files may be easier to misaddress than one bundle, so verify names and recipients carefully.`,o$=((e={},t={})=>(t.locale??J(),a$(e))),s$=()=>`Split PDF questions`,c$=((e={},t={})=>(t.locale??J(),s$(e))),l$=()=>`Does a range create one PDF or several?::Several. A three-page range creates three one-page PDFs. Use Extract PDF Pages when the selection must remain together in one file. 163 164Is Split PDF online free?::Yes. This browser workflow has no account or checkout requirement, but local file and page limits still apply. 165 166Can I split a password-protected PDF?::Only after unlocking it with the correct password and permission. This tool does not bypass encryption. 167 168Are pages converted to images?::No. The handler copies the selected PDF page into each output. Document-level features can still be lost because each output is a new independent file. 169 170Why are individual files not extremely small?::Fonts, images and other resources required by a page may be embedded in its output. Separate PDF pages optimize organization, not guaranteed compression. 171 172Can I reorder pages while splitting?::Not as one reordered document. The PDF splitter emits files identified by source page. Use Organize PDF to specify a complete new order.`,u$=((e={},t={})=>(t.locale??J(),l$(e))),d$=()=>`Split PDF capability copy was verified against the split-pdf registry, page-range parser and browser handler on July 18, 2026. Tests cover validated selections, local page copying and separate valid artifacts without claiming feature preservation.`,f$=((e={},t={})=>(t.locale??J(),d$(e))),p$=()=>`One PDF stack separating into individual page files and a bundled local download`,m$=((e={},t={})=>(t.locale??J(),p$(e))),h$=()=>`Use Split PDF to create individual one-page files, with an optional bundled download.`,g$=((e={},t={})=>(t.locale??J(),h$(e))),_$=()=>`Split PDF pages into clearly named files`,v$=((e={},t={})=>(t.locale??J(),_$(e))),y$=()=>`Organize PDF and Reorder Every Page Online | TiPDF`,b$=((e={},t={})=>(t.locale??J(),y$(e))),x$=()=>`Organize PDF pages locally by entering one complete new sequence. Validate every page exactly once, reorder the document, and download a single PDF.`,S$=((e={},t={})=>(t.locale??J(),x$(e))),C$=()=>`Organize PDF Pages Into a New Order`,w$=((e={},t={})=>(t.locale??J(),C$(e))),T$=()=>`Organize PDF pages when the document is complete but its sequence is wrong. TiPDF validates a list containing every page exactly once, copies those pages locally in the requested order and creates one reordered PDF.`,E$=((e={},t={})=>(t.locale??J(),T$(e))),D$=()=>`Requires a complete Organize PDF order 173 174Copies pages without rasterizing Organize PDF output 175 176Creates one reordered PDF entirely in the browser`,O$=((e={},t={})=>(t.locale??J(),D$(e))),k$=()=>`What Organize PDF changes`,A$=((e={},t={})=>(t.locale??J(),k$(e))),j$=()=>`The Organize PDF tool performs one narrowly defined operation: it rebuilds a document using a complete page sequence that you type. For a four-page source, an order such as 3,1,4,2 puts the third page first, followed by the first, fourth and second pages. The Organize PDF result remains one four-page PDF. This is different from Split PDF, which creates separate files, and Extract PDF Pages, which intentionally creates a smaller selection. 177 178Before TiPDF will reorder PDF pages, the Organize PDF sequence must include every source page exactly once. Missing numbers, repeated numbers, numbers outside the document and incomplete ranges are rejected. That strict check prevents an accidental omission from looking like a successful organization job. Leaving the field empty is also rejected even though the interface description explains that the original order would otherwise be unchanged; a new explicit order is required by the current handler. 179 180The Organize PDF browser handler creates an empty PDF, copies source pages in the validated sequence and saves the result with an organized suffix. It does not render each page as a screenshot, run OCR, sort pages by their visible headings or infer the correct sequence. To organize PDF content safely, decide the sequence yourself by looking at thumbnails, page numbers and section boundaries in a reader before entering it.`,M$=((e={},t={})=>(t.locale??J(),j$(e))),N$=()=>`Organize PDF input, order and output`,P$=((e={},t={})=>(t.locale??J(),N$(e))),F$=()=>`Organize PDF accepts one genuine .pdf. Local validation limits a file to 100 MiB and reads at most 500 pages. The file extension and PDF signature must agree, and the parser must be able to load the document. Encrypted content requires the correct password and permission through the unlock workflow; this page does not bypass protection. 181 182Enter Organize PDF page numbers separated by commas, using the one-based page count shown by a PDF reader. Ranges are accepted by the shared parser, so 4-6,1-3 describes pages 4,5,6,1,2,3. Every page from 1 through the actual page count must appear once and only once. A sequence cannot duplicate a cover for convenience, omit blanks, or insert new pages. Use the relevant extraction, deleti
182on or merge tool for those different intents. 183 184The output is one .pdf containing the same number of pages as the source. The filename gains an organized suffix. Reordering does not promise a smaller file, and the tool provides no compression setting. If size is also a problem, download and inspect the reordered file first, then use Compress PDF as a separate, observable step.`,I$=((e={},t={})=>(t.locale??J(),F$(e))),L$=()=>`How to Organize PDF pages without omissions`,R$=((e={},t={})=>(t.locale??J(),L$(e))),z$=()=>`1. Map the Organize PDF source::Open the source in a reader and identify the file page numbers. Printed numbers can restart inside appendices or differ from the viewer count, so make a page-to-section note when the document is complex. 185 1862. Plan one Organize PDF sequence::Write every number exactly once in the desired order. For a long file, divide the plan into verified sections and then join them. Count the entries before processing. 187 1883. Select the PDF::Choose or drag one file into the workspace. Organize PDF checks the extension, file signature, byte limit and readable page count before processing. 189 1904. Enter and validate the order::Paste the comma-separated order or supported ranges. TiPDF rejects duplicates, omissions and out-of-range values rather than silently rearranging an incomplete list. 191 1925. Download and compare::Open Organize PDF output, inspect transitions between sections, confirm the first and last pages and compare the total page count with the source. Keep the original until the new sequence has been approved.`,B$=((e={},t={})=>(t.locale??J(),z$(e))),V$=()=>`Useful Organize PDF workflows`,H$=((e={},t={})=>(t.locale??J(),V$(e))),U$=()=>`Correcting scan order::Use Organize PDF after identifying misplaced backs, inserts or separator sheets; the tool will not detect fronts and backs automatically. 193 194Assembling a report::Organize PDF sections by moving a completed executive summary ahead of supporting material while retaining every page. Check internal references after the order changes because written phrases such as âsee the next pageâ are not rewritten. 195 196Fixing exported presentations::An export may contain all slides but use an outdated sequence. Reorder PDF pages when visual pages are final and n
196o source presentation is available, then verify slide numbers embedded in the artwork. 197 198Preparing archival copies::Put cover sheets, indexes and appendices into an agreed sequence without deleting records. Preserve the untouched original as provenance and record why the derivative was reorganized.`,W$=((e={},t={})=>(t.locale??J(),U$(e))),G$=()=>`Organize PDF fidelity and consequences`,K$=((e={},t={})=>(t.locale??J(),G$(e))),q$=()=>`TiPDF copies PDF page objects, so text, vector graphics, photographs, dimensions, crop boxes and rotations normally retain their page representation. When you organize PDF pages, the operation does not intentionally resample images or apply lossy compression. A newly saved file can still have a different byte size because PDF objects and shared resources are serialized again. 199 200Rearrange PDF pages carefully because a new order can change meaning even when pixels remain identical. Bookmarks, destinations, page labels, links, form calculations and reading order may refer to the old structure. Certificate signatures that covered the original bytes must not be assumed valid on the rewritten file. Accessibility tags and logical document structure also need checking. Use a PDF validator or specialist editor when preservation of those features is a contractual requirement.`,J$=((e={},t={})=>(t.locale??J(),q$(e))),Y$=()=>`Local Organize PDF file handling`,X$=((e={},t={})=>(t.locale??J(),Y$(e))),Z$=()=>`The selected PDF is parsed, copied and saved in browser memory on the current device. This local handler does not send document bytes to the server conversion, storage, sharing or AI services, and it does not ask for remote-upload approval. The website may still fetch normal application resources; the local statement applies specifically to the PDF job. 201 202Closing or refreshing the page ends the in-memory session, but any downloaded result remains in the device's downloads or chosen folder. TiPDF cannot erase local copies or prevent later sharing. When page order contains sensitive records, verify the final sequence before attaching the file and retain access controls appropriate to the destination.`,Q$=((e={},t={})=>(t.locale??J(),Z$(e))),$$=()=>`Organize PDF order questions`,e1=((e={},t={})=>(t.locale??J(),$$(e))),t1=()=>`Is Organize PDF online free?::Yes. This local workflow has no account or checkout requirement, subject to file and page limits. 203 204Can I reorder pages in PDF without listing every page?::No. The complete sequence must include every source page exactly once. 205 206Can I sort PDF pages by heading or date?::No. TiPDF does not analyze visible content or infer the correct order; you provide the sequence. 207 208Can I omit pages I do not need?::No. The Organize PDF handler requires every page exactly once. Use Delete Pages or Extract PDF Pages when the intended result contains fewer pages. 209 210Can I repeat one page?::No. Duplicate values fail validation. To duplicate or insert pages, create the required source documents and use a workflow designed for merging. 211 212Will reordering make the PDF smaller?::Not necessarily. Page resources are saved again, and this operation has no quality or compression control. Use a separate compressor only after checking the organized result. 213 214Are bookmarks and signatures preserved?::Do not assume so. Page content is copied, but document-level navigation, tags, forms and certificate signatures may need specialist verification after the file is rewritten.`,n1=((e={},t={})=>(t.locale??J(),t1(e))),r1=()=>`Organize PDF capability copy was verified on July 18, 2026 against the organize-pdf registry, ordered page-range parser and local PDF copying handler. Validation covers a complete unique sequence and one rewritten artifact, without claiming semantic sorting or document-feature preservation.`,i1=((e={},t={})=>(t.locale??J(),r1(e))),a1=()=>`Numbered PDF pages moving from a mixed sequence into one complete ordered stack on the local device`,o1=((e={},t={})=>(t.locale??J(),a1(e))),s1=()=>`Use Organize PDF for one complete sequence and a single reordered download.`,c1=((e={},t={})=>(t.locale??J(),s1(e))),l1=()=>`Organize PDF pages into your verified sequence`,u1=((e={},t={})=>(t.locale??J(),l1(e))),d1=()=>
214`JPG to PDF Online â Combine JPEG Images | TiPDF`,f1=((e={},t={})=>(t.locale??J(),d1(e))),p1=()=>`Use JPG to PDF online to combine up to 100 JPG or JPEG images into one A4 document. Keep file order, inspect every page, and download locally.`,m1=((e={},t={})=>(t.locale??J(),p1(e))),h1=()=>`JPG to PDF for One Ordered, Multi-Page Document`,g1=((e={},t={})=>(t.locale??J(),h1(e))),_1=()=>`Convert JPG to PDF when photographs or scanned image exports need one consistent document container. TiPDF decodes up to 100 JPG or JPEG files locally, places each image on its own A4 page in selection order and downloads one PDF.`,v1=((e={},t={})=>(t.locale??J(),_1(e))),y1=()=>`Combine up to 100 files with JPG to PDF 215 216Place one centered image on each A4 page 217 218Build the complete document in browser memory`,b1=((e={},t={})=>(t.locale??J(),y1(e))),x1=()=>`What JPG to PDF produces`,S1=((e={},t={})=>(t.locale??J(),x1(e))),C1=()=>`JPG to PDF begins with image files on the device. For each item, the browser validates its name and binary signature, decodes the bitmap, paints it on a white canvas, and embeds a JPEG representation in a new PDF. The output has one A4 portrait page per image. Seven photos produce one seven-page document, not seven downloads. 219 220Page order follows the file array supplied by the picker. TiPDF does not read dates, receipt numbers, or content to infer a sequence. Operating systems may present image-10 before image-2, so review selection order. Zero-padded names such as image-01 reduce ambiguity in a chronological batch. 221 222This JPG to PDF converter is narrower than Image to PDF. It accepts .jpg and the .jpeg alias. PNG, HEIC, TIFF, WebP, BMP, and GIF belong on their specific or mixed-image pages. Restricting this route to JPEG inputs keeps its validation and output promise clear.`,w1=((e={},t={})=>(t.locale??J(),C1(e))),T1=()=>`JPG to PDF input, A4 layout, and safety limits`,E1=((e={},t={})=>(t.locale??J(),T1(e))),D1=()=>`JPG to PDF accepts 1â100 JPG or JPEG files. Each can be up to 100 MiB, but one decoded image cannot exceed 80 million pixels and the full job cannot exceed 250 million. A compact camera file can expand greatly in memory, so these limits protect the browser. Empty files, renamed non-images, and conflicting signatures are rejected. 223 224Each image is centered on a 595.28 by 841.89 point A4 portrait page with a 24-point margin. The bitmap keeps its aspect ratio, scales down to fit, and is not enlarged past decoded dimensions. A landscape photo remains horizontal content with white space; the page does not rotate. There are no paper, margin, crop, orientation, or quality controls. 225 226The canvas has a white background and is encoded as JPEG at quality 0.9. Conversion cannot recover detail removed by camera compression and does not make photographed words selectable.`,O1=((e={},t={})=>(t.locale??J(),D1(e))),k1=()=>`How to combine JPG files in the intended order`,A1=((e={},t={})=>(t.locale??J(),k1(e))),j1=()=>`1. Prepare JPG to PDF images::Rotate, crop, and correct perspective first. The converter fits existing pixels to a page but does not detect paper edges or repair a skewed photograph. 227 2282. Select JPG to PDF files in order::Use sortable filenames, then choose up to 100 images in the intended reading sequence. Confirm picker order instead of relying on capture time. 229 2303. Pass JPG to PDF validation::TiPDF checks extension, JPG signature, byte size, and decoded pixel dimensions. A mismatched or excessive file stops with an explicit error. 231 2324. Convert JPG to PDF::The browser creates one A4 page per image, centers the JPEG within its margins, and assembles the pages without a server upload. 233 2345. Inspect the document::Compare page count with input count and examine orientation, white space, small text, and file transitions. Keep the source images until the PDF is accepted.`,M1=((e={},t={})=>(t.locale??J(),j1(e))),N1=()=>`Practical JPG to PDF uses`,P1=((e={},t={})=>(t.locale??J(),N1(e))),F1=()=>`Receipt packets::Use JPG to PDF for photographed receipts in one expense attachment. Check totals and retain originals when color or metadata may be evidence. 235 236Application documents::Merge JPG to PDF only after preparing each scan. Confirm the portal's resolution, page-size, accessibility, and file-size rules; this tool does not certify compliance. 237 238Class notes and handouts::JPG to PDF can collect board photos or worksheets into an easier browsing file. Arrange sources explicitly because the converter does not infer lesson order. 239 240Photo records::Use the photo to PDF workflow for one reference image per A4 page. It has no captions, color adju
240stment, or multi-photo page templates.`,I1=((e={},t={})=>(t.locale??J(),F1(e))),L1=()=>`JPG to PDF image quality and searchability`,R1=((e={},t={})=>(t.locale??J(),L1(e))),z1=()=>`JPG to PDF uses browser-decoded pixels and encodes each canvas at quality 0.9. This practical high setting is still lossy and can change size or add another compression generation. Large images scale down to the A4 area; smaller ones are not enlarged. Fine text, low contrast, and existing artifacts remain. 241 242The result stores page images, not OCR text. Search, selection, copy, and screen-reader behavior are not created. Run PDF OCR separately for searchable text and verify recognition. A PDF wrapper does not make an image accessible, archival, or legally authenticated.`,B1=((e={},t={})=>(t.locale??J(),z1(e))),V1=()=>`JPG to PDF privacy and local image processing`,H1=((e={},t={})=>(t.locale??J(),V1(e))),U1=()=>`The JPG to PDF job runs in browser memory on the current device. Selected image bytes are not sent to the server conversion, AI, storage or sharing routes, and the handler does not request remote-upload approval. Normal site resources may still use the network; the local statement applies to the selected documents. 243 244Refreshing or closing the page clears the active in-memory job, but source images and the downloaded PDF remain wherever the device stores them. TiPDF cannot remove those copies or prevent later forwarding. Review photographs for unintended backgrounds, location details or other sensitive content before distributing the combined file.`,W1=((e={},t={})=>(t.locale??J(),U1(e))),G1=()=>`JPG to PDF questions and output checks`,K1=((e={},t={})=>(t.locale??J(),G1(e))),q1=()=>`Can JPG to PDF combine several images?::Yes. Select up to 100 JPG or JPEG files for one document with one image per page. 245 246Does JPEG to PDF use the same route?::Yes. The .jpeg alias is normalized and receives the same local validation and A4 page layout. 247 248Is JPG to PDF online free?::Yes. The local workflow has no account or checkout requirement. File, pixel, and browser-memory limits still apply. 249 250Does JPG to PDF preserve selection order?::Yes. The supplied file order controls the pages. Use clear filenames and verify transitions. 251 252Can I change A4 to Letter or landscape?::Not on this route. Pages are fixed A4 portrait with 24-point margins, while each image keeps its aspect ratio. 253 254Will text in a photo become searchable?::No. The result is image-based. Run OCR separately when necessary and review its text. 255 256Is JPG to PDF lossless?::No. The canvas is embedded as JPEG at quality 0.9. Existing compression cannot be reversed, and another encoding step can change image data.`,J1=((e={},t={})=>(t.locale??J(),q1(e))),Y1=()=>`JPG to PDF capability copy was verified on July 18, 2026 against the jpg-to-pdf registry, file-signature checks, browser image decoder, pixel guards and A4 PDF assembly handler. Claims cover local ordered image placement without promising OCR, lossless output or automatic correction.`,X1=((e={},t={})=>(t.locale??J(),Y1(e))),Z1=()=>`Three JPG photo files becoming one ordered multi-page A4 PDF on a local device`,Q1=((e={},t={})=>(t.locale??J(),Z1(e))),$1=()=>`Combine JPG or JPEG images locally into one ordered A4 PDF with one image per page.`,e0=((e={},t={})=>(t.locale??J(),$1(e))),t0=()=>`Run JPG to PDF and inspect the page order`,n0=((e={},t={})=>(t.locale??J(),t0(e))),r0=()=>`PDF to JPG Online â Export Selected Pages | TiPDF`,i0=((e={},t={})=>(t.locale??J(),r0(e))),a0=()=>`Use PDF to JPG online to render all or selected pages as numbered JPEG files. Choose standard, balanced, or high quality, then inspect every image.`,o0=((e={},t={})=>(t.locale??J(),a0(e))),s0=()=>`PDF to JPG for Separate, Numbered Page Images`,c0=((e={},t={})=>(t.locale??J(),s0(e))),l0=()=>`Convert PDF to JPG when individual pages need to work as ordinary image files. TiPDF renders all pages or a validated selection locally, applies one of three practical quality levels and creates a numbered JPEG artifact for every chosen page.`,u0=((e={},t={})=>(t.locale??J(),l0(e))),d0=()=>`Use PDF to JPG for all pages or a precise selection 257
258Choose standard, balanced, or high render settings 259 260Receive one clearly numbered JPG per page`,f0=((e={},t={})=>(t.locale??J(),d0(e))),p0=()=>`What PDF to JPG page rendering changes`,m0=((e={},t={})=>(t.locale??J(),p0(e))),h0=()=>`The PDF to JPG process opens one genuine PDF with PDF.js, parses requested pages, and paints each page onto a browser canvas. Text, vectors, photographs, and visible annotations become pixels. TiPDF encodes the canvas as JPEG and names it with the safe source filename plus page number. A three-page selection creates three images, not one tall contact sheet. 261 262Raster rendering differs from extracting embedded pictures. It captures the complete visible page, including margins, backgrounds, and combined elements. It does not return original photo objects or preserve selectable text, vector paths, links, form controls, layers, or navigation. Use it when the destination expects a simple image, not editable source content. 263 264The PDF to JPG converter performs no OCR and makes no content decisions. It will not detect a chart, crop a photograph, remove a header, or infer which pages matter. The page expression controls output. Use PDF to Word for editable embedded text, or PDF to PNG for lossless page-image encoding.`,g0=((e={},t={})=>(t.locale??J(),h0(e))),_0=()=>`PDF to JPG page selection, quality, and limits`,v0=((e={},t={})=>(t.locale??J(),_0(e))),y0=()=>`PDF to JPG accepts one .pdf up to 100 MiB and 500 readable pages. The extension must match the PDF signature. Unlock encrypted documents with the correct password and authority; renamed, damaged, or unreadable files are rejected. Request all pages, one page, ranges, combinations, odd, or even pages. Numbering is one-based. 265 266PDF to JPG standard uses scale 1 and JPEG quality 0.52; balanced uses 1.45 and 0.76; high uses 2 and 0.9. Scale multiplies viewport dimensions, not a fixed DPI, because page sizes vary. Higher settings produce more pixels and often larger files, while lower settings can soften text and diagrams. 267 268The job is limited to 250 million rendered pixels. A long document at high scale can hit the ceiling even when the PDF is small. Select fewer pages or lower quality when necessary. Each .jpg includes its source page number.`,b0=((e={},t={})=>(t.locale??J(),y0(e))),x0=()=>`How to export pages with PDF to JPG`,S0=((e={},t={})=>(t.locale??J(),x0(e))),C0=()=>`1. Identify PDF to JPG pages::Open the source in a reader and n
268ote its viewer page numbers. Printed page labels can differ from the file index. 269 2702. Select one PDF::Choose or drag the document. The browser checks its extension, signature, byte limit, password state, and readable page count. 271 2723. Set the PDF to JPG page expression::Use all, one page, a range, a combination, odd, or even. Review broad selections before rendering hundreds of images. 273 2744. Choose quality::Start balanced for sharing, use high when fine lines need more pixels, or standard when compact output matters. These names describe settings, not measured visual scores. 275 2765. Convert PDF to JPG::TiPDF renders each selected page locally, encodes a separate JPEG, and reports progress. Inspect small text, line edges, photographs, page numbers, and filename continuity.`,w0=((e={},t={})=>(t.locale??J(),C0(e))),T0=()=>`When PDF to JPG page images are practical`,E0=((e={},t={})=>(t.locale??J(),T0(e))),D0=()=>`Website previews::Use PDF to JPG for raster page previews. Resize and optimize the files for the actual layout instead of serving unnecessarily large high-scale output. 277 278Presentation references::A PDF to JPG page can sit on a slide when its individual elements do not need editing. Links and selectable text become pixels. 279 280Legacy upload systems::Save PDF as JPG only when the destination rejects PDF. Confirm accepted dimensions, JPEG quality, and file-count limits before processing a large document. 281 282Visual review sets::Export selected PDF pages to images for an image-oriented markup workflow. Keep the source when signatures, tags, forms, or original vectors matter.`,O0=((e={},t={})=>(t.locale??J(),D0(e))),k0=()=>`PDF to JPG quality, color, and fidelity`,A0=((e={},t={})=>(t.locale??J(),k0(e))),j0=()=>`PDF to JPG uses lossy JPEG encoding. Photographs can remain efficient, while tiny type, diagrams, and repeated saving may reveal blur or ringing. The high setting increases scale and encoder quality but cannot restore absent detail. Standard may suit thumbnails but needs review. PNG is better when sharp line edges matter more than size. 283 284The browser renderer decides how supported PDF color, transparency, fonts, and annotations appear. PDF to JPG results may differ from a print engine with unusual color spaces, overprint, or unsupported features. Page images also discard semantic text, tags, and interaction. Compare critical results at the intended viewing size.`,M0=((e={},t={})=>(t.locale??J(),j0(e))),N0=()=>`PDF to JPG privacy and local rendering`,P0=((e={},t={})=>(t.locale??J(),N0(e))),F0=()=>`The PDF to JPG rendering job runs in browser memory on the current device. Document bytes and generated pages are not sent to the server conversion, AI, storage or sharing routes, and the tool does not request upload approval. The page may still load ordinary application resources from the network; the local statement applies to the selected PDF. 285 286Closing or refreshing ends the in-memory job, but downloaded JPG files remain in the device's chosen location. TiPDF cannot delete them or stop a re
286cipient from copying them. Separate images can be easier to misfile or send to the wrong person than one document, so review filenames and destination access carefully.`,I0=((e={},t={})=>(t.locale??J(),F0(e))),L0=()=>`PDF to JPG questions and quality checks`,R0=((e={},t={})=>(t.locale??J(),L0(e))),z0=()=>`Does PDF to JPG create one image per page?::Yes. Every selected page becomes a separate numbered JPG artifact. 287 288Can I export only selected pages?::Yes. Use pages, ranges, combinations, odd, or even, and verify them against the viewer count. 289 290Is PDF to JPG high quality at the high setting?::It uses scale 2 and JPEG quality 0.9, but that does not guarantee a fixed DPI or print result for every page size. 291 292Which quality should I choose?::Balanced is a practical starting point. Standard uses scale 1 and quality 0.52. Inspect the actual output. 293 294Will text remain selectable?::No. The entire rendered page becomes pixels. Use a text-extraction route when editability matters. 295 296Can I use PDF to JPG online free?::Yes. The local workflow has no account or checkout requirement. Page and rendered-pixel limits still apply.`,B0=((e={},t={})=>(t.locale??J(),z0(e))),V0=()=>`PDF to JPG capability copy was verified on July 18, 2026 against the pdf-to-jpg registry, PDF.js page renderer, page-range parser, three quality settings and rendered-pixel guard. Claims cover local per-page JPEG artifacts without promising extraction, OCR or fixed DPI.`,H0=((e={},t={})=>(t.locale??J(),V0(e))),U0=()=>`A multi-page PDF being rendered locally into separate numbered JPG page images`,W0=((e={},t={})=>(t.locale??J(),U0(e))),G0=()=>`Render all or selected PDF pages locally as separate JPG images at one of three quality levels.`,K0=((e={},t={})=>(t.locale??J(),G0(e))),q0=()=>`Run PDF to JPG and inspect every image`,J0=((e={},t={})=>(t.locale??J(),q0(e))),Y0=()=>`PDF to PNG Online â Lossless Page Images | TiPDF`,X0=((e={},t={})=>(t.locale??J(),Y0(e))),Z0=()=>`Use PDF to PNG online for all or selected pages. Choose standard, high, or very high resolution, keep lossless canvas pixels, and inspect each image.`,Q0=((e={},t={})=>(t.locale??J(),Z0(e))),$0=()=>`PDF to PNG for Lossless, Numbered Page Images`,e2=((e={},t={})=>(t.locale??J(),$0(e))),t2=()=>`Convert PDF to PNG when a page needs a broadly supported lossless raster image. TiPDF renders all pages or a validated selection on the current device, uses one of three resolution scales and creates a numbered PNG for each chosen page.`,n2=((e={},t={})=>(t.locale??J(),t2(e))),r2=()=>`Use PDF to PNG for precise page selections 297 298Keep rendered canvas pixels lossless 299 300Choose three practical resolution scales`,i2=((e={},t={})=>(t.locale??J(),r2(e))),a2=()=>`How PDF to PNG renders a complete page`,o2=((e={},t={})=>(t.locale??J(),a2(e))),s2=()=>`The PDF to PNG handler loads one document with PDF.js and calculates a viewport for each selected page. The renderer paints the visible page on an opaque white canvas, combining supported text, vectors, images, fills, and annotations into pixels. The PNG filename includes the source page number. Ten selected pages yield ten images, not one tall sheet or automatic ZIP. 301 302PNG preserves the canvas pixels without JPEG compression. It suits interfaces, diagrams, line art, and text-heavy previews where compression ringing is distracting. The conversion is still rasterization, not a reversible vector copy. Text stops being selectable, curves gain finite pixel resolution, and links, tags, fields, layers, and bookmarks disappear. 303 304A PDF to PNG converter renders complete pages instead of extracting embedded assets. A small photo appears with the surrounding report page. TiPDF does not crop regions, isolate illustrations, run OCR, or choose important pages. Use page selection for scope and a specialist workflow for original embedded image objects.`,c2=((e={},t={})=>(t.locale??J(),s2(e))),l2=()=>`PDF to PNG page selection, resolution, and limits`,u2=((e={},t={})=>(t.locale??J(),l2(e))),d2=()=>`PDF to PNG accepts one authentic .pdf up to 100 MiB and 500 readable pages. TiPDF compares extension and signature and requires encrypted material to be unlocked before rendering. Empty, damaged, mismatched, or unreadable files are rejected. Page expressions include all, values, ranges, combinations, odd, and even. 305 306Standard resolution uses scale 1, high uses 1.45, and very high uses 2. Scale 2 doubles both viewport dimensions and can create roughly four times the pixels of scale 1. These labels do not promise fixed DPI because page dimensions vary. Verify details at the final display size. 307 308A rendered page may contain at most 80 million pixels, and the selection at most 250 million. Large drawings or many very-high-resolution pages can reach the limits quickly. Reduce scale or select fewer pages.`,f2=((e={},t={})=>(t.locale??J(),d2(e))),p2=()=>`How to export pages with PDF to PNG`,m2=((e={},t={})=>(t.locale??J(),p2(e))),h2=()=>`1. Plan the PDF to PNG use::Estimate display dimensions and whether sharp edges justify PNG's often larger files. Do not choose very high resolution merely because the label sounds preferable. 309 3102. Check PDF to PNG page numbers::Open the PDF in a reader and n
310ote actual file pages. Printed numbering can restart or omit covers. 311 3123. Select and validate::Choose one PDF. The browser verifies its signature, byte size, password state, and maximum readable page count. 313 3144. Set PDF to PNG pages and resolution::Enter all, pages, ranges, combinations, odd, or even, then select standard, high, or very high. Broad scale-2 selections use the pixel budget fastest. 315 3165. Convert PDF to PNG::TiPDF renders each page locally and saves one lossless artifact. Inspect dimensions, white backgrounds, thin lines, font edges, colors, and filename continuity.`,g2=((e={},t={})=>(t.locale??J(),h2(e))),_2=()=>`Where PDF to PNG page images help`,v2=((e={},t={})=>(t.locale??J(),_2(e))),y2=()=>`Product and document previews::Use PDF to PNG for a representative application or catalogue page. Resize a delivery copy while retaining the larger PNG as a working source. 317 318Diagrams and line drawings::PDF to PNG avoids JPEG ringing around sharp edges when a whole page must become an image. Confirm that the scale provides enough pixels for zoom. 319 320Quality-assurance snapshots::Selected PDF pages to PNG can provide human-comparison snapshots. Browser renderer or font changes can still alter pixels, so this is not a universal print proof. 321 322Image-only workflows::Send PDF pages to images only when software accepts PNG but not PDF. Semantic text, accessibility tags, and controls will be absent, so retain the original.`,b2=((e={},t={})=>(t.locale??J(),y2(e))),x2=()=>`PDF to PNG lossless pixels and document loss`,S2=((e={},t={})=>(t.locale??J(),x2(e))),C2=()=>`PDF to PNG compresses the final pixel grid without discarding pixel values, unlike JPEG. Photo-heavy pages can be much larger, while flat graphics may compress efficiently. Increasing scale adds samples but does not reveal absent detail or correct a blurred scan. The browser renderer still decides how supported features appear. 323 324TiPDF creates an opaque white canvas, so output does not promise transparency even though PNG can store it. Unusual color spaces, overprint, missing fonts, or unsupported PDF features can differ from professional prepress rendering. Compare important images with a trusted viewer.`,w2=((e={},t={})=>(t.locale??J(),C2(e))),T2=()=>`PDF to PNG privacy and on-device rendering`,E2=((e={},t={})=>(t.locale??J(),T2(e))),D2=()=>`The PDF to PNG operation parses and renders the selected document in browser memory. TiPDF does not send its bytes or the resulting canvases to server conversion, AI, storage or sharing routes, and no remote-upload approval is requested. Ordinary website resources may still load over the network; the local claim concerns document data. 325 326The active job disappears when the page is refreshed or closed, but downloaded PNG files remain on the device. TiPDF cannot erase them, manage their permissions or prevent forwarding. A set of separate pages can expose content outside the context of the original document, so check every image and destination before distribution.`,O2=((e={},t={})=>(t.locale??J(),D2(e))),k2=()=>`PDF to PNG questions and resolution checks`,A2=((e={},t={})=>(t.locale??J(),k2(e))),j2=()=>`Is PDF to PNG lossless?::The PNG encoder preserves rendered canvas pixels. The PDF page is still rasterized, so vectors, selectable text, and interactivity are not preserved. 327 328Does PDF to PNG have a transparent background?::No promise is made. TiPDF uses an opaque canvas filled white before rendering. 329 330Is PDF to PNG high quality at very high resolution?::It uses viewport scale 2, but that is not a fixed-DPI or print guarantee. Inspect the output at its final size. 331 332Can I export a page range?::Yes. Use pages, ranges, combinations, odd, even, or all, subject to page and pixel limits. 333 334Can I use PDF to PNG online free?::Yes. The local workflow has no account or checkout requirement. File, page, and pixel limits still apply. 335 336When should I use JPG instead?::JPG can be much smaller for photographic pages when loss is acceptable. PNG better preserves crisp rendered edges.`,M2=((e={},t={})=>(t.locale??J(),j2(e))),N2=()=>`PDF to PNG capability copy was verified on July 18, 2026 against the pdf-to-png registry, PDF.js renderer, opaque canvas setup, lossless encoder, three viewport scales and pixel limits. Claims cover local page rasterization without promising transparency, OCR or vector preservation.`,P2=((e={},t={})=>(t.locale??J(),N2(e))),F2=()=>`PDF pages being rendered locally as separate numbered PNG images with crisp line details`,I2=((e={},t={})=>(t.locale??J(),F2(e))),L2=()=>`Render all or selected PDF pages locally as separate lossless PNG images at three resolution scales.`,R2=((e={},t={})=>(t.locale??J(),L2(e))),z2=()=>`Render selected PDF pages as lossless PNG images`,B2=((e={},t={})=>(t.locale??J(),z2(e))),V2=()=>
336`Markdown to PDF Online â Paginated A4 Output | TiPDF`,H2=((e={},t={})=>(t.locale??J(),V2(e))),U2=()=>`Use Markdown to PDF online for one UTF-8 MD file. Typeset headings, lists, quotes, rules, paragraphs, and code locally with raw HTML disabled.`,W2=((e={},t={})=>(t.locale??J(),U2(e))),G2=()=>`Markdown to PDF with Structured, Paginated Output`,K2=((e={},t={})=>(t.locale??J(),G2(e))),q2=()=>`Convert Markdown to PDF when a lightweight text source needs a stable document for reading or sharing. TiPDF parses one UTF-8 MD or Markdown file locally, typesets supported blocks onto A4 pages and downloads one PDF.`,J2=((e={},t={})=>(t.locale??J(),q2(e))),Y2=()=>`Typeset Markdown to PDF on the device 337 338Use Markdown to PDF with automatic pagination 339 340Disable raw HTML instead of executing it`,X2=((e={},t={})=>(t.locale??J(),Y2(e))),Z2=()=>`What the Markdown to PDF renderer supports`,Q2=((e={},t={})=>(t.locale??J(),Z2(e))),$2=()=>`The Markdown to PDF handler reads one .md or .markdown file with a tolerant UTF-8 decoder and parses it with Markdown-it. It recognizes level-one through level-six headings, paragraphs, ordered and unordered lists, nested list depth, block quotes, horizontal rules, indented code, and fenced code blocks. It retains plain inline text, line breaks, inline code, and image alternative text while building printable blocks. 341 342Markdown to PDF creates A4 pages measuring about 595 by 842 PDF points with 52-point margins. Headings decrease from 24 points, body and list text use 11 points, and code uses 9 points. Content wraps to the available width and starts a new page when needed. Quotes receive a vertical rule and horizontal rules become drawn lines. 343 344This Markdown to PDF converter is a focused typesetter, not a browser or full publishing engine. Raw HTML is disabled. CSS, JavaScript, themes, Mermaid diagrams, math, footnotes, and Markdown tables are not implemented. Images are not fetched or embedded; alternative text can remain. Link labels may print, but the handler does not create clickable PDF annotations.`,e4=((e={},t={})=>(t.locale??J(),$2(e))),t4=()=>`Markdown to PDF input, typography, and output`,n4=((e={},t={})=>(t.locale??J(),t4(e))),r4=()=>`A Markdown file to PDF job accepts one non-empty .md or .markdown file up to 100 MiB. The decoder replaces malformed UTF-8 sequences, and a file with no printable parsed blocks is rejected. Split unusually large publications to limit memory and page count. 345 346Markdown to PDF attempts to load a bundled Noto Sans Simplified Chinese webfont and embeds a subset when available. If it fails, Helvetica replaces unsupported non-ASCII characters with square placeholders rather than wrong glyphs. Review multilingual output on the same device. 347 348Markdown to PDF returns one automatically paginated .pdf. There are no controls for Letter paper, custom margins, headers, footers, page numbers, fonts, colors, syntax highlighting, or a contents page. Source line numbers are not preserved. Use a publishing pipeline for exact brand typography or complex layout.`,i4=((e={},t={})=>(t.locale??J(),r4(e))),a4=()=>`How to prepare Markdown to PDF output`,o4=((e={},t={})=>(t.locale??J(),a4(e))),s4=()=>`1. Simplify the Markdown to PDF source::Replace tables, diagrams, HTML widgets, remote images, and math extensions with paragraphs, lists, quotes, or pre-rendered material. Do not expect browser behavior. 349 3502. Save valid text::Use a .md or .markdown filename and UTF-8 encoding. Include meaningful alternative text where image syntax remains, because the image itself is not embedded. 351 3523. Check Markdown to PDF hierarchy::Use headings in a logical order, keep list nesting deliberate, and break long code lines when practical. Automatic wrapping cannot understand semantic breakpoints inside code. 353 3544. Convert Markdown to PDF::Select the file and start the local job. TiPDF parses blocks, loads the available font, wraps lines, and creates A4 pages as needed. 355 3565. Inspect the Markdown to PDF download::Review headings, nested lists, quotes, code, non-Latin characters, page transitions, and the last line of each page. Keep the source as the editable master.`,c4=((e={},t={})=>(t.locale??J(),s4(e))),l4=()=>`Appropriate Markdown to PDF publishing tasks`,u4=((e={},t={})=>(t.locale??J(),l4(e))),d4=()=>`Technical notes::Markdown to PDF creates a readable snapshot of headings, explanatory paragraphs, lists, and code samples. Long code can wrap, and syntax colors are not generated. 357 358Meeting outlines::Turn a structured agenda or decision log into a consistent attachment without opening a word processor. Add page numbers elsewhere if required. 359 360Project readmes::GitHub Markdown to PDF works here only for the supported common structure. Repository badges, web images, HTML sections, and interactive links will not behave like the hosted page. 361 362Draft handouts::Share a paginated text-first document for review. Continue editing the Markdown source and regenerate instead of trying to edit the derivative PDF.`,f4=((e={},t={})=>
362(t.locale??J(),d4(e))),p4=()=>`Markdown to PDF fidelity and accessibility limits`,m4=((e={},t={})=>(t.locale??J(),p4(e))),h4=()=>`Supported structure is deliberately restyled by TiPDF rather than copied from a particular preview application. Typography, spacing, line wrapping and pagination can therefore differ from GitHub, an editor extension or a static-site theme. Typographer substitutions and automatic link recognition come from the parser settings, while the PDF drawer reduces inline tokens to printable text. A source that depends on custom plugins will lose that plugin presentation. 363 364The PDF contains drawn text rather than page screenshots when the selected font can encode it, which supports visual sharpness and text selection. That does not guarantee a fully tagged, screen-reader-optimized or PDF/A document. The handler does not build a semantic tag tree, bookmarks or a generated contents page. Use an accessibility or archival workflow when those standards are required.`,g4=((e={},t={})=>(t.locale??J(),h4(e))),_4=()=>`Markdown to PDF privacy and bundled font loading`,v4=((e={},t={})=>(t.locale??J(),_4(e))),y4=()=>`The Markdown to PDF job reads, parses and lays out the source in the current browser. Its text is not sent to server conversion, AI, sharing or storage routes, and the handler does not request upload approval. The bundled font asset is fetched from the application URL when available, and ordinary site resources may use the network; the selected document content remains in the local workflow. 365 366Refreshing ends the active memory session, but the source and downloaded PDF remain on the device. TiPDF cannot remove either copy or prevent forwarding. Raw HTML is disabled, which reduces active-content risk, but users should still avoid publishing secrets embedded in text, code examples or metadata.`,b4=((e={},t={})=>(t.locale??J(),y4(e))),x4=()=>`Markdown to PDF questions and limits`,S4=((e={},t={})=>(t.locale??J(),x4(e))),C4=()=>`Does Markdown to PDF render raw HTML?::No. HTML parsing is disabled, and HTML is not executed as a web page. 367 368Does MD to PDF use the same renderer?::Yes. Both .md and .markdown extensions use the same local parser, typography and A4 pagination limits. 369 370Are Markdown tables supported?::Not as formatted tables by this handler. Convert them to lists or paragraphs, or use a publishing tool with the required extension. 371 372Can I use Markdown to PDF online?::Yes. The document is parsed in your browser without an account or checkout. The bundled font and normal site assets can still load over the network. 373 374Will images appear?::The current block extraction does not fetch or embed them. Alternative text may remain as printable text. 375 376Does code receive syntax highlighting?::No. Fenced and indented code use a smaller text style, but language-specific colors are not generated. 377 378Can I use Chinese or other Unicode text?::The tool attempts to embed a bundled Noto Sans SC subset. If that font fails, unsupported characters become square placeholders, so inspect the result.`,w4=((e={},t={})=>(t.locale??J(),C4(e))),T4=()=>`Markdown to PDF capability copy was verified on July 18, 2026 against the markdown-to-pdf registry, Markdown-it configuration, block parser, bundled-font fallback and A4 line-layout code. Claims cover supported local typesetting without promising HTML, tables, image fetching or tagged PDF output.`,E4=((e={},t={})=>(t.locale??J(),T4(e))),D4=()=>`Markdown headings, lists, code, quotes and rules being typeset locally into paginated A4 PDF pages`,O4=((e={},t={})=>(t.locale??J(),D4(e))),k4=()=>`Typeset supported Markdown blocks locally into a paginated A4 PDF with raw HTML disabled.`,A4=((e={},t={})=>(t.locale??J(),k4(e))),j4=()=>`Run Markdown to PDF and inspect every page`,M4=((e={},t={})=>(t.locale??J(),j4(e))),N4=()=>`Add a Blue Text Note With a Local PDF Annotator | TiPDF`,P4=((e={},t={})=>(t.locale??J(),N4(e))),F4=()=>`Add one visible blue review note near the upper-left of all or selected PDF pages locally. This focused annotator does not highlight or draw.`,I4=((e={},t={})=>(t.locale??J(),F4(e))),L4=()=>`Use a PDF Annotator for Visible Review Notes`,R4=((e={},t={})=>(t.locale??J(),L4(e))),z4=()=>`Use this PDF annotator when selected pages need the same visible blue review note. TiPDF writes new Helvetica text near the upper-left of each chosen page locally and saves a new PDF without changing the existing words.`,B4=((e={},t={})=>(t.locale??J(),z4(e))),V4=()=>`Uses a PDF annotator for one blue text note 379 380Keeps existing page content in place during PDF annotator edits 381 382Processes and saves the document in the browser`,H4=((e={},t={})=>(t.locale??J(),V4(e))),U4=()=>`What this focused PDF annotator does`,W4=((e={},t={})=>(t.locale??J(),U4(e))),G4=()=>`The PDF annotator opens one document, validates a page expression and draws the annotation string on every selected page. The PDF annotator note begins 36 PDF points from the left edge and approximately 72 points below the top, subject to a 36-point lower bound on unusually short pages. It uses embedded standard Helvetica at a fixed 18-point size and a blue color. The page's existing content is not searched, selected, deleted or reflowed. 383 384The PDF annotator result is a visible presentation mark rather than a threaded PDF comment object. Recipients see the blue text as part of the rewritten page content, but they do not receive an author, timestamp, reply thread, resolved state or pop-up comment panel. The tool also does not create a movable sticky note after download. Choose wording that makes sense without hidden context. 385 386People sometimes search for a PDF annotator to highlight PDF text or draw on PDF pages. Those controls are not implemented here. TiPDF does not select an existing sentence, paint a translucent highlight, add arrows, create shapes or accept freehand ink. The visual interface and copy state this boundary so a simple note writer is not mistaken for a full review suite.`,K4=((e={},t={})=>(t.locale??J(),G4(e))),q4=()=>`PDF annotator input, page choices and placement`,J4=((e={},t={})=>(t.locale??J(),q4(e))),Y4=()=>`Select one genuine .pdf up to 100 MiB and 500 readable pages. The PDF annotator requires the file extension to match the PDF signature, and protected content must be unlocked with the correct password and authorization before modification. Empty, damaged, mismatched and unreadable documents are rejected. 387 388Page selection accepts all, individual pages, ranges, comma-separated combinations, odd and even. Values use the one-based page count shown by a standard reader and are checked against the real document. Every chosen page receives the same annotation text. This PDF annotator does not currently provide a separate note for each page, a page preview for dragging placement or a font-size control on the annotation route. 389 390The PDF annotator writes the note at fixed coordinates using the page's reported width and height. Existing material already occupying that upper-left region can overlap the annotation. Rotated pages, unusual crop boxes or very small pages can also make placement look different from an ordinary portrait sheet. Inspect every changed page rather than assuming one fixed position fits the entire file.`,X4=((e={},t={})=>(t.locale??J(),Y4(e))),Z4=()=>`How to use the PDF annotator clearly`,Q4=((e={},t={})=>(t.locale??J(),Z4(e))),$4=()=>`1. Inspect the PDF annotator position::Open the source and check the target pages near their top-left content. Choose another workflow if important text already occupies the fixed note position. 391 3922. Select one PDF::Choose or drag the document. The PDF annotator checks its signature, byte size, encryption state and readable page count locally. 393 3943. Choose PDF annotator pages::Enter all, one page, a range, a combination, odd or even. Verify viewer page numbers because printed labels can differ. 395 3964. Write a concise annotation::Use short self-contained wording that remains meaningful without a comment thread. Do not include secrets or assume the note can be edited interactively later. 397 3985. Annotate PDF online in the browser::The PDF annotator draws the same blue 18-point note on every selected page and downloads a new edited copy. Open it and review placement, clipping, readability and unintended overlap.`,e3=((e={},t={})=>(t.locale??J(),$4(e))),t3=()=>`Suitable PDF annotator workflows`,n3=((e={},t={})=>(t.locale??J(),t3(e))),r3=()=>`Review status::Use the PDF annotator to mark selected pages with a short review state when a visible static label is sufficient. Use a collaboration system when replies, attribution and resolution history matter. 399 400Draft identification::Add a concise warning to chosen pages of a working copy. A watermark route may be more visible when the mark needs to span the page. 401 402Routing reminders::Place the same action note on several pages before sharing internally. Confirm that the fixed location does not cover forms, signatures or headers. 403 404Teaching copies::Add a brief instruction to selected worksheet pages. The PDF annotator does not let a teacher draw answers, highlight PDF passages or attach separate feedback to different c
404oordinates.`,i3=((e={},t={})=>(t.locale??J(),r3(e))),a3=()=>`PDF annotator appearance and document semantics`,o3=((e={},t={})=>(t.locale??J(),a3(e))),s3=()=>`The PDF annotator draws vector text into the PDF rather than rasterizing every page, so existing text, vectors and photographs usually retain their original representation. Standard Helvetica supports a limited character set; complex scripts or emoji may fail to encode or display correctly. Keep annotations simple and test the result, especially for multilingual wording. 405 406Saving rewrites the PDF bytes. Document-wide features such as certificate signatures should not be assumed valid afterward, and accessibility tags do not automatically include a meaningful description for the new note. The mark is not a secure redaction, access restriction or audit trail. It can be covered or changed by later editors, so use appropriate controls for compliance-sensitive review.`,c3=((e={},t={})=>(t.locale??J(),s3(e))),l3=()=>`PDF annotator privacy and resulting copies`,u3=((e={},t={})=>(t.locale??J(),l3(e))),d3=()=>`The PDF annotator reads, modifies and saves the selected document in browser memory. File bytes are not sent to server conversion, AI, sharing or storage routes, and the handler does not request upload approval. Normal application resources may still load over the network; the local statement applies to the document job. 407 408Refreshing ends the in-memory task, while the source and downloaded edited PDF remain on the device. TiPDF cannot delete those copies or prevent forwarding. Because a visible note can reveal internal status or instructions, review its wording and intended recipients before distribution.`,f3=((e={},t={})=>(t.locale??J(),d3(e))),p3=()=>`PDF annotator free-use capability questions`,m3=((e={},t={})=>(t.locale??J(),p3(e))),h3=()=>`Can I place the note anywhere?::No. It uses a fixed position near the upper-left of every selected page. 409 410Can I add different notes to different pages?::Not in one job. The same text is drawn on the full selection. 411 412Can I add comments to PDF pages?::Only as the same visible blue text note on selected pages. There are no reply threads, author metadata or pop-up comment objects. 413 414Can I highlight PDF text?::No. There is no text selection or translucent highlighter. The phrase is relevant only as a boundary, not a supported feature. 415 416Can I use handwriting or shapes?::No. The current route has a text field and page selection, not drawing, arrows, stamps or freehand ink.`,g3=((e={},t={})=>(t.locale??J(),h3(e))),_3=()=>`PDF annotator capability copy was verified on July 18, 2026 against the pdf-annotator registry, page-range parser and local edit handler. Claims reflect fixed blue 18-point Helvetica text at x 36 near the top, without promising highlights, drawing or comment objects.`,v3=((e={},t={})=>(t.locale??J(),_3(e))),y3=()=>`Selected PDF pages receiving one separate blue review note near the upper-left on a local laptop`,b3=((e={},t={})=>(t.locale??J(),y3(e))),x3=()=>`Add the same visible blue review note near the upper-left of all or selected PDF pages locally.`,S3=((e={},t={})=>(t.locale??J(),x3(e))),C3=()=>`Use the PDF annotator on selected pages`,w3=((e={},t={})=>(t.locale??J(),C3(e))),T3=()=>`PDF Reader Online â Open a File Locally | TiPDF`,E3=((e={},t={})=>(t.locale??J(),T3(e))),D3=()=>`Use the PDF reader to open one file locally, validate its signature and page count, and keep the original bytes unchanged for documents up to 500 pages.`,O3=((e={},t={})=>(t.locale??J(),D3(e))),k3=()=>`PDF Reader for Opening a Local File Unchanged`,A3=((e={},t={})=>(t.locale??J(),k3(e))),j3=()=>`Use the PDF reader to validate and open a document without converting or rewriting it. TiPDF checks one local PDF, reports its readable page count and returns the exact original bytes as the viewing and download artifact.`,M3=((e={},t={})=>(t.locale??J(),j3(e))),N3=()=>`Let the PDF reader validate the file signature 417 418Read and report up to 500 pages locally 419 420Return the unchanged original document`,P3=((e={},t={})=>(t.locale??J(),N3(e))),F3=()=>`What the PDF reader actually loads`,I3=((e={},t={})=>(t.locale??J(),F3(e))),L3=()=>`The PDF reader receives one file and applies shared safety checks. Its extension must resolve to .pdf, its first bytes must carry the PDF signature, and its size must remain within the local limit. The browser creates a temporary object URL and asks PDF.js to load it. A successful load reveals page count without changing source data. 421 422After validation, the handler returns one artifact with the original filename, MIME type, and byte array. It does not resave through a PDF library, rasterize pages, compress images, extract text, or remove metadata. A download is the input file rather than a reconstruction. This distinguishes reading from editing and conversion. 423 424The PDF reader is a lightweight PDF viewer, not a full desktop review application. It establishes that the browser parser opens the file and reports a page count. It does not promise annotation, search indexing, form completion, signature verification, accessibility auditing, attachment inspection, or repair. Use focused tools for transformations and specialist software for advanced inspection.`,R3=((e={},t={})=>(t.locale??J(),L3(e))),z3=()=>`PDF reader file, page, and failure limits`,B3=((e={},t={})=>(t.locale??J(),z3(e))),V3=()=>`The PDF reader accepts one genuine .pdf up to 100 MiB and 500 pages. A larger document is rejected before a viewing artifact is returned. A renamed image, Office file, or arbitrary binary does not pass signature validation because its f
424ilename ends in .pdf. Empty and unreadable inputs are rejected. 425 426This handler does not guess or bypass passwords. If the parser requires one, TiPDF directs you to Unlock PDF with a known password and authorization. That separate local-heavy operation creates a decrypted copy; this page leaves the selected file untouched. 427 428A PDF reader can encounter a valid signature with damaged cross-reference data, unsupported encryption, or unusual features. It reports a read error instead of claiming repair. If a critical document behaves differently across readers, investigate it with a validator and keep the original.`,H3=((e={},t={})=>(t.locale??J(),V3(e))),U3=()=>`How to use the PDF reader safely`,W3=((e={},t={})=>(t.locale??J(),U3(e))),G3=()=>`1. Confirm the PDF reader source::Choose a document from a trusted location. Keep an authoritative original when legal, archival, or signature evidence matters. 429 4302. Select one PDF reader file::Drag or choose the PDF. TiPDF checks extension, binary signature, non-empty size, and the 100 MiB limit. 431 4323. Let the PDF reader validate::PDF.js opens a temporary local object URL and determines page count. The operation stops for encryption, damage, unsupported content, or more than 500 pages. 433 4344. Review the validation result::Compare the reported count with expectations and inspect the presentation. A successful open is not certificate-signature or accessibility validation. 435 4365. Keep or download the original::The artifact uses the same bytes and filename. Avoid unnecessary duplicate downloads when the selected source is already safely stored.`,K3=((e={},t={})=>(t.locale??J(),G3(e))),q3=()=>`Appropriate PDF reader checks`,J3=((e={},t={})=>(t.locale??J(),q3(e))),Y3=()=>`Quick local inspection::Open PDF online without sending document bytes to conversion. This online PDF viewer provides a fast page-count and readability check on the current device. 437 438Preflight before another tool::Use the PDF reader to confirm parsing and page count before splitting, annotation, or image export. Each later operation has its own boundaries. 439 440Unchanged-file retrieval::The PDF reader returns the validated input artifact, not a normalized derivative. Hash-sensitive workflows should calculate and compare hashes independently. 441 442Private reference reading::Read PDF online locally, while remembering that high-security environments also need browser, operating-system, extension, and screen-capture controls.`,X3=((e={},t={})=>(t.locale??J(),Y3(e))),Z3=()=>`PDF reader rendering, signatures, and unchanged bytes`,Q3=((e={},t={})=>(t.locale??J(),Z3(e))),$3=()=>`Because the PDF reader returns original bytes, it introduces no image compression, font substitution, or layout changes. Appearance differences come from the PDF viewer or browser renderer. Complex color, forms, embedded media, portfolios, and optional content can vary across readers. Compare critical presentation with required software. 443 444Unchanged bytes help provenance, but this workflow does not prove that a certificate signature is trusted, current, or issued to the expected identity. That requires certificate-chain, time, and revocation checks. A file that opens is not automatically accessible, safe from malicious content, PDF/A-compliant, or free of hidden attachments.`,e6=((e={},t={})=>(t.locale??J(),$3(e))),t6=()=>`PDF reader privacy and temporary object URLs`,n6=((e={},t={})=>(t.locale??J(),t6(e))),r6=()=>`The PDF reader validates and loads the selected bytes on the current device. It creates a temporary browser object URL, destroys the PDF.js loading task after counting pages and revokes the URL. The document is not sent to server conversion, AI, sharing or storage routes, and no upload approval is requested. Normal site assets may still use the network. 445 446Closing or refreshing ends the active session, but the source file and any downloaded duplicate remain on the device. TiPDF cannot erase those copies or control operating-system recent-file lists, backups or screenshots. Apply device-level protections when document confidentiality requires them. Keep an archival copy.`,i6=((e={},t={})=>(t.locale??J(),r6(e))),a6=()=>`PDF reader questions and validation limits`,o6=((e={},t={})=>(t.locale??J(),a6(e))),s6=()=>`Does the PDF reader modify my file?::No. The result contains the original input bytes and filename. 447
448Is this a free PDF reader?::Yes. The local open-and-validate workflow has no account or checkout requirement. File and page limits still apply. 449 450What is the page limit?::The browser accepts up to 500 readable pages and rejects a document above that count. 451 452Can the PDF reader open a password-protected file?::Not without unlocking it first using a known password and permission. It does not guess or bypass encryption. 453 454Does a successful open prove the signature is valid?::No. Page parsing is not certificate-chain or identity verification. 455 456Can I annotate or fill forms here?::Not through this handler. Use the focused annotator or form-filler route and review the derivative.`,c6=((e={},t={})=>(t.locale??J(),s6(e))),l6=()=>`PDF reader capability copy was verified on July 18, 2026 against the pdf-reader registry, signature validator and PDF.js loader. Tests reflect the 100 MiB and 500-page guards, temporary object-URL cleanup and unchanged original artifact without claiming advanced verification.`,u6=((e={},t={})=>(t.locale??J(),l6(e))),d6=()=>`An unchanged PDF opening in a local reader with page thumbnails, validation checks and a privacy shield`,f6=((e={},t={})=>(t.locale??J(),d6(e))),p6=()=>`Validate and open one PDF locally, report its page count and retain the unchanged original bytes.`,m6=((e={},t={})=>(t.locale??J(),p6(e))),h6=()=>`Open this PDF reader and verify the page count`,g6=((e={},t={})=>(t.locale??J(),h6(e))),_6=()=>`Crop PDF Pages With One Uniform Margin | TiPDF`,v6=((e={},t={})=>(t.locale??J(),_6(e))),y6=()=>`Inset the visible crop box on all or selected PDF pages locally. Choose one uniform point margin, keep content scale unchanged, and inspect the result.`,b6=((e={},t={})=>(t.locale??J(),y6(e))),x6=()=>`Crop PDF Pages by a Uniform Margin`,S6=((e={},t={})=>(t.locale??J(),x6(e))),C6=()=>`Crop PDF pages when excess border space should be hidden consistently. TiPDF insets each selected page's crop box by the same point margin in browser memory, without scaling or reflowing the page content.`,w6=((e={},t={})=>(t.locale??J(),C6(e))),T6=()=>`Uses Crop PDF for one even four-sided margin 457 458Supports all pages or a validated Crop PDF selection 459 460Keeps page content at its original scale`,E6=((e={},t={})=>(t.locale??J(),T6(e))),D6=()=>`What Crop PDF box changes mean`,O6=((e={},t={})=>(t.locale??J(),D6(e))),k6=()=>`The Crop PDF handler reads the current crop box of every selected page. For a margin of 18 points, it moves the box's x and y origins inward by 18 and reduces both width and height by 36. Crop PDF keeps the underlying text, vectors and images at their existing coordinates and size; a reader simply uses the smaller rectangle as the intended visible region. The page is not rendered as a screenshot. 461 462The Crop PDF operation is symmetrical. One numeric value applies to the left, right, top and bottom of every chosen page. The current controls do not let users drag individual edges, enter different horizontal and vertical amounts, detect white borders automatically or save a separate crop for each page. A mixed document may therefore need several carefully selected jobs if its pages have different border widths. 463 464A PDF cropper changes presentation, not necessarily the stored page objects outside the crop box. Hidden material can remain in the file and may be revealed by another editor that expands the box. Crop PDF is consequently unsuitable for removing confidential content. Use a verified redaction process for secrets, and inspect the rewritten document with appropriate security tools.`,A6=((e={},t={})=>(t.locale??J(),k6(e))),j6=()=>`Crop PDF input, margin range and validation`,M6=((e={},t={})=>(t.locale??J(),j6(e))),N6=()=>`Choose one authentic .pdf up to 100 MiB and 500 readable pages. Crop PDF requires the extension to match the PDF signature, and password-protected content must first be unlocked with a known password and authorization. Empty, damaged, mismatched or unreadable documents fail before an output is created. 465 466The Crop PDF interface offers a crop margin from 0 to 200 PDF points and defaults to 18. One point equals 1/72 of an inch in PDF user space before page transforms. A zero margin produces no visible inset, while a large value can remove most of the viewing area. TiPDF refuses any selected page where twice the margin is equal to or greater than the existing crop-box width or height, because a page must retain positive dimensions. 467 468Crop PDF page selection accepts all, individual values, ranges, comma-separated combinations, odd and even. It uses one-based viewer page numbers and validates them against the file. The same margin is applied to every selected page; unselected pages retain their current crop boxes. The output contains the original page count and uses an updated filename suffix.`,P6=((e={},t={})=>(t.locale??J(),N6(e))),F6=()=>`How to Crop PDF margins deliberately`,I6=((e={},t={})=>(t.locale??J(),F6(e))),L6=()=>`1. Measure the Crop PDF border::Open representative pages and estimate an even inset. Remember that 72 points equal one inch and that margins may differ across scanned batches. 469 4702. Select the PDF::Choose or drag one document. TiPDF verifies its signature, byte limit, encryption state and readable page count locally. 471 4723. Choose Crop PDF pages::Enter all, one page, a range, a combination, odd or even. Group only pages that can safely use the same four-sided margin. 473 4744. Enter the margin::Start conservatively. The handler checks every selected crop box and stops if the remaining width or height would be zero or negative. 475 4765. Crop PDF locally::The browser updates crop-box coordinates and writes a new file. Inspect edge content, headers, footers, page sizes and every transition; retain the source until the result is accepted.`,R6=((e={},t={})=>(t.locale??J(),L6(e))),z6=()=>`When to Crop All PDF Pages`,B6=((e={},t={})=>(t.locale??J(),z6(e))),V6=()=>`Scanned border cleanup::Use Crop PDF to hide a consistent scanner bed border around pages that share the same dimensions. Automatic border detection and perspective correction are not provided. 477 478Presentation framing::Reduce excessive white area before showing pages in a viewer or slide. Page content stays at the same internal scale, although a viewer may zoom it differently to fit the window. 479 480Subset correction::Apply an inset to only the cover, appendix or odd pages when those groups share a layout. Verify page expressions against actual file numbering. 481 482Print preparation drafts::Create a viewing copy with tighter visible bounds. Professional bleed, trim boxes, imposition and printer marks require prepress software, not this simple PDF cropper.`,H6=((e={},t={})=>(t.locale??J(),V6(e))),U6=()=>`Crop PDF bounds, hidden data and compatibility`,W6=((e={},t={})=>(t.locale??J(),U6(e))),G6=()=>`Crop PDF processing does not resample photographs or redraw text, so content inside the new boundary normally retains its PDF representation. It also does not resize the media box or scale objects to fill the cropped area. Some readers display the crop box by default, while specialized software can expose other page boxes; test the destination that will actually consume the file. 483
484Material beyond the new boundary is not a safe deletion. Search, extraction or editing tools may still access objects outside the view. Certificate signatures that covered the original bytes must not be assumed valid after saving. Accessibility reading order can also include content that is no longer visually apparent. Do not use Crop PDF as redaction or as proof that hidden material is gone.`,K6=((e={},t={})=>(t.locale??J(),G6(e))),q6=()=>`Local visible-boundary processing and copies`,J6=((e={},t={})=>(t.locale??J(),q6(e))),Y6=()=>`The Crop PDF operation parses, updates and saves the document in browser memory. File bytes are not sent to server conversion, AI, sharing or storage routes, and the handler does not ask for upload approval. Ordinary site assets may still load over the network; the local statement concerns the selected PDF. 485 486Refreshing ends the active task, but the source and downloaded updated file remain on the device. TiPDF cannot delete them or prevent forwarding. Because cropped-away regions may still exist inside the PDF, handle the result according to the sensitivity of the complete source, not only what a normal viewer shows.`,X6=((e={},t={})=>(t.locale??J(),Y6(e))),Z6=()=>`Crop PDF margin questions`,Q6=((e={},t={})=>(t.locale??J(),Z6(e))),$6=()=>`Can I trim PDF margins by different amounts?::No. One margin value is applied evenly to all four sides of every selected page. 487 488Does this resize PDF page content?::No. Objects retain their coordinates and scale; the intended visible crop box becomes smaller. 489 490Is Crop PDF online free?::Yes. The local workflow has no account or checkout requirement, subject to the documented file and page limits. 491 492Is content outside the crop deleted?::Do not assume so. Other tools can reveal or extract objects beyond the visible boundary. Cropping is not redaction. 493 494Can I crop only certain pages?::Yes. Use pages, ranges, combinations, odd or even, and verify that the same margin suits them all. 495 496Why was a large margin rejected?::Every page must keep positive crop-box width and height. The job stops when twice the margin reaches either dimension.`,e8=((e={},t={})=>(t.locale??J(),$6(e))),t8=()=>`Crop PDF capability copy was verified on July 18, 2026 against the crop-pdf registry and local page-box handler. Claims reflect selected-page crop-box insets, the 0â200 point UI range and positive-dimension check without claiming rescaling, deletion or automatic border detection.`,n8=((e={},t={})=>(t.locale??J(),t8(e))),r8=()=>`Crop PDF preview showing a uniform inset while page content keeps its original scale`,i8=((e={},t={})=>(t.locale??J(),r8(e))),a8=()=>`Use Crop PDF to inset all or selected page boxes by one uniform point margin locally.`,o8=((e={},t={})=>(t.locale??J(),a8(e))),s8=()=>`Crop PDF pages by an even margin`,c8=((e={},t={})=>(t.locale??J(),s8(e))),l8=()=>`Unlock PDF Locally With a Known Password | TiPDF`,u8=((e={},t={})=>(t.locale??J(),l8(e))),d8=()=>`Remove supported PDF password protection locally when you know the password and have permission. No guessing, recovery, bypass, or server upload.`,f8=((e={},t={})=>(t.locale??J(),d8(e))),p8=()=>`Unlock PDF With Password Authorization`,m8=((e={},t={})=>(t.locale??J(),p8(e))),h8=()=>`Unlock PDF protection only when you know the password and are authorized to change the document. TiPDF authenticates a supported encrypted PDF locally, removes its protection and saves a new decrypted copy.`,g8=((e={},t={})=>(t.locale??J(),h8(e))),_8=()=>`Checks the password before Unlock PDF processing 497 498Uses Unlock PDF protection removal on the current device 499 500Creates a separate unlocked PDF copy`,v8=((e={},t={})=>(t.locale??J(),_8(e))),y8=()=>`What authorized Unlock PDF processing does`,b8=((e={},t={})=>(t.locale??J(),y8(e))),x8=()=>`The Unlock PDF handler accepts one file and one user-supplied password. After validating the PDF signature, it loads the bytes with the password as a credential through the local PDF engine. Unlock PDF processing continues only when the library reports that the document is encrypted and the credential authenticated successfully. An unprotected file and an incorrect password receive different explicit errors. 501 502After authentication, Unlock PDF removes the protection dictionary and saves a new PDF with an unlocked filename suffix. The result metadata reports that encryption is false. Saving creates new file bytes; it is not the unchanged source. Pages and supported document objects are rewritten by the engine, so the output should be opened and compared before the protected original is archived. 503
504This Unlock PDF workflow does not discover a password. It has no dictionary attack, brute-force loop, recovery service, owner-password bypass or exploit for restrictions. A request to remove PDF password protection succeeds only when the supplied credential works with an encryption method the local engine supports. If the credential is unknown or the format is unsupported, the task stops rather than pretending the document was unlocked.`,S8=((e={},t={})=>(t.locale??J(),x8(e))),C8=()=>`Unlock PDF input, credential checks and limits`,w8=((e={},t={})=>(t.locale??J(),C8(e))),T8=()=>`Choose one genuine .pdf up to the 100 MiB local file limit. The extension and binary signature must agree, and the password field cannot be empty. TiPDF rejects renamed non-PDF data before the Unlock PDF library runs. The current handler does not advertise a page-count guarantee; processing cost depends on the encrypted document's objects and size. 505 506Unlock PDF passes the password as a credential to @libpdf/core in browser memory. A successfully loaded file must still report both isEncrypted and isAuthenticated before protection is removed. If the document is already unencrypted, the handler asks you to use it directly instead of rewriting it unnecessarily. 507 508Encryption varies across PDF producers and eras. The engine can reject an otherwise genuine file when its encryption method or internal structure is unsupported. The error deliberately combines incorrect-password and unsupported-method possibilities when the library cannot distinguish them safely. Unlock PDF online in this page therefore means a browser application workflow, not a promise to open every protected PDF.`,E8=((e={},t={})=>(t.locale??J(),T8(e))),D8=()=>`How to Unlock PDF copies with authorization`,O8=((e={},t={})=>(t.locale??J(),D8(e))),k8=()=>`1. Confirm Unlock PDF authority::Use only a document you own or are permitted to decrypt. A known password does not by itself settle contractual, workplace or legal restrictions. 509 5102. Keep the protected original::Store the source safely before changing protection. Its encryption and any provenance evidence may be important later. 511 5123. Select one PDF to unlock::Choose or drag the file. TiPDF checks its extension, signature, non-empty size and local byte limit before Unlock PDF authentication. 513 5144. Enter the known password::Type the credential carefully. The Unlock PDF tool uses it for this in-memory job and does not offer hints, recovery or repeated guessing. 515 5165. Unlock PDF locally::The engine authenticates, removes supported protection and writes a separate decrypted file. Open it, compare page count and content, test required features and secure the new unencrypted copy appropriately.`,A8=((e={},t={})=>(t.locale??J(),k8(e))),j8=()=>`Legitimate Unlock PDF workflows`,M8=((e={},t={})=>(t.locale??J(),j8(e))),N8=()=>`Owner-controlled archives::Use Unlock PDF to create an accessible working copy when the organization owns the document and retains the password. Keep the encrypted source according to its records policy. 517 518Authorized editing preparation::Remove protection before using a local editor that cannot open the encrypted source. Confirm that policy allows editing and that the saved derivative still behaves correctly. 519 520Migration to a secure repository::Run Unlock PDF with permission when a managed destination supplies its own encryption and access controls. Do not leave the unlocked intermediate in an unprotected downloads folder. 521 522Compatibility troubleshooting::Test whether supported protection is the reason another approved application cannot open a file. Unsupported encryption still requires the original producer or specialist software.`,P8=((e={},t={})=>(t.locale??J(),N8(e))),F8=()=>`Unlock PDF rewriting, permissions and signatures`,I8=((e={},t={})=>(t.locale??J(),F8(e))),L8=()=>`Unlock PDF processing changes the security envelope and rewrites the file. It does not intentionally edit visible page content, but a complex document can contain features the engine does not preserve identically. Compare forms, annotations, attachments, layers, fonts and page appearance when they matter. The output may also have a different byte size because objects are serialized again. 523 524Certificate signatures that covered the original bytes must not be assumed valid after decryption and saving. Permission flags are removed with protection; the resulting file is easier for anyone with filesystem access to copy or change. Unlock PDF is not a repair, validation or trust operation. Apply new access controls immediately if the decrypted copy contains sensitive information.`,R8=((e={},t={})=>(t.locale??J(),L8(e))),z8=()=>`Remove PDF Restrictions and Manage Decrypted Risk`,B8=((e={},t={})=>(t.locale??J(),z8(e))),V8=()=>`The Unlock PDF task processes the selected bytes and password in the current browser through a lazily loaded local PDF engine. They are not sent to server conversion, AI, storage or sharing routes, and the handler does not ask for upload approval. Ordinary application assets may still load over the network; the local statement applies to the document and credential. 525 526Refreshing ends the active memory task, but the downloaded unlocked PDF remains on the device without its former password protection. TiPDF cannot delete it, clear system backups or prevent forwarding. Treat the decrypted result as more exposed than the source and store, transmit or dispose of it accordingly. Restrict local access and record its approved destination before distribution.`,H8=((e={},t={})=>(t.locale??J(),V8(e))),U8=()=>`Unlock PDF Online Free Questions`,W8=((e={},t={})=>(t.locale??J(),U8(e))),G8=()=>`Can TiPDF find an unknown password?::No. It does not guess, crack, recover or bypass a password. You must supply a working credential. 527 528Why does an unprotected file fail?::The handler avoids rewriting a PDF that is not encrypted. Use the original directly. 529 530Are all encryption methods supported?::No guarantee is made. Unsupported encryption can produce the same safe failure category as an incorrect password. 531 532Is the unlocked output the same byte-for-byte file?::No. The engine removes protection and saves new bytes with an unlocked suffix. 533 534Does removing protection validate a certificate signature?::No. Rewriting can invali
534date signatures over the original bytes; verify provenance separately.`,K8=((e={},t={})=>(t.locale??J(),G8(e))),q8=()=>`Unlock PDF capability copy was verified on July 18, 2026 against the unlock-pdf registry and @libpdf/core handler. Tests reflect required password input, encrypted and authenticated checks, local removeProtection and rewritten output without claiming password recovery or universal encryption support.`,J8=((e={},t={})=>(t.locale??J(),q8(e))),Y8=()=>`A known password key authenticating and unlocking an authorized PDF locally on a laptop`,X8=((e={},t={})=>(t.locale??J(),Y8(e))),Z8=()=>`Authenticate a supported encrypted PDF with its known password and save a separate unlocked copy locally.`,Q8=((e={},t={})=>(t.locale??J(),Z8(e))),$8=()=>`Unlock PDF protection with the authorized password`,e5=((e={},t={})=>(t.locale??J(),$8(e))),t5=()=>`PDF to PPT Online â One Page Image per Slide | TiPDF`,n5=((e={},t={})=>(t.locale??J(),t5(e))),r5=()=>`Use PDF to PPT online to place every page as one contained image on its own 16:9 PPTX slide. Review image fidelity and non-editable page elements.`,i5=((e={},t={})=>(t.locale??J(),r5(e))),a5=()=>`PDF to PPT with One Page Image per Widescreen Slide`,o5=((e={},t={})=>(t.locale??J(),a5(e))),s5=()=>`Convert PDF to PPT when complete pages need to appear in a presentation deck. TiPDF renders every page locally at high quality and places each result as one contained image on its own 16:9 PPTX slide.`,c5=((e={},t={})=>(t.locale??J(),s5(e))),l5=()=>`Use PDF to PPT for one slide per PDF page 535 536Keep complete page images unstretched 537 538Build the presentation in browser memory`,u5=((e={},t={})=>(t.locale??J(),l5(e))),d5=()=>`How PDF to PPT creates presentation slides`,f5=((e={},t={})=>(t.locale??J(),d5(e))),p5=()=>`The PDF to PPT workflow renders every source page with PDF.js at scale 2 and JPEG quality 0.9. It has no page-range control; the deck receives the complete document. TiPDF creates a 13.333 by 7.5 inch wide PPTX, gives each slide a white background, and adds one contained page image. 539 540Contain sizing preserves page aspect ratio. Portrait pages normally have side space, while landscape pages use more of the slide. Images are not stretched to fill both dimensions. Mixed page sizes produce different white-space amounts. There are no crop, alignment, or background controls. 541 542A PDF to PPT converter built this way preserves visible page arrangement but does not reconstruct authoring objects. Text, charts, vectors, photos, and annotations flatten into one JPEG layer. They cannot be selected as separate text boxes, charts, or shapes. The slide can move or accept overlays, but internal elements are not editable.`,m5=((e={},t={})=>(t.locale??J(),p5(e))),h5=()=>`PDF to PPT input, slide format, and limits`,g5=((e={},t={})=>(t.locale??J(),h5(e))),_5=()=>`PDF to PPT accepts one genuine .pdf up to 100 MiB and 500 readable pages. Extension and signature must match, and protected content must be unlocked with permission. Empty, damaged, renamed, or unsupported documents are rejected. 543 544Every page renders at viewport scale 2 and JPEG quality 0.9. One page may not exceed 80 million pixels, and a job may not exceed 250 million. Long or large-format PDFs can hit the ceiling before 500 pages. There is no lower-resolution or partial-page option. 545 546The PDF to PPTX result uses the source basename, a widescreen ratio, and one image per slide. It has no source attachment, speaker notes, generated titles, transitions, animations, or derived theme. PDF to PowerPoint here means a page-image deck, not recovery of an original presentation.`,v5=((e={},t={})=>(t.locale??J(),_5(e))),y5=()=>`How to build a PDF to PPT page-image deck`,b5=((e={},t={})=>(t.locale??J(),y5(e))),x5=()=>`1. Check PDF to PPT length::Confirm that every page belongs in the deck. The handler exports all pages and offers no range field. 547 5482. Inspect PDF to PPT orientation::Expect portrait pages to sit within widescreen slides with side space. Reformat the source for full-bleed slides. 549 5503. Select one PDF to PPT source::TiPDF validates signature, size, encryption state, and readable page count locally before rendering. 551 5524. Convert PDF to PPT::The browser renders scale-2 pages, encodes high-quality JPEGs, and places each image on a separate wide slide with contain sizing. 553 5545. Review the PDF to PPT deck::Verify slide count, legibility, white space, and colors. Page content is one image, so keep the original PDF for searchable text and document features.`,S5=((e={},t={})=>(t.locale??J(),x5(e))),C5=()=>`When PDF to PPT image slides are useful`,w5=((e={},t={})=>(t.locale??J(),C5(e))),T5=()=>`Presentation references::Use PDF to PPT for complete report pages in a discu
554ssion deck. Add separate callouts instead of expecting source text boxes. 555 556Page-by-page briefings::PDF to PPT can present a document with familiar slide controls. Small document text may remain hard to read on a projected widescreen canvas. 557 558Visual archives::Store a PDF to PPT snapshot only when editability is unnecessary. The PPTX is larger and less searchable than the source, so retain both. 559 560Review overlays::Place new shapes or notes over the page image in presentation software. Overlays do not alter the flattened image and are not PDF edits.`,E5=((e={},t={})=>(t.locale??J(),T5(e))),D5=()=>`PDF to PPT fidelity and editability limits`,O5=((e={},t={})=>(t.locale??J(),D5(e))),k5=()=>`PDF to PPT uses scale 2 and JPEG quality 0.9, but JPEG remains lossy. Tiny type, thin lines, and diagrams can show raster limits when enlarged. The converter cannot add detail absent from a scan, and unusual color, transparency, or font features can differ from specialist print software. 561 562The deck is not an editable PowerPoint reconstruction. Searchable text, links, controls, accessibility tags, layers, and vectors become pixels. Certificate signatures and metadata do not transfer as slide semantics. For editable PowerPoint elements, obtain the original presentation or rebuild slides from authorized assets. Test the downloaded deck in the presentation software and display environment that the audience will actually use.`,A5=((e={},t={})=>(t.locale??J(),k5(e))),j5=()=>`PDF to PPT privacy and local deck creation`,M5=((e={},t={})=>(t.locale??J(),j5(e))),N5=()=>`The PDF to PPT job renders the document and builds its presentation in browser memory. Source bytes and slide images are not sent to server conversion, AI, sharing or storage routes, and no upload approval is requested. Ordinary application resources may still load over the network; the local statement concerns the selected document. 563 564Refreshing ends the active task, but the source and downloaded PPTX remain on the device. TiPDF cannot delete them or prevent forwarding. A slide deck can make page images easier to extract and reuse, so apply suitable destination permissions and avoid embedding confidential pages that are not needed.`,P5=((e={},t={})=>(t.locale??J(),N5(e))),F5=()=>`PDF to PPT questions and editability limits`,I5=((e={},t={})=>(t.locale??J(),F5(e))),Cne=()=>`Does PDF to PPT create editable PowerPoint elements?::No. Each PDF page is one JPEG image layer. Text and charts are not separate objects. 565 566Can PDF to PPT select only some pages?::Not on this route. The handler renders every page at the fixed high setting. 567 568Is PDF to PowerPoint online free?::The local page-image workflow has no account or checkout requirement. File, page, and pixel limits apply. 569 570What slide size is used?::The PPTX uses a 13.333 by 7.5 inch widescreen layout. 571 572Will portrait pages be stretched?::No. Contain sizing keeps aspect ratio, so portrait pages usually have side space. 573 574Are links, animations, or notes preserved?::No. The page becomes a static image; transitions, notes, and editable PDF behavior are not generated.`,wne=((e={},t={})=>(t.locale??J(),Cne(e))),Tne=()=>`PDF to PPT capability copy was verified on July 18, 2026 against the pdf-to-ppt registry, fixed high-quality PDF renderer and PptxGenJS builder. Claims reflect all-page JPEG rendering, 16:9 contain sizing and one image per slide without promising editable elements.`,Ene=((e={},t={})=>(t.locale??J(),Tne(e))),Dne=()=>`PDF pages becoming contained full-page image layers on separate widescreen presentation slides`,One=((e={},t={})=>(t.locale??J(),Dne(e))),kne=()=>`Render every PDF page locally as one contained image on its own widescreen PPTX slide.`,Ane=((e={},t={})=>(t.locale??J(),kne(e))),jne=()=>`Run PDF to PPT and inspect every slide image`,Mne=((e={},t={})=>(t.locale??J(),jne(e))),Nne=()=>`Excel to PDF Online â Reviewed Workbook Export | TiPDF`,Pne=((e={},t={})=>(t.locale??J(),Nne(e))),Fne=()=>`Use Excel to PDF online for one approved XLS or XLSX workbook through the configured Gotenberg service. Set print layout first, then verify every page.`,Ine=((e={},t={})=>(t.locale??J(),Fne(e))),Lne=()=>`Excel to PDF for a Reviewed Workbook Copy`,Rne=((e={},t={})=>(t.locale??J(),Lne(e))),zne=()=>`Convert Excel to PDF when a spreadsheet needs a fixed reading or sharing format. After explicit approval, TiPDF sends one XLS or XLSX workbook to the configured private Gotenberg service and returns its LibreOffice-rendered PDF.`,Bne=((e={},t={})=>(t.locale??J(),zne(e))),Vne=()=>`Require Excel to PDF upload approval 575 576Accept one XLS or XLSX workbook up to 50 MiB 577 578Validate that the service returned a real PDF`,Hne=((e={},t={})=>(t.locale??J(),Vne(e))),Une=()=>`How Excel to PDF renders a workbook`,Wne=((e={},t={})=>(t.locale??J(),Une(e))),Gne=()=>`The Excel to PDF route is a server conversion, not an on-device spreadsheet engine. The client validates the extension and asks the user to review privacy. Only after approval does it put the workbook in multipart form data and send it to TiPDF's conversion API. 579 580Server processing forwards a supported .xls or .xlsx to Gotenberg LibreOffice. TiPDF accepts returned bytes only when they begin with the PDF signature, then applies a safe basename, application/pdf type, no-store caching, and nosniff headers. Metadata states that an upload occurred. 581 582LibreOffice decides how sheets, print areas, repeated rows, scaling, charts, fonts, hidden content, and page breaks appear. This Excel to PDF converter has no landscape, fit-to-page, paper, margin, sheet-selection, or formula-recalculation controls. Configure the workbook first and check the rendering against Microsoft Excel.`,Kne=((e={},t={})=>(t.locale??J(),Gne(e))),qne=()=>`Excel to PDF workbook and service limits`,Jne=((e={},t={})=>(t.locale??J(),qne(e))),Yne=()=>`Excel to PDF accepts one non-empty .xls or .xlsx workbook up to 50 MiB. The API requires Content-Length and rejects oversized multipart requests. A random renamed file is not reinterpreted as a spreadsheet. Open legacy .xls files in a trusted spreadsheet application first when compatibility is uncertain, and save a clean source copy before sending it. 583 584Conversion needs a valid HTTP or HTTPS GOTENBERG_URL. The server uses /forms/libreoffice/convert and a 10â300 second timeout, default 120. Service rejection, timeout, network failure, or a non-PDF response becomes an explicit error. A timeout can indicate workbook complexity or deployment capacity rather than a corrupt source. 585 586The endpoint applies a minimum 10-second request interval per key. Large workbooks with many sheets, charts, external links, or unusual fonts can take longer or render differently. The XLSX to PDF route does not upload companion files, macros, linked workbooks, or external font packages. O
586nly the selected workbook reaches the service.`,Xne=((e={},t={})=>(t.locale??J(),Yne(e))),Zne=()=>`How to prepare Excel to PDF output`,Qne=((e={},t={})=>(t.locale??J(),Zne(e))),$ne=()=>`1. Set Excel to PDF print layout::In the authoring application, set print areas, orientation, page breaks, scaling, and repeated headings, then save. TiPDF has no controls for these properties. 587 5882. Review hidden workbook content::Check hidden sheets, comments, metadata, external links, and confidential formulas. A rendered PDF may disclose unintended content. 589 5903. Select one workbook::Choose an XLS or XLSX no larger than 50 MiB. The client identifies a remote server operation. 591 5924. Approve Excel to PDF upload::Read where the file will go and continue only if the deployment and document sensitivity are acceptable. 593 5945. Convert Excel to PDF::TiPDF sends the workbook, validates the returned signature, and downloads the PDF. Inspect every sheet boundary, chart, font, total, orientation, and blank page.`,ere=((e={},t={})=>(t.locale??J(),$ne(e))),tre=()=>`Appropriate Excel to PDF tasks`,nre=((e={},t={})=>(t.locale??J(),tre(e))),rre=()=>`Financial review copies::Use Excel to PDF for a fixed snapshot after validating totals and date context. The PDF is not a substitute for the calculation workbook or audit trail. 595 596Operational reports::Excel to PDF can render dashboards and tables for recipients who should not edit cells. Verify charts, hidden rows, and page splits. 597 598Application attachments::Use a spreadsheet to PDF copy when a portal requires it. Check page size, legibility, and file-size rules after conversion. 599 600Long-term reference drafts::Store an Excel to PDF derivative beside the original workbook. Formal archival standards, signatures, and retention controls require additional processes.`,ire=((e={},t={})=>(t.locale??J(),rre(e))),are=()=>`Excel to PDF layout and spreadsheet semantics`,ore=((e={},t={})=>(t.locale??J(),are(e))),sre=()=>`The PDF captures the renderer's visible pages, not Excel's live model. Formulas no longer recalculate, filters are not interactive, cells cannot be edited, and chart data is not live. Font substitution, printer metrics, and LibreOffice compatibility can change wrapping, columns, pagination, or charts. Blank pages often indicate an oversized print area or manual break in the workbook rather than missing data. 601 602No universal pixel-perfect fidelity is promised. Compare page count, print area, headings, merged cells, conditional formatting, charts, dates, and precision against the source. Reconcile displayed totals with the approved workbook before distribution. If the workbook depends on macros, proprietary functions, external data, or exact Microsoft rendering, export from the original desktop application.`,cre=((e={},t={})=>(t.locale??J(),sre(e))),lre=()=>`Excel to PDF upload and deployment responsibility`,ure=((e={},t={})=>(t.locale??J(),lre(e))),dre=()=>`Unlike local tools, the Excel to PDF job uploads the selected workbook after explicit consent. It passes through the TiPDF server to the deployment's configured Gotenberg service. The response is marked no-store, but TiPDF does not make a universal automatic-deletion or retention promise for independently configured infrastructure. Operators must secure transport, logs, access and service retention. 603 604Do not approve the upload when the deployment is untrusted or policy forbids remote conversion. Remove sensitive hidden content first and protect the downloaded PDF according to its contents. Closing the page does not delete the source workbook, server logs or downloaded result.`,fre=((e={},t={})=>(t.locale??J(),dre(e))),pre=()=>`Excel to PDF questions and print-layout limits`,mre=((e={},t={})=>(t.locale??J(),pre(e))),hre=()=>`Does Excel to PDF stay on my device?::No. It uploads the approved workbook to the configured Gotenberg service. 605 606Can I set Excel to PDF landscape here?::No. Orientation and print layout come from workbook settings and the service renderer. 607 608Is Excel to PDF online free?::The page has no checkout, but deployment access and its configured service can vary. Remote approval is required. 609 610Will formulas remain interactive?::No. The PDF is a static rendering, not a live spreadsheet. 611 612What happens if Gotenberg is not configured?::The server returns a configuration error instead of pretending conversion succeeded. 613 614Is perfect Excel fidelity guaranteed?::No. LibreOffice can differ in fonts, pagination, charts, and proprietary features; inspect every result.`,gre=((e={},t={})=>(t.locale??J(),hre(e))),_re=()=>`Excel to PDF capability copy was verified on July 18, 2026 against the excel-to-pdf registry, remote-approval gate, 50 MiB API, Gotenberg LibreOffice route, timeout bounds and PDF signature check.
614Claims avoid local-only, deletion and fidelity promises.`,vre=((e={},t={})=>(t.locale??J(),_re(e))),yre=()=>`An approved XLSX workbook passing through a secure configured conversion service and returning as a PDF`,bre=((e={},t={})=>(t.locale??J(),yre(e))),xre=()=>`Upload one approved XLS or XLSX workbook to the configured service and receive its PDF rendering.`,Sre=((e={},t={})=>(t.locale??J(),xre(e))),Cre=()=>`Run Excel to PDF and inspect every worksheet page`,wre=((e={},t={})=>(t.locale??J(),Cre(e))),Tre=()=>`PPT to PDF Online â Static Slide Export | TiPDF`,Ere=((e={},t={})=>(t.locale??J(),Tre(e))),Dre=()=>`Use PPT to PDF online for one approved PPT or PPTX through the configured Gotenberg service. Inspect fonts, media, and every static slide page.`,Ore=((e={},t={})=>(t.locale??J(),Dre(e))),kre=()=>`PPT to PDF for a Reviewed Static Slide Copy`,Are=((e={},t={})=>(t.locale??J(),kre(e))),jre=()=>`Convert PPT to PDF when a slide deck needs a fixed document copy. After explicit approval, TiPDF uploads one PPT or PPTX to the configured private Gotenberg service and returns its LibreOffice-rendered PDF.`,Mre=((e={},t={})=>(t.locale??J(),jre(e))),Nre=()=>`Require PPT to PDF upload consent 615 616Accept one PPT to PDF source up to 50 MiB 617 618Reject a service response that is not a valid PDF`,Pre=((e={},t={})=>(t.locale??J(),Nre(e))),Fre=()=>`How PPT to PDF creates a static document`,Ire=((e={},t={})=>(t.locale??J(),Fre(e))),Lre=()=>`The PPT to PDF route does not run a PowerPoint renderer in the browser. It classifies the presentation as server-tier and displays a remote notice. After approval, TiPDF sends the selected file through its API to the configured Gotenberg LibreOffice endpoint. 619 620PPT to PDF service output must begin with the PDF signature before download. TiPDF applies a safe filename, application/pdf type, no-store cache policy, and nosniff protection. Timeout, rejection, missing service, or invalid response becomes an error rather than a disguised file. 621 622PowerPoint to PDF produces static pages. Slide text, shapes, charts, and photos may remain visibly arranged, but animations, transitions, triggers, presenter notes, comments, video playback, and interactive navigation are not PDF behaviors. LibreOffice and the source determine exact handling, so review every page.`,Rre=((e={},t={})=>(t.locale??J(),Lre(e))),zre=()=>`PPT to PDF inputs and server requirements`,Bre=((e={},t={})=>(t.locale??J(),zre(e))),Vre=()=>`PPT to PDF accepts one non-empty .ppt or .pptx up to 50 MiB. The API requires Content-Length and rejects oversized multipart requests. An arbitrary renamed file is not a supported presentation; the service may reject damaged or inconsistent content. Legacy .ppt and packaged .pptx use different internal structures, so open an old deck in a trusted authoring application and save a clean copy before conversion when possible. 623 624PPT to PDF needs a valid HTTP or HTTPS GOTENBERG_URL. TiPDF posts to /forms/libreoffice/convert with a 10â300 second timeout, default 120, and a minimum 10-second request interval per key. A media-heavy deck can exceed service resources. A timeout does not prove the source is invalid; it can also indicate deployment capacity or an unavailable renderer. 625 626Only the PPTX to PDF source file is sent. Linked videos, network images, custom fonts, external data, and companion files are not packaged. Resolve or embed authorized dependencies in the authoring application first. Verify that charts display current values and that linked spreadsheets are no longer needed to understand the final pages.`,Hre=((e={},t={})=>(t.locale??J(),Vre(e))),Ure=()=>`How to prepare PPT to PDF output`,Wre=((e={},t={})=>(t.locale??J(),Ure(e))),Gre=()=>`1. Prepare a PPT to PDF static state::In PowerPoint, inspect each slide at its final state. Replace unsupported dynamic material with authorized static content when necessary. 627 6282. Check PPT to PDF dependencies::Embed permitted fonts and images, remove broken links, confirm video poster frames, and save the PPT or PPTX. 629 6303. Select one PPT to PDF source::Choose a file within 50 MiB. TiPDF identifies the remote job and sends nothing before approval. 631 6324. Approve PPT to PDF upload::Read the privacy notice and continue only when the configured service and document sensitivity meet policy. 633 6345. Convert PPT to PDF::The server returns a static PDF and TiPDF validates its signature. Compare slide count, fonts, line wraps, charts, images, visible content, and page boundaries.`,Kre=((e={},t={})=>(t.locale??J(),Gre(e))),qre=()=>
634`Useful PPT to PDF static outputs`,Jre=((e={},t={})=>(t.locale??J(),qre(e))),Yre=()=>`Distribution copies::Use PPT to PDF for a fixed visual deck when recipients do not need slide editing. The PDF still permits copying unless separately protected. 635 636Meeting records::PPT to PDF can capture the approved slide state beside minutes. Notes, demonstrations, and audience interactions require separate records. 637 638Portal attachments::Convert PowerPoint to PDF where a portal rejects presentation files. Verify orientation, legibility, and maximum output size. 639 640Print review::Turn slides to PDF pages for proofing or handouts. This route has no notes-page, multiple-slides-per-sheet, or printer-mark settings; prepare those in the source application.`,Xre=((e={},t={})=>(t.locale??J(),Yre(e))),Zre=()=>`PPT to PDF fonts, media, and fidelity`,Qre=((e={},t={})=>(t.locale??J(),Zre(e))),$re=()=>`PPT to PDF rendering through LibreOffice can differ from Microsoft PowerPoint in font metrics, line wrapping, shape effects, charts, equations and proprietary features. Missing fonts may substitute and change layout. Transitions and animation sequences collapse to a static result, while embedded audio or video is not guaranteed to become meaningful PDF content. 641 642No pixel-perfect fidelity guarantee is made. Inspect every page, especially brand typography, cropped images, transparent effects, tables, charts and right-to-left or complex-script text. Check slide masters, theme fonts, and any object that extends beyond the visible canvas, because alternate renderers can expose clipping or fallback styling. Also compare page count with the intended visible slide count. For an exact Microsoft-rendered export, use the original desktop application in its supported environment and compare the result.`,eie=((e={},t={})=>(t.locale??J(),$re(e))),tie=()=>`PPT to PDF upload and operator controls`,nie=((e={},t={})=>(t.locale??J(),tie(e))),rie=()=>`The PPT to PDF job uploads the deck only after explicit consent, passing through the TiPDF server to the configured Gotenberg service. The response uses no-store caching, but TiPDF cannot promise universal automatic deletion for every independently operated deployment. Operators are responsible for TLS, authentication, network isolation, logging and retention settings. 643 644Review hidden slides, notes, comments, metadata and embedded assets before approval, because source files can contain information not obvious during slideshow mode. Use the authoring application's document inspector when confidential material may exist outside the visible slide area. Closing the page does not erase the source, server logs or downloaded PDF. Do not use remote conversion when policy or sensitivity forbids it.`,iie=((e={},t={})=>(t.locale??J(),rie(e))),aie=()=>`PPT to PDF questions and static-output limits`,oie=((e={},t={})=>(t.locale??J(),aie(e))),sie=()=>`Does the PPT to PDF converter stay on my device?::No. The deck uploads after approval to the configured Gotenberg service. 645 646Are animations and transitions preserved?::No. PDF is static; review which visual state the renderer captured. 647 648Is PPT to PDF online free?::The page has no checkout, but deployment access and its configured service can vary. Remote approval is required. 649 650Will videos play in the PDF?::Do not expect it. Use an authorized static poster or distribute media separately. 651 652Are speaker notes included?::Not promised. Inspect the output and prepare notes pages in the source application if needed. 653 654Is PowerPoint fidelity guaranteed?::No. LibreOffice can differ in fonts, charts, effects, and proprietary features; compare every slide.`,cie=((e={},t={})=>(t.locale??J(),sie(e))),lie=()=>`PPT to PDF capability copy was verified on July 18, 2026 against the ppt-to-pdf registry, approval gate, 50 MiB API, LibreOffice route, timeout controls and signature validation. Claims describe static server rendering without fidelity, deletion or local-only promises.`,uie=((e={},t={})=>(t.locale??J(),lie(e))),die=()=>`An approved PPTX deck passing through a secure configured conversion service into a static paginated PDF`,fie=((e={},t={})=>(t.locale??J(),die(e))),pie=()=>`Upload one approved PPT or PPTX to the configured service and receive a static PDF rendering.`,mie=((e={},t={})=>(t.locale??J(),pie(e))),hie=()=>`Run PPT to PDF and inspect every static page`,gie=((e={},t={})=>(t.locale??J(),hie(e))),_ie=()=>`PNG to PDF Online â Ordered A4 Pages | TiPDF`,vie=((e={},t={})=>(t.locale??J(),_ie(e))),yie=()=>`Use PNG to PDF online to combine up to 100 images into ordered A4 pages. Process locally, flatten transparency to white, and inspect JPEG output.`,bie=((e={},t={})=>(t.locale??J(),yie(e))),xie=()=>
654`PNG to PDF for Ordered, White-Background A4 Pages`,Sie=((e={},t={})=>(t.locale??J(),xie(e))),Cie=()=>`Convert PNG to PDF when separate graphics or screenshots need one document container. TiPDF decodes up to 100 PNG files locally, flattens transparency onto white and centers each image on its own ordered A4 page.`,wie=((e={},t={})=>(t.locale??J(),Cie(e))),Tie=()=>`Use PNG to PDF with up to 100 files 655 656Place PNG to PDF images on separate A4 pages 657 658Flatten transparent regions predictably to white`,Eie=((e={},t={})=>(t.locale??J(),Tie(e))),Die=()=>`What PNG to PDF does to each image`,Oie=((e={},t={})=>(t.locale??J(),Die(e))),kie=()=>`The PNG to PDF handler validates every file, decodes it in the browser, and draws it on a canvas without alpha transparency. TiPDF fills the canvas white first. A transparent logo or cutout therefore gains a white background instead of retaining see-through areas. 659 660PNG to PDF encodes each canvas as JPEG at quality 0.9 before embedding. The original PNG byte stream is not stored unchanged. Although PNG is lossless, the page contains a JPEG representation and can show artifacts around sharp edges or fine text. Ancillary PNG chunks, original compression choices, and source metadata are not carried through as an archival package. Use the output for document assembly, not as an archive of original assets. 661 662Each decoded image becomes one A4 portrait page in selection order. The PNG to PDF converter does not make contact sheets, place several images on one page, add captions, or infer sorting. Clear filenames and reviewed picker order are essential. The output is one PDF. For a numbered sequence, compare the first and last page and every transition where the filename pattern changes.`,Aie=((e={},t={})=>(t.locale??J(),kie(e))),jie=()=>`PNG to PDF input, A4 layout, and limits`,Mie=((e={},t={})=>(t.locale??J(),jie(e))),Nie=()=>`PNG to PDF accepts 1â100 .png files. Each can be up to 100 MiB, but one decoded image may not exceed 80 million pixels and the job may not exceed 250 million. A compact PNG can expand greatly in memory. Empty files, unknown signatures, and renamed content are rejected. 663 664Every page measures about 595.28 by 841.89 PDF points with a 24-point margin. TiPDF preserves aspect ratio, scales down only when needed, and does not enlarge beyond decoded dimensions. A wide graphic remains horizontal within portrait A4 and can leave white space. Very small source images stay small rather than being enlarged into visibly soft artwork. 665 666There are no Letter, landscape, margin, crop, quality, background-color, or multi-image controls. The filename uses the first source basename and adds an images suffix for multiple files. Metadata reports file and page counts. If the receiver requires a different sheet size or bleed, prepare that layout before this workflow.`,Pie=((e={},t={})=>(t.locale??J(),Nie(e))),Fie=()=>`How to assemble PNG to PDF accurately`,Iie=((e={},t={})=>(t.locale??J(),Fie(e))),Lie=()=>`1. Prepare PNG to PDF transparency::Preview every PNG against white. Add a chosen background first when white would hide light artwork or change the intended appearance. 667 6682. Name PNG to PDF files in order::Use zero-padded numbers for long sets and choose files in reading sequence. TiPDF does not sort by visible content. 669 6703. Select the PNG files::The browser checks count, extension, signature, byte size, and decoded pixel limits. 671 6724. Convert PNG to PDF::TiPDF paints each source on white, encodes a quality-0.9 JPEG representation, and places it on one A4 page locally. 673 6745. Inspect the PNG to PDF result::Compare page count, order, transparency treatment, fine edges, color, orientation, and white space. Keep the lossless source files.`,Rie=((e={},t={})=>(t.locale??J(),Lie(e))),zie=()=>`Practical PNG to PDF workflows`,Bie=((e={},t={})=>(t.locale??J(),zie(e))),Vie=()=>`Screenshot packets::Use PNG to PDF for ordered interface captures or instructions. Check small text after JPEG embedding and avoid exposing account details. 675 676Diagram collections::Merge PNG to PDF pages for independent charts or drawings. Wide diagrams may appear small on portrait A4 and need source reformatting. 677
678Application attachments::Create one PDF when a destination rejects multiple PNG files. Verify file-size, page-size, and accessibility requirements. 679 680Artwork review copies::A transparent PNG to PDF conversion produces a white-background proof. Retain transparent originals; the PDF is not a color-managed production master.`,Hie=((e={},t={})=>(t.locale??J(),Vie(e))),Uie=()=>`PNG to PDF transparency, compression, and search`,Wie=((e={},t={})=>(t.locale??J(),Uie(e))),Gie=()=>`PNG to PDF deliberately flattens transparency because the canvas has alpha disabled. Semi-transparent pixels blend with white, so shadows and antialiased edges can differ from a dark background. JPEG quality 0.9 is practical but lossy; line art can reveal artifacts absent from the PNG. Compare a zoomed result with the source when thin UI text, barcodes, or small diagram labels matter. 681 682The pages are image-based. Screenshot text does not become selectable, searchable, or screen-reader text. Run OCR separately and verify it. A PDF wrapper does not create semantic structure, certification, PDF/A compliance, or accessible reading order. Color management also follows browser decoding and canvas output rather than a prepress proofing pipeline, so inspect brand colors in the intended viewer.`,Kie=((e={},t={})=>(t.locale??J(),Gie(e))),qie=()=>`PNG to PDF privacy and local copies`,Jie=((e={},t={})=>(t.locale??J(),qie(e))),Yie=()=>`The PNG to PDF job decodes, paints and assembles images in browser memory on the current device. Image bytes are not sent to server conversion, AI, sharing or storage routes, and no upload approval is requested. Normal application assets may still use the network; the local statement concerns selected files. 683 684Refreshing ends the active job, but source PNGs and the downloaded PDF remain on the device. TiPDF cannot delete or prevent forwarding them. Screenshots often contain notifications, identifiers, account names, browser tabs, or other interface details outside the intended subject. Inspect every image at full size before combining and distributing it, and use a trusted device when the material is confidential. Review the final page order, orientation, whitespace, and edge clarity before sharing. Keep the original images when later re-export or comparison may be necessary. Retain backups.`,Xie=((e={},t={})=>(t.locale??J(),Yie(e))),Zie=()=>`PNG to PDF questions and transparency limits`,Qie=((e={},t={})=>(t.locale??J(),Zie(e))),$ie=()=>`Does PNG to PDF preserve transparency?::No. The browser paints an opaque white canvas before embedding the image. 685 686Is PNG to PDF lossless?::No. Each canvas is encoded as JPEG at quality 0.9 even though the source PNG is lossless. 687 688Can I use PNG to PDF online free?::Yes. The local workflow has no account or checkout requirement. File, count, and pixel limits apply. 689 690Can several images share one page?::Not on this route. Every decoded PNG receives its own A4 page. 691 692Can I change paper size or orientation?::No. Pages are fixed A4 portrait with a 24-point margin. 693 694Will screenshot text become searchable?::No. The output remains image-based unless a separate OCR workflow is applied.`,eae=((e={},t={})=>(t.locale??J(),$ie(e))),tae=()=>`PNG to PDF capability copy was verified on July 18, 2026 against the png-to-pdf registry, browser decoder, opaque white canvas, JPEG 0.9 encoder, A4 placement and pixel guards. Claims avoid transparency-preservation and lossless-output promises.`,nae=((e={},t={})=>(t.locale??J(),tae(e))),rae=()=>`Ordered PNG images becoming separate A4 PDF pages with transparent areas flattened onto white`,iae=((e={},t={})=>(t.locale??J(),rae(e))),aae=()=>`Combine up to 100 PNG files locally into one ordered A4 PDF with white transparency flattening.`,oae=((e={},t={})=>(t.locale??J(),aae(e))),sae=()=>`Combine these PNG images into one A4 PDF`,cae=((e={},t={})=>(t.locale??J(),sae(e))),lae=()=>`Convert Multipage TIFF to PDF Locally | TiPDF`,uae=((e={},t={})=>(t.locale??J(),lae(e))),dae=()=>`Decode every directory in up to 100 TIFF files locally and place each frame on its own ordered A4 PDF page with browser pixel safeguards.`,fae=((e={},t={})=>(t.locale??J(),dae(e))),pae=()=>`Convert TIFF to PDF Across Every Frame`,mae=((e={},t={})=>(t.locale??J(),pae(e))),hae=()=>`Convert TIFF to PDF when single-page or multipage image files need one document. TiPDF decodes every TIFF directory locally, places each frame on its own ordered A4 page and returns one PDF.`,gae=((e={},t={})=>(t.locale??J(),hae(e))),_ae=()=>`Uses TIFF to PDF for every decoded directory 695 696Combines up to 100 files in one TIFF to PDF job 697 698Uses local decoding with per-frame pixel guards`,vae=((e={},t={})=>(t.locale??J(),_ae(e))),yae=()=>`How TIFF to PDF maps multipage frames`,bae=((e={},t={})=>(t.locale??J(),yae(e))),xae=()=>`A TIFF file can contain several image file directories, often called pages or frames. The TIFF to PDF handler lazy-loads the UTIF decoder, reads every directory, decodes its image data and converts it to an RGBA canvas. TIFF to PDF does not stop after the first preview. A five-directory TIFF creates five PDF pages; two selected TIFF files can contribute different numbers of pages to the same result. 699 700After TIFF to PDF decoding, TiPDF converts each canvas to JPEG at quality 0.9, embeds it and centers it on an A4 portrait page with a 24-point margin. The frame keeps its aspect ratio, scales down when necessary and is not enlarged beyond its decoded dimensions. The source TIFF compression, bit depth and internal tags are not preserved as TIFF structures in the PDF. 701 702The TIFF to PDF converter follows selection order between files and directory order within each file. It does not inspect dates, document labels or visual content to rearrange frames. Page count can exceed the number of selected filenames because one TIFF may be multipage. Review both the reported result and the finished TIFF to PDF sequence rather than assuming one input equals one page.`,Sae=((e={},t={})=>(t.locale??J(),xae(e))),Cae=()=>
702`TIFF to PDF inputs, pixels and layout`,wae=((e={},t={})=>(t.locale??J(),Cae(e))),Tae=()=>`Choose between 1 and 100 files ending in .tif or .tiff for TIFF to PDF processing; the shorter alias is normalized. Every local file can be at most 100 MiB and must carry a TIFF signature. Empty, renamed, damaged or undecodable sources are rejected. TIFF supports many variants, so a genuine signature does not guarantee that UTIF can decode every compression, color model or unusual tag combination. 703 704Each TIFF to PDF directory may contain at most 80 million pixels. The complete job may contain at most 250 million pixels across every frame in every selected file. These limits protect browser memory after decompression, when an apparently modest TIFF can expand dramatically. Reduce the batch or image dimensions if the safety ceiling is reached. 705 706TIFF to PDF output pages are fixed A4 portrait, about 595.28 by 841.89 points, with 24-point margins. There are no controls for Letter, landscape, custom margins, crop, frame selection, background color or JPEG quality. The output filename is based on the first input and gains an images suffix for a multiple-file selection.`,Eae=((e={},t={})=>(t.locale??J(),Tae(e))),Dae=()=>`How to run TIFF to PDF reliably`,Oae=((e={},t={})=>(t.locale??J(),Dae(e))),kae=()=>`1. Count TIFF to PDF frames::Open each TIFF in a viewer that exposes every directory. Note the expected total, not just the number of filenames. 707 7082. Check TIFF to PDF order::Arrange files with sortable names and correct rotations in the source where possible. TiPDF does not provide a frame reorder or rotation interface here. 709 7103. Select the TIFF files::Choose up to 100. The TIFF to PDF browser workflow verifies extensions, signatures, byte limits and decoded pixel dimensions. 711 7124. Convert TIFF to PDF::UTIF decodes every directory, TiPDF encodes each canvas as JPEG and adds one centered A4 page in local memory. 713 7145. Inspect the result::Compare the PDF page count with the expected frame total and review orientation, fine text, colors, background appearance, page order and image scaling. Keep the original TIFF files.`,Aae=((e={},t={})=>(t.locale??J(),kae(e))),jae=()=>`TIFF to PDF image-document workflows`,Mae=((e={},t={})=>(t.locale??J(),jae(e))),Nae=()=>`Legacy scan batches::Use TIFF to PDF for multipage scanner output without discarding later TIFF directories. OCR remains a separate step. 715 716Fax and archive references::Create a convenient derivative for ordinary viewing. Preserve the original when TIFF tags, bit depth, compression or archival policy matter. 717 718Design proofs::Combine approved TIFF frames into a page-based review copy. The JPEG embedding and browser color path are not a color-managed production proof. 719 720Application records::Submit a PDF when the receiving system cannot open TIFF. Confirm its resolution, page-size, accessibility and file-size requirements afterward.`,Pae=((e={},t={})=>(t.locale??J(),Nae(e))),Fae=()=>`TIFF to PDF JPEG embedding and feature loss`,Iae=((e={},t={})=>(t.locale??J(),Fae(e))),Lae=()=>`Every decoded RGBA frame is converted to JPEG at quality 0.9 before PDF embedding. This is lossy and can alter fine monochrome text, line art or photographic detail. Alpha transparency cannot be preserved in JPEG, and this TIFF path does not explicitly paint a chosen background before encoding; inspect transparent or unusual frames instead of assuming a particular background result. 721 722TIFF metadata such as scanner tags, multiple resolutions, color profiles, compression details and private fields are not reproduced as equivalent PDF semantics. The page is image-based, so visible words do not automatically become searchable or selectable. Run OCR separately when needed and validate the recognized text.`,Rae=((e={},t={})=>(t.locale??J(),Lae(e))),zae=()=>`Local multipage decoding and copies`,Bae=((e={},t={})=>(t.locale??J(),zae(e))),Vae=()=>`The TIFF to PDF task decodes frames and builds the document in browser memory on the current device. Source bytes are not sent to server conversion, AI, storage or sharing routes, and no upload approval is requested. The decoder is lazy-loaded as an application asset; normal site resources may use the network. 723 724Refreshing ends the active task, but the source TIFF files and downloaded PDF remain on the device. TiPDF cannot delete them or prevent forwarding. Multipage sources can contain later frames that are easy to overlook, so review every directory for sensitive content before distribution.`,Hae=((e={},t={})=>(t.locale??J(),Vae(e))),Uae=()=>`TIFF to PDF conversion questions`,Wae=((e={},t={})=>(t.locale??J(),Uae(e))),Gae=()=>`Does every TIFF page get converted?::The handler decodes every directory that UTIF reports, not only the first one. 725 726Is TIFF to PDF online free?::Yes. This local browser workflow has no account or checkout requirement, subject to the file and decoded-pixel limits. 727 728Can one file create several PDF pages?::Yes. Each decoded TIFF directory becomes its own A4 page. 729 730Can a scanned TIFF to PDF result become searchable?::Not during conversion. Run OCR separately and verify the recognized text against every image page. 731 732Is TIFF quality preserved losslessly?::No. Each frame is encoded as JPEG at quality 0.9 before embedding. 733 734Can I choose only some frames?::Not on this route. Prepare a separate TIFF or use another image workflow when a subset is required.`,Kae=((e={},t={})=>(t.locale??J(),Gae(e))),qae=()=>`TIFF to PDF capability copy was verified on July 18, 2026 against the tiff-to-pdf registry, UTIF directory loop, RGBA canvase
734s, JPEG 0.9 embedding, A4 placement and pixel limits. Claims cover every decodable directory without promising lossless metadata or transparency handling.`,Jae=((e={},t={})=>(t.locale??J(),qae(e))),Yae=()=>`Multipage TIFF directories being decoded locally and placed as separate ordered A4 PDF pages`,Xae=((e={},t={})=>(t.locale??J(),Yae(e))),Zae=()=>`Decode every directory in selected TIFF files locally and place each frame on its own ordered A4 PDF page.`,Qae=((e={},t={})=>(t.locale??J(),Zae(e))),$ae=()=>`Start TIFF to PDF for every ordered frame`,eoe=((e={},t={})=>(t.locale??J(),$ae(e))),toe=()=>`HTML to PDF Online â Convert a Standalone File | TiPDF`,noe=((e={},t={})=>(t.locale??J(),toe(e))),roe=()=>`Use HTML to PDF online for one approved, self-contained HTML or HTM file. Scripts and external resources are rejected before Chromium rendering.`,ioe=((e={},t={})=>(t.locale??J(),roe(e))),aoe=()=>`HTML to PDF for a Self-Contained Uploaded File`,ooe=((e={},t={})=>(t.locale??J(),aoe(e))),soe=()=>`Convert HTML to PDF from one uploaded .html or .htm file, not a website URL. After explicit approval, TiPDF validates the standalone markup, rejects active or external resources and sends it to the configured Gotenberg Chromium service.`,coe=((e={},t={})=>(t.locale??J(),soe(e))),loe=()=>`Require HTML to PDF upload approval 735 736Block scripts and external resources 737 738Validate that the returned file is a real PDF`,uoe=((e={},t={})=>(t.locale??J(),loe(e))),doe=()=>`How standalone HTML to PDF works`,foe=((e={},t={})=>(t.locale??J(),doe(e))),poe=()=>`The HTML to PDF route begins with a file already on the device. It does not accept an address in a URL field, crawl a website, or capture the current tab. Select one .html or .htm, review the remote-processing notice, and approve upload to TiPDF's API. 739 740Server validation decodes UTF-8 and applies restrictive standalone checks. It rejects script, iframe, object, embed, link, and base elements; event handlers; meta refresh; and CSS @import. Resource attributes and CSS url() may use fragment identifiers or data URLs, but external and relative locations are rejected. 741 742After validation, the server renames the file index.html and posts it to Gotenberg's Chromium HTML route. Returned bytes must begin with a PDF signature. This HTML to PDF converter renders a constrained self-contained document rather than executing an arbitrary live site.`,moe=((e={},t={})=>(t.locale??J(),poe(e))),hoe=()=>`HTML to PDF files, embedded assets, and limits`,goe=((e={},t={})=>(t.locale??J(),hoe(e))),_oe=()=>`HTML to PDF accepts one non-empty .html or .htm up to 50 MiB. The API requires Content-Length and rejects oversized multipart requests. HTML is text rather than a binary signature format, so the safety parser and Chromium determine whether markup is usable. Malformed or unsupported input can fail. 743 744Ordinary structure and inline CSS are supported. Images, fonts, or other assets must be permitted data URLs in the same file; separate assets are not uploaded. Relative paths and remote locations are rejected. Fragment-only references pass the safety check, although clickable PDF behavior is not guaranteed. 745 746HTML to PDF needs a valid HTTP or HTTPS GOTENBERG_URL. Timeout is 10â300 seconds, default 120, and conversion requests use a minimum 10-second interval per request key. Service rejection, timeout, missing configuration, or a non-PDF response becomes a visible error.`,voe=((e={},t={})=>(t.locale??J(),_oe(e))),yoe=()=>`How to prepare HTML to PDF safely`,boe=((e={},t={})=>(t.locale??J(),yoe(e))),xoe=()=>`1. Save one standalone file::Create a complete .html or .htm. This is not a URL to PDF field and will not download a site. 747 7482. Remove HTML to PDF active content::Delete scripts, frames, embeds, objects, event handlers, meta refresh, link/base elements, and @import rules. A PDF does not need application behavior. 749 7503. Embed permitted assets::Convert authorized images and fonts to data URLs where practical. Remove relative and external src, href, and CSS url() references. 751 7524. Approve HTML to PDF upload::Select the file, read the notice, and continue only if the configured conversion service is acceptable for its contents. 753 7545. Convert HTML to PDF::TiPDF validates restrictions, sends the file to Chromium, and checks the returned signature. Inspect pagination, clipping, fonts, backgrounds, print CSS, and embedded assets.`,Soe=((e={},t={})=>(t.locale??J(),xoe(e))),Coe=()=>`Suitable HTML to PDF documents`,woe=((e={},t={})=>(t.locale??J(),Coe(e))),Toe=()=>`Generated reports::Use HTML to PDF for a single-file status or analytical report with embedded styles and authorized assets. Check tables and page breaks. 755 756Email-style layouts::HTML to PDF can create a fixed document from safe static markup after scripts, tracking URLs, and remote resources are removed. Email-client rendering is not reproduced. 757 758Invoices and receipts::Use the HTML to PDF converter for an internally generated standalone page. Validate amounts, dates, and legal requirements; rendering is not certification. 759 760Design proofs::Review print CSS and static layout in PDF form. A webpage to PDF screenshot of a live URL is different and is not implemented here.`,Eoe=((e={},t={})=>(t.locale??J(),Toe(e))),Doe=()=>`HTML to PDF Chromium rendering boundaries`,Ooe=((e={},t={})=>(t.locale??J(),Doe(e))),koe=()=>`HTML to PDF uses Gotenberg Chromium to interpret safe markup and CSS inside the file. Print layout can differ from screen layout because of page media, margins, break rules, viewport assumptions, and print color. Data-URL fonts or images can increase size and may fail if malformed. 761 762There is no perfect-fidelity guarantee. Test @media print, fixed positioning, flex or grid breaks, long code, tables, backgrounds, and non-Latin fonts. JavaScript content will not appear because scripts are rejected. Exter
762nal fonts, stylesheets, and images are unavailable, so the source must contain everything essential.`,Aoe=((e={},t={})=>(t.locale??J(),koe(e))),joe=()=>`Approved upload and external-resource blocking`,Moe=((e={},t={})=>(t.locale??J(),joe(e))),Noe=()=>`The HTML to PDF task uploads the file only after explicit consent, through TiPDF's server to the configured Gotenberg service. It is not a local-only job. The response uses no-store caching, but independently operated infrastructure controls transport, access logs and retention; TiPDF does not make a universal automatic-deletion promise. 763 764Blocking scripts and external or relative resource references reduces unintended network access during rendering, but users must still inspect embedded data and metadata. Do not approve remote conversion when policy forbids it. Closing the page does not erase the source, server logs or downloaded PDF.`,Poe=((e={},t={})=>(t.locale??J(),Noe(e))),Foe=()=>`HTML to PDF questions and safety limits`,Ioe=((e={},t={})=>(t.locale??J(),Foe(e))),Loe=()=>`Can HTML to PDF fetch a website URL?::No. This route accepts an uploaded HTML or HTM file. URL to PDF capture is not implemented. 765 766Can I save webpage as PDF from a live address?::Not here. Save and sanitize a standalone file first, or use a browser's print function for a page you control. 767 768Can the file load external images or CSS?::No. External and relative references are rejected; permitted assets must be embedded as data URLs. 769 770Does HTML to PDF run JavaScript?::No. Script elements and inline event handlers are rejected before Chromium conversion. 771 772Is HTML to PDF online free?::The page has no checkout, but deployment access and the configured Gotenberg service can vary. Remote approval is required. 773 774Can I upload a folder of assets?::No. The route accepts one file, renamed to index.html for the service. 775 776Will it look exactly like my browser tab?::Not guaranteed. Print pagination, unavailable resources, fonts, and Chromium settings can change the result.`,Roe=((e={},t={})=>(t.locale??J(),Loe(e))),zoe=()=>`HTML to PDF capability copy was verified on July 18, 2026 against the html-to-pdf registry, approval gate, standalone safety scanner, 50 MiB API, Gotenberg Chromium route, timeout and signature check. Claims explicitly exclude URL fetching and active content.`,Boe=((e={},t={})=>(t.locale??J(),zoe(e))),Voe=()=>`An approved uploaded HTML file passing through a secure configured Chromium service into a PDF while URL fetching is blocked`,Hoe=((e={},t={})=>(t.locale??J(),Voe(e))),Uoe=()=>`Upload one approved self-contained HTML file to the configured Chromium service after active and external resources are rejected.`,Woe=((e={},t={})=>(t.locale??J(),Uoe(e))),Goe=()=>`Run HTML to PDF after reviewing the upload`,Koe=((e={},t={})=>(t.locale??J(),Goe(e))),qoe=()=>`Scan to PDF from Existing Document Photos | TiPDF`,Joe=((e={},t={})=>(t.locale??J(),qoe(e))),Yoe=()=>`Scan to PDF from existing document photos with local grayscale and contrast processing. Combine up to 100 images, inspect every page, and download.`,Xoe=((e={},t={})=>(t.locale??J(),Yoe(e))),Zoe=()=>`Scan to PDF from Prepared Document Photos`,Qoe=((e={},t={})=>(t.locale??J(),Zoe(e))),$oe=()=>`Scan to PDF after you already have document photos or image files. This PDF scanner applies a consistent grayscale and contrast treatment locally, places each image on an A4 page and downloads one multi-page PDF.`,ese=((e={},t={})=>(t.locale??J(),$oe(e))),tse=()=>`Use Scan to PDF with up to 100 image files 777 778Apply grayscale and a fixed contrast increase 779 780Build the document entirely in browser memory`,nse=((e={},t={})=>(t.locale??J(),tse(e))),rse=()=>`What Scan to PDF does with existing photos`,ise=((e={},t={})=>(t.locale??J(),rse(e))),ase=()=>`When you scan to PDF here, TiPDF begins with images already on your device. It decodes each file, converts the canvas to grayscale, raises contrast by a fixed 1.12 factor, and encodes JPEG at quality 0.9. Each image is centered on an A4 PDF page with a 24-point margin. Some TIFF or GIF files can create multiple pages. 781 782Scan to PDF here resembles the finishing stage of a document scanner but does not control a camera. It cannot photograph a receipt, detect edges, remove a desk background, correct perspective, straighten a skewed sheet, or choose enhancement settings. Crop and rotate photos first when needed. This is not a full mobile scanning application. 783 784Scan to PDF output is image-based. The PDF scanner does not run OCR, so photographed words do not become searchable or selectable automatically. Run OCR PDF afterward when searchable text is needed and verify recognition. OCR can misread faint characters, handwriting, unusual fonts, and tables.`,ose=((e={},t={})=>(t.locale??J(),ase(e))),sse=()=>`Scan to PDF image support and safety limits`,cse=((e={},t={})=>(t.locale??J(),sse(e))),lse=()=>`Scan to PDF accepts JPG, PNG, BMP, GIF, HEIC, TIFF, and WebP files. Select 1â100 inputs, each up to 100 MiB. One decoded image may contain at most 80 million pixels, and a job at most 250 million. A compressed source can expand dramatically in browser memory. 785 786The Scan to PDF result is one .pdf. Every image or frame becomes an A4 portrait page of about 595 by 842 PDF points. Images scale down to fit but are not enlarged. Landscape content remains horizontal within the portrait sheet, so white space can appear. There are no paper-size, margin, quality, or orientation controls. 787 788Transparency is flattened on white before lossy JPEG encoding. The grayscale filter removes color. Animated formats or multi-frame TIFFs may yield more pages than selected filenames. Confirm the reported page count.`,use=((e={},t={})=>(t.locale??J(),lse(e))),dse=()=>`How to Scan to PDF from existing images`,fse=((e={},t={})=>(t.locale??J(),dse(e))),pse=()=>`1. Prepare Scan to PDF sources::Photograph or export each sheet first. Correct severe skew, perspective, and unwanted backgrounds elsewhere because this tool will not detect page boundaries. 789 7902. Select Scan to PDF images in order::Choose up to 100 supported files. The browser validates extension, signature, byte size, and decoded pixels. File order determines page order. 791 7923. Run Scan to PDF enhancement::TiPDF decodes each image, applies grayscale and fixed contrast, and creates a high-quality JPEG representation. Progress
792identifies the file being decoded. 793 7944. Build the Scan to PDF document::Each result is contained on an A4 page with preserved aspect ratio. No camera, server converter, storage upload, or AI service participates. 795 7965. Inspect the PDF scanner result::Examine small print, shadows, photographs, orientation, and page order. Compare page count with the inputs and keep original photos until acceptance.`,mse=((e={},t={})=>(t.locale??J(),pse(e))),hse=()=>`Practical Scan to PDF workflows`,gse=((e={},t={})=>(t.locale??J(),hse(e))),_se=()=>`Receipts already photographed::Use Scan to PDF for expense images in one reference packet. Verify merchant details and totals, and retain original color photos when color is evidence. 797 798Paper notes and handouts::Scan to PDF can turn prepared classroom images into one document. Handwriting remains image content unless OCR recognizes it. 799 800Legacy scans::Use Scan to PDF to normalize a mixed batch of JPG or TIFF exports. Multi-frame sources can expand into several pages, so inspect sequence boundaries. 801 802Application attachments::A phone scan to PDF workflow starts in the phone camera app, then uses saved images here. Confirm that the receiver permits image-based documents; this output is not a certified copy.`,vse=((e={},t={})=>(t.locale??J(),_se(e))),yse=()=>`Scan to PDF image quality and OCR boundaries`,bse=((e={},t={})=>(t.locale??J(),yse(e))),xse=()=>`Scan to PDF applies fixed grayscale and contrast, which can separate dark marks from a pale background but cannot recover absent detail. Motion blur, clipped highlights, shadows, and low resolution remain. JPEG quality 0.9 is lossy, and colored annotations or security marks may change or disappear. 803 804Every image is contained within portrait A4 without automatic crop or rotation. The PDF is not searchable by itself. To make a searchable scanned PDF, run OCR and compare recognized text with the visible page, especially for names, account numbers, and tables.`,Sse=((e={},t={})=>(t.locale??J(),xse(e))),Cse=()=>`Scan to PDF privacy and local processing`,wse=((e={},t={})=>(t.locale??J(),Cse(e))),Tse=()=>`The PDF scanner is registered as a local-heavy browser tool. Image decoding, enhancement, JPEG encoding and PDF assembly run in memory on the current device. The document workflow does not call conversion, storage, sharing or AI endpoints and does not request upload approval. The website may still load ordinary assets or analytics, so this claim applies to selected document bytes rather than the entire page being offline. 805 806Reloading clears the active job, but the source images and downloaded PDF remain on your device. TiPDF cannot delete local files, operating-system backups or copies you later share. Identification and financial documents should be handled on an appropriate device and reviewed before distribution.`,Ese=((e={},t={})=>(t.locale??J(),Tse(e))),Dse=()=>`Scan to PDF questions and scanner limits`,Ose=((e={},t={})=>(t.locale??J(),Dse(e))),kse=()=>`Can the document scanner to PDF workflow take a photo?::No. It accepts image files that already exist. Use your camera application first, then choose the saved images. 807 808Can I scan to PDF online free?::Yes. The local image workflow has no account or checkout requirement. File, pixel, and browser-memory limits still apply. 809 810Does it crop and straighten paper automatically?::No. There is no edge detection, background removal, or perspective correction. Prepare images before conversion. 811 812Will the PDF contain searchable text?::Not initially. The scanner builds image pages. Use OCR PDF separately and verify recognition. 813 814Why did one file create several pages?::GIF and TIFF sources can contain multiple frames. Each becomes a page and counts toward the pixel limit. 815 816Can I keep original colors?::Not with the PDF scanner handler, which applies grayscale. Use Image to PDF or a dedicated JPG/PNG route when color matters.`,Ase=((e={},t={})=>(t.locale??J(),kse(e))),jse=()=>`Scan to PDF copy was checked against the images-to-pdf registry, browser canvas handler, and limits on July 18, 2026. Tests cover image inputs and valid output; camera capture, automatic cropping, perspective correction, and OCR are excluded.`,Mse=((e={},t={})=>(t.locale??J(),jse(e))),Nse=()=>`Existing document photos enhanced with grayscale and contrast before multi-page PDF assembly`,Pse=((e={},t={})=>(t.locale??J(),Nse(e))),Fse=()=>`Apply a fixed document-style treatment to existing images and assemble them as one image-based PDF.`,Ise=((e={},t={})=>(t.locale??J(),Fse(e))),Lse=()=>`Scan to PDF from prepared document photos`,Rse=((e={},t={})=>(t.locale??J(),Lse(e))),zse=()=>`PDF to Word Online â Editable DOCX Text | TiPDF`,Bse=((e={},t={})=>(t.locale??J(),zse(e))),Vse=()=>`Use PDF to Word online to extract embedded text into an editable DOCX grouped by source page. Check layout and OCR limits, then download and verify it.`,Hse=((e={},t={})=>(t.locale??J(),Vse(e))),Use=()=>`PDF to Word for Editable, Page-Grouped Text`,Wse=((e={},t={})=>(t.locale??J(),Use(e))),Gse=()=>`Use PDF to Word when you need editable text from a digitally generated PDF. TiPDF extracts the embedded text locally, groups it by source page and creates a simple DOCX without claiming to reproduce the original layout.`,Kse=((e={},t={})=>(t.locale??J(),Gse(e))),qse=()=>`Runs PDF to Word extraction in browser memory 817 818Builds editable paragraphs grouped by source page 819 820States clearly when OCR or layout reconstruction is needed`,Jse=((e={},t={})=>(t.locale??J(),qse(e))),Yse=()=>`How this PDF to Word conversion is built`,Xse=((e={},t={})=>(t.locale??J(),Yse(e))),Zse=()=>`The PDF to Word converter reads the document with PDF.js and requests each page's text content. Text fragments are grouped into visual lines using their vertical coordinates, sorted from top to bottom, and ordered horizontally within a line. TiPDF then writes a DOCX with a heading for each source page, plain paragraphs for the extracted lines and a page break between page groups. 821 822This creates genuinely editable Word paragraphs, but it is a text-extraction workflow rather than visual reconstruction. A PDF stores drawing instructions, positioned glyphs, images and font resources; it does not necessarily contain the semantic paragraphs, columns or table cells that a Word file expects. Multi-column articles may read in an unexpected order, tables can become lines, headers may repeat, and footnotes can lose their relationship to the main text. 823 824Use this PDF to Word tool for drafting, quoting, accessibility remediation or recovering text when clean editing matters more than matching the page. If the goal is to preserve how a page looks, PDF to PPT renders each page as a slide image, while PDF Reader leaves the original unchanged. For scanned pages with no embedded text, run PDF OCR first and validate the recognition before creating a DOCX.`,Qse=((e={},t={})=>(t.locale??J(),Zse(e))),$se=()=>`PDF to Word input, DOCX output and limits`,ece=((e={},t={})=>(t.locale??J(),$se(e))),tce=()=>`PDF to Word accepts one genuine .pdf and produces one .docx. Local-heavy jobs allow files up to 100 MiB, and text extraction supports at most 500 PDF pages. Invalid signatures, damaged files and renamed non-PDF content are rejected. An encrypted document must be unlocked with authorization before text can be read. 825 826The PDF to Word output uses standard DOCX structures: one Heading 2 paragraph for each source page, followed by a paragraph for every non-empty extracted line. It does not embed page images, original fonts, coordinates, colors, links, comments, form fields or annotations. The added page headings were not present in the source. 827 828A scanned PDF may yield empty page groups because pixels are not embedded text. The PDF to Word converter does not silently run OCR. For scanned PDF to Word work, run OCR PDF first and verify every recognized character. Handwriting, photographs and protected text also require a different workflow.`,nce=((e={},t={})=>(t.locale??J(),tce(e))),rce=()=>`How to use PDF to Word for editable text`,ice=((e={},t={})=>(t.locale??J(),rce(e))),ace=()=>`1. Check the PDF to Word source::Open the PDF in a reader and try selecting a sentence. Selectable text is the best candidate; an image-only scan needs OCR first. 829 8302. Choose one source PDF::Select or drag the file into the workspace. The browser validates its name, signature, byte size, encryption state and page count before extraction. 831 8323. Run the PDF to Word converter::TiPDF reads text fragments page by page, assembles visual lines and builds a DOCX in browser memory. Progress
832identifies the page currently being read. 833 8344. Inspect the PDF to Word result::Open the Word copy and compare headings, paragraphs, reading order, punctuation and non-Latin characters with the PDF. Pay special attention to columns, tables, equations and repeated headers. 835 8365. Finish the PDF to Word rebuild::Apply Word styles, recreate tables and replace page-group headings only after validating the text. Keep the source as the visual reference; the DOCX is not an archival substitute.`,oce=((e={},t={})=>(t.locale??J(),ace(e))),sce=()=>`When PDF to Word extraction works well`,cce=((e={},t={})=>(t.locale??J(),sce(e))),lce=()=>`Revising a simple report::PDF to Word works well for paragraphs from a single-column, digitally generated report. Apply current Word styles, then compare all figures and legal wording before publishing. 837 838Quoting research::Use PDF to Word to create an editable working copy for notes and quotations. Page-group headings help trace a passage, but citations should reference the authoritative PDF. 839 840Accessibility remediation::Use extracted text as a starting point for headings, lists and readable order in a new accessible document. The converter does not infer those semantics for you. 841
842Content migration::Move uncomplicated text into a new template without manual retyping. A form, brochure or complex financial table should be rebuilt from its original source rather than forced through plain extraction.`,uce=((e={},t={})=>(t.locale??J(),lce(e))),dce=()=>`PDF to Word quality, reading order and OCR`,fce=((e={},t={})=>(t.locale??J(),dce(e))),pce=()=>`PDF to Word quality depends on the source text layer. Well-formed single-column PDFs tend to produce cleaner lines; positioned letters, overlapping text, vertical writing, unusual encodings and multiple columns can cause spacing or order errors. The DOCX uses ordinary paragraphs and does not preserve kerning, exact line wraps, backgrounds or typefaces. 843 844Images and page geometry are intentionally omitted. A blank result usually indicates an image-only scan. OCR PDF can create searchable text in English, Simplified Chinese or both, but recognized characters must be checked. No PDF to Word converter can infer missing words from an unreadable scan with certainty.`,mce=((e={},t={})=>(t.locale??J(),pce(e))),hce=()=>`PDF to Word privacy and local extraction`,gce=((e={},t={})=>(t.locale??J(),hce(e))),_ce=()=>`PDF reading, text extraction and DOCX packaging run in browser memory on the current device. The handler does not call server conversion, storage, sharing or AI routes and does not request upload approval. The site may still load its normal resources or analytics; the local claim applies specifically to the document workflow. 845 846Reloading clears the active conversion. The source PDF and downloaded Word file remain under the browser and operating system's control. TiPDF cannot erase local downloads, backups or files you later share, so handle confidential text on an appropriate device.`,vce=((e={},t={})=>(t.locale??J(),_ce(e))),yce=()=>`PDF to Word questions`,bce=((e={},t={})=>(t.locale??J(),yce(e))),xce=()=>`Will PDF to Word look exactly like the PDF?::No. It contains extracted text in page-grouped paragraphs, not a reconstructed visual layout. Tables, columns, images, fonts and precise positioning are not preserved. 847 848Does the PDF to Word converter use OCR?::No. It reads embedded text. Run OCR PDF first for a scan, then review the recognized content before further conversion. 849 850Why can PDF to Word reading order be wrong?::PDF glyphs are positioned visually and may not carry semantic order. The extractor sorts fragments by approximate coordinates, which cannot reliably reconstruct every column or table. 851 852Is PDF to Word online free?::Yes. The local text-extraction workflow requires no account or upload approval. You remain responsible for checking the DOCX against the source. 853 854Can I process a password-protected file?::Only after unlocking it with the correct password and permission. The tool does not bypass encryption. 855 856Is the DOCX editable?::Yes, extracted lines are standard Word paragraphs. Editing is straightforward, but restoring document structure and typography remains a manual task. This is a PDF to DOCX text recovery workflow, not visual reconstruction.`,Sce=((e={},t={})=>(t.locale??J(),xce(e))),Cce=()=>`PDF to Word capability copy was checked against the pdf-to-docx registry, PDF.js line extractor and DOCX builder on July 18, 2026. Automated tests confirm embedded text appears in a valid Word package; layout preservation and automatic OCR are explicitly excluded.`,wce=((e={},t={})=>(t.locale??J(),Cce(e))),Tce=()=>`PDF pages transformed into page-grouped editable text for a Word document`,Ece=((e={},t={})=>(t.locale??J(),Tce(e))),Dce=()=>`Extract embedded PDF text into a simple editable DOCX organized by source page.`,Oce=((e={},t={})=>(t.locale??J(),Dce(e))),kce=()=>`Convert PDF to Word and review the extracted text`,Ace=((e={},t={})=>(t.locale??J(),kce(e))),jce=()=>`Word to PDF Online â Convert DOCX Files | TiPDF`,Mce=((e={},t={})=>(t.locale??J(),jce(e))),Nce=()=>`Use Word to PDF online for one DOC or DOCX through the configured private renderer. Approve upload, compare the layout, and download a validated PDF.`,Pce=((e={},t={})=>(t.locale??J(),Nce(e))),Fce=()=>`Word to PDF for Reviewed DOC and DOCX Output`,Ice=((e={},t={})=>(t.locale??J(),Fce(e))),Lce=()=>`Use Word to PDF when a DOC or DOCX needs a stable delivery copy. TiPDF asks for explicit upload approval, sends one file to the configured Gotenberg service and validates that the response is a real PDF.`,Rce=((e={},t={})=>(t.locale??J(),Lce(e))),zce=()=>`Runs Word to PDF for one DOC or DOCX up to 50 MiB 857 858Requires approval before remote conversion 859 860Checks the returned file for a valid PDF signature`,Bce=((e={},t={})=>(t.locale??J(),zce(e))),Vce=()=>`How the Word to PDF conversion works`,Hce=((e={},t={})=>(t.locale??J(),Vce(e))),Uce=()=>`The Word to PDF converter uses a server-side office rendering service because a browser alone does not contain the complete Word layout and font engine. After you approve remote processing, TiPDF uploads the selected DOC or DOCX to its configured Gotenberg endpoint. Gotenberg routes the document through LibreOffice, returns rendered PDF bytes and identifies the request with a trace value. 861 862TiPDF accepts the response only when the service reports success and the downloaded bytes begin with a valid PDF signature. The output is named from a sanitized version of the source filename. A configurable timeout defaults to 120 seconds and is bounded between 10 and 300 seconds; a slow or unavailable service produces an error instead of an indefinite waiting state. If Gotenberg is not configured, the page cannot complete the conversion. 863 864This workflow aims to reproduce the office application's printable appearance, but it does not promise pixel-perfect identity with Microsoft Word. Font substitutions, unsupported fields, macros, external links, tracked changes, embedded objects and application-specific pagination can change. The Word to PDF converter creates a reviewable derivative; the DOC or DOCX remains the editable authority.`,Wce=((e={},t={})=>(t.locale??J(),Uce(e))),Gce=()=>
864`Word to PDF inputs, output and service limits`,Kce=((e={},t={})=>(t.locale??J(),Gce(e))),qce=()=>`Word to PDF accepts one .doc or .docx file. Because this is a server-tier job, the input limit is 50 MiB rather than the 100 MiB local-tool limit. Empty files and documents over the cap are rejected before upload. RTF, ODT, spreadsheets and presentations have separate tools. 865 866Word to PDF returns one .pdf without overwriting the source or saving an edited DOCX. The same DOCX to PDF and DOC to PDF renderer may reject protected, corrupted or legacy documents that LibreOffice cannot open. This page does not collect a document password or bypass protection. 867 868A successful HTTP response is insufficient: the server checks that at least five bytes were returned and that they start with %PDF-. This prevents an HTML error page from being mislabeled as a document. Visual inspection is still required.`,Jce=((e={},t={})=>(t.locale??J(),qce(e))),Yce=()=>`How to run Word to PDF safely`,Xce=((e={},t={})=>(t.locale??J(),Yce(e))),Zce=()=>`1. Prepare the Word to PDF source::Accept or reject tracked changes as appropriate, update fields and the table of contents, confirm page size and save the latest DOC or DOCX. Embed fonts only when licensing and the source application allow it. 869 8702. Choose one document::Select the file in the Word to PDF workspace. TiPDF validates the extension, signature, non-empty size and 50 MiB server limit before enabling processing. 871 8723. Approve Word to PDF upload::Read the remote-processing notice. Continue only if the document is suitable for the configured service and select the approval checkbox; without consent the request cannot be sent. 873 8744. Run the Word to PDF converter::TiPDF sends the file to Gotenberg/LibreOffice and validates the returned PDF signature. Timeout or service errors are shown rather than hidden. 875 8765. Review Word to PDF output::Open the PDF beside Word. Check page count, headings, line breaks, tables, images, hyperlinks, equations, headers, footers and fonts before distributing the copy.`,Qce=((e={},t={})=>(t.locale??J(),Zce(e))),$ce=()=>`When Word to PDF creates a useful delivery copy`,ele=((e={},t={})=>(t.locale??J(),$ce(e))),tle=()=>`Reports and proposals::Use Word to PDF to freeze a reviewed draft into a broadly viewable attachment. Keep the editable source and compare every page around tables, figures and manual breaks. 877 878Policies and handbooks::A Word to PDF release copy can record a dated version after fields and the table of contents are updated. Future revisions should begin from the controlled Word source. 879 880Resumes and letters::Reduce reflow differences between recipients, while checking whether custom fonts were substituted by the service. Never assume the first output preserves a carefully tuned one-page layout. 881 882Client submissions::Convert Word to PDF when a portal requests the format, then verify metadata and file size against the portal's requirements. TiPDF upload approval is separate from submitting the finished document elsewhere.`,nle=((e={},t={})=>(t.locale??J(),tle(e))),rle=()=>`Word to PDF layout, fonts and interactive content`,ile=((e={},t={})=>(t.locale??J(),rle(e))),ale=()=>`LibreOffice interprets Word document structures, but rendering engines differ. Missing fonts can change line breaks; floating images may move; tables can split; fields may display cached values; equations or embedded objects may be simplified. Macros are not a supported feature, and external resources may be unavailable. 883 884Review at 100% zoom and inspect page breaks. Test links and confirm whether comments or tracked changes should appear. A PDF is less convenient to edit, but Word to PDF conversion does not make content accurate, accessible or legally approved. Verify those qualities in the source and result.`,ole=((e={},t={})=>(t.locale??J(),ale(e))),sle=()=>`Word to PDF upload and privacy boundaries`,cle=((e={},t={})=>(t.locale??J(),sle(e))),lle=()=>`Word to PDF is not a local document operation. After approval, the file is uploaded to TiPDF and forwarded to the configured private Gotenberg service. The code does not establish a universal deletion schedule, storage location or operator policy, so this page makes no automatic-deletion promise. Deployment owners must govern their service. 885 886The PDF remains on your device, while the source stays where you selected it. TiPDF cannot delete local copies, backups or later shares. Do not approve remote processing for material your policy forbids sending to the configured environment.`,ule=((e={},t={})=>(t.locale??J(),lle(e))),dle=()=>`Word to PDF questions`,fle=((e={},t={})=>(t.locale??J(),dle(e))),ple=()=>`Why does Word to PDF upload my file?::Accurate office rendering needs the configured Gotenberg/LibreOffice service. TiPDF dis
886plays a remote-processing notice and requires approval before sending bytes. 887 888Will the PDF look exactly like Microsoft Word?::Not guaranteed. Rendering engines and installed fonts differ. Compare page breaks, tables, images, equations and headers before sharing. 889 890Is Word to PDF online free?::TiPDF does not place a checkout in this workflow, but a deployment must configure its document service and access policy. Remote approval is always required. 891 892What if the service is not configured?::The Word to PDF converter returns a clear configuration error. A valid Gotenberg HTTP or HTTPS endpoint is required. 893 894Can I convert a protected document?::Only if the service can legitimately open it. TiPDF does not collect a Word password on this page or bypass protection. 895 896Does conversion delete my DOCX?::No. The source remains on your device. The project code does not prove a universal server deletion policy, so deployment-specific retention must be reviewed separately.`,mle=((e={},t={})=>(t.locale??J(),ple(e))),hle=()=>`Word to PDF capability copy was checked against the registry, upload approval gate, server API and Gotenberg integration on July 18, 2026. Integration tests validate DOCX rendering when a service URL is available; exact Word fidelity and deletion claims are excluded.`,gle=((e={},t={})=>(t.locale??J(),hle(e))),_le=()=>`Word document moving through an approved conversion service into a PDF`,vle=((e={},t={})=>(t.locale??J(),_le(e))),yle=()=>`Send one approved Word file to the configured office renderer and verify the returned PDF.`,ble=((e={},t={})=>(t.locale??J(),yle(e))),xle=()=>`Convert Word to PDF and compare the layout`,Sle=((e={},t={})=>(t.locale??J(),xle(e))),Cle=()=>`PDF to Excel Online â Extract Text to XLSX | TiPDF`,wle=((e={},t={})=>(t.locale??J(),Cle(e))),Tle=()=>`Use PDF to Excel online to place embedded text lines in column A, with one worksheet per page. Review table and OCR limits, then verify the XLSX.`,Ele=((e={},t={})=>(t.locale??J(),Tle(e))),Dle=()=>`PDF to Excel for Page-Grouped Text Lines`,Ole=((e={},t={})=>(t.locale??J(),Dle(e))),kle=()=>`Use PDF to Excel when you want embedded text organized by source page in a workbook. TiPDF extracts visual lines locally, writes every line to column A and creates one worksheet for each PDF page.`,Ale=((e={},t={})=>(t.locale??J(),kle(e))),jle=()=>`Runs PDF to Excel without uploading the document 897 898Creates one worksheet per source page 899 900Places each detected text line in an editable cell`,Mle=((e={},t={})=>(t.locale??J(),jle(e))),Nle=()=>`What this PDF to Excel conversion creates`,Ple=((e={},t={})=>(t.locale??J(),Nle(e))),Fle=()=>`The PDF to Excel converter first uses PDF.js to read text fragments from every page. Fragments with nearby vertical coordinates are grouped into lines, sorted from top to bottom and ordered left to right. TiPDF then creates an XLSX workbook with worksheets named Page 1, Page 2 and so on. Every non-empty extracted line is written into a separate row in column A. 901 902This design preserves page grouping and makes text editable, but it does not reconstruct a visual table. A PDF may draw column values at coordinates without storing row, column, merged-cell or header relationships. The extractor cannot reliably decide whether spaces represent separate cells, paragraph indentation or a multi-column article. Consequently, a five-column statement may arrive as one text string per visual line rather than five Excel cells. 903 904Use this PDF to Excel workflow as a structured staging area for text cleanup, filtering and manual table reconstruction. It is not a promise to recover formulas, number formats, charts or original spreadsheet logic. If only prose editing is required, PDF to Word produces page-grouped paragraphs. If the source is a scan, OCR PDF must recognize text first, and any figures used for decisions must be checked against the page image.`,Ile=((e={},t={})=>(t.locale??J(),Fle(e))),Lle=()=>`PDF to Excel input, XLSX output, and workbook rules`,Rle=((e={},t={})=>(t.locale??J(),Lle(e))),zle=()=>`PDF to Excel accepts one genuine .pdf and returns one .xlsx. The browser job supports up to 100 MiB and 500 readable pages. Invalid signatures, corrupted content, and renamed non-PDF files are rejected. Protected documents must be unlocked legitimately before extraction. 905 906Each PDF to Excel source page gets a worksheet, including a page with no extracted lines. Non-empty visual lines become rows in column A. The converter does not assign data types, create formulas, freeze a header, infer dates, or split values across columns. 907 908Scanned pages can produce empty sheets because images contain no embedded glyphs. The PDF to Excel converter does not run OCR automatically. Multi-column layouts, rotated text, unusual encodings, and invisible accessibility layers can change reading order or duplicate content. Treat the workbook as evidence that requires validation.`,Ble=((e={},t={})=>(t.locale??J(),zle(e))),Vle=()=>`How to use PDF to Excel responsibly`,Hle=((e={},t={})=>(t.locale??J(),Vle(e))),Ule=()=>`1. Inspect the PDF to Excel source::Try selecting several values in a PDF reader. Digitally generated text is a stronger candidate; a photographed or scanned table needs OCR before conversion. 909 9102. Choose one PDF::Select or drag the document into the workspace. TiPDF validates the extension, signature, non-empty size, encryption state, and page count locally. 911 9123. Run the PDF to Excel converter::The browser extracts text page by page, assembles nearby fragments into lines, and creates an XLSX with one sheet per page. 913 9144. Compare the PDF to Excel result::Open the workbook beside its source. Check row order, decimal separators, minus signs, dates, account codes, footnotes, and visually similar characters. 915 9165. Finish PDF to Excel cleanup::Use Text to Columns, formulas, or deliberate editing only after identifying a dependable delimiter. Add headers and data types, preserve the PDF, and document transformations.`,Wle=((e={},t={})=>(t.locale??J(),Ule(e))),Gle=()=>`Where PDF to Excel provides a useful staging file`,Kle=((e={},t={})=>(t.locale??J(),Gle(e))),qle=()=>`Simple lists::PDF to Excel can move one-item-per-line lists into editable rows. Remove repeated headers and normalize entries only after checking the source. 917 918Invoice and statement review::A PDF table to Excel workflow may place an entire visual row in one cell. For invoices or bank statements, split stable delimiters manually and reconcile every total. 919 920Scanned records::Scanned PDF to Excel requires OCR before this converter. Verify account codes, leading zeros, decimal marks, and dates against the page image. 921 922Research coding::Use PDF to Excel for page-grouped text that needs categorization or annotation. The worksheet name preserves provenance, but quotations and numeric findings still need source verification.`,Jle=((e={},t={})=>(t.locale??J(),qle(e))),Yle=()=>`PDF to Excel table structure, numbers, and OCR`,Xle=((e={},t={})=>(t.locale??J(),Yle(e))),Zle=()=>
922`PDF to Excel preserves text strings, not table semantics. Borders, shaded cells, and alignment may contribute no extractable information. One line can contain several visual values, while wrapped text can create multiple rows. Currency symbols, superscripts, and minus signs may be separated or reordered. 923 924Excel can reinterpret strings as dates, scientific notation, or numbers after editing. Keep sensitive identifiers as text and compare totals. For scans, OCR may confuse 0 with O, 1 with l, or decimal points with dust. A searchable PDF helps the PDF to XLSX extraction but does not guarantee accurate financial data.`,Qle=((e={},t={})=>(t.locale??J(),Zle(e))),$le=()=>`PDF to Excel privacy and local workbook creation`,eue=((e={},t={})=>(t.locale??J(),$le(e))),tue=()=>`PDF reading, line extraction and XLSX packaging occur in browser memory on the current device. This handler does not call server conversion, storage, sharing or AI endpoints and does not request upload approval. Normal site assets may still use network connections; the local claim applies specifically to document bytes. 925 926Refreshing clears the active job. The source PDF and downloaded workbook remain under browser and operating-system control, and TiPDF cannot remove local files, backups or later shares. Extracted spreadsheets can make sensitive values easier to copy, so protect the result appropriately.`,nue=((e={},t={})=>(t.locale??J(),tue(e))),rue=()=>`PDF to Excel questions`,iue=((e={},t={})=>(t.locale??J(),rue(e))),aue=()=>`Will PDF to Excel rebuild table columns?::No. Every extracted visual line goes into column A. You must split and validate fields yourself. 927 928Does the PDF to Excel converter use OCR?::No. It reads embedded text. Run OCR PDF first for scans and verify every critical value. 929 930Why does PDF to Excel make one sheet per page?::Page grouping preserves a clear link to the source and avoids blending repeated headers or unrelated tables across pages. 931 932Are formulas and formatting preserved?::No. PDF pages do not expose the original spreadsheet formulas, cell types, or number formats. The XLSX contains extracted strings. 933 934Can it process a protected PDF?::Only after you unlock the file with the correct password and permission. This page does not bypass encryption.`,oue=((e={},t={})=>(t.locale??J(),aue(e))),sue=()=>`PDF to Excel capability copy was checked against the PDF.js line extractor and ExcelJS workbook builder on July 18, 2026. Tests verify a valid XLSX containing source text; table reconstruction, formulas, and automatic OCR are excluded.`,cue=((e={},t={})=>(t.locale??J(),sue(e))),lue=()=>`PDF text lines flowing into the first column of a spreadsheet`,uue=((e={},t={})=>(t.locale??J(),lue(e))),due=()=>`Extract embedded PDF text into column A of one worksheet per source page.`,fue=((e={},t={})=>(t.locale??J(),due(e))),pue=()=>`Convert PDF to Excel and validate every line`,mue=((e={},t={})=>(t.locale??J(),pue(e))),hue=()=>`Sign PDF Online â Add a Typed Signature | TiPDF`,gue=((e={},t={})=>(t.locale??J(),hue(e))),_ue=()=>`Sign PDF online with a typed name and signature line on one chosen page. Process locally, inspect the fixed placement, and understand certificate limits.`,vue=((e={},t={})=>(t.locale??J(),_ue(e))),yue=()=>`Sign PDF Online with a Typed Visual Signature`,bue=((e={},t={})=>(t.locale??J(),yue(e))),xue=()=>`Sign PDF files by typing the name you want shown on one chosen page. TiPDF writes an italic visual signature and line near the lower-right corner locally, then downloads a separate copy.`,Sue=((e={},t={})=>(t.locale??J(),xue(e))),Cue=()=>`Use Sign PDF on one selected page 935 936Keep signature processing in browser memory 937 938Clearly distinguish visual and certificate signatures`,wue=((e={},t={})=>(t.locale??J(),Cue(e))),Tue=()=>`What Sign PDF adds to the selected page`,Eue=((e={},t={})=>(t.locale??J(),Tue(e))),Due=()=>`When you sign PDF pages here, the PDF signer takes the entered name, embeds the standard Times Roman Italic font and draws the text near the lower-right of the selected page in dark blue. It adds a thin horizontal line beneath the name to create a familiar signature-block appearance. The font size adapts between 18 and 36 points according to name length, and the position accounts for the measured text width. 939 940This is a visible mark, not a cryptographic digital signature. It does not use a signing certificate, private key, timestamp authority, identity check or tamper-evident signature field. A viewer will see the typed name, but cannot use that mark alone to verify who placed it or whether the PDF changed later. The output metadata deliberately identifies the signature type as visual. 941 942Use Sign PDF only when a typed visual acknowledgment fits the receiving workflow. Contracts, regulated submissions and documents requiring verified identity may need a certificate-backed signing platform or a qualified electronic-signature process. PDF Form Filler is more suitable for populating existing AcroForm fields; it can be followed by this tool only if a separate typed mark is acceptable.`,Oue=((e={},t={})=>(t.locale??J(),Due(e))),kue=()=>`Sign PDF input, page choice, and placement limits`,Aue=((e={},t={})=>(t.locale??J(),kue(e))),jue=()=>`To sign PDF content, select one genuine .pdf up to 100 MiB and no more than 500 readable pages. The page must be a whole number within the document. TiPDF rejects an empty name, invalid page, damaged content, renamed non-PDF, or encrypted file it cannot open. 943 944Sign PDF places the mark on exactly one page. Its baseline sits 54 PDF points above the bottom, with a line at 48 points and a right margin of 42â48 points. The PDF signer does not offer drag positioning, multiple signatures, initials, date fields, images, handwritten drawing, colors, or font choices. 945 946Times Roman Italic has limited character coverage. Some names outside its encoding may fail or render incorrectly. The tool does not embed a general Unicode signature font. Test the exact name and inspect the downloaded page.`,Mue=((e={},t={})=>(t.locale??J(),jue(e))),Nue=()=>`How to Sign PDF with a typed name`,Pue=((e={},t={})=>(t.locale??J(),Nue(e))),Fue=()=>`1. Confirm the Sign PDF requirement::Ask whether a visible typed name is accepted. Stop if the recipient requires identity verification, a certificate, audit trail, or protected digital signature. 947 9482. Choose one PDF::Select or drag the document into the workspace. TiPDF validates its signature, size, encryption state, and page count in the browser. 949 9503. Add signature to PDF input::Type the exact name and choose one page. The input uses the PDF viewer index, which may differ from a printed number inside a scan. 951 9524. Run Sign PDF::TiPDF embeds the italic font, calculates a fitting size, and writes the name with its line near the lower-right. The source stays unchanged. 953 9545. Inspect the Sign PDF result::Check spelling, character rendering, page selection, overlap, and visibility. Preserve the source and follow external signing or recordkeeping requirements.`,Iue=((e={},t={})=>(t.locale??J(),Fue(e))),Lue=()=>
954`When Sign PDF is appropriate`,Rue=((e={},t={})=>(t.locale??J(),Lue(e))),zue=()=>`Internal acknowledgments::Sign PDF copies with a typed approval name on a low-risk internal page when policy permits a visible mark. Keep the related approval record separately. 955 956Prepared signature blocks::Use Sign PDF when the lower-right of the page has a compatible blank area. The fixed position can overlap existing text, so inspect templates individually. 957 958Draft review copies::A Sign PDF mark can label a non-final copy without implying certificate validation. Use clear version naming so the visual signature is not mistaken for final execution. 959 960Simple forms::For a fill and sign PDF workflow, populate existing fields with PDF Form Filler first. Add the typed name only when the organization accepts this presentation; flattening does not make it a digital signature.`,Bue=((e={},t={})=>(t.locale??J(),zue(e))),Vue=()=>`Sign PDF appearance and validity boundaries`,Hue=((e={},t={})=>(t.locale??J(),Vue(e))),Uue=()=>`When you sign PDF pages, the handler writes vector text and a vector line directly onto the page, so it does not rasterize or recompress existing images. Visual sharpness should remain stable at zoom. Placement is fixed relative to the page's lower-right and cannot understand an existing signature box, crop marks or rotated design; pages with dense footers need careful review. 961 962Changing PDF content can invalidate a certificate signature that already exists on the source. Adding a typed name after another party cryptographically signed the file may break verification even when the new mark looks correct. Preserve signed originals and use a signing system designed for sequential digital signatures when certificate validity is required.`,Wue=((e={},t={})=>(t.locale??J(),Uue(e))),Gue=()=>`Sign PDF privacy and local processing`,Kue=((e={},t={})=>(t.locale??J(),Gue(e))),que=()=>`When you sign PDF files, the document and typed name are processed in browser memory on the current device. The Sign PDF handler does not call server conversion, storage, sharing or AI routes and does not request upload approval. Normal site resources may still use network connections; local processing refers to the document bytes. 963 964Refreshing clears the active job, but the source and downloaded copy remain on the device. TiPDF does not store an identity credential for the typed name and cannot delete local files, backups or later shares. That absence of identity infrastructure is also why the result must not be described as verified.`,Jue=((e={},t={})=>(t.locale??J(),que(e))),Yue=()=>`Sign PDF questions and signature limits`,Xue=((e={},t={})=>(t.locale??J(),Yue(e))),Zue=()=>`Is Sign PDF a digital signature?::No. It is typed italic text with a line. There is no certificate, private key, timestamp, or identity verification. 965 966Can I sign PDF online free?::Yes, this local typed-signature flow has no checkout or account requirement. It still creates only a visual mark, so confirm that the recipient accepts it. 967 968Can I draw or upload my handwritten signature?::Not in the current tool. It accepts typed text only. 969 970Can I choose the position?::No. The mark is placed near the lower-right of one selected page. Review for overlap before sharing. 971
972Can I sign several pages at once?::No. One run targets one page. Reprocessing a copy changes it again and may not match the recipient's workflow. 973 974What happens to an existing certificate signature?::Any content modification can invalidate it. Do not alter a cryptographically signed source unless the signing process permits the change.`,Que=((e={},t={})=>(t.locale??J(),Zue(e))),$ue=()=>`Sign PDF capability copy was checked against the registry and PDF page writer on July 18, 2026. Tests verify local valid output and visual-signature metadata; drawing, image signatures, identity checks and certificate signing are deliberately excluded.`,ede=((e={},t={})=>(t.locale??J(),$ue(e))),tde=()=>`Typed signature text being placed in the lower-right corner of a PDF page`,nde=((e={},t={})=>(t.locale??J(),tde(e))),rde=()=>`Place a typed visual name and signature line near the lower-right of one PDF page.`,ide=((e={},t={})=>(t.locale??J(),rde(e))),ade=()=>`Sign PDF with a typed mark and inspect the page`,ode=((e={},t={})=>(t.locale??J(),ade(e))),sde=()=>`PDF Filler Online â Complete Existing Forms | TiPDF`,cde=((e={},t={})=>(t.locale??J(),sde(e))),lde=()=>`Use the PDF filler for existing text, checkbox, radio, dropdown, and list fields. Map exact names, optionally flatten values, and verify the form.`,ude=((e={},t={})=>(t.locale??J(),lde(e))),dde=()=>`PDF Filler for Existing AcroForm Fields`,fde=((e={},t={})=>(t.locale??J(),dde(e))),pde=()=>`Use this PDF filler when a document already contains interactive AcroForm fields. Map exact field names to values in JSON, optionally flatten the completed controls and download a separate filled PDF.`,mde=((e={},t={})=>(t.locale??J(),pde(e))),hde=()=>`Use the PDF filler with five AcroForm control types 975 976Validate every supplied field name before saving 977 978Preserve interactivity or flatten completed fields`,gde=((e={},t={})=>(t.locale??J(),hde(e))),_de=()=>`What the PDF filler can populate`,vde=((e={},t={})=>(t.locale??J(),_de(e))),yde=()=>`The PDF filler opens the document's AcroForm and maps every existing field name to its control object. Your JSON supplies matching name-value pairs. Text fields receive strings; checkboxes follow truthiness; radio groups, dropdowns, and option lists select the provided string. Unknown names stop the operation with a specific error. 979 980The tool does not discover blank lines or create fields on a flat page. A document that looks like a form may contain no AcroForm controls. TiPDF does not guess labels, inspect nearby text, or expose a graphical field browser. You need exact internal names and valid options from the author. Unsupported controls return an error. 981 982After the PDF filler applies values, fields can remain interactive or be flattened. Flattening makes current appearances permanent page content and removes normal field editing. It can improve presentation stability but makes corrections harder and does not create a digital signature. Keep an unflattened copy until every value is checked.`,bde=((e={},t={})=>(t.locale??J(),yde(e))),xde=()=>`PDF filler input, JSON values, and supported controls`,Sde=((e={},t={})=>(t.locale??J(),xde(e))),Cde=e=>`The PDF filler accepts one genuine .pdf within 100 MiB and 500 readable pages. Values must be a JSON object, such as ${e?.[`"full_name":"A. Chen","accepted":true`]}. Arrays and malformed JSON are rejected. Unlock encrypted files with authorization first. 983 984PDF filler controls include text fields, checkboxes, radio groups, dropdowns, and option lists. Text values become strings. Checkbox behavior follows JavaScript truthiness, so use the booleans true and false rather than the non-empty string "false". Choice values must match an option inside the PDF. 985 986The PDF filler creates one new .pdf and reports the applied key count and flattening state. Omitted fields retain their value. A missing key, unsupported control, or invalid choice can stop the job; correct the mapping instead of assuming partial completion.`,wde=((e,t={})=>(t.locale??J(),Cde(e))),Tde=()=>`How to use the PDF filler with named values`,Ede=((e={},t={})=>(t.locale??J(),Tde(e))),Dde=()=>`1. Confirm the PDF filler can see fields::Open the file in a reader and click its controls. A printed line or scanned box is not enough; the document must contain AcroForm fields. 987 9882. Obtain exact field names::Use documentation from the form author or a PDF form inspector. Names can differ from visible labels and are case-sensitive. Record valid radio, dropdown, and list options. 989 9903. Build PDF filler JSON::Put each internal name in quotes and assign a string, number, or boolean. Validate commas, braces, and quotes before pasting the object. 991 9924. Choose PDF filler flattening deliberately::Leave it off when recipients must edit controls. Turn it on only for a final presentation copy after every value is verified. 993 9945. Process and inspect the PDF filler result::TiPDF fills fields locally and downloads a new file. Reopen it in a second viewer, check every value and control state, and retain an unflattened working copy.`,Ode=((e={},t={})=>(t.locale??J(),Dde(e))),kde=()=>`Practical PDF filler workflows`,Ade=((e={},t={})=>(t.locale??J(),kde(e))),jde=()=>`Repeatable applications::Prepare a reviewed JSON map for a stable form version and let the PDF filler reduce repetitive typing. Revalidate names whenever the issuer publishes a new PDF. 995 996Internal templates::Use the PDF filler to populate known text and choice controls from approved records. Do not copy sensitive values unless downstream handling is appropriate. 997
998Final presentation copies::Flatten verified fields when a receiving viewer handles interactive forms poorly. This preserves appearance, not legal authenticity or identity. 999 1000Testing form design::Use controlled values to confirm that names and options behave as expected. The PDF filler can reveal unsupported controls, but it is not form-authoring or accessibility software.`,Mde=((e={},t={})=>(t.locale??J(),jde(e))),Nde=()=>`Field appearance, flattening and signature boundaries`,Pde=((e={},t={})=>(t.locale??J(),Nde(e))),Fde=()=>`PDF filler appearance depends on how the form author configured widgets, fonts, sizes and update appearances. A long string may clip inside a short field; a selected value can be valid but visually cramped. TiPDF sets values without redesigning controls or automatically shrinking every font. Review the result in more than one viewer when the destination environment is known. 1001 1002Flattening makes field appearances part of page content. It can prevent casual editing and reduce viewer differences, but it is not encryption, redaction or certificate signing. Hidden values, metadata or unrelated interactive features require separate review. Use Sign PDF only for an accepted typed visual mark; it also is not certificate-backed.`,Ide=((e={},t={})=>(t.locale??J(),Fde(e))),Lde=()=>`PDF filler privacy and sensitive values`,Rde=((e={},t={})=>(t.locale??J(),Lde(e))),zde=()=>`The PDF filler processes the document and JSON values in browser memory on the current device. This handler does not call conversion, storage, sharing or AI endpoints and does not request upload approval. Normal site resources may still use the network; local processing refers to the selected document and values. 1003 1004Refreshing clears the active job, but pasted values may remain in browser or operating-system clipboard history, and downloaded files remain on the device. TiPDF cannot delete local copies, backups or later shares. Treat completed forms as sensitive whenever they contain personal, financial or health information.`,Bde=((e={},t={})=>(t.locale??J(),zde(e))),Vde=()=>`PDF Filler Free Online Questions and Limits`,Hde=((e={},t={})=>(t.locale??J(),Vde(e))),Ude=()=>`Can the PDF form filler create fields on a flat PDF?::No. It fills existing AcroForm controls only. A scanned or printed-looking form without interactive fields needs form-authoring software. 1005 1006How do I know the internal field names?::Use information from the form author or a PDF inspector. Visible labels are not guaranteed to match internal names. 1007 1008Can I fill PDF online without uploading it?::Yes. This local form-filling workflow has no checkout or account requirement. You still need a compatible AcroForm and exact internal field names. 1009 1010What does flattening do?::It makes current field appearances permanent page content and removes normal field editing. Keep an editable copy before flattening. 1011 1012Can this fill and sign PDF documents?::It fills supported controls. Certificate signing is not provided; the separate Sign PDF tool adds only a typed visual mark. 1013 1014How do I complete PDF form validation?::Reopen the result in another viewer and compare every field with the source data before submission. 1015 1016Why did a checkbox turn on for "false"?::A non-empty JSON string is truthy. Use the boolean false without quotation marks to clear a checkbox.`,Wde=((e={},t={})=>(t.locale??J(),Ude(e))),Gde=()=>`PDF filler capability copy was checked against the AcroForm handler on July 18, 2026. Tests cover valid local PDF output; supported controls, exact-name validation and optional flattening are documented without claiming field creation or certificate signing. The PDF filler does not infer missing controls.`,Kde=((e={},t={})=>(t.locale??J(),Gde(e))),qde=()=>`Existing PDF text, checkbox, radio and dropdown fields being filled and flattened`,Jde=((e={},t={})=>(t.locale??J(),qde(e))),Yde=()=>`Populate existing AcroForm controls from exact field names, then optionally flatten their appearances.`,Xde=((e={},t={})=>(t.locale??J(),Yde(e))),Zde=()=>`Use the PDF filler with verified field names`,Qde=((e={},t={})=>(t.locale??J(),Zde(e))),$de=()=>
1016`OCR PDF Online â Create Searchable Text | TiPDF`,efe=((e={},t={})=>(t.locale??J(),$de(e))),tfe=()=>`OCR PDF pages or supported images locally in English, Simplified Chinese, or both. Download a searchable PDF and page-grouped text, then verify it.`,nfe=((e={},t={})=>(t.locale??J(),tfe(e))),rfe=()=>`OCR PDF Scans into Searchable Pages and Text`,ife=((e={},t={})=>(t.locale??J(),rfe(e))),afe=()=>`OCR PDF scans or supported document images when their words are trapped in pixels. TiPDF runs Tesseract in a browser worker, then provides both a searchable PDF and page-grouped TXT output.`,ofe=((e={},t={})=>(t.locale??J(),afe(e))),sfe=()=>`Use OCR PDF with English, Simplified Chinese, or both 1017 1018Run OCR PDF on up to 50 rendered pages 1019 1020Receive searchable PDF and plain-text downloads`,cfe=((e={},t={})=>(t.locale??J(),sfe(e))),lfe=()=>`How local OCR PDF recognition works`,ufe=((e={},t={})=>(t.locale??J(),lfe(e))),dfe=()=>`When the input is a PDF, TiPDF first renders every page as a high-resolution image. Image inputs are used directly. The OCR PDF handler then loads Tesseract.js with the selected language model and LSTM-only recognition engine. Each page is recognized separately, producing extracted text and a Tesseract PDF layer that retains the page image with searchable text coordinates. 1021 1022TiPDF combines the per-page OCR PDFs into one searchable PDF. It also creates a UTF-8 text file with visible Page markers between recognition results. The two outputs serve different purposes: the PDF keeps a visual page reference and enables search or selection where recognition succeeds; TXT makes the words easier to inspect, copy and process, but does not preserve layout. 1023 1024This is optical character recognition, not semantic document reconstruction. The engine does not recreate Word styles, spreadsheet cells, reading order tags or accessible form controls. A searchable PDF can still contain incorrect words, and its hidden text may not match the page perfectly. The visible image remains the evidence to check.`,ffe=((e={},t={})=>(t.locale??J(),dfe(e))),pfe=()=>`OCR PDF inputs, languages, and page limits`,mfe=((e={},t={})=>(t.locale??J(),pfe(e))),hfe=()=>`OCR PDF accepts one PDF or supported JPG, PNG, BMP, GIF, HEIC, TIFF, or WebP input. Local files can be up to 100 MiB, while decoded images use shared pixel limits. PDF pages render at high resolution. More than 50 pages or frames stops with a limit error. 1025 1026OCR PDF language choices are English (eng), Simplified Chinese (chi_sim), or both (eng+chi_sim). A mixed model loads more data and can take longer. The interface does not offer Traditional Chinese, handwriting models, custom dictionaries, orientation controls, or arbitrary Tesseract languages. 1027 1028An OCR PDF result must contain at least one searchable page. If Tesseract creates no PDF data, TiPDF reports an error instead of returning an empty document. Cancellation terminates the worker. Multi-frame images can create several recognition inputs, so check page count first.`,gfe=((e={},t={})=>(t.locale??J(),hfe(e))),_fe=()=>`How to OCR PDF scans and verify the text`,vfe=((e={},t={})=>(t.locale??J(),_fe(e))),yfe=()=>`1. Prepare an OCR PDF source::Use a straight, well-lit scan with adequate resolution. Crop irrelevant backgrounds and correct severe rotation; recognition cannot restore clipped or blurred characters. 1029 10302. Choose the PDF or image::Select one supported file. TiPDF validates size and format locally, then renders PDF pages or prepares image frames. Jobs are limited to 50 recognition pages. 1031 10323. Select the OCR PDF language::Choose English, Simplified Chinese, or both based on the actual page. The wrong model can turn valid characters into plausible but incorrect output. 1033 10344. Run OCR PDF processing::The browser loads Tesseract language data, recognizes each page, and combines the searchable page PDFs. Progress reports model preparation and current page. 1035 10365. Verify the OCR PDF outputs::Search for several names and numbers, then compare TXT with the visible page. Correct critical information downstream and preserve the scan as the authoritative source.`,bfe=((e={},t={})=>(t.locale??J(),yfe(e))),xfe=()=>`Useful OCR PDF workflows`,Sfe=((e={},t={})=>(t.locale??J(),xfe(e))),Cfe=()=>`Searchable archives::Use OCR PDF to add a text layer to scanned reports. Recognition improves discovery but does not meet every archival or accessibility standard. 1037 1038Quote preparation::Extract text from scanned PDF pages into TXT, then compare quotations, dates, and names character by character. Never cite unreviewed OCR as authoritative. 1039 1040Chinese and English packets::Run OCR PDF with the combined model for genuinely bilingual pages. A page dominated by one language may be more accurate with its dedicated model. 1041 1042Downstream conversion::Use OCR PDF before PDF to Word or PDF to Excel when a scan has no embedded text. The later converter still cannot reconstruct complex layout or guarantee numeric accuracy.`,wfe=((e={},t={})=>(t.locale??J(),Cfe(e))),Tfe=()=>`OCR PDF accuracy and searchable-text boundaries`,Efe=((e={},t={})=>(t.locale??J(),Tfe(e))),Dfe=()=>`Accuracy depends on resolution, focus, contrast, language, orientation, typography and page complexity. Faint fax text, handwriting, stamps, curved pages, dense tables and decorative fonts are difficult. Common errors include O versus 0, l versus 1, punctuation loss, merged columns and incorrect Chinese characters. Confidence is not a substitute for review. 1043 1044The searchable PDF is assembled from Tesseract's page PDFs, while the text file records page-separated recognition. The tool does not correct spelling, infer missing content or compare totals. Search may fail for a misrecognized
1044word even though the image looks readable. For legal, medical or financial use, validate every material field against the scan.`,Ofe=((e={},t={})=>(t.locale??J(),Dfe(e))),kfe=()=>`OCR PDF privacy and model downloads`,Afe=((e={},t={})=>(t.locale??J(),kfe(e))),jfe=()=>`Document rendering and recognition run on the current device through browser code and a Tesseract worker. The handler does not send the selected document to conversion, storage, sharing or AI endpoints and does not request upload approval. Tesseract language data and normal site resources may still be fetched over the network, so local processing does not mean the whole page works offline. 1045 1046Reloading clears the active job; downloaded searchable PDF and TXT files remain on the device. TiPDF cannot delete local files, clipboard copies, backups or later shares. Plain text can expose sensitive content more directly than a scan, so protect both outputs.`,Mfe=((e={},t={})=>(t.locale??J(),jfe(e))),Nfe=()=>`OCR PDF questions and recognition limits`,Pfe=((e={},t={})=>(t.locale??J(),Nfe(e))),Ffe=()=>`Does OCR PDF change the visible page?::The searchable output keeps a rendered page image and adds recognized text data. It is a derivative, not the original PDF object structure. 1047 1048Can OCR PDF recognize a 200-page scan?::Not in one job. The current limit is 50 rendered pages or image frames. Split a permitted source into reviewed batches. 1049 1050How does PDF OCR online work here?::The selected document stays in browser processing, while Tesseract language data can download over the network. That makes free online OCR available without sending the document to an AI endpoint, though model assets still load. 1051 1052Which languages are supported?::English, Simplified Chinese, and a combined option. Other languages are not exposed by this page. 1053 1054Will OCR PDF output be perfectly accurate?::No. Scan quality and layout affect recognition. Check names, numbers, tables, and quotations against the page. 1055 1056Can I convert OCR PDF to Word?::Yes as a separate next step, but PDF to Word extracts simple paragraphs and does not recreate the scan's layout.`,Ife=((e={},t={})=>(t.locale??J(),Ffe(e))),Lfe=()=>`OCR PDF capability copy was checked against the Tesseract worker, high-resolution renderer and 50-page limit on July 18, 2026. The implementation produces a PDF with recognized text plus a TXT artifact; accuracy, layout reconstruction and unsupported languages are not promised.`,Rfe=((e={},t={})=>(t.locale??J(),Lfe(e))),zfe=()=>`Scanned PDF recognized into a searchable PDF structure and plain text lines`,Bfe=((e={},t={})=>(t.locale??J(),zfe(e))),Vfe=()=>`Recognize English or Simplified Chinese locally and download searchable PDF plus plain text.`,Hfe=((e={},t={})=>(t.locale??J(),Vfe(e))),Ufe=()=>`OCR PDF pages and verify the recognized text`,Wfe=((e={},t={})=>(t.locale??J(),Ufe(e))),Gfe=()=>`PDF Converter Online â Supported File Routes | TiPDF`,Kfe=((e={},t={})=>(t.locale??J(),Gfe(e))),qfe=()=>`Use the PDF converter for supported PDF, image, and Office inputs. Compare local and approved remote routes, then verify the format-specific output.`,Jfe=((e={},t={})=>(t.locale??J(),qfe(e))),Yfe=()=>`PDF Converter for Documents, Images, and PDF Text`,Xfe=((e={},t={})=>(t.locale??J(),Yfe(e))),Zfe=()=>`This PDF converter chooses a real workflow from the selected format: PDF text becomes DOCX locally, images become PDF pages locally, and supported Office files use an approved Gotenberg service.`,Qfe=((e={},t={})=>(t.locale??J(),Zfe(e))),$fe=()=>`Routes each PDF converter input to a defined handler 1057 1058Explains PDF converter privacy by file type 1059 1060Validates every produced PDF or editable document`,epe=((e={},t={})=>(t.locale??J(),$fe(e))),tpe=()=>`Three distinct PDF converter paths`,npe=((e={},t={})=>(t.locale??J(),tpe(e))),rpe=()=>`The PDF converter is a format router rather than one universal transformation engine. When the input is PDF, TiPDF extracts embedded text with PDF.js and creates a simple page-grouped DOCX. When the input is a supported image, browser code decodes it and places it on an A4 PDF page. When the input is DOC, DOCX, XLS, XLSX, PPT or PPTX, the file is uploaded after approval to the configured Gotenberg/LibreOffice service and rendered as PDF. 1061 1062Those paths have different fidelity and privacy properties. PDF-to-DOCX is editable text extraction without visual layout reconstruction or OCR. Image conversion preserves the visible picture but flattens transparency on white, uses JPEG for embedding and does not create searchable text. Office rendering can preserve printable structure more effectively, yet fonts, page breaks and application-specific features can differ from the source application. 1063 1064A responsible PDF converter must state which path ran. The result summary and extension identify the output, while server conversions also record that an upload and Gotenberg service were used. TiPDF does not claim that every format converts in both directions or that one setting preserves every feature.`,ipe=((e={},t={})=>(t.locale??J(),rpe(e))),ape=()=>`PDF converter routes, outputs, and limits`,ope=((e={},t={})=>(t.locale??J(),ape(e))),spe=()=>`The PDF converter accepts one file. PDF produces DOCX. JPG, PNG, BMP, GIF, HEIC, TIFF, and WebP produce PDF. DOC, DOCX, XLS, XLSX, PPT, and PPT
1064X produce PDF through the configured service. URLs, ZIP, RTF, OpenDocument files, and ebooks use separate workflows. 1065 1066Because the PDF converter includes a server branch, the workspace applies the 50 MiB server-tier limit and displays approval before processing. Office files upload; PDF and image branches execute locally after the shared gate. This distinction follows the selected handler, not a blanket privacy claim. 1067 1068To use this file to PDF converter with Office input, Gotenberg needs an HTTP or HTTPS address. A timeout, unsupported source, or invalid response produces an error, and server output must start with a PDF signature. Local branches use their page or pixel limits.`,cpe=((e={},t={})=>(t.locale??J(),spe(e))),lpe=()=>`How to choose a PDF converter route`,upe=((e={},t={})=>(t.locale??J(),lpe(e))),dpe=()=>`1. Identify the desired output::Use PDF only when page-grouped editable text in DOCX is useful. Choose an image or Office source when the goal is PDF. For other directions, open the dedicated tool page. 1069 10702. Select one PDF converter input::TiPDF checks extension, content signature, non-empty size, and the 50 MiB route limit. A renamed or malformed file is rejected rather than sent to the wrong handler. 1071 10723. Read the processing notice::The mixed PDF converter displays remote approval because Office formats can upload. Approve only when the file may be processed under the deployment's service policy. 1073 10744. Run the PDF converter route::PDF text and images are processed in browser code; Office documents are posted to the configured Gotenberg service. Progress and errors reflect the chosen path. 1075 10765. Verify the PDF converter output::Check extension, page count, reading order, image quality, fonts, tables, and page breaks as applicable. Keep the source because every result has path-specific limitations.`,fpe=((e={},t={})=>(t.locale??J(),dpe(e))),ppe=()=>`Choosing the right PDF converter path`,mpe=((e={},t={})=>(t.locale??J(),ppe(e))),hpe=()=>`Recovering simple PDF text::Use the PDF converter to create an editable DOCX draft from a digital PDF, then rebuild styles and tables manually. Run OCR first for an image-only scan. 1077 1078Packaging a photograph::Convert to PDF from a supported image for a consistent A4 delivery page. Use a dedicated image converter for multiple files or format-specific guidance. 1079 1080Publishing an Office copy::The PDF converter can render a reviewed Word, Excel, or PowerPoint file through the approved service. Compare fonts, orientation, formulas displayed, and pagination. 1081 1082Making a simple PDF::A supported source can become a practical PDF maker input, but successful conversion is not proof of semantic accuracy. Open the source and result side by side.`,gpe=((e={},t={})=>(t.locale??J(),hpe(e))),_pe=()=>`PDF converter quality depends on the route`,vpe=((e={},t={})=>(t.locale??J(),_pe(e))),ype=()=>`PDF-to-DOCX retains extracted strings but omits images, exact coordinates, fonts and table semantics. Image-to-PDF keeps the visual image within portrait A4, scales it down when needed and embeds a quality-0.9 JPEG, so transparency and some fine detail can change. Office-to-PDF quality depends on LibreOffice support and installed fonts. 1083 1084No PDF converter can recover source features that are absent or inaccessible. A scanned PDF has no embedded words until OCR; a flattened spreadsheet PDF has no formulas; an Office document referencing an unavailable font may reflow. Validate the output for its intended use rather than relying on the extension alone.`,bpe=((e={},t={})=>(t.locale??J(),ype(e))),xpe=()=>`PDF converter privacy by processing branch`,Spe=((e={},t={})=>(t.locale??J(),xpe(e))),Cpe=()=>`The PDF and image handlers run in browser memory. The Office handler uploads the approved file to the TiPDF server and configured private Gotenberg service. The shared workspace asks for remote-processing approval because it supports that branch, even when a selected PDF or image later uses local code. 1085 1086The project does not prove a universal server deletion schedule or storage policy, so no automatic-deletion claim is made. Downloaded results and sources remain on your device. Do not approve an Office upload when policy forbids sending that document to the configured environment.`,wpe=((e={},t={})=>(t.locale??J(),Cpe(e))),Tpe=()=>`PDF converter questions`,Epe=((e={},t={})=>(t.locale??J(),Tpe(e))),Dpe=()=>`What happens when I upload a PDF?::Embedded text is extracted locally into a simple DOCX. The original visual layout and images are not reconstructed, and OCR is not automatic. 1087 1088Do image files upload?::The image handler runs locally, but the mixed workspace still presents the shared remote-approval gate because Office formats can upload. 1089 1090Which files can convert to PDF?::Supported images and DOC, DOCX, XLS, XLSX, PPT or PPTX. Office files require configured Gotenberg; images use the local A4 workflow. 1091 1092Will Office output match Microsoft Office exactly?::Not guaranteed. LibreOffice rendering and available fonts can change page breaks, objects and layout. 1093 1094Is the PDF converter online free?::The free PDF converter workflow has no checkout in this page, but deployment access and the configured remote service can vary. Review the current product terms before uploading.`,Ope=((e={},t={})=>(t.locale??J(),Dpe(e))),kpe=()=>`PDF converter copy was checked against the format registry, executor branches, upload gate and Gotenberg service on July 18, 2026. Tests validate PDF, image and Office artifacts where dependencies are available; universal fidelity is not claimed.`,Ape=((e={},t={})=>(t.locale??J(),kpe(e))),jpe=()=>`PDF conversion hub connecting images, office documents and extracted text workflows`,Mpe=((e={},t={})=>(t.locale??J(),jpe(e))),Npe=()=>`Route one supported file through the appropriate local or approved remote conversion path.`,Ppe=((e={},t={})=>(t.locale??J(),Npe(e))),Fpe=()=>`Use the PDF converter and verify the routed output`,Ipe=((e={},t={})=>(t.locale??J(),Fpe(e))),Lpe=()=>`AI PDF Analysis From Reviewed Document Text | TiPDF`,Rpe=((e={},t={})=>(t.locale??J(),Lpe(e))),zpe=()=>`Analyze PDF text with an AI PDF assistant after local extraction and explicit approval. Send reviewed text only and download grounded Markdown insights.`,Bpe=((e={},t={})=>(t.locale??J(),zpe(e))),Vpe=()=>`Use AI PDF Analysis on Reviewed Text`,Hpe=((e={},t={})=>(t.locale??J(),Vpe(e))),Upe=()=>
1094`Use AI PDF analysis to examine embedded document text after it is extracted on your device. TiPDF asks for explicit approval before sending that reviewed textânot the PDF fileâto the configured AI provider, then returns Markdown insights.`,Wpe=((e={},t={})=>(t.locale??J(),Upe(e))),Gpe=()=>`Extracts embedded text before AI PDF analysis 1095 1096Requires approval before AI PDF text is sent 1097 1098Downloads the provider response as Markdown`,Kpe=((e={},t={})=>(t.locale??J(),Gpe(e))),qpe=()=>`What AI PDF analysis actually does`,Jpe=((e={},t={})=>(t.locale??J(),qpe(e))),Ype=()=>`The AI PDF workflow separates file reading from remote analysis. Browser code opens one genuine PDF, reads its embedded text page by page and adds page markers. Only after the privacy notice is reviewed and approved does the client post that extracted text to TiPDF's document AI endpoint. The original PDF bytes are not placed in that AI request. 1099 1100The AI PDF server instruction asks the configured model to examine structure, main claims, key facts, action items, risks and unanswered questions. It also treats everything inside the document as untrusted source material rather than instructions. This prompt-injection boundary matters because a document can contain commands, links or misleading requests that should not control an AI PDF assistant. 1101 1102The returned AI PDF answer is plain Markdown text. It is useful as an analytical draft, not a verified report, legal opinion or substitute for reading the source. The model may omit context, misunderstand a table or state an unsupported conclusion. Compare every material observation with the page-marked extraction and the visible PDF before acting on it.`,Xpe=((e={},t={})=>(t.locale??J(),Ype(e))),Zpe=()=>`AI PDF input, text boundary and output`,Qpe=((e={},t={})=>(t.locale??J(),Zpe(e))),$pe=()=>`Select one .pdf whose extension and file signature are valid for AI PDF analysis. Local safeguards allow files up to 100 MiB and PDFs up to 500 pages. Password-protected documents must first be unlocked with authorization. The extractor reads embedded text; it does not run OCR, interpret page images or recover words that exist only in a scan. 1103 1104The AI PDF request accepts at most 150,000 characters after surrounding whitespace is removed. Page markers count toward that limit. If the extraction is empty, the server tells you to run OCR first; if it is too long, the task stops rather than silently discarding an unknown portion. Splitting a long source into reviewed sections is safer than assuming one oversized analysis is complete. 1105 1106The output is a UTF-8 .md file named from the source and analyze operation. No edited PDF, embedded annotation, citation map or persistent knowledge base is created. The configured provider must expose an HTTP or HTTPS OpenAI-compatible chat completions endpoint and have an API key; the default model name is gpt-4.1-mini only when deployment settings do not choose another model.`,eme=((e={},t={})=>(t.locale??J(),$pe(e))),tme=()=>`How to run a controlled AI PDF review`,nme=((e={},t={})=>(t.locale??J(),tme(e))),rme=()=>`1. Check the AI PDF source::Confirm that selectable text exists and that you are permitted to send its contents to the configured provider. Use OCR PDF first for a scanned source, then inspect the recognized text. 1107 11082. Select one AI PDF document::TiPDF validates the PDF locally and reads every permitted page. Encrypted, malformed, oversized or over-page-limit inputs stop with an error. 1109 11103. Review the disclosure::The approval step explains that extracted document text will leave the device. Continue only when the provider, deployment policy and information sensitivity are acceptable. 1111 11124. Start AI PDF analysis::The browser sends page-marked text after approval. The endpoint applies a 30-second minimum request interval and a 120-second timeout while the configured model prepares an answer. 1113 11145. Download and verify::Open the Markdown result beside the original. Trace facts, dates, risks and action items back to the correct pages, record corrections and never treat fluent language as proof.`,ime=((e={},t={})=>(t.locale??J(),rme(e))),ame=()=>`Appropriate AI PDF review tasks`,ome=((e={},t={})=>(t.locale??J(),ame(e))),sme=()=>`First-pass orientation::Use an AI PDF reader to identify likely sections and themes before a careful human read. Treat the outline as navigation help because headings and page order can be interpreted incorrectly. 1115
1116Risk discovery::Use AI PDF analysis to surface possible caveats, obligations and unresolved questions. A missed clause remains possible, so contracts, policies and regulated material still require qualified review. 1117 1118Meeting preparation::Turn readable briefing text into a candidate list of facts, decisions and follow-ups. Verify owners, dates and wording against the source before circulating notes. 1119 1120Research triage::Compare the AI PDF response with an abstract and conclusion to decide where to read more deeply. This tool does not assess study quality, reproduce charts or validate references.`,cme=((e={},t={})=>(t.locale??J(),sme(e))),lme=()=>`AI PDF grounding, omissions and uncertainty`,ume=((e={},t={})=>(t.locale??J(),lme(e))),dme=()=>`The system prompt tells the provider to ground claims in the supplied document, clearly state uncertainty and ignore instructions found inside the source. Those controls reduce risk but cannot guarantee factuality. Text extraction can scramble columns, separate captions from figures or omit image-only content before the model sees anything. 1121 1122An AI PDF assistant also has no independent access to the visible page, external databases or the truth of statements in the document. It can summarize a false claim faithfully or infer more than the text supports. Numbers, quotations, identities, deadlines and safety-critical conclusions demand line-by-line verification. Use narrower tools when the real need is a summary, translation, question set or focused answer.`,fme=((e={},t={})=>(t.locale??J(),dme(e))),pme=()=>`AI PDF extraction and approved transfer`,mme=((e={},t={})=>(t.locale??J(),pme(e))),hme=()=>`The AI PDF source is parsed and its embedded text is assembled in browser memory. After explicit approval, that text and the analyze instruction travel through the TiPDF server to the configured AI provider. This is not a local-only feature, even though the original file itself is not included in the JSON request. 1123 1124TiPDF sets no universal promise about provider retention, server logs or automatic deletion because deployments and configured endpoints differ. The response and downloaded Markdown remain on the device. Remove unnecessary sensitive sections before processing, follow organizational policy and do not approve the transfer when remote AI use is prohibited.`,gme=((e={},t={})=>(t.locale??J(),hme(e))),_me=()=>`Questions about AI PDF analysis`,vme=((e={},t={})=>(t.locale??J(),_me(e))),yme=()=>`Can I analyze PDF with AI without sending the file?::The AI request contains locally extracted text, page markers and the operation instruction, not the original PDF bytes. The text still contains document information and requires approval. 1125 1126Can I ask PDF AI to answer one question here?::This page requests broad analysis. Use Chat with PDF for one focused question and a separate approved request. 1127 1128What do AI PDF tools read from scans?::This extractor reads embedded text and does not OCR page images. Run OCR first and review recognition errors. 1129 1130Can it analyze more than 150,000 characters?::Not in one request. The server rejects longer text; split the source into meaningful reviewed sections. 1131 1132Are the insights guaranteed accurate?::No. Extraction and model errors can both affect the answer. Verify every important statement against the document. 1133 1134Which model is used?::The deployment chooses an OpenAI-compatible endpoint and model. If no model is configured, the service code requests gpt-4.1-mini.`,bme=((e={},t={})=>(t.locale??J(),yme(e))),xme=()=>`AI PDF capability copy was verified on July 18, 2026 against the local PDF.js text extractor, 500-page guard, approval gate, 150,000-character API schema, injection-resistant system instruction, configured chat-completions request and Markdown artifact. It does not claim OCR, whole-file upload, guaranteed accuracy or universal deletion.`,Sme=((e={},t={})=>(t.locale??J(),xme(e))),Cme=()=>`A PDF staying on a local device while reviewed page-marked text passes an approval gate to a configured AI service and returns as Markdown insights`,wme=((e={},t={})=>(t.locale??J(),Cme(e))),Tme=()=>`Analyze locally extracted and explicitly approved PDF text for claims, risks, actions and open questions.`,Eme=((e={},t={})=>(t.locale??J(),Tme(e))),Dme=()=>
1134`Review the transfer notice and start AI PDF analysis`,Ome=((e={},t={})=>(t.locale??J(),Dme(e))),kme=()=>`Chat With PDF Text After Explicit Approval | TiPDF`,Ame=((e={},t={})=>(t.locale??J(),kme(e))),jme=()=>`Chat with PDF content by asking one focused question. TiPDF extracts embedded text locally, sends approved text and the question, and returns Markdown.`,Mme=((e={},t={})=>(t.locale??J(),jme(e))),Nme=()=>`Chat With PDF Text Using One Focused Question`,Pme=((e={},t={})=>(t.locale??J(),Nme(e))),Fme=()=>`Chat with PDF content when you need a focused answer from embedded document text. TiPDF extracts that text locally, requires approval, then sends the page-marked text and your question to the configured AI provider.`,Ime=((e={},t={})=>(t.locale??J(),Fme(e))),Lme=()=>`Keeps original bytes out when you Chat with PDF 1135 1136Grounds each Chat with PDF request in document text 1137 1138Returns one answer as downloadable Markdown`,Rme=((e={},t={})=>(t.locale??J(),Lme(e))),zme=()=>`How Chat with PDF questions are scoped`,Bme=((e={},t={})=>(t.locale??J(),zme(e))),Vme=()=>`Chat with PDF here means one question submitted with one extracted document context. The browser validates a PDF, reads embedded text from each page and adds page markers. After you approve remote processing, TiPDF sends that text plus the question to a configured OpenAI-compatible chat completions endpoint. The Chat with PDF request does not upload the original PDF. 1139 1140The Chat with PDF service instruction says to answer using only the document and to say when the answer is absent. A separate system instruction treats document text as untrusted, rejects commands found inside it and asks for grounded claims with visible uncertainty. These safeguards are designed for focused retrieval, but they do not turn the model into a deterministic search engine. 1141 1142This Chat with PDF page is not a persistent multi-turn chat room. Each run creates one request and one Markdown response; the current handler does not preserve conversational history, build a vector index or remember a prior answer. To ask another question, run another approved request with the document context again. Phrase each question so the needed subject, period and comparison are explicit.`,Hme=((e={},t={})=>(t.locale??J(),Vme(e))),Ume=()=>`Chat with PDF source, question and response`,Wme=((e={},t={})=>(t.locale??J(),Ume(e))),Gme=()=>`Choose one genuine PDF up to 100 MiB and 500 pages for Chat with PDF. A valid file signature is required, and protected content must be unlocked with permission. The local extractor reads selectable embedded text only. Image-only scans, diagrams and text baked into screenshots are invisible unless you first create and review an OCR-derived file. 1143 1144The Chat with PDF question field can contain up to 2,000 characters at the API boundary. If it is empty, the service falls back to asking what the document is about, but a specific prompt normally produces a more testable answer. The extracted document context is capped at 150,000 characters; the server rejects empty or longer text. 1145 1146The answer is returned as UTF-8 Markdown and downloaded with a chat suffix. It is not inserted into the source PDF and does not include guaranteed page citations. Page markers are present in the context, but the prompt does not require a citation for every claim, so verify locations manually rather than assuming a displayed number is reliable.`,Kme=((e={},t={})=>(t.locale??J(),Gme(e))),qme=()=>`How to Chat with PDF verifiably`,Jme=((e={},t={})=>(t.locale??J(),qme(e))),Yme=()=>`1. Confirm Chat with PDF text::Try selecting a sentence in the PDF. If the page is a scan, use OCR PDF and correct recognition problems before starting document chat. 1147 11482. Write one Chat with PDF question::Name the clause, date range, person or comparison you need. Avoid asking for several unrelated outputs because omissions become harder to detect. 1149 11503. Review remote processing::Understand that extracted text and your question will be sent through the server to the configured provider. Approve only when that transfer is allowed. 1151 11524. Chat with PDF context::TiPDF reads the permitted pages locally and submits the question with page-marked text. Requests are rate-limited to one per 30-second interval for the request key and time out after 120 seconds. 1153 11545. Test the answer::Find the supporting wording in the visible PDF. If the answer says information is absent, search the source yourself because extraction or reasoning may have missed it.`,Xme=((e={},t={})=>(t.locale??J(),Yme(e))),Zme=()=>`Focused Chat with PDF questions`,Qme=((e={},t={})=>(t.locale??J(),Zme(e))),$me=()=>`Locating an obligation::Chat with PDF text to ask which party performs a named action and by what date. Use the response as a lead, then read the complete clause, definitions and exceptions. 1155 1156Checking a report::Use Chat with PDF to ask whether the text states a particular metric or limitation. The AI document chat cannot read an unlabeled chart image, and it does not independently validate the number. 1157 1158Preparing a discussion::Request the document's stated position on one topic before a meeting. Preserve qualifications instead of copying a short answer without context. 1159 1160Learning from notes::Ask a targeted conceptual question about lecture or training material. The answer may help comprehension, but instructors and s
1160ource material remain authoritative.`,ehe=((e={},t={})=>(t.locale??J(),$me(e))),the=()=>`Why Chat with PDF answers need checking`,nhe=((e={},t={})=>(t.locale??J(),the(e))),rhe=()=>`Chat with PDF accuracy is limited first by extraction. Multi-column text may arrive out of reading order, tables may lose relationships and image-only passages may be absent. It is limited again by model behavior: the provider can overlook evidence, combine nearby facts or answer more confidently than the source warrants. 1161 1162When you chat with PDF content, the instruction to use only the document and admit absence is a control, not a warranty. Ask narrow questions, include the exact entity, distinguish stated facts from interpretation and compare the response with surrounding paragraphs. For legal, health, financial, employment or safety decisions, use qualified human review and the authoritative source.`,ihe=((e={},t={})=>(t.locale??J(),rhe(e))),ahe=()=>`What leaves the device during Chat with PDF`,ohe=((e={},t={})=>(t.locale??J(),ahe(e))),she=()=>`PDF parsing happens in browser memory. Once approved, the extracted page-marked text and your question are sent through TiPDF's AI API to the deployment's configured provider. Original PDF bytes are not in that JSON payload, but the text can reveal most of a text-heavy document and must still be treated as sensitive. 1163 1164Provider policies, access logs and retention depend on the deployment, so TiPDF does not promise universal deletion. The Markdown answer remains in the interface and any downloaded file remains on the device. Avoid submitting secrets or regulated material unless the configured environment and policy permit it.`,che=((e={},t={})=>(t.locale??J(),she(e))),lhe=()=>`Chat with PDF capability questions`,uhe=((e={},t={})=>(t.locale??J(),lhe(e))),dhe=()=>`Is Chat with PDF AI a continuous conversation?::No. Each run sends one question with the extracted document text and returns one answer. No prior-turn history is retained by this handler. 1165 1166Is ChatPDF content read from scanned charts?::Not reliably. Embedded-text extraction does not see pixels. OCR can recognize visible words but may still lose chart relationships. 1167 1168Can I ask questions about PDF text repeatedly?::Yes, but each question is a new approved request with the full extracted context and rate limit. No conversation memory is retained. 1169 1170Is Chat with PDF free to use without an account?::The page has no checkout or account requirement, but the configured provider and deployment determine service availability. 1171 1172What if the answer is not in the file?::The model is instructed to say so, yet you should still search and inspect the source because it can miss evidence. 1173 1174Does the provider receive my question?::Yes. After approval, both the question and extracted text are included in the remote request. 1175 1176Will I get exact citations?::Not guaranteed. Page markers are included in context, but the implementation does not enforce citation output.`,fhe=((e={},t={})=>(t.locale??J(),dhe(e))),phe=()=>`Chat with PDF copy was verified on July 18, 2026 against local text extraction, the approval gate, 2,000-character question schema, 150,000-character context cap, document-only instruction, configured provider call and one Markdown artifact. Persistent chat, OCR, enforced citations and guaranteed correctness are excluded.`,mhe=((e={},t={})=>(t.locale??J(),phe(e))),hhe=()=>`A focused question joining locally extracted PDF text after an approval gate and returning one grounded Markdown answer`,ghe=((e={},t={})=>(t.locale??J(),hhe(e))),_he=()=>`Ask one focused question about locally extracted PDF text after reviewing and approving the transfer.`,vhe=((e={},t={})=>(t.locale??J(),_he(e))),yhe=()=>`Approve the text transfer and Chat with PDF`,bhe=((e={},t={})=>(t.locale??J(),yhe(e))),xhe=()=>`PDF Summarizer for Approved Extracted Text | TiPDF`,She=((e={},t={})=>(t.locale??J(),xhe(e))),Che=()=>`Use a PDF summarizer after local text extraction and explicit approval. Receive a concise Markdown summary with key points, dates, decisions and caveats.`,whe=((e={},t={})=>(t.locale??J(),Che(e))),The=()=>`Use a PDF Summarizer for a Markdown Brief`,Ehe=((e={},t={})=>(t.locale??J(),The(e))),Dhe=()=>`The PDF summarizer reads embedded document text on your device, requests approval before sending that text to the configured AI provider, and returns a concise Markdown brief for careful verification.`,Ohe=((e={},t={})=>(t.locale??J(),Dhe(e))),khe=()=>`Extracts readable text before the PDF summarizer request 1177 1178Asks the PDF summarizer for dates and caveats 1179 1180Provides a separate Markdown summary file`,Ahe=((e={},t={})=>(t.locale??J(),khe(e))),jhe=()=>`What the PDF summarizer request contains`,Mhe=((e={},t={})=>(t.locale??J(),jhe(e))),Nhe=()=>`The PDF summarizer begins with local PDF.js extraction, not an upload of the source file to the model. It reads embedded text from every permitted page, inserts page markers and waits for explicit remote-processing approval. The approved text then travels through TiPDF's server to the deployment's configured OpenAI-compatible endpoint. 1181 1182The PDF summarizer instruction asks for a faithful executive summary covering key points, decisions, dates and caveats without inventing missing facts. A system message also treats document text as untrusted and tells the model to ignore commands inside it. This gives the AI PDF summarizer a defined task, but it cannot guarantee that every material clause receives equal weight. 1183 1184The PDF summarizer response is a new Markdown artifact, not a shortened PDF. Images, typography, page geometry, signatures and interactive features are not carried into that file. A concise brief inevitably omits detail; it should help readers plan their review, never replace the authoritative document.`,Phe=((e={},t={})=>(t.locale??J(),Nhe(e))),Fhe=()=>`PDF summarizer source, cap and result`,Ihe=((e={},t={})=>(t.locale??J(),Fhe(e))),Lhe=()=>`Choose one authentic .pdf up to 100 MiB and 500 pages for the PDF summarizer. TiPDF checks the signature and parser locally. Unlock protected material only when authorized. The extractor does not OCR scans, read diagrams or infer text from photographs, so a visual-only source needs the separate OCR PDF workflow and human correction first. 1185 1186The PDF summarizer API accepts no more than 150,000 characters, including page markers. Empty extraction triggers a Run OCR first error, while excessive context is rejected instead of silently reduced. To summarize PDF material longer than the cap, split it along stable section boundaries and label each resulting brief so cross-section dependencies remain visible. 1187 1188The output uses UTF-8 Markdown and a summarize filename suffix. The endpoint requires a configured API key, supports an HTTP or HTTPS compatible base URL, applies a 120-second timeout and enforces a 30-second minimum interval for the request key. It returns one model response; no extractive highlight file, source-linked citation table or regenerated PDF is promised.`,Rhe=((e={},t={})=>(t.locale??J(),Lhe(e))),zhe=()=>`How to use the PDF summarizer carefully`,Bhe=((e={},t={})=>(t.locale??J(),zhe(e))),Vhe=()=>`1. Establish the PDF summarizer purpose::Decide whether you need orientation, meeting preparation or a study aid. A legal digest and an executive overview require different human checks even though the automated instruction stays the same. 1189 11902. Inspect PDF summarizer text::Select a sentence in the source. Run OCR first for image-only pages, then correct names, numbers and headings before using the PDF summarizer. 1191 11923. Read and approve the notice::Extracted text will leave the device for the configured provider. Continue only when policy and sensitivity allow that transfer. 1193 11944. Generate the brief::The PDF summarizer sends page-marked text with the faithful-summary instruction and saves the returned answer as Markdown. Do not interrupt a legitimate request unless you want to cancel it. 1195 11965. Audit omissions::Compare the brief with the contents, introduction, conclusion, tables and exceptional clauses. Mark what was verified, what was absent and what requires a specialist.`,Hhe=((e={},t={})=>(t.locale??J(),Vhe(e))),Uhe=()=>`Where a PDF summarizer can help`,Whe=((e={},t={})=>(t.locale??J(),Uhe(e))),Ghe=()=>`Executive orientation::Use a PDF summarizer to preview a long report's stated decisions, dates and reservations before reading relevant sections in full. 1197 1198Research screening::Compare the AI PDF summarizer output with the abstract, methods and limitations. It cannot judge evidence quality or detect a flawed study independently. 1199 1200Handover preparation::Build a candidate checklist from documented actions and caveats, then verify owners and deadlines before assigning work. 1201 1202Study review::Summarize PDF notes into a compact refresher. Return to original definitions and examples because compression can remove the context needed for understanding.`,Khe=((e={},t={})=>(t.locale??J(),Ghe(e))),qhe=()=>`PDF summarizer compression and omission risk`,Jhe=((e={},t={})=>(t.locale??J(),qhe(e))),Yhe=()=>`A summary trades coverage for brevity. The model may emphasize repeated themes while missing a short exception, footnote or appendix. Before it receives the text, extraction may already have reordered columns, flattened tables or separated captions. The PDF summarizer has no independent view of page images to repair those losses. 1203 1204Faithful wording in the prompt does not certify the result. Check quotations, totals, dates, names, conditions and negatives against the source. If two passages conflict, the summary may resolve them incorrectly instead of preserving the disagreement. Regulated, contractual, medical and financial documents need qualified review rather than automated condensation alone.`,Xhe=((e={},t={})=>(t.locale??J(),Yhe(e))),Zhe=()=>`PDF summarizer transfer rather than file upload`,Qhe=((e={},t={})=>(t.locale??J(),Zhe(e))),$he=()=>`PDF summarizer extraction runs in browser memory. After approval, the page-marked text and summarization instruction are sent through the TiPDF server to the configured provider. Original PDF bytes are not part of this AI request, but text can still reveal the document's sensitive substance. 1205 1206Retention, logging and provider access depend on each deployment; there is no universal automatic-deletion promise. The generated Markdown stays in the interface and its downloaded copy remains on the device. Remove unnecessary confidential sections or avoid remote summarization whenever policy requires local-only handling.`,ege=((e={},t={})=>(t.locale??J(),$he(e))),tge=()=>`PDF summarizer questions`,nge=((e={},t={})=>(t.locale??J(),tge(e))),rge=()=>`Is PDF summarizer free access available without an account?::The page has no checkout or account requirement, but the configured AI provider and deployment determine availability. 1207 1208Can I summarize research paper scans directly?::Not directly. Scans need OCR first, followed by review of recognition errors and specialist terms. 1209 1210Does the output list all PDF key points?::No. A summary compresses content and can omit a short exception, footnote or appendix. Audit it against the source. 1211 1212Does the tool shorten the actual PDF?::No. It creates a Markdown summary from extracted text and leaves the source file unchanged. 1213 1214Can it cover a document over 150,000 characters?::Not in one request. Split the source into meaningful sections and reconcile the briefs manually. 1215 1216Does every statement include a citation?::No. Page markers are supplied as context, but citation output is not enforced. 1217 1218Can I trust it for a contract?::Use it only for orientation. A model can miss exceptions or alter meaning;
1218 qualified review of the complete source remains necessary.`,ige=((e={},t={})=>(t.locale??J(),rge(e))),age=()=>`PDF summarizer claims were verified on July 18, 2026 against local page-marked text extraction, explicit approval, the 150,000-character schema, faithful-summary instruction, injection boundary, configured chat-completions call and Markdown artifact. OCR, layout preservation, complete coverage, citations and guaranteed correctness are excluded.`,oge=((e={},t={})=>(t.locale??J(),age(e))),sge=()=>`Locally extracted PDF text passing an approval checkpoint and returning as a shorter structured Markdown brief`,cge=((e={},t={})=>(t.locale??J(),sge(e))),lge=()=>`Turn approved embedded PDF text into a concise Markdown brief, then audit facts and omissions.`,uge=((e={},t={})=>(t.locale??J(),lge(e))),dge=()=>`Approve the transfer and run the PDF summarizer`,fge=((e={},t={})=>(t.locale??J(),dge(e))),pge=()=>`Translate PDF Text Into Selected Languages | TiPDF`,mge=((e={},t={})=>(t.locale??J(),pge(e))),hge=()=>`Translate PDF embedded text after local extraction and explicit approval. Choose one of six target languages and download Markdown, not a rebuilt PDF.`,gge=((e={},t={})=>(t.locale??J(),hge(e))),_ge=()=>`Translate PDF Text Into Downloadable Markdown`,vge=((e={},t={})=>(t.locale??J(),_ge(e))),yge=()=>`Translate PDF text by extracting readable content on your device, approving its transfer and sending it to the configured AI provider. The result is translated Markdown rather than a layout-preserved PDF.`,bge=((e={},t={})=>(t.locale??J(),yge(e))),xge=()=>`Extracts embedded text before Translate PDF processing 1219 1220Offers six languages for each Translate PDF draft 1221 1222Returns translated UTF-8 Markdown`,Sge=((e={},t={})=>(t.locale??J(),xge(e))),Cge=()=>`What Translate PDF changes and does not rebuild`,wge=((e={},t={})=>(t.locale??J(),Cge(e))),Tge=()=>`The Translate PDF workflow reads embedded text locally with PDF.js and adds markers for each page. After explicit approval, TiPDF sends those text characters and the selected target language through its server to a configured OpenAI-compatible model. Original PDF bytes, page images and fonts are not part of the AI request. 1223 1224Translate PDF instructs the provider to translate the document while preserving headings, lists, numbers, names and page markers in text form. It is also told to treat document content as untrusted material and ignore instructions hidden inside it. A PDF translator can follow that structure imperfectly; tables, columns and captions may already be flattened before translation begins. 1225 1226The Translate PDF response is saved as Markdown. It does not reproduce coordinates, illustrations, signatures, forms or typography, and it does not create a bilingual or replacement PDF. Claims such as preserve PDF layout or translate a scanned PDF directly would be inaccurate for this handler. Use the output as a translation draft and compare it with the source.`,Ege=((e={},t={})=>(t.locale??J(),Tge(e))),Dge=()=>`Translate PDF input, languages and result`,Oge=((e={},t={})=>(t.locale??J(),Dge(e))),kge=()=>`Select one authentic PDF no larger than 100 MiB and 500 pages for Translate PDF. Extension, signature and parsing are checked locally. Password-protected material needs authorized unlocking. Only embedded text is extracted; image-only pages require OCR PDF first, and recognition errors will otherwise be carried into the translation. 1227 1228The Translate PDF target choices are Chinese, English, Spanish, French, German and Japanese. The API accepts a target-language value up to 80 characters, but the interface exposes only those six options. It does not offer a source-language selector, glossary, tone control, bilingual alignment or certified translation workflow. 1229 1230Text sent to the endpoint is limited to 150,000 characters including page markers. Empty or over-limit content is rejected. The configured provider request times out after 120 seconds and is limited to a 30-second minimum interval per request key. Translate PDF output is one UTF-8 .md file with a translate suffix, not an edited PDF.`,Age=((e={},t={})=>(t.locale??J(),kge(e))),jge=()=>`How to prepare a Translate PDF draft`,Mge=((e={},t={})=>(t.locale??J(),jge(e))),Nge=()=>`1. Inspect Translate PDF text::Check several pages and scripts. Run OCR first for scans, then correct critical names and numerals before using the PDF translator. 1231
12322. Choose the Translate PDF target::Select Chinese, English, Spanish, French, German or Japanese. Make sure the destination language fits the actual audience. 1233 12343. Review the transfer notice::Extracted text will leave the device and reach the configured provider. Approve only when rights, policy and confidentiality permit it. 1235 12364. Translate PDF content::TiPDF submits the page-marked text with preservation instructions for headings, lists, numbers and names, then creates Markdown from the response. 1237 12385. Perform bilingual review::Compare headings, negatives, measurements, dates, defined terms and proper nouns line by line. Use a qualified translator where accuracy has legal, medical, financial or safety consequences.`,Pge=((e={},t={})=>(t.locale??J(),Nge(e))),Fge=()=>`Suitable Translate PDF workflows`,Ige=((e={},t={})=>(t.locale??J(),Fge(e))),Lge=()=>`Reading assistance::Use Translate PDF for a draft in a familiar language, then return to source passages for exact meaning. 1239 1240Internal triage::Use a PDF translator to identify which sections deserve professional translation. Do not circulate unreviewed output as an official version. 1241 1242Research discovery::Translate PDF abstracts and headings to locate relevant material while preserving original citations and names separately. 1243 1244Multilingual preparation::Draft text for later editorial layout. Rebuild the final document in an appropriate authoring tool because this service does not preserve PDF layout.`,Rge=((e={},t={})=>(t.locale??J(),Lge(e))),zge=()=>`Translate PDF accuracy, structure and ambiguity`,Bge=((e={},t={})=>(t.locale??J(),zge(e))),Vge=()=>`Translation quality depends on extraction order, source clarity, language pair, specialist vocabulary and model behavior. A flattened table can lose row relationships; a missing image label can change a paragraph; ambiguous pronouns and abbreviations may be resolved incorrectly. The instruction to preserve names and numbers reduces risk but does not guarantee it. 1245 1246When you translate PDF text, review terminology consistency, units, decimal separators, negation and legally defined phrases. Page markers may help navigation but are not enforced citations. The model does not consult an approved terminology database unless the configured provider independently supplies one, and the current interface has no glossary field.`,Hge=((e={},t={})=>(t.locale??J(),Vge(e))),Uge=()=>`Approved Translate PDF text transfer`,Wge=((e={},t={})=>(t.locale??J(),Uge(e))),Gge=()=>`PDF reading occurs in browser memory. After approval, extracted page-marked text and the target language are sent through TiPDF's server to the configured AI endpoint. Although the original file is not included, the text may disclose nearly all meaningful content of a text-heavy document. 1247 1248Provider retention, access logs and deletion depend on the deployment, so no universal deletion promise is made. The translated response and downloaded Markdown remain on the device. Do not use remote translation for restricted material unless the configured service and organizational policy explicitly allow it.`,Kge=((e={},t={})=>(t.locale??J(),Gge(e))),qge=()=>`Translate PDF questions`,Jge=((e={},t={})=>(t.locale??J(),qge(e))),Yge=()=>`Can I translate PDF to English?::Yes. English is one of six target choices, but the result is a reviewable Markdown draft rather than a certified replacement PDF. 1249 1250Is Translate PDF free without an account?::The page has no checkout or account requirement, while the configured provider and deployment determine service availability. 1251 1252Will the result preserve PDF layout?::No. The output is translated Markdown text, not a rebuilt PDF with original coordinates and design. 1253 1254Can it translate scanned PDF pages?::Not directly. Run OCR first and correct recognition errors before translation. 1255 1256Which targets are available?::Chinese, English, Spanish, French, German and Japanese in the current interface. 1257 1258Is this certified translation?::No. The model response has no translator certification or guaranteed accuracy. 1259 1260Does the AI receive the original file?::The AI request contains extracted text, page markers and the target language after approval, not original PDF bytes.`,Xge=((e={},t={})=>(t.locale??J(),Yge(e))),Zge=()=>`Translate PDF copy was verified on July 18, 2026 against local embedded-text extraction, six target-language options, approval, 150,000-character schema, preservation instruction, configured provider request and Markdown artifact. Review covered empty text, oversized context, timeout and unconfigured-provider failures as visible errors. These boundaries remain relevant regardless of the chosen target language or source document length. OCR, certified accuracy, glossary control, bilingual alignment and layout-preserved PDF output are excluded.`,Qge=((e={},t={})=>(t.locale??J(),Zge(e))),$ge=()=>`PDF text extracted locally, approved for AI translation and returned as multilingual Markdown without rebuilding page layout`,e_e=((e={},t={})=>(t.locale??J(),$ge(e))),t_e=()=>`Translate approved embedded PDF text into one of six languages and review the Markdown draft.`,n_e=((e={},t={})=>(t.locale??J(),t_e(e))),r_e=()=>`Approve the transfer and Translate PDF text`,i_e=((e={},t={})=>(t.locale??J(),r_e(e))),a_e=()=>`AI Question Generator From PDF Text | TiPDF`,o_e=((e={},t={})=>(t.locale??J(),a_e(e))),s_e=()=>
1260`Use an AI question generator from PDF text after local extraction and approval. Receive 12 study questions with concise answers in Markdown.`,c_e=((e={},t={})=>(t.locale??J(),s_e(e))),l_e=()=>`Use an AI Question Generator From PDF Text`,u_e=((e={},t={})=>(t.locale??J(),l_e(e))),d_e=()=>`The AI question generator from PDF text reads embedded content locally, asks you to approve sending that text, then requests 12 study questions with concise answers that progress from recall to analysis.`,f_e=((e={},t={})=>(t.locale??J(),d_e(e))),p_e=()=>`Uses page-marked text in the AI question generator from PDF 1261 1262Requests 12 items from the AI question generator from PDF 1263 1264Returns an editable Markdown question set`,m_e=((e={},t={})=>(t.locale??J(),p_e(e))),h_e=()=>`What the AI Question Generator From PDF includes`,g_e=((e={},t={})=>(t.locale??J(),h_e(e))),__e=()=>`The AI question generator from PDF starts by validating one document and extracting its embedded text page by page in the browser. Once the transfer disclosure is approved, TiPDF sends that page-marked textânot the original PDF bytesâto the configured OpenAI-compatible provider. 1265 1266The AI question generator from PDF uses a fixed instruction for 12 useful study questions with concise answers, progressing from recall to analysis. It does not specifically require multiple choice, scoring, distractors, difficulty labels or a separate answer key. A question paper generator from PDF content may therefore return a mixed Markdown list rather than an exam-ready paper. 1267 1268The AI question generator from PDF system message tells the model to ground claims in the document, state uncertainty and ignore commands inside the source. These safeguards help, but a generated answer may still be incomplete or wrong. The set is a draft for review: compare every answer with the source, remove ambiguous items and revise language for the intended learners.`,v_e=((e={},t={})=>(t.locale??J(),__e(e))),y_e=()=>`AI Question Generator From PDF source and output`,b_e=((e={},t={})=>(t.locale??J(),y_e(e))),x_e=()=>`Choose one valid .pdf up to 100 MiB and 500 pages for the AI question generator from PDF. Local checks verify its signature and readability; encrypted content must be unlocked only with authorization. Extraction reads selectable embedded text and page markers. Scanned pages, diagrams and handwritten notes need OCR first, with recognition errors corrected before question creation. 1269 1270The AI question generator from PDF context is limited to 150,000 characters. Empty text produces a Run OCR first error, while longer context is rejected rather than silently clipped. Split an oversized source by coherent units and generate separate reviewed sets; otherwise learners may receive questions without necessary preceding material. 1271 1272The AI question generator from PDF result is one UTF-8 Markdown file with a questions suffix. It contains the configured provider's response and does not modify the PDF. The endpoint has a 120-second timeout and a 30-second minimum interval per request key. No export to a learning platform, randomization, persistent question bank, grading engine or learner tracking is implemented.`,S_e=((e={},t={})=>(t.locale??J(),x_e(e))),C_e=()=>`How to use the AI Question Generator From PDF`,w_e=((e={},t={})=>(t.locale??J(),C_e(e))),T_e=()=>`1. Define the AI question generator from PDF scope::Select material that forms one coherent unit and decide which learners will use it. The fixed prompt cannot see a syllabus or assessment standard. 1273 12742. Check AI question generator from PDF text::Confirm text is selectable and ordered. Run OCR for scans, then correct technical terms, equations, names and numbers before continuing. 1275 12763. Approve AI question generator from PDF processing::Read the notice that extracted text will reach the configured provider. Continue only when rights, sensitivity and institutional policy permit the transfer. 1277 12784. Run the AI question generator from PDF::TiPDF submits the complete permitted context with the recall-to-analysis instruction and downloads 12 questions and concise answers as Markdown. 1279 12805. Validate and edit::Locate support for every answer, check that each question has one defensible interpretation, balance coverage and remove items that expose sensitive or irrelevant details.`,E_e=((e={},t={})=>(t.locale??J(),T_e(e))),D_e=()=>`AI Question Generator From PDF learning workflows`,O_e=((e={},t={})=>(t.locale??J(),D_e(e))),k_e=()=>`Self-study::Use the AI question generator from PDF for a first practice set after reading a chapter, then verify the answer key against the source. 1281 1282Instructor drafting::Use the AI question generator from PDF for candidate prompts, then align wording, rigor and accessibility with course outcomes. Human authors remain responsible for the final assessment. 1283 1284Team onboarding::Turn approved policy text into discussion questions and concise candidate answers. Confirm that exceptions and current versions are represented. 1285 1286Research review::Generate recall and analytical prompts for a paper, then add human questions about methodology, evidence quality and limitations that the model may overlook.`,A_e=((e={},t={})=>(t.locale??J(),k_e(e))),j_e=()=>`AI Question Generator From PDF accuracy`,M_e=((e={},t={})=>(t.locale??J(),j_e(e))),N_e=()=>`An AI question generator from PDF can produce a fluent question that is still invalid. Extraction can flatten tables or reorder
1286columns, and the model can create an answer from nearby but unrelated statements. The fixed progression from recall to analysis does not guarantee a calibrated difficulty curve, curriculum alignment or equal coverage of all sections. 1287 1288Review each pair for factual support, clarity, bias, duplicated concepts and unintended clues. Verify numbers, negatives and definitions word for word. The current instruction requests concise answers, so nuanced subjects may be oversimplified. For graded, regulated or high-stakes assessment, use qualified subject-matter and assessment review.`,P_e=((e={},t={})=>(t.locale??J(),N_e(e))),F_e=()=>`AI Question Generator From PDF text transfer`,I_e=((e={},t={})=>(t.locale??J(),F_e(e))),L_e=()=>`AI question generator from PDF parsing and text extraction occur in browser memory. After approval, page-marked text and the fixed question instruction pass through TiPDF's server to the configured AI provider. Original file bytes are not in the JSON request, but extracted text can still reveal confidential educational or business material. 1289 1290Provider logging, access and retention vary by deployment, so TiPDF makes no universal deletion promise. The Markdown set remains in the interface and any download remains on the device. Remove unnecessary personal data and do not submit restricted source material unless remote AI processing is explicitly allowed.`,R_e=((e={},t={})=>(t.locale??J(),L_e(e))),z_e=()=>`AI Question Generator From PDF questions`,B_e=((e={},t={})=>(t.locale??J(),z_e(e))),V_e=()=>`How many questions are generated?::The current instruction requests 12 questions with concise answers, moving from recall toward analysis. 1291 1292How is this PDF question generator scoped?::It creates one reviewed Markdown draft from embedded text; it does not alter the source or maintain a question bank. 1293 1294Does it work as a quiz generator from PDF?::It produces 12 review questions and concise answers, but it does not randomize, grade or store a quiz. 1295 1296Will I receive questions and answers from PDF text?::Yes, as one Markdown draft that requires source verification and educator review. 1297 1298Does it create multiple-choice questions?::Not specifically. The prompt does not require options or distractors, so an MCQ generator from PDF is not guaranteed here. 1299 1300Can it read a scanned textbook?::Not directly. Use OCR first and correct recognition errors before generating questions. 1301 1302Are the answers always correct?::No. Every answer must be traced to the source and reviewed by someone who understands the subject. 1303 1304Does it store a question bank?::No. One run returns one Markdown artifact; persistent storage, grading and learner analytics are not implemented.`,H_e=((e={},t={})=>(t.locale??J(),V_e(e))),U_e=()=>`Question-generation copy was verified on July 18, 2026 against local page-marked extraction, explicit approval, 150,000-character context limit, the fixed 12-question instruction, injection-resistant system prompt, configured provider request and Markdown result. These boundaries matter for every generated set. Multiple-choice format, exam calibration, persistent banks, grading and guaranteed answers are excluded.`,W_e=((e={},t={})=>(t.locale??J(),U_e(e))),G_e=()=>`Approved PDF text producing 12 draft question-and-answer cards that progress from recall to analysis and require review`,K_e=((e={},t={})=>(t.locale??J(),G_e(e))),q_e=()=>`Use the AI question generator from PDF for 12 reviewable questions with concise answers.`,J_e=((e={},t={})=>(t.locale??J(),q_e(e))),Y_e=()=>`Approve the AI question generator from PDF request`,X_e=((e={},t={})=>(t.locale??J(),Y_e(e))),Z_e=()=>`Rotate PDF Pages 90, 180 or 270 Degrees | TiPDF`,Q_e=((e={},t={})=>(t.locale??J(),Z_e(e))),$_e=()=>`Rotate PDF pages locally by 90, 180 or 270 degrees. Choose all pages or a validated range, save rotation metadata and inspect the new PDF.`,eve=((e={},t={})=>(t.locale??J(),$_e(e))),tve=()=>`Rotate PDF Pages by Quarter Turns`,nve=((e={},t={})=>(t.locale??J(),tve(e))),rve=()=>`Rotate PDF pages when their saved viewing orientation is wrong. TiPDF applies a 90, 180 or 270 degree clockwise rotation to all pages or a validated range and writes a new file locally.`,ive=((e={},t={})=>(t.locale??J(),rve(e))),ave=()=>
1304`Uses Rotate PDF for all pages or a range 1305 1306Adds each Rotate PDF angle to existing rotation 1307 1308Processes and saves the PDF in browser memory`,ove=((e={},t={})=>(t.locale??J(),ave(e))),sve=()=>`How Rotate PDF metadata works`,cve=((e={},t={})=>(t.locale??J(),sve(e))),lve=()=>`The Rotate PDF tool changes page rotation metadata rather than rendering the page as an image. For every selected page, TiPDF reads its current angle, adds the chosen 90, 180 or 270 degrees and normalizes the result within a full turn. A page already rotated 90 degrees becomes 180 degrees after another 90-degree choice. 1309 1310Rotate PDF is a page-level orientation change. It does not rotate an individual photograph, straighten a skewed scan, detect which pages are sideways or rewrite text direction. Content, fonts and vector objects remain part of the PDF page while a compatible viewer uses the new saved angle for display and printing. 1311 1312The Rotate PDF result is a separate updated file. Rotate PDF pages only after checking the source's current orientation, because applying the same setting repeatedly accumulates. Keep the original until every selected page, link and printed edge has been reviewed.`,uve=((e={},t={})=>(t.locale??J(),lve(e))),dve=()=>`Rotate PDF input, ranges and angles`,fve=((e={},t={})=>(t.locale??J(),dve(e))),pve=()=>`Choose one genuine .pdf within the 100 MiB local file limit and no more than 500 pages for Rotate PDF. TiPDF validates the extension, PDF signature and parser readability. An encrypted document must be unlocked with the known password and authorization before its page objects can be changed. 1313 1314The page field accepts all, individual one-based numbers and comma-separated ranges such as 1,3,5-8. Values outside the document are rejected. Duplicate selections are normalized by the shared range parser, and leaving the default all targets every page. Use the viewer's file page count rather than printed numbers that may restart in appendices. 1315 1316Available choices are 90 degrees clockwise, 180 degrees and 270 degrees clockwise. There is no arbitrary angle, counterclockwise label, automatic orientation detector or per-page mixture in one run. The output keeps PDF format and gains an updated filename suffix; file size may change when objects are saved again.`,mve=((e={},t={})=>(t.locale??J(),pve(e))),hve=()=>`How to Rotate PDF orientation correctly`,gve=((e={},t={})=>(t.locale??J(),hve(e))),_ve=()=>
1316`1. Map Rotate PDF pages::Open the source in a reader and note file page numbers plus their current displayed direction. Printed labels may not match viewer numbering. 1317 13182. Choose the correction::Use 90 for a quarter turn clockwise, 180 for upside-down pages or 270 for the equivalent of a quarter turn counterclockwise. 1319 13203. Enter the page range::Select all or provide numbers and ranges. Split the task into separate reviewed runs if different pages need different angles. 1321 13224. Rotate PDF pages locally::The browser updates each selected page's existing rotation and saves a separate PDF without calling conversion, storage or AI services. 1323 13245. Inspect the result::Check every changed page at normal and print preview, confirm untouched pages stayed oriented correctly and preserve the source until approved.`,vve=((e={},t={})=>(t.locale??J(),_ve(e))),yve=()=>`Useful Rotate PDF corrections`,bve=((e={},t={})=>(t.locale??J(),yve(e))),xve=()=>`Mixed scanner output::Correct landscape sheets that a scanner saved sideways. The tool will not identify those sheets automatically, so record the range first. 1325 1326Upside-down inserts::Apply 180 degrees to selected attachment pages while leaving the main report unchanged. 1327 1328Presentation handouts::Rotate PDF pages exported in the wrong orientation, then check cropping and print behavior in the destination viewer. 1329 1330Archive derivatives::Create an easier-to-read copy without rasterizing page content. Preserve the untouched original and record that orientation metadata changed.`,Sve=((e={},t={})=>(t.locale??J(),xve(e))),Cve=()=>`Rotate PDF fidelity and consequences`,wve=((e={},t={})=>(t.locale??J(),Cve(e))),Tve=()=>`Because the handler changes rotation metadata, it does not intentionally resample photographs or convert vectors and text into pixels. Visual sharpness normally remains unchanged. A newly serialized PDF can still differ in byte size and internal object arrangement. 1331 1332Rotate PDF output must be tested in the reader and printer used by recipients. An unusual viewer, existing crop box, annotation coordinates, form widgets, links, signatures or accessibility structure may behave differently after a rewrite. Certificate signatures covering the original bytes should not be assumed valid. The operation also cannot fix skew inside a scanned image.`,Eve=((e={},t={})=>(t.locale??J(),Tve(e))),Dve=()=>`Local Rotate PDF processing`,Ove=((e={},t={})=>(t.locale??J(),Dve(e))),kve=()=>`The selected PDF is parsed, modified and saved in browser memory on the current device. This handler does not upload document bytes to TiPDF conversion, storage, sharing or AI endpoints and does not ask for remote-processing approval. Normal website assets may still use network connections. 1333 1334Refreshing clears the active job, while the source and downloaded result remain wherever the operating system stores them. TiPDF cannot remove local copies, backups or later shares. Use appropriate device and folder controls for sensitive documents.`,Ave=((e={},t={})=>(t.locale??J(),kve(e))),jve=()=>`Rotate PDF questions`,Mve=((e={},t={})=>(t.locale??J(),jve(e))),Nve=()=>`Can I rotate PDF online on one page?::Yes. Enter that page number and choose one of the three saved angles. 1335 1336Is Rotate PDF free without an account?::Yes. This local workflow has no checkout or account requirement, subject to the file and page limits. 1337 1338Can I rotate PDF and save the new angle?::Yes. The result is a separate rewritten PDF with updated rotation metadata. 1339 1340Can I rotate specific pages by different angles?::Use separate reviewed runs because one angle applies to the selected range in each run. 1341 1342Does 270 degrees mean counterclockwise?::A 270-degree clockwise turn has the same final orientation as 90 degrees counterclockwise. 1343 1344Will it straighten a crooked scan?::No. It changes page orientation in quarter turns and does not deskew pixels. 1345 1346Does rotation reduce quality?::It does not intentionally rasterize pages, but always inspect document-level features after saving.`,Pve=((e={},t={})=>(t.locale??J(),Nve(e))),Fve=()=>`Rotate PDF capability copy was verified on July 18, 2026 against the page-range parser and local PDF handler that adds 90, 180 or 270 degrees to existing rotation metadata. Verification includes one-page, mixed-range and all-page selections, accumulation on a page with an existing angle, local artifact creation and rejection of invalid ranges. The saved page count is compared with the source before the result is reported. A rotate PDF result should still be opened in a second viewer before distribution. It excludes arbitrary angles, automatic orientation detection, image deskewing and guarantees about signatures or advanced document features.`,Ive=((e={},t={})=>(t.locale??J(),Fve(e))),Lve=()=>`Selected PDF pages receiving a saved quarter-turn orientation while unselected pages remain unchanged`,Rve=((e={},t={})=>(t.locale??J(),Lve(e))),zve=()=>`Use Rotate PDF for one saved quarter-turn angle without rasterizing page content.`,Bve=((e={},t={})=>(t.locale??J(),zve(e))),Vve=()=>`Rotate PDF pages and inspect the saved orientation`,Hve=((e={},t={})=>(t.locale??J(),Vve(e))),Uve=()=>`Remove Pages From PDF and Keep the Rest | TiPDF`,Wve=((e={},t={})=>(t.locale??J(),Uve(e))),Gve=()=>`Remove selected PDF pages locally while keeping at least one page. Use ranges, odd or even selections, save a new file and verify the remaining sequence.`,Kve=((e={},t={})=>(t.locale??J(),Gve(e))),qve=()=>`Remove Pages From PDF Derivatives Safely`,Jve=((e={},t={})=>(t.locale??J(),qve(e))),Yve=()=>`Remove pages from PDF files when specific sheets should not appear in the derivative. TiPDF validates a page expression, refuses to remove every page and saves the remaining pages locally in their original order.`,Xve=((e={},t={})=>(t.locale??J(),Yve(e))),Zve=()=>
1346`Uses Remove Pages From PDF ranges and shortcuts 1347 1348Prevents Remove Pages From PDF from creating zero pages 1349 1350Deletes and saves entirely in browser memory`,Qve=((e={},t={})=>(t.locale??J(),Zve(e))),$ve=()=>`What Remove Pages From PDF changes`,eye=((e={},t={})=>(t.locale??J(),$ve(e))),tye=()=>`Remove pages from PDF processing opens one source, resolves selected file-page numbers and removes those page objects from highest index to lowest. Working backward prevents earlier removals from shifting the positions of pages that are still queued for deletion. Pages not selected retain their relative order in the new document. 1351 1352Remove pages from PDF cannot cover the entire source. A PDF must keep at least one page, so that request ends with an error rather than an empty or corrupt artifact. The tool does not guess which pages are blank, duplicated or confidential; the user supplies the exact selection after reviewing the source. 1353 1354Remove pages from PDF creates a new file with an updated filename. Page deletion is different from extraction: deletion describes what to discard, while Extract PDF Pages describes what to keep in one smaller document. Split PDF instead creates separate single-page files. Choose the intent that is easiest to verify before processing.`,nye=((e={},t={})=>(t.locale??J(),tye(e))),rye=()=>`Remove Pages From PDF input and selection grammar`,iye=((e={},t={})=>(t.locale??J(),rye(e))),aye=()=>`Remove pages from PDF accepts one genuine .pdf up to 100 MiB and 500 pages. TiPDF checks the extension, signature and parser locally. Password-protected content needs authorized unlocking first. A malformed, empty or unsupported file stops before any artifact is written. 1355 1356The Remove Pages From PDF selection uses one-based file-page numbers. Enter individual values, comma-separated ranges such as 2-4,9, descending ranges such as 8-6, or the keywords odd and even. Duplicate values are deduplicated and normal deletion order is sorted internally. Any page outside 1 through the actual page count is rejected. 1357 1358Remove pages from PDF file labels may differ from printed numbers because covers and front matter often use no number or Roman numerals. Use a reader's page counter and preview thumbnails. The result remains .pdf; its size can decrease, remain similar or change unpredictably because shared resources and objects are serialized again.`,oye=((e={},t={})=>(t.locale??J(),aye(e))),sye=()=>`How to Remove Pages From PDF safely`,cye=((e={},t={})=>(t.locale??J(),sye(e))),lye=()=>`1. Preserve the Remove Pages From PDF source::Work on a copy and keep the untouched original. Deletion creates a derivative and is not an undoable change inside TiPDF after the browser session ends. 1359 13602. Map Remove Pages From PDF numbers::Open the PDF and record the viewer's page count. Note covers, inserts and restarted printed numbering before marking anything for removal. 1361 13623. Build the Remove Pages From PDF list::Enter exact numbers, ranges, odd or even. Confirm that at least one page remains and that each selected page is genuinely unwanted. 1363 13644. Remove pages from PDF locally::The browser validates the expression, removes selected page objects and saves the remaining document without calling remote services. 1365 13665. Compare the Remove Pages From PDF result::Verify the first and last page, every transition around a deletion and the total count. Search for references such as âsee page 12â that may now be inaccurate.`,uye=((e={},t={})=>(t.locale??J(),lye(e))),dye=()=>`Appropriate Remove Pages From PDF workflows`,fye=((e={},t={})=>(t.locale??J(),dye(e))),pye=()=>`Removing scanner separators::Use Remove Pages From PDF on batch dividers only after confirming they contain no annotations or back-side content. Blank-page detection is not automatic. 1367 1368Preparing a client copy::Use Remove Pages From PDF on internal covers or appendices in an authorized derivative, then check that confidential information is not repeated elsewhere. 1369 1370Cleaning an export::Remove duplicated or accidental pages from a generated packet. Compare nearby pages because similar thumbnails can make the wrong duplicate easy to choose. 1371 1372Creating a shorter reading copy::Remove PDF pages that are out of scope while retaining the complete archival source separately. Update citations and navigation in downstream materials.`,mye=((e={},t={})=>(t.locale??J(),pye(e))),hye=()=>`Remove Pages From PDF fidelity and side effects`,gye=((e={},t={})=>(t.locale??J(),hye(e))),_ye=()=>`Remove pages from PDF does not intentionally rasterize or recompress remaining pages. Their content, dimensions, crop boxes and rotations normally retain their representation. Re-saving can still change byte size and internal object organization, especially where removed and retained pages shared resources. 1373 1374Deleting pages can break bookmarks, page labels, internal links, form calculations, indexes, reading order and written cross-references. Certificate signatures that covered the original bytes should not be assumed valid. The tool does not repair those structures or prove that removed content has no remaining copy in metadata, attachments or other pages. Use specialist inspection for regulated redaction or archival requirements. Reconcile the expected source count, discarded count and final count before accepting the derivative.`,vye=((e={},t={})=>(t.locale??J(),_ye(e))),yye=()=>`Local Remove Pages From PDF custody`,bye=((e={},t={})=>(t.locale??J(),yye(e))),xye=()=>`The source is parsed and rewritten in browser memory on the current device. This handler does not send PDF bytes to conversion, storage, sharing or AI endpoints and does not request remote approval. Normal application assets may still use the network. 1375 1376A deleted page is absent from the new PDF page tree, but the original remains wherever it was stored, and downloaded derivatives remain on the device. TiPDF cannot erase backups, sync histories or copies already shared. Page deleti
1376on is not a substitute for a documented retention or secure-destruction process.`,Sye=((e={},t={})=>(t.locale??J(),xye(e))),Cye=()=>`Remove Pages From PDF questions`,wye=((e={},t={})=>(t.locale??J(),Cye(e))),Tye=()=>`Is Remove Pages From PDF online free?::Yes. This local workflow has no checkout or account requirement, subject to file and page limits. 1377 1378Can I delete page from PDF output until none remain?::No. The handler requires at least one page and rejects a selection covering the whole document. 1379 1380Can delete PDF pages detect blanks automatically?::No. The tool does not remove blank pages automatically; review the source and provide exact file-page numbers. 1381 1382What do odd and even mean?::They refer to one-based file-page positions, not printed labels or visual left and right pages. 1383 1384Will bookmarks update?::Do not assume so. Document-level navigation and references may still target the old structure. 1385 1386Is deletion the same as redaction?::No. Deletion removes complete pages. Use the redaction workflow for a rectangular region and validate its rasterized output.`,Eye=((e={},t={})=>(t.locale??J(),Tye(e))),Dye=()=>`Remove pages from PDF capability copy was verified on July 18, 2026 against the local range parser and descending-index removal handler. Tests cover valid deletion, odd and even grammar, out-of-range rejection and the rule that one page must remain. Automatic blank detection, navigation repair, secure destruction and preservation of signatures are excluded.`,Oye=((e={},t={})=>(t.locale??J(),Dye(e))),kye=()=>`Selected PDF page thumbnails leaving a local document while the remaining pages close into their original relative order`,Aye=((e={},t={})=>(t.locale??J(),kye(e))),jye=()=>`Delete a validated set of complete pages locally while keeping at least one page in the PDF.`,Mye=((e={},t={})=>(t.locale??J(),jye(e))),Nye=()=>`Review the list and Remove Pages From PDF`,Pye=((e={},t={})=>(t.locale??J(),Nye(e))),Fye=()=>`Extract Pages From PDF Into One New File | TiPDF`,Iye=((e={},t={})=>(t.locale??J(),Fye(e))),Lye=()=>`Extract selected PDF pages locally into one new PDF. Use numbers, ranges, odd, even or descending order and verify the copied sequence.`,Rye=((e={},t={})=>(t.locale??J(),Lye(e))),zye=()=>`Extract Selected PDF Pages Into One File`,Bye=((e={},t={})=>(t.locale??J(),zye(e))),Vye=()=>`Extract pages from PDF files when a new document should contain only a reviewed selection. TiPDF copies the chosen pages locally, respects the supplied order and saves them together as one PDF.`,Hye=((e={},t={})=>(t.locale??J(),Vye(e))),Uye=()=>`Uses Extract Pages From PDF for one artifact 1387 1388Preserves Extract Pages From PDF selection order 1389 1390Runs without uploading document bytes`,Wye=((e={},t={})=>(t.locale??J(),Uye(e))),Gye=()=>`How Extract Pages From PDF copies pages`,Kye=((e={},t={})=>(t.locale??J(),Gye(e))),qye=()=>`Extract pages from PDF processing opens one source, parses a one-based page expression and asks the PDF engine to copy those page objects into an empty document. Copied pages are appended in the resolved selection order. A range such as 5-3 therefore produces pages 5,4,3 in that sequence rather than silently sorting them upward. 1391 1392Extract pages from PDF creates one combined result. It does not produce a separate file for each chosen page; Split PDF handles that intent. It also does not remove pages from the source or create an updated full document. Delete Pages describes a discard list, while this page describes the exact keep list for a smaller derivative. 1393 1394The Extract Pages From PDF source remains unchanged. The result receives a separate filename and contains only copied pages. TiPDF does not infer chapters, detect blank sheets or choose relevant material. Users must inspect the original and define the selection, then verify that context and references still make sense after surrounding pages are absent.`,Jye=((e={},t={})=>(t.locale??J(),qye(e))),Yye=()=>`Extract Pages From PDF input and expressions`,Xye=((e={},t={})=>(t.locale??J(),Yye(e))),Zye=()=>`Extract pages from PDF accepts one genuine .pdf up to 100 MiB with no more than 500 pages. The local validator checks its extension, PDF signature and parser readability. Protected documents need authorized unlocking before their pages can be copied. 1395 1396The Extract Pages From PDF expression accepts all, individual values, comma-separated ranges, descending ranges, odd and even. Examples include 1,4,7-9 and 10-8,2. Values refer to file-page positions and must fall within the actual count. Duplicate values are deduplicated by the shared parser, while the first occurrence and explicit range direction determine order. 1397 1398Extract pages from PDF output is one file with an extracted suffix. It can contain one page or many, but never pages that were not selected. To save PDF pages accurately, compare viewer page numbers rather than printed labels. Re-serialization can change byte size; extraction is not a compression guarantee.`,Qye=((e={},t={})=>(t.locale??J(),Zye(e))),$ye=()=>`How to Extract Pages From PDF accurately`,ebe=((e={},t={})=>(t.locale??J(),$ye(e))),tbe=()=>`1. Define the Extract Pages From PDF purpose::Decide whether the result is an excerpt, appendix, evidence packet or reading copy. Preserve the complete source separately. 1399 14002. Map Extract Pages From PDF numbers::Use the reader's page counter and thumbnails. Note covers or Roman-numbered front matter that make printed labels differ. 1401 14023. Write the Extract Pages From PDF keep list::Enter pages and ranges in the desired output order. Use descending ranges deliberately and check that every required contextual page is included. 1403 14044. Extract pages from PDF locally::TiPDF validates the expression, copies those page objects into one new document and saves an extracted artifact. 1405 14065. Review the Extract Pages From PDF sequence::Open the output, confirm its count and order, inspect every boundary and update citations or navigation that depended on omitted pages.`,nbe=((e={},t={})=>(t.locale??J(),tbe(e))),rbe=()=>
1406`Useful Extract Pages From PDF derivatives`,ibe=((e={},t={})=>(t.locale??J(),rbe(e))),abe=()=>`Creating an evidence packet::Use Extract Pages From PDF to copy authorized supporting pages into one ordered file while retaining the complete source. 1407 1408Sharing a chapter::Use Extract Pages From PDF for a self-contained section after confirming distribution rights and including definitions or footnotes the reader needs. 1409 1410Collecting signed pages::Gather relevant signature and schedule pages into one review copy. This does not verify certificate validity or replace the original agreement. 1411 1412Reversing a scan segment::A descending range can extract PDF pages online in reverse order when a short batch was scanned backward. Review all transitions before relying on it.`,obe=((e={},t={})=>(t.locale??J(),abe(e))),sbe=()=>`Extract Pages From PDF fidelity and context`,cbe=((e={},t={})=>(t.locale??J(),sbe(e))),lbe=()=>`Extract pages from PDF copies page objects rather than intentionally rasterizing them, so text, vectors, images, dimensions, crop boxes and rotations normally retain their page representation. Resources are saved into a new document, so size and internal references may differ. 1413 1414Document-level features need caution. Bookmarks, destinations, attachments, page labels, forms, tags, signatures and links can depend on pages or objects outside the selection. Written references may point to content no longer present. Extract pages from PDF sources only as a derivative, and use specialist validation when accessibility, archival conformance or certificate signatures are required.`,ube=((e={},t={})=>(t.locale??J(),lbe(e))),dbe=()=>`Local Extract Pages From PDF responsibility`,fbe=((e={},t={})=>(t.locale??J(),dbe(e))),pbe=()=>`The PDF is parsed, copied and saved in browser memory on the current device. This handler does not upload source bytes to conversion, storage, sharing or AI services and does not request remote approval. Standard website resources may still use network requests. 1415 1416The downloaded excerpt remains on the device and can be easier to share than the complete source. TiPDF cannot remove local files, backups or later transfers. Confirm that every retained page is authorized for the intended recipient and that omitted context does not make the excerpt misleading.`,mbe=((e={},t={})=>(t.locale??J(),pbe(e))),hbe=()=>`Extract Pages From PDF questions`,gbe=((e={},t={})=>(t.locale??J(),hbe(e))),_be=()=>`Is Extract Pages From PDF free without an account?::Yes. This local workflow has no checkout requirement, subject to file and page limits. 1417 1418Can I save selected pages together?::Yes. All selected pages are copied into one new PDF in the resolved order. 1419 1420Does the tool copy pages from PDF into separate files?::No. Split PDF creates separate files; this page produces one combined result. 1421 1422Can I reverse the order?::Yes. Descending ranges such as 5-3 preserve the direction and produce 5,4,3. 1423 1424Can the same page appear twice?::Not through the current shared parser; duplicate selections are deduplicated. 1425 1426Does extraction alter the source?::No. It creates a separate artifact and leaves the selected local source unchanged. 1427 1428Are bookmarks and signatures preserved?::Do not assume so. Page content is copied, but document-level structures and certificate validity require separate checks.`,vbe=((e={},t={})=>(t.locale??J(),_be(e))),ybe=()=>`Extract pages from PDF capability copy was verified on July 18, 2026 against the local ordered range parser, new-document creation and PDF page-copy handler. Tests cover selected output count, descending order and invalid ranges. Review also compares the artifact's sequence with the requested indexes, confirms that the original file object is not overwritten and checks that one selected sheet can produce a valid one-page result for ordinary review and distribution. These checks address the implemented page-copy path rather than every advanced PDF feature. It excludes semantic chapter detection, duplicated pages, separate-file output, navigation repair and signature guarantees.`,bbe=((e={},t={})=>(t.locale??J(),ybe(e))),xbe=()=>`Selected pages leaving a larger local PDF sequence and assembling into one smaller PDF in the requested order`,Sbe=((e={},t={})=>(t.locale??J(),xbe(e))),Cbe=()=>`Copy a reviewed page selection into one new PDF while preserving the requested order.`,wbe=((e={},t={})=>(t.locale??J(),Cbe(e))),Tbe=()=>`Extract Pages From PDF into one verified file`,Ebe=((e={},t={})=>(t.locale??J(),Tbe(e))),Dbe=()=>`Add Page Numbers to PDF Footers Locally | TiPDF`,Obe=((e={},t={})=>(t.locale??J(),Dbe(e))),kbe=()=>`Add sequential numbers to all or selected PDF pages. Choose a start from 1 to 9999, place 11-point numbers in the centered footer and save locally.`,Abe=((e={},t={})=>(t.locale??J(),kbe(e))),jbe=()=>`Add Page Numbers to PDF Footers`,Mbe=((e={},t={})=>(t.locale??J(),jbe(e))),Nbe=()=>`Add page numbers to PDF files when a simple visible sequence is needed. TiPDF writes dark 11-point numbers at the bottom center of all or selected pages, starting from the value you choose.`,Pbe=((e={},t={})=>(t.locale??J(),Nbe(e))),Fbe=()=>`Uses Add Page Numbers to PDF on selected pages 1429 1430Starts Add Page Numbers to PDF from 1â9999 1431 1432Writes and saves locally in the browser`,Ibe=((e={},t={})=>(t.locale??J(),Fbe(e))),Lbe=()=>`How Add Page Numbers to PDF is calculated`,Rbe=((e={},t={})=>(t.locale??J(),Lbe(e))),zbe=()=>`Add page numbers to PDF processing resolves selected pages in ascending file-page order. It converts the configured start into a
1432number, then writes start plus the selected-page position. If pages 2,4,6 are chosen with start 10, those pages receive 10,11,12. Unselected pages receive no new label. 1433 1434Add page numbers to PDF labels use embedded standard Helvetica at 11 points, dark gray, horizontally centered against the page width and positioned 20 PDF points above the bottom coordinate. There is no interface control for font, color, prefix, suffix, Roman numerals, total-page notation or placement. 1435 1436Add page numbers to PDF creates visible page content, not the document's logical page-label dictionary. It does not rename thumbnails in every viewer or reconcile printed numbers already present in the artwork. The result is a new edited PDF, and users must check for collisions with footers, crop boxes and existing page furniture.`,Bbe=((e={},t={})=>(t.locale??J(),zbe(e))),Vbe=()=>`Add Page Numbers to PDF input and start value`,Hbe=((e={},t={})=>(t.locale??J(),Vbe(e))),Ube=()=>`Add page numbers to PDF accepts one authentic .pdf up to 100 MiB and 500 pages. TiPDF validates the extension, signature and parser locally. Protected content requires authorized unlocking. The operation does not OCR, render or inspect the visual footer before drawing. 1437 1438The Add Page Numbers to PDF field supports all, individual one-based values, comma-separated ranges, descending ranges, odd and even. The shared parser deduplicates selections and the editor processes the resulting indexes in ascending order, so numbering follows file order rather than the typed token order. 1439 1440Add page numbers to PDF starts from a whole value between 1 and 9999 in the interface. Labels can continue beyond 9999 when a large starting number and many selected pages are combined, because the handler adds position after reading the start; inspect unusual sequences rather than assuming a fixed digit width.`,Wbe=((e={},t={})=>(t.locale??J(),Ube(e))),Gbe=()=>`How to Add Page Numbers to PDF safely`,Kbe=((e={},t={})=>(t.locale??J(),Gbe(e))),qbe=()=>`1. Inspect Add Page Numbers to PDF space::Review representative pages for existing numbers, legal text, crop limits or dense artwork near the bottom center. 1441 14422. Choose Add Page Numbers to PDF pages::Use all for a complete file or enter exact ranges. Numbering advances only across selected pages in ascending file order. 1443 14443. Set the Add Page Numbers to PDF start::Enter a value from 1 to 9999. Calculate the expected final label from the number of selected pages. 1445 14464. Add page numbers to PDF locally::The browser embeds Helvetica, draws each centered label 20 points above the bottom and saves a new document. 1447 14485. Verify Add Page Numbers to PDF output::Compare several labels, every selection boundary and the last numbered page. Print-preview pages with small margins and retain the original.`,Jbe=((e={},t={})=>(t.locale??J(),qbe(e))),Ybe=()=>`Practical Add Page Numbers to PDF workflows`,Xbe=((e={},t={})=>(t.locale??J(),Ybe(e))),Zbe=()=>`Numbering an assembled packet::Add Page Numbers to PDF after merge and organization are final. Later insertion or deletion will not update visible labels. 1449 1450Continuing an appendix::Add Page Numbers to PDF from a value greater than one when a plain Arabic sequence matches the document convention. 1451 1452Marking selected exhibits::Add Page Numbers to PDF only on chosen pages in file order. Unselected pages create visual gaps even though labels remain consecutive. 1453 1454Preparing review copies::Create a disposable reference copy for discussion. Existing printed numbers and the added footer can conflict, so participants must agree which system they cite.`,Qbe=((e={},t={})=>(t.locale??J(),Zbe(e))),$be=()=>`Add Page Numbers to PDF placement effects`,exe=((e={},t={})=>(t.locale??J(),$be(e))),txe=()=>`Add page numbers to PDF uses vector text without intentionally rasterizing or recompressing existing content. Numbers should remain sharp at zoom, but fixed 11-point sizing may be too small or large for unusual page dimensions. A y coordinate of 20 can overlap an existing footer or fall outside a restrictive crop box. 1455 1456Adding visible content rewrites the PDF. Certificate signatures covering the original bytes can become invalid, and forms, tags, annotations or accessibility reading order are not automatically updated to describe the label. The tool does not reserve margin space or shift page content upward. Use specialist publishing software when placement and accessible pagination are formal requirements. Compare the first, middle and final labels against a written expected sequence, then print-preview portrait, landscape and cropped pages. Confirm that footnotes, legal notices, barcodes and trim marks remain readable.`,nxe=((e={},t={})=>(t.locale??J(),txe(e))),rxe=()=>`Local Add Page Numbers to PDF editing`,ixe=((e={},t={})=>(t.locale??J(),rxe(e))),axe=()=>`The source PDF is parsed, edited and saved in browser memory on the current device. No document bytes are sent to TiPDF conversion, storage, sharing or AI endpoints, and the handler does not request remote approval. Normal website resources may still use network access. 1457 1458Refreshing ends the active job, but source and downloaded result remain on the device. TiPDF cannot delete local files, backups or later shares. Check that added labels do not expose an internal sequence before distributing a sensitive packet.`,oxe=((e={},t={})=>(t.locale??J(),axe(e))),sxe=()=>`Add Page Numbers to PDF questions`,cxe=((e={},t={})=>(t.locale??J(),sxe(e))),lxe=()=>`Is Add Page Numbers to PDF online free?::Yes. This local workflow has no checkout requirement, subject to file and page limits. 1459 1460Can I number PDF pages in a header or corner?::No. Labels use a fixed centered footer position, font, color and style. 1461 1462Does page number PDF output replace existing numbers?::No. New labels are added over page content; existing artwork is not detected or removed. 1463 1464Can I add header footer PDF text?::No. The handler only draws plain decimal footer numbers. 1465 1466Where are numbers placed?::At the horizontal center, 20 PDF points above the bottom, using dark 11-point Helvetica. 1467 1468How are selected pages counted?::They are processed in ascending file order, and the start value increments only for selected pages. 1469 1470Can I use Roman numerals or Page 1 of 10?::No. The handler draws plain decimal numbers only.`,uxe=((e={},t={})=>(t.locale??J(),lxe(e))),dxe=()=>`Add page numbers to PDF capability copy was verified on July 18, 2026 against the range parser and local editor that centers 11-point Helvetica labels at y=20, using start plus selected-page position. Verification covers all-page and partial selections, a non-one start, consecutive labels across nonadjacent source pages, visible artifact output and invalid range rejection. Review also confirms that unselected pages receive no new label and that the original local file object remains separate. This PDF page numbering evidence is limited to the implemented plain-label path. It excludes header placement, custom styling, Roman numerals, total-page formats, existing-number detection and accessible page-label repair.`,fxe=((e={},t={})=>(t.locale??J(),dxe(e))),pxe=()=>`Selected PDF pages receiving consecutive dark footer numbers from a chosen starting value while other pages remain unnumbered`,mxe=((e={},t={})=>(t.locale??J(),pxe(e))),hxe=()=>`Write plain consecutive footer numbers on all or selected pages from a chosen starting value.`,gxe=((e={},t={})=>(t.locale??J(),hxe(e))),_xe=()=>`Add Page Numbers to PDF after verifying placement`,vxe=((e={},t={})=>(t.locale??J(),_xe(e))),yxe=()=>`Redact PDF Regions by Rasterizing Every Page | TiPDF`,bxe=((e={},t={})=>(t.locale??J(),yxe(e))),xxe=()=>`Permanently cover one validated rectangle on selected PDF pages. TiPDF rasterizes every page at 2Ã, paints black regi
1470ons and rebuilds an image PDF locally.`,Sxe=((e={},t={})=>(t.locale??J(),xxe(e))),Cxe=()=>`Redact PDF Regions Permanently`,wxe=((e={},t={})=>(t.locale??J(),Cxe(e))),Txe=()=>`Redact PDF content with one precisely entered rectangle on all or selected pages. TiPDF renders every page to pixels, paints the chosen regions black and builds a new image-based PDF locally.`,Exe=((e={},t={})=>(t.locale??J(),Txe(e))),Dxe=()=>`Uses Redact PDF to remove page objects 1471 1472Validates one Redact PDF rectangle per selected page 1473 1474Rasterizes and rebuilds the complete PDF locally`,Oxe=((e={},t={})=>(t.locale??J(),Dxe(e))),kxe=()=>`Why Redact PDF is more than an overlay`,Axe=((e={},t={})=>(t.locale??J(),kxe(e))),jxe=()=>`A normal PDF rectangle drawn over text can leave the underlying words searchable, selectable or recoverable. Redact PDF instead renders every source page at twice its PDF dimensions, applies an opaque black fill on selected page canvases and embeds each finished canvas as a JPEG image in a new PDF. The old text and vector objects are not copied into the derivative. 1475 1476Redact PDF applies one x,y,width,height rectangle to every selected page. Coordinates use PDF points from the bottom-left of each original page, while the renderer converts them to the canvas's top-left pixel system. The rectangle must have positive dimensions and remain fully inside every selected page. 1477 1478Redact PDF provides destructive visual removal inside the generated file, but it has a major cost: all pages, including unselected ones, become images. Searchable text, vector geometry, form fields, links, tags and certificate signatures are not preserved as original structures. A PDF redactor must therefore be followed by close visual and metadata review.`,Mxe=((e={},t={})=>(t.locale??J(),jxe(e))),Nxe=()=>`Redact PDF input, coordinates and output`,Pxe=((e={},t={})=>(t.locale??J(),Nxe(e))),Fxe=()=>`Select one valid .pdf up to 100 MiB and 500 pages for Redact PDF. The local validator checks its signature and PDF.js readability. Encrypted material must be unlocked with authorization. Browser rendering is also limited to 250 million decoded pixels across the job, so a very long or unusually large-page document can stop before completion. 1479 1480Enter the Redact PDF rectangle as four comma-separated PDF-point values: x,y,width,height. The default 40,40,200,40 begins 40 points from the left and bottom, spans 200 points horizontally and 40 vertically. The same geometry is tested on each selected page; mixed page sizes can make a rectangle valid on one page and invalid on another. 1481 1482All pages are rendered at scale 2 and encoded as JPEG quality 0.9, then placed on new pages with the original point width and height. The output receives a redacted suffix. There is no visual drag editor, multiple rectangles, color choice, pattern matching or automatic sensitive-data discovery.`,Ixe=((e={},t={})=>(t.locale??J(),Fxe(e))),Lxe=()=>`How to Redact PDF regions and verify them`,Rxe=((e={},t={})=>(t.locale??J(),Lxe(e))),zxe=()=>`1. Prepare the Redact PDF source::Preserve the original under appropriate controls and decide exactly what information must be removed from the derivative. 1483 14842. Determine Redact PDF coordinates::Measure x and y from the page's bottom-left in PDF points, plus positive width and height. Account for different page sizes and rotations. 1485 14863. Choose the pages::Enter all, numbers, ranges, odd or even. One geometry applies to every selected page, so split jobs when regions differ. 1487 14884. Redact PDF pages locally::The browser renders the complete document, paints black pixels on selected canvases and rebuilds every page as a JPEG image. 1489 14905. Perform adversarial review::After you redact PDF content, zoom each region, extract text, search known terms, inspect metadata and attachments, and compare every page. Have another reviewer check high-risk material before release.`,Bxe=((e={},t={})=>(t.locale??J(),zxe(e))),Vxe=()=>`Suitable Redact PDF cases`,Hxe=((e={},t={})=>(t.locale??J(),Vxe(e))),Uxe=()=>`Repeated footer identifiers::Use Redact PDF when an identifier occupies exactly the same coordinates on selected pages. Verify pages with different dimensions separately. 1491 1492Single-page account details::Use the PDF redactor for a known box, then test that nearby labels or values are not clipped and that hidden copies are absent elsewhere. 1493 1494Image-based release copies::Create a flattened derivative when loss of search and vector structure is acceptable. Keep accessible or archival masters under separate control. 1495 1496Pre-sharing review::Redact PDF online only after confirming local browser processing fits policy, and never assume one rectangle finds every occurrence of a name or number.`,Wxe=((e={},t={})=>(t.locale??J(),Uxe(e))),Gxe=()=>`Redact PDF quality and accessibility tradeoffs`,Kxe=((e={},t={})=>(t.locale??J(),Gxe(e))),qxe=()=>`Every page is rasterized at 2Ã and encoded with lossy JPEG quality 0.9. This usually retains readable appearance, but fine vectors, small text, gradients and diagrams can soften or show compression artifacts. Output size can increase or decrease. There is no fallback to the original when the result is larger. 1497 1498When you redact PDF pages this way, the image PDF no longer provides original selectable text, semantic reading order, live links or interactive forms. Screen readers cannot recover meaning from pixels, and OCR is not automatically added after redaction. If accessibility is required, create a carefully reviewed accessible derivative without reintroducing removed information. Never place an OCR layer containing the redacted source text.`,Jxe=((e={},t={})=>(t.locale??J(),qxe(e))),Yxe=()=>`Local Redact PDF limits`,Xxe=((e={},t={})=>(t.locale??J(),Yxe(e))),Zxe=()=>`Rendering, painting and rebuilding occur in browser memory on the current device. The handler does not upload PDF bytes to conversion, storage, sharing or AI services and does not request remote approval. PDF.js code and n
1498ormal website assets may still be fetched. 1499 1500The generated file removes source page objects by replacing pages with images, but TiPDF does not erase the original, downloads, backups, clipboard data or prior shares. It also does not scan document metadata or attachments for secrets. A permanent redaction workflow needs custody controls and a documented review beyond the visible rectangle.`,Qxe=((e={},t={})=>(t.locale??J(),Zxe(e))),$xe=()=>`Redact PDF questions`,eSe=((e={},t={})=>(t.locale??J(),$xe(e))),tSe=()=>`Is Redact PDF free without an account?::Yes. The local workflow has no checkout or account requirement, subject to file, page and pixel limits. 1501 1502Does permanent PDF redaction remove underlying page text?::This derivative rasterizes every page, paints the rectangle and does not copy original page objects. Metadata and attachments still need separate inspection. 1503 1504Can I remove sensitive information automatically?::No. You must provide one rectangle and select pages; there is no name, number or pattern discovery. 1505 1506Is this just a black box over live text?::No. When you redact PDF content here, output pages are newly rendered images, so original page text and vectors are not copied beneath the rectangle. 1507 1508Can I draw the rectangle with a mouse?::Not currently. Enter x,y,width,height in PDF points measured from the bottom-left. 1509 1510Can each page use a different rectangle?::Not in one run. The same rectangle applies to all selected pages. 1511 1512Will the result stay searchable?::No. Every page becomes a JPEG image and OCR is not added. 1513 1514Does this remove metadata and attachments?::Not proven. Inspect the complete output and use specialist sanitization for formal disclosure requirements.`,nSe=((e={},t={})=>(t.locale??J(),tSe(e))),rSe=()=>`Redact PDF capability copy was verified on July 18, 2026 against the local PDF.js renderer, coordinate validation, 2Ã canvas, opaque black fill, JPEG 0.9 encoding and new image-PDF assembly. PDF redactor tests cover regions within bounds and reject invalid rectangles. It accurately states that every page is rasterized and excludes drag selection, multiple regions, discovery, retained searchability, metadata sanitization and automatic OCR.`,iSe=((e={},t={})=>(t.locale??J(),rSe(e))),aSe=()=>`A selected rectangular area being painted black on rendered PDF pages before every page is rebuilt as an image`,oSe=((e={},t={})=>(t.locale??J(),aSe(e))),sSe=()=>`Use Redact PDF to rasterize every page and paint one validated black rectangle.`,cSe=((e={},t={})=>(t.locale??J(),sSe(e))),lSe=()=>`Verify coordinates and Redact PDF regions`,uSe=((e={},t={})=>(t.locale??J(),lSe(e))),dSe=()=>`Watermark PDF Pages With Diagonal Red Text | TiPDF`,fSe=((e={},t={})=>(t.locale??J(),dSe(e))),pSe=()=>`Add one diagonal red text watermark to all or selected PDF pages locally. Choose text and opacity from 0.05 to 1, then inspect the edited file.`,mSe=((e={},t={})=>(t.locale??J(),pSe(e))),hSe=()=>`Watermark PDF Pages With Diagonal Text`,gSe=((e={},t={})=>(t.locale??J(),hSe(e))),_Se=()=>`Watermark PDF pages with one red text label placed diagonally across the middle. TiPDF applies the chosen text and opacity to all or selected pages and saves a new file locally.`,vSe=((e={},t={})=>(t.locale??J(),_Se(e))),ySe=()=>`Uses custom text in each Watermark PDF label 1515 1516Targets all pages or a Watermark PDF selection 1517 1518Adds vector text without rasterizing existing pages`,bSe=((e={},t={})=>(t.locale??J(),ySe(e))),xSe=()=>`How Watermark PDF labels are drawn`,SSe=((e={},t={})=>(t.locale??J(),xSe(e))),CSe=()=>`Watermark PDF embeds standard Helvetica and draws one line of red text at a 35-degree angle near the vertical middle of every selected page. The x coordinate tries to center the measured label but never starts left of 24 points. The current handler does not tile the text or repeat it around the page. 1519 1520Watermark PDF font size is calculated from page width and text length, then clamped between 20 and 64 points. Long labels therefore become smaller, while short labels stop growing at 64. Opacity is clamped from 0.05 through 1; the default is 0.25. The page's existing objects remain underneath the new vector label. 1521 1522A Watermark PDF label communicates status or ownership visually, but it is not access control. Recipients can still read, copy, edit or remove content using capable software. Watermark PDF output should not be described as encryption, redaction, certificate signing or proof of authorship.`,wSe=((e={},t={})=>(t.locale??J(),CSe(e))),TSe=()=>`Watermark PDF input, text and opacity`,ESe=((e={},t={})=>(t.locale??J(),TSe(e))),DSe=()=>`Choose one authentic .pdf up to 100 MiB and 500 pages for Watermark PDF. The browser validates its extension, signature and parser readability. Encrypted files need authorized unlocking first. The tool does not inspect whether an existing watermark or central artwork is already present. 1523 1524Enter the Watermark PDF text; the default is CONFIDENTIAL. The current input is a single text value, not an image, logo file, multi-line block or dynamic filename token. Helvetica may not represent every Unicode character, and unsupported glyphs or complex scripts can fail or render incorrectly. Test the actual output. 1525 1526Opacity uses a numeric control from 0.05 to 1 in 0.05 steps. Page selection supports all, numbers, ranges, odd and even. One text and one opacity apply to the entire selected set. The output remains PDF with an edited suffix.`,OSe=((e={},t={})=>(t.locale??J(),DSe(e))),kSe=()=>`How to Watermark PDF pages clearly`,ASe=((e={},t={})=>(t.locale??J(),kSe(e))),jSe=()=>`1. Define the Watermark PDF purpose::Choose a short status such as DRAFT or CONFIDENTIAL that recipients will understand. Do not imply legal protection the mark cannot provide. 1527 15282. Inspect representative pages::Look for central diagrams, signatures, small text and mixed page sizes. One fixed 35-degree placement may overlap important material. 1529 15303. Select Watermark PDF opacity::Enter all or ranges, then choose visibility from 0.05 to 1. Test a restrained value before using full opacity. 1531
15324. Watermark PDF pages locally::The browser calculates a 20â64 point Helvetica size, centers the red diagonal text and writes one label per selected page. 1533 15345. Review every layout::Check light and dark artwork, print preview, clipped labels and unselected pages. Keep the source because this workflow does not include a remove-watermark command.`,MSe=((e={},t={})=>(t.locale??J(),jSe(e))),NSe=()=>`Appropriate Watermark PDF workflows`,PSe=((e={},t={})=>(t.locale??J(),NSe(e))),FSe=()=>`Draft circulation::Use Watermark PDF on review copies so status is visible, while relying on separate permissions and version control for actual access. 1535 1536Confidentiality reminders::Place a prominent reminder on selected pages. A label cannot stop screenshots, extraction or forwarding. 1537 1538Sample documents::Mark evaluation copies before sharing them through an approved channel. Verify that the label does not obscure accessibility-critical content. 1539 1540Internal stage labels::Use Watermark PDF for a plain status such as PRELIMINARY. There is no automatic user name, date, page number or unique tracking token.`,ISe=((e={},t={})=>(t.locale??J(),FSe(e))),LSe=()=>`Watermark PDF legibility and consequences`,RSe=((e={},t={})=>(t.locale??J(),LSe(e))),zSe=()=>`The label is vector text, so it normally remains crisp without rasterizing existing page content. Automatic font sizing helps it fit many widths, but centering and a 35-degree rotation can still clip on narrow, rotated or cropped pages. Low opacity can disappear over busy artwork, while high opacity can obscure source information. 1541 1542Watermark PDF editing rewrites the document. Certificate signatures covering the original bytes may become invalid, and tags or reading order do not automatically incorporate the visual label. The text does not reserve space or adapt color for contrast. When a watermark must meet branding, accessibility or legal specifications, use a publishing workflow with explicit layout review. Inspect pages with photographs, dark fills, narrow columns and signatures separately. Compare screen and print output, confirm the label stays legible without covering evidence, and keep an unmarked source for future revisions.`,BSe=((e={},t={})=>(t.locale??J(),zSe(e))),VSe=()=>`Local Watermark PDF editing`,HSe=((e={},t={})=>(t.locale??J(),VSe(e))),USe=()=>`PDF parsing, font embedding and drawing happen in browser memory on the current device. No document bytes are sent to conversion, storage, sharing or AI endpoints, and no remote approval is requested. Normal application resources may still use network connections. 1543 1544The source and downloaded result remain on the device after processing. TiPDF cannot erase local copies, backups or later shares. Avoid putting sensitive personal information into watermark text because the label becomes visible content in every selected page. Retain backups.`,WSe=((e={},t={})=>(t.locale??J(),USe(e))),GSe=()=>`Watermark PDF questions`,KSe=((e={},t={})=>(t.locale??J(),GSe(e))),qSe=()=>`Can I add a text watermark PDF label?::Yes. The handler draws one custom text value in standard Helvetica. 1545 1546Can I add watermark to PDF with an image?::No. Image watermark PDF input and logos are not implemented. 1547 1548Is Watermark PDF free without an account?::Yes. This local workflow has no checkout or account requirement, subject to file and page limits. 1549 1550Can I move or rotate the label?::No. It is placed near the middle at a fixed 35-degree angle. 1551 1552Can I repeat the watermark across a page?::No. One label is drawn on each selected page. 1553 1554Does it protect the PDF from copying?::No. It is a visible reminder, not encryption or permission enforcement. 1555 1556Can I remove an existing watermark?::Not with this tool. It only adds new text and does not detect existing marks.`,JSe=((e={},t={})=>(t.locale??J(),qSe(e))),YSe=()=>`Watermark PDF capability copy was verified on July 18, 2026 against the local editor that embeds Helvetica, computes a 20â64 point size, centers red text at mid-page, rotates it 35 degrees and clamps opacity to 0.05â1. Verification covers a partial page range, default and custom labels, minimum and maximum opacity, visible vector output and unchanged page count. A PDF watermark online result is also reviewed for clipping and overlap on different source dimensions. These checks describe the implemented label path, not downstream viewer behavior. It excludes image marks, tiling, custom position, removal, tracking and security guarantees.`,XSe=((e={},t={})=>(t.locale??J(),YSe(e))),ZSe=()=>`Selected PDF pages receiving one centered diagonal red text label at a chosen opacity while other pages stay unchanged`,QSe=((e={},t={})=>(t.locale??J(),ZSe(e))),$Se=()=>`Use Watermark PDF for one diagonal red text label with chosen opacity.`,eCe=((e={},t={})=>(t.locale??J(),$Se(e))),tCe=()=>`Add the reviewed Watermark PDF label`,nCe=((e={},t={})=>(t.locale??J(),tCe(e))),rCe=()=>`Share PDF Online With an Unlisted Storage Link | TiPDF`,iCe=((e={},t={})=>(t.locale??J(),rCe(e))),aCe=()=>`Upload one approved PDF up to 50 MiB to configured object storage and receive an unlisted URL. Anyone who obtains the link can open the document.`,oCe=((e={},t={})=>(t.locale??J(),aCe(e))),sCe=()=>`Share PDF Online With an Unlisted Link`,cCe=((e={},t={})=>(t.locale??J(),sCe(e))),lCe=()=>`Share PDF online by uploading one approved file to the deployment's configured object storage. TiPDF returns an unlisted URL, but anyone who receives or discovers that URL can open the document.`,uCe=((e={},t={})=>(t.locale??J(),lCe(e))),dCe=()=>`Requires approval before Share PDF Online upload 1557 1558Creates a random key for each Share PDF Online link 1559 1560Returns a URL that can be copied immediately`,fCe=((e={},t={})=>(t.locale??J(),dCe(e))),pCe=()=>`How Share PDF Online works`,mCe=((e={},t={})=>(t.locale??J(),pCe(e))),hCe=()=>`Share PDF online begins with a remote-processing notice because this tool sends the actual PDF file. After approval, it posts one multipart upload to TiPDF's sharing endpoint. The server checks the request size, reads the file, verifies the first bytes contain the PDF signature and sends those bytes to configured object storage. 1561 1562Share PDF online storage receives a random key under a shares path, the application/pdf c
1562ontent type and inline disposition. If upload succeeds, the route returns the provider URL, or resolves a relative URL against the configured application address. The client displays that address instead of downloading a new artifact. 1563 1564The Share PDF online link is unlisted, not authenticated. There is no password prompt, recipient account check, expiration time, one-time access rule or revocation control in this handler. A share PDF link should be treated like a bearer secret: anyone holding it may open or forward it.`,gCe=((e={},t={})=>(t.locale??J(),hCe(e))),_Ce=()=>`Share PDF Online checks and storage response`,vCe=((e={},t={})=>(t.locale??J(),_Ce(e))),yCe=()=>`Share PDF online accepts one non-empty .pdf no larger than 50 MiB. The request must include Content-Length; missing, invalid or clearly oversized lengths are rejected before multipart parsing. After parsing, the file size is checked again, and its first five bytes must be %PDF-. This signature check does not prove every page is readable or safe. 1565 1566The Share PDF online deployment must have object storage configured in Admin Settings through the storage service. TiPDF does not fall back to local disk or public temporary hosting when storage is unavailable. Provider failure, missing URL or malformed input returns an error instead of a link. 1567 1568Share PDF online requests are limited to a minimum 60-second interval for the request key. The result is a URL string; no QR code, email message, access log, expiration metadata or management dashboard is created. Compress a large file first only if the derived content and quality are acceptable.`,bCe=((e={},t={})=>(t.locale??J(),yCe(e))),xCe=()=>`How to Share PDF Online with consent`,SCe=((e={},t={})=>(t.locale??J(),xCe(e))),CCe=()=>`1. Review Share PDF Online content::Remove unintended pages, comments, metadata and sensitive content using appropriate tools. Confirm that every recipient is permitted to see the complete file. 1569 15702. Understand the Share PDF Online link::The URL is not indexed intentionally, but it has no recipient authentication. Decide whether a bearer link is sufficient for the information classification. 1571 15723. Approve Share PDF Online storage::Choose one PDF within 50 MiB, read the remote-upload notice and continue only when configured storage is acceptable. 1573 15744. Share PDF online::TiPDF validates the upload, stores it under a random key and returns the provider URL. Wait for the current request rather than repeating it inside the 60-second interval. 1575 15765. Deliver through an approved channel::Copy the URL to the intended recipients and keep a record of what was shared. Do not claim expiration or revocation unless the storage provider is managed separately to provide it.`,wCe=((e={},t={})=>(t.locale??J(),CCe(e))),TCe=()=>`When Share PDF Online fits`,ECe=((e={},t={})=>(t.locale??J(),TCe(e))),DCe=()=>`Sending a review copy::Use Share PDF online for low-risk material when recipients need browser access and the deployment's storage policy is known. 1577 1578Avoiding attachment limits::Share PDF online after confirming the provider can handle traffic and retention. The route itself does not report download limits. 1579 1580Posting an internal reference::Place a bearer link in an access-controlled workspace, understanding that the storage URL may still work if copied outside that workspace. 1581 1582Temporary collaboration::A team may operationally remove the storage object later, but TiPDF's current share page does not expose deletion or a timer. Treat temporary intent as a separate administrative process.`,OCe=((e={},t={})=>(t.locale??J(),DCe(e))),kCe=()=>`Share PDF Online integrity and availability`,ACe=((e={},t={})=>(t.locale??J(),kCe(e))),jCe=()=>`The uploaded bytes are stored as the selected PDF; this route does not compress, rasterize, modify or validate every page. A successful URL therefore means storage accepted the bytes, not that the document renders correctly. Open the link in a private browser session and inspect page count, text, images and download behavior. 1583 1584Availability depends on the configured provider, bucket permissions, URL design, network and later administrative changes. TiPDF makes no universal uptime or permanent-hosting guarantee. Inline disposition asks a browser to display the PDF, but browser policy can still download it. A pdf link generator cannot replace backups or records management.`,MCe=((e={},t={})=>(t.locale??J(),jCe(e))),NCe=()=>`Share PDF Online retention and bearer access`,PCe=((e={},t={})=>(t.locale??J(),NCe(e))),FCe=()=>`Share PDF online is not local processing. After explicit approval, the complete PDF travels through the TiPDF server to configured object storage. Server and provider logs, geographic location, encryption, access controls and retention depend on the deployment. The route itself sets no expiration and makes no automatic-deletion promise. 1585 1586Anyone with the returned URL can open the object according to storage configuration. Search engines are not given the URL by this handler, but unlisted does not mean private or impossible to discover. Use Protect PDF before sharing only when password encryption fits the workflow, and transmit passwords through a separate approved channel.`,ICe=((e={},t={})=>(t.locale??J(),FCe(e))),LCe=()=>`Share PDF Online link questions`,RCe=((e={},t={})=>(t.locale??J(),LCe(e))),zCe=()=>`Can I share PDF without login?::Recipients need no TiPDF account because the result is an unlisted bearer URL with no authentication. 1587 1588Does Share PDF QR code output exist?::No. The route returns a URL string only and does not generate a QR image. 1589 1590Can I send large PDF files over 50 MiB?::Not through this route. The upload limit is 50 MiB; compress a reviewed derivative only when quality and content remain acceptable. 1591 1592When does the link expire?::No expiration is set by this handler. Provider or administrator policies may differ, but they are outside the returned data. 1593 1594Can I revoke the link here?::No. The page has no delete or revoke control; storage administrators may manage the object separately. 1595 1596Is the file processed locally?::No. The complete approved PDF uploads to TiPDF and configured storage.`,BCe=((e={},t={})=>(t.locale??J(),zCe(e))),VCe=()=>`Share PDF online capability copy was verified on July 18, 2026 against the approval gate, 50 MiB API, Content-Length and %PDF- checks, 60-second rate interval, random shares key, configured storage upload and URL response. It excludes accounts, expiration, revocation, deleti
1596on, QR codes, rendering validation and universal retention promises.`,HCe=((e={},t={})=>(t.locale??J(),VCe(e))),UCe=()=>`One approved PDF uploading through TiPDF to configured object storage and returning an unlisted bearer link`,WCe=((e={},t={})=>(t.locale??J(),UCe(e))),GCe=()=>`Upload one approved PDF to configured storage and receive an unlisted URL anyone holding it can open.`,KCe=((e={},t={})=>(t.locale??J(),GCe(e))),qCe=()=>`Approve storage and Share PDF Online`,JCe=((e={},t={})=>(t.locale??J(),qCe(e))),YCe=()=>`Image to PDF Converter for Mixed Formats | TiPDF`,XCe=((e={},t={})=>(t.locale??J(),YCe(e))),ZCe=()=>`Combine up to 100 JPG, PNG, BMP, GIF, HEIC, TIFF or WebP files locally. Each decoded image or TIFF frame becomes one centered A4 PDF page.`,QCe=((e={},t={})=>(t.locale??J(),ZCe(e))),$Ce=()=>`Use Image to PDF for Mixed Formats`,ewe=((e={},t={})=>(t.locale??J(),$Ce(e))),twe=()=>`Use this image to PDF workspace to combine mixed supported formats in selection order. TiPDF decodes files locally and places every image or multipage TIFF frame on its own centered A4 page.`,nwe=((e={},t={})=>(t.locale??J(),twe(e))),rwe=()=>`Uses Image to PDF with seven image families 1597 1598Creates one ordered Image to PDF page per canvas 1599 1600Runs decoding and assembly in browser memory`,iwe=((e={},t={})=>(t.locale??J(),rwe(e))),awe=()=>`How Image to PDF handles mixed files`,owe=((e={},t={})=>(t.locale??J(),awe(e))),swe=()=>`The Image to PDF converter walks through selected files in order. Ordinary JPG, PNG, BMP, GIF, HEIC and WebP inputs each produce one decoded canvas. TIFF is different: the local UTIF decoder expands every image directory, so one multipage TIFF can contribute several consecutive pages before Image to PDF processing moves to the next selected file. 1601 1602For Image to PDF assembly, each canvas is painted onto white where the browser path supports transparency, encoded as JPEG at quality 0.9 and embedded on a new portrait A4 page measuring 595.28 by 841.89 PDF points. A 24-point margin surrounds the available area. Images are reduced to fit while preserving aspect ratio, but never enlarged beyond decoded pixel size. 1603 1604The result is one PDF named from the first file, with an images suffix when several inputs are selected. The image to PDF converter does not run OCR, preserve animation, create captions or place several images on one page. It is a page assembly workflow, not semantic document reconstruction.`,cwe=((e={},t={})=>(t.locale??J(),swe(e))),lwe=()=>`Image to PDF formats, counts and limits`,uwe=((e={},t={})=>(t.locale??J(),lwe(e))),dwe=()=>`Select between one and 100 files with JPG, PNG, BMP, GIF, HEIC, TIFF or WebP extensions for Image to PDF conversion. Each local file can be up to 100 MiB, but successful processing also depends on valid content signatures and browser decoding. A renamed or damaged file is rejected. 1605 1606Every Image to PDF canvas is limited to 80 million pixels, and the combined task is limited to 250 million pixels. These limits apply after decoding, so a highly compressed source can still be too large. HEIC uses a lazy-loaded local decoder and first becomes JPEG at quality 0.92. TIFF pages use UTIF and can increase the output page count beyond the number of files. 1607 1608Image to PDF does not retain GIF animation as moving content; the browser-decoded static image becomes one page. Alpha-capable ordinary formats are composited onto white. All final page images are JPEG 0.9, so even a lossless or transparent source changes representation.`,fwe=((e={},t={})=>(t.locale??J(),dwe(e))),pwe=()=>`How to run Image to PDF assembly`,mwe=((e={},t={})=>(t.locale??J(),pwe(e))),hwe=()=>`1. Choose the Image to PDF order::Arrange files in the sequence readers should see. Rename them clearly before selection because the tool does not sort by visual content. 1609 16102. Inspect Image to PDF behavior::Count TIFF frames, choose the intended static GIF representation and expect transparent areas to become white. 1611 16123. Select up to 100 files::Image to PDF validates extensions, signatures, file size and decoded pixel limits locally. Remove oversized or damaged sources instead of repeated retries. 1613 16144. Run image to PDF conversion::The browser decodes each source, creates one A4 page per canvas, fits it within 24-point margins and saves one PDF. 1615
16165. Verify every page::Compare order, frame count, orientation, white backgrounds, fine detail and margins. Keep the originals because JPEG embedding is a derivative.`,gwe=((e={},t={})=>(t.locale??J(),hwe(e))),_we=()=>`Useful Image to PDF workflows`,vwe=((e={},t={})=>(t.locale??J(),_we(e))),ywe=()=>`Combining photographed evidence::Use Image to PDF to create one ordered packet from authorized photos and screenshots. Add descriptions separately because filenames and metadata are not printed. 1617 1618Consolidating scanned graphics::Mix supported bitmap formats into a consistent A4 reading copy, then use OCR separately only if searchable text is needed. 1619 1620Packaging design exports::Use a photo to PDF workflow for review sheets while understanding that color profiles, transparency and lossless detail may change. 1621 1622Expanding multipage TIFF::Place all TIFF directories beside ordinary image files in one sequence. Verify page count carefully because one file can create many pages.`,bwe=((e={},t={})=>(t.locale??J(),ywe(e))),xwe=()=>`Mixed-image scaling and JPEG boundaries`,Swe=((e={},t={})=>(t.locale??J(),xwe(e))),Cwe=()=>`Aspect ratio is preserved, and images larger than the available A4 area are scaled down. Smaller images are not enlarged, so they can occupy a modest centered area with generous white space. There is no landscape-page choice, edge-to-edge mode, custom margin, cropping or rotation control. 1623 1624Every page uses JPEG quality 0.9. Photographs usually fit that representation, but line art and small text can show artifacts. Transparency becomes white on ordinary browser-decoded formats, and animation disappears. The converter does not preserve EXIF, layers or interactive content as PDF features. Inspect a zoomed output when visual fidelity matters.`,wwe=((e={},t={})=>(t.locale??J(),Cwe(e))),Twe=()=>`Local Image to PDF processing`,Ewe=((e={},t={})=>(t.locale??J(),Twe(e))),Dwe=()=>`Decoding, white compositing, JPEG encoding and PDF assembly happen in browser memory on the current device. The handler does not send selected images to conversion, storage, sharing or AI endpoints and does not request remote approval. Decoder code and normal site assets may still be fetched. 1625 1626Downloaded output and source images remain on the device. TiPDF cannot delete local files, camera metadata in originals, backups or later shares. The generated PDF does not intentionally include source filenames, but users should still inspect visible content before distribution.`,Owe=((e={},t={})=>(t.locale??J(),Dwe(e))),kwe=()=>`Image to PDF conversion questions`,Awe=((e={},t={})=>(t.locale??J(),kwe(e))),jwe=()=>`Can I combine multiple images to PDF?::Yes. The workspace accepts all seven supported image families together in selection order. 1627 1628Is images to PDF online free access available?::Yes. The local workflow has no account or checkout requirement, subject to the file, pixel and browser-memory limits. 1629 1630Is this an image to PDF maker with captions?::It creates one A4 page per decoded canvas, but it does not print captions or filenames. 1631 1632Does each file equal one page?::Usually, but a multipage TIFF contributes one page per decoded directory. 1633 1634Will animated GIF stay animated?::No. The PDF contains a static browser-decoded image page. 1635 1636Are transparent areas preserved?::No. Ordinary alpha-capable inputs are composited on white before JPEG embedding. 1637 1638Will text become searchable?::No. Images remain image content; use OCR as a separate reviewed workflow.`,Mwe=((e={},t={})=>(t.locale??J(),jwe(e))),Nwe=()=>`Image to PDF capability copy was verified on July 18, 2026 against mixed-format registration, local decoders, TIFF directory expansion, HEIC conversion, 80/250-million pixel limits, A4 geometry, 24-point margins and JPEG 0.9 embedding. Verification combines several extensions in one ordered job, compares decoded canvas count with output page count and confirms that each page contains one centered image. The image to PDF artifact is also checked for a valid signature and stable portrait page dimensions. It excludes animation, OCR, transparency, enlargement, landscape pages and multi-image layouts.`,Pwe=((e={},t={})=>(t.locale??J(),Nwe(e))),Fwe=()=>`Mixed JPG, PNG, GIF, HEIC, TIFF and WebP images decoding locally into one ordered A4 PDF page stack`,Iwe=((e={},t={})=>(t.locale??J(),Fwe(e))),Lwe=()=>
1638`Use Image to PDF for mixed supported formats with one local A4 page per decoded canvas.`,Rwe=((e={},t={})=>(t.locale??J(),Lwe(e))),zwe=()=>`Build a verified Image to PDF document`,Bwe=((e={},t={})=>(t.locale??J(),zwe(e))),Vwe=()=>`BMP to PDF Converter for Ordered A4 Pages | TiPDF`,Hwe=((e={},t={})=>(t.locale??J(),Vwe(e))),Uwe=()=>`Convert up to 100 BMP bitmaps locally into one PDF. Each decoded image is centered on its own portrait A4 page, composited on white and embedded as JPEG.`,Wwe=((e={},t={})=>(t.locale??J(),Uwe(e))),Gwe=()=>`Convert BMP to PDF on Ordered A4 Pages`,Kwe=((e={},t={})=>(t.locale??J(),Gwe(e))),qwe=()=>`Convert BMP to PDF when separate bitmap files need one ordered document. TiPDF decodes each BMP locally, places it on a white canvas and creates one centered portrait A4 page per file.`,Jwe=((e={},t={})=>(t.locale??J(),qwe(e))),Ywe=()=>`Accepts 100 ordered files in BMP to PDF 1639 1640Creates one BMP to PDF page per bitmap 1641 1642Keeps image bytes on the current device`,Xwe=((e={},t={})=>(t.locale??J(),Ywe(e))),Zwe=()=>`How BMP to PDF handles bitmap pixels`,Qwe=((e={},t={})=>(t.locale??J(),Zwe(e))),$we=()=>`The BMP to PDF converter processes the selected list from first to last. For every source, the browser tries createImageBitmap and falls back to an Image element if needed. The BMP to PDF decoder checks width and height before creating a same-size canvas. 1643 1644BMP to PDF uses an alpha-disabled canvas, fills every pixel with white and draws the bitmap over it. TiPDF then encodes the canvas as JPEG at quality 0.9 and embeds it into a new PDF page. This means the PDF does not contain the original BMP stream or a guaranteed lossless copy of every pixel. 1645 1646Each BMP to PDF page uses portrait A4 dimensions, with 24 PDF points of margin. The decoded image keeps its aspect ratio and is reduced if it exceeds the available area; a smaller bitmap is not enlarged. One input creates one page, and all pages are combined in selection order into one artifact.`,eTe=((e={},t={})=>(t.locale??J(),$we(e))),tTe=()=>`BMP to PDF input and pixel boundaries`,nTe=((e={},t={})=>(t.locale??J(),tTe(e))),rTe=()=>`BMP to PDF accepts one to 100 .bmp files. Each local file can be up to 100 MiB and must pass content-signature validation. BMP files are often lightly compressed or uncompressed, so byte size can become the first practical limit even when dimensions appear modest. 1647 1648A BMP to PDF bitmap may contain no more than 80 million decoded pixels, and all canvases together may contain no more than 250 million. Those checks protect browser memory. Width or height must also be positive and within canvas capability. Damaged headers, unsupported BMP variants or allocation failure produce an error rather than a partial PDF. 1649 1650The result is named from the first source, with an images suffix when several files are selected. Only BMP is accepted on this specialized page; use the mixed image workspace when JPG, PNG, GIF, HEIC, TIFF or WebP must join the same result.`,iTe=((e={},t={})=>(t.locale??J(),rTe(e))),aTe=()=>`How to run BMP to PDF in order`,oTe=((e={},t={})=>(t.locale??J(),aTe(e))),sTe=()=>`1. Inspect BMP to PDF sources::Open every bitmap and check orientation, color, dimensions, blank borders and whether it is the intended version. 1651 16522. Arrange BMP to PDF order::Choose files in reader sequence. The converter does not sort by embedded content or modification date. 1653 16543. Check resource limits::Large BMP sources can consume substantial memory after decoding. Reduce dimensions with an approved image editor when the pixel total is too high. 1655 16564. Convert BMP to PDF locally::TiPDF decodes each source, composites it on white, encodes JPEG 0.9 and centers it on a separate A4 page. 1657 16585. Compare the result::Verify page order, fine lines, small text, color, white borders and print size. Keep original bitmaps because the output representation is lossy.`,cTe=((e={},t={})=>(t.locale??J(),sTe(e))),lTe=()=>`Practical BMP to PDF workflows`,uTe=((e={},t={})=>(t.locale??J(),lTe(e))),dTe=()=>`Packaging legacy scans::Combine older BMP scan exports into a convenient reading copy, then run OCR separately only if searchable text is needed. 1659 1660Collecting application screenshots::Use a bitmap to PDF workflow for approved screen captures while checking that small interface text survives JPEG encoding. 1661 1662Creating visual appendices::Place diagrams or instrument output on consistent A4 sheets. There are no captions, headers or filenames printed automatically. 1663 1664Reducing distribution friction::A multi-page PDF can be easier to send than many BMP files, but the converter does not promise a smaller result or archival conformance.`,fTe=((e={},t={})=>(t.locale??J(),dTe(e))),pTe=()=>`BMP to PDF quality and scale`,mTe=((e={},t={})=>(t.locale??J(),pTe(e))),hTe=()=>`BMP can store crisp pixel art, line drawings or screenshots without JPEG artifacts. The converter's JPEG 0.9 step may introduce ringing, softened edges or color changes, especially around high-contrast text. The white canvas removes any alpha-like behavior exposed by the decoder. 1665 1666Images larger than the A4 content box shrink proportionally; smaller images remain at their decoded pixel-based size and can leave substantial white space. There is no crop, rotation, landscape, DPI, color-profile or margin control. A BMP to PDF converter cannot infer physical print scale reliably from pixels alone, so measure a printed proof when dimensions matter. 1667 1668Source bitmaps also vary in palette depth, compression mode, row ordering and embedded resolution metadata. Browser decoding normalizes those details into a canvas before the document writer sees them. Two files that look identical in an image viewer can therefore produce different byte sizes or subtle color differences after normalization. Compare representative gradients, one-pixel rules, dark shadows and saturated colors at normal zoom and at print scale. If an exact technical record of original pixels is required, archive the source files beside the convenience document and use checksums; the assembled derivative is designed for viewing, not forensic preservation.`,gTe=((e={},t={})=>(t.locale??J(),hTe(e))),_Te=()=>`Local BMP to PDF assembly`,vTe=((e={},t={})=>(t.locale??J(),_Te(e))),yTe=()=>`BMP decoding, canvas drawing, JPEG encoding and PDF writing happen in browser memory on the current device. This handler does not send image bytes to conversion, storage, sharing or AI endpoints and does not request remote approval. Normal site and decoder resources may still use network access. 1669 1670Sources and downloaded results remain on the device. TiPDF cannot delete local files, backups or later shares. BMP pixels can reveal sensitive screens or scans even when filenames are absent, so inspect every visible page before distribution.`,bTe=((e={},t={})=>(t.locale??J(),yTe(e))),xTe=()=>`BMP to PDF questions`,STe=((e={},t={})=>(t.locale??J(),xTe(e))),CTe=()=>`Is BMP to PDF online free?::Yes. This local workflow has no checkout requirement, subject to file and pixel limits. 1671 1672Can I merge BMP to PDF in one file?::Yes, up to 100, with one page per source in selection order. 1673 1674Is BMP to PDF high quality and lossless?::It uses JPEG quality 0.9, so line art and text can change; preserve the originals. 1675 1676Will small images be enlarged?::No. The fit scale never exceeds one, so small bitmaps remain centered at their calculated size. 1677 1678Does the PDF become searchable?::No. Image pixels are not OCR text. 1679 1680Can I choose landscape pages?::No. Every output page uses portrait A4 geometry.`,wTe=((e={},t={})=>(t.locale??J(),CTe(e))),TTe=()=>`BMP to PDF capability copy was verified on July 18, 2026 against BMP-only registration, browser decoding, white alpha-disabled canvas, 80/250-million pixel guards, JPEG 0.9 encoding, 24-point margins and portrait A4 assembly. Evidence includes ordinary single-file and ordered multi-file artifacts under browser memory limits. The bmp to PDF converter excludes lossless embedding, OCR, enlargement, landscape, captions and print-scale guarantees.`,ETe=((e={},t={})=>(t.locale??J(),TTe(e))),DTe=()=>
1680`Ordered BMP bitmaps decoding locally onto white canvases and becoming separate centered portrait A4 PDF pages`,OTe=((e={},t={})=>(t.locale??J(),DTe(e))),kTe=()=>`Use BMP to PDF for up to 100 local white-backed A4 pages.`,ATe=((e={},t={})=>(t.locale??J(),kTe(e))),jTe=()=>`Run BMP to PDF and review every page`,MTe=((e={},t={})=>(t.locale??J(),jTe(e))),NTe=()=>`GIF to PDF Converter for Static A4 Pages | TiPDF`,PTe=((e={},t={})=>(t.locale??J(),NTe(e))),FTe=()=>`Convert up to 100 GIF images locally into one ordered PDF with a static browser-decoded image centered on each portrait A4 page.`,ITe=((e={},t={})=>(t.locale??J(),FTe(e))),LTe=()=>`Convert GIF to PDF as Static Pages`,RTe=((e={},t={})=>(t.locale??J(),LTe(e))),zTe=()=>`Convert GIF to PDF when separate graphics need one printable document. TiPDF decodes each selected GIF on the current device and places its static browser representation on a separate portrait A4 page.`,BTe=((e={},t={})=>(t.locale??J(),zTe(e))),VTe=()=>`Combines 100 sources in one GIF to PDF job 1681 1682Creates one static GIF to PDF page per source 1683 1684Processes image bytes in local browser memory`,HTe=((e={},t={})=>(t.locale??J(),VTe(e))),UTe=()=>`What GIF to PDF does with animation`,WTe=((e={},t={})=>(t.locale??J(),UTe(e))),GTe=()=>`The GIF to PDF converter reads the chosen list from beginning to end. Each file must pass extension, signature and size checks before browser image decoding begins. GIF to PDF uses one drawable representation on a same-size canvas; it does not parse an animation timeline or create a page for every animation frame. 1685 1686GIF to PDF disables canvas alpha and starts with a white fill. TiPDF draws the decoded image, exports it as JPEG at quality 0.9 and inserts that result into a new document page. Consequently, indexed color, transparency and lossless compression are normalized rather than preserved as original GIF data. 1687 1688Every GIF to PDF page is portrait A4 with a 24-point inset. Images keep their proportions, shrink when the available box is too small and never grow beyond a scale of one. All successful sources become one downloadable file in their selected order.`,KTe=((e={},t={})=>(t.locale??J(),GTe(e))),qTe=()=>`GIF to PDF static behavior and limits`,JTe=((e={},t={})=>(t.locale??J(),qTe(e))),YTe=()=>`GIF to PDF accepts one to 100 files with a .gif extension. Each may be no larger than 100 MiB and must begin with a valid GIF signature. Renaming an unrelated file does not make it acceptable, while a corrupt header or browser decode failure stops the job without producing an incomplete result. 1689 1690A GIF to PDF canvas is capped at 80 million decoded pixels, and the total job at 250 million. Those limits matter because a small compressed file can expand into a large in-memory bitmap. Width and height must be positive, finite and supported by the browser canvas. 1691 1692An animated source is represented by the static image returned by ordinary browser decoding. Motion timing, looping, disposal methods and the full sequence are not transferred. If particular frames are required, extract and review them with an authorized animation editor first, then provide the resulting still images to the mixed-image tool.`,XTe=((e={},t={})=>(t.locale??J(),YTe(e))),ZTe=()=>`How to run GIF to PDF reliably`,QTe=((e={},t={})=>(t.locale??J(),ZTe(e))),$Te=()=>`1. Review GIF to PDF intent::Open every source and decide whether a static representation communicates what readers need. Export deliberate still frames elsewhere when motion is essential. 1693 16942. Set GIF to PDF order::Select files in reading sequence. The tool does not sort by filename, timestamp or animation duration. 1695 16963. Check dimensions::Estimate decoded pixel totals, especially for highly compressed graphics with large canvases. Resize oversized sources before starting. 1697 16984. Convert GIF to PDF locally::The browser draws each static representation on white, encodes JPEG 0.9 and centers it inside one portrait page. 1699 17005. Inspect the download::Confirm page count, order, selected still appearance, colors, small lettering and white areas. Retain the original animations because the document cannot reconstruct them.`,eEe=((e={},t={})=>(t.locale??J(),$Te(e))),tEe=()=>`Appropriate GIF to PDF uses`,nEe=((e={},t={})=>(t.locale??J(),tEe(e))),rEe=()=>`Packaging simple diagrams::Combine approved icons, charts or explanatory stills into a review packet. Animated transitions will not appear, so the chosen static state must stand alone. 1701 1702Archiving interface examples::Create a convenient viewing copy of interface graphics while preserving original files separately for motion and exact palette evidence. 1703 1704Preparing classroom handouts::Place one graphic on each consistent sheet. Add explanatory text in another authoring tool because this converter prints neither filenames nor captions. 1705 1706Collecting reference art::Use the output as a visual appendix when searchable text, embedded attachments and animation are unnecessary. It is a viewing derivative, not a source archive or accessibility substitute.`,iEe=((e={},t={})=>(t.locale??J(),rEe(e))),aEe=()=>`GIF to PDF palette and JPEG tradeoffs`,oEe=((e={},t={})=>(t.locale??J(),aEe(e))),sEe=()=>`GIF often stores flat colors, hard edges and tiny text efficiently. Re-encoding the decoded canvas as JPEG 0.9 can soften boundaries, add ringing around contrasting pixels or shift palette colors. Transparent regions become white because the canvas does not retain alpha. The converter offers no palette, background, compression, frame, crop or orientation controls. 1707 1708Oversized artwork scales down proportionally to fit the A4 content box. A small source stays at its calculated size and may have broad white borders. Pixel dimensions do not establish a reliable physical DPI, and embedded timing or comments are not printed. Compare representative pages at normal zoom and on the intended printer. 1709 1710This workflow is most predictable with deliberate still artwork. Keep the source whenever animation, exact indexed pixels or metadata has evidentiary value. The generated document favors consistent page delivery rather than bit-for-bit preservation.`,cEe=((e={},t={})=>(t.locale??J(),sEe(e))),lEe=()=>`Local GIF to PDF decoding`,uEe=((e={},t={})=>(t.locale??J(),lEe(e))),dEe=()=>`Image decoding, white compositing, JPEG creation and document assembly occur in browser memory on the current device. This handler does not submit selected bytes to conversion servers, object storage, sharing or AI services, and it does not ask for remote processing consent. Normal application resources may still be downloaded.
1711 1712Local processing does not make visible information harmless. A static frame can expose names, account details, private messages or internal interface states. Review every page before distribution and manage the downloaded file according to its content. TiPDF cannot erase original files, device backups or copies sent later. 1713 1714When policy requires an immutable animation record, preserve the authorized original and checksums. The static derivative is useful for reading and printing, but it is not proof of the complete timeline.`,fEe=((e={},t={})=>(t.locale??J(),dEe(e))),pEe=()=>`GIF to PDF questions`,mEe=((e={},t={})=>(t.locale??J(),pEe(e))),hEe=()=>`Is GIF to PDF online free?::Yes. This local workflow has no checkout requirement, subject to file and pixel limits. 1715 1716Can I merge GIF to PDF in one document?::Yes, up to 100 files are assembled in selection order. 1717 1718Will animated GIF to PDF output keep moving?::No. Ordinary browser decoding supplies one static representation per source. 1719 1720Does every animation frame become a page?::No. One selected file produces one page, not a timeline expansion. 1721 1722Can transparent pixels stay transparent?::No. The alpha-disabled canvas uses white before JPEG encoding. 1723 1724Will text inside the graphic become searchable?::No. The page contains an image and no OCR is performed.`,gEe=((e={},t={})=>(t.locale??J(),hEe(e))),_Ee=()=>`GIF to PDF capability copy was verified on July 18, 2026 against GIF-only registration, signature validation, browser image decoding, white canvas composition, 80/250-million decoded-pixel guards, JPEG 0.9 export, portrait A4 geometry and 24-point margins. Tests compare ordered source count with output pages and inspect the static image chosen by the browser. The convert GIF to PDF workflow expressly excludes animation retention, frame extraction, OCR, alpha preservation, enlargement, landscape layout and lossless embedding. A separate convert GIF to PDF check uses an animated fixture to confirm that the generated artifact contains one static page rather than a sequence.`,vEe=((e={},t={})=>(t.locale??J(),_Ee(e))),yEe=()=>`Ordered GIF images decoding locally as static white-backed canvases and becoming separate portrait A4 PDF pages`,bEe=((e={},t={})=>(t.locale??J(),yEe(e))),xEe=()=>`Use GIF to PDF for up to 100 static decoded A4 pages locally.`,SEe=((e={},t={})=>(t.locale??J(),xEe(e))),CEe=()=>`Run GIF to PDF and verify the static frames`,wEe=((e={},t={})=>(t.locale??J(),CEe(e))),TEe=()=>`HEIC to PDF Converter for iPhone Photos | TiPDF`,EEe=((e={},t={})=>(t.locale??J(),TEe(e))),DEe=()=>`Convert up to 100 HEIC photos locally into one ordered PDF. Each decoded photo is centered on a separate portrait A4 page.`,OEe=((e={},t={})=>(t.locale??J(),DEe(e))),kEe=()=>`Convert HEIC to PDF on Ordered A4 Pages`,AEe=((e={},t={})=>(t.locale??J(),kEe(e))),jEe=()=>`Convert HEIC to PDF when phone photos need a familiar document package. TiPDF loads a HEIC decoder in the browser, creates a JPEG representation locally and gives every successful image its own portrait A4 page.`,MEe=((e={},t={})=>(t.locale??J(),jEe(e))),NEe=()=>`Accepts 100 photos in one HEIC to PDF job 1725 1726Uses local HEIC to PDF decoding 1727 1728Places one centered image on each A4 page`,PEe=((e={},t={})=>(t.locale??J(),NEe(e))),FEe=()=>`The two HEIC to PDF encoding stages`,IEe=((e={},t={})=>(t.locale??J(),FEe(e))),LEe=()=>`The HEIC to PDF converter validates selected files, then lazy-loads a browser-side HEIC decoder. Each source becomes a JPEG blob at quality 0.92. That HEIC to PDF intermediate is decoded as an ordinary image and drawn onto a same-size white canvas. 1729 1730HEIC to PDF then exports the canvas as JPEG at quality 0.9 before adding it to the document. Because two lossy stages can occur, the result is not the original HEIC payload, a lossless master or a metadata-preserving wrapper. It is a practical viewing derivative. 1731 1732A portrait A4 page is created for each decoded image. The photo stays proportional inside a box inset by 24 PDF points. Large photos shrink; small photos are not enlarged. Page sequence follows the user's selection, and all pages are saved into one artifact.`,REe=((e={},t={})=>(t.locale??J(),LEe(e))),zEe=()=>`HEIC to PDF decoding and memory limits`,BEe=((e={},t={})=>(t.locale??J(),zEe(e))),VEe=()=>
1732`HEIC to PDF accepts one to 100 .heic files, with a maximum local size of 100 MiB each. Content-signature checks reject an unrelated file renamed with the extension. The decoder must also recognize the particular container and image item. Unsupported variants, malformed data or memory allocation failure stop conversion instead of silently dropping a photo. 1733 1734Each HEIC to PDF canvas may contain at most 80 million pixels, and the task at most 250 million decoded pixels in total. Compressed byte size is not a reliable estimate of browser memory. Very high-resolution phone images can reach the aggregate limit quickly. 1735 1736The implementation treats each selected source as one photo result. It does not expose selection among auxiliary images, depth maps, bursts or alternate representations that a container may hold. Export a deliberate ordinary image first when one of those assets is required.`,HEe=((e={},t={})=>(t.locale??J(),VEe(e))),UEe=()=>`How to prepare HEIC to PDF photos`,WEe=((e={},t={})=>(t.locale??J(),UEe(e))),GEe=()=>`1. Select HEIC to PDF versions::Review edits, orientation, crop and visible sensitive details before choosing files. 1737 17382. Establish HEIC to PDF order::Select images in document sequence; capture time and filenames do not reorder them. 1739 17403. Check decoded dimensions::Estimate the combined pixel count and downsize authorized copies when many full-resolution photos exceed the memory boundary. 1741 17424. Convert HEIC to PDF::The local decoder creates JPEG 0.92, the page pipeline composites onto white and emits JPEG 0.9 inside portrait A4. 1743 17445. Inspect the artifact::Compare rotation, color, detail, page count, order and margins against the intended photos. Preserve originals because the output passes through lossy encoding.`,KEe=((e={},t={})=>(t.locale??J(),GEe(e))),qEe=()=>`Useful HEIC to PDF workflows`,JEe=((e={},t={})=>(t.locale??J(),qEe(e))),YEe=()=>`Submitting photographed records::Place authorized receipts, labels or site photos into a single ordered packet. Add searchable descriptions separately because pixels are not OCR text. 1745 1746Creating inspection appendices::Arrange field images on consistent pages for review while keeping full-resolution evidence and hashes under the appropriate record policy. 1747 1748Sharing a contact sheet alternative::Give each photo an uncluttered page instead of squeezing several thumbnails together. The tool does not print filenames, dates or captions. 1749 1750Preparing print copies::Use fixed portrait sheets for convenient printing, then verify color and physical scale. This is not a calibrated prepress, archival or forensic conversion service.`,XEe=((e={},t={})=>(t.locale??J(),YEe(e))),ZEe=()=>`HEIC to PDF color and JPEG quality`,QEe=((e={},t={})=>(t.locale??J(),ZEe(e))),$Ee=()=>`HEIC can encode wide color, high dynamic range, orientation and camera metadata efficiently. Browser conversion to JPEG 0.92 may normalize those properties, and the later JPEG 0.9 canvas export can add another generation of loss. Fine foliage, text, gradients and low-light noise deserve close review. Transparency, when a decoder supplies it, is flattened onto white. 1751 1752Photos larger than the content box scale down proportionally. Smaller decoded images remain centered without enlargement, so the apparent print size can be modest. There is no landscape switch, custom paper, margin, crop, rotation, DPI, color-profile or quality control. 1753 1754A phone viewer and the generated page may render color differently. Check representative skin tones, neutral grays and saturated areas on the intended display or printer. Archive the HEIC originals whenever capture metadata or maximum fidelity matters.`,eDe=((e={},t={})=>(t.locale??J(),$Ee(e))),tDe=()=>`Local HEIC to PDF creation`,nDe=((e={},t={})=>(t.locale??J(),tDe(e))),rDe=()=>`Selected photo bytes, intermediate JPEG data, canvas pixels and PDF assembly stay in browser memory on the current device. This route does not upload photos to conversion servers, storage, sharing or AI systems and does not require a remote approval step. Decoder code and ordinary web assets may still be fetched. 1755 1756Device-local work does not remove the privacy of what a photo depicts. Faces, location clues, screens, serial numbers and documents may remain visible even if EXIF is not intentionally carried into the page. Inspect and redact through an approved workflow before distribution. 1757 1758The downloaded document and sources remain under local device controls. TiPDF cannot erase photo-library copies, synced backups, exported intermediates or later shares.`,iDe=((e={},t={})=>(t.locale??J(),rDe(e))),aDe=()=>`HEIC to PDF questions`,oDe=((e={},t={})=>(t.locale??J(),aDe(e))),sDe=()=>`Is HEIC to PDF online free?::Yes. This local workflow has no checkout requirement, subject to file and pixel limits. 1759 1760Can I merge HEIC to PDF in one file?::Yes. Up to 100 selected sources become one page each in order. 1761 1762Does iPhone photo to PDF preserve original bytes?::No. The image passes through JPEG 0.92 and JPEG 0.9 stages. 1763 1764Is capture metadata preserved?::No guarantee is made for EXIF, depth, HDR or auxiliary items. 1765 1766Will text in a photo be searchable?::No. This workflow performs no OCR. 1767 1768Can I choose landscape A4?::No. Output pages use fixed portrait A4 geometry.`,cDe=((e={},t={})=>(t.locale??J(),sDe(e))),lDe=()=>`HEIC to PDF capability copy was verified on July 18, 2026 against HEIC signature registration, lazy local decoder loading, JPEG 0.92 intermediate conversion, ordinary white-canvas drawing, 80/250-million pixel limits, JPEG 0.9 page embedding, 24-point margins and portrait A4 dimensions. Fixtures check ordered multi-photo output, decoded failures and stable one-source-to-one-page behavior. The convert HEIC to PDF path excludes original-bitstream embedding, OCR, metadata guarantees, auxiliary image selection, enlargement and landscape layout. A second convert HEIC to PDF check compares representative fine detail before and after the two encoding stages.`,uDe=((e={},t={})=>(t.locale??J(),lDe(e))),dDe=()=>`Ordered HEIC photos decoding locally through two JPEG stages and becoming separate centered portrait A4 PDF pages`,fDe=((e={},t={})=>(t.locale??J(),dDe(e))),pDe=()=>`Use HEIC to PDF for up to 100 locally decoded portrait A4 pages.`,mDe=((e={},t={})=>(t.locale??J(),pDe(e))),hDe=()=>`Run HEIC to PDF and review both JPEG stages`,gDe=((e={},t={})=>(t.locale??J(),hDe(e))),_De=()=>`WebP to PDF Converter With White A4 Pages | TiPDF`,vDe=((e={},t={})=>(t.locale??J(),_De(e))),yDe=()=>`Convert up to 100 WebP images locally into one ordered PDF with transparency flattened to white and one centered image per A4 page.`,bDe=((e={},t={})=>(t.locale??J(),yDe(e))),xDe=()=>`Convert WebP to PDF on White A4 Pages`,SDe=((e={},t={})=>(t.locale??J(),xDe(e))),CDe=()=>`Convert WebP to PDF when modern web graphics need a conventional page document. TiPDF decodes each selected image locally, composites it on white and places it on a separate portrait A4 page.`,wDe=((e={},t={})=>(t.locale??J(),CDe(e))),TDe=()=>`Combines 100 sources in one WebP to PDF job 1769 1770Flattens WebP to PDF transparency onto white 1771 1772Keeps conversion inside browser memory`,EDe=((e={},t={})=>(t.locale??J(),TDe(e))),DDe=()=>`How WebP to PDF creates fixed pages`,ODe=((e={},t={})=>(t.locale??J(),DDe(e))),kDe=()=>`The WebP to PDF converter validates the ordered selection and uses createImageBitmap when available, with an Image-element fallback. A successful decoder supplies pixel width, height and one drawable image. WebP to PDF creates a matching canvas with alpha disabled, paints it white and draws the source over that background. 1773 1774WebP to PDF exports the canvas as JPEG at quality 0.9. The document therefore contains a new lossy image representation, not the original WebP stream. Lossless
1774input, alpha data, animation and container metadata are not retained as corresponding PDF features. 1775 1776One WebP to PDF source creates one portrait A4 page with a 24-point margin. Aspect ratio stays intact, large images shrink to fit and small images are not enlarged. Pages follow selection order and are written into one downloadable artifact.`,ADe=((e={},t={})=>(t.locale??J(),kDe(e))),jDe=()=>`WebP to PDF data and pixel limits`,MDe=((e={},t={})=>(t.locale??J(),jDe(e))),NDe=()=>`WebP to PDF accepts one to 100 .webp files, each no larger than 100 MiB. A content signature must identify WebP data; changing an extension cannot bypass validation. Browser support must cover the encoded variant, and malformed containers or decode errors stop processing instead of creating a partial file. 1777 1778Every WebP to PDF canvas is limited to 80 million pixels, while the complete job is limited to 250 million. These are post-decode safeguards. A compact web graphic can expand into substantial RGBA memory, so file size alone does not predict success. Width and height must also be valid for canvas allocation. 1779 1780The ordinary decoder supplies one static drawable image. Animated WebP timing and frame sequences are not expanded or preserved. Export deliberate still frames before conversion when motion states must appear as separate pages.`,PDe=((e={},t={})=>(t.locale??J(),NDe(e))),FDe=()=>`How to assemble WebP to PDF safely`,IDe=((e={},t={})=>(t.locale??J(),FDe(e))),LDe=()=>`1. Inspect WebP to PDF sources::Check the intended static appearance, transparency, dimensions, orientation and visible confidential details. 1781 17822. Choose WebP to PDF order::Select files in final sequence; the workflow does not sort from filename or metadata. 1783 17843. Anticipate white compositing::Preview transparent logos, shadows and light artwork against white so important boundaries do not disappear. 1785 17864. Convert WebP to PDF locally::The browser decodes, fills a white canvas, exports JPEG 0.9 and centers each result within one portrait page. 1787 17885. Verify the output::Compare page count, order, backgrounds, edges, gradients and small type. Preserve sources because alpha, animation and exact compressed bytes cannot be recovered from the PDF.`,RDe=((e={},t={})=>(t.locale??J(),LDe(e))),zDe=()=>`Practical WebP to PDF uses`,BDe=((e={},t={})=>(t.locale??J(),zDe(e))),VDe=()=>`Packaging website mockups::Combine approved interface exports into a page-by-page review packet while keeping interactive prototypes and source assets elsewhere. 1789 1790Collecting product imagery::Give each catalog image a consistent sheet for circulation. Captions, URLs, filenames and accessibility text are not printed automatically. 1791 1792Preparing visual appendices::Place diagrams or reference graphics into one ordered document when searchability and editable vectors are unnecessary. 1793 1794Making print-friendly copies::Turn browser-oriented images into fixed pages for convenient printing, then inspect white edges and colors. The result is not an archival, prepress or lossless preservation format.`,HDe=((e={},t={})=>(t.locale??J(),VDe(e))),UDe=()=>`WebP to PDF transparency and JPEG artifacts`,WDe=((e={},t={})=>(t.locale??J(),UDe(e))),GDe=()=>`WebP can use lossless pixels, lossy coding, alpha and animation. This workflow normalizes the browser-decoded image through an opaque white canvas and JPEG quality 0.9. Transparent pixels become white; crisp text and line art can gain soft edges or ringing; animated sources become one static representation. No control is provided for background color, frame selection or JPEG quality. 1795 1796A source exceeding the A4 content box is reduced proportionally. A smaller image is centered at a scale no greater than one and can leave generous white space. The tool does not offer landscape paper, edge-to-edge placement, crop, rotation, DPI, margins or color-profile settings. 1797 1798The result is appropriate for viewing derivatives, not for reconstructing site assets. Review representative gradients, transparency boundaries and high-contrast details at normal zoom and on the intended printer.`,KDe=((e={},t={})=>(t.locale??J(),GDe(e))),qDe=()=>`Local WebP to PDF boundaries`,JDe=((e={},t={})=>(t.locale??J(),qDe(e))),YDe=()=>`Selected bytes, decoded pixels, white composition, JPEG export and document writing remain in browser memory on the current device. This handler does not send images to conversion services, object storage, sharing or AI and does not request remote processing approval. Application code and n
1798ormal site assets may still be fetched. 1799 1800Local execution does not redact the image. Screenshots and graphics can expose account data, internal URLs, customer names or hidden context that remains visually present. Review each page and use an authorized redaction process before sharing sensitive material. 1801 1802TiPDF cannot remove originals, browser downloads, synchronized backups or later copies. Apply the organization's retention and access rules to both sources and the generated artifact.`,XDe=((e={},t={})=>(t.locale??J(),YDe(e))),ZDe=()=>`WebP to PDF questions`,QDe=((e={},t={})=>(t.locale??J(),ZDe(e))),$De=()=>`Is WebP to PDF online free?::Yes. This local workflow has no checkout requirement, subject to file and pixel limits. 1803 1804Can I merge WebP to PDF in one document?::Yes, up to 100, with one decoded source per page. 1805 1806Can WebP images to PDF retain transparency?::No. The canvas is opaque and white before JPEG export. 1807 1808Will animated WebP remain animated?::No. The ordinary browser-decoded static representation becomes one page. 1809 1810Is a lossless WebP embedded losslessly?::No. Every page image is exported as JPEG quality 0.9. 1811 1812Does the converter add OCR or captions?::No. Visible pixels remain image content without generated text.`,eOe=((e={},t={})=>(t.locale??J(),$De(e))),tOe=()=>`WebP to PDF capability copy was verified on July 18, 2026 against WebP content signatures, local browser decode with fallback, white alpha-disabled canvases, 80/250-million decoded-pixel guards, JPEG 0.9 export, portrait A4 geometry and 24-point margins. Ordered fixtures compare source and page counts, while transparent and animated samples confirm flattening and static output. The convert WebP to PDF path excludes alpha retention, animation, OCR, lossless embedding, enlargement, landscape paper and custom backgrounds. A second verification checks high-contrast edges for expected JPEG changes. Both screen and print review remain necessary for dependable delivery.`,nOe=((e={},t={})=>(t.locale??J(),tOe(e))),rOe=()=>`Ordered WebP graphics decoding locally onto opaque white canvases and becoming separate portrait A4 PDF pages`,iOe=((e={},t={})=>(t.locale??J(),rOe(e))),aOe=()=>`Use WebP to PDF for up to 100 white-backed A4 pages locally.`,oOe=((e={},t={})=>(t.locale??J(),aOe(e))),sOe=()=>`Run WebP to PDF and verify transparency changes`,cOe=((e={},t={})=>(t.locale??J(),sOe(e))),lOe=()=>`TXT to PDF Converter for UTF-8 A4 Pages | TiPDF`,uOe=((e={},t={})=>(t.locale??J(),lOe(e))),dOe=()=>`Turn one UTF-8 TXT file into readable portrait A4 pages locally with 11-point text, 16-point line spacing and 48-point margins.`,fOe=((e={},t={})=>(t.locale??J(),dOe(e))),pOe=()=>`Use TXT to PDF for Searchable A4 Pages`,mOe=((e={},t={})=>(t.locale??J(),pOe(e))),hOe=()=>`Use TXT to PDF when plain UTF-8 notes, logs or drafts need stable pages. TiPDF reads one text file locally, wraps measured lines and writes searchable text into portrait A4 without inventing rich formatting.`,gOe=((e={},t={})=>(t.locale??J(),hOe(e))),_Oe=()=>`Reads UTF-8 locally for TXT to PDF 1813 1814Wraps searchable TXT to PDF text across A4 1815 1816Uses a bundled Unicode font when available`,vOe=((e={},t={})=>(t.locale??J(),_Oe(e))),yOe=()=>`How TXT to PDF measures plain text`,bOe=((e={},t={})=>(t.locale??J(),yOe(e))),xOe=()=>`The TXT to PDF converter validates one .txt source and decodes its bytes as UTF-8 with replacement for malformed sequences. Empty or whitespace-only input is rejected. TXT to PDF creates a new document, attempts to subset the bundled Unicode font, and otherwise falls back to Helvetica. 1817 1818TXT to PDF measures text at 11 points and wraps it to the available width. Each line advances by 16 points within a portrait A4 page measuring 595.28 by 841.89 PDF points. A 48-point margin surrounds the content; when the next line would cross the lower boundary, a fresh page begins. Blank source lines remain vertical gaps. 1819
1820Characters are written as actual PDF text, so they can generally be selected and searched when the embedded font supports them. The process does not interpret headings, lists, Markdown, RTF commands, tabs as tables or page-break directives.`,SOe=((e={},t={})=>(t.locale??J(),xOe(e))),COe=()=>`TXT to PDF UTF-8 and font boundaries`,wOe=((e={},t={})=>(t.locale??J(),COe(e))),TOe=()=>`TXT to PDF accepts one .txt file with local validation and the normal browser-side size limit. A TextDecoder reads UTF-8 without fatal mode, so invalid byte runs can become replacement characters rather than producing an immediate error. Review the source encoding when exact characters matter. 1821 1822TXT to PDF subsets the bundled Unicode font when available. If that resource fails, Helvetica can represent only printable ASCII plus tabs and line endings; unsupported characters become square placeholders. That visible fallback should trigger a retry or another approved workflow, not silent acceptance. 1823 1824The text to PDF path reads no embedded styles because TXT has none. It also performs no language detection, OCR, syntax highlighting, hyphenation or automatic correction.`,EOe=((e={},t={})=>(t.locale??J(),TOe(e))),DOe=()=>`How to prepare TXT to PDF output`,OOe=((e={},t={})=>(t.locale??J(),DOe(e))),kOe=()=>`1. Confirm TXT to PDF encoding::Open the source in a trusted editor, choose UTF-8 and inspect punctuation, non-Latin scripts and line endings. 1825 18262. Simplify TXT to PDF lines::Insert intentional paragraph breaks where machine-generated logs or exported data would otherwise be difficult to scan. 1827 18283. Remove secrets::Plain text can contain tokens, paths, email addresses or customer data. Delete or redact them in an authorized copy before conversion. 1829 18304. Convert TXT to PDF locally::The browser decodes, measures and wraps each line using fixed typography and adds pages as needed. 1831 18325. Review selection and search::Check characters, wrapping, blank lines, page boundaries and text extraction in the downloaded document before sharing.`,AOe=((e={},t={})=>(t.locale??J(),kOe(e))),jOe=()=>`Good TXT to PDF uses`,MOe=((e={},t={})=>(t.locale??J(),jOe(e))),NOe=()=>`Distributing meeting notes::Use TXT to PDF for a predictable reading copy without introducing design choices. 1833 1834Packaging system logs::Create paginated evidence from an authorized export, while retaining the source and hashes when chain of custody matters. Very long unbroken tokens may be visually awkward. 1835 1836Publishing code-adjacent notes::Preserve literal characters as simple text, but use the Markdown tool when headings, code blocks or lists require visual structure. 1837 1838Printing multilingual drafts::Use the Unicode font path for readable scripts and verify every glyph. The generated file has no cover page, header, footer, line numbers or author metadata added automatically.`,POe=((e={},t={})=>(t.locale??J(),NOe(e))),FOe=()=>`TXT to PDF wrapping and pagination limits`,IOe=((e={},t={})=>(t.locale??J(),FOe(e))),LOe=()=>`Layout is intentionally fixed: portrait A4, 48-point margins, 11-point type and 16-point line height. The wrap function measures glyph widths rather than assuming a character count, but it does not perform editorial hyphenation, widow control, columns, justification or semantic page breaks. A small source change can move later lines onto another page. 1839 1840Tabs and consecutive spaces are plain characters subject to font measurement; they do not create reliable spreadsheet columns. Extremely long tokens must be broken by the wrapper and should be checked closely. Newline conventions are normalized by decoding and wrapping behavior. 1841 1842A txt to PDF converter makes a convenient reading artifact, not a typesetting system. For branded reports, tables or complex hierarchy, author the content in an appropriate document format and use its dedicated conversion route.`,ROe=((e={},t={})=>(t.locale??J(),LOe(e))),zOe=()=>`Local TXT to PDF processing`,BOe=((e={},t={})=>(t.locale??J(),zOe(e))),VOe=()=>`File reading, UTF-8 decoding, font subsetting, line measurement and PDF writing occur in browser memory on the current device. This route does not send the source to conversion servers, storage, sharing or AI and requests no remote approval. The bundled font or normal site resources may still be fetched. 1843 1844The output contains selectable text, so copying and automated indexing may expose information more readily than a screenshot. Local conversion is not encryption, access control or redaction. Inspect credentials, internal hostnames, personal data and hidden trailing lines before distribution. 1845 1846TiPDF cannot delete the source, downloaded artifact, editor backups or copies shared later. Apply retention rules and use Protect PDF separately when password encryption is actually required.`,HOe=((e={},t={})=>(t.locale??J(),VOe(e))),UOe=()=>`TXT to PDF questions`,WOe=((e={},t={})=>(t.locale??J(),UOe(e))),GOe=()=>`Is TXT to PDF online free?::Yes. This local workflow has no checkout requirement, subject to the browser file limit. 1847 1848Does plain text to PDF stay searchable?::Yes, supported characters are drawn as text rather than page images. 1849 1850Can I create PDF from text with Markdown styles?::No. Markdown symbols remain literal; use the dedicated Markdown workflow. 1851
1852What happens to invalid UTF-8?::The non-fatal decoder may insert replacement characters, so review the result. 1853 1854Can I change font size or margins?::No. Typography and portrait A4 geometry are fixed. 1855 1856Why do I see square glyphs?::The Unicode font may not have loaded, causing unsupported fallback characters to be replaced.`,KOe=((e={},t={})=>(t.locale??J(),GOe(e))),qOe=()=>`Plain-text capability copy was verified on July 18, 2026 against TXT-only validation, non-fatal UTF-8 decoding, empty-input rejection, bundled Unicode font subsetting, Helvetica fallback, 11-point type, 16-point line height, 48-point margins and 595.28 Ã 841.89 portrait pages. Fixtures cover multilingual text, malformed bytes, blank lines, long tokens and multi-page wrapping. The convert TXT to PDF workflow excludes rich-format inference, OCR, syntax highlighting, page controls, headers and encryption. A second convert TXT to PDF check verifies selection and search in the resulting artifact.`,JOe=((e={},t={})=>(t.locale??J(),qOe(e))),YOe=()=>`One UTF-8 TXT file being measured and wrapped locally into searchable portrait A4 PDF pages with fixed margins`,XOe=((e={},t={})=>(t.locale??J(),YOe(e))),ZOe=()=>`Use TXT to PDF for one searchable local A4 document with fixed typography.`,QOe=((e={},t={})=>(t.locale??J(),ZOe(e))),$Oe=()=>`Run TXT to PDF and verify every glyph`,eke=((e={},t={})=>(t.locale??J(),$Oe(e))),tke=()=>`RTF to PDF Converter With Private Rendering | TiPDF`,nke=((e={},t={})=>(t.locale??J(),tke(e))),rke=()=>`Convert one approved RTF document up to 50 MiB through TiPDF's configured private rendering service and receive a validated PDF.`,ike=((e={},t={})=>(t.locale??J(),rke(e))),ake=()=>`Use RTF to PDF for Private Rendering`,oke=((e={},t={})=>(t.locale??J(),ake(e))),ske=()=>`Use RTF to PDF when a rich-text document needs fixed pages. After explicit approval, TiPDF sends one validated RTF to the configured document renderer and returns the PDF response.`,cke=((e={},t={})=>(t.locale??J(),ske(e))),lke=()=>`Accepts one approved RTF to PDF source 1857 1858Uses the configured RTF to PDF endpoint 1859 1860Rejects responses without a valid PDF signature`,uke=((e={},t={})=>(t.locale??J(),lke(e))),dke=()=>`The approved RTF to PDF server path`,fke=((e={},t={})=>(t.locale??J(),dke(e))),pke=()=>`The RTF to PDF converter accepts one file and displays a server-processing boundary before work begins. Only after approval does RTF to PDF upload the source through TiPDF to the configured Gotenberg LibreOffice endpoint. This is not a local-only operation. 1861 1862RTF to PDF uses the service to interpret controls, fonts, paragraphs, tables, images and page instructions. TiPDF does not rebuild that layout in the browser and does not promise identical output to every desktop editor. The renderer's PDF bytes are returned through the application. 1863 1864Before delivery, the response must begin with a valid PDF signature and contain enough bytes to be plausible. A service error, timeout or invalid response produces an error rather than a mislabeled download. The filename is normalized from the source base name.`,mke=((e={},t={})=>(t.locale??J(),pke(e))),hke=()=>`RTF to PDF input, service and limits`,gke=((e={},t={})=>(t.locale??J(),hke(e))),_ke=()=>`RTF to PDF accepts one .rtf file no larger than 50 MiB. Extension and upload rules apply before server processing. Password-protected, malformed or unusually encoded RTF may be rejected by the configured renderer. The current route does not accept a pasted rich-text fragment or URL. 1865 1866RTF to PDF needs a valid HTTP or HTTPS Gotenberg URL. Without it, conversion stops with a configuration error. Requests use the LibreOffice route, carry a trace identifier and have a timeout between 10 and 300 seconds, normally 120. 1867 1868Available fonts, locale data and office filters belong to that service installation. A document relying on absent fonts or nonstandard controls can reflow or lose effects. Embedded active behavior is not promised, and the PDF should be treated as a static rendering.`,vke=((e={},t={})=>(t.locale??J(),_ke(e))),yke=()=>`How to prepare RTF to PDF rendering`,bke=((e={},t={})=>(t.locale??J(),yke(e))),xke=()=>`1. Review the RTF to PDF source::Open it in a trusted editor and remove tracked secrets, hidden fields and unwanted comments. 1869
18702. Stabilize RTF to PDF dependencies::Use common fonts, inspect linked or embedded images and avoid editor-specific features when portability matters. 1871 18723. Approve remote processing::Confirm that policy permits the complete file to reach TiPDF and the configured private renderer. 1873 18744. Convert RTF to PDF::Submit one source, wait for the bounded service response and do not repeatedly upload while a request is active. 1875 18765. Compare the result::Inspect page count, line breaks, tables, symbols, images, headers and footers against the approved source before distribution.`,Ske=((e={},t={})=>(t.locale??J(),xke(e))),Cke=()=>`Appropriate RTF to PDF workflows`,wke=((e={},t={})=>(t.locale??J(),Cke(e))),Tke=()=>`Freezing portable memos::Use RTF to PDF for fixed review pages while retaining the editable source under version control. 1877 1878Sharing legacy documents::Create a conventional reading copy from older rich-text exports whose recipients may not have a compatible editor. 1879 1880Preparing submission copies::Check that fonts, pagination and signatures appear correctly before sending a static document to a portal. 1881 1882Archiving convenience copies::Store the PDF beside, not instead of, the source when exact RTF controls or embedded metadata matter. The route does not declare PDF/A conformance, digital signatures or long-term archival guarantees.`,Eke=((e={},t={})=>(t.locale??J(),Tke(e))),Dke=()=>`RTF to PDF fidelity and pagination`,Oke=((e={},t={})=>(t.locale??J(),Dke(e))),kke=()=>`RTF is a control-word format implemented differently by word processors. Font substitution changes character width and can move paragraphs, tables and later pages. Unsupported fields, drawing objects, equations or nested constructs may simplify. The service chooses paper size and pagination from the document and renderer defaults; the page offers no orientation, margin or quality controls. 1883 1884Linked resources unavailable to the private service may not render. Embedded images can change color or resolution through the office export filter. Macros or interactive behavior are not carried into a normal static PDF. 1885 1886The service should be validated with representative documents from the real workflow. Compare text selection, glyphs, page breaks and visual hierarchy, and keep the editable original whenever subsequent correction may be needed.`,Ake=((e={},t={})=>(t.locale??J(),kke(e))),jke=()=>`RTF to PDF consent and service boundaries`,Mke=((e={},t={})=>(t.locale??J(),jke(e))),Nke=()=>`Unlike local TXT or Markdown layout, this workflow uploads the complete approved document. The application server forwards it to the administrator-configured Gotenberg endpoint. Security, retention, network path and logging therefore depend on the deployment and that service; TiPDF does not claim the bytes stay solely on the user's device. 1887 1888Review personal data, hidden text, revision remnants, embedded objects and document properties before approval. The returned PDF can still contain selectable confidential text and visible metadata. Server rendering is not redaction or encryption. 1889 1890After download, local and shared copies remain outside TiPDF's control. Use the Protect PDF tool separately if password encryption is required, while recognizing that access restrictions do not erase content already disclosed to the renderer.`,Pke=((e={},t={})=>(t.locale??J(),Nke(e))),Fke=()=>`RTF to PDF questions`,Ike=((e={},t={})=>(t.locale??J(),Fke(e))),Lke=()=>`Is RTF to PDF online free?::The page has no checkout, but deployment access and the configured renderer determine availability. 1891 1892Does rich text to PDF stay on my device?::No. It requires approval and uploads to the configured private server renderer. 1893 1894Is this an RTF file converter with exact pagination?::No. Fonts, locale and renderer versions can change layout. 1895 1896What is the file limit?::One approved RTF may be up to 50 MiB. 1897 1898Does TiPDF accept the service response blindly?::No. It verifies that returned bytes begin with a PDF signature. 1899 1900Will tracked changes or active content remain interactive?::No guarantee is made; review the static result carefully.`,Rke=((e={},t={})=>(t.locale??J(),Lke(e))),zke=()=>`RTF to PDF capability copy was verified on July 18, 2026 against RTF registration, the 50 MiB server-file guard, explicit approval, configured HTTP(S) Gotenberg validation, the LibreOffice conversion route, 10â300-second timeout bounds, trace headers and returned PDF signature checks. Fixtures cover configuration absence, service rejection, timeout and a successful multi-page rendering. The convert RTF to PDF route excludes local-only claims, universal font fidelity, fixed pagination, PDF/A, redaction and encryption. A second convert RTF to PDF review compares tables and non-ASCII glyphs against the source.`,Bke=((e={},t={})=>(t.locale??J(),zke(e))),Vke=()=>`One approved RTF document passing through a bounded private LibreOffice rendering service and returning a validated PDF`,Hke=((e={},t={})=>(t.locale??J(),Vke(e))),Uke=()=>`Use RTF to PDF for one approved 50 MiB private-renderer request.`,Wke=((e={},t={})=>(t.locale??J(),Uke(e))),Gke=()=>`Approve RTF to PDF private rendering`,Kke=((e={},t={})=>(t.locale??J(),Gke(e))),qke=()=>`ODT to PDF Converter for Private Rendering | TiPDF`,Jke=((e={},t={})=>(t.locale??J(),qke(e))),Yke=()=>`Convert one approved ODT file up to 50 MiB through the configured private LibreOffice renderer and download a validated PDF.`,Xke=((e={},t={})=>(t.locale??J(),Yke(e))),Zke=()=>`Use ODT to PDF for Private Rendering`,Qke=((e={},t={})=>(t.locale??J(),Zke(e))),$ke=()=>
1900`Use ODT to PDF when an OpenDocument Text source needs a fixed review or distribution copy. TiPDF obtains approval, sends one file to the configured private renderer and validates the returned PDF.`,eAe=((e={},t={})=>(t.locale??J(),$ke(e))),tAe=()=>`Handles one approved ODT to PDF source 1901 1902Uses the configured LibreOffice renderer 1903 1904Validates the PDF response before download`,nAe=((e={},t={})=>(t.locale??J(),tAe(e))),rAe=()=>`How ODT to PDF reaches fixed pages`,iAe=((e={},t={})=>(t.locale??J(),rAe(e))),aAe=()=>`The ODT to PDF converter receives one OpenDocument package and marks the operation as server processing. After explicit consent, ODT to PDF sends the complete file through TiPDF to the configured Gotenberg LibreOffice endpoint. No browser code attempts to reproduce the document model. 1905 1906ODT to PDF relies on LibreOffice to resolve styles, master pages, text flow, tables, images, footnotes and supported objects using that installation's fonts and locale. Results can differ from the source editor, especially when dependencies are absent. 1907 1908The server accepts only a successful response whose first bytes identify a PDF. It rejects configuration problems, HTTP errors, timeouts and non-PDF output. The validated bytes return with a sanitized base filename; TiPDF does not edit the rendered pages afterward.`,oAe=((e={},t={})=>(t.locale??J(),aAe(e))),sAe=()=>`ODT to PDF package and renderer limits`,cAe=((e={},t={})=>(t.locale??J(),sAe(e))),lAe=()=>`ODT to PDF accepts one .odt no larger than the 50 MiB server limit. The source must be a readable OpenDocument Text package. Damaged ZIP structure, missing manifest entries, encrypted content or unsupported features can cause rejection. This page does not accept DOCX, RTF, pasted text or a URL. 1909 1910ODT to PDF needs a valid HTTP(S) Gotenberg URL. Requests use its LibreOffice route with a trace header and a timeout between 10 and 300 seconds, normally 120. A missing endpoint prevents upload. 1911 1912Fonts and language tools are those installed beside the renderer. Linked resources must be available inside the document package or service environment. External application links are not fetched as a general browsing feature, and macros are not promised in the static result.`,uAe=((e={},t={})=>(t.locale??J(),lAe(e))),dAe=()=>`How to prepare ODT to PDF output`,fAe=((e={},t={})=>(t.locale??J(),dAe(e))),pAe=()=>`1. Update ODT to PDF structures::Refresh contents, fields, cross-references, footnotes and page counts in the authoring application. 1913 19142. Inspect ODT to PDF styles::Confirm page styles, fonts, images, anchored objects and language settings on a representative computer. 1915 19163. Review confidential layers::Remove hidden text, comments, tracked changes and unused embedded files from the approved copy. 1917 19184. Convert ODT to PDF::Approve complete-file server processing and wait for the bounded private-renderer request. 1919 19205. Compare fixed pages::Check headings, contents entries, footnotes, tables, image anchors, blank pages and final pagination before release.`,mAe=((e={},t={})=>(t.locale??J(),pAe(e))),hAe=()=>`ODT to PDF publishing workflows`,gAe=((e={},t={})=>(t.locale??J(),hAe(e))),_Ae=()=>`Distributing policy manuals::Use ODT to PDF for stable pages while retaining the styled source as the maintained master. 1921 1922Submitting academic drafts::Review citations, notes, formulas and generated contents after rendering because page movement can break references. 1923 1924Sharing open-format reports::Provide recipients with a common reading copy without requiring their office suite to reproduce every style. 1925 1926Creating record copies::Store the PDF with source, fonts policy and version information when provenance matters. The conversion does not claim PDF/A, accessibility conformance, a digital signature or preservation of the package's full metadata.`,vAe=((e={},t={})=>(t.locale??J(),_Ae(e))),yAe=()=>`ODT to PDF styles and font substitution`,bAe=((e={},t={})=>(t.locale??J(),yAe(e))),xAe=()=>`ODT separates content from named styles and supports complex page masters. A substituted font changes wrapping and can shift headings, footnotes, tables and cross-reference targets. Anchored frames may move when their surrounding paragraph reflows. Formula, chart, drawing and change-tracking support depends on the installed LibreOffice build. 1927 1928The source controls page size, orientation and margins as interpreted by the renderer; this web page supplies no replacement layout options. Images may be resampled by office export, color profiles can render differently and interactive form behavior is not guaranteed. 1929 1930The output is dependable only after document-specific comparison. Inspect every style family and a sample of long pages, then verify the complete result when it becomes a formal record. Keep the editable package for corrections, future revisions and comparison with later renderer upgrades.`,SAe=((e={},t={})=>(t.locale??J(),xAe(e))),CAe=()=>`ODT to PDF upload responsibility`,wAe=((e={},t={})=>(t.locale??J(),CAe(e))),TAe=()=>`This route is not device-only. Once approved, the full ODT is handled by TiPDF's server and the configured Gotenberg service. Administrators are responsible for network transport, endpoint access, logs, temporary files and retention. The public product copy cannot promise a particular deployment's deletion schedule. 1931 1932OpenDocument packages may contain more than visible pages: thumbnails, metadata, comments, tracked revisions, embedded objects and images can remain inside. Clean an authorized copy before upload and inspect the returned document properties. Rendering does not perform redaction. 1933 1934A downloaded PDF can be copied or indexed. Apply access policy after conversion and use separate password protection only when appropriate; encryption of the output cannot undo disclosure to the authorized renderer.`,EAe=((e={},t={})=>(t.locale??J(),TAe(e))),DAe=()=>`ODT to PDF questions`,OAe=((e={},t={})=>(t.locale??J(),DAe(e))),kAe=()=>`Is ODT to PDF online free?::The page has no checkout, but deployment access and the configured renderer determine availability. 1935 1936Does open document to PDF stay local?::No. User approval is required before server and configured-renderer processing. 1937 1938Does LibreOffice ODT to PDF preserve exact pagination?::Not guaranteed; font metrics, fields and renderer versions can change wrapping. 1939 1940Does it preserve comments and tracked changes?::Do not assume so; resolve or remove them and review the static output. 1941 1942What is accepted?::One valid ODT up to 50 MiB. 1943 1944Is the download checked?::Yes. TiPDF requires a successful service response with a PDF signature.`,AAe=((e={},t={})=>(t.locale??J(),kAe(e))),jAe=()=>`ODT to PDF capability copy was verified on July 18, 2026 against ODT registration, the 50 MiB server guard, explicit approval, HTTP(S) Gotenberg configuration, LibreOffice routing, trace identifiers, bounded 10â300-second timeouts and returned PDF signature validation. Test packages include styles, a generated contents list, tables, footnotes, images and non-Latin text, plus damaged-package and missing-service failures. The convert ODT to PDF route excludes local-only processing, exact font equivalence, stable pagination, macro execution, PDF/A and automatic redaction. A second convert ODT to PDF inspection checks anchors and cross-reference page numbers. Comparison includes both screen viewing and a representative printed sample.`,MAe=((e={},t={})=>(t.locale??J(),jAe(e))),NAe=()=>`One approved ODT package with styles, contents and footnotes passing through a private LibreOffice renderer into validated fixed PDF pages`,PAe=((e={},t={})=>(t.locale??J(),NAe(e))),FAe=()=>
1944`Use ODT to PDF for one approved 50 MiB private-renderer request.`,IAe=((e={},t={})=>(t.locale??J(),FAe(e))),LAe=()=>`Approve ODT to PDF private rendering`,RAe=((e={},t={})=>(t.locale??J(),LAe(e))),zAe=()=>`ODP to PDF Converter for Private Slide Rendering | TiPDF`,BAe=((e={},t={})=>(t.locale??J(),zAe(e))),VAe=()=>`Convert one approved ODP presentation up to 50 MiB through a configured private LibreOffice renderer and receive a validated static PDF.`,HAe=((e={},t={})=>(t.locale??J(),VAe(e))),UAe=()=>`Use ODP to PDF for Static Slides`,WAe=((e={},t={})=>(t.locale??J(),UAe(e))),GAe=()=>`Use ODP to PDF when an OpenDocument slide deck needs a fixed reading or printing copy. TiPDF requests approval, sends one presentation to the configured private renderer and validates the returned document.`,KAe=((e={},t={})=>(t.locale??J(),GAe(e))),qAe=()=>`Accepts one approved ODP to PDF source 1945 1946Uses the configured ODP to PDF renderer 1947 1948Checks the returned PDF signature`,JAe=((e={},t={})=>(t.locale??J(),qAe(e))),YAe=()=>`How ODP to PDF makes static pages`,XAe=((e={},t={})=>(t.locale??J(),YAe(e))),ZAe=()=>`The ODP to PDF converter marks the job as server-side because browsers do not reproduce the presentation model here. After explicit approval, ODP to PDF sends the complete source through TiPDF to the configured Gotenberg LibreOffice endpoint. 1949 1950ODP to PDF relies on the renderer for slide masters, layouts, text boxes, shapes, charts, tables and supported media poster frames. Each slide normally becomes one PDF page according to source geometry. Animations, transitions, presenter notes and interactive playback are not promised as PDF behavior. 1951 1952TiPDF accepts the result only after a successful service response whose leading bytes match a PDF signature. A missing endpoint, timeout, rejection or malformed response becomes an error rather than an incomplete deck. The returned filename derives safely from the uploaded presentation.`,QAe=((e={},t={})=>(t.locale??J(),ZAe(e))),$Ae=()=>`ODP to PDF package and renderer limits`,eje=((e={},t={})=>(t.locale??J(),$Ae(e))),tje=()=>`ODP to PDF accepts one .odp no larger than 50 MiB. It must be a readable OpenDocument Presentation package; damaged containers, encryption, missing manifest data or unsupported objects can fail. This route does not combine decks, accept a public URL or turn images into ODP. 1953 1954ODP to PDF needs a valid HTTP or HTTPS Gotenberg URL. Requests use its LibreOffice route with a trace identifier and a timeout from 10 to 300 seconds, normally 120. 1955 1956Font availability, locale, media codecs and office filters come from the private service installation. Linked assets unavailable there may disappear. Videos and audio are not embedded as playable PDF experiences, and the page does not offer an option to include speaker notes or handout layouts.`,nje=((e={},t={})=>(t.locale??J(),tje(e))),rje=()=>`How to prepare ODP to PDF output`,ije=((e={},t={})=>(t.locale??J(),rje(e))),aje=()=>`1. Review ODP to PDF slide states::Set final text, visibility, chart data and poster frames; do not rely on animation for essential content. 1957 19582. Check ODP to PDF masters::Inspect theme fonts, backgrounds, aspect ratio, crop areas and objects beyond slide boundaries. 1959 19603. Remove hidden information::Delete unwanted notes, hidden slides, comments, unused media and confidential metadata from the approved copy. 1961 19624. Convert ODP to PDF::Approve the complete-file upload and wait for the bounded private-renderer request to finish. 1963 19645. Compare page by page::Verify slide order, page count, text wrapping, charts, transparency, image crops and final dimensions before distribution.`,oje=((e={},t={})=>(t.locale??J(),aje(e))),sje=()=>`Useful ODP to PDF workflows`,cje=((e={},t={})=>(t.locale??J(),sje(e))),lje=()=>`Distributing meeting decks::Use ODP to PDF for a stable copy while retaining the editable presentation for future sessions. 1965 1966Preparing print handouts::Create one fixed page per rendered slide, then choose printer imposition outside this tool because it does not produce multi-slide handout sheets. 1967 1968Submitting review material::Freeze charts, diagrams and approved copy for a portal that accepts PDF rather than OpenDocument packages. 1969 1970Keeping record copies::Store the output beside the source, version notes and required fonts when provenance matters. The route does not claim PDF/A, accessibility conformance, embedded presenter notes or cryptographic signing.`,uje=((e={},t={})=>(t.locale??J(),lje(e))),dje=()=>`ODP to PDF masters and motion limits`,fje=((e={},t={})=>(t.locale??J(),dje(e))),pje=()=>`Presentations depend on exact font metrics, theme masters and object positioning. A substituted font can wrap a title, overflow a text box or move later bullets. Complex gradients, masks, transparency, formulas, charts and imported drawing objects can render differently in the service's LibreOffice build. 1971 1972The source controls page aspect ratio and orientation. TiPDF supplies no crop, bleed, notes, handout, quality or paper controls. Embedded images may be resampled by the office export filter. Motion has no equivalent in ordinary f
1972ixed pages, so an animated sequence can lose intermediate states or narrative timing. 1973 1974The renderer should be tested with the actual master templates used by the organization. Inspect dense slides, non-Latin text and visual alignment at normal zoom and on the intended printer. Keep the original deck for edits and presentations.`,mje=((e={},t={})=>(t.locale??J(),pje(e))),hje=()=>`ODP to PDF private rendering scope`,gje=((e={},t={})=>(t.locale??J(),hje(e))),_je=()=>`This conversion is not local-only. After approval, the entire deck passes through TiPDF's server to the configured Gotenberg service. Deployment administrators control transport, endpoint access, logs, temporary storage and retention; the page cannot promise how every private installation manages those systems. 1975 1976A presentation package can contain speaker notes, hidden slides, author properties, comments, embedded media and unused assets beyond the visible final slides. Clean an authorized copy before upload. Static rendering is not redaction and may expose content if the office filter chooses to include it. 1977 1978The downloaded PDF can be copied and shared outside the application. Apply the correct access policy afterward. Password protection, if needed, is a separate workflow and does not undo the approved server disclosure.`,vje=((e={},t={})=>(t.locale??J(),_je(e))),yje=()=>`ODP to PDF questions`,bje=((e={},t={})=>(t.locale??J(),yje(e))),xje=()=>`Is ODP to PDF online free?::The page has no checkout, but deployment access and the configured renderer determine availability. 1979 1980Does OpenOffice presentation to PDF preserve animation?::No guarantee is made; the output is a static rendering. 1981 1982Is this an ODP file converter with speaker notes?::No notes or handout option is exposed; review the returned pages. 1983 1984Why did text move?::Renderer fonts and metrics can differ from the authoring computer. 1985 1986What can I upload?::One valid ODP no larger than 50 MiB after explicit approval. 1987 1988How is the response checked?::TiPDF requires a successful request and leading PDF signature before download.`,Sje=((e={},t={})=>(t.locale??J(),xje(e))),Cje=()=>`ODP to PDF capability copy was verified on July 18, 2026 against ODP registration, the 50 MiB server guard, explicit approval, configured HTTP(S) Gotenberg, LibreOffice routing, unique trace headers, 10â300-second timeout bounds and returned PDF signature validation. Test decks cover masters, common aspect ratios, charts, tables, transparent images, hidden slides and multilingual fonts, plus missing-service and corrupt-package failures. The convert ODP to PDF route excludes local-only claims, motion retention, speaker-note controls, universal font fidelity, handout imposition, PDF/A and encryption. A second convert ODP to PDF review compares each source slide with its static page.`,wje=((e={},t={})=>(t.locale??J(),Cje(e))),Tje=()=>`One approved ODP deck with masters, charts and slide objects passing through a bounded private renderer into validated static PDF pages`,Eje=((e={},t={})=>(t.locale??J(),Tje(e))),Dje=()=>`Use ODP to PDF for one approved 50 MiB private-renderer request.`,Oje=((e={},t={})=>(t.locale??J(),Dje(e))),kje=()=>`Approve ODP to PDF static rendering`,Aje=((e={},t={})=>(t.locale??J(),kje(e))),jje=()=>`ODS to PDF With Private Spreadsheet Rendering | TiPDF`,Mje=((e={},t={})=>(t.locale??J(),jje(e))),Nje=()=>`Convert one approved ODS workbook up to 50 MiB through the configured private LibreOffice renderer and receive a validated PDF.`,Pje=((e={},t={})=>(t.locale??J(),Nje(e))),Fje=()=>`Use ODS to PDF for Fixed Workbook Pages`,Ije=((e={},t={})=>(t.locale??J(),Fje(e))),Lje=()=>`Use ODS to PDF when an OpenDocument spreadsheet needs fixed pages for review, printing or submission. TiPDF requests approval, sends one workbook to a configured private renderer and validates the returned PDF.`,Rje=((e={},t={})=>(t.locale??J(),Lje(e))),zje=()=>`Accepts one approved ODS to PDF workbook 1989 1990Uses the configured ODS to PDF renderer 1991 1992Rejects responses without a PDF signature`,Bje=((e={},t={})=>(t.locale??J(),zje(e))),Vje=()=>`How ODS to PDF paginates cells`,Hje=((e={},t={})=>(t.locale??J(),Vje(e))),Uje=()=>`The ODS to PDF converter uses server rendering because this browser workflow does not implement a spreadsheet print engine. After explicit approval, ODS to PDF forwards the complete workbook through TiPDF to the configured Gotenberg LibreOffice endpoint. 1993 1994ODS to PDF relies on LibreOffice for sheets, cell values, formulas, styles, merged areas, charts, images, print ranges and page settings. It exports static pages according to the workbook and service defaults. Formulas are not editable calculations in the result; readers see rendered values and graphics. 1995 1996TiPDF checks that the service succeeded and that returned bytes start with the PDF signature before offering a download. Configuration failure, timeout, rejected input or invalid output stops the task. The application does not reflow tables or merge pages after the private renderer responds.`,W
1996je=((e={},t={})=>(t.locale??J(),Uje(e))),Gje=()=>`ODS to PDF workbook and service limits`,Kje=((e={},t={})=>(t.locale??J(),Gje(e))),qje=()=>`ODS to PDF accepts one valid .ods no larger than 50 MiB. Damaged packages, encrypted workbooks, unsupported extensions or malformed internal XML may fail. The page does not combine files, accept pasted ranges or retrieve a workbook from a public URL. 1997 1998ODS to PDF needs a configured HTTP(S) Gotenberg address. TiPDF uses the LibreOffice route with a trace identifier and a timeout from 10 to 300 seconds, normally 120. Without configuration, the request stops before conversion. 1999 2000Fonts, locale, decimal separators, date interpretation and office calculation behavior belong to the renderer environment. External links or data connections are not promised to refresh. Macros are not run as a feature, and password removal is outside this route.`,Jje=((e={},t={})=>(t.locale??J(),qje(e))),Yje=()=>`How to prepare ODS to PDF output`,Xje=((e={},t={})=>(t.locale??J(),Yje(e))),Zje=()=>`1. Recalculate ODS to PDF values::Open the workbook in a trusted editor, refresh approved values and save the intended state. 2001 20022. Set ODS to PDF print areas::Review sheet visibility, ranges, breaks, repeating rows, orientation, scaling and headers. 2003 20043. Remove hidden data::Delete confidential sheets, comments, unused names, external links and embedded objects from the approved copy. 2005 20064. Convert ODS to PDF::Approve complete-file server processing and wait for the bounded private-renderer response. 2007 20085. Inspect every sheet::Check values, number formats, columns, row breaks, charts, blank pages, repeated headers and final page order before distribution.`,Qje=((e={},t={})=>(t.locale??J(),Zje(e))),$je=()=>`ODS to PDF publishing workflows`,eMe=((e={},t={})=>(t.locale??J(),$je(e))),tMe=()=>`Freezing financial reports::Use ODS to PDF for a reviewed calculation state while retaining the formula workbook under version control. 2009 2010Submitting operational tables::Create a conventional document for systems that do not accept OpenDocument spreadsheets. 2011 2012Printing inventory sheets::Use the workbook's saved print ranges and scaling, then verify that wide tables remain readable on actual paper. 2013 2014Sharing chart packs::Render approved charts with their supporting tables for review. The output does not preserve live filters, cell editing, data refresh, macros or formula auditing as interactive PDF behavior.`,nMe=((e={},t={})=>(t.locale??J(),tMe(e))),rMe=()=>`ODS to PDF pagination and formulas`,iMe=((e={},t={})=>(t.locale??J(),rMe(e))),aMe=()=>`Spreadsheet pagination is sensitive to column width, font metrics, printer settings and scaling. Font substitution can widen labels enough to move a column onto another page. Different locales can display dates, decimals or currency differently, while unsupported functions may return errors or stale cached values. 2015 2016The web page supplies no orientation, paper, fit-to-width, margin, print-area or sheet-selection options. Those decisions must be saved in the workbook and are interpreted by the service. Large charts, conditional formatting, drawings and transparent images can vary by LibreOffice version. 2017 2018The output must be checked with wide and long representative sheets. Compare totals and formulas with the approved source, then inspect every page boundary, repeated header and chart label. Preserve the original workbook for recalculation and audit. Include sheets with negative values, zero totals, long labels, wrapped cells and print titles so subtle formatting changes cannot hide in easy examples. Always print one dense page to confirm physical legibility after final scaling.`,oMe=((e={},t={})=>(t.locale??J(),aMe(e))),sMe=()=>`ODS to PDF upload responsibility`,cMe=((e={},t={})=>(t.locale??J(),sMe(e))),lMe=()=>`This route is not local-only. Once approved, the whole workbook goes through TiPDF's application server and the administrator-configured Gotenberg service. Deployment owners control network encryption, endpoint access, service logs, temporary storage and retention. 2019 2020ODS packages can contain hidden sheets, formulas, named ranges, comments, author metadata, cached results, embedded images and links that are not obvious in the visible print range. Clean a dedicated copy before upload. Rendering is not data loss prevention, redaction or anonymization. 2021 2022The static download can still expose selectable values. Apply access and retention controls after conversion. Password-protecting the output later does not retract data already approved for processing by the private renderer.`,uMe=((e={},t={})=>(t.locale??J(),lMe(e))),dMe=()=>`ODS to PDF questions`,fMe=((e={},t={})=>(t.locale??J(),dMe(e))),pMe=()=>`Is ODS to PDF online free?::The page has no checkout, but deployment access and the configured renderer determine availability. 2023 2024Does OpenOffice spreadsheet to PDF keep formulas editable?::No. The output contains static rendered values. 2025 2026Is this an ODS file converter with sheet controls?::No. Save print ranges and page settings in the workbook before upload. 2027 2028Do external data links refresh?::No guarantee is made; confirm approved values before conversion. 2029 2030What is the input limit?::One approved ODS up to 50 MiB. 2031 2032How is output validated?::The service must succeed and return bytes beginning with a PDF signature.`,mMe=((e={},t={})=>(t.locale??J(),pMe(e))),hMe=()=>`ODS to PDF capability copy was verified on July 18, 2026 against ODS registration, the 50 MiB server guard, explicit approval, configured HTTP(S) Gotenberg, LibreOffice routing, trace identifiers, 10â300-second timeouts and PDF signature validation. Workbooks cover formulas, cached values, dates, merged cells, print ranges, page breaks, hidden sheets, charts and multilingual text, plus corrupt-package and missing-service failures. The convert ODS to PDF route excludes local-only claims, live formulas, refresh guarantees, web-page print controls, macro execution, PDF/A and encryption. A second convert ODS to PDF check carefully compares rendered totals with the saved approved state.`,gMe=((e={},t={})=>(t.locale??J(),hMe(e))),_Me=()=>`One approved ODS workbook with formulas, print ranges and charts passing through a bounded private renderer into validated static PDF pages`,vMe=((e={},t={})=>(t.locale??J(),_Me(e))),yMe=()=>`Use ODS to PDF for one approved 50 MiB private-renderer request.`,bMe=((e={},t={})=>(t.locale??J(),yMe(e))),xMe=()=>`Approve ODS to PDF private rendering`,SMe=((e={},t={})=>(t.locale??J(),xMe(e))),CMe=()=>`HWP to PDF With Service Compatibility Check | TiPDF`,wMe=((e={},t={})=>(t.locale??J(),CMe(e))),TMe=()=>`Send one approved HWP up to 50 MiB to the configured private LibreOffice renderer when that installation supports HWP input.`,EMe=((e={},t={})=>(t.locale??J(),TMe(e))),DMe=()=>`Use HWP to PDF With a Compatibility Check`,OMe=((e={},t={})=>(t.locale??J(),DMe(e))),kMe=()=>`Use HWP to PDF only when the configured private document service supports the source format. TiPDF obtains approval, submits one file and validates a successful PDF response without promising universal HWP compatibility.`,AMe=((e={},t={})=>(t.locale??J(),kMe(e))),jMe=()=>`Accepts one approved HWP to PDF source 2033 2034Makes HWP to PDF compatibility explicit 2035 2036Validates successful PDF output`,MMe=((e={},t={})=>(t.locale??J(),jMe(e))),NMe=()=>`Why HWP to PDF is conditional`,PMe=((e={},t={})=>(t.locale??J(),NMe(e))),FMe=()=>`The HWP to PDF converter registers .hwp as an office source, but decoding belongs to the configured Gotenberg LibreOffice installation. After approval, HWP to PDF forwards the complete file through TiPDF to that private endpoint. The browser does not parse or reconstruct Hangul document structures. 2037 2038HWP to PDF works only when the service has a compatible import filter for supported text, paragraphs, tables, images, page styles and objects. If support is missing or the HWP generation is incompatible, the service may reject the file. TiPDF reports that failure rather than claiming conversion occurred. 2039 2040A successful response still must begin with a PDF signature. HTTP errors, timeouts and invalid bytes are rejected. The application returns the validated rendering with a sanitized filename and does not repair layout after export.`,IMe=((e={},t={})=>(t.locale??J(),FMe(e))),LMe=()=>`HWP to PDF generations and limits`,RMe=((e={},t={})=>(t.locale??J(),LMe(e))),zMe=()=>`HWP to PDF accepts one .hwp no larger than 50 MiB. The extension passes the office-file rule, but that does not prove readability by every LibreOffice build. Older binary HWP, newer structures, embedded objects, encryption or damage can behave differently. HWPX is not accepted. 2041 2042HWP to PDF needs a configured HTTP(S) Gotenberg URL. The request uses LibreOffice, includes a trace identifier and has a 10â300-second timeout, normally 120. Missing configuration stops the request. 2043 2044Font availability is especially important for Korean text and layout. The service needs appropriate Hangul fonts and import filters. Linked resources, macros and proprietary embedded objects are not guaranteed, and the tool cannot install missing compatibility components on demand.`,BMe=((e={},t={})=>(t.locale??J(),zMe(e))),VMe=()=>`How to approach HWP to PDF responsibly`,HMe=((e={},t={})=>(t.locale??J(),VMe(e))),UMe=()=>`1. Identify HWP to PDF generation::Record the authoring application and version, and confirm the file opens correctly in an authorized editor. 2045 20462. Produce a clean HWP to PDF copy::Resolve changes, remove hidden information, embed images and save the approved version. 2047 20483. Confirm service capability::Ask whether the configured renderer includes an HWP import filter and suitable Korean fonts. 2049 20504. Convert HWP to PDF::Approve the complete-file upload, submit once and wait for the bounded service response. 2051 20525. Compare closely::Inspect every Korean glyph, table, formula, image, header, footer and page break against the trusted source before relying on the result.`,WMe=((e={},t={})=>(t.locale??J(),UMe(e))),GMe=()=>`When HWP to PDF is useful`,KMe=((e={},t={})=>(t.locale??J(),GMe(e))),qMe=()=>`Sharing administrative forms::Use HWP to PDF when recipients lack the Hangul editor, after confirming all fields and seals visually. 2053 2054Submitting Korean reports::Render an approved version for a system that requires PDF, while preserving the authoritative source and version details. 2055 2056Reviewing legacy records::Produce a convenience copy from an older file only when the service opens it successfully and the output is compared page by page. 2057 2058Printing fixed pages::Use the renderer's page result for ordinary printing after checking fonts and dimensions. Conversion does not establish archival conformance, legal authenticity, OCR, a digital signature or exact proprietary-feature preservation.`,JMe=((e={},t={})=>(t.locale??J(),qMe(e))),YMe=()=>`HWP to PDF fonts and layout limits`,XMe=((e={},t={})=>(t.locale??J(),YMe(e))),ZMe=()=>`HWP documents can depend on Korean font metrics, character spacing, vertical positioning, section settings, equations, tables, drawings and proprietary embedded controls. A substitute font may change line breaks and move all later pages. An import filter may simplify objects it does not fully understand. 2059 2060The source and service decide paper size, margins and pagination. This web page offers no orientation, font mapping, fallback, image quality or compatibility settings. Even when the renderer returns a valid PDF, validity proves f
2060ile structure, not visual fidelity. 2061 2062The workflow must therefore be treated as conditional. Test the actual document family, compare dense Korean pages and print a representative sample. If the service rejects the source or changes essential content, export from an authorized native editor instead of repeated blind attempts.`,QMe=((e={},t={})=>(t.locale??J(),ZMe(e))),$Me=()=>`HWP to PDF server approval`,eNe=((e={},t={})=>(t.locale??J(),$Me(e))),tNe=()=>`The workflow uploads the full approved HWP through TiPDF's server to the configured Gotenberg service. It is not device-only. Deployment administrators control transport, endpoint permissions, logging, temporary files and retention. Compatibility troubleshooting may also expose filenames or error details in service logs. 2063 2064HWP sources can contain personal identifiers, government forms, hidden revisions, document properties and embedded assets. Review an authorized copy before approval. Rendering does not redact, anonymize or remove metadata by policy, and the returned PDF may preserve selectable sensitive text. 2065 2066Manage the download under the same classification as the source. Later password protection cannot reverse the approved disclosure to the renderer, and TiPDF cannot remove copies saved or shared outside the application.`,nNe=((e={},t={})=>(t.locale??J(),tNe(e))),rNe=()=>`HWP to PDF questions`,iNe=((e={},t={})=>(t.locale??J(),rNe(e))),aNe=()=>`Is HWP to PDF online free?::The page has no checkout, but deployment access and renderer compatibility determine availability. 2067 2068Can a Hangul file to PDF conversion always succeed?::No. Success depends on the service's import filter and source generation. 2069 2070Is this an HWP file converter for HWPX?::No. This route registers .hwp only. 2071 2072Why are Korean line breaks different?::Missing or substituted fonts can change glyph metrics and pagination. 2073 2074What is the upload limit?::One approved HWP up to 50 MiB. 2075 2076Does a valid PDF prove perfect fidelity?::No. It proves a PDF response; users must compare visible content.`,oNe=((e={},t={})=>(t.locale??J(),aNe(e))),sNe=()=>`HWP to PDF capability copy was verified on July 18, 2026 against HWP registration, the 50 MiB server guard, explicit approval, configured HTTP(S) Gotenberg, LibreOffice routing, trace identifiers, 10â300-second timeout bounds and returned PDF signature validation. Verification deliberately covers both a service with compatible HWP import support and a rejection path when support is absent, plus Korean-font substitution review. The convert HWP to PDF route excludes universal compatibility, HWPX acceptance, local-only processing, native-layout guarantees, OCR, PDF/A and encryption. A second convert HWP to PDF check compares tables and page breaks with a trusted native rendering.`,cNe=((e={},t={})=>(t.locale??J(),sNe(e))),lNe=()=>`One approved HWP passing through a compatibility checkpoint and bounded private renderer before a validated PDF response`,uNe=((e={},t={})=>(t.locale??J(),lNe(e))),dNe=()=>`Use HWP to PDF only after confirming private-renderer format and font support.`,fNe=((e={},t={})=>(t.locale??J(),dNe(e))),pNe=()=>`Approve HWP to PDF after compatibility review`,mNe=((e={},t={})=>(t.locale??J(),pNe(e))),hNe=()=>`EPUB to PDF Converter for Private Ebook Rendering | TiPDF`,gNe=((e={},t={})=>(t.locale??J(),hNe(e))),_Ne=()=>`Convert one approved, unprotected EPUB up to 50 MiB through the configured private renderer into a validated fixed-page PDF.`,vNe=((e={},t={})=>(t.locale??J(),_Ne(e))),yNe=()=>`Use EPUB to PDF for Fixed Ebook Pages`,bNe=((e={},t={})=>(t.locale??J(),yNe(e))),xNe=()=>`Use EPUB to PDF when an authorized reflowable ebook needs a fixed reading or printing copy. TiPDF requests approval, sends one unprotected file to the configured private renderer and validates the PDF response.`,SNe=((e={},t={})=>(t.locale??J(),xNe(e))),CNe=()=>`Accepts one approved EPUB to PDF source 2077 2078Uses the configured EPUB to PDF renderer 2079 2080Does not remove ebook DRM`,wNe=((e={},t={})=>(t.locale??J(),CNe(e))),TNe=()=>`How EPUB to PDF fixes reflowable chapters`,ENe=((e={},t={})=>(t.locale??J(),TNe(e))),DNe=()=>`The EPUB to PDF converter handles an ebook as a server-rendered office source. After explicit approval, EPUB to PDF sends the complete package through TiPDF to the configured Gotenberg LibreOffice endpoint. The browser does not unpack, style or paginate chapters itself. 2081 2082EPUB to PDF relies on the service for supported XHTML, CSS, embedded fonts, images, navigation and metadata. Page count, line breaks and image placement follow the renderer rather than an ebook reader's adjustable settings. Interactive scripts, media and reader controls are not reproduced as normal PDF behavior. 2083 2084TiPDF requires a successful response whose leading bytes identify a PDF. It rejects timeouts, service errors and malformed output. The valid result is named from the source and returned without an additional browser-side pagination pass.`,ONe=((e={},t={})=>(t.locale??J(),DNe(e))),kNe=()=>`EPUB to PDF package and DRM boundaries`,ANe=((e={},t={})=>(t.locale??J(),kNe(e))),jNe=()=>`EPUB to PDF accepts one .epub no larger than 50 MiB. It must be authorized and readable by the configured import filter. Damaged ZIP structure, invalid manifests, missing resources or unsupported markup can fail. DRM-protected ebooks are not decrypted, bypassed or modified. 2085 2086EPUB to PDF needs a valid HTTP(S) Gotenberg URL. TiPDF calls LibreOffice with a trace identifier and a 10â300-second timeout, normally 120. Without the service, conversion cannot proceed. 2087 2088Support for EPUB versions, CSS, embedded fonts, SVG, MathML and media depends on the installed LibreOffice build. Exter
2088nal resources are not guaranteed to load. The tool accepts neither a bookstore URL nor a folder of loose ebook files.`,MNe=((e={},t={})=>(t.locale??J(),jNe(e))),NNe=()=>`How to prepare EPUB to PDF output`,PNe=((e={},t={})=>(t.locale??J(),NNe(e))),FNe=()=>`1. Confirm EPUB to PDF rights::Use only an authorized ebook and verify that no DRM prevents the renderer from opening it. 2089 20902. Validate EPUB to PDF content::Check chapter order, navigation, images, fonts, links and metadata in a trusted reader. 2091 20923. Remove unwanted private data::Clean annotations or embedded personal information from a separate approved source package where applicable. 2093 20944. Convert EPUB to PDF::Approve full-file server processing and wait for the bounded private-renderer response. 2095 20965. Compare the fixed edition::Read chapter openings, page breaks, footnotes, images, tables, formulas and non-Latin text before distribution or printing.`,INe=((e={},t={})=>(t.locale??J(),FNe(e))),LNe=()=>`Appropriate EPUB to PDF workflows`,RNe=((e={},t={})=>(t.locale??J(),LNe(e))),zNe=()=>`Preparing authorized print copies::Use EPUB to PDF for fixed sheets when rights permit, then verify margins and type size on paper. 2097 2098Submitting review proofs::Give editors or reviewers a page-addressable artifact while keeping the EPUB as the maintained publication source. 2099 2100Creating classroom references::Produce a consistent copy from an openly licensed ebook, respecting its license and accessibility requirements. 2101 2102Recording a release state::Store a convenience PDF beside the exact package and checksum. Conversion does not create PDF/A, preserve reader interactivity, certify accessibility or replace the canonical ebook.`,BNe=((e={},t={})=>(t.locale??J(),zNe(e))),VNe=()=>`EPUB to PDF reflow and fonts`,HNe=((e={},t={})=>(t.locale??J(),VNe(e))),UNe=()=>`EPUB is designed to adapt to viewport, font size and reader preferences. PDF is fixed, so a renderer must choose page dimensions, type metrics and breaks. Missing embedded or system fonts can change line wrapping across every chapter. CSS features, floats, tables, SVG and footnotes may simplify or move. 2103 2104This page offers no paper-size, margin, font-size, theme, chapter-selection or image-quality controls. Those decisions come from the package and service. Long links, wide tables and high-resolution images deserve special inspection. Reader bookmarks, text-to-speech settings and dynamic navigation do not become equivalent PDF controls. 2105 2106The result is best treated as a derived edition. Compare the complete table of contents and a sample from every content type. Keep the original package for responsive reading, accessibility and future corrections. Keep a versioned source backup. Check chapter-end blanks, orphaned headings and image captions across both screen and representative print review.`,WNe=((e={},t={})=>(t.locale??J(),UNe(e))),GNe=()=>`EPUB to PDF authorized upload`,KNe=((e={},t={})=>(t.locale??J(),GNe(e))),qNe=()=>`This operation is not device-only. After approval, the full EPUB passes through TiPDF's server to the configured Gotenberg service. Deployment administrators control transport security, endpoint access, logs, temporary files and retention. The conversion page cannot override publisher rights or a service's operational policy. 2107 2108Packages can contain author metadata, identifiers, embedded fonts, images, navigation, annotations or tracking-like resources beyond the visible text. Inspect an approved copy and avoid uploading protected or unauthorized books. Rendering is not metadata scrubbing or anonymization. 2109 2110The returned PDF can be copied more easily than some reader formats. Apply license, access and retention obligations to the download. Later encryption cannot undo the authorized disclosure to the private renderer.`,JNe=((e={},t={})=>(t.locale??J(),qNe(e))),YNe=()=>`EPUB to PDF questions`,XNe=((e={},t={})=>(t.locale??J(),YNe(e))),ZNe=()=>`Is EPUB to PDF online free?::The page has no checkout, but deployment access and the configured renderer determine availability. 2111 2112Does ebook to PDF remove DRM?::No. Protected ebooks are not decrypted or bypassed. 2113 2114Is this an EPUB file converter with adjustable page settings?::No. The fixed renderer chooses fonts, geometry and CSS support. 2115 2116Will navigation and media stay interactive?::No guarantee is made; the output is a static page document. 2117
2118What can I submit?::One approved EPUB up to 50 MiB. 2119 2120How is output checked?::The service must succeed and return bytes beginning with a PDF signature.`,QNe=((e={},t={})=>(t.locale??J(),ZNe(e))),$Ne=()=>`EPUB to PDF capability copy was verified on July 18, 2026 against EPUB registration, the 50 MiB server limit, explicit approval, configured HTTP(S) Gotenberg, LibreOffice routing, trace identifiers, 10â300-second timeouts and PDF signature validation. Fixtures cover chapters, navigation, embedded fonts, images, tables, SVG and multilingual text, plus corrupt packages, missing service and protected-input rejection. The convert EPUB to PDF route excludes DRM removal, local-only processing, adjustable reader settings, interactive-media guarantees, stable pagination, PDF/A and encryption. A second carefully reviewed convert EPUB to PDF run compares navigation order with rendered chapter openings.`,ePe=((e={},t={})=>(t.locale??J(),$Ne(e))),tPe=()=>`One approved unprotected EPUB with chapters and responsive layout passing through a bounded private renderer into validated fixed PDF pages`,nPe=((e={},t={})=>(t.locale??J(),tPe(e))),rPe=()=>`Use EPUB to PDF for one approved unprotected 50 MiB private-renderer request.`,iPe=((e={},t={})=>(t.locale??J(),rPe(e))),aPe=()=>`Approve EPUB to PDF fixed rendering`,oPe=((e={},t={})=>(t.locale??J(),aPe(e))),sPe=()=>`ZIP to PDF Converter for Supported Office Documents | TiPDF`,cPe=((e={},t={})=>(t.locale??J(),sPe(e))),lPe=()=>`Approve one ZIP up to 50 MiB; TiPDF safely expands supported office documents up to 250 MiB, renders each privately and merges validated pages.`,uPe=((e={},t={})=>(t.locale??J(),lPe(e))),dPe=()=>`Use ZIP to PDF for Supported Document Batches`,fPe=((e={},t={})=>(t.locale??J(),dPe(e))),pPe=()=>`Use ZIP to PDF for an authorized archive of supported office and ebook documents, not a generic image bundle. TiPDF checks archive limits, renders eligible entries through the private service and merges their validated pages in archive order.`,mPe=((e={},t={})=>(t.locale??J(),pPe(e))),hPe=()=>`Checks up to 1,000 archive entries 2121 2122Caps supported expanded data at 250 MiB 2123 2124Merges validated document pages in archive order`,gPe=((e={},t={})=>(t.locale??J(),hPe(e))),_Pe=()=>`How ZIP to PDF expands, renders and merges`,vPe=((e={},t={})=>(t.locale??J(),_Pe(e))),yPe=()=>`The ZIP to PDF converter accepts one approved archive up to the 50 MiB server upload limit. For ZIP to PDF processing, JSZip reads the central directory without expanding every entry for CRC checks. Directories and macOS metadata paths beginning with __MACOSX/ are excluded from the document list. 2125 2126The workflow filters remaining entries to supported office and ebook extensions, checks declared uncompressed sizes, then expands eligible files one at a time while tracking actual bytes. Each supported document is sent separately to the configured Gotenberg renderer. Its validated PDF pages are copied into one new output in archive entry order. 2127 2128This is not a shortcut for arbitrary files. JPG, PNG and other images are outside the archive conversion set, nested ZIP files are not recursively opened, and unsupported entries are skipped. If no convertible document remains, the task stops instead of returning an empty PDF.`,bPe=((e={},t={})=>(t.locale??J(),yPe(e))),xPe=()=>`ZIP to PDF entries and archive safeguards`,SPe=((e={},t={})=>(t.locale??J(),xPe(e))),CPe=()=>`A ZIP to PDF request accepts one .zip no larger than 50 MiB. It can contain DOC, DOCX, XLS, XLSX, PPT, PPTX, RTF, ODT, ODP, ODS, HWP, HTML, HTM or EPUB entries. Actual rendering still depends on the configured LibreOffice service. Images, PDFs and nested archives are not accepted by this route. 2129 2130After directories and __MACOSX metadata are removed, the archive allows at most 1,000 file entries. Supported entries must report safe integer uncompressed sizes, and their declared total cannot exceed 250 MiB. Actual expanded bytes are counted again and must remain within the same ceiling, limiting deceptive compression ratios. 2131 2132Standalone HTML entries also pass HTML safety checks: scripts, frames, refresh directives, imports and non-data external resources are rejected. A damaged archive or invalid entry size fails the complete job.`,wPe=((e={},t={})=>(t.locale??J(),CPe(e))),TPe=()=>`How to prepare ZIP to PDF output`,EPe=((e={},t={})=>(t.locale??J(),TPe(e))),DPe=()=>`1. Choose supported documents::Remove images, PDFs, nested ZIPs and unrelated files rather than assuming they will become pages. 2133 21342. Establish archive order::Add entries in the exact sequence intended for the merged document; filenames alone are not a promised sorting control. 2135 21363. Inspect every source::Open office files safely, resolve revisions, update calculations and remove hidden or unauthorized data. 2137 21384. Convert ZIP to PDF::Approve the complete archive upload and wait while eligible entr
2138ies expand, render and merge on the server. 2139 21405. Audit the result::Compare eligible entry count, entry sequence, individual page counts and transition boundaries in the combined PDF.`,OPe=((e={},t={})=>(t.locale??J(),DPe(e))),kPe=()=>`Appropriate ZIP to PDF workflows`,APe=((e={},t={})=>(t.locale??J(),kPe(e))),jPe=()=>`Combining a submission packet::Use ZIP to PDF for related word-processing, spreadsheet and presentation sources arranged in deliberate archive order. 2141 2142Rendering mixed open formats::Run ODT, ODS and ODP entries through the same configured office environment before merging their fixed pages. 2143 2144Processing a controlled batch::Use batch files to PDF only when every supported document is authorized and the archive stays within entry and expansion limits. 2145 2146Preparing a review binder::Join validated page results while retaining the archive and individual sources for edits. The output does not preserve editable objects, folders, unsupported files, attachments or an automatic table of contents.`,MPe=((e={},t={})=>(t.locale??J(),jPe(e))),NPe=()=>`ZIP to PDF fidelity and merged-page consistency`,PPe=((e={},t={})=>(t.locale??J(),NPe(e))),FPe=()=>`Every ZIP to PDF entry inherits the fidelity boundaries of its own format. Fonts can substitute, spreadsheets can paginate widely, presentations lose motion and reflowable ebooks gain fixed breaks. The merge copies complete rendered pages; ZIP to PDF does not normalize paper sizes, margins, orientation, headers, color or scale. 2147 2148One failed eligible entry stops the operation rather than silently omitting a required document after rendering begins. Unsupported extensions, however, are filtered before conversion. Distinguish those cases by reviewing the archive manifest and final page transitions. 2149 2150The combined result is useful only with a controlled manifest. Record expected eligible filenames and page counts, inspect every boundary and preserve sources. For image collections, use Image to PDF; for existing PDFs, use Merge PDF instead.`,IPe=((e={},t={})=>(t.locale??J(),FPe(e))),LPe=()=>`ZIP to PDF disclosure and private rendering`,RPe=((e={},t={})=>(t.locale??J(),LPe(e))),zPe=()=>`After ZIP to PDF approval, the complete archive reaches TiPDF's server, where supported entries are expanded and sent to the configured Gotenberg service. This is not local-only. Deployment owners control transport, endpoint permissions, logs, temporary extraction and retention. Unsupported entries still arrive inside the uploaded archive even when they are not rendered. 2151 2152An archive can hide sensitive files, metadata, revision history and extreme compression ratios. Build a dedicated minimal archive, inspect its manifest and never upload unknown ZIPs. Safety limits reduce resource risk but do not classify content or remove secrets. 2153 2154The combined download may expose selectable data from every rendered source. Apply access and retention rules to the archive, extracted service data and output. Later encryption cannot undo approved processing.`,BPe=((e={},t={})=>(t.locale??J(),zPe(e))),VPe=()=>`ZIP to PDF questions`,HPe=((e={},t={})=>(t.locale??J(),VPe(e))),UPe=()=>`Is ZIP to PDF online free?::The page has no checkout, but deployment access and the configured renderer determine availability. 2155 2156Does images ZIP to PDF work here?::No. This route accepts supported office and ebook entries, not JPG or PNG; use Image to PDF for an image collection. 2157 2158Is this a ZIP to PDF converter for nested archives?::No. Archives are not processed recursively. 2159 2160What are the ZIP to PDF safety limits?::One 50 MiB upload, at most 1,000 file entries and 250 MiB of supported expanded data. 2161 2162What happens to unsupported files?::They are not rendered; ZIP to PDF fails if no supported entry exists. 2163 2164How does convert ZIP to PDF order pages?::Converted documents are appended in archive entry order.`,WPe=((e={},t={})=>(t.locale??J(),UPe(e))),GPe=()=>`ZIP to PDF capability copy was verified on July 18, 2026 against the 50 MiB outer upload guard, explicit approval, JSZip parsing, directory and __MACOSX filtering, the 1,000-entry ceiling, declared and actual 250 MiB expansion guards, the exact convertible-extension set, per-entry Gotenberg rendering, PDF signature checks and page copying in archive order. Fixtures cover mixed supp
2164orted formats, unsupported entries, nested archives, safe standalone HTML, deceptive compression, invalid sizes and one-entry failure. The convert ZIP to PDF route excludes image batches, recursive archives, filename sorting guarantees, partial success, local-only processing and layout normalization. A second convert ZIP to PDF review checks every merged boundary.`,KPe=((e={},t={})=>(t.locale??J(),GPe(e))),qPe=()=>`ZIP to PDF workflow expanding supported entries, rendering each privately and merging validated pages in archive order`,JPe=((e={},t={})=>(t.locale??J(),qPe(e))),YPe=()=>`Use ZIP to PDF for supported documents under strict entry and expansion limits.`,XPe=((e={},t={})=>(t.locale??J(),YPe(e))),ZPe=()=>`Approve ZIP to PDF document rendering`,QPe=((e={},t={})=>(t.locale??J(),ZPe(e))),$Pe=()=>`Protect PDF Locally With AES-256 Password Encryption | TiPDF`,eFe=((e={},t={})=>(t.locale??J(),$Pe(e))),tFe=()=>`Add an eight-character-or-longer password to one PDF locally with AES-256 encryption and defined copy, annotation and assembly restrictions.`,nFe=((e={},t={})=>(t.locale??J(),tFe(e))),rFe=()=>`Protect PDF Files With AES-256 Encryption`,iFe=((e={},t={})=>(t.locale??J(),rFe(e))),aFe=()=>`Protect PDF files locally when a reviewed document needs password encryption before storage or sharing. TiPDF applies AES-256 with one password used for both user and owner access, plus explicit permission flags.`,oFe=((e={},t={})=>(t.locale??J(),aFe(e))),sFe=()=>`Uses Protect PDF with AES-256 locally 2165 2166Requires eight characters before Protect PDF encryption 2167 2168Blocks copying, annotation and assembly permissions`,cFe=((e={},t={})=>(t.locale??J(),sFe(e))),lFe=()=>`What Protect PDF encryption does`,uFe=((e={},t={})=>(t.locale??J(),lFe(e))),dFe=()=>`The Protect PDF workflow reads one validated document in browser memory and requires a new password at least eight characters long. It loads the file with the local PDF engine, creates a protection dictionary using AES-256 and saves a separate encrypted artifact. The source file is not overwritten. 2169 2170Protect PDF assigns the same entered value as both user and owner password. That design lets a holder use TiPDF's Unlock tool later without managing a second secret. It is simpler operationally, but it does not create distinct recipient and administrator roles. 2171 2172Protect PDF permissions allow printing, high-quality printing, form filling, accessibility access and modification. They disallow copying, annotation and document assembly. Modification remains allowed deliberately for compatible password holders and unlock behavior, so the tool must not be described as making every edit impossible. Password enforcement also depends on the PDF viewer honoring permissions.`,fFe=((e={},t={})=>(t.locale??J(),dFe(e))),pFe=()=>`Protect PDF input, passwords and compatibility`,mFe=((e={},t={})=>(t.locale??J(),pFe(e))),hFe=()=>`Select one .pdf that passes Protect PDF signature and readable-document checks. The shared local limit is 100 MiB, and PDFs beyond the supported page guard or with damaged cross-reference data can fail. If the source is already encrypted, unlock it first with authorization before applying a new password. 2173 2174The Protect PDF password must contain at least eight JavaScript characters after being read from the form. The workflow does not score entropy, require mixed character classes, generate a recovery key or confirm the password in a second field. Users must choose and store a strong unique value through an approved password manager. 2175 2176Output uses AES-256 through the local PDF engine. Older or limited viewers may not support that encryption or may handle permission flags differently. To protect PDF files reliably, test opening, printing and permitted workflows in recipients' actual viewers before deleting any unencrypted working copy.`,gFe=((e={},t={})=>(t.locale??J(),hFe(e))),_Fe=()=>`How to Protect PDF files safely`,vFe=((e={},t={})=>(t.locale??J(),_Fe(e))),yFe=()=>`1. Finalize Protect PDF content::Resolve comments, remove hidden data, verify redactions and create the exact distribution copy before encryption. 2177 21782. Choose a strong secret::Use a unique password substantially stronger than the eight-character minimum and store it separately from the document. 2179 21803. Protect PDF locally::Enter the new password once and let the browser apply AES-256 and the defined permission flags. 2181 21824. Test the Protect PDF download::Open the protected result in at least two intended viewers, verify the password, printing, form filling and restricted o
2182perations. 2183 21845. Share through separate channels::Transmit the document and password independently, limit recipients and retain an authorized recovery copy according to policy.`,bFe=((e={},t={})=>(t.locale??J(),yFe(e))),xFe=()=>`Appropriate Protect PDF scenarios`,SFe=((e={},t={})=>(t.locale??J(),xFe(e))),CFe=()=>`Sending reviewed records::Use Protect PDF before transmitting a final file through a channel that lacks document-level encryption. 2185 2186Storing portable copies::Reduce casual access to a PDF placed on removable media or a shared folder, while preserving stronger device and folder controls. 2187 2188Distributing fillable forms::Permit form filling and accessibility while discouraging copying, annotation and assembly in compliant viewers. 2189 2190Creating a controlled handoff::Give authorized holders the same password needed for reading and later local unlocking. This is not identity-based access, expiry, revocation, digital rights management or proof of recipient identity.`,wFe=((e={},t={})=>(t.locale??J(),CFe(e))),TFe=()=>`Protect PDF encryption versus permissions`,EFe=((e={},t={})=>(t.locale??J(),TFe(e))),DFe=()=>`AES-256 protects encrypted PDF bytes against reading without the password when the password itself is strong. A short, reused or predictable secret weakens the practical result. Encryption does not hide filenames, file size, sharing history, screen captures or content copied after an authorized user opens the file. 2191 2192Permission flags are different from encryption. Many viewers honor copy, annotation and assembly restrictions, but software may ignore them after successful decryption. Because modification is allowed in this implementation, protect PDF does not mean make PDF non-editable. Use Flatten PDF to make supported form and annotation appearances permanent, and Redact PDF to remove sensitive visible regions. 2193 2194The workflow does not add certificates, digital signatures, expiration, online revocation or recipient accounts. Those require separate systems and policies. Test recovery procedures with a noncritical sample before relying on encrypted copies for long-term access.`,OFe=((e={},t={})=>(t.locale??J(),DFe(e))),kFe=()=>`Local Protect PDF password handling`,AFe=((e={},t={})=>(t.locale??J(),kFe(e))),jFe=()=>`PDF reading, password application, AES-256 encryption and output writing happen in browser memory on the current device. The document and entered password are not sent to conversion, storage, sharing or AI services by this handler. Normal application resources may still be fetched from the site. 2195 2196When you protect PDF content locally, endpoint security still matters. Malware, browser extensions, screen recording, clipboard tools or an unlocked device can expose the source, password or decrypted content. Clear sensitive downloads and follow device policy after work. 2197 2198TiPDF does not retain or recover the password. Losing it can make the file inaccessible, while sharing it broadly defeats protection. Keep an authorized recovery process and never place the secret in the same message as the document.`,MFe=((e={},t={})=>(t.locale??J(),jFe(e))),NFe=()=>`Protect PDF password questions`,PFe=((e={},t={})=>(t.locale??J(),NFe(e))),FFe=()=>`Which encryption is used?::The local PDF engine applies AES-256. 2199 2200Can I add password to PDF files with separate owner credentials?::No. The entered value is used for both user and owner access. 2201 2202Does Protect PDF from editing completely?::No. Modification is allowed, while copy, annotation and assembly permissions are disabled. 2203 2204Is secure PDF online access guaranteed after encryption?::No. Test AES-256 support in recipient viewers and send the password through a separate approved channel. 2205 2206Can TiPDF recover a lost password?::No. Store the secret through an approved recovery process. 2207 2208Does protection redact content?::No. Authorized viewers can still see the complete document; redact sensitive data separately.`,IFe=((e={},t={})=>(t.locale??J(),FFe(e))),LFe=()=>`Protect PDF capability copy was verified on July 18, 2026 against local PDF validation, the eight-character minimum, one shared user/owner password, AES-256 selection and the exact permission dictionary: print and high-quality print allowed, copy disallowed, modify allowed, annotate disallowed, fill forms allowed, accessibility allowed and assemble disallowed. Tests open the artifact with correct and incorrect passwords, inspect encryption metadata, exercise permissions and unlock it with the same secret. The password protect PDF workflow excludes separate owner credentials, password recovery, universal viewer enforcement, redaction, signatures, expiry and revocation. A second encrypt PDF check confirms source bytes remain unchanged while a distinct protected download is created.`,RFe=((e={},t={})=>(t.locale??J(),LFe(e))),zFe=()=>`One local PDF receiving a shared user and owner password, AES-256 encryption and an explicit matrix of allowed and restricted permissions`,BFe=((e={},t={})=>(t.locale??J(),zFe(e))),VFe=()=>`Apply AES-256 locally with one shared user/owner password and clearly defined PDF permission flags.`,HFe=((e={},t={})=>(t.locale??J(),VFe(e))),UFe=()=>`Protect PDF with a strong stored password`,WFe=((e={},t={})=>(t.locale??J(),UFe(e))),GFe=()=>`Flatten PDF Forms, Annotations and Layers Locally | TiPDF`,KFe=((e={},t={})=>(t.locale??J(),GFe(e))),qFe=()=>`Flatten supported PDF layers, form fields and annotations locally, preserve their page appearances and report the number of affected objects.`,JFe=((e={},t={})=>(t.locale??J(),qFe(e))),YFe=()=>`Flatten PDF Layers, Forms and Annotations`,XFe=((e={},t={})=>(t.locale??J(),YFe(e))),ZFe=()=>`Flatten PDF files locally when supported interactive objects need permanent page appearances. TiPDF processes layers, form fields and annotations, saves a new document and reports how many objects were flattened.`,QFe=((e={},t={})=>(t.locale??J(),ZFe(e))),$Fe=()=>`Uses Flatten PDF on supported interactive objects 2209
2210Reports exact Flatten PDF object counts 2211 2212Creates a separate flattened download`,eIe=((e={},t={})=>(t.locale??J(),$Fe(e))),tIe=()=>`How Flatten PDF preserves appearances`,nIe=((e={},t={})=>(t.locale??J(),tIe(e))),rIe=()=>`The Flatten PDF workflow validates one source and loads it with the local PDF engine. Its flattenAll operation visits optional-content layers, interactive form fields and annotations, preserves their supported visual appearances in page content and removes or resolves the corresponding interactive structures. It then saves a separate file with a flattened suffix. 2213 2214Flatten PDF metadata reports three exact counts: layers, form fields and annotations. The completion message names those counts when at least one object changes. If none are found, the engine still rewrites the document and describes it as a stable presentation copy rather than inventing flattened objects. 2215 2216Flatten PDF is not the same as rasterizing pages. Ordinary text, images and vectors can remain PDF page content. It is also not encryption, redaction or a universal lock against editing. A capable editor may still modify remaining page objects after flattening.`,iIe=((e={},t={})=>(t.locale??J(),rIe(e))),aIe=()=>`Flatten PDF objects and local limits`,oIe=((e={},t={})=>(t.locale??J(),aIe(e))),sIe=()=>`Select one .pdf that passes Flatten PDF signature and readable-file validation. The shared local file ceiling is 100 MiB, and the document page guard applies. Damaged cross-references or encrypted sources cannot be processed without first using the authorized Unlock workflow. 2217 2218The local engine determines which layers, AcroForm fields and annotation subtypes it can flatten. Appearance dictionaries matter: an unusual widget or annotation without a usable visual appearance may not reproduce as expected. Dynamic XFA forms, JavaScript, embedded files, portfolios, multimedia and every proprietary layer system are not promised. 2219 2220The route has no page selector or object-type switches. It applies flattenAll to the whole document. To flatten PDF safely, users needing to preserve certain fields or comments should make an authorized copy and remove or isolate those objects before running the operation.`,cIe=((e={},t={})=>(t.locale??J(),sIe(e))),lIe=()=>`How to Flatten PDF objects carefully`,uIe=((e={},t={})=>(t.locale??J(),lIe(e))),dIe=()=>`1. Prepare Flatten PDF fields::Complete values, choose checkboxes and confirm calculated appearances before making them permanent. 2221 22222. Resolve review content::Accept, delete or retain comments and annotations intentionally; flattening can preserve their visible appearance without edit controls. 2223 22243. Keep the editable original::Save the source under version control because flattened fields cannot be restored by this tool. 2225 22264. Flatten PDF locally::Run the whole-document operation and record the reported layer, field and annotation counts. 2227 22285. Compare every affected page::Verify values, signatures, stamps, highlights, comments, layer visibility, text selection and printing before distribution.`,fIe=((e={},t={})=>(t.locale??J(),dIe(e))),pIe=()=>`When Flatten PDF appearances help`,mIe=((e={},t={})=>(t.locale??J(),pIe(e))),hIe=()=>`Finalizing completed forms::Turn supported field widgets into stable visible content so recipients see entered values without relying on form behavior. 2229 2230Preserving review marks::Bake approved stamps, highlights or comments into page appearance after the review record is finalized. 2231 2232Stabilizing optional content::Resolve supported layer appearances for a presentation copy when recipients may use viewers with different layer controls. 2233 2234Preparing downstream workflows::Reduce interactive-object surprises before merging, printing or sharing. Flattening does not certify a document, create a digital signature, remove hidden data, satisfy archival standards or guarantee identical behavior in every viewer.`,gIe=((e={},t={})=>(t.locale??J(),hIe(e))),_Ie=()=>`Flatten PDF fidelity and editability`,vIe=((e={},t={})=>(t.locale??J(),_Ie(e))),yIe=()=>`Flattening depends on the visual appearance stored or generated for each supported object. A field value can be logically present while its appearance is stale; a comment may use a viewer-specific icon; a layer may participate in complex visibility rules. Review the source in a reliable viewer and regenerate appearances before processing when possible. 2235 2236The operation does not convert every page into an image, so searchable text and vector quality can remain. That is preferable for accessibility and print sharpness, but it means ordinary page content is still structurally editable. Flatten PDF forms does not mean secure PDF bytes. 2237 2238Use Protect PDF separately for password encryption, Redact PDF for irreversible visible-region removal, and the rasterizing redaction behavior only when structural destruction is intended. Each operation answers a different risk.`,bIe=((e={},t={})=>(t.locale??J(),yIe(e))),xIe=()=>`Local Flatten PDF processing`,SIe=((e={},t={})=>(t.locale??J(),xIe(e))),CIe=()=>`Source reading, object flattening and PDF saving happen in browser memory on the current device. This handler does not send the document to conversion, storage, sharing or AI services. Normal application resources may still load from the site. 2239 2240Local processing does not remove sensitive hidden content automatically. Metadata, attachments, unused objects, revision remnants or text underneath a visible annotation may remain unless the PDF engine specifically resolves them. Flattening a black rectangle is not safe redaction. 2241 2242The source and downloaded result remain under device control, and TiPDF cannot delete backups or later shares. Inspect document properties and use an approved sanitization process when hidden-data removal is required. Preserve the editable original with appropriate access controls.`,wIe=((e={},t={})=>(t.locale??J(),CIe(e))),TIe=()=>`Flatten PDF questions`,EIe=((e={},t={})=>(t.locale??J(),TIe(e))),DIe=()=>`Can I flatten annotations PDF objects?::Yes, when the local engine supports their stored appearances; inspect stamps, highlights and comments afterward. 2243 2244Is Flatten PDF free without an account?::Yes. This local workflow has no checkout or account requirement, subject to file and page limits. 2245 2246Does Flatten PDF make PDF non-editable?::No. Remaining text, vectors and images may still be editable. 2247 2248What other objects are targeted?::The engine also processes supported layers and form fields. 2249 2250Does it turn pages into images?::No. It flattens supported interactive objects without intentionally rasterizing every page. 2251 2252Is flattening the same as encryption?::No. Use Protect PDF for password encryption. 2253 2254What if no objects are found?::The engine rewrites a stable presentation copy and reports zero counts.`,OIe=((e={},t={})=>(t.locale??J(),DIe(e))),kIe=()=>`Flatten PDF capability copy was verified on July 18, 2026 against local PDF validation and the @libpdf/core flattenAll operation. Fixtures contain optional-content layers, text fields, checkboxes, stamps, highlights and comments, plus a document with none of those objects. Tests compare the returned layer, form-field and annotation counts, verify visible appearances, confirm a separate flattened artifact and check that ordinary text remains selectable rather than page-rasterized. The flatten PDF online wording describes browser-local execution, not server upload. The flatten PDF forms workflow excludes encryption, redaction, digital signatures, universal non-editability, XFA guarantees and hidden-data sanitization.`,AIe=((e={},t={})=>(t.locale??J(),kIe(e))),jIe=()=>`One local PDF resolving visible layers, form fields and annotations into page appearances while reporting exact object c
2254ounts`,MIe=((e={},t={})=>(t.locale??J(),jIe(e))),NIe=()=>`Use Flatten PDF for supported layers, form fields and annotations with exact counts.`,PIe=((e={},t={})=>(t.locale??J(),NIe(e))),FIe=()=>`Run Flatten PDF and verify every appearance`,IIe=((e={},t={})=>(t.locale??J(),FIe(e))),LIe=t({"admin.back_to_dashboard":()=>OC,"admin.categories.actions_col":()=>PE,"admin.categories.all":()=>vE,"admin.categories.cancel":()=>uD,"admin.categories.confirm_delete":()=>fD,"admin.categories.count":()=>bE,"admin.categories.create":()=>IE,"admin.categories.create_description":()=>BE,"admin.categories.create_title":()=>RE,"admin.categories.created":()=>mD,"admin.categories.created_at":()=>ME,"admin.categories.delete_confirm":()=>JE,"admin.categories.delete_title":()=>KE,"admin.categories.deleted":()=>vD,"admin.categories.description":()=>gE,"admin.categories.description_col":()=>OE,"admin.categories.description_field":()=>iD,"admin.categories.description_placeholder":()=>oD,"admin.categories.edit_description":()=>WE,"admin.categories.edit_title":()=>HE,"admin.categories.no_data":()=>SE,"admin.categories.save":()=>cD,"admin.categories.slug_col":()=>wE,"admin.categories.slug_field":()=>XE,"admin.categories.slug_placeholder":()=>QE,"admin.categories.status_col":()=>AE,"admin.categories.title":()=>mE,"admin.categories.title_col":()=>EE,"admin.categories.title_field":()=>eD,"admin.categories.title_placeholder":()=>nD,"admin.categories.updated":()=>gD,"admin.credits.all_credits":()=>cA,"admin.credits.amount":()=>vA,"admin.credits.count":()=>uA,"admin.credits.created_at":()=>OA,"admin.credits.description":()=>oA,"admin.credits.expires_at":()=>EA,"admin.credits.no_credits":()=>fA,"admin.credits.remaining":()=>bA,"admin.credits.scene":()=>wA,"admin.credits.tab_all":()=>AA,"admin.credits.tab_consume":()=>PA,"admin.credits.tab_grant":()=>MA,"admin.credits.title":()=>iA,"admin.credits.transaction_no":()=>mA,"admin.credits.type":()=>SA,"admin.credits.user":()=>gA,"admin.description":()=>wC,"admin.invite_codes.actions_col":()=>Ej,"admin.invite_codes.cancel":()=>QA,"admin.invite_codes.code_col":()=>mj,"admin.invite_codes.copied":()=>Aj,"admin.invite_codes.count_label":()=>ej,"admin.invite_codes.create_button":()=>BA,"admin.invite_codes.create_description":()=>WA,"admin.invite_codes.create_submit":()=>KA,"admin.invite_codes.create_success":()=>XA,"admin.invite_codes.create_title":()=>HA,"admin.invite_codes.created_col":()=>wj,"admin.invite_codes.creating":()=>JA,"admin.invite_codes.delete_confirm":()=>Ij,"admin.invite_codes.delete_description":()=>Pj,"admin.invite_codes.delete_success":()=>Rj,"admin.invite_codes.delete_title":()=>Mj,"admin.invite_codes.description":()=>RA,"admin.invite_codes.empty":()=>Oj,"admin.invite_codes.expires_col":()=>Sj,"admin.invite_codes.expires_label":()=>oj,"admin.invite_codes.invalid_input":()=>fj,"admin.invite_codes.max_uses_label":()=>nj,"admin.invite_codes.note_col":()=>bj,"admin.invite_codes.note_label":()=>cj,"admin.invite_codes.note_placeholder":()=>uj,"admin.invite_codes.tab_all":()=>Bj,"admin.invite_codes.tab_available":()=>Hj,"admin.invite_codes.tab_used":()=>Wj,"admin.invite_codes.title":()=>IA,"admin.invite_codes.trial_days_col":()=>vj,"admin.invite_codes.trial_days_label":()=>ij,"admin.invite_codes.usage_col":()=>gj,"admin.loading":()=>EC,"admin.nav.billing":()=>JC,"admin.nav.categories":()=>WC,"admin.nav.content":()=>HC,"admin.nav.credits":()=>ew,"admin.nav.invite_codes":()=>nw,"admin.nav.overview":()=>AC,"admin.nav.payments":()=>XC,"admin.nav.permissions":()=>BC,"admin.nav.posts":()=>KC,"admin.nav.rbac":()=>PC,"admin.nav.roles":()=>RC,"admin.nav.settings":()=>MC,"admin.nav.subscriptions":()=>QC,"admin.nav.support":()=>ow,"admin.nav.tickets":()=>iw,"admin.nav.users":()=>IC,"admin.payments.all_payments":()=>ek,"admin.payments.amount":()=>uk,"admin.payments.count":()=>nk,"admin.payments.created_at":()=>vk,"admin.payments.description":()=>QO,"admin.payments.no_payments":()=>ik,"admin.payments.order_no":()=>ok,"admin.payments.provider":()=>gk,"admin.payments.status":()=>fk,"admin.payments.tab_all":()=>bk,"admin.payments.tab_one_time":()=>wk,"admin.payments.tab_subscription":()=>Sk,"admin.payments.title":()=>XO,"admin.payments.type":()=>mk,"admin.payments.user":()=>ck,"admin.permissions.action_col":()=>DT,"admin.permissions.action_field":()=>JT,"admin.permissions.action_placeholder":()=>XT,"admin.permissions.actions_col":()=>kT,"admin.permissions.all_permissions":()=>lne,"admin.permissions.cancel":()=>iE,"admin.permissions.code_col":()=>TT,"admin.permissions.code_field":()=>BT,"admin.permissions.code_placeholder":()=>HT,"admin.permissions.confirm_delete":()=>oE,"admin.permissions.count":()=>dne,"admin.permissions.create_description":()=>MT,"admin.permissions.create_permission":()=>AT,"admin.permissions.create_title":()=>jT,"admin.permissions.created":()=>cE,"admin.permissions.delete_confirm":()=>RT,"admin.permissions.delete_title":()=>IT,"admin.permissions.deleted":()=>fE,"admin.permissions.description":()=>CT,"admin.permissions.edit_description":()=>PT,"admin.permissions.edit_title":()=>NT,"admin.permissions.no_permissions":()=>wT,"admin.permissions.resource_col":()=>ET,"admin.permissions.resource_field":()=>WT,"admin.permissions.resource_placeholder":()=>KT,"admin.permissions.save":()=>nE,"admin.permissions.title":()=>ST,"admin.permissions.title_col":()=>OT,"admin.permissions.title_field":()=>QT,"admin.permissions.title_placeholder":()=>eE,"admin.permissions.updated":()=>uE,"admin.posts.actions_col":()=>BD,"admin.posts.all":()=>wD,"admin.posts.author_col":()=>PD,"admin.posts.author_field":()=>mO,"admin.posts.author_placeholder":()=>gO,"admin.posts.cancel":()=>PO,"admin.posts.category_field":()=>SO,"admin.posts.category_placeholder":()=>wO,"admin.posts.confirm_delete":()=>IO,"admin.posts.content_field":()=>vO,"admin.posts.content_placeholder":()=>bO,"admin.posts.count":()=>ED,"admin.posts.create":()=>HD,"admin.posts.create_description":()=>KD,"admin.posts.create_title":()=>WD,"admin.posts.created":()=>RO,"admin.posts.created_at":()=>RD,"admin.posts.delete_confirm":()=>eO,"admin.posts.delete_title":()=>QD,"admin.posts.deleted":()=>HO,"admin.posts.description":()=>SD,"admin.posts.description_field":()=>uO,"admin.posts.description_placeholder":()=>fO,"admin.posts.edit_description":()=>XD,"admin.posts.edit_title":()=>JD,"admin.posts.no_data":()=>OD,"admin.posts.save":()=>MO,"admin.posts.slug_col":()=>MD,"admin.posts.slug_field":()=>nO,"admin.posts.slug_placeholder":()=>iO,"admin.posts.status_col":()=>ID,"admin.posts.status_draft":()=>OO,"admin.posts.status_field":()=>EO,"admin.posts.status_published":()=>AO,"admin.posts.tab_all":()=>WO,"admin.posts.tab_draft":()=>JO,"admin.posts.tab_published":()=>KO,"admin.posts.title":()=>bD,"admin.posts.title_col":()=>AD,"admin.posts.title_field":()=>
2254oO,"admin.posts.title_placeholder":()=>cO,"admin.posts.updated":()=>BO,"admin.roles.actions_col":()=>$w,"admin.roles.all_roles":()=>Ete,"admin.roles.cancel":()=>mT,"admin.roles.confirm_delete":()=>hT,"admin.roles.count":()=>Ote,"admin.roles.create_description":()=>nT,"admin.roles.create_role":()=>eT,"admin.roles.create_title":()=>tT,"admin.roles.created":()=>gT,"admin.roles.delete_confirm":()=>oT,"admin.roles.delete_title":()=>aT,"admin.roles.deleted":()=>vT,"admin.roles.description":()=>Jw,"admin.roles.description_col":()=>Qw,"admin.roles.description_field":()=>dT,"admin.roles.description_placeholder":()=>fT,"admin.roles.edit_description":()=>iT,"admin.roles.edit_title":()=>rT,"admin.roles.manage_permissions":()=>nne,"admin.roles.manage_permissions_description":()=>bT,"admin.roles.manage_permissions_title":()=>yT,"admin.roles.name_col":()=>Xw,"admin.roles.name_field":()=>sT,"admin.roles.name_placeholder":()=>cT,"admin.roles.no_roles":()=>Yw,"admin.roles.permissions_saved":()=>xT,"admin.roles.save":()=>pT,"admin.roles.status_col":()=>Nte,"admin.roles.title":()=>qw,"admin.roles.title_col":()=>Zw,"admin.roles.title_field":()=>lT,"admin.roles.title_placeholder":()=>uT,"admin.roles.updated":()=>_T,"admin.settings.custom.add":()=>KM,"admin.settings.custom.description":()=>RM,"admin.settings.custom.empty":()=>BM,"admin.settings.custom.key_placeholder":()=>HM,"admin.settings.custom.remove":()=>JM,"admin.settings.custom.title":()=>IM,"admin.settings.custom.value_placeholder":()=>WM,"admin.settings.description":()=>Jj,"admin.settings.fields.alipay_app_id":()=>oI,"admin.settings.fields.alipay_enabled":()=>iI,"admin.settings.fields.alipay_notify_url":()=>fI,"admin.settings.fields.alipay_private_key":()=>cI,"admin.settings.fields.alipay_public_key":()=>uI,"admin.settings.fields.alipay_test_amount":()=>mI,"admin.settings.fields.anthropic_api_key":()=>cL,"admin.settings.fields.anthropic_base_url":()=>oL,"admin.settings.fields.app_description":()=>BP,"admin.settings.fields.app_name":()=>RP,"admin.settings.fields.app_url":()=>HP,"admin.settings.fields.cloudflare_email_account_id":()=>BI,"admin.settings.fields.cloudflare_email_api_token":()=>RI,"admin.settings.fields.cloudflare_email_sender_email":()=>HI,"admin.settings.fields.creem_api_key":()=>RF,"admin.settings.fields.creem_enabled":()=>PF,"admin.settings.fields.creem_environment":()=>IF,"admin.settings.fields.creem_product_ids_mapping":()=>HF,"admin.settings.fields.creem_signing_secret":()=>BF,"admin.settings.fields.creem_test_amount":()=>WF,"admin.settings.fields.crisp_enabled":()=>bL,"admin.settings.fields.crisp_website_id":()=>SL,"admin.settings.fields.default_payment_provider":()=>wF,"admin.settings.fields.email_auth_enabled":()=>nF,"admin.settings.fields.email_provider":()=>MI,"admin.settings.fields.email_verification_enabled":()=>iF,"admin.settings.fields.fal_api_key":()=>fL,"admin.settings.fields.github_auth_enabled":()=>mF,"admin.settings.fields.github_client_id":()=>gF,"admin.settings.fields.github_client_secret":()=>vF,"admin.settings.fields.google_analytics_id":()=>mL,"admin.settings.fields.google_auth_enabled":()=>oF,"admin.settings.fields.google_client_id":()=>uF,"admin.settings.fields.google_client_secret":()=>fF,"admin.settings.fields.google_one_tap_enabled":()=>cF,"admin.settings.fields.initial_credits_amount":()=>XP,"admin.settings.fields.initial_credits_description":()=>eF,"admin.settings.fields.initial_credits_enabled":()=>JP,"admin.settings.fields.initial_credits_valid_days":()=>QP,"admin.settings.fields.initial_role_enabled":()=>WP,"admin.settings.fields.initial_role_name":()=>KP,"admin.settings.fields.invite_code_required":()=>bF,"admin.settings.fields.openai_api_key":()=>iL,"admin.settings.fields.openai_base_url":()=>nL,"admin.settings.fields.paypal_client_id":()=>JF,"admin.settings.fields.paypal_client_secret":()=>XF,"admin.settings.fields.paypal_enabled":()=>KF,"admin.settings.fields.paypal_environment":()=>eI,"admin.settings.fields.paypal_test_amount":()=>nI,"admin.settings.fields.paypal_webhook_id":()=>QF,"admin.settings.fields.plausible_domain":()=>gL,"admin.settings.fields.plausible_src":()=>vL,"admin.settings.fields.r2_access_key":()=>WI,"admin.settings.fields.r2_bucket_name":()=>JI,"admin.settings.fields.r2_domain":()=>eL,"admin.settings.fields.r2_endpoint":()=>QI,"admin.settings.fields.r2_secret_key":()=>KI,"admin.settings.fields.r2_upload_path":()=>XI,"admin.settings.fields.replicate_api_token":()=>uL,"admin.settings.fields.resend_api_key":()=>PI,"admin.settings.fields.resend_sender_email":()=>II,"admin.settings.fields.select_payment_enabled":()=>SF,"admin.settings.fields.stripe_enabled":()=>EF,"admin.settings.fields.stripe_publishable_key":()=>AF,"admin.settings.fields.stripe_secret_key":()=>OF,"admin.settings.fields.stripe_signing_secret":()=>MF,"admin.settings.fields.tawk_enabled":()=>wL,"admin.settings.fields.tawk_property_id":()=>EL,"admin.settings.fields.tawk_widget_id":()=>OL,"admin.settings.fields.wechat_api_v3_key":()=>SI,"admin.settings.fields.wechat_app_id":()=>vI,"admin.settings.fields.wechat_enabled":()=>gI,"admin.settings.fields.wechat_mch_id":()=>bI,"admin.settings.fields.wechat_notify_url":()=>OI,"admin.settings.fields.wechat_private_key":()=>wI,"admin.settings.fields.wechat_serial_no":()=>EI,"admin.settings.fields.wechat_test_amount":()=>AI,"admin.settings.groups.alipay.description":()=>RN,"admin.settings.groups.alipay.title":()=>IN,"admin.settings.groups.anthropic.description":()=>fP,"admin.settings.groups.anthropic.title":()=>uP,"admin.settings.groups.appinfo.description":()=>QM,"admin.settings.groups.appinfo.title":()=>XM,"admin.settings.groups.basic_payment.description":()=>SN,"admin.settings.groups.basic_payment.title":()=>bN,"admin.settings.groups.cloudflare_email.description":()=>eP,"admin.settings.groups.cloudflare_email.title":()=>QN,"admin.settings.groups.credit.description":()=>
2254oN,"admin.settings.groups.credit.title":()=>iN,"admin.settings.groups.creem.description":()=>AN,"admin.settings.groups.creem.title":()=>ON,"admin.settings.groups.crisp.description":()=>MP,"admin.settings.groups.crisp.title":()=>AP,"admin.settings.groups.email_auth.description":()=>uN,"admin.settings.groups.email_auth.title":()=>cN,"admin.settings.groups.email_general.description":()=>KN,"admin.settings.groups.email_general.title":()=>WN,"admin.settings.groups.fal.description":()=>bP,"admin.settings.groups.fal.title":()=>vP,"admin.settings.groups.github_auth.description":()=>vN,"admin.settings.groups.github_auth.title":()=>gN,"admin.settings.groups.google_analytics.description":()=>wP,"admin.settings.groups.google_analytics.title":()=>SP,"admin.settings.groups.google_auth.description":()=>mN,"admin.settings.groups.google_auth.title":()=>fN,"admin.settings.groups.openai.description":()=>cP,"admin.settings.groups.openai.title":()=>oP,"admin.settings.groups.paypal.description":()=>PN,"admin.settings.groups.paypal.title":()=>MN,"admin.settings.groups.plausible.description":()=>OP,"admin.settings.groups.plausible.title":()=>EP,"admin.settings.groups.r2.description":()=>iP,"admin.settings.groups.r2.title":()=>nP,"admin.settings.groups.replicate.description":()=>gP,"admin.settings.groups.replicate.title":()=>mP,"admin.settings.groups.resend.description":()=>XN,"admin.settings.groups.resend.title":()=>JN,"admin.settings.groups.stripe.description":()=>EN,"admin.settings.groups.stripe.title":()=>wN,"admin.settings.groups.tawk.description":()=>IP,"admin.settings.groups.tawk.title":()=>PP,"admin.settings.groups.user_role.description":()=>nN,"admin.settings.groups.user_role.title":()=>eN,"admin.settings.groups.wechat.description":()=>HN,"admin.settings.groups.wechat.title":()=>BN,"admin.settings.placeholders.alipay_test_amount":()=>IL,"admin.settings.placeholders.creem_product_ids_mapping":()=>AL,"admin.settings.placeholders.creem_test_amount":()=>ML,"admin.settings.placeholders.paypal_test_amount":()=>PL,"admin.settings.placeholders.wechat_test_amount":()=>RL,"admin.settings.save":()=>Xj,"admin.settings.save_error":()=>nM,"admin.settings.save_success":()=>eM,"admin.settings.saving":()=>Qj,"admin.settings.tabs.ai":()=>OM,"admin.settings.tabs.analytics":()=>AM,"admin.settings.tabs.auth":()=>bM,"admin.settings.tabs.custom":()=>PM,"admin.settings.tabs.customer_service":()=>MM,"admin.settings.tabs.email":()=>wM,"admin.settings.tabs.general":()=>vM,"admin.settings.tabs.payment":()=>SM,"admin.settings.tabs.storage":()=>EM,"admin.settings.test.button":()=>iM,"admin.settings.test.close":()=>mM,"admin.settings.test.description":()=>cM,"admin.settings.test.error":()=>gM,"admin.settings.test.run":()=>uM,"admin.settings.test.running":()=>fM,"admin.settings.test.title":()=>oM,"admin.settings.title":()=>Kj,"admin.stats.roles":()=>uw,"admin.stats.total_users":()=>cw,"admin.subscriptions.all_subscriptions":()=>Ak,"admin.subscriptions.amount":()=>Bk,"admin.subscriptions.count":()=>Mk,"admin.subscriptions.created_at":()=>Xk,"admin.subscriptions.description":()=>Ok,"admin.subscriptions.interval":()=>Hk,"admin.subscriptions.no_subscriptions":()=>Pk,"admin.subscriptions.period":()=>Jk,"admin.subscriptions.provider":()=>Kk,"admin.subscriptions.status":()=>Wk,"admin.subscriptions.subscription_no":()=>Ik,"admin.subscriptions.tab_all":()=>Qk,"admin.subscriptions.tab_month":()=>eA,"admin.subscriptions.tab_year":()=>nA,"admin.subscriptions.title":()=>Ek,"admin.subscriptions.user":()=>Rk,"admin.tickets.actions_col":()=>QL,"admin.tickets.admin":()=>AR,"admin.tickets.close_ticket":()=>ER,"admin.tickets.created_col":()=>PR,"admin.tickets.description":()=>HL,"admin.tickets.empty":()=>mR,"admin.tickets.latest_reply_col":()=>MR,"admin.tickets.reopen_ticket":()=>OR,"admin.tickets.reply_placeholder":()=>gR,"admin.tickets.reply_submit":()=>vR,"admin.tickets.reply_success":()=>SR,"admin.tickets.replying":()=>bR,"admin.tickets.status_closed":()=>fR,"admin.tickets.status_col":()=>JL,"admin.tickets.status_open":()=>cR,"admin.tickets.status_replied":()=>uR,"admin.tickets.status_updated":()=>wR,"admin.tickets.tab_all":()=>eR,"admin.tickets.tab_closed":()=>oR,"admin.tickets.tab_open":()=>nR,"admin.tickets.tab_replied":()=>iR,"admin.tickets.title":()=>BL,"admin.tickets.title_col":()=>WL,"admin.tickets.updated_col":()=>XL,"admin.tickets.user_col":()=>KL,"admin.title":()=>SC,"admin.users.actions_col":()=>Aw,"admin.users.all_users":()=>gw,"admin.users.count":()=>vw,"admin.users.credits_action_deduct":()=>Rw,"admin.users.credits_action_grant":()=>Lw,"admin.users.credits_amount_label":()=>zw,"admin.users.credits_col":()=>Ew,"admin.users.credits_deducted":()=>Kw,"admin.users.credits_desc_label":()=>Bw,"admin.users.credits_desc_placeholder":()=>Vw,"admin.users.credits_granted":()=>Gw,"admin.users.credits_invalid_amount":()=>Ww,"admin.users.credits_submit":()=>Hw,"admin.users.credits_submitting":()=>Uw,"admin.users.description":()=>mw,"admin.users.email_col":()=>ww,"admin.users.joined_col":()=>Ow,"admin.users.manage_credits_for":()=>Iw,"admin.users.manage_credits_title":()=>Fw,"admin.users.manage_roles":()=>ote,"admin.users.manage_roles_description":()=>Mw,"admin.users.manage_roles_title":()=>jw,"admin.users.no_users":()=>bw,"admin.users.role_assigned":()=>Nw,"admin.users.role_removed":()=>Pw,"admin.users.title":()=>fw,"admin.users.user_col":()=>Sw,"blog.back_to_blog":()=>RV,"blog.description":()=>PV,"blog.no_posts":()=>IV,"blog.read_more":()=>BV,"blog.title":()=>MV,"common.error.message":()=>hg,"common.error.retry":()=>_g,"common.error.title":()=>pg,"common.metadata.description":()=>wm,"common.metadata.title":()=>Sm,"common.nav.apikeys":()=>r_,"common.nav.billing":()=>t_,"common.nav.get_started":()=>l_,"common.nav.profile":()=>a_,"common.nav.settings":()=>$g,"common.nav.sign_in":()=>s_,"common.nav.theme_dark":()=>p_,"common.nav.theme_light":()=>d_,"common.nav.theme_system":()=>h_,"common.not_found.back_home":()=>dg,"common.not_found.message":()=>lg,"common.pages.back_to_home":()=>__,"common.pages.last_updated":()=>y_,"common.pricing.choose_payment":()=>Cg,"common.pricing.choose_payment_desc":()=>Tg,"common.pricing.get_started":()=>yg,"common.pricing.payment_for":()=>Dg,"common.pricing.payment_for_plan":()=>kg,"common.pricing.processing":()=>xg,"common.search.placeholder":()=>zg,"common.sign.already_have_account":()=>Jm,"common.sign.back_to_sign_in":()=>bh,"common.sign.confirm_new_password_placeholder":()=>Ah,"common.sign.confirm_password_placeholder":()=>zm,"common.sign.confirm_password_title":()=>Rm,"common.sign.email_placeholder":()=>Fm,"common.sign.email_title":()=>Pm,"common.sign.forgot_password":()=>ch,"common.sign.forgot_password_description":()=>fh,"common.sign.forgot_password_title":()=>uh,"common.sign.github_sign_in":()=>nh,"common.sign.google_sign_in":()=>eh,"common.sign.invite_code_invalid":()=>tg,"common.sign.invite_code_placeholder":()=>Zh,"common.sign.invite_code_required":()=>$h,"common.sign.invite_code_title":()=>Yh,"common.sign.name_placeholder":()=>Wm,"common.sign.name_title":()=>Hm,"common.sign.new_password_placeholder":()=>Oh,"common.sign.new_password_title":()=>Eh,"common.sign.no_account":()=>Km,"common.sign.no_methods_description":()=>
2254oh,"common.sign.no_methods_title":()=>ih,"common.sign.or":()=>Xm,"common.sign.password_mismatch":()=>Bm,"common.sign.password_placeholder":()=>Lm,"common.sign.password_reset_unavailable_description":()=>Rh,"common.sign.password_reset_unavailable_title":()=>Lh,"common.sign.password_title":()=>Im,"common.sign.redeem_description":()=>ag,"common.sign.redeem_submit":()=>sg,"common.sign.redeem_title":()=>rg,"common.sign.resend_verification":()=>Kh,"common.sign.resend_verification_countdown":()=>qh,"common.sign.reset_link_sent_description":()=>vh,"common.sign.reset_link_sent_title":()=>gh,"common.sign.reset_password_description":()=>wh,"common.sign.reset_password_invalid_token":()=>Fh,"common.sign.reset_password_missing_token":()=>Ih,"common.sign.reset_password_submit":()=>Mh,"common.sign.reset_password_success":()=>Ph,"common.sign.reset_password_title":()=>Sh,"common.sign.send_reset_link":()=>mh,"common.sign.sign_in_description":()=>Om,"common.sign.sign_in_title":()=>Em,"common.sign.sign_out_title":()=>Qm,"common.sign.sign_up_description":()=>Mm,"common.sign.sign_up_title":()=>Am,"common.sign.verify_email_continue":()=>Vh,"common.sign.verify_email_email_required":()=>Gh,"common.sign.verify_email_not_verified_yet":()=>Uh,"common.sign.verify_email_page_description":()=>Bh,"common.sign.verify_email_page_title":()=>zh,"common.sign.verify_email_send_failed":()=>Wh,"common.sign.verify_email_tip":()=>Hh,"common.support.attachments_label":()=>$_,"common.support.cancel":()=>q_,"common.support.content_label":()=>F_,"common.support.content_placeholder":()=>L_,"common.support.description":()=>T_,"common.support.open_label":()=>x_,"common.support.required":()=>U_,"common.support.sign_in":()=>k_,"common.support.sign_in_notice":()=>D_,"common.support.submit":()=>Y_,"common.support.submitting":()=>Z_,"common.support.success":()=>G_,"common.support.title":()=>C_,"common.support.title_label":()=>j_,"common.support.title_placeholder":()=>N_,"common.support.track_hint_link":()=>V_,"common.support.track_hint_prefix":()=>z_,"common.systems.admin":()=>Ng,"common.systems.home":()=>Lg,"common.systems.label":()=>jg,"common.systems.settings":()=>Fg,"common.table.next":()=>Yg,"common.table.no_data":()=>Vg,"common.table.page_info":()=>Gg,"common.table.previous":()=>qg,"common.table.refresh":()=>Zg,"common.table.total":()=>Ug,"landing.blog.description":()=>KV,"landing.blog.title":()=>WV,"landing.blog.view_all":()=>JV,"landing.chips.apikeys":()=>cz,"landing.chips.auth":()=>JR,"landing.chips.cms":()=>oz,"landing.chips.credits":()=>ez,"landing.chips.i18n":()=>iz,"landing.chips.payment":()=>XR,"landing.chips.rbac":()=>nz,"landing.chips.subscription":()=>QR,"landing.cta.button":()=>cV,"landing.cta.headline":()=>iV,"landing.cta.subheadline":()=>oV,"landing.faq.customize.answer":()=>QB,"landing.faq.customize.question":()=>XB,"landing.faq.database.answer":()=>JB,"landing.faq.database.question":()=>KB,"landing.faq.description":()=>IB,"landing.faq.license.answer":()=>nV,"landing.faq.license.question":()=>eV,"landing.faq.payment.answer":()=>WB,"landing.faq.payment.question":()=>HB,"landing.faq.stack.answer":()=>BB,"landing.faq.stack.question":()=>RB,"landing.faq.title":()=>PB,"landing.features.auth.description":()=>gz,"landing.features.auth.title":()=>mz,"landing.features.cms.description":()=>Mz,"landing.features.cms.title":()=>Az,"landing.features.credits.description":()=>Iz,"landing.features.credits.title":()=>Pz,"landing.features.description":()=>fz,"landing.features.i18n.description":()=>Oz,"landing.features.i18n.title":()=>Ez,"landing.features.payment.description":()=>bz,"landing.features.payment.title":()=>vz,"landing.features.rbac.description":()=>wz,"landing.features.rbac.title":()=>Sz,"landing.features.title":()=>uz,"landing.footer.admin":()=>EV,"landing.footer.blog":()=>XV,"landing.footer.docs":()=>OV,"landing.footer.feature":()=>fV,"landing.footer.github":()=>AV,"landing.footer.legal":()=>vV,"landing.footer.privacy":()=>bV,"landing.footer.product":()=>mV,"landing.footer.resources":()=>gV,"landing.footer.settings":()=>wV,"landing.footer.tagline":()=>uV,"landing.footer.terms":()=>SV,"landing.hero.cta":()=>WR,"landing.hero.headline":()=>BR,"landing.hero.secondary":()=>KR,"landing.hero.subheadline":()=>HR,"landing.nav.blog":()=>HV,"landing.nav.features":()=>IR,"landing.nav.pricing":()=>RR,"landing.pricing.best_value":()=>Xz,"landing.pricing.buy_lifetime":()=>Qz,"landing.pricing.description":()=>Bz,"landing.pricing.enterprise":()=>cB,"landing.pricing.enterprise_desc":()=>uB,"landing.pricing.feature_1_project":()=>fB,"landing.pricing.feature_50k_credits":()=>bB,"landing.pricing.feature_5k_credits":()=>mB,"landing.pricing.feature_api_access":()=>wB,"landing.pricing.feature_custom_integrations":()=>MB,"landing.pricing.feature_dedicated_support":()=>AB,"landing.pricing.feature_email_support":()=>gB,"landing.pricing.feature_everything_pro":()=>EB,"landing.pricing.feature_priority_support":()=>SB,"landing.pricing.feature_unlimited_credits":()=>OB,"landing.pricing.feature_unlimited_projects":()=>vB,"landing.pricing.lifetime":()=>Kz,"landing.pricing.monthly":()=>Hz,"landing.pricing.popular":()=>Jz,"landing.pricing.pro":()=>iB,"landing.pricing.pro_desc":()=>oB,"landing.pricing.starter":()=>eB,"landing.pricing.starter_desc":()=>nB,"landing.pricing.title":()=>Rz,"landing.pricing.yearly":()=>Wz,"pdf_tools.breadcrumb":()=>mJ,"pdf_tools.category.ai.description":()=>OJ,"pdf_tools.category.compress.description":()=>wJ,"pdf_tools.category.convert.description":()=>EJ,"pdf_tools.category.from_pdf.description":()=>PJ,"pdf_tools.category.organize.description":()=>AJ,"pdf_tools.category.scan.description":()=>BJ,"pdf_tools.category.sign_security.description":()=>RJ,"pdf_tools.category.to_pdf.description":()=>IJ,"pdf_tools.category.view_edit.description":()=>
2254MJ,"pdf_tools.choose.ai.description":()=>nY,"pdf_tools.choose.ai.title":()=>eY,"pdf_tools.choose.description":()=>WJ,"pdf_tools.choose.images.description":()=>QJ,"pdf_tools.choose.images.title":()=>XJ,"pdf_tools.choose.intent.description":()=>JJ,"pdf_tools.choose.intent.title":()=>KJ,"pdf_tools.choose.title":()=>HJ,"pdf_tools.directory_description":()=>SJ,"pdf_tools.directory_title":()=>bJ,"pdf_tools.h1":()=>gJ,"pdf_tools.intro":()=>vJ,"pdf_tools.meta_description":()=>fJ,"pdf_tools.meta_title":()=>uJ,"pdf_tools.processing.ai.description":()=>vY,"pdf_tools.processing.ai.title":()=>gY,"pdf_tools.processing.description":()=>oY,"pdf_tools.processing.local.description":()=>uY,"pdf_tools.processing.local.title":()=>cY,"pdf_tools.processing.server.description":()=>mY,"pdf_tools.processing.server.title":()=>fY,"pdf_tools.processing.title":()=>iY,"pdf_tools.verify.description":()=>SY,"pdf_tools.verify.limits.description":()=>EY,"pdf_tools.verify.limits.title":()=>wY,"pdf_tools.verify.output.description":()=>AY,"pdf_tools.verify.output.title":()=>OY,"pdf_tools.verify.source.description":()=>PY,"pdf_tools.verify.source.title":()=>MY,"pdf_tools.verify.title":()=>bY,"settings.apikeys.actions_col":()=>cS,"settings.apikeys.cancel":()=>Bx,"settings.apikeys.copied":()=>Jx,"settings.apikeys.create":()=>Hx,"settings.apikeys.create_description":()=>Px,"settings.apikeys.create_key":()=>Ax,"settings.apikeys.create_title":()=>Mx,"settings.apikeys.created":()=>Kx,"settings.apikeys.creating":()=>Wx,"settings.apikeys.deleted":()=>Qx,"settings.apikeys.description":()=>wx,"settings.apikeys.failed":()=>eS,"settings.apikeys.key_col":()=>oS,"settings.apikeys.key_copied":()=>Xx,"settings.apikeys.key_name":()=>Ix,"settings.apikeys.key_name_placeholder":()=>Rx,"settings.apikeys.name_col":()=>iS,"settings.apikeys.no_keys":()=>nS,"settings.apikeys.title":()=>Sx,"settings.apikeys.your_keys":()=>Ex,"settings.apikeys.your_keys_description":()=>Ox,"settings.billing.actions_col":()=>By,"settings.billing.adjust":()=>Kv,"settings.billing.amount":()=>cb,"settings.billing.cancel":()=>Sy,"settings.billing.cancel_back":()=>Ay,"settings.billing.cancel_confirm":()=>Oy,"settings.billing.cancel_description":()=>Ey,"settings.billing.cancel_failed":()=>Iy,"settings.billing.cancel_success":()=>Py,"settings.billing.cancel_title":()=>wy,"settings.billing.canceled_at":()=>my,"settings.billing.canceled_end_at":()=>gy,"settings.billing.canceled_reason":()=>vy,"settings.billing.canceling":()=>My,"settings.billing.close":()=>Ry,"settings.billing.credits":()=>Qee,"settings.billing.credits_description":()=>ete,"settings.billing.current_period":()=>ny,"settings.billing.date":()=>fb,"settings.billing.description":()=>Rv,"settings.billing.end_time":()=>iy,"settings.billing.ends_on":()=>cy,"settings.billing.interval":()=>Qv,"settings.billing.no_payments":()=>ib,"settings.billing.no_subscription":()=>Hv,"settings.billing.order_no":()=>ob,"settings.billing.payments":()=>nb,"settings.billing.period_end":()=>fy,"settings.billing.period_start":()=>uy,"settings.billing.plan":()=>Jv,"settings.billing.provider":()=>ub,"settings.billing.renews_on":()=>oy,"settings.billing.status":()=>Xv,"settings.billing.subscribe":()=>Wv,"settings.billing.subscription":()=>zv,"settings.billing.subscription_details":()=>Bv,"settings.billing.subscription_no":()=>ey,"settings.billing.subscriptions":()=>rte,"settings.billing.tab_active":()=>Wy,"settings.billing.tab_all":()=>Hy,"settings.billing.tab_canceled":()=>eb,"settings.billing.tab_expired":()=>Xy,"settings.billing.tab_paused":()=>Jy,"settings.billing.tab_pending_cancel":()=>Qy,"settings.billing.tab_trialing":()=>Ky,"settings.billing.title":()=>Lv,"settings.billing.view":()=>by,"settings.credits.balance":()=>Jb,"settings.credits.credits":()=>fx,"settings.credits.date":()=>bx,"settings.credits.description":()=>Kb,"settings.credits.description_col":()=>gx,"settings.credits.expires_at":()=>vx,"settings.credits.no_records":()=>ix,"settings.credits.purchase":()=>Xb,"settings.credits.remaining":()=>mx,"settings.credits.scene":()=>ux,"settings.credits.tab_all":()=>Qb,"settings.credits.tab_consume":()=>nx,"settings.credits.tab_grant":()=>ex,"settings.credits.title":()=>Wb,"settings.credits.transaction_no":()=>ox,"settings.credits.type":()=>cx,"settings.nav.apikeys":()=>hv,"settings.nav.billing":()=>dv,"settings.nav.credits":()=>mv,"settings.nav.overview":()=>sv,"settings.nav.payments":()=>pv,"settings.nav.profile":()=>lv,"settings.nav.tickets":()=>gv,"settings.overview.apikeys_description":()=>Sv,"settings.overview.getting_started":()=>Cv,"settings.overview.getting_started_description":()=>wv,"settings.overview.plan":()=>_v,"settings.overview.plan_description":()=>yv,"settings.overview.plan_free":()=>vv,"settings.overview.usage":()=>
2254bv,"settings.overview.usage_description":()=>xv,"settings.payments.amount":()=>Mb,"settings.payments.date":()=>Bb,"settings.payments.description":()=>gb,"settings.payments.invoice":()=>Hb,"settings.payments.no_payments":()=>Eb,"settings.payments.order_no":()=>Ob,"settings.payments.product":()=>Ab,"settings.payments.provider":()=>Rb,"settings.payments.status":()=>Pb,"settings.payments.tab_all":()=>vb,"settings.payments.tab_one_time":()=>bb,"settings.payments.tab_renew":()=>wb,"settings.payments.tab_subscription":()=>Sb,"settings.payments.title":()=>mb,"settings.payments.type":()=>Ib,"settings.placeholder":()=>av,"settings.profile.avatar":()=>Av,"settings.profile.avatar_hint":()=>jv,"settings.profile.description":()=>Ev,"settings.profile.email":()=>kv,"settings.profile.loading":()=>Iv,"settings.profile.name":()=>Ov,"settings.profile.profile":()=>Dv,"settings.profile.save":()=>Mv,"settings.profile.save_failed":()=>Fv,"settings.profile.saved":()=>Pv,"settings.profile.saving":()=>Nv,"settings.profile.title":()=>Tv,"settings.tickets.actions_col":()=>PS,"settings.tickets.attachments_label":()=>gC,"settings.tickets.cancel":()=>uC,"settings.tickets.close_success":()=>JS,"settings.tickets.close_ticket":()=>XS,"settings.tickets.closed_notice":()=>QS,"settings.tickets.content_label":()=>wS,"settings.tickets.content_placeholder":()=>ES,"settings.tickets.create_button":()=>mS,"settings.tickets.create_description":()=>vS,"settings.tickets.create_submit":()=>fC,"settings.tickets.create_success":()=>KS,"settings.tickets.create_title":()=>gS,"settings.tickets.created_col":()=>bC,"settings.tickets.creating":()=>mC,"settings.tickets.description":()=>fS,"settings.tickets.empty":()=>HS,"settings.tickets.latest_reply_col":()=>vC,"settings.tickets.reply_placeholder":()=>eC,"settings.tickets.reply_submit":()=>nC,"settings.tickets.replying":()=>iC,"settings.tickets.required":()=>WS,"settings.tickets.status_closed":()=>BS,"settings.tickets.status_col":()=>AS,"settings.tickets.status_open":()=>IS,"settings.tickets.status_replied":()=>RS,"settings.tickets.support_team":()=>oC,"settings.tickets.title":()=>uS,"settings.tickets.title_col":()=>OS,"settings.tickets.title_label":()=>bS,"settings.tickets.title_placeholder":()=>SS,"settings.tickets.updated_col":()=>MS,"settings.tickets.you":()=>cC,"settings.title":()=>tv,"settings.welcome":()=>rv,"tipdf.all_tools.description":()=>cJ,"tipdf.all_tools.title":()=>oJ,"tipdf.blog.description":()=>KY,"tipdf.blog.title":()=>WY,"tipdf.cta.button":()=>nG,"tipdf.cta.description":()=>eG,"tipdf.cta.title":()=>QW,"tipdf.features.create.alt":()=>IU,"tipdf.features.create.description":()=>MU,"tipdf.features.create.link":()=>PU,"tipdf.features.create.title":()=>AU,"tipdf.features.description":()=>fU,"tipdf.features.edit.alt":()=>bU,"tipdf.features.edit.description":()=>gU,"tipdf.features.edit.link":()=>vU,"tipdf.features.edit.title":()=>mU,"tipdf.features.manage.alt":()=>WU,"tipdf.features.manage.description":()=>BU,"tipdf.features.manage.link":()=>HU,"tipdf.features.manage.title":()=>RU,"tipdf.features.sign.alt":()=>OU,"tipdf.features.sign.description":()=>wU,"tipdf.features.sign.link":()=>EU,"tipdf.features.sign.title":()=>SU,"tipdf.features.title":()=>uU,"tipdf.footer.contact":()=>uG,"tipdf.footer.privacy":()=>oG,"tipdf.footer.tagline":()=>iG,"tipdf.footer.terms":()=>cG,"tipdf.footer.tool.add-page-numbers-to-pdf":()=>KG,"tipdf.footer.tool.ai-pdf":()=>vG,"tipdf.footer.tool.bmp-to-pdf":()=>wK,"tipdf.footer.tool.chat-pdf":()=>bG,"tipdf.footer.tool.compress-pdf":()=>fG,"tipdf.footer.tool.crop-pdf":()=>JG,"tipdf.footer.tool.delete-pages-from-pdf":()=>PG,"tipdf.footer.tool.edit-pdf":()=>BG,"tipdf.footer.tool.epub-to-pdf":()=>QK,"tipdf.footer.tool.excel-to-pdf":()=>gK,"tipdf.footer.tool.extract-pdf-pages":()=>IG,"tipdf.footer.tool.flatten-pdf":()=>cq,"tipdf.footer.tool.gif-to-pdf":()=>EK,"tipdf.footer.tool.heic-to-pdf":()=>OK,"tipdf.footer.tool.html-to-pdf":()=>XK,"tipdf.footer.tool.hwp-to-pdf":()=>JK,"tipdf.footer.tool.image-pdf":()=>SK,"tipdf.footer.tool.jpg-to-pdf":()=>bK,"tipdf.footer.tool.markdown-to-pdf":()=>RK,"tipdf.footer.tool.merge-pdf":()=>OG,"tipdf.footer.tool.odp-to-pdf":()=>WK,"tipdf.footer.tool.ods-to-pdf":()=>KK,"tipdf.footer.tool.odt-to-pdf":()=>HK,"tipdf.footer.tool.organize-pdf":()=>RG,"tipdf.footer.tool.pdf-annotator":()=>HG,"tipdf.footer.tool.pdf-converter":()=>mG,"tipdf.footer.tool.pdf-form-filler":()=>eK,"tipdf.footer.tool.pdf-ocr":()=>gG,"tipdf.footer.tool.pdf-reader":()=>WG,"tipdf.footer.tool.pdf-scanner":()=>uq,"tipdf.footer.tool.pdf-summarizer":()=>SG,"tipdf.footer.tool.pdf-to-excel":()=>oK,"tipdf.footer.tool.pdf-to-jpg":()=>uK,"tipdf.footer.tool.pdf-to-png":()=>fK,"tipdf.footer.tool.pdf-to-ppt":()=>cK,"tipdf.footer.tool.pdf-to-word":()=>
2254iK,"tipdf.footer.tool.png-to-pdf":()=>AK,"tipdf.footer.tool.ppt-to-pdf":()=>vK,"tipdf.footer.tool.protect-pdf":()=>oq,"tipdf.footer.tool.question-generator":()=>EG,"tipdf.footer.tool.redact-pdf":()=>XG,"tipdf.footer.tool.rotate-pdf":()=>MG,"tipdf.footer.tool.rtf-to-pdf":()=>BK,"tipdf.footer.tool.share-document":()=>nK,"tipdf.footer.tool.sign-pdf":()=>nq,"tipdf.footer.tool.split-pdf":()=>AG,"tipdf.footer.tool.tiff-to-pdf":()=>MK,"tipdf.footer.tool.translate-pdf":()=>wG,"tipdf.footer.tool.txt-to-pdf":()=>IK,"tipdf.footer.tool.unlock-pdf":()=>iq,"tipdf.footer.tool.watermark-pdf":()=>QG,"tipdf.footer.tool.webp-to-pdf":()=>PK,"tipdf.footer.tool.word-to-pdf":()=>mK,"tipdf.footer.tool.zip-to-pdf":()=>eq,"tipdf.hero.description":()=>OH,"tipdf.hero.primary":()=>AH,"tipdf.hero.secondary":()=>MH,"tipdf.hero.title":()=>EH,"tipdf.home.meta_description":()=>IH,"tipdf.home.meta_title":()=>PH,"tipdf.home_tools.category.ai":()=>nU,"tipdf.home_tools.category.all":()=>WH,"tipdf.home_tools.category.convert":()=>XH,"tipdf.home_tools.category.edit":()=>QH,"tipdf.home_tools.category.optimize":()=>JH,"tipdf.home_tools.category.organize":()=>KH,"tipdf.home_tools.category.security":()=>eU,"tipdf.home_tools.description":()=>BH,"tipdf.home_tools.filter_label":()=>HH,"tipdf.home_tools.title":()=>RH,"tipdf.mobile.alt":()=>XU,"tipdf.mobile.description":()=>JU,"tipdf.mobile.primary":()=>QU,"tipdf.mobile.secondary":()=>eW,"tipdf.mobile.title":()=>KU,"tipdf.nav.ai":()=>wH,"tipdf.nav.all_tools":()=>fH,"tipdf.nav.compress":()=>iH,"tipdf.nav.convert":()=>oH,"tipdf.nav.edit":()=>bH,"tipdf.nav.from_pdf":()=>gH,"tipdf.nav.login":()=>eH,"tipdf.nav.merge":()=>cH,"tipdf.nav.open_menu":()=>vH,"tipdf.nav.sign":()=>SH,"tipdf.nav.split":()=>uH,"tipdf.nav.to_pdf":()=>mH,"tipdf.nav.tools":()=>QV,"tipdf.nav.trial":()=>nH,"tipdf.page.explore":()=>BY,"tipdf.page.learn_more":()=>HY,"tipdf.page.preview":()=>IY,"tipdf.page.preview_note":()=>RY,"tipdf.popular.all":()=>cU,"tipdf.popular.description":()=>oU,"tipdf.popular.title":()=>iU,"tipdf.pricing.compare":()=>oW,"tipdf.pricing.description":()=>iW,"tipdf.pricing.feature.devices":()=>SW,"tipdf.pricing.feature.processing":()=>bW,"tipdf.pricing.feature.unlimited":()=>vW,"tipdf.pricing.member":()=>mW,"tipdf.pricing.month":()=>fW,"tipdf.pricing.period":()=>gW,"tipdf.pricing.pro":()=>cW,"tipdf.pricing.team":()=>uW,"tipdf.pricing.team_description":()=>wW,"tipdf.pricing.title":()=>nW,"tipdf.templates.description":()=>XY,"tipdf.templates.title":()=>JY,"tipdf.tool.cancel":()=>Eq,"tipdf.tool.demo_note":()=>bq,"tipdf.tool.download":()=>Pq,"tipdf.tool.download_all":()=>Iq,"tipdf.tool.drop":()=>gq,"tipdf.tool.error":()=>Rq,"tipdf.tool.from_device":()=>vq,"tipdf.tool.home":()=>fq,"tipdf.tool.how_title":()=>Hq,"tipdf.tool.method_title":()=>iJ,"tipdf.tool.output":()=>Bq,"tipdf.tool.process":()=>wq,"tipdf.tool.related":()=>eJ,"tipdf.tool.related_title":()=>nJ,"tipdf.tool.remote_approval":()=>Aq,"tipdf.tool.reset":()=>Oq,"tipdf.tool.result":()=>Mq,"tipdf.tool.selected_files":()=>Sq,"tipdf.tool.step_1":()=>Wq,"tipdf.tool.step_2":()=>Kq,"tipdf.tool.step_3":()=>Jq,"tipdf.tool.upload":()=>mq,"tipdf.tool.why_description":()=>Qq,"tipdf.tool.why_title":()=>Xq,"tipdf.trust.business.description":()=>PW,"tipdf.trust.business.title":()=>MW,"tipdf.trust.encryption.description":()=>KW,"tipdf.trust.encryption.title":()=>WW,"tipdf.trust.partners.description":()=>RW,"tipdf.trust.partners.title":()=>IW,"tipdf.trust.people.description":()=>AW,"tipdf.trust.people.title":()=>OW,"tipdf.trust.standards.description":()=>XW,"tipdf.trust.standards.title":()=>JW,"tipdf.trust.support.description":()=>HW,"tipdf.trust.support.title":()=>BW,"tipdf.trust.title":()=>EW,"tool_page.add-page-numbers-to-pdf.benefits":()=>Ibe,"tool_page.add-page-numbers-to-pdf.cta":()=>vxe,"tool_page.add-page-numbers-to-pdf.faq_title":()=>cxe,"tool_page.add-page-numbers-to-pdf.faqs":()=>uxe,"tool_page.add-page-numbers-to-pdf.formats":()=>Wbe,"tool_page.add-page-numbers-to-pdf.formats_title":()=>Hbe,"tool_page.add-page-numbers-to-pdf.h1":()=>Mbe,"tool_page.add-page-numbers-to-pdf.intro":()=>Pbe,"tool_page.add-page-numbers-to-pdf.meta_description":()=>Abe,"tool_page.add-page-numbers-to-pdf.meta_title":()=>Obe,"tool_page.add-page-numbers-to-pdf.method":()=>fxe,"tool_page.add-page-numbers-to-pdf.overview":()=>Bbe,"tool_page.add-page-numbers-to-pdf.overview_title":()=>Rbe,"tool_page.add-page-numbers-to-pdf.privacy":()=>oxe,"tool_page.add-page-numbers-to-pdf.privacy_title":()=>ixe,"tool_page.add-page-numbers-to-pdf.quality":()=>nxe,"tool_page.add-page-numbers-to-pdf.quality_title":()=>exe,"tool_page.add-page-numbers-to-pdf.related_description":()=>gxe,"tool_page.add-page-numbers-to-pdf.steps":()=>Jbe,"tool_page.add-page-numbers-to-pdf.steps_title":()=>Kbe,"tool_page.add-page-numbers-to-pdf.uses":()=>Qbe,"tool_page.add-page-numbers-to-pdf.uses_title":()=>Xbe,"tool_page.add-page-numbers-to-pdf.visual_alt":()=>mxe,"tool_page.ai-pdf.benefits":()=>Kpe,"tool_page.ai-pdf.cta":()=>Ome,"tool_page.ai-pdf.faq_title":()=>vme,"tool_page.ai-pdf.faqs":()=>bme,"tool_page.ai-pdf.formats":()=>eme,"tool_page.ai-pdf.formats_title":()=>Qpe,"tool_page.ai-pdf.h1":()=>Hpe,"tool_page.ai-pdf.intro":()=>Wpe,"tool_page.ai-pdf.meta_description":()=>Bpe,"tool_page.ai-pdf.meta_title":()=>Rpe,"tool_page.ai-pdf.method":()=>Sme,"tool_page.ai-pdf.overview":()=>Xpe,"tool_page.ai-pdf.overview_title":()=>Jpe,"tool_page.ai-pdf.privacy":()=>gme,"tool_page.ai-pdf.privacy_title":()=>mme,"tool_page.ai-pdf.quality":()=>fme,"tool_page.ai-pdf.quality_title":()=>ume,"tool_page.ai-pdf.related_description":()=>Eme,"tool_page.ai-pdf.steps":()=>ime,"tool_page.ai-pdf.steps_title":()=>nme,"tool_page.ai-pdf.uses":()=>cme,"tool_page.ai-pdf.uses_title":()=>ome,"tool_page.ai-pdf.visual_alt":()=>wme,"tool_page.bmp-to-pdf.benefits":()=>Xwe,"tool_page.bmp-to-pdf.cta":()=>MTe,"tool_page.bmp-to-pdf.faq_title":()=>STe,"tool_page.bmp-to-pdf.faqs":()=>wTe,"tool_page.bmp-to-pdf.formats":()=>iTe,"tool_page.bmp-to-pdf.formats_title":()=>nTe,"tool_page.bmp-to-pdf.h1":()=>Kwe,"tool_page.bmp-to-pdf.intro":()=>Jwe,"tool_page.bmp-to-pdf.meta_description":()=>Wwe,"tool_page.bmp-to-pdf.meta_title":()=>Hwe,"tool_page.bmp-to-pdf.method":()=>ETe,"tool_page.bmp-to-pdf.overview":()=>eTe,"tool_page.bmp-to-pdf.overview_title":()=>Qwe,"tool_page.bmp-to-pdf.privacy":()=>bTe,"tool_page.bmp-to-pdf.privacy_title":()=>vTe,"tool_page.bmp-to-pdf.quality":()=>gTe,"tool_page.bmp-to-pdf.quality_title":()=>mTe,"tool_page.bmp-to-pdf.related_description":()=>ATe,"tool_page.bmp-to-pdf.steps":()=>cTe,"tool_page.bmp-to-pdf.steps_title":()=>oTe,"tool_page.bmp-to-pdf.uses":()=>fTe,"tool_page.bmp-to-pdf.uses_title":()=>uTe,"tool_page.bmp-to-pdf.visual_alt":()=>OTe,"tool_page.chat-pdf.benefits":()=>Rme,"tool_page.chat-pdf.cta":()=>bhe,"tool_page.chat-pdf.faq_title":()=>uhe,"tool_page.chat-pdf.faqs":()=>fhe,"tool_page.chat-pdf.formats":()=>Kme,"tool_page.chat-pdf.formats_title":()=>Wme,"tool_page.chat-pdf.h1":()=>Pme,"tool_page.chat-pdf.intro":()=>Ime,"tool_page.chat-pdf.meta_description":()=>Mme,"tool_page.chat-pdf.meta_title":()=>Ame,"tool_page.chat-pdf.method":()=>mhe,"tool_page.chat-pdf.overview":()=>Hme,"tool_page.chat-pdf.overview_title":()=>Bme,"tool_page.chat-pdf.privacy":()=>che,"tool_page.chat-pdf.privacy_title":()=>ohe,"tool_page.chat-pdf.quality":()=>ihe,"tool_page.chat-pdf.quality_title":()=>nhe,"tool_page.chat-pdf.related_description":()=>vhe,"tool_page.chat-pdf.steps":()=>Xme,"tool_page.chat-pdf.steps_title":()=>Jme,"tool_page.chat-pdf.uses":()=>ehe,"tool_page.chat-pdf.uses_title":()=>Qme,"tool_page.chat-pdf.visual_alt":()=>ghe,"tool_page.compress-pdf.benefits":()=>QX,"tool_page.compress-pdf.cta":()=>PZ,"tool_page.compress-pdf.faq_title":()=>wZ,"tool_page.compress-pdf.faqs":()=>EZ,"tool_page.compress-pdf.formats":()=>oZ,"tool_page.compress-pdf.formats_title":()=>iZ,"tool_page.compress-pdf.h1":()=>JX,"tool_page.compress-pdf.intro":()=>XX,"tool_page.compress-pdf.meta_description":()=>KX,"tool_page.compress-pdf.meta_title":()=>WX,"tool_page.compress-pdf.method":()=>OZ,"tool_page.compress-pdf.overview":()=>nZ,"tool_page.compress-pdf.overview_title":()=>eZ,"tool_page.compress-pdf.privacy":()=>SZ,"tool_page.compress-pdf.privacy_title":()=>bZ,"tool_page.compress-pdf.quality":()=>vZ,"tool_page.compress-pdf.quality_title":()=>gZ,"tool_page.compress-pdf.related_description":()=>MZ,"tool_page.compress-pdf.steps":()=>uZ,"tool_page.compress-pdf.steps_title":()=>cZ,"tool_page.compress-pdf.uses":()=>mZ,"tool_page.compress-pdf.uses_title":()=>fZ,"tool_page.compress-pdf.visual_alt":()=>AZ,"tool_page.crop-pdf.benefits":()=>E6,"tool_page.crop-pdf.cta":()=>c8,"tool_page.crop-pdf.faq_title":()=>Q6,"tool_page.crop-pdf.faqs":()=>e8,"tool_page.crop-pdf.formats":()=>P6,"tool_page.crop-pdf.formats_title":()=>M6,"tool_page.crop-pdf.h1":()=>S6,"tool_page.crop-pdf.intro":()=>w6,"tool_page.crop-pdf.meta_description":()=>b6,"tool_page.crop-pdf.meta_title":()=>v6,"tool_page.crop-pdf.method":()=>n8,"tool_page.crop-pdf.overview":()=>A6,"tool_page.crop-pdf.overview_title":()=>O6,"tool_page.crop-pdf.privacy":()=>X6,"tool_page.crop-pdf.privacy_title":()=>J6,"tool_page.crop-pdf.quality":()=>K6,"tool_page.crop-pdf.quality_title":()=>W6,"tool_page.crop-pdf.related_description":()=>
2254o8,"tool_page.crop-pdf.steps":()=>R6,"tool_page.crop-pdf.steps_title":()=>I6,"tool_page.crop-pdf.uses":()=>H6,"tool_page.crop-pdf.uses_title":()=>B6,"tool_page.crop-pdf.visual_alt":()=>i8,"tool_page.delete-pages-from-pdf.benefits":()=>Qve,"tool_page.delete-pages-from-pdf.cta":()=>Pye,"tool_page.delete-pages-from-pdf.faq_title":()=>wye,"tool_page.delete-pages-from-pdf.faqs":()=>Eye,"tool_page.delete-pages-from-pdf.formats":()=>oye,"tool_page.delete-pages-from-pdf.formats_title":()=>iye,"tool_page.delete-pages-from-pdf.h1":()=>Jve,"tool_page.delete-pages-from-pdf.intro":()=>Xve,"tool_page.delete-pages-from-pdf.meta_description":()=>Kve,"tool_page.delete-pages-from-pdf.meta_title":()=>Wve,"tool_page.delete-pages-from-pdf.method":()=>Oye,"tool_page.delete-pages-from-pdf.overview":()=>nye,"tool_page.delete-pages-from-pdf.overview_title":()=>eye,"tool_page.delete-pages-from-pdf.privacy":()=>Sye,"tool_page.delete-pages-from-pdf.privacy_title":()=>bye,"tool_page.delete-pages-from-pdf.quality":()=>vye,"tool_page.delete-pages-from-pdf.quality_title":()=>gye,"tool_page.delete-pages-from-pdf.related_description":()=>Mye,"tool_page.delete-pages-from-pdf.steps":()=>uye,"tool_page.delete-pages-from-pdf.steps_title":()=>cye,"tool_page.delete-pages-from-pdf.uses":()=>mye,"tool_page.delete-pages-from-pdf.uses_title":()=>fye,"tool_page.delete-pages-from-pdf.visual_alt":()=>Aye,"tool_page.edit-pdf.benefits":()=>oX,"tool_page.edit-pdf.cta":()=>HX,"tool_page.edit-pdf.faq_title":()=>MX,"tool_page.edit-pdf.faqs":()=>PX,"tool_page.edit-pdf.formats":()=>mX,"tool_page.edit-pdf.formats_title":()=>fX,"tool_page.edit-pdf.h1":()=>nX,"tool_page.edit-pdf.intro":()=>iX,"tool_page.edit-pdf.meta_description":()=>eX,"tool_page.edit-pdf.meta_title":()=>QY,"tool_page.edit-pdf.method":()=>IX,"tool_page.edit-pdf.overview":()=>uX,"tool_page.edit-pdf.overview_title":()=>cX,"tool_page.edit-pdf.privacy":()=>AX,"tool_page.edit-pdf.privacy_title":()=>OX,"tool_page.edit-pdf.quality":()=>EX,"tool_page.edit-pdf.quality_title":()=>wX,"tool_page.edit-pdf.related_description":()=>BX,"tool_page.edit-pdf.steps":()=>vX,"tool_page.edit-pdf.steps_title":()=>gX,"tool_page.edit-pdf.uses":()=>SX,"tool_page.edit-pdf.uses_title":()=>bX,"tool_page.edit-pdf.visual_alt":()=>RX,"tool_page.epub-to-pdf.benefits":()=>wNe,"tool_page.epub-to-pdf.cta":()=>oPe,"tool_page.epub-to-pdf.faq_title":()=>XNe,"tool_page.epub-to-pdf.faqs":()=>QNe,"tool_page.epub-to-pdf.formats":()=>MNe,"tool_page.epub-to-pdf.formats_title":()=>ANe,"tool_page.epub-to-pdf.h1":()=>bNe,"tool_page.epub-to-pdf.intro":()=>SNe,"tool_page.epub-to-pdf.meta_description":()=>vNe,"tool_page.epub-to-pdf.meta_title":()=>gNe,"tool_page.epub-to-pdf.method":()=>ePe,"tool_page.epub-to-pdf.overview":()=>ONe,"tool_page.epub-to-pdf.overview_title":()=>ENe,"tool_page.epub-to-pdf.privacy":()=>JNe,"tool_page.epub-to-pdf.privacy_title":()=>KNe,"tool_page.epub-to-pdf.quality":()=>WNe,"tool_page.epub-to-pdf.quality_title":()=>HNe,"tool_page.epub-to-pdf.related_description":()=>iPe,"tool_page.epub-to-pdf.steps":()=>INe,"tool_page.epub-to-pdf.steps_title":()=>PNe,"tool_page.epub-to-pdf.uses":()=>BNe,"tool_page.epub-to-pdf.uses_title":()=>RNe,"tool_page.epub-to-pdf.visual_alt":()=>nPe,"tool_page.excel-to-pdf.benefits":()=>Hne,"tool_page.excel-to-pdf.cta":()=>wre,"tool_page.excel-to-pdf.faq_title":()=>mre,"tool_page.excel-to-pdf.faqs":()=>gre,"tool_page.excel-to-pdf.formats":()=>Xne,"tool_page.excel-to-pdf.formats_title":()=>Jne,"tool_page.excel-to-pdf.h1":()=>Rne,"tool_page.excel-to-pdf.intro":()=>Bne,"tool_page.excel-to-pdf.meta_description":()=>Ine,"tool_page.excel-to-pdf.meta_title":()=>Pne,"tool_page.excel-to-pdf.method":()=>vre,"tool_page.excel-to-pdf.overview":()=>Kne,"tool_page.excel-to-pdf.overview_title":()=>Wne,"tool_page.excel-to-pdf.privacy":()=>fre,"tool_page.excel-to-pdf.privacy_title":()=>ure,"tool_page.excel-to-pdf.quality":()=>cre,"tool_page.excel-to-pdf.quality_title":()=>ore,"tool_page.excel-to-pdf.related_description":()=>Sre,"tool_page.excel-to-pdf.steps":()=>ere,"tool_page.excel-to-pdf.steps_title":()=>Qne,"tool_page.excel-to-pdf.uses":()=>ire,"tool_page.excel-to-pdf.uses_title":()=>nre,"tool_page.excel-to-pdf.visual_alt":()=>
2254bre,"tool_page.extract-pdf-pages.benefits":()=>Wye,"tool_page.extract-pdf-pages.cta":()=>Ebe,"tool_page.extract-pdf-pages.faq_title":()=>gbe,"tool_page.extract-pdf-pages.faqs":()=>vbe,"tool_page.extract-pdf-pages.formats":()=>Qye,"tool_page.extract-pdf-pages.formats_title":()=>Xye,"tool_page.extract-pdf-pages.h1":()=>Bye,"tool_page.extract-pdf-pages.intro":()=>Hye,"tool_page.extract-pdf-pages.meta_description":()=>Rye,"tool_page.extract-pdf-pages.meta_title":()=>Iye,"tool_page.extract-pdf-pages.method":()=>bbe,"tool_page.extract-pdf-pages.overview":()=>Jye,"tool_page.extract-pdf-pages.overview_title":()=>Kye,"tool_page.extract-pdf-pages.privacy":()=>mbe,"tool_page.extract-pdf-pages.privacy_title":()=>fbe,"tool_page.extract-pdf-pages.quality":()=>ube,"tool_page.extract-pdf-pages.quality_title":()=>cbe,"tool_page.extract-pdf-pages.related_description":()=>wbe,"tool_page.extract-pdf-pages.steps":()=>nbe,"tool_page.extract-pdf-pages.steps_title":()=>ebe,"tool_page.extract-pdf-pages.uses":()=>obe,"tool_page.extract-pdf-pages.uses_title":()=>ibe,"tool_page.extract-pdf-pages.visual_alt":()=>Sbe,"tool_page.flatten-pdf.benefits":()=>eIe,"tool_page.flatten-pdf.cta":()=>IIe,"tool_page.flatten-pdf.faq_title":()=>EIe,"tool_page.flatten-pdf.faqs":()=>OIe,"tool_page.flatten-pdf.formats":()=>cIe,"tool_page.flatten-pdf.formats_title":()=>oIe,"tool_page.flatten-pdf.h1":()=>XFe,"tool_page.flatten-pdf.intro":()=>QFe,"tool_page.flatten-pdf.meta_description":()=>JFe,"tool_page.flatten-pdf.meta_title":()=>KFe,"tool_page.flatten-pdf.method":()=>AIe,"tool_page.flatten-pdf.overview":()=>iIe,"tool_page.flatten-pdf.overview_title":()=>nIe,"tool_page.flatten-pdf.privacy":()=>wIe,"tool_page.flatten-pdf.privacy_title":()=>SIe,"tool_page.flatten-pdf.quality":()=>bIe,"tool_page.flatten-pdf.quality_title":()=>vIe,"tool_page.flatten-pdf.related_description":()=>PIe,"tool_page.flatten-pdf.steps":()=>fIe,"tool_page.flatten-pdf.steps_title":()=>uIe,"tool_page.flatten-pdf.uses":()=>gIe,"tool_page.flatten-pdf.uses_title":()=>mIe,"tool_page.flatten-pdf.visual_alt":()=>MIe,"tool_page.gif-to-pdf.benefits":()=>HTe,"tool_page.gif-to-pdf.cta":()=>wEe,"tool_page.gif-to-pdf.faq_title":()=>mEe,"tool_page.gif-to-pdf.faqs":()=>gEe,"tool_page.gif-to-pdf.formats":()=>XTe,"tool_page.gif-to-pdf.formats_title":()=>JTe,"tool_page.gif-to-pdf.h1":()=>RTe,"tool_page.gif-to-pdf.intro":()=>BTe,"tool_page.gif-to-pdf.meta_description":()=>ITe,"tool_page.gif-to-pdf.meta_title":()=>PTe,"tool_page.gif-to-pdf.method":()=>vEe,"tool_page.gif-to-pdf.overview":()=>KTe,"tool_page.gif-to-pdf.overview_title":()=>WTe,"tool_page.gif-to-pdf.privacy":()=>fEe,"tool_page.gif-to-pdf.privacy_title":()=>uEe,"tool_page.gif-to-pdf.quality":()=>cEe,"tool_page.gif-to-pdf.quality_title":()=>oEe,"tool_page.gif-to-pdf.related_description":()=>SEe,"tool_page.gif-to-pdf.steps":()=>eEe,"tool_page.gif-to-pdf.steps_title":()=>QTe,"tool_page.gif-to-pdf.uses":()=>iEe,"tool_page.gif-to-pdf.uses_title":()=>nEe,"tool_page.gif-to-pdf.visual_alt":()=>bEe,"tool_page.heic-to-pdf.benefits":()=>PEe,"tool_page.heic-to-pdf.cta":()=>gDe,"tool_page.heic-to-pdf.faq_title":()=>oDe,"tool_page.heic-to-pdf.faqs":()=>cDe,"tool_page.heic-to-pdf.formats":()=>HEe,"tool_page.heic-to-pdf.formats_title":()=>BEe,"tool_page.heic-to-pdf.h1":()=>AEe,"tool_page.heic-to-pdf.intro":()=>MEe,"tool_page.heic-to-pdf.meta_description":()=>OEe,"tool_page.heic-to-pdf.meta_title":()=>EEe,"tool_page.heic-to-pdf.method":()=>uDe,"tool_page.heic-to-pdf.overview":()=>REe,"tool_page.heic-to-pdf.overview_title":()=>IEe,"tool_page.heic-to-pdf.privacy":()=>iDe,"tool_page.heic-to-pdf.privacy_title":()=>nDe,"tool_page.heic-to-pdf.quality":()=>eDe,"tool_page.heic-to-pdf.quality_title":()=>QEe,"tool_page.heic-to-pdf.related_description":()=>mDe,"tool_page.heic-to-pdf.steps":()=>KEe,"tool_page.heic-to-pdf.steps_title":()=>WEe,"tool_page.heic-to-pdf.uses":()=>XEe,"tool_page.heic-to-pdf.uses_title":()=>JEe,"tool_page.heic-to-pdf.visual_alt":()=>fDe,"tool_page.html-to-pdf.benefits":()=>uoe,"tool_page.html-to-pdf.cta":()=>Koe,"tool_page.html-to-pdf.faq_title":()=>
2254Ioe,"tool_page.html-to-pdf.faqs":()=>Roe,"tool_page.html-to-pdf.formats":()=>voe,"tool_page.html-to-pdf.formats_title":()=>goe,"tool_page.html-to-pdf.h1":()=>ooe,"tool_page.html-to-pdf.intro":()=>coe,"tool_page.html-to-pdf.meta_description":()=>ioe,"tool_page.html-to-pdf.meta_title":()=>noe,"tool_page.html-to-pdf.method":()=>Boe,"tool_page.html-to-pdf.overview":()=>moe,"tool_page.html-to-pdf.overview_title":()=>foe,"tool_page.html-to-pdf.privacy":()=>Poe,"tool_page.html-to-pdf.privacy_title":()=>Moe,"tool_page.html-to-pdf.quality":()=>Aoe,"tool_page.html-to-pdf.quality_title":()=>Ooe,"tool_page.html-to-pdf.related_description":()=>Woe,"tool_page.html-to-pdf.steps":()=>Soe,"tool_page.html-to-pdf.steps_title":()=>boe,"tool_page.html-to-pdf.uses":()=>Eoe,"tool_page.html-to-pdf.uses_title":()=>woe,"tool_page.html-to-pdf.visual_alt":()=>Hoe,"tool_page.hwp-to-pdf.benefits":()=>MMe,"tool_page.hwp-to-pdf.cta":()=>mNe,"tool_page.hwp-to-pdf.faq_title":()=>iNe,"tool_page.hwp-to-pdf.faqs":()=>oNe,"tool_page.hwp-to-pdf.formats":()=>BMe,"tool_page.hwp-to-pdf.formats_title":()=>RMe,"tool_page.hwp-to-pdf.h1":()=>OMe,"tool_page.hwp-to-pdf.intro":()=>AMe,"tool_page.hwp-to-pdf.meta_description":()=>EMe,"tool_page.hwp-to-pdf.meta_title":()=>wMe,"tool_page.hwp-to-pdf.method":()=>cNe,"tool_page.hwp-to-pdf.overview":()=>IMe,"tool_page.hwp-to-pdf.overview_title":()=>PMe,"tool_page.hwp-to-pdf.privacy":()=>nNe,"tool_page.hwp-to-pdf.privacy_title":()=>eNe,"tool_page.hwp-to-pdf.quality":()=>QMe,"tool_page.hwp-to-pdf.quality_title":()=>XMe,"tool_page.hwp-to-pdf.related_description":()=>fNe,"tool_page.hwp-to-pdf.steps":()=>WMe,"tool_page.hwp-to-pdf.steps_title":()=>HMe,"tool_page.hwp-to-pdf.uses":()=>JMe,"tool_page.hwp-to-pdf.uses_title":()=>KMe,"tool_page.hwp-to-pdf.visual_alt":()=>uNe,"tool_page.image-pdf.benefits":()=>iwe,"tool_page.image-pdf.cta":()=>Bwe,"tool_page.image-pdf.faq_title":()=>Awe,"tool_page.image-pdf.faqs":()=>Mwe,"tool_page.image-pdf.formats":()=>fwe,"tool_page.image-pdf.formats_title":()=>uwe,"tool_page.image-pdf.h1":()=>ewe,"tool_page.image-pdf.intro":()=>nwe,"tool_page.image-pdf.meta_description":()=>QCe,"tool_page.image-pdf.meta_title":()=>XCe,"tool_page.image-pdf.method":()=>Pwe,"tool_page.image-pdf.overview":()=>cwe,"tool_page.image-pdf.overview_title":()=>owe,"tool_page.image-pdf.privacy":()=>Owe,"tool_page.image-pdf.privacy_title":()=>Ewe,"tool_page.image-pdf.quality":()=>wwe,"tool_page.image-pdf.quality_title":()=>Swe,"tool_page.image-pdf.related_description":()=>Rwe,"tool_page.image-pdf.steps":()=>gwe,"tool_page.image-pdf.steps_title":()=>mwe,"tool_page.image-pdf.uses":()=>bwe,"tool_page.image-pdf.uses_title":()=>vwe,"tool_page.image-pdf.visual_alt":()=>Iwe,"tool_page.jpg-to-pdf.benefits":()=>b1,"tool_page.jpg-to-pdf.cta":()=>n0,"tool_page.jpg-to-pdf.faq_title":()=>K1,"tool_page.jpg-to-pdf.faqs":()=>J1,"tool_page.jpg-to-pdf.formats":()=>O1,"tool_page.jpg-to-pdf.formats_title":()=>E1,"tool_page.jpg-to-pdf.h1":()=>g1,"tool_page.jpg-to-pdf.intro":()=>v1,"tool_page.jpg-to-pdf.meta_description":()=>m1,"tool_page.jpg-to-pdf.meta_title":()=>f1,"tool_page.jpg-to-pdf.method":()=>X1,"tool_page.jpg-to-pdf.overview":()=>w1,"tool_page.jpg-to-pdf.overview_title":()=>S1,"tool_page.jpg-to-pdf.privacy":()=>W1,"tool_page.jpg-to-pdf.privacy_title":()=>H1,"tool_page.jpg-to-pdf.quality":()=>B1,"tool_page.jpg-to-pdf.quality_title":()=>R1,"tool_page.jpg-to-pdf.related_description":()=>e0,"tool_page.jpg-to-pdf.steps":()=>M1,"tool_page.jpg-to-pdf.steps_title":()=>A1,"tool_page.jpg-to-pdf.uses":()=>I1,"tool_page.jpg-to-pdf.uses_title":()=>P1,"tool_page.jpg-to-pdf.visual_alt":()=>Q1,"tool_page.markdown-to-pdf.benefits":()=>X2,"tool_page.markdown-to-pdf.cta":()=>M4,"tool_page.markdown-to-pdf.faq_title":()=>S4,"tool_page.markdown-to-pdf.faqs":()=>w4,"tool_page.markdown-to-pdf.formats":()=>i4,"tool_page.markdown-to-pdf.formats_title":()=>n4,"tool_page.markdown-to-pdf.h1":()=>K2,"tool_page.markdown-to-pdf.intro":()=>J2,"tool_page.markdown-to-pdf.meta_description":()=>W2,"tool_page.markdown-to-pdf.meta_title":()=>H2,"tool_page.markdown-to-pdf.method":()=>E4,"tool_page.markdown-to-pdf.overview":()=>e4,"tool_page.markdown-to-pdf.overview_title":()=>Q2,"tool_page.markdown-to-pdf.privacy":()=>b4,"tool_page.markdown-to-pdf.privacy_title":()=>v4,"tool_page.markdown-to-pdf.quality":()=>g4,"tool_page.markdown-to-pdf.quality_title":()=>m4,"tool_page.markdown-to-pdf.related_description":()=>A4,"tool_page.markdown-to-pdf.steps":()=>c4,"tool_page.markdown-to-pdf.steps_title":()=>o4,"tool_page.markdown-to-pdf.uses":()=>f4,"tool_page.markdown-to-pdf.uses_title":()=>u4,"tool_page.markdown-to-pdf.visual_alt":()=>O4,"tool_page.merge-pdf.benefits":()=>WZ,"tool_page.merge-pdf.cta":()=>EQ,"tool_page.merge-pdf.faq_title":()=>gQ,"tool_page.merge-pdf.faqs":()=>vQ,"tool_page.merge-pdf.formats":()=>QZ,"tool_page.merge-pdf.formats_title":()=>XZ,"tool_page.merge-pdf.h1":()=>BZ,"tool_page.merge-pdf.intro":()=>HZ,"tool_page.merge-pdf.meta_description":()=>RZ,"tool_page.merge-pdf.meta_title":()=>IZ,"tool_page.merge-pdf.method":()=>bQ,"tool_page.merge-pdf.overview":()=>JZ,"tool_page.merge-pdf.overview_title":()=>KZ,"tool_page.merge-pdf.privacy":()=>mQ,"tool_page.merge-pdf.privacy_title":()=>fQ,"tool_page.merge-pdf.quality":()=>uQ,"tool_page.merge-pdf.quality_title":()=>cQ,"tool_page.merge-pdf.related_description":()=>wQ,"tool_page.merge-pdf.steps":()=>nQ,"tool_page.merge-pdf.steps_title":()=>eQ,"tool_page.merge-pdf.uses":()=>oQ,"tool_page.merge-pdf.uses_title":()=>iQ,"tool_page.merge-pdf.visual_alt":()=>SQ,"tool_page.odp-to-pdf.benefits":()=>JAe,"tool_page.odp-to-pdf.cta":()=>Aje,"tool_page.odp-to-pdf.faq_title":()=>bje,"tool_page.odp-to-pdf.faqs":()=>Sje,"tool_page.odp-to-pdf.formats":()=>nje,"tool_page.odp-to-pdf.formats_title":()=>eje,"tool_page.odp-to-pdf.h1":()=>WAe,"tool_page.odp-to-pdf.intro":()=>KAe,"tool_page.odp-to-pdf.meta_description":()=>HAe,"tool_page.odp-to-pdf.meta_title":()=>BAe,"tool_page.odp-to-pdf.method":()=>wje,"tool_page.odp-to-pdf.overview":()=>QAe,"tool_page.odp-to-pdf.overview_title":()=>XAe,"tool_page.odp-to-pdf.privacy":()=>vje,"tool_page.odp-to-pdf.privacy_title":()=>gje,"tool_page.odp-to-pdf.quality":()=>mje,"tool_page.odp-to-pdf.quality_title":()=>fje,"tool_page.odp-to-pdf.related_description":()=>Oje,"tool_page.odp-to-pdf.steps":()=>oje,"tool_page.odp-to-pdf.steps_title":()=>ije,"tool_page.odp-to-pdf.uses":()=>uje,"tool_page.odp-to-pdf.uses_title":()=>cje,"tool_page.odp-to-pdf.visual_alt":()=>Eje,"tool_page.ods-to-pdf.benefits":()=>Bje,"tool_page.ods-to-pdf.cta":()=>SMe,"tool_page.ods-to-pdf.faq_title":()=>fMe,"tool_page.ods-to-pdf.faqs":()=>mMe,"tool_page.ods-to-pdf.formats":()=>Jje,"tool_page.ods-to-pdf.formats_title":()=>Kje,"tool_page.ods-to-pdf.h1":()=>Ije,"tool_page.ods-to-pdf.intro":()=>Rje,"tool_page.ods-to-pdf.meta_description":()=>Pje,"tool_page.ods-to-pdf.meta_title":()=>Mje,"tool_page.ods-to-pdf.method":()=>gMe,"tool_page.ods-to-pdf.overview":()=>Wje,"tool_page.ods-to-pdf.overview_title":()=>Hje,"tool_page.ods-to-pdf.privacy":()=>uMe,"tool_page.ods-to-pdf.privacy_title":()=>cMe,"tool_page.ods-to-pdf.quality":()=>oMe,"tool_page.ods-to-pdf.quality_title":()=>iMe,"tool_page.ods-to-pdf.related_description":()=>bMe,"tool_page.ods-to-pdf.steps":()=>Qje,"tool_page.ods-to-pdf.steps_title":()=>Xje,"tool_page.ods-to-pdf.uses":()=>nMe,"tool_page.ods-to-pdf.uses_title":()=>eMe,"tool_page.ods-to-pdf.visual_alt":()=>vMe,"tool_page.odt-to-pdf.benefits":()=>nAe,"tool_page.odt-to-pdf.cta":()=>RAe,"tool_page.odt-to-pdf.faq_title":()=>OAe,"tool_page.odt-to-pdf.faqs":()=>AAe,"tool_page.odt-to-pdf.formats":()=>uAe,"tool_page.odt-to-pdf.formats_title":()=>cAe,"tool_page.odt-to-pdf.h1":()=>Qke,"tool_page.odt-to-pdf.intro":()=>eAe,"tool_page.odt-to-pdf.meta_description":()=>Xke,"tool_page.odt-to-pdf.meta_title":()=>Jke,"tool_page.odt-to-pdf.method":()=>MAe,"tool_page.odt-to-pdf.overview":()=>oAe,"tool_page.odt-to-pdf.overview_title":()=>iAe,"tool_page.odt-to-pdf.privacy":()=>EAe,"tool_page.odt-to-pdf.privacy_title":()=>wAe,"tool_page.odt-to-pdf.quality":()=>SAe,"tool_page.odt-to-pdf.quality_title":()=>bAe,"tool_page.odt-to-pdf.related_description":()=>IAe,"tool_page.odt-to-pdf.steps":()=>mAe,"tool_page.odt-to-pdf.steps_title":()=>fAe,"tool_page.odt-to-pdf.uses":()=>vAe,"tool_page.odt-to-pdf.uses_title":()=>gAe,"tool_page.odt-to-pdf.visual_alt":()=>PAe,"tool_page.organize-pdf.benefits":()=>O$,"tool_page.organize-pdf.cta":()=>u1,"tool_page.organize-pdf.faq_title":()=>e1,"tool_page.organize-pdf.faqs":()=>n1,"tool_page.organize-pdf.formats":()=>I$,"tool_page.organize-pdf.formats_title":()=>P$,"tool_page.organize-pdf.h1":()=>w$,"tool_page.organize-pdf.intro":()=>E$,"tool_page.organize-pdf.meta_description":()=>S$,"tool_page.organize-pdf.meta_title":()=>b$,"tool_page.organize-pdf.method":()=>i1,"tool_page.organize-pdf.overview":()=>M$,"tool_page.organize-pdf.overview_title":()=>A$,"tool_page.organize-pdf.privacy":()=>Q$,"tool_page.organize-pdf.privacy_title":()=>X$,"tool_page.organize-pdf.quality":()=>J$,"tool_page.organize-pdf.quality_title":()=>K$,"tool_page.organize-pdf.related_description":()=>c1,"tool_page.organize-pdf.steps":()=>B$,"tool_page.organize-pdf.steps_title":()=>R$,"tool_page.organize-pdf.uses":()=>W$,"tool_page.organize-pdf.uses_title":()=>H$,"tool_page.organize-pdf.visual_alt":()=>o1,"tool_page.pdf-annotator.benefits":()=>H4,"tool_page.pdf-annotator.cta":()=>w3,"tool_page.pdf-annotator.faq_title":()=>m3,"tool_page.pdf-annotator.faqs":()=>g3,"tool_page.pdf-annotator.formats":()=>X4,"tool_page.pdf-annotator.formats_title":()=>J4,"tool_page.pdf-annotator.h1":()=>R4,"tool_page.pdf-annotator.intro":()=>B4,"tool_page.pdf-annotator.meta_description":()=>I4,"tool_page.pdf-annotator.meta_title":()=>P4,"tool_page.pdf-annotator.method":()=>v3,"tool_page.pdf-annotator.overview":()=>K4,"tool_page.pdf-annotator.overview_title":()=>W4,"tool_page.pdf-annotator.privacy":()=>f3,"tool_page.pdf-annotator.privacy_title":()=>u3,"tool_page.pdf-annotator.quality":()=>c3,"tool_page.pdf-annotator.quality_title":()=>o3,"tool_page.pdf-annotator.related_description":()=>S3,"tool_page.pdf-annotator.steps":()=>e3,"tool_page.pdf-annotator.steps_title":()=>Q4,"tool_page.pdf-annotator.uses":()=>i3,"tool_page.pdf-annotator.uses_title":()=>n3,"tool_page.pdf-annotator.visual_alt":()=>b3,"tool_page.pdf-converter.benefits":()=>epe,"tool_page.pdf-converter.cta":()=>Ipe,"tool_page.pdf-converter.faq_title":()=>Epe,"tool_page.pdf-converter.faqs":()=>Ope,"tool_page.pdf-converter.formats":()=>cpe,"tool_page.pdf-converter.formats_title":()=>ope,"tool_page.pdf-converter.h1":()=>Xfe,"tool_page.pdf-converter.intro":()=>Qfe,"tool_page.pdf-converter.meta_description":()=>Jfe,"tool_page.pdf-converter.meta_title":()=>Kfe,"tool_page.pdf-converter.method":()=>Ape,"tool_page.pdf-converter.overview":()=>ipe,"tool_page.pdf-converter.overview_title":()=>npe,"tool_page.pdf-converter.privacy":()=>wpe,"tool_page.pdf-converter.privacy_title":()=>Spe,"tool_page.pdf-converter.quality":()=>bpe,"tool_page.pdf-converter.quality_title":()=>vpe,"tool_page.pdf-converter.related_description":()=>Ppe,"tool_page.pdf-converter.steps":()=>fpe,"tool_page.pdf-converter.steps_title":()=>upe,"tool_page.pdf-converter.uses":()=>gpe,"tool_page.pdf-converter.uses_title":()=>mpe,"tool_page.pdf-converter.visual_alt":()=>Mpe,"tool_page.pdf-form-filler.benefits":()=>gde,"tool_page.pdf-form-filler.cta":()=>Qde,"tool_page.pdf-form-filler.faq_title":()=>Hde,"tool_page.pdf-form-filler.faqs":()=>Wde,"tool_page.pdf-form-filler.formats":()=>wde,"tool_page.pdf-form-filler.formats_title":()=>Sde,"tool_page.pdf-form-filler.h1":()=>fde,"tool_page.pdf-form-filler.intro":()=>mde,"tool_page.pdf-form-filler.meta_description":()=>ude,"tool_page.pdf-form-filler.meta_title":()=>cde,"tool_page.pdf-form-filler.method":()=>Kde,"tool_page.pdf-form-filler.overview":()=>bde,"tool_page.pdf-form-filler.overview_title":()=>vde,"tool_page.pdf-form-filler.privacy":()=>Bde,"tool_page.pdf-form-filler.privacy_title":()=>Rde,"tool_page.pdf-form-filler.quality":()=>Ide,"tool_page.pdf-form-filler.quality_title":()=>Pde,"tool_page.pdf-form-filler.related_description":()=>Xde,"tool_page.pdf-form-filler.steps":()=>Ode,"tool_page.pdf-form-filler.steps_title":()=>Ede,"tool_page.pdf-form-filler.uses":()=>Mde,"tool_page.pdf-form-filler.uses_title":()=>Ade,"tool_page.pdf-form-filler.visual_alt":()=>Jde,"tool_page.pdf-ocr.benefits":()=>cfe,"tool_page.pdf-ocr.cta":()=>Wfe,"tool_page.pdf-ocr.faq_title":()=>Pfe,"tool_page.pdf-ocr.faqs":()=>Ife,"tool_page.pdf-ocr.formats":()=>gfe,"tool_page.pdf-ocr.formats_title":()=>mfe,"tool_page.pdf-ocr.h1":()=>ife,"tool_page.pdf-ocr.intro":()=>ofe,"tool_page.pdf-ocr.meta_description":()=>nfe,"tool_page.pdf-ocr.meta_title":()=>efe,"tool_page.pdf-ocr.method":()=>Rfe,"tool_page.pdf-ocr.overview":()=>ffe,"tool_page.pdf-ocr.overview_title":()=>ufe,"tool_page.pdf-ocr.privacy":()=>Mfe,"tool_page.pdf-ocr.privacy_title":()=>Afe,"tool_page.pdf-ocr.quality":()=>Ofe,"tool_page.pdf-ocr.quality_title":()=>Efe,"tool_page.pdf-ocr.related_description":()=>
2254Hfe,"tool_page.pdf-ocr.steps":()=>bfe,"tool_page.pdf-ocr.steps_title":()=>vfe,"tool_page.pdf-ocr.uses":()=>wfe,"tool_page.pdf-ocr.uses_title":()=>Sfe,"tool_page.pdf-ocr.visual_alt":()=>Bfe,"tool_page.pdf-reader.benefits":()=>P3,"tool_page.pdf-reader.cta":()=>g6,"tool_page.pdf-reader.faq_title":()=>o6,"tool_page.pdf-reader.faqs":()=>c6,"tool_page.pdf-reader.formats":()=>H3,"tool_page.pdf-reader.formats_title":()=>B3,"tool_page.pdf-reader.h1":()=>A3,"tool_page.pdf-reader.intro":()=>M3,"tool_page.pdf-reader.meta_description":()=>O3,"tool_page.pdf-reader.meta_title":()=>E3,"tool_page.pdf-reader.method":()=>u6,"tool_page.pdf-reader.overview":()=>R3,"tool_page.pdf-reader.overview_title":()=>I3,"tool_page.pdf-reader.privacy":()=>i6,"tool_page.pdf-reader.privacy_title":()=>n6,"tool_page.pdf-reader.quality":()=>e6,"tool_page.pdf-reader.quality_title":()=>Q3,"tool_page.pdf-reader.related_description":()=>m6,"tool_page.pdf-reader.steps":()=>K3,"tool_page.pdf-reader.steps_title":()=>W3,"tool_page.pdf-reader.uses":()=>X3,"tool_page.pdf-reader.uses_title":()=>J3,"tool_page.pdf-reader.visual_alt":()=>f6,"tool_page.pdf-scanner.benefits":()=>nse,"tool_page.pdf-scanner.cta":()=>Rse,"tool_page.pdf-scanner.faq_title":()=>Ose,"tool_page.pdf-scanner.faqs":()=>Ase,"tool_page.pdf-scanner.formats":()=>use,"tool_page.pdf-scanner.formats_title":()=>cse,"tool_page.pdf-scanner.h1":()=>Qoe,"tool_page.pdf-scanner.intro":()=>ese,"tool_page.pdf-scanner.meta_description":()=>Xoe,"tool_page.pdf-scanner.meta_title":()=>Joe,"tool_page.pdf-scanner.method":()=>Mse,"tool_page.pdf-scanner.overview":()=>ose,"tool_page.pdf-scanner.overview_title":()=>ise,"tool_page.pdf-scanner.privacy":()=>Ese,"tool_page.pdf-scanner.privacy_title":()=>wse,"tool_page.pdf-scanner.quality":()=>Sse,"tool_page.pdf-scanner.quality_title":()=>bse,"tool_page.pdf-scanner.related_description":()=>Ise,"tool_page.pdf-scanner.steps":()=>mse,"tool_page.pdf-scanner.steps_title":()=>fse,"tool_page.pdf-scanner.uses":()=>vse,"tool_page.pdf-scanner.uses_title":()=>gse,"tool_page.pdf-scanner.visual_alt":()=>Pse,"tool_page.pdf-summarizer.benefits":()=>Ahe,"tool_page.pdf-summarizer.cta":()=>fge,"tool_page.pdf-summarizer.faq_title":()=>nge,"tool_page.pdf-summarizer.faqs":()=>ige,"tool_page.pdf-summarizer.formats":()=>Rhe,"tool_page.pdf-summarizer.formats_title":()=>Ihe,"tool_page.pdf-summarizer.h1":()=>Ehe,"tool_page.pdf-summarizer.intro":()=>Ohe,"tool_page.pdf-summarizer.meta_description":()=>whe,"tool_page.pdf-summarizer.meta_title":()=>She,"tool_page.pdf-summarizer.method":()=>oge,"tool_page.pdf-summarizer.overview":()=>Phe,"tool_page.pdf-summarizer.overview_title":()=>Mhe,"tool_page.pdf-summarizer.privacy":()=>ege,"tool_page.pdf-summarizer.privacy_title":()=>Qhe,"tool_page.pdf-summarizer.quality":()=>Xhe,"tool_page.pdf-summarizer.quality_title":()=>Jhe,"tool_page.pdf-summarizer.related_description":()=>uge,"tool_page.pdf-summarizer.steps":()=>Hhe,"tool_page.pdf-summarizer.steps_title":()=>Bhe,"tool_page.pdf-summarizer.uses":()=>Khe,"tool_page.pdf-summarizer.uses_title":()=>Whe,"tool_page.pdf-summarizer.visual_alt":()=>cge,"tool_page.pdf-to-excel.benefits":()=>Mle,"tool_page.pdf-to-excel.cta":()=>mue,"tool_page.pdf-to-excel.faq_title":()=>iue,"tool_page.pdf-to-excel.faqs":()=>oue,"tool_page.pdf-to-excel.formats":()=>Ble,"tool_page.pdf-to-excel.formats_title":()=>Rle,"tool_page.pdf-to-excel.h1":()=>Ole,"tool_page.pdf-to-excel.intro":()=>Ale,"tool_page.pdf-to-excel.meta_description":()=>Ele,"tool_page.pdf-to-excel.meta_title":()=>wle,"tool_page.pdf-to-excel.method":()=>cue,"tool_page.pdf-to-excel.overview":()=>Ile,"tool_page.pdf-to-excel.overview_title":()=>Ple,"tool_page.pdf-to-excel.privacy":()=>nue,"tool_page.pdf-to-excel.privacy_title":()=>eue,"tool_page.pdf-to-excel.quality":()=>Qle,"tool_page.pdf-to-excel.quality_title":()=>Xle,"tool_page.pdf-to-excel.related_description":()=>fue,"tool_page.pdf-to-excel.steps":()=>Wle,"tool_page.pdf-to-excel.steps_title":()=>Hle,"tool_page.pdf-to-excel.uses":()=>Jle,"tool_page.pdf-to-excel.uses_title":()=>Kle,"tool_page.pdf-to-excel.visual_alt":()=>uue,"tool_page.pdf-to-jpg.benefits":()=>f0,"tool_page.pdf-to-jpg.cta":()=>J0,"tool_page.pdf-to-jpg.faq_title":()=>R0,"tool_page.pdf-to-jpg.faqs":()=>B0,"tool_page.pdf-to-jpg.formats":()=>b0,"tool_page.pdf-to-jpg.formats_title":()=>v0,"tool_page.pdf-to-jpg.h1":()=>c0,"tool_page.pdf-to-jpg.intro":()=>u0,"tool_page.pdf-to-jpg.meta_description":()=>
2254o0,"tool_page.pdf-to-jpg.meta_title":()=>i0,"tool_page.pdf-to-jpg.method":()=>H0,"tool_page.pdf-to-jpg.overview":()=>g0,"tool_page.pdf-to-jpg.overview_title":()=>m0,"tool_page.pdf-to-jpg.privacy":()=>I0,"tool_page.pdf-to-jpg.privacy_title":()=>P0,"tool_page.pdf-to-jpg.quality":()=>M0,"tool_page.pdf-to-jpg.quality_title":()=>A0,"tool_page.pdf-to-jpg.related_description":()=>K0,"tool_page.pdf-to-jpg.steps":()=>w0,"tool_page.pdf-to-jpg.steps_title":()=>S0,"tool_page.pdf-to-jpg.uses":()=>O0,"tool_page.pdf-to-jpg.uses_title":()=>E0,"tool_page.pdf-to-jpg.visual_alt":()=>W0,"tool_page.pdf-to-png.benefits":()=>i2,"tool_page.pdf-to-png.cta":()=>B2,"tool_page.pdf-to-png.faq_title":()=>A2,"tool_page.pdf-to-png.faqs":()=>M2,"tool_page.pdf-to-png.formats":()=>f2,"tool_page.pdf-to-png.formats_title":()=>u2,"tool_page.pdf-to-png.h1":()=>e2,"tool_page.pdf-to-png.intro":()=>n2,"tool_page.pdf-to-png.meta_description":()=>Q0,"tool_page.pdf-to-png.meta_title":()=>X0,"tool_page.pdf-to-png.method":()=>P2,"tool_page.pdf-to-png.overview":()=>c2,"tool_page.pdf-to-png.overview_title":()=>o2,"tool_page.pdf-to-png.privacy":()=>O2,"tool_page.pdf-to-png.privacy_title":()=>E2,"tool_page.pdf-to-png.quality":()=>w2,"tool_page.pdf-to-png.quality_title":()=>S2,"tool_page.pdf-to-png.related_description":()=>R2,"tool_page.pdf-to-png.steps":()=>g2,"tool_page.pdf-to-png.steps_title":()=>m2,"tool_page.pdf-to-png.uses":()=>b2,"tool_page.pdf-to-png.uses_title":()=>v2,"tool_page.pdf-to-png.visual_alt":()=>I2,"tool_page.pdf-to-ppt.benefits":()=>u5,"tool_page.pdf-to-ppt.cta":()=>Mne,"tool_page.pdf-to-ppt.faq_title":()=>I5,"tool_page.pdf-to-ppt.faqs":()=>wne,"tool_page.pdf-to-ppt.formats":()=>v5,"tool_page.pdf-to-ppt.formats_title":()=>g5,"tool_page.pdf-to-ppt.h1":()=>o5,"tool_page.pdf-to-ppt.intro":()=>c5,"tool_page.pdf-to-ppt.meta_description":()=>i5,"tool_page.pdf-to-ppt.meta_title":()=>n5,"tool_page.pdf-to-ppt.method":()=>Ene,"tool_page.pdf-to-ppt.overview":()=>m5,"tool_page.pdf-to-ppt.overview_title":()=>f5,"tool_page.pdf-to-ppt.privacy":()=>P5,"tool_page.pdf-to-ppt.privacy_title":()=>M5,"tool_page.pdf-to-ppt.quality":()=>A5,"tool_page.pdf-to-ppt.quality_title":()=>O5,"tool_page.pdf-to-ppt.related_description":()=>Ane,"tool_page.pdf-to-ppt.steps":()=>S5,"tool_page.pdf-to-ppt.steps_title":()=>b5,"tool_page.pdf-to-ppt.uses":()=>E5,"tool_page.pdf-to-ppt.uses_title":()=>w5,"tool_page.pdf-to-ppt.visual_alt":()=>One,"tool_page.pdf-to-word.benefits":()=>Jse,"tool_page.pdf-to-word.cta":()=>Ace,"tool_page.pdf-to-word.faq_title":()=>bce,"tool_page.pdf-to-word.faqs":()=>Sce,"tool_page.pdf-to-word.formats":()=>nce,"tool_page.pdf-to-word.formats_title":()=>ece,"tool_page.pdf-to-word.h1":()=>Wse,"tool_page.pdf-to-word.intro":()=>Kse,"tool_page.pdf-to-word.meta_description":()=>Hse,"tool_page.pdf-to-word.meta_title":()=>Bse,"tool_page.pdf-to-word.method":()=>wce,"tool_page.pdf-to-word.overview":()=>Qse,"tool_page.pdf-to-word.overview_title":()=>Xse,"tool_page.pdf-to-word.privacy":()=>vce,"tool_page.pdf-to-word.privacy_title":()=>gce,"tool_page.pdf-to-word.quality":()=>mce,"tool_page.pdf-to-word.quality_title":()=>fce,"tool_page.pdf-to-word.related_description":()=>Oce,"tool_page.pdf-to-word.steps":()=>oce,"tool_page.pdf-to-word.steps_title":()=>ice,"tool_page.pdf-to-word.uses":()=>uce,"tool_page.pdf-to-word.uses_title":()=>cce,"tool_page.pdf-to-word.visual_alt":()=>Ece,"tool_page.png-to-pdf.benefits":()=>Eie,"tool_page.png-to-pdf.cta":()=>cae,"tool_page.png-to-pdf.faq_title":()=>Qie,"tool_page.png-to-pdf.faqs":()=>eae,"tool_page.png-to-pdf.formats":()=>Pie,"tool_page.png-to-pdf.formats_title":()=>Mie,"tool_page.png-to-pdf.h1":()=>Sie,"tool_page.png-to-pdf.intro":()=>wie,"tool_page.png-to-pdf.meta_description":()=>bie,"tool_page.png-to-pdf.meta_title":()=>vie,"tool_page.png-to-pdf.method":()=>nae,"tool_page.png-to-pdf.overview":()=>Aie,"tool_page.png-to-pdf.overview_title":()=>Oie,"tool_page.png-to-pdf.privacy":()=>Xie,"tool_page.png-to-pdf.privacy_title":()=>Jie,"tool_page.png-to-pdf.quality":()=>Kie,"tool_page.png-to-pdf.quality_title":()=>Wie,"tool_page.png-to-pdf.related_description":()=>
2254oae,"tool_page.png-to-pdf.steps":()=>Rie,"tool_page.png-to-pdf.steps_title":()=>Iie,"tool_page.png-to-pdf.uses":()=>Hie,"tool_page.png-to-pdf.uses_title":()=>Bie,"tool_page.png-to-pdf.visual_alt":()=>iae,"tool_page.ppt-to-pdf.benefits":()=>Pre,"tool_page.ppt-to-pdf.cta":()=>gie,"tool_page.ppt-to-pdf.faq_title":()=>oie,"tool_page.ppt-to-pdf.faqs":()=>cie,"tool_page.ppt-to-pdf.formats":()=>Hre,"tool_page.ppt-to-pdf.formats_title":()=>Bre,"tool_page.ppt-to-pdf.h1":()=>Are,"tool_page.ppt-to-pdf.intro":()=>Mre,"tool_page.ppt-to-pdf.meta_description":()=>Ore,"tool_page.ppt-to-pdf.meta_title":()=>Ere,"tool_page.ppt-to-pdf.method":()=>uie,"tool_page.ppt-to-pdf.overview":()=>Rre,"tool_page.ppt-to-pdf.overview_title":()=>Ire,"tool_page.ppt-to-pdf.privacy":()=>iie,"tool_page.ppt-to-pdf.privacy_title":()=>nie,"tool_page.ppt-to-pdf.quality":()=>eie,"tool_page.ppt-to-pdf.quality_title":()=>Qre,"tool_page.ppt-to-pdf.related_description":()=>mie,"tool_page.ppt-to-pdf.steps":()=>Kre,"tool_page.ppt-to-pdf.steps_title":()=>Wre,"tool_page.ppt-to-pdf.uses":()=>Xre,"tool_page.ppt-to-pdf.uses_title":()=>Jre,"tool_page.ppt-to-pdf.visual_alt":()=>fie,"tool_page.protect-pdf.benefits":()=>cFe,"tool_page.protect-pdf.cta":()=>WFe,"tool_page.protect-pdf.faq_title":()=>PFe,"tool_page.protect-pdf.faqs":()=>IFe,"tool_page.protect-pdf.formats":()=>gFe,"tool_page.protect-pdf.formats_title":()=>mFe,"tool_page.protect-pdf.h1":()=>iFe,"tool_page.protect-pdf.intro":()=>oFe,"tool_page.protect-pdf.meta_description":()=>nFe,"tool_page.protect-pdf.meta_title":()=>eFe,"tool_page.protect-pdf.method":()=>RFe,"tool_page.protect-pdf.overview":()=>fFe,"tool_page.protect-pdf.overview_title":()=>uFe,"tool_page.protect-pdf.privacy":()=>MFe,"tool_page.protect-pdf.privacy_title":()=>AFe,"tool_page.protect-pdf.quality":()=>OFe,"tool_page.protect-pdf.quality_title":()=>EFe,"tool_page.protect-pdf.related_description":()=>HFe,"tool_page.protect-pdf.steps":()=>bFe,"tool_page.protect-pdf.steps_title":()=>vFe,"tool_page.protect-pdf.uses":()=>wFe,"tool_page.protect-pdf.uses_title":()=>SFe,"tool_page.protect-pdf.visual_alt":()=>BFe,"tool_page.question-generator.benefits":()=>m_e,"tool_page.question-generator.cta":()=>X_e,"tool_page.question-generator.faq_title":()=>B_e,"tool_page.question-generator.faqs":()=>H_e,"tool_page.question-generator.formats":()=>S_e,"tool_page.question-generator.formats_title":()=>b_e,"tool_page.question-generator.h1":()=>u_e,"tool_page.question-generator.intro":()=>f_e,"tool_page.question-generator.meta_description":()=>c_e,"tool_page.question-generator.meta_title":()=>o_e,"tool_page.question-generator.method":()=>W_e,"tool_page.question-generator.overview":()=>v_e,"tool_page.question-generator.overview_title":()=>g_e,"tool_page.question-generator.privacy":()=>R_e,"tool_page.question-generator.privacy_title":()=>I_e,"tool_page.question-generator.quality":()=>P_e,"tool_page.question-generator.quality_title":()=>M_e,"tool_page.question-generator.related_description":()=>J_e,"tool_page.question-generator.steps":()=>E_e,"tool_page.question-generator.steps_title":()=>w_e,"tool_page.question-generator.uses":()=>A_e,"tool_page.question-generator.uses_title":()=>O_e,"tool_page.question-generator.visual_alt":()=>K_e,"tool_page.redact-pdf.benefits":()=>Oxe,"tool_page.redact-pdf.cta":()=>uSe,"tool_page.redact-pdf.faq_title":()=>eSe,"tool_page.redact-pdf.faqs":()=>nSe,"tool_page.redact-pdf.formats":()=>Ixe,"tool_page.redact-pdf.formats_title":()=>Pxe,"tool_page.redact-pdf.h1":()=>wxe,"tool_page.redact-pdf.intro":()=>Exe,"tool_page.redact-pdf.meta_description":()=>Sxe,"tool_page.redact-pdf.meta_title":()=>bxe,"tool_page.redact-pdf.method":()=>iSe,"tool_page.redact-pdf.overview":()=>Mxe,"tool_page.redact-pdf.overview_title":()=>Axe,"tool_page.redact-pdf.privacy":()=>Qxe,"tool_page.redact-pdf.privacy_title":()=>Xxe,"tool_page.redact-pdf.quality":()=>Jxe,"tool_page.redact-pdf.quality_title":()=>Kxe,"tool_page.redact-pdf.related_description":()=>cSe,"tool_page.redact-pdf.steps":()=>Bxe,"tool_page.redact-pdf.steps_title":()=>Rxe,"tool_page.redact-pdf.uses":()=>Wxe,"tool_page.redact-pdf.uses_title":()=>Hxe,"tool_page.redact-pdf.visual_alt":()=>oSe,"tool_page.rotate-pdf.benefits":()=>ove,"tool_page.rotate-pdf.cta":()=>Hve,"tool_page.rotate-pdf.faq_title":()=>Mve,"tool_page.rotate-pdf.faqs":()=>Pve,"tool_page.rotate-pdf.formats":()=>mve,"tool_page.rotate-pdf.formats_title":()=>fve,"tool_page.rotate-pdf.h1":()=>nve,"tool_page.rotate-pdf.intro":()=>ive,"tool_page.rotate-pdf.meta_description":()=>eve,"tool_page.rotate-pdf.meta_title":()=>Q_e,"tool_page.rotate-pdf.method":()=>Ive,"tool_page.rotate-pdf.overview":()=>uve,"tool_page.rotate-pdf.overview_title":()=>cve,"tool_page.rotate-pdf.privacy":()=>Ave,"tool_page.rotate-pdf.privacy_title":()=>Ove,"tool_page.rotate-pdf.quality":()=>Eve,"tool_page.rotate-pdf.quality_title":()=>wve,"tool_page.rotate-pdf.related_description":()=>Bve,"tool_page.rotate-pdf.steps":()=>vve,"tool_page.rotate-pdf.steps_title":()=>gve,"tool_page.rotate-pdf.uses":()=>Sve,"tool_page.rotate-pdf.uses_title":()=>bve,"tool_page.rotate-pdf.visual_alt":()=>Rve,"tool_page.rtf-to-pdf.benefits":()=>uke,"tool_page.rtf-to-pdf.cta":()=>Kke,"tool_page.rtf-to-pdf.faq_title":()=>Ike,"tool_page.rtf-to-pdf.faqs":()=>Rke,"tool_page.rtf-to-pdf.formats":()=>vke,"tool_page.rtf-to-pdf.formats_title":()=>gke,"tool_page.rtf-to-pdf.h1":()=>
2254oke,"tool_page.rtf-to-pdf.intro":()=>cke,"tool_page.rtf-to-pdf.meta_description":()=>ike,"tool_page.rtf-to-pdf.meta_title":()=>nke,"tool_page.rtf-to-pdf.method":()=>Bke,"tool_page.rtf-to-pdf.overview":()=>mke,"tool_page.rtf-to-pdf.overview_title":()=>fke,"tool_page.rtf-to-pdf.privacy":()=>Pke,"tool_page.rtf-to-pdf.privacy_title":()=>Mke,"tool_page.rtf-to-pdf.quality":()=>Ake,"tool_page.rtf-to-pdf.quality_title":()=>Oke,"tool_page.rtf-to-pdf.related_description":()=>Wke,"tool_page.rtf-to-pdf.steps":()=>Ske,"tool_page.rtf-to-pdf.steps_title":()=>bke,"tool_page.rtf-to-pdf.uses":()=>Eke,"tool_page.rtf-to-pdf.uses_title":()=>wke,"tool_page.rtf-to-pdf.visual_alt":()=>Hke,"tool_page.share-document.benefits":()=>fCe,"tool_page.share-document.cta":()=>JCe,"tool_page.share-document.faq_title":()=>RCe,"tool_page.share-document.faqs":()=>BCe,"tool_page.share-document.formats":()=>bCe,"tool_page.share-document.formats_title":()=>vCe,"tool_page.share-document.h1":()=>cCe,"tool_page.share-document.intro":()=>uCe,"tool_page.share-document.meta_description":()=>oCe,"tool_page.share-document.meta_title":()=>iCe,"tool_page.share-document.method":()=>HCe,"tool_page.share-document.overview":()=>gCe,"tool_page.share-document.overview_title":()=>mCe,"tool_page.share-document.privacy":()=>ICe,"tool_page.share-document.privacy_title":()=>PCe,"tool_page.share-document.quality":()=>MCe,"tool_page.share-document.quality_title":()=>ACe,"tool_page.share-document.related_description":()=>KCe,"tool_page.share-document.steps":()=>wCe,"tool_page.share-document.steps_title":()=>SCe,"tool_page.share-document.uses":()=>OCe,"tool_page.share-document.uses_title":()=>ECe,"tool_page.share-document.visual_alt":()=>WCe,"tool_page.sign-pdf.benefits":()=>wue,"tool_page.sign-pdf.cta":()=>ode,"tool_page.sign-pdf.faq_title":()=>Xue,"tool_page.sign-pdf.faqs":()=>Que,"tool_page.sign-pdf.formats":()=>Mue,"tool_page.sign-pdf.formats_title":()=>Aue,"tool_page.sign-pdf.h1":()=>bue,"tool_page.sign-pdf.intro":()=>Sue,"tool_page.sign-pdf.meta_description":()=>vue,"tool_page.sign-pdf.meta_title":()=>gue,"tool_page.sign-pdf.method":()=>ede,"tool_page.sign-pdf.overview":()=>Oue,"tool_page.sign-pdf.overview_title":()=>Eue,"tool_page.sign-pdf.privacy":()=>Jue,"tool_page.sign-pdf.privacy_title":()=>Kue,"tool_page.sign-pdf.quality":()=>Wue,"tool_page.sign-pdf.quality_title":()=>Hue,"tool_page.sign-pdf.related_description":()=>ide,"tool_page.sign-pdf.steps":()=>Iue,"tool_page.sign-pdf.steps_title":()=>Pue,"tool_page.sign-pdf.uses":()=>Bue,"tool_page.sign-pdf.uses_title":()=>Rue,"tool_page.sign-pdf.visual_alt":()=>nde,"tool_page.split-pdf.benefits":()=>IQ,"tool_page.split-pdf.cta":()=>v$,"tool_page.split-pdf.faq_title":()=>c$,"tool_page.split-pdf.faqs":()=>u$,"tool_page.split-pdf.formats":()=>WQ,"tool_page.split-pdf.formats_title":()=>HQ,"tool_page.split-pdf.h1":()=>MQ,"tool_page.split-pdf.intro":()=>PQ,"tool_page.split-pdf.meta_description":()=>AQ,"tool_page.split-pdf.meta_title":()=>OQ,"tool_page.split-pdf.method":()=>f$,"tool_page.split-pdf.overview":()=>BQ,"tool_page.split-pdf.overview_title":()=>RQ,"tool_page.split-pdf.privacy":()=>o$,"tool_page.split-pdf.privacy_title":()=>i$,"tool_page.split-pdf.quality":()=>n$,"tool_page.split-pdf.quality_title":()=>e$,"tool_page.split-pdf.related_description":()=>g$,"tool_page.split-pdf.steps":()=>JQ,"tool_page.split-pdf.steps_title":()=>KQ,"tool_page.split-pdf.uses":()=>QQ,"tool_page.split-pdf.uses_title":()=>XQ,"tool_page.split-pdf.visual_alt":()=>m$,"tool_page.tiff-to-pdf.benefits":()=>vae,"tool_page.tiff-to-pdf.cta":()=>eoe,"tool_page.tiff-to-pdf.faq_title":()=>Wae,"tool_page.tiff-to-pdf.faqs":()=>Kae,"tool_page.tiff-to-pdf.formats":()=>Eae,"tool_page.tiff-to-pdf.formats_title":()=>wae,"tool_page.tiff-to-pdf.h1":()=>mae,"tool_page.tiff-to-pdf.intro":()=>gae,"tool_page.tiff-to-pdf.meta_description":()=>fae,"tool_page.tiff-to-pdf.meta_title":()=>uae,"tool_page.tiff-to-pdf.method":()=>Jae,"tool_page.tiff-to-pdf.overview":()=>Sae,"tool_page.tiff-to-pdf.overview_title":()=>bae,"tool_page.tiff-to-pdf.privacy":()=>Hae,"tool_page.tiff-to-pdf.privacy_title":()=>Bae,"tool_page.tiff-to-pdf.quality":()=>Rae,"tool_page.tiff-to-pdf.quality_title":()=>Iae,"tool_page.tiff-to-pdf.related_description":()=>Qae,"tool_page.tiff-to-pdf.steps":()=>Aae,"tool_page.tiff-to-pdf.steps_title":()=>Oae,"tool_page.tiff-to-pdf.uses":()=>Pae,"tool_page.tiff-to-pdf.uses_title":()=>Mae,"tool_page.tiff-to-pdf.visual_alt":()=>Xae,"tool_page.translate-pdf.benefits":()=>Sge,"tool_page.translate-pdf.cta":()=>i_e,"tool_page.translate-pdf.faq_title":()=>Jge,"tool_page.translate-pdf.faqs":()=>Xge,"tool_page.translate-pdf.formats":()=>Age,"tool_page.translate-pdf.formats_title":()=>Oge,"tool_page.translate-pdf.h1":()=>vge,"tool_page.translate-pdf.intro":()=>bge,"tool_page.translate-pdf.meta_description":()=>gge,"tool_page.translate-pdf.meta_title":()=>mge,"tool_page.translate-pdf.method":()=>Qge,"tool_page.translate-pdf.overview":()=>Ege,"tool_page.translate-pdf.overview_title":()=>wge,"tool_page.translate-pdf.privacy":()=>Kge,"tool_page.translate-pdf.privacy_title":()=>Wge,"tool_page.translate-pdf.quality":()=>Hge,"tool_page.translate-pdf.quality_title":()=>Bge,"tool_page.translate-pdf.related_description":()=>n_e,"tool_page.translate-pdf.steps":()=>Pge,"tool_page.translate-pdf.steps_title":()=>Mge,"tool_page.translate-pdf.uses":()=>Rge,"tool_page.translate-pdf.uses_title":()=>Ige,"tool_page.translate-pdf.visual_alt":()=>e_e,"tool_page.txt-to-pdf.benefits":()=>vOe,"tool_page.txt-to-pdf.cta":()=>eke,"tool_page.txt-to-pdf.faq_title":()=>WOe,"tool_page.txt-to-pdf.faqs":()=>KOe,"tool_page.txt-to-pdf.formats":()=>EOe,"tool_page.txt-to-pdf.formats_title":()=>wOe,"tool_page.txt-to-pdf.h1":()=>mOe,"tool_page.txt-to-pdf.intro":()=>gOe,"tool_page.txt-to-pdf.meta_description":()=>fOe,"tool_page.txt-to-pdf.meta_title":()=>uOe,"tool_page.txt-to-pdf.method":()=>JOe,"tool_page.txt-to-pdf.overview":()=>SOe,"tool_page.txt-to-pdf.overview_title":()=>bOe,"tool_page.txt-to-pdf.privacy":()=>HOe,"tool_page.txt-to-pdf.privacy_title":()=>BOe,"tool_page.txt-to-pdf.quality":()=>ROe,"tool_page.txt-to-pdf.quality_title":()=>IOe,"tool_page.txt-to-pdf.related_description":()=>QOe,"tool_page.txt-to-pdf.steps":()=>AOe,"tool_page.txt-to-pdf.steps_title":()=>OOe,"tool_page.txt-to-pdf.uses":()=>POe,"tool_page.txt-to-pdf.uses_title":()=>MOe,"tool_page.txt-to-pdf.visual_alt":()=>XOe,"tool_page.unlock-pdf.benefits":()=>v8,"tool_page.unlock-pdf.cta":()=>e5,"tool_page.unlock-pdf.faq_title":()=>W8,"tool_page.unlock-pdf.faqs":()=>K8,"tool_page.unlock-pdf.formats":()=>E8,"tool_page.unlock-pdf.formats_title":()=>w8,"tool_page.unlock-pdf.h1":()=>m8,"tool_page.unlock-pdf.intro":()=>g8,"tool_page.unlock-pdf.meta_description":()=>f8,"tool_page.unlock-pdf.meta_title":()=>u8,"tool_page.unlock-pdf.method":()=>J8,"tool_page.unlock-pdf.overview":()=>S8,"tool_page.unlock-pdf.overview_title":()=>b8,"tool_page.unlock-pdf.privacy":()=>H8,"tool_page.unlock-pdf.privacy_title":()=>B8,"tool_page.unlock-pdf.quality":()=>R8,"tool_page.unlock-pdf.quality_title":()=>I8,"tool_page.unlock-pdf.related_description":()=>Q8,"tool_page.unlock-pdf.steps":()=>A8,"tool_page.unlock-pdf.steps_title":()=>O8,"tool_page.unlock-pdf.uses":()=>P8,"tool_page.unlock-pdf.uses_title":()=>M8,"tool_page.unlock-pdf.visual_alt":()=>X8,"tool_page.watermark-pdf.benefits":()=>bSe,"tool_page.watermark-pdf.cta":()=>nCe,"tool_page.watermark-pdf.faq_title":()=>KSe,"tool_page.watermark-pdf.faqs":()=>JSe,"tool_page.watermark-pdf.formats":()=>OSe,"tool_page.watermark-pdf.formats_title":()=>ESe,"tool_page.watermark-pdf.h1":()=>gSe,"tool_page.watermark-pdf.intro":()=>vSe,"tool_page.watermark-pdf.meta_description":()=>mSe,"tool_page.watermark-pdf.meta_title":()=>fSe,"tool_page.watermark-pdf.method":()=>XSe,"tool_page.watermark-pdf.overview":()=>wSe,"tool_page.watermark-pdf.overview_title":()=>SSe,"tool_page.watermark-pdf.privacy":()=>WSe,"tool_page.watermark-pdf.privacy_title":()=>HSe,"tool_page.watermark-pdf.quality":()=>BSe,"tool_page.watermark-pdf.quality_title":()=>RSe,"tool_page.watermark-pdf.related_description":()=>eCe,"tool_page.watermark-pdf.steps":()=>MSe,"tool_page.watermark-pdf.steps_title":()=>ASe,"tool_page.watermark-pdf.uses":()=>ISe,"tool_page.watermark-pdf.uses_title":()=>PSe,"tool_page.watermark-pdf.visual_alt":()=>QSe,"tool_page.webp-to-pdf.benefits":()=>EDe,"tool_page.webp-to-pdf.cta":()=>cOe,"tool_page.webp-to-pdf.faq_title":()=>QDe,"tool_page.webp-to-pdf.faqs":()=>eOe,"tool_page.webp-to-pdf.formats":()=>PDe,"tool_page.webp-to-pdf.formats_title":()=>MDe,"tool_page.webp-to-pdf.h1":()=>SDe,"tool_page.webp-to-pdf.intro":()=>wDe,"tool_page.webp-to-pdf.meta_description":()=>bDe,"tool_page.webp-to-pdf.meta_title":()=>vDe,"tool_page.webp-to-pdf.method":()=>nOe,"tool_page.webp-to-pdf.overview":()=>ADe,"tool_page.webp-to-pdf.overview_title":()=>ODe,"tool_page.webp-to-pdf.privacy":()=>XDe,"tool_page.webp-to-pdf.privacy_title":()=>JDe,"tool_page.webp-to-pdf.quality":()=>KDe,"tool_page.webp-to-pdf.quality_title":()=>WDe,"tool_page.webp-to-pdf.related_description":()=>
2254oOe,"tool_page.webp-to-pdf.steps":()=>RDe,"tool_page.webp-to-pdf.steps_title":()=>IDe,"tool_page.webp-to-pdf.uses":()=>HDe,"tool_page.webp-to-pdf.uses_title":()=>BDe,"tool_page.webp-to-pdf.visual_alt":()=>iOe,"tool_page.word-to-pdf.benefits":()=>Bce,"tool_page.word-to-pdf.cta":()=>Sle,"tool_page.word-to-pdf.faq_title":()=>fle,"tool_page.word-to-pdf.faqs":()=>mle,"tool_page.word-to-pdf.formats":()=>Jce,"tool_page.word-to-pdf.formats_title":()=>Kce,"tool_page.word-to-pdf.h1":()=>Ice,"tool_page.word-to-pdf.intro":()=>Rce,"tool_page.word-to-pdf.meta_description":()=>Pce,"tool_page.word-to-pdf.meta_title":()=>Mce,"tool_page.word-to-pdf.method":()=>gle,"tool_page.word-to-pdf.overview":()=>Wce,"tool_page.word-to-pdf.overview_title":()=>Hce,"tool_page.word-to-pdf.privacy":()=>ule,"tool_page.word-to-pdf.privacy_title":()=>cle,"tool_page.word-to-pdf.quality":()=>ole,"tool_page.word-to-pdf.quality_title":()=>ile,"tool_page.word-to-pdf.related_description":()=>ble,"tool_page.word-to-pdf.steps":()=>Qce,"tool_page.word-to-pdf.steps_title":()=>Xce,"tool_page.word-to-pdf.uses":()=>nle,"tool_page.word-to-pdf.uses_title":()=>ele,"tool_page.word-to-pdf.visual_alt":()=>vle,"tool_page.zip-to-pdf.benefits":()=>gPe,"tool_page.zip-to-pdf.cta":()=>QPe,"tool_page.zip-to-pdf.faq_title":()=>HPe,"tool_page.zip-to-pdf.faqs":()=>WPe,"tool_page.zip-to-pdf.formats":()=>wPe,"tool_page.zip-to-pdf.formats_title":()=>SPe,"tool_page.zip-to-pdf.h1":()=>fPe,"tool_page.zip-to-pdf.intro":()=>mPe,"tool_page.zip-to-pdf.meta_description":()=>uPe,"tool_page.zip-to-pdf.meta_title":()=>cPe,"tool_page.zip-to-pdf.method":()=>KPe,"tool_page.zip-to-pdf.overview":()=>bPe,"tool_page.zip-to-pdf.overview_title":()=>vPe,"tool_page.zip-to-pdf.privacy":()=>BPe,"tool_page.zip-to-pdf.privacy_title":()=>RPe,"tool_page.zip-to-pdf.quality":()=>IPe,"tool_page.zip-to-pdf.quality_title":()=>PPe,"tool_page.zip-to-pdf.related_description":()=>XPe,"tool_page.zip-to-pdf.steps":()=>OPe,"tool_page.zip-to-pdf.steps_title":()=>EPe,"tool_page.zip-to-pdf.uses":()=>MPe,"tool_page.zip-to-pdf.uses_title":()=>APe,"tool_page.zip-to-pdf.visual_alt":()=>JPe}),RIe=I(`/pdf-tools`)({loader:()=>{let e=J();return{title:uJ({},{locale:e}),description:fJ({},{locale:e})}},head:({loaderData:e})=>({meta:e?[{title:e.title},{name:`description`,content:e.description}]:[]}),component:L(()=>R(()=>import(`./pdf-tools-fPWpXPo6.js`),__vite__mapDeps([37,12,1,13,4,8,14,7,34,16,18,2,3,19,5,6,9,20,21,15,22,23,24,25,26])),`component`)}),zIe=I(`/download`)({head:()=>({meta:[{title:`Download TiPDF`},{name:`description`,content:`Explore TiPDF in the browser and preview planned mobile, desktop, and browser-extension experiences.`}]}),component:L(()=>R(()=>import(`./download-DREr36WC.js`),__vite__mapDeps([38,2,1,3,4,12,13,8,14,7,16,34,39,18,19,5,6,9,20,21,15,22,23,24,30,40,41,42,35])),`component`)}),BIe=I(`/about`)({head:()=>({meta:[{title:`About TiPDF`},{name:`description`,content:`Meet TiPDF, an independent PDF workspace designed to make everyday document work feel lighter.`}]}),component:L(()=>R(()=>import(`./about-By31PIzA.js`),__vite__mapDeps([43,2,1,3,4,12,13,8,14,7,16,18,19,5,6,9,20,21,15,22,23,24,42,33,34,44])),`component`)}),Y=e=>e,L5=[Y({slug:`compress-pdf`,name:`Compress PDF`,description:`Reduce the size of your PDF without losing quality.`,category:`compress`,color:`red`,icon:jp,acceptedFiles:`PDF`}),Y({slug:`pdf-converter`,name:`PDF Converter`,description:`Convert files to and from PDF in a few clicks.`,category:`convert`,color:`red`,icon:pp,acceptedFiles:`PDF, Word, Excel, PPT or image`}),Y({slug:`pdf-ocr`,name:`PDF OCR`,description:`Turn scans and images into searchable PDF text.`,category:`convert`,color:`red`,icon:Ip,acceptedFiles:`PDF or image`}),Y({slug:`ai-pdf`,name:`AI PDF Assistant`,description:`Understand long documents with a helpful AI assistant.`,category:`ai`,color:`blue`,icon:ip,acceptedFiles:`PDF`}),Y({slug:`chat-pdf`,name:`Chat with PDF`,description:`Ask questions and get answers from your document.`,category:`ai`,color:`blue`,icon:Ap,acceptedFiles:`PDF`}),Y({slug:`pdf-summarizer`,name:`AI PDF Summarizer`,description:`Create clear summaries from lengthy PDF files.`,category:`ai`,color:`blue`,icon:Ep,acceptedFiles:`PDF`}),Y({slug:`translate-pdf`,name:`Translate PDF`,description:`Translate PDF content while keeping it easy to read.`,category:`ai`,color:`blue`,icon:wp,acceptedFiles:`PDF`}),Y({slug:`question-generator`,name:`AI Question Generator`,description:`Generate useful questions from any document.`,category:`ai`,color:`blue`,icon:hp,acceptedFiles:`PDF`}),Y({slug:`merge-pdf`,name:`Merge PDF`,description:`Combine multiple PDFs into one unified document.`,category:`organize`,color:`purple`,icon:sp,acceptedFiles:`PDF`}),Y({slug:`split-pdf`,name:`Split PDF`,description:`Separate pages into individual PDF documents.`,category:`organize`,color:`purple`,icon:Lp,acceptedFiles:`PDF`}),Y({slug:`rotate-pdf`,name:`Rotate PDF`,description:`Turn individual pages or the complete document.`,category:`organize`,color:`purple`,icon:Pp,acceptedFiles:`PDF`}),Y({slug:`delete-pages-from-pdf`,name:`Delete PDF Pages`,description:`Remove the PDF pages you no longer need.`,category:`organize`,color:`purple`,icon:Vp,acceptedFiles:`PDF`}),Y({slug:`extract-pdf-pages`,name:`Extract PDF Pages`,description:`Save selected pages as a separate PDF.`,category:`organize`,color:`purple`,icon:yp,acceptedFiles:`PDF`}),Y({slug:`organize-pdf`,name:`Organize PDF`,description:`Reorder, rotate, add and remove PDF pages.`,category:`organize`,color:`purple`,icon:vp,acceptedFiles:`PDF`}),Y({slug:`edit-pdf`,name:`Edit PDF`,description:`Add text, images, shapes and freehand notes.`,category:`view-edit`,color:`teal`,icon:mp,acceptedFiles:`PDF`}),Y({slug:`pdf-annotator`,name:`PDF Annotator`,description:`Highlight, draw and add comments to a PDF.`,category:`view-edit`,color:`teal`,icon:xp,acceptedFiles:`PDF`}),Y({slug:`pdf-reader`,name:`PDF Reader`,description:`Open and read PDF files in a clean browser viewer.`,category:`view-edit`,color:`teal`,icon:rp,acceptedFiles:`PDF`}),Y({slug:`add-page-numbers-to-pdf`,name:`Number Pages`,description:`Add flexible page numbering to your document.`,category:`view-edit`,color:`teal`,icon:bp,acceptedFiles:`PDF`}),Y({slug:`crop-pdf`,name:`Crop PDF`,description:`Trim PDF pages to the exact area you need.`,category:`view-edit`,color:`teal`,icon:cp,acceptedFiles:`PDF`}),Y({slug:`redact-pdf`,name:`Redact PDF`,description:`Permanently hide sensitive content in a PDF.`,category:`view-edit`,color:`teal`,icon:zp,acceptedFiles:`PDF`}),Y({slug:`watermark-pdf`,name:`Watermark PDF`,description:`Place a custom text or image watermark on pages.`,category:`view-edit`,color:`teal`,icon:Bp,acceptedFiles:`PDF`}),Y({slug:`pdf-form-filler`,name:`PDF Form Filler`,description:`Complete and sign PDF forms online.`,category:`view-edit`,color:`teal`,icon:op,acceptedFiles:`PDF`}
2254),Y({slug:`share-document`,name:`Share PDF`,description:`Create a simple link for sharing your PDF.`,category:`view-edit`,color:`teal`,icon:Rp,acceptedFiles:`PDF`}),Y({slug:`pdf-to-word`,name:`PDF to Word`,description:`Convert PDFs to editable Word documents.`,category:`from-pdf`,color:`blue`,icon:_p,acceptedFiles:`PDF`}),Y({slug:`pdf-to-excel`,name:`PDF to Excel`,description:`Turn PDF tables into editable spreadsheets.`,category:`from-pdf`,color:`green`,icon:gp,acceptedFiles:`PDF`}),Y({slug:`pdf-to-ppt`,name:`PDF to PPT`,description:`Convert PDF pages into PowerPoint slides.`,category:`from-pdf`,color:`orange`,icon:Np,acceptedFiles:`PDF`}),Y({slug:`pdf-to-jpg`,name:`PDF to JPG`,description:`Export PDF pages as high-quality image files.`,category:`from-pdf`,color:`yellow`,icon:dp,acceptedFiles:`PDF`}),Y({slug:`pdf-to-png`,name:`PDF to PNG`,description:`Convert PDF pages into lossless, high-quality PNG images.`,category:`from-pdf`,color:`yellow`,icon:dp,acceptedFiles:`PDF`}),Y({slug:`word-to-pdf`,name:`Word to PDF`,description:`Convert Word documents into dependable PDFs.`,category:`to-pdf`,color:`blue`,icon:fp,acceptedFiles:`DOC or DOCX`}),Y({slug:`excel-to-pdf`,name:`Excel to PDF`,description:`Convert Excel sheets into clean PDF files.`,category:`to-pdf`,color:`green`,icon:gp,acceptedFiles:`XLS or XLSX`}),Y({slug:`ppt-to-pdf`,name:`PPT to PDF`,description:`Convert PowerPoint slides into a PDF.`,category:`to-pdf`,color:`orange`,icon:Np,acceptedFiles:`PPT or PPTX`}),Y({slug:`jpg-to-pdf`,name:`JPG to PDF`,description:`Transform JPG, PNG and other images to PDF.`,category:`to-pdf`,color:`yellow`,icon:Sp,acceptedFiles:`JPG, PNG, BMP, GIF or TIFF`}),Y({slug:`image-pdf`,name:`Image to PDF`,description:`Combine common image formats into a PDF.`,category:`to-pdf`,color:`yellow`,icon:Sp,acceptedFiles:`Image`}),Y({slug:`bmp-to-pdf`,name:`BMP to PDF`,description:`Convert bitmap images to a PDF document.`,category:`to-pdf`,color:`yellow`,icon:Sp,acceptedFiles:`BMP`}),Y({slug:`gif-to-pdf`,name:`GIF to PDF`,description:`Convert GIF images to a PDF document.`,category:`to-pdf`,color:`yellow`,icon:Sp,acceptedFiles:`GIF`}),Y({slug:`heic-to-pdf`,name:`HEIC to PDF`,description:`Convert HEIC photos to an accessible PDF.`,category:`to-pdf`,color:`yellow`,icon:Sp,acceptedFiles:`HEIC`}),Y({slug:`png-to-pdf`,name:`PNG to PDF`,description:`Convert transparent PNG images to a PDF.`,category:`to-pdf`,color:`yellow`,icon:Sp,acceptedFiles:`PNG`}),Y({slug:`tiff-to-pdf`,name:`TIFF to PDF`,description:`Convert TIFF scans and images to PDF.`,category:`to-pdf`,color:`yellow`,icon:Sp,acceptedFiles:`TIFF`}),Y({slug:`webp-to-pdf`,name:`WebP to PDF`,description:`Convert efficient WebP images into a PDF.`,category:`to-pdf`,color:`yellow`,icon:Sp,acceptedFiles:`WebP`}),Y({slug:`txt-to-pdf`,name:`TXT to PDF`,description:`Convert a plain text document into a PDF.`,category:`to-pdf`,color:`blue`,icon:Up,acceptedFiles:`TXT`}),Y({slug:`markdown-to-pdf`,name:`Markdown to PDF`,description:`Turn Markdown into a clean PDF with headings, lists, quotes, and code.`,category:`to-pdf`,color:`blue`,icon:_p,acceptedFiles:`MD or Markdown`}),Y({slug:`rtf-to-pdf`,name:`RTF to PDF`,description:`Convert rich text documents into PDF.`,category:`to-pdf`,color:`blue`,icon:_p,acceptedFiles:`RTF`}),Y({slug:`odt-to-pdf`,name:`ODT to PDF`,description:`Convert OpenDocument text files to PDF.`,category:`to-pdf`,color:`blue`,icon:_p,acceptedFiles:`ODT`}),Y({slug:`odp-to-pdf`,name:`ODP to PDF`,description:`Convert OpenDocument presentations to PDF.`,category:`to-pdf`,color:`orange`,icon:Np,acceptedFiles:`ODP`}),Y({slug:`ods-to-pdf`,name:`ODS to PDF`,description:`Convert OpenDocument spreadsheets to PDF.`,category:`to-pdf`,color:`green`,icon:gp,acceptedFiles:`ODS`}),Y({slug:`hwp-to-pdf`,name:`HWP to PDF`,description:`Convert HWP documents into shareable PDF files.`,category:`to-pdf`,color:`blue`,icon:_p,acceptedFiles:`HWP`}),Y({slug:`html-to-pdf`,name:`HTML to PDF`,description:`Save an HTML document or web page as PDF.`,category:`to-pdf`,color:`blue`,icon:_p,acceptedFiles:`HTML`}),Y({slug:`epub-to-pdf`,name:`EPUB to PDF`,description:`Convert an ebook file into a readable PDF.`,category:`to-pdf`,color:`blue`,icon:rp,acceptedFiles:`EPUB`}),Y({slug:`zip-to-pdf`,name:`ZIP to PDF`,description:`Turn supported files from a ZIP archive into PDF.`,category:`to-pdf`,color:`ink`,icon:lp,acceptedFiles:`ZIP`}),Y({slug:`sign-pdf`,name:`Sign PDF`,description:`Add your signature and initials to a PDF.`,category:`sign-security`,color:`pink`,icon:up,acceptedFiles:`PDF`}),Y({slug:`unlock-pdf`,name:`Unlock PDF`,description:`Remove a password when you have permission.`,category:`sign-security`,color:`pink`,icon:Op,acceptedFiles:`PDF`}),Y({slug:`protect-pdf`,name:`Protect PDF`,description:`Add password protection to a PDF document.`,category:`sign-security`,color:`pink`,icon:kp,acceptedFiles:`PDF`}),Y({slug:`flatten-pdf`,name:`Flatten PDF`,description:`Make annotations and form fields permanent.`,category:`sign-security`,color:`pink`,icon:Tp,acceptedFiles:`PDF`}),Y({slug:`pdf-scanner`,name:`PDF Scanner`,description:`Scan documents into clear PDF files.`,category:`scan`,color:`blue`,icon:Fp,acceptedFiles:`Image`})],VIe=new Map([[`flatten`,`/flatten-pdf`],[`pdf-image`,`/pdf-to-jpg`],[`wand-pdf`,`/ai-pdf`]]),HIe=new Set([`shared`,`file`]),R5=new Map(L5.map(e=>[e.slug,e])),UIe=[{id:`compress`,title:`Compress`},{id:`convert`,title:`Convert`},{id:`ai`,title:`AI PDF`},{id:`organize`,title:`Organize`},{id:`view-edit`,title:`View & Edit`},{id:`from-pdf`,title:`Convert from PDF`},{id:`to-pdf`,title:`Convert to PDF`},{id:`sign-security`,title:`Sign & Security`},{id:`scan`,title:`Scan`}].map(e=>({...e,tools:L5.filter(t=>t.category===e.id)}
2254)),WIe={red:{background:`bg-[#f23030]`,foreground:`text-white`},blue:{background:`bg-[#0055ff]`,foreground:`text-white`},teal:{background:`bg-[#00b8b8]`,foreground:`text-white`},green:{background:`bg-[#00b84a]`,foreground:`text-white`},purple:{background:`bg-[#7448ff]`,foreground:`text-white`},orange:{background:`bg-[#ff8000]`,foreground:`text-white`},yellow:{background:`bg-[#f4b400]`,foreground:`text-white`},pink:{background:`bg-[#ec5ac8]`,foreground:`text-white`},ink:{background:`bg-[#1a1a1a]`,foreground:`text-white`}},GIe=[{title:`Tools`,links:[{label:`Compress PDF`,href:`/compress-pdf`},{label:`PDF Converter`,href:`/pdf-converter`},{label:`Merge PDF`,href:`/merge-pdf`},{label:`Sign PDF`,href:`/sign-pdf`}]},{title:`Company`,links:[{label:`About`,href:`/about`},{label:`Help`,href:`/support`},{label:`Blog`,href:`/blog`},{label:`Privacy`,href:`/privacy-policy`}]},{title:`Product`,links:[{label:`Pricing`,href:`/pricing`},{label:`All PDF Tools`,href:`/pdf-tools`},{label:`PDF OCR`,href:`/pdf-ocr`},{label:`Edit PDF`,href:`/edit-pdf`}]},{title:`Apps`,links:[{label:`Download TiPDF`,href:`/download`},{label:`PDF Scanner`,href:`/pdf-scanner`},{label:`PDF Reader`,href:`/pdf-reader`},{label:`AI PDF Assistant`,href:`/ai-pdf`}]}],X=e=>e,KIe={"compress-pdf":X({priority:`P0`,searchIntent:`Reduce the byte size of one PDF while retaining a usable result.`,primaryKeyword:`compress pdf`,secondaryKeywords:[`pdf compressor`,`reduce pdf size`],supportingKeywords:[`compress pdf online free`,`compress pdf file size`,`compress pdf to 200kb`],capabilitySummary:`Local browser rasterization at three quality levels; returns the original bytes when rasterization would increase the file size.`,relatedSlugs:[`merge-pdf`,`pdf-to-jpg`,`protect-pdf`,`share-document`]}),"pdf-converter":X({priority:`P0`,searchIntent:`Choose a supported source format and convert it to PDF, or turn a PDF into DOCX.`,primaryKeyword:`pdf converter`,secondaryKeywords:[`free pdf converter`,`convert to pdf`],supportingKeywords:[`pdf converter online free`,`file to pdf converter`,`pdf maker`],capabilitySummary:`Routes images through local conversion, PDFs through local text extraction to DOCX, and Office-like formats through the configured Gotenberg service after approval.`,relatedSlugs:[`word-to-pdf`,`pdf-to-word`,`jpg-to-pdf`,`pdf-to-jpg`]}),"pdf-ocr":X({priority:`P0`,searchIntent:`Recognize text in scanned PDFs or images and create searchable PDF and TXT outputs.`,primaryKeyword:`ocr pdf`,secondaryKeywords:[`pdf ocr online`,`searchable pdf`],supportingKeywords:[`ocr pdf to word`,`extract text from scanned pdf`,`free online ocr`],capabilitySummary:`Local Tesseract OCR for English, Simplified Chinese, or both; up to 50 rendered pages per job; produces searchable PDF and plain text.`,relatedSlugs:[`pdf-scanner`,`pdf-to-word`,`pdf-to-excel`,`chat-pdf`]}),"ai-pdf":X({priority:`P2`,searchIntent:`Generate a broad AI analysis of locally extracted PDF text.`,primaryKeyword:`ai pdf`,secondaryKeywords:[`ai pdf reader`,`ai pdf assistant`],supportingKeywords:[`analyze pdf with ai`,`ask pdf ai`,`ai pdf tools`],capabilitySummary:`Extracts text locally, then sends reviewed text to the configured AI provider after explicit approval; returns Markdown insights.`,relatedSlugs:[`chat-pdf`,`pdf-summarizer`,`translate-pdf`,`question-generator`]}),"chat-pdf":X({priority:`P2`,searchIntent:`Ask a focused question and receive an answer grounded in extracted PDF text.`,primaryKeyword:`chat with pdf`,secondaryKeywords:[`chat with pdf ai`,`chatpdf`],supportingKeywords:[`chat with pdf free`,`ask questions about pdf`,`ai document chat`],capabilitySummary:`Extracts embedded text locally and sends the extracted text plus the user question to the configured AI provider after approval.`,relatedSlugs:[`ai-pdf`,`pdf-summarizer`,`translate-pdf`,`pdf-ocr`]}),"pdf-summarizer":X({priority:`P2`,searchIntent:`Create a concise Markdown summary from text already embedded in a PDF.`,primaryKeyword:`pdf summarizer`,secondaryKeywords:[`ai pdf summarizer`,`summarize pdf`],supportingKeywords:[`pdf summarizer free`,`summarize research paper`,`pdf key points`],capabilitySummary:`Extracts PDF text in the browser, sends approved text to the configured AI provider, and downloads the resulting summary as Markdown.`,relatedSlugs:[`chat-pdf`,`ai-pdf`,`question-generator`,`translate-pdf`]}),"translate-pdf":X({priority:`P2`,searchIntent:`Translate extracted PDF text into a selected target language.`,primaryKeyword:`translate pdf`,secondaryKeywords:[`pdf translator`,`translate pdf to english`],supportingKeywords:[`translate pdf free`,`translate scanned pdf`,`preserve pdf layout`],capabilitySummary:`Extracts embedded text locally and sends approved text to the configured AI provider; output is translated Markdown, not a layout-preserved PDF.`,relatedSlugs:[`pdf-ocr`,`chat-pdf`,`pdf-summarizer`,`ai-pdf`]}),"question-generator":X({priority:`P2`,searchIntent:`Generate study and review questions from PDF text.`,primaryKeyword:`ai question generator from pdf`,secondaryKeywords:[`pdf question generator`,`question paper generator from pdf`],supportingKeywords:[`mcq generator from pdf`,`quiz generator from pdf`,`questions and answers from pdf`],capabilitySummary:`Extracts embedded PDF text locally, then uses the configured AI provider after approval to return a Markdown question set.`,relatedSlugs:[`pdf-summarizer`,`chat-pdf`,`ai-pdf`,`pdf-ocr`]}),"merge-pdf":X({priority:`P0`,searchIntent:`Combine two or more PDFs in selection order into one PDF.`,primaryKeyword:`merge pdf`,secondaryKeywords:[`combine pdf`,`pdf merger`],supportingKeywords:[`merge pdf online free`,`combine pdf files`,`join pdf files`],capabilitySummary:`Copies pages from 2â100 PDFs in the browser and writes one merged PDF without rasterizing the pages.`,relatedSlugs:[`split-pdf`,`organize-pdf`,`compress-pdf`,`protect-pdf`]}),"split-pdf":X({priority:`P1`,searchIntent:`Separate selected PDF pages into individual one-page PDF files.`,primaryKeyword:`split pdf`,secondaryKeywords:[`pdf splitter`,`separate pdf pages`],supportingKeywords:[`split pdf online free`,`split pdf into pages`,`split pdf file`],capabilitySummary:`Parses page ranges locally and outputs one single-page PDF artifact for each selected page.`,relatedSlugs:[`extract-pdf-pages`,`merge-pdf`,`organize-pdf`,`delete-pages-from-pdf`]}),"rotate-pdf":X({priority:`P3`,searchIntent:`Rotate all or selected PDF pages and save the rotation.`,primaryKeyword:`rotate pdf`,secondaryKeywords:[`rotate pdf pages`,`rotate pdf online`],supportingKeywords:[`rotate pdf free`,`rotate pdf and save`,`rotate specific pages`],capabilitySummary:`Applies 90, 180, or 270 degree rotation metadata to selected pages locally and saves a new PDF.`,relatedSlugs:[`organize-pdf`,`crop-pdf`,`delete-pages-from-pdf`,`merge-pdf`]}),"delete-pages-from-pdf":X({priority:`P3`,searchIntent:`Remove selected pages while keeping at least one page in the PDF.`,primaryKeyword:`remove pages from pdf`,secondaryKeywords:[`delete pdf pages`,`remove pdf pages`],supportingKeywords:[`remove pages from pdf online free`,`delete page from pdf`,`remove blank pages`],capabilitySummary:`Deletes a validated page range locally; refuses requests that would remove every page.`,relatedSlugs:[`extract-pdf-pages`,`split-pdf`,`organize-pdf`,`rotate-pdf`]}),"extract-pdf-pages":X({priority:`P3`,searchIntent:`Copy selected pages into one new PDF in the requested order.`,primaryKeyword:`extract pages from pdf`,secondaryKeywords:[`save pdf pages`,`extract pdf pages online`],supportingKeywords:[`extract pages from pdf free`,`save selected pages`,`copy pages from pdf`],capabilitySummary:`Copies a selected page range into a single new PDF locally, unlike Split PDF which creates one file per page.`,relatedSlugs:[`split-pdf`,`delete-pages-from-pdf`,`organize-pdf`,`merge-pdf`]}),"organize-pdf":X({priority:`P2`,searchIntent:`Reorder every page in a PDF into a user-specified sequence.`,primaryKeyword:`organize pdf`,secondaryKeywords:[`reorder pdf pages`,`rearrange pdf pages`],supportingKeywords:[`organize pdf online free`,`reorder pages in pdf`,`sort pdf pages`],capabilitySummary:`Requires an order containing every page exactly once, copies pages locally, and outputs the reordered PDF.`,relatedSlugs:[`rotate-pdf`,`delete-pages-from-pdf`,`extract-pdf-pages`,`merge-pdf`]}),"edit-pdf":X({priority:`P0`,searchIntent:`Add a new text note to selected PDF pages without changing existing page text.`,primaryKeyword:`pdf editor`,
2254secondaryKeywords:[`edit pdf`,`free pdf editor`],supportingKeywords:[`edit pdf online free`,`edit pdf text`,`pdf editor no signup`],capabilitySummary:`Adds new Helvetica text at a fixed upper-left position on selected pages locally; it does not edit, delete, or reflow existing PDF text.`,relatedSlugs:[`pdf-annotator`,`pdf-form-filler`,`sign-pdf`,`watermark-pdf`]}),"pdf-annotator":X({priority:`P1`,searchIntent:`Place a visible review note on selected PDF pages.`,primaryKeyword:`pdf annotator`,secondaryKeywords:[`annotate pdf online`,`highlight pdf`],supportingKeywords:[`pdf annotator free`,`draw on pdf`,`add comments to pdf`],capabilitySummary:`Adds a blue text annotation at a fixed position on selected pages; current controls do not provide highlighting, drawing, or threaded comments.`,relatedSlugs:[`edit-pdf`,`watermark-pdf`,`sign-pdf`,`flatten-pdf`]}),"pdf-reader":X({priority:`P1`,searchIntent:`Validate and open a local PDF in the browser without modifying it.`,primaryKeyword:`pdf reader`,secondaryKeywords:[`pdf viewer`,`open pdf online`],supportingKeywords:[`free pdf reader`,`online pdf viewer`,`read pdf online`],capabilitySummary:`Loads and validates up to 500 pages locally, reports the page count, and returns the unchanged original PDF for viewing or download.`,relatedSlugs:[`pdf-annotator`,`edit-pdf`,`chat-pdf`,`pdf-ocr`]}),"add-page-numbers-to-pdf":X({priority:`P3`,searchIntent:`Add sequential page numbers to all or selected PDF pages.`,primaryKeyword:`add page numbers to pdf`,secondaryKeywords:[`pdf page numbering`,`number pdf pages`],supportingKeywords:[`add page numbers to pdf online free`,`page number pdf`,`add header footer pdf`],capabilitySummary:`Draws centered footer numbers on selected pages locally with a configurable starting number; it does not add headers or custom positions.`,relatedSlugs:[`watermark-pdf`,`organize-pdf`,`edit-pdf`,`flatten-pdf`]}),"crop-pdf":X({priority:`P1`,searchIntent:`Inset the visible crop box of selected PDF pages by a uniform margin.`,primaryKeyword:`crop pdf`,secondaryKeywords:[`pdf cropper`,`trim pdf margins`],supportingKeywords:[`crop pdf online free`,`resize pdf page`,`crop all pdf pages`],capabilitySummary:`Adjusts the PDF crop box locally by a chosen point margin on selected pages; it does not rescale page contents.`,relatedSlugs:[`rotate-pdf`,`organize-pdf`,`pdf-to-jpg`,`compress-pdf`]}),"redact-pdf":X({priority:`P2`,searchIntent:`Permanently cover a specified rectangular area on selected pages.`,primaryKeyword:`redact pdf`,secondaryKeywords:[`pdf redactor`,`redact pdf online`],supportingKeywords:[`redact pdf free`,`remove sensitive information`,`permanent pdf redaction`],capabilitySummary:`Rasterizes every page, paints one validated black rectangle on each selected page, and saves an image-based PDF so covered source objects are removed.`,relatedSlugs:[`protect-pdf`,`flatten-pdf`,`edit-pdf`,`share-document`]}),"watermark-pdf":X({priority:`P3`,searchIntent:`Add a diagonal text watermark to selected PDF pages.`,primaryKeyword:`watermark pdf`,secondaryKeywords:[`add watermark to pdf`,`pdf watermark online`],supportingKeywords:[`text watermark pdf`,`image watermark pdf`,`watermark pdf free`],capabilitySummary:`Draws a red diagonal text watermark with configurable opacity locally; image watermarks and custom placement are not implemented.`,relatedSlugs:[`add-page-numbers-to-pdf`,`edit-pdf`,`protect-pdf`,`flatten-pdf`]}),"pdf-form-filler":X({priority:`P0`,searchIntent:`Populate existing AcroForm fields by field name and optionally flatten them.`,primaryKeyword:`pdf filler`,secondaryKeywords:[`pdf form filler`,`fill pdf online`],supportingKeywords:[`fill and sign pdf`,`pdf filler free online`,`complete pdf form`],capabilitySummary:`Fills existing text, checkbox, radio, dropdown, and option-list fields from a JSON map; it does not create new form fields.`,relatedSlugs:[`sign-pdf`,`flatten-pdf`,`edit-pdf`,`protect-pdf`]}),"share-document":X({priority:`P2`,searchIntent:`Upload one PDF and create an unlisted link for people who receive it.`,primaryKeyword:`share pdf online`,secondaryKeywords:[`share pdf link`,`pdf link generator`],supportingKeywords:[`share pdf without login`,`share pdf qr code`,`send large pdf`],capabilitySummary:`Uploads the approved PDF to the configured storage service and returns an unlisted URL; anyone with the URL can open it.`,relatedSlugs:[`compress-pdf`,`protect-pdf`,`merge-pdf`,`pdf-reader`]}),"pdf-to-word":X({priority:`P0`,searchIntent:`Extract embedded PDF text into a simple editable DOCX organized by page.`,primaryKeyword:`pdf to word`,secondaryKeywords:[`pdf to word converter`,`convert pdf to word`],supportingKeywords:[`pdf to word online free`,`pdf to docx`,`scanned pdf to word`],capabilitySummary:`Extracts embedded text locally and writes plain paragraphs with page headings to DOCX; it does not preserve original visual layout and does not run OCR.`,relatedSlugs:[`word-to-pdf`,`pdf-ocr`,`pdf-to-excel`,`pdf-converter`]}),"pdf-to-excel":X({priority:`P0`,searchIntent:`Extract each PDF text line into column A of one worksheet per page.`,primaryKeyword:`pdf to excel`,secondaryKeywords:[`pdf to excel converter`,`convert pdf to excel`],supportingKeywords:[`pdf table to excel`,`scanned pdf to excel`,`pdf to xlsx`],
2254capabilitySummary:`Extracts embedded text locally into one-column worksheets; it does not reconstruct table columns and does not OCR scanned pages.`,relatedSlugs:[`excel-to-pdf`,`pdf-ocr`,`pdf-to-word`,`pdf-converter`]}),"pdf-to-ppt":X({priority:`P1`,searchIntent:`Render each PDF page as a high-quality image on one PowerPoint slide.`,primaryKeyword:`pdf to ppt`,secondaryKeywords:[`pdf to powerpoint`,`pdf to ppt converter`],supportingKeywords:[`pdf to pptx`,`pdf to powerpoint online free`,`editable powerpoint`],capabilitySummary:`Renders pages locally and places each as a contained image on a 16:9 PPTX slide; page elements are not individually editable.`,relatedSlugs:[`ppt-to-pdf`,`pdf-to-jpg`,`pdf-reader`,`pdf-converter`]}),"pdf-to-jpg":X({priority:`P0`,searchIntent:`Render all or selected PDF pages as JPG files.`,primaryKeyword:`pdf to jpg`,secondaryKeywords:[`pdf to jpg converter`,`convert pdf to jpg`],supportingKeywords:[`pdf to jpg high quality`,`save pdf as jpg`,`selected pdf pages to images`],capabilitySummary:`Renders selected pages locally at standard, balanced, or high resolution and returns one JPEG artifact per page.`,relatedSlugs:[`jpg-to-pdf`,`pdf-to-png`,`crop-pdf`,`compress-pdf`]}),"pdf-to-png":X({priority:`P1`,searchIntent:`Render all or selected PDF pages as lossless PNG files.`,primaryKeyword:`pdf to png`,secondaryKeywords:[`pdf to png converter`,`convert pdf to png`],supportingKeywords:[`pdf to png high quality`,`selected pdf pages to png`,`pdf pages to images`],capabilitySummary:`Renders selected PDF pages locally at three resolutions and encodes each page as PNG without JPEG compression.`,relatedSlugs:[`png-to-pdf`,`pdf-to-jpg`,`crop-pdf`,`pdf-reader`]}),"word-to-pdf":X({priority:`P0`,searchIntent:`Convert a DOC or DOCX file to PDF through the configured document service.`,primaryKeyword:`word to pdf`,secondaryKeywords:[`word to pdf converter`,`convert word to pdf`],supportingKeywords:[`docx to pdf`,`word to pdf online free`,`doc to pdf`],capabilitySummary:`Uploads one approved DOC or DOCX up to 50 MiB to the configured Gotenberg service and returns its PDF conversion.`,relatedSlugs:[`pdf-to-word`,`pdf-converter`,`excel-to-pdf`,`ppt-to-pdf`]}),"excel-to-pdf":X({priority:`P1`,searchIntent:`Convert an XLS or XLSX workbook to PDF through the configured document service.`,primaryKeyword:`excel to pdf`,secondaryKeywords:[`excel to pdf converter`,`convert excel to pdf`],supportingKeywords:[`xlsx to pdf`,`excel to pdf landscape`,`spreadsheet to pdf`],capabilitySummary:`Uploads one approved Excel workbook up to 50 MiB to the configured Gotenberg service; page orientation follows service rendering rather than an in-page control.`,relatedSlugs:[`pdf-to-excel`,`word-to-pdf`,`ppt-to-pdf`,`pdf-converter`]}),"ppt-to-pdf":X({priority:`P1`,searchIntent:`Convert a PPT or PPTX presentation to PDF through the configured document service.`,primaryKeyword:`ppt to pdf`,secondaryKeywords:[`powerpoint to pdf`,`ppt to pdf converter`],supportingKeywords:[`pptx to pdf`,`convert powerpoint to pdf`,`slides to pdf`],capabilitySummary:`Uploads one approved PowerPoint file up to 50 MiB to the configured Gotenberg service and returns the rendered PDF.`,relatedSlugs:[`pdf-to-ppt`,`word-to-pdf`,`excel-to-pdf`,`pdf-converter`]}),"jpg-to-pdf":X({priority:`P0`,searchIntent:`Combine one or more JPG or JPEG images into an A4 PDF.`,primaryKeyword:`jpg to pdf`,secondaryKeywords:[`jpg to pdf converter`,`jpeg to pdf`],supportingKeywords:[`jpg to pdf online free`,`merge jpg to pdf`,`photo to pdf`],capabilitySummary:`Decodes images locally, centers each on its own A4 page with margins, and combines up to 100 selected images; accepted input should be limited to JPG/JPEG on this route.`,relatedSlugs:[`pdf-to-jpg`,`image-pdf`,`png-to-pdf`,`pdf-scanner`]}),"image-pdf":X({priority:`P1`,searchIntent:`Combine mixed supported image formats into one A4 PDF.`,primaryKeyword:`image to pdf`,secondaryKeywords:[`image to pdf converter`,`photo to pdf`],supportingKeywords:[`images to pdf online free`,`multiple images to pdf`,`image to pdf maker`],capabilitySummary:`Combines JPG, PNG, BMP, GIF, HEIC, TIFF, or WebP locally; multipage TIFF produces multiple PDF pages and animation frames are not preserved.`,relatedSlugs:[`jpg-to-pdf`,`png-to-pdf`,`tiff-to-pdf`,`pdf-scanner`]}),"bmp-to-pdf":X({priority:`P3`,searchIntent:`Convert one or more BMP bitmap files into an A4 PDF.`,primaryKeyword:`bmp to pdf`,
2254secondaryKeywords:[`bmp to pdf converter`,`bitmap to pdf`],supportingKeywords:[`bmp to pdf online free`,`merge bmp to pdf`,`bmp to pdf high quality`],capabilitySummary:`Decodes BMP files locally and places each image on a centered A4 PDF page; transparency is flattened onto white.`,relatedSlugs:[`image-pdf`,`jpg-to-pdf`,`png-to-pdf`,`tiff-to-pdf`]}),"gif-to-pdf":X({priority:`P3`,searchIntent:`Convert GIF images into static PDF pages.`,primaryKeyword:`gif to pdf`,secondaryKeywords:[`gif to pdf converter`,`convert gif to pdf`],supportingKeywords:[`gif to pdf online free`,`merge gif to pdf`,`animated gif to pdf`],capabilitySummary:`Decodes GIF files locally and places the browser-decoded image on A4 pages; animation is not retained in PDF output.`,relatedSlugs:[`image-pdf`,`jpg-to-pdf`,`png-to-pdf`,`webp-to-pdf`]}),"heic-to-pdf":X({priority:`P3`,searchIntent:`Convert iPhone-style HEIC photos into an A4 PDF.`,primaryKeyword:`heic to pdf`,secondaryKeywords:[`heic to pdf converter`,`convert heic to pdf`],supportingKeywords:[`heic to pdf online free`,`merge heic to pdf`,`iphone photo to pdf`],capabilitySummary:`Lazy-loads a local HEIC decoder, converts each photo to JPEG at 0.92 quality, and places it on an A4 PDF page.`,relatedSlugs:[`image-pdf`,`jpg-to-pdf`,`pdf-scanner`,`png-to-pdf`]}),"png-to-pdf":X({priority:`P1`,searchIntent:`Combine one or more PNG images into an A4 PDF.`,primaryKeyword:`png to pdf`,secondaryKeywords:[`png to pdf converter`,`convert png to pdf`],supportingKeywords:[`png to pdf online free`,`merge png to pdf`,`transparent png to pdf`],capabilitySummary:`Decodes PNG images locally and centers each on A4; alpha transparency is rendered against white before JPEG embedding.`,relatedSlugs:[`pdf-to-png`,`jpg-to-pdf`,`image-pdf`,`pdf-scanner`]}),"tiff-to-pdf":X({priority:`P1`,searchIntent:`Convert single- or multipage TIFF files into PDF pages.`,primaryKeyword:`tiff to pdf`,secondaryKeywords:[`tiff to pdf converter`,`convert tiff to pdf`],supportingKeywords:[`tiff to pdf online free`,`multipage tiff to pdf`,`scanned tiff to pdf`],capabilitySummary:`Lazy-loads a local TIFF decoder, preserves every TIFF directory as a separate A4 PDF page, and supports up to the shared image pixel limits.`,relatedSlugs:[`pdf-scanner`,`pdf-ocr`,`image-pdf`,`jpg-to-pdf`]}),"webp-to-pdf":X({priority:`P3`,searchIntent:`Convert one or more WebP images into an A4 PDF.`,primaryKeyword:`webp to pdf`,
2254secondaryKeywords:[`webp to pdf converter`,`convert webp to pdf`],supportingKeywords:[`webp to pdf online free`,`merge webp to pdf`,`webp images to pdf`],capabilitySummary:`Uses browser image decoding locally, places each image on an A4 page, and flattens transparency on white.`,relatedSlugs:[`image-pdf`,`png-to-pdf`,`jpg-to-pdf`,`gif-to-pdf`]}),"txt-to-pdf":X({priority:`P3`,searchIntent:`Lay out a UTF-8 plain-text file as readable PDF pages.`,primaryKeyword:`txt to pdf`,secondaryKeywords:[`txt to pdf converter`,`text to pdf`],supportingKeywords:[`txt to pdf online free`,`plain text to pdf`,`create pdf from text`],capabilitySummary:`Reads UTF-8 text locally, wraps it into A4 pages with a bundled Unicode font when available, and does not infer rich formatting.`,relatedSlugs:[`markdown-to-pdf`,`word-to-pdf`,`html-to-pdf`,`pdf-converter`]}),"markdown-to-pdf":X({priority:`P0`,searchIntent:`Render Markdown structure into a formatted PDF in the browser.`,primaryKeyword:`markdown to pdf`,secondaryKeywords:[`md to pdf`,`markdown to pdf converter`],supportingKeywords:[`markdown file to pdf`,`github markdown to pdf`,`markdown to pdf online`],capabilitySummary:`Parses Markdown locally with raw HTML disabled and renders headings, lists, quotes, rules, paragraphs, inline code, and fenced code to paginated PDF.`,relatedSlugs:[`txt-to-pdf`,`html-to-pdf`,`word-to-pdf`,`pdf-converter`]}),"rtf-to-pdf":X({priority:`P3`,searchIntent:`Convert one RTF document to PDF through the configured service.`,primaryKeyword:`rtf to pdf`,secondaryKeywords:[`rtf to pdf converter`,`convert rtf to pdf`],supportingKeywords:[`rtf to pdf online free`,`rich text to pdf`,`rtf file converter`],capabilitySummary:`Uploads one approved RTF up to 50 MiB to the configured Gotenberg service and returns its rendered PDF.`,relatedSlugs:[`word-to-pdf`,`odt-to-pdf`,`txt-to-pdf`,`pdf-converter`]}),"odt-to-pdf":X({priority:`P3`,searchIntent:`Convert one OpenDocument Text file to PDF through the configured service.`,primaryKeyword:`odt to pdf`,secondaryKeywords:[`odt to pdf converter`,`convert odt to pdf`],supportingKeywords:[`odt to pdf online free`,`open document to pdf`,`libreoffice odt to pdf`],capabilitySummary:`Uploads one approved ODT up to 50 MiB to the configured Gotenberg service and returns the rendered PDF.`,relatedSlugs:[`word-to-pdf`,`rtf-to-pdf`,`ods-to-pdf`,`odp-to-pdf`]}),"odp-to-pdf":X({priority:`P3`,searchIntent:`Convert one OpenDocument presentation to PDF through the configured service.`,primaryKeyword:`odp to pdf`,secondaryKeywords:[`odp to pdf converter`,`convert odp to pdf`],supportingKeywords:[`odp to pdf online free`,`openoffice presentation to pdf`,`odp file converter`],capabilitySummary:`Uploads one approved ODP up to 50 MiB to the configured Gotenberg service and returns a PDF rendering of the slides.`,relatedSlugs:[`ppt-to-pdf`,`odt-to-pdf`,`ods-to-pdf`,`pdf-converter`]}),"ods-to-pdf":X({priority:`P3`,searchIntent:`Convert one OpenDocument spreadsheet to PDF through the configured service.`,primaryKeyword:`ods to pdf`,secondaryKeywords:[`ods to pdf converter`,`convert ods to pdf`],supportingKeywords:[`ods to pdf online free`,`openoffice spreadsheet to pdf`,`ods file converter`],capabilitySummary:`Uploads one approved ODS up to 50 MiB to the configured Gotenberg service and returns its PDF rendering.`,relatedSlugs:[`excel-to-pdf`,`odt-to-pdf`,`odp-to-pdf`,`pdf-converter`]}),"hwp-to-pdf":X({priority:`P3`,searchIntent:`Convert one Hangul HWP document to PDF when the configured service supports it.`,primaryKeyword:`hwp to pdf`,secondaryKeywords:[`hwp to pdf converter`,`convert hwp to pdf`],supportingKeywords:[`hwp to pdf online free`,`hangul file to pdf`,`hwp file converter`],capabilitySummary:`Uploads one approved HWP up to 50 MiB to the configured Gotenberg service; success depends on the service installation supporting HWP input.`,relatedSlugs:[`word-to-pdf`,`odt-to-pdf`,`pdf-converter`,`txt-to-pdf`]}),"html-to-pdf":X({priority:`P1`,searchIntent:`Convert an uploaded HTML file to PDF through the configured service.`,primaryKeyword:`html to pdf`,secondaryKeywords:[`html to pdf converter`,`webpage to pdf`],supportingKeywords:[`html to pdf online free`,`url to pdf`,`save webpage as pdf`],capabilitySummary:`Uploads one approved .html or .htm file to the configured Gotenberg service; it does not fetch a URL entered by the user.`,relatedSlugs:[`markdown-to-pdf`,`txt-to-pdf`,`word-to-pdf`,`pdf-converter`]}),"epub-to-pdf":X({priority:`P3`,searchIntent:`Convert one EPUB ebook to PDF through the configured service.`,primaryKeyword:`epub to pdf`,
2254secondaryKeywords:[`epub to pdf converter`,`convert epub to pdf`],supportingKeywords:[`epub to pdf online free`,`ebook to pdf`,`epub file converter`],capabilitySummary:`Uploads one approved EPUB up to 50 MiB to the configured Gotenberg service; pagination follows the service renderer and ebook DRM is not removed.`,relatedSlugs:[`html-to-pdf`,`word-to-pdf`,`txt-to-pdf`,`pdf-reader`]}),"zip-to-pdf":X({priority:`P3`,searchIntent:`Send a ZIP archive to the configured conversion service for PDF output.`,primaryKeyword:`zip to pdf`,secondaryKeywords:[`zip to pdf converter`,`convert zip to pdf`],supportingKeywords:[`zip to pdf online free`,`images zip to pdf`,`batch files to pdf`],capabilitySummary:`Accepts one approved ZIP up to 50 MiB, filters supported office and ebook entries under 1,000-entry and 250 MiB expansion guards, renders each through Gotenberg, then merges validated pages in archive order.`,relatedSlugs:[`image-pdf`,`merge-pdf`,`pdf-converter`,`jpg-to-pdf`]}),"sign-pdf":X({priority:`P0`,searchIntent:`Place a typed visual signature on one chosen PDF page.`,primaryKeyword:`sign pdf`,secondaryKeywords:[`pdf signer`,`sign pdf online`],supportingKeywords:[`sign pdf online free`,`add signature to pdf`,`fill and sign pdf`],capabilitySummary:`Draws a typed name in an italic font with a signature line near the lower-right of one page; it is not a cryptographic or certificate-backed digital signature.`,relatedSlugs:[`pdf-form-filler`,`protect-pdf`,`edit-pdf`,`flatten-pdf`]}),"unlock-pdf":X({priority:`P1`,searchIntent:`Remove PDF password protection when the user knows the password and has permission.`,primaryKeyword:`unlock pdf`,secondaryKeywords:[`remove pdf password`,`unlock pdf online`],supportingKeywords:[`unlock pdf online free`,`remove pdf restrictions`,`unlock pdf with password`],capabilitySummary:`Authenticates and decrypts supported PDFs locally with the supplied password; it cannot recover, guess, or bypass an unknown password.`,relatedSlugs:[`protect-pdf`,`pdf-reader`,`edit-pdf`,`flatten-pdf`]}),"protect-pdf":X({priority:`P2`,searchIntent:`Encrypt a PDF with a new password and restricted permissions.`,primaryKeyword:`protect pdf`,secondaryKeywords:[`password protect pdf`,`encrypt pdf`],supportingKeywords:[`protect pdf from editing`,`add password to pdf`,`secure pdf online`],capabilitySummary:`Applies AES-256 encryption locally with one user/owner password of at least eight characters and configured copy, annotation, and assembly restrictions.`,relatedSlugs:[`unlock-pdf`,`redact-pdf`,`flatten-pdf`,`share-document`]}),"flatten-pdf":X({priority:`P3`,searchIntent:`Make PDF layers, form fields, and annotations part of a stable presentation copy.`,primaryKeyword:`flatten pdf`,secondaryKeywords:[`flatten pdf online`,`flatten pdf forms`],supportingKeywords:[`flatten annotations pdf`,`flatten pdf free`,`make pdf non-editable`],capabilitySummary:`Uses the local PDF engine to flatten layers, form fields, and annotations and reports how many objects were flattened; this is not encryption.`,relatedSlugs:[`pdf-form-filler`,`pdf-annotator`,`protect-pdf`,`redact-pdf`]}),"pdf-scanner":X({priority:`P0`,searchIntent:`Turn selected document photos into a grayscale, contrast-adjusted multipage PDF.`,primaryKeyword:`scan to pdf`,secondaryKeywords:[`pdf scanner`,`document scanner to pdf`],supportingKeywords:[`scan to pdf online free`,`searchable scanned pdf`,`phone scan to pdf`],capabilitySummary:`Processes existing image files locally, applies grayscale and modest contrast, and places each image on A4; it does not control the camera, detect edges, or run OCR.`,relatedSlugs:[`pdf-ocr`,`jpg-to-pdf`,`tiff-to-pdf`,`compress-pdf`]})};function z5(e){return KIe[e]}function B5(e){let t=LIe[e];return typeof t==`function`?t():e}function V5(e,t){return B5(`tool_page.${e}.${t}`)}function H5(e,t){return V5(e,t).split(/\n\n+/).map(e=>e.trim()).filter(Boolean)}function U5(e,t){return H5(e,t).map(e=>{let t=e.indexOf(`::`);return t<1?{title:``,body:e}:{title:e.slice(0,t).trim(),body:e.slice(t+2).trim()}})}function W5(e){let t=H5(e,`benefits`);return{metaTitle:V5(e,`meta_title`),metaDescription:V5(e,`meta_description`),h1:V5(e,`h1`),intro:V5(e,`intro`),benefits:[t[0]??``,t[1]??``,t[2]??``],overviewTitle:V5(e,`overview_title`),overview:H5(e,`overview`),formatsTitle:V5(e,`formats_title`),formats:H5(e,`formats`),stepsTitle:V5(e,`steps_title`),steps:U5(e,`steps`),usesTitle:V5(e,`uses_title`),uses:U5(e,`uses`),qualityTitle:V5(e,`qual
2254ity_title`),quality:H5(e,`quality`),privacyTitle:V5(e,`privacy_title`),privacy:H5(e,`privacy`),faqTitle:V5(e,`faq_title`),faqs:U5(e,`faqs`),method:V5(e,`method`),visualAlt:V5(e,`visual_alt`),relatedDescription:V5(e,`related_description`),cta:V5(e,`cta`)}}var G5=I(`/$slug`)({loader:({params:e})=>{let t=VIe.get(e.slug);if(t)throw ye({href:t,statusCode:301});if(HIe.has(e.slug))throw be();let n=R5.get(e.slug);if(!n)throw be();let r=W5(n.slug),i=z5(n.slug);return{title:r.metaTitle,description:r.metaDescription,h1:r.h1,slug:n.slug,primaryKeyword:i?.primaryKeyword??n.name,image:`${W.app_url}/imgs/tipdf/tools/${n.slug}.webp`}},head:({loaderData:e})=>e?{meta:[{title:e.title},{name:`description`,content:e.description},{property:`og:title`,content:e.title},{property:`og:description`,content:e.description},{name:`twitter:title`,content:e.title},{name:`twitter:description`,content:e.description},{property:`og:type`,content:`website`},{property:`og:image`,content:e.image},{property:`og:image:type`,content:`image/webp`},{property:`og:image:width`,content:`960`},{property:`og:image:height`,content:`720`},{name:`twitter:image`,content:e.image},{"script:ld+json":{"@context":`https://schema.org`,"@graph":[{"@type":`WebApplication`,"@id":`${W.app_url}/${e.slug}#app`,name:e.h1,description:e.description,applicationCategory:`UtilitiesApplication`,operatingSystem:`Any`,browserRequirements:`Requires a current browser with JavaScript enabled.`,url:`${W.app_url}/${e.slug}`,image:e.image,inLanguage:`en`,featureList:[e.primaryKeyword],offers:{"@type":`Offer`,price:`0`,priceCurrency:`USD`},publisher:{"@id":`${W.app_url}/#organization`}},{"@type":`BreadcrumbList`,"@id":`${W.app_url}/${e.slug}#breadcrumb`,itemListElement:[{"@type":`ListItem`,position:1,name:W.app_name,item:W.app_url},{"@type":`ListItem`,position:2,name:e.h1,item:`${W.app_url}/${e.slug}`}]}]}}]}:{},component:L(()=>R(()=>import(`./_slug-B14yf_cF.js`),__vite__mapDeps([45,1,2,3,4,46,5,6,7,8,28,11,47,29,16,19,9,20,21,12,13,14,34,15,39,48,49,18,22,23,24,30,50,51,52,53,54,55,56])),`component`)}),K5=[{name:`robots`,content:`noindex, nofollow, noarchive`},{name:`googlebot`,content:`noindex, nofollow, noarchive`}],qIe=I(`/settings`)({head:()=>({meta:K5}),component:L(()=>R(()=>import(`./route-DFpEsj0V.js`),__vite__mapDeps([57,1,2,3,4,58,5,6,7,8,24,16,28,11,59,60,19,9,20,21,61,12,13,14,29,40,22,62,23,63,64,26,65,66,41,52,53,54])),`component`)}),JIe=I(`/admin`)({head:()=>({meta:K5}),component:L(()=>R(()=>import(`./route-2QCzk7WX.js`),__vite__mapDeps([67,59,1,60,2,3,4,5,6,7,8,19,9,20,21,16,28,11,61,12,13,14,29,40,22,62,23,24,64,49,26,68])),`component`)}),YIe=I(`/(pages)`)({component:L(()=>R(()=>import(`./route-VbquqZen.js`),__vite__mapDeps([69,12,1,13,4,8,14,7,16,70,3])),`component`)}),XIe=I(`/(auth)`)({head:()=>({meta:K5}),component:L(()=>R(()=>import(`./route-oEtTQGC7.js`),__vite__mapDeps([71,4,1])),`component`)}),ZIe=I(`/`)({loader:async()=>({locale:J()}),head:({loaderData:e})=>{let t={locale:e?.locale??`en`},n=PH({},t),r=IH({},t);return{meta:[{title:n},{name:`description`,content:r},{property:`og:title`,content:n},{property:`og:description`,content:r},{name:`twitter:title`,content:n},{name:`twitter:description`,content:r}]}},component:L(()=>R(()=>import(`./routes-C6nCz7HE.js`),__vite__mapDeps([72,1,2,3,4,5,6,7,8,19,9,20,21,16,10,11,12,13,14,34,29,18,15,22,23,24,51,42,44])),`component`)});function QIe(e,t){return null}function q5(e,t){return new Intl.DateTimeFormat(`en-US`,{year:`numeric`,month:`short`,day:`numeric`}).format(new Date(e))}var $Ie=jl().handler(Io(`139369ba08645c08201ff69bd24b596cdc0f7784b8b3ffd8c6a14f47bbeac9cf`)),eLe=jl().handler(Io(`b19d1425e0192068330144e802eeba64d1a59e4653703cc76476349d6a195d71`)),J5=[{slug:`add-pages-to-pdf`,title:`How To Add Pages to a PDF Without Breaking the Layout`,description:`Insert a blank page, combine files, or move selected pages into the right place with a clear PDF workflow.`,category:`How-to guides`,date:`Jul 12, 2026`,authorName:`TiPDF Editorial`,createdAt:`2026-07-12T00:00:00.000Z`,toc:[{id:`choose-the-right-workflow`,label:`Choose the right workflow`},{id:`insert-a-blank-page`,label:`Insert a blank page`},{id:`combine-pages-from-another-file`,label:`Combine pages from another file`},{id:`review-before-you-export`,label:`Review before you export`}],content:`Need one more page in a finished PDF? The safest approach is to decide whether you need a new blank page, a full document, or only a selected page from another file. 2255 2256## Choose the right workflow 2257 2258| Your goal | Best starting point | What to check | 2259| --- | --- | --- | 2260| Add a blank page | Organize PDF | Page position and orientation | 2261| Add another PDF | Merge PDF | File order and duplicate pages | 2262| Use one selected page | Extract, then merge | Crop, rotation, and page size | 2263 2264Keep an untouched copy of the source file before reorganizing a long document. 2265 2266## Insert a blank page 2267 2268Open the document in an organizer, choose the position between two page thumbnails, and insert a blank page. Add content only after the page order is correct. 2269 22701. Upload the PDF. 22712. Select the position for the new page. 22723. Insert a blank page and review the surrounding pages. 22734. Export a new copy and review it before sharing. 2274 2275## Combine pages from another file 2276 2277If the content already exists, merge the second file instead of recreating it. Extract a single page first when you do not need the complete document. 2278 2279> Tip: Number source filenames before merging so the intended order is obvious. 2280 2281## Review before you export 2282 2283Check page size, orientation, numbering, links, and any signatures after changing the sequence. This final review prevents a small page-order change from confusing the finished document.`},{slug:`secure-document-sharing`,title:`A Practical Guide to Sharing PDF Files More Safely`,description:`Use clear access rules, sensible filenames, and the right protection before sending an important document.`,category:`Productivity guides`,date:`Jul 8, 2026`,authorName:`TiPDF Editorial`,createdAt:`2026-07-08T00:00:00.000Z`,toc:[{id:`classify-the-document`,label:`Classify the document`},{id:`choose-a-sharing-method`,label:`Choose a sharing method`},{id:`protect-the-final-copy`,label:`Protect the final copy`}
2283],content:`Sending a PDF is easy. Sending the correct version to the correct people, with an appropriate level of protection, takes a little more care. 2284 2285## Classify the document 2286 2287Decide whether the file is public, internal, confidential, or regulated. That decision should guide the delivery channel and access controls. 2288 2289## Choose a sharing method 2290 2291Email works for simple low-risk files. A controlled link is better when access may need to expire or be revoked later. 2292 2293## Protect the final copy 2294 2295Remove comments, review redactions, flatten fields when appropriate, and use a descriptive filename before sharing. Keep the source file separately.`},{slug:`draw-on-pdf`,title:`How To Draw, Highlight, and Leave Useful Notes on a PDF`,description:`Mark up a document clearly with freehand drawing, highlights, shapes, and concise review notes.`,category:`How-to guides`,date:`Jul 2, 2026`,authorName:`TiPDF Editorial`,createdAt:`2026-07-02T00:00:00.000Z`,toc:[{id:`pick-the-right-markup`,label:`Pick the right markup`},{id:`keep-feedback-readable`,label:`Keep feedback readable`},{id:`save-a-review-copy`,label:`Save a review copy`}],content:`PDF annotations are most useful when each mark has a clear purpose. Use highlights for passages, shapes for regions, and short notes for decisions or questions. 2296 2297## Pick the right markup 2298 2299Avoid drawing over text when a highlight or callout would be easier to understand. 2300 2301## Keep feedback readable 2302 2303Use a consistent color for each reviewer and keep comments specific enough that someone can act without a meeting. 2304 2305## Save a review copy 2306 2307Keep annotations in a separate review copy until changes are approved, then archive the final document without temporary notes.`},{slug:`scanned-pdf-to-word`,title:`How To Turn a Scanned PDF Into Editable Text`,description:`Understand OCR, review recognition errors, and prepare a cleaner editable document from a scan.`,category:`Conversion guides`,date:`Jun 25, 2026`,authorName:`TiPDF Editorial`,createdAt:`2026-06-25T00:00:00.000Z`,toc:[{id:`start-with-a-clear-scan`,label:`Start with a clear scan`},{id:`run-text-recognition`,label:`Run text recognition`},{id:`review-the-result`,label:`Review the result`}],content:`A scanned PDF usually contains page images rather than editable text. Optical character recognition identifies letters and words so the content can be searched or converted. 2308 2309## Start with a clear scan 2310 2311Straight pages, strong contrast, and sufficient resolution produce better recognition. 2312 2313## Run text recognition 2314 2315Choose the correct document language and preserve the original scan while OCR is applied. 2316 2317## Review the result 2318 2319Names, numbers, columns, and unusual fonts deserve extra attention. OCR accelerates transcription but still needs human review.`},{slug:`digital-signature-workflow`,title:`Build a Clear Digital Signature Workflow`,description:`Prepare the final PDF, identify signers, and keep a dependable record of each completed agreement.`,category:`Business guides`,date:`Jun 18, 2026`,authorName:`TiPDF Editorial`,createdAt:`2026-06-18T00:00:00.000Z`,toc:[{id:`prepare-the-final-document`,label:`Prepare the final document`},{id:`define-the-signing-order`,label:`Define the signing order`},{id:`archive-the-result`,label:`Archive the result`}],content:`A signing workflow begins before anyone places a signature. Confirm the final wording, remove drafting notes, and identify every required signer. 2320 2321## Prepare the final document 2322 2323Use one approved version and make signature fields easy to find. 2324 2325## Define the signing order 2326 2327Sequential signing can reduce confusion when one approval depends on another. 2328 2329## Archive the result 2330 2331Store the completed agreement with its audit information and follow the retention rules that apply to your organization.`},{slug:`organize-business-documents`,title:`A Simple File-Naming System for Business Documents`,description:`Use dates, document types, and version labels that make important PDFs easier to find later.`,category:`The business blog`,date:`Jun 10, 2026`,authorName:`TiPDF Editorial`,createdAt:`2026-06-10T00:00:00.000Z`,toc:[{id:`choose-a-predictable-pattern`,label:`Choose a predictable pattern`},{id:`separate-drafts-from-final-files`,label:`Separate drafts from final files`},{id:`write-the-rule-down`,label:`Write the rule down`}],content:`A good filename answers three questions at a glance: what is the document, when was it created, and which version is this? 2332 2333## Choose a predictable pattern 2334 2335Use a pattern such as YYYY-MM-DD_document-type_subject_status.pdf and keep the order
2335consistent. 2336 2337## Separate drafts from final files 2338 2339Avoid labels such as final-final. Use a clear status and a version number while work is active. 2340 2341## Write the rule down 2342 2343A naming system only works when everyone follows it. Put the pattern in a short team guide and include examples.`}],tLe=new Map(J5.map(e=>[e.slug,e])),Y5=I(`/blog/`)({loader:async()=>{let e=J(),t=await $Ie({data:{locale:e}}),n=new Set(J5.map(e=>e.slug)),r=t.filter(e=>!n.has(e.slug)).filter(e=>!/shipany/i.test(`${e.title} ${e.description}`)).map(t=>({slug:t.slug,title:t.title,description:t.description,category:`TiPDF stories`,image:t.image,date:q5(t.createdAt,e),authorName:t.authorName}));return{locale:e,posts:[...J5,...r]}},head:()=>({meta:[{title:`The TiPDF Blog | ${W.app_name}`},{name:`description`,content:`Practical PDF guides, document workflows, and thoughtful productivity ideas from TiPDF.`},...K5]}),component:L(()=>R(()=>import(`./blog-DCalTJXp.js`),__vite__mapDeps([73,74,1,2,3,4,12,13,8,14,7,16,21,50,18,19,5,6,9,20,15,22,23,24,25,26])),`component`)}),X5=I(`/blog/$slug`)({loader:async({params:e})=>{let t=J(),n=tLe.get(e.slug)??null,r=[`what-is-shipany`,`blocks-vs-components`].includes(e.slug),i=n||r?null:await eLe({data:{slug:e.slug,locale:t}}).catch(()=>null);if(!n&&!i)throw be();return{locale:t,editorial:n,post:i}},head:({loaderData:e})=>{if(!e)return{};let t=e.editorial??e.post;return t?{meta:[{title:`${t.title} | TiPDF`},{name:`description`,content:t.description},...K5]}:{}},component:L(()=>R(()=>import(`./_slug-diXdgrpr.js`),__vite__mapDeps([75,1,74,2,3,4,12,13,8,14,7,16,21,50,18,19,5,6,9,20,15,22,23,24,76,77,70,25,26])),`component`)}),nLe=I(`/settings/`)({component:L(()=>R(()=>import(`./settings-C17DzctB.js`),__vite__mapDeps([78,16,1,4,64,65,35,3])),`component`)}),rLe=I(`/settings/tickets`)({component:L(()=>R(()=>import(`./tickets-Df4GpLxz.js`),__vite__mapDeps([79,1,60,2,3,4,5,6,7,8,58,24,16,28,11,80,21,41,36,81,32,66,52,82,61,35,53,54])),`component`)}),iLe=I(`/settings/profile`)({component:L(()=>R(()=>import(`./profile-d4kfYYJL.js`),__vite__mapDeps([83,1,2,3,4,28,6,11,7,84,8,85,86,87,53,62,20,66,41,16,52,24,35])),`component`)}),aLe=I(`/settings/payments`)({component:L(()=>R(()=>import(`./payments-CcrwOrTW.js`),__vite__mapDeps([88,1,80,2,3,4,28,6,11,7,16,21,41,36,48,82,61,35])),`component`)}),oLe=I(`/settings/credits`)({component:L(()=>R(()=>import(`./credits-DzSHzpvg.js`),__vite__mapDeps([89,1,2,3,4,12,13,8,14,7,80,28,6,11,16,21,41,36,63,82,61,35])),`component`)}),sLe=I(`/settings/billing`)({component:L(()=>R(()=>import(`./billing-KpN2cL8P.js`),__vite__mapDeps([90,1,2,3,4,19,5,6,7,8,9,20,21,16,58,24,85,12,13,14,80,28,11,41,36,91,92,93,82,61,35])),`component`)}),cLe=I(`/settings/apikeys`)({component:L(()=>R(()=>import(`./apikeys-DMGMktPV.js`),__vite__mapDeps([94,1,2,3,4,58,5,6,7,8,24,16,28,11,85,80,21,41,36,32,35,53])),`component`)}),lLe=I(`/admin/`)({component:L(()=>R(()=>import(`./admin-C3t5gFu3.js`),__vite__mapDeps([95,68,16,1,4,44,35,3])),`component`)}),uLe=I(`/admin/users`)({component:L(()=>R(()=>import(`./users-Bdck321e.js`),__vite__mapDeps([96,1,60,2,3,4,5,6,7,8,46,28,11,47,29,16,19,9,20,21,58,24,85,80,41,36,63,92,68,35])),`component`)}),dLe=I(`/admin/tickets`)({component:L(()=>R(()=>import(`./tickets-BvEi_t8a.js`),__vite__mapDeps([97,1,60,2,3,4,5,6,7,8,58,24,16,80,28,11,21,41,36,81,66,52,82,61,35,54])),`component`)}),fLe=I(`/admin/subscriptions`)({component:L(()=>R(()=>import(`./subscriptions-DPciUweQ.js`),__vite__mapDeps([98,1,80,2,3,4,28,6,11,7,16,21,41,36,82,61,35])),`component`)}),pLe=I(`/admin/settings`)({component:L(()=>R(()=>import(`./settings-BjUoZjCE.js`),__vite__mapDeps([99,1,2,3,4,5,6,7,8,100,9,28,11,29,16,15,17,58,24,47,85,91,31,32,35,53])),`component`)});Object.freeze({status:`aborted`});function Z(e,t,n){function r(n,r){if(n._zod||Object.defineProperty(n,"_zod",{value:{def:r,constr:o,traits:new Set},enumerable:!1}),n._zod.traits.has(e))return;n._zod.traits.add(e),t(n,r);let i=o.prototype,a=Object.keys(i);for(let e=0;e<a.length;e++){let t=a[e];t in n||(n[t]=i[t].bind(n))}}let i=n?.Parent??Object;class a extends i{}Object.defineProperty(a,"name",{value:e});function o(e){var t;let i=n?.Parent?new a:this;r(i,e),(t=i._zod).deferred??(t.deferred=[]);for(let e of i._zod.deferred)e();return i}return Object.defineProperty(o,"init",{value:r}),Object.defineProperty(o,Symbol.hasInstance,{value:t=>n?.Parent&&t instanceof n.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(o,"name",{value:e}),o}
2343var Z5=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Q5=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}},$5={};function e7(e){return e&&Object.assign($5,e),$5}function t7(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function n7(e,t){return typeof t==`bigint`?t.toString():t}function r7(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}throw Error(`cached value already set`)}}}function i7(e){return e==null}function a7(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function mLe(e,t){let n=(e.toString().split(`.`)[1]||``).length,r=t.toString(),i=(r.split(`.`)[1]||``).length;if(i===0&&/\d?e-\d?/.test(r)){let e=r.match(/\d?e-(\d?)/);e?.[1]&&(i=Number.parseInt(e[1]))}let a=n>i?n:i;return Number.parseInt(e.toFixed(a).replace(`.`,``))%Number.parseInt(t.toFixed(a).replace(`.`,``))/10**a}var o7=Symbol(`evaluating`);function Q(e,t,n){let r;Object.defineProperty(e,t,{get(){if(r!==o7)return r===void 0&&(r=o7,r=n()),r},set(n){Object.defineProperty(e,t,{value:n})},configurable:!0})}
vendor: 4,271 bytes, line 2343
2343function s7(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function c7(...e){let t={};for(let n of e)Object.assign(t,Object.getOwnPropertyDescriptors(n));return Object.defineProperties({},t)}function l7(e){return JSON.stringify(e)}function hLe(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var u7=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function d7(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var gLe=r7(()=>{if(typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function f7(e){if(d7(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return!(d7(n)===!1||Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)===!1)}function p7(e){return f7(e)?{...e}:Array.isArray(e)?[...e]:e}var _Le=new Set([`string`,`number`,`symbol`]);function m7(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function h7(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function $(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function vLe(e){return Object.keys(e).filter(t=>e[t]._zod.optin===`optional`&&e[t]._zod.optout===`optional`)}var yLe={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function bLe(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return h7(e,c7(e._zod.def,{get shape(){let e={};for(let r in t){if(!(r in n.shape))throw Error(`Unrecognized key: "${r}"`);t[r]&&(e[r]=n.shape[r])}return s7(this,`shape`,e),e},checks:[]}))}function xLe(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return h7(e,c7(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e in t){if(!(e in n.shape))throw Error(`Unrecognized key: "${e}"`);t[e]&&delete r[e]}return s7(this,`shape`,r),r},checks:[]}))}function SLe(e,t){if(!f7(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e in t)if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return h7(e,c7(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return s7(this,`shape`,n),n}}))}function CLe(e,t){if(!f7(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return h7(e,c7(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return s7(this,`shape`,n),n}}))}function wLe(e,t){return h7(e,c7(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return s7(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:[]}))}function TLe(e,t,n){let r=t._zod.def.checks;if(r&&r.length>0)throw Error(`.partial() cannot be used on object schemas containing refinements`);return h7(t,c7(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in r))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t in r)i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return s7(this,`shape`,i),i},checks:[]}))}function ELe(e,t,n){return h7(t,c7(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t in n){if(!(t in i))throw Error(`Unrecognized key: "${t}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t in r)i[t]=new e({type:`nonoptional`,innerType:r[t]});return s7(this,`shape`,i),i}}))}function g7(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function _7(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function v7(e){return typeof e==`string`?e:e?.message}
2343function y7(e,t,n){let r={...e,path:e.path??[]};return e.message||(r.message=v7(e.inst?._zod.def?.error?.(e))??v7(t?.error?.(e))??v7(n.customError?.(e))??v7(n.localeError?.(e))??`Invalid input`),delete r.inst,delete r.continue,t?.reportInput||delete r.input,r}function b7(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function x7(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}var S7=(e,t)=>{e.name=`$ZodError`,Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),e.message=JSON.stringify(t,n7,2),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},C7=Z(`$ZodError`,S7),w7=Z(`$ZodError`,S7,{Parent:Error});function DLe(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?(n[i.path[0]]=n[i.path[0]]||[],n[i.path[0]].push(t(i))):r.push(t(i));return{formErrors:r,fieldErrors:n}}function OLe(e,t=e=>e.message){let n={_errors:[]},r=e=>{for(let i of e.issues)if(i.code===`invalid_union`&&i.errors.length)i.errors.map(e=>r({issues:e}));else if(i.code===`invalid_key`)r({issues:i.issues});else if(i.code===`invalid_element`)r({issues:i.issues});else if(i.path.length===0)n._errors.push(t(i));else{let e=n,r=0;for(;r<i.path.length;){let n=i.path[r];r===i.path.length-1?(e[n]=e[n]||{_errors:[]},e[n]._errors.push(t(i))):e[n]=e[n]||{_errors:[]},e=e[n],r++}}};return r(e),n}var T7=e=>(t,n,r,i)=>{let a=r?Object.assign(r,{async:!1}):{async:!1},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise)throw new Z5;if(o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>y7(e,a,e7())));throw u7(t,i?.callee),t}return o.value},E7=e=>async(t,n,r,i)=>{let a=r?Object.assign(r,{async:!0}):{async:!0},o=t._zod.run({value:n,issues:[]},a);if(o instanceof Promise&&(o=await o),o.issues.length){let t=new(i?.Err??e)(o.issues.map(e=>y7(e,a,e7())));throw u7(t,i?.callee),t}return o.value},D7=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new Z5;return a.issues.length?{success:!1,error:new(e??C7)(a.issues.map(e=>y7(e,i,e7())))}:{success:!0,data:a.value}},kLe=D7(w7),O7=e=>async(t,n,r)=>{let i=r?Object.assign(r,{async:!0}):{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>y7(e,i,e7())))}:{success:!0,data:a.value}},ALe=O7(w7),jLe=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return T7(e)(t,n,i)},MLe=e=>(t,n,r)=>T7(e)(t,n,r),NLe=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return E7(e)(t,n,i)},PLe=e=>async(t,n,r)=>E7(e)(t,n,r),FLe=e=>(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return D7(e)(t,n,i)},ILe=e=>(t,n,r)=>D7(e)(t,n,r),LLe=e=>async(t,n,r)=>{let i=r?Object.assign(r,{direction:`backward`}):{direction:`backward`};return O7(e)(t,n,i)},RLe=e=>async(t,n,r)=>O7(e)(t,n,r),zLe=/^[cC][^\s-]{8,}$/,BLe=/^[0-9a-z]+$/,VLe=/^[0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{26}$/,HLe=/^[0-9a-vA-V]{20}$/,ULe=/^[A-Za-z0-9]{27}$/,WLe=/^[a-zA-Z0-9_-]{21}$/,GLe=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,KLe=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,k7=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,qLe=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,JLe=`^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;function YLe(){return new RegExp(JLe,`u`)}var XLe=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ZLe=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,QLe=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,$Le=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|::|([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:?){0,6})\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,eRe=/^$|^(?:[0-9a-zA-Z+/]{4}
vendor: 8,382 bytes, lines 2343-2345
2343)*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,A7=/^[A-Za-z0-9_-]*$/,tRe=/^\+[1-9]\d{6,14}$/,j7=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`,nRe=RegExp(`^${j7}$`);function M7(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function rRe(e){return RegExp(`^${M7(e)}$`)}function iRe(e){let t=M7({precision:e.precision}),n=[`Z`];e.local&&n.push(``),e.offset&&n.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let r=`${t}(?:${n.join(`|`)})`;return RegExp(`^${j7}T(?:${r})$`)}var aRe=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},oRe=/^-?\d+$/,sRe=/^-?\d+(?:\.\d+)?$/,cRe=/^[^A-Z]*$/,lRe=/^[^a-z]*$/,N7=Z(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),P7={number:`number`,bigint:`bigint`,object:`date`},F7=Z(`$ZodCheckLessThan`,(e,t)=>{N7.init(e,t);let n=P7[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),I7=Z(`$ZodCheckGreaterThan`,(e,t)=>{N7.init(e,t);let n=P7[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),uRe=Z(`$ZodCheckMultipleOf`,(e,t)=>{N7.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?n.value%t.value===BigInt(0):mLe(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),dRe=Z(`$ZodCheckNumberFormat`,(e,t)=>{N7.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=yLe[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=oRe)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),fRe=Z(`$ZodCheckMaxLength`,(e,t)=>{var n;N7.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!i7(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value;if(r.length<=t.maximum)return;let i=b7(r);n.issues.push({origin:i,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),pRe=Z(`$ZodCheckMinLength`,(e,t)=>{var n;N7.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!i7(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value;if(r.length>=t.minimum)return;let i=b7(r);n.issues.push({origin:i,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),mRe=Z(`$ZodCheckLengthEquals`,(e,t)=>{var n;N7.init(e,t),(n=e._zod.def).when??(n.when=e=>{let t=e.value;return!i7(t)&&t.length!==void 0}),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length;if(i===t.length)return;let a=b7(r),o=i>t.length;n.issues.push({origin:a,...o?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),L7=Z(`$ZodCheckStringFormat`,(e,t)=>{var n,r;N7.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),hRe=Z(`$ZodCheckRegex`,(e,t)=>{L7.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),gRe=Z(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=cRe,L7.init(e,t)}),_Re=Z(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=lRe,L7.init(e,t)}),vRe=Z(`$ZodCheckIncludes`,(e,t)=>{N7.init(e,t);let n=m7(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position}}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),yRe=Z(`$ZodCheckStartsWith`,(e,t)=>{N7.init(e,t);let n=RegExp(`^${m7(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),bRe=Z(`$ZodCheckEndsWith`,(e,t)=>{N7.init(e,t);let n=RegExp(`.*${m7(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),xRe=Z(`$ZodCheckOverwrite`,(e,t)=>{N7.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),SRe=class{constructor(e=[]){this.content=[],this.indent=0,this&&(this.args=e)}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(` 2344`).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.args,n=[...(this?.content??[``]).map(e=>` ${e}`)];return new e(...t,n.join(` 2345`))}},CRe={major:4,minor:3,patch:6},R7=Z(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=CRe;let r=[...e._zod.def.checks??[]];e._zod.traits.has(`$ZodCheck`)&&r.unshift(e);for(let t of r)for(let n of t._zod.onattach)n(e);if(r.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(e,t,n)=>{let r=g7(e),i;for(let a of t){if(a._zod.def.when){if(!a._zod.def.when(e))continue}else if(r)continue;let t=e.issues.length,o=a._zod.check(e);if(o instanceof Promise&&n?.async===!1)throw new Z5;if(i||o instanceof Promise)i=(i??Promise.resolve()).then(async()=>{await o,e.issues.length!==t&&(r||=g7(e,t))});else{if(e.issues.length===t)continue;r||=g7(e,t)}}return i?i.then(()=>e):e},n=(n,i,a)=>{if(g7(n))return n.aborted=!0,n;let o=t(i,r,a);if(o instanceof Promise){if(a.async===!1)throw new Z5;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(i,a)=>
vendor: 5,941 bytes, line 2345
2345{if(a.skipChecks)return e._zod.parse(i,a);if(a.direction===`backward`){let t=e._zod.parse({value:i.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,i,a)):n(t,i,a)}let o=e._zod.parse(i,a);if(o instanceof Promise){if(a.async===!1)throw new Z5;return o.then(e=>t(e,r,a))}return t(o,r,a)}}Q(e,`~standard`,()=>({validate:t=>{try{let n=kLe(e,t);return n.success?{value:n.data}:{issues:n.error?.issues}}catch{return ALe(e,t).then(e=>e.success?{value:e.data}:{issues:e.error?.issues})}},vendor:`zod`,version:1}))}),z7=Z(`$ZodString`,(e,t)=>{R7.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??aRe(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),B7=Z(`$ZodStringFormat`,(e,t)=>{L7.init(e,t),z7.init(e,t)}),V7=Z(`$ZodGUID`,(e,t)=>{t.pattern??=KLe,B7.init(e,t)}),wRe=Z(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=k7(e)}else t.pattern??=k7();B7.init(e,t)}),TRe=Z(`$ZodEmail`,(e,t)=>{t.pattern??=qLe,B7.init(e,t)}),ERe=Z(`$ZodURL`,(e,t)=>{B7.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=new URL(r);t.hostname&&(t.hostname.lastIndex=0,t.hostname.test(i.hostname)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort})),t.protocol&&(t.protocol.lastIndex=0,t.protocol.test(i.protocol.endsWith(`:`)?i.protocol.slice(0,-1):i.protocol)||n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort})),t.normalize?n.value=i.href:n.value=r;return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),DRe=Z(`$ZodEmoji`,(e,t)=>{t.pattern??=YLe(),B7.init(e,t)}),ORe=Z(`$ZodNanoID`,(e,t)=>{t.pattern??=WLe,B7.init(e,t)}),kRe=Z(`$ZodCUID`,(e,t)=>{t.pattern??=zLe,B7.init(e,t)}),ARe=Z(`$ZodCUID2`,(e,t)=>{t.pattern??=BLe,B7.init(e,t)}),jRe=Z(`$ZodULID`,(e,t)=>{t.pattern??=VLe,B7.init(e,t)}),MRe=Z(`$ZodXID`,(e,t)=>{t.pattern??=HLe,B7.init(e,t)}),NRe=Z(`$ZodKSUID`,(e,t)=>{t.pattern??=ULe,B7.init(e,t)}),PRe=Z(`$ZodISODateTime`,(e,t)=>{t.pattern??=iRe(t),B7.init(e,t)}),FRe=Z(`$ZodISODate`,(e,t)=>{t.pattern??=nRe,B7.init(e,t)}),IRe=Z(`$ZodISOTime`,(e,t)=>{t.pattern??=rRe(t),B7.init(e,t)}),LRe=Z(`$ZodISODuration`,(e,t)=>{t.pattern??=GLe,B7.init(e,t)}),RRe=Z(`$ZodIPv4`,(e,t)=>{t.pattern??=XLe,B7.init(e,t),e._zod.bag.format=`ipv4`}),zRe=Z(`$ZodIPv6`,(e,t)=>{t.pattern??=ZLe,B7.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{try{new URL(`http://[${n.value}]`)}catch{n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}}),BRe=Z(`$ZodCIDRv4`,(e,t)=>{t.pattern??=QLe,B7.init(e,t)}),VRe=Z(`$ZodCIDRv6`,(e,t)=>{t.pattern??=$Le,B7.init(e,t),e._zod.check=n=>{let r=n.value.split(`/`);try{if(r.length!==2)throw Error();let[e,t]=r;if(!t)throw Error();let n=Number(t);if(`${n}`!==t||n<0||n>128)throw Error();new URL(`http://[${e}]`)}catch{n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}}});function H7(e){if(e===``)return!0;if(e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var HRe=Z(`$ZodBase64`,(e,t)=>{t.pattern??=eRe,B7.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{H7(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function URe(e){if(!A7.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return H7(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var WRe=Z(`$ZodBase64URL`,(e,t)=>{t.pattern??=A7,B7.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{URe(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),GRe=Z(`$ZodE164`,(e,t)=>{t.pattern??=tRe,B7.init(e,t)});function KRe(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var qRe=Z(`$ZodJWT`,(e,t)=>{B7.init(e,t),e._zod.check=n=>{KRe(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),U7=Z(`$ZodNumber`,(e,t)=>{R7.init(e,t),e._zod.pattern=e._zod.bag.pattern??sRe,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:`Infinity`:void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),JRe=Z(`$ZodNumberFormat`,(e,t)=>{dRe.init(e,t),U7.init(e,t)}),YRe=Z(`$ZodUnknown`,(e,t)=>{R7.init(e,t),e._zod.parse=e=>e}),XRe=Z(`$ZodNever`,(e,t)=>{R7.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function W7(e,t,n){e.issues.length&&t.issues.push(..._7(n,e.issues)),t.value[n]=e.value}var ZRe=Z(`$ZodArray`,(e,t)=>{R7.init(e,t),e._zod.parse=(n,r)=>{let i=n.value;if(!Array.isArray(i))return n.issues.push({expected:`array`,code:`invalid_type`,input:i,inst:e}),n;n.value=Array(i.length);let a=[];for(let e=0;e<i.length;e++){let o=i[e],s=t.element._zod.run({value:o,issues:[]},r);s instanceof Promise?a.push(s.then(t=>W7(t,n,e))):W7(s,n,e)}return a.length?Promise.all(a).then(()=>n):n}});function G7(e,t,n,r,i){if(e.issues.length){if(i&&!(n in r))return;t.issues.push(..._7(n,e.issues))}e.value===void 0?n in r&&(t.value[n]=void 0):t.value[n]=e.value}function K7(e){let t=Object.keys(e.shape);for(let n of t)if(!e.shape?.[n]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${n}": expected a Zod schema`);let n=vLe(e.shape);
vendor: 12,645 bytes, lines 2345-2379
2345return{...e,keys:t,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(n)}}function q7(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optout===`optional`;for(let i in t){if(s.has(i))continue;if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>G7(e,n,i,t,u))):G7(a,n,i,t,u)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a}),e.length?Promise.all(e).then(()=>n):n}var QRe=Z(`$ZodObject`,(e,t)=>{if(R7.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Object.defineProperty(t,"shape",{get:()=>{let n={...e};return Object.defineProperty(t,"shape",{value:n}),n}})}let n=r7(()=>K7(t));Q(e._zod,`propValues`,()=>{let e=t.shape,n={};for(let t in e){let r=e[t]._zod;if(r.values){n[t]??(n[t]=new Set);for(let e of r.values)n[t].add(e)}}return n});let r=d7,i=t.catchall,a;e._zod.parse=(t,o)=>{a??=n.value;let s=t.value;if(!r(s))return t.issues.push({expected:`object`,code:`invalid_type`,input:s,inst:e}),t;t.value={};let c=[],l=a.shape;for(let e of a.keys){let n=l[e],r=n._zod.optout===`optional`,i=n._zod.run({value:s[e],issues:[]},o);i instanceof Promise?c.push(i.then(n=>G7(n,t,e,s,r))):G7(i,t,e,s,r)}return i?q7(c,s,t,o,n.value,e):c.length?Promise.all(c).then(()=>t):t}}),$Re=Z(`$ZodObjectJIT`,(e,t)=>{QRe.init(e,t);let n=e._zod.parse,r=r7(()=>K7(t)),i=e=>{let t=new SRe([`shape`,`payload`,`ctx`]),n=r.value,i=e=>{let t=l7(e);return`shape[${t}]._zod.run({ value: input[${t}], issues: [] }, ctx)`};t.write(`const input = payload.value;`);let a=Object.create(null),o=0;for(let e of n.keys)a[e]=`key_${o++}`;t.write(`const newResult = {};`);for(let r of n.keys){let n=a[r],o=l7(r),s=e[r]?._zod?.optout===`optional`;t.write(`const ${n} = ${i(r)};`),s?t.write(` 2346 if (${n}.issues.length) { 2347 if (${o} in input) { 2348 payload.issues = payload.issues.concat(${n}.issues.map(iss => ({ 2349 ...iss, 2350 path: iss.path ? [${o}, ...iss.path] : [${o}] 2351 }))); 2352 } 2353 } 2354 2355 if (${n}.value === undefined) { 2356 if (${o} in input) { 2357 newResult[${o}] = undefined; 2358 } 2359 } else { 2360 newResult[${o}] = ${n}.value; 2361 } 2362 2363 `):t.write(` 2364 if (${n}.issues.length) { 2365 payload.issues = payload.issues.concat(${n}.issues.map(iss => ({ 2366 ...iss, 2367 path: iss.path ? [${o}, ...iss.path] : [${o}] 2368 }))); 2369 } 2370 2371 if (${n}.value === undefined) { 2372 if (${o} in input) { 2373 newResult[${o}] = undefined; 2374 } 2375 } else { 2376 newResult[${o}] = ${n}.value; 2377 } 2378 2379 `)}t.write(`payload.value = newResult;`),t.write(`return payload;`);let s=t.compile();return(t,n)=>s(e,t,n)},a,o=d7,s=!$5.jitless,c=s&&gLe.value,l=t.catchall,u;e._zod.parse=(d,f)=>{u??=r.value;let p=d.value;return o(p)?s&&c&&f?.async===!1&&f.jitless!==!0?(a||=i(t.shape),d=a(d,f),l?q7([],p,d,f,u,e):d):n(d,f):(d.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),d)}});function J7(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!g7(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>y7(e,r,e7())))}),t)}var eze=Z(`$ZodUnion`,(e,t)=>{R7.init(e,t),Q(e._zod,`optin`,()=>t.options.some(e=>e._zod.optin===`optional`)?`optional`:void 0),Q(e._zod,`optout`,()=>t.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),Q(e._zod,`values`,()=>{if(t.options.every(e=>e._zod.values))return new Set(t.options.flatMap(e=>Array.from(e._zod.values)))}),Q(e._zod,`pattern`,()=>{if(t.options.every(e=>e._zod.pattern)){let e=t.options.map(e=>e._zod.pattern);return RegExp(`^(${e.map(e=>a7(e.source)).join(`|`)})$`)}});let n=t.options.length===1,r=t.options[0]._zod.run;e._zod.parse=(i,a)=>{if(n)return r(i,a);let o=!1,s=[];for(let e of t.options){let t=e._zod.run({value:i.value,issues:[]},a);if(t instanceof Promise)s.push(t),o=!0;else{if(t.issues.length===0)return t;s.push(t)}}return o?Promise.all(s).then(t=>J7(t,i,e,a)):J7(s,i,e,a)}}),tze=Z(`$ZodIntersection`,(e,t)=>{R7.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>X7(e,t,n)):X7(e,i,a)}});function Y7(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(f7(e)&&f7(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};for(let n of r){let r=Y7(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=Y7(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function X7(e,t,n){let r=new Map,i;for(let n of t.issues)if(n.code===`unrecognized_keys`){i??=n;for(let e of n.keys)r.has(e)||r.set(e,{}),r.get(e).l=!0}else e.issues.push(n);for(let t of n.issues)if(t.code===`unrecognized_keys`)for(let e of t.keys)r.has(e)||r.set(e,{}),r.get(e).r=!0;else e.issues.push(t);let a=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(a.length&&i&&e.issues.push({...i,keys:a}),g7(e))return e;let o=Y7(t.value,n.value);if(!o.valid)throw Error(`Unmergable intersection. Error path: ${JSON.stringify(o.mergeErrorPath)}`);return e.value=o.data,e}var nze=Z(`$ZodEnum`,(e,t)=>{R7.init(e,t);let n=t7(t.entries),r=new Set(n);e._zod.values=r,e._zod.pattern=RegExp(`^(${n.filter(e=>_Le.has(typeof e)).map(e=>typeof e==`string`?m7(e):e.toString()).join(`|`)})$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),rze=Z(`$ZodTransform`,(e,t)=>{R7.init(e,t),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Q5(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new Z5;return n.value=i,n}});function Z7(e,t){return e.issues.length&&t===void 0?{issues:[],value:void 0}:e}var Q7=Z(`$ZodOptional`,(e,t)=>{R7.init(e,t),e._zod.optin=`optional`,e._zod.optout=`optional`,Q(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,void 0]):void 0),Q(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${a7(e.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(t.innerType._zod.optin===`optional`){let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(t=>Z7(t,e.value)):Z7(r,e.value)}return e.value===void 0?e:t.innerType._zod.run(e,n)}}),ize=Z(`$ZodExactOptional`,(e,t)=>{Q7.init(e,t),Q(e._zod,`values`,()=>t.innerType._zod.values),Q(e._zod,`pattern`,()=>t.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),aze=Z(`$ZodNullable`,(e,t)=>{R7.init(e,t),Q(e._zod,`optin`,()=>t.innerType._zod.optin),Q(e._zod,`optout`,()=>t.innerType._zod.optout),Q(e._zod,`pattern`,()=>{let e=t.innerType._zod.pattern;return e?RegExp(`^(${a7(e.source)}|null)$`):void 0}),Q(e._zod,`values`,()=>t.innerType._zod.values?new Set([...t.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),oze=Z(`$ZodDefault`,(e,t)=>{R7.init(e,t),e._zod.optin=`optional`,Q(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>$7(e,t)):$7(r,t)}});function $7(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var sze=Z(`$ZodPrefault`,(e,t)=>{R7.init(e,t),e._zod.optin=`optional`,Q(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),cze=Z(`$ZodNonOptional`,(e,t)=>{R7.init(e,t),Q(e._zod,`values`,()=>{let e=t.innerType._zod.values;return e?new Set([...e].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>e9(t,e)):e9(i,e)}});function e9(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}var lze=Z(`$ZodCatch`,(e,t)=>{R7.init(e,t),Q(e._zod,`optin`,()=>t.innerType._zod.optin),Q(e._zod,`optout`,()=>t.innerType._zod.optout),Q(e._zod,`values`,()=>t.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(r=>(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>y7(e,n,e7()))},input:e.value}),e.issues=[]),e)):(e.value=r.value,r.issues.length&&(e.value=t.catchValue({...e,error:{issues:r.issues.map(e=>y7(e,n,e7()))},input:e.value}),e.issues=[]),e)}}),uze=Z(`$ZodPipe`,(e,t)=>{R7.init(e,t),Q(e._zod,`values`,()=>t.in._zod.values),Q(e._zod,`optin`,()=>t.in._zod.optin),Q(e._zod,`optout`,()=>t.out._zod.optout),Q(e._zod,`propValues`,()=>t.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>t9(e,t.in,n)):t9(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>t9(e,t.out,n)):t9(r,t.out,n)}});function t9(e,t,n){return e.issues.length?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var dze=Z(`$ZodReadonly`,(e,t)=>{R7.init(e,t),Q(e._zod,`propValues`,()=>t.innerType._zod.propValues),Q(e._zod,`values`,()=>t.innerType._zod.values),Q(e._zod,`optin`,()=>t.innerType?._zod?.optin),Q(e._zod,`optout`,()=>t.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(n9):n9(r)}});function n9(e){return e.value=Object.freeze(e.value),e}var fze=Z(`$ZodCustom`,(e,t)=>{N7.init(e,t),R7.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>r9(t,n,r,e));r9(i,n,r,e)}});function r9(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(x7(e))}}var i9,pze=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function mze(){return new pze}(i9=globalThis).__zod_globalRegistry??(i9.__zod_globalRegistry=mze());var a9=globalThis.__zod_globalRegistry;function hze(e,t){return new e({type:`string`,...$(t)})}function gze(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...$(t)})}function o9(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...$(t)})}function _ze(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...$(t)})}function vze(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...$(t)})}function yze(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...$(t)})}function bze(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...$(t)})}function xze(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...$(t)})}function Sze(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...$(t)})}function Cze(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...$(t)})}function wze(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...$(t)})}function Tze(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...$(t)})}function Eze(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...$(t)})}function Dze(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...$(t)})}
vendor: 7,756 bytes, lines 2379-2381
2379function Oze(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...$(t)})}function kze(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...$(t)})}function Aze(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...$(t)})}function jze(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...$(t)})}function Mze(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...$(t)})}function Nze(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...$(t)})}function Pze(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...$(t)})}function Fze(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...$(t)})}function Ize(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...$(t)})}function Lze(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...$(t)})}function Rze(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...$(t)})}function zze(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...$(t)})}function Bze(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...$(t)})}function Vze(e,t){return new e({type:`number`,coerce:!0,checks:[],...$(t)})}function Hze(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...$(t)})}function Uze(e){return new e({type:`unknown`})}function Wze(e,t){return new e({type:`never`,...$(t)})}function s9(e,t){return new F7({check:`less_than`,...$(t),value:e,inclusive:!1})}function c9(e,t){return new F7({check:`less_than`,...$(t),value:e,inclusive:!0})}function l9(e,t){return new I7({check:`greater_than`,...$(t),value:e,inclusive:!1})}function u9(e,t){return new I7({check:`greater_than`,...$(t),value:e,inclusive:!0})}function d9(e,t){return new uRe({check:`multiple_of`,...$(t),value:e})}function f9(e,t){return new fRe({check:`max_length`,...$(t),maximum:e})}function p9(e,t){return new pRe({check:`min_length`,...$(t),minimum:e})}function m9(e,t){return new mRe({check:`length_equals`,...$(t),length:e})}function Gze(e,t){return new hRe({check:`string_format`,format:`regex`,...$(t),pattern:e})}function Kze(e){return new gRe({check:`string_format`,format:`lowercase`,...$(e)})}function qze(e){return new _Re({check:`string_format`,format:`uppercase`,...$(e)})}function Jze(e,t){return new vRe({check:`string_format`,format:`includes`,...$(t),includes:e})}function Yze(e,t){return new yRe({check:`string_format`,format:`starts_with`,...$(t),prefix:e})}function Xze(e,t){return new bRe({check:`string_format`,format:`ends_with`,...$(t),suffix:e})}function h9(e){return new xRe({check:`overwrite`,tx:e})}function Zze(e){return h9(t=>t.normalize(e))}function Qze(){return h9(e=>e.trim())}function $ze(){return h9(e=>e.toLowerCase())}function eBe(){return h9(e=>e.toUpperCase())}function tBe(){return h9(e=>hLe(e))}function nBe(e,t,n){return new e({type:`array`,element:t,...$(n)})}function rBe(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...$(n)})}function iBe(e){let t=aBe(n=>(n.addIssue=e=>{if(typeof e==`string`)n.issues.push(x7(e,n.value,t._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,r.input??=n.value,r.inst??=t,r.continue??=!t._zod.def.abort,n.issues.push(x7(r))}},e(n.value,n)));return t}function aBe(e,t){let n=new N7({check:`custom`,...$(t)});return n._zod.check=e,n}function g9(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??a9,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,external:e?.external??void 0}}function _9(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o);let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,_9(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Object.assign(o.schema,c),t.io===`input`&&b9(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&o.schema._prefault&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function v9(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${a}`}}if(t[1]===n)return{ref:`#`};let i=`#/${r}/`,a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+a}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root> 2380 2381Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}}function y9(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Object.assign(i,s),Object.assign(i,a),t._zod.parent===o)for(let e in i)e===`$ref`||e===`allOf`||e in a||delete i[e];if(s.$ref&&n.def)for(let e in i)e===`$ref`||e===`allOf`||e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e===`$ref`||e===`allOf`||e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};for(let t of[...e.seen.entries()].reverse())r(t[0]);let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}Object.assign(i,n.def??n.schema);let a=e.external?.defs??{};for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(a[e.defId]=e.def)}e.external||Object.keys(a).length>
vendor: 9,377 bytes, line 2381
23810&&(e.target===`draft-2020-12`?i.$defs=a:i.definitions=a);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:x9(t,`input`,e.processors),output:x9(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function b9(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return b9(r.element,n);if(r.type===`set`)return b9(r.valueType,n);if(r.type===`lazy`)return b9(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`)return b9(r.innerType,n);if(r.type===`intersection`)return b9(r.left,n)||b9(r.right,n);if(r.type===`record`||r.type===`map`)return b9(r.keyType,n)||b9(r.valueType,n);if(r.type===`pipe`)return b9(r.in,n)||b9(r.out,n);if(r.type===`object`){for(let e in r.shape)if(b9(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(b9(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(b9(e,n))return!0;return!!(r.rest&&b9(r.rest,n))}return!1}var oBe=(e,t={})=>n=>{let r=g9({...n,processors:t});return _9(e,r),v9(r,e),y9(r,e)},x9=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=g9({...i??{},target:a,io:t,processors:n});return _9(e,o),v9(o,e),y9(o,e)},sBe={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},cBe=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=sBe[s]??s,i.format===``&&delete i.format,s===`time`&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},lBe=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`,typeof u==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u),typeof a==`number`&&(i.minimum=a,typeof u==`number`&&t.target!==`draft-04`&&(u>=a?delete i.minimum:delete i.exclusiveMinimum)),typeof l==`number`&&(t.target===`draft-04`||t.target===`openapi-3.0`?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l),typeof o==`number`&&(i.maximum=o,typeof l==`number`&&t.target!==`draft-04`&&(l<=o?delete i.maximum:delete i.exclusiveMaximum)),typeof c==`number`&&(i.multipleOf=c)},uBe=(e,t,n,r)=>{n.not={}},dBe=(e,t,n,r)=>{let i=e._zod.def,a=t7(i.entries);a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},fBe=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Custom types cannot be represented in JSON Schema`)},pBe=(e,t,n,r)=>{if(t.unrepresentable===`throw`)throw Error(`Transforms cannot be represented in JSON Schema`)},mBe=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=_9(a.element,t,{...r,path:[...r.path,`items`]})},hBe=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`,i.properties={};let o=a.shape;for(let e in o)i.properties[e]=_9(o[e],t,{...r,path:[...r.path,`properties`,e]});let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e]._zod;return t.io===`input`?n.optin===void 0:n.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=_9(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},gBe=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>_9(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},_Be=(e,t,n,r)=>{let i=e._zod.def,a=_9(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=_9(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1;n.allOf=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]]},vBe=(e,t,n,r)=>{let i=e._zod.def,a=_9(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},yBe=(e,t,n,r)=>{let i=e._zod.def;_9(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},bBe=(e,t,n,r)=>{let i=e._zod.def;_9(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.default=JSON.parse(JSON.stringify(i.defaultValue))},xBe=(e,t,n,r)=>{let i=e._zod.def;_9(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,t.io===`input`&&(n._prefault=JSON.parse(JSON.stringify(i.defaultValue)))},SBe=(e,t,n,r)=>{let i=e._zod.def;_9(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{throw Error(`Dynamic catch values are not supported in JSON Schema`)}n.default=o},CBe=(e,t,n,r)=>{let i=e._zod.def,a=t.io===`input`?i.in._zod.def.type===`transform`?i.out:i.in:i.out;_9(a,t,r);let o=t.seen.get(e);o.ref=a},wBe=(e,t,n,r)=>{let i=e._zod.def;_9(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},S9=(e,t,n,r)=>{let i=e._zod.def;_9(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},TBe=Z(`ZodISODateTime`,(e,t)=>{PRe.init(e,t),O9.init(e,t)});function EBe(e){return Lze(TBe,e)}var DBe=Z(`ZodISODate`,(e,t)=>{FRe.init(e,t),O9.init(e,t)});function OBe(e){return Rze(DBe,e)}var kBe=Z(`ZodISOTime`,(e,t)=>{IRe.init(e,t),O9.init(e,t)});function ABe(e){return zze(kBe,e)}var jBe=Z(`ZodISODuration`,(e,t)=>{LRe.init(e,t),O9.init(e,t)});function MBe(e){return Bze(jBe,e)}var C9=(e,t)=>{C7.init(e,t),e.name=`ZodError`,Object.defineProperties(e,{format:{value:t=>OLe(e,t)},flatten:{value:t=>DLe(e,t)},addIssue:{value:t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,n7,2)}},addIssues:{value:t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,n7,2)}},isEmpty:{get(){return e.issues.length===0}}})};Z(`ZodError`,C9);var w9=Z(`ZodError`,C9,{Parent:Error}),NBe=T7(w9),PBe=E7(w9),FBe=D7(w9),IBe=O7(w9),LBe=jLe(w9),RBe=MLe(w9),zBe=NLe(w9),BBe=PLe(w9),VBe=FLe(w9),HBe=ILe(w9),UBe=LLe(w9),WBe=RLe(w9),T9=Z(`ZodType`,(e,t)=>(R7.init(e,t),Object.assign(e[`~standard`],{jsonSchema:{input:x9(e,`input`),output:x9(e,`output`)}}),e.toJSONSchema=oBe(e,{}),e.def=t,e.type=t.type,Object.defineProperty(e,"_def",{value:t}),e.check=(...n)=>e.clone(c7(t,{checks:[...t.checks??[],...n.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0}),e.with=e.check,e.clone=(t,n)=>h7(e,t,n),e.brand=()=>e,e.register=((t,n)=>(t.add(e,n),e)),e.parse=(t,n)=>NBe(e,t,n,{callee:e.parse}),e.safeParse=(t,n)=>FBe(e,t,n),e.parseAsync=async(t,n)=>PBe(e,t,n,{callee:e.parseAsync}),e.safeParseAsync=async(t,n)=>IBe(e,t,n),e.spa=e.safeParseAsync,e.encode=(t,n)=>LBe(e,t,n),e.decode=(t,n)=>RBe(e,t,n),e.encodeAsync=async(t,n)=>zBe(e,t,n),e.decodeAsync=async(t,n)=>BBe(e,t,n),e.safeEncode=(t,n)=>VBe(e,t,n),e.safeDecode=(t,n)=>HBe(e,t,n),e.safeEncodeAsync=async(t,n)=>UBe(e,t,n),e.safeDecodeAsync=async(t,n)=>WBe(e,t,n),e.refine=(t,n)=>e.check(LVe(t,n)),e.superRefine=t=>e.check(RVe(t)),e.overwrite=t=>e.check(h9(t)),e.optional=()=>L9(e),e.exactOptional=()=>wVe(e),e.nullable=()=>R9(e),e.nullish=()=>L9(R9(e)),e.nonoptional=t=>AVe(e,t),e.array=()=>mVe(e),e.or=t=>_Ve([e,t]),e.and=t=>yVe(e,t),e.transform=t=>B9(e,SVe(t)),e.default=t=>DVe(e,t),e.prefault=t=>kVe(e,t),e.catch=t=>MVe(e,t),e.pipe=t=>B9(e,t),e.readonly=()=>FVe(e),e.describe=t=>{let n=e.clone();return a9.add(n,{description:t}),n},Object.defineProperty(e,"description",{get(){return a9.get(e)?.description},configurable:!0}),e.meta=(...t)=>{if(t.length===0)return a9.get(e);let n=e.clone();return a9.add(n,t[0]),n},e.isOptional=()=>e.safeParse(void 0).success,e.isNullable=()=>e.safeParse(null).success,e.apply=t=>t(e),e)),E9=Z(`_ZodString`,(e,t)=>{z7.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>cBe(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null,e.regex=(...t)=>e.check(Gze(...t)),e.includes=(...t)=>e.check(Jze(...t)),e.startsWith=(...t)=>e.check(Yze(...t)),e.endsWith=(...t)=>e.check(Xze(...t)),e.min=(...t)=>e.check(p9(...t)),e.max=(...t)=>e.check(f9(...t)),e.length=(...t)=>e.check(m9(...t)),e.nonempty=(...t)=>e.check(p9(1,...t)),e.lowercase=t=>e.check(Kze(t)),e.uppercase=t=>e.check(qze(t)),e.trim=()=>e.check(Qze()),e.normalize=(...t)=>e.check(Zze(...t)),e.toLowerCase=()=>e.check($ze()),e.toUpperCase=()=>e.check(eBe()),e.slugify=()=>e.check(tBe())}),GBe=Z(`ZodString`,(e,t)=>{z7.init(e,t),E9.init(e,t),e.email=t=>e.check(gze(KBe,t)),e.url=t=>e.check(xze(qBe,t)),e.jwt=t=>e.check(Ize(cVe,t)),e.emoji=t=>e.check(Sze(JBe,t)),e.guid=t=>e.check(o9(k9,t)),e.uuid=t=>e.check(_ze(A9,t)),e.uuidv4=t=>e.check(vze(A9,t)),e.uuidv6=t=>e.check(yze(A9,t)),e.uuidv7=t=>e.check(bze(A9,t)),e.nanoid=t=>e.check(Cze(YBe,t)),e.guid=t=>e.check(o9(k9,t)),e.cuid=t=>e.check(wze(XBe,t)),e.cuid2=t=>e.check(Tze(ZBe,t)),e.ulid=t=>e.check(Eze(QBe,t)),e.base64=t=>e.check(Nze(aVe,t)),e.base64url=t=>e.check(Pze(oVe,t)),e.xid=t=>e.check(Dze($Be,t)),e.ksuid=t=>e.check(Oze(eVe,t)),e.ipv4=t=>e.check(kze(tVe,t)),e.ipv6=t=>
2381e.check(Aze(nVe,t)),e.cidrv4=t=>e.check(jze(rVe,t)),e.cidrv6=t=>e.check(Mze(iVe,t)),e.e164=t=>e.check(Fze(sVe,t)),e.datetime=t=>e.check(EBe(t)),e.date=t=>e.check(OBe(t)),e.time=t=>e.check(ABe(t)),e.duration=t=>e.check(MBe(t))});function D9(e){return hze(GBe,e)}var O9=Z(`ZodStringFormat`,(e,t)=>{B7.init(e,t),E9.init(e,t)}),KBe=Z(`ZodEmail`,(e,t)=>{TRe.init(e,t),O9.init(e,t)}),k9=Z(`ZodGUID`,(e,t)=>{V7.init(e,t),O9.init(e,t)}),A9=Z(`ZodUUID`,(e,t)=>{wRe.init(e,t),O9.init(e,t)}),qBe=Z(`ZodURL`,(e,t)=>{ERe.init(e,t),O9.init(e,t)}),JBe=Z(`ZodEmoji`,(e,t)=>{DRe.init(e,t),O9.init(e,t)}),YBe=Z(`ZodNanoID`,(e,t)=>{ORe.init(e,t),O9.init(e,t)}),XBe=Z(`ZodCUID`,(e,t)=>{kRe.init(e,t),O9.init(e,t)}),ZBe=Z(`ZodCUID2`,(e,t)=>{ARe.init(e,t),O9.init(e,t)}),QBe=Z(`ZodULID`,(e,t)=>{jRe.init(e,t),O9.init(e,t)}),$Be=Z(`ZodXID`,(e,t)=>{MRe.init(e,t),O9.init(e,t)}),eVe=Z(`ZodKSUID`,(e,t)=>{NRe.init(e,t),O9.init(e,t)}),tVe=Z(`ZodIPv4`,(e,t)=>{RRe.init(e,t),O9.init(e,t)}),nVe=Z(`ZodIPv6`,(e,t)=>{zRe.init(e,t),O9.init(e,t)}),rVe=Z(`ZodCIDRv4`,(e,t)=>{BRe.init(e,t),O9.init(e,t)}),iVe=Z(`ZodCIDRv6`,(e,t)=>{VRe.init(e,t),O9.init(e,t)}),aVe=Z(`ZodBase64`,(e,t)=>{HRe.init(e,t),O9.init(e,t)}),oVe=Z(`ZodBase64URL`,(e,t)=>{WRe.init(e,t),O9.init(e,t)}),sVe=Z(`ZodE164`,(e,t)=>{GRe.init(e,t),O9.init(e,t)}),cVe=Z(`ZodJWT`,(e,t)=>{qRe.init(e,t),O9.init(e,t)}),j9=Z(`ZodNumber`,(e,t)=>{U7.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>lBe(e,t,n,r),e.gt=(t,n)=>e.check(l9(t,n)),e.gte=(t,n)=>e.check(u9(t,n)),e.min=(t,n)=>e.check(u9(t,n)),e.lt=(t,n)=>e.check(s9(t,n)),e.lte=(t,n)=>e.check(c9(t,n)),e.max=(t,n)=>e.check(c9(t,n)),e.int=t=>e.check(M9(t)),e.safe=t=>e.check(M9(t)),e.positive=t=>e.check(l9(0,t)),e.nonnegative=t=>e.check(u9(0,t)),e.negative=t=>e.check(s9(0,t)),e.nonpositive=t=>e.check(c9(0,t)),e.multipleOf=(t,n)=>e.check(d9(t,n)),e.step=(t,n)=>e.check(d9(t,n)),e.finite=()=>e;let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null}),lVe=Z(`ZodNumberFormat`,(e,t)=>{JRe.init(e,t),j9.init(e,t)});function M9(e){return Hze(lVe,e)}var uVe=Z(`ZodUnknown`,(e,t)=>{YRe.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function N9(){return Uze(uVe)}var dVe=Z(`ZodNever`,(e,t)=>{XRe.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>uBe(e,t,n,r)});function fVe(e){return Wze(dVe,e)}var pVe=Z(`ZodArray`,(e,t)=>{ZRe.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>mBe(e,t,n,r),e.element=t.element,e.min=(t,n)=>e.check(p9(t,n)),e.nonempty=t=>e.check(p9(1,t)),e.max=(t,n)=>e.check(f9(t,n)),e.length=(t,n)=>e.check(m9(t,n)),e.unwrap=()=>e.element});function mVe(e,t){return nBe(pVe,e,t)}var hVe=Z(`ZodObject`,(e,t)=>{$Re.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>hBe(e,t,n,r),Q(e,`shape`,()=>t.shape),e.keyof=()=>bVe(Object.keys(e._zod.def.shape)),e.catchall=t=>e.clone({...e._zod.def,catchall:t}),e.passthrough=()=>e.clone({...e._zod.def,catchall:N9()}),e.loose=()=>e.clone({...e._zod.def,catchall:N9()}),e.strict=()=>e.clone({...e._zod.def,catchall:fVe()}),e.strip=()=>e.clone({...e._zod.def,catchall:void 0}),e.extend=t=>SLe(e,t),e.safeExtend=t=>CLe(e,t),e.merge=t=>wLe(e,t),e.pick=t=>bLe(e,t),e.omit=t=>xLe(e,t),e.partial=(...t)=>TLe(I9,e,t[0]),e.required=(...t)=>ELe(z9,e,t[0])});function P9(e,t){return new hVe({type:`object`,shape:e??{},...$(t)})}var gVe=Z(`ZodUnion`,(e,t)=>{eze.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>gBe(e,t,n,r),e.options=t.options});function _Ve(e,t){return new gVe({type:`union`,options:e,...$(t)})}var vVe=Z(`ZodIntersection`,(e,t)=>{tze.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_Be(e,t,n,r)});function yVe(e,t){return new vVe({type:`intersection`,left:e,right:t})}var F9=Z(`ZodEnum`,(e,t)=>{nze.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>dBe(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new F9({...t,checks:[],...$(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new F9({...t,checks:[],...$(r),entries:i})}});function bVe(e,t){return new F9({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...$(t)})}var xVe=Z(`ZodTransform`,(e,t)=>{rze.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>pBe(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Q5(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(x7(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,t.input??=n.value,t.inst??=e,n.issues.push(x7(t))}};
2381let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function SVe(e){return new xVe({type:`transform`,transform:e})}var I9=Z(`ZodOptional`,(e,t)=>{Q7.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>S9(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function L9(e){return new I9({type:`optional`,innerType:e})}var CVe=Z(`ZodExactOptional`,(e,t)=>{ize.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>S9(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function wVe(e){return new CVe({type:`optional`,innerType:e})}var TVe=Z(`ZodNullable`,(e,t)=>{aze.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vBe(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function R9(e){return new TVe({type:`nullable`,innerType:e})}var EVe=Z(`ZodDefault`,(e,t)=>{oze.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bBe(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function DVe(e,t){return new EVe({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():p7(t)}})}var OVe=Z(`ZodPrefault`,(e,t)=>{sze.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xBe(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function kVe(e,t){return new OVe({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():p7(t)}})}var z9=Z(`ZodNonOptional`,(e,t)=>{cze.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>yBe(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function AVe(e,t){return new z9({type:`nonoptional`,innerType:e,...$(t)})}var jVe=Z(`ZodCatch`,(e,t)=>{lze.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>SBe(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function MVe(e,t){return new jVe({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:()=>t})}var NVe=Z(`ZodPipe`,(e,t)=>{uze.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>CBe(e,t,n,r),e.in=t.in,e.out=t.out});function B9(e,t){return new NVe({type:`pipe`,in:e,out:t})}var PVe=Z(`ZodReadonly`,(e,t)=>{dze.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wBe(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function FVe(e){return new PVe({type:`readonly`,innerType:e})}var IVe=Z(`ZodCustom`,(e,t)=>{fze.init(e,t),T9.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fBe(e,t,n,r)});function LVe(e,t={}){return rBe(IVe,e,t)}function RVe(e){return iBe(e)}function V9(e){return Vze(j9,e)}var zVe=()=>R(()=>import(`./roles-C65e_7AB.js`),__vite__mapDeps([101,1,2,3,4,46,5,6,7,8,28,11,47,29,16,58,24,84,85,80,21,41,36,93,32,86,87,53,62,20,35]));P9({name:D9().min(1),title:D9().min(1),description:D9()});var BVe=I(`/admin/roles`)({component:L(zVe,`component`)}),VVe=()=>R(()=>import(`./posts-Bj-8fM75.js`),__vite__mapDeps([102,1,2,3,4,100,5,6,7,8,9,28,11,29,16,15,17,58,24,84,85,80,21,41,36,77,50,31,93,32,86,87,53,62,20,76,82,61,35]));P9({slug:D9().min(1),title:D9().min(1),description:D9(),content:D9(),categories:D9(),authorName:D9(),status:D9()});var HVe=I(`/admin/posts`)({component:L(VVe,`component`)}),UVe=I(`/admin/permissions`)({component:L(()=>R(()=>import(`./permissions-BA3VPSES.js`),__vite__mapDeps([103,1,2,3,4,58,5,6,7,8,24,16,28,11,85,80,21,41,36,93,32,35,53])),`component`)}),WVe=I(`/admin/payments`)({component:L(()=>R(()=>import(`./payments-D0NL_OCN.js`),__vite__mapDeps([104,1,80,2,3,4,28,6,11,7,16,21,41,36,82,61,35])),`component`)}),GVe=()=>R(()=>import(`./invite-codes-Bel1xyFk.js`),__vite__mapDeps([105,1,2,3,4,58,5,6,7,8,24,16,28,11,84,85,80,21,41,36,32,35,53]));P9({count:V9().min(1),maxUses:V9().min(1),trialDays:V9().min(1),note:D9(),expiresAt:D9()});var KVe=I(`/admin/invite-codes`)({component:L(GVe,`component`)}),qVe=I(`/admin/credits`)({component:L(()=>R(()=>import(`./credits-CWz5jzNh.js`),__vite__mapDeps([106,1,80,2,3,4,28,6,11,7,16,21,41,36,35])),`component`)}),JVe=()=>R(()=>import(`./categories-COhpMpA-.js`),__vite__mapDeps([107,1,2,3,4,58,5,6,7,8,24,16,84,85,80,28,11,21,41,36,93,32,86,87,53,62,20,82,61,35]));P9({slug:D9().min(1),title:D9().min(1),description:D9()});var YVe=I(`/admin/categories`)({component:L(JVe,`component`)}),H9={},U9=P.createContext(H9);function W9(e){let t=P.useContext(U9);return P.useMemo(function(){return typeof e==`function`?e(t):{...t,...e}},[t,e])}function XVe(e){let t;return t=e.disableParentContext?typeof e.components==`function`?e.components(H9):e.components||H9:W9(e.components),P.createElement(U9.Provider,{value:t},e.children)}var ZVe=t({default:()=>$Ve,meta:()=>QVe}),QVe={title:`TiPDF Privacy Policy`,description:`How TiPDF handles account, analytics, support, and document data.`,updated_at:`2026-07-18`};function G9(e){let t={a:`a`,code:`code`,h2:`h2`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,...W9(),...e.components};return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(t.h2,{children:`Scope`}),` 2382`,(0,F.jsxs)(t.p,{children:[`This Privacy Policy explains how the TiPDF service at `,(0,F.jsx)(t.code,{children:`tipdf.com`}),` handles information when you browse the site, create an account, use a document tool, or request support.`]}),` 2383`,(0,F.jsx)(t.h2,{children:`Information We Handle`}),`
2384`,(0,F.jsx)(t.p,{children:`Depending on how you use TiPDF, we may handle:`}),` 2385`,(0,F.jsxs)(t.ol,{children:[` 2386`,(0,F.jsxs)(t.li,{children:[(0,F.jsx)(t.strong,{children:`Account information`}),` â such as your name, email address, authentication records, and account settings.`]}),` 2387`,(0,F.jsxs)(t.li,{children:[(0,F.jsx)(t.strong,{children:`Service and device data`}),` â such as requested pages, timestamps, browser type, device type, approximate network information, error records, and security events.`]}),` 2388`,(0,F.jsxs)(t.li,{children:[(0,F.jsx)(t.strong,{children:`Support information`}),` â the messages and attachments you choose to include in a support ticket.`]}),` 2389`,(0,F.jsxs)(t.li,{children:[(0,F.jsx)(t.strong,{children:`Document content`}),` â only as described by the selected tool's processing notice. Many tools process files locally in your browser. Workflows that require a configured conversion or AI service disclose the transfer before use.`]}),` 2390`,(0,F.jsxs)(t.li,{children:[(0,F.jsx)(t.strong,{children:`Cookies and local storage`}),` â used for authentication, security, preferences, and service operation.`]}),` 2391`,(0,F.jsxs)(t.li,{children:[(0,F.jsx)(t.strong,{children:`Analytics data`}),` â TiPDF may use configured analytics services to understand aggregate site usage. Browser privacy controls or blockers may limit this collection.`]}),` 2392`]}),` 2393`,(0,F.jsx)(t.p,{children:`TiPDF does not currently advertise a paid plan. If payment functionality is introduced, the checkout page and an updated policy will describe the payment processor and related data handling.`}),` 2394`,(0,F.jsx)(t.h2,{children:`How We Use Information`}),` 2395`,(0,F.jsx)(t.p,{children:`We use information to operate and secure the service, authenticate accounts, complete the workflow you request, diagnose failures, provide support, prevent abuse, understand product performance, and comply with applicable legal obligations.`}),` 2396`,(0,F.jsx)(t.h2,{children:`Document Processing`}),` 2397`,(0,F.jsx)(t.p,{children:`Local processing keeps document bytes in the browser for that workflow. A local tool may still load application code, fonts, or language models from TiPDF or another disclosed source.`}),` 2398`,(0,F.jsx)(t.p,{children:`Some Office conversion and AI-assisted workflows require a configured remote provider. TiPDF shows a notice before sending document content for those workflows. Provider handling and retention may be governed by that provider's terms and the deployment configuration. Do not approve a remote transfer unless you have the necessary rights and it satisfies your confidentiality requirements.`}),` 2399`,(0,F.jsx)(t.h2,{children:`Sharing and Disclosure`}),` 2400`,(0,F.jsx)(t.p,{children:`We do not sell personal information. We may disclose limited information to service providers that operate the application, to comply with lawful requests, to investigate abuse or security incidents, or to protect users and the service. We limit disclosure to what is reasonably necessary for the purpose.`}),` 2401`,(0,F.jsx)(t.h2,{children:`Retention and Security`}),` 2402`,(0,F.jsx)(t.p,{children:`Retention depends on the data type and configured service. Account and support records may remain until deleted or no longer needed. Local document processing does not create a server copy through TiPDF's application workflow. Remote providers may apply separate retention rules.`}),` 2403`,(0,F.jsx)(t.p,{children:`We use reasonable technical and organizational safeguards, including encrypted transport and access controls. No online service can guarantee absolute security. Keep an original copy of important files and avoid submitting sensitive information when the disclosed workflow does not meet your requirements.`}),` 2404`,(0,F.jsx)(t.h2,{children:`Your Choices`}),` 2405`,(0,F.jsx)(t.p,{children:`You may update available account details in settings and request help through a support ticket. You can also use browser controls for cookies, storage, and analytics. Some controls may prevent authentication or other service features from working.`}),` 2406`,(0,F.jsx)(t.h2,{children:`Children`}),` 2407`,(0,F.jsx)(t.p,{children:`TiPDF is not directed to children who cannot legally consent to the processing described here. Do not create an account or submit personal information unless you are permitted to do so under applicable law.`}),` 2408`,(0,F.jsx)(t.h2,{children:`Changes`}),` 2409`,(0,F.jsx)(t.p,{children:`We may update this policy as the service changes. The date at the top identifies the current version. Material changes may also be announced through the service where appropriate.`}),` 2410`,(0,F.jsx)(t.h2,{children:`Contact`}),` 2411`,(0,F.jsxs)(t.p,{children:[`For privacy questions or requests, sign in and open a supp
2411ort ticket from `,(0,F.jsx)(t.a,{href:`/settings/tickets`,children:`Account Support`}),`. Do not attach passwords, authentication secrets, or unrelated sensitive documents.`]})]})}function $Ve(e={}){let{wrapper:t}={...W9(),...e.components};return t?(0,F.jsx)(t,{...e,children:(0,F.jsx)(G9,{...e})}):G9(e)}var eHe=t({default:()=>nHe,meta:()=>tHe}),tHe={title:`TiPDF Terms of Service`,description:`The terms that apply when using TiPDF and its document tools.`,updated_at:`2026-07-18`};function K9(e){let t={a:`a`,code:`code`,h2:`h2`,li:`li`,p:`p`,ul:`ul`,...W9(),...e.components};return(0,F.jsxs)(F.Fragment,{children:[(0,F.jsx)(t.h2,{children:`Agreement`}),` 2412`,(0,F.jsxs)(t.p,{children:[`These Terms of Service apply to the TiPDF service at `,(0,F.jsx)(t.code,{children:`tipdf.com`}),`. By using TiPDF, you agree to these terms. If you do not agree, do not use the service.`]}),` 2413`,(0,F.jsx)(t.h2,{children:`Service`}),` 2414`,(0,F.jsx)(t.p,{children:`TiPDF provides browser-based tools for viewing, converting, organizing, editing, signing, securing, scanning, and understanding documents. Capabilities, processing locations, file limits, and outputs vary by tool. The current tool page and its processing notice form part of the service description.`}),` 2415`,(0,F.jsx)(t.p,{children:`TiPDF may change, limit, suspend, or discontinue a feature. We aim to describe current behavior accurately, but we do not promise that every workflow will be continuously available or suitable for every document.`}),` 2416`,(0,F.jsx)(t.h2,{children:`Your Files and Responsibilities`}),` 2417`,(0,F.jsx)(t.p,{children:`You retain your rights in files and content you submit. You grant TiPDF and any disclosed processing provider only the permissions reasonably necessary to complete the workflow you request.`}),` 2418`,(0,F.jsx)(t.p,{children:`You are responsible for ensuring that you have the right to use and process the content, choosing an appropriate workflow, keeping an original copy, reviewing the result, and complying with laws, contracts, confidentiality duties, retention rules, and professional obligations that apply to you.`}),` 2419`,(0,F.jsx)(t.p,{children:`OCR, conversion, translation, redaction, electronic signing, and AI-assisted output can contain errors or omit information. Verify material names, numbers, clauses, signatures, redactions, calculations, and conclusions against the authoritative source.`}),` 2420`,(0,F.jsx)(t.h2,{children:`Accounts`}),` 2421`,(0,F.jsxs)(t.p,{children:[`You are responsible for your account credentials and activity. Provide accurate information, protect authentication links and passwords, and report suspected unauthorized access through `,(0,F.jsx)(t.a,{href:`/settings/tickets`,children:`Account Support`}),`.`]}),` 2422`,(0,F.jsx)(t.h2,{children:`Acceptable Use`}),` 2423`,(0,F.jsx)(t.p,{children:`You must not use TiPDF to:`}),` 2424`,(0,F.jsxs)(t.ul,{children:[` 2425`,(0,F.jsx)(t.li,{children:`Violate applicable law or another person's rights.`}),` 2426`,(0,F.jsx)(t.li,{children:`Process content without the necessary authorization.`}),` 2427`,(0,F.jsx)(t.li,{children:`Distribute malware, spam, abusive material, or deceptive content.`}),` 2428`,(0,F.jsx)(t.li,{children:`Probe, bypass, or interfere with security, access controls, usage limits, or service operation.`}),` 2429`,(0,F.jsx)(t.li,{children:`Attempt unauthorized access to accounts, systems, or data.`}),` 2430`,(0,F.jsx)(t.li,{children:`Misrepresent generated output as verified, certified, or authoritative when it has not been appropriately reviewed.`}),` 2431`]}),` 2432`,(0,F.jsx)(t.h2,{children:`Current Access and Future Offers`}),` 2433`,(0,F.jsx)(t.p,{children:`TiPDF's current browser tools are presented without a paid-plan requirement. If paid features are introduced, the checkout page will state the current price, billing period, renewal terms, included features, and cancellation information before purchase. No future price or entitlement is promised by these terms.`}),` 2434`,(0,F.jsx)(t.h2,{children:`Third-Party Services`}),` 2435`,(0,F.jsx)(t.p,{children:`Some workflows may rely on configured conversion, AI, analytics, storage, authentication, or infrastru
2435cture providers. A tool that sends document content away from the browser discloses that transfer before use. Third-party services may apply their own terms and privacy practices.`}),` 2436`,(0,F.jsx)(t.h2,{children:`Intellectual Property`}),` 2437`,(0,F.jsx)(t.p,{children:`TiPDF's application code, interface, branding, and original site content are protected by applicable intellectual property laws and licenses. These terms do not transfer ownership of TiPDF. You may use generated output subject to your rights in the source content and any applicable third-party rights.`}),` 2438`,(0,F.jsx)(t.h2,{children:`Disclaimers`}),` 2439`,(0,F.jsx)(t.p,{children:`TiPDF is provided on an "as available" basis. To the extent permitted by law, we disclaim implied warranties, including merchantability, fitness for a particular purpose, and non-infringement. TiPDF is not legal, medical, financial, tax, archival, accessibility-certification, or security-compliance advice.`}),` 2440`,(0,F.jsx)(t.h2,{children:`Limitation of Liability`}),` 2441`,(0,F.jsx)(t.p,{children:`To the extent permitted by law, TiPDF will not be liable for indirect, incidental, special, consequential, exemplary, or punitive damages, or for loss of data, profits, business, or goodwill arising from use of or inability to use the service. Applicable law may give you rights that cannot be limited by these terms.`}),` 2442`,(0,F.jsx)(t.h2,{children:`Suspension and Termination`}),` 2443`,(0,F.jsx)(t.p,{children:`We may restrict or terminate access when reasonably necessary to address a violation, security risk, legal requirement, or material threat to the service. You may stop using TiPDF at any time and may request available account assistance through support.`}),` 2444`,(0,F.jsx)(t.h2,{children:`Changes`}),` 2445`,(0,F.jsx)(t.p,{children:`We may update these terms as the service changes. The date at the top identifies the current version. Continued use after an update means the updated terms apply, except where applicable law requires another form of notice or consent.`}),` 2446`,(0,F.jsx)(t.h2,{children:`Contact`}),` 2447`,(0,F.jsxs)(t.p,{children:[`For questions about these terms, sign in and open a support ticket from `,(0,F.jsx)(t.a,{href:`/settings/tickets`,children:`Account Support`}),`.`]})]})}function nHe(e={}){let{wrapper:t}={...W9(),...e.components};return t?(0,F.jsx)(t,{...e,children:(0,F.jsx)(K9,{...e})}):K9(e)}var rHe=Object.assign({"/src/content/pages/privacy-policy.en.mdx":ZVe,"/src/content/pages/terms-of-service.en.mdx":eHe});function q9(e){return rHe[`/src/content/pages/${e}.en.mdx`]??null}function J9(e){return{loader:()=>{let t=q9(e);if(!t)throw be();return{meta:t.meta,slug:e}},head:({loaderData:e})=>{if(!e)return{};let{meta:t}=e;return{meta:[{title:t.title},{name:`description`,content:t.description}]}},component:iHe}}function iHe(){let{meta:e,slug:t}=_s({strict:!1}),n=q9(t).default;return(0,F.jsxs)(`article`,{children:[(0,F.jsxs)(`header`,{className:`border-border mb-6 border-b pb-5`,children:[(0,F.jsx)(`h1`,{className:`text-foreground text-3xl font-semibold tracking-tight md:text-4xl`,children:e.title}),(0,F.jsx)(`p`,{className:`text-muted-foreground mt-2 text-sm`,children:e.description}),(0,F.jsxs)(`p`,{className:`text-muted-foreground mt-2 text-xs`,children:[y_(),`: `,e.updated_at]})]}),(0,F.jsx)(`div`,{className:`text-foreground/90 text-[15px] leading-7`,children:(0,F.jsx)(n,{})})]})}var aHe=I(`/(pages)/terms-of-service`)(J9(`terms-of-service`)),oHe=I(`/(pages)/privacy-policy`)(J9(`privacy-policy`)),sHe=I(`/(auth)/verify-email`)({component:L(()=>R(()=>import(`./verify-email-JG3hSNNA.js`),__vite__mapDeps([108,1,2,3,4,12,13,8,14,7,22,35])),`component`)}),cHe=I(`/(auth)/sign-up`)({component:L(()=>R(()=>import(`./sign-up-BPrKWniZ.js`),__vite__mapDeps([109,1,2,3,4,84,8,12,13,14,7,22,86,28,6,11,87,53,62,20,35])),`component`)}),lHe=I(`/(auth)/sign-in`)({component:L(()=>R(()=>import(`./sign-in-ButQPtju.js`),__vite__mapDeps([110,1,2,3,4,28,6,11,7,84,8,12,13,14,22,86,87,53,62,20,35])),`component`)}),uHe=I(`/(auth)/reset-password`)({component:L(()=>R(()=>import(`./reset-password-CWnOTYKT.js`),__vite__mapDeps([111,1,2,3,4,84,8,12,13,14,7,22,86,28,6,11,87,53,62,20,35])),`component`)}),dHe=I(`/(auth)/redeem-invite`)({component:L(()=>R(()=>import(`./redeem-invite-DUmC2hjm.js`),__vite__mapDeps([112,1,2,3,4,28,6,11,7,12,13,8,14,22,35,87,53,62,20])),`component`)}),fHe=I(`/(auth)/forgot-password`)({component:L(()=>R(()=>import(`./forgot-password-DoxKw_AF.js`),__vite__mapDeps([113,1,2,3,4,84,8,12,13,14,7,22,86,28,6,11,87,53,62,20,35])),`component`)}),pHe=Jp.update({id:`/support`,path:`/support`,getParentRoute:()=>qp}),mHe=Yp.update({id:`/pricing`,path:`/pricing`,getParentRoute:()=>qp}),hHe=RIe.update({id:`/pdf-tools`,path:`/pdf-tools`,getParentRoute:()=>qp}),gHe=zIe.update({id:`/download`,path:`/download`,getParentRoute:()=>qp}),_He=BIe.update({id:`/about`,path:`/about`,getParentRoute:()=>qp}),vHe=G5.update({id:`/$slug`,path:`/$slug`,getParentRoute:()=>qp}),Y9=qIe.update({id:`/settings`,path:`/settings`,getParentRoute:()=>qp}),X9=JIe.update({id:`/admin`,path:`/admin`,getParentRoute:()=>qp}),Z9=YIe.update({id:`/(pages)`,getParentRoute:()=>qp}),Q9=XIe.update({id:`/(auth)`,getParentRoute:()=>qp}),yHe=ZIe.update({id:`/`,path:`/`,getParentRoute:()=>qp}),bHe=Y5.update({id:`/blog/`,path:`/blog/`,getParentRoute:()=>qp}),xHe=X5.update({id:`/blog/$slug`,path:`/blog/$slug`,getParentRoute:()=>qp}),SHe=nLe.update({id:`/`,path:`/`,getParentRoute:()=>Y9}),CHe=rLe.update({id:`/tickets`,path:`/tickets`,getParentRoute:()=>Y9}),wHe=iLe.update({id:`/profile`,path:`/profile`,getParentRoute:()=>Y9}),THe=aLe.update({id:`/payments`,path:`/payments`,getParentRoute:()=>Y9}
2447),EHe=oLe.update({id:`/credits`,path:`/credits`,getParentRoute:()=>Y9}),DHe=sLe.update({id:`/billing`,path:`/billing`,getParentRoute:()=>Y9}),OHe=cLe.update({id:`/apikeys`,path:`/apikeys`,getParentRoute:()=>Y9}),kHe=lLe.update({id:`/`,path:`/`,getParentRoute:()=>X9}),AHe=uLe.update({id:`/users`,path:`/users`,getParentRoute:()=>X9}),jHe=dLe.update({id:`/tickets`,path:`/tickets`,getParentRoute:()=>X9}),MHe=fLe.update({id:`/subscriptions`,path:`/subscriptions`,getParentRoute:()=>X9}),NHe=pLe.update({id:`/settings`,path:`/settings`,getParentRoute:()=>X9}),PHe=BVe.update({id:`/roles`,path:`/roles`,getParentRoute:()=>X9}),FHe=HVe.update({id:`/posts`,path:`/posts`,getParentRoute:()=>X9}),IHe=UVe.update({id:`/permissions`,path:`/permissions`,getParentRoute:()=>X9}),LHe=WVe.update({id:`/payments`,path:`/payments`,getParentRoute:()=>X9}),RHe=KVe.update({id:`/invite-codes`,path:`/invite-codes`,getParentRoute:()=>X9}),zHe=qVe.update({id:`/credits`,path:`/credits`,getParentRoute:()=>X9}),BHe=YVe.update({id:`/categories`,path:`/categories`,getParentRoute:()=>X9}),VHe=aHe.update({id:`/terms-of-service`,path:`/terms-of-service`,getParentRoute:()=>Z9}),HHe=oHe.update({id:`/privacy-policy`,path:`/privacy-policy`,getParentRoute:()=>Z9}),UHe=sHe.update({id:`/verify-email`,path:`/verify-email`,getParentRoute:()=>Q9}),WHe=cHe.update({id:`/sign-up`,path:`/sign-up`,getParentRoute:()=>Q9}),GHe=lHe.update({id:`/sign-in`,path:`/sign-in`,getParentRoute:()=>Q9}),KHe=uHe.update({id:`/reset-password`,path:`/reset-password`,getParentRoute:()=>Q9}),qHe=dHe.update({id:`/redeem-invite`,path:`/redeem-invite`,getParentRoute:()=>Q9}),JHe={authForgotPasswordRoute:fHe.update({id:`/forgot-password`,path:`/forgot-password`,getParentRoute:()=>Q9}),authRedeemInviteRoute:qHe,authResetPasswordRoute:KHe,authSignInRoute:GHe,authSignUpRoute:WHe,authVerifyEmailRoute:UHe},YHe=Q9._addFileChildren(JHe),XHe={pagesPrivacyPolicyRoute:HHe,pagesTermsOfServiceRoute:VHe},ZHe=Z9._addFileChildren(XHe),QHe={AdminCategoriesRoute:BHe,AdminCreditsRoute:zHe,AdminInviteCodesRoute:RHe,AdminPaymentsRoute:LHe,AdminPermissionsRoute:IHe,AdminPostsRoute:FHe,AdminRolesRoute:PHe,AdminSettingsRoute:NHe,AdminSubscriptionsRoute:MHe,AdminTicketsRoute:jHe,AdminUsersRoute:AHe,AdminIndexRoute:kHe},$He=X9._addFileChildren(QHe),eUe={SettingsApikeysRoute:OHe,SettingsBillingRoute:DHe,SettingsCreditsRoute:EHe,SettingsPaymentsRoute:THe,SettingsProfileRoute:wHe,SettingsTicketsRoute:CHe,SettingsIndexRoute:SHe},tUe={IndexRoute:yHe,authRouteRoute:YHe,pagesRouteRoute:ZHe,AdminRouteRoute:$He,SettingsRouteRoute:Y9._addFileChildren(eUe),SlugRoute:vHe,AboutRoute:_He,DownloadRoute:gHe,PdfToolsRoute:hHe,PricingRoute:mHe,SupportRoute:pHe,BlogSlugRoute:xHe,BlogIndexRoute:bHe},nUe=qp._addFileChildren(tUe);function rUe(){return Vs({routeTree:nUe,defaultPreload:`intent`,scrollRestoration:!0})}async function iUe(){let e=await rUe(),t=[];return window.__TSS_START_OPTIONS__={serializationAdapters:t},t.push(Lo),e.options.serializationAdapters&&t.push(...e.options.serializationAdapters),e.update({basepath:``,serializationAdapters:t}),e.stores.matchesId.get().length||await Uo(e),e}var aUe=iUe;async function oUe(){let e=await aUe();return window.$_TSR?.h(),e}var $9;function sUe(){return $9||=oUe(),(0,F.jsx)(Go,{promise:$9,children:e=>(0,F.jsx)(Ws,{router:e})})}var cUe=je();(0,P.startTransition)(()=>{(0,cUe.hydrateRoot)(document,(0,F.jsx)(P.StrictMode,{children:(0,F.jsx)(sUe,{})}))});export{vJ as $,WT as $a,fb as $c,mf as $d,QD as $i,gv as $l,BL as $n,zw as $o,OA as $r,PS as $s,HU as $t,Vh as $u,uY as A,BE as Aa,vx as Ac,Bm as Ad,XO as Ai,zv as Al,uH as An,cT as Ao,Ej as Ar,PC as As,HW as At,a_ as Au,WJ as B,gE as Ba,Kb as Bc,_m as Bd,wO as Bi,kv as Bl,ER as Bn,Qw as Bo,oj as Br,fC as Bs,bW as Bt,sg as Bu,wY as C,eD as Ca,Ix as Cc,eh as Cd,Cc as Cf,mk as Ci,Qv as Cl,HH as Cn,hT as Co,Kj as Cr,JC as Cs,nG as Ct,T_ as Cu,gY as D,KE as Da,wx as Dc,Km as Dd,Qs as Df,ok as Di,Wv as Dl,gH as Dn,dT as Do,Mj as Dr,BC as Ds,JW as Dt,h_ as Du,vY as E,JE as Ea,Ax as Ec,Jm as Ed,Oc as Ef,ck as Ei,Kv as El,vH as En,fT as Eo,Pj as Er,HC as Es,XW as Et,__ as Eu,eY as F,AE as Fa,cx as Fc,Fm as Fd,PO as Fi,Pv as Fl,eH as Fn,rT as Fo,gj as Fr,SC as Fs,MW as Ft,Vg as Fu,PJ as G,oE as Ga,Ib as Gc,wp as Gd,mO as Gi,wv as Gl,gR as Gn,qw as Go,XA as Gr,nC as Gs,iW as Gt,Zh as Gu,BJ as H,fE as Ha,Hb as Hc,zp as Hd,bO as Hi,Dv as Hl,SR as Hn,Xw as Ho,nj as Hr,cC as Hs,gW as Ht,rg as Hu,QJ as I,OE as Ia,ox as Ic,Pm as Id,MO as Ii,Nv as Il,PR as In,nT as Io,mj as Ir,bC as Is,AW as It,zg as Iu,OJ as J,eE as Ja,Ab as Jc,_p as Jd,cO as Ji,xv as Jl,XL as Jn,Ww as Jo,WA as Jr,XS as Js,QU as Jt,Kh as Ju,MJ as K,iE as Ka,Pb as Kc,Sp as Kd,fO as Ki,Cv as Kl,mR as Kn,Kw as Ko,JA as Kr,eC as Ks,nW as Kt,Yh as Ku,XJ as L,EE as La,ix as
2447Lc,Am as Ld,AO as Li,Mv as Ll,MR as Ln,tT as Lo,fj as Lr,vC as Ls,OW as Lt,Lg as Lu,oY as M,IE as Ma,mx as Mc,Rm as Md,BO as Mi,Lv as Ml,oH as Mn,oT as Mo,Sj as Mr,AC as Ms,RW as Mt,Yg as Mu,iY as N,PE as Na,fx as Nc,Lm as Nd,RO as Ni,Iv as Nl,iH as Nn,aT as No,bj as Nr,EC as Ns,IW as Nt,qg as Nu,mY as O,WE as Oa,Sx as Oc,Wm as Od,Is as Of,ik as Oi,Hv as Ol,mH as On,uT as Oo,Aj as Or,RC as Os,KW as Ot,p_ as Ou,nY as P,ME as Pa,ux as Pc,Im as Pd,IO as Pi,Fv as Pl,nH as Pn,iT as Po,vj as Pr,wC as Ps,PW as Pt,Ug as Pu,bJ as Q,KT as Qa,mb as Qc,wf as Qd,eO as Qi,_v as Ql,HL as Qn,Bw as Qo,IA as Qr,HS as Qs,WU as Qt,Hh as Qu,JJ as R,wE as Ra,Xb as Rc,Em as Rd,OO as Ri,jv as Rl,AR as Rn,eT as Ro,uj as Rr,gC as Rs,EW as Rt,Fg as Ru,EY as S,nD as Sa,Rx as Sc,nh as Sd,pc as Sf,gk as Si,ey as Sl,WH as Sn,gT as So,Jj as Sr,XC as Ss,iG as St,D_ as Su,bY as T,XE as Ta,Mx as Tc,Xm as Td,_c as Tf,uk as Ti,Jv as Tl,RH as Tn,pT as To,Ij as Tr,WC as Ts,QW as Tt,x_ as Tu,RJ as U,uE as Ua,Bb as Uc,Fp as Ud,vO as Ui,Ev as Ul,bR as Un,Yw as Uo,ej as Ur,oC as Us,cW as Ut,tg as Uu,HJ as V,mE as Va,Wb as Vc,Vp as Vd,SO as Vi,Ov as Vl,wR as Vn,Zw as Vo,ij as Vr,uC as Vs,vW as Vt,ag as Vu,IJ as W,cE as Wa,Rb as Wc,Dp as Wd,gO as Wi,Tv as Wl,vR as Wn,Jw as Wo,QA as Wr,iC as Ws,oW as Wt,$h as Wu,wJ as X,XT as Xa,Eb as Xc,ap as Xd,iO as Xi,yv as Xl,KL as Xn,Hw as Xo,BA as Xr,KS as Xs,JU as Xt,Wh as Xu,EJ as Y,QT as Ya,Ob as Yc,up as Yd,oO as Yi,bv as Yl,JL as Yn,Uw as Yo,HA as Yr,JS as Ys,XU as Yt,Gh as Yu,SJ as Z,JT as Za,gb as Zc,Vf as Zd,nO as Zi,vv as Zl,WL as Zn,Vw as Zo,RA as Zr,WS as Zs,KU as Zt,Uh as Zu,WIe as _,fD as _a,Xx as _c,fh as _d,R as _f,Ik as _i,uy as _l,eU as _n,xT as _o,iM as _r,cw as _s,mq as _t,L_ as _u,X5 as a,BD as aa,SS as ac,Fh as ad,xf as af,gA as ai,Py as al,AU as an,NT as ao,KM as ar,Nw as as,Rq as at,sv as au,AY as b,oD as ba,Hx as bc,oh as bd,nl as bf,Ek as bi,iy as bl,JH as bn,vT as bo,Qj as br,ew as bs,cG as bt,j_ as bu,QIe as c,PD as ca,gS as cc,Ah as cd,of as cf,oA as ci,Oy as cl,wU as cn,AT as co,BM as cr,Aw as cs,Mq as ct,tv as cu,B5 as d,OD as da,uS as dc,wh as dd,sf as df,Jk as di,Sy as dl,vU as dn,DT as do,gM as dr,ww as ds,Eq as dt,Y_ as du,XD as ea,MS as ec,Bh as ed,bf as ef,EA as ei,ub as el,BU as en,HT as eo,RL as er,Rw as es,gJ as et,hv as eu,z5 as f,SD as fa,cS as fc,Sh as fd,lf as ff,Kk as fi,by as fl,gU as fn,ET as fo,mM as fr,Sw as fs,wq as ft,q_ as fu,UIe as g,mD as ga,Qx as gc,mh as gd,Hl as gf,Rk as gi,fy as gl,nU as gn,ST as go,oM as gr,uw as gs,gq as gt,z_ as gu,R5 as h,gD as ha,nS as hc,gh as hd,W as hf,Bk as hi,my as hl,uU as hn,CT as ho,cM as hr,fw as hs,vq as ht,V_ as hu,D9 as i,HD as ia,wS as ic,Ih as id,Sf as if,vA as ii,Iy as il,MU as in,PT as io,JM as ir,Pw as is,Bq as it,lv as iu,cY as j,RE as ja,gx as jc,zm as jd,HO as ji,Rv as jl,cH as jn,sT as jo,wj as jr,MC as js,BW as jt,Zg as ju,fY as k,HE as ka,bx as kc,Hm as kd,QO as ki,Bv as kl,fH as kn,lT as ko,Oj as kr,IC as ks,WW as kt,d_ as ku,G5 as l,MD as la,mS as lc,Oh as ld,df as lf,iA as li,Ey as ll,SU as ln,kT as lo,RM as lr,Ow as ls,Aq as lt,$_ as lu,L5 as m,vD as ma,iS as mc,vh as md,uf as mf,Hk as mi,gy as ml,fU as mn,wT as mo,uM as mr,mw as ms,bq as mt,U_ as mu,V9 as n,KD as na,OS as nc,Rh as nd,yf as nf,SA as ni,By as nl,IU as nn,RT as no,PL as nr,Iw as ns,iJ as nt,pv as nu,Y5 as o,RD as oa,bS as oc,Ph as od,vf as of,mA as oi,My as ol,OU as on,MT as oo,WM as or,Mw as os,Iq as ot,av as ou,GIe as p,bD as pa,oS as pc,bh as pd,cf as pf,Wk as pi,vy as pl,mU as pn,TT as po,fM as pr,bw as ps,Sq as pt,G_ as pu,AJ as q,nE as qa,Mb as qc,vp as qd,uO as qi,Sv as ql,QL as qn,Gw as qo,KA as qr,QS as qs,eW as qt,qh as qu,P9 as r,WD as ra,ES as rc,Lh as rd,_f as rf,bA as ri,Ry as rl,PU as rn,IT as ro,ML as rr,Fw as rs,nJ as rt,dv as ru,q5 as s,ID as sa,vS as sc,Mh as sd,Cf as sf,fA as si,Ay as sl,EU as sn,jT as so,HM as sr,jw as ss,Pq as st,rv as su,XVe as t,JD as ta,AS as tc,zh as td,gf as tf,wA as ti,cb as tl,RU as tn,BT as to,IL as tr,Lw as ts,mJ as tt,mv as tu,W5 as u,AD as ua,fS as uc,Eh as ud,ff as uf,Xk as ui,wy as ul,bU as un,OT as uo,IM as ur,Ew as us,Oq as ut,Z_ as uu,PY as v,uD as va,Kx as vc,uh as vd,Cl as vf,Pk as vi,cy as vl,QH as vn,bT as vo,nM as vr,iw as vs,fq as vt,F_ as vu,SY as w,QE as wa,Px as wc,Qm as wd,ic as wf,fk as wi,Xv as wl,BH as wn,mT as wo,Rj as wr,KC as ws,eG as wt,C_ as wu,OY as x,iD as xa,Bx as xc,ih as xd,Pc as xf,vk as xi,ny as xl,KH as xn,_T as xo,Xj as xr,QC as xs,oG as xt,k_ as xu,MY as y,cD as ya,Wx as yc,ch as yd,cl as yf,Ok as yi,oy as yl,XH as yn,yT as yo,eM as yr,nw as ys,uG as yt,N_ as yu,KJ as z,SE as za,Jb as zc,vm as zd,EO as zi,Av as zl,OR as zn,$w as zo,cj as zr,mC as zs,SW as zt,Ng as zu};
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.