RT 4
(Request Tracker 4.0)
                 jesse@bestpractical.com
                 http://bestpractical.com
Hi, I'm Jesse Vincent

From Boston, MA in the US
Perl Hacker
Current Perl 5 “pumpking”
Android Hacker (K-9 Mail)
Kindle Hacker (Savory)
Former Perl 6 project manager
Finding me

@obra
jesse@bestpractical.com
facebook.com/jesse.vincent
Hi I'm Jesse

Original Author of RT
Partner at Best Practical
RT project lead
(That just I don't get to
 code much anymore)
Best Practical

We make RT
We sell support
We sell training
We sell consulting
We sell custom development
Our offices

Boston, MA
Moscow, Russia
Hangzhou, China
Pinglin, Taiwan
(We're 11 people)
RT: Request Tracker


General purpose ticketing system
GNU GPLv2
Continuous
development
 since 1996
O(100) downloads
   every day
What is a ticketing system?
It keeps track of what
   needs to get done
It keeps track of what
       got done
...along with lots
   of metadata
...and business logic
...and access control
...It's just a TODO list
On some very serious drugs
not
Important properties of
      ticketing systems
●   Everything has a unique ID
●   Everything has a timestamp
●   History can't be edited or erased
What do you use a ticketing
       system for?
Network operations Accounts Payable
Bug tracking       Accounts
                   Receivable
Call center
                   Vacation rentals
Helpdesk
                   Youth counselling
Customer service
                   Workflow
Work orders
What we use RT for
Bug Tracking
Bronze/Silver/Gold support
Customer Development
Resumes
Inbound Sales Inquiries
Sales Leads
Accounts Payable
Accounts Receivable
Who uses RT?
Who else uses RT?
http://requesttracker.wikia.com/wiki/RTUsers
RT Scales
It scales down
(for testing or development)
Run RT on your laptop
SQLite
Standalone web server
It scales up
Largest RT I know about
40,000-70,000 tickets
...every day
(Nearly 1 ticket/second)
Multiple front-end app servers
Big database server
  with hot standby
Designed to be hookable
     and pluggable
Plugins
●


●   rt-action-linearescalate                   ●   rt-extension-log-memoryusage
●   rt-action-notifygroup                      ●   rt-extension-menubarsearches
●   rt-ajaxyreplypage                              rt-extension-mergeusers
                                               ●
    rt-authen-bitcard
●
                                               ●   rt-extension-mergeusershistory
●   rt-authen-openid2
                                               ●   rt-extension-nagios
●   rt-bugtracker
    rt-bugtracker-public                       ●   rt-extension-notificationmatrix
●


●   rt-condition-complex                       ●   rt-extension-priorityasstring
●   rt-crypt-smime                             ●   rt-extension-quickcalls
●   rt-extension-activityreports               ●   rt-extension-quickdelete
●   rt-extension-activityreports-billing       ●   rt-extension-quickupdate
●   rt-extension-addadminccsonqueuechange          rt-extension-reportspam
                                               ●

    rt-extension-attributewalker
●
                                               ●   rt-extension-rt_cpan_org
    rt-extension-captcha
                                                   rt-extension-spawnlinkedticketinqueue
●
                                               ●
●   rt-extension-cloneticket-withdata
                                                   rt-extension-utils
●   rt-extension-commandbyemail                ●



    rt-extension-commandbymail                 ●   rtfm
●


●   rt-extension-commentoncreate               ●   rtfm-extension-articletemplate
●   rt-extension-customfield-hideemptyvalues   ●   rtir
●   rt-extension-datediscordian                ●   rtx-calendar
●   rt-extension-extractcustomfieldvalues      ●   rtx-emailcompletion
●   rt-extension-formtools                         rtx-ticketlist-transactions
                                               ●
    rt-extension-jsgantt
●
                                               ●   rtx-workflowbuilder
●   rt-extension-ldapimport
(and a bunch more
created by RT users)
RT 4.0
Now available?
Not quite
Christmas 2010:

   4.0.0RC1
March 24, 2011:

  4.0.0 RC7
Release next week?
hcchien has been asking
 me to do a talk on RT4
  since at least 2006.
I've been promising “next year”
          for 5 years.
We started RT4 in
September 2007
I named it 3.999-DANGEROUS
In literature, they call
 that foreshadowing
I do public RT trainings
   a few times a year
I talk about RT's history
These are the slides I use
A Brief History of RT
RT 0.9 (1996)
●   Designed for use at a single
    company
●   2 sysadmins
●   30 users
RT 1.0 (1999)
●   Same as RT 0.9
    + a bit more courage
●   Used at hundeds of companies
●   Dozens of CSRs
●   Thouands of requests per day
●   Intense guilt
RT 2.0 (2001)
●   Total rewrite
●   Just after Jesse escaped Microsoft
●   DBIx::SearchBuilder
●   Abstraction
●   Whole new UI
●   No more frames
●   “Keywords”
RT 3.0 (2003)
●   Overhauled web interface
●   Extension mechanisms
●   Internationalization
●   Custom fields
●   Cleaner internals
●   Tests
RT 3.2 (2004)
●   New search UI
●   Spreadsheet / RSS output
●   Outgoing mail preview and logging
●   UI improvements
●   No major structural changes
●   More tests
RT 3.4 (2005)
●   Reimplemented Custom Fields
●   Custom fields on users, groups
    transactions
●   Generalized Transaction system
●   Faster, Faster, Faster
●   Prettier
●   Even more tests
RT 3.6 (2006)
●   All-CSS layout and styling
●   Customizable homepage
●   Built in charts and reports
●   Ticket "reminders"
●   Comprehensive test coverage
●   Cleaner code
RT 3.8 (2008)
●   More user preferences
●   Timezones
●   Theme
●   Ticket history order
●   New configuration system
●   Even more tests
RT 3.8 (continued)
●   “Favorite” tickets
●   Ticket relationship graphs
●   Branded queues
●   iCal feeds
●   PGP support
RT 4.0 (2008?)
Never trust a vendor who
 makes promises about
  unreleased products
That's really what it said!
It was sort of a joke
...little did I know
All Taiwanese know that
    4 is very unlucky
You're supposed
  to just skip 4
Nobody warned me
...until last night!
In my culture, 6 is
the unlucky number.
Along came 2006
We started thinking
about building RT 4.0
RT is big
http://www.flickr.com/photos/swiv/4426214075/
RT is big
http://www.flickr.com/photos/daymin/4715213393/
RT is complex
http://www.flickr.com/photos/18909153@N08/5241036226/

RT4 - The whole sordid story

",o=o.removeChild(o.firstChild);break;case"select":o="string"==typeof r.is?i.createElement("select",{is:r.is}):i.createElement("select"),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o="string"==typeof r.is?i.createElement(a,{is:r.is}):i.createElement(a)}}o[eL]=t,o[eD]=r;e:for(i=t.child;null!==i;){if(5===i.tag||6===i.tag)o.appendChild(i.stateNode);else if(4!==i.tag&&27!==i.tag&&null!==i.child){i.child.return=i,i=i.child;continue}if(i===t)break;for(;null===i.sibling;){if(null===i.return||i.return===t)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}switch(t.stateNode=o,ud(o,a,r),a){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break;case"img":r=!0;break;default:r=!1}r&&iV(t)}}return iZ(t),iQ(t,t.type,null===e?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&iV(t);else{if("string"!=typeof r&&null===t.stateNode)throw Error(s(166));if(e=G.current,rO(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,null!==(a=rw))switch(a.tag){case 27:case 5:r=a.memoizedProps}e[eL]=t,(e=!!(e.nodeValue===n||null!==r&&!0===r.suppressHydrationWarning||us(e.nodeValue,n)))||rP(t,!0)}else(e=uh(e).createTextNode(r))[eL]=t,t.stateNode=e}return iZ(t),null;case 31:if(n=t.memoizedState,null===e||null!==e.memoizedState){if(r=rO(t),null!==n){if(null===e){if(!r)throw Error(s(318));if(!(e=null!==(e=t.memoizedState)?e.dehydrated:null))throw Error(s(557));e[eL]=t}else rL(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;iZ(t),e=!1}else n=rD(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e){if(256&t.flags)return aH(t),t;return aH(t),null}if(0!=(128&t.flags))throw Error(s(558))}return iZ(t),null;case 13:if(r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(a=rO(t),null!==r&&null!==r.dehydrated){if(null===e){if(!a)throw Error(s(318));if(!(a=null!==(a=t.memoizedState)?a.dehydrated:null))throw Error(s(317));a[eL]=t}else rL(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;iZ(t),a=!1}else a=rD(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a){if(256&t.flags)return aH(t),t;return aH(t),null}}if(aH(t),0!=(128&t.flags))return t.lanes=n,t;return n=null!==r,e=null!==e&&null!==e.memoizedState,n&&(r=t.child,a=null,null!==r.alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(a=r.alternate.memoizedState.cachePool.pool),o=null,null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),iK(t,t.updateQueue),iZ(t),null;case 4:return Y(),null===e&&s9(t.stateNode.containerInfo),iZ(t),null;case 10:return rj(t.type),iZ(t),null;case 19:if(F(aG),null===(r=t.memoizedState))return iZ(t),null;if(a=0!=(128&t.flags),null===(o=r.rendering))if(a)iJ(r,!1);else{if(0!==lq||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(o=aq(e))){for(t.flags|=128,iJ(r,!1),t.updateQueue=e=o.updateQueue,iK(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)rn(n,e),n=n.sibling;return j(aG,1&aG.current|2),rN&&rb(t,r.treeForkCount),t.child}e=e.sibling}null!==r.tail&&eo()>l2&&(t.flags|=128,a=!0,iJ(r,!1),t.lanes=4194304)}else{if(!a)if(null!==(e=aq(o))){if(t.flags|=128,a=!0,t.updateQueue=e=e.updateQueue,iK(t,e),iJ(r,!0),null===r.tail&&"hidden"===r.tailMode&&!o.alternate&&!rN)return iZ(t),null}else 2*eo()-r.renderingStartTime>l2&&0x20000000!==n&&(t.flags|=128,a=!0,iJ(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(null!==(e=r.last)?e.sibling=o:t.child=o,r.last=o)}if(null!==r.tail)return e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=eo(),e.sibling=null,n=aG.current,j(aG,a?1&n|2:1&n),rN&&rb(t,r.treeForkCount),e;return iZ(t),null;case 22:case 23:return aH(t),aM(),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?0!=(0x20000000&n)&&0==(128&t.flags)&&(iZ(t),6&t.subtreeFlags&&(t.flags|=8192)):iZ(t),null!==(n=t.updateQueue)&&iK(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),r=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),null!==e&&F(r9),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),rj(rZ),iZ(t),null;case 25:case 30:return null}throw Error(s(156,t.tag))}(t.alternate,t,lG);if(null!==n){lU=n;return}if(null!==(t=t.sibling)){lU=t;return}lU=t=e}while(null!==t)0===lq&&(lq=5)}function sT(e,t){do{var n=function(e,t){switch(rE(t),t.tag){case 1:return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return rj(rZ),Y(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 26:case 27:case 5:return Q(t),null;case 31:if(null!==t.memoizedState){if(aH(t),null===t.alternate)throw Error(s(340));rL()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 13:if(aH(t),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(s(340));rL()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return F(aG),null;case 4:return Y(),null;case 10:return rj(t.type),null;case 22:case 23:return aH(t),aM(),null!==e&&F(r9),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 24:return rj(rZ),null;default:return null}}(e.alternate,e);if(null!==n){n.flags&=32767,lU=n;return}if(null!==(n=e.return)&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&null!==(e=e.sibling)){lU=e;return}lU=e=n}while(null!==e)lq=6,lU=null}function sw(e,t,n,r,a,o,i,l,u){e.cancelPendingCommit=null;do sC();while(0!==l8)if(0!=(6&lD))throw Error(s(327));if(null!==t){if(t===e.current)throw Error(s(177));if(!function(e,t,n,r,a,o){var i=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 l=e.entanglements,s=e.expirationTimes,u=e.hiddenUpdates;for(n=i&~n;0g&&(i=g,g=h,h=i);var y=nx(l,h),v=nx(l,g);if(y&&v&&(1!==p.rangeCount||p.anchorNode!==y.node||p.anchorOffset!==y.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var b=d.createRange();b.setStart(y.node,y.offset),p.removeAllRanges(),h>g?(p.addRange(b),p.extend(v.node,v.offset)):(b.setEnd(v.node,v.offset),p.addRange(b))}}}}for(d=[],p=l;p=p.parentNode;)1===p.nodeType&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for("function"==typeof l.focus&&l.focus(),l=0;ln?32:n,L.T=null,n=se,se=null;var o=l5,i=l9;if(l8=0,l6=l5=null,l9=0,0!=(6&lD))throw Error(s(331));var l=lD;if(lD|=4,lI(o.current),lw(o,o.current,i,n),lD=l,sq(0,!1),ep&&"function"==typeof ep.onPostCommitFiberRoot)try{ep.onPostCommitFiberRoot(ef,o)}catch(e){}return!0}finally{D.p=a,L.T=r,sR(e,t)}}function sI(e,t,n){t=ru(n,t),t=ig(e.stateNode,t,2),null!==(e=aw(e,t,2))&&(ek(e,2),sG(e))}function sA(e,t,n){if(3===e.tag)sI(e,e,n);else for(;null!==t;){if(3===t.tag){sI(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===l4||!l4.has(r))){e=ru(n,e),null!==(r=aw(t,n=iy(2),2))&&(iv(n,r,t,e),ek(r,2),sG(r));break}}t=t.return}}function sO(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new lL;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(lH=!0,a.add(n),e=sL.bind(null,e,t,n),t.then(e,e))}function sL(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,lM===e&&(lz&n)===n&&(4===lq||3===lq&&(0x3c00000&lz)===lz&&300>eo()-l0?0==(2&lD)&&sf(e,0):lV|=n,lX===lz&&(lX=0)),sG(e)}function sD(e,t){0===t&&(t=eT()),null!==(e=n4(e,t))&&(ek(e,t),sG(e))}function sM(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),sD(e,n)}function sU(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;null!==a&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(s(314))}null!==r&&r.delete(t),sD(e,n)}var sz=null,sB=null,sF=!1,sj=!1,s$=!1,sH=0;function sG(e){e!==sB&&null===e.next&&(null===sB?sz=sB=e:sB=sB.next=e),sj=!0,sF||(sF=!0,uT(function(){0!=(6&lD)?et(el,sW):sY()}))}function sq(e,t){if(!s$&&sj){s$=!0;do for(var n=!1,r=sz;null!==r;){if(!t)if(0!==e){var a=r.pendingLanes;if(0===a)var o=0;else{var i=r.suspendedLanes,l=r.pingedLanes;o=0xc000095&(o=(1<<31-em(42|e)+1)-1&(a&~(i&~l)))?0xc000095&o|1:o?2|o:0}0!==o&&(n=!0,sX(r,o))}else o=lz,0==(3&(o=eS(r,r===lM?o:0,null!==r.cancelPendingCommit||-1!==r.timeoutHandle)))||eE(r,o)||(n=!0,sX(r,o));r=r.next}while(n)s$=!1}}function sW(){sY()}function sY(){sj=sF=!1;var e,t=0;0===sH||((e=window.event)&&"popstate"===e.type?e===ub||(ub=e,0):(ub=null,1))||(t=sH);for(var n=eo(),r=null,a=sz;null!==a;){var o=a.next,i=sV(a,n);0===i?(a.next=null,null===r?sz=o:r.next=o,null===o&&(sB=r)):(r=a,(0!==t||0!=(3&i))&&(sj=!0)),a=o}0!==l8&&5!==l8||sq(t,!1),0!==sH&&(sH=0)}function sV(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,o=-0x3c00001&e.pendingLanes;0 title"):null)}function u3(e){return"stylesheet"!==e.type||0!=(3&e.state.loading)}var u4=0;function u8(){if(this.count--,0===this.count&&(0===this.imgCount||!this.waitingForImages)){if(this.stylesheets)u6(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var u5=null;function u6(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,u5=new Map,t.forEach(u9,e),u5=null,u8.call(e))}function u9(e,t){if(!(4&t.state.loading)){var n=u5.get(e);if(n)var r=n.get(null);else{n=new Map,u5.set(e,n);for(var a=e.querySelectorAll("link[data-precedence],style[data-precedence]"),o=0;otypeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var cU=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!cU.isDisabled&&cU.supportsFiber)try{ef=cU.inject({bundleType:0,version:"19.2.5",rendererPackageName:"react-dom",currentDispatcherRef:L,reconcilerVersion:"19.2.5"}),ep=cU}catch(e){}}n.createRoot=function(e,t){if(!u(e))throw Error(s(299));var n=!1,r="",a=ic,o=id,i=ip;return null!=t&&(!0===t.unstable_strictMode&&(n=!0),void 0!==t.identifierPrefix&&(r=t.identifierPrefix),void 0!==t.onUncaughtError&&(a=t.onUncaughtError),void 0!==t.onCaughtError&&(o=t.onCaughtError),void 0!==t.onRecoverableError&&(i=t.onRecoverableError)),t=ct(e,1,!1,null,null,n,r,null,a,o,i,cO),e[eM]=t.current,s9(e),new cL(t)},n.hydrateRoot=function(e,t,n){if(!u(e))throw Error(s(299));var r,a=!1,o="",i=ic,l=id,c=ip,d=null;return null!=n&&(!0===n.unstable_strictMode&&(a=!0),void 0!==n.identifierPrefix&&(o=n.identifierPrefix),void 0!==n.onUncaughtError&&(i=n.onUncaughtError),void 0!==n.onCaughtError&&(l=n.onCaughtError),void 0!==n.onRecoverableError&&(c=n.onRecoverableError),void 0!==n.formState&&(d=n.formState)),(t=ct(e,1,!0,t,null!=n?n:null,a,o,d,i,l,c,cO)).context=(r=null,n6),n=t.current,(o=aT(a=eC(a=sa()))).callback=null,aw(n,o,a),n=a,t.current.lanes=n,ek(t,n),sG(t),e[eM]=t.current,s9(e),new cD(t)},n.version="19.2.5"},3362,(e,t,n)=>{"use strict";!function e(){if("u">typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),t.exports=e.r(855852)},645419,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"Portal",{enumerable:!0,get:function(){return o}});let r=e.r(687652),a=e.r(615882),o=({children:e,type:t})=>{let[n,o]=(0,r.useState)(null);return(0,r.useEffect)(()=>{let e=document.createElement(t);return document.body.appendChild(e),o(e),()=>{document.body.removeChild(e)}},[t]),n?(0,a.createPortal)(e,n):null};("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},782587,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={default:function(){return l},isEqualNode:function(){return i}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let o=e.r(310849);function i(e,t){if(e instanceof HTMLElement&&t instanceof HTMLElement){let n=t.getAttribute("nonce");if(n&&!e.getAttribute("nonce")){let r=t.cloneNode(!0);return r.setAttribute("nonce",""),r.nonce=n,n===e.nonce&&e.isEqualNode(r)}}return e.isEqualNode(t)}function l(){return{mountedInstances:new Set,updateHead:e=>{let t={};e.forEach(e=>{if("link"===e.type&&e.props["data-optimized-fonts"])if(document.querySelector(`style[data-href="${e.props["data-href"]}"]`))return;else e.props.href=e.props["data-href"],e.props["data-href"]=void 0;let n=t[e.type]||[];n.push(e),t[e.type]=n});let n=t.title?t.title[0]:null,r="";if(n){let{children:e}=n.props;r="string"==typeof e?e:Array.isArray(e)?e.join(""):""}r!==document.title&&(document.title=r),["meta","base","link","style","script"].forEach(e=>{!function(e,t){let n=document.querySelector("head");if(!n)return;let r=new Set(n.querySelectorAll(`${e}[data-next-head]`));if("meta"===e){let e=n.querySelector("meta[charset]");null!==e&&r.add(e)}let a=[];for(let e=0;e{"use strict";t.exports=["chrome 111","edge 111","firefox 111","safari 16.4"]},683969,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={UNDERSCORE_GLOBAL_ERROR_ROUTE:function(){return l},UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY:function(){return s},UNDERSCORE_NOT_FOUND_ROUTE:function(){return o},UNDERSCORE_NOT_FOUND_ROUTE_ENTRY:function(){return i}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let o="/_not-found",i=`${o}/page`,l="/_global-error",s=`${l}/page`},324080,(e,t,n)=>{"use strict";var r,a=e.i(710931);Object.defineProperty(n,"__esModule",{value:!0});var o={APP_CLIENT_INTERNALS:function(){return en},APP_PATHS_MANIFEST:function(){return _},APP_PATH_ROUTES_MANIFEST:function(){return S},AdapterOutputType:function(){return d},BARREL_OPTIMIZATION_PREFIX:function(){return Y},BLOCKED_PAGES:function(){return $},BUILD_ID_FILE:function(){return j},BUILD_MANIFEST:function(){return E},CLIENT_PUBLIC_FILES_PATH:function(){return H},CLIENT_REFERENCE_MANIFEST:function(){return V},CLIENT_STATIC_FILES_PATH:function(){return G},CLIENT_STATIC_FILES_RUNTIME_MAIN:function(){return ee},CLIENT_STATIC_FILES_RUNTIME_MAIN_APP:function(){return et},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS:function(){return eo},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL:function(){return ei},CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH:function(){return er},CLIENT_STATIC_FILES_RUNTIME_WEBPACK:function(){return ea},COMPILER_INDEXES:function(){return c},COMPILER_NAMES:function(){return u},CONFIG_FILES:function(){return F},DEFAULT_RUNTIME_WEBPACK:function(){return el},DEFAULT_SANS_SERIF_FONT:function(){return ef},DEFAULT_SERIF_FONT:function(){return ed},DEV_CLIENT_MIDDLEWARE_MANIFEST:function(){return U},DEV_CLIENT_PAGES_MANIFEST:function(){return O},DYNAMIC_CSS_MANIFEST:function(){return Z},EDGE_RUNTIME_WEBPACK:function(){return es},EDGE_UNSUPPORTED_NODE_APIS:function(){return ey},EXPORT_DETAIL:function(){return x},EXPORT_MARKER:function(){return N},FUNCTIONS_CONFIG_MANIFEST:function(){return T},IMAGES_MANIFEST:function(){return I},INTERCEPTION_ROUTE_REWRITE_MANIFEST:function(){return J},MIDDLEWARE_BUILD_MANIFEST:function(){return X},MIDDLEWARE_MANIFEST:function(){return L},MIDDLEWARE_REACT_LOADABLE_MANIFEST:function(){return K},MODERN_BROWSERSLIST_TARGET:function(){return l.default},NEXT_BUILTIN_DOCUMENT:function(){return W},NEXT_FONT_MANIFEST:function(){return k},PAGES_MANIFEST:function(){return b},PHASE_ANALYZE:function(){return p},PHASE_DEVELOPMENT_SERVER:function(){return g},PHASE_EXPORT:function(){return f},PHASE_INFO:function(){return v},PHASE_PRODUCTION_BUILD:function(){return m},PHASE_PRODUCTION_SERVER:function(){return h},PHASE_TEST:function(){return y},PREFETCH_HINTS:function(){return C},PRERENDER_MANIFEST:function(){return R},REACT_LOADABLE_MANIFEST:function(){return z},ROUTES_MANIFEST:function(){return P},RSC_MODULE_TYPES:function(){return eg},SERVER_DIRECTORY:function(){return B},SERVER_FILES_MANIFEST:function(){return A},SERVER_PROPS_ID:function(){return ec},SERVER_REFERENCE_MANIFEST:function(){return Q},STATIC_PROPS_ID:function(){return eu},STATIC_STATUS_PAGES:function(){return ep},STRING_LITERAL_DROP_BUNDLE:function(){return q},SUBRESOURCE_INTEGRITY_MANIFEST:function(){return w},SYSTEM_ENTRYPOINTS:function(){return ev},TRACE_OUTPUT_VERSION:function(){return em},TURBOPACK_CLIENT_BUILD_MANIFEST:function(){return M},TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST:function(){return D},TURBO_TRACE_DEFAULT_MEMORY_LIMIT:function(){return eh},UNDERSCORE_GLOBAL_ERROR_ROUTE:function(){return s.UNDERSCORE_GLOBAL_ERROR_ROUTE},UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY:function(){return s.UNDERSCORE_GLOBAL_ERROR_ROUTE_ENTRY},UNDERSCORE_NOT_FOUND_ROUTE:function(){return s.UNDERSCORE_NOT_FOUND_ROUTE},UNDERSCORE_NOT_FOUND_ROUTE_ENTRY:function(){return s.UNDERSCORE_NOT_FOUND_ROUTE_ENTRY}};for(var i in o)Object.defineProperty(n,i,{enumerable:!0,get:o[i]});let l=e.r(2879)._(e.r(425862)),s=e.r(683969),u={client:"client",server:"server",edgeServer:"edge-server"},c={[u.client]:0,[u.server]:1,[u.edgeServer]:2};var d=((r={}).PAGES="PAGES",r.PAGES_API="PAGES_API",r.APP_PAGE="APP_PAGE",r.APP_ROUTE="APP_ROUTE",r.PRERENDER="PRERENDER",r.STATIC_FILE="STATIC_FILE",r.MIDDLEWARE="MIDDLEWARE",r);let f="phase-export",p="phase-analyze",m="phase-production-build",h="phase-production-server",g="phase-development-server",y="phase-test",v="phase-info",b="pages-manifest.json",_="app-paths-manifest.json",S="app-path-routes-manifest.json",E="build-manifest.json",T="functions-config-manifest.json",w="subresource-integrity-manifest",k="next-font-manifest",N="export-marker.json",x="export-detail.json",R="prerender-manifest.json",C="prefetch-hints.json",P="routes-manifest.json",I="images-manifest.json",A="required-server-files",O="_devPagesManifest.json",L="middleware-manifest.json",D="_clientMiddlewareManifest.js",M="client-build-manifest.json",U="_devMiddlewareManifest.json",z="react-loadable-manifest.json",B="server",F=["next.config.js","next.config.mjs","next.config.ts",...a.default?.features?.typescript?["next.config.mts"]:[]],j="BUILD_ID",$=["/_document","/_app","/_error"],H="public",G="static",q="__NEXT_DROP_CLIENT_FILE__",W="__NEXT_BUILTIN_DOCUMENT__",Y="__barrel_optimize__",V="client-reference-manifest",Q="server-reference-manifest",X="middleware-build-manifest",K="middleware-react-loadable-manifest",J="interception-route-rewrite-manifest",Z="dynamic-css-manifest",ee="main",et=`${ee}-app`,en="app-pages-internals",er="react-refresh",ea="webpack",eo="polyfills",ei=Symbol(eo),el="webpack-runtime",es="edge-runtime-webpack",eu="__N_SSG",ec="__N_SSP",ed={name:"Times New Roman",xAvgCharWidth:821,azAvgWidth:854.3953488372093,unitsPerEm:2048},ef={name:"Arial",xAvgCharWidth:904,azAvgWidth:934.5116279069767,unitsPerEm:2048},ep=["/500"],em=1,eh=6e3,eg={client:"client",server:"server"},ey=["clearImmediate","setImmediate","BroadcastChannel","ByteLengthQueuingStrategy","CompressionStream","CountQueuingStrategy","DecompressionStream","DomException","MessageChannel","MessageEvent","MessagePort","ReadableByteStreamController","ReadableStreamBYOBRequest","ReadableStreamDefaultController","TransformStreamDefaultController","WritableStreamDefaultController"],ev=new Set([ee,er,et]);("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},212547,(e,t,n)=>{"use strict";var r=e.i(710931);Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return m}});let a=e.r(2879),o=e.r(417572),i=e.r(337991),l=a._(e.r(332806)),s=e.r(441526),u=e.r(321238),c=e.r(183530),d=e.r(320989),f=e.r(381361);e.r(324080);let p=e.r(330681);class m{constructor(e,t){this.routeLoader=(0,f.createRouteLoader)(t),this.buildId=e,this.assetPrefix=t,this.promisedSsgManifest=new Promise(e=>{window.__SSG_MANIFEST?e(window.__SSG_MANIFEST):window.__SSG_MANIFEST_CB=()=>{e(window.__SSG_MANIFEST)}})}getPageList(){return(0,f.getClientBuildManifest)().then(e=>e.sortedPages)}getMiddleware(){if(r.default.env.__NEXT_MIDDLEWARE_MATCHERS){let e=r.default.env.__NEXT_MIDDLEWARE_MATCHERS;return window.__MIDDLEWARE_MATCHERS=e||void 0,window.__MIDDLEWARE_MATCHERS}if(window.__MIDDLEWARE_MATCHERS)return window.__MIDDLEWARE_MATCHERS;{let e=new Promise(e=>{let t=self.__MIDDLEWARE_MATCHERS_CB;self.__MIDDLEWARE_MATCHERS_CB=()=>{e(self.__MIDDLEWARE_MATCHERS),t&&t()}});return(0,p.resolvePromiseWithTimeout)(e,(0,f.markAssetError)(Object.defineProperty(Error("Failed to load client middleware manifest"),"__NEXT_ERROR_CODE",{value:"E980",enumerable:!1,configurable:!0})),void 0)}}getDataHref(e){var t;let n,{asPath:r,href:a,locale:f}=e,{pathname:p,query:m,search:h}=(0,c.parseRelativeUrl)(a),{pathname:g}=(0,c.parseRelativeUrl)(r),y=(0,d.removeTrailingSlash)(p);if("/"!==y[0])throw Object.defineProperty(Error(`Route name should start with a "/", got "${y}"`),"__NEXT_ERROR_CODE",{value:"E303",enumerable:!1,configurable:!0});return t=e.skipInterpolation?g:(0,u.isDynamicRoute)(y)?(0,i.interpolateAs)(p,g,m).result:y,n=(0,l.default)((0,d.removeTrailingSlash)((0,s.addLocale)(t,f)),".json"),(0,o.addBasePath)(`/_next/data/${this.buildId}${n}${h}`,!0)}_isSsg(e){return this.promisedSsgManifest.then(t=>t.has(e))}loadPage(e){return this.routeLoader.loadRoute(e).then(e=>{if("component"in e)return{page:e.component,mod:e.exports,styleSheets:e.styles.map(e=>({href:e.href,text:e.content}))};throw e.error})}prefetch(e){return this.routeLoader.prefetch(e)}}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},402321,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={RouteAnnouncer:function(){return c},default:function(){return d}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let o=e.r(2879),i=e.r(318008),l=o._(e.r(687652)),s=e.r(812444),u={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",top:0,width:"1px",whiteSpace:"nowrap",wordWrap:"normal"},c=()=>{let{asPath:e}=(0,s.useRouter)(),[t,n]=l.default.useState(""),r=l.default.useRef(e);return l.default.useEffect(()=>{if(r.current!==e)if(r.current=e,document.title)n(document.title);else{let t=document.querySelector("h1");n((t?.innerText??t?.textContent)||e)}},[e]),(0,i.jsx)("p",{"aria-live":"assertive",id:"__next-route-announcer__",role:"alert",style:u,children:t})},d=c;("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},543127,(e,t,n)=>{"use strict";function r(e){return new URL(e,"http://n").searchParams}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"asPathToSearchParams",{enumerable:!0,get:function(){return r}})},609896,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={PathnameContextProviderAdapter:function(){return h},adaptForAppRouterInstance:function(){return f},adaptForPathParams:function(){return m},adaptForSearchParams:function(){return p}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let o=e.r(887602),i=e.r(318008),l=o._(e.r(687652)),s=e.r(153400),u=e.r(315500),c=e.r(543127),d=e.r(948805);function f(e){return{back(){e.back()},forward(){e.forward()},refresh(){e.reload()},hmrRefresh(){},push(t,{scroll:n}={}){e.push(t,void 0,{scroll:n})},replace(t,{scroll:n}={}){e.replace(t,void 0,{scroll:n})},prefetch(t){e.prefetch(t)}}}function p(e){return e.isReady&&e.query?(0,c.asPathToSearchParams)(e.asPath):new URLSearchParams}function m(e){if(!e.isReady||!e.query)return null;let t={};for(let n of Object.keys((0,d.getRouteRegex)(e.pathname).groups))t[n]=e.query[n];return t}function h({children:e,router:t,...n}){let r=(0,l.useRef)(n.isAutoExport),a=(0,l.useMemo)(()=>{let e,n=r.current;if(n&&(r.current=!1),(0,u.isDynamicRoute)(t.pathname)&&(t.isFallback||n&&!t.isReady))return null;try{e=new URL(t.asPath,"http://f")}catch(e){return"/"}return e.pathname},[t.asPath,t.isFallback,t.isReady,t.pathname]);return(0,i.jsx)(s.PathnameContext.Provider,{value:a,children:e})}},458627,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"reportGlobalError",{enumerable:!0,get:function(){return r}});let r="function"==typeof reportError?reportError:e=>{globalThis.console.error(e)};("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},394173,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r={isRecoverableError:function(){return c},onRecoverableError:function(){return d}};for(var a in r)Object.defineProperty(n,a,{enumerable:!0,get:r[a]});let o=e.r(2879),i=e.r(456737),l=o._(e.r(646286)),s=e.r(458627),u=new WeakSet;function c(e){return u.has(e)}let d=e=>{let t=(0,l.default)(e)&&"cause"in e?e.cause:e;(0,i.isBailoutToCSRError)(t)||(0,s.reportGlobalError)(t)};("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},765161,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"default",{enumerable:!0,get:function(){return o}});let r=e.r(2879)._(e.r(321774));class a{constructor(e,t,n){this.name=e,this.attributes=t.attributes??{},this.startTime=t.startTime??Date.now(),this.onSpanEnd=n,this.state={state:"inprogress"}}end(e){if("ended"===this.state.state)throw Object.defineProperty(Error("Span has already ended"),"__NEXT_ERROR_CODE",{value:"E17",enumerable:!1,configurable:!0});this.state={state:"ended",endTime:e??Date.now()},this.onSpanEnd(this)}}let o=new class{startSpan(e,t){return new a(e,t,this.handleSpanEnd)}onSpanEnd(e){return this._emitter.on("spanend",e),()=>{this._emitter.off("spanend",e)}}constructor(){this._emitter=(0,r.default)(),this.handleSpanEnd=e=>{this._emitter.emit("spanend",e)}}};("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},778414,(e,t,n)=>{"use strict";let r,a,o,i,l,s,u,c,d,f,p,m;Object.defineProperty(n,"__esModule",{value:!0});var h={emitter:function(){return $},hydrate:function(){return ef},initialize:function(){return q},router:function(){return r},version:function(){return j}};for(var g in h)Object.defineProperty(n,g,{enumerable:!0,get:h[g]});let y=e.r(2879),v=e.r(318008);e.r(465906);let b=y._(e.r(687652)),_=y._(e.r(3362)),S=e.r(85373),E=y._(e.r(321774)),T=e.r(655337),w=e.r(502311),k=e.r(321238),N=e.r(220877),x=e.r(8929),R=e.r(645419),C=y._(e.r(782587)),P=y._(e.r(212547)),I=e.r(402321),A=e.r(812444),O=e.r(646286),L=e.r(646403),D=e.r(155659),M=e.r(346108),U=e.r(914463),z=e.r(609896),B=e.r(153400),F=e.r(394173);e.r(765161),e.r(592707);let j="16.2.3",$=(0,E.default)(),H=!1;class G extends b.default.Component{componentDidCatch(e,t){this.props.fn(e,t)}componentDidMount(){this.scrollToHash(),r.isSsr&&(a.isFallback||a.nextExport&&((0,k.isDynamicRoute)(r.pathname)||location.search||H)||a.props&&a.props.__N_SSG&&(location.search||H))&&r.replace(r.pathname+"?"+String((0,N.assign)((0,N.urlQueryToSearchParams)(r.query),new URLSearchParams(location.search))),o,{_h:1,shallow:!a.isFallback&&!H}).catch(e=>{if(!e.cancelled)throw e})}componentDidUpdate(){this.scrollToHash()}scrollToHash(){let{hash:e}=location;if(!(e=e&&e.substring(1)))return;let t=document.getElementById(e);t&&setTimeout(()=>t.scrollIntoView(),0)}render(){return this.props.children}}async function q(t={}){a=JSON.parse(document.getElementById("__NEXT_DATA__").textContent),window.__NEXT_DATA__=a,m=a.defaultLocale;let n=a.assetPrefix||"";self.__next_set_public_path__(`${n}/_next/`),o=(0,x.getURL)(),(0,M.hasBasePath)(o)&&(o=(0,D.removeBasePath)(o));{let{normalizeLocalePath:t}=e.r(47776),{detectDomainLocale:n}=e.r(890020),{parseRelativeUrl:r}=e.r(183530),{formatUrl:i}=e.r(439837);if(a.locales){let e=r(o),l=t(e.pathname,a.locales);l.detectedLocale?(e.pathname=l.pathname,o=i(e)):m=a.locale;let s=n([{domain:"www.slideshare.net",defaultLocale:"en"},{domain:"de.slideshare.net",defaultLocale:"de"},{domain:"es.slideshare.net",defaultLocale:"es"},{domain:"pt.slideshare.net",defaultLocale:"pt"},{domain:"fr.slideshare.net",defaultLocale:"fr"}],window.location.hostname);s&&(m=s.defaultLocale)}}if(a.scriptLoader){let{initScriptLoader:t}=e.r(23331);t(a.scriptLoader)}i=new P.default(a.buildId,n);let u=([e,t])=>i.routeLoader.onEntrypoint(e,t);return window.__NEXT_P&&window.__NEXT_P.map(e=>setTimeout(()=>u(e),0)),window.__NEXT_P=[],window.__NEXT_P.push=u,(s=(0,C.default)()).getIsSsr=()=>r.isSsr,l=document.getElementById("__next"),{assetPrefix:n}}function W(e,t){return(0,v.jsx)(e,{...t})}function Y({children:e}){let t=b.default.useMemo(()=>(0,z.adaptForAppRouterInstance)(r),[]);return(0,v.jsx)(G,{fn:e=>Q({App:d,err:e}).catch(e=>console.error("Error rendering page: ",e)),children:(0,v.jsx)(U.AppRouterContext.Provider,{value:t,children:(0,v.jsx)(B.SearchParamsContext.Provider,{value:(0,z.adaptForSearchParams)(r),children:(0,v.jsx)(z.PathnameContextProviderAdapter,{router:r,isAutoExport:self.__NEXT_DATA__.autoExport??!1,children:(0,v.jsx)(B.PathParamsContext.Provider,{value:(0,z.adaptForPathParams)(r),children:(0,v.jsx)(T.RouterContext.Provider,{value:(0,A.makePublicRouterInstance)(r),children:(0,v.jsx)(S.HeadManagerContext.Provider,{value:s,children:(0,v.jsx)(L.ImageConfigContext.Provider,{value:{deviceSizes:[],imageSizes:[],qualities:[75],path:"/_next/image/",loader:"custom",dangerouslyAllowSVG:!1,unoptimized:!1},children:e})})})})})})})})}let V=e=>t=>{let n={...t,Component:p,err:a.err,router:r};return(0,v.jsx)(Y,{children:W(e,n)})};function Q(t){let{App:n,err:l}=t;return console.error(l),console.error("A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred"),i.loadPage("/_error").then(({page:r,styleSheets:a})=>u?.Component===r?e.A(163192).then(r=>e.A(186384).then(e=>(t.App=n=e.default,r))).then(e=>({ErrorComponent:e.default,styleSheets:[]})):{ErrorComponent:r,styleSheets:a}).then(({ErrorComponent:e,styleSheets:i})=>{let s=V(n),u={Component:e,AppTree:s,router:r,ctx:{err:l,pathname:a.page,query:a.query,asPath:o,AppTree:s}};return Promise.resolve(t.props?.err?t.props:(0,x.loadGetInitialProps)(n,u)).then(n=>ec({...t,err:l,Component:e,styleSheets:i,props:n}))})}function X({callback:e}){return b.default.useLayoutEffect(()=>e(),[e]),null}let K="beforeRender",J="afterRender",Z="afterHydrate",ee="routeChange",et="Next.js-hydration",en="Next.js-route-change-to-render",er="Next.js-render",ea=null,eo=!0;function ei(){[K,Z,J,ee].forEach(e=>performance.clearMarks(e))}function el(){x.ST&&(performance.mark(Z),performance.getEntriesByName(K,"mark").length&&(performance.measure("Next.js-before-hydration","navigationStart",K),performance.measure(et,K,Z)),f&&performance.getEntriesByName(et).forEach(f),ei())}function es(){if(!x.ST)return;performance.mark(J);let e=performance.getEntriesByName(ee,"mark");e.length&&(performance.getEntriesByName(K,"mark").length&&(performance.measure(en,e[0].name,K),performance.measure(er,K,J),f&&(performance.getEntriesByName(er).forEach(f),performance.getEntriesByName(en).forEach(f))),ei(),[en,er].forEach(e=>performance.clearMeasures(e)))}function eu({callbacks:e,children:t}){return b.default.useLayoutEffect(()=>e.forEach(e=>e()),[e]),t}function ec(e){var t,n;let a,o,{App:i,Component:s,props:d,err:f}=e,p="initial"in e?void 0:e.styleSheets;s=s||u.Component;let m={...d=d||u.props,Component:s,err:f,router:r};u=m;let h=new Promise((e,t)=>{c&&c(),o=()=>{c=null,e()},c=()=>{c=null;let e=Object.defineProperty(Error("Cancel rendering route"),"__NEXT_ERROR_CODE",{value:"E503",enumerable:!1,configurable:!0});e.cancelled=!0,t(e)}});function g(){o()}!function(){let e;if(!p)return;let t=new Set((e=document.querySelectorAll("style[data-n-href]"),[].slice.call(e)).map(e=>e.getAttribute("data-n-href"))),n=document.querySelector("noscript[data-n-css]"),r=n?.getAttribute("data-n-css");p.forEach(({href:e,text:n})=>{if(!t.has(e)){let t=document.createElement("style");t.setAttribute("data-n-href",e),t.setAttribute("media","x"),r&&t.setAttribute("nonce",r),document.head.appendChild(t),t.appendChild(document.createTextNode(n))}})}();let y=(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(X,{callback:function(){if(e.scroll){let{x:t,y:n}=e.scroll;(0,w.disableSmoothScrollDuringRouteTransition)(()=>{window.scrollTo(t,n)})}}}),(0,v.jsxs)(Y,{children:[W(i,m),(0,v.jsx)(R.Portal,{type:"next-route-announcer",children:(0,v.jsx)(I.RouteAnnouncer,{})})]})]});return t=l,n=e=>(0,v.jsx)(eu,{callbacks:[e,g],children:y}),x.ST&&performance.mark(K),a=n(eo?el:es),ea?(0,b.default.startTransition)(()=>{ea.render(a)}):(ea=_.default.hydrateRoot(t,a,{onRecoverableError:F.onRecoverableError}),eo=!1),h}async function ed(e){if(e.err&&(void 0===e.Component||!e.isHydratePass))return void await Q(e);try{await ec(e)}catch(n){let t=(0,O.getProperError)(n);if(t.cancelled)throw t;await Q({...e,err:t})}}async function ef(e){let t=a.err;try{let e=await i.routeLoader.whenEntrypoint("/_app");if("error"in e)throw e.error;let{component:t,exports:n}=e;d=t,n&&n.reportWebVitals&&(f=({id:e,name:t,startTime:r,value:a,duration:o,entryType:i,entries:l,attribution:s})=>{let u,c=`${Date.now()}-${Math.floor(Math.random()*(9e12-1))+1e12}`;l&&l.length&&(u=l[0].startTime);let d={id:e||c,name:t,startTime:r||u,value:null==a?o:a,label:"mark"===i||"measure"===i?"custom":"web-vital"};s&&(d.attribution=s),n.reportWebVitals(d)});let r=await i.routeLoader.whenEntrypoint(a.page);if("error"in r)throw r.error;p=r.component}catch(e){t=(0,O.getProperError)(e)}window.__NEXT_PRELOADREADY&&await window.__NEXT_PRELOADREADY(a.dynamicIds),r=(0,A.createRouter)(a.page,a.query,o,{initialProps:a.props,pageLoader:i,App:d,Component:p,wrapApp:V,err:t,isFallback:!!a.isFallback,subscription:(e,t,n)=>ed(Object.assign({},e,{App:t,scroll:n})),locale:a.locale,locales:a.locales,defaultLocale:m,domainLocales:a.domainLocales,isPreview:a.isPreview}),H=await r._initialMatchesMiddlewarePromise;let n={App:d,initial:!0,Component:p,props:a.props,err:t,isHydratePass:!0};e?.beforeRender&&await e.beforeRender(),ed(n)}("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},448911,(e,t,n)=>{"use strict";function r(){return new Promise(e=>{var t;t=function(){for(var t=document.querySelectorAll("[data-next-hide-fouc]"),n=t.length;n--;)t[n].parentNode.removeChild(t[n]);e()},window.requestAnimationFrame&&window.self===window.top?window.requestAnimationFrame(t):window.setTimeout(t)})}Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"displayContent",{enumerable:!0,get:function(){return r}}),("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)},920090,(e,t,n)=>{"use strict";Object.defineProperty(n,"__esModule",{value:!0}),e.r(584733),e.r(770159);let r=e.r(778414),a=e.r(448911);window.next={version:r.version,turbopack:!0,get router(){return r.router},emitter:r.emitter},self.__next_set_public_path__=()=>{},self.__webpack_hash__="",(0,r.initialize)({}).then(()=>(self.__turbopack_load_page_chunks__=(t,n)=>{Promise.all(n.map(t=>e.l(t))).catch(e=>console.error("failed to load chunks for page "+t,e))},(0,r.hydrate)({beforeRender:a.displayContent}))).catch(e=>{console.error("Error was not caught",e)}),("function"==typeof n.default||"object"==typeof n.default&&null!==n.default)&&void 0===n.default.__esModule&&(Object.defineProperty(n.default,"__esModule",{value:!0}),Object.assign(n.default,n),t.exports=n.default)}]); //# debugId=50598d22-f811-c932-ce20-1290bdd1641c //# sourceMappingURL=0cn~9pvtnb-n~.js.map