{"version":3,"file":"vw-oneform-feature-app.umd.js","mappings":"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CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,UACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,OACD,CAAC,OACD,CAAC,UACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,UACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,UACD,CAAC,KAAM,OAAQ,QACf,CAAC,QACD,CAAC,QACD,CAAC,UACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,UACD,CAAC,QACD,CAAC,QACD,CAAC,UACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,QACD,CAAC,QACD,CAAC,SAAU,UACX,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD,CAAC,QACD,CAAC,KAAM,OAAQ,OAAQ,QACvB,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OACD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AO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,QACNwK,MAAO,QAER,CACCxK,KAAM,MACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,MACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,aAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,aAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,kBAER,CACCxK,KAAM,oBACNwK,MAAO,MAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,MAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,oCAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,aAER,CACCxK,KAAM,eACNwK,MAAO,YAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,2CACNwK,MAAO,QAER,CACCxK,KAAM,0CACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,UAER,CACCxK,KAAM,gCACNwK,MAAO,MAER,CACCxK,KAAM,gBACNwK,MAAO,aAER,CACCxK,KAAM,iBACNwK,MAAO,YAER,CACCxK,KAAM,oBACNwK,MAAO,aAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uCACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,uCACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,SC5pEI8pF,EAAqBt1C,GAC1B,CACN,CACCh/C,KAAM,KACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MACC,mKAEF,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,OACNwK,MAAO,sCAER,CACCxK,KAAM,cACNwK,MAAOw0C,GAAc,uBAEtB,CACCh/C,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,cAER,CACCxK,KAAM,sBACNwK,MAAO,4BAER,CACCxK,KAAM,gBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,WAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,SAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,cAER,CACCxK,KAAM,qBACNwK,MAAO,gCAER,CACCxK,KAAM,eACNwK,MAAO,iBAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,aAER,CACCxK,KAAM,WACNwK,MAAO,0BAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,MAER,CACCxK,KAAM,uBACNwK,MAAO,sBAER,CACCxK,KAAM,0BACNwK,MAAO,6BAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,UCzJGkqF,EAAkB,CAC9B,CACC10F,KAAM,KACNwK,MAAO,SAER,CACCxK,KAAM,aACNwK,MACC,+IAEF,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,OACNwK,MAAO,gBAER,CACCxK,KAAM,cACNwK,MAAO,gCAER,CACCxK,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,wCACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,KAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,qBAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,qBAER,CACCxK,KAAM,qBACNwK,MAAO,MAER,CACCxK,KAAM,qBACNwK,MAAO,cAER,CACCxK,KAAM,eACNwK,MAAO,MAER,CACCxK,KAAM,6BACNwK,MAAO,MAER,CACCxK,KAAM,4BACNwK,MAAO,KAER,CACCxK,KAAM,0BACNwK,MAAO,sBAER,CACCxK,KAAM,uBACNwK,MAAO,KAER,CACCxK,KAAM,gBACNwK,MAAO,sBAER,CACCxK,KAAM,0BACNwK,MAAO,sBAER,CACCxK,KAAM,wBACNwK,MAAO,sBAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,yBAER,CACCxK,KAAM,yBACNwK,MAAO,cAER,CACCxK,KAAM,eACNwK,MAAO,cAER,CACCxK,KAAM,kBACNwK,MAAO,cAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,gBAER,CACCxK,KAAM,iBACNwK,MAAO,uBCpRI4pF,EAAsBA,CAACW,EAAyB/1C,IACrD,CACN,CACCh/C,KAAM,KACNwK,MAAO,UAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,KACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,OACNwK,MAAO,aAER,CACCxK,KAAM,mBACNwK,MAAO,gBAER,CACCxK,KAAM,WACNwK,MAAO,iBAER,CACCxK,KAAM,YACNwK,MAAO,kBAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,cACNwK,MAAOw0C,GAAc,uBAEtB,CACCh/C,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,uBAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,uBAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,sBAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,UACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,KAER,CACCxK,KAAM,uBACNwK,MAAO,6BAER,CACCxK,KAAM,SACNwK,MAAO,SAER,CACCxK,KAAM,UACNwK,MAAOuqF,EAAgB,aAAe,WAEvC,CACC/0F,KAAM,sBACNwK,MAAO,aAER,CACCxK,KAAM,cACNwK,MAAO,WAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,iBAER,CACCxK,KAAM,kBACNwK,MAAO,6BAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,aAER,CACCxK,KAAM,8BACNwK,MAAO,UAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,4BAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uCACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,uCACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,SAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,SAER,CACCxK,KAAM,UACNwK,MAAO,SAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,SCpyBGgqF,EAAwBP,GAC7B,CACN,CACCj0F,KAAM,KACNwK,MAAO,WAER,CACCxK,KAAM,aACNwK,MACC,iJAEF,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,OACNwK,MAAO,mBAER,CACCxK,KAAM,cACNwK,MAAO,gCAER,CACCxK,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,YACNwK,MAAO,UAER,CACCxK,KAAM,wBACNwK,MAAO,KAER,CACCxK,KAAM,yBACNwK,MAAO,KAER,CACCxK,KAAM,+BACNwK,MAAOypF,EAAc,WAAa,qBAEnC,CACCj0F,KAAM,qBACNwK,MAAO,cAER,CACCxK,KAAM,WACNwK,MAAOypF,EAAc,oBAAsB,qBAE5C,CACCj0F,KAAM,UACNwK,MAAOypF,EAAc,YAAc,YAEpC,CACCj0F,KAAM,eACNwK,MAAO,gBAER,CACCxK,KAAM,2BACNwK,MAAO,IAER,CACCxK,KAAM,2BACNwK,MAAO,KAER,CACCxK,KAAM,sBACNwK,MAAO,KAER,CACCxK,KAAM,gBACNwK,MAAOypF,EAAc,OAAS,QAE/B,CACCj0F,KAAM,kBACNwK,MAAO,WAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,KAER,CACCxK,KAAM,kBACNwK,MAAO,mBAER,CACCxK,KAAM,eACNwK,MAAO,MAER,CACCxK,KAAM,kBACNwK,MAAOypF,EAAc,QAAU,SAEhC,CACCj0F,KAAM,sBACNwK,MAAO,cAER,CACCxK,KAAM,sBACNwK,MAAO,gBAER,CACCxK,KAAM,gBACNwK,MAAO,sBAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAOypF,EAAc,QAAU,SAEhC,CACCj0F,KAAM,6BACNwK,MAAO,MAER,CACCxK,KAAM,6BACNwK,MAAO,KAER,CACCxK,KAAM,8BACNwK,MAAO,MCrLG6pF,EAAer1C,GACpB,CACN,CACCh/C,KAAM,KACNwK,MAAO,QAER,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,aAER,CACCxK,KAAM,WACNwK,MAAO,aAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,aAER,CACCxK,KAAM,QACNwK,MAAO,uBAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,sBAER,CACCxK,KAAM,cACNwK,MAAOw0C,GAAc,gCAKtB,CACCh/C,KAAM,aACNwK,MACC,+IAEF,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,uBAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,QACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MACC,wKAEF,CACCxK,KAAM,QACNwK,MAAO,QAER,CACCxK,KAAM,MACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,6CAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,qBAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,OAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,cACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,qBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,cAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,iCACNwK,MAAO,MAER,CACCxK,KAAM,iCACNwK,MAAO,SAER,CACCxK,KAAM,WACNwK,MAAO,cAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,8BAER,CACCxK,KAAM,iBACNwK,MAAO,sBAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,gBAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,aAER,CACCxK,KAAM,0BACNwK,MAAO,iBAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,aAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,WAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,cAER,CACCxK,KAAM,kCACNwK,MAAO,uBAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,2CACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,6BAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,0BACNwK,MAAO,OAER,CACCxK,KAAM,4BACNwK,MAAO,WAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,gCAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,gCAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,sBAER,CACCxK,KAAM,4BACNwK,MAAO,wBAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,SAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,SAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,0CACNwK,MAAO,SAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,UAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,uBAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,gBAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,6CACNwK,MAAO,QAER,CACCxK,KAAM,4CACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,sBAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,+BAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,OAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SC77BG0pF,EAAgBA,CAACa,EAAyB/1C,IAC/C,CACN,CACCh/C,KAAM,KACNwK,MAAO,UAER,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,WACNwK,MAAO,gBAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,kCAER,CACCxK,KAAM,oBACNwK,MAAO,aAER,CACCxK,KAAM,sBACNwK,MAAO,wCAER,CACCxK,KAAM,uBACNwK,MACC,wLAKF,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,MAER,CACCxK,KAAM,aACNwK,MACC,qJAGF,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,sBAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MACC,wKAEF,CACCxK,KAAM,iBACNwK,MACC,uKAEF,CACCxK,KAAM,WACNwK,MAAO,6CAER,CACCxK,KAAM,QACNwK,MAAO,QAER,CACCxK,KAAM,MACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,MACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,OAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,cACNwK,MAAOw0C,GAAc,gCAEtB,CACCh/C,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,qBACNwK,MAAO,gCAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,sBAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MACC,wKAEF,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,sBAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,qCACNwK,MAAO,mBAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,cAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,8FAER,CACCxK,KAAM,qBACNwK,MAAO,cAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,uBAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,SAER,CACCxK,KAAM,yCACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,2BAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,aAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,OAER,CACCxK,KAAM,mCACNwK,MAAO,OAER,CACCxK,KAAM,qCACNwK,MAAO,OAER,CACCxK,KAAM,kCACNwK,MAAO,OAER,CACCxK,KAAM,4BACNwK,MAAO,OAER,CACCxK,KAAM,kCACNwK,MAAO,OAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,KAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,KAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,UAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,cAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,mCACNwK,MAAO,sDAER,CACCxK,KAAM,gBACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,MAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,sBAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,aAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oCACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,4CACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,SAER,CACCxK,KAAM,kCACNwK,MAAO,SAER,CACCxK,KAAM,+BACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,kCACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,SAER,CACCxK,KAAM,qCACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,uCACNwK,MAAO,QAER,CACCxK,KAAM,6CACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,SAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,SC79BGiqF,EAAe,CAC3B,CACCz0F,KAAM,KACNwK,MAAO,SAER,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,0BACNwK,MAAO,cAER,CACCxK,KAAM,4BACNwK,MAAO,cAKR,CACCxK,KAAM,aACNwK,MACC,iJAEF,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,sBAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,sBAER,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,eACNwK,MAAO,sBAER,CACCxK,KAAM,gBACNwK,MAAO,cAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,OACNwK,MAAO,wBAER,CACCxK,KAAM,SACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,OAER,CACCxK,KAAM,cACNwK,MAAO,YAER,CACCxK,KAAM,cACNwK,MAAO,OAER,CACCxK,KAAM,cACNwK,MAAO,gCAER,CACCxK,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,qBAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,wCACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,KAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,YAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,SAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,sBAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SCviBI+pF,EAAkBN,GACvB,CACN,CACCj0F,KAAM,KACNwK,MAAO,WAER,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,OACNwK,MAAO,qBAER,CACCxK,KAAM,qBACNwK,MAAOypF,EAAc,OAAS,QAE/B,CACCj0F,KAAM,4BACNwK,MAAO,YAKR,CACCxK,KAAM,aACNwK,MACC,2JAEF,CACCxK,KAAM,UACNwK,MAAO,sBAER,CACCxK,KAAM,YACNwK,MAAO,SAER,CACCxK,KAAM,gBACNwK,MAAOypF,EAAc,OAAS,QAE/B,CACCj0F,KAAM,kBACNwK,MAAO,wBAER,CACCxK,KAAM,kBACNwK,MAAO,OAER,CACCxK,KAAM,cACNwK,MAAO,gCAER,CACCxK,KAAM,cACNwK,MAAO,sBAER,CACCxK,KAAM,mBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,sBAER,CACCxK,KAAM,iBACNwK,MAAO,gCAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,aACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,QAER,CACCxK,KAAM,YACNwK,MAAO,YAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,UACNwK,MAAO,QAER,CACCxK,KAAM,cACNwK,MAAO,UAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,WACNwK,MAAO,QAER,CACCxK,KAAM,iBACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,cAER,CACCxK,KAAM,mBACNwK,MAAO,8FAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,SAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,mCACNwK,MAAO,QAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,uBACNwK,MAAO,MAER,CACCxK,KAAM,uBACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,KAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,6BACNwK,MAAO,gBAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAOypF,EAAc,QAAU,QAEhC,CACCj0F,KAAM,mBACNwK,MAAO,gBAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,mBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,+BACNwK,MAAO,KAER,CACCxK,KAAM,gCACNwK,MAAO,SAER,CACCxK,KAAM,8BACNwK,MAAO,OAER,CACCxK,KAAM,0BACNwK,MAAO,OAER,CACCxK,KAAM,8BACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,KAER,CACCxK,KAAM,8BACNwK,MAAO,WAER,CACCxK,KAAM,uBACNwK,MAAO,+BAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAOypF,EAAc,QAAU,SAEhC,CACCj0F,KAAM,eACNwK,MAAO,SAER,CACCxK,KAAM,uBACNwK,MAAO,oBAER,CACCxK,KAAM,yBACNwK,MAAO,KAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,qBACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,KAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,8CACNwK,MAAO,cAER,CACCxK,KAAM,iBACNwK,MAAO,SAER,CACCxK,KAAM,sBACNwK,MAAOypF,EAAc,QAAU,SAEhC,CACCj0F,KAAM,mBACNwK,MAAO,QAER,CACCxK,KAAM,yBACNwK,MAAO,WAER,CACCxK,KAAM,yBACNwK,MAAO,QAER,CACCxK,KAAM,4CACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,gCACNwK,MAAO,OAER,CACCxK,KAAM,2BACNwK,MAAO,QAER,CACCxK,KAAM,eACNwK,MAAO,QAER,CACCxK,KAAM,yCACNwK,MAAO,cAER,CACCxK,KAAM,iCACNwK,MAAO,cAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,kBACNwK,MAAO,QAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,QAER,CACCxK,KAAM,wBACNwK,MAAO,SAER,CACCxK,KAAM,yBACNwK,MAAOypF,EAAc,QAAU,SAEhC,CACCj0F,KAAM,wBACNwK,MAAO,QAER,CACCxK,KAAM,sBACNwK,MAAO,SAER,CACCxK,KAAM,iCACNwK,MAAO,QAER,CACCxK,KAAM,oBACNwK,MAAO,SAER,CACCxK,KAAM,4BACNwK,MAAO,OAER,CACCxK,KAAM,gCACNwK,MAAO,QAER,CACCxK,KAAM,iCACNwK,MAAO,OAER,CACCxK,KAAM,wBACNwK,MAAO,UAER,CACCxK,KAAM,0BACNwK,MAAO,QAER,CACCxK,KAAM,6BACNwK,MAAO,QAER,CACCxK,KAAM,gBACNwK,MAAO,UCxbGmqF,EAAgB,CAC5B,CACC30F,KAAM,KACNwK,MAAO,UAER,CACCxK,KAAM,KACNwK,MAAO,sBAER,CACCxK,KAAM,yBACNwK,MAAO,WAER,CACCxK,KAAM,qBACNwK,MAAO,SAER,CACC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GAAa,CAAC35K,UAAU,eACvBlJ,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,YACzB5iL,IAAAA,cAAC2iL,GAAa,CAACC,UAAU,c,eClcjC,MAAMrzK,GAAU9P,EAAAA,GAAOC,GAAG;;;EASpB4kL,GAAY7kL,EAAAA,GAAO8gC,EAAgB;;gBAExB5gC,GAASA,EAAM4kL,WAAa,OAAO;YACvC5kL,GAASA,EAAM4kL,WAAa,OAAO;;;;;;kBAM7B5kL,GAASA,EAAM4kL,WAAa,OAAO;;;kBAGnC5kL,GAASA,EAAM4kL,WAAa,OAAO;;;EAUzCC,GAAkB/kL,EAAAA,GAAOstE,GAAwB;;SAEpDptE,GAAUA,EAAM8kL,UAAY,KAAO;YAChC9kL,GAAUA,EAAM8kL,UAAY,IAAM;UACpC9kL,GAAyB,IAAfA,EAAM+kL,KAAa,KAAO;UACpC/kL,GAAyB,IAAfA,EAAM+kL,KAAa,IAAM;;YAEjC/kL,GAASA,EAAM4kL,WAAa,OAAO;sBACzB5kL,GAAUA,EAAM8kL,WAA4B,IAAf9kL,EAAM+kL,KAAa,eAAiB/kL,EAAM8kL,UAAa,cAAgB;eAC3G9kL,GAAyB,IAAfA,EAAM+kL,KAAa,8BAA+C,IAAf/kL,EAAM+kL,KAAa,8BAA+C,IAAf/kL,EAAM+kL,KAAa,aAAe;;;gBAGjJ/kL,GAASA,EAAM4kL,WAAa,OAAO;;kBAEjC5kL,GAASA,EAAM4kL,WAAa,OAAO;;;kBAGnC5kL,GAASA,EAAM4kL,WAAa,OAAO;;EAIzCI,GAAgB,8JAEhBC,GAAsBjlL,IACjC,MAAM,mBAAEnD,EAAkB,mBAAE22F,GAAuBxzF,EAC7CwV,GAASvC,EAAAA,GAAAA,MACTiB,GAAQ6tE,EAAAA,GAAAA,OACPv6C,EAAQ09I,IAAazkL,EAAAA,EAAAA,UAAS,IAC9BmkL,EAAYO,IAAe1kL,EAAAA,EAAAA,WAAkB,IAEpDkC,EAAAA,EAAAA,YAAU,KAENwiL,EADCjxK,EAAQsB,GAAU,KAAOA,EAAStB,E,GAKrC,CAACA,IAEH,MAAMkvB,EAAcA,CAACjhC,EAAGlJ,KACtBkJ,EAAE6B,iBACEwjC,IAAWvuC,GAGbisL,EAAUjsL,E,EAId,OACEoH,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAO,SACpBvZ,IAAAA,cAACuP,GAAO,KACNvP,IAAAA,cAACwkL,GAAe,CAAC1wK,IAAK6wK,GAAeJ,WAAYA,IACjDvkL,IAAAA,cAACskL,GAAS,CAACC,WAAYA,GAEnB/nL,EAAmBsH,KAAI,CAACihL,EAAmBhzL,IAClCiO,IAAAA,cAACglL,GAAS,CAAC7xF,mBAAoBA,EAAoB4xF,kBAAmBA,EAAmB59I,OAAQA,EAAQpE,YAAaA,EAAa3c,GAAIr0B,EAAGkC,QAAS8wL,EAAkB3uB,QAAQ,SAK9K,E,eC1Fb,MAAM6uB,GAAgBtlL,IACzB,MAAMyB,GAAWC,EAAAA,EAAAA,OACX,mBAAE8xF,EAAkB,kBAAE4xF,GAAsBplL,EAClD,OACIK,IAAAA,cAACmE,EAAAA,EAAG,CACAE,IAAI,SACJlB,QAASA,KACL/B,EAAS,CAAE3K,KAAM,aAAciM,QAASqiL,EAAkB3uB,QAAQ,KAClEjjE,EAAmBnzF,IAAAA,cAAC66J,GAAAA,WAAU,MAAI,EAEtCv2J,SAAS,WAAS,mBACC,ECHzBiL,GAAU9P,EAAAA,GAAOC,GAAG;;;;;;;EAepBwlL,GAAWzlL,EAAAA,GAAOstE,GAAkB;WAC9BptE,GAAUA,EAAMwV,OAAS,IAAM,MAAQ;;cAEpCxV,GAAUA,EAAMwV,OAAS,IAAM,WAAa;;WAE/CxV,GAAUA,EAAMwV,OAAS,KAA4B,UAAfxV,EAAMxJ,KAAb,KAAuC;WACtEwJ,GAAUA,EAAMwV,OAAS,IAAM,KAAsB,UAAfxV,EAAMxJ,KAAmB,IAAM;aACnEwJ,GAAUA,EAAMwV,OAAS,IAAM,KAAO;gBACnCxV,GAAUA,EAAMwV,OAAS,IAAM,OAAS;eACzCxV,GAAUA,EAAMwV,OAAS,IAAM,KAAO;sBAC/BxV,GAAyB,UAAfA,EAAMxJ,KAAmB,eAAiB;EAGrE02E,GAAcptE,EAAAA,GAAOC,GAAG;;;;;EAYjBoW,GAAgBC,IAE3B,IAAIovK,EAAoB,GAEpBC,EAAWrvK,EAAIC,WAAWte,MAAM,KAChC2tL,EAAWD,EAASE,QAAQ5tL,MAAM,IAClCqd,EAAM,GAEV,KAAOswK,EAASvpL,OAAS,GACvBiZ,EAAIgxF,QAAQs/E,EAASp5G,QAAQ,EAAG,GAAGj4C,KAAK,KAU1C,OAPEmxJ,EADEC,EAAStpL,QAAU,EACDiZ,EAAIif,KAAK,KAAO,MACJ,IAAvBoxJ,EAAS,GAAGtpL,OACDiZ,EAAIif,KAAK,KAAO,IAAMoxJ,EAASpvK,WAAa,IAE5CjB,EAAIif,KAAK,KAAO,IAAMoxJ,EAASpvK,WAG9CmvK,CAAiB,EAGbI,GAAc5lL,IACzB,MAAM,QAAE1L,EAAO,mBAAEk/F,EAAkB,kBAAE4xF,GAAsBplL,GACpD6lL,EAAUC,IAAerlL,EAAAA,EAAAA,UAAiB,MAC3C+U,GAASvC,EAAAA,GAAAA,MACTiB,GAAQ6tE,EAAAA,GAAAA,MAYd,OAVAp/E,EAAAA,EAAAA,YAAU,KACsB,UAA1BrO,EAAQ0I,QAAQ4N,MAClBk7K,EAAY,0JACuB,YAA1BxxL,EAAQ0I,QAAQ4N,MACzBk7K,EAAY,4JAEZA,EAAY,yJ,GAEb,CAACxxL,IAGF+L,IAAAA,cAACuP,GAAO,KACNvP,IAAAA,cAAC6sE,GAAW,KACV7sE,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBg6H,YAAaz2H,MAAI,GACpDpS,EAAQ0I,QAAQ4N,MAAO,IACxBvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoB2xK,SAAUpuK,MAAM,GAAK,QAE7DrG,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBg6H,YAAaz2H,MAAI,GACpD,IAAKpS,EAAQ2rK,MAAK,IACnB5/J,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoB2xK,SAAUpuK,MAAM,GAAK,OAAMrG,IAAAA,cAAA,kBAEnEA,IAAAA,cAACsF,EAAAA,EAAS,CAACE,QAAkC,IAAzBvR,EAAQyxL,MAAMC,OAAe,KAAO,CAAE9/K,OAAQH,EAAAA,EAAiB0yC,YACjFp4C,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBg6H,YAAaz2H,MAAI,GACrDrG,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoB2xK,SAAUpuK,MAAM,GAAK,MAAM,KACjErG,IAAAA,cAAC4C,EAAAA,GAAI,KAAE3O,EAAQkuI,iBAAiBrqI,QAAQ,MAAO,OAGzB,IAAzB7D,EAAQyxL,MAAMC,OACb3lL,IAAAA,cAACsF,EAAAA,EAAS,CAACE,QAAS,CAAEK,OAAQH,EAAAA,EAAiB0yC,YAC7Cp4C,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoB8lC,UAAQ,gBAAgB9yB,GAAa7hB,EAAQ+rK,YAAW,MAE9F,KAEJhgK,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAM,QACnBvZ,IAAAA,cAACilL,GAAY,CAAC9xF,mBAAoBA,EAAoB4xF,kBAAmBA,MAK3ES,GAAYxlL,IAAAA,cAACklL,GAAQ,CAAC/vK,OAAQA,EAAQtB,MAAOA,EAAO1d,KAAMlC,EAAQ0I,QAAQ4N,MAAOuJ,IAAK0xK,EAAUzxK,IAAK9f,EAAQ0I,QAAQ4N,QAE/G,ECnGRq7K,GAAYnmL,EAAAA,GAAOihC,EAAW;;;;;gBAKnB/gC,GAA+B,aAArBA,EAAMkmL,WAA4B,2CAA6C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAsC3FlmL,GAAUA,EAAM4kL,WAAa,OAAS;kBAClC5kL,GAAUA,EAAM4kL,WAAa,OAAS;;;oBAGpC5kL,GAAUA,EAAM4kL,WAAa,OAAS;;;;oBAItC5kL,GAAUA,EAAM4kL,WAAa,OAAS;;;;;;;;;EAWrDuB,GAAUrmL,EAAAA,GAAOC,GAAG;;;;;;;;;;EAYpBqmL,GAAcljK,GAAAA,SAAS;;;EAYvBiI,GAAerrB,EAAAA,GAAOC,GAAkB;;;;YAIjCC,GAAUA,EAAM4kL,WAAa,OAAS;eACnC5kL,GAAUA,EAAM4kL,WAAa,OAAS;aACxC5kL,GAAUA,EAAMwV,OAAS,KAAOxV,EAAMqmL,MAAQ,OAAS;iBACnDrmL,GAAUA,EAAMwV,OAAS,KAAOxV,EAAMqmL,MAAQ,WAAa;;eAE7DrmL,GAAUA,EAAMwV,OAAS,KAAOxV,EAAMqmL,MAAQ,OAAS;mBACnDrmL,GAAUA,EAAMwV,OAAS,KAAOxV,EAAMqmL,MAAQ,WAAa;kBAC5DrmL,GAAUA,EAAM4kL,WAAa,OAAS;;;eAGzC5kL,GAAUA,EAAMwV,OAAS,KAAQxV,EAAMqmL,MAAQ,OAAS;mBACpDrmL,GAAUA,EAAMwV,OAAS,KAAQxV,EAAMqmL,MAAQ,WAAa;kBAC7DrmL,GAAUA,EAAM4kL,WAAa,OAAS;;EAInDW,GAAWzlL,EAAAA,GAAOstE,GAAkB;cAC3BptE,GAAUA,EAAMqmL,MAAQ,WAAa;eACpCrmL,GAAUA,EAAMqmL,MAAQ,KAAO7zH,GAAAA,GAAG,GAAG4zH;WACzCpmL,GAAUA,EAAMqmL,MAAQ,sBAAwB;;cAE7CrmL,GAAUA,EAAMsmL,OAAStmL,EAAMqmL,MAAQ,8BAAgCrmL,EAAMsmL,MAAQ,aAAe;YACtGtmL,GAAUA,EAAM4kL,YAAc5kL,EAAMqmL,MAAQ,MAAQrmL,EAAMqmL,MAAQ,MAAQ;WAC3ErmL,GAAUA,EAAMqmL,MAAQ,KAAOrmL,EAAMsmL,MAAQ,QAAU;mBAC/CtmL,GAAUA,EAAMqmL,MAAQ,KAAO;;;aAGrCrmL,GAAUA,EAAMqmL,MAAQ,sBAAwB;;;qBAGxCrmL,GAAUA,EAAMqmL,MAAQ,KAAO;aACvCrmL,GAAUA,EAAMqmL,MAAQ,QAAU;gBAC/BrmL,GAAUA,EAAMsmL,OAAStmL,EAAMqmL,MAAQ,oBAAsB;;EAIxEE,GAAerjK,GAAAA,SAAS;;;;EAMxBsjK,GAAa1mL,EAAAA,GAAOC,GAAG;;;;;;;;;;EAYvBgK,GAAajK,EAAAA,GAAOC,GAAG;eACdwmL;EAGTE,GAAkBvjK,GAAAA,SAAS;;;;EAK3BwjK,GAAS5mL,EAAAA,GAAOC,GAAG;eACV0mL;;;;;;;;;;EAYTE,GAAkB7mL,EAAAA,GAAOC,GAAG;;;;;;EAQ5B6mL,GAAuB9mL,EAAAA,GAAOC,GAAkB;cACvCC,GAAUA,EAAMwV,OAAS,IAAM,WAAa;;;;;;;;gBAQ1CxV,GAAUA,EAAMwV,OAAS,IAAM,WAAa;;;gBAG5CxV,GAAUA,EAAMwV,OAAS,IAAO,WAAa;;EAYjD6vK,GAAarlL,IACxB,MAAM,YAAEojC,EAAW,OAAEoE,EAAM,GAAE/gB,EAAE,QAAEnyB,EAAO,kBAAE8wL,EAAiB,mBAAE5xF,GAAuBxzF,EAC9EwV,GAASvC,EAAAA,GAAAA,MACTiB,GAAQ6tE,EAAAA,GAAAA,OAEP8jG,EAAUC,IAAerlL,EAAAA,EAAAA,UAAc,OACvCmkL,EAAYO,IAAe1kL,EAAAA,EAAAA,WAAkB,GAwBpD,OAtBAkC,EAAAA,EAAAA,YAAU,KAENwiL,EADEjxK,EAAQsB,GAAU,KAAOA,EAAStB,E,GAKrC,CAACA,KAEJvR,EAAAA,EAAAA,YAAU,KACRrP,QAAQ+G,IAAIuqL,EAAW,GACtB,CAACA,KAEJjiL,EAAAA,EAAAA,YAAU,KACsB,UAA1BrO,EAAQ0I,QAAQ4N,MAClBk7K,EAAY,0JACuB,YAA1BxxL,EAAQ0I,QAAQ4N,MACzBk7K,EAAY,4JAEZA,EAAY,yJ,GAEb,CAACxxL,IAGF+L,IAAAA,cAAC4lL,GAAS,CAACziL,QAAUrB,GAAMihC,EAAYjhC,EAAGskB,GAAKld,UAAWkd,IAAO+gB,EAAS,SAAW,WAAYu9I,KAAMt+J,EAAIy/J,WAAYz/J,EAAK+gB,EAAS,WAAa,WAAYo9I,WAAYA,GAEtKn+J,IAAO+gB,EACLnnC,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAA,OAAKkJ,UAAU,iBACblJ,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,YAAaD,MAAI,GAAEpS,EAAQ0I,QAAQ4N,QAE3EvK,IAAAA,cAAC8qB,GAAY,CAAC3V,OAAQA,EAAQ6wK,OAAK,EAACC,MAAiC,UAA1BhyL,EAAQ0I,QAAQ4N,MAAkCg6K,WAAYA,GACvGvkL,IAAAA,cAACklL,GAAQ,CAACpxK,IAAK0xK,EAAsBrwK,OAAQA,EAAQovK,WAAYA,EAAYyB,OAAK,EAACC,MAAiC,UAA1BhyL,EAAQ0I,QAAQ4N,UAK9GvK,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAACwkL,GAAe,CAAC1wK,IAAK6wK,GAAeF,WAAS,EAACC,KAAMt+J,EAAIm+J,WAAYA,IACrEvkL,IAAAA,cAAA,OAAKkJ,UAAU,mBAEblJ,IAAAA,cAAC6K,GAAAA,EAAiB,CAACC,IAAKC,EAAAA,GAAYiT,OAClChe,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,QAAS2kC,cAAe,YACvC3qC,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUiE,gBAAiB,YAC1CjK,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,YAAaD,MAAI,EAACyD,UAAWC,EAAAA,GAAchE,OAAQ9R,EAAQ0I,QAAQ4N,OACzGvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoB8lC,SAAU9+B,UAAWC,EAAAA,GAAchE,OAAK,2BAC9E/F,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoB8lC,SAAU9+B,UAAWC,EAAAA,GAAchE,OAAK,yBAEhF/F,IAAAA,cAAC8lL,GAAO,CAAC58K,UAAU,YACnBlJ,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUR,QAAkC,IAAzBvR,EAAQyxL,MAAMC,OAAe,KAAO,CAAE9/K,OAAQH,EAAAA,EAAiB8gL,YAEjGxmL,IAAAA,cAACsmL,GAAe,KACdtmL,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,YAAaD,MAAI,GAAEpS,EAAQ2rK,MAAK,KACtE5/J,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoB2K,SAAO,OAAMzN,IAAAA,cAAA,kBAErDA,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBmR,YAAa5N,MAAI,GAAEpS,EAAQkuI,kBACvC,IAAzBluI,EAAQyxL,MAAMC,OACb3lL,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoB8lC,SAAU9+B,UAAWC,EAAAA,GAAcjE,MAAI,gBAAgBgQ,GAAa7hB,EAAQ+rK,YAAW,KAC3H,QAMVhgK,IAAAA,cAAC6K,GAAAA,EAAiB,CAACI,IAAKF,EAAAA,GAAYiT,OAClChe,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,QAAS2kC,cAAe,YACvC3qC,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUiE,gBAAiB,YAC1CjK,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBg6H,YAAaz2H,MAAI,EAACyD,UAAWC,EAAAA,GAAchE,OAAQ9R,EAAQ0I,QAAQ4N,OACzGvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoB2xK,SAAU3qK,UAAWC,EAAAA,GAAchE,OAAK,2BAC9E/F,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoB2xK,SAAU3qK,UAAWC,EAAAA,GAAchE,OAAK,yBAEhF/F,IAAAA,cAAC8lL,GAAO,CAAC58K,UAAU,YACnBlJ,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUR,QAAkC,IAAzBvR,EAAQyxL,MAAMC,OAAe,KAAO,CAAE9/K,OAAQH,EAAAA,EAAiB8gL,YAEjGxmL,IAAAA,cAACsmL,GAAe,KACdtmL,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBg6H,YAAaz2H,MAAI,GAAEpS,EAAQ2rK,MAAK,KACtE5/J,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,SAAO,OAAM/C,IAAAA,cAAA,kBAErDA,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,YAAaD,MAAI,GAAEpS,EAAQkuI,kBACvC,IAAzBluI,EAAQyxL,MAAMC,OACb3lL,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoB2xK,SAAU3qK,UAAWC,EAAAA,GAAcjE,MAAI,gBAAgBgQ,GAAa7hB,EAAQ+rK,YAAW,KAC3H,QAMVhgK,IAAAA,cAACumL,GAAoB,CAACpxK,OAAQA,EAAQovK,WAAYA,EAAYr7K,UAAU,kBACtElJ,IAAAA,cAACklL,GAAQ,CAACpxK,IAAK0xK,EAAsBjB,WAAYA,EAAY0B,MAAiC,UAA1BhyL,EAAQ0I,QAAQ4N,QACpFvK,IAAAA,cAACmmL,GAAU,KACTnmL,IAAAA,cAAC0J,GAAU,KACT1J,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAM,QACnBvZ,IAAAA,cAACilL,GAAY,CAAC9xF,mBAAoBA,EAAoB4xF,kBAAmBA,MAG7E/kL,IAAAA,cAACqmL,GAAM,UAOT,EC7TVttI,GAAct5C,EAAAA,GAAOC,GAAe;;;;EAKpC8kL,GAAkB/kL,EAAAA,GAAOstE,GAAe;;;;;;;;;EAWxChyD,GAAiBtb,EAAAA,GAAOC,GAAe;cAC9BC,GAASA,EAAMwV,OAAS,IAAM,WAAa;;;;EAW7CikC,GAAQz5C,IACnB,MAAM,mBAAEnD,EAAkB,mBAAE22F,GAAuBxzF,GAE3C8mL,EAAWC,IAAiBtmL,EAAAA,EAAAA,UAAiB,GAC/C+U,GAAQvC,EAAAA,GAAAA,MAGd,OACE5S,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAM,SACnBvZ,IAAAA,cAAC+4C,GAAW,KACV/4C,IAAAA,cAACwkL,GAAe,CAAC1wK,IAfG,iKAeuB5K,UAAU,mBAAmBiM,OAAQA,IAChFnV,IAAAA,cAAC+a,GAAc,CAAC7R,UAAU,SAASiM,OAAQA,GAEzB,IAAdsxK,EACEzmL,IAAAA,cAACulL,GAAU,CAACpyF,mBAAoBA,EAAoB4xF,kBAAmBvoL,EAAmB,GAAIvI,QAASuI,EAAmB,GAAG45J,QAAQ,KACrH,IAAdqwB,EACFzmL,IAAAA,cAACulL,GAAU,CAACpyF,mBAAoBA,EAAoB4xF,kBAAmBvoL,EAAmB,GAAIvI,QAASuI,EAAmB,GAAG45J,QAAQ,KAErIp2J,IAAAA,cAACulL,GAAU,CAACpyF,mBAAoBA,EAAoB4xF,kBAAmBvoL,EAAmB,GAAIvI,QAASuI,EAAmB,GAAG45J,QAAQ,MAI3Ip2J,IAAAA,cAAC2mL,GAAc,CAACD,aAAcA,EAAcE,OAAQpqL,EAAoBiqL,UAAWA,EAAYtxK,OAAQA,KAE3F,EC/Dd0xK,GAAkBpnL,EAAAA,GAAOC,GAAG;;;;;;EAQ5BonL,GAAcjkK,GAAAA,SAAS;;;EAKvBkkK,GAAUtnL,EAAAA,GAAOC,GAAG;;;;;;;;iBAQTonL;;EAGXE,GAAWvnL,EAAAA,GAAOC,GAAG;;;;;;;EASdunL,GAAcA,IAEvBjnL,IAAAA,cAAC6mL,GAAe,KACd7mL,IAAAA,cAACgnL,GAAQ,MACThnL,IAAAA,cAAC+mL,GAAO,CAAC79K,UAAU,QAAQkd,GAAG,kBC9B9B8gK,GAAMznL,EAAAA,GAAOC,GAAe;;;cAGnBC,GAAUA,EAAMwV,OAAQ,IAAM,WAAa;gBACzCxV,GAAUA,EAAMwV,OAAS,IAAM,OAAS;;;;;;;EASnDmvK,GAAY7kL,EAAAA,GAAO8gC,EAAE;;;;;EASrB4mJ,GAAW1nL,EAAAA,GAAOihC,EAAiB;;;;;;;;;;;;;sBAalB/gC,GAAUA,EAAM8mL,UAAY,WAAa;EAG1DW,GAAa3nL,EAAAA,GAAO6P,IAAmB;WACjC3P,GAAWA,EAAM8mL,UAAyB,UAAb;EAS5BE,GAAkBhnL,IAC7B,MAAM,aAAE+mL,EAAY,OAAEE,EAAM,UAAEH,EAAS,OAAEtxK,GAAWxV,EAG9C0nL,EAAoBC,IACxBZ,EAAaY,GACb,MAAMvyK,EAAMxS,SAAS+lJ,eAAe,gBAChCvzI,IACFA,EAAIgvB,UAAUguF,OAAO,SACrBh9G,EAAIkrD,YACJlrD,EAAIgvB,UAAUC,IAAI,S,EAgBtB,OAZA1hC,EAAAA,EAAAA,YAAU,KACR,MAAMyS,EAAoB,IAAd0xK,EAAkB,EAAIA,EAAY,EAExCl+B,EAAQ5lJ,YAAW,KACvB+jL,EAAa3xK,GACbsyK,EAAiBtyK,EAAI,GACpB,KAEH,MAAO,IAAMqqD,aAAampF,EAAM,GAE/B,CAACk+B,IAGFzmL,IAAAA,cAACknL,GAAG,CAAC/xK,OAAQA,GACXnV,IAAAA,cAACskL,GAAS,CAACp7K,UAAU,OAClB09K,EAAO9iL,KAAI,CAAC3O,EAAOyD,IAClBoH,IAAAA,cAACmnL,GAAQ,CAACpjL,IAAKnL,EAAOuK,QAAUrB,GAAMulL,EAAiBzuL,GAAQ6tL,UAAWA,IAAc7tL,GACtFoH,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,KAAMogL,IAAc7tL,GACxBoH,IAAAA,cAAConL,GAAU,CAACX,UAAWA,IAAc7tL,GAAK,IAAIzD,EAAMoV,MAAK,UAKjEvK,IAAAA,cAACinL,GAAW,MACR,ECzFJ,SAAUvqF,GAAmB93F,GAAqC,IAApC,mBAAEuuF,GAAkCvuF,EACtE,MAAOpI,EAAoB+qL,IAAyBnnL,EAAAA,EAAAA,UAA8B,MAC5EyT,GAAQ6tE,EAAAA,GAAAA,MASd,OAPAp/E,EAAAA,EAAAA,YAAU,MACRhG,EAAAA,EAAAA,MACG3B,MAAM7H,IACLy0L,EAAsBz0L,EAAK,GAC3B,GACH,IAGDkN,IAAAA,cAAAA,IAAAA,SAAA,KAEIxD,EACEwD,IAAAA,cAAA,OAAKkJ,UAAU,wBAEX2K,EAAQ,IACN7T,IAAAA,cAACo5C,GAAI,CAAC+5C,mBAAoBA,EAAoB32F,mBAAoBA,IAClEwD,IAAAA,cAAC4kL,GAAkB,CAACzxF,mBAAoBA,EAAoB32F,mBAAoBA,KAGpF,KAIZ,CC9BM,SAAUggG,KACd,OAAOx8F,IAAAA,cAACkpF,EAAAA,iBAAgB,CACtBC,gBAAiBnpF,IAAAA,cAAC0xJ,GAAAA,yBAAwB,MAC1C7nJ,mBAAoBhF,MACpBoD,sBAAuBA,IAAM,KAC7BkB,WAAW,EACX8I,SAAS,UAEb,C,eCRM,SAAUwqF,GAAiB98F,GAG/B,OACIK,IAAAA,cAACkpF,EAAAA,iBAAgB,CACfC,gBAAiBnpF,IAAAA,cAAC4iJ,GAAAA,EAAmB,MACrC/4I,mBAAoBhF,MACpBoD,sBAAuBA,IAAM,KAC7BkB,WAAW,EACX8I,SAAW,UAGnB,C,eCZM,SAAUgrF,KACf,MAAMl4E,GAAYkB,EAAAA,EAAAA,iBACX0oB,EAAQ64I,IAAapnL,EAAAA,EAAAA,UAAS,OAErCkC,EAAAA,EAAAA,YAAU,KACTklL,EAAUziK,EAAU4pB,OAAO,GACzB,CAAC5pB,IAUJ,OAPK4pB,EACI3uC,IAAAA,cAACg9H,GAAAA,EAAoB,CAACruF,OAAQA,IAE9B,IAKV,C,eCjBM,SAAUmuD,GAAyBl4F,GAAqC,IAApC,mBAAEuuF,GAAkCvuF,GAC1DqhB,EAAAA,EAAAA,gBAElB,OACEjmB,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAACkpF,EAAAA,iBAAgB,CACfC,gBAAiBnpF,IAAAA,cAAC8gI,GAAAA,GAA4B,MAC9Cj3H,mBAAoBhF,MACpBoD,sBAAuBA,IAAM,KAC7BkB,WAAW,EACX8I,SAAW,WAInB,CCdM,SAAUw1K,GAAoB7iL,GAAqC,IAApC,mBAAEuuF,GAAkCvuF,GACrDqhB,EAAAA,EAAAA,gBAOlB,OAJA3jB,EAAAA,EAAAA,YAAU,KACR6wF,EAAmBnzF,IAAAA,cAACwhI,GAAAA,iBAAgB,OAAK,EAAK,GAC7C,IAEI,IAET,CCVA,MAAMkmD,GAAgBA,CAACC,EAAgChoL,IAClC,eAAfgoL,EACK3nL,IAAAA,cAACynL,GAAoBz4K,OAAAC,OAAA,GAAKtP,IAG5B,KAGH,SAAU87F,GAAsB97F,GACpC,MAAMolB,GAAYkB,EAAAA,EAAAA,gBAElB,OAAOyhK,GAAc3iK,EAAU4iK,WAAYhoL,EAC7C,CCbA,MAAMioL,GAAgB,KAAOC,GAAG5gJ,WAAW,CAAEzc,YAAa,gBAAiB0c,YAAa,cAAgB,qBAAsBvnC,GAAUA,EAAM4kL,WAAa5kL,EAAM4Z,MAAMhV,KAAK0jC,KAAKx0B,QAAU,oBAAqB9T,GAAUA,EAAM4kL,WAAa,OAAS5kL,EAAM4Z,MAAMhV,KAAK0jC,KAAKx0B,qCAAsC9T,GAAUA,EAAM4Z,MAAMguB,OAAOM,OAAOE,WACzU,GAAWpoC,IACpB,MAAM,WAAE4kL,GAAe5kL,EACjB47C,GAAc,OAAe57C,GACnC,OAAO,gBAAoBioL,GAAe54K,OAAOC,OAAO,CAAEs1K,WAAYA,GAAchpI,GAAa,EAErG,GAAQ/wB,YAAc,U,0FCqBf,MAAM8wE,GAA6B37F,IACxC,MAAM,WAAEwC,EAAU,eAAEsvF,EAAc,QAAE13E,IAAYw3E,EAAAA,EAAAA,iBAC1C,mBAAE4B,GAAuBxzF,GACzB,OAAEg9C,IAAWl7C,EAAAA,EAAAA,KAAaC,GAAwBA,EAAMkkB,eACvD1yB,EAAOsU,IAAYpH,EAAAA,EAAAA,WAAS,IAC5BqxC,EAAYq2I,IAAiB1nL,EAAAA,EAAAA,UAAS,OACtC2nL,EAAeC,IAAoB5nL,EAAAA,EAAAA,UAAS,OAC5C6nL,EAAeC,IAAmB9nL,EAAAA,EAAAA,WAAS,GAC5CsG,GAAeiK,EAAAA,EAAAA,sBAAqB,iBACpCzL,GAAQC,EAAAA,EAAAA,MACRsB,GAAMmK,EAAAA,EAAAA,6BACN,WAACojF,IAAcF,EAAAA,EAAAA,eAGfq0F,IAFW9mL,EAAAA,EAAAA,MAES8mL,IAEtBnoL,IAAAA,cAAC6G,EAAAA,oBAAmB,CAAC3B,MAAOA,EAAOuB,IAAKA,GACtCzG,IAAAA,cAAC+rC,EAAAA,GAAiB,CAChBxhC,MAAM,6CACNyhC,SAAS,qHACTC,SAAS,yBACTznC,MAAM,EACN6nC,aAAa,OAEblpC,QAASA,KACP6wF,EAAW,0BAA0B,MAezCo0F,EAAmB32F,IACnBA,IAC0C,IAAxCA,EAAezkF,QAAQC,cACzB+6K,EAAiBv2F,EAAezkF,SAElC86K,EAAcr2F,EAAejgD,WAAWC,cAExCjqC,GAAS,GAdGd,EAAaC,eAAewhL,EAAmB,CAAC,EAAG,CAAE5jL,KAAMuC,GAAAA,GAAiBmK,I,EA+B5F,OAZA3O,EAAAA,EAAAA,YAAU,KACJq6C,GACFurI,GAAgB,E,GAEjB,CAACvrI,KAEJr6C,EAAAA,EAAAA,YAAU,KACHyX,GACHquK,EAAgB32F,E,GAEjB,CAACA,EAAgB13E,IAEb7mB,EAAQ,KACb8M,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAM,QACnBvZ,IAAAA,cAACuT,EAAAA,GAAM,CACL1Q,WAAY,CACV,CAACkI,EAAAA,GAAY0I,SAAU,CACrB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,MAI1B1T,IAAAA,cAACsF,EAAAA,EAAS,CACRE,QAAS,CAAEK,OAAQH,EAAAA,EAAiBoyC,aACpC7tC,gBAAiB,UAEjBjK,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBg6H,YAAahzH,UAAWC,EAAAA,GAAciK,QAC1EhU,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,gCAAiC,uBAIhDorC,GAAcw2I,EACbjoL,IAAAA,cAACuT,EAAAA,GAAM,CACL1Q,WAAY,CACV,CAACkI,EAAAA,GAAY0I,SAAU,CACrB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYmJ,MAAO,CAClB,CAAE/d,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYyG,OAAQ,CACnB,CAAErb,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAY4I,OAAQ,CACnB,CAAExd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYkT,OAAQ,CACnB,CAAE9nB,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,KAG1BwkC,OAAQC,EAAAA,EAAaL,aAErB93C,IAAAA,cAAA,WACEA,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,UACfhG,IAAAA,cAACsF,EAAAA,EAAS,CAACE,QAAS,CAAEK,OAAQH,EAAAA,EAAiBmP,YAC7C7U,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,YAAaD,MAAI,GACpD0hL,EAAgBA,EAAc5xL,KAAOs7C,EAAWt7C,OAGrD6J,IAAAA,cAACsF,EAAAA,EAAS,CAACW,OAAQC,EAAAA,EAAgB8D,UAAWhE,KAAM,UAClDhG,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJC,SAAS,UACTnB,QAAUrB,IACRA,EAAE6B,iBACFykL,EAAgB32F,GAChB0B,EAAmBnzF,IAAAA,cAACg6F,GAAAA,GAA+B,CAACo6C,sBAAsB,IAAS,EAErF9gI,UAAU,cAAY,gBAIxBtT,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUC,OAAQC,EAAAA,EAAgBgY,aACjDle,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBmR,YAAa5N,MAAI,gBAGvDrG,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,SACnC0uC,EAAWN,QAAO,KAAIM,EAAWJ,QAAO,IAAGI,EAAWL,OAG3DpxC,IAAAA,cAAC8lL,GAAO,MACR9lL,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUC,OAAQC,EAAAA,EAAgBE,WACjDpG,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBmR,YAAa5N,MAAI,wBAGvDrG,IAAAA,cAAA,OAAK2K,MAAO,CAAE8U,QAAS,SACrBzf,IAAAA,cAAA,OAAK2K,MAAO,CAAE+xI,aAAc,OAAQ7oI,MAAO,cAAe7Q,MAAO,YAC/DhD,IAAAA,cAACywK,GAAAA,EAAK,OAERzwK,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,IACJC,SAAS,WACTQ,KAAM,UAAUijL,EAAgBA,EAAcjmD,MAAQrwF,EAAWqwF,QACjExuH,UAAU,cAEVtT,IAAAA,cAAA,aAAK+nL,EAAgBA,EAAcjmD,MAAQrwF,EAAWqwF,MAAK,OAG/D9hI,IAAAA,cAAA,OAAK2K,MAAO,CAAE8U,QAAS,SACrBzf,IAAAA,cAAA,OAAK2K,MAAO,CAAE+xI,aAAc,OAAQ7oI,MAAO,cAAe7Q,MAAO,YAC/DhD,IAAAA,cAACqoL,GAAAA,EAAI,OAEProL,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,IACJC,SAAS,WACTQ,KAAM,UAAUijL,EAAgBA,EAAct5J,MAAQgjB,EAAWwgG,OACjE3+H,UAAU,cAEVtT,IAAAA,cAAA,SAAI+nL,EAAgBA,EAAct5J,MAAQgjB,EAAWwgG,SAIzD81C,EACA/nL,IAAAA,cAAAA,IAAAA,SAAA,KACG+nL,EAAc12H,0BAA4B02H,EAAc93H,+BACvDjwD,IAAAA,cAACsF,EAAAA,EAAS,CAACW,OAAQC,EAAAA,EAAgB8D,UAAWhE,KAAM,UAClDhG,IAAAA,cAAC8lL,GAAO,MACR9lL,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUC,OAAQC,EAAAA,EAAgBE,WACjDpG,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBmR,YAAa5N,MAAI,GACpD,IAAG,wBACkB,KAEvB0hL,EAAc12H,yBACbrxD,IAAAA,cAAA,OAAK2K,MAAO,CAAE8U,QAAS,SACrBzf,IAAAA,cAAA,OAAK2K,MAAO,CAAE+xI,aAAc,OAAQ7oI,MAAO,cAAe7Q,MAAO,YAC/DhD,IAAAA,cAAC0xD,GAAAA,EAAgB,OAEnB1xD,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,SAAO,qCAE7C,KACHglL,EAAc93H,+BACbjwD,IAAAA,cAAA,OAAK2K,MAAO,CAAE8U,QAAS,SACrBzf,IAAAA,cAAA,OAAK2K,MAAO,CAAE+xI,aAAc,OAAQ7oI,MAAO,cAAe7Q,MAAO,YAC/DhD,IAAAA,cAACyxD,GAAAA,EAAmB,OAEtBzxD,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,SAAO,2BAE7C,OAGN,MA5BU,QAkCxB/C,IAAAA,cAAC08C,GAAAA,GAAoB,CAAC3pD,OAAQ0+F,EAAgB10C,wBAAsB,GAClE/8C,IAAAA,cAACsuE,GAAAA,GAAM,CAACD,WAAW,MAIvBruE,IAAAA,cAACsF,EAAAA,EAAS,CACRE,QAAS,CAAEK,OAAQH,EAAAA,EAAiBoyC,aACpC7tC,gBAAiB,UAEjBjK,IAAAA,cAAA,OAAK2K,MAAO,CAAE8U,QAAS,OAAQS,cAAe,SAAU03B,eAAgB,SAAU0wI,WAAY,WAC5FtoL,IAAAA,cAACoK,GAAAA,EAAO,CAAC1F,QAAQ,UACjB1E,IAAAA,cAAC4C,EAAAA,GAAI,+CAKd,E,eC3OH,MAAM2lL,GAAU9oL,EAAAA,GAAOC,GAAG;;;;;;;;;;;;;;;;EAiBpB,SAAUi8F,GAAYh8F,GAE1B,MAA0B,UADX4L,EAAAA,EAAAA,uBACD+B,QACZtN,IAAAA,cAACkpF,EAAAA,iBAAgB,CACfC,gBAAiBnpF,IAAAA,cAACwoL,GAAqB,MACvC3+K,mBAAoBhF,MACpBoD,sBAAuBA,IAAM,KAC7BgK,SAAS,WAGXjS,IAAAA,cAACyoL,GAAgBz5K,OAAAC,OAAA,GAAKtP,GAE1B,CAEA,MAAM+oL,GAAMjpL,EAAAA,GAAOC,GAAG;;;;EAMhBipL,GAAclpL,EAAAA,GAAOstE,GAAG;;;;;;;;;;;;;;EAgBxBjiD,GAAerrB,EAAAA,GAAOC,GAAG;;;;;;;;;EAUzBqb,GAAiBtb,EAAAA,GAAOC,GAAG;;;;;;;;;;;;;;;;EAiB3BkpL,GAAyBnpL,EAAAA,GAAOC,GAAG;;;;;;;;;;;;;;;EAiB5B8oL,GAAwBA,KACnC,MAAM,cAAE/pJ,IAAkBh9B,EAAAA,EAAAA,KAAaC,GAAwBA,EAAMlJ,SAASqB,UACxE,OAAE+1K,EAAM,UAAED,EAAS,WAAEG,EAAU,eAAEK,EAAc,MAAEj9K,EAAK,SAAEurF,EAAQ,MAAEryD,EAAK,cAAEikJ,EAAa,WAAEN,EAAU,MAAEkB,IACxGN,EAAAA,GAAAA,uBAAsBlyI,GAClBx+B,GAAMkB,EAAAA,EAAAA,QAAO,MACb0nL,GAAe1nL,EAAAA,EAAAA,QAAO,MACtB2nL,GAAY50F,EAAAA,EAAAA,aAAY20F,IACvBzY,EAAW2Y,IAAgB3oL,EAAAA,EAAAA,UAAS,IACrC,eAAEu+E,IAAmBz6E,EAAAA,EAAAA,qBACrB0sF,GAAclP,EAAAA,GAAAA,MACdtgF,GAAWC,EAAAA,EAAAA,MACX6D,GAAQC,EAAAA,EAAAA,MACRsB,GAAMmK,EAAAA,EAAAA,4BACNlK,GAAeiK,EAAAA,EAAAA,sBAAqB,iBACpCrP,GAAkBC,EAAAA,EAAAA,sBAClBynL,GAAY7nL,EAAAA,EAAAA,SAAO,IAEzBmB,EAAAA,EAAAA,YAAU,KACJrC,GACF8oL,EAAa9oL,EAAI8B,QAAQk+D,Y,GAE1B,CAAC2wB,KAEJtuF,EAAAA,EAAAA,YAAU,KAEJwmL,GAAaE,EAAUjnL,UACzBT,EAAgBg4F,oBAChB0vF,EAAUjnL,SAAU,E,GAErB,CAAC+mL,KAEJxmL,EAAAA,EAAAA,YAAU,KACJm8B,GAAiBqxI,GAEnB1uK,EAAS,CAAE3K,KAAM,gBAAiBiM,QAAS,CAAE+7B,mBAAevoC,I,GAE7D,CAACuoC,EAAeqxI,KAEnBxtK,EAAAA,EAAAA,YAAU,KACJpP,GACF+1L,G,GAED,CAAC/1L,KAEJoP,EAAAA,EAAAA,YAAU,QAAW,IAErB,MAAM6lL,EAAoBA,CAACzmL,EAAYmD,IAEnC7E,IAAAA,cAAC6G,EAAAA,oBAAmB,CAAC3B,MAAOA,EAAOuB,IAAKA,GACtCzG,IAAAA,cAAC+rC,EAAAA,GAAiB,CAChBxhC,MAAM,qBACNyhC,SAAS,iFACTC,SAAS,aACT9oC,QAASA,KACP8tK,IACApsK,EAAM,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,EAEnBL,MAAM,EACN6nC,aAAa,OACbC,UACEtsC,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJC,SAAS,YACTnB,QAAUrB,IACRsqB,IACAvnB,EAAM,CAAC,EAAG,CAAC,EAAG,CAAC,EAAE,GAClB,gCAUPokL,EAAmBA,KACvBviL,EAAaC,eAAewhL,EAAmB,CAAC,EAAG,CAAE5jL,KAAMuC,GAAAA,GAAiBmK,GAAI,EAGlF,OACEjR,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAA,OAAKC,IAAK4oL,EAAc3/K,UAAU,gBAChClJ,IAAAA,cAACuT,EAAAA,GAAM,CACL1Q,WAAY,CACV,CAACkI,EAAAA,GAAY0I,SAAU,CACrB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYC,MAAO,CAClB,CAAE7U,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,MAI1B1T,IAAAA,cAAC0oL,GAAG,KAEF1oL,IAAAA,cAACsF,EAAAA,EAAS,CACRE,QAAS,CACPC,IAAK,CAAE,EAAGC,EAAAA,EAAiBC,QAAS,IAAKD,EAAAA,EAAiBE,QAAS,KAAMF,EAAAA,EAAiB+jB,SAC1F5jB,OAAQ,CAAE,EAAGH,EAAAA,EAAiBC,QAAS,IAAKD,EAAAA,EAAiBE,QAAS,KAAMF,EAAAA,EAAiB+jB,SAC7F1jB,MAAO,CACL,EAAGL,EAAAA,EAAiBE,QACpB,IAAKF,EAAAA,EAAiBC,QACtB,IAAKD,EAAAA,EAAiBE,QACtB,KAAMF,EAAAA,EAAiBC,SAEzBG,KAAM,CACJ,EAAGJ,EAAAA,EAAiBE,QACpB,IAAKF,EAAAA,EAAiBC,QACtB,IAAKD,EAAAA,EAAiBE,QACtB,KAAMF,EAAAA,EAAiBC,WAI3B3F,IAAAA,cAAC4oL,GAAsB,KACrB5oL,IAAAA,cAAC8qB,GAAY,KACX9qB,IAAAA,cAAC6K,GAAAA,EAAiB,CAACC,IAAKC,EAAAA,GAAYmJ,MAClClU,IAAAA,cAAC2oL,GAAW,CACV70K,IAAI,oFACJC,IAAI,UAGR/T,IAAAA,cAAC6K,GAAAA,EAAiB,CAACI,IAAKF,EAAAA,GAAYmJ,MAClClU,IAAAA,cAAC2oL,GAAW,CACV70K,IAAI,qFACJC,IAAI,WAIV/T,IAAAA,cAAC+a,GAAc,KACb/a,IAAAA,cAAA,WACEA,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,YAAaD,MAAI,2BAGvDrG,IAAAA,cAAA,OAAK2K,MAAO,CAAE2G,WAAY,QAAUrR,IAAKA,GACvCD,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,SAAO,mJAMjD/C,IAAAA,cAACkwK,GAAAA,SAAQ,CACPN,OAAQA,EACRD,UAAWA,EACXG,WAAYA,EACZK,eAAgBA,EAChB1xF,SAAUA,EACV2xF,UAAWA,EACX/9G,cAAc,EACdg+G,cAAeA,EACfN,WAAYA,IAEd/vK,IAAAA,cAACkpL,GAAK,YAOjB,EAIMT,GAAmB7jL,IAAiF,IAAhF,wBAAEo2F,EAAuB,YAAED,EAAW,qBAAEE,GAAoCr2F,EAC3G,MAAOukL,EAAaC,IAAkBhpL,EAAAA,EAAAA,WAAS,GACzCkB,GAAkBC,EAAAA,EAAAA,sBAYxB,OAVAe,EAAAA,EAAAA,YAAU,MACH24F,GAAwBkuF,GAC3BC,GAAe,E,GAEhB,CAACnuF,KAEJ34F,EAAAA,EAAAA,YAAU,KACRhB,EAAgBg4F,mBAAmB,GAClC,IAGDt5F,IAAAA,cAACuoL,GAAO,KACNvoL,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJzE,SAAUupL,EACV3kL,KAAMxE,IAAAA,cAACywK,GAAAA,EAAK,MACZttK,QAASA,KACP63F,EAAwBh7F,IAAAA,cAACqpL,GAAS,CAACD,eAAgBA,KACnDruF,EAAY,eACZquF,GAAe,EAAK,EAEtB7jL,gBAAc,2BAIR,EAIR+jL,GAAW7pL,EAAAA,GAAOC,GAAG;;EAGrB6pL,GAAc9pL,EAAAA,GAAOC,GAAG;;;;EAMxBgrB,GAAWjrB,EAAAA,GAAOC,GAAG;;EAQrB2pL,GAAY/pK,IAAuC,IAAtC,eAAE8pK,GAAgC9pK,EACnD,MAAM,WAAE1B,IAAe1Z,EAAAA,EAAAA,sBACjB,OAAErK,IAAW4H,EAAAA,EAAAA,KAAaC,GAAwBA,EAAMlJ,YACxD,cAAEimC,GAAkB5kC,GACpB,OAAE+1K,EAAM,UAAED,EAAS,WAAEG,EAAU,eAAEK,EAAc,MAAEj9K,EAAK,SAAEurF,EAAQ,MAAEwyF,EAAK,cAAEZ,EAAa,WAAEN,IAC5FY,EAAAA,GAAAA,uBAAsBlyI,GAClBx+B,GAAMkB,EAAAA,EAAAA,QAAO,OACZivK,EAAW2Y,IAAgB3oL,EAAAA,EAAAA,UAAS,GACrCwwF,GAAclP,EAAAA,GAAAA,MACdtgF,GAAWC,EAAAA,EAAAA,MAejB,OAbAiB,EAAAA,EAAAA,YAAU,KACJrC,GACF8oL,EAAa9oL,EAAI8B,QAAQk+D,Y,GAE1B,CAAC2wB,KAEJtuF,EAAAA,EAAAA,YAAU,KACJm8B,GAAiBqxI,GAEnB1uK,EAAS,CAAE3K,KAAM,gBAAiBiM,QAAS,CAAE+7B,mBAAevoC,I,GAE7D,CAACuoC,EAAeqxI,IAGjB9vK,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAACspL,GAAQ,KACPtpL,IAAAA,cAACsF,EAAAA,EAAS,CACRC,gBAAc,EACdC,QAAS,CACPC,IAAKC,EAAAA,EAAiBwE,YACtBnE,MAAOL,EAAAA,EAAiBa,UACxBV,OAAQH,EAAAA,EAAiBwE,YACzBpE,KAAM,CAAE,EAAGJ,EAAAA,EAAiBC,QAAS,IAAKD,EAAAA,EAAiBE,WAG7D5F,IAAAA,cAACupL,GAAW,KACVvpL,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,YAAaD,MAAI,2BAGvDrG,IAAAA,cAAC0qB,GAAQ,CACPvnB,QAASA,KACPya,IACAwrK,GAAe,EAAM,GAGvBppL,IAAAA,cAACqI,GAAAA,EAAK,UAMdrI,IAAAA,cAACsF,EAAAA,EAAS,CACRU,KAAM,SACNT,gBAAc,EACdC,QAAS,CACPC,IAAK,CAAE,EAAGC,EAAAA,EAAiBC,QAAS,IAAKD,EAAAA,EAAiBE,SAC1DE,KAAM,CAAE,EAAGJ,EAAAA,EAAiBC,QAAS,IAAKD,EAAAA,EAAiBE,SAC3DG,MAAO,CAAE,EAAGL,EAAAA,EAAiBC,QAAS,IAAKD,EAAAA,EAAiBE,SAC5DC,OAAQ,CAAE,EAAGH,EAAAA,EAAiBC,QAAS,IAAKD,EAAAA,EAAiBE,WAG7D1S,EAsBA8M,IAAAA,cAACwpL,GAAS,CAAC3kL,MAAO+Y,EAAYqzJ,MAAOA,EAAOmY,eAAgBA,IArB5DppL,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAA,OAAKC,IAAKA,GACRD,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,SAAO,kJAK/C/C,IAAAA,cAACkwK,GAAAA,SAAQ,CACPN,OAAQA,EACRD,UAAWA,EACXG,WAAYA,EACZK,eAAgBA,EAChB1xF,SAAUA,EACV2xF,UAAWA,EACX/9G,cAAc,EACdg+G,cAAeA,EACfN,WAAYA,IAEd/vK,IAAAA,cAACkpL,GAAK,QAMX,EAUDA,GAAQA,IAERlpL,IAAAA,cAAC4C,EAAAA,GAAI,CAACI,MAAOC,EAAAA,GAAeC,UAAWL,WAAYC,EAAAA,GAAoB2K,SAAO,6MAEsB,IAClGzN,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,EAACrD,MAAOC,EAAAA,GAAeC,WAC/BlD,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,IACJS,KAAK,uEACL7C,OAAO,SACPqC,SAAS,YAAU,2BAIhB,KAKTklL,GAAYhqK,IAAqD,IAApD,MAAEyxJ,EAAK,MAAEpsK,EAAK,eAAEukL,GAAgC5pK,EACjE,OACExf,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAACsF,EAAAA,EAAS,CACRU,KAAM,SACNT,gBAAc,EACdU,OAAQC,EAAAA,EAAgBC,UACxBX,QAAS,CAAEK,OAAQH,EAAAA,EAAiBU,YAEpCpG,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,EAACxD,WAAYC,EAAAA,GAAoBwD,aAAW,sBAGtDtG,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,SAAO,mFAI/C/C,IAAAA,cAACsF,EAAAA,EAAS,CACRU,KAAM,SACNT,gBAAc,EACdU,OAAQC,EAAAA,EAAgBK,WAGxBvG,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJC,SAAS,UACTnB,QAASA,KACP8tK,GAAO,GACR,cAIHjxK,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJC,SAAS,YACTnB,QAASA,KACP0B,IACAukL,GAAe,EAAM,GACtB,8BAKJ,EC5dD3/K,GAAUhK,EAAAA,GAAOC,GAAiB;;;;;gBAKvBC,GAA+B,aAArBA,EAAME,WAA4BF,EAAM4Z,MAAMguB,OAAOkiJ,SAASC,OAAS;aACpF/pL,GAAgC,aAArBA,EAAME,WAA4B,SAAW;;;eAGtDF,GAAgC,aAArBA,EAAME,WAA4B,SAAW;;;eAGxDF,GAAgC,aAArBA,EAAME,WAA4B,SAAW;;;;;;EASlEijL,GAAYrjL,EAAAA,GAAOC,GAAG;;EAGtB,SAAUiqL,GAA0B/kL,GAUvB,IAVwB,mBACzCuuF,EAAkB,YAClB4H,EAAW,wBACXC,EAAuB,qBACvBC,EAAoB,MACpB1hF,EAAK,SACLqqJ,EAAQ,YACRgmB,EAAW,YACXpkC,EAAW,eACXqkC,GACiBjlL,EACjB,MAAM,SAAEpD,IAAaC,EAAAA,EAAAA,KAAaC,GAAwBA,KACpD,oBAAEwtC,GAAwB1tC,EAC1BujB,GAAYkB,EAAAA,EAAAA,gBACZ7kB,GAAWC,EAAAA,EAAAA,MAGjB,OACErB,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAOA,GACpBvZ,IAAAA,cAACyJ,GAAO,CAAC5J,WAAY0Z,GACnBvZ,IAAAA,cAACuT,EAAAA,GAAM,CACL1Q,WAAY,CACV,CAACkI,EAAAA,GAAY0I,SAAU,CACrB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYmJ,MAAO,CAClB,CAAE/d,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYiT,OAAQ,CACnB,CAAE7nB,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYyG,OAAQ,CACnB,CAAErb,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,MAI1B1T,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,UACfhG,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUC,OAAQC,EAAAA,EAAgBgE,aACjDlK,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAciK,OAAQnR,WAAYC,EAAAA,GAAoBwD,aACrEtG,IAAAA,cAAA,OAAKoR,wBAAyBwyJ,OAE/BgmB,KAEH5pL,IAAAA,cAACsF,EAAAA,EAAS,CACRU,KAAM,SACNC,OAAQC,EAAAA,EAAgB2O,UACxBrP,QAAS,CAAEC,IAAKC,EAAAA,EAAiBg7H,cAEjC1gI,IAAAA,cAAC8iL,GAAS,KACR9iL,IAAAA,cAAC6K,GAAAA,EAAiB,CAACC,IAAKC,EAAAA,GAAYC,MAClChL,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJlB,QAASA,KACP/B,EAAS,CAAE3K,KAAM,gBACjBskG,EAAYyqD,KACZryD,EAAmBnzF,IAAAA,cAACg6F,GAAAA,GAA+B,MAAI,EAEzDz0F,gBAAc,GAEbigJ,MAILxlJ,IAAAA,cAAC6K,GAAAA,EAAiB,CAACI,IAAKF,EAAAA,GAAYC,MAClChL,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJlB,QAASA,KACP/B,EAAS,CAAE3K,KAAM,gBACjBskG,EAAYyqD,KACZryD,EAAmBnzF,IAAAA,cAACg6F,GAAAA,GAA+B,MAAI,GAGxDwrD,OAWH,UAMO,UAApBzgI,aAAS,EAATA,EAAW+kK,MACV9pL,IAAAA,cAAC27F,GAAW,CACVV,qBAAsBA,EACtBF,YAAaA,EACbC,wBAAyBA,IAEzB,KAGV,C,eCzJA,MAAM0yC,GAAyBhT,IACvB,CACN/8H,MAAO,IACPtB,MAAOq+H,EAAQr+H,MACfq8H,aAAcgC,EAAQoT,0BACtBnV,UAAW,EACXoV,MAAOrT,EAAQsT,QAAQphI,cACvBqhI,UAAWC,GAAyBxT,EAAQyT,aAAa,GACzDC,OAAQ1T,EAAQ0T,OAChB7sH,MAAO,CACNvrB,KAAM0kI,EAAQ2T,gBACdtqI,IAAK22H,EAAQ2T,gBACbl4I,KAAMukI,EAAQ4T,mBAKXJ,GAA2BA,CAAC/4F,EAAco5F,KAC/C,MAAMvjD,EAAY71C,EAClB,IAAIq5F,EAQJ,OANCA,EADGD,EACa,IAAIvoG,KAAKglD,GAAWyjD,mBAAmB,QAAS,CAC/D55I,KAAM,YAGS,IAAImxC,KAAKglD,GAAWyF,cAAc34F,QAAQ,IAAK,KAAKA,QAAQ,OAAQ,IAE9E02I,CAAa,EAGf,SAAUu7C,GAAwBnlL,GAAmC,IAAlC,mBAACuuF,GAAiCvuF,EAC1E,MAAMmgB,GAAYkB,EAAAA,EAAAA,iBACZ,QAAClM,IAAW63E,EAAAA,EAAAA,eAAc7sE,aAAS,EAATA,EAAWhyB,QACrC2nI,EAAU31G,EAAU21G,QAAQ,GAE5B0S,EAAcvzI,IACnBs5F,EACCnzF,IAAAA,cAACg6F,GAAAA,GAA+B,CAC/B20C,mCAAiC,EACjCrB,gBAAiB,CAChBzzI,aAGF,EACA,EAwBF,OAtBAyI,EAAAA,EAAAA,YAAU,KACT,GAAIyX,EAAS,OAEb,MAAMlgB,EAAS,CACdqsF,OAAQ,gBACR7gF,SAAU,4BACV2X,UAAW09G,EAAQsT,QACnBY,sBAAuBlB,GAAsBhT,GAC7Cz9G,iBAAkBixH,GAAyBxT,EAAQyT,aAAa,GAChEpoH,OAAQ20G,EAAQoT,4BAIjB5yI,EAAAA,EAAAA,MACEP,MAAK,KACLyyI,EAAW,IAAIvzI,GAAQ,IAEvBgB,OAAOV,IACPizI,EAAW,IAAIvzI,GAAQ,GACtB,GACD,CAACkgB,IAEG/Z,IAAAA,cAAAA,IAAAA,SAAA,KACR,CClEM,SAAUo7F,GAA2Bx2F,GAAqC,IAApC,mBAAEuuF,GAAkCvuF,EAG/E,QAFkBqhB,EAAAA,EAAAA,gBAEA0hK,YACjB,IAAK,iBACJ,OAAO3nL,IAAAA,cAACktI,GAAAA,GAA2B,CAAC/5C,mBAAoBA,IACzD,IAAK,sBACJ,OAAOnzF,IAAAA,cAAC0uI,GAAAA,GAA2B,CAACv7C,mBAAoBA,IACzD,IAAK,YACJ,OAAOnzF,IAAAA,cAAC6uI,GAAAA,GAAsB,CAAC17C,mBAAoBA,IACpD,IAAK,UACJ,OAAOnzF,IAAAA,cAACmtI,GAAAA,GAAqB,CAACh6C,mBAAoBA,IACnD,IAAK,iBACJ,OAAOnzF,IAAAA,cAAC+pL,GAAwB,CAAC52F,mBAAoBA,IAEvD,OAAO,IACR,C,eCJA,MAAM62F,GAAevqL,EAAAA,GAAOC,GAAwB;eACpCC,GAAU,cAAcA,EAAMsqL,QAAU;;;;;;;;;;;;;;;EA+BlDC,IAdazqL,EAAAA,GAAOC,GAAG;;;;;;;;;;;;EAcRD,EAAAA,GAAOC,GAA2B;;;;;;gBAMtCC,GAA+B,aAArBA,EAAME,WAA4BF,EAAM4Z,MAAMguB,OAAOkiJ,SAASC,OAAS;;;;;GAO5FS,GAAe1qL,EAAAA,GAAOC,GAAG;;;;;EAOlB0qL,GAA2BxlL,IAQjB,IARkB,mBACvCuuF,EAAkB,YAClB4H,EAAW,MACXxhF,EAAK,SACLqqJ,EAAQ,YACRgmB,EAAW,YACXpkC,EAAW,SACX6kC,GACiBzlL,EACjB,MAAOqlL,EAASK,IAAclqL,EAAAA,EAAAA,WAAUhM,OAAO61L,SACzCllK,GAAYkB,EAAAA,EAAAA,gBACZ7kB,GAAWC,EAAAA,EAAAA,MAMjB,OAJAkpL,EAAAA,GAAAA,IAAkBjrK,IAAyB,IAAxB,QAAEkrK,EAAO,QAAEC,GAASnrK,EACrCgrK,EAAWG,EAAQrnI,EAAE,GACpB,IAGDpjD,IAAAA,cAACmqL,GAAY,KACXnqL,IAAAA,cAACgqL,GAAY,CAACC,QAASA,GACrBjqL,IAAAA,cAAC08H,GAAAA,GAAK,CAAC5oH,IAAKiR,aAAS,EAATA,EAAW2lK,gBAAiB32K,IAAI,gBAE9C/T,IAAAA,cAAA,OAAK2K,MAAO,CAAEggL,SAAU,mBACtB3qL,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAOA,GACpBvZ,IAAAA,cAACuT,EAAAA,GAAM,CACL1Q,WAAY,CACV,CAACkI,EAAAA,GAAY0I,SAAU,CAAC,CAAEtd,KAAM,IAAKud,QAAS,KAC9C,CAAC3I,EAAAA,GAAYC,MAAO,CAClB,CAAE7U,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYmJ,MAAO,CAClB,CAAE/d,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,OAI1B1T,IAAAA,cAACkqL,GAAY,CAACrqL,WAAY0Z,GACxBvZ,IAAAA,cAACsF,EAAAA,EAAS,CACRU,KAAM,SACNR,QAAS,CACPK,OAAQH,EAAAA,EAAiBoyC,YACzBryC,IAAKC,EAAAA,EAAiBwE,YACtBpE,KAAMJ,EAAAA,EAAiBC,QACvBI,MAAOL,EAAAA,EAAiBC,UAG1B3F,IAAAA,cAACsF,EAAAA,EAAS,CACR2E,gBAAiB,aACjBjE,KAAM,SACNC,OAAQC,EAAAA,EAAgBgE,aAExBlK,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAcjE,KAAMO,MAAI,EAACxD,WAAYC,EAAAA,GAAoBwD,aACvE+jL,KAEHrqL,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAcjE,KAAMjD,WAAYC,EAAAA,GAAoBg6H,aAEnE98H,IAAAA,cAAA,OAAKoR,wBAAyBwyJ,OAEhC5jK,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAcjE,KAAMjD,WAAYC,EAAAA,GAAoBC,SAClE6mL,EAAY7/K,EAAAA,GAAcjE,QAG/B9F,IAAAA,cAACsF,EAAAA,EAAS,CACRU,KAAM,SACNC,OAAQC,EAAAA,EAAgB2O,UACxBrP,QAAS,CAAEC,IAAKC,EAAAA,EAAiBg7H,cAEjC1gI,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJlB,QAASA,KACP/B,EAAS,CAAE3K,KAAM,gBACjBskG,EAAYyqD,KACZryD,EAAmBnzF,IAAAA,cAACg6F,GAAAA,GAA+B,MAAI,GAGxDwrD,WAQF,E,eClIb,SAAUrqD,GAAmBv2F,GAA2E,IAA1E,mBAAEuuF,EAAkB,YAAE4H,EAAW,wBAAEC,GAAuCp2F,EAC5G,MAAM0G,GAASC,EAAAA,EAAAA,uBACTwZ,GAAYkB,EAAAA,EAAAA,gBACZ2kK,GAAyBj6K,EAAAA,EAAAA,sBAAqB,6BAC9C,SAAEnY,EAAQ,SAAEgJ,IAAaC,EAAAA,EAAAA,KAAaC,GAAwBA,KAC9D,oBAAEwtC,GAAwB1tC,GAC1B,KAAErL,GAASqC,EAASqB,QACpB,WAAEsI,IAAeyvF,EAAAA,EAAAA,iBACjBxF,GAAcoJ,EAAAA,GAAAA,MAGbj8E,EAAO6vE,IAAYhpF,EAAAA,EAAAA,UAAyB,YAE7ColJ,EAAcA,KAAOzgI,aAAS,EAATA,EAAWnW,KAAMmW,EAAUnW,IAAM,yBAEtDy7K,EAAWA,KAAOtlK,aAAS,EAATA,EAAW2+H,OAAQ3+H,EAAU2+H,MAAQ,GAGvDkgB,EAAWA,KAMR7+I,aAAS,EAATA,EAAWuxJ,WAAWxhF,EAAAA,EAAAA,oBAAmB/vE,EAAUuxJ,WAAYxhF,EAAAA,EAAAA,oBAP5C,0CAUtB80F,EAAeiB,IAYZ9lK,aAAS,EAATA,EAAWinB,UAChBhsC,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAW+gL,GAAgC9gL,EAAAA,GAAciK,OAAQnR,WAAYC,EAAAA,GAAoBC,SACrG/C,IAAAA,cAAA,OAAKoR,yBAAyB0jF,EAAAA,EAAAA,oBAAmB/vE,EAAUinB,aAE3D7pC,EACFnC,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAW+gL,GAAgC9gL,EAAAA,GAAciK,OAAQnR,WAAYC,EAAAA,GAAoBC,SAAO,2EAE5G/C,IAAAA,cAAC4C,EAAAA,GAAI,CAACwN,WAAYu6I,EAAAA,GAAW7hH,QAAM,IAAI3mC,GAAkB,KAG3DnC,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAW+gL,GAAgC9gL,EAAAA,GAAciK,OAAQnR,WAAYC,EAAAA,GAAoBC,SAAO,+FAM5G8mL,EAAkB7kL,GAEpBhF,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJC,SAAS,WACTnB,QAAUrB,IACRA,EAAE6B,iBACFyoF,EAAY0+F,OAAO,GAGpB9lL,GAmBP,OAdA1C,EAAAA,EAAAA,YAAU,KACgB,WAApByiB,aAAS,EAATA,EAAWgmK,OACb3hG,EAAS,QAEwB,UAA/BrkE,aAAS,EAATA,EAAWimK,kBACbJ,EAAuB1jL,SAAS,4BAA6B,CAC3DynC,OAAQA,KAENwkD,EAAmBnzF,IAAAA,cAACg6F,GAAAA,GAA+B,MAAI,G,GAI5D,IAEuB,4BAAnB1uF,EAAOgC,QACZtN,IAAAA,cAACk6F,EAAAA,mBAAkB,CAAC/G,mBAAoBA,IACnB,uBAAnB7nF,EAAOgC,QACTtN,IAAAA,cAAC85F,EAAAA,eAAc,CAAC3G,mBAAoBA,IACS,UAA3CpuE,EAAUkmK,6BACZjrL,IAAAA,cAACoqL,GAAwB,CACvBj3F,mBAAoBA,EACpB4H,YAAaA,EACbxhF,MAAOA,EACPqwK,YAAaA,EACbhmB,SAAUA,EACVpe,YAAaA,EACbqkC,eAAgBA,EAChBQ,SAAUA,IAGZrqL,IAAAA,cAAC2pL,GAA0B,CAC3B3uF,wBAAyBA,EACvB7H,mBAAoBA,EACpB4H,YAAaA,EACbxhF,MAAOA,EACPqwK,YAAaA,EACbhmB,SAAUA,EACVpe,YAAaA,EACbqkC,eAAgBA,EAChBQ,SAAUA,GAGhB,CC1HA,MAAM5gL,GAAUhK,EAAAA,GAAOC,GAAG;;;;;;;;;;EAYpBojL,GAAYrjL,EAAAA,GAAOC,GAAG;;EAItB,SAAUm8F,GAAgBl8F,GAC9B,MAAM,mBAAEwzF,EAAkB,YAAE4H,GAAgBp7F,EACtCyB,GAAWC,EAAAA,EAAAA,MAEX0jB,GAAYkB,EAAAA,EAAAA,gBAEZu/H,EAAcA,KAAOzgI,aAAS,EAATA,EAAWnW,KAAMmW,EAAUnW,IAAM,oCAU5D,OACE5O,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAM,YACnBvZ,IAAAA,cAACyJ,GAAO,KACNzJ,IAAAA,cAACuT,EAAAA,GAAM,CACL1Q,WAAY,CACV,CAACkI,EAAAA,GAAY0I,SAAU,CACrB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYmJ,MAAO,CAClB,CAAE/d,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYiT,OAAQ,CACnB,CAAE7nB,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYyG,OAAQ,CACnB,CAAErb,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,MAI1B1T,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUR,QAAS,CAAEC,IAAKC,EAAAA,EAAiBoyC,cAC1D93C,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUC,OAAQC,EAAAA,EAAgBgE,aACjDlK,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAciK,OAAQnR,WAAYC,EAAAA,GAAoBwD,aACrEtG,IAAAA,cAAA,OAAKoR,yBApCjB2T,aAAS,EAATA,EAAWuxJ,WAAWxhF,EAAAA,EAAAA,oBAAmB/vE,EAAUuxJ,WAAYxhF,EAAAA,EAAAA,oBAFrC,sDAyChB90F,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAciK,OAAQnR,WAAYC,EAAAA,GAAoBC,SACrE/C,IAAAA,cAAA,OAAKoR,yBApCjB2T,aAAS,EAATA,EAAWinB,WAAW8oD,EAAAA,EAAAA,oBAAmB/vE,EAAUinB,WAAY8oD,EAAAA,EAAAA,oBAFrC,8EAyClB90F,IAAAA,cAACsF,EAAAA,EAAS,CACRU,KAAM,SACNC,OAAQC,EAAAA,EAAgB2O,UACxBrP,QAAS,CAAEK,OAAQH,EAAAA,EAAiBoyC,YAAaryC,IAAKC,EAAAA,EAAiBg7H,cAEvE1gI,IAAAA,cAAC8iL,GAAS,KACR9iL,IAAAA,cAAC6K,GAAAA,EAAiB,CAACC,IAAKC,EAAAA,GAAYC,MAClChL,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJlB,QAASA,KACP/B,EAAS,CAAE3K,KAAM,gBACjBskG,EAAYyqD,KACZryD,EAAmBnzF,IAAAA,cAAC6gJ,GAAAA,aAAY,MAAI,EAEtCt7I,gBAAc,GAEbigJ,MAILxlJ,IAAAA,cAAC6K,GAAAA,EAAiB,CAACI,IAAKF,EAAAA,GAAYC,MAClChL,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJlB,QAASA,KACP/B,EAAS,CAAE3K,KAAM,gBACjBskG,EAAYyqD,KACZryD,EAAmBnzF,IAAAA,cAAC6gJ,GAAAA,aAAY,MAAI,GAGrC2E,WAUrB,C,QC9F0B/lJ,EAAAA,GAAOC,GAAwB;;;MClB7CwrL,G,WAWN,SAAUC,GAAexrL,GAC7B,MAAM,QAAE6rF,EAAO,OAAE2iE,EAAM,SAAE79I,EAAQ,QAAE+0H,EAAO,YAAExG,EAAW,cAAExlC,GAAkB15F,GACpEyrL,EAAkBC,IAAuBjrL,EAAAA,EAAAA,WAAS,IACnD,eAAEu+E,IAAmBz6E,EAAAA,EAAAA,qBACrBgB,GAAQC,EAAAA,EAAAA,MACR/D,GAAWC,EAAAA,EAAAA,MACXkxJ,EAA0B,CAC9B,CACEhoJ,MACEvK,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC4C,EAAAA,GAAI,8BACL5C,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,qDAGdxM,OACEmG,IAAAA,cAAC8pF,EAAAA,GAA4B,CAC3BliE,QACE5nB,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,QAAS4K,YAAU,uFAGzD3N,IAAAA,cAACiiC,EAAAA,GAAW,CACVO,gBAAgB,EAChBC,UAAW,CAAC,kBAAkB,CAAG,SAAS,CAAG,iBAC7CtsC,KAAK,WACL0R,aAAa,OAKvBK,YAAagjL,GAAgBI,SAC7Bn1L,KAAM,WACNsxF,QAAS,CAAC,YACVY,YAAa,CAAC,YACdD,gBAAgB,GAElB,CACE79E,MACEvK,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,yCAGdxM,OACEmG,IAAAA,cAAC8pF,EAAAA,GAA4B,CAC3BliE,QACE5nB,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,QAAS4K,YAAU,iFAGzD3N,IAAAA,cAACiiC,EAAAA,GAAW,CACVO,gBAAgB,EAChBC,UAAW,CAAC,UAAU,CAAG,SAAS,CAAG,SACrCtsC,KAAK,gBACL0R,aAAa,OAMvBK,YAAagjL,GAAgBK,cAC7Bp1L,KAAM,gBACNsxF,QAAS,CAAC,iBACVY,YAAa,CAAC,iBACdD,gBAAgB,GAElB,CACE79E,MACEvK,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,qDAGdxM,OACEmG,IAAAA,cAAC8pF,EAAAA,GAA4B,CAC3BliE,QACE5nB,IAAAA,cAAA,OAAK2K,MAAO,CAAE2G,WAAY,QACxBtR,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,QAAS4K,YAAU,gHAGzD3N,IAAAA,cAACyH,EAAAA,GAAoB,CAACC,UAAWiH,GAAAA,GAAUxY,KAAK,eAAe4sB,SAAS,KAAKlb,aAAW,OAKhGK,YAAagjL,GAAgBM,aAC7Br1L,KAAM,eACN21I,qBAAqB,EACrBrkD,QAAS,CAAC,gBACVY,YAAa,CAAC,iBAEhB,CACE99E,MACEvK,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC4C,EAAAA,GAAI,mBACL5C,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,0FAGdxM,OACEmG,IAAAA,cAAC8pF,EAAAA,GAA4B,CAC3BliE,QACE5nB,IAAAA,cAAA,OAAK2K,MAAO,CAAE2G,WAAY,QACxBtR,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,QAAS4K,YAAU,sGAGzD3N,IAAAA,cAACyH,EAAAA,GAAoB,CAACC,UAAWiH,GAAAA,GAAUxY,KAAK,2BAA2B4sB,SAAS,KAAKlb,aAAW,OAK5GK,YAAagjL,GAAgBO,yBAC7Bt1L,KAAM,2BACN21I,qBAAqB,EACrBrkD,QAAS,CAAC,4BACVY,YAAa,CAAC,6BAEhB,CACE99E,MACEvK,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,uEAGdxM,OACEmG,IAAAA,cAAC8pF,EAAAA,GAA4B,CAC3BliE,QACE5nB,IAAAA,cAAA,OAAK2K,MAAO,CAAE2G,WAAY,QACxBtR,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,QAAS4K,YAAU,+FAGzD3N,IAAAA,cAACyH,EAAAA,GAAoB,CAACC,UAAWgyC,GAAAA,GAAiBvjD,KAAK,kBAAkB0R,aAAW,OAK5FK,YAAagjL,GAAgBQ,gBAC7Bv1L,KAAM,kBACN21I,qBAAqB,EACrBrkD,QAAS,CAAC,mBACVY,YAAa,CAAC,oBAEhB,CACE99E,MACEvK,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC4C,EAAAA,GAAI,4BACL5C,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,4CACVrG,IAAAA,cAAA,QAAM2K,MAAO,CAAEyF,WAAY,WACzBpQ,IAAAA,cAAA,OAAK2K,MAAO,CAAElF,IAAK,OAAQ4K,SAAU,SAAQ,OAInDxW,OAAQmG,IAAAA,cAAC8pF,EAAAA,GAA4B,CAACliE,QAAS5nB,IAAAA,cAACmU,EAAAA,GAAa,CAACrT,MAAM,sDACpEoH,YAAagjL,GAAgBl1C,eAC7B7/I,KAAM,iBACNsxF,QAAS,CAAC,kBACVY,YAAa,CAAC,mBAEhB,CACExuF,OAAQmG,IAAAA,cAAC2rL,GAAsB,CAACr7K,SAAUA,IAC1CpI,YAAagjL,GAAgBvpD,aAC7BxrI,KAAM,eACNsxF,QAAS,CAAC,gBACVY,YAAa,CAAC,kBAIZujG,EAAyC,CAC7C53L,QAAS,CAAC,EACV6F,OAAQ,CACNwL,SAAU,cACV4M,SAAU,YACVslF,aAAc,cAIlBj1F,EAAAA,EAAAA,YAAU,KACchQ,iBACCmsF,GAAS,IAG5BogD,IAEFwsD,GAAoB,EAAM,EAG5BQ,EAAe,GAEd,IAEH,MAAMlnC,EAAgB7xJ,IACpB,MAAM,SAAE0F,EAAQ,YAAEotB,GAA8B1gB,EAAME,YAChD,OAAEvL,EAAM,QAAE7F,GAAYwE,GACtB,GAAEy3F,EAAE,MAAE5pD,EAAK,IAAE5xC,EAAG,OAAE07F,IAAWH,EAAAA,EAAAA,KAEnC,MAAO,CAEL,4BAA6B,qBAC7B,mBAAoBxE,EAAQnwF,QAAQ6yF,gBAAgBjD,OAAO5vF,QAC3D,sBAAuB,oCACvB,cAAe40F,EACf,gCAAiC5pD,EACjC,0BAA2B5xC,EAC3B,4BAA6B6b,EAASk0I,qBACtC,4BAA6B,wBAC7B,8BAA+B,WAC/B,2BAA4Br0D,EAC5B,8BAA+B,iBAC/B,8BAA8B,EAC9B,sBAAuB,KACvB,uBAAwBt2F,EAAOwL,SAAW,cAAcxL,EAAOwL,WAAa,cAAcvS,EAAK+G,OAAOwL,WAEtG,4BAA6BggI,EAAUA,EAAQymD,cAAgB,GAC/D,4BAA6BjyL,EAAOwL,SAChC,cAAcxL,EAAOwL,iBACrB,cAAcvS,EAAK+G,OAAOwL,iBAC9B,oBAAqBiL,EAAS8tH,UAC9B,yBAA0B9tH,EAAS+tH,SACnC,yBAA0B/tH,EAASk9I,iBACnC,6BAA8Bl9I,EAASguH,aACvC,wBAAyBhuH,EAASo0I,oBAClC,oBAAqB,UACrB,gCAAiC,eACjC,oBAAqB7qJ,EAAO6X,KAAO7X,EAAO6X,KAAO,eACjD,mCAAoC7X,EAAO8X,IAAM9X,EAAO8X,IAAM,eAC9D,yBAA0B65E,EAAQ/F,OAClC,yBAA0B5rF,EAAOkyL,SACjC,yBAA0BlyL,EAAOmyL,cACjC,yBAA0BnyL,EAAOoyL,aACjC,yBAA0BpyL,EAAOqyL,yBACjC,yBAA0BryL,EAAOsyL,gBACjC,yBAA0BtyL,EAAO4lI,eAElC,EAwBGhhD,EAAYtlF,GACT,IAAI80D,SAAa37D,MAAO47D,EAASC,KACtC,MAAMr7D,EAAOqG,EApBa65J,MAC5B,MAAMlgK,EAAO6xJ,EAAainC,GAa1B,cAXO94L,EAAK,2BACLA,EAAK,iCACLA,EAAK,iCACLA,EAAK,iCACLA,EAAK,iCACLA,EAAK,iCACLA,EAAK,0BAEZA,EAAK,6BAA+B,2BACpCA,EAAK,uBAAyB,kCAEvBA,CAAI,EAMkBkgK,GAJErO,IAMvBpmB,EAAkBjqG,KAAKC,UAAUzhC,GACjC0rI,EAAalqG,KAAKb,MAAM8qG,GACxB/lI,GAAWimI,EAAAA,EAAAA,IAAgBD,GAE3BlpI,QAAiBmE,EAAAA,EAAAA,IAAQjB,EAAUW,GAErC7D,GAAYA,EAASxC,MAAQwC,EAASxC,KAAKmB,SAA0C,QAA/BqB,EAASxC,KAAKmB,QAAQ+B,MAC9EoL,EAAS,CAAE3K,KAAM,oBAAqBiM,QAASpN,EAASxC,OACxDo7D,GAAQ,IAERA,GAAQ,E,KAKR,QAAEn0C,EAAO,MAAEohE,EAAK,UAAEykD,EAAS,SAAErkD,GCxR/B,SAA+Bk6D,EAAuB0Y,GAC1D,MAAM/sJ,GAAWC,EAAAA,EAAAA,OACV0Y,EAASu0B,IAAcluC,EAAAA,EAAAA,WAAS,IAEhC+6E,EAAOs5D,IAAYr0I,EAAAA,EAAAA,UAAkBq1I,IACrC7V,EAAW8U,IAAgBt0I,EAAAA,EAAAA,UAAgBq1I,EAAa,KACxDl6D,EAAUgzE,IAAenuJ,EAAAA,EAAAA,UAAgB4tJ,GAAmBvY,IAE7DkZ,EAAuBr8J,SACpB,IAAI27D,SAASC,IAClB,IAAIsgG,EAAe,IAAIrzE,GACvB,MAAMszE,EAAgBD,EAAarrI,WAAW8gB,GAAuB,WAAdA,EAAK9tC,OAC5Dq4J,EAAaviF,OAAOwiF,EAAe,GACnCD,EAAa,GAAGvpE,kBAAmB,EACnC,MAAMypE,EAAwBF,EAAa1qJ,KAAI,CAACmgC,EAAMrrC,KACpDqrC,EAAK/7B,YAActP,EACZqrC,KAGTwwG,EAASia,GACTha,EAAaga,EAAsB,IACnCH,EAAYP,GAAmBU,IAE/BxgG,GAAQ,EAAK,IAyBjB,OArBA5rD,EAAAA,EAAAA,YAAU,KACR,MAAMyvH,EAASz/H,gBACPq8J,IACNrgH,GAAW,EAAM,EAGbsgH,EAAkBt8J,UACtB,MAAMyI,QAAiBD,EAAAA,EAAAA,MAEvBsG,EAAS,CAAE3K,KAAM,eAAgBiM,QAAS3H,IAC1C05I,EAASgB,GACTnnG,GAAW,EAAM,EAGf4/G,GAAsBC,GACxBp8B,IAEA68B,G,GAED,IAEI,CAAE70I,UAASohE,QAAOykD,YAAWrkD,WACtC,CDuOkD6wG,CAAqB75B,EAAgBpE,GAuBrF,OArBA7rJ,EAAAA,EAAAA,YAAU,KACR,MAAM+pL,EAAoC,CACxChjG,aAAa,EACbpO,iBAAkBwD,EAClBH,aAAYshD,EAAUthD,WACtB/C,WACAD,gBAAiBH,EAAMr/E,OACvBoM,YAAa03H,EAAU13H,YACvB3E,UAAW,OACX4F,WAAW,EACX86B,KAAM27F,EACNzkD,QACAC,aAAc,CAAC,GACf2O,kBAAmB/pF,IAAAA,cAACssL,GAAkB,OAEnCvyK,IACH4kE,EAAe0tG,EAAgBT,GAAgB,GAC/CvyF,I,GAED,CAACt/E,IAEGA,GAAWqxK,IAAqBjwG,EAAQ,KAAOn7E,IAAAA,cAACo6F,EAAAA,eAAc,CAACjf,MAAOA,EAAO6N,WAAW,eACjG,EAnTA,SAAYkiG,GACVA,EAAAA,EAAA,uBACAA,EAAAA,EAAA,iCACAA,EAAAA,EAAA,+BACAA,EAAAA,EAAA,uDACAA,EAAAA,EAAA,2DACAA,EAAAA,EAAA,qCACAA,EAAAA,EAAA,mCACAA,EAAAA,EAAA,8BACD,CATD,CAAYA,KAAAA,GAAe,KCR3B,MAAMl9B,GAAsB7yE,GAAmBA,EAAMA,EAAMr/E,OAAS,GAE9DmyJ,GAAoBvoF,GAAkC,SAAbA,EAElCwoF,GAAyBC,GACpCA,GACAA,EAAOC,6BACPD,EAAOE,eACPJ,GAAiBE,EAAOC,8BACxBH,GAAiBE,EAAOE,e,eCOpB,SAAUk+B,KACd,MAAOxyK,EAASu0B,IAAcluC,EAAAA,EAAAA,WAAS,IAChClN,EAAOsU,IAAYpH,EAAAA,EAAAA,WAAS,IAC5BukI,EAAOC,IAAYxkI,EAAAA,EAAAA,WAAS,IAC5BwwJ,EAAoBC,IAAyBzwJ,EAAAA,EAAAA,WAAkB,IAC/D0kI,EAAUC,IAAe3kI,EAAAA,EAAAA,WAAS,GACnCimC,EAAQC,IAAM,IAAIN,MAClB1kC,GAAkBC,EAAAA,EAAAA,sBAClBg8H,GAAap8H,EAAAA,EAAAA,QAAO,MACpBqyJ,GAAYryJ,EAAAA,EAAAA,QAAO,MACnBq8H,GAAcr8H,EAAAA,EAAAA,QAAO,MACrB+jI,GAAa/jI,EAAAA,EAAAA,QAAO,MACpBC,GAAWC,EAAAA,EAAAA,MACXktC,GAAiB59B,EAAAA,EAAAA,sBAAqB,mBAGtCmuH,EAAiBA,KACrB,MAAMtzC,EAAUj9C,EAAeq9C,aAE/B,GAAwB,OAApBJ,EAAQnwF,SAAoBmwF,EAAQnwF,QAAQ8yF,gBAAkB3C,EAAQnwF,QAAQK,aAChFmjI,SACK,GAAIrzC,EAAQnwF,QAAQI,YACzBmpI,GAAS,GACTt2F,GAAW,OACN,CACL,MAAM6/G,GAAS94D,EAAAA,GAAAA,GAAoB7J,EAAS,QACtCl7E,GAAW+kF,EAAAA,GAAAA,GAAoB7J,EAAS,UACxC65C,GAAUhwC,EAAAA,GAAAA,GAAoB7J,EAAS,SACvCghG,EAAWlmJ,IAAMklD,EAAQ/kF,KAE/B82H,EAAWx7H,QAAUypF,EACrBgoE,EAAUzxJ,QAAUosJ,EACpB3wB,EAAYz7H,QAAUuO,EACtB40H,EAAWnjI,QAAUsjI,IAEhB75C,EAAQ/kF,KAAO4/B,EAAMk/F,KAAKinD,EAAU,OAAS,IAChDznD,GAAY,GAGdz2F,GAAW,E,GAITuwF,EAAcA,KAClBr3H,GAAS,GACT8mC,GAAW,EAAM,EAGb+qD,EAAgBA,KACpB,GAAIm6D,EAAUzxJ,QAAS,CACrB,MAAMgyJ,EAA4B,CAChCnhK,KAAM4gK,EAAUzxJ,QAAQiyJ,wBACxB79J,KAAMq9J,EAAUzxJ,QAAQkyJ,oBACxBziH,WAAY,CAAEC,WAAY,CAAEJ,QAASmiH,EAAUzxJ,QAAQ8vJ,sBAIzD,GAFAzwJ,EAAS,CAAE3K,KAAM,sBAAuBiM,QAASqxJ,IAE7C7F,GAAsBsF,EAAUzxJ,SAAU,CAC5C8uJ,GAAsB,GAEtB,MAAMl0J,EAAgC,CACpC4N,MAAOipJ,EAAUzxJ,QAAQssJ,cACzBr4J,KAAM6uB,OAAO2uI,EAAUzxJ,QAAQqsJ,8BAGjChtJ,EAAS,CAAE3K,KAAM,uBAAwBiM,QAAS/F,G,EAItD2E,EAAgB+3F,eAAe,GAGjC/2F,EAAAA,EAAAA,YAAU,KACuBisC,EAAeM,iBAEvBC,UAAU,CAC/BC,IAAAA,CAAKpuC,GAEL,EACAzN,KAAAA,CAAMiH,GACJlH,QAAQC,MAAMiH,GACd0kI,GACF,EACA7vF,QAAAA,GACE8vF,GACF,GACA,GACD,IAWH,OAAI/kH,EACK/Z,IAAAA,cAACmoB,EAAAA,GAAgB,MACfj1B,EAEP8M,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC+rC,EAAAA,GAAiB,CAChBxhC,MAAM,qBACNyhC,SAAS,2DACTC,SAAS,aACTC,YAAY,EACZ1nC,MAAM,EACN2E,WAAW,KAIRw7H,EAEP3kI,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC+rC,EAAAA,GAAiB,CAChBxhC,MAAM,4CACNyhC,SAAS,mFACTC,SAAS,wBACTE,QAAQ,IACRC,QAAQ,qDACR5nC,MAAM,EACN2E,WAAW,KAIR27H,EAEP9kI,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC+rC,EAAAA,GAAiB,CAChBxhC,MAAM,kCACNyhC,SAAS,oGACTC,SAAS,wBACTE,QAAQ,IACRC,QAAQ,qDACR5nC,MAAM,EACN2E,WAAW,KAOfnJ,IAAAA,cAAAA,IAAAA,SAAA,KAEEA,IAAAA,cAACmrL,GAAc,CACb3/F,QAAS+xC,EAAWx7H,QACpBosJ,OAAQqF,EAAUzxJ,QAClBuO,SAAUktH,EAAYz7H,QACtBsjI,QAASH,EAAWnjI,QACpB88H,YAAaA,EACbxlC,cAAeA,EACfu3D,mBAAoBA,IAM9B,C,eC5KmBnxJ,KAAAA,GAAU;;;;;;;;EAURA,KAAAA,GAAU;;;;;;ECd/B,MAAMshI,GAA6BthI,EAAAA,GAAOC,GAAG,GAKhCisL,GAA0BhsL,IACrC,MAAMyB,GAAWC,EAAAA,EAAAA,MAQjB,OANAiB,EAAAA,EAAAA,YAAU,KACuB,YAA3B3C,EAAM2Q,SAASG,SACjBrP,EAAS,CAAE3K,KAAM,gBAAiBiM,QAAS,CAAEgP,KAAM,eAAgBqxH,IAAK,iB,GAEzE,CAACpjI,EAAM2Q,WAGRtQ,IAAAA,cAAC+gI,GAA0B,KACzB/gI,IAAAA,cAACuT,EAAAA,GAAM,CACLC,yBAAuB,EACvB3Q,WAAY,CACV,CAACkI,EAAAA,GAAY0I,SAAU,CACrB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYmJ,MAAO,CAClB,CAAE/d,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYiT,OAAQ,CACnB,CAAE7nB,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAY4I,OAAQ,CACnB,CAAExd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYkT,OAAQ,CACnB,CAAE9nB,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,MAIE,YAA3B/T,EAAM2Q,SAASG,QACdzQ,IAAAA,cAAA,OAAK2K,MAAO,CAAE4G,cAAe,SAC3BvR,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,aACpCtG,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,aAAc,kBAI5BrG,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,aAAW,kBAChCtG,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,wBAAyB,4BAEpDrG,IAAAA,cAAC8P,EAAAA,GAAgB,CAACF,WAAW,EAAO/P,WAAW,UAInDG,IAAAA,cAACggB,EAAAA,GAAkB,MAEnBhgB,IAAAA,cAAC8W,EAAAA,GAAc,CACbG,YAAY,wBACZF,QAAQ,qBACRC,OAAO,qFAGgB,ECpEpBs1K,GAAqBA,KAChC,MAAM,SAAE9qL,IAAaC,EAAAA,EAAAA,KAAaC,GAAwBA,KACpD,aAAEszF,GAAiBxzF,EAEnBF,GAAkBC,EAAAA,EAAAA,sBAClBH,GAAWC,EAAAA,EAAAA,OAEjBiB,EAAAA,EAAAA,YAAU,KAER,MAAM09H,EAAsBx+H,EAAS85E,gBAErCl6E,EAAS,CAAE3K,KAAM,qBAAsBiM,SAAS,IAChDtB,EAAS,CAAE3K,KAAM,gBAAiBiM,QAAS,CAAEuhC,KAAM,CAAE/7B,YAAa83H,EAAqB7pI,KAAM,eAE7FmL,EAAgBs3F,sCACd,CACEv1F,eAAWnN,IAEb6+F,EAAAA,EAAAA,iBAAgBC,GACjB,GACA,IAEH,MAAMzvB,EAAgB,CACpBh7D,MAAOvK,IAAAA,cAACwoB,EAAAA,GAAa,CAACrf,WAAS,EAACuf,cAAc,UAAUC,kBAAkB,iBAC1E9uB,OAAQmG,IAAAA,cAACkpB,EAAAA,GAAc,CAAC/f,WAAS,EAACggB,SAAS,6KAE7C,OACEnpB,IAAAA,cAAC+oF,EAAAA,EAAgB,CACfC,WAAW,cACXz+E,MAAOg7D,EAAOh7D,MACd1Q,OAAQ0rE,EAAO1rE,OACfkK,IAAK,IACLg9E,wBAAsB,EACtBC,cAAc,GACd,E,qCClBN,MAAM8pD,GAAgBrrI,EAAAA,GAAOC,GAAG;;;;EAM1BqO,GAActO,EAAAA,GAAOC,GAAG;;;;;;;;;;;;;;;;;;;EAqBjB+sL,GAA4BA,KACxC,MAAM,SAAEj0L,IAAaiJ,EAAAA,EAAAA,KAAaC,GAAwBA,IACpDN,GAAWC,EAAAA,EAAAA,OACVkgB,EAAOC,IAAYphB,EAAAA,EAAAA,UAAS,OAC7B,aAAE6yE,GAAiBz6E,EAASqB,QAC3BmxI,EAAUC,IAAe7qI,EAAAA,EAAAA,UAAS,OAClC8qI,EAAWC,IAAgB/qI,EAAAA,EAAAA,UAAS,MACrCglI,GAAY9vC,EAAAA,EAAAA,mBACZ81C,EAAiBhG,EAAU0B,mBAE3BzqI,EAAQ+oI,EAAUztC,KAElB0zC,EADY,IAAIl3I,gBAAgBC,OAAOC,SAASC,QAC3B3B,IAAI,SAEzBwiB,IADY8Q,EAAAA,EAAAA,iBACHrT,EAAAA,GAAAA,QAYftQ,EAAAA,EAAAA,YAAU,KACT,GAAK4oI,GAAkC,uBAArBA,EAAUn0I,SAErB,GAAIm0I,EAAW,CACrB,MAAMI,EAAaJ,EAAUh2I,MAAM4M,GAAsB,eAAXA,EAAEypI,OAE7CN,OADY/0I,IAAfo1I,EACe,KACAA,EAAW72I,I,OAL1Bw2I,EAAY,K,GAOX,CAACC,KAEJ5oI,EAAAA,EAAAA,YAAU,KACc,SAAnB8oI,GACH5pH,EAAS4pH,GAvBc94I,W,MACxB,GAAI+J,EAAO,CACV,MAAMvJ,QAAasJ,EAAAA,EAAAA,IAAeC,EAAM22E,QAEpClgF,GAA6B,MAAV,QAAXD,EAAAC,EAAKuG,cAAM,IAAAxG,OAAA,EAAAA,EAAEmD,OACxBm1I,EAAar4I,EAAKmB,Q,GAmBnBu3I,IACUH,GACV7pH,EAAS6pH,GACTjqI,EAAS,CAAE3K,KAAM,gBAAiBiM,QAAS,CAAEqjB,OAAQslH,MAErD7pH,EAAS,K,GAER,IAEH,MAAMiqH,EAAWA,IAEfzrI,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,aACrCtG,IAAAA,cAAAA,IAAAA,SAAA,mDAC6C,IAC5CA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,GAAEkb,GAAa,6BAA2B,IACpDvhB,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,IAAEqgF,EAAAA,GAAAA,IAAazT,IAAqB,mBAGhDjzE,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,QAAS4K,YAAU,GACxD3N,IAAAA,cAAAA,IAAAA,SAAA,0DAEDA,IAAAA,cAACyH,EAAAA,GAAoB,CACpBC,UAAWiH,GAAAA,GACXxY,KAAK,mBACL4sB,SAAS,KACTlb,aAAW,KAMf,OAAOqjI,GAAaF,EACnBhrI,IAAAA,cAAC8qI,GAAa,CAAC5hI,UAAU,kBACvBiM,GAAU,IAAM,KAChBnV,IAAAA,cAAC6K,GAAAA,EAAiB,CAACC,IAAKC,EAAAA,GAAYmJ,MACnClU,IAAAA,cAACgrB,EAAAA,GAAiB,CAACD,WAAS,EAACE,MAAO+/G,EAAUjqH,UAAWQ,KAI3DvhB,IAAAA,cAAC+N,GAAW,CAAC7E,UAAU,gBACtBlJ,IAAAA,cAACsF,EAAAA,EAAS,CACTE,QAAS,CAAEK,OAAQH,EAAAA,EAAiBU,WACpCJ,KAAM,UAENhG,IAAAA,cAACyrI,EAAQ,QAGXzrI,IAAAA,cAAC6K,GAAAA,EAAiB,CAACI,IAAKF,EAAAA,GAAYmJ,MACnClU,IAAAA,cAACgrB,EAAAA,GAAiB,CAACD,WAAS,EAACE,MAAO+/G,EAAUjqH,UAAWQ,MAI3DvhB,IAAAA,cAAC8pF,EAAAA,6BAA4B,CAC5BliE,QACC5nB,IAAAA,cAAA,OAAK2K,MAAO,CAAE2G,WAAY,QACzBtR,IAAAA,cAACyrI,EAAQ,QAIZ,E,0BC3HF,SAAS3hD,GAA6BnqF,GACrC,MAAM,QAAEioB,EAAO,wBAAEpU,GAA4B7T,EAE7C,OACCK,IAAAA,cAACuT,EAAAA,GAAM,CACNC,yBAAuB,EACvB3Q,WAAY,CACX,CAACkI,EAAAA,GAAY0I,SAAU,CACtB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAYmJ,MAAO,CACnB,CAAE/d,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAYiT,OAAQ,CACpB,CAAE7nB,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAY4I,OAAQ,CACpB,CAAExd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAYkT,OAAQ,CACpB,CAAE9nB,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,KAGxBwkC,OAAQC,EAAAA,EAAa5xC,WAEpBqhB,EAGJ,CAEO,MAAM8kK,GAAwBA,CAACtiG,EAAsBnX,KAC3D,IAAIr6E,EAAQ,EAEZ,MAAM+yI,EAAsB,CAC3B,CACC7qI,MAAO,mBACPH,MAAOwiI,GAAAA,GAAgBntH,YAExB,CACClV,MAAO,oBACPH,MAAOyiI,GAAAA,GAAiBptH,YAEzB,CACClV,MAAO,4BACPH,MAAO0iI,GAAAA,GAAoBrtH,YAE5B,CACClV,MAAO,iCACPH,MAAO2iI,GAAAA,GAAkBttH,aAIrB41H,EAAyB,CAC9B,CACCjrI,MAAO,IACPG,MAAO,mRACPmsB,KAAM,4HAEP,CACCtsB,MAAO,IACPG,MAAO,yGACPmsB,KAAM,oHAEP,CACCtsB,MAAO,IACPG,MAAO,6DACPmsB,KAAM,wLAIF2yG,EAAY,CACjB/lI,OAAQmG,IAAAA,cAACysL,GAAyB,MAClCvkL,YAAatP,IACbzC,KAAM,mBACN6xF,eACChoF,IAAAA,cAAC4C,EAAAA,GAAI,yDAEN6kF,QAAS,CAAC,oBACVY,YAAa,CAAC,oBACdskG,qBAAqB,GAGhBC,EAAoB,CACzBriL,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,kBACY,IACXA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,qDAGZxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACyH,EAAAA,GAAoB,CACpBC,UAAWikI,EACXx1I,KAAK,iBACL0R,aAAW,MAKfK,YAAatP,IACbzC,KAAM,iBACNsxF,QAAS,CAAC,kBACVY,YAAa,CAAC,kBACd1C,KAAMgmD,GAGDO,EAAwB,CAC7B3hI,MAAOvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,uDACjBxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACyH,EAAAA,GAAoB,CACpBC,UAAWiH,GAAAA,GACXxY,KAAK,wBACL0R,aAAW,EACXkb,SAAS,SAKb7a,YAAatP,IACbzC,KAAM,wBACNsxF,QAAS,CAAC,yBACVY,YAAa,CAAC,0BAGTwkG,EAAkB,CACvBtiL,MAAOvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,mCACjBxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAAA,OAAK2K,MAAO,CAAE6mD,aAAc,QAC3BxxD,IAAAA,cAAC0d,EAAAA,GAAa,CAAC8H,YAAU,EAACD,YAAU,OAKxCrd,YAAatP,IACbzC,KAAM,kBACNsxF,QAAS,CAAC,mBACVY,YAAa,CAAC,oBAGTykG,EAAe,CACpBviL,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,kCAC4B,IAC3BA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,uEAKZxM,OACCmG,IAAAA,cAAC+d,EAAAA,GAAyB,CAACvT,SAAS,qEAErCtC,YAAatP,IACbzC,KAAM,gBAGD42L,EACL/sL,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,6DAEL2mL,EACL,oJAEKC,EAAuB,CAC5B1iL,MACCvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,wEAIXxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACiiC,EAAAA,GAAW,CACX9rC,KAAK,uBACL0R,aAAa,EACb06B,SAAS,eACTD,QAAQ,iBACRI,iBAAe,MAKnBx6B,YAAatP,IACbzC,KAAM,uBACNsxF,QAAS,CAAC,wBACVY,YAAa,CAAC,wBACdD,gBAAgB,GAGX8kG,EAA6B,CAClC3iL,MAAOwiL,EACPlzL,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACmU,EAAAA,GAAa,CACbvQ,UAAU,EACVzN,KAAK,6BACLqe,kBAAmBw4K,EACnBz4K,kBAAmB,IACnBF,SAAS,oBAKbnM,YAAatP,IACbzC,KAAM,6BACNsxF,QAAS,CAAC,8BACVY,YAAa,CAAC,+BAGT8kG,EAAuB,CAC5B5iL,MAAOvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,iDACjBxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACiiC,EAAAA,GAAW,CACX9rC,KAAK,uBACL0R,aAAa,EACb06B,SAAS,eACTD,QAAQ,iBACRI,iBAAe,MAKnBx6B,YAAatP,IACbzC,KAAM,uBACNsxF,QAAS,CAAC,wBACVY,YAAa,CAAC,wBACdD,gBAAgB,GAGXglG,EAA6B,CAClC7iL,MAAOwiL,EACPlzL,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACmU,EAAAA,GAAa,CACbvQ,UAAU,EACVzN,KAAK,6BACLqe,kBAAmBw4K,EACnBz4K,kBAAmB,IACnBF,SAAS,oBAKbnM,YAAatP,IACbzC,KAAM,6BACNsxF,QAAS,CAAC,8BACVY,YAAa,CAAC,+BAGTglG,EAAuB,CAC5B9iL,MAAOvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,mDACjBxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACiiC,EAAAA,GAAW,CACX9rC,KAAK,uBACL0R,aAAa,EACb06B,SAAS,eACTD,QAAQ,iBACRI,iBAAe,MAKnBx6B,YAAatP,IACbzC,KAAM,uBACNsxF,QAAS,CAAC,wBACVY,YAAa,CAAC,wBACdD,gBAAgB,GAGXklG,EAA6B,CAClC/iL,MAAOwiL,EACPlzL,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACmU,EAAAA,GAAa,CACbvQ,UAAU,EACVzN,KAAK,6BACLqe,kBAAmBw4K,EACnBz4K,kBAAmB,IACnBF,SAAS,oBAKbnM,YAAatP,IACbzC,KAAM,6BACNsxF,QAAS,CAAC,8BACVY,YAAa,CAAC,+BAGTklG,EAAsB,CAC3BhjL,MAAOvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,iDACjBxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACiiC,EAAAA,GAAW,CACX9rC,KAAK,sBACL0R,aAAa,EACb06B,SAAS,eACTD,QAAQ,iBACRI,iBAAe,MAKnBx6B,YAAatP,IACbzC,KAAM,sBACNsxF,QAAS,CAAC,uBACVY,YAAa,CAAC,uBACdD,gBAAgB,GAGXolG,EAA4B,CACjCjjL,MAAOwiL,EACPlzL,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACmU,EAAAA,GAAa,CACbvQ,UAAU,EACVzN,KAAK,4BACLqe,kBAAmBw4K,EACnBz4K,kBAAmB,IACnBF,SAAS,oBAKbnM,YAAatP,IACbzC,KAAM,4BACNsxF,QAAS,CAAC,6BACVY,YAAa,CAAC,8BAGTolG,EAAyB,CAC9BljL,MACCvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,gEAIXxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACiiC,EAAAA,GAAW,CACX9rC,KAAK,yBACL0R,aAAa,EACb06B,SAAS,eACTD,QAAQ,iBACRI,iBAAe,MAKnBx6B,YAAatP,IACbzC,KAAM,yBACNsxF,QAAS,CAAC,0BACVY,YAAa,CAAC,0BACdD,gBAAgB,GAGXslG,EAA+B,CACpCnjL,MAAOwiL,EACPlzL,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACmU,EAAAA,GAAa,CACbvQ,UAAU,EACVzN,KAAK,+BACLqe,kBAAmBw4K,EACnBz4K,kBAAmB,IACnBF,SAAS,oBAKbnM,YAAatP,IACbzC,KAAM,+BACNsxF,QAAS,CAAC,gCACVY,YAAa,CAAC,iCAGTslG,EAAyB,CAC9BpjL,MACCvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,sEAIXxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACiiC,EAAAA,GAAW,CACX9rC,KAAK,yBACL0R,aAAa,EACb06B,SAAS,eACTD,QAAQ,iBACRI,iBAAe,MAKnBx6B,YAAatP,IACbzC,KAAM,yBACNsxF,QAAS,CAAC,0BACVY,YAAa,CAAC,0BACdD,gBAAgB,GAGXwlG,EAA+B,CACpCrjL,MAAOwiL,EACPlzL,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACmU,EAAAA,GAAa,CACbvQ,UAAU,EACVzN,KAAK,+BACLqe,kBAAmBw4K,EACnBz4K,kBAAmB,IACnBF,SAAS,oBAKbnM,YAAatP,IACbzC,KAAM,+BACNsxF,QAAS,CAAC,gCACVY,YAAa,CAAC,iCAGTwlG,EAAmB,CACxBtjL,MAAOvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,yDACjBxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACiiC,EAAAA,GAAW,CACX9rC,KAAK,mBACL0R,aAAa,EACb06B,SAAS,eACTD,QAAQ,iBACRI,iBAAe,MAKnBx6B,YAAatP,IACbzC,KAAM,mBACNsxF,QAAS,CAAC,oBACVY,YAAa,CAAC,oBACdD,gBAAgB,GAGX0lG,EAAyB,CAC9BvjL,MAAOwiL,EACPlzL,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACmU,EAAAA,GAAa,CACbvQ,UAAU,EACVzN,KAAK,yBACLqe,kBAAmBw4K,EACnBz4K,kBAAmB,IACnBF,SAAS,oBAKbnM,YAAatP,IACbzC,KAAM,yBACNsxF,QAAS,CAAC,0BACVY,YAAa,CAAC,2BAGT0lG,EAAyB,CAC9BxjL,MACCvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,gEAIXxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACiiC,EAAAA,GAAW,CACX9rC,KAAK,yBACL0R,aAAa,EACb06B,SAAS,eACTD,QAAQ,iBACRI,iBAAe,MAKnBx6B,YAAatP,IACbzC,KAAM,yBACNsxF,QAAS,CAAC,0BACVY,YAAa,CAAC,0BACdD,gBAAgB,GAGX4lG,EAA+B,CACpCzjL,MAAOwiL,EACPlzL,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACmU,EAAAA,GAAa,CACbvQ,UAAU,EACVzN,KAAK,+BACLqe,kBAAmBw4K,EACnBz4K,kBAAmB,IACnBF,SAAS,oBAKbnM,YAAatP,IACbzC,KAAM,+BACNsxF,QAAS,CAAC,gCACVY,YAAa,CAAC,iCAGT4lG,EAAqB,CAC1B1jL,MACCvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,6DAEXxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACiiC,EAAAA,GAAW,CACX9rC,KAAK,qBACL0R,aAAa,EACb06B,SAAS,eACTD,QAAQ,iBACRI,iBAAe,MAKnBx6B,YAAatP,IACbzC,KAAM,qBACNsxF,QAAS,CAAC,sBACVY,YAAa,CAAC,sBACdD,gBAAgB,GAGX8lG,EAA2B,CAChC3jL,MAAOwiL,EACPlzL,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACmU,EAAAA,GAAa,CACbvQ,UAAU,EACVzN,KAAK,2BACLqe,kBAAmBw4K,EACnBz4K,kBAAmB,IACnBF,SAAS,oBAKbnM,YAAatP,IACbzC,KAAM,2BACNsxF,QAAS,CAAC,4BACVY,YAAa,CAAC,6BAGT8lG,EAAsB,CAC3B5jL,MACCvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,sEAIXxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACiiC,EAAAA,GAAW,CACX9rC,KAAK,sBACL0R,aAAa,EACb06B,SAAS,eACTD,QAAQ,iBACRI,iBAAe,MAKnBx6B,YAAatP,IACbzC,KAAM,sBACNsxF,QAAS,CAAC,uBACVY,YAAa,CAAC,uBACdD,gBAAgB,GA4HXjN,EAAiB,CACtBykD,EACAgtD,EACA1gD,EACA2gD,EACAC,EACAG,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAjJiC,CACjC5jL,MAAOwiL,EACPlzL,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACmU,EAAAA,GAAa,CACbvQ,UAAU,EACVzN,KAAK,4BACLqe,kBAAmBw4K,EACnBz4K,kBAAmB,IACnBF,SAAS,oBAKbnM,YAAatP,IACbzC,KAAM,4BACNsxF,QAAS,CAAC,6BACVY,YAAa,CAAC,8BAGiB,CAC/B99E,MACCvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,wFAKXxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACmU,EAAAA,GAAa,CACbvQ,UAAU,EACVzN,KAAK,0BACLqe,kBAAmBw4K,EACnBz4K,kBAAmB,IACnBF,SAAS,oBAKbnM,YAAatP,IACbzC,KAAM,0BACNsxF,QAAS,CAAC,2BACVY,YAAa,CAAC,4BAGa,CAC3B99E,MACCvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,wGAKXxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACiiC,EAAAA,GAAW,CACX9rC,KAAK,sBACL0R,aAAa,EACb06B,SAAS,eACTD,QAAQ,iBACRI,iBAAe,MAKnBx6B,YAAatP,IACbzC,KAAM,sBACNsxF,QAAS,CAAC,uBACVY,YAAa,CAAC,uBACdD,gBAAgB,GAGO,CACvB79E,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,iDAC0CA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,kEAA8D4sE,EAAY,6EAG/Hp5E,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QAAS5nB,IAAAA,cAAC0sB,GAAAA,EAAc,CAACv2B,KAAK,kBAAkBG,QAASs1I,MAG3D1jI,YAAatP,IACbzC,KAAM,kBACNsxF,QAAS,CAAC,mBACVY,YAAa,CAAC,mBACd1C,KAAMimD,GAGiB,CACvBrhI,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,mBACYA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,wCAGvBxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAAA,OAAK2K,MAAO,CAAE4G,cAAe,QAC5BvR,IAAAA,cAAC6f,EAAAA,GAAsB,SAK3B3X,YAAatP,IACbzC,KAAM,kBACNsxF,QAAS,CAAC,OAAQ,UAAW,iBAC7BY,YAAa,CAAC,OAAQ,UAAW,kBAGb,CACpBxuF,OAAQmG,IAAAA,cAAC4iI,GAAAA,EAAe,MACxB16H,YAAatP,IACbzC,KAAM,eACNsxF,QAAS,CAAC,gBACVY,YAAa,CAAC,kBAoCf,GAAI+B,EAAa,CAChB,MAAMgkG,EAA2B,CAChC7jL,MACCvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,6DAEXxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACiiC,EAAAA,GAAW,CACX9rC,KAAK,2BACL0R,aAAa,EACb06B,SAAS,eACTD,QAAQ,iBACRI,iBAAe,MAKnBx6B,YAAatP,IACbzC,KAAM,2BACNsxF,QAAS,CAAC,4BACVY,YAAa,CAAC,4BACdD,gBAAgB,GAGXimG,EAAiC,CACtC9jL,MAAOwiL,EACPlzL,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACmU,EAAAA,GAAa,CACbvQ,UAAU,EACVzN,KAAK,iCACLqe,kBAAmBw4K,EACnBz4K,kBAAmB,IACnBF,SAAS,oBAKbnM,YAAatP,IACbzC,KAAM,iCACNsxF,QAAS,CAAC,kCACVY,YAAa,CAAC,mCAGTimG,EAAwB,CAC7B/jL,MAAOvK,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,iDACjBxM,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACiiC,EAAAA,GAAW,CACX9rC,KAAK,wBACL0R,aAAa,EACb06B,SAAS,eACTD,QAAQ,iBACRI,iBAAe,MAKnBx6B,YAAatP,IACbzC,KAAM,wBACNsxF,QAAS,CAAC,yBACVY,YAAa,CAAC,yBACdD,gBAAgB,GAGXmmG,EAA8B,CACnChkL,MAAOwiL,EACPlzL,OACCmG,IAAAA,cAAC8pF,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAACmU,EAAAA,GAAa,CACbvQ,UAAU,EACVzN,KAAK,8BACLqe,kBAAmBw4K,EACnBz4K,kBAAmB,IACnBF,SAAS,oBAKbnM,YAAatP,IACbzC,KAAM,8BACNsxF,QAAS,CAAC,+BACVY,YAAa,CAAC,gCAGflN,EAAMlP,OACLkiH,EAAoBjmL,YACpB,EACAkmL,EACAC,EACAC,EACAC,E,CAIF,OAAOpzG,CAAK,EC52BP,SAAUqzG,GAAyB7uL,GACxC,MAAM,SAAE2Q,GAAa3Q,GACf,aAAEq1F,IAAiBvzF,EAAAA,EAAAA,KAAaC,GAAwBA,EAAMF,WAC9DF,GAAkBC,EAAAA,EAAAA,sBAClBH,GAAWC,EAAAA,EAAAA,OAEjBiB,EAAAA,EAAAA,YAAU,KAET,MAAM09H,EAAsBhrC,EAAa1Z,gBAEzCl6E,EAAS,CAAE3K,KAAM,qBAAsBiM,SAAS,IAChDtB,EAAS,CAAE3K,KAAM,gBAAiBiM,QAAS,CAAEuhC,KAAM,CAAE/7B,YAAa83H,EAAqB7pI,KAAM,eAE7FmL,EAAgBs3F,sCACf,CACCv1F,eAAWnN,IAEZ6+F,EAAAA,EAAAA,iBAAgBC,GAChB,GACC,IAEH,MAAMzqF,EAAQ,gDAAkD+F,EAAS8tH,UAAY,KAAO9tH,EAAS8tH,UAAY,IAAM,IAEjH74D,EAAgB,CACrBh7D,MAAOvK,IAAAA,cAACwoB,EAAAA,GAAa,CAACrf,WAAW,EAAMuf,cAAene,IACtD1Q,OAAQmG,IAAAA,cAACkpB,EAAAA,GAAc,CAACC,SAAS,kEAAkEhgB,WAAW,KAE/G,OACCnJ,IAAAA,cAAC+oF,EAAAA,EAAgB,CAChBC,WAAW,cACXz+E,MAAOg7D,EAAOh7D,MACd1Q,OAAQ0rE,EAAO1rE,OACfkK,IAAK,IACLg9E,wBAAsB,EACtBC,cAAY,GAGf,CCUM,SAAUytG,GAAqB9uL,GACpC,MAAM,QAAE0lI,EAAO,SAAE/0H,EAAQ,UAAE80H,EAAS,SAAEjB,EAAQ,QAAE34C,EAAO,aAAEvY,GACxDtzE,GACK,eACLg/E,EAAc,eACdlsE,EAAc,sBACd6E,EAAqB,oBACrBzE,EAAmB,mBACnBwrE,IACGn6E,EAAAA,EAAAA,sBACE,SAAE1L,IAAaiJ,EAAAA,EAAAA,KAAaC,GAAwBA,IACpDwD,GAAQC,EAAAA,EAAAA,MACR/D,GAAWC,EAAAA,EAAAA,OACV0Y,EAASu0B,IAAcluC,EAAAA,EAAAA,WAAS,GAGjCulI,EAA+B,OADnB,IAAIxxI,gBAAgBC,OAAOC,SAASC,QAChC3B,IAAI,QAEpB,iBACL+7L,EAAgB,eAChBC,EAAc,sBACdziD,EAAqB,qBACrB+gD,EAAoB,qBACpBE,EAAoB,qBACpBE,EAAoB,oBACpBE,EAAmB,uBACnBE,EAAsB,uBACtBE,EAAsB,iBACtBE,EAAgB,uBAChBE,EAAsB,mBACtBE,EAAkB,yBAClBG,EAAwB,sBACxBE,EAAqB,oBACrBH,EAAmB,OACnBpoK,EAAM,gBACNmgH,EAAe,aACfC,GACG3tI,EAASqB,OAEPuwF,EAA8D,MAAhDg7C,EAAU0B,mBAAmBt2C,UAAU,EAAG,GAExD61C,GAAYllI,EAAAA,EAAAA,QAAO,MAEnBmlI,EAAsBA,KACpB5/C,EAAAA,GAAAA,KACNzT,aAAY,EAAZA,EAAcv4D,wBACXu4D,EAAav4D,wBACbypH,aAAQ,EAARA,EAAUzpH,wBACVypH,EAASzpH,uBACT,IAIC6kH,EAAwC,CAC7CvrI,QAAS,CACRuyI,aAAc,qBACd5I,eAAgB,WAChBD,UAAW,+BACX8I,QAAS,6BAEV3sI,OAAQ,CACPwL,SAAU,qBACV4M,SAAU,YACVslF,aAAc,WACdphG,KAAMma,EAAS8tH,UACfsB,QAASpvH,EAAS+tH,SAClBsB,cAAervH,EAAS0uH,WACxB/rD,aAAcqzD,MAIVU,EAAaA,KAClB,MAAM,SAAExuI,GAA2B0M,EAAME,YACnC,OAAEvL,GAAWrB,EAEnB,QAG8B,SAA3BqB,EAAO60L,kBACP70L,EAAO80L,gBAAkBxrD,GAAAA,IACE,SAA3BtpI,EAAO60L,kBACP70L,EAAO80L,gBAAkBrrD,GAAAA,IACE,SAA3BzpI,EAAO60L,kBACP70L,EAAO80L,gBAAkBtrD,GAAAA,IACO,SAAhCxpI,EAAOqyI,sBAET,EAGIzF,EAAWC,IAChB,MAAM,SAAEluI,GAA2B0M,EAAME,YACnC,OAAEvL,EAAM,QAAE7F,GAAYwE,GACtB,GAAEy3F,EAAE,MAAE5pD,EAAK,IAAE5xC,EAAG,OAAE07F,IAAWH,EAAAA,EAAAA,KAE7Bl9F,EAAO,KACTqrI,EAAAA,EAAAA,IAAcnqI,GACjB,qBAAsB,cAAc6F,EAAOwL,WAC3C,wBAAyB,cAAcxL,EAAOwL,iBAC9C,oBAAqB5Q,EACrB,+BAAgC4xC,EAChC,8BAA+B8pD,EAC/B,gCAAiCF,EACjC,mBAAoBzE,EAAQnwF,QAAQ6yF,gBAAgBjD,OAAO5vF,QAC3D,qBAAsBgqI,EAAQiH,wBAE9B,oBAAqB,aAErB,oCAAqCr5D,EAAav4D,uBAClD,oCAAqCu4D,EAAa2f,mBAClD,0CAA0C4wC,EAAAA,GAAAA,IAAavwD,EAAav0B,aACpE,2BAA4B0mF,EAAUztC,KACtC,2BAA4BytC,EAAUyB,0BACtC,2BAA4BzB,EAAU0B,mBACnC1B,EAAU0B,mBACVt7C,EAAQjqE,MACRiqE,EAAQjqE,MACR,KACH,sBAAuB1nB,EAAO1D,KAC9B,2BAA4B0D,EAAO6lI,QACnC,2BAA4B7lI,EAAO8lI,cACnC,8BAA+BrvH,EAAS4uH,kBACxC,uBAAwB5uH,EAAS2uH,YACjC,mCAAmCsF,EAAAA,GAAAA,IAClCj0H,aAAQ,EAARA,EAAUq2H,qBACV,UAED,4BAA4BpC,EAAAA,GAAAA,IAC3Bj0H,EAASq2H,qBACT,cAED,kCAAkCpC,EAAAA,GAAAA,IACjCj0H,aAAQ,EAARA,EAAUq2H,qBACV,QAED,uCAAuCC,EAAAA,GAAAA,KACtCrC,EAAAA,GAAAA,IAAiBj0H,EAASq2H,qBAAsB,cAEjD,gCAAiC9sI,EAAO8X,IAAM9X,EAAO8X,IAAM,eAC3D,sCAAuC9X,EAAO6X,KAC3C7X,EAAO6X,KACP,eAEH,2BAAuD,QAA3B7X,EAAO60L,iBAA6B,IAAM,IACtE,2BAC4B,SAA3B70L,EAAO60L,iBAA8B70L,EAAO80L,eAAiB,KAC9D,2BAC4B,SAA3B90L,EAAO60L,kBAAwD,GAAzB70L,EAAO80L,eAC1C90L,EAAOksB,OACP,KACJ,2BAC4B,SAA3BlsB,EAAO60L,kBAAwD,GAAzB70L,EAAO80L,eACV,QAAhC90L,EAAOqyI,sBACN,IACA,IACD,KAEJ,2BAA4B1gD,EAAQmD,QACpC,2BAA4B90F,EAAOqsI,gBAEnC,6BAA8B,OAC9B,oCAAqC,QACrC,qBAAwC,WAAlB16C,EAAQoD,OAAsB,OAAS,SA8F9D,OA3FIo4C,KAAgBN,KACnB5zI,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOozL,sBAERn6L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOqzL,4BAERp6L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOszL,sBAERr6L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOuzL,4BAERt6L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOwzL,sBAERv6L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOyzL,4BAERx6L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAO0zL,qBAERz6L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAO2zL,2BAER16L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAO4zL,wBAER36L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAO6zL,8BAER56L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAO8zL,wBAER76L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAO+zL,8BAER96L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOs0L,qBAERr7L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAO+0L,2BAER97L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOg1L,yBAER/7L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOi1L,qBAERh8L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOg0L,kBAER/6L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOi0L,wBAERh7L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOk0L,wBAERj7L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOm0L,8BAERl7L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOo0L,oBAERn7L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOq0L,4BAIJlnD,KAAgB58C,GAAgBs8C,KACpC5zI,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOu0L,0BAERt7L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOw0L,gCAERv7L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAOy0L,uBAERx7L,EAAK,6BAA8B2wI,EAAAA,GAAAA,IAClC5pI,EAAO00L,8BAKRlpD,EAAQsH,yBAC2B,QAAnCtH,EAAQsH,0BAER75I,EAAK,qBAAsB+wI,EAAAA,GAAAA,IAAWwB,EAAQsH,0BAGxC75I,CAAI,GAGZwP,EAAAA,EAAAA,YAAU,KACLqjI,GACH1yI,QAAQ+G,IAAIysI,GAAQ,G,GAEnB,CAACjuI,IAEJ,MAAMimF,EAAWA,IACT,IAAIxwB,SAAa37D,MAAO47D,EAASC,K,QACvC,MAAMowE,EAAkBjqG,KAAKC,UAAUkyG,KACjCjI,EAAalqG,KAAKb,MAAM8qG,GACxB/lI,GAAWimI,EAAAA,EAAAA,IAAgBD,IACjCoF,EAAAA,GAAAA,IAAsB6C,IAAW,kBACjC,MAAMnxI,QAAiB4D,EAAAA,EAAAA,IAAmBV,GAEtClD,GAA2C,MAAV,QAArB8pB,EAAa,QAAbvsB,EAAAyC,EAASxC,YAAI,IAAAD,OAAA,EAAAA,EAAEwG,cAAM,IAAA+lB,OAAA,EAAAA,EAAEppB,OACtCoL,EAAS,CAAE3K,KAAM,oBAAqBiM,QAASpN,EAASxC,OACxDo7D,GAAQ,IAERA,GAAQ,E,IAKL26E,EAAiBt4G,GAClB81G,EAAUtkI,QACNwuB,EAAOz4B,QAAQuuI,EAAUtkI,QAASgkB,GAElCwK,EAAOz4B,QAAQstI,EAAU0B,mBAAoB/gH,GAUhD6hH,EAAmBA,CACxBC,EACAC,KAEA,MAAQ3sD,MAAO4sD,EAAW,YAAE7/H,GAAgBhD,EAAME,WAAW5D,SACvDwmI,EAAaF,GAAsCC,EAEnDE,EAAiBJ,EACrBr+B,UACA1lG,KAAKmgC,IAASikG,EAAAA,EAAAA,IAAgBF,EAAY/jG,KAC5C,IAAI47F,EAAW,IAAImI,GAEnBC,EAAevvI,SAAQ,CAACE,EAAO7G,MAChB,GAAV6G,IACHinI,GAAWsI,EAAAA,EAAAA,IACVukD,GAAsBtiG,EAAak8C,KACnC0B,EACAH,EAAW91I,GACXmW,G,IAKH,OADmBogI,EAAAA,EAAAA,IAAsBzI,EACxB,EASZkvD,EAAmBA,CAAC5kD,EAAsBC,KAC/C,MAAM,MAAEjvD,GAAUj2E,EAAME,WAAW5D,SACnC8sC,GAAW,GACX,MAAM+7F,GAAezB,EAAAA,EAAAA,IAAuCztD,EAAO,CAClEgvD,IAEKG,EAAa1C,EAAiB,CAACwC,GAAYC,GAC3C7B,GAAaF,EAAAA,EAAAA,IAAsBgC,GACzC73H,IACAg2H,GAAYD,GACZl6F,GAAW,EAAM,EAGZi6F,GAAYV,IACjBv5F,GAAW,GAEX,MAAMk6F,EAAaZ,EAAiBC,GACpCY,GAAYD,GACZ/1H,IAEA67B,GAAW,EAAM,EAGZo6F,GAAeC,IACpB,MAAM,MAAExtD,GAAUj2E,EAAME,WAAW5D,SACnC8sC,GAAW,GACX,MAAMk6F,GAAaI,EAAAA,EAAAA,IAClBztD,EACAwtD,GAEDF,GAAYD,GACZl6F,GAAW,EAAM,EAGZm6F,GAAettD,IACpB/5E,EAAS,CAAE3K,KAAM,eAAgBiM,QAASy4E,IAC1C/5E,EAAS,CAAE3K,KAAM,mBAAoBiM,QAASy4E,EAAMA,EAAMr/E,OAAS,KACnEsF,EAAS,CAAE3K,KAAM,wBAAyBiM,QAASy4E,EAAMr/E,QAAS,EAyC7DyuI,GAAmBA,CAACC,EAA0B7pI,KAC/CA,KACmB,GAAlBkkB,OAAOlkB,KAAcA,EAAQ,kBAC7B0+F,EAAAA,EAAAA,aAAY1+F,GACf4nI,GAAS,CAACiC,MACAlrC,EAAAA,EAAAA,cAAa3+F,KAAU4+F,EAAAA,EAAAA,YAAW5+F,MAC5C+nI,GAAY,CAAC8B,WACNhyI,EAASqB,QAAO0pI,EAAAA,GAAAA,IAAoBiH,K,GAQ9CloI,EAAAA,EAAAA,YAAU,KACT,GAAIyjB,EAAQ,CACX,MAAM+jH,EAAY5kI,EAAME,WAAW5D,SAAS25E,MACtC0kD,GAtDP+J,EAsD8Cf,EAAXiB,EApDtBhmI,KAAKmgC,GACZA,EAAK15B,OACN4pB,MAAMC,QAAQ6P,EAAK15B,MAAM5K,MAAMyC,UAClC6hC,EAAK15B,MAAM5K,MAAMyC,SAAW6hC,EAAK15B,MAAM5K,MAAMyC,SAAS0B,KACpDqoD,IACoB,iBAATA,EACyB,iBAAxBA,EAAMxsD,MAAMyC,SACtB+pD,EAAMxsD,MAAMyC,SAASzC,MAAMyC,SAAWwnI,EACrCz9E,EAAMxsD,MAAMyC,SAASzC,MAAMyC,UAG5B+pD,EAAMxsD,MAAMyC,SAAWwnI,EAAgBz9E,EAAMxsD,MAAMyC,UAGpD+pD,EAAQy9E,EAAgBz9E,GAElBA,KAGqC,iBAA7BloB,EAAK15B,MAAM5K,MAAMyC,SAClC6hC,EAAK15B,MAAM5K,MAAMyC,SAASzC,MAAMyC,SAAWwnI,EAC1C3lG,EAAK15B,MAAM5K,MAAMyC,SAASzC,MAAMyC,UAGjC6hC,EAAK15B,MAAM5K,MAAMyC,SAAWwnI,EAAgB3lG,EAAK15B,MAAM5K,MAAMyC,UAEvD6hC,GAzBiBA,KAoDxBoiG,EAAUtkI,QAAUgkB,EACpB0iH,GAAY5I,E,CA1DWgK,IAExBD,C,GA0DE,CAAC7jH,KAEJzjB,EAAAA,EAAAA,YAAU,KACT,GAAKosL,EAGL,GAAwB,QAApBA,EAA4B,CAC/B,MAAMvzG,EAAQj2E,EAAME,WAAW5D,SAAS25E,MAGxC,IAAe,IAFA+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,mBAEpB,CACjB,MAAM6oB,EAAe9+F,EAAME,WAAW5D,SAASwiG,aACzCwkC,GAAaI,EAAAA,EAAAA,IAClB5kC,EACA,CAAC,iBAAkB,kBAAmB,0BAEvCykC,GAAYD,E,MAEZE,GAAY,CACX,iBACA,kBACA,yB,MAIFH,GAAS,CAAC,iBAAkB,kBAAmB,yB,GAE9C,CAACmmD,KAEJpsL,EAAAA,EAAAA,YAAU,KACT,GAAKqsL,EAAL,CAGA,GACCA,GAAkBxrD,GAAAA,IAClBwrD,GAAkBrrD,GAAAA,GACjB,CACD,MAAMwG,EAAY5kI,EAAME,WAAW5D,SAAS25E,MACtC4uD,EAAW,CAChBD,EAAU,GACVA,EAAU,GACVA,EAAUA,EAAUhuI,OAAS,IAExB0sI,GAAaF,EAAAA,EAAAA,IAAsByB,GACzCtB,GAAYD,E,CAEb,GAAImmD,GAAkBtrD,GAAAA,GAAqB,CAC1C,MAAMr/B,EAAe9+F,EAAME,WAAW5D,SAASwiG,aACzCwkC,GAAaI,EAAAA,EAAAA,IAAuC5kC,EAAc,CACvE,oBAEDykC,GAAYD,E,MACN,GAAImmD,GAAkBvrD,GAAAA,GAAkB,CAC9C,MAAMp/B,EAAe9+F,EAAME,WAAW5D,SAASwiG,aACzCwkC,GAAaI,EAAAA,EAAAA,IAAuC5kC,EAAc,CACvE,0BAEDykC,GAAYD,E,KAEX,CAACmmD,KAEJrsL,EAAAA,EAAAA,YAAU,KACT,GAAK4pI,EAGL,GAA6B,QAAzBA,EAAiC,CACpC,MAAMloC,EAAe9+F,EAAME,WAAW5D,SAASwiG,aACzCwkC,GAAaI,EAAAA,EAAAA,IAAuC5kC,EAAc,CACvE,oBAEDykC,GAAYD,E,KACN,CACN,MAAMsB,EAAY5kI,EAAME,WAAW5D,SAAS25E,MACtC4uD,EAAW,CAChBD,EAAU,GACVA,EAAU,GACVA,EAAU,GACVA,EAAUA,EAAUhuI,OAAS,IAExB0sI,GAAaF,EAAAA,EAAAA,IAAsByB,GACzCtB,GAAYD,E,IAEX,CAAC0D,KAEJ5pI,EAAAA,EAAAA,YAAU,KACJ4jI,IAGkB,KAAnBA,EACHqC,GAAS,CAAC,oBAEVG,GAAY,CAAC,oB,GAEZ,CAACxC,KAEJ5jI,EAAAA,EAAAA,YAAU,KACT,GAAK6jI,EAGL,GAAoB,QAAhBA,EAAwB,CAC3B,MAAM6D,GAAYC,EAAAA,EAAAA,IACjByiD,GAAsBtiG,EAAak8C,KACnC,eACA,mBAEDiC,GAASyB,E,MACH,GAAoB,SAAhB7D,EAAyB,CACnC,MAAM,MAAEhrD,GAAUj2E,EAAME,WAAW5D,SAC7BwoI,GAAYC,EAAAA,EAAAA,IACjB9uD,EACA,eACA,mBAEDutD,GAAYsB,E,IAEX,CAAC7D,KAkEJ7jI,EAAAA,EAAAA,YAAU,KACTioI,GAAiB,6BAA8B0iD,EAAqB,GAClE,CAACA,KAEJ3qL,EAAAA,EAAAA,YAAU,KACTioI,GAAiB,6BAA8B4iD,EAAqB,GAClE,CAACA,KAEJ7qL,EAAAA,EAAAA,YAAU,KACTioI,GAAiB,6BAA8B8iD,EAAqB,GAClE,CAACA,KAEJ/qL,EAAAA,EAAAA,YAAU,KACTioI,GAAiB,+BAAgCojD,EAAuB,GACtE,CAACA,KAEJrrL,EAAAA,EAAAA,YAAU,KACTioI,GAAiB,4BAA6BgjD,EAAoB,GAChE,CAACA,KAEJjrL,EAAAA,EAAAA,YAAU,KACTioI,GAAiB,+BAAgCkjD,EAAuB,GACtE,CAACA,KAEJnrL,EAAAA,EAAAA,YAAU,KACTioI,GAAiB,yBAA0BsjD,EAAiB,GAC1D,CAACA,KAEJvrL,EAAAA,EAAAA,YAAU,KACTioI,GAAiB,+BAAgCwjD,EAAuB,GACtE,CAACA,KAEJzrL,EAAAA,EAAAA,YAAU,KACTioI,GAAiB,2BAA4B0jD,EAAmB,GAC9D,CAACA,KAEJ3rL,EAAAA,EAAAA,YAAU,KACTioI,GACC,iCACA6jD,EACA,GACC,CAACA,KAEJ9rL,EAAAA,EAAAA,YAAU,KACTioI,GAAiB,8BAA+B+jD,EAAsB,GACpE,CAACA,KAKJhsL,EAAAA,EAAAA,YAAU,K,QAIT,GAAgB,wBAHgC,QAAlC8c,EAA4B,QAA5BvsB,EAAGqS,EAAME,WAAW5D,gBAAQ,IAAA3O,OAAA,EAAAA,EAAEoxC,YAAI,IAAA7kB,OAAA,EAAAA,EAAEjpB,MAGX,CACtC,MAAMspG,EAAU,CACfwtF,EACAE,EACAE,EACAE,EACAE,EACAE,EACAE,EACAE,EACAE,GAEG7jG,IACHqV,EAAQhqG,KAAK24L,GACb3uF,EAAQhqG,KAAK64L,IAGd,MAAM,cAAE7jD,EAAa,cAAEC,IAAkBC,EAAAA,GAAAA,IACxClrC,EACA0uF,GAGG1jD,GAAiBC,GACpBnC,GAAS,CAAC,4BAA6B,4BAEnCkC,GAAkBC,IACtBhC,GAAY,CAAC,4BAA6B,mCACnClwI,EAASqB,OAAO+0L,iCAChBp2L,EAASqB,OAAOg1L,0BAEnBpkD,GAAiBC,IACrBqkD,EACC,4BACA,kCAEMv2L,EAASqB,OAAO+0L,2BAEpBnkD,IAAkBC,IACrBqkD,EACC,0BACA,oCAEMv2L,EAASqB,OAAOg1L,wB,IAGvB,CACF5B,EACAE,EACAE,EACAE,EACAE,EACAE,EACAE,EACAE,EACAE,EACAG,EACAE,EACAH,IAMD,MAAMtjD,GAAe1vD,IACpB,MAAMyvD,EAnLiBzvD,KACvB,MAAM6zG,GAA2B9mD,EAAAA,EAAAA,IAChC/sD,EACA,wBAwCK8zG,EAtCmB,CACxB,EACC/mD,EAAAA,EAAAA,IAAgB/sD,EAAO,yBACvB+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,+BAExB,EACC+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,yBACvB+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,+BAExB,EACC+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,yBACvB+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,+BAExB,EACC+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,wBACvB+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,8BAExB,EACC+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,2BACvB+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,iCAExB,EACC+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,2BACvB+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,iCAExB,EACC+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,qBACvB+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,2BACvB+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,2BACvB+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,iCAExB,EACC+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,uBACvB+sD,EAAAA,EAAAA,IAAgB/sD,EAAO,8BAIc34D,MAAK,IAAMqU,KAAKu2E,SAAW,KAC1BnpF,OAExC,IAAIirK,EAAgB,IAAI/zG,GAExB,IAAK,IAAIppF,EAAI,EAAGA,EAAIk9L,EAAkBnzL,OAAQ/J,IAC7Cm9L,EAAcF,EAA2Bj9L,GAAKopF,EAAM8zG,EAAkBl9L,IAOvE,OAJI4zI,GACH1yI,QAAQ+G,IAAIk1L,GAtMS/zG,IACfA,EAAMz+E,QAAQunC,QAAkB/tC,IAAT+tC,IAwMvBkrJ,CAAcD,EAAc,EA4HX/lD,CAAehuD,GAEvC,MAAO,CACNykD,UAAWgL,EAAgB,GAC3BrvD,SAAUqvD,EAAgBA,EAAgB9uI,OAAS,GACnDs/E,aAAc,CAAC,GACfE,gBAAiBsvD,EAAgB9uI,OACjC+jI,SAAU+K,EACV,EA6BF,OA1BAtoI,EAAAA,EAAAA,YAAU,KACT,IAAK2wE,EAAc,OAAO,KAE1B,MAAM,UAAE2sD,EAAS,SAAErkD,EAAQ,aAAEH,EAAY,gBAAEE,EAAe,SAAEukD,GAC3DgL,GAAY6hD,GAAsBtiG,EAAak8C,MAE1CxG,EAAmC,CACxCz2C,aAAa,EACbpO,iBAAkBwD,EAClBH,aAAYshD,EAAUthD,WACtB/C,WACAD,kBACA/3E,UAAW,OACX4F,WAAW,EACX8I,SAAU,SACV/J,YAAa03H,EAAU13H,YACvB+7B,KAAM27F,EACNzkD,MAAO0kD,GAAsB6sD,GAAsBtiG,EAAak8C,KAChElrD,eACA2O,kBAAmB/pF,IAAAA,cAACwuL,GAAwB,CAACl+K,SAAUA,IACvDnB,UAA+B,WAApBmB,EAASG,SAGrBkuE,EAAemhD,EAAeP,EAAc,GAC1C,CAACtsD,IAEIl5D,EAKJ,KAJH/Z,IAAAA,cAACo6F,EAAAA,eAAc,CACdjf,MAAOuxG,GAAsBtiG,EAAak8C,KAC1Ct9C,WAAW,eAGd,CC/yBM,SAAUomG,KACf,MAAOr1K,EAASu0B,IAAcluC,EAAAA,EAAAA,WAAS,IAChClN,EAAOsU,IAAYpH,EAAAA,EAAAA,WAAS,IAC5BukI,EAAOC,IAAYxkI,EAAAA,EAAAA,WAAS,IAC5B0kI,EAAUC,IAAe3kI,EAAAA,EAAAA,WAAS,GACnCimC,EAAQC,IAAM,IAAIN,MAElBu3F,GAAap8H,EAAAA,EAAAA,QAAO,MACpBq8H,GAAcr8H,EAAAA,EAAAA,QAAO,MACrB6jI,GAAe7jI,EAAAA,EAAAA,QAAO,MACtB8jI,GAAc9jI,EAAAA,EAAAA,QAAO,MACrB+jI,GAAa/jI,EAAAA,EAAAA,QAAO,OAEnB8xE,EAAckyD,IAAmB/kI,EAAAA,EAAAA,UAAS,MAE3CmuC,GAAiB59B,EAAAA,EAAAA,sBAAqB,mBAyCtCkuH,IAxCWx9H,EAAAA,EAAAA,OACC4kB,EAAAA,EAAAA,gBAuCGlvB,IACpByQ,GAAS,GACT8mC,GAAW,GACPv3C,GACH9D,QAAQC,MAAM6D,E,GAqBhB,OAjBAuL,EAAAA,EAAAA,YAAU,KACsBisC,EAAeM,iBAEvBC,UAAU,CAChCC,IAAAA,CAAKpuC,GAEL,EACAzN,KAAAA,CAAMiH,GACLlH,QAAQC,MAAMiH,GACd0kI,GACD,EACA7vF,QAAAA,GAvDqB18C,WACtB,MAAMk5F,EAAUj9C,EAAeq9C,aAE/B,GAAwB,OAApBJ,EAAQnwF,SAAoBmwF,EAAQnwF,QAAQ8yF,gBAAkB3C,EAAQnwF,QAAQK,aACjFmjI,EAAY,0BACN,GAAIrzC,EAAQnwF,QAAQI,YAC1BmpI,GAAS,GACTt2F,GAAW,OACL,CACN,MAAMh+B,GAAW+kF,EAAAA,GAAAA,GAAoB7J,EAAS,UACxC45C,GAAY/vC,EAAAA,GAAAA,GAAoB7J,EAAS,WACzC24C,GAAW9uC,EAAAA,GAAAA,GAAoB7J,EAAS,UACxC65C,GAAUhwC,EAAAA,GAAAA,GAAoB7J,EAAS,SAE7C+xC,EAAWx7H,QAAUypF,EACrBgyC,EAAYz7H,QAAUuO,EACtB00H,EAAajjI,QAAUqjI,EACvBH,EAAYljI,QAAUoiI,EACtBe,EAAWnjI,QAAUsjI,EAErB,MAAMC,EAAa95C,EAAQsD,GAAKxoD,IAAMzqC,KAAK2vF,EAAQsD,IAAK,cAAgB,KACxE,IAAKw2C,GAAcj/F,EAAMk/F,KAAKj/F,IAAMg/F,GAAa,OAAS,EACzDP,GAAY,OACN,CACN,MAAM9xD,QAAqBixD,EAAAA,GAAAA,IAAgB14C,EAAS24C,EAAU,gCAC1DlxD,EACHkyD,EAAgBlyD,GAGhB4rD,G,CAGFvwF,GAAW,E,GAwBVwwF,EACD,GACC,GACA,IAEC/kH,EACI/Z,IAAAA,cAACmoB,EAAAA,GAAgB,MACdj1B,EAET8M,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAAC+rC,EAAAA,GAAiB,CACjBxhC,MAAM,qBACNyhC,SAAS,6DACTC,SAAS,aACTC,YAAY,EACZ1nC,MAAM,EACN2E,WAAW,KAIJ27H,EAET9kI,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAAC+rC,EAAAA,GAAiB,CACjBxhC,MAAM,kCACNyhC,SAAS,oGACTC,SAAS,wBACTE,QAAQ,IACRC,QAAQ,qDACR5nC,MAAM,EACN2E,WAAW,KAIJw7H,EAET3kI,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAAC+rC,EAAAA,GAAiB,CACjBxhC,MAAM,4CACNyhC,SAAS,kFACTC,SAAS,wBACTE,QAAQ,IACRC,QAAQ,qDACR5nC,MAAM,EACN2E,WAAW,KAMbnJ,IAAAA,cAACyuL,GAAoB,CACpBx7G,aAAcA,EACduY,QAAS+xC,EAAWx7H,QACpBoiI,SAAUc,EAAYljI,QACtBsjI,QAASH,EAAWnjI,QACpBuO,SAAUktH,EAAYz7H,QACtBqjI,UAAWJ,EAAajjI,SAI5B,CCxIM,SAAUstL,KACf,MAAOt1K,EAASu0B,IAAcluC,EAAAA,EAAAA,WAAS,IAChClN,EAAOsU,IAAYpH,EAAAA,EAAAA,WAAS,IAC5BukI,EAAOC,IAAYxkI,EAAAA,EAAAA,WAAS,IAE5BkQ,EAAUg/K,IAAelvL,EAAAA,EAAAA,UAAS,OAClCglI,EAAWmqD,IAAgBnvL,EAAAA,EAAAA,UAAS,OACpC+jI,EAAUqrD,IAAepvL,EAAAA,EAAAA,UAAS,OAClCilI,EAASqmB,IAActrJ,EAAAA,EAAAA,UAAS,OAEhC4uF,EAASygG,IAAcrvL,EAAAA,EAAAA,WAAS,IAChCjF,EAAS02F,IAAczxF,EAAAA,EAAAA,UAAS,MAEjCmuC,GAAiB59B,EAAAA,EAAAA,sBAAqB,mBAqDtCkuH,EAAe9nI,IACpByQ,GAAS,GACT8mC,GAAW,GACPv3C,GACH9D,QAAQC,MAAM6D,E,EAqBhB,OAjBAuL,EAAAA,EAAAA,YAAU,KACsBisC,EAAeM,iBAEvBC,UAAU,CAChCC,IAAAA,CAAKpuC,GAEL,EACAzN,KAAAA,CAAMiH,GACLlH,QAAQC,MAAMiH,GACd0kI,GACD,EACA7vF,QAAAA,GArEqB18C,WACtB,MAAMk5F,EAAUj9C,EAAeq9C,aAE/B,GAAwB,OAApBJ,EAAQnwF,SAAoBmwF,EAAQnwF,QAAQ8yF,gBAAkB3C,EAAQnwF,QAAQK,aACjFmjI,EAAY,0BACN,GAAIrzC,EAAQnwF,QAAQI,YAC1BmpI,GAAS,GACTt2F,GAAW,OACL,CACNghJ,GAAYj6F,EAAAA,GAAAA,GAAoB7J,EAAS,WACzC+jG,GAAal6F,EAAAA,GAAAA,GAAoB7J,EAAS,YAC1CkgE,GAAWr2D,EAAAA,GAAAA,GAAoB7J,EAAS,UACxC,MAAM24C,GAAW9uC,EAAAA,GAAAA,GAAoB7J,EAAS,UAC9CgkG,EAAYrrD,GAEZsrD,EAA8B,QAAnBjkG,EAAQwD,SAEnB,MAAMo1C,QAAyBjxI,EAAAA,EAAAA,IAAiB,4CAA6C,mCAC7F,GAAIixI,EAAiBtoI,OAAS,EAAG,CAEhC,IAAIk4E,EAAgBowD,EAAiBtgI,KAAKugI,IAAWC,EAAAA,GAAAA,GAAcD,EAAOnlH,cAE1E,MAAMX,QAAkB/pB,EAAAA,EAAAA,MAKxB,GAJI+pB,EAAUziB,OAAS,IACtBk4E,EAAgBA,EAAct3E,QAAQ2nI,GAAW9lH,EAAUhqB,SAAS8vI,EAAOzxC,uBAGxEpH,EAAQz4F,OAAQ,CACnB,MAAM28L,EAAkB17G,EAAct3E,QAAQ2nI,GAAWA,EAAOzxC,oBAAsBpH,EAAQz4F,SAC9F,GAAI28L,EAAgB5zL,OAAS,EAAG,CAC/B,MAAM/I,EAAU28L,EAAgB,GAChCF,EAAYz8L,GAEZihF,EAAgBA,EAAct3E,QAAQ2nI,GAAWA,EAAOkI,8BAAgCx5I,EAAOw5I,8B,OAKhGv4D,EAAgBA,EAAct3E,QAAQ2nI,GAAWA,EAAOkI,8BAAgCpI,EAASoI,+BAElG16C,EAAW7d,E,MAGX6qD,EAAY,2BAGbvwF,GAAW,E,GAwBVwwF,EACD,GACC,GACA,IAEC/kH,EACI/Z,IAAAA,cAACmoB,EAAAA,GAAgB,MACdj1B,EAET8M,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAAC+rC,EAAAA,GAAiB,CACjBxhC,MAAM,qBACNyhC,SAAS,2DACTC,SAAS,aACTC,YAAY,EACZ1nC,MAAM,EACN2E,WAAW,KAIJw7H,EAET3kI,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAAC+rC,EAAAA,GAAiB,CACjBxhC,MAAM,4CACNyhC,SAAS,mFACTC,SAAS,wBACTE,QAAQ,IACRC,QAAQ,qDACR5nC,MAAM,EACN2E,WAAW,KAObnJ,IAAAA,cAAAA,IAAAA,SAAA,KACEgvF,EACAhvF,IAAAA,cAAC2vL,GAAqB,CACrBx0L,QAASA,EACTmV,SAAUA,EACV80H,UAAWA,EACXjB,SAAUA,EACVkB,QAASA,IAGVrlI,IAAAA,cAAC4vL,GAA0B,CAC1B/wD,YAAaA,EACbvuH,SAAUA,EACV80H,UAAWA,EACXjB,SAAUA,EACVkB,QAASA,IAMf,CCrIM,SAAUsqD,GAAsBhwL,G,MACrC,MAAM,QACLxE,EAAO,SACPmV,EAAQ,UACR80H,EAAS,SACTjB,EAAQ,QACRkB,GACG1lI,GACE,eAAEg/E,EAAc,eAAElsE,IAAmBvO,EAAAA,EAAAA,sBACrC,SAAE1L,IAAaiJ,EAAAA,EAAAA,KAAaC,GAAwBA,IACpDwD,GAAQC,EAAAA,EAAAA,MACR/D,GAAWC,EAAAA,EAAAA,MAGX+oF,EAA+D,OAArB,QAA5Bv3F,EAAAuyI,EAAU0B,0BAAkB,IAAAj0I,OAAA,EAAAA,EAAE29F,UAAU,EAAG,IAEzDq/F,EAAmB,CACxB,CAAE/uL,MAAO,6BAA8BH,MAAO,8BAC9C,CAAEG,MAAO,wBAAyBH,MAAO,yBACzC,CAAEG,MAAOspF,EAAc,oBAAsB,yBAA0BzpF,MAAOypF,EAAc,oBAAsB,0BAClH,CAAEtpF,MAAO,6BAA8BH,MAAO,8BAC9C,CAAEG,MAAO,2BAA4BH,MAAO,4BAC5C,CAAEG,MAAO,QAASH,MAAO,UAGpBmvL,EAAmB,CACxB,CAAEhvL,MAAO,UAAWH,MAAO,YAC3B,CAAEG,MAAO,eAAgBH,MAAO,gBAChC,CAAEG,MAAO,8BAA+BH,MAAO,WAGhD,IAAI/H,EAAQ,EACZ,MA8GMk8J,EA9GwB,CAC7B,CACCvqJ,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,kBACVrG,IAAAA,cAAC4C,EAAAA,GAAI,wCAGP/I,OACCmG,IAAAA,cAAC8pF,EAAAA,GAA4B,CAC5BliE,QAAS5nB,IAAAA,cAAC4gC,EAAAA,GAAkB,CAACl5B,UAAWmoL,EAAkB15L,KAAK,mBAGjE+R,YAAatP,IACbzC,KAAM,eACNsxF,QAAS,CAAC,gBACVY,YAAa,CAAC,iBAEf,CACC99E,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAAC4C,EAAAA,GAAI,kBACL5C,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,oBACVrG,IAAAA,cAAA,QAAM2K,MAAO,CAAEyF,WAAY,WAC1BpQ,IAAAA,cAAA,OAAK2K,MAAO,CAAElF,IAAK,OAAQ4K,SAAU,SAAQ,OAIhDxW,OAAQmG,IAAAA,cAAC8pF,EAAAA,GAA4B,CAACliE,QAAS5nB,IAAAA,cAACmU,EAAAA,GAAa,CAACrT,MAAM,iBAAiB3K,KAAK,kBAAkBoe,kBAAmB,QAC/HrM,YAAatP,IACbzC,KAAM,kBACNsxF,QAAS,CAAC,mBACVY,YAAa,CAAC,oBAEf,CACC99E,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,aACVrG,IAAAA,cAAC4C,EAAAA,GAAI,oCAGP/I,OACCmG,IAAAA,cAAC8pF,EAAAA,GAA4B,CAC5BliE,QAAS5nB,IAAAA,cAACyH,EAAAA,GAAoB,CAACC,UAAWooL,EAAkB35L,KAAK,eAAe0R,aAAW,MAG7FK,YAAatP,IACbzC,KAAM,eACNsxF,QAAS,CAAC,gBACVY,YAAa,CAAC,gBACd1C,KAAMmqG,GAEP,CACCvlL,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,KACEsQ,aAAQ,EAARA,EAAU8tH,UAAS,gCAA8Bp+H,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,0BAG9DxM,OACCmG,IAAAA,cAAC8pF,EAAAA,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAAC8sC,EAAAA,GAAkB,KAClB9sC,IAAAA,cAACkgC,EAAAA,GAAQ,CAACllB,oBAAoB,EAAOpX,UAAU,EAAMuF,WAAW,OAKpEjB,YAAatP,IACbzC,KAAM,uBACNsxF,QAAS,CAAC,aACVY,YAAa,CAAC,cAEdltF,EAAU,CACVoP,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,4BAA6B,gBAGzCxM,OACCmG,IAAAA,cAAC+vL,GAAuB,CAAC55L,KAAK,kBAAkBgF,QAASA,IAE1D+M,YAAatP,IACbzC,KAAM,kBACNsxF,QAAS,CAAC,yBACVY,YAAa,CAAC,0BACX,KACHltF,EAAU,CACVoP,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,iBACVrG,IAAAA,cAAC4C,EAAAA,GAAI,sBAGP/I,OACCmG,IAAAA,cAACgwL,GAAqB,CAACC,UAAU,YAAYC,SAAS,aAEvDhoL,YAAatP,IACbzC,KAAM,aACNsxF,QAAS,CAAC,YAAa,YACvBY,YAAa,CAAC,YAAa,aACxB,KACJ,CACCxuF,OAAQmG,IAAAA,cAACmwL,GAA6B,CAAC7/K,SAAUA,IACjDpI,YAAatP,IACbzC,KAAM,eACNsxF,QAAS,CAAC,gBACVY,YAAa,CAAC,kBAImB3rF,QAAQunC,GAAkB,OAATA,KAO9C,aAAEmsJ,EAAY,aAAEC,GAAiB73L,EAASqB,QAEhDyI,EAAAA,EAAAA,YAAU,KACL8tL,GACH3nD,EAAY,kBAAmB2nD,EAAa77L,SAAS,UAElD87L,GACH5nD,EAAY,uBAAwC,YAAhB4nD,GAA8C,gBAAhBA,E,GAEjE,CAACD,EAAcC,IAGlB,MAAM5nD,EAAcA,CAAC5nH,EAAkB2oJ,KACtC,MAAQruF,MAAO4sD,EAAW,YAAE7/H,GAAgBhD,EAAME,WAAW5D,SAC7D,IAAIq+H,EAAW,IAAIkI,GACnB,GAAIyhC,EAAa,EAGG,KAFDthC,EAAAA,EAAAA,IAAgBrI,EAAUh/G,KAG3Cg/G,GAAWsI,EAAAA,EAAAA,IAAe2sB,EAAe/sB,EAAalnH,EAAU3Y,GAChEvF,YAAW,KACV8P,GAAgB,GACd,G,MAGJotH,GAAW2V,EAAAA,EAAAA,IAAW3V,EAAUh/G,GAGjC,MAAMowH,GAAoB3I,EAAAA,EAAAA,IAAsBzI,GAEhDz+H,EAAS,CAAE3K,KAAM,eAAgBiM,QAASuuI,IAC1C7vI,EAAS,CAAE3K,KAAM,mBAAoBiM,QAASuuI,EAAkBA,EAAkBn1I,OAAS,KAC3FsF,EAAS,CAAE3K,KAAM,wBAAyBiM,QAASuuI,EAAkBn1I,QAAS,EAKzEw0L,EAAgD,CACrDt8L,QAAS,CAAC,EACV6F,OAAQ,CACP1D,KAAMma,EAAS8tH,UACfsB,QAASpvH,EAAS+tH,SAClBsB,cAAervH,EAAS0uH,WACxBvwG,MAAOne,EAAS2uH,YAChBzgG,UAAWluB,EAAS4uH,kBACpB75H,SAAU,iCACV4M,SAAU,YACVslF,aAAc,aAIV9Y,EAAWA,KAChB,MAAM,SAAEjmF,GAA2B0M,EAAME,YACnC,OAAEvL,GAAWrB,EAEnB,OAAO,IAAIy1D,SAAa37D,MAAO47D,EAASC,K,QAEvC,MAAMr7D,EAAO41K,GAAkBp4J,EAAU80H,EAAWjB,EAAUkB,GAc9D,GAZAvyI,EAAK,4BAA8B,OACnCA,EAAK,4BAA8B+G,EAAOu2L,aAC1Ct9L,EAAK,4BAA8B+G,EAAO02L,gBAAkB12L,EAAO02L,gBAAkB,GACrFz9L,EAAK,4BAA8B+G,EAAOw2L,aAC1Cv9L,EAAK,6BAA8BixI,EAAAA,GAAAA,IAAclqI,EAAO22L,UAAW,cAAgB,IAAM32L,EAAO42L,SAAW,MAC3G39L,EAAK,iCAAmC+G,EAAO8X,IAAM9X,EAAO8X,IAAM,eAClE7e,EAAK,uCAAyC+G,EAAO6X,KAAO7X,EAAO6X,KAAO,eAEtE7X,EAAO2kC,YACV1rC,EAAK,+BAAiC+G,EAAO2kC,WAG1C3kC,EAAO62L,gBACV,IAAK,MAAM39L,KAAUoI,EAChBpI,EAAO2rD,aAAe7kD,EAAO62L,kBAChC59L,EAAK,mCAAqCC,EAAO4/F,GACjD7/F,EAAK,qCAAuCC,EAAO2nB,uBACnD5nB,EAAK,qCAAuCC,EAAO2nB,uBACnD5nB,EAAK,2CAA4C0wI,EAAAA,GAAAA,IAAazwI,EAAO2rD,cAKxE5rD,EAAgB,UAAIwd,EAASqiF,GAE7B,MAAM4rC,EAAkBjqG,KAAKC,UAAUzhC,GACjC0rI,EAAalqG,KAAKb,MAAM8qG,GACxB/lI,GAAWimI,EAAAA,EAAAA,IAAgBD,GAC3BlpI,QAAiBgE,EAAAA,EAAAA,IAAqBd,GAExClD,GAA2C,MAAV,QAArB8pB,EAAa,QAAbvsB,EAAAyC,EAASxC,YAAI,IAAAD,OAAA,EAAAA,EAAEwG,cAAM,IAAA+lB,OAAA,EAAAA,EAAEppB,OACtCoL,EAAS,CAAE3K,KAAM,oBAAqBiM,QAASpN,EAASxC,OACxDo7D,GAAQ,IAERA,GAAQ,E,GAER,EA2CH,OArBA5rD,EAAAA,EAAAA,YAAU,KACT,MAAM,UAAEs9H,EAAS,SAAErkD,EAAQ,aAAEH,EAAY,gBAAEE,EAAe,SAAEukD,GAVrD,CACND,UAAWk1B,EAAc,GACzBv5E,SAAUu5E,EAAcA,EAAch5J,OAAS,GAC/Cs/E,aAAc,CAAC,GACfE,gBAAiBw5E,EAAch5J,OAC/B+jI,SAAU,MAOL8wD,EAA2C,CAChDtnG,aAAa,EACbpO,iBAAkBwD,EAClBH,aAAYshD,EAAUthD,WACtB/C,WACAD,kBACApzE,YAAa03H,EAAU13H,YACvB3E,UAAW,OACX4F,WAAW,EACX8I,SAAU,SACVgyB,KAAM27F,EACNzkD,MAAO0kD,GAAsBi1B,EAC7B15E,eACA2O,kBAAmB/pF,IAAAA,cAAC4wL,GAAyB,CAACxrD,UAAWA,KAE1DzmD,EAAegyG,EAAuBL,EAAsB,GAC1D,CAACn1L,IAEG25J,EAAgB90J,IAAAA,cAACo6F,EAAAA,eAAc,CAACjf,MAAO25E,EAAe9rE,WAAW,gBAAmB,IAC5F,C,qCC3SO,MAAM+mG,GAA2BpwL,IACvC,MAAM,KACLxJ,EAAI,QACJgF,GACGwE,EACEyB,GAAWC,EAAAA,EAAAA,OACX,eAAEoR,IAAmBvO,EAAAA,GAAAA,OACrB,SAAE1L,IAAaiJ,EAAAA,EAAAA,KAAaC,GAAwBA,KACpD,OAAE7H,GAAWrB,GACZzF,EAAQ89L,IAAazwL,EAAAA,EAAAA,UAAmBjF,EAAUA,EAAQ,GAAK,MAYtE,OALAmH,EAAAA,EAAAA,YAAU,KACTlB,EAAS,CAAE3K,KAAM,gBAAiBiM,QAAS,CAAE,CAACvM,IAAOuwF,EAAAA,GAAAA,IAAa3zF,EAAO+9L,uBACzE1vL,EAAS,CAAE3K,KAAM,4BAA6BiM,QAAS3P,GAAS,GAC9D,CAACA,IAGHiN,IAAAA,cAACuT,EAAAA,GAAM,CAAC1Q,WAAY,CACnB,CAACkI,EAAAA,GAAY0I,SAAU,CACtB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,MAIvB1T,IAAAA,cAACsF,EAAAA,EAAS,CAACE,QAAS,CAAEC,IAAKC,EAAAA,EAAiBwE,cAC3ClK,IAAAA,cAAC+wL,GAAAA,EAAQ,KACP51L,EAAUA,EAAQ2I,KAAI,CAAC/Q,EAAkB6F,KACzC,MAAM+H,GAAQ+lF,EAAAA,GAAAA,IAAa3zF,EAAO6/F,oBAC5B9xF,EAAQd,IAAAA,cAAAA,IAAAA,SAAA,KACbA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,IAAEqgF,EAAAA,GAAAA,IAAa3zF,EAAO2nB,yBAAgC,IAChE1a,IAAAA,cAAC4C,EAAAA,GAAI,MAAE8jF,EAAAA,GAAAA,IAAa3zF,EAAOsgF,iBAC3BrzE,IAAAA,cAAC4C,EAAAA,GAAI,KAAE7P,EAAOugF,mBAAkB,KAAGoT,EAAAA,GAAAA,IAAa3zF,EAAOwgF,gBAExD,OAAQvzE,IAAAA,cAAC8sB,GAAAA,EAAW,CACnB3pB,QAAUrB,IA7BWkvL,EAAClvL,EAAQ/O,KACnC89L,EAAU99L,GACV0f,EAAe3Q,EAAE,EA4BXkvL,CAAmBlvL,EAAG/O,EAAO,EAE9B4N,MAAOA,EACPG,MAAOA,EACP3K,KAAMA,EACNgmJ,eAAgBtiJ,EAAO1D,GAAQ0D,EAAO1D,IAASwK,EAAiB,GAAT/H,GACtD,IACE,OAGE,E,+CC7DL,MAAMq4L,GAAsBxxL,EAAAA,GAAOC,GAAG;;EAGhCwxL,GAAkBzxL,EAAAA,GAAOC,GAAG;;EAG5ByxL,GAAiB1xL,EAAAA,GAAOC,GAAG;;EAS3BiwC,IANgBlwC,EAAAA,GAAOC,GAAG;;;;;EAMfD,EAAAA,GAAO6P,IAAI;;GAGtBsgC,GAAyBnwC,EAAAA,GAAOC,GAAG;;;;;;;;;;;;EAanCmwC,GAAiBpwC,EAAAA,GAAOC,GAAG;;;;;;;;;;;;;;EA0B3BswC,IAXYvwC,EAAAA,GAAOC,GAAG;;;;;EAMXD,EAAAA,GAAOC,GAAG;;;;EAKAD,EAAAA,GAAOC,GAAG;;;;;GAW/BuwC,GAAaxwC,EAAAA,GAAOC,GAAoB;;;;UAI1CC,GAAWA,EAAMwnC,OAAS,UAAYxnC,EAAMC,SAAW,UAAY;cAC/DD,GAAWA,EAAMuwC,WAAa,MAAQ;qBAC/BvwC,GAAWA,EAAMwnC,OAAS,UAAY;;;;WAIhDxnC,GAAWA,EAAMC,SAAW,UAAY;;;;;;EAYvCuwC,GAAa1wC,EAAAA,GAAO6P,IAA4B;;UAElD3P,GAAWA,EAAMywC,WAAa,UAAY;YACxCzwC,GAAWA,EAAM0wC,SAAW,KAAO;gBAC/B1wC,GAAWA,EAAM0wC,SAAW,KAAO;WACxC1wC,GAAWA,EAAMywC,WAAa,UAAY;iBC1D/C,MAAM4/I,GAAyBrwL,IACrC,MAAM,UACLswL,EAAS,SACTC,GACGvwL,EAEEyB,GAAWC,EAAAA,EAAAA,MACXqyC,GAAUvyC,EAAAA,EAAAA,QAAuB,OAEjC,SAAE3I,EAAQ,YAAEotB,IAAgBnkB,EAAAA,EAAAA,KAAaC,GAAwBA,KACjE,OAAE7H,GAAWrB,GACb,qBAAEstF,GAAyBlgE,GAG1BwrK,EAAcC,IAAmBjxL,EAAAA,EAAAA,UAAgB,OACjDkxL,EAAkBC,IAAuBnxL,EAAAA,EAAAA,WAAkB,IAC3DoxL,EAAcC,IAAmBrxL,EAAAA,EAAAA,WAAkB,GAEpDimC,EAAQC,IAAM,IAAIN,OACjB0rJ,EAAUC,IAAevxL,EAAAA,EAAAA,UAAgBimC,IACzCurJ,EAAQC,IAAazxL,EAAAA,EAAAA,UAAgBimC,IACrC2M,EAAaC,IAAkB7yC,EAAAA,EAAAA,UAAgBvG,EAAOo2L,GAAa3pJ,IAAMzsC,EAAOo2L,GAAY,cAAgB,OAC5G6B,EAAeC,IAAoB3xL,EAAAA,EAAAA,UAAwC,KAC3E4xL,EAAWC,IAAgB7xL,EAAAA,EAAAA,UAAgB4yC,IAE3Ck/I,EAAeC,IAAoB/xL,EAAAA,EAAAA,UAAS,KAC5CgyL,EAAcC,IAAmBjyL,EAAAA,EAAAA,UAAS,KAC1CkyL,EAAmBC,IAAwBnyL,EAAAA,EAAAA,UAAiB,KAC5DoyL,EAAkBC,IAAuBryL,EAAAA,EAAAA,UAAiB,KAC1DsyL,EAAYC,IAAiBvyL,EAAAA,EAAAA,UAAiB,IAC9CwyL,EAAcC,IAAmBzyL,EAAAA,EAAAA,WAAkB,IAG1DkC,EAAAA,EAAAA,YAAU,KACTwwL,EAAYzsJ,EAAM,GAChB,KAKH/jC,EAAAA,EAAAA,YAAU,KACLovL,GAAYE,GAAU5+I,GAAeg/I,GACxCe,G,GAEC,CAACrB,EAAUE,EAAQ5+I,EAAag/I,IAEnC,MAAMc,EAAcxgM,UACnB,MAAM0gM,QAAkBp+L,EAAAA,GAAAA,IAAwBkxF,EAAqB8M,mBAAoBqgG,EAAMhiK,OAAO,QAASgiK,EAAMhiK,OAAO,OACtH+gB,QAAkBp9C,EAAAA,GAAAA,IAAwBkxF,EAAqB8M,mBAAoBqgG,EAAMjvJ,IAAI,EAAG,SAAS/S,OAAO,QAASgiK,EAAMjvJ,IAAI,EAAG,SAAS/S,OAAO,OAE5J,IAAIzlB,EAAM,KACNsmL,EAAgB,GACpB,GAAIkB,GAAaA,EAAUl3L,OAAS,EACnC0P,EAAM0nL,EAAUF,EAAU,GAAG79I,MAC7B28I,EAAgBkB,EAAUlmL,OAAOklC,QAE7B,GAAIA,GAAaA,EAAUl2C,OAAS,EAAG,CAC3C0P,EAAM0nL,EAAUlhJ,EAAU,GAAGmD,MAC7B,MAAMg+I,QAAqBv+L,EAAAA,GAAAA,IAAwBkxF,EAAqB8M,mBAAoBqgG,EAAMjvJ,IAAI,EAAG,SAAS/S,OAAO,QAASgiK,EAAMjvJ,IAAI,EAAG,SAAS/S,OAAO,OAC/J6gK,EAAgB9/I,EAAUllC,OAAOqmL,E,CAGlCpB,EAAiBD,GACjBH,EAAYnmL,GACZqmL,EAAUqB,EAAUpB,EAAcA,EAAch2L,OAAS,GAAGq5C,OAC5DlC,EAAep5C,EAAOo2L,GAAaiD,EAAUr5L,EAAOo2L,IAAczkL,GAClEymL,EAAap4L,EAAOo2L,GAAaiD,EAAUr5L,EAAOo2L,IAAczkL,EAAI,EAG/DunL,EAAsBA,KAC3B,IAAIl+L,EAAOgwB,OAAOmtK,EAAU/gK,OAAO,SAC/Bn8B,EAAQ+vB,OAAOmtK,EAAU/gK,OAAO,MAAQ,EAE5C,MAAMmjB,EAAkB9N,MAAQzxC,KAAKA,GAAMC,MAAMA,GAAOqgD,KAAK,GACvDE,EAAiBjB,EAAgBnjB,OAAO,KACxCmkB,EAAc9O,MAAQzxC,KAAKA,GAAMC,MAAMA,GAAOsgD,cAEpD,IAAIg+I,EAAiB,GAIpBA,EADsB,MAAnB/9I,EACO,IAAIlhB,MAAM,GAAGhK,KAAK,IAElB,IAAIgK,MAAMqR,SAAS6P,GAAkB,GAAGlrB,KAAK,IAGxD,IAAI3e,EAAM4oC,EAEV,IAAK,IAAIriD,EAAI,EAAGA,GAAKqjD,EAAarjD,IAAK,CACtC,MAAM4uC,IAAWqS,GAAcA,EAAYqgJ,OAAO7nL,EAAK,OACvD4nL,EAAQ39L,KAAK69L,EAAa9nL,EAAKm1B,IAE/Bn1B,EAAMA,EAAIw4B,IAAI,EAAG,M,CAGlBqtJ,EAAgB+B,EAAQ,EAInBE,EAAe,SAACL,GAAgC,IAAlB9rJ,EAAM1J,UAAA3hC,OAAA,QAAA5F,IAAAunC,UAAA,IAAAA,UAAA,GAQzC,MAPoB,CACnB+X,UAAWy9I,EAAMhiK,OAAO,KACxBwkB,aAAcw9I,EAAMhiK,OAAO,KAC3BkkB,KAAM89I,EAAMhiK,OAAO,cACnBrxB,SAAU2zL,GAAcN,GACxB9rJ,OAAQA,EAGV,EAEM+rJ,EAAahpF,GACX5jE,IAAM4jE,EAAK,cAGbqpF,GAAiBN,MAClBrB,IAAUqB,EAAMO,QAAQ5B,EAAQ,YAG3BqB,EAAMQ,SAAS/B,EAAU,SAG1BI,EAAc10K,MAAK6B,GAAQA,EAAKk2B,OAAS89I,EAAMhiK,OAAO,iBAGzDyiK,GAAkBjtI,GAClBurI,EAGIvrI,EAAI,EACLurI,EAAUhuJ,IAAIyiB,EAAG,SAEhBA,EAAI,EACLurI,EAAUxrJ,UAAe,EAANigB,EAAU,SAG7BurI,EATA3rJ,EAaHstJ,GAAmB7xL,IACxBA,EAAE6B,iBACE6tL,GAAcS,EAAayB,GAAe,GAAG,EAG5CE,GAAuB9xL,IAC5BA,EAAE6B,iBACE2tL,GAAkBW,EAAayB,IAAgB,GAAG,GASvDpxL,EAAAA,EAAAA,YAAU,KACL0wC,GACH5xC,EAAS,CAAE3K,KAAM,gBAAiBiM,QAAS,CAAE,CAACutL,GAAYj9I,EAAY/hB,OAAO,gB,GAE5E,CAAC+hB,KAEJ1wC,EAAAA,EAAAA,YAAU,KACL0vL,GAAaN,GAAYE,IAC5BL,EAAoBG,EAAS+B,SAASzB,EAAW,UACjDP,EAAgBG,EAAO4B,QAAQxB,EAAW,U,GAEzC,CAACA,EAAWN,EAAUE,KAKzBtvL,EAAAA,EAAAA,YAAU,KACL0wC,GACH6gJ,GAAmB7gJ,E,GAElB,CAACA,IAEJ,MAAM6gJ,GAAsBZ,I,MAC3B,MAAMa,EAA6E,QAAvEjhM,EAAGi/L,EAAc58L,MAAK+pB,GAAQA,EAAKk2B,OAAS89I,EAAMhiK,OAAO,uBAAc,IAAAp+B,OAAA,EAAAA,EAAEihM,OAEjFA,GACHC,GAAcD,GAGXj6L,EAAOq2L,IAAa5pJ,IAAMzsC,EAAOq2L,GAAW,MAAMsD,QAAQltJ,IAAM,KAAM,QACzEqsJ,EAAc,E,EAIVoB,GAAiBD,IACtB,MAAMt9I,EAAS,GACTG,EAAQ,GAEdm9I,EAAOp7L,SAAQs7L,IACAC,GAAkBD,EAAM7nL,KAAM6nL,EAAMhkI,IAC5Ct3D,SAAQuT,IACAq6B,IAAM,cAAcr6B,EAAKnL,SAC7B2yL,SAASntJ,IAAM,qBACvBkQ,EAAO/gD,KAAKwW,GAEZ0qC,EAAMlhD,KAAKwW,E,GAEX,IAGCuqC,EAAO16C,OAAS,EACnBy2L,EAAqB,4DAGrBA,EAAqB,6BAGlB57I,EAAM76C,OAAS,EAClB22L,EAAoB,4DAGpBA,EAAoB,6BAGrBN,EAAiB37I,GACjB67I,EAAgB17I,EAAM,EAGjBs9I,GAAoBA,CAAC9nL,EAAM6jD,KAChC,MAAMpZ,EAAQ,GACd,IAAI70C,EAAUukC,IAAM,cAAcn6B,KAClC,MAAMmjI,EAAMhpG,IAAM,cAAc0pB,KAEhC,KAAOjuD,EAAQ0xL,SAASnkD,IAAM,CAC7B,MAAMxuI,EAAQiB,EAAQkvB,OAAO,SAC7B2lB,EAAMnhD,KAAK,CAAEqL,QAAOH,MAAOG,IAC3BiB,EAAUA,EAAQiiC,IAAI,GAAI,S,CAG3B,OAAO4S,CAAK,EAGPs9I,GAAqBA,KAC1BrB,GAAgB,GAChBlwL,YAAW,KACVkwL,GAAgB,EAAM,GACpB,IAAI,EASR,OACC7yL,IAAAA,cAACuT,EAAAA,GAAM,CAAC1Q,WAAY,CACnB,CAACkI,EAAAA,GAAY0I,SAAU,CACtB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAYmJ,MAAO,CACnB,CAAE/d,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,MAIvB1T,IAAAA,cAACixL,GAAmB,KACnBjxL,IAAAA,cAAC4vC,GAAsB,CAAC1mC,UAAU,4BACjClJ,IAAAA,cAACmE,EAAAA,EAAG,CACHE,IAAI,SACJC,SAAS,WACTnB,QAASywL,GACTh0L,UAAW0xL,EACXh+K,UAAU,aACV9O,KAAMxE,IAAAA,cAACg4C,GAAAA,EAAW,QAEnBh4C,IAAAA,cAAC6K,GAAAA,EAAiB,CAACI,IAAKF,EAAAA,GAAYmJ,MACnClU,IAAAA,cAACmwC,GAAU,CACVhtC,QAASywL,GACTxjJ,YAAakhJ,GAEZoC,IAAgB,GAAGx9I,OAAO,MAAMjlB,OAAO,UAG1CjxB,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,EAACxD,WAAYC,EAAAA,GAAoBC,SAC1C/C,IAAAA,cAACmwC,GAAU,CAACC,YAAY,EAAOC,UAAQ,GACrC2hJ,EAAYA,EAAU97I,OAAO,MAAMjlB,OAAO,QAAU,KAAI,IAAG+gK,EAAYA,EAAU/gK,OAAO,QAAU,OAGrGjxB,IAAAA,cAAC6K,GAAAA,EAAiB,CAACI,IAAKF,EAAAA,GAAYmJ,MACnClU,IAAAA,cAACmwC,GAAU,CACVhtC,QAASwwL,GACTvjJ,YAAaohJ,GAEZkC,GAAe,GAAGx9I,OAAO,MAAMjlB,OAAO,UAGzCjxB,IAAAA,cAACmE,EAAAA,EAAG,CACHE,IAAI,SACJC,SAAS,WACTnB,QAASwwL,GACT/zL,UAAW4xL,EACXl+K,UAAU,aACV9O,KAAMxE,IAAAA,cAACi4C,GAAAA,EAAY,SAGrBj4C,IAAAA,cAAC6vC,GAAc,CAAC3mC,UAAU,oBACzBlJ,IAAAA,cAACuT,EAAAA,GAAM,CACN1Q,WAAY,CACX,CAACkI,EAAAA,GAAY0I,SAAU,CACtB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAYC,MAAO,CACnB,CAAE7U,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAYmJ,MAAO,CACnB,CAAE/d,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,KAGxBwkC,OAAQC,EAAAA,EAAaC,WAnVT,CAAC,MAAO,MAAO,MAAO,MAAO,MAAO,MAAO,OAqV7Ct0C,KAAI,CAAC0H,EAAK5S,IACfA,EAAQ,EAEVoH,IAAAA,cAACgwC,GAAkB,KAClBhwC,IAAAA,cAACiwC,GAAU,CAAClsC,IAAKnL,EAAOsQ,UAAU,eACjClJ,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,EAACxD,WAAYC,EAAAA,GAAoBC,SACzCyI,KAOJxL,IAAAA,cAACgwC,GAAkB,KAClBhwC,IAAAA,cAACiwC,GAAU,CAAClsC,IAAKnL,EAAOsQ,UAAU,eACjClJ,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,SACrC/C,IAAAA,cAAC2vC,GAAQ,KAAEnkC,QAOhB4lL,EAAgBA,EAAattL,KAAI,CAAC0H,EAAK5S,IAEtCoH,IAAAA,cAACgwC,GAAkB,KAClBhwC,IAAAA,cAACiwC,GAAU,CACVlsC,IAAKnL,EACLuK,QAAUrB,IACTA,EAAE6B,iBAEG6H,EAAI5L,WACJ8zC,GAAWA,EAAQ3xC,SACtB2xC,EAAQ3xC,QAAQ0rB,eAAe,CAAE4qB,SAAU,WA9O9B7sC,KACxBynC,EAAeigJ,EAAU1nL,EAAI2pC,OAC7B++I,KACAL,GAAmBX,EAAU1nL,EAAI2pC,MAAM,EA6O7Bg/I,CAAgB3oL,G,EAGlB27B,OAAQ37B,EAAI27B,OACZvnC,SAAU4L,EAAI5L,SACdsJ,UAAU,eAEVlJ,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,QAASC,MAAOC,EAAAA,GAAe4lC,SACnEr9B,EAAIgqC,eAMN,QAMPx1C,IAAAA,cAACkxL,GAAe,KACflxL,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,QAAS+G,UAAWC,EAAAA,GAAciK,QAAM,gCAG9EhU,IAAAA,cAACmxL,GAAc,KACdnxL,IAAAA,cAAA,OAAKmD,QAAUrB,IACdA,EAAE6B,gBAAgB,GAGlB3D,IAAAA,cAACo5C,GAAAA,EAAI,CAACC,SAAS,UAAUL,aAAc05I,EAAYhuL,QAAQ,aAAa0vL,uBAAuB,SAC9F3wL,SAAW7K,IA/KWA,KAC3B+5L,EAAc/5L,GACds7L,IAAoB,EA8KdG,CAAmBz7L,EAAM,GAGzB,CACA2R,MAAOvK,IAAAA,cAAC4C,EAAAA,GAAI,eACZ3O,QACA+L,IAAAA,cAACuT,EAAAA,GAAM,CAACC,yBAAuB,EAAC3Q,WAAY,CAAC,CAACkI,EAAAA,GAAY0I,SAAU,CAAC,CAAEtd,KAAM,IAAKud,QAAS,OAC1F1T,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAACyH,EAAAA,GAAoB,CAAC2kB,MAAOwmK,EAAclrL,UAAWwqL,EAAe/7L,KAAM+5L,IAC3ElwL,IAAAA,cAACsF,EAAAA,EAAS,CAACE,QAAS,CAAEC,IAAKC,EAAAA,EAAiBa,YAC3CvG,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,SAAS/C,IAAAA,cAACuO,GAAAA,EAAI,CAAC7J,QAAQ,UAAU,IAAE4tL,MAI5EvuL,IAAK,UAEL,CACAwG,MAAOvK,IAAAA,cAAC4C,EAAAA,GAAI,cACZ3O,QACA+L,IAAAA,cAACuT,EAAAA,GAAM,CAACC,yBAAuB,EAAC3Q,WAAY,CAAC,CAACkI,EAAAA,GAAY0I,SAAU,CAAC,CAAEtd,KAAM,IAAKud,QAAS,OAC1F1T,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAACyH,EAAAA,GAAoB,CAAC2kB,MAAOwmK,EAAclrL,UAAW0qL,EAAcj8L,KAAM+5L,IAC1ElwL,IAAAA,cAACsF,EAAAA,EAAS,CAACE,QAAS,CAAEC,IAAKC,EAAAA,EAAiBa,YAC3CvG,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,SAAS/C,IAAAA,cAACuO,GAAAA,EAAI,CAAC7J,QAAQ,UAAU,IAAE8tL,MAI5EzuL,IAAK,aAMF,ECveL7P,GAAY,IAAIC,gBAAgBC,OAAOC,SAASC,QAChD+G,GAAUnH,GAAUvB,IAAI,WACxBi8F,GAAS16F,GAAUvB,IAAI,UACvBg8F,GAAUz6F,GAAUvB,IAAI,YAExB,GAAEs9F,GAAE,MAAE5pD,GAAK,IAAE5xC,GAAG,OAAE07F,KAAWH,EAAAA,EAAAA,KAEtB04E,GAAoBA,CAACp4J,EAAoB80H,EAAsBnyD,EAAwBoyD,KAE5F,CACN,qBAAsB,4CACtB,wBAAyB,kDACzB,oBAAqB5wI,GACrB,+BAAgC4xC,GAChC,wBAAyB,sBACzB,0BAA2B,WAC3B,8BAA+B8pD,GAC/B,gCAAiCF,GACjC,mBAAoB50F,GACpB,qBAAsB,4CACtB,qBAAsBgqI,EAAQiH,wBAE9B,oBAAqB,aACrB,kCAAmCr5D,aAAY,EAAZA,EAAc0f,GACjD,oCAAqC1f,aAAY,EAAZA,EAAcv4D,uBACnD,oCAAqCu4D,aAAY,EAAZA,EAAc2f,mBACnD,0CAA0C3f,aAAY,EAAZA,EAAcv0B,cAAc8kF,EAAAA,GAAAA,IAAavwD,aAAY,EAAZA,EAAcv0B,aAAe,GAChH,2BAA4B0mF,aAAS,EAATA,EAAWztC,KACvC,2BAA4BytC,aAAS,EAATA,EAAWyB,0BACvC,2BAA4BzB,aAAS,EAATA,EAAW0B,mBACvC,sBAAuBx2H,aAAQ,EAARA,EAAU8tH,UACjC,2BAA4B9tH,aAAQ,EAARA,EAAU+tH,SACtC,2BAA4B/tH,aAAQ,EAARA,EAAU0uH,WACtC,8BAA+B1uH,aAAQ,EAARA,EAAU4uH,kBACzC,uBAAwB5uH,aAAQ,EAARA,EAAU2uH,YAClC,mCAAmCsF,EAAAA,GAAAA,IAAiBj0H,aAAQ,EAARA,EAAUq2H,qBAAsB,UACpF,4BAA4BpC,EAAAA,GAAAA,IAAiBj0H,aAAQ,EAARA,EAAUq2H,qBAAsB,cAC7E,uCAAuCC,EAAAA,GAAAA,KAAiBrC,EAAAA,GAAAA,IAAiBj0H,aAAQ,EAARA,EAAUq2H,qBAAsB,cACzG,2BAA4Bh4C,GAE5B,6BAA8B,OAC9B,oCAAqC,QACrC,qBAAgC,WAAVC,GAAsB,OAAS,UC7BjD,SAAUghG,GAA2BjwL,GAC1C,MAAM,YACLk/H,EAAW,SACXvuH,EAAQ,UACR80H,EAAS,SACTjB,EAAQ,QACRkB,GACG1lI,EACEyB,GAAWC,EAAAA,EAAAA,OACX,SAAE7I,IAAaiJ,EAAAA,EAAAA,KAAaC,GAAwBA,KACpD,OAAE7H,GAAWrB,GACZm5H,EAAM2iE,IAAWl0L,EAAAA,EAAAA,WAAS,IAC1Bm0L,EAAMC,IAAWp0L,EAAAA,EAAAA,WAAS,IA2BjCkC,EAAAA,EAAAA,YAAU,KACL6hI,IAAaxS,IAxBjB2iE,GAAQ,GACD,IAAIrmI,SAAa37D,MAAO47D,EAASC,K,QAEvC,MAAMr7D,EAAO41K,GAAkBp4J,EAAU80H,EAAWjB,EAAUkB,GAE9DvyI,EAAK,4BAA8B,QACnCA,EAAK,iCAAmC+G,EAAO8X,IAAM9X,EAAO8X,IAAM,eAClE7e,EAAK,uCAAyC+G,EAAO6X,KAAO7X,EAAO6X,KAAO,eAE1E,MAAM6sH,EAAkBjqG,KAAKC,UAAUzhC,GACjC0rI,EAAalqG,KAAKb,MAAM8qG,GACxB/lI,GAAWimI,EAAAA,EAAAA,IAAgBD,GAC3BlpI,QAAiB4D,EAAAA,EAAAA,IAAmBV,GAEtClD,GAA2C,MAAV,QAArB8pB,EAAa,QAAbvsB,EAAAyC,EAASxC,YAAI,IAAAD,OAAA,EAAAA,EAAEwG,cAAM,IAAA+lB,OAAA,EAAAA,EAAEppB,OACtCoL,EAAS,CAAE3K,KAAM,oBAAqBiM,QAASpN,EAASxC,OACxD0hM,GAAQ,IAER31D,G,IAM+B,GAC/B,CAACsF,IAEJ,MAAMh7G,EAAWnpB,IAAAA,cAAAA,IAAAA,SAAA,gGACwEA,IAAAA,cAACmE,EAAAA,EAAG,CAACE,IAAI,IAAIC,SAAS,WAAWQ,KAAK,wEAAsE,gBAAmB,2BAGlNygE,EAAgB,CACrBh7D,MAAOvK,IAAAA,cAACwoB,EAAAA,GAAa,CAACrf,WAAS,EAACuf,cAAc,gBAC9C7uB,OAAQmG,IAAAA,cAACkpB,EAAAA,GAAc,CAAC/f,WAAS,EAACggB,SAAUA,KAG7C,OACCorK,EAAOv0L,IAAAA,cAAC+oF,EAAAA,EAAgB,CACvBC,WAAW,cACXz+E,MAAOg7D,EAAOh7D,MACd1Q,OAAQ0rE,EAAO1rE,OACfkK,IAAK,IACLg9E,wBAAsB,EACtBC,cAAc,IACV,IAEP,CC1EA,MAAM+/C,GAA6BthI,EAAAA,GAAOC,GAAG,GAKhCywL,GAAiCxwL,IAC7C,MAAMyB,GAAWC,EAAAA,EAAAA,MAQjB,OANAiB,EAAAA,EAAAA,YAAU,KACsB,YAA3B3C,EAAM2Q,SAASG,SAClBrP,EAAS,CAAE3K,KAAM,gBAAiBiM,QAAS,CAAEgP,KAAM,eAAgBqxH,IAAK,iB,GAEvE,CAACpjI,EAAM2Q,WAGTtQ,IAAAA,cAAC+gI,GAA0B,KAC1B/gI,IAAAA,cAACuT,EAAAA,GAAM,CACNC,yBAAuB,EACvB3Q,WAAY,CACX,CAACkI,EAAAA,GAAY0I,SAAU,CACtB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAYmJ,MAAO,CACnB,CAAE/d,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAYiT,OAAQ,CACpB,CAAE7nB,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAY4I,OAAQ,CACpB,CAAExd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAYkT,OAAQ,CACpB,CAAE9nB,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,MAII,YAA3B/T,EAAM2Q,SAASG,QACfzQ,IAAAA,cAAA,OAAK2K,MAAO,CAAE4G,cAAe,SAC5BvR,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,aACrCtG,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,aAAc,kBAI1BrG,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,aAAW,kBACjCtG,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,wBAAyB,4BAEnDrG,IAAAA,cAAC8P,EAAAA,GAAgB,CAACF,WAAW,EAAO/P,WAAW,UAIjDG,IAAAA,cAACggB,EAAAA,GAAkB,MAEnBhgB,IAAAA,cAAC8W,EAAAA,GAAc,CACdG,YAAY,wBACZF,QAAQ,qBACRC,OAAO,qFAGmB,EC9DlB45K,GAA6BjxL,IACzC,MAAM,UAAEylI,GAAczlI,GAChB,SAAE6B,EAAQ,SAAEhJ,IAAaiJ,EAAAA,EAAAA,KAAaC,GAAwBA,KAC9D,aAAEszF,GAAiBxzF,GACnB,OAAE3H,GAAWrB,EAEb8I,GAAkBC,EAAAA,EAAAA,sBAClBH,GAAWC,EAAAA,EAAAA,OAEjBiB,EAAAA,EAAAA,YAAU,KAET,MAAM09H,EAAsBx+H,EAAS85E,gBAErCl6E,EAAS,CAAE3K,KAAM,qBAAsBiM,SAAS,IAChDtB,EAAS,CAAE3K,KAAM,gBAAiBiM,QAAS,CAAEuhC,KAAM,CAAE/7B,YAAa83H,EAAqB7pI,KAAM,eAE7FmL,EAAgBs3F,sCACf,CACCv1F,eAAWnN,IAEZ6+F,EAAAA,EAAAA,iBAAgBC,GAChB,GACC,IAEH,MACMy/F,EAAY,oBADAnuJ,IAAMzsC,EAAO22L,UAAW,cAAcv/J,OAAO,cACX,UAAYp3B,EAAO42L,SAAW,IAC5EtnK,EAAWnpB,IAAAA,cAAAA,IAAAA,SAAA,+EACwDolI,EAAY,6CAA+CA,EAAU0B,mBAAqB,GAAE,KAG/JvhE,EAAgB,CACrBh7D,MAAOvK,IAAAA,cAACwoB,EAAAA,GAAa,CAACrf,WAAS,EAACuf,cAAe+rK,IAC/C56L,OAAQmG,IAAAA,cAACkpB,EAAAA,GAAc,CAAC/f,WAAS,EAACggB,SAAUA,KAE7C,OACCnpB,IAAAA,cAAC+oF,EAAAA,EAAgB,CAChBC,WAAW,cACXz+E,MAAOg7D,EAAOh7D,MACd1Q,OAAQ0rE,EAAO1rE,OACfkK,IAAK,IACLg9E,wBAAsB,EACtBC,cAAc,GACb,EC1CE,SAAU0zG,KACf,MAAO36K,EAASu0B,IAAcluC,EAAAA,EAAAA,WAAS,IAChClN,EAAOsU,IAAYpH,EAAAA,EAAAA,WAAS,IAC5BukI,EAAOC,IAAYxkI,EAAAA,EAAAA,WAAS,IAE5BkQ,EAAUg/K,IAAelvL,EAAAA,EAAAA,UAAS,OAClCglI,EAAWmqD,IAAgBnvL,EAAAA,EAAAA,UAAS,OACpC+jI,EAAUqrD,IAAepvL,EAAAA,EAAAA,UAAS,OAClCilI,EAASqmB,IAActrJ,EAAAA,EAAAA,UAAS,MAEjCmuC,GAAiB59B,EAAAA,EAAAA,sBAAqB,mBAmCtCkuH,EAAe9nI,IACpByQ,GAAS,GACT8mC,GAAW,GACPv3C,GACH9D,QAAQC,MAAM6D,E,EAqBhB,OAjBAuL,EAAAA,EAAAA,YAAU,KACsBisC,EAAeM,iBAEvBC,UAAU,CAChCC,IAAAA,CAAKpuC,GAEL,EACAzN,KAAAA,CAAMiH,GACLlH,QAAQC,MAAMiH,GACd0kI,GACD,EACA7vF,QAAAA,GAnDqB18C,WACtB,MAAMk5F,EAAUj9C,EAAeq9C,aAE/B,GAAwB,OAApBJ,EAAQnwF,SAAoBmwF,EAAQnwF,QAAQ8yF,gBAAkB3C,EAAQnwF,QAAQK,aACjFmjI,SACM,GAAIrzC,EAAQnwF,QAAQI,YAC1BmpI,GAAS,GACTt2F,GAAW,OACL,CAMN,GALAghJ,GAAYj6F,EAAAA,GAAAA,GAAoB7J,EAAS,WACzC+jG,GAAal6F,EAAAA,GAAAA,GAAoB7J,EAAS,YAC1CgkG,GAAYn6F,EAAAA,GAAAA,GAAoB7J,EAAS,WACzCkgE,GAAWr2D,EAAAA,GAAAA,GAAoB7J,EAAS,UAEpCA,EAAQz4F,OAAQ,CACnB,MAAMqxI,QAAyBjxI,EAAAA,EAAAA,IAAiB,4CAA6C,mCAC7F,GAAIixI,EAAiBtoI,OAAS,EAAG,CAChC,IAAIk4E,EAAgBowD,EAAiBtgI,KAAKugI,IAAWC,EAAAA,GAAAA,GAAcD,EAAOnlH,cAC1E80D,EAAgBA,EAAct3E,QAAQ2nI,GAAWA,EAAOzxC,oBAAsBpH,EAAQz4F,SAClFihF,EAAcl4E,OAAS,GAC1B0zL,EAAYx7G,EAAc,G,MAI3B6qD,EAAY,0B,CAIdvwF,GAAW,E,CACX,EAuBCwwF,EACD,GACC,GACA,IAEC/kH,EACI/Z,IAAAA,cAACmoB,EAAAA,GAAgB,MACdj1B,EAET8M,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAAC+rC,EAAAA,GAAiB,CACjBxhC,MAAM,qBACNyhC,SAAS,2DACTC,SAAS,aACTC,YAAY,EACZ1nC,MAAM,EACN2E,WAAW,KAIJw7H,EAET3kI,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAAC+rC,EAAAA,GAAiB,CACjBxhC,MAAM,4CACNyhC,SAAS,mFACTC,SAAS,wBACTE,QAAQ,IACRC,QAAQ,qDACR5nC,MAAM,EACN2E,WAAW,KAObnJ,IAAAA,cAAC20L,GAA+B,CAC/B91D,YAAaA,EACbvuH,SAAUA,EACV80H,UAAWA,EACXjB,SAAUA,EACVkB,QAASA,GAIb,CCpGM,SAAUsvD,GAAgCh1L,GAC/C,MAAM,YACLk/H,EAAW,SACXvuH,EAAQ,UACR80H,EAAS,SACTjB,EAAQ,QACRkB,GACG1lI,GACE,eAAEg/E,EAAc,eAAElsE,IAAmBvO,EAAAA,EAAAA,qBACrCgB,GAAQC,EAAAA,EAAAA,MACR/D,GAAWC,EAAAA,EAAAA,OACV0Y,EAASu0B,IAAcluC,EAAAA,EAAAA,WAAS,GAEjClM,EAAY,IAAIC,gBAAgBC,OAAOC,SAASC,QAChDs6F,EAAS16F,EAAUvB,IAAI,UACvBg8F,EAAUz6F,EAAUvB,IAAI,WACxB0I,EAAUnH,EAAUvB,IAAI,WACxB8yF,EAASvxF,EAAUvB,IAAI,WAEvB,SAAE6F,IAAaiJ,EAAAA,EAAAA,KAAaC,GAAwBA,KACpD,gBAAEwkI,GAAoB1tI,EAASqB,OAE/B+xI,EAAyB,CAC9B,CACCjrI,MAAO,IACPG,MAAO,mRACPmsB,KAAM,4HAEP,CACCtsB,MAAO,IACPG,MAAO,yGACPmsB,KAAM,oHAEP,CACCtsB,MAAO,IACPG,MAAO,6DACPmsB,KAAM,wLAIR,IAAIr0B,EAAQ,EACZ,MAAMuiF,EAAiB,CACtB,CACC5wE,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,iBACVrG,IAAAA,cAAC4C,EAAAA,GAAI,6CAGP/I,OAAQmG,IAAAA,cAAC8pF,EAAAA,GAA4B,CAACliE,QAAS5nB,IAAAA,cAACmU,EAAAA,GAAa,CAACrT,MAAM,iBAAiB3K,KAAK,WAAWoe,kBAAmB,QACxHrM,YAAatP,IACbzC,KAAM,WACNsxF,QAAS,CAAC,YACVY,YAAa,CAAC,aAEf,CACC99E,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,iDAC0CA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,mEAA8D89H,aAAQ,EAARA,EAAUzpH,yBAAyBgsE,EAAAA,GAAAA,IAAay9C,EAASzpH,wBAA0B,GAAE,6EAGxM7gB,OAAQmG,IAAAA,cAAC8pF,EAAAA,GAA4B,CAACliE,QAAS5nB,IAAAA,cAAC0sB,GAAAA,EAAc,CAACv2B,KAAK,kBAAkBG,QAASs1I,MAC/F1jI,YAAatP,IACbzC,KAAM,kBACNsxF,QAAS,CAAC,mBACVY,YAAa,CAAC,mBACd1C,KAAMimD,GAEP,CACCrhI,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,mBACYA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,wCAGvBxM,OACCmG,IAAAA,cAAC8pF,EAAAA,GAA4B,CAC5BliE,QACC5nB,IAAAA,cAAA,OAAK2K,MAAO,CAAE4G,cAAe,QAC5BvR,IAAAA,cAAC6f,EAAAA,GAAsB,SAK3B3X,YAAatP,IACbzC,KAAM,kBACNsxF,QAAS,CAAC,OAAQ,UAAW,iBAC7BY,YAAa,CAAC,OAAQ,UAAW,kBAElC,CACCxuF,OAAQmG,IAAAA,cAACmwL,GAA6B,CAAC7/K,SAAUA,IACjDpI,YAAatP,IACbzC,KAAM,eACNsxF,QAAS,CAAC,gBACVY,YAAa,CAAC,mBAIhB/lF,EAAAA,EAAAA,YAAU,KACJ4jI,IAGmB,MAApBA,EACHqC,EAAS,CAAC,oBAEVG,EAAY,CAAC,oB,GAEZ,CAACxC,IAUJ,MA0BMqC,EAAYV,IACjBv5F,GAAW,GAEX,MAAMk6F,EA7BkBZ,EACxBC,EACAC,KAEA,MAAQ3sD,MAAO4sD,EAAW,YAAE7/H,GAAgBhD,EAAME,WAAW5D,SACvDwmI,EAAaF,GAAsCC,EAEnDE,EAAiBJ,EACrBr+B,UACA1lG,KAAKmgC,IAASikG,EAAAA,EAAAA,IAAgBF,EAAY/jG,KAC5C,IAAI47F,EAAW,IAAImI,GAanB,OAXAC,EAAevvI,SAAQ,CAACE,EAAO7G,MACf,IAAX6G,IACHinI,GAAWsI,EAAAA,EAAAA,IACVhtD,EACA6sD,EACAH,EAAW91I,GACXmW,G,KAIgBogI,EAAAA,EAAAA,IAAsBzI,EACxB,EAME+H,CAAiBC,GACpCY,EAAYD,GACZ/1H,IAEA67B,GAAW,EAAM,EAGZo6F,EAAeC,IACpB,MAAM,MAAExtD,GAAUj2E,EAAME,WAAW5D,SACnC8sC,GAAW,GACX,MAAMk6F,GAAaI,EAAAA,EAAAA,IAClBztD,EACAwtD,GAEDF,EAAYD,GACZl6F,GAAW,EAAM,EAGZm6F,EAAettD,IACpB/5E,EAAS,CAAE3K,KAAM,eAAgBiM,QAASy4E,IAC1C/5E,EAAS,CAAE3K,KAAM,mBAAoBiM,QAASy4E,EAAMA,EAAMr/E,OAAS,KACnEsF,EAAS,CAAE3K,KAAM,wBAAyBiM,QAASy4E,EAAMr/E,QAAS,EAK7D84L,EAA0D,CAC/D5gM,QAAS,CAAC,EACV6F,OAAQ,CACPwL,SAAU,iCACV4M,SAAU,YACVslF,aAAc,cAKhBj1F,EAAAA,EAAAA,YAAU,KACL6hI,GAAU0nD,GAAe,GAC3B,CAAC1nD,IAEJ,MAAM0nD,EAAgBv5L,gBACAmsF,GAAS,IAG7BogD,IAEDvwF,GAAW,EAAM,EAGZmwC,EAAYtlF,IACjB,MAAM,SAAEX,GAA2B0M,EAAME,YACnC,OAAEvL,GAAWrB,EAEnB,OAAO,IAAIy1D,SAAa37D,MAAO47D,EAASC,K,QACvC,MAAM,GAAE8hC,EAAE,MAAE5pD,EAAK,IAAE5xC,EAAG,OAAE07F,IAAWH,EAAAA,EAAAA,KAE7Bl9F,EAAO,CACZ,qBAAsB,4CACtB,wBAAyB,kDACzB,oBAAqB2B,EACrB,+BAAgC4xC,EAChC,wBAAyB,iCACzB,0BAA2B,WAC3B,8BAA+B8pD,EAC/B,gCAAiCF,EACjC,qBAAsB,4CACtB,qBAAsBo1C,EAAQiH,wBAE9B,oBAAqB,aACrB,kCAAmCnI,aAAQ,EAARA,EAAUxxC,GAC7C,oCAAqCwxC,aAAQ,EAARA,EAAUzpH,uBAC/C,oCAAqCypH,aAAQ,EAARA,EAAUvxC,mBAC/C,0CAA0CuxC,aAAQ,EAARA,EAAUzlF,cAAc8kF,EAAAA,GAAAA,IAAaW,aAAQ,EAARA,EAAUzlF,aAAe,GACxG,2BAA4B0mF,aAAS,EAATA,EAAWztC,KACvC,2BAA4BytC,aAAS,EAATA,EAAWyB,0BACvC,2BAA4BzB,aAAS,EAATA,EAAW0B,mBACvC,sBAAuBjtI,EAAO1D,KAAO0D,EAAO1D,KAAOma,aAAQ,EAARA,EAAU8tH,UAC7D,2BAA4BvkI,EAAO1D,KAAO0D,EAAO1D,KAAOma,aAAQ,EAARA,EAAU+tH,SAClE,2BAA4BxkI,EAAO8lI,cAAgB9lI,EAAO8lI,cAAgBrvH,aAAQ,EAARA,EAAU0uH,WACpF,8BAA+B1uH,aAAQ,EAARA,EAAU4uH,kBACzC,uBAAwB5uH,aAAQ,EAARA,EAAU2uH,YAClC,mCAAmCsF,EAAAA,GAAAA,IAAiBj0H,aAAQ,EAARA,EAAUq2H,qBAAsB,UACpF,4BAA4BpC,EAAAA,GAAAA,IAAiBj0H,aAAQ,EAARA,EAAUq2H,qBAAsB,cAC7E,uCAAuCC,EAAAA,GAAAA,KAAiBrC,EAAAA,GAAAA,IAAiBj0H,aAAQ,EAARA,EAAUq2H,qBAAsB,cACzG,gCAAiC9sI,EAAO8X,IAAM9X,EAAO8X,IAAM,eAC3D,sCAAuC9X,EAAO6X,KAAO7X,EAAO6X,KAAO,eACnE,2BAA4B+zE,EAC5B,2BAA4BkJ,EAE5B,6BAA8B,OAC9B,oCAAqC,QACrC,qBAAgC,WAAVC,EAAsB,OAAS,SAGlDy2C,EAAQwvD,2BAAkE,QAArCxvD,EAAQwvD,4BAChD/hM,EAAK,4BAA8BuyI,EAAQwvD,2BAGvC17L,IACJrG,EAAK,oBAAsBuI,EAC3BvI,EAAK,sBAAwB,uDAC7BA,EAAK,2BAA6B+G,EAAO26I,SACzC1hJ,EAAK,4BAA6B+G,EAAOqsI,iBAE1C,MAAM3H,EAAkBjqG,KAAKC,UAAUzhC,GACjC0rI,EAAalqG,KAAKb,MAAM8qG,GACxB/lI,GAAWimI,EAAAA,EAAAA,IAAgBD,GAC3BlpI,QAAiB4D,EAAAA,EAAAA,IAAmBV,GAEtClD,GAA2C,MAAV,QAArB8pB,EAAa,QAAbvsB,EAAAyC,EAASxC,YAAI,IAAAD,OAAA,EAAAA,EAAEwG,cAAM,IAAA+lB,OAAA,EAAAA,EAAEppB,OACtCoL,EAAS,CAAE3K,KAAM,oBAAqBiM,QAASpN,EAASxC,OACxDo7D,GAAQ,IAERA,GAAQ,E,GAER,EA0CH,OArBA5rD,EAAAA,EAAAA,YAAU,KACT,MAAM,UAAEs9H,EAAS,SAAErkD,EAAQ,aAAEH,EAAY,gBAAEE,EAAe,SAAEukD,GAVrD,CACND,UAAWzkD,EAAM,GACjBI,SAAUJ,EAAMA,EAAMr/E,OAAS,GAC/Bs/E,aAAc,CAAC,GACfE,gBAAiBH,EAAMr/E,OACvB+jI,SAAU,MAOLi1D,EAAqD,CAC1DzrG,aAAa,EACbpO,iBAAkBwD,EAClBH,aAAYshD,EAAUthD,WACtB/C,WACAD,kBACApzE,YAAa03H,EAAU13H,YACvB3E,UAAW,OACX4F,WAAW,EACX8I,SAAU,SACVgyB,KAAM27F,EACNzkD,MAAO0kD,GAAsB1kD,EAC7BC,eACA2O,kBAAmB/pF,IAAAA,cAAC+0L,GAAmC,OAExDp2G,EAAem2G,EAAiCF,EAAgC,GAC9E,CAACzwD,IAEGhpD,IAAUphE,EAAU/Z,IAAAA,cAACo6F,EAAAA,eAAc,CAACjf,MAAOA,EAAO6N,WAAW,gBAAmB,IACxF,CC/TO,MAAM+rG,GAAsCA,KAClD,MAAM,SAAEvzL,IAAaC,EAAAA,EAAAA,KAAaC,GAAwBA,KACpD,aAAEszF,GAAiBxzF,EAEnBF,GAAkBC,EAAAA,EAAAA,sBAClBH,GAAWC,EAAAA,EAAAA,OAEjBiB,EAAAA,EAAAA,YAAU,KAET,MAAM09H,EAAsBx+H,EAAS85E,gBAErCl6E,EAAS,CAAE3K,KAAM,qBAAsBiM,SAAS,IAChDtB,EAAS,CAAE3K,KAAM,gBAAiBiM,QAAS,CAAEuhC,KAAM,CAAE/7B,YAAa83H,EAAqB7pI,KAAM,eAE7FmL,EAAgBs3F,sCACf,CACCv1F,eAAWnN,IAEZ6+F,EAAAA,EAAAA,iBAAgBC,GAChB,GACC,IAEH,MAAM7rE,EAAWnpB,IAAAA,cAAAA,IAAAA,SAAA,wDACgCA,IAAAA,cAACmE,EAAAA,EAAG,CAACE,IAAI,IAAIC,SAAS,WAAWQ,KAAK,oEAAkE,sBAAyB,0BAG5KygE,EAAgB,CACrBh7D,MAAOvK,IAAAA,cAACwoB,EAAAA,GAAa,CAACrf,WAAS,EAACuf,cAAc,cAC9C7uB,OAAQmG,IAAAA,cAACkpB,EAAAA,GAAc,CAAC/f,WAAS,EAACggB,SAAUA,KAE7C,OACCnpB,IAAAA,cAAC+oF,EAAAA,EAAgB,CAChBC,WAAW,cACXz+E,MAAOg7D,EAAOh7D,MACd1Q,OAAQ0rE,EAAO1rE,OACfkK,IAAK,IACLg9E,wBAAsB,EACtBC,cAAc,GACb,ECvCE,SAAU+b,KACd,MAAMh4E,GAAYkB,EAAAA,EAAAA,gBAEZyhK,EAAiB17J,GAEnBhsB,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAACkpF,EAAAA,iBAAgB,CACfC,gBAAiBn9D,EACjBniB,mBAAoBhF,MACpBoD,sBAAuBA,IAAM,KAC7BgK,SAAW,YAMnB,OAAQ8S,aAAS,EAATA,EAAW2pB,UACjB,IAAK,iBACL,IAAK,cACH,OAAOg5I,EAAc1nL,IAAAA,cAAC0kI,GAAAA,cAAa,OACxC,IAAK,uBACJ,OAAOgjD,EAAc1nL,IAAAA,cAACovL,GAA0B,OAC9C,IAAK,gBACH,OAAO1H,EAAc1nL,IAAAA,cAACusL,GAAoB,OAC/C,IAAK,qCACJ,OAAO7E,EAAc1nL,IAAAA,cAACqvL,GAA2B,OAClD,IAAK,qCACJ,OAAO3H,EAAc1nL,IAAAA,cAAC00L,GAAqC,OACzD,IAAK,MACH,OAAOhN,EAAc1nL,IAAAA,cAACszJ,GAAAA,cAAa,OACrC,IAAK,YACH,OAAOo0B,EAAc1nL,IAAAA,cAACknK,GAAAA,mBAAkB,OAC1C,IAAK,gBACH,OAAOwgB,EAAc1nL,IAAAA,cAACsqK,GAAAA,uBAAsB,OAE9C,QACE,MAAM,IAAIzzK,MAAM,uCAEtB,C,qCCtCO,MAAMm+L,GAAmBA,KAC/B,MAAM,SAAExzL,IAAaC,EAAAA,EAAAA,KAAaC,GAAwBA,KACpD,aAAEszF,GAAiBxzF,EAEnBF,GAAkBC,EAAAA,EAAAA,sBAClBH,GAAWC,EAAAA,EAAAA,OAEjBiB,EAAAA,EAAAA,YAAU,KAET,MAAM09H,EAAsBx+H,EAAS85E,gBAErCl6E,EAAS,CAAE3K,KAAM,qBAAsBiM,SAAS,IAChDtB,EAAS,CAAE3K,KAAM,gBAAiBiM,QAAS,CAAEuhC,KAAM,CAAE/7B,YAAa83H,EAAqB7pI,KAAM,eAE7FmL,EAAgBs3F,sCACf,CACCv1F,eAAWnN,IAEZ6+F,EAAAA,EAAAA,iBAAgBC,GAChB,GACC,IAEH,MAAMzvB,EAAgB,CACrBh7D,MAAOvK,IAAAA,cAACwoB,EAAAA,GAAa,CAACrf,WAAS,EAACuf,cAAc,UAAUC,kBAAkB,qBAC1E9uB,OAAQmG,IAAAA,cAACkpB,EAAAA,GAAc,CAAC/f,WAAS,EAACggB,SAAS,qEAE5C,OACCnpB,IAAAA,cAAC+oF,EAAAA,EAAgB,CAChBC,WAAW,cACXz+E,MAAOg7D,EAAOh7D,MACd1Q,OAAQ0rE,EAAO1rE,OACfkK,IAAK,IACLg9E,wBAAsB,EACtBC,cAAc,GACb,ECnCE+/C,GAA6BthI,EAAAA,GAAOC,GAAG;;EAGvCqb,GAAiBtb,EAAAA,GAAOC,GAAG;;;;;;;;;;;EAapBu1L,GAAuBA,MAClB5zL,EAAAA,EAAAA,MAAjB,MACM,OAAExH,IAAW4H,EAAAA,EAAAA,KAAaC,GAAwBA,EAAMlJ,YACvDqqI,EAAaC,IAAkB1iI,EAAAA,EAAAA,UAAS,WAc/C,OACCJ,IAAAA,cAAC+gI,GAA0B,KAC1B/gI,IAAAA,cAACuT,EAAAA,GAAM,CACNC,yBAAuB,EACvB3Q,WAAY,CACX,CAACkI,EAAAA,GAAY0I,SAAU,CACtB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAYmJ,MAAO,CACnB,CAAE/d,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAYiT,OAAQ,CACpB,CAAE7nB,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAY4I,OAAQ,CACpB,CAAExd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAYkT,OAAQ,CACpB,CAAE9nB,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,MAIxB1T,IAAAA,cAAC+a,GAAc,CAAC7R,UAAU,mBACzBlJ,IAAAA,cAAA,OAAKkJ,UAAU,mBACG,YAAhB25H,EACA7iI,IAAAA,cAAA,OAAK2K,MAAO,CAAE4G,cAAe,SAC5BvR,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,aACrCtG,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,aAAc,kBAI1BrG,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,YAAaD,MAAI,sBAKvC,YAAhBw8H,EAA4B,KAC5B7iI,IAAAA,cAAC8P,EAAAA,GAAgB,CAChBvF,OAAO,EACP1K,WAAW,OACXmjI,UAAU,IAGZhjI,IAAAA,cAACggB,EAAAA,GAAkB,MAEnBhgB,IAAAA,cAAC8W,EAAAA,GAAc,CACdC,QAAQ,qBACRC,OAAO,kFACPC,YAAY,6BAKc,KACF,ECzFxB,IAAKi+K,GAaN,SAAUC,GAAYvwL,GAAyC,IAAxC,OAAE6gF,EAAM,UAAE2vG,GAA8BxwL,EACpE,MAAM,eAAE+5E,EAAc,eAAElsE,IAAmBvO,EAAAA,EAAAA,sBACrC,SAAE1L,EAAQ,SAAEgJ,IAAaC,EAAAA,EAAAA,KAAaC,GAAwBA,IAC9DwD,GAAQC,EAAAA,EAAAA,MACR4f,GAAYkB,EAAAA,EAAAA,gBACZ7kB,GAAWC,EAAAA,EAAAA,OAEjBiB,EAAAA,EAAAA,YAAU,KACTm8E,GAAS,EAAK,GACZ,IAEH,MAAM,SAAEkK,GAAanwF,EAASqB,OAExBshF,EAAiB,CACtB,CACC5wE,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,gBACSA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,oBAGpBxM,OAAQmG,IAAAA,cAACo/E,EAAAA,GAAkB,CAACx3D,QAAS5nB,IAAAA,cAACmU,EAAAA,GAAa,CAACC,SAAO,EAACxQ,UAAQ,EAACzN,KAAK,cAC1E+R,YAAagtL,GAAcG,QAC3Bl/L,KAAM,UACNsxF,QAAS,CAAC,WACVY,YAAa,CAAC,WACdyjD,qBAAqB,GAEtB,CACCvhI,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,4BACqBA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,wBAGhCxM,OAAQmG,IAAAA,cAACo/E,EAAAA,GAAkB,CAACx3D,QAAS5nB,IAAAA,cAACmU,EAAAA,GAAa,CAACC,SAAO,EAACxQ,UAAQ,EAACzN,KAAK,aAC1E+R,YAAagtL,GAAcI,OAC3Bn/L,KAAM,SACNsxF,QAAS,CAAC,UACVY,YAAa,CAAC,UACdyjD,qBAAqB,GAEtB,CACCvhI,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,uBACgBA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,oBAG3BxM,OACCmG,IAAAA,cAACo/E,EAAAA,GAAkB,CAClBx3D,QAAS5nB,IAAAA,cAACyH,EAAAA,GAAoB,CAACC,UAAWiH,GAAAA,GAAUxY,KAAK,WAAW0R,aAAW,EAACkb,SAAS,SAG3F7a,YAAagtL,GAAcr+L,MAC3BV,KAAM,WACNsxF,QAAS,CAAC,YACVY,YAAa,CAAC,YACdyjD,qBAAqB,GAEtB,CACCvhI,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,yBACkBA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,aAG7BxM,OAAQmG,IAAAA,cAACo/E,EAAAA,GAAkB,CAACx3D,QAAS5nB,IAAAA,cAACmU,EAAAA,GAAa,CAACC,SAAO,EAACxQ,UAAQ,EAACzN,KAAK,YAC1E+R,YAAagtL,GAAcr+L,MAC3BV,KAAM,QACNsxF,QAAS,CAAC,SACVY,YAAa,CAAC,SACdyjD,qBAAqB,GAEtB,CACCjyI,OAAQmG,IAAAA,cAACi1L,GAAoB,MAC7B/sL,YAAagtL,GAAcvzD,aAC3BxrI,KAAM,eACNsxF,QAAS,CAAC,gBACVY,YAAa,CAAC,mBAIhB/lF,EAAAA,EAAAA,YAAU,KACLqmF,GACH8/C,EAAY,QAAqB,QAAZ9/C,E,GAEpB,CAACA,IAEJ,MAAM8/C,EAAcA,CAAC5nH,EAAkB2oJ,KACtC,MAAQruF,MAAO4sD,EAAW,YAAE7/H,GAAgBhD,EAAME,WAAW5D,SAC7D,IAAIq+H,EAAW,IAAIkI,GACnB,GAAIyhC,EAAa,EAGG,KAFDthC,EAAAA,EAAAA,IAAgBrI,EAAUh/G,KAG3Cg/G,GAAWsI,EAAAA,EAAAA,IAAehtD,EAAO4sD,EAAalnH,EAAU3Y,G,MAGzD23H,GAAW2V,EAAAA,EAAAA,IAAW3V,EAAUh/G,GAGjC,MAAMowH,GAAoB3I,EAAAA,EAAAA,IAAsBzI,GAEhDz+H,EAAS,CAAE3K,KAAM,eAAgBiM,QAASuuI,IAC1C7vI,EAAS,CAAE3K,KAAM,mBAAoBiM,QAASuuI,EAAkBA,EAAkBn1I,OAAS,KAC3FsF,EAAS,CAAE3K,KAAM,wBAAyBiM,QAASuuI,EAAkBn1I,QAAS,EAGzEyjI,EAAwC,CAC7CvrI,QAAS,CAAC,EACV6F,OAAQ,CACPwL,SAAU,WACV4M,SAAU,YACVslF,aAAc,WAoBV9Y,EAAYtlF,IACjB,MAAM,SAAEX,GAA2B0M,EAAME,YACnC,OAAEvL,EAAM,QAAE7F,GAAYwE,EACtB6M,EAAWxL,EAAOwL,SAAWxL,EAAOwL,SAAW,WAErD,OAAO,IAAI4oD,SAAa37D,MAAO47D,EAASC,K,QACvC,MAAM,GAAE8hC,EAAE,MAAE5pD,EAAK,IAAE5xC,EAAG,OAAE07F,IAAWH,EAAAA,EAAAA,KAE7Bl9F,EAAO,CACZ,qBAAsB,6BACtB,0BAA2B,WAC3B,wBAAyBiyB,EAAUwwK,SACnC,qBAAsB,cAAclwL,KAAc0f,EAAUwwK,SAAS34L,cACrE,oBAAqBnI,EACrB,+BAAgC4xC,EAChC,8BAA+B8pD,EAC/B,gCAAiCF,EACjC,qBAAsBp2F,EAAOg0F,WAAah0F,EAAOg0F,WAAa,gBAE3DswC,EAAAA,EAAAA,IAAcnqI,GAEjB,oBAAqB,aACrB,sBAAuB6F,EAAO1D,KAC9B,2BAA4B0D,EAAO6lI,QACnC,2BAA4B7lI,EAAO8lI,cACnC,wBAAwBllD,EAAAA,EAAAA,kBAAiB5gF,EAAO40B,OAChD,sCAAuC50B,EAAO6X,KAAO7X,EAAO6X,KAAO,eACnE,gCAAiC7X,EAAO8X,IAAM9X,EAAO8X,IAAM,eAC3D,2BAA4B8zE,EAC5B,2BAA4B5rF,EAAO27L,QACnC,2BAA4B37L,EAAO47L,OACnC,2BAA4B57L,EAAO8uF,SACnC,2BAA4B9uF,EAAO3G,MACnC,2BAA4B2G,EAAOqzF,cAAgBrzF,EAAOqzF,cAAgB,YAE1E,6BAA8B,QAGzBqxC,EAAkBjqG,KAAKC,UAAUzhC,GACjC0rI,EAAalqG,KAAKb,MAAM8qG,GACxB/lI,GAAWimI,EAAAA,EAAAA,IAAgBD,GAE3BlpI,QAAiB4D,EAAAA,EAAAA,IAAmBV,GAEN,MAAV,QAAtB4mB,EAAc,QAAdvsB,EAAAyC,aAAQ,EAARA,EAAUxC,YAAI,IAAAD,OAAA,EAAAA,EAAEwG,cAAM,IAAA+lB,OAAA,EAAAA,EAAEppB,OACtBmD,GACJi8L,IAEDh0L,EAAS,CAAE3K,KAAM,oBAAqBiM,QAASpN,EAASxC,OACxDo7D,GAAQ,IAERA,GAAQ,E,GAER,EAuBH,OApBA5rD,EAAAA,EAAAA,YAAU,KACT,MAAM,UAAEs9H,EAAS,SAAErkD,EAAQ,aAAEH,EAAY,gBAAEE,EAAe,SAAEukD,GAlErD,CACND,UAAWzkD,EAAM,GACjBI,SAAUJ,EAAMA,EAAMr/E,OAAS,GAC/Bs/E,aAAc,CAAC,GACfE,gBAAiBH,EAAMr/E,OACvB+jI,SAAU,MA+DLC,EAAmC,CACxCz2C,aAAa,EACbpO,iBAAkBwD,EAClBH,aAAYshD,EAAUthD,WACtB/C,WACAD,kBACA/3E,UAAW,WACX2E,YAAa03H,EAAU13H,YACvB+7B,KAAM27F,EACNzkD,MAAO0kD,GAAsB1kD,EAC7BC,eACA2O,kBAAmB/pF,IAAAA,cAACg1L,GAAgB,OAGrCr2G,EAAemhD,EAAeP,EAAc,GAC1C,IAEIv/H,IAAAA,cAACo6F,EAAAA,eAAc,CAACjf,MAAOA,EAAO6N,WAAW,gBACjD,EA5NA,SAAYksG,GACXA,EAAAA,EAAA,qBACAA,EAAAA,EAAA,mBACAA,EAAAA,EAAA,uBACAA,EAAAA,EAAA,iBACAA,EAAAA,EAAA,8BACA,CAND,CAAYA,KAAAA,GAAa,KCEzB,MAAMQ,GAAkBj2L,EAAAA,GAAOC,GAAG;;EAG5Bi2L,GAAqBl2L,EAAAA,GAAOC,GAAG;;;EAKxBw9F,GAAmBv9F,IAC/B,MAAM,mBAAEwzF,GAAuBxzF,EACzBuF,GAAQC,EAAAA,EAAAA,MACR4f,GAAYkB,EAAAA,EAAAA,iBACZ,SAAEztB,GAA2B0M,EAAME,YACnC,OAAEvL,GAAWrB,GACZo9L,EAAUC,IAAez1L,EAAAA,EAAAA,WAAS,IAClCuiC,EAAWC,IAAgBxiC,EAAAA,EAAAA,UAAiB,GAY7Cg1L,EAAYA,KACjBS,GAAY,EAAK,EA+BlB,OACC71L,IAAAA,cAAAA,IAAAA,SAAA,MA1CuB,QAAnB+kB,EAAU+wK,QAAuC,QAApBjjM,EAAAgH,EAAOqzF,qBAAa,IAAAr6F,OAAA,EAAAA,EAAEiJ,QAAS,GAGtC,QAAtBipB,EAAUgxK,UAAmD,MAA7Bl8L,EAAOm8L,sBAwCzBJ,EAChB51L,IAAAA,cAAC01L,GAAe,KACf11L,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBmR,YAAanK,UAAWC,EAAAA,GAAciK,QAC1E+Q,EAAUuxJ,UAAWtpI,EAAAA,GAAAA,IAAYjoB,EAAUuxJ,UAAY,sCAAwCvxJ,EAAUwwK,SAAW,OAASxwK,EAAUwwK,SAAS34L,cAAgB,IAAM,KAExKoD,IAAAA,cAAC21L,GAAkB,KAClB31L,IAAAA,cAACsF,EAAAA,EAAS,CAAC2E,gBAAiB,UAhCbs5B,MACnB,MAAMrB,EAAQ,GACd,IAAK,IAAInwC,EAAI,EAAGA,GAAK,EAAGA,IACvBmwC,EAAMzsC,KACLuK,IAAAA,cAACojC,GAAAA,GAAiB,CACjBl6B,UAAWy5B,GAAa5wC,EAAI,SAAW,UACvCgS,IAAKhS,EACLoR,QAAUrB,IAXM2jF,MAYf3jF,EAAE6B,iBAZa8hF,EAaJ1zF,EAZfohG,EAAmBnzF,IAAAA,cAACm1L,GAAY,CAAC1vG,OAAQA,EAAQ2vG,UAAWA,KAaxDxyJ,EAAa7wC,EAAE,EAEhBqwC,YAAY,EACZI,gBAAgB,EAChBoK,SAAS,GAERjK,GAAa5wC,EAAIiO,IAAAA,cAACqjC,GAAAA,EAAU,MAAMrjC,IAAAA,cAACsjC,GAAAA,EAAW,QAKlD,OAAOpB,CAAK,EAW+BqB,MAGtC,MArDY0yJ,I,CAsDd,EClFCC,GAA8C,CAClDliM,QAAS,CAAE2pI,eAAgB,eAC3B9jI,OAAQ,CACNy7J,WAAY,CAAC,EACbzxI,eAAgB,cAChBxe,SAAU,wBACV4M,SAAU,QACVslF,aAAc,gBAIZ,SAAU4+F,GAAevxL,GAAqC,IAApC,mBAAEuuF,GAAkCvuF,EAMlE,OALA0uF,EAAAA,EAAAA,0BACEH,EACAnzF,IAAAA,cAACi7J,GAAAA,gBAAe,CAAC3tB,gBAAiB4oD,MAG7B,IACT,C,qCCWO,MAAMx6F,GAAqB/7F,KAEVsyF,EAAAA,EAAAA,qBAAoB,0BAA1C,MACM,eAAER,EAAc,QAAE13E,GChCpB,WACJ,MAAM3Y,GAAWC,EAAAA,EAAAA,OACV0Y,EAASu0B,IAAcluC,EAAAA,EAAAA,WAAS,IAChCqxF,EAAgBC,IAAqBtxF,EAAAA,EAAAA,UAAS,OAC/C,cAAE4zE,IAAkBvyE,EAAAA,EAAAA,KAAaC,GAAwBA,EAAMkkB,cAE/D7yB,EADY,IAAIoB,gBAAgBC,OAAOC,SAASC,QAC7B3B,IAAI,UA2C7B,OAzCA2P,EAAAA,EAAAA,YAAU,KAIR,GAHKlO,OAAOC,UACVi6C,GAAW,GAERv7C,GAIL,GAAIihF,EAAe,CACjB,IAAIoiH,EAAuBpiH,EAAc9+E,MAAM+9E,GACtCA,EAAav0B,aAAe3rD,SAERmD,IAAzBkgM,IACFA,EAAuBpiH,EAAc9+E,MAAM+9E,GAClCA,EAAa2f,oBAAsB7/F,UAGjBmD,IAAzBkgM,IACFA,EAAuBpiH,EAAc9+E,MAAM+9E,GAClCA,EAAav4D,wBAA0B3nB,UAGrBmD,IAAzBkgM,GACF9nJ,GAAW,GACXojD,EAAkB,QAGlBA,EAAkB0kG,GAClBh1L,EAAS,CAAE3K,KAAM,4BAA6BiM,QAAS0zL,IACvDh1L,EAAS,CAAE3K,KAAM,sBAAuBiM,QAAS0zL,IACjDh1L,EAAS,CAAE3K,KAAM,gBAAiBiM,QAAS0zL,IAC3Ch1L,EAAS,CAAE3K,KAAM,iBAAkBiM,QAAS0zL,IAC5Ch1L,EAAS,CAAE3K,KAAM,oBAAqBiM,QAAS0zL,IAC/Ch1L,EAAS,CAAE3K,KAAM,gCAAiCiM,QAAS,kBAC3D4rC,GAAW,G,OA7BbA,GAAW,E,GAkCZ,CAAC0lC,IAEG,CAAEyd,iBAAgB13E,UAC3B,CDlBsCs8K,IAC9B,mBAAEljG,EAAkB,YAAE4H,GAAgBp7F,GACtC,OAAEg9C,IAAWl7C,EAAAA,EAAAA,KAAaC,GAAwBA,EAAMkkB,cACxDlf,GAAeiK,EAAAA,EAAAA,sBAAqB,kBACpC,WAAEqjF,IAAeF,EAAAA,EAAAA,eAEjB/uE,GAAYkB,EAAAA,EAAAA,iBACX/yB,EAAOsU,IAAYpH,EAAAA,EAAAA,WAAS,IAC5BqxC,EAAYq2I,IAAiB1nL,EAAAA,EAAAA,UAA8B,OAC3D6nL,EAAeC,IAAmB9nL,EAAAA,EAAAA,WAAS,GAE5C8E,GAAQC,EAAAA,EAAAA,MACRsB,GAAMmK,EAAAA,EAAAA,4BACNxP,GAAWC,EAAAA,EAAAA,MAGXi1L,EAAkBA,CAACC,EAAsBz1L,KAC7CM,EAAS,CAAE3K,KAAM,gBACjBskG,EAAYj6F,GACZqyF,EAAmBojG,EAAQ,EAgBvBpO,EAAoBA,IAEtBnoL,IAAAA,cAAC6G,EAAAA,oBAAmB,CAAC3B,MAAOA,EAAOuB,IAAKA,GACtCzG,IAAAA,cAAC+rC,EAAAA,GAAiB,CAChBxhC,MAAM,6CACNyhC,SAAS,qHACTC,SAAS,yBACTznC,MAAM,EACN6nC,aAAa,OAEblpC,QAASA,KACP6wF,EAAW,0BAA0B,KAazCwiG,EAAsBzxK,GAA8BA,GAAaA,EAAU0xK,OAAoC,IAA3B1xK,EAAU0xK,MAAM36L,OAKpGssL,EAAmB32F,IACnBA,EACFq2F,EAAcr2F,IAEdjqF,GAAS,GAdGd,EAAaC,eAAewhL,EAAmB,CAAC,EAAG,CAAE5jL,KAAMuC,GAAAA,GAAiBmK,I,GAmB5F3O,EAAAA,EAAAA,YAAU,KACJq6C,GACFurI,GAAgB,E,GAEjB,CAACvrI,KAEJr6C,EAAAA,EAAAA,YAAU,KACHyX,GACHquK,EAAgB32F,E,GAEjB,CAAC13E,IAyEJ,OAAO7mB,EAAQ,KACb8M,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAM,QACnBvZ,IAAAA,cAACuT,EAAAA,GAAM,CACL1Q,WAAY,CACV,CAACkI,EAAAA,GAAY0I,SAAU,CACrB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,MAI1B1T,IAAAA,cAACsF,EAAAA,EAAS,CACRE,QAAS,CAAEK,OAAQH,EAAAA,EAAiBoyC,aACpC7tC,gBAAiB,WAtFJysL,EAwFAtiM,OAAOm0B,WAAa,IAtFrCvoB,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAY6zL,EAAS5zL,EAAAA,GAAoBwD,YAAcxD,EAAAA,GAAoBg6H,YAAahzH,UAAW4sL,EAAS3sL,EAAAA,GAAcjE,KAAOiE,EAAAA,GAAciK,QACnJhU,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,0BAA2B,+BAwFtCorC,GAAcw2I,EACbjoL,IAAAA,cAACuT,EAAAA,GAAM,CACL1Q,WAAY,CACV,CAACkI,EAAAA,GAAY0I,SAAU,CACrB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYmJ,MAAO,CAClB,CAAE/d,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYyG,OAAQ,CACnB,CAAErb,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAY4I,OAAQ,CACnB,CAAExd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYkT,OAAQ,CACnB,CAAE9nB,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,KAG1BwkC,OAAQC,EAAAA,EAAaL,aAErB93C,IAAAA,cAAA,WACEA,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,UACfhG,IAAAA,cAACsF,EAAAA,EAAS,CAACE,QAAS,CAAEK,OAAQH,EAAAA,EAAiBmP,YAC7C7U,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,YAAaD,MAAI,GACpDorC,EAAW/2B,yBAGhB1a,IAAAA,cAACsF,EAAAA,EAAS,CAACW,OAAQC,EAAAA,EAAgB8D,UAAWhE,KAAM,UAClDhG,IAAAA,cAACsF,EAAAA,EAAS,CAACW,OAAQC,EAAAA,EAAgBgE,YAAalE,KAAM,UAzGlC2wL,KAChC,IAAInyL,EAAOxE,IAAAA,cAAC42L,GAAAA,EAAI,CAAClyL,QAAQ,UAMzB,OAJI8xL,EAAmBzxK,KACrBvgB,EAAO,MAIPxE,IAAAA,cAACmE,EAAAA,EAAG,CAACK,KAAMA,EAAMH,IAAI,SAASlB,QAAUrB,IACtCA,EAAE6B,iBA5GN2yL,EAAgBt2L,IAAAA,cAACi7J,GAAAA,gBAAe,CAACxG,cAAY,IAAK,mBA8GxB,EAEtBlvJ,eAAgBoxL,GAAa,mBAExB,EA2FME,GAxHgBF,KAC/B,IAAInyL,EAAOxE,IAAAA,cAACuO,GAAAA,EAAI,CAAC7J,QAAQ,UAMzB,OAJI8xL,EAAmBzxK,KACrBvgB,EAAO,MAIPxE,IAAAA,cAACmE,EAAAA,EAAG,CAACK,KAAMA,EAAMH,IAAI,SAASlB,QAAUrB,IA1F1Cw0L,EAAgBt2L,IAAAA,cAACu6J,GAAAA,mBAAkB,CAAC9F,cAAY,IAAK,uBA0FoB,EAAElvJ,eAAgBoxL,GACvF32L,IAAAA,cAAA,QAAM2K,MAAO,CAAEyF,WAAY,WAAU,wBACjC,EA+GO0mL,GAvIWH,KAC1B,IAAInyL,EAAOxE,IAAAA,cAAC+2L,GAAAA,EAAQ,CAACryL,QAAQ,UAM7B,OAJI8xL,EAAmBzxK,KACrBvgB,EAAO,MAIPxE,IAAAA,cAACmE,EAAAA,EAAG,CAACK,KAAMA,EAAMH,IAAI,SAASlB,QAAUrB,IAzE1Cw0L,EAAgBt2L,IAAAA,cAAC07J,GAAAA,cAAa,CAACjH,cAAY,IAAK,WAyEoB,EAAElvJ,eAAgBoxL,GAAa,WAE3F,EA8HOK,GAzFUL,KACzB,IAAInyL,EAAOxE,IAAAA,cAAC8xD,GAAAA,EAAQ,CAACptD,QAAQ,UAM7B,OAJI8xL,EAAmBzxK,KACrBvgB,EAAO,MAIPxE,IAAAA,cAACmE,EAAAA,EAAG,CAACK,KAAMA,EAAMH,IAAI,SAASlB,QAAUrB,IArH1Cw0L,EAAgBt2L,IAAAA,cAACu0J,GAAAA,cAAa,CAACE,cAAY,IAAK,YAqHoB,EAAElvJ,eAAgBoxL,GAAa,iCAE3F,EAgFOM,IAEHj3L,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUC,OAAQC,EAAAA,EAAgBgY,aACjDle,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBmR,YAAa5N,MAAI,gBAGvDrG,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,SACnC0uC,EAAW4hC,eAAc,KAAI5hC,EAAW6hC,mBAAkB,IAAG7hC,EAAW8hC,kBAMnFvzE,IAAAA,cAAC08C,GAAAA,GAAoB,CAAC3pD,OAAQ0+F,EAAgB10C,wBAAsB,GAClE/8C,IAAAA,cAACsuE,GAAAA,GAAM,CAACD,WAAW,MAIvBruE,IAAAA,cAACsF,EAAAA,EAAS,CACRE,QAAS,CAAEK,OAAQH,EAAAA,EAAiBoyC,aACpC7tC,gBAAiB,UAEjBjK,IAAAA,cAAA,OAAK2K,MAAO,CAAE8U,QAAS,OAAQS,cAAe,SAAU03B,eAAgB,SAAU0wI,WAAY,WAC5FtoL,IAAAA,cAACoK,GAAAA,EAAO,CAAC1F,QAAQ,UACjB1E,IAAAA,cAAC4C,EAAAA,GAAI,gDAzKM8zL,KA8KpB,EEpSGQ,GAA+C,CACnDljM,QAAS,CAAE2pI,eAAgB,eAC3B9jI,OAAQ,CACNy7J,WAAY,CAAC,EACbzxI,eAAgB,cAChBxe,SAAU,aACV4M,SAAU,QACVslF,aAAc,gBAIZ,SAAU4/F,GAAgBvyL,GAAqC,IAApC,mBAAEuuF,GAAkCvuF,EAMnE,OALAsuF,EAAAA,EAAAA,0BACEC,EACAnzF,IAAAA,cAACi7J,GAAAA,gBAAe,CAACC,kBAAgB,EAAC5tB,gBAAiB4pD,MAG9C,IACT,CCnBM,SAAUE,GAAkBxyL,GAAqC,IAApC,mBAAEuuF,GAAkCvuF,EAMrE,OAJAtC,EAAAA,EAAAA,YAAU,KACR6wF,EAAmBnzF,IAAAA,cAAC66J,GAAAA,WAAU,OAAK,EAAK,GACvC,IAEI,IACT,C,eCPM,SAAUw8B,GAAgBzyL,GAAqC,IAApC,mBAAEuuF,GAAkCvuF,GACjDqhB,EAAAA,EAAAA,gBAMlB,OAJA3jB,EAAAA,EAAAA,YAAU,KACR6wF,EAAmBnzF,IAAAA,cAACs7J,GAAAA,EAAS,OAAK,EAAK,GACtC,IAEI,IACT,CCLA,MAAMosB,GAAgBA,CAACC,EAAgChoL,IAClC,eAAfgoL,EACK3nL,IAAAA,cAACo3L,GAAkBpoL,OAAAC,OAAA,GAAKtP,IACP,oBAAfgoL,EACF3nL,IAAAA,cAACq3L,GAAgBroL,OAAAC,OAAA,GAAKtP,IACL,aAAfgoL,EACF3nL,IAAAA,cAACm3L,GAAgBnoL,OAAAC,OAAA,GAAKtP,IACN,YAAfgoL,EACD3nL,IAAAA,cAACm2L,GAAennL,OAAAC,OAAA,GAAKtP,IAGvB,KAGH,SAAU67F,GAAmB77F,GACjC,MAAMolB,GAAYkB,EAAAA,EAAAA,gBAElB,OAAOyhK,GAAc3iK,EAAU4iK,WAAYhoL,EAC7C,C,gDCRA,MAAMu0J,GAAiBC,IACN,IAAXA,EACKn0J,IAAAA,cAACo0J,GAAAA,GAAe,CAAC/uJ,SAAS,mBAE1BrF,IAAAA,cAACq0J,GAAAA,UAAS,CAAChvJ,SAAS,mBAI/B,IAAKiyL,GAcC,SAAUC,GAAc3yL,GAA2E,IAA1E,gBAAE0oI,EAAe,OAAE6mB,EAAM,eAAEK,EAAc,aAAEC,GAA+B7vJ,EACxG,MAAMtR,GAAgBC,EAAAA,GAAAA,OACfmhK,EAAaC,IAAkBv0J,EAAAA,EAAAA,UAAS,MACzCo3L,EAAmB,CACxB,CACC12L,MAAO,aACPH,MAAO,cAER,CACCG,MAAO,kBACPH,MAAO,mBAER,CACCG,MAAO,cACPH,MAAO,eAER,CACCG,MAAO,cACPH,MAAO,gBAGH82L,EAAwB,CAC7B,CACC32L,MAAO,oBACPH,MAAO,qBAER,CACCG,MAAO,sBACPH,MAAO,uBAER,CACCG,MAAO,aACPH,MAAO,gBAKR2B,EAAAA,EAAAA,YAAU,KAGVqyJ,EAFMrnB,GAKSoqD,G,GAEZ,IAEH,MAkNM5iC,EAlNwB,CAC5B,CACFvqJ,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,KACAA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,aAAc,cAGzBxM,OACCmG,IAAAA,cAAAA,IAAAA,SAAA,KACCm0J,EACAn0J,IAAAA,cAAC8pF,EAAAA,GAA4B,CAC5BliE,QAAS5nB,IAAAA,cAACyH,EAAAA,GAAoB,CAACC,UAAW+vL,EAAuBthM,KAAK,qBAAqB0R,aAAW,MAGvG7H,IAAAA,cAACo/E,EAAAA,GAAkB,CAClBx3D,QAAS5nB,IAAAA,cAACyH,EAAAA,GAAoB,CAACC,UAAW+vL,EAAuBthM,KAAK,qBAAqB0R,aAAW,OAKzGK,YAAaovL,GAAgBK,mBAC7BxhM,KAAM,qBACNsxF,QAAS,CAAC,sBACVY,YAAa,CAAC,sBACd1C,KAAM8xG,GAEP,CACCltL,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,YACIA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,WAAY,iBAG3BxM,OACCmG,IAAAA,cAAAA,IAAAA,SAAA,KACCm0J,EACAn0J,IAAAA,cAAC8pF,EAAAA,GAA4B,CAC5BliE,QAAS5nB,IAAAA,cAACyH,EAAAA,GAAoB,CAACC,UAAW8vL,EAAkBrhM,KAAK,gBAAgB0R,aAAW,MAG7F7H,IAAAA,cAACo/E,EAAAA,GAAkB,CAClBx3D,QAAS5nB,IAAAA,cAACyH,EAAAA,GAAoB,CAACC,UAAW8vL,EAAkBrhM,KAAK,gBAAgB0R,aAAW,OAK/FK,YAAaovL,GAAgBM,cAC7BzhM,KAAM,gBACNsxF,QAAS,CAAC,iBACVY,YAAa,CAAC,iBACd1C,KAAM6xG,GAEP,CACKjtL,MACEvK,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,mBAAoB,yBAGlCxM,OACEmG,IAAAA,cAAAA,IAAAA,SAAA,KACGm0J,EACCn0J,IAAAA,cAAC8pF,EAAAA,GAA4B,CAACliE,QAAS5nB,IAAAA,cAAA,OAAK2K,MAAO,CAAE6mD,aAAc,QAASxxD,IAAAA,cAAC0d,EAAAA,GAAa,CAAC6H,YAAY,OAEvGvlB,IAAAA,cAACo/E,EAAAA,GAAkB,CAACx3D,QAAS5nB,IAAAA,cAAA,OAAK2K,MAAO,CAAE6mD,aAAc,QAASxxD,IAAAA,cAAC0d,EAAAA,GAAa,CAAC6H,YAAY,QAInGrd,YAAaovL,GAAgBx2C,OAC7B3qJ,KAAM,SACNsxF,QAAS,CAAC,UACVY,YAAa,CAAC,WAEhBosE,EAAe,KACb,CACEvsJ,YAAaovL,GAAgBrhD,KAC7B9/I,KAAM,OACN6uF,WAAW,EACXwV,UAAW05D,GAAcC,IAE7B,CACE5pJ,MACEvK,IAAAA,cAAAA,IAAAA,SAAA,yDACmDA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,gBAG/DxM,OACEmG,IAAAA,cAAAA,IAAAA,SAAA,KACGm0J,EACCn0J,IAAAA,cAAC8pF,EAAAA,GAA4B,CAACliE,QAAS5nB,IAAAA,cAAA,OAAK2K,MAAO,CAAE6mD,aAAc,QAASxxD,IAAAA,cAAC6f,EAAAA,GAAsB,CAACvsB,cAAeA,OAEnH0M,IAAAA,cAACo/E,EAAAA,GAAkB,CAACx3D,QAAS5nB,IAAAA,cAAA,OAAK2K,MAAO,CAAE6mD,aAAc,QAASxxD,IAAAA,cAAC6f,EAAAA,GAAsB,CAACvsB,cAAeA,QAI/G4U,YAAaovL,GAAgBphD,eAC7B//I,KAAM,iBACNsxF,QAAS,CAAC,OAAQ,UAAW,iBAC7BY,YAAa,CAAC,OAAQ,UAAW,kBAEnC,CACE99E,MACEvK,IAAAA,cAAAA,IAAAA,SAAA,qCAC+BA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,wBAG3CxM,OACEmG,IAAAA,cAAAA,IAAAA,SAAA,KACGm0J,EACCn0J,IAAAA,cAAC8pF,EAAAA,GAA4B,CAACliE,QAAS5nB,IAAAA,cAAA,OAAK2K,MAAO,CAAE6mD,aAAc,QAASxxD,IAAAA,cAACsI,EAAAA,GAAY,SAEzFtI,IAAAA,cAACo/E,EAAAA,GAAkB,CAACx3D,QAAS5nB,IAAAA,cAAA,OAAK2K,MAAO,CAAE6mD,aAAc,QAASxxD,IAAAA,cAACsI,EAAAA,GAAY,UAIrFJ,YAAaovL,GAAgBhvL,aAC7BnS,KAAM,eACNsxF,QAAS,CAAC,gBACVY,YAAa,CAAC,iBAEhB,CACE99E,MACEvK,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,sBAAuB,0BACjCrG,IAAAA,cAAA,OAAK2K,MAAO,CAAElF,IAAK,OAAQ4K,SAAU,SAAQ,MAGjDxW,OACEmG,IAAAA,cAAAA,IAAAA,SAAA,KACGm0J,EACCn0J,IAAAA,cAAC8pF,EAAAA,GAA4B,CAACliE,QAAS5nB,IAAAA,cAACiH,EAAAA,GAAe,QAEvDjH,IAAAA,cAACo/E,EAAAA,GAAkB,CAACx3D,QAAS5nB,IAAAA,cAACiH,EAAAA,GAAe,SAInDiB,YAAaovL,GAAgBviC,SAC7B5+J,KAAM,WACNsxF,QAAS,CAAC,YACVY,YAAa,CAAC,aAEhB,CACE99E,MACEvK,IAAAA,cAAAA,IAAAA,SAAA,gCAC0BA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,6BAGtCxM,OACEmG,IAAAA,cAAAA,IAAAA,SAAA,KACGm0J,EACCn0J,IAAAA,cAAC8pF,EAAAA,GAA4B,CAC3BliE,QACE5nB,IAAAA,cAAC8sC,EAAAA,GAAkB,KACjB9sC,IAAAA,cAACkgC,EAAAA,GAAQ,CAACllB,oBAAoB,EAAOpX,UAAU,IAC/C5D,IAAAA,cAACiuB,EAAAA,GAAK,CAACjT,oBAAoB,EAAOpX,UAAU,EAAM0N,WAAW,YAKnEtR,IAAAA,cAACo/E,EAAAA,GAAkB,CACjBx3D,QACE5nB,IAAAA,cAAC8sC,EAAAA,GAAkB,KACjB9sC,IAAAA,cAACkgC,EAAAA,GAAQ,CAACllB,oBAAoB,EAAOpX,UAAU,IAC/C5D,IAAAA,cAACiuB,EAAAA,GAAK,CAACjT,oBAAoB,EAAOpX,UAAU,EAAM0N,WAAW,aAOzEpJ,YAAaovL,GAAgBt2C,cAC7B7qJ,KAAM,gBACNsxF,QAAS,CAAC,YAAa,SACvBY,YAAa,CAAC,YAAa,IAAK,UAElC,CACE99E,MACEvK,IAAAA,cAAAA,IAAAA,SAAA,sBACgBA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,uBAAwB,KAGpDxM,OACEmG,IAAAA,cAAAA,IAAAA,SAAA,KACGm0J,EACCn0J,IAAAA,cAAC8pF,EAAAA,GAA4B,CAACliE,QAAS5nB,IAAAA,cAACmU,EAAAA,GAAa,CAAChe,KAAK,iBAE3D6J,IAAAA,cAACo/E,EAAAA,GAAkB,CAACx3D,QAAS5nB,IAAAA,cAACmU,EAAAA,GAAa,CAAChe,KAAK,kBAIvD+R,YAAaovL,GAAgB58B,YAC7BvkK,KAAM,cACNsxF,QAAS,CAAC,cACVY,YAAa,CAAC,eAEhB,CACExuF,OAAQmG,IAAAA,cAACsS,EAAAA,GAAe,CAACE,aAAa,SACtCrc,KAAM,OACNsxF,QAAS,CAAC,SAEZ,CACE5tF,OAAQmG,IAAAA,cAACsS,EAAAA,GAAe,CAACE,aAAa,QACtCrc,KAAM,MACNsxF,QAAS,CAAC,QAEZ,CACE5tF,OAAQmG,IAAAA,cAACg1J,GAAAA,6BAA4B,MACrCt3E,YAAY,EACZuH,kBAAkB,EAClB9uF,KAAM,iBAGyBuG,QAAQunC,GAAkB,OAATA,KAE9C,QAAElqB,EAAO,MAAEohE,EAAK,UAAEykD,EAAS,SAAErkD,IAAawmE,EAAAA,GAAAA,GAAsB+S,GAAe,EAAOX,GAEtFc,EAAmC,CACvC35E,gBAAiBH,EAAMr/E,QAGzB,OAAOie,EAAU,KACf/Z,IAAAA,cAACs3J,GAAAA,EAAsB,CACrBn8E,MAAOA,EACPg6E,SAAUX,EAAiBmG,GAAAA,GAAwCjG,EACnEW,SAAUJ,EACVr1B,UAAWA,EACXrkD,SAAUA,EACV44E,OAAQA,EACRK,eAAgBA,GAGtB,EAlSA,SAAK8iC,GACJA,EAAAA,EAAA,2CACAA,EAAAA,EAAA,iCACAA,EAAAA,EAAA,mBACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,mCACAA,EAAAA,EAAA,+BACAA,EAAAA,EAAA,uBACAA,EAAAA,EAAA,iCACAA,EAAAA,EAAA,6BACAA,EAAAA,EAAA,8BACA,CAXD,CAAKA,KAAAA,GAAe,KCvBb,MAAMI,GAAqD,CAChE79L,OAAQ,CACNy7J,WAAY,CAAC,EACbzxI,eAAgB,iBAChBxe,SAAU,mBACV4M,SAAU,UACVslF,aAAc,oBCDZ,SAAUyF,KACd,MAAMj4E,GAAYkB,EAAAA,EAAAA,gBAEZyhK,EAAiB17J,GAEnBhsB,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAACkpF,EAAAA,iBAAgB,CACfC,gBAAiBn9D,EACjBniB,mBAAoBhF,MACpBoD,sBAAuBA,IAAM,KAC7BkB,WAAS,EACT8I,SAAW,YAMbuiJ,EAA0C,cAAzBzvI,aAAS,EAATA,EAAW4iK,YAElC,OAAQ5iK,aAAS,EAATA,EAAW8yK,WACjB,IAAK,aACH,OAAOnQ,EAAc1nL,IAAAA,cAAC07J,GAAAA,cAAa,CAACvH,QAAM,EAACK,eAAgBA,KAC7D,IAAK,cACH,OAAOkzB,EAAc1nL,IAAAA,cAACi7J,GAAAA,gBAAe,CAAC9G,QAAM,EAACK,eAAgBA,KAC/D,IAAK,kBACH,OAAOkzB,EAAc1nL,IAAAA,cAACu6J,GAAAA,mBAAkB,CAACpG,QAAM,EAACK,eAAgBA,KAClE,IAAK,OACH,OAAOkzB,EAAc1nL,IAAAA,cAACu0J,GAAAA,cAAa,CAACJ,QAAM,EAACK,eAAgBA,KAC7D,IAAK,QACH,OAAOkzB,EAAc1nL,IAAAA,cAACu6J,GAAAA,mBAAkB,CAACpG,QAAM,EAAC7mB,gBAAiBkuB,GAAAA,4BAA6BhH,eAAgBA,KACnH,IAAK,cACJ,OAAOkzB,EAAc1nL,IAAAA,cAACu3L,GAAc,CAACpjC,QAAM,EAACK,eAAgBA,KAE1D,QACE,MAAM,IAAI39J,MAAM,wCAEtB,CCjBA,MAAM4S,GAAUhK,EAAAA,GAAOC,GAAiB;;;;;;;;;gBASvBC,GAA+B,aAArBA,EAAME,WAA4BF,EAAM4Z,MAAMguB,OAAOkiJ,SAASC,OAAS;;;0BAGvE/pL,GACJ,aAArBA,EAAME,WAENF,EAAMm4L,eAAiBn4L,EAAM4Z,MAAMguB,OAAOkiJ,SAASC,OAAS/pL,EAAM4Z,MAAMguB,OAAOkiJ,SAAS1jL,MAExF;;EAGI8mE,GAAcptE,EAAAA,GAAOC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;EAyBxBgpL,GAAMjpL,EAAAA,GAAOC,GAAG;;;YAGTC,GAAqD,YAA1CA,EAAM4Z,MAAMguB,OAAO6T,WAAW1sC,QAAwB,oBAAsB;;;;;;;;;;;;;;;;;EAmB9Fo0K,GAAYrjL,EAAAA,GAAOC,GAAG;;EAItB82L,GAAsBzxK,GAA8BA,GAAaA,EAAU0xK,OAAoC,IAA3B1xK,EAAU0xK,MAAM36L,OAEpG,SAAUy/F,GAAW32F,GAAkD,IAAjD,mBAAEuuF,EAAkB,YAAE4H,GAA2Bn2F,EAC3E,MAAMmgB,GAAYkB,EAAAA,GAAAA,MACZ7kB,GAAWC,EAAAA,EAAAA,MACXupL,GAAyBj6K,EAAAA,EAAAA,sBAAqB,6BAE7ConL,EAAUC,IAAe53L,EAAAA,EAAAA,UAAS,OAClCksC,EAAW2rJ,IAAgB73L,EAAAA,EAAAA,UAAS,OACpC83L,EAAUC,IAAe/3L,EAAAA,EAAAA,UAAS,OAClCg4L,EAAWC,IAAgBj4L,EAAAA,EAAAA,UAAS,OACpCk4L,EAASC,IAAcn4L,EAAAA,EAAAA,UAAS,OAEhCmZ,EAAO6vE,IAAYhpF,EAAAA,EAAAA,UAAyB,YAE7Co4L,EAAqBA,KACzBlC,EAAgBt2L,IAAAA,cAAC07J,GAAAA,cAAa,MAAK,WAAW,EAE1C+8B,EAAuBA,KAC3BnC,EAAgBt2L,IAAAA,cAACi7J,GAAAA,gBAAe,MAAK,mBAAmB,EAEpDy9B,EAA0BA,KAC9BpC,EAAgBt2L,IAAAA,cAACu6J,GAAAA,mBAAkB,MAAK,uBAAuB,EAE3Do+B,EAAqBA,KACzBrC,EAAgBt2L,IAAAA,cAACu0J,GAAAA,cAAa,MAAK,YAAY,EAE3CqkC,EAAiBA,KACrBtC,EAAgBt2L,IAAAA,cAACs7J,GAAAA,UAAS,MAAK,QAAQ,GAGzCh5J,EAAAA,EAAAA,YAAU,KACgB,WAApByiB,aAAS,EAATA,EAAWgmK,OACb3hG,EAAS,QAGwB,UAA/BrkE,aAAS,EAATA,EAAWimK,mBACbJ,EAAuB1jL,SAAS,8BAA+B,CAC7DynC,OAAQA,KACN6pJ,GAAoB,IAGxB5N,EAAuB1jL,SAAS,+BAAgC,CAC9DynC,OAAQA,KACN8pJ,GAAsB,IAG1B7N,EAAuB1jL,SAAS,mCAAoC,CAClEynC,OAAQA,KACN+pJ,GAAyB,IAG7B9N,EAAuB1jL,SAAS,wBAAyB,CACvDynC,OAAQA,KACNgqJ,GAAoB,IAGxB/N,EAAuB1jL,SAAS,yBAA0B,CACxDynC,OAAQA,KACNiqJ,GAAgB,I,GAIrB,IAEH,MAsEMtC,EAAkBA,CAACC,EAAsBz1L,KAC7CM,EAAS,CAAE3K,KAAM,gBACjBskG,EAAYj6F,GACZqyF,EAAmBojG,EAAQ,EAGvBsC,EAAkBA,KACtB,MAAMhlL,EAAQzf,OAAOm0B,WACrB,IAAIouK,GAAgB,EAMpB,GAJI9iL,EAAQ,KAAO2iL,GAAmBzxK,KACpC4xK,GAAgB,GAGd5xK,aAAS,EAATA,EAAW0xK,MAAO,CACpB,MAAMqC,EAAc/zK,EAAU0xK,MAAM3yL,KAAKg3E,IACvC,OAAQA,GACN,IAAK,YACH,MA9CiB67G,KACzB,IAAInyL,EAAOxE,IAAAA,cAAC8xD,GAAAA,EAAQ,CAACptD,QAAQ,UAM7B,OAJI8xL,GAAmBzxK,KACrBvgB,EAAO,MAIPxE,IAAAA,cAACmE,EAAAA,EAAG,CAACK,KAAMA,EAAMH,IAAI,SAASlB,QAAUrB,GAAM62L,IAAsBpzL,eAAgBoxL,GAAa,0BAE3F,EAoCOM,CAAkBN,GAC3B,IAAK,uBACH,MA5EuBA,KAC/B,IAAInyL,EAAOxE,IAAAA,cAACuO,GAAAA,EAAI,CAAC7J,QAAQ,UAMzB,OAJI8xL,GAAmBzxK,KACrBvgB,EAAO,MAIPxE,IAAAA,cAACmE,EAAAA,EAAG,CAACK,KAAMA,EAAMH,IAAI,SAASlB,QAAUrB,GAAM42L,IAA2BnzL,eAAgBoxL,GACvF32L,IAAAA,cAAA,QAAM2K,MAAO,CAAEyF,WAAY,WAAU,wBACjC,EAkEO0mL,CAAwBH,GACjC,IAAK,kBACH,MA5FkBA,KAC1B,IAAInyL,EAAOxE,IAAAA,cAAC+2L,GAAAA,EAAQ,CAACryL,QAAQ,UAM7B,OAJI8xL,GAAmBzxK,KACrBvgB,EAAO,MAIPxE,IAAAA,cAACmE,EAAAA,EAAG,CAACK,KAAMA,EAAMH,IAAI,SAASlB,QAAUrB,GAAM02L,IAAsBjzL,eAAgBoxL,GAAa,WAE3F,EAkFOK,CAAmBL,GAC5B,IAAK,mBACH,MAlEwBA,KAChC,IAAInyL,EAAOxE,IAAAA,cAAC42L,GAAAA,EAAI,CAAClyL,QAAQ,UAMzB,OAJI8xL,GAAmBzxK,KACrBvgB,EAAO,MAIPxE,IAAAA,cAACmE,EAAAA,EAAG,CAACK,KAAMA,EAAMH,IAAI,SAASlB,QAAUrB,GAAM22L,IAAwBlzL,eAAgBoxL,GAAa,mBAE7F,EAwDOE,CAAyBF,GACpC,IAAK,aACD,MAxCcA,KACtB,IAAInyL,EAAOxE,IAAAA,cAACuO,GAAAA,EAAI,CAAC7J,QAAQ,UAMzB,OAJI8xL,GAAmBzxK,KACrBvgB,EAAO,MAIPxE,IAAAA,cAACmE,EAAAA,EAAG,CAACK,KAAMA,EAAMH,IAAI,SAASlB,QAAUrB,GAAM82L,IAAkBrzL,eAAgBoxL,GAAa,6BAEvF,EA8BOoC,CAAepC,GACxB,QACE,OAAO,K,IAGTmC,EAAYh9L,QAAU,IACpBg9L,EAAY,IACdd,EAAYc,EAAY,IAEtBA,EAAY,IACdb,EAAaa,EAAY,IAEvBA,EAAY,IACdX,EAAYW,EAAY,IAEtBA,EAAY,IACdT,EAAaS,EAAY,IAEvBA,EAAY,IACdP,EAAWO,EAAY,I,IAM/Bx2L,EAAAA,EAAAA,YAAU,KAERu2L,GAAiB,GAChB,IAWH,OAEE74L,IAAAA,cAAAA,IAAAA,SAAA,KACGw2L,GAAmBzxK,GAClB/kB,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAOA,GACpBvZ,IAAAA,cAACyJ,GAAO,CAACquL,gBAAgB,EAAMj4L,WAAY0Z,GACzCvZ,IAAAA,cAACuT,EAAAA,GAAM,CACL1Q,WAAY,CACV,CAACkI,EAAAA,GAAY0I,SAAU,CACrB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYmJ,MAAO,CAClB,CAAE/d,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYiT,OAAQ,CACnB,CAAE7nB,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYyG,OAAQ,CACnB,CAAErb,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,MAI1B1T,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUR,QAAS,CAAEC,IAAKC,EAAAA,EAAiBoyC,cAC1D93C,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUC,OAAQC,EAAAA,EAAgBgE,aACjDlK,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAciK,OAAQnR,WAAYC,EAAAA,GAAoBwD,aACrEtG,IAAAA,cAAA,OAAKoR,yBAxCrB2T,aAAS,EAATA,EAAWuxJ,WAAWxhF,EAAAA,EAAAA,oBAAmB/vE,EAAUuxJ,WAAYxhF,EAAAA,EAAAA,oBAFrC,2CA6CZ90F,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAciK,OAAQnR,WAAYC,EAAAA,GAAoBC,SACrE/C,IAAAA,cAAA,OAAKoR,yBAvCrB2T,aAAS,EAATA,EAAWinB,WAAW8oD,EAAAA,EAAAA,oBAAmB/vE,EAAUinB,WAAY8oD,EAAAA,EAAAA,oBAF/D,kJA4CY90F,IAAAA,cAACsF,EAAAA,EAAS,CACRU,KAAM,SACNC,OAAQC,EAAAA,EAAgB2O,UACxBrP,QAAS,CAAEK,OAAQH,EAAAA,EAAiBoyC,YAAaryC,IAAKC,EAAAA,EAAiBg7H,cAEvE1gI,IAAAA,cAAC8iL,GAAS,KACR9iL,IAAAA,cAAC6K,GAAAA,EAAiB,CAACC,IAAKC,EAAAA,GAAYC,MACjC+sL,GAAsB,KACtBzrJ,GAAwB,KACxB4rJ,GAAsB,KACtBE,GAAwB,KACxBE,GAAoB,MAGvBt4L,IAAAA,cAAC6K,GAAAA,EAAiB,CAACI,IAAKF,EAAAA,GAAYC,MACjC+sL,GAAsB,KACtBzrJ,GAAwB,KACxB4rJ,GAAsB,KACtBE,GAAwB,KACxBE,GAAoB,YASnCt4L,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAOA,GACpBvZ,IAAAA,cAACyJ,GAAO,CAACP,UAAU,gBAAgBrJ,WAAY0Z,GAC7CvZ,IAAAA,cAACuT,EAAAA,GAAM,CACL1Q,WAAY,CACV,CAACkI,EAAAA,GAAY0I,SAAU,CACrB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,MAI1B1T,IAAAA,cAAC0oL,GAAG,KACF1oL,IAAAA,cAAC6sE,GAAW,KACV7sE,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,UACfhG,IAAAA,cAAC6K,GAAAA,EAAiB,CAACC,IAAKC,EAAAA,GAAYiT,OAClChe,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,YAAaD,MAAI,IACpD0e,aAAS,EAATA,EAAWuxJ,UAAWvxJ,EAAUuxJ,SAAW,kCAGhDt2K,IAAAA,cAAC6K,GAAAA,EAAiB,CAACI,IAAKF,EAAAA,GAAYiT,MAAOlT,IAAKC,EAAAA,GAAYyG,OAC1DxR,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBg6H,YAAaz2H,MAAI,IACpD0e,aAAS,EAATA,EAAWuxJ,UAAWvxJ,EAAUuxJ,SAAW,kCAGhDt2K,IAAAA,cAAC6K,GAAAA,EAAiB,CAACI,IAAKF,EAAAA,GAAYyG,OAClCxR,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,YAAaD,MAAI,IACpD0e,aAAS,EAATA,EAAWuxJ,UAAWvxJ,EAAUuxJ,SAAW,kCAGhDt2K,IAAAA,cAAC6K,GAAAA,EAAiB,CAACI,IAAKF,EAAAA,GAAYC,MAClChL,IAAAA,cAACsF,EAAAA,EAAS,CAACE,QAAS,CAAEC,IAAKC,EAAAA,EAAiBwE,cAC1ClK,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,UACnCgiB,aAAS,EAATA,EAAWinB,UACRjnB,EAAUinB,SACV,kJAMdhsC,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUC,OAAQC,EAAAA,EAAgB2O,WAChDkjL,GAAsB,KACtBzrJ,GAAwB,KACxB4rJ,GAAsB,KACtBE,GAAwB,KACxBE,GAAoB,UASvC,C,eC/ZM,SAAUx8F,GAAWn8F,GAGzB,OACEK,IAAAA,cAAA,OAAKkJ,UAAU,eACblJ,IAAAA,cAACkpF,EAAAA,iBAAgB,CACfC,gBAAiBnpF,IAAAA,cAACqmK,GAAAA,GAAa,MAC/Bx8J,mBAAoBhF,MACpBoD,sBAAuBA,IAAM,KAC7BkB,WAAW,EACX8I,SAAW,WAInB,C,eCCA,MAAMxI,GAAUhK,EAAAA,GAAOC,GAAG;;;;;;;;;;EAYpBojL,GAAYrjL,EAAAA,GAAOC,GAAG;;EAItB,SAAUk8F,GAAkBj8F,GAChC,MAAM,mBAAEwzF,EAAkB,YAAE4H,GAAgBp7F,EAEtColB,GAAYkB,EAAAA,EAAAA,gBACZ7kB,GAAWC,EAAAA,EAAAA,MAEXmkJ,EAAcA,KAAOzgI,aAAS,EAATA,EAAWnW,KAAMmW,EAAUnW,IAAM,aAW5D,OACE5O,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAM,YACnBvZ,IAAAA,cAACyJ,GAAO,KACNzJ,IAAAA,cAACuT,EAAAA,GAAM,CACL1Q,WAAY,CACV,CAACkI,EAAAA,GAAY0I,SAAU,CACrB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYmJ,MAAO,CAClB,CAAE/d,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYiT,OAAQ,CACnB,CAAE7nB,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYyG,OAAQ,CACnB,CAAErb,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,MAI1B1T,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUR,QAAS,CAAEC,IAAKC,EAAAA,EAAiBoyC,cAC1D93C,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUC,OAAQC,EAAAA,EAAgBgE,aACjDlK,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAciK,OAAQnR,WAAYC,EAAAA,GAAoBwD,aACrEtG,IAAAA,cAAA,OAAKoR,yBArCjB2T,aAAS,EAATA,EAAWuxJ,WAAWxhF,EAAAA,EAAAA,oBAAmB/vE,EAAUuxJ,WAAYxhF,EAAAA,EAAAA,oBAFrC,oCA0ChB90F,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAciK,OAAQnR,WAAYC,EAAAA,GAAoBC,SACrE/C,IAAAA,cAAA,OAAKoR,yBApCjB2T,aAAS,EAATA,EAAWinB,WAAW8oD,EAAAA,EAAAA,oBAAmB/vE,EAAUinB,WAAY8oD,EAAAA,EAAAA,oBAF/D,0GAyCQ90F,IAAAA,cAACsF,EAAAA,EAAS,CACRU,KAAM,SACNC,OAAQC,EAAAA,EAAgB2O,UACxBrP,QAAS,CAAEK,OAAQH,EAAAA,EAAiBoyC,YAAaryC,IAAKC,EAAAA,EAAiBg7H,cAEvE1gI,IAAAA,cAAC8iL,GAAS,KACR9iL,IAAAA,cAAC6K,GAAAA,EAAiB,CAACC,IAAKC,EAAAA,GAAYC,MAClChL,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJlB,QAASA,KACP/B,EAAS,CAAE3K,KAAM,gBACjBskG,EAAYyqD,KACZryD,EAAmBnzF,IAAAA,cAAC8mK,GAAAA,EAAc,MAAI,EAExCvhK,gBAAc,GAEbigJ,MAILxlJ,IAAAA,cAAC6K,GAAAA,EAAiB,CAACI,IAAKF,EAAAA,GAAYC,MAClChL,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJlB,QAASA,KACP/B,EAAS,CAAE3K,KAAM,gBACjBskG,EAAYyqD,KACZryD,EAAmBnzF,IAAAA,cAAC8mK,GAAAA,EAAc,MAAI,GAGvCthB,WAUrB,C,eCrEO,MAAMwzC,GAAoBv5L,EAAAA,GAAOC,GAAG;sBACpBC,GAAUA,EAAM4Z,MAAMguB,OAAO6T,WAAW1sC;;;;;;EAQzDuqL,GAA0B9iM,GAC9BA,EACG2B,QAAQ,IAAK,KACbJ,MAAM,KACNoM,KAAK2vK,GAASA,EAAK9mK,OAAO,GAAGC,cAAgB6mK,EAAK5mK,MAAM,KACxDmnB,KAAK,KAEJ,SAAUqb,KACd,MAAM3oC,GAAeiK,EAAAA,EAAAA,sBAAqB,kBACpC,UAAEpN,EAAS,aAAE2gG,IAAiBziG,EAAAA,EAAAA,KACjCC,GAAwBA,EAAMF,WAC/B,CAACgkG,EAAMz2D,IAASy2D,EAAKjiG,YAAcwrC,EAAKxrC,WAAaiiG,EAAKtB,eAAiBn1D,EAAKm1D,eAE5E7+F,GAAW5D,EAAAA,EAAAA,KAAaC,GAAwBA,EAAMlJ,SAASqB,OAAOwL,WACtE6zL,GAAe/3L,EAAAA,EAAAA,QAA2B,MAC1Cg4L,GAAoBh4L,EAAAA,EAAAA,QAA2B,MAC/Ci4L,GAAoBj4L,EAAAA,EAAAA,QAA2B,OAC9Ck4L,EAAwBC,IAA6Bl5L,EAAAA,EAAAA,UAAsB,OAC3E66F,EAAsBD,IAA2B56F,EAAAA,EAAAA,UAAsB,OACvEiU,EAAU0mF,IAAe36F,EAAAA,EAAAA,UAAiB,OAC1Cm5L,EAAsBC,IAA2Bp5L,EAAAA,EAAAA,WAAS,GAC3DkB,GAAkBC,EAAAA,EAAAA,sBAClB2D,GAAQC,EAAAA,EAAAA,MACRsB,GAAMmK,EAAAA,EAAAA,4BACNtF,GAASC,EAAAA,EAAAA,uBACT2vF,GAAgB/5F,EAAAA,EAAAA,QAAe,MAC/BqtC,GAAaC,EAAAA,EAAAA,kBACDvvC,EAAAA,GAAAA,OAElBoD,EAAAA,EAAAA,YAAU,KACJ+2L,GACFI,IAIEx+F,GACFy+F,G,GAED,CAACL,EAAwBp+F,KAE5B34F,EAAAA,EAAAA,YAAU,KACJ4hG,GACFy1F,G,GAED,CAACz1F,KAEJ5hG,EAAAA,EAAAA,YAAU,KACR,GAAI44F,EAAcn5F,SAAWysC,EAAY,EACvCyoF,EAAAA,GAAAA,IAAa,kBAAmB/7B,EAAcn5F,SAC9C,MAAM5L,EAAO8iM,GAAuB/9F,EAAcn5F,SAClD9O,QAAQ+G,IAAI,6BAA8B,mBAAoB7D,E,IAE/D,CAAC+kG,KAEJ54F,EAAAA,EAAAA,YAAU,KACJ+C,IACF4xH,EAAAA,GAAAA,IAAa,eAAgB5xH,E,GAE9B,CAACA,IAEJ,MAAM8tF,EAAqBA,CAAChK,EAA8BowG,KACpDA,GACFC,EAAwBD,GAE1BD,EAA0BnwG,EAAgB,EAGtCywG,EAAgBA,CAACl4L,EAAYmD,IAE/B7E,IAAAA,cAAC6G,EAAAA,oBAAmB,CAAC3B,MAAOA,EAAOuB,IAAKA,EAAK8S,MAAM,WAAW1U,MAAOA,GACnE7E,IAAAA,cAACg5L,GAAiB,CAAC9vL,UAAU,sBAC3BlJ,IAAAA,cAACkpF,EAAAA,GAAgB,CACfC,gBAAiBkwG,EACjBxvL,mBAAoBhF,EACpBoD,sBAAuBA,EACvBkB,WAAW,MAOf0wL,EAAqBA,CAACn4L,EAAYmD,IAEpC7E,IAAAA,cAAC6G,EAAAA,oBAAmB,CAAC3B,MAAOA,EAAOuB,IAAKA,EAAK8S,MAAM,QACjDvZ,IAAAA,cAACkpF,EAAAA,GAAgB,CACfC,gBAAiB8R,EACjBpxF,mBAAoBhF,EACpBoD,sBAAuBA,EACvBkB,WAAW,KAMb2wL,EAA0BA,CAACp4L,EAAYmD,IAEzC7E,IAAAA,cAAC6G,EAAAA,oBAAmB,CAAC3B,MAAOA,EAAOuB,IAAKA,GACtCzG,IAAAA,cAAC+rC,EAAAA,GAAiB,CAACliC,mBAAoBhF,EAAO6mC,aAAcwtJ,EAAan3L,QAAQ8C,SAKjF42I,EAAwBA,CAAC/5I,EAAYmD,IAEvC7E,IAAAA,cAAC6G,EAAAA,oBAAmB,CAAC3B,MAAOA,EAAOuB,IAAKA,GACtCzG,IAAAA,cAACwrC,EAAAA,GAAe,CACdC,UAAU,eACV5hC,mBAAoBhF,EACpB6mC,aAAcwtJ,EAAan3L,QAAQ8C,MACnC8mC,YAAaA,UAMf8tJ,EAAqBA,KACpBF,GACHj4L,EAAgB82F,iBAAiB,CAAE/0F,UAAWgR,IAEhD,MAAM8D,EAAQzR,EAAa49J,qBAAqBs1B,EAAe,CAAC,EAAG,CAAEr1L,KAAMggK,GAAAA,GAAuBC,IAClG00B,EAAan3L,QAAUoW,CAAK,EAGxBuhL,EAA0BA,KACzBH,GACHj4L,EAAgB82F,iBAAiB,CAAE/0F,UAAWgR,IAGhD,MAAM8D,EAAQzR,EAAaC,eACzBkzL,EACA,CAAC,EACD,CAAEt1L,KAAMuC,GAAAA,GAAiBmK,EAAG2zJ,QAASA,IAAM5pE,EAAwB,QAErEm+F,EAAkBp3L,QAAUoW,CAAK,EAG7BwhL,EAA0BA,KAC9B,MAAMxhL,EAAQzR,EAAaC,eAAemzL,EAAyB,CAAC,EAAG,CAAEv1L,KAAMuC,GAAAA,GAAiBmK,IAChGmoL,EAAkBr3L,QAAUoW,CAAK,EAG7BlQ,EAAwBA,IACdvB,EAAaC,eAAe80I,EAAuB,CAAC,EAAG,CAAEl3I,KAAMuC,GAAAA,GAAiBmK,IAIhG,OAAOjR,IAAAA,SACL,KACE86F,EAAAA,EAAAA,YACExvF,EACA6nF,EACA4H,EACAs+F,EACAr+F,EACAC,EACAC,IAEJ,GAEJ,CChOM,SAAU0B,GAAuBh4F,GAAqC,IAApC,mBAAEuuF,GAAkCvuF,EAG1E,OAFAsuF,EAAAA,EAAAA,0BAAyBC,EAAoBnzF,IAAAA,cAAC8uK,GAAAA,kBAAiB,OAExD,IACT,CCFM,SAAUzzE,GAAwBz2F,GAAqC,IAApC,mBAAEuuF,GAAkCvuF,EAE3E,MAA6B,oBADXqhB,EAAAA,EAAAA,gBACJ0hK,WACL3nL,IAAAA,cAAC+5L,GAA2B,CAAC5mG,mBAAoBA,IAEnD,IACT,CAEM,SAAU4mG,GAA2Bz6K,GAAqC,IAApC,mBAAE6zE,GAAkC7zE,EAC9E,MAAMyF,GAAYkB,EAAAA,EAAAA,gBACZmnH,EAAcvzI,IAClBs5F,EACEnzF,IAAAA,cAACgvK,GAAAA,sBAAqB,CACpB1hC,gBAAiB,CACfzzI,aAGJ,EACD,EAyBH,OAvBAyI,EAAAA,EAAAA,YAAU,K,YACR,MAAMzI,EAAS,CACbqsF,OAAQ,gBACR7gF,SAAU,gCACV2X,UAA+B,QAAtBnqB,EAAEkyB,aAAS,EAATA,EAAW21G,QAAQ,UAAC,IAAA7nI,OAAA,EAAAA,EAAGm7I,QAClCv3H,YAAY88J,EAAAA,GAAAA,kBAAqC,QAArBn0J,EAAC2F,aAAS,EAATA,EAAW21G,QAAQ,UAAC,IAAAt7G,OAAA,EAAAA,EAAGwuH,SACpD3wH,iBAAsC,QAAtBs0B,EAAExsB,aAAS,EAATA,EAAW21G,QAAQ,UAAC,IAAAnpF,OAAA,EAAAA,EAAG48F,YACzCpoH,OAA4B,QAAtB0nD,EAAE1oD,aAAS,EAATA,EAAW21G,QAAQ,UAAC,IAAAjtD,OAAA,EAAAA,EAAGusH,WAC/BxhD,OAAQ,CAAEwE,IAAKj4H,aAAS,EAATA,EAAWk4H,SAAUg9C,WAAY,IAAIl1K,aAAS,EAATA,EAAWo4H,kBAC/D1P,SAAU1oH,aAAS,EAATA,EAAW0oH,UAEjB76I,EAAOmyB,aAAS,EAATA,EAAWhyB,QAExBV,EAAAA,EAAAA,IAAcO,GACX+H,MAAM5H,IACLq6I,EAAW,IAAKvzI,EAAQ9G,UAAS,IAElC8H,OAAOV,IACNlH,QAAQC,MAAMiH,GACdizI,EAAW,IAAKvzI,EAAQ9G,OAAQ,CAAC,GAAI,GACrC,GACH,IAEIiN,IAAAA,cAAAA,IAAAA,SAAA,KACT,C,eClCA,MAAMk6L,GAAa,8EAEbpvK,GAAerrB,EAAAA,GAAOC,GAAG;;;;EAMzB,SAAUi9F,GAAiBh9F,GAC/B,MAAM,mBAAEwzF,GAAuBxzF,EAEzByB,GAAWC,EAAAA,EAAAA,MAEf,OAEErB,IAAAA,cAACuT,EAAAA,GAAM,CACL1Q,WAAY,CACV,CAACkI,EAAAA,GAAY0I,SAAU,CACrB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYC,MAAO,CAClB,CAAE7U,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYmJ,MAAO,CAClB,CAAE/d,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,KAG1BwkC,OAAQC,EAAAA,EAAaL,aAErB93C,IAAAA,cAAC8qB,GAAY,KACX9qB,IAAAA,cAAA,OAAK8T,IAAKomL,GAAYnmL,IAAI,iBAE5B/T,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUC,OAAQC,EAAAA,EAAgBK,WACjDvG,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,QAASsD,MAAI,kBAGnDrG,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,aACpCtG,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,cAAU,KAAW,kBAEjCrG,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,SAAO,4MAI7C/C,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJlB,QAAUrB,IACRV,EAAS,CAAE3K,KAAM,gBACjBqL,EAAE6B,iBACFwvF,EAAmBnzF,IAAAA,cAACouK,GAAAA,EAAkB,MAAI,EAE5C9pK,SAAS,WAAS,yBAO9B,C,0BClEA,MAAMmF,GAAUhK,EAAAA,GAAOC,GAAG;;;;;;;;;;EAYpBojL,GAAYrjL,EAAAA,GAAOC,GAAG;;EAItB,SAAUq8F,GAAWp8F,GACzB,MAAM,mBAAEwzF,EAAkB,YAAE4H,GAAgBp7F,EACtCyB,GAAWC,EAAAA,EAAAA,MAEX0jB,GAAYkB,EAAAA,EAAAA,gBAEZu/H,EAAcA,KAAOzgI,aAAS,EAATA,EAAWnW,KAAMmW,EAAUnW,IAAM,cAU5D,MAE8B,aAA1BmW,EAAUo1K,YACVn6L,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAM,YAErBvZ,IAAAA,cAACyJ,GAAO,KACNzJ,IAAAA,cAACuT,EAAAA,GAAM,CACL1Q,WAAY,CACV,CAACkI,EAAAA,GAAY0I,SAAU,CACrB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYmJ,MAAO,CAClB,CAAE/d,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYiT,OAAQ,CACnB,CAAE7nB,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAExB,CAAC3I,EAAAA,GAAYyG,OAAQ,CACnB,CAAErb,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,MAI1B1T,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUR,QAAS,CAAEC,IAAKC,EAAAA,EAAiBoyC,cAC1D93C,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUC,OAAQC,EAAAA,EAAgBgE,aACjDlK,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAciK,OAAQnR,WAAYC,EAAAA,GAAoBwD,aACrEtG,IAAAA,cAAA,OAAKoR,yBAvCjB2T,aAAS,EAATA,EAAWuxJ,WAAWxhF,EAAAA,EAAAA,oBAAmB/vE,EAAUuxJ,WAAYxhF,EAAAA,EAAAA,oBAFrC,2CA4ChB90F,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAciK,OAAQnR,WAAYC,EAAAA,GAAoBC,SACrE/C,IAAAA,cAAA,OAAKoR,yBAvCjB2T,aAAS,EAATA,EAAWinB,WAAW8oD,EAAAA,EAAAA,oBAAmB/vE,EAAUinB,WAAY8oD,EAAAA,EAAAA,oBAFrC,uEA4ClB90F,IAAAA,cAACsF,EAAAA,EAAS,CACRU,KAAM,SACNC,OAAQC,EAAAA,EAAgB2O,UACxBrP,QAAS,CAAEK,OAAQH,EAAAA,EAAiBoyC,YAAaryC,IAAKC,EAAAA,EAAiBg7H,cAEvE1gI,IAAAA,cAAC8iL,GAAS,KACR9iL,IAAAA,cAAC6K,GAAAA,EAAiB,CAACC,IAAKC,EAAAA,GAAYC,MAClChL,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJlB,QAASA,KACP/B,EAAS,CAAE3K,KAAM,gBACjBskG,EAAYyqD,KACZryD,EAAmBnzF,IAAAA,cAACiyK,GAAAA,GAAO,MAAI,EAEjC1sK,gBAAc,GAEbigJ,MAILxlJ,IAAAA,cAAC6K,GAAAA,EAAiB,CAACI,IAAKF,EAAAA,GAAYC,MAClChL,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJlB,QAASA,KACP/B,EAAS,CAAE3K,KAAM,gBACjBskG,EAAYyqD,KACZryD,EAAmBnzF,IAAAA,cAACiyK,GAAAA,GAAO,MAAI,GAGhCzsB,YAUjBxlJ,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAACkpF,EAAAA,iBAAgB,CACfC,gBAAiBnpF,IAAAA,cAAC8xK,GAAAA,GAAoB,MACtCjoK,mBAAoBhF,MACpBoD,sBAAuBA,IAAM,KAC7BkB,WAAW,EACX8I,SAAW,WAKnB,CCnIM,SAAUmoL,KACf,MAAM,eAAEz7G,IAAmBz6E,EAAAA,EAAAA,qBACrB5C,GAAkBC,EAAAA,EAAAA,KAClB2D,GAAQC,EAAAA,EAAAA,MACR/D,GAAWC,EAAAA,EAAAA,OACX,SAAE7I,GAA2B0M,EAAME,WAEnCugI,EAA+B,OADnB,IAAIxxI,gBAAgBC,OAAOC,SAASC,QAChC3B,IAAI,OAIpB8qI,EAAsC,CAC3CzpI,QAAS,CACR0pI,UAJe,iBAKfC,eAAgB,yBAChB4I,aAAc,MACd3I,UAAW,kBAEZ/jI,OAAQ,CACPwL,SAAU,iBACV4M,SAAU,YACPslF,aAAc,0BAElB+J,MAAO,CACN6/C,oBAAqB,SAIjBwD,EAAeA,KACpB,MAAM,SAAEnsJ,GAA2B0M,EAAME,YACnC,OAAEvL,GAAWrB,GACb,GAAEy3F,EAAE,MAAE5pD,EAAK,IAAE5xC,EAAG,OAAE07F,IAAWH,EAAAA,EAAAA,KA8BnC,MA5Ba,KACTmuC,EAAAA,EAAAA,IAAcV,EAAYzpI,SAC7B,4BAA6B,YAC7B,0BAA2B,YAC3B,oBAAqBS,EACrB,+BAAgC4xC,EAChC,wBAAyBxsC,EAAOwL,SAAW,cAAcxL,EAAOwL,iBAAoC,4CACpG,8BAA+B8qF,EAC/B,gCAAiCF,EAEjC,oBAAqB,aACrB,sBAAuBp2F,EAAO1D,KAC9B,2BAA4B0D,EAAO6lI,QACnC,2BAA4B7lI,EAAO8lI,cACnC,uBAAwB9lI,EAAO40B,MAC/B,8BAA+B50B,EAAO2kC,UACtC,mCAAoC,GAAG3kC,EAAO2iC,SAAS3iC,EAAO2kC,YAC9D,8BAA+B3kC,EAAO2iC,OAEtC,2BAA4B3iC,EAAOy6K,WACnC,2BAA4B,UAE5B,gCAAiCz6K,EAAO8X,IAAM9X,EAAO8X,IAAM,eAC3D,sCAAuC9X,EAAO6X,KAAO7X,EAAO6X,KAAO,mBAEhE8vI,EAAAA,EAAAA,IAAY/jB,EAAYn8B,OAGjB,GAGZh/F,EAAAA,EAAAA,YAAU,KACLqjI,IACH1yI,QAAQ+G,IAAI2qJ,KACZ1xJ,QAAQ+G,IAAIkL,EAAME,Y,GAEjB,CAAC5M,IAEJ,MAAMimF,EAAWnsF,SACT,IAAI27D,SAAa37D,MAAO47D,EAASC,K,QACvC,MAAMr7D,EAAO6xJ,IACPpmB,EAAkBjqG,KAAKC,UAAUzhC,GACjC0rI,EAAalqG,KAAKb,MAAM8qG,GACxB/lI,GAAWimI,EAAAA,EAAAA,IAAgBD,GAC3BlpI,QAAiB4D,EAAAA,EAAAA,IAAmBV,GAEN,MAAV,QAAtB4mB,EAAc,QAAdvsB,EAAAyC,aAAQ,EAARA,EAAUxC,YAAI,IAAAD,OAAA,EAAAA,EAAEwG,cAAM,IAAA+lB,OAAA,EAAAA,EAAEppB,aACrBqkM,IACNj5L,EAAS,CAAE3K,KAAM,oBAAqBiM,QAASpN,EAASxC,OACxDo7D,GAAQ,IAERA,GAAQ,E,IAKLmsI,EAAY/nM,UACjB,MAAM,SAAEkG,GAA2B0M,EAAME,YACnC,OAAEvL,GAAWrB,EAEnB,OAAO,IAAIy1D,SAAa37D,MAAO47D,EAASC,K,QACvC,MAAMr7D,EAAO6xJ,IACPnsJ,GAAWimI,EAAAA,EAAAA,IAAgB3rI,GAC3BwC,QAAiBiD,EAAAA,EAAAA,IAAaC,EAAUqB,EAAOygM,WAEjB,MAAV,QAAtBl7K,EAAc,QAAdvsB,EAAAyC,aAAQ,EAARA,EAAUxC,YAAI,IAAAD,OAAA,EAAAA,EAAEwG,cAAM,IAAA+lB,OAAA,EAAAA,EAAEppB,MAC3Bk4D,GAAQ,GAERA,GAAQ,E,GAER,EAIH,IAAIt1D,EAAQ,EACZ,MAAMuiF,EAAiB,CACtB,CACC5wE,MACCvK,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAK,UACfhG,IAAAA,cAAC4C,EAAAA,GAAI,oCAA6B5C,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,mBAC5CrG,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,SAAO,wFAG/ClJ,OAAQmG,IAAAA,cAACo/E,EAAAA,mBAAkB,CAAC5rE,yBAAuB,EAACoU,QACnD5nB,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAACmU,EAAAA,GAAa,CAACvQ,UAAU,EAAMzN,KAAK,aAAaoe,kBAAmB,IAAKH,SAAO,IAChFpU,IAAAA,cAACgpC,EAAAA,GAAS,CAAC7yC,KAAK,YAAY2K,MAAM,6BAA6BuT,SAAS,iBAAiB60B,UAAW,GAAIC,aAAc,CAAC,YAAa,aAAc,aAAcC,SAAU,OAI5KlhC,YAAatP,IACbzC,KAAM,cAEP,CACCoU,MACCvK,IAAAA,cAAAA,IAAAA,SAAA,uBACgBA,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,mCAG3BxM,OACCmG,IAAAA,cAACo/E,EAAAA,mBAAkB,CAClBx3D,QACC5nB,IAAAA,cAAA,OAAK2K,MAAO,CAAE6mD,aAAc,QAC3BxxD,IAAAA,cAAC6f,EAAAA,GAAsB,SAK3B3X,YAAatP,IACbzC,KAAM,kBACNsxF,QAAS,CAAC,OAAQ,UAAW,iBAC7BY,YAAa,CAAC,OAAQ,UAAW,kBAElC,CACC99E,MACCvK,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAK,UACfhG,IAAAA,cAAC4C,EAAAA,GAAI,sCAA+B5C,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,6BAC9CrG,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBC,SAAO,0FAG/ClJ,OACCmG,IAAAA,cAACo/E,EAAAA,mBAAkB,CAClBx3D,QACC5nB,IAAAA,cAAA,OAAK2K,MAAO,CAAE6mD,aAAc,QAC3BxxD,IAAAA,cAACiuB,EAAAA,GAAK,CAACrqB,UAAQ,IACf5D,IAAAA,cAACkgC,EAAAA,GAAQ,SAKbh4B,YAAatP,IACbzC,KAAM,gBACNsxF,QAAS,CAAC,YAAa,SACvBY,YAAa,CAAC,YAAa,IAAK,UAEjC,CACCxuF,OAAQmG,IAAAA,cAACu6L,GAAe,MACxBryL,YAAatP,IACbzC,KAAM,iBA2CR,OAvBAmM,EAAAA,EAAAA,YAAU,KACT,MAAM,UAAEs9H,EAAS,SAAErkD,EAAQ,aAAEH,EAAY,gBAAEE,EAAe,SAAEukD,GAVrD,CACND,UAAWzkD,EAAM,GACjBI,SAAUJ,EAAMA,EAAMr/E,OAAS,GAC/Bs/E,aAAc,CAAC,GACfE,gBAAiBH,EAAMr/E,OACvB+jI,SAAU,MAOLC,EAAmC,CACxCz2C,aAAa,EACbpO,iBAAkBwD,EAClBH,aAAYshD,EAAUthD,WACtB/C,WACAD,kBACApzE,YAAa03H,EAAU13H,YACvB3E,UAAW,WACX4F,WAAW,EACX8I,SAAU,QACVgyB,KAAM27F,EACNzkD,MAAO0kD,GAAsB1kD,EAC7BC,eACA2O,kBAAmB/pF,IAAAA,cAACw6L,GAAW,OAGhC77G,EAAemhD,EAAerC,GAAa,GAC3Cn8H,EAAgB+3F,eAAe,GAC7B,IAEKle,EAAen7E,IAAAA,cAACo6F,EAAAA,eAAc,CAACjf,MAAOA,EAAO6N,WAAW,iBAAhD,IACjB,C,0BC5NO,MAAMuxG,GAAkBA,KAC9B,MAAM,SAAErzL,EAAQ,OAAEC,IAAWvF,EAAAA,EAAAA,MAEvB64L,EAA0Bz6L,IAAAA,cAACmE,EAAAA,EAAG,CACnCE,IAAI,IACJpC,OAAO,SACP6C,KAAK,0EACLR,SAAS,YAAU,0BAGdo2L,EAAqB16L,IAAAA,cAACmE,EAAAA,EAAG,CAC9BE,IAAI,IACJS,KAAK,uCACLR,SAAS,YAAU,iCAGpB,OACCtE,IAAAA,cAACo/E,EAAAA,mBAAkB,CAAC5rE,yBAAuB,EAACoU,QAC3C5nB,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAACsF,EAAAA,EAAS,CAAC2E,gBAAgB,SAASzE,QAAS,CAACC,IAAKC,EAAAA,EAAiBwY,cACnEle,IAAAA,cAAA,OAAK8T,IAAKtP,KAAMuP,IAAI,UAGrB/T,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,YAAawD,UAAWC,EAAAA,GAAciK,QAAM,cACtEhU,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,oBAGtBrG,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAK,SAASR,QAAS,CAACC,IAAKC,EAAAA,EAAiBwE,YAAarE,OAAQH,EAAAA,EAAiBwE,cAC9FlK,IAAAA,cAACsF,EAAAA,EAAS,KACTtF,IAAAA,cAACg1K,EAAQ,CACRl0K,MACAd,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAAC4C,EAAAA,GAAI,kBAAY63L,EAAuB,8CAGzC95L,MAAM,OACNxK,KAAK,aACL8J,IAAMA,IACLiH,EAASjH,EAAK,CAAE2D,UAAU,GAAO,KAIpC5D,IAAAA,cAACsF,EAAAA,EAAS,KACR6B,EAAmB,WAAInH,IAAAA,cAACwJ,EAAAA,GAAU,CAACN,UAAU,eAAa,6BAA0C,OAIvGlJ,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAK,SAASR,QAAS,CAACK,OAAQH,EAAAA,EAAiBwE,cAC3DlK,IAAAA,cAACsF,EAAAA,EAAS,KACTtF,IAAAA,cAACg1K,EAAQ,CACRl0K,MACAd,IAAAA,cAAAA,IAAAA,SAAA,KACCA,IAAAA,cAAC4C,EAAAA,GAAI,6MAAuM63L,EAAuB,8CAGpO95L,MAAM,OACNxK,KAAK,iBACL8J,IAAMA,IACLiH,EAASjH,EAAK,CAAE2D,UAAU,GAAO,KAIpC5D,IAAAA,cAACsF,EAAAA,EAAS,KACR6B,EAAuB,eAAInH,IAAAA,cAACwJ,EAAAA,GAAU,CAACN,UAAU,eAAa,6BAA0C,OAI3GlJ,IAAAA,cAAC8W,EAAAA,GAAc,CAACC,QAAQ,qBAAqBC,OAAO,kFAAkFC,YAAY,yBAElJjX,IAAAA,cAACsF,EAAAA,EAAS,CAACW,OAAQC,EAAAA,EAAgBK,UAAWP,KAAM,SAAUR,QAAS,CAACC,IAAKC,EAAAA,EAAiBi1L,cAC7F36L,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,EAACsH,YAAU,EAAC9K,WAAYC,EAAAA,GAAoBC,QAAS+G,UAAWC,EAAAA,GAAciK,QAAM,6BAG9FhU,IAAAA,cAAC4C,EAAAA,GAAI,CAAC+K,YAAU,EAAC9K,WAAYC,EAAAA,GAAoB2K,QAAS3D,UAAWC,EAAAA,GAAciK,QAAM,gaACsU0mL,EAAkB,sEAAqED,EAAuB,kBAK9gB,EC/ESD,GAAcA,KACzB,MAAM,SAAEh5L,IAAaC,EAAAA,EAAAA,KAAaC,GAAwBA,KACpD,aAAEszF,GAAiBxzF,EAEnBF,GAAkBC,EAAAA,EAAAA,sBAClBH,GAAWC,EAAAA,EAAAA,OAEjBiB,EAAAA,EAAAA,YAAU,KAER,MAAM09H,EAAsBx+H,aAAQ,EAARA,EAAU85E,gBAEtCl6E,EAAS,CAAE3K,KAAM,qBAAsBiM,SAAS,IAChDtB,EAAS,CAAE3K,KAAM,gBAAiBiM,QAAS,CAAEuhC,KAAM,CAAE/7B,YAAa83H,EAAqB7pI,KAAM,eAE7FmL,EAAgBs3F,sCACd,CACEv1F,eAAWnN,IAEb6+F,EAAAA,EAAAA,iBAAgBC,GACjB,GACA,IAEH,MAAMzvB,EAAgB,CACpBh7D,MAAOvK,IAAAA,cAACwoB,EAAAA,GAAa,CAACC,iBAAiB,SAASC,cAAc,qBAC9D7uB,OAAQmG,IAAAA,cAACkpB,EAAAA,GAAc,CAACC,SAAS,kGAEnC,OACEnpB,IAAAA,cAAC+oF,EAAAA,EAAgB,CACfC,WAAW,eACXz+E,MAAOg7D,EAAOh7D,MACd1Q,OAAQ0rE,EAAO1rE,OACfkK,IAAK,IACLg9E,wBAAsB,GACtB,EClCAt3E,GAAUhK,EAAAA,GAAOC,GAAG;;;;;;;;;;EAYpBojL,GAAYrjL,EAAAA,GAAOC,GAAG;;EAItB,SAAUs8F,GAAWr8F,GAC1B,MAAM,mBAAEwzF,EAAkB,YAAE4H,GAAgBp7F,EACtCyB,GAAWC,EAAAA,EAAAA,MAEX0jB,GAAYkB,EAAAA,EAAAA,gBAQZu/H,EAAcA,KAAOzgI,aAAS,EAATA,EAAWnW,KAAMmW,EAAUnW,IAAM,cAE5D,OACC5O,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAM,YACpBvZ,IAAAA,cAACyJ,GAAO,KACPzJ,IAAAA,cAACuT,EAAAA,GAAM,CACN1Q,WAAY,CACX,CAACkI,EAAAA,GAAY0I,SAAU,CACtB,CAAEtd,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAYmJ,MAAO,CACnB,CAAE/d,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAYiT,OAAQ,CACpB,CAAE7nB,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,IAEvB,CAAC3I,EAAAA,GAAYyG,OAAQ,CACpB,CAAErb,KAAM,IAAKud,QAAS,GACtB,CAAEvd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,MAIxB1T,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUR,QAAS,CAAEC,IAAKC,EAAAA,EAAiBoyC,cAC3D93C,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUC,OAAQC,EAAAA,EAAgBgE,aAClDlK,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAciK,OAAQnR,WAAYC,EAAAA,GAAoBwD,aACtEtG,IAAAA,cAAA,OAAKoR,yBArCsB2T,aAAS,EAATA,EAAWuxJ,WAAWxhF,EAAAA,EAAAA,oBAAmB/vE,EAAUuxJ,WAAYxhF,EAAAA,EAAAA,oBADrE,uDAyCtB90F,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAciK,OAAQnR,WAAYC,EAAAA,GAAoBC,SACtE/C,IAAAA,cAAA,OAAKoR,yBAtCsB2T,aAAS,EAATA,EAAWinB,WAAW8oD,EAAAA,EAAAA,oBAAmB/vE,EAAUinB,WAAY8oD,EAAAA,EAAAA,oBADrE,+GA0CvB90F,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUC,OAAQC,EAAAA,EAAgB2O,UAAWrP,QAAS,CAAEK,OAAQH,EAAAA,EAAiBoyC,YAAaryC,IAAKC,EAAAA,EAAiBg7H,cACpI1gI,IAAAA,cAAC8iL,GAAS,KACR9iL,IAAAA,cAACmE,EAAAA,EAAG,CACHE,IAAI,SACJlB,QAASA,KACR/B,EAAS,CAAE3K,KAAM,gBACjBskG,EAAYyqD,KACZryD,EAAmBnzF,IAAAA,cAACo6L,GAAO,MAAI,EAEhC70L,eAAgB,CAAC,CAACwF,EAAAA,GAAY0I,UAAU,EAAM,CAAC1I,EAAAA,GAAYC,OAAO,IAEjEw6I,UASX,C,0BCjFM,SAAUo1C,GAAOh2L,GAAmE,IAAlE,YAAEk5C,EAAW,iBAAE+8I,EAAgB,kBAAEC,GAAiCl2L,EACxF,OACE5E,IAAAA,cAAA,OAAK2K,MAAO,CAAE8U,QAAS,OAAQm4B,eAAgB,SAAUz3B,IAAK,SAC3D29B,EACC99C,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJC,SAAS,YACTC,KAAK,QACLpB,QAAUrB,IACRA,EAAE6B,iBACFk3L,IACA/4L,EAAEktE,iBAAiB,EAErB17D,UAAU,aACV9O,KAAMxE,IAAAA,cAACkvE,GAAAA,EAAM,CAACxqE,QAAQ,WAAU,uBAIhC,KACJ1E,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJC,SAAS,YACTC,KAAK,QACLpB,QAAUrB,IACRA,EAAE6B,iBACFm3L,GAAmB,EAErBxnL,UAAU,aACV9O,KAAMxE,IAAAA,cAAC00E,GAAAA,EAAS,CAAChwE,QAAQ,WAAU,mBAM3C,CCpCA,MAAM4wE,GAAa71E,EAAAA,GAAOC,GAAG;;;;;;;;;;;;EAqBvB,SAAUq7L,GAAWn2L,GAKR,IALS,qBAC1BmyE,EAAoB,kBACpB/lB,EAAiB,uBACjBC,EAAsB,0BACtB6lB,GACiBlyE,EAGjB,MAAM2xE,GAAiBp1E,EAAAA,EAAAA,QAAO,MACxBq1E,GAAcr1E,EAAAA,EAAAA,QAAO,MAE3B,OACEnB,IAAAA,cAACsF,EAAAA,EAAS,CACR2E,gBAAiB,aACjBhE,OAAQC,EAAAA,EAAgBC,UACxBX,QAAS,CAAEK,OAAQ,CAAE,EAAGH,EAAAA,EAAiBklB,UAAW,IAAKllB,EAAAA,EAAiBS,YAC1EH,KAAM,SAENhG,IAAAA,cAACs1E,GAAU,KACTt1E,IAAAA,cAACmE,EAAAA,EAAG,CACFlE,IAAKs2E,EACLlyE,IAAI,SACJC,SAAU2sD,EAAyB,UAAY,YAC/C1sD,KAAK,QACLpB,QAAUrB,IACRA,EAAE6B,iBACFmzE,IACAP,EAAex0E,QAAQ2/B,MAAM,EAE/BpuB,UAAU,aACV9O,KAAMxE,IAAAA,cAACyxD,GAAAA,EAAmB,OAAG,yBAKjCzxD,IAAAA,cAACs1E,GAAU,KACTt1E,IAAAA,cAACmE,EAAAA,EAAG,CACFlE,IAAKu2E,EACLnyE,IAAI,SACJC,SAAU0sD,EAAoB,UAAY,YAC1CzsD,KAAK,QACLpB,QAAUrB,IACRA,EAAE6B,iBACFozE,IACAP,EAAYz0E,QAAQ2/B,MAAM,EAE5BpuB,UAAU,aACV9O,KAAMxE,IAAAA,cAAC0xD,GAAAA,EAAgB,OAAG,yBAOpC,C,eC9EA,MAAM8d,GAAS/vE,EAAAA,GAAOC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4MnB+vE,GAAiBhwE,EAAAA,GAAOC,GAAG;;;EAepBs7L,GAAkBr7L,IAC7B,MAAM,SACJ89C,EAAQ,gCACRwE,EAA+B,0BAC/B7E,EAAyB,oBACzBuB,EAAmB,mBACnByG,EAAkB,cAClBv5C,IACE2wC,EAAAA,EAAAA,4BACE,yBACJoV,EAAwB,0BACxBC,EAAyB,gBACzBxlD,EAAe,aACfsjE,EAAY,eACZ5e,EAAc,kBACdC,EAAiB,uBACjBC,GACEtxD,EACEiwE,GAAYzuE,EAAAA,EAAAA,QAAe,MAC3B0uE,GAAc1uE,EAAAA,EAAAA,QAAuB,OAE3CmB,EAAAA,EAAAA,YAAU,KACR,GAAIqtE,EAAa7zE,OAAQ,CACvB,MAAMg0E,EAAajkE,GAAgC8jE,EAAa,GAEhEhxB,EAAoBmxB,E,IAGrB,CAACH,KAEJrtE,EAAAA,EAAAA,YAAU,KAEJuJ,GAEFkkE,EAAuBlkE,E,GAExB,CAACA,EAAe8jE,IAEnB,MAAMK,EAAsBzuB,IAC1B,IAAKA,EAAMxxB,WAAW0uB,QAAS,CAC7B,MAAM,KAAE7rD,GAAS2uD,EAAMxxB,WAAWh9B,OAE5B6F,EAAQ+2E,EAAaxsD,WAAWpwB,IACpC,GAAIA,EAAOg9B,WAAWh9B,OAAOH,OAASA,EACpC,OAAO,C,IAGXg9E,EAAU7tE,QAAQkuE,UAAUr3E,E,GAI1Bm3E,EAA0BxuB,IAC9B,GAAIA,EAAMxxB,WAAWy1B,kBAAmB,CAChB/H,EAASvoD,MAC5BupD,GAAYA,EAAQ1uB,WAAW0uB,SAAWA,EAAQr4B,KAAOm7B,EAAMxxB,WAAWy1B,oBAM3E7G,EAAoB4C,IAEpBU,EAAgCV,GAAO,GACvCyuB,EAAmBzuB,G,MAGrBU,EAAgCV,GAAO,GACvCyuB,EAAmBzuB,E,EAIjB2uB,EAAW,CACfhnE,UAAW,SACXinE,UAAU,EACVC,YAAY,EACZC,cAAe,OACfC,aAAc,EACdC,OAAO,EACPC,MAAO,IACPC,QAAQ,EACRC,aAAcA,CAAC3uE,EAAiBgtC,KAC9B,MAAMwS,EAAgBouB,EAAaz6E,MAAMqsD,IACvC,IAAKA,EAAMxxB,WAAW0uB,SAChB8C,EAAMxxB,WAAWh9B,OAAOH,OAASi9E,EAAY9tE,QAAQgtC,GAAMhrC,IAC7D,OAAOw9C,C,IAKbwuB,EAAuBxuB,EAAM,GAGjC,OACEvhD,IAAAA,cAACwvE,GAAM,KACLxvE,IAAAA,cAAC2wE,GAAAA,EAAM3hE,OAAAC,OAAA,GACDihE,EAAQ,CACZjwE,IAAMoiD,IACJutB,EAAU7tE,QAAUsgD,EAChBA,GAAMA,EAAG1iD,OAAS0iD,EAAG1iD,MAAMyC,WAC7BytE,EAAY9tE,QAAUsgD,EAAG1iD,MAAMyC,SAAS1F,QAAQqgB,GAAiB,OAANA,I,IAI9D4yD,EACGA,EAAa7rE,KAAI,CAACy9C,EAAexvD,KAC/B,MAAMu/C,GAAqByG,EAAAA,EAAAA,6BAA4BqF,EAA0Br7C,QAASw/C,GAE1F,OAAQA,EAAMxxB,WAAW0uB,QAkBrB,KAjBFz+C,IAAAA,cAAA,OAAK+D,IAAK,GAAGw9C,EAAMxxB,WAAWh9B,OAAOH,OAAQsW,UAAW,GAAGnX,KAAKwvD,EAAMxxB,WAAWh9B,OAAOoD,QAEtF6J,IAAAA,cAACyvE,GAAc,KACbzvE,IAAAA,cAACi7L,GAAgB,CACfrpI,yBAA0BA,EAC1BspI,YAAU,EACVn3L,IAAK,GAAGw9C,EAAMxxB,WAAWh9B,OAAOH,QAAQb,SACxCu/C,mBAAoBA,EACpB+e,YAAU,EACVzZ,MAAO2K,EAAMxxB,WAAWh9B,OAAO6jD,MAC/BnF,WAAY8P,EAAMxxB,WAAWh9B,OAC7BwuD,MAAOA,EACPyP,kBAAmBA,EACnBC,uBAAwBA,KAIxB,IAEV,MAEC,ECtUPb,GAAU3wD,EAAAA,GAAOC,GAAiB;;mBAEpBC,GAAWA,EAAM0wD,YAAc1wD,EAAM2wD,eAAiB,IAAM;aAClE3wD,GAAWA,EAAM0wD,WAAa,OAAS;YACxC1wD,GACTA,EAAM+e,UAAY/e,EAAM6wD,WAAa7wD,EAAM0wD,WACvC,oBACA1wD,EAAM+e,UAAY/e,EAAMu7L,aAAev7L,EAAM0wD,WAC7C,oBACA1wD,EAAM6wD,WAAa7wD,EAAM0wD,WACzB,oBACA1wD,EAAMu7L,WACN,oBACAv7L,EAAM+e,WAAa/e,EAAM0wD,WACzB,oBACA1wD,EAAM0wD,WACN,OACA;;cAEO1wD,GACTA,EAAM0wD,WACF,OACA1wD,EAAM+e,UAAY/e,EAAM6wD,SACxB,oBACA7wD,EAAM+e,UAAY/e,EAAMu7L,WACxB,oBACAv7L,EAAM6wD,SACN,oBACA7wD,EAAM+e,SACN,oBACA;;;;qBAIY/e,GAAWA,EAAM0wD,YAAc1wD,EAAM2wD,eAAiB,IAAM;;;;;gBAKjE3wD,GACTA,EAAM0wD,WACF,OACA1wD,EAAM+e,SACN,qBACA/e,EAAMivD,QACN,oBACA;;;gBAGKjvD,GACTA,EAAM0wD,WACF,OACA1wD,EAAM+e,SACN,oBACA/e,EAAMivD,QACN,oBACA;;;;kBAIOjvD,GAAWA,EAAM0wD,YAAc1wD,EAAM2wD,eAAiB,IAAM;;EAQzEI,GAAsBjxD,EAAAA,GAAOivB,CAAyB;;;;;;WAMhD/uB,GAAWA,EAAM6wD,SAAW,UAAY;EAE9C7gB,GAAWlwC,EAAAA,GAAO6P,IAA4B;WACxC3P,GAAWA,EAAM6wD,SAAW,UAAY;EAE9C/lC,GAAUhrB,EAAAA,GAAOC,GAA0B;;;;;aAKnCC,GAAWA,EAAM6wD,SAAW,UAAY;;EAIhDG,GAAYlxD,EAAAA,GAAOqI,MAA8B;;;;;;;;;sBAShCnI,GAAWA,EAAM6wD,SAAW,UAAY;WACnD7wD,GAAWA,EAAM6wD,SAAW,UAAY;;;wBAG3B7wD,GAAWA,EAAM6wD,SAAW,UAAY;;EAqBpDyqI,GAAmBj7L,IAAAA,MAAYL,I,wBAC1C,MAAM,mBACJ2xC,EAAkB,WAClB+e,EAAU,WACV5e,EAAU,MACV8P,EAAK,eACL+O,EAAc,kBACdU,EAAiB,uBACjBC,EAAsB,WACtBiqI,GACEv7L,GACE,oBAAEuxD,IAAwBzvD,EAAAA,EAAAA,KAAaC,GAAwBA,EAAMF,WACrE2vD,EAAsB,GAAG1f,EAAWD,WAAWC,WAAWN,YAAYM,EAAWD,WAAWC,WAAWJ,WAAWI,EAAWD,WAAWC,WAAWL,QACnJ,0BACJgM,EAAyB,gCACzB6E,EAA+B,iBAC/BO,EAAgB,WAChBjF,EAAU,cACV1xC,EAAa,iBACbqlC,EAAgB,mBAChBkU,IACE5I,EAAAA,EAAAA,4BAEE,SAAE7b,EAAQ,QAAEiuB,IAAYF,EAAAA,EAAAA,aAAY7iD,EAAe0xC,EAAYgE,IAE9DiP,EAAUY,IAAehxD,EAAAA,EAAAA,WAAkB,GAclD,OAZAkC,EAAAA,EAAAA,YAAU,KACJi/C,IACEyP,IAAsBzP,EAAMxxB,WAAWh9B,OAAOia,QAAQqkD,0BAE/CJ,IAA2B1P,EAAMxxB,WAAWh9B,OAAOia,QAAQijD,+BADpEmB,GAAY,GAIZA,GAAY,G,GAGf,CAACJ,EAAmBC,EAAwB1P,IAG7CvhD,IAAAA,cAACowD,GAAO,CACN1xC,SAAUiiB,EACV0vB,WAAYA,EACZzB,QAASA,EACT0B,eAAgBA,EAChBE,SAAUA,EACV0qI,WAAYA,EACZhyL,UAAU,mBACV/F,QAAUrB,IACRA,EAAE6B,iBACE49C,EAAMxxB,WAAWy1B,kBACfpxD,OAAOm0B,YAAc,IACvB68B,EAAmB7D,GAAO,GAAM,GAEhC6D,EAAmB7D,GAAO,GAG5BU,EAAgCV,E,EAGpCpe,aAAerhC,IACRuuD,IACHvuD,EAAE6B,iBACF6+C,EAAiBjB,G,EAGrB+P,aAAexvD,IACRuuD,IACHvuD,EAAE6B,iBACF6+C,EAAiB,M,GAIrBxiD,IAAAA,cAAA,OAAK2K,MAAO,CAAEkJ,MAAO,SAClBw8C,EACCrwD,IAAAA,cAAAA,IAAAA,SAAA,KAEEA,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUT,gBAAc,GACvCvF,IAAAA,cAAA,OAAK2K,MAAO,CAAEkJ,MAAO,SAClBq9B,GAAoBggB,EACnBlxD,IAAAA,cAACuT,EAAAA,GAAM,CACL1Q,WAAY,CACV,CAACkI,EAAAA,GAAY0I,SAAU,CACrB,CAAEtd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,MAI1B1T,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,EAACyD,UAAWC,EAAAA,GAAcjE,KAAMjD,WAAYC,EAAAA,GAAoBC,SACxE/C,IAAAA,cAAC0wD,GAAmB,CAACF,SAAUA,GAC5B/e,EAAWt7C,KAAOs7C,EAAWt7C,KAAO,OAIzC6J,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAchE,MAAOlD,WAAYC,EAAAA,GAAoB2K,SACpEzN,IAAAA,cAAC2vC,GAAQ,CAAC6gB,SAAUA,GACjBtf,GAAoBggB,EACjB5f,EACE,GAAGA,MACH,IAAGyG,EAAAA,EAAAA,6BAA4BqF,EAA0Br7C,QAASw/C,OACpE,QAKVvhD,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,EAACyD,UAAWC,EAAAA,GAAcjE,KAAMjD,WAAYC,EAAAA,GAAoBC,SACxE/C,IAAAA,cAAC0wD,GAAmB,CAACF,SAAUA,GAC5B/e,EAAWt7C,KAAOs7C,EAAWt7C,KAAO,QAK7C6J,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAcjE,KAAMjD,WAAYC,EAAAA,GAAoB2K,SACjE8zC,EAAMxxB,WAAWh9B,OAAOia,SAAYu0C,EAAMxxB,WAAWh9B,OAAOia,QAAQC,aAKpEjN,IAAAA,cAAC0wD,GAAmB,CAACF,SAAUA,GAAWW,GAJ1CnxD,IAAAA,cAAA,KAAG2K,MAAO,CAAE4mD,UAAW,OAAQjxC,UAAW,IAAKkxC,aAAc,MAC3DxxD,IAAAA,cAAC0wD,GAAmB,CAACF,SAAUA,GAAWW,MAOlDnxD,IAAAA,cAAAA,IAAAA,SAAA,MAC6B,QAAzBof,EAAiB,QAAjBvsB,EAAA0uD,aAAK,EAALA,EAAOxxB,kBAAU,IAAAl9B,OAAA,EAAAA,EAAEE,cAAM,IAAAqsB,OAAA,EAAAA,EAAEpS,WACO,QADA4gF,EACT,QADSngB,EACjB,QADiBl8B,EAClCgQ,aAAK,EAALA,EAAOxxB,kBAAU,IAAAwhB,OAAA,EAAAA,EAAEx+C,cAAM,IAAA06E,OAAA,EAAAA,EAAEzgE,eAAO,IAAA4gF,OAAA,EAAAA,EAAE39B,kCACZ,QAAzBmoF,EAAiB,QAAjBb,EAAAh2F,aAAK,EAALA,EAAOxxB,kBAAU,IAAAwnH,OAAA,EAAAA,EAAExkJ,cAAM,IAAAqlJ,OAAA,EAAAA,EAAEprI,WAA6C,QAAtCqrI,EAA6B,QAA7BC,EAAqB,QAArBH,EAAI52F,aAAK,EAALA,EAAOxxB,kBAAU,IAAAooH,OAAA,EAAAA,EAAEplJ,cAAM,IAAAulJ,OAAA,EAAAA,EAAEtrI,eAAO,IAAAqrI,OAAA,EAAAA,EAAEhnF,0BACzErxD,IAAAA,cAACsF,EAAAA,EAAS,CACRE,QAAS,CAAEC,IAAKC,EAAAA,EAAiBklB,WACjC3gB,gBAAiB,UACjB0gC,cAAe,UACfplC,gBAAc,EACdS,KAAM,UAENhG,IAAAA,cAAA,OAAK2K,MAAO,CAAE8U,QAAS,OAAQm4B,eAAgB,eAC5C2J,EAAMxxB,WAAWh9B,OAAOia,QAAQijD,+BAC/BjwD,IAAAA,cAACyqB,GAAO,CAAC+lC,SAAUA,GACjBxwD,IAAAA,cAACyxD,GAAAA,EAAmB,OAEpB,KACHlQ,EAAMxxB,WAAWh9B,OAAOia,QAAQqkD,yBAC/BrxD,IAAAA,cAACyqB,GAAO,CAAC+lC,SAAUA,GACjBxwD,IAAAA,cAAC0xD,GAAAA,EAAgB,OAEjB,MAEN1xD,IAAAA,cAAC4pB,GAAS5a,OAAAC,OAAA,GAAKtP,KAGjBK,IAAAA,cAAC4pB,GAAS5a,OAAAC,OAAA,GAAKtP,MAKrBK,IAAAA,cAAAA,IAAAA,SAAA,KAEEA,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUT,gBAAc,GACvCvF,IAAAA,cAAA,OAAK2K,MAAO,CAAEkJ,MAAO,OAAQtC,cAAe,QACzC2/B,GAAoBggB,EACnBlxD,IAAAA,cAACuT,EAAAA,GAAM,CACL1Q,WAAY,CACV,CAACkI,EAAAA,GAAY0I,SAAU,CACrB,CAAEtd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,MAI1B1T,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,EAACyD,UAAWC,EAAAA,GAAcjE,KAAMjD,WAAYC,EAAAA,GAAoBC,QAAS4K,YAAU,GAC3F3N,IAAAA,cAAC2vC,GAAQ,CAAC6gB,SAAUA,GAAW/e,EAAWt7C,KAAOs7C,EAAWt7C,KAAO,OAErE6J,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAchE,MAAOlD,WAAYC,EAAAA,GAAoBC,QAAS4K,YAAU,GACvF3N,IAAAA,cAAC2vC,GAAQ,CAAC6gB,SAAUA,GACjBtf,GAAoBggB,EACjB5f,EACE,GAAGA,MACH,IAAGyG,EAAAA,EAAAA,6BAA4BqF,EAA0Br7C,QAASw/C,OACpE,QAKVvhD,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,EAACyD,UAAWC,EAAAA,GAAcjE,KAAMjD,WAAYC,EAAAA,GAAoBC,QAAS4K,YAAU,GAC3F3N,IAAAA,cAAC2vC,GAAQ,CAAC6gB,SAAUA,GAAW/e,EAAWt7C,KAAOs7C,EAAWt7C,KAAO,QAIzE6J,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAcjE,KAAMjD,WAAYC,EAAAA,GAAoB2K,QAASE,YAAU,GACtF3N,IAAAA,cAAA,KAAG2K,MAAO,CAAE4mD,UAAW,OAAQp8C,OAAQ,OAAQmL,UAAW,IAAKkxC,aAAc,MAC3ExxD,IAAAA,cAAC2vC,GAAQ,CAAC6gB,SAAUA,GAAWW,MAIrCnxD,IAAAA,cAAAA,IAAAA,SAAA,KACIuhD,EAAMxxB,WAAWh9B,OAAOia,SAAWu0C,EAAMxxB,WAAWh9B,OAAOia,QAAQijD,gCACpE1O,EAAMxxB,WAAWh9B,OAAOia,SAAWu0C,EAAMxxB,WAAWh9B,OAAOia,QAAQqkD,yBAClErxD,IAAAA,cAACsF,EAAAA,EAAS,CACRE,QAAS,CAAEC,IAAKC,EAAAA,EAAiBS,WACjC8D,gBAAiB,WACjB0gC,cAAe,WACfplC,gBAAc,GAEdvF,IAAAA,cAAA,OAAK2K,MAAO,CAAE8U,QAAS,OAAQm4B,eAAgB,eAC7C53C,IAAAA,cAAC4pB,GAAS5a,OAAAC,OAAA,GAAKtP,KAEjBK,IAAAA,cAAA,OAAK2K,MAAO,CAAE8U,QAAS,OAAQm4B,eAAgB,aAC5C2J,EAAMxxB,WAAWh9B,OAAOia,QAAQijD,+BAC/BjwD,IAAAA,cAACyqB,GAAO,CAAC+lC,SAAUA,GACjBxwD,IAAAA,cAACyxD,GAAAA,EAAmB,OAEpB,KACHlQ,EAAMxxB,WAAWh9B,OAAOia,QAAQqkD,yBAC/BrxD,IAAAA,cAACyqB,GAAO,CAAC+lC,SAAUA,GACjBxwD,IAAAA,cAAC0xD,GAAAA,EAAgB,OAEjB,OAIR1xD,IAAAA,cAAC4pB,GAAS5a,OAAAC,OAAA,GAAKtP,OAOjB,IAIRiqB,GAAajqB,IACjB,MAAM,yBAAEiyD,EAAwB,WAAEngB,EAAU,MAAE8P,EAAK,kBAAEyP,EAAiB,uBAAEC,GAA2BtxD,GAC5F6wD,EAAUY,IAAehxD,EAAAA,EAAAA,WAAkB,GAE5CkB,GAAkBC,EAAAA,EAAAA,KAcxB,OAZAe,EAAAA,EAAAA,YAAU,KACJi/C,IACEyP,IAAsBzP,EAAMxxB,WAAWh9B,OAAOia,QAAQqkD,0BAE/CJ,IAA2B1P,EAAMxxB,WAAWh9B,OAAOia,QAAQijD,+BADpEmB,GAAY,GAIZA,GAAY,G,GAGf,CAACJ,EAAmBC,EAAwB1P,IAG7CvhD,IAAAA,cAACsF,EAAAA,EAAS,CACRqlC,cAAe,WACf1gC,gBAAiB,gBACjBzE,QAAS,CAAEC,IAAKC,EAAAA,EAAiBwY,cAoBjCle,IAAAA,cAAC2wD,GAAS,CACRH,SAAUA,EACVrtD,QAAUrB,IACRA,EAAE6B,iBACFrC,EAAgBsV,qBACd,CACEvT,UAAW,eAEbouC,GAGFmgB,EAAyBrQ,EAAM,GAGjCvhD,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoB8lC,SAAUj7B,YAAU,EAAC3K,MAAOC,EAAAA,GAAe4lC,SAAO,gBAIhF,EC/aV9tB,GAAiBtb,EAAAA,GAAOC,GAAG;;;;;;;;;;;;;;;;;;;EAsCpBy7L,GAAav2L,IAAoC,IAAnC,WAAE6yE,GAA6B7yE,EACxD,MAAM,SACJ64C,EAAQ,0BACRL,EAAyB,gBACzBO,EAAe,iBACfE,EAAgB,eAChBiH,EAAc,YACdhH,EAAW,SACX8H,IACEpJ,EAAAA,GAAAA,MACEl7C,GAAkBC,EAAAA,EAAAA,sBAElB65L,GAA4BzqL,EAAAA,EAAAA,sBAAqB,+BAEhDg/D,EAAc0/D,IAAmBjvI,EAAAA,EAAAA,UAAS,OAC1C4wD,EAAmB0lB,IAAwBt2E,EAAAA,EAAAA,WAAkB,IAC7D6wD,EAAwB0lB,IAA6Bv2E,EAAAA,EAAAA,WAAkB,GAExE22E,EAAuBA,KAIzBL,GAHG1lB,E,EAOD8lB,EAA4BA,KAI9BH,GAHG1lB,E,EAODW,EAA4BrQ,I,MAChC,GAAI65I,EAA2B,CAC7B,MAAMroM,EAA0B,QAApBF,EAAG0uD,aAAK,EAALA,EAAOxxB,kBAAU,IAAAl9B,OAAA,EAAAA,EAAEE,OAClCqoM,EAA0Bj2D,gBAAgB,CAAEhvI,KAAMpD,EAAOoD,KAAMH,KAAMjD,EAAOH,M,MAE5EK,QAAQC,MAAM,+C,GAIlBoP,EAAAA,EAAAA,YAAU,KACR,GAAIm7C,GAAYE,EAAgB57C,QAAS,CACvC,MAAMs2E,GAAmBc,EAAAA,EAAAA,sBACvB17B,EACAL,EAA0Br7C,QAC1B47C,EAAgB57C,SAElBstI,EAAgBh3D,E,IAEjB,CAAC56B,EAAUE,EAAgB57C,UAE9B,MAAM84L,EAAmBA,KACvBv5L,EAAgBsV,qBAAqB,CACnCvT,UAAW,wBAEbyhD,GAEE,EAMEg2I,EAAoBA,KACxBrjH,GAAW,GACX7xB,GAAU,EAGNuwB,EAAeA,CACnBx5B,EACAqU,EACAC,EACAZ,IAEO1T,EACHA,EAAO74C,KAAI,CAACy9C,EAAe3oD,KACzB,IAAK2oD,EAAMxxB,WAAW0uB,QAAS,CAC7B,MAAM,OAAE1rD,GAAWwuD,EAAMxxB,WACnBuhB,GAAqByG,EAAAA,GAAAA,IAA4BqF,EAA0Br7C,QAASw/C,GAE1F,OACEvhD,IAAAA,cAAA,OACE+D,IAAK,GAAGw9C,EAAMxxB,WAAWh9B,OAAOH,QAAQgG,IACxCsQ,UAAW,GAAGq4C,EAAMxxB,WAAWh9B,OAAOH,yBACtCqN,IAAMoiD,IACJxE,EAAiB97C,QAAQnJ,GAASypD,CAAE,GAGtCriD,IAAAA,cAACi7L,GAAgB,CACfC,YAAU,EACVn3L,IAAK,GAAGw9C,EAAMxxB,WAAWh9B,OAAOH,QAAQgG,SACxC04C,mBAAoBA,EACpB+e,WAAYA,EACZzZ,MAAO7jD,EAAO6jD,MACdnF,WAAY1+C,EACZwuD,MAAOA,EACPyP,kBAAmBA,EACnBC,uBAAwBA,EACxBW,yBAA0BA,I,CAKlC,OAAO,IAAI,IAEb,KAGN,OACE5xD,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC6K,GAAAA,EAAiB,CAACC,IAAKC,EAAAA,GAAYmJ,MAClClU,IAAAA,cAAC+a,GAAc,KACb/a,IAAAA,cAACq7L,GAAoB,CACnBzpI,yBAA0BA,EAC1BukB,aAAcA,EACdxG,aAAcA,EACd2rH,iBAAkB,CAChBvkH,uBACAD,4BACA9lB,oBACAC,0BAEFsqI,aAAc,CAAET,oBAAmBD,mBAAkB/8I,mBAI3D99C,IAAAA,cAAC6K,GAAAA,EAAiB,CAACI,IAAKF,EAAAA,GAAYmJ,MAClClU,IAAAA,cAAC+a,GAAc,KACb/a,IAAAA,cAACw7L,GAAqB,CACpB5pI,yBAA0BA,EAC1BukB,aAAcA,EACdxG,aAAcA,EACd2rH,iBAAkB,CAChBvkH,uBACAD,4BACA9lB,oBACAC,0BAEFsqI,aAAc,CAAET,oBAAmBD,mBAAkB/8I,mBAI1D,E,eC3KP,MAAM7kC,GAAgBxZ,EAAAA,GAAOC,GAAG;;;;;;;;EAUnB+7L,GAAmB72L,IAA0C,IAAzC,WAAE6yE,GAAmC7yE,EACpE,MAAMxD,GAAWC,EAAAA,EAAAA,OACX,MACJV,EAAK,SACLgB,EAAQ,WACR+X,EAAU,cACVC,EAAa,KACbnV,EAAI,gBACJoV,EAAe,mBACfC,EAAkB,aAClBC,EAAY,WACZG,EAAU,QACVF,EAAO,iBACPC,IACEG,EAAAA,EAAAA,kBACGuhL,EAAgBC,IAAqBv7L,EAAAA,EAAAA,WAAS,GAgBrD,OARAkC,EAAAA,EAAAA,YAAU,KACJoX,IACF84D,EAAAA,EAAAA,oBAAmBpxE,EAAUsY,GAAY/e,MAAK,KAC5CghM,GAAkB,EAAM,G,GAG3B,CAACjiL,IAGF1Z,IAAAA,cAAC87C,GAAAA,EAAkB,CAACO,UAAWA,QAC7Br8C,IAAAA,cAACiZ,GAAa,CAAC/P,UAAU,yBACvBlJ,IAAAA,cAACsF,EAAAA,EAAS,CAACE,QAAS,CAAEK,OAAQH,EAAAA,EAAiBg7H,cAC7C1gI,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoBwD,aACpCtG,IAAAA,cAAC4C,EAAAA,GAAI,CAACyD,MAAI,kBAAmB,kBAAgB,IAC7CrG,IAAAA,cAAA,QAAM2K,MAAO,CAAEyF,WAAY,WAAU,YAC1BpQ,IAAAA,cAAA,OAAK2K,MAAO,CAAElF,IAAK,OAAQ4K,SAAU,SAAQ,QAI5DrQ,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUC,OAAQC,EAAAA,EAAgB2O,WACjD7U,IAAAA,cAAA,OAAK2K,MAAO,CAAEyP,SAAU,WAAYC,SAAU,YAC5Cra,IAAAA,cAACsa,EAAAA,QAAO,CACNJ,uBA5BoBR,KAC9B84D,EAAAA,EAAAA,oBAAmBpxE,EAAUsY,GAAY/e,MAAK,KAC5C88E,GAAW,EAAK,GAChB,EA0BQ99D,cAAeA,EACfhZ,MAAOA,EACPgB,SAAUA,EACVsY,WAAYA,EACZJ,mBAAoBA,EACpBtW,UAAU,UAGdvD,IAAAA,cAACsF,EAAAA,EAAS,CAACU,KAAM,SAAUC,OAAQC,EAAAA,EAAgB2O,WACjD7U,IAAAA,cAAA,WACEA,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJC,SAAUsV,EAAkB,UAAY,YACxCpV,KAAMA,EACNrB,QAAS7Q,UACPwP,EAAE6B,iBACGiW,GAAiBE,GAAc,EAEtCla,WAAUma,EACVxV,KAAK,SAAO,+BAIbyV,EACCha,IAAAA,cAAA,OAAK2K,MAAO,CAAE2G,WAAY,SACxBtR,IAAAA,cAAC4C,EAAAA,GAAI,CAACkH,UAAWC,EAAAA,GAAcjE,KAAMjD,WAAYC,EAAAA,GAAoB2K,SAAO,uCAI5E,MAENzN,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJlB,QAASA,KACPs0E,GAAW,EAAK,EAElB73E,YAAUma,IAAW2hL,IAA6B,aAOvC,E,0BC3GzB,MAAMzmH,GAAoBx1E,EAAAA,GAAOC,GAA6B;;;;;;;;;;;;;;;;;;;;;;;;eAwB9CC,GAAWA,EAAMu1E,YAAc,GAAK;eACpCv1E,GAAWA,EAAMu1E,YAAc,EAAI;;;EAK7CG,GAAc51E,EAAAA,GAAOC,GAAG;;;;;;;;;;;;;;;;;;EAoBxBy1E,GAAe11E,EAAAA,GAAOC,GAAG;;;;;;;;EAUzBkxE,GAAiBnxE,EAAAA,GAAOC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoDpB87L,GAAyB77L,IACpC,MAAM,aAAEw2E,EAAY,aAAExG,EAAY,iBAAE2rH,EAAgB,aAAEC,GAAiB57L,GACjE,kBAAEqxD,EAAiB,uBAAEC,GAA2BqqI,GAC/CnqH,EAAaC,IAAkBhxE,EAAAA,EAAAA,WAAkB,IAElD,eAAE49C,IAAmBxB,EAAAA,EAAAA,2BAErBi6B,EAAoBA,KACxBrF,GAAgBD,EAAY,EAG9B,OACEnxE,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAACi1E,GAAiB,CAAC/rE,UAAU,mBAAmBgsE,YAAa/D,GAC3DnxE,IAAAA,cAAA,OAAKkJ,UAAU,yBAEblJ,IAAAA,cAAC+6L,GAAW/rL,OAAAC,OAAA,GAAKqsL,IACjBt7L,IAAAA,cAACsF,EAAAA,EAAS,CAAC2E,gBAAiB,SAAU1E,gBAAgB,GACpDvF,IAAAA,cAAA,OAAK2K,MAAO,CAAEkJ,MAAO,SAClB87D,EACC3vE,IAAAA,cAACq1E,GAAW,CAACnsE,UAAU,iBACrBlJ,IAAAA,cAAA,OAAK2K,MAAO,CAAE4G,cAAe,SAC1B4kE,EAAaxG,EAAc3e,EAAmBC,GAAwB,KAGzE,QAIVjxD,IAAAA,cAAA,OAAKkJ,UAAU,wBACblJ,IAAAA,cAACsuE,EAAAA,OAAM,CACLtwB,eAAgBA,EAChBowB,UAAQ,EACRpd,kBAAmBA,EACnBC,uBAAwBA,IAG1BjxD,IAAAA,cAACm1E,GAAY,CAACjsE,UAAU,kBACtBlJ,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAM,QACnBvZ,IAAAA,cAAC46L,GAAO5rL,OAAAC,OAAA,GAAKssL,OAInBv7L,IAAAA,cAAA,OAAKkJ,UAAU,gBAAgB/F,QAASA,IAAMiuE,GAAe,MAI/DpxE,IAAAA,cAACg3E,GAAAA,EAAa,CAACC,GAAI9F,EAAap9E,QAAS,IAAKmjF,WAAW,WAKvDl3E,IAAAA,cAAC4wE,GAAc,CAAC1nE,UAAU,wBACxBlJ,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAM,QACnBvZ,IAAAA,cAAA,OAAKkJ,UAAU,YACblJ,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJC,SAAS,WACTC,KAAK,QACLpB,QAAUrB,IACRA,EAAE6B,iBACF8yE,GAAmB,EAErBnjE,UAAU,aACV9O,KAAMxE,IAAAA,cAAC63C,GAAAA,EAAS,SAGpB73C,IAAAA,cAACgxE,EAAAA,QAAO,CACNE,aAAcA,IAAMuF,IACpBtF,YAAaA,EACbC,eAAgBA,EAChBN,aAAa,EACbQ,eAAe,OAMtB,E,eC1LP,MAAM/hE,GAAU9P,EAAAA,GAAOC,GAAG;;;EAKpBk8L,GAAiBn8L,EAAAA,GAAOC,GAAG;;;;;;;;;EAW3B61E,GAAqB91E,EAAAA,GAAOC,GAAG;;;;;;;;;EAgB/Bg2E,GAA0Bj2E,EAAAA,GAAOC,GAAiC;;;YAG3DC,GAAWA,EAAMuxC,iBAAmB,QAAU;;eAE3CvxC,GAAWA,EAAM+3E,kBAAoB,oBAAsB;;cAE5D/3E,GAAWA,EAAMuxC,iBAAmB,QAAU;;EAGvDykC,GAAkBl2E,EAAAA,GAAOC,GAAG;;;;;;;;;;;;EAa5Bk2E,GAAcn2E,EAAAA,GAAOC,GAAG;;;;;;EAOxBm2E,GAAoBp2E,EAAAA,GAAOC,GAAG;;;;;;;;;;;EAY9ByvE,GAAuB1vE,EAAAA,GAAOC,GAAG;;;;;;;;;EAcjCo2E,GAAqBr2E,EAAAA,GAAOC,GAAqB;;oBAElCC,GAAWA,EAAMo2E,YAAc,OAAS;yBACnCp2E,IAAWA,EAAMo2E,YAAc;;;;;;;;;;aAU3Cp2E,GAAWA,EAAMo2E,YAAc,UAAY;;EAGnDoB,GAAWxlF,EAAQ,MAEZ0pM,GAAwB17L,IACnC,MAAM,yBAAEiyD,EAAwB,aAAEukB,EAAY,aAAExG,EAAY,iBAAE2rH,EAAgB,aAAEC,GAAiB57L,GAC3F,kBAAEqxD,EAAiB,uBAAEC,GAA2BqqI,GAEhD,mBAAEr3L,IAAuBC,EAAAA,EAAAA,sBAEzB,yBAAEwgD,EAAwB,iBAAExT,EAAgB,eAAE8M,IAAmBxB,EAAAA,EAAAA,4BAIhE20B,EAAaC,IAAkBhxE,EAAAA,EAAAA,WAAkB,IACjDk3E,EAAcC,IAAmBn3E,EAAAA,EAAAA,WAAkB,IACnDo3E,EAASC,IAAcr3E,EAAAA,EAAAA,WAAkB,IACzCs3E,EAAmBC,IAAyBv3E,EAAAA,EAAAA,WAAkB,IAG9DquE,EAAsBC,IAA2BtuE,EAAAA,EAAAA,WAAkB,IAE1EkC,EAAAA,EAAAA,YAAU,KACJ4uC,GACFw9B,GAAwB,E,GAEzB,CAACx9B,IAEJ,MAAMulC,EAAoBA,KACxBrF,GAAgBD,GAChBoG,GAAgB,EAAM,EAElBO,EAAqBA,KACzBP,GAAiBD,GACjBlG,GAAe,EAAM,EAWvB,OARA9uE,EAAAA,EAAAA,YAAU,KAENm1E,GADkB,IAAhBtG,IAA0C,IAAjBmG,E,GAK5B,CAACnG,EAAamG,IAGft3E,IAAAA,cAAA,OAAKkJ,UAAU,sBACZsuE,EACCx3E,IAAAA,cAAAA,IAAAA,SAAA,KACEA,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAM,QACnBvZ,IAAAA,cAACu1E,GAAkB,CACjBrsE,UAAU,iBACV/F,QAAUrB,IACRA,EAAE6B,iBACFg0E,GAAsB,EAAM,EAE9BK,aAAel2E,IACb61E,GAAsB,EAAM,GAG9B33E,IAAAA,cAAC+6L,GAAW/rL,OAAAC,OAAA,GAAKqsL,MAGrBt7L,IAAAA,cAACuP,GAAO,KACNvP,IAAAA,cAAC47L,GAAc,KACb57L,IAAAA,cAAC46L,GAAO5rL,OAAAC,OAAA,GAAKssL,KAEfv7L,IAAAA,cAAA,OACE2K,MAAO,CACLwK,OAAQ,OACRuiC,gBAAiB,OACjBt9B,SAAU,WACV3U,IAAK,IACLoO,MAAO,SAGT7T,IAAAA,cAACsuE,EAAAA,OAAM,CACLtwB,eAAgBA,EAChBwwB,qBAAsBmJ,EACtBD,kBAAmBA,EACnB1mB,kBAAmBA,EACnBC,uBAAwBA,EACxBmd,UAAQ,MAKbuB,EACC3xB,EACEh+C,IAAAA,cAAC21E,GAAe,KACbQ,EAAaxG,EAAc3e,EAAmBC,GAAwB,IAGzEjxD,IAAAA,cAAC01E,GAAuB,CACtBxsE,UAAU,4BACVwuE,kBAAmBA,EACnBv0E,QAAUrB,IACRA,EAAE6B,iBACFg0E,GAAsB,EAAM,EAE9BK,aAAel2E,IACbA,EAAE6B,iBACFg0E,GAAsB,EAAM,EAE9BzmC,iBAAkBA,GAElBlxC,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAM,QACnBvZ,IAAAA,cAAC41E,GAAW,KACTnH,EACCzuE,IAAAA,cAACmvE,GAAoB,CACnB6I,aAAel2E,IACbA,EAAE6B,iBACF+gD,IACA5iD,EAAEktE,iBAAiB,GAGrBhvE,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJC,SAAS,YACTnB,QAAUrB,IACRA,EAAE6B,iBACF+gD,IACA5iD,EAAEktE,iBAAiB,EAErB17D,UAAU,aACV9O,KAAMxE,IAAAA,cAACsvE,GAAAA,EAAM,CAAC5qE,QAAQ,aAGxB,KACJ1E,IAAAA,cAAC61E,GAAiB,CAChBmC,aAAel2E,IACbA,EAAE6B,iBACF7B,EAAEktE,iBAAiB,EAErB7rE,QAAUrB,IACRA,EAAE6B,iBACF7B,EAAEktE,kBACF8I,IACAH,GAAsB,EAAM,GAG9B33E,IAAAA,cAAA,OAAK8T,IAAKqjE,GAAUxsE,MAAO,CAAEwhB,YAAa,SAC1CnsB,IAAAA,cAAC4C,EAAAA,GAAI,CAACC,WAAYC,EAAAA,GAAoB8lC,SAAUj7B,YAAU,mBASvC,IAAxBgiE,EAAa7zE,OACZkE,IAAAA,cAAC21E,GAAe,KACbQ,EAAaxG,EAAc3e,EAAmBC,GAAwB,IAGzEjxD,IAAAA,cAACg7L,GAAc,CACbhqI,kBAAmBA,EACnBC,uBAAwBA,EACxBW,yBAA0BA,EAC1B+d,aAAcA,KAKpB,MAGN3vE,IAAAA,cAAAA,IAAAA,SAAA,KACGs3E,EACCt3E,IAAAA,cAAA,OACE2K,MAAO,CACLwK,OAAQ,OACRs3B,UAAW,QACX54B,MAAO,OACP6jC,gBAAiB,YAGnB13C,IAAAA,cAAC81E,GAAkB,CAACC,aAAa,GAC/B/1E,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJC,SAAS,WACTC,KAAK,QACLpB,QAAUrB,IACRA,EAAE6B,iBACFm0E,GAAoB,EAEtBxkE,UAAU,aACV9O,KAAMxE,IAAAA,cAACqI,GAAAA,EAAK,SAGhBrI,IAAAA,cAACsF,EAAAA,EAAS,CACRE,QAAS,CACPK,OAAQH,EAAAA,EAAiBsE,UACzBvE,IAAKC,EAAAA,EAAiBuyE,UACtBlyE,MAAOL,EAAAA,EAAiBa,UACxBT,KAAMJ,EAAAA,EAAiBa,WAEzB0D,gBAAiB,SACjB1E,gBAAc,EACdS,KAAM,UAENhG,IAAAA,cAAC+6L,GAAW/rL,OAAAC,OAAA,GAAKqsL,IAEhBnlH,EAAaxG,EAAc3e,EAAmBC,GAAwB,KAGzEkgB,EACFnxE,IAAAA,cAAC23C,EAAAA,EAAa,CAACp+B,MAAM,QACnBvZ,IAAAA,cAAA,OACE2K,MAAO,CAAE8hC,UAAW,QAASt3B,OAAQ,OAAQtB,MAAO,OAAQ6jC,gBAAiB,YAC7ExuC,UAAU,mBAEVlJ,IAAAA,cAAC81E,GAAkB,CAACnrE,MAAO,CAAE4G,cAAe,SAC1CvR,IAAAA,cAACmE,EAAAA,EAAG,CACFE,IAAI,SACJC,SAAS,WACTC,KAAK,QACLpB,QAAUrB,IACRA,EAAE6B,iBACF8yE,GAAmB,EAErBnjE,UAAU,aACV9O,KAAMxE,IAAAA,cAACqI,GAAAA,EAAK,SAGhBrI,IAAAA,cAACgxE,EAAAA,QAAO,CACNE,aAAcA,IAAMuF,IACpBtF,YAAaA,EACbC,eAAgBA,EAChBN,aAAa,EACbQ,eAAe,MAInB,MAGJ,EClVJ,SAAUuqH,KACd,MAAM,eAAEpqG,EAAc,QAAEt2F,EAAO,QAAE4e,IAAY63E,EAAAA,EAAAA,kBACtCpa,EAASC,IAAcr3E,EAAAA,EAAAA,WAAS,GACjC8E,GAAQC,EAAAA,EAAAA,MACR/D,GAAWC,EAAAA,EAAAA,MACXoF,GAAMmK,EAAAA,EAAAA,4BAONiI,GAAe1X,EAAAA,EAAAA,QAAO,MACtBi6L,GAA4BzqL,EAAAA,EAAAA,sBAAqB,8BACjDjK,GAAeiK,EAAAA,EAAAA,sBAAqB,iBAEpC8gI,EAAqBA,IAEvBzxI,IAAAA,cAAC6G,EAAAA,oBAAmB,CAAC3B,MAAOA,EAAOuB,IAAKA,GACtCzG,IAAAA,cAAC0xI,GAAAA,aAAY,CAAC1sI,KAAK,cAYnB82L,EAAoBA,KACpBjjL,EAAa9W,UACf8W,EAAa9W,QAAQ8C,QACrBgU,EAAa9W,QAAU,K,EAoB3B,OAhBAO,EAAAA,EAAAA,YAAU,K,QACR,MAAM1P,EAAmE,QAA/DwsB,EAA+C,QAA/CvsB,EAAGuoM,aAAyB,EAAzBA,EAA2BW,2BAAiB,IAAAlpM,OAAA,EAAAA,EAAIogF,oBAAY,IAAA7zD,OAAA,EAAAA,EAAEppB,KAjC7C0jB,MAmC9B,IADAtY,EAAS,CAAE3K,KAAM,qBACZ7D,KAjBkBopM,MACvB,IAAKnjL,EAAa9W,QAAS,CACzB,MAAMoW,EAAQzR,EAAaC,eAAe8qI,EAAoB,CAAC,EAAG,CAAEltI,KAAMuC,GAAAA,GAAiBmK,IAC3F4H,EAAa9W,QAAUoW,C,GAiBzB6jL,GAEI7gM,GAAS,CACX,MAAMpI,EAAsBoI,aAAO,EAAPA,EAASjG,MAAMnC,GAAWA,EAAOH,OAASA,IAClEG,IA1CwB2mB,EA2CH3mB,GA1C3By/E,EAAAA,EAAAA,oBAAmBpxE,EAAUsY,GAAY/e,MAAK,KAC5C88E,GAAW,GACXqkH,GAAmB,I,IA2CpB,CAAC3gM,EAAS4e,IAGX/Z,IAAAA,cAAC08C,GAAAA,GAAoB,KACnB18C,IAAAA,cAACkpF,EAAAA,iBAAgB,CACfj3E,SAAU,SACV9I,WAAS,EACTlB,sBAAuBA,IAAM,KAC7BkhF,gBACE3R,EAAUx3E,IAAAA,cAACm7L,GAAU,CAAC1jH,WAAYA,IAAiBz3E,IAAAA,cAACy7L,GAAgB,CAAChkH,WAAYA,MAK3F,CChFM,SAAUolB,GAAaj4F,GAAqC,IAApC,mBAAEuuF,GAAkCvuF,EAG9D,MAAyB,UAFPqhB,EAAAA,EAAAA,gBAEJg2K,OACHj8L,IAAAA,cAAC67L,GAAU,MAEf,IACT,C,eCPI,SAAUt/F,GAAc58F,GAG5B,OACIK,IAAAA,cAACkpF,EAAAA,iBAAgB,CACfC,gBAAiBnpF,IAAAA,cAAC+wJ,GAAAA,EAAgB,MAClClnJ,mBAAoBhF,MACpBoD,sBAAuBA,IAAM,KAC7BkB,WAAW,EACX8I,SAAW,UAGnB,C,+CCuDO,MAAMwI,EAAgBf,GACvBA,OAC0CxjB,IAAvCwjB,EAA2B1M,QADX,I,wBCxDzB,SAAS6sD,EAAMvW,EAAGF,GACdnxD,KAAKqxD,EAAIA,EACTrxD,KAAKmxD,EAAIA,CACb,CAjBA1xD,EAAOD,QAAUooE,EAmBjBA,EAAMhrC,UAAY,CAOds+B,MAAO,WAAa,OAAO,IAAI0M,EAAM5nE,KAAKqxD,EAAGrxD,KAAKmxD,EAAI,EAQtDpf,IAAS,SAAStV,GAAK,OAAOz8B,KAAKk7D,QAAQ+uI,KAAKxtK,EAAI,EAQpD6rC,IAAS,SAAS7rC,GAAK,OAAOz8B,KAAKk7D,QAAQiN,KAAK1rC,EAAI,EAQpDytK,YAAgB,SAASztK,GAAK,OAAOz8B,KAAKk7D,QAAQivI,aAAa1tK,EAAI,EAQnE2tK,WAAgB,SAAS3tK,GAAK,OAAOz8B,KAAKk7D,QAAQmvI,YAAY5tK,EAAI,EAQlE6tK,KAAS,SAASh2I,GAAK,OAAOt0D,KAAKk7D,QAAQqvI,MAAMj2I,EAAI,EAQrD7mD,IAAS,SAAS6mD,GAAK,OAAOt0D,KAAKk7D,QAAQsvI,KAAKl2I,EAAI,EAQpDm2I,OAAS,SAAS5qM,GAAK,OAAOG,KAAKk7D,QAAQkN,QAAQvoE,EAAI,EASvD6qM,aAAe,SAAS7qM,EAAE48B,GAAK,OAAOz8B,KAAKk7D,QAAQyvI,cAAc9qM,EAAE48B,EAAI,EAOvEmuK,QAAS,SAASv2I,GAAK,OAAOr0D,KAAKk7D,QAAQ2vI,SAASx2I,EAAI,EASxDy2I,KAAS,WAAa,OAAO9qM,KAAKk7D,QAAQ6vI,OAAS,EAQnDC,KAAS,WAAa,OAAOhrM,KAAKk7D,QAAQ+vI,OAAS,EAOnDzwI,MAAS,WAAa,OAAOx6D,KAAKk7D,QAAQgwI,QAAU,EAQpDC,IAAK,WACD,OAAOvmK,KAAKstB,KAAKlyD,KAAKqxD,EAAIrxD,KAAKqxD,EAAIrxD,KAAKmxD,EAAInxD,KAAKmxD,EACrD,EAQA4hD,OAAQ,SAASq4F,GACb,OAAOprM,KAAKqxD,IAAM+5I,EAAM/5I,GACjBrxD,KAAKmxD,IAAMi6I,EAAMj6I,CAC5B,EAOAgT,KAAM,SAAS1nC,GACX,OAAOmI,KAAKstB,KAAKlyD,KAAKqrM,QAAQ5uK,GAClC,EASA4uK,QAAS,SAAS5uK,GACd,IAAI84B,EAAK94B,EAAE40B,EAAIrxD,KAAKqxD,EAChBmE,EAAK/4B,EAAE00B,EAAInxD,KAAKmxD,EACpB,OAAOoE,EAAKA,EAAKC,EAAKA,CAC1B,EAOA6R,MAAO,WACH,OAAOziC,KAAK0mK,MAAMtrM,KAAKmxD,EAAGnxD,KAAKqxD,EACnC,EAOAk6I,QAAS,SAAS/6K,GACd,OAAOoU,KAAK0mK,MAAMtrM,KAAKmxD,EAAI3gC,EAAE2gC,EAAGnxD,KAAKqxD,EAAI7gC,EAAE6gC,EAC/C,EAOAm6I,UAAW,SAASh7K,GAChB,OAAOxwB,KAAKyrM,aAAaj7K,EAAE6gC,EAAG7gC,EAAE2gC,EACpC,EASAs6I,aAAc,SAASp6I,EAAGF,GACtB,OAAOvsB,KAAK0mK,MACRtrM,KAAKqxD,EAAIF,EAAInxD,KAAKmxD,EAAIE,EACtBrxD,KAAKqxD,EAAIA,EAAIrxD,KAAKmxD,EAAIA,EAC9B,EAEA05I,SAAU,SAASx2I,GACf,IAAIhD,EAAIgD,EAAE,GAAKr0D,KAAKqxD,EAAIgD,EAAE,GAAKr0D,KAAKmxD,EAChCA,EAAIkD,EAAE,GAAKr0D,KAAKqxD,EAAIgD,EAAE,GAAKr0D,KAAKmxD,EAGpC,OAFAnxD,KAAKqxD,EAAIA,EACTrxD,KAAKmxD,EAAIA,EACFnxD,IACX,EAEAiqM,KAAM,SAASxtK,GAGX,OAFAz8B,KAAKqxD,GAAK50B,EAAE40B,EACZrxD,KAAKmxD,GAAK10B,EAAE00B,EACLnxD,IACX,EAEAmoE,KAAM,SAAS1rC,GAGX,OAFAz8B,KAAKqxD,GAAK50B,EAAE40B,EACZrxD,KAAKmxD,GAAK10B,EAAE00B,EACLnxD,IACX,EAEAuqM,MAAO,SAASj2I,GAGZ,OAFAt0D,KAAKqxD,GAAKiD,EACVt0D,KAAKmxD,GAAKmD,EACHt0D,IACX,EAEAwqM,KAAM,SAASl2I,GAGX,OAFAt0D,KAAKqxD,GAAKiD,EACVt0D,KAAKmxD,GAAKmD,EACHt0D,IACX,EAEAmqM,aAAc,SAAS1tK,GAGnB,OAFAz8B,KAAKqxD,GAAK50B,EAAE40B,EACZrxD,KAAKmxD,GAAK10B,EAAE00B,EACLnxD,IACX,EAEAqqM,YAAa,SAAS5tK,GAGlB,OAFAz8B,KAAKqxD,GAAK50B,EAAE40B,EACZrxD,KAAKmxD,GAAK10B,EAAE00B,EACLnxD,IACX,EAEA+qM,MAAO,WAEH,OADA/qM,KAAKwqM,KAAKxqM,KAAKmrM,OACRnrM,IACX,EAEAirM,MAAO,WACH,IAAI95I,EAAInxD,KAAKmxD,EAGb,OAFAnxD,KAAKmxD,EAAInxD,KAAKqxD,EACdrxD,KAAKqxD,GAAKF,EACHnxD,IACX,EAEAooE,QAAS,SAASf,GACd,IAAIqkI,EAAM9mK,KAAK8mK,IAAIrkI,GACf5L,EAAM72B,KAAK62B,IAAI4L,GACfhW,EAAIq6I,EAAM1rM,KAAKqxD,EAAIoK,EAAMz7D,KAAKmxD,EAC9BA,EAAIsK,EAAMz7D,KAAKqxD,EAAIq6I,EAAM1rM,KAAKmxD,EAGlC,OAFAnxD,KAAKqxD,EAAIA,EACTrxD,KAAKmxD,EAAIA,EACFnxD,IACX,EAEA2qM,cAAe,SAAStjI,EAAO5qC,GAC3B,IAAIivK,EAAM9mK,KAAK8mK,IAAIrkI,GACf5L,EAAM72B,KAAK62B,IAAI4L,GACfhW,EAAI50B,EAAE40B,EAAIq6I,GAAO1rM,KAAKqxD,EAAI50B,EAAE40B,GAAKoK,GAAOz7D,KAAKmxD,EAAI10B,EAAE00B,GACnDA,EAAI10B,EAAE00B,EAAIsK,GAAOz7D,KAAKqxD,EAAI50B,EAAE40B,GAAKq6I,GAAO1rM,KAAKmxD,EAAI10B,EAAE00B,GAGvD,OAFAnxD,KAAKqxD,EAAIA,EACTrxD,KAAKmxD,EAAIA,EACFnxD,IACX,EAEAkrM,OAAQ,WAGJ,OAFAlrM,KAAKqxD,EAAIzsB,KAAK41B,MAAMx6D,KAAKqxD,GACzBrxD,KAAKmxD,EAAIvsB,KAAK41B,MAAMx6D,KAAKmxD,GAClBnxD,IACX,GAcJ4nE,EAAMb,QAAU,SAAUlnE,GACtB,OAAIA,aAAa+nE,EACN/nE,EAEPqiC,MAAMC,QAAQtiC,GACP,IAAI+nE,EAAM/nE,EAAE,GAAIA,EAAE,IAEtBA,CACX,C,8BCrTA,IAAI8rM,EAAsB,EAAQ,MAClC5uL,OAAOwvD,eAAe/sE,EAAS,IAA/B,CAAsDosM,YAAY,EAAMlrM,IAAK,WAAc,OAAOirM,EAAoBrT,iBAAmB,G,8BCFzIv7K,OAAOwvD,eAAe/sE,EAAS,aAAc,CAAEkP,OAAO,IACtDlP,EAAQqsM,+BAA4B,EACpC,MAAMC,EAAU,EAAQ,MACxBtsM,EAAQqsM,0BAA8C,oBAAX1pM,OAAyB2pM,EAAQl6G,gBAAkBk6G,EAAQz7L,S,8BCHtG0M,OAAOwvD,eAAe/sE,EAAS,aAAc,CAAEkP,OAAO,IACtDlP,EAAQ84L,uBAAoB,EAC5B,MAAMwT,EAAU,EAAQ,MAClBC,EAA8B,EAAQ,MACtCC,EAA8B,oBAAX7pM,OACnB8pM,EAAe,CAAE56I,EAAG,EAAGF,EAAG,GAC1B+6I,EAAiBv2K,GAAYA,aAAyC,EAASA,EAAQ6hD,wBACvF20H,EAAoB,EAAGx2K,UAASy2K,YAAWC,sBAC7C,IAAKL,EACD,OAAOC,EAEX,GAAIG,EACA,MAAO,CAAE/6I,EAAGlvD,OAAOmqM,QAASn7I,EAAGhvD,OAAO61L,SAE1C,MAAM5O,EAAiB8iB,GAAev2K,aAAyC,EAASA,EAAQ7lB,UAAYQ,SAASyO,MAC/GwtL,EAAoBL,EAAcG,aAAyD,EAASA,EAAgBv8L,SAC1H,OAAKs5K,EAGEmjB,EACD,CACEl7I,GAAIk7I,EAAkBl7I,GAAK,IAAM+3H,EAAe/3H,GAAK,GACrDF,GAAIo7I,EAAkBp7I,GAAK,IAAMi4H,EAAej4H,GAAK,IAEvD,CAAEE,EAAG+3H,EAAev1K,KAAMs9C,EAAGi4H,EAAe51K,KAPvCy4L,CAO4C,EAE3DzsM,EAAQ84L,kBAAoB,CAACkU,EAAQC,EAAM92K,EAASy2K,EAAW3gG,EAAM4gG,KACjE,MAAMlkL,EAAW2jL,EAAQ58L,OAAOi9L,EAAkB,CAAEC,YAAWC,qBAC/D,IAAIK,EAAkB,KACtB,MAAMC,EAAW,KACb,MAAMnU,EAAU2T,EAAkB,CAAEx2K,UAASy2K,YAAWC,oBACxDG,EAAO,CAAEjU,QAASpwK,EAASrY,QAAS0oL,YACpCrwK,EAASrY,QAAU0oL,EACnBkU,EAAkB,IAAI,EAE1BX,EAA4BF,2BAA0B,KAClD,IAAIjrM,EACJ,IAAKorM,EACD,OAEJ,MAAMniB,EAAe,KACbp+E,EACwB,OAApBihG,IACAA,EAAkBh8L,WAAWi8L,EAAUlhG,IAI3CkhG,GACJ,EAQJ,OANIN,EACmC,QAAlCzrM,EAAKyrM,EAAgBv8L,eAA4B,IAAPlP,GAAyBA,EAAG2P,iBAAiB,SAAUs5K,EAAc,CAAEr9G,SAAS,IAG3HrqE,OAAOoO,iBAAiB,SAAUs5K,EAAc,CAAEr9G,SAAS,IAExD,KACH,IAAI5rE,EACAyrM,EACmC,QAAlCzrM,EAAKyrM,EAAgBv8L,eAA4B,IAAPlP,GAAyBA,EAAG4P,oBAAoB,SAAUq5K,GAGrG1nL,OAAOqO,oBAAoB,SAAUq5K,GAErC6iB,GACAv/H,aAAau/H,EACjB,CACH,GACFD,EAAK,EAEZjtM,EAAQ84L,kBAAkBlyH,aAAe,CACrCqmI,KAAM,GACN92K,SAAS,EACTy2K,WAAW,EACX3gG,KAAM,KACN4gG,iBAAiB,E,6DC1ErB,MAQA,EARkBv8L,IAChB,MAAM88L,EAAc,SAAa98L,GAIjC,OAHA,aAAgB,KACd88L,EAAY98L,QAAUA,CAAO,IAExB88L,CAAW,C,uECLpB,MAAMC,EAA8B,oBAAhBC,YAA8BA,YAAc/4J,KAE1DgkB,EAAM,IAAM80I,EAAK90I,MAEhB,SAASg1I,EAAoBtiI,EAAUuiI,EAAM,GAAIjhG,GAAU,GAChE,MAAMkhG,GAAiB,OAAUxiI,GAC3Bm+B,EAAK,IAAOokG,EACZz5F,EAAO,SAAa,GACpB25F,EAAkB,WAElBC,EAAgB,IAAMD,EAAgBp9L,SAAWq9D,aAAa+/H,EAAgBp9L,SAE9E28L,EAAO,CAACO,EAAKjhG,EAASkhG,GAE5B,SAASt6L,IACP4gG,EAAKzjG,QAAU,EACfq9L,GACF,CAGA,OADA,aAAgB,IAAMx6L,GAAM85L,GACrB,eAAkB,WAEvB,MAAMpsK,EAAOmL,UACP4hK,EAAWr1I,IAEXp7B,EAAO,KACX42E,EAAKzjG,QAAUs9L,EACfD,IACAF,EAAen9L,QAAQ2wD,MAAM,KAAMpgC,EAAK,EAGpCvwB,EAAUyjG,EAAKzjG,QAErB,GAAIi8F,GAAuB,IAAZj8F,EAAe,OAAO6sB,IAErC,GAAIywK,EAAWt9L,EAAU84F,EAAI,CAC3B,GAAI94F,EAAU,EAAG,OAAO6sB,IACxB42E,EAAKzjG,QAAUs9L,CACjB,CAGAD,IACAD,EAAgBp9L,QAAUY,YAAW,KACnCisB,IACA42E,EAAKzjG,QAAU,CAAC,GACf84F,EACL,GAAG6jG,EACL,C,iFC/CO,MAAMY,EAAsB,CAAC5iI,EAAUghC,EAAO,IAAKM,GAAU,KAClE,MAAMkhG,GAAiB,OAAUxiI,GAC3B3oE,EAAU,WACV2qM,EAAO,CAAChhG,EAAMM,EAASkhG,GAE7B,SAASt6L,IACP7Q,EAAQgO,SAAWq9D,aAAarrE,EAAQgO,SACxChO,EAAQgO,aAAU,CACpB,CAIA,SAASud,IACPvrB,EAAQgO,aAAU,CACpB,CAEA,OANA,aAAgB,IAAM6C,GAAM85L,GAMrB,eAAkB,WAEvB,MAAMpsK,EAAOmL,WACP,QACJ17B,GACEhO,EAEJ,QAAgB,IAAZgO,GAAsBi8F,EAGxB,OAFAjqG,EAAQgO,QAAUY,WAAW2c,EAAOo+E,GAE7BwhG,EAAen9L,QAAQ2wD,MAAM,KAAMpgC,GAI5CvwB,GAAWq9D,aAAar9D,GAExBhO,EAAQgO,QAAUY,YAAW,KAC3B5O,EAAQgO,aAAU,EAClBm9L,EAAen9L,QAAQ2wD,MAAM,KAAMpgC,EAAK,GACvCorE,EACL,GAAGghG,EAAK,ECTV,QA3BA,SAAkBz8L,EAAQxL,EAAMiqD,EAAU6+I,GACxC,MAAMC,EAAiB,SAAa9+I,GAC9B++I,EAAgB,SAAaF,GACnC,aAAgB,KACdC,EAAez9L,QAAU2+C,EACzB++I,EAAc19L,QAAUw9L,CAAO,IAEjC,aAAgB,KACd,MAAMG,EAAWz9L,GAAU,YAAaA,EAASA,EAAOF,QAAUE,EAClE,IAAKy9L,EAAU,OACf,IAAIC,EAAiB,EAErB,SAASj/I,KAAYpuB,GACfqtK,GACJH,EAAez9L,QAAQ2wD,MAAMzgE,KAAMqgC,EACrC,CAEAotK,EAASl9L,iBAAiB/L,EAAMiqD,GAChC,MAAM6+I,EAAUE,EAAc19L,QAC9B,MAAO,KACL49L,EAAiB,EACjBD,EAASj9L,oBAAoBhM,EAAMiqD,GACnC6+I,GAAWA,GAAS,CACrB,GACA,CAACt9L,EAAQxL,GACd,ECzBMmpM,EAAW,CAAC,EACZC,EAAwB,oBAAXzrM,OAAyB,KAAOA,OAC7C0rM,EAAKD,QAAqC,IAAvBA,EAAIE,eAAiCF,EAAIE,eAAiB,KAE7EC,EAAU,IAAM,CAACz9L,SAASuhC,gBAAgBqlC,YAAa5mE,SAASuhC,gBAAgB6I,cAEzEszJ,EAAgB,SAAU3pM,QACrB,IAAZA,IACFA,EAAUspM,GAGZ,MAAM,KACJliG,EAAI,QACJM,EAAO,aACPkiG,EAAe,EAAC,cAChB3+G,EAAgB,GACdjrF,GACGiO,EAAM47L,GFqBY,EAAC/xJ,EAAcsvD,EAAMM,KAC9C,MAAMt8F,EAAQ,WAAe0sC,GAC7B,MAAO,CAAC1sC,EAAM,GAAI49L,EAAoB59L,EAAM,GAAIg8F,EAAMM,GAAS,EEvB9BoiG,CAEb,oBAAb79L,SAA2B,CAAC29L,EAAc3+G,GAAiBy+G,EAAStiG,EAAMM,GAE3EqiG,EAAU,IAAMF,EAAiBH,GAMvC,OAJA,EAASH,EAAK,SAAUQ,GAExB,EAASP,EAAI,SAAUO,GACvB,EAASR,EAAK,oBAAqBQ,GAC5B97L,CACT,EACaqO,EAAkBtc,GAAW2pM,EAAc3pM,GAAS,GACpDorF,EAAiBprF,GAAW2pM,EAAc3pM,GAAS,E,qECJ1DgqM,EAAuB,CAAC,EAOvB,SAASC,IACd,OACE,UACI,EAAAjgF,EACkB,oBAAXlsH,OACPA,OACgB,oBAATpC,KACPA,KACAsuM,CAER,CAaO,SAASE,EAAsBrqM,EAAwCsqM,EAAkB1+K,GAC9F,IAAMu7E,EAAUv7E,GAAOw+K,IACjBvnF,EAAc1b,EAAO0b,WAAa1b,EAAO0b,YAAc,CAAC,EAE9D,OADkBA,EAAW7iH,KAAU6iH,EAAW7iH,GAAQsqM,IAE5D,C,8BCnDO,SAASC,IAGd,QCQ4C,oBAA9BC,2BAA+CA,4BDNsB,qBAAjF3xL,OAAO6f,UAAU7Y,SAAS4Y,KAAwB,oBAAZugB,QAA0BA,QAAU,EAE9E,CAQO,SAASyxJ,EAAeC,EAAU92E,GAEvC,OAAO82E,EAAIlvM,QAAQo4H,EACrB,C,iIEbA,IAAM+2E,EAAuC,CAC3CC,WAAY,WAAM,OAAA/6J,KAAKgkB,MAAQ,GAAb,GA2EpB,IAAMg3I,GAA+C,UAZrD,WACE,IAEE,OADkB,QAAetvM,EAAQ,cACxBqtM,W,CACjB,MAAO7nK,GACP,M,CAEJ,CAKmE+pK,GAnDnE,WACU,IAAAlC,GAAA,SAAAA,YACR,GAAKA,GAAgBA,EAAY/0I,IA2BjC,MAAO,CACLA,IAAK,WAAM,OAAA+0I,EAAY/0I,KAAZ,EACXk3I,WAJiBl7J,KAAKgkB,MAAQ+0I,EAAY/0I,MAM9C,CAkB0Fm3I,GAEpFC,OACoBlrM,IAAxB8qM,EACIF,EACA,CACEC,WAAY,WAAM,OAACC,EAAoBE,WAAaF,EAAoBh3I,OAAS,GAA/D,GAMbq3I,EAAuCP,EAAoBC,WAAW1lF,KAAKylF,GAa3EQ,EAAmCF,EAAgBL,WAAW1lF,KAAK+lF,IAmBpC,WAKlC,IAAArC,GAAA,SAAAA,YACR,GAAKA,GAAgBA,EAAY/0I,IAAjC,CAKA,IAAM++F,EAAY,KACZw4C,EAAiBxC,EAAY/0I,MAC7Bw3I,EAAUx7J,KAAKgkB,MAGfy3I,EAAkB1C,EAAYmC,WAChCrqK,KAAK8zC,IAAIo0H,EAAYmC,WAAaK,EAAiBC,GACnDz4C,EACE24C,EAAuBD,EAAkB14C,EAQzC44C,EAAkB5C,EAAY6C,QAAU7C,EAAY6C,OAAOD,gBAG3DE,EAFgD,iBAApBF,EAEgB9qK,KAAK8zC,IAAIg3H,EAAkBJ,EAAiBC,GAAWz4C,EAGzG,OAAI24C,GAF8BG,EAAuB94C,EAInD04C,GAAmBI,EAEd9C,EAAYmC,WAGZS,EAMJH,C,CAvCLM,CAwCH,CA/C2C,E,0FCxIrC,MAAMC,EAAa,gBAAoB,CAAC,GCIzCC,EAAsBriM,IACxB,MAAMsiM,EAAW,GAAGprK,KAAK/rB,IAAI,EAAGnL,EAAMuiM,aAChCC,EAAWt9K,OAAOu9K,SAASziM,EAAM0lG,UAAe1lG,EAAM0lG,QAAU,EAAnB,KACnD,OAAI88F,EACO,IAAIF,iBAAwBE,KAG5B,IAAIF,aACf,EAEEI,EAA0B,KAAO3iM,IAAIunC,WAAW,CAAEzc,YAAa,0BAA2B0c,YAAa,cAAgB,uBAAuB86J,uBAC7I,SAASn3L,EAAkBlL,GAC9B,MAAM,IAAEsL,EAAM,KAAYwI,QAAO,IAAE3I,EAAM,KAAYw3L,MAAK,SAAElgM,GAAazC,EACnE47C,GAAc,OAAe57C,IAC3B4iM,iBAAkBC,GAA4B,aAAiBT,GACjEQ,EAAmBC,EACnBC,EA+CV,WACI,MAAOA,EAAoBC,GAAyB,YAAe,GAUnE,OAPA,aAAgB,KACPD,GAGDC,EAAwC,oBAAXtuM,OACjC,GACD,CAACquM,IACGA,CACX,CA3D+BE,IACrB,aAAEC,GAAiB,aAAiBb,GACpCc,GAyCiCX,EAzCqBj3L,EAyCZo6F,EAzCiBv6F,EAgBrE,SAA+BwiG,GAC3B,MAAMw1F,EAAM,WAAc,IAAwB,oBAAX1uM,QAA0Bk5G,GAASl5G,OAAOquF,WAAW6qB,IAAQ,CAACA,KAC9F5qB,EAASqgH,GAAc,aAAeD,GAAMA,EAAIpgH,SAcvD,OAbA,aAAgB,KACZ,IAAKogH,EACD,OAEJC,EAAWD,EAAIpgH,SACf,MAAMsgH,EAA4Bt/L,IAC9Bq/L,EAAWr/L,EAAMg/E,QAAQ,EAG7B,OADAogH,EAAItgM,iBAAiB,SAAUwgM,GACxB,KACHF,EAAIrgM,oBAAoB,SAAUugM,EAAyB,CAC9D,GACF,CAACF,IACGpgH,CACX,CAUWugH,CADO,WAAc,IAAMjB,EAAmB,CAAEE,UAAS78F,aAAY,CAAC68F,EAAS78F,MAD1F,IAA2C68F,EAAS78F,EAxChD,MAAM69F,EAiCV,SAAkChB,EAAS78F,EAAS/8E,GAGhD,YAAyBpyB,IAAlBoyB,GACDA,GAAiB45K,GAAW55K,EAAgB+8E,CAEtD,CAvCoC89F,CAAyBl4L,EAAKH,EAAKy3L,GAEnE,OAAKE,GAAuBS,EAIxBT,GAAsBG,IAAiBM,EAChC,MAGPT,GAAuBG,GAAiBC,EAGpC,gBAAoBR,EAAyBrzL,OAAOC,OAAO,CAAEizL,QAASj3L,EAAKo6F,QAASv6F,GAAOywC,GAAcn5C,GAFtG,KARA,IAWf,C,+GCtCIghM,EAAkC,SAAUz8I,EAAG7kD,GAC/C,IAAIshB,EAAI,CAAC,EACT,IAAK,IAAIsL,KAAKi4B,EAAO33C,OAAO6f,UAAU4hB,eAAe7hB,KAAK+3B,EAAGj4B,IAAM5sB,EAAEmyB,QAAQvF,GAAK,IAC9EtL,EAAEsL,GAAKi4B,EAAEj4B,IACb,GAAS,MAALi4B,GAAqD,mBAAjC33C,OAAOq0L,sBACtB,KAAItxM,EAAI,EAAb,IAAgB28B,EAAI1f,OAAOq0L,sBAAsB18I,GAAI50D,EAAI28B,EAAE5yB,OAAQ/J,IAC3D+P,EAAEmyB,QAAQvF,EAAE38B,IAAM,GAAKid,OAAO6f,UAAUy0K,qBAAqB10K,KAAK+3B,EAAGj4B,EAAE38B,MACvEqxB,EAAEsL,EAAE38B,IAAM40D,EAAEj4B,EAAE38B,IAF4B,CAItD,OAAOqxB,CACX,EAMA,MAAMmgL,EAAU5jM,GAAUmpG,QAAsB,MAAdnpG,EAAM0E,KAClCm/L,EAAkB7jM,GAA6B,UAAnBA,EAAM2E,UACjB,SAAnB3E,EAAM2E,SACJm/L,EAAiB,CAAClqL,EAAO3Z,EAAU8jM,KAC9B,CACHh1L,QAAS,kBACL6K,EAAMguB,OAAOtzC,QAAQ2L,EAAW,WAAa,mCACxC2Z,EAAMguB,OAAOz/B,OAAO4G,QAAQ9O,EAAW,WAAa,2JAInD2Z,EAAMguB,OAAOz/B,OAAO4G,QAAQy4B,wDAIxC,OAAwB5tB,EAAO,2DAI7BrW,UAAW,oBAEPqW,EAAMguB,OAAOz/B,OAAO5E,UAAUtD,EAAW,WAAa,wEAE3C2Z,EAAMguB,OAAOz/B,OAAO5E,UAAUtD,EAAW,WAAa,kIAGhE2Z,EAAMguB,OAAOtzC,QAAQwzC,kCAChBluB,EAAMguB,OAAOz/B,OAAO5E,UAAUikC,sCACxB5tB,EAAMguB,OAAOz/B,OAAO4G,QAAQy4B,wDAI9C,OAAwB5tB,EAAO,6DAI7BoqL,SAAU,kBACNpqL,EAAMguB,OAAOz/B,OAAO67L,SAAS/jM,EAAW,WAAa,wLAKpD2Z,EAAMguB,OAAOz/B,OAAO67L,SAASx8J,qGAIR5tB,EAAMhV,KAAKsjC,OAAOC,kEAK9C,OAAwBvuB,EAAO,sCACfmqL,EAAa,QAAU,0BAGrCvuM,MAAO,kBACHokB,EAAMguB,OAAOtzC,QAAQ2vM,yCAChBrqL,EAAMguB,OAAOs8J,OAAO1uM,MAAMse,mBAEnCqwL,KAAM,kBACFvqL,EAAMguB,OAAOtzC,QAAQ2vM,yCAChBrqL,EAAMguB,OAAOs8J,OAAOC,KAAKrwL,qBAKpCswL,EAAiB,KAAOz0L,KAAK23B,WAAW,CAAEzc,YAAa,iBAAkB0c,YAAa,aAAe,yCAA0CvnC,GAAkC,QAAvBA,EAAMynC,aAAyB,EAAI,aAAc,EAAGA,eAAc7tB,WAA6B,QAAjB6tB,GAC1O,IAAI;;;;;;;aAOK7tB,EAAMhV,KAAKsjC,OAAOG;oBACXzuB,EAAMhV,KAAKiiL;MAGzBwd,EAAmB,KAAO10L,KAAK23B,WAAW,CAAEzc,YAAa,mBAAoB0c,YAAa,aAAe,uBAAwBvnC,GAAkC,QAAvBA,EAAMynC,aAAyB,EAAI,aAE/K68J,EAAiB,KAAO30L,KAAK23B,WAAW,CAAEzc,YAAa,iBAAkB0c,YAAa,cAAgB,yGAA0GvnC,GAA6B,SAAnBA,EAAM2E,UAAuB,4BAA6B3E,GAAUA,EAAMC,SACpS,IAAI;;;MAIJ,IAAI;;QAIJskM,EAAsB,KAAOxkM,IAAIunC,WAAW,CAAEzc,YAAa,sBAAuB0c,YAAa,aAAe,sBAAuBvnC,IACvI,GAA2B,QAAvBA,EAAMynC,aACN,OAAO,IAAI;;;KAKf,MAAM+8J,EAAyC,QAAvBxkM,EAAMynC,aACxB,sBACH,WAAemmB,MAAM5tD,EAAMyC,UAAY,4CAGpC,kCACH,WAAemrD,MAAM5tD,EAAMyC,UAAY,gCAG1C,OAAO,IAAI;;4BAEa+hM;sBACNxkM,EAAM4Z,MAAMhV,KAAKiiL;GACpC,IAGG4d,EAAoB,KAAO1kM,IAAIunC,WAAW,CAAEzc,YAAa,oBAAqB0c,YAAa,aAAe,sBAAuBvnC,GACxG,QAAvBA,EAAMynC,aACC,IAAI;;;KAKR,IAAI;;;sBAGQznC,GAAUA,EAAM4Z,MAAMhV,KAAKiiL;;MAI5C6d,EAAsC1kM,GACnCA,EAAM4F,gBAGJ,QAA2B5F,EAAM4F,gBAAiBA,GAAoBA,EAAiB,eAAiB,oBAFpG,GAKT++L,EAAe,KAAOx8L,OAAOm/B,WAAW,CAAEzc,YAAa,eAAgB0c,YAAa,cAAgB,qBAAqBm9J,qFAAuH1kM,IAClP,MAAMkU,EAAuB,UAAflU,EAAM4E,KAAmB5E,EAAM4Z,MAAMhV,KAAKsQ,UAAY,OAC9DrP,EAAyB,UAAf7F,EAAM4E,KAChB,GAAG5E,EAAM4Z,MAAMhV,KAAKiiL,aAAa7mL,EAAM4Z,MAAMhV,KAAK6zC,YAClD,KAAKz4C,EAAM4Z,MAAMhV,KAAKsQ,YAC5B,OAAO,IAAI;iBACEhB;gBACDA;KACXlU,EAAM4kM,SACD,IAAI;eACC1wL;;OAGL,IAAI;iBACGrO;;aAEJ7F,EAAM4Z,MAAMhV,KAAKsjC,OAAOG;GAClC,8FAC4FroC,GAAWA,EAAMC,SAAW,cAAgB,qDAAsD,EAAG2Z,QAAO3Z,WAAU0E,WAAUo/L,gBAAiBp/L,GAC5Om/L,EAAelqL,EAAO3Z,EAAU8jM,GAAyB,SAAbp/L,EAAsB,WAAaA,MAAa,EAAGiV,QAAOjV,eAA6B,SAAbA,GAAoC,UAAbA,IAC7I,IAAI;;;;aAIKiV,EAAMguB,OAAOtzC,QAAQwzC;kBAChBluB,EAAMguB,OAAOs8J,OAAO1uM,MAAMuyC;;;;;aAK/BnuB,EAAMguB,OAAOtzC,QAAQwzC;kBAChBluB,EAAMguB,OAAOs8J,OAAO1uM,MAAMgyC;;;;yBAInB5tB,EAAMguB,OAAOi9J,MAAMX;;;MAKtCY,EAAa,KAAO3yM,EAAEm1C,WAAW,CAAEzc,YAAa,aAAc0c,YAAa,aAAe,2CAA2Cm9J,+DAAiG1kM,GAAWA,EAAMC,SAAW,cAAgB,0CAA4CD,GAAUA,EAAM4kM,UAChV,IAAI;;;;;YAKmB,UAAf5kM,EAAM4E,KAAmB5E,EAAM4Z,MAAMhV,KAAKsQ,UAAY;aACtC,UAAflV,EAAM4E,KAAmB5E,EAAM4Z,MAAMhV,KAAKsQ,UAAY;aACtDlV,EAAM4Z,MAAMhV,KAAKsjC,OAAOG;;OAE9B,EAAGzuB,QAAO3Z,WAAU0E,WAAUo/L,gBAAiBp/L,GAClDm/L,EAAelqL,EAAO3Z,EAAU8jM,GAAyB,SAAbp/L,EAAsB,WAAaA,8CAE7EogM,EAAW/kM,IACb,MAAM,UAAE2T,EAAS,SAAElR,EAAQ,SAAExC,EAAQ,SAAE0E,EAAQ,WAAEulB,EAAU,KAAErlB,EAAI,aAAE4iC,EAAY,KAAE7iC,EAAI,IAAEF,EAAG,QAAElB,GAAYxD,EAAOk0D,EAAOuvI,EAAOzjM,EAAO,CAAC,YAAa,WAAY,WAAY,WAAY,aAAc,OAAQ,eAAgB,OAAQ,MAAO,YACrOglM,EAAc,WAAep3I,MAAMnrD,GAAY,EAE/CwiM,EAAkBrB,EAAO5jM,KAAWC,EAAW,CAAEkF,KAAMnF,EAAMmF,MAAS,CAAC,EAEvE7E,EAAM4pB,EACZ,OAAQ,gBAAoB46K,EAAYz1L,OAAOC,OAAO,CAAEgd,GAAI5nB,EAAK,aAAciP,EAAW1T,SAAUA,GAAYi0D,EAAM+wI,EAAiB,CAAE3kM,IAAKA,EAAKqE,SAAUA,EAAUigM,SAAU//L,IAASmgM,EAAajB,WAAYl/L,IAASmgM,EAAapgM,KAAMA,EAAMpB,QAASA,EAASikC,aAAcA,IACjR5iC,GAAQmgM,GAAgB,gBAAoBP,EAAmB,CAAEh9J,aAAcA,GAC3E,gBAAoB28J,EAAgB,CAAE38J,aAAcA,GAAgB5iC,GACpE,gBAAoB,OAAQ,KACxB,gBAAoBy/L,EAAgB,CAAE3/L,SAAUA,EAAU1E,SAAUA,GAAYwC,MACvFuiM,GAAengM,EAChBmgM,IAAgBngM,GAAS,gBAAoBy/L,EAAgB,CAAE3/L,SAAUA,EAAU1E,SAAUA,GAAYwC,GAAY,EAGvHyiM,EAAallM,IACf,MAAM,UAAE2T,EAAS,SAAElR,EAAQ,WAAEynB,EAAU,KAAErlB,EAAI,aAAE4iC,EAAY,KAAE7iC,EAAO,QAAO,IAAEF,EAAG,QAAElB,GAAYxD,EAAOk0D,EAAOuvI,EAAOzjM,EAAO,CAAC,YAAa,WAAY,aAAc,OAAQ,eAAgB,OAAQ,MAAO,YACnMglM,EAAc,WAAep3I,MAAMnrD,GAAY,EAErD,IAAIwiM,EAAkB,CAAC,EACnBrB,EAAO5jM,KAAWA,EAAMC,WACxBglM,EAAkB51L,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAG21L,GAAkB,CAAE9/L,KAAMnF,EAAMmF,QAEjF0+L,EAAe7jM,KAChBilM,EAAkB51L,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAG21L,GAAkB,CAAEhlM,SAAUD,EAAMC,YAG1F,MAAMK,EAAM4pB,EACZ,OAAQ,gBAAoBy6K,EAAct1L,OAAOC,OAAO,CAAEgd,GAAI5nB,EAAK,aAAciP,GAAaugD,EAAM+wI,EAAiB,CAAE3kM,IAAKA,EAAKskM,SAAU//L,IAASmgM,EAAajB,WAAYl/L,IAASmgM,EAAapgM,KAAMA,EAAMpB,QAASA,IACpNqB,IAASmgM,GAAengM,EACxBA,GAAQmgM,GAAgB,gBAAoBT,EAAqB,CAAE98J,aAAcA,GAC7E,gBAAoB48J,EAAkB,CAAE58J,aAAcA,GAAgB5iC,GACtE,gBAAoB,KAAM,CAAE3B,WAAY,KAAoB4xK,SAAUzxK,MAAO,KAAe6lC,QAASl7B,YAAY,EAAMtJ,IAAK,KAAQiL,MAAQlN,IAChJuiM,IAAgBngM,GAAS,gBAAoB,KAAM,CAAE3B,WAAY,KAAoB4xK,SAAUzxK,MAAO,KAAe6lC,QAASxkC,IAAK,KAAQiL,KAAM3B,YAAY,GAAQvL,GAAY,EAE5K+B,EAAM,cAAiB,CAACxE,EAAOkqB,KACxC,IAAIh3B,EAAIusB,EAAImyB,EAAIk8B,EAChB,OAAI+1H,EAAe7jM,GACP,gBAAoBklM,EAAW71L,OAAOC,OAAO,CAAC,EAAGtP,EAAO,CAAE2E,SAAU3E,EAAM2E,SAAUC,KAA4B,QAArB1R,EAAK8M,EAAM4E,YAAyB,IAAP1R,EAAgBA,EAAK,QAASg3B,WAAYA,KAEvJ,aAAnBlqB,EAAM2E,UAA8C,SAAnB3E,EAAM2E,SAC/B,gBAAoBogM,EAAS11L,OAAOC,OAAO,CAAC,EAAGtP,EAAO,CAAE2E,SAAU3E,EAAM2E,SAAUC,KAA4B,QAArB6a,EAAKzf,EAAM4E,YAAyB,IAAP6a,EAAgBA,EAAK,QAASyK,WAAYA,KAEpK,gBAAoBg7K,EAAW71L,OAAOC,OAAO,CAAC,EAAGtP,EAAO,CAAE2E,SAAoC,QAAzBitC,EAAK5xC,EAAM2E,gBAA6B,IAAPitC,EAAgBA,EAAK,UAAWhtC,KAA4B,QAArBkpE,EAAK9tE,EAAM4E,YAAyB,IAAPkpE,EAAgBA,EAAK,QAAS5jD,WAAYA,IAAe,IAE/O1lB,EAAIqmB,YAAc,K,oGCpPlB,MAAMs6K,EAAyB,KAAOx1L,KAAK23B,WAAW,CAAEzc,YAAa,yBAA0B0c,YAAa,aAAe,kCAAkC,EAAG3tB,WAAYA,EAAMguB,OAAOtzC,QAAQ0vM,YACpLoB,EAAoBplM,IAC7B,MAAM,MAAE8rD,EAAK,MAAE9qD,EAAQ,GAAMhB,EACvB47C,GAAc,OAAe57C,GACnC,OAAQ,gBAAoBmlM,EAAwB91L,OAAOC,OAAO,CAAE,eAAe,GAAQssC,GACvF,gBAAoB,KAAM,CAAEl3C,IAAK,KAAQiL,KAAMtM,MAAO,KAAe6lC,QAAShmC,WAAY,KAAoBmiM,SAAU50L,WAAY,KAAW04B,QAC3InoC,EACA,MACA8qD,GAAQ,C,oGCTpB,MAAMw5I,EAAa,CACf,MACA,QACA,SACA,OACA,cACA,aAEJ,SAASC,EAAoB1hF,GACzB,MAAwB,iBAATA,GACXx0G,OAAOghB,KAAKwzF,GAAMxc,OAAOjjG,GAAQkhM,EAAW1wM,SAASwP,IAC7D,CAEO,SAASohM,EAA2BC,EAAc7rL,GACrD,IAAK6rL,EACD,MAAO,GAEX,GAAIF,EAAoBE,GACpB,OAAOH,EACFnhM,KAAKC,GAECohM,EADyBC,EAAarhM,GACcwV,KAE1Dya,KAAK,IAEd,IAAI,QAAmBoxK,GAAe,CAClC,MAAMC,GAAS,OAAiBD,EAAc,aAC9C,OAAO,QAA2BA,GAAe7gM,IAC7C,MAAM5D,EAAQ4Y,EAAMhV,KAAKA,GACzB,MAAO,GAAG8gM,MAAW1kM,IAAQ,GAErC,CACA,MAAO,EACX,CACA,SAAS2kM,EAAcr/L,EAAQsT,GAC3B,IAAI,QAAmBtT,GAAS,CAE5B,MAAO,QADQ,OAAiBA,EAAQ,eAE5C,CACA,OAAOsT,EAAMhV,KAAK0B,EACtB,CA4BO,SAASs/L,EAAiBhsL,EAAOtT,EAAQD,EAAO,QACnD,OAAO,EAAAmsD,GAAI,IAAG,QAA2BnsD,GAAOA,GAzBpD,SAAoBA,EAAMuT,EAAOtT,GAC7B,MAAMoxB,EAAWpxB,GAAUq/L,EAAcr/L,EAAQsT,IAAW,MAC5D,OAAQvT,GACJ,IAAK,QACD,MAAO,mFAKX,IAAK,SACD,MAAO,mFAKX,QACI,MAAO,qFAGSqxB,gBAAsBA,cAIlD,CAE6DmuK,CAAWx/L,EAAMuT,EAAOtT,MACrF,CAsCA,SAASw/L,EAAe9kM,EAAOoD,GAC3B,OAAQA,GACJ,IAAK,cACD,MAAO,mCACSpD,aAEpB,IAAK,YACD,MAAO,iCACOA,aAElB,QACI,MAAO,WAAWoD,MAAQpD,KAEtC,CAYO,SAAS+kM,EAAkClgM,EAAS+T,GACvD,GAAuB,iBAAZ/T,GAAwB+T,EAC/B,OAAO,EAAA44C,GAAI,WAAW54C,EAAMhV,KAAKiB,MAErC,GAAI0/L,EAAoB1/L,GACpB,OAAO,EAAA2sD,GAAI,aAAa8yI,EAAW76J,QAAO,CAACC,EAAKtmC,IACrC,iBACXsmC,kBAlBR,SAAmCtmC,EAAKyB,EAAS+T,GAC7C,MAAMosL,EAAqBngM,EAAQzB,GACnC,IAAI,QAAmB4hM,GAEnB,OAAOF,EAAe,QADP,OAAiBE,EAAoB,gBACZ5hM,GAE5C,MAAkC,iBAAvB4hM,GAAmCpsL,EACnCksL,EAAelsL,EAAMhV,KAAKohM,GAAqB5hM,GAEnD,EACX,CASQ6hM,CAA0B7hM,EAAKyB,EAAS+T,kBAErC,OAEP,IAAI,QAAmB/T,GAAU,CAC7B,MAAM6/L,GAAS,OAAiB7/L,EAAS,aACzC,OAAO,EAAA2sD,GAAI,eAAekzI,KAC9B,CACA,OAAO,EAAAlzI,GAAI,YACf,CCzJA,MAAM0zI,EAAqB,uCACrBC,EAA6B,OASnC,SAASC,EAA4B5wB,GACjC,MAAM,KAAEh/K,EAAI,SAAEgyC,EAAQ,MAAE6qF,GAT5B,SAAkCmiD,GAC9B,MAA6B,iBAAfA,EACR,CACEh/K,KAAMg/K,EACNhtI,SAAU29J,GAEZ92L,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAGkmK,GAAa,CAAEhtI,SAAUgtI,EAAWhtI,UAAY29J,GAC1F,CAEsCE,CAAyB7wB,GAC3D,MAAO,CAACh/K,EAAMgyC,EAAU09J,EAAoB7yE,GAAOt2H,OAAOosG,SAAS90E,KAAK,IAC5E,C,aCPA,MAYMiyK,EAAqB,KAAOvmM,IAAIunC,WAAW,CAAEzc,YAAa,qBAAsB0c,YAAa,cAAgB,gCAZvEvnC,GACnCA,EAAM4F,gBAGJ,QAA2B5F,EAAM4F,gBAAiBA,GAAmBA,EAAiB,gBAAkB,wBAFpG,MAI4B5F,GAClCA,EAAM88H,eAGJ,QAA2B98H,EAAM88H,eAAgBA,GAAkBA,EAAgB,kBAAoB,0BAFnG,MF6FR,SAA4C98H,GAC/C,MAAM,QAAE8qG,EAAU,OAAM,MAAElxF,EAAK,OAAEtT,EAAM,UAAEs1K,GAAc57K,EACvD,OAAO,EAAAwyD,GAAI,IAAG,QAA2Bs4C,GAAUzkG,GAnCvD,SAAsCA,EAAMuT,EAAOtT,EAAQs1K,GACvD,MAAMlkJ,EAAWpxB,GAAUq/L,EAAcr/L,EAAQsT,IAAW,MAC5D,OAAQvT,GACJ,IAAK,QACD,MAAO,4BACEqxB,8CAEqB,SAAlC9d,EAAMgiK,WAAaA,GACT,sBAAsBlkJ,UACtB,kBAAkBA,8DAGM,SAAlC9d,EAAMgiK,WAAaA,GACT,kBAAkBlkJ,cAClB,sBAAsBA,+BAGhC,IAAK,SACD,MAAO,yBACDA,qEAKV,QACI,MAAO,4BACEA,UAAgBA,uDAEfA,UAAgBA,wBAItC,CAGgE6uK,CAA6BlgM,EAAMuT,EAAOtT,EAAQs1K,MAClH,0BE3FA0qB,EAAmBz7K,YAAc,qBACjC,MAAM27K,EAAwB,KAAOzmM,IAAIunC,WAAW,CAAEzc,YAAa,wBAAyB0c,YAAa,aAAe,YAAavnC,GAAWA,EAAMymM,aAAe,GAAK,YAC1KD,EAAsB37K,YAAc,wBAQpC,MAAM67K,EAAkB,KAAO3mM,IAAIunC,WAAW,CAAEzc,YAAa,kBAAmB0c,YAAa,cAAgB,GAAIvnC,GAAUA,EAAMsG,QAAUk/L,EAA2BxlM,EAAMsG,OAAQtG,EAAM4Z,UAAW5Z,GAAUA,EAAM6F,SAAW2/L,EAA2BxlM,EAAM6F,QAAS7F,EAAM4Z,UAAW5Z,GAAU4lM,EAAiB5lM,EAAM4Z,MAAO5Z,EAAMsG,OAAQtG,EAAMymM,6BAA8BzmM,GAAUA,EAAMgrC,iBAAkBhrC,IAAUA,SAAMsK,kBFevXA,EEdZtK,EAAMsK,iBFe/B,QAA2BA,GAAkBA,GAAoB,oBAAoBA,QADzF,IAAyCA,CEdU,KAAKtK,GAAUA,EAAM6F,SAC3EkgM,EAAkC/lM,EAAM6F,QAAS7F,EAAM4Z,UAAW5Z,GAAUA,EAAM2mM,eDjB/E,YAAqCC,GACxC,GAA2B,IAAvBA,EAAYzqM,OAGhB,MAAO,eAAeyqM,EACjBziM,IAAIiiM,GACJ/xK,KAAK,OACd,CCUuGwyK,IAA4B7mM,EAAM2mM,kBACzID,EAAgB77K,YAAc,kBAC9B,MAAMi8K,EAAkB9mM,IACpB,MAAM,SAAEyC,EAAQ,OAAE6D,EAAM,QAAET,EAAO,KAAEQ,EAAI,eAAET,EAAc,cAAEk3H,EAAa,cAAE9xF,EAAa,gBAAE1gC,EAAe,cAAEq8L,EAAa,SAAErlM,GAActB,EAC/H47C,GAAc,OAAe57C,GAC7B+mM,EAAiB,WAAe5iM,IAAI1B,GAAW+pD,GAC5B,iBAAVA,EACA,gBAAoB,WAAgB,KAAMA,GAE9CA,IAELw6I,EAAgB,WAAe5pB,QAAQ2pB,GAAgBhqM,OAAO,kBACpE,OAA6B,IAAzBiqM,EAAc7qM,OACP,KAEH,gBAAoBqqM,EAAuBn3L,OAAOC,OAAO,CAAEhP,IAAKgB,EAAUmlM,aAAcpgM,GAAQu1C,GACpG,gBAAoB8qJ,EAAiB,CAAEpgM,OAAQA,EAAQT,QAASA,EAAS4gM,aAAcpgM,EAAM2kC,cAAeA,EAAe1gC,gBAAiBA,EAAiBq8L,cAAeA,GAAiBK,EAAc7iM,KAAKqoD,IAC5M,MAAMpoD,EAAoB,OAAdooD,EAAMpoD,SAAe7N,EAAYi2D,EAAMpoD,IACnD,OAAQ,gBAAoBkiM,EAAoB,CAAEliM,IAAKA,EAAKkC,OAAQA,EAAQwkG,QAASzkG,EAAMT,eAAgBA,EAAgBk3H,cAAeA,GAAiBtwE,EAAO,KACjK,EAEA7mD,EAAY,cAAiB,CAAC3F,EAAOM,IAAQ,gBAAoBwmM,EAAgBz3L,OAAOC,OAAO,CAAC,EAAGtP,EAAO,CAAEsB,SAAUhB,OACnIqF,EAAUklB,YAAc,W,4IChDxB,MAAMo8K,EAA4B,KAAOlnM,IAAIunC,WAAW,CAAEzc,YAAa,4BAA6B0c,YAAa,cAAgB,kFAAkF,cAA8B,EAAG3tB,WAAYA,EAAMguB,OAAOtzC,QAAQwzC,sBAAsB,EAAGluB,WAAYA,EAAMhV,KAAKiiL,2BAA2B,EAAGjtK,WAAYA,EAAMhV,KAAKiiL,wBAAwB,EAAGjtK,WAAYA,EAAMhV,KAAK6B,uBAAuB,EAAGmT,WAAYA,EAAMhV,KAAK6B,aAChdygM,EAAuBlnM,IAChC,MAAM,WAAEkD,EAAa,UAAS,SAAET,GAAazC,EACvC47C,GAAc,OAAe57C,GACnC,OAAQ,gBAAoB,MAAOqP,OAAOC,OAAO,CAAE,YAA4B,UAAfpM,EAAyB,YAAc,SAAU,gBAAiB,kBAAoB04C,GAAc,WAAegS,MAAMnrD,GAAa,gBAAoB,IAAe,CAAEmX,MAAO,QAC9O,gBAAoBqtL,EAA2B,CAAE/jM,WAAYA,GACzD,gBAAoB,KAAM,CAAEA,WAAY,KAAoBmiM,SAAU3gM,IAAK,KAAQqqB,EAAG1rB,MAAO,KAAe6lC,SAAWzmC,UAAelM,EAAW,ECLvJ4wM,EAAiB,KAAOC,SAAS9/J,WAAW,CAAEzc,YAAa,iBAAkB0c,YAAa,cAAgB,gFAAiFvnC,GAAUA,EAAM4Z,MAAMhV,KAAK6B,cAC/M2qL,EAAYpxL,IACrB,MAAM,SAAEyC,EAAQ,OAAE4kM,EAAM,SAAEpjM,EAAQ,WAAEf,EAAU,QAAE9L,GAAY4I,EACtD47C,GAAc,OAAe57C,GAC7BsnM,EAAuBn+F,QAAuB,UAAfjmG,GAA0B9L,GAC/D,OAAQ,gBAAoB+vM,EAAgB93L,OAAOC,OAAO,CAAC,EAAGssC,GAC1DyrJ,GAAW,gBAAoB,KAAM,CAAEnkM,WAAY,KAAoBE,QAASsD,MAAM,EAAMsH,YAAY,EAAMtJ,IAAK,KAAQ2iM,QACvHA,EACApjM,GAAY,KAChB,gBAAoBijM,EAAqB,CAAEhkM,WAAYA,GAAcokM,EAAuBlwM,OAAUb,GACtG,gBAAoB,IAAW,CAAE+P,OAAQ,IAAgBG,UAAWJ,KAAM,UAAY5D,GAAW,C,+CChBlG,MAAM8kM,EAA0B,CAAC3tL,EAAO5O,EAAQ,SAAW,YAAY4O,EAAMhV,KAAKsjC,OAAOC,SAASn9B,KAAS4O,EAAMguB,OAAOi9J,MAAM2C,O,8BCA9H,IAAIp8L,E,sDACX,SAAWA,GACPA,EAAYA,EAAqB,QAAI,GAAK,UAC1CA,EAAYA,EAAkB,KAAI,KAAO,OACzCA,EAAYA,EAAkB,KAAI,KAAO,OACzCA,EAAYA,EAAmB,MAAI,MAAQ,QAC3CA,EAAYA,EAAmB,MAAI,MAAQ,QAC3CA,EAAYA,EAAmB,MAAI,MAAQ,QAC3CA,EAAYA,EAAmB,MAAI,MAAQ,QAC3CA,EAAYA,EAAmB,MAAIsiD,KAAY,OAClD,CATD,CASGtiD,IAAgBA,EAAc,CAAC,IAClC,MAAMq8L,EAAcp4L,OAAOwH,OAAOzL,GAC3B,SAASs8L,EAAmB7jF,GAC/B,MAAwB,iBAATA,GACXx0G,OAAOghB,KAAKwzF,GAAMxc,OAAOjjG,GAAQqjM,EAAY7yM,SAASwP,IAAQqjM,EAAY7yM,SAASixC,SAASzhC,EAAK,MACzG,CAoBO,SAASujM,EAAmBx1M,EAAG2wB,GAClC,OAAsB,iBAAN3wB,EAAiBA,EAAI0zC,SAAS1zC,EAAG,MAC/B,iBAAN2wB,EAAiBA,EAAI+iB,SAAS/iB,EAAG,IACjD,CAOO,SAAS8kL,EAA2Bj8L,EAAQ2xD,EAAM3Z,GAAMA,GAC3D,OAAK+jJ,EAAmB/7L,GAGjB0D,OAAOghB,KAAK1kB,GACdkX,KAAK8kL,GACLxjM,KAAK22C,GAZd,SAA4BA,EAAYnT,GACpC,MAAmB,MAAfmT,EACOnT,EAEJ,sBAAsBmT,SAAkBnT,IACnD,CAO6BkgK,CAAmB/sJ,EAAYwiB,EAAG3xD,EAAOmvC,OAC7DzmB,KAAK,IALCipC,EAAG3xD,EAMlB,CACO,SAASm8L,EAAqBC,EAAYp8L,GAC7C,IAAK+7L,EAAmB/7L,GACpB,OAAOA,EAQX,OAAOA,EANkB0D,OAAOghB,KAAK1kB,GAChCkX,KAAK8kL,GACLl9J,QAAO,CAACC,EAAKtmC,KACd,MAAM02C,EAA4B,iBAAR12C,EAAmBA,EAAMyhC,SAASzhC,EAAK,IACjE,OAAO2jM,GAAcjtJ,EAAa12C,EAAMsmC,CAAG,GAC5C,IAEP,C,sDCjEO,MAAMs9J,EAAkBhoM,IACpB,CAAE,cAAeA,EAAM,iBAErBioM,EAAoBjoM,IAC7B,MAAMkoM,EAAiB74L,OAAOghB,KAAK23K,EAAehoM,IAClD,OAAOqP,OAAOghB,KAAKrwB,GAAOjD,QAAQorM,IAAaD,EAAetzM,SAASuzM,KAAU19J,QAAO,CAAC29J,EAAaD,IAAa94L,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAG84L,GAAc,CAAE,CAACD,GAAUnoM,EAAMmoM,MAAc,CAAC,EAAE,C,8GCJ9LxkK,EAAc,aAAiBt0B,OAAOC,QAAO,SAAUtP,EAAOkqB,GACrE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,UAAZA,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,4OAEzB,UAAZ1lB,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,0eAEzB,YAAZ1lB,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,uVAElC,IACX,GAAG,CAAEI,YAAa,iBClBPw9K,EAAW,aAAiBh5L,OAAOC,QAAO,SAAUtP,EAAOkqB,GAClE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,UAAZA,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAEu8B,SAAU,UAAW1c,EAAG,6SAA8S2c,SAAU,aAEtW,UAAZriC,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAEu8B,SAAU,UAAW1c,EAAG,sVAAuV2c,SAAU,aAE/Y,YAAZriC,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAEu8B,SAAU,UAAW1c,EAAG,obAAqb2c,SAAU,aAEtf,IACX,GAAG,CAAEvc,YAAa,cClBPy9K,EAAW,aAAiBj5L,OAAOC,QAAO,SAAUtP,EAAOkqB,GAClE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,UAAZA,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,uKAEzB,UAAZ1lB,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,uMAEzB,YAAZ1lB,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,2NAElC,IACX,GAAG,CAAEI,YAAa,cClBP09K,EAAkB,aAAiBl5L,OAAOC,QAAO,SAAUtP,EAAOkqB,GACzE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,UAAZA,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAEu8B,SAAU,UAAW1c,EAAG,mQAAoQ2c,SAAU,aAE5T,UAAZriC,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAEu8B,SAAU,UAAW1c,EAAG,8RAA+R2c,SAAU,aAEvV,YAAZriC,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAEu8B,SAAU,UAAW1c,EAAG,+SAAgT2c,SAAU,aAEjX,IACX,GAAG,CAAEvc,YAAa,qBClBP5f,EAAQ,aAAiBoE,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC/D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,UAAZA,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAEu8B,SAAU,UAAW1c,EAAG,6RAA8R2c,SAAU,aAEtV,UAAZriC,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,idAEzB,YAAZ1lB,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAEu8B,SAAU,UAAW1c,EAAG,uRAAwR2c,SAAU,aAEzV,IACX,GAAG,CAAEvc,YAAa,WClBPjc,EAAO,aAAiBS,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC9D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,UAAZA,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,yBACjC,gBAAoB,OAAQ,CAAEA,EAAG,6FACjC,gBAAoB,SAAU,CAAEC,GAAI,IAAKC,GAAI,IAAKC,EAAG,SAE7C,YAAZ7lB,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,wKACjC,gBAAoB,OAAQ,CAAEA,EAAG,8KAElC,IACX,GAAG,CAAEI,YAAa,UCZX,MAAM29K,EAAkCxoM,IAC3C,MAAM,MAAE4Z,EAAK,WAAE1W,GAAelD,EAE9B,OADwBqP,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAGsK,EAAMguB,OAAOkuI,QAAS,CAAE2yB,IAAK7uL,EAAMguB,OAAOkuI,OAAOrV,MAAOioC,MAAO9uL,EAAMguB,OAAOkuI,OAAO6yB,UACpHzlM,EAAW,EA8BhC0lM,EAAmB,KAAO7oM,IAAIunC,WAAW,CAAEzc,YAAa,mBAAoB0c,YAAa,cAAgB,oBAAoB,EAAG3tB,WAAYA,EAAMhV,KAAKiiL,yDAAyD,EAAGjtK,WAAYA,EAAMhV,KAAK6B,8BAA8B+hM,WA5BhPxoM,IAC1B,MAAM,MAAE4Z,EAAK,WAAE1W,GAAelD,EAC9B,MAAI,CAAC,UAAW,QAAS,QAAS,YAAYpL,SAASsO,GAC5C0W,EAAMguB,OAAOtzC,QAAQwzC,SAEzBluB,EAAMguB,OAAOtzC,QAAQ0vM,QAAQ,aAuB8S,EAAGpqL,WAAYA,EAAMhV,KAAKqmB,0BAA0B,EAAGrR,WAAYA,EAAMhV,KAAKklB,qDACvZ++K,EAAc7oM,IAEvB,MAAM,WAAEkD,EAAU,GAAEujB,EAAE,KAAEluB,EAAI,SAAEuwM,GAAW,EAAK,UAAEv/L,EAAS,KAAE1E,EAAI,YAAEkkM,GAAiB/oM,EAC5E47C,GAAc,OAAe57C,GACnC,OAAQ,gBAAoB,IAAe,CAAE4Z,MAAO,QAChD,gBAAoBgvL,EAAkBv5L,OAAOC,OAAO,CAAEpM,WAAYA,EAAYqG,UAAWA,EAAWkd,GAAIA,GAAMm1B,IACzGktJ,IACIjkM,GA1BW,EAAC3B,EAAY6lM,EAAc,WACnD,OAAQ7lM,GACJ,IAAK,MACD,OAAO,gBAAoBygC,EAAa,CAAE5+B,QAASgkM,EAAa5+K,YAAY,IAChF,IAAK,QACD,OAAO,gBAAoBk+K,EAAU,CAAEtjM,QAASgkM,EAAa5+K,YAAY,IAC7E,IAAK,WACD,OAAO,gBAAoBm+K,EAAU,CAAEvjM,QAASgkM,EAAa5+K,YAAY,IAC7E,IAAK,UACD,OAAO,gBAAoBo+K,EAAiB,CAAExjM,QAASgkM,EAAa5+K,YAAY,IACpF,IAAK,QACD,OAAO,gBAAoBlf,EAAO,CAAElG,QAASgkM,EAAa5+K,YAAY,IAG1E,QACI,OAAO,gBAAoBvb,EAAM,CAAE7J,QAASgkM,EAAa5+K,YAAY,IAC7E,EAU2B6+K,CAAoB9lM,EAAY6lM,IACnD,gBAAoB,KAAM,CAAErkM,IAAK,KAAQqqB,EAAG7rB,WAAY,KAAoB4K,QAASzK,MAAO,KAAe6lC,SAAW3wC,IAAQ,EAM1IswM,EAAWh+K,YAAc,aCjDzB,MAAMo+K,GAA0B,QAAOJ,GAAYvhK,WAAW,CAAEzc,YAAa,0BAA2B0c,YAAa,aAAe,8BAA8B,EAAG3tB,WAAYA,EAAMhV,KAAKiiL,oEAAoE2hB,8CAA2E,EAAG5uL,WAAYA,EAAMm8J,MAAM50K,MAAM,KAAKuP,0EAA0E,EAAGw4L,YAAWhmM,gBAAiBgmM,GAA4B,UAAfhmM,EAAyB,QAAU,uCAAuC,EAAG0W,WAAYA,EAAMhV,KAAK6zC,4DAI9jB0wJ,EAAqBnpM,IAE9B,MAAM,WAAEkD,EAAU,GAAEujB,EAAE,KAAEluB,EAAI,SAAEuwM,GAAW,EAAK,UAAEv/L,EAAS,YAAEw/L,EAAW,UAAEG,GAAelpM,EACjF47C,GAAc,OAAe57C,GACnC,OAAQ,gBAAoBipM,EAAyB55L,OAAOC,OAAO,CAAEpM,WAA2B,gBAAfA,EAA+B,QAAUA,EAAYqG,UAAWA,EAAWkd,GAAIA,EAAIyiL,UAAWA,EAAW3wM,KAAMA,EAAMuwM,SAAUA,EAAUC,YAAaA,GAAentJ,GAAc,C,oFCZjQ,MAAMwtJ,EAAe,EAAGxvL,QAAO1W,iBAClC,OAAQA,GACJ,IAAK,WACD,OAAO0W,EAAMguB,OAAOtzC,QAAQya,QAChC,IAAK,WACD,OAAO6K,EAAMguB,OAAOtzC,QAAQ2L,SAChC,QACI,MAAO,UACf,EAESopM,EAAgB,EAAGzvL,QAAO1W,iBACnC,OAAQA,GACJ,IAAK,WACD,OAAO0W,EAAMguB,OAAOtzC,QAAQya,QAChC,IAAK,WACD,OAAO6K,EAAMguB,OAAOtzC,QAAQiP,UAChC,QACI,OAAOqW,EAAMguB,OAAOtzC,QAAQkzC,OACpC,EAGS8hK,EAAoB,EAAG1vL,QAAO1W,iBACvC,OAAQA,GACJ,IAAK,QACD,OAAO0W,EAAMguB,OAAOkuI,OAAOviL,MAC/B,IAAK,UACD,OAAOqmB,EAAMguB,OAAOkuI,OAAOhzC,QAC/B,IAAK,cACD,OAAOlpH,EAAMguB,OAAOkuI,OAAO6yB,QAC/B,QACI,OAAO/uL,EAAMguB,OAAOM,OAAOp0B,QACnC,EAGSy1L,EAAwB,EAAG3vL,WAAYA,EAAMguB,OAAOtzC,QAAQiP,UAE5DimM,EAAuB,EAAG5vL,QAAO1W,iBAC1C,OAAQA,GACJ,IAAK,QACD,OAAO0W,EAAMguB,OAAOkuI,OAAOviL,MAC/B,IAAK,UACD,OAAOqmB,EAAMguB,OAAOkuI,OAAOhzC,QAC/B,QACI,OAAOlpH,EAAMguB,OAAOkuI,OAAO6yB,QACnC,C,8BCpCG,SAASc,KAAiBC,GACzB,CAsBR,C,iGC/BIjG,EAAkC,SAAUz8I,EAAG7kD,GAC/C,IAAIshB,EAAI,CAAC,EACT,IAAK,IAAIsL,KAAKi4B,EAAO33C,OAAO6f,UAAU4hB,eAAe7hB,KAAK+3B,EAAGj4B,IAAM5sB,EAAEmyB,QAAQvF,GAAK,IAC9EtL,EAAEsL,GAAKi4B,EAAEj4B,IACb,GAAS,MAALi4B,GAAqD,mBAAjC33C,OAAOq0L,sBACtB,KAAItxM,EAAI,EAAb,IAAgB28B,EAAI1f,OAAOq0L,sBAAsB18I,GAAI50D,EAAI28B,EAAE5yB,OAAQ/J,IAC3D+P,EAAEmyB,QAAQvF,EAAE38B,IAAM,GAAKid,OAAO6f,UAAUy0K,qBAAqB10K,KAAK+3B,EAAGj4B,EAAE38B,MACvEqxB,EAAEsL,EAAE38B,IAAM40D,EAAEj4B,EAAE38B,IAF4B,CAItD,OAAOqxB,CACX,EAIO,MAAMs5G,EAAQ,KAAO3vD,IAAI9lC,WAAW,CAAEzc,YAAa,QAAS0c,YAAa,aAAe,uCAAwCvnC,GAAUA,EAAMg9H,aAAch9H,GAAUA,EAAM2pM,kBAAoB,6BACzM5sE,EAAMlyG,YAAc,QACW,cAAiB,CAAC7qB,EAAOM,KAEpD,MAAM,IAAE8T,GAAQpU,EAAO4pM,EAASnG,EAAOzjM,EAAO,CAAC,QAE/C,OAAO,gBAAoB+8H,EAAO1tH,OAAOC,OAAO,CAAE8E,IAAK,GAAI,eAAe,GAAQw1L,EAAQ,CAAEtpM,IAAKA,IAAO,IAE5FuqB,YAAc,kBAC9B,MACag/K,EAAY,cAAiB,CAAC7pM,EAAOM,KAC9C,MAAMpN,GAAK,OAAiB8M,IAAQ,IAAEmU,EAAG,eAAE21L,EAAc,OAAEC,EAAM,MAAEC,EAAK,UAAEzgM,EAAS,IAAE6K,EAAG,iBAAEu1L,EAAgB,iBAAEM,GAAqB/2M,EAAI02M,EAASnG,EAAOvwM,EAAI,CAAC,MAAO,iBAAkB,SAAU,QAAS,YAAa,MAAO,mBAAoB,qBACxO0oD,GAAc,OAAe57C,GACnC,OAAQ,gBAAoB,WAAgB,KACxCiqM,OAAmB1zM,EAAa,gBAAoB,WAAY,KAC5D,gBAAoBwmI,EAAO1tH,OAAOC,OAAO,CAAE8E,IAAKA,EAAK7K,UAAWA,EAAWygM,MAAOA,EAAO71L,IAAKA,EAAK41L,OAAQA,EAAQJ,iBAAkBA,GAAoBC,KAC7J,gBAAoB7sE,EAElB1tH,OAAOC,OAAO,CAEZ/F,UAAW,YAAYA,GAAa,KAIpC4K,IAAK21L,GAfO,6EAe4B,WAAY31L,EAAK,cAAe41L,EAAQ,aAAcC,EAAO51L,IAAKA,EAAKu1L,iBAAkBA,EAAkBrpM,IAAKA,GAAOspM,EAAQhuJ,IAAe,IAElMiuJ,EAAUh/K,YAAc,YACW,cAAiB,CAAC7qB,EAAOM,KAExD,MAAM,IAAE8T,EAAG,iBAAEu1L,GAAqB3pM,EAAO4pM,EAASnG,EAAOzjM,EAAO,CAAC,MAAO,qBACxE,OAAQ,gBAAoB6pM,EAAWx6L,OAAOC,OAAO,CAAEq6L,iBAAkBA,EAAkBv1L,IAAK,IAAMw1L,EAAQ,CAAEtpM,IAAKA,IAAQ,IAE7GuqB,YAAc,qB,2FCzC3B,MAAMq/K,EAAuB,CAChCC,KAAM,CACF,CAAC,KAAYr2L,SAAU,CAAC,CAAEtd,KAAM,IAAKud,QAAS,MAElDq2L,KAAM,CACF,CAAC,KAAYt2L,SAAU,CACnB,CAAEtd,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,KAE1B,CAAC,KAAYQ,MAAO,CAChB,CAAE/d,KAAM,IAAKud,QAAS,IACtB,CAAEvd,KAAM,IAAKud,QAAS,OAI5Bs2L,EAA2BC,GAAmC,MAApBA,EAAW9zM,KAgCrD+zM,EAAe,KAAOxqM,IAAIunC,WAAW,CAAEzc,YAAa,eAAgB0c,YAAa,aAAe,0BAA0B,KAAYjpB,uBAAwBte,GAAUqP,OAAOghB,KAAKrwB,EAAMkD,YAAYiB,KAAK22C,IAC7M,MACM0vJ,EAhCmC,EAAC7+L,EAAQxP,KAClD,MAAMsuM,EAA2B9+L,EAAO5O,OAAOstM,GAC/C,OAAO71K,MAAMhoB,KAAK,CACdrQ,OAAQ+6B,KAAK4qC,KAAK3lE,EAASsuM,EAAyBtuM,QAAUwP,EAAOxP,SACtE,CAACuuM,EAASzxM,KACT,MAAMzC,EAAOmV,EAAO1S,EAAQ0S,EAAOxP,QAAQ3F,KACrCud,EAAUpI,EAAO1S,EAAQ0S,EAAOxP,QAAQ4X,QAC9C,MAAa,MAATvd,EACO,CACHA,OACAud,WAGD,CACHvd,KAAM,GAAGA,IAAO0gC,KAAKiwB,MAAMluD,EAAQ0S,EAAOxP,UAC1C4X,UACH,GACH,EAeiB42L,CADJ3qM,EAAMkD,WAAW43C,GACyB96C,EAAM7D,QACzDyuM,EAboC,CAACj/L,GAAWA,EAAO8+B,QAAO,CAACC,EAAKmgK,KAC1E,MAAMC,EAAWt2K,MAAMhoB,KAAK,CAAErQ,OAAQ0uM,EAAK92L,UAAWyW,KAAKqgL,EAAKr0M,MAOhE,OANmB,IAAfk0C,EAAIvuC,QAAgBuuC,EAAIA,EAAIvuC,OAAS,GAAGA,OAAS0uM,EAAK92L,QAAU,GAChE22B,EAAI50C,KAAKg1M,GAGTpgK,EAAIA,EAAIvuC,OAAS,GAAGrG,QAAQg1M,GAEzBpgK,CAAG,GACX,IAIqBqgK,CAA+BP,GAC7CQ,EAAO,uFAEWJ,EACnBzmM,KAAKmkC,GAAS,IAAIA,EAAKjU,KAAK,UAC5BA,KAAK,kBAEV,OAAIwR,SAASiV,EAAY,MAAQ,KAAYhnC,QAClCk3L,EAEJ,gCACclwJ,qBAClBkwJ,sBAEH,eACWhrM,GAAUA,EAAMu4C,QAAUv4C,EAAM4Z,MAAMhV,KAAK5E,EAAMu4C,WAChEgyJ,EAAa1/K,YAAc,eAC3B,MAaMy7K,EAAqB,KAAOvmM,IAAIunC,WAAW,CAAEzc,YAAa,qBAAsB0c,YAAa,aAAe,GAAIvnC,IAClH,MAAM,WAAEkD,EAAU,MAAEjK,EAAQ,GAAM+G,EAClC,MAfiC,EAAC2L,EAAQ1S,IAAUoW,OAAOghB,KAAK1kB,GAAQxH,KAAK22C,IAC7E,MAAMmwJ,EAAsBt/L,EAAOmvC,GAAY/9C,OAAOstM,GAEhDW,EAAO,cADsBr/L,EAAO,KAAYmI,SAAS/W,OAAOstM,GAChBpxM,EAAQgyM,EAAoB9uM,QAAQ3F,OAAO0gC,KAAKiwB,MAAMluD,EAAQgyM,EAAoB9uM,WACxI,OAAI0pC,SAASiV,EAAY,MAAQ,KAAYhnC,QAClCk3L,EAEJ,8BACalwJ,mBAClBkwJ,kBAEH,IAIQE,CAA6BhoM,EAAYjK,EAAM,cAC3C+G,GAAWA,EAAM6T,wBAA0B,UAAY,YACtEyyL,EAAmBz7K,YAAc,qBAC1B,MAAMjX,EAAU5T,IACnB,MAAM,SAAEyC,EAAQ,OAAE81C,EAAM,wBAAE1kC,EAAuB,WAAE3Q,EAAagnM,EAAqBC,MAAUnqM,EACzF47C,GAAc,OAAe57C,GAC7BmrM,EAAmB,WAAe/tB,QAAQ36K,GAAU1F,OAAO,kBACjE,GAAgC,IAA5BouM,EAAiBhvM,OACjB,OAAO,KAEX,MAAMivM,EAAkBD,EAAiBhnM,KAAI,CAACqoD,EAAOvzD,KACjD,IAAI/F,EACJ,MAAMkR,EAA2B,QAApBlR,EAAKs5D,EAAMpoD,WAAwB,IAAPlR,EAAgBA,OAAKqD,EAC9D,OAAQ,gBAAoB+vM,EAAoB,CAAEpjM,WAAYA,EAAYkB,IAAKA,EAAKnL,MAAOA,EAAO4a,wBAAyBA,GAA2B24C,EAAO,IAEjK,OAAQ,gBAAoB+9I,EAAcl7L,OAAOC,OAAO,CAAEpM,WAAYA,EAAYq1C,OAAQA,EAAQp8C,OAAQgvM,EAAiBhvM,QAAUy/C,GAAcwvJ,EAAiB,EAExKx3L,EAAOiX,YAAc,Q,6DCvGVsC,EAAc,aAAiB9d,OAAOC,QAAO,SAAUtP,EAAOkqB,GACrE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,UAAZA,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAEu8B,SAAU,UAAW1c,EAAG,2FAA4F2c,SAAU,aAEpJ,YAAZriC,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAEu8B,SAAU,UAAW1c,EAAG,oJAAqJ2c,SAAU,aAEtN,IACX,GAAG,CAAEvc,YAAa,iBCbPwgL,EAAsB,aAAiBh8L,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC7E,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,UAAZA,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAEu8B,SAAU,UAAW1c,EAAG,qEAAsE2c,SAAU,aAE9H,YAAZriC,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAEu8B,SAAU,UAAW1c,EAAG,wIAAyI2c,SAAU,aAE1M,IACX,GAAG,CAAEvc,YAAa,yB,iDCRlB,MAAMyqJ,EAAO,KAAe,EACtBC,EAAc,KAAOp0K,MAAMmmC,WAAW,CAAEzc,YAAa,cAAe0c,YAAa,cAAgB,2BAA2B,EAAG3tB,WAAYA,EAAMguB,OAAOtzC,QAAQya,0BAChKu8L,EAAqB,KAAO37L,KAAK23B,WAAW,CAAEzc,YAAa,qBAAsB0c,YAAa,cAAgB,yCAAyC,EAAG3tB,WAAYA,EAAMguB,OAAOtzC,QAAQya,+FAC3LymK,EAAa,IAAI,mBAAmB,EAAG57J,WAAYA,EAAM2uB,UAAUC,SAASnlC,oBAAoB,EAAGuW,WAAYA,EAAM2uB,UAAUC,SAASnlC,cACxIsyK,EAAqB,KAAOhmK,KAAK23B,WAAW,CAAEzc,YAAa,qBAAsB0c,YAAa,aAAe,kDAAkD,EAAG3tB,WAAYA,EAAMhV,KAAK4B,kFAAkF,EAAGoT,QAAO3Z,eAAgBA,GACvS,IAAI;aACK2Z,EAAMguB,OAAOguI,YAAY3tI,IAAIF;MACpCujK;cACQ1xL,EAAMguB,OAAOguI,YAAY3tI,IAAIF;;qBAEtBujK,KAAsB91B,OACrCQ,EAAc,KAAOx4J,MAAM8pB,WAAW,CAAEzc,YAAa,cAAe0c,YAAa,aAAe,+FAA+FouI,KAAsB21B,aAA8B,EAAG1xL,YAAY,OAAwBA,qBAAyB+7J,8BAA+C,EAAG/7J,WAAYA,EAAMguB,OAAOtzC,QAAQ2L,YAAYqrM,WAA4B,EAAG1xL,WAAYA,EAAMguB,OAAOguI,YAAY3tI,IAAIhoC,0BAA0B01K,KAAsB21B,KAAsB91B,WAAoB,EAAG57J,QAAO3Z,cAAeA,EAC7kB2Z,EAAMguB,OAAOguI,YAAY/tI,GAAG5nC,SAC5B2Z,EAAMguB,OAAOguI,YAAY/tI,GAAG/zB,mBAAmB,EAAG8F,QAAO3Z,eAAgBA,GAC3E,IAAI;gBACQ2Z,EAAMguB,OAAOguI,YAAY/tI,GAAGE;0CAE/B,EAAe/nC,IACxB,MAAMiB,EAAe,eAAmBkB,IACpC,MAAM,SAAE2B,EAAWwxK,GAASt1K,EAC5B8D,EAAS3B,EAAGnC,EAAM,GACnB,CAACA,IACEs2K,EAAa,eAAmBn0K,IAClC,MAAM,OAAEurB,EAAS4nJ,GAASt1K,EAC1B0tB,EAAOvrB,EAAGnC,EAAM,GACjB,CAACA,IACEu2K,EAAc,eAAmBp0K,IACnC,MAAM,QAAEwrB,EAAU2nJ,GAASt1K,EAC3B2tB,EAAQxrB,EAAGnC,EAAM,GAClB,CAACA,IACEojC,EAAc,eAAmBjhC,IACnC,MAAM,QAAEqB,EAAU8xK,GAASt1K,EAC3BwD,EAAQrB,EAAGnC,EAAM,GAClB,CAACA,KACE,eAAEw8I,EAAc,QAAEnvH,EAAO,SAAEptB,EAAQ,GAAEwmB,EAAE,KAAEjwB,EAAI,eAAE0/K,EAAiB,KAAoB9yK,QAAO,MAAEpC,EAAK,MAAEG,EAAQ,GAAE,QAAEg1K,GAAan2K,EAC7H47C,GAAc,OAAe57C,GACnC,OAAQ,gBAAoBu1K,EAAalmK,OAAOC,OAAO,CAAC,EAAGssC,GACvD,gBAAoBo6H,EAAa,CAAEx5B,eAAgBA,EAAgBnvH,QAASA,EAASptB,SAAUA,EAAUwmB,GAAIA,EAAIjwB,KAAMA,EAAMk3B,OAAQ4oJ,EAAYxyK,SAAU7C,EAAcuC,QAAS4/B,EAAazV,QAAS4oJ,EAAaz/K,KAAM,QAASkK,MAAOA,IAC3O,gBAAoB20K,EAAoB,CAAE11K,SAAUA,GAChD,gBAAoBqrM,EAAoB,KACpC,gBAAoBn+K,EAAiB,CAAEpoB,QAAS,UAAWolB,YAAY,IACvE,gBAAoBkhL,EAAyB,CAAEtmM,QAAS,UAAWolB,YAAY,KACnF,gBAAoB,OAAQ,KAAMhpB,IACZ,iBAAVA,EAAsB,gBAAoB,KAAM,CAAEuD,IAAK,KAAQiL,KAAMtM,MAAO,KAAe6lC,QAAShmC,WAAYgzK,GACpH/0K,EACA,IACAg1K,GAAW,IAAIA,MAAe,KAAY,C,kUCyHxDo1B,EAA4B,CAChC,kBACA,oBACA,eACA,YACA,WACA,cACA,cACA,UACA,YACA,UACA,UACA,kBACA,cACA,cACA,UACA,aACA,cACA,aACA,iBACA,aACA,cACA,WACA,YACA,YACA,UACA,eACA,cACA,YACA,aACA,YACA,aACA,aACA,WACA,UACA,aACA,SACA,UACA,SACA,WACA,UACA9gK,QACA,CAACroB,EAAKuhC,KACJvhC,EAAIuhC,EAAE1mD,eAAiB0mD,EAChBvhC,IAET,CAAEopL,IAAK,YAGHC,EAAsB,CAC1BC,IAAK,IACLC,KAAM,IACNC,GAAI,IACJC,GAAI,IACJC,KAAM,IACNC,KAAM,KAGFC,EAA+B,CAAC,QAAS,UAkCzCC,EACJ,+GAIIC,EAA0B,WAC1BC,EAAc,UACdC,EAAe,oCACfC,EAAmC,WACnCC,EAAe,WACfC,EAAmB,kCACnBC,EACJ,qEACIC,EAAe,kCACfC,EAAgB,mCAChBC,EAAwB,eACxBC,EAAe,SACfC,EAAa,wBACbC,EAAuB,iBACvBC,EAAa,MACbC,EAAa,kBACbC,EAAY,mDACZC,EACJ,mDACIC,EAAmB,sCAwBnBC,EACJ,wHAEIC,EAAmB,iDAEnBC,EAAiB,uBAKjBC,EAAqB,oCAErBC,EACJ,wEACIC,EAAkB,WAClBC,EAA2B,uCAC3BC,EAAyB,qBACzBC,EAAkB,uBAClBC,EAA8B,cAC9BC,EAAa,4DAEbC,EAA0B,gDAC1BC,EAAoB,+BACpBC,EAAmB,8BACnBC,EAAoB,WACpBC,EAA2B,qCAC3BC,EAAQ,MACRC,EAAoB,UACpBC,EAAmB,iBACnBC,EAAsB,MACtBC,EAAqB,aACrBC,EAAmB,YACnBC,EAAoB,YAEpBC,EACJ,oFACIC,EACJ,mFACIC,EAAgB,kDAChBC,GAAyB,kDAEzBC,GAAiB,sBACjBC,GACJ,6EAEIC,GAAyB,OAEzBC,GAA0B,YAE1BC,GAAiB,aAMjBC,GAAkB,SAClBC,GAAoB,gBAGpBC,GAAsB,cACtBC,GAAwB,YAE9B,SAASC,GAAuB14M,GAC9B,MACE,SAZuB,IAatBA,EAAmBw4M,GAAsBC,IAC1C,KAEJ,CAIA,MAAME,GAA2BD,GApBN,GAqBrBE,GAA6BF,GApBN,GAsB7B,SAASG,GAA4B74M,GACnC,OAAO,IAAI45B,OACT,KAzBuB,IA0BpB55B,EAAmB24M,GAA2BC,IAErD,CAEA,MAAME,GAA6BD,GA9BR,GA+BrBE,GAA+BF,GA9BR,GAgC7B,SAASG,GAAsBh5M,GAQ7B,OAAO,IAAI45B,OACT,KA1CuB,IA2CpB55B,EACG24M,GACAC,IAHN,uBA1CuB,IAgDpB54M,EAAmBw4M,GAAsBC,IAC1C,qBACF,KAEJ,CAEA,MAAMQ,GAAsBD,GAtDD,GAuDrBE,GAAwBF,GAtDD,GA0D7B,SAASG,GAAkBn5M,GACzB,MAAMo5M,EA5DmB,IA4DVp5M,EAAmBw4M,GAAsBC,GAExD,OAAO,IAAI7+K,OACT,SACEw/K,EADF,oCAKEA,EACA,OACAA,EAPF,qBAaJ,CAEA,MAAMC,GAAiBF,GA9EI,GA+ErBG,GAAmBH,GA9EI,GAgF7B,SAASI,GAAiBxpH,EAAQ/vF,GAChC,MAAMw5M,EAlFmB,IAkFTx5M,EACVy5M,EAASD,EAAUH,GAAiBC,GACpCI,EAAcF,EAAUP,GAAsBC,GAC9CS,EAAqBH,EACvBV,GACAC,GAEJ,MAAO,CACLa,CAAAA,CAAO9lG,EAAQ7oG,EAAO4uM,GASpB,MAAMC,EAAgBvB,GAAkB1tF,KAAKgvF,GAG7C,OAAIC,IAFgB7uM,EAAM8uM,IAAW9uM,EAAM+uM,IAAY/uM,EAAMgvM,GAKpDR,EAAO5uF,KAFd/W,EAASgmG,EAAc,GAAKhmG,GAAAA,IAMhC,EACAomG,EAAQC,GAASC,KACjBC,CAAAA,CAAOxyI,EAAS7qC,EAAO/xB,GACrB,MACMmvB,EAAQo/K,GADC3xI,EAAQ,UAEjBwxD,EAAQxxD,EAAQ,GAGnBxmE,QAAQg0M,EAAa,MACrB9iM,MAAMmnM,GAET,IAAIY,GAAAA,EA+DJ,MAAO,CACLC,EA/DkBlhF,EAAMhsH,KAAI,SAAUmb,EAAMltB,GAE5C,MAAMk/M,EAAQb,EAAmB9uF,KAAKriG,GAAM,GAAGnjB,OAIzCo1M,EAAa,IAAI7gL,OAAO,QAAU4gL,EAAQ,IAAK,MAG/Ch9M,EAAUgrB,EAEbnnB,QAAQo5M,EAAY,IAEpBp5M,QAAQs4M,EAAoB,IASzBe,EAAap/M,IAAM+9H,EAAMh0H,OAAS,EASlCs1M,GAR8C,IAA7Bn9M,EAAQggC,QAAQ,SASlBk9K,GAAcJ,EACnCA,EAAwBK,EAKxB,MAAMC,EAAiB3vM,EAAM+uM,EACvBa,EAAe5vM,EAAM8uM,EAK3B,IAAIe,EAJJ7vM,EAAM8uM,GAAAA,EAKFY,GACF1vM,EAAM+uM,GAAAA,EACNc,EAAkBt9M,EAAQ6D,QAAQi3M,GAAiB,UAEnDrtM,EAAM+uM,GAAAA,EACNc,EAAkBt9M,EAAQ6D,QAAQi3M,GAAiB,KAGrD,MAAM5sL,EAASsR,EAAM89K,EAAiB7vM,GAMtC,OAHAA,EAAM+uM,EAAUY,EAChB3vM,EAAM8uM,EAAQc,EAEPnvL,CACT,IAIEqvL,EAAUvB,EACVwB,EAAQ5gL,EAEZ,EACA6gL,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IAIjB8kF,EAHUl5C,EAAKkkK,EAAW,KAAO,MAG5BztM,IAAKrC,EAAMssC,EAAMnd,MAAOyc,EAAKmkK,GAC/BnkK,EAAK0jK,EAAOltM,KAAI,SAA0Bmb,EAAMltB,GAC/C,OAAOy0F,EAAAA,KAAAA,CAAIziF,IAAKhS,GAAIw2F,EAAOtpE,EAAMvd,GACnC,KASV,CAEA,MAAMiwM,GAAS,2DACTC,GAAU,4DAEVC,GAA+B,CACnC9F,EACAI,EACAC,EACAQ,EACAE,EACAD,EACAI,EACAQ,EACAiC,GACAI,GACAH,GACAI,IAGI+B,GAAiB,IAClBD,GAlQe,yBAoQlB9E,EACAI,GAsBF,SAAS4E,GAAQ7nG,GACf,OAAOA,EACJpyG,QAAQ,oBAAqB,KAC7BA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,KACjBA,QAAQ,cAAe,KACvBA,QAAQ,cAAe,KACvBA,QAAQ,QAAS,KACjBA,QAAQ,kBAAmB,KAC3BA,QAAQ,cAAe,KACvBA,QAAQ,UAAW,KACnBA,QAAQ,gBAAiB,IACzBA,QAAQ,MAAO,KACf8E,aACL,CAEA,SAASo1M,GAAuBC,GAC9B,OAAI5D,EAAkB/wL,KAAK20L,GAClB,QACE9D,EAAmB7wL,KAAK20L,GAC1B,SACE7D,EAAiB9wL,KAAK20L,GACxB,WAIX,CAEA,SAASC,GACP3nG,EACA92E,EACA/xB,GAEA,MAAMywM,EAAczwM,EAAM0wM,EAC1B1wM,EAAM0wM,GAAAA,EACN,MAAMC,EAAW5+K,EAAM82E,EAAOv3B,OAAQtxE,GACtCA,EAAM0wM,EAAWD,EAEjB,IAAIG,EAAQ,CAAC,IAkBb,OAjBAD,EAAS35M,SAAQ,SAAU40C,EAAMv7C,GACb,mBAAdu7C,EAAK72C,KAEG,IAAN1E,GAAWA,IAAMsgN,EAASv2M,OAAS,GAErCw2M,EAAM78M,KAAK,KAIG,SAAd63C,EAAK72C,MACe,MAAnB47M,EAAStgN,EAAI,IAAuC,mBAAzBsgN,EAAStgN,EAAI,GAAG0E,OAE5C62C,EAAKilK,EAAWjlK,EAAKilK,EAASz6M,QAAQo2M,EAAqB,KAE7DoE,EAAMA,EAAMx2M,OAAS,GAAGrG,KAAK63C,GAEjC,IACOglK,CACT,CAoBA,SAASE,GACPl0I,EACA7qC,EACA/xB,GAEAA,EAAM+uM,GAAAA,EACN,MAAMt7G,EAAS+8G,GAAc5zI,EAAQ,GAAI7qC,EAAO/xB,GAC1C+wM,EAAwBn0I,EAAQ,GAxBbxmE,QAAQm2M,EAAkB,IAAIv2M,MAAM,KAE5CoM,IAAIkuM,IAuBfM,EApBR,SACE/nG,EACA92E,EACA/xB,GAIA,OAFiB6oG,EAAOv3B,OAAOt7E,MAAM,MAErBoM,KAAI,SAAU4uM,GAC5B,OAAOR,GAAcQ,EAASj/K,EAAO/xB,EACvC,GACF,CAVA,CAoBgC48D,EAAQ,GAAI7qC,EAAO/xB,GAGjD,OAFAA,EAAM+uM,GAAAA,EAEC,CACLkC,EAAQF,EACRG,EAAQN,EACRO,EAAS19G,EACT1+F,KAAM,QAEV,CAEA,SAASq8M,GAAcxlK,EAAMylK,GAC3B,OAAgC,MAAzBzlK,EAAKqlK,EAAOI,GACf,CAAC,EACD,CACEjpM,UAAWwjC,EAAKqlK,EAAOI,GAE/B,CAuKA,SAASC,GAAYn4L,GACnB,OAAO,SAAe0vF,EAAQ7oG,GAC5B,OAAIA,EAAM+uM,EACD51L,EAAMymG,KAAK/W,GAAAA,IAItB,CACF,CAGA,SAAS0oG,GAAkBp4L,GACzB,OAAO,SAAe0vF,EAAgB7oG,GACpC,OAAIA,EAAM+uM,GAAW/uM,EAAMgvM,EAClB71L,EAAMymG,KAAK/W,GAAAA,IAItB,CACF,CAGA,SAAS2oG,GAAWr4L,GAClB,OAAO,SAAe0vF,EAAgB7oG,GACpC,OAAIA,EAAM+uM,GAAW/uM,EAAMgvM,EAAAA,KAGlB71L,EAAMymG,KAAK/W,EAEtB,CACF,CAGA,SAAS4oG,GAAct4L,GACrB,OAAO,SAAe0vF,GACpB,OAAO1vF,EAAMymG,KAAK/W,EACpB,CACF,CAEA,SAAS6oG,GACP7oG,EACA7oG,EACA2xM,GAEA,GAAI3xM,EAAM+uM,GAAW/uM,EAAMgvM,EACzB,OAAO,KAGT,GAAI2C,IAAuBA,EAAmBC,SAAS,MAErD,OAAO,KAGT,IAAItqM,EAAQ,GAEZuhG,EAAO7yG,MAAM,MAAMsvG,OAAM/+D,IAEnB4pK,GAA6Bz0L,MAAKvC,GAASA,EAAMyC,KAAK2qB,OAG1Dj/B,GAASi/B,EAAO,KACTA,EAAK+qC,UAGd,MAAMugI,EAAWvqM,EAAMwqM,UACvB,MAAgB,IAAZD,EAAAA,KAIG,CAACvqM,EAAOuqM,EACjB,CAuCA,SAASE,GAAYh/M,GACnB,IAGE,GAFgBi/M,mBAAmBj/M,GAAKqD,QAAQ,kBAAmB,IAEvDkR,MAAM,8CAQhB,MAAM,CAER,MAAOlH,GAWP,OAAO,IAAI,CAGb,OAAOrN,CACT,CAEA,SAASk/M,GAAYC,GACnB,OAAOA,EAAa97M,QAAQg3M,GAAgB,KAC9C,CAKA,SAAS+E,GACPpgL,EACAx/B,EACAyN,GAEA,MAAMoyM,EAAoBpyM,EAAM+uM,IAAAA,EAC1BsD,EAAoBryM,EAAMgvM,IAAAA,EAChChvM,EAAM+uM,GAAAA,EACN/uM,EAAMgvM,GAAAA,EACN,MAAMvuL,EAASsR,EAAMx/B,EAASyN,GAG9B,OAFAA,EAAM+uM,EAAUqD,EAChBpyM,EAAMgvM,EAAUqD,EACT5xL,CACT,CAKA,SAAS6xL,GACPvgL,EACAx/B,EACAyN,GAEA,MAAMoyM,EAAoBpyM,EAAM+uM,IAAAA,EAC1BsD,EAAoBryM,EAAMgvM,IAAAA,EAChChvM,EAAM+uM,GAAAA,EACN/uM,EAAMgvM,GAAAA,EACN,MAAMvuL,EAASsR,EAAMx/B,EAASyN,GAG9B,OAFAA,EAAM+uM,EAAUqD,EAChBpyM,EAAMgvM,EAAUqD,EACT5xL,CACT,CAEA,SAAS8xL,GACPxgL,EACAx/B,EACAyN,GAGA,OADAA,EAAM+uM,GAAAA,EACCh9K,EAAMx/B,EAASyN,EACxB,CAEA,MAAMwyM,GAEFA,CAAC51I,EAAS7qC,EAAO/xB,KAAAA,CAEjB6wM,EAAUsB,GAAYpgL,EAAO6qC,EAAQ,GAAI58D,KAI7C,SAASyyM,KACP,MAAO,CAAC,CACV,CAEA,SAASC,KACP,OAAO,IACT,CAYA,SAAS/pL,MAAMiI,GACb,OAAOA,EAAK51B,OAAOosG,SAAS90E,KAAK,IACnC,CAEA,SAASrhC,GAAImhB,EAAaumC,EAAcg6J,GACtC,IAAIC,EAAMxgM,EACV,MAAMygM,EAAQl6J,EAAK3iD,MAAM,KAEzB,KAAO68M,EAAMz4M,SACXw4M,EAAMA,EAAIC,EAAM,aAEZD,IACCC,EAAMjvB,QAGb,OAAOgvB,GAAOD,CAChB,CAaA,IAAKzD,GAAAA,GAAAA,SAuBW4D,GACdpnL,EACA92B,EAAiC,CAAC,GAElCA,EAAQm+M,UAAYn+M,EAAQm+M,WAAa,CAAC,EAC1Cn+M,EAAQy7M,QAAUz7M,EAAQy7M,SAAWA,GACrCz7M,EAAQ80M,oBAAsB90M,EAAQ80M,oBAAmBt3I,EAAAA,CAAAA,EAChDs3I,EAAwB90M,EAAQ80M,qBACrCA,EAEJ,MAAMsJ,EAAkBp+M,EAAQw8D,eAAiB9yD,EAAAA,cAIjD,SAASwmF,EAEPniF,EACA1E,KAIGyC,GAEH,MAAMuyM,EAAgBhiN,GAAI2D,EAAQm+M,UAAU,GAAIpwM,UAAa,CAAC,GAE9D,OAAOqwM,EA3DX,SAAgBrwM,EAAaowM,GAC3B,MAAMG,EAAWjiN,GAAI8hN,EAAWpwM,GAEhC,OAAKuwM,EAEsB,mBAAbA,GACS,iBAAbA,GAAyB,WAAYA,EAC3CA,EACAjiN,GAAI8hN,EAAAA,GAAcpwM,cAAiBA,GALjBA,CAMxB,CATA,CA4DaA,EAAK/N,EAAQm+M,WAAU3gJ,EAAAA,CAAAA,EAEzBn0D,EACAg1M,EAAAA,CACHzrM,UAAWmhB,GAAAA,MAAG1qB,OAAAA,EAAAA,EAAOuJ,UAAWyrM,EAAczrM,iBAAAA,OAE7C9G,EAEP,CAEA,SAASyyM,EAAQ13L,GACf,IAAIszL,GAAAA,EAEAn6M,EAAQw+M,YACVrE,GAAAA,EACUn6M,EAAQy+M,aAKlBtE,GAAAA,IAAU3C,EAAyBxwL,KAAKH,IAG1C,MAAM2E,EAAMkzL,GACVr5K,EACE80K,EACItzL,EAAAA,GACGA,EAAMq2L,UAAU17M,QAAQ82M,GAAwB,UACvD,CACE6B,EAAAA,KAKN,KACiC,iBAAxB3uL,EAAIA,EAAIhmB,OAAS,KACvBgmB,EAAIA,EAAIhmB,OAAS,GAAGk3E,QAErBlxD,EAAI8O,MAGN,GAAwB,OAApBt6B,EAAQsvH,QACV,OAAO9jG,EAGT,MAAM8jG,EAAUtvH,EAAQsvH,UAAY6qF,EAAU,OAAS,OACvD,IAAIwE,EAEJ,GAAInzL,EAAIhmB,OAAS,GAAKxF,EAAQ4+M,aAC5BD,EAAMnzL,MAAAA,CAAAA,GACkB,IAAfA,EAAIhmB,OAIb,OAHAm5M,EAAMnzL,EAAI,GAGS,iBAARmzL,EACFzuH,EAAAA,OAAAA,CAAMziF,IAAI,SAASkxM,GAEnBA,EAITA,EAAM,IAAI,CAGZ,OAAOj1M,EAAAA,cAAoB4lH,EAAS,CAAE7hH,IAAK,SAAWkxM,EACxD,CAEA,SAASE,EAAgBjrG,GACvB,MAAMhrF,EAAagrF,EAAIlhG,MAAM4iM,GAC7B,OAAK1sL,EAIEA,EAAWkrB,QAAO,SAAUtmC,EAAKsxM,EAAKx8M,GAC3C,MAAMy8M,EAAeD,EAAInhL,QAAQ,KAEjC,IAAsB,IAAlBohL,EAAqB,CACvB,MAAMtxM,GAthBiBA,EAshBWqxM,EAAIvoM,MAAM,EAAGwoM,IAnhBhC,IAFDtxM,EAAIkwB,QAAQ,MAE4B,OAAlClwB,EAAIiF,MAAMkkM,KAClCnpM,EAAMA,EAAIjM,QAAQ01M,GAA6B,SAAUt2K,EAAGo+K,GAC1D,OAAOA,EAAO1oM,aAChB,KAGK7I,GA6gB6DivE,OACxDryE,EA9oBd,SAAiBupG,GACf,MAAMq/B,EAAQr/B,EAAI,GAClB,OACa,MAAVq/B,GAA2B,MAAVA,IAClBr/B,EAAIpuG,QAAU,GACdouG,EAAIA,EAAIpuG,OAAS,KAAOytI,EAEjBr/B,EAAIr9F,MAAM,GAAI,GAEhBq9F,CACT,CAVA,CA8oB8BkrG,EAAIvoM,MAAMwoM,EAAe,GAAGriI,QAE5CuiI,EAAYrK,EAA0BnnM,IAAQA,EAC9CyxM,EAAmB1xM,EAAIyxM,GA9gBrC,SACExxM,EACApD,GAEA,MAAY,UAARoD,EACKpD,EAAMjJ,MAAM,QAAQ0yC,QAAO,SAAU9C,EAAQmuK,GAClD,MAAM1xM,EAAM0xM,EAAO5oM,MAAM,EAAG4oM,EAAOxhL,QAAQ,MAW3C,OAFAqT,EALsBvjC,EAAIjM,QAAQ,aAAaqyG,GAC7CA,EAAO,GAAGv9F,iBAIY6oM,EAAO5oM,MAAM9I,EAAIjI,OAAS,GAAGk3E,OAE9C1rC,CACT,GAAG,CAAC,GACa,SAARvjC,EACF0vM,GAAY9yM,IACVA,EAAMqI,MAAMokM,KAErBzsM,EAAQA,EAAMkM,MAAM,EAAGlM,EAAM7E,OAAS,IAG1B,SAAV6E,GAEiB,UAAVA,GAIJA,EACT,CAjCA,CA+gBUoD,EACApD,GAI2B,iBAApB60M,IACNzI,EAAqBzvL,KAAKk4L,IACzBrI,EAA4B7vL,KAAKk4L,MAEnC1xM,EAAIyxM,GAAav1M,EAAAA,aAAmB60M,EAAQW,EAAgBxiI,QAAS,CACnEjvE,IAAKnL,IAAAA,KAGQ,UAARw8M,IACTtxM,EAAIonM,EAA0BkK,IAAQA,IAAAA,GAziB9C,IAA+BrxM,EA4iBzB,OAAOD,CACT,GAAG,CAAC,GAAD,IACL,CAuBA,MAAM4xM,EAA0D,GAC1DC,EAA+D,CAAC,EAMhEC,EAA6B,CACjCC,WAAY,CACVxF,EAAQ6C,GAAWnH,GACnB4E,EAAQC,GAASC,KACjBC,EAAMA,CAACxyI,EAAS7qC,EAAO/xB,KAAAA,CAEnB6wM,EAAU9+K,EACR6qC,EAAQ,GAAGxmE,QAAQk0M,EAAkC,IACrDtqM,KAINgwM,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IAEjB8kF,EAAAA,aAAAA,CAAYziF,IAAKrC,EAAMssC,GACpBu6C,EAAOj7C,EAAKilK,EAAU7wM,KAM/Bo0M,UAAW,CACTzF,EAAQ8C,GAAclH,GACtB0E,EAAQC,GAASC,KACjBC,EAAQqD,GACRzC,EAAMA,CAACx6K,EAAG6+K,EAAIr0M,IACL8kF,EAAAA,KAAAA,CAAIziF,IAAKrC,EAAMssC,KAI1BgoK,cAAe,CACb3F,EAAQ6C,GAAWhH,GACnByE,EAAQC,GAASC,KACjBC,EAAQqD,GACRzC,EAAMA,CAACx6K,EAAG6+K,EAAIr0M,IACL8kF,EAAAA,KAAAA,CAAIziF,IAAKrC,EAAMssC,KAI1BioK,UAAW,CACT5F,EAAQ6C,GAAW9G,GACnBuE,EAAQC,GAASsF,IACjBpF,EAAOxyI,IAAAA,CAEHi0I,EAAUj0I,EAAQ,GAAGxmE,QAAQ,UAAW,IAAIA,QAAQ,OAAQ,IAC5Dq+M,OAAAA,IAIJzE,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IAEjB8kF,EAAAA,MAAAA,CAAKziF,IAAKrC,EAAMssC,GACdw4C,EAAAA,OAAAA,EAAAA,CAAAA,EACMl5C,EAAK8oK,EAAAA,CACTltM,UAAWokC,EAAK6oK,EAAAA,QAAgB7oK,EAAK6oK,IAAU,KAE9C7oK,EAAKilK,KAWhB8D,WAAY,CACVhG,EAAQ6C,GAAW/G,GACnBwE,EAAQC,GAASsF,IACjBpF,EAAOxyI,IAAAA,CAGH83I,EAAQjB,EAAgB72I,EAAQ,IAAM,IACtCi0I,EAAUj0I,EAAQ,GAClB63I,EAAO73I,EAAQ,WACf7nE,KAAM,eAKZ6/M,WAAY,CACVjG,EAAQ4C,GAAkB5G,GAC1BsE,EAAQC,GAAS2F,IACjBzF,EAAOxyI,IAAAA,CAEHi0I,EAAUj0I,EAAQ,KAGtBozI,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IACZ8kF,EAAAA,OAAAA,CAAMziF,IAAKrC,EAAMssC,GAAOV,EAAKilK,IAOxCiE,SAAU,CACRnG,EAAQ6C,GAAW1G,GACnBmE,EAAQC,GAASsF,IACjBpF,EAAOxyI,IACLo3I,EAAUjgN,KAAK,CACbghN,EAAWn4I,EAAQ,GACnBo4I,EAAap4I,EAAQ,KAGhB,CAAC,GAEVozI,EAAQ0C,IAGVuC,kBAAmB,CACjBtG,EAAQ2C,GAAYvG,GACpBkE,EAAQC,GAASC,KACjBC,EAAOxyI,IAAAA,CAEHi0I,EAAUj0I,EAAQ,GAClBs4I,EAAAA,IAAatgN,EAAQy7M,QAAQzzI,EAAQ,QAGzCozI,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IAEjB8kF,EAAAA,IAAAA,CAAGziF,IAAKrC,EAAMssC,EAAMlpC,KAAM2uM,GAAYnmK,EAAKspK,IACzCpwH,EAAAA,MAAAA,CAAKziF,IAAKrC,EAAMssC,GAAOV,EAAKilK,KAMpCsE,QAAS,CACPxG,EAAQ2C,GAAYrG,GACpBgE,EAAQC,GAASC,KACjBC,EAAOxyI,IAAAA,CAEHw4I,EAAyC,MAA7Bx4I,EAAQ,GAAG1hE,gBAG3B80M,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IAEjB8kF,EAAAA,QAAAA,CACEx5D,QAASsgB,EAAKwpK,EACd/yM,IAAKrC,EAAMssC,EACX+oK,UAAAA,EACAtgN,KAAK,cAMbugN,QAAS,CACP3G,EAAQ6C,GACN58M,EAAQ2gN,mBAAqBpK,EAA0BD,GAEzD+D,EAAQC,GAASC,KACjBC,EAAMA,CAACxyI,EAAS7qC,EAAO/xB,KAAAA,CAEnB6wM,EAAUsB,GAAYpgL,EAAO6qC,EAAQ,GAAI58D,GACzCw1M,EAAK5gN,EAAQy7M,QAAQzzI,EAAQ,IAC7B8zC,EAAQ9zC,EAAQ,GAAGxiE,SAGvB41M,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IACZ8kF,EAAAA,IACDl5C,EAAK8kE,IACT,CAAEhsF,GAAIknB,EAAK4pK,EAAKnzM,IAAKrC,EAAMssC,GAC3Bu6C,EAAOj7C,EAAKilK,EAAU7wM,KAU5By1M,cAAe,CACb9G,EAAQ6C,GAAWpG,GACnB6D,EAAQC,GAASsF,IACjBpF,EAAMA,CAACxyI,EAAS7qC,EAAO/xB,KAAAA,CAEnB6wM,EAAUsB,GAAYpgL,EAAO6qC,EAAQ,GAAI58D,GACzC0wG,EAAuB,MAAf9zC,EAAQ,GAAa,EAAI,EACjC7nE,KAAM,aAKZ2gN,YAAa,CACX/G,EAAQ8C,GAAclG,GACtB0D,EAAQC,GAASC,KACjBC,EAAMA,KAAAA,CACK,GAEXY,EAAQ0C,IAGVnpL,MAAO,CACLolL,EAAQ4C,GAAkBrB,IAC1BjB,EAAQC,GAASC,KACjBC,EAAOxyI,IAAAA,CAEH+4I,EAAM/4I,EAAQ,GACds4I,EAASjD,GAAYr1I,EAAQ,IAC7Bg5I,EAAQh5I,EAAQ,KAGpBozI,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IAEjB8kF,EAAAA,MAAAA,CACEziF,IAAKrC,EAAMssC,EACXj6B,IAAKu5B,EAAK+pK,QAAAA,EACV9sM,MAAO+iC,EAAKgqK,QAAAA,EACZxjM,IAAK2/L,GAAYnmK,EAAKspK,MAU9Bz/G,KAAM,CACJk5G,EAAQ2C,GAAYrB,IACpBhB,EAAQC,GAAS2F,IACjBzF,EAAMA,CAACxyI,EAAS7qC,EAAO/xB,KAAAA,CAEnB6wM,EAAUyB,GAAkBvgL,EAAO6qC,EAAQ,GAAI58D,GAC/Ck1M,EAASjD,GAAYr1I,EAAQ,IAC7Bg5I,EAAQh5I,EAAQ,KAGpBozI,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IAEjB8kF,EAAAA,IAAAA,CACEziF,IAAKrC,EAAMssC,EACXlpC,KAAM2uM,GAAYnmK,EAAKspK,GACvBrsM,MAAO+iC,EAAKgqK,GAEX/uH,EAAOj7C,EAAKilK,EAAU7wM,KAW/B61M,4BAA6B,CAC3BlH,EAAQ2C,GAAYzF,GACpBoD,EAAQC,GAASsF,IACjBpF,EAAOxyI,IAAAA,CAEHi0I,EAAU,CACR,CACEA,EAAUj0I,EAAQ,GAClB7nE,KAAM,SAGVmgN,EAASt4I,EAAQ,GACjB7nE,KAAM,UAKZ+gN,oBAAqB,CACnBnH,EAAQA,CAAC9lG,EAAQ7oG,IACXA,EAAM+1M,EAAAA,KAGHzE,GAAY3F,EAAZ2F,CAAsCzoG,EAAQ7oG,GAEvDivM,EAAQC,GAASsF,IACjBpF,EAAOxyI,IAAAA,CAEHi0I,EAAU,CACR,CACEA,EAAUj0I,EAAQ,GAClB7nE,KAAM,SAGVmgN,EAASt4I,EAAQ,GACjBg5I,OAAAA,EACA7gN,KAAM,UAKZihN,mBAAoB,CAClBrH,EAAQ2C,GAAY1F,GACpBqD,EAAQC,GAASsF,IACjBpF,CAAAA,CAAOxyI,GACL,IAAIntB,EAAUmtB,EAAQ,GAClBr8D,EAASq8D,EAAQ,GAOrB,OAJKutI,EAAwBvuL,KAAKrb,KAChCA,EAAS,UAAYA,GAGhB,CACLswM,EAAU,CACR,CACEA,EAAUphK,EAAQr5C,QAAQ,UAAW,IACrCrB,KAAM,SAGVmgN,EAAS30M,EACTxL,KAAM,OAEV,GAGFkhN,YAAa3H,GAAiBxpH,EA3uCP,GA4uCvBoxH,cAAe5H,GAAiBxpH,EA3uCP,GA6uCzBqxH,iBAAkB,CAChBxH,EAAQ6C,GAAW5G,GACnBqE,EAAQC,GAAS2F,IACjBzF,EAAQqD,GACRzC,EAAMA,IACG,MAIXoG,UAAW,CACTzH,EAAQ+C,GACRzC,EAAQC,GAAS2F,IACjBzF,EAAQoD,GACRxC,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IACZ8kF,EAAAA,IAAAA,CAAGziF,IAAKrC,EAAMssC,GAAOu6C,EAAOj7C,EAAKilK,EAAU7wM,KAItDzB,IAAK,CACHowM,EAAQ2C,GAAYtF,GACpBiD,EAAQC,GAASsF,IACjBpF,EAAOxyI,IACLq3I,EAAKr3I,EAAQ,IAAM,CACjBs4I,EAASt4I,EAAQ,GACjBg5I,EAAQh5I,EAAQ,IAGX,CAAC,GAEVozI,EAAQ0C,IAGV2D,SAAU,CACR1H,EAAQ4C,GAAkBtF,GAC1BgD,EAAQC,GAASsF,IACjBpF,EAAOxyI,IAAAA,CAEH+4I,EAAM/4I,EAAQ,WACd15D,EAAM05D,EAAQ,KAGlBozI,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IAEjB8kF,EAAAA,MAAAA,CACEziF,IAAKrC,EAAMssC,EACXj6B,IAAKu5B,EAAK+pK,EACVvjM,IAAK2/L,GAAYkC,EAAKroK,EAAK1oC,GAAMgyM,GACjCrsM,MAAOorM,EAAKroK,EAAK1oC,GAAM0yM,KAM/BU,QAAS,CACP3H,EAAQ2C,GAAYpF,GACpB+C,EAAQC,GAASsF,IACjBpF,EAAMA,CAACxyI,EAAS7qC,EAAO/xB,KAAAA,CAEnB6wM,EAAU9+K,EAAM6qC,EAAQ,GAAI58D,GAC5Bu2M,EAAkBxkL,EAChB6qC,EAAQ,GAAGxmE,QAAQ+1M,EAAmB,QACtCnsM,GAEFkD,EAAM05D,EAAQ,KAGlBozI,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IACZi0M,EAAKroK,EAAK1oC,GACf4hF,EAAAA,IAAAA,CACEziF,IAAKrC,EAAMssC,EACXlpC,KAAM2uM,GAAYkC,EAAKroK,EAAK1oC,GAAMgyM,GAClCrsM,MAAOorM,EAAKroK,EAAK1oC,GAAM0yM,GAEtB/uH,EAAOj7C,EAAKilK,EAAU7wM,IAGzB8kF,EAAAA,OAAAA,CAAMziF,IAAKrC,EAAMssC,GAAOu6C,EAAOj7C,EAAK2qK,EAAkBv2M,KAS5Dw2M,MAAO,CACL7H,EAAQ6C,GAAWzF,GACnBkD,EAAQC,GAASC,KACjBC,EAAQ0B,GACRd,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IAEjB8kF,EAAAA,QAAAA,CAAOziF,IAAKrC,EAAMssC,GAChBw4C,EAAAA,QAAAA,KACEA,EAAAA,KAAAA,KACGl5C,EAAKulK,EAAQ/uM,KAAI,SAA4B7P,EAASlC,GACrD,OACEy0F,EAAAA,KAAAA,CAAIziF,IAAKhS,EAAG4Y,MAAOmoM,GAAcxlK,EAAMv7C,IACpCw2F,EAAOt0F,EAASyN,GAGvB,MAIJ8kF,EAAAA,QAAAA,KACGl5C,EAAKslK,EAAO9uM,KAAI,SAA0BkhJ,EAAKjzJ,GAC9C,OACEy0F,EAAAA,KAAAA,CAAIziF,IAAKhS,GACNizJ,EAAIlhJ,KAAI,SAA2B7P,EAAS8oB,GAC3C,OACEypE,EAAAA,KAAAA,CAAIziF,IAAKgZ,EAAGpS,MAAOmoM,GAAcxlK,EAAMvwB,IACpCwrE,EAAOt0F,EAASyN,GAGvB,IAGN,OAOVy2M,eAAgB,CACd9H,EAAQ,SAAU9lG,EAAQ7oG,GACxB,OAAKA,EAAM0wM,GAGX1wM,EAAM+uM,GAAAA,EACCzC,EAAkB1sF,KAAK/W,IAAAA,IAChC,EACAomG,EAAQC,GAASC,KACjBC,EAAQ,WACN,MAAO,CAAEr6M,KAAM,iBACjB,EAEAi7M,EAAMA,IACG,OAIXx5M,KAAM,CAKJm4M,EAAQ8C,GAAcxE,IACtBgC,EAAQC,GAASwH,IACjBtH,EAAOxyI,IAAAA,CAEHi0I,EAAUj0I,EAAQ,GAEfxmE,QAAQk1M,GAAkB,CAAClD,EAAMhqF,IACzBxpH,EAAQ80M,oBAAoBtrF,GAC/BxpH,EAAQ80M,oBAAoBtrF,GAC5BgqF,MAIZ4H,EAAOpkK,GACEA,EAAKilK,GAIhB8F,WAAY,CACVhI,EAAQ4C,GAAkB3E,GAC1BqC,EAAQC,GAAS0H,IACjBxH,EAAMA,CAACxyI,EAAS7qC,EAAO/xB,KAAAA,CAInB6wM,EAAU9+K,EAAM6qC,EAAQ,GAAI58D,KAGhCgwM,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IACZ8kF,EAAAA,SAAAA,CAAQziF,IAAKrC,EAAMssC,GAAOu6C,EAAOj7C,EAAKilK,EAAU7wM,KAI3D62M,eAAgB,CACdlI,EAAQ4C,GAAkB1E,GAC1BoC,EAAQC,GAAS2F,IACjBzF,EAAMA,CAACxyI,EAAS7qC,EAAO/xB,KAAAA,CAInB6wM,EAAU9+K,EAAM6qC,EAAQ,GAAI58D,KAGhCgwM,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IACZ8kF,EAAAA,KAAAA,CAAIziF,IAAKrC,EAAMssC,GAAOu6C,EAAOj7C,EAAKilK,EAAU7wM,KAIvD82M,YAAa,CAKXnI,EAAQ4C,GAAkBvE,IAC1BiC,EAAQC,GAASC,KACjBC,EAAOxyI,IAAAA,CAEHi0I,EAAUj0I,EAAQ,GAClB7nE,KAAM,UAKZgiN,WAAY,CACVpI,EAAQ4C,GAAkBzE,GAC1BmC,EAAQC,GAAS2F,IACjBzF,EAAQoD,GACRxC,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IACZ8kF,EAAAA,OAAAA,CAAMziF,IAAKrC,EAAMssC,GAAOu6C,EAAOj7C,EAAKilK,EAAU7wM,KAIzDg3M,oBAAqB,CACnBrI,EAAQ4C,GAAkBxE,IAC1BkC,EAAQC,GAAS2F,IACjBzF,EAAQoD,GACRxC,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IACZ8kF,EAAAA,MAAAA,CAAKziF,IAAKrC,EAAMssC,GAAOu6C,EAAOj7C,EAAKilK,EAAU7wM,OAAAA,IAmCtDpL,EAAQqiN,wBACV/C,EAAMgD,UAAY,CAIhBvI,EAAQ8C,GAAcpG,GACtB4D,EAAQC,GAASC,KACjBC,CAAAA,CAAOxyI,EAAS7qC,EAAO/xB,GACrB,OAASm3M,GAAcv6I,EAAQ,GAAGt1D,MAAM6lM,IAClCiK,EAAU,IAAIzoL,OAAO,IAAIwoL,IAAc,MACvCE,EAAUz6I,EAAQ,GAAGxmE,QAAQghN,EAAS,IAEtCE,GArxCe77L,EAqxCiB47L,EApxCrCjH,GAAe10L,MAAKmN,GAAKA,EAAEjN,KAAKH,KAqxC7B82L,GACAJ,IAvxCZ,IAA6B12L,EAyxCrB,MAAMwsF,EAAUrrC,EAAQ,GAAG1hE,cACrBq8M,GAC+C,IAAnDtN,EAA6B13K,QAAQ01E,GAEvCjoG,EAAM+1M,EAAY/1M,EAAM+1M,GAAyB,MAAZ9tG,EAMrC,MAAM11G,EAAUglN,EACZ36I,EAAQ,GACR06I,EAAUvlL,EAAOslL,EAASr3M,GAI9B,OAFAA,EAAM+1M,GAAAA,EAEC,CACLrB,EAAQjB,EAAgB72I,EAAQ,IAChCi0I,EAAUt+M,EACVilN,EAAeD,EACfE,EAAMF,EAAetvG,EAAUrrC,EAAQ,GAE3C,EACAozI,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IAGjB8kF,EAACl5C,EAAK6rK,EAAIrlJ,EAAAA,CAAC/vD,IAAKrC,EAAMssC,GAAUV,EAAK8oK,GAClC9oK,EAAK4rK,EACD5rK,EAAKilK,EACNhqH,EAAOj7C,EAAKilK,EAAwC7wM,KAWhEk0M,EAAMwD,gBAAkB,CAItB/I,EAAQ8C,GAAchG,GACtBwD,EAAQC,GAASC,KACjBC,EAAOxyI,IAAAA,CAEH83I,EAAQjB,EAAgB72I,EAAQ,IAAM,IACtC66I,EAAM76I,EAAQ,KAGlBozI,EAAMA,CAACpkK,EAAMi7C,EAAQ7mF,IACZ8kF,EAACl5C,EAAK6rK,EAAIrlJ,EAAAA,CAAAA,EAAKxmB,EAAK8oK,EAAAA,CAAQryM,IAAKrC,EAAMssC,OAQpD,MAAMrS,EAjpCR,SACEi6K,GAOA,IAAIyD,EAAWrqM,OAAOghB,KAAK4lL,GAiC3B,SAAS0D,EACP/uG,EACA7oG,GAEA,IAAIygB,EAAS,GAMTmuL,EAAc,GAClB,KAAO/lG,GAAQ,CACb,IAAIx4G,EAAI,EACR,KAAOA,EAAIsnN,EAASv9M,QAAQ,CAC1B,MAAMy9M,EAAWF,EAAStnN,GACpB44M,EAAOiL,EAAM2D,GACbj7I,EAAUqsI,EAAK0F,EAAO9lG,EAAQ7oG,EAAO4uM,GAE3C,GAAIhyI,EAAS,CACX,MAAMk7I,EAAoBl7I,EAAQ,GAClCisC,EAASA,EAAO/Z,UAAUgpH,EAAkB19M,QAC5C,MAAM29M,EAAS9O,EAAKmG,EAAOxyI,EAASg7I,EAAa53M,GAM9B,MAAf+3M,EAAOhjN,OACTgjN,EAAOhjN,KAAO8iN,GAGhBp3L,EAAO1sB,KAAKgkN,GAEZnJ,EAAckJ,EACd,KAAK,CAGPznN,GAAAA,CAAAA,CAIJ,OAAOowB,CACT,CAEA,OA5DAk3L,EAAS72L,MAAK,SAAUk3L,EAAOC,GAC7B,IAAIC,EAAShE,EAAM8D,GAAO/I,EACtBkJ,EAASjE,EAAM+D,GAAOhJ,EAG1B,OAAIiJ,IAAWC,EACND,EAASC,EAGPH,EAAQC,GACT,GAIZ,aA8C2BpvG,EAAQ7oG,GACjC,OAAO43M,EAhHX,SAA6B/uG,GAC3B,OAAOA,EACJzyG,QAAQy0M,EAAc,MACtBz0M,QAAQ40M,EAAY,IACpB50M,QAAQi2M,EAAO,OACpB,CALA,CAgH2CxjG,GAAS7oG,EAClD,CACF,CAxFA,CAipC2Bk0M,GACnBZ,IA12BYY,GA02B4BA,EA/+B9BkE,GAsIT,SACLC,EACAD,EACAp4M,GAEA,OAAOk0M,GAAMmE,EAAItjN,MAAMi7M,EAAOqI,EAAKD,EAAYp4M,EACjD,EAm2B8Ck0M,SA9+B9BoE,EACdD,EACAr4M,EAA6B,CAAC,GAE9B,GAAIyyB,MAAMC,QAAQ2lL,GAAM,CACtB,MAAME,EAASv4M,EAAMssC,EACf7rB,EAAS,GAIf,IAAI+3L,GAAAA,EAEJ,IAAK,IAAInoN,EAAI,EAAGA,EAAIgoN,EAAIj+M,OAAQ/J,IAAK,CACnC2P,EAAMssC,EAAOj8C,EAEb,MAAMooN,EAAUH,EAAkBD,EAAIhoN,GAAI2P,GACpCgnG,EAA8B,iBAAZyxG,EAEpBzxG,GAAYwxG,EACd/3L,EAAOA,EAAOrmB,OAAS,IAAMq+M,EACR,OAAZA,GACTh4L,EAAO1sB,KAAK0kN,GAGdD,EAAgBxxG,CAAAA,CAKlB,OAFAhnG,EAAMssC,EAAOisK,EAEN93L,CAAAA,CAGT,OAAO23L,GAAWC,EAAKC,EAAmBt4M,EAC5C,GAmGF,IAAoBk0M,GArIFkE,GAi/BhB,MAAM7E,GAAMJ,EAAQznL,GAEpB,OAAIsoL,EAAU55M,OAEV0qF,EAAAA,MAAAA,KACGyuH,GACDzuH,EAAAA,SAAAA,CAAQziF,IAAI,UACT2xM,EAAU5xM,KAAI,SAAwBs2M,GACrC,OACE5zH,EAAAA,MAAAA,CAAKpgE,GAAI9vB,EAAQy7M,QAAQqI,EAAI1D,GAAc3yM,IAAKq2M,EAAI1D,GACjD0D,EAAI1D,EACJ1B,GAAQr5K,EAAOy+K,EAAI3D,EAAW,CAAEhG,GAAAA,KAGvC,MAMDwE,EACT,EA11BKrE,GAAAA,KAAAA,GAAAA,CAAAA,IAIHA,GAAAA,IAAAA,GAAAA,MAIAA,GAAAA,GAAAA,KAAAA,GAAAA,OAIAA,GAAAA,GAAAA,IAAAA,GAAAA,MAIAA,GAAAA,GAAAA,IAAAA,GAAAA,MAIAA,GAAAA,GAAAA,IAAAA,GAAAA,MApBGA,MAAAA,GAo2BAhsM,IAAAA,IAACxC,SAAEA,EAAQ9L,QAAEA,GAAmBsO,EAAPjF,EAAAA,SAAAA,EAAAA,GAAAA,GAAAA,MAAAA,EAAAA,MAAAA,CAAAA,EAAAA,IAAAA,EAAAA,EAAAA,EAAAA,CAAAA,EAAAA,EAAAA,OAAAA,KAAAA,GAAAA,IAAAA,EAAAA,EAAAA,EAAAA,EAAAA,OAAAA,IAAAA,EAAAA,QAAAA,EAAAA,EAAAA,KAAAA,IAAAA,EAAAA,GAAAA,EAAAA,IAAAA,OAAAA,CAAAA,CAAAA,CAAKiF,EAAAk0D,GAKjC,OAAO94D,EAAAA,aACLw0M,GAASpyM,EAAU9L,GACnBqJ,EAAgC,E,oCCh9DpC,MAAM06M,GAAa,MAAO95K,GAAG0G,WAAW,CAAEzc,YAAa,aAAc0c,YAAa,aAAe,gEAAgE,EAAG3tB,QAAOtT,YAAasT,EAAMhV,KAAK0B,GAAU,gBAChMq0M,GAAQ36M,IACjB,MAAM,SAAEyC,EAAQ,OAAE6D,EAAM,UAAEs0M,GAAY,EAAK,WAAE13M,GAAelD,EACtD47C,GAAc,QAAe57C,GAC7B66M,EAAc,WAAez9B,QAAQ36K,GACrCq4M,EAAa5jL,KAAKiwB,MAAMjwB,KAAKqtB,IAAIs2J,EAAY1+M,OAAQ,KACrD4+M,EAAmBF,EAAY12M,KAAKqoD,GAAU,eAAmBA,EAAO,CAC1EtpD,aACA43M,iBAEJ,OAAQ,gBAAoBJ,GAAYrrM,OAAOC,OAAO,CAAEgd,GAAIsuL,EAAY,KAAO,KAAMt0M,OAAQA,GAAUs1C,GAAcm/J,EAAkB,E,eCJ3I,SAASC,GAAiBh7M,GACtB,MAAM,WAAEkD,EAAU,MAAE0W,EAAK,UAAEqhM,GAAcj7M,EACnCk2K,EATgB,EAACt8J,EAAO1W,KAC9B,IAAKA,EACD,OAAO0W,EAAMm8J,MAAY,KAAE,KAE/B,MAAO,CAAEmlC,EAASC,GAAej4M,EAAWmG,MAAM,2BAClD,OAAOuQ,EAAMm8J,MAAMmlC,GAASr1K,SAASs1K,EAAa,IAAI,EAI/BC,CAAkBxhM,EAAO1W,GAChD,IAAKgzK,EAED,OADA,KAAAmlC,GAAc,sBAAsBn4M,wBAC7B,GAEX,MAAM,WAAEo4M,EAAU,SAAE5qM,EAAQ,cAAE6qM,EAAa,WAAEC,GAAetlC,EAC5D,OAAO,KAAI,eAAeolC,eAAwB5qM,iBAAwB8qM,oBAA6BD,WAAuBN,iBAClI,CACA,MAAMQ,GAAa,KAAI,kBAAkB,EAAG7hM,WAAgC,QAApBA,EAAMgiK,UACxD,YAAYhiK,EAAMhV,KAAK82M,aACvB,cAAc9hM,EAAMhV,KAAK82M,mBACzBC,GAAiB,MAAO56K,GAAGuG,WAAW,CAAEzc,YAAa,iBAAkB0c,YAAa,cAAgB,GAAIvnC,GAAUg7M,GAAiBh7M,oCAAwC,EAAG4Z,WAAYA,EAAMhV,KAAK82M,0EAA0E,EAAG9hM,WAAYA,EAAMhV,KAAK82M,4EAA4ED,4FAAoGA,cAAsB,EAAGX,gBAAiB,IAAI,IAAInqL,OAAOmqL,0BAC3gBc,GAAW,EAAGn5M,WAAUq4M,aAAa,EAAG53M,iBACjD,MAAM0W,GAAQ,WACd,OAAQ,gBAAoB+hM,GAAgB,CAAEb,WAAYA,EAAY53M,WAAYA,EAAY+3M,UAAWrhM,EAAMguB,OAAOtzC,QAAQya,SAAWtM,EAAU,E,0BCpBvJ,MAAM,YAAE29K,GAAW,YAAEjjD,GAAW,YAAE7oH,GAAW,YAAEunM,GAAW,QAAEz4M,IAAY,OAClE,IAAErD,GAAG,GAAE+7M,GAAE,GAAEC,GAAE,GAAEC,GAAE,GAAEC,GAAE,OAAEC,GAAQntL,EAAC,YAAW,MAC3CotL,GAAkB,CACpB,IACA,IACA,KACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACA,KACA,KACA,IACA,OACA,SACA,MACA,MACA,QACA,QACA,QACA,KACA,KACA,KACA,IACA,MAEG,SAASC,GAAkBvhH,EAAW76F,GACzC,OAAOA,EAAQ,CAAE66F,YAAW76F,SAAU,CAAE66F,YAC5C,CAEO,MAAMwhH,GAAgBr8M,GAAW,gBAAoB,KAAKqP,OAAOC,OAAO,CAAC,EAAGtP,EAAO,CAAEmF,KAAOnF,GAASA,EAAMmF,MAAS,IAAKT,IAAK,IAAKC,SAAU,cAC9I23M,GAA4Bj5M,IAAU,CACxCy4M,GAAIM,GAAkB,MAAM,CACxB13M,IAAKo3M,GACL54M,WAAYk9K,GACZ/8K,UAEJ04M,GAAIK,GAAkB,MAAM,CACxB13M,IAAKq3M,GACL74M,WAAYi6H,GACZ95H,UAEJ24M,GAAII,GAAkB,MAAM,CACxB13M,IAAKs3M,GACL94M,WAAYoR,GACZjR,UAEJ44M,GAAIG,GAAkB,MAAM,CACxB13M,IAAKu3M,GACL/4M,WAAY24M,GACZx4M,UAEJ0rB,EAAGqtL,GAAkB,MAAM,CACvB13M,IAAK,GACLxB,WAAYE,GACZC,UAEJsM,KAAMysM,GAAkB,MAAM,CAC1B13M,IAAKiL,GACLzM,WAAYE,GACZC,UAEJtD,IAAKq8M,GAAkB,MAAM,CACzB13M,IAAK3E,GACLmD,WAAYE,GACZC,UAEJ64M,OAAQE,GAAkB,MAAM,CAAE13M,IAAKw3M,GAAQx1M,MAAM,EAAMrD,UAC3DlR,EAAGiqN,GAAkBC,IACrBz7K,GAAIw7K,GAAkBzB,IACtB4B,GAAIH,GAAkBzB,GAAM,CAAEC,WAAW,IACzC75K,GAAIq7K,GAAkBR,MAEbruL,GAAYvtB,IACrB,MAAM,SAAEytB,EAAQ,UAAEqnL,EAAY,CAAC,EAAC,MAAEzxM,EAAK,wBAAEmqB,GAA4BxtB,EAC/D47C,GAAc,QAAe57C,GAC7Bw8M,EAAY,WAAc,KAAM,CAClCxD,uBAAuBxrL,EACvBsnL,UAAWzlM,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAGgtM,GAAyBj5M,IAASyxM,GAC7E,aAAA3hJ,CAAcr8D,EAAM2lN,EAAeh6M,GAC/B,MAAoB,iBAAT3L,GAAsBqlN,GAAgBvnN,SAASkC,GAMnD,gBAAoBi8D,MAAMzgE,KAAMwrC,WAL5B,gBAAoB,WAAgB,KAAMr7B,EAMzD,EACAwjH,QAAS,WACTsvF,cAAc,KACd,CAAC/nL,EAAyBnqB,EAAOyxM,IACrC,OAAQ,gBAAoB,GAAUzlM,OAAOC,OAAO,CAAE3Y,QAAS6lN,GAAa5gK,GAAcnuB,EAAU,C,6DCrG7FwmH,EAAc,aAAiB5kI,OAAOC,QAAO,SAAUtP,EAAOkqB,GACrE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,UAAZA,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,0IAEzB,UAAZ1lB,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,8KAEzB,YAAZ1lB,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,0JAElC,IACX,GAAG,CAAEI,YAAa,iB,uCCblB,MAIM6xL,EAAoB,KAAO/sM,KAAK23B,WAAW,CAAEzc,YAAa,oBAAqB0c,YAAa,aAAe,0BAA0B1B,SAHtH,MAG+IA,SAFrI,OAEyK,aAAa,EAAGjsB,WAAYA,EAAMhV,KAAK6zC,kFAAkF,EAAG7+B,WAAY,8DAA0CA,EAAM2uB,UAAUo0K,eAAeC,YAAYhjM,EAAM2uB,UAAUC,SAASnlC,iDACxbw5M,EAAkB,KAAOltM,KAAK23B,WAAW,CAAEzc,YAAa,kBAAmB0c,YAAa,aAAe,aAAa,EAAG3tB,WAAYA,EAAMm8J,MAAM50K,MAAM,KAAKuP,8DAA8D,EAAGrP,aAAYuY,WAAYvY,EAAa,cAAgBuY,EAAMguB,OAAOtzC,QAAQkzC,yCAAyC,EAAGnmC,gBAAkBA,EAAa,SAAW,wBAAyB,EAAGA,aAAYuY,WAAYvY,EAAa,IAAM,GAAGuY,EAAMhV,KAAK6zC,0BAA0B,EAAG7+B,WAAY,cAAcA,EAAM2uB,UAAUo0K,eAAeC,YAAYhjM,EAAM2uB,UAAUC,SAASnlC,WAC3kBy5M,EAAe,KAAOn1B,OAAOrgJ,WAAW,CAAEzc,YAAa,eAAgB0c,YAAa,cAAgB,sHAAsH,EAAG3tB,WAAgC,QAApBA,EAAMgiK,UAC/O,IAAI;qBACWhiK,EAAMhV,KAAKsQ;MAE1B,IAAI;sBACY0E,EAAMhV,KAAKsQ;wDACuB,EAAG0E,WAAYA,EAAMm8J,MAAM1wK,KAAK,KAAKqL,wBAAwB,EAAGkJ,WAAYA,EAAMm8J,MAAM1wK,KAAK,KAAKi2M,8CAA8C,EAAGr7M,cAAgBA,EAAW,cAAgB,wBAAyB,EAAG2Z,WAAY,OAAOA,EAAM2uB,UAAUo0K,eAAeC,YAAYhjM,EAAM2uB,UAAUC,SAASnlC,yBAAyB,EAAGuW,WAAYA,EAAMguB,OAAOtzC,QAAQya,2DAChaguM,EAA8B,KAAOptM,KAAK23B,WAAW,CAAEzc,YAAa,8BAA+B0c,YAAa,YAAc,cAAc,EAAG3tB,WAAY,OAAOA,EAAM2uB,UAAUo0K,eAAeC,YAAYhjM,EAAM2uB,UAAUC,SAASnlC,2DAA2D,EAAG25M,WAAUpjM,WAE5SojM,EACO,IAAI;;;iBAGFpjM,EAAMm8J,MAAM50K,MAAM,KAAKuP;;KAK7B,IAAI;;;gBAGCkJ,EAAMm8J,MAAM1wK,KAAK,KAAKqL;cACxBkJ,EAAMhV,KAAKiiL;OAEpBi2B,4BACCvnC,EAAc,KAAOp0K,MAAMmmC,WAAW,CAAEzc,YAAa,cAAe0c,YAAa,cAAgB,8FA9BlF,gBA8BwM,EAAGtnC,WAAU2Z,WAAYA,EAAMguB,OAAOtzC,QAAQ2L,EAAW,WAAa,yCAAyC,EAAGA,cAAgBA,EAAW,cAAgB,oBAAqB,EAAG2Z,WAAYA,EAAMhV,KAAK6zC,8BAA8B,EAAG7+B,WAAYA,EAAMhV,KAAKsjC,OAAOG,SAAS,sBAAmC,EAAGzuB,WAAYA,EAAMhV,KAAKqmB,aAAa,EAAG/nB,iBAAkBA,GAC5kB,IAAI;;wBAEgB,EAAG0W,WAAYA,EAAMhV,KAAKsjC,OAAOC;OAClD,EAAGvuB,WAAYA,EAAMguB,OAAOi9J,MAAM2C;;sBAEnBuV,oBAA8CF,aAA2B,EAAGjjM,WAAYA,EAAMhV,KAAKklB,qBAAqB,EAAGlQ,WAAYA,EAAMm8J,MAAM50K,MAAM,KAAKuP,aAAa,EAAGxN,iBAAiC,YAAfA,GAA2C,UAAfA,IAC9O,IAAI;uBACe,EAAG0W,WAAYA,EAAMhV,KAAKsjC,OAAOC;MAClD;OACC,EAAG60K,WAAUpjM,WAAYojM,GAC5B,IAAI;KACHH;kBACajjM,EAAMhV,KAAK6zC;;OAEtB,EAAG7+B,QAAO3Z,WAAUiD,iBAAkBjD,IACxCiD,GACD,IAAI;;;aAGK0W,EAAMguB,OAAOtzC,QAAQyzC;;;wBAGV,EAAGnuB,WAAYA,EAAMhV,KAAKsjC,OAAOG;OAClD,EAAGzuB,WAAYA,EAAMguB,OAAOM,OAAOH;;YAE9B80K;aACCjjM,EAAMguB,OAAOtzC,QAAQyzC;;OAE3B,EAAGk1K,kBAAiBrjM,WAAYqjM,GACnC,IAAI;;oBAEYJ;kBACFjjM,EAAMhV,KAAK6zC;;MAGvBykK,EAAsB,KAAOn9M,IAAIunC,WAAW,CAAEzc,YAAa,sBAAuB0c,YAAa,cAAgB,qBACxG1jC,EAAU7D,IACnB,MAAMM,EAAM,cACN68M,EAAW,eACX,WAAEj6M,EAAU,SAAET,EAAQ,SAAExC,EAAQ,MAAEkB,EAAK,aAAEC,EAAY,MAAEJ,EAAK,QAAE5J,EAAO,QAAEu2B,EAAO,SAAE7pB,EAAQ,OAAE4pB,EAAM,SAAEzpB,EAAQ,KAAEzN,EAAI,aAAE4mN,EAAY,UAAEl5M,EAAS,WAAE7C,GAAgBrB,GAC1Jg9M,EAAUK,GAAe,YAAe,IACxCC,EAAaC,GAAkB,WAAe,IAC9CrU,EAAWsU,GAAgB,YAAe,GAC3Cv8M,EAAe,eAAmBkB,IAChC2B,GACAA,EAAS3B,EAAGnC,GAEhBq9M,GAAY,EAAK,GAClB,CAACv5M,EAAU9D,IACd,aAAgB,KACRM,EAAI8B,SACJ9B,EAAI8B,QAAQq7M,eAAiB,GAC7Bn9M,EAAI8B,QAAQsvF,cAAc,+BAC1BpxF,EAAI8B,QAAQq7M,eAAiB,EAG7BJ,GAAY,EAChB,GACD,CAAC/8M,IACJ,aAAgB,KACZ,IAAIpN,EACJqqN,GAA4C,QAA3BrqN,EAAKiqN,EAAS/6M,eAA4B,IAAPlP,OAAgB,EAASA,EAAG85C,eAAiB,EAAE,GACpG,CAACmwK,IACJ,MAAMthC,EAAe,eAAkB,KAAQ,IAAI3oL,EAAI,OAAOqqN,GAA4C,QAA3BrqN,EAAKiqN,EAAS/6M,eAA4B,IAAPlP,OAAgB,EAASA,EAAG85C,eAAiB,EAAE,GAAK,CAACmwK,IACvK,aAAgB,KACZ1oN,OAAOoO,iBAAiB,SAAUg5K,GAC3B,IAAMpnL,OAAOqO,oBAAoB,SAAU+4K,KACnD,CAACA,IACJ,MAMMjgI,GAAc,OAAe57C,GAC7Bmb,EAAejY,GAAc9L,EAAW,gBAAoB,IAAmB,CAAE8L,WAAYA,EAAY3K,KAAMnB,EAAS8xM,UAAWA,EAAWJ,UAAU,SAAWvyM,EACzK,OAAQ,gBAAoB,WAAgB,KACxC,gBAAoBg/K,EAAalmK,OAAOC,OAAO,CAAErP,SAAUA,EAAUg9M,gBAAiB57M,EAAY6B,WAAYA,EAAY85M,SAAUA,GAAYphK,GAC5Iz6C,GAAU,gBAAoB07M,EAAiB,CAAE,eAAe,EAAMv8M,IAAK68M,EAAU97M,WAAYA,GAC7FF,EACA8C,GAAY,KAChB,gBAAoBi5M,EAAqB,KACrC,gBAAoBJ,EAAc,CAAEM,aAAcA,EAAcn9M,SAAUA,EAAUgE,SAAUA,EAAU3D,IAAKA,QAAO/J,EAAW6K,aAAcA,EAAcJ,MAAOA,EAAO8C,SAAU7C,EAAc0sB,QAdxL5pB,IACjBy5M,GAAa,GACT7vL,GACAA,EAAQ5pB,EACZ,EAU+N2pB,OAAQA,EAAQl3B,KAAMA,EAAM0N,UAAWA,GAAazB,GAC3QtB,GAASE,GAAe,gBAAoB07M,EAA6B,CAAEC,SAAUA,EAAUM,YAAaA,GACxGn8M,EACA8C,GAAY,MACpB,gBAAoBy4M,EAAmB,KACnC,gBAAoBzoE,EAAa,CAAElvI,QAAS,UAAWolB,YAAY,MAC3EhP,EAAc,C,0FC1HtB,MACMuiM,EAAgB,EAAIxmL,KAAK82B,GADhB,EAET2vJ,EAAO,EAAAz6L,SAAU,yDACjB06L,EAAS,EAAA16L,SAAU,wBAAwBw6L,4BAAwCA,EAAgB,6BAA6BA,MAChIG,EAAgB,KAAOt0D,IAAIjiH,WAAW,CAAEzc,YAAa,gBAAiB0c,YAAa,aAAe,GAAIvnC,GAA4B,YAAlBA,EAAM+E,SACxH,IAAI;YACI/E,EAAM4Z,MAAMhV,KAAK6B;aAChBzG,EAAM4Z,MAAMhV,KAAK6B;mBACV,IAAMo/B,SAAS7lC,EAAM4Z,MAAMhV,KAAK6B,UAAW,IAAO;OAC9DzG,GAA4B,UAAlBA,EAAM+E,SACpB,IAAI;YACI/E,EAAM4Z,MAAMhV,KAAK82M;aAChB17M,EAAM4Z,MAAMhV,KAAK82M;mBACV,IAAM71K,SAAS7lC,EAAM4Z,MAAMhV,KAAK82M,UAAW,IAAO;OAC9D17M,GAA4B,YAAlBA,EAAM+E,SACpB,IAAI;YACI/E,EAAM4Z,MAAMhV,KAAKk5M;aAChB99M,EAAM4Z,MAAMhV,KAAKk5M;mBACV,IAAMj4K,SAAS7lC,EAAM4Z,MAAMhV,KAAKk5M,UAAW,IAAO;MAEhEC,EAAiB,KAAOrjK,KAAKpT,WAAW,CAAEzc,YAAa,iBAAkB0c,YAAa,aAAe,UAAWvnC,GAAUA,EAAM4Z,MAAMguB,OAAOkuI,OAAOxoJ,QACpJ0wL,EAAiB,KAAOtjK,KAAKpT,WAAW,CAAEzc,YAAa,iBAAkB0c,YAAa,YAAc,UAAWvnC,GAAUA,EAAM4Z,MAAMguB,OAAOkuI,OAAOmoC,6BAA6BP,KAAiBA,6EAAyFC,+CAAkDC,cAC5UM,EAAiB,uCACVzzM,EAAWzK,GAAW,gBAAoB69M,EAAexuM,OAAOC,OAAO,CAAEib,MAAO,6BAA8B43J,WAAY,+BAAgC33J,KAAM,OAAQF,QAAS,YAAavlB,QAAS/E,EAAM+E,SAAW,YAAa,OAAe/E,IAC7PA,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoBmzM,EAAgB,CAAEtzL,EAAGyzL,IACzC,gBAAoBF,EAAgB,CAAEvzL,EAAGyzL,I,oGCzB7C,MAAMC,EAAoB,KAAOxuM,KAAK23B,WAAW,CAAEzc,YAAa,oBAAqB0c,YAAa,cAAgB,SAAS,EAAG3tB,QAAO3Z,cAAe2Z,EAAMguB,OAAOguI,YAAY3tI,IAAIhoC,EAAW,WAAa,cACnMm+M,EAAkB,KAAOzuM,KAAK23B,WAAW,CAAEzc,YAAa,kBAAmB0c,YAAa,aAAe,yCAA0CvnC,GAAUA,EAAM4Z,MAAMhV,KAAKy5M,oBAAqBr+M,GAAUA,EAAM4Z,MAAMhV,KAAK6B,8BAA+BzG,GAAUA,EAAM4Z,MAAMguB,OAAO6T,WAAW1sC,sBAAuB/O,GAAUA,EAAM4Z,MAAM2uB,UAAUC,SAAS81K,iCAAkCt+M,GAAUA,EAAM4Z,MAAMhV,KAAK6B,oBAAqBzG,GAAUA,EAAM4Z,MAAMhV,KAAKsjC,OAAOC,eAAe,EAAGvuB,QAAO3Z,cAAe2Z,EAAMguB,OAAOguI,YAAY3tI,IAAIhoC,EAAW,WAAa,4EAA6ED,GAAUA,EAAM4Z,MAAMhV,KAAKsjC,OAAOC,wDAAyDnoC,GAAUA,EAAM4Z,MAAMhV,KAAKsjC,OAAOC,kBAAmBnoC,GAAUA,EAAM4Z,MAAMhV,KAAK4B,mBAAoBxG,GAAUA,EAAM4Z,MAAMhV,KAAK4B,8BAA8B,EAAGoT,QAAO3Z,cAAe2Z,EAAMguB,OAAOguI,YAAY3tI,IAAIhoC,EAAW,WAAa,yBAA0BD,GAAUA,EAAM4Z,MAAM2uB,UAAUC,SAAS81K,sCAC1gCtoC,EAAc,KAAOx4J,MAAM8pB,WAAW,CAAEzc,YAAa,cAAe0c,YAAa,aAAe,wFAAwF62K,gCAA8C,EAAGxkM,WAAYA,EAAMguB,OAAOguI,YAAY3tI,IAAIn0B,0BAA0BqqM,WAA2B,EAAGvkM,QAAO3Z,cAAe2Z,EAAMguB,OAAOguI,YAAY/tI,GAAG5nC,EAAW,WAAa,iBAAiBm+M,sBAAoC,EAAGxkM,QAAO3Z,cAAe2Z,EAAMguB,OAAOguI,YAAY/tI,GAAG5nC,EAAW,WAAa,qBAAqB,EAAG2Z,WAAYA,EAAMhV,KAAKsjC,OAAOC,eAAe,EAAGvuB,QAAO3Z,cAAe2Z,EAAMguB,OAAOguI,YAAY/tI,GAAG5nC,EAAW,WAAa,yCAA0CD,GAAUA,EAAM4Z,MAAMguB,OAAOtzC,QAAQwzC,iDAAkD9nC,GAAUA,EAAM4Z,MAAMhV,KAAKy5M,mDAAoDr+M,GAAUA,EAAM4Z,MAAMhV,KAAKsjC,OAAOC,uBAAuBi2K,sBAAoC,EAAGxkM,WAAYA,EAAMguB,OAAOguI,YAAY/tI,GAAGE,gBAAgB,EAAGnuB,WAAYA,EAAMhV,KAAKsjC,OAAOC,eAAe,EAAGvuB,WAAYA,EAAMguB,OAAOguI,YAAY/tI,GAAGE,oCAAqC/nC,GAAUA,EAAM4Z,MAAMguB,OAAOtzC,QAAQwzC,kCAAkCs2K,KAAmB,EAAGxkM,YAAY,OAAwBA,EAAO,aACxxC27J,EAAc,KAAOp0K,MAAMmmC,WAAW,CAAEzc,YAAa,cAAe0c,YAAa,aAAe,uCAAwCvnC,GAAUA,EAAM4Z,MAAMhV,KAAK4B,8EAA+ExG,GAAWA,EAAMC,SAAW,cAAgB,aAAeD,IAAWA,EAAMC,UAChU,IAAI;;MAEF+1K,mBAA6BmoC;cACrB,EAAGvkM,WAAYA,EAAMguB,OAAOguI,YAAY/tI,GAAG/zB;;;MAGnDkiK,mBAA6BooC;yBACVp+M,EAAM4Z,MAAMguB,OAAO6T,WAAW1sC;qBAClC,EAAG6K,WAAYA,EAAMguB,OAAOguI,YAAY/tI,GAAG/zB;;0BAEtC,EAAG8F,WAAYA,EAAMguB,OAAOguI,YAAY/tI,GAAG/zB;;;;MAI/DkiK;SACGooC;0BACiB,EAAGxkM,WAAYA,EAAMguB,OAAOguI,YAAY/tI,GAAG/zB;;2BAE1C9T,EAAM4Z,MAAMguB,OAAO6T,WAAW1sC;;;;;MAM5C01B,EAAUzkC,IACnB,MAAM,gBAAEu+M,EAAe,QAAElxL,EAAO,SAAE5qB,EAAQ,eAAE+5I,EAAc,SAAEv8I,EAAQ,SAAE6D,EAAQ,UAAE6P,GAAe3T,EACzF47C,GAAc,OAAe57C,GACnC,OAAQ,gBAAoBu1K,EAAalmK,OAAOC,OAAO,CAAErP,SAAUA,GAAY27C,GAC3E,gBAAoBo6H,EAAa,CAAE,aAAcriK,EAAW,kBAAmB4qM,EAAiBznN,KAAM,WAAYu2B,QAASA,EAASmvH,eAAgBA,EAAgB14I,SAAUA,EAAU7D,SAAUA,IAClM,gBAAoBm+M,EAAiB,CAAEn+M,SAAUA,IACjDwC,GAAa,gBAAoB07M,EAAmB,CAAEl+M,SAAUA,GAAgC,iBAAbwC,EAAyB,gBAAoB,KAAM,CAAEiC,IAAK,KAAQiL,KAAMtM,MAAO,KAAe6lC,SAAWzmC,GAAa,GAAc,C,iIClC/N,MAAM+7M,EAA6B,KAAO7uM,KAAK23B,WAAW,CAAEzc,YAAa,6BAA8B0c,YAAa,aAAe,SAAS,EAAG3tB,QAAO3Z,cAAeA,EAAW2Z,EAAMguB,OAAO62K,IAAIx+M,SAAW2Z,EAAMguB,OAAO62K,IAAI3qM,kCAAkC,EAAG8F,WAAYisB,SAASjsB,EAAMhV,KAAKsjC,OAAOC,MAAO,IAAM,OAAO,EAAGvuB,QAAO8kM,iBAAkBA,GACrV,IAAI;oBACY9kM,EAAMhV,KAAK4B;aAClBoT,EAAMhV,KAAKsjC,OAAOC;cACjBvuB,EAAMhV,KAAKqmB,aAAarR,EAAMhV,KAAK6zC;OAC1C,EAAG7+B,QAAO8kM,cAAaz+M,WAAUwO,gBAAiBiwM,IACpDz+M,GACD,IAAI;;wBAEgBwO,EAAamL,EAAMguB,OAAO62K,IAAIE,QAAQ5/L,SAAW;aAC5DnF,EAAMguB,OAAO62K,IAAI12K;;OAEvB,EAAG9nC,cAAeA,GAAY,0BAA0B,EAAGA,WAAUy+M,cAAa9kM,QAAOnL,iBAC5F,GAAIiwM,GAAejwM,EACf,OAAO,IAAI;kBACDxO,EACJ2Z,EAAMguB,OAAO62K,IAAIE,QAAQ1+M,SACzB2Z,EAAMguB,OAAO62K,IAAIE,QAAQ5/L;IAGnB,kBACF,EAAGnF,WAAgC,QAApBA,EAAMgiK,UACjC,IAAI;sBACYhiK,EAAMhV,KAAKqmB;QAE3B,IAAI;uBACarR,EAAMhV,KAAKqmB;YAE5B2zL,EAAY,KAAOz2M,OAAOm/B,WAAW,CAAEzc,YAAa,YAAa0c,YAAa,cAAgB,iFAAiF,EAAGktJ,yBAAwBiqB,cAAa,gBAAiBG,EAAcjlM,YACxP,IAAIilM,EAGJ,OAAIH,EACO,IAAI;eACJ9kM,EAAMhV,KAAKiiL;KAGf,IAAI;;mBAE4C,IAAxChhJ,SAASjsB,EAAMhV,KAAKsjC,OAAOC,MAAO;oBACO,IAAxCtC,SAASjsB,EAAMhV,KAAKsjC,OAAOC,MAAO;;;;MAIhDq2K;cACQ5kM,EAAMguB,OAAO62K,IAAI12K;;;;;;SAMkB,EAAxClC,SAASjsB,EAAMhV,KAAKsjC,OAAOC,MAAO;;;;;eAK5BvuB,EAAMhV,KAAK0jC,KAAKx0B;mBACZ8F,EAAMguB,OAAO62K,IAAI12K;;OAE7B0sJ;;;GAGJ,gCAC6B+pB,KAA8B,EAAG5kM,YAAY,OAAwBA,EAAO,YAAY,EAAGA,QAAO8kM,kBAAmBA,GACjJ,IAAI;sBACc9kM,EAAMhV,KAAK0jC,KAAKx0B;cACxB8F,EAAMguB,OAAO62K,IAAI12K;uBACRlC,SAASjsB,EAAMhV,KAAKsjC,OAAOC,MAAO,IAAM;UACrD,EAAGvuB,QAAO,gBAAiBilM,EAAcH,iBAAkBG,GACjE,IAAI;;;;MAIFL;QACC,OAAwB5kM,EAAO;QAC9B8kM,GACA,IAAI;uBACW9kM,EAAMhV,KAAK0jC,KAAKx0B;eACxB8F,EAAMguB,OAAO62K,IAAIx+M;wBACR4lC,SAASjsB,EAAMhV,KAAKsjC,OAAOC,MAAO,IAAM;;;;MAK1D22K,EAAkB,KAAOnvM,KAAK23B,WAAW,CAAEzc,YAAa,kBAAmB0c,YAAa,aAAe,4EAA4E,EAAG3tB,QAAO66K,4BAAwD,WAA3BA,GAAkE,QAA3BA,EACjQ,GAAG76K,EAAMhV,KAAKqmB,cACd,+DAA+D,EAAGyzL,kBAAmBA,GACvF,IAAI;oBACYF;aACP,EAAG5kM,WAAYA,EAAMguB,OAAO62K,IAAI12K;;;OAGtC,EAAG9nC,cAAeA,GACrB,IAAI;;MAGK8+M,EAAM,cAAiB,CAAC/+M,EAAOkqB,KACxC,MAAM,YAAEw0L,EAAW,SAAEz+M,EAAQ,uBAAEw0L,EAAsB,WAAEuqB,EAAU,SAAEtlK,EAAQ,MAAEzgD,EAAK,QAAEuK,EAAO,aAAEggC,EAAY,aAAEmuB,EAAY,WAAEljD,EAAU,MAAE7D,GAAW5K,EAC1I47C,GAAc,OAAe57C,GAC7BojC,EAAc,eAAkB,KAC9B5/B,IAAYvD,GACZuD,EAAQvK,EACZ,GACD,CAACuK,EAASvK,EAAOgH,IACdg/M,EAAmB,eAAmBl7M,IACpCy/B,GACAA,EAAaz/B,EAAO0K,EACxB,GACD,CAACA,EAAY+0B,IACV07K,EAAmB,eAAmBn7M,IACpC4tD,GACAA,EAAa5tD,EAAO0K,EACxB,GACD,CAACkjD,EAAcljD,IACZ0wM,EAAmB,WAAc,KAAM,CACzCz4M,KAAM+H,KACN,CAACA,IACL,IAAI2wM,EAAmB,KAavB,OAZIx0M,IAEIw0M,EADiB,iBAAVx0M,EACa,gBAAoB,KAAM,CAAElG,IAAK,KAAQiL,KAAMtM,MAAO,KAAe6lC,QAAShmC,WAAY,KAAoB4xK,UAAYlqK,GAG3H,eAAmBA,EAAO,CACzCvH,MAAO,KAAe6lC,QACtBxkC,IAAK,KAAQiL,KACbzM,WAAY,KAAoB4xK,YAIpC,gBAAoB8pC,EAAW,CAAEF,YAAaA,EAAajqB,uBAAwBA,EAAwBrqK,KAAM,MAAOhmB,IAAK46M,EAAYv4L,GAAI,GAAGizB,SAAgBzgD,IAAS,gBAAiBgH,OAAW1J,EAAY,GAAGmjD,aAAoBzgD,IAAS,gBAAiBwV,EAAY,gBAAiBxO,EAEnSoqB,SAAU5b,EAAa,GAAK,EAAGxV,MAAOA,EAAOuqC,aAAcvjC,OAAW1J,EAAY0oN,EAAkBttJ,aAAc1xD,OAAW1J,EAAY2oN,EAAkBzwM,WAAYA,EAAYjL,QAAS4/B,EAAa9iC,IAAK4pB,GAC9M,gBAAoB40L,EAAiBzvM,OAAOC,OAAO,CAAEovM,YAAaA,EAAaz+M,SAAUA,EAAUw0L,uBAAwBA,GAA0B74I,GACjJ,gBAAoB4iK,EAA4B,CAAEE,YAAaA,EAAaz+M,SAAUA,EAAUwO,WAAYA,GACxG,gBAAoB,KAAYghC,SAAU,CAAEzuC,MAAOm+M,GAAoBC,KAAqB,IAE5GL,EAAIl0L,YAAc,M,cCrIlB,MAAMw0L,EAAoB,KAAOt/M,IAAIunC,WAAW,CAAEzc,YAAa,oBAAqB0c,YAAa,aAAe,sCAAsC,EAAG3tB,WAAYA,EAAMhV,KAAK6zC,wBAAwB,EAAG7+B,WAAYA,EAAMhV,KAAK06M,+CAC5NC,GAAoB,QAAOlnK,EAAA,GAAa/Q,WAAW,CAAEzc,YAAa,oBAAqB0c,YAAa,cAAgB,GACpHi4K,GAAqB,QAAOlnK,EAAA,GAAchR,WAAW,CAAEzc,YAAa,qBAAsB0c,YAAa,cAAgB,GACvHk4K,EAAyB,IAAI,qDAAqD,EAAG7lM,WAAgC,QAApBA,EAAMgiK,UACvGhiK,EAAMguB,OAAO83K,UAAUv5M,KACvByT,EAAMguB,OAAO83K,UAAUt5M,gCACvBu5M,EAA0B,IAAI,sDAAsD,EAAG/lM,WAAgC,QAApBA,EAAMgiK,UACzGhiK,EAAMguB,OAAO83K,UAAUt5M,MACvBwT,EAAMguB,OAAO83K,UAAUv5M,iCACvBy5M,EAAqB,KAAOz3M,OAAOm/B,WAAW,CAAEzc,YAAa,qBAAsB0c,YAAa,cAAgB,2BAA2B,EAAG3tB,WAAYA,EAAMguB,OAAOz/B,OAAO67L,SAASlwL,iBAAiB,EAAG8F,WAAYA,EAAMhV,KAAK6B,iEAAiE,EAAGmT,WAAYA,EAAMguB,OAAO6T,WAAW1sC,+DAA+D,EAAG6K,WAGvY,WAFUA,EAAM2uB,UAAUC,SAAShwB,SACnBoB,EAAM2uB,UAAUo0K,eAAerlI,QAErD,EAAGuoI,qBAA0C,YAApBA,GAAiCJ,KAA0B,EAAGI,qBAA0C,aAApBA,GAAkCF,iBAAuC,EAAG/lM,WAAYA,EAAMguB,OAAO62K,IAAI12K,yBAAyB,EAAGnuB,YAAY,OAAwBA,gDAAoD,EAAGA,WAAYA,EAAMhV,KAAKy5M,yEAAyEkB,KAAqBC,0BAA2C,EAAG5lM,WAG1e,WAFUA,EAAM2uB,UAAUC,SAAShwB,SACnBoB,EAAM2uB,UAAUo0K,eAAerlI,yBAEpC,EAAG19D,WAAYA,EAAM2uB,UAAUC,SAAShwB,qCAAqC,EAAGoB,WAAYA,EAAM2uB,UAAUC,SAAShwB,mDAAmD+mM,KAAqBC,qCAC7MM,EAAiB,KAAO//M,IAAIunC,WAAW,CAAEzc,YAAa,iBAAkB0c,YAAa,aAAe,SAAS,EAAG3tB,WAAYA,EAAMguB,OAAOtzC,QAAQya,kBAAkB,EAAG6K,WAAYA,EAAMhV,KAAKqmB,aAAa,EAAGrR,WAAYisB,SAASjsB,EAAMhV,KAAKiiL,UAAW,IAAM,oCAAoC,EAAGjtK,WAAYA,EAAMhV,KAAK0jC,KAAKx0B,WAAW,EAAG8F,YAAY,OAAwBA,EAAO,aAC1XmmM,EAA0B,IAAI,GAAG,EAAGnmM,QAAOomM,gCAAiCA,EAC5EpmM,EAAMguB,OAAO62K,IAAIx+M,SACjB2Z,EAAMguB,OAAO62K,IAAIj3K,SACjBy4K,EAAe,KAAOlgN,IAAIunC,WAAW,CAAEzc,YAAa,eAAgB0c,YAAa,cAAgB,gEAAgE,EAAG3tB,WAAYA,EAAMhV,KAAKsQ,iFAAiF,EAAGu/K,yBAAwB1vL,UAAS6U,WAAwB,eAAZ7U,GACnS,QAA3B0vL,GACA,IAAI;;;;;;;cAOM76K,EAAMhV,KAAK0jC,KAAKx0B;WACnB8F,EAAMhV,KAAK6zC;wBACE7+B,EAAMguB,OAAOM,OAAOp0B;;;OAGrC,EAAG2gL,yBAAwB1vL,UAAS6U,WAAwB,eAAZ7U,GACxB,WAA3B0vL,GACA,IAAI;;;;;;;cAOM76K,EAAMhV,KAAK0jC,KAAKx0B;cAChB8F,EAAMhV,KAAK6zC;wBACD7+B,EAAMguB,OAAOM,OAAOp0B;;;oNAGwK,EAAG/O,UAAS0vL,yBAAwB76K,WACpO,oBAAZ7U,EACO,cAAc6U,EAAMhV,KAAKiiL,aAE7B,IAAI;;4BAEajtK,EAAM2uB,UAAUo0K,eAAeC;OACpDhjM,EAAM2uB,UAAUC,SAAS03K;;wBAEY,QAApBtmM,EAAMgiK,UAAsB,QAAU;;;;cAIhDhiK,EAAMhV,KAAK0jC,KAAKd;;;OAGvBu4K;;;MAGDtrB,MAA2B76K,EAAMhV,KAAK6zC;;;;;;;OAOrCsnK;;;MAKMtmK,EAAQz5C,IACjB,MAAM,WAAEmgN,GAAa,EAAK,QAAEp7M,EAAU,aAAY,uBAAE0vL,EAAyB,SAAQ,aAAEp7I,EAAY,SAAE52C,EAAQ,SAAEi3C,EAAQ,SAAE51C,EAAW,KAAe,GAAM9D,EACnJ47C,GAAc,OAAe57C,GAC7B+zC,EAAU,SAAa,IACvBqsK,EAAY,SAAa,OACxB7iC,EAAa8iC,GAAkB,WAAehnK,QAAmDA,EAAe,GACjHinK,EAAmB79M,EAAS+gB,WAAU,CAACgpC,EAAOvzD,KAA6B,IAAnBuzD,EAAMvsD,UAAqBhH,IAAUskL,KAC7F,UAAE3B,EAAS,KAAEh3K,IAAS,WACtB,wBAAE27M,EAAuB,qBAAEC,GChGD,EAACJ,EAAWrsK,EAASwpI,KACrD,MAAM,OAAE31I,EAAM,UAAEg0I,IAAc,UACxB2kC,EAA0B,eAAmBhjC,IAC/C,IAAIrqL,EAAIusB,EACR,MAAMqnK,EAAY/yI,EAAQ3xC,QAAQm7K,GAClC,IAAKuJ,IAAcs5B,EAAUh+M,QACzB,OAGJ,IAAI2pD,EACAtxC,EACc,QAAdmhK,GACA7vH,EAAoE,QAA1D74D,EAAKktN,EAAUh+M,QAAQ0nE,wBAAwB1jE,aAA0B,IAAPlT,EAAgBA,EAAK,EACjGunB,EAAWqsK,EAAUh9G,wBAAwB1jE,QAG7C2lD,EAAmE,QAAzDtsC,EAAK2gM,EAAUh+M,QAAQ0nE,wBAAwB3jE,YAAyB,IAAPsZ,EAAgBA,EAAK,EAChGhF,EAAWqsK,EAAUh9G,wBAAwB3jE,MAEjD,MAAM7D,EAASmY,EAAWsxC,EAC1Bq0J,EAAUh+M,QAAQ4I,MAAMy1M,YAAY,6BAA8B,cAAcn+M,QAEhF,MAAM4R,EAAQ4yK,EAAUh9G,wBAAwB51D,MAChDksM,EAAUh+M,QAAQ4I,MAAMy1M,YAAY,yBAA0B,GAAGvsM,MAAU,GAC5E,CAAC6/B,EAASqsK,EAAWxkC,IAClB4kC,EAAuB,eAAkB,CAACvgN,GAAW,EAAOunC,GAAS,KACvE,IAAIt0C,EAAIusB,EAAImyB,EACR3xC,EAC6B,QAA5B/M,EAAKktN,EAAUh+M,eAA4B,IAAPlP,GAAyBA,EAAG8X,MAAMy1M,YAAY,8BAA+B74K,EAAO62K,IAAIx+M,UAAY,WAEpIunC,EACwB,QAA5B/nB,EAAK2gM,EAAUh+M,eAA4B,IAAPqd,GAAyBA,EAAGzU,MAAMy1M,YAAY,8BAA+B74K,EAAO62K,IAAI12K,OAAS,WAGzG,QAA5B6J,EAAKwuK,EAAUh+M,eAA4B,IAAPwvC,GAAyBA,EAAG5mC,MAAMy1M,YAAY,8BAA+B74K,EAAO62K,IAAI3qM,SAAW,UAC5I,GACD,CAAC8zB,EAAO62K,IAAI3qM,QAAS8zB,EAAO62K,IAAIx+M,SAAU2nC,EAAO62K,IAAI12K,MAAOq4K,IAgC/D,OA9BA,aAAgB,KACZ,MAAMn6F,EAAUm6F,EAAUh+M,QACpBs+M,EAAO3sK,EAAQ3xC,QACrB,IAAK6jH,IAAYy6F,EACb,OAEJ,MAAMC,EAAoB,IAAIC,gBAAe,CAACxmN,EAASymN,KACjCzmN,EAAQ,GACZ0mN,YAAY5sM,MAAQ,GAC9BqsM,EAAwBhjC,EAC5B,IAGJ,OADAojC,EAAkB/rH,QAAQ8rH,EAAKnjC,IACxB,KACCmjC,EACAC,EAAkBI,UAAUL,EAAKnjC,IAGjCojC,EAAkB9rH,YACtB,CACH,GACF,CAACurH,EAAW7iC,EAAagjC,EAAyBxsK,IAErD,aAAgB,KACZ,MAAM8nI,EAAe,KACjB0kC,EAAwBhjC,EAAY,EAGxC,OADA9oL,OAAOoO,iBAAiB,SAAUg5K,GAC3B,IAAMpnL,OAAOqO,oBAAoB,SAAU+4K,EAAa,GAChE,CAAC0B,EAAagjC,IACV,CACHA,0BACAC,uBACH,EDyByDQ,CAAqBZ,EAAWrsK,EAASwpI,IAC7F,yBAAE0jC,EAAwB,qBAAEC,GElGa,GAAGd,YAAWrsK,cAC7D,MAAOktK,EAA0BE,GAA+B,YAAe,IACxED,EAAsBE,GAA2B,YAAe,GA8BvE,OA7BA,aAAgB,KACZ,IAAKhB,EAAUh+M,UAAY2xC,EAAQ3xC,QAAQ,GACvC,OAEJ,MAAMi/M,EAAWttK,EAAQ3xC,QAAQ,GAC3Bk/M,EAAUvtK,EAAQ3xC,QAAQ2xC,EAAQ3xC,QAAQjG,OAAS,GACnDxF,EAAU,CACZ/E,KAAMwuN,EAAUh+M,QAChBgnJ,UAAW,IACXm4D,WAAY,WAEVC,EAA+B,IAAI7sH,sBAAsBv6F,IAC3DA,EAAQrB,SAAQ,EAAGuJ,SAAQkyF,qBACElyF,IAAW++M,EAEhCF,EAA4B3sH,GAG5B4sH,EAAwB5sH,EAC5B,GACF,GACH79F,GAGH,OAFA6qN,EAA6B5sH,QAAQysH,GACrCG,EAA6B5sH,QAAQ0sH,GAC9B,KACHE,EAA6BT,UAAUM,GACvCG,EAA6BT,UAAUO,EAAQ,CAClD,GACF,CAAClB,EAAWrsK,IACR,CAAEktK,2BAA0BC,uBAAsB,EFkEEO,CAAoC,CAC3FrB,YACArsK,YAEE2tK,EAAc,eAAmBzoN,IACnC,IAAKmnN,EAAUh+M,UAAY2xC,EAAQ3xC,UAAY2xC,EAAQ3xC,QAAQnJ,GAC3D,OAEJ,MAAMinE,EAAakgJ,EAAUh+M,QAAQ89D,YAC7B/5D,KAAMw7M,EAAYv7M,MAAOw7M,GAAgBxB,EAAUh+M,QAAQ0nE,yBAC3D3jE,KAAM07M,EAAez7M,MAAO07M,GAAmB/tK,EAAQ3xC,QAAQnJ,GAAO6wE,wBACxEi4I,EAAwBl8K,SAASjhC,EAAKy5M,UAAW,IAEjD2D,EAAmBn8K,SAASjhC,EAAK6B,UAAW,IAAM,EACxD,GAAIo7M,EACAF,EAAaI,EAAwBC,EADzC,CAEI,MAAM77M,EAAO+5D,EACT2hJ,GACCE,EAAwBC,GACzBL,EACJvB,EAAUh+M,QAAQghF,SAAS,CACvBj9E,OACAuyC,SAAU,UAGlB,MACA,GAAIopK,EAAiBC,EAAwBC,EACzCJ,EAAa,CACb,MAAMz7M,EAAO+5D,EACT6hJ,EACAC,EACAF,EACAF,EACJxB,EAAUh+M,QAAQghF,SAAS,CACvBj9E,OACAuyC,SAAU,UAElB,IACD,CAAC9zC,IACEq9M,EAAsB,eAAmB1kC,IAC3C,MAAM2kC,EAAmBnuK,EAAQ3xC,QAAQm7K,GACrC2kC,GACAA,EAAiBrd,OACrB,GACD,IACG1oB,GAAe,OAAoB,eAAkB,KACvDokC,EAAwBhjC,EAAY,GACrC,CAACgjC,EAAyBhjC,IAAe,IAAI,GAC1CwJ,EAAe,eAAmB9tL,IACpConN,EAAepnN,GACf+jE,uBAAsB,IAAM0kJ,EAAYzoN,KAExC,MAAMkpN,EAAyE,SAAzDpuK,EAAQ3xC,QAAQnJ,GAAOkxG,aAAa,iBAC1Dq2G,EAAqB2B,GAAe,GACpCF,EAAoBhpN,GACpB6K,EAAS7K,EAAM,GAChB,CAACgpN,EAAqBn+M,EAAU08M,EAAsBkB,IACzD,aAAgB,KACZ,MAAMzoN,EAAQogD,QAAmDA,EAAe,EAChFgnK,EAAepnN,GACf+jE,uBAAsB,IAAM0kJ,EAAYzoN,IAAO,GAChD,CAACogD,EAAcqoK,IAClB,MAAMzC,EAAmB,eAAkB,CAACl7M,EAAOi9B,KAC/C,MAAMohL,EAAsBr+M,EAAMsR,cAC5BgtM,EAA2BD,EAAoB9hJ,YAGrD,GADA8hJ,EAAoBp3M,MAAMy1M,YAAY,yBAA0B,GAAG4B,QACzC,IAAtB/B,EAEA,YADAE,GAAqB,GAGzB,MAAM8B,EAAuBvuK,EAAQ3xC,QAAQ7M,MAAMkpN,GAA8C,SAAtCA,EAAIt0G,aAAa,mBAE5Eq2G,GAAqB,EAAOx/K,GAAYshL,IAAyB1/M,SAAS2/M,cAAc,GACzF,CAAC/B,EAAsBF,IACpBpB,EAAmB,eAAmBn7M,IACxCy8M,GAA2C,IAAtBF,EAAyBv8M,EAAMsR,gBAAkBzS,SAAS2/M,cAAc,GAC9F,CAAC/B,EAAsBF,IACpBkC,EAAc,eAAmBz+M,IAEnC,GAAkB,eAAdA,EAAMK,KAAsC,cAAdL,EAAMK,IACpC,OAEJL,EAAMC,iBACN,MAAMy+M,EAA2B,QAAd7mC,EAAsB,aAAe,YAClD8mC,EAAS3+M,EAAMK,MAAQq+M,GAAc,EAAI,EACzChnC,GAAe8B,EAAcmlC,EAAS3uK,EAAQ3xC,QAAQjG,QACxD43C,EAAQ3xC,QAAQjG,OAChBs/K,IAAgB8B,GAChBwJ,EAAatL,EACjB,GACD,CAAC8B,EAAa3B,EAAWmL,IAOtB47B,EAA6B,eAAkB,KACjD,IAAKvC,EAAUh+M,QACX,OAEJ,MAAQ+D,KAAMw7M,EAAYv7M,MAAOw7M,GAAgBxB,EAAUh+M,QAAQ0nE,wBAG7D84I,EAAgB7uK,EAAQ3xC,QAAQygN,eAAepE,IACjD,MAAQt4M,KAAM28M,EAAS18M,MAAO28M,GAAatE,EAAI30I,wBAC/C,MAAkB,QAAd8xG,EACO1kJ,KAAKiwB,MAAM47J,GAAY7rL,KAAK4qC,KAAK8/I,GAGjC1qL,KAAK4qC,KAAKghJ,GAAW5rL,KAAKiwB,MAAMw6J,EAC3C,KAEmB,IAAnBiB,GACAlB,EAAYkB,EAChB,GACD,CAAChnC,EAAW8lC,IACTsB,EAA4B,eAAkB,KAChD,IAAK5C,EAAUh+M,QACX,OAEJ,MAAQ+D,KAAMw7M,EAAYv7M,MAAOw7M,GAAgBxB,EAAUh+M,QAAQ0nE,wBAE7Dm5I,EAAelvK,EAAQ3xC,QAAQohB,WAAWi7L,IAC5C,MAAQt4M,KAAM28M,EAAS18M,MAAO28M,GAAatE,EAAI30I,wBAC/C,MAAkB,QAAd8xG,EACO1kJ,KAAK4qC,KAAKghJ,GAAW5rL,KAAKiwB,MAAMw6J,GAGhCzqL,KAAKiwB,MAAM47J,GAAY7rL,KAAK4qC,KAAK8/I,EAC5C,KAEkB,IAAlBqB,GACAvB,EAAYuB,EAChB,GACD,CAACrnC,EAAW8lC,IACf,OAAQ,gBAAoB,WAAgB,KACxC,gBAAoBrC,EAAmB,CAAE6D,QAASV,GAC9CrC,GAAe,gBAAoBP,EAAoB,CAAEC,gBAAiB,WAAY5/M,SAAUghN,EAA0Bz9M,QAASm/M,EAA4B,aAA4B,QAAd/mC,EACnK,qBACA,0BAA0C,QAAdA,EAAuB,gBAAoB4jC,EAAoB,CAAEz6M,QAAS,QAASolB,YAAY,IAAY,gBAAoBo1L,EAAmB,CAAEx6M,QAAS,QAASolB,YAAY,KACxN,gBAAoB81L,EAAc5wM,OAAOC,OAAO,CAAEqe,QAlD/BxrB,IACvB,MACMggN,EAAyD,SADhDhgN,EAAEG,OACY6nG,aAAa,iBAC1Cq2G,EAAqB2B,GAAe,EAAK,EA+CyCz0L,OA7C7D,IAAM8yL,GAA2C,IAAtBF,GA6C4Dl2L,KAAM,UAAW9pB,IAAK8/M,EAAWr7M,QAASA,EAAS0vL,uBAAwBA,EAAwBurB,4BAAkD,IAAtBM,EAAyBH,WAAYA,EAAYpiC,SAAU5B,GAAgBvgI,GAAcn5C,EAAS0B,KAAI,EAAGyG,QAAOxG,MAAK++M,cAAc,CAAC,EAAGljN,YAAYhH,IAAW,gBAAoB8lN,EAAK1vM,OAAOC,OAAO,CAAEovM,YAAyB,oBAAZ35M,EAA+BX,IAAKA,EAAK9D,IAAMkjE,IAC9dA,IACAzvB,EAAQ3xC,QAAQnJ,GAASuqE,EAC7B,EACD/0D,WAAY8uK,IAAgBtkL,EAAOygD,SAAUA,EAAUzgD,MAAOA,EAAO2R,MAAOA,EAAO3K,SAAUA,EAAUuD,QAASujL,EAAcvjJ,aAAcy7K,EAAkBttJ,aAAcutJ,EAAkBzqB,uBAAwBA,IAA0B,OAAe0uB,QACtQhD,GAAe,gBAAoBP,EAAoB,CAAEC,gBAAiB,UAAW5/M,SAAUihN,EAAsB19M,QAASw/M,EAA2B,aAA4B,QAAdpnC,EAC7J,yBACA,sBAAsC,QAAdA,EAAuB,gBAAoB2jC,EAAmB,CAAEx6M,QAAS,QAASolB,YAAY,IAAY,gBAAoBq1L,EAAoB,CAAEz6M,QAAS,QAASolB,YAAY,MACxN1nB,EAAS0B,KAAI,CAACs6M,EAAKxlN,IAAW,gBAAoB6mN,EAAgB,CAAE,cAAerB,EAAIx+M,SAAUoqB,SAAUo0L,EAAIx+M,cAAW1J,EAAY,EAAG6zB,KAAM,WAAY9B,OAAQm2L,EAAIx+M,UAAYhH,IAAUskL,EAAan5K,IAAKq6M,EAAIr6M,IAAKqiB,GAAI,GAAGizB,aAAoBzgD,IAAS,kBAAmB,GAAGygD,SAAgBzgD,KAAWwlN,EAAInqN,WAAY,C,8GGnPrU,MAAMuoN,EAAkB,KAAOltM,KAAK23B,WAAW,CAAEzc,YAAa,kBAAmB0c,YAAa,aAAe,aAAa,EAAG3tB,QAAOvY,gBAAiBA,EAC/IuY,EAAMm8J,MAAM1wK,KAAK,KAAKqL,SACtBkJ,EAAMm8J,MAAM50K,MAAM,KAAKuP,kBAAmB1Q,GAAU,eAAeA,EAAM4Z,MAAMhV,KAAK6zC,mJAAmJ,EAAG7+B,WAAYisB,SAASjsB,EAAMhV,KAAKiiL,WAAa,0BAA0B,EAAGjtK,WAAYA,EAAMguB,OAAO6T,WAAW1sC,eAAe,EAAG6K,WAAYA,EAAMhV,KAAK4B,oDAAoD,EAAGtD,gBAAgC,aAAfA,EACzc,IAAI;yBACe,EAAG0W,WAAYA,EAAMguB,OAAO6T,WAAWuoJ;MAE1D,IAAI;yBACe,EAAGpqL,WAAYA,EAAMguB,OAAO6T,WAAW1sC;SACvD,EAAGiuM,WAAUpjM,WAAYojM,GAC9B,IAAI;gBACQpjM,EAAMm8J,MAAM50K,MAAM,KAAKuP;YAC3B,EAAGkJ,WAAYA,EAAMguB,OAAOtzC,QAAQ0vM;MAE1Cof,EAAiB,KAAOC,SAAS/7K,WAAW,CAAEzc,YAAa,iBAAkB0c,YAAa,cAAgB,yCAAyC,EAAG3tB,WAAY,QAAQA,EAAMhV,KAAK6zC,mBAAmB7+B,EAAMm8J,MAAM1wK,KAAK,KAAKm2M,uDAAuD,eAAuB,EAAGt4M,gBAAiC,aAAfA,EAA4B,cAAgB,cAAe,EAAG0W,WAAYA,EAAMhV,KAAK6zC,aAAa,EAAG7+B,WAAYA,EAAMhV,KAAK6zC,aAAa,EAAG7+B,WAAYA,EAAMhV,KAAK4B,mDAAmD,EAAGoT,WAAYA,EAAMm8J,MAAM1wK,KAAK,KAAKqL,wBAAwB,EAAGkJ,WAAYA,EAAMm8J,MAAM1wK,KAAK,KAAKm2M,sGAAsG,EAAG5hM,WAAYA,EAAMguB,OAAOtzC,QAAQiP,cACnwBgyK,EAAc,KAAOp0K,MAAMmmC,WAAW,CAAEzc,YAAa,cAAe0c,YAAa,aAAe,8CAChG+7K,EAAmB,KAAOvjN,IAAIunC,WAAW,CAAEzc,YAAa,mBAAoB0c,YAAa,aAAe,0DAA0D,EAAG3tB,WAAYA,EAAMhV,KAAK4B,0BAA0B,EAAGoT,WAAYA,EAAMhV,KAAK6zC,mBAAmB,yBAAkC,EAAG7+B,WAAYA,EAAMhV,KAAKsjC,OAAOG,SAAS,sBAAmC,EAAGzuB,WAAYA,EAAMhV,KAAKqmB,0CAA0C,EAAGrR,WAAYA,EAAMhV,KAAKklB,YAAY,EAAG5mB,gBAAgC,aAAfA,GACne,aAAfA,GACA,IAAI;oBACY25M;aACP,EAAGjjM,WAAYA,EAAMguB,OAAOtzC,QAAQ0vM;iBAChC,EAAGpqL,WAAYA,EAAMm8J,MAAM50K,MAAM,KAAKuP;;OAEhD,EAAGxN,gBAAgC,aAAfA,GACvB,IAAI;uBACe,EAAG0W,WAAYA,EAAMguB,OAAO6T,WAAWuoJ;OACvD,EAAG9gM,iBAAiC,YAAfA,GACT,UAAfA,GACe,gBAAfA,IACA,IAAI;uBACe,EAAG0W,WAAYA,EAAMhV,KAAKsjC,OAAOC;MAClD;OACC,EAAGjlC,iBAAiC,YAAfA,GAA2C,eAAfA,IACpD,IAAI;;qBAEa,EAAG0W,WAAYisB,SAASjsB,EAAMhV,KAAKiiL,WAAa;;;;wBAI7C,EAAGjtK,WAAYA,EAAMhV,KAAKsjC,OAAOG;OAClD,EAAGzuB,WAAYA,EAAMguB,OAAOM,OAAOH;;;wBAGlB,EAAGnuB,WAAYA,EAAMhV,KAAKsjC,OAAOC;OAClD,EAAGvuB,WAAYA,EAAMguB,OAAOi9J,MAAM2C;;MAGnC+b,EAAuB,KAAOxjN,IAAIunC,WAAW,CAAEzc,YAAa,uBAAwB0c,YAAa,aAAe,4FAA4F,EAAG3tB,WAAYA,EAAMhV,KAAKqmB,yBAAyB,EAAGrR,WAAYA,EAAMhV,KAAKiiL,8BAA8B,QAChTpmJ,EAAYzgC,IACrB,MAAMm9M,EAAW,eACX,MAAEh8M,EAAK,WAAE+B,EAAa,UAAS,KAAE1M,EAAI,OAAEk3B,EAAM,SAAE5pB,EAAQ,QAAE6pB,EAAO,MAAE3sB,EAAK,aAAEI,EAAY,YAAEwzE,EAAW,KAAEp0C,EAAO,EAAC,UAAErB,EAAS,UAAEv1B,EAAS,SAAE3F,EAAQ,WAAE5C,EAAU,QAAEjK,EAAO,UAAEosN,EAAS,oBAAEC,EAAsB75M,EAAS,SAAE85M,GAAc1jN,EAC7N47C,GAAc,OAAe57C,IAC5B2jN,EAAgBC,GAAqB,YAAgB5iN,aAAqC,EAASA,EAAM7E,UAAYiF,aAAmD,EAASA,EAAajF,SAAW,IACzM6gN,EAAUK,GAAe,YAAe,IACxCC,EAAaC,GAAkB,WAAe,IAC9CrU,EAAWsU,GAAgB,YAAe,GACjD,aAAgB,KACZoG,GAAmB5iN,aAAqC,EAASA,EAAM7E,SAAW,EAAE,GACrF,CAAC6E,IACJ,aAAgB,KACZ,IAAI9N,EACJqqN,GAA4C,QAA3BrqN,EAAKiqN,EAAS/6M,eAA4B,IAAPlP,OAAgB,EAASA,EAAG85C,eAAiB,EAAE,GACpG,CAACmwK,IACJ,MAAMthC,EAAe,eAAkB,KAAQ,IAAI3oL,EAAI,OAAOqqN,GAA4C,QAA3BrqN,EAAKiqN,EAAS/6M,eAA4B,IAAPlP,OAAgB,EAASA,EAAG85C,eAAiB,EAAE,GAAK,CAACuwK,EAAgBJ,IACvL,aAAgB,KACZ1oN,OAAOoO,iBAAiB,SAAUg5K,GAC3B,IAAMpnL,OAAOqO,oBAAoB,SAAU+4K,KACnD,CAACA,IACJ,MAAM56K,EAAe,eAAmB8C,IACpC,MAAM8/M,EAAqB9/M,EAAMsR,cAAcrU,MAAM7E,OACrDynN,EAAkBC,GAClBxG,EAAYwG,EAAqB,GAC7B//M,GACAA,EAASC,EACb,GACD,CAACD,IAOEggN,EAA4B5gN,GAAe,CAAC,QAAS,UAAW,eAAetO,SAASsO,GAKxF6gN,EAA6B,UAAf7gN,EACdq7M,EAAkBuF,EAAyB5gN,GAC3C,GAAGA,YAAqBwgN,SACxBntN,EACN,OAAQ,gBAAoBg/K,EAAalmK,OAAOC,OAAO,CAAEpM,WAAYA,GAAc04C,GAC/E,gBAAoB0nK,EAAkB,CAAEpgN,WAAYA,EAAY85M,SAAUA,GACtE77M,GAAU,gBAAoB07M,EAAiB,CAAE,eAAe,EAAM35M,WAAYA,EAAY5C,IAAK68M,EAAU97M,WAAYA,EAAY27M,SAAUA,EAAUM,YAAaA,GAClKn8M,EACA8C,GAAY,KAChB,gBAAoBm/M,EAAgB,CAAEhM,SAAyB,aAAfl0M,EAA2BjD,SAAyB,aAAfiD,EAA2B,mBAAoBq7M,EAAiB,eAAgBwF,EAAavjL,KAAMtJ,KAAK/rB,IAAI,EAAGq1B,GAAOt9B,WAAYA,EAAYi8B,UAAWA,EAAWv1B,UAAWA,EAAWpT,KAAMA,EAAMsN,SAAU7C,EAAcysB,OAAQA,EAAQC,QApBtT5pB,IACjBy5M,GAAa,GACT7vL,GACAA,EAAQ5pB,EACZ,EAgB6V6wE,YAAaA,EAAa5zE,MAAOA,EAAOI,aAAcA,EAAc6C,SAAUA,EAAU,gBAAiBA,EAAU+4M,SAAU2G,EAAiB,EAAGH,UAAWA,EAAWlG,YAAaA,KACjhB,gBAAoBiG,EAAsB,CAAErgN,WAAYA,GACpD9L,GAAW0sN,EAAyB5gN,IAAgB,gBAAoB,IAAmB,CAAEA,WAAYA,EAAY3K,KAAMnB,EAAS8xM,UAAWA,EAAWJ,UAAU,EAAMC,YAAa,YACvL0a,GAAwB,gBAAoB,IAAkB,CAAEziN,MAAO2iN,EAAgB73J,MAAO23J,KAA0B,C,6DCvGzHO,EAAY,aAAiB30M,OAAOC,QAAO,SAAUtP,EAAOkqB,GAEnE,MAAgB,aADFlqB,EAAM+E,SAAW,WAEpB,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,sbAElC,IACX,GAAG,CAAEI,YAAa,eCRPo5L,EAAY,aAAiB50M,OAAOC,QAAO,SAAUtP,EAAOkqB,GAEnE,MAAgB,aADFlqB,EAAM+E,SAAW,WAEpB,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,8wBAElC,IACX,GAAG,CAAEI,YAAa,eCRPq5L,EAAc,aAAiB70M,OAAOC,QAAO,SAAUtP,EAAOkqB,GACrE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,UAAZA,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,6NACjC,gBAAoB,OAAQ,CAAEA,EAAG,yHAEzB,UAAZ1lB,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,oLACjC,gBAAoB,OAAQ,CAAEA,EAAG,mJAEzB,YAAZ1lB,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,gPACjC,gBAAoB,OAAQ,CAAEA,EAAG,4HAElC,IACX,GAAG,CAAEI,YAAa,iB,qECblB,MAAMs5L,EAAyB,QAIzBC,EAAoB,OACpBpuC,EAAc,KAAOx4J,MAAM8pB,WAAW,CAAEzc,YAAa,cAAe0c,YAAa,YAAc,sBAAsB,EAAG3tB,WAAYisB,SAASjsB,EAAMhV,KAAKiiL,WAAa,8BAA8B,EAAGhiL,OAAMm4M,WAAUpoI,cAAah7D,WAAY/U,IAASm4M,GAAYpoI,EAAch7D,EAAMhV,KAAKsQ,UAAY,0BAA2BmvM,GAAmBA,EAAiBD,EAAoB,8DAA8D,EAAGlhN,gBAAiC,aAAfA,EAA4B,cAAgB,YAAa,uDAA+D,EAAG0W,WAAYA,EAAMm8J,MAAM1wK,KAAK,KAAKqL,2CAA4C1Q,GAK9pBA,EAAMg9M,SAAW,OAAS,WAAWmH,kDAAuE,EAAGvqM,WAAYA,EAAMguB,OAAOtzC,QAAQiP,iDAAiD,EAAGqW,WAAYA,EAAMguB,OAAOtzC,QAAQiP,uRAC/NgyK,EAAc,KAAOp0K,MAAMmmC,WAAW,CAAEzc,YAAa,cAAe0c,YAAa,cAAgB,0GAA0G,EAAG3tB,WAAYA,EAAMhV,KAAKqmB,uBAAuB,EAAGrR,WAAYA,EAAMhV,KAAK6zC,qCAAqC,yBAAkC,EAAGv1C,aAAY0W,WAA2B,aAAf1W,GAA6B0W,EAAMguB,OAAO6T,WAAWuoJ,6BAA6B,EAAGpqL,WAAYA,EAAMhV,KAAKsjC,OAAOG,SAAS,sBAAmC,EAAGzuB,WAAYA,EAAMhV,KAAKqmB,aAAa,EAAG/nB,iBAAiC,YAAfA,GACtkB,UAAfA,GACe,gBAAfA,IACA,IAAI;uBACe,EAAG0W,WAAYA,EAAMhV,KAAKsjC,OAAOC;MAClD;OACC,EAAGjlC,iBAAiC,YAAfA,GAA2C,eAAfA,IACpD,IAAI;;;;wBAIgB,EAAG0W,WAAYA,EAAMhV,KAAKsjC,OAAOG;OAClD,EAAGzuB,WAAYA,EAAMguB,OAAOM,OAAOH;;;wBAGlB,EAAGnuB,WAAYA,EAAMhV,KAAKsjC,OAAOC;OAClD,EAAGvuB,WAAYA,EAAMguB,OAAOi9J,MAAM2C;;OAElC,EAAG8c,UAAS1qM,QAAOqjM,sBAAuBA,GAC7C,IAAI;KACHsH;4BACuBD,EAAU1qM,EAAMhV,KAAKsQ,UAAY;uCACtBivM;;oBAEnBI;;uCAEmBJ;OAChCA;;OAEA,EAAGjhN,aAAY+5M,kBAAiBrjM,WAA2B,aAAf1W,GAC/C+5M,GACA,IAAI;;oBAEYsH;kBACF3qM,EAAMhV,KAAK6zC;6BACA0rK;OACtBA;;;KAGFI;6BACwBJ;;OAEtB,EAAGK,aAAYthN,aAAY0W,WAAY4qM,GAC3B,gBAAfthN,GACA,IAAI;oBACY0W,EAAMhV,KAAKsQ;OACxB,EAAGsvM,aAAYthN,aAAY0W,WAAY4qM,IAC1B,YAAfthN,GAA2C,UAAfA,IAC7B,IAAI;;qBAEa0W,EAAMhV,KAAKsQ;;OAEzB,EAAG8nM,WAAUpjM,WAAYojM,GAC5B,IAAI;KACHuH;kBACa3qM,EAAMhV,KAAK6zC;;MASvB8rK,EAAuB,KAAOx1L,EAAEuY,WAAW,CAAEzc,YAAa,uBAAwB0c,YAAa,cAAgB,aAAa,EAAG3tB,WAAYA,EAAMm8J,MAAM50K,MAAM,KAAKuP,0CAA0C,EAAG+zM,cAAgBA,EAAW,SAAW,wBAAyB,EAAGA,WAAU7qM,WAAa6qM,EAAW,IAAM7qM,EAAMhV,KAAK6zC,qDACpUisK,EAA0B,KAAO31L,EAAEuY,WAAW,CAAEzc,YAAa,0BAA2B0c,YAAa,aAAe,+DAA+D,EAAGy1K,WAAUsH,UAAS1qM,QAAOyqM,oBAE9MrH,EACO,IAAI;;;iBAGFpjM,EAAMm8J,MAAM50K,MAAM,KAAKuP;;KAK7B,IAAI;;;gBAGCkJ,EAAMm8J,MAAM1wK,KAAK,KAAKqL;cACxBkJ,EAAMhV,KAAKiiL;2BACEy9B,EAAU1qM,EAAMhV,KAAKsQ,UAAY;yBACnCmvM,EAAiBD,EAAoB;OAEzDpuC,8DAAwE,EAAGp8J,WAAYA,EAAMm8J,MAAM50K,MAAM,KAAKuP,wDAAwD,SACrKi0M,EAAa,KAAO5kN,IAAIunC,WAAW,CAAEzc,YAAa,aAAc0c,YAAa,cAAgB,0CAA0C,EAAGy1K,cAAgBA,EAAW,EAAI,gBAAiB,EAAGA,cAAeA,EAC5M,OACA,OAAOmH,sBACTA,OAA4B5uC,6CAAuD4uC,kBACjFZ,EAAuB,KAAOxjN,IAAIunC,WAAW,CAAEzc,YAAa,uBAAwB0c,YAAa,cAAgB,4FAA4F,EAAG3tB,WAAYA,EAAMhV,KAAKqmB,8BAA8B,qFACrQ25L,EAAoB,KAAOz8M,OAAOm/B,WAAW,CAAEzc,YAAa,oBAAqB0c,YAAa,aAAe,2BApGxF,kDAoGqM,EAAG3tB,WAAgC,QAApBA,EAAMgiK,UAC/O,QACA,iFAAiG,EAAG37K,cAAgBA,EAAW,cAAgB,+EAAgF,EAAGA,WAAU2Z,WAAYA,EAAMguB,OAAOz/B,OAAO4G,QAAQ9O,EAAW,WAAa,0CAA0C,EAAG2Z,WAAYA,EAAMguB,OAAOz/B,OAAO4G,QAAQg5B,yBAAyB,EAAGnuB,YAAY,OAAwBA,MACjcirM,EAA2B,KAAO9kN,IAAIunC,WAAW,CAAEzc,YAAa,2BAA4B0c,YAAa,aAAe,mDAAmD,EAAG3tB,WAAYA,EAAMhV,KAAKqmB,qGACrM65L,EAAyB,KAAO/kN,IAAIunC,WAAW,CAAEzc,YAAa,yBAA0B0c,YAAa,cAAgB,qBACrHw9K,EAAiB,KAAOhlN,IAAIunC,WAAW,CAAEzc,YAAa,iBAAkB0c,YAAa,cAAgB,qBAAqB,EAAG3tB,WAAiC,QAApBA,EAAMgiK,UAAsB,WAAa,qBAC5KopC,EAAkBhlN,IAC3B,MAAM,mBAAEilN,EAAkB,WAAE/hN,EAAa,UAAS,UAAEgB,EAAS,eAAEghN,EAAiB,GAAE,SAAExB,EAAQ,aAAEtiN,EAAY,eAAEijN,EAAc,KAAEx/M,EAAI,SAAEvD,EAAQ,qBAAE6jN,EAAoB,MAAEhkN,EAAQ,GAAE,UAAEyI,EAAS,KAAEpT,EAAI,OAAEk3B,EAAM,SAAE5pB,EAAQ,UAAEy7E,EAAS,QAAE6lI,EAAO,QAAEz3L,EAAO,WAAEtsB,EAAU,QAAEjK,EAAU,GAAE,YAAEw9E,EAAW,SAAE3wE,GAAW,EAAK,kCAAEohN,EAAoC,GAAE,KAAEvuN,EAAI,MAAEkK,EAAK,aAAEo8M,EAAY,UAAEoG,EAAS,oBAAEC,EAAmB,IAAEt4M,EAAG,IAAEG,EAAG,KAAEg5B,GAAUtkC,GACvZg9M,EAAUK,GAAe,WAAel0G,QAAQnoG,GAASI,KACzDkkN,EAAkBC,GAAuB,WAAezuN,IACxD6sN,GAAgBC,IAAqB,YAAgB5iN,aAAqC,EAASA,EAAM7E,UAAYiF,aAAmD,EAASA,EAAajF,SAAW,IACzM+sM,GAAWsU,IAAgB,YAAe,GAC3C5hK,IAAc,OAAe57C,GAC7BwlN,GAA2B,aAAT1uN,EAClB2uN,GAAa,gBAAoB,WAAgB,KACnDtkN,EACA8C,GAAY,KACVwsC,GAA4B,aAAfvtC,EACbwiN,GAA4B,aAAfxiN,EAwBb4gN,GAA4B5gN,GAAe,CAAC,QAAS,UAAW,eAAetO,SAASsO,GAKxF6gN,GAA6B,UAAf7gN,EACdq7M,GAAkBuF,GAAyB5gN,GAC3C,GAAGA,aAAsBwgN,SACzBntN,EAKN,OAJA,aAAgB,KACZ,IAAIrD,EACJ0wN,GAAwF,QAArE1wN,EAAK8N,aAAqC,EAASA,EAAM7E,cAA2B,IAAPjJ,EAAgBA,EAAK,EAAE,GACxH,CAAC8N,IACI,gBAAoBu0K,EAAalmK,OAAOC,OAAO,CAAEpM,WAAYA,EAAY+5M,gBAAiB57M,EAAY27M,SAAUA,EAAUwH,WAAYptN,EAASktN,QAASn7G,QAAQtkG,IAAS+2C,IAC7K/2C,GAAQ,gBAAoB8/M,EAAY,CAAE3H,SAAUA,GAAYn4M,GAChE,gBAAoB0/M,EAAsB,CAAEE,SAAUpjN,GAAcokN,IACpE,gBAAoBX,EAAwB,KACxC,gBAAoB9uC,EAAa,CAAE9yK,WAAYA,EAAYgB,UAAWA,EAAW9C,aAAcA,EAAc,gBAAiB6C,EAAUA,SAAUA,EAAUhE,SAAUwwC,GAAY5rC,KAAMA,EAAM+E,UAAWA,EAAWpT,KAAMA,EAAMk3B,OArCpN3pB,IAHO,CAACA,IACxBs5M,EAAYl0G,QAAQplG,EAAMsR,cAAcrU,OAAO,EAG/C2kN,CAAmB5hN,GACnBy5M,IAAa,GACT9vL,GACAA,EAAO3pB,EACX,EAgCwPD,SA9BtOC,IAElBs5M,EAAYl0G,QAAQplG,EAAMzB,OAAOtB,QAC7B8C,GACAA,EAASC,EACb,EAyBgR4pB,QAvB/P5pB,IACjBy5M,IAAa,GACT7vL,GACAA,EAAQ5pB,EACZ,EAmBsSw7E,UAAWA,EAAW3K,YAAaA,EAAawiI,SAAUsO,GAAY,gBAAiBA,GAAY,mBAAoBnH,GAAiB,eAAgBwF,GAAazjN,IAAKgB,EAAUxK,KAAMwuN,EAAkBtkN,MAAOA,EAAOo8M,aAAcA,EAAcJ,SAAUA,EAAUqH,eAAgBA,EAAgBb,UAAWA,EAAWr4M,IAAKA,EAAKG,IAAKA,EAAKg5B,KAAMA,IAC5nBkhL,IAAwC,aAArBF,GAAoC,gBAAoBT,EAA0B,KACjG,gBAAoBD,EAAmB,CAAE,aAAcS,EAAmCz6M,MAAOy6M,EAAmC7hN,QAAS,IAAM+hN,EAAoB,QAASzuN,KAAM,SAAUmJ,SAAyB,aAAfiD,GACtM,gBAAoB8gN,EAAW,CAAE75L,YAAY,MACrDq7L,IAAwC,SAArBF,GAAgC,gBAAoBT,EAA0B,KAC7F,gBAAoBD,EAAmB,CAAE,aAAcS,EAAmCz6M,MAAOy6M,EAAmC7hN,QAAS,IAAM+hN,EAAoB,YAAazuN,KAAM,SAAUmJ,SAAyB,aAAfiD,GAC1M,gBAAoB+gN,EAAW,SACtCuB,IAAmBnB,GAAkBc,GAAyB,gBAAoBN,EAA0B,KACzG,gBAAoBD,EAAmB,CAAE,aAAcM,EAAgBt6M,MAAOs6M,EAAgB1hN,QAAS4hN,EAAStuN,KAAM,SAAUmJ,SAAyB,aAAfiD,GACtI,gBAAoBghN,EAAa,CAAEn/M,QAAS,UAAWolB,YAAY,MAC3E9oB,GAAe,gBAAoBqjN,EAAyB,CAAEJ,QAASn7G,QAAQtkG,GAAOm4M,SAAUA,EAAUqH,eAAgBA,GAAkBoB,IAC7H,eAAfviN,GAAgC,gBAAoB6hN,EAAgB,KAChE,gBAAoB,IAAS,QACrC,gBAAoBxB,EAAsB,KACtCO,GAAyB5gN,IAAgB,gBAAoB,IAAmB,CAAEA,WAAYA,EAAYujB,GAAI83L,GAAiBhmN,KAAMnB,EAAS8xM,UAAWA,GAAWJ,SAAyB,gBAAf5lM,EAA8B6lM,YAAa,aACxN0a,QAAiEA,EAAuB75M,GAAaA,EAAY,GAAO,gBAAoB,IAAkB,CAAE5I,MAAO2iN,GAAgB73J,MAAO23J,GAAuB75M,GAAa,IAAQ,MAC/Oq7M,EAAoB,EAEfllM,EAAY,cAAiB,CAAC/f,EAAOM,IAAQ,gBAAoB0kN,EAAgB31M,OAAOC,OAAO,CAAC,EAAGtP,EAAO,CAAEsB,SAAUhB,M,iGCpLxHslN,EAmBAx7M,EAQA9G,EASA0nJ,E,4DAnCX,SAAW46D,GACPA,EAAc,KAAI,OAClBA,EAAa,IAAI,MACjBA,EAAW,EAAI,IACfA,EAAY,GAAI,KAChBA,EAAY,GAAI,KAChBA,EAAY,GAAI,KAChBA,EAAY,GAAI,KAChBA,EAAY,GAAI,KAChBA,EAAa,IAAI,MACjBA,EAAa,IAAI,MACjBA,EAAgB,OAAI,SACpBA,EAAa,IAAI,MACjBA,EAAgB,OAAI,SACpBA,EAAY,GAAI,KAChBA,EAAY,GAAI,KAChBA,EAAY,GAAI,IACnB,CAjBD,CAiBGA,IAAYA,EAAU,CAAC,IAE1B,SAAWx7M,GACPA,EAAsB,OAAI,SAC1BA,EAAoB,KAAI,OACxBA,EAAqB,MAAI,QACzBA,EAAqB,MAAI,QACzBA,EAAmB,IAAI,KAC1B,CAND,CAMGA,IAAkBA,EAAgB,CAAC,IAEtC,SAAW9G,GACPA,EAAwB,QAAI,UAC5BA,EAA0B,UAAI,YAC9BA,EAAwB,QAAI,UAC5BA,EAAyB,SAAI,WAC7BA,EAAyB,SAAI,WAC7BA,EAAuB,OAAI,QAC9B,CAPD,CAOGA,IAAmBA,EAAiB,CAAC,IAExC,SAAW0nJ,GACPA,EAAmB,OAAI,SACvBA,EAAmB,OAAI,SACvBA,EAAgB,IAAI,MACpBA,EAAoB,QAAI,WACxBA,EAAoB,QAAI,WACxBA,EAAoB,QAAI,UACxBA,EAAoB,QAAI,SAC3B,CARD,CAQGA,IAAeA,EAAa,CAAC,IA8ChC,MAAM66D,EAAsB,KAAOl2M,KAAK23B,WAAW,CAAEzc,YAAa,sBAAuB0c,YAAa,aAAe,YAAavnC,IAAWA,EAAM46D,KAAO56D,EAAM8lN,MAAQ,2BAA4B9lN,GAC5LA,EAAM8lN,IACC,QAEP9lN,EAAM46D,IACC,MAEJ,MACN,EAAGwiE,eAAgBA,GACpB,IAAI;;OAED,EAAGA,YAAW2oF,aAAc3oF,QACZ,IAAZ2oF,GACP,IAAI;;OAED,EAAGA,aAAcA,GACpB,IAAI;cACMA;uCA9DiB/lN,IAC3B,MAAM,MAAE4Z,EAAK,UAAEqhM,GAAcj7M,EACvBgmN,EAAYpsM,EAAMguB,OAAOtzC,QACzB2xN,EAAY,CACd,CAAC3iN,EAAe4lC,SAAU,UAC1B,CAAC5lC,EAAeyL,SAAUi3M,EAAUj3M,QACpC,CAACzL,EAAeC,WAAYyiN,EAAUziN,UACtC,CAACD,EAAe0gM,UAAWgiB,EAAUhiB,SACrC,CAAC1gM,EAAewkC,UAAWk+K,EAAUl+K,SACrC,CAACxkC,EAAekkC,QAASw+K,EAAUx+K,QAKvC,MAAO,gBAHOyzK,EACRgL,EAAUhL,GACVgL,EAAU3iN,EAAeyL,eAGjC,KAEF,SAA+B/O,GAC3B,IAAI9M,EACJ,MAAM,KAAEwT,EAAI,WAAEsH,EAAU,IAAE4sD,EAAG,IAAEkrJ,EAAG,WAAE5iN,EAAa,UAAS,MAAE0W,GAAU5Z,GAC/D,CAAEk7M,EAASC,GAAej4M,EAAWmG,MAAM,2BAC5C68M,EAAiBtsM,EAAMm8J,MAAMmlC,GAASr1K,SAASs1K,EAAa,KAClE,IAAK+K,EAED,OADA,IAAA7K,GAAc,sBAAsBn4M,wBAC7B,GAEX,MAAMijN,EAAaz/M,EAAO,OAA+C,QAApCxT,EAAKgzN,EAAeC,kBAA+B,IAAPjzN,EAAgBA,EAAK,UAChG,WAAEooN,EAAU,SAAE5qM,EAAQ,cAAE6qM,EAAa,WAAEC,EAAU,gBAAE4K,GAAoBp4M,EAAaqB,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAG42M,GAAiBA,EAAeG,QAAUH,EAEpK,MAAO,2CAEO5K,aAA+C,EAASA,EAAWhlN,WAAW,YAAc,0BAA4B,gDACzH6vN,sBACFvrJ,GAAOkrJ,EAAMM,EAAkB11M,wBAC7BkqD,GAAOkrJ,EAAM,IAAMtK,2BAChBD,QAEpB,KACA,SAA6Cv7M,GACzC,OAAKA,EAAMmK,WAGJ,QAA2BnK,EAAMmK,WAAYA,GAAc,eAAeA,OAFtE,EAGf,KAmBgI,EAAGm8M,oBAC/H,QAA6B,IAAlBA,EAGX,MAAO,oBAAoBA,EAAgB,eAAiB,YAAY,iBAC1DtmN,GAAUA,EAAMyQ,cAClCo1M,EAAoBh7L,YAAc,sBAC3B,MAAM07L,EAAc,gBAAoB,CAAC,GAOnCtjN,EAAO,QAAYjD,IAC5B,MAAMqyB,EAAU,aAAiBk0L,IAC3B,WAAErjN,EAAU,KAAEwD,EAAO2rB,EAAQ3rB,KAAI,SAAEjE,EAAQ,UAAE8G,EAAS,GAAEkd,EAAE,MAAEpjB,EAAQgvB,EAAQ4oL,UAAS,WAAEjtM,EAAaqkB,EAAQrkB,WAAU,cAAEs4M,EAAa,IAAE1rJ,EAAG,IAAEkrJ,EAAG,IAAEphN,EAAOk2D,GAAOgrJ,EAAQhrJ,KACxKkrJ,GAAOF,EAAQE,KACfzzL,EAAQ6jJ,gBAAkB0vC,EAAQj2M,MACnCi2M,EAAQ7lN,IAAG,UAAEoK,EAAS,UAAEizH,EAAS,WAAE3sH,EAAU,QAAEs1M,GAAa/lN,EAC1D47C,GAAc,OAAe57C,GAC7Bk2K,EAAiBhzK,GAAcmvB,EAAQ6jJ,gBAAkB,KAAoB9yK,QAC7EojN,EAAoB,WAAc,KAAM,CAC1CtwC,iBACAxvK,OACAu0M,UAAW53M,EACX2K,gBACA,CAACkoK,EAAgBxvK,EAAMrD,EAAO2K,IAClC,OAAQ,gBAAoB63M,EAAqBx2M,OAAOC,OAAO,CAAEgd,GAAI5nB,EAAKxB,WAAYgzK,EAAgBxvK,KAAMA,EAAMu0M,UAAW53M,EAAO2K,WAAYA,EAAYs4M,cAAeA,EAAe1rJ,IAAKA,EAAKkrJ,IAAKA,EAAK37M,UAAWA,EAAWizH,UAAWA,EAAW3sH,WAAYA,EAAYs1M,QAASA,EAASx8M,UAAWA,EAAWkd,GAAIA,GAAMm1B,GAChU,gBAAoB2qK,EAAY92K,SAAU,CAAEzuC,MAAOwlN,GAAqB/jN,GAAW,IAE3FQ,EAAK4nB,YAAc,M,6BCnJZ,SAAS47L,EAAiBtzN,EAAM0pC,GACnC,IAAK1pC,GAAqC,IAA7Bkc,OAAOghB,KAAKl9B,GAAMgJ,OAC3B,MAAM,IAAIjF,MAAM,gBAUpB,MAAO,KARM,IACL2lC,EAAS,CAACA,GAAU,MACJ,iBAAT1pC,EACL,CAACA,GACDkc,OAAOghB,KAAKl9B,GACT0vB,OACA4nB,QAAO,CAACC,EAAKtmC,IAAQ,IAAIsmC,EAAKtmC,EAAKjR,EAAKiR,KAAO,KAGvDiwB,KAAK,KACLp3B,cACA9E,QAAQ,eAAgB,MACjC,C,8CChBO,IAAIuuN,EAuEAC,E,iBAtEX,SAAWD,GACPA,EAA6B,QAAI,UACjCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAA+B,UAAI,YACnCA,EAAgC,WAAI,aACpCA,EAAgC,WAAI,aACpCA,EAAgC,WAAI,aACpCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAA6B,QAAI,UACjCA,EAAiC,YAAI,cACrCA,EAAiC,YAAI,cACrCA,EAAiC,YAAI,cACrCA,EAAiC,YAAI,cACrCA,EAAiC,YAAI,cACrCA,EAAiC,YAAI,cACrCA,EAAiC,YAAI,cACrCA,EAAiC,YAAI,cACrCA,EAAiC,YAAI,cACrCA,EAAiC,YAAI,cACrCA,EAAiC,YAAI,cACrCA,EAAiC,YAAI,cACrCA,EAAiC,YAAI,cACrCA,EAAiC,YAAI,cACrCA,EAA8B,SAAI,UACrC,CArED,CAqEGA,IAAwBA,EAAsB,CAAC,IAElD,SAAWC,GACPA,EAA+B,SAAI,WACnCA,EAA+B,SAAI,WACnCA,EAA+B,SAAI,WACnCA,EAA+B,SAAI,WACnCA,EAA+B,SAAI,WACnCA,EAA+B,SAAI,WACnCA,EAA+B,SAAI,WACnCA,EAA+B,SAAI,WACnCA,EAA+B,SAAI,WACnCA,EAA+B,SAAI,WACnCA,EAA+B,SAAI,WACnCA,EAA+B,SAAI,UACtC,CAbD,CAaGA,IAAyBA,EAAuB,CAAC,G,6DCpFpD,SAASC,EAAsBh5J,GACvB,CAQR,CACO,SAASi5J,EAAcj5J,GAK1B,OAJAg5J,IAIU1vL,KAAKiwB,MAAO,IAhBZ,GAgB2ByG,EAAQ,KAAO,IAA7C,IACX,CACO,SAASk5J,EAA6B/yM,EAAS+mC,GAKlD,OAJA8rK,IAIU1vL,KAAKiwB,MAAOrM,EAvBZ,GAuBkC/mC,EAAU,KAAO,IAAtD,IACX,C,cChBA,MAAMi2L,EAAQ,CACVlgL,QAAS,IACT+8J,UAAW,MACX57J,UAAW,MACXzkB,UAAW,OACXiyC,UAAW,OACX7xC,UAAW,OACXH,UAAW,OACXsgN,UAAW,OACX7xM,UAAW,OACX1D,UAAW,OACXnH,UAAW,OACXqxM,UAAW,OACXznM,UAAW,OACXqkE,UAAW,OACX+lI,UAAW,OACXiB,UAAW,OACXvmK,UAAW,OACXiuK,UAAW,OACXC,UAAW,OACXC,UAAW,OACXpJ,UAAW,OACXqJ,UAAW,QACXC,UAAW,QACXC,UAAW,QACXC,UAAW,QACXC,WAAY,QACZC,WAAY,QACZC,WAAY,QACZxhN,QAAS,CACL,CAAE60C,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,IAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,EAAG,KAAYxoM,SAG3DtY,QAAS,CACL,CAAE80C,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,IAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,EAAG,KAAYxoM,SAG3DopM,QAAS,CACL,CAAE5sK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,IAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,EAAG,KAAYxoM,SAG3DqpM,QAAS,CACL,CAAE7sK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,IAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,EAAG,KAAYxoM,SAG3DspM,QAAS,CACL,CAAE9sK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,IAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,EAAG,KAAYxoM,SAG3DupM,QAAS,CACL,CAAE/sK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,IAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,EAAG,KAAYxoM,SAG3DwpM,QAAS,CACL,CAAEhtK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,IAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,EAAG,KAAYxoM,SAG3DypM,QAAS,CACL,CAAEjtK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,IAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,EAAG,KAAYxoM,SAG3D0pM,QAAS,CACL,CAAEltK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,IAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,EAAG,KAAYxoM,SAG3D2pM,QAAS,CACL,CAAEntK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,KAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,GAAI,KAAYxoM,SAG5D4pM,QAAS,CACL,CAAEptK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,KAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,GAAI,KAAYxoM,SAG5D6pM,QAAS,CACL,CAAErtK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,KAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,GAAI,KAAYxoM,SAG5D8pM,QAAS,CACL,CAAEttK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,KAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,GAAI,KAAYxoM,SAG5D+pM,QAAS,CACL,CAAEvtK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,KAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,GAAI,KAAYxoM,SAG5DgqM,QAAS,CACL,CAAExtK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,KAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,GAAI,KAAYxoM,SAG5DiqM,QAAS,CACL,CAAEztK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,KAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,GAAI,KAAYxoM,SAG5DkqM,QAAS,CACL,CAAE1tK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,KAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,GAAI,KAAYxoM,SAG5DmqM,QAAS,CACL,CAAE3tK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,KAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,GAAI,KAAYxoM,SAG5DoqM,QAAS,CACL,CAAE5tK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,KAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,GAAI,KAAYxoM,SAG5DqqM,QAAS,CACL,CAAE7tK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,KAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,GAAI,KAAYxoM,SAG5DsqM,QAAS,CACL,CAAE9tK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,KAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,GAAI,KAAYxoM,SAG5DuqM,QAAS,CACL,CAAE/tK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,KAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,GAAI,KAAYxoM,SAG5DwqM,QAAS,CACL,CAAEhuK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,KAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,GAAI,KAAYxoM,SAG5DyqM,QAAS,CACL,CAAEjuK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO6lN,EAAc,KAC7D,CACI/rK,WAAY,GAAG,KAAYx8B,UAC3Btd,MAAO8lN,EAA6B,GAAI,KAAYxoM,SAG5D4sB,YAAa,CACT,CAAE4P,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO,OAC/C,CAAE85C,WAAY,GAAG,KAAYzvC,SAAUrK,MAAO,OAC9C,CAAE85C,WAAY,GAAG,KAAYjpC,UAAW7Q,MAAO,QAEnDgoN,YAAa,CACT,CAAEluK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO,QAC/C,CAAE85C,WAAY,GAAG,KAAYzvC,SAAUrK,MAAO,QAC9C,CAAE85C,WAAY,GAAG,KAAYjpC,UAAW7Q,MAAO,QAC/C,CAAE85C,WAAY,GAAG,KAAYx8B,UAAWtd,MAAO,SAEnDud,YAAa,CACT,CAAEu8B,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO,QAC/C,CAAE85C,WAAY,GAAG,KAAYzvC,SAAUrK,MAAO,QAC9C,CAAE85C,WAAY,GAAG,KAAYjpC,UAAW7Q,MAAO,SAEnDuJ,YAAa,CACT,CAAEuwC,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO,QAC/C,CAAE85C,WAAY,GAAG,KAAYzvC,SAAUrK,MAAO,QAC9C,CAAE85C,WAAY,GAAG,KAAYjpC,UAAW7Q,MAAO,SAEnDioN,YAAa,CACT,CAAEnuK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO,QAC/C,CAAE85C,WAAY,GAAG,KAAYzvC,SAAUrK,MAAO,QAC9C,CAAE85C,WAAY,GAAG,KAAYjpC,UAAW7Q,MAAO,SAEnDo5F,YAAa,CACT,CAAEt/C,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO,QAC/C,CAAE85C,WAAY,GAAG,KAAYzvC,SAAUrK,MAAO,QAC9C,CAAE85C,WAAY,GAAG,KAAYjpC,UAAW7Q,MAAO,SAEnDkoN,YAAa,CACT,CAAEpuK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO,QAC/C,CAAE85C,WAAY,GAAG,KAAYzvC,SAAUrK,MAAO,QAC9C,CAAE85C,WAAY,GAAG,KAAYjpC,UAAW7Q,MAAO,SAEnD+/H,YAAa,CACT,CAAEjmF,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO,QAC/C,CAAE85C,WAAY,GAAG,KAAYzvC,SAAUrK,MAAO,QAC9C,CAAE85C,WAAY,GAAG,KAAYjpC,UAAW7Q,MAAO,SAEnDq/K,YAAa,CACT,CAAEvlI,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO,QAC/C,CAAE85C,WAAY,GAAG,KAAYzvC,SAAUrK,MAAO,QAC9C,CAAE85C,WAAY,GAAG,KAAYjpC,UAAW7Q,MAAO,SAEnDm3C,YAAa,CACT,CAAE2C,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO,QAC/C,CAAE85C,WAAY,GAAG,KAAYzvC,SAAUrK,MAAO,QAC9C,CAAE85C,WAAY,GAAG,KAAYjpC,UAAW7Q,MAAO,SAEnDmoN,YAAa,CACT,CAAEruK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO,QAC/C,CAAE85C,WAAY,GAAG,KAAYzvC,SAAUrK,MAAO,QAC9C,CAAE85C,WAAY,GAAG,KAAYjpC,UAAW7Q,MAAO,UAEnDg6L,YAAa,CACT,CAAElgJ,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO,QAC/C,CAAE85C,WAAY,GAAG,KAAYzvC,SAAUrK,MAAO,QAC9C,CAAE85C,WAAY,GAAG,KAAYjpC,UAAW7Q,MAAO,UAEnD6/K,YAAa,CACT,CAAE/lI,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO,SAC/C,CAAE85C,WAAY,GAAG,KAAYzvC,SAAUrK,MAAO,SAC9C,CAAE85C,WAAY,GAAG,KAAYjpC,UAAW7Q,MAAO,UAEnDooN,YAAa,CACT,CAAEtuK,WAAY,GAAG,KAAYhnC,UAAW9S,MAAO,SAC/C,CAAE85C,WAAY,GAAG,KAAYzvC,SAAUrK,MAAO,SAC9C,CAAE85C,WAAY,GAAG,KAAYjpC,UAAW7Q,MAAO,UAEnDqoN,QAAS,MACTC,QAAS,OAOAC,EAAe,CACxBhhL,UAAW,CACPC,SAAU,CACNghL,YAAa,QACbC,YAAa,QACbC,YAAa,QACbC,YAAa,QACbC,aAAc,UAElBjN,eAAgB,CACZkN,UAAW,OACXC,UAAW,SACXC,UAAW,sCACXC,UAAW,YAGnBrsH,OAAQ,KACRssH,QAAS,CACLC,SAAU,mFACVC,SAAU,wDACVC,SAAU,wDACVC,SAAU,sEAEdzlN,KAAMolM,E,gFC/SH,MAAMlqM,E,MAAS,GACT0yD,EAAM,MACN83J,EAAW,U,iFCuBjB,MAAMC,EAAe,GC5BrB,SAASv3N,EAAIovB,EAAKs4B,GACrB,MAAMgnE,EAAQhnE,EAAK3iD,MAAM,KACnBqM,EAAMs9G,EAAMikE,QAClB,GAAIvhL,QAAoB7N,IAAb6rB,EAAIhe,GAAoB,CAC/B,MAAMoe,EAASJ,EAAIhe,GACnB,MAN6B,iBAAnBu/C,EAMGnhC,KAN6BgS,MAAMC,QAAQkvB,IAMhC+9D,EAAMvlH,OAAS,EAC5BnJ,EAAIwvB,EAAQk/F,EAAMrtF,KAAK,MAE3B7R,CACX,CAVa,IAACmhC,CAYlB,C,+CCPA,MAoDa,EAAW,CACpB6jJ,KAlCS,CACTj/J,UAAW,CACPo0K,eAAgB,CACZrlI,GAAI,qCACJkyB,IAAK,qCACLghH,OAAQ,qCACR5N,SAAU,qCACV6N,WAAY,sCAEhBjiL,SAAU,CACNkiL,YAAa,iCACbrnN,MAAO,iCACPmV,MAAO,iCACPmyM,gBAAiB,kCACjBC,IAAK,iCACL1K,aAAc,iCACd5B,gBAAiB,mCAGzB15M,KAtCqByK,OAAOghB,KAAK,KAAqBoa,QAAO,CAACC,EAAKtmC,KACnEsmC,EAAItmC,GAAO,QAAQA,IACZsmC,IACR,CACCpC,KAAM,CACFx0B,QAAS,eACT0zB,OAAQ,gBAEZU,OAAQ,CACJG,MAAO,eACPF,MAAO,kBA6BX8hL,QAAS,CACLC,SAAU,mBACVC,SAAU,mBACVC,SAAU,mBACVC,SAAU,oBAEdt0C,MAAO,KACP80C,YAAa,KACbjjL,OAAQ,MAORE,SALa,CACbF,OAAQ,OCpCZ,SAASkjL,EAASC,EAAcC,EAAmB,KAAe,EAAEtwK,GAChE,OAAO,IAAIuwK,MAAMF,EAAc,CAC3B/3N,IAAK,CAACsP,EAAQ8B,KACV,GAAmB,iBAARA,EACP,OAEJ,GAAIiL,OAAOyhC,eAAe7hB,KAAK3sB,EAAQ8B,GAEnC,OAfhB,SAA0Bs2C,GACtB6vK,EAAaxxN,SAASmyN,IACdxwK,EAAKrxC,MAAM6hN,EAAYC,aACvB,IAAA9P,GAAc,UAAU3gK,OAAUwwK,EAAY9zN,UAClD,GAER,CAQgBg0N,CAAiB1wK,EAAO,GAAGA,KAAQt2C,IAAQ,GAAGA,KACvC9B,EAAO8B,GAElB,MAAMinN,EAAgBL,IACtB,OAAOK,GAAiBA,EAAcjnN,EAAI,GAGtD,CACA,SAASknN,EAAsBP,EAAcC,EAAmB,KAAe,EAAEtwK,GAC7E,MAAMl4B,EAAS,CAAC,EAYhB,OAXAnT,OAAOjV,QAAQ2wN,GAAchyN,SAAQ,EAAEqL,EAAKpD,MAEpCwhB,EAAOpe,GADU,iBAAVpD,GAAsBA,EACfsqN,EAAsBtqN,GAAO,KACvC,MAAMqqN,EAAgBL,IACtB,OAAOK,GAAiBA,EAAcjnN,EAAI,GAC3Cs2C,EAAO,GAAGA,KAAQt2C,IAAQA,GAGfpD,CAClB,IAEG8pN,EAAStoM,EAAQwoM,EAAkBtwK,EAC9C,CAIA,SAAS6wK,EAAyBC,EAAcC,GAC5C,MAAMC,EAAgB,CAAC,EAYvB,OAXAr8M,OAAOjV,QAAQoxN,GAAczyN,SAAQ,EAAEqL,EAAKpD,MALhD,IAAwB+5C,EAMZ/5C,UANY+5C,EASG/5C,EARfwzB,MAAMC,QAAQsmB,IAA+B,iBAAZA,EAarC2wK,EAActnN,GC3Df,SAA6BunN,EAAe,GAAIF,GACnD,IAAKE,EAED,YADA,IAAAtQ,GAAc,0CAA0CsQ,KAG5D,MAAMC,EAAmB54N,EAAIy4N,GAAkB,IAAcE,GAE7D,OAAKC,EAKDp3L,MAAMC,QAAQm3L,GACP,QAAO,OAAiBD,MAE5BC,EAPID,CAQf,CD2C6BE,CAAoB7qN,EAAOyqN,GAJ5CC,EAActnN,GACVmnN,EAAyBvqN,EAAOyqN,IAAmB,CAAC,EAGG,IAE5DC,CACX,CAYO,SAASI,EAASC,EAAcC,EAAUrwK,EAAUigI,EAAWvgI,GAClE,MAGM4wK,GAHkB5wK,EAClBA,EAAgB4wK,cAChB11N,IAC8B,EAC9B21N,EAAcH,GAAgB18M,OAAOghB,KAAK07L,GAAc5vN,OAAS,EACjE4vN,EACAT,EAAsBC,EAAyBU,EAASzkB,KAAMnsJ,GAAmBA,EAAgBZ,SAEvG,MACM0xK,EArBV,SAAwCvyM,EAAO+hC,EAAUigI,GAErD,IAAIp5J,EAAS5I,EAOb,OANI+hC,IACAn5B,EAASnT,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAGkT,GAAS,CAAEm5B,cAEpDigI,IACAp5J,EAASnT,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAGkT,GAAS,CAAEo5J,eAEjDp5J,CACX,CAW0C4pM,CADAb,GADvBS,GA5EQ,iBA4EgBA,EAAYC,EAASD,GAAYA,IAAa,CAAC,EAChB3wK,GAAmBA,EAAgBZ,QACLkB,EAAUigI,GAC9G,OAAO0vC,EAAsBa,GAA+B,IAAMD,GACtE,CEvFO,MAAMG,EAAuB,gBAAoB,CAAC,GACnDC,EAAqB,EAAG7pN,WAAU4vB,UAASk6L,sBAAqB5wK,WAAUigI,YAAWhiK,YACvF,MAAM4yM,EAAgB,WAAc,IAAOn9M,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAG+iB,GAAUk6L,IAAuB,CAACl6L,EAASk6L,IAGtH,OAAQ,gBAAoBF,EAAqB58K,SAAU,CAAEzuC,MAAOwrN,GAChE,gBAAoB,gBAA+B,CAAE5yM,MAAQmyM,GAAiBD,EAASC,EAAcnyM,EAAO+hC,EAAUigI,IAClH,gBAAoB,WAAgB,KAAMn5K,IAAY,EAS3D,SAASu1C,EAAch4C,GAC1B,MAAM,SAAEyC,EAAQ,UAAEm5K,EAAS,SAAEjgI,EAAQ,MAAE/hC,EAAK,oBAAE2yM,GAAwBvsN,EAChEysN,EAAgB,WAAervC,QAAQ36K,GAAU1F,OAAO,kBAC9D,OAA6B,IAAzB0vN,EAActwN,OACP,KAEH,gBAAoBkwN,EAAqBK,SAAU,MAAOr6L,GAAa,gBAAoBi6L,EAAoB,CAAEj6L,QAASA,EAASk6L,oBAAqBA,EAAqB3wC,UAAWA,EAAWjgI,SAAUA,EAAU/hC,MAAOA,GAAS6yM,IACnP,C,6DCzBWp0K,EAAc,aAAiBhpC,OAAOC,QAAO,SAAUtP,EAAOkqB,GACrE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,UAAZA,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,iGAEzB,YAAZ1lB,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,sGAElC,IACX,GAAG,CAAEI,YAAa,gB,6DCbPytB,EAAe,aAAiBjpC,OAAOC,QAAO,SAAUtP,EAAOkqB,GACtE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,UAAZA,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,wHAEzB,YAAZ1lB,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYK,MAAO,6BAA8BrW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaE,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,kIAElC,IACX,GAAG,CAAEI,YAAa,iB,6DCbPniB,EAAQ,aAAiB2G,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC/D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,oIAEzB,UAAZ1lB,EACO,gBAAoB,MAAO,CAAEwE,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAAS,gBAAoB,QAAS,KAAM5K,EAAM4K,OACxD,gBAAoB,OAAQ,CAAE6f,EAAG,oHAElC,IACX,GAAG,CAAEI,YAAa,U,6BCZlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAMuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC1D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,wDAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,yDAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,oDAElC,IACX,GAAG,CAAEI,YAAa,Q,8BCnBlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAQuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC5D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,mGACjCpqB,EAAM8yD,cAAc,UAAW,CAAEzoC,GAAI,SAAUC,GAAI,SAAUgiM,GAAI,MAAOC,GAAI,SAC5EvsN,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,4UAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,uEACjCpqB,EAAM8yD,cAAc,UAAW,CAAEzoC,GAAI,KAAMC,GAAI,SAAUgiM,GAAI,QAASC,GAAI,SAC1EvsN,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,4VAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,qGACjCpqB,EAAM8yD,cAAc,UAAW,CAAEzoC,GAAI,QAASC,GAAI,SAAUgiM,GAAI,MAAOC,GAAI,UAE5E,IACX,GAAG,CAAE/hM,YAAa,U,6BCxBlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAYuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAChE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,oKAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,sKAElC,IACX,GAAG,CAAEI,YAAa,c,8BCdlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAYuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAChE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,qKAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,6KAElC,IACX,GAAG,CAAEI,YAAa,c,8BCdlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAauO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GACjE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,sKAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,mLAElC,IACX,GAAG,CAAEI,YAAa,e,6BCdlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAUuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC9D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,mLAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,8KAElC,IACX,GAAG,CAAEI,YAAa,Y,8BCdlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAOuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC3D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,qKACjCpqB,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,iPACjCpqB,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,8CAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,yFACjCpqB,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,42CAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,yGACjCpqB,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,8CAElC,IACX,GAAG,CAAEI,YAAa,S,8BCvBlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAWuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC/D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAY1U,OAAQ,KAAM8U,QAAS,YAAapW,MAAO,KAAMqW,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,oqBAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAY1U,OAAQ,KAAM8U,QAAS,YAAapW,MAAO,KAAMqW,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,4iCAElC,IACX,GAAG,CAAEI,YAAa,a,8BCdlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAmBuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAEvE,MAAgB,aADFlqB,EAAM+E,SAAW,WAEpB1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAY1U,OAAQ,KAAM8U,QAAS,YAAapW,MAAO,KAAMqW,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,k8BAElC,IACX,GAAG,CAAEI,YAAa,qB,8BCTlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAYuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAChE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,0IAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,iGAElC,IACX,GAAG,CAAEI,YAAa,c,8BCdlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAcuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAClE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,sGAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,iGAElC,IACX,GAAG,CAAEI,YAAa,gB,8BCdlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAeuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GACnE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,0IAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,yHAElC,IACX,GAAG,CAAEI,YAAa,iB,8BCdlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAQuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC5D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,oIAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,oHAElC,IACX,GAAG,CAAEI,YAAa,U,8BCdlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAgBuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GACpE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,0oBACjCpqB,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,yDAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,sdACjCpqB,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,0DAElC,IACX,GAAG,CAAEI,YAAa,kB,8BChBlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAOuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC3D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,uRAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,2OAElC,IACX,GAAG,CAAEI,YAAa,S,4BCdlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAsBuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAE1E,MAAgB,aADFlqB,EAAM+E,SAAW,WAEpB1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,yoBACjCpqB,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,4xBAElC,IACX,GAAG,CAAEI,YAAa,wB,8BCVlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAOuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC3D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,yKACjCpqB,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,+KAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,yBACjCpqB,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,+FACjCpqB,EAAM8yD,cAAc,SAAU,CAAEzoC,GAAI,IAAKC,GAAI,IAAKC,EAAG,SAEtD,IACX,GAAG,CAAEC,YAAa,S,8BCjBlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAWuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC/D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,yVAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,0TAElC,IACX,GAAG,CAAEI,YAAa,a,8BCdlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAASuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC7D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,uRAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,+SAElC,IACX,GAAG,CAAEI,YAAa,W,8BCdlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAYuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAChE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,oRAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,kIAElC,IACX,GAAG,CAAEI,YAAa,c,8BCdlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAOuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC3D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,yMAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,kNAElC,IACX,GAAG,CAAEI,YAAa,S,8BCdlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAQuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC5D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,qeAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,wtBAElC,IACX,GAAG,CAAEI,YAAa,U,8BCdlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAASuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC7D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,qZAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,mYAElC,IACX,GAAG,CAAEI,YAAa,W,8BCdlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAASuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC7D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,kCAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,4BAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,kCAElC,IACX,GAAG,CAAEI,YAAa,W,8BCnBlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAQuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAC5D,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,6nBAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYhW,MAAO,KAAMsB,OAAQ,KAAM8U,QAAS,YAAaC,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,whBAElC,IACX,GAAG,CAAEI,YAAa,U,8BCdlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAauO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GACjE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,+IAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,qPAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,0IAElC,IACX,GAAG,CAAEI,YAAa,e,8BCnBlB,IAAIxqB,EAAQ,EAAQ,MACpBvO,EAAQ,EAAcuO,EAAM6pB,WAAW7a,OAAOC,QAAO,SAAUtP,EAAOkqB,GAClE,IAAInlB,EAAU/E,EAAM+E,SAAW,UAC/B,MAAgB,YAAZA,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,uVAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,0eAEzB,UAAZ1lB,EACO1E,EAAM8yD,cAAc,MAAO,CAAE5pD,UAAWvJ,EAAMuJ,UAAW,cAAevJ,EAAMmqB,WAAYC,KAAMpqB,EAAMmqB,gBAAa5zB,EAAY,MAAO8zB,SAAUrqB,EAAMqqB,SAAU,aAAcrqB,EAAM2T,UAAWrT,IAAK4pB,EAAYI,QAAS,YAAapW,MAAO,KAAMsB,OAAQ,KAAM+U,MAAO,6BAA8BC,KAAM,gBAC/SxqB,EAAM4K,OAASvK,EAAM8yD,cAAc,QAAS,KAAMnzD,EAAM4K,OACxDvK,EAAM8yD,cAAc,OAAQ,CAAE1oC,EAAG,4OAElC,IACX,GAAG,CAAEI,YAAa,gB,8BC4FlB,IAAkB1jB,EAwBAy9J,EAQAG,EAgCA8nD,E,oCAhElB,SAAkB1lN,GAChB,QACA,QACA,QACA,aACD,CALD,CAAkBA,IAAAA,EAAgB,KAwBlC,SAAkBy9J,GAChB,QACA,QACA,QACA,QACA,OACD,CAND,CAAkBA,IAAAA,EAAsB,KAQxC,SAAkBG,GAChB,kBACA,2BACD,CAHD,CAAkBA,IAAAA,EAAoB,KAgCtC,SAAkB8nD,GAChB,cACA,eACD,CAHD,CAAkBA,IAAAA,EAA2B,I,6FCjLtC,IA4JIC,EA5JA/2C,EAAQ,CAClB1+K,MAAO,CACN,IAAK,CACJikN,WAAY,qCACZ6K,WAAY,MACZ3K,WAAY,OACZ9qM,SAAU,wCACV01M,gBAAiB,yCACjB7K,cAAe,yBACf8K,OAAQ,CAAC31M,SAAU,SAAU01M,gBAAiB,YAE/C,IAAK,CACJ9K,WAAY,qCACZ6K,WAAY,MACZ3K,WAAY,OACZ9qM,SAAU,2CACV01M,gBAAiB,4CACjB7K,cAAe,yBACf8K,OAAQ,CAAC31M,SAAU,UAAW01M,gBAAiB,aAGjDzvC,SAAU,CACT,IAAK,CACJ2kC,WAAY,qCACZ6K,WAAY,MACZ3K,WAAY,OACZ9qM,SAAU,OACV01M,gBAAiB,UACjB7K,cAAe,0BAEhB,IAAK,CACJD,WAAY,qCACZ6K,WAAY,MACZ3K,WAAY,OACZ9qM,SAAU,2CACV01M,gBAAiB,4CACjB7K,cAAe,yBACf8K,OAAQ,CAAC31M,SAAU,UAAW01M,gBAAiB,YAEhD,IAAK,CACJ9K,WAAY,qCACZ6K,WAAY,MACZ3K,WAAY,OACZ9qM,SAAU,wCACV01M,gBAAiB,yCACjB7K,cAAe,yBACf8K,OAAQ,CAAC31M,SAAU,SAAU01M,gBAAiB,YAE/C,IAAK,CACJ9K,WAAY,qCACZ6K,WAAY,MACZ3K,WAAY,OACZ9qM,SAAU,yCACV01M,gBAAiB,2CACjB7K,cAAe,yBACf8K,OAAQ,CAAC31M,SAAU,UAAW01M,gBAAiB,YAEhD,IAAK,CACJ9K,WAAY,qCACZ6K,WAAY,MACZ3K,WAAY,OACZ9qM,SAAU,yCACV01M,gBAAiB,yCACjB7K,cAAe,yBACf8K,OAAQ,CAAC31M,SAAU,OAAQ01M,gBAAiB,SAE7C,IAAK,CACJ9K,WAAY,qCACZ6K,WAAY,MACZ3K,WAAY,OACZ9qM,SAAU,4CACV01M,gBAAiB,4CACjB7K,cAAe,yBACf8K,OAAQ,CAAC31M,SAAU,UAAW01M,gBAAiB,aAGjD2G,QAAS,CACR,IAAK,CACJzR,WAAY,qCACZ6K,WAAY,SACZ3K,WAAY,OACZ9qM,SAAU,UACV01M,gBAAiB,UACjB7K,cAAe,0BAEhB,IAAK,CACJD,WAAY,qCACZ6K,WAAY,SACZ3K,WAAY,OACZ9qM,SAAU,SACV01M,gBAAiB,UACjB7K,cAAe,2BAGjBl2M,KAAM,CACL,IAAK,CACJi2M,WAAY,qCACZ6K,WAAY,SACZ3K,WAAY,OACZ9qM,SAAU,UACV01M,gBAAiB,UACjB7K,cAAe,0BAEhB,IAAK,CACJD,WAAY,qCACZ6K,WAAY,SACZ3K,WAAY,OACZ9qM,SAAU,OACV01M,gBAAiB,UACjB7K,cAAe,2BAGjBp6M,MAAO,CACN,IAAK,CACJm6M,WAAY,qCACZ6K,WAAY,SACZ3K,WAAY,OACZ9qM,SAAU,UACV01M,gBAAiB,UACjB7K,cAAe,0BAEhB,IAAK,CACJD,WAAY,qCACZ6K,WAAY,SACZ3K,WAAY,OACZ9qM,SAAU,UACV01M,gBAAiB,UACjB7K,cAAe,0BAEhB,IAAK,CACJD,WAAY,qCACZ6K,WAAY,SACZ3K,WAAY,OACZ9qM,SAAU,OACV01M,gBAAiB,UACjB7K,cAAe,4BAIPsP,EAAc,CACxBmC,SAAU,WACVC,SAAU,WACVpR,YAAa,cACbvnM,YAAa,cACb3N,YAAa,cACbw2H,YAAa,cACbijD,YAAa,cACb8sC,YAAa,cACb/3C,WAAY,aACZg4C,WAAY,aACZr/M,QAAS,UACT1K,QAAS,UACTiiM,SAAU,WACVp8J,SAAU,WACV6rI,SAAU,aAGX,SAAWg4C,GACVA,EAAyB,SAAI,WAC7BA,EAAyB,SAAI,WAC7BA,EAA4B,YAAI,cAChCA,EAA4B,YAAI,cAChCA,EAA4B,YAAI,cAChCA,EAA4B,YAAI,cAChCA,EAA4B,YAAI,cAChCA,EAA4B,YAAI,cAChCA,EAA2B,WAAI,aAC/BA,EAA2B,WAAI,aAC/BA,EAAwB,QAAI,UAC5BA,EAAwB,QAAI,UAC5BA,EAAyB,SAAI,WAC7BA,EAAyB,SAAI,WAC7BA,EAAyB,SAAI,UAC7B,CAhBD,CAgBGA,IAAmBA,EAAiB,CAAC,IACjC,IAAIM,EAAe,CACzBC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,SAAU,UACVC,SAAU,UACVC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,QAAS,UACTC,SAAU,UACVC,SAAU,UACVC,OAAQ,UACRC,OAAQ,UACRC,QAAS,UACTC,UAAW,UACXC,UAAW,UACXC,UAAW,UACXC,QAAS,UACTC,UAAW,WAEDC,EAAkB,CAC5B7qB,OAAQ,CACPC,KAAM,CACLrwL,QAAS,iBACTi0B,MAAO,iBACPP,OAAQ,kBAEThyC,MAAO,CACNse,QAAS,mBACTi0B,MAAO,iBACPP,OAAQ,mBAGViU,WAAY,CACX1sC,QAAS,kBACTxL,UAAW,iBACXygM,SAAU,iBACVxuM,MAAO,oBAER0yC,OAAQ,CACPp0B,QAAS,iBACTi0B,MAAO,iBACPP,OAAQ,iBACRY,QAAS,iBACTnoC,SAAU,kBAEXkI,OAAQ,CACP4G,QAAS,CACR+E,QAAS,iBACTi0B,MAAO,iBACPP,OAAQ,iBACRvnC,SAAU,kBAEXsD,UAAW,CACVuQ,QAAS,iBACTi0B,MAAO,iBACPP,OAAQ,iBACRvnC,SAAU,kBAEX+jM,SAAU,CACTlwL,QAAS,iBACTi0B,MAAO,iBACPP,OAAQ,iBACRvnC,SAAU,mBAGZu3F,KAAM,CACL1jF,QAAS,iBACTi0B,MAAO,iBACPinL,QAAS,mBACT/uN,SAAU,kBAEXlD,OAAQ,CACPkrC,IAAK,CACJn0B,QAAS,iBACTi0B,MAAO,iBACP9nC,SAAU,kBAEX4nC,GAAI,CACH/zB,QAAS,iBACTi0B,MAAO,iBACP9nC,SAAU,mBAGZ3L,QAAS,CACRya,QAAS,kBACTxL,UAAW,iBACXygM,SAAU,iBACVl8J,SAAU,kBACVN,OAAQ,iBACRynL,UAAW,kBACXhvN,SAAU,iBACVgkM,kBAAmB,iBACnBl8J,MAAO,kBAER88J,MAAO,CAAC2C,KAAM,iBAAkBtD,OAAQ,kBACxC1+H,QAAS,CAAC1xD,QAAS,YAAao7M,SAAU,YAAaC,OAAQ,WAC/DzP,UAAW,CACVt5M,MAAO,sDACPD,KAAM,uDAEP2vK,OAAQ,CACPxoJ,KAAM,iBACNq7K,QAAS,mBACT7lE,QAAS,kBACTvvI,MAAO,gBACPiC,MAAO,mBACPirK,MAAO,iBACP2uD,SAAU,iBACVnR,SAAU,iBACVoR,SAAU,mBAEX5Q,IAAK,CACJ3qM,QAAS,iBACTi0B,MAAO,iBACPP,OAAQ,iBACRvnC,SAAU,iBACV0+M,QAAS,CACR7qM,QAAS,kBACTiL,SAAU,iBACV9e,SAAU,mBAGZ21K,YAAa,CACZ/tI,GAAI,CACH/zB,QAAS,iBACTi0B,MAAO,iBACP9nC,SAAU,kBAEXgoC,IAAK,CACJn0B,QAAS,iBACTi0B,MAAO,iBACP9nC,SAAU,mBAGZqvN,MAAO,CACNx7M,QAAS,iBACTi0B,MAAO,iBACPP,OAAQ,kBAET+nL,eAAgB,iBAChBC,OAAQ,CACPtF,SACC,mFACDC,SAAU,wDACVC,SAAU,wDACVC,SACC,sEAEFvgC,SAAU,CACThkL,IAAK,oDACLK,KAAM,mDACNC,MAAO,oDACPF,OAAQ,kDACR6jL,OAAQ,qDAET0lC,SAAU,CACT5nL,GAAI,CACH/zB,QAAS,iBACTi0B,MAAO,iBACP9nC,SAAU,kBAEXgoC,IAAK,CACJn0B,QAAS,iBACTi0B,MAAO,iBACP9nC,SAAU,oBAIFyvN,EAAsB,CAChCxrB,OAAQ,CACP1uM,MAAO,CACNse,QAAS,mBACTi0B,MAAO,iBACPP,OAAQ,kBAET28J,KAAM,CACLrwL,QAAS,iBACTi0B,MAAO,iBACPP,OAAQ,mBAGViU,WAAY,CACX1sC,QAAS,iBACTxL,UAAW,iBACXygM,SAAU,iBACVxuM,MAAO,oBAER0yC,OAAQ,CACPp0B,QAAS,kBACTi0B,MAAO,iBACPP,OAAQ,iBACRY,QAAS,kBACTnoC,SAAU,kBAEXkI,OAAQ,CACP4G,QAAS,CACR+E,QAAS,kBACTi0B,MAAO,iBACPP,OAAQ,iBACRvnC,SAAU,kBAEXsD,UAAW,CACVuQ,QAAS,kBACTi0B,MAAO,iBACPP,OAAQ,iBACRvnC,SAAU,kBAEX+jM,SAAU,CACTlwL,QAAS,kBACTi0B,MAAO,iBACPP,OAAQ,iBACRvnC,SAAU,mBAGZu3F,KAAM,CACL1jF,QAAS,iBACTi0B,MAAO,iBACPinL,QAAS,iBACT/uN,SAAU,kBAEXlD,OAAQ,CACPkrC,IAAK,CACJn0B,QAAS,iBACTi0B,MAAO,iBACP9nC,SAAU,kBAEX4nC,GAAI,CACH/zB,QAAS,iBACTi0B,MAAO,iBACP9nC,SAAU,mBAGZ3L,QAAS,CACRya,QAAS,kBACTxL,UAAW,iBACXygM,SAAU,iBACVl8J,SAAU,iBACVN,OAAQ,kBACRynL,UAAW,kBACXhvN,SAAU,iBACVgkM,kBAAmB,iBACnBl8J,MAAO,kBAER88J,MAAO,CAAC2C,KAAM,iBAAkBtD,OAAQ,mBACxC1+H,QAAS,CAAC1xD,QAAS,YAAao7M,SAAU,YAAaC,OAAQ,WAC/DzP,UAAW,CACVt5M,MAAO,sDACPD,KAAM,uDAEP2vK,OAAQ,CACPxoJ,KAAM,iBACNq7K,QAAS,mBACT7lE,QAAS,kBACTvvI,MAAO,gBACPiC,MAAO,mBACPirK,MAAO,iBACP2uD,SAAU,iBACVnR,SAAU,iBACVoR,SAAU,mBAEX5Q,IAAK,CACJ3qM,QAAS,kBACTi0B,MAAO,iBACPP,OAAQ,kBACRvnC,SAAU,iBACV0+M,QAAS,CACR7qM,QAAS,iBACTiL,SAAU,iBACV9e,SAAU,mBAGZ21K,YAAa,CACZ3tI,IAAK,CACJn0B,QAAS,kBACTi0B,MAAO,iBACP9nC,SAAU,kBAEX4nC,GAAI,CACH/zB,QAAS,iBACTi0B,MAAO,iBACP9nC,SAAU,mBAGZqvN,MAAO,CACNx7M,QAAS,iBACTi0B,MAAO,iBACPP,OAAQ,kBAET+nL,eAAgB,iBAChBC,OAAQ,CACPtF,SACC,mFACDC,SAAU,wDACVC,SAAU,wDACVC,SACC,sEAEFvgC,SAAU,CACThkL,IAAK,oDACLK,KAAM,mDACNC,MAAO,oDACPF,OAAQ,kDACR6jL,OAAQ,qDAET0lC,SAAU,CACT5nL,GAAI,CACH/zB,QAAS,kBACTi0B,MAAO,iBACP9nC,SAAU,kBAEXgoC,IAAK,CACJn0B,QAAS,iBACTi0B,MAAO,iBACP9nC,SAAU,mB,yGC5eb,2BAOI,WAAA9I,CACqBw4N,EACAC,EACA/7H,GAFA,KAAA87H,qBAAAA,EACA,KAAAC,cAAAA,EACA,KAAA/7H,MAAAA,EALb,KAAAg8H,WAAcC,GAAoBA,EAAS,aAAax9N,KAAKuhG,QAAU,YAAYvhG,KAAKuhG,QAO5FvhG,KAAKikD,OAAS,GAAGjkD,KAAKs9N,cAAcj0K,YAAYrpD,KAAKs9N,cAAchkM,cACnEt5B,KAAKu7F,eAAiB,sBAAsBgG,GAChD,CAEO,+BAAMk8H,CAA0BD,EAAiBE,GAEpD,MAAMr6N,QAAiBrD,KAAKq9N,qBAAqB38N,IAAIV,KAAKu7F,eACtD,+BAA+Bv7F,KAAKu9N,WAAWC,aAAkBE,YAAiB19N,KAAKikD,UAE3F,IAAK5gD,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAC1B,CAEO,mBAAMg1N,CAAcltN,EAAyC+sN,EAAiBE,GAEjF,MAAMr6N,QAAiBrD,KAAKq9N,qBAAqBr2N,KAAKhH,KAAKu7F,eACvD,+BAA+Bv7F,KAAKu9N,WAAWC,aAAkBE,YAAiB19N,KAAKikD,SACvF5hB,KAAKC,UAAU7xB,GACf,CACI,eAAgB,qBAIxB,IAAKpN,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,SAEpE,E,qdClCJ,gBAEA,4BACI,WAAAvC,CACqB+4N,EACAC,GADA,KAAAD,mBAAAA,EACA,KAAAC,cAAAA,CAClB,CAEI,iBAAAC,CAAkBC,GACrB,IAAIC,GAAe,EACnB,IAAKD,EAAqBl0N,OACtB,OAAOm0N,EAEX,IAAK,IAAIl+N,EAAI,EAAGA,EAAIi+N,EAAqBl0N,OAAQ/J,IAAK,CAElD,GADgBi+N,EAAqBj+N,GACzBm+N,wBAAyB,CACjCD,GAAe,EACf,K,EAGR,OAAOA,CACX,CAEQ,qCAAAE,CAAsCr9N,GAC1C,OAAOA,EACF4J,QAAQg+H,GAAYA,EAAQw1F,0BAC5BpsN,KAAK42H,GAAa,OAAD,wBACXA,GAAO,CACV01F,UAAW11F,EAAQ01F,UAAU1zN,QAAQ6F,GAAaA,EAAS8tN,qCAEvE,CAEO,yDAAMC,CAAoDb,EAAiBE,GAC9E,IACI,OAAO19N,KAAKk+N,4CACFl+N,KAAK49N,mBAAmBH,0BAA0BD,EAAQE,G,CAEtE,MAAOz8N,GAEL,MADAjB,KAAK69N,cAAc58N,MAAM,+CAAgDA,GACnE,IAAI2D,MAAM3D,E,CAExB,CAEO,mCAAMq9N,CAA8Bd,EAAiBE,EAAgBa,GACxE,IAEI,aAD4Cv+N,KAAK49N,mBAAmBH,0BAA0BD,EAAQE,IAC1F7rN,KAAKmb,GAAU,OAAD,wBAAMA,GAAI,CAAEy7G,QAAS81F,EAASt7N,MAAMwlI,GAAYA,EAAQ+1F,MAAQxxM,EAAKwxM,S,CACjG,MAAOv9N,GAEL,MADAjB,KAAK69N,cAAc58N,MAAM,+CAAgDA,GACnE,IAAI2D,MAAM3D,E,CAExB,CAEQ,eAAAw9N,CAAgB59N,GACpB,MAAMqvB,EAA4B,GAElC,OAAKrvB,GAILA,EAAK4F,SAASumB,IACVA,EAAKmxM,UAAU13N,SAAS6J,IACpB4f,EAAO1sB,KAAK,OAAD,sBACPk6N,OAAQ1wM,EAAK0wM,OACbO,wBAAyBjxM,EAAKixM,wBAC9BG,gCAAiC9tN,EAAS8tN,iCACvC9tN,EAASouN,gBAAc,CAC1BF,IAAKxxM,EAAKwxM,IACVG,QAASruN,EAASquN,UACpB,GACJ,IAECzuM,GAfIA,CAgBf,CAEQ,mBAAA0uM,CAAoBC,EAAoBh+N,GAE5C,OADqBb,KAAKy+N,gBAAgB59N,GACtB4J,QAAQ6F,GAAaA,EAAS6jB,KAAO0qM,IAAYhtN,KAAKitN,GAAgBA,EAAYN,KAC1G,CAEQ,uBAAAO,CAAwBF,EAAoBN,EAAsB19N,GACtE,MAAMm+N,EAAOh/N,KAAK4+N,oBAAoBC,EAAYh+N,GAE5CqvB,EAAqB,GAO3B,OANA8uM,EAAKv4N,SAAS+3N,IACV,MAAMtjH,EAAIqjH,EAASt7N,MAAMi4G,GAAMA,EAAEsjH,MAAQA,IACrCtjH,GACAhrF,EAAO1sB,KAAK03G,E,IAGbhrF,CACX,CAEO,kBAAA+uM,CAAmBp+N,EAA+B09N,GACrD,MAAMW,EAAel/N,KAAKy+N,gBAAgB59N,GACpCqvB,EAA6B,GAWnC,OATAgvM,EAAaz4N,SAAS6J,IAClB,IAAK4f,EAAO/E,MAAM6B,GAASA,EAAKmH,KAAO7jB,EAAS6jB,KAAK,CACjD,MAAM,IAACqqM,GAAgBluN,EAARsxD,EAAI,EAAItxD,EAAjB,SACN4f,EAAO1sB,KAAK,OAAD,wBACJo+D,GAAI,CACP28J,SAAUv+N,KAAK++N,wBAAwBzuN,EAAS6jB,GAAIoqM,EAAU19N,K,KAInEqvB,CACX,CAEO,oBAAMivM,CAAe1uN,EAA2C+sN,EAAiBE,GACpF,IAAK,MAAMiB,KAAWluN,EAElB,UACUzQ,KAAK49N,mBAAmBD,cAAcgB,EAASnB,EAAQE,E,CAC/D,MAAOz8N,GAEL,MADAjB,KAAK69N,cAAc58N,MAAM,+CAAgDA,GACnE,IAAI2D,MAAM3D,E,CAG5B,CAEO,eAAAm+N,CAAgBC,EAA+BC,GAClD,MAAMC,EAAeF,EAAkBp8N,MAClCk1B,GAAMA,EAAEqnM,mBAAqBF,EAAYE,kBAAoBrnM,EAAEqmM,MAAQc,EAAYd,MAExF,OAAIe,GACAA,EAAa3nD,SAAW0nD,EAAY1nD,SAC7BynD,GAEJA,EAAkBxkN,OAAOykN,EACpC,CAEO,oBAAAG,CACHj0F,EACAk0F,EACAC,GAEA,OAAOn0F,EAAY35H,KAAKmb,IAAS,CAC7B0wM,OAAQ1wM,EAAK0wM,OACbc,IAAKxxM,EAAKwxM,IACVoB,SAAU5yM,EAAKmxM,UAAUtsN,KAAKvB,I,QAAa,OACvCkvN,iBAAkBlvN,EAASouN,eAAevqM,GAC1CyjJ,SACI+nD,IAAiB,EAAAE,aAAaC,YAExBH,IAAiB,EAAAE,aAAaE,cAMrB,QAJL,EAIL,QAJK,EAAAL,EAAUz8N,MACX20K,GACGA,EAAS4mD,MAAQxxM,EAAKwxM,KACtB5mD,EAAS4nD,mBAAqBlvN,EAASouN,eAAesB,mBAC7D,eAAEpoD,gBAAQ,UACrB,OAEV,E,ygBCrKJ,aACA,aACA,Y,mLCeA,yBAII,WAAA/yK,CAA6Bw4N,EAAuD97H,GAAvD,KAAA87H,qBAAAA,EAAuD,KAAA97H,MAAAA,EAChFvhG,KAAKu7F,eAAiB,qBAAqBgG,GAC/C,CAGO,2BAAM0+H,CAAsBzB,EAAahB,EAAiB0C,EAAqBC,GAClF,MAAM39N,EAAM,wDAAwDxC,KAAKu9N,WAAWC,UAAegB,kBAAoB0B,iBAA2BC,IAC5I98N,QAAiBrD,KAAKq9N,qBAAqB38N,IAAIV,KAAKu7F,eAAgB/4F,GAE1E,IAAKa,EAASm4F,GACV,MAAM,IAAI52F,MAGd,aAAavB,EAASsF,MAC1B,CAEQ,UAAA40N,CAAWC,GACf,OAAOA,EAAS,aAAax9N,KAAKuhG,QAAU,YAAYvhG,KAAKuhG,OACjE,E,wGCpCJ,0BACI,WAAA18F,CAA6Bg5N,EAA+CuC,EAC/CD,EAAqCD,GADrC,KAAArC,cAAAA,EAA+C,KAAAuC,iBAAAA,EAC/C,KAAAD,WAAAA,EAAqC,KAAAD,YAAAA,CAClE,CAEO,oBAAMG,CAAe7B,EAAahB,GAErC,aAD6Bx9N,KAAKsgO,uBAAuB9B,EAAKhB,EAAQ,QAChD3zN,OAAS,CACnC,CAEO,oBAAM02N,CAAe/B,EAAahB,GAErC,aAD6Bx9N,KAAKsgO,uBAAuB9B,EAAKhB,EAAQ,QAChD/yN,QAAO2pJ,GAAWA,EAAQosE,YAAW32N,OAAS,CACxE,CAEQ,4BAAMy2N,CAAuB9B,EAAahB,EAAiBp5N,G,QAC/D,IAGI,OAA8F,QAAvF,EAA0B,QAA1B,SAFsBpE,KAAKogO,iBAAiBH,sBAAsBzB,EAAKhB,EAC1Ex9N,KAAKkgO,YAAalgO,KAAKmgO,aACL5B,SAAS,UAAE,eAAEkC,SAASh2N,QAAQ2pJ,GAAYA,EAAQhwJ,WAAaA,WAAS,QAAI,E,CACpG,MAAOyL,GAEL,OADA7P,KAAK69N,cAAc58N,MAAM,uCAAwC4O,GAC1D,E,CAEf,E,ygBC3BJ,aACA,Y,oGCMA,sBAYI,WAAAhL,CAA6B67N,EAA8DvmI,EAA8CoH,GAA5G,KAAAm/H,qBAAAA,EAA8D,KAAAvmI,YAAAA,EAA8C,KAAAoH,MAAAA,EAVxH,KAAAx/F,QAAuB,CACpC,eAAgB,oBAOZ,KAAAw7N,WAAcC,GAAoBA,EAAS,aAAax9N,KAAKuhG,QAAU,YAAYvhG,KAAKuhG,QAG5FvhG,KAAKu7F,eAAiB,gBAAgBgG,IACtCvhG,KAAK2gO,gBAAkB,8BAA8Bp/H,GACzD,CAEO,+BAAMq/H,CAA0BpC,EAAahB,GAChD,MAAMh7N,EAAM,wCAAwCg8N,SAAWx+N,KAAKu9N,WAAWC,kCACzEn6N,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAAgB/4F,GAEjE,IAAKa,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAC1B,CAEO,iCAAMk4N,CAA4BrC,EAAchB,GACnD,MAAMh7N,EAAM,YAAYg8N,SAAWx+N,KAAKu9N,WAAWC,KAC7Cn6N,QAAiBrD,KAAKm6F,YAAYnzF,KAAKhH,KAAK2gO,gBAAiBn+N,OAAKyB,EAAWjE,KAAK+B,SAExF,IAAKsB,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,SAEpE,CAEO,iCAAM05N,CAA4BC,EAAsBvD,GAC3D,MAAMh7N,EAAM,kCAAkCxC,KAAK0gO,qBAAqBM,sBAAsBhhO,KAAK0gO,qBAAqBO,4BAA4BjhO,KAAK0gO,qBAAqBpnM,mBAAmBt5B,KAAKu9N,WAAWC,KAC3Mn6N,QAAiBrD,KAAKm6F,YAAYnzF,KAAKhH,KAAKu7F,eAAgB/4F,EAC9D6/B,KAAKC,UAAU,CAACy+L,eAAc13K,SAAUrpD,KAAK0gO,qBAAqBr3K,WAAYrpD,KAAK+B,SAEvF,IAAKsB,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,SAEpE,CAEO,sBAAM85N,CAAiB1D,GAC1B,MAAMh7N,EAAM,kCAAkCxC,KAAK0gO,qBAAqBM,sBAAsBhhO,KAAK0gO,qBAAqBO,4BAA4BjhO,KAAK0gO,qBAAqBpnM,eAAet5B,KAAK0gO,qBAAqBr3K,wBAAwBrpD,KAAKu9N,WAAWC,KACzPn6N,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAAgB/4F,GAEjE,IAAKa,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAIhE,aADmB/D,EAASsF,QAChBw4N,aAChB,E,kHC5DJ,oCACI,YAAoCC,EACA9D,GADA,KAAA8D,sBAAAA,EACA,KAAA9D,cAAAA,CACpC,CAEO,gBAAA+D,G,MACH,MAAMC,EAAgE,QAA1C,EAAAthO,KAAKohO,sBAAsB/mI,QAAQskI,eAAO,eAAElzN,aACxE,KAAK61N,GACGA,EAAoBN,SACpBM,EAAoBL,0BACpBK,EAAoBC,wBACxB,MAAM,IAAI38N,MAAM,kDAEpB,MAAO,CACH48N,gBAAiBxhO,KAAKohO,sBAAsB/mI,QAAQskI,QAASzyN,UAC7D80N,QAASM,EAAoBN,QAC7BC,yBAA0BK,EAAoBL,yBAC9CM,uBAAwBD,EAAoBC,uBAC5CjoM,YAAat5B,KAAKs9N,cAAchkM,YAChC+vB,SAAUrpD,KAAKs9N,cAAcj0K,SAErC,E,qGCTJ,uBACI,YAAoCq3K,EAA8D7jH,GAA9D,KAAA6jH,qBAAAA,EAA8D,KAAA7jH,OAAAA,CAClG,CAEO,+BAAA4kH,CAAgC1uJ,GACnC,MAAO,GAAG/yE,KAAK0gO,qBAAqBc,oCAAoCxhO,KAAK0gO,qBAAqBM,WAAWhhO,KAAK0gO,qBAAqBpnM,eAAet5B,KAAK0gO,qBAAqBr3K,YAAYrpD,KAAK0gO,qBAAqBO,4BAA4BluJ,EAAQguJ,gBAAgBhuJ,EAAQ2uJ,kBACtR,CAEO,6BAAAC,GACH,MAAO,GAAG3hO,KAAK0gO,qBAAqBc,oCAAoCxhO,KAAK0gO,qBAAqBM,WAAWhhO,KAAK0gO,qBAAqBpnM,eAAet5B,KAAK0gO,qBAAqBr3K,YAAYrpD,KAAK0gO,qBAAqBa,mCAC1N,CAEO,8BAAMK,CAAyBb,EAAsBvD,GACxD,IAEI,aADMx9N,KAAK68G,OAAOikH,4BAA4BC,EAAcvD,IACrD,C,CACT,SACE,OAAO,C,CAEf,CAEO,sBAAM0D,CAAiB1D,GAC1B,OAAOx9N,KAAK68G,OAAOqkH,iBAAiB1D,EACxC,CAEO,uCAAMqE,CAAkCrD,EAAahB,UAC1Bx9N,KAAK68G,OAAO+jH,0BAA0BpC,EAAKhB,IACpDsE,qBACX9hO,KAAK68G,OAAOgkH,4BAA4BrC,EAAKhB,EAE3D,E,4GC3CJ,8BAII,WAAA34N,CAA6Bs1F,EAA6BoH,GAA7B,KAAApH,YAAAA,EACzBn6F,KAAKu7F,eAAiB,gCAAgCgG,GAC1D,CAEO,kBAAMwgI,GACT,MAEM1+N,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAFrC,0BAIZ,IAAKl4F,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAC1B,E,oICnBJ,SAAYq5N,GACR,YACA,WACH,CAHD,CAAY,EAAAA,kBAAA,EAAAA,gBAAe,KAK3B,SAAYC,GACR,sBACA,kBACA,sBACA,4BACA,mBACH,CAND,CAAY,EAAAA,cAAA,EAAAA,YAAW,KAQvB,SAAYC,GACR,8BACA,aACH,CAHD,CAAY,EAAAA,gBAAA,EAAAA,cAAa,I,4GCQzB,8BAOI,WAAAr9N,CACqBw4N,EACAC,EACA/7H,GAFA,KAAA87H,qBAAAA,EACA,KAAAC,cAAAA,EACA,KAAA/7H,MAAAA,EALb,KAAAg8H,WAAcC,GAAqBA,EAAS,aAAax9N,KAAKuhG,QAAU,YAAYvhG,KAAKuhG,QAO7FvhG,KAAKikD,OAAS,GAAGjkD,KAAKs9N,cAAcj0K,YAAYrpD,KAAKs9N,cAAchkM,cAS/B,OAAhCt5B,KAAKs9N,cAAcj0K,UAAwD,OAAnCrpD,KAAKs9N,cAAchkM,cAC3Dt5B,KAAKikD,OAAS,SAGlBjkD,KAAKu7F,eAAiB,yBAAyBgG,GACnD,CAEO,gCAAM4gI,CACT3E,EACAqB,EACAnB,GAGA,IAAIr6N,QAAiBrD,KAAKq9N,qBAAqB38N,IAC3CV,KAAKu7F,eACL,gCAA6Bv7F,KAAKu9N,WAAWC,kBAAuBqB,aAAsBnB,YACtF19N,KAAKikD,UAIb,IAAK5gD,EAASm4F,GACV,MAAM,IAAI52F,MAEd,aAAcvB,EAASsF,MAC3B,E,6GCjEJ,+BACI,WAAA9D,CAA6Bu9N,EAA+DvE,GAA/D,KAAAuE,sBAAAA,EAA+D,KAAAvE,cAAAA,CAC5F,CAEO,gCAAMsE,CAA2B3E,EAAiBqB,EAAoBnB,GACzE,IACI,aAAa19N,KAAKoiO,sBAAsBD,2BAA2B3E,EAAQqB,EAAYnB,E,CACzF,MAAOz8N,GAEL,YADAjB,KAAK69N,cAAc58N,MAAM,yDAAyD49N,IAAc59N,E,CAGxG,E,mGCdJ,SAAY4+N,GACR,sCACA,0BACA,2BACH,CAJD,CAAY,EAAAA,eAAA,EAAAA,aAAY,I,qGCAxB,SAAYwC,GACR,YACA,oBACA,cACA,mBACH,CALD,CAAY,EAAAA,iBAAA,EAAAA,eAAc,I,uGCA1B,SAAYC,GACR,4BACA,oBACA,wBACA,sBACA,mBACH,CAND,CAAY,EAAAA,mBAAA,EAAAA,iBAAgB,I,oGCA5B,SAAYC,GACR,cACA,cACA,kBACA,cACA,kBACA,6BACA,kBACA,6BACA,kBACA,cACA,cACA,cACA,UACA,mBACH,CAfD,CAAY,EAAAA,gBAAA,EAAAA,cAAa,I,2FCAzB,SAAYC,GACR,8BACA,kCACA,0BACA,kCACA,mBACH,CAND,CAAY,EAAAA,OAAA,EAAAA,KAAI,I,sGCAhB,SAAYC,GACR,YACA,YACA,YACA,mBACH,CALD,CAAY,EAAAA,kBAAA,EAAAA,gBAAe,I,ygBCA3B,aACA,aACA,aACA,aACA,aACA,Y,mGCLA,MAAaC,UAAqB99N,MAE9B,WAAAC,CAAYwvD,GACJA,IACAA,EAAI,oBAERtvD,MAAMsvD,EACV,EAPJ,gB,4GCAA,MAAasuK,UAA8B/9N,MAEvC,WAAAC,CAAYwvD,GACJA,IACAA,EAAI,sBAERtvD,MAAMsvD,EACV,EAPJ,yB,6GCAA,MAAauuK,UAAiCh+N,MAE1C,WAAAC,CAAYwvD,GACJA,IACAA,EAAI,yCAERtvD,MAAMsvD,EACV,EAPJ,4B,+MCIA,MAAMwuK,EAAoBxiO,MAAOkhG,EAAeqlB,KAMC,CACzCrrB,eAAgB,cAAcgG,IAC9BqlB,OAAQA,EACR7kH,QARgC,CAChC,eAAgB,mBAChB+gO,OAAQ,oBAOR9gG,YAAa,cACb9uG,KAAM,OACN6vM,SAAU,SACVzkI,SAAU,gBAML,EAAA0kI,WAAa3iO,MAAU85F,EAA6B33F,EAAa6B,IACnE81F,EACF1xF,MAAMjG,EAAK6B,GACXqE,MAAMrF,IACH,IAAKA,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,OAAwB,MAApB/D,EAAS+D,QAAsC,MAApB/D,EAAS+D,OAC7B,KAGJ/D,EAASsF,MAAM,IAEzBD,MAAM7H,GACIA,IAEV+H,OAAO3H,IACAA,aAAiB2D,MACjB5D,QAAQC,MAAM,mCAAmCA,EAAM6D,WAEvD9D,QAAQC,MAAM,wBAAwBA,I,IAKzC,EAAAgiO,iBAAmB5iO,MAC5B85F,EACA+oI,EACA3hI,KAEA,MAAMl9F,QAAgBw+N,EAAkBthI,EAAO,OAC/C,OAAO,IAAAyhI,YAAW7oI,EAAa,oCAAoC+oI,IAAW7+N,EAAQ,EAG7E,EAAA8+N,eAAiB9iO,MAC1B85F,EACAoH,EACA6hI,EACAF,KAEA,MAAM7+N,QAAgBw+N,EAAkBthI,EAAO,QAO/C,OANAl9F,EAAQ0a,KAAOsjB,KAAKC,UAAU,CAC1B,WAAY8gM,EAAeC,QAC3B7E,IAAK4E,EAAe5E,IACpB8E,QAASF,EAAeG,aAGrB,IAAAP,YAAW7oI,EAAa,oCAAoC+oI,IAAW7+N,EAAQ,EAG1F,MAAMm/N,EAAmBnjO,MACrB85F,EACAoH,EACAkiI,EACAC,EACAR,EACAxmL,KAEA,MAAMr4C,QAAgBw+N,EAAkBthI,EAAOmiI,GAC/C,OAAO,IAAAV,YACH7oI,EACA,gCAAgCspI,IAAe/mL,EAAS,IAAMA,EAAS,UAAUwmL,IACjF7+N,EACH,EAGQ,EAAAs/N,iBAAmBtjO,MAC5B85F,EACAoH,EACAkiI,EACAP,IAEOM,EAAiBrpI,EAAaoH,EAAOkiI,EAAc,MAAOP,EAAS,UAGjE,EAAAU,iBAAmBvjO,MAC5B85F,EACAoH,EACAkiI,EACAP,IAEOM,EAAiBrpI,EAAaoH,EAAOkiI,EAAc,MAAOP,EAAS,UAGjE,EAAAW,iBAAmBxjO,MAC5B85F,EACAoH,EACAkiI,EACAP,KAEA,MAAM7+N,QAAgBw+N,EAAkBthI,EAAO,UAC/C,OAAO,IAAAyhI,YAAW7oI,EAAa,gCAAgCspI,SAAoBP,IAAW7+N,EAAQ,EAG7F,EAAAy/N,eAAiBzjO,MAC1B85F,EACAoH,EACAwiI,EACAb,KAEA,MAAM7+N,QAAgBw+N,EAAkBthI,EAAO,UAK/C,OAJAl9F,EAAQ0a,KAAOsjB,KAAKC,UAAU,CAC1Bk8L,IAAKuF,EAAiBvF,IACtB8E,QAASS,EAAiBT,WAEvB,IAAAN,YAAW7oI,EAAa,2CAA2C+oI,IAAW7+N,EAAQ,C,wgBCjIjG,aACA,Y,8KCDA,gBACA,UACA,UAkBA,kBAII,WAAAQ,CAA6By4N,EAAiDnjI,EAA6BoH,GAA9E,KAAA+7H,cAAAA,EAAiD,KAAAnjI,YAAAA,EAC1En6F,KAAKu7F,eAAiB,kBAAkBgG,GAC5C,CAEO,gBAAMyiI,CAAWC,GACpB,IAAI5gO,EACJ,IACI,MAAM6gO,EAAU,eAAelkO,KAAKs9N,cAAcj0K,YAAYrpD,KAAKs9N,cAAchkM,cACjFj2B,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAAgB,GAAG2oI,KAAWD,I,CAC3E,MAAOp0N,GACL,GAAkB,kBAAdA,EAAE/K,SAA0C,iBAAX+K,EAAE9L,KACnC,MAAM,IAAI,EAAAogO,e,CAIlB,IAAK9gO,EACD,MAAM,IAAI,EAAA8gO,gBAGd,GAAwB,MAApB9gO,EAAS+D,OACT,MAAM,IAAI,EAAAg9N,uBACP,GAAwB,MAApB/gO,EAAS+D,OAChB,MAAM,IAAI,EAAAi9N,oBACP,IAAKhhO,EAASm4F,GACjB,MAAM,IAAI,EAAA2oI,gBAGd,aAAa9gO,EAASsF,MAC1B,CAEO,mBAAM27N,CAAcL,GACvB,IACI,MAAM5gO,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAC7C,kBAAkBv7F,KAAKs9N,cAAcj0K,YAAYrpD,KAAKs9N,cAAchkM,eAAe2qM,KACvF,aAAa5gO,EAASsF,M,CACxB,SACE,M,CAER,E,mGC9DJ,gBAEA,UAEA,UACA,UAYA,mBAII,WAAA9D,CAA6B0/N,EACAnD,GADA,KAAAmD,UAAAA,EACA,KAAAnD,sBAAAA,EACzB,MAAMoD,EAA8BpD,EAAsB/mI,QAAQ,2BAA4B5uF,aACxFg5N,EAAYD,EAAuBC,UAEzCzkO,KAAK0kO,4BAA8B,IAAI,EAAAC,4BAA4BF,GACnEzkO,KAAK4kO,oBAAsB,IAAI,EAAAC,oBAAoBL,EAAuBM,gBAC9E,CAEO,2BAAMC,CAAsBt8F,EAAmBu8F,GAClD,GAAIv8F,EAAQ+1F,IACR/1F,QAAgBzoI,KAAKilO,yBAAyBx8F,QAC3C,GAAIA,EAAQy8F,iBAAkB,CACjC,MAAMC,EAAgCnlO,KAAK0kO,4BAA4BU,oCAAoC38F,GAC3GA,QAAgBzoI,KAAKqlO,oCAAoCF,E,CAG7D,OAAI,IAAAG,iBAAgBtlO,KAAKohO,sBAAsB/mI,QAAQ,4BAA4BkrI,wBACxE,OAAP,wBAAW98F,GAAO,CAAE35G,UAAWk2M,IAG5Bv8F,CACX,CAEQ,8BAAMw8F,CAAyBx8F,GACnC,MAAM+8F,QAAwBxlO,KAAKukO,UAAUP,WAAWv7F,EAAQ+1F,KAC1DiH,QAA2BzlO,KAAKukO,UAAUD,cAAc77F,EAAQ+1F,KACtE,IAAIkH,EAAiB1lO,KAAK4kO,oBAAoBn6N,OAAOg7N,GAErD,OAAO,OAAP,oDAAWh9F,GAAY+8F,GAAoBC,GAAkB,CAAEC,kBACnE,CAEQ,yCAAML,CAAoC9G,GAC9C,MAAMiH,QAAwBxlO,KAAK2lO,6CAA6CpH,GAC1EkH,QAA2BzlO,KAAKukO,UAAUD,cAAckB,EAAgBI,IAAOJ,EAAgBK,qBAAuBL,EAAgBN,kBAC5I,IAAIQ,EAAiB1lO,KAAK4kO,oBAAoBn6N,OAAOg7N,GAErD,OAAO,OAAP,sCAAWD,GAAoBC,GAAkB,CAAEC,kBACvD,CAEQ,kDAAMC,CAA6CpH,GACvD,IAAIuH,EAAgB,IAAI,EAAA3B,gBAaxB,MAAMj0M,SAZ2B8rC,QAAQukE,IAAIg+F,EAAS1sN,KAAIxR,MAAOooI,IAC7D,IACI,MAAMplI,QAAiBrD,KAAKukO,UAAUP,WAAWv7F,EAAQm9F,IAAOn9F,EAAQo9F,qBAAuBp9F,EAAQy8F,kBACvG,GAAI7hO,EACA,OAAO,+BAAIolI,GAAYplI,E,CAE7B,MAAOwM,GACLi2N,EAAgBj2N,C,CAEJ,MAGgB5M,MAAMI,QAA0BY,IAAbZ,IACvD,GAAI6sB,EACA,OAAOA,EAEP,MAAM41M,CAEd,E,0GC/EJ,4BAGI,WAAAjhO,CAA6BkhO,GAAA,KAAAA,uBAAAA,EAFZ,KAAAC,uBAAmC,CAAC,IAAK,IAAK,UAGvB/hO,IAAhCjE,KAAK+lO,yBACL/lO,KAAK+lO,uBAAyB/lO,KAAKgmO,uBAE3C,CAEO,MAAAv7N,CAAOg7N,GACV,QAA2BxhO,IAAvBwhO,QAA0ExhO,IAAtCwhO,EAAmBC,eACvD,OAGJ,MAAMO,EAAyBR,EAAmBC,eAC7Cj7N,QAAOy7N,GAAiBlmO,KAAK+lO,uBAAwBzjO,SAAS4jO,EAAc7sK,UAC5ExnD,KAAIq0N,GAAiBA,EAAcC,WAExC,OAAIF,EAAuBp8N,OAAS,EACzBo8N,EAEAR,EAAmBC,eAAe7zN,KAAIq0N,GAAiBA,EAAcC,UAEpF,E,kHCvBJ,oCAGI,WAAAthO,CAA6BuhO,GAAA,KAAAA,KAAAA,EACzB,MAAMC,GAAc,IAAItyL,MAAOuyL,cAC/BtmO,KAAKumO,cAAgB,CAAC,GAAGF,IAAe,IAAGA,EAAc,GAC7D,CAEO,mCAAAjB,CAAoC38F,GACvC,OAAIA,EAAQm9F,IACD,CAACn9F,GAGRA,EAAQo9F,qBACD7lO,KAAKomO,KAAKv0N,KAAI+zN,GACV,OAAP,wBAAWn9F,GAAO,CAAEm9F,UAGjB5lO,KAAKumO,cAAc10N,KAAIjP,GAC1B5C,KAAKolO,oCAAoC,OAAD,wBACjC38F,GAAO,CACVo9F,qBAAsBjjO,OACtBovB,MAEhB,E,sGC1BJ,MAAamyM,UAAwBv/N,MACjC,WAAAC,CAAYwvD,GACJA,IACAA,EAAI,kBAERtvD,MAAMsvD,EACV,EANJ,mB,0GCAA,MAAagwK,UAA4Bz/N,MACrC,WAAAC,CAAYwvD,GACJA,IACAA,EAAI,mBAERtvD,MAAMsvD,EACV,EANJ,uB,6GCAA,MAAa+vK,UAA+Bx/N,MACxC,WAAAC,CAAYwvD,GACJA,IACAA,EAAI,0BAERtvD,MAAMsvD,EACV,EANJ,0B,ygBCAA,aACA,aACA,aACA,aACA,aACA,aACA,Y,yGCAA,2BAII,WAAAxvD,CAA6B2hO,EAAyCjlI,GAAzC,KAAAilI,wBAAAA,EACzBxmO,KAAKu7F,eAAiB,yBAAyBgG,GACnD,CAEO,qBAAMklI,GACT,MAAMpjO,QAAiBrD,KAAKwmO,wBAAwB9lO,IAAIV,KAAKu7F,eACzD,wCAEJ,IAAKl4F,EAASm4F,GACV,MAAM,IAAI52F,MAGd,aAAavB,EAASsF,MAC1B,E,0GCpBJ,4BAGI,WAAA9D,CAA6B2hO,EAA0DE,GAA1D,KAAAF,wBAAAA,EAA0D,KAAAE,mBAAAA,EAF/E,KAAAC,oBAAsB,IAG9B,CAEO,wBAAMC,CAAmBC,SAClB7mO,KAAK8mO,yBACL9mO,KAAK+mO,QAAQF,EAE3B,CAEO,aAAME,CAAQF,SACX7mO,KAAKwmO,wBAAwB3tC,MAAM,QAASguC,EACtD,CAEO,qBAAMC,GACT,IACI,MAAME,EAAqBjzL,KAAKgkB,OAC1B,uBAACkvK,SAAgCjnO,KAAK0mO,mBAAmBD,kBAC/D,OAAOO,GAAsBC,EAAyBjnO,KAAK2mO,mB,CAC7D,MAAO92N,GACL,OAAO,C,CAEf,E,ygBC3BJ,aACA,aACA,aACA,aACA,Y,qGCOA,uBAII,WAAAhL,CAA6Bs1F,EAAsCoH,EAAgC2lI,GAAwB,GAA9F,KAAA/sI,YAAAA,EAAsC,KAAAoH,MAAAA,EAAgC,KAAA2lI,sBAAAA,EAC/FlnO,KAAKu7F,eAAiB2rI,EAAwB,0BAA0B3lI,IAAU,4BAA4BA,GAClH,CAEO,iBAAM4lI,CAAY3I,EAAahB,EAAiB4J,EAAoBC,GACvE,IAAIhkO,EAcJ,GAVQA,EAFJrD,KAAKknO,sBACDG,QACiBrnO,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eACvC,YAAYijI,kBAAoBhB,cAAmB4J,SAAAA,WAA2BC,WAEjErnO,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eACvC,YAAYijI,kBAAoBhB,cAAmB4J,SAAAA,WAG1CpnO,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAAgB,aAAaijI,YAAchB,MAGrFn6N,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAE1B,E,wGCxCJ,gBAaA,wBACI,WAAA9D,CAAqByiO,GAAA,KAAAA,eAAAA,CACrB,CASO,iBAAMH,CAAY3I,EAAahB,EAAiB4J,EAAoBC,GACvE,aAAarnO,KAAKsnO,eAAeH,YAAY3I,EAAKhB,EAAQ4J,EAAUC,EACxE,CAKO,oBAAME,CAAe9+F,GACxB,MACM++F,SADiBxnO,KAAKsnO,eAAeH,YAAY1+F,EAAQ+1F,IAAK/1F,EAAQg/F,iBAAmB,EAAApF,eAAeqF,OACjFzkO,MAAKgjG,GAAsB,iBAAdA,EAAKnuE,OAC/C,GAAI0vM,EACA,MAAO,CACH9J,OAAQ8J,EAAY9J,OACpBiK,SAAUH,EAAYG,SACtBC,QAASJ,EAAYI,QACrB1jO,KAAMsjO,EAAYtjO,KAClB4zB,KAAM,EAAA0qM,KAAKqF,aAIvB,CAKO,iBAAMC,CAAYr/F,GAErB,aADuBzoI,KAAKsnO,eAAeH,YAAY1+F,EAAQ+1F,IAAK/1F,EAAQg/F,iBAAmB,EAAApF,eAAeqF,OAC9F71N,IAAe7R,KAAK+nO,gBAAgBx3M,KAAKvwB,KAAKgoO,oBAClE,CAEQ,cAAAD,CAAeE,G,MACnB,MAAMnwM,EAAuD,QAAhD,IAAA0qM,KAAKyF,EAAiBnwM,aAA0B,QAAI,EAAA0qM,KAAK0F,QACtE,MAAO,CACHhkO,KAAM+jO,EAAiB/jO,KACvB4zB,OACA6vM,SAAUM,EAAiBN,SAC3BC,QAASK,EAAiBL,QAC1BlK,OAAQuK,EAAiBvK,OAEjC,CAEQ,mBAAAsK,CAAoBG,EAAkBC,GAC1C,OAAID,EAAMrwM,OAAS,EAAA0qM,KAAKqF,cAAiBM,EAAMrwM,OAAS,EAAA0qM,KAAK6F,gBAAkBD,EAAMtwM,OAAS,EAAA0qM,KAAK8F,YACvF,EAERF,EAAMtwM,OAAS,EAAA0qM,KAAKqF,cAAiBO,EAAMtwM,OAAS,EAAA0qM,KAAK6F,gBAAkBF,EAAMrwM,OAAS,EAAA0qM,KAAK8F,WACxF,EAEJH,EAAMzK,OAAO1sM,cAAco3M,EAAM1K,OAAO35M,WACnD,E,iICzEJ,gBAGa,EAAAwkN,aAAgBtiI,IACzB,GAAIA,EAAK2hI,QACL,MAAO,sBAAwB3hI,EAAK2hI,QAAQ7jN,UAEhC,EAGP,EAAAykN,0BAA6B1wM,IACtC,OAAQA,GACJ,KAAK,EAAA0qM,KAAKqF,aACN,MAAO,iDACX,KAAK,EAAArF,KAAK6F,eACN,MAAO,sDACX,KAAK,EAAA7F,KAAK8F,WACN,MAAO,kDACX,QACI,MAAO,G,0gBCnBnB,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,WACA,YACA,aACA,aACA,aACA,aACA,aACA,YACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,YACA,aACA,aACA,YACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,Y,qHCtCA,SAAYG,GACR,cACA,kBACA,iBACH,CAJD,CAAY,EAAAA,YAAA,EAAAA,UAAS,KAsBrB,2BAII,WAAA5jO,CAA6Bs1F,EAA6BoH,GAA7B,KAAApH,YAAAA,EACzBn6F,KAAKu7F,eAAiB,yCAAyCgG,GACnE,CAEO,oBAAMmnI,CAAelK,GACxB,MAAMh8N,EAAM,YAAYg8N,IAExB,IACI,MAAMn7N,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAAgB/4F,GACjE,GAAIa,EAASm4F,GACT,aAAan4F,EAASsF,M,CAE5B,MAAO1H,GACLD,QAAQ+G,IAAI9G,E,CAGhB,OAAO,IACX,E,qGC5BJ,uBAII,WAAA4D,CAA6Bs1F,EAA6BoH,GAA7B,KAAApH,YAAAA,EACzBn6F,KAAKu7F,eAAiB,yBAAyBgG,GACnD,CAEO,uBAAMonI,CAAkBnK,EAAan1K,GACxC,MAAM7mD,EAAM,gBAAgBg8N,cAAgBn1K,IAEtChmD,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAAgB/4F,GAEjE,IAAKa,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAC1B,E,4HCnCJ,gBAWA,IAAYigO,GAAZ,SAAYA,GACR,mCACA,2CACA,eACA,eACA,eACA,yBACA,mBACA,iBACA,iBACA,8BACH,CAXD,CAAYA,EAAA,EAAAA,kBAAA,EAAAA,gBAAe,KAa3B,0BAEW,aAAAC,CAAcC,KAAoCC,GACrD,OAAOA,EAAiBt+N,QAAQu+N,GAAUhpO,KAAKipO,oBAAoBD,EAAOF,KAAiBj/N,OAAS,CACxG,CAEQ,mBAAAo/N,CAAoBC,EAAkCJ,GAE1D,OAAQI,GACJ,KAAKN,EAAgBO,aACjB,OAAOL,EAAehxM,OAAS,EAAA0qM,KAAKqF,cAAgBiB,EAAeM,mBAAqB,EAAA9G,iBAAiB+G,UAC7G,KAAKT,EAAgBU,iBACjB,OAAOtpO,KAAKupO,kBAAkBT,EAAgBF,EAAgBO,aAAcP,EAAgBY,KAChG,KAAKZ,EAAgBa,GACjB,OAAOX,EAAehxM,OAAS,EAAA0qM,KAAKqF,aACxC,KAAKe,EAAgBc,GACjB,OAAOZ,EAAehxM,OAAS,EAAA0qM,KAAK6F,eACxC,KAAKO,EAAgBe,GACjB,OAAOb,EAAehxM,OAAS,EAAA0qM,KAAK8F,WACxC,KAAKM,EAAgBgB,QACjB,OAAOd,EAAehxM,OAAS,EAAA0qM,KAAK8F,YAAcQ,EAAerB,iBAAmB,EAAApF,eAAeqF,KACvG,KAAKkB,EAAgBlB,KACjB,OAAOoB,EAAerB,iBAAmB,EAAApF,eAAeqF,KAC5D,KAAKkB,EAAgBY,IACjB,OAAOV,EAAerB,iBAAmB,EAAApF,eAAemH,KAAOV,EAAerB,iBAAmB,EAAApF,eAAewH,QACpH,KAAKjB,EAAgBkB,IACjB,QAAShB,EAAetK,IAC5B,KAAKoK,EAAgBmB,WACjB,QAASjB,EAAe5D,oBAAsB4D,EAAejD,qBAErE,OAAO,CAEX,CAEQ,iBAAA0D,CAAkBT,KAAoCC,GAC1D,OAAOA,EAAiBt+N,QAAQu+N,GAAUhpO,KAAKipO,oBAAoBD,EAAOF,KAAiBj/N,SAAWk/N,EAAiBl/N,MAC3H,E,qdC3DJ,gBA+CA,6BAGI,YAAoCswF,EAA6BoH,GAA7B,KAAApH,YAAAA,EAChCn6F,KAAKgqO,gBAAkB,IAAI,EAAAC,gBAAgBjqO,KAAKm6F,YAAaoH,EACjE,CAEO,2BAAM2oI,GACT,MAAMC,QAAkCnqO,KAAK46F,iBAC7C,YACoB32F,IAAhBkmO,GACAnqO,KAAKoqO,WAAWD,EAAYpvI,YAC5B/6F,KAAKoqO,WAAWD,EAAYnvI,WAC5B,CAAC,gBAAiB,iBAAkB,qBAAiB/2F,GAAWknB,MAAMupC,GAAMA,IAAMy1K,EAAYE,YAEtG,CAEO,oBAAMzvI,GACT,MAAM0vI,QAA6BtqO,KAAKgqO,gBAAgBtpO,IAA2B,gBACnF,OAAOV,KAAKuqO,4BAA4BD,EAC5C,CAEO,sBAAME,GACT,aAAaxqO,KAAKgqO,gBAAgBtpO,IAAoB,gBAC1D,CAEO,uBAAM+pO,CAAkBJ,EAAoBtvI,EAAmBC,GAClE,MAAM0vI,EAAuB,GAU7B,OATIL,EACAK,EAAgBlnO,KAAK,CAAE48B,GAAI,UAAWgoB,KAAM,cAAe15C,MAAO27N,IAElEK,EAAgBlnO,KAAK,CAAE48B,GAAI,SAAUgoB,KAAM,gBAE/CsiL,EAAgBlnO,KACZ,CAAE48B,GAAI,UAAWgoB,KAAM,aAAc15C,MAAOqsF,GAC5C,CAAE36D,GAAI,UAAWgoB,KAAM,YAAa15C,MAAOssF,IAExCh7F,KAAKgqO,gBAAgBW,MAAM,eAAgBD,EACtD,CAIQ,UAAAN,CAAW17N,GACf,SAAUA,IAASA,EAAMqyE,OAC7B,CAEQ,2BAAAwpJ,CAA4BK,GAChC,MAAM,UAAEC,EAAS,aAAEC,GAA0BF,EAAThpK,EAAI,EAAKgpK,EAAvC,8BACAG,EAAqBD,GAAgBA,EAAa7nO,MAAM+nC,IAAwC,IAAxBA,EAAYvuB,UAE1F,OAAO,OAAP,wBACOmlD,GAAI,CACP1iB,QAAS2rL,GAAaA,EAAU5nO,MAAMi8C,IAAgC,IAApBA,EAAQziC,UAC1DuuB,YAAa+/L,GAAsBA,EAAmB9iM,QAE9D,E,sGCnFJ,wBAKI,YAAoCkyD,EAA6BoH,GAA7B,KAAApH,YAAAA,EAJ5B,KAAA6wI,aAAe,IAAIp4J,IAKvB5yE,KAAKu7F,eAAiB,yBAAyBgG,GACnD,CAEO,SAAM7gG,CAAauqO,GACtB,MAAMzoO,EAAM,2BAA2ByoO,IACjC5nO,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAAgB/4F,GAC3D0oO,EAAO7nO,EAAStB,QAAQrB,IAAI,QAKlC,GAJIwqO,GACAlrO,KAAKgrO,aAAaziK,IAAI0iK,EAAiBC,IAGtC7nO,EAASm4F,GAIV,MAHwB,MAApBn4F,EAAS+D,QACTpH,KAAKgrO,aAAaziK,IAAI0iK,EAAiB,KAErC,IAAIrmO,MAAM,mCAAmCvB,EAAS+D,UAIhE,aAAa/D,EAASsF,MAC1B,CAEO,WAAMgiO,CAAMM,EAAyBE,GACxC,MAAM3oO,EAAM,2BAA2ByoO,IACjCG,EAAOprO,KAAKgrO,aAAatqO,IAAIuqO,GACnC,IAAIG,EAcA,MAAMxmO,MAAM,6BAdN,CACN,MAAMvB,QAAiBrD,KAAKm6F,YAAYwwI,MAAM3qO,KAAKu7F,eAAgB/4F,EAAK6/B,KAAKC,UAAU6oM,GACnF,CACI,eAAgB,8BAChB,WAAYC,IAEpB,IAAK/nO,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAEhE,MAAM8jO,EAAO7nO,EAAStB,QAAQrB,IAAI,QAC9BwqO,GACAlrO,KAAKgrO,aAAaziK,IAAI0iK,EAAiBC,E,CAKnD,E,wICjES,EAAA5F,gBAAmB7rI,GACxBA,GAAiBA,EAAchuF,aACvBguF,EAAchuF,aAEf,CAAC,EAIH,EAAA4/N,aAAgB5xI,GAClBA,EAAgBA,EAAcvtF,UAAY,GAGxC,EAAAo/N,iBAAmB,CAAC7xI,EAAmD8xI,OACvE,IAAAjG,iBAAgB7rI,GAAe8xI,E,2GCf5C,SAAYC,GACR,cACA,4DACA,kEACA,mFACA,wFACA,sFACA,yEACA,wEACH,CATD,CAAY,EAAAA,uBAAA,EAAAA,qBAAoB,I,oGCChC,gBAEA,UAUA,oBACI,WAAA3mO,CACqB4mO,EACA5N,GADA,KAAA4N,0BAAAA,EACA,KAAA5N,cAAAA,EAiCb,KAAA6N,mBAAsBC,IAAkD,MAC5E,OAAmB,QAAnB,EAAAA,EAAiB,UAAE,eAAElE,kBAAmB,EAAApF,eAAeqF,IAAI,CAhC/D,CAEO,yBAAMkE,CAAoBD,G,QAC7B,IACI,MAAME,QAA0B7rO,KAAKyrO,0BAA0BK,aAC3D9rO,KAAK0rO,mBAAmBC,IAE5B,MAAO,CACHI,YAA6C,YAAhCF,EAAkBG,WAA2D,WAAhCH,EAAkBG,UAC5EC,mBAA2D,QAAvC,EAAAJ,EAAkBK,6BAAqB,QAAI,EAC/DC,eAAgD,QAAhC,EAAAN,EAAkBM,sBAAc,QAAI,E,CAE1D,MAAOt8N,GACL7P,KAAK69N,cAAc58N,MAAM,kCAAmC4O,GAE5D,MAAO,CAAEk8N,aAAa,EAAOE,mBAAoB,EAAGE,eAAgB,EAAGC,qBAD1Cv8N,aAAa,EAAAw8N,sB,CAGlD,CAEO,gBAAMC,CAAWC,EAAqBC,EAAiBb,SACpD3rO,KAAKyrO,0BAA0Ba,WAAWC,EAAaC,EAASxsO,KAAK0rO,mBAAmBC,GAClG,CAEO,eAAMc,CAAUD,EAAiBb,SAC9B3rO,KAAKyrO,0BAA0BgB,UAAUD,EAASxsO,KAAK0rO,mBAAmBC,GACpF,CAEO,gBAAMe,CAAWH,EAAqBZ,GACzC,aAAa3rO,KAAKyrO,0BAA0BiB,WAAWH,EAAavsO,KAAK0rO,mBAAmBC,GAChG,E,kHC9CJ,gBACA,UAqBA,kCAMI,WAAA9mO,CAA6Bs1F,EAA8CoH,GAA9C,KAAApH,YAAAA,EAA8C,KAAAoH,MAAAA,EAFnE,KAAAg8H,WAAcC,GAAoBA,EAAS,aAAax9N,KAAKuhG,QAAU,YAAYvhG,KAAKuhG,QAG5FvhG,KAAKu7F,eAAiB,YAAYgG,GACtC,CAEO,kBAAMuqI,CAAatO,GACtB,MAAMn6N,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAC7C,qCAAqCv7F,KAAKu9N,WAAWC,MACnDmP,QAAqBtpO,EAASsF,OAEpC,GAAwB,MAApBtF,EAAS+D,QAAwC,kBAAtBulO,EAAanoO,KACxC,MAAM,IAAI,EAAA6nO,sBAGd,IAAKhpO,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,OAAOulO,CAEX,CAEO,gBAAML,CAAWC,EAAqBC,EAAiBhP,GAC1D,MAAMoP,EAAkC,CACpCC,aAAcN,EACdO,QAASN,GAEPnpO,QAAiBrD,KAAKm6F,YAAYwwI,MAAM3qO,KAAKu7F,eAC/C,+BAA+Bv7F,KAAKu9N,WAAWC,KAAWn7L,KAAKC,UAAUsqM,GACzE,CAAE,eAAgB,qBAEtB,GAAwB,MAApBvpO,EAAS+D,OACT,MAAM,IAAI,EAAA2lO,iBAGd,IAAK1pO,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,SAGpE,CAEO,eAAMqlO,CAAUD,EAAiBhP,GACpC,MAAMwP,EAAgC,CAAEF,QAASN,GAE3CnpO,QAAiBrD,KAAKm6F,YAAYuZ,IAAI1zG,KAAKu7F,eAC7C,+BAA+Bv7F,KAAKu9N,WAAWC,KAAWn7L,KAAKC,UAAU0qM,GACzE,CAAE,eAAgB,qBAEtB,IAAK3pO,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,SAGpE,CAEO,gBAAMslO,CAAWH,EAAqB/O,GACzC,MAAMyP,EAA4B,CAC9B5hB,KAAMkhB,GAEJlpO,QAAiBrD,KAAKm6F,YAAYnzF,KAAKhH,KAAKu7F,eAC9C,sCAAsCv7F,KAAKu9N,WAAWC,KAAWn7L,KAAKC,UAAU2qM,GAChF,CAAE,eAAgB,qBAChBN,QAAqBtpO,EAASsF,OAEpC,GAAwB,MAApBtF,EAAS+D,QAAwC,kBAAtBulO,EAAanoO,KACxC,MAAM,IAAI,EAAAuoO,iBAGd,IAAK1pO,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,OAAOulO,EAAaj+N,KAExB,E,uGCrGJ,MAAaq+N,UAAyBnoO,MAClC,WAAAC,CAAYwvD,GACHA,IACDA,EAAI,gBAERtvD,MAAMsvD,EACV,EANJ,oB,4GCAA,MAAag4K,UAA8BznO,MACvC,WAAAC,CAAYwvD,GACHA,IACDA,EAAI,0CAERtvD,MAAMsvD,EACV,EANJ,yB,ygBCAA,aACA,aACA,aACA,aACA,Y,4BCSA,IAAY64K,E,+FAAZ,SAAYA,GACR,+CACA,mDACA,iDACA,6DACA,+CACA,+DACA,sDACH,CARD,CAAYA,EAAA,EAAAA,sBAAA,EAAAA,oBAAmB,KAU/B,uBAGI,WAAAroO,CACYy4N,EACA6P,EACAtP,EACA1jI,GAHA,KAAAmjI,cAAAA,EACA,KAAA6P,gBAAAA,EACA,KAAAtP,cAAAA,EACA,KAAA1jI,YAAAA,EANJ,KAAAizI,cAAgB,uBAQxB,CAEO,eAAMC,CAAUC,GACnB,IACI,MAAMC,QAAqBvtO,KAAKwtO,mBAAmBF,GACnDttO,KAAKmtO,gBAAgBrpI,MAAMopI,EAAoBI,EAAc5wL,QAAS6wL,E,CACxE,MAAO19N,GACL7P,KAAK69N,cAAc58N,MAAM,yCAA0C4O,E,CAE3E,CAEQ,wBAAM29N,CAAmBF,GAC7B,MAAM9yI,IAAkBx6F,KAAKm6F,mBAAoBn6F,KAAKm6F,YAAYK,kBAC5D+yI,EAAoB,CACtBvpI,UAAW,CACP5yF,UAAWk8N,EAAcl8N,UACzBq8N,SAAUH,EAAcG,SACxB3nI,YAAawnI,EAAcxnI,aAE/BV,YAAa,CACTgoI,cAAeptO,KAAKotO,cACpB/jL,SAAUrpD,KAAKs9N,cAAcj0K,SAC7B/+B,QAAStqB,KAAKs9N,cAAchkM,aAEhC2sE,KAAM,CACFynI,YAAalzI,IAUrB,MAPI,CAAC0yI,EAAoBS,qBAAsBT,EAAoBU,mBAC/DV,EAAoBW,wBAAwBvrO,SAASgrO,EAAc5wL,UACnE6wL,EAAaroI,KAAO,CAAChhG,KAAMopO,EAAcl8N,UAAW5O,IAAKxC,KAAK8tO,cAE9DR,EAAc5wL,SAAWwwL,EAAoBa,4BAC7CR,EAAatsO,MAAQ,OAAH,wBAAOqsO,EAAcrsO,OAAK,CAAEumG,aAAcrlG,OAAOC,SAASyQ,QAEzE06N,CACX,CAGQ,SAAAO,GACJ,MAAO,GAAG3rO,OAAOC,SAASm5G,OAAOp5G,OAAOC,SAASg3C,UACrD,E,iGCtEJ,mBAEI,WAAAv0C,CAA6Bs1F,GAAA,KAAAA,YAAAA,CAC7B,CAEO,oBAAM6zI,GACT,MAAM3qO,QAAiBrD,KAAKm6F,YAAYz5F,IAAI,GAAI,WAEhD,IAAK2C,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAC1B,E,oGChBJ,gBAGA,oBAII,YAAoCwxF,GAAA,KAAAA,YAAAA,EAChCn6F,KAAKiuO,WAAa,IAAI,EAAAC,WAAWluO,KAAKm6F,YAC1C,CAEO,yBAAMU,GACT,MAAMszI,QAAiBnuO,KAAKiuO,WAAWD,iBACvC,OAAOG,EAAS3xM,MAAQ2xM,EAAS3xM,MAAQ,EAC7C,CAEO,sBAAM0+D,GACT,MAAMizI,QAAiBnuO,KAAKiuO,WAAWD,iBACvC,OAAOG,EAAS7lK,IAAM6lK,EAAS7lK,IAAM,EACzC,E,ygBCnBJ,aACA,Y,iHCDA,MAAa8lK,EAMF,cAAOvnN,CAAQo9M,GAClB,OAAOmK,EAA2BC,WAAWpK,IACtCmK,EAA2BE,wBAAwBrK,IACnDmK,EAA2BG,gCAAgCtK,IAC3DmK,EAA2BI,uBAAuBvK,EAC7D,CAEO,iBAAOoK,CAAWpK,GACrB,QAASA,GAAamK,EAA2BK,UAAUpjN,KAAK44M,EACpE,CAEO,8BAAOqK,CAAwBrK,GAClC,OAAOmK,EAA2BM,wBAAwBrjN,KAAK44M,EACnE,CAEO,sCAAOsK,CAAgCtK,GAC1C,OAAOmK,EAA2BO,kCAAkCtjN,KAAK44M,EAC7E,CAEO,6BAAOuK,CAAuBvK,GACjC,OAAOmK,EAA2BE,wBAAwBrK,EAAUrpN,MAAM,GAC9E,CAEO,6BAAOg0N,CAAuB3K,GACjC,OAAOmK,EAA2BC,WAAWpK,IACtCmK,EAA2BS,wBAAwBvsO,SAAS2hO,EAAWrpN,MAAM,EAAG,GAC3F,EAhCJ,+BACmB,EAAA6zN,UAAY,4BACZ,EAAAE,kCAAoC,qBACpC,EAAAD,wBAA0B,eAC1B,EAAAG,wBAA0B,CAAC,MAAO,MAAO,MAAO,M,kGCHnE,gBA0CA,kBAGI,WAAAhqO,CACqBiqO,EACAjR,EACAt8H,GAFA,KAAAutI,cAAAA,EACA,KAAAjR,cAAAA,EACA,KAAAt8H,MAAAA,EALJ,KAAAhG,eAAiB,YAAYv7F,KAAKuhG,OAMhD,CAEI,sBAAMwtI,CACTvQ,EACAwQ,EACAC,EACAC,GAEA,OAAOlvO,KAAKmvO,UAAU3Q,EAAKwQ,EAAYC,GAAkB,aAAcC,EAC3E,CAEO,6BAAME,CAAwB5Q,EAAawQ,EAAoBC,GAClE,OAAOjvO,KAAKmvO,UAAU3Q,EAAKwQ,EAAYC,GAAkB,UAC7D,CAEQ,eAAME,CACV3Q,EACAwQ,EACAC,EACAC,GAEA,MACMG,EAAyB,CAC3B7+F,QAASw+F,EACTxQ,MACAyQ,iBACAC,UAAWA,QAAajrO,GAEtBqrO,EAAWjtM,KAAKC,UAAU+sM,GAEhC,IACI,MAAMhsO,QAAiBrD,KAAK8uO,cAAc9nO,KAAKhH,KAAKu7F,eAV1C,gCAUiE+zI,EACvE,CAAC,eAAgB,qBACrB,GAAIjsO,EAAStB,QAAQgsH,IAAI,YACrB,OAAO1qH,EAAStB,QAAQrB,IAAI,YAGhC,MAAM,IAAIkE,MAAM,oD,CAElB,MAAO3D,GACL,MAAMjB,KAAK4sI,YAAY3rI,E,CAE/B,CAEO,mBAAMsuO,CAAc/Q,GACvB,MAAMnjH,EAAQ,uCAAuCmjH,gCAErD,IACI,MAAMn7N,QAAiBrD,KAAK8uO,cAAcpuO,IAAIV,KAAKu7F,eAAgB8f,GAEnE,aAAah4G,EAASsF,M,CACxB,MAAO1H,GACL,MAAMjB,KAAK4sI,YAAY3rI,E,CAE/B,CAEO,wBAAMuuO,CAAmBhR,GAC5B,MAAMnjH,EAAQ,6CAA6CmjH,IAE3D,IACI,MAAMn7N,QAAiBrD,KAAK8uO,cAAcpuO,IAAIV,KAAKu7F,eAAgB8f,GACnE,aAAah4G,EAASsF,M,CACxB,MAAO1H,GACL,MAAMjB,KAAK4sI,YAAY3rI,E,CAE/B,CAEQ,WAAA2rI,CAAY3rI,G,MAChB,MAAMwuO,EAA6B,QAAjB,EAAAxuO,EAAMyuO,mBAAW,eAAED,UAEhB,MAAjBxuO,EAAMmG,QAAgC,SAAdqoO,IACxBxuO,EAAQ,IAAI,EAAA0hO,uBAGhB,MAAM95M,EAAe4mN,EACf,mCAAmCA,IACnC,2CAGN,OAFAzvO,KAAK69N,cAAc58N,MAAM4nB,EAAc5nB,GAEhCA,CACX,E,2ICjIJ,gBAEA,IAAY0uO,EAUAC,GAVZ,SAAYD,GACR,2CACA,uCACA,6BACA,2BACA,+BACA,+BACA,wBACH,CARD,CAAYA,EAAA,EAAAA,kBAAA,EAAAA,gBAAe,KAU3B,SAAYC,GACR,mBACA,uBACA,uCACA,uCACA,uCACA,qCACA,qCACA,mBACA,qBACA,6BACA,wCACA,sCACA,0CACA,oCACA,kDACA,gDACA,4DACA,oEACA,kFACA,kDACA,kCACA,gDACA,8DACA,wEACA,kEACA,kCACA,yBACH,CA5BD,CAAYA,EAAA,EAAAA,gBAAA,EAAAA,cAAa,KAwCzB,0BACI,WAAA/qO,CAA6BgrO,GAAA,KAAAA,4BAAAA,CAC7B,CAEO,iBAAMC,CAAYtR,EAAaiJ,G,QAClC,MAAMjK,EAASiK,IAAmB,EAAApF,eAAeqF,KAC3CqI,QAAmC/vO,KAAK6vO,4BAA4BG,sBAAsBxR,EAAKhB,GACrG,OAAOx9N,KAAKiwO,0BAAmE,QAAzC,EAA+B,QAA/B,EAAAF,EAA2BlvO,YAAI,eAAEu2M,gBAAQ,QAAI,GACvF,CAEO,mBAAM84B,CAAc1R,EAAaiJ,EAAgCrjO,GAEpE,GADwB,CAACurO,EAAgBQ,eAAgBR,EAAgBS,SAAUT,EAAgBU,YAC/E/tO,SAAS8B,GAAW,CACpC,MAAMo5N,EAASiK,IAAmB,EAAApF,eAAeqF,KACjD,OAAO1nO,KAAK6vO,4BAA4BS,yBAAyB9R,EAAKhB,EAAQmS,EAAgBvrO,GAAWuG,c,CAEjH,CAEQ,yBAAAslO,CAA0B74B,GAC9B,OAAOA,EAASvlM,IAAI7R,KAAKuwO,gDACpB9lO,QAAQ5C,GAAUA,EAAM60C,SAAWkzL,EAAc1H,UACjD33M,KAAKvwB,KAAKwwO,wBACnB,CAEQ,uBAAAA,CAAwBC,EAAoBC,GAChD,MAAMC,EAAYF,EAAS13I,UAAY,IAAIhlD,KAAK08L,EAAS13I,WAAa,IAAIhlD,KAE1E,OADmB28L,EAAS33I,UAAY,IAAIhlD,KAAK28L,EAAS33I,WAAa,IAAIhlD,MACzD4gC,UAAYg8J,EAAUh8J,SAC5C,CAEQ,8CAAA47J,CAA+CzrO,G,gBACnD,MAAO,CACHV,SAAyE,QAA9D,EAAAurO,EAAuD,QAA/B,EAAgB,QAAhB,EAAA7qO,EAAQV,gBAAQ,eAAEuW,qBAAa,QAAI,WAAG,QAAIg1N,EAAgBzH,QAC7FnvI,UAAWj0F,EAAQi0F,UACnBr8C,OAAmE,QAA1D,EAAAkzL,EAAmD,QAA7B,EAAc,QAAd,EAAA9qO,EAAQ43C,cAAM,eAAE/hC,qBAAa,QAAI,WAAG,QAAIi1N,EAAc1H,QACrF0I,cAAe9rO,EAAQ8rO,cACvBC,UAAW/rO,EAAQ+rO,UACnBC,QAAShsO,EAAQgsO,QACjBC,YAAajsO,EAAQisO,YAE7B,E,uHC5FJ,gBAcA,uCASI,WAAAlsO,CAA6Bs1F,EAA8CoH,GAA9C,KAAApH,YAAAA,EAA8C,KAAAoH,MAAAA,EAR1D,KAAAx/F,QAAuB,CACpC,UAAW,cAKP,KAAAw7N,WAAcC,GAAoBA,EAAS,aAAax9N,KAAKuhG,QAAU,YAAYvhG,KAAKuhG,QAG5FvhG,KAAKu7F,eAAiB,YAAYgG,GACtC,CAGO,8BAAMyvI,CAAyBxS,EAAahB,GAC/C,MAAMn6N,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAC7C,YAAYijI,gCAAkCx+N,KAAKu9N,WAAWC,KAAWx9N,KAAK+B,SAElF,GAAwB,MAApBsB,EAAS+D,OACT,MAAM,IAAI,EAAA6pO,iCAGd,IAAK5tO,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAC1B,CAGO,+BAAMuoO,CAA0B1S,EAAahB,EAAiBv/I,GACjE,MAAMxtE,EAAU,CAAC0gO,OAAQlzJ,GAEnB56E,QAAiBrD,KAAKm6F,YAAYuZ,IAAI1zG,KAAKu7F,eAC7C,YAAYijI,gCAAkCx+N,KAAKu9N,WAAWC,KAAWn7L,KAAKC,UAAU7xB,GAAUzQ,KAAK+B,SAE3G,IAAKsB,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,SAGpE,E,wHCtDJ,gBAGA,UAYA,wCACI,WAAAvC,CAA6BusO,EAAwEvT,GAAxE,KAAAuT,+BAAAA,EAAwE,KAAAvT,cAAAA,CACrG,CAEO,qCAAMwT,CAAgC9S,GACzC,MAIM+S,EAA4B/S,EAAS9zN,QAAOg+H,GAAWA,EAAQ3wG,OAAS,EAAA0qM,KAAK8F,aAGnF,aAFiCtsK,QAAQukE,IAAI+wG,EAA0Bz/N,KAAK42H,GAAYzoI,KAAKuxO,sBAAsB9oG,OAG9Gh+H,QAR4Bg+H,QAAwDxkI,IAAZwkI,IASxEl4G,MAP4Bk4G,IAAiCA,aAAO,EAAPA,EAAS+oG,cAAgB/oG,aAAO,EAAPA,EAASgpG,gBAAiB,EAAI,IAQpHlhN,MAToCk4G,IAAgC,MAAC,OAAsB,QAAtB,EAAAA,aAAO,EAAPA,EAASgpG,qBAAa,SAAY,GAAK,CAAC,GAUtH,CAEO,4BAAMC,CAAuBjpG,GAChC,MAAM+0F,EAAS/0F,EAAQg/F,iBAAmB,EAAApF,eAAeqF,KACnDzpJ,EAA6C,CAAC,CAAC9pD,GAAI,aAAcw9M,MAAOlpG,EAAQjsG,MAAOh5B,KAAMilI,EAAQjlI,aACrGxD,KAAKoxO,+BAA+BF,0BAA0BzoG,EAAQ+1F,IAAKhB,EAAQv/I,EAC7F,CAEQ,2BAAMszJ,CAAsB9oG,G,YAChC,MAAM+0F,EAAS/0F,EAAQg/F,iBAAmB,EAAApF,eAAeqF,KACzD,IACI,MAAMzpJ,QAAiBj+E,KAAKoxO,+BAA+BJ,yBAAyBvoG,EAAQ+1F,IAAKhB,GAC3FoU,EAAoD,QAAtB,EAAc,QAAd,EAAA3zJ,aAAQ,EAARA,EAAUp9E,YAAI,eAAEswO,cAAM,eAAEluO,MAAK4uO,GAAsB,eAAbA,EAAM19M,KAChF,QAAoClwB,IAAhC2tO,EACA,OAAO,OAAP,wBACOnpG,GAAO,CACVjsG,MAAwC,QAAjC,EAAAo1M,EAA4BD,aAAK,SACxCnuO,KAAsC,QAAhC,EAAAouO,EAA4BpuO,YAAI,U,CAGhD,MAAOqM,GACL,KAAMA,aAAa,EAAAohO,kCAEf,OADAjxO,KAAK69N,cAAc58N,MAAM,kDAAkDwnI,EAAQ+1F,MAAO3uN,GACnF,OAAP,wBACO44H,GAAO,CACVjsG,OAAO,EACPh5B,MAAM,EACNiuO,eAAe,G,CAK/B,E,oHC/DJ,gBAmBA,oCAMI,WAAA5sO,CAA6Bw4N,EAAuD97H,GAAvD,KAAA87H,qBAAAA,EAAuD,KAAA97H,MAAAA,EAF5E,KAAAg8H,WAAcC,GAAoBA,EAAS,aAAax9N,KAAKuhG,QAAU,YAAYvhG,KAAKuhG,QAG5FvhG,KAAKu7F,eAAiB,YAAYgG,GACtC,CAGO,2BAAMyuI,CAAsBxR,EAAahB,GAC5C,MAAMh7N,EAAM,YAAYg8N,4BAA8Bx+N,KAAKu9N,WAAWC,KAChEn6N,QAAiBrD,KAAKq9N,qBAAqB38N,IAAIV,KAAKu7F,eAAgB/4F,EACtE,CAAE,UAAW,eAEjB,GAAwB,MAApBa,EAAS+D,OACT,MAAM,IAAI,EAAA0qO,qBAGd,IAAKzuO,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAC1B,CAGO,8BAAM2nO,CAAyB9R,EAAahB,EAAiBuU,GAChE,MAAMvvO,EAAM,YAAYg8N,wBAA0BuT,SAA2B/xO,KAAKu9N,WAAWC,KAC7F,IAAIn6N,EAEJ,IACIA,QAAiBrD,KAAKq9N,qBAAqBrvG,OAAOhuH,KAAKu7F,eAAgB/4F,OAAKyB,EAAW,CAAE,UAAW,c,CACtG,MAAO4L,GACL,MAAMA,C,CAGV,IAAKxM,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,SAEpE,E,+FC1DJ,oBAAyB4qO,G,MACrB,MAAM5qO,EAA+B,QAAtB,EAAA4qO,aAAgB,EAAhBA,EAAkBnxO,YAAI,eAAEuG,OACvC,MAAkB,eAAXA,GAAsC,SAAXA,CACtC,C,2FCNA,OAAO/G,eAA6B4xO,EAAwCC,EAAkDC,EAA0B,IAAKC,EAAsB,KAC/K,IAAIliN,EAEJ,MAAMmiN,EAAe,IAAIr2K,SAAkBC,IACvCvrD,YAAW,KACPurD,EAAQ/rC,EAAO,GAChBkiN,EAAY,IAEbE,EAAY,IAAIt2K,SAAiB37D,MAAO47D,IAE1C,IADA/rC,QAAe+hN,KACPC,EAAmBhiN,IACvBA,QAAe,IAAI8rC,SAASu2K,IACxB7hO,YAAW,KACP6hO,EAAaN,IAAiB,GAC/BE,EAAgB,IAG3B,OAAOl2K,EAAQ/rC,EAAO,IAE1B,OAAO8rC,QAAQ67H,KAAK,CAACw6C,EAAcC,GACvC,C,2BCqBA,IAAKE,E,8EAAL,SAAKA,GACD,eACA,eACA,cACH,CAJD,CAAKA,IAAAA,EAAkB,KAOvB,4BASI,WAAA3tO,CACqBw4N,EACAQ,EACAt8H,GAFA,KAAA87H,qBAAAA,EACA,KAAAQ,cAAAA,EACA,KAAAt8H,MAAAA,EAXJ,KAAAx/F,QAAuB,CACpC,UAAW,cAKP,KAAAw7N,WAAcC,GAAqBA,EAAS,aAAax9N,KAAKuhG,QAAU,YAAYvhG,KAAKuhG,QAO7FvhG,KAAKu7F,eAAiB,YAAYgG,GACtC,CAGO,gCAAMkxI,CAA2BjU,EAAahB,GACjD,MAAMz7N,EAAU,OAAH,wBACN/B,KAAK+B,SAAO,CACf+gO,OAAQ,4BAA4B0P,EAAmBE,KACvD7xO,KAAMwhC,KAAKC,UAAU,CAAC,GACtB,eAAgB,4BAA4BkwM,EAAmBE,OAE7DlwO,EAAM,YAAYg8N,0BAA4Bx+N,KAAKu9N,WAAWC,KAC9Dn6N,QAAiBrD,KAAKq9N,qBAAqB38N,IAAIV,KAAKu7F,eAAgB/4F,EAAKT,GAE/E,GAAwB,MAApBsB,EAAS+D,OACT,MAAO,CAAC,EAGZ,IAAK/D,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAC1B,CAGO,qCAAMgqO,CACTnU,EACAhB,EACAoV,EACAp4H,GAEA,MAAMz4G,EAAU,OAAH,wBACN/B,KAAK+B,SAAO,CACf+gO,OAAQ,4BAA4B0P,EAAmBK,KACvD,eAAgB,4BAA4BL,EAAmBK,OAE7DrwO,EAAM,YAAYg8N,0BAA4Bx+N,KAAKu9N,WAAWC,KAC9D38N,EAAoC,CACtCiyO,aAAc,CACV,CACI3+M,GAAIy+M,EACJp4H,QAASA,KAIfn3G,QAAiBrD,KAAKq9N,qBAAqBr2N,KAAKhH,KAAKu7F,eAAgB/4F,EAAK6/B,KAAKC,UAAUzhC,GAAOkB,GAEtG,GAAKsB,EAASm4F,GAQd,aAAan4F,EAASsF,OAPlB3I,KAAK69N,cAAc58N,MACf,gDACA,IAAI2D,MAAM,mCAAmCvB,EAAS+D,UAMlE,CAGO,+BAAM2rO,CACTvU,EACAhB,EACAwV,GAEA,MAAMxwO,EAAM,YAAYg8N,+BAAiCwU,SAAiBhzO,KAAKu9N,WAAWC,KACpFn6N,QAAiBrD,KAAKq9N,qBAAqB38N,IAAIV,KAAKu7F,eAAgB/4F,EAAKxC,KAAK+B,SAEpF,GAAKsB,GAAaA,EAASm4F,GAK3B,aAAan4F,EAASsF,OAJlB3I,KAAK69N,cAAc58N,MAAM,yCAA0C,IAAI2D,MAK/E,E,6GCtIJ,gBACA,UACA,QAEA,UACA,UAGA,6BACI,WAAAC,CAA6BouO,EAA2DpV,GAA3D,KAAAoV,oBAAAA,EAA2D,KAAApV,cAAAA,CACxF,CAEO,gCAAM4U,CAA2BjU,EAAaiJ,G,MACjD,MAAMyL,EAASzL,IAAmB,EAAApF,eAAeqF,KAEjD,OAAuB,QAAhB,SADmB1nO,KAAKizO,oBAAoBR,2BAA2BjU,EAAK0U,IAChEryO,YAAI,QAAI,EAC/B,CAEO,mBAAAsyO,CAAoBh/M,EAAY2+M,GACnC,OAAOA,aAAY,EAAZA,EAAc3nN,MAAKioN,GAAcA,EAAWj/M,KAAOA,GAAmC,IAA7Bi/M,EAAWhsO,OAAOyC,QACtF,CAEO,6BAAAwpO,CAA8Bp/K,EAAe6+K,GAChD,OAAOA,aAAY,EAAZA,EAAc3nN,MAAKioN,GAAen/K,EAAI3xD,SAAS8wO,EAAWj/M,KAC7B,IAA7Bi/M,EAAWhsO,OAAOyC,QAC7B,CAEO,0BAAAypO,CAA2Bn/M,EAAY2+M,GAC1C,MAAMS,EAAkBT,aAAY,EAAZA,EAAc7vO,MAAKmwO,GAAcA,EAAWj/M,KAAOA,IAC3E,IAAKo/M,EACD,OAAO,EAEX,MAAMC,EAAqB,CAAC,KAAM,KAAM,KAAM,MACxCC,EAAcF,EAAgBnsO,OACpC,OAA8E,IAA1EqsO,EAAYhpO,QAAO1G,IAASyvO,EAAmBlxO,SAASyB,KAAO8F,SAG3D4pO,EAAYnxO,SAAS,OAASmxO,EAAYnxO,SAAS,MAC/D,CAEO,iCAAMoxO,CAA4BlV,EAAaiJ,EAAgCmL,EAAsB19L,G,MACxG,MAAMg+L,EAASzL,IAAmB,EAAApF,eAAeqF,KAC3CiM,QAA0B3zO,KAAKizO,oBAAoBN,gCAAgCnU,EAAK0U,EAAQN,EAAc19L,GACpH,KAA6B,QAAvB,EAAAy+L,aAAiB,EAAjBA,EAAmB9yO,YAAI,eAAE+yO,WAE3B,MADA5zO,KAAK69N,cAAc58N,MAAM,6DACnB,IAAI,EAAA2hO,yBAGd,MAAMiR,QAAqB,IAAAC,OACvB,IAAM9zO,KAAKizO,oBAAoBF,0BAA0BvU,EAAK0U,EAAQS,EAAkB9yO,KAAM+yO,YAC9F,EAAAG,SAAU,IAAM,KACpB/zO,KAAKg0O,kBAAkBH,GAEvB,MAAMf,QAAqB9yO,KAAKizO,oBAAoBR,2BAA2BjU,EAAK0U,GACpF,KAAMJ,EAAajyO,MAAQiyO,EAAajyO,KAAKgJ,OAAS,GAElD,MADA7J,KAAK69N,cAAc58N,MAAM,2DACnB,IAAI,EAAA2hO,yBAGd,OAAOkQ,EAAajyO,IACxB,CAEQ,iBAAAmzO,CAAkBH,GACtB,KAAMA,aAAY,EAAZA,EAAchzO,OAAsC,YAA7BgzO,EAAahzO,KAAKuG,OAE3C,MADApH,KAAK69N,cAAc58N,MAAM,sDACnB,IAAI,EAAAyhO,aAEd,GAAiC,SAA7BmR,EAAahzO,KAAKuG,OAElB,MADApH,KAAK69N,cAAc58N,MAAM,2DACnB,IAAI,EAAA2hO,wBAElB,E,0GCjCJ,4BAUI,WAAA/9N,CAA6Bs1F,EAA8CoH,GAA9C,KAAApH,YAAAA,EAA8C,KAAAoH,MAAAA,EAR1D,KAAAx/F,QAAuB,CACpC,UAAW,cAKP,KAAAw7N,WAAcC,GAAoBA,EAAS,aAAax9N,KAAKuhG,QAAU,YAAYvhG,KAAKuhG,QAG5FvhG,KAAKu7F,eAAiB,YAAYgG,GACtC,CAGO,yBAAM0yI,CAAoBzV,EAAahB,GAC1C,MAAMn6N,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAC7C,YAAYijI,2BAA6Bx+N,KAAKu9N,WAAWC,KAAWx9N,KAAK+B,SAE7E,IAAKsB,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAC1B,CAGO,uBAAMurO,CAAkB1V,EAAahB,GACxC,MAAMn6N,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAC7C,YAAYijI,yBAA2Bx+N,KAAKu9N,WAAWC,KAAWx9N,KAAK+B,SAE3E,IAAKsB,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAC1B,CAGO,yBAAMwrO,CAAoBC,EAAe5V,EAAahB,GACzD,MAAMn6N,QAAiBrD,KAAKm6F,YAAY6zB,OAAOhuH,KAAKu7F,eAChD,YAAYijI,oBAAsB4V,SAAap0O,KAAKu9N,WAAWC,UAAWv5N,EAAWjE,KAAK+B,SAE9F,IAAKsB,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,SAEpE,CAGO,+BAAMitO,CAA0BlgN,EAAYqqM,EAAahB,GAC5D,MAAMn6N,QAAiBrD,KAAKm6F,YAAY6zB,OAAOhuH,KAAKu7F,eAChD,YAAYijI,iBAAmBrqM,SAAUn0B,KAAKu9N,WAAWC,UAAWv5N,EAAWjE,KAAK+B,SAExF,IAAKsB,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,SAEpE,CAGO,4BAAMktO,CAAuBngN,EAAYogN,EAAuB/V,EAAahB,GAChF,MAAMn6N,QAAiBrD,KAAKm6F,YAAYuZ,IAAI1zG,KAAKu7F,eAC7C,YAAYijI,iBAAmBrqM,SAAUn0B,KAAKu9N,WAAWC,KAAWn7L,KAAKC,UAAU,CAAEiyM,kBAAkBv0O,KAAK+B,SAEhH,IAAKsB,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,SAEpE,E,4KC1GJ,gBAGA,IAAYotO,EAQAC,EAMAC,GAdZ,SAAYF,GACR,qBACA,yBACA,6BACA,2BACA,kBACH,CAND,CAAYA,EAAA,EAAAA,kBAAA,EAAAA,gBAAe,KAQ3B,SAAYC,GACR,6BACA,qCACA,wBACH,CAJD,CAAYA,EAAA,EAAAA,yBAAA,EAAAA,uBAAsB,KAMlC,SAAYC,GACR,6BACA,uBACA,wBACH,CAJD,CAAYA,EAAA,EAAAA,oBAAA,EAAAA,kBAAiB,KA6B7B,MAAaC,EACT,WAAA9vO,CAA6B+vO,GAAA,KAAAA,oBAAAA,CAC7B,CAEO,oBAAMC,CAAerW,EAAaiJ,G,UACrC,MAAMjK,EAASiK,IAAmB,EAAApF,eAAeqF,KAGjD,OADyG,QAAtF,EAA2C,QAA3C,EAA2B,QAA3B,SADkB1nO,KAAK40O,oBAAoBV,kBAAkB1V,EAAKhB,IAC3C38N,YAAI,eAAEi0O,sBAAc,eAAEjjO,IAAI7R,KAAK+0O,wCAAgC,QAAI,IAC3FtqO,OAAOzK,KAAKg1O,0BAClC,CAEO,yBAAMC,CAAoBzW,EAAaiJ,G,oBAC1C,MAAMjK,EAASiK,IAAmB,EAAApF,eAAeqF,KAC3CrkO,QAAiBrD,KAAK40O,oBAAoBX,oBAAoBzV,EAAKhB,GACzE,MAAO,CACH0X,eAAgBl1O,KAAKm1O,qBAAiD,QAA5B,EAAa,QAAb,EAAA9xO,EAASxC,YAAI,eAAEu0O,qBAAa,QAAI,IAC1EC,eAAiE,QAAjD,EAA4B,QAA5B,EAAa,QAAb,EAAAhyO,EAASxC,YAAI,eAAEy0O,qBAAa,eAAEC,2BAAmB,QAAI,EACrEC,SAAgD,QAAtC,EAA4B,QAA5B,EAAa,QAAb,EAAAnyO,EAASxC,YAAI,eAAEy0O,qBAAa,eAAEE,gBAAQ,QAAI,EAAAhT,KAAK0F,QAEjE,CAEO,yBAAMiM,CAAoBhgN,EAAYqqM,EAAaiJ,GACtD,MAAMjK,EAASiK,IAAmB,EAAApF,eAAeqF,WAC3C1nO,KAAK40O,oBAAoBT,oBAAoBhgN,EAAIqqM,EAAKhB,EAChE,CAEO,sBAAMiY,CAAiBthN,EAAYqqM,EAAaiJ,GACnD,MAAMjK,EAASiK,IAAmB,EAAApF,eAAeqF,WAC3C1nO,KAAK40O,oBAAoBP,0BAA0BlgN,EAAIqqM,EAAKhB,EACtE,CAEO,sBAAMkY,CAAiBvhN,EAAYwhN,EAAenX,EAAaiJ,GAClE,MAAMjK,EAASiK,IAAmB,EAAApF,eAAeqF,WAC3C1nO,KAAK40O,oBAAoBN,uBAAuBngN,EAAIwhN,EAAOnX,EAAKhB,EAC1E,CAEQ,yBAAAwX,CAA0BljO,GAC9B,MAAM8jO,EAAc9jO,EAAIrC,QAAU+kO,EAAgBqB,WAAa/jO,EAAIrC,QAAU+kO,EAAgBsB,SACvFC,EAAcjkO,EAAIrC,QAAU+kO,EAAgBwB,MAAQlkO,EAAImkO,oBAAsBvB,EAAkBwB,UAChGC,EAAcrkO,EAAIrC,QAAU+kO,EAAgB4B,QAC1CtkO,EAAIukO,eAAiB5B,EAAuB6B,WAAaxkO,EAAIukO,eAAiB5B,EAAuB8B,gBACtGzkO,EAAImkO,oBAAsBvB,EAAkBwB,UAEnD,OAAON,GAAeG,GAAeI,CACzC,CAGQ,oBAAAhB,CAAqBD,GACzB,OAAOA,EAAezqO,OAAOzK,KAAKw2O,2BAA2B3kO,IAAI7R,KAAKy2O,0BAC1E,CAEQ,+BAAA1B,CAAgC2B,G,gBACpC,MAAM,aACFC,EAAY,cACZpC,EAAa,eACbqC,EAAc,oBACdC,EAAmB,MACnBpnO,EAAK,aACL4mO,EAAY,wBACZS,EAAuB,kBACvBb,GACAS,EAEJ,MAAO,CACHviN,GAAIwiN,EACJhB,MAAOpB,EACPwC,SAAUH,EACVC,oBAAqBA,EACrBpnO,MAA2D,QAAnD,EAAA+kO,EAA4C,QAApB,EAAA/kO,aAAK,EAALA,EAAOkL,qBAAa,QAAI,WAAG,QAAI65N,EAAgBtM,QAC/E+N,kBAAqF,QAAjE,EAAAvB,EAA0D,QAAhC,EAAAuB,aAAiB,EAAjBA,EAAmBt7N,qBAAa,QAAI,WAAG,QAAI+5N,EAAkBxM,QAC3GmO,aAAgF,QAAjE,EAAA5B,EAA0D,QAA3B,EAAA4B,aAAY,EAAZA,EAAc17N,qBAAa,QAAI,WAAG,QAAI85N,EAAuBvM,QAC3G8O,WAAUJ,GAAiBjC,EAAqBsC,iBAAiBL,EAAgBE,GAEzF,CAEQ,yBAAAN,CAA0BU,GAC9B,MAAmC,eAA5BA,EAAiB9vO,MAC5B,CAEQ,yBAAAqvO,CAA0BS,GAC9B,MAAM,MAAC9C,EAAK,cAAE+C,EAAa,KAAEC,GAAQF,EACrC,MAAO,CAAC/iN,GAAIigN,EAAOiD,cAAeF,EAAeC,OACrD,CAEQ,uBAAOH,CAAiBK,EAAcC,GAC1C,SAAID,IAAQC,IAC8D,IAA/DD,EAAKtmN,cAAcumN,OAAMtzO,EAAW,CAACgtB,YAAa,QAGjE,EAzFJ,wB,2GC9CA,MAAa6gN,UAA6BltO,MACtC,WAAAC,CAAYwvD,GACHA,IACDA,EAAI,sBAERtvD,MAAMsvD,EACV,EANJ,wB,6GCAA,MAAamjL,UAA+B5yO,MAExC,WAAAC,CAAYwvD,GACHA,IACDA,EAAI,sCAERtvD,MAAMsvD,EACV,EAPJ,0B,uHCAA,MAAa48K,UAAyCrsO,OAAtD,oC,2GCAA,MAAa6yO,UAA6B7yO,MACtC,WAAAC,CAAYwvD,GACHA,IACDA,EAAI,yCAERtvD,MAAMsvD,EACV,EANJ,wB,0GCaA,4BAUI,WAAAxvD,CAA6Bw4N,EAAuD97H,GAAvD,KAAA87H,qBAAAA,EAAuD,KAAA97H,MAAAA,EARnE,KAAAx/F,QAAuB,CACpC,UAAW,cAKP,KAAAw7N,WAAcC,GAAoBA,EAAS,aAAax9N,KAAKuhG,QAAU,YAAYvhG,KAAKuhG,QAG5FvhG,KAAKu7F,eAAiB,YAAYgG,GACtC,CAGO,mBAAMm2I,CAAclZ,EAAahB,GACpC,MAAMh7N,EAAM,YAAYg8N,qBAAuBx+N,KAAKu9N,WAAWC,KACzDn6N,QAAiBrD,KAAKq9N,qBAAqB38N,IAAIV,KAAKu7F,eAAgB/4F,EAAKxC,KAAK+B,SAEpF,IAAKsB,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAC1B,E,4GCpCJ,gBACA,UAOA,6BACI,WAAA9D,CAA6B8yO,GAAA,KAAAA,oBAAAA,CAC7B,CAEO,sBAAMC,CAAiBpZ,EAAaiJ,GACvC,MAAMjK,EAASiK,IAAmB,EAAApF,eAAeqF,KACjD,IAAImQ,EACJA,QAA2B73O,KAAK23O,oBAAoBD,cAAclZ,EAAKhB,GACvE,IACI,MAAM38N,EAAOg3O,aAAkB,EAAlBA,EAAoBh3O,KAAM,GACjCi3O,EAAaj3O,EAAKk3O,qBAExB,MAAO,CAACD,aAAYppO,MADN6kC,SAAS1yC,EAAKi9B,WAAW76B,MAAKw5B,GAAgB,sBAAXA,EAAEv4B,OAA+BwK,O,CAEpF,MAAOmB,GACL,MAAM,IAAI,EAAA4nO,qBAAqB,2C,CAEvC,E,ygBCvBJ,aACA,aACA,YACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,YACA,aACA,aACA,aACA,aACA,aACA,aACA,YACA,aACA,aACA,aACA,YACA,Y,2GCNA,8BAQI,WAAA5yO,CACqBs1F,EACAoH,EACA2hI,GAFA,KAAA/oI,YAAAA,EACA,KAAAoH,MAAAA,EACA,KAAA2hI,QAAAA,EAVJ,KAAAnhO,QAAuB,CACpC,UAAW,aACX,eAAgB,8BAUhB/B,KAAKu7F,eAAiB,YAAYv7F,KAAKuhG,OAC3C,CAEO,2BAAMy2I,CAAsBxZ,EAAarqM,EAAa,SACzD,MAAM3xB,EAAM,YAAYg8N,sBAAwBx+N,KAAKkjO,cAAc/uM,IAC7D9wB,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAAgB/4F,EAAKxC,KAAK+B,SAE3E,IAAKsB,EAASm4F,GACV,MAAM,IAAI52F,MAAM,oDAAoDvB,EAAS+D,UAGjF,aAAa/D,EAASsF,MAC1B,E,+GC5CJ,gBAQA,+BACI,WAAA9D,CAA6BozO,GAAA,KAAAA,sBAAAA,CAA+C,CAErE,0BAAMC,CAAqB1Z,G,MAC9B,MAAM2Z,EAAS,CACX,cACA,iBACA,mBACA,cACA,mBACA,cACA,kBAEEC,QAAmCp4O,KAAKi4O,sBAAsBD,sBAAsBxZ,GAC1F,IACI,MAAM39N,EAAsC,QAA/B,EAAAu3O,EAA2Bv3O,YAAI,eAAEoC,MAAMo+B,GAAuB,UAAbA,EAAMlN,KACpE,IAAKtzB,EAAM,MAAM,IAAI,EAAA42O,qBAAqB,4CAC1C,MAAMK,EAAaj3O,EAAKk3O,qBACxB,IAAIrpO,EAAgB,EAIpB,OAHAypO,EAAO1xO,SAAS0vD,I,QACZznD,GAAS6kC,SAA6D,QAApD,EAA6C,QAA7C,EAAA1yC,EAAKi9B,WAAW76B,MAAMw5B,GAAMA,EAAEv4B,OAASiyD,WAAM,eAAEznD,aAAK,QAAI,IAAI,IAE3E,CAAEopO,aAAYppO,Q,CACvB,MAAOmB,GACL,MAAM,IAAI,EAAA4nO,qBAAqB,4C,CAEvC,CAEO,kCAAMY,CAA6B7Z,GAKtC,aAJyCx+N,KAAKi4O,sBAAsBD,sBAChExZ,EACA,iBAGR,E,2GCzCJ,gBAsBA,2BAWI,WAAA35N,CAA6Bs1F,EAA8CoH,GAA9C,KAAApH,YAAAA,EAA8C,KAAAoH,MAAAA,EAT1D,KAAAx/F,QAAuB,CACpC,UAAW,aACX,eAAgB,oBAKZ,KAAAw7N,WAAcC,GAAoBA,EAAS,aAAax9N,KAAKuhG,QAAU,YAAYvhG,KAAKuhG,QAG5FvhG,KAAKu7F,eAAiB,YAAYgG,GACtC,CAGO,kBAAM+2I,CAAa9Z,EAAahB,GACnC,MAAMh7N,EAAM,YAAYg8N,mBAAqBx+N,KAAKu9N,WAAWC,KAC7D,OAAO,IAAA+a,YAAWv4O,KAAKm6F,YAAan6F,KAAKu7F,eAAgB/4F,EAAKxC,KAAK+B,QACvE,CAEO,oBAAMy2O,CAAeha,EAAarqM,EAAYqpM,GACjD,MAAMh7N,EAAM,YAAYg8N,eAAiBrqM,SAAUn0B,KAAKu9N,WAAWC,KACnE,OAAO,IAAAib,eAAcz4O,KAAKm6F,YAAan6F,KAAKu7F,eAAgB/4F,EAAKxC,KAAK+B,QAC1E,CAGO,mBAAM22O,CAAcla,EAAama,EAAcnb,GAClD,MAAMh7N,EAAM,YAAYg8N,mBAAqBx+N,KAAKu9N,WAAWC,KAC7D,OAAO,IAAAob,aAAY54O,KAAKm6F,YAAan6F,KAAKu7F,eAAgB/4F,EAAKm2O,EAAS34O,KAAK+B,QACjF,E,+HCjBS,EAAAw2O,WAAa,CACtBp+I,EACAoB,EACA/4F,EACAT,IACeo4F,EAAYz5F,IAAI66F,EAAgB/4F,EAAKT,GACnD2G,MAAMrF,GAxCgB,CAAeA,IACtC,GAAIA,EAASm4F,GACT,OAAOn4F,EAASsF,OAEpB,MAAM,IAAI/D,MAAMvB,EAASghI,WAAW,EAoChBw0G,CAAsBx1O,KAEjC,EAAAo1O,cAAgB,CACzBt+I,EACAoB,EACA/4F,EACAT,IACeo4F,EAAY6zB,OAAOzyB,EAAgB/4F,EAAKT,GACtD2G,MAAMrF,GAzCkB,CAACA,IAC1B,IAAKA,EAASm4F,IAA0B,MAApBn4F,EAAS+D,OACzB,MAAM,IAAIxC,MAAMvB,EAASghI,W,EAuCTy0G,CAAqBz1O,KAEhC,EAAAu1O,YAAcv4O,MACvB85F,EACAoB,EACA/4F,EACAiO,EACA1O,IA1CwB1B,OAAOgD,IAC/B,MAAM01O,EAAc11O,EAAStB,QAAQrB,IAAI,gBACnCs4O,EAAoBD,aAAW,EAAXA,EAAaz2O,SAAS,oBAEhD,GAAIe,EAASm4F,IAA0B,MAApBn4F,EAAS+D,OACxB,OAAO/D,EAAS4C,OAGpB,GAAwB,MAApB5C,EAAS+D,OAAgB,CACzB,GAAI4xO,EAAmB,CACnB,MAAM/3O,QAAcoC,EAASsF,OAC7B,MAAM,IAAI/D,MAAM3D,E,CACb,CACH,MAAMA,QAAcoC,EAAS4C,OAC7B,MAAM,IAAIrB,MAAM3D,E,EAIxB,MAAM,IAAI2D,MAAMvB,EAASghI,WAAW,EA2B7B40G,OADgB9+I,EAAYnzF,KAAKu0F,EAAgB/4F,EAAK6/B,KAAKC,UAAU7xB,GAAU1O,G,4GC1C1F,MAAMA,EAAU,CACZ,UAAW,cAGf,8BAII,WAAA8C,CAA6Bs1F,EAA8CoH,GAA9C,KAAApH,YAAAA,EAA8C,KAAAoH,MAAAA,EAInE,KAAA23I,oBAAuB1b,GAAqBA,EAAS,iBAAiBx9N,KAAKuhG,QAAU,gBAAgBvhG,KAAKuhG,QAH9GvhG,KAAKu7F,eAAiB,YAAYgG,GACtC,CAIO,yBAAM43I,CAAoB3a,EAAahB,GAC1C,IAAIn6N,EAEJ,IACIA,QAAiBrD,KAAKm6F,YAAYz5F,IAC9BV,KAAKu7F,eACL,YAAYijI,sBAAwBx+N,KAAKk5O,oBAAoB1b,KAC7Dz7N,E,CAEN,MAAOd,GACL,MAAM,IAAI2D,MAAM3D,E,CAGpB,MAAM0H,QAAatF,EAASsF,OAE5B,IAAKtF,EAASm4F,GACV,MAAM,IAAI52F,YAAYvB,EAASsF,QAGnC,OAAOA,CACX,CAEO,2BAAMqnO,CAAsBxR,EAAahB,GAC5C,IAAIn6N,EAEJ,IACIA,QAAiBrD,KAAKm6F,YAAYz5F,IAC9BV,KAAKu7F,eACL,YAAYijI,wBAA0Bx+N,KAAKk5O,oBAAoB1b,KAC/Dz7N,E,CAEN,MAAOd,GACL,MAAM,IAAI2D,MAAM3D,E,CAGpB,GAAwB,MAApBoC,EAAS+D,OACT,MAAO,CACHvG,KAAM,CACFu2M,SAAU,GACVliM,OAAQ,KAKpB,MAAMvM,QAAatF,EAASsF,OAE5B,IAAKtF,EAASm4F,GACV,MAAM,IAAI52F,MAAM+D,GAGpB,OAAOA,CACX,CAEO,8BAAM2nO,CACT9R,EACAhB,EACAp5N,GAEA,IAAIf,EAEJ,IACIA,QAAiBrD,KAAKm6F,YAAY6zB,OAC9BhuH,KAAKu7F,eACL,YAAYijI,wBAA0Bp6N,KAAYpE,KAAKk5O,oBAAoB1b,UAC3Ev5N,EACAlC,E,CAEN,MAAOd,GACL,MAAM,IAAI2D,MAAM3D,E,CAGpB,IAAKoC,EAASm4F,GACV,MAAM,IAAI52F,YAAYvB,EAASsF,OAEvC,CAEO,8BAAMywO,CAAyB5a,EAAahB,GAC/C,IAAIn6N,EAEJ,IACIA,QAAiBrD,KAAKm6F,YAAYz5F,IAC9BV,KAAKu7F,eACL,YAAYijI,qBAAuBx+N,KAAKk5O,oBAAoB1b,KAC5Dz7N,E,CAEN,MAAOd,GACL,MAAM,IAAI2D,MAAM3D,E,CAGpB,GAAwB,MAApBoC,EAAS+D,OACT,MAAO,CACHvG,KAAM,CACFk3O,qBAAsB,GACtBsB,eAAgB,EAChBC,qBAAsB,EACtBC,UAAW,KAKvB,MAAM5wO,QAAatF,EAASsF,OAE5B,IAAKtF,EAASm4F,GACV,MAAM,IAAI52F,MAAM+D,GAGpB,OAAOA,CACX,CAEO,gCAAM6wO,CACThb,EACAhB,EACA/sN,GAEA,IAAIpN,EAEJ,IACIA,QAAiBrD,KAAKm6F,YAAYnzF,KAC9BhH,KAAKu7F,eACL,YAAYijI,qBAAuBx+N,KAAKk5O,oBAAoB1b,KAC5Dn7L,KAAKC,UAAU7xB,GACf1O,E,CAEN,MAAOd,GACL,MAAM,IAAI2D,MAAM3D,E,CAGpB,MAAM0H,QAAatF,EAASsF,OAE5B,IAAKtF,EAASm4F,GACV,MAAM,IAAI52F,MAAM+D,GAGpB,OAAOA,CACX,CAEO,gCAAM8wO,CACTjb,EACAhB,EACA/sN,GAEA,IAAIpN,EAEJ,IACIA,QAAiBrD,KAAKm6F,YAAYuZ,IAC9B1zG,KAAKu7F,eACL,YAAYijI,qBAAuBx+N,KAAKk5O,oBAAoB1b,KAC5Dn7L,KAAKC,UAAU7xB,GACf1O,E,CAEN,MAAOd,GACL,MAAM,IAAI2D,MAAM3D,E,CAGpB,MAAM0H,QAAatF,EAASsF,OAE5B,IAAKtF,EAASm4F,GACV,MAAM,IAAI52F,MAAM+D,GAGpB,OAAOA,CACX,CAEO,gCAAM+wO,CACTlb,EACAhB,EACArpM,GAEA,IAAI9wB,EAEJ,IACIA,QAAiBrD,KAAKm6F,YAAY6zB,OAC9BhuH,KAAKu7F,eACL,YAAYijI,qBAAuBrqM,KAAMn0B,KAAKk5O,oBAAoB1b,UAClEv5N,EACAlC,E,CAEN,MAAOd,GACL,MAAM,IAAI2D,MAAM3D,E,CAGpB,MAAM0H,QAAatF,EAASsF,OAE5B,IAAKtF,EAASm4F,GACV,MAAM,IAAI52F,MAAM+D,GAGpB,OAAOA,CACX,CAEO,gCAAMgxO,CAA2Bnb,EAAahB,GACjD,IAAIn6N,EAEJ,IACIA,QAAiBrD,KAAKm6F,YAAYz5F,IAC9BV,KAAKu7F,eACL,YAAYijI,kBAAoBx+N,KAAKk5O,oBAAoB1b,KACzDz7N,E,CAEN,MAAOd,GACL,MAAM,IAAI2D,MAAM3D,E,CAGpB,GAAwB,MAApBoC,EAAS+D,OACT,MAAO,CACHvG,KAAM,CACFk3O,qBAAsB,GACtBsB,eAAgB,EAChBC,qBAAsB,EACtBM,YAAa,KAKzB,MAAMjxO,QAAatF,EAASsF,OAE5B,IAAKtF,EAASm4F,GACV,MAAM,IAAI52F,MAAM+D,GAGpB,OAAOA,CACX,CAEO,kCAAMkxO,CACTrb,EACAhB,EACA/sN,GAEA,IAAIpN,EAEJ,IACIA,QAAiBrD,KAAKm6F,YAAYnzF,KAC9BhH,KAAKu7F,eACL,YAAYijI,kBAAoBx+N,KAAKk5O,oBAAoB1b,KACzDn7L,KAAKC,UAAU7xB,GACf1O,E,CAEN,MAAOd,GACL,MAAM,IAAI2D,MAAM3D,E,CAGpB,MAAM0H,QAAatF,EAASsF,OAE5B,IAAKtF,EAASm4F,GACV,MAAM,IAAI52F,MAAM+D,GAGpB,OAAOA,CACX,CAEO,kCAAMmxO,CACTtb,EACAhB,EACA/sN,GAEA,IAAIpN,EAEJ,IACIA,QAAiBrD,KAAKm6F,YAAYuZ,IAC9B1zG,KAAKu7F,eACL,YAAYijI,kBAAoBx+N,KAAKk5O,oBAAoB1b,KACzDn7L,KAAKC,UAAU7xB,GACf1O,E,CAEN,MAAOd,GACL,MAAM,IAAI2D,MAAM3D,E,CAGpB,MAAM0H,QAAatF,EAASsF,OAE5B,IAAKtF,EAASm4F,GACV,MAAM,IAAI52F,MAAM+D,GAGpB,OAAOA,CACX,CAEO,kCAAMoxO,CACTvb,EACAhB,EACArpM,GAEA,IAAI9wB,EAEJ,IACIA,QAAiBrD,KAAKm6F,YAAY6zB,OAC9BhuH,KAAKu7F,eACL,YAAYijI,kBAAoBrqM,MAAOn0B,KAAKk5O,oBAAoB1b,UAChEv5N,EACAlC,E,CAEN,MAAOd,GACL,MAAM,IAAI2D,MAAM3D,E,CAGpB,MAAM0H,QAAatF,EAASsF,OAE5B,IAAKtF,EAASm4F,GACV,MAAM,IAAI52F,MAAM+D,GAGpB,OAAOA,CACX,CAEO,6BAAMqxO,CAAwBxb,EAAahB,GAC9C,IAAIn6N,EAEJ,IACIA,QAAiBrD,KAAKm6F,YAAYz5F,IAC9BV,KAAKu7F,eACL,YAAYijI,4BAA8Bx+N,KAAKk5O,oBAAoB1b,KACnEz7N,E,CAEN,MAAOd,GACL,MAAM,IAAI2D,MAAM3D,E,CAGpB,MAAM0H,QAAatF,EAASsF,OAE5B,IAAKtF,EAASm4F,GACV,MAAM,IAAI52F,MAAM+D,GAGpB,OAAOA,CACX,CAEO,gCAAMsxO,CACTzb,EACAhB,EACA/sN,GAEA,IAAIpN,EAEJ,IACIA,QAAiBrD,KAAKm6F,YAAYuZ,IAC9B1zG,KAAKu7F,eACL,YAAYijI,4BAA8Bx+N,KAAKk5O,oBAAoB1b,KACnEn7L,KAAKC,UAAU7xB,GACf1O,E,CAEN,MAAOd,GACL,MAAM,IAAI2D,MAAM3D,E,CAGpB,IAAKoC,EAASm4F,GACV,MAAM,IAAI52F,YAAYvB,EAASsF,OAEvC,CAEO,wCAAMuxO,CACT1b,EACAhB,EACAp5N,EACA4uO,GAEA,MAAM3vO,QAAiBrD,KAAKm6F,YAAYz5F,IACpCV,KAAKu7F,eACL,YAAYijI,YAAcp6N,cAAqB4uO,KAAahzO,KAAKk5O,oBAAoB1b,KACrFz7N,GAGJ,IAAKsB,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,OAAO/D,EAASsF,MACpB,E,+GC7YJ,gBAEA,UAYMwxO,EAAqB,CACvB,CACIj2O,KAAM,+CACNghG,KAAM,YACN9gG,SAAU,EAAAg2O,SAAShK,UAEvB,CACIlsO,KAAM,+CACNghG,KAAM,cACN9gG,SAAU,EAAAg2O,SAAS/J,YAEvB,CACInsO,KAAM,+CACNghG,KAAM,cACN9gG,SAAU,EAAAg2O,SAASC,sCAgBrBC,EAAgB,CAACljC,EAAe59I,KAClC,IAAKA,GAAS49I,EAASvtM,QAAU2vD,EAC7B,OAAO49I,EAEX,MAAMlnL,EAAS,GACf,IAAK,IAAIpwB,EAAI,EAAGA,EAAI05D,EAAO15D,IACvBowB,EAAO1sB,KAAK4zM,EAASt3M,IAEzB,OAAOowB,CAAM,EAGjB,+BACI,WAAArrB,CAA6B01O,GAAA,KAAAA,sBAAAA,EAEtB,KAAAC,SAAW,CAAC7iL,EAAc2xH,KAE7B,MAAMpmI,EAAO,IAAInP,KACX0lB,EAASvW,EAAKu3L,oBACdC,EAAQ9nN,OAAO+kC,EAAKlyD,MAAM,KAAK,IAC/Bk1O,EAAU/nN,OAAO+kC,EAAKlyD,MAAM,KAAK,IAKvC,OAHAy9C,EAAK03L,SAASF,GACdx3L,EAAK23L,WAAyB,SAAdvxD,EAAuBqxD,EAAUlhL,EAASkhL,EAAUlhL,GAE7DvW,EAAK43L,eAAe,GAAI,CAAEh2L,KAAM,UAAWi2L,OAAQ,UAAWC,QAAQ,GAAQ,EAGlF,KAAAC,QAAWtjL,GACTA,EAGE33D,KAAKw6O,SAAS7iL,EAAM,QAFhB,KAKR,KAAAujL,MAASvjL,GACL33D,KAAKw6O,SAAS7iL,GAAQ,QAAS,MAGnC,KAAAwjL,UAAY,CAACC,EAAmDC,KACnE,IAAKD,EACD,OAGJ,IAAIE,EAAW,EACf,MACMC,GADc,IAAIxnM,MACU0mM,oBAGlC,GAAKY,EAUE,CACH,MAAMG,EAAcD,EAAgB,GAC9Bb,EAAQ9nN,OAAOyoN,EAAU51O,MAAM,KAAK,IAO1C,GANIi1O,EAAQc,EAAc,IACtBF,GAAY,GAEZZ,EAAQc,GAAe,KACvBF,EAAW,GAEE,IAAbA,EACA,OAAOF,C,MAbX,GANIG,EAAgB,IAChBD,GAAY,GAEZC,EAAgB,IAChBD,EAAW,GAEO,IAAlBC,EACA,OAAOH,EAgBf,MAAMvrN,EAAM9S,OAAOjV,QAAQszO,GAAavpO,KAAI,EAAE0H,EAAKihG,MAAa,CAC5DjhG,MACAihG,cAaJ,OAVmB3qF,EAAIhe,KAAI,CAACmb,EAAMltB,IAAO,OAAD,wBACjCktB,GAAI,CACPwtF,SACkB,IAAd8gI,EACMzrN,EAAI/vB,IAAM+vB,EAAIhmB,OAAS,EAAI,EAAI/J,EAAI,GAAG06G,QACtC3qF,EAAU,IAAN/vB,EAAU+vB,EAAIhmB,OAAS,EAAI/J,EAAI,GAAG06G,YAG1BriE,QAAO,CAACt4C,EAAGq7G,IAAO,OAAD,wBAAMr7G,GAAC,CAAE,CAACq7G,EAAE3hG,KAAgB2hG,EAAEV,WAAY,CAAC,EAEzE,EAGV,KAAAihI,YAAc,CAACL,EAAmDC,KACrE,IAAKD,EACD,OAGJ,IAAIE,EAAW,EACf,MACMC,GADc,IAAIxnM,MACU0mM,oBAGlC,GAAKY,EAUE,CACH,MAAMG,EAAcD,EAAgB,GAC9Bb,EAAQ9nN,OAAOyoN,EAAU51O,MAAM,KAAK,IAU1C,GARIi1O,EAAQc,EAAc,IACtBF,GAAY,GAGZZ,EAAQc,GAAe,KACvBF,EAAW,GAGE,IAAbA,EACA,OAAOF,C,MAhBX,GANIG,EAAgB,IAChBD,EAAW,GAEXC,EAAgB,IAChBD,GAAY,GAEM,IAAlBC,EACA,OAAOH,EAkBf,MAAMvrN,EAAM9S,OAAOjV,QAAQszO,GAAavpO,KAAI,EAAE0H,EAAKihG,MAAa,CAC5DjhG,MACAihG,cAaJ,OAVmB3qF,EAAIhe,KAAI,CAACmb,EAAMltB,IAAO,OAAD,wBACjCktB,GAAI,CACPwtF,SACkB,IAAd8gI,EACMzrN,EAAI/vB,IAAM+vB,EAAIhmB,OAAS,EAAI,EAAI/J,EAAI,GAAG06G,QACtC3qF,EAAU,IAAN/vB,EAAU+vB,EAAIhmB,OAAS,EAAI/J,EAAI,GAAG06G,YAG1BriE,QAAO,CAACt4C,EAAGq7G,IAAO,OAAD,wBAAMr7G,GAAC,CAAE,CAACq7G,EAAE3hG,KAAgB2hG,EAAEV,WAAY,CAAC,EAEzE,CAjI2D,CAoIrE,2BAAMkhI,CAAsBld,EAAaiJ,GAC5C,MAAMjK,EAASiK,IAAmB,EAAApF,eAAeqF,KACjD,IACI,MAAMrkO,QAAiBrD,KAAKu6O,sBAAsBpB,oBAAoB3a,EAAKhB,GAE3E,OAD0Bn6N,EAASxC,KAAK4J,QAAQuiB,GAAgC,IAAvBA,EAAK5lB,OAAOyC,SAAcgI,KAAKmb,GAASA,EAAKmH,I,CAExG,MAAOlzB,GAEL,MADAD,QAAQ+G,IAAI9G,GACN,IAAI2D,MAAM3D,aAAK,EAALA,EAAO6D,Q,CAE/B,CAEO,2BAAMkrO,CAAsBxR,EAAaiJ,EAAgCjuK,G,QAC5E,MAAMgkK,EAASiK,IAAmB,EAAApF,eAAeqF,KAEjD,IACI,MAAMrkO,QAAiBrD,KAAKu6O,sBAAsBvK,sBAAsBxR,EAAKhB,GAE7E,MAAO,CACHpmB,SAAUkjC,GA/KJljC,EA+K+B/zM,EAASxC,KAAKu2M,SA9KxDA,EAAS7mL,MAAK,CAAC1wB,EAAQ2wB,IACtB3wB,EAAEk5F,UAAYvoE,EAAEuoE,WACR,EAERl5F,EAAEk5F,UAAYvoE,EAAEuoE,UACT,EAEJ,KAuK+Dv/B,GAC9DtkD,OAAQ7R,EAASxC,KAAKqU,O,CAE5B,MAAOjU,GACL,GAAyC,QAAjB,QAApB,EAAc,QAAd,EAAAA,EAAMoC,gBAAQ,eAAExC,YAAI,eAAEI,MAAM8C,MAC5B,MAAO,CACHqzM,SAAU,GACVliM,OAAQ,GACRymO,iBAAa13O,GAGrB,MAAM,IAAIW,MAAM,uB,CA1LP,IAACwyM,CA4LlB,CAEO,yBAAAwkC,CAA0B/6O,GAC7B,MAAMg7O,EAAgBh7O,EAAKgR,KAAKmb,GAASA,EAAKriB,gBAE9C,OAAOwvO,EAAmB1vO,QAAO,EAAGrG,cAAey3O,EAAcv5O,SAAS8B,EAASuG,gBACvF,CAEO,2BAAAmxO,CAA4Bj7O,GAC/B,OACIA,EAAKyB,SAAS,EAAA83O,SAAShK,WACvBvvO,EAAKyB,SAAS,EAAA83O,SAAS/J,aACvBxvO,EAAKyB,SAAS,EAAA83O,SAASC,oCAE/B,CAEO,8BAAM/J,CACT9R,EACAiJ,EACArjO,GAEA,MAAMo5N,EAASiK,IAAmB,EAAApF,eAAeqF,WAC3C1nO,KAAKu6O,sBAAsBjK,yBAAyB9R,EAAKhB,EAAQp5N,EAC3E,CAEO,8BAAMg1O,CAAyB5a,EAAaiJ,GAC/C,MAAMjK,EAASiK,IAAmB,EAAApF,eAAeqF,KACjD,IACI,MAAMrkO,QAAiBrD,KAAKu6O,sBAAsBnB,yBAAyB5a,EAAKhB,GAahF,OAZsC,OAAH,wBAC5Bn6N,EAASxC,MAAI,CAChB04O,UAAWl2O,EAASxC,KAAK04O,UAAU1nO,KAAKmb,I,YAAS,sCAC1CA,GAAI,CACP+uN,SAAW/uN,EAAK+uN,SAAkB,OAAD,wBAC1B/uN,EAAK+uN,UAAQ,CAChBV,UAAWr7O,KAAKi7O,QAAqB,QAAb,EAAAjuN,EAAK+uN,gBAAQ,eAAEV,WACvCW,QAASh8O,KAAKi7O,QAAqB,QAAb,EAAAjuN,EAAK+uN,gBAAQ,eAAEC,SACrCZ,YAAap7O,KAAKy7O,YAAyB,QAAb,EAAAzuN,EAAK+uN,gBAAQ,eAAEX,YAA0B,QAAb,EAAApuN,EAAK+uN,gBAAQ,eAAEV,aAJlD,MAM7B,K,CAGR,MAAOxrO,GACL,MAAM,IAAIjL,MAAMiL,EAAE/K,Q,CAE1B,CAEO,gCAAM00O,CACThb,EACAiJ,EACAh3N,G,YAEA,MAAM+sN,EAASiK,IAAmB,EAAApF,eAAeqF,KAE3CuU,EAAyB,OAAH,wBACrBxrO,GAAO,CACVyrO,SAAU,OAAF,wBACDzrO,EAAQyrO,UAAQ,CACnBH,SAAWtrO,EAAQyrO,SAASH,SAAkB,OAAD,wBACtCtrO,EAAQyrO,SAASH,UAAQ,CAC5BV,UAAWr7O,KAAKk7O,MAA+B,QAAzB,EAAAzqO,EAAQyrO,SAASH,gBAAQ,eAAEV,WACjDW,QAASh8O,KAAKk7O,MAA+B,QAAzB,EAAAzqO,EAAQyrO,SAASH,gBAAQ,eAAEC,SAC/CZ,YAAap7O,KAAKm7O,UACW,QAAzB,EAAA1qO,EAAQyrO,SAASH,gBAAQ,eAAEX,YACF,QAAzB,EAAA3qO,EAAQyrO,SAASH,gBAAQ,eAAEV,aANI,SAiB/C,aALuBr7O,KAAKu6O,sBAAsBf,2BAC9Chb,EACAhB,EACAye,IAEYp7O,IACpB,CAEO,gCAAM44O,CACTjb,EACAiJ,EACAh3N,GAEA,MAAM+sN,EAASiK,IAAmB,EAAApF,eAAeqF,KAE3CuU,EAAyB,OAAH,wBACrBxrO,GAAO,CACV8oO,UAAW9oO,EAAQ8oO,UAAU1nO,KAAKmb,I,QAAS,sCACpCA,GAAI,CACP+uN,SAAW/uN,EAAK+uN,SAAkB,OAAD,wBAC1B/uN,EAAK+uN,UAAQ,CAChBV,UAAWr7O,KAAKk7O,MAAmB,QAAb,EAAAluN,EAAK+uN,gBAAQ,eAAEV,WACrCW,QAASh8O,KAAKk7O,MAAmB,QAAb,EAAAluN,EAAK+uN,gBAAQ,eAAEC,SACnCZ,YAAap7O,KAAKm7O,UAAUnuN,EAAK+uN,SAASX,YAAapuN,EAAK+uN,SAASV,aAJ9C,MAM7B,MAQN,aALuBr7O,KAAKu6O,sBAAsBd,2BAC9Cjb,EACAhB,EACAye,IAEYp7O,IACpB,CAEO,gCAAM64O,CAA2Blb,EAAaiJ,EAAgCtzM,GACjF,MAAMqpM,EAASiK,IAAmB,EAAApF,eAAeqF,KAEjD,aADuB1nO,KAAKu6O,sBAAsBb,2BAA2Blb,EAAKhB,EAAQrpM,IAC1EtzB,IACpB,CAEO,gCAAM84O,CAA2Bnb,EAAaiJ,G,QACjD,MAAMjK,EAASiK,IAAmB,EAAApF,eAAeqF,KACjD,IACI,MAAMrkO,QAAiBrD,KAAKu6O,sBAAsBZ,2BAA2Bnb,EAAKhB,GAC5E2e,EAAgC,OAAH,wBAC5B94O,EAASxC,MAAI,CAChB+4O,YAAav2O,EAASxC,KAAK+4O,YAAY/nO,KAAKmb,I,YAAS,sCAC9CA,GAAI,CACP+uN,SAAW/uN,EAAK+uN,SAAkB,OAAD,wBAC1B/uN,EAAK+uN,UAAQ,CAChBV,UAAWr7O,KAAKi7O,QAAqB,QAAb,EAAAjuN,EAAK+uN,gBAAQ,eAAEV,WACvCW,QAASh8O,KAAKi7O,QAAqB,QAAb,EAAAjuN,EAAK+uN,gBAAQ,eAAEC,SACrCZ,YAAap7O,KAAKy7O,YAAyB,QAAb,EAAAzuN,EAAK+uN,gBAAQ,eAAEX,YAA0B,QAAb,EAAApuN,EAAK+uN,gBAAQ,eAAEV,aAJlD,MAM7B,MAEN,OAAOc,C,CACT,MAAOtsO,GACL,GAAqC,QAAjB,QAAhB,EAAU,QAAV,EAAAA,EAAExM,gBAAQ,eAAExC,YAAI,eAAEI,MAAM8C,MACxB,MAAO,CACHg0O,qBAAsB,MACtBsB,eAAgB,GAChBC,qBAAsB,EACtBM,YAAa,IAGrB,MAAM,IAAIh1O,MAAMiL,EAAE/K,Q,CAE1B,CAEO,kCAAM+0O,CACTrb,EACAiJ,EACAh3N,G,YAEA,MAAM+sN,EAASiK,IAAmB,EAAApF,eAAeqF,KAE3CuU,EAAyB,OAAH,wBACrBxrO,GAAO,CACV2rO,WAAY,OAAF,wBACH3rO,EAAQ2rO,YAAU,CACrBL,SAAWtrO,EAAQ2rO,WAAWL,SAAkB,OAAD,wBACxCtrO,EAAQ2rO,WAAWL,UAAQ,CAC9BV,UAAWr7O,KAAKk7O,MAAiC,QAA3B,EAAAzqO,EAAQ2rO,WAAWL,gBAAQ,eAAEV,WACnDW,QAASh8O,KAAKk7O,MAAiC,QAA3B,EAAAzqO,EAAQ2rO,WAAWL,gBAAQ,eAAEC,SACjDZ,YAAap7O,KAAKm7O,UACa,QAA3B,EAAA1qO,EAAQ2rO,WAAWL,gBAAQ,eAAEX,YACF,QAA3B,EAAA3qO,EAAQ2rO,WAAWL,gBAAQ,eAAEV,aANI,SAiBjD,aALuBr7O,KAAKu6O,sBAAsBV,6BAC9Crb,EACAhB,EACAye,IAEYp7O,IACpB,CAEO,kCAAMi5O,CACTtb,EACAiJ,EACAh3N,GAEA,MAAM+sN,EAASiK,IAAmB,EAAApF,eAAeqF,KAE3CuU,EAAyB,OAAH,wBACrBxrO,GAAO,CACVmpO,YAAanpO,EAAQmpO,YAAY/nO,KAAKmb,I,YAAS,sCACxCA,GAAI,CACP+uN,SAAW/uN,EAAK+uN,SAAkB,OAAD,wBAC1B/uN,EAAK+uN,UAAQ,CAChBV,UAAWr7O,KAAKk7O,MAAmB,QAAb,EAAAluN,EAAK+uN,gBAAQ,eAAEV,WACrCW,QAASh8O,KAAKk7O,MAAmB,QAAb,EAAAluN,EAAK+uN,gBAAQ,eAAEC,SACnCZ,YAAap7O,KAAKm7O,UAAuB,QAAb,EAAAnuN,EAAK+uN,gBAAQ,eAAEX,YAA0B,QAAb,EAAApuN,EAAK+uN,gBAAQ,eAAEV,aAJhD,MAM7B,MAQN,aALuBr7O,KAAKu6O,sBAAsBT,6BAC9Ctb,EACAhB,EACAye,IAEYp7O,IACpB,CAEO,kCAAMk5O,CAA6Bvb,EAAaiJ,EAAgCtzM,GACnF,MAAMqpM,EAASiK,IAAmB,EAAApF,eAAeqF,KAEjD,aADuB1nO,KAAKu6O,sBAAsBR,6BAA6Bvb,EAAKhB,EAAQrpM,IAC5EtzB,IACpB,CAEO,6BAAMm5O,CAAwBxb,EAAaiJ,GAC9C,MAAMjK,EAASiK,IAAmB,EAAApF,eAAeqF,KAEjD,aADuB1nO,KAAKu6O,sBAAsBP,wBAAwBxb,EAAKhB,IAC/D38N,IACpB,CAEO,gCAAMo5O,CACTzb,EACAiJ,EACAh3N,GAEA,MAAM+sN,EAASiK,IAAmB,EAAApF,eAAeqF,WAC3C1nO,KAAKu6O,sBAAsBN,2BAA2Bzb,EAAKhB,EAAQ/sN,EAC7E,CAEO,wCAAMypO,CACT1b,EACAiJ,EACArjO,EACA4uO,GAEA,MAAMxV,EAASiK,IAAmB,EAAApF,eAAeqF,KAC3CrkO,QAAiBrD,KAAKu6O,sBAAsBL,mCAC9C1b,EACAhB,EACAp5N,EACA4uO,GAEJ,GAAI,CAAC,UAAW,eAAe1wO,SAASe,EAASxC,KAAKuG,QAClD,MAAM,IAAIxC,MAAM,yCAEpB,OAAOvB,EAASxC,IACpB,E,ygBC3cJ,aACA,aACA,Y,+HCiQA,SAAYu5O,GACR,YACA,0BACA,sBACA,kCACA,yEACA,wBACA,qCACH,CARD,CAAY,EAAAA,WAAA,EAAAA,SAAQ,KAkBpB,SAAYiC,GACR,yBACA,wCACH,CAHD,CAAY,EAAAA,gCAAA,EAAAA,8BAA6B,I,wGCpRzC,gBA0EA,wBAMI,WAAAx3O,CAA6By3O,EAAsCniJ,EAA8CoH,GAApF,KAAA+6I,YAAAA,EAAsC,KAAAniJ,YAAAA,EAA8C,KAAAoH,MAAAA,EAFzG,KAAAg8H,WAAcC,GAAoBA,EAAS,aAAax9N,KAAKuhG,QAAU,YAAYvhG,KAAKuhG,QAG5FvhG,KAAKu7F,eAAiB,YAAYgG,GACtC,CAGO,0BAAMg7I,CAAqB/d,EAAahB,GAC3C,MAAMh7N,EAAM,YAAYg8N,4BAA8Bx+N,KAAKu9N,WAAWC,KAEhEn6N,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAAgB/4F,EADjD,CAAC,UAAW,eAG5B,IAAKa,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAC1B,CAGO,sBAAM6zO,CAAiBhe,EAAahB,GACvC,MAAMh7N,EAAM,YAAYg8N,uBAAyBx+N,KAAKu9N,WAAWC,KAC3Dz7N,EAAU,CAAC,UAAW,aAAc,kBAAmB/B,KAAKs8O,aAC5Dj5O,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAAgB/4F,EAAKT,GAEtE,IAAKsB,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAC1B,CAGO,wBAAM8zO,CAAmBje,EAAahB,EAAiBrpM,GAC1D,MAAM3xB,EAAM,YAAYg8N,mBAAqBrqM,SAAUn0B,KAAKu9N,WAAWC,KAEjEn6N,QAAiBrD,KAAKm6F,YAAY6zB,OAAOhuH,KAAKu7F,eAAgB/4F,OAAKyB,EADzD,CAAC,UAAW,eAG5B,IAAKZ,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,SAEpE,CAGO,2BAAMs1O,CAAsBle,EAAahB,GAC5C,MAAMh7N,EAAM,YAAYg8N,4BAA8Bx+N,KAAKu9N,WAAWC,KAChEz7N,EAAU,CAAC,UAAW,aAAc,kBAAmB/B,KAAKs8O,aAC5Dj5O,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAAgB/4F,EAAKT,GAEtE,GAAwB,MAApBsB,EAAS+D,OACT,MAAM,IAAI,EAAAowO,uBAGd,IAAKn0O,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAC1B,CAGO,6BAAMg0O,CAAwBne,EAAahB,GAC9C,MAAMh7N,EAAM,YAAYg8N,gCAAkCx+N,KAAKu9N,WAAWC,KACpEz7N,EAAU,CAAC,UAAW,aAAc,kBAAmB/B,KAAKs8O,aAC5Dj5O,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAAgB/4F,EAAKT,GAEtE,IAAKsB,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAC1B,CAGO,8BAAMi0O,CAAyBpe,EAAahB,EAAiBqf,GAChE,MAAMr6O,EAAM,YAAYg8N,gCAAkCx+N,KAAKu9N,WAAWC,KAEpEn6N,QAAiBrD,KAAKm6F,YAAYuZ,IAAI1zG,KAAKu7F,eAAgB/4F,EAAK6/B,KAAKC,UAAUu6M,GADrE,CAAC,UAAW,aAAc,eAAgB,qBAG1D,IAAKx5O,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,SAEpE,CAGO,gCAAM01O,CAA2Bte,EAAahB,GACjD,MAAMh7N,EAAM,YAAYg8N,8BAAgCx+N,KAAKu9N,WAAWC,KAElEn6N,QAAiBrD,KAAKm6F,YAAYnzF,KAAKhH,KAAKu7F,eAAgB/4F,EAAK6/B,KAAKC,UAAU,CAAC,GADvE,CAAC,UAAW,aAAc,eAAgB,qBAG1D,IAAKj/B,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,SAEpE,CAGO,yBAAM21O,CAAoBve,EAAahB,EAAiBrpM,GAC3D,MAAM3xB,EAAM,YAAYg8N,mBAAqBrqM,SAAUn0B,KAAKu9N,WAAWC,KACjEz7N,EAAU,CAAC,UAAW,aAAc,kBAAmB/B,KAAKs8O,aAC5Dj5O,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAAgB/4F,EAAKT,GAEtE,IAAKsB,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAC1B,E,iICzLJ,gBAOA,WASA,SAAYq0O,GACR,0BACA,gBACA,oBACA,kBACA,sBACA,gBACA,aACH,CARD,CAAY,EAAAA,wBAAA,EAAAA,sBAAqB,KAiCjC,yBACI,WAAAn4O,CAA6Bo4O,GAAA,KAAAA,gBAAAA,CAC7B,CAEO,0BAAMV,CAAqB/d,EAAaiJ,G,YAC3C,IAAIyV,EACJA,QAAkCl9O,KAAKi9O,gBAAgBV,qBAAqB/d,EAAKx+N,KAAKw9N,OAAOiK,IAC7F,MAAM5mO,EAAOq8O,EAA0Br8O,KACvC,MAAO,CACHs8O,kBAA2C,QAAxB,EAAAt8O,aAAI,EAAJA,EAAMu8O,0BAAkB,aAAIn5O,EAC/Co5O,gBAAuC,QAAtB,EAAAx8O,aAAI,EAAJA,EAAMy8O,wBAAgB,aAAIr5O,EAC3Cs5O,kBAA2C,QAAxB,EAAA18O,aAAI,EAAJA,EAAM28O,0BAAkB,aAAIv5O,EAC/Cw5O,gBAAuC,QAAtB,EAAA58O,aAAI,EAAJA,EAAM68O,wBAAgB,aAAIz5O,EAEnD,CAEO,6BAAM05O,CAAwBnf,EAAaiJ,GAC9C,MAAMmW,QAA8B59O,KAAKi9O,gBAAgBT,iBAAiBhe,EAAKx+N,KAAKw9N,OAAOiK,IAC3F,OAAImW,aAAqB,EAArBA,EAAuB/8O,MAChBb,KAAK69O,iCAAiCD,EAAsB/8O,MAAMgR,KAAInD,IAC9D,CACHylB,GAAIzlB,EAAMylB,GACV2pN,UAAWpvO,EAAMqvO,WACjBjG,WAAYppO,EAAMqpO,yBAK3B,EACX,CAEO,wBAAM0E,CAAmBje,EAAaiJ,EAAgCtzM,SACnEn0B,KAAKi9O,gBAAgBR,mBAAmBje,EAAKx+N,KAAKw9N,OAAOiK,GAAiBtzM,EACpF,CAEO,2BAAMuoN,CAAsBle,EAAaiJ,G,YAC5C,MAAMuW,QAAmCh+O,KAAKi9O,gBAAgBP,sBAAsBle,EAAKx+N,KAAKw9N,OAAOiK,IACrG,IAAIwW,EAA8D,QAA9C,EAAAD,aAA0B,EAA1BA,EAA4Bn9O,KAAKo9O,qBAAa,QAAI,GAElExW,IAAmB,EAAApF,eAAeqF,OAClCuW,EAA8F,QAA9E,EAAAA,EAAcxzO,QAAQyzO,IAAgB,MAAC,OAA8B,QAA9B,EAAAA,EAAaC,yBAAiB,QAAQ,WAAC,QAAI,IAEtG,MAAMC,EAAuBp+O,KAAKq+O,6BAA6BJ,GAC/D,MAAO,CACHnG,WAA4C,QAAhC,EAAAkG,aAA0B,EAA1BA,EAA4Bn9O,YAAI,eAAEk3O,qBAC9C+F,UAA2C,QAAhC,EAAAE,aAA0B,EAA1BA,EAA4Bn9O,YAAI,eAAEk9O,WAC7CK,uBAER,CAEO,yBAAMrB,CAAoBve,EAAaiJ,EAAgCtzM,G,UAC1E,MAAMmqN,QAA6Bt+O,KAAKi9O,gBAAgBF,oBAAoBve,EAAKx+N,KAAKw9N,OAAOiK,GAAiBtzM,GACxGiqN,EAAuBp+O,KAAKq+O,6BAAqE,QAAxC,EAAAC,aAAoB,EAApBA,EAAsBz9O,KAAKo9O,qBAAa,QAAI,IAC3G,MAAO,CACHnG,WAAsC,QAA1B,EAAAwG,aAAoB,EAApBA,EAAsBz9O,YAAI,eAAEk3O,qBACxC+F,UAAqC,QAA1B,EAAAQ,aAAoB,EAApBA,EAAsBz9O,YAAI,eAAEk9O,WACvCK,uBAER,CAEO,6BAAMzB,CAAwBne,EAAaiJ,GAC9C,MAAM8W,QAAqCv+O,KAAKi9O,gBAAgBN,wBAAwBne,EAAKx+N,KAAKw9N,OAAOiK,IACzG,OAAO,EAAA+W,2BAA2BC,yCAAyCF,EAC/E,CAEO,8BAAM3B,CAAyBpe,EAAaiJ,EAAgCoV,SACzE78O,KAAKi9O,gBAAgBL,yBAAyBpe,EAAKx+N,KAAKw9N,OAAOiK,GACjE,EAAA+W,2BAA2BE,qCAAqC7B,GACxE,CAEO,gCAAMC,CAA2Bte,EAAaiJ,SAC3CznO,KAAKi9O,gBAAgBH,2BAA2Bte,EAAKx+N,KAAKw9N,OAAOiK,GAC3E,CAEQ,MAAAjK,CAAOiK,GACX,OAAOA,IAAmB,EAAApF,eAAeqF,IAC7C,CAEQ,gCAAAmW,CAAiCc,GACrC,OAAOA,EAAcpuN,MAAK,CAACquN,EAAmCC,IAC7B,IAAI9qM,KAAK6qM,EAAY7G,sBAAuBpjK,UAC3C,IAAI5gC,KAAK8qM,EAAa9G,sBAAuBpjK,WACpB,EAAI,GAEnE,CAEQ,4BAAA0pK,CAA6BJ,GACjC,MAAM/tN,EAAkC,GAoBxC,OAlBA+tN,SAAAA,EAAex3O,SAASy3O,I,MACpB,MAAM95O,EAAW85O,EAAa95O,SAC9B,GAAIA,EAAU,CACV,MAAM06O,EAA0B,CAC5B74O,KAAMi4O,EAAaj4O,KACnBsM,KAAuB,QAAjB,EAAA2rO,EAAa3rO,YAAI,aAAItO,EAC3B86O,SAAUb,EAAaa,UAErBC,EAAmB9uN,EAAOjtB,MAAKg8O,GAAuBA,EAAoB76O,WAAaA,IAEzF46O,GAAoBA,EAAiBf,cACrCe,EAAiBf,cAAcz6O,KAAKs7O,GAEpC5uN,EAAO1sB,KAAK,CAACY,WAAU65O,cAAe,CAACa,I,KAK5C5uN,CACX,E,iHC3IJ,mCACW,+CAAOuuN,CAAyCS,G,4BACnD,MAAMr+O,EAAOq+O,aAAW,EAAXA,EAAar+O,KAC1B,MAAO,CACHs+O,UAAW,CACPC,UAAmC,QAAxB,EAAAv+O,aAAI,EAAJA,EAAMw+O,0BAAkB,SACnC7kI,QAA+C,aAAvB,QAAf,EAAA35G,aAAI,EAAJA,EAAMs+O,iBAAS,eAAEG,kBAC1BxjH,SAAU97H,KAAKu/O,mCAAkD,QAAf,EAAA1+O,aAAI,EAAJA,EAAMs+O,iBAAS,eAAEK,qBAAsB,EAAG,GAC5FC,WAAYz/O,KAAKu/O,mCAAkD,QAAf,EAAA1+O,aAAI,EAAJA,EAAMs+O,iBAAS,eAAEM,WAAY,GAAI,IAEzFC,cAAe,CACXN,UAAuC,QAA5B,EAAAv+O,aAAI,EAAJA,EAAM8+O,8BAAsB,SACvCnlI,QAAqD,KAAX,QAAhC,EAAmB,QAAnB,EAAA35G,aAAI,EAAJA,EAAM6+O,qBAAa,eAAEE,mBAAW,QAAI,GAC9C9jH,SAAU97H,KAAKu/O,mCAAsD,QAAnB,EAAA1+O,aAAI,EAAJA,EAAM6+O,qBAAa,eAAEE,YAAa,GAAI,MAE5FC,iBAAkB,CACdT,UAA0C,QAA/B,EAAAv+O,aAAI,EAAJA,EAAMi/O,iCAAyB,SAC1CtlI,QAAwD,KAAX,QAAnC,EAAsB,QAAtB,EAAA35G,aAAI,EAAJA,EAAMg/O,wBAAgB,eAAED,mBAAW,QAAI,GACjD9jH,SAAU97H,KAAKu/O,mCAAyD,QAAtB,EAAA1+O,aAAI,EAAJA,EAAMg/O,wBAAgB,eAAED,YAAa,GAAI,MAGvG,CAEO,2CAAOlB,CAAqC7B,GAC/C,MAAO,CACHsC,UAAW,CACPG,iBAAkBzC,EAAqBsC,UAAU3kI,QAAU,UAAY,OACvEilI,WAAY5C,EAAqBsC,UAAUM,WAC3CD,qBAAsB3C,EAAqBsC,UAAUrjH,UAEzD4jH,cAAe,CACXE,YAAa/C,EAAqB6C,cAAcllI,QAAUqiI,EAAqB6C,cAAc5jH,SAAW,GAE5G+jH,iBAAkB,CACdD,YAAa/C,EAAqBgD,iBAAiBrlI,QAAUqiI,EAAqBgD,iBAAiB/jH,SAAW,GAG1H,CAEQ,yCAAOyjH,CAAmC7wO,EAA2BqxO,EAAkB5pF,GAC3F,MAAM5xI,EAAS2d,MAAMhoB,KAAKgoB,MAAM69M,GAAUhiN,QAAQszB,IAAMA,EAAI,GAAK8kG,IACjE,OAAOznJ,GAAS6V,EAAOjiB,SAASoM,GAASA,EAAQ6V,EAAO,EAC5D,E,gGCnDJ,mBACI,WAAA1f,CAA6Bs1F,EAA8CoH,GAA9C,KAAApH,YAAAA,EAA8C,KAAAoH,MAAAA,CAC3E,CAEO,oCAAMy+I,CACTxhB,EACAyhB,EACAC,GAEA,MAAMn+O,EAAuB,CACzB,yBAA0Bk+O,EAAgBl8N,WAC1C,uBAAwBm8N,EAAcn8N,YAEpC1gB,QAAiBrD,KAAKm6F,YAAYz5F,IAAI,aAAaV,KAAKuhG,QAC1D,eAAei9H,oBAAuBz8N,GAE1C,IAAKsB,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,UAGhE,aAAa/D,EAASsF,MAC1B,CAEO,uBAAMw3O,CAAkB3hB,GAC3B,OAAOx+N,KAAKogP,2BAA2B5hB,GAAK,EAChD,CAEO,wCAAM6hB,CAAmC7hB,GAC5C,OAAOx+N,KAAKogP,2BAA2B5hB,GAAK,EAChD,CAEO,sBAAM8hB,CAAiB9hB,GAC1B,OAAOx+N,KAAKogP,2BAA2B5hB,GAAK,EAChD,CAEQ,gCAAM4hB,CACV5hB,EACA+hB,GAEA,MAAMx+O,EAAuB,CACzB,yBAA0Bw+O,EAAqBx8N,WAC/C,yBAAwB,GAAKA,YAEjC,IAAI1gB,EAEJ,IACIA,QAAiBrD,KAAKm6F,YAAYz5F,IAAI,aAAaV,KAAKuhG,QACpD,eAAei9H,oBAAuBz8N,E,CAC5C,MAAO8N,GACL,M,CAEJ,GAAKxM,EAASm4F,GAId,aAAan4F,EAASsF,MAE1B,E,oGClEJ,gBAIA,oBAEI,WAAA9D,CAA6B27O,EAAyC3iB,GAAzC,KAAA2iB,WAAAA,EAAyC,KAAA3iB,cAAAA,CAA+B,CAE9F,wBAAM4iB,CAAmBjiB,EAAyByhB,GAAkB,EAAOC,GAAgB,GAC9F,IAAIQ,EAA8B,CAAEC,QAAS,EAAAte,eAAe6F,QAAS+X,gBAAiB,GAAIC,cAAe,EAAA3d,cAAc2F,SAEvH,IAAK1J,EACD,OAAOkiB,EAGXA,QAAqB1gP,KAAKwgP,WAAWR,+BAA+BxhB,EAAKyhB,EAAiBC,GAkB1F,OAhBuB,EAAA7d,eAAeqe,aAAY,EAAZA,EAAcC,WAEhD3gP,KAAK69N,cAAc58N,MAAM,oDAAoDu9N,KAC7EkiB,EAAaC,QAAU,EAAAte,eAAe6F,SAGtC+X,GAAmBS,EAAaC,UAAY,EAAAte,eAAeqF,OAC3D1nO,KAAK69N,cAAc58N,MAAM,qDAAqDu9N,yBAA2BkiB,EAAaC,WACtHD,EAAaT,gBAAkB,IAG/BC,KAAkBQ,aAAY,EAAZA,EAAcR,iBAChClgP,KAAK69N,cAAc58N,MAAM,mDAAmDu9N,KAC5EkiB,EAAaR,cAAgB,EAAA3d,cAAc2F,SAGxCwY,CACX,CAKO,uBAAMP,CAAkB3hB,GAC3B,IAAKA,EACD,OAAO,EAAA6D,eAAe6F,QAE1B,MAAMwY,QAAqB1gP,KAAKwgP,WAAWL,kBAAkB3hB,GACvDiJ,EAAiB,EAAApF,eAAeqe,aAAY,EAAZA,EAAcC,SAIpD,OAHKlZ,GACDznO,KAAK69N,cAAc58N,MAAM,oDAAoDu9N,KAE1EiJ,QAAAA,EAAkB,EAAApF,eAAe6F,OAC5C,CAEO,4BAAM0Y,CAAuBpiB,EAAaiJ,G,MAC7C,GAAIA,IAAmB,EAAApF,eAAeqF,KAClC,OAAO,EAAAjF,gBAAgByF,QAE3B,MAAMwY,QAAqB1gP,KAAKwgP,WAAWH,mCAAmC7hB,GAE9E,OAAOx+N,KAAK6gP,uBAAoD,QAA7B,EAAAH,aAAY,EAAZA,EAAcT,uBAAe,QAAI,EAAAxd,gBAAgByF,QACxF,CAEO,wBAAM4Y,CAAmBtiB,EAAaiJ,GACzC,GAAIA,IAAmB,EAAApF,eAAeqF,KAClC,MAAO,GAEX,MAAMgZ,QAAqB1gP,KAAKwgP,WAAWH,mCAAmC7hB,GAE9E,OAAOkiB,aAAY,EAAZA,EAAcT,kBAAmB,EAC5C,CAEO,sBAAMK,CAAiB9hB,G,MAC1B,IAAKA,EACD,OAAO,EAAA+D,cAAc2F,QAEzB,MAAMwY,QAAqB1gP,KAAKwgP,WAAWF,iBAAiB9hB,GAC5D,OAAKkiB,aAAY,EAAZA,EAAcR,gBAAkBnjO,OAAOwH,OAAO,EAAAg+M,eAAejgO,SAASo+O,EAAaR,iBAGpFQ,aAAY,EAAZA,EAAcR,iBAA4C,QAA3B,EAAAQ,aAAY,EAAZA,EAAcR,qBAAa,eAAEr2O,QACrD62O,EAAaR,cAHb,EAAA3d,cAAc2F,OAM7B,CAEQ,sBAAA2Y,CAAuBZ,GAC3B,OAAIA,EAAgBj8O,WAAW,MACpB,EAAAy+N,gBAAgBse,IAEvBd,EAAgBj8O,WAAW,MACpB,EAAAy+N,gBAAgBue,IAEvBf,EAAgBj8O,WAAW,MACpB,EAAAy+N,gBAAgBwe,IAEpB,EAAAxe,gBAAgByF,OAC3B,E,yGC/EJ,2BAEI,WAAArjO,CACqBq8O,EACA/mJ,EACAoH,GAFA,KAAA2/I,uBAAAA,EACA,KAAA/mJ,YAAAA,EACA,KAAAoH,MAAAA,CAErB,CAEO,eAAM4/I,CAAU14G,GACnB,MAAM24G,EAAkBphP,KAAKkhP,uBAAuBG,qCAAqC54G,GAEnFplI,QAAiBrD,KAAKm6F,YAAYz5F,IAAI,oBAAoBV,KAAKuhG,QAAS6/I,GAC9E,GAAI/9O,EAASm4F,GACT,aAAan4F,EAASsF,OAG1B,MAAM,IAAI/D,YAAYvB,EAAS4C,OACnC,E,yGC7BJ,MAAaq7O,EAIT,WAAAz8O,CAA6B08O,EACA1jB,GADA,KAAA0jB,mBAAAA,EACA,KAAA1jB,cAAAA,CAC7B,CAEO,sBAAM2jB,CAAiB/4G,GAC1B,IACI,MAAMplI,QAAiBrD,KAAKuhP,mBAAmBJ,UAAU14G,GACzD,IAAKplI,EAAS0pL,OACV,MAAM,IAAInoL,MAAM,oDAEpB,OAAIvB,EAAS+I,UAAYk1O,EAAoBG,qBAClC,GAEJp+O,EAAS0pL,M,CAClB,MAAOl9K,GAEL,OADA7P,KAAK69N,cAAc58N,MAAM,iCAAkC4O,GACpD,E,CAEf,EAtBJ,wBAEmB,EAAA4xO,qBAAuB,S,+GCN1C,gBAGA,+BAOI,WAAA58O,CAA6B4G,GAAA,KAAAA,aAAAA,EALZ,KAAAi2O,sBAAwB,OACxB,KAAAC,cAAgB,QAChB,KAAAC,qBAAuB,aACvB,KAAAC,6BAA+B,qBAG5C7hP,KAAK8hP,qBAAuB,yBAChC,CAEO,oCAAAT,CAAqC54G,GACxC,IAAIs5G,EACA16K,EACJ,IACQ,EAAA+mK,2BAA2BQ,uBAAuBnmG,EAAQ+1F,MAC1DujB,EAAgB/hP,KAAKyL,aAAau2O,aAAahiP,KAAK6hP,8BAA8BE,cAClF16K,EAAQrnE,KAAKyL,aAAau2O,aAAahiP,KAAK6hP,8BAA8Bx6K,QAE1E06K,EAAgB/hP,KAAKyL,aAAau2O,aAAahiP,KAAK4hP,sBAAsBG,cAC1E16K,EAAQrnE,KAAKyL,aAAau2O,aAAahiP,KAAK4hP,sBAAsBv6K,M,CAExE,MAAOx3D,GACLkyO,EAAgB/hP,KAAK0hP,sBACrBr6K,EAAQrnE,KAAK2hP,a,CAGjB,OAAO3hP,KAAK8hP,qBAAuB9hP,KAAKiiP,oBAAoBx5G,GAAW,kBAAkBs5G,WAAuB16K,GACpH,CAEQ,mBAAA46K,CAAoBx5G,GACxB,OAAQA,EAAQ+1F,IACwE/1F,EAAQ+1F,IAA5F/1F,EAAQy8F,iBAAmB,IAAMz8F,EAAQm9F,IAAM,IAAMn9F,EAAQo9F,oBACrE,E,4GC9BJ,8BACW,gCAAOqc,CAA0Bhd,EAA2BU,EAAcC,GAC7E,GAAKX,GAAqBW,GAAyBD,EAGnD,MAAO,GAAGV,KAAoBU,KAAOC,GACzC,CAEO,gCAAOsc,CAA0BC,GACpC,MAAMC,EAASD,aAAY,EAAZA,EAAc38O,MAAM,KACnC,GAAK48O,GAA4B,IAAlBA,EAAOx4O,QAAkBw4O,EAAO,IAAMA,EAAO,IAAMA,EAAO,GAGzE,MAAO,CACHnd,iBAAkBmd,EAAO,GACzBzc,IAAKyc,EAAO,GACZxc,qBAAsBwc,EAAO,GAErC,E,kGCvBJ,gBAEA,UA+CA,kBAII,WAAAx9O,CAA6Bs1F,EAA6BoH,GAA7B,KAAApH,YAAAA,EAI7B,KAAAmoJ,0BAA4B,CACxB,eAAgB,oBAJhBtiP,KAAKu7F,eAAiB,YAAYgG,GACtC,CAOO,6BAAMghJ,GACT,MAAMl/O,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAAgB,wBAC7D,CAAEinJ,SAAS,YAEf,GAAwB,MAApBn/O,EAAS+D,OACT,MAAM,IAAI,EAAAq7O,sBAGd,IAAKp/O,EAASm4F,GACV,MAAM,IAAI52F,MAGd,aAAavB,EAASsF,MAC1B,CAGO,4BAAM+5O,CAAuBlkB,GAChC,MAAMn7N,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAAgB,yBAAyBijI,IACtF,CAAEgkB,SAAS,YAEf,GAAwB,MAApBn/O,EAAS+D,OACT,MAAM,IAAI,EAAAq7O,sBAGd,IAAKp/O,EAASm4F,GACV,MAAM,IAAI52F,MAGd,aAAavB,EAASsF,MAC1B,CAGO,qBAAMg6O,CAAgBnkB,EAAaokB,SAChC5iP,KAAKm6F,YAAYwwI,MAAM3qO,KAAKu7F,eAC9B,gDAAgDijI,IAAOn8L,KAAKC,UAAUsgN,GAAa,+BAC9E5iP,KAAKsiP,2BAAyB,CAAEE,SAAS,YACtD,CAGO,4BAAMK,CAAuBC,EAAiCF,SAC3D5iP,KAAKm6F,YAAYwwI,MAAM3qO,KAAKu7F,eAC9B,yDAAGunJ,EAAe5d,oBAAoB4d,EAAeld,OAAOkd,EAAejd,uBAC3ExjM,KAAKC,UAAUsgN,GAAe,OAAF,wBAAO5iP,KAAKsiP,2BAAyB,CAAEE,SAAS,YACpF,CAGO,+BAAMO,CAA0BC,GAKnC,WAJuBhjP,KAAKm6F,YAAYuZ,IAAI1zG,KAAKu7F,eAC7C,8CAA+Cl5D,KAAKC,UAAU0gN,GAAS,+BAClEhjP,KAAKsiP,2BAAyB,CAAEE,SAAS,cAEpChnJ,GACV,MAAM,IAAI52F,KAElB,CAGO,yBAAMq+O,CAAoBb,EAAsB5jB,GAKnD,WAJuBx+N,KAAKm6F,YAAYuZ,IAAI1zG,KAAKu7F,eAC7C,8CAA8C6mJ,QAC9C//M,KAAKC,UAAU,CAAEk8L,QAAQ,OAAF,wBAAOx+N,KAAKsiP,2BAAyB,CAAEE,SAAS,cAE7DhnJ,GACV,MAAM,IAAI52F,KAElB,CAGO,sBAAMs+O,CAAiB1kB,GAC1B,MAEMn7N,QAAiBrD,KAAKm6F,YAAYuZ,IAAI1zG,KAAKu7F,eAC7C,sCAAsCijI,SAAOv6N,EAAW,CAAEu+O,SAAS,YAEvE,IALyB,CAAC,IAAK,IAAK,KAKdlgP,SAASe,EAAS+D,QACpC,MAAM,IAAIxC,MAAM,mCAAmCvB,EAAS+D,SAEpE,CAGO,yBAAM+7O,CAAoB3kB,GAC7B,MAAMn7N,QAAiBrD,KAAKm6F,YAAYuZ,IAAI1zG,KAAKu7F,eAAgB,qBAAqBijI,SAClFv6N,EAAW,CAAEu+O,SAAS,YAE1B,IAAKn/O,EAASm4F,GACV,MAAM,IAAI52F,MAAM,mCAAmCvB,EAAS+D,SAEpE,CAGO,4BAAMg8O,CAAuBC,GAKhC,WAJuBrjP,KAAKm6F,YAAYnzF,KAAKhH,KAAKu7F,eAC9C,8CAA+Cl5D,KAAKC,UAAU+gN,GAAoB,+BAC7ErjP,KAAKsiP,2BAAyB,CAAEE,SAAS,cAEpChnJ,GACV,MAAM,IAAI52F,KAElB,CAGO,+BAAM0+O,CAA0BD,G,QACnC,IAAIE,EAA+B,qBACJ,QAA3B,EAAAF,EAAoB56G,eAAO,eAAE+1F,KAC7B+kB,GAAgC,QAAQF,EAAoB56G,QAAQ+1F,MAEpE+kB,GAAgC,iBAA4C,QAA3B,EAAAF,EAAoB56G,eAAO,eAAE25G,eAMlF,WAHuBpiP,KAAKm6F,YAAY6zB,OAAOhuH,KAAKu7F,eAAgBgoJ,OAChEt/O,EAAW,CAAEu+O,SAAS,aAEZhnJ,GACV,MAAM,IAAI52F,KAElB,CAGO,gBAAM4+O,GAIT,WAHuBxjP,KAAKm6F,YAAY6zB,OAAOhuH,KAAKu7F,eAAgB,mBAChEt3F,EAAW,CAAEu+O,SAAS,aAEZhnJ,GACV,MAAM,IAAI52F,KAElB,CAGO,2BAAM6+O,CAAsB/lB,EAAgBc,GAI/C,WAHuBx+N,KAAKm6F,YAAY6zB,OAAOhuH,KAAKu7F,eAChD,YAAYmiI,cAAmBc,SAAOv6N,EAAW,CAAEu+O,SAAS,aAElDhnJ,GACV,MAAM,IAAI52F,KAElB,E,qHCrMJ,gBACA,UA4BA,qCAEW,mDAAO8+O,CAA6CV,G,gBACvD,OAAO,OAAP,sBACIxkB,IAAqB,QAAhB,EAAAwkB,EAASv6G,eAAO,eAAE+1F,KACpB,EAAAmlB,sBAAsBxB,0BAA0C,QAAhB,EAAAa,EAASv6G,eAAO,eAAE25G,eAAa,CAClFza,SAAUqb,EAASY,gBACnBC,mBAAoBb,EAASc,aAC7BtS,aAAcwR,EAASxR,WACvBzxF,SAAUijG,EAASjjG,SACnBgkG,gBAAiBf,EAASe,gBAC1BC,uBAAwBhB,EAASgB,uBACjCC,iBAAkBjB,EAASiB,iBAC3BnsN,KAA8C,QAAxC,IAAA0qM,KAAKwgB,EAASlrN,aAA0B,QAAI,EAAA0qM,KAAK0F,QACvDkB,iBAA8F,QAA5E,IAAA9G,iBAAiB0gB,EAAS5Z,yBAAkD,QAAI,EAAA9G,iBAAiB4F,QACnHT,eAA2F,QAA3E,IAAApF,eAA+B,QAAhB,EAAA2gB,EAASv6G,eAAO,eAAEy7G,mBAA0C,QAAI,EAAA7hB,eAAe6F,SAEtH,CAEO,qDAAOic,CAA+CC,GACzD,MAAM7lB,EAAmC,GAIzC,OAHA6lB,EAAU39O,SAAQu8O,IACdzkB,EAAS/6N,KAAKxD,KAAK0jP,6CAA6CV,GAAU,IAEvEzkB,CACX,CAEO,mDAAO8lB,CAA6C57G,GACvD,MAAM25G,EAAe,EAAAuB,sBAAsBzB,0BAA0Bz5G,EAAQy8F,iBAAkBz8F,EAAQm9F,IAAKn9F,EAAQo9F,sBACpH,MAAO,CACH+d,gBAAiBn7G,EAAQk/F,SACzBmc,aAAcr7G,EAAQo7G,mBACtBp7G,QAAS,CACL+1F,IAAK/1F,EAAQ+1F,IACb4jB,gBAGZ,E,mGCnEJ,gBACA,UAEA,UACA,UAEA,UAMA,mBACI,WAAAv9O,CACqBy/O,EACAC,EACAC,GAFA,KAAAF,UAAAA,EACA,KAAAC,YAAAA,EACA,KAAAC,kBAAAA,CAClB,CAEI,iBAAMC,GACT,MAAMC,QAAoB1kP,KAAKskP,UAAU/B,0BACzC,IAAIhkB,EAAmC,GACvC,GAAImmB,EAAYN,UAAW,CACvB,MAAMO,QAAyB3kP,KAAK4kP,4BAA4BF,GAChEnmB,EAAW,EAAAsmB,6BAA6BV,+CAA+CQ,E,CAE3F,OAAOpmB,CACX,CAEO,gBAAMumB,CAAWtmB,G,MAEpB,IAAIwkB,SADsBhjP,KAAKskP,UAAU5B,uBAAuBlkB,IACZwkB,SACpD,GAAKA,EAAL,CAGA,KAAqB,QAAhB,EAAAA,EAASv6G,eAAO,eAAEy7G,YAAY,CAC/B,MAAMA,QAAmBlkP,KAAKukP,YAAYpE,kBAAkB3hB,GAC5DwkB,EAAW,OAAH,wBAAQA,GAAQ,CAAEv6G,QAAS,OAAF,wBAAOu6G,EAASv6G,SAAO,CAAEy7G,gB,CAE9D,OAAO,EAAAW,6BAA6BV,+CAA+C,CAACnB,IAAW,E,CACnG,CAEO,6CAAM+B,CAAwCt8G,G,QACjD,MAAMm6G,EAAsC,CACxC,CACIxiN,GAAI,UACJgoB,KAAM,mBACN15C,MAAuB,QAAhB,EAAA+5H,EAAQk/F,gBAAQ,QAAI,IAE/B,CACIvnM,GAAI,UACJgoB,KAAM,gBACN15C,MAAiC,QAA1B,EAAA+5H,EAAQo7G,0BAAkB,QAAI,KAG7C,GAAIp7G,EAAQ+1F,UACFx+N,KAAKskP,UAAU3B,gBAAgBl6G,EAAQ+1F,IAAKokB,OAC/C,CACH,MAAME,EAAkC,CACpC5d,iBAAkBz8F,EAAQy8F,iBAC1BU,IAAKn9F,EAAQm9F,IACbC,qBAAsBp9F,EAAQo9F,4BAE5B7lO,KAAKskP,UAAUzB,uBAAuBC,EAAgBF,E,CAEpE,CAEO,0BAAMoC,CAAqBv8G,EAAwCw8G,GACtE,MAAMrC,EAAsC,CACxC,CACIxiN,GAAI,UACJgoB,KAAM,cACN15C,MAAO2V,OAAO4gO,KAGtB,GAAIx8G,EAAQ+1F,UACFx+N,KAAKskP,UAAU3B,gBAAgBl6G,EAAQ+1F,IAAKokB,OAC/C,CACH,MAAME,EAAkC,CACpC5d,iBAAkBz8F,EAAQy8F,iBAC1BU,IAAKn9F,EAAQm9F,IACbC,qBAAsBp9F,EAAQo9F,4BAE5B7lO,KAAKskP,UAAUzB,uBAAuBC,EAAgBF,E,CAEpE,CAEO,mCAAMsC,CAA8Bz8G,EAAwC+1F,GAC/E,MAAM4jB,EAAe,EAAAuB,sBAAsBzB,0BACvCz5G,EAAQy8F,iBACRz8F,EAAQm9F,IACRn9F,EAAQo9F,4BAEN7lO,KAAKskP,UAAUrB,oBAAoBb,EAAe5jB,EAC5D,CAEO,gBAAM2mB,CAAW18G,GACpB,GAAIzoI,KAAKolP,qBAAqB38G,GAI1B,aAHMzoI,KAAKskP,UAAUlB,uBACjB,EAAAyB,6BAA6BR,6CAA6C57G,IAEvEzoI,KAAKqlP,0BAA0B58G,GAEtC,MAAM7jI,MAAM,kBAEpB,CAEO,mBAAM0gP,CAAc78G,GACvB,KAAIA,EAAQ+1F,KAAQ/1F,EAAQy8F,kBAAoBz8F,EAAQm9F,KAAOn9F,EAAQo9F,sBAKnE,MAAMjhO,MAAM,yBAJN5E,KAAKskP,UAAUhB,0BACjB,EAAAuB,6BAA6BR,6CAA6C57G,GAKtF,CAEO,mBAAM88G,CAAc98G,GACvB,IAAKA,EAAQ+1F,IACT,MAAM,IAAI,EAAAgnB,wBAEd,MAAM,aAAErc,EAAY,GAAEQ,EAAE,GAAED,GAAO,EAAAd,gBACjC,GAAI5oO,KAAKwkP,kBAAkB3b,cAAcpgG,EAAS0gG,SACxCnpO,KAAKskP,UAAUpB,iBAAiBz6G,EAAQ+1F,SAC3C,KAAIx+N,KAAKwkP,kBAAkB3b,cAAcpgG,EAASihG,EAAIC,GAGzD,MAAM,IAAI,EAAA6b,8BAFJxlP,KAAKskP,UAAUnB,oBAAoB16G,EAAQ+1F,I,CAIzD,CAEO,kBAAMinB,G,QACT,MAAMf,QAAoB1kP,KAAKskP,UAAU/B,0BACzC,OAAmC,QAA5B,EAAiB,QAAjB,EAAAmC,aAAW,EAAXA,EAAaz+I,YAAI,eAAEy/I,iBAAS,QAAI,EAC3C,CAEO,gBAAMlC,SACHxjP,KAAKskP,UAAUd,YACzB,CAEO,2BAAMC,CAAsB/lB,EAAgBc,SACzCx+N,KAAKskP,UAAUb,sBAAsB/lB,EAAQc,EACvD,CAEQ,iCAAMomB,CACVF,GAEA,OAAO1oL,QAAQukE,IACXmkH,EAAYN,UAAUvyO,KAAIxR,MAAO2iP,I,UAC7B,MAAMkB,EAC0B,QAA5B,EAAgB,QAAhB,EAAAlB,EAASv6G,eAAO,eAAEy7G,kBAAU,cAAWlkP,KAAKukP,YAAYpE,kBAAkC,QAAhB,EAAA6C,EAASv6G,eAAO,eAAE+1F,KAChG,OAAO,+BACAwkB,GAAQ,CACXv6G,QAAS,OAAF,wBAAOu6G,EAASv6G,SAAO,CAAEy7G,gBACR,IAGxC,CAEQ,oBAAAkB,CAAqB38G,GACzB,OAAOA,EAAQ+1F,KAAQ/1F,EAAQy8F,kBAAoBz8F,EAAQm9F,KAAOn9F,EAAQo9F,oBAC9E,CAEQ,+BAAMwf,CAA0B58G,G,QACpC,MAAMk9G,EAAe,+BACdl9G,GAAO,CACV3wG,KAAM,EAAA0qM,KAAK0F,QACXkB,iBAAkB,EAAA9G,iBAAiB4F,QACnCT,eAAgB,EAAApF,eAAe6F,QAC/BsJ,YAAY,IAEhB,IACI,OAAI/oG,EAAQ+1F,IACmC,QAAnC,QAAMx+N,KAAK8kP,WAAWr8G,EAAQ+1F,YAAK,QAAImnB,EAEe,QAAtD,QAAM3lP,KAAK4lP,kCAAkCn9G,UAAS,QAAIk9G,C,CAExE,MAAO91O,GACL,OAAO81O,C,CAEf,CAEQ,uCAAMC,CACVC,GAIA,aAF0B7lP,KAAKykP,eAEZxhP,MACdwlI,GACGA,EAAQy8F,mBAAqB2gB,EAAa3gB,kBAC1Cz8F,EAAQo9F,uBAAyBggB,EAAahgB,sBAC9Cp9F,EAAQm9F,MAAQigB,EAAajgB,KAEzC,CAEO,qBAAM+c,CAAgBnkB,EAAa/tN,GACtC,aAAazQ,KAAKskP,UAAU3B,gBAAgBnkB,EAAK/tN,EACrD,E,0GCrMJ,gBAOA,0BAMI,WAAA5L,CAA6Bs1F,EAA8CoH,GAA9C,KAAApH,YAAAA,EAA8C,KAAAoH,MAAAA,EAFnE,KAAAg8H,WAAcC,GAAoBA,EAAS,aAAax9N,KAAKuhG,QAAU,YAAYvhG,KAAKuhG,QAG5FvhG,KAAKu7F,eAAiB,YAAYgG,GACtC,CAEO,uBAAMukJ,CAAkBtnB,EAAahB,GACxC,IAAIn6N,EACJ,IACIA,QAAiBrD,KAAKm6F,YAAYz5F,IAAIV,KAAKu7F,eAAgB,YAAYijI,oBAAsBx+N,KAAKu9N,WAAWC,KAAW,CAAEglB,SAAS,W,CACrI,MAAO3yO,GACL,M,CAGJ,GAAKxM,EAASm4F,GAId,aAAan4F,EAASsF,MAC1B,E,+HC7BJ,gBAEA,IAAYo9O,GAAZ,SAAYA,GACR,8BACA,gCACA,kDACA,oBACA,mBACH,CAND,CAAYA,EAAA,EAAAA,oBAAA,EAAAA,kBAAiB,KAQ7B,2BACI,WAAAlhP,CAA6BmhP,GAAA,KAAAA,kBAAAA,CAC7B,CAEO,uBAAMF,CAAkBtnB,EAAaiJ,G,MACxC,MAAMjK,EAASiK,IAAmB,EAAApF,eAAeqF,KAC3Cgd,QAAoB1kP,KAAKgmP,kBAAkBF,kBAAkBtnB,EAAKhB,GACxE,IAAKknB,EACD,MAAM9/O,MAAM,8BAGhB,OAA0B,QAAlB,EAAA8/O,EAAYt9O,cAAM,eAAEuD,eACxB,IAAK,UACD,OAAOo7O,EAAkBE,QAC7B,IAAK,eACD,OAAOF,EAAkBG,aAC7B,IAAK,gBACD,OAAOH,EAAkBI,cAC7B,IAAK,yBACD,OAAOJ,EAAkBK,uBAC7B,QACI,OAAOL,EAAkB7d,QAErC,E,8GClCJ,MAAasd,UAAgC5gP,MACzC,WAAAC,CAAYwvD,GACHA,IACDA,EAAI,6DAERtvD,MAAMsvD,EACV,EANJ,2B,4GCAA,MAAaouL,UAA8B79O,MACvC,WAAAC,CAAYwvD,GACHA,IACDA,EAAI,kCAERtvD,MAAMsvD,EACV,EANJ,yB,8BCEAt3C,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETqO,OAAOwvD,eAAe/sE,EAAS,MAAO,CACpCosM,YAAY,EACZlrM,IAAK,WACH,OAAO2lP,EAAK7kO,OACd,IAEFzE,OAAOwvD,eAAe/sE,EAAS,QAAS,CACtCosM,YAAY,EACZlrM,IAAK,WACH,OAAOm+M,EAAOr9L,OAChB,IAEFzE,OAAOwvD,eAAe/sE,EAAS,YAAa,CAC1CosM,YAAY,EACZlrM,IAAK,WACH,OAAO4lP,EAAW9kO,OACpB,IAEFzE,OAAOwvD,eAAe/sE,EAAS,KAAM,CACnCosM,YAAY,EACZlrM,IAAK,WACH,OAAO6lP,EAAG/kO,OACZ,IAEFzE,OAAOwvD,eAAe/sE,EAAS,KAAM,CACnCosM,YAAY,EACZlrM,IAAK,WACH,OAAO8lP,EAAIhlO,OACb,IAEFzE,OAAOwvD,eAAe/sE,EAAS,KAAM,CACnCosM,YAAY,EACZlrM,IAAK,WACH,OAAO+lP,EAAIjlO,OACb,IAEFzE,OAAOwvD,eAAe/sE,EAAS,KAAM,CACnCosM,YAAY,EACZlrM,IAAK,WACH,OAAOgmP,EAAIllO,OACb,IAEFzE,OAAOwvD,eAAe/sE,EAAS,WAAY,CACzCosM,YAAY,EACZlrM,IAAK,WACH,OAAOimP,EAAUnlO,OACnB,IAEFzE,OAAOwvD,eAAe/sE,EAAS,UAAW,CACxCosM,YAAY,EACZlrM,IAAK,WACH,OAAO+jH,EAASjjG,OAClB,IAGF,IAAI+kO,EAAKK,EAAuB,EAAQ,OAEpCJ,EAAMI,EAAuB,EAAQ,OAErCH,EAAMG,EAAuB,EAAQ,OAErCF,EAAME,EAAuB,EAAQ,OAErCP,EAAOO,EAAuB,EAAQ,OAEtCniI,EAAWmiI,EAAuB,EAAQ,OAE1CD,EAAYC,EAAuB,EAAQ,OAE3CN,EAAaM,EAAuB,EAAQ,OAE5C/nC,EAAS+nC,EAAuB,EAAQ,OAE5C,SAASA,EAAuB92N,GAAO,OAAOA,GAAOA,EAAI+2N,WAAa/2N,EAAM,CAAEtO,QAASsO,EAAO,C,0BCf9F,SAASg3N,EAAgBC,GACvB,OAAwC,IAAhCA,EAAe,KAAO,GAAK,GAAU,CAC/C,CAsHA,SAASC,EAAQ31L,EAAGF,GAClB,MAAM81L,GAAW,MAAJ51L,IAAmB,MAAJF,GAE5B,OADaE,GAAK,KAAOF,GAAK,KAAO81L,GAAO,KAC9B,GAAW,MAANA,CACrB,CAcA,SAASC,EAAOC,EAAGtnP,EAAG2wB,EAAG6gC,EAAGqD,EAAGvjC,GAC7B,OAAO61N,GATcljO,EASQkjO,EAAQA,EAAQnnP,EAAGsnP,GAAIH,EAAQ31L,EAAGlgC,OATrCi2N,EAS0C1yL,GARhD5wC,IAAQ,GAAKsjO,EAQuC52N,GAT1E,IAAuB1M,EAAKsjO,CAU5B,CAEA,SAASC,EAAMxnP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAGqD,EAAGvjC,GAC/B,OAAO+1N,EAAO12N,EAAI1F,GAAK0F,EAAI2H,EAAGt4B,EAAG2wB,EAAG6gC,EAAGqD,EAAGvjC,EAC5C,CAEA,SAASm2N,EAAMznP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAGqD,EAAGvjC,GAC/B,OAAO+1N,EAAO12N,EAAI2H,EAAIrN,GAAKqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAGqD,EAAGvjC,EAC5C,CAEA,SAASo2N,EAAM1nP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAGqD,EAAGvjC,GAC/B,OAAO+1N,EAAO12N,EAAI1F,EAAIqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAGqD,EAAGvjC,EACvC,CAEA,SAASq2N,EAAM3nP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAGqD,EAAGvjC,GAC/B,OAAO+1N,EAAOp8N,GAAK0F,GAAK2H,GAAIt4B,EAAG2wB,EAAG6gC,EAAGqD,EAAGvjC,EAC1C,CAzNApU,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAA,aAAkB,EAwNlB,IAAIioP,EAlMJ,SAAaC,GACX,GAAqB,iBAAVA,EAAoB,CAC7B,MAAMt7H,EAAMu7H,SAASp0H,mBAAmBm0H,IAExCA,EAAQ,IAAIE,WAAWx7H,EAAIviH,QAE3B,IAAK,IAAI/J,EAAI,EAAGA,EAAIssH,EAAIviH,SAAU/J,EAChC4nP,EAAM5nP,GAAKssH,EAAIlrF,WAAWphC,EAE9B,CAEA,OAOF,SAA8BorB,GAC5B,MAAMorE,EAAS,GACTuxJ,EAA0B,GAAf38N,EAAMrhB,OACjBi+O,EAAS,mBAEf,IAAK,IAAIhoP,EAAI,EAAGA,EAAI+nP,EAAU/nP,GAAK,EAAG,CACpC,MAAMuxD,EAAInmC,EAAMprB,GAAK,KAAOA,EAAI,GAAK,IAC/B0xK,EAAMj+H,SAASu0M,EAAOptO,OAAO22C,IAAM,EAAI,IAAQy2L,EAAOptO,OAAW,GAAJ22C,GAAW,IAC9EilC,EAAO9yF,KAAKguK,EACd,CAEA,OAAOl7E,CACT,CAnBSyxJ,CAiCT,SAAoB12L,EAAG8lD,GAErB9lD,EAAE8lD,GAAO,IAAM,KAAQA,EAAM,GAC7B9lD,EAAEy1L,EAAgB3vI,GAAO,GAAKA,EAC9B,IAAIt3G,EAAI,WACJ2wB,GAAK,UACL1F,GAAK,WACLqN,EAAI,UAER,IAAK,IAAIr4B,EAAI,EAAGA,EAAIuxD,EAAExnD,OAAQ/J,GAAK,GAAI,CACrC,MAAMkoP,EAAOnoP,EACPooP,EAAOz3N,EACP03N,EAAOp9N,EACPq9N,EAAOhwN,EACbt4B,EAAIwnP,EAAMxnP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAEvxD,GAAI,GAAI,WAChCq4B,EAAIkvN,EAAMlvN,EAAGt4B,EAAG2wB,EAAG1F,EAAGumC,EAAEvxD,EAAI,GAAI,IAAK,WACrCgrB,EAAIu8N,EAAMv8N,EAAGqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAEvxD,EAAI,GAAI,GAAI,WACpC0wB,EAAI62N,EAAM72N,EAAG1F,EAAGqN,EAAGt4B,EAAGwxD,EAAEvxD,EAAI,GAAI,IAAK,YACrCD,EAAIwnP,EAAMxnP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAEvxD,EAAI,GAAI,GAAI,WACpCq4B,EAAIkvN,EAAMlvN,EAAGt4B,EAAG2wB,EAAG1F,EAAGumC,EAAEvxD,EAAI,GAAI,GAAI,YACpCgrB,EAAIu8N,EAAMv8N,EAAGqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAEvxD,EAAI,GAAI,IAAK,YACrC0wB,EAAI62N,EAAM72N,EAAG1F,EAAGqN,EAAGt4B,EAAGwxD,EAAEvxD,EAAI,GAAI,IAAK,UACrCD,EAAIwnP,EAAMxnP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAEvxD,EAAI,GAAI,EAAG,YACnCq4B,EAAIkvN,EAAMlvN,EAAGt4B,EAAG2wB,EAAG1F,EAAGumC,EAAEvxD,EAAI,GAAI,IAAK,YACrCgrB,EAAIu8N,EAAMv8N,EAAGqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAEvxD,EAAI,IAAK,IAAK,OACtC0wB,EAAI62N,EAAM72N,EAAG1F,EAAGqN,EAAGt4B,EAAGwxD,EAAEvxD,EAAI,IAAK,IAAK,YACtCD,EAAIwnP,EAAMxnP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAEvxD,EAAI,IAAK,EAAG,YACpCq4B,EAAIkvN,EAAMlvN,EAAGt4B,EAAG2wB,EAAG1F,EAAGumC,EAAEvxD,EAAI,IAAK,IAAK,UACtCgrB,EAAIu8N,EAAMv8N,EAAGqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAEvxD,EAAI,IAAK,IAAK,YACtC0wB,EAAI62N,EAAM72N,EAAG1F,EAAGqN,EAAGt4B,EAAGwxD,EAAEvxD,EAAI,IAAK,GAAI,YACrCD,EAAIynP,EAAMznP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAEvxD,EAAI,GAAI,GAAI,WACpCq4B,EAAImvN,EAAMnvN,EAAGt4B,EAAG2wB,EAAG1F,EAAGumC,EAAEvxD,EAAI,GAAI,GAAI,YACpCgrB,EAAIw8N,EAAMx8N,EAAGqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAEvxD,EAAI,IAAK,GAAI,WACrC0wB,EAAI82N,EAAM92N,EAAG1F,EAAGqN,EAAGt4B,EAAGwxD,EAAEvxD,GAAI,IAAK,WACjCD,EAAIynP,EAAMznP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAEvxD,EAAI,GAAI,GAAI,WACpCq4B,EAAImvN,EAAMnvN,EAAGt4B,EAAG2wB,EAAG1F,EAAGumC,EAAEvxD,EAAI,IAAK,EAAG,UACpCgrB,EAAIw8N,EAAMx8N,EAAGqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAEvxD,EAAI,IAAK,IAAK,WACtC0wB,EAAI82N,EAAM92N,EAAG1F,EAAGqN,EAAGt4B,EAAGwxD,EAAEvxD,EAAI,GAAI,IAAK,WACrCD,EAAIynP,EAAMznP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAEvxD,EAAI,GAAI,EAAG,WACnCq4B,EAAImvN,EAAMnvN,EAAGt4B,EAAG2wB,EAAG1F,EAAGumC,EAAEvxD,EAAI,IAAK,GAAI,YACrCgrB,EAAIw8N,EAAMx8N,EAAGqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAEvxD,EAAI,GAAI,IAAK,WACrC0wB,EAAI82N,EAAM92N,EAAG1F,EAAGqN,EAAGt4B,EAAGwxD,EAAEvxD,EAAI,GAAI,GAAI,YACpCD,EAAIynP,EAAMznP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAEvxD,EAAI,IAAK,GAAI,YACrCq4B,EAAImvN,EAAMnvN,EAAGt4B,EAAG2wB,EAAG1F,EAAGumC,EAAEvxD,EAAI,GAAI,GAAI,UACpCgrB,EAAIw8N,EAAMx8N,EAAGqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAEvxD,EAAI,GAAI,GAAI,YACpC0wB,EAAI82N,EAAM92N,EAAG1F,EAAGqN,EAAGt4B,EAAGwxD,EAAEvxD,EAAI,IAAK,IAAK,YACtCD,EAAI0nP,EAAM1nP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAEvxD,EAAI,GAAI,GAAI,QACpCq4B,EAAIovN,EAAMpvN,EAAGt4B,EAAG2wB,EAAG1F,EAAGumC,EAAEvxD,EAAI,GAAI,IAAK,YACrCgrB,EAAIy8N,EAAMz8N,EAAGqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAEvxD,EAAI,IAAK,GAAI,YACrC0wB,EAAI+2N,EAAM/2N,EAAG1F,EAAGqN,EAAGt4B,EAAGwxD,EAAEvxD,EAAI,IAAK,IAAK,UACtCD,EAAI0nP,EAAM1nP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAEvxD,EAAI,GAAI,GAAI,YACpCq4B,EAAIovN,EAAMpvN,EAAGt4B,EAAG2wB,EAAG1F,EAAGumC,EAAEvxD,EAAI,GAAI,GAAI,YACpCgrB,EAAIy8N,EAAMz8N,EAAGqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAEvxD,EAAI,GAAI,IAAK,WACrC0wB,EAAI+2N,EAAM/2N,EAAG1F,EAAGqN,EAAGt4B,EAAGwxD,EAAEvxD,EAAI,IAAK,IAAK,YACtCD,EAAI0nP,EAAM1nP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAEvxD,EAAI,IAAK,EAAG,WACpCq4B,EAAIovN,EAAMpvN,EAAGt4B,EAAG2wB,EAAG1F,EAAGumC,EAAEvxD,GAAI,IAAK,WACjCgrB,EAAIy8N,EAAMz8N,EAAGqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAEvxD,EAAI,GAAI,IAAK,WACrC0wB,EAAI+2N,EAAM/2N,EAAG1F,EAAGqN,EAAGt4B,EAAGwxD,EAAEvxD,EAAI,GAAI,GAAI,UACpCD,EAAI0nP,EAAM1nP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAEvxD,EAAI,GAAI,GAAI,WACpCq4B,EAAIovN,EAAMpvN,EAAGt4B,EAAG2wB,EAAG1F,EAAGumC,EAAEvxD,EAAI,IAAK,IAAK,WACtCgrB,EAAIy8N,EAAMz8N,EAAGqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAEvxD,EAAI,IAAK,GAAI,WACrC0wB,EAAI+2N,EAAM/2N,EAAG1F,EAAGqN,EAAGt4B,EAAGwxD,EAAEvxD,EAAI,GAAI,IAAK,WACrCD,EAAI2nP,EAAM3nP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAEvxD,GAAI,GAAI,WAChCq4B,EAAIqvN,EAAMrvN,EAAGt4B,EAAG2wB,EAAG1F,EAAGumC,EAAEvxD,EAAI,GAAI,GAAI,YACpCgrB,EAAI08N,EAAM18N,EAAGqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAEvxD,EAAI,IAAK,IAAK,YACtC0wB,EAAIg3N,EAAMh3N,EAAG1F,EAAGqN,EAAGt4B,EAAGwxD,EAAEvxD,EAAI,GAAI,IAAK,UACrCD,EAAI2nP,EAAM3nP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAEvxD,EAAI,IAAK,EAAG,YACpCq4B,EAAIqvN,EAAMrvN,EAAGt4B,EAAG2wB,EAAG1F,EAAGumC,EAAEvxD,EAAI,GAAI,IAAK,YACrCgrB,EAAI08N,EAAM18N,EAAGqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAEvxD,EAAI,IAAK,IAAK,SACtC0wB,EAAIg3N,EAAMh3N,EAAG1F,EAAGqN,EAAGt4B,EAAGwxD,EAAEvxD,EAAI,GAAI,IAAK,YACrCD,EAAI2nP,EAAM3nP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAEvxD,EAAI,GAAI,EAAG,YACnCq4B,EAAIqvN,EAAMrvN,EAAGt4B,EAAG2wB,EAAG1F,EAAGumC,EAAEvxD,EAAI,IAAK,IAAK,UACtCgrB,EAAI08N,EAAM18N,EAAGqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAEvxD,EAAI,GAAI,IAAK,YACrC0wB,EAAIg3N,EAAMh3N,EAAG1F,EAAGqN,EAAGt4B,EAAGwxD,EAAEvxD,EAAI,IAAK,GAAI,YACrCD,EAAI2nP,EAAM3nP,EAAG2wB,EAAG1F,EAAGqN,EAAGk5B,EAAEvxD,EAAI,GAAI,GAAI,WACpCq4B,EAAIqvN,EAAMrvN,EAAGt4B,EAAG2wB,EAAG1F,EAAGumC,EAAEvxD,EAAI,IAAK,IAAK,YACtCgrB,EAAI08N,EAAM18N,EAAGqN,EAAGt4B,EAAG2wB,EAAG6gC,EAAEvxD,EAAI,GAAI,GAAI,WACpC0wB,EAAIg3N,EAAMh3N,EAAG1F,EAAGqN,EAAGt4B,EAAGwxD,EAAEvxD,EAAI,GAAI,IAAK,WACrCD,EAAImnP,EAAQnnP,EAAGmoP,GACfx3N,EAAIw2N,EAAQx2N,EAAGy3N,GACfn9N,EAAIk8N,EAAQl8N,EAAGo9N,GACf/vN,EAAI6uN,EAAQ7uN,EAAGgwN,EACjB,CAEA,MAAO,CAACtoP,EAAG2wB,EAAG1F,EAAGqN,EACnB,CAtH8BiwN,CA6H9B,SAAsBl9N,GACpB,GAAqB,IAAjBA,EAAMrhB,OACR,MAAO,GAGT,MAAMw+O,EAAyB,EAAfn9N,EAAMrhB,OAChBysF,EAAS,IAAIpgC,YAAY4wL,EAAgBuB,IAE/C,IAAK,IAAIvoP,EAAI,EAAGA,EAAIuoP,EAASvoP,GAAK,EAChCw2F,EAAOx2F,GAAK,KAAsB,IAAforB,EAAMprB,EAAI,KAAcA,EAAI,GAGjD,OAAOw2F,CACT,CA1IyCgyJ,CAAaZ,GAAuB,EAAfA,EAAM79O,QACpE,EAuLArK,EAAA,QAAkBioP,C,4BC5NlB1qO,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAA,aAAkB,EAElB,IAAIioP,EAAW,CACbc,WAFmC,oBAAXztI,QAA0BA,OAAOytI,YAAcztI,OAAOytI,WAAWn/H,KAAKtO,SAIhGt7G,EAAA,QAAkBioP,C,4BCRlB1qO,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAA,aAAkB,EAElBA,EAAA,QADe,sC,8BCJfud,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAA,aAAkB,EAElB,IAEgCswB,EAF5B62N,GAE4B72N,EAFO,EAAQ,QAEMA,EAAI+2N,WAAa/2N,EAAM,CAAEtO,QAASsO,GAkCvF,IAAI23N,EAhCJ,SAAee,GACb,KAAK,EAAI7B,EAAUnlO,SAASgnO,GAC1B,MAAMr8I,UAAU,gBAGlB,IAAI+O,EACJ,MAAMrrF,EAAM,IAAI+3N,WAAW,IAuB3B,OArBA/3N,EAAI,IAAMqrF,EAAI3nE,SAASi1M,EAAK5tO,MAAM,EAAG,GAAI,OAAS,GAClDiV,EAAI,GAAKqrF,IAAM,GAAK,IACpBrrF,EAAI,GAAKqrF,IAAM,EAAI,IACnBrrF,EAAI,GAAS,IAAJqrF,EAETrrF,EAAI,IAAMqrF,EAAI3nE,SAASi1M,EAAK5tO,MAAM,EAAG,IAAK,OAAS,EACnDiV,EAAI,GAAS,IAAJqrF,EAETrrF,EAAI,IAAMqrF,EAAI3nE,SAASi1M,EAAK5tO,MAAM,GAAI,IAAK,OAAS,EACpDiV,EAAI,GAAS,IAAJqrF,EAETrrF,EAAI,IAAMqrF,EAAI3nE,SAASi1M,EAAK5tO,MAAM,GAAI,IAAK,OAAS,EACpDiV,EAAI,GAAS,IAAJqrF,EAGTrrF,EAAI,KAAOqrF,EAAI3nE,SAASi1M,EAAK5tO,MAAM,GAAI,IAAK,KAAO,cAAgB,IACnEiV,EAAI,IAAMqrF,EAAI,WAAc,IAC5BrrF,EAAI,IAAMqrF,IAAM,GAAK,IACrBrrF,EAAI,IAAMqrF,IAAM,GAAK,IACrBrrF,EAAI,IAAMqrF,IAAM,EAAI,IACpBrrF,EAAI,IAAU,IAAJqrF,EACHrrF,CACT,EAGArwB,EAAA,QAAkBioP,C,4BC1ClB1qO,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAA,aAAkB,EAElBA,EAAA,QADe,qH,4BCGf,IAAIw7G,EAPJj+F,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAA,QAOA,WAEE,IAAKw7G,IAEHA,EAAoC,oBAAXF,QAA0BA,OAAOE,iBAAmBF,OAAOE,gBAAgBoO,KAAKtO,SAEpGE,GACH,MAAM,IAAIp2G,MAAM,4GAIpB,OAAOo2G,EAAgBytI,EACzB,EAdA,MAAMA,EAAQ,IAAIb,WAAW,G,4BCD7B,SAASrtL,EAAE7F,EAAGrD,EAAGF,EAAGsD,GAClB,OAAQC,GACN,KAAK,EACH,OAAOrD,EAAIF,GAAKE,EAAIoD,EAEtB,KAAK,EAML,KAAK,EACH,OAAOpD,EAAIF,EAAIsD,EAJjB,KAAK,EACH,OAAOpD,EAAIF,EAAIE,EAAIoD,EAAItD,EAAIsD,EAKjC,CAEA,SAASi0L,EAAKr3L,EAAGmD,GACf,OAAOnD,GAAKmD,EAAInD,IAAM,GAAKmD,CAC7B,CAzBAz3C,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAA,aAAkB,EAiGlB,IAAIioP,EAzEJ,SAAcC,GACZ,MAAMiB,EAAI,CAAC,WAAY,WAAY,WAAY,YACzCC,EAAI,CAAC,WAAY,WAAY,WAAY,UAAY,YAE3D,GAAqB,iBAAVlB,EAAoB,CAC7B,MAAMt7H,EAAMu7H,SAASp0H,mBAAmBm0H,IAExCA,EAAQ,GAER,IAAK,IAAI5nP,EAAI,EAAGA,EAAIssH,EAAIviH,SAAU/J,EAChC4nP,EAAMlkP,KAAK4oH,EAAIlrF,WAAWphC,GAE9B,MAAYoiC,MAAMC,QAAQulN,KAExBA,EAAQxlN,MAAMtF,UAAUhiB,MAAM+hB,KAAK+qN,IAGrCA,EAAMlkP,KAAK,KACX,MAAMqlP,EAAInB,EAAM79O,OAAS,EAAI,EACvBi/O,EAAIlkN,KAAK4qC,KAAKq5K,EAAI,IAClBE,EAAI,IAAI7mN,MAAM4mN,GAEpB,IAAK,IAAIhpP,EAAI,EAAGA,EAAIgpP,IAAKhpP,EAAG,CAC1B,MAAM+vB,EAAM,IAAIqmC,YAAY,IAE5B,IAAK,IAAIpB,EAAI,EAAGA,EAAI,KAAMA,EACxBjlC,EAAIilC,GAAK4yL,EAAU,GAAJ5nP,EAAa,EAAJg1D,IAAU,GAAK4yL,EAAU,GAAJ5nP,EAAa,EAAJg1D,EAAQ,IAAM,GAAK4yL,EAAU,GAAJ5nP,EAAa,EAAJg1D,EAAQ,IAAM,EAAI4yL,EAAU,GAAJ5nP,EAAa,EAAJg1D,EAAQ,GAGnIi0L,EAAEjpP,GAAK+vB,CACT,CAEAk5N,EAAED,EAAI,GAAG,IAA2B,GAApBpB,EAAM79O,OAAS,GAAS+6B,KAAKqtB,IAAI,EAAG,IACpD82L,EAAED,EAAI,GAAG,IAAMlkN,KAAKiwB,MAAMk0L,EAAED,EAAI,GAAG,KACnCC,EAAED,EAAI,GAAG,IAA2B,GAApBpB,EAAM79O,OAAS,GAAS,WAExC,IAAK,IAAI/J,EAAI,EAAGA,EAAIgpP,IAAKhpP,EAAG,CAC1B,MAAMkpP,EAAI,IAAI9yL,YAAY,IAE1B,IAAK,IAAI/kC,EAAI,EAAGA,EAAI,KAAMA,EACxB63N,EAAE73N,GAAK43N,EAAEjpP,GAAGqxB,GAGd,IAAK,IAAIA,EAAI,GAAIA,EAAI,KAAMA,EACzB63N,EAAE73N,GAAKu3N,EAAKM,EAAE73N,EAAI,GAAK63N,EAAE73N,EAAI,GAAK63N,EAAE73N,EAAI,IAAM63N,EAAE73N,EAAI,IAAK,GAG3D,IAAItxB,EAAI+oP,EAAE,GACNp4N,EAAIo4N,EAAE,GACN99N,EAAI89N,EAAE,GACNzwN,EAAIywN,EAAE,GACN/4O,EAAI+4O,EAAE,GAEV,IAAK,IAAIz3N,EAAI,EAAGA,EAAI,KAAMA,EAAG,CAC3B,MAAMujC,EAAI9vB,KAAKiwB,MAAM1jC,EAAI,IACnB83N,EAAIP,EAAK7oP,EAAG,GAAK06D,EAAE7F,EAAGlkC,EAAG1F,EAAGqN,GAAKtoB,EAAI84O,EAAEj0L,GAAKs0L,EAAE73N,KAAO,EAC3DthB,EAAIsoB,EACJA,EAAIrN,EACJA,EAAI49N,EAAKl4N,EAAG,MAAQ,EACpBA,EAAI3wB,EACJA,EAAIopP,CACN,CAEAL,EAAE,GAAKA,EAAE,GAAK/oP,IAAM,EACpB+oP,EAAE,GAAKA,EAAE,GAAKp4N,IAAM,EACpBo4N,EAAE,GAAKA,EAAE,GAAK99N,IAAM,EACpB89N,EAAE,GAAKA,EAAE,GAAKzwN,IAAM,EACpBywN,EAAE,GAAKA,EAAE,GAAK/4O,IAAM,CACtB,CAEA,MAAO,CAAC+4O,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GAAWA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,GAAK,IAAMA,EAAE,IAAM,EAAI,IAAa,IAAPA,EAAE,GACxV,EAGAppP,EAAA,QAAkBioP,C,8BCrGlB1qO,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAA,aAAkB,EAClBA,EAAQ0pP,gBAAkBA,EAE1B,IAEgCp5N,EAF5B62N,GAE4B72N,EAFO,EAAQ,QAEMA,EAAI+2N,WAAa/2N,EAAM,CAAEtO,QAASsO,GAMvF,MAAMq5N,EAAY,GAElB,IAAK,IAAIrpP,EAAI,EAAGA,EAAI,MAAOA,EACzBqpP,EAAU3lP,MAAM1D,EAAI,KAAOikB,SAAS,IAAInJ,MAAM,IAGhD,SAASsuO,EAAgBr5N,EAAK4pC,EAAS,GAGrC,OAAO0vL,EAAUt5N,EAAI4pC,EAAS,IAAM0vL,EAAUt5N,EAAI4pC,EAAS,IAAM0vL,EAAUt5N,EAAI4pC,EAAS,IAAM0vL,EAAUt5N,EAAI4pC,EAAS,IAAM,IAAM0vL,EAAUt5N,EAAI4pC,EAAS,IAAM0vL,EAAUt5N,EAAI4pC,EAAS,IAAM,IAAM0vL,EAAUt5N,EAAI4pC,EAAS,IAAM0vL,EAAUt5N,EAAI4pC,EAAS,IAAM,IAAM0vL,EAAUt5N,EAAI4pC,EAAS,IAAM0vL,EAAUt5N,EAAI4pC,EAAS,IAAM,IAAM0vL,EAAUt5N,EAAI4pC,EAAS,KAAO0vL,EAAUt5N,EAAI4pC,EAAS,KAAO0vL,EAAUt5N,EAAI4pC,EAAS,KAAO0vL,EAAUt5N,EAAI4pC,EAAS,KAAO0vL,EAAUt5N,EAAI4pC,EAAS,KAAO0vL,EAAUt5N,EAAI4pC,EAAS,IAChf,CAgBA,IAAIguL,EAdJ,SAAmB53N,EAAK4pC,EAAS,GAC/B,MAAM+uL,EAAOU,EAAgBr5N,EAAK4pC,GAMlC,KAAK,EAAIktL,EAAUnlO,SAASgnO,GAC1B,MAAMr8I,UAAU,+BAGlB,OAAOq8I,CACT,EAGAhpP,EAAA,QAAkBioP,C,8BCzClB1qO,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAA,aAAkB,EAElB,IAIgCswB,EAJ5Bs5N,GAI4Bt5N,EAJE,EAAQ,QAIWA,EAAI+2N,WAAa/2N,EAAM,CAAEtO,QAASsO,GAFnFw2N,EAAa,EAAQ,MAQzB,IAAI+C,EAEAC,EAGAC,EAAa,EACbC,EAAa,EAkFjB,IAAI/B,EAhFJ,SAAYpjP,EAASolP,EAAKhwL,GACxB,IAAI35D,EAAI2pP,GAAOhwL,GAAU,EACzB,MAAMjpC,EAAIi5N,GAAO,IAAIvnN,MAAM,IAE3B,IAAImZ,GADJh3C,EAAUA,GAAW,CAAC,GACHg3C,MAAQguM,EACvBK,OAAgCzlP,IAArBI,EAAQqlP,SAAyBrlP,EAAQqlP,SAAWJ,EAInE,GAAY,MAARjuM,GAA4B,MAAZquM,EAAkB,CACpC,MAAMC,EAAYtlP,EAAQ82G,SAAW92G,EAAQulP,KAAOR,EAAK5nO,WAE7C,MAAR65B,IAEFA,EAAOguM,EAAU,CAAgB,EAAfM,EAAU,GAAWA,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,GAAIA,EAAU,KAG3F,MAAZD,IAEFA,EAAWJ,EAAiD,OAApCK,EAAU,IAAM,EAAIA,EAAU,IAE1D,CAMA,IAAIE,OAA0B5lP,IAAlBI,EAAQwlP,MAAsBxlP,EAAQwlP,MAAQ91M,KAAKgkB,MAG3D+xL,OAA0B7lP,IAAlBI,EAAQylP,MAAsBzlP,EAAQylP,MAAQN,EAAa,EAEvE,MAAMO,EAAKF,EAAQN,GAAcO,EAAQN,GAAc,IAavD,GAXIO,EAAK,QAA0B9lP,IAArBI,EAAQqlP,WACpBA,EAAWA,EAAW,EAAI,QAKvBK,EAAK,GAAKF,EAAQN,SAAiCtlP,IAAlBI,EAAQylP,QAC5CA,EAAQ,GAINA,GAAS,IACX,MAAM,IAAIllP,MAAM,mDAGlB2kP,EAAaM,EACbL,EAAaM,EACbR,EAAYI,EAEZG,GAAS,YAET,MAAMG,GAA4B,KAAb,UAARH,GAA6BC,GAAS,WACnDt5N,EAAE1wB,KAAOkqP,IAAO,GAAK,IACrBx5N,EAAE1wB,KAAOkqP,IAAO,GAAK,IACrBx5N,EAAE1wB,KAAOkqP,IAAO,EAAI,IACpBx5N,EAAE1wB,KAAY,IAALkqP,EAET,MAAMC,EAAMJ,EAAQ,WAAc,IAAQ,UAC1Cr5N,EAAE1wB,KAAOmqP,IAAQ,EAAI,IACrBz5N,EAAE1wB,KAAa,IAANmqP,EAETz5N,EAAE1wB,KAAOmqP,IAAQ,GAAK,GAAM,GAE5Bz5N,EAAE1wB,KAAOmqP,IAAQ,GAAK,IAEtBz5N,EAAE1wB,KAAO4pP,IAAa,EAAI,IAE1Bl5N,EAAE1wB,KAAkB,IAAX4pP,EAET,IAAK,IAAIl1L,EAAI,EAAGA,EAAI,IAAKA,EACvBhkC,EAAE1wB,EAAI00D,GAAKnZ,EAAKmZ,GAGlB,OAAOi1L,IAAO,EAAInD,EAAW4C,iBAAiB14N,EAChD,EAGAhxB,EAAA,QAAkBioP,C,8BCxGlB1qO,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAA,aAAkB,EAElB,IAAI+mP,EAAKK,EAAuB,EAAQ,OAEpCsD,EAAMtD,EAAuB,EAAQ,KAEzC,SAASA,EAAuB92N,GAAO,OAAOA,GAAOA,EAAI+2N,WAAa/2N,EAAM,CAAEtO,QAASsO,EAAO,CAG9F,IAAI23N,GADO,EAAIlB,EAAG/kO,SAAS,KAAM,GAAM0oO,EAAI1oO,SAE3ChiB,EAAA,QAAkBioP,C,8BCblB1qO,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAQ2qP,IAAM3qP,EAAQ4qP,SAAM,EAC5B5qP,EAAA,QAyBA,SAAa0E,EAAM6uE,EAASs3K,GAC1B,SAASC,EAAa57O,EAAO67O,EAAWd,EAAKhwL,GAC3C,IAAI+wL,EAUJ,GARqB,iBAAV97O,IACTA,EAtBN,SAAuBupG,GACrBA,EAAM0vI,SAASp0H,mBAAmBtb,IAElC,MAAMyvI,EAAQ,GAEd,IAAK,IAAI5nP,EAAI,EAAGA,EAAIm4G,EAAIpuG,SAAU/J,EAChC4nP,EAAMlkP,KAAKy0G,EAAI/2E,WAAWphC,IAG5B,OAAO4nP,CACT,CAYc+C,CAAc/7O,IAGC,iBAAd67O,IACTA,GAAY,EAAI1rC,EAAOr9L,SAAS+oO,IAGgE,MAAhE,QAA5BC,EAAaD,SAAsC,IAAfC,OAAwB,EAASA,EAAW3gP,QACpF,MAAMsiG,UAAU,oEAMlB,IAAIu7I,EAAQ,IAAIE,WAAW,GAAKl5O,EAAM7E,QAOtC,GANA69O,EAAMn/K,IAAIgiL,GACV7C,EAAMn/K,IAAI75D,EAAO67O,EAAU1gP,QAC3B69O,EAAQ2C,EAAS3C,GACjBA,EAAM,GAAgB,GAAXA,EAAM,GAAY30K,EAC7B20K,EAAM,GAAgB,GAAXA,EAAM,GAAY,IAEzB+B,EAAK,CACPhwL,EAASA,GAAU,EAEnB,IAAK,IAAI35D,EAAI,EAAGA,EAAI,KAAMA,EACxB2pP,EAAIhwL,EAAS35D,GAAK4nP,EAAM5nP,GAG1B,OAAO2pP,CACT,CAEA,OAAO,EAAInD,EAAW4C,iBAAiBxB,EACzC,CAGA,IACE4C,EAAapmP,KAAOA,CACtB,CAAE,MAAOgE,GAAM,CAKf,OAFAoiP,EAAaF,IAAMA,EACnBE,EAAaH,IAAMA,EACZG,CACT,EAvEA,IAIgCx6N,EAJ5Bw2N,EAAa,EAAQ,MAErBznC,GAE4B/uL,EAFI,EAAQ,QAESA,EAAI+2N,WAAa/2N,EAAM,CAAEtO,QAASsO,GAcvF,MAAMs6N,EAAM,uCACZ5qP,EAAQ4qP,IAAMA,EACd,MAAMD,EAAM,uCACZ3qP,EAAQ2qP,IAAMA,C,8BC3BdptO,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAA,aAAkB,EAElB,IAAIkrP,EAAU9D,EAAuB,EAAQ,OAEzCwC,EAAOxC,EAAuB,EAAQ,OAEtCN,EAAa,EAAQ,MAEzB,SAASM,EAAuB92N,GAAO,OAAOA,GAAOA,EAAI+2N,WAAa/2N,EAAM,CAAEtO,QAASsO,EAAO,CA4B9F,IAAI23N,EA1BJ,SAAYpjP,EAASolP,EAAKhwL,GACxB,GAAIixL,EAAQlpO,QAAQ+mO,aAAekB,IAAQplP,EACzC,OAAOqmP,EAAQlpO,QAAQ+mO,aAKzB,MAAMoC,GAFNtmP,EAAUA,GAAW,CAAC,GAED82G,SAAW92G,EAAQulP,KAAOR,EAAK5nO,WAMpD,GAHAmpO,EAAK,GAAe,GAAVA,EAAK,GAAY,GAC3BA,EAAK,GAAe,GAAVA,EAAK,GAAY,IAEvBlB,EAAK,CACPhwL,EAASA,GAAU,EAEnB,IAAK,IAAI35D,EAAI,EAAGA,EAAI,KAAMA,EACxB2pP,EAAIhwL,EAAS35D,GAAK6qP,EAAK7qP,GAGzB,OAAO2pP,CACT,CAEA,OAAO,EAAInD,EAAW4C,iBAAiByB,EACzC,EAGAnrP,EAAA,QAAkBioP,C,8BCxClB1qO,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAA,aAAkB,EAElB,IAAI+mP,EAAKK,EAAuB,EAAQ,OAEpCgE,EAAOhE,EAAuB,EAAQ,OAE1C,SAASA,EAAuB92N,GAAO,OAAOA,GAAOA,EAAI+2N,WAAa/2N,EAAM,CAAEtO,QAASsO,EAAO,CAG9F,IAAI23N,GADO,EAAIlB,EAAG/kO,SAAS,KAAM,GAAMopO,EAAKppO,SAE5ChiB,EAAA,QAAkBioP,C,8BCblB1qO,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAA,aAAkB,EAElB,IAEgCswB,EAF5B+6N,GAE4B/6N,EAFI,EAAQ,QAESA,EAAI+2N,WAAa/2N,EAAM,CAAEtO,QAASsO,GAMvF,IAAI23N,EAJJ,SAAkBe,GAChB,MAAuB,iBAATA,GAAqBqC,EAAOrpO,QAAQ6J,KAAKm9N,EACzD,EAGAhpP,EAAA,QAAkBioP,C,8BCdlB1qO,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAA,aAAkB,EAElB,IAEgCswB,EAF5B62N,GAE4B72N,EAFO,EAAQ,QAEMA,EAAI+2N,WAAa/2N,EAAM,CAAEtO,QAASsO,GAUvF,IAAI23N,EARJ,SAAiBe,GACf,KAAK,EAAI7B,EAAUnlO,SAASgnO,GAC1B,MAAMr8I,UAAU,gBAGlB,OAAO54D,SAASi1M,EAAK5tO,MAAM,GAAI,IAAK,GACtC,EAGApb,EAAA,QAAkBioP,C,qBCpBlB,IAAIp8I,EAAyB,oBAATtrG,KAAuBA,KAAOC,KAC9C8qP,EAAW,WACf,SAASC,IACT/qP,KAAKyI,OAAQ,EACbzI,KAAKgrP,aAAe3/I,EAAO2/I,YAC3B,CAEA,OADAD,EAAEnuN,UAAYyuE,EACP,IAAI0/I,CACV,CAPc,IAQf,SAAUhrP,IAEO,SAAWP,GAE1B,IAAIyrP,EACY,oBAAqBlrP,EADjCkrP,EAEQ,WAAYlrP,GAAQ,aAAcmrP,OAF1CD,EAIA,eAAgBlrP,GAChB,SAAUA,GACV,WACE,IAEE,OADA,IAAIorP,MACG,CACT,CAAE,MAAOt7O,GACP,OAAO,CACT,CACD,CAPD,GANAo7O,EAcQ,aAAclrP,EAdtBkrP,EAeW,gBAAiBlrP,EAOhC,GAAIkrP,EACF,IAAIG,EAAc,CAChB,qBACA,sBACA,6BACA,sBACA,uBACA,sBACA,uBACA,wBACA,yBAGEC,EACFC,YAAYC,QACZ,SAASz7N,GACP,OAAOA,GAAOs7N,EAAYppN,QAAQjlB,OAAO6f,UAAU7Y,SAAS4Y,KAAK7M,KAAS,CAC5E,EAGJ,SAAS07N,EAActnP,GAIrB,GAHoB,iBAATA,IACTA,EAAOmgB,OAAOngB,IAEZ,4BAA4BmnB,KAAKnnB,GACnC,MAAM,IAAIioG,UAAU,0CAEtB,OAAOjoG,EAAKyG,aACd,CAEA,SAAS8gP,EAAe/8O,GAItB,MAHqB,iBAAVA,IACTA,EAAQ2V,OAAO3V,IAEVA,CACT,CAGA,SAASg9O,EAAY7tH,GACnB,IAAI8tH,EAAW,CACb7uM,KAAM,WACJ,IAAIpuC,EAAQmvH,EAAMw1D,QAClB,MAAO,CAACx5I,UAAgB51C,IAAVyK,EAAqBA,MAAOA,EAC5C,GASF,OANIu8O,IACFU,EAAST,OAAOS,UAAY,WAC1B,OAAOA,CACT,GAGKA,CACT,CAEA,SAASrjI,EAAQvmH,GACf/B,KAAK6R,IAAM,CAAC,EAER9P,aAAmBumH,EACrBvmH,EAAQ0E,SAAQ,SAASiI,EAAOxK,GAC9BlE,KAAK4G,OAAO1C,EAAMwK,EACpB,GAAG1O,MACMkiC,MAAMC,QAAQpgC,GACvBA,EAAQ0E,SAAQ,SAASy8F,GACvBljG,KAAK4G,OAAOs8F,EAAO,GAAIA,EAAO,GAChC,GAAGljG,MACM+B,GACTgb,OAAO6uO,oBAAoB7pP,GAAS0E,SAAQ,SAASvC,GACnDlE,KAAK4G,OAAO1C,EAAMnC,EAAQmC,GAC5B,GAAGlE,KAEP,CA8DA,SAAS6rP,EAAS9sO,GAChB,GAAIA,EAAK+sO,SACP,OAAO9vL,QAAQE,OAAO,IAAIiwC,UAAU,iBAEtCptF,EAAK+sO,UAAW,CAClB,CAEA,SAASC,EAAgBC,GACvB,OAAO,IAAIhwL,SAAQ,SAASC,EAASC,GACnC8vL,EAAOx3H,OAAS,WACdv4D,EAAQ+vL,EAAO97N,OACjB,EACA87N,EAAO7/H,QAAU,WACfjwD,EAAO8vL,EAAO/qP,MAChB,CACF,GACF,CAEA,SAASgrP,EAAsBC,GAC7B,IAAIF,EAAS,IAAIG,WACbxuH,EAAUouH,EAAgBC,GAE9B,OADAA,EAAOI,kBAAkBF,GAClBvuH,CACT,CAmBA,SAAS0uH,EAAY5C,GACnB,GAAIA,EAAI7uO,MACN,OAAO6uO,EAAI7uO,MAAM,GAEjB,IAAI0+H,EAAO,IAAIsuG,WAAW6B,EAAI6C,YAE9B,OADAhzG,EAAK/wE,IAAI,IAAIq/K,WAAW6B,IACjBnwG,EAAKzZ,MAEhB,CAEA,SAAS0sH,IA0FP,OAzFAvsP,KAAK8rP,UAAW,EAEhB9rP,KAAKwsP,UAAY,SAASztO,GAhM5B,IAAoB+Q,EAiMhB9vB,KAAKysP,UAAY1tO,EACZA,EAEsB,iBAATA,EAChB/e,KAAK0sP,UAAY3tO,EACRksO,GAAgBE,KAAKvuN,UAAU+vN,cAAc5tO,GACtD/e,KAAK4sP,UAAY7tO,EACRksO,GAAoBjlG,SAASppH,UAAU+vN,cAAc5tO,GAC9D/e,KAAK6sP,cAAgB9tO,EACZksO,GAAwB/oP,gBAAgB06B,UAAU+vN,cAAc5tO,GACzE/e,KAAK0sP,UAAY3tO,EAAKgF,WACbknO,GAAuBA,KA5MlBn7N,EA4M6C/Q,IA3MjD+tO,SAASlwN,UAAU+vN,cAAc78N,KA4M3C9vB,KAAK+sP,iBAAmBV,EAAYttO,EAAK8gH,QAEzC7/H,KAAKysP,UAAY,IAAItB,KAAK,CAACnrP,KAAK+sP,oBACvB9B,IAAwBK,YAAY1uN,UAAU+vN,cAAc5tO,IAASssO,EAAkBtsO,IAChG/e,KAAK+sP,iBAAmBV,EAAYttO,GAEpC/e,KAAK0sP,UAAY3tO,EAAOhC,OAAO6f,UAAU7Y,SAAS4Y,KAAK5d,GAhBvD/e,KAAK0sP,UAAY,GAmBd1sP,KAAK+B,QAAQrB,IAAI,kBACA,iBAATqe,EACT/e,KAAK+B,QAAQwmE,IAAI,eAAgB,4BACxBvoE,KAAK4sP,WAAa5sP,KAAK4sP,UAAUpoP,KAC1CxE,KAAK+B,QAAQwmE,IAAI,eAAgBvoE,KAAK4sP,UAAUpoP,MACvCymP,GAAwB/oP,gBAAgB06B,UAAU+vN,cAAc5tO,IACzE/e,KAAK+B,QAAQwmE,IAAI,eAAgB,mDAGvC,EAEI0iL,IACFjrP,KAAKksP,KAAO,WACV,IAAIc,EAAWnB,EAAS7rP,MACxB,GAAIgtP,EACF,OAAOA,EAGT,GAAIhtP,KAAK4sP,UACP,OAAO5wL,QAAQC,QAAQj8D,KAAK4sP,WACvB,GAAI5sP,KAAK+sP,iBACd,OAAO/wL,QAAQC,QAAQ,IAAIkvL,KAAK,CAACnrP,KAAK+sP,oBACjC,GAAI/sP,KAAK6sP,cACd,MAAM,IAAIjoP,MAAM,wCAEhB,OAAOo3D,QAAQC,QAAQ,IAAIkvL,KAAK,CAACnrP,KAAK0sP,YAE1C,EAEA1sP,KAAKitP,YAAc,WACjB,OAAIjtP,KAAK+sP,iBACAlB,EAAS7rP,OAASg8D,QAAQC,QAAQj8D,KAAK+sP,kBAEvC/sP,KAAKksP,OAAOxjP,KAAKujP,EAE5B,GAGFjsP,KAAKiG,KAAO,WACV,IA3FoBimP,EAClBF,EACAruH,EAyFEqvH,EAAWnB,EAAS7rP,MACxB,GAAIgtP,EACF,OAAOA,EAGT,GAAIhtP,KAAK4sP,UACP,OAjGkBV,EAiGIlsP,KAAK4sP,UAhG3BZ,EAAS,IAAIG,WACbxuH,EAAUouH,EAAgBC,GAC9BA,EAAOkB,WAAWhB,GACXvuH,EA8FE,GAAI39H,KAAK+sP,iBACd,OAAO/wL,QAAQC,QA5FrB,SAA+BwtL,GAI7B,IAHA,IAAInwG,EAAO,IAAIsuG,WAAW6B,GACtB0D,EAAQ,IAAIjrN,MAAMo3G,EAAKzvI,QAElB/J,EAAI,EAAGA,EAAIw5I,EAAKzvI,OAAQ/J,IAC/BqtP,EAAMrtP,GAAKukB,OAAO+c,aAAak4G,EAAKx5I,IAEtC,OAAOqtP,EAAMprN,KAAK,GACpB,CAoF6BqrN,CAAsBptP,KAAK+sP,mBAC7C,GAAI/sP,KAAK6sP,cACd,MAAM,IAAIjoP,MAAM,wCAEhB,OAAOo3D,QAAQC,QAAQj8D,KAAK0sP,UAEhC,EAEIzB,IACFjrP,KAAKuG,SAAW,WACd,OAAOvG,KAAKiG,OAAOyC,KAAK2kP,EAC1B,GAGFrtP,KAAK2I,KAAO,WACV,OAAO3I,KAAKiG,OAAOyC,KAAK25B,KAAKb,MAC/B,EAEOxhC,IACT,CA3MAsoH,EAAQ1rF,UAAUh2B,OAAS,SAAS1C,EAAMwK,GACxCxK,EAAOsnP,EAActnP,GACrBwK,EAAQ+8O,EAAe/8O,GACvB,IAAI4+O,EAAWttP,KAAK6R,IAAI3N,GACxBlE,KAAK6R,IAAI3N,GAAQopP,EAAWA,EAAW,KAAO5+O,EAAQA,CACxD,EAEA45G,EAAQ1rF,UAAkB,OAAI,SAAS14B,UAC9BlE,KAAK6R,IAAI25O,EAActnP,GAChC,EAEAokH,EAAQ1rF,UAAUl8B,IAAM,SAASwD,GAE/B,OADAA,EAAOsnP,EAActnP,GACdlE,KAAK+tH,IAAI7pH,GAAQlE,KAAK6R,IAAI3N,GAAQ,IAC3C,EAEAokH,EAAQ1rF,UAAUmxF,IAAM,SAAS7pH,GAC/B,OAAOlE,KAAK6R,IAAI2sC,eAAegtM,EAActnP,GAC/C,EAEAokH,EAAQ1rF,UAAU2rC,IAAM,SAASrkE,EAAMwK,GACrC1O,KAAK6R,IAAI25O,EAActnP,IAASunP,EAAe/8O,EACjD,EAEA45G,EAAQ1rF,UAAUn2B,QAAU,SAASgkE,EAAU4hC,GAC7C,IAAK,IAAInoG,KAAQlE,KAAK6R,IAChB7R,KAAK6R,IAAI2sC,eAAet6C,IAC1BumE,EAAS9tC,KAAK0vE,EAASrsG,KAAK6R,IAAI3N,GAAOA,EAAMlE,KAGnD,EAEAsoH,EAAQ1rF,UAAUmB,KAAO,WACvB,IAAI8/F,EAAQ,GAIZ,OAHA79H,KAAKyG,SAAQ,SAASiI,EAAOxK,GAC3B25H,EAAMr6H,KAAKU,EACb,IACOwnP,EAAY7tH,EACrB,EAEAvV,EAAQ1rF,UAAUrY,OAAS,WACzB,IAAIs5G,EAAQ,GAIZ,OAHA79H,KAAKyG,SAAQ,SAASiI,GACpBmvH,EAAMr6H,KAAKkL,EACb,IACOg9O,EAAY7tH,EACrB,EAEAvV,EAAQ1rF,UAAU90B,QAAU,WAC1B,IAAI+1H,EAAQ,GAIZ,OAHA79H,KAAKyG,SAAQ,SAASiI,EAAOxK,GAC3B25H,EAAMr6H,KAAK,CAACU,EAAMwK,GACpB,IACOg9O,EAAY7tH,EACrB,EAEIotH,IACF3iI,EAAQ1rF,UAAUsuN,OAAOS,UAAYrjI,EAAQ1rF,UAAU90B,SAqJzD,IAAI0hF,EAAU,CAAC,SAAU,MAAO,OAAQ,UAAW,OAAQ,OAO3D,SAAS++B,EAAQr9F,EAAO7mB,GAEtB,IAPuBuiH,EACnB2mI,EAMAxuO,GADJ1a,EAAUA,GAAW,CAAC,GACH0a,KAEnB,GAAImM,aAAiBq9F,EAAS,CAC5B,GAAIr9F,EAAM4gO,SACR,MAAM,IAAI3/I,UAAU,gBAEtBnsG,KAAKwC,IAAM0oB,EAAM1oB,IACjBxC,KAAKgiI,YAAc92G,EAAM82G,YACpB39H,EAAQtC,UACX/B,KAAK+B,QAAU,IAAIumH,EAAQp9F,EAAMnpB,UAEnC/B,KAAK4mH,OAAS17F,EAAM07F,OACpB5mH,KAAKkzB,KAAOhI,EAAMgI,KAClBlzB,KAAKwjL,OAASt4J,EAAMs4J,OACfzkK,GAA2B,MAAnBmM,EAAMuhO,YACjB1tO,EAAOmM,EAAMuhO,UACbvhO,EAAM4gO,UAAW,EAErB,MACE9rP,KAAKwC,IAAM6hB,OAAO6G,GAYpB,GATAlrB,KAAKgiI,YAAc39H,EAAQ29H,aAAehiI,KAAKgiI,aAAe,eAC1D39H,EAAQtC,SAAY/B,KAAK+B,UAC3B/B,KAAK+B,QAAU,IAAIumH,EAAQjkH,EAAQtC,UAErC/B,KAAK4mH,QAjCkBA,EAiCOviH,EAAQuiH,QAAU5mH,KAAK4mH,QAAU,MAhC3D2mI,EAAU3mI,EAAOjsG,cACd6uE,EAAQxnD,QAAQurN,IAAY,EAAIA,EAAU3mI,GAgCjD5mH,KAAKkzB,KAAO7uB,EAAQ6uB,MAAQlzB,KAAKkzB,MAAQ,KACzClzB,KAAKwjL,OAASn/K,EAAQm/K,QAAUxjL,KAAKwjL,OACrCxjL,KAAKs+F,SAAW,MAEK,QAAhBt+F,KAAK4mH,QAAoC,SAAhB5mH,KAAK4mH,SAAsB7nG,EACvD,MAAM,IAAIotF,UAAU,6CAEtBnsG,KAAKwsP,UAAUztO,EACjB,CAMA,SAASsuO,EAAOtuO,GACd,IAAI8pE,EAAO,IAAIm9D,SAYf,OAXAjnI,EACGgiE,OACAt7E,MAAM,KACNgB,SAAQ,SAASihP,GAChB,GAAIA,EAAO,CACT,IAAIjiP,EAAQiiP,EAAMjiP,MAAM,KACpBvB,EAAOuB,EAAM4tL,QAAQxtL,QAAQ,MAAO,KACpC6I,EAAQjJ,EAAMs8B,KAAK,KAAKl8B,QAAQ,MAAO,KAC3CgjF,EAAKjiF,OAAO66M,mBAAmBv9M,GAAOu9M,mBAAmB/yM,GAC3D,CACF,IACKm6E,CACT,CAoBA,SAAS2/B,EAASglI,EAAUnpP,GACrBA,IACHA,EAAU,CAAC,GAGbrE,KAAKwE,KAAO,UACZxE,KAAKoH,YAA4BnD,IAAnBI,EAAQ+C,OAAuB,IAAM/C,EAAQ+C,OAC3DpH,KAAKw7F,GAAKx7F,KAAKoH,QAAU,KAAOpH,KAAKoH,OAAS,IAC9CpH,KAAKqkI,WAAa,eAAgBhgI,EAAUA,EAAQggI,WAAa,KACjErkI,KAAK+B,QAAU,IAAIumH,EAAQjkH,EAAQtC,SACnC/B,KAAKwC,IAAM6B,EAAQ7B,KAAO,GAC1BxC,KAAKwsP,UAAUgB,EACjB,CAlDAjlI,EAAQ3rF,UAAUs+B,MAAQ,WACxB,OAAO,IAAIqtD,EAAQvoH,KAAM,CAAC+e,KAAM/e,KAAKysP,WACvC,EAkCAF,EAAK5vN,KAAK4rF,EAAQ3rF,WAgBlB2vN,EAAK5vN,KAAK6rF,EAAS5rF,WAEnB4rF,EAAS5rF,UAAUs+B,MAAQ,WACzB,OAAO,IAAIstD,EAASxoH,KAAKysP,UAAW,CAClCrlP,OAAQpH,KAAKoH,OACbi9H,WAAYrkI,KAAKqkI,WACjBtiI,QAAS,IAAIumH,EAAQtoH,KAAK+B,SAC1BS,IAAKxC,KAAKwC,KAEd,EAEAgmH,EAASvnH,MAAQ,WACf,IAAIoC,EAAW,IAAImlH,EAAS,KAAM,CAACphH,OAAQ,EAAGi9H,WAAY,KAE1D,OADAhhI,EAASmB,KAAO,QACTnB,CACT,EAEA,IAAIoqP,EAAmB,CAAC,IAAK,IAAK,IAAK,IAAK,KAE5CjlI,EAASu6G,SAAW,SAASvgO,EAAK4E,GAChC,IAA0C,IAAtCqmP,EAAiBzrN,QAAQ56B,GAC3B,MAAM,IAAIsmP,WAAW,uBAGvB,OAAO,IAAIllI,EAAS,KAAM,CAACphH,OAAQA,EAAQrF,QAAS,CAACK,SAAUI,IACjE,EAEAhD,EAAQwrP,aAAejrP,EAAKirP,aAC5B,IACE,IAAIxrP,EAAQwrP,YACd,CAAE,MAAO9iP,GACP1I,EAAQwrP,aAAe,SAASlmP,EAASZ,GACvClE,KAAK8E,QAAUA,EACf9E,KAAKkE,KAAOA,EACZ,IAAIjD,EAAQ2D,MAAME,GAClB9E,KAAKw2D,MAAQv1D,EAAMu1D,KACrB,EACAh3D,EAAQwrP,aAAapuN,UAAY7f,OAAO8f,OAAOj4B,MAAMg4B,WACrDp9B,EAAQwrP,aAAapuN,UAAU/3B,YAAcrF,EAAQwrP,YACvD,CAEA,SAASviP,EAAMyiB,EAAO24F,GACpB,OAAO,IAAI7nD,SAAQ,SAASC,EAASC,GACnC,IAAI47D,EAAU,IAAIvP,EAAQr9F,EAAO24F,GAEjC,GAAIiU,EAAQ0rD,QAAU1rD,EAAQ0rD,OAAOmqE,QACnC,OAAOzxL,EAAO,IAAI18D,EAAQwrP,aAAa,UAAW,eAGpD,IAAIhhI,EAAM,IAAIF,eAEd,SAAS8jI,IACP5jI,EAAI6jI,OACN,CAEA7jI,EAAIwK,OAAS,WACX,IAxFgBs5H,EAChB/rP,EAuFIsC,EAAU,CACZ+C,OAAQ4iH,EAAI5iH,OACZi9H,WAAYra,EAAIqa,WAChBtiI,SA3Fc+rP,EA2FQ9jI,EAAI+jI,yBAA2B,GA1FvDhsP,EAAU,IAAIumH,EAGQwlI,EAAWjoP,QAAQ,eAAgB,KACzCJ,MAAM,SAASgB,SAAQ,SAASuvC,GAClD,IAAIo5E,EAAQp5E,EAAKvwC,MAAM,KACnBqM,EAAMs9G,EAAMikE,QAAQtyG,OACxB,GAAIjvE,EAAK,CACP,IAAIpD,EAAQ0gH,EAAMrtF,KAAK,KAAKg/C,OAC5Bh/E,EAAQ6E,OAAOkL,EAAKpD,EACtB,CACF,IACO3M,IAgFHsC,EAAQ7B,IAAM,gBAAiBwnH,EAAMA,EAAIgkI,YAAc3pP,EAAQtC,QAAQrB,IAAI,iBAC3E,IAAIqe,EAAO,aAAcirG,EAAMA,EAAI3mH,SAAW2mH,EAAIikI,aAClDhyL,EAAQ,IAAIusD,EAASzpG,EAAM1a,GAC7B,EAEA2lH,EAAImC,QAAU,WACZjwD,EAAO,IAAIiwC,UAAU,0BACvB,EAEA6d,EAAIkkI,UAAY,WACdhyL,EAAO,IAAIiwC,UAAU,0BACvB,EAEA6d,EAAImkI,QAAU,WACZjyL,EAAO,IAAI18D,EAAQwrP,aAAa,UAAW,cAC7C,EAEAhhI,EAAIga,KAAKlM,EAAQlR,OAAQkR,EAAQt1H,KAAK,GAEV,YAAxBs1H,EAAQkK,YACVhY,EAAIokI,iBAAkB,EACW,SAAxBt2H,EAAQkK,cACjBhY,EAAIokI,iBAAkB,GAGpB,iBAAkBpkI,GAAOihI,IAC3BjhI,EAAIqkI,aAAe,QAGrBv2H,EAAQ/1H,QAAQ0E,SAAQ,SAASiI,EAAOxK,GACtC8lH,EAAIia,iBAAiB//H,EAAMwK,EAC7B,IAEIopH,EAAQ0rD,SACV1rD,EAAQ0rD,OAAOjzK,iBAAiB,QAASq9O,GAEzC5jI,EAAIS,mBAAqB,WAEA,IAAnBT,EAAIK,YACNyN,EAAQ0rD,OAAOhzK,oBAAoB,QAASo9O,EAEhD,GAGF5jI,EAAI0V,UAAkC,IAAtB5H,EAAQ20H,UAA4B,KAAO30H,EAAQ20H,UACrE,GACF,CAEAhkP,EAAM6lP,UAAW,EAEZvuP,EAAK0I,QACR1I,EAAK0I,MAAQA,EACb1I,EAAKuoH,QAAUA,EACfvoH,EAAKwoH,QAAUA,EACfxoH,EAAKyoH,SAAWA,GAGlBhpH,EAAQ8oH,QAAUA,EAClB9oH,EAAQ+oH,QAAUA,EAClB/oH,EAAQgpH,SAAWA,EACnBhpH,EAAQiJ,MAAQA,EAEhBsU,OAAOwvD,eAAe/sE,EAAS,aAAc,CAAEkP,OAAO,GAIvD,CAhhBgB,CAghBd,CAAC,EACH,CAnhBD,CAmhBGo8O,GACHA,EAASriP,MAAM8lP,UAAW,SAEnBzD,EAASriP,MAAM6lP,SAGtB,IAAIE,EAAM1D,GACVtrP,EAAUgvP,EAAI/lP,OACd,QAAkB+lP,EAAI/lP,MACtBjJ,EAAQiJ,MAAQ+lP,EAAI/lP,MACpBjJ,EAAQ8oH,QAAUkmI,EAAIlmI,QACtB9oH,EAAQ+oH,QAAUimI,EAAIjmI,QACtB/oH,EAAQgpH,SAAWgmI,EAAIhmI,SACvB/oH,EAAOD,QAAUA,C,mBCziBmDC,EAAOD,QAAkI,WAAY,aAAa,IAAI2xB,EAAE,IAAIthB,EAAE,IAAI2kD,EAAE,KAAKl8B,EAAE,cAAcx4B,EAAE,SAAS40D,EAAE,SAAS+5L,EAAE,OAAO5uP,EAAE,MAAM6uP,EAAE,OAAO5jO,EAAE,QAAQyvC,EAAE,UAAUg6B,EAAE,OAAOp8D,EAAE,OAAO0wN,EAAE,eAAe7oH,EAAE,6FAA6F7uE,EAAE,sFAAsF43L,EAAE,CAAC7kP,KAAK,KAAKyqP,SAAS,2DAA2DlpP,MAAM,KAAKmpP,OAAO,wFAAwFnpP,MAAM,KAAKopP,QAAQ,SAAS19N,GAAG,IAAIthB,EAAE,CAAC,KAAK,KAAK,KAAK,MAAM2kD,EAAErjC,EAAE,IAAI,MAAM,IAAIA,GAAGthB,GAAG2kD,EAAE,IAAI,KAAK3kD,EAAE2kD,IAAI3kD,EAAE,IAAI,GAAG,GAAGwkD,EAAE,SAASljC,EAAEthB,EAAE2kD,GAAG,IAAIl8B,EAAEjU,OAAO8M,GAAG,OAAOmH,GAAGA,EAAEzuB,QAAQgG,EAAEshB,EAAE,GAAG+Q,MAAMryB,EAAE,EAAEyoB,EAAEzuB,QAAQk4B,KAAKyyB,GAAGrjC,CAAC,EAAE+pF,EAAE,CAACxmD,EAAEL,EAAEI,EAAE,SAAStjC,GAAG,IAAIthB,GAAGshB,EAAE29N,YAAYt6L,EAAE5vB,KAAK8zC,IAAI7oE,GAAGyoB,EAAEsM,KAAKiwB,MAAML,EAAE,IAAI10D,EAAE00D,EAAE,GAAG,OAAO3kD,GAAG,EAAE,IAAI,KAAKwkD,EAAE/7B,EAAE,EAAE,KAAK,IAAI+7B,EAAEv0D,EAAE,EAAE,IAAI,EAAEu0D,EAAE,SAASljC,EAAEthB,EAAE2kD,GAAG,GAAG3kD,EAAEqzC,OAAOsR,EAAEtR,OAAO,OAAO/xB,EAAEqjC,EAAE3kD,GAAG,IAAIyoB,EAAE,IAAIk8B,EAAE5xD,OAAOiN,EAAEjN,SAAS4xD,EAAE3xD,QAAQgN,EAAEhN,SAAS/C,EAAE+P,EAAEqrD,QAAQnpB,IAAIzZ,EAAExN,GAAG4pC,EAAEF,EAAE10D,EAAE,EAAE2uP,EAAE5+O,EAAEqrD,QAAQnpB,IAAIzZ,GAAGo8B,GAAG,EAAE,GAAG5pC,GAAG,UAAUwN,GAAGk8B,EAAE10D,IAAI40D,EAAE50D,EAAE2uP,EAAEA,EAAE3uP,KAAK,EAAE,EAAED,EAAE,SAASsxB,GAAG,OAAOA,EAAE,EAAEyT,KAAK4qC,KAAKr+C,IAAI,EAAEyT,KAAKiwB,MAAM1jC,EAAE,EAAEsL,EAAE,SAAStL,GAAG,MAAM,CAAC43N,EAAEj+N,EAAEqmC,EAAEojC,EAAEw0H,EAAE2lC,EAAEv2N,EAAEt4B,EAAE0yK,EAAEp6I,EAAEo8D,EAAEk6J,EAAEp6L,EAAEK,EAAEA,EAAE50D,EAAE8oG,GAAGtwE,EAAEy2N,EAAEx0L,GAAGppC,IAAI9M,OAAO8M,GAAG,IAAIxmB,cAAc9E,QAAQ,KAAK,GAAG,EAAE4oP,EAAE,SAASt9N,GAAG,YAAO,IAASA,CAAC,GAAGk9F,EAAE,KAAKkkD,EAAE,CAAC,EAAEA,EAAElkD,GAAG06H,EAAE,IAAItsN,EAAE,iBAAiBuyN,EAAE,SAAS79N,GAAG,OAAOA,aAAa8T,MAAM9T,IAAIA,EAAEsL,GAAG,EAAEssL,EAAE,SAAS53L,EAAEthB,EAAE2kD,EAAEl8B,GAAG,IAAIx4B,EAAE,IAAI+P,EAAE,OAAOw+G,EAAE,GAAG,iBAAiBx+G,EAAE,CAAC,IAAI6kD,EAAE7kD,EAAElF,cAAc4nK,EAAE79G,KAAK50D,EAAE40D,GAAGF,IAAI+9G,EAAE79G,GAAGF,EAAE10D,EAAE40D,GAAG,IAAI+5L,EAAE5+O,EAAEpK,MAAM,KAAK,IAAI3F,GAAG2uP,EAAE5kP,OAAO,EAAE,OAAOsnB,EAAEs9N,EAAE,GAAG,KAAK,CAAC,IAAI5uP,EAAEgQ,EAAE3L,KAAKquK,EAAE1yK,GAAGgQ,EAAE/P,EAAED,CAAC,CAAC,OAAOy4B,GAAGx4B,IAAIuuH,EAAEvuH,GAAGA,IAAIw4B,GAAG+1F,CAAC,EAAE4gI,EAAE,SAAS99N,EAAEthB,GAAG,GAAGm/O,EAAE79N,GAAG,OAAOA,EAAE+pC,QAAQ,IAAI1G,EAAE,iBAAiB3kD,EAAEA,EAAE,CAAC,EAAE,OAAO2kD,EAAEtR,KAAK/xB,EAAEqjC,EAAEn0B,KAAKmL,UAAU,IAAIvG,EAAEuvB,EAAE,EAAEhkC,EAAE0qF,EAAE1qF,EAAEq4N,EAAE9/B,EAAEv4L,EAAE1wB,EAAEkvP,EAAEx+N,EAAEu4L,EAAE,SAAS53L,EAAEthB,GAAG,OAAOo/O,EAAE99N,EAAE,CAAC8yB,OAAOp0C,EAAEq/O,GAAGhrM,IAAIr0C,EAAEs/O,GAAG99L,EAAExhD,EAAEu/O,GAAGC,QAAQx/O,EAAEw/O,SAAS,EAAE,IAAIpqN,EAAE,WAAW,SAAS8jN,EAAE53N,GAAGnxB,KAAKkvP,GAAGnmC,EAAE53L,EAAE8yB,OAAO,MAAK,GAAIjkD,KAAKwhC,MAAMrQ,GAAGnxB,KAAKovP,GAAGpvP,KAAKovP,IAAIj+N,EAAEkgC,GAAG,CAAC,EAAErxD,KAAKy8B,IAAG,CAAE,CAAC,IAAI43B,EAAE00L,EAAEnsN,UAAU,OAAOy3B,EAAE7yB,MAAM,SAASrQ,GAAGnxB,KAAKsvP,GAAG,SAASn+N,GAAG,IAAIthB,EAAEshB,EAAE+xB,KAAKsR,EAAErjC,EAAE+yB,IAAI,GAAG,OAAOr0C,EAAE,OAAO,IAAIkkC,KAAK8yI,KAAK,GAAGr2J,EAAEi+N,EAAE5+O,GAAG,OAAO,IAAIkkC,KAAK,GAAGlkC,aAAakkC,KAAK,OAAO,IAAIA,KAAKlkC,GAAG,GAAG,iBAAiBA,IAAI,MAAMwb,KAAKxb,GAAG,CAAC,IAAIyoB,EAAEzoB,EAAEkH,MAAMipH,GAAG,GAAG1nG,EAAE,CAAC,IAAIx4B,EAAEw4B,EAAE,GAAG,GAAG,EAAEo8B,GAAGp8B,EAAE,IAAI,KAAKimE,UAAU,EAAE,GAAG,OAAO/pC,EAAE,IAAIzgB,KAAKA,KAAKw7M,IAAIj3N,EAAE,GAAGx4B,EAAEw4B,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEo8B,IAAI,IAAI3gB,KAAKzb,EAAE,GAAGx4B,EAAEw4B,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEA,EAAE,IAAI,EAAEo8B,EAAE,CAAC,CAAC,OAAO,IAAI3gB,KAAKlkC,EAAE,CAA3X,CAA6XshB,GAAGnxB,KAAK6jH,MAAM,EAAExvD,EAAEwvD,KAAK,WAAW,IAAI1yF,EAAEnxB,KAAKsvP,GAAGtvP,KAAKwvP,GAAGr+N,EAAEm1M,cAActmO,KAAKyvP,GAAGt+N,EAAEu+N,WAAW1vP,KAAK2vP,GAAGx+N,EAAEknE,UAAUr4F,KAAK4vP,GAAGz+N,EAAE0+N,SAAS7vP,KAAK8vP,GAAG3+N,EAAE4+N,WAAW/vP,KAAKgwP,GAAG7+N,EAAE8+N,aAAajwP,KAAKkwP,GAAG/+N,EAAEg/N,aAAanwP,KAAKowP,IAAIj/N,EAAEk/N,iBAAiB,EAAEh8L,EAAEi8L,OAAO,WAAW,OAAO9/N,CAAC,EAAE6jC,EAAExtC,QAAQ,WAAW,QAAQ7mB,KAAKsvP,GAAGvrO,aAAa8kO,EAAE,EAAEx0L,EAAE+sI,OAAO,SAASjwK,EAAEthB,GAAG,IAAI2kD,EAAEy6L,EAAE99N,GAAG,OAAOnxB,KAAK2hL,QAAQ9xK,IAAI2kD,GAAGA,GAAGx0D,KAAK4hL,MAAM/xK,EAAE,EAAEwkD,EAAEktI,QAAQ,SAASpwK,EAAEthB,GAAG,OAAOo/O,EAAE99N,GAAGnxB,KAAK2hL,QAAQ9xK,EAAE,EAAEwkD,EAAEmtI,SAAS,SAASrwK,EAAEthB,GAAG,OAAO7P,KAAK4hL,MAAM/xK,GAAGo/O,EAAE99N,EAAE,EAAEkjC,EAAEk8L,GAAG,SAASp/N,EAAEthB,EAAE2kD,GAAG,OAAOhkC,EAAEi+N,EAAEt9N,GAAGnxB,KAAK6P,GAAG7P,KAAKuoE,IAAI/T,EAAErjC,EAAE,EAAEkjC,EAAEm8L,KAAK,WAAW,OAAO5rN,KAAKiwB,MAAM70D,KAAKywP,UAAU,IAAI,EAAEp8L,EAAEo8L,QAAQ,WAAW,OAAOzwP,KAAKsvP,GAAG36K,SAAS,EAAEtgB,EAAEstH,QAAQ,SAASxwJ,EAAEthB,GAAG,IAAI2kD,EAAEx0D,KAAKs4B,IAAI9H,EAAEi+N,EAAE5+O,IAAIA,EAAE0qD,EAAE/pC,EAAEiM,EAAEtL,GAAG03N,EAAE,SAAS13N,EAAEthB,GAAG,IAAI/P,EAAE0wB,EAAEu4L,EAAEv0J,EAAE26L,GAAGp7M,KAAKw7M,IAAI/6L,EAAEg7L,GAAG3/O,EAAEshB,GAAG,IAAI4iB,KAAKygB,EAAEg7L,GAAG3/O,EAAEshB,GAAGqjC,GAAG,OAAOl8B,EAAEx4B,EAAEA,EAAE8hL,MAAM/hL,EAAE,EAAEmgI,EAAE,SAAS7uG,EAAEthB,GAAG,OAAO2gB,EAAEu4L,EAAEv0J,EAAEk8L,SAASv/N,GAAGsvC,MAAMjM,EAAEk8L,OAAO,MAAMp4N,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM1d,MAAM/K,IAAI2kD,EAAE,EAAErD,EAAEnxD,KAAK4vP,GAAG7G,EAAE/oP,KAAKyvP,GAAGp7L,EAAEr0D,KAAK2vP,GAAGz0I,EAAE,OAAOl7G,KAAKmvP,GAAG,MAAM,IAAI,OAAO50L,GAAG,KAAKg6B,EAAE,OAAOj8D,EAAEuwN,EAAE,EAAE,GAAGA,EAAE,GAAG,IAAI,KAAK/9N,EAAE,OAAOwN,EAAEuwN,EAAE,EAAEE,GAAGF,EAAE,EAAEE,EAAE,GAAG,KAAK2F,EAAE,IAAIrgI,EAAEruH,KAAK2wP,UAAUC,WAAW,EAAEr+E,GAAGphH,EAAEk9D,EAAEl9D,EAAE,EAAEA,GAAGk9D,EAAE,OAAOw6H,EAAEvwN,EAAE+7B,EAAEk+G,EAAEl+G,GAAG,EAAEk+G,GAAGw2E,GAAG,KAAKlpP,EAAE,KAAKs4B,EAAE,OAAO6nG,EAAE9kB,EAAE,QAAQ,GAAG,KAAKuzI,EAAE,OAAOzuH,EAAE9kB,EAAE,UAAU,GAAG,KAAKxmD,EAAE,OAAOsrE,EAAE9kB,EAAE,UAAU,GAAG,KAAKp7G,EAAE,OAAOkgI,EAAE9kB,EAAE,eAAe,GAAG,QAAQ,OAAOl7G,KAAKk7D,QAAQ,EAAE7G,EAAEutH,MAAM,SAASzwJ,GAAG,OAAOnxB,KAAK2hL,QAAQxwJ,GAAE,EAAG,EAAEkjC,EAAEw8L,KAAK,SAAS1/N,EAAEthB,GAAG,IAAI2kD,EAAEk6L,EAAEl+N,EAAEiM,EAAEtL,GAAGopC,EAAE,OAAOv6D,KAAKmvP,GAAG,MAAM,IAAItG,GAAGr0L,EAAE,CAAC,EAAEA,EAAE30D,GAAG06D,EAAE,OAAO/F,EAAEr8B,GAAGoiC,EAAE,OAAO/F,EAAE1pC,GAAGyvC,EAAE,QAAQ/F,EAAE+/B,GAAGh6B,EAAE,WAAW/F,EAAEi6L,GAAGl0L,EAAE,QAAQ/F,EAAEE,GAAG6F,EAAE,UAAU/F,EAAE10D,GAAGy6D,EAAE,UAAU/F,EAAEl8B,GAAGiiC,EAAE,eAAe/F,GAAGk6L,GAAG1uH,EAAE0uH,IAAI7uP,EAAEG,KAAK2vP,IAAI9/O,EAAE7P,KAAK4vP,IAAI//O,EAAE,GAAG6+O,IAAI5jO,GAAG4jO,IAAIn6J,EAAE,CAAC,IAAIpjC,EAAEnxD,KAAKk7D,QAAQqN,IAAIpwC,EAAE,GAAGg5B,EAAEm+L,GAAGzG,GAAG7oH,GAAG7uE,EAAE0yD,OAAO7jH,KAAKsvP,GAAGn+L,EAAEoX,IAAIpwC,EAAEyM,KAAK5rB,IAAIhZ,KAAK2vP,GAAGx+L,EAAEhO,gBAAgBmsM,EAAE,MAAMzG,GAAG7oP,KAAKsvP,GAAGzG,GAAG7oH,GAAG,OAAOhgI,KAAK6jH,OAAO7jH,IAAI,EAAEq0D,EAAEkU,IAAI,SAASp3C,EAAEthB,GAAG,OAAO7P,KAAKk7D,QAAQ21L,KAAK1/N,EAAEthB,EAAE,EAAEwkD,EAAE3zD,IAAI,SAASywB,GAAG,OAAOnxB,KAAKwwB,EAAEiM,EAAEtL,KAAK,EAAEkjC,EAAEtiB,IAAI,SAASzZ,EAAEiiC,GAAG,IAAIpiC,EAAE0wN,EAAE7oP,KAAKs4B,EAAE1F,OAAO0F,GAAG,IAAI0nG,EAAExvG,EAAEiM,EAAE89B,GAAGpJ,EAAE,SAAShgC,GAAG,IAAIthB,EAAEo/O,EAAEpG,GAAG,OAAOr4N,EAAEu4L,EAAEl5M,EAAEqzC,KAAKrzC,EAAEqzC,OAAOte,KAAK41B,MAAMrpC,EAAEmH,IAAIuwN,EAAE,EAAE,GAAG7oH,IAAIl1G,EAAE,OAAO9qB,KAAKuoE,IAAIz9C,EAAE9qB,KAAKyvP,GAAGn3N,GAAG,GAAG0nG,IAAIzrC,EAAE,OAAOv0F,KAAKuoE,IAAIgsB,EAAEv0F,KAAKwvP,GAAGl3N,GAAG,GAAG0nG,IAAIngI,EAAE,OAAOsxD,EAAE,GAAG,GAAG6uE,IAAI0uH,EAAE,OAAOv9L,EAAE,GAAG,IAAI43L,GAAG5wN,EAAE,CAAC,EAAEA,EAAEu8B,GAAG7kD,EAAEsoB,EAAEs2N,GAAGj6L,EAAEr8B,EAAEr4B,GAAGqxB,EAAEgH,GAAG6nG,IAAI,EAAE3rE,EAAEr0D,KAAKsvP,GAAG36K,UAAUr8C,EAAEywN,EAAE,OAAOv4N,EAAEu4L,EAAE10J,EAAEr0D,KAAK,EAAEq0D,EAAE9f,SAAS,SAASpjB,EAAEthB,GAAG,OAAO7P,KAAK+xC,KAAK,EAAE5gB,EAAEthB,EAAE,EAAEwkD,EAAEr1B,OAAO,SAAS7N,GAAG,IAAIthB,EAAE7P,KAAKw0D,EAAEx0D,KAAK2wP,UAAU,IAAI3wP,KAAK6mB,UAAU,OAAO2tC,EAAEs8L,aAAajI,EAAE,IAAIvwN,EAAEnH,GAAG,uBAAuBrxB,EAAE0wB,EAAEikC,EAAEz0D,MAAM00D,EAAE10D,KAAK8vP,GAAGrB,EAAEzuP,KAAKgwP,GAAGnwP,EAAEG,KAAKyvP,GAAGf,EAAEl6L,EAAEm6L,SAAS7jO,EAAE0pC,EAAEo6L,OAAOr0L,EAAE/F,EAAEu8L,SAASx8J,EAAE,SAASpjE,EAAEqjC,EAAE10D,EAAE40D,GAAG,OAAOvjC,IAAIA,EAAEqjC,IAAIrjC,EAAEthB,EAAEyoB,KAAKx4B,EAAE00D,GAAG55C,MAAM,EAAE85C,EAAE,EAAEv8B,EAAE,SAAShH,GAAG,OAAOX,EAAEkkC,EAAEA,EAAE,IAAI,GAAGvjC,EAAE,IAAI,EAAE6uG,EAAEzlE,GAAG,SAASppC,EAAEthB,EAAE2kD,GAAG,IAAIl8B,EAAEnH,EAAE,GAAG,KAAK,KAAK,OAAOqjC,EAAEl8B,EAAE3tB,cAAc2tB,CAAC,EAAE,OAAOA,EAAEzyB,QAAQsrD,GAAE,SAAUhgC,EAAEmH,GAAG,OAAOA,GAAG,SAASnH,GAAG,OAAOA,GAAG,IAAI,KAAK,OAAO9M,OAAOxU,EAAE2/O,IAAI50O,OAAO,GAAG,IAAI,OAAO,OAAO4V,EAAEkkC,EAAE7kD,EAAE2/O,GAAG,EAAE,KAAK,IAAI,IAAI,OAAO3vP,EAAE,EAAE,IAAI,KAAK,OAAO2wB,EAAEkkC,EAAE70D,EAAE,EAAE,EAAE,KAAK,IAAI,MAAM,OAAO00F,EAAE//B,EAAEw8L,YAAYnxP,EAAEirB,EAAE,GAAG,IAAI,OAAO,OAAOypE,EAAEzpE,EAAEjrB,GAAG,IAAI,IAAI,OAAOgQ,EAAE8/O,GAAG,IAAI,KAAK,OAAOn/N,EAAEkkC,EAAE7kD,EAAE8/O,GAAG,EAAE,KAAK,IAAI,IAAI,OAAOtrO,OAAOxU,EAAE+/O,IAAI,IAAI,KAAK,OAAOr7J,EAAE//B,EAAEy8L,YAAYphP,EAAE+/O,GAAGlB,EAAE,GAAG,IAAI,MAAM,OAAOn6J,EAAE//B,EAAE08L,cAAcrhP,EAAE+/O,GAAGlB,EAAE,GAAG,IAAI,OAAO,OAAOA,EAAE7+O,EAAE+/O,IAAI,IAAI,IAAI,OAAOvrO,OAAOqwC,GAAG,IAAI,KAAK,OAAOlkC,EAAEkkC,EAAEA,EAAE,EAAE,KAAK,IAAI,IAAI,OAAOv8B,EAAE,GAAG,IAAI,KAAK,OAAOA,EAAE,GAAG,IAAI,IAAI,OAAO6nG,EAAEtrE,EAAE+5L,GAAE,GAAI,IAAI,IAAI,OAAOzuH,EAAEtrE,EAAE+5L,GAAE,GAAI,IAAI,IAAI,OAAOpqO,OAAOoqO,GAAG,IAAI,KAAK,OAAOj+N,EAAEkkC,EAAE+5L,EAAE,EAAE,KAAK,IAAI,IAAI,OAAOpqO,OAAOxU,EAAEqgP,IAAI,IAAI,KAAK,OAAO1/N,EAAEkkC,EAAE7kD,EAAEqgP,GAAG,EAAE,KAAK,IAAI,MAAM,OAAO1/N,EAAEkkC,EAAE7kD,EAAEugP,IAAI,EAAE,KAAK,IAAI,IAAI,OAAOtwP,EAAE,OAAO,IAAI,CAAptB,CAAstBqxB,IAAIrxB,EAAE+F,QAAQ,IAAI,GAAI,GAAE,EAAEwuD,EAAEy6L,UAAU,WAAW,OAAO,IAAIlqN,KAAK41B,MAAMx6D,KAAKsvP,GAAG7U,oBAAoB,GAAG,EAAEpmL,EAAEi/E,KAAK,SAASh7G,EAAEH,EAAE0wN,GAAG,IAAI7oH,EAAE7uE,EAAEnxD,KAAK+oP,EAAEv4N,EAAEiM,EAAEtE,GAAGk8B,EAAE46L,EAAE32N,GAAG4iF,GAAG7mD,EAAEy6L,YAAY9uP,KAAK8uP,aAAaj/O,EAAEw+G,EAAEruH,KAAKq0D,EAAEk+G,EAAE,WAAW,OAAO/hJ,EAAE6jC,EAAElD,EAAEkD,EAAE,EAAE,OAAO00L,GAAG,KAAKx0J,EAAEyrC,EAAEuyC,IAAI,GAAG,MAAM,KAAKznJ,EAAEk1G,EAAEuyC,IAAI,MAAM,KAAKh4G,EAAEylE,EAAEuyC,IAAI,EAAE,MAAM,KAAKm8E,EAAE1uH,GAAG3R,EAAEnT,GAAG,OAAO,MAAM,KAAKr7G,EAAEmgI,GAAG3R,EAAEnT,GAAG,MAAM,MAAM,KAAKuzI,EAAEzuH,EAAE3R,EAAE75D,EAAE,MAAM,KAAKE,EAAEsrE,EAAE3R,EAAEx+G,EAAE,MAAM,KAAK/P,EAAEkgI,EAAE3R,EAAEl9F,EAAE,MAAM,QAAQ6uG,EAAE3R,EAAE,OAAOw6H,EAAE7oH,EAAExvG,EAAE3wB,EAAEmgI,EAAE,EAAE3rE,EAAElR,YAAY,WAAW,OAAOnjD,KAAK4hL,MAAM92J,GAAG6kO,EAAE,EAAEt7L,EAAEs8L,QAAQ,WAAW,OAAOp+E,EAAEvyK,KAAKkvP,GAAG,EAAE76L,EAAEpQ,OAAO,SAAS9yB,EAAEthB,GAAG,IAAIshB,EAAE,OAAOnxB,KAAKkvP,GAAG,IAAI16L,EAAEx0D,KAAKk7D,QAAQ5iC,EAAEywL,EAAE53L,EAAEthB,GAAE,GAAI,OAAOyoB,IAAIk8B,EAAE06L,GAAG52N,GAAGk8B,CAAC,EAAEH,EAAE6G,MAAM,WAAW,OAAO1qC,EAAEu4L,EAAE/oN,KAAKsvP,GAAGtvP,KAAK,EAAEq0D,EAAEq8L,OAAO,WAAW,OAAO,IAAI38M,KAAK/zC,KAAKywP,UAAU,EAAEp8L,EAAEiwD,OAAO,WAAW,OAAOtkH,KAAK6mB,UAAU7mB,KAAKw+F,cAAc,IAAI,EAAEnqC,EAAEmqC,YAAY,WAAW,OAAOx+F,KAAKsvP,GAAG9wJ,aAAa,EAAEnqC,EAAEtwC,SAAS,WAAW,OAAO/jB,KAAKsvP,GAAG6B,aAAa,EAAEpI,CAAC,CAA/sJ,GAAmtJz0L,EAAErvB,EAAErI,UAAU,OAAOqyN,EAAEryN,UAAU03B,EAAE,CAAC,CAAC,MAAMh8B,GAAG,CAAC,KAAKx4B,GAAG,CAAC,KAAK40D,GAAG,CAAC,KAAK+5L,GAAG,CAAC,KAAK5uP,GAAG,CAAC,KAAKirB,GAAG,CAAC,KAAKypE,GAAG,CAAC,KAAKp8D,IAAI1xB,SAAQ,SAAU0qB,GAAGmjC,EAAEnjC,EAAE,IAAI,SAASthB,GAAG,OAAO7P,KAAKuwP,GAAG1gP,EAAEshB,EAAE,GAAGA,EAAE,GAAG,CAAE,IAAG89N,EAAEx3L,OAAO,SAAStmC,EAAEthB,GAAG,OAAOshB,EAAEigO,KAAKjgO,EAAEthB,EAAEo1B,EAAEgqN,GAAG99N,EAAEigO,IAAG,GAAInC,CAAC,EAAEA,EAAEhrM,OAAO8kK,EAAEkmC,EAAEoC,QAAQrC,EAAEC,EAAEuB,KAAK,SAASr/N,GAAG,OAAO89N,EAAE,IAAI99N,EAAE,EAAE89N,EAAEqC,GAAG/+E,EAAElkD,GAAG4gI,EAAEsC,GAAGh/E,EAAE08E,EAAExyN,EAAE,CAAC,EAAEwyN,CAAE,CAAl6Np/O,E,uBCAfpQ,EAAOD,QAA6K,SAAUqQ,GAAG,aAAa,SAAS6+O,EAAE7+O,GAAG,OAAOA,GAAG,iBAAiBA,GAAG,YAAYA,EAAEA,EAAE,CAAC2R,QAAQ3R,EAAE,CAAC,IAAI6kD,EAAEg6L,EAAE7+O,GAAGsoB,EAAE,CAACj0B,KAAK,KAAK8sP,YAAY,kDAAkDvrP,MAAM,KAAKkpP,SAAS,uDAAuDlpP,MAAM,KAAKyrP,cAAc,qCAAqCzrP,MAAM,KAAKwrP,YAAY,uBAAuBxrP,MAAM,KAAKmpP,OAAO,2FAA2FnpP,MAAM,KAAKmrP,UAAU,EAAEptN,QAAQ,CAACguN,GAAG,OAAOC,IAAI,UAAUC,EAAE,aAAaC,GAAG,wBAAwBC,IAAI,6BAA6BC,KAAK,oCAAoCC,aAAa,CAACC,OAAO,QAAQC,KAAK,UAAUt9L,EAAE,gBAAgBL,EAAE,YAAY49L,GAAG,aAAa19J,EAAE,WAAW29J,GAAG,WAAW/5N,EAAE,SAASg6N,GAAG,UAAUpJ,EAAE,SAASqJ,GAAG,WAAWjhM,EAAE,SAASkhM,GAAG,WAAWxD,QAAQ,SAASh/O,GAAG,OAAOA,EAAE,GAAG,GAAG,OAAO6kD,EAAElzC,QAAQyiC,OAAO9rB,EAAE,MAAK,GAAIA,CAAE,CAAtjCu2N,CAAE,EAAQ,M,mBCAzBjvP,EAAOD,QAAwJ,WAAY,aAAa,OAAO,SAASqQ,EAAEshB,GAAG,IAAImH,EAAEnH,EAAEyL,UAAU43B,EAAEl8B,EAAE0G,OAAO1G,EAAE0G,OAAO,SAASnvB,GAAG,IAAIshB,EAAEnxB,KAAKs4B,EAAEt4B,KAAK2wP,UAAU,IAAI3wP,KAAK6mB,UAAU,OAAO2tC,EAAE40D,KAAKppH,KAAPw0D,CAAa3kD,GAAG,IAAI6kD,EAAE10D,KAAKswP,SAASzwP,GAAGgQ,GAAG,wBAAwBhK,QAAQ,+DAA8D,SAAUgK,GAAG,OAAOA,GAAG,IAAI,IAAI,OAAO+0B,KAAK4qC,MAAMr+C,EAAEs+N,GAAG,GAAG,GAAG,IAAI,KAAK,OAAOn3N,EAAEu2N,QAAQ19N,EAAEw+N,IAAI,IAAI,OAAO,OAAOx+N,EAAEmhO,WAAW,IAAI,OAAO,OAAOnhO,EAAEohO,cAAc,IAAI,KAAK,OAAOj6N,EAAEu2N,QAAQ19N,EAAEqhO,OAAO,KAAK,IAAI,IAAI,IAAI,KAAK,OAAO99L,EAAEA,EAAEvjC,EAAEqhO,OAAO,MAAM3iP,EAAE,EAAE,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,OAAO6kD,EAAEA,EAAEvjC,EAAEshO,UAAU,MAAM5iP,EAAE,EAAE,EAAE,KAAK,IAAI,IAAI,IAAI,KAAK,OAAO6kD,EAAEA,EAAErwC,OAAO,IAAI8M,EAAE2+N,GAAG,GAAG3+N,EAAE2+N,IAAI,MAAMjgP,EAAE,EAAE,EAAE,KAAK,IAAI,IAAI,OAAO+0B,KAAKiwB,MAAM1jC,EAAEm+N,GAAG36K,UAAU,KAAK,IAAI,IAAI,OAAOxjD,EAAEm+N,GAAG36K,UAAU,IAAI,IAAI,MAAM,IAAIxjD,EAAEuhO,aAAa,IAAI,IAAI,MAAM,MAAM,IAAIvhO,EAAEuhO,WAAW,QAAQ,IAAI,QAAQ,OAAO7iP,EAAG,IAAG,OAAO2kD,EAAE40D,KAAKppH,KAAPw0D,CAAa30D,EAAE,CAAC,CAAE,CAAp/BsxB,E,mBCAf1xB,EAAOD,QAA2J,WAAY,aAAa,IAAIqQ,EAAE,CAAC4hP,IAAI,YAAYD,GAAG,SAASE,EAAE,aAAaC,GAAG,eAAeC,IAAI,sBAAsBC,KAAK,6BAA6B1gO,EAAE,gGAAgGqjC,EAAE,KAAKl8B,EAAE,OAAOx4B,EAAE,QAAQ4uP,EAAE,qBAAqBh6L,EAAE,CAAC,EAAE70D,EAAE,SAASgQ,GAAG,OAAOA,GAAGA,IAAIA,EAAE,GAAG,KAAK,IAAI,EAAM0qD,EAAE,SAAS1qD,GAAG,OAAO,SAASshB,GAAGnxB,KAAK6P,IAAIshB,CAAC,CAAC,EAAEojE,EAAE,CAAC,sBAAsB,SAAS1kF,IAAI7P,KAAK2yP,OAAO3yP,KAAK2yP,KAAK,CAAC,IAAIl5L,OAAO,SAAS5pD,GAAG,IAAIA,EAAE,OAAO,EAAE,GAAG,MAAMA,EAAE,OAAO,EAAE,IAAIshB,EAAEthB,EAAEkH,MAAM,gBAAgBy9C,EAAE,GAAGrjC,EAAE,KAAKA,EAAE,IAAI,GAAG,OAAO,IAAIqjC,EAAE,EAAE,MAAMrjC,EAAE,IAAIqjC,EAAEA,CAAC,CAAhI,CAAkI3kD,EAAE,GAAG4+O,EAAE,SAAS5+O,GAAG,IAAIshB,EAAEujC,EAAE7kD,GAAG,OAAOshB,IAAIA,EAAE6Q,QAAQ7Q,EAAEA,EAAEujC,EAAE75C,OAAOsW,EAAEopC,GAAG,EAAEpiC,EAAE,SAAStoB,EAAEshB,GAAG,IAAIqjC,EAAEl8B,EAAEo8B,EAAEq8L,SAAS,GAAGz4N,GAAG,IAAI,IAAIx4B,EAAE,EAAEA,GAAG,GAAGA,GAAG,EAAE,GAAG+P,EAAEmyB,QAAQ1J,EAAEx4B,EAAE,EAAEqxB,KAAK,EAAE,CAACqjC,EAAE10D,EAAE,GAAG,KAAK,OAAO00D,EAAE3kD,KAAKshB,EAAE,KAAK,MAAM,OAAOqjC,CAAC,EAAE1pC,EAAE,CAAC9L,EAAE,CAAC0vO,EAAE,SAAS7+O,GAAG7P,KAAK4yP,UAAUz6N,EAAEtoB,GAAE,EAAG,GAAGhQ,EAAE,CAAC6uP,EAAE,SAAS7+O,GAAG7P,KAAK4yP,UAAUz6N,EAAEtoB,GAAE,EAAG,GAAGk/O,EAAE,CAACv6L,EAAE,SAAS3kD,GAAG7P,KAAK6C,MAAM,GAAGgN,EAAE,GAAG,CAAC,GAAGm/O,EAAE,CAACx6L,EAAE,SAAS3kD,GAAG7P,KAAK6yP,aAAa,KAAKhjP,CAAC,GAAGijP,GAAG,CAACx6N,EAAE,SAASzoB,GAAG7P,KAAK6yP,aAAa,IAAIhjP,CAAC,GAAGkjP,IAAI,CAAC,QAAQ,SAASljP,GAAG7P,KAAK6yP,cAAchjP,CAAC,GAAG6kD,EAAE,CAAC50D,EAAEy6D,EAAE,YAAYy4L,GAAG,CAAClzP,EAAEy6D,EAAE,YAAYlG,EAAE,CAACv0D,EAAEy6D,EAAE,YAAY03L,GAAG,CAACnyP,EAAEy6D,EAAE,YAAYquL,EAAE,CAAC9oP,EAAEy6D,EAAE,UAAUg6B,EAAE,CAACz0F,EAAEy6D,EAAE,UAAU04L,GAAG,CAACnzP,EAAEy6D,EAAE,UAAU23L,GAAG,CAACpyP,EAAEy6D,EAAE,UAAUg4G,EAAE,CAACzyK,EAAEy6D,EAAE,QAAQ24L,GAAG,CAAC56N,EAAEiiC,EAAE,QAAQ44L,GAAG,CAACzE,EAAE,SAAS7+O,GAAG,IAAIshB,EAAEujC,EAAEm6L,QAAQr6L,EAAE3kD,EAAEkH,MAAM,OAAO,GAAG/W,KAAKuZ,IAAIi7C,EAAE,GAAGrjC,EAAE,IAAI,IAAImH,EAAE,EAAEA,GAAG,GAAGA,GAAG,EAAEnH,EAAEmH,GAAGzyB,QAAQ,SAAS,MAAMgK,IAAI7P,KAAKuZ,IAAI+e,EAAE,GAAGywL,EAAE,CAACjpN,EAAEy6D,EAAE,SAAS64L,GAAG,CAAC96N,EAAEiiC,EAAE,SAASwuL,EAAE,CAACjpP,EAAEy6D,EAAE,UAAU63L,GAAG,CAAC95N,EAAEiiC,EAAE,UAAU84L,IAAI,CAAC3E,EAAE,SAAS7+O,GAAG,IAAIshB,EAAEs9N,EAAE,UAAUj6L,GAAGi6L,EAAE,gBAAgBt9N,EAAEtf,KAAI,SAAUhC,GAAG,OAAOA,EAAE+K,MAAM,EAAE,EAAG,KAAIonB,QAAQnyB,GAAG,EAAE,GAAG2kD,EAAE,EAAE,MAAM,IAAI5vD,MAAM5E,KAAK6C,MAAM2xD,EAAE,IAAIA,CAAC,GAAG8+L,KAAK,CAAC5E,EAAE,SAAS7+O,GAAG,IAAIshB,EAAEs9N,EAAE,UAAUzsN,QAAQnyB,GAAG,EAAE,GAAGshB,EAAE,EAAE,MAAM,IAAIvsB,MAAM5E,KAAK6C,MAAMsuB,EAAE,IAAIA,CAAC,GAAGwiB,EAAE,CAAC,WAAW4mB,EAAE,SAASg5L,GAAG,CAACj7N,EAAE,SAASzoB,GAAG7P,KAAK4C,KAAK/C,EAAEgQ,EAAE,GAAG2jP,KAAK,CAAC,QAAQj5L,EAAE,SAAS3mB,EAAE2gD,EAAEk/J,GAAGl/J,GAAG,SAASs0J,EAAEr0L,GAAG,IAAIl8B,EAAEx4B,EAAEw4B,EAAEk8B,EAAE10D,EAAE40D,GAAGA,EAAElxB,QAAQ,IAAI,IAAIkrN,GAAGl6L,EAAEl8B,EAAEzyB,QAAQ,qCAAoC,SAAUsrB,EAAEqjC,EAAEl8B,GAAG,IAAIo2N,EAAEp2N,GAAGA,EAAE3d,cAAc,OAAO65C,GAAG10D,EAAEw4B,IAAIzoB,EAAEyoB,IAAIx4B,EAAE4uP,GAAG7oP,QAAQ,kCAAiC,SAAUgK,EAAEshB,EAAEqjC,GAAG,OAAOrjC,GAAGqjC,EAAE55C,MAAM,EAAG,GAAG,KAAI7D,MAAMoa,GAAGtxB,EAAE6uP,EAAE7kP,OAAO0wD,EAAE,EAAEA,EAAE16D,EAAE06D,GAAG,EAAE,CAAC,IAAIg6B,EAAEm6J,EAAEn0L,GAAGk0L,EAAE3jO,EAAEypE,GAAGp8D,EAAEs2N,GAAGA,EAAE,GAAG5F,EAAE4F,GAAGA,EAAE,GAAGC,EAAEn0L,GAAGsuL,EAAE,CAACjgO,MAAMuP,EAAEuR,OAAOm/M,GAAGt0J,EAAE1uF,QAAQ,WAAW,GAAG,CAAC,OAAO,SAASgK,GAAG,IAAI,IAAIshB,EAAE,CAAC,EAAEqjC,EAAE,EAAEl8B,EAAE,EAAEk8B,EAAE30D,EAAE20D,GAAG,EAAE,CAAC,IAAI10D,EAAE4uP,EAAEl6L,GAAG,GAAG,iBAAiB10D,EAAEw4B,GAAGx4B,EAAE+J,WAAW,CAAC,IAAI6qD,EAAE50D,EAAE8oB,MAAM2xC,EAAEz6D,EAAE4pC,OAAO6qD,EAAE1kF,EAAE+K,MAAM0d,GAAGm2N,EAAE/5L,EAAE26D,KAAK96B,GAAG,GAAGh6B,EAAE59B,KAAKxL,EAAEs9N,GAAG5+O,EAAEA,EAAEhK,QAAQ4oP,EAAE,GAAG,CAAC,CAAC,OAAO,SAAS5+O,GAAG,IAAIshB,EAAEthB,EAAE+iP,UAAU,QAAG,IAASzhO,EAAE,CAAC,IAAIqjC,EAAE3kD,EAAE6qO,MAAMvpN,EAAEqjC,EAAE,KAAK3kD,EAAE6qO,OAAO,IAAI,KAAKlmL,IAAI3kD,EAAE6qO,MAAM,UAAU7qO,EAAE+iP,SAAS,CAAC,CAAxH,CAA0HzhO,GAAGA,CAAC,CAAC,CAAC,OAAO,SAASthB,EAAEshB,EAAEqjC,GAAGA,EAAE/3B,EAAEgsE,mBAAkB,EAAG54F,GAAGA,EAAE6jP,oBAAoB7zP,EAAEgQ,EAAE6jP,mBAAmB,IAAIp7N,EAAEnH,EAAEyL,UAAU98B,EAAEw4B,EAAEkJ,MAAMlJ,EAAEkJ,MAAM,SAAS3xB,GAAG,IAAIshB,EAAEthB,EAAEqzC,KAAK5qB,EAAEzoB,EAAEq0C,IAAIwqM,EAAE7+O,EAAEwwB,KAAKrgC,KAAKmvP,GAAG72N,EAAE,IAAIz4B,EAAE6uP,EAAE,GAAG,GAAG,iBAAiB7uP,EAAE,CAAC,IAAI06D,GAAE,IAAKm0L,EAAE,GAAGn6J,GAAE,IAAKm6J,EAAE,GAAGD,EAAEl0L,GAAGg6B,EAAEp8D,EAAEu2N,EAAE,GAAGn6J,IAAIp8D,EAAEu2N,EAAE,IAAIh6L,EAAE10D,KAAK2wP,WAAWp2L,GAAGpiC,IAAIu8B,EAAEF,EAAE+8L,GAAGp5N,IAAIn4B,KAAKsvP,GAAG,SAASz/O,EAAEshB,EAAEqjC,EAAEl8B,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK0J,QAAQ7Q,IAAI,EAAE,OAAO,IAAI4iB,MAAM,MAAM5iB,EAAE,IAAI,GAAGthB,GAAG,IAAI/P,EAAE+oP,EAAE13N,EAAF03N,CAAKh5O,GAAG6+O,EAAE5uP,EAAE8C,KAAK8xD,EAAE50D,EAAE+C,MAAMhD,EAAEC,EAAEyZ,IAAIghD,EAAEz6D,EAAE46O,MAAMnmJ,EAAEz0F,EAAE66O,QAAQ8T,EAAE3uP,EAAE6zP,QAAQx7N,EAAEr4B,EAAE+yP,aAAa/nO,EAAEhrB,EAAE6yP,KAAKt+L,EAAEv0D,EAAE0yP,KAAKzJ,EAAE,IAAIh1M,KAAKJ,EAAE9zC,IAAI6uP,GAAGh6L,EAAE,EAAEq0L,EAAE1wJ,WAAW57D,EAAEiyN,GAAG3F,EAAEziB,cAAcprH,EAAE,EAAEwzI,IAAIh6L,IAAIwmD,EAAExmD,EAAE,EAAEA,EAAE,EAAEq0L,EAAE2G,YAAY,IAAIn9E,EAAEw2C,EAAExuJ,GAAG,EAAE8zD,EAAE95B,GAAG,EAAEpjC,EAAEs9L,GAAG,EAAEiD,EAAEv5N,GAAG,EAAE,OAAOrN,EAAE,IAAIipB,KAAKA,KAAKw7M,IAAI9yN,EAAEy+E,EAAEvnE,EAAEo1K,EAAE16F,EAAEl9D,EAAEugM,EAAE,GAAG5mO,EAAE2uC,OAAO,MAAMjF,EAAE,IAAIzgB,KAAKA,KAAKw7M,IAAI9yN,EAAEy+E,EAAEvnE,EAAEo1K,EAAE16F,EAAEl9D,EAAEugM,KAAKn/E,EAAE,IAAIx+H,KAAKtX,EAAEy+E,EAAEvnE,EAAEo1K,EAAE16F,EAAEl9D,EAAEugM,GAAGr9L,IAAIk+G,EAAEj6I,EAAEi6I,GAAGigF,KAAKn+L,GAAGq8L,UAAUn+E,EAAE,CAAC,MAAM1iK,GAAG,OAAO,IAAIkkC,KAAK,GAAG,CAAC,CAAzf,CAA2f5iB,EAAEtxB,EAAEy4B,EAAEk8B,GAAGx0D,KAAK6jH,OAAO1rF,IAAG,IAAKA,IAAIn4B,KAAKkvP,GAAGlvP,KAAKikD,OAAO9rB,GAAG+2N,IAAIT,GAAGt9N,GAAGnxB,KAAKg/B,OAAOn/B,KAAKG,KAAKsvP,GAAG,IAAIv7M,KAAK,KAAK2gB,EAAE,CAAC,CAAC,MAAM,GAAG70D,aAAaqiC,MAAM,IAAI,IAAIpX,EAAEjrB,EAAEgK,OAAOwqD,EAAE,EAAEA,GAAGvpC,EAAEupC,GAAG,EAAE,CAACq6L,EAAE,GAAG7uP,EAAEw0D,EAAE,GAAG,IAAI00L,EAAEv0L,EAAEiM,MAAMzgE,KAAK0uP,GAAG,GAAG3F,EAAEliO,UAAU,CAAC7mB,KAAKsvP,GAAGvG,EAAEuG,GAAGtvP,KAAKkvP,GAAGnG,EAAEmG,GAAGlvP,KAAK6jH,OAAO,KAAK,CAACxvD,IAAIvpC,IAAI9qB,KAAKsvP,GAAG,IAAIv7M,KAAK,IAAI,MAAMj0C,EAAE68B,KAAK38B,KAAK6P,EAAE,CAAC,CAAE,CAAjtHshB,E,mBCAf1xB,EAAOD,QAAmJ,WAAY,aAAa,OAAO,SAASqQ,EAAE/P,EAAEqxB,GAAGrxB,EAAE88B,UAAU+rE,UAAU,SAAS94F,EAAE/P,EAAE40D,EAAE6F,GAAG,IAAI/F,EAAErjC,EAAEthB,GAAG6+O,EAAEv9N,EAAErxB,GAAGw4B,EAAE,OAAOiiC,EAAEA,GAAG,MAAM,GAAGk0L,EAAE,MAAMl0L,EAAE,GAAG,OAAOjiC,EAAEt4B,KAAKuhM,QAAQ/sI,EAAEE,IAAI10D,KAAKwhM,SAAShtI,EAAEE,MAAM+5L,EAAEzuP,KAAKwhM,SAASktD,EAAEh6L,IAAI10D,KAAKuhM,QAAQmtD,EAAEh6L,MAAMp8B,EAAEt4B,KAAKwhM,SAAShtI,EAAEE,IAAI10D,KAAKuhM,QAAQ/sI,EAAEE,MAAM+5L,EAAEzuP,KAAKuhM,QAAQmtD,EAAEh6L,IAAI10D,KAAKwhM,SAASktD,EAAEh6L,GAAG,CAAC,CAAE,CAA5c50D,E,mBCAfL,EAAOD,QAAwJ,WAAY,aAAa,OAAO,SAASqQ,EAAE/P,GAAGA,EAAE88B,UAAUmnB,eAAe,SAASl0C,EAAE/P,GAAG,OAAOE,KAAKohM,OAAOvxL,EAAE/P,IAAIE,KAAKwhM,SAAS3xL,EAAE/P,EAAE,CAAC,CAAE,CAArRA,E,mBCAfL,EAAOD,QAAkJ,WAAY,aAAa,IAAI2xB,EAAE,CAACvuB,KAAK,EAAEC,MAAM,EAAE0W,IAAI,EAAEurC,KAAK,EAAEi2L,OAAO,EAAExjG,OAAO,GAAG1nI,EAAE,CAAC,EAAE,OAAO,SAAS2kD,EAAE10D,EAAE4uP,GAAG,IAAIp2N,EAAEz4B,EAAE,SAASsxB,EAAEqjC,EAAE10D,QAAG,IAASA,IAAIA,EAAE,CAAC,GAAG,IAAI4uP,EAAE,IAAI36M,KAAK5iB,GAAGmH,EAAE,SAASnH,EAAEqjC,QAAG,IAASA,IAAIA,EAAE,CAAC,GAAG,IAAI10D,EAAE00D,EAAEo/L,cAAc,QAAQlF,EAAEv9N,EAAE,IAAIrxB,EAAEw4B,EAAEzoB,EAAE6+O,GAAG,OAAOp2N,IAAIA,EAAE,IAAIu7N,KAAKC,eAAe,QAAQ,CAAC9Y,QAAO,EAAG+Y,SAAS5iO,EAAEvuB,KAAK,UAAUC,MAAM,UAAU0W,IAAI,UAAUurC,KAAK,UAAUi2L,OAAO,UAAUxjG,OAAO,UAAUq8G,aAAa9zP,IAAI+P,EAAE6+O,GAAGp2N,GAAGA,CAAC,CAA3Q,CAA6Qk8B,EAAE10D,GAAG,OAAOw4B,EAAE07N,cAActF,EAAE,EAAED,EAAE,SAAS5+O,EAAE2kD,GAAG,IAAI,IAAI10D,EAAED,EAAEgQ,EAAE2kD,GAAGl8B,EAAE,GAAGm2N,EAAE,EAAEA,EAAE3uP,EAAE+J,OAAO4kP,GAAG,EAAE,CAAC,IAAIl0L,EAAEz6D,EAAE2uP,GAAG/5L,EAAE6F,EAAE/1D,KAAK6vD,EAAEkG,EAAE7rD,MAAMoc,EAAEqG,EAAEujC,GAAG5pC,GAAG,IAAIwN,EAAExN,GAAGyoB,SAAS8gB,EAAE,IAAI,CAAC,IAAIl8B,EAAEG,EAAE,GAAGuwN,EAAE,KAAK1wN,EAAE,EAAEA,EAAEo8D,EAAEj8D,EAAE,GAAG,IAAIA,EAAE,GAAG,IAAIA,EAAE,GAAG,IAAIuwN,EAAE,IAAIvwN,EAAE,GAAG,IAAIA,EAAE,GAAG,OAAO4iF,GAAGrrG,EAAE,OAAO6+O,EAAExqM,IAAIqwC,GAAGk8J,WAAWv1I,GAAGA,EAAE,MAAM,GAAG,EAAE3gD,EAAEz6D,EAAE88B,UAAU29B,EAAE05L,GAAG,SAAS9iO,EAAEthB,QAAG,IAASshB,IAAIA,EAAEmH,GAAG,IAAIk8B,EAAE10D,EAAEE,KAAK8uP,YAAYjvP,EAAEG,KAAK0wP,SAASjC,EAAE5uP,EAAEi7O,eAAe,QAAQ,CAACiZ,SAAS5iO,IAAIopC,EAAE31B,KAAK41B,OAAO36D,EAAE,IAAIk0C,KAAK06M,IAAI,IAAI,IAAI/5L,EAAE,IAAI9vB,KAAK41B,MAAM36D,EAAE46O,oBAAoB,IAAIlgL,EAAE,GAAI3nC,OAAO8hC,IAA8B,GAAGF,EAAEk6L,EAAED,EAAE,CAACxqM,OAAOjkD,KAAKkvP,KAAK2B,KAAK,cAAc7wP,KAAKowP,KAAKtB,UAAUp6L,GAAE,GAAI7kD,EAAE,CAAC,IAAIwkD,EAAEG,EAAEs6L,YAAYt6L,EAAEA,EAAEziB,IAAIjyC,EAAEu0D,EAAE,SAAS,OAA/IG,EAAEx0D,KAAK8uP,UAAU,EAAEj/O,GAA6H,OAAO2kD,EAAE46L,GAAG8E,UAAU/iO,EAAEqjC,CAAC,EAAE+F,EAAEm4L,WAAW,SAASvhO,GAAG,IAAIthB,EAAE7P,KAAKovP,GAAG8E,WAAWxF,EAAEuF,GAAGE,QAAQ3/L,EAAE30D,EAAEG,KAAKywP,UAAU5gP,EAAE,CAAC+jP,aAAaziO,IAAIluB,MAAK,SAAUkuB,GAAG,MAAM,iBAAiBA,EAAE3sB,KAAKmG,aAAc,IAAG,OAAO6pD,GAAGA,EAAE9lD,KAAK,EAAE,IAAIgmD,EAAE6F,EAAEonH,QAAQpnH,EAAEonH,QAAQ,SAASxwJ,EAAEthB,GAAG,IAAI7P,KAAKovP,KAAKpvP,KAAKovP,GAAG8E,UAAU,OAAOx/L,EAAE/3B,KAAK38B,KAAKmxB,EAAEthB,GAAG,IAAI2kD,EAAEk6L,EAAE1uP,KAAKg/B,OAAO,2BAA2B,CAACilB,OAAOjkD,KAAKkvP,KAAK,OAAOx6L,EAAE/3B,KAAK63B,EAAErjC,EAAEthB,GAAGokP,GAAGj0P,KAAKovP,GAAG8E,WAAU,EAAG,EAAExF,EAAEuF,GAAG,SAAS9iO,EAAEthB,EAAE2kD,GAAG,IAAI10D,EAAE00D,GAAG3kD,EAAEhQ,EAAE20D,GAAG3kD,GAAGyoB,EAAEiiC,EAAEk0L,GAAGC,IAAI7uP,GAAG,GAAG,iBAAiBsxB,EAAE,OAAOu9N,EAAEv9N,GAAG8iO,GAAGp0P,GAAG,IAAI60D,EAAE,SAASvjC,EAAEthB,EAAE2kD,GAAG,IAAI10D,EAAEqxB,EAAE,GAAGthB,EAAE,IAAI6+O,EAAED,EAAE3uP,EAAE00D,GAAG,GAAG3kD,IAAI6+O,EAAE,MAAM,CAAC5uP,EAAE+P,GAAG,IAAIyoB,EAAEm2N,EAAE3uP,GAAG,IAAI4uP,EAAE7+O,GAAG,IAAI2kD,GAAG,OAAOk6L,IAAIp2N,EAAE,CAACx4B,EAAE4uP,GAAG,CAACv9N,EAAE,GAAGyT,KAAK5rB,IAAI01O,EAAEp2N,GAAG,IAAIsM,KAAK/rB,IAAI61O,EAAEp2N,GAAG,CAAnJ,CAAqJo2N,EAAExqM,IAAI/yB,EAAErxB,GAAG2wP,UAAUl2L,EAAE16D,GAAGw0D,EAAEK,EAAE,GAAG5pC,EAAE4pC,EAAE,GAAGv8B,EAAEu2N,EAAEr6L,GAAGy6L,UAAUhkO,GAAG,OAAOqN,EAAEi3N,GAAG8E,UAAUr0P,EAAEs4B,CAAC,EAAEu2N,EAAEuF,GAAGE,MAAM,WAAW,OAAON,KAAKC,iBAAiBM,kBAAkBL,QAAQ,EAAErF,EAAEuF,GAAGI,WAAW,SAASljO,GAAGmH,EAAEnH,CAAC,CAAC,CAAE,CAAxjEthB,E,mBCAfpQ,EAAOD,QAA6I,WAAY,aAAa,IAAI2xB,EAAE,SAASrxB,EAAE,uBAAuB+P,EAAE,eAAe,OAAO,SAAS6kD,EAAE6F,EAAE/F,GAAG,IAAIi6L,EAAEl0L,EAAE39B,UAAU43B,EAAEtQ,IAAI,SAAS/yB,GAAwC,OAAO,IAAIopC,EAA1C,CAACrX,KAAK/xB,EAAE+yB,KAAI,EAAG7jB,KAAKmL,WAA0B,EAAEijN,EAAEvqM,IAAI,SAASpkD,GAAG,IAAI+P,EAAE2kD,EAAEx0D,KAAK0wP,SAAS,CAACzsM,OAAOjkD,KAAKkvP,GAAGhrM,KAAI,IAAK,OAAOpkD,EAAE+P,EAAEkiC,IAAI/xC,KAAK8uP,YAAY39N,GAAGthB,CAAC,EAAE4+O,EAAE6F,MAAM,WAAW,OAAO9/L,EAAEx0D,KAAK0wP,SAAS,CAACzsM,OAAOjkD,KAAKkvP,GAAGhrM,KAAI,GAAI,EAAE,IAAIwqM,EAAED,EAAEjtN,MAAMitN,EAAEjtN,MAAM,SAASrQ,GAAGA,EAAE+yB,MAAMlkD,KAAKmvP,IAAG,GAAInvP,KAAKswP,SAAS7B,EAAEt9N,EAAEk+N,WAAWrvP,KAAKqvP,QAAQl+N,EAAEk+N,SAASX,EAAE/xN,KAAK38B,KAAKmxB,EAAE,EAAE,IAAImH,EAAEm2N,EAAE5qI,KAAK4qI,EAAE5qI,KAAK,WAAW,GAAG7jH,KAAKmvP,GAAG,CAAC,IAAIh+N,EAAEnxB,KAAKsvP,GAAGtvP,KAAKwvP,GAAGr+N,EAAEojO,iBAAiBv0P,KAAKyvP,GAAGt+N,EAAEqjO,cAAcx0P,KAAK2vP,GAAGx+N,EAAEsjO,aAAaz0P,KAAK4vP,GAAGz+N,EAAEujO,YAAY10P,KAAK8vP,GAAG3+N,EAAEwjO,cAAc30P,KAAKgwP,GAAG7+N,EAAEyjO,gBAAgB50P,KAAKkwP,GAAG/+N,EAAE0jO,gBAAgB70P,KAAKowP,IAAIj/N,EAAE2jO,oBAAoB,MAAMx8N,EAAEqE,KAAK38B,KAAK,EAAE,IAAIH,EAAE4uP,EAAEK,UAAUL,EAAEK,UAAU,SAASp6L,EAAE6F,GAAG,IAAI/F,EAAEx0D,KAAKswP,SAAS7B,EAAE,GAAGj6L,EAAEE,GAAG,OAAO10D,KAAKmvP,GAAG,EAAE36L,EAAEx0D,KAAKqvP,SAASxvP,EAAE88B,KAAK38B,MAAMA,KAAKqvP,QAAQ,GAAG,iBAAiB36L,IAAIA,EAAE,SAASvjC,QAAG,IAASA,IAAIA,EAAE,IAAI,IAAIujC,EAAEvjC,EAAEpa,MAAMjX,GAAG,IAAI40D,EAAE,OAAO,KAAK,IAAI6F,GAAG,GAAG7F,EAAE,IAAI39C,MAAMlH,IAAI,CAAC,IAAI,EAAE,GAAG2kD,EAAE+F,EAAE,GAAGk0L,EAAE,IAAIl0L,EAAE,KAAKA,EAAE,GAAG,OAAO,IAAIk0L,EAAE,EAAE,MAAMj6L,EAAEi6L,GAAGA,CAAC,CAA1J,CAA4J/5L,GAAG,OAAOA,GAAG,OAAO10D,KAAK,IAAIyuP,EAAE7pN,KAAK8zC,IAAIhkB,IAAI,GAAG,GAAGA,EAAEA,EAAEg6L,EAAE1uP,KAAK,GAAGu6D,EAAE,OAAOm0L,EAAEW,QAAQZ,EAAEC,EAAES,GAAG,IAAIz6L,EAAEg6L,EAAE,GAAG,IAAIh6L,EAAE,CAAC,IAAIp8B,EAAEt4B,KAAKmvP,GAAGnvP,KAAK0wP,SAASjW,qBAAqB,EAAEz6O,KAAK8uP,aAAaJ,EAAE1uP,KAAKs0P,QAAQviN,IAAI08M,EAAEn2N,EAAEnH,IAAIk+N,QAAQZ,EAAEC,EAAEU,GAAG2F,aAAaz8N,CAAC,MAAMo2N,EAAE1uP,KAAKkkD,MAAM,OAAOwqM,CAAC,EAAE,IAAIn6J,EAAEk6J,EAAEzvN,OAAOyvN,EAAEzvN,OAAO,SAAS7N,GAAG,IAAIrxB,EAAEqxB,IAAInxB,KAAKmvP,GAAG,yBAAyB,IAAI,OAAO56J,EAAE53D,KAAK38B,KAAKF,EAAE,EAAE2uP,EAAEgC,QAAQ,WAAW,IAAIt/N,EAAEnxB,KAAKswP,SAAS7B,EAAEzuP,KAAKqvP,SAAS,EAAErvP,KAAKqvP,SAASrvP,KAAKovP,GAAG2F,cAAc/0P,KAAKsvP,GAAG7U,qBAAqB,OAAOz6O,KAAKsvP,GAAGmB,UAAU,IAAIt/N,CAAC,EAAEs9N,EAAEuG,MAAM,WAAW,QAAQh1P,KAAKmvP,EAAE,EAAEV,EAAEjwJ,YAAY,WAAW,OAAOx+F,KAAK0wP,SAASlyJ,aAAa,EAAEiwJ,EAAE1qO,SAAS,WAAW,OAAO/jB,KAAK0wP,SAASS,aAAa,EAAE,IAAItI,EAAE4F,EAAEiC,OAAOjC,EAAEiC,OAAO,SAASv/N,GAAG,MAAM,MAAMA,GAAGnxB,KAAKqvP,QAAQ76L,EAAEx0D,KAAKg/B,OAAO,4BAA4B0xN,SAAS7H,EAAElsN,KAAK38B,KAAK,EAAE,IAAI8qB,EAAE2jO,EAAEn7G,KAAKm7G,EAAEn7G,KAAK,SAASniH,EAAErxB,EAAE+P,GAAG,GAAGshB,GAAGnxB,KAAKmvP,KAAKh+N,EAAEg+N,GAAG,OAAOrkO,EAAE6R,KAAK38B,KAAKmxB,EAAErxB,EAAE+P,GAAG,IAAI6kD,EAAE10D,KAAKs0P,QAAQ/5L,EAAE/F,EAAErjC,GAAGmjO,QAAQ,OAAOxpO,EAAE6R,KAAK+3B,EAAE6F,EAAEz6D,EAAE+P,EAAE,CAAC,CAAE,CAAvnE/P,E,iBCAnF,IAAIm1P,EAAe,EAAQ,MACvBC,EAAO,YASX,SAASC,EAAW95I,EAAO+5I,GACvBp1P,KAAKq7G,MAAQA,EACbr7G,KAAKo1P,gBAAkBA,EACvBp1P,KAAK6oH,SAAW,GAChB7oH,KAAK6wM,IAAM1uM,OAAOquF,WAAW6qB,GAE7B,IAAIt7G,EAAOC,KACXA,KAAKyuD,SAAW,SAASoiJ,GAErB9wM,EAAK8wM,IAAMA,EAAI9tL,eAAiB8tL,EAChC9wM,EAAKs1P,QACT,EACAr1P,KAAK6wM,IAAIniJ,YAAY1uD,KAAKyuD,SAC9B,CAEA0mM,EAAWv4N,UAAY,CAEnB04N,WAAaH,EAWbI,WAAa,SAASr2I,GAClB,IAAIs2I,EAAK,IAAIP,EAAa/1I,GAC1Bl/G,KAAK6oH,SAASrlH,KAAKgyP,GAEnBx1P,KAAKywF,WAAa+kK,EAAGjgN,IACzB,EAOAkgN,cAAgB,SAASv2I,GACrB,IAAI2J,EAAW7oH,KAAK6oH,SACpBqsI,EAAKrsI,GAAU,SAASt0B,EAAGz0F,GACvB,GAAGy0F,EAAEwe,OAAOmM,GAER,OADA3qB,EAAEmhK,WACM7sI,EAAS7uC,OAAOl6E,EAAE,EAElC,GACJ,EAOA2wF,QAAU,WACN,OAAOzwF,KAAK6wM,IAAIpgH,SAAWzwF,KAAKo1P,eACpC,EAKAxhJ,MAAQ,WACJshJ,EAAKl1P,KAAK6oH,UAAU,SAAS3J,GACzBA,EAAQw2I,SACZ,IACA11P,KAAK6wM,IAAIhiJ,eAAe7uD,KAAKyuD,UAC7BzuD,KAAK6oH,SAASh/G,OAAS,CAC3B,EAKAwrP,OAAS,WACL,IAAI34M,EAAS18C,KAAKywF,UAAY,KAAO,MAErCykK,EAAKl1P,KAAK6oH,UAAU,SAAS3J,GACzBA,EAAQxiE,IACZ,GACJ,GAGJj9C,EAAOD,QAAU21P,C,iBC5FjB,IAAIA,EAAa,EAAQ,MACrBQ,EAAO,EAAQ,KACfT,EAAOS,EAAKT,KACZU,EAAaD,EAAKC,WAClBzzN,EAAUwzN,EAAKxzN,QAQnB,SAAS0zN,IACL,IAAI1zP,OAAOquF,WACP,MAAM,IAAI5rF,MAAM,8DAGpB5E,KAAK81P,QAAU,CAAC,EAChB91P,KAAK+1P,oBAAsB5zP,OAAOquF,WAAW,YAAYC,OAC7D,CAEAolK,EAAmBj5N,UAAY,CAE3B/3B,YAAcgxP,EAad5gP,SAAW,SAASkyO,EAAG9iP,EAAS2xP,GAC5B,IAAIF,EAAkB91P,KAAK81P,QACvBV,EAAkBY,GAAiBh2P,KAAK+1P,mBAoB5C,OAlBID,EAAQ3O,KACR2O,EAAQ3O,GAAK,IAAIgO,EAAWhO,EAAGiO,IAIhCQ,EAAWvxP,KACVA,EAAU,CAAE0S,MAAQ1S,IAEpB89B,EAAQ99B,KACRA,EAAU,CAACA,IAEf6wP,EAAK7wP,GAAS,SAAS66G,GACf02I,EAAW12I,KACXA,EAAU,CAAEnoG,MAAQmoG,IAExB42I,EAAQ3O,GAAGoO,WAAWr2I,EAC1B,IAEOl/G,IACX,EAQAi2P,WAAa,SAAS9O,EAAGjoI,GACrB,IAAI7D,EAAQr7G,KAAK81P,QAAQ3O,GAYzB,OAVG9rI,IACI6D,EACC7D,EAAMo6I,cAAcv2I,IAGpB7D,EAAMzH,eACC5zG,KAAK81P,QAAQ3O,KAIrBnnP,IACX,GAGJP,EAAOD,QAAUq2P,C,WC1EjB,SAASZ,EAAa5wP,GAClBrE,KAAKqE,QAAUA,GACdA,EAAQ6xP,YAAcl2P,KAAKm2P,OAChC,CAEAlB,EAAar4N,UAAY,CAErB/3B,YAAcowP,EAOdkB,MAAQ,WACDn2P,KAAKqE,QAAQ8xP,OACZn2P,KAAKqE,QAAQ8xP,QAEjBn2P,KAAKo2P,aAAc,CACvB,EAOA7gN,GAAK,YACAv1C,KAAKo2P,aAAep2P,KAAKm2P,QAC1Bn2P,KAAKqE,QAAQ0S,OAAS/W,KAAKqE,QAAQ0S,OACvC,EAOA4+B,IAAM,WACF31C,KAAKqE,QAAQgyP,SAAWr2P,KAAKqE,QAAQgyP,SACzC,EAQAX,QAAU,WACN11P,KAAKqE,QAAQqxP,QAAU11P,KAAKqE,QAAQqxP,UAAY11P,KAAK21C,KACzD,EASAo9D,OAAS,SAAS/iG,GACd,OAAOhQ,KAAKqE,UAAY2L,GAAUhQ,KAAKqE,QAAQ0S,QAAU/G,CAC7D,GAIJvQ,EAAOD,QAAUy1P,C,UClCjBx1P,EAAOD,QAAU,CACbo2P,WALJ,SAAoB5lP,GAChB,MAAyB,mBAAXA,CAClB,EAIImyB,QAhBJ,SAAiBnyB,GACb,MAAmD,mBAA5C+M,OAAO6f,UAAU7Y,SAAS08C,MAAMzwD,EAC3C,EAeIklP,KApCJ,SAAcoB,EAAYtrL,GAKtB,IAJA,IAAIlrE,EAAS,EACT+J,EAASysP,EAAWzsP,OAGjB/J,EAAI+J,IAEK,IADLmhE,EAAGsrL,EAAWx2P,GAAIA,GADVA,KAMvB,E,gBCjBA,IAAI+1P,EAAqB,EAAQ,MACjCp2P,EAAOD,QAAU,IAAIq2P,C,wBCCrB,IAAI9nI,EAAMhxG,OAAO6f,UAAU4hB,eACvBjU,EAAS,IASb,SAASgsN,IAAU,CA4BnB,SAASC,EAAGxrL,EAAIjrC,EAAS02N,GACvBz2P,KAAKgrE,GAAKA,EACVhrE,KAAK+/B,QAAUA,EACf//B,KAAKy2P,KAAOA,IAAQ,CACtB,CAaA,SAAS/nM,EAAYq0J,EAAStxM,EAAOu5D,EAAIjrC,EAAS02N,GAChD,GAAkB,mBAAPzrL,EACT,MAAM,IAAImhC,UAAU,mCAGtB,IAAI19C,EAAW,IAAI+nM,EAAGxrL,EAAIjrC,GAAWgjL,EAAS0zC,GAC1C//M,EAAMnM,EAASA,EAAS94B,EAAQA,EAMpC,OAJKsxM,EAAQ30F,QAAQ13E,GACXqsK,EAAQ30F,QAAQ13E,GAAKs0B,GAC1B+3I,EAAQ30F,QAAQ13E,GAAO,CAACqsK,EAAQ30F,QAAQ13E,GAAM+X,GADhBs0J,EAAQ30F,QAAQ13E,GAAKlzC,KAAKirD,IADlCs0J,EAAQ30F,QAAQ13E,GAAO+X,EAAUs0J,EAAQ2zC,gBAI7D3zC,CACT,CASA,SAAS4zC,EAAW5zC,EAASrsK,GACI,KAAzBqsK,EAAQ2zC,aAAoB3zC,EAAQ30F,QAAU,IAAImoI,SAC5CxzC,EAAQ30F,QAAQ13E,EAC9B,CASA,SAASgrB,IACP1hE,KAAKouH,QAAU,IAAImoI,EACnBv2P,KAAK02P,aAAe,CACtB,CAzEI35O,OAAO8f,SACT05N,EAAO35N,UAAY7f,OAAO8f,OAAO,OAM5B,IAAI05N,GAASjlI,YAAW/mF,GAAS,IA2ExCm3B,EAAa9kC,UAAUg6N,WAAa,WAClC,IACIC,EACA3yP,EAFA4yP,EAAQ,GAIZ,GAA0B,IAAtB92P,KAAK02P,aAAoB,OAAOI,EAEpC,IAAK5yP,KAAS2yP,EAAS72P,KAAKouH,QACtBL,EAAIpxF,KAAKk6N,EAAQ3yP,IAAO4yP,EAAMtzP,KAAK+mC,EAASrmC,EAAK0W,MAAM,GAAK1W,GAGlE,OAAI6Y,OAAOq0L,sBACF0lD,EAAMj8O,OAAOkC,OAAOq0L,sBAAsBylD,IAG5CC,CACT,EASAp1L,EAAa9kC,UAAUm6N,UAAY,SAAmBtlP,GACpD,IAAIilC,EAAMnM,EAASA,EAAS94B,EAAQA,EAChCo3G,EAAW7oH,KAAKouH,QAAQ13E,GAE5B,IAAKmyE,EAAU,MAAO,GACtB,GAAIA,EAAS79C,GAAI,MAAO,CAAC69C,EAAS79C,IAElC,IAAK,IAAIlrE,EAAI,EAAG+oP,EAAIhgI,EAASh/G,OAAQmtP,EAAK,IAAI90N,MAAM2mN,GAAI/oP,EAAI+oP,EAAG/oP,IAC7Dk3P,EAAGl3P,GAAK+oH,EAAS/oH,GAAGkrE,GAGtB,OAAOgsL,CACT,EASAt1L,EAAa9kC,UAAUq6N,cAAgB,SAAuBxlP,GAC5D,IAAIilC,EAAMnM,EAASA,EAAS94B,EAAQA,EAChCslP,EAAY/2P,KAAKouH,QAAQ13E,GAE7B,OAAKqgN,EACDA,EAAU/rL,GAAW,EAClB+rL,EAAUltP,OAFM,CAGzB,EASA63D,EAAa9kC,UAAUw3C,KAAO,SAAc3iE,EAAOylP,EAAIC,EAAIC,EAAIC,EAAIC,GACjE,IAAI5gN,EAAMnM,EAASA,EAAS94B,EAAQA,EAEpC,IAAKzR,KAAKouH,QAAQ13E,GAAM,OAAO,EAE/B,IAEIrW,EACAvgC,EAHAi3P,EAAY/2P,KAAKouH,QAAQ13E,GACzBygE,EAAM3rE,UAAU3hC,OAIpB,GAAIktP,EAAU/rL,GAAI,CAGhB,OAFI+rL,EAAUN,MAAMz2P,KAAK6uD,eAAep9C,EAAOslP,EAAU/rL,QAAI/mE,GAAW,GAEhEkzG,GACN,KAAK,EAAG,OAAO4/I,EAAU/rL,GAAGruC,KAAKo6N,EAAUh3N,UAAU,EACrD,KAAK,EAAG,OAAOg3N,EAAU/rL,GAAGruC,KAAKo6N,EAAUh3N,QAASm3N,IAAK,EACzD,KAAK,EAAG,OAAOH,EAAU/rL,GAAGruC,KAAKo6N,EAAUh3N,QAASm3N,EAAIC,IAAK,EAC7D,KAAK,EAAG,OAAOJ,EAAU/rL,GAAGruC,KAAKo6N,EAAUh3N,QAASm3N,EAAIC,EAAIC,IAAK,EACjE,KAAK,EAAG,OAAOL,EAAU/rL,GAAGruC,KAAKo6N,EAAUh3N,QAASm3N,EAAIC,EAAIC,EAAIC,IAAK,EACrE,KAAK,EAAG,OAAON,EAAU/rL,GAAGruC,KAAKo6N,EAAUh3N,QAASm3N,EAAIC,EAAIC,EAAIC,EAAIC,IAAK,EAG3E,IAAKx3P,EAAI,EAAGugC,EAAO,IAAI6B,MAAMi1E,EAAK,GAAIr3G,EAAIq3G,EAAKr3G,IAC7CugC,EAAKvgC,EAAI,GAAK0rC,UAAU1rC,GAG1Bi3P,EAAU/rL,GAAGvK,MAAMs2L,EAAUh3N,QAASM,EACxC,KAAO,CACL,IACIy0B,EADAjrD,EAASktP,EAAUltP,OAGvB,IAAK/J,EAAI,EAAGA,EAAI+J,EAAQ/J,IAGtB,OAFIi3P,EAAUj3P,GAAG22P,MAAMz2P,KAAK6uD,eAAep9C,EAAOslP,EAAUj3P,GAAGkrE,QAAI/mE,GAAW,GAEtEkzG,GACN,KAAK,EAAG4/I,EAAUj3P,GAAGkrE,GAAGruC,KAAKo6N,EAAUj3P,GAAGigC,SAAU,MACpD,KAAK,EAAGg3N,EAAUj3P,GAAGkrE,GAAGruC,KAAKo6N,EAAUj3P,GAAGigC,QAASm3N,GAAK,MACxD,KAAK,EAAGH,EAAUj3P,GAAGkrE,GAAGruC,KAAKo6N,EAAUj3P,GAAGigC,QAASm3N,EAAIC,GAAK,MAC5D,KAAK,EAAGJ,EAAUj3P,GAAGkrE,GAAGruC,KAAKo6N,EAAUj3P,GAAGigC,QAASm3N,EAAIC,EAAIC,GAAK,MAChE,QACE,IAAK/2N,EAAM,IAAKy0B,EAAI,EAAGz0B,EAAO,IAAI6B,MAAMi1E,EAAK,GAAIriD,EAAIqiD,EAAKriD,IACxDz0B,EAAKy0B,EAAI,GAAKtpB,UAAUspB,GAG1BiiM,EAAUj3P,GAAGkrE,GAAGvK,MAAMs2L,EAAUj3P,GAAGigC,QAASM,GAGpD,CAEA,OAAO,CACT,EAWAqhC,EAAa9kC,UAAU2Y,GAAK,SAAY9jC,EAAOu5D,EAAIjrC,GACjD,OAAO2uB,EAAY1uD,KAAMyR,EAAOu5D,EAAIjrC,GAAS,EAC/C,EAWA2hC,EAAa9kC,UAAU65N,KAAO,SAAchlP,EAAOu5D,EAAIjrC,GACrD,OAAO2uB,EAAY1uD,KAAMyR,EAAOu5D,EAAIjrC,GAAS,EAC/C,EAYA2hC,EAAa9kC,UAAUiyB,eAAiB,SAAwBp9C,EAAOu5D,EAAIjrC,EAAS02N,GAClF,IAAI//M,EAAMnM,EAASA,EAAS94B,EAAQA,EAEpC,IAAKzR,KAAKouH,QAAQ13E,GAAM,OAAO12C,KAC/B,IAAKgrE,EAEH,OADA2rL,EAAW32P,KAAM02C,GACV12C,KAGT,IAAI+2P,EAAY/2P,KAAKouH,QAAQ13E,GAE7B,GAAIqgN,EAAU/rL,GAEV+rL,EAAU/rL,KAAOA,GACfyrL,IAAQM,EAAUN,MAClB12N,GAAWg3N,EAAUh3N,UAAYA,GAEnC42N,EAAW32P,KAAM02C,OAEd,CACL,IAAK,IAAI52C,EAAI,EAAG+2P,EAAS,GAAIhtP,EAASktP,EAAUltP,OAAQ/J,EAAI+J,EAAQ/J,KAEhEi3P,EAAUj3P,GAAGkrE,KAAOA,GACnByrL,IAASM,EAAUj3P,GAAG22P,MACtB12N,GAAWg3N,EAAUj3P,GAAGigC,UAAYA,IAErC82N,EAAOrzP,KAAKuzP,EAAUj3P,IAOtB+2P,EAAOhtP,OAAQ7J,KAAKouH,QAAQ13E,GAAyB,IAAlBmgN,EAAOhtP,OAAegtP,EAAO,GAAKA,EACpEF,EAAW32P,KAAM02C,EACxB,CAEA,OAAO12C,IACT,EASA0hE,EAAa9kC,UAAU6kC,mBAAqB,SAA4BhwD,GACtE,IAAIilC,EAUJ,OARIjlC,GACFilC,EAAMnM,EAASA,EAAS94B,EAAQA,EAC5BzR,KAAKouH,QAAQ13E,IAAMigN,EAAW32P,KAAM02C,KAExC12C,KAAKouH,QAAU,IAAImoI,EACnBv2P,KAAK02P,aAAe,GAGf12P,IACT,EAKA0hE,EAAa9kC,UAAU+Y,IAAM+rB,EAAa9kC,UAAUiyB,eACpD6S,EAAa9kC,UAAU8xB,YAAcgT,EAAa9kC,UAAU2Y,GAK5DmsB,EAAa61L,SAAWhtN,EAKxBm3B,EAAaA,aAAeA,EAM1BjiE,EAAOD,QAAUkiE,C,2BC9UN3kD,OAAOwvD,eAAe/sE,EAAtB,cAA4CkP,OAAM,IAAOlP,EAAQg4P,eAAeh4P,EAAQi4P,eAAej4P,EAAQk4P,mBAAmBl4P,EAAQm4P,aAAan4P,EAAQo4P,aAAap4P,EAAQq4P,cAAcr4P,EAAQs4P,OAAOt4P,EAAQu4P,OAAOv4P,EAAQw4P,OAAOx4P,EAAQy4P,OAAOz4P,EAAQ04P,YAAY14P,EAAQ24P,wBAAmB,EAA0I34P,EAAQ24P,mBAApH,4GAAkL34P,EAAQ04P,YAAhB,QAAuD14P,EAAQy4P,QAAX,GAAuCz4P,EAAQw4P,OAAX,GAAyCx4P,EAAQu4P,QAAZ,IAAyCv4P,EAAQs4P,OAAZ,IAAwEt4P,EAAQq4P,cAApC,CAAC,MAAM,MAAM,YAAY,GAA6Er4P,EAAQo4P,aAA7B,CAAC,MAAM,WAAW,GAA8Fp4P,EAAQm4P,aAAhD,CAAC,MAAM,WAAW,YAAY,OAAO,GAA2Jn4P,EAAQk4P,mBAAvG,CAACrjM,EAAE,EAAE+jM,GAAG,KAAMC,GAAG,IAAIpG,GAAG,IAAKqG,GAAG,EAAE,SAASC,GAAG,EAAE,SAASC,GAAG,IAAI,MAAMxzK,GAAG,IAAI,KAAKyzK,GAAG,EAAE,OAA+Fj5P,EAAQi4P,eAA9B,CAACpjM,EAAE,GAAGkgC,EAAE,KAAKp8D,EAAE,OAA6C,IAAIq/N,EAAe,CAACkB,GAAG,EAAEC,IAAI,KAASC,GAAG,KAAO/4P,EAAE,IAAKg5P,IAAI,UAAUC,IAAI,QAAQC,IAAI,WAAWv5P,EAAQg4P,eAAeA,EAAeA,EAAewB,IAAIxB,EAAekB,GAAGlB,EAAeyB,KAAKzB,EAAemB,IAAInB,EAAe0B,KAAK1B,EAAeqB,IAAIrB,EAAe2B,KAAK3B,EAAesB,IAAItB,EAAe4B,KAAK5B,EAAeuB,G,4BCA59Ch8O,OAAOwvD,eAAe/sE,EAAtB,cAA4CkP,OAAM,IAAOlP,EAAA,aAAgB,EAAO,IAAuYioP,EAAlX,SAA0Bn4L,EAAM+pM,GAAc,OAAOA,EAAalhN,QAAO,SAASmhN,EAASxnP,GAAK,GAAG,MAAOw9C,EAAmC,MAAM,IAAI1qD,MAAM,IAAIiW,OAAOy0C,EAAM,8BAA8B,OAAGvyC,OAAO6f,UAAU4hB,eAAe7hB,KAAK2yB,EAAMx9C,SAAmB,IAANA,QAAqC,IAAXwnP,GAAwBA,EAASxnP,EAAWA,GAAWwnP,CAAQ,QAAEr1P,EAAU,EAAgCzE,EAAA,QAAgBioP,C,8BCAjgB1qO,OAAOwvD,eAAe/sE,EAAtB,cAA4CkP,OAAM,IAAOlP,EAAA,aAAgB,EAAO,IAAkJswB,EAA9IypO,EAAW,EAAQ,KAAmBC,GAAwG1pO,EAA/D,EAAQ,QAAwEA,EAAI+2N,WAAW/2N,EAAI,CAACtO,QAAQsO,GAAK,SAAS2pO,EAAQlsI,EAAOmsI,GAAgB,IAAI37N,EAAKhhB,OAAOghB,KAAKwvF,GAAQ,GAAGxwG,OAAOq0L,sBAAsB,CAAC,IAAIuoD,EAAQ58O,OAAOq0L,sBAAsB7jF,GAAWmsI,IAAeC,EAAQA,EAAQlvP,QAAO,SAASmvP,GAAK,OAAO78O,OAAOi3G,yBAAyBzG,EAAOqsI,GAAKhuD,UAAU,KAAG7tK,EAAKv6B,KAAKi9D,MAAM1iC,EAAK47N,EAAQ,CAAC,OAAO57N,CAAI,CAA4d,SAAS87N,EAAgB/pO,EAAIhe,EAAIpD,GAAuI,OAA7HoD,KAAOge,EAAK/S,OAAOwvD,eAAez8C,EAAIhe,EAAI,CAACpD,MAAMA,EAAMk9L,YAAW,EAAK/yF,cAAa,EAAKD,UAAS,IAAY9oF,EAAIhe,GAAKpD,EAAaohB,CAAG,CAAC,IAAuiB23N,EAAjhB,SAA2Bn4L,GAAO,IAAI+pM,EAAa7tN,UAAU3hC,OAAO,QAAkB5F,IAAfunC,UAAU,GAAeA,UAAU,GAAG,CAAC+wB,UAAUg9L,EAAW1B,cAAcv7L,SAASi9L,EAAW3B,aAAakC,SAASP,EAAW5B,cAAkBp7L,GAAU,EAAGi9L,EAAkBh4O,SAAS8tC,EAAM+pM,EAAa98L,WAAeD,GAAS,EAAGk9L,EAAkBh4O,SAAS8tC,EAAM+pM,EAAa/8L,UAAcw9L,GAAS,EAAGN,EAAkBh4O,SAAS8tC,EAAM+pM,EAAaS,UAAU,OAAllC,SAAuB9pP,GAAQ,IAAI,IAAIlQ,EAAE,EAAEA,EAAE0rC,UAAU3hC,OAAO/J,IAAI,CAAC,IAAIw4G,EAAqB,MAAd9sE,UAAU1rC,GAAS0rC,UAAU1rC,GAAG,CAAC,EAAKA,EAAE,EAAG25P,EAAQ18O,OAAOu7F,IAAQ,GAAM7xG,SAAQ,SAASqL,GAAK+nP,EAAgB7pP,EAAO8B,EAAIwmG,EAAOxmG,GAAK,IAAWiL,OAAOg9O,0BAA2Bh9O,OAAOi9O,iBAAiBhqP,EAAO+M,OAAOg9O,0BAA0BzhJ,IAAcmhJ,EAAQ18O,OAAOu7F,IAAS7xG,SAAQ,SAASqL,GAAKiL,OAAOwvD,eAAev8D,EAAO8B,EAAIiL,OAAOi3G,yBAAyB1b,EAAOxmG,GAAK,GAAG,CAAC,OAAO9B,CAAM,CAA+nBiqP,CAAc,CAAC39L,SAASA,EAASC,UAAUA,GAAWu9L,EAAS,CAACA,SAASA,GAAU,CAAC,EAAE,EAAiCt6P,EAAA,QAAgBioP,C,8BCAnvDjoP,EAAQ,OAAQ,EAAO,IAAI06P,EAAatT,EAAuB,EAAQ,OAAsBuT,EAAcvT,EAAuB,EAAQ,OAAuBwT,EAAOxT,EAAuB,EAAQ,OAAgByT,EAAYzT,EAAuB,EAAQ,OAAqB2S,EAAW,EAAQ,KAAe,SAAS3S,EAAuB92N,GAAK,OAAOA,GAAKA,EAAI+2N,WAAW/2N,EAAI,CAACtO,QAAQsO,EAAI,CAAC,IAAgrB23N,EAAhqB,SAAqBvtO,EAAK6jD,GAAI,IAAIu8L,EAAS9uN,UAAU3hC,OAAO,QAAkB5F,IAAfunC,UAAU,GAAeA,UAAU,GAAG,EAAE8uN,OAA2B,IAAXA,GAAyBxzL,MAAMwzL,GAAmB,EAATA,EAAW,IAAIC,GAAQ,EAAGL,EAAa14O,SAAStH,GAAUsgP,GAAQ,EAAGL,EAAc34O,SAAStH,GAAUugP,GAAM,EAAGP,EAAa14O,SAASu8C,GAAQ28L,GAAM,EAAGP,EAAc34O,SAASu8C,GAAQmqB,EAAStjD,KAAK+1N,MAAK,EAAGN,EAAY74O,SAASojB,KAAK62B,KAAI,EAAG2+L,EAAO54O,SAASi5O,IAAQ71N,KAAK62B,KAAI,EAAG2+L,EAAO54O,SAAS+4O,IAAU31N,KAAK8mK,KAAI,EAAG0uD,EAAO54O,SAASi5O,IAAQ71N,KAAK8mK,KAAI,EAAG0uD,EAAO54O,SAAS+4O,IAAU31N,KAAK8mK,KAAI,EAAG0uD,EAAO54O,SAASg5O,IAAS,EAAGJ,EAAO54O,SAASk5O,MAAUnB,EAAWrB,YAAY,OAAOtzN,KAAK41B,MAAM0tB,EAASoyK,GAAUA,CAAQ,EAA2B96P,EAAQ,EAAQioP,C,8BCAzpC1qO,OAAOwvD,eAAe/sE,EAAtB,cAA4CkP,OAAM,IAAOlP,EAAA,aAAgB,EAAO,IAAI+5P,EAAW,EAAQ,KAAmBC,EAAkB5S,EAAuB,EAAQ,OAA2BgU,EAAWhU,EAAuB,EAAQ,OAAgB,SAASA,EAAuB92N,GAAK,OAAOA,GAAKA,EAAI+2N,WAAW/2N,EAAI,CAACtO,QAAQsO,EAAI,CAAC,IAAiQ23N,EAAjP,SAAqBn4L,EAAM6zJ,GAAK,IAAI03C,GAAO,EAAGrB,EAAkBh4O,SAAS8tC,EAAMiqM,EAAW3B,cAAc,GAAG,MAAOiD,EAAV,CAAsD,IAAInsP,EAAM4gD,EAAMurM,GAAQ,OAAa,IAAN13C,EAAWz0M,GAAM,EAAGksP,EAAWp5O,SAAS9S,EAAxE,CAA8E,EAA2BlP,EAAA,QAAgBioP,C,8BCAxnB1qO,OAAOwvD,eAAe/sE,EAAtB,cAA4CkP,OAAM,IAAOlP,EAAA,aAAgB,EAAO,IAAI+5P,EAAW,EAAQ,KAAmBC,EAAkB5S,EAAuB,EAAQ,OAA2BgU,EAAWhU,EAAuB,EAAQ,OAAgB,SAASA,EAAuB92N,GAAK,OAAOA,GAAKA,EAAI+2N,WAAW/2N,EAAI,CAACtO,QAAQsO,EAAI,CAAC,IAAoQ23N,EAAnP,SAAsBn4L,EAAM6zJ,GAAK,IAAI03C,GAAO,EAAGrB,EAAkBh4O,SAAS8tC,EAAMiqM,EAAW1B,eAAe,GAAG,MAAOgD,EAAV,CAAsD,IAAInsP,EAAM4gD,EAAMurM,GAAQ,OAAa,IAAN13C,EAAWz0M,GAAM,EAAGksP,EAAWp5O,SAAS9S,EAAxE,CAA8E,EAA4BlP,EAAA,QAAgBioP,C,4BCA5nB1qO,OAAOwvD,eAAe/sE,EAAtB,cAA4CkP,OAAM,IAAOlP,EAAA,aAAgB,EAAO,IAA8LioP,EAAhL,SAAmB/4O,GAAO,IAAIosP,EAAapsP,EAAMqV,WAAWg9D,OAAO,OAAGja,MAAMzuB,WAAWyiN,KAAoCziN,WAAWyiN,KAAgBloO,OAAOkoO,EAAa,EAAyBt7P,EAAA,QAAgBioP,C,8BCAjT1qO,OAAOwvD,eAAe/sE,EAAtB,cAA4CkP,OAAM,IAAOlP,EAAA,aAAgB,EAAO,IAAI+5P,EAAW,EAAQ,KAAuI9R,EAAtG,SAAuB/4O,GAAO,OAAO6qP,EAAWpB,mBAAmB9sO,KAAK3c,EAAMqV,WAAWg9D,OAAO,EAA6BvhF,EAAA,QAAgBioP,C,8BCArR1qO,OAAOwvD,eAAe/sE,EAAtB,cAA4CkP,OAAM,IAAOlP,EAAA,aAAgB,EAAO,IAAIu7P,EAAoBnU,EAAuB,EAAQ,OAA4BoU,EAAiBpU,EAAuB,EAAQ,OAA0BqU,EAAkBrU,EAAuB,EAAQ,OAAuB,SAASA,EAAuB92N,GAAK,OAAOA,GAAKA,EAAI+2N,WAAW/2N,EAAI,CAACtO,QAAQsO,EAAI,CAAC,IAA8nB23N,EAAxmB,SAA2Bn4L,GAAO,IAAI4rM,GAAmB,EAAGH,EAAoBv5O,SAAS8tC,GAAOgN,EAAS4+L,EAAmB5+L,SAASC,EAAU2+L,EAAmB3+L,UAAU,GAAGr6B,MAAMC,QAAQmtB,IAAQA,EAAMzlD,QAAQ,EAAG,OAAM,EAAGoxP,EAAkBz5O,SAAS8tC,EAAM,MAAK,EAAG0rM,EAAiBx5O,SAAS8tC,EAAM,IAAI,QAAqB,IAAXgN,QAA2C,IAAZC,EAAyB,OAAO,EAAM,IAAIwL,EAAIzY,EAAMiN,GAAezP,EAAIwC,EAAMgN,GAAU,YAAgB,IAANxP,QAAgC,IAANib,KAAuE,KAApC,EAAGizL,EAAiBx5O,SAASsrC,KAAmD,KAArC,EAAGmuM,EAAkBz5O,SAASumD,GAAsC,EAAiCvoE,EAAA,QAAgBioP,C,8BCAhjC1qO,OAAOwvD,eAAe/sE,EAAtB,cAA4CkP,OAAM,IAAOlP,EAAA,aAAgB,EAAO,IAAI27P,EAAWvU,EAAuB,EAAQ,OAAoBwU,EAAexU,EAAuB,EAAQ,OAAwByU,EAAsBzU,EAAuB,EAAQ,OAA+B2S,EAAW,EAAQ,KAAe,SAAS3S,EAAuB92N,GAAK,OAAOA,GAAKA,EAAI+2N,WAAW/2N,EAAI,CAACtO,QAAQsO,EAAI,CAAC,IAAyS23N,EAArR,SAAS6T,EAAgB5sP,GAAO,OAAG,EAAGysP,EAAW35O,SAAS9S,KAAW2pC,WAAW3pC,GAAO6qP,EAAWvB,QAAQtpP,EAAM6qP,EAAWtB,WAAoC,EAAGmD,EAAe55O,SAAS9S,IAAe4sP,GAAgB,EAAGD,EAAsB75O,SAAS9S,GAAoB,EAA+BlP,EAAA,QAAgBioP,C,8BCAlvB1qO,OAAOwvD,eAAe/sE,EAAtB,cAA4CkP,OAAM,IAAOlP,EAAA,aAAgB,EAAO,IAAI27P,EAAWvU,EAAuB,EAAQ,OAAoBwU,EAAexU,EAAuB,EAAQ,OAAwByU,EAAsBzU,EAAuB,EAAQ,OAA+B2S,EAAW,EAAQ,KAAe,SAAS3S,EAAuB92N,GAAK,OAAOA,GAAKA,EAAI+2N,WAAW/2N,EAAI,CAACtO,QAAQsO,EAAI,CAAC,IAA4S23N,EAAvR,SAAS8T,EAAiB7sP,GAAO,OAAG,EAAGysP,EAAW35O,SAAS9S,KAAW2pC,WAAW3pC,GAAO6qP,EAAWzB,QAAQppP,EAAM6qP,EAAWxB,WAAoC,EAAGqD,EAAe55O,SAAS9S,IAAe6sP,GAAiB,EAAGF,EAAsB75O,SAAS9S,GAAoB,EAAgClP,EAAA,QAAgBioP,C,4BCAtvB1qO,OAAOwvD,eAAe/sE,EAAtB,cAA4CkP,OAAM,IAAOlP,EAAA,aAAgB,EAAO,IAAuGioP,EAAxF,SAAoB/4O,GAAO,OAAGA,EAAM,EAAU,EAAKA,GAAO,GAAU,EAASA,CAAK,EAA0BlP,EAAA,QAAgBioP,C,8BCA3N1qO,OAAOwvD,eAAe/sE,EAAtB,cAA4CkP,OAAM,IAAOlP,EAAA,aAAgB,EAAO,IAAI+5P,EAAW,EAAQ,KAA+a9R,EAAvY,SAA8B+T,GAAa,IAAI36P,EAAK,IAAIu9B,OAAOm7N,EAAWpB,oBAAoB9oI,KAAKmsI,EAAYz3O,WAAWg9D,QAAQ,GAAG,MAAOlgF,EAAiC,MAAM,IAAI+D,MAAM,4CAA4C,IAAIoU,EAAI4Z,OAAO/xB,EAAK,IAAI,IAAI,EAAM46P,EAAI7oO,OAAO/xB,EAAK,IAAI,MAAM,EAAM66P,EAAQrjN,WAAWx3C,EAAK,IAAImY,EAAIyiP,EAAI,MAAM,CAAC,IAAI,KAAKn5P,SAASzB,EAAK,KAAK66P,EAAQA,CAAO,EAAoCl8P,EAAA,QAAgBioP,C,8BCApkB1qO,OAAOwvD,eAAe/sE,EAAtB,cAA4CkP,OAAM,IAAOlP,EAAA,aAAgB,EAAO,IAAI27P,EAAWvU,EAAuB,EAAQ,OAAoBwU,EAAexU,EAAuB,EAAQ,OAAwByU,EAAsBzU,EAAuB,EAAQ,OAA+B+U,EAAmB/U,EAAuB,EAAQ,OAA4BsU,EAAmBtU,EAAuB,EAAQ,OAAwB,SAASA,EAAuB92N,GAAK,OAAOA,GAAKA,EAAI+2N,WAAW/2N,EAAI,CAACtO,QAAQsO,EAAI,CAAC,SAAS2pO,EAAQlsI,EAAOmsI,GAAgB,IAAI37N,EAAKhhB,OAAOghB,KAAKwvF,GAAQ,GAAGxwG,OAAOq0L,sBAAsB,CAAC,IAAIuoD,EAAQ58O,OAAOq0L,sBAAsB7jF,GAAWmsI,IAAeC,EAAQA,EAAQlvP,QAAO,SAASmvP,GAAK,OAAO78O,OAAOi3G,yBAAyBzG,EAAOqsI,GAAKhuD,UAAU,KAAG7tK,EAAKv6B,KAAKi9D,MAAM1iC,EAAK47N,EAAQ,CAAC,OAAO57N,CAAI,CAAC,SAASk8N,EAAcjqP,GAAQ,IAAI,IAAIlQ,EAAE,EAAEA,EAAE0rC,UAAU3hC,OAAO/J,IAAI,CAAC,IAAIw4G,EAAqB,MAAd9sE,UAAU1rC,GAAS0rC,UAAU1rC,GAAG,CAAC,EAAKA,EAAE,EAAG25P,EAAQ18O,OAAOu7F,IAAQ,GAAM7xG,SAAQ,SAASqL,GAAK+nP,EAAgB7pP,EAAO8B,EAAIwmG,EAAOxmG,GAAK,IAAWiL,OAAOg9O,0BAA2Bh9O,OAAOi9O,iBAAiBhqP,EAAO+M,OAAOg9O,0BAA0BzhJ,IAAcmhJ,EAAQ18O,OAAOu7F,IAAS7xG,SAAQ,SAASqL,GAAKiL,OAAOwvD,eAAev8D,EAAO8B,EAAIiL,OAAOi3G,yBAAyB1b,EAAOxmG,GAAK,GAAG,CAAC,OAAO9B,CAAM,CAAC,SAAS6pP,EAAgB/pO,EAAIhe,EAAIpD,GAAuI,OAA7HoD,KAAOge,EAAK/S,OAAOwvD,eAAez8C,EAAIhe,EAAI,CAACpD,MAAMA,EAAMk9L,YAAW,EAAK/yF,cAAa,EAAKD,UAAS,IAAY9oF,EAAIhe,GAAKpD,EAAaohB,CAAG,CAAC,IAAyuB23N,EAA3tB,SAASmU,EAAUltP,GAAO,IAAG,EAAGysP,EAAW35O,SAAS9S,GAAQ,OAAOkkB,OAAOlkB,GAAO,IAAG,EAAG0sP,EAAe55O,SAAS9S,GAAQ,OAAM,EAAG2sP,EAAsB75O,SAAS9S,GAAO,IAAG,EAAGitP,EAAmBn6O,SAAS9S,GAAO,CAAC,IAAIqvB,GAAK,EAAGm9N,EAAmB15O,SAAS9S,GAAO,OAAGwzB,MAAMC,QAAQzzB,GAAeA,EAAMmD,KAAI,SAASqpG,EAAEv0G,GAAO,MAAM,CAAC,EAAE,GAAGrE,SAASqE,GAAOi1P,EAAU1gJ,GAAGA,CAAC,IAAU++I,EAAcA,EAAcA,EAAc,CAAC,EAAEvrP,GAAOqvB,EAAKu+B,UAAUu9L,EAAgB,CAAC,EAAE97N,EAAKu+B,SAASs/L,EAAUltP,EAAMqvB,EAAKu+B,aAAav+B,EAAKw+B,WAAWs9L,EAAgB,CAAC,EAAE97N,EAAKw+B,UAAUq/L,EAAUltP,EAAMqvB,EAAKw+B,aAAa,CAAC,OAAGr6B,MAAMC,QAAQzzB,GAAeA,EAAMmD,KAAI,SAASy9C,GAAO,OAAM,EAAGqsM,EAAmBn6O,SAAS8tC,GAAOssM,EAAUtsM,GAAOA,CAAK,IAAU5gD,CAAK,EAAyBlP,EAAA,QAAgBioP,C,4BCAxuE1qO,OAAOwvD,eAAe/sE,EAAtB,cAA4CkP,OAAM,IAAOlP,EAAA,aAAgB,EAAO,IAA8DioP,EAApD,SAAe/4O,GAAO,OAAOA,EAAMk2B,KAAK82B,GAAG,GAAG,EAAqBl8D,EAAA,QAAgBioP,C,8BCE1L,IAAIoU,EAAU,EAAQ,MAMlBC,EAAgB,CAClBC,mBAAmB,EACnBC,aAAa,EACbC,cAAc,EACd71L,cAAc,EACd7tC,aAAa,EACb2jO,iBAAiB,EACjBvlK,0BAA0B,EAC1BwlK,0BAA0B,EAC1BC,QAAQ,EACRl2L,WAAW,EACX1hE,MAAM,GAEJ63P,EAAgB,CAClBn4P,MAAM,EACN2F,QAAQ,EACR+yB,WAAW,EACX0/N,QAAQ,EACRC,QAAQ,EACR/wN,WAAW,EACXgxN,OAAO,GASLC,EAAe,CACjB,UAAY,EACZC,SAAS,EACTt2L,cAAc,EACd7tC,aAAa,EACb2tC,WAAW,EACX1hE,MAAM,GAEJm4P,EAAe,CAAC,EAIpB,SAASC,EAAWr0J,GAElB,OAAIszJ,EAAQgB,OAAOt0J,GACVk0J,EAIFE,EAAap0J,EAAoB,WAAMuzJ,CAChD,CAXAa,EAAad,EAAQiB,YAhBK,CACxB,UAAY,EACZnoP,QAAQ,EACRyxD,cAAc,EACd7tC,aAAa,EACb2tC,WAAW,GAYby2L,EAAad,EAAQkB,MAAQN,EAY7B,IAAIlwL,EAAiBxvD,OAAOwvD,eACxBq/K,EAAsB7uO,OAAO6uO,oBAC7Bx6C,EAAwBr0L,OAAOq0L,sBAC/Bp9E,EAA2Bj3G,OAAOi3G,yBAClC/nD,EAAiBlvD,OAAOkvD,eACxB+wL,EAAkBjgP,OAAO6f,UAsC7Bn9B,EAAOD,QArCP,SAASy9P,EAAqBC,EAAiBC,EAAiBC,GAC9D,GAA+B,iBAApBD,EAA8B,CAEvC,GAAIH,EAAiB,CACnB,IAAIK,EAAqBpxL,EAAekxL,GAEpCE,GAAsBA,IAAuBL,GAC/CC,EAAqBC,EAAiBG,EAAoBD,EAE9D,CAEA,IAAIr/N,EAAO6tN,EAAoBuR,GAE3B/rD,IACFrzK,EAAOA,EAAKljB,OAAOu2L,EAAsB+rD,KAM3C,IAHA,IAAIG,EAAgBV,EAAWM,GAC3BK,EAAgBX,EAAWO,GAEtBr9P,EAAI,EAAGA,EAAIi+B,EAAKl0B,SAAU/J,EAAG,CACpC,IAAIgS,EAAMisB,EAAKj+B,GAEf,KAAKu8P,EAAcvqP,IAAUsrP,GAAaA,EAAUtrP,IAAWyrP,GAAiBA,EAAczrP,IAAWwrP,GAAiBA,EAAcxrP,IAAO,CAC7I,IAAI0rP,EAAaxpI,EAAyBmpI,EAAiBrrP,GAE3D,IAEEy6D,EAAe2wL,EAAiBprP,EAAK0rP,EACvC,CAAE,MAAO3tP,GAAI,CACf,CACF,CACF,CAEA,OAAOqtP,CACT,C,WCpGAz9P,EAAOD,QAAU,SAASqB,EAAMs9G,EAAUnmE,EAAMylN,GAC5C,IACIvR,EAAO,IAAIf,UADgB,IAARsS,EAAuB,CAACA,EAAK58P,GAAQ,CAACA,GAC/B,CAAC2D,KAAMwzC,GAAQ,6BAC7C,QAA2C,IAAhC71C,OAAOg6D,UAAUuhM,WAKxBv7P,OAAOg6D,UAAUuhM,WAAWxR,EAAM/tI,OAEjC,CACD,IAAIw/I,EAAWx7P,OAAOgoP,KAAOhoP,OAAOgoP,IAAIyT,gBAAmBz7P,OAAOgoP,IAAIyT,gBAAgB1R,GAAQ/pP,OAAO07P,UAAUD,gBAAgB1R,GAC3H4R,EAAWxtP,SAASuwD,cAAc,KACtCi9L,EAASplP,MAAM8U,QAAU,OACzBswO,EAASjrP,KAAO8qP,EAChBG,EAASn7O,aAAa,WAAYw7F,QAMD,IAAtB2/I,EAASC,UAChBD,EAASn7O,aAAa,SAAU,UAGpCrS,SAASyO,KAAK60D,YAAYkqL,GAC1BA,EAASnlN,QAGTjoC,YAAW,WACPJ,SAASyO,KAAKk7D,YAAY6jL,GAC1B37P,OAAOgoP,IAAI6T,gBAAgBL,EAC/B,GAAG,IACP,CACJ,C,iBClCA,IAAIM,EAAe,EAAQ,MAOvBC,EAAS,SAAUpuO,GACrB,IAAIquO,EAAK,GACLz6P,EAAWqZ,OAAOghB,KAAKjO,GAmB3B,OAlBApsB,EAAS+C,SAAQ,SAAU3C,EAAS6C,GAClC,IAAI+H,EAAQohB,EAAIhsB,IATF,SAAUA,GAE1B,MADS,kBACCunB,KAAKvnB,EACjB,EASQs6P,CAFJt6P,EAAUm6P,EAAan6P,KAEsB,iBAAV4K,IACjCA,GAAgB,MAGhByvP,IADY,IAAVzvP,EACI5K,GACa,IAAV4K,EACH,OAAS5K,EAET,IAAMA,EAAU,KAAO4K,EAAQ,IAEnC/H,EAAQjD,EAASmG,OAAO,IAC1Bs0P,GAAM,QAEV,IACOA,CACT,EAqBA1+P,EAAOD,QAnBO,SAAU67G,GACtB,IAAI8iJ,EAAK,GACT,MAAqB,iBAAV9iJ,EACFA,EAGLA,aAAiBn5E,OACnBm5E,EAAM50G,SAAQ,SAAU0gP,EAAGxgP,GACzBw3P,GAAMD,EAAO/W,GACTxgP,EAAQ00G,EAAMxxG,OAAO,IACvBs0P,GAAM,KAEV,IACOA,GAGFD,EAAO7iJ,EAChB,C,iBCtCA,IASIgjJ,EAAS,aAGTC,EAAa,qBAGbC,EAAa,aAGbC,EAAY,cAGZC,EAAelrN,SAGf63D,EAA8B,iBAAV,EAAAijB,GAAsB,EAAAA,GAAU,EAAAA,EAAOtxG,SAAWA,QAAU,EAAAsxG,EAGhF7iB,EAA0B,iBAARzrG,MAAoBA,MAAQA,KAAKgd,SAAWA,QAAUhd,KAGxET,EAAO8rG,GAAcI,GAAY1/B,SAAS,cAATA,GAUjCX,EAPcpuD,OAAO6f,UAOQ7Y,SAG7B26O,EAAY95N,KAAK/rB,IACjB8lP,EAAY/5N,KAAK5rB,IAkBjB++C,EAAM,WACR,OAAOz4D,EAAKy0C,KAAKgkB,KACnB,EA2MA,SAASvuB,EAAS96B,GAChB,IAAIlK,SAAckK,EAClB,QAASA,IAAkB,UAARlK,GAA4B,YAARA,EACzC,CA2EA,SAASo6P,EAASlwP,GAChB,GAAoB,iBAATA,EACT,OAAOA,EAET,GAhCF,SAAkBA,GAChB,MAAuB,iBAATA,GAtBhB,SAAsBA,GACpB,QAASA,GAAyB,iBAATA,CAC3B,CAqBKw8F,CAAax8F,IAzTF,mBAyTYy8D,EAAexuC,KAAKjuB,EAChD,CA6BMmwP,CAASnwP,GACX,OA3VM,IA6VR,GAAI86B,EAAS96B,GAAQ,CACnB,IAAI08L,EAAgC,mBAAjB18L,EAAM+hP,QAAwB/hP,EAAM+hP,UAAY/hP,EACnEA,EAAQ86B,EAAS4hK,GAAUA,EAAQ,GAAMA,CAC3C,CACA,GAAoB,iBAAT18L,EACT,OAAiB,IAAVA,EAAcA,GAASA,EAEhCA,EAAQA,EAAM7I,QAAQw4P,EAAQ,IAC9B,IAAIS,EAAWP,EAAWlzO,KAAK3c,GAC/B,OAAQowP,GAAYN,EAAUnzO,KAAK3c,GAC/B+vP,EAAa/vP,EAAMkM,MAAM,GAAIkkP,EAAW,EAAI,GAC3CR,EAAWjzO,KAAK3c,GAxWb,KAwW6BA,CACvC,CAEAjP,EAAOD,QAtPP,SAAkB4sE,EAAMq/B,EAAMpnG,GAC5B,IAAIqnG,EACAC,EACAC,EACA17E,EACA0nC,EACAi0C,EACAC,EAAiB,EACjBC,GAAU,EACVC,GAAS,EACTC,GAAW,EAEf,GAAmB,mBAAR7/B,EACT,MAAM,IAAI+/B,UArIQ,uBA+IpB,SAASC,EAAWz0C,GAClB,IAAIt3B,EAAOqrE,EACPW,EAAUV,EAKd,OAHAD,EAAWC,OAAW1nG,EACtB6nG,EAAiBn0C,EACjBznC,EAASk8C,EAAK3L,MAAM4rC,EAAShsE,EAE/B,CAmBA,SAASmsE,EAAa70C,GACpB,IAAI80C,EAAoB90C,EAAOk0C,EAM/B,YAAyB5nG,IAAjB4nG,GAA+BY,GAAqBhB,GACzDgB,EAAoB,GAAOT,GANJr0C,EAAOm0C,GAM8BF,CACjE,CAEA,SAASc,IACP,IAAI/0C,EAAOI,IACX,GAAIy0C,EAAa70C,GACf,OAAOg1C,EAAah1C,GAGtBC,EAAUlnD,WAAWg8F,EAzBvB,SAAuB/0C,GACrB,IAEIznC,EAASu7E,GAFW9zC,EAAOk0C,GAI/B,OAAOG,EAAS2yJ,EAAUzuO,EAAQ07E,GAHRj0C,EAAOm0C,IAGkC57E,CACrE,CAmBqC48E,CAAcn1C,GACnD,CAEA,SAASg1C,EAAah1C,GAKpB,OAJAC,OAAU3zD,EAINgoG,GAAYP,EACPU,EAAWz0C,IAEpB+zC,EAAWC,OAAW1nG,EACfisB,EACT,CAcA,SAAS8jD,IACP,IAAIrc,EAAOI,IACPg1C,EAAaP,EAAa70C,GAM9B,GAJA+zC,EAAWlgE,UACXmgE,EAAW3rG,KACX6rG,EAAel0C,EAEXo1C,EAAY,CACd,QAAgB9oG,IAAZ2zD,EACF,OAvEN,SAAqBD,GAMnB,OAJAm0C,EAAiBn0C,EAEjBC,EAAUlnD,WAAWg8F,EAAcjB,GAE5BM,EAAUK,EAAWz0C,GAAQznC,CACtC,CAgEa88E,CAAYnB,GAErB,GAAIG,EAGF,OADAp0C,EAAUlnD,WAAWg8F,EAAcjB,GAC5BW,EAAWP,EAEtB,CAIA,YAHgB5nG,IAAZ2zD,IACFA,EAAUlnD,WAAWg8F,EAAcjB,IAE9Bv7E,CACT,CAGA,OAxGAu7E,EAAOmzJ,EAASnzJ,IAAS,EACrBjiE,EAASnlC,KACX0nG,IAAY1nG,EAAQ0nG,QAEpBH,GADAI,EAAS,YAAa3nG,GACHq6P,EAAUE,EAASv6P,EAAQunG,UAAY,EAAGH,GAAQG,EACrEK,EAAW,aAAc5nG,IAAYA,EAAQ4nG,SAAWA,GAiG1Dj4B,EAAUrH,OAnCV,gBACkB1oE,IAAZ2zD,GACFuV,aAAavV,GAEfk0C,EAAiB,EACjBJ,EAAWG,EAAeF,EAAW/zC,OAAU3zD,CACjD,EA8BA+vE,EAAUk5B,MA5BV,WACE,YAAmBjpG,IAAZ2zD,EAAwB1nC,EAASy8E,EAAa50C,IACvD,EA2BOic,CACT,C,6BCjPA,IAAI+qL,EAAuB,EAAQ,MAEnC,SAASC,IAAiB,CAC1B,SAASC,IAA0B,CACnCA,EAAuBC,kBAAoBF,EAE3Cv/P,EAAOD,QAAU,WACf,SAAS2/P,EAAKzxP,EAAO0xP,EAAUC,EAAej9P,EAAUk9P,EAAcC,GACpE,GAAIA,IAAWR,EAAf,CAIA,IAAI72P,EAAM,IAAItD,MACZ,mLAKF,MADAsD,EAAIhE,KAAO,sBACLgE,CAPN,CAQF,CAEA,SAASs3P,IACP,OAAOL,CACT,CAHAA,EAAKvwP,WAAauwP,EAMlB,IAAIM,EAAiB,CACnBp+N,MAAO89N,EACPO,OAAQP,EACRQ,KAAMR,EACN/yL,KAAM+yL,EACNl3N,OAAQk3N,EACR5xI,OAAQ4xI,EACR7gO,OAAQ6gO,EACRS,OAAQT,EAERU,IAAKV,EACLW,QAASN,EACT7pO,QAASwpO,EACT5sL,YAAa4sL,EACbY,WAAYP,EACZnkN,KAAM8jN,EACNa,SAAUR,EACVS,MAAOT,EACPU,UAAWV,EACXW,MAAOX,EACPY,MAAOZ,EAEPa,eAAgBpB,EAChBC,kBAAmBF,GAKrB,OAFAS,EAAet5L,UAAYs5L,EAEpBA,CACT,C,iBC/CEhgQ,EAAOD,QAAU,EAAQ,IAAR,E,wBCNnBC,EAAOD,QAFoB,8C,8BCJ3BA,EAAiB,aAAI,EAErB,IAAIigN,EAcJ,SAAiC3vL,GAAO,GAAIA,GAAOA,EAAI+2N,WAAc,OAAO/2N,EAAO,GAAY,OAARA,GAAiC,WAAjBwwO,EAAQxwO,IAAoC,mBAARA,EAAsB,MAAO,CAAE,QAAWA,GAAS,IAAI2jF,EAAQ8sJ,IAA4B,GAAI9sJ,GAASA,EAAMsa,IAAIj+F,GAAQ,OAAO2jF,EAAM/yG,IAAIovB,GAAQ,IAAImpF,EAAS,CAAC,EAAOunJ,EAAwBzjP,OAAOwvD,gBAAkBxvD,OAAOi3G,yBAA0B,IAAK,IAAIliH,KAAOge,EAAO,GAAI/S,OAAO6f,UAAU4hB,eAAe7hB,KAAK7M,EAAKhe,GAAM,CAAE,IAAIypI,EAAOilH,EAAwBzjP,OAAOi3G,yBAAyBlkG,EAAKhe,GAAO,KAAUypI,IAASA,EAAK76I,KAAO66I,EAAKhzE,KAAQxrD,OAAOwvD,eAAe0sC,EAAQnnG,EAAKypI,GAAgBtiC,EAAOnnG,GAAOge,EAAIhe,EAAQ,CAAImnG,EAAgB,QAAInpF,EAAS2jF,GAASA,EAAMlrC,IAAIz4C,EAAKmpF,GAAW,OAAOA,CAAQ,CAdhuBwnJ,CAAwB,EAAQ,OAEzCC,EAAa9Z,EAAuB,EAAQ,OAE5C+Z,EAAU/Z,EAAuB,EAAQ,OAEzCga,EAAgBha,EAAuB,EAAQ,OAE/Cia,EAAS,EAAQ,MAErB,SAASja,EAAuB92N,GAAO,OAAOA,GAAOA,EAAI+2N,WAAa/2N,EAAM,CAAE,QAAWA,EAAO,CAEhG,SAASywO,IAA6B,GAAuB,mBAAZO,QAAwB,OAAO,KAAM,IAAIrtJ,EAAQ,IAAIqtJ,QAA6F,OAAlFP,EAA2B,WAAsC,OAAO9sJ,CAAO,EAAUA,CAAO,CAIjN,SAAS6sJ,EAAQxwO,GAAmV,OAAtOwwO,EAArD,mBAAXpV,QAAoD,iBAApBA,OAAOS,SAAmC,SAAiB77N,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXo7N,QAAyBp7N,EAAIjrB,cAAgBqmP,QAAUp7N,IAAQo7N,OAAOtuN,UAAY,gBAAkB9M,CAAK,EAAYwwO,EAAQxwO,EAAM,CAEzX,SAAS2pO,EAAQlsI,EAAQmsI,GAAkB,IAAI37N,EAAOhhB,OAAOghB,KAAKwvF,GAAS,GAAIxwG,OAAOq0L,sBAAuB,CAAE,IAAIuoD,EAAU58O,OAAOq0L,sBAAsB7jF,GAAamsI,IAAgBC,EAAUA,EAAQlvP,QAAO,SAAUmvP,GAAO,OAAO78O,OAAOi3G,yBAAyBzG,EAAQqsI,GAAKhuD,UAAY,KAAI7tK,EAAKv6B,KAAKi9D,MAAM1iC,EAAM47N,EAAU,CAAE,OAAO57N,CAAM,CAEpV,SAASk8N,EAAcjqP,GAAU,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CAAE,IAAIw4G,EAAyB,MAAhB9sE,UAAU1rC,GAAa0rC,UAAU1rC,GAAK,CAAC,EAAOA,EAAI,EAAK25P,EAAQ18O,OAAOu7F,IAAS,GAAM7xG,SAAQ,SAAUqL,GAAO+nP,EAAgB7pP,EAAQ8B,EAAKwmG,EAAOxmG,GAAO,IAAeiL,OAAOg9O,0BAA6Bh9O,OAAOi9O,iBAAiBhqP,EAAQ+M,OAAOg9O,0BAA0BzhJ,IAAmBmhJ,EAAQ18O,OAAOu7F,IAAS7xG,SAAQ,SAAUqL,GAAOiL,OAAOwvD,eAAev8D,EAAQ8B,EAAKiL,OAAOi3G,yBAAyB1b,EAAQxmG,GAAO,GAAM,CAAE,OAAO9B,CAAQ,CAIrhB,SAAS+wP,EAAkB/wP,EAAQtC,GAAS,IAAK,IAAI5N,EAAI,EAAGA,EAAI4N,EAAM7D,OAAQ/J,IAAK,CAAE,IAAI09P,EAAa9vP,EAAM5N,GAAI09P,EAAW5xD,WAAa4xD,EAAW5xD,aAAc,EAAO4xD,EAAW3kJ,cAAe,EAAU,UAAW2kJ,IAAYA,EAAW5kJ,UAAW,GAAM77F,OAAOwvD,eAAev8D,EAAQwtP,EAAW1rP,IAAK0rP,EAAa,CAAE,CAI5T,SAASwD,EAAaC,GAAW,OAAO,WAAc,IAAsC/wO,EAAlCgxO,EAAQC,EAAgBF,GAAkB,GAMpG,WAAuC,GAAuB,oBAAZG,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAV3oC,MAAsB,OAAO,EAAM,IAAiF,OAA3E5kL,KAAKnX,UAAU7Y,SAAS4Y,KAAKykO,QAAQC,UAAUttN,KAAM,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOlkC,GAAK,OAAO,CAAO,CAAE,CAN3N0xP,GAA6B,CAAE,IAAIC,EAAYL,EAAgBnhQ,MAAM6E,YAAaqrB,EAASkxO,QAAQC,UAAUH,EAAO11N,UAAWg2N,EAAY,MAAStxO,EAASgxO,EAAMzgM,MAAMzgE,KAAMwrC,WAAc,OAErS,SAAoCzrC,EAAM48B,GAAQ,GAAIA,IAA2B,WAAlB2jO,EAAQ3jO,IAAsC,mBAATA,GAAwB,OAAOA,EAAQ,OAAO40C,EAAuBxxE,EAAO,CAF4H0hQ,CAA2BzhQ,KAAMkwB,EAAS,CAAG,CAIzV,SAASqhD,EAAuBxxE,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI2hQ,eAAe,6DAAgE,OAAO3hQ,CAAM,CAIrK,SAASohQ,EAAgBzS,GAAwJ,OAAnJyS,EAAkBpkP,OAAOs0G,eAAiBt0G,OAAOkvD,eAAiB,SAAyByiL,GAAK,OAAOA,EAAEp9H,WAAav0G,OAAOkvD,eAAeyiL,EAAI,EAAUyS,EAAgBzS,EAAI,CAI5M,SAASiT,EAAgBjT,EAAGjyN,GAA+G,OAA1GklO,EAAkB5kP,OAAOs0G,gBAAkB,SAAyBq9H,EAAGjyN,GAAsB,OAAjBiyN,EAAEp9H,UAAY70F,EAAUiyN,CAAG,EAAUiT,EAAgBjT,EAAGjyN,EAAI,CAEzK,SAASo9N,EAAgB/pO,EAAKhe,EAAKpD,GAAiK,OAApJoD,KAAOge,EAAO/S,OAAOwvD,eAAez8C,EAAKhe,EAAK,CAAEpD,MAAOA,EAAOk9L,YAAY,EAAM/yF,cAAc,EAAMD,UAAU,IAAkB9oF,EAAIhe,GAAOpD,EAAgBohB,CAAK,CAEhN,IAAI8xO,EAAa,WACf,OAAO,CACT,EAYIC,EAA8B,uBAG9BC,EAAuB,gBACvBC,EAAuB,gBAEvBC,EAAwB,iBAExBt/K,EAA2B,SAAUliB,IA5BzC,SAAmByhM,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI/1J,UAAU,sDAAyD81J,EAASrlO,UAAY7f,OAAO8f,OAAOqlO,GAAcA,EAAWtlO,UAAW,CAAE/3B,YAAa,CAAE6J,MAAOuzP,EAAUrpJ,UAAU,EAAMC,cAAc,KAAeqpJ,GAAYP,EAAgBM,EAAUC,EAAa,CA6B9XC,CAAUz/K,EAAaliB,GAEvB,IA3CoB4hM,EAAaC,EAAYC,EA2CzCC,EAASvB,EAAat+K,GAE1B,SAASA,EAAYr1D,GACnB,IAAI8zC,EAEAqhM,EAA2Bn1O,EAAMo1O,wBA2NrC,OA/QJ,SAAyBvxL,EAAUkxL,GAAe,KAAMlxL,aAAoBkxL,GAAgB,MAAM,IAAIj2J,UAAU,oCAAwC,CAsDpJu2J,CAAgB1iQ,KAAM0iF,GAItBm3K,EAAgBtoL,EAFhBpQ,EAAQohM,EAAO5lO,KAAK38B,OAE2B,uBAAuB,SAAUyR,GAC9E0vD,EAAMwhM,mCAAoC,EAI1C,IAHA,IAAItnN,EAAO5pC,EAAM4nG,QAAU5nG,EAAM4nG,OAAOrpG,QACxCyB,EAAMzB,OAEU,OAATqrC,GAAiBA,IAAS/qC,UAAU,CACzC,GAAI+qC,EAAKw8D,cAA+D,OAA/Cx8D,EAAKw8D,aAAa,yBAEzC,OAGF,GAAIx8D,IAAS8lB,EAAMyhM,qBAGjB,YADAzhM,EAAMwhM,mCAAoC,GAI5CtnN,EAAOA,EAAK49B,UACd,CACF,IAEA4gL,EAAgBtoL,EAAuBpQ,GAAQ,wBAAwB,SAAU0hM,GAC1D,OAAjBA,IACF1hM,EAAM0hM,aAAeA,EAEzB,IAEAhJ,EAAgBtoL,EAAuBpQ,GAAQ,0BAA0B,SAAU1vD,EAAO8b,GACxF,IAAIu1O,EAAev1O,EAAMu1O,aACrBC,EAAYx1O,EAAMw1O,UAEtB5hM,EAAM6hM,4BAA4BF,EAAcC,GAE5CtxP,EAAMzB,SAAWmxD,EAAM8hM,oBACzB9hM,EAAM+hM,wBAAyB,GAGjC/hM,EAAMgiM,kBAAmB,EACzBzyP,YAAW,WACTywD,EAAMgiM,kBAAmB,CAC3B,GACF,IAEAtJ,EAAgBtoL,EAAuBpQ,GAAQ,4BAA4B,WACzEA,EAAM6hM,4BAA4B7hM,EAAMzzD,MAAM01P,aAAe,EAAI,KAAM,EACzE,IAEAvJ,EAAgBtoL,EAAuBpQ,GAAQ,qBAAqB,WAC9DA,EAAM8hM,oBAAsB9hM,EAAM+hM,wBACpC/hM,EAAMj2C,MAAMqnL,QAGdpxI,EAAM8hM,kBAAoB,IAC5B,IAEApJ,EAAgBtoL,EAAuBpQ,GAAQ,yBAAyB,SAAU1vD,GAG3E0vD,EAAM+hM,yBACT/hM,EAAM+hM,wBAAyB,EAC/B/hM,EAAM8hM,kBAAoBxxP,EAAMzB,OAEpC,IAEA6pP,EAAgBtoL,EAAuBpQ,GAAQ,+BAA+B,WAC5E,IAAI0hB,EAA8B1hB,EAAMzzD,MAAMm1E,4BAC9CA,GAA+BA,GACjC,IAEAg3K,EAAgBtoL,EAAuBpQ,GAAQ,wBAAwB,SAAU1vD,EAAO5Q,GACtF,IAAI00E,EAAcpU,EAAMzzD,MACpB+0P,EAA0BltL,EAAYktL,wBACtC3/K,EAAuBvN,EAAYuN,qBACnCH,EAA8BpN,EAAYoN,4BAC9CG,GAAwBA,EAAqBrxE,EAAO5Q,GAEpD,IAAIwiQ,EAA0BliM,EAAMzzD,MAAM41P,8BAA8BziQ,EAAK4mB,YAEzEg7O,GAA2BY,EAC7B1gL,EAA4B,CAC1Bj0E,MAAO7N,EAAK0iQ,gBACZ/kJ,OArGuB,wBAwGzBr9C,EAAM0hB,8BAGR1hB,EAAMqiM,4BACR,IAEA3J,EAAgBtoL,EAAuBpQ,GAAQ,qBAAqB,SAAU1vD,GAC5E,IAAIgkE,EAAetU,EAAMzzD,MACrB+0P,EAA0BhtL,EAAagtL,wBACvCgB,EAA8BhuL,EAAaguL,4BAE3CC,EAAwBviM,EAAMwiM,qBAAqBxiM,EAAMyiM,sBAAsBnyP,EAAMzB,SACrF8yP,EAAeY,EAAsBZ,aACrCe,EAAkBH,EAAsBG,gBAExCC,EAAoB3iM,EAAM4iM,cAAcjB,EAAce,GAEtDG,EAAyB7iM,EAAMzzD,MAAMgb,mBAAmBo7O,GAE5D3iM,EAAM8iM,kBAAkBxyP,EAAOuyP,EAAwB,SAEvD7iM,EAAM2hB,qBAAqBrxE,EAAO,CAChCgW,WAAYq8O,EACZP,gBAAiBS,EACjBH,gBAAiBA,EACjBf,aAAcA,EACdl8I,OAAQ,UAGV,IAAIy8I,EAA0BliM,EAAMzzD,MAAM41P,8BAA8BQ,GAElErB,GAA2BY,GAC/BliM,EAAM+iM,oBAG4B,IAAhCT,EACFtiM,EAAMj2C,MAAMqnL,QAEZpxI,EAAM/lC,SAGR1qB,YAAW,WACTywD,EAAM+hM,wBAAyB,CACjC,GACF,IAEArJ,EAAgBtoL,EAAuBpQ,GAAQ,UAAU,WACvD,IAAIwU,EAAexU,EAAMzzD,MACrB20E,EAAa1M,EAAa0M,WAC1B8hL,EAA0BxuL,EAAawuL,wBACvCz1P,EAAQ2zE,EAAW3zE,MACnB0sB,EAASinD,EAAWjnD,OAEpBgpO,EAAwBjjM,EAAMkjM,2BAE9BC,EAAeH,EAAwBz1P,EA5JtB,iBA8JrByyD,EAAM54B,SAAS,CACbquK,WAAW,EACX2tD,wBAAyB,KACzBC,2BAA4B,KAC5BJ,sBAAuB,KACvBK,kBAAmB,KACnBC,aAAcJ,IAGhBlpO,GAAUA,EAAO+lC,EAAMwjM,UAAW,CAChCP,sBAAuBA,GAE3B,IAEAvK,EAAgBtoL,EAAuBpQ,GAAQ,0BAA0B,SAAU1vD,GACjF0vD,EAAMqiM,4BAA2B,GAG7BriM,EAAM+hM,wBAA0BzxP,EAAMzB,SAAWmxD,EAAM8hM,oBACzD9hM,EAAM+hM,wBAAyB,EAEnC,IAEArJ,EAAgBtoL,EAAuBpQ,GAAQ,0BAA0B,WACvEA,EAAM+hM,wBAAyB,CAEjC,IAEArJ,EAAgBtoL,EAAuBpQ,GAAQ,yBAAyB,WACtEA,EAAM+hM,wBAAyB,EAC/B/hM,EAAM8hM,kBAAoB,KAE1B9hM,EAAMj2C,MAAMqnL,OACd,IAEAsnD,EAAgBtoL,EAAuBpQ,GAAQ,aAAa,SAAUyjM,GAGpE,MAAO,CACL,qBAHiBA,EAAM9B,aAIvB,wBAHc8B,EAAM7B,UAIpB7xN,aAAciwB,EAAM0jM,uBACpBxlM,aAAc8B,EAAM2jM,uBACpB3gF,YAAahjH,EAAM4jM,sBACnBh/K,aAAc5kB,EAAM6jM,uBACpBC,YAAa9jM,EAAM+jM,sBACnBh0P,QAASiwD,EAAMgkM,kBAEnB,IAEAtL,EAAgBtoL,EAAuBpQ,GAAQ,8BAA8B,SAAUikM,GACrF,IAAIC,EAAiBD,EAAMC,eACvBl1P,EAAWi1P,EAAMj1P,SAErB,OAAOm1P,EAD0BnkM,EAAMzzD,MAAM43P,4BACX,CAChCD,eAAgBA,EAChBl1P,SAAUA,EACVkrG,MAAOl6C,EAAMokM,YAEjB,IAEApkM,EAAM1xD,MAAQ,CACZmnM,WAAW,EACX8tD,aAAclC,EACd+B,wBAAyB,KACzBC,2BAA4B,KAC5BJ,sBAAuB,KACvBK,kBAAmB,MAErBtjM,EAAMqkM,mBAAoB,EAC1BrkM,EAAMgiM,kBAAmB,EACzBhiM,EAAM8hM,kBAAoB,KACnB9hM,CACT,CAodA,OAhuBoBihM,EA8QP1/K,EA9QoB2/K,EA8QP,CAAC,CACzBvwP,IAAK,oBACLpD,MAAO,WACL4B,SAASC,iBAAiB,YAAavQ,KAAKylQ,qBAC5Cn1P,SAASC,iBAAiB,UAAWvQ,KAAK0lQ,mBAC1C1lQ,KAAKkrB,MAAQlrB,KAAK6iQ,aAAa33O,MAC/BlrB,KAAK4iQ,qBAAuB5iQ,KAAK6iQ,aAAa8C,cAChD,GAEC,CACD7zP,IAAK,mCACLpD,MAAO,SAA0C61D,GAG/C,IAAIqhM,EAAoE,IAA1C5lQ,KAAKyP,MAAM+0P,4BAAoCxkQ,KAAK0N,MAAMm4P,2BAA6BthM,EAAUshM,0BAE3H,EAAIlF,EAAiB,SAAGp8L,EAAUkd,YAAazhF,KAAK0N,MAAM+zE,aACxDld,EAAUshM,0BAA4BthM,EAAUkd,YAAY53E,OAAS,IAAgC,IAA3B7J,KAAKwlQ,oBAAyD,IAA1BxlQ,KAAKmjQ,iBACrHnjQ,KAAK6lQ,2BACID,GACT5lQ,KAAKwjQ,6BAGHxjQ,KAAK8lQ,sBAAsBvhM,EApQN,wBAqQnBvkE,KAAKyP,MAAMi1P,cAAgB1kQ,KAAKkjQ,wBAClCljQ,KAAK+lQ,oBAGHH,GACF5lQ,KAAKwjQ,8BAGPxjQ,KAAKwjQ,4BAGX,GACC,CACD1xP,IAAK,qBACLpD,MAAO,SAA4BgrE,EAAWssL,GAC5C,IAAInwL,EAAe71E,KAAK0N,MACpB+zE,EAAc5L,EAAa4L,YAC3BwkL,EAA0BpwL,EAAaowL,wBACvCJ,EAA2BhwL,EAAagwL,yBAE5C,KAAK,EAAIlF,EAAiB,SAAGl/K,EAAa/H,EAAU+H,cAAgBA,EAAY53E,OAAS,GAAKg8P,EAC5F7lQ,KAAK6lQ,gCAIP,GAAII,EAAyB,CAC3B,IAAI7B,EAAwBpkQ,KAAKqkQ,2BAG7BD,GAF4B4B,EAAU5B,uBAGxC6B,EAAwB,CACtBx+O,WAAY28O,GAGlB,CACF,GACC,CACDtyP,IAAK,uBACLpD,MAAO,WACL4B,SAASE,oBAAoB,YAAaxQ,KAAKylQ,qBAC/Cn1P,SAASE,oBAAoB,UAAWxQ,KAAK0lQ,kBAC/C,GACC,CACD5zP,IAAK,8BACLpD,MAAO,SAAqCo0P,EAAce,EAAiB5iO,GACzE,IAAI0jC,EAAS3kE,KAEbA,KAAKuoC,UAAS,SAAU94B,GACtB,IAAIg1P,EAAoBh1P,EAAMg1P,kBAQ9B,OANwB,OAApBZ,EACFY,EAAoB,KACW,OAAtBA,QAAmD,IAAdxjO,IAC9CwjO,EAAoBxjO,GAGf,CACLsjO,wBAAyBzB,EACzB0B,2BAA4BX,EAC5BO,sBAA2C,OAApBP,EAA2B,KAAOl/L,EAAOo/L,cAAcjB,EAAce,GAC5FY,kBAAmBA,EAEvB,GACF,GACC,CACD3yP,IAAK,6BACLpD,MAAO,WACL,IAAIw3P,IAA+B16N,UAAU3hC,OAAS,QAAsB5F,IAAjBunC,UAAU,KAAmBA,UAAU,GAClGxrC,KAAKuoC,UAAS,SAAU94B,GACtB,IAAIg1P,EAAoBh1P,EAAMg1P,kBAC9B,MAAO,CACLF,wBAAyB,KACzBC,2BAA4B,KAC5BJ,sBAAuB,KACvBK,kBAAmByB,EAA+B,KAAOzB,EAE7D,GACF,GACC,CACD3yP,IAAK,oBACLpD,MAAO,WACL1O,KAAKuoC,SAAS,CACZm8N,aAAa,GAEjB,GACC,CACD5yP,IAAK,mBACLpD,MAAO,WACL1O,KAAKuoC,SAAS,CACZg8N,wBAAyB,KACzBC,2BAA4B,KAC5BJ,sBAAuB,KACvBK,kBAAmB,KACnBC,aAAa,GAEjB,GACC,CACD5yP,IAAK,gBACLpD,MAAO,SAAuBo0P,EAAce,GAC1C,IAAI9tL,EAAe/1E,KAAK0N,MACpB+zE,EAAc1L,EAAa0L,YAC3B2hL,EAAertL,EAAaqtL,aAC5B+C,EAAwBpwL,EAAaowL,sBAEzC,OAAI/C,EACK+C,EAAsB1kL,EAAYqhL,IAAee,GAGnDpiL,EAAYoiL,EACrB,GACC,CACD/xP,IAAK,2BACLpD,MAAO,WACL,IAAI03P,EAAcpmQ,KAAKyP,MACnB80P,EAA0B6B,EAAY7B,wBACtCC,EAA6B4B,EAAY5B,2BAE7C,OAAmC,OAA/BA,EACK,KAGFxkQ,KAAK+jQ,cAAcQ,EAAyBC,EACrD,GACC,CACD1yP,IAAK,4BACLpD,MAAO,SAAmCo0P,EAAce,GAEtD,OAAOn7O,EADkB1oB,KAAK0N,MAAMgb,oBACV1oB,KAAK+jQ,cAAcjB,EAAce,GAC7D,GACC,CACD/xP,IAAK,uBACLpD,MAAO,SAA8B23P,GACnC,IAAIvD,EAAeuD,EAAkBxuJ,aAAa,sBAC9CgsJ,EAAkBwC,EAAkBxuJ,aAAa,yBACrD,MAAO,CACLirJ,aAAsC,iBAAjBA,EAA4BvvN,SAASuvN,EAAc,IAAM,KAC9Ee,gBAAiBtwN,SAASswN,EAAiB,IAE/C,GACC,CACD/xP,IAAK,wBACLpD,MAAO,SAA+B43P,GACpC,IAAIjrN,EAAOirN,EAEX,EAAG,CACD,GAAIjrN,EAAKw8D,cAA+D,OAA/Cx8D,EAAKw8D,aAAa,yBACzC,OAAOx8D,EAGTA,EAAOA,EAAK49B,UACd,OAAkB,OAAT59B,GAIT,MAFAr6C,QAAQC,MAAM,mBAAoBqlQ,GAE5B,IAAI1hQ,MAAM,mCAClB,GACC,CACDkN,IAAK,oBACLpD,MAAO,SAA2B+C,EAAO8wE,EAAUqkC,GACjD,IAAI2/I,EAAwBvmQ,KAAK0N,MAAM20E,WACnC3zE,EAAQ63P,EAAsB73P,MAC9B8C,EAAW+0P,EAAsB/0P,SAEjC+wE,IAAa7zE,GACf8C,EAASC,EAAO,CACd8wE,SAAUA,EACVqkC,OAAQA,GAGd,GACC,CACD90G,IAAK,wBACLpD,MAAO,SAA+BhB,EAAO8wG,GAC3C,IAAI/8B,EAAc/zE,EAAM+zE,YACpBY,EAAa30E,EAAM20E,WACnB8hL,EAA0Bz2P,EAAMy2P,wBAChCz1P,EAAQ2zE,EAAW3zE,MACvB,OAAO+yE,EAAY53E,OAAS,GAAKs6P,EAAwBz1P,EAAO8vG,EAClE,GACC,CACD1sG,IAAK,WACLpD,MAAO,WACL,IACIA,EADa1O,KAAK0N,MAAM20E,WACL3zE,MACnB+1P,EAAoBzkQ,KAAKyP,MAAMg1P,kBACnC,OAA8B,OAAtBA,EAA6B/1P,EAAQ+1P,GAAmB1jL,MAClE,GACC,CACDjvE,IAAK,SACLpD,MAAO,WACL,IAAIirE,EAAS35E,KAETi2E,EAAej2E,KAAK0N,MACpB+zE,EAAcxL,EAAawL,YAC3B+kL,EAAuBvwL,EAAauwL,qBACpC7jL,EAA8B1M,EAAa0M,4BAC3C1B,EAAmBhL,EAAagL,iBAChCoB,EAAapM,EAAaoM,WAC1B+gL,EAAentL,EAAamtL,aAC5BqD,EAAqBxwL,EAAawwL,mBAClCtyO,EAAK8hD,EAAa9hD,GAClBgyO,EAAwBlwL,EAAakwL,sBACrC7+O,EAAQ2uD,EAAa3uD,MACrBoB,EAAqButD,EAAavtD,mBAClC+5O,EAA0BxsL,EAAawsL,wBACvCoD,EAA2B5vL,EAAa4vL,yBACxCR,EAAiBpvL,EAAaovL,eAC9BqB,EAAe1mQ,KAAKyP,MACpBmnM,EAAY8vD,EAAa9vD,UACzB8tD,EAAcgC,EAAahC,YAC3BH,EAA0BmC,EAAanC,wBACvCC,EAA6BkC,EAAalC,2BAC1CC,EAAoBiC,EAAajC,kBACjCN,EAA0B1B,EAA0Bb,EAAa5hQ,KAAK0N,MAAMy2P,wBAC5Ez1P,EAAQ2zE,EAAW3zE,MACnBi4P,EAAWtkL,EAAWhnD,QACtBurO,EAAavkL,EAAW4K,UACxB64K,EAAwB9lQ,KAAK8lQ,sBAAsB9lQ,KAAK0N,MAAO,UAC/Dm5P,EAASpE,GAA2B7rD,IAAc8tD,GAAeoB,EACjEjoI,EAAQgpI,EAASplL,EAAc,GAE/BqlL,EAAyB7M,EAAc,CAAC,EAAG53K,EAAY,CACzDhnD,QAAS,SAAiB5pB,GACxB,IAAKkoE,EAAOupL,yBAA2BvpL,EAAOgpL,kCAAmC,CAC/E,IAAI2B,EAAeH,EAAwBz1P,EAAOozP,GAElDnoL,EAAOpxC,SAAS,CACdquK,WAAW,EACX8tD,aAAcJ,IAGhBqC,GAAYA,EAASl1P,GAEjB6yP,GACF3hL,EAA4B,CAC1Bj0E,MAAOA,EACP8vG,OAAQsjJ,GAGd,CACF,EACA1mO,OAAQ,SAAgB3pB,GAClBkoE,EAAOgpL,kCACThpL,EAAOzuD,MAAMqnL,SAKf54H,EAAOgrL,UAAYlzP,EAEdkoE,EAAOupL,yBACVvpL,EAAOv+C,SAEPu+C,EAAOkJ,+BAEX,EACArxE,SAAU,SAAkBC,GAC1B,IAAI/C,EAAQ+C,EAAMzB,OAAOtB,MACrB41P,EAAeH,EAAwBz1P,EAAOqzP,GAElDpoL,EAAOsqL,kBAAkBxyP,EAAO/C,EAAO,QAEnCirE,EAAOipL,uBACTjpL,EAAOipL,qBAAqB90L,UAAY,GAG1C6L,EAAOpxC,SAAS0xN,EAAc,CAAC,EAAG4L,EAA2B,CAAC,EAAI,CAChEtB,wBAAyB,KACzBC,2BAA4B,KAC5BJ,sBAAuB,MACtB,CACDK,kBAAmB,KACnBC,aAAcJ,KAGZA,EACF3hL,EAA4B,CAC1Bj0E,MAAOA,EACP8vG,OAAQujJ,IAGVpoL,EAAOkJ,6BAEX,EACAoK,UAAW,SAAmBx7E,EAAO5Q,GACnC,IAAIqsF,EAAUz7E,EAAMy7E,QAEpB,OAAQA,GACN,KAAK,GAEL,KAAK,GAEH,GAAIw3K,EACEP,EAAwBz1P,EAAOmzP,KACjCl/K,EAA4B,CAC1Bj0E,MAAOA,EACP8vG,OAAQqjJ,IAGVloL,EAAOosL,oBAEPt0P,EAAMC,uBAEH,GAAI+vE,EAAY53E,OAAS,EAAG,CACjC,IAEI04E,EAFAwkL,EAA6BlmQ,EAAKkmQ,2BAClCC,EAA0BnmQ,EAAKmmQ,wBAOjCzkL,EAJ8B,OAA5BykL,EAI+B,OAAtBvC,EAA6B/1P,EAAQ+1P,EAErC9qL,EAAOstL,0BAA0BF,EAA4BC,GAG1ErtL,EAAOqpL,4BAA4B+D,EAA4BC,EAAyBt4P,GAExFirE,EAAOsqL,kBAAkBxyP,EAAO8wE,EAAsB,KAAZ2K,EAAiB,OAAS,MAEpEz7E,EAAMC,gBACR,CAEAioE,EAAO6rL,mBAAoB,EAC3B90P,YAAW,WACTipE,EAAO6rL,mBAAoB,CAC7B,IACA,MAGF,KAAK,GAGD,GAAsB,MAAlB/zP,EAAMy7E,QACR,MAGF,IAAIk3K,EAAwBzqL,EAAO0qL,2BAMnC,GAJIwC,IAAWpE,GACb9oL,EAAOuqL,mBAGoB,MAAzBE,EAA+B,CACjC3yP,EAAMC,iBAEN,IAAIw1P,EAAYx+O,EAAmB07O,GAEnCzqL,EAAOsqL,kBAAkBxyP,EAAOy1P,EAAW,SAE3CvtL,EAAOmJ,qBAAqBrxE,EAAO,CACjCgW,WAAY28O,EACZb,gBAAiB2D,EACjBrD,gBAAiBW,EACjB1B,aAAcyB,EACd39I,OAAQ,UAGVjtC,EAAOupL,wBAAyB,EAChCxyP,YAAW,WACTipE,EAAOupL,wBAAyB,CAClC,GACF,CAEA,MAIJ,KAAK,GAEG2D,GAKFp1P,EAAMC,iBAGR,IAAIy1P,EAAuBN,IAAWpE,EAEZ,OAAtBgC,EAEG0C,IAGHxtL,EAAOsqL,kBAAkBxyP,EAFR,GAE2B,UAExC0yP,EAJa,GAIuBnC,GACtCr/K,EAA4B,CAC1Bj0E,MANa,GAOb8vG,OAAQwjJ,IAGVroL,EAAOkJ,+BAKXlJ,EAAOsqL,kBAAkBxyP,EAAOgzP,EAAmB,UAGjD0C,GACFxtL,EAAOkJ,8BAEPlJ,EAAOuqL,oBAEPvqL,EAAO6pL,6BAOfoD,GAAcA,EAAWn1P,EAC3B,IAGE21P,EAAuB,CACzB/rJ,MAAOr7G,KAAKulQ,YAEd,OAAoB9lD,EAAgB,QAAE5+I,cAAc+/L,EAAuB,QAAG,CAC5EwC,aAAcA,EACdvlI,MAAOA,EACP2oI,qBAAsBA,EACtBa,qBAAsBrnQ,KAAKslQ,2BAC3BgC,WAAYrmL,EACZsmL,eAAgBH,EAChBX,mBAAoBA,EACpBe,gBAAiBrB,EACjB5B,wBAAyBA,EACzBkD,qBAAsBjD,EACtBa,eAAgBA,EAChBhjL,WAAYykL,EACZY,UAAW1nQ,KAAK0nQ,UAChBpgP,OAAO,EAAIu5O,EAAO8G,wBAAwBrgP,GAC1C6M,GAAIA,EACJnmB,IAAKhO,KAAK4nQ,sBAEd,IA7tB8DvF,GAAYtB,EAAkBqB,EAAYxlO,UAAWylO,GAAiBC,GAAavB,EAAkBqB,EAAaE,GAguB3K5/K,CACT,CAzrB+B,CAyrB7B+8H,EAAO1+I,WAETvhE,EAAiB,QAAIkjF,EAErBm3K,EAAgBn3K,EAAa,YAAa,CACxCjB,YAAai/K,EAAoB,QAAEr/N,MAAMzyB,WACzC+zE,4BAA6B,SAAqCj1E,EAAO0xP,GACvE,IAAIz8K,EAA8Bj1E,EAAM0xP,GAExC,GAA2C,mBAAhCz8K,EACT,MAAM,IAAI/9E,MAAM,wIAEpB,EACAi+E,4BAA6B,SAAqCn1E,EAAO0xP,GACvE,IAAIv8K,EAA8Bn1E,EAAM0xP,GAExC,IAAsC,IAAlC1xP,EAAM+0P,yBAA4E,mBAAhC5/K,EACpD,MAAM,IAAIj+E,MAAM,wIAEpB,EACA0+P,8BAA+B5C,EAAoB,QAAEt0L,KACrD0W,qBAAsB49K,EAAoB,QAAEt0L,KAC5C65L,wBAAyBvF,EAAoB,QAAEt0L,KAC/Co6L,qBAAsB9F,EAAoB,QAAEt0L,KAC5Ck5L,2BAA4B5E,EAAoB,QAAEt0L,KAClD1jD,mBAAoBg4O,EAAoB,QAAEt0L,KAAKx9D,WAC/CqyE,iBAAkBy/K,EAAoB,QAAEt0L,KAAKx9D,WAC7CyzE,WAAY,SAAoB30E,EAAO0xP,GACrC,IAAI/8K,EAAa30E,EAAM0xP,GAEvB,IAAK/8K,EACH,MAAM,IAAIz9E,MAAM,gCAGlB,IAAKmY,OAAO6f,UAAU4hB,eAAe7hB,KAAK0lD,EAAY,SACpD,MAAM,IAAIz9E,MAAM,mCAGlB,IAAKmY,OAAO6f,UAAU4hB,eAAe7hB,KAAK0lD,EAAY,YACpD,MAAM,IAAIz9E,MAAM,qCAEpB,EACAu/P,wBAAyBzD,EAAoB,QAAEt0L,KAC/Cq2L,wBAAyB/B,EAAoB,QAAEf,KAC/CyD,aAAc1C,EAAoB,QAAEf,KACpC8G,mBAAoB,SAA4B/4P,EAAO0xP,GACrD,IAAIqH,EAAqB/4P,EAAM0xP,GAE/B,IAA2B,IAAvB1xP,EAAM01P,cAAuD,mBAAvBqD,EACxC,MAAM,IAAI7hQ,MAAM,sHAEpB,EACAuhQ,sBAAuB,SAA+Bz4P,EAAO0xP,GAC3D,IAAI+G,EAAwBz4P,EAAM0xP,GAElC,IAA2B,IAAvB1xP,EAAM01P,cAA0D,mBAA1B+C,EACxC,MAAM,IAAIvhQ,MAAM,4HAEpB,EACA6+P,4BAA6B/C,EAAoB,QAAEf,KACnDkG,yBAA0BnF,EAAoB,QAAEf,KAChDr4O,MAAOo5O,EAAoB,QAAEnzI,OAC7Bp5F,GAAIusO,EAAoB,QAAEpiO,OAC1B+mO,eAAgB3E,EAAoB,QAAEnzI,SAIxCssI,EAAgBn3K,EAAa,eAAgB,CAC3C4iL,2BA3wBsC,SAA2C3yP,GACjF,IAAI0yP,EAAiB1yP,EAAK0yP,eACtBl1P,EAAWwC,EAAKxC,SACpB,OAAoBsvM,EAAgB,QAAE5+I,cAAc,MAAOwkM,EAAgBl1P,EAC7E,EAwwBEg0P,wBAhxBmC,SAAwCz1P,GAC3E,OAAOA,EAAMqyE,OAAOl3E,OAAS,CAC/B,EA+wBE44P,yBAAyB,EACzBW,cAAc,EACdE,8BAA+B,WAC7B,OAAO,CACT,EACAG,6BAA6B,EAC7BoC,0BAA0B,EAC1Bv+O,MAAOu5O,EAAOgH,aACd1zO,GAAI,IACJkxO,eAAgB,CAAC,G,8BC/0BnBtoP,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAiB,aAAI,EAErB,IAAIigN,EAgBJ,SAAiC3vL,GAAO,GAAIA,GAAOA,EAAI+2N,WAAc,OAAO/2N,EAAO,GAAY,OAARA,GAAiC,WAAjBwwO,EAAQxwO,IAAoC,mBAARA,EAAsB,MAAO,CAAE,QAAWA,GAAS,IAAI2jF,EAAQ8sJ,IAA4B,GAAI9sJ,GAASA,EAAMsa,IAAIj+F,GAAQ,OAAO2jF,EAAM/yG,IAAIovB,GAAQ,IAAImpF,EAAS,CAAC,EAAOunJ,EAAwBzjP,OAAOwvD,gBAAkBxvD,OAAOi3G,yBAA0B,IAAK,IAAIliH,KAAOge,EAAO,GAAI/S,OAAO6f,UAAU4hB,eAAe7hB,KAAK7M,EAAKhe,GAAM,CAAE,IAAIypI,EAAOilH,EAAwBzjP,OAAOi3G,yBAAyBlkG,EAAKhe,GAAO,KAAUypI,IAASA,EAAK76I,KAAO66I,EAAKhzE,KAAQxrD,OAAOwvD,eAAe0sC,EAAQnnG,EAAKypI,GAAgBtiC,EAAOnnG,GAAOge,EAAIhe,EAAQ,CAAImnG,EAAgB,QAAInpF,EAAS2jF,GAASA,EAAMlrC,IAAIz4C,EAAKmpF,GAAW,OAAOA,CAAQ,CAhBhuBwnJ,CAAwB,EAAQ,OAEzCC,EAAa9Z,EAAuB,EAAQ,OAE5CkhB,EAAmBlhB,EAAuB,EAAQ,OAElDmhB,EAAkBnhB,EAAuB,EAAQ,OAEjDohB,EAAgBphB,EAAuB,EAAQ,OAE/CqhB,EAAYrhB,EAAuB,EAAQ,OAE/C,SAASA,EAAuB92N,GAAO,OAAOA,GAAOA,EAAI+2N,WAAa/2N,EAAM,CAAE,QAAWA,EAAO,CAEhG,SAASywO,IAA6B,GAAuB,mBAAZO,QAAwB,OAAO,KAAM,IAAIrtJ,EAAQ,IAAIqtJ,QAA6F,OAAlFP,EAA2B,WAAsC,OAAO9sJ,CAAO,EAAUA,CAAO,CAIjN,SAASgmJ,EAAQlsI,EAAQmsI,GAAkB,IAAI37N,EAAOhhB,OAAOghB,KAAKwvF,GAAS,GAAIxwG,OAAOq0L,sBAAuB,CAAE,IAAIuoD,EAAU58O,OAAOq0L,sBAAsB7jF,GAAamsI,IAAgBC,EAAUA,EAAQlvP,QAAO,SAAUmvP,GAAO,OAAO78O,OAAOi3G,yBAAyBzG,EAAQqsI,GAAKhuD,UAAY,KAAI7tK,EAAKv6B,KAAKi9D,MAAM1iC,EAAM47N,EAAU,CAAE,OAAO57N,CAAM,CAEpV,SAASk8N,EAAcjqP,GAAU,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CAAE,IAAIw4G,EAAyB,MAAhB9sE,UAAU1rC,GAAa0rC,UAAU1rC,GAAK,CAAC,EAAOA,EAAI,EAAK25P,EAAQ18O,OAAOu7F,IAAS,GAAM7xG,SAAQ,SAAUqL,GAAO+nP,EAAgB7pP,EAAQ8B,EAAKwmG,EAAOxmG,GAAO,IAAeiL,OAAOg9O,0BAA6Bh9O,OAAOi9O,iBAAiBhqP,EAAQ+M,OAAOg9O,0BAA0BzhJ,IAAmBmhJ,EAAQ18O,OAAOu7F,IAAS7xG,SAAQ,SAAUqL,GAAOiL,OAAOwvD,eAAev8D,EAAQ8B,EAAKiL,OAAOi3G,yBAAyB1b,EAAQxmG,GAAO,GAAM,CAAE,OAAO9B,CAAQ,CAErhB,SAASk4P,EAAer4O,EAAK/vB,GAAK,OAUlC,SAAyB+vB,GAAO,GAAIqS,MAAMC,QAAQtS,GAAM,OAAOA,CAAK,CAV3Bs4O,CAAgBt4O,IAQzD,SAA+BA,EAAK/vB,GAAK,GAAsB,oBAAXorP,UAA4BA,OAAOS,YAAY5uO,OAAO8S,IAAO,OAAQ,IAAIu4O,EAAO,GAAQC,GAAK,EAAU7sL,GAAK,EAAWmgB,OAAK13F,EAAW,IAAM,IAAK,IAAiCgjJ,EAA7BqhH,EAAKz4O,EAAIq7N,OAAOS,cAAmB0c,GAAMphH,EAAKqhH,EAAGxrN,QAAQjD,QAAoBuuN,EAAK5kQ,KAAKyjJ,EAAGv4I,QAAY5O,GAAKsoQ,EAAKv+P,SAAW/J,GAA3DuoQ,GAAK,GAAkE,CAAE,MAAOngQ,GAAOszE,GAAK,EAAMmgB,EAAKzzF,CAAK,CAAE,QAAU,IAAWmgQ,GAAsB,MAAhBC,EAAW,QAAWA,EAAW,QAAK,CAAE,QAAU,GAAI9sL,EAAI,MAAMmgB,CAAI,CAAE,CAAE,OAAOysK,CAAM,CARvaG,CAAsB14O,EAAK/vB,IAI5F,SAAqC4uP,EAAG8Z,GAAU,IAAK9Z,EAAG,OAAQ,GAAiB,iBAANA,EAAgB,OAAO+Z,EAAkB/Z,EAAG8Z,GAAS,IAAIh0M,EAAIz3C,OAAO6f,UAAU7Y,SAAS4Y,KAAK+xN,GAAG9zO,MAAM,GAAI,GAAc,WAAN45C,GAAkBk6L,EAAE7pP,cAAa2vD,EAAIk6L,EAAE7pP,YAAYX,MAAM,GAAU,QAANswD,GAAqB,QAANA,EAAa,OAAOtyB,MAAMhoB,KAAKs6C,GAAI,GAAU,cAANA,GAAqB,2CAA2CnpC,KAAKmpC,GAAI,OAAOi0M,EAAkB/Z,EAAG8Z,EAAS,CAJ7TE,CAA4B74O,EAAK/vB,IAEnI,WAA8B,MAAM,IAAIqsG,UAAU,4IAA8I,CAFvDw8J,EAAoB,CAM7J,SAASF,EAAkB54O,EAAKsnF,IAAkB,MAAPA,GAAeA,EAAMtnF,EAAIhmB,UAAQstG,EAAMtnF,EAAIhmB,QAAQ,IAAK,IAAI/J,EAAI,EAAG8oQ,EAAO,IAAI1mO,MAAMi1E,GAAMr3G,EAAIq3G,EAAKr3G,IAAO8oQ,EAAK9oQ,GAAK+vB,EAAI/vB,GAAM,OAAO8oQ,CAAM,CAMtL,SAAStI,EAAQxwO,GAAmV,OAAtOwwO,EAArD,mBAAXpV,QAAoD,iBAApBA,OAAOS,SAAmC,SAAiB77N,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXo7N,QAAyBp7N,EAAIjrB,cAAgBqmP,QAAUp7N,IAAQo7N,OAAOtuN,UAAY,gBAAkB9M,CAAK,EAAYwwO,EAAQxwO,EAAM,CAIzX,SAASixO,EAAkB/wP,EAAQtC,GAAS,IAAK,IAAI5N,EAAI,EAAGA,EAAI4N,EAAM7D,OAAQ/J,IAAK,CAAE,IAAI09P,EAAa9vP,EAAM5N,GAAI09P,EAAW5xD,WAAa4xD,EAAW5xD,aAAc,EAAO4xD,EAAW3kJ,cAAe,EAAU,UAAW2kJ,IAAYA,EAAW5kJ,UAAW,GAAM77F,OAAOwvD,eAAev8D,EAAQwtP,EAAW1rP,IAAK0rP,EAAa,CAAE,CAI5T,SAASwD,EAAaC,GAAW,OAAO,WAAc,IAAsC/wO,EAAlCgxO,EAAQC,EAAgBF,GAAkB,GAMpG,WAAuC,GAAuB,oBAAZG,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAV3oC,MAAsB,OAAO,EAAM,IAAiF,OAA3E5kL,KAAKnX,UAAU7Y,SAAS4Y,KAAKykO,QAAQC,UAAUttN,KAAM,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOlkC,GAAK,OAAO,CAAO,CAAE,CAN3N0xP,GAA6B,CAAE,IAAIC,EAAYL,EAAgBnhQ,MAAM6E,YAAaqrB,EAASkxO,QAAQC,UAAUH,EAAO11N,UAAWg2N,EAAY,MAAStxO,EAASgxO,EAAMzgM,MAAMzgE,KAAMwrC,WAAc,OAErS,SAAoCzrC,EAAM48B,GAAQ,GAAIA,IAA2B,WAAlB2jO,EAAQ3jO,IAAsC,mBAATA,GAAwB,OAAOA,EAAQ,OAAO40C,EAAuBxxE,EAAO,CAF4H0hQ,CAA2BzhQ,KAAMkwB,EAAS,CAAG,CAIzV,SAASqhD,EAAuBxxE,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI2hQ,eAAe,6DAAgE,OAAO3hQ,CAAM,CAIrK,SAASohQ,EAAgBzS,GAAwJ,OAAnJyS,EAAkBpkP,OAAOs0G,eAAiBt0G,OAAOkvD,eAAiB,SAAyByiL,GAAK,OAAOA,EAAEp9H,WAAav0G,OAAOkvD,eAAeyiL,EAAI,EAAUyS,EAAgBzS,EAAI,CAI5M,SAASiT,EAAgBjT,EAAGjyN,GAA+G,OAA1GklO,EAAkB5kP,OAAOs0G,gBAAkB,SAAyBq9H,EAAGjyN,GAAsB,OAAjBiyN,EAAEp9H,UAAY70F,EAAUiyN,CAAG,EAAUiT,EAAgBjT,EAAGjyN,EAAI,CAEzK,SAASo9N,EAAgB/pO,EAAKhe,EAAKpD,GAAiK,OAApJoD,KAAOge,EAAO/S,OAAOwvD,eAAez8C,EAAKhe,EAAK,CAAEpD,MAAOA,EAAOk9L,YAAY,EAAM/yF,cAAc,EAAMD,UAAU,IAAkB9oF,EAAIhe,GAAOpD,EAAgBohB,CAAK,CAEhN,IAAI+4O,EAAc,CAAC,EA6BfC,EAA4B,SAAUtoM,IAnC1C,SAAmByhM,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI/1J,UAAU,sDAAyD81J,EAASrlO,UAAY7f,OAAO8f,OAAOqlO,GAAcA,EAAWtlO,UAAW,CAAE/3B,YAAa,CAAE6J,MAAOuzP,EAAUrpJ,UAAU,EAAMC,cAAc,KAAeqpJ,GAAYP,EAAgBM,EAAUC,EAAa,CAoC9XC,CAAU2G,EAActoM,GAExB,IAlDoB4hM,EAAaC,EAAYC,EAkDzCC,EAASvB,EAAa8H,GAE1B,SAASA,EAAap7P,GACpB,IAAIyzD,EA4GJ,OArKJ,SAAyB+P,EAAUkxL,GAAe,KAAMlxL,aAAoBkxL,GAAgB,MAAM,IAAIj2J,UAAU,oCAAwC,CA2DpJu2J,CAAgB1iQ,KAAM8oQ,GAItBjP,EAAgBtoL,EAFhBpQ,EAAQohM,EAAO5lO,KAAK38B,KAAM0N,IAEqB,uBAAuB,SAAUwd,GAChE,OAAVA,IACFi2C,EAAMj2C,MAAQA,GAGhB,IAAI69O,EAAU5nM,EAAMzzD,MAAM20E,WAAWr0E,IAEjC+6P,IACqB,mBAAZA,EACTA,EAAQ79O,GACsB,WAArBo1O,EAAQyI,IAAyBhsP,OAAO6f,UAAU4hB,eAAe7hB,KAAKosO,EAAS,aACxFA,EAAQj5P,QAAUob,GAGxB,IAEA2uO,EAAgBtoL,EAAuBpQ,GAAQ,gCAAgC,SAAUwkM,GAChE,OAAnBA,IACFxkM,EAAMwkM,eAAiBA,EAE3B,IAEA9L,EAAgBtoL,EAAuBpQ,GAAQ,2BAA2B,SAAU6nM,GAClF7nM,EAAM6nM,gBAAkBA,CAC1B,IAEAnP,EAAgBtoL,EAAuBpQ,GAAQ,aAAa,SAAU2hM,EAAcC,GAClF,GAAkB,OAAdA,EACF,OAAO,KAGT,IAAI5uO,EAAKgtC,EAAMzzD,MAAMymB,GACjBgzJ,EAA2B,OAAjB27E,EAAwB,GAAK,WAAWjoP,OAAOioP,GAC7D,MAAO,sBAAsBjoP,OAAOsZ,EAAI,KAAKtZ,OAAOssK,EAAS,UAAUtsK,OAAOkoP,EAChF,IAEAlJ,EAAgBtoL,EAAuBpQ,GAAQ,WAAW,SAAU1vD,GAClE,IAAI4wE,EAAalhB,EAAMzzD,MAAM20E,WAE7BlhB,EAAM54B,SAAS,CACb0gO,gBAAgB,IAGlB5mL,EAAWhnD,SAAWgnD,EAAWhnD,QAAQ5pB,EAC3C,IAEAooP,EAAgBtoL,EAAuBpQ,GAAQ,UAAU,SAAU1vD,GACjE,IAAI4wE,EAAalhB,EAAMzzD,MAAM20E,WAE7BlhB,EAAM54B,SAAS,CACb0gO,gBAAgB,IAGlB5mL,EAAWjnD,QAAUinD,EAAWjnD,OAAO3pB,EACzC,IAEAooP,EAAgBtoL,EAAuBpQ,GAAQ,aAAa,SAAU1vD,GACpE,IAAI8jE,EAAcpU,EAAMzzD,MACpB20E,EAAa9M,EAAY8M,WACzBkiL,EAA0BhvL,EAAYgvL,wBACtCkD,EAAuBlyL,EAAYkyL,qBACnCv6K,EAAUz7E,EAAMy7E,QAEpB,OAAQA,GACN,KAAK,GAEL,KAAK,GAGD,IAAIg8K,EAAuB,KAAZh8K,EAAiB,OAAS,OAGrCi8K,EAAyBjB,EADD/mM,EAAMioM,gBAAgBF,GAAU,CAAC3E,EAAyBkD,IACnB,GAC/DV,EAA6BoC,EAAuB,GACpDnC,EAA0BmC,EAAuB,GAErD9mL,EAAW4K,UAAUx7E,EAAO,CAC1Bs1P,2BAA4BA,EAC5BC,wBAAyBA,IAE3B,MAGJ,QACE3kL,EAAW4K,UAAUx7E,EAAO,CAC1B8yP,wBAAyBA,EACzBkD,qBAAsBA,IAG9B,IAEAtmM,EAAM6nM,gBAAkB,KACxB7nM,EAAM1xD,MAAQ,CACZw5P,gBAAgB,GAGlB9nM,EAAMkoM,iBAAiB37P,GAEvByzD,EAAMmoM,mBAAmB57P,GAEzByzD,EAAMg2B,SAASzpF,GAERyzD,CACT,CA+MA,OAjXoBihM,EAoKP0G,GApKoBzG,EAoKN,CAAC,CAC1BvwP,IAAK,oBACLpD,MAAO,WACL1O,KAAKupQ,gCACP,GAEC,CACDz3P,IAAK,mCACLpD,MAAO,SAA0C61D,GAC3CA,EAAUs5D,QAAU79H,KAAK0N,MAAMmwH,OACjC79H,KAAKqpQ,iBAAiB9kM,GAGpBA,EAAUs5D,QAAU79H,KAAK0N,MAAMmwH,OAASt5D,EAAU6+L,eAAiBpjQ,KAAK0N,MAAM01P,cAChFpjQ,KAAKspQ,mBAAmB/kM,GAGtBA,EAAUj9C,QAAUtnB,KAAK0N,MAAM4Z,OACjCtnB,KAAKm3F,SAAS5yB,EAElB,GACC,CACDzyD,IAAK,qBACLpD,MAAO,WACL1O,KAAKupQ,gCACP,GACC,CACDz3P,IAAK,mBACLpD,MAAO,SAA0BhB,GAC3BA,EAAM01P,eACRpjQ,KAAKwpQ,cAAgB97P,EAAMmwH,MAAMhsH,KAAI,SAAUs1K,GAC7C,OAAOz5K,EAAM85P,gBAAgBrgF,EAC/B,IACAnnL,KAAKypQ,gBAAkBzpQ,KAAKwpQ,cAAc33P,KAAI,SAAUgsH,GACtD,OAAOA,EAAMh0H,MACf,IACA7J,KAAK0pQ,oBAAsB1pQ,KAAKypQ,gBAAgB10J,OAAM,SAAU40J,GAC9D,OAAsB,IAAfA,CACT,IAEJ,GACC,CACD73P,IAAK,qBACLpD,MAAO,SAA4BhB,GACjC1N,KAAKopQ,iBAAkB,EAAItB,EAA0B,SAAG,CACtD1E,aAAc11P,EAAM01P,aACpBviQ,KAAM6M,EAAM01P,aAAepjQ,KAAKypQ,gBAAkB/7P,EAAMmwH,MAAMh0H,QAElE,GACC,CACDiI,IAAK,WACLpD,MAAO,SAAkBhB,GACvB1N,KAAKsnB,OAAQ,EAAIygP,EAAyB,SAAGr6P,EAAM4Z,MACrD,GACC,CACDxV,IAAK,iBACLpD,MAAO,WACL,IAAIi2D,EAAS3kE,KAEb,GAAIA,KAAK0pQ,oBACP,OAAO,KAGT,IAAIpiP,EAAQtnB,KAAKsnB,MACbmuD,EAAez1E,KAAK0N,MACpBymB,EAAKshD,EAAathD,GAClB0pG,EAAQpoD,EAAaooD,MACrBypI,EAAa7xL,EAAa6xL,WAC1BC,EAAiB9xL,EAAa8xL,eAC9Bd,EAAqBhxL,EAAagxL,mBAClClC,EAA0B9uL,EAAa8uL,wBACvCkD,EAAuBhyL,EAAagyL,qBACpCC,EAAYjyL,EAAaiyL,UAC7B,OAAO7pI,EAAMhsH,KAAI,SAAUs1K,EAAS27E,GAClC,IAAI8G,EAAY,sBAAsB/uP,OAAOsZ,EAAI,KAC7C01O,EAAmB,GAAGhvP,OAAO+uP,EAAW,YAAY/uP,OAAOioP,EAAc,KACzEgH,EAAkC,IAAjBhH,EAIrB,OAAoBrjD,EAAgB,QAAE5+I,cAAc,MAAOv5C,EAAM,GAAGzM,OAAOgvP,EAAkB,aAAc,mBAAoBC,GAAkB,yBAAuCrqD,EAAgB,QAAE5+I,cAAcmnM,EAAuB,QAAG,CAChP7gF,QAASA,EACTs/E,mBAAoBA,EACpBn/O,MAAOA,EACPuiP,iBAAkBA,IACHpqD,EAAgB,QAAE5+I,cAAconM,EAAmB,QAAG,CACrEpqI,MAAOl5D,EAAO6kM,cAAc1G,GAC5B4E,UAAWA,EACXJ,WAAYA,EACZC,eAAgBA,EAChBzE,aAAcA,EACd2E,qBAAsBlD,IAA4BzB,EAAe2E,EAAuB,KACxFsC,wBAAyBplM,EAAOolM,wBAChCC,UAAWrlM,EAAOqlM,UAClB1iP,MAAOA,EACPsiP,UAAWA,EACX57P,IAAK22D,EAAOslM,0BAGhB,GACF,GACC,CACDn4P,IAAK,cACLpD,MAAO,WACL,IAAImvH,EAAQ79H,KAAK0N,MAAMmwH,MAEvB,GAAqB,IAAjBA,EAAMh0H,OACR,OAAO,KAGT,IAAIyd,EAAQtnB,KAAKsnB,MACbquD,EAAe31E,KAAK0N,MACpBymB,EAAKwhD,EAAaxhD,GAClBmzO,EAAa3xL,EAAa2xL,WAC1BC,EAAiB5xL,EAAa4xL,eAC9BhD,EAA0B5uL,EAAa4uL,wBACvCkD,EAAuB9xL,EAAa8xL,qBACpCC,EAAY/xL,EAAa+xL,UAC7B,OAAoBjoD,EAAgB,QAAE5+I,cAAconM,EAAmB,QAAG,CACxEpqI,MAAOA,EACP6pI,UAAWA,EACXJ,WAAYA,EACZC,eAAgBA,EAChBE,qBAAkD,OAA5BlD,EAAmCkD,EAAuB,KAChFsC,wBAAyB/pQ,KAAK+pQ,wBAC9BC,UAAWhqQ,KAAKgqQ,UAChB1iP,MAAOA,EACPsiP,UAAW,sBAAsB/uP,OAAOsZ,EAAI,MAEhD,GACC,CACDriB,IAAK,iCACLpD,MAAO,WACL,IAAIs6P,EAAkBhpQ,KAAKgpQ,gBAE3B,GAAKA,EAAL,CAIA,IAAIrD,EAAiB3lQ,KAAK2lQ,eACtBuE,EAAgClB,EAAgBmB,eAAiBxE,EAAiBqD,EAAgBr4K,UAAYq4K,EAAgBr4K,UAAYg1K,EAAeh1K,UACzJ7iB,EAAY63L,EAAe73L,UAE3Bo8L,EAAgCp8L,EAElCA,EAAYo8L,EACHA,EAAgClB,EAAgB/6L,aAAeH,EAAY63L,EAAe13L,eAEnGH,EAAYo8L,EAAgClB,EAAgB/6L,aAAe03L,EAAe13L,cAGxFH,IAAc63L,EAAe73L,YAC/B63L,EAAe73L,UAAYA,EAf7B,CAiBF,GACC,CACDh8D,IAAK,SACLpD,MAAO,WACL,IAAI4Y,EAAQtnB,KAAKsnB,MACbuuD,EAAe71E,KAAK0N,MACpBymB,EAAK0hD,EAAa1hD,GAClBivO,EAAevtL,EAAautL,aAC5BoD,EAAuB3wL,EAAa2wL,qBACpCa,EAAuBxxL,EAAawxL,qBACpC9C,EAA0B1uL,EAAa0uL,wBACvCkD,EAAuB5xL,EAAa4xL,qBACpCwB,EAAiBjpQ,KAAKyP,MAAMw5P,eAC5BmB,EAAgBhH,EAAepjQ,KAAKqqQ,iBAAmBrqQ,KAAKsqQ,cAC5DzD,EAA2B,OAAlBuD,EACTG,EAAuBvqQ,KAAKgqQ,UAAUzF,EAAyBkD,GAC/D+C,EAAmB,sBAAsB3vP,OAAOsZ,GAEhDkxO,EAAiBpL,EAAc,CACjCniO,KAAM,WACN,gBAAiB,UACjB,YAAa0yO,EACb,gBAAiB3D,GAChBv/O,EAAM,sBAAsBzM,OAAOsZ,EAAI,cAAe,YAAa0yO,GAAU,iBAAkB,CAAC,EAAG7mQ,KAAK0N,MAAM23P,gBAE7GoF,EAAiBjE,EAAqBvM,EAAc,CACtDz1P,KAAM,OACNkK,MAAO,GACPo8M,aAAc,MACd,oBAAqB,OACrB,gBAAiB0/C,EACjB,wBAAyBD,GACxBjjP,EAAM,sBAAsBzM,OAAOsZ,EAAI,UAAW,QAAS0yO,GAAU,YAAaoC,GAAkB,gBAAiB,CAAC,EAAGjpQ,KAAK0N,MAAM20E,WAAY,CACjJhnD,QAASr7B,KAAKq7B,QACdD,OAAQp7B,KAAKo7B,OACb6xD,UAAWjtF,KAAK0N,MAAM20E,WAAW4K,WAAajtF,KAAKitF,UACnDj/E,IAAKhO,KAAK0qQ,uBAER/E,EAAiB0B,EAAqB,CACxChC,eAAgBpL,EAAc,CAC5B9lO,GAAIq2O,EACJ1yO,KAAM,WACLxQ,EAAM,sBAAsBzM,OAAOsZ,EAAI,oBAAqB,iBAAkB0yO,GAAU,sBAAuB,CAChH74P,IAAKhO,KAAK2qQ,+BAEZx6P,SAAUi6P,IAEZ,OAAoB3qD,EAAgB,QAAE5+I,cAAc,MAAOwkM,EAAgBoF,EAAgB9E,EAC7F,MA9W0E5E,EAAkBqB,EAAYxlO,UAAWylO,GAAiBC,GAAavB,EAAkBqB,EAAaE,GAiX3KwG,CACT,CAnUgC,CAmU9BrpD,EAAO1+I,WAETvhE,EAAiB,QAAIspQ,EAErBjP,EAAgBiP,EAAc,YAAa,CACzC30O,GAAIusO,EAAoB,QAAEpiO,OAE1B8kO,aAAc1C,EAAoB,QAAEf,KAEpC6G,qBAAsB9F,EAAoB,QAAEt0L,KAE5Ci7L,qBAAsB3G,EAAoB,QAAEt0L,KAE5CyxD,MAAO6iI,EAAoB,QAAEr/N,MAAMzyB,WAEnC04P,WAAY5G,EAAoB,QAAEt0L,KAElCm7L,eAAgB7G,EAAoB,QAAEnzI,OAEtCk5I,mBAAoB/F,EAAoB,QAAEt0L,KAE1Co7L,gBAAiB9G,EAAoB,QAAEt0L,KAEvCi5L,eAAgB3E,EAAoB,QAAEnzI,OAEtClrC,WAAYq+K,EAAoB,QAAEnzI,OAElCm6I,UAAWhH,EAAoB,QAAER,UAAU,CAC3CQ,EAAoB,QAAEnzI,OAAQmzI,EAAoB,QAAEt0L,OACpDm4L,wBAAyB7D,EAAoB,QAAEz4N,OAE/Cw/N,qBAAsB/G,EAAoB,QAAEz4N,OAE5C3gB,MAAOo5O,EAAoB,QAAER,UAAU,CACvCQ,EAAoB,QAAEnzI,OAAQmzI,EAAoB,QAAEr/N,UAGtDw4N,EAAgBiP,EAAc,eAAgB,CAC5C30O,GAAI,IACJivO,cAAc,EACdoD,qBAtYgC,SAAqC94P,GACrE,OAAoB+xM,EAAgB,QAAE5+I,cAAc,QAASnzD,EAC/D,EAqYE25P,qBAnYgC,SAAqC10P,GACrE,IAAI0yP,EAAiB1yP,EAAK0yP,eACtBl1P,EAAWwC,EAAKxC,SACpB,OAAoBsvM,EAAgB,QAAE5+I,cAAc,MAAOwkM,EAAgBl1P,EAC7E,EAgYEm3P,WAAY,WACV,MAAM,IAAI1iQ,MAAM,gCAClB,EACA2iQ,eAAgBsB,EAChBpC,mBAAoB,WAClB,MAAM,IAAI7hQ,MAAM,wCAClB,EACA4iQ,gBAAiB,WACf,MAAM,IAAI5iQ,MAAM,qCAClB,EACAygQ,eAAgBwD,EAChBxmL,WAAYwmL,EACZnB,UAAWmB,EACXtE,wBAAyB,KACzBkD,qBAAsB,KACtBngP,MA7YiB,CACjBsjP,UAAW,gCACXC,cAAe,sCACf3/O,MAAO,4BACP4/O,UAAW,kCACXC,aAAc,qCACdpF,eAAgB,sCAChBqF,mBAAoB,4CACpBC,UAAW,iCACXj+O,KAAM,2BACNk+O,UAAW,kCACXC,gBAAiB,wCACjBC,iBAAkB,wCAClBC,sBAAuB,+CACvBC,aAAc,sC,8BCzFhBvuP,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAiB,aAAI,EAErB,IAAIigN,EAUJ,SAAiC3vL,GAAO,GAAIA,GAAOA,EAAI+2N,WAAc,OAAO/2N,EAAO,GAAY,OAARA,GAAiC,WAAjBwwO,EAAQxwO,IAAoC,mBAARA,EAAsB,MAAO,CAAE,QAAWA,GAAS,IAAI2jF,EAAQ8sJ,IAA4B,GAAI9sJ,GAASA,EAAMsa,IAAIj+F,GAAQ,OAAO2jF,EAAM/yG,IAAIovB,GAAQ,IAAImpF,EAAS,CAAC,EAAOunJ,EAAwBzjP,OAAOwvD,gBAAkBxvD,OAAOi3G,yBAA0B,IAAK,IAAIliH,KAAOge,EAAO,GAAI/S,OAAO6f,UAAU4hB,eAAe7hB,KAAK7M,EAAKhe,GAAM,CAAE,IAAIypI,EAAOilH,EAAwBzjP,OAAOi3G,yBAAyBlkG,EAAKhe,GAAO,KAAUypI,IAASA,EAAK76I,KAAO66I,EAAKhzE,KAAQxrD,OAAOwvD,eAAe0sC,EAAQnnG,EAAKypI,GAAgBtiC,EAAOnnG,GAAOge,EAAIhe,EAAQ,CAAImnG,EAAgB,QAAInpF,EAAS2jF,GAASA,EAAMlrC,IAAIz4C,EAAKmpF,GAAW,OAAOA,CAAQ,CAVhuBwnJ,CAAwB,EAAQ,OAEzCC,EAAa9Z,EAAuB,EAAQ,OAE5C2kB,EAAkB3kB,EAAuB,EAAQ,OAErD,SAASA,EAAuB92N,GAAO,OAAOA,GAAOA,EAAI+2N,WAAa/2N,EAAM,CAAE,QAAWA,EAAO,CAEhG,SAASywO,IAA6B,GAAuB,mBAAZO,QAAwB,OAAO,KAAM,IAAIrtJ,EAAQ,IAAIqtJ,QAA6F,OAAlFP,EAA2B,WAAsC,OAAO9sJ,CAAO,EAAUA,CAAO,CAIjN,SAAS6sJ,EAAQxwO,GAAmV,OAAtOwwO,EAArD,mBAAXpV,QAAoD,iBAApBA,OAAOS,SAAmC,SAAiB77N,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXo7N,QAAyBp7N,EAAIjrB,cAAgBqmP,QAAUp7N,IAAQo7N,OAAOtuN,UAAY,gBAAkB9M,CAAK,EAAYwwO,EAAQxwO,EAAM,CAEzX,SAAS+xC,IAA2Q,OAA9PA,EAAW9kD,OAAOC,QAAU,SAAUhN,GAAU,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CAAE,IAAIw4G,EAAS9sE,UAAU1rC,GAAI,IAAK,IAAIgS,KAAOwmG,EAAcv7F,OAAO6f,UAAU4hB,eAAe7hB,KAAK27E,EAAQxmG,KAAQ9B,EAAO8B,GAAOwmG,EAAOxmG,GAAU,CAAE,OAAO9B,CAAQ,EAAU6xD,EAASpB,MAAMzgE,KAAMwrC,UAAY,CAE5T,SAASiuN,EAAQlsI,EAAQmsI,GAAkB,IAAI37N,EAAOhhB,OAAOghB,KAAKwvF,GAAS,GAAIxwG,OAAOq0L,sBAAuB,CAAE,IAAIuoD,EAAU58O,OAAOq0L,sBAAsB7jF,GAAamsI,IAAgBC,EAAUA,EAAQlvP,QAAO,SAAUmvP,GAAO,OAAO78O,OAAOi3G,yBAAyBzG,EAAQqsI,GAAKhuD,UAAY,KAAI7tK,EAAKv6B,KAAKi9D,MAAM1iC,EAAM47N,EAAU,CAAE,OAAO57N,CAAM,CAIpV,SAASytO,EAAyBlzJ,EAAQmzJ,GAAY,GAAc,MAAVnzJ,EAAgB,MAAO,CAAC,EAAG,IAAkExmG,EAAKhS,EAAnEkQ,EAEzF,SAAuCsoG,EAAQmzJ,GAAY,GAAc,MAAVnzJ,EAAgB,MAAO,CAAC,EAAG,IAA2DxmG,EAAKhS,EAA5DkQ,EAAS,CAAC,EAAO07P,EAAa3uP,OAAOghB,KAAKu6E,GAAqB,IAAKx4G,EAAI,EAAGA,EAAI4rQ,EAAW7hQ,OAAQ/J,IAAOgS,EAAM45P,EAAW5rQ,GAAQ2rQ,EAASzpO,QAAQlwB,IAAQ,IAAa9B,EAAO8B,GAAOwmG,EAAOxmG,IAAQ,OAAO9B,CAAQ,CAFhN27P,CAA8BrzJ,EAAQmzJ,GAAuB,GAAI1uP,OAAOq0L,sBAAuB,CAAE,IAAIw6D,EAAmB7uP,OAAOq0L,sBAAsB94F,GAAS,IAAKx4G,EAAI,EAAGA,EAAI8rQ,EAAiB/hQ,OAAQ/J,IAAOgS,EAAM85P,EAAiB9rQ,GAAQ2rQ,EAASzpO,QAAQlwB,IAAQ,GAAkBiL,OAAO6f,UAAUy0K,qBAAqB10K,KAAK27E,EAAQxmG,KAAgB9B,EAAO8B,GAAOwmG,EAAOxmG,GAAQ,CAAE,OAAO9B,CAAQ,CAM3e,SAAS+wP,EAAkB/wP,EAAQtC,GAAS,IAAK,IAAI5N,EAAI,EAAGA,EAAI4N,EAAM7D,OAAQ/J,IAAK,CAAE,IAAI09P,EAAa9vP,EAAM5N,GAAI09P,EAAW5xD,WAAa4xD,EAAW5xD,aAAc,EAAO4xD,EAAW3kJ,cAAe,EAAU,UAAW2kJ,IAAYA,EAAW5kJ,UAAW,GAAM77F,OAAOwvD,eAAev8D,EAAQwtP,EAAW1rP,IAAK0rP,EAAa,CAAE,CAI5T,SAASwD,EAAaC,GAAW,OAAO,WAAc,IAAsC/wO,EAAlCgxO,EAAQC,EAAgBF,GAAkB,GAMpG,WAAuC,GAAuB,oBAAZG,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAV3oC,MAAsB,OAAO,EAAM,IAAiF,OAA3E5kL,KAAKnX,UAAU7Y,SAAS4Y,KAAKykO,QAAQC,UAAUttN,KAAM,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOlkC,GAAK,OAAO,CAAO,CAAE,CAN3N0xP,GAA6B,CAAE,IAAIC,EAAYL,EAAgBnhQ,MAAM6E,YAAaqrB,EAASkxO,QAAQC,UAAUH,EAAO11N,UAAWg2N,EAAY,MAAStxO,EAASgxO,EAAMzgM,MAAMzgE,KAAMwrC,WAAc,OAErS,SAAoCzrC,EAAM48B,GAAQ,GAAIA,IAA2B,WAAlB2jO,EAAQ3jO,IAAsC,mBAATA,GAAwB,OAAOA,EAAQ,OAAO40C,EAAuBxxE,EAAO,CAF4H0hQ,CAA2BzhQ,KAAMkwB,EAAS,CAAG,CAIzV,SAASqhD,EAAuBxxE,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI2hQ,eAAe,6DAAgE,OAAO3hQ,CAAM,CAIrK,SAASohQ,EAAgBzS,GAAwJ,OAAnJyS,EAAkBpkP,OAAOs0G,eAAiBt0G,OAAOkvD,eAAiB,SAAyByiL,GAAK,OAAOA,EAAEp9H,WAAav0G,OAAOkvD,eAAeyiL,EAAI,EAAUyS,EAAgBzS,EAAI,CAI5M,SAASiT,EAAgBjT,EAAGjyN,GAA+G,OAA1GklO,EAAkB5kP,OAAOs0G,gBAAkB,SAAyBq9H,EAAGjyN,GAAsB,OAAjBiyN,EAAEp9H,UAAY70F,EAAUiyN,CAAG,EAAUiT,EAAgBjT,EAAGjyN,EAAI,CAEzK,SAASo9N,EAAgB/pO,EAAKhe,EAAKpD,GAAiK,OAApJoD,KAAOge,EAAO/S,OAAOwvD,eAAez8C,EAAKhe,EAAK,CAAEpD,MAAOA,EAAOk9L,YAAY,EAAM/yF,cAAc,EAAMD,UAAU,IAAkB9oF,EAAIhe,GAAOpD,EAAgBohB,CAAK,CAEhN,IAAI+7O,EAAoB,SAAUrrM,IANlC,SAAmByhM,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI/1J,UAAU,sDAAyD81J,EAASrlO,UAAY7f,OAAO8f,OAAOqlO,GAAcA,EAAWtlO,UAAW,CAAE/3B,YAAa,CAAE6J,MAAOuzP,EAAUrpJ,UAAU,EAAMC,cAAc,KAAeqpJ,GAAYP,EAAgBM,EAAUC,EAAa,CAO9XC,CAAU0J,EAAMrrM,GAEhB,IArBoB4hM,EAAaC,EAAYC,EAqBzCC,EAASvB,EAAa6K,GAE1B,SAASA,IACP,IAAI1qM,GA5BR,SAAyB+P,EAAUkxL,GAAe,KAAMlxL,aAAoBkxL,GAAgB,MAAM,IAAIj2J,UAAU,oCAAwC,CA8BpJu2J,CAAgB1iQ,KAAM6rQ,GAEtB,IAAK,IAAIhwN,EAAOrQ,UAAU3hC,OAAQw2B,EAAO,IAAI6B,MAAM2Z,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/E1b,EAAK0b,GAAQvQ,UAAUuQ,GAuDzB,OAlDA89M,EAAgBtoL,EAFhBpQ,EAAQohM,EAAO5lO,KAAK8jC,MAAM8hM,EAAQ,CAACviQ,MAAM6a,OAAOwlB,KAED,sBAAsB,SAAUrT,GAChE,OAATA,IACFm0C,EAAMn0C,KAAOA,EAEjB,IAEA6sO,EAAgBtoL,EAAuBpQ,GAAQ,gBAAgB,SAAU1vD,GACvE,IAAI8jE,EAAcpU,EAAMzzD,MACpBo1P,EAAevtL,EAAYutL,aAC3BC,EAAYxtL,EAAYwtL,UAE5B5hM,EAAMzzD,MAAMwjC,aAAaz/B,EAAO,CAC9BqxP,aAAcA,EACdC,UAAWA,GAEf,IAEAlJ,EAAgBtoL,EAAuBpQ,GAAQ,gBAAgB,SAAU1vD,GACvE,IAAIgkE,EAAetU,EAAMzzD,MACrBo1P,EAAertL,EAAaqtL,aAC5BC,EAAYttL,EAAastL,UAE7B5hM,EAAMzzD,MAAM2xD,aAAa5tD,EAAO,CAC9BqxP,aAAcA,EACdC,UAAWA,GAEf,IAEAlJ,EAAgBtoL,EAAuBpQ,GAAQ,eAAe,SAAU1vD,GACtE,IAAIkkE,EAAexU,EAAMzzD,MACrBo1P,EAAentL,EAAamtL,aAC5BC,EAAYptL,EAAaotL,UAE7B5hM,EAAMzzD,MAAMy2K,YAAY1yK,EAAO,CAC7BqxP,aAAcA,EACdC,UAAWA,GAEf,IAEAlJ,EAAgBtoL,EAAuBpQ,GAAQ,WAAW,SAAU1vD,GAClE,IAAIokE,EAAe1U,EAAMzzD,MACrBo1P,EAAejtL,EAAaitL,aAC5BC,EAAYltL,EAAaktL,UAE7B5hM,EAAMzzD,MAAMwD,QAAQO,EAAO,CACzBqxP,aAAcA,EACdC,UAAWA,GAEf,IAEO5hM,CACT,CA8CA,OAnIoBihM,EAuFPyJ,EAvFoBxJ,EAuFd,CAAC,CAClBvwP,IAAK,wBACLpD,MAAO,SAA+B61D,GACpC,OAAO,EAAIgnM,EAAyB,SAAGhnM,EAAWvkE,KAAK0N,MAAO,CAAC,kBACjE,GACC,CACDoE,IAAK,SACLpD,MAAO,WACL,IAAIqnE,EAAe/1E,KAAK0N,MACpBo+P,EAAgB/1L,EAAa+1L,cAC7B9+O,EAAO+oD,EAAa/oD,KACpBs6O,EAAavxL,EAAauxL,WAC1BC,EAAiBxxL,EAAawxL,eAC9BwE,EAAYP,EAAyBz1L,EAAc,CAAC,gBAAiB,OAAQ,aAAc,mBAqB/F,cAnBOg2L,EAAUjJ,oBACViJ,EAAUhJ,UAEqB,mBAA3BgJ,EAAU76N,eACnB66N,EAAU76N,aAAelxC,KAAKkxC,cAGM,mBAA3B66N,EAAU1sM,eACnB0sM,EAAU1sM,aAAer/D,KAAKq/D,cAGK,mBAA1B0sM,EAAU5nF,cACnB4nF,EAAU5nF,YAAcnkL,KAAKmkL,aAGE,mBAAtB4nF,EAAU76P,UACnB66P,EAAU76P,QAAUlR,KAAKkR,SAGPuuM,EAAgB,QAAE5+I,cAAc,KAAMgB,EAAS,CACjE/pC,KAAM,UACLi0O,EAAW,CACZ/9P,IAAKhO,KAAKgsQ,qBACR1E,EAAWt6O,EAvIrB,SAAuBhd,GAAU,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CAAE,IAAIw4G,EAAyB,MAAhB9sE,UAAU1rC,GAAa0rC,UAAU1rC,GAAK,CAAC,EAAOA,EAAI,EAAK25P,EAAQ18O,OAAOu7F,IAAS,GAAM7xG,SAAQ,SAAUqL,GAAO+nP,EAAgB7pP,EAAQ8B,EAAKwmG,EAAOxmG,GAAO,IAAeiL,OAAOg9O,0BAA6Bh9O,OAAOi9O,iBAAiBhqP,EAAQ+M,OAAOg9O,0BAA0BzhJ,IAAmBmhJ,EAAQ18O,OAAOu7F,IAAS7xG,SAAQ,SAAUqL,GAAOiL,OAAOwvD,eAAev8D,EAAQ8B,EAAKiL,OAAOi3G,yBAAyB1b,EAAQxmG,GAAO,GAAM,CAAE,OAAO9B,CAAQ,CAuI1fiqP,CAAc,CACjC6R,cAAeA,GACdvE,IACL,IAhI8DlF,GAAYtB,EAAkBqB,EAAYxlO,UAAWylO,GAAiBC,GAAavB,EAAkBqB,EAAaE,GAmI3KuJ,CACT,CAlHwB,CAkHtBpsD,EAAO1+I,WAETvhE,EAAiB,QAAIqsQ,EAErBhS,EAAgBgS,EAAM,YAAa,CACjC/I,aAAcpC,EAAoB,QAAEz4N,OACpC6jO,cAAepL,EAAoB,QAAEf,KAAK/wP,WAC1Cm0P,UAAWrC,EAAoB,QAAEz4N,OAAOr5B,WACxCoe,KAAM0zO,EAAoB,QAAEb,IAAIjxP,WAChC04P,WAAY5G,EAAoB,QAAEt0L,KAAKx9D,WACvC24P,eAAgB7G,EAAoB,QAAEnzI,OAAO3+G,WAC7CsiC,aAAcwvN,EAAoB,QAAEt0L,KACpC/M,aAAcqhM,EAAoB,QAAEt0L,KACpC+3G,YAAau8E,EAAoB,QAAEt0L,KACnCl7D,QAASwvP,EAAoB,QAAEt0L,M,8BCnLjCrvD,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAiB,aAAI,EAErB,IAAIigN,EAYJ,SAAiC3vL,GAAO,GAAIA,GAAOA,EAAI+2N,WAAc,OAAO/2N,EAAO,GAAY,OAARA,GAAiC,WAAjBwwO,EAAQxwO,IAAoC,mBAARA,EAAsB,MAAO,CAAE,QAAWA,GAAS,IAAI2jF,EAAQ8sJ,IAA4B,GAAI9sJ,GAASA,EAAMsa,IAAIj+F,GAAQ,OAAO2jF,EAAM/yG,IAAIovB,GAAQ,IAAImpF,EAAS,CAAC,EAAOunJ,EAAwBzjP,OAAOwvD,gBAAkBxvD,OAAOi3G,yBAA0B,IAAK,IAAIliH,KAAOge,EAAO,GAAI/S,OAAO6f,UAAU4hB,eAAe7hB,KAAK7M,EAAKhe,GAAM,CAAE,IAAIypI,EAAOilH,EAAwBzjP,OAAOi3G,yBAAyBlkG,EAAKhe,GAAO,KAAUypI,IAASA,EAAK76I,KAAO66I,EAAKhzE,KAAQxrD,OAAOwvD,eAAe0sC,EAAQnnG,EAAKypI,GAAgBtiC,EAAOnnG,GAAOge,EAAIhe,EAAQ,CAAImnG,EAAgB,QAAInpF,EAAS2jF,GAASA,EAAMlrC,IAAIz4C,EAAKmpF,GAAW,OAAOA,CAAQ,CAZhuBwnJ,CAAwB,EAAQ,OAEzCC,EAAa9Z,EAAuB,EAAQ,OAE5CqlB,EAAQrlB,EAAuB,EAAQ,OAEvC2kB,EAAkB3kB,EAAuB,EAAQ,OAErD,SAASA,EAAuB92N,GAAO,OAAOA,GAAOA,EAAI+2N,WAAa/2N,EAAM,CAAE,QAAWA,EAAO,CAEhG,SAASywO,IAA6B,GAAuB,mBAAZO,QAAwB,OAAO,KAAM,IAAIrtJ,EAAQ,IAAIqtJ,QAA6F,OAAlFP,EAA2B,WAAsC,OAAO9sJ,CAAO,EAAUA,CAAO,CAIjN,SAAS6sJ,EAAQxwO,GAAmV,OAAtOwwO,EAArD,mBAAXpV,QAAoD,iBAApBA,OAAOS,SAAmC,SAAiB77N,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXo7N,QAAyBp7N,EAAIjrB,cAAgBqmP,QAAUp7N,IAAQo7N,OAAOtuN,UAAY,gBAAkB9M,CAAK,EAAYwwO,EAAQxwO,EAAM,CAEzX,SAAS+xC,IAA2Q,OAA9PA,EAAW9kD,OAAOC,QAAU,SAAUhN,GAAU,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CAAE,IAAIw4G,EAAS9sE,UAAU1rC,GAAI,IAAK,IAAIgS,KAAOwmG,EAAcv7F,OAAO6f,UAAU4hB,eAAe7hB,KAAK27E,EAAQxmG,KAAQ9B,EAAO8B,GAAOwmG,EAAOxmG,GAAU,CAAE,OAAO9B,CAAQ,EAAU6xD,EAASpB,MAAMzgE,KAAMwrC,UAAY,CAE5T,SAASiuN,EAAQlsI,EAAQmsI,GAAkB,IAAI37N,EAAOhhB,OAAOghB,KAAKwvF,GAAS,GAAIxwG,OAAOq0L,sBAAuB,CAAE,IAAIuoD,EAAU58O,OAAOq0L,sBAAsB7jF,GAAamsI,IAAgBC,EAAUA,EAAQlvP,QAAO,SAAUmvP,GAAO,OAAO78O,OAAOi3G,yBAAyBzG,EAAQqsI,GAAKhuD,UAAY,KAAI7tK,EAAKv6B,KAAKi9D,MAAM1iC,EAAM47N,EAAU,CAAE,OAAO57N,CAAM,CAMpV,SAASgjO,EAAkB/wP,EAAQtC,GAAS,IAAK,IAAI5N,EAAI,EAAGA,EAAI4N,EAAM7D,OAAQ/J,IAAK,CAAE,IAAI09P,EAAa9vP,EAAM5N,GAAI09P,EAAW5xD,WAAa4xD,EAAW5xD,aAAc,EAAO4xD,EAAW3kJ,cAAe,EAAU,UAAW2kJ,IAAYA,EAAW5kJ,UAAW,GAAM77F,OAAOwvD,eAAev8D,EAAQwtP,EAAW1rP,IAAK0rP,EAAa,CAAE,CAI5T,SAASwD,EAAaC,GAAW,OAAO,WAAc,IAAsC/wO,EAAlCgxO,EAAQC,EAAgBF,GAAkB,GAMpG,WAAuC,GAAuB,oBAAZG,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAV3oC,MAAsB,OAAO,EAAM,IAAiF,OAA3E5kL,KAAKnX,UAAU7Y,SAAS4Y,KAAKykO,QAAQC,UAAUttN,KAAM,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOlkC,GAAK,OAAO,CAAO,CAAE,CAN3N0xP,GAA6B,CAAE,IAAIC,EAAYL,EAAgBnhQ,MAAM6E,YAAaqrB,EAASkxO,QAAQC,UAAUH,EAAO11N,UAAWg2N,EAAY,MAAStxO,EAASgxO,EAAMzgM,MAAMzgE,KAAMwrC,WAAc,OAErS,SAAoCzrC,EAAM48B,GAAQ,GAAIA,IAA2B,WAAlB2jO,EAAQ3jO,IAAsC,mBAATA,GAAwB,OAAOA,EAAQ,OAAO40C,EAAuBxxE,EAAO,CAF4H0hQ,CAA2BzhQ,KAAMkwB,EAAS,CAAG,CAIzV,SAASqhD,EAAuBxxE,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI2hQ,eAAe,6DAAgE,OAAO3hQ,CAAM,CAIrK,SAASohQ,EAAgBzS,GAAwJ,OAAnJyS,EAAkBpkP,OAAOs0G,eAAiBt0G,OAAOkvD,eAAiB,SAAyByiL,GAAK,OAAOA,EAAEp9H,WAAav0G,OAAOkvD,eAAeyiL,EAAI,EAAUyS,EAAgBzS,EAAI,CAI5M,SAASiT,EAAgBjT,EAAGjyN,GAA+G,OAA1GklO,EAAkB5kP,OAAOs0G,gBAAkB,SAAyBq9H,EAAGjyN,GAAsB,OAAjBiyN,EAAEp9H,UAAY70F,EAAUiyN,CAAG,EAAUiT,EAAgBjT,EAAGjyN,EAAI,CAEzK,SAASo9N,EAAgB/pO,EAAKhe,EAAKpD,GAAiK,OAApJoD,KAAOge,EAAO/S,OAAOwvD,eAAez8C,EAAKhe,EAAK,CAAEpD,MAAOA,EAAOk9L,YAAY,EAAM/yF,cAAc,EAAMD,UAAU,IAAkB9oF,EAAIhe,GAAOpD,EAAgBohB,CAAK,CAEhN,IAAIo8O,EAAyB,SAAU1rM,IANvC,SAAmByhM,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI/1J,UAAU,sDAAyD81J,EAASrlO,UAAY7f,OAAO8f,OAAOqlO,GAAcA,EAAWtlO,UAAW,CAAE/3B,YAAa,CAAE6J,MAAOuzP,EAAUrpJ,UAAU,EAAMC,cAAc,KAAeqpJ,GAAYP,EAAgBM,EAAUC,EAAa,CAO9XC,CAAU+J,EAAW1rM,GAErB,IArBoB4hM,EAAaC,EAAYC,EAqBzCC,EAASvB,EAAakL,GAE1B,SAASA,IACP,IAAI/qM,GA5BR,SAAyB+P,EAAUkxL,GAAe,KAAMlxL,aAAoBkxL,GAAgB,MAAM,IAAIj2J,UAAU,oCAAwC,CA8BpJu2J,CAAgB1iQ,KAAMksQ,GAEtB,IAAK,IAAIrwN,EAAOrQ,UAAU3hC,OAAQw2B,EAAO,IAAI6B,MAAM2Z,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/E1b,EAAK0b,GAAQvQ,UAAUuQ,GASzB,OAJA89M,EAAgBtoL,EAFhBpQ,EAAQohM,EAAO5lO,KAAK8jC,MAAM8hM,EAAQ,CAACviQ,MAAM6a,OAAOwlB,KAED,iCAAiC,SAAU2oO,GACxF7nM,EAAMzzD,MAAMq8P,wBAA4C,OAApBf,EAA2B,KAAOA,EAAgBh8O,KACxF,IAEOm0C,CACT,CA4DA,OAnGoBihM,EAyCP8J,EAzCoB7J,EAyCT,CAAC,CACvBvwP,IAAK,wBACLpD,MAAO,SAA+B61D,GACpC,OAAO,EAAIgnM,EAAyB,SAAGhnM,EAAWvkE,KAAK0N,MAAO,CAAC,aACjE,GACC,CACDoE,IAAK,SACLpD,MAAO,WACL,IAAIi2D,EAAS3kE,KAETu1E,EAAcv1E,KAAK0N,MACnBmwH,EAAQtoD,EAAYsoD,MACpB6pI,EAAYnyL,EAAYmyL,UACxBJ,EAAa/xL,EAAY+xL,WACzBC,EAAiBhyL,EAAYgyL,eAC7BzE,EAAevtL,EAAYutL,aAC3B2E,EAAuBlyL,EAAYkyL,qBACnCuC,EAAYz0L,EAAYy0L,UACxB1iP,EAAQiuD,EAAYjuD,MACpBsiP,EAAYr0L,EAAYq0L,UACxBuC,EAAiC,OAAjBrJ,EAAwB8G,EAAY,GAAG/uP,OAAO+uP,EAAW,YAAY/uP,OAAOioP,EAAc,KAC1GsJ,EAA2C,mBAAd1E,EACjC,OAAoBjoD,EAAgB,QAAE5+I,cAAc,KAAMgB,EAAS,CACjE/pC,KAAM,WACLxQ,EAAM,GAAGzM,OAAOsxP,EAAe,cAAe,cAAetuI,EAAMhsH,KAAI,SAAUmb,EAAM+1O,GACxF,IAAIsJ,EAAwB,IAAdtJ,EACV+I,EAAgB/I,IAAc0E,EAC9B6E,EAAU,GAAGzxP,OAAOsxP,EAAe,SAAStxP,OAAOkoP,GACnDwJ,EAAeH,EAAsB1E,EAAU,CACjD5E,aAAcA,EACdC,UAAWA,IACR2E,EAED8E,EAhFZ,SAAuBx8P,GAAU,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CAAE,IAAIw4G,EAAyB,MAAhB9sE,UAAU1rC,GAAa0rC,UAAU1rC,GAAK,CAAC,EAAOA,EAAI,EAAK25P,EAAQ18O,OAAOu7F,IAAS,GAAM7xG,SAAQ,SAAUqL,GAAO+nP,EAAgB7pP,EAAQ8B,EAAKwmG,EAAOxmG,GAAO,IAAeiL,OAAOg9O,0BAA6Bh9O,OAAOi9O,iBAAiBhqP,EAAQ+M,OAAOg9O,0BAA0BzhJ,IAAmBmhJ,EAAQ18O,OAAOu7F,IAAS7xG,SAAQ,SAAUqL,GAAOiL,OAAOwvD,eAAev8D,EAAQ8B,EAAKiL,OAAOi3G,yBAAyB1b,EAAQxmG,GAAO,GAAM,CAAE,OAAO9B,CAAQ,CAgF1fiqP,CAAc,CAC/B9lO,GAAI61O,EAAUlH,EAAcC,GAC5B,gBAAiB+I,GAChBxkP,EAAMglP,EAAS,OAAQD,GAAW,YAAaP,GAAiB,mBAAoB,CAAC,EAAGS,GAS3F,OAPIT,IACFU,EAAax+P,IAAM22D,EAAO8nM,+BAMRhtD,EAAgB,QAAE5+I,cAAcorM,EAAe,QAAGpqM,EAAS,CAAC,EAAG2qM,EAAc,CAC/F1J,aAAcA,EACdgJ,cAAeA,EACf/I,UAAWA,EACX/1O,KAAMA,EACNs6O,WAAYA,EACZC,eAAgBA,IAGpB,IACF,IAhG8DlF,GAAYtB,EAAkBqB,EAAYxlO,UAAWylO,GAAiBC,GAAavB,EAAkBqB,EAAaE,GAmG3K4J,CACT,CAlF6B,CAkF3BzsD,EAAO1+I,WAETvhE,EAAiB,QAAI0sQ,EAErBrS,EAAgBqS,EAAW,YAAa,CACtCruI,MAAO6iI,EAAoB,QAAEr/N,MAAMzyB,WACnC84P,UAAWhH,EAAoB,QAAER,UAAU,CAACQ,EAAoB,QAAEnzI,OAAQmzI,EAAoB,QAAEt0L,OAChGk7L,WAAY5G,EAAoB,QAAEt0L,KAAKx9D,WACvC24P,eAAgB7G,EAAoB,QAAEnzI,OAAO3+G,WAC7Ck0P,aAAcpC,EAAoB,QAAEz4N,OACpCw/N,qBAAsB/G,EAAoB,QAAEz4N,OAC5C8hO,wBAAyBrJ,EAAoB,QAAEt0L,KAAKx9D,WACpDo7P,UAAWtJ,EAAoB,QAAEt0L,KAAKx9D,WACtC0Y,MAAOo5O,EAAoB,QAAEt0L,KAAKx9D,WAClCg7P,UAAWlJ,EAAoB,QAAEpiO,OAAO1vB,aAG1CirP,EAAgBqS,EAAW,eAAgB,CACzCpJ,aAAc,M,8BCrJhB/lP,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAiB,aAAI,EAErB,IAAIigN,EAUJ,SAAiC3vL,GAAO,GAAIA,GAAOA,EAAI+2N,WAAc,OAAO/2N,EAAO,GAAY,OAARA,GAAiC,WAAjBwwO,EAAQxwO,IAAoC,mBAARA,EAAsB,MAAO,CAAE,QAAWA,GAAS,IAAI2jF,EAAQ8sJ,IAA4B,GAAI9sJ,GAASA,EAAMsa,IAAIj+F,GAAQ,OAAO2jF,EAAM/yG,IAAIovB,GAAQ,IAAImpF,EAAS,CAAC,EAAOunJ,EAAwBzjP,OAAOwvD,gBAAkBxvD,OAAOi3G,yBAA0B,IAAK,IAAIliH,KAAOge,EAAO,GAAI/S,OAAO6f,UAAU4hB,eAAe7hB,KAAK7M,EAAKhe,GAAM,CAAE,IAAIypI,EAAOilH,EAAwBzjP,OAAOi3G,yBAAyBlkG,EAAKhe,GAAO,KAAUypI,IAASA,EAAK76I,KAAO66I,EAAKhzE,KAAQxrD,OAAOwvD,eAAe0sC,EAAQnnG,EAAKypI,GAAgBtiC,EAAOnnG,GAAOge,EAAIhe,EAAQ,CAAImnG,EAAgB,QAAInpF,EAAS2jF,GAASA,EAAMlrC,IAAIz4C,EAAKmpF,GAAW,OAAOA,CAAQ,CAVhuBwnJ,CAAwB,EAAQ,OAEzCC,EAAa9Z,EAAuB,EAAQ,OAE5C2kB,EAAkB3kB,EAAuB,EAAQ,OAErD,SAASA,EAAuB92N,GAAO,OAAOA,GAAOA,EAAI+2N,WAAa/2N,EAAM,CAAE,QAAWA,EAAO,CAEhG,SAASywO,IAA6B,GAAuB,mBAAZO,QAAwB,OAAO,KAAM,IAAIrtJ,EAAQ,IAAIqtJ,QAA6F,OAAlFP,EAA2B,WAAsC,OAAO9sJ,CAAO,EAAUA,CAAO,CAIjN,SAAS6sJ,EAAQxwO,GAAmV,OAAtOwwO,EAArD,mBAAXpV,QAAoD,iBAApBA,OAAOS,SAAmC,SAAiB77N,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXo7N,QAAyBp7N,EAAIjrB,cAAgBqmP,QAAUp7N,IAAQo7N,OAAOtuN,UAAY,gBAAkB9M,CAAK,EAAYwwO,EAAQxwO,EAAM,CAIzX,SAASixO,EAAkB/wP,EAAQtC,GAAS,IAAK,IAAI5N,EAAI,EAAGA,EAAI4N,EAAM7D,OAAQ/J,IAAK,CAAE,IAAI09P,EAAa9vP,EAAM5N,GAAI09P,EAAW5xD,WAAa4xD,EAAW5xD,aAAc,EAAO4xD,EAAW3kJ,cAAe,EAAU,UAAW2kJ,IAAYA,EAAW5kJ,UAAW,GAAM77F,OAAOwvD,eAAev8D,EAAQwtP,EAAW1rP,IAAK0rP,EAAa,CAAE,CAI5T,SAASwD,EAAaC,GAAW,OAAO,WAAc,IAAsC/wO,EAAlCgxO,EAAQC,EAAgBF,GAAkB,GAMpG,WAAuC,GAAuB,oBAAZG,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAV3oC,MAAsB,OAAO,EAAM,IAAiF,OAA3E5kL,KAAKnX,UAAU7Y,SAAS4Y,KAAKykO,QAAQC,UAAUttN,KAAM,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOlkC,GAAK,OAAO,CAAO,CAAE,CAN3N0xP,GAA6B,CAAE,IAAIC,EAAYL,EAAgBnhQ,MAAM6E,YAAaqrB,EAASkxO,QAAQC,UAAUH,EAAO11N,UAAWg2N,EAAY,MAAStxO,EAASgxO,EAAMzgM,MAAMzgE,KAAMwrC,WAAc,OAErS,SAAoCzrC,EAAM48B,GAAQ,GAAIA,IAA2B,WAAlB2jO,EAAQ3jO,IAAsC,mBAATA,GAAwB,OAAOA,EAAQ,OAE3I,SAAgC58B,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI2hQ,eAAe,6DAAgE,OAAO3hQ,CAAM,CAFnBwxE,CAAuBxxE,EAAO,CAF4H0hQ,CAA2BzhQ,KAAMkwB,EAAS,CAAG,CAQzV,SAASixO,EAAgBzS,GAAwJ,OAAnJyS,EAAkBpkP,OAAOs0G,eAAiBt0G,OAAOkvD,eAAiB,SAAyByiL,GAAK,OAAOA,EAAEp9H,WAAav0G,OAAOkvD,eAAeyiL,EAAI,EAAUyS,EAAgBzS,EAAI,CAI5M,SAASiT,EAAgBjT,EAAGjyN,GAA+G,OAA1GklO,EAAkB5kP,OAAOs0G,gBAAkB,SAAyBq9H,EAAGjyN,GAAsB,OAAjBiyN,EAAEp9H,UAAY70F,EAAUiyN,CAAG,EAAUiT,EAAgBjT,EAAGjyN,EAAI,CAIzK,IAFyB3M,EAAKhe,EAAKpD,EAE/Bg+P,EAA4B,SAAUlsM,IAN1C,SAAmByhM,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI/1J,UAAU,sDAAyD81J,EAASrlO,UAAY7f,OAAO8f,OAAOqlO,GAAcA,EAAWtlO,UAAW,CAAE/3B,YAAa,CAAE6J,MAAOuzP,EAAUrpJ,UAAU,EAAMC,cAAc,KAAeqpJ,GAAYP,EAAgBM,EAAUC,EAAa,CAO9XC,CAAUuK,EAAclsM,GAExB,IArBoB4hM,EAAaC,EAAYC,EAqBzCC,EAASvB,EAAa0L,GAE1B,SAASA,IAGP,OA9BJ,SAAyBx7L,EAAUkxL,GAAe,KAAMlxL,aAAoBkxL,GAAgB,MAAM,IAAIj2J,UAAU,oCAAwC,CA4BpJu2J,CAAgB1iQ,KAAM0sQ,GAEfnK,EAAO9hM,MAAMzgE,KAAMwrC,UAC5B,CAyBA,OApDoB42N,EA6BPsK,GA7BoBrK,EA6BN,CAAC,CAC1BvwP,IAAK,wBACLpD,MAAO,SAA+B61D,GACpC,OAAO,EAAIgnM,EAAyB,SAAGhnM,EAAWvkE,KAAK0N,MACzD,GACC,CACDoE,IAAK,SACLpD,MAAO,WACL,IAAI6mE,EAAcv1E,KAAK0N,MACnBy5K,EAAU5xG,EAAY4xG,QACtBs/E,EAAqBlxL,EAAYkxL,mBACjCn/O,EAAQiuD,EAAYjuD,MACpBuiP,EAAmBt0L,EAAYs0L,iBAC/ByB,EAAe7E,EAAmBt/E,GAEtC,OAAKmkF,EAIe7rD,EAAgB,QAAE5+I,cAAc,MAAOv5C,EAAM,GAAGzM,OAAOgvP,EAAkB,SAAU,gBAAiByB,GAH/G,IAIX,MAjD0EvK,EAAkBqB,EAAYxlO,UAAWylO,GAAiBC,GAAavB,EAAkBqB,EAAaE,GAoD3KoK,CACT,CAnCgC,CAmC9BjtD,EAAO1+I,WAETvhE,EAAiB,QAAIktQ,EAvCI58O,EAyCT48O,EAzCc56P,EAyCA,YAzCKpD,EAyCQ,CACzCy4K,QAASu5E,EAAoB,QAAEb,IAAIjxP,WACnC63P,mBAAoB/F,EAAoB,QAAEt0L,KAAKx9D,WAC/C0Y,MAAOo5O,EAAoB,QAAEt0L,KAAKx9D,WAClCi7P,iBAAkBnJ,EAAoB,QAAEpiO,OAAO1vB,YA7CDkD,KAAOge,EAAO/S,OAAOwvD,eAAez8C,EAAKhe,EAAK,CAAEpD,MAAOA,EAAOk9L,YAAY,EAAM/yF,cAAc,EAAMD,UAAU,IAAkB9oF,EAAIhe,GAAOpD,C,4BClC3L,SAAS4xP,EAAQxwO,GAAmV,OAAtOwwO,EAArD,mBAAXpV,QAAoD,iBAApBA,OAAOS,SAAmC,SAAiB77N,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXo7N,QAAyBp7N,EAAIjrB,cAAgBqmP,QAAUp7N,IAAQo7N,OAAOtuN,UAAY,gBAAkB9M,CAAK,EAAYwwO,EAAQxwO,EAAM,CALzX/S,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAiB,QAIjB,SAAwBwiE,EAAMC,GAC5B,IAAIlkC,EAAOyN,UAAU3hC,OAAS,QAAsB5F,IAAjBunC,UAAU,GAAmBA,UAAU,GAAK,GAE/E,GAAIw2B,IAASC,EACX,OAAO,EAGT,IAAI0qM,EAAQ5vP,OAAOghB,KAAKikC,GACpB4qM,EAAQ7vP,OAAOghB,KAAKkkC,GAExB,GAAI0qM,EAAM9iQ,SAAW+iQ,EAAM/iQ,OACzB,OAAO,EAGT,IACI/J,EAAGq3G,EADH01J,EAAU,CAAC,EAGf,IAAK/sQ,EAAI,EAAGq3G,EAAMp5E,EAAKl0B,OAAQ/J,EAAIq3G,EAAKr3G,IACtC+sQ,EAAQ9uO,EAAKj+B,KAAM,EAGrB,IAAKA,EAAI,EAAGq3G,EAAMw1J,EAAM9iQ,OAAQ/J,EAAIq3G,EAAKr3G,IAAK,CAC5C,IAAIgS,EAAM66P,EAAM7sQ,GACZgtQ,EAAS9qM,EAAKlwD,GACdi7P,EAAS9qM,EAAKnwD,GAElB,GAAIg7P,IAAWC,EAAf,CAIA,IAAKF,EAAQ/6P,IAAmB,OAAXg7P,GAA8B,OAAXC,GAAuC,WAApBzM,EAAQwM,IAA4C,WAApBxM,EAAQyM,GACjG,OAAO,EAGT,IAAIC,EAAajwP,OAAOghB,KAAK+uO,GACzBG,EAAalwP,OAAOghB,KAAKgvO,GAE7B,GAAIC,EAAWnjQ,SAAWojQ,EAAWpjQ,OACnC,OAAO,EAGT,IAAK,IAAI2qD,EAAI,EAAG3qD,EAASmjQ,EAAWnjQ,OAAQ2qD,EAAI3qD,EAAQ2qD,IAAK,CAC3D,IAAI04M,EAAYF,EAAWx4M,GAE3B,GAAIs4M,EAAOI,KAAeH,EAAOG,GAC/B,OAAO,CAEX,CAnBA,CAoBF,CAEA,OAAO,CACT,C,8BC1DAztQ,EAAOD,QAAU,EAAjB,a,4BCAAud,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAQmoQ,uBAAyBnoQ,EAAQqoQ,kBAAe,EAiBxDroQ,EAAQqoQ,aAhBW,CACjB+C,UAAW,+BACXC,cAAe,qCACf3/O,MAAO,2BACP4/O,UAAW,iCACXC,aAAc,oCACdnI,qBAAsB,2CACtBuK,yBAA0B,iDAC1BC,gBAAiB,sCACjB3lP,WAAY,gCACZ4lP,gBAAiB,uCACjBC,sBAAuB,6CACvBlC,iBAAkB,uCAClBC,sBAAuB,8CACvBC,aAAc,oCAyChB9rQ,EAAQmoQ,uBArCqB,SAAgCrgP,GAC3D,IAAI4I,EAAS,CAAC,EAEd,IAAK,IAAIpe,KAAOwV,EACd,OAAQxV,GACN,IAAK,uBACHoe,EAAuB,eAAI5I,EAAMxV,GACjC,MAEF,IAAK,2BACHoe,EAA2B,mBAAI5I,EAAMxV,GACrC,MAEF,IAAK,aACHoe,EAAa,KAAI5I,EAAMxV,GACvB,MAEF,IAAK,kBACHoe,EAAkB,UAAI5I,EAAMxV,GAC5B,MAEF,IAAK,wBACHoe,EAAwB,gBAAI5I,EAAMxV,GAClC,MAEF,IAAK,kBACHoe,EAAkB,UAAI5I,EAAMxV,GAC5B,MAEF,QACEoe,EAAOpe,GAAOwV,EAAMxV,GAI1B,OAAOoe,CACT,C,8BCrDA,IAF0BkgG,EAEtBriH,EAAQ,EAAQ,MAChBw/P,GAHsBn9I,EAGWriH,IAHwB,iBAAPqiH,GAAoB,YAAaA,EAAMA,EAAY,QAAIA,EAOzGo9I,EAAK,IAFM,EAAQ,OAGnBC,EAAUD,EAAGE,aAEbxvK,GADMsvK,EAAGG,SACAH,EAAGI,aACZC,EAASL,EAAGM,YACZC,EAAKP,EAAGQ,QACRC,EAAKT,EAAGU,QAERC,EAAc,SAAqB1xO,GAErC,OAAOA,IADC+O,UAAU3hC,OAAS,QAAsB5F,IAAjBunC,UAAU,GAAmBA,UAAU,GAAK,OAE9E,EACI4iO,EAAuB,WACzB,QAAsB,oBAAXjsQ,SACLA,OAAOg6D,YAAaA,aACfh6D,OAAOg6D,WAAaA,UAKjC,EACIkyM,EAAe,SAAsB7pQ,GACvC,IAAI8pQ,EAAMF,IACV,OAAOE,GAAOA,EAAI1pI,YAA6C,IAAhC0pI,EAAI1pI,SAAS5iG,QAAQx9B,IAAiC,aAAjB8pQ,EAAI1pI,UAA2B0pI,EAAIC,eAAiB,IAAMpsQ,OAAOqsQ,SACvI,EAEA,SAASlO,EAAQxwO,GAWf,MAVsB,mBAAXo7N,QAAoD,iBAApBA,OAAOS,SACtC,SAAU77N,GAClB,cAAcA,CAChB,EAEU,SAAUA,GAClB,OAAOA,GAAyB,mBAAXo7N,QAAyBp7N,EAAIjrB,cAAgBqmP,QAAUp7N,IAAQo7N,OAAOtuN,UAAY,gBAAkB9M,CAC3H,EAGKwwO,EAAQxwO,EACjB,CAQA,SAASixO,EAAkB/wP,EAAQtC,GACjC,IAAK,IAAI5N,EAAI,EAAGA,EAAI4N,EAAM7D,OAAQ/J,IAAK,CACrC,IAAI09P,EAAa9vP,EAAM5N,GACvB09P,EAAW5xD,WAAa4xD,EAAW5xD,aAAc,EACjD4xD,EAAW3kJ,cAAe,EACtB,UAAW2kJ,IAAYA,EAAW5kJ,UAAW,GACjD77F,OAAOwvD,eAAev8D,EAAQwtP,EAAW1rP,IAAK0rP,EAChD,CACF,CAQA,SAAS3D,EAAgB/pO,EAAKhe,EAAKpD,GAYjC,OAXIoD,KAAOge,EACT/S,OAAOwvD,eAAez8C,EAAKhe,EAAK,CAC9BpD,MAAOA,EACPk9L,YAAY,EACZ/yF,cAAc,EACdD,UAAU,IAGZ9oF,EAAIhe,GAAOpD,EAGNohB,CACT,CAEA,SAAS+xC,IAeP,OAdW9kD,OAAOC,QAAU,SAAUhN,GACpC,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CACzC,IAAIw4G,EAAS9sE,UAAU1rC,GAEvB,IAAK,IAAIgS,KAAOwmG,EACVv7F,OAAO6f,UAAU4hB,eAAe7hB,KAAK27E,EAAQxmG,KAC/C9B,EAAO8B,GAAOwmG,EAAOxmG,GAG3B,CAEA,OAAO9B,CACT,EAEO6xD,EAASpB,MAAMzgE,KAAMwrC,UAC9B,CAEA,SAASiuN,EAAQlsI,EAAQmsI,GACvB,IAAI37N,EAAOhhB,OAAOghB,KAAKwvF,GAEvB,GAAIxwG,OAAOq0L,sBAAuB,CAChC,IAAIuoD,EAAU58O,OAAOq0L,sBAAsB7jF,GACvCmsI,IAAgBC,EAAUA,EAAQlvP,QAAO,SAAUmvP,GACrD,OAAO78O,OAAOi3G,yBAAyBzG,EAAQqsI,GAAKhuD,UACtD,KACA7tK,EAAKv6B,KAAKi9D,MAAM1iC,EAAM47N,EACxB,CAEA,OAAO57N,CACT,CAqCA,SAASojO,EAAgBzS,GAIvB,OAHkB3xO,OAAOs0G,eAAiBt0G,OAAOkvD,eAAiB,SAAyByiL,GACzF,OAAOA,EAAEp9H,WAAav0G,OAAOkvD,eAAeyiL,EAC9C,EACOyS,EAAgBzS,EACzB,CAEA,SAASiT,EAAgBjT,EAAGjyN,GAM1B,OALkB1f,OAAOs0G,gBAAkB,SAAyBq9H,EAAGjyN,GAErE,OADAiyN,EAAEp9H,UAAY70F,EACPiyN,CACT,EAEOiT,EAAgBjT,EAAGjyN,EAC5B,CAiBA,SAAS+uO,EAAyBlzJ,EAAQmzJ,GACxC,GAAc,MAAVnzJ,EAAgB,MAAO,CAAC,EAE5B,IAEIxmG,EAAKhS,EAFLkQ,EAlBN,SAAuCsoG,EAAQmzJ,GAC7C,GAAc,MAAVnzJ,EAAgB,MAAO,CAAC,EAC5B,IAEIxmG,EAAKhS,EAFLkQ,EAAS,CAAC,EACV07P,EAAa3uP,OAAOghB,KAAKu6E,GAG7B,IAAS,EAAGx4G,EAAI4rQ,EAAW7hQ,OAAQ/J,IAC3B4rQ,EAAW5rQ,GACb2rQ,EAASzpO,QAAQlwB,IAAQ,IAC7B9B,EAAO8B,GAAOwmG,EAAOxmG,IAGvB,OAAO9B,CACT,CAKe27P,CAA8BrzJ,EAAQmzJ,GAInD,GAAI1uP,OAAOq0L,sBAAuB,CAChC,IAAIw6D,EAAmB7uP,OAAOq0L,sBAAsB94F,GAEpD,IAAS,EAAGx4G,EAAI8rQ,EAAiB/hQ,OAAQ/J,IACjC8rQ,EAAiB9rQ,GACnB2rQ,EAASzpO,QAAQlwB,IAAQ,GACxBiL,OAAO6f,UAAUy0K,qBAAqB10K,KAAK27E,EAAQxmG,KACxD9B,EAAO8B,GAAOwmG,EAAOxmG,GAEzB,CAEA,OAAO9B,CACT,CAEA,SAASuhE,EAAuBxxE,GAC9B,QAAa,IAATA,EACF,MAAM,IAAI2hQ,eAAe,6DAG3B,OAAO3hQ,CACT,CAUA,IAAI0uQ,EACM,SADNA,EAEM,SAFNA,EAGO,UAHPA,EAIO,UAJPA,EAKQ,WALRA,OAMOxqQ,EAEPyqQ,EAAe,CACjBC,OAAQ,SACRC,QAAS,UACTC,MAAO,QACPC,OAAQ,SACRC,OAAQ,SACRC,iBAAkB,oBAClBC,KAAM,OACNC,SAAU,WACVC,GAAI,KACJC,aAAc,gBACdC,aAAc,gBACdC,KAAM,eACNC,eAAgB,mBAEdC,EAAU,CACZC,IAAK,MACLC,QAAS,UACTC,aAAc,gBACdC,QAAS,UACTC,OAAQ,UAENrkI,EAAc,CAChBskI,UAAU,EACV1xK,UAAU,EACV4tG,WAAW,EACX+jE,WAAW,EACXC,WAAW,EACXC,YAAY,GAmDVC,EAAgB,SAAuB1rQ,EAAM05F,EAAQ6vK,EAAIE,GAC3D,OA/LF,SAAwBj+P,GACtB,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CACzC,IAAIw4G,EAAyB,MAAhB9sE,UAAU1rC,GAAa0rC,UAAU1rC,GAAK,CAAC,EAEhDA,EAAI,EACN25P,EAAQnhJ,GAAQ,GAAM7xG,SAAQ,SAAUqL,GACtC+nP,EAAgB7pP,EAAQ8B,EAAKwmG,EAAOxmG,GACtC,IACSiL,OAAOg9O,0BAChBh9O,OAAOi9O,iBAAiBhqP,EAAQ+M,OAAOg9O,0BAA0BzhJ,IAEjEmhJ,EAAQnhJ,GAAQ7xG,SAAQ,SAAUqL,GAChCiL,OAAOwvD,eAAev8D,EAAQ8B,EAAKiL,OAAOi3G,yBAAyB1b,EAAQxmG,GAC7E,GAEJ,CAEA,OAAO9B,CACT,CA6KSmgQ,CAAe,CAAC,EAAG3rQ,EAAM,CAC9B4rQ,OAAQjC,EAAYjwK,EAAOkyK,QAC3B9gP,MAAO6+O,EAAYjwK,EAAO5uE,OAC1By+O,GAAII,EAAYJ,EAAG7pQ,MACnBmsQ,UAAWlC,EAAYJ,EAAGh7L,SAC1Bk7L,GAAIE,EAAYF,IAEpB,EAgCIzpQ,EAzFY,SAAmBA,GACjC,OAAQA,GACN,KAAKiqQ,EACH,MAAO,CACLqB,UAAU,GAGd,KAAKrB,EACH,MAAO,CACLrwK,UAAU,GAGd,KAAKqwK,EACH,MAAO,CACLsB,WAAW,GAGf,KAAKtB,EACH,MAAO,CACLuB,WAAW,GAGf,KAAKvB,EACH,MAAO,CACLwB,YAAY,GAGhB,KAAKxB,EACH,MAAO,CACLziE,WAAW,GAGf,QACE,OAAOxgE,EAEb,CAsDW8kI,CAAUpyK,EAAO15F,MAmC5B,IA8GM8pQ,EA3FFiC,EAAqB,WACvB,MAAqB,iBAAPtC,IAA2C,IAAxBA,EAAGjsO,QAAQ,OAC9C,EAMIwuO,EAAgB,WAClB,OAAOtyK,EAAO15F,OAASiqQ,CACzB,EA0CIgC,EAAa,WACf,OAAOhD,EAAQvpQ,OAASwqQ,EAAaO,IACvC,EAyCIyB,EAAY,WACd,OAAOrC,EAAa,OACtB,EAsDI0B,EAlJK7xK,EAAO15F,OAASiqQ,EAmJrBuB,EAvIK9xK,EAAO15F,OAASiqQ,EAwIrBwB,EA5IK/xK,EAAO15F,OAASiqQ,EA6IrBkC,EAzFKlD,EAAQvpQ,OAASwqQ,EAAaU,cAyFMsB,IACzCE,EA1GKnD,EAAQvpQ,OAASwqQ,EAAaQ,SA2GnCY,EAvKwB,WAC1B,OAAQ5xK,EAAO15F,MACb,KAAKiqQ,EACL,KAAKA,EACH,OAAO,EAET,QACE,OAAO,EAEb,CA8JeoC,IAA2BH,IACtCvyK,EA/KKD,EAAO15F,OAASiqQ,EAgLrBrwK,EA5KKF,EAAO15F,OAASiqQ,GA4KQiC,IAC7B1kE,EAAYwkE,IACZM,EAAYN,IACZO,EA5IKhD,EAAG7pQ,OAASsrQ,EAAQE,QA6IzBsB,EAjIKjD,EAAG7pQ,OAASsrQ,EAAQG,aAkIzBsB,EA9HKlD,EAAG7pQ,OAASsrQ,EAAQC,KA8HFiB,IACvB/kM,EA3HK8hM,EAAQvpQ,OAASwqQ,EAAaC,OA4HnCljM,GAxHKgiM,EAAQvpQ,OAASwqQ,EAAaE,QAyHnChjM,GAzGK6hM,EAAQvpQ,OAASwqQ,EAAaK,QAAUtB,EAAQvpQ,OAASwqQ,EAAaU,aA0G3E1jM,GAlGK+hM,EAAQvpQ,OAASwqQ,EAAaG,MAmGnCqC,GA/FKzD,EAAQvpQ,OAASwqQ,EAAaM,kBAAoBvB,EAAQvpQ,OAASwqQ,EAAaS,GAgGrFkB,GArDKlC,EAAYJ,EAAGh7L,SAsDpBo+L,GAlDKhD,EAAYJ,EAAG7pQ,MAmDpBktQ,GA/DKjD,EAAYV,EAAQ16L,SAgEzBs+L,GA5DKlD,EAAYV,EAAQ6D,OA6DzBC,GAjDKpD,EAAYV,EAAQvpQ,MAkDzBstQ,GA9CKrD,EAAYjwK,EAAOkyK,QA+CxBqB,GA3CKtD,EAAYjwK,EAAO5uE,OA4CxBoiP,GAxCKvD,EAAYN,EAAO3pQ,MAyCxBytQ,GArCKxD,EAAYN,EAAO96L,SAsCxBm7L,GAlCKC,EAAYF,GAmCjB2D,GAASnB,KAAgBF,IACzBsB,GA3HKpE,EAAQvpQ,OAASwqQ,EAAaI,OA4HnCgD,GAjCK3D,EAAYjwK,EAAO15F,KAAM,WAkC9ButQ,IA3FEzD,EAAMF,OACK,mBAAmB/iP,KAAKijP,EAAI1pI,WAA8B,aAAjB0pI,EAAI1pI,UAA2B0pI,EAAIC,eAAiB,KAAOpsQ,OAAOqsQ,SA2FxHwD,GAAWtB,IACXuB,GApFK5D,EAAa,UAqFlB6D,GAjFK7D,EAAa,QAkFlB8D,GAtGiB,WACnB,IAAI7D,EAAMF,IACNH,EAAKK,GAAOA,EAAI9iM,WAAa8iM,EAAI9iM,UAAU7gE,cAC/C,MAAqB,iBAAPsjQ,GAAkB,WAAW5iP,KAAK4iP,EAClD,CAkGiBmE,GACbC,GAAiB9B,IACjB+B,GAAe7B,MAAiBF,IAChCgC,GApKKxE,EAAG7pQ,OAASsrQ,EAAQI,QAqKzB4C,GAjKKzE,EAAG7pQ,OAASsrQ,EAAQK,OAkKzB4C,GAlHKhF,EAAQvpQ,OAASwqQ,EAAaY,KAmHnCoD,GA/GKjF,EAAQvpQ,OAASwqQ,EAAaa,eA6XvC/vQ,EAAQ,GAAe2+F,EAMvB3+F,EAAQ,GAAW4+F,C,6FCt2Bfu0K,EAAqBjkQ,GAAmB,MAATA,EAE/ByzB,EAAWzzB,GAAUwzB,MAAMC,QAAQzzB,GAEvC,MAAMkkQ,EAAgBlkQ,GAA2B,iBAAVA,EACvC,IAAI86B,EAAY96B,IAAWikQ,EAAkBjkQ,KAAWyzB,EAAQzzB,IAAUkkQ,EAAalkQ,GAEnFmkQ,EAAiBnkQ,GAAU86B,EAAS96B,IAAUA,EAAM4sC,WAAaC,KAAKC,aAE1E,MAAMs3N,EAAkB,CACpB13O,OAAQ,SACR5pB,SAAU,WACVw7E,SAAU,YAER+lL,EAAQ,QACRC,EAAY,YACZC,EAAS,CACXC,KAAM,OACNC,OAAQ,SACRC,MAAO,SAELC,EAAS,SACTC,EACG,MADHA,EAEG,MAFHA,EAGS,YAHTA,EAIS,YAJTA,EAKO,UALPA,EAMQ,WANRA,EAOQ,WAERC,EAAqB,mDACrBC,EAAsB,QACtBC,EAAkB,mGAClBC,EAAoB,WAU1B,IAAIC,EAASjlQ,IAAWyzB,EAAQzzB,KAC3B8kQ,EAAoBnoP,KAAK3c,KAAW6kQ,EAAmBloP,KAAK3c,IAE7DklQ,EAAgBt1O,IAChB,MAAMpO,EAAS,GAIf,OAHAoO,EAAOz4B,QAAQ4tQ,GAAiB,CAAC18P,EAAOkxB,EAAQ4rO,EAAOv1O,KACnDpO,EAAO1sB,KAAKqwQ,EAAQv1O,EAAOz4B,QAAQ6tQ,EAAmB,MAAQzrO,GAAUlxB,EAAM,IAE3EmZ,CAAM,EAGjB,SAASq4C,EAAIglD,EAAQnlE,EAAM15C,GACvB,IAAI/H,GAAS,EACb,MAAMmtQ,EAAWH,EAAMvrN,GAAQ,CAACA,GAAQwrN,EAAaxrN,GAC/Cv+C,EAASiqQ,EAASjqQ,OAClBuhL,EAAYvhL,EAAS,EAC3B,OAASlD,EAAQkD,GAAQ,CACrB,MAAMiI,EAAMgiQ,EAASntQ,GACrB,IAAI47E,EAAW7zE,EACf,GAAI/H,IAAUykL,EAAW,CACrB,MAAM2oF,EAAWxmJ,EAAOz7G,GACxBywE,EACI/4C,EAASuqO,IAAa5xO,EAAQ4xO,GACxBA,EACCjtM,OAAOgtM,EAASntQ,EAAQ,IAErB,CAAC,EADD,EAElB,CACA4mH,EAAOz7G,GAAOywE,EACdgrC,EAASA,EAAOz7G,EACpB,CACA,OAAOy7G,CACX,CAEA,IAAIymJ,EAAyBnzQ,GAASkc,OAAOjV,QAAQjH,GAAMs3C,QAAO,CAAC60E,GAAWl7G,EAAKpD,KAC1EilQ,EAAM7hQ,GAIJiL,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAGgwG,GAAW,CAAE,CAACl7G,GAAMpD,KAHvD65D,EAAIykD,EAAUl7G,EAAKpD,GACZs+G,IAGZ,CAAC,GAEAinJ,EAAe/oM,QAAgBjnE,IAARinE,EAEvBxqE,EAAM,CAACovB,EAAKs4B,EAAMt5C,KAClB,MAAMohB,EAASk4B,EACV3iD,MAAM,aACNgF,OAAOosG,SACP1+D,QAAO,CAACjoB,EAAQpe,IAAS6gQ,EAAkBziP,GAAUA,EAASA,EAAOpe,IAAOge,GACjF,OAAOmkP,EAAY/jP,IAAWA,IAAWJ,EACnCmkP,EAAYnkP,EAAIs4B,IACZt5C,EACAghB,EAAIs4B,GACRl4B,CAAM,EAGZgkP,EAAoB,CAACtsQ,EAAQusQ,KAC7B,IAAK,MAAMriQ,KAAOlK,EACd,GAAIlH,EAAIyzQ,EAAariQ,GAAM,CACvB,MAAM6hF,EAAQ/rF,EAAOkK,GACrB,GAAI6hF,EAAO,CACP,GAAIA,EAAM3lF,IAAIukM,MAAO,CACjB5+G,EAAM3lF,IAAIukM,QACV,KACJ,CACK,GAAI5+G,EAAMtvF,QAAS,CACpBsvF,EAAMtvF,QAAQ,GAAG2J,IAAIukM,QACrB,KACJ,CACJ,CACJ,CACJ,EAGA6hE,EAA0B,CAACpmQ,EAAKqmQ,KAC5BxB,EAAc7kQ,IAAQA,EAAIwC,sBAC1BxC,EAAIwC,oBAAoByiQ,EAAOG,MAAOiB,GACtCrmQ,EAAIwC,oBAAoByiQ,EAAOE,OAAQkB,GACvCrmQ,EAAIwC,oBAAoByiQ,EAAOC,KAAMmB,GACzC,EAGAC,EAAgB3+O,GAA6B,UAAjBA,EAAQnxB,KAEpC+vQ,EAAmB5+O,GAA6B,aAAjBA,EAAQnxB,KAE3C,SAASgwQ,EAAW7+O,GAChB,OAAKA,GAGCA,aAAmB8+O,aACrB9+O,EAAQ2lB,WAAaC,KAAKm5N,eAGvBF,EAAW7+O,EAAQsjD,WAC9B,CAEA,IAAI07L,EAAiBjmQ,GAAU86B,EAAS96B,KAAWqO,OAAOghB,KAAKrvB,GAAO7E,OAEtE,SAAS+qQ,EAASlmQ,GACd,OAAOyzB,EAAQzzB,GAASA,EAAQklQ,EAAallQ,EACjD,CA2BA,SAASk2K,EAAOr3D,EAAQnlE,GACpB,OAAsB,GAAfA,EAAKv+C,OAAc0jH,EA3B9B,SAAiBA,EAAQnlE,GACrB,MAAMysN,EAAalB,EAAMvrN,GAAQ,CAACA,GAAQwsN,EAASxsN,GAC7Cv+C,EAASu+C,EAAKv+C,OACpB,IAAIlD,EAAQ,EACZ,KAAOA,EAAQkD,GACX0jH,EAAS0mJ,EAAY1mJ,GAAU5mH,IAAU4mH,EAAOsnJ,EAAWluQ,MAE/D,OAAOA,GAASkD,EAAS0jH,OAAStpH,CACtC,CAmBuC6wQ,CAAQvnJ,EAlB/C,SAAmBlsF,EAAOzC,EAAOy+G,GAC7B,IAAI12I,GAAS,EACTkD,EAASw3B,EAAMx3B,OACf+0B,EAAQ,IACRA,GAASA,EAAQ/0B,EAAS,EAAIA,EAAS+0B,IAE3Cy+G,EAAMA,EAAMxzI,EAASA,EAASwzI,GACpB,IACNA,GAAOxzI,GAEXA,EAAS+0B,EAAQy+G,EAAM,EAAIA,EAAMz+G,EACjC,MAAM1O,EAASgS,MAAMr4B,GACrB,OAASlD,EAAQkD,GACbqmB,EAAOvpB,GAAS06B,EAAM16B,EAAQi4B,GAElC,OAAO1O,CACX,CAEuD6kP,CAAU3sN,EAAM,GAAI,GAC3E,CA+BA,SAAS4sN,EAAMznJ,EAAQ0nJ,GAInB,OAHAA,EAAMxuQ,SAAS2hD,KA/BnB,SAAmBmlE,EAAQnlE,GACvB,MAAMysN,EAAalB,EAAMvrN,GAAQ,CAACA,GAAQwsN,EAASxsN,GAC7C8sN,EAActwF,EAAOr3D,EAAQsnJ,GAC7B/iQ,EAAM+iQ,EAAWA,EAAWhrQ,OAAS,GACrCqmB,IAA0B,MAAfglP,WAA+BA,EAAYpjQ,GAC5D,IAAIqjQ,EACJ,IAAK,IAAI7gN,EAAI,EAAGA,EAAIugN,EAAWj6P,MAAM,GAAI,GAAG/Q,OAAQyqD,IAAK,CACrD,IACI8gN,EADAzuQ,GAAS,EAEb,MAAM0uQ,EAAeR,EAAWj6P,MAAM,IAAK05C,EAAI,IACzCghN,EAAqBD,EAAaxrQ,OAAS,EAIjD,IAHIyqD,EAAI,IACJ6gN,EAAiB5nJ,KAEZ5mH,EAAQ0uQ,EAAaxrQ,QAAQ,CAClC,MAAMmjB,EAAOqoP,EAAa1uQ,GAC1ByuQ,EAAYA,EAAYA,EAAUpoP,GAAQugG,EAAOvgG,GAC7CsoP,IAAuB3uQ,IAClB6iC,EAAS4rO,IAAcT,EAAcS,IACrCjzO,EAAQizO,KACJA,EAAU3qQ,QAAQ5J,GAAS2oC,EAAS3oC,KAAU8zQ,EAAc9zQ,KACxDgJ,UACTsrQ,SAAwBA,EAAenoP,UAAeugG,EAAOvgG,IAGrEmoP,EAAiBC,CACrB,CACJ,CAEJ,CAGQG,CAAUhoJ,EAAQnlE,EAAK,IAEpBmlE,CACX,CAEA,MAAMioJ,EAAY,CAACC,EAAYznQ,IAAQynQ,GAAcA,EAAWznQ,MAAQA,EAsCxE,MAAM0nQ,EAAgB,CAClB7uP,SAAS,EACTnY,MAAO,IAEX,IAAIinQ,EAAiBtxQ,GAAY89B,EAAQ99B,GACnCA,EAAQ8zC,QAAO,CAAC60E,EAAU1oH,IAAWA,GAAUA,EAAO0J,IAAI+sB,QACtD,CACElU,SAAS,EACTnY,MAAOpK,EAAO0J,IAAIU,OAEpBs+G,GAAU0oJ,GACdA,EAEFE,EAA0BvxQ,GAAY,IAAIA,GACzCoG,QAAO,EAAGgiB,cAAeA,IACzB5a,KAAI,EAAGnD,WAAYA,IAEpBmnQ,EAAelgP,GAA6B,SAAjBA,EAAQnxB,KAEnCsxQ,EAAoBngP,GAAYA,EAAQnxB,OAAS,GAAG6uQ,aAEpD0C,EAAiBrnQ,GAAoB,KAAVA,EAE/B,MAAMsnQ,EAAgB,CAClBtnQ,OAAO,EACPmY,SAAS,GAEPovP,EAAc,CAAEvnQ,OAAO,EAAMmY,SAAS,GAC5C,IAAIqvP,EAAoB7xQ,IACpB,GAAI89B,EAAQ99B,GAAU,CAClB,GAAIA,EAAQwF,OAAS,EAAG,CACpB,MAAM0a,EAASlgB,EACVoG,QAAQnG,GAAWA,GAAUA,EAAO0J,IAAI+sB,UACxClpB,KAAI,EAAG7D,KAAOU,YAAcA,IACjC,MAAO,CAAEA,MAAO6V,EAAQsC,UAAWtC,EAAO1a,OAC9C,CACA,MAAM,QAAEkxB,EAAO,MAAErsB,EAAK,WAAEue,GAAe5oB,EAAQ,GAAG2J,IAClD,OAAO+sB,EACD9N,IAAegnP,EAAYhnP,EAAWve,OAClCulQ,EAAYvlQ,IAAUqnQ,EAAcrnQ,GAChCunQ,EACA,CAAEvnQ,MAAOA,EAAOmY,SAAS,GAC7BovP,EACJD,CACV,CACA,OAAOA,CAAa,EAGxB,SAASG,EAAcvuQ,EAAQoG,GAC3B,MAAM,KAAE9J,EAAI,MAAEwK,GAAUV,EAClB2lF,EAAQ/rF,EAAO1D,GACrB,OAAI2xQ,EAAY7nQ,GACLA,EAAIxH,MAEX8tQ,EAAatmQ,GACN2lF,EAAQgiL,EAAchiL,EAAMtvF,SAASqK,MAAQ,GAEpDonQ,EAAiB9nQ,GACV4nQ,EAAuB5nQ,EAAI3J,SAElCkwQ,EAAgBvmQ,KACT2lF,GAAQuiL,EAAiBviL,EAAMtvF,SAASqK,MAE5CA,CACX,CAEA,IAAI+nG,EAAY/nG,GAA2B,iBAAVA,EAE7B0nQ,EAAkB,CAACxuQ,EAAQvF,KAC3B,MAAMi0F,EAAS,CAAC,EAChB,IAAK,MAAMpyF,KAAQ0D,GACXqsQ,EAAY5xQ,KACXo0G,EAASp0G,GACJ6B,EAAKF,WAAW3B,GAChB8/B,EAAQ9/B,GACJA,EAAOY,MAAMpC,GAASqD,EAAKF,WAAWnD,KACtCwB,GAAUA,EAAOg0Q,SAC3B//K,EAAOpyF,GAAQiyQ,EAAcvuQ,EAAQA,EAAO1D,GAAM8J,MAG1D,OAAOsoF,CAAM,EAUbggL,EAAc,CAACr1Q,GAASuD,OAAMi5D,QAAO34D,aAAc0kC,EAASvoC,IAC5DA,EAAMuD,OAASA,GACfvD,EAAM6D,UAAYA,GATF,EAACyxQ,EAAU,CAAC,EAAGC,EAAU,CAAC,KAC1C,MAAMC,EAAc15P,OAAOghB,KAAKw4O,GAC1BG,EAAc35P,OAAOghB,KAAKy4O,GAChC,OAAQC,EAAY5sQ,SAAW6sQ,EAAY7sQ,QACvC4sQ,EAAY1hK,OAAOjjG,GAAQ0kQ,EAAQ1kQ,IAAQ0kQ,EAAQ1kQ,KAASykQ,EAAQzkQ,IAAM,EAM9E6kQ,CAAc11Q,EAAMw8D,MAAOA,GAmB/B,IAAIm5M,GAAWloQ,GAAUA,aAAiB0vB,OAEtCy4O,GAAsBC,IAEtB,OADkCttO,EAAV96B,EACFooQ,KADgCF,GAAQloQ,GAExDooQ,EACA,CACEpoQ,MAAOooQ,EACPhyQ,QAAS,IALM,IAAC4J,CAMnB,EAGLknP,GAAclnP,GAA2B,mBAAVA,EAE/BqoQ,GAAaroQ,GAA2B,kBAAVA,EAE9BsoQ,GAAatoQ,GAAU+nG,EAAS/nG,IAAW86B,EAAS96B,KAAU,IAAAuoQ,gBAAevoQ,GAEjF,SAASwoQ,GAAiBhnP,EAAQliB,EAAKxJ,EAAO,YAC1C,GAAIwyQ,GAAU9mP,IAAY6mP,GAAU7mP,KAAYA,EAC5C,MAAO,CACH1rB,OACAM,QAASkyQ,GAAU9mP,GAAUA,EAAS,GACtCliB,MAGZ,CAEA,IAAImpQ,GAAe,CAACjzQ,EAAMkzQ,EAA0BliQ,EAAQ1Q,EAAMM,KAC9D,GAAIsyQ,EAA0B,CAC1B,MAAMn2Q,EAAQiU,EAAOhR,GACrB,OAAO6Y,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAG/b,GAAQ,CAAEw8D,MAAO1gD,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAI/b,GAASA,EAAMw8D,MAAQx8D,EAAMw8D,MAAQ,CAAC,GAAK,CAAE,CAACj5D,GAAOM,IAAW,KAC7J,CACA,MAAO,CAAC,CAAC,EAGTuyQ,GAAgBh3Q,MAAOi3Q,EAAWF,GAA4BppQ,MAAKA,KAAOxJ,OAAMkK,QAAOxK,QAAQG,UAASsN,WAAU2F,YAAWu1B,YAAW7zB,MAAKH,MAAKzB,UAAS6T,eAC3J,IAAIrqB,EACJ,MAAMgH,EAAS0vQ,EAAUxnQ,QACnB7O,EAAQ,CAAC,EACTs2Q,EAAUjD,EAAatmQ,GACvBwpQ,EAAajD,EAAgBvmQ,GAC7BypQ,EAAoBF,GAAWC,EAC/BvsM,EAAU8qM,EAAcrnQ,GACxBgpQ,EAAoBP,GAAa/tJ,KAAK,KAAMllH,EAAMkzQ,EAA0Bn2Q,GAC5E02Q,EAAmB,CAACC,EAAWC,EAAkBC,EAAkBC,EAAUzE,EAAkC0E,EAAU1E,KAC3H,MAAMxuQ,EAAU8yQ,EAAYC,EAAmBC,EAK/C,GAJA72Q,EAAMiD,GAAQ6Y,OAAOC,OAAO,CAAExY,KAAMozQ,EAAYG,EAAUC,EAASlzQ,UAC/DkJ,OACE0pQ,EADME,EACYG,EACAC,EADSlzQ,KAE5BsyQ,EACD,OAAOn2Q,CACX,EAEJ,GAAI0Q,KACG4lQ,IAAYC,IAAevsM,GAAW0nM,EAAkBjkQ,KACtDqoQ,GAAUroQ,KAAWA,GACrB8oQ,IAAetB,EAAiB7xQ,GAASwiB,SACzC0wP,IAAY5B,EAActxQ,GAASwiB,SAAW,CACnD,MAAQnY,MAAOupQ,EAAenzQ,QAASozQ,GAAoBlB,GAAUrlQ,GAC/D,CAAEjD,QAASiD,EAAU7M,QAAS6M,GAC9BklQ,GAAmBllQ,GACzB,GAAIsmQ,IACAh3Q,EAAMiD,GAAQ6Y,OAAOC,OAAO,CAAExY,KAAM8uQ,EAAiCxuQ,QAASozQ,EAAiBlqQ,IAAKypQ,EAAoD,QAA/B72Q,EAAKgH,EAAO1D,GAAMG,eAA4B,IAAPzD,OAAgB,EAASA,EAAG,GAAGoN,IAAMA,GAAO0pQ,EAAkBpE,EAAiC4E,KAC1Pd,GACD,OAAOn2Q,CAGnB,CACA,IAAK0xQ,EAAkB35P,KAAS25P,EAAkB95P,GAAM,CACpD,IAAI++P,EACAO,EACJ,MAAQzpQ,MAAO6U,EAAUze,QAASszQ,GAAevB,GAAmBh+P,IAC5DnK,MAAO2pQ,EAAUvzQ,QAASwzQ,GAAezB,GAAmB79P,GACpE,GAAa,WAATxU,IAAuBA,IAASsiE,MAAMp4D,GAAS,CAC/C,MAAM6pQ,EAAcvqQ,EAAIwqQ,eAAiBngO,WAAW3pC,GAC/CikQ,EAAkBpvP,KACnBq0P,EAAYW,EAAch1P,GAEzBovP,EAAkB0F,KACnBF,EAAYI,EAAcF,EAElC,KACK,CACD,MAAMI,EAAYzqQ,EAAI0qQ,aAAe,IAAI3kO,KAAKrlC,GAC1C+nG,EAASlzF,KACTq0P,EAAYa,EAAY,IAAI1kO,KAAKxwB,IAEjCkzF,EAAS4hK,KACTF,EAAYM,EAAY,IAAI1kO,KAAKskO,GAEzC,CACA,IAAIT,GAAaO,KACbR,IAAmBC,EAAWQ,EAAYE,EAAYhF,EAA4BA,IAC7E8D,GACD,OAAOn2Q,CAGnB,CACA,GAAIw1G,EAAS/nG,KAAWu8D,IAAY3zD,GAAau1B,GAAY,CACzD,MAAQn+B,MAAOiqQ,EAAgB7zQ,QAAS+yQ,GAAsBhB,GAAmBv/P,IACzE5I,MAAOkqQ,EAAgB9zQ,QAASgzQ,GAAsBjB,GAAmBhqO,GAC3EgsO,EAAcnqQ,EAAMqV,WAAWla,OAC/B+tQ,GAAajF,EAAkBgG,IAAmBE,EAAcF,EAChER,GAAaxF,EAAkBiG,IAAmBC,EAAcD,EACtE,IAAIhB,GAAaO,KACbR,IAAmBC,EAAWC,EAAkBC,IAC3CV,GACD,OAAOn2Q,CAGnB,CACA,GAAImW,IAAY6zD,EAAS,CACrB,MAAQv8D,MAAOoqQ,EAAch0Q,QAASi0Q,GAAmBlC,GAAmBz/P,GAC5E,GAAIw/P,GAAQkC,KAAkBA,EAAaztP,KAAK3c,KAC5CzN,EAAMiD,GAAQ6Y,OAAOC,OAAO,CAAExY,KAAM8uQ,EAAgCxuQ,QAASi0Q,EAAgB/qQ,OAAO0pQ,EAAkBpE,EAAgCyF,KACjJ3B,GACD,OAAOn2Q,CAGnB,CACA,GAAIgqB,EAAU,CACV,MAAMwqP,EAAaU,EAAcvuQ,EAAQoG,GACnCgrQ,EAAcvB,GAAqBpzQ,EAAUA,EAAQ,GAAG2J,IAAMA,EACpE,GAAI4nP,GAAW3qO,GAAW,CACtB,MACMguP,EAAgB/B,SADDjsP,EAASwqP,GACiBuD,GAC/C,GAAIC,IACAh4Q,EAAMiD,GAAQ6Y,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAGi8P,GAAgBvB,EAAkBpE,EAAiC2F,EAAcn0Q,WAC1HsyQ,GACD,OAAOn2Q,CAGnB,MACK,GAAIuoC,EAASve,GAAW,CACzB,IAAIiuP,EAAmB,CAAC,EACxB,IAAK,MAAOpnQ,EAAKqnQ,KAAqBp8P,OAAOjV,QAAQmjB,GAAW,CAC5D,IAAK0pP,EAAcuE,KAAsB9B,EACrC,MAEJ,MACM6B,EAAgB/B,SADOiC,EAAiB1D,GACSuD,EAAalnQ,GAChEmnQ,IACAC,EAAmBn8P,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAGi8P,GAAgBvB,EAAkB5lQ,EAAKmnQ,EAAcn0Q,UACpGsyQ,IACAn2Q,EAAMiD,GAAQg1Q,GAG1B,CACA,IAAKvE,EAAcuE,KACfj4Q,EAAMiD,GAAQ6Y,OAAOC,OAAO,CAAEhP,IAAKgrQ,GAAeE,IAC7C9B,GACD,OAAOn2Q,CAGnB,CACJ,CACA,OAAOA,CAAK,EAGhB,MAAMm4Q,GAAmB,CAACn4Q,EAAOm2Q,IAA6Bj1O,EAAQlhC,EAAM4sH,OACtE5sH,EAAM4sH,MAAM11E,QAAO,CAAC60E,GAAY5kE,OAAMtjD,UAASN,UAAYuY,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAGgwG,GAAY5kE,EACnG4kE,EAAS5kE,IAASgvN,EACd,CACE,CAAChvN,GAAO+uN,GAAa/uN,EAAMgvN,EAA0BpqJ,EAAUxoH,EAAMM,IAEvE,CACE,CAACsjD,GAAO4kE,EAAS5kE,IAASrrC,OAAOC,OAAO,CAAElY,UACtCN,QAAS4yQ,EACP,CACE35M,MAAO,CAAE,CAACj5D,GAAOM,IAAW,IAE9B,CAAC,IAEb,CAAC,IAAM,CAAC,GACZ,CACE,CAAC7D,EAAMmnD,MAAO,CAAEtjD,QAAS7D,EAAM6D,QAASN,KAAMvD,EAAMuD,OAE5DnE,eAAeg5Q,GAAmBC,EAAkBlC,EAA0Bv2Q,EAAM04Q,EAAoBx5O,GACpG,GAAIw5O,EACA,OAAOA,EAAmB14Q,EAAMk/B,GAEpC,IACI,MAAO,CACHxb,aAAc+0P,EAAiBruP,SAASpqB,EAAM,CAC1C24Q,YAAY,EACZz5O,YAEJ7qB,OAAQ,CAAC,EAEjB,CACA,MAAOrF,GACH,MAAO,CACH0U,OAAQ,CAAC,EACTrP,OAAQ8+P,EAAsBoF,GAAiBvpQ,EAAGunQ,IAE1D,CACJ,CAEA,IAAIqC,GAAe/qQ,GAAUikQ,EAAkBjkQ,KAAWkkQ,EAAalkQ,GAEvE,MAAMgrQ,GAAU,CAACtxN,EAAM7jC,KACnB,MAAMo1P,EAAe,CAACjrQ,EAAOoD,EAAK03B,KAC9B,MAAMowO,EAAgBpwO,EAAW,GAAG4e,KAAQt2C,IAAQ,GAAGs2C,KAAQt2C,KAC/D,OAAO2nQ,GAAY/qQ,GAASkrQ,EAAgBF,GAAQE,EAAelrQ,EAAM,EAE7E,OAAOyzB,EAAQ5d,GACTA,EAAO1S,KAAI,CAACnD,EAAOoD,IAAQ6nQ,EAAajrQ,EAAOoD,KAC/CiL,OAAOjV,QAAQyc,GAAQ1S,KAAI,EAAEC,EAAKpD,KAAWirQ,EAAajrQ,EAAOoD,GAAK,IAAM,EAEtF,IAEI+nQ,GAAoB,CAACC,EAAa7/G,EAAW8/G,EAAar+O,EAAYs+O,KACtE,IAAItrQ,EAeJ,OAdAqrQ,EAAYhoO,IAAIkoH,GACZ06G,EAAcmF,GACdprQ,OAAQzK,EAEFgwQ,EAAY6F,EAAY7/G,KAK9BvrJ,EAAQhO,EAAIszQ,EAAsB8F,GAAc7/G,GAC3Cg6G,EAAYvlQ,IAdT,EAACurQ,EAAYvrQ,IAAUgrQ,GAAQO,EAAYvrQ,GAAOsjB,KAAKopC,KAe3D8+M,CAAUjgH,EAAWvrJ,GAAOjI,SAASvC,GAAS61Q,EAAYhoO,IAAI7tC,OANlEwK,EAAQorQ,EAAY7/G,GACpB8/G,EAAYhoO,IAAIkoH,IAQbg6G,EAAYvlQ,GACbsrQ,EACIt+O,EACAh7B,EAAIg7B,EAAYu+H,GACpBvrJ,CAAK,EAGXyrQ,GAAiB,EAAGC,aAAY1jL,WAAU2jL,cAAaC,aAAYC,uBAAsBC,WAAUC,qBAAoBC,iBAAoBN,GAAcC,GACxJC,GAAcC,GACdD,IAAeI,GACfF,IAAaH,IAAgB3jL,GAC7B+jL,IAAuBJ,GAAe3jL,GACtC6jL,GAAwBG,EAEzBC,GAA2Bz2Q,GAASA,EAAKq6F,UAAU,EAAGr6F,EAAK89B,QAAQ,MAEnE44O,GAAsB,CAAChzQ,EAAQ1D,KAC/B,MAAM2/K,EAAUmwF,EAAsBoC,EAAgBxuQ,IACtD,OAAO1D,EAAOxD,EAAImjL,EAAS3/K,EAAM2/K,GAAWA,CAAO,EAGvD,SAASg3F,GAAqBC,EAAgBC,GAC1C,IAAIC,GAAU,EACd,IAAK74O,EAAQ24O,KACR34O,EAAQ44O,IACTD,EAAejxQ,SAAWkxQ,EAAgBlxQ,OAC1C,OAAO,EAEX,IAAK,IAAI/J,EAAI,EAAGA,EAAIg7Q,EAAejxQ,SAC3BmxQ,EADmCl7Q,IAAK,CAI5C,MAAMm7Q,EAAQH,EAAeh7Q,GACvBo7Q,EAAQH,EAAgBj7Q,GAC9B,GAAIm0Q,EAAYiH,IACZn+P,OAAOghB,KAAKk9O,GAAOpxQ,SAAWkT,OAAOghB,KAAKm9O,GAAOrxQ,OAAQ,CACzDmxQ,GAAU,EACV,KACJ,CACA,IAAK,MAAMlpQ,KAAOmpQ,EACd,GAAIA,EAAMnpQ,KAASopQ,EAAMppQ,GAAM,CAC3BkpQ,GAAU,EACV,KACJ,CAER,CACA,OAAOA,CACX,CAEA,MAAMG,GAAwB,CAACj3Q,EAAMk3Q,IAAeh9O,OAAO,IAAIg9O,UAAmBv1Q,QAAQ,MAAO,OAAOA,QAAQ,MAAO,QAAQwlB,KAAKnnB,GACpI,IAAIm3Q,GAAqB,CAACvkB,EAAO5yP,IAAS,IAAI4yP,GAAO3rO,MAAMrb,GAAYqrQ,GAAsBj3Q,EAAM4L,KAE/FwrQ,GAAiB3lP,GAAYA,EAAQnxB,OAAS,GAAG6uQ,QAgBrD,IAAIkI,GAAeroP,IAAS,CACxBonP,YAAapnP,GAAQA,IAAS4/O,EAAgB9lL,SAC9CwtL,SAAUtnP,IAAS4/O,EAAgB13O,OACnCg/O,WAAYlnP,IAAS4/O,EAAgBthQ,WAGrCgqQ,GAA6BxtQ,GAAQsmQ,EAAatmQ,IAAQumQ,EAAgBvmQ,GAE9E,SAASy7E,IAAQ,KAAEv2D,EAAO4/O,EAAgB9lL,SAAQ,eAAEyuL,EAAiB3I,EAAgBthQ,SAAQ,iBAAE8nQ,EAAgB,mBAAEC,EAAkB,kBAAEmC,EAAiB,cAAEC,EAAgB,CAAC,EAAC,iBAAEC,GAAmB,EAAI,qBAAEC,GAA0B,CAAC,GAC5N,MAAMvE,GAAY,IAAApoQ,QAAO,CAAC,GACpB4sQ,GAAY,IAAA5sQ,QAAO,CAAC,GACpB6sQ,GAAmB,IAAA7sQ,QAAO,CAAC,GAC3B8sQ,GAA0B,IAAA9sQ,QAAO,CAAC,GAClC+sQ,GAAiB,IAAA/sQ,QAAO,IAAIgtQ,KAC5BC,GAAiB,IAAAjtQ,QAAO,IAAIgtQ,KAC5BE,GAA0B,IAAAltQ,QAAO,IAAIgtQ,KACrCG,GAAiB,IAAAntQ,QAAO,IAAIgtQ,KAC5BI,GAAa,IAAAptQ,SAAO,GACpBqtQ,GAAmB,IAAArtQ,QAAOysQ,GAC1Ba,GAA2B,IAAAttQ,QAAO,CAAC,GACnCutQ,GAAY,IAAAvtQ,SAAO,GACnBwtQ,GAAgB,IAAAxtQ,SAAO,GACvBytQ,GAAiB,IAAAztQ,SAAO,GACxB0tQ,GAAa,IAAA1tQ,SAAO,GACpB2tQ,GAAiB,IAAA3tQ,QAAO,GACxB4tQ,GAAkB,IAAA5tQ,SAAO,GACzB6tQ,GAAkB,IAAA7tQ,UAClB8tQ,GAA6B,IAAA9tQ,QAAO,CAAC,GACrC+tQ,GAAuB,IAAA/tQ,QAAOwsQ,GAC9BwB,IAAqB,IAAAhuQ,QAAO,IAAIgtQ,MAC/B,CAAEvnQ,KAAU,IAAAxG,aACb,SAAEqsQ,GAAQ,WAAEF,GAAU,WAAEF,KAAe,IAAAlrQ,QAAOqsQ,GAAYroP,IAAOpjB,QACjEsnQ,GAAoD,QAAzByE,EAC3BsB,UAA2Bh7Q,SAAW6wQ,EACtCoK,MAAoC9D,IAAoBC,GACxD8D,UAAe/sQ,WAAa0iQ,IAC7BmK,KACAlJ,EAAY9xQ,OAAOsyQ,aAClB6I,GAAiBD,GAAQ,UAAWl7Q,cAAgBw2N,QAAUq6C,EAC9DuK,IAAmB,IAAAruQ,QAAO,CAC5BsuQ,OAAQF,GACRG,aAAcH,GACd5C,YAAaJ,GACboD,aAAcJ,GACdK,SAAUL,GACVM,cAAeN,GACfz2P,SAAUy2P,MAEN9C,SAAUC,GAAoBH,WAAYC,KAA0B,IAAArrQ,QAAOqsQ,GAAYE,IAAiB3rQ,QAChHmtQ,EAAqBntQ,QAAU4rQ,EAC/B,MAAMmC,IAAW,IAAAxjQ,cAAY,KACpBoiQ,EAAU3sQ,SACX6E,GAAO,CAAC,EACZ,GACD,IACGmpQ,IAA0B,IAAAzjQ,cAAY,CAACnW,EAAMjD,EAAOqjQ,GAAe,KACrE,IAAIyZ,EAAiBzZ,GAlX7B,UAAkC,OAAEpvP,EAAM,KAAEhR,EAAI,MAAEjD,EAAK,YAAE+8Q,EAAW,qBAAEC,IAClE,MAAMC,EAAevJ,EAAc1zQ,GAC7Bk9Q,EAAcxJ,EAAcz/P,GAC5BkpQ,EAAoB19Q,EAAIO,EAAOiD,GAC/Bm6Q,EAAkB39Q,EAAIwU,EAAQhR,GACpC,QAAKg6Q,GAAgBF,EAAYjwJ,IAAI7pH,IAChCm6Q,GAAmBA,EAAgBC,eAGpCH,IAAgBD,IACdC,IAAgBE,GACjBH,GAAgBD,EAAqBlwJ,IAAI7pH,KAAU85Q,EAAYjwJ,IAAI7pH,KAGjEk6Q,IAAsB9H,EAAY+H,EAAiBD,GAC9D,CAoWYG,CAAyB,CACrBrpQ,OAAQ4mQ,EAAUhsQ,QAClB7O,QACAiD,OACA85Q,YAAa3B,EAAevsQ,QAC5BmuQ,qBAAsB7B,EAAwBtsQ,UAEtD,GAAI6kQ,EAAc1zQ,IACVm7Q,EAAwBtsQ,QAAQi+G,IAAI7pH,IACpCk5Q,MACAf,EAAevsQ,QAAQiiC,IAAI7tC,GAC3B65Q,EAAiBA,GAAkBr9Q,EAAIo7Q,EAAUhsQ,QAAS5L,IAE9D43Q,EAAUhsQ,QAAUklQ,EAAM8G,EAAUhsQ,QAAS,CAAC5L,QAE7C,CACD,MAAMs6Q,EAAgB99Q,EAAIo7Q,EAAUhsQ,QAAS5L,GAC7Cm4Q,EAAevsQ,QAAQk+G,OAAO9pH,GAC9B65Q,EACIA,IACKS,IACMlI,EAAYkI,EAAev9Q,EAAMiD,IAEhDqkE,EAAIuzM,EAAUhsQ,QAAS5L,EAAMjD,EAAMiD,GACvC,CACA,GAAI65Q,IAAmBpL,EAAkBrO,GAErC,OADAuZ,MACO,CACX,GACD,CAACA,GAAUT,KACR9mQ,IAAgB,IAAA+D,cAAY,CAACs5E,EAAO8qL,KACtC,MAAM,IAAEzwQ,EAAG,QAAE3J,GAAYsvF,EACnBjlF,EAAQ2uQ,IAASxK,EAAc7kQ,IAAQ2kQ,EAAkB8L,GACzD,GACAA,EACFnK,EAAatmQ,IAAQ3J,EACrBA,EAAQoC,SAAQ,EAAGuH,IAAK0wQ,KAAgBA,EAAS3jP,QAAU2jP,EAAShwQ,QAAUA,IAEzEmnQ,EAAY7nQ,GACbyoG,EAAS/nG,GACTV,EAAIU,MAAQA,EAGZV,EAAIxH,MAAQkI,EAGXonQ,EAAiB9nQ,GACtB,IAAIA,EAAI3J,SAASoC,SAASk4Q,GAAeA,EAAUlyP,SAAW/d,EAAMpM,SAASq8Q,EAAUjwQ,SAElF6lQ,EAAgBvmQ,IAAQ3J,EAC7BA,EAAQwF,OAAS,EACXxF,EAAQoC,SAAQ,EAAGuH,IAAK4wQ,KAAmBA,EAAY7jP,QAAUrsB,EAAMpM,SAASs8Q,EAAYlwQ,SAC3FrK,EAAQ,GAAG2J,IAAI+sB,UAAYrsB,EAGlCV,EAAIU,MAAQA,CAChB,GACD,CAAC2uQ,KACEwB,IAAW,IAAAxkQ,cAAanW,IAC1B,IAAKozQ,EAAUxnQ,QAAQ5L,KACjBq5Q,GAAiBztQ,QAAQ0tQ,QAAUD,GAAiBztQ,QAAQ2tQ,YAC9D,OAAO,EAEX,IAAIqB,EAAetC,EAAyB1sQ,QAAQ5L,KAChDiyQ,EAAcmB,EAAUxnQ,QAASwnQ,EAAUxnQ,QAAQ5L,GAAM8J,KAC7D,MAAM+wQ,EAAe1D,GAAmB6B,GAAmBptQ,QAAS5L,GAC9D86Q,EAA4B7C,EAAersQ,QAAQwC,KACzD,GAAIysQ,EAAc,CACd,MAAME,EAAiBtE,GAAwBz2Q,GAC/C46Q,EAAejE,GAAqBD,GAAoBtD,EAAUxnQ,QAASmvQ,GAAiBv+Q,EAAI67Q,EAAiBzsQ,QAASmvQ,GAC9H,CACA,MAAMC,GAAkBH,EAAenC,EAAW9sQ,QAAUqsQ,EAAersQ,QAAQi+G,IAAI7pH,MACnF46Q,EAUJ,OATIA,EACA3C,EAAersQ,QAAQiiC,IAAI7tC,GAG3Bi4Q,EAAersQ,QAAQk+G,OAAO9pH,GAElC04Q,EAAW9sQ,QAAUivQ,EACfD,IACE3C,EAAersQ,QAAQwC,KACxBirQ,GAAiBztQ,QAAQ0tQ,MAC1B0B,EACAF,IAA8B7C,EAAersQ,QAAQwC,IAAI,GAChE,IACG6sQ,IAAoB,IAAA9kQ,cAAY,CAACnW,EAAMwK,EAAO0wQ,KAChD,MAAMC,EAAel9O,EAAQzzB,GAC7B,IAAK,MAAMoD,KAAOpD,EAAO,CACrB,MAAMurJ,EAAY,GAAGmlH,GAAmBl7Q,IAAOm7Q,EAAe,IAAIvtQ,KAAS,IAAIA,MACzE6hF,EAAQ2jL,EAAUxnQ,QAAQmqJ,GAC5BzwH,EAAS96B,EAAMoD,KACfqtQ,GAAkBj7Q,EAAMwK,EAAMoD,GAAMmoJ,GAEpCtmE,IACAr9E,GAAcq9E,EAAOjlF,EAAMoD,IAC3B+sQ,GAAS5kH,GAEjB,IACD,CAAC3jJ,GAAeuoQ,KACbS,IAAmB,IAAAjlQ,cAAY,CAACnW,EAAMwK,KACxC,MAAMilF,EAAQ2jL,EAAUxnQ,QAAQ5L,GAChC,GAAIyvF,EAAO,CACPr9E,GAAcq9E,EAAOjlF,GACrB,MAAM4nF,EAASuoL,GAAS36Q,GACxB,GAAI6yQ,GAAUzgL,GACV,OAAOA,CAEf,MACUmjL,GAAY/qQ,IAClBywQ,GAAkBj7Q,EAAMwK,EAC5B,GACD,CAACmwQ,GAAUvoQ,GAAe6oQ,KACvBI,IAAoB,IAAAllQ,cAAYha,MAAO6D,EAAMs7Q,KAC/C,MAAM7rL,EAAQ2jL,EAAUxnQ,QAAQ5L,GAChC,GAAIyvF,EAAO,CACP,MAAM1yF,QAAco2Q,GAAcC,EAAWF,GAA0BzjL,GAEvE,OADAmqL,GAAwB55Q,EAAMjD,IAAOu+Q,GAAe,MAC7C7K,EAAc1zQ,EACzB,CACA,OAAO,CAAK,GACb,CAAC68Q,GAAyB1G,KACvBqI,IAAoC,IAAAplQ,cAAYha,MAAOoQ,IACzD,MAAM,OAAEyE,SAAiBmkQ,GAAmBC,EAAkBlC,GAA0BwD,GAAoBtD,EAAUxnQ,SAAUypQ,EAAoB0D,EAAqBntQ,SACnK4vQ,EAAsBpD,EAAWxsQ,QAEvC,GADAwsQ,EAAWxsQ,QAAU6kQ,EAAcz/P,GAC/BitB,EAAQ1xB,GACRA,EAAQhK,SAASvC,IACb,MAAMjD,EAAQP,EAAIwU,EAAQhR,GACtBjD,EACAsnE,EAAIuzM,EAAUhsQ,QAAS5L,EAAMjD,GAG7B+zQ,EAAM8G,EAAUhsQ,QAAS,CAAC5L,GAC9B,IAEJ25Q,SAEC,CACD,MAAM58Q,EAAQP,EAAIwU,EAAQzE,GAC1BqtQ,GAAwBrtQ,EAAUxP,EAAQ,CAAE,CAACwP,GAAUxP,GAAU,CAAC,EAAIy+Q,IAAwBpD,EAAWxsQ,QAC7G,CACA,OAAO6kQ,EAAcmH,EAAUhsQ,QAAQ,GACxC,CACC+tQ,GACAC,GACA1G,GACAmC,EACAD,IAEE/zP,IAAoB,IAAAlL,cAAYha,MAAOoQ,IACzC,MAAM7I,EAAS6I,GAAWsM,OAAOghB,KAAKu5O,EAAUxnQ,SAChD,GAAIstQ,GACA,OAAOqC,GAAkC73Q,GAE7C,GAAIu6B,EAAQv6B,GAAS,CACjB,MAAMsoB,QAAe8rC,QAAQukE,IAAI34H,EAAOiK,KAAIxR,MAAOQ,SAAe0+Q,GAAkB1+Q,GAAM,MAE1F,OADAg9Q,KACO3tP,EAAO6kF,MAAM8B,QACxB,CACA,aAAa0oK,GAAkB33Q,EAAO,GACvC,CACC63Q,GACAF,GACA1B,GACAT,KAEEuC,GAAkBz7Q,GAASw4Q,EAAc5sQ,SAC3CmsQ,EAAensQ,QAAQi+G,IAAI7pH,IAC3B+3Q,EAAensQ,QAAQi+G,KAAK7pH,EAAK6S,MAAM,QAAU,IAAI,IAsBzDgmQ,EAAgBjtQ,QAAUitQ,EAAgBjtQ,QACpCitQ,EAAgBjtQ,QAChBzP,OAASmE,OAAMwL,aACb,MAAM9L,EAAO8L,EAASA,EAAO9L,KAAO,GAC9B0D,EAAS0vQ,EAAUxnQ,QACnBoF,EAAS4mQ,EAAUhsQ,QACnB6jF,EAAQ/rF,EAAO1D,GACf07Q,EAAel/Q,EAAIwU,EAAQhR,GACjC,IAAIjD,EACJ,IAAK0yF,EACD,OAEJ,MAAM0mL,EAAc71Q,IAASyuQ,EAAOC,KAC9B2M,EAAuB1F,GAAe,CACxCzjL,WAAYkpL,EACZxF,cACAC,cACAC,cACAC,wBACAC,YACAC,sBACAC,YAAaiC,EAAe7sQ,UAE1BgwQ,EAAoBjB,GAAS36Q,GACnC,IAAIogQ,EAAeqb,GAAez7Q,IAAS47Q,EAO3C,GANIzF,IACC35Q,EAAIq7Q,EAAiBjsQ,QAAS5L,IAC/Bq5Q,GAAiBztQ,QAAQ6tQ,UACzBp1M,EAAIwzM,EAAiBjsQ,QAAS5L,GAAM,GACpCogQ,GAAe,GAEfub,EACA,OAAOvb,GAAgBuZ,KAE3B,GAAIT,GAAgC,CAChC,MAAM,OAAEloQ,SAAiBmkQ,GAAmBC,EAAkBlC,GAA0BwD,GAAoBhzQ,GAAS2xQ,EAAoB0D,EAAqBntQ,SACxJ4vQ,EAAsBpD,EAAWxsQ,QACvCwsQ,EAAWxsQ,QAAU6kQ,EAAcz/P,GACnCjU,EAASP,EAAIwU,EAAQhR,GACf,CAAE,CAACA,GAAOxD,EAAIwU,EAAQhR,IACtB,CAAC,EACHw7Q,IAAwBpD,EAAWxsQ,UACnCw0P,GAAe,EAEvB,MAEIrjQ,QAAco2Q,GAAcC,EAAWF,GAA0BzjL,IAEhEmqL,GAAwB55Q,EAAMjD,IAAUqjQ,GACzCuZ,IACJ,EAER,MAAMkC,IAA2B,IAAA1lQ,cAAY,CAACkK,EAAS,CAAC,KACpD,MAAMu1P,EAAcnF,EAAc4H,EAAiBzsQ,SAC7CsmQ,EAAgBkB,EAAUxnQ,SAC1BysQ,EAAiBzsQ,QACvBupQ,GAAmBC,EAAkBlC,GAA0BpD,EAAsBj3P,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAG88P,GAAcv1P,IAAUg1P,EAAoB0D,EAAqBntQ,SAASpH,MAAK,EAAGwM,aACnM,MAAMwqQ,EAAsBpD,EAAWxsQ,QACvCwsQ,EAAWxsQ,QAAU6kQ,EAAcz/P,GAC/BwqQ,IAAwBpD,EAAWxsQ,SACnC+tQ,IACJ,GACF,GAGN,CAACA,GAAUzG,GAA0BmC,IAC/ByG,IAA2B,IAAA3lQ,cAAY,CAACs5E,EAAOssL,KAC7ClD,EAAgBjtQ,SAAW6jF,GAzvBvC,SAA2C/rF,EAAQ+G,EAAcglF,EAAOssL,GACpE,MAAM,IAAEjyQ,EAAKA,KAAK,KAAE9J,EAAI,KAAEM,GAAM,gBAAE07Q,GAAqBvsL,EACjD8hL,EAAa7tQ,EAAO1D,GAC1B,GAAKM,EAIL,IAAK8vQ,EAAatmQ,IAAQumQ,EAAgBvmQ,KAASynQ,EAAY,CAC3D,MAAM,QAAEpxQ,GAAYoxQ,EAChBtzO,EAAQ99B,IAAYA,EAAQwF,QAC5BxF,EAAQoG,OAAOosG,SAASpwG,SAAQ,CAACnC,EAAQqC,KACrC,MAAM,IAAEqH,EAAG,gBAAEkyQ,GAAoB57Q,GAC5B0J,GAAOwmQ,EAAWxmQ,IAAQwnQ,EAAUlxQ,EAAQ0J,IAASiyQ,KACtD7L,EAAwBpmQ,EAAKW,GACzBuxQ,GACAA,EAAgB39K,aAEpByyK,EAAM3wQ,EAAS,CAAC,IAAIsC,OACxB,IAEAtC,IAAYA,EAAQoG,OAAOosG,SAAShtG,eAC7BjC,EAAO1D,WAIX0D,EAAO1D,EAEtB,MACUswQ,EAAWxmQ,IAAQwnQ,EAAUC,EAAYznQ,IAASiyQ,KACxD7L,EAAwBpmQ,EAAKW,GACzBuxQ,GACAA,EAAgB39K,oBAEb36F,EAAO1D,gBA7BP0D,EAAO1D,EA+BtB,CAutBYi8Q,CAAkC7I,EAAUxnQ,QAASitQ,EAAgBjtQ,QAAS6jF,EAAOssL,EACzF,GACD,IACGG,IAAiC,IAAA/lQ,cAAY,CAACs5E,EAAOssL,KACvD,IAAKtsL,GACAA,GACG0nL,GAAmB6B,GAAmBptQ,QAAS6jF,EAAM3lF,IAAI9J,QACxD+7Q,EACL,OAEJD,GAAyBrsL,EAAOssL,GAChC,MAAM,KAAE/7Q,GAASyvF,EAAM3lF,IACvB8tQ,EAAUhsQ,QAAUklQ,EAAM8G,EAAUhsQ,QAAS,CAAC5L,IAC9C63Q,EAAiBjsQ,QAAUklQ,EAAM+G,EAAiBjsQ,QAAS,CAAC5L,IAC5Ds4Q,EAAyB1sQ,QAAUklQ,EAAMwH,EAAyB1sQ,QAAS,CAAC5L,IAC5E,CACIi4Q,EACAC,EACAC,EACAJ,GACFx1Q,SAAS5F,GAASA,EAAKiP,QAAQk+G,OAAO9pH,MACpCq5Q,GAAiBztQ,QAAQ+W,SACzB02P,GAAiBztQ,QAAQ6tQ,WACzBE,KACIT,IACA2C,KAER,GACD,CACClC,GACAT,GACA2C,GACAC,KAWJ,MAAMK,GAAmB,EAAGn8Q,OAAMM,OAAMi5D,QAAO34D,UAASw/P,mBACpD,MAAM3wK,EAAQ2jL,EAAUxnQ,QAAQ5L,GAC3BoyQ,EAAY51Q,EAAIo7Q,EAAUhsQ,QAAS5L,GAAO,CAC3CM,OACAM,UACA24D,YAEA8K,EAAIuzM,EAAUhsQ,QAAS5L,EAAM,CACzBM,OACAi5D,QACA34D,UACAkJ,IAAK2lF,EAAQA,EAAM3lF,IAAM,CAAC,EAC1BswQ,UAAU,IAEVha,GACAuZ,KAER,EA6CJ,SAASyC,GAAkBtyQ,EAAKuyQ,EAAkB,CAAC,GAC/C,IAAKvyQ,EAAI9J,KAEL,OAAOlD,QAAQ2lE,KAAK,iBAAkB34D,GAE1C,MAAM,KAAE9J,EAAI,KAAEM,EAAI,MAAEkK,GAAUV,EACxBwyQ,EAA+BzjQ,OAAOC,OAAO,CAAEhP,OAAOuyQ,GACtD34Q,EAAS0vQ,EAAUxnQ,QACnB2nQ,EAAoB+D,GAA0BxtQ,GACpD,IAEI+wQ,EACAjwQ,EAHA6kF,EAAQ/rF,EAAO1D,GACfu8Q,GAAsB,EAG1B,GAAIhJ,EACE9jL,GACExxD,EAAQwxD,EAAMtvF,UACdsvF,EAAMtvF,QAAQoG,OAAOosG,SAAS5zG,MAAMqB,GACzBoK,IAAUpK,EAAO0J,IAAIU,OAASpK,EAAO0J,MAAQA,IAE1D2lF,GAAS3lF,IAAQ2lF,EAAM3lF,IACzBpG,EAAO1D,GAAQ6Y,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAG22E,GAAQ4sL,OAP3D,CAUA,GAAI/7Q,EAAM,CACN,MAAM07Q,EA3clB,SAAqBvqP,EAAS+qP,GAC1B,MAAMt+K,EAAW,IAAIwjF,kBAAiB,KAC9B4uF,EAAW7+O,KACXysE,EAASG,aACTm+K,IACJ,IAMJ,OAJAt+K,EAASE,QAAQngG,OAAOmO,SAAU,CAC9Bu1K,WAAW,EACXp9H,SAAS,IAEN25C,CACX,CA+boCu+K,CAAY3yQ,GAAK,IAAMoyQ,GAA+BzsL,KAC9EA,EAAQ8jL,EACF16P,OAAOC,OAAO,CAAE3Y,QAAS,IACdsvF,GAASA,EAAMtvF,SAAY,GAChC,CACI2J,MACAkyQ,oBAELlyQ,IAAK,CAAExJ,OAAMN,SAAUq8Q,GAAmBxjQ,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAGwjQ,GAA+B,CAAEN,mBAC1H,MAEIvsL,EAAQ6sL,EAEZ54Q,EAAO1D,GAAQyvF,EACVghL,EAAc4H,EAAiBzsQ,WAChChB,EAAepO,EAAI67Q,EAAiBzsQ,QAAS5L,GAC7Cu8Q,EAAsBxM,EAAYnlQ,GAClCiwQ,EAAe1D,GAAmB6B,GAAmBptQ,QAAS5L,GACzDu8Q,GAAwB1B,GACzBzoQ,GAAcq9E,EAAO7kF,IAGzBsuQ,KACC2B,GACDxB,GAAiBztQ,QAAQ+W,QACzBk5P,KAEMpL,EAAc4L,KACpBnE,EAAwBtsQ,QAAQiiC,IAAI7tC,IAC/Bo2Q,IAAciD,GAAiBztQ,QAAQ+W,SACxCwwP,GAAcC,EAAWF,GAA0BzjL,GAAOjrF,MAAMzH,IAC5D,MAAMy+Q,EAAsBpD,EAAWxsQ,QACvC6kQ,EAAc1zQ,GACRo7Q,EAAevsQ,QAAQiiC,IAAI7tC,GAC1Bo4Q,EAAWxsQ,SAAU,EACxB4vQ,IAAwBpD,EAAWxsQ,SACnC+tQ,IACJ,KAIPrB,EAAyB1sQ,QAAQ5L,IAChC66Q,GAAgB0B,IAClBjE,EAAyB1sQ,QAAQ5L,GAAQu8Q,EAAsBtK,EAAcvuQ,EAAQ+rF,EAAM3lF,KAAOc,GAElGtK,GAxlCZ,UAAgCmvF,OAAO,IAAE3lF,GAAK,aAAEW,EAAY,kBAAE8oQ,IACtD5E,EAAc7kQ,IAAQW,IACtBX,EAAIuC,iBAAiBknQ,EAAoBxE,EAAOE,OAASF,EAAOG,MAAOzkQ,GACvEX,EAAIuC,iBAAiB0iQ,EAAOC,KAAMvkQ,GAE1C,CAolCYiyQ,CAAqB,CACjBjtL,MAAO8jL,GAAqB9jL,EAAMtvF,QAC5BsvF,EAAMtvF,QAAQsvF,EAAMtvF,QAAQwF,OAAS,GACrC8pF,EACN8jL,kBAAmBA,GAAqB6D,GAActtQ,GACtDW,aAAcouQ,EAAgBjtQ,SArDtC,CAwDJ,CAeA,MAAMwV,IAAe,IAAAjL,cAAaowD,GAAapqE,MAAOwP,IAC9CA,IACAA,EAAE6B,iBACF7B,EAAEgxQ,WAEN,IAAI1M,EAAc,CAAC,EACnB,MAAMvsQ,EAAS0vQ,EAAUxnQ,QACzB,IAAIgqQ,EAAc1D,EAAgBxuQ,GAC9B21Q,GAAiBztQ,QAAQ8tQ,eACzBd,EAAgBhtQ,SAAU,EAC1B+tQ,MAEJ,IACI,GAAIT,GAAgC,CAChC,MAAM,OAAEloQ,EAAM,OAAEqP,SAAiB80P,GAAmBC,EAAkBlC,GAA0BpD,EAAsB8F,GAAcP,EAAoB0D,EAAqBntQ,SAC7KgsQ,EAAUhsQ,QAAUoF,EACpBi/P,EAAcj/P,EACd4kQ,EAAcv1P,CAClB,MAEI,IAAK,MAAMovE,KAAS52E,OAAOwH,OAAO3c,GAC9B,GAAI+rF,EAAO,CACP,MAAQ3lF,KAAK,KAAE9J,IAAYyvF,EACrBmtL,QAAmBzJ,GAAcC,EAAWF,GAA0BzjL,GACxEmtL,EAAW58Q,IACXqkE,EAAI4rM,EAAajwQ,EAAM48Q,EAAW58Q,IAClCm4Q,EAAevsQ,QAAQk+G,OAAO9pH,IAG1Bk4Q,EAAwBtsQ,QAAQi+G,IAAI7pH,IACpCm4Q,EAAevsQ,QAAQiiC,IAAI7tC,EAGvC,CAGJywQ,EAAcR,IACd2H,EAAUhsQ,QAAU,CAAC,EACrB+tQ,WACMpzM,EAASupM,EAAsB8F,GAAcjqQ,KAGnDisQ,EAAUhsQ,QAAUqkQ,EAChByH,GAAoByB,IACpBnJ,EAAkBtsQ,EAAQusQ,GAGtC,CACA,QACIwI,EAAe7sQ,SAAU,EACzBgtQ,EAAgBhtQ,SAAU,EAC1B+sQ,EAAe/sQ,QAAU+sQ,EAAe/sQ,QAAU,EAClD+tQ,IACJ,IACD,CACCR,GACAQ,GACAT,GACAxB,EACAxE,GACAmC,EACAD,KAuEJ,IAAAjpQ,YAAU,IAAM,KACZosQ,EAAU3sQ,SAAU,EACpBwnQ,EAAUxnQ,SAENiN,OAAOwH,OAAO+yP,EAAUxnQ,SAASrJ,SAASktF,GAAUysL,GAA+BzsL,GAAO,IAAM,GACrG,CAACysL,KACChD,KACDd,EAAWxsQ,QACPusQ,EAAevsQ,QAAQwC,MAAQ8pQ,EAAwBtsQ,QAAQwC,MAC3DqiQ,EAAcmH,EAAUhsQ,UAEpC,MAAMixQ,GAAY,CACdvD,MAAOZ,EAAW9sQ,QAClB2tQ,YAAatB,EAAersQ,QAC5B4qQ,YAAaiC,EAAe7sQ,QAC5B4tQ,YAAab,EAAe/sQ,QAC5B6tQ,QAAS5B,EAAiBjsQ,QAC1B8tQ,aAAcd,EAAgBhtQ,QAC9B+W,QAASyzP,GACHqC,EAAe7sQ,SAAW6kQ,EAAcmH,EAAUhsQ,SAClDwsQ,EAAWxsQ,SAEfw5C,GAAc,CAChB/jC,qBACA7V,UAAU,IAAA2K,cA3bd,SAAkBy8O,EAAOkqB,EAAuBC,GAC5C,IAAI3c,GAAe,EACnB,MAAM4c,EAAe/+O,EAAQ20N,IAC5BoqB,EACKpqB,EACA,CAACA,IAAQrwP,SAASvC,IACpB,MAAMi9Q,EAAoB1qK,EAASvyG,GACnCogQ,KACIgb,GAAiB6B,EAAoBj9Q,EAAO6Y,OAAOghB,KAAK75B,GAAM,GAAIi9Q,EAC5DH,EACAjkQ,OAAOwH,OAAOrgB,GAAM,MAAOg9Q,IAE3BvB,GAAez7Q,EAAK,KAE9BogQ,GAAgB4c,IAChBrD,MAEAoD,GAAmBC,GAAgBF,IACnCz7P,GAAkB27P,OAAej9Q,EAAY6yP,EAErD,GAuaoC,CAC5B+mB,GACAyB,GACA/5P,KAEJtQ,UAAU,IAAAoF,cA/Kd,SAAkB+mQ,EAAwBC,GACtC,IAAIlE,GAGJ,GAAI1mK,EAAS2qK,GACTd,GAAkB,CAAEp8Q,KAAMk9Q,GAA0BC,OADxD,CAIA,IAAI73O,EAAS43O,MAA2B,SAAUA,GAIlD,OAAQpzQ,GAAQA,GAAOsyQ,GAAkBtyQ,EAAKozQ,GAH1Cd,GAAkBc,EAAwBC,EAF9C,CAMJ,GAkKoC,CAC5B9E,EAAiBzsQ,QACjB0sQ,EAAyB1sQ,UAE7BmmP,YAAY,IAAA57O,cAvQhB,SAAoBnW,GACZozQ,EAAUxnQ,UACTqyB,EAAQj+B,GAAQA,EAAO,CAACA,IAAOuC,SAASwzJ,GAAcmmH,GAA+B9I,EAAUxnQ,QAAQmqJ,IAAY,IAE5H,GAmQwC,IACpCvuE,WAAW,IAAArxE,cAhDf,SAAmB5J,GACf,GAAIgmG,EAAShmG,GACT,OAAO6mQ,EAAUxnQ,QAAQW,GACnB0lQ,EAAcmB,EAAUxnQ,QAASwnQ,EAAUxnQ,QAAQW,GAASzC,KAC5DtN,EAAI67Q,EAAiBzsQ,QAASW,GAExC,MAAMqpQ,EAAc1D,EAAgBkB,EAAUxnQ,SACxCwxQ,EAAe3M,EAAcmF,GAC7ByC,EAAiBzsQ,QACjBgqQ,EACN,OAAOrpQ,GAAWA,EAAQ4lQ,KACpBrC,EAAsBsN,GACtBA,CACV,GAmCsC,IAClCP,UAAWzD,GACL,IAAI3kD,MAAMooD,GAAW,CACnBrgR,IAAK,CAACovB,EAAKyhG,KACP,GAAIA,KAAQzhG,EAER,OADAytP,GAAiBztQ,QAAQyhH,IAAQ,EAC1BzhG,EAAIyhG,EAEC,IAGtBwvJ,IAEJnnP,GAAU7c,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAO,CAAEgjQ,4BACxDnC,aAAaT,GACX,CAAEmE,sBAAuBxB,IACzB,CAAC,GAAK,CAAE7sP,KAAM,CACZsnP,YACAF,cACAF,eACDqB,eAAgB,CACfhB,sBACAF,yBACDuB,YACHC,mBACAzE,YACAoF,gBACAT,iBACAe,6BACAhB,0BACAK,iBACAF,iBACAC,0BACAc,sBACAN,aACAW,oBACAhB,qBAAqBjzN,IACzB,OAAOvsC,OAAOC,OAAO,CAAEwkQ,MAlUvB,SAAeC,EAAY3yQ,GACvB,MAAMirQ,EAAckC,EAAensQ,QAC7B4xQ,EAA0BzN,EAAYnlQ,GACtC6yQ,EAAwBD,EACxBnF,EAAiBzsQ,QACjBhB,EACAgrQ,EAAc1D,EAAgBkB,EAAUxnQ,QAAS2xQ,GACvD,GAAIhrK,EAASgrK,GACT,OAAO5H,GAAkBC,EAAa2H,EAAY1H,EAAa2H,EACzDhhR,EAAIihR,EAAuBF,GAC3B3yQ,GAAc,GAExB,GAAIqzB,EAAQs/O,GACR,OAAOA,EAAWtpO,QAAO,CAAC60E,EAAU9oH,IAAU6Y,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAGgwG,GAAW,CAAE,CAAC9oH,GAAO21Q,GAAkBC,EAAa51Q,EAAM61Q,EAAa4H,MAA4B,CAAC,GAEtLjF,EAAc5sQ,SAAU,EACxB,MAAMogB,GAAWykP,EAAcmF,IAAgBA,GAAgB6H,EAC/D,OAAOF,GAAcA,EAAWpL,KAC1BrC,EAAsB9jP,GACtBA,CACV,EA+SI0J,WACAtU,gBAAc6U,OAAO,IAAA9f,cAhHX,CAACkK,EAAQq9P,EAAiB,CAAC,KACrC,GAAIvE,GACA,IAAK,MAAM1pL,KAAS52E,OAAOwH,OAAO+yP,EAAUxnQ,SACxC,GAAI6jF,EAAO,CACP,MAAM,IAAE3lF,EAAG,QAAE3J,GAAYsvF,EACnB7R,EAAW05L,GAA0BxtQ,IAAQm0B,EAAQ99B,GACrDA,EAAQ,GAAG2J,IACXA,EACN,GAAI6kQ,EAAc/wL,GACd,IACIA,EAAS+/L,QAAQ,QAAQ1nP,QACzB,KACJ,CACA,MAAOv5B,GAAM,CAErB,CAGJ2jB,IACAg4P,EAAiBzsQ,QAAUyU,GAE/BxH,OAAOwH,OAAOy4P,EAA2BltQ,SAASrJ,SAASq7Q,GAAoBlsB,GAAWksB,IAAoBA,MAnDhG,GAAG5sQ,SAAQsoQ,QAAO9C,cAAaiD,UAAS92P,UAAS62P,cAAaD,kBAC5EnG,EAAUxnQ,QAAU,CAAC,EAChBoF,IACD4mQ,EAAUhsQ,QAAU,CAAC,GAEpB6tQ,IACD5B,EAAiBjsQ,QAAU,CAAC,GAE3B+W,IACDw1P,EAAevsQ,QAAU,IAAIosQ,IAC7BE,EAAwBtsQ,QAAU,IAAIosQ,IACtCI,EAAWxsQ,SAAU,GAEpB0tQ,IACDZ,EAAW9sQ,SAAU,GAEpB2tQ,IACDtB,EAAersQ,QAAU,IAAIosQ,KAE5BxB,IACDiC,EAAe7sQ,SAAU,GAExB4tQ,IACDb,EAAe/sQ,QAAU,GAE7B0sQ,EAAyB1sQ,QAAU,CAAC,EACpCksQ,EAAwBlsQ,QAAU,CAAC,EACnCmsQ,EAAensQ,QAAU,IAAIosQ,IAC7BQ,EAAc5sQ,SAAU,CAAK,EAwB7BiyQ,CAAUH,GACV/D,IAAU,GAyF8B,IAAK7vP,YAAY,IAAA3T,cAjX7D,SAAoBnW,GACZA,EACA8wQ,EAAM8G,EAAUhsQ,QAASqyB,EAAQj+B,GAAQA,EAAO,CAACA,IAGjD43Q,EAAUhsQ,QAAU,CAAC,EAEzB+tQ,IACJ,GAyWqF,IAAKtoQ,UAAU,IAAA8E,cArVpG,SAAkBnW,EAAMM,EAAO,GAAIM,GAC3B2xG,EAASvyG,GACTm8Q,GAAiBtjQ,OAAOC,OAAOD,OAAOC,OAAO,CAAE9Y,QAASslC,EAAShlC,GAC3D,CACEi5D,MAAOj5D,EACPA,KAAM,IAER,CACEA,OACAM,YACC,CAAEw/P,cAAc,KAEpBniO,EAAQj+B,KACbA,EAAKuC,SAASxF,GAAUo/Q,GAAiBtjQ,OAAOC,OAAO,CAAC,EAAG/b,MAC3D48Q,KAER,GAqU0H,IAAK3oQ,OAAQ4mQ,EAAUhsQ,SAAWw5C,GAChK;;;;;;;;;;;;;;gFAiBA,SAAS6nJ,GAAOz8I,EAAG7kD,GACf,IAAIshB,EAAI,CAAC,EACT,IAAK,IAAIsL,KAAKi4B,EAAO33C,OAAO6f,UAAU4hB,eAAe7hB,KAAK+3B,EAAGj4B,IAAM5sB,EAAEmyB,QAAQvF,GAAK,IAC9EtL,EAAEsL,GAAKi4B,EAAEj4B,IACb,GAAS,MAALi4B,GAAqD,mBAAjC33C,OAAOq0L,sBACtB,KAAItxM,EAAI,EAAb,IAAgB28B,EAAI1f,OAAOq0L,sBAAsB18I,GAAI50D,EAAI28B,EAAE5yB,OAAQ/J,IAC3D+P,EAAEmyB,QAAQvF,EAAE38B,IAAM,GAAKid,OAAO6f,UAAUy0K,qBAAqB10K,KAAK+3B,EAAGj4B,EAAE38B,MACvEqxB,EAAEsL,EAAE38B,IAAM40D,EAAEj4B,EAAE38B,IAF4B,CAItD,OAAOqxB,CACX,CAEA,MAAM6wP,IAAoB,IAAA/6F,eAAc,MACxC,SAASt3K,KACL,OAAO,IAAAsyQ,YAAWD,GACtB,CACA,SAASv1L,GAAY7rF,GACjB,IAAI,SAAEuP,EAAQ,UAAE4wQ,EAAS,OAAE7rQ,GAAWtU,EAAIshR,EAAc/wE,GAAOvwM,EAAI,CAAC,WAAY,YAAa,WAC7F,OAAQ,IAAAigE,eAAcmhN,GAAkB7kO,SAAU,CAAEzuC,MAAOqO,OAAOC,OAAOD,OAAOC,OAAO,CAAC,EAAGklQ,GAAc,CAAEnB,YAAW7rQ,YAAa/E,EACvI,CAoWA,MAAM4pB,GAAcn5B,IAChB,IAAI,KAAEsD,EAAI,MAAEy/M,EAAO3pL,GAAImoP,EAAc,OAAE/mP,EAAM,SAAE5pB,EAAQ,aAAE4wQ,EAAetP,EAAgBthQ,SAAQ,WAAE6wQ,EAAavP,EAAgB13O,OAAM,UAAEknP,EAAS,aAAExzQ,EAAY,QAAE8qB,EAAO,QAAEyB,GAAYz6B,EAAIghE,EAAOuvI,GAAOvwM,EAAI,CAAC,OAAQ,QAAS,KAAM,SAAU,WAAY,eAAgB,aAAc,YAAa,eAAgB,UAAW,YAC/T,MAAM4oF,EAAU75E,MACV,iBAAE4sQ,EAAgB,SAAE7sQ,EAAQ,SAAEuF,EAAQ,WAAEghP,EAAU,UAAE6lB,EAAS,yBAAEkE,EAAwB,kBAAEz6P,EAAmB2N,MAAM,WAAEonP,EAAU,SAAEE,EAAQ,WAAEJ,GAAcqB,gBAAgB,mBAAEhB,EAAkB,qBAAEF,GAAwBwG,WAAW,YAAErG,GAAa,iBAAEqB,EAAgB,iBAAEwB,EAAgB,SAAEM,EAAQ,UAAEvG,EAAS,mBAAE4F,GAAwBtjP,GAAW4vD,EAAQ5vD,SACrVlrB,EAAO6zQ,IAAsB,IAAAp0Q,UAAS8lQ,EAAYnlQ,GACnDpO,EAAI67Q,EAAiBzsQ,QAAS5L,GAC9B4K,GACA0zQ,GAAW,IAAAtzQ,QAAOR,GAClB+zQ,EAAkB1L,GAAUroQ,GAC5Bg0Q,EAAyBlI,GAAYC,EACrCkI,GAAW,IAAAzzQ,QAAOy0M,GAClBi/D,GAAa,IAAA1zQ,QAAOmsB,GACpBwnP,GAAmBxH,GAAmB6B,EAAmBptQ,QAAS5L,GACxEy+Q,EAAS7yQ,QAAU6zM,EACnB,MAAMs9D,EAAiB,KAAO9G,GAAe,CACzCzjL,WAAYh2F,EAAIo7Q,EAAUhsQ,QAAS5L,GACnCs2Q,WACAF,aACAF,aACAK,qBACAF,uBACAG,gBAEEoI,EAAcrxQ,IAChB,MAAM5Q,EAhCM,EAAC4Q,EAAOgxQ,IAAoBhJ,GAAYhoQ,KACvD+3B,EAAS/3B,EAAMzB,SACfw5B,EAAS/3B,EAAMzB,UAAYyB,EAAMjN,KAChCiN,EACAgxQ,GAAmBxO,EAAYxiQ,EAAMzB,OAAOtB,OACxC+C,EAAMzB,OAAO+qB,QACbtpB,EAAMzB,OAAOtB,MA0BFq0Q,CAActxQ,EAAOgxQ,GAGlC,OAFAF,EAAmB1hR,GACnB2hR,EAAS1yQ,QAAUjP,EACZA,CAAI,EAOTmiR,GAAgB,IAAA3oQ,cAAY,KACzBwoQ,GACD7C,EAAyB1I,EAAUxnQ,QAAQ5L,IAAO,GAEtD+Q,EAAS8H,OAAOwvD,eAAe,CAAEroE,OAAMquM,MAAOqwE,EAAW9yQ,SAAWijQ,EAAO,CACvE,GAAAxqM,CAAI1nE,GACA0hR,EAAmB1hR,GACnB2hR,EAAS1yQ,QAAUjP,CACvB,EACAH,IAAG,IACQ8hR,EAAS1yQ,UAEpB6yQ,EAAS7yQ,QAAQ,GACtB,CACC+yQ,EACAvL,EACAqL,EACAz+Q,EACA0+Q,EACA3tQ,EACA+qQ,KAEJ,IAAA3vQ,YAAU,IAAM,MACXgrQ,GAAmB6B,EAAmBptQ,QAAS5L,IAAS+xP,EAAW/xP,EAAK,GAC1E,CAAC+xP,EAAY/xP,EAAMg5Q,KACtB,IAAA7sQ,YAAU,KACN2yQ,GAAe,GAChB,CAACA,KAEJ,IAAA3yQ,YAAU,KACDinQ,EAAUxnQ,QAAQ5L,KACnB8+Q,IACIH,GACAN,EAAmBtO,EAAYnlQ,GACzBpO,EAAI67Q,EAAiBzsQ,QAAS5L,GAC9B4K,GAEd,IAEJ,MAAMpB,EAAQqP,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAOD,OAAOC,OAAO,CAAE9Y,QAAQ09D,GAAQpwD,EAClF,CAAE,CAAC4wQ,IA7Ca3wQ,EA6CeD,EA7CL,IAAIuiH,IAAQrkH,EAASxL,EAAM4+Q,EAAWrxQ,EAAMsiH,IAAOktJ,OA8C7E,CAAE,CAACmB,GA7Ca3wQ,IAClB,MAAM5Q,EAAOiiR,EAAWrxQ,GACxB/B,EAASxL,EAAMrD,EAAMogR,IAAiB,IA2CA,CAAE,CAACoB,GAAa,IAAIhiP,KAClDjF,GACAA,EAAOiF,GAEPk9O,EAAiBztQ,QAAQ6tQ,UACxBj9Q,EAAIq7Q,EAAiBjsQ,QAAS5L,KAC/BqkE,EAAIwzM,EAAiBjsQ,QAAS5L,GAAM,GACpC25Q,KAEA6E,GACAn9P,EAAkBrhB,EACtB,IACE,CAAE,CAACo+Q,IAAcG,EAAkB,UAAY1P,IAASrkQ,IA1D7C,IAAC+C,EA2DtB,OAAO,IAAAwlQ,gBAAekL,IAChB,IAAAc,cAAad,EAAgBz0Q,IAC7B,IAAAmzD,eAAcshN,EAAgBz0Q,EAAM,C;;;;;;;;GC9zDjC,IAAI8iB,EAAE,mBAAoB06N,QAAQA,OAAOhyC,IAAIpuL,EAAE0F,EAAE06N,OAAOhyC,IAAI,iBAAiB,MAAM/gL,EAAE3H,EAAE06N,OAAOhyC,IAAI,gBAAgB,MAAMrpM,EAAE2gB,EAAE06N,OAAOhyC,IAAI,kBAAkB,MAAM3+I,EAAE/pC,EAAE06N,OAAOhyC,IAAI,qBAAqB,MAAM7qF,EAAE79F,EAAE06N,OAAOhyC,IAAI,kBAAkB,MAAM3kH,EAAE/jE,EAAE06N,OAAOhyC,IAAI,kBAAkB,MAAM5kJ,EAAE9jC,EAAE06N,OAAOhyC,IAAI,iBAAiB,MAAM2vC,EAAEr4N,EAAE06N,OAAOhyC,IAAI,oBAAoB,MAAM7kJ,EAAE7jC,EAAE06N,OAAOhyC,IAAI,yBAAyB,MAAM1kJ,EAAEhkC,EAAE06N,OAAOhyC,IAAI,qBAAqB,MAAMz8K,EAAEjM,EAAE06N,OAAOhyC,IAAI,kBAAkB,MAAMiuC,EAAE32N,EACpf06N,OAAOhyC,IAAI,uBAAuB,MAAM5gL,EAAE9H,EAAE06N,OAAOhyC,IAAI,cAAc,MAAM/nL,EAAEX,EAAE06N,OAAOhyC,IAAI,cAAc,MAAMh+F,EAAE1qF,EAAE06N,OAAOhyC,IAAI,eAAe,MAAM6P,EAAEv4L,EAAE06N,OAAOhyC,IAAI,qBAAqB,MAAM7nJ,EAAE7gC,EAAE06N,OAAOhyC,IAAI,mBAAmB,MAAM/nJ,EAAE3gC,EAAE06N,OAAOhyC,IAAI,eAAe,MAClQ,SAASzkJ,EAAE50D,GAAG,GAAG,iBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAI4uP,EAAE5uP,EAAEqjR,SAAS,OAAOz0B,GAAG,KAAK3jO,EAAE,OAAOjrB,EAAEA,EAAE2E,MAAQ,KAAKqkP,EAAE,KAAKx0L,EAAE,KAAKxkD,EAAE,KAAKw+G,EAAE,KAAK9zD,EAAE,KAAK99B,EAAE,OAAO58B,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAEqjR,UAAY,KAAK5uN,EAAE,KAAKE,EAAE,KAAKrjC,EAAE,KAAKmH,EAAE,KAAKi8D,EAAE,OAAO10F,EAAE,QAAQ,OAAO4uP,GAAG,KAAKt2N,EAAE,OAAOs2N,EAAE,CAAC,CAAC,SAASzvO,EAAEnf,GAAG,OAAO40D,EAAE50D,KAAKw0D,CAAC,CAAC70D,EAAQ2jR,UAAUt6B,EAAErpP,EAAQ4jR,eAAe/uN,EAAE70D,EAAQ6jR,gBAAgB/uN,EAAE90D,EAAQ8jR,gBAAgB/uL,EAAE/0F,EAAQ85G,QAAQxuF,EAAEtrB,EAAQs9P,WAAWtoM,EAAEh1D,EAAQ+jR,SAAS1zQ,EAAErQ,EAAQgkR,KAAKryP,EAAE3xB,EAAQu9P,KAAKzkO,EAAE94B,EAAQikR,OAAOtrP,EAChf34B,EAAQkkR,SAASr1J,EAAE7uH,EAAQmkR,WAAWppN,EAAE/6D,EAAQokR,SAASnnP,EAAEj9B,EAAQqkR,YAAY,SAAShkR,GAAG,OAAOmf,EAAEnf,IAAI40D,EAAE50D,KAAKgpP,CAAC,EAAErpP,EAAQskR,iBAAiB9kQ,EAAExf,EAAQukR,kBAAkB,SAASlkR,GAAG,OAAO40D,EAAE50D,KAAKy0D,CAAC,EAAE90D,EAAQwkR,kBAAkB,SAASnkR,GAAG,OAAO40D,EAAE50D,KAAK00F,CAAC,EAAE/0F,EAAQykR,UAAU,SAASpkR,GAAG,MAAM,iBAAkBA,GAAG,OAAOA,GAAGA,EAAEqjR,WAAWp4P,CAAC,EAAEtrB,EAAQ0kR,aAAa,SAASrkR,GAAG,OAAO40D,EAAE50D,KAAK20D,CAAC,EAAEh1D,EAAQ2kR,WAAW,SAAStkR,GAAG,OAAO40D,EAAE50D,KAAKgQ,CAAC,EAAErQ,EAAQ4kR,OAAO,SAASvkR,GAAG,OAAO40D,EAAE50D,KAAKsxB,CAAC,EAC1d3xB,EAAQq9P,OAAO,SAASh9P,GAAG,OAAO40D,EAAE50D,KAAKy4B,CAAC,EAAE94B,EAAQ6kR,SAAS,SAASxkR,GAAG,OAAO40D,EAAE50D,KAAKs4B,CAAC,EAAE34B,EAAQ8kR,WAAW,SAASzkR,GAAG,OAAO40D,EAAE50D,KAAKwuH,CAAC,EAAE7uH,EAAQ+kR,aAAa,SAAS1kR,GAAG,OAAO40D,EAAE50D,KAAK06D,CAAC,EAAE/6D,EAAQglR,WAAW,SAAS3kR,GAAG,OAAO40D,EAAE50D,KAAK48B,CAAC,EAC1Oj9B,EAAQilR,mBAAmB,SAAS5kR,GAAG,MAAM,iBAAkBA,GAAG,mBAAoBA,GAAGA,IAAIgQ,GAAGhQ,IAAIw0D,GAAGx0D,IAAIwuH,GAAGxuH,IAAI06D,GAAG16D,IAAI48B,GAAG58B,IAAIsnP,GAAG,iBAAkBtnP,GAAG,OAAOA,IAAIA,EAAEqjR,WAAW/xP,GAAGtxB,EAAEqjR,WAAW5qP,GAAGz4B,EAAEqjR,WAAW3uL,GAAG10F,EAAEqjR,WAAW5uN,GAAGz0D,EAAEqjR,WAAW1uN,GAAG30D,EAAEqjR,WAAWn6D,GAAGlpN,EAAEqjR,WAAW7xN,GAAGxxD,EAAEqjR,WAAW/xN,GAAGtxD,EAAEqjR,WAAWhoK,EAAE,EAAE17G,EAAQklR,OAAOjwN,C,8BCXjUh1D,EAAOD,QAAU,EAAjB,K,2GCFSmlR,EAAiC,kBAAoB,MCIhE,IAAIC,EAJJ,SAA0Bn6M,GACxBA,GACF,EAQWo6M,EAAW,WACpB,OAAOD,CACT,ECuDA,IAAIE,EAAgB,CAClBC,OAAQ,WAAmB,EAC3BrkR,IAAK,WACH,MAAO,EACT,GAEK,SAASskR,EAAmB/xQ,EAAOgyQ,GACxC,IAAIC,EACAnuB,EAAY+tB,EAWhB,SAASK,IACHC,EAAaC,eACfD,EAAaC,eAEjB,CAMA,SAASC,IACFJ,IACHA,EAAcD,EAAYA,EAAUM,aAAaJ,GAAuBlyQ,EAAM4pC,UAAUsoO,GACxFpuB,EAhGN,WACE,IAAI6tB,EAAQC,IACRvtI,EAAQ,KACRz1G,EAAO,KACX,MAAO,CACL+xE,MAAO,WACL0jC,EAAQ,KACRz1G,EAAO,IACT,EACAkjP,OAAQ,WACNH,GAAM,WAGJ,IAFA,IAAIn2N,EAAW6oF,EAER7oF,GACLA,EAASgc,WACThc,EAAWA,EAAS3R,IAExB,GACF,EACAp8C,IAAK,WAIH,IAHA,IAAIq2P,EAAY,GACZtoM,EAAW6oF,EAER7oF,GACLsoM,EAAUvzP,KAAKirD,GACfA,EAAWA,EAAS3R,KAGtB,OAAOi6M,CACT,EACAl6M,UAAW,SAAmB4tB,GAC5B,IAAI+6M,GAAe,EACf/2N,EAAW5sB,EAAO,CACpB4oC,SAAUA,EACV3tB,KAAM,KACNy2D,KAAM1xE,GASR,OANI4sB,EAAS8kD,KACX9kD,EAAS8kD,KAAKz2D,KAAO2R,EAErB6oF,EAAQ7oF,EAGH,WACA+2N,GAA0B,OAAVluI,IACrBkuI,GAAe,EAEX/2N,EAAS3R,KACX2R,EAAS3R,KAAKy2D,KAAO9kD,EAAS8kD,KAE9B1xE,EAAO4sB,EAAS8kD,KAGd9kD,EAAS8kD,KACX9kD,EAAS8kD,KAAKz2D,KAAO2R,EAAS3R,KAE9Bw6F,EAAQ7oF,EAAS3R,KAErB,CACF,EAEJ,CAkCkB2oO,GAEhB,CAWA,IAAIL,EAAe,CACjBG,aApCF,SAAsB92N,GAEpB,OADA62N,IACOvuB,EAAUl6M,UAAU4R,EAC7B,EAkCEi3N,iBAhCF,WACE3uB,EAAUguB,QACZ,EA+BEI,oBAAqBA,EACrBK,aAxBF,WACE,OAAO3uK,QAAQquK,EACjB,EAuBEI,aAAcA,EACdK,eAfF,WACMT,IACFA,IACAA,OAAcjhR,EACd8yP,EAAUnjJ,QACVmjJ,EAAY+tB,EAEhB,EASEc,aAAc,WACZ,OAAO7uB,CACT,GAEF,OAAOquB,CACT,CCpHO,IAAIv5E,EAA8C,oBAAX1pM,aAAqD,IAApBA,OAAOmO,eAAqE,IAAlCnO,OAAOmO,SAASuwD,cAAgC,EAAA+wB,gBAAkB,EAAAvhF,UC2C3L,QA9CA,SAAkBsC,GAChB,IAAIM,EAAQN,EAAKM,MACb8sB,EAAUptB,EAAKotB,QACf5vB,EAAWwC,EAAKxC,SAChB01Q,GAAe,IAAAC,UAAQ,WACzB,IAAIV,EAAeJ,EAAmB/xQ,GACtC,MAAO,CACLA,MAAOA,EACPmyQ,aAAcA,EAElB,GAAG,CAACnyQ,IACA8yQ,GAAgB,IAAAD,UAAQ,WAC1B,OAAO7yQ,EAAME,UACf,GAAG,CAACF,IACJ44L,GAA0B,WACxB,IAAIu5E,EAAeS,EAAaT,aAQhC,OAPAA,EAAaC,cAAgBD,EAAaM,iBAC1CN,EAAaE,eAETS,IAAkB9yQ,EAAME,YAC1BiyQ,EAAaM,mBAGR,WACLN,EAAaO,iBACbP,EAAaC,cAAgB,IAC/B,CACF,GAAG,CAACQ,EAAcE,IAClB,IAAIC,EAAUjmP,GAAW4kP,EACzB,OAAoB,kBAAoBqB,EAAQ7oO,SAAU,CACxDzuC,MAAOm3Q,GACN11Q,EACL,E,qDCpCI02D,EAAY,CAAC,iBAAkB,aAAc,kBAAmB,2BAA4B,WAAY,UAAW,aAAc,WACjIo/M,EAAa,CAAC,0BAQdC,EAAc,GACdC,EAAwB,CAAC,KAAM,MAUnC,SAASC,EAAyB32Q,EAAOitC,GACvC,IAAI2pO,EAAc52Q,EAAM,GACxB,MAAO,CAACitC,EAAOjsC,QAAS41Q,EAAc,EACxC,CAEA,SAASC,EAAkCC,EAAYC,EAAYrtL,GACjE0yG,GAA0B,WACxB,OAAO06E,EAAW9lN,WAAM,EAAQ+lN,EAClC,GAAGrtL,EACL,CAEA,SAASstL,EAAoBC,EAAkBC,EAAgBC,EAAmBC,EAAcC,EAAkBC,EAA2BrB,GAE3IgB,EAAiB52Q,QAAU+2Q,EAC3BF,EAAe72Q,QAAUg3Q,EACzBF,EAAkB92Q,SAAU,EAExBi3Q,EAA0Bj3Q,UAC5Bi3Q,EAA0Bj3Q,QAAU,KACpC41Q,IAEJ,CAEA,SAASsB,EAAiBC,EAA0Bh0Q,EAAOmyQ,EAAc8B,EAAoBR,EAAkBC,EAAgBC,EAAmBG,EAA2BrB,EAAkByB,GAE7L,GAAKF,EAAL,CAEA,IAAIv5E,GAAiB,EACjB05E,EAAkB,KAElBC,EAAkB,WACpB,IAAI35E,EAAJ,CAMA,IACI45E,EAAermR,EADfsmR,EAAmBt0Q,EAAME,WAG7B,IAGEm0Q,EAAgBJ,EAAmBK,EAAkBb,EAAiB52Q,QACxE,CAAE,MAAOD,GACP5O,EAAQ4O,EACRu3Q,EAAkBv3Q,CACpB,CAEK5O,IACHmmR,EAAkB,MAIhBE,IAAkBX,EAAe72Q,QAC9B82Q,EAAkB92Q,SACrB41Q,KAOFiB,EAAe72Q,QAAUw3Q,EACzBP,EAA0Bj3Q,QAAUw3Q,EACpCV,EAAkB92Q,SAAU,EAE5Bq3Q,EAA6B,CAC3B3iR,KAAM,gBACNiM,QAAS,CACPxP,MAAOA,KAnCb,CAuCF,EAGAmkR,EAAaC,cAAgBgC,EAC7BjC,EAAaE,eAGb+B,IAiBA,OAfyB,WAKvB,GAJA35E,GAAiB,EACjB03E,EAAaO,iBACbP,EAAaC,cAAgB,KAEzB+B,EAMF,MAAMA,CAEV,CAvEqC,CA0EvC,CAEA,IAAII,EAAmB,WACrB,MAAO,CAAC,KAAM,EAChB,EAEe,SAASC,EAexBC,EACA/0Q,QACe,IAATA,IACFA,EAAO,CAAC,GAGV,IAAI0a,EAAQ1a,EACRg1Q,EAAuBt6P,EAAMu6P,eAC7BA,OAA0C,IAAzBD,EAAkC,SAAUzjR,GAC/D,MAAO,mBAAqBA,EAAO,GACrC,EAAIyjR,EACAE,EAAmBx6P,EAAMy6P,WACzBA,OAAkC,IAArBD,EAA8B,kBAAoBA,EAC/DE,EAAwB16P,EAAM26P,gBAC9BA,OAA4C,IAA1BD,OAAmC9jR,EAAY8jR,EACjEE,EAAwB56P,EAAM45P,yBAC9BA,OAAqD,IAA1BgB,GAA0CA,EACrEC,EAAiB76P,EAAM86P,SACvBA,OAA8B,IAAnBD,EAA4B,QAAUA,EAGjDE,GAFgB/6P,EAAMg7P,QAEHh7P,EAAMuK,YACzBA,OAAkC,IAArBwwP,GAAsCA,EACnDE,EAAgBj7P,EAAM0S,QACtBA,OAA4B,IAAlBuoP,EAA2B3D,EAAoB2D,EACzDC,GAAiB,OAA8Bl7P,EAAOw5C,GAkBtDm/M,EAAUjmP,EACd,OAAO,SAAyByoP,GAK9B,IAAIC,EAAuBD,EAAiBjwP,aAAeiwP,EAAiBtkR,MAAQ,YAChFq0B,EAAcqvP,EAAea,GAE7BC,GAAyB,OAAS,CAAC,EAAGH,EAAgB,CACxDX,eAAgBA,EAChBE,WAAYA,EACZE,gBAAiBA,EACjBf,yBAA0BA,EAC1BkB,SAAUA,EACV5vP,YAAaA,EACbkwP,qBAAsBA,EACtBD,iBAAkBA,IAGhBG,EAAOJ,EAAeI,KAS1B,IAAIC,EAAkBD,EAAO,EAAA7C,QAAU,SAAUr7M,GAC/C,OAAOA,GACT,EAEA,SAASo+M,EAAgBn7Q,GACvB,IAAIo7Q,GAAW,IAAAhD,UAAQ,WAIrB,IAAIiD,EAAyBr7Q,EAAMq7Q,uBAC/BlC,GAAe,OAA8Bn5Q,EAAOu4Q,GAExD,MAAO,CAACv4Q,EAAMqyB,QAASgpP,EAAwBlC,EACjD,GAAG,CAACn5Q,IACAs7Q,EAAeF,EAAS,GACxBC,EAAyBD,EAAS,GAClCjC,EAAeiC,EAAS,GAExBG,GAAe,IAAAnD,UAAQ,WAGzB,OAAOkD,GAAgBA,EAAa5uD,WAAY,IAAA2pD,mBAAgC,kBAAoBiF,EAAa5uD,SAAU,OAAS4uD,EAAehD,CACrJ,GAAG,CAACgD,EAAchD,IAEdH,GAAe,IAAA5D,YAAWgH,GAI1BC,EAAwBryK,QAAQnpG,EAAMuF,QAAU4jG,QAAQnpG,EAAMuF,MAAME,WAAa0jG,QAAQnpG,EAAMuF,MAAM9D,UAC3E0nG,QAAQgvK,IAAiBhvK,QAAQgvK,EAAa5yQ,OAO5E,IAAIA,EAAQi2Q,EAAwBx7Q,EAAMuF,MAAQ4yQ,EAAa5yQ,MAC3Di0Q,GAAqB,IAAApB,UAAQ,WAG/B,OA/CJ,SAA6B7yQ,GAC3B,OAAOy0Q,EAAgBz0Q,EAAM9D,SAAUu5Q,EACzC,CA6CWS,CAAoBl2Q,EAC7B,GAAG,CAACA,IAEAm2Q,GAAY,IAAAtD,UAAQ,WACtB,IAAKmB,EAA0B,OAAOd,EAKtC,IAAIf,EAAeJ,EAAmB/xQ,EAAOi2Q,EAAwB,KAAOrD,EAAaT,cASrFM,EAAmBN,EAAaM,iBAAiBt8J,KAAKg8J,GAC1D,MAAO,CAACA,EAAcM,EACxB,GAAG,CAACzyQ,EAAOi2Q,EAAuBrD,IAC9BT,EAAegE,EAAU,GACzB1D,EAAmB0D,EAAU,GAI7BC,GAAyB,IAAAvD,UAAQ,WACnC,OAAIoD,EAIKrD,GAKF,OAAS,CAAC,EAAGA,EAAc,CAChCT,aAAcA,GAElB,GAAG,CAAC8D,EAAuBrD,EAAcT,IAGrCkE,GAAc,IAAAz6G,YAAWu3G,EAA0BF,EAAasB,GAEhE+B,EADeD,EAAY,GACc,GACzCnC,EAA+BmC,EAAY,GAG/C,GAAIC,GAA6BA,EAA0BtoR,MACzD,MAAMsoR,EAA0BtoR,MAIlC,IAAI0lR,GAAiB,IAAAz3Q,UACjBw3Q,GAAmB,IAAAx3Q,QAAO23Q,GAC1BE,GAA4B,IAAA73Q,UAC5B03Q,GAAoB,IAAA13Q,SAAO,GAC3B43Q,EAAmB8B,GAAgB,WAOrC,OAAI7B,EAA0Bj3Q,SAAW+2Q,IAAiBH,EAAiB52Q,QAClEi3Q,EAA0Bj3Q,QAO5Bo3Q,EAAmBj0Q,EAAME,WAAY0zQ,EAC9C,GAAG,CAAC5zQ,EAAOs2Q,EAA2B1C,IAItCP,EAAkCG,EAAqB,CAACC,EAAkBC,EAAgBC,EAAmBC,EAAcC,EAAkBC,EAA2BrB,IAExKY,EAAkCU,EAAkB,CAACC,EAA0Bh0Q,EAAOmyQ,EAAc8B,EAAoBR,EAAkBC,EAAgBC,EAAmBG,EAA2BrB,EAAkByB,GAA+B,CAACl0Q,EAAOmyQ,EAAc8B,IAG/Q,IAAIsC,GAA2B,IAAA1D,UAAQ,WACrC,OAAoB,kBAAoB0C,GAAkB,OAAS,CAAC,EAAG1B,EAAkB,CACvF94Q,IAAK+6Q,IAET,GAAG,CAACA,EAAwBP,EAAkB1B,IAe9C,OAZoB,IAAAhB,UAAQ,WAC1B,OAAImB,EAIkB,kBAAoBgC,EAAa9rO,SAAU,CAC7DzuC,MAAO26Q,GACNG,GAGEA,CACT,GAAG,CAACP,EAAcO,EAA0BH,GAE9C,CAGA,IAAII,EAAUd,EAAO,SAAWE,GAAmBA,EAInD,GAHAY,EAAQjB,iBAAmBA,EAC3BiB,EAAQlxP,YAAcswP,EAAgBtwP,YAAcA,EAEhDX,EAAY,CACd,IAAI8xP,EAAY,gBAAiB,SAA2Bh8Q,EAAOM,GACjE,OAAoB,kBAAoBy7Q,GAAS,OAAS,CAAC,EAAG/7Q,EAAO,CACnEq7Q,uBAAwB/6Q,IAE5B,IAGA,OAFA07Q,EAAUnxP,YAAcA,EACxBmxP,EAAUlB,iBAAmBA,EACtB,IAAakB,EAAWlB,EACjC,CAEA,OAAO,IAAaiB,EAASjB,EAC/B,CACF,CCxXA,SAAS1mN,EAAGzQ,EAAGF,GACb,OAAIE,IAAMF,EACK,IAANE,GAAiB,IAANF,GAAW,EAAIE,GAAM,EAAIF,EAEpCE,GAAMA,GAAKF,GAAMA,CAE5B,CAEe,SAAS4Q,EAAaC,EAAMC,GACzC,GAAIH,EAAGE,EAAMC,GAAO,OAAO,EAE3B,GAAoB,iBAATD,GAA8B,OAATA,GAAiC,iBAATC,GAA8B,OAATA,EAC3E,OAAO,EAGT,IAAIC,EAAQnlD,OAAOghB,KAAKikC,GACpBG,EAAQplD,OAAOghB,KAAKkkC,GACxB,GAAIC,EAAMr4D,SAAWs4D,EAAMt4D,OAAQ,OAAO,EAE1C,IAAK,IAAI/J,EAAI,EAAGA,EAAIoiE,EAAMr4D,OAAQ/J,IAChC,IAAKid,OAAO6f,UAAU4hB,eAAe7hB,KAAKslC,EAAMC,EAAMpiE,MAAQgiE,EAAGE,EAAKE,EAAMpiE,IAAKmiE,EAAKC,EAAMpiE,KAC1F,OAAO,EAIX,OAAO,CACT,CCzBO,SAAS6pR,EAAuBC,GACrC,OAAO,SAA8Bz6Q,EAAU9K,GAC7C,IAAIwlR,EAAWD,EAAYz6Q,EAAU9K,GAErC,SAASylR,IACP,OAAOD,CACT,CAGA,OADAC,EAAiBC,mBAAoB,EAC9BD,CACT,CACF,CAQO,SAASE,EAAqBC,GACnC,OAAwC,OAAjCA,EAAWF,wBAA+D9lR,IAAjCgmR,EAAWF,kBAAkClzK,QAAQozK,EAAWF,mBAA2C,IAAtBE,EAAWpgR,MAClJ,CAaO,SAASqgR,EAAmBD,EAAYnC,GAC7C,OAAO,SAA2B34Q,EAAUwD,GACxBA,EAAK4lB,YAAvB,IAEI4xP,EAAQ,SAAyBC,EAAiBC,GACpD,OAAOF,EAAMJ,kBAAoBI,EAAMF,WAAWG,EAAiBC,GAAYF,EAAMF,WAAWG,EAClG,EAoBA,OAjBAD,EAAMJ,mBAAoB,EAE1BI,EAAMF,WAAa,SAAgCG,EAAiBC,GAClEF,EAAMF,WAAaA,EACnBE,EAAMJ,kBAAoBC,EAAqBC,GAC/C,IAAIv8Q,EAAQy8Q,EAAMC,EAAiBC,GASnC,MAPqB,mBAAV38Q,IACTy8Q,EAAMF,WAAav8Q,EACnBy8Q,EAAMJ,kBAAoBC,EAAqBt8Q,GAC/CA,EAAQy8Q,EAAMC,EAAiBC,IAI1B38Q,CACT,EAEOy8Q,CACT,CACF,CC9CA,SAfO,SAA0CG,GAC/C,MAAqC,mBAAvBA,EAAoCJ,EAAmBI,QAA4CrmR,CACnH,EACO,SAAyCqmR,GAC9C,OAAQA,OAIHrmR,EAJwB0lR,GAAuB,SAAUx6Q,GAC5D,MAAO,CACLA,SAAUA,EAEd,GACF,EACO,SAAwCm7Q,GAC7C,OAAOA,GAAoD,iBAAvBA,EAAkCX,GAAuB,SAAUx6Q,GACrG,OCdW,SAA4Bo7Q,EAAgBp7Q,GACzD,IAAIq7Q,EAAsB,CAAC,EAEvBC,EAAQ,SAAe34Q,GACzB,IAAI44Q,EAAgBH,EAAez4Q,GAEN,mBAAlB44Q,IACTF,EAAoB14Q,GAAO,WACzB,OAAO3C,EAASu7Q,EAAcjqN,WAAM,EAAQj1B,WAC9C,EAEJ,EAEA,IAAK,IAAI15B,KAAOy4Q,EACdE,EAAM34Q,GAGR,OAAO04Q,CACT,CDJWG,CAAmBL,EAAoBn7Q,EAChD,SAAKlL,CACP,GEPA,SARO,SAAuC2mR,GAC5C,MAAkC,mBAApBA,EAAiCV,EAAmBU,QAAsC3mR,CAC1G,EACO,SAAsC2mR,GAC3C,OAAQA,OAEH3mR,EAFqB0lR,GAAuB,WAC/C,MAAO,CAAC,CACV,GACF,GCNO,SAASkB,EAAkBC,EAAYC,EAAeV,GAC3D,OAAO,OAAS,CAAC,EAAGA,EAAUS,EAAYC,EAC5C,CA+BA,SARO,SAAkCC,GACvC,MAA6B,mBAAfA,EAvBT,SAA4BA,GACjC,OAAO,SAA6B77Q,EAAUwD,GAC1BA,EAAK4lB,YAAvB,IAII0yP,EAHAtC,EAAOh2Q,EAAKg2Q,KACZuC,EAAsBv4Q,EAAKu4Q,oBAC3BC,GAAa,EAEjB,OAAO,SAAyBL,EAAYC,EAAeV,GACzD,IAAIe,EAAkBJ,EAAWF,EAAYC,EAAeV,GAU5D,OARIc,EACGxC,GAASuC,EAAoBE,EAAiBH,KAAcA,EAAcG,IAE/ED,GAAa,EACbF,EAAcG,GAITH,CACT,CACF,CACF,CAE4CI,CAAmBL,QAAc/mR,CAC7E,EACO,SAAiC+mR,GACtC,OAAQA,OAEJ/mR,EAFiB,WACnB,OAAO4mR,CACT,CACF,GCjCA,IAAI,EAAY,CAAC,sBAAuB,yBAA0B,kBAE3D,SAASS,EAAgCV,EAAiBN,EAAoBU,EAAY77Q,GAC/F,OAAO,SAAkCM,EAAO46Q,GAC9C,OAAOW,EAAWJ,EAAgBn7Q,EAAO46Q,GAAWC,EAAmBn7Q,EAAUk7Q,GAAWA,EAC9F,CACF,CACO,SAASkB,EAA8BX,EAAiBN,EAAoBU,EAAY77Q,EAAUwD,GACvG,IAIIlD,EACA46Q,EACAS,EACAC,EACAE,EARAO,EAAiB74Q,EAAK64Q,eACtBC,EAAmB94Q,EAAK84Q,iBACxBC,EAAqB/4Q,EAAK+4Q,mBAC1BC,GAAoB,EAuCxB,SAASC,EAAsBpnN,EAAWqnN,GACxC,IARIC,EACAC,EAOAC,GAAgBP,EAAiBI,EAAcxB,GAC/C4B,GAAgBT,EAAehnN,EAAW/0D,EAAOo8Q,EAAcxB,GAGnE,OAFA56Q,EAAQ+0D,EACR6lN,EAAWwB,EACPG,GAAgBC,GA1BpBnB,EAAaF,EAAgBn7Q,EAAO46Q,GAChCC,EAAmBP,oBAAmBgB,EAAgBT,EAAmBn7Q,EAAUk7Q,IACvFY,EAAcD,EAAWF,EAAYC,EAAeV,IAyBhD2B,GApBApB,EAAgBb,oBAAmBe,EAAaF,EAAgBn7Q,EAAO46Q,IACvEC,EAAmBP,oBAAmBgB,EAAgBT,EAAmBn7Q,EAAUk7Q,IACvFY,EAAcD,EAAWF,EAAYC,EAAeV,IAmBhD4B,GAdAH,EAAiBlB,EAAgBn7Q,EAAO46Q,GACxC0B,GAAqBL,EAAmBI,EAAgBhB,GAC5DA,EAAagB,EACTC,IAAmBd,EAAcD,EAAWF,EAAYC,EAAeV,IACpEY,GAWAA,CACT,CAEA,OAAO,SAAgCzmN,EAAWqnN,GAChD,OAAOF,EAAoBC,EAAsBpnN,EAAWqnN,IAzC5Df,EAAaF,EAFbn7Q,EA2C4F+0D,EA1C5F6lN,EA0CuGwB,GAxCvGd,EAAgBT,EAAmBn7Q,EAAUk7Q,GAC7CY,EAAcD,EAAWF,EAAYC,EAAeV,GACpDsB,GAAoB,EACbV,EAsCT,CACF,CAMe,SAASiB,EAA0B/8Q,EAAUke,GAC1D,IAAI8+P,EAAsB9+P,EAAM8+P,oBAC5BC,EAAyB/+P,EAAM++P,uBAC/BC,EAAiBh/P,EAAMg/P,eACvBhoR,GAAU,OAA8BgpB,EAAO,GAE/Cu9P,EAAkBuB,EAAoBh9Q,EAAU9K,GAChDimR,EAAqB8B,EAAuBj9Q,EAAU9K,GACtD2mR,EAAaqB,EAAel9Q,EAAU9K,GAO1C,OADsBA,EAAQskR,KAAO4C,EAAgCD,GAC9CV,EAAiBN,EAAoBU,EAAY77Q,EAAU9K,EACpF,CCrFA,IAAI,EAAY,CAAC,OAAQ,iBAAkB,mBAAoB,qBAAsB,uBAwBrF,SAAS0S,EAAMg9G,EAAKu4J,EAAWpoR,GAC7B,IAAK,IAAIpE,EAAIwsR,EAAUziR,OAAS,EAAG/J,GAAK,EAAGA,IAAK,CAC9C,IAAIowB,EAASo8P,EAAUxsR,GAAGi0H,GAC1B,GAAI7jG,EAAQ,OAAOA,CACrB,CAEA,OAAO,SAAU/gB,EAAU9K,GACzB,MAAM,IAAIO,MAAM,gCAAkCmvH,EAAM,QAAU7vH,EAAO,uCAAyCG,EAAQokR,qBAAuB,IACnJ,CACF,CAEA,SAAS8D,EAAY1sR,EAAG2wB,GACtB,OAAO3wB,IAAM2wB,CACf,CAIO,SAASg8P,EAAcC,GAC5B,IAAI95Q,OAAiB,IAAV85Q,EAAmB,CAAC,EAAIA,EAC/BC,EAAkB/5Q,EAAKg6Q,WACvBA,OAAiC,IAApBD,EAA6BjF,EAAkBiF,EAC5DE,EAAwBj6Q,EAAKk6Q,yBAC7BA,OAAqD,IAA1BD,EAAmC,EAAkCA,EAChGE,EAAwBn6Q,EAAKo6Q,4BAC7BA,OAAwD,IAA1BD,EAAmC,EAAqCA,EACtGE,EAAwBr6Q,EAAKs6Q,oBAC7BA,OAAgD,IAA1BD,EAAmC,EAA6BA,EACtFE,EAAuBv6Q,EAAK+0Q,gBAC5BA,OAA2C,IAAzBwF,EAAkC,EAAyBA,EAEjF,OAAO,SAAiBtC,EAAiBN,EAAoBU,EAAY39P,QACzD,IAAVA,IACFA,EAAQ,CAAC,GAGX,IAAIE,EAAQF,EACR8/P,EAAa5/P,EAAMo7P,KACnBA,OAAsB,IAAfwE,GAA+BA,EACtCC,EAAuB7/P,EAAMi+P,eAC7BA,OAA0C,IAAzB4B,EAAkCb,EAAca,EACjEC,EAAwB9/P,EAAMk+P,iBAC9BA,OAA6C,IAA1B4B,EAAmCtrN,EAAesrN,EACrEC,EAAwB//P,EAAMm+P,mBAC9BA,OAA+C,IAA1B4B,EAAmCvrN,EAAeurN,EACvEC,EAAwBhgQ,EAAM29P,oBAC9BA,OAAgD,IAA1BqC,EAAmCxrN,EAAewrN,EACxEC,GAAe,OAA8BjgQ,EAAO,GAEpD4+P,EAAsBp1Q,EAAM6zQ,EAAiBiC,EAA0B,mBACvET,EAAyBr1Q,EAAMuzQ,EAAoByC,EAA6B,sBAChFV,EAAiBt1Q,EAAMi0Q,EAAYiC,EAAqB,cAC5D,OAAON,EAAWjF,GAAiB,OAAS,CAE1CI,WAAY,UAEZF,eAAgB,SAAwB1jR,GACtC,MAAO,WAAaA,EAAO,GAC7B,EAEA+iR,yBAA0BpwK,QAAQ+zK,GAElCuB,oBAAqBA,EACrBC,uBAAwBA,EACxBC,eAAgBA,EAChB1D,KAAMA,EACN6C,eAAgBA,EAChBC,iBAAkBA,EAClBC,mBAAoBA,EACpBR,oBAAqBA,GACpBsC,GACL,CACF,CACA,QAA4BhB,IC/ErB,SAAS,IAOd,OANmB,IAAAvK,YAAW0C,EAOhC,CCjBO,SAAS8I,EAAgB1tP,QACd,IAAZA,IACFA,EAAU4kP,GAGZ,IAAI+I,EAAkB3tP,IAAY4kP,EAAoB,EAAyB,WAC7E,OAAO,IAAA1C,YAAWliP,EACpB,EACA,OAAO,WAIL,OAHuB2tP,IACMz6Q,KAG/B,CACF,CAiBO,IAAI,EAAwBw6Q,IChC5B,SAASE,EAAmB5tP,QACjB,IAAZA,IACFA,EAAU4kP,GAGZ,IAAIzxQ,EAAW6sB,IAAY4kP,EAAoB,EAAkB8I,EAAgB1tP,GACjF,OAAO,WAEL,OADY7sB,IACC/D,QACf,CACF,CAuBO,IAAIC,EAA2Bu+Q,ICpClCC,EAAc,SAAqB/tR,EAAG2wB,GACxC,OAAO3wB,IAAM2wB,CACf,EAyFO,SAASq9P,EAAmB9tP,QACjB,IAAZA,IACFA,EAAU4kP,GAGZ,IAAI+I,EAAkB3tP,IAAY4kP,EAAoB,EAAyB,WAC7E,OAAO,IAAA1C,YAAWliP,EACpB,EACA,OAAO,SAAqBq1E,EAAU04K,QACjB,IAAfA,IACFA,EAAaF,GAiBf,IAAIG,EAAmBL,IAInBM,EAtHR,SAA6C54K,EAAU04K,EAAY76Q,EAAOg7Q,GACxE,IAaID,EAVAE,GAHc,IAAAr/G,aAAW,SAAUn6G,GACrC,OAAOA,EAAI,CACb,GAAG,GAC2B,GAE1B0wN,GAAe,IAAAU,UAAQ,WACzB,OAAOd,EAAmB/xQ,EAAOg7Q,EACnC,GAAG,CAACh7Q,EAAOg7Q,IACPE,GAAkC,IAAAj/Q,UAClCk/Q,GAAiB,IAAAl/Q,UACjBq4Q,GAAmB,IAAAr4Q,UACnBm/Q,GAAsB,IAAAn/Q,UACtBo/Q,EAAar7Q,EAAME,WAGvB,IACE,GAAIiiG,IAAag5K,EAAet+Q,SAAWw+Q,IAAe/G,EAAiBz3Q,SAAWq+Q,EAAgCr+Q,QAAS,CAC7H,IAAIy+Q,EAAmBn5K,EAASk5K,GAK9BN,OAHkC/pR,IAAhCoqR,EAAoBv+Q,SAA0Bg+Q,EAAWS,EAAkBF,EAAoBv+Q,SAGjFu+Q,EAAoBv+Q,QAFpBy+Q,CAIpB,MACEP,EAAgBK,EAAoBv+Q,OAExC,CAAE,MAAO5H,GAKP,MAJIimR,EAAgCr+Q,UAClC5H,EAAIpD,SAAW,4DAA8DqpR,EAAgCr+Q,QAAQ0mD,MAAQ,QAGzHtuD,CACR,CA2CA,OAzCA2jM,GAA0B,WACxBuiF,EAAet+Q,QAAUslG,EACzBmyK,EAAiBz3Q,QAAUw+Q,EAC3BD,EAAoBv+Q,QAAUk+Q,EAC9BG,EAAgCr+Q,aAAU7L,CAC5C,IACA4nM,GAA0B,WACxB,SAASw7E,IACP,IACE,IAAImH,EAAgBv7Q,EAAME,WAE1B,GAAIq7Q,IAAkBjH,EAAiBz3Q,QACrC,OAGF,IAAI2+Q,EAAoBL,EAAet+Q,QAAQ0+Q,GAE/C,GAAIV,EAAWW,EAAmBJ,EAAoBv+Q,SACpD,OAGFu+Q,EAAoBv+Q,QAAU2+Q,EAC9BlH,EAAiBz3Q,QAAU0+Q,CAC7B,CAAE,MAAOtmR,GAKPimR,EAAgCr+Q,QAAU5H,CAC5C,CAEAgmR,GACF,CAKA,OAHA9I,EAAaC,cAAgBgC,EAC7BjC,EAAaE,eACb+B,IACO,WACL,OAAOjC,EAAaO,gBACtB,CACF,GAAG,CAAC1yQ,EAAOmyQ,IACJ4I,CACT,CAwCwBU,CAAoCt5K,EAAU04K,EAHtDC,EAAiB96Q,MACZ86Q,EAAiB3I,cAIlC,OADA,IAAAuJ,eAAcX,GACPA,CACT,CACF,CAyBO,IhBtJiCY,EgBsJ7Bp/Q,EAA2Bq+Q,I,WhBtJEe,EiBF/B,2BjBGAhK,EAAQgK,C,gCkBAAp+P,EAAE,MAAM1F,EAAE,MAAMqN,EAAE,MAAMtoB,EAAE,MAAM0qD,EAAE,MAAM8zD,EAAE,MAAM95B,EAAE,MAAMjgC,EAAE,MAAMu0L,EAAE,MAAMx0L,EAAE,MAAMG,EAAE,MAAM/3B,EAAE,MAAM0qN,EAAE,MAAM7uN,EAAE,MAAMm2N,EAAE,MAAMvzI,EAAE,MAAM6tG,EAAE;;;;;;;;GACnJ,GAAG,mBAAoBmiC,QAAQA,OAAOhyC,IAAI,CAAC,IAAI7nJ,EAAE65L,OAAOhyC,IAAI1oL,EAAE6gC,EAAE,iBAAiBvmC,EAAEumC,EAAE,gBAAgBl5B,EAAEk5B,EAAE,kBAAkBxhD,EAAEwhD,EAAE,qBAAqBkJ,EAAElJ,EAAE,kBAAkBg9D,EAAEh9D,EAAE,kBAAkBkjC,EAAEljC,EAAE,iBAAiBiD,EAAEjD,EAAE,qBAAqBw3L,EAAEx3L,EAAE,kBAAkBgD,EAAEhD,EAAE,uBAAuBmD,EAAEnD,EAAE,cAAc50B,EAAE40B,EAAE,cAAc81L,EAAE91L,EAAE,eAAe/4B,EAAE+4B,EAAE,sBAAsBo9L,EAAEp9L,EAAE,qBAAqB6pD,EAAE7pD,EAAE,0BAA0B03J,EAAE13J,EAAE,sBAAsB,CACjc,SAASF,EAAEtxD,GAAG,GAAG,iBAAkBA,GAAG,OAAOA,EAAE,CAAC,IAAIsxB,EAAEtxB,EAAEqjR,SAAS,OAAO/xP,GAAG,KAAKX,EAAE,OAAO3wB,EAAEA,EAAE2E,MAAQ,KAAK2zB,EAAE,KAAKoiC,EAAE,KAAK1qD,EAAE,KAAKg5O,EAAE,KAAKx0L,EAAE,OAAOx0D,EAAE,QAAQ,OAAOA,EAAEA,GAAGA,EAAEqjR,UAAY,KAAK3uL,EAAE,KAAKjgC,EAAE,KAAK73B,EAAE,KAAK+3B,EAAE,KAAK65D,EAAE,OAAOxuH,EAAE,QAAQ,OAAOsxB,GAAG,KAAKrG,EAAE,OAAOqG,EAAE,CAAC,CACxJ3xB,EAAQukR,kBAAkB,SAASlkR,GAAG,OAAOsxD,EAAEtxD,KAAK00F,CAAC,C,8BCR7J90F,EAAOD,QAAU,EAAjB,K,8BCDFud,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAQqvR,UAAYrvR,EAAQsvR,eAAY,EAExC,IAAIrvE,EAASmnC,EAAuB,EAAQ,OAExCmoC,EAAcnoC,EAAuB,EAAQ,OAE7CooC,EAAoB,EAAQ,MAEhC,SAASpoC,EAAuB92N,GAAO,OAAOA,GAAOA,EAAI+2N,WAAa/2N,EAAM,CAAE,QAAWA,EAAO,CAEhG,SAASwwO,EAAQxwO,GAAmV,OAAtOwwO,EAArD,mBAAXpV,QAAoD,iBAApBA,OAAOS,SAAmC,SAAiB77N,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXo7N,QAAyBp7N,EAAIjrB,cAAgBqmP,QAAUp7N,IAAQo7N,OAAOtuN,UAAY,gBAAkB9M,CAAK,EAAYwwO,EAAQxwO,EAAM,CAEzX,SAAS+xC,IAA2Q,OAA9PA,EAAW9kD,OAAOC,QAAU,SAAUhN,GAAU,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CAAE,IAAIw4G,EAAS9sE,UAAU1rC,GAAI,IAAK,IAAIgS,KAAOwmG,EAAcv7F,OAAO6f,UAAU4hB,eAAe7hB,KAAK27E,EAAQxmG,KAAQ9B,EAAO8B,GAAOwmG,EAAOxmG,GAAU,CAAE,OAAO9B,CAAQ,EAAU6xD,EAASpB,MAAMzgE,KAAMwrC,UAAY,CAE5T,SAASiuN,EAAQlsI,EAAQmsI,GAAkB,IAAI37N,EAAOhhB,OAAOghB,KAAKwvF,GAAS,GAAIxwG,OAAOq0L,sBAAuB,CAAE,IAAIuoD,EAAU58O,OAAOq0L,sBAAsB7jF,GAAamsI,IAAgBC,EAAUA,EAAQlvP,QAAO,SAAUmvP,GAAO,OAAO78O,OAAOi3G,yBAAyBzG,EAAQqsI,GAAKhuD,UAAY,KAAI7tK,EAAKv6B,KAAKi9D,MAAM1iC,EAAM47N,EAAU,CAAE,OAAO57N,CAAM,CAEpV,SAASk8N,EAAcjqP,GAAU,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CAAE,IAAIw4G,EAAyB,MAAhB9sE,UAAU1rC,GAAa0rC,UAAU1rC,GAAK,CAAC,EAAOA,EAAI,EAAK25P,EAAQ18O,OAAOu7F,IAAS,GAAM7xG,SAAQ,SAAUqL,GAAO+nP,EAAgB7pP,EAAQ8B,EAAKwmG,EAAOxmG,GAAO,IAAeiL,OAAOg9O,0BAA6Bh9O,OAAOi9O,iBAAiBhqP,EAAQ+M,OAAOg9O,0BAA0BzhJ,IAAmBmhJ,EAAQ18O,OAAOu7F,IAAS7xG,SAAQ,SAAUqL,GAAOiL,OAAOwvD,eAAev8D,EAAQ8B,EAAKiL,OAAOi3G,yBAAyB1b,EAAQxmG,GAAO,GAAM,CAAE,OAAO9B,CAAQ,CAErhB,SAAS6pP,EAAgB/pO,EAAKhe,EAAKpD,GAAiK,OAApJoD,KAAOge,EAAO/S,OAAOwvD,eAAez8C,EAAKhe,EAAK,CAAEpD,MAAOA,EAAOk9L,YAAY,EAAM/yF,cAAc,EAAMD,UAAU,IAAkB9oF,EAAIhe,GAAOpD,EAAgBohB,CAAK,CAEhN,SAAS4yO,EAAgBxxL,EAAUkxL,GAAe,KAAMlxL,aAAoBkxL,GAAgB,MAAM,IAAIj2J,UAAU,oCAAwC,CAExJ,SAAS40J,EAAkB/wP,EAAQtC,GAAS,IAAK,IAAI5N,EAAI,EAAGA,EAAI4N,EAAM7D,OAAQ/J,IAAK,CAAE,IAAI09P,EAAa9vP,EAAM5N,GAAI09P,EAAW5xD,WAAa4xD,EAAW5xD,aAAc,EAAO4xD,EAAW3kJ,cAAe,EAAU,UAAW2kJ,IAAYA,EAAW5kJ,UAAW,GAAM77F,OAAOwvD,eAAev8D,EAAQwtP,EAAW1rP,IAAK0rP,EAAa,CAAE,CAE5T,SAASyxB,EAAa7sB,EAAaC,EAAYC,GAAmJ,OAAhID,GAAYtB,EAAkBqB,EAAYxlO,UAAWylO,GAAiBC,GAAavB,EAAkBqB,EAAaE,GAAqBF,CAAa,CAEtN,SAASD,EAAUF,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI/1J,UAAU,sDAAyD81J,EAASrlO,UAAY7f,OAAO8f,OAAOqlO,GAAcA,EAAWtlO,UAAW,CAAE/3B,YAAa,CAAE6J,MAAOuzP,EAAUrpJ,UAAU,EAAMC,cAAc,KAAeqpJ,GAAYP,EAAgBM,EAAUC,EAAa,CAEhY,SAASP,EAAgBjT,EAAGjyN,GAA+G,OAA1GklO,EAAkB5kP,OAAOs0G,gBAAkB,SAAyBq9H,EAAGjyN,GAAsB,OAAjBiyN,EAAEp9H,UAAY70F,EAAUiyN,CAAG,EAAUiT,EAAgBjT,EAAGjyN,EAAI,CAEzK,SAASukO,EAAaC,GAAW,IAAIiuB,EAMrC,WAAuC,GAAuB,oBAAZ9tB,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAV3oC,MAAsB,OAAO,EAAM,IAAiF,OAA3E5kL,KAAKnX,UAAU7Y,SAAS4Y,KAAKykO,QAAQC,UAAUttN,KAAM,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOlkC,GAAK,OAAO,CAAO,CAAE,CANlQ0xP,GAA6B,OAAO,WAAkC,IAAsCrxO,EAAlCgxO,EAAQC,EAAgBF,GAAkB,GAAIiuB,EAA2B,CAAE,IAAI1tB,EAAYL,EAAgBnhQ,MAAM6E,YAAaqrB,EAASkxO,QAAQC,UAAUH,EAAO11N,UAAWg2N,EAAY,MAAStxO,EAASgxO,EAAMzgM,MAAMzgE,KAAMwrC,WAAc,OAEpX,SAAoCzrC,EAAM48B,GAAQ,GAAIA,IAA2B,WAAlB2jO,EAAQ3jO,IAAsC,mBAATA,GAAwB,OAAOA,EAAQ,OAE3I,SAAgC58B,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI2hQ,eAAe,6DAAgE,OAAO3hQ,CAAM,CAFnBwxE,CAAuBxxE,EAAO,CAF2M0hQ,CAA2BzhQ,KAAMkwB,EAAS,CAAG,CAQxa,SAASixO,EAAgBzS,GAAwJ,OAAnJyS,EAAkBpkP,OAAOs0G,eAAiBt0G,OAAOkvD,eAAiB,SAAyByiL,GAAK,OAAOA,EAAEp9H,WAAav0G,OAAOkvD,eAAeyiL,EAAI,EAAUyS,EAAgBzS,EAAI,CAE5M,IAAIogC,EAAyB,SAAUK,GACrChtB,EAAU2sB,EAAWK,GAErB,IAAI5sB,EAASvB,EAAa8tB,GAE1B,SAASA,IAGP,OAFApsB,EAAgB1iQ,KAAM8uR,GAEfvsB,EAAO9hM,MAAMzgE,KAAMwrC,UAC5B,CAuDA,OArDAyjP,EAAaH,EAAW,CAAC,CACvBh9Q,IAAK,eACLpD,MAAO,SAAsBrK,EAASwL,GAChCA,GACFA,EAAE6B,iBAGJ1R,KAAK0N,MAAM0hR,aAAa/qR,EAASwL,EACnC,GACC,CACDiC,IAAK,SACLpD,MAAO,WACL,IAAI2gR,EAAc,CAChB,eAAe,EACf,cAAc,GAEZC,EAActvR,KAAKovR,aAAahmK,KAAKppH,KAAM,CAC7C8E,QAAS,cAGN9E,KAAK0N,MAAMwwE,WAAyC,IAA5Bl+E,KAAK0N,MAAM6hR,cAAsBvvR,KAAK0N,MAAM8hR,YAAcxvR,KAAK0N,MAAM2wE,gBAChGgxM,EAAY,mBAAoB,EAChCC,EAAc,MAGhB,IAAIG,EAAiB,CACnB39Q,IAAK,IACL,YAAa,OACbmF,WAAW,EAAI83Q,EAAqB,SAAGM,GACvC32Q,MAAO,CACL8U,QAAS,SAEXtc,QAASo+Q,GAEPI,EAAc,CAChBH,aAAcvvR,KAAK0N,MAAM6hR,aACzBC,WAAYxvR,KAAK0N,MAAM8hR,YAazB,OATIxvR,KAAK0N,MAAMiiR,UACYlwE,EAAgB,QAAEwjE,aAAajjR,KAAK0N,MAAMiiR,UAAW11B,EAAcA,EAAc,CAAC,EAAGw1B,GAAiBC,IAEtGjwE,EAAgB,QAAE5+I,cAAc,SAAUgB,EAAS,CAC1E/vD,IAAK,IACLtN,KAAM,UACLirR,GAAiB,IAAK,WAI7B,KAGKX,CACT,CAjE6B,CAiE3BrvE,EAAgB,QAAEmwE,eAEpBpwR,EAAQsvR,UAAYA,EAEpB,IAAID,EAAyB,SAAUgB,GACrC1tB,EAAU0sB,EAAWgB,GAErB,IAAIC,EAAU9uB,EAAa6tB,GAE3B,SAASA,IAGP,OAFAnsB,EAAgB1iQ,KAAM6uR,GAEfiB,EAAQrvN,MAAMzgE,KAAMwrC,UAC7B,CAuDA,OArDAyjP,EAAaJ,EAAW,CAAC,CACvB/8Q,IAAK,eACLpD,MAAO,SAAsBrK,EAASwL,GAChCA,GACFA,EAAE6B,iBAGJ1R,KAAK0N,MAAM0hR,aAAa/qR,EAASwL,EACnC,GACC,CACDiC,IAAK,SACLpD,MAAO,WACL,IAAIqhR,EAAc,CAChB,eAAe,EACf,cAAc,GAEZC,EAAchwR,KAAKovR,aAAahmK,KAAKppH,KAAM,CAC7C8E,QAAS,UAGN,EAAIkqR,EAAkBiB,WAAWjwR,KAAK0N,SACzCqiR,EAAY,mBAAoB,EAChCC,EAAc,MAGhB,IAAIE,EAAiB,CACnBp+Q,IAAK,IACL,YAAa,OACbmF,WAAW,EAAI83Q,EAAqB,SAAGgB,GACvCr3Q,MAAO,CACL8U,QAAS,SAEXtc,QAAS8+Q,GAEPN,EAAc,CAChBH,aAAcvvR,KAAK0N,MAAM6hR,aACzBC,WAAYxvR,KAAK0N,MAAM8hR,YAazB,OATIxvR,KAAK0N,MAAMyiR,UACY1wE,EAAgB,QAAEwjE,aAAajjR,KAAK0N,MAAMyiR,UAAWl2B,EAAcA,EAAc,CAAC,EAAGi2B,GAAiBR,IAEtGjwE,EAAgB,QAAE5+I,cAAc,SAAUgB,EAAS,CAC1E/vD,IAAK,IACLtN,KAAM,UACL0rR,GAAiB,IAAK,OAI7B,KAGKrB,CACT,CAjE6B,CAiE3BpvE,EAAgB,QAAEmwE,eAEpBpwR,EAAQqvR,UAAYA,C,8BCnLpB9xQ,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAiB,aAAI,EAErB,IAEgCswB,EAF5B2vL,GAE4B3vL,EAFI,EAAQ,QAESA,EAAI+2N,WAAa/2N,EAAM,CAAE,QAAWA,GAEzF,IA4DI23N,EA5De,CACjB2oC,eAAe,EACfC,gBAAgB,EAChBC,YAAa,KACbC,WAAY,SAAoBC,GAC9B,OAAoB/wE,EAAgB,QAAE5+I,cAAc,KAAM,CACxDnoD,MAAO,CACL8U,QAAS,UAEVgjQ,EACL,EACAhyM,QAAQ,EACRiyM,UAAU,EACVC,cAAe,IACfjyM,aAAc,KACdN,YAAY,EACZC,cAAe,OACfnnE,UAAW,GACX05Q,QAAS,OACTC,aAAc,SAAsB9wR,GAClC,OAAoB2/M,EAAgB,QAAE5+I,cAAc,SAAU,KAAM/gE,EAAI,EAC1E,EACA0wR,MAAM,EACNK,UAAW,aACX9+M,WAAW,EACX++M,OAAQ,SACRC,aAAc,IACdC,MAAM,EACNC,eAAe,EACf/yM,UAAU,EACVgzM,aAAc,EACdC,SAAU,KACVhB,UAAW,KACXiB,OAAQ,KACRC,OAAQ,KACRC,gBAAiB,KACjBC,SAAU,KACVC,kBAAkB,EAClBC,cAAc,EACdC,cAAc,EACd/B,UAAW,KACXgC,WAAY,KACZzjP,KAAM,EACN0jP,KAAK,EACLC,MAAO,MACPC,aAAc,EACdC,eAAgB,EAChB1zM,aAAc,EACdE,MAAO,IACPD,OAAO,EACP0zM,WAAY,KACZC,cAAc,EACdC,WAAW,EACXC,eAAgB,EAChBC,QAAQ,EACRC,cAAc,EACdC,eAAe,EACfC,UAAU,EACVC,gBAAgB,GAGlBhzR,EAAiB,QAAIioP,C,8BCtErB1qO,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAQizR,UAAO,EAEf,IAAIhzE,EAASmnC,EAAuB,EAAQ,OAExCmoC,EAAcnoC,EAAuB,EAAQ,OAE7CooC,EAAoB,EAAQ,MAEhC,SAASpoC,EAAuB92N,GAAO,OAAOA,GAAOA,EAAI+2N,WAAa/2N,EAAM,CAAE,QAAWA,EAAO,CAEhG,SAASwwO,EAAQxwO,GAAmV,OAAtOwwO,EAArD,mBAAXpV,QAAoD,iBAApBA,OAAOS,SAAmC,SAAiB77N,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXo7N,QAAyBp7N,EAAIjrB,cAAgBqmP,QAAUp7N,IAAQo7N,OAAOtuN,UAAY,gBAAkB9M,CAAK,EAAYwwO,EAAQxwO,EAAM,CAEzX,SAAS2pO,EAAQlsI,EAAQmsI,GAAkB,IAAI37N,EAAOhhB,OAAOghB,KAAKwvF,GAAS,GAAIxwG,OAAOq0L,sBAAuB,CAAE,IAAIuoD,EAAU58O,OAAOq0L,sBAAsB7jF,GAAamsI,IAAgBC,EAAUA,EAAQlvP,QAAO,SAAUmvP,GAAO,OAAO78O,OAAOi3G,yBAAyBzG,EAAQqsI,GAAKhuD,UAAY,KAAI7tK,EAAKv6B,KAAKi9D,MAAM1iC,EAAM47N,EAAU,CAAE,OAAO57N,CAAM,CAIpV,SAAS87N,EAAgB/pO,EAAKhe,EAAKpD,GAAiK,OAApJoD,KAAOge,EAAO/S,OAAOwvD,eAAez8C,EAAKhe,EAAK,CAAEpD,MAAOA,EAAOk9L,YAAY,EAAM/yF,cAAc,EAAMD,UAAU,IAAkB9oF,EAAIhe,GAAOpD,EAAgBohB,CAAK,CAIhN,SAASixO,EAAkB/wP,EAAQtC,GAAS,IAAK,IAAI5N,EAAI,EAAGA,EAAI4N,EAAM7D,OAAQ/J,IAAK,CAAE,IAAI09P,EAAa9vP,EAAM5N,GAAI09P,EAAW5xD,WAAa4xD,EAAW5xD,aAAc,EAAO4xD,EAAW3kJ,cAAe,EAAU,UAAW2kJ,IAAYA,EAAW5kJ,UAAW,GAAM77F,OAAOwvD,eAAev8D,EAAQwtP,EAAW1rP,IAAK0rP,EAAa,CAAE,CAM5T,SAASmE,EAAgBjT,EAAGjyN,GAA+G,OAA1GklO,EAAkB5kP,OAAOs0G,gBAAkB,SAAyBq9H,EAAGjyN,GAAsB,OAAjBiyN,EAAEp9H,UAAY70F,EAAUiyN,CAAG,EAAUiT,EAAgBjT,EAAGjyN,EAAI,CAEzK,SAASukO,EAAaC,GAAW,IAAIiuB,EAMrC,WAAuC,GAAuB,oBAAZ9tB,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAV3oC,MAAsB,OAAO,EAAM,IAAiF,OAA3E5kL,KAAKnX,UAAU7Y,SAAS4Y,KAAKykO,QAAQC,UAAUttN,KAAM,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOlkC,GAAK,OAAO,CAAO,CAAE,CANlQ0xP,GAA6B,OAAO,WAAkC,IAAsCrxO,EAAlCgxO,EAAQC,EAAgBF,GAAkB,GAAIiuB,EAA2B,CAAE,IAAI1tB,EAAYL,EAAgBnhQ,MAAM6E,YAAaqrB,EAASkxO,QAAQC,UAAUH,EAAO11N,UAAWg2N,EAAY,MAAStxO,EAASgxO,EAAMzgM,MAAMzgE,KAAMwrC,WAAc,OAEpX,SAAoCzrC,EAAM48B,GAAQ,GAAIA,IAA2B,WAAlB2jO,EAAQ3jO,IAAsC,mBAATA,GAAwB,OAAOA,EAAQ,OAE3I,SAAgC58B,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI2hQ,eAAe,6DAAgE,OAAO3hQ,CAAM,CAFnBwxE,CAAuBxxE,EAAO,CAF2M0hQ,CAA2BzhQ,KAAMkwB,EAAS,CAAG,CAQxa,SAASixO,EAAgBzS,GAAwJ,OAAnJyS,EAAkBpkP,OAAOs0G,eAAiBt0G,OAAOkvD,eAAiB,SAAyByiL,GAAK,OAAOA,EAAEp9H,WAAav0G,OAAOkvD,eAAeyiL,EAAI,EAAUyS,EAAgBzS,EAAI,CAE5M,IAYI+jC,EAAoB,SAAUtD,IA1BlC,SAAmBltB,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI/1J,UAAU,sDAAyD81J,EAASrlO,UAAY7f,OAAO8f,OAAOqlO,GAAcA,EAAWtlO,UAAW,CAAE/3B,YAAa,CAAE6J,MAAOuzP,EAAUrpJ,UAAU,EAAMC,cAAc,KAAeqpJ,GAAYP,EAAgBM,EAAUC,EAAa,CA2B9XC,CAAUswB,EAAMtD,GAEhB,IA/BoB/sB,EAAaC,EAAYC,EA+BzCC,EAASvB,EAAayxB,GAE1B,SAASA,IAGP,OAxCJ,SAAyBvhN,EAAUkxL,GAAe,KAAMlxL,aAAoBkxL,GAAgB,MAAM,IAAIj2J,UAAU,oCAAwC,CAsCpJu2J,CAAgB1iQ,KAAMyyR,GAEflwB,EAAO9hM,MAAMzgE,KAAMwrC,UAC5B,CAmEA,OAxGoB42N,EAuCPqwB,EAvCoBpwB,EAuCd,CAAC,CAClBvwP,IAAK,eACLpD,MAAO,SAAsBrK,EAASwL,GAGpCA,EAAE6B,iBACF1R,KAAK0N,MAAM0hR,aAAa/qR,EAC1B,GACC,CACDyN,IAAK,SACLpD,MAAO,WAuBL,IAtBA,IAlCiCgkR,EAkC7Bn9M,EAAcv1E,KAAK0N,MACnBwjC,EAAeqkC,EAAYrkC,aAC3ByhP,EAAcp9M,EAAYo9M,YAC1BtzN,EAAekW,EAAYlW,aAC3B6e,EAAW3I,EAAY2I,SACvB6zM,EAAiBx8M,EAAYw8M,eAC7B1zM,EAAe9I,EAAY8I,aAC3BmxM,EAAaj6M,EAAYi6M,WACzBD,EAAeh6M,EAAYg6M,aAC3BqD,GA3C6BF,EA2CN,CACzBlD,WAAYA,EACZuC,eAAgBA,EAChB1zM,aAAcA,EACdH,SAAUA,IA5CPA,SACAt5C,KAAK4qC,KAAKkjN,EAAKlD,WAAakD,EAAKX,gBAEjCntP,KAAK4qC,MAAMkjN,EAAKlD,WAAakD,EAAKr0M,cAAgBq0M,EAAKX,gBAAkB,EA2C1Ec,EAAc,CAChB3hP,aAAcA,EACdyhP,YAAaA,EACbtzN,aAAcA,GAEZmxN,EAAO,GAEF1wR,EAAI,EAAGA,EAAI8yR,EAAU9yR,IAAK,CACjC,IAAIgzR,GAAehzR,EAAI,GAAKiyR,EAAiB,EAEzCgB,EAAa70M,EAAW40M,GAAc,EAAI9D,EAAkBgE,OAAOF,EAAa,EAAGtD,EAAa,GAEhGyD,EAAaF,GAAchB,EAAiB,GAE5CmB,EAAYh1M,EAAW+0M,GAAa,EAAIjE,EAAkBgE,OAAOC,EAAY,EAAGzD,EAAa,GAC7Fv4Q,GAAY,EAAI83Q,EAAqB,SAAG,CAC1C,eAAgB7wM,EAAWqxM,GAAgB2D,GAAa3D,GAAgBwD,EAAaxD,IAAiB2D,IAEpGC,EAAa,CACfruR,QAAS,OACT6B,MAAO7G,EACPiyR,eAAgBA,EAChBxC,aAAcA,GAEZr+Q,EAAUlR,KAAKovR,aAAahmK,KAAKppH,KAAMmzR,GAC3C3C,EAAOA,EAAK31Q,OAAqB4kM,EAAgB,QAAE5+I,cAAc,KAAM,CACrE/uD,IAAKhS,EACLmX,UAAWA,GACGwoM,EAAgB,QAAEwjE,aAAajjR,KAAK0N,MAAMkjR,aAAa9wR,GAAI,CACzEoR,QAASA,KAEb,CAEA,OAAoBuuM,EAAgB,QAAEwjE,aAAajjR,KAAK0N,MAAM6iR,WAAWC,GA1G/E,SAAuBxgR,GAAU,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CAAE,IAAIw4G,EAAyB,MAAhB9sE,UAAU1rC,GAAa0rC,UAAU1rC,GAAK,CAAC,EAAOA,EAAI,EAAK25P,EAAQ18O,OAAOu7F,IAAS,GAAM7xG,SAAQ,SAAUqL,GAAO+nP,EAAgB7pP,EAAQ8B,EAAKwmG,EAAOxmG,GAAO,IAAeiL,OAAOg9O,0BAA6Bh9O,OAAOi9O,iBAAiBhqP,EAAQ+M,OAAOg9O,0BAA0BzhJ,IAAmBmhJ,EAAQ18O,OAAOu7F,IAAS7xG,SAAQ,SAAUqL,GAAOiL,OAAOwvD,eAAev8D,EAAQ8B,EAAKiL,OAAOi3G,yBAAyB1b,EAAQxmG,GAAO,GAAM,CAAE,OAAO9B,CAAQ,CA0G/biqP,CAAc,CAC5FhjP,UAAWjX,KAAK0N,MAAMmjR,WACrBgC,GACL,IArG8DxwB,GAAYtB,EAAkBqB,EAAYxlO,UAAWylO,GAAiBC,GAAavB,EAAkBqB,EAAaE,GAwG3KmwB,CACT,CA7EwB,CA6EtBhzE,EAAgB,QAAEmwE,eAEpBpwR,EAAQizR,KAAOA,C,kCC7HiB3iQ,EAJhCtwB,EAAA,OAAqB,EAMrB,IAAIioP,IAF4B33N,EAFK,EAAQ,QAEQA,EAAI+2N,WAAa/2N,EAAM,CAAE,QAAWA,IAEzD,QAChCtwB,EAAA,EAAqBioP,C,4BCVrB1qO,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAiB,aAAI,EACrB,IA+BIioP,EA/Be,CACjB2rC,WAAW,EACXC,YAAa,KACbC,iBAAkB,EAClBC,YAAa,KACbhE,aAAc,EACdjmG,UAAW,EACXkqG,UAAU,EACVC,aAAa,EACbn4J,aAAa,EACbo4J,eAAgB,GAChBC,WAAY,KACZC,UAAW,KACXxmE,WAAW,EACXoiE,WAAY,KACZqE,YAAa,KACbC,WAAY,KACZC,UAAW,KACXC,QAAQ,EAERC,SAAS,EACTC,YAAa,CACXC,OAAQ,EACRC,OAAQ,EACRC,KAAM,EACNC,KAAM,GAERC,WAAY,CAAC,EACbC,WAAY,EACZC,YAAa,GAGfj1R,EAAiB,QAAIioP,C,8BCpCrB1qO,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAQk1R,iBAAc,EAEtB,IAAIj1E,EAASmnC,EAAuB,EAAQ,OAExC+tC,EAAgB/tC,EAAuB,EAAQ,OAE/CguC,EAAUhuC,EAAuB,EAAQ,OAEzCmoC,EAAcnoC,EAAuB,EAAQ,OAE7CooC,EAAoB,EAAQ,MAE5B6F,EAAS,EAAQ,MAEjBC,EAAQ,EAAQ,MAEhBC,EAAU,EAAQ,MAElBC,EAA0BpuC,EAAuB,EAAQ,OAE7D,SAASA,EAAuB92N,GAAO,OAAOA,GAAOA,EAAI+2N,WAAa/2N,EAAM,CAAE,QAAWA,EAAO,CAEhG,SAASwwO,EAAQxwO,GAAmV,OAAtOwwO,EAArD,mBAAXpV,QAAoD,iBAApBA,OAAOS,SAAmC,SAAiB77N,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXo7N,QAAyBp7N,EAAIjrB,cAAgBqmP,QAAUp7N,IAAQo7N,OAAOtuN,UAAY,gBAAkB9M,CAAK,EAAYwwO,EAAQxwO,EAAM,CAEzX,SAAS+xC,IAA2Q,OAA9PA,EAAW9kD,OAAOC,QAAU,SAAUhN,GAAU,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CAAE,IAAIw4G,EAAS9sE,UAAU1rC,GAAI,IAAK,IAAIgS,KAAOwmG,EAAcv7F,OAAO6f,UAAU4hB,eAAe7hB,KAAK27E,EAAQxmG,KAAQ9B,EAAO8B,GAAOwmG,EAAOxmG,GAAU,CAAE,OAAO9B,CAAQ,EAAU6xD,EAASpB,MAAMzgE,KAAMwrC,UAAY,CAE5T,SAASggO,EAAyBlzJ,EAAQmzJ,GAAY,GAAc,MAAVnzJ,EAAgB,MAAO,CAAC,EAAG,IAAkExmG,EAAKhS,EAAnEkQ,EAEzF,SAAuCsoG,EAAQmzJ,GAAY,GAAc,MAAVnzJ,EAAgB,MAAO,CAAC,EAAG,IAA2DxmG,EAAKhS,EAA5DkQ,EAAS,CAAC,EAAO07P,EAAa3uP,OAAOghB,KAAKu6E,GAAqB,IAAKx4G,EAAI,EAAGA,EAAI4rQ,EAAW7hQ,OAAQ/J,IAAOgS,EAAM45P,EAAW5rQ,GAAQ2rQ,EAASzpO,QAAQlwB,IAAQ,IAAa9B,EAAO8B,GAAOwmG,EAAOxmG,IAAQ,OAAO9B,CAAQ,CAFhN27P,CAA8BrzJ,EAAQmzJ,GAAuB,GAAI1uP,OAAOq0L,sBAAuB,CAAE,IAAIw6D,EAAmB7uP,OAAOq0L,sBAAsB94F,GAAS,IAAKx4G,EAAI,EAAGA,EAAI8rQ,EAAiB/hQ,OAAQ/J,IAAOgS,EAAM85P,EAAiB9rQ,GAAQ2rQ,EAASzpO,QAAQlwB,IAAQ,GAAkBiL,OAAO6f,UAAUy0K,qBAAqB10K,KAAK27E,EAAQxmG,KAAgB9B,EAAO8B,GAAOwmG,EAAOxmG,GAAQ,CAAE,OAAO9B,CAAQ,CAI3e,SAASypP,EAAQlsI,EAAQmsI,GAAkB,IAAI37N,EAAOhhB,OAAOghB,KAAKwvF,GAAS,GAAIxwG,OAAOq0L,sBAAuB,CAAE,IAAIuoD,EAAU58O,OAAOq0L,sBAAsB7jF,GAAamsI,IAAgBC,EAAUA,EAAQlvP,QAAO,SAAUmvP,GAAO,OAAO78O,OAAOi3G,yBAAyBzG,EAAQqsI,GAAKhuD,UAAY,KAAI7tK,EAAKv6B,KAAKi9D,MAAM1iC,EAAM47N,EAAU,CAAE,OAAO57N,CAAM,CAEpV,SAASk8N,EAAcjqP,GAAU,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CAAE,IAAIw4G,EAAyB,MAAhB9sE,UAAU1rC,GAAa0rC,UAAU1rC,GAAK,CAAC,EAAOA,EAAI,EAAK25P,EAAQ18O,OAAOu7F,IAAS,GAAM7xG,SAAQ,SAAUqL,GAAO+nP,EAAgB7pP,EAAQ8B,EAAKwmG,EAAOxmG,GAAO,IAAeiL,OAAOg9O,0BAA6Bh9O,OAAOi9O,iBAAiBhqP,EAAQ+M,OAAOg9O,0BAA0BzhJ,IAAmBmhJ,EAAQ18O,OAAOu7F,IAAS7xG,SAAQ,SAAUqL,GAAOiL,OAAOwvD,eAAev8D,EAAQ8B,EAAKiL,OAAOi3G,yBAAyB1b,EAAQxmG,GAAO,GAAM,CAAE,OAAO9B,CAAQ,CAIrhB,SAAS+wP,EAAkB/wP,EAAQtC,GAAS,IAAK,IAAI5N,EAAI,EAAGA,EAAI4N,EAAM7D,OAAQ/J,IAAK,CAAE,IAAI09P,EAAa9vP,EAAM5N,GAAI09P,EAAW5xD,WAAa4xD,EAAW5xD,aAAc,EAAO4xD,EAAW3kJ,cAAe,EAAU,UAAW2kJ,IAAYA,EAAW5kJ,UAAW,GAAM77F,OAAOwvD,eAAev8D,EAAQwtP,EAAW1rP,IAAK0rP,EAAa,CAAE,CAM5T,SAASmE,EAAgBjT,EAAGjyN,GAA+G,OAA1GklO,EAAkB5kP,OAAOs0G,gBAAkB,SAAyBq9H,EAAGjyN,GAAsB,OAAjBiyN,EAAEp9H,UAAY70F,EAAUiyN,CAAG,EAAUiT,EAAgBjT,EAAGjyN,EAAI,CAEzK,SAASukO,EAAaC,GAAW,IAAIiuB,EAMrC,WAAuC,GAAuB,oBAAZ9tB,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAV3oC,MAAsB,OAAO,EAAM,IAAiF,OAA3E5kL,KAAKnX,UAAU7Y,SAAS4Y,KAAKykO,QAAQC,UAAUttN,KAAM,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOlkC,GAAK,OAAO,CAAO,CAAE,CANlQ0xP,GAA6B,OAAO,WAAkC,IAAsCrxO,EAAlCgxO,EAAQC,EAAgBF,GAAkB,GAAIiuB,EAA2B,CAAE,IAAI1tB,EAAYL,EAAgBnhQ,MAAM6E,YAAaqrB,EAASkxO,QAAQC,UAAUH,EAAO11N,UAAWg2N,EAAY,MAAStxO,EAASgxO,EAAMzgM,MAAMzgE,KAAMwrC,WAAc,OAEpX,SAAoCzrC,EAAM48B,GAAQ,GAAIA,IAA2B,WAAlB2jO,EAAQ3jO,IAAsC,mBAATA,GAAwB,OAAOA,EAAQ,OAAO40C,EAAuBxxE,EAAO,CAF2M0hQ,CAA2BzhQ,KAAMkwB,EAAS,CAAG,CAIxa,SAASqhD,EAAuBxxE,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI2hQ,eAAe,6DAAgE,OAAO3hQ,CAAM,CAIrK,SAASohQ,EAAgBzS,GAAwJ,OAAnJyS,EAAkBpkP,OAAOs0G,eAAiBt0G,OAAOkvD,eAAiB,SAAyByiL,GAAK,OAAOA,EAAEp9H,WAAav0G,OAAOkvD,eAAeyiL,EAAI,EAAUyS,EAAgBzS,EAAI,CAE5M,SAASmL,EAAgB/pO,EAAKhe,EAAKpD,GAAiK,OAApJoD,KAAOge,EAAO/S,OAAOwvD,eAAez8C,EAAKhe,EAAK,CAAEpD,MAAOA,EAAOk9L,YAAY,EAAM/yF,cAAc,EAAMD,UAAU,IAAkB9oF,EAAIhe,GAAOpD,EAAgBohB,CAAK,CAEhN,IAAI4kQ,EAA2B,SAAUO,IAhBzC,SAAmBhzB,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI/1J,UAAU,sDAAyD81J,EAASrlO,UAAY7f,OAAO8f,OAAOqlO,GAAcA,EAAWtlO,UAAW,CAAE/3B,YAAa,CAAE6J,MAAOuzP,EAAUrpJ,UAAU,EAAMC,cAAc,KAAeqpJ,GAAYP,EAAgBM,EAAUC,EAAa,CAiB9XC,CAAUuyB,EAAaO,GAEvB,IArBoB7yB,EAAaC,EAAYC,EAqBzCC,EAASvB,EAAa0zB,GAE1B,SAASA,EAAYhnR,GACnB,IAAIyzD,GA5BR,SAAyB+P,EAAUkxL,GAAe,KAAMlxL,aAAoBkxL,GAAgB,MAAM,IAAIj2J,UAAU,oCAAwC,CA8BpJu2J,CAAgB1iQ,KAAM00R,GAItB76B,EAAgBtoL,EAFhBpQ,EAAQohM,EAAO5lO,KAAK38B,KAAM0N,IAEqB,kBAAkB,SAAUM,GACzE,OAAOmzD,EAAMvtC,KAAO5lB,CACtB,IAEA6rP,EAAgBtoL,EAAuBpQ,GAAQ,mBAAmB,SAAUnzD,GAC1E,OAAOmzD,EAAM2iC,MAAQ91F,CACvB,IAEA6rP,EAAgBtoL,EAAuBpQ,GAAQ,eAAe,WAC5D,GAAIA,EAAMzzD,MAAM2iR,gBAAkBlvN,EAAMvtC,KAAM,CAC5C,IAAIka,EAAOqzB,EAAMvtC,KAAKwrE,cAAc,gBAAiBvkF,OAAOsmD,EAAM1xD,MAAM8/Q,aAAc,OAEtFpuN,EAAMvtC,KAAKlb,MAAMwK,QAAS,EAAI8rQ,EAAkBjlN,WAAWj8B,GAAQ,IACrE,CACF,IAEA+rN,EAAgBtoL,EAAuBpQ,GAAQ,qBAAqB,WAGlE,GAFAA,EAAMzzD,MAAM2jR,QAAUlwN,EAAMzzD,MAAM2jR,SAE9BlwN,EAAMzzD,MAAMyjR,SAAU,CACxB,IAAI+D,GAAe,EAAIlG,EAAkBmG,uBAAuBl7B,EAAcA,EAAc,CAAC,EAAG94L,EAAMzzD,OAAQyzD,EAAM1xD,QAEhHylR,EAAarrR,OAAS,IACxBs3D,EAAM54B,UAAS,SAAUy9N,GACvB,MAAO,CACL0tB,eAAgB1tB,EAAU0tB,eAAe74Q,OAAOq6Q,GAEpD,IAEI/zN,EAAMzzD,MAAM0nR,YACdj0N,EAAMzzD,MAAM0nR,WAAWF,GAG7B,CAEA,IAAIxC,EAAOz4B,EAAc,CACvBo7B,QAASl0N,EAAMvtC,KACf0hQ,SAAUn0N,EAAM2iC,OACf3iC,EAAMzzD,OAETyzD,EAAMo0N,YAAY7C,GAAM,GAAM,WAC5BvxN,EAAMq0N,cAENr0N,EAAMzzD,MAAM+iR,UAAYtvN,EAAMywF,SAAS,SACzC,IAE6B,gBAAzBzwF,EAAMzzD,MAAMyjR,WACdhwN,EAAMs0N,cAAgB3/J,YAAY30D,EAAMu0N,oBAAqB,MAG/Dv0N,EAAMw0N,GAAK,IAAIX,EAAiC,SAAE,WAC5C7zN,EAAM1xD,MAAM2jR,WACdjyN,EAAMy0N,iBAAgB,GAGtBz0N,EAAM00N,eAAeryR,KAAKkN,YAAW,WACnC,OAAOywD,EAAMy0N,iBACf,GAAGz0N,EAAMzzD,MAAM6wE,SAEfpd,EAAMy0N,iBAEV,IAEAz0N,EAAMw0N,GAAGrzL,QAAQnhC,EAAMvtC,MAEvBtjB,SAAS20K,kBAAoB/iJ,MAAMtF,UAAUn2B,QAAQk2B,KAAKrsB,SAAS20K,iBAAiB,iBAAiB,SAAU4sG,GAC7GA,EAAMiE,QAAU30N,EAAMzzD,MAAM+jR,aAAetwN,EAAM40N,aAAe,KAChElE,EAAMmE,OAAS70N,EAAMzzD,MAAM+jR,aAAetwN,EAAM80N,YAAc,IAChE,IAEI9zR,OAAOoO,iBACTpO,OAAOoO,iBAAiB,SAAU4wD,EAAMy0N,iBAExCzzR,OAAOyqE,YAAY,WAAYzL,EAAMy0N,gBAEzC,IAEA/7B,EAAgBtoL,EAAuBpQ,GAAQ,wBAAwB,WACjEA,EAAM+0N,sBACR/oN,aAAahM,EAAM+0N,sBAGjB/0N,EAAMs0N,eACR15J,cAAc56D,EAAMs0N,eAGlBt0N,EAAM00N,eAAehsR,SACvBs3D,EAAM00N,eAAepvR,SAAQ,SAAU6vJ,GACrC,OAAOnpF,aAAampF,EACtB,IAEAn1F,EAAM00N,eAAiB,IAGrB1zR,OAAOoO,iBACTpO,OAAOqO,oBAAoB,SAAU2wD,EAAMy0N,iBAE3CzzR,OAAO43E,YAAY,WAAY5Y,EAAMy0N,iBAGnCz0N,EAAMg1N,eACRp6J,cAAc56D,EAAMg1N,eAGtBh1N,EAAMw0N,GAAGpzL,YACX,IAEAs3J,EAAgBtoL,EAAuBpQ,GAAQ,sBAAsB,SAAUuY,GAK7E,GAJAvY,EAAMi1N,kBAENj1N,EAAMzzD,MAAM6jR,UAAYpwN,EAAMzzD,MAAM6jR,WAEhCpwN,EAAMzzD,MAAMyjR,SAAU,CACxB,IAAI+D,GAAe,EAAIlG,EAAkBmG,uBAAuBl7B,EAAcA,EAAc,CAAC,EAAG94L,EAAMzzD,OAAQyzD,EAAM1xD,QAEhHylR,EAAarrR,OAAS,IACxBs3D,EAAM54B,UAAS,SAAUy9N,GACvB,MAAO,CACL0tB,eAAgB1tB,EAAU0tB,eAAe74Q,OAAOq6Q,GAEpD,IAEI/zN,EAAMzzD,MAAM0nR,YACdj0N,EAAMzzD,MAAM0nR,WAAWF,GAG7B,CAKA/zN,EAAMq0N,cAEN,IAAI9C,EAAOz4B,EAAcA,EAAc,CACrCo7B,QAASl0N,EAAMvtC,KACf0hQ,SAAUn0N,EAAM2iC,OACf3iC,EAAMzzD,OAAQyzD,EAAM1xD,OAEnB4mR,EAAgBl1N,EAAMm1N,eAAe58M,GAEzC28M,GAAiBl1N,EAAMo0N,YAAY7C,EAAM2D,GAAe,WAClDl1N,EAAM1xD,MAAM8/Q,cAAgB9vE,EAAgB,QAAE82E,SAASj7N,MAAM6F,EAAMzzD,MAAMyC,WAC3EgxD,EAAM4nH,YAAY,CAChBjkL,QAAS,QACT6B,MAAO84M,EAAgB,QAAE82E,SAASj7N,MAAM6F,EAAMzzD,MAAMyC,UAAYgxD,EAAMzzD,MAAM2wE,aAC5EkxM,aAAcpuN,EAAM1xD,MAAM8/Q,eAI1BpuN,EAAMzzD,MAAM+iR,SACdtvN,EAAMywF,SAAS,UAEfzwF,EAAMq1N,MAAM,SAEhB,GACF,IAEA38B,EAAgBtoL,EAAuBpQ,GAAQ,mBAAmB,SAAUk1N,GACtEl1N,EAAMs1N,iBAAiBt1N,EAAMs1N,gBAAgB9pN,SACjDxL,EAAMs1N,iBAAkB,EAAI7B,EAAiB,UAAG,WAC9C,OAAOzzN,EAAMu1N,aAAaL,EAC5B,GAAG,IAEHl1N,EAAMs1N,iBACR,IAEA58B,EAAgBtoL,EAAuBpQ,GAAQ,gBAAgB,WAC7D,IAAIk1N,IAAgB7qP,UAAU3hC,OAAS,QAAsB5F,IAAjBunC,UAAU,KAAmBA,UAAU,GAGnF,GAFqBqrE,QAAQ11C,EAAM2iC,OAAS3iC,EAAM2iC,MAAMzoD,MAExD,CAEA,IAAIq3O,EAAOz4B,EAAcA,EAAc,CACrCo7B,QAASl0N,EAAMvtC,KACf0hQ,SAAUn0N,EAAM2iC,OACf3iC,EAAMzzD,OAAQyzD,EAAM1xD,OAEvB0xD,EAAMo0N,YAAY7C,EAAM2D,GAAe,WACjCl1N,EAAMzzD,MAAM+iR,SAAUtvN,EAAMywF,SAAS,UAAezwF,EAAMq1N,MAAM,SACtE,IAGAr1N,EAAM54B,SAAS,CACb6qP,WAAW,IAGbjmN,aAAahM,EAAM+0N,6BACZ/0N,EAAM+0N,oBAjBc,CAkB7B,IAEAr8B,EAAgBtoL,EAAuBpQ,GAAQ,eAAe,SAAUuxN,EAAM2D,EAAe5rN,GAC3F,IAAIksN,GAAe,EAAI3H,EAAkB4H,kBAAkBlE,GAC3DA,EAAOz4B,EAAcA,EAAcA,EAAc,CAAC,EAAGy4B,GAAOiE,GAAe,CAAC,EAAG,CAC7E/vG,WAAY+vG,EAAapH,eAE3B,IAAIsH,GAAa,EAAI7H,EAAkB8H,cAAcpE,GACrDA,EAAOz4B,EAAcA,EAAc,CAAC,EAAGy4B,GAAO,CAAC,EAAG,CAChD7+Q,KAAMgjR,IAER,IAAItC,GAAa,EAAIvF,EAAkB+H,aAAarE,IAEhD2D,GAAiB52E,EAAgB,QAAE82E,SAASj7N,MAAM6F,EAAMzzD,MAAMyC,YAAcsvM,EAAgB,QAAE82E,SAASj7N,MAAMo3N,EAAKviR,aACpHwmR,EAAyB,WAAIpC,GAG/BpzN,EAAM54B,SAASouP,EAAclsN,EAC/B,IAEAovL,EAAgBtoL,EAAuBpQ,GAAQ,WAAW,WACxD,GAAIA,EAAMzzD,MAAM4kR,cAAe,CAC7B,IAAI0E,EAAc,EACdC,EAAa,EACbC,EAAiB,GACjBC,GAAY,EAAInI,EAAkBoI,cAAcn9B,EAAcA,EAAcA,EAAc,CAAC,EAAG94L,EAAMzzD,OAAQyzD,EAAM1xD,OAAQ,CAAC,EAAG,CAChI+/Q,WAAYruN,EAAMzzD,MAAMyC,SAAStG,UAE/BwtR,GAAa,EAAIrI,EAAkBsI,eAAer9B,EAAcA,EAAcA,EAAc,CAAC,EAAG94L,EAAMzzD,OAAQyzD,EAAM1xD,OAAQ,CAAC,EAAG,CAClI+/Q,WAAYruN,EAAMzzD,MAAMyC,SAAStG,UAGnCs3D,EAAMzzD,MAAMyC,SAAS1J,SAAQ,SAAUyzD,GACrCg9N,EAAe1zR,KAAK02D,EAAMxsD,MAAMgL,MAAMkJ,OACtCo1Q,GAAe98N,EAAMxsD,MAAMgL,MAAMkJ,KACnC,IAEA,IAAK,IAAI9hB,EAAI,EAAGA,EAAIq3R,EAAWr3R,IAC7Bm3R,GAAcC,EAAeA,EAAertR,OAAS,EAAI/J,GACzDk3R,GAAeE,EAAeA,EAAertR,OAAS,EAAI/J,GAG5D,IAAK,IAAIwoQ,EAAK,EAAGA,EAAK+uB,EAAY/uB,IAChC0uB,GAAeE,EAAe5uB,GAGhC,IAAK,IAAIivB,EAAM,EAAGA,EAAMp2N,EAAM1xD,MAAM8/Q,aAAcgI,IAChDN,GAAcC,EAAeK,GAG/B,IAAIC,EAAc,CAChB51Q,MAAOo1Q,EAAc,KACrBnjR,MAAOojR,EAAa,MAGtB,GAAI91N,EAAMzzD,MAAMywE,WAAY,CAC1B,IAAIs5M,EAAe,GAAG58Q,OAAOq8Q,EAAe/1N,EAAM1xD,MAAM8/Q,cAAe,MACvEiI,EAAY3jR,KAAO,QAAQgH,OAAO28Q,EAAY3jR,KAAM,eAAegH,OAAO48Q,EAAc,WAC1F,CAEA,MAAO,CACLlD,WAAYiD,EAEhB,CAEA,IAAIE,EAAgBj4E,EAAgB,QAAE82E,SAASj7N,MAAM6F,EAAMzzD,MAAMyC,UAE7DuiR,EAAOz4B,EAAcA,EAAcA,EAAc,CAAC,EAAG94L,EAAMzzD,OAAQyzD,EAAM1xD,OAAQ,CAAC,EAAG,CACvF+/Q,WAAYkI,IAGVlI,GAAa,EAAIR,EAAkBoI,cAAc1E,IAAQ,EAAI1D,EAAkBsI,eAAe5E,GAAQgF,EACtGlD,EAAa,IAAMrzN,EAAMzzD,MAAM2wE,aAAemxM,EAC9CsE,EAAa,IAAMtE,EACnBmI,GAAa7D,IAAc,EAAI9E,EAAkBoI,cAAc1E,GAAQvxN,EAAM1xD,MAAM8/Q,cAAgBiF,EAAa,IAUpH,OARIrzN,EAAMzzD,MAAMywE,aACdw5M,IAAc,IAAM7D,EAAaU,EAAa,KAAO,GAOhD,CACLV,WAAYA,EAAa,IACzBS,WANe,CACf3yQ,MAAO4yQ,EAAa,IACpB3gR,KAAM8jR,EAAY,KAMtB,IAEA99B,EAAgBtoL,EAAuBpQ,GAAQ,mBAAmB,WAChE,IAAI4rH,EAAS5rH,EAAMvtC,KAAKqxJ,kBAAoB9jH,EAAMvtC,KAAKqxJ,iBAAiB,qBAAuB,GAC3F2yG,EAAc7qG,EAAOljL,OACrBguR,EAAc,EAClB31P,MAAMtF,UAAUn2B,QAAQk2B,KAAKowJ,GAAQ,SAAU/zJ,GAC7C,IAAIkmF,EAAU,WACZ,QAAS24K,GAAeA,GAAeD,GAAez2N,EAAMy0N,iBAC9D,EAEA,GAAK58P,EAAM8+P,QAIJ,CACL,IAAIC,EAAmB/+P,EAAM8+P,QAE7B9+P,EAAM8+P,QAAU,WACdC,IACA/+P,EAAMigD,WAAWs5H,OACnB,CACF,MAVEv5K,EAAM8+P,QAAU,WACd,OAAO9+P,EAAMigD,WAAWs5H,OAC1B,EAUGv5K,EAAMw7F,SACLrzD,EAAMzzD,MAAMyjR,SACdn4P,EAAMw7F,OAAS,WACbrzD,EAAMq0N,cAENr0N,EAAM00N,eAAeryR,KAAKkN,WAAWywD,EAAMy0N,gBAAiBz0N,EAAMzzD,MAAM6wE,OAC1E,GAEAvlD,EAAMw7F,OAAStV,EAEflmF,EAAMmzF,QAAU,WACdjN,IACA/9C,EAAMzzD,MAAM4jR,iBAAmBnwN,EAAMzzD,MAAM4jR,iBAC7C,GAGN,GACF,IAEAz3B,EAAgBtoL,EAAuBpQ,GAAQ,uBAAuB,WAKpE,IAJA,IAAI+zN,EAAe,GAEfxC,EAAOz4B,EAAcA,EAAc,CAAC,EAAG94L,EAAMzzD,OAAQyzD,EAAM1xD,OAEtD9I,EAAQw6D,EAAM1xD,MAAM8/Q,aAAc5oR,EAAQw6D,EAAM1xD,MAAM+/Q,YAAa,EAAIR,EAAkBsI,eAAe5E,GAAO/rR,IACtH,GAAIw6D,EAAM1xD,MAAMikR,eAAe1xP,QAAQr7B,GAAS,EAAG,CACjDuuR,EAAa1xR,KAAKmD,GAClB,KACF,CAGF,IAAK,IAAIqxR,EAAS72N,EAAM1xD,MAAM8/Q,aAAe,EAAGyI,KAAW,EAAIhJ,EAAkBoI,cAAc1E,GAAOsF,IACpG,GAAI72N,EAAM1xD,MAAMikR,eAAe1xP,QAAQg2P,GAAU,EAAG,CAClD9C,EAAa1xR,KAAKw0R,GAClB,KACF,CAGE9C,EAAarrR,OAAS,GACxBs3D,EAAM54B,UAAS,SAAU94B,GACvB,MAAO,CACLikR,eAAgBjkR,EAAMikR,eAAe74Q,OAAOq6Q,GAEhD,IAEI/zN,EAAMzzD,MAAM0nR,YACdj0N,EAAMzzD,MAAM0nR,WAAWF,IAGrB/zN,EAAMs0N,gBACR15J,cAAc56D,EAAMs0N,sBACbt0N,EAAMs0N,cAGnB,IAEA57B,EAAgBtoL,EAAuBpQ,GAAQ,gBAAgB,SAAUx6D,GACvE,IAAIsxR,EAAczsP,UAAU3hC,OAAS,QAAsB5F,IAAjBunC,UAAU,IAAmBA,UAAU,GAC7E+pC,EAAcpU,EAAMzzD,MACpBwqR,EAAW3iN,EAAY2iN,SACvBz5M,EAAelJ,EAAYkJ,aAC3B22M,EAAa7/M,EAAY6/M,WACzB72M,EAAQhJ,EAAYgJ,MACpB+xM,EAAc/6M,EAAY+6M,YAE1Bf,EAAepuN,EAAM1xD,MAAM8/Q,aAE3B4I,GAAgB,EAAInJ,EAAkBoJ,cAAcn+B,EAAcA,EAAcA,EAAc,CAChGtzP,MAAOA,GACNw6D,EAAMzzD,OAAQyzD,EAAM1xD,OAAQ,CAAC,EAAG,CACjC6lR,SAAUn0N,EAAM2iC,MAChBsuL,OAAQjxN,EAAMzzD,MAAM0kR,SAAW6F,KAE7BxoR,EAAQ0oR,EAAc1oR,MACtB+0D,EAAY2zN,EAAc3zN,UAE9B,GAAK/0D,EAAL,CACAgvE,GAAgBA,EAAa8wM,EAAc9/Q,EAAM8/Q,cACjD,IAAI2F,EAAezlR,EAAMikR,eAAejpR,QAAO,SAAUiE,GACvD,OAAOyyD,EAAM1xD,MAAMikR,eAAe1xP,QAAQtzB,GAAS,CACrD,IACA0mR,GAAcF,EAAarrR,OAAS,GAAKurR,EAAWF,IAE/C/zN,EAAMzzD,MAAM8kR,gBAAkBrxN,EAAM+0N,uBACvC/oN,aAAahM,EAAM+0N,sBACnB5F,GAAeA,EAAYf,UACpBpuN,EAAM+0N,sBAGf/0N,EAAM54B,SAAS94B,GAAO,WAEhByoR,GAAY/2N,EAAMk3N,gBAAkB1xR,IACtCw6D,EAAMk3N,cAAgB1xR,EACtBuxR,EAASI,YAAYF,aAAazxR,IAG/B69D,IACLrD,EAAM+0N,qBAAuBxlR,YAAW,WACtC,IAAI0iR,EAAY5uN,EAAU4uN,UACtBmF,EAAa/sB,EAAyBhnM,EAAW,CAAC,cAEtDrD,EAAM54B,SAASgwP,GAAY,WACzBp3N,EAAM00N,eAAeryR,KAAKkN,YAAW,WACnC,OAAOywD,EAAM54B,SAAS,CACpB6qP,UAAWA,GAEf,GAAG,KAEH9C,GAAeA,EAAY7gR,EAAM8/Q,qBAC1BpuN,EAAM+0N,oBACf,GACF,GAAG33M,GACL,GApCkB,CAqCpB,IAEAs7K,EAAgBtoL,EAAuBpQ,GAAQ,eAAe,SAAU98D,GACtE,IAAI4zR,EAAczsP,UAAU3hC,OAAS,QAAsB5F,IAAjBunC,UAAU,IAAmBA,UAAU,GAE7EknP,EAAOz4B,EAAcA,EAAc,CAAC,EAAG94L,EAAMzzD,OAAQyzD,EAAM1xD,OAE3DglR,GAAc,EAAIzF,EAAkBjmG,aAAa2pG,EAAMruR,GAC3D,IAAoB,IAAhBowR,GAAsBA,MAEN,IAAhBwD,EACF92N,EAAMi3N,aAAa3D,EAAawD,GAEhC92N,EAAMi3N,aAAa3D,GAGrBtzN,EAAMzzD,MAAM+iR,UAAYtvN,EAAMywF,SAAS,UAEnCzwF,EAAMzzD,MAAMujR,eAAe,CAC7B,IAAIuH,EAAQr3N,EAAMvtC,KAAKqxJ,iBAAiB,kBAExCuzG,EAAM,IAAMA,EAAM,GAAGjmF,OACvB,CACF,IAEAsnD,EAAgBtoL,EAAuBpQ,GAAQ,gBAAgB,SAAUtxD,IAC/C,IAApBsxD,EAAMs3N,YACR5oR,EAAEktE,kBACFltE,EAAE6B,kBAGJyvD,EAAMs3N,WAAY,CACpB,IAEA5+B,EAAgBtoL,EAAuBpQ,GAAQ,cAAc,SAAUtxD,GACrE,IAAI6oR,GAAM,EAAI1J,EAAkB2J,YAAY9oR,EAAGsxD,EAAMzzD,MAAM0iR,cAAejvN,EAAMzzD,MAAMkkR,KAC9E,KAAR8G,GAAcv3N,EAAM4nH,YAAY,CAC9BjkL,QAAS4zR,GAEb,IAEA7+B,EAAgBtoL,EAAuBpQ,GAAQ,iBAAiB,SAAU98D,GACxE88D,EAAM4nH,YAAY1kL,EACpB,IAEAw1P,EAAgBtoL,EAAuBpQ,GAAQ,qBAAqB,WAOlEh/D,OAAOy2R,YANc,SAAwB/oR,IAC3CA,EAAIA,GAAK1N,OAAOsP,OACVC,gBAAgB7B,EAAE6B,iBACxB7B,EAAEgpR,aAAc,CAClB,CAGF,IAEAh/B,EAAgBtoL,EAAuBpQ,GAAQ,oBAAoB,WACjEh/D,OAAOy2R,YAAc,IACvB,IAEA/+B,EAAgBtoL,EAAuBpQ,GAAQ,cAAc,SAAUtxD,GACjEsxD,EAAMzzD,MAAMorR,iBACd33N,EAAM43N,oBAGR,IAAItpR,GAAQ,EAAIu/Q,EAAkBgK,YAAYnpR,EAAGsxD,EAAMzzD,MAAM4wE,MAAOnd,EAAMzzD,MAAMqkE,WACtE,KAAVtiE,GAAgB0xD,EAAM54B,SAAS94B,EACjC,IAEAoqP,EAAgBtoL,EAAuBpQ,GAAQ,aAAa,SAAUtxD,GACpE,IAAIJ,GAAQ,EAAIu/Q,EAAkBiK,WAAWppR,EAAGoqP,EAAcA,EAAcA,EAAc,CAAC,EAAG94L,EAAMzzD,OAAQyzD,EAAM1xD,OAAQ,CAAC,EAAG,CAC5H6lR,SAAUn0N,EAAM2iC,MAChBuxL,QAASl0N,EAAMvtC,KACfgzJ,WAAYzlH,EAAM1xD,MAAM8/Q,gBAErB9/Q,IAEDA,EAAe,UACjB0xD,EAAMs3N,WAAY,GAGpBt3N,EAAM54B,SAAS94B,GACjB,IAEAoqP,EAAgBtoL,EAAuBpQ,GAAQ,YAAY,SAAUtxD,GACnE,IAAIJ,GAAQ,EAAIu/Q,EAAkBkK,UAAUrpR,EAAGoqP,EAAcA,EAAcA,EAAc,CAAC,EAAG94L,EAAMzzD,OAAQyzD,EAAM1xD,OAAQ,CAAC,EAAG,CAC3H6lR,SAAUn0N,EAAM2iC,MAChBuxL,QAASl0N,EAAMvtC,KACfgzJ,WAAYzlH,EAAM1xD,MAAM8/Q,gBAE1B,GAAK9/Q,EAAL,CACA,IAAI0pR,EAAsB1pR,EAA2B,2BAC9CA,EAA2B,oBAElC0xD,EAAM54B,SAAS94B,QAEaxL,IAAxBk1R,IAEJh4N,EAAMi3N,aAAae,GAEfh4N,EAAMzzD,MAAMorR,iBACd33N,EAAMi4N,mBAXU,CAapB,IAEAv/B,EAAgBtoL,EAAuBpQ,GAAQ,YAAY,SAAUtxD,GACnEsxD,EAAM+3N,SAASrpR,GAEfsxD,EAAMs3N,WAAY,CACpB,IAEA5+B,EAAgBtoL,EAAuBpQ,GAAQ,aAAa,WAI1DA,EAAM00N,eAAeryR,KAAKkN,YAAW,WACnC,OAAOywD,EAAM4nH,YAAY,CACvBjkL,QAAS,YAEb,GAAG,GACL,IAEA+0P,EAAgBtoL,EAAuBpQ,GAAQ,aAAa,WAC1DA,EAAM00N,eAAeryR,KAAKkN,YAAW,WACnC,OAAOywD,EAAM4nH,YAAY,CACvBjkL,QAAS,QAEb,GAAG,GACL,IAEA+0P,EAAgBtoL,EAAuBpQ,GAAQ,aAAa,SAAU0wN,GACpE,IAAIoG,EAAczsP,UAAU3hC,OAAS,QAAsB5F,IAAjBunC,UAAU,IAAmBA,UAAU,GAEjF,GADAqmP,EAAQj/P,OAAOi/P,GACX/qN,MAAM+qN,GAAQ,MAAO,GAEzB1wN,EAAM00N,eAAeryR,KAAKkN,YAAW,WACnC,OAAOywD,EAAM4nH,YAAY,CACvBjkL,QAAS,QACT6B,MAAOkrR,EACPtC,aAAcpuN,EAAM1xD,MAAM8/Q,cACzB0I,EACL,GAAG,GACL,IAEAp+B,EAAgBtoL,EAAuBpQ,GAAQ,QAAQ,WACrD,IAAI6nH,EAEJ,GAAI7nH,EAAMzzD,MAAMkkR,IACd5oG,EAAY7nH,EAAM1xD,MAAM8/Q,aAAepuN,EAAMzzD,MAAMqkR,mBAC9C,CACL,KAAI,EAAI/C,EAAkBiB,WAAWh2B,EAAcA,EAAc,CAAC,EAAG94L,EAAMzzD,OAAQyzD,EAAM1xD,QAGvF,OAAO,EAFPu5K,EAAY7nH,EAAM1xD,MAAM8/Q,aAAepuN,EAAMzzD,MAAMqkR,cAIvD,CAEA5wN,EAAMi3N,aAAapvG,EACrB,IAEA6wE,EAAgBtoL,EAAuBpQ,GAAQ,YAAY,SAAUk4N,GAC/Dl4N,EAAMg1N,eACRp6J,cAAc56D,EAAMg1N,eAGtB,IAAI9C,EAAclyN,EAAM1xD,MAAM4jR,YAE9B,GAAiB,WAAbgG,GACF,GAAoB,YAAhBhG,GAA6C,YAAhBA,GAA6C,WAAhBA,EAC5D,YAEG,GAAiB,UAAbgG,GACT,GAAoB,WAAhBhG,GAA4C,YAAhBA,EAC9B,YAEG,GAAiB,SAAbgG,IACW,WAAhBhG,GAA4C,YAAhBA,GAC9B,OAIJlyN,EAAMg1N,cAAgBrgK,YAAY30D,EAAMm4N,KAAMn4N,EAAMzzD,MAAMgjR,cAAgB,IAE1EvvN,EAAM54B,SAAS,CACb8qP,YAAa,WAEjB,IAEAx5B,EAAgBtoL,EAAuBpQ,GAAQ,SAAS,SAAUo4N,GAC5Dp4N,EAAMg1N,gBACRp6J,cAAc56D,EAAMg1N,eACpBh1N,EAAMg1N,cAAgB,MAGxB,IAAI9C,EAAclyN,EAAM1xD,MAAM4jR,YAEZ,WAAdkG,EACFp4N,EAAM54B,SAAS,CACb8qP,YAAa,WAEQ,YAAdkG,EACW,YAAhBlG,GAA6C,YAAhBA,GAC/BlyN,EAAM54B,SAAS,CACb8qP,YAAa,YAKG,YAAhBA,GACFlyN,EAAM54B,SAAS,CACb8qP,YAAa,WAIrB,IAEAx5B,EAAgBtoL,EAAuBpQ,GAAQ,cAAc,WAC3D,OAAOA,EAAMzzD,MAAM+iR,UAAYtvN,EAAMq1N,MAAM,UAC7C,IAEA38B,EAAgBtoL,EAAuBpQ,GAAQ,eAAe,WAC5D,OAAOA,EAAMzzD,MAAM+iR,UAAwC,YAA5BtvN,EAAM1xD,MAAM4jR,aAA6BlyN,EAAMywF,SAAS,QACzF,IAEAioG,EAAgBtoL,EAAuBpQ,GAAQ,eAAe,WAC5D,OAAOA,EAAMzzD,MAAM+iR,UAAYtvN,EAAMq1N,MAAM,UAC7C,IAEA38B,EAAgBtoL,EAAuBpQ,GAAQ,gBAAgB,WAC7D,OAAOA,EAAMzzD,MAAM+iR,UAAwC,YAA5BtvN,EAAM1xD,MAAM4jR,aAA6BlyN,EAAMywF,SAAS,QACzF,IAEAioG,EAAgBtoL,EAAuBpQ,GAAQ,gBAAgB,WAC7D,OAAOA,EAAMzzD,MAAM+iR,UAAYtvN,EAAMq1N,MAAM,UAC7C,IAEA38B,EAAgBtoL,EAAuBpQ,GAAQ,eAAe,WAC5D,OAAOA,EAAMzzD,MAAM+iR,UAAwC,YAA5BtvN,EAAM1xD,MAAM4jR,aAA6BlyN,EAAMywF,SAAS,OACzF,IAEAioG,EAAgBtoL,EAAuBpQ,GAAQ,UAAU,WACvD,IAeIqvN,EAcAb,EAAWQ,EA7BXl5Q,GAAY,EAAI83Q,EAAqB,SAAG,eAAgB5tN,EAAMzzD,MAAMuJ,UAAW,CACjF,iBAAkBkqD,EAAMzzD,MAAM6kR,SAC9B,qBAAqB,IAGnBG,EAAOz4B,EAAcA,EAAc,CAAC,EAAG94L,EAAMzzD,OAAQyzD,EAAM1xD,OAE3D+pR,GAAa,EAAIxK,EAAkByK,eAAe/G,EAAM,CAAC,OAAQ,UAAW,QAAS,WAAY,aAAc,gBAAiB,eAAgB,WAAY,iBAAkB,MAAO,aAAc,cAAe,aAAc,WAAY,eAAgB,iBAAkB,aAAc,aAAc,gBAAiB,UAAW,gBAAiB,cAAe,WACtWhB,EAAevwN,EAAMzzD,MAAMgkR,aAS/B,GARA8H,EAAav/B,EAAcA,EAAc,CAAC,EAAGu/B,GAAa,CAAC,EAAG,CAC5DtoP,aAAcwgP,EAAevwN,EAAMu4N,YAAc,KACjDr6N,aAAcqyN,EAAevwN,EAAMw4N,aAAe,KAClDhH,YAAajB,EAAevwN,EAAMu4N,YAAc,KAChDzI,cAAe9vN,EAAMzzD,MAAMujR,eAAiB9vN,EAAMs3N,UAAYt3N,EAAMy4N,cAAgB,QAI7D,IAArBz4N,EAAMzzD,MAAM8iR,MAAiBrvN,EAAM1xD,MAAM+/Q,YAAcruN,EAAMzzD,MAAM2wE,aAAc,CACnF,IAAIw7M,GAAW,EAAI7K,EAAkByK,eAAe/G,EAAM,CAAC,YAAa,aAAc,eAAgB,eAAgB,iBAAkB,eAAgB,WAAY,eAAgB,WAAY,eAC5LlB,EAAmBrwN,EAAMzzD,MAAM8jR,iBACnCqI,EAAW5/B,EAAcA,EAAc,CAAC,EAAG4/B,GAAW,CAAC,EAAG,CACxDzK,aAAcjuN,EAAM4nH,YACpB73I,aAAcsgP,EAAmBrwN,EAAM24N,YAAc,KACrDnH,YAAanB,EAAmBrwN,EAAM44N,WAAa,KACnD16N,aAAcmyN,EAAmBrwN,EAAM24N,YAAc,OAEvDtJ,EAAoB/wE,EAAgB,QAAE5+I,cAAci0N,EAAMrC,KAAMoH,EAClE,CAGA,IAAIG,GAAa,EAAIhL,EAAkByK,eAAe/G,EAAM,CAAC,WAAY,aAAc,eAAgB,aAAc,eAAgB,YAAa,cAClJsH,EAAW5K,aAAejuN,EAAM4nH,YAE5B5nH,EAAMzzD,MAAM8wE,SACdmxM,EAAyBlwE,EAAgB,QAAE5+I,cAAck0N,EAAQjG,UAAWkL,GAC5E7J,EAAyB1wE,EAAgB,QAAE5+I,cAAck0N,EAAQlG,UAAWmL,IAG9E,IAAIC,EAAsB,KAEtB94N,EAAMzzD,MAAM6kR,WACd0H,EAAsB,CACpB/2Q,OAAQi+C,EAAM1xD,MAAMkkR,aAIxB,IAAIuG,EAAqB,MAEI,IAAzB/4N,EAAMzzD,MAAM6kR,UACiB,IAA3BpxN,EAAMzzD,MAAMywE,aACd+7M,EAAqB,CACnB3mR,QAAS,OAAS4tD,EAAMzzD,MAAM0wE,iBAIH,IAA3Bjd,EAAMzzD,MAAMywE,aACd+7M,EAAqB,CACnB3mR,QAAS4tD,EAAMzzD,MAAM0wE,cAAgB,SAK3C,IAAI+7M,EAAYlgC,EAAcA,EAAc,CAAC,EAAGggC,GAAsBC,GAElEhI,EAAY/wN,EAAMzzD,MAAMwkR,UACxBkI,EAAY,CACdnjR,UAAW,aACXyB,MAAOyhR,EACPjpR,QAASiwD,EAAMiuN,aACfjrG,YAAa+tG,EAAY/wN,EAAM63N,WAAa,KAC5ChoP,YAAamwB,EAAM1xD,MAAM+jR,UAAYtB,EAAY/wN,EAAM83N,UAAY,KACnEoB,UAAWnI,EAAY/wN,EAAM+3N,SAAW,KACxC75N,aAAc8B,EAAM1xD,MAAM+jR,UAAYtB,EAAY/wN,EAAM+3N,SAAW,KACnEnzM,aAAcmsM,EAAY/wN,EAAM63N,WAAa,KAC7C/zB,YAAa9jM,EAAM1xD,MAAM+jR,UAAYtB,EAAY/wN,EAAM83N,UAAY,KACnEqB,WAAYpI,EAAY/wN,EAAMo5N,SAAW,KACzCC,cAAer5N,EAAM1xD,MAAM+jR,UAAYtB,EAAY/wN,EAAM+3N,SAAW,KACpEjsM,UAAW9rB,EAAMzzD,MAAM0iR,cAAgBjvN,EAAMw3N,WAAa,MAExD8B,EAAmB,CACrBxjR,UAAWA,EACXyhR,IAAK,MACLhgR,MAAOyoD,EAAMzzD,MAAMgL,OAYrB,OATIyoD,EAAMzzD,MAAMgtR,UACdN,EAAY,CACVnjR,UAAW,cAEbwjR,EAAmB,CACjBxjR,UAAWA,IAIKwoM,EAAgB,QAAE5+I,cAAc,MAAO45N,EAAmBt5N,EAAMzzD,MAAMgtR,QAAsB,GAAZ/K,EAA6BlwE,EAAgB,QAAE5+I,cAAc,MAAOgB,EAAS,CAC/K7zD,IAAKmzD,EAAMw5N,gBACVP,GAAyB36E,EAAgB,QAAE5+I,cAAcg0N,EAAO+F,MAAO/4N,EAAS,CACjF7zD,IAAKmzD,EAAM05N,iBACVrB,GAAar4N,EAAMzzD,MAAMyC,WAAagxD,EAAMzzD,MAAMgtR,QAAsB,GAAZvK,EAAiBhvN,EAAMzzD,MAAMgtR,QAAiB,GAAPlK,EACxG,IAEArvN,EAAMvtC,KAAO,KACbutC,EAAM2iC,MAAQ,KACd3iC,EAAM1xD,MAAQwqP,EAAcA,EAAc,CAAC,EAAG06B,EAAuB,SAAI,CAAC,EAAG,CAC3EpF,aAAcpuN,EAAMzzD,MAAMwjR,aAC1B1B,WAAY/vE,EAAgB,QAAE82E,SAASj7N,MAAM6F,EAAMzzD,MAAMyC,YAE3DgxD,EAAM00N,eAAiB,GACvB10N,EAAMs3N,WAAY,EAClBt3N,EAAMs1N,gBAAkB,KAExB,IAAIqE,EAAW35N,EAAM45N,UAGrB,OADA55N,EAAM1xD,MAAQwqP,EAAcA,EAAc,CAAC,EAAG94L,EAAM1xD,OAAQqrR,GACrD35N,CACT,CA6BA,OA3zBoBihM,EAgyBPsyB,GAhyBoBryB,EAgyBP,CAAC,CACzBvwP,IAAK,iBACLpD,MAAO,SAAwBgrE,GAG7B,IAFA,IAAI28M,GAAgB,EAEX2E,EAAM,EAAGC,EAAel+Q,OAAOghB,KAAK/9B,KAAK0N,OAAQstR,EAAMC,EAAapxR,OAAQmxR,IAAO,CAC1F,IAAIlpR,EAAMmpR,EAAaD,GAEvB,IAAKthN,EAAUl7B,eAAe1sC,GAAM,CAClCukR,GAAgB,EAChB,KACF,CAEA,GAAgC,WAA5B/1B,EAAQ5mL,EAAU5nE,KAAgD,mBAAnB4nE,EAAU5nE,IAIzD4nE,EAAU5nE,KAAS9R,KAAK0N,MAAMoE,GAAM,CACtCukR,GAAgB,EAChB,KACF,CACF,CAEA,OAAOA,GAAiB52E,EAAgB,QAAE82E,SAASj7N,MAAMt7D,KAAK0N,MAAMyC,YAAcsvM,EAAgB,QAAE82E,SAASj7N,MAAMoe,EAAUvpE,SAC/H,MAxzB0E4wP,EAAkBqB,EAAYxlO,UAAWylO,GAAiBC,GAAavB,EAAkBqB,EAAaE,GA2zB3KoyB,CACT,CA1yB+B,CA0yB7Bj1E,EAAgB,QAAE1+I,WAEpBvhE,EAAQk1R,YAAcA,C,8BCv2BtB33Q,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAiB,aAAI,EAErB,IAAIigN,EAASmnC,EAAuB,EAAQ,OAExCs0C,EAAe,EAAQ,MAEvBC,EAAWv0C,EAAuB,EAAQ,OAE1Cw0C,EAAgBx0C,EAAuB,EAAQ,OAE/CooC,EAAoB,EAAQ,MAEhC,SAASpoC,EAAuB92N,GAAO,OAAOA,GAAOA,EAAI+2N,WAAa/2N,EAAM,CAAE,QAAWA,EAAO,CAEhG,SAASwwO,EAAQxwO,GAAmV,OAAtOwwO,EAArD,mBAAXpV,QAAoD,iBAApBA,OAAOS,SAAmC,SAAiB77N,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXo7N,QAAyBp7N,EAAIjrB,cAAgBqmP,QAAUp7N,IAAQo7N,OAAOtuN,UAAY,gBAAkB9M,CAAK,EAAYwwO,EAAQxwO,EAAM,CAEzX,SAAS+xC,IAA2Q,OAA9PA,EAAW9kD,OAAOC,QAAU,SAAUhN,GAAU,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CAAE,IAAIw4G,EAAS9sE,UAAU1rC,GAAI,IAAK,IAAIgS,KAAOwmG,EAAcv7F,OAAO6f,UAAU4hB,eAAe7hB,KAAK27E,EAAQxmG,KAAQ9B,EAAO8B,GAAOwmG,EAAOxmG,GAAU,CAAE,OAAO9B,CAAQ,EAAU6xD,EAASpB,MAAMzgE,KAAMwrC,UAAY,CAE5T,SAASiuN,EAAQlsI,EAAQmsI,GAAkB,IAAI37N,EAAOhhB,OAAOghB,KAAKwvF,GAAS,GAAIxwG,OAAOq0L,sBAAuB,CAAE,IAAIuoD,EAAU58O,OAAOq0L,sBAAsB7jF,GAAamsI,IAAgBC,EAAUA,EAAQlvP,QAAO,SAAUmvP,GAAO,OAAO78O,OAAOi3G,yBAAyBzG,EAAQqsI,GAAKhuD,UAAY,KAAI7tK,EAAKv6B,KAAKi9D,MAAM1iC,EAAM47N,EAAU,CAAE,OAAO57N,CAAM,CAEpV,SAASk8N,EAAcjqP,GAAU,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CAAE,IAAIw4G,EAAyB,MAAhB9sE,UAAU1rC,GAAa0rC,UAAU1rC,GAAK,CAAC,EAAOA,EAAI,EAAK25P,EAAQ18O,OAAOu7F,IAAS,GAAM7xG,SAAQ,SAAUqL,GAAO+nP,EAAgB7pP,EAAQ8B,EAAKwmG,EAAOxmG,GAAO,IAAeiL,OAAOg9O,0BAA6Bh9O,OAAOi9O,iBAAiBhqP,EAAQ+M,OAAOg9O,0BAA0BzhJ,IAAmBmhJ,EAAQ18O,OAAOu7F,IAAS7xG,SAAQ,SAAUqL,GAAOiL,OAAOwvD,eAAev8D,EAAQ8B,EAAKiL,OAAOi3G,yBAAyB1b,EAAQxmG,GAAO,GAAM,CAAE,OAAO9B,CAAQ,CAIrhB,SAAS+wP,EAAkB/wP,EAAQtC,GAAS,IAAK,IAAI5N,EAAI,EAAGA,EAAI4N,EAAM7D,OAAQ/J,IAAK,CAAE,IAAI09P,EAAa9vP,EAAM5N,GAAI09P,EAAW5xD,WAAa4xD,EAAW5xD,aAAc,EAAO4xD,EAAW3kJ,cAAe,EAAU,UAAW2kJ,IAAYA,EAAW5kJ,UAAW,GAAM77F,OAAOwvD,eAAev8D,EAAQwtP,EAAW1rP,IAAK0rP,EAAa,CAAE,CAM5T,SAASmE,EAAgBjT,EAAGjyN,GAA+G,OAA1GklO,EAAkB5kP,OAAOs0G,gBAAkB,SAAyBq9H,EAAGjyN,GAAsB,OAAjBiyN,EAAEp9H,UAAY70F,EAAUiyN,CAAG,EAAUiT,EAAgBjT,EAAGjyN,EAAI,CAEzK,SAASukO,EAAaC,GAAW,IAAIiuB,EAMrC,WAAuC,GAAuB,oBAAZ9tB,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAV3oC,MAAsB,OAAO,EAAM,IAAiF,OAA3E5kL,KAAKnX,UAAU7Y,SAAS4Y,KAAKykO,QAAQC,UAAUttN,KAAM,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOlkC,GAAK,OAAO,CAAO,CAAE,CANlQ0xP,GAA6B,OAAO,WAAkC,IAAsCrxO,EAAlCgxO,EAAQC,EAAgBF,GAAkB,GAAIiuB,EAA2B,CAAE,IAAI1tB,EAAYL,EAAgBnhQ,MAAM6E,YAAaqrB,EAASkxO,QAAQC,UAAUH,EAAO11N,UAAWg2N,EAAY,MAAStxO,EAASgxO,EAAMzgM,MAAMzgE,KAAMwrC,WAAc,OAEpX,SAAoCzrC,EAAM48B,GAAQ,GAAIA,IAA2B,WAAlB2jO,EAAQ3jO,IAAsC,mBAATA,GAAwB,OAAOA,EAAQ,OAAO40C,EAAuBxxE,EAAO,CAF2M0hQ,CAA2BzhQ,KAAMkwB,EAAS,CAAG,CAIxa,SAASqhD,EAAuBxxE,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI2hQ,eAAe,6DAAgE,OAAO3hQ,CAAM,CAIrK,SAASohQ,EAAgBzS,GAAwJ,OAAnJyS,EAAkBpkP,OAAOs0G,eAAiBt0G,OAAOkvD,eAAiB,SAAyByiL,GAAK,OAAOA,EAAEp9H,WAAav0G,OAAOkvD,eAAeyiL,EAAI,EAAUyS,EAAgBzS,EAAI,CAE5M,SAASmL,EAAgB/pO,EAAKhe,EAAKpD,GAAiK,OAApJoD,KAAOge,EAAO/S,OAAOwvD,eAAez8C,EAAKhe,EAAK,CAAEpD,MAAOA,EAAOk9L,YAAY,EAAM/yF,cAAc,EAAMD,UAAU,IAAkB9oF,EAAIhe,GAAOpD,EAAgBohB,CAAK,CAEhN,IAAIurQ,GAAU,EAAIrM,EAAkBtiN,cAAgB,EAAQ,KAExDgS,EAAsB,SAAUu2M,IAlBpC,SAAmBhzB,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI/1J,UAAU,sDAAyD81J,EAASrlO,UAAY7f,OAAO8f,OAAOqlO,GAAcA,EAAWtlO,UAAW,CAAE/3B,YAAa,CAAE6J,MAAOuzP,EAAUrpJ,UAAU,EAAMC,cAAc,KAAeqpJ,GAAYP,EAAgBM,EAAUC,EAAa,CAmB9XC,CAAUzjL,EAAQu2M,GAElB,IAvBoB7yB,EAAaC,EAAYC,EAuBzCC,EAASvB,EAAatiL,GAE1B,SAASA,EAAOhxE,GACd,IAAIyzD,EAmCJ,OAjEJ,SAAyB+P,EAAUkxL,GAAe,KAAMlxL,aAAoBkxL,GAAgB,MAAM,IAAIj2J,UAAU,oCAAwC,CAgCpJu2J,CAAgB1iQ,KAAM0+E,GAItBm7K,EAAgBtoL,EAFhBpQ,EAAQohM,EAAO5lO,KAAK38B,KAAM0N,IAEqB,yBAAyB,SAAUM,GAChF,OAAOmzD,EAAMm3N,YAActqR,CAC7B,IAEA6rP,EAAgBtoL,EAAuBpQ,GAAQ,aAAa,WAC1D,OAAOA,EAAMm3N,YAAYgD,WAC3B,IAEAzhC,EAAgBtoL,EAAuBpQ,GAAQ,aAAa,WAC1D,OAAOA,EAAMm3N,YAAYiD,WAC3B,IAEA1hC,EAAgBtoL,EAAuBpQ,GAAQ,aAAa,SAAU0wN,GACpE,IAAIoG,EAAczsP,UAAU3hC,OAAS,QAAsB5F,IAAjBunC,UAAU,IAAmBA,UAAU,GACjF,OAAO21B,EAAMm3N,YAAYt6M,UAAU6zM,EAAOoG,EAC5C,IAEAp+B,EAAgBtoL,EAAuBpQ,GAAQ,cAAc,WAC3D,OAAOA,EAAMm3N,YAAY9B,MAAM,SACjC,IAEA38B,EAAgBtoL,EAAuBpQ,GAAQ,aAAa,WAC1D,OAAOA,EAAMm3N,YAAY1mI,SAAS,OACpC,IAEAzwF,EAAM1xD,MAAQ,CACZ+4C,WAAY,MAEd2Y,EAAMq6N,yBAA2B,GAC1Br6N,CACT,CAgMA,OA9PoBihM,EAgEP1jL,GAhEoB2jL,EAgEZ,CAAC,CACpBvwP,IAAK,QACLpD,MAAO,SAAe2sG,EAAO6D,GAE3Bm8K,EAAQpmR,SAASomG,EAAO6D,GAExBl/G,KAAKw7R,yBAAyBh4R,KAAK,CACjC63G,MAAOA,EACP6D,QAASA,GAEb,GAEC,CACDptG,IAAK,oBACLpD,MAAO,WACL,IAAIi2D,EAAS3kE,KAOb,GAAIA,KAAK0N,MAAMikR,WAAY,CACzB,IAAIx8E,EAAcn1M,KAAK0N,MAAMikR,WAAW9/Q,KAAI,SAAU4pR,GACpD,OAAOA,EAAQjzO,UACjB,IAEA2sJ,EAAY5kL,MAAK,SAAU8gC,EAAGF,GAC5B,OAAOE,EAAIF,CACb,IACAgkJ,EAAY1uM,SAAQ,SAAU+hD,EAAY7hD,GAExC,IAAI+0R,EAGFA,EADY,IAAV/0R,GACO,EAAIw0R,EAAkB,SAAG,CAChCQ,SAAU,EACVvtQ,SAAUo6B,KAGH,EAAI2yO,EAAkB,SAAG,CAChCQ,SAAUxmF,EAAYxuM,EAAQ,GAAK,EACnCynB,SAAUo6B,KAKd,EAAIwmO,EAAkBtiN,cAAgB/H,EAAOi3N,MAAMF,GAAQ,WACzD/2N,EAAOp8B,SAAS,CACdigB,WAAYA,GAEhB,GACF,IAGA,IAAI6yD,GAAQ,EAAI8/K,EAAkB,SAAG,CACnCQ,SAAUxmF,EAAYv6L,OAAO,GAAG,MAElC,EAAIo0Q,EAAkBtiN,cAAgB1sE,KAAK47R,MAAMvgL,GAAO,WACtD12C,EAAOp8B,SAAS,CACdigB,WAAY,MAEhB,GACF,CACF,GACC,CACD12C,IAAK,uBACLpD,MAAO,WACL1O,KAAKw7R,yBAAyB/0R,SAAQ,SAAUqpB,GAC9CurQ,EAAQplC,WAAWnmO,EAAIurF,MAAOvrF,EAAIovF,QACpC,GACF,GACC,CACDptG,IAAK,SACLpD,MAAO,WACL,IAEIuvE,EACA49M,EAHAliN,EAAS35E,MASXi+E,EAJEj+E,KAAKyP,MAAM+4C,WAIuB,aAHpCqzO,EAAW77R,KAAK0N,MAAMikR,WAAWlnR,QAAO,SAAUqxR,GAChD,OAAOA,EAAKtzO,aAAemxB,EAAOlqE,MAAM+4C,UAC1C,KACoB,GAAGy1B,SAAyB,UAAYg8K,EAAcA,EAAcA,EAAc,CAAC,EAAGmhC,EAAuB,SAAIp7R,KAAK0N,OAAQmuR,EAAS,GAAG59M,UAEnJg8K,EAAcA,EAAc,CAAC,EAAGmhC,EAAuB,SAAIp7R,KAAK0N,QAIhEywE,aACPF,EAAS8zM,eAIb9zM,EAAS8zM,eAAiB,GAIxB9zM,EAAS+yM,OACP/yM,EAASI,aAITJ,EAAS8zM,eAIb9zM,EAASI,aAAe,EACxBJ,EAAS8zM,eAAiB,GAI5B,IAAI5hR,EAAWsvM,EAAgB,QAAE82E,SAASzrG,QAAQ9qL,KAAK0N,MAAMyC,UAI7DA,EAAWA,EAAS1F,QAAO,SAAUyvD,GACnC,MAAqB,iBAAVA,IACAA,EAAM6mB,SAGR7mB,CACX,IAEI+jB,EAASq0M,gBAAkBr0M,EAAS/vC,KAAO,GAAK+vC,EAAS6zM,aAAe,KAC1E9wR,QAAQ2lE,KAAK,0EACbsX,EAASq0M,eAAgB,GAM3B,IAHA,IAAIyJ,EAAc,GACdtE,EAAe,KAEV33R,EAAI,EAAGA,EAAIqQ,EAAStG,OAAQ/J,GAAKm+E,EAAS/vC,KAAO+vC,EAAS6zM,aAAc,CAG/E,IAFA,IAAIkK,EAAW,GAENlnO,EAAIh1D,EAAGg1D,EAAIh1D,EAAIm+E,EAAS/vC,KAAO+vC,EAAS6zM,aAAch9N,GAAKmpB,EAAS6zM,aAAc,CAGzF,IAFA,IAAI/+H,EAAM,GAEDz+F,EAAIQ,EAAGR,EAAIQ,EAAImpB,EAAS6zM,eAC3B7zM,EAASq0M,eAAiBniR,EAASmkD,GAAG5mD,MAAMgL,QAC9C++Q,EAAetnR,EAASmkD,GAAG5mD,MAAMgL,MAAMkJ,SAGrC0yC,GAAKnkD,EAAStG,SAL2ByqD,GAAK,EAMlDy+F,EAAIvvJ,KAAmBi8M,EAAgB,QAAEwjE,aAAa9yQ,EAASmkD,GAAI,CACjExiD,IAAK,IAAMhS,EAAI,GAAKg1D,EAAIR,EACxBv8B,UAAW,EACXrf,MAAO,CACLkJ,MAAO,GAAG/G,OAAO,IAAMojE,EAAS6zM,aAAc,KAC9CtkQ,QAAS,mBAKfwuQ,EAASx4R,KAAmBi8M,EAAgB,QAAE5+I,cAAc,MAAO,CACjE/uD,IAAK,GAAKhS,EAAIg1D,GACbi+F,GACL,CAEI90E,EAASq0M,cACXyJ,EAAYv4R,KAAmBi8M,EAAgB,QAAE5+I,cAAc,MAAO,CACpE/uD,IAAKhS,EACL4Y,MAAO,CACLkJ,MAAO61Q,IAERuE,IAEHD,EAAYv4R,KAAmBi8M,EAAgB,QAAE5+I,cAAc,MAAO,CACpE/uD,IAAKhS,GACJk8R,GAEP,CAEA,GAAiB,YAAb/9M,EAAwB,CAC1B,IAAIhnE,EAAY,mBAAqBjX,KAAK0N,MAAMuJ,WAAa,IAC7D,OAAoBwoM,EAAgB,QAAE5+I,cAAc,MAAO,CACzD5pD,UAAWA,GACV9G,EACL,CAIA,OAJW4rR,EAAYlyR,QAAUo0E,EAASI,eACxCJ,EAASy8M,SAAU,GAGDj7E,EAAgB,QAAE5+I,cAAcq6N,EAAaxG,YAAa7yN,EAAS,CACrFnpD,MAAO1Y,KAAK0N,MAAMgL,MAClB1K,IAAKhO,KAAKi8R,uBACTh+M,GAAW89M,EAChB,MA3P0Eh7B,EAAkBqB,EAAYxlO,UAAWylO,GAAiBC,GAAavB,EAAkBqB,EAAaE,GA8P3K5jL,CACT,CA3O0B,CA2OxB+gI,EAAgB,QAAE1+I,WAEpBvhE,EAAiB,QAAIk/E,C,8BC9RrB3hE,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAQo7R,WAAQ,EAEhB,IAAIn7E,EAASmnC,EAAuB,EAAQ,OAExCmoC,EAAcnoC,EAAuB,EAAQ,OAE7CooC,EAAoB,EAAQ,MAEhC,SAASpoC,EAAuB92N,GAAO,OAAOA,GAAOA,EAAI+2N,WAAa/2N,EAAM,CAAE,QAAWA,EAAO,CAEhG,SAASwwO,EAAQxwO,GAAmV,OAAtOwwO,EAArD,mBAAXpV,QAAoD,iBAApBA,OAAOS,SAAmC,SAAiB77N,GAAO,cAAcA,CAAK,EAAsB,SAAiBA,GAAO,OAAOA,GAAyB,mBAAXo7N,QAAyBp7N,EAAIjrB,cAAgBqmP,QAAUp7N,IAAQo7N,OAAOtuN,UAAY,gBAAkB9M,CAAK,EAAYwwO,EAAQxwO,EAAM,CAEzX,SAAS+xC,IAA2Q,OAA9PA,EAAW9kD,OAAOC,QAAU,SAAUhN,GAAU,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CAAE,IAAIw4G,EAAS9sE,UAAU1rC,GAAI,IAAK,IAAIgS,KAAOwmG,EAAcv7F,OAAO6f,UAAU4hB,eAAe7hB,KAAK27E,EAAQxmG,KAAQ9B,EAAO8B,GAAOwmG,EAAOxmG,GAAU,CAAE,OAAO9B,CAAQ,EAAU6xD,EAASpB,MAAMzgE,KAAMwrC,UAAY,CAI5T,SAASu1N,EAAkB/wP,EAAQtC,GAAS,IAAK,IAAI5N,EAAI,EAAGA,EAAI4N,EAAM7D,OAAQ/J,IAAK,CAAE,IAAI09P,EAAa9vP,EAAM5N,GAAI09P,EAAW5xD,WAAa4xD,EAAW5xD,aAAc,EAAO4xD,EAAW3kJ,cAAe,EAAU,UAAW2kJ,IAAYA,EAAW5kJ,UAAW,GAAM77F,OAAOwvD,eAAev8D,EAAQwtP,EAAW1rP,IAAK0rP,EAAa,CAAE,CAM5T,SAASmE,EAAgBjT,EAAGjyN,GAA+G,OAA1GklO,EAAkB5kP,OAAOs0G,gBAAkB,SAAyBq9H,EAAGjyN,GAAsB,OAAjBiyN,EAAEp9H,UAAY70F,EAAUiyN,CAAG,EAAUiT,EAAgBjT,EAAGjyN,EAAI,CAEzK,SAASukO,EAAaC,GAAW,IAAIiuB,EAMrC,WAAuC,GAAuB,oBAAZ9tB,UAA4BA,QAAQC,UAAW,OAAO,EAAO,GAAID,QAAQC,UAAUC,KAAM,OAAO,EAAO,GAAqB,mBAAV3oC,MAAsB,OAAO,EAAM,IAAiF,OAA3E5kL,KAAKnX,UAAU7Y,SAAS4Y,KAAKykO,QAAQC,UAAUttN,KAAM,IAAI,WAAa,MAAY,CAAM,CAAE,MAAOlkC,GAAK,OAAO,CAAO,CAAE,CANlQ0xP,GAA6B,OAAO,WAAkC,IAAsCrxO,EAAlCgxO,EAAQC,EAAgBF,GAAkB,GAAIiuB,EAA2B,CAAE,IAAI1tB,EAAYL,EAAgBnhQ,MAAM6E,YAAaqrB,EAASkxO,QAAQC,UAAUH,EAAO11N,UAAWg2N,EAAY,MAAStxO,EAASgxO,EAAMzgM,MAAMzgE,KAAMwrC,WAAc,OAEpX,SAAoCzrC,EAAM48B,GAAQ,GAAIA,IAA2B,WAAlB2jO,EAAQ3jO,IAAsC,mBAATA,GAAwB,OAAOA,EAAQ,OAAO40C,EAAuBxxE,EAAO,CAF2M0hQ,CAA2BzhQ,KAAMkwB,EAAS,CAAG,CAIxa,SAASqhD,EAAuBxxE,GAAQ,QAAa,IAATA,EAAmB,MAAM,IAAI2hQ,eAAe,6DAAgE,OAAO3hQ,CAAM,CAIrK,SAASohQ,EAAgBzS,GAAwJ,OAAnJyS,EAAkBpkP,OAAOs0G,eAAiBt0G,OAAOkvD,eAAiB,SAAyByiL,GAAK,OAAOA,EAAEp9H,WAAav0G,OAAOkvD,eAAeyiL,EAAI,EAAUyS,EAAgBzS,EAAI,CAE5M,SAAS+K,EAAQlsI,EAAQmsI,GAAkB,IAAI37N,EAAOhhB,OAAOghB,KAAKwvF,GAAS,GAAIxwG,OAAOq0L,sBAAuB,CAAE,IAAIuoD,EAAU58O,OAAOq0L,sBAAsB7jF,GAAamsI,IAAgBC,EAAUA,EAAQlvP,QAAO,SAAUmvP,GAAO,OAAO78O,OAAOi3G,yBAAyBzG,EAAQqsI,GAAKhuD,UAAY,KAAI7tK,EAAKv6B,KAAKi9D,MAAM1iC,EAAM47N,EAAU,CAAE,OAAO57N,CAAM,CAEpV,SAASk8N,EAAcjqP,GAAU,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CAAE,IAAIw4G,EAAyB,MAAhB9sE,UAAU1rC,GAAa0rC,UAAU1rC,GAAK,CAAC,EAAOA,EAAI,EAAK25P,EAAQ18O,OAAOu7F,IAAS,GAAM7xG,SAAQ,SAAUqL,GAAO+nP,EAAgB7pP,EAAQ8B,EAAKwmG,EAAOxmG,GAAO,IAAeiL,OAAOg9O,0BAA6Bh9O,OAAOi9O,iBAAiBhqP,EAAQ+M,OAAOg9O,0BAA0BzhJ,IAAmBmhJ,EAAQ18O,OAAOu7F,IAAS7xG,SAAQ,SAAUqL,GAAOiL,OAAOwvD,eAAev8D,EAAQ8B,EAAKiL,OAAOi3G,yBAAyB1b,EAAQxmG,GAAO,GAAM,CAAE,OAAO9B,CAAQ,CAErhB,SAAS6pP,EAAgB/pO,EAAKhe,EAAKpD,GAAiK,OAApJoD,KAAOge,EAAO/S,OAAOwvD,eAAez8C,EAAKhe,EAAK,CAAEpD,MAAOA,EAAOk9L,YAAY,EAAM/yF,cAAc,EAAMD,UAAU,IAAkB9oF,EAAIhe,GAAOpD,EAAgBohB,CAAK,CAGhN,IAAIosQ,EAAkB,SAAyBxJ,GAC7C,IAAIyJ,EAAaC,EAAaC,EAC1BC,EAAc31R,EAgClB,OAxBA01R,GALE11R,EADE+rR,EAAKd,IACCc,EAAKlD,WAAa,EAAIkD,EAAK/rR,MAE3B+rR,EAAK/rR,OAGO,GAAKA,GAAS+rR,EAAKlD,WAErCkD,EAAKv0M,YACPm+M,EAAe13P,KAAKiwB,MAAM69N,EAAKr0M,aAAe,GAC9C+9M,GAAez1R,EAAQ+rR,EAAKnD,cAAgBmD,EAAKlD,YAAe,EAE5D7oR,EAAQ+rR,EAAKnD,aAAe+M,EAAe,GAAK31R,GAAS+rR,EAAKnD,aAAe+M,IAC/EH,GAAc,IAGhBA,EAAczJ,EAAKnD,cAAgB5oR,GAASA,EAAQ+rR,EAAKnD,aAAemD,EAAKr0M,aAcxE,CACL,eAAe,EACf,eAAgB89M,EAChB,eAAgBC,EAChB,eAAgBC,EAChB,gBANiB11R,KARf+rR,EAAK+B,YAAc,EACN/B,EAAK+B,YAAc/B,EAAKlD,WAC9BkD,EAAK+B,aAAe/B,EAAKlD,WACnBkD,EAAK+B,YAAc/B,EAAKlD,WAExBkD,EAAK+B,aAYxB,EA4BI8H,EAAS,SAAgBriO,EAAOsiO,GAClC,OAAOtiO,EAAMpoD,KAAO0qR,CACtB,EAEIC,EAAe,SAAsB/J,GACvC,IAAI5gR,EACA22K,EAAS,GACTi0G,EAAiB,GACjBC,EAAkB,GAElBjF,EAAgBj4E,EAAgB,QAAE82E,SAASj7N,MAAMo3N,EAAKviR,UAEtD8nK,GAAa,EAAI+2G,EAAkB4N,gBAAgBlK,GACnDmK,GAAW,EAAI7N,EAAkB8N,cAAcpK,GAsGnD,OApGAjzE,EAAgB,QAAE82E,SAAS9vR,QAAQisR,EAAKviR,UAAU,SAAU29B,EAAMnnC,GAChE,IAAIuzD,EACA6iO,EAAsB,CACxBj4R,QAAS,WACT6B,MAAOA,EACPorR,eAAgBW,EAAKX,eACrBxC,aAAcmD,EAAKnD,cAInBr1N,GADGw4N,EAAKvB,UAAYuB,EAAKvB,UAAYuB,EAAKgB,eAAe1xP,QAAQr7B,IAAU,EACnEmnC,EAEa2xK,EAAgB,QAAE5+I,cAAc,MAAO,MAG9D,IAAIm8N,EAxDY,SAAuBtK,GACzC,IAAIh6Q,EAAQ,CAAC,EAsBb,YApB2BzU,IAAvByuR,EAAKJ,gBAAsD,IAAvBI,EAAKJ,gBAC3C55Q,EAAMkJ,MAAQ8wQ,EAAKoB,YAGjBpB,EAAK1B,OACPt4Q,EAAMyP,SAAW,WAEbuqQ,EAAKH,SACP75Q,EAAMlF,KAAOk/Q,EAAK/rR,MAAQ4sC,SAASm/O,EAAKmB,aAExCn7Q,EAAM7E,MAAQ6+Q,EAAK/rR,MAAQ4sC,SAASm/O,EAAKoB,YAG3Cp7Q,EAAMi2E,QAAU+jM,EAAKnD,eAAiBmD,EAAK/rR,MAAQ,EAAI,EAEnD+rR,EAAKN,SACP15Q,EAAMwqK,WAAa,WAAawvG,EAAKn0M,MAAQ,MAAQm0M,EAAK/B,QAAvC,gBAAwE+B,EAAKn0M,MAAQ,MAAQm0M,EAAK/B,UAIlHj4Q,CACT,CAgCqBukR,CAAchjC,EAAcA,EAAc,CAAC,EAAGy4B,GAAO,CAAC,EAAG,CACxE/rR,MAAOA,KAELu2R,EAAahjO,EAAMxsD,MAAMuJ,WAAa,GACtCkmR,EAAejB,EAAgBjiC,EAAcA,EAAc,CAAC,EAAGy4B,GAAO,CAAC,EAAG,CAC5E/rR,MAAOA,KAqBT,GAlBA8hL,EAAOjlL,KAAmBi8M,EAAgB,QAAEwjE,aAAa/oN,EAAO,CAC9DpoD,IAAK,WAAayqR,EAAOriO,EAAOvzD,GAChC,aAAcA,EACdsQ,WAAW,EAAI83Q,EAAqB,SAAGoO,EAAcD,GACrDnlQ,SAAU,KACV,eAAgBolQ,EAAa,gBAC7BzkR,MAAOuhP,EAAcA,EAAc,CACjCmjC,QAAS,QACRljO,EAAMxsD,MAAMgL,OAAS,CAAC,GAAIskR,GAC7B9rR,QAAS,SAAiBrB,GACxBqqD,EAAMxsD,OAASwsD,EAAMxsD,MAAMwD,SAAWgpD,EAAMxsD,MAAMwD,QAAQrB,GAEtD6iR,EAAKzB,eACPyB,EAAKzB,cAAc8L,EAEvB,KAGErK,EAAKx0M,WAA0B,IAAdw0M,EAAK1B,KAAgB,CACxC,IAAIqM,EAAa3F,EAAgB/wR,EAE7B02R,IAAc,EAAIrO,EAAkBoI,cAAc1E,IAASgF,IAAkBhF,EAAKr0M,gBACpFvsE,GAAOurR,IAEIplH,IACT/9G,EAAQpsB,GAGVqvP,EAAejB,EAAgBjiC,EAAcA,EAAc,CAAC,EAAGy4B,GAAO,CAAC,EAAG,CACxE/rR,MAAOmL,KAET4qR,EAAel5R,KAAmBi8M,EAAgB,QAAEwjE,aAAa/oN,EAAO,CACtEpoD,IAAK,YAAcyqR,EAAOriO,EAAOpoD,GACjC,aAAcA,EACdimB,SAAU,KACV9gB,WAAW,EAAI83Q,EAAqB,SAAGoO,EAAcD,GACrD,eAAgBC,EAAa,gBAC7BzkR,MAAOuhP,EAAcA,EAAc,CAAC,EAAG//L,EAAMxsD,MAAMgL,OAAS,CAAC,GAAIskR,GACjE9rR,QAAS,SAAiBrB,GACxBqqD,EAAMxsD,OAASwsD,EAAMxsD,MAAMwD,SAAWgpD,EAAMxsD,MAAMwD,QAAQrB,GAEtD6iR,EAAKzB,eACPyB,EAAKzB,cAAc8L,EAEvB,MAIArF,IAAkBhF,EAAKr0M,gBACzBvsE,EAAM4lR,EAAgB/wR,GAEZk2R,IACR3iO,EAAQpsB,GAGVqvP,EAAejB,EAAgBjiC,EAAcA,EAAc,CAAC,EAAGy4B,GAAO,CAAC,EAAG,CACxE/rR,MAAOmL,KAET6qR,EAAgBn5R,KAAmBi8M,EAAgB,QAAEwjE,aAAa/oN,EAAO,CACvEpoD,IAAK,aAAeyqR,EAAOriO,EAAOpoD,GAClC,aAAcA,EACdimB,SAAU,KACV9gB,WAAW,EAAI83Q,EAAqB,SAAGoO,EAAcD,GACrD,eAAgBC,EAAa,gBAC7BzkR,MAAOuhP,EAAcA,EAAc,CAAC,EAAG//L,EAAMxsD,MAAMgL,OAAS,CAAC,GAAIskR,GACjE9rR,QAAS,SAAiBrB,GACxBqqD,EAAMxsD,OAASwsD,EAAMxsD,MAAMwD,SAAWgpD,EAAMxsD,MAAMwD,QAAQrB,GAEtD6iR,EAAKzB,eACPyB,EAAKzB,cAAc8L,EAEvB,KAGN,CACF,IAEIrK,EAAKd,IACA8K,EAAe7hR,OAAO4tK,EAAQk0G,GAAiBplL,UAE/CmlL,EAAe7hR,OAAO4tK,EAAQk0G,EAEzC,EAEI/B,EAAqB,SAAUzL,IArNnC,SAAmBltB,EAAUC,GAAc,GAA0B,mBAAfA,GAA4C,OAAfA,EAAuB,MAAM,IAAI/1J,UAAU,sDAAyD81J,EAASrlO,UAAY7f,OAAO8f,OAAOqlO,GAAcA,EAAWtlO,UAAW,CAAE/3B,YAAa,CAAE6J,MAAOuzP,EAAUrpJ,UAAU,EAAMC,cAAc,KAAeqpJ,GAAYP,EAAgBM,EAAUC,EAAa,CAsN9XC,CAAUy4B,EAAOzL,GAEjB,IA1NoB/sB,EAAaC,EAAYC,EA0NzCC,EAASvB,EAAa45B,GAE1B,SAASA,IACP,IAAIz5N,GAjOR,SAAyB+P,EAAUkxL,GAAe,KAAMlxL,aAAoBkxL,GAAgB,MAAM,IAAIj2J,UAAU,oCAAwC,CAmOpJu2J,CAAgB1iQ,KAAM46R,GAEtB,IAAK,IAAI/+O,EAAOrQ,UAAU3hC,OAAQw2B,EAAO,IAAI6B,MAAM2Z,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/E1b,EAAK0b,GAAQvQ,UAAUuQ,GAWzB,OANA89M,EAAgBtoL,EAFhBpQ,EAAQohM,EAAO5lO,KAAK8jC,MAAM8hM,EAAQ,CAACviQ,MAAM6a,OAAOwlB,KAED,OAAQ,MAEvDw5N,EAAgBtoL,EAAuBpQ,GAAQ,aAAa,SAAUnzD,GACpEmzD,EAAM9lB,KAAOrtC,CACf,IAEOmzD,CACT,CAuBA,OArQoBihM,EAgPPw4B,GAhPoBv4B,EAgPb,CAAC,CACnBvwP,IAAK,SACLpD,MAAO,WACL,IAAI+5K,EAASg0G,EAAaz8R,KAAK0N,OAC3B6nE,EAAcv1E,KAAK0N,MAInBmlR,EAAc,CAChB3hP,aAJiBqkC,EAAYrkC,aAK7ByhP,YAJgBp9M,EAAYo9M,YAK5BtzN,aAJiBkW,EAAYlW,cAM/B,OAAoBogJ,EAAgB,QAAE5+I,cAAc,MAAOgB,EAAS,CAClE7zD,IAAKhO,KAAKs9R,UACVrmR,UAAW,cACXyB,MAAO1Y,KAAK0N,MAAM6mR,YACjB1B,GAAcpqG,EACnB,MAlQ0Es4E,EAAkBqB,EAAYxlO,UAAWylO,GAAiBC,GAAavB,EAAkBqB,EAAaE,GAqQ3Ks4B,CACT,CA/CyB,CA+CvBn7E,EAAgB,QAAEmwE,eAEpBpwR,EAAQo7R,MAAQA,C,8BC7RhB79Q,OAAOwvD,eAAe/sE,EAAS,aAAc,CAC3CkP,OAAO,IAETlP,EAAQwzR,MAAQA,EAChBxzR,EAAQktE,UAAYltE,EAAQ+9R,aAAe/9R,EAAQg+R,cAAgBh+R,EAAQi+R,iBAAmBj+R,EAAQk+R,eAAiBl+R,EAAQ83R,cAAgB93R,EAAQ43R,aAAe53R,EAAQs3R,aAAet3R,EAAQm+R,mBAAqBn+R,EAAQu3R,YAAcv3R,EAAQo+R,cAAgBp+R,EAAQq+R,cAAgBr+R,EAAQs+R,eAAiBt+R,EAAQu+R,oBAAsBv+R,EAAQ05R,SAAW15R,EAAQy5R,UAAYz5R,EAAQw5R,WAAax5R,EAAQm5R,WAAan5R,EAAQupL,YAAcvpL,EAAQ44R,aAAe54R,EAAQo3R,iBAAmBp3R,EAAQi6R,cAAgBj6R,EAAQywR,UAAYzwR,EAAQw+R,kBAAoBx+R,EAAQuqE,UAAYvqE,EAAQsqE,SAAWtqE,EAAQy+R,kBAAoBz+R,EAAQ0+R,iBAAmB1+R,EAAQs9R,aAAet9R,EAAQo9R,eAAiBp9R,EAAQ2+R,sBAAwB3+R,EAAQ21R,2BAAwB,EAEtwB,IAEgCrlQ,EAF5B2vL,GAE4B3vL,EAFI,EAAQ,QAESA,EAAI+2N,WAAa/2N,EAAM,CAAE,QAAWA,GAEzF,SAAS2pO,EAAQlsI,EAAQmsI,GAAkB,IAAI37N,EAAOhhB,OAAOghB,KAAKwvF,GAAS,GAAIxwG,OAAOq0L,sBAAuB,CAAE,IAAIuoD,EAAU58O,OAAOq0L,sBAAsB7jF,GAAamsI,IAAgBC,EAAUA,EAAQlvP,QAAO,SAAUmvP,GAAO,OAAO78O,OAAOi3G,yBAAyBzG,EAAQqsI,GAAKhuD,UAAY,KAAI7tK,EAAKv6B,KAAKi9D,MAAM1iC,EAAM47N,EAAU,CAAE,OAAO57N,CAAM,CAEpV,SAASk8N,EAAcjqP,GAAU,IAAK,IAAIlQ,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CAAE,IAAIw4G,EAAyB,MAAhB9sE,UAAU1rC,GAAa0rC,UAAU1rC,GAAK,CAAC,EAAOA,EAAI,EAAK25P,EAAQ18O,OAAOu7F,IAAS,GAAM7xG,SAAQ,SAAUqL,GAAO+nP,EAAgB7pP,EAAQ8B,EAAKwmG,EAAOxmG,GAAO,IAAeiL,OAAOg9O,0BAA6Bh9O,OAAOi9O,iBAAiBhqP,EAAQ+M,OAAOg9O,0BAA0BzhJ,IAAmBmhJ,EAAQ18O,OAAOu7F,IAAS7xG,SAAQ,SAAUqL,GAAOiL,OAAOwvD,eAAev8D,EAAQ8B,EAAKiL,OAAOi3G,yBAAyB1b,EAAQxmG,GAAO,GAAM,CAAE,OAAO9B,CAAQ,CAErhB,SAAS6pP,EAAgB/pO,EAAKhe,EAAKpD,GAAiK,OAApJoD,KAAOge,EAAO/S,OAAOwvD,eAAez8C,EAAKhe,EAAK,CAAEpD,MAAOA,EAAOk9L,YAAY,EAAM/yF,cAAc,EAAMD,UAAU,IAAkB9oF,EAAIhe,GAAOpD,EAAgBohB,CAAK,CAEhN,SAASkjQ,EAAM/qP,EAAQm2P,EAAYC,GACjC,OAAOz5P,KAAK/rB,IAAIulR,EAAYx5P,KAAK5rB,IAAIivB,EAAQo2P,GAC/C,CAEA,IAAIlJ,EAAwB,SAA+BzC,GAKzD,IAJA,IAAI4L,EAAiB,GACjBrmH,EAAa2kH,EAAelK,GAC5BmK,EAAWC,EAAapK,GAEnB9rG,EAAa3O,EAAY2O,EAAai2G,EAAUj2G,IACnD8rG,EAAKgB,eAAe1xP,QAAQ4kJ,GAAc,GAC5C03G,EAAe96R,KAAKojL,GAIxB,OAAO03G,CACT,EAGA9+R,EAAQ21R,sBAAwBA,EAehC31R,EAAQ2+R,sBAboB,SAA+BzL,GAKzD,IAJA,IAAI6L,EAAiB,GACjBtmH,EAAa2kH,EAAelK,GAC5BmK,EAAWC,EAAapK,GAEnB9rG,EAAa3O,EAAY2O,EAAai2G,EAAUj2G,IACvD23G,EAAe/6R,KAAKojL,GAGtB,OAAO23G,CACT,EAKA,IAAI3B,EAAiB,SAAwBlK,GAC3C,OAAOA,EAAKnD,aAAe2O,EAAiBxL,EAC9C,EAEAlzR,EAAQo9R,eAAiBA,EAEzB,IAAIE,EAAe,SAAsBpK,GACvC,OAAOA,EAAKnD,aAAe0O,EAAkBvL,EAC/C,EAEAlzR,EAAQs9R,aAAeA,EAEvB,IAAIoB,EAAmB,SAA0BxL,GAC/C,OAAOA,EAAKv0M,WAAav5C,KAAKiwB,MAAM69N,EAAKr0M,aAAe,IAAM9qC,SAASm/O,EAAKt0M,eAAiB,EAAI,EAAI,GAAK,CAC5G,EAEA5+E,EAAQ0+R,iBAAmBA,EAE3B,IAAID,EAAoB,SAA2BvL,GACjD,OAAOA,EAAKv0M,WAAav5C,KAAKiwB,OAAO69N,EAAKr0M,aAAe,GAAK,GAAK,GAAK9qC,SAASm/O,EAAKt0M,eAAiB,EAAI,EAAI,GAAKs0M,EAAKr0M,YAC3H,EAGA7+E,EAAQy+R,kBAAoBA,EAE5B,IAAIn0N,EAAW,SAAkBh8B,GAC/B,OAAOA,GAAQA,EAAKkgC,aAAe,CACrC,EAEAxuE,EAAQsqE,SAAWA,EAEnB,IAAIC,EAAY,SAAmBj8B,GACjC,OAAOA,GAAQA,EAAKmgC,cAAgB,CACtC,EAEAzuE,EAAQuqE,UAAYA,EAEpB,IAAIi0N,EAAoB,SAA2B9J,GACjD,IACIsK,EAAOC,EAAOnmQ,EAAGomQ,EADjB5F,EAAkBttP,UAAU3hC,OAAS,QAAsB5F,IAAjBunC,UAAU,IAAmBA,UAAU,GAWrF,OATAgzP,EAAQtK,EAAYC,OAASD,EAAYG,KACzCoK,EAAQvK,EAAYE,OAASF,EAAYI,KACzCh8P,EAAIsM,KAAK0mK,MAAMmzF,EAAOD,IACtBE,EAAa95P,KAAK41B,MAAU,IAAJliC,EAAUsM,KAAK82B,KAEtB,IACfgjO,EAAa,IAAM95P,KAAK8zC,IAAIgmN,IAG1BA,GAAc,IAAMA,GAAc,GAAKA,GAAc,KAAOA,GAAc,IACrE,OAGLA,GAAc,KAAOA,GAAc,IAC9B,SAGe,IAApB5F,EACE4F,GAAc,IAAMA,GAAc,IAC7B,KAEA,OAIJ,UACT,EAGAl/R,EAAQw+R,kBAAoBA,EAE5B,IAAI/N,EAAY,SAAmByC,GACjC,IAAIiM,GAAQ,EAUZ,OARKjM,EAAKx0M,WACJw0M,EAAKv0M,YAAcu0M,EAAKnD,cAAgBmD,EAAKlD,WAAa,GAEnDkD,EAAKlD,YAAckD,EAAKr0M,cAAgBq0M,EAAKnD,cAAgBmD,EAAKlD,WAAakD,EAAKr0M,gBAD7FsgN,GAAQ,GAMLA,CACT,EAGAn/R,EAAQywR,UAAYA,EAWpBzwR,EAAQi6R,cATY,SAAuB/G,EAAM30P,GAC/C,IAAI6gQ,EAAY,CAAC,EAIjB,OAHA7gQ,EAAKt3B,SAAQ,SAAUqL,GACrB,OAAO8sR,EAAU9sR,GAAO4gR,EAAK5gR,EAC/B,IACO8sR,CACT,EA2DAp/R,EAAQo3R,iBAtDe,SAA0BlE,GAE/C,IAMIoB,EANAtE,EAAa/vE,EAAgB,QAAE82E,SAASj7N,MAAMo3N,EAAKviR,UAEnD0uR,EAAWnM,EAAK2C,QAChBzB,EAAYhvP,KAAK4qC,KAAK1F,EAAS+0N,IAC/BC,EAAYpM,EAAK4C,UAAY5C,EAAK4C,SAASj6O,KAC3Cm5O,EAAa5vP,KAAK4qC,KAAK1F,EAASg1N,IAGpC,GAAKpM,EAAKH,SASRuB,EAAaF,MATK,CAClB,IAAImL,EAAmBrM,EAAKv0M,YAA6C,EAA/B5qC,SAASm/O,EAAKt0M,eAEtB,iBAAvBs0M,EAAKt0M,eAA+D,MAAjCs0M,EAAKt0M,cAAcxjE,OAAO,KACtEmkR,GAAoBnL,EAAY,KAGlCE,EAAalvP,KAAK4qC,MAAMokN,EAAYmL,GAAoBrM,EAAKr0M,aAC/D,CAIA,IAAIw1M,EAAcgL,GAAY90N,EAAU80N,EAASz/L,cAAc,qBAC3Du0L,EAAaE,EAAcnB,EAAKr0M,aAChCkxM,OAAqCtrR,IAAtByuR,EAAKnD,aAA6BmD,EAAKxB,aAAewB,EAAKnD,aAE1EmD,EAAKd,UAA6B3tR,IAAtByuR,EAAKnD,eACnBA,EAAeC,EAAa,EAAIkD,EAAKxB,cAGvC,IAAIwC,EAAiBhB,EAAKgB,gBAAkB,GACxCwB,EAAeC,EAAsBl7B,EAAcA,EAAc,CAAC,EAAGy4B,GAAO,CAAC,EAAG,CAClFnD,aAAcA,EACdmE,eAAgBA,KAElBA,EAAe74Q,OAAOq6Q,GACtB,IAAIzlR,EAAQ,CACV+/Q,WAAYA,EACZsE,WAAYA,EACZF,UAAWA,EACXY,WAAYA,EACZjF,aAAcA,EACdsE,YAAaA,EACbF,WAAYA,EACZD,eAAgBA,GAOlB,OAJyB,OAArBhB,EAAKW,aAAwBX,EAAKjC,WACpChhR,EAAmB,YAAI,WAGlBA,CACT,EA2HAjQ,EAAQ44R,aAvHW,SAAsB1F,GACvC,IAAIF,EAAiBE,EAAKF,eACtBY,EAAYV,EAAKU,UACjBpC,EAAO0B,EAAK1B,KACZ9yM,EAAWw0M,EAAKx0M,SAChBv3E,EAAQ+rR,EAAK/rR,MACb6oR,EAAakD,EAAKlD,WAClBkE,EAAiBhB,EAAKgB,eACtBvC,EAAWuB,EAAKvB,SAChB5B,EAAemD,EAAKnD,aACpBpxM,EAAau0M,EAAKv0M,WAClB4zM,EAAiBW,EAAKX,eACtB1zM,EAAeq0M,EAAKr0M,aACpB+zM,EAASM,EAAKN,OAClB,GAAII,GAAkBY,EAAW,MAAO,CAAC,EACzC,IACI4L,EACAC,EACAC,EAHAC,EAAiBx4R,EAIjB8I,EAAQ,CAAC,EACT+0D,EAAY,CAAC,EACbiwN,EAAcv2M,EAAWv3E,EAAQqsR,EAAMrsR,EAAO,EAAG6oR,EAAa,GAElE,GAAIwB,EAAM,CACR,IAAK9yM,IAAav3E,EAAQ,GAAKA,GAAS6oR,GAAa,MAAO,CAAC,EAEzD7oR,EAAQ,EACVw4R,EAAiBx4R,EAAQ6oR,EAChB7oR,GAAS6oR,IAClB2P,EAAiBx4R,EAAQ6oR,GAGvB2B,GAAYuC,EAAe1xP,QAAQm9P,GAAkB,GACvDzL,EAAelwR,KAAK27R,GAGtB1vR,EAAQ,CACN2jR,WAAW,EACX7D,aAAc4P,EACdzL,eAAgBA,EAChBe,YAAa0K,GAEf36N,EAAY,CACV4uN,WAAW,EACXqB,YAAa0K,EAEjB,MACEH,EAAaG,EAETA,EAAiB,GACnBH,EAAaG,EAAiB3P,EACzBtxM,EAAkCsxM,EAAauC,GAAmB,IAAGiN,EAAaxP,EAAaA,EAAauC,GAAlGiN,EAAa,IAClB/O,EAAUyC,IAASyM,EAAiB5P,EAC9C4P,EAAiBH,EAAazP,EACrBpxM,GAAcghN,GAAkB3P,GACzC2P,EAAiBjhN,EAAWsxM,EAAaA,EAAa,EACtDwP,EAAa9gN,EAAW,EAAIsxM,EAAa,GAChC2P,GAAkB3P,IAC3BwP,EAAaG,EAAiB3P,EACzBtxM,EAA0DsxM,EAAauC,GAAmB,IAAGiN,EAAa,GAAhGA,EAAaxP,EAAanxM,IAGtCH,GAAYihN,EAAiB9gN,GAAgBmxM,IAChDwP,EAAaxP,EAAanxM,GAG5B4gN,EAAgBnI,EAAa78B,EAAcA,EAAc,CAAC,EAAGy4B,GAAO,CAAC,EAAG,CACtE9rG,WAAYu4G,KAEdD,EAAYpI,EAAa78B,EAAcA,EAAc,CAAC,EAAGy4B,GAAO,CAAC,EAAG,CAClE9rG,WAAYo4G,KAGT9gN,IACC+gN,IAAkBC,IAAWC,EAAiBH,GAClDC,EAAgBC,GAGlB/N,GAAYuC,EAAe74Q,OAAOs6Q,EAAsBl7B,EAAcA,EAAc,CAAC,EAAGy4B,GAAO,CAAC,EAAG,CACjGnD,aAAc4P,MAGX/M,GAUH3iR,EAAQ,CACN2jR,WAAW,EACX7D,aAAcyP,EACdzK,WAAYoJ,EAAmB1jC,EAAcA,EAAc,CAAC,EAAGy4B,GAAO,CAAC,EAAG,CACxE7+Q,KAAMorR,KAERvL,eAAgBA,EAChBe,YAAaA,GAEfjwN,EAAY,CACV4uN,WAAW,EACX7D,aAAcyP,EACdzK,WAAYwC,EAAY98B,EAAcA,EAAc,CAAC,EAAGy4B,GAAO,CAAC,EAAG,CACjE7+Q,KAAMqrR,KAERnL,UAAW,KACXU,YAAaA,IAzBfhlR,EAAQ,CACN8/Q,aAAcyP,EACdzK,WAAYwC,EAAY98B,EAAcA,EAAc,CAAC,EAAGy4B,GAAO,CAAC,EAAG,CACjE7+Q,KAAMqrR,KAERxL,eAAgBA,EAChBe,YAAaA,GAwBnB,MAAO,CACLhlR,MAAOA,EACP+0D,UAAWA,EAEf,EAgEAhlE,EAAQupL,YA5DU,SAAqB2pG,EAAMruR,GAC3C,IAAI+6R,EAAaC,EAAaC,EAA2B7K,EACrD1C,EAAiBW,EAAKX,eACtB1zM,EAAeq0M,EAAKr0M,aACpBmxM,EAAakD,EAAKlD,WAClBD,EAAemD,EAAKnD,aACpBgQ,EAAsB7M,EAAK+B,YAC3BtD,EAAWuB,EAAKvB,SAChBjzM,EAAWw0M,EAAKx0M,SAIpB,GAFAkhN,EADe5P,EAAauC,GAAmB,EAClB,GAAKvC,EAAaD,GAAgBwC,EAEvC,aAApB1tR,EAAQS,QAEV2vR,EAAclF,GADd+P,EAA8B,IAAhBF,EAAoBrN,EAAiB1zM,EAAe+gN,GAG9DjO,IAAajzM,IAEfu2M,GAA+B,KAD/B4K,EAAc9P,EAAe+P,GACM9P,EAAa,EAAI6P,GAGjDnhN,IACHu2M,EAAc8K,EAAsBxN,QAEjC,GAAwB,SAApB1tR,EAAQS,QAEjB2vR,EAAclF,GADd+P,EAA8B,IAAhBF,EAAoBrN,EAAiBqN,GAG/CjO,IAAajzM,IACfu2M,GAAelF,EAAewC,GAAkBvC,EAAa4P,GAG1DlhN,IACHu2M,EAAc8K,EAAsBxN,QAEjC,GAAwB,SAApB1tR,EAAQS,QAEjB2vR,EAAcpwR,EAAQsC,MAAQtC,EAAQ0tR,oBACjC,GAAwB,aAApB1tR,EAAQS,SAIjB,GAFA2vR,EAAcpwR,EAAQsC,MAElBu3E,EAAU,CACZ,IAAIorG,EAAYm0G,EAAiBxjC,EAAcA,EAAc,CAAC,EAAGy4B,GAAO,CAAC,EAAG,CAC1E+B,YAAaA,KAGXA,EAAcpwR,EAAQkrR,cAA8B,SAAdjmG,EACxCmrG,GAA4BjF,EACnBiF,EAAcpwR,EAAQkrR,cAA8B,UAAdjmG,IAC/CmrG,GAA4BjF,EAEhC,MAC6B,UAApBnrR,EAAQS,UACjB2vR,EAAc7hQ,OAAOvuB,EAAQsC,QAG/B,OAAO8tR,CACT,EAWAj1R,EAAQm5R,WAPS,SAAoB9oR,EAAGugR,EAAewB,GACrD,OAAI/hR,EAAEG,OAAO0nG,QAAQ3gG,MAAM,2BAA6Bq5Q,EAAsB,GAC5D,KAAdvgR,EAAEq9E,QAAuB0kM,EAAM,OAAS,WAC1B,KAAd/hR,EAAEq9E,QAAuB0kM,EAAM,WAAa,OACzC,EACT,EAkBApyR,EAAQw5R,WAdS,SAAoBnpR,EAAGyuE,EAAOvM,GAE7C,MADqB,QAArBliE,EAAEG,OAAO0nG,SAAqB7nG,EAAE6B,kBAC3B4sE,IAAUvM,IAA0C,IAA7BliE,EAAErL,KAAKw9B,QAAQ,SAAwB,GAC5D,CACLwxP,UAAU,EACVU,YAAa,CACXC,OAAQtkR,EAAE2vR,QAAU3vR,EAAE2vR,QAAQ,GAAGC,MAAQ5vR,EAAE6nE,QAC3C08M,OAAQvkR,EAAE2vR,QAAU3vR,EAAE2vR,QAAQ,GAAGE,MAAQ7vR,EAAE+nE,QAC3Cy8M,KAAMxkR,EAAE2vR,QAAU3vR,EAAE2vR,QAAQ,GAAGC,MAAQ5vR,EAAE6nE,QACzC48M,KAAMzkR,EAAE2vR,QAAU3vR,EAAE2vR,QAAQ,GAAGE,MAAQ7vR,EAAE+nE,SAG/C,EAmGAp4E,EAAQy5R,UA/FQ,SAAmBppR,EAAG6iR,GAEpC,IAAItlE,EAAYslE,EAAKtlE,UACjBgmE,EAAYV,EAAKU,UACjBb,EAAWG,EAAKH,SAChBN,EAAeS,EAAKT,aACpB6G,EAAkBpG,EAAKoG,gBACvBlH,EAAMc,EAAKd,IACXrC,EAAemD,EAAKnD,aACpBwB,EAAe2B,EAAK3B,aACpB0C,EAAcf,EAAKe,YACnBrC,EAASsB,EAAKtB,OACd4C,EAAStB,EAAKsB,OACdC,EAAUvB,EAAKuB,QACfzE,EAAakD,EAAKlD,WAClBuC,EAAiBW,EAAKX,eACtB7zM,EAAWw0M,EAAKx0M,SAChBg2M,EAAcxB,EAAKwB,YACnBlC,EAAaU,EAAKV,WAClB2B,EAAajB,EAAKiB,WAClBC,EAAYlB,EAAKkB,UACrB,IAAIxmE,EAAJ,CACA,GAAIgmE,EAAW,OAAOvjR,EAAE6B,iBACpB6gR,GAAYN,GAAgB6G,GAAiBjpR,EAAE6B,iBACnD,IAAIqiR,EACAtkR,EAAQ,CAAC,EACTkwR,EAAU7I,EAAapE,GAC3BwB,EAAYG,KAAOxkR,EAAE2vR,QAAU3vR,EAAE2vR,QAAQ,GAAGC,MAAQ5vR,EAAE6nE,QACtDw8M,EAAYI,KAAOzkR,EAAE2vR,QAAU3vR,EAAE2vR,QAAQ,GAAGE,MAAQ7vR,EAAE+nE,QACtDs8M,EAAY0L,YAAch7P,KAAK41B,MAAM51B,KAAKstB,KAAKttB,KAAKqtB,IAAIiiO,EAAYG,KAAOH,EAAYC,OAAQ,KAC/F,IAAI0L,EAAsBj7P,KAAK41B,MAAM51B,KAAKstB,KAAKttB,KAAKqtB,IAAIiiO,EAAYI,KAAOJ,EAAYE,OAAQ,KAE/F,IAAK0E,IAAoB7E,GAAW4L,EAAsB,GACxD,MAAO,CACLzyE,WAAW,GAIX0rE,IAAiB5E,EAAY0L,YAAcC,GAC/C,IAAIC,GAAmBlO,GAAW,EAAL,IAAWsC,EAAYG,KAAOH,EAAYC,OAAS,GAAK,GACjF2E,IAAiBgH,EAAiB5L,EAAYI,KAAOJ,EAAYE,OAAS,GAAK,GACnF,IAAIxB,EAAWhuP,KAAK4qC,KAAKggN,EAAauC,GAClCgO,EAAiB/B,EAAkBtL,EAAKwB,YAAa4E,GACrDkH,EAAmB9L,EAAY0L,YAwCnC,OAtCK1hN,IACkB,IAAjBqxM,GAAyC,UAAnBwQ,GAA8BxQ,EAAe,GAAKqD,GAA+B,SAAnBmN,IAA8B9P,EAAUyC,IAA4B,SAAnBqN,KACvIC,EAAmB9L,EAAY0L,YAAc7O,GAEzB,IAAhB0C,GAAyBrC,IAC3BA,EAAO2O,GACPtwR,EAAmB,aAAI,KAKxBukR,GAAUhC,IACbA,EAAW+N,GACXtwR,EAAc,QAAI,GAUlBskR,EAPGxB,EAOSoN,EAAUK,GAAoBrM,EAAaC,GAAakM,EAN/DlO,EAGS+N,EAAUK,EAAmBF,EAF7BH,EAAUK,EAAmBF,EAQzChH,IACF/E,EAAY4L,EAAUK,EAAmBF,GAG3CrwR,EAAQwqP,EAAcA,EAAc,CAAC,EAAGxqP,GAAQ,CAAC,EAAG,CAClDykR,YAAaA,EACbH,UAAWA,EACXQ,WAAYwC,EAAY98B,EAAcA,EAAc,CAAC,EAAGy4B,GAAO,CAAC,EAAG,CACjE7+Q,KAAMkgR,OAINnvP,KAAK8zC,IAAIw7M,EAAYG,KAAOH,EAAYC,QAA4D,GAAlDvvP,KAAK8zC,IAAIw7M,EAAYI,KAAOJ,EAAYE,QACrF3kR,GAGLykR,EAAY0L,YAAc,KAC5BnwR,EAAe,SAAI,EACnBI,EAAE6B,kBAGGjC,EAvEc,CAwEvB,EAsFAjQ,EAAQ05R,SAlFO,SAAkBrpR,EAAG6iR,GAClC,IAAIc,EAAWd,EAAKc,SAChBl1M,EAAQo0M,EAAKp0M,MACb41M,EAAcxB,EAAKwB,YACnBN,EAAYlB,EAAKkB,UACjBzB,EAAiBO,EAAKP,eACtB2G,EAAkBpG,EAAKoG,gBACvBnF,EAAajB,EAAKiB,WAClB1B,EAAeS,EAAKT,aACpB7kE,EAAYslE,EAAKtlE,UACjB6yE,EAAUvN,EAAKuN,QACfxL,EAAc/B,EAAK+B,YACnBlF,EAAemD,EAAKnD,aACpBrxM,EAAWw0M,EAAKx0M,SAEpB,IAAKs1M,EAEH,OADIl1M,GAAOzuE,EAAE6B,iBACN,CAAC,EAGV,IAAIwuR,EAAWpH,EAAkBnF,EAAaxB,EAAiByB,EAAYzB,EACvE4N,EAAiB/B,EAAkB9J,EAAa4E,GAEhDrpR,EAAQ,CACV+jR,UAAU,EACVC,aAAa,EACbrmE,WAAW,EACX6mE,SAAS,EACTD,QAAQ,EACRD,UAAW,KACXG,YAAa,CAAC,GAGhB,GAAI9mE,EACF,OAAO39M,EAGT,IAAKykR,EAAY0L,YACf,OAAOnwR,EAGT,GAAIykR,EAAY0L,YAAcM,EAAU,CAOtC,IAAI1Q,EAAYwM,EANhBnsR,EAAE6B,iBAEEuuR,GACFA,EAAQF,GAIV,IAAII,EAAcjiN,EAAWqxM,EAAekF,EAE5C,OAAQsL,GACN,IAAK,OACL,IAAK,KACH/D,EAAWmE,EAActC,EAAcnL,GACvClD,EAAayC,EAAe6L,EAAepL,EAAMsJ,GAAYA,EAC7DvsR,EAAwB,iBAAI,EAC5B,MAEF,IAAK,QACL,IAAK,OACHusR,EAAWmE,EAActC,EAAcnL,GACvClD,EAAayC,EAAe6L,EAAepL,EAAMsJ,GAAYA,EAC7DvsR,EAAwB,iBAAI,EAC5B,MAEF,QACE+/Q,EAAa2Q,EAGjB1wR,EAA2B,oBAAI+/Q,CACjC,KAAO,CAEL,IAAI+D,EAAcuD,EAAapE,GAC/BjjR,EAAkB,WAAIkuR,EAAmB1jC,EAAcA,EAAc,CAAC,EAAGy4B,GAAO,CAAC,EAAG,CAClF7+Q,KAAM0/Q,IAEV,CAEA,OAAO9jR,CACT,EAIA,IAAIsuR,EAAsB,SAA6BrL,GAMrD,IALA,IAAI75Q,EAAM65Q,EAAKx0M,SAA6B,EAAlBw0M,EAAKlD,WAAiBkD,EAAKlD,WACjDhnO,EAAakqO,EAAKx0M,UAAgC,EAArBw0M,EAAKr0M,aAAoB,EACtD8hD,EAAUuyJ,EAAKx0M,UAAgC,EAArBw0M,EAAKr0M,aAAoB,EACnD+hN,EAAU,GAEP53O,EAAa3vC,GAClBunR,EAAQ58R,KAAKglD,GACbA,EAAa23E,EAAUuyJ,EAAKX,eAC5B5xJ,GAAWv7F,KAAK5rB,IAAI05Q,EAAKX,eAAgBW,EAAKr0M,cAGhD,OAAO+hN,CACT,EAEA5gS,EAAQu+R,oBAAsBA,EAE9B,IAAID,EAAiB,SAAwBpL,EAAM/rR,GACjD,IAAI05R,EAAatC,EAAoBrL,GACjC4N,EAAgB,EAEpB,GAAI35R,EAAQ05R,EAAWA,EAAWx2R,OAAS,GACzClD,EAAQ05R,EAAWA,EAAWx2R,OAAS,QAEvC,IAAK,IAAI2qD,KAAK6rO,EAAY,CACxB,GAAI15R,EAAQ05R,EAAW7rO,GAAI,CACzB7tD,EAAQ25R,EACR,KACF,CAEAA,EAAgBD,EAAW7rO,EAC7B,CAGF,OAAO7tD,CACT,EAEAnH,EAAQs+R,eAAiBA,EAEzB,IAAID,EAAgB,SAAuBnL,GACzC,IAAI4J,EAAe5J,EAAKv0M,WAAau0M,EAAKoB,WAAalvP,KAAKiwB,MAAM69N,EAAKr0M,aAAe,GAAK,EAE3F,GAAIq0M,EAAKT,aAAc,CACrB,IAAIsO,EACAC,EAAY9N,EAAK2C,QACjB5sG,EAAS+3G,EAAUv7G,kBAAoBu7G,EAAUv7G,iBAAiB,iBAAmB,GAiBzF,GAhBA/iJ,MAAMhoB,KAAKuuK,GAAQ1zE,OAAM,SAAU88K,GACjC,GAAKa,EAAKH,UAMR,GAAIV,EAAMlhM,UAAY5mB,EAAU8nN,GAAS,GAAsB,EAAlBa,EAAKqB,UAEhD,OADAwM,EAAc1O,GACP,OAPT,GAAIA,EAAMxoG,WAAaizG,EAAexyN,EAAS+nN,GAAS,GAAsB,EAAlBa,EAAKqB,UAE/D,OADAwM,EAAc1O,GACP,EASX,OAAO,CACT,KAEK0O,EACH,OAAO,EAGT,IAAIE,GAA4B,IAAb/N,EAAKd,IAAec,EAAKlD,WAAakD,EAAKnD,aAAemD,EAAKnD,aAElF,OADsB3qP,KAAK8zC,IAAI6nN,EAAYG,QAAQ/5R,MAAQ85R,IAAiB,CAE9E,CACE,OAAO/N,EAAKX,cAEhB,EAEAvyR,EAAQq+R,cAAgBA,EAExB,IAAID,EAAgB,SAAuBlL,EAAMiO,GAC/C,OAAOA,EAAUxoP,QAAO,SAAUzpC,EAAOoD,GACvC,OAAOpD,GAASgkR,EAAKl0O,eAAe1sC,EACtC,IAAG,GAAQ,KAAO9Q,QAAQC,MAAM,gBAAiByxR,EACnD,EAEAlzR,EAAQo+R,cAAgBA,EAExB,IAAI7G,EAAc,SAAqBrE,GAErC,IAAI8B,EAAYoM,EADhBhD,EAAclL,EAAM,CAAC,OAAQ,gBAAiB,aAAc,eAAgB,eAE5E,IAAImO,EAAgBnO,EAAKlD,WAAa,EAAIkD,EAAKr0M,aAE1Cq0M,EAAKH,SAGRqO,EAAcC,EAAgBnO,EAAKmB,YAFnCW,EAAakJ,EAAehL,GAAQA,EAAKoB,WAK3C,IAAIp7Q,EAAQ,CACVi2E,QAAS,EACTu0F,WAAY,GACZ49G,iBAAkB,IAGpB,GAAIpO,EAAKL,aAAc,CACrB,IAAI0O,EAAmBrO,EAAKH,SAA0D,oBAAsBG,EAAK7+Q,KAAO,WAAjF,eAAiB6+Q,EAAK7+Q,KAAO,gBAChEu8K,EAAasiG,EAAKH,SAA0D,oBAAsBG,EAAK7+Q,KAAO,WAAjF,eAAiB6+Q,EAAK7+Q,KAAO,gBAC1DmtR,EAAetO,EAAKH,SAA+C,cAAgBG,EAAK7+Q,KAAO,MAAhE,cAAgB6+Q,EAAK7+Q,KAAO,MAC/D6E,EAAQuhP,EAAcA,EAAc,CAAC,EAAGvhP,GAAQ,CAAC,EAAG,CAClDqoR,gBAAiBA,EACjB3wG,UAAWA,EACX4wG,YAAaA,GAEjB,MACMtO,EAAKH,SACP75Q,EAAW,IAAIg6Q,EAAK7+Q,KAEpB6E,EAAY,KAAIg6Q,EAAK7+Q,KAkBzB,OAdI6+Q,EAAK1B,OAAMt4Q,EAAQ,CACrBi2E,QAAS,IAEP6lM,IAAY97Q,EAAMkJ,MAAQ4yQ,GAC1BoM,IAAaloR,EAAMwK,OAAS09Q,GAE5Bz+R,SAAWA,OAAOoO,kBAAoBpO,OAAOyqE,cAC1C8lN,EAAKH,SAGR75Q,EAAM2V,UAAYqkQ,EAAK7+Q,KAAO,KAF9B6E,EAAMO,WAAay5Q,EAAK7+Q,KAAO,MAM5B6E,CACT,EAEAlZ,EAAQu3R,YAAcA,EAEtB,IAAI4G,EAAqB,SAA4BjL,GACnDkL,EAAclL,EAAM,CAAC,OAAQ,gBAAiB,aAAc,eAAgB,aAAc,QAAS,YACnG,IAAIh6Q,EAAQq+Q,EAAYrE,GAaxB,OAXIA,EAAKL,cACP35Q,EAAMooR,iBAAmB,qBAAuBpO,EAAKn0M,MAAQ,MAAQm0M,EAAK/B,QAC1Ej4Q,EAAMwqK,WAAa,aAAewvG,EAAKn0M,MAAQ,MAAQm0M,EAAK/B,SAExD+B,EAAKH,SACP75Q,EAAMwqK,WAAa,OAASwvG,EAAKn0M,MAAQ,MAAQm0M,EAAK/B,QAEtDj4Q,EAAMwqK,WAAa,QAAUwvG,EAAKn0M,MAAQ,MAAQm0M,EAAK/B,QAIpDj4Q,CACT,EAEAlZ,EAAQm+R,mBAAqBA,EAE7B,IAAI7G,EAAe,SAAsBpE,GACvC,GAAIA,EAAKgI,QACP,OAAO,EAGTkD,EAAclL,EAAM,CAAC,aAAc,WAAY,WAAY,aAAc,aAAc,eAAgB,iBAAkB,aAAc,YAAa,gBAAiB,gBACrK,IAcImE,EACApC,EAfA7tG,EAAa8rG,EAAK9rG,WAClB0uG,EAAW5C,EAAK4C,SAChBp3M,EAAWw0M,EAAKx0M,SAChBC,EAAau0M,EAAKv0M,WAClBqxM,EAAakD,EAAKlD,WAClBnxM,EAAeq0M,EAAKr0M,aACpB0zM,EAAiBW,EAAKX,eACtB+B,EAAapB,EAAKoB,WAClBF,EAAYlB,EAAKkB,UACjBtB,EAAgBI,EAAKJ,cACrBuB,EAAcnB,EAAKmB,YACnB7C,EAAO0B,EAAK1B,KACZuB,EAAWG,EAAKH,SAMpB,GAAIvB,GAA4B,IAApB0B,EAAKlD,WACf,OAAO,EAGT,IAAIyR,EAAiB,EAiCrB,GA/BI/iN,GACF+iN,GAAkB7J,EAAa1E,GAG3BlD,EAAauC,GAAmB,GAAKnrG,EAAamrG,EAAiBvC,IACrEyR,IAAmBr6G,EAAa4oG,EAAanxM,GAAgBuoG,EAAa4oG,GAAcA,EAAauC,IAInG5zM,IACF8iN,GAAkB1tP,SAAS8qC,EAAe,MAGxCmxM,EAAauC,GAAmB,GAAKnrG,EAAamrG,EAAiBvC,IACrEyR,EAAiB5iN,EAAemxM,EAAauC,GAG3C5zM,IACF8iN,EAAiB1tP,SAAS8qC,EAAe,KAU3Cw4M,EAHGtE,EAGU3rG,EAAaitG,GAAe,EAL1BoN,EAAiBpN,EAGnBjtG,EAAaktG,GAAc,EAJ5BmN,EAAiBnN,GAST,IAAlBxB,EAAwB,CAC1B,IAAI4O,EACAC,EAAY7L,GAAYA,EAASj6O,KAKrC,GAJA6lP,EAAmBt6G,EAAawwG,EAAa1E,GAE7CmE,GADApC,EAAc0M,GAAaA,EAAU/lP,WAAW8lP,KACK,EAA1BzM,EAAYprG,WAAkB,GAEtC,IAAflrG,EAAqB,CACvB+iN,EAAmBhjN,EAAW0oG,EAAawwG,EAAa1E,GAAQ9rG,EAChE6tG,EAAc0M,GAAaA,EAAUhxR,SAAS+wR,GAC9CrK,EAAa,EAEb,IAAK,IAAIhF,EAAQ,EAAGA,EAAQqP,EAAkBrP,IAC5CgF,GAAcsK,GAAaA,EAAUhxR,SAAS0hR,IAAUsP,EAAUhxR,SAAS0hR,GAAO7jN,YAGpF6oN,GAActjP,SAASm/O,EAAKt0M,eAC5By4M,GAAcpC,IAAgBb,EAAYa,EAAYzmN,aAAe,CACvE,CACF,CAEA,OAAO6oN,CACT,EAEAr3R,EAAQs3R,aAAeA,EAEvB,IAAIM,EAAe,SAAsB1E,GACvC,OAAIA,EAAKgI,UAAYhI,EAAKx0M,SACjB,EAGLw0M,EAAKJ,cACAI,EAAKlD,WAGPkD,EAAKr0M,cAAgBq0M,EAAKv0M,WAAa,EAAI,EACpD,EAEA3+E,EAAQ43R,aAAeA,EAEvB,IAAIE,EAAgB,SAAuB5E,GACzC,OAAIA,EAAKgI,UAAYhI,EAAKx0M,SACjB,EAGFw0M,EAAKlD,UACd,EAEAhwR,EAAQ83R,cAAgBA,EAExB,IAAIoG,EAAiB,SAAwBhL,GAC3C,OAA2B,IAApBA,EAAKlD,WAAmB,EAAI4H,EAAa1E,GAAQA,EAAKlD,WAAa8H,EAAc5E,EAC1F,EAEAlzR,EAAQk+R,eAAiBA,EAEzB,IAAID,EAAmB,SAA0B/K,GAC/C,OAAIA,EAAK+B,YAAc/B,EAAKnD,aACtBmD,EAAK+B,YAAc/B,EAAKnD,aAAeiO,EAAc9K,GAChD,OAGF,QAEHA,EAAK+B,YAAc/B,EAAKnD,aAAegO,EAAa7K,GAC/C,QAGF,MAEX,EAEAlzR,EAAQi+R,iBAAmBA,EAE3B,IAAID,EAAgB,SAAuB7qR,GACzC,IAAI0rE,EAAe1rE,EAAK0rE,aACpBF,EAAaxrE,EAAKwrE,WAClByzM,EAAMj/Q,EAAKi/Q,IACXxzM,EAAgBzrE,EAAKyrE,cAGzB,GAAID,EAAY,CACd,IAAIrqE,GAASuqE,EAAe,GAAK,EAAI,EAGrC,OAFI9qC,SAAS6qC,GAAiB,IAAGtqE,GAAS,GACtC89Q,GAAOvzM,EAAe,GAAM,IAAGvqE,GAAS,GACrCA,CACT,CAEA,OAAI89Q,EACK,EAGFvzM,EAAe,CACxB,EAEA7+E,EAAQg+R,cAAgBA,EAExB,IAAID,EAAe,SAAsBlwQ,GACvC,IAAIgxD,EAAehxD,EAAMgxD,aACrBF,EAAa9wD,EAAM8wD,WACnByzM,EAAMvkQ,EAAMukQ,IACZxzM,EAAgB/wD,EAAM+wD,cAG1B,GAAID,EAAY,CACd,IAAItqE,GAAQwqE,EAAe,GAAK,EAAI,EAGpC,OAFI9qC,SAAS6qC,GAAiB,IAAGvqE,GAAQ,GACpC+9Q,GAAOvzM,EAAe,GAAM,IAAGxqE,GAAQ,GACrCA,CACT,CAEA,OAAI+9Q,EACKvzM,EAAe,EAGjB,CACT,EAEA7+E,EAAQ+9R,aAAeA,EAMvB/9R,EAAQktE,UAJQ,WACd,QAA4B,oBAAXvqE,SAA0BA,OAAOmO,WAAYnO,OAAOmO,SAASuwD,cAChF,C,8BCx6BA9jD,OAAOwvD,eAAe/sE,EAAS,aAA/B,CACEkP,OAAO,IAGT,IAAIw5P,EAAib,SAAUr4O,EAAK/vB,GAAK,GAAIoiC,MAAMC,QAAQtS,GAAQ,OAAOA,EAAY,GAAIq7N,OAAOS,YAAY5uO,OAAO8S,GAAQ,OAAxf,SAAuBA,EAAK/vB,GAAK,IAAIsoQ,EAAO,GAAQC,GAAK,EAAU7sL,GAAK,EAAWmgB,OAAK13F,EAAW,IAAM,IAAK,IAAiCgjJ,EAA7BqhH,EAAKz4O,EAAIq7N,OAAOS,cAAmB0c,GAAMphH,EAAKqhH,EAAGxrN,QAAQjD,QAAoBuuN,EAAK5kQ,KAAKyjJ,EAAGv4I,QAAY5O,GAAKsoQ,EAAKv+P,SAAW/J,GAA3DuoQ,GAAK,GAAkE,CAAE,MAAOngQ,GAAOszE,GAAK,EAAMmgB,EAAKzzF,CAAK,CAAE,QAAU,KAAWmgQ,GAAMC,EAAW,QAAGA,EAAW,QAAK,CAAE,QAAU,GAAI9sL,EAAI,MAAMmgB,CAAI,CAAE,CAAE,OAAOysK,CAAM,CAAuHg5B,CAAcvxQ,EAAK/vB,GAAa,MAAM,IAAIqsG,UAAU,uDAA2D,EAIlpB,SAASk1L,EAAmBxxQ,GAAO,GAAIqS,MAAMC,QAAQtS,GAAM,CAAE,IAAK,IAAI/vB,EAAI,EAAG8oQ,EAAO1mO,MAAMrS,EAAIhmB,QAAS/J,EAAI+vB,EAAIhmB,OAAQ/J,IAAK8oQ,EAAK9oQ,GAAK+vB,EAAI/vB,GAAI,OAAO8oQ,CAAM,CAAS,OAAO1mO,MAAMhoB,KAAK2V,EAAQ,CAE9L,IAJgCC,EAI5BwxQ,EAAgB,EAAQ,MAExBC,GAN4BzxQ,EAMYwxQ,IANSxxQ,EAAI+2N,WAAa/2N,EAAM,CAAE,QAAWA,GAQrF0xQ,EAAS,SAAgBnwO,GAC3B,OAAOA,CACT,EAEA7xD,EAAA,QAAqB,SAAU0rB,GAC7B,IAAIvY,EAAOuvB,MAAMC,QAAQjX,IAA2B,IAAjBA,EAAMrhB,OAAeqhB,EAAQ,CAACA,EAAO,MAEpEmC,EAAQ66O,EAAev1P,EAAM,GAE7B2U,EAAQ+F,EAAM,GACdo0Q,EAAqBp0Q,EAAM,GAE/B,OAAO,SAAUvb,GACf,IAAK,IAAI+pC,EAAOrQ,UAAU3hC,OAAQitP,EAAQ50N,MAAM2Z,EAAO,EAAIA,EAAO,EAAI,GAAIE,EAAO,EAAGA,EAAOF,EAAME,IAC/F+6M,EAAM/6M,EAAO,GAAKvQ,UAAUuQ,GAG9B,IAAI1G,EAASyhN,EAAMjlP,KAAI,SAAU3N,GAC/B,OAAOojB,EAAMpjB,EACf,IAAGuG,OAAO+2R,GAEV,MAA4B,iBAAdnsP,EAAO,IAAiD,mBAAvBosP,EAAoC,CAAE3vR,IAAKA,EAAKmF,UAAWwqR,EAAqBA,EAAmBhhO,WAAMx8D,EAAWo9R,EAAmBhsP,IAAWA,EAAOtT,KAAK,MAAS,CAAEjwB,IAAKA,EAAK4G,MAAO6oR,EAAwB,QAAE9gO,WAAMx8D,EAAW,CAAC,CAAC,GAAG4W,OAAOwmR,EAAmBhsP,KACrT,CACF,EAEA51C,EAAOD,QAAUA,EAAiB,O,wBCxClC,IAAIkiS,EAAmB3kR,OAAO6f,UAAUy0K,qBAUxC,SAASswF,EAAkB7xQ,GAC1B,IAAIiO,EAAOhhB,OAAO6uO,oBAAoB97N,GAMtC,OAJI/S,OAAOq0L,wBACVrzK,EAAOA,EAAKljB,OAAOkC,OAAOq0L,sBAAsBthL,KAG1CiO,EAAKtzB,QAAO,SAAUqH,GAC5B,OAAO4vR,EAAiB/kQ,KAAK7M,EAAKhe,EACnC,GACD,CAEArS,EAAOD,QAAUud,OAAOC,QAAU,SAAUhN,EAAQsoG,GAKnD,IAJA,IAAIp+F,EACA6jB,EACAggC,EAvBL,SAAkBmN,GACjB,GAAW,MAAPA,EACH,MAAM,IAAIihC,UAAU,yDAGrB,OAAOpvF,OAAOmuD,EACf,CAiBU02N,CAAS5xR,GAET0kD,EAAI,EAAGA,EAAIlpB,UAAU3hC,OAAQ6qD,IAAK,CAC1Cx6C,EAAOsxB,UAAUkpB,GACjB32B,EAAO4jQ,EAAkB5kR,OAAO7C,IAEhC,IAAK,IAAIpa,EAAI,EAAGA,EAAIi+B,EAAKl0B,OAAQ/J,IAChCi+D,EAAGhgC,EAAKj+B,IAAMoa,EAAK6jB,EAAKj+B,GAE1B,CAEA,OAAOi+D,CACR,C,uECtCA,SAAS4jM,EAAgBxwO,EAAGthB,GAC1B,OAAO8xP,EAAkB5kP,OAAOs0G,eAAiBt0G,OAAOs0G,eAAejI,OAAS,SAAUj4F,EAAGthB,GAC3F,OAAOshB,EAAEmgG,UAAYzhH,EAAGshB,CAC1B,EAAGwwO,EAAgBxwO,EAAGthB,EACxB,CCHA,SAAS6wD,EAAevvC,EAAGu9N,GACzBv9N,EAAEyL,UAAY7f,OAAO8f,OAAO6xN,EAAE9xN,WAAYzL,EAAEyL,UAAU/3B,YAAcssB,EAAG,EAAeA,EAAGu9N,EAC3F,CCHA,SAASmzC,EAAiBC,EAAWC,GACnC,OAAOD,EAAUj8R,QAAQ,IAAIu4B,OAAO,UAAY2jQ,EAAgB,YAAa,KAAM,MAAMl8R,QAAQ,OAAQ,KAAKA,QAAQ,aAAc,GACtI,C,0CCFA,SACY,ECAZ,EAAe,kBAAoB,MCD5B,IAAIm8R,EAAc,SAAqB3mP,GAC5C,OAAOA,EAAKyyB,SACd,ECOWm0N,EAAY,YACZC,EAAS,SACTC,EAAW,WACXC,EAAU,UACVC,EAAU,UA6FjBC,EAA0B,SAAUrN,GAGtC,SAASqN,EAAW50R,EAAOqyB,GACzB,IAAIohC,EAEJA,EAAQ8zN,EAAiBt4P,KAAK38B,KAAM0N,EAAOqyB,IAAY//B,KACvD,IAGIuiS,EADAC,EAFcziQ,MAEuB0iQ,WAAa/0R,EAAMg1R,MAAQh1R,EAAM80R,OAuB1E,OArBArhO,EAAMwhO,aAAe,KAEjBj1R,EAAMs3E,GACJw9M,GACFD,EAAgBL,EAChB/gO,EAAMwhO,aAAeR,GAErBI,EAAgBH,EAIhBG,EADE70R,EAAMk1R,eAAiBl1R,EAAMm1R,aACfZ,EAEAC,EAIpB/gO,EAAM1xD,MAAQ,CACZrI,OAAQm7R,GAEVphO,EAAM2hO,aAAe,KACd3hO,CACT,CAhCAT,EAAe4hO,EAAYrN,GAkC3BqN,EAAWnmC,yBAA2B,SAAkCxpP,EAAMqzP,GAG5E,OAFarzP,EAAKqyE,IAEJghL,EAAU5+P,SAAW66R,EAC1B,CACL76R,OAAQ86R,GAIL,IACT,EAkBA,IAAIvhO,EAAS2hO,EAAW1lQ,UAkPxB,OAhPA+jC,EAAO2D,kBAAoB,WACzBtkE,KAAK6zO,cAAa,EAAM7zO,KAAK2iS,aAC/B,EAEAhiO,EAAO8Y,mBAAqB,SAA4BC,GACtD,IAAIqpN,EAAa,KAEjB,GAAIrpN,IAAc15E,KAAK0N,MAAO,CAC5B,IAAItG,EAASpH,KAAKyP,MAAMrI,OAEpBpH,KAAK0N,MAAMs3E,GACT59E,IAAW+6R,GAAY/6R,IAAWg7R,IACpCW,EAAaZ,GAGX/6R,IAAW+6R,GAAY/6R,IAAWg7R,IACpCW,EAAaV,EAGnB,CAEAriS,KAAK6zO,cAAa,EAAOkvD,EAC3B,EAEApiO,EAAO+D,qBAAuB,WAC5B1kE,KAAKgjS,oBACP,EAEAriO,EAAOsiO,YAAc,WACnB,IACIC,EAAMR,EAAOF,EADb1gS,EAAU9B,KAAK0N,MAAM5L,QAWzB,OATAohS,EAAOR,EAAQF,EAAS1gS,EAET,MAAXA,GAAsC,iBAAZA,IAC5BohS,EAAOphS,EAAQohS,KACfR,EAAQ5gS,EAAQ4gS,MAEhBF,OAA4Bv+R,IAAnBnC,EAAQ0gS,OAAuB1gS,EAAQ0gS,OAASE,GAGpD,CACLQ,KAAMA,EACNR,MAAOA,EACPF,OAAQA,EAEZ,EAEA7hO,EAAOkzK,aAAe,SAAsBsvD,EAAUJ,GAKpD,QAJiB,IAAbI,IACFA,GAAW,GAGM,OAAfJ,EAIF,GAFA/iS,KAAKgjS,qBAEDD,IAAeZ,EAAU,CAC3B,GAAIniS,KAAK0N,MAAMk1R,eAAiB5iS,KAAK0N,MAAMm1R,aAAc,CACvD,IAAIxnP,EAAOr7C,KAAK0N,MAAM01R,QAAUpjS,KAAK0N,MAAM01R,QAAQtzR,QAAU,gBAAqB9P,MAI9Eq7C,GAAM2mP,EAAY3mP,EACxB,CAEAr7C,KAAKqjS,aAAaF,EACpB,MACEnjS,KAAKsjS,mBAEEtjS,KAAK0N,MAAMk1R,eAAiB5iS,KAAKyP,MAAMrI,SAAW86R,GAC3DliS,KAAKuoC,SAAS,CACZnhC,OAAQ66R,GAGd,EAEAthO,EAAO0iO,aAAe,SAAsBF,GAC1C,IAAIx+N,EAAS3kE,KAET0iS,EAAQ1iS,KAAK0N,MAAMg1R,MACnBa,EAAYvjS,KAAK+/B,QAAU//B,KAAK+/B,QAAQ0iQ,WAAaU,EAErD91Q,EAAQrtB,KAAK0N,MAAM01R,QAAU,CAACG,GAAa,CAAC,gBAAqBvjS,MAAOujS,GACxEC,EAAYn2Q,EAAM,GAClBo2Q,EAAiBp2Q,EAAM,GAEvBq2Q,EAAW1jS,KAAKijS,cAChBU,EAAeJ,EAAYG,EAASlB,OAASkB,EAAShB,OAGrDS,IAAaT,GAASrpR,EACzBrZ,KAAK4jS,aAAa,CAChBx8R,OAAQg7R,IACP,WACDz9N,EAAOj3D,MAAM6jF,UAAUiyM,EACzB,KAIFxjS,KAAK0N,MAAMm2R,QAAQL,EAAWC,GAC9BzjS,KAAK4jS,aAAa,CAChBx8R,OAAQ+6R,IACP,WACDx9N,EAAOj3D,MAAMo2R,WAAWN,EAAWC,GAEnC9+N,EAAOo/N,gBAAgBJ,GAAc,WACnCh/N,EAAOi/N,aAAa,CAClBx8R,OAAQg7R,IACP,WACDz9N,EAAOj3D,MAAM6jF,UAAUiyM,EAAWC,EACpC,GACF,GACF,IACF,EAEA9iO,EAAO2iO,YAAc,WACnB,IAAI3pN,EAAS35E,KAETkjS,EAAOljS,KAAK0N,MAAMw1R,KAClBQ,EAAW1jS,KAAKijS,cAChBO,EAAYxjS,KAAK0N,MAAM01R,aAAUn/R,EAAY,gBAAqBjE,MAEjEkjS,IAAQ7pR,GASbrZ,KAAK0N,MAAMs2R,OAAOR,GAClBxjS,KAAK4jS,aAAa,CAChBx8R,OAAQi7R,IACP,WACD1oN,EAAOjsE,MAAMu2R,UAAUT,GAEvB7pN,EAAOoqN,gBAAgBL,EAASR,MAAM,WACpCvpN,EAAOiqN,aAAa,CAClBx8R,OAAQ86R,IACP,WACDvoN,EAAOjsE,MAAM8jF,SAASgyM,EACxB,GACF,GACF,KArBExjS,KAAK4jS,aAAa,CAChBx8R,OAAQ86R,IACP,WACDvoN,EAAOjsE,MAAM8jF,SAASgyM,EACxB,GAkBJ,EAEA7iO,EAAOqiO,mBAAqB,WACA,OAAtBhjS,KAAK8iS,eACP9iS,KAAK8iS,aAAan2N,SAClB3sE,KAAK8iS,aAAe,KAExB,EAEAniO,EAAOijO,aAAe,SAAsBp/N,EAAWiG,GAIrDA,EAAWzqE,KAAKkkS,gBAAgBz5N,GAChCzqE,KAAKuoC,SAASi8B,EAAWiG,EAC3B,EAEA9J,EAAOujO,gBAAkB,SAAyBz5N,GAChD,IAAI05N,EAASnkS,KAETk1C,GAAS,EAcb,OAZAl1C,KAAK8iS,aAAe,SAAUrxR,GACxByjC,IACFA,GAAS,EACTivP,EAAOrB,aAAe,KACtBr4N,EAASh5D,GAEb,EAEAzR,KAAK8iS,aAAan2N,OAAS,WACzBz3B,GAAS,CACX,EAEOl1C,KAAK8iS,YACd,EAEAniO,EAAOojO,gBAAkB,SAAyBjiS,EAASo9G,GACzDl/G,KAAKkkS,gBAAgBhlL,GACrB,IAAI7jE,EAAOr7C,KAAK0N,MAAM01R,QAAUpjS,KAAK0N,MAAM01R,QAAQtzR,QAAU,gBAAqB9P,MAC9EokS,EAA0C,MAAXtiS,IAAoB9B,KAAK0N,MAAM22R,eAElE,GAAKhpP,IAAQ+oP,EAAb,CAKA,GAAIpkS,KAAK0N,MAAM22R,eAAgB,CAC7B,IAAI92Q,EAAQvtB,KAAK0N,MAAM01R,QAAU,CAACpjS,KAAK8iS,cAAgB,CAACznP,EAAMr7C,KAAK8iS,cAC/DU,EAAYj2Q,EAAM,GAClB+2Q,EAAoB/2Q,EAAM,GAE9BvtB,KAAK0N,MAAM22R,eAAeb,EAAWc,EACvC,CAEe,MAAXxiS,GACF4O,WAAW1Q,KAAK8iS,aAAchhS,EAXhC,MAFE4O,WAAW1Q,KAAK8iS,aAAc,EAelC,EAEAniO,EAAOhsD,OAAS,WACd,IAAIvN,EAASpH,KAAKyP,MAAMrI,OAExB,GAAIA,IAAW66R,EACb,OAAO,KAGT,IAAI1sN,EAAcv1E,KAAK0N,MACnByC,EAAWolE,EAAYplE,SAgBvBkzD,GAfMkS,EAAYyP,GACFzP,EAAYstN,aACXttN,EAAYqtN,cACnBrtN,EAAYitN,OACbjtN,EAAYmtN,MACbntN,EAAY2tN,KACT3tN,EAAYzzE,QACLyzE,EAAY8uN,eACnB9uN,EAAYsuN,QACTtuN,EAAYuuN,WACbvuN,EAAYgc,UACfhc,EAAYyuN,OACTzuN,EAAY0uN,UACb1uN,EAAYic,SACbjc,EAAY6tN,SACV,OAA8B7tN,EAAa,CAAC,WAAY,KAAM,eAAgB,gBAAiB,SAAU,QAAS,OAAQ,UAAW,iBAAkB,UAAW,aAAc,YAAa,SAAU,YAAa,WAAY,aAEjP,OAGE,kBAAoBgvN,EAAuBpnP,SAAU,CACnDzuC,MAAO,MACc,mBAAbyB,EAA0BA,EAAS/I,EAAQi8D,GAAc,iBAAmB,aAAemhO,KAAKr0R,GAAWkzD,GAEzH,EAEOi/N,CACT,CAlT8B,CAkT5B,eA+LF,SAASt/G,IAAQ,CA7LjBs/G,EAAWtmC,YAAcuoC,EACzBjC,EAAWp8N,UA0LP,CAAC,EAILo8N,EAAWl8N,aAAe,CACxB4e,IAAI,EACJ69M,cAAc,EACdD,eAAe,EACfJ,QAAQ,EACRE,OAAO,EACPQ,MAAM,EACNW,QAAS7gH,EACT8gH,WAAY9gH,EACZzxF,UAAWyxF,EACXghH,OAAQhhH,EACRihH,UAAWjhH,EACXxxF,SAAUwxF,GAEZs/G,EAAWL,UAAYA,EACvBK,EAAWJ,OAASA,EACpBI,EAAWH,SAAWA,EACtBG,EAAWF,QAAUA,EACrBE,EAAWD,QAAUA,EACrB,UCrmBA,IAMIoC,EAAc,SAAqBppP,EAAMo8D,GAC3C,OAAOp8D,GAAQo8D,GAAWA,EAAQhyG,MAAM,KAAKgB,SAAQ,SAAUqkB,GAC7D,OLRyC7T,EKQb6T,QLRI6K,EKQV0lB,GLPZvJ,UACVnc,EAAQmc,UAAUguF,OAAO7oH,GACa,iBAAtB0e,EAAQ1e,UACxB0e,EAAQ1e,UAAY4qR,EAAiBlsQ,EAAQ1e,UAAWA,GAExD0e,EAAQhT,aAAa,QAASk/Q,EAAiBlsQ,EAAQ1e,WAAa0e,EAAQ1e,UAAUytR,SAAW,GAAIztR,KAN1F,IAAqB0e,EAAS1e,CKS3C,GACF,EAwEI8tE,EAA6B,SAAUkwM,GAGzC,SAASlwM,IAGP,IAFA,IAAI5jB,EAEKtlB,EAAOrQ,UAAU3hC,OAAQw2B,EAAO,IAAI6B,MAAM2Z,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAC/E1b,EAAK0b,GAAQvQ,UAAUuQ,GAgHzB,OA7GAolB,EAAQ8zN,EAAiBt4P,KAAK8jC,MAAMw0N,EAAkB,CAACj1R,MAAM6a,OAAOwlB,KAAUrgC,MACxE2kS,eAAiB,CACrBnC,OAAQ,CAAC,EACTE,MAAO,CAAC,EACRQ,KAAM,CAAC,GAGT/hO,EAAM0iO,QAAU,SAAUL,EAAWC,GACnC,IAAImB,EAAwBzjO,EAAM0jO,iBAAiBrB,EAAWC,GAC1DpoP,EAAOupP,EAAsB,GAC7BrB,EAAYqB,EAAsB,GAEtCzjO,EAAM2jO,cAAczpP,EAAM,QAE1B8lB,EAAM4jO,SAAS1pP,EAAMkoP,EAAY,SAAW,QAAS,QAEjDpiO,EAAMzzD,MAAMm2R,SACd1iO,EAAMzzD,MAAMm2R,QAAQL,EAAWC,EAEnC,EAEAtiO,EAAM2iO,WAAa,SAAUN,EAAWC,GACtC,IAAIuB,EAAyB7jO,EAAM0jO,iBAAiBrB,EAAWC,GAC3DpoP,EAAO2pP,EAAuB,GAG9BxgS,EAFYwgS,EAAuB,GAEhB,SAAW,QAElC7jO,EAAM4jO,SAAS1pP,EAAM72C,EAAM,UAEvB28D,EAAMzzD,MAAMo2R,YACd3iO,EAAMzzD,MAAMo2R,WAAWN,EAAWC,EAEtC,EAEAtiO,EAAMowB,UAAY,SAAUiyM,EAAWC,GACrC,IAAIwB,EAAyB9jO,EAAM0jO,iBAAiBrB,EAAWC,GAC3DpoP,EAAO4pP,EAAuB,GAG9BzgS,EAFYygS,EAAuB,GAEhB,SAAW,QAElC9jO,EAAM2jO,cAAczpP,EAAM72C,GAE1B28D,EAAM4jO,SAAS1pP,EAAM72C,EAAM,QAEvB28D,EAAMzzD,MAAM6jF,WACdpwB,EAAMzzD,MAAM6jF,UAAUiyM,EAAWC,EAErC,EAEAtiO,EAAM6iO,OAAS,SAAUR,GACvB,IACInoP,EADyB8lB,EAAM0jO,iBAAiBrB,GAClB,GAElCriO,EAAM2jO,cAAczpP,EAAM,UAE1B8lB,EAAM2jO,cAAczpP,EAAM,SAE1B8lB,EAAM4jO,SAAS1pP,EAAM,OAAQ,QAEzB8lB,EAAMzzD,MAAMs2R,QACd7iO,EAAMzzD,MAAMs2R,OAAOR,EAEvB,EAEAriO,EAAM8iO,UAAY,SAAUT,GAC1B,IACInoP,EADyB8lB,EAAM0jO,iBAAiBrB,GAClB,GAElCriO,EAAM4jO,SAAS1pP,EAAM,OAAQ,UAEzB8lB,EAAMzzD,MAAMu2R,WACd9iO,EAAMzzD,MAAMu2R,UAAUT,EAE1B,EAEAriO,EAAMqwB,SAAW,SAAUgyM,GACzB,IACInoP,EADyB8lB,EAAM0jO,iBAAiBrB,GAClB,GAElCriO,EAAM2jO,cAAczpP,EAAM,QAE1B8lB,EAAM4jO,SAAS1pP,EAAM,OAAQ,QAEzB8lB,EAAMzzD,MAAM8jF,UACdrwB,EAAMzzD,MAAM8jF,SAASgyM,EAEzB,EAEAriO,EAAM0jO,iBAAmB,SAAUrB,EAAWC,GAC5C,OAAOtiO,EAAMzzD,MAAM01R,QAAU,CAACjiO,EAAMzzD,MAAM01R,QAAQtzR,QAAS0zR,GACzD,CAACA,EAAWC,EAChB,EAEAtiO,EAAM+jO,cAAgB,SAAU1gS,GAC9B,IAAIygF,EAAa9jB,EAAMzzD,MAAMu3E,WACzBkgN,EAA2C,iBAAflgN,EAE5BmgN,EAAgBD,EAAqB,IAD5BA,GAAsBlgN,EAAaA,EAAa,IAAM,IACZzgF,EAAOygF,EAAWzgF,GAGzE,MAAO,CACL4gS,cAAeA,EACfC,gBAJoBF,EAAqBC,EAAgB,UAAYngN,EAAWzgF,EAAO,UAKvF8gS,cAJkBH,EAAqBC,EAAgB,QAAUngN,EAAWzgF,EAAO,QAMvF,EAEO28D,CACT,CAvHAT,EAAeqkB,EAAekwM,GAyH9B,IAAIt0N,EAASokB,EAAcnoD,UA4D3B,OA1DA+jC,EAAOokO,SAAW,SAAkB1pP,EAAM72C,EAAM+gS,GAC9C,IAAItuR,EAAYjX,KAAKklS,cAAc1gS,GAAM+gS,EAAQ,aAG7CD,EADsBtlS,KAAKklS,cAAc,SACLI,cAE3B,WAAT9gS,GAA+B,SAAV+gS,GAAoBD,IAC3CruR,GAAa,IAAMquR,GAKP,WAAVC,GACElqP,GAAM2mP,EAAY3mP,GAGpBpkC,IACFjX,KAAK2kS,eAAengS,GAAM+gS,GAAStuR,EA/NzB,SAAkBokC,EAAMo8D,GAC/Bp8D,GAAQo8D,GAAWA,EAAQhyG,MAAM,KAAKgB,SAAQ,SAAUqkB,GAC7D,OCLsC7T,EDKb6T,QCLI6K,EDKV0lB,GCJTvJ,UAAWnc,EAAQmc,UAAUC,IAAI96B,GCHhC,SAAkB0e,EAAS1e,GACxC,OAAI0e,EAAQmc,YAAoB76B,GAAa0e,EAAQmc,UAAU/hC,SAASkH,IACkC,KAAlG,KAAO0e,EAAQ1e,UAAUytR,SAAW/uQ,EAAQ1e,WAAa,KAAK+qB,QAAQ,IAAM/qB,EAAY,IAClG,CDAoEuuR,CAAS7vQ,EAAS1e,KAA6C,iBAAtB0e,EAAQ1e,UAAwB0e,EAAQ1e,UAAY0e,EAAQ1e,UAAY,IAAMA,EAAe0e,EAAQhT,aAAa,SAAUgT,EAAQ1e,WAAa0e,EAAQ1e,UAAUytR,SAAW,IAAM,IAAMztR,KADxR,IAAkB0e,EAAS1e,CDMxC,GACF,CA6NMwuR,CAAUpqP,EAAMpkC,GAEpB,EAEA0pD,EAAOmkO,cAAgB,SAAuBzpP,EAAM72C,GAClD,IAAIkhS,EAAwB1lS,KAAK2kS,eAAengS,GAC5C4gS,EAAgBM,EAAsB5uL,KACtCuuL,EAAkBK,EAAsBxwP,OACxCowP,EAAgBI,EAAsB7rP,KAC1C75C,KAAK2kS,eAAengS,GAAQ,CAAC,EAEzB4gS,GACFX,EAAYppP,EAAM+pP,GAGhBC,GACFZ,EAAYppP,EAAMgqP,GAGhBC,GACFb,EAAYppP,EAAMiqP,EAEtB,EAEA3kO,EAAOhsD,OAAS,WACd,IAAI4gE,EAAcv1E,KAAK0N,MAEnBA,GADI6nE,EAAY0P,YACR,OAA8B1P,EAAa,CAAC,gBAExD,OAAoB,kBAAoB,GAAY,OAAS,CAAC,EAAG7nE,EAAO,CACtEm2R,QAAS7jS,KAAK6jS,QACdtyM,UAAWvxF,KAAKuxF,UAChBuyM,WAAY9jS,KAAK8jS,WACjBE,OAAQhkS,KAAKgkS,OACbC,UAAWjkS,KAAKikS,UAChBzyM,SAAUxxF,KAAKwxF,WAEnB,EAEOzM,CACT,CAvLiC,CAuL/B,eAEFA,EAAc3e,aAAe,CAC3B6e,WAAY,IAEdF,EAAc7e,UAiIT,CAAC,EACN,S,8BGlZA,SAASy/N,EAAuB5hS,GAC9B,MAAO,yBAA2BA,EAAO,4CAA8CA,EAAhF,iFACT,C,oCAGA,IAAI6hS,EACuB,mBAAX16C,QAAyBA,OAAO26C,YAAc,eAS1DC,EAAe,WACjB,OAAOlhQ,KAAKu2E,SAASp3F,SAAS,IAAIw6E,UAAU,GAAG94F,MAAM,IAAIs8B,KAAK,IAChE,EAEIgkQ,EAAc,CAChBC,KAAM,eAAiBF,IACvBG,QAAS,kBAAoBH,IAC7BI,qBAAsB,WACpB,MAAO,+BAAiCJ,GAC1C,GAOF,SAAS/5N,EAAcj8C,GACrB,GAAmB,iBAARA,GAA4B,OAARA,EAAc,OAAO,EAGpD,IAFA,IAAIk8C,EAAQl8C,EAE4B,OAAjC/S,OAAOkvD,eAAeD,IAC3BA,EAAQjvD,OAAOkvD,eAAeD,GAGhC,OAAOjvD,OAAOkvD,eAAen8C,KAASk8C,CACxC,CAuFA,SAAS/vB,EAAYsyH,EAAS43H,EAAgBC,GAC5C,IAAI/4Q,EAEJ,GAA8B,mBAAnB84Q,GAAqD,mBAAbC,GAA+C,mBAAbA,GAAmD,mBAAjB56P,UAAU,GAC/H,MAAM,IAAI5mC,MAA8C+gS,EAAuB,IAQjF,GAL8B,mBAAnBQ,QAAqD,IAAbC,IACjDA,EAAWD,EACXA,OAAiBliS,QAGK,IAAbmiS,EAA0B,CACnC,GAAwB,mBAAbA,EACT,MAAM,IAAIxhS,MAA8C+gS,EAAuB,IAGjF,OAAOS,EAASnqP,EAATmqP,CAAsB73H,EAAS43H,EACxC,CAEA,GAAuB,mBAAZ53H,EACT,MAAM,IAAI3pK,MAA8C+gS,EAAuB,IAGjF,IAAIU,EAAiB93H,EACjB+3H,EAAeH,EACfI,EAAmB,GACnBC,EAAgBD,EAChBE,GAAgB,EASpB,SAASC,IACHF,IAAkBD,IACpBC,EAAgBD,EAAiB3rR,QAErC,CAQA,SAASzH,IACP,GAAIszR,EACF,MAAM,IAAI7hS,MAA8C+gS,EAAuB,IAGjF,OAAOW,CACT,CA0BA,SAASzpP,EAAU4R,GACjB,GAAwB,mBAAbA,EACT,MAAM,IAAI7pD,MAA8C+gS,EAAuB,IAGjF,GAAIc,EACF,MAAM,IAAI7hS,MAA8C+gS,EAAuB,IAGjF,IAAIngB,GAAe,EAGnB,OAFAkhB,IACAF,EAAchjS,KAAKirD,GACZ,WACL,GAAK+2N,EAAL,CAIA,GAAIihB,EACF,MAAM,IAAI7hS,MAA8C+gS,EAAuB,IAGjFngB,GAAe,EACfkhB,IACA,IAAI//R,EAAQ6/R,EAAcxkQ,QAAQysB,GAClC+3O,EAAcxsN,OAAOrzE,EAAO,GAC5B4/R,EAAmB,IAVnB,CAWF,CACF,CA4BA,SAASp3R,EAASutC,GAChB,IAAKqvB,EAAcrvB,GACjB,MAAM,IAAI93C,MAA8C+gS,EAAuB,IAGjF,QAA2B,IAAhBjpP,EAAOl4C,KAChB,MAAM,IAAII,MAA8C+gS,EAAuB,IAGjF,GAAIc,EACF,MAAM,IAAI7hS,MAA8C+gS,EAAuB,IAGjF,IACEc,GAAgB,EAChBH,EAAeD,EAAeC,EAAc5pP,EAC9C,CAAE,QACA+pP,GAAgB,CAClB,CAIA,IAFA,IAAI1vC,EAAYwvC,EAAmBC,EAE1B1mS,EAAI,EAAGA,EAAIi3P,EAAUltP,OAAQ/J,IAAK,EAEzC2uD,EADesoM,EAAUj3P,KAE3B,CAEA,OAAO48C,CACT,CA4EA,OAHAvtC,EAAS,CACP3K,KAAMuhS,EAAYC,QAEb34Q,EAAQ,CACble,SAAUA,EACV0tC,UAAWA,EACX1pC,SAAUA,EACVwzR,eAnEF,SAAwBC,GACtB,GAA2B,mBAAhBA,EACT,MAAM,IAAIhiS,MAA8C+gS,EAAuB,KAGjFU,EAAiBO,EAKjBz3R,EAAS,CACP3K,KAAMuhS,EAAYE,SAEtB,IAuDSL,GA9CT,WACE,IAAIjzR,EAEAk0R,EAAiBhqP,EACrB,OAAOlqC,EAAO,CASZkqC,UAAW,SAAmBulD,GAC5B,GAAwB,iBAAbA,GAAsC,OAAbA,EAClC,MAAM,IAAIx9F,MAA8C+gS,EAAuB,KAGjF,SAASmB,IACH1kM,EAAStlD,MACXslD,EAAStlD,KAAK3pC,IAElB,CAIA,OAFA2zR,IAEO,CACL5hB,YAFgB2hB,EAAeC,GAInC,IACMlB,GAAgB,WACtB,OAAO5lS,IACT,EAAG2S,CACL,EAaqC0a,CACvC,CAsHA,SAASqlF,EAAgBq0L,GAIvB,IAHA,IAAIC,EAAcjqR,OAAOghB,KAAKgpQ,GAC1BE,EAAgB,CAAC,EAEZnnS,EAAI,EAAGA,EAAIknS,EAAYn9R,OAAQ/J,IAAK,CAC3C,IAAIgS,EAAMk1R,EAAYlnS,GAElB,EAMyB,mBAAlBinS,EAASj1R,KAClBm1R,EAAcn1R,GAAOi1R,EAASj1R,GAElC,CAEA,IASIo1R,EATAC,EAAmBpqR,OAAOghB,KAAKkpQ,GAWnC,KAjEF,SAA4BF,GAC1BhqR,OAAOghB,KAAKgpQ,GAAUtgS,SAAQ,SAAUqL,GACtC,IAAIy8J,EAAUw4H,EAASj1R,GAKvB,QAA4B,IAJTy8J,OAAQtqK,EAAW,CACpCO,KAAMuhS,EAAYC,OAIlB,MAAM,IAAIphS,MAA8C+gS,EAAuB,KAGjF,QAEO,IAFIp3H,OAAQtqK,EAAW,CAC5BO,KAAMuhS,EAAYG,yBAElB,MAAM,IAAIthS,MAA8C+gS,EAAuB,IAEnF,GACF,CAiDIyB,CAAmBH,EACrB,CAAE,MAAOp3R,GACPq3R,EAAsBr3R,CACxB,CAEA,OAAO,SAAqBJ,EAAOitC,GAKjC,QAJc,IAAVjtC,IACFA,EAAQ,CAAC,GAGPy3R,EACF,MAAMA,EAcR,IAX2C,IAQvCG,GAAa,EACb7iO,EAAY,CAAC,EAER8jM,EAAK,EAAGA,EAAK6+B,EAAiBt9R,OAAQy+P,IAAM,CACnD,IAAIvsN,EAAOorP,EAAiB7+B,GACxB/5F,EAAU04H,EAAclrP,GACxBurP,EAAsB73R,EAAMssC,GAC5BwrP,EAAkBh5H,EAAQ+4H,EAAqB5qP,GAEnD,QAA+B,IAApB6qP,EAAiC,CACzB7qP,GAAUA,EAAOl4C,KAClC,MAAM,IAAII,MAA8C+gS,EAAuB,IACjF,CAEAnhO,EAAUzoB,GAAQwrP,EAClBF,EAAaA,GAAcE,IAAoBD,CACjD,CAGA,OADAD,EAAaA,GAAcF,EAAiBt9R,SAAWkT,OAAOghB,KAAKtuB,GAAO5F,QACtD26D,EAAY/0D,CAClC,CACF,CA8DA,SAAS+3R,IACP,IAAK,IAAI3rP,EAAOrQ,UAAU3hC,OAAQiyC,EAAQ,IAAI5Z,MAAM2Z,GAAOE,EAAO,EAAGA,EAAOF,EAAME,IAChFD,EAAMC,GAAQvQ,UAAUuQ,GAG1B,OAAqB,IAAjBD,EAAMjyC,OACD,SAAUkqH,GACf,OAAOA,CACT,EAGmB,IAAjBj4E,EAAMjyC,OACDiyC,EAAM,GAGRA,EAAM3D,QAAO,SAAUt4C,EAAG2wB,GAC/B,OAAO,WACL,OAAO3wB,EAAE2wB,EAAEiwC,WAAM,EAAQj1B,WAC3B,CACF,GACF,C,4DCxoBA,IAAIi8P,EAAU,WACV,GAAmB,oBAAR70N,IACP,OAAOA,IASX,SAAS80N,EAAS73Q,EAAK/d,GACnB,IAAIoe,GAAU,EAQd,OAPAL,EAAI1E,MAAK,SAAUtjB,EAAOlB,GACtB,OAAIkB,EAAM,KAAOiK,IACboe,EAASvpB,GACF,EAGf,IACOupB,CACX,CACA,OAAsB,WAClB,SAASy3Q,IACL3nS,KAAK4nS,YAAc,EACvB,CAsEA,OArEA7qR,OAAOwvD,eAAeo7N,EAAQ/qQ,UAAW,OAAQ,CAI7Cl8B,IAAK,WACD,OAAOV,KAAK4nS,YAAY/9R,MAC5B,EACA+hM,YAAY,EACZ/yF,cAAc,IAMlB8uL,EAAQ/qQ,UAAUl8B,IAAM,SAAUoR,GAC9B,IAAInL,EAAQ+gS,EAAS1nS,KAAK4nS,YAAa91R,GACnCjK,EAAQ7H,KAAK4nS,YAAYjhS,GAC7B,OAAOkB,GAASA,EAAM,EAC1B,EAMA8/R,EAAQ/qQ,UAAU2rC,IAAM,SAAUz2D,EAAKpD,GACnC,IAAI/H,EAAQ+gS,EAAS1nS,KAAK4nS,YAAa91R,IAClCnL,EACD3G,KAAK4nS,YAAYjhS,GAAO,GAAK+H,EAG7B1O,KAAK4nS,YAAYpkS,KAAK,CAACsO,EAAKpD,GAEpC,EAKAi5R,EAAQ/qQ,UAAUoxF,OAAS,SAAUl8G,GACjC,IAAIhK,EAAU9H,KAAK4nS,YACfjhS,EAAQ+gS,EAAS5/R,EAASgK,IACzBnL,GACDmB,EAAQkyE,OAAOrzE,EAAO,EAE9B,EAKAghS,EAAQ/qQ,UAAUmxF,IAAM,SAAUj8G,GAC9B,SAAU41R,EAAS1nS,KAAK4nS,YAAa91R,EACzC,EAIA61R,EAAQ/qQ,UAAUg3E,MAAQ,WACtB5zG,KAAK4nS,YAAY5tN,OAAO,EAC5B,EAMA2tN,EAAQ/qQ,UAAUn2B,QAAU,SAAUgkE,EAAU+jL,QAChC,IAARA,IAAkBA,EAAM,MAC5B,IAAK,IAAI8Z,EAAK,EAAG1nQ,EAAKZ,KAAK4nS,YAAat/B,EAAK1nQ,EAAGiJ,OAAQy+P,IAAM,CAC1D,IAAIzgQ,EAAQjH,EAAG0nQ,GACf79L,EAAS9tC,KAAK6xN,EAAK3mP,EAAM,GAAIA,EAAM,GACvC,CACJ,EACO8/R,CACX,CA1EqB,EA2ExB,CAjGa,GAsGV37F,EAA8B,oBAAX7pM,QAA8C,oBAAbmO,UAA4BnO,OAAOmO,WAAaA,SAGpGu3R,OACsB,IAAX,EAAAx5K,GAA0B,EAAAA,EAAOzpF,OAASA,KAC1C,EAAAypF,EAES,oBAATtuH,MAAwBA,KAAK6kC,OAASA,KACtC7kC,KAEW,oBAAXoC,QAA0BA,OAAOyiC,OAASA,KAC1CziC,OAGJ2pE,SAAS,cAATA,GASPg8N,EACqC,mBAA1Bp9N,sBAIAA,sBAAsB0+C,KAAKy+K,GAE/B,SAAUp9N,GAAY,OAAO/5D,YAAW,WAAc,OAAO+5D,EAAS12B,KAAKgkB,MAAQ,GAAG,IAAO,GAAK,EAqE7G,IAGIgwO,EAAiB,CAAC,MAAO,QAAS,SAAU,OAAQ,QAAS,SAAU,OAAQ,UAE/EC,EAAwD,oBAArBpiH,iBAInCqiH,EAA0C,WAM1C,SAASA,IAMLjoS,KAAKkoS,YAAa,EAMlBloS,KAAKmoS,sBAAuB,EAM5BnoS,KAAKooS,mBAAqB,KAM1BpoS,KAAKqoS,WAAa,GAClBroS,KAAKsoS,iBAAmBtoS,KAAKsoS,iBAAiBl/K,KAAKppH,MACnDA,KAAKuoS,QAjGb,SAAmB99N,EAAUs2D,GACzB,IAAIynK,GAAc,EAAOC,GAAe,EAAO58L,EAAe,EAO9D,SAAS68L,IACDF,IACAA,GAAc,EACd/9N,KAEAg+N,GACAte,GAER,CAQA,SAASwe,IACLb,EAAwBY,EAC5B,CAMA,SAASve,IACL,IAAIye,EAAY70P,KAAKgkB,MACrB,GAAIywO,EAAa,CAEb,GAAII,EAAY/8L,EA7CN,EA8CN,OAMJ48L,GAAe,CACnB,MAEID,GAAc,EACdC,GAAe,EACf/3R,WAAWi4R,EAAiB5nK,GAEhCl1B,EAAe+8L,CACnB,CACA,OAAOze,CACX,CA4CuB0e,CAAS7oS,KAAKuoS,QAAQn/K,KAAKppH,MAzC9B,GA0ChB,CA+JA,OAxJAioS,EAAyBrrQ,UAAUksQ,YAAc,SAAU1mM,IACjDpiG,KAAKqoS,WAAWrmQ,QAAQogE,IAC1BpiG,KAAKqoS,WAAW7kS,KAAK4+F,GAGpBpiG,KAAKkoS,YACNloS,KAAK+oS,UAEb,EAOAd,EAAyBrrQ,UAAUosQ,eAAiB,SAAU5mM,GAC1D,IAAI6mM,EAAYjpS,KAAKqoS,WACjB1hS,EAAQsiS,EAAUjnQ,QAAQogE,IAEzBz7F,GACDsiS,EAAUjvN,OAAOrzE,EAAO,IAGvBsiS,EAAUp/R,QAAU7J,KAAKkoS,YAC1BloS,KAAKkpS,aAEb,EAOAjB,EAAyBrrQ,UAAU2rQ,QAAU,WACnBvoS,KAAKmpS,oBAIvBnpS,KAAKuoS,SAEb,EASAN,EAAyBrrQ,UAAUusQ,iBAAmB,WAElD,IAAIC,EAAkBppS,KAAKqoS,WAAW59R,QAAO,SAAU23F,GACnD,OAAOA,EAASinM,eAAgBjnM,EAASknM,WAC7C,IAOA,OADAF,EAAgB3iS,SAAQ,SAAU27F,GAAY,OAAOA,EAASmnM,iBAAmB,IAC1EH,EAAgBv/R,OAAS,CACpC,EAOAo+R,EAAyBrrQ,UAAUmsQ,SAAW,WAGrC/8F,IAAahsM,KAAKkoS,aAMvB53R,SAASC,iBAAiB,gBAAiBvQ,KAAKsoS,kBAChDnmS,OAAOoO,iBAAiB,SAAUvQ,KAAKuoS,SACnCP,GACAhoS,KAAKooS,mBAAqB,IAAIxiH,iBAAiB5lL,KAAKuoS,SACpDvoS,KAAKooS,mBAAmB9lM,QAAQhyF,SAAU,CACtC2c,YAAY,EACZ44J,WAAW,EACX2jH,eAAe,EACf/gP,SAAS,MAIbn4C,SAASC,iBAAiB,qBAAsBvQ,KAAKuoS,SACrDvoS,KAAKmoS,sBAAuB,GAEhCnoS,KAAKkoS,YAAa,EACtB,EAOAD,EAAyBrrQ,UAAUssQ,YAAc,WAGxCl9F,GAAchsM,KAAKkoS,aAGxB53R,SAASE,oBAAoB,gBAAiBxQ,KAAKsoS,kBACnDnmS,OAAOqO,oBAAoB,SAAUxQ,KAAKuoS,SACtCvoS,KAAKooS,oBACLpoS,KAAKooS,mBAAmB7lM,aAExBviG,KAAKmoS,sBACL73R,SAASE,oBAAoB,qBAAsBxQ,KAAKuoS,SAE5DvoS,KAAKooS,mBAAqB,KAC1BpoS,KAAKmoS,sBAAuB,EAC5BnoS,KAAKkoS,YAAa,EACtB,EAQAD,EAAyBrrQ,UAAU0rQ,iBAAmB,SAAU1nS,GAC5D,IAAIusB,EAAKvsB,EAAG6oS,aAAcA,OAAsB,IAAPt8Q,EAAgB,GAAKA,EAEvC46Q,EAAe58Q,MAAK,SAAUrZ,GACjD,SAAU23R,EAAaznQ,QAAQlwB,EACnC,KAEI9R,KAAKuoS,SAEb,EAMAN,EAAyByB,YAAc,WAInC,OAHK1pS,KAAK2pS,YACN3pS,KAAK2pS,UAAY,IAAI1B,GAElBjoS,KAAK2pS,SAChB,EAMA1B,EAAyB0B,UAAY,KAC9B1B,CACX,CAjM6C,GA0MzC2B,EAAqB,SAAW55R,EAAQtC,GACxC,IAAK,IAAI46P,EAAK,EAAG1nQ,EAAKmc,OAAOghB,KAAKrwB,GAAQ46P,EAAK1nQ,EAAGiJ,OAAQy+P,IAAM,CAC5D,IAAIx2P,EAAMlR,EAAG0nQ,GACbvrP,OAAOwvD,eAAev8D,EAAQ8B,EAAK,CAC/BpD,MAAOhB,EAAMoE,GACb85L,YAAY,EACZhzF,UAAU,EACVC,cAAc,GAEtB,CACA,OAAO7oG,CACV,EAQG65R,EAAc,SAAW75R,GAOzB,OAHkBA,GAAUA,EAAO85R,eAAiB95R,EAAO85R,cAAcC,aAGnDlC,CACzB,EAGGmC,EAAYC,EAAe,EAAG,EAAG,EAAG,GAOxC,SAASC,EAAQx7R,GACb,OAAO2pC,WAAW3pC,IAAU,CAChC,CAQA,SAASy7R,EAAe90P,GAEpB,IADA,IAAIi8B,EAAY,GACPg3L,EAAK,EAAGA,EAAK98N,UAAU3hC,OAAQy+P,IACpCh3L,EAAUg3L,EAAK,GAAK98N,UAAU88N,GAElC,OAAOh3L,EAAUn5B,QAAO,SAAU7lC,EAAM6V,GAEpC,OAAO7V,EAAO43R,EADF70P,EAAO,UAAYltB,EAAW,UAE9C,GAAG,EACP,CAkCA,SAASiiR,EAA0Bp6R,GAG/B,IAAIknE,EAAclnE,EAAOknE,YAAax8B,EAAe1qC,EAAO0qC,aAS5D,IAAKw8B,IAAgBx8B,EACjB,OAAOsvP,EAEX,IAAI30P,EAASw0P,EAAY75R,GAAQmpE,iBAAiBnpE,GAC9Cq6R,EA3CR,SAAqBh1P,GAGjB,IAFA,IACIg1P,EAAW,CAAC,EACP/hC,EAAK,EAAGgiC,EAFD,CAAC,MAAO,QAAS,SAAU,QAEDhiC,EAAKgiC,EAAYzgS,OAAQy+P,IAAM,CACrE,IAAIngP,EAAWmiR,EAAYhiC,GACvB55P,EAAQ2mC,EAAO,WAAaltB,GAChCkiR,EAASliR,GAAY+hR,EAAQx7R,EACjC,CACA,OAAO27R,CACX,CAkCmBE,CAAYl1P,GACvBm1P,EAAWH,EAASx2R,KAAOw2R,EAASv2R,MACpC22R,EAAUJ,EAAS72R,IAAM62R,EAASz2R,OAKlCgO,EAAQsoR,EAAQ70P,EAAOzzB,OAAQsB,EAASgnR,EAAQ70P,EAAOnyB,QAqB3D,GAlByB,eAArBmyB,EAAOq1P,YAOH9lQ,KAAK41B,MAAM54C,EAAQ4oR,KAActzN,IACjCt1D,GAASuoR,EAAe90P,EAAQ,OAAQ,SAAWm1P,GAEnD5lQ,KAAK41B,MAAMt3C,EAASunR,KAAa/vP,IACjCx3B,GAAUinR,EAAe90P,EAAQ,MAAO,UAAYo1P,KAoDhE,SAA2Bz6R,GACvB,OAAOA,IAAW65R,EAAY75R,GAAQM,SAASuhC,eACnD,CA/CS84P,CAAkB36R,GAAS,CAK5B,IAAI46R,EAAgBhmQ,KAAK41B,MAAM54C,EAAQ4oR,GAAYtzN,EAC/C2zN,EAAiBjmQ,KAAK41B,MAAMt3C,EAASunR,GAAW/vP,EAMpB,IAA5B9V,KAAK8zC,IAAIkyN,KACThpR,GAASgpR,GAEoB,IAA7BhmQ,KAAK8zC,IAAImyN,KACT3nR,GAAU2nR,EAElB,CACA,OAAOZ,EAAeI,EAASx2R,KAAMw2R,EAAS72R,IAAKoO,EAAOsB,EAC9D,CAOA,IAAI4nR,EAGkC,oBAAvBC,mBACA,SAAU/6R,GAAU,OAAOA,aAAkB65R,EAAY75R,GAAQ+6R,kBAAoB,EAKzF,SAAU/6R,GAAU,OAAQA,aAAkB65R,EAAY75R,GAAQg7R,YAC3C,mBAAnBh7R,EAAOi7R,OAAyB,EAiB/C,SAASC,EAAel7R,GACpB,OAAKg8L,EAGD8+F,EAAqB96R,GAhH7B,SAA2BA,GACvB,IAAIkoD,EAAOloD,EAAOi7R,UAClB,OAAOhB,EAAe,EAAG,EAAG/xO,EAAKt2C,MAAOs2C,EAAKh1C,OACjD,CA8GeioR,CAAkBn7R,GAEtBo6R,EAA0Bp6R,GALtBg6R,CAMf,CAiCA,SAASC,EAAe54O,EAAGF,EAAGvvC,EAAOsB,GACjC,MAAO,CAAEmuC,EAAGA,EAAGF,EAAGA,EAAGvvC,MAAOA,EAAOsB,OAAQA,EAC/C,CAMA,IAAIkoR,EAAmC,WAMnC,SAASA,EAAkBp7R,GAMvBhQ,KAAKqrS,eAAiB,EAMtBrrS,KAAKsrS,gBAAkB,EAMvBtrS,KAAKurS,aAAetB,EAAe,EAAG,EAAG,EAAG,GAC5CjqS,KAAKgQ,OAASA,CAClB,CAyBA,OAlBAo7R,EAAkBxuQ,UAAU8R,SAAW,WACnC,IAAI88P,EAAON,EAAelrS,KAAKgQ,QAE/B,OADAhQ,KAAKurS,aAAeC,EACZA,EAAK5pR,QAAU5hB,KAAKqrS,gBACxBG,EAAKtoR,SAAWljB,KAAKsrS,eAC7B,EAOAF,EAAkBxuQ,UAAU6uQ,cAAgB,WACxC,IAAID,EAAOxrS,KAAKurS,aAGhB,OAFAvrS,KAAKqrS,eAAiBG,EAAK5pR,MAC3B5hB,KAAKsrS,gBAAkBE,EAAKtoR,OACrBsoR,CACX,EACOJ,CACX,CApDsC,GAsDlCM,EAOA,SAA6B17R,EAAQ27R,GACjC,IA/FoB/qS,EACpBywD,EAAUF,EAAUvvC,EAAkBsB,EAEtC0oR,EACAJ,EA2FIh9E,GA9FJn9J,GADoBzwD,EA+FiB+qS,GA9F9Bt6O,EAAGF,EAAIvwD,EAAGuwD,EAAGvvC,EAAQhhB,EAAGghB,MAAOsB,EAAStiB,EAAGsiB,OAElD0oR,EAAoC,oBAApBC,gBAAkCA,gBAAkB9uR,OACpEyuR,EAAOzuR,OAAO8f,OAAO+uQ,EAAOhvQ,WAEhCgtQ,EAAmB4B,EAAM,CACrBn6O,EAAGA,EAAGF,EAAGA,EAAGvvC,MAAOA,EAAOsB,OAAQA,EAClC1P,IAAK29C,EACLr9C,MAAOu9C,EAAIzvC,EACXhO,OAAQsP,EAASiuC,EACjBt9C,KAAMw9C,IAEHm6O,GAyFH5B,EAAmB5pS,KAAM,CAAEgQ,OAAQA,EAAQw+M,YAAaA,GAC5D,EAIAs9E,EAAmC,WAWnC,SAASA,EAAkBrhO,EAAUshO,EAAYC,GAc7C,GAPAhsS,KAAKisS,oBAAsB,GAM3BjsS,KAAKksS,cAAgB,IAAIzE,EACD,mBAAbh9N,EACP,MAAM,IAAI0hC,UAAU,2DAExBnsG,KAAKmsS,UAAY1hO,EACjBzqE,KAAKosS,YAAcL,EACnB/rS,KAAKqsS,aAAeL,CACxB,CAmHA,OA5GAF,EAAkBlvQ,UAAU0lE,QAAU,SAAUtyF,GAC5C,IAAKw7B,UAAU3hC,OACX,MAAM,IAAIsiG,UAAU,4CAGxB,GAAuB,oBAAZmN,SAA6BA,mBAAmBv8F,OAA3D,CAGA,KAAM/M,aAAkB65R,EAAY75R,GAAQspG,SACxC,MAAM,IAAInN,UAAU,yCAExB,IAAImgM,EAAetsS,KAAKksS,cAEpBI,EAAav+K,IAAI/9G,KAGrBs8R,EAAa/jO,IAAIv4D,EAAQ,IAAIo7R,EAAkBp7R,IAC/ChQ,KAAKosS,YAAYtD,YAAY9oS,MAE7BA,KAAKosS,YAAY7D,UAZjB,CAaJ,EAOAuD,EAAkBlvQ,UAAU6xL,UAAY,SAAUz+M,GAC9C,IAAKw7B,UAAU3hC,OACX,MAAM,IAAIsiG,UAAU,4CAGxB,GAAuB,oBAAZmN,SAA6BA,mBAAmBv8F,OAA3D,CAGA,KAAM/M,aAAkB65R,EAAY75R,GAAQspG,SACxC,MAAM,IAAInN,UAAU,yCAExB,IAAImgM,EAAetsS,KAAKksS,cAEnBI,EAAav+K,IAAI/9G,KAGtBs8R,EAAat+K,OAAOh+G,GACfs8R,EAAah6R,MACdtS,KAAKosS,YAAYpD,eAAehpS,MAXpC,CAaJ,EAMA8rS,EAAkBlvQ,UAAU2lE,WAAa,WACrCviG,KAAKusS,cACLvsS,KAAKksS,cAAct4L,QACnB5zG,KAAKosS,YAAYpD,eAAehpS,KACpC,EAOA8rS,EAAkBlvQ,UAAUysQ,aAAe,WACvC,IAAIloO,EAAQnhE,KACZA,KAAKusS,cACLvsS,KAAKksS,cAAczlS,SAAQ,SAAU+lS,GAC7BA,EAAY99P,YACZyyB,EAAM8qO,oBAAoBzoS,KAAKgpS,EAEvC,GACJ,EAOAV,EAAkBlvQ,UAAU2sQ,gBAAkB,WAE1C,GAAKvpS,KAAKspS,YAAV,CAGA,IAAI96C,EAAMxuP,KAAKqsS,aAEXvkS,EAAU9H,KAAKisS,oBAAoBp6R,KAAI,SAAU26R,GACjD,OAAO,IAAId,EAAoBc,EAAYx8R,OAAQw8R,EAAYf,gBACnE,IACAzrS,KAAKmsS,UAAUxvQ,KAAK6xN,EAAK1mP,EAAS0mP,GAClCxuP,KAAKusS,aAPL,CAQJ,EAMAT,EAAkBlvQ,UAAU2vQ,YAAc,WACtCvsS,KAAKisS,oBAAoBjyN,OAAO,EACpC,EAMA8xN,EAAkBlvQ,UAAU0sQ,UAAY,WACpC,OAAOtpS,KAAKisS,oBAAoBpiS,OAAS,CAC7C,EACOiiS,CACX,CAnJsC,GAwJlC7C,EAA+B,oBAAZnoC,QAA0B,IAAIA,QAAY,IAAI2mC,EAKjEn5E,EAOA,SAASA,EAAe7jJ,GACpB,KAAMzqE,gBAAgBsuN,GAClB,MAAM,IAAIniH,UAAU,sCAExB,IAAK3gE,UAAU3hC,OACX,MAAM,IAAIsiG,UAAU,4CAExB,IAAI4/L,EAAa9D,EAAyByB,cACtCtnM,EAAW,IAAI0pM,EAAkBrhO,EAAUshO,EAAY/rS,MAC3DipS,EAAU1gO,IAAIvoE,KAAMoiG,EACxB,EAIJ,CACI,UACA,YACA,cACF37F,SAAQ,SAAUmgH,GAChB0nG,EAAe1xL,UAAUgqF,GAAU,WAC/B,IAAIhmH,EACJ,OAAQA,EAAKqoS,EAAUvoS,IAAIV,OAAO4mH,GAAQnmD,MAAM7/D,EAAI4qC,UACxD,CACJ,IAUA,aAN2C,IAA5Bq8P,EAASv5E,eACTu5E,EAASv5E,eAEbA,C,6DC35BT,SAAO,EAAa,GACrB,0B,CCID,OAAsB,EAKb,EAAE,CAUT,aAAI,E,yCACF,CAAW,GACT,IACa,WACd,MAIF,GAED,E,yCACE,GACD,QACD,GC5BA,SAAW,EAAQ,GACpB,mC,CCFC,IAAM,EAAM,CACZ,UACA,KAAK,SAAL,GAAc,E,MACZ,SAAW,G,GACT,EAAM,sCACP,QAEA,IAEH,EACA,uB,6FCNyD,W,SAClD,EAAY,GAOlB,OANC,MAAK,W,KACA,QAAO,EAER,EAAK,OAAG,4CAAsB,qEAClCtuN,KAAK,KAAO,sBACZ,YAAY,EACb,IAED,CAGE,OADF,EAAO,UAAwB,+BAC5B,CAML,CAnB2D,GC+BzD,EAAY,W,SAXL,EAAkB,GAGf,eAEF,sBAAqC,KAO3C,KAAI,eAAa,KACd,IACAA,KAAa,kBAAe,EAC9B,oBASH,CAsKD,O,EArKO,UAAc,uBAElB,IAAI,E,IACF,Y,CAKF,IC7DmB,ED6Df,EAAC,KAAS,EAAK,4E,GACnBA,KAAK,UAGLA,KAAK,iBAAiB,KAEtB,KAAI,eAAgB,KAClBysS,aAA4B,EAC7B,oBACC,GAA0B,OAArB,E,IACH,IAAM,EAAO,EAAE,EAAAA,EAAwB,YAC1B,EAAO,GACrB,YACF,C,GAYC,EAAI,GAAkB,CACnB,IACF,0B,IAGA,YAAC,C,MACA58R,GACD,gCACF,CAED,C,GACE,EAAI,GACJ,CAAI,GAAM,E,IAAV,IAEA,EAAS,EAAa,SACd,EAAM,IACZ,IAAI,IAAe,G,GCrG1B,QADsB,EDuGT,ICtGb,mB,IDwGU,eAAC,C,MACAA,GACA,EAAK,GAAY,GACfA,aAAS,EACV,wBAEA,SAEJ,CAEJ,CAjBW,C,GAoBV,EACD,cA5DG,CAmFN,E,EACM,UAA8B,aAAU,GAE5C,IAAI,EAAW,E,IACb,EACD,e,cAGM,G,IACH,WACF,EAAa,S,IACX,S,GAEE,IAAO,MAAa,2CACrB,SACC,eAED,OADC,EAAO,cACR,EACC,KAAS,aAAgB,IACzB,MAAAu1Q,GACAA,EAAa,OACd,kBACD,CACF,M,QAEC,sEAKH,IAAIqnB,EAAgB,EAAW,iB,GAGhB,OAAb,EACD,6BACC,GAAIA,aAA2B,G,GAE7B,IAAoB,KACrB,SAIF,2B,KAEC,KAA4B,IAA5BA,EAAsB,QAAM,MAI7B,SAHA,YAMD,CACA,IAAIC,EAAa,KAAK,eAOvB,OANQ,OAAL,EACD,wBAEA,UAGF,CAQD,E,EACQ,UAAa,OAAQ,YAC3B,IAAIA,EAAe,oB,GACjB,EAAM,CACN,IAAIC,EAAiB,EAAS,YACP,IAArB,GACD,aAEJ,CAtMa,E,EACN,MAAS,SAAK,GAEpB,OADA,UAAa,EACT,CAoMR,CAtMmB,CAsMnB,OAAC,C,CAnLa,G,SAsLb,EAAsB,GACtB,+E,CE7NC,MAA4B,W,MACjB,0BACP,OAAoB,gBAAiB,+BAK3C,CAP8B,GCgBK,WAAY,G,SAuC7C,EAGE,EAAO,EA2BR,GA7CgB,aAAsB,OAAK,K,OAC3B,iBAAe,KACf,mBAAkB,EAEzB,sBAA2B,EAgBnC,aAAkB,EAChB,UAAM,Q,KACJ,EACA,EAAM,cACR,M,KACE,E,IACE,EAAmB,CACnB,EAAM,cACP,KACD,C,GACuB,iBAAjBC,EAA6B,CAC/B,aAA0B,GAC1B,EAAK,mBAAcA,EAAkB,mBACrC,EAAAC,YAAkB,EACnB,WAEC,EAAK,oBAAkB,EACxB,0BAEF,KACH,C,QAEE,EAAK,oBAAkB,EACvB,EAAM,2BAEX,QAnED,CAFiC,OAuCjC,OAAY,GAvBL,YAAP,GAEiB,WAAqB,a,EAC9B,OAAU,SAAO,EAAW,EAAM,GACxC,IAAAC,EAAW,MAAqB,EAAM,KAEvC,OADC,EAAO,oBAAW,EACnB,CAwDD,E,EACO,UAAK,KAAW,YACnB9sS,KAAK,WACN,aAUH,E,EACO,UAAK,MAAW,YACnBA,KAAK+sS,YACL/sS,KAAK,WAAY,EAClB,eASH,E,EACO,UAAK,SAAW,WACnBA,KAAK+sS,YACL/sS,KAAK,WAAY,EAClB,iBAGH,E,EACM,UAAa,uBACf,cAGF,gBAAM,EACP,mCAES,E,EACH,UAAY,MAAK,SAAO,GAC9B,wBAES,E,EACH,UAAY,OAAS,SAAE,GAC5BA,KAAK,YAAW,MAAG,GACpB,kBAES,E,EACH,UAAY,UAAW,WAC5BA,KAAK,YAAW,WACjB,kBAGD,E,EACW,4CACT,IAAI,EAAiB,KAAO,iBAM7B,OALCA,KAAK,iBAAc,KACnBA,KAAK,cACLA,KAAK,QAAS,EACdA,KAAK,aACL,sBAAY,EACb,IACH,EA/ImC,C,CAAA,C,GAsJI,WAAa,G,SAIlD,EAIE,EAwBD,OA5BmB,IAOd,EAPc,SAAiB,OAAjB,KAMlB,EAAI,kBAA2B,EAG/B,IAAI,EAAU,EAmBf,OAlBG,EAA+BgtS,GAChC,IACK,IACJ,EAAK,EAAwC,KAC7C,EAAQ,EAAyB,MACjC,EAAIA,EAAmB,SACrB,IAAiB,IAEf,GADF,EAAI,OAAW,OAAQ,IACS9nB,cAC/B,6BAEF,sCAIH,EAAK,SAAQ,EACb,EAAK,MAAM,EACX,EAAK,OAAS,E,cACf,CAED,CAlCqC,OAIrC,OAAoB,G,EA+BR,UAAS,KAAS,SAAO,G,IACzB,4BACR,IAAI,EAAQ,uBACV,EAAK,uCAAgC,qBAEhC,qBAAc,iBACpB,mBAFA,+BAIJ,CAED,E,EACY,UAAW,kB,IACX,gBACA,6BACJ,EAAa,wC,GACf,KAAK,OACH,GAAoC,sBAIpCllR,KAAK,gBAAc,iBACpB,qBAJCA,KAAK,aAAa,KAAC,UACpB,yBAKD,GAAK,EAAc,mBAOjB,GACAitS,EAAkB,eAAe,EAClC,sBAEA,KAEF,uBAboB,C,GACnB,KAAI,cACF,EACD,QAEF,I,CAUJ,CAED,E,EAAA,UAiBC,oBAhBC,IAAI,EAAM,K,IACA,gBACR,IAAI,EAAgB,uB,GAClB,KAAM,WAEN,IAAI,EAAQ,oBAAqC,UAAK,gBAAkB,EACtE,EAAK,uCAA8B,sBAInCjtS,KAAK,gBAAc,KACpB,qBAJCA,KAAK,aAAa,GACnB,mB,MAMF,kBAEJ,CAEO,E,EACF,qC,IAEH,uBAAC,C,MACA,G,GACA,KAAI,cACF,EAAM,sCACP,QAEA,IAEJ,CAEO,E,EACK,UAAC,yBAAqC,EAAE,K,IACjD,EAAM,sCACP,4B,IAGA,uBAAC,C,MACA,G,OACE,EAAO,uCACP4kL,EAAO,eAAe,EACtB,EAAO,iBAAK,GACb,IAEC,EAAY,IACb,EAEH,CACD,QAGD,E,EACU,kCACR,IAAI,EAAiB,uBACrB5kL,KAAK,cACL,KAAAitS,kBAAkB,KACnB,eACH,EArIuC,C,CAAA,C,0FCvKrC,SAAS,KACV,Q,CCsBC,SAAQ,EAAc,G,OACsB,IAA1C,SACD,EAGe,IAAd,SACD,KAGC,SAAkB,GAClB,+CACH,C,KCCC,EAAY,W,SAfL,EAAS,GAgBd,KAAI,WAAW,EACb,IACD,kBA0BH,CAySD,O,EAxSS,UAAa,KAAI,SAAgB,GACvC,IAAApH,EAAiB,IAAG,EAGrB,OAFCA,EAAW,OAAS,KACpB,EAAO,SAAW,EACnB,CAuID,E,EAIU,oBAAkB,gBAC1B,IAAM,EAAO,cAET,EC1MN,SAAoB,O,GAClB,EAAI,C,GACF,aAAwC,EACzC,S,GAGC,EAAO,GACR,aAGH,C,OACE,GAAW,GAAW,EAIzB,aAHE,Q,CD8LK,CAAU,O,GACZ,EACD,6B,EAGG,IAAK,aAAgB,EAAE,6DACvB7lS,KAAK,cAER,uBAGC,EAAI,uCACFktS,EAAKC,qBACL,EAAI,oBAAsB,EACxB,mBACD,uBAKN,QAGD,E,EACM,oC,IAEH,yBAAC,C,MACA,GACE,EAAK,wCACLD,EAAK,iBAAiB,EACvB,qBExOL,SAAiB,G,KACT,IACN,IAAI,IAAU,EAAW,uC,GACvB,GAAY,EACb,SAEA,EADC,GAAWL,aAAY,EACxB,EAEA,IAEH,CACD,Q,CF+NO,CAAe,GAGhB,gBAFA,UAIJ,CASD,E,EAAA,UAkBC,sBAjBC,MAAY,K,OAKV,IAHF,EAAW,EAAkB,KAGI,cAC/B,IAAAznB,E,EACM,yB,IAEH,IAAC,C,MACA,GACA,EAAI,GACFA,GACD,eAEF,CACe,OACrB,GAGD,E,EACU,qBAAgB,YACxB,MAAa,KAAI9sK,OAClB,wBAoBD,E,EACS,UAAK,cACb,WAoCD,E,EAAK,eAA2C,W,UAA3C,0BAA2C,I,yBAEzB,IAAnB,EAAkB,OACnB,KAGF,UAQD,E,EAAA,UAOC,sBANC,MAAY,K,OAGV,IADF,EAAW,EAAY,KACN,cACf,MACe,2FAClB,GAnTM,E,EACE,OAAI,SAAcz7D,GAC1B,eAkTH,EAAC,C,CAtUa,G,SAgVP,EAAa,G,GAChBuwP,IACD,uBAGC,EACD,yCAGF,Q,OGrXqC,W,SAC7B,IAIN,OAHC,MAAK,WACLptS,KAAK,QAAO,sBACZ,UAAY,0BACb,IAED,CAGE,OADF,EAAO,UAA4B,+BAChC,CAWL,CArBsC,GCCM,WAAY,G,SAGtD,EACE,EAAO,GADU,aAAmB,YAErC,OAF8C,UAAU,EAFzD,aAAkB,E,YAIjB,CAED,CAP0C,OAG1C,OAA+C,G,EAK9B,UAAE,uB,IACf,Y,CAKF,KAAM,QAAU,EAChB,IAAM,EAAU,KAAEqtS,QAEd,EAAW,EAAK,U,GAEpB,KAAK,QAAU,KACb,GAAO,sC,CAKT,IAAIC,EAAe,EAAS,0BACT,IAAjB,GACD,aAJD,CAXA,CAiBJ,EA7B4C,C,CAAA,C,GCGF,WAAa,G,SACrD,EACE,GADoB,QAAW,KAAX,KAAAT,IAAuB,KAE5C,O,gBAAA,CACH,CAJ0C,OACxC,OAAsB,GADkB,C,CAAA,C,GAeV,WAAa,G,SAgB3C,IAVA,QAA2B,KAAG,YAY7B,OAVD,YAAS,GAET,UAAS,EAET,aAAW,EAEX,YAAW,E,mBAIV,CAhBD,CAF8B,OAgB9B,U,EAbE,UAAW,GAAwB,WACpC,kBAuBD,E,EACQ,UAAU,KAAI,YACpB,IAAAQ,EAAQ,IAAQ,EAAiB,WAElC,OADC,EAAY,SAAQ,EACrB,CAED,E,EACM,UAAK,KAAQ,Y,GACf,YACD,Y,IAES,e,IACR,IAAM,EAAM,KAAU,UAChB,EAAI,EAAY,OACtB,EAAW,EAAS,QACbvtS,EAAG,EAAI,EAAC,EAAO,IACrB,YAIL,E,EACM,UAAK,MAAQ,Y,GACf,YACD,YAEDE,KAAK,UAAW,EAChBA,KAAK,YAAY,EACT,kB,IACR,IAAM,EAAM,KAAU,UAChB,EAAI,EAAY,OACtB,EAAW,EAAS,QACbF,EAAG,IAAM,EAAK,IACpB,cAEF,uBAED,E,EACM,UAAK,SAAQ,W,GACf,YACD,YAEO,kB,IACR,IAAM,EAAM,KAAU,UAChB,EAAI,EAAY,OACtB,EAAW,EAAS,QACbA,EAAG,IAAQ,EAAG,IACpB,gBAEF,uBAED,E,EACM,UAAU,YAAQ,WACtBE,KAAK,WAAS,EACdA,KAAK,QAAS,EACf,mBAGD,E,EACM,UAAK,cAAQ,Y,GACf,YACD,YAEA,6CAIH,E,EACM,UAAK,WAAQ,Y,GACf,YACD,YACC,YAAU,UACV,EAAO,WAAa,aACrB,SACC,KAAU,WACV,EAAO,WACR,UAEC,eAAW,QACZ,cASH,E,EACQ,UAAU,aAAO,WACjB,IAAA6lS,EAAkB,IAAG,EAE5B,OADC,EAAO,OAAW,KACnB,CA/FM,E,EACL,OAAW,WAAoB,GAChC,iBA8FH,EAvHgC,C,CAAA,C,GA4HS,WAAU,G,SACjD,EACE,EAAO,GADa,QAAW,KAAX,OAAyB,KAG9C,OADC,EAAK,YAAS,E,WACf,CAED,CANuC,OACvC,OAAsB,G,EAMZ,wBAAqB,GAC7B,IAAIgH,EAAW,KAAIA,YACjBA,GAAY,EAAY,MACzB,SAGH,E,EACU,yBAAqB,GAC7B,IAAIA,EAAW,KAAIA,YACjB,GAAKA,EAAsB,OAC5B,yBAGH,E,EACU,mBAAW,WACnB,IAAIA,EAAW,KAAIA,YACjB,GAAKA,EAAsB,UAC5B,2BAIH,E,EACU,qBAAgB,Y,OACZ,YAEX,yBAEA,OAEL,EApCgD,C,CAAP,C,GC3ID,WAAU,G,SAEhD,EACE,GADkB,MAAM,EAAN,KAAS,YAE5B,O,WAAA,CAED,CANsC,OAEtC,OAA6B,G,sBAI7B,qB,IACE,WACD,sB,gBAAA,kB,EAIO,UAAe,oBAAM,GAC3B,IAAIznB,EAAY,EAAwB,UAAc,WAAQ,aAI/D,OAHG,IAAgB,EAAa,QAC9B,oBAEF,CAED,E,EACW,UAAU,oB,GACjB,cACD,uBACC,QAAU,OACX,YAEA,kBAGH,E,EACE,UAAU,cAAM,GACjB,yCACH,EAhC+C,C,CAAP,C,0BCVxC,IAAIld,EAAgb,SAAUr4O,EAAK/vB,GAAK,GAAIoiC,MAAMC,QAAQtS,GAAQ,OAAOA,EAAY,GAAIq7N,OAAOS,YAAY5uO,OAAO8S,GAAQ,OAAxf,SAAuBA,EAAK/vB,GAAK,IAAIsoQ,EAAO,GAAQC,GAAK,EAAU7sL,GAAK,EAAWmgB,OAAK13F,EAAW,IAAM,IAAK,IAAiCgjJ,EAA7BqhH,EAAKz4O,EAAIq7N,OAAOS,cAAmB0c,GAAMphH,EAAKqhH,EAAGxrN,QAAQjD,QAAoBuuN,EAAK5kQ,KAAKyjJ,EAAGv4I,QAAY5O,GAAKsoQ,EAAKv+P,SAAW/J,GAA3DuoQ,GAAK,GAAkE,CAAE,MAAOngQ,GAAOszE,GAAK,EAAMmgB,EAAKzzF,CAAK,CAAE,QAAU,KAAWmgQ,GAAMC,EAAW,QAAGA,EAAW,QAAK,CAAE,QAAU,GAAI9sL,EAAI,MAAMmgB,CAAI,CAAE,CAAE,OAAOysK,CAAM,CAAuHg5B,CAAcvxQ,EAAK/vB,GAAa,MAAM,IAAIqsG,UAAU,uDAA2D,EAEjpB1sG,EAAOD,QAAU,SAAUmT,GACzB,IAAI9R,EAAO8R,EAAK9R,KACZuiQ,EAAezwP,EAAKywP,aA8BxB,SAAStmN,EAAK30B,GACZ,IAAIolR,EAAYrlC,EAAe//O,EAAU,GAErC26O,EAAeyqC,EAAU,GACzBxqC,EAAYwqC,EAAU,GAG1B,OAAInqC,EACgB,OAAdL,GAAsBA,IAAcliQ,EAAKiiQ,GAAgB,EAGtC,QAFrBA,EArCN,SAAkCA,GAOhC,IANqB,OAAjBA,EACFA,EAAe,EAEfA,IAGKA,EAAejiQ,EAAKgJ,QAAiC,IAAvBhJ,EAAKiiQ,IACxCA,IAGF,OAAOA,IAAiBjiQ,EAAKgJ,OAAS,KAAOi5P,CAC/C,CAyBqB0qC,CAAyB1qC,IAG/B,CAAC,KAAM,MAGT,CAACA,EAAc,GAGjB,CAACA,EAAcC,EAAY,GAGvB,IAATliQ,GAAckiQ,IAAcliQ,EAAO,EAC9B,CAAC,KAAM,MAGE,OAAdkiQ,EACK,CAAC,KAAM,GAGT,CAAC,KAAMA,EAAY,EAC5B,CAsCA,MAAO,CACLjmN,KAAMA,EACNy2D,KAtCF,SAAcprF,GACZ,IAAIslR,EAAavlC,EAAe//O,EAAU,GAEtC26O,EAAe2qC,EAAW,GAC1B1qC,EAAY0qC,EAAW,GAG3B,OAAIrqC,EACgB,OAAdL,GAAoC,IAAdA,EAGH,QAFrBD,EAvDN,SAAkCA,GAOhC,IANqB,OAAjBA,EACFA,EAAejiQ,EAAKgJ,OAAS,EAE7Bi5P,IAGKA,GAAgB,GAA4B,IAAvBjiQ,EAAKiiQ,IAC/BA,IAGF,OAAyB,IAAlBA,EAAsB,KAAOA,CACtC,CA2CqB4qC,CAAyB5qC,IAG/B,CAAC,KAAM,MAGT,CAACA,EAAcjiQ,EAAKiiQ,GAAgB,GAGtC,CAACA,EAAcC,EAAY,GAGvB,IAATliQ,GAA4B,IAAdkiQ,EACT,CAAC,KAAM,MAGE,OAAdA,EACK,CAAC,KAAMliQ,EAAO,GAGhB,CAAC,KAAMkiQ,EAAY,EAC5B,EASEp4G,OAPF,SAAgBxiI,GACd,OAA6B,OAAtB20B,EAAK30B,GAAU,EACxB,EAOF,C,wBCnFA1oB,EAAOD,QAxBP,SAA4BmuS,EAAMC,GAChC,GAAID,IAASC,EACX,OAAO,EAGT,IAAKD,IAASC,EACZ,OAAO,EAGT,IAAIz2L,EAAMw2L,EAAK9jS,OAEf,GAAI+jS,EAAK/jS,SAAWstG,EAClB,OAAO,EAGT,IAAK,IAAIr3G,EAAI,EAAGA,EAAIq3G,EAAKr3G,IACvB,GAAI6tS,EAAK7tS,KAAO8tS,EAAK9tS,GACnB,OAAO,EAIX,OAAO,CACT,C,WChBAL,EAAOD,QARY,SAAUy4G,GAC3B,OAAOA,EACEpyG,QAAQ,UAAU,SAAUkR,GAC3B,MAAO,IAAMA,EAAMpM,aACrB,IACCA,aACX,C,8BCDsCnL,EAAQ,QAAY,EAE1D,IAAIquS,EAAoB,EAAQ,MAE5B3gL,GAAY,EAAI2gL,EAAkB3tO,KAAK,CAAC,sxDAC5C1gE,EAAQ,GAAY0tH,EACpB,IAAI4gL,GAAY,EAAID,EAAkBjlP,mBAAmBskE,GAEzD4gL,EAAUv1Q,YAAc,W;;;;;;;;;;;;;;;ACGxB,IAAIw1Q,EAAgB,SAAS51Q,EAAG3H,GAI5B,OAHAu9Q,EAAgBhxR,OAAOs0G,gBAClB,CAAEC,UAAW,cAAgBpvF,OAAS,SAAU/J,EAAG3H,GAAK2H,EAAEm5F,UAAY9gG,CAAG,GAC1E,SAAU2H,EAAG3H,GAAK,IAAK,IAAIiM,KAAKjM,EAAOA,EAAEguB,eAAe/hB,KAAItE,EAAEsE,GAAKjM,EAAEiM,GAAI,EACtEsxQ,EAAc51Q,EAAG3H,EAC5B,EAEO,SAASw9Q,EAAU71Q,EAAG3H,GAEzB,SAASszL,IAAO9jN,KAAK6E,YAAcszB,CAAG,CADtC41Q,EAAc51Q,EAAG3H,GAEjB2H,EAAEyE,UAAkB,OAANpM,EAAazT,OAAO8f,OAAOrM,IAAMszL,EAAGlnL,UAAYpM,EAAEoM,UAAW,IAAIknL,EACnF,CAEO,IAAImqF,EAAW,WAQlB,OAPAA,EAAWlxR,OAAOC,QAAU,SAAkBmU,GAC1C,IAAK,IAAIujC,EAAG50D,EAAI,EAAG00D,EAAIhpB,UAAU3hC,OAAQ/J,EAAI00D,EAAG10D,IAE5C,IAAK,IAAI28B,KADTi4B,EAAIlpB,UAAU1rC,GACOid,OAAO6f,UAAU4hB,eAAe7hB,KAAK+3B,EAAGj4B,KAAItL,EAAEsL,GAAKi4B,EAAEj4B,IAE9E,OAAOtL,CACX,EACO88Q,EAASxtO,MAAMzgE,KAAMwrC,UAChC,EA4EO,SAAS0iQ,EAASx/C,GACrB,IAAIh6L,EAAsB,mBAAXw2L,QAAyBA,OAAOS,SAAUt3L,EAAIK,GAAKg6L,EAAEh6L,GAAI50D,EAAI,EAC5E,GAAIu0D,EAAG,OAAOA,EAAE13B,KAAK+xN,GACrB,GAAIA,GAAyB,iBAAbA,EAAE7kP,OAAqB,MAAO,CAC1CizC,KAAM,WAEF,OADI4xM,GAAK5uP,GAAK4uP,EAAE7kP,SAAQ6kP,OAAI,GACrB,CAAEhgP,MAAOggP,GAAKA,EAAE5uP,KAAM+5C,MAAO60M,EACxC,GAEJ,MAAM,IAAIviJ,UAAUz3C,EAAI,0BAA4B,kCACxD,CAEO,SAASy5O,EAAOz/C,EAAGl6L,GACtB,IAAIH,EAAsB,mBAAX62L,QAAyBwD,EAAExD,OAAOS,UACjD,IAAKt3L,EAAG,OAAOq6L,EACf,IAAmBp2N,EAAYzoB,EAA3B/P,EAAIu0D,EAAE13B,KAAK+xN,GAAO0/C,EAAK,GAC3B,IACI,WAAc,IAAN55O,GAAgBA,KAAM,MAAQl8B,EAAIx4B,EAAEg9C,QAAQjD,MAAMu0P,EAAG5qS,KAAK80B,EAAE5pB,MACxE,CACA,MAAOzN,GAAS4O,EAAI,CAAE5O,MAAOA,EAAS,CACtC,QACI,IACQq3B,IAAMA,EAAEuhB,OAASwa,EAAIv0D,EAAU,SAAIu0D,EAAE13B,KAAK78B,EAClD,CACA,QAAU,GAAI+P,EAAG,MAAMA,EAAE5O,KAAO,CACpC,CACA,OAAOmtS,CACX,CAEO,SAASC,IACZ,IAAK,IAAID,EAAK,GAAItuS,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAC3CsuS,EAAKA,EAAGvzR,OAAOszR,EAAO3iQ,UAAU1rC,KACpC,OAAOsuS,CACX,C,uBCnJA,OAGA,SAAUjsS,EAAO8B,GAAW,aAAa,IAA6CqqS,EAAU,WAAWC,EAAW,YAAYC,EAAS,SAASC,EAAS,SAASC,EAAM,QAAQC,EAAM,QAAQC,EAAK,OAAOC,EAAK,OAAOC,EAAO,SAASC,EAAQ,UAAUC,EAAa,eAAeC,EAAQ,UAAUC,EAAO,SAASC,EAAO,SAASC,EAAQ,UAAUC,EAAS,WAAWC,EAAS,WAAiCC,EAAO,SAASC,EAAM,QAAQC,EAAK,OAAOC,EAAW,aAAaC,EAAQ,UAAUC,EAAO,SAAqBC,EAAQ,UAAUC,EAAO,SAASC,EAAO,SAASC,EAAG,KAAKC,EAAU,YAAYC,EAAS,WAAWC,EAAM,QAAQC,EAAQ,UAAUC,EAAM,QAAQC,EAAK,OAAOC,EAAO,SAASC,EAAM,QAAQC,EAAS,WAAWC,EAAY,cAAc7gC,EAAO,SAAS8gC,EAAe,WAAsPC,EAAU,SAAS/gR,GAAkB,IAAb,IAAIghR,EAAM,CAAC,EAAU/wS,EAAE,EAAEA,EAAE+vB,EAAIhmB,OAAO/J,IAAK+wS,EAAMhhR,EAAI/vB,GAAG6a,eAAekV,EAAI/vB,GAAG,OAAO+wS,CAAK,EAAE9iL,EAAI,SAASupH,EAAKC,GAAM,cAAcD,IAAOm3D,IAAmD,IAA1CqC,EAASv5D,GAAMv1M,QAAQ8uQ,EAASx5D,GAAiB,EAAEw5D,EAAS,SAAS74L,GAAK,OAAOA,EAAIttG,aAAa,EAAyHo2E,EAAK,SAASk3B,EAAId,GAAK,UAAUc,IAAMw2L,EAA0C,OAAhCx2L,EAAIA,EAAIpyG,QAAQ,SAAx4C,WAAs6CsxG,IAAMo3L,EAAWt2L,EAAIA,EAAI1Z,UAAU,EAA9nC,IAA+oC,EAAMwyM,EAAU,SAAS9iC,EAAG+iC,GAAsC,IAA9B,IAAQl8O,EAAER,EAAE73B,EAAE0qN,EAAE12J,EAAQ15E,EAApBjX,EAAE,EAA8BA,EAAEkxS,EAAOnnS,SAAS4mF,GAAQ,CAAC,IAAI7nE,EAAMooR,EAAOlxS,GAAG4N,EAAMsjS,EAAOlxS,EAAE,GAAS,IAANg1D,EAAER,EAAE,EAAQQ,EAAElsC,EAAM/e,SAAS4mF,GAAa7nE,EAAMksC,IAAsC,GAA5B27B,EAAQ7nE,EAAMksC,KAAKu6D,KAAK4+I,GAAkB,IAAIxxO,EAAE,EAAEA,EAAE/uB,EAAM7D,OAAO4yB,IAAK1lB,EAAM05E,IAAUn8B,UAAG6yL,EAAEz5O,EAAM+uB,MAAiB+xQ,GAAUrnD,EAAEt9O,OAAO,EAAiB,IAAXs9O,EAAEt9O,cAAsBs9O,EAAE,IAAImnD,EAAWtuS,KAAKmnP,EAAE,IAAIA,EAAE,GAAGxqN,KAAK38B,KAAK+W,GAAY/W,KAAKmnP,EAAE,IAAIA,EAAE,GAAuB,IAAXA,EAAEt9O,cAAsBs9O,EAAE,KAAKmnD,GAAannD,EAAE,GAAG93H,MAAM83H,EAAE,GAAG97N,KAAkErrB,KAAKmnP,EAAE,IAAIpwO,EAAMA,EAAMlR,QAAQshP,EAAE,GAAGA,EAAE,IAAIljP,EAArGjE,KAAKmnP,EAAE,IAAIpwO,EAAMowO,EAAE,GAAGxqN,KAAK38B,KAAK+W,EAAMowO,EAAE,IAAIljP,EAAuF,IAAXkjP,EAAEt9O,SAAY7J,KAAKmnP,EAAE,IAAIpwO,EAAMowO,EAAE,GAAGxqN,KAAK38B,KAAK+W,EAAMlR,QAAQshP,EAAE,GAAGA,EAAE,KAAKljP,GAAgBjE,KAAKmnP,GAAGpwO,GAAY9S,EAAanE,GAAG,CAAC,CAAC,EAAEmxS,EAAU,SAASh5L,EAAIpmG,GAAK,IAAI,IAAI/R,KAAK+R,EAAK,UAAUA,EAAI/R,KAAK0uS,GAAU38R,EAAI/R,GAAG+J,OAAO,GAAG,IAAI,IAAIirD,EAAE,EAAEA,EAAEjjD,EAAI/R,GAAG+J,OAAOirD,IAAK,GAAGi5D,EAAIl8G,EAAI/R,GAAGg1D,GAAGmjD,GAAM,MAAp1E,MAA21En4G,EAAYmE,EAAUnE,OAAS,GAAGiuH,EAAIl8G,EAAI/R,GAAGm4G,GAAM,MAA94E,MAAq5En4G,EAAYmE,EAAUnE,EAAG,OAAO+R,EAAI2sC,eAAe,KAAK3sC,EAAI,KAAKomG,CAAG,EAAoHi5L,EAAkB,CAACC,GAAG,OAAO,UAAU,SAAS,SAAS,QAAQ,IAAI,SAASC,GAAG,CAAC,SAAS,UAAUC,MAAM,SAAS,EAAE,SAAS,EAAE,SAAS,IAAI,SAAS,GAAG,CAAC,SAAS,WAAWC,GAAG,OAAWC,EAAQ,CAAC9jC,QAAQ,CAAC,CAAC,gCAAgC,CAACshC,EAAQ,CAACH,EAAK,WAAW,CAAC,+BAA+B,CAACG,EAAQ,CAACH,EAAK,SAAS,CAAC,4BAA4B,mDAAmD,2CAA2C,CAACA,EAAKG,GAAS,CAAC,yBAAyB,CAACA,EAAQ,CAACH,EAAKuB,EAAM,UAAU,CAAC,4BAA4B,CAACpB,EAAQ,CAACH,EAAKuB,EAAM,QAAQ,CAAC,qBAAqB,CAACpB,EAAQ,CAACH,EAAKuB,IAAQ,CAAC,0DAA0D,CAACpB,EAAQ,CAACH,EAAK,UAAU,CAAC,uBAAuB,uEAAuE,uDAAuD,2BAA2B,4MAA4M,kCAAkC,uBAAuB,CAACA,EAAKG,GAAS,CAAC,6BAA6B,CAACA,EAAQ,CAACH,EAAK,UAAU,CAAC,qBAAqB,CAACG,EAAQ,CAACH,EAAK,eAAe,CAAC,qDAAqD,CAACG,EAAQ,CAACH,EAAK,KAAKe,IAAU,CAAC,+BAA+B,+BAA+B,8BAA8B,CAACZ,EAAQ,CAACH,EAAK,WAAW,CAAC,yBAAyB,CAACG,EAAQ,CAACH,EAAK,cAAc,CAAC,+CAA+C,CAACG,EAAQ,CAACH,EAAK,OAAO,CAAC,oCAAoC,CAACG,EAAQ,CAACH,EAAK,WAAW,CAAC,yBAAyB,CAACG,EAAQ,CAACH,EAAK,gBAAgBe,IAAU,CAAC,2BAA2B,CAAC,CAACf,EAAK,OAAO,aAAae,GAASZ,GAAS,CAAC,uBAAuB,CAACA,EAAQ,CAACH,EAAKiB,EAAQ,WAAW,CAAC,qBAAqB,CAACd,EAAQ,CAACH,EAAKuB,EAAM,WAAW,CAAC,0BAA0B,CAACpB,EAAQ,CAACH,EAAK,YAAY,CAAC,sBAAsB,CAACG,EAAQ,CAACH,EAAK,YAAY,CAAC,qBAAqB,CAACG,EAAQ,CAACH,EAAKuB,EAAM,WAAW,CAAC,2BAA2B,CAACpB,EAAQ,CAACH,EAAK,QAAQe,IAAU,CAAC,sBAAsB,CAACZ,EAAQ,CAACH,EAAKiB,IAAU,CAAC,iCAAiC,CAAC,CAACjB,EAAK,MAAM+B,IAAiB,CAAC,sBAAsB,CAAC,CAAC/B,EAAK,OAAO,aAAaG,GAAS,CAAC,yDAAyD,CAAC,CAACH,EAAK,OAAO,KAAK+B,GAAgB5B,GAAS,CAAC,8BAA8B,CAACA,EAAQ,CAACH,EAAKwB,EAAQ,cAAc,CAAC,+BAA+B,CAAC,CAACxB,EAAK,KAAK,KAAKG,GAAS,CAAC,0BAA0B,CAACA,EAAQ,CAACH,EAAK,mBAAmB,CAAC,4BAA4B,CAAC,CAACA,EAAK,gBAAgBG,GAAS,CAAC,gCAAgC,iDAAiD,8CAA8C,CAACH,EAAKG,GAAS,CAAC,sBAAsB,sBAAsB,CAACH,GAAM,CAAC,+DAA+D,CAAC,CAACA,EAAK6B,GAAU1B,GAAS,CAAC,uBAAuB,uCAAuC,kCAAkC,4BAA4B,4BAA4B,6BAA6B,qCAAqC,iDAAiD,CAACH,EAAKG,GAAS,CAAC,gCAAgC,CAACA,EAAQ,CAACH,EAAK,QAAQ,CAAC,8CAA8C,CAACG,EAAQ,CAACH,EAAK,WAAW,CAAC,oCAAoC,CAACG,EAAQ,CAACH,EAAKgB,EAAO,cAAc,CAAC,+BAA+B,CAAC,CAAChB,EAAKgB,EAAO,YAAYb,GAAS,CAAC,2DAA2D,CAACA,EAAQ,CAACH,EAAK,WAAWe,IAAU,CAAC,+DAA+D,CAACf,EAAKG,GAAS,CAAC,gDAAgD,CAACA,EAAQ,CAACH,EAAK,kBAAkB,CAAC,sDAAsD,CAACG,EAAQH,GAAM,CAAC,gDAAgD,CAACA,EAAK,CAACG,EAAQkC,EAAp4H,CAAC,MAAM,KAAK,IAAI,KAAK,IAAI,KAAK,MAAM,OAAO,QAAQ,OAAO,QAAQ,OAAO,QAAQ,OAAO,IAAI,OAAi0H,CAAC,8BAA8B,CAACrC,EAAKG,GAAS,CAAC,wCAAwC,CAAC,CAACH,EAAK,YAAYG,GAAS,CAAC,wBAAwB,CAACH,EAAKG,GAAS,CAAC,uCAAuC,CAACA,EAAQ,CAACH,EAAKiB,EAAQ,aAAa,CAAC,6BAA6B,cAAc,8FAA8F,+FAA+F,wBAAwB,2CAA2C,+GAA+G,wBAAwB,CAACjB,EAAK,CAACG,EAAQ,KAAK,MAAM,CAAC,wBAAwB,CAACH,EAAK,CAACG,EAAQ,eAAe,MAAMyC,IAAI,CAAC,CAAC,iDAAiD,CAAC,CAACxC,EAAa,UAAU,CAAC,gBAAgB,CAAC,CAACA,EAAa8B,IAAW,CAAC,0BAA0B,CAAC,CAAC9B,EAAa,SAAS,CAAC,oCAAoC,CAAC,CAACA,EAAa,UAAU,CAAC,mCAAmC,CAAC,CAACA,EAAa,UAAU,CAAC,8BAA8B,CAAC,CAACA,EAAa,QAAQ,CAAC,0CAA0C,CAAC,CAACA,EAAa,OAA9hP,GAA2iP8B,IAAW,CAAC,kBAAkB,CAAC,CAAC9B,EAAa,UAAU,CAAC,2HAA2H,CAAC,CAACA,EAAa8B,KAAY5yM,OAAO,CAAC,CAAC,mFAAmF,CAACywM,EAAM,CAACG,EAAOsB,GAAS,CAACvB,EAAKM,IAAS,CAAC,iEAAiE,kCAAkC,iBAAiB,CAACR,EAAM,CAACG,EAAOsB,GAAS,CAACvB,EAAKK,IAAS,CAAC,4CAA4C,CAACP,EAAM,CAACG,EAAOU,GAAO,CAACX,EAAKK,IAAS,CAAC,6BAA6B,oCAAoC,kCAAkC,CAACP,EAAM,CAACG,EAAOU,GAAO,CAACX,EAAKM,IAAS,CAAC,iBAAiB,CAACR,EAAM,CAACG,EAAOU,IAAQ,CAAC,iCAAiC,CAACb,EAAM,CAACG,EAAOuB,GAAO,CAACxB,EAAKK,IAAS,CAAC,+DAA+D,CAACP,EAAM,CAACG,EAAOiB,GAAQ,CAAClB,EAAKM,IAAS,CAAC,kCAAkC,sEAAsE,CAACR,EAAM,CAACG,EAAOiB,GAAQ,CAAClB,EAAKK,IAAS,CAAC,kDAAkD,yBAAyB,uCAAuC,iDAAiD,4DAA4D,6GAA6G,CAAC,CAACP,EAAM,KAAK,KAAK,CAACG,EAAOyB,GAAQ,CAAC1B,EAAKK,IAAS,CAAC,+CAA+C,8CAA8C,CAAC,CAACP,EAAM,KAAK,KAAK,CAACG,EAAOyB,GAAQ,CAAC1B,EAAKM,IAAS,CAAC,sBAAsB,mEAAmE,CAACR,EAAM,CAACG,EAAO,QAAQ,CAACD,EAAKK,IAAS,CAAC,wBAAwB,CAACP,EAAM,CAACG,EAAO,QAAQ,CAACD,EAAKM,IAAS,CAAC,yBAAyB,oCAAoC,CAACR,EAAM,CAACG,EAAO,QAAQ,CAACD,EAAKK,IAAS,CAAC,mCAAmC,CAACP,EAAM,CAACG,EAAO,UAAU,CAACD,EAAKK,IAAS,CAAC,iFAAiF,4BAA4B,sDAAsD,CAACP,EAAM,CAACG,EAAOoB,GAAU,CAACrB,EAAKK,IAAS,CAAC,qCAAqC,CAACP,EAAM,CAACG,EAAOoB,GAAU,CAACrB,EAAKM,IAAS,CAAC,iEAAiE,CAACR,EAAM,CAACG,EAAOkB,GAAI,CAACnB,EAAKM,IAAS,CAAC,sDAAsD,oDAAoD,wBAAwB,CAACR,EAAM,CAACG,EAAOkB,GAAI,CAACnB,EAAKK,IAAS,CAAC,oBAAoB,qEAAqE,CAACP,EAAM,CAACG,EAAO,UAAU,CAACD,EAAKM,IAAS,CAAC,qCAAqC,0BAA0B,CAAC,CAACR,EAAM,KAAK,KAAK,CAACG,EAAO,SAAS,CAACD,EAAKK,IAAS,CAAC,gBAAgB,CAACP,EAAM,CAACG,EAAOgB,GAAQ,CAACjB,EAAKM,IAAS,CAAC,6CAA6C,CAACR,EAAM,CAACG,EAAOgB,GAAQ,CAACjB,EAAKK,IAAS,CAAC,0GAA0G,CAACP,EAAM,CAACG,EAAOwB,GAAM,CAACzB,EAAKK,IAAS,CAAC,oBAAoB,iCAAiC,CAAC,CAACP,EAAM,iBAAiB,CAACG,EAAOwB,GAAM,CAACzB,EAAKM,IAAS,CAAC,sCAAsC,0CAA0C,CAACR,EAAM,CAACG,EAAO,WAAW,CAACD,EAAKK,IAAS,CAAC,eAAe,yCAAyC,gCAAgC,CAACP,EAAM,CAACG,EAAOS,GAAQ,CAACV,EAAKM,IAAS,CAAC,iDAAiD,CAAC,CAACR,EAAM,QAAQ,iBAAiB,CAACG,EAAOS,GAAQ,CAACV,EAAKK,IAAS,CAAC,gCAAgC,CAACP,EAAMG,EAAO,CAACD,EAAKM,IAAS,CAAC,gCAAgC,kBAAkB,CAACR,EAAM,CAACG,EAAOY,GAAY,CAACb,EAAKK,IAAS,CAAC,qFAAqF,CAACP,EAAM,CAACG,EAAOW,GAAM,CAACZ,EAAKM,IAAS,CAAC,iDAAiD,CAACR,EAAM,CAACG,EAAOW,GAAM,CAACZ,EAAKK,IAAS,CAAC,cAAc,CAACP,EAAM,CAACG,EAAO,OAAO,CAACD,EAAKM,IAAS,CAAC,2CAA2C,oCAAoC,iFAAiF,CAACL,EAAO,CAACH,EAAM,KAAK,KAAK,CAACE,EAAKK,IAAS,CAAC,gHAAgH,CAACP,EAAM,CAACG,EAAO,OAAO,CAACD,EAAKM,IAAS,CAAC,mBAAmB,CAAC,CAACL,EAAOgC,GAAUnC,EAAM,CAACE,EAAKoC,EAAU,CAACQ,OAAO,CAAC,UAAU,SAAS,IAAI,YAAY,CAAC,uCAAuC,CAAC9C,EAAM,CAACG,EAAO,QAAQ,CAACD,EAAKM,IAAS,CAAC,8BAA8B,qBAAqB,CAACR,EAAM,CAACG,EAAO,SAAS,CAACD,EAAKK,IAAS,CAAC,kDAAkD,CAACP,EAAM,CAACG,EAAO,WAAW,CAACD,EAAKK,IAAS,CAAC,qCAAqC,CAACP,EAAM,CAACG,EAAO,WAAW,CAACD,EAAKK,IAAS,CAAC,gHAAgH,mBAAmB,iBAAiB,8BAA8B,0BAA0B,WAAW,yBAAyB,CAACJ,EAAOH,EAAM,CAACE,EAAKK,IAAS,CAAC,2BAA2B,wBAAwB,uCAAuC,uBAAuB,4BAA4B,iCAAiC,kCAAkC,8BAA8B,gCAAgC,mCAAmC,CAACJ,EAAOH,EAAM,CAACE,EAAKM,IAAS,CAAC,kBAAkB,CAACR,EAAM,CAACG,EAAOmB,GAAW,CAACpB,EAAKM,IAAS,CAAC,qCAAqC,CAACR,EAAM,CAACG,EAAO,aAAa,CAACD,EAAKK,IAAS,CAAC,aAAa,CAACP,EAAM,CAACG,EAAO,QAAQ,CAACD,EAAKK,IAAS,CAAC,gBAAgB,CAACP,EAAM,CAACG,EAAO,WAAW,CAACD,EAAKK,IAAS,CAAC,iBAAiB,CAACP,EAAM,CAACG,EAAO,OAAO,CAACD,EAAKM,IAAS,CAAC,0BAA0B,CAACR,EAAM,CAACG,EAAO,QAAQ,CAACD,EAAKM,IAAS,CAAC,wBAAwB,CAACR,EAAM,CAACG,EAAO,WAAW,CAACD,EAAKM,IAAS,CAAC,+CAA+C,CAACR,EAAM,CAACG,EAAO,kBAAkB,CAACD,EAAKM,IAAS,CAAC,qBAAqB,CAACR,EAAM,CAACG,EAAO,YAAY,CAACD,EAAKM,IAAS,CAAC,cAAc,CAACR,EAAM,CAACG,EAAO,OAAO,CAACD,EAAKM,IAAS,CAAC,mBAAmB,CAACR,EAAM,CAACG,EAAO,OAAO,CAACD,EAAKK,IAAS,CAAC,wBAAwB,CAACP,EAAM,CAACG,EAAO,SAAS,CAACD,EAAKK,IAAS,CAAC,mBAAmB,CAACP,EAAM,CAACG,EAAO,SAAS,CAACD,EAAKM,IAAS,CAAC,wBAAwB,CAACR,EAAM,CAACG,EAAO,QAAQ,CAACD,EAAKM,IAAS,CAAC,mBAAmB,sCAAsC,CAAC,CAACL,EAAO,gBAAgBH,EAAM,CAACE,EAAKM,IAAS,CAAC,sBAAsB,CAACR,EAAM,CAACG,EAAO,YAAY,CAACD,EAAKM,IAAS,CAAC,8BAA8B,CAACR,EAAM,CAACG,EAAO,YAAY,CAACD,EAAKM,IAAS,CAAC,oDAAoD,CAAC,CAACL,EAAO,SAASH,EAAM,CAACE,EAAKK,IAAS,CAAC,2BAA2B,CAAC,CAACJ,EAAO,SAASH,EAAM,CAACE,EAAKK,IAAS,CAAC,cAAc,CAACP,EAAM,CAACG,EAAO,aAAa,CAACD,EAAKK,IAAS,CAAC,uCAAuC,CAACP,EAAM,CAACG,EAAO,WAAW,CAACD,EAAKM,IAAS,CAAC,wBAAwB,CAACR,EAAM,CAACG,EAAO,aAAa,CAACD,EAAKM,IAAS,CAAC,kBAAkB,CAACR,EAAM,CAACG,EAAO,SAAS,CAACD,EAAKM,IAAS,CAAC,qBAAqB,CAACR,EAAM,CAACG,EAAO,UAAU,CAACD,EAAKM,IAAS,CAAC,mBAAmB,CAACL,EAAOH,EAAM,CAACE,EAAKK,IAAS,CAAC,sBAAsB,CAAC,CAACP,EAAM,MAAM,KAAK,CAACG,EAAOmB,GAAW,CAACpB,EAAKK,IAAS,CAAC,yDAAyD,CAACP,EAAM,CAACG,EAAO0B,GAAO,CAAC3B,EAAKM,IAAS,CAAC,yCAAyC,CAACR,EAAM,CAACG,EAAO0B,GAAO,CAAC3B,EAAKK,IAAS,CAAC,wBAAwB,CAACJ,EAAO,CAACD,EAAKO,IAAU,CAAC,uBAAuB,CAAC,CAACT,EAAM,IAAI,WAAW,CAACG,EAAOsB,GAAS,CAACvB,EAAKO,IAAU,CAAC,8DAA8D,CAAC,CAACN,EAAOkB,GAAI,CAACnB,EAAKO,IAAU,CAAC,gBAAgB,CAACN,EAAO,CAACH,EAAMa,EAAM,OAAO,CAACX,EAAKO,IAAU,CAAC,UAAU,CAAC,CAACT,EAAMiB,EAAO,QAAQ,CAACd,EAAOgB,GAAQ,CAACjB,EAAKO,IAAU,CAAC,6BAA6B,CAACT,EAAM,CAACG,EAAOS,GAAQ,CAACV,EAAKO,IAAU,CAAC,uBAAuB,uBAAuB,CAACT,EAAM,CAACG,EAAOuB,GAAO,CAACxB,EAAKO,IAAU,CAAC,4BAA4B,CAACT,EAAM,CAACG,EAAOwB,GAAM,CAACzB,EAAKO,IAAU,CAAC,qBAAqB,CAACT,EAAM,CAACG,EAAOyB,GAAQ,CAAC1B,EAAKO,IAAU,CAAC,6BAA6B,CAACN,EAAOH,EAAM,CAACE,EAAKO,IAAU,CAAC,0CAA0C,6DAA6D,CAAC,CAACN,EAAO/tN,GAAM,CAAC4tN,EAAM5tN,GAAM,CAAC8tN,EAAKO,IAAU,CAAC,mDAAmD,CAAC,CAACP,EAAKO,IAAU,CAAC,UAAU,8BAA8B,CAACN,EAAOH,EAAM,CAACE,EAAKI,IAAU,CAAC,0BAA0B,CAACN,EAAM,CAACG,EAAO,UAAU,CAACD,EAAKI,IAAU,CAAC,mCAAmC,CAACN,EAAM,CAACG,EAAOwB,GAAM,CAACzB,EAAKI,IAAU,CAAC,sCAAsC,CAACN,EAAM,CAACG,EAAOmB,GAAW,CAACpB,EAAKI,IAAU,CAAC,mCAAmC,CAACN,EAAM,CAACG,EAAOsB,GAAS,CAACvB,EAAKQ,IAAW,CAAC,kBAAkB,CAACP,EAAOH,EAAM,CAACE,EAAKQ,IAAW,CAAC,wCAAwC,CAACV,EAAM,CAACG,EAAOU,GAAO,CAACX,EAAKQ,IAAW,CAAC,wBAAwB,CAACV,EAAM,CAACG,EAAOgB,GAAQ,CAACjB,EAAKQ,IAAW,CAAC,6BAA6B,CAACV,EAAM,CAACG,EAAO0B,GAAO,CAAC3B,EAAKQ,IAAW,CAAC,uBAAuB,CAACV,EAAM,CAACG,EAAO2B,GAAU,CAAC5B,EAAKQ,IAAW,CAAC,wCAAwC,CAACP,EAAO,CAACD,EAAKS,IAAW,CAAC,cAAc,CAACX,EAAM,CAACG,EAAOS,GAAQ,CAACV,EAAKS,IAAW,CAAC,kEAAkE,CAACX,EAAM,CAACE,EAAKK,IAAS,CAAC,+DAA+D,CAACP,EAAM,CAACE,EAAKM,IAAS,CAAC,gDAAgD,CAAC,CAACN,EAAKM,IAAS,CAAC,kEAAkE,CAAC,CAACN,EAAKK,IAAS,CAAC,kCAAkC,CAACP,EAAM,CAACG,EAAO,aAAajhC,OAAO,CAAC,CAAC,8BAA8B,CAACkhC,EAAQ,CAACH,EAAK8C,aAAc,CAAC,6CAA6C,CAAC3C,EAAQ,CAACH,EAAK,UAAU,CAAC,uBAAuB,sEAAsE,0BAA0B,yCAAyC,8BAA8B,eAAe,CAACA,EAAKG,GAAS,CAAC,iCAAiC,CAACA,EAAQH,IAAO7gC,GAAG,CAAC,CAAC,mCAAmC,CAAC6gC,EAAKG,GAAS,CAAC,yDAAyD,CAACH,EAAK,CAACG,EAAQkC,EAAUC,IAAoB,CAAC,0BAA0B,2CAA2C,wCAAwC,CAAC,CAACnC,EAAQkC,EAAUC,GAAmB,CAACtC,EAAK,YAAY,CAAC,sDAAsD,4CAA4C,wBAAwB,CAAC,CAACG,EAAQ,KAAK,KAAK,CAACH,EAAK,QAAQ,CAAC,0BAA0B,yCAAyC,CAAC,CAACA,EAAK/+B,GAAQ,CAACk/B,EAAQ,KAAK,MAAM,CAAC,kDAAkD,CAACA,EAAQH,GAAM,CAAC,+EAA+E,8BAA8B,+BAA+B,kBAAkB,CAACA,EAAKG,GAAS,CAAC,cAAc,CAACA,EAAQ,CAACH,EAAKc,IAAa,CAAC,6DAA6D,CAACX,EAAQ,CAACH,EAAK,YAAY,CAAC,mFAAmF,CAACG,EAAQ,CAACH,EAAKiB,EAAQ,QAAQ,CAAC,kBAAkB,wCAAwC,CAACd,EAAQ,CAACH,EAAK,UAAU,CAAC,wCAAwC,CAACG,EAAQ,CAACH,EAAK,YAAY,CAAC,qBAAqB,CAACG,EAAQ,CAACH,EAAKgB,EAAO,SAAS,CAAC,oCAAoC,CAAC,CAAChB,EAAK8B,GAAa3B,GAAS,CAAC,qBAAqB,iBAAiB,2BAA2B,mDAAmD,2BAA2B,wCAAwC,yBAAyB,4BAA4B,8SAA8S,2BAA2B,oBAAoB,6EAA6E,kBAAkB,CAACH,EAAKG,GAAS,CAAC,yBAAyB,CAAC,CAACH,EAAK,WAAWG,GAAS,CAAC,sCAAsC,kCAAkC,mEAAmE,sBAAsB,CAACH,EAAKG,KAAe4C,EAAS,SAAS1jC,EAAGjnJ,GAAgE,UAA1CinJ,IAAKugC,IAAUxnL,EAAWinJ,EAAGA,EAAGhqQ,KAAejE,gBAAgB2xS,GAAW,OAAO,IAAIA,EAAS1jC,EAAGjnJ,GAAYsrH,YAAY,IAAIs/D,SAAkBzvS,IAASosS,GAAYpsS,EAAOg6D,UAAUh6D,EAAOg6D,UAAUl4D,EAAc4tS,EAAI5jC,IAAK2jC,GAAYA,EAAWpmO,UAAUomO,EAAWpmO,UAArmnB,IAA0nnBsmO,EAAMF,GAAYA,EAAWG,cAAcH,EAAWG,cAAc9tS,EAAc+tS,EAAQhrL,EAAl/lB,SAASuqL,EAAQvqL,GAAY,IAAIirL,EAAc,CAAC,EAAE,IAAI,IAAInyS,KAAKyxS,EAAYvqL,EAAWlnH,IAAIknH,EAAWlnH,GAAG+J,OAAO,GAAI,EAAGooS,EAAcnyS,GAAGknH,EAAWlnH,GAAG+a,OAAO02R,EAAQzxS,IAASmyS,EAAcnyS,GAAGyxS,EAAQzxS,GAAI,OAAOmyS,CAAa,CAA+xlBx6O,CAAO85O,EAAQvqL,GAAYuqL,EAAYW,EAAWN,GAAYA,EAAWpmO,WAAWqmO,EAAmmD,OAA/lD7xS,KAAK0tQ,WAAW,WAAW,IAAhnlB36L,EAAonlBo/N,EAAS,CAAC,EAAgQ,OAA9PA,EAASvD,GAAM3qS,EAAUkuS,EAASpD,GAAS9qS,EAAU8sS,EAAUp0Q,KAAKw1Q,EAASN,EAAIG,EAAQvkC,SAAS0kC,EAASzD,UAA3ulB37N,EAA2vlBo/N,EAASpD,MAAnulBN,EAAS17N,EAAQltE,QAAQ,WAA5xC,IAA8yCJ,MAAM,KAAK,GAAGxB,EAAurlBiuS,GAAYN,GAAYA,EAAWQ,cAAcR,EAAWQ,MAAMC,SAAS/D,IAAW6D,EAASvD,GAAM,SAAeuD,CAAQ,EAAEnyS,KAAK2tQ,OAAO,WAAW,IAAI2kC,EAAK,CAAC,EAAoE,OAAlEA,EAAKtD,GAAc/qS,EAAU8sS,EAAUp0Q,KAAK21Q,EAAKT,EAAIG,EAAQR,KAAYc,CAAI,EAAEtyS,KAAK4tQ,UAAU,WAAW,IAAI2kC,EAAQ,CAAC,EAAuY,OAArYA,EAAQzD,GAAQ7qS,EAAUsuS,EAAQ5D,GAAO1qS,EAAUsuS,EAAQ1D,GAAM5qS,EAAU8sS,EAAUp0Q,KAAK41Q,EAAQV,EAAIG,EAAQ9zM,QAAWg0M,IAAaK,EAAQ1D,IAAOiD,GAAOA,EAAMrtG,SAAQ8tG,EAAQ1D,GAAMK,GAAUgD,GAA4B,aAAhBK,EAAQ5D,IAAqBiD,UAAmBA,EAAWY,aAAajE,GAAYqD,EAAWrjC,gBAAgBqjC,EAAWrjC,eAAe,IAAGgkC,EAAQ5D,GAAO,OAAO4D,EAAQ1D,GAAMM,GAAcoD,CAAO,EAAEvyS,KAAK8tQ,UAAU,WAAW,IAAI2kC,EAAQ,CAAC,EAAgG,OAA9FA,EAAQ7D,GAAM3qS,EAAUwuS,EAAQ1D,GAAS9qS,EAAU8sS,EAAUp0Q,KAAK81Q,EAAQZ,EAAIG,EAAQnkC,QAAe4kC,CAAO,EAAEzyS,KAAKguQ,MAAM,WAAW,IAAI0kC,EAAI,CAAC,EAAiP,OAA/OA,EAAI9D,GAAM3qS,EAAUyuS,EAAI3D,GAAS9qS,EAAU8sS,EAAUp0Q,KAAK+1Q,EAAIb,EAAIG,EAAQjkC,IAAOmkC,IAAaQ,EAAI9D,IAAOkD,GAAOA,EAAMltK,UAA0B,WAAhBktK,EAAMltK,WAAqB8tK,EAAI9D,GAAMkD,EAAMltK,SAAS/+H,QAAQ,aAAa6qS,GAAa7qS,QAAQ,SAASgqQ,IAAe6iC,CAAG,EAAE1yS,KAAKsyO,UAAU,WAAW,MAAM,CAAC27B,GAAGjuQ,KAAKkuQ,QAAQT,QAAQztQ,KAAK0tQ,aAAaG,OAAO7tQ,KAAK8tQ,YAAYC,GAAG/tQ,KAAKguQ,QAAQ9vK,OAAOl+F,KAAK4tQ,YAAY4jC,IAAIxxS,KAAK2tQ,SAAS,EAAE3tQ,KAAKkuQ,MAAM,WAAW,OAAO2jC,CAAG,EAAE7xS,KAAK2yS,MAAM,SAAS1kC,GAAgF,OAA5E4jC,SAAW5jC,IAAKwgC,GAAUxgC,EAAGpkQ,OAA//pB,IAAohqBk3E,EAAKktL,EAAzhqB,KAA2iqBA,EAAUjuQ,IAAI,EAAEA,KAAK2yS,MAAMd,GAAY7xS,IAAI,EAAE2xS,EAAS5C,QAA37qB,SAA88qB4C,EAAShC,QAAQiB,EAAU,CAAChC,EAAKG,EAAQL,IAAQiD,EAASiB,IAAIhC,EAAU,CAAC5B,IAAe2C,EAASkB,OAAOjC,EAAU,CAACjC,EAAMG,EAAOD,EAAKI,EAAQC,EAAOE,EAAQD,EAAOE,EAASC,IAAWqC,EAASmB,OAAOnB,EAASoB,GAAGnC,EAAU,CAAChC,EAAKG,WAAoBvvS,IAAU+uS,GAA2C9uS,EAAOD,UAASA,EAAQC,EAAOD,QAAQmyS,GAASnyS,EAAQmyS,SAASA,GAA4C,QAAY,aAAkB,OAAOA,CAAS,2CAAiBxvS,IAASosS,IAAYpsS,EAAOwvS,SAASA,GAAU,IAAI3xK,UAAS79H,IAASosS,IAAapsS,EAAO6wS,QAAQ7wS,EAAO8wS,OAAO,GAAGjzK,KAAIA,GAAEiuI,GAAG,CAAC,IAAIvkO,GAAO,IAAIioQ,EAAS3xK,GAAEiuI,GAAGvkO,GAAO4oM,YAAYtyG,GAAEiuI,GAAGvtQ,IAAI,WAAW,OAAOgpC,GAAOwkO,OAAO,EAAEluI,GAAEiuI,GAAG1lM,IAAI,SAAS0lM,GAAIvkO,GAAOipQ,MAAM1kC,GAAI,IAAI/9O,EAAOwZ,GAAO4oM,YAAY,IAAI,IAAI/gH,KAAQrhG,EAAQ8vG,GAAEiuI,GAAG18I,GAAMrhG,EAAOqhG,EAAM,CAAC,CAAE,CAA7ysB,CAA+zsB,iBAATpvH,OAAkBA,OAAOnC,K,WCH/0sBP,EAAOD,QAAU,wpL,WCAjBC,EAAOD,QAAU,wpL,WCAjBC,EAAOD,QAAU,g4H,WCAjBC,EAAOD,QAAU,gjJ,WCAjBC,EAAOD,QAAU,g4G,WCAjBC,EAAOD,QAAU,ojE,WCAjBC,EAAOD,QAAU,goC,WCAjBC,EAAOD,QAAU,guF,WCAjBC,EAAOD,QAAU,olD,WCAjBC,EAAOD,QAAU,gkJ,WCAjBC,EAAOD,QAAU,g3yB,WCAjBC,EAAOD,QAAU,gkJ,wBCAjBC,EAAOD,QAAUS,C,wBCAjBR,EAAOD,QAAUU,C,wBCAjBT,EAAOD,QAAUW,C,eCAjB;;;;;GAOC,WACA,aAEA,IAAI+yS,EAAS,CAAC,EAAE10P,eAEhB,SAASymC,IAGR,IAFA,IAAIwyB,EAAU,GAEL33G,EAAI,EAAGA,EAAI0rC,UAAU3hC,OAAQ/J,IAAK,CAC1C,IAAIi0H,EAAMvoF,UAAU1rC,GAChBi0H,IACHtc,EAAU07L,EAAY17L,EAAS27L,EAAWr/K,IAE5C,CAEA,OAAOtc,CACR,CAEA,SAAS27L,EAAYr/K,GACpB,GAAmB,iBAARA,GAAmC,iBAARA,EACrC,OAAOA,EAGR,GAAmB,iBAARA,EACV,MAAO,GAGR,GAAI7xF,MAAMC,QAAQ4xF,GACjB,OAAO9uC,EAAWxkB,MAAM,KAAMszD,GAG/B,GAAIA,EAAIhwG,WAAahH,OAAO6f,UAAU7Y,WAAagwG,EAAIhwG,SAASA,WAAWzhB,SAAS,iBACnF,OAAOyxH,EAAIhwG,WAGZ,IAAI0zF,EAAU,GAEd,IAAK,IAAI3lG,KAAOiiH,EACXm/K,EAAOv2Q,KAAKo3F,EAAKjiH,IAAQiiH,EAAIjiH,KAChC2lG,EAAU07L,EAAY17L,EAAS3lG,IAIjC,OAAO2lG,CACR,CAEA,SAAS07L,EAAazkS,EAAO2kS,GAC5B,OAAKA,EAID3kS,EACIA,EAAQ,IAAM2kS,EAGf3kS,EAAQ2kS,EAPP3kS,CAQT,CAEqCjP,EAAOD,SAC3CylF,EAAWzjE,QAAUyjE,EACrBxlF,EAAOD,QAAUylF,QAKhB,KAFwB,EAAF,WACtB,OAAOA,CACP,UAFoB,OAEpB,YAIH,CArEA,E,8BCUA,SAASquN,EAAUjnM,EAASknM,EAAYC,EAAGC,GAEvC,OAAO,IAAKD,IAAMA,EAAIx3O,WAAU,SAAUC,EAASC,GAC/C,SAASw3O,EAAUhlS,GAAS,IAAMsjC,EAAKyhQ,EAAU32P,KAAKpuC,GAAS,CAAE,MAAOmB,GAAKqsD,EAAOrsD,EAAI,CAAE,CAC1F,SAASm9O,EAASt+O,GAAS,IAAMsjC,EAAKyhQ,EAAiB,MAAE/kS,GAAS,CAAE,MAAOmB,GAAKqsD,EAAOrsD,EAAI,CAAE,CAC7F,SAASmiC,EAAK9hB,GAJlB,IAAexhB,EAIawhB,EAAO2pB,KAAOoiB,EAAQ/rC,EAAOxhB,QAJ1CA,EAIyDwhB,EAAOxhB,MAJhDA,aAAiB8kS,EAAI9kS,EAAQ,IAAI8kS,GAAE,SAAUv3O,GAAWA,EAAQvtD,EAAQ,KAIjBhG,KAAKgrS,EAAW1mD,EAAW,CAC7Gh7M,GAAMyhQ,EAAYA,EAAUhzO,MAAM4rC,EAASknM,GAAc,KAAKz2P,OAClE,GACJ,CAOA,SAAS62P,EAAyBtiP,GACjC,OAAOA,GAAKA,EAAEw1L,YAAc9pO,OAAO6f,UAAU4hB,eAAe7hB,KAAK00B,EAAG,WAAaA,EAAW,QAAIA,CACjG,C,kBAP2B,mBAApBuiP,iBAAiCA,gBAaxC,IAyCIC,EAAuBF,GAzCP,SAASG,EAAMj0S,EAAG2wB,GACpC,GAAI3wB,IAAM2wB,EAAG,OAAO,EAEpB,GAAI3wB,GAAK2wB,GAAiB,iBAAL3wB,GAA6B,iBAAL2wB,EAAe,CAC1D,GAAI3wB,EAAEgF,cAAgB2rB,EAAE3rB,YAAa,OAAO,EAE5C,IAAIgF,EAAQ/J,EAAGi+B,EACf,GAAImE,MAAMC,QAAQtiC,GAAI,CAEpB,IADAgK,EAAShK,EAAEgK,SACG2mB,EAAE3mB,OAAQ,OAAO,EAC/B,IAAK/J,EAAI+J,EAAgB,GAAR/J,KACf,IAAKg0S,EAAMj0S,EAAEC,GAAI0wB,EAAE1wB,IAAK,OAAO,EACjC,OAAO,CACT,CAIA,GAAID,EAAEgF,cAAgBu5B,OAAQ,OAAOv+B,EAAEy4G,SAAW9nF,EAAE8nF,QAAUz4G,EAAEwvG,QAAU7+E,EAAE6+E,MAC5E,GAAIxvG,EAAE4wP,UAAY1zO,OAAO6f,UAAU6zN,QAAS,OAAO5wP,EAAE4wP,YAAcjgO,EAAEigO,UACrE,GAAI5wP,EAAEkkB,WAAahH,OAAO6f,UAAU7Y,SAAU,OAAOlkB,EAAEkkB,aAAeyM,EAAEzM,WAIxE,IADAla,GADAk0B,EAAOhhB,OAAOghB,KAAKl+B,IACLgK,UACCkT,OAAOghB,KAAKvN,GAAG3mB,OAAQ,OAAO,EAE7C,IAAK/J,EAAI+J,EAAgB,GAAR/J,KACf,IAAKid,OAAO6f,UAAU4hB,eAAe7hB,KAAKnM,EAAGuN,EAAKj+B,IAAK,OAAO,EAEhE,IAAKA,EAAI+J,EAAgB,GAAR/J,KAAY,CAC3B,IAAIgS,EAAMisB,EAAKj+B,GAEf,IAAKg0S,EAAMj0S,EAAEiS,GAAM0e,EAAE1e,IAAO,OAAO,CACrC,CAEA,OAAO,CACT,CAGA,OAAOjS,GAAIA,GAAK2wB,GAAIA,CACtB,IAmBA,MAAMujR,EAAa,uBAInB,IAAIC,GACJ,SAAWA,GACPA,EAAaA,EAA0B,YAAI,GAAK,cAChDA,EAAaA,EAAsB,QAAI,GAAK,UAC5CA,EAAaA,EAAsB,QAAI,GAAK,UAC5CA,EAAaA,EAAsB,QAAI,GAAK,SAC/C,CALD,CAKGA,IAAiBA,EAAe,CAAC,IAoBpC,MAAM/pP,EAUF,WAAAplD,EAAY,OAAEiG,EAAM,mBAAEmpS,EAAkB,QAAEC,EAAO,OAAEr3L,EAAM,GAAE1oF,EAAK4/Q,EAAU,SAAE1qP,EAAQ,UAAEa,EAAY,GAAE,OAAEiqP,EAAM,MAAEC,EAAK,OAAEC,EAAM,QAAEC,EAAU,EAAC,IAAE9xS,EAAM,0CAAyC,QAAEuwE,IAkBvL,GAjBA/yE,KAAKu0S,UAAY,GACjBv0S,KAAK65C,MAAO,EACZ75C,KAAK8nB,SAAU,EACf9nB,KAAKkV,OAAS,GACdlV,KAAK8K,OAASA,EACd9K,KAAKi0S,mBAAqBA,EAC1Bj0S,KAAKk0S,QAAUA,EACfl0S,KAAK68G,OAASA,EACd78G,KAAKm0B,GAAKA,GAAM4/Q,EAChB/zS,KAAKqpD,SAAWA,EAChBrpD,KAAKkqD,UAAYA,EACjBlqD,KAAKm0S,OAASA,EACdn0S,KAAKo0S,MAAQA,EACbp0S,KAAKq0S,OAASA,EACdr0S,KAAKs0S,QAAUA,EACft0S,KAAKwC,IAAMA,EACXxC,KAAK+yE,QAAUA,EACX9oB,EAAOinB,SAAU,CACjB,IAAK2iO,EAAQ7zS,KAAKqE,QAAS4lD,EAAOinB,SAAS7sE,SACvC,MAAM,IAAIO,MAAM,2DAA2Dy9B,KAAKC,UAAUtiC,KAAKqE,gBAAgBg+B,KAAKC,UAAU2nB,EAAOinB,SAAS7sE,YAElJ,OAAO4lD,EAAOinB,QAClB,CACAjnB,EAAOinB,SAAWlxE,IACtB,CACA,WAAIqE,GACA,MAAO,CACH0uE,QAAS/yE,KAAK+yE,QACdjoE,OAAQ9K,KAAK8K,OACbopS,QAASl0S,KAAKk0S,QACdr3L,OAAQ78G,KAAK68G,OACb1oF,GAAIn0B,KAAKm0B,GACT+1B,UAAWlqD,KAAKkqD,UAChBb,SAAUrpD,KAAKqpD,SACfgrP,OAAQr0S,KAAKq0S,OACbF,OAAQn0S,KAAKm0S,OACbC,MAAOp0S,KAAKo0S,MACZ5xS,IAAKxC,KAAKwC,IACVyxS,mBAAoBj0S,KAAKi0S,mBAEjC,CACA,UAAI7sS,GACA,OAAIpH,KAAKkV,OAAOrL,OACLmqS,EAAaQ,QAEpBx0S,KAAK65C,KACEm6P,EAAaS,QAEpBz0S,KAAK8nB,QACEksR,EAAaU,QAEjBV,EAAaW,WACxB,CACA,UAAIC,GACA,OAAO50S,KAAK65C,OAAS75C,KAAK8nB,SAAW9nB,KAAKkV,OAAOrL,QAAU7J,KAAKs0S,QAAU,CAC9E,CAOA,SAAAO,GACI,IAAIryS,EAAMxC,KAAKwC,IA6Bf,OA5BAA,GAAO,+CACHxC,KAAK8K,SACLtI,GAAO,QAAQxC,KAAK8K,UAEpB9K,KAAKk0S,UACL1xS,GAAO,YAAYxC,KAAKk0S,WAExBl0S,KAAK68G,SACLr6G,GAAO,WAAWxC,KAAK68G,UAEvB78G,KAAKkqD,UAAUrgD,OAAS,IACxBrH,GAAO,cAAcxC,KAAKkqD,UAAUnoB,KAAK,QAEzC/hC,KAAKqpD,WACL7mD,GAAO,aAAaxC,KAAKqpD,YAEzBrpD,KAAKq0S,SACL7xS,GAAO,WAAWxC,KAAKq0S,UAEvBr0S,KAAK+yE,UACLvwE,GAAO,MAAMxC,KAAK+yE,WAElB/yE,KAAKm0S,SACL3xS,GAAO,YAAYxC,KAAKm0S,OAAOpyQ,KAAK,QAEpC/hC,KAAKi0S,qBACLzxS,GAAO,yBAAyBxC,KAAKi0S,sBAElCzxS,CACX,CACA,YAAAsyS,GACI,MAAM5gL,EAAS5jH,SAAS+lJ,eAAer2J,KAAKm0B,IACxC+/F,GACAA,EAAO4L,QAEf,CAKA,IAAA31E,GACI,OAAOnqD,KAAK+0S,aAChB,CAOA,WAAAA,GACI,OAAO,IAAI/4O,SAAQ,CAACC,EAASC,KACzBl8D,KAAKg1S,cAAc9sS,IACVA,EAIDg0D,EAAOh0D,EAAIjH,OAHXg7D,EAAQ95D,OAAOg7D,OAInB,GACF,GAEV,CACA,aAAA83O,CAAc/wS,GAEV,OADAlE,KAAKk1S,UACE/3O,OAAO3O,KAAKymP,cAAc/wS,EACrC,CAKA,YAAA8wS,CAAahqO,GACThrE,KAAKu0S,UAAU/wS,KAAKwnE,GACpBhrE,KAAKk1S,SACT,CAIA,SAAAC,GACI,IAAIv0S,EAAIusB,EACR,GAAI7c,SAAS+lJ,eAAer2J,KAAKm0B,IAG7B,YADAn0B,KAAKyqE,WAGT,MAAMuuB,EAAS,CACXlnF,IAAK9R,KAAK8K,OACVopS,QAASl0S,KAAKk0S,QACdr3L,OAAQ78G,KAAK68G,OACb3yD,UAAWlqD,KAAKkqD,UAAUrgD,QAAU7J,KAAKkqD,UACzCgxD,EAAGl7G,KAAK+yE,QACRohO,OAAQn0S,KAAKm0S,OACb9qP,SAAUrpD,KAAKqpD,SACfgrP,OAAQr0S,KAAKq0S,OACbJ,mBAAoBj0S,KAAKi0S,oBAG7Bl3R,OAAOghB,KAAKi7D,GAAQvyF,SAEnBqL,IAASknF,EAAOlnF,WAAeknF,EAAOlnF,MAC4F,QAA5Hqb,EAA8E,QAAxEvsB,EAAgB,OAAXuB,aAA8B,IAAXA,YAAoB,EAASA,OAAOg7D,cAA2B,IAAPv8D,OAAgB,EAASA,EAAG4tD,YAAyB,IAAPrhC,OAAgB,EAASA,EAAG8nR,gBAInK,CAAE5mL,IAEE,IAAI95B,EAAG10F,EAAGy0D,EAAG73B,EAAI,iCAAkC3R,EAAI,SAAU+9N,EAAI,gBAAiB1B,EAAI,SAAU9yL,EAAI/jD,SAAUkgB,EAAIruB,OAEtHquB,EAAIA,EAAE1F,KAAO0F,EAAE1F,GAAK,CAAC,GAErB,MAAMqN,EAAI3H,EAAEg+B,OAASh+B,EAAEg+B,KAAO,CAAC,GAAIl2B,EAAI,IAAI4jP,IAAOrsQ,EAAI,IAAI3N,gBAAmBusP,EAAI,IAEjFl6J,IAAMA,EAAI,IAAIv4B,SAAQ,CAACzB,EAAG/F,IAAM8+O,EAAUtzS,UAAM,OAAQ,GAAQ,YAC5D,IAAIY,EAKJ,IAAK0zD,WAJEz0D,EAAIw0D,EAAEwM,cAAc,UAC3BhhE,EAAEs0B,GAAKn0B,KAAKm0B,GACZtkB,EAAE04D,IAAI,YAAa,IAAIjwC,GAAK,IAElB+1F,EACNx+G,EAAE04D,IAAIjU,EAAEzuD,QAAQ,UAAWsrB,GAAM,IAAMA,EAAE,GAAGxmB,gBAAgB0jH,EAAE/5D,IAClEzkD,EAAE04D,IAAI,WAAYz9C,EAAI,SAAWq8N,GACjCtnP,EAAEgiB,IAAM7hB,KAAKwC,IAAM,IAAMqN,EACzBsoB,EAAEgvN,GAAK5sL,EACP16D,EAAEssH,QAAU,IAAO53B,EAAI//B,EAAE5vD,MAAM63B,EAAI,qBAEnC58B,EAAEu0S,MAAQp0S,KAAKo0S,QAAsD,QAA3CxzS,EAAKyzD,EAAE+qC,cAAc,wBAAqC,IAAPx+F,OAAgB,EAASA,EAAGwzS,QAAU,GACnH//O,EAAE+kB,KAAKxyE,OAAO/G,EAClB,OAEAs4B,EAAE0wN,GAAK7nP,QAAQ2lE,KAAKlqC,EAAI,8BAA+B4xF,GAAMl2F,EAAE0wN,GAAK,CAACtuL,KAAM/F,IAAMl8B,EAAEyZ,IAAIwoB,IAAMk0L,IAAI/lP,MAAK,IAAMyvB,EAAE0wN,GAAGtuL,KAAM/F,IAC1H,EA1BD,CA0BGwkC,GAMP,MAAMo8M,EAAkBp1S,KAAKkqD,UAAUr4C,KAAKwjS,GAAYr1S,KAAKi1S,cAAcI,KAEtED,EAAgBvrS,QACjBurS,EAAgB5xS,KAAKxD,KAAKi1S,cAAc,SAE5Cj5O,QAAQukE,IAAI60K,GAAiB1sS,MAAK,IAAM1I,KAAKyqE,aAAaxpE,IACtD,MAAMwQ,EAAQ,IAAI6jS,WAAW,QAAS,CAAEr0S,UACxCjB,KAAKu1S,kBAAkB9jS,EAAM,GAErC,CAIA,KAAA0oB,GACIn6B,KAAK80S,eACL90S,KAAK65C,MAAO,EACZ75C,KAAK8nB,SAAU,EACf9nB,KAAKkV,OAAS,GACdlV,KAAKw1S,aAAe,IACxB,CACA,qBAAAC,GACQz1S,KAAK40S,QACL50S,KAAKm6B,OAEb,CACA,iBAAAo7Q,CAAkB1lS,GAEd,GADA7P,KAAKkV,OAAO1R,KAAKqM,GACb7P,KAAKkV,OAAOrL,QAAU7J,KAAKs0S,QAAS,CACpC,MAAMvzK,EAAQ/gI,KAAKkV,OAAOrL,OAAS+6B,KAAKqtB,IAAI,EAAGjyD,KAAKkV,OAAOrL,QAC3D7I,QAAQC,MAAM,kDAAkD8/H,SAChErwH,YAAW,KACP1Q,KAAK80S,eACL90S,KAAKm1S,WAAW,GACjBp0K,EACP,MAEI/gI,KAAKw1S,aAAe3lS,EACpB7P,KAAKyqE,UAEb,CACA,QAAAA,GACIzqE,KAAK65C,MAAO,EACZ75C,KAAK8nB,SAAU,EACf9nB,KAAKu0S,UAAU9tS,SAASivS,IACpBA,EAAG11S,KAAKw1S,aAAa,IAEzBx1S,KAAKu0S,UAAY,EACrB,CACA,OAAAW,GAEI,GADAl1S,KAAKy1S,yBACDz1S,KAAK8nB,QAIT,GAAI9nB,KAAK65C,KACL75C,KAAKyqE,eAEJ,CAED,GAAItoE,OAAOg7D,QAAUh7D,OAAOg7D,OAAO3O,MAAQrsD,OAAOg7D,OAAO3O,KAAKukB,QAI1D,OAHA/xE,QAAQ2lE,KAAK,8JAEb3mE,KAAKyqE,WAGTzqE,KAAK8nB,SAAU,EACf9nB,KAAKm1S,WACT,CACJ,E,8BCrZJ,SAAStzO,IACP,OAAOA,EAAW9kD,OAAOC,OAASD,OAAOC,OAAOosG,OAAS,SAAU50D,GACjE,IAAK,IAAI3kD,EAAI,EAAGA,EAAI27B,UAAU3hC,OAAQgG,IAAK,CACzC,IAAIshB,EAAIqa,UAAU37B,GAClB,IAAK,IAAIyoB,KAAKnH,GAAG,CAAG,GAAEqtB,eAAe7hB,KAAKxL,EAAGmH,KAAOk8B,EAAEl8B,GAAKnH,EAAEmH,GAC/D,CACA,OAAOk8B,CACT,EAAGqN,EAASpB,MAAM,KAAMj1B,UAC1B,C,8CCRA,SAASmgO,EAA8BrzO,EAAGzoB,GACxC,GAAI,MAAQyoB,EAAG,MAAO,CAAC,EACvB,IAAInH,EAAI,CAAC,EACT,IAAK,IAAIqjC,KAAKl8B,EAAG,GAAI,CAAC,EAAEkmB,eAAe7hB,KAAKrE,EAAGk8B,GAAI,CACjD,GAAI3kD,EAAEvN,SAASkyD,GAAI,SACnBrjC,EAAEqjC,GAAKl8B,EAAEk8B,EACX,CACA,OAAOrjC,CACT,C,yECNe,SAASi4F,EAAKp+C,EAAIqhC,GAC/B,OAAO,WACL,OAAOrhC,EAAGvK,MAAM4rC,EAAS7gE,UAC3B,CACF,C,uICAA,MAAOznB,SAAQ,GAAIhH,OAAO6f,WACpB,eAACqvC,GAAkBlvD,OAEnB44R,GAAUliM,EAGb12F,OAAO8f,OAAO,MAHQ+4Q,IACrB,MAAM39L,EAAM,EAASt7E,KAAKi5Q,GAC1B,OAAOniM,EAAMwE,KAASxE,EAAMwE,GAAOA,EAAIr9F,MAAM,GAAI,GAAGjQ,cAAc,GAFvD,IAAC8oG,EAKhB,MAAMoiM,EAAcrxS,IAClBA,EAAOA,EAAKmG,cACJirS,GAAUD,EAAOC,KAAWpxS,GAGhCsxS,EAAatxS,GAAQoxS,UAAgBA,IAAUpxS,GAS/C,QAAC29B,GAAWD,MASZ+xO,EAAc6hC,EAAW,aAqB/B,MAAMC,EAAgBF,EAAW,eA2BjC,MAAMp/L,EAAWq/L,EAAW,UAQtBlgD,EAAakgD,EAAW,YASxB1qO,EAAW0qO,EAAW,UAStBtsQ,EAAYosQ,GAAoB,OAAVA,GAAmC,iBAAVA,EAiB/C7pO,EAAiBb,IACrB,GAAoB,WAAhByqO,EAAOzqO,GACT,OAAO,EAGT,MAAMtuC,EAAYqvC,EAAef,GACjC,QAAsB,OAAdtuC,GAAsBA,IAAc7f,OAAO6f,WAAkD,OAArC7f,OAAOkvD,eAAervC,IAA0BsuN,OAAO8qD,eAAe9qO,GAAUggL,OAAOS,YAAYzgL,EAAI,EAUnK+qO,EAASJ,EAAW,QASpBK,EAASL,EAAW,QASpBM,EAASN,EAAW,QASpBO,EAAaP,EAAW,YAsCxBQ,EAAoBR,EAAW,oBAE9BS,EAAkBC,EAAWC,EAAYC,GAAa,CAAC,iBAAkB,UAAW,WAAY,WAAW5kS,IAAIgkS,GA2BtH,SAASpvS,EAAQqpB,EAAKk7C,GAAI,WAAC0rO,GAAa,GAAS,CAAC,GAEhD,GAAI5mR,QACF,OAGF,IAAIhwB,EACA+oP,EAQJ,GALmB,iBAAR/4N,IAETA,EAAM,CAACA,IAGLqS,EAAQrS,GAEV,IAAKhwB,EAAI,EAAG+oP,EAAI/4N,EAAIjmB,OAAQ/J,EAAI+oP,EAAG/oP,IACjCkrE,EAAGruC,KAAK,KAAM7M,EAAIhwB,GAAIA,EAAGgwB,OAEtB,CAEL,MAAMiO,EAAO24Q,EAAa35R,OAAO6uO,oBAAoB97N,GAAO/S,OAAOghB,KAAKjO,GAClEqnF,EAAMp5E,EAAKl0B,OACjB,IAAIiI,EAEJ,IAAKhS,EAAI,EAAGA,EAAIq3G,EAAKr3G,IACnBgS,EAAMisB,EAAKj+B,GACXkrE,EAAGruC,KAAK,KAAM7M,EAAIhe,GAAMA,EAAKge,EAEjC,CACF,CAEA,SAAS6mR,EAAQ7mR,EAAKhe,GACpBA,EAAMA,EAAInH,cACV,MAAMozB,EAAOhhB,OAAOghB,KAAKjO,GACzB,IACIisB,EADAj8C,EAAIi+B,EAAKl0B,OAEb,KAAO/J,KAAM,GAEX,GADAi8C,EAAOhe,EAAKj+B,GACRgS,IAAQiqC,EAAKpxC,cACf,OAAOoxC,EAGX,OAAO,IACT,CAEA,MAAM66P,EAEsB,oBAAfrrM,WAAmCA,WACvB,oBAATxrG,KAAuBA,KAA0B,oBAAXoC,OAAyBA,OAASkpG,OAGlFwrM,EAAoB92Q,IAAak0O,EAAYl0O,IAAYA,IAAY62Q,EAoD3E,MA8HME,GAAgBC,EAKG,oBAAfnvD,YAA8B37K,EAAe27K,YAH9CguD,GACEmB,GAAcnB,aAAiBmB,GAHrB,IAACA,EAetB,MAiCMC,EAAanB,EAAW,mBAWxB,EAAiB,GAAGr3P,oBAAoB,CAAC1uB,EAAKyhG,IAAS/yE,EAAe7hB,KAAK7M,EAAKyhG,GAA/D,CAAsEx0G,OAAO6f,WAS9Fq6Q,EAAWpB,EAAW,UAEtBqB,EAAoB,CAACpnR,EAAKy+I,KAC9B,MAAM4oI,EAAcp6R,OAAOg9O,0BAA0BjqO,GAC/CsnR,EAAqB,CAAC,EAE5B3wS,EAAQ0wS,GAAa,CAAC35C,EAAYt5P,KAChC,IAAImzS,GAC2C,KAA1CA,EAAM9oI,EAAQivF,EAAYt5P,EAAM4rB,MACnCsnR,EAAmBlzS,GAAQmzS,GAAO75C,EACpC,IAGFzgP,OAAOi9O,iBAAiBlqO,EAAKsnR,EAAmB,EAsD5CE,EAAQ,6BAERC,EAAQ,aAERC,EAAW,CACfD,QACAD,QACAG,YAAaH,EAAQA,EAAM38R,cAAgB48R,GAwB7C,MA+BMG,EAAY7B,EAAW,iBAQvB8B,GAAkBC,EAkBE,mBAAjBC,aAlBsCC,EAmB7CliD,EAAWghD,EAAQmB,aAlBfH,EACKC,aAGFC,GAAyB32S,EAW7B,SAASyjC,KAAKu2E,WAXsBo5L,EAWV,GAV3BqC,EAAQrmS,iBAAiB,WAAW,EAAE+nG,SAAQz3G,WACxCy3G,IAAWs+L,GAAW/1S,IAASM,GACjCozS,EAAU1qS,QAAU0qS,EAAUlhH,OAAVkhH,EACtB,IACC,GAEKmB,IACNnB,EAAU/wS,KAAKkyS,GACfkB,EAAQmB,YAAY52S,EAAO,IAAI,GAECu0S,GAAOhlS,WAAWglS,IAhBlC,IAAEkC,EAAuBE,EAKb32S,EAAOozS,EAiBzC,MAAMyD,EAAiC,oBAAnBC,eAClBA,eAAe7uL,KAAKwtL,GAAgC,oBAAZ15P,SAA2BA,QAAQg7P,UAAYP,EAIzF,GACEx1Q,UACA4zQ,gBACAoC,SAlpBF,SAAkBjtO,GAChB,OAAe,OAARA,IAAiB+oM,EAAY/oM,IAA4B,OAApBA,EAAIrmE,cAAyBovQ,EAAY/oM,EAAIrmE,cACpF+wP,EAAW1qL,EAAIrmE,YAAYszS,WAAajtO,EAAIrmE,YAAYszS,SAASjtO,EACxE,EAgpBEktO,WApgBkBxC,IAClB,IAAIyC,EACJ,OAAOzC,IACgB,mBAAb5vJ,UAA2B4vJ,aAAiB5vJ,UAClD4vG,EAAWggD,EAAMhvS,UACY,cAA1ByxS,EAAO1C,EAAOC,KAEL,WAATyC,GAAqBziD,EAAWggD,EAAM7xR,WAAkC,sBAArB6xR,EAAM7xR,YAGhE,EA2fAsnO,kBA9nBF,SAA2BngL,GACzB,IAAIh7C,EAMJ,OAJEA,EAD0B,oBAAhBo7N,aAAiCA,YAAkB,OACpDA,YAAYC,OAAOrgL,GAEnB,GAAUA,EAAU,QAAM6qO,EAAc7qO,EAAI20D,QAEhD3vG,CACT,EAunBEumF,WACArrC,WACA2rM,UA9kBgB6+B,IAAmB,IAAVA,IAA4B,IAAVA,EA+kB3CpsQ,WACAuiC,gBACAuqO,mBACAC,YACAC,aACAC,YACAxiC,cACAgiC,SACAC,SACAC,SACAc,WACArhD,aACA0iD,SA9hBgBptO,GAAQ1hC,EAAS0hC,IAAQ0qL,EAAW1qL,EAAIqtO,MA+hBxDlC,oBACAS,eACAV,aACA3vS,UACA+xS,MAhaF,SAASA,IACP,MAAM,SAACC,GAAY5B,EAAiB72S,OAASA,MAAQ,CAAC,EAChDkwB,EAAS,CAAC,EACVwoR,EAAc,CAACxtO,EAAKp5D,KACxB,MAAM6mS,EAAYF,GAAY9B,EAAQzmR,EAAQpe,IAAQA,EAClDi6D,EAAc77C,EAAOyoR,KAAe5sO,EAAcb,GACpDh7C,EAAOyoR,GAAaH,EAAMtoR,EAAOyoR,GAAYztO,GACpCa,EAAcb,GACvBh7C,EAAOyoR,GAAaH,EAAM,CAAC,EAAGttO,GACrB/oC,EAAQ+oC,GACjBh7C,EAAOyoR,GAAaztO,EAAItwD,QAExBsV,EAAOyoR,GAAaztO,CACtB,EAGF,IAAK,IAAIprE,EAAI,EAAG+oP,EAAIr9M,UAAU3hC,OAAQ/J,EAAI+oP,EAAG/oP,IAC3C0rC,UAAU1rC,IAAM2G,EAAQ+kC,UAAU1rC,GAAI44S,GAExC,OAAOxoR,CACT,EA6YEunC,OAjYa,CAAC53D,EAAG2wB,EAAG67E,GAAUqqM,cAAa,CAAC,KAC5CjwS,EAAQ+pB,GAAG,CAAC06C,EAAKp5D,KACXu6F,GAAWupJ,EAAW1qL,GACxBrrE,EAAEiS,GAAOs3G,EAAKl+C,EAAKmhC,GAEnBxsG,EAAEiS,GAAOo5D,CACX,GACC,CAACwrO,eACG72S,GA0XPkhF,KA7fYk3B,GAAQA,EAAIl3B,KACxBk3B,EAAIl3B,OAASk3B,EAAIpyG,QAAQ,qCAAsC,IA6f/D+yS,SAjXgB52S,IACc,QAA1BA,EAAQk/B,WAAW,KACrBl/B,EAAUA,EAAQ4Y,MAAM,IAEnB5Y,GA8WP62S,SAlWe,CAACh0S,EAAai0S,EAAkBprS,EAAOypS,KACtDtyS,EAAY+3B,UAAY7f,OAAO8f,OAAOi8Q,EAAiBl8Q,UAAWu6Q,GAClEtyS,EAAY+3B,UAAU/3B,YAAcA,EACpCkY,OAAOwvD,eAAe1nE,EAAa,QAAS,CAC1C6J,MAAOoqS,EAAiBl8Q,YAE1BlvB,GAASqP,OAAOC,OAAOnY,EAAY+3B,UAAWlvB,EAAM,EA6VpDqrS,aAjVmB,CAACC,EAAWC,EAASxuS,EAAQyuS,KAChD,IAAIxrS,EACA5N,EACAyxH,EACJ,MAAM4nL,EAAS,CAAC,EAIhB,GAFAF,EAAUA,GAAW,CAAC,EAEL,MAAbD,EAAmB,OAAOC,EAE9B,EAAG,CAGD,IAFAvrS,EAAQqP,OAAO6uO,oBAAoBotD,GACnCl5S,EAAI4N,EAAM7D,OACH/J,KAAM,GACXyxH,EAAO7jH,EAAM5N,GACPo5S,IAAcA,EAAW3nL,EAAMynL,EAAWC,IAAcE,EAAO5nL,KACnE0nL,EAAQ1nL,GAAQynL,EAAUznL,GAC1B4nL,EAAO5nL,IAAQ,GAGnBynL,GAAuB,IAAXvuS,GAAoBwhE,EAAe+sO,EACjD,OAASA,KAAevuS,GAAUA,EAAOuuS,EAAWC,KAAaD,IAAcj8R,OAAO6f,WAEtF,OAAOq8Q,CAAO,EA2TdtD,SACAE,aACAx0F,SAjTe,CAACppG,EAAKmhM,EAAcjxR,KACnC8vF,EAAM5zF,OAAO4zF,SACIh0G,IAAbkkB,GAA0BA,EAAW8vF,EAAIpuG,UAC3Cse,EAAW8vF,EAAIpuG,QAEjBse,GAAYixR,EAAavvS,OACzB,MAAMuhL,EAAYnzE,EAAIj2E,QAAQo3Q,EAAcjxR,GAC5C,OAAsB,IAAfijK,GAAoBA,IAAcjjK,CAAQ,EA2SjD2iK,QAhSe8qH,IACf,IAAKA,EAAO,OAAO,KACnB,GAAIzzQ,EAAQyzQ,GAAQ,OAAOA,EAC3B,IAAI91S,EAAI81S,EAAM/rS,OACd,IAAKuhE,EAAStrE,GAAI,OAAO,KACzB,MAAM+vB,EAAM,IAAIqS,MAAMpiC,GACtB,KAAOA,KAAM,GACX+vB,EAAI/vB,GAAK81S,EAAM91S,GAEjB,OAAO+vB,CAAG,EAwRVwpR,aA7PmB,CAACvpR,EAAKk7C,KACzB,MAEM2gL,GAFY77N,GAAOA,EAAIo7N,OAAOS,WAEThvN,KAAK7M,GAEhC,IAAII,EAEJ,MAAQA,EAASy7N,EAAS7uM,UAAY5sB,EAAO2pB,MAAM,CACjD,MAAM24F,EAAOtiH,EAAOxhB,MACpBs8D,EAAGruC,KAAK7M,EAAK0iH,EAAK,GAAIA,EAAK,GAC7B,GAoPA8mK,SAzOe,CAACx9Q,EAAQm8E,KACxB,IAAIxnB,EACJ,MAAM5gE,EAAM,GAEZ,KAAwC,QAAhC4gE,EAAU30D,EAAOuzF,KAAKpX,KAC5BpoF,EAAIrsB,KAAKitF,GAGX,OAAO5gE,CAAG,EAkOVmnR,aACAx4P,eAAc,EACd+6P,WAAY,EACZrC,oBACAsC,cAzLqB1pR,IACrBonR,EAAkBpnR,GAAK,CAAC0tO,EAAYt5P,KAElC,GAAI0xP,EAAW9lO,KAA6D,IAArD,CAAC,YAAa,SAAU,UAAUkS,QAAQ99B,GAC/D,OAAO,EAGT,MAAMwK,EAAQohB,EAAI5rB,GAEb0xP,EAAWlnP,KAEhB8uP,EAAW5xD,YAAa,EAEpB,aAAc4xD,EAChBA,EAAW5kJ,UAAW,EAInB4kJ,EAAWj1L,MACdi1L,EAAWj1L,IAAM,KACf,MAAM3jE,MAAM,qCAAwCV,EAAO,IAAK,GAEpE,GACA,EAmKFu1S,YAhKkB,CAACC,EAAethM,KAClC,MAAMtoF,EAAM,CAAC,EAEPnwB,EAAUkwB,IACdA,EAAIppB,SAAQiI,IACVohB,EAAIphB,IAAS,CAAI,GACjB,EAKJ,OAFAyzB,EAAQu3Q,GAAiB/5S,EAAO+5S,GAAiB/5S,EAAO0kB,OAAOq1R,GAAej0S,MAAM2yG,IAE7EtoF,CAAG,EAsJV6pR,YAlOkB1hM,GACXA,EAAIttG,cAAc9E,QAAQ,yBAC/B,SAAkBwuD,EAAGzC,EAAIG,GACvB,OAAOH,EAAGj3C,cAAgBo3C,CAC5B,IA+NFixH,KApJW,OAqJX42H,eAnJqB,CAAClrS,EAAOI,IACb,MAATJ,GAAiBkkB,OAAOu9K,SAASzhM,GAASA,GAASA,EAAQI,EAmJlE6nS,UACAtrM,OAAQurM,EACRC,mBACAW,WACAqC,eA1IqB,CAACvnS,EAAO,GAAIwnS,EAAWtC,EAASC,eACrD,IAAIx/L,EAAM,GACV,MAAM,OAACpuG,GAAUiwS,EACjB,KAAOxnS,KACL2lG,GAAO6hM,EAASl1Q,KAAKu2E,SAAWtxG,EAAO,GAGzC,OAAOouG,CAAG,EAoIV8hM,oBA1HF,SAA6BnE,GAC3B,SAAUA,GAAShgD,EAAWggD,EAAMhvS,SAAyC,aAA9BgvS,EAAM1qD,OAAO8qD,cAA+BJ,EAAM1qD,OAAOS,UAC1G,EAyHEquD,aAvHoBlqR,IACpB,MAAM0mC,EAAQ,IAAIt0B,MAAM,IAElBkrF,EAAQ,CAAC9U,EAAQx4G,KAErB,GAAI0pC,EAAS8uE,GAAS,CACpB,GAAI9hD,EAAMx0B,QAAQs2E,IAAW,EAC3B,OAGF,KAAK,WAAYA,GAAS,CACxB9hD,EAAM12D,GAAKw4G,EACX,MAAMtoG,EAASmyB,EAAQm2E,GAAU,GAAK,CAAC,EASvC,OAPA7xG,EAAQ6xG,GAAQ,CAAC5pG,EAAOoD,KACtB,MAAMmoS,EAAe7sL,EAAM1+G,EAAO5O,EAAI,IACrCm0Q,EAAYgmC,KAAkBjqS,EAAO8B,GAAOmoS,EAAa,IAG5DzjP,EAAM12D,QAAKmE,EAEJ+L,CACT,CACF,CAEA,OAAOsoG,CAAM,EAGf,OAAO8U,EAAMt9F,EAAK,EAAE,EA4FpB4nR,YACA9gM,WAxFkBg/L,GAClBA,IAAUpsQ,EAASosQ,IAAUhgD,EAAWggD,KAAWhgD,EAAWggD,EAAMltS,OAASktP,EAAWggD,EAAMhtS,OAwF9FivS,aAAcF,EACdK,QCvuBF,SAASkC,EAAWp1S,EAASf,EAAMsV,EAAQy+G,EAASz0H,GAClDuB,MAAM+3B,KAAK38B,MAEP4E,MAAMu1S,kBACRv1S,MAAMu1S,kBAAkBn6S,KAAMA,KAAK6E,aAEnC7E,KAAKw2D,OAAQ,IAAK5xD,OAAS4xD,MAG7Bx2D,KAAK8E,QAAUA,EACf9E,KAAKkE,KAAO,aACZH,IAAS/D,KAAK+D,KAAOA,GACrBsV,IAAWrZ,KAAKqZ,OAASA,GACzBy+G,IAAY93H,KAAK83H,QAAUA,GACvBz0H,IACFrD,KAAKqD,SAAWA,EAChBrD,KAAKoH,OAAS/D,EAAS+D,OAAS/D,EAAS+D,OAAS,KAEtD,CAEAgzS,EAAMvB,SAASqB,EAAYt1S,MAAO,CAChC0/G,OAAQ,WACN,MAAO,CAELx/G,QAAS9E,KAAK8E,QACdZ,KAAMlE,KAAKkE,KAEX6B,YAAa/F,KAAK+F,YAClBkiC,OAAQjoC,KAAKioC,OAEb4Q,SAAU74C,KAAK64C,SACfwhQ,WAAYr6S,KAAKq6S,WACjBC,aAAct6S,KAAKs6S,aACnB9jP,MAAOx2D,KAAKw2D,MAEZn9C,OAAQ+gS,EAAMJ,aAAah6S,KAAKqZ,QAChCtV,KAAM/D,KAAK+D,KACXqD,OAAQpH,KAAKoH,OAEjB,IAGF,MAAM,EAAY8yS,EAAWt9Q,UACvBu6Q,EAAc,CAAC,EAErB,CACE,uBACA,iBACA,eACA,YACA,cACA,4BACA,iBACA,mBACA,kBACA,eACA,kBACA,mBAEA1wS,SAAQ1C,IACRozS,EAAYpzS,GAAQ,CAAC2K,MAAO3K,EAAK,IAGnCgZ,OAAOi9O,iBAAiBkgD,EAAY/C,GACpCp6R,OAAOwvD,eAAe,EAAW,eAAgB,CAAC79D,OAAO,IAGzDwrS,EAAWhgS,KAAO,CAACjZ,EAAO8C,EAAMsV,EAAQy+G,EAASz0H,EAAUqsR,KACzD,MAAM6qB,EAAax9R,OAAO8f,OAAO,GAgBjC,OAdAu9Q,EAAMrB,aAAa93S,EAAOs5S,GAAY,SAAgBzqR,GACpD,OAAOA,IAAQlrB,MAAMg4B,SACvB,IAAG20F,GACe,iBAATA,IAGT2oL,EAAWv9Q,KAAK49Q,EAAYt5S,EAAM6D,QAASf,EAAMsV,EAAQy+G,EAASz0H,GAElEk3S,EAAWC,MAAQv5S,EAEnBs5S,EAAWr2S,KAAOjD,EAAMiD,KAExBwrR,GAAe3yQ,OAAOC,OAAOu9R,EAAY7qB,GAElC6qB,CAAU,EAGnB,UCxFA,SAASE,EAAY7E,GACnB,OAAOwE,EAAMruO,cAAc6pO,IAAUwE,EAAMj4Q,QAAQyzQ,EACrD,CASA,SAAS8E,GAAe5oS,GACtB,OAAOsoS,EAAM/4F,SAASvvM,EAAK,MAAQA,EAAI8I,MAAM,GAAI,GAAK9I,CACxD,CAWA,SAAS6oS,GAAUvyP,EAAMt2C,EAAK0+Q,GAC5B,OAAKpoO,EACEA,EAAKvtC,OAAO/I,GAAKD,KAAI,SAAc1Q,EAAOrB,GAG/C,OADAqB,EAAQu5S,GAAev5S,IACfqvR,GAAQ1wR,EAAI,IAAMqB,EAAQ,IAAMA,CAC1C,IAAG4gC,KAAKyuP,EAAO,IAAM,IALH1+Q,CAMpB,CAaA,MAAM8oS,GAAaR,EAAMrB,aAAaqB,EAAO,CAAC,EAAG,MAAM,SAAgB7oL,GACrE,MAAO,WAAWlmG,KAAKkmG,EACzB,IA8JA,SArIA,SAAoBzhG,EAAKvpB,EAAUlC,GACjC,IAAK+1S,EAAM5wQ,SAAS1Z,GAClB,MAAM,IAAIq8E,UAAU,4BAItB5lG,EAAWA,GAAY,IAAyBy/I,SAYhD,MAAM60J,GATNx2S,EAAU+1S,EAAMrB,aAAa10S,EAAS,CACpCw2S,YAAY,EACZrqB,MAAM,EACN4P,SAAS,IACR,GAAO,SAAiB97R,EAAQg0G,GAEjC,OAAQ8hM,EAAMnmC,YAAY37J,EAAOh0G,GACnC,KAE2Bu2S,WAErBC,EAAUz2S,EAAQy2S,SAAWC,EAC7BvqB,EAAOnsR,EAAQmsR,KACf4P,EAAU/7R,EAAQ+7R,QAElB4a,GADQ32S,EAAQ8mP,MAAwB,oBAATA,MAAwBA,OACpCivD,EAAML,oBAAoBxzS,GAEnD,IAAK6zS,EAAMxkD,WAAWklD,GACpB,MAAM,IAAI3uM,UAAU,8BAGtB,SAAS8uM,EAAavsS,GACpB,GAAc,OAAVA,EAAgB,MAAO,GAE3B,GAAI0rS,EAAMnE,OAAOvnS,GACf,OAAOA,EAAM8vF,cAGf,IAAKw8M,GAAWZ,EAAMjE,OAAOznS,GAC3B,MAAM,IAAI,EAAW,gDAGvB,OAAI0rS,EAAMrE,cAAcrnS,IAAU0rS,EAAMtD,aAAapoS,GAC5CssS,GAA2B,mBAAT7vD,KAAsB,IAAIA,KAAK,CAACz8O,IAAUwsS,OAAOhhS,KAAKxL,GAG1EA,CACT,CAYA,SAASqsS,EAAersS,EAAOoD,EAAKs2C,GAClC,IAAIv4B,EAAMnhB,EAEV,GAAIA,IAAU05C,GAAyB,iBAAV15C,EAC3B,GAAI0rS,EAAM/4F,SAASvvM,EAAK,MAEtBA,EAAM+oS,EAAa/oS,EAAMA,EAAI8I,MAAM,GAAI,GAEvClM,EAAQ2zB,KAAKC,UAAU5zB,QAClB,GACJ0rS,EAAMj4Q,QAAQzzB,IAnGvB,SAAqBmhB,GACnB,OAAOuqR,EAAMj4Q,QAAQtS,KAASA,EAAI1E,KAAKsvR,EACzC,CAiGiCU,CAAYzsS,KACnC0rS,EAAMhE,WAAW1nS,IAAU0rS,EAAM/4F,SAASvvM,EAAK,SAAW+d,EAAMuqR,EAAMtvH,QAAQp8K,IAYhF,OATAoD,EAAM4oS,GAAe5oS,GAErB+d,EAAIppB,SAAQ,SAAc2pD,EAAIzpD,IAC1ByzS,EAAMnmC,YAAY7jN,IAAc,OAAPA,GAAgB7pD,EAASK,QAEtC,IAAZw5R,EAAmBua,GAAU,CAAC7oS,GAAMnL,EAAO6pR,GAAqB,OAAZ4P,EAAmBtuR,EAAMA,EAAM,KACnFmpS,EAAa7qP,GAEjB,KACO,EAIX,QAAIqqP,EAAY/rS,KAIhBnI,EAASK,OAAO+zS,GAAUvyP,EAAMt2C,EAAK0+Q,GAAOyqB,EAAavsS,KAElD,EACT,CAEA,MAAM8nD,EAAQ,GAER4kP,EAAiBr+R,OAAOC,OAAO49R,GAAY,CAC/CG,iBACAE,eACAR,gBAyBF,IAAKL,EAAM5wQ,SAAS1Z,GAClB,MAAM,IAAIq8E,UAAU,0BAKtB,OA5BA,SAASkvM,EAAM3sS,EAAO05C,GACpB,IAAIgyP,EAAMnmC,YAAYvlQ,GAAtB,CAEA,IAA8B,IAA1B8nD,EAAMx0B,QAAQtzB,GAChB,MAAM9J,MAAM,kCAAoCwjD,EAAKrmB,KAAK,MAG5Dy0B,EAAMhzD,KAAKkL,GAEX0rS,EAAM3zS,QAAQiI,GAAO,SAAc0hD,EAAIt+C,IAKtB,OAJEsoS,EAAMnmC,YAAY7jN,IAAc,OAAPA,IAAgB0qP,EAAQn+Q,KAChEp2B,EAAU6pD,EAAIgqP,EAAM3jM,SAAS3kG,GAAOA,EAAIivE,OAASjvE,EAAKs2C,EAAMgzP,KAI5DC,EAAMjrP,EAAIhI,EAAOA,EAAKvtC,OAAO/I,GAAO,CAACA,GAEzC,IAEA0kD,EAAM73B,KAlB8B,CAmBtC,CAMA08Q,CAAMvrR,GAECvpB,CACT,EC5MA,SAAS+0S,GAAOrjM,GACd,MAAMsjM,EAAU,CACd,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACL,MAAO,IACP,MAAO,MAET,OAAOhoL,mBAAmBtb,GAAKpyG,QAAQ,oBAAoB,SAAkBkR,GAC3E,OAAOwkS,EAAQxkS,EACjB,GACF,CAUA,SAASykS,GAAqBxiN,EAAQ30F,GACpCrE,KAAKy7S,OAAS,GAEdziN,GAAU,GAAWA,EAAQh5F,KAAMqE,EACrC,CAEA,MAAM,GAAYm3S,GAAqB5+Q,UAEvC,GAAUh2B,OAAS,SAAgB1C,EAAMwK,GACvC1O,KAAKy7S,OAAOj4S,KAAK,CAACU,EAAMwK,GAC1B,EAEA,GAAUqV,SAAW,SAAkB23R,GACrC,MAAMC,EAAUD,EAAU,SAAShtS,GACjC,OAAOgtS,EAAQ/+Q,KAAK38B,KAAM0O,EAAO4sS,GACnC,EAAIA,GAEJ,OAAOt7S,KAAKy7S,OAAO5pS,KAAI,SAAc2gI,GACnC,OAAOmpK,EAAQnpK,EAAK,IAAM,IAAMmpK,EAAQnpK,EAAK,GAC/C,GAAG,IAAIzwG,KAAK,IACd,EAEA,YC5CA,SAAS,GAAOmpC,GACd,OAAOqoD,mBAAmBroD,GACxBrlE,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,OAAQ,KAChBA,QAAQ,QAAS,KACjBA,QAAQ,QAAS,IACrB,CAWe,SAAS+1S,GAASp5S,EAAKw2F,EAAQ30F,GAE5C,IAAK20F,EACH,OAAOx2F,EAGT,MAAMm5S,EAAUt3S,GAAWA,EAAQi3S,QAAU,GAEvCO,EAAcx3S,GAAWA,EAAQy3S,UAEvC,IAAIC,EAUJ,GAPEA,EADEF,EACiBA,EAAY7iN,EAAQ30F,GAEpB+1S,EAAM/D,kBAAkBr9M,GACzCA,EAAOj1E,WACP,IAAI,GAAqBi1E,EAAQ30F,GAAS0f,SAAS43R,GAGnDI,EAAkB,CACpB,MAAMC,EAAgBx5S,EAAIw/B,QAAQ,MAEX,IAAnBg6Q,IACFx5S,EAAMA,EAAIoY,MAAM,EAAGohS,IAErBx5S,KAA8B,IAAtBA,EAAIw/B,QAAQ,KAAc,IAAM,KAAO+5Q,CACjD,CAEA,OAAOv5S,CACT,CCQA,SAlEA,MACE,WAAAqC,GACE7E,KAAK6oH,SAAW,EAClB,CAUA,GAAAozL,CAAIvI,EAAW1mD,EAAU3oP,GAOvB,OANArE,KAAK6oH,SAASrlH,KAAK,CACjBkwS,YACA1mD,WACAkvD,cAAa73S,GAAUA,EAAQ63S,YAC/BC,QAAS93S,EAAUA,EAAQ83S,QAAU,OAEhCn8S,KAAK6oH,SAASh/G,OAAS,CAChC,CASA,KAAAuyS,CAAMjoR,GACAn0B,KAAK6oH,SAAS10F,KAChBn0B,KAAK6oH,SAAS10F,GAAM,KAExB,CAOA,KAAAy/E,GACM5zG,KAAK6oH,WACP7oH,KAAK6oH,SAAW,GAEpB,CAYA,OAAApiH,CAAQukE,GACNovO,EAAM3zS,QAAQzG,KAAK6oH,UAAU,SAAwBt0B,GACzC,OAANA,GACFvpB,EAAGupB,EAEP,GACF,GCjEF,IACE8nN,mBAAmB,EACnBC,mBAAmB,EACnBC,qBAAqB,GCDvB,IACEvwG,WAAW,EACXv0F,QAAS,CACPv1G,gBCJsC,oBAApBA,gBAAkCA,gBAAkB,GDKtE8jJ,SEN+B,oBAAbA,SAA2BA,SAAW,KFOxDmlG,KGP2B,oBAATA,KAAuBA,KAAO,MHSlDqxD,UAAW,CAAC,OAAQ,QAAS,OAAQ,OAAQ,MAAO,SIXhDC,GAAkC,oBAAXt6S,QAA8C,oBAAbmO,SAExDshS,GAAkC,iBAAdz1O,WAA0BA,gBAAal4D,EAmB3Dy4S,GAAwBD,MAC1B7K,IAAc,CAAC,cAAe,eAAgB,MAAM5vQ,QAAQ4vQ,GAAW+K,SAAW,GAWhFC,GAE2B,oBAAtBC,mBAEP98S,gBAAgB88S,mBACc,mBAAvB98S,KAAK+8S,cAIVzjP,GAASojP,IAAiBt6S,OAAOC,SAASyQ,MAAQ,mBCvCxD,OACK,KACA,ICyFL,SA9CA,SAAwBtM,GACtB,SAASw2S,EAAU30P,EAAM15C,EAAOsB,EAAQrJ,GACtC,IAAIzC,EAAOkkD,EAAKzhD,KAEhB,GAAa,cAATzC,EAAsB,OAAO,EAEjC,MAAM84S,EAAepqR,OAAOu9K,UAAUjsM,GAChCymJ,EAAShkJ,GAASyhD,EAAKv+C,OAG7B,GAFA3F,GAAQA,GAAQk2S,EAAMj4Q,QAAQnyB,GAAUA,EAAOnG,OAAS3F,EAEpDymJ,EAOF,OANIyvJ,EAAMb,WAAWvpS,EAAQ9L,GAC3B8L,EAAO9L,GAAQ,CAAC8L,EAAO9L,GAAOwK,GAE9BsB,EAAO9L,GAAQwK,GAGTsuS,EAGLhtS,EAAO9L,IAAUk2S,EAAM5wQ,SAASx5B,EAAO9L,MAC1C8L,EAAO9L,GAAQ,IASjB,OANe64S,EAAU30P,EAAM15C,EAAOsB,EAAO9L,GAAOyC,IAEtCyzS,EAAMj4Q,QAAQnyB,EAAO9L,MACjC8L,EAAO9L,GA/Cb,SAAuB2rB,GACrB,MAAMC,EAAM,CAAC,EACPiO,EAAOhhB,OAAOghB,KAAKlO,GACzB,IAAI/vB,EACJ,MAAMq3G,EAAMp5E,EAAKl0B,OACjB,IAAIiI,EACJ,IAAKhS,EAAI,EAAGA,EAAIq3G,EAAKr3G,IACnBgS,EAAMisB,EAAKj+B,GACXgwB,EAAIhe,GAAO+d,EAAI/d,GAEjB,OAAOge,CACT,CAoCqBuiH,CAAcriI,EAAO9L,MAG9B84S,CACV,CAEA,GAAI5C,EAAMhC,WAAW7xS,IAAa6zS,EAAMxkD,WAAWrvP,EAASuB,SAAU,CACpE,MAAMgoB,EAAM,CAAC,EAMb,OAJAsqR,EAAMf,aAAa9yS,GAAU,CAACrC,EAAMwK,KAClCquS,EA1EN,SAAuB74S,GAKrB,OAAOk2S,EAAMd,SAAS,gBAAiBp1S,GAAM2N,KAAIkF,GAC3B,OAAbA,EAAM,GAAc,GAAKA,EAAM,IAAMA,EAAM,IAEtD,CAkEgBkmS,CAAc/4S,GAAOwK,EAAOohB,EAAK,EAAE,IAGxCA,CACT,CAEA,OAAO,IACT,ECzDA,MAAMotR,GAAW,CAEfC,aAAc,GAEdC,QAAS,CAAC,MAAO,OAAQ,SAEzBC,iBAAkB,CAAC,SAA0Bx8S,EAAMkB,GACjD,MAAMg3O,EAAch3O,EAAQu7S,kBAAoB,GAC1CC,EAAqBxkE,EAAY/2M,QAAQ,qBAAuB,EAChEw7Q,EAAkBpD,EAAM5wQ,SAAS3oC,GAEnC28S,GAAmBpD,EAAMpD,WAAWn2S,KACtCA,EAAO,IAAImlJ,SAASnlJ,IAKtB,GAFmBu5S,EAAMhC,WAAWv3S,GAGlC,OAAO08S,EAAqBl7Q,KAAKC,UAAU,GAAezhC,IAASA,EAGrE,GAAIu5S,EAAMrE,cAAcl1S,IACtBu5S,EAAMjC,SAASt3S,IACfu5S,EAAM9B,SAASz3S,IACfu5S,EAAMlE,OAAOr1S,IACbu5S,EAAMjE,OAAOt1S,IACbu5S,EAAM9D,iBAAiBz1S,GAEvB,OAAOA,EAET,GAAIu5S,EAAM/uD,kBAAkBxqP,GAC1B,OAAOA,EAAKg/H,OAEd,GAAIu6K,EAAM/D,kBAAkBx1S,GAE1B,OADAkB,EAAQ07S,eAAe,mDAAmD,GACnE58S,EAAKkjB,WAGd,IAAIqyR,EAEJ,GAAIoH,EAAiB,CACnB,GAAIzkE,EAAY/2M,QAAQ,sCAAwC,EAC9D,OCvEO,SAA0BnhC,EAAMwD,GAC7C,OAAO,GAAWxD,EAAM,IAAI+jI,GAASntB,QAAQv1G,gBAAmB6a,OAAOC,OAAO,CAC5E89R,QAAS,SAASpsS,EAAOoD,EAAKs2C,EAAMs1P,GAClC,OAAI94K,GAAS+4K,QAAUvD,EAAMjC,SAASzpS,IACpC1O,KAAK4G,OAAOkL,EAAKpD,EAAMqV,SAAS,YACzB,GAGF25R,EAAQ3C,eAAet6O,MAAMzgE,KAAMwrC,UAC5C,GACCnnC,GACL,CD4Deu5S,CAAiB/8S,EAAMb,KAAK69S,gBAAgB95R,WAGrD,IAAKqyR,EAAagE,EAAMhE,WAAWv1S,KAAUk4O,EAAY/2M,QAAQ,wBAA0B,EAAG,CAC5F,MAAM87Q,EAAY99S,KAAKwU,KAAOxU,KAAKwU,IAAIwxI,SAEvC,OAAO,GACLowJ,EAAa,CAAC,UAAWv1S,GAAQA,EACjCi9S,GAAa,IAAIA,EACjB99S,KAAK69S,eAET,CACF,CAEA,OAAIL,GAAmBD,GACrBx7S,EAAQ07S,eAAe,oBAAoB,GAxEjD,SAAyBh/B,EAAU/0O,EAAQgyQ,GACzC,GAAItB,EAAM3jM,SAASgoK,GACjB,IAEE,OADC/0O,GAAUrH,KAAKb,OAAOi9O,GAChB27B,EAAMr5N,KAAK09L,EACpB,CAAE,MAAO5uQ,GACP,GAAe,gBAAXA,EAAE3L,KACJ,MAAM2L,CAEV,CAGF,OAAQ6rS,GAAWr5Q,KAAKC,WAAWm8O,EACrC,CA4Das/B,CAAgBl9S,IAGlBA,CACT,GAEAm9S,kBAAmB,CAAC,SAA2Bn9S,GAC7C,MAAMs8S,EAAen9S,KAAKm9S,cAAgBD,GAASC,aAC7Cb,EAAoBa,GAAgBA,EAAab,kBACjD2B,EAAsC,SAAtBj+S,KAAKquP,aAE3B,GAAI+rD,EAAM5D,WAAW31S,IAASu5S,EAAM9D,iBAAiBz1S,GACnD,OAAOA,EAGT,GAAIA,GAAQu5S,EAAM3jM,SAAS51G,KAAWy7S,IAAsBt8S,KAAKquP,cAAiB4vD,GAAgB,CAChG,MACMC,IADoBf,GAAgBA,EAAad,oBACP4B,EAEhD,IACE,OAAO57Q,KAAKb,MAAM3gC,EACpB,CAAE,MAAOgP,GACP,GAAIquS,EAAmB,CACrB,GAAe,gBAAXruS,EAAE3L,KACJ,MAAM,EAAWgW,KAAKrK,EAAG,EAAWsuS,iBAAkBn+S,KAAM,KAAMA,KAAKqD,UAEzE,MAAMwM,CACR,CACF,CACF,CAEA,OAAOhP,CACT,GAMAiB,QAAS,EAETs8S,eAAgB,aAChBC,eAAgB,eAEhBC,kBAAmB,EACnBC,eAAgB,EAEhB/pS,IAAK,CACHwxI,SAAUphB,GAASntB,QAAQuuC,SAC3BmlG,KAAMvmH,GAASntB,QAAQ0zI,MAGzBqzD,eAAgB,SAAwBp3S,GACtC,OAAOA,GAAU,KAAOA,EAAS,GACnC,EAEArF,QAAS,CACP08S,OAAQ,CACN,OAAU,oCACV,oBAAgBx6S,KAKtBm2S,EAAM3zS,QAAQ,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,UAAWmgH,IAChEs2L,GAASn7S,QAAQ6kH,GAAU,CAAC,CAAC,IAG/B,YE1JM83L,GAAoBtE,EAAMX,YAAY,CAC1C,MAAO,gBAAiB,iBAAkB,eAAgB,OAC1D,UAAW,OAAQ,OAAQ,oBAAqB,sBAChD,gBAAiB,WAAY,eAAgB,sBAC7C,UAAW,cAAe,eCLtBkF,GAAazzD,OAAO,aAE1B,SAAS0zD,GAAgB17M,GACvB,OAAOA,GAAU7+E,OAAO6+E,GAAQniB,OAAOp2E,aACzC,CAEA,SAAS8gP,GAAe/8O,GACtB,OAAc,IAAVA,GAA4B,MAATA,EACdA,EAGF0rS,EAAMj4Q,QAAQzzB,GAASA,EAAMmD,IAAI45O,IAAkBpnO,OAAO3V,EACnE,CAgBA,SAASmwS,GAAiB9+Q,EAASrxB,EAAOw0F,EAAQz4F,EAAQq0S,GACxD,OAAI1E,EAAMxkD,WAAWnrP,GACZA,EAAOkyB,KAAK38B,KAAM0O,EAAOw0F,IAG9B47M,IACFpwS,EAAQw0F,GAGLk3M,EAAM3jM,SAAS/nG,GAEhB0rS,EAAM3jM,SAAShsG,IACiB,IAA3BiE,EAAMszB,QAAQv3B,GAGnB2vS,EAAMnD,SAASxsS,GACVA,EAAO4gB,KAAK3c,QADrB,OANA,EASF,CAsBA,MAAMqwS,GACJ,WAAAl6S,CAAY9C,GACVA,GAAW/B,KAAKuoE,IAAIxmE,EACtB,CAEA,GAAAwmE,CAAI26B,EAAQ87M,EAAgBC,GAC1B,MAAMl/S,EAAOC,KAEb,SAASk/S,EAAUngM,EAAQ6hG,EAASu+F,GAClC,MAAMC,EAAUR,GAAgBh+F,GAEhC,IAAKw+F,EACH,MAAM,IAAIx6S,MAAM,0CAGlB,MAAMkN,EAAMsoS,EAAMzD,QAAQ52S,EAAMq/S,KAE5BttS,QAAqB7N,IAAdlE,EAAK+R,KAAmC,IAAbqtS,QAAmCl7S,IAAbk7S,IAAwC,IAAdp/S,EAAK+R,MACzF/R,EAAK+R,GAAO8uM,GAAW6qC,GAAe1sI,GAE1C,CAEA,MAAMsgM,EAAa,CAACt9S,EAASo9S,IAC3B/E,EAAM3zS,QAAQ1E,GAAS,CAACg9G,EAAQ6hG,IAAYs+F,EAAUngM,EAAQ6hG,EAASu+F,KAEzE,GAAI/E,EAAMruO,cAAcm3B,IAAWA,aAAkBljG,KAAK6E,YACxDw6S,EAAWn8M,EAAQ87M,QACd,GAAG5E,EAAM3jM,SAASvT,KAAYA,EAASA,EAAOniB,UArEtB,iCAAiC11D,KAqEmB63E,EArEVniB,QAsEvEs+N,ED1EN,CAAevxD,IACb,MAAMtmC,EAAS,CAAC,EAChB,IAAI11M,EACAo5D,EACAprE,EAsBJ,OApBAguP,GAAcA,EAAWroP,MAAM,MAAMgB,SAAQ,SAAgBuvC,GAC3Dl2C,EAAIk2C,EAAKhU,QAAQ,KACjBlwB,EAAMkkC,EAAKuoD,UAAU,EAAGz+F,GAAGihF,OAAOp2E,cAClCugE,EAAMl1B,EAAKuoD,UAAUz+F,EAAI,GAAGihF,QAEvBjvE,GAAQ01M,EAAO11M,IAAQ4sS,GAAkB5sS,KAIlC,eAARA,EACE01M,EAAO11M,GACT01M,EAAO11M,GAAKtO,KAAK0nE,GAEjBs8I,EAAO11M,GAAO,CAACo5D,GAGjBs8I,EAAO11M,GAAO01M,EAAO11M,GAAO01M,EAAO11M,GAAO,KAAOo5D,EAAMA,EAE3D,IAEOs8I,CACR,EC+CgB83F,CAAap8M,GAAS87M,QAC5B,GAAI5E,EAAM3D,UAAUvzM,GACzB,IAAK,MAAOpxF,EAAKpD,KAAUw0F,EAAOp7F,UAChCo3S,EAAUxwS,EAAOoD,EAAKmtS,QAGd,MAAV/7M,GAAkBg8M,EAAUF,EAAgB97M,EAAQ+7M,GAGtD,OAAOj/S,IACT,CAEA,GAAAU,CAAIwiG,EAAQx5D,GAGV,GAFAw5D,EAAS07M,GAAgB17M,GAEb,CACV,MAAMpxF,EAAMsoS,EAAMzD,QAAQ32S,KAAMkjG,GAEhC,GAAIpxF,EAAK,CACP,MAAMpD,EAAQ1O,KAAK8R,GAEnB,IAAK43B,EACH,OAAOh7B,EAGT,IAAe,IAAXg7B,EACF,OA5GV,SAAqBuuE,GACnB,MAAM9vD,EAASprC,OAAO8f,OAAO,MACvB0iR,EAAW,mCACjB,IAAIxoS,EAEJ,KAAQA,EAAQwoS,EAASlwL,KAAKpX,IAC5B9vD,EAAOpxC,EAAM,IAAMA,EAAM,GAG3B,OAAOoxC,CACT,CAkGiBq3P,CAAY9wS,GAGrB,GAAI0rS,EAAMxkD,WAAWlsN,GACnB,OAAOA,EAAO/M,KAAK38B,KAAM0O,EAAOoD,GAGlC,GAAIsoS,EAAMnD,SAASvtQ,GACjB,OAAOA,EAAO2lF,KAAK3gH,GAGrB,MAAM,IAAIy9F,UAAU,yCACtB,CACF,CACF,CAEA,GAAA4hB,CAAI7qB,EAAQu8M,GAGV,GAFAv8M,EAAS07M,GAAgB17M,GAEb,CACV,MAAMpxF,EAAMsoS,EAAMzD,QAAQ32S,KAAMkjG,GAEhC,SAAUpxF,QAAqB7N,IAAdjE,KAAK8R,IAAwB2tS,IAAWZ,GAAiB7+S,EAAMA,KAAK8R,GAAMA,EAAK2tS,GAClG,CAEA,OAAO,CACT,CAEA,OAAOv8M,EAAQu8M,GACb,MAAM1/S,EAAOC,KACb,IAAI0/S,GAAU,EAEd,SAASC,EAAa/+F,GAGpB,GAFAA,EAAUg+F,GAAgBh+F,GAEb,CACX,MAAM9uM,EAAMsoS,EAAMzD,QAAQ52S,EAAM6gN,IAE5B9uM,GAAS2tS,IAAWZ,GAAiB9+S,EAAMA,EAAK+R,GAAMA,EAAK2tS,YACtD1/S,EAAK+R,GAEZ4tS,GAAU,EAEd,CACF,CAQA,OANItF,EAAMj4Q,QAAQ+gE,GAChBA,EAAOz8F,QAAQk5S,GAEfA,EAAaz8M,GAGRw8M,CACT,CAEA,KAAA9rM,CAAM6rM,GACJ,MAAM1hR,EAAOhhB,OAAOghB,KAAK/9B,MACzB,IAAIF,EAAIi+B,EAAKl0B,OACT61S,GAAU,EAEd,KAAO5/S,KAAK,CACV,MAAMgS,EAAMisB,EAAKj+B,GACb2/S,IAAWZ,GAAiB7+S,EAAMA,KAAK8R,GAAMA,EAAK2tS,GAAS,YACtDz/S,KAAK8R,GACZ4tS,GAAU,EAEd,CAEA,OAAOA,CACT,CAEA,SAAAxyL,CAAUluF,GACR,MAAMj/B,EAAOC,KACP+B,EAAU,CAAC,EAsBjB,OApBAq4S,EAAM3zS,QAAQzG,MAAM,CAAC0O,EAAOw0F,KAC1B,MAAMpxF,EAAMsoS,EAAMzD,QAAQ50S,EAASmhG,GAEnC,GAAIpxF,EAGF,OAFA/R,EAAK+R,GAAO25O,GAAe/8O,eACpB3O,EAAKmjG,GAId,MAAMsqB,EAAaxuF,EA9JzB,SAAsBkkE,GACpB,OAAOA,EAAOniB,OACXp2E,cAAc9E,QAAQ,mBAAmB,CAACkjN,EAAGxmL,EAAM01E,IAC3C11E,EAAK5nB,cAAgBs9F,GAElC,CAyJkC2nM,CAAa18M,GAAU7+E,OAAO6+E,GAAQniB,OAE9DysC,IAAetqB,UACVnjG,EAAKmjG,GAGdnjG,EAAKytH,GAAci+H,GAAe/8O,GAElC3M,EAAQyrH,IAAc,CAAI,IAGrBxtH,IACT,CAEA,MAAA6a,IAAUglS,GACR,OAAO7/S,KAAK6E,YAAYgW,OAAO7a,QAAS6/S,EAC1C,CAEA,MAAAv7L,CAAOw7L,GACL,MAAMhwR,EAAM/S,OAAO8f,OAAO,MAM1B,OAJAu9Q,EAAM3zS,QAAQzG,MAAM,CAAC0O,EAAOw0F,KACjB,MAATx0F,IAA2B,IAAVA,IAAoBohB,EAAIozE,GAAU48M,GAAa1F,EAAMj4Q,QAAQzzB,GAASA,EAAMqzB,KAAK,MAAQrzB,EAAM,IAG3GohB,CACT,CAEA,CAACo7N,OAAOS,YACN,OAAO5uO,OAAOjV,QAAQ9H,KAAKskH,UAAU4mI,OAAOS,WAC9C,CAEA,QAAA5nO,GACE,OAAOhH,OAAOjV,QAAQ9H,KAAKskH,UAAUzyG,KAAI,EAAEqxF,EAAQx0F,KAAWw0F,EAAS,KAAOx0F,IAAOqzB,KAAK,KAC5F,CAEA,IAAKmpN,OAAO8qD,eACV,MAAO,cACT,CAEA,WAAO97R,CAAK07R,GACV,OAAOA,aAAiB51S,KAAO41S,EAAQ,IAAI51S,KAAK41S,EAClD,CAEA,aAAO/6R,CAAOy8H,KAAUuoK,GACtB,MAAME,EAAW,IAAI//S,KAAKs3I,GAI1B,OAFAuoK,EAAQp5S,SAASuJ,GAAW+vS,EAASx3O,IAAIv4D,KAElC+vS,CACT,CAEA,eAAOC,CAAS98M,GACd,MAIM+8M,GAJYjgT,KAAK2+S,IAAe3+S,KAAK2+S,IAAc,CACvDsB,UAAW,CAAC,IAGcA,UACtBrjR,EAAY58B,KAAK48B,UAEvB,SAASsjR,EAAet/F,GACtB,MAAMw+F,EAAUR,GAAgBh+F,GAE3Bq/F,EAAUb,MAtNrB,SAAwBtvR,EAAKozE,GAC3B,MAAMi9M,EAAe/F,EAAMT,YAAY,IAAMz2M,GAE7C,CAAC,MAAO,MAAO,OAAOz8F,SAAQqhR,IAC5B/qQ,OAAOwvD,eAAez8C,EAAKg4P,EAAaq4B,EAAc,CACpDzxS,MAAO,SAAS0xS,EAAMC,EAAMC,GAC1B,OAAOtgT,KAAK8nR,GAAYnrP,KAAK38B,KAAMkjG,EAAQk9M,EAAMC,EAAMC,EACzD,EACAznM,cAAc,GACd,GAEN,CA4MQ0nM,CAAe3jR,EAAWgkL,GAC1Bq/F,EAAUb,IAAW,EAEzB,CAIA,OAFAhF,EAAMj4Q,QAAQ+gE,GAAUA,EAAOz8F,QAAQy5S,GAAkBA,EAAeh9M,GAEjEljG,IACT,EAGF++S,GAAaiB,SAAS,CAAC,eAAgB,iBAAkB,SAAU,kBAAmB,aAAc,kBAGpG5F,EAAMlD,kBAAkB6H,GAAaniR,WAAW,EAAEluB,SAAQoD,KACxD,IAAI0uS,EAAS1uS,EAAI,GAAG6I,cAAgB7I,EAAI8I,MAAM,GAC9C,MAAO,CACLla,IAAK,IAAMgO,EACX,GAAA65D,CAAIk4O,GACFzgT,KAAKwgT,GAAUC,CACjB,EACF,IAGFrG,EAAMZ,cAAcuF,IAEpB,YC/Re,SAAS2B,GAAcC,EAAKt9S,GACzC,MAAMgW,EAASrZ,MAAQ,GACjB+/B,EAAU18B,GAAYgW,EACtBtX,EAAU,GAAamY,KAAK6lB,EAAQh+B,SAC1C,IAAIlB,EAAOk/B,EAAQl/B,KAQnB,OANAu5S,EAAM3zS,QAAQk6S,GAAK,SAAmB31O,GACpCnqE,EAAOmqE,EAAGruC,KAAKtjB,EAAQxY,EAAMkB,EAAQmrH,YAAa7pH,EAAWA,EAAS+D,YAASnD,EACjF,IAEAlC,EAAQmrH,YAEDrsH,CACT,CCzBe,SAAS+/S,GAASlyS,GAC/B,SAAUA,IAASA,EAAMmyS,WAC3B,CCUA,SAASC,GAAch8S,EAASuU,EAAQy+G,GAEtC,EAAWn7F,KAAK38B,KAAiB,MAAX8E,EAAkB,WAAaA,EAAS,EAAWi8S,aAAc1nS,EAAQy+G,GAC/F93H,KAAKkE,KAAO,eACd,CAEAk2S,EAAMvB,SAASiI,GAAe,EAAY,CACxCD,YAAY,IAGd,YCXe,SAASG,GAAO/kP,EAASC,EAAQ74D,GAC9C,MAAMm7S,EAAiBn7S,EAASgW,OAAOmlS,eAClCn7S,EAAS+D,QAAWo3S,IAAkBA,EAAen7S,EAAS+D,QAGjE80D,EAAO,IAAI,EACT,mCAAqC74D,EAAS+D,OAC9C,CAAC,EAAW65S,gBAAiB,EAAW9C,kBAAkBv5Q,KAAKiwB,MAAMxxD,EAAS+D,OAAS,KAAO,GAC9F/D,EAASgW,OACThW,EAASy0H,QACTz0H,IAPF44D,EAAQ54D,EAUZ,CC4BA,SA9CA,SAAqB69S,EAAcloS,GACjCkoS,EAAeA,GAAgB,GAC/B,MAAMx5D,EAAQ,IAAIxlN,MAAMg/Q,GAClBC,EAAa,IAAIj/Q,MAAMg/Q,GAC7B,IAEIE,EAFAhoO,EAAO,EACPioO,EAAO,EAKX,OAFAroS,OAAc/U,IAAR+U,EAAoBA,EAAM,IAEzB,SAAcsoS,GACnB,MAAMvpP,EAAMhkB,KAAKgkB,MAEXwpP,EAAYJ,EAAWE,GAExBD,IACHA,EAAgBrpP,GAGlB2vL,EAAMtuK,GAAQkoO,EACdH,EAAW/nO,GAAQrhB,EAEnB,IAAIj4D,EAAIuhT,EACJG,EAAa,EAEjB,KAAO1hT,IAAMs5E,GACXooO,GAAc95D,EAAM5nP,KACpBA,GAAQohT,EASV,GANA9nO,GAAQA,EAAO,GAAK8nO,EAEhB9nO,IAASioO,IACXA,GAAQA,EAAO,GAAKH,GAGlBnpP,EAAMqpP,EAAgBpoS,EACxB,OAGF,MAAMyoS,EAASF,GAAaxpP,EAAMwpP,EAElC,OAAOE,EAAS78Q,KAAK41B,MAAmB,IAAbgnP,EAAoBC,QAAUx9S,CAC3D,CACF,ECTA,SArCA,SAAkB+mE,EAAI02O,GACpB,IAEIh2M,EACA4qD,EAHAv9D,EAAY,EACZ+9D,EAAY,IAAO4qJ,EAIvB,MAAMC,EAAS,CAACthR,EAAM03B,EAAMhkB,KAAKgkB,SAC/BghC,EAAYhhC,EACZ2zC,EAAW,KACP4qD,IACFnpF,aAAampF,GACbA,EAAQ,MAEVtrF,EAAGvK,MAAM,KAAMpgC,EAAK,EAqBtB,MAAO,CAlBW,IAAIA,KACpB,MAAM03B,EAAMhkB,KAAKgkB,MACX0pP,EAAS1pP,EAAMghC,EAChB0oN,GAAU3qJ,EACb6qJ,EAAOthR,EAAM03B,IAEb2zC,EAAWrrE,EACNi2H,IACHA,EAAQ5lJ,YAAW,KACjB4lJ,EAAQ,KACRqrJ,EAAOj2M,EAAQ,GACdorD,EAAY2qJ,IAEnB,EAGY,IAAM/1M,GAAYi2M,EAAOj2M,GAGzC,ECrCak2M,GAAuB,CAACnzP,EAAUozP,EAAkBH,EAAO,KACtE,IAAII,EAAgB,EACpB,MAAMC,EAAe,GAAY,GAAI,KAErC,OAAO,IAASlyS,IACd,MAAMi+E,EAASj+E,EAAEi+E,OACXk0N,EAAQnyS,EAAEoyS,iBAAmBpyS,EAAEmyS,WAAQ/9S,EACvCi+S,EAAgBp0N,EAASg0N,EACzB1iL,EAAO2iL,EAAaG,GAG1BJ,EAAgBh0N,EAchBr/B,EAZa,CACXq/B,SACAk0N,QACAr2F,SAAUq2F,EAASl0N,EAASk0N,OAAS/9S,EACrCyjP,MAAOw6D,EACP9iL,KAAMA,QAAcn7H,EACpBk+S,UAAW/iL,GAAQ4iL,GAVLl0N,GAAUk0N,GAUeA,EAAQl0N,GAAUsxC,OAAOn7H,EAChEwN,MAAO5B,EACPoyS,iBAA2B,MAATD,EAClB,CAACH,EAAmB,WAAa,WAAW,GAGhC,GACbH,EAAK,EAGGU,GAAyB,CAACJ,EAAOK,KAC5C,MAAMJ,EAA4B,MAATD,EAEzB,MAAO,CAAEl0N,GAAWu0N,EAAU,GAAG,CAC/BJ,mBACAD,QACAl0N,WACEu0N,EAAU,GAAG,EAGNC,GAAkBt3O,GAAO,IAAI3qC,IAAS+5Q,EAAMpC,MAAK,IAAMhtO,KAAM3qC,KCtC1E,GAAeukG,GAAS83K,sBAItB,WACE,MAAM6F,EAAO39K,GAASzoE,WAAa,kBAAkB9wC,KAAKu5G,GAASzoE,UAAUqP,WACvEg3O,EAAiBlyS,SAASuwD,cAAc,KAC9C,IAAI4hP,EAQJ,SAASC,EAAWlgT,GAClB,IAAIqQ,EAAOrQ,EAWX,OATI+/S,IAEFC,EAAe7/R,aAAa,OAAQ9P,GACpCA,EAAO2vS,EAAe3vS,MAGxB2vS,EAAe7/R,aAAa,OAAQ9P,GAG7B,CACLA,KAAM2vS,EAAe3vS,KACrB2oG,SAAUgnM,EAAehnM,SAAWgnM,EAAehnM,SAAS31G,QAAQ,KAAM,IAAM,GAChF01G,KAAMinM,EAAejnM,KACrBl5G,OAAQmgT,EAAengT,OAASmgT,EAAengT,OAAOwD,QAAQ,MAAO,IAAM,GAC3E88S,KAAMH,EAAeG,KAAOH,EAAeG,KAAK98S,QAAQ,KAAM,IAAM,GACpE0qI,SAAUiyK,EAAejyK,SACzB1e,KAAM2wL,EAAe3wL,KACrBz4E,SAAiD,MAAtCopQ,EAAeppQ,SAAS1+B,OAAO,GACxC8nS,EAAeppQ,SACf,IAAMopQ,EAAeppQ,SAE3B,CAUA,OARAqpQ,EAAYC,EAAWvgT,OAAOC,SAASyQ,MAQhC,SAAyB+vS,GAC9B,MAAMp7F,EAAU4yF,EAAM3jM,SAASmsM,GAAeF,EAAWE,GAAcA,EACvE,OAAQp7F,EAAOhsG,WAAainM,EAAUjnM,UAClCgsG,EAAOjsG,OAASknM,EAAUlnM,IAChC,CACD,CAlDD,GAsDS,WACL,OAAO,CACT,EC9DJ,GAAeqpB,GAAS83K,sBAGtB,CACE,KAAAmG,CAAM3+S,EAAMwK,EAAOo0S,EAAS16P,EAAMhnD,EAAQ2hT,GACxC,MAAMC,EAAS,CAAC9+S,EAAO,IAAMqvH,mBAAmB7kH,IAEhD0rS,EAAMhvO,SAAS03O,IAAYE,EAAOx/S,KAAK,WAAa,IAAIuwC,KAAK+uQ,GAASG,eAEtE7I,EAAM3jM,SAASruD,IAAS46P,EAAOx/S,KAAK,QAAU4kD,GAE9CgyP,EAAM3jM,SAASr1G,IAAW4hT,EAAOx/S,KAAK,UAAYpC,IAEvC,IAAX2hT,GAAmBC,EAAOx/S,KAAK,UAE/B8M,SAAS0yS,OAASA,EAAOjhR,KAAK,KAChC,EAEA,IAAAmhR,CAAKh/S,GACH,MAAM6S,EAAQzG,SAAS0yS,OAAOjsS,MAAM,IAAIqnB,OAAO,aAAel6B,EAAO,cACrE,OAAQ6S,EAAQ0qM,mBAAmB1qM,EAAM,IAAM,IACjD,EAEA,MAAA+oH,CAAO57H,GACLlE,KAAK6iT,MAAM3+S,EAAM,GAAI6vC,KAAKgkB,MAAQ,MACpC,GAMF,CACE,KAAA8qP,GAAS,EACTK,KAAI,IACK,KAET,MAAApjL,GAAU,GCxBC,SAASqjL,GAAcC,EAASC,GAC7C,OAAID,ICHG,8BAA8B/3R,KDGPg4R,GENjB,SAAqBD,EAASE,GAC3C,OAAOA,EACHF,EAAQv9S,QAAQ,SAAU,IAAM,IAAMy9S,EAAYz9S,QAAQ,OAAQ,IAClEu9S,CACN,CFGWG,CAAYH,EAASC,GAEvBA,CACT,CGfA,MAAMG,GAAmB5N,GAAUA,aAAiB,GAAe,IAAKA,GAAUA,EAWnE,SAAS6N,GAAYC,EAASC,GAE3CA,EAAUA,GAAW,CAAC,EACtB,MAAMtqS,EAAS,CAAC,EAEhB,SAASuqS,EAAe5zS,EAAQsoG,EAAQmgM,GACtC,OAAI2B,EAAMruO,cAAc/7D,IAAWoqS,EAAMruO,cAAcusC,GAC9C8hM,EAAM5B,MAAM77Q,KAAK,CAAC87Q,YAAWzoS,EAAQsoG,GACnC8hM,EAAMruO,cAAcusC,GACtB8hM,EAAM5B,MAAM,CAAC,EAAGlgM,GACd8hM,EAAMj4Q,QAAQm2E,GAChBA,EAAO19F,QAET09F,CACT,CAGA,SAASurM,EAAoBhkT,EAAG2wB,EAAGioR,GACjC,OAAK2B,EAAMnmC,YAAYzjP,GAEX4pR,EAAMnmC,YAAYp0Q,QAAvB,EACE+jT,OAAe3/S,EAAWpE,EAAG44S,GAF7BmL,EAAe/jT,EAAG2wB,EAAGioR,EAIhC,CAGA,SAASqL,EAAiBjkT,EAAG2wB,GAC3B,IAAK4pR,EAAMnmC,YAAYzjP,GACrB,OAAOozR,OAAe3/S,EAAWusB,EAErC,CAGA,SAASuzR,EAAiBlkT,EAAG2wB,GAC3B,OAAK4pR,EAAMnmC,YAAYzjP,GAEX4pR,EAAMnmC,YAAYp0Q,QAAvB,EACE+jT,OAAe3/S,EAAWpE,GAF1B+jT,OAAe3/S,EAAWusB,EAIrC,CAGA,SAASwzR,EAAgBnkT,EAAG2wB,EAAG+gG,GAC7B,OAAIA,KAAQoyL,EACHC,EAAe/jT,EAAG2wB,GAChB+gG,KAAQmyL,EACVE,OAAe3/S,EAAWpE,QAD5B,CAGT,CAEA,MAAMokT,EAAW,CACfzhT,IAAKshT,EACLl9L,OAAQk9L,EACRjjT,KAAMijT,EACNV,QAASW,EACT1G,iBAAkB0G,EAClB/F,kBAAmB+F,EACnBG,iBAAkBH,EAClBjiT,QAASiiT,EACTI,eAAgBJ,EAChB31D,gBAAiB21D,EACjBK,cAAeL,EACf3G,QAAS2G,EACT11D,aAAc01D,EACd3F,eAAgB2F,EAChB1F,eAAgB0F,EAChBM,iBAAkBN,EAClBO,mBAAoBP,EACpBQ,WAAYR,EACZzF,iBAAkByF,EAClBxF,cAAewF,EACfS,eAAgBT,EAChB5mL,UAAW4mL,EACXU,UAAWV,EACXW,WAAYX,EACZY,YAAaZ,EACba,WAAYb,EACZc,iBAAkBd,EAClBvF,eAAgBwF,EAChBjiT,QAAS,CAAClC,EAAG2wB,IAAMqzR,EAAoBL,GAAgB3jT,GAAI2jT,GAAgBhzR,IAAI,IASjF,OANA4pR,EAAM3zS,QAAQsW,OAAOghB,KAAKhhB,OAAOC,OAAO,CAAC,EAAG0mS,EAASC,KAAW,SAA4BpyL,GAC1F,MAAMinL,EAAQyL,EAAS1yL,IAASsyL,EAC1BiB,EAActM,EAAMkL,EAAQnyL,GAAOoyL,EAAQpyL,GAAOA,GACvD6oL,EAAMnmC,YAAY6wC,IAAgBtM,IAAUwL,IAAqB3qS,EAAOk4G,GAAQuzL,EACnF,IAEOzrS,CACT,CChGA,SAAgBA,IACd,MAAM0rS,EAAYtB,GAAY,CAAC,EAAGpqS,GAElC,IAaI0/N,GAbA,KAACl4O,EAAI,cAAEujT,EAAa,eAAE/F,EAAc,eAAED,EAAc,QAAEr8S,EAAO,KAAEijT,GAAQD,EAe3E,GAbAA,EAAUhjT,QAAUA,EAAU,GAAamY,KAAKnY,GAEhDgjT,EAAUviT,IAAMo5S,GAASuH,GAAc4B,EAAU3B,QAAS2B,EAAUviT,KAAM6W,EAAO2/E,OAAQ3/E,EAAO6qS,kBAG5Fc,GACFjjT,EAAQwmE,IAAI,gBAAiB,SAC3B08O,MAAMD,EAAK5gM,UAAY,IAAM,KAAO4gM,EAAKE,SAAWv9D,SAASp0H,mBAAmByxL,EAAKE,WAAa,MAMlG9K,EAAMhC,WAAWv3S,GACnB,GAAI+jI,GAAS83K,uBAAyB93K,GAASg4K,+BAC7C76S,EAAQ07S,oBAAex5S,QAClB,IAAiD,KAA5C80O,EAAch3O,EAAQu7S,kBAA6B,CAE7D,MAAO94S,KAAS2jD,GAAU4wL,EAAcA,EAAYtzO,MAAM,KAAKoM,KAAI1Q,GAASA,EAAM4/E,SAAQt2E,OAAOosG,SAAW,GAC5G90G,EAAQ07S,eAAe,CAACj5S,GAAQ,yBAA0B2jD,GAAQpmB,KAAK,MACzE,CAOF,GAAI6iG,GAAS83K,wBACX0H,GAAiBhK,EAAMxkD,WAAWwuD,KAAmBA,EAAgBA,EAAcW,IAE/EX,IAAoC,IAAlBA,GAA2Be,GAAgBJ,EAAUviT,MAAO,CAEhF,MAAM4iT,EAAY/G,GAAkBD,GAAkBiH,GAAQnC,KAAK9E,GAE/DgH,GACFrjT,EAAQwmE,IAAI81O,EAAgB+G,EAEhC,CAGF,OAAOL,CACR,EC1CD,GAFwD,oBAAnBj7L,gBAEG,SAAUzwG,GAChD,OAAO,IAAI2iD,SAAQ,SAA4BC,EAASC,GACtD,MAAMopP,EAAUC,GAAclsS,GAC9B,IAAImsS,EAAcF,EAAQzkT,KAC1B,MAAM4kT,EAAiB,GAAavrS,KAAKorS,EAAQvjT,SAASmrH,YAC1D,IACIw4L,EACAC,EAAiBC,EACjBC,EAAaC,GAHb,aAACz3D,EAAY,iBAAEg2D,EAAgB,mBAAEC,GAAsBgB,EAK3D,SAASzrQ,IACPgsQ,GAAeA,IACfC,GAAiBA,IAEjBR,EAAQX,aAAeW,EAAQX,YAAYz/B,YAAYwgC,GAEvDJ,EAAQ9hI,QAAU8hI,EAAQ9hI,OAAOhzK,oBAAoB,QAASk1S,EAChE,CAEA,IAAI5tL,EAAU,IAAIhO,eAOlB,SAASi8L,IACP,IAAKjuL,EACH,OAGF,MAAMkuL,EAAkB,GAAa9rS,KACnC,0BAA2B49G,GAAWA,EAAQi2H,yBAahDizD,IAAO,SAAkBtyS,GACvButD,EAAQvtD,GACRmrC,GACF,IAAG,SAAiB3xC,GAClBg0D,EAAOh0D,GACP2xC,GACF,GAfiB,CACfh5C,KAHoBwtP,GAAiC,SAAjBA,GAA4C,SAAjBA,EACxCv2H,EAAQz0H,SAA/By0H,EAAQm2H,aAGR7mP,OAAQ0wH,EAAQ1wH,OAChBi9H,WAAYvM,EAAQuM,WACpBtiI,QAASikT,EACT3sS,SACAy+G,YAYFA,EAAU,IACZ,CAlCAA,EAAQkM,KAAKshL,EAAQ1+L,OAAOjsG,cAAe2qS,EAAQ9iT,KAAK,GAGxDs1H,EAAQh2H,QAAUwjT,EAAQxjT,QAiCtB,cAAeg2H,EAEjBA,EAAQiuL,UAAYA,EAGpBjuL,EAAQrN,mBAAqB,WACtBqN,GAAkC,IAAvBA,EAAQzN,aAQD,IAAnByN,EAAQ1wH,QAAkB0wH,EAAQk2H,aAAwD,IAAzCl2H,EAAQk2H,YAAYhsN,QAAQ,WAKjFtxB,WAAWq1S,EACb,EAIFjuL,EAAQq2H,QAAU,WACXr2H,IAIL57D,EAAO,IAAI,EAAW,kBAAmB,EAAW+pP,aAAc5sS,EAAQy+G,IAG1EA,EAAU,KACZ,EAGAA,EAAQ3L,QAAU,WAGhBjwD,EAAO,IAAI,EAAW,gBAAiB,EAAWgqP,YAAa7sS,EAAQy+G,IAGvEA,EAAU,IACZ,EAGAA,EAAQo2H,UAAY,WAClB,IAAIi4D,EAAsBb,EAAQxjT,QAAU,cAAgBwjT,EAAQxjT,QAAU,cAAgB,mBAC9F,MAAMq7S,EAAemI,EAAQnI,cAAgB,GACzCmI,EAAQa,sBACVA,EAAsBb,EAAQa,qBAEhCjqP,EAAO,IAAI,EACTiqP,EACAhJ,EAAaZ,oBAAsB,EAAW6J,UAAY,EAAWH,aACrE5sS,EACAy+G,IAGFA,EAAU,IACZ,OAGgB7zH,IAAhBuhT,GAA6BC,EAAehI,eAAe,MAGvD,qBAAsB3lL,GACxBsiL,EAAM3zS,QAAQg/S,EAAenhM,UAAU,SAA0Bp5C,EAAKp5D,GACpEgmH,EAAQmM,iBAAiBnyH,EAAKo5D,EAChC,IAIGkvO,EAAMnmC,YAAYqxC,EAAQl3D,mBAC7Bt2H,EAAQs2H,kBAAoBk3D,EAAQl3D,iBAIlCC,GAAiC,SAAjBA,IAClBv2H,EAAQu2H,aAAei3D,EAAQj3D,cAI7Bi2D,KACAsB,EAAmBE,GAAiBlE,GAAqB0C,GAAoB,GAC/ExsL,EAAQvnH,iBAAiB,WAAYq1S,IAInCvB,GAAoBvsL,EAAQuuL,UAC5BV,EAAiBE,GAAejE,GAAqByC,GAEvDvsL,EAAQuuL,OAAO91S,iBAAiB,WAAYo1S,GAE5C7tL,EAAQuuL,OAAO91S,iBAAiB,UAAWs1S,KAGzCP,EAAQX,aAAeW,EAAQ9hI,UAGjCkiI,EAAa/4O,IACNmrD,IAGL57D,GAAQyQ,GAAUA,EAAOnoE,KAAO,IAAI,GAAc,KAAM6U,EAAQy+G,GAAWnrD,GAC3EmrD,EAAQ+1H,QACR/1H,EAAU,KAAI,EAGhBwtL,EAAQX,aAAeW,EAAQX,YAAY9nQ,UAAU6oQ,GACjDJ,EAAQ9hI,SACV8hI,EAAQ9hI,OAAOmqE,QAAU+3D,IAAeJ,EAAQ9hI,OAAOjzK,iBAAiB,QAASm1S,KAIrF,MAAMlqM,ECvLK,SAAuBh5G,GACpC,MAAMuU,EAAQ,4BAA4Bs4G,KAAK7sH,GAC/C,OAAOuU,GAASA,EAAM,IAAM,EAC9B,CDoLqBuvS,CAAchB,EAAQ9iT,KAEnCg5G,IAAsD,IAA1CopB,GAAS43K,UAAUx6Q,QAAQw5E,GACzCt/C,EAAO,IAAI,EAAW,wBAA0Bs/C,EAAW,IAAK,EAAWylM,gBAAiB5nS,IAM9Fy+G,EAAQ4H,KAAK8lL,GAAe,KAC9B,GACF,EErJA,GA3CuB,CAACe,EAASzkT,KAC/B,MAAM,OAAC+H,GAAW08S,EAAUA,EAAUA,EAAQ97S,OAAOosG,SAAW,GAEhE,GAAI/0G,GAAW+H,EAAQ,CACrB,IAEI8jP,EAFAo+C,EAAa,IAAIya,gBAIrB,MAAMr4D,EAAU,SAAU3vI,GACxB,IAAKmvI,EAAS,CACZA,GAAU,EACVu3B,IACA,MAAMh9Q,EAAMs2G,aAAkB55G,MAAQ45G,EAASx+G,KAAKw+G,OACpDutL,EAAWl+C,MAAM3lP,aAAe,EAAaA,EAAM,IAAI,GAAcA,aAAetD,MAAQsD,EAAIpD,QAAUoD,GAC5G,CACF,EAEA,IAAIouJ,EAAQx0J,GAAW4O,YAAW,KAChC4lJ,EAAQ,KACR63F,EAAQ,IAAI,EAAW,WAAWrsP,mBAA0B,EAAWskT,WAAU,GAChFtkT,GAEH,MAAMojR,EAAc,KACdqhC,IACFjwJ,GAASnpF,aAAampF,GACtBA,EAAQ,KACRiwJ,EAAQ9/S,SAAQ+8K,IACdA,EAAO0hG,YAAc1hG,EAAO0hG,YAAY/2B,GAAW3qE,EAAOhzK,oBAAoB,QAAS29O,EAAQ,IAEjGo4D,EAAU,KACZ,EAGFA,EAAQ9/S,SAAS+8K,GAAWA,EAAOjzK,iBAAiB,QAAS49O,KAE7D,MAAM,OAAC3qE,GAAUuoH,EAIjB,OAFAvoH,EAAO0hG,YAAc,IAAMk1B,EAAMpC,KAAK9yB,GAE/B1hG,CACT,GC3CWijI,GAAc,UAAWC,EAAOC,GAC3C,IAAIxvM,EAAMuvM,EAAMp6D,WAEhB,IAAKq6D,GAAaxvM,EAAMwvM,EAEtB,kBADMD,GAIR,IACIrpK,EADAupK,EAAM,EAGV,KAAOA,EAAMzvM,GACXkmC,EAAMupK,EAAMD,QACND,EAAM9rS,MAAMgsS,EAAKvpK,GACvBupK,EAAMvpK,CAEV,EAQMwpK,GAAaxmT,gBAAiBymT,GAClC,GAAIA,EAAO57D,OAAO67D,eAEhB,kBADOD,GAIT,MAAM96D,EAAS86D,EAAOE,YACtB,IACE,OAAS,CACP,MAAM,KAACntQ,EAAI,MAAEnrC,SAAes9O,EAAOk3D,OACnC,GAAIrpQ,EACF,YAEInrC,CACR,CACF,CAAE,cACMs9O,EAAOr/K,QACf,CACF,EAEas6O,GAAc,CAACH,EAAQH,EAAWO,EAAYC,KACzD,MAAMx7D,EA3BiBtrP,gBAAiB+mT,EAAUT,GAClD,UAAW,MAAMD,KAASG,GAAWO,SAC5BX,GAAYC,EAAOC,EAE9B,CAuBmBU,CAAUP,EAAQH,GAEnC,IACI9sQ,EADA6tM,EAAQ,EAER4/D,EAAaz3S,IACVgqC,IACHA,GAAO,EACPstQ,GAAYA,EAASt3S,GACvB,EAGF,OAAO,IAAI03S,eAAe,CACxB,UAAMC,CAAKzb,GACT,IACE,MAAM,KAAClyP,EAAI,MAAEnrC,SAAei9O,EAAS7uM,OAErC,GAAIjD,EAGF,OAFDytQ,SACCvb,EAAWn5R,QAIb,IAAIukG,EAAMzoG,EAAM49O,WAChB,GAAI46D,EAAY,CACd,IAAIO,EAAc//D,GAASvwI,EAC3B+vM,EAAWO,EACb,CACA1b,EAAW2b,QAAQ,IAAI9/D,WAAWl5O,GACpC,CAAE,MAAOxG,GAEP,MADAo/S,EAAUp/S,GACJA,CACR,CACF,EACAykE,OAAO6xC,IACL8oM,EAAU9oM,GACHmtI,EAASg8D,WAEjB,CACDC,cAAe,GAChB,EC3EGC,GAAoC,mBAAVp/S,OAA2C,mBAAZ8/G,SAA8C,mBAAbC,SAC1Fs/L,GAA4BD,IAA8C,mBAAnBN,eAGvDQ,GAAaF,KAA4C,mBAAhBG,aACzCtM,GAA0C,IAAIsM,YAAjC/vM,GAAQyjM,GAAQJ,OAAOrjM,IACtC53G,MAAO43G,GAAQ,IAAI2vI,iBAAiB,IAAIp/H,SAASvQ,GAAKg1I,gBADtD,IAAEyuD,GAIN,MAAMrwR,GAAO,CAAC2/C,KAAO3qC,KACnB,IACE,QAAS2qC,KAAM3qC,EACjB,CAAE,MAAOxwB,GACP,OAAO,CACT,GAGIo4S,GAAwBH,IAA6Bz8R,IAAK,KAC9D,IAAI68R,GAAiB,EAErB,MAAMC,EAAiB,IAAI5/L,QAAQqc,GAASvrE,OAAQ,CAClDt6C,KAAM,IAAIwoS,eACV3gM,OAAQ,OACR,UAAIwhM,GAEF,OADAF,GAAiB,EACV,MACT,IACCnmT,QAAQgsH,IAAI,gBAEf,OAAOm6L,IAAmBC,CAAc,IAKpCE,GAAyBP,IAC7Bz8R,IAAK,IAAM+uR,EAAM9D,iBAAiB,IAAI9tL,SAAS,IAAIzpG,QAG/CupS,GAAY,CAChBxB,OAAQuB,IAA0B,CAAE79S,GAAQA,EAAIuU,OAG7B,IAAEvU,GAAvBq9S,KAAuBr9S,GAOpB,IAAIg+G,SANL,CAAC,OAAQ,cAAe,OAAQ,WAAY,UAAU/hH,SAAQjC,KAC3D8jT,GAAU9jT,KAAU8jT,GAAU9jT,GAAQ41S,EAAMxkD,WAAWprP,GAAIhG,IAAUgG,GAAQA,EAAIhG,KAChF,CAACygC,EAAG5rB,KACF,MAAM,IAAI,EAAW,kBAAkB7U,sBAA0B,EAAW+jT,gBAAiBlvS,EAAO,EACrG,KAIP,MA8BMmvS,GAAoBnoT,MAAO0B,EAASgd,KACxC,MAAMlV,EAASuwS,EAAMR,eAAe73S,EAAQ0mT,oBAE5C,OAAiB,MAAV5+S,EAjCaxJ,OAAO0e,IAC3B,GAAY,MAARA,EACF,OAAO,EAGT,GAAGq7R,EAAMjE,OAAOp3R,GACd,OAAOA,EAAKzM,KAGd,GAAG8nS,EAAML,oBAAoBh7R,GAAO,CAClC,MAAM2pS,EAAW,IAAIngM,QAAQqc,GAASvrE,OAAQ,CAC5CutD,OAAQ,OACR7nG,SAEF,aAAc2pS,EAASz7D,eAAeX,UACxC,CAEA,OAAG8tD,EAAM/uD,kBAAkBtsO,IAASq7R,EAAMrE,cAAch3R,GAC/CA,EAAKutO,YAGX8tD,EAAM/D,kBAAkBt3R,KACzBA,GAAc,IAGbq7R,EAAM3jM,SAAS13F,UACFgpS,GAAWhpS,IAAOutO,gBADlC,EAEA,EAMwBq8D,CAAc5pS,GAAQlV,CAAM,ECxFhD++S,GAAgB,CACpBC,KCNF,KDOE7+L,IAAKA,GACLvhH,MDwFao/S,IAAoB,OAAQxuS,IACzC,IAAI,IACF7W,EAAG,OACHokH,EAAM,KACN/lH,EAAI,OACJ2iL,EAAM,YACNmhI,EAAW,QACX7iT,EAAO,mBACPwiT,EAAkB,iBAClBD,EAAgB,aAChBh2D,EAAY,QACZtsP,EAAO,gBACPqsP,EAAkB,cAAa,aAC/B06D,GACEvD,GAAclsS,GAElBg1O,EAAeA,GAAgBA,EAAe,IAAI1jP,cAAgB,OAElE,IAEImtH,EAFAixL,EAAiB,GAAe,CAACvlI,EAAQmhI,GAAeA,EAAYqE,iBAAkBlnT,GAI1F,MAAMojR,EAAc6jC,GAAkBA,EAAe7jC,aAAe,MAChE6jC,EAAe7jC,aAClB,GAED,IAAI+jC,EAEJ,IACE,GACE5E,GAAoB4D,IAAoC,QAAXrhM,GAA+B,SAAXA,GACG,KAAnEqiM,QAA6BT,GAAkBzmT,EAASlB,IACzD,CACA,IAMIqoT,EANAR,EAAW,IAAIngM,QAAQ/lH,EAAK,CAC9BokH,OAAQ,OACR7nG,KAAMle,EACNunT,OAAQ,SASV,GAJIhO,EAAMhC,WAAWv3S,KAAUqoT,EAAoBR,EAAS3mT,QAAQrB,IAAI,kBACtEqB,EAAQ07S,eAAeyL,GAGrBR,EAAS3pS,KAAM,CACjB,MAAOmoS,EAAYh6M,GAASk1M,GAC1B6G,EACArH,GAAqBU,GAAe+B,KAGtCxjT,EAAOomT,GAAYyB,EAAS3pS,KA1GT,MA0GmCmoS,EAAYh6M,EACpE,CACF,CAEKktM,EAAM3jM,SAAS23I,KAClBA,EAAkBA,EAAkB,UAAY,QAKlD,MAAM+6D,EAAyB,gBAAiB5gM,QAAQ3rF,UACxDk7F,EAAU,IAAIvP,QAAQ/lH,EAAK,IACtBsmT,EACHtlI,OAAQulI,EACRniM,OAAQA,EAAOjsG,cACf5Y,QAASA,EAAQmrH,YAAY5I,SAC7BvlG,KAAMle,EACNunT,OAAQ,OACRpmL,YAAamnL,EAAyB/6D,OAAkBnqP,IAG1D,IAAIZ,QAAiBoF,MAAMqvH,GAE3B,MAAMsxL,EAAmBf,KAA4C,WAAjBh6D,GAA8C,aAAjBA,GAEjF,GAAIg6D,KAA2B/D,GAAuB8E,GAAoBlkC,GAAe,CACvF,MAAM7gR,EAAU,CAAC,EAEjB,CAAC,SAAU,aAAc,WAAWoC,SAAQ8qH,IAC1CltH,EAAQktH,GAAQluH,EAASkuH,EAAK,IAGhC,MAAM83L,EAAwBjP,EAAMR,eAAev2S,EAAStB,QAAQrB,IAAI,oBAEjEwmT,EAAYh6M,GAASo3M,GAAsBlC,GAChDiH,EACAzH,GAAqBU,GAAegC,IAAqB,KACtD,GAELjhT,EAAW,IAAImlH,SACby+L,GAAY5jT,EAAS0b,KAlJF,MAkJ4BmoS,GAAY,KACzDh6M,GAASA,IACTg4K,GAAeA,GAAa,IAE9B7gR,EAEJ,CAEAgqP,EAAeA,GAAgB,OAE/B,IAAIzjB,QAAqB09E,GAAUlO,EAAMzD,QAAQ2R,GAAWj6D,IAAiB,QAAQhrP,EAAUgW,GAI/F,OAFC+vS,GAAoBlkC,GAAeA,UAEvB,IAAIlpN,SAAQ,CAACC,EAASC,KACjC8kP,GAAO/kP,EAASC,EAAQ,CACtBr7D,KAAM+pO,EACN7oO,QAAS,GAAamY,KAAK7W,EAAStB,SACpCqF,OAAQ/D,EAAS+D,OACjBi9H,WAAYhhI,EAASghI,WACrBhrH,SACAy+G,WACD,GAEL,CAAE,MAAO5vH,GAGP,GAFAg9Q,GAAeA,IAEXh9Q,GAAoB,cAAbA,EAAIhE,MAAwB,SAASmnB,KAAKnjB,EAAIpD,SACvD,MAAMiY,OAAOC,OACX,IAAI,EAAW,gBAAiB,EAAWkpS,YAAa7sS,EAAQy+G,GAChE,CACE0iL,MAAOtyS,EAAIsyS,OAAStyS,IAK1B,MAAM,EAAWgS,KAAKhS,EAAKA,GAAOA,EAAInE,KAAMsV,EAAQy+G,EACtD,CACD,ICtNDsiL,EAAM3zS,QAAQmiT,IAAe,CAAC59O,EAAIt8D,KAChC,GAAIs8D,EAAI,CACN,IACEjuD,OAAOwvD,eAAevB,EAAI,OAAQ,CAACt8D,SACrC,CAAE,MAAOmB,GAET,CACAkN,OAAOwvD,eAAevB,EAAI,cAAe,CAACt8D,SAC5C,KAGF,MAAM46S,GAAgB9qM,GAAW,KAAKA,IAEhC+qM,GAAoBnM,GAAYhD,EAAMxkD,WAAWwnD,IAAwB,OAAZA,IAAgC,IAAZA,EAEvF,GACeoM,IACXA,EAAWpP,EAAMj4Q,QAAQqnR,GAAYA,EAAW,CAACA,GAEjD,MAAM,OAAC3/S,GAAU2/S,EACjB,IAAIC,EACArM,EAEJ,MAAMsM,EAAkB,CAAC,EAEzB,IAAK,IAAI5pT,EAAI,EAAGA,EAAI+J,EAAQ/J,IAAK,CAE/B,IAAIq0B,EAIJ,GALAs1R,EAAgBD,EAAS1pT,GAGzBs9S,EAAUqM,GAELF,GAAiBE,KACpBrM,EAAUwL,IAAez0R,EAAK9P,OAAOolS,IAAgB9+S,oBAErC1G,IAAZm5S,GACF,MAAM,IAAI,EAAW,oBAAoBjpR,MAI7C,GAAIipR,EACF,MAGFsM,EAAgBv1R,GAAM,IAAMr0B,GAAKs9S,CACnC,CAEA,IAAKA,EAAS,CAEZ,MAAMuM,EAAU5sS,OAAOjV,QAAQ4hT,GAC5B73S,KAAI,EAAEsiB,EAAI1kB,KAAW,WAAW0kB,OACpB,IAAV1kB,EAAkB,sCAAwC,mCAG/D,IAAIilD,EAAI7qD,EACL8/S,EAAQ9/S,OAAS,EAAI,YAAc8/S,EAAQ93S,IAAIy3S,IAAcvnR,KAAK,MAAQ,IAAMunR,GAAaK,EAAQ,IACtG,0BAEF,MAAM,IAAI,EACR,wDAA0Dj1P,EAC1D,kBAEJ,CAEA,OAAO0oP,CAAO,EE3DlB,SAASwM,GAA6BvwS,GAKpC,GAJIA,EAAOsrS,aACTtrS,EAAOsrS,YAAYkF,mBAGjBxwS,EAAOmqK,QAAUnqK,EAAOmqK,OAAOmqE,QACjC,MAAM,IAAI,GAAc,KAAMt0O,EAElC,CASe,SAASywS,GAAgBzwS,GACtCuwS,GAA6BvwS,GAE7BA,EAAOtX,QAAU,GAAamY,KAAKb,EAAOtX,SAG1CsX,EAAOxY,KAAO6/S,GAAc/jR,KAC1BtjB,EACAA,EAAOgkS,mBAGgD,IAArD,CAAC,OAAQ,MAAO,SAASr7Q,QAAQ3oB,EAAOutG,SAC1CvtG,EAAOtX,QAAQ07S,eAAe,qCAAqC,GAKrE,OAFgB+L,GAAoBnwS,EAAO+jS,SAAW,GAASA,QAExDA,CAAQ/jS,GAAQ3Q,MAAK,SAA6BrF,GAYvD,OAXAumT,GAA6BvwS,GAG7BhW,EAASxC,KAAO6/S,GAAc/jR,KAC5BtjB,EACAA,EAAO2kS,kBACP36S,GAGFA,EAAStB,QAAU,GAAamY,KAAK7W,EAAStB,SAEvCsB,CACT,IAAG,SAA4Bm7G,GAe7B,OAdKoiM,GAASpiM,KACZorM,GAA6BvwS,GAGzBmlG,GAAUA,EAAOn7G,WACnBm7G,EAAOn7G,SAASxC,KAAO6/S,GAAc/jR,KACnCtjB,EACAA,EAAO2kS,kBACPx/L,EAAOn7G,UAETm7G,EAAOn7G,SAAStB,QAAU,GAAamY,KAAKskG,EAAOn7G,SAAStB,WAIzDi6D,QAAQE,OAAOsiD,EACxB,GACF,CChFO,MAAMuwL,GAAU,QCKjBgb,GAAa,CAAC,EAGpB,CAAC,SAAU,UAAW,SAAU,WAAY,SAAU,UAAUtjT,SAAQ,CAACjC,EAAM1E,KAC7EiqT,GAAWvlT,GAAQ,SAAmBoxS,GACpC,cAAcA,IAAUpxS,GAAQ,KAAO1E,EAAI,EAAI,KAAO,KAAO0E,CAC/D,CAAC,IAGH,MAAMwlT,GAAqB,CAAC,EAW5BD,GAAW5M,aAAe,SAAsB8M,EAAWl3O,EAASjuE,GAClE,SAASolT,EAAcn9R,EAAKwuH,GAC1B,MAAO,uCAAoDxuH,EAAM,IAAOwuH,GAAQz2I,EAAU,KAAOA,EAAU,GAC7G,CAGA,MAAO,CAAC4J,EAAOqe,EAAKo9R,KAClB,IAAkB,IAAdF,EACF,MAAM,IAAI,EACRC,EAAcn9R,EAAK,qBAAuBgmD,EAAU,OAASA,EAAU,KACvE,EAAWq3O,gBAef,OAXIr3O,IAAYi3O,GAAmBj9R,KACjCi9R,GAAmBj9R,IAAO,EAE1B/rB,QAAQ2lE,KACNujP,EACEn9R,EACA,+BAAiCgmD,EAAU,8CAK1Ck3O,GAAYA,EAAUv7S,EAAOqe,EAAKo9R,EAAY,CAEzD,EAmCA,UACEE,cAxBF,SAAuBhmT,EAASimT,EAAQC,GACtC,GAAuB,iBAAZlmT,EACT,MAAM,IAAI,EAAW,4BAA6B,EAAWmmT,sBAE/D,MAAMzsR,EAAOhhB,OAAOghB,KAAK15B,GACzB,IAAIvE,EAAIi+B,EAAKl0B,OACb,KAAO/J,KAAM,GAAG,CACd,MAAMitB,EAAMgR,EAAKj+B,GACXmqT,EAAYK,EAAOv9R,GACzB,GAAIk9R,EAAJ,CACE,MAAMv7S,EAAQrK,EAAQ0oB,GAChBmD,OAAmBjsB,IAAVyK,GAAuBu7S,EAAUv7S,EAAOqe,EAAK1oB,GAC5D,IAAe,IAAX6rB,EACF,MAAM,IAAI,EAAW,UAAYnD,EAAM,YAAcmD,EAAQ,EAAWs6R,qBAG5E,MACA,IAAqB,IAAjBD,EACF,MAAM,IAAI,EAAW,kBAAoBx9R,EAAK,EAAW09R,eAE7D,CACF,EAIEV,eC9EI,GAAaE,GAAUF,WAS7B,MAAM9hT,GACJ,WAAApD,CAAY6lT,GACV1qT,KAAKk9S,SAAWwN,EAChB1qT,KAAK2qT,aAAe,CAClB7yL,QAAS,IAAI,GACbz0H,SAAU,IAAI,GAElB,CAUA,aAAMy0H,CAAQ8yL,EAAavxS,GACzB,IACE,aAAarZ,KAAK0oT,SAASkC,EAAavxS,EAC1C,CAAE,MAAOnR,GACP,GAAIA,aAAetD,MAAO,CACxB,IAAIimT,EAEJjmT,MAAMu1S,kBAAoBv1S,MAAMu1S,kBAAkB0Q,EAAQ,CAAC,GAAMA,EAAQ,IAAIjmT,MAG7E,MAAM4xD,EAAQq0P,EAAMr0P,MAAQq0P,EAAMr0P,MAAM3wD,QAAQ,QAAS,IAAM,GAC/D,IACOqC,EAAIsuD,MAGEA,IAAUnyC,OAAOnc,EAAIsuD,OAAO6qJ,SAAS7qJ,EAAM3wD,QAAQ,YAAa,OACzEqC,EAAIsuD,OAAS,KAAOA,GAHpBtuD,EAAIsuD,MAAQA,CAKhB,CAAE,MAAO3mD,GAET,CACF,CAEA,MAAM3H,CACR,CACF,CAEA,QAAAwgT,CAASkC,EAAavxS,GAGO,iBAAhBuxS,GACTvxS,EAASA,GAAU,CAAC,GACb7W,IAAMooT,EAEbvxS,EAASuxS,GAAe,CAAC,EAG3BvxS,EAASoqS,GAAYzjT,KAAKk9S,SAAU7jS,GAEpC,MAAM,aAAC8jS,EAAY,iBAAE+G,EAAgB,QAAEniT,GAAWsX,OAE7BpV,IAAjBk5S,GACF8M,GAAUI,cAAclN,EAAc,CACpCd,kBAAmB,GAAWc,aAAa,GAAW2N,SACtDxO,kBAAmB,GAAWa,aAAa,GAAW2N,SACtDvO,oBAAqB,GAAWY,aAAa,GAAW2N,WACvD,GAGmB,MAApB5G,IACE9J,EAAMxkD,WAAWsuD,GACnB7qS,EAAO6qS,iBAAmB,CACxBpI,UAAWoI,GAGb+F,GAAUI,cAAcnG,EAAkB,CACxC5I,OAAQ,GAAWtzL,SACnB8zL,UAAW,GAAW9zL,WACrB,IAKP3uG,EAAOutG,QAAUvtG,EAAOutG,QAAU5mH,KAAKk9S,SAASt2L,QAAU,OAAOj8G,cAGjE,IAAIogT,EAAiBhpT,GAAWq4S,EAAM5B,MACpCz2S,EAAQ08S,OACR18S,EAAQsX,EAAOutG,SAGjB7kH,GAAWq4S,EAAM3zS,QACf,CAAC,SAAU,MAAO,OAAQ,OAAQ,MAAO,QAAS,WACjDmgH,WACQ7kH,EAAQ6kH,EAAO,IAI1BvtG,EAAOtX,QAAU,GAAa8Y,OAAOkwS,EAAgBhpT,GAGrD,MAAMipT,EAA0B,GAChC,IAAIC,GAAiC,EACrCjrT,KAAK2qT,aAAa7yL,QAAQrxH,SAAQ,SAAoCykT,GACjC,mBAAxBA,EAAY/O,UAA0D,IAAhC+O,EAAY/O,QAAQ9iS,KAIrE4xS,EAAiCA,GAAkCC,EAAYhP,YAE/E8O,EAAwBl3M,QAAQo3M,EAAYxX,UAAWwX,EAAYl+D,UACrE,IAEA,MAAMm+D,EAA2B,GAKjC,IAAIxtL,EAJJ39H,KAAK2qT,aAAatnT,SAASoD,SAAQ,SAAkCykT,GACnEC,EAAyB3nT,KAAK0nT,EAAYxX,UAAWwX,EAAYl+D,SACnE,IAGA,IACI71I,EADAr3G,EAAI,EAGR,IAAKmrT,EAAgC,CACnC,MAAMG,EAAQ,CAACtB,GAAgB1gM,KAAKppH,WAAOiE,GAO3C,IANAmnT,EAAMt3M,QAAQrzC,MAAM2qP,EAAOJ,GAC3BI,EAAM5nT,KAAKi9D,MAAM2qP,EAAOD,GACxBh0M,EAAMi0M,EAAMvhT,OAEZ8zH,EAAU3hE,QAAQC,QAAQ5iD,GAEnBvZ,EAAIq3G,GACTwmB,EAAUA,EAAQj1H,KAAK0iT,EAAMtrT,KAAMsrT,EAAMtrT,MAG3C,OAAO69H,CACT,CAEAxmB,EAAM6zM,EAAwBnhT,OAE9B,IAAIk7S,EAAY1rS,EAIhB,IAFAvZ,EAAI,EAEGA,EAAIq3G,GAAK,CACd,MAAMk0M,EAAcL,EAAwBlrT,KACtCwrT,EAAaN,EAAwBlrT,KAC3C,IACEilT,EAAYsG,EAAYtG,EAC1B,CAAE,MAAO9jT,GACPqqT,EAAW3uR,KAAK38B,KAAMiB,GACtB,KACF,CACF,CAEA,IACE08H,EAAUmsL,GAAgBntR,KAAK38B,KAAM+kT,EACvC,CAAE,MAAO9jT,GACP,OAAO+6D,QAAQE,OAAOj7D,EACxB,CAKA,IAHAnB,EAAI,EACJq3G,EAAMg0M,EAAyBthT,OAExB/J,EAAIq3G,GACTwmB,EAAUA,EAAQj1H,KAAKyiT,EAAyBrrT,KAAMqrT,EAAyBrrT,MAGjF,OAAO69H,CACT,CAEA,MAAA4tL,CAAOlyS,GAGL,OAAOuiS,GADUuH,IADjB9pS,EAASoqS,GAAYzjT,KAAKk9S,SAAU7jS,IACE+pS,QAAS/pS,EAAO7W,KAC5B6W,EAAO2/E,OAAQ3/E,EAAO6qS,iBAClD,EAIF9J,EAAM3zS,QAAQ,CAAC,SAAU,MAAO,OAAQ,YAAY,SAA6BmgH,GAE/E3+G,GAAM20B,UAAUgqF,GAAU,SAASpkH,EAAK6W,GACtC,OAAOrZ,KAAK83H,QAAQ2rL,GAAYpqS,GAAU,CAAC,EAAG,CAC5CutG,SACApkH,MACA3B,MAAOwY,GAAU,CAAC,GAAGxY,OAEzB,CACF,IAEAu5S,EAAM3zS,QAAQ,CAAC,OAAQ,MAAO,UAAU,SAA+BmgH,GAGrE,SAAS4kM,EAAmBC,GAC1B,OAAO,SAAoBjpT,EAAK3B,EAAMwY,GACpC,OAAOrZ,KAAK83H,QAAQ2rL,GAAYpqS,GAAU,CAAC,EAAG,CAC5CutG,SACA7kH,QAAS0pT,EAAS,CAChB,eAAgB,uBACd,CAAC,EACLjpT,MACA3B,SAEJ,CACF,CAEAoH,GAAM20B,UAAUgqF,GAAU4kM,IAE1BvjT,GAAM20B,UAAUgqF,EAAS,QAAU4kM,GAAmB,EACxD,IAEA,YCxNA,MAAME,GACJ,WAAA7mT,CAAY45G,GACV,GAAwB,mBAAbA,EACT,MAAM,IAAItS,UAAU,gCAGtB,IAAIw/M,EAEJ3rT,KAAK29H,QAAU,IAAI3hE,SAAQ,SAAyBC,GAClD0vP,EAAiB1vP,CACnB,IAEA,MAAM96D,EAAQnB,KAGdA,KAAK29H,QAAQj1H,MAAKikE,IAChB,IAAKxrE,EAAMyqT,WAAY,OAEvB,IAAI9rT,EAAIqB,EAAMyqT,WAAW/hT,OAEzB,KAAO/J,KAAM,GACXqB,EAAMyqT,WAAW9rT,GAAG6sE,GAEtBxrE,EAAMyqT,WAAa,IAAI,IAIzB5rT,KAAK29H,QAAQj1H,KAAOy2G,IAClB,IAAIP,EAEJ,MAAM+e,EAAU,IAAI3hE,SAAQC,IAC1B96D,EAAM07C,UAAUof,GAChB2iD,EAAW3iD,CAAO,IACjBvzD,KAAKy2G,GAMR,OAJAwe,EAAQhxD,OAAS,WACfxrE,EAAM+jR,YAAYtmK,EACpB,EAEO+e,CAAO,EAGhBlf,GAAS,SAAgB35G,EAASuU,EAAQy+G,GACpC32H,EAAMq9G,SAKVr9G,EAAMq9G,OAAS,IAAI,GAAc15G,EAASuU,EAAQy+G,GAClD6zL,EAAexqT,EAAMq9G,QACvB,GACF,CAKA,gBAAAqrM,GACE,GAAI7pT,KAAKw+G,OACP,MAAMx+G,KAAKw+G,MAEf,CAMA,SAAA3hE,CAAU4R,GACJzuD,KAAKw+G,OACP/vD,EAASzuD,KAAKw+G,QAIZx+G,KAAK4rT,WACP5rT,KAAK4rT,WAAWpoT,KAAKirD,GAErBzuD,KAAK4rT,WAAa,CAACn9P,EAEvB,CAMA,WAAAy2N,CAAYz2N,GACV,IAAKzuD,KAAK4rT,WACR,OAEF,MAAMjlT,EAAQ3G,KAAK4rT,WAAW5pR,QAAQysB,IACvB,IAAX9nD,GACF3G,KAAK4rT,WAAW5xO,OAAOrzE,EAAO,EAElC,CAEA,aAAAqiT,GACE,MAAMjd,EAAa,IAAIya,gBAEjB34D,EAAS3lP,IACb6jS,EAAWl+C,MAAM3lP,EAAI,EAOvB,OAJAlI,KAAK68C,UAAUgxM,GAEfk+C,EAAWvoH,OAAO0hG,YAAc,IAAMllR,KAAKklR,YAAYr3B,GAEhDk+C,EAAWvoH,MACpB,CAMA,aAAOlrE,GACL,IAAI3rC,EAIJ,MAAO,CACLxrE,MAJY,IAAIuqT,IAAY,SAAkB5gS,GAC9C6hD,EAAS7hD,CACX,IAGE6hD,SAEJ,EAGF,YCtIA,MAAMk/O,GAAiB,CACrBC,SAAU,IACVC,mBAAoB,IACpBC,WAAY,IACZC,WAAY,IACZC,GAAI,IACJC,QAAS,IACTC,SAAU,IACVC,4BAA6B,IAC7BC,UAAW,IACXC,aAAc,IACdC,eAAgB,IAChBC,YAAa,IACbC,gBAAiB,IACjBC,OAAQ,IACRC,gBAAiB,IACjBC,iBAAkB,IAClBC,MAAO,IACPC,SAAU,IACVC,YAAa,IACbC,SAAU,IACVC,OAAQ,IACRC,kBAAmB,IACnBC,kBAAmB,IACnBC,WAAY,IACZC,aAAc,IACdC,gBAAiB,IACjBC,UAAW,IACXC,SAAU,IACVC,iBAAkB,IAClBC,cAAe,IACfC,4BAA6B,IAC7BC,eAAgB,IAChBC,SAAU,IACVC,KAAM,IACNC,eAAgB,IAChBC,mBAAoB,IACpBC,gBAAiB,IACjBC,WAAY,IACZC,qBAAsB,IACtBC,oBAAqB,IACrBC,kBAAmB,IACnBC,UAAW,IACXC,mBAAoB,IACpBC,oBAAqB,IACrBC,OAAQ,IACRC,iBAAkB,IAClBC,SAAU,IACVC,gBAAiB,IACjBC,qBAAsB,IACtBC,gBAAiB,IACjBC,4BAA6B,IAC7BC,2BAA4B,IAC5BC,oBAAqB,IACrBC,eAAgB,IAChBC,WAAY,IACZC,mBAAoB,IACpBC,eAAgB,IAChBC,wBAAyB,IACzBC,sBAAuB,IACvBC,oBAAqB,IACrBC,aAAc,IACdC,YAAa,IACbC,8BAA+B,KAGjC7yS,OAAOjV,QAAQ+jT,IAAgBplT,SAAQ,EAAEqL,EAAKpD,MAC5Cm9S,GAAen9S,GAASoD,CAAG,IAG7B,YCxBA,MAAMrR,GAnBN,SAASovT,EAAeC,GACtB,MAAM/vR,EAAU,IAAI,GAAM+vR,GACpB5+O,EAAWk4C,EAAK,GAAMxsF,UAAUk7F,QAAS/3F,GAa/C,OAVAq6Q,EAAM3iP,OAAOyZ,EAAU,GAAMt0C,UAAWmD,EAAS,CAAC22Q,YAAY,IAG9D0D,EAAM3iP,OAAOyZ,EAAUnxC,EAAS,KAAM,CAAC22Q,YAAY,IAGnDxlO,EAASr0C,OAAS,SAAgB6tR,GAChC,OAAOmF,EAAepM,GAAYqM,EAAepF,GACnD,EAEOx5O,CACT,CAGc2+O,CAAe,IAG7BpvT,GAAMwH,MAAQ,GAGdxH,GAAMqgT,cAAgB,GACtBrgT,GAAMirT,YAAc,GACpBjrT,GAAMmgT,SAAWA,GACjBngT,GAAMsuS,QAAUA,GAChBtuS,GAAMsvT,WAAa,GAGnBtvT,GAAMy5S,WAAa,EAGnBz5S,GAAMuvT,OAASvvT,GAAMqgT,cAGrBrgT,GAAM8/H,IAAM,SAAa0vL,GACvB,OAAOj0P,QAAQukE,IAAI0vL,EACrB,EAEAxvT,GAAMyvT,OC9CS,SAAgBzlP,GAC7B,OAAO,SAAc56C,GACnB,OAAO46C,EAAShK,MAAM,KAAM5wC,EAC9B,CACF,ED6CApvB,GAAM0vT,aE7DS,SAAsB1/S,GACnC,OAAO2pS,EAAM5wQ,SAAS/4B,KAAsC,IAAzBA,EAAQ0/S,YAC7C,EF8DA1vT,GAAMgjT,YAAcA,GAEpBhjT,GAAMs+S,aAAe,GAErBt+S,GAAM2vT,WAAaxa,GAAS,GAAewE,EAAMpD,WAAWpB,GAAS,IAAI5vJ,SAAS4vJ,GAASA,GAE3Fn1S,GAAM4vT,WAAa7G,GAEnB/oT,GAAMorT,eAAiB,GAEvBprT,GAAM+gB,QAAU/gB,GAGhB,W,giEGnFqBkrC,EAAAA,SAAAA,I,4SACnB,WAAY5nC,GAAM,a,4FAAA,SAChB,cAAMA,GAGNgZ,OAAOs0G,eAAP,KAA4B1lF,EAAW/O,WACvC,EAAK14B,KAAO,EAAKW,YAAYX,KALb,CAMjB,C,8FAPkBynC,C,EAAmB/mC,O,2FCIzB,SAAS0rT,EAA8BrzR,EAAawL,EAAgBxJ,GAClF,IACIsxR,EADc,IAAI7zR,EAAAA,GAASuC,GACGyL,8BAA8BzN,GAChE,OAAKszR,EAGEA,EAAkB9lT,QAAO,SAAC6f,GAChC,OAIF,SAA4Cme,EAAgBne,EAAS2U,GACpE,IAAMwgG,EAAY,IAAI/iG,EAAAA,GAASuC,GAE/B,GADAwgG,EAAUx1F,oBAAoB3f,GAC1Bm1G,EAAUp8F,cAAcgK,kBAAkBrL,QAAQyG,EAAe5+B,SAAW,EAC/E,OAAO,EAER,OAAO,CACP,CAXQ2mT,CAAmC/nR,EAAgBne,EAAS2U,EACnE,IAJO,EAKR,C,cCPKwxR,EAA4B,yC,0/CCAlC,IAAMC,EAAkB,CACvBC,gBAAiB,SAACvxR,EAAiBwxR,EAAW3xR,GAA7B,gBAA6CG,GAA7C,OAA+DH,EAAS4xR,OAAxE,OAAgFD,EAAhF,GAkBH,SAAS/sS,EAAaqH,EAAO8T,EAAQ36B,EAAS46B,GAU5D,GAPC56B,EADGA,EACO,EAAH,KAAQqsT,GAAoBrsT,GAEzBqsT,EAGXzxR,EAAW,IAAIvC,EAAAA,GAASuC,GAEpB/T,EAAMZ,SAA6B,QAAlBY,EAAMZ,QAAmB,CAE7C,IAAK2U,EAASwK,WAAWve,EAAMZ,SAC9B,MAAM,IAAI1lB,MAAJ,2BAA8BsmB,EAAMZ,UAE3C2U,EAAS3U,QAAQY,EAAMZ,QACvB,KACI,KAAIY,EAAM8c,mBAGV,OAAO9c,EAAM2kH,OAAS,GAF1B5wG,EAASgL,oBAAoB/e,EAAM8c,mBAE/B,CAEL,IAMIC,EANED,EAAqB/I,EAAS+I,qBAE9BS,EAAiBpkC,EAAQysT,GAAK5lS,EAAMud,eAAiBvd,EAAM2kH,MAMjE,OAAQ7wG,GACP,IAAK,WAGJ,OAAKyJ,EAIEsoR,EADP9oR,EAAS5I,EAAqBoJ,EAAgBvd,EAAM0S,YAAa,WAAYqB,EAAU56B,GAC3D6mB,EAAM2lS,IAAK5xR,EAAU56B,EAAQssT,iBAHjD,GAKT,IAAK,gBAGJ,OAAKloR,GAGLR,EAAS5I,EAAqBoJ,EAAgB,KAAM,gBAAiBxJ,EAAU56B,GAExE0sT,EADP9oR,EAAS,IAAH,OAAOD,EAAP,YAA6BC,GACP/c,EAAM2lS,IAAK5xR,EAAU56B,EAAQssT,kBAJjD,IAAP,OAAW3oR,GAMb,IAAK,QAEJ,MAAO,IAAP,OAAWA,GAAX,OAAgCS,GAEjC,IAAK,UACJ,OCnCI,YAAwC,IAAfR,EAAe,EAAfA,OAAQ4oR,EAAO,EAAPA,IACvC,IAAK5oR,EACJ,MAAO,GAER,GAAkB,MAAdA,EAAO,GACV,MAAM,IAAIrjC,MAAJ,6DAEP,MAAO,OAAP,OAAcqjC,GAAd,OAAuB4oR,EAAM,QAAUA,EAAM,GAC7C,CD2BSG,CAAc,CACpB/oR,OAAQ,IAAF,OAAMD,GAAN,OAA2BS,GACjCooR,IAAK3lS,EAAM2lS,MAOb,IAAK,MACJ,IAAKxsT,EAAQ4sT,YACZ,OAGD,IAAM7xR,EAuDT,SACCqJ,EACA7K,EACAoK,EACAipR,EACAhyR,GAEA,IAAMiyR,GAAyBC,EAAAA,EAAAA,IAAsBF,EAAahyR,EAASA,UAE3E,GAAIiyR,IAA2BlpR,EAAoB,CAClD,IAAM5I,EAAkBC,EAAqBoJ,EAAgB7K,EAAa,WAAYqB,GAGtF,MAA2B,MAAvB+I,EACIA,EAAqB,IAAM5I,EAW5BA,CACP,CACD,IAAMgyR,EDtKQ,SAAsB9mS,EAAS2S,EAAagC,GAC1D,IAAMoyR,EAAkB,IAAI30R,EAAAA,GAASuC,GAErC,OADAoyR,EAAgBpnR,oBAAoB3f,EAAS2S,GACzCo0R,EAAgBC,mBACZD,EAAgBC,mBAEpBb,EAA0BplS,KAAKgmS,EAAgBj0R,aAC3Ci0R,EAAgBj0R,iBADxB,CAGA,CC6JkBm0R,CAAaN,OAAahtT,EAAWg7B,EAASA,UAChE,GAAImyR,EACH,MAAO,GAAP,OAAUA,EAAV,YAAuBppR,EAAvB,YAA6C3I,EAAqBoJ,EAAgB,KAAM,gBAAiBxJ,GAE1G,CAtF0BuyR,CACvB/oR,EACAvd,EAAM0S,YACNoK,EACA3jC,EAAQ4sT,YACRhyR,GAED,OAAO8xR,EAAa3xR,EAAiBlU,EAAM2lS,IAAK5xR,EAAU56B,EAAQssT,iBAEnE,QACC,MAAM,IAAI/rT,MAAJ,iEAAoEo6B,EAApE,MAER,CAED,SAASK,EAAqB4I,EAAQrK,EAAa6zR,EAAUxyR,EAAU56B,GACtE,IAAM26B,EAgBA,SAA+B0yR,EAAkBC,GACvD,IAAK,IAAL,MAAqBD,KAArB,aAAuC,KAA5B1yR,EAA4B,QAItC,GAAIA,EAAO2F,wBAAwB96B,OAAS,EAAG,CAE9C,IAAM+nT,EAA2B5yR,EAAO2F,wBAAwB3F,EAAO2F,wBAAwB96B,OAAS,GAExG,GAAyD,IAArD8nT,EAAgBtvT,OAAOuvT,GAC1B,QAED,CAED,IAAIC,EAAAA,EAAAA,GAAgBF,EAAiB3yR,EAAO5nB,WAC3C,OAAO4nB,CAER,CACD,CAlCe8yR,CAAsB7yR,EAASuE,UAAWyE,GACzD,OAAKjJ,GAGES,EAAAA,EAAAA,GACNwI,EACAjJ,EACA,CACCU,uBAAqC,kBAAb+xR,EACxB9xR,oBAAoBX,EAAOwF,2DAA6DngC,IAAsC,IAA3BA,EAAQs5B,eAC3GC,YAAAA,EACAqB,SAAAA,IATMgJ,CAYR,CAsBD,SAAS8oR,EAAa3xR,EAAiByxR,EAAK5xR,EAAU0xR,GACrD,OAAOE,EAAMF,EAAgBvxR,EAAiByxR,EAAK5xR,GAAYG,CAC/D,C,61BEhJD,IAEqB6L,EAAAA,WAOpB,WAAY8mR,EAA6BtpR,EAAgBxJ,GACxD,G,4FADkE,UAC7D8yR,EACJ,MAAM,IAAI5lN,UAAU,gDAErB,IAAK1jE,EACJ,MAAM,IAAI0jE,UAAU,+BAErB,IAAKltE,EACJ,MAAM,IAAIktE,UAAU,yBAErB,MA0FF,SAAyC4lN,EAA6BC,GACrE,IAAI1nS,EACA0d,EAEE/I,EAAW,IAAIvC,EAAAA,GAASs1R,GAG1BC,EAAcF,IACjBznS,EAAUynS,EACV9yR,EAASgL,oBAAoB3f,GAC7B0d,EAAqB/I,EAAS+I,sBAE9BA,EAAqB+pR,EAStB,MAAO,CACNznS,QAAAA,EACA0d,mBAAAA,EAED,CAnHyCkqR,CACvCH,EACA9yR,GAFO3U,EAAR,EAAQA,QAAS0d,EAAjB,EAAiBA,mBAIjBhoC,KAAKsqB,QAAUA,EACftqB,KAAKgoC,mBAAqBA,EAC1BhoC,KAAKyoC,eAAiBA,EACtBzoC,KAAKioC,OAAS,IAAMjoC,KAAKgoC,mBAAqBhoC,KAAKyoC,eAKnDzoC,KAAKmyT,YAAc,kBAAMlzR,CAAN,CACnB,C,6CAED,SAAO4xR,GACN7wT,KAAK6wT,IAAMA,CACX,G,kCAED,WACC,OAAI7wT,KAAKsqB,QACD,CAACtqB,KAAKsqB,SAEPgmS,EACNtwT,KAAKgoC,mBACLhoC,KAAKyoC,eACLzoC,KAAKmyT,cAEN,G,wBAED,WACC,OAAOC,EAAAA,EAAAA,GAAiBpyT,KAAM,CAAE8wT,IAAI,GAAQ9wT,KAAKmyT,cACjD,G,qBAED,WACC,OCxBa,SAAuBjnS,EAAO7mB,EAAS46B,GAYrD,GARA56B,EAAUA,GAAW,CAAC,GAEtB46B,EAAW,IAAIvC,EAAAA,GAASuC,IAEfgL,oBAAoB/e,EAAMZ,QAASY,EAAM8c,oBAI9C/I,EAASozR,WACZ,YAA4DpuT,KAArDquT,EAAAA,EAAAA,GAAcpnS,EAAO7mB,EAAS46B,EAASA,UAK/C,IAAMwJ,EAAiBpkC,EAAQysT,GAAK5lS,EAAMud,eAAiBvd,EAAM2kH,MACjE,OAAOgiL,EAAAA,EAAAA,GAAgBppR,EAAgBxJ,EAASszR,wBAChD,CDIQC,CAAcxyT,KAAM,CAAE8wT,IAAI,GAAQ9wT,KAAKmyT,cAC9C,G,6BAED,WAEC,OADiB,IAAIz1R,EAAAA,GAAS18B,KAAKmyT,eACnBM,2BAA2BzyT,KAAKgoC,mBAChD,G,qBAED,SAAQgD,GACP,OAAOhrC,KAAKioC,SAAW+C,EAAY/C,QAAUjoC,KAAK6wT,MAAQ7lR,EAAY6lR,GACtE,G,qBAiBD,WACC,OAAOyB,EAAAA,EAAAA,GAActyT,KAAM,CAAE8wT,IAAI,GAAQ9wT,KAAKmyT,cAC9C,G,oBAED,SAAOnzR,EAAQ36B,GACd,OAAOwf,EACN7jB,KACAg/B,EACA36B,EAAU,OAAKA,GAAR,IAAiBysT,IAAI,IAAS,CAAEA,IAAI,GAC3C9wT,KAAKmyT,cAEN,G,4BAED,SAAe9tT,GACd,OAAOrE,KAAKg/B,OAAO,WAAY36B,EAC/B,G,iCAED,SAAoBA,GACnB,OAAOrE,KAAKg/B,OAAO,gBAAiB36B,EACpC,G,oBAED,SAAOA,GACN,OAAOrE,KAAKg/B,OAAO,UAAW36B,EAC9B,M,gFAtGmB4mC,GAyGfgnR,EAAgB,SAACvjT,GAAD,MAAW,aAAa2c,KAAK3c,EAA7B,C,6FElHf,IAAMgkT,EAAqB,EAIrBC,EAAqB,GAGrBC,EAA0B,EAI1B1sR,EAAe,eAefrD,EAAoB,GAAH,OAZf,WAYe,OAXd,MAWc,OAVjB,MAUiB,OATJ,UASI,OARb,gBAQa,OANf,QAQFwD,EAAa,I,4DCGX,SAASP,EAAiC1G,GACxD,OAAOA,EAAgBv5B,QAAQ,IAAIu4B,OAAJ,WAAeyE,EAAAA,GAAf,MAAsC,KAAM,KAAKk+C,MAChF,C,i2BChCc,SAASr9C,EAAkB+E,EAAgBxJ,GACzD,OAAO4zR,EAAyBpqR,OAAgBxkC,EAAWg7B,EAC3D,CAIM,SAAS4zR,EAAyBpqR,EAAgBjkC,EAAMy6B,GAC9D,IAAM6zR,EAAY7zR,EAASz6B,KAAKA,GAS5BuuT,EAAmBD,GAAaA,EAAUzlR,mBAAqBpO,EAASoO,kBAI5E,IAAK0lR,EACJ,MAAO,cAGR,GAAa,yBAATvuT,EAAiC,CAGpC,IAAKy6B,EAASz6B,KAAK,cAGlB,OAAOquT,EAAyBpqR,EAAgB,SAAUxJ,GAG3D,IAAM+zR,EAAc/zR,EAASz6B,KAAK,UAC9BwuT,IAMHD,ECpCY,SAAqBlzT,EAAG2wB,GAGtC,IAFA,IAEA,EAFM2oR,EAASt5S,EAAE+a,QAEjB,IAAsB4V,KAAtB,aAAyB,KAAdmF,EAAc,QACpB91B,EAAEmiC,QAAQrM,GAAW,GACxBwjR,EAAO31S,KAAKmyB,EAEb,CAED,OAAOwjR,EAAO5oR,MAAK,SAAC1wB,EAAG2wB,GAAJ,OAAU3wB,EAAI2wB,CAAd,GAQnB,CDmBqByiS,CAAYF,EAAkBC,EAAY3lR,mBAW9D,MAEI,GAAI7oC,IAASsuT,EACjB,MAAO,iBAGR,IAAMI,EAAgBzqR,EAAe5+B,OAU/BspT,EAAiBJ,EAAiB,GAExC,OAAII,IAAmBD,EACf,cAGJC,EAAiBD,EACb,YAGJH,EAAiBA,EAAiBlpT,OAAS,GAAKqpT,EAC5C,WAIDH,EAAiB/wR,QAAQkxR,EAAe,IAAM,EAAI,cAAgB,gBACzE,C,yGE9Dc,SAASxrR,EACvBO,EACA3d,EACA2S,EACAgC,GAEA,IAAKgJ,EACJ,MAAO,CAAC,EAGT,IAAImrR,EASJ,GAAkB,MAAdnrR,EAAO,GAAY,CAGtB,IAAMgB,GAAmBC,EAAAA,EAAAA,GAAejB,EAAQ3d,EAAS2S,EAAagC,GAItE,IAAIgK,GAAoBA,IAAqBhB,EAGtC,CAKN,GAAI3d,GAAW2S,EAAa,CAC3B,OAGIkM,EAAAA,EAAAA,GACHlB,EACA3d,EACA2S,EACAgC,GANA+I,EADD,EACCA,mBACQqrR,EAFT,EAECprR,OAOD,GAAID,EACH,MAAO,CACNsrR,yBAA0B,gCAC1BtrR,mBAAAA,EACAC,OAAQorR,EAGV,CACD,MAAO,CAGNprR,OAAAA,EAED,CA9BAmrR,GAAwB,EACxBnrR,EAAS,IAAMgB,CA8BhB,CAGD,GAAkB,MAAdhB,EAAO,GACV,MAAO,CAAC,EAGThJ,EAAW,IAAIvC,EAAAA,GAASuC,GAYxB,IADA,IAAIn/B,EAAI,EACDA,EAAI,GAAK8yT,EAAAA,IAA2B9yT,GAAKmoC,EAAOp+B,QAAQ,CAC9D,IAAMm+B,EAAqBC,EAAOrtB,MAAM,EAAG9a,GAC3C,GAAIm/B,EAASs0R,eAAevrR,GAE3B,OADA/I,EAASgL,oBAAoBjC,GACtB,CACNsrR,yBAA0BF,EAAwB,uBAAyB,6BAC3EprR,mBAAAA,EACAC,OAAQA,EAAOrtB,MAAM9a,IAGvBA,GACA,CAED,MAAO,CAAC,CACR,C,2FCnGc,SAASqpC,EACvBlB,EACA3d,EACA2S,EACAgC,GAEA,IAAM+I,EAAqB1d,GAAU6mS,EAAAA,EAAAA,IAAsB7mS,EAAS2U,GAAYhC,EAChF,GAA2C,IAAvCgL,EAAOjG,QAAQgG,GAA2B,EAC7C/I,EAAW,IAAIvC,EAAAA,GAASuC,IACfgL,oBAAoB3f,EAAS2S,GACtC,IAAMu2R,EAAwBvrR,EAAOrtB,MAAMotB,EAAmBn+B,QAE7C4pT,GACbC,EAAAA,EAAAA,GACHF,EACAv0R,GAHAwJ,eAMAA,GACGirR,EAAAA,EAAAA,GACHzrR,EACAhJ,GAHAwJ,eAaD,KAEGopR,EAAAA,EAAAA,GAAgBppR,EAAgBxJ,EAASszR,2BAE1CV,EAAAA,EAAAA,GAAgB4B,EAA+Bx0R,EAASszR,0BAGT,cAAhD7uR,EAAAA,EAAAA,GAAkB+E,EAAgBxJ,GAElC,MAAO,CACN+I,mBAAAA,EACAC,OAAQurR,EAGV,CACD,MAAO,CAAEvrR,OAAAA,EACT,C,iFCjDc,SAASyrR,EAAsBzrR,EAAQhJ,GAUrD,OAGIuJ,EAAAA,EAAAA,GACHP,EACAhJ,GAJArB,EADD,EACCA,YACA6K,EAFD,EAECA,eAMD,GAAIA,IAAmBR,EAAQ,CAC9B,IAuCF,SAA2C0rR,EAAsBC,EAAqB30R,GAGrF,IAAI4yR,EAAAA,EAAAA,GAAgB8B,EAAsB10R,EAASszR,4BACjDV,EAAAA,EAAAA,GAAgB+B,EAAqB30R,EAASszR,yBAC/C,OAAO,EAeR,OAAO,CACP,CA5DMsB,CAAkC5rR,EAAQQ,EAAgBxJ,GAE9D,MAAO,CAAEwJ,eAAgBR,GAI1B,GAAIhJ,EAASoO,oBAwDf,SAA4C5E,EAAgBxJ,GAC3D,QAAQyE,EAAAA,EAAAA,GAAkB+E,EAAgBxJ,IACzC,IAAK,YACL,IAAK,iBAIJ,OAAO,EACR,QACC,OAAO,EAET,CA1DO60R,CAAmCrrR,EAAgBxJ,GAEvD,MAAO,CAAEwJ,eAAgBR,EAG3B,CAED,MAAO,CAAEQ,eAAAA,EAAgB7K,YAAAA,EACzB,C,8BC1Cc,SAAS4K,EAAkDP,EAAQhJ,GACjF,GAAIgJ,GAAUhJ,EAASoE,cAAc8E,2BAA4B,CAIhE,IAAM4rR,EAAgB,IAAI31R,OAAO,OAASa,EAASoE,cAAc8E,2BAA6B,KACxF6rR,EAAcD,EAAc1kM,KAAKpnF,GACvC,GAAI+rR,EAAa,CAChB,IAAIvrR,EACA7K,EAuDAD,EAtCEs2R,EAAsBD,EAAYnqT,OAAS,EAC3CqqT,EAAoBD,EAAsB,GAAKD,EAAYC,GACjE,GAAIh1R,EAASk1R,+BAAiCD,EAC7CzrR,EAAiBR,EAAOpiC,QACvBkuT,EACA90R,EAASk1R,+BAINF,EAAsB,IACzBr2R,EAAco2R,EAAY,QASvB,CAMJ,IAAMnrR,EAA6BmrR,EAAY,GAC/CvrR,EAAiBR,EAAOrtB,MAAMiuB,EAA2Bh/B,QAGrDqqT,IACHt2R,EAAco2R,EAAY,GAE3B,CAOD,GAAIE,EAAmB,CACtB,IAAME,EAA0CnsR,EAAOjG,QAAQgyR,EAAY,IAC5C/rR,EAAOrtB,MAAM,EAAGw5S,KAOhBn1R,EAASoE,cAAc1F,mBACrDA,EAAiBsB,EAASoE,cAAc1F,iBAEzC,MACAA,EAAiBq2R,EAAY,GAE9B,MAAO,CACNvrR,eAAAA,EACA9K,eAAAA,EACAC,YAAAA,EAED,CACD,CACC,MAAO,CACN6K,eAAgBR,EAEnB,C,oFCjGYpC,EAAsB,SAEpB,SAASpG,EACvBwI,EACAjJ,EAFc,GASb,IALAU,EAKA,EALAA,uBACAC,EAIA,EAJAA,mBAKKP,GADL,EAHAxB,YAGA,EAFAqB,SAGuBgJ,EAAOpiC,QAC9B,IAAIu4B,OAAOY,EAAO5nB,WAClBsoB,EACGV,EAAO8F,sBAeRnF,GAAsBX,EAAOmG,+BAC1BnG,EAAOA,SAASn5B,QAAQggC,EAAqB7G,EAAOmG,gCACpDnG,EAAOA,WAGb,OAAIU,GACIoG,EAAAA,EAAAA,GAAiC1G,GAElCA,CACP,C,6DC3CKi1R,GAAkC,EAEzB,SAAS1pR,EAAwB1N,EAAjC,GAIZ,IAHcq3R,EAGd,EAHF7rR,eACAhC,EAEE,EAFFA,eACAxH,EACE,EADFA,SAGA,GAAIo1R,GACCp1R,EAASwzR,2BAA2Bx1R,GACvC,MAAO,MAGT,IAAMszR,EAAoBtxR,EAASyL,8BAA8BzN,GACjE,OAAKszR,EAK4B,IAA7BA,EAAkB1mT,OACd0mT,EAAkB,IAEnBzlR,EAAAA,EAAAA,GAA2BwpR,EAAqB,CACtDvpR,UAAWwlR,EACX9pR,eAAAA,EACAxH,SAAUA,EAASA,gBAXpB,CAaA,C,04BC1Bc,SAAS6L,EAA2BwpR,EAApC,GAIZ,IAHFvpR,EAGE,EAHFA,UAEA9L,GACE,EAFFwH,eAEE,EADFxH,UAGAA,EAAW,IAAIvC,EAAAA,GAASuC,GAIxB,IAAK,IAAL,MAAsB8L,KAAtB,aAAiC,KAAtBzgB,EAAsB,QAShC,GARA2U,EAAS3U,QAAQA,GAQb2U,EAASkF,iBACZ,GAAImwR,GACsD,IAAzDA,EAAoBjyT,OAAO48B,EAASkF,iBACpC,OAAO7Z,OAKJ,IAAIgoS,EAAAA,EAAAA,GAAc,CAAEziL,MAAOykL,EAAqBhqS,QAAAA,QAAWrmB,EAAWg7B,EAASA,UAInF,OAAO3U,CAWR,CAMD,C,04BChDD,IAAMiqS,EAA6B,CAClC,SACA,eACA,YACA,cACA,OACA,kBACA,QACA,MACA,aAIc,SAASjC,EAAcpnS,EAAO7mB,EAAS46B,GASrD,GALA56B,EAAUA,GAAW,CAAC,EAKjB6mB,EAAMZ,SAAYY,EAAM8c,mBAA7B,EAIA/I,EAAW,IAAIvC,EAAAA,GAASuC,IAEfgL,oBAAoB/e,EAAMZ,QAASY,EAAM8c,oBAElD,IAAMS,EAAiBpkC,EAAQysT,GAAK5lS,EAAMud,eAAiBvd,EAAM2kH,MAMjE,IAAKgiL,EAAAA,EAAAA,GAAgBppR,EAAgBxJ,EAASszR,yBAA9C,CAKA,GAAIiC,EAAoB/rR,EAAgB,aAAcxJ,GAKrD,OAAIA,EAASz6B,KAAK,WAAmD,KAAtCy6B,EAASz6B,KAAK,UAAU4S,UAC/C,uBAUH6nB,EAASz6B,KAAK,UAOfgwT,EAAoB/rR,EAAgB,SAAUxJ,GAC1C,uBAGD,aAVC,uBAaT,IAAK,IAAL,MAAmBs1R,KAAnB,aAA+C,KAApC/vT,EAAoC,QAC9C,GAAIgwT,EAAoB/rR,EAAgBjkC,EAAMy6B,GAC7C,OAAOz6B,CAER,CArCA,CAdA,CAoDD,CAEM,SAASgwT,EAAoB/rR,EAAgBjkC,EAAMy6B,GAEzD,UADAz6B,EAAOy6B,EAASz6B,KAAKA,MACPA,EAAK4S,eASf5S,EAAK6oC,mBACR7oC,EAAK6oC,kBAAkBrL,QAAQyG,EAAe5+B,QAAU,KAGlDgoT,EAAAA,EAAAA,GAAgBppR,EAAgBjkC,EAAK4S,WAC5C,C,+CCjGD,IAAMq9S,EAAoB,CAAC,EAAE5vT,YAEd,SAAS2kC,EAAS+jF,GAC/B,OAAOA,SAA2CA,EAAO1oH,cAAgB4vT,CAC1E,C,8BCCc,SAAS5C,EAAgB5rT,EAAMyuT,GAI7C,OADAzuT,EAAOA,GAAQ,GACR,IAAIm4B,OAAO,OAASs2R,EAAqB,MAAMrpS,KAAKplB,EAC3D,C,44BCJM,IAAM0uT,EAAS,CACrB,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,EAAK,IACL,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,KAGJ,SAASC,EAAWC,GAC1B,OAAOF,EAAOE,EACd,CAec,SAASj1R,EAAYtB,GAQnC,IAPA,IAOA,EAPIpO,EAAS,GAOb,IAAwBoO,EAAO74B,MAAM,OAArC,aAA0C,KACnCsgC,EAAQ6uR,EAD2B,SAErC7uR,IACH7V,GAAU6V,EAEX,CACD,OAAO7V,CACP,C,qEC9EK4kS,EAA0B,IAAI12R,OAAO,KAAO8H,EAAAA,GAAe,MAElD,SAASgD,EAAejB,EAAQ3d,EAAS2S,EAAagC,GACpE,GAAK3U,EAAL,CAIA,IAAM+mS,EAAkB,IAAI30R,EAAAA,GAASuC,GACrCoyR,EAAgBpnR,oBAAoB3f,EAAS2S,GAC7C,IAAM83R,EAAmB,IAAI32R,OAAOizR,EAAgBj0R,aACpD,GAAwC,IAApC6K,EAAO5lC,OAAO0yT,GAAlB,CASA,IAAMC,GALN/sR,EAASA,EAAOrtB,MAAMqtB,EAAOlxB,MAAMg+S,GAAkB,GAAGlrT,SAK3BkN,MAAM+9S,GACnC,KAAIE,GAAqC,MAApBA,EAAc,IAAcA,EAAc,GAAGnrT,OAAS,GACjD,MAArBmrT,EAAc,IAInB,OAAO/sR,CAbN,CAPA,CAqBD,C,+ECbc,SAASgtR,EAAsB/pS,EAAO7mB,EAAS46B,GAQ7D,QANgBh7B,IAAZI,IACHA,EAAU,CAAC,GAGZ46B,EAAW,IAAIvC,EAAAA,GAASuC,GAEpB56B,EAAQysT,GAAI,CACf,IAAK5lS,EAAM8c,mBACV,MAAM,IAAIpjC,MAAM,sCAEjBq6B,EAASgL,oBAAoB/e,EAAM8c,mBACnC,KAAM,CACN,IAAK9c,EAAM2kH,MACV,OAAO,EAER,GAAI3kH,EAAMZ,QAAS,CAClB,IAAK2U,EAASwK,WAAWve,EAAMZ,SAC9B,MAAM,IAAI1lB,MAAJ,2BAA8BsmB,EAAMZ,UAE3C2U,EAAS3U,QAAQY,EAAMZ,QACvB,KAAM,CACN,IAAKY,EAAM8c,mBACV,MAAM,IAAIpjC,MAAM,sCAEjBq6B,EAASgL,oBAAoB/e,EAAM8c,mBACnC,CACD,CAGD,GAAI/I,EAASoO,kBACZ,OAAO+kR,EAAiBlnS,EAAM2kH,OAAS3kH,EAAMud,eAAgBxJ,GAQ7D,GAAI/T,EAAM8c,oBAAsB/I,EAASwzR,2BAA2BvnS,EAAM8c,oBAGzE,OAAO,EAEP,MAAM,IAAIpjC,MAAM,iGAGlB,CAEM,SAASwtT,EAAiB3pR,EAAgBxJ,GAChD,MACM,iBADEyE,EAAAA,EAAAA,GAAkB+E,EAAgBxJ,EAU1C,C,8BCrEc,WAASp/B,EAAG2wB,GACvB3wB,EAAIA,EAAE4F,MAAM,KACZ+qB,EAAIA,EAAE/qB,MAAM,KAGZ,IAFA,IAAIyvT,EAAKr1T,EAAE,GAAG4F,MAAM,KAChB0vT,EAAK3kS,EAAE,GAAG/qB,MAAM,KACX3F,EAAI,EAAGA,EAAI,EAAGA,IAAK,CACxB,IAAIs1T,EAAKxiS,OAAOsiS,EAAGp1T,IACfu1T,EAAKziS,OAAOuiS,EAAGr1T,IACnB,GAAIs1T,EAAKC,EAAI,OAAO,EACpB,GAAIA,EAAKD,EAAI,OAAQ,EACrB,IAAKtuP,MAAMsuP,IAAOtuP,MAAMuuP,GAAK,OAAO,EACpC,GAAIvuP,MAAMsuP,KAAQtuP,MAAMuuP,GAAK,OAAQ,CACxC,CACD,OAAIx1T,EAAE,IAAM2wB,EAAE,GACH3wB,EAAE,GAAK2wB,EAAE,GAAK,EAAK3wB,EAAE,GAAK2wB,EAAE,IAAM,EAAI,GAEzC3wB,EAAE,IAAM2wB,EAAE,GAAK,EAAK3wB,EAAE,KAAO2wB,EAAE,IAAM,EAAI,CACpD,C,woBCpBD,IAQM8kS,EAAqB,SAErBC,EAAuB,QAKR74R,EAAAA,WACpB,WAAYuC,GAAU,UAibhB,SAA0BA,GAChC,IAAKA,EACJ,MAAM,IAAIr6B,MAAM,6EAKjB,KAAK4kC,EAAAA,EAAAA,GAASvK,MAAcuK,EAAAA,EAAAA,GAASvK,EAAS8L,WAC7C,MAAM,IAAInmC,MAAJ,8JAAoK4kC,EAAAA,EAAAA,GAASvK,GAAY,yBAA2BliB,OAAOghB,KAAKkB,GAAU8C,KAAK,MAAQ,KAAO,KAAO2iP,EAAOzlP,GAAY,KAAOA,EAA/R,KAEP,CA1bCu2R,CAAiBv2R,GACjBj/B,KAAKi/B,SAAWA,EAChBw2R,EAAW94R,KAAK38B,KAAMi/B,EACtB,C,sCAED,WACC,OAAOliB,OAAOghB,KAAK/9B,KAAKi/B,SAAS8L,WAAWtgC,QAAO,SAAAw6B,GAAC,MAAU,QAANA,CAAJ,GACpD,G,gCAED,SAAmB3L,GAClB,OAAOt5B,KAAKi/B,SAAS8L,UAAUzR,EAC/B,G,2BAED,WACC,KAAIt5B,KAAK45F,IAAM55F,KAAK8wT,IAAM9wT,KAAK01T,IAI/B,OAAO11T,KAAKi/B,SAAS02R,eAAiB31T,KAAKi/B,SAAS22R,eACpD,G,wBAED,SAAWtrS,GACV,YAA4CrmB,IAArCjE,KAAK61T,mBAAmBvrS,EAC/B,G,4BAED,SAAe2S,GACd,GAAIj9B,KAAK0qC,8BAA8BzN,GACtC,OAAO,EAER,GAAIj9B,KAAK21T,iBACR,GAAI31T,KAAK21T,gBAAgB14R,GACxB,OAAO,MAEF,CAEN,IAAMwN,EAAezqC,KAAK81T,sBAAsB74R,GAChD,GAAIwN,GAAwC,IAAxBA,EAAa5gC,QAAoC,QAApB4gC,EAAa,GAC7D,OAAO,CAER,CACD,G,wCAED,SAA2BxN,GAC1B,OAAIj9B,KAAK21T,kBACD31T,KAAK21T,gBAAgB14R,IAErBj9B,KAAK0qC,8BAA8BzN,EAE3C,G,qBAGD,SAAQ3D,GACP,OAAOt5B,KAAKiqC,oBAAoB3Q,EAChC,G,iCAED,SAAoBA,EAAa2D,GAMhC,GAJI3D,GAAei8R,EAAqBlqS,KAAKiO,KAC5C2D,EAAc3D,EACdA,EAAc,MAEXA,GAA+B,QAAhBA,EAAuB,CACzC,IAAKt5B,KAAKypC,WAAWnQ,GACpB,MAAM,IAAI10B,MAAJ,2BAA8B00B,IAErCt5B,KAAKqjC,cAAgB,IAAI0yR,EAAc/1T,KAAK61T,mBAAmBv8R,GAAct5B,KAC7E,MAAM,GAAIi9B,EAAa,CACvB,IAAKj9B,KAAKuzT,eAAet2R,GACxB,MAAM,IAAIr4B,MAAJ,gCAAmCq4B,IAE1Cj9B,KAAKqjC,cAAgB,IAAI0yR,EAAc/1T,KAAKg2T,yBAAyB/4R,GAAcj9B,KACnF,MACAA,KAAKqjC,mBAAgBp/B,EAEtB,OAAOjE,IACP,G,2CAED,SAA8Bi9B,GAC7B,IAAMwN,EAAezqC,KAAK81T,sBAAsB74R,GAChD,GAAIwN,EAAc,CAUjB,GAA4B,IAAxBA,EAAa5gC,QAA2C,IAA3B4gC,EAAa,GAAG5gC,OAChD,OAED,OAAO4gC,CACP,CACD,G,0CAED,SAA6BxN,GAC5B,IAAMwN,EAAezqC,KAAK0qC,8BAA8BzN,GACxD,GAAIwN,EACH,OAAOA,EAAa,EAErB,G,sCAED,SAAyBxN,GACxB,IAAM3D,EAAct5B,KAAKi2T,6BAA6Bh5R,GACtD,GAAI3D,EACH,OAAOt5B,KAAK61T,mBAAmBv8R,GAEhC,GAAIt5B,KAAK21T,gBAAiB,CACzB,IAAM12R,EAAWj/B,KAAK21T,gBAAgB14R,GACtC,GAAIgC,EACH,OAAOA,CAER,KAAM,CAMN,IAAMwL,EAAezqC,KAAK81T,sBAAsB74R,GAChD,GAAIwN,GAAwC,IAAxBA,EAAa5gC,QAAoC,QAApB4gC,EAAa,GAC7D,OAAOzqC,KAAKi/B,SAAS8L,UAAU,MAEhC,CACD,G,gCAGD,WACC,OAAO/qC,KAAKqjC,cAAcpG,aAC1B,G,uBAGD,WACC,OAAOj9B,KAAKqjC,cAAcjG,WAC1B,G,8BAGD,WACC,OAAOp9B,KAAKqjC,cAAciuR,kBAC1B,G,mCAGD,WACC,OAAOtxT,KAAKqjC,cAAckvR,uBAC1B,G,6BAGD,WACC,OAAOvyT,KAAKqjC,cAAcgK,iBAC1B,G,qBAGD,WACC,OAAOrtC,KAAKqjC,cAAcG,SAC1B,G,sCAGD,WACC,OAAOxjC,KAAKqjC,cAAc8E,0BAC1B,G,yCAGD,WACC,OAAOnoC,KAAKqjC,cAAc8wR,6BAC1B,G,2BAGD,WACC,OAAOn0T,KAAKqjC,cAAcc,eAC1B,G,sBAGD,WACC,OAAOnkC,KAAKqjC,cAAcgvR,UAC1B,G,kBAGD,SAAK7tT,GACJ,OAAOxE,KAAKqjC,cAAc7+B,KAAKA,EAC/B,G,iBAGD,WACC,OAAOxE,KAAKqjC,cAAcwtR,KAC1B,G,iCAED,WACC,OAAI7wT,KAAK45F,GAAW55F,KAAKi/B,SAASi3R,gCAC3Bl2T,KAAKi/B,SAASk3R,qBACrB,G,+CAGD,SAAkCl5R,GACjC,OAAOj9B,KAAKiqC,oBAAoBhN,EAChC,G,sCAED,WACC,YAA8Bh5B,IAAvBjE,KAAKqjC,aACZ,K,EAxMmB3G,GA2Mfq5R,EAAAA,WACL,WAAY92R,EAAUm3R,GAAsB,UAC3Cp2T,KAAKo2T,qBAAuBA,EAC5Bp2T,KAAKi/B,SAAWA,EAChBw2R,EAAW94R,KAAK38B,KAAMo2T,EAAqBn3R,SAC3C,C,qCAED,WACC,OAAOj/B,KAAKi/B,SAAS,EACrB,G,gDAQD,WACC,OAAOj/B,KAAKo2T,qBAAqBJ,yBAAyBh2T,KAAKi9B,cAC/D,G,uBAGD,WACC,IAAIj9B,KAAK45F,KAAM55F,KAAK8wT,GACpB,OAAO9wT,KAAKi/B,SAAS,EACrB,G,8BAGD,WACC,IAAIj/B,KAAK45F,KAAM55F,KAAK8wT,GACpB,OAAO9wT,KAAKi/B,SAAS,GACrB,G,mCAED,WACC,OAAIj/B,KAAK45F,IAAM55F,KAAK8wT,GAAW9wT,KAAKi/B,SAAS,GACtCj/B,KAAKi/B,SAAS,EACrB,G,6BAGD,WACC,IAAIj/B,KAAK45F,GACT,OAAO55F,KAAKi/B,SAASj/B,KAAK8wT,GAAK,EAAI,EACnC,G,yBAED,SAAY7xR,GACX,OAAOA,EAASj/B,KAAK45F,GAAK,EAAI55F,KAAK8wT,GAAK,EAAI,EAC5C,G,qBAKD,WAAU,WACHttR,EAAUxjC,KAAKq2T,YAAYr2T,KAAKi/B,WAAaj/B,KAAKq2T,YAAYr2T,KAAKs2T,uCAAyC,GAClH,OAAO9yR,EAAQ3xB,KAAI,SAAAozB,GAAC,OAAI,IAAIsxR,EAAOtxR,EAAG,EAAlB,GACpB,G,4BAED,WACC,OAAOjlC,KAAKi/B,SAASj/B,KAAK45F,GAAK,EAAI55F,KAAK8wT,GAAK,EAAI,EACjD,G,8CAED,SAAiC7xR,GAChC,OAAOA,EAASj/B,KAAK45F,GAAK,EAAI55F,KAAK8wT,GAAK,EAAI,EAC5C,G,0CAKD,WACC,OAAO9wT,KAAKw2T,iCAAiCx2T,KAAKi/B,WAAaj/B,KAAKw2T,iCAAiCx2T,KAAKs2T,qCAC1G,G,uCAED,WACC,OAAOt2T,KAAKi/B,SAASj/B,KAAK45F,GAAK,EAAI55F,KAAK8wT,GAAK,EAAI,EACjD,G,sCAED,WAGC,OAAO9wT,KAAKooC,6BAA+BpoC,KAAK29B,gBAChD,G,yCAED,WACC,OAAO39B,KAAKi/B,SAASj/B,KAAK45F,GAAK,EAAI55F,KAAK8wT,GAAK,EAAI,EACjD,G,wDAED,WACC,QAAS9wT,KAAKi/B,SAASj/B,KAAK45F,GAAK,EAAI55F,KAAK8wT,GAAK,EAAI,EACnD,G,oEAMD,WACC,OAAO9wT,KAAKy2T,2CAA2Cz2T,KAAKi/B,WAC3Dj/B,KAAKy2T,2CAA2Cz2T,KAAKs2T,qCACtD,G,2BAED,WACC,OAAOt2T,KAAKi/B,SAASj/B,KAAK45F,GAAK,EAAI55F,KAAK8wT,GAAK,EAAI,GACjD,G,mBAED,WACC,OAAO9wT,KAAKi/B,SAASj/B,KAAK45F,GAAK,EAAI55F,KAAK8wT,GAAK,GAAK,GAClD,G,sBAED,WAGC,QAAI9wT,KAAKy9D,SAAmC,IAAxBz9D,KAAKy9D,QAAQ5zD,WAKxB7J,KAAKy9D,OACd,G,kBAED,SAAKj5D,GACJ,GAAIxE,KAAKqyT,YAAcqE,EAAQ12T,KAAKy9D,QAASj5D,GAC5C,OAAO,IAAImyT,EAAKD,EAAQ12T,KAAKy9D,QAASj5D,GAAOxE,KAE9C,G,iBAED,WACC,OAAIA,KAAK45F,IAAM55F,KAAK8wT,GAAWwE,EACxBt1T,KAAKi/B,SAAS,KAAOq2R,CAC5B,K,EA9HIS,GAiIAQ,EAAAA,WACL,WAAYv3R,EAAQC,GAAU,UAC7Bj/B,KAAK42T,QAAU53R,EACfh/B,KAAKi/B,SAAWA,CAChB,C,iCAED,WACC,OAAOj/B,KAAK42T,QAAQ,EACpB,G,oBAED,WACC,OAAO52T,KAAK42T,QAAQ,EACpB,G,mCAED,WACC,OAAO52T,KAAK42T,QAAQ,IAAM,EAC1B,G,0CAED,WACC,OAAO52T,KAAK42T,QAAQ,IAAM52T,KAAKi/B,SAASkG,8BACxC,G,oEAED,WACC,QAASnlC,KAAK42T,QAAQ,IAAM52T,KAAKi/B,SAASuF,wDAC1C,G,qEAED,WAMC,OAAOxkC,KAAKukC,uBAAyBvkC,KAAKwkC,wDAC1C,G,gCAGD,WACC,SAAOxkC,KAAKmlC,gCAEV0xR,EAAgCxrS,KAAKrrB,KAAKmlC,gCAO5C,G,iCAED,WACC,OAAOnlC,KAAK42T,QAAQ,IAAM52T,KAAKg/B,QAC/B,K,EAlDIu3R,GA0DAM,EAAkC,cAElCF,EAAAA,WACL,WAAYnyT,EAAMy6B,GAAU,UAC3Bj/B,KAAKwE,KAAOA,EACZxE,KAAKi/B,SAAWA,CAChB,C,iCAED,WACC,OAAIj/B,KAAKi/B,SAAS26D,GAAW55F,KAAKwE,KAC3BxE,KAAKwE,KAAK,EACjB,G,6BAED,WACC,IAAIxE,KAAKi/B,SAAS26D,GAClB,OAAO55F,KAAKwE,KAAK,IAAMxE,KAAKi/B,SAASoO,iBACrC,K,EAdIspR,GAiBN,SAASD,EAAQj5P,EAAOj5D,GACvB,OAAQA,GACP,IAAK,aACJ,OAAOi5D,EAAM,GACd,IAAK,SACJ,OAAOA,EAAM,GACd,IAAK,YACJ,OAAOA,EAAM,GACd,IAAK,eACJ,OAAOA,EAAM,GACd,IAAK,kBACJ,OAAOA,EAAM,GACd,IAAK,YACJ,OAAOA,EAAM,GACd,IAAK,MACJ,OAAOA,EAAM,GACd,IAAK,QACJ,OAAOA,EAAM,GACd,IAAK,OACJ,OAAOA,EAAM,GACd,IAAK,cACJ,OAAOA,EAAM,GAEf,CAiBD,IAAMinN,EAAS,SAAAz/O,GAAC,SAAWA,EAAX,EA6BT,SAASksR,EAAsB7mS,EAAS2U,GAE9C,IADAA,EAAW,IAAIvC,EAASuC,IACXwK,WAAWnf,GACvB,OAAO2U,EAAS3U,QAAQA,GAAS0d,qBAElC,MAAM,IAAIpjC,MAAJ,2BAA8B0lB,GACpC,CAEM,SAASwsS,EAAmBxsS,EAAS2U,GAG3C,OAAOA,EAAS8L,UAAUyT,eAAel0B,EACzC,CAED,SAASmrS,EAAWx2R,GACnB,IAAQ8zC,EAAY9zC,EAAZ8zC,QACe,iBAAZA,GACV/yE,KAAK45F,GAAiB,IAAZ7mB,EACV/yE,KAAK8wT,GAAiB,IAAZ/9O,EACV/yE,KAAK01T,GAAiB,IAAZ3iP,EACV/yE,KAAK+2T,GAAiB,IAAZhkP,GAELA,GAEgC,IAA1B2pL,EAAQ3pL,EAlgBV,SAmgBR/yE,KAAK8wT,IAAK,GAC0B,IAA1Bp0D,EAAQ3pL,EAjgBV,UAkgBR/yE,KAAK01T,IAAK,EAEV11T,KAAK+2T,IAAK,EANV/2T,KAAK45F,IAAK,CASZ,C,m2CC5gBc,SAASruD,EAAmBlL,GAC1C,IAEIp6B,EACA5B,EACA46B,EAJJ,IAAqCiD,MAAMtF,UAAUhiB,MAAM+hB,KAAK0D,GAAhE,GAAO22R,EAAP,KAAcC,EAAd,KAAqBC,EAArB,KAA4BC,EAA5B,KAQA,GAAqB,iBAAVH,EAGN,MAAM,IAAI7qN,UAAU,wCAIzB,GANClmG,EAAO+wT,EAMHC,GAA0B,iBAAVA,EAgBhB,MAAIztR,EAAAA,EAAAA,GAASytR,GASb,MAAM,IAAIryT,MAAJ,mCAAsCqyT,IAP5CC,GACH7yT,EAAW4yT,EACXh4R,EAAWi4R,GAEXj4R,EAAWg4R,CAGR,MAvBAE,GACH9yT,EAAU6yT,EACVj4R,EAAWk4R,IAEX9yT,OAAUJ,EACVg7B,EAAWi4R,GAGRD,IACH5yT,E,+VAAU,CAAH,CAAKoiC,eAAgBwwR,GAAU5yT,IAgBxC,MAAO,CACN4B,KAAAA,EACA5B,QAAAA,EACA46B,SAAAA,EAED,C,iFC5CKm4R,EAA4B,SAAC9/S,GAAD,kBAAoB4uB,EAAAA,GAApB,eAAuC5uB,EAAvC,OASnB,SAAS+/S,EAAuBC,GAO9C,IASIC,EAA6C,YAG7CC,EAA6B,qBAE7BC,EAAqB,KAiBrBC,EAA0C,WAgD9C,MAtG2B,QAgEpBN,EAzC0B,MA+EhB,KApCEG,EAvBjB,gDAwBKC,EACAJ,EA7C0B,MA8C1BK,GAkCiB,KAhCJF,EAxBK,uBAyBlBC,EACLJ,EA9C+B,KA+C/BK,GA8BuB,KAtDA,QA2BvBL,EAhDwB,KAgDyB,KA4BZ,KAzBhBM,EApBa,aAqBGF,EAChCJ,EAzDwB,MA0D7BK,GAuB0B,KArBPC,EACf,SAAWF,EACXJ,EA5D2B,KA6D3BK,EAoBN,CC9ED,IAAME,EAAkC,IAAMzxR,EAAAA,GAAe,KAAOwsR,EAAAA,GAAqB,IAK5EkF,EACZ,IAAMvxR,EAAAA,GAAN,aAEOxD,EAAAA,GAFP,MAGOqD,EAAAA,GAHP,UAMCrD,EAAAA,GACAqD,EAAAA,GACD,KAWK2xR,EAAmC,IAAIz5R,OAC5C,KACMiI,EAAAA,GADN,aAGOxD,EAAAA,GAHP,MAIOqD,EAAAA,GAJP,WAOC,KAEW4xR,EACZF,EAEA,MAAQP,IAA2B,KAI9BU,EAA6B,IAAI35R,OAEtC,IACCu5R,EADD,MAMCG,EACD,IACC,KCjFF,IAAME,EAAe,IAAI55R,OAAO,MAAQi5R,IAA2B,KAAM,K,i1BCa1D,SAASY,EAA2B35R,GAQlD,IAPA,IAOA,EAPIpO,EAAS,GAOb,IAAwBoO,EAAO74B,MAAM,OAArC,aAA0C,CACzCyqB,GAAUgoS,EAD+B,QACMhoS,IAAW,EAC1D,CACD,OAAOA,CACP,CAaM,SAASgoS,EAA0BrD,EAAWsD,EAAsBC,GAE1E,MAAkB,MAAdvD,EAGCsD,OAYsB,mBAAdC,GACVA,EAAU,QAIL,KAGDxD,EAAAA,EAAAA,IAAWC,EAClB,C,gECzDYwD,EAAY,IAInBC,EAAuB,KAAYpyR,EAAAA,GAAZ,qBAEvBqyR,EACL,MAEAF,EACAC,EAHA,KAKMpyR,EAAAA,GAAgB,IACtBoyR,EANA,KAcKE,EAAwC,IAAIp6R,OAAOm6R,EAA+B,KAIlFE,EAAYvyR,EAAAA,GAaZwyR,EAA8B,IAAIt6R,OANZ,MALC,IAAMq6R,EAAY,aAAeA,EAAY,OAKhB,SAFhC,oBAAoCA,EAAY,OAEc,QAMpB,KAEvDE,EAAkB,OAClBC,EAAyB,kBACzBC,EAA2B,SCtCzB,SAASC,EAAwDC,EAAjE,GAEZ,IAMEC,EAPJhyR,EACE,EADFA,4BAEMiyR,ED4CQ,SAA6BC,GAC3C,IAAMC,EAAsBD,EAAoBl3R,QAAQ42R,GAExD,GAAIO,EAAsB,EACzB,OAAO,KAGR,IAAMC,EAAoBD,EAAsBP,EAAuB/uT,OAEvE,GAAIuvT,GAAqBF,EAAoBrvT,OAC5C,MAAO,GAGR,IAAMwvT,EAAkBH,EAAoBl3R,QAAQ,IAAKo3R,GAEzD,OAAIC,GAAmB,EACfH,EAAoB36N,UAAU66N,EAAmBC,GAEjDH,EAAoB36N,UAAU66N,EAEtC,CChEqBE,CAAoBP,GACzC,IDuEM,SAA6BE,GACnC,OAAqB,OAAjBA,GAIwB,IAAxBA,EAAapvT,SAKV2uT,EAAsCntS,KAAK4tS,IACjDP,EAA4BrtS,KAAK4tS,GAClC,CCnFKM,CAAoBN,GACxB,MAAM,IAAIttR,EAAAA,EAAW,gBAKtB,GAAqB,OAAjBstR,EAGHD,EAAoBhyR,EAA4B+xR,IAAkB,OAC5D,CACNC,EAAoB,GAIhBC,EAAav+S,OAAO,KAAO29S,IAC9BW,GAAqBC,GAQtB,IACIO,EADEC,EAAuBV,EAAc/2R,QAAQ22R,GAMlDa,EADGC,GAAwB,EACHA,EAAuBd,EAAgB9uT,OAEvC,EAEzB,IAAMsvT,EAAsBJ,EAAc/2R,QAAQ42R,GAClDI,GAAqBD,EAAcx6N,UAAUi7N,EAAuBL,EACpE,CAKD,IAAMO,EAAcV,EAAkBh3R,QAAQ62R,GAU9C,GATIa,EAAc,IACjBV,EAAoBA,EAAkBz6N,UAAU,EAAGm7N,IAQ1B,KAAtBV,EACH,OAAOA,CAER,CC3CD,IAAMW,EAA0B,IAG1BC,EAA6B,IAAIx7R,OAAO,IAAMiI,EAAAA,GAAaH,EAAAA,GAAe,KAK1E2zR,EAAiC,IAAIz7R,OAAO,KAAO8H,EAAAA,GAAP,QAE5CmuR,GAAkC,EA0BzB,SAAS7yR,EAAMv7B,EAAM5B,EAAS46B,GAQ5C,GALA56B,EAAUA,GAAW,CAAC,EAEtB46B,EAAW,IAAIvC,EAAAA,GAASuC,GAGpB56B,EAAQoiC,iBAAmBxH,EAASwK,WAAWplC,EAAQoiC,gBAAiB,CAC3E,GAAIpiC,EAAQysT,GACX,MAAM,IAAInlR,EAAAA,EAAW,mBAEtB,MAAM,IAAI/mC,MAAJ,2BAA8BP,EAAQoiC,gBAC5C,CAGD,MAuJD,SAAoBxgC,EAAM6qT,EAAIrlR,GAM7B,IAAIxD,EAAS6wR,EAAwD7yT,EAAM,CAC1E+gC,4BAA6B,SAAC/gC,GAAD,OAtC/B,SAAqCA,EAAMwlC,EAASquR,GACnD,IAAK7zT,EACJ,OAED,GAAIA,EAAK4D,OAAS8vT,EAAyB,CAC1C,GAAIG,EACH,MAAM,IAAInuR,EAAAA,EAAW,YAEtB,MACA,CACD,IAAgB,IAAZF,EACH,OAAOxlC,EAGR,IAAM8gC,EAAW9gC,EAAK5D,OAAOu3T,GAC7B,GAAI7yR,EAAW,EACd,OAED,OAAO9gC,EAEL2U,MAAMmsB,GAENlhC,QAAQg0T,EAAgC,GAC1C,CAewC7yR,CAA4B/gC,EAAMwlC,EAASqlR,EAArD,IAG9B,IAAK7oR,EACJ,MAAO,CAAC,EAET,ILxJc,SAA6BA,GAC3C,OAAOA,EAAOp+B,QAAU6oT,EAAAA,IACvBqF,EAA2B1sS,KAAK4c,EACjC,CKqJK8xR,CAAoB9xR,GACxB,OL9IK,SAAkCA,GACxC,OAAO4vR,EAAiCxsS,KAAK4c,EAC7C,CK4IK+xR,CAAyB/xR,GACrB,CAAEhnC,MAAO,aAEV,CAAC,EAIT,IAAMg5T,EJrPQ,SAA0BhyR,GACxC,IAAMrJ,EAAQqJ,EAAO5lC,OAAO21T,GAC5B,GAAIp5R,EAAQ,EACX,MAAO,CAAC,EAOT,IAHA,IAAMs7R,EAAyBjyR,EAAOrtB,MAAM,EAAGgkB,GACzC6xD,EAAUxoD,EAAOlxB,MAAMihT,GACzBl4T,EAAI,EACDA,EAAI2wF,EAAQ5mF,QAAQ,CAC1B,GAAI4mF,EAAQ3wF,GACX,MAAO,CACNmoC,OAAQiyR,EACRrJ,IAAKpgO,EAAQ3wF,IAGfA,GACA,CACD,CIkO8Bq6T,CAAiBlyR,GAC/C,GAAIgyR,EAAsBpJ,IACzB,OAAOoJ,EAER,MAAO,CAAEhyR,OAAAA,EACT,CAjLqDmyR,CAAWn0T,EAAM5B,EAAQysT,GAAIzsT,EAAQonC,SAA1E4uR,EAAhB,EAAQpyR,OAA8B4oR,EAAtC,EAAsCA,IAAK5vT,EAA3C,EAA2CA,MAG3C,IAAKo5T,EAAsB,CAC1B,GAAIh2T,EAAQysT,GAAI,CACf,GAAc,cAAV7vT,EACH,MAAM,IAAI0qC,EAAAA,EAAW,aAEtB,MAAM,IAAIA,EAAAA,EAAW,eACrB,CACD,MAAO,CAAC,CACR,CAED,MA4LD,SACC0uR,EACA5zR,EACAC,EACAzH,GAGA,IAQI3U,EARJ,GAA+Dod,EAAAA,EAAAA,GAC9DuwR,EAA2BoC,GAC3B5zR,EACAC,EACAzH,EAASA,UAJJq0R,EAAN,EAAMA,yBAA0BtrR,EAAhC,EAAgCA,mBAAoBC,EAApD,EAAoDA,OASpD,GAAID,EACH/I,EAASgL,oBAAoBjC,OAIzB,KAAIC,IAAWxB,IAAkBC,EAcjC,MAAO,CAAC,EAbZzH,EAASgL,oBAAoBxD,EAAgBC,GACzCD,EACHnc,EAAUmc,EAGN4tR,GACCp1R,EAASwzR,2BAA2B/rR,KACvCpc,EAAU,OAIb0d,EAAqBtB,IAAsByqR,EAAAA,EAAAA,IAAsB1qR,EAAgBxH,EAASA,SAEtF,CAEL,IAAKgJ,EACJ,MAAO,CACNqrR,yBAAAA,EACAtrR,mBAAAA,GAIF,OAGI0rR,EAAAA,EAAAA,GACHuE,EAA2BhwR,GAC3BhJ,GAJAwJ,EADD,EACCA,eACA7K,EAFD,EAECA,YAgBKiN,GAAeF,EAAAA,EAAAA,GAAwB3C,EAAoB,CAChES,eAAAA,EACAhC,eAAAA,EACAxH,SAAAA,IAEG4L,IACHvgB,EAAUugB,EAEW,QAAjBA,GAKH5L,EAAS3U,QAAQA,IAInB,MAAO,CACNA,QAAAA,EACA0d,mBAAAA,EACAsrR,yBAAAA,EACA7qR,eAAAA,EACA7K,YAAAA,EAED,CA5QIm6D,CACHsiO,EACAh2T,EAAQoiC,eACRpiC,EAAQqiC,mBACRzH,GATA3U,EADD,EACCA,QACAme,EAFD,EAECA,eACAT,EAHD,EAGCA,mBACAsrR,EAJD,EAICA,yBACA11R,EALD,EAKCA,YAQD,IAAKqB,EAASiJ,2BAA4B,CACzC,GAAI7jC,EAAQysT,GACX,MAAM,IAAInlR,EAAAA,EAAW,mBAEtB,MAAO,CAAC,CACR,CAGD,IAAKlD,GAAkBA,EAAe5+B,OAAS6oT,EAAAA,GAAoB,CAGlE,GAAIruT,EAAQysT,GACX,MAAM,IAAInlR,EAAAA,EAAW,aAGtB,MAAO,CAAC,CACR,CAWD,GAAIlD,EAAe5+B,OAAS8oT,EAAAA,GAAoB,CAC/C,GAAItuT,EAAQysT,GACX,MAAM,IAAInlR,EAAAA,EAAW,YAGtB,MAAO,CAAC,CACR,CAED,GAAItnC,EAAQysT,GAAI,CACf,IAAM9lR,EAAc,IAAIC,EAAAA,EACvBjD,EACAS,EACAxJ,EAASA,UAYV,OAVI3U,IACH0gB,EAAY1gB,QAAUA,GAEnBsT,IACHoN,EAAYpN,YAAcA,GAEvBizR,IACH7lR,EAAY6lR,IAAMA,GAEnB7lR,EAAYsvR,2BAA6BhH,EAClCtoR,CACP,CAKD,IAAM4nD,KAASvuF,EAAQk2T,SAAWt7R,EAASiJ,2BAA6B5d,KACvEunS,EAAAA,EAAAA,GAAgBppR,EAAgBxJ,EAASszR,yBAG1C,OAAKluT,EAAQk2T,SAMN,CACNjwS,QAAAA,EACA0d,mBAAAA,EACApK,YAAAA,EACAg1D,MAAAA,EACA4nO,WAAU5nO,MACY,IAArBvuF,EAAQk2T,WACRt7R,EAASoO,qBACT+kR,EAAAA,EAAAA,GAAiB3pR,EAAgBxJ,IAElC4wG,MAAOpnG,EACPooR,IAAAA,GAhBOj+N,EA8FT,SAAgBtoE,EAASme,EAAgBooR,GACxC,IAAM3gS,EAAS,CACd5F,QAAAA,EACAulH,MAAOpnG,GAEJooR,IACH3gS,EAAO2gS,IAAMA,GAEd,OAAO3gS,CACP,CAvGgBA,CAAO5F,EAASme,EAAgBooR,GAAO,CAAC,CAkBxD,C,urBC1Lc,SAASnlR,EAA0BzlC,EAAM5B,EAAS46B,GAChE,OAAOuC,EAAMv7B,EAAD,OAAY5B,GAAZ,IAAqBysT,IAAI,IAAQ7xR,EAC7C,C,wwBCAc,SAAS84D,EAAiB9xF,EAAM5B,EAAS46B,GAEnD56B,GAAWA,EAAQoiC,kBAAmBqwR,EAAAA,EAAAA,IAAmBzyT,EAAQoiC,eAAgBxH,KACpF56B,EAAU,EAAH,KACHA,GADG,IAENoiC,oBAAgBxiC,KAIlB,IACC,OAAOynC,EAAAA,EAAAA,GAA0BzlC,EAAM5B,EAAS46B,EAChD,CAAC,MAAOh+B,GAER,KAAIA,aAAiB0qC,EAAAA,GAGpB,MAAM1qC,CAEP,CACD,C,+CCpBD,SAAgB,QAAU,EAAE,sBAAwB,CAAC,EAAI,CAAC,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,KAAK,MAAM,EAAI,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,KAAK,KAAK,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,GAAK,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,KAAK,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,MAAM,IAAM,CAAC,M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","sources":["webpack://vw-oneform-feature-app/webpack/universalModuleDefinition","webpack://vw-oneform-feature-app/./src/bff/api/get-dealer-kvps.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-installations.ts","webpack://vw-oneform-feature-app/./src/bff/get-marketing-code.ts","webpack://vw-oneform-feature-app/./src/bff/api/send-form.ts","webpack://vw-oneform-feature-app/./src/bff/api/fetch-domains.ts","webpack://vw-oneform-feature-app/./src/bff/api/fetch-marketing-code.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-carlines.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-colors.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-dealers.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-pincode.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-salesgroups.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-vehiculos-modelo.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-vilma-frame.ts","webpack://vw-oneform-feature-app/./src/bff/api/get-ofertas-suv.ts","webpack://vw-oneform-feature-app/./src/bff/api/eapi.ts","webpack://vw-oneform-feature-app/./src/bff/get-data-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-vweventos-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-google-api-key.ts","webpack://vw-oneform-feature-app/./src/bff/get-molecular-cdn-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-molecular-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-oneform-bff-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-oneform-bff-api-key.ts","webpack://vw-oneform-feature-app/./src/bff/get-oneform-bff-cdn-url.ts","webpack://vw-oneform-feature-app/./src/bff/get-oneform-bff-cdn-api-key.ts","webpack://vw-oneform-feature-app/./src/bff/report-error-sentry.ts","webpack://vw-oneform-feature-app/./src/components/SelectExtended.tsx","webpack://vw-oneform-feature-app/./src/components/AnteriorCTA.tsx","webpack://vw-oneform-feature-app/./src/components/AvisoIslasCanarias.tsx","webpack://vw-oneform-feature-app/./src/components/CanalDeContacto.tsx","webpack://vw-oneform-feature-app/./src/components/Card.tsx","webpack://vw-oneform-feature-app/./src/components/CarouselComponent.tsx","webpack://vw-oneform-feature-app/./src/components/CloseButton.tsx","webpack://vw-oneform-feature-app/./src/components/CodigoPostal.tsx","webpack://vw-oneform-feature-app/./src/components/ConfirmacionLayers.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LegalFullScreenSinConsentimientos.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LegalItem.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/Legales.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LegalesFormatoLayer.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LssiTkmQuestions.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LssiTkmQuestionsComerciales.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/LssiTkmQuestionsTurismos.tsx","webpack://vw-oneform-feature-app/./src/components/Legales/ConsentQuestion.tsx","webpack://vw-oneform-feature-app/./src/components/DealerCard.tsx","webpack://vw-oneform-feature-app/./src/components/DetalleMotivo.tsx","webpack://vw-oneform-feature-app/./src/components/FechaCompra.tsx","webpack://vw-oneform-feature-app/./src/components/Kilometros.tsx","webpack://vw-oneform-feature-app/./src/components/LastNavigationConfirmacion.tsx","webpack://vw-oneform-feature-app/./src/components/LocateUserFullScreen.tsx","webpack://vw-oneform-feature-app/./src/components/MatriculaYModelo.tsx","webpack://vw-oneform-feature-app/./src/components/NoCliente.tsx","webpack://vw-oneform-feature-app/./src/components/PantallaIntroduccionStars.tsx","webpack://vw-oneform-feature-app/./src/components/SelectDpsDomain.tsx","webpack://vw-oneform-feature-app/./src/components/Trato.tsx","webpack://vw-oneform-feature-app/./src/components/PantallaNombreApellido.tsx","webpack://vw-oneform-feature-app/./src/components/PoliticaPrivacidad.tsx","webpack://vw-oneform-feature-app/./src/components/SlideEncuestas.tsx","webpack://vw-oneform-feature-app/./src/components/SuggestMarca.tsx","webpack://vw-oneform-feature-app/./src/components/SuggestModelo.tsx","webpack://vw-oneform-feature-app/./src/components/SelectMarcaModelo.tsx","webpack://vw-oneform-feature-app/./src/components/VerticalLine.tsx","webpack://vw-oneform-feature-app/./src/components/YaTienesVolkswagen.tsx","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-CEMVenta.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-carline-select-extended-list.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-all-carlines.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-alphabetical.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-all-salesgroups.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-format-salesgroups-select-extended-list.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-filter-carline-flag.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-get-salesgroups-from-carlines.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-get-formated-salesgroups.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-filter-preselected-fa-content.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-filter-preselected-fa-content-salesgroups.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-find-carline-from-salesgroup.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-find-carline.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/hooks/use-fa-content-modes.ts","webpack://vw-oneform-feature-app/./src/components/CarlineSelect/CarlineSelect.tsx","webpack://vw-oneform-feature-app/./src/components/LoadingEncuestas.tsx","webpack://vw-oneform-feature-app/./src/components/ThankYouPage/ThankYouTitle.tsx","webpack://vw-oneform-feature-app/./src/components/ThankYouPage/CTAThankYouPage.tsx","webpack://vw-oneform-feature-app/./src/components/ThankYouPage/ThankYouFields.tsx","webpack://vw-oneform-feature-app/./src/components/ThankYouPage/CTAThankYouPageAction.tsx","webpack://vw-oneform-feature-app/./src/components/ThankYouPage/LeadsCTAs.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist-es/Info/index.js","webpack://vw-oneform-feature-app/./src/components/IDBuzzFakeInput.tsx","webpack://vw-oneform-feature-app/./src/components/ImageCarNoColorBG.tsx","webpack://vw-oneform-feature-app/./src/components/Country.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/InputButton.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/MultipleCTASelection.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/RadioTextGroup.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/TextInputExtended.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/Apellido.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/Email.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/InputError.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/Nombre.tsx","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/Metadata.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeState.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeFormatter.util.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeFormatter.complete.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeFormatter.PatternParser.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeFormatter.PatternMatcher.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeFormatter.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouTypeParser.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/AsYouType.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/AsYouType.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/validatePhoneNumberLength.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/validatePhoneNumberLength.js","webpack://vw-oneform-feature-app/./src/components/inputs/Telefono.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/TextAreaExtended.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/calling-countries.ts","webpack://vw-oneform-feature-app/./src/components/inputs/CustomRadioButton.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/MultipleOptionsCTAs.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/CustomSelect.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/RatingStars.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/CustomSlider.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/CustomSwitch.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/Matricula.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/DniNif.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/Date.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Add/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Checkmark/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/filter-tag/icon.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/filter-tag/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist-es/Upload/index.js","webpack://vw-oneform-feature-app/./src/components/inputs/InputFile.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/NextStepCTA.tsx","webpack://vw-oneform-feature-app/./src/components/inputs/use-only-letters-control.tsx","webpack://vw-oneform-feature-app/./src/components/layers/AvailabilityErrorLayer.tsx","webpack://vw-oneform-feature-app/./src/feature-app/remove-configuration-hash.ts","webpack://vw-oneform-feature-app/./src/components/layers/AreYouSureLayer.tsx","webpack://vw-oneform-feature-app/./src/components/layers/GenericErrorLayer.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/RatingStarWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/PaddingWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/InputWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/ContactoInfoWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/ConfirmacionWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/WhiteLinkWrapper.tsx","webpack://vw-oneform-feature-app/./src/components/styleComponents/helpers.tsx","webpack://vw-oneform-feature-app/./node_modules/@redux-devtools/extension/lib/esm/index.js","webpack://vw-oneform-feature-app/./src/feature-app/App.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/CalandarioStyles.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/CalendarioCita.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/FranjaHoraria.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/SlotsHorario.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/TabsHorario.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CalendarioCita/CloseInDealerCalendar.tsx","webpack://vw-oneform-feature-app/./src/feature-app/InputsValues/CTAsObjects.tsx","webpack://vw-oneform-feature-app/./src/feature-app/InputsValues/CTAsObjectsFormsAdhoc.tsx","webpack://vw-oneform-feature-app/./src/feature-app/InputsValues/OtherInputTypesObjects.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/dynamic-tokens.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/integrator-root/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/get-media-query-vars.js","webpack://vw-oneform-feature-app/./src/feature-app/LayerManagerWrapper.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/Loadscript.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/MapGeneralController.tsx","webpack://vw-oneform-feature-app/./node_modules/kdbush/src/sort.js","webpack://vw-oneform-feature-app/./node_modules/kdbush/src/within.js","webpack://vw-oneform-feature-app/./node_modules/kdbush/src/index.js","webpack://vw-oneform-feature-app/./node_modules/kdbush/src/range.js","webpack://vw-oneform-feature-app/./node_modules/supercluster/index.js","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/generate-clusters.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/handle-location.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/usePinState.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/usePredictions.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/use-get-franja-and-day-from.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/use-create-nop-dms-slot-and-asessor.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/NewDealerCard.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/SeleccionDealerTabs.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/SuggestStyles.tsx","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/google_map_map.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/marker_dispatcher.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/omit.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/shallowEqual.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/google_map_markers.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/google_map_markers_prerender.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/loaders/google_map_loader.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/lib/geo/wrap.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/lib/geo/lat_lng.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/lib/geo/transform.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/lib/geo/index.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/raf.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/log2.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/pick.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/isEmpty.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/isNumber.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/detect.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/isPlainObject.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/passiveEvents.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/detectElementResize.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/google_map.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/google_heatmap.js","webpack://vw-oneform-feature-app/./node_modules/google-map-react/src/utils/isArraysEqualEps.js","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/CommonStyledComponents.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/CenterMarker.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/ClusterMarker.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/DealerMarker.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/Map.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/Carousel.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/Filtros.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/suggest.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/components/map-styles.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/provinces.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/views/GenericStylesDesktop.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/views/LayerDesktopView.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/views/LayerMobileView.tsx","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/views/helpers/serviceManagment.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/sort-points.ts","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/utils.ts","webpack://vw-oneform-feature-app/./src/feature-app/OneForm.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/Templates.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/CloseComponent.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/FullScreen.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/LayerScreen.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/Navigation.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/PreviousStepFiles/getRatingStarsOutput.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/PreviousStepFiles/getUpdatedField.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/PreviousStep.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/RenderController.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/ScreenController.tsx","webpack://vw-oneform-feature-app/./src/feature-app/Screen/TemplatesFullScreen.tsx","webpack://vw-oneform-feature-app/./src/feature-app/ThankYouComponent.tsx","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/parsePhoneNumber.js","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/get-test-pincode.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/dealer.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/lead.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/order.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/person.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/vehicle.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/ndps/lead.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/ndps/person.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/ndps/order.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/ndps/vehicle.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/pincode-data/ndps/dealer.ts","webpack://vw-oneform-feature-app/./src/feature-service/identity-kit-service/person-api.ts","webpack://vw-oneform-feature-app/./src/feature-service/es-oneform-core-feature-service/index.ts","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/parsePhoneNumber.js","webpack://vw-oneform-feature-app/./src/feature-app/feature-app.tsx","webpack://vw-oneform-feature-app/./src/feature-app/get-params-form.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-dropdown-position.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-fa-content.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-feature-app-config.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-bounding-client-rect.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-dealer.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-dealers.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-brand.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-is-comerciales.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-instalaciones.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-initiate-match-triggers.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-initiate-bonos-triggers.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-is-dev-stage.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-loaded.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-locate-user.tsx","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-navigate.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-on-screen.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-show-overflow.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-transform-to-html.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-tracking-form.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-id-person.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-id-vehicle.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-feature-app-environment.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-feature-services.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-auth-service.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-waid-litera.ts","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-tracking-manager.ts","webpack://vw-oneform-feature-app/./src/feature-app/CitaPreviaTile/CitaPreviaTile.tsx","webpack://vw-oneform-feature-app/./src/feature-app/CitaPreviaTile/CitaPreviaTileGrid.tsx","webpack://vw-oneform-feature-app/./src/feature-app/FormController.tsx","webpack://vw-oneform-feature-app/./src/feature-app/format-dates.ts","webpack://vw-oneform-feature-app/./src/feature-app/get-trigger.tsx","webpack://vw-oneform-feature-app/./src/feature-app/lodash-functions.ts","webpack://vw-oneform-feature-app/./src/feature-app/set-object-values.ts","webpack://vw-oneform-feature-app/./src/feature-app/rating-evaluation.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/dealers-types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/dealers-reducer.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/vehicles-types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/vehicles-reducer.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/form-data-types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/form-data-reducer.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/form-info-types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/form-info-reducer.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/domains-types.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/domains-reducer.ts","webpack://vw-oneform-feature-app/./src/feature-app/redux/reducer.ts","webpack://vw-oneform-feature-app/./node_modules/reselect/es/defaultMemoize.js","webpack://vw-oneform-feature-app/./node_modules/reselect/es/index.js","webpack://vw-oneform-feature-app/./src/feature-app/redux/selectors.ts","webpack://vw-oneform-feature-app/./src/feature-app/save-feature-app.ts","webpack://vw-oneform-feature-app/./src/feature-app/sentry/ErrorBoundary.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/integrations/functiontostring.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/is.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/browser.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/string.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/object.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/logger.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/flags.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/misc.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/integrations/inboundfilters.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/syncpromise.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/scope.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/session.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/severity.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/hub.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/stacktrace.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/supports.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/instrument.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/normalize.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/memo.ts","webpack://vw-oneform-feature-app/./node_modules/src/stack-parsers.ts","webpack://vw-oneform-feature-app/./node_modules/src/eventbuilder.ts","webpack://vw-oneform-feature-app/./node_modules/src/flags.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/index.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/polyfill.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/error.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/dsn.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/api.ts","webpack://vw-oneform-feature-app/./node_modules/src/helpers.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/globalhandlers.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/trycatch.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/enums.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/breadcrumbs.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/linkederrors.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/useragent.ts","webpack://vw-oneform-feature-app/./node_modules/src/integrations/dedupe.ts","webpack://vw-oneform-feature-app/./node_modules/src/index.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/version.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/integration.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/baseclient.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/envelope.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/request.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/transports/noop.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/basebackend.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/promisebuffer.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/ratelimit.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/status.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/transports/base.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/utils.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/async.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/base.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/clientreport.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/fetch.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/xhr.ts","webpack://vw-oneform-feature-app/./node_modules/src/backend.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/new-fetch.ts","webpack://vw-oneform-feature-app/./node_modules/src/transports/new-xhr.ts","webpack://vw-oneform-feature-app/./node_modules/src/client.ts","webpack://vw-oneform-feature-app/./src/feature-app/sentry/sentry.ts","webpack://vw-oneform-feature-app/./src/feature-app/tracking-helpers.ts","webpack://vw-oneform-feature-app/./src/feature-app/tracking-objects.ts","webpack://vw-oneform-feature-app/./src/forms/Autosubmit/ThankYouAutosubmit.tsx","webpack://vw-oneform-feature-app/./src/forms/Autosubmit/AutosubmitController.tsx","webpack://vw-oneform-feature-app/./src/forms/BajaComunicaciones/BajaComunicacionesForm.tsx","webpack://vw-oneform-feature-app/./src/forms/BajaComunicaciones/ThankYouBaja.tsx","webpack://vw-oneform-feature-app/./src/forms/BajaComunicaciones/BajaComunicacionesFields.tsx","webpack://vw-oneform-feature-app/./src/forms/BajaComunicaciones/BajaComunicacionesController.tsx","webpack://vw-oneform-feature-app/./src/forms/CallMe/Oferta/ConfirmarCallMeLayer.tsx","webpack://vw-oneform-feature-app/./src/forms/CallMe/Oferta/ConfirmacionCallMeOferta.tsx","webpack://vw-oneform-feature-app/./src/forms/CallMe/Oferta/CallMeOfertaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/CallMe/Oferta/ThankYouCallMeOferta.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/ConfirmacionCem.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/helpers.ts","webpack://vw-oneform-feature-app/./src/forms/Cem/CemController.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/ThankYouCem.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CemFormPosventa.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/FirstStepCEM.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CemStepsVenta.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CemStepsPosventa.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CemFormVenta.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/LastQuestionFlowCEM.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/LegalesCEM.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/LegalesSinConsentimientosCEM.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/CitaPosventaEmbedded/CitaPosventaCalculadoraForm.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/CitaPosventaEmbedded/CitaPosventaBonosForm.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/CitaPosventaEmbedded/CitaPosventaMaintenanceForm.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/CitaPosventaEmbedded/CitaPosventaPortalForm.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaController.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaDealerController.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaDealerWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/MapaCita.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/MapaCita/MapaCitaDealer.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/NuevaCitaPosventaFormController.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist-es/ChevronUp/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist-es/ChevronDown/index.js","webpack://vw-oneform-feature-app/./src/components/inputs/InputRegex.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmacionCita.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/LoadingLayer.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/LocateUser.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/ThankYouNuevaCita.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/NuevaCitaPosventaFormDefault.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/NuevaCitaPosventaFormLogged.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/ReservaCita.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/NuevaCitaPosventa/SeleccionDealer.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/ConfirmacionEmpresas.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/EmpresaInfoComponent.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/Fleet.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/EmpresasForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/ThankYouEmpresas.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/MapaEmpresa/JourneyEmpresasController.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/MapaEmpresa/JourneyEmpresasWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/Empresa/MapaEmpresa/MapaEmpresas.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/PlanIdealController.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/Checks.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/QuestionWithImage.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/PlanIdealForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/ConfirmationPlanIdeal.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/2023PlanIdeal/ThankYouPlanIdeal.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/CajaCTATrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/ConfirmacionDiaDeLaMadre.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/DisplayImagenesYCTATrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/Mensaje.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/MensajesCards.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/SectionMensajes.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/assets/Svgs.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/componentsAndViews/ThankYouDiaDeLaMadre.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/DiaDeLaMadre/DiaDeLaMadreForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Eurocopa/ComponentsAndViews/Portada.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Eurocopa/ComponentsAndViews/Experiencia.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Eurocopa/EurocopaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Eurocopa/ThankYouEurocopa.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Eurocopa/ConfirmacionEurocopa.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/LastNavigationFidelizacion.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/FidelizacionLastScreenFields.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/use-initialize-fidelizacion-form.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/FidelizacionForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/FidelizacionController.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/Fidelizacion/ThankYouFidelizacion.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/TestIDController.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/Checks.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/QuestionWithImage.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/TestIDForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/ConfirmationTestID.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/EmailForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/questions.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TestID2023/ThankYouTestID.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/ConcursoRodaje2023/ConcursoRodajeConfirmacion.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/ConcursoRodaje2023/ConcursoRodajeController.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/ConcursoRodaje2023/ThankYouConcursoRodaje.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/ConcursoRodaje2023/ConcursoRodajeForm.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/use-initialize-lem-form.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/LEMContactadoForm.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/LEMNoContactadoForm.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/LEMController.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/ConfirmacionLEM.tsx","webpack://vw-oneform-feature-app/./src/forms/LEM/ThankYouLEM.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/CitaVenta/CitaVentaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/CitaVenta/LeadsCitaVentaPartialData.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/ConfirmacionLeadsNoQuestions.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/LeadGenericoComercialesForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/LeadGenericoController.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-financeCalculation.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/LeadGenericoForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/MapaLeads/JourneyLeadsController.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/MapaLeads/JourneyLeadsWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/MapaLeads/MapaLeads.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/MasInformacion/MasInformacionForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/MasInformacion/LeadsMasInformacionPartialData.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/Oferta/OfertaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/Presupuesto/PresupuestoForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/Presupuesto/LeadsPresupuestoPartialData.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/Stock/StockForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/Stock/LeadsStockFormPartialData.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/TestDrive/TestDriveForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/TestDrive/LeadsTestDrivePartialData.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/ThankYouLeads.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/append-json-key.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-calculadora-data.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-cod-interest-carline.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-desc-interest-carline.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-configurador-data.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-match-data.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/get-ofertas-data.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/helpers/formatLegalesOfertas.ts","webpack://vw-oneform-feature-app/./src/forms/Leads/use-initialize-lead-form.ts","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/Cita/PartialDataCitaConfgurador.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/ConfirmacionLeadInPage.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/ImageCar.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/LocateUserLeadsInPage.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/MapaLeadsInPage/JorneyLeadsInPageController.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/MapaLeadsInPage/JourneyLeadsInPageWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/MapaLeadsInPage/MapaLeadsInPage.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/MasInformacion/PartialDataMasInformacionConfigurador.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/Presupuesto/PresupuestoPartialDataConfigurador.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/TestDrive/PartialDataTestDriveConfigurador.tsx","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/get-color-info.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/MGMLayout.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/BonoClienteFields.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/LegalMGM.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/BonoClienteForm.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/BonoRegaloFields.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/BonoRegaloForm.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/EnvioRegaloFields.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/EnvioRegaloForm.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/MGMController.tsx","webpack://vw-oneform-feature-app/./src/forms/MGM/ThankYouMGM.tsx","webpack://vw-oneform-feature-app/./src/forms/Newsletter/ConfirmacionNewsletter.tsx","webpack://vw-oneform-feature-app/./src/forms/Newsletter/NewsletterForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Newsletter/ThankYouNewsletter.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/use-initialize-no-compra-form.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/NoCompraController.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/NoCompraYaTengo.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/ConfirmacionNoCompra.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/ThankYouNoCompra.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/MapaNoCompra/JourneyNoCompraController.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/MapaNoCompra/JourneyNoCompraWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/MapaNoCompra/MapaNoCompra.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/NoCompraNoTengo.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/PantallaOtrosModelos.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/NoCompraNoQuiero.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/FormData.tsx","webpack://vw-oneform-feature-app/./src/forms/NoCompra/RatingSteps.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/use-initialize-no-renovacion-form.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/NoRenovacionController.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/FormData.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/CtasNoRenovacion.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/NoRenovacionYaTengo.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/ConfirmacionNoRenovacion.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/ThankYouNoRenovacion.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/MapaNoRenovacion/JourneyNoRenovacionController.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/MapaNoRenovacion/JourneyNoRenovacionWrapper.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/MapaNoRenovacion/MapaNoRenovacion.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/NoRenovacionNoTengo.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/NoRenovacionNoQuiero.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/PantallaMarcaModelo.tsx","webpack://vw-oneform-feature-app/./src/forms/NoRenovacion/FakeTriggerCTA.tsx","webpack://vw-oneform-feature-app/./src/forms/Prospects/ConfirmacionProspects.tsx","webpack://vw-oneform-feature-app/./src/forms/Prospects/ProspectsVentaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Prospects/MatchProspectForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Prospects/ProspectsPosventa.tsx","webpack://vw-oneform-feature-app/./src/forms/Prospects/ThankYouProspects.tsx","webpack://vw-oneform-feature-app/./src/forms/Race/RaceForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Race/use-race-form-controller.ts","webpack://vw-oneform-feature-app/./src/forms/SAC/FormData.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/SACOneShop/SACOneShopForm.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/SACOneShop/ThankYouOneShop.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/SACOneShop/SACOneShopFields.tsx","webpack://vw-oneform-feature-app/./src/components/HeaderImage.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/SACOneShop/SACOneShopController.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/SACform.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/PantallaMotivoSAC.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/PantallaDireccionPostal.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/PantallaMunicipio.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/ConfirmacionSAC.tsx","webpack://vw-oneform-feature-app/./src/forms/SAC/ThankYouSAC.tsx","webpack://vw-oneform-feature-app/./src/forms/dps-utils.ts","webpack://vw-oneform-feature-app/./src/forms/format-fields.ts","webpack://vw-oneform-feature-app/./src/forms/helpers/add-remove-steps.ts","webpack://vw-oneform-feature-app/./src/forms/helpers/transform-millage.ts","webpack://vw-oneform-feature-app/./src/globals.ts","webpack://vw-oneform-feature-app/./src/helpers.ts","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TheOriginals2025/TheOriginalsForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TheOriginals2025/TheOriginalsThankYou.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/CheckboxSelected/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Checkbox/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/checkbox/index.js","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/TheOriginals2025/TheOriginalsConfirmacion.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/TheOriginals2025Trigger.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/gallery/tabindex-manager.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/gallery/slide.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/media-gallery/hooks/use-media-gallery-context.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/gallery/gallery.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/gallery/arrow-buttons.js","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/components/TextInputField.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/components/EmailField.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/components/Arrow.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/components/TextAreaField.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/NavidadGTI2024Page.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadGTI2024/NavidadGTI2024Form.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/NavidadGTI2024Trigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/DiaDeLaMadreTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/EurocopaTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/FidelizacionTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadForm/ConfirmacionNavidad.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadForm/ComponentsAndViews/FriendsName.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadForm/ThankYouNavidad.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadForm/NavidadForm.tsx","webpack://vw-oneform-feature-app/./src/forms/FormsAdhoc/NavidadForm/assets/Svgs.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/NavidadTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/AcordionHorizontal.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/CTAOfertaSuv.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/MobileCard.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/LiSection.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/Tabs.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/ProgressBar.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/Suvperheroes/TabsNavigation.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/SuvperheroesTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/ConcursoRodajeTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/adhoc/PlanIdealTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/AutosubmitTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/BajaComunicacionesTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/CallMeOfertasTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/CallMeEmbeddedTrigger.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/divider/index.js","webpack://vw-oneform-feature-app/./src/triggers/CitaPosventaDealerTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/RaceTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/CitaPosventaDefaultTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/CitaPosventa/CitaPosventaEmbedded/CitaPosventaBenefitsForm.tsx","webpack://vw-oneform-feature-app/./src/triggers/CitaPosventaEmbeddedTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/CitaPosventaStageTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/CitaPosventaTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/EmpresasTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/LastNavigationCEMOneShop.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/CEMOneShopForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/use-initialize-lem-form.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/CEMOneShopController.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/CEMOneShopLastScreenFields.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/ConfirmacionCEMOneShop.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEM OneShop/ThankYouCEMOneShop.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMVentaProducto/FirstStepCEMVentaProducto.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMVentaProducto/StepsCEMVentaProducto.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMVentaProducto/ThankYouCEMVentaProducto.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMVentaProducto/CEMVentaProductoForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMVentaProducto/CEMVentaProductoController.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/CEMSegundaEntregaController.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/CEMSegundaEntregaForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/DealerCEMSegundaEntrega.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/CitaCEMSegundaEntregaStyles.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/CitaCEMSegundaEntrega.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/FormData.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/CEMSegundaEntregaNoInteres.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/ConfirmacionCEMSegundaEntrega.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/ThankYouCEMSegundaEntrega.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/valoracion/CEMSegundaEntregaValoracionController.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/valoracion/CEMSegundaEntregaValoracionForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Cem/CEMSegundaEntrega/valoracion/ThankYouCEMSegundaEntregaValoracion.tsx","webpack://vw-oneform-feature-app/./src/triggers/EncuestasTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/Feedback/ThankYouFeedback.tsx","webpack://vw-oneform-feature-app/./src/forms/Feedback/ConfirmacionFeedback.tsx","webpack://vw-oneform-feature-app/./src/forms/Feedback/FeedbackForm.tsx","webpack://vw-oneform-feature-app/./src/triggers/FeedbackTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadBonoTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadDealerTrigger.tsx","webpack://vw-oneform-feature-app/./src/feature-app/hooks/use-get-instalacion.ts","webpack://vw-oneform-feature-app/./src/triggers/LeadMatchTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadOfertasTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadStockTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadEmbededTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/CallCenter/CallCenterForm.tsx","webpack://vw-oneform-feature-app/./src/forms/Leads/CallCenter/LeadsCallCenterPartialData.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadInPageTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/LeadTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/MGMTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/NewsletterTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/OneFormTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/ProspectEmbeddedTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/ProspectPosventaEmbedded.tsx","webpack://vw-oneform-feature-app/./src/triggers/ProspectsTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/SACTrigger.tsx","webpack://vw-oneform-feature-app/./src/forms/UGC/UGCForm.tsx","webpack://vw-oneform-feature-app/./src/forms/UGC/UGCConfirmacion.tsx","webpack://vw-oneform-feature-app/./src/forms/UGC/UGCThankYou.tsx","webpack://vw-oneform-feature-app/./src/triggers/UGCTrigger.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/CTAMapa.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/CTAServices.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/CarouselWidget.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/DealerCardWidget.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/MapaScreen.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/SuggestionScreen.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/ViewDesktopWidgetMapa.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/ViewMobileWidgetMapa.tsx","webpack://vw-oneform-feature-app/./src/widgets/Mapa/WidgetMapa.tsx","webpack://vw-oneform-feature-app/./src/triggers/WidgetTrigger.tsx","webpack://vw-oneform-feature-app/./src/triggers/TestIDTrigger.tsx","webpack://vw-oneform-feature-app/./src/types.ts","webpack://vw-oneform-feature-app/./node_modules/@mapbox/point-geometry/index.js","webpack://vw-oneform-feature-app/./node_modules/@n8tb1t/use-scroll-position/lib/index.js","webpack://vw-oneform-feature-app/./node_modules/@n8tb1t/use-scroll-position/lib/useIsomorphicLayoutEffect.js","webpack://vw-oneform-feature-app/./node_modules/@n8tb1t/use-scroll-position/lib/useScrollPosition.js","webpack://vw-oneform-feature-app/./node_modules/@react-hook/latest/dist/module/index.js","webpack://vw-oneform-feature-app/./node_modules/@react-hook/throttle/dist/module/index.js","webpack://vw-oneform-feature-app/./node_modules/@react-hook/debounce/dist/module/index.js","webpack://vw-oneform-feature-app/./node_modules/@react-hook/event/dist/module/index.js","webpack://vw-oneform-feature-app/./node_modules/@react-hook/window-size/dist/module/index.js","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/global.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/node.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/env.ts","webpack://vw-oneform-feature-app/./node_modules/@sentry/src/time.ts","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/ssr.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/breakpoint-wrapper/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/call-to-action/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/character-counter/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/container/helpers.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/animation.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/container/container.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/notification-message/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/fieldset/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/a11y.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/breakpoint.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/common-props.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/StarOutline/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Discount/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Bookmark/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/CheckmarkCircle/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Alert/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/Info/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/display-tag/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/input-notification.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/input.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/logger.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/image/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/layout/layout.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/RadioButton/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/RadioButtonSelected/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/radio-button/index.js","webpack://vw-oneform-feature-app/./node_modules/markdown-to-jsx/index.tsx","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/list/list.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/list/list-item.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/richtext/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/ChevronDown/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/select/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/spinner/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/switch/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/tabs/tab.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/tabs/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/tabs/use-animated-indicator.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/tabs/use-previous-next-button-disabled-state.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/text-area/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/InputShow/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/InputHide/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/CloseCircle/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/text-input/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/text/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/create-css-var-name.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/definitions.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/grid.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/example-design-tokens.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/deprecations.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/helpers/get.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/example-theme-definitions.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/get-theme.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/get-design-token-value.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/dist-es/theme-provider/theme-provider.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/ChevronLeft/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/components-core/node_modules/@volkswagen-onehub/icons-core/dist-es/ChevronRight/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist-es/Close/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Add/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Alert/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ArrowDown/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ArrowLeft/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ArrowRight/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ArrowUp/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Calc/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Calendar/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/CarPickupService/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Checkmark/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ChevronLeft/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ChevronRight/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Close/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/ContactDealer/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Edit/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/FleetServicePrivate/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Info/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Interior/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Locate/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Magnifier/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Mail/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Phone/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Reload/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Remove/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/Route/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/StarFilled/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/icons-core/dist/StarOutline/index.js","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/layer-manager/src/v2/types.ts","webpack://vw-oneform-feature-app/./node_modules/@volkswagen-onehub/tokens/dist-es/index.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/TTDSGConsent/TTDSGConsentClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/TTDSGConsent/TTDSGConsentService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/TTDSGConsent/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/carNetShop/CarNetShopClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/carNetShop/CarNetShopService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/carNetShop/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/consent/ConsentClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/consent/ConsentConfigurationBuilder.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/consent/ConsentService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/contractCenter/ContractCenterService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/contractCenter/types.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/documentConsent/DocumentConsentClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/documentConsent/DocumentConsentService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/DecisionType.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/DevicePlatform.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/EnrollmentStatus.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/ModGeneration.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/Role.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/SoftwareVersion.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/enums/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/errors/TimeoutError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/errors/UnknownSimStatusError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/errors/VcfUpdateCapabilityError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gupis/fetch.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gupis/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/GvfClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/GvfService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/SpecificationFilter.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/VehicleCommissionDataHelper.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/errors/GvfNetworkError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/errors/UnknownVehicleError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/errors/UserNotAuthorizedError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/gvf/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/IdentityDataClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/LoginRenewalService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/userData/UserDataClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/userData/UserDataService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/idk/userData/helper-functions.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/mapPackages/MapPackagesService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/oilNorm/OilNormService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/permissionService/PermissionService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/profileService/ProfileServiceV2.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/profileService/WeProfileFacade.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/serviceConfig/ServiceConfigHelper.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/SpinNotificationType.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/SpinService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/TwoFactorManagementClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/errors/InvalidSpinError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/errors/MissingScopeSpinError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/spin/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/trackingFacade/TrackingFacade.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/user/UserClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/user/UserService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/user/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/validation/VehicleIdentifierValidator.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vas/VasClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/VcfMessageService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/VcfSubscriptionsSettingsClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/VcfSubscriptionsSettingsService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/VcfTransactionHistoryClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/capabilities/CapabilityUpdateStatusEvaluator.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/capabilities/PollingWrapper.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/capabilities/VcfCapabilityClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/capabilities/VcfCapabilityService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/digitalKeys/VcfDigitalKeyClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/digitalKeys/VcfDigitalKeyService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/errors/NoMessagesFoundError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/errors/NoReportAvailableError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/errors/NoSubscriptionSettingsFoundError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/errors/VcfMeasurementsError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/fuelStatus/VcfFuelStatusClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/fuelStatus/VcfFuelStatusService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/measurements/VcfMeasurementsClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/measurements/VcfMeasurementsService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/newsfeeds/VcfNewsFeedsClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/newsfeeds/fetch.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/notifications/VcfNotificationClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/notifications/VcfNotificationService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/notifications/index.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/notifications/types.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/vehicleHealth/VcfHealthClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/vehicleHealth/VcfHealthService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vcf/vehicleHealth/VcfHealthSettingsConverter.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vdbs/VdbsClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vdbs/VdbsService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vehicleImage/VehicleImageClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vehicleImage/VehicleImageService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vehicleImage/VehicleImageUrlBuilder.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/CommissionIdConverter.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/VumClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/VumFlattenedVehicleConverter.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/VumService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/VumUserRoleClient.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/VumUserRoleService.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/errors/NotEnrolledVehicleError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/src/vum/errors/VumProfileBrokenError.ts","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/index.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/md5.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/native.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/nil.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/parse.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/regex.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/rng.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/sha1.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/stringify.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/v1.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/v3.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/v35.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/v4.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/v5.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/validate.js","webpack://vw-oneform-feature-app/./node_modules/@vwdfive/myvw-services/node_modules/uuid/dist/commonjs-browser/version.js","webpack://vw-oneform-feature-app/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/dayjs.min.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/locale/es.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/advancedFormat.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/customParseFormat.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/isBetween.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/isSameOrBefore.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/timezone.js","webpack://vw-oneform-feature-app/./node_modules/dayjs/plugin/utc.js","webpack://vw-oneform-feature-app/./node_modules/enquire.js/src/MediaQuery.js","webpack://vw-oneform-feature-app/./node_modules/enquire.js/src/MediaQueryDispatch.js","webpack://vw-oneform-feature-app/./node_modules/enquire.js/src/QueryHandler.js","webpack://vw-oneform-feature-app/./node_modules/enquire.js/src/Util.js","webpack://vw-oneform-feature-app/./node_modules/enquire.js/src/index.js","webpack://vw-oneform-feature-app/./node_modules/eventemitter3/index.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/constants.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/getCoordinateKey.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/getCoordinateKeys.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/getDistance.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/getLatitude.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/getLongitude.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/isDecimal.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/isSexagesimal.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/isValidCoordinate.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/isValidLatitude.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/isValidLongitude.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/robustAcos.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/sexagesimalToDecimal.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/toDecimal.js","webpack://vw-oneform-feature-app/./node_modules/geolib/es/toRad.js","webpack://vw-oneform-feature-app/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://vw-oneform-feature-app/./node_modules/js-file-download/file-download.js","webpack://vw-oneform-feature-app/./node_modules/json2mq/index.js","webpack://vw-oneform-feature-app/./node_modules/lodash.debounce/index.js","webpack://vw-oneform-feature-app/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://vw-oneform-feature-app/./node_modules/prop-types/index.js","webpack://vw-oneform-feature-app/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/Autosuggest.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/Autowhatever.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/Item.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/ItemList.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/SectionTitle.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/compareObjects.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/index.js","webpack://vw-oneform-feature-app/./node_modules/react-autosuggest/dist/theme.js","webpack://vw-oneform-feature-app/./node_modules/react-device-detect/main.js","webpack://vw-oneform-feature-app/./node_modules/react-hook-form/dist/react-hook-form.es.js","webpack://vw-oneform-feature-app/./node_modules/react-is/cjs/react-is.production.min.js","webpack://vw-oneform-feature-app/./node_modules/react-is/index.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/components/Context.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/utils/batch.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/utils/Subscription.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/components/Provider.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/components/connectAdvanced.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/utils/shallowEqual.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/wrapMapToProps.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/mapDispatchToProps.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/utils/bindActionCreators.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/mapStateToProps.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/mergeProps.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/selectorFactory.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/connect/connect.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/hooks/useReduxContext.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/hooks/useStore.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/hooks/useDispatch.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/hooks/useSelector.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/es/index.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","webpack://vw-oneform-feature-app/./node_modules/react-redux/node_modules/react-is/index.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/arrows.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/default-props.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/dots.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/index.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/initial-state.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/inner-slider.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/slider.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/track.js","webpack://vw-oneform-feature-app/./node_modules/react-slick/lib/utils/innerSliderUtils.js","webpack://vw-oneform-feature-app/./node_modules/react-themeable/dist/index.js","webpack://vw-oneform-feature-app/./node_modules/react-themeable/node_modules/object-assign/index.js","webpack://vw-oneform-feature-app/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://vw-oneform-feature-app/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://vw-oneform-feature-app/./node_modules/dom-helpers/esm/removeClass.js","webpack://vw-oneform-feature-app/./node_modules/react-transition-group/esm/config.js","webpack://vw-oneform-feature-app/./node_modules/react-transition-group/esm/TransitionGroupContext.js","webpack://vw-oneform-feature-app/./node_modules/react-transition-group/esm/utils/reflow.js","webpack://vw-oneform-feature-app/./node_modules/react-transition-group/esm/Transition.js","webpack://vw-oneform-feature-app/./node_modules/react-transition-group/esm/CSSTransition.js","webpack://vw-oneform-feature-app/./node_modules/dom-helpers/esm/addClass.js","webpack://vw-oneform-feature-app/./node_modules/dom-helpers/esm/hasClass.js","webpack://vw-oneform-feature-app/./node_modules/redux/es/redux.js","webpack://vw-oneform-feature-app/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/isFunction.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/config.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/hostReportError.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/Observer.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/UnsubscriptionError.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/Subscription.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/isObject.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/symbol/rxSubscriber.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/Subscriber.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/identity.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/pipe.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/Observable.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/toSubscriber.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/canReportError.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/util/ObjectUnsubscribedError.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/SubjectSubscription.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/Subject.ts","webpack://vw-oneform-feature-app/./node_modules/rxjs/src/internal/BehaviorSubject.ts","webpack://vw-oneform-feature-app/./node_modules/section-iterator/dist/index.js","webpack://vw-oneform-feature-app/./node_modules/shallow-equal/arrays/index.js","webpack://vw-oneform-feature-app/./node_modules/string-convert/camel2hyphen.js","webpack://vw-oneform-feature-app/./node_modules/styled-normalize/dist/index.js","webpack://vw-oneform-feature-app/./node_modules/tslib/tslib.es6.js","webpack://vw-oneform-feature-app/./node_modules/ua-parser-js/dist/ua-parser.min.js","webpack://vw-oneform-feature-app/./src/components/Legales/iconlssi.svg","webpack://vw-oneform-feature-app/./src/components/Legales/icontmk.svg","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/dealer_marker.png","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/dealer_marker_grey.png","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/dealer_marker_selected.png","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/favourite_dealer.png","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/filter-ic_list.svg","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/marker.png","webpack://vw-oneform-feature-app/./src/feature-app/NewMap/assets/selected_marker.png","webpack://vw-oneform-feature-app/./src/forms/Leads/icon.svg","webpack://vw-oneform-feature-app/./src/forms/LeadsInPage/car_3-4.png","webpack://vw-oneform-feature-app/./src/forms/UGC/icon.svg","webpack://vw-oneform-feature-app/external umd \"react\"","webpack://vw-oneform-feature-app/external umd \"react-dom\"","webpack://vw-oneform-feature-app/external umd \"styled-components\"","webpack://vw-oneform-feature-app/./node_modules/classnames/index.js","webpack://vw-oneform-feature-app/./node_modules/@googlemaps/js-api-loader/dist/index.mjs","webpack://vw-oneform-feature-app/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://vw-oneform-feature-app/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/bind.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/utils.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/AxiosError.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/toFormData.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/buildURL.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/InterceptorManager.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/defaults/transitional.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/browser/index.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/common/utils.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/platform/index.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/defaults/index.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/transformData.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/cancel/isCancel.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/cancel/CanceledError.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/settle.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/speedometer.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/throttle.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/progressEventReducer.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/cookies.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/buildFullPath.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/combineURLs.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/mergeConfig.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/resolveConfig.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/adapters/xhr.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/composeSignals.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/trackStream.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/adapters/fetch.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/adapters/adapters.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/null.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/dispatchRequest.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/env/data.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/validator.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/core/Axios.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/cancel/CancelToken.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/axios.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/spread.js","webpack://vw-oneform-feature-app/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/ParseError.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/getPossibleCountriesForNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/getIddPrefix.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/format.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/RFC3966.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/PhoneNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/isValid.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/constants.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/applyInternationalSeparatorStyle.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/checkNumberLength.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/mergeArrays.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractCountryCallingCode.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractNationalNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/formatNationalNumberUsingFormat.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/getCountryByCallingCode.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/getCountryByNationalNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/getNumberType.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/isObject.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/matchesEntirely.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/parseDigits.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/stripIddPrefix.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/isPossible.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/tools/semver-compare.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/metadata.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/normalizeArguments.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extension/createExtensionPattern.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/isViablePhoneNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extension/extractExtension.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/parseIncompletePhoneNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractPhoneContext.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/helpers/extractFormattedPhoneNumberFromPossibleRfc3966NumberUri.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/parse.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/parsePhoneNumberWithError_.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/parsePhoneNumber_.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/metadata.min.json.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/source/isValidPhoneNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/isValidPhoneNumber.js","webpack://vw-oneform-feature-app/./node_modules/libphonenumber-js/min/exports/withMetadataArgument.js","webpack://vw-oneform-feature-app/webpack/bootstrap","webpack://vw-oneform-feature-app/webpack/runtime/amd options","webpack://vw-oneform-feature-app/webpack/runtime/compat get default export","webpack://vw-oneform-feature-app/webpack/runtime/define property getters","webpack://vw-oneform-feature-app/webpack/runtime/global","webpack://vw-oneform-feature-app/webpack/runtime/harmony module decorator","webpack://vw-oneform-feature-app/webpack/runtime/hasOwnProperty shorthand","webpack://vw-oneform-feature-app/webpack/runtime/make namespace object","webpack://vw-oneform-feature-app/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"), require(\"styled-components\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\", \"react-dom\", \"styled-components\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"react\"), require(\"react-dom\"), require(\"styled-components\")) : factory(root[\"react\"], root[\"react-dom\"], root[\"styled-components\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})((typeof self !== 'undefined' ? self : this), (__WEBPACK_EXTERNAL_MODULE__9155__, __WEBPACK_EXTERNAL_MODULE__9514__, __WEBPACK_EXTERNAL_MODULE__8694__) => {\nreturn ","import axios from 'axios';\nimport { getDataUrl, reportErrorSentry } from 'src/bff';\nimport { DealersData } from 'src/types';\n\nexport const getDealerKvps = async (kvps: string): Promise => {\n try {\n const dataUrl = getDataUrl();\n\n const dealerResponse = await axios.get(`${dataUrl}/getDealer/${kvps}`);\n\n if (dealerResponse?.data?.dealer) {\n return dealerResponse.data.dealer;\n }\n\n reportErrorSentry('Could not get dealer');\n console.error('Could not get dealer');\n return null;\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n","import axios, {AxiosResponse} from 'axios';\nimport {\n\tgetMolecularCdnUrl,\n\tgetOneformBFFCdnApiKey,\n\tgetOneformBFFCdnUrl,\n\tgetVwEventosEntregaIdealUrl,\n\treportErrorSentry,\n} from 'src/bff';\nimport {useIsComerciales} from 'src/feature-app';\nimport {\n\tDomainAttributesValues,\n\tInstallationResponse,\n\tInstallationEntregaIdealResponse,\n\tEntregaIdealHorarioResponse,\n} from 'src/types';\n\nexport const getInstallations = async (\n\ttoken?: string,\n\tdomain?: string,\n): Promise<{attributes: DomainAttributesValues[]}[]> => {\n\tconst isComerciales = useIsComerciales();\n\n\tconst requestToken =\n\t\t!token || testToken() ? (isComerciales ? 'LCV_DDB_FRM_LEM_REC_LEM' : 'VW_DDB_FRM_LEM_REC_LEM') : token;\n\tconst requestDomain = !domain\n\t\t? isComerciales\n\t\t\t? 'LCV_SF_LEAD_INSTALLATION'\n\t\t\t: 'VOLKSWAGEN_SF_LEAD_INSTALLATION'\n\t\t: domain;\n\tconst oneformCdn = getOneformBFFCdnUrl();\n\tconst oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n\ttry {\n\t\tconst installations: AxiosResponse = await axios.get(\n\t\t\t`${oneformCdn}/ndps/domain?token=${requestToken}&domain=${requestDomain}`,\n\t\t\t{\n\t\t\t\ttimeout: 10000,\n\t\t\t\theaders: {\n\t\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\t\treturn installations.data.content;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const getInstallationsLegacy = async (\n\ttoken?: string,\n\taddPosventa?: boolean,\n): Promise<{attributes: DomainAttributesValues[]}[]> => {\n\tconst requestToken = !token || testToken() ? 'VW_DDB_FRM_LEM_REC_LEM' : token;\n\tconst domain = addPosventa ? 'Installations_VW_All' : 'Installation';\n\tconst molecularCdnUrl = getMolecularCdnUrl();\n\n\ttry {\n\t\tconst installations: AxiosResponse = await axios.get(\n\t\t\t`${molecularCdnUrl}/request-dps-domain.php?token=${requestToken}&domain=${domain}`,\n\t\t);\n\t\treturn installations.data.content;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nconst testToken = () => {\n\tconst urlParams = new URLSearchParams(window.location.search);\n\treturn urlParams.get('test') && urlParams.get('test').includes('TOKEN');\n};\n\nexport const getInstallationsEntregaIdeal = async (): Promise => {\n\tconst url = getVwEventosEntregaIdealUrl();\n\n\ttry {\n\t\tconst response: AxiosResponse = await axios.get(`${url}/instalaciones`);\n\t\treturn response.data.instalaciones;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const getHorariosInstallation = async (\n\tkvps: string,\n\tyear: string | number,\n\tmonth: string | number,\n): Promise => {\n\tconst url = getVwEventosEntregaIdealUrl();\n\n\ttry {\n\t\tconst response: AxiosResponse<[]> = await axios.get(`${url}/horario/${kvps}/${year}/${month}`);\n\t\treturn response.data;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n","import { fetchMarketingCode, reportErrorSentry } from 'src/bff';\nimport { TrackingConfiguration } from 'src/feature-app';\n\n/*\nexport interface MarketingCodeFields {\n 'fields[COD_VEH_SALESGROUP]': string;\n 'fields[DESC_VEH_SALESGROUP]': string;\n 'fields[DESC_TRIM_LINE]': string;\n 'fields[COD_VEH_TMAIMG]': string;\n 'fields[DESC_VEH_TMAIMG]': string;\n 'fields[DESC_VEH_MARKETING_CODE]': string;\n 'fields[COD_VEH_COLOR]': string;\n 'fields[DESC_VEH_COLOR]': string;\n 'fields[COD_VEH_COLOR_INT]': string;\n 'fields[DESC_VEH_COLOR_INT]': string;\n 'fields[COD_VEH_WHEELS]': string;\n 'fields[DESC_VEH_WHEELS]': string;\n}\n*/\n\nexport interface MarketingCodeHistory {\n marketingCode: string;\n marketingCodeConfig: TrackingConfiguration;\n response: any;\n}\nlet marketingCodeHistory: MarketingCodeHistory[] = [];\n\nexport const getMarketingCode = async (\n marketingCode: string,\n): Promise<{\n marketingCodeConfig: TrackingConfiguration;\n response: any;\n}> => {\n // await delayRequest();\n const offerInHistory = marketingCodeHistory.find((offer) => offer.marketingCode === marketingCode);\n\n if (offerInHistory) {\n return {\n marketingCodeConfig: offerInHistory.marketingCodeConfig,\n response: offerInHistory.response,\n };\n } else {\n const { marketingCodeConfig, response } = await receiveMarketingCode(marketingCode);\n const history: MarketingCodeHistory = { marketingCode, marketingCodeConfig, response };\n marketingCodeHistory.push(history);\n return { marketingCodeConfig, response };\n }\n};\n\nexport const getFeatures = (features: { code: string }[]) => {\n if (!features) return [];\n return features.map((feature) => feature.code);\n};\n\nexport const getWheelsParams = (features: { code: string; name: string }[]) => {\n if (!features) return { COD_VEH_WHEELS: '', DESC_VEH_WHEELS: '' };\n const wheel = features.find((feature) => feature.code.startsWith('MRAD'));\n\n const COD_VEH_WHEELS = wheel?.code ? wheel.code : undefined;\n const DESC_VEH_WHEELS = wheel?.name ? wheel.name : undefined;\n return { COD_VEH_WHEELS, DESC_VEH_WHEELS };\n};\n\nexport const getWheels = (features: { code: string; name: string }[]) => {\n const { COD_VEH_WHEELS, DESC_VEH_WHEELS } = getWheelsParams(features);\n\n return { 'fields[COD_VEH_WHEELS]': COD_VEH_WHEELS, 'fields[DESC_VEH_WHEELS]': DESC_VEH_WHEELS.slice(0, 65) };\n};\n\nexport const getOption = (category: string, options: { category: string, code: string, description: string }[]) => {\n const option = options.find((option) => option.category==category);\n return { option };\n};\n\nexport const getModelFilter = (type: string, modelFilters: { id: string, text: string, type: string }[]) => {\n const modelFilter = modelFilters.find((modelFilter) => modelFilter.type==type);\n return { modelFilter };\n};\n\nclass ErrorLoadStorageDataset extends Error {\n constructor(message: any) {\n super(message);\n this.name = 'ErrorLoadStorageDataset';\n }\n}\n\nexport const receiveMarketingCode = async (\n marketingCode: string,\n): Promise<{ marketingCodeConfig: TrackingConfiguration; response?: any }> => {\n\n try {\n const response = await fetchMarketingCode(marketingCode);\n\n const salesgroup = getOption(\"SALESGROUP\",response.content.consolidatedData.options);\n const modelyear = getOption(\"MODELYEAR\",response.content.consolidatedData.options);\n const type = getOption(\"TYPE\",response.content.consolidatedData.options);\n const baseType = getOption(\"BASETYPE\",response.content.consolidatedData.options);\n\n const equipmentLine = getModelFilter(\"EquipmentLine\",response.content.consolidatedData.meta.modelFilter);\n\n const marketingCodeConfig: TrackingConfiguration = {\n CarlineId: response.content.consolidatedData.model_code.split(\"_\")[1],\n CarlineName: response.content.consolidatedData.model_description,\n SalesgroupId: salesgroup.option.code.replace('SALESGROUP:',''),\n SalesgroupName: salesgroup.option.description,\n EquipmentlineName: equipmentLine.modelFilter.text,\n ModelId: baseType.option.code.replace('BASETYPE:',''),\n ModelName: type.option.description,\n ModelYear: modelyear.option.code.replace('MODELYEAR:',''),\n };\n\n return { marketingCodeConfig, response};\n } catch (error) {\n const errorMkc = new ErrorLoadStorageDataset(error);\n reportErrorSentry(errorMkc);\n const marketingCodeConfig: TrackingConfiguration = null;\n return { marketingCodeConfig };\n }\n};\n\n/**\n * Necesitamos retrasar la request ya que se llama desde muchos sitios al mismo tiempo, por lo que se producen llamadas\n * innecesarias. Esta función simplemente espera a que de tiempo a resolver el marketing code y se la siguiente llamada\n * ya encuentre el resultado de la request anterior en el objeto de historia.\n */\nexport const delayRequest = async () =>\n new Promise((resolve) => {\n setTimeout(resolve, 1000);\n });\n","import axios, { AxiosResponse } from 'axios';\nimport { MolecularResponse, OneformBFFResponse } from 'src/types';\nimport { getMolecularUrl, getOneformBFFUrl, getOneformBFFApiKey, reportErrorSentry } from 'src/bff';\n\n\nexport const filesBffSend = async (\n\tformData: FormData,\n\tfiles?: File[]\n): Promise> => {\n\n\ttry {\n\t\tif(files) {\n\t\t\tfiles.forEach((file, index) => {\n\t\t\t\tformData.append(`file_${index}`, file);\n\t\t\t});\n\t\t}\n\n\t\tconst oneformBFFUrl = getOneformBFFUrl();\n\t\tconst oneformBFFApiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${oneformBFFUrl}/files/email`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t\t'Content-Type': 'multipart/form-data'\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\n\nexport const oneformBFFNdpsSend = async (\n\tformData: FormData,\n\tisPresubmit?: boolean,\n): Promise> => {\n\tif (isTest(formData, isPresubmit)) return { data: { status: { code: 200 } } };\n\n\ttry {\n\t\tconst oneformBFFUrl = getOneformBFFUrl();\n\t\tconst oneformBFFApiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${oneformBFFUrl}/ndps/responses`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const oneformBFFYumiwiSend = async (\n\tformData: FormData,\n\tisPresubmit?: boolean,\n): Promise> => {\n\tif (isTest(formData, isPresubmit)) return { data: { status: { code: 200 } } };\n\n\ttry {\n\t\tconst oneformBFFUrl = getOneformBFFUrl();\n\t\tconst oneformBFFApiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${oneformBFFUrl}/ndps/responses/yumiwi`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const yumiwiBffSend = async (\n\tformData: FormData,\n\tauthToken: string,\n): Promise> => {\n\n\ttry {\n\t\tconst oneformBFFUrl = getOneformBFFUrl();\n\t\tconst oneformBFFApiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${oneformBFFUrl}/yumiwi/attendees`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const dpsSend = async (formData: FormData, isPresubmit?: boolean): Promise> => {\n\tif (isTest(formData, isPresubmit)) return { data: { content: { code: '200' } } };\n\n\ttry {\n\t\tconst MOLECULAR_URL = getMolecularUrl(); // Legacy\n\t\tconst response = await axios.post(`${MOLECULAR_URL}/request-dps-send.php`, formData);\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const yumiwiSend = async (\n\tformData: FormData,\n\tisPresubmit?: boolean,\n): Promise> => {\n\tif (isTest(formData, isPresubmit)) return { data: { content: { code: '200' } } };\n\n\ttry {\n\t\tconst MOLECULAR_URL = getMolecularUrl(); // Legacy\n\t\tconst response = await axios.post(`${MOLECULAR_URL}/request-dps-send-yumiwi.php`, formData);\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const raceSend = async (\n\tformData: FormData,\n\tisPresubmit?: boolean,\n): Promise> => {\n\tif (isTest(formData, isPresubmit)) return { data: { content: { code: '200' } } };\n\n\ttry {\n\t\tconst MOLECULAR_URL = getMolecularUrl(); // Legacy\n\t\tconst response = await axios.post(`${MOLECULAR_URL}/request-race-callme.php`, formData);\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nconst isTest = (formData: FormData, isPresubmit?: boolean) => {\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst test =\n\t\turlParams.get('test') &&\n\t\t((isPresubmit && urlParams.get('test').includes('PRESUBMIT')) ||\n\t\t\t(!isPresubmit && urlParams.get('test').includes('SEND')));\n\tif (test) {\n\t\tlet fields = [];\n\t\tfor (const entry of formData.entries()) {\n\t\t\tfields[entry[0]] = entry[1];\n\t\t}\n\t\tconsole.log('%cOneform Test Send:', 'font-weight: 700', fields);\n\t\treturn true;\n\t}\n\treturn false;\n};\n\nexport const motorflashSend = (formData: FormData): Promise => {\n\tconst MOLECULAR_URL = getMolecularUrl(); // Legacy\n\n\treturn axios\n\t\t.post(`${MOLECULAR_URL}/request-motorflash-send.php`, formData)\n\t\t.then((response: AxiosResponse) => response.data)\n\t\t.catch((error) => error);\n};\n","import Axios from 'axios';\nimport { getMolecularCdnUrl, getOneformBFFCdnApiKey, getOneformBFFCdnUrl, reportErrorSentry } from 'src/bff';\nimport { DomainResponse } from 'src/types';\n\nexport const fetchDomain = async (token: string, domain: string): Promise => {\n\tconst oneformCdn = getOneformBFFCdnUrl();\n\tconst oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n\ttry {\n\t\tconst response = await Axios.get(`${oneformCdn}/ndps/domain?token=${token}&domain=${domain}`, {\n\t\t\ttimeout: 10000,\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response.data;\n\t} catch (err) {\n\t\treportErrorSentry(err);\n\t\treturn null;\n\t}\n};\n\nexport const fetchProvince = async (token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response = await Axios.get(`${oneformCdn}/ndps/domain?token=${requestToken}&domain=PROVINCE_CODE`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n }\n );\n\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchCountries = async (token?: string): Promise => {\n\tconst requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n\tconst oneformCdn = getOneformBFFCdnUrl();\n\tconst oneformBFFApiKey = getOneformBFFCdnApiKey();\n \n\ttry {\n\t\tconst response = await Axios.get(`${oneformCdn}/ndps/domain?token=${requestToken}&domain=COUNTRY`,\n\t\t{\n\t\t\ttimeout: 10000,\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': oneformBFFApiKey\n\t\t}\n\t\t}\n\t\t);\n\t\n\t\treturn response.data;\n\t} catch (err) {\n\t\treportErrorSentry(err);\n\t\treturn null;\n\t}\n };\n\nexport const fetchDealers = async (code: string, token?: string): Promise => {\n const requestToken = !token ? 'VW_DDB_FRM_LEM_REC_LEM' : token;\n let domain = '';\n switch (requestToken) {\n case \"VW_DDB_FRM_LEM_REC_LEM\":\n domain = 'VOLKSWAGEN_SF_LEAD_INSTALLATION';\n break;\n case \"LCV_DDB_FRM_LEM_REC_LEM\":\n domain = 'LCV_SF_LEAD_INSTALLATION'\n break;\n default:\n domain = 'VOLKSWAGEN_SF_LEAD_INSTALLATION';\n }\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response = await Axios.get(\n `${oneformCdn}/ndps/domain?token=${requestToken}&domain=${domain}&relatedDomain=FRML_TXT_codVentaProvincia__c&relatedValue=${code}`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n }\n );\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchTreatment = async (token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response = await Axios.get(`${oneformCdn}/ndps/domain?token=${requestToken}&domain=Treatment`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n });\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchProvinceLegacy = async (token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const molecularCdn = getMolecularCdnUrl();\n\n try {\n const response = await Axios.get(`${molecularCdn}/request-dps-domain.php?token=${requestToken}&domain=Province`,\n {\n timeout: 10000\n });\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchDealersLegacy = async (code: string, token?: string, addPosventa?: boolean): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const domain = addPosventa ? 'Installations_VW_All' : 'Installation';\n const molecularCdn = getMolecularCdnUrl();\n\n try {\n const response = await Axios.get(`${molecularCdn}/request-dps-domain.php?token=${requestToken}&domain=${domain}&relatedDomain=FRML_TXT_codVentaProvincia__c&relatedValue=${code}`,\n {\n timeout: 10000\n }\n );\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchTreatmentLegacy = async (token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const molecularCdn = getMolecularCdnUrl();\n\n try {\n const response = await Axios.get(`${molecularCdn}/request-dps-domain.php?token=${requestToken}&domain=Treatment`,\n {\n timeout: 10000,\n });\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n","import fetch from 'cross-fetch';\nimport * as settings from 'src';\nimport { getOneformBFFCdnUrl, getOneformBFFCdnApiKey, reportErrorSentry } from 'src/bff';\n\nexport const fetchMarketingCode = async (marketingCode: string) => {\n const oneformBFFCdnUrl = getOneformBFFCdnUrl();\n const oneformBFFCdnApiKey = getOneformBFFCdnApiKey();\n\n return fetch(oneformBFFCdnUrl + '/okapi/marketing-code?marketingCode=' + marketingCode, {\n headers: {\n \"X-Api-Key\": oneformBFFCdnApiKey,\n }\n })\n .then((response) => response.json())\n .catch((err) => {\n reportErrorSentry(err);\n });\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { CarlineBase } from 'src/types';\nimport { getDataUrl, reportErrorSentry } from 'src/bff';\n\nexport const getCarlines = async (): Promise => {\n try {\n const dataUrl = getDataUrl();\n \n const response: AxiosResponse<{ carlines: CarlineBase[] }> = await axios.get(`${dataUrl}/getCarlines`);\n return response.data.carlines;\n \n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { Color } from 'src';\nimport { getDataUrlWithoutTenant, reportErrorSentry } from 'src/bff';\n\ninterface ColoresRequest {\n colores: Color[];\n}\n\nexport const getColors = async () => {\n const dataUrl = getDataUrlWithoutTenant();\n\n try {\n const response: AxiosResponse = await axios.get(`${dataUrl}/getColores`);\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { getDataUrl, reportErrorSentry } from 'src/bff';\nimport { DealersData } from 'src/types';\n\nexport const getDealers = async (): Promise => {\n try {\n const dataUrl = getDataUrl();\n\n if (!dataUrl) {\n console.error('Error during fetch.');\n return null;\n }\n const dealers: AxiosResponse<{ dealers: DealersData[] }> = await axios.get(`${dataUrl}/getDealers`);\n return dealers.data.dealers;\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { getMolecularUrl, getOneformBFFUrl, getOneformBFFApiKey, reportErrorSentry } from 'src/bff';\n\nexport interface PincodeData {\n status: { result: string; timestamp: string; code: number; time: number; };\n params: { pincode: string; token: string };\n content: PincodeResponseOk[] | PincodeResponseKo;\n}\n\nexport interface PincodeResponseOk {\n attributes: PincodeDataAttributes[];\n}\nexport interface PincodeResponseKo {\n code: string;\n data: string;\n message: string;\n status: string;\n}\nexport interface PincodeDataAttributes {\n name: string;\n value: string;\n}\n\nexport const getPincode = async (\n pincode: string,\n\tuseBff?: boolean,\n token?: string\n): Promise<{ pincodeData: PincodeData; pincodeUsed: boolean; pincodeError: boolean }> => {\n try {\n if (!token) {\n token = getPincodeToken(pincode);\n\n if (!token) {\n return { pincodeData: null, pincodeUsed: false, pincodeError: true };\n }\n }\n\n\t\tlet dataResponse: AxiosResponse;\n\n\t\tif (useBff) {\n\t\t\tconst oneformBFFUrl = getOneformBFFUrl();\n\t\t\tconst oneformBFFApiKey = getOneformBFFApiKey();\n\t\t\tdataResponse = await axios.get(`${oneformBFFUrl}/ndps/preload?pincode=${pincode}&token=${token}`, {\n\t\t\t\theaders: {\n\t\t\t\t\t'X-Api-Key': oneformBFFApiKey\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\telse { \n\t\t\tconst MOLECULAR_URL = getMolecularUrl(); // Legacy\n\t\t\tdataResponse = await axios.get(\n\t\t\t\t`${MOLECULAR_URL}/request-dps-pincode.php?pincode=${pincode}&token=${token}`\n\t\t\t);\n\t\t}\n\n\t\tconst pincodeData = dataResponse;\n\n if (pincodeData && pincodeData.data && \n\t\t\t(pincodeData.data.status.code === 1 || pincodeData.data.status.code === 200)) {\n return { pincodeData: pincodeData.data, pincodeUsed: false, pincodeError: false };\n } else {\n if (\n pincodeData &&\n pincodeData.data &&\n pincodeData.data.content &&\n (pincodeData.data.content as PincodeResponseKo).message.includes('PINCODE_ALREADY_USED')\n ) {\n return { pincodeData: null, pincodeUsed: true, pincodeError: false };\n }\n\n return { pincodeData: null, pincodeUsed: false, pincodeError: true };\n }\n } catch (error) {\n console.error(error);\n reportErrorSentry(error);\n return { pincodeData: null, pincodeUsed: false, pincodeError: true };\n }\n};\n\n/**\n * El token viene codificado en base64 en el formato PINCODETOKEN.\n * @param pincode\n */\nexport const getPincodeToken = (pincode: string): string => {\n try {\n const pincodeDecoded = atob(pincode).split(/(?=VW)/g);\n return pincodeDecoded[pincodeDecoded.length - 1];\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { getDataUrl, reportErrorSentry } from 'src/bff';\nimport { CarlinesWithSalesgroups } from 'src/types';\n\nexport const getSalesgroups = async (): Promise => {\n try {\n const dataUrl = getDataUrl();\n\n const response: AxiosResponse<{ carlines: CarlinesWithSalesgroups[] }> = await axios.get(\n `${dataUrl}/getSalesgroups`\n );\n\n return response.data.carlines;\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n","import axios, { AxiosResponse } from 'axios';\nimport { getDataUrl, getOneformBFFCdnApiKey, getOneformBFFCdnUrl, reportErrorSentry } from 'src/bff';\nimport { modelCar, DomainResponse } from 'src/types';\n\nexport const getVehiculosModelo = async (): Promise => {\n try {\n const dataUrl = getDataUrl();\n const response: AxiosResponse = await axios.get(`${dataUrl}/getVehiculosModelos`);\n return response.data.vehiculos;\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n};\n\nexport const fetchMarcas = async (token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response = await axios.get(`${oneformCdn}/ndps/domain?token=${requestToken}&domain=BRANDEUROTAX`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n }\n );\n\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};\n\nexport const fetchModelos = async (code: string, token?: string): Promise => {\n const requestToken = token ? token : 'VW_DDB_FRM_LEM_REC_LEM';\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response = await axios.get(`${oneformCdn}/ndps/domain?token=${requestToken}&domain=MODELOS_EUROTAX&relatedDomain=BRAND&relatedValue=${code}`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n }\n );\n\n return response.data;\n } catch (err) {\n reportErrorSentry(err);\n return null;\n }\n};","import axios, { AxiosResponse } from 'axios';\nimport { getMolecularCdnUrl, getOneformBFFCdnUrl, getOneformBFFCdnApiKey, reportErrorSentry } from 'src/bff';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Volkswagen Vilma service config provider.');\n return null;\n};\n\nexport const getVilmaAssets = async (frame: string) => {\n\n const oneformCdn = getOneformBFFCdnUrl();\n const oneformBFFApiKey = getOneformBFFCdnApiKey();\n\n try {\n const response: AxiosResponse = await axios.get(\n `${oneformCdn}/vilma/assets?frame=${frame}`,\n {\n timeout: 10000,\n headers: {\n 'X-Api-Key': oneformBFFApiKey\n }\n }\n );\n return response.data;\n } catch (error) {\n reportErrorSentry(error);\n return null;\n }\n}\n","import axios from 'axios';\nimport { getDataUrl, reportErrorSentry } from 'src/bff';\nimport { CarlineBase, CarlineWithOffers } from 'src/types';\n\nexport const getOfertasSUV = async () => {\n const dataUrl = getDataUrl(); \n let dataRes: any;\n let carlinesWithOffers: CarlineWithOffers[];\n await axios.get(`${dataUrl}/getOfertas`)\n .then(res => dataRes = res.data)\n .then(() => {\n carlinesWithOffers = dataRes.carlines.filter((carline: CarlineBase) => {\n const carlineNames = ['t-cross', 'taigo', 't-roc'];\n return carlineNames.includes(carline.name.toLowerCase());\n });\n })\n .catch((error) => {\n reportErrorSentry(error);\n return null;\n });\n return carlinesWithOffers;\n};\n","import axios, {AxiosResponse} from 'axios';\nimport {OneformBFFResponse} from 'src/types';\nimport {getOneformBFFUrl, getOneformBFFApiKey, reportErrorSentry} from 'src/bff';\nimport {useIsComerciales} from 'src/feature-app';\n\nexport const getEapiCarlines = async (): Promise> => {\n\ttry {\n\t\tconst groupBrand = useIsComerciales() ? 'N' : 'V';\n\t\tconst url = getOneformBFFUrl();\n\t\tconst apiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.get(`${url}/eapi/carlines?group_brand=${groupBrand}`, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': apiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const getEapiAvailability = async (\n\tkvps: string,\n\tcodInstalacion: string,\n\ttimestampFrom: number,\n\ttimestampTo: number,\n): Promise> => {\n\ttry {\n\t\tconst groupBrand = useIsComerciales() ? 'N' : 'V';\n\t\tconst url = getOneformBFFUrl();\n\t\tconst apiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.get(\n\t\t\t`${url}/eapi/availability?group_brand=${groupBrand}&kvps=${kvps}&cod_instalacion=${codInstalacion}×tamp_from=${timestampFrom}×tamp_to=${timestampTo}&check_dealer=true`,\n\t\t\t{\n\t\t\t\theaders: {\n\t\t\t\t\t'X-Api-Key': apiKey,\n\t\t\t\t},\n\t\t\t},\n\t\t);\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const createEapiAppointment = async (formData: FormData): Promise> => {\n\ttry {\n\t\tconst url = getOneformBFFUrl();\n\t\tconst apiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${url}/eapi/appointment/create`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': apiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const deleteEapiAppointment = async (formData: FormData): Promise> => {\n\ttry {\n\t\tconst url = getOneformBFFUrl();\n\t\tconst apiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.post(`${url}/eapi/appointment/delete`, formData, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': apiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n\nexport const getEapiAppointmentIcs = async (pincode: string): Promise => {\n\ttry {\n\t\tconst groupBrand = useIsComerciales() ? 'N' : 'V';\n\t\tconst url = getOneformBFFUrl();\n\t\tconst apiKey = getOneformBFFApiKey();\n\t\tconst response = await axios.get(`${url}/eapi/appointment/get/ics?group_brand=${groupBrand}&pincode=${pincode}`, {\n\t\t\theaders: {\n\t\t\t\t'X-Api-Key': apiKey,\n\t\t\t},\n\t\t});\n\n\t\treturn response.data;\n\t} catch (error) {\n\t\treportErrorSentry(error);\n\t\treturn null;\n\t}\n};\n","import { ServiceConfigurationV1 } from '@volkswagen-onehub/service-config-provider';\nimport { getDataServiceConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Volkswagen Data service config provider.');\n return null;\n};\n\nexport const getTenant = (dataService: ServiceConfigurationV1) => {\n return isPrivate(dataService)\n ? dataService.tenantPrivate\n : isCommercial(dataService)\n ? dataService.tenantCommercial\n : null;\n};\n\nexport const isCommercial = (dataService: ServiceConfigurationV1) => dataService.customConfig?.brand === 'N';\nexport const isPrivate = (dataService: ServiceConfigurationV1) => dataService.customConfig?.brand === 'V';\n\nexport const checkTenant = (dataService: ServiceConfigurationV1) => {\n const tenant = getTenant(dataService);\n\n return tenant ? `/${tenant}` : '';\n};\n\nexport const getDataUrl = (): string | null => {\n const data = getDataServiceConfig();\n\n if (!data) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return `${data.urlOrigin}${data.urlPath}${checkTenant(data)}`;\n};\n\nexport const getDataUrlWithoutTenant = (): string | null => {\n const data = getDataServiceConfig();\n\n if (!data) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return `${data.urlOrigin}${data.urlPath}`;\n};\n","import { getVwEventosConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Volkwagen Eventos service config provider.');\n return null;\n};\n\nexport const getVwEventosUrl = (): string | null => {\n const service = getVwEventosConfig();\n\n if (!service) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return service.urlOrigin;\n};\n\nexport const getVwEventosEntregaIdealUrl = (): string | null => {\n const service = getVwEventosConfig();\n\n if (!service) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return service.urlOrigin + '/api/volkswagen/entrega-ideal';\n};\n","import { getFeatureServices, getGoogleApiKeyServiceConfig, getMolecularServiceConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Google API Key service config provider.');\n return null;\n};\n\nexport const getGoogleApiKey = (): string | null => {\n const googleApiKeyService = getGoogleApiKeyServiceConfig();\n\n if (!googleApiKeyService) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return googleApiKeyService.customConfig?.apiKey;\n};\n","import { getMolecularCdnServiceConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Molecular CDN service config provider.');\n return null;\n};\n\nexport const getMolecularCdnUrl = (): string | null => {\n const molecularCdn = getMolecularCdnServiceConfig();\n\n if (!molecularCdn) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return (testProduction() ? molecularCdn.urlOrigin.replace('pre-', '') : molecularCdn.urlOrigin) + molecularCdn.urlPath;\n};\n\nconst testProduction = () => {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get('test') && urlParams.get('test').includes('PROD');\n}","import { getMolecularServiceConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving Molecular service config provider.');\n return null;\n};\n\nexport const getMolecularUrl = (): string | null => {\n const molecular = getMolecularServiceConfig();\n\n if (!molecular) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return molecular.urlOrigin + molecular.urlPath;\n};\n","import {getOneformBFFServiceConfig} from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n\tconsole.error('Error retrieving OneForm BFF service config provider.');\n\treturn null;\n};\n\nexport const getOneformBFFUrl = (): string | null => {\n\tconst oneformBFF = getOneformBFFServiceConfig();\n\n\tif (!oneformBFF) {\n\t\treturn handleErrorInRetrievingExternalConfig();\n\t}\n\n\treturn oneformBFF.urlOrigin + oneformBFF.urlPath;\n};\n","import { getOneformBFFCdnServiceConfig } from 'src/feature-app';\n\nexport interface OneformBFFCustomConfig {\n 'X-Api-Key'?: string\n}\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving OneForm BFF service config provider.');\n return null;\n};\n\nexport const getOneformBFFApiKey = () => {\n const oneformBFF = getOneformBFFCdnServiceConfig();\n const customConfig:OneformBFFCustomConfig = oneformBFF.customConfig;\n\n if (!oneformBFF) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return customConfig['X-Api-Key'];\n};\n","import { getOneformBFFCdnServiceConfig } from 'src/feature-app';\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving OneForm BFF CDN service config provider.');\n return null;\n};\n\nexport const getOneformBFFCdnUrl = (): string | null => {\n const oneformBFFCdn = getOneformBFFCdnServiceConfig();\n\n if (!oneformBFFCdn) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return (testProduction() ? oneformBFFCdn.urlOrigin.replace('pre-', '') : oneformBFFCdn.urlOrigin) + oneformBFFCdn.urlPath;\n};\n\nconst testProduction = () => {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get('test') && urlParams.get('test').includes('PROD');\n}","import { getOneformBFFCdnServiceConfig } from 'src/feature-app';\n\nexport interface OneformBFFCdnCustomConfig {\n 'X-Api-Key'?: string \n}\n\nconst handleErrorInRetrievingExternalConfig = (): null => {\n console.error('Error retrieving OneForm BFF CDN service config provider.');\n return null;\n};\n\nexport const getOneformBFFCdnApiKey = () => {\n const oneformBFF = getOneformBFFCdnServiceConfig();\n const customConfig:OneformBFFCdnCustomConfig = oneformBFF.customConfig;\n \n if (!oneformBFF) {\n return handleErrorInRetrievingExternalConfig();\n }\n\n return customConfig['X-Api-Key'];\n};\n","import { getSentryHub } from 'src/feature-app/sentry';\n\nexport const reportErrorSentry = (error: any) => {\n const hub = getSentryHub();\n hub.run((currentHub) => {\n currentHub.withScope((scope) => {\n currentHub.captureException(error);\n });\n });\n};\n","/* eslint-disable react/display-name */\nimport React, { useState, useEffect, useRef } from 'react';\nimport { styled, Select, Text, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { useDispatch } from 'react-redux';\nimport { useOneFormContext, useTrackingManager } from 'src/feature-app';\nimport { SelectExtendedList } from './CarlineSelect';\nimport { useFormContext } from 'react-hook-form';\n\ntype WrapperProps = {\n disabled?: boolean;\n themeColor?: string;\n};\n\nconst SelectWrapper = styled.div`\n\n opacity: ${(props) => (props.disabled ? '0.5' : '1')};\n & span::before {\n display: none;\n }\n svg {\n fill: ${(props) => (props.themeColor === 'inverted' ? '#ffffff' : '#001E50')};\n }\n option {\n color: #001e50;\n padding-left: 12px;\n }\n }\n`;\nconst SelectOption = styled.option``;\n\ninterface SelectProps {\n options: Array;\n name: string;\n label: string;\n value?: any;\n defaultValue?: string;\n isFloating?: boolean;\n required?: boolean;\n disabled?: boolean;\n error?: boolean;\n getDealers?: (provincia: string) => void;\n setFormValue?: (selValueIndex: number) => void;\n onClick?: (e?: any) => void;\n setOption?: React.Dispatch>;\n updateFields?: boolean;\n handleChange: any;\n isRequired: boolean;\n innerRef?: any;\n}\n\nexport const SelectExtended = React.forwardRef((props: SelectProps, ref: React.Ref) => {\n const [selItem, setSelItem] = useState(null);\n const [showOptions, setShowOptions] = useState(false);\n\n const [keyValuePair, setKeyValuePair] = useState();\n const { name, options, setOption, updateFields, value, handleChange, isRequired, label, defaultValue, isFloating, innerRef } = props;\n const wrapperRef = useRef(null);\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { setValue } = useFormContext();\n\n const handleClickOutside = (e: any) => {\n if (!wrapperRef.current.contains(e.target)) {\n setShowOptions(false);\n }\n };\n\n const setItem = (option: any, index: number) => {\n if (!props.disabled) {\n if (typeof option !== 'object') {\n setSelItem(option);\n if (setOption) setOption(option);\n } else {\n const dealerName = option.props.children[0].props.children;\n setSelItem(dealerName);\n }\n if (props.setFormValue) props.setFormValue(index);\n setShowOptions(false);\n }\n };\n\n useEffect(() => {\n setSelItem(null);\n }, [props.options]);\n\n useEffect(() => {\n document.addEventListener('mousedown', handleClickOutside);\n // función que se llama cuando la componente se desmonta\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [wrapperRef.current]);\n\n useEffect(() => {\n updateFields\n ? dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: keyValuePair ? keyValuePair : value } })\n : undefined;\n }, [keyValuePair, value]);\n\n useEffect(() => {\n if (value) {\n setTimeout(() => {\n setSelItem(value);\n }, 0);\n }\n }, [value]);\n\n return (\n \n {\n trackingManager.trackFormFieldClick(\n {\n contentId: label,\n },\n {\n FormFieldName: name,\n }\n );\n props.onClick();\n }}\n disabled={props.disabled}\n ref={wrapperRef}\n themeColor={formInfo.formTheme}\n >\n {\n event.preventDefault();\n handleChange(event);\n }}\n required={isRequired}\n autoFocus={false}\n ref={innerRef}\n >\n {isFloating && {label}}\n {options.map((option: any, index: number) => {\n if (typeof option === 'string') {\n return (\n {\n e.preventDefault();\n setItem(option, index);\n }}\n key={index}\n value={option}\n >\n {option}\n \n );\n } else {\n return (\n {\n e.preventDefault();\n setItem(option.name, index);\n setKeyValuePair(option.code);\n }}\n key={index}\n value={option.name}\n >\n {option.name}\n \n );\n }\n })}\n \n \n \n );\n});\n","import { CTA } from '@volkswagen-onehub/components-core';\nimport { ArrowUp } from 'src/icons-core-imports';\nimport React from 'react';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\n\n\nexport const AnteriorCTA = () => {\n \n const { handlePreviousStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n\n return (\n \n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Anterior',\n });\n handlePreviousStep(e);\n }}\n tag=\"button\"\n emphasis=\"secondary\" \n size=\"small\"\n icon={}\n >\n Anterior\n \n\n );\n};\n","import { FeatureAppEnvironment } from '@feature-hub/core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useStore } from 'react-redux';\nimport { AnyAction, Store } from 'redux';\nimport { LayerManagerWrapper } from 'src/feature-app';\n\nimport {\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\n\nexport const AvisoIslasCanarias = ({ close }: { close: CloseHandleV2 }) => {\n const [href, setHref] = useState(null);\n const [copy, setCopy] = useState(null);\n\n const store = useStore();\n\n const { formData } = store.getState();\n\n useEffect(() => {\n if (formData.fields.formName === 'cita-posventa') {\n setHref('https://www.vwcanarias.com/es/cita-previa.html');\n setCopy('Para pedir cita en un Servicio Oficial de las islas, visita la web de Volkswagen Canarias y haz la reserva desde ahí.');\n } else {\n setHref('https://cita.vwcanarias.com/');\n setCopy('Para pedir cita en un punto de venta de las islas, visita la web de Volkswagen Canarias y haz la reserva desde ahí.');\n }\n }, []);\n\n return (\n \n \n \n ¿Estás en las Islas Canarias?\n \n \n {copy}\n \n \n \n \n Ir a Volkswagen Canarias\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n >\n Seguir en esta página\n \n \n \n );\n};\n\nexport const renderAvisoIslasCanariasLayer = (\n store: Store,\n env: FeatureAppEnvironment,\n layerManager: LayerManagerV2\n) => {\n\n const render = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n layerManager.openFocusLayer(\n render,\n {},\n { size: FocusLayerSizeV2.B, userCloseable: true }\n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { MultipleCTASelection } from '.';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { contactoOptionsTurismos, contactoOptionsComerciales } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { useIsComerciales } from 'src/feature-app/hooks';\n\nexport function CanalDeContacto() {\n const { register, errors } = useFormContext();\n const [errorContacto, setErrorContacto] = useState(false);\n const [contacto, setContacto] = useState('Arteon');\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const { error, setError } = useOneFormContext();\n const isComerciales = useIsComerciales();\n\n useEffect(() => {\n if (fields.contacto) {\n setContacto(fields.contacto);\n }\n }, []);\n\n useEffect(() => {\n if (error) {\n !contacto ? setErrorContacto(true) : setErrorContacto(false);\n }\n }, [error]);\n\n useEffect(() => {\n if (errors.contacto) {\n setErrorContacto(true);\n } else {\n setErrorContacto(false);\n }\n }, [errors]);\n\n function handleChange(event: any) {\n const newContacto = event.currentTarget.value;\n setContacto(newContacto);\n if (newContacto !== '') setErrorContacto(false);\n }\n\n return ;\n}\n","import { Breakpoints, Layout, styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { Points } from 'src/types';\n\nconst InnerCardContainer = styled.div`\n background-color: rgba(0, 0, 0, 0.5);\n bottom: 0;\n height: 100%;\n left: 0;\n position: fixed;\n right: 0;\n width: 100%;\n z-index: 21;\n`;\n\nconst AnimatedCard = styled.div`\n height: 100%;\n width: 100%;\n &.alert-enter,\n &.alert-appear {\n transform: translateY(100%);\n }\n &.alert-enter-active,\n &.alert-appear-active {\n transform: translateY(0);\n transition: transform 400ms;\n }\n &.alert-exit {\n transform: translateY(0%);\n }\n &.alert-exit-active {\n transform: translateY(100%);\n transition: transform 400ms;\n }\n`;\n\nconst CloseDiv = styled.button`\n width: 100%;\n display: flex;\n justify-content: center;\n background: #001e50;\n height: 35px;\n border: none;\n cursor: pointer;\n left: 50%;\n outline: none;\n position: fixed;\n top: 0;\n transform: translate(-50%, 0) translateY(${(props) => props.translateY}px);\n z-index: 22;\n\n &.close-enter {\n top: 100%;\n }\n &.close-enter-active {\n top: 0%;\n transition: top 400ms;\n\n /* transform: translate(-50%, 0) translateY(${(props) => props.translateY}px);\n transition: transform 400ms; */\n }\n &.close-exit {\n transform: translateY(0%);\n }\n &.close-exit-active {\n transform: translateY(100%);\n transition: transform 400ms;\n }\n`;\n\nconst Marker = styled.div`\n height: 4px;\n width: 44px;\n border-radius: 2px;\n background-color: #ffffff;\n margin-top: 1.5vh;\n opacity: 0;\n &.marker-enter {\n opacity: 0.1;\n transform: scale(1.5);\n display: block;\n }\n &.marker-enter-active {\n opacity: 1;\n transform: scale(1);\n transition: transform 200ms, opacity 200ms ease-in;\n }\n &.marker-enter-done {\n opacity: 1;\n }\n`;\n\nconst TopBar = styled.div`\n height: 32px;\n width: 100%;\n background-color: #001e50;\n position: sticky;\n top: 0;\n z-index: 3;\n`;\n\ninterface translateYProps {\n translateY: number;\n showAllCardsMobile: boolean;\n}\n//max-height: 100vh;\n//overflow-y: scroll;\nconst InnerCard = styled.div`\n background-color: #001e50;\n border-radius: 12px 12px 0px;\n height: 100%;\n left: 50%;\n\n position: absolute;\n top: 53%;\n transform: translate(-50%, -50%) translateY(${(props) => props.translateY}px);\n width: 100%;\n z-index: 1000;\n`;\n\ninterface CardProps {\n children: React.ReactNode;\n closeCard: () => void;\n showCard: boolean;\n selectedPoint: Points;\n showAllCardsMobile: boolean;\n}\n\nconst fullLayout = [{ name: 'a', columns: 24 }];\nconst layoutWithMargins = [\n { name: '.', columns: 2 },\n { name: 'a', columns: 20 },\n { name: '.', columns: 2 },\n];\n\nexport function Card(props: CardProps) {\n const { closeCard, children, showCard, selectedPoint, showAllCardsMobile } = props;\n const [isCardOpen, setIsCardOpen] = useState(false);\n const [animateCarousell, setAnimateCarousell] = useState(false);\n const [initialValue, setInitialValue] = useState(null);\n const [translateY, setTranslateY] = useState(null);\n const [initialY, setInitialY] = useState(null);\n const cardRef = useRef(null);\n\n useEffect(() => {\n if (selectedPoint && !showAllCardsMobile) {\n if (window.innerHeight > 400) {\n setTranslateY(window ? window.innerHeight - 420 : 344);\n setInitialY(window ? window.innerHeight - 420 : 344);\n } else {\n setTranslateY(0);\n setInitialY(0);\n }\n } else {\n setTranslateY(0);\n setInitialY(0);\n }\n }, [selectedPoint, showAllCardsMobile]);\n\n useEffect(() => {\n setIsCardOpen(true);\n // document.body.style.overflow = 'hidden';\n return () => {\n // document.body.style.overflow = 'visible';\n };\n }, []);\n\n useLayoutEffect(() => {\n if (isCardOpen) setTimeout(() => setAnimateCarousell(true), 0);\n }, [isCardOpen]);\n\n const handleTouchStart = (e: React.TouchEvent) => {\n e.preventDefault();\n const x = e.nativeEvent.touches[0].clientY;\n setInitialValue(x);\n };\n\n const handleTouchEnd = (e: React.TouchEvent) => {\n e.preventDefault();\n const finalValue = e.nativeEvent.changedTouches[0].clientY;\n finalValue < (initialValue - initialY) * 6 ? more() : less();\n\n setInitialValue(null);\n };\n const handleMoveStartCard = (e: React.TouchEvent) => {\n e.preventDefault();\n if (!initialValue) {\n return;\n }\n\n const y = e.nativeEvent.changedTouches[0].clientY;\n const result = y - initialValue;\n\n result >= 0 ? setTranslateY(result + initialY) : setTranslateY(initialY);\n };\n\n const more = () => {\n setTranslateY(initialY);\n };\n\n const less = () => {\n closeCard();\n setIsCardOpen(false);\n setAnimateCarousell(false);\n };\n\n const handleOnClickMap = (e: any) => {\n const innerCard = document.getElementById('inner-card-container');\n\n if (e.target != innerCard && !innerCard.contains(e.target) && !showAllCardsMobile) {\n closeCard();\n setIsCardOpen(false);\n setAnimateCarousell(false);\n }\n };\n\n return (\n <>\n \n {\n handleTouchStart(e);\n }}\n onTouchEnd={(e) => {\n handleTouchEnd(e);\n }}\n onTouchMove={(e) => {\n handleMoveStartCard(e);\n }}\n translateY={translateY}\n showAllCardsMobile={showAllCardsMobile}\n >\n \n \n \n \n \n {\n e.preventDefault;\n handleOnClickMap(e);\n }}\n >\n \n \n \n {\n e.preventDefault();\n e.stopPropagation();\n }}\n onTouchStart={(e) => {\n handleTouchStart(e);\n }}\n onTouchEnd={(e) => {\n handleTouchEnd(e);\n }}\n onTouchMove={(e) => {\n handleMoveStartCard(e);\n }}\n />\n \n {children}\n \n \n \n \n \n \n );\n}\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { useRef, ReactElement, useEffect, useState } from 'react';\nimport Slider from 'react-slick';\n\nconst CSSDiv = styled.div`\n /* Slider */\n .slick-slider {\n position: relative;\n\n display: block;\n box-sizing: border-box;\n\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n -webkit-tap-highlight-color: transparent;\n }\n\n .slick-list {\n position: relative;\n\n display: block;\n overflow: hidden;\n\n margin: 0;\n padding: 0;\n }\n .slick-list:focus {\n outline: none;\n }\n .slick-list.dragging {\n cursor: pointer;\n cursor: hand;\n }\n\n .slick-slider .slick-track,\n .slick-slider .slick-list {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n .slick-track {\n position: relative;\n top: 0;\n left: 0;\n\n display: block;\n }\n .slick-track:before,\n .slick-track:after {\n display: table;\n\n content: '';\n }\n .slick-track:after {\n clear: both;\n }\n .slick-loading .slick-track {\n visibility: hidden;\n }\n\n .slick-slide {\n display: none;\n float: left;\n\n height: 100%;\n min-height: 1px;\n }\n [dir='rtl'] .slick-slide {\n float: right;\n }\n .slick-slide img {\n display: block;\n }\n .slick-slide.slick-loading img {\n display: none;\n }\n .slick-slide.dragging img {\n pointer-events: none;\n }\n .slick-initialized .slick-slide {\n display: block;\n }\n .slick-loading .slick-slide {\n visibility: hidden;\n }\n .slick-vertical .slick-slide {\n display: block;\n\n height: auto;\n\n border: 1px solid transparent;\n }\n .slick-arrow.slick-hidden {\n display: none;\n }\n\n /* Slider */\n .slick-slider {\n position: relative;\n\n display: block;\n box-sizing: border-box;\n\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n -webkit-tap-highlight-color: transparent;\n }\n\n .slick-list {\n position: relative;\n\n display: block;\n overflow: hidden;\n\n margin: 0;\n padding: 0;\n }\n .slick-list:focus {\n outline: none;\n }\n .slick-list.dragging {\n cursor: pointer;\n cursor: hand;\n }\n\n .slick-slider .slick-track,\n .slick-slider .slick-list {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n .slick-track {\n position: relative;\n top: 0;\n left: 0;\n\n display: block;\n }\n .slick-track:before,\n .slick-track:after {\n display: table;\n\n content: '';\n }\n .slick-track:after {\n clear: both;\n }\n .slick-loading .slick-track {\n visibility: hidden;\n }\n\n .slick-slide {\n display: none;\n float: left;\n\n height: 100%;\n min-height: 1px;\n }\n [dir='rtl'] .slick-slide {\n float: right;\n }\n .slick-slide img {\n display: block;\n }\n .slick-slide.slick-loading img {\n display: none;\n }\n .slick-slide.dragging img {\n pointer-events: none;\n }\n .slick-initialized .slick-slide {\n display: block;\n }\n .slick-loading .slick-slide {\n visibility: hidden;\n }\n .slick-vertical .slick-slide {\n display: block;\n\n height: auto;\n\n border: 1px solid transparent;\n }\n .slick-arrow.slick-hidden {\n display: none;\n }\n`;\nconst OfferPadding = styled.div`\n padding: 0 16px;\n`;\ninterface CarouselProps {\n renderList: (list: any) => JSX.Element[];\n list: any;\n}\n\nexport const CarouselComponent = (props: CarouselProps) => {\n const { renderList, list } = props;\n\n //carousel thigs\n\n const sliderRef = useRef(null);\n const childrenRef = useRef(null);\n\n const settings = {\n className: 'center',\n infinite: false,\n centerMode: true,\n centerPadding: '6%',\n slidesToShow: 1,\n swipe: true,\n speed: 500,\n arrows: false,\n };\n\n return (\n \n \n {renderList(list)}\n \n \n );\n};\n","import { Close } from 'src/icons-core-imports';\nimport React from 'react';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\n\n\nexport const CloseButton = () => {\n const { handleAreYouSureLayer } = useOneFormContext();\n const { screenIndex } = useSelector(\n (state: OneFormState) => state.formInfo\n );\n\n const trackingManager = useTrackingManager();\n\n return (\n {\n e.preventDefault();\n trackingManager.trackFormCloseClick(\n {\n contentId: 'Cerrar',\n },\n { FormStart: screenIndex === 0 ? true : false }\n );\n handleAreYouSureLayer();\n }}\n >\n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { GeneralInputWidthWrapper, InputError, TextInputExtended } from 'src/components';\nimport { store } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\n\ninterface CodigoPostalProps {\n setFieldValue?: boolean;\n noPaddingTop?: boolean;\n}\n\nexport const CodigoPostal = (props: CodigoPostalProps) => {\n const { setFieldValue, noPaddingTop } = props;\n const { register } = useFormContext();\n const { formInfo }: OneFormState = store.getState();\n\n // PostalCode\n const [inputValuePostalCode, setInputValuePostalCode] = useState('');\n const [pristinePostalCode, setPristinePostalCode] = useState(true);\n const [errorPostalCode, setErrorPostalCode] = useState(false);\n const regExpPostalCode = /\\d{5}/gi;\n const dispatch = useDispatch();\n\n const handleChangePostalCode = (e: any) => {\n if (setFieldValue) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { ['postalCode']: e.target.value } });\n }\n setInputValuePostalCode(e.target.value);\n setPristinePostalCode(false);\n };\n\n useEffect(() => {\n if (!pristinePostalCode && inputValuePostalCode.match(regExpPostalCode) === null) {\n setErrorPostalCode(true);\n } else {\n setErrorPostalCode(false);\n }\n }, [inputValuePostalCode, pristinePostalCode]);\n\n return (\n \n handleChangePostalCode(e)}\n required\n maxLength={5}\n />\n {errorPostalCode && Solo se aceptan números}\n \n );\n};\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Spinner,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Alert } from 'src/icons-core-imports';\n\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState, useCallback } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { Store } from 'redux';\nimport {\n createNoDmsSlotAndAssessor,\n getFranjaAndDayFrom,\n weekDay_DayNumber_De_Month,\n useFeatureAppConfig,\n weekDay_Day_Hour,\n} from 'src/feature-app';\nimport { DealersData, OneFormState, Slot, Horario } from 'src/types';\n\nconst Content = styled.div`\n background-color: #ffffff;\n padding: 44px 31px;\n flex: auto;\n text-align: center;\n width: 100%;\n @media screen and (min-width: 560px) {\n padding: 52px 46px;\n }\n @media screen and (min-width: 960px) {\n padding: var(--size-grid001);\n }\n`;\n\nconst CTAWrapper = styled.div`\n display: flex;\n flex-wrap: wrap;\n text-align: left;\n > div {\n text-align: left;\n }\n > button {\n @media screen and (min-width: 560px) {\n width: auto;\n }\n }\n`;\n\ninterface InvalidFormProps {\n notSavedField?: string;\n closeLayerCallback?: CloseHandleV2;\n}\n\nexport const InvalidForm = (props: InvalidFormProps) => {\n const { notSavedField, closeLayerCallback } = props;\n return (\n \n \n ¿Quieres conservar estos últimos cambios?\n \n \n \n Si es así, necesitamos que guardes los cambios que has hecho {notSavedField} antes de confirmar tu cita.\n \n \n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Entendido\n \n \n \n \n );\n};\n\ninterface loadingSreenProps {\n isleads?: boolean;\n copy?: string;\n}\n\nexport const LoadingScreen = (props: loadingSreenProps) => {\n return (\n \n \n {props.copy ? {props.copy} : Enviando tu petición}\n \n );\n};\n\ninterface KoScreenProps {\n retrySubmit: (e: any) => void;\n closeLayerCallback?: CloseHandleV2;\n title?:string;\n bodyCopy?:string;\n isLEM?: boolean;\n hideSecondCTA?: boolean;\n}\n\nexport const KoScreen = (props: KoScreenProps) => {\n const { retrySubmit, closeLayerCallback, title, bodyCopy, isLEM, hideSecondCTA } = props;\n\n return (\n \n \n
\n \n
\n \n {title? title : 'Uy, algo ha pasado'}\n \n \n \n {bodyCopy? bodyCopy : 'Por alguna razón no hemos podido recoger tus datos. ¿Lo intentamos de nuevo?'}\n \n \n \n \n {\n e.preventDefault();\n retrySubmit(e);\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Reintentar\n \n { hideSecondCTA ? null :\n isLEM ? (\n \n Ir a la web\n \n ) : (\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Seguir navegando\n \n )\n }\n \n \n \n \n {\n e.preventDefault();\n retrySubmit(e);\n closeLayerCallback({}, {}, {});\n }}\n >\n Reintentar\n \n { hideSecondCTA ? null :\n isLEM ? (\n
\n \n Ir a la web\n \n
\n ) : (\n
\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n >\n Seguir navegando\n \n
\n )\n }\n
\n
\n \n \n \n
\n );\n};\n\ninterface IntermitenciaDMSKoProps {\n retrySubmit: (e: any) => void;\n closeLayerCallback?: CloseHandleV2;\n}\n\nexport const IntermitenciaDMSKo = (props: IntermitenciaDMSKoProps) => {\n const { retrySubmit, closeLayerCallback } = props;\n const [dmsFailed, setDmsFailed] = useState(false);\n const store: Store = useStore();\n const dispatch = useDispatch();\n const config = useFeatureAppConfig();\n\n const [day, setDay] = useState(null);\n const [franjaHoraria, setFranjaHoraria] = useState(null);\n const [name, setName] = useState(null);\n const [selectedPoint, setSelectedPoint] = useState(null);\n const { horario }: { horario: Horario } = store.getState().formData.fields;\n\n useEffect(() => {\n const { sendDmsFailed } = store.getState().formInfo;\n let { slot, dealer }: { slot: Slot; dealer: DealersData } = store.getState().formData.fields;\n\n setDmsFailed(sendDmsFailed);\n const { franjaHoraria } = getFranjaAndDayFrom(slot.from);\n\n setDay(weekDay_DayNumber_De_Month(slot.from));\n setFranjaHoraria(franjaHoraria.toLowerCase());\n setName(dealer.name);\n setSelectedPoint(slot);\n }, []);\n\n const handleShowSlots = useCallback((): string | null => {\n let { slot }: { slot: Slot } = store.getState().formData.fields;\n\n const finalSlot = getFinalSlot(slot.from);\n\n return finalSlot ? finalSlot : null;\n }, []);\n\n const getFinalSlot = (from: number) => {\n const momentSlot = weekDay_Day_Hour(from);\n const capitalizedSlot = momentSlot.charAt(0).toUpperCase() + momentSlot.slice(1);\n return capitalizedSlot.replace('-', ' a las ').concat('h');\n };\n\n const createNoDmsSlot = async (e: any) => {\n let { slot, dealer }: { slot: Slot; dealer: DealersData } = store.getState().formData.fields;\n dealer = {\n ...dealer,\n dmsInfo: {\n ...dealer.dmsInfo,\n dmsAvailable: false,\n },\n };\n const { franjaHoraria, day } = getFranjaAndDayFrom(slot.from);\n const { slot: newSlot, assessor } = createNoDmsSlotAndAssessor(franjaHoraria, day);\n dispatch({ type: 'UPDATE_FIELDS', payload: { slot: newSlot, assessor, dealer } });\n\n retrySubmit(e);\n };\n return (\n \n \n \n No hemos podido confirmar tu cita para el{' '}\n {handleShowSlots()}\n \n \n \n ¿Quieres que {name} se ponga en contacto contigo para\n cerrar tu cita el {day} por la {franjaHoraria}?\n \n \n {\n e.preventDefault();\n await createNoDmsSlot(e);\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Consultar con mi taller\n \n {\n config.trigger === 'cita-posventa-dealer' ? null : (\n
\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Buscar una nueva cita\n \n
\n )\n }\n
\n \n \n
\n );\n};\n","import {\n Text,\n styled,\n Container,\n ContainerGutter,\n CTA,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\n\nconst PaddingWrapper = styled.div`\n padding-top: 32px;\n`;\n\ninterface LegalesProps {\n linkBasesLegales?: string;\n}\nexport const LegalFullScreenSinConsentmientos = (props: LegalesProps) => {\n return (\n \n \n \n Texto legal de Volkswagen\n \n \n El responsable de tus datos es Volkswagen Group España Distribución, S.A.U. Vamos a utilizar tus datos para realizar un control de calidad sobre los productos y servicios contratados, mediante la realización de la presente encuesta de satisfacción, y contactarte para resolución de incidencias, reclamaciones o quejas. Tus datos podrán ser comunicados a las empresas del grupo para las finalidades de controlar la calidad de los productos y servicios, así como contactarte para resolución de incidencias, reclamaciones o quejas.\n \n \n En el supuesto de haber consentido, tus datos y las respuestas de la presente encuesta de satisfacción serán comunicadas al Concesionario. Tienes derecho a oponerte al tratamiento, limitar el mismo, acceder, rectificar, suprimir los datos y ejercer tu derecho a portabilidad, mediante el envío de un correo electrónico a:{' '}\n \n atencioncliente@volkswagen.es\n \n .\n \n \n Puedes consultar la información adicional en la{' '}\n \n política de privacidad\n \n .\n \n {props.linkBasesLegales ? (\n \n Consulta las{' '}\n \n Bases Legales\n {' '}\n de la promoción.\n \n ) : null}\n \n \n );\n};\n","import {\n CTA,\n styled,\n Text,\n TokenTextAppearance,\n TokenTextColor\n} from '@volkswagen-onehub/components-core';\nimport React, { useState, useEffect } from 'react';\nimport { CTAsSiNo } from 'src/feature-app';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { InputError } from 'src/components';\nimport { CustomSwitch } from '../inputs';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { Info } from 'src/icons-core-imports';\n\n\nconst CTAsWrapper = styled.div`\n .error-field {\n width: fit-content !important;\n }\n \n > button {\n width: 81px;\n height: 33px;\n &:first-of-type {\n margin-right: 44px;\n }\n }\n \n`;\n\nconst PaddingWrapper = styled.div<{ noCompra?: boolean }>`\n width: 100%;\n padding-bottom: 32px;\n`;\n\nconst QuestionWrapper = styled.div`\n width: 100%;\n display: flex;\n justify-content: space-between;\n flex-wrap: nowrap;\n`;\n\nconst ItemWrapper = styled.div`\n padding-bottom: 44px;\n`;\n\ninterface InfoWrapperProps {\n themeColor?: 'main' | 'inverted';\n}\n\nconst InfoWrapper = styled.div`\n margin-left: 16px;\n cursor: pointer;\n svg {\n fill: ${(props) => (props.themeColor === 'inverted' ? '#ffffff' : '#001E50')};\n }\n`;\n\n\nexport const LegalItem = ({ title, onClick, themeColor, name, checkboxMode }: any) => {\n const [currentValue, setCurrentValue] = useState(null);\n const { register, setValue, errors } = useFormContext();\n const [isSelected, setIsSelected] = useState(null);\n const getValue = (isSelected: boolean) => isSelected ? 'PERMITE' : 'NO INFORMADO';\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: getValue(isSelected) } });\n }, [isSelected]);\n\n useEffect(() => {\n !checkboxMode && setIsSelected(false);\n }, []);\n\n function checkCurrentValue(label: string, name: string) {\n const value = label === 'Sí' ? 'PERMITE' : 'NO PERMITE';\n setCurrentValue(label);\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: value } });\n setValue(name, value);\n }\n\n return (\n \n \n \n {title}\n \n \n \n \n \n {!checkboxMode ? (\n \n {\n CTAsSiNo.map((cta: { label: string }, index: number) => (\n {\n register(ref, { required: true });\n }}\n onClick={\n (e) => {\n e.preventDefault();\n checkCurrentValue(cta.label, name);\n }\n }\n size={'small'}\n >\n {cta.label}\n \n ))\n }\n {errors[name] ? Este campo es obligatorio : null}\n \n ) : (\n \n \n {isSelected ? 'Aceptado' : 'Aceptar'}\n \n )}\n \n );\n};\n","import {\n Container,\n ContainerGutter,\n CTA,\n styled,\n Text,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useSelector } from 'react-redux';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { OneFormState } from 'src/types';\n\nconst PaddingWrapper = styled.div`\n padding-top: 32px;\n`;\n\ninterface LegalesProps {\n linkBasesLegales?: string;\n}\nexport const Legales = (props: LegalesProps) => {\n const isComerciales = useIsComerciales();\n return isComerciales ? : ;\n};\n\nconst LegalesTurismos = (props: LegalesProps) => {\n const { hideLegal, customLegal } = useSelector((state: OneFormState) => state.formInfo);\n return (\n \n {customLegal ? customLegal : null}\n {hideLegal ? null : (\n \n \n Texto legal de Volkswagen\n \n \n Te informamos de que tus datos personales serán tratados por Volkswagen Group España Distribución S.A.U., en calidad de responsable del tratamiento, con la finalidad de atender tus consultas y solicitudes, realizar un control de calidad sobre los productos y servicios solicitados, realizar encuestas de opinión y estudios de mercado con fines estadísticos; y, en caso de que nos hayas dado tu consentimiento expreso, para las finalidades descritas en los consentimientos adicionales. Informarte que puedes ejercer los derechos que te confiere la normativa de protección de datos mediante solicitud escrita a{' '}\n \n atencioncliente@volkswagen.es\n \n .\n \n \n Puedes consultar la información adicional sobre el tratamiento de tus datos en nuestra{' '}\n \n política de privacidad\n \n .\n \n {props.linkBasesLegales ? (\n \n Consulta las{' '}\n \n Bases Legales\n {' '}\n de la promoción.\n \n ) : null}\n \n )}\n \n );\n};\nconst LegalesComerciales = (props: LegalesProps) => {\n const { hideLegal } = useSelector((state: OneFormState) => state.formInfo);\n return (\n \n {hideLegal ? null : (\n \n \n Texto legal de Volkswagen\n \n \n Te informamos de que tus datos personales serán tratados por Volkswagen Group España Distribución S.A.U., en calidad de responsable del tratamiento, con la finalidad de poder cursar tu petición y, en caso de que nos hayas dado tu consentimiento expreso, para las finalidades descritas en los consentimientos adicionales. Informarte que puedes ejercer los derechos que te confiere la normativa de protección de datos mediante solicitud escrita a{' '}\n \n atencioncliente@volkswagen-comerciales.es\n \n .\n \n \n Puedes consultar la información adicional sobre el tratamiento de tus datos en nuestra{' '}\n \n política de privacidad\n \n .\n \n {props.linkBasesLegales ? (\n \n Consulta las{' '}\n \n Bases Legales\n {' '}\n de la promoción.\n \n ) : null}\n \n )}\n \n );\n};\n","import React from 'react';\nimport {\n Container,\n ContainerGutter,\n CTA,\n styled,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { useIsComerciales } from 'src/feature-app/hooks';\n\nconst WhiteLinkWrapper = styled.span`\n a {\n color: #ffffff;\n }\n`;\n\ninterface legalesFormatoLayerProps {\n noPadding?: boolean;\n showTitle?: boolean;\n linkBasesLegales?: string;\n}\nconst Wrapper = styled.div`\n padding-top: ${(props) => (props.noPadding ? null : '72px')};\n padding-bottom: ${(props) => (props.noPadding ? null : '52px')};\n`;\n\nexport const LegalesFormatoLayer = (props: legalesFormatoLayerProps) => {\n const isComerciales = useIsComerciales();\n\n return isComerciales ? : ;\n};\nconst LegalesFormatoLayerTurismos = (props: legalesFormatoLayerProps) => {\n return (\n \n \n {props.showTitle ? (\n \n Texto legal de Volkswagen\n \n ) : null}\n\n \n {props.linkBasesLegales ? (\n <>\n Te esponsable del tratamiento, con la finalidad de gestionar tu participación en la Promoción y, en el caso que lo consientas, para los fines comerciales y/o perfilado según lo indicado en el propio consentimiento. Informarte que puedes ejercer los derechos que te confiere la normativa de protección de datos mediante solicitud escrita a{' '}\n \n ) : (\n <>\n Te informamos de que tus datos personales serán tratados por Volkswagen Group España Distribución S.A.U., en calidad de responsable del tratamiento, con la finalidad de atender tus consultas y solicitudes, realizar un control de calidad sobre los productos y servicios solicitados, realizar encuestas de opinión y estudios de mercado con fines estadísticos; y, en caso de que nos hayas dado tu consentimiento expreso, para las finalidades descritas en los consentimientos adicionales. Informarte que puedes ejercer los derechos que te confiere la normativa de protección de datos mediante solicitud escrita a{' '}\n \n )}\n \n \n atencioncliente@volkswagen.es\n \n \n .\n \n \n Puedes consultar la información adicional sobre el tratamiento de tus datos en nuestra{' '}\n \n \n política de privacidad\n \n \n .\n \n {props.linkBasesLegales ? (\n \n Consulta las{' '}\n \n \n Bases Legales\n \n {' '}\n de la promoción.\n \n ) : null}\n \n \n );\n};\nconst LegalesFormatoLayerComerciales = (props: legalesFormatoLayerProps) => {\n return (\n \n \n {props.showTitle ? (\n \n Texto legal de Volkswagen\n \n ) : null}\n\n \n Te informamos de que tus datos personales serán tratados por Volkswagen Group España Distribución S.A.U., en calidad de responsable del tratamiento, con la finalidad de poder cursar tu petición y, en caso de que nos hayas dado tu consentimiento expreso, para las finalidades descritas en los consentimientos adicionales. Informarte que puedes ejercer los derechos que te confiere la normativa de protección de datos mediante solicitud escrita a{' '}\n \n \n atencioncliente@volkswagen-comerciales.es\n \n \n .\n \n \n Puedes consultar la información adicional sobre el tratamiento de tus datos en nuestra{' '}\n \n \n política de privacidad\n \n \n .\n \n \n \n );\n};\n\nexport const LegalesTemporales = (props: legalesFormatoLayerProps) => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{props.showTitle ? (\n\t\t\t\t\t\n\t\t\t\t\t\tTexto legal de Volkswagen\n\t\t\t\t\t\n\t\t\t\t) : null}\n\n\t\t\t\t\n\t\t\t\t\tTe informamos que el responsable del tratamiento de tus datos es la compañía VOLKSWAGEN GROUP ESPAÑA DISTRIBUCION, S.A.U., con la finalidad de atender tus consultas y solicitudes, realizar un control de calidad sobre los productos y servicios solicitados, realizar encuestas de opinión y estudios de mercado con fines estadísticos y gestionar tu participación gratuita en la Promoción Driving Experience Jarama comunicada durante el proceso de cita previa.\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\tPara más información sobre el tratamiento de los datos pulsa{' '}\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\taquí\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t.\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import React from 'react';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { LssiTkmQuestionsComerciales, LssiTkmQuestionsTurismos } from '.';\n\nexport interface LssiTkmQuestionsProps {\n\tshowTitle: boolean;\n\tthemeColor?: 'main' | 'inverted';\n\tnoCompra?: boolean;\n\tisComerciales?: boolean;\n}\n\nexport function LssiTkmQuestions(props: LssiTkmQuestionsProps) {\n\tconst isComerciales = props.isComerciales ? props.isComerciales : useIsComerciales();\n\n\treturn isComerciales ? : ;\n}\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React from 'react';\nimport { useStore } from 'react-redux';\nimport { LayerManagerWrapper, useFeatureAppEnvironment, useFeatureServices } from 'src/feature-app';\nimport { LssiTkmQuestionsProps, LegalItem } from '.';\nimport { useGetIdPerson } from 'src/feature-app';\n\nconst getLssiTitle = (isOfertas: boolean) => {\n return isOfertas ? (\n \n ¿Te gustaría recibir comunicaciones comerciales sobre productos y servicios de nuestra{' '}\n \n marca?*\n \n \n ) : (\n \n ¿Te gustaría recibir descuentos y novedades de{' '}\n \n Volkswagen?*\n \n \n );\n};\n\nconst getLssiText = (isOfertas: boolean) => {\n return isOfertas\n ? 'Te enviaremos por cualquier medio información sobre descuentos, novedades, próximos lanzamientos, invitaciones a eventos y/o promociones especiales'\n : 'Si quieres, podemos enviarte información sobre próximos lanzamientos, invitaciones a eventos y promociones especiales.';\n};\n\nconst getTmkTitle = (isOfertas: boolean) => {\n return isOfertas ? (\n \n ¿Consientes que elaboremos un perfil tuyo como usuario para poder enviarte información comercial sobre los productos y servicios de nuestra marca que creamos que puedan resultar más de tu interés según tus{' '}\n \n preferencias?*\n \n \n ) : (\n \n ¿Te gustaría que elaboremos un perfil tuyo para ofrecerte información comercial sobre productos y servicios de nuestras marcas que creamos que te puedan interesar más según tus{' '}\n \n preferencias?*\n \n \n );\n};\n\nconst getTmkText = (isOfertas: boolean) => {\n return isOfertas\n ? 'Para elaborar tu perfil utilizaremos toda aquella información que disponemos de ti derivada de tu relación con nosotros como son la tipología de productos y/o servicios contratados, así como cualquier interacción con nuestra marca. Para ello, utilizaremos tanto la información que nos hayas aportado directamente como la que nos puedan hacer llegar terceros a los que hayas consentido que nos hagan llegar esta información. Gracias a esta información seremos capaces de enviarte información comercial sobre nuestros productos y servicios que consideramos que serán de más interés para ti que las genéricas. En el caso que consientas, no recibirás comunicaciones comerciales genéricas sino lo más personalizadas posible según tus preferencias para hacer que tu experiencia con la marca sea lo más positiva posible.'\n : 'Acceder a tu perfil nos ayuda a aprender de ti para mostrarte los servicios y ofertas que más te interesan.';\n};\n\nexport const LssiTkmQuestionsComerciales = ({ showTitle, themeColor }: LssiTkmQuestionsProps) => {\n const store = useStore();\n const idPerson = useGetIdPerson();\n const lssiPermite: boolean = idPerson?.LSSI__c === 'PERMITE';\n\n const { formName, quieroContacto } = store.getState().formData.fields;\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const env = useFeatureAppEnvironment();\n\n const isOfertasForm = (formName) => {\n return formName === 'callme-oferta' || formName === 'lead-oferta';\n };\n\n const handleInfoLayer = (\n key: 'lssi' | 'tmk',\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { body: key === 'tmk' ? getTmkText(true) : getLssiText(true) },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n \n \n \n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n return (\n
\n {!lssiPermite ?\n <>\n {showTitle && (\n <>\n \n
\n \n Y unas últimas preguntas\n \n
\n
\n \n
\n \n Y unas últimas preguntas\n \n
\n
\n \n )}\n handleInfoLayer('lssi', renderInfo)}\n themeColor={themeColor}\n name=\"lssi\"\n\t\t\tcheckboxMode={false}\n />\n handleInfoLayer('tmk', renderInfo)}\n themeColor={themeColor}\n name=\"tmk\"\n\t\t\tcheckboxMode={false}\n />\n \n :\n <>\n {showTitle && (\n
\n \n ¿Listo para enviar?\n \n
\n )}\n \n }\n
\n\n );\n};\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React from 'react';\nimport { useStore } from 'react-redux';\nimport { LayerManagerWrapper, useFeatureAppEnvironment, useFeatureServices } from 'src/feature-app';\nimport { useGetIdPerson } from 'src/feature-app/hooks';\nimport { LssiTkmQuestionsProps, LegalItem } from '.';\n\nconst infoLayerCopies = {\n lssi: {\n title: 'Estarás mejor informado.',\n body: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n },\n tmk: {\n title: '¡Adiós mensajes genéricos!',\n body: 'Activando esta opción podremos enviarte información y ofertas personalizadas de productos y servicios adecuadas a tu perfil. Para ello nos basaremos en tu comportamiento, preferencias personales y cómo usas nuestros productos y servicios.',\n }\n};\n\nconst legalItemTitles = {\n lssi: '¿Te gustaría recibir descuentos y novedades de Volkswagen?',\n tmk: '¿Te gustaría que elaboremos un perfil tuyo para ofrecerte información comercial sobre productos y servicios de nuestras marcas que creamos que te puedan interesar más según tus preferencias?',\n};\n\nexport const LssiTkmQuestionsTurismos = ({ showTitle, themeColor }: LssiTkmQuestionsProps) => {\n const store = useStore();\n const idPerson = useGetIdPerson();\n const lssiPermite: boolean = idPerson?.LSSI__c === 'PERMITE';\n\n const { formName, quieroContacto } = store.getState().formData.fields;\n const isLead: boolean = quieroContacto === 'true' || formName.includes('lead-');\n const env = useFeatureAppEnvironment();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n\n const getLegalItemTitle = (key: string) => legalItemTitles[key];\n\n const handleInfoLayer = (\n key: 'lssi' | 'tmk' ,\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { ...infoLayerCopies[key] },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n {state.title}\n {state.body}\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n return (\n
\n {!lssiPermite ?\n <>\n {showTitle && (\n <>\n \n
\n \n Mantente al día\n \n
\n
\n \n
\n \n Mantente al día\n \n
\n
\n \n )}\n handleInfoLayer('lssi', renderInfo)}\n themeColor={themeColor}\n name='lssi'\n\t\t\tcheckboxMode={true}\n />\n handleInfoLayer('tmk', renderInfo)}\n themeColor={themeColor}\n name='tmk'\n\t\t\tcheckboxMode={true}\n />\n \n :\n <>\n {showTitle && !isLead && (\n
\n \n ¿Listo para enviar?\n \n
\n )}\n {showTitle && isLead && (\n
\n \n \n Y una última pregunta\n \n \n \n \n Y una última pregunta\n \n \n
\n )}\n \n }\n
\n );\n};\n","import { BreakpointWrapper, Breakpoints, CTA, Container, ContainerGutter, ContainerPadding, Layout, TextAlignment, TokenTextAppearance, styled } from \"@volkswagen-onehub/components-core\";\nimport { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from \"react\";\nimport iconlssi from \"./iconlssi.svg\"\nimport icontmk from \"./icontmk.svg\"\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useOneFormContext } from \"src/feature-app\";\nimport { useWindowHeight } from \"@react-hook/window-size\";\nimport { useGetBoundingClientRect } from 'src/feature-app/hooks';\nimport { OneFormState } from \"src/types\";\n\nconst CTAsWrapper = styled.div`\n padding: var(--size-grid002) 0;\n display: flex;\n justify-content: center;\n gap: var(--size-grid001);\n width: 100%;\n @media (min-width: 960px) {\n padding: var(--size-grid001) 0;\n }\n`\nconst returnLinearGradient = (formType: string) => {\n if (formType === 'layer') {\n return 'linear-gradient(180deg, rgba(7, 29, 77, 0.5) 0%, #071D4D 77.06%);'\n } else {\n return 'linear-gradient(180deg, rgba(255, 255, 255, 0.5) -25.89%, #FFFFFF 50%)'\n }\n}\n\nconst CTAsWrapperMobile = styled.div<{ navPosition: string, formType: string }>`\n padding: ${(props) => props.navPosition === 'fixed' ? '45px 0 110px 0' : '50px 0'};\n display: flex;\n justify-content: center;\n gap: var(--size-grid001);\n position: ${(props) => props.navPosition};\n height: 130px;\n right: 0px;\n width: 100%;\n bottom: ${(props) => props.navPosition === 'fixed' ? '31px' : '-27px'};\n background: ${(props) => returnLinearGradient(props.formType)};\n`\n\ninterface ConsentQuestionProps {\n questionType: 'lssi' | 'tmk';\n}\n\nconst questions = {\n lssi: {\n title: <>¿Te gustaría recibir descuentos y novedades de Volkswagen?,\n subtitle: 'Estarás mejor informado.',\n copy: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n icon: iconlssi,\n },\n tmk: {\n title: <>¿Te gustaría que elaboremos un perfil tuyo para ofrecerte información comercial sobre productos y servicios de nuestras marcas que creamos que te puedan interesar más según tus preferencias?,\n subtitle: '¡Adiós mensajes genéricos!',\n copy: 'Activando esta opción podremos enviarte información y ofertas personalizadas de productos y servicios adecuadas a tu perfil. Para ello nos basaremos en tu comportamiento, preferencias personales y cómo usas nuestros productos y servicios.',\n icon: icontmk,\n }\n}\n\n\nexport const ConsentQuestion = (ConsentQuestionProps: ConsentQuestionProps) => {\n const { questionType } = ConsentQuestionProps;\n const [currentValue, setCurrentValue] = React.useState('');\n const { register, setValue, errors } = useFormContext();\n const dispatch = useDispatch();\n const { handleNextStep } = useOneFormContext();\n const [navPosition, setNavPosition] = React.useState('fixed');\n const viewportHeight = useWindowHeight();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { setShowPreviousStep } = useOneFormContext();\n\n setShowPreviousStep(false);\n\n const { bottom: bottomContent, getAndUpdateState: getAndUpdateStateContent } = useGetBoundingClientRect(\n '.content-controller-fullScreen'\n );\n\n const { top: topNavigation, getAndUpdateState: getAndUpdateStateNavigation } =\n useGetBoundingClientRect('.navigation-wrapper');\n\n useEffect(() => {\n if (bottomContent === null) {\n setNavPosition('fixed');\n } else if (bottomContent <= viewportHeight - 100) {\n setNavPosition('absolute');\n } else {\n setNavPosition('fixed');\n }\n }, [topNavigation, bottomContent]);\n\n const handlePosition = () => {\n getAndUpdateStateNavigation();\n getAndUpdateStateContent();\n };\n\n useEffect(() => {\n document.addEventListener('scroll', handlePosition);\n return () => {\n document.removeEventListener('scroll', handlePosition);\n };\n\n }, []);\n\n const renderCTAs = () => {\n return (\n <>\n {\n e.preventDefault()\n checkCurrentValue('aceptar', questionType)\n }}\n ariaLabel=\"aceptar\"\n >\n Aceptar\n \n {\n e.preventDefault()\n checkCurrentValue('omitir', questionType)\n }}\n ariaLabel=\"omitir\"\n >\n Omitir\n \n \n \n )\n }\n\n function checkCurrentValue(label: string, name: string) {\n const value = label === 'aceptar' ? 'PERMITE' : 'NO INFORMADO';\n setCurrentValue(label);\n dispatch({ type: 'UPDATE_FIELDS', payload: { [questionType]: value } });\n\n setValue(name, value);\n handleNextStep();\n }\n\n return (\n <>\n \n \n\n
\n \"icon\"\n
\n \n {questions[questionType].title}\n \n \n {questions[questionType].subtitle}\n \n \n {questions[questionType].copy}\n \n \n \n \n {renderCTAs()}\n \n \n \n \n {renderCTAs()}\n \n \n \n \n )\n}\n","import {\n Breakpoints,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Layout,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Calendar } from 'src/icons-core-imports';\n\nimport React from 'react';\nimport { useSelector } from 'react-redux';\nimport { Center, getDistanceFromCenter, Points } from 'src/feature-app';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { Horario, OneFormState } from 'src/types';\n\nconst CTAWrapper = styled.div`\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: 32px;\n`;\n\ninterface DealerCardProps {\n handleShowSlots?: any;\n point?: Points;\n handleSeleccionarOnClick?: any;\n handleShowCalendarOnClick?: any;\n center: Center;\n}\n\nexport const DealerCard = (props: DealerCardProps) => {\n const { point, center } = props;\n const { name, address, city, zipCode } = point.properties.dealer.markerInfo.dealerInfo;\n const { distanceFromCenter, dealer } = point.properties;\n const trackingManager = useTrackingManager();\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario: Horario } = formData.fields;\n\n return (\n <>\n \n \n {props.handleShowSlots(point) === null ? null : (\n \n \n {props.handleShowSlots(point)}\n \n \n )}\n\n \n \n {name ? name : null}\n \n \n {address}, {zipCode} {city}\n \n \n \n \n \n {distanceFromCenter ? distanceFromCenter : getDistanceFromCenter(center, point)}km\n \n \n \n\n {!point.properties.dealer.dmsInfo || !point.properties.dealer.dmsInfo.dmsAvailable ? (\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Seleccionar día y franja horaria',\n },\n dealer\n );\n props.handleShowCalendarOnClick(point);\n }}\n >\n Seleccionar día y franja horaria\n \n \n ) : (\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Seleccionar',\n },\n dealer\n );\n if (\n (horario !== 'before' && dealer.slots[horario] === null) ||\n (horario === 'before' && !point.properties.hasOwnProperty('earliestSlot'))\n ) {\n props.handleShowCalendarOnClick(point);\n } else {\n props.handleSeleccionarOnClick(point);\n }\n }}\n >\n Seleccionar\n \n }\n onClick={(e) => {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Ver más horas',\n },\n dealer\n );\n props.handleShowCalendarOnClick(point);\n }}\n >\n Ver más horas\n \n \n )}\n \n );\n};\n","import React, { useState, useEffect } from 'react';\nimport {\n Container,\n ContainerGutter,\n ContainerPadding,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { InputButton, TextAreaExtended, PaddingWrapper } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useFormContext } from 'react-hook-form';\nimport { FieldType } from 'src/feature-service/es-oneform-core-feature-service/types';\n\ninterface DetalleMotivoProps {\n hideCTA?: boolean;\n CTALabel?: string;\n name?: FieldType;\n label?: string;\n limitedCharacters?: boolean;\n numberOfMaxLength?: number;\n showRecomendation?: string | JSX.Element;\n required?: boolean;\n}\n\nexport function DetalleMotivo(props: DetalleMotivoProps) {\n const { hideCTA, CTALabel, name, label, limitedCharacters, numberOfMaxLength, showRecomendation, required } = props;\n const { register, setValue } = useFormContext();\n const { handleNextStep } = useOneFormContext();\n const [showButton, setShowButton] = useState(true);\n const [currentValue, setCurrentValue] = useState('');\n\n const adMaxLength = (max: number) => {\n const aux = document.getElementsByTagName('textarea');\n aux[0].setAttribute('maxlength', `${max}`);\n };\n\n useEffect(() => {\n if (limitedCharacters) adMaxLength(numberOfMaxLength);\n }, []);\n\n useEffect(() => {\n if (hideCTA) {\n setShowButton(false);\n }\n }, []);\n\n const handleChange = (e: any) => {\n const aux = e.currentTarget.value;\n e.preventDefault();\n setCurrentValue(aux);\n if (!hideCTA && (aux.length <= 2 || aux === '')) {\n setShowButton(true);\n } else {\n setShowButton(false);\n }\n };\n\n return (\n \n \n
\n handleChange(e)}\n appearance={'default'}\n isFloating\n innerRef={register({\n required: {\n value: required ? required : false,\n message: '',\n },\n })}\n maxLength={numberOfMaxLength}\n alternateCTAText={CTALabel ? CTALabel : 'No, eso es todo'}\n />\n {\n showRecomendation ? (\n \n \n {showRecomendation}\n \n \n ) : null\n }\n
\n {\n hideCTA ? null :(\n <>\n {showButton ? (\n {\n setValue('masInformacion', '');\n handleNextStep(e);\n }}\n innerRef={register({\n required: {\n value: required ? required : false,\n message: '',\n },\n })}\n />\n ) : (\n
\n )}\n \n )\n } \n \n \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { SelectExtended } from '.';\nimport { getActualYearNumber } from 'src/feature-app';\nimport { styled } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { meses } from 'src/feature-app/InputsValues/OtherInputTypesObjects';\ninterface FechaCompraProps {\n notALayer: boolean;\n}\n\nconst FechaCompraWrapper = styled.div`\n margin-top: 4px;\n display: flex;\n flex-wrap: wrap;\n width: var(--size-grid020);\n @media all and (min-width: 560px) {\n width: var(--size-grid013);\n }\n @media screen and (min-width: 960px) {\n margin-top: 0; \n width: var(--size-grid008);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid006);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid005);\n }\n @media all and (min-width: 2560px) {\n width: var(--size-grid004);\n }\n label {\n margin-top: 40px;\n width: var(--size-grid009);\n\n @media all and (max-height: 624px) {\n margin-top: 20px;\n }\n\n @media all and (min-width: 560px) {\n width: var(--size-grid006);\n }\n @media screen and (min-width: 960px) {\n width: calc( var(--size-grid003) + (var(--size-grid001)/2) );\n }\n @media all and (min-width: 1280px) {\n width: calc( var(--size-grid002) + (var(--size-grid001)/2) );\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid002);\n }\n @media all and (min-width: 2560px) {\n width: calc( var(--size-grid001) + (var(--size-grid001)/2) );\n }\n }\n`;\nconst MarginDiv = styled.div`\n width: var(--size-grid002);\n @media all and (min-width: 560px) {\n width: var(--size-grid001);\n }\n`;\n\nexport const FechaCompra = (props: FechaCompraProps ) => {\n\n const { notALayer } = props;\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const { fecha } = formData.fields;\n\n //month\n const [ month, setMonth ] = useState('Enero');\n\n const handleChangeMonth = (e:any) => {\n e.preventDefault();\n setMonth(e.target.value);\n };\n\n //year\n\n const actualYear = getActualYearNumber();\n const [ yearsArray, setYearsArray ] = useState(null);\n\n useEffect(()=>{\n const previousYear = dayjs(actualYear).subtract(1, 'y').locale('es').format('YYYY');\n\n setYearsArray([previousYear, actualYear]);\n }, [actualYear]);\n\n const [ year, setYear ] = useState(actualYear);\n\n const handleChangeYear = (e:any) => {\n e.preventDefault();\n setYear(e.target.value);\n };\n\n //previous value\n\n useEffect(()=>{\n if(fecha) {\n const aux = fecha.split('/');\n const auxMonth = meses.find((m)=> m.number === aux[1]); \n setMonth(auxMonth.name);\n setYear(aux[2]);\n }\n }, []);\n\n //send value\n\n const [ finalDate, setFinalDate ] = useState(null);\n\n useEffect(()=>{\n const aux = meses.find((m)=> m.name === month);\n\n setFinalDate(`01/${aux.number}/${year}`);\n }, [month, year]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { fecha: finalDate } });\n if(finalDate) {\n const aux = finalDate.split('/');\n const mes = meses.find((m) => m.number === aux[1]);\n dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { fechaCompra : mes.name + ' / ' + aux[2] } });\n }\n }, [finalDate]);\n\n \n\n \n\n return (\n \n m.name)}\n name='month'\n isRequired={true}\n handleChange={handleChangeMonth}\n value={month}\n onClick={() => null}\n setOption={setMonth}\n />\n \n { yearsArray ? (\n null}\n setOption={setYear}\n />\n ) : null}\n \n );\n};\n","import {\n Container,\n ContainerGutter,\n CTA,\n Text,\n styled,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { CustomSlider, PaddingWrapper } from '.';\n\nconst KilContentWrapper = styled.div`\n padding-left: 32px;\n padding-right: 8px;\n width: 100vw;\n\n @media all and (min-width: 560px) {\n padding-left: 46px;\n padding-right: 32px;\n }\n @media all and (min-width: 960px) {\n padding-left: 120px;\n padding-right: 81px;\n width: 960px;\n }\n`;\n\nexport function Kilometros() {\n const isCommerciales = useIsComerciales();\n const jumpRange = isCommerciales ? 50000 : 30000;\n const maxValue = isCommerciales ? 400000 : 180000;\n const numberOfSteps = isCommerciales ? 9 : 7;\n const [value, setValue] = useState(1);\n const [millageValue, setMillageValue] = useState([0, jumpRange]);\n const [rangoKilometros, setRangoKilometros] = useState(`0km - ${formatNumber(jumpRange)}km`);\n const dispatch = useDispatch();\n const { handleNextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n\n // convertir int a string con '.' de separacion para los miles. ej: 30000 --> 30.000\n function formatNumber(num: number | number[]) {\n return num.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1.');\n }\n const handleInputChange = (event: any) => {\n setValue(event.target.value);\n };\n\n useEffect(() => {\n const aux = jumpRange;\n const lowValue = aux * value - jumpRange;\n const highValue = aux * value;\n let stringRange;\n\n if (highValue > maxValue) {\n stringRange = isCommerciales ? 'Más de 400.000km' : 'Más de 180.000km';\n setMillageValue([lowValue, highValue]);\n } else {\n stringRange = `${formatNumber(lowValue)}km - ${formatNumber(highValue)}km`;\n setMillageValue([lowValue, highValue]);\n }\n setRangoKilometros(stringRange);\n\n trackingManager.trackFormFilterSelect(\n {\n contentId: 'Kilometros',\n },\n {\n type: 'range',\n name: 'Kilometros',\n lowerbound: String(lowValue),\n upperbound: String(highValue),\n values: undefined,\n },\n { FormFieldName: 'kilometros' }\n );\n }, [value]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { kilometros: millageValue } });\n }, [millageValue]);\n\n return (\n \n \n \n \n {rangoKilometros}\n \n \n \n \n \n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: 'No estoy seguro',\n });\n setMillageValue(0);\n handleNextStep(e);\n }}\n ariaLabel=\"aria label\"\n >\n No estoy seguro\n \n \n \n \n );\n}\n","import { Breakpoints, BreakpointWrapper, CTA, styled } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { KoScreen, LoadingScreen, IntermitenciaDMSKo, InvalidForm } from 'src/components';\n\nconst PositionWrapper = styled.div`\n width: 100%;\n display: flex;\n justify-content: center;\n`;\n\ninterface LastNavigationProps {\n compartir?: string;\n setCompartirError?: React.Dispatch>;\n setPrivacidadError?: React.Dispatch>;\n label?: string;\n KoTitle?: string;\n KoBody?: string;\n loadingCopy?: string;\n ContentID?: string;\n checkNotSavedFields?: () => string;\n ActivarCheckNotSavedFields?: boolean;\n}\n\n\nexport const LastNavigation = (props: LastNavigationProps) => {\n const {\n label,\n KoTitle,\n KoBody,\n loadingCopy,\n setCompartirError,\n ContentID,\n checkNotSavedFields,\n ActivarCheckNotSavedFields,\n } = props;\n\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { triggerValidation, errors } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [notSavedField, setNotSavedField] = useState(null);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const [intermitenciaLayerLayer, setIntermitenciaLayerLayer] = useState>(null);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const { formData } = useSelector((state: OneFormState) => state);\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleIntermitenciaDMSKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderIntermitenciaDMSKoLayer, {}, { size: FocusLayerSizeV2.A });\n setIntermitenciaLayerLayer(layer);\n // return layer;\n };\n\n const renderIntermitenciaDMSKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleInvalidFormLayer = () => {\n const layer = layerManager.openFocusLayer(renderInvalidFormLayer, {}, { size: FocusLayerSizeV2.A });\n // setConfirmacionLayer(layer);\n\n // return layer;\n };\n const renderInvalidFormLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n // 1. check de lssi y tmk\n // 2. submit de la cita y activación la pantalla de feedback correspondiente\n // no se hace ninguna validación en este último paso porque esta ya se ha hecho en el edit-guardar de cada campo previamente\n async function handleConfirmar(e: any) {\n if (formData.fields.formName === 'no_compra-no_tengo' && formData.fields.quieroContacto === 'true' ||\n formData.fields.formName === 'no_renovacion-no_tengo' && formData.fields.quieroContacto === 'true') {\n if (!formData.fields.compartir) {\n setCompartirError(true);\n } else {\n trackingManager.trackFormCTAClick({\n contentId: ContentID ? ContentID : 'Enviar',\n });\n\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n } else {\n const isValid = await triggerValidation();\n if (setCompartirError && !isValid) {\n setCompartirError(true);\n }\n \n if (!isValid) return;\n\n trackingManager.trackFormCTAClick({\n contentId: ContentID ? ContentID : 'Enviar',\n });\n\n if (ActivarCheckNotSavedFields) {\n const someNotSavedField = checkNotSavedFields();\n setNotSavedField(someNotSavedField);\n\n if (someNotSavedField === null) {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n const { sendDmsFailed } = store.getState().formInfo;\n if (sendDmsFailed) {\n handleIntermitenciaDMSKoLayer();\n } else {\n handleKoLayer();\n }\n }\n } else {\n handleInvalidFormLayer();\n }\n } else {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n }\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n \n \n {\n e.preventDefault();\n handleConfirmar(e);\n }}\n stretchContent\n >\n {label ? label : 'Enviar'}\n \n \n \n {\n e.preventDefault();\n handleConfirmar(e);\n }}\n >\n {label ? label : 'Enviar'}\n \n \n \n );\n};\n","import {\n Container,\n CTA,\n Text,\n TextAlignment,\n ContainerGutter,\n styled,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useSelector, useDispatch } from 'react-redux';\nimport {\n isGooglePlace,\n Suggest,\n Suggestion,\n useOneFormContext\n} from 'src/feature-app';\nimport { useLocateUser } from 'src/feature-app/hooks';\nimport { Installation, isDealerData, OneFormState } from 'src/types';\n\nconst LocateWrapper = styled.div<{ paddingTop?: string }>`\n overflow: visible;\n padding-top: ${(props) => props.paddingTop ? props.paddingTop : '44px'};\n`;\nconst LocationDisabledWrapper = styled.div<{ paddingTopLocation?: string }>`\n padding-top: ${(props) => props.paddingTopLocation ? props.paddingTopLocation : '44px'};\n`;\ninterface LocateUserProps {\n isFiltrosSuggest?: boolean;\n onSuggestionSelectedFnAlternative?: (suggestion: Suggestion) => void;\n theme?: 'main' | 'inverted';\n paddingTop?: string;\n paddingTopLocation?: string;\n autoWidth?: boolean;\n noTengoDudasButton?: boolean;\n}\n\nexport function LocateUserFullScreen(props: LocateUserProps) {\n const { isFiltrosSuggest, onSuggestionSelectedFnAlternative, theme, paddingTop, paddingTopLocation, autoWidth } = props;\n const { register } = useFormContext();\n const { nextStep } = useOneFormContext();\n const {\n value,\n setValue,\n suggestion,\n setSuggestion,\n icon,\n locationSuccess,\n setLocationSuccess,\n handleLocate,\n loading,\n locationDisabled,\n isLocating,\n onSuggestionSelectedFn,\n } = useLocateUser();\n const dispatch = useDispatch();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formTheme } = formInfo;\n\n const getSuggestionValue = (suggestion: Suggestion) => {\n if (!isGooglePlace(suggestion) && !isDealerData(suggestion)) {\n return (suggestion as Installation).VGED_CommercialName__c;\n } else {\n return suggestion.name;\n }\n };\n\n return (\n \n \n
\n \n
\n \n {\n e.preventDefault();\n if (!locationSuccess) handleLocate();\n }}\n disabled={loading ? true : false}\n size=\"small\"\n >\n Localiza mi posición actual\n \n {locationDisabled ? (\n \n \n Tu localización está deshabilitada\n \n \n ) : null}\n \n {props.noTengoDudasButton ? (\n {\n e.preventDefault();\n dispatch({ type: 'UPDATE_FIELDS', payload: { quieroContacto: 'false' } });\n nextStep();\n }}\n size=\"small\"\n >\n No tengo dudas\n \n ) : null}\n
\n \n
\n );\n}\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { connect } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { InputError, TextInputExtended, CarlineSelect, PaddingWrapper } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { CitaFormDataFields } from 'src/forms/CitaPosventa/types';\nimport { SelectExtended } from '.';\n\nconst arrCountries = [\n {\n name: 'ES',\n code: 'ES',\n regex: [/\\d{4}[b-df-hj-npr-tv-zB-DF-HJ-NPR-TV-Z]{3}/, /[A-Za-z]{1,2}\\d{4}[A-Za-z]{1,2}/],\n errorMessage: 'Ejemplo: 0000BCD o AA0000AA',\n },\n {\n name: 'DE',\n code: 'DE',\n regex: [/[a-zA-Z]{2,5}\\d{1,4}/],\n errorMessage: 'Ejemplo: AAABB0000',\n },\n {\n name: 'FR',\n code: 'FR',\n regex: [\n /[a-hj-np-tv-zA-HJ-NP-TV-Z]{2}\\d{3}[a-hj-np-tv-zA-HJ-NP-TV-Z]{2}/,\n /\\d{2,4}[a-zA-Z]{2,3}\\d{2,3}/,\n /\\d{2,4}[a-zA-Z]{2,3}\\d{1}(a|b|A|B)/,\n ],\n errorMessage: 'Ejemplo: AA000AA o 00000AA00',\n },\n {\n name: 'GB',\n code: 'GB',\n regex: [/[a-zA-Z]{1,2}\\d{2}[a-zA-Z]{3}/, /[a-zA-Z]{1}\\d{3}[a-zA-Z]{3}/],\n errorMessage: 'Ejemplo: AA00AAA',\n },\n {\n name: 'IT',\n code: 'IT',\n regex: [/[a-zA-Z]{2}\\d{3}[a-zA-Z]{2}/],\n errorMessage: 'Ejemplo: AA000AA',\n },\n {\n name: 'PT',\n code: 'PT',\n regex: [/[a-zA-Z]{2}\\d{2}[a-zA-Z]{2}/, /\\d{2}[a-zA-Z]{2}\\d{2}/],\n errorMessage: 'Ejemplo: AA00AA',\n },\n {\n name: 'Otros',\n code: 'Otros',\n regex: [/[a-zA-Z\\d\\s]{3,}/],\n errorMessage: 'Solo números, letras y espacios',\n },\n];\n\ninterface paginaConfirmacionProps {\n paginaConfirmacion: boolean;\n}\n\nconst ContentWrapper = styled.div`\n\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: ${(props) => (props.paginaConfirmacion ? 'flex-start' : 'space-between')};\n flex-wrap: wrap;\n padding-top: 0;\n }\n /* Eliminar flechas del input type number porque descuadra el layout un poco */\n /* Chrome, Safari, Edge, Opera */\n input::-webkit-outer-spin-button,\n input::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n /* Firefox */\n input[type='number'] {\n -moz-appearance: textfield;\n }\n`;\n\nconst MatriculaAndCountriesWrapper = styled.div`\n width: 100%;\n display: flex;\n height: max-content;\n @media all and (min-width: 560px) {\n width: 303px;\n }\n @media all and (min-width: 960px) {\n width: 320px;\n margin-right:${(props) => (props.paginaConfirmacion ? '88px' : '0px')};\n }\n`;\nconst MatriculaWrapper = styled.div`\n width: 100%;\n label {\n width: 100%;\n @media screen and (min-width: 960px) {\n width: 170px;\n }\n }\n`;\nconst CoutryWrapper = styled.div`\n margin-right: 24px;\n label {\n width: 109px;\n @media screen and (min-width: 560px) {\n width: 116px;\n }\n @media screen and (min-width: 960px) {\n width: 120px;\n }\n }\n`;\nconst InputErrorWrapper = styled.div`\n &.matricula-error-wrapper {\n p {\n max-width: 179px;\n @media all and (min-width: 560px) {\n max-width: 163px;\n }\n @media all and (min-width: 960px) {\n max-width: 176px;\n }\n }\n }\n`;\nconst AnoMatriculacionWrapper = styled.div<{ paginaConfirmacion: boolean }>`\n margin-top: ${(props) => (props.paginaConfirmacion ? '40px' : null)};\n @media all and (min-width: 960px) {\n margin-top: 0;\n }\n`;\n\ninterface inputWidthWrapperProps {\n noPaddingTop?: boolean;\n}\n\nconst InputWidthWrapper = styled.div`\n width: 100%;\n padding-top: ${(props) => (props.noPaddingTop ? null : '40px')};\n\n @media all and (max-height: 624px) {\n padding-top: ${(props) => (props.noPaddingTop ? null : '24px')};\n }\n @media all and (min-width: 560px) {\n width: 303px;\n }\n @media all and (min-width: 960px) {\n padding-top: 0;\n width: 320px;\n }\n`;\n\ninterface MatriculaProps {\n formData: CitaFormDataFields;\n paginaConfirmacion: boolean;\n noPaddingTop?: boolean;\n}\n\nconst MatriculaYModelo = (props: MatriculaProps) => {\n const { register, errors } = useFormContext();\n const { error, setError } = useOneFormContext();\n const [inputValueAno, setInputValueAno] = useState('');\n const [pristineMatricula, setPristineMatricula] = useState(true);\n const [pristineAno, setPristineAno] = useState(true);\n const [inputValueMatricula, setInputValueMatricula] = useState('');\n const [errorMatricula, setErrorMatricula] = useState(false);\n const [errorAno, setErrorAno] = useState(false);\n const [errorCountry, setErrorCountry] = useState(false);\n const [country, setCountry] = useState('ES');\n const [countryObject, setCountryObject] = useState(null);\n const regExpAno = /^(19|20)\\d{2}$/;\n const [regExCounty, setRegExCounty] = useState(null);\n const { formData, paginaConfirmacion, noPaddingTop } = props;\n\n useEffect(() => {\n if (formData.countryPlate) {\n setCountry(formData.countryPlate);\n const countryObject = arrCountries.find((c) => c.name === formData.countryPlate);\n setCountryObject(countryObject);\n setRegExCounty(countryObject.regex);\n } else {\n setCountry('ES');\n setCountryObject(arrCountries[0]);\n setRegExCounty(arrCountries[0].regex);\n }\n if (formData.matricula) {\n setInputValueMatricula(formData.matricula);\n setPristineMatricula(false);\n }\n if (formData.anoMatriculacion) {\n setInputValueAno(formData.anoMatriculacion);\n setPristineAno(false);\n }\n }, []);\n\n const validateMatricula = (input: string) => {\n const isValid = regExCounty.some((regEx) => regEx.test(input));\n\n if (isValid) {\n setErrorMatricula(false);\n return true;\n } else {\n setErrorMatricula(true);\n return false;\n }\n };\n\n const handleChangeCountry = (event: any) => {\n setCountry(event.currentTarget.value);\n const countryObject = arrCountries.find((c) => c.name === event.currentTarget.value);\n setCountryObject(countryObject);\n setRegExCounty(countryObject.regex);\n if (countryObject.name !== '') setErrorCountry(false);\n };\n\n const handleChangeAno = (e: any) => {\n setInputValueAno(e.target.value);\n setPristineAno(false);\n };\n\n const handleChangeMatricula = (e: any) => {\n setInputValueMatricula(e.target.value);\n setPristineMatricula(false);\n };\n\n useEffect(() => {\n if (inputValueAno.length < 4) {\n return;\n } else {\n if (!pristineAno && inputValueAno.match(regExpAno) === null) {\n setErrorAno(true);\n } else if (inputValueAno === '') {\n setPristineAno(true);\n setErrorAno(false);\n } else {\n setErrorAno(false);\n }\n }\n }, [inputValueAno, pristineAno]);\n\n useEffect(() => {\n if (error) {\n errorAno || pristineAno ? setErrorAno(true) : setErrorAno(false);\n errorMatricula || pristineMatricula ? setErrorMatricula(true) : setErrorMatricula(false);\n }\n }, [error]);\n\n useEffect(() => {\n if (!errorMatricula && !errorMatricula) setError(false);\n }, [errorMatricula, errorMatricula]);\n\n return (\n \n \n \n \n null}\n updateFields\n setOption={setCountry}\n isRequired={true}\n />\n \n \n validateMatricula(input),\n required: {\n value: true,\n message: 'Requerido',\n },\n maxLength: 100,\n })}\n isFloating\n onChange={(e) => handleChangeMatricula(e)}\n required\n />\n {errorMatricula && (\n \n {countryObject.errorMessage}\n \n )}\n \n \n \n \n handleChangeAno(e)}\n required\n />\n {errorAno && Ejemplo: 2010}\n \n \n {!paginaConfirmacion ? (\n \n \n \n ) : null}\n \n \n );\n};\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formInfo: state.formInfo,\n formData: state.formData.fields,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(MatriculaYModelo);\n\nexport { ConnectedComponent as MatriculaYModelo };\n","import React, { useState} from 'react';\nimport { useDispatch } from 'react-redux';\nimport { styled, Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useFormContext } from 'react-hook-form';\nimport { InputButton } from 'src/components/inputs/InputButton';\n\nconst CTAWrapper = styled.div`\n text-align: left;\n margin: -10px;\n margin-top: 32px;\n @media all and (max-height: 624px) {\n margin-top: 24px;\n }\n & > button {\n margin: 12px;\n }\n`;\n\ninterface CTAValues {\n value?: string | boolean;\n label: string;\n}\n\ninterface NoClienteProps {\n name: string;\n nextOnClick?: boolean;\n bodyCopy: string;\n}\n\nexport const NoCliente = (props: NoClienteProps) => {\n const dispatch = useDispatch();\n const { name, nextOnClick, bodyCopy } = props;\n\n const { register, setValue } = useFormContext();\n const { handleNextStep, closeLayer } = useOneFormContext();\n const [selectedValue, setSelectedValue] = useState(null);\n\n return (\n <>\n \n {bodyCopy} \n \n \n {\n if ('Claro' !== selectedValue) {\n setSelectedValue('Claro');\n setValue(name, true);\n\n if (nextOnClick) {\n handleNextStep(e);\n }\n } else {\n setSelectedValue(null);\n setValue(name, null);\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: null } });\n }\n }}\n />\n {\n\n if ('Salir del formulario' !== selectedValue) {\n setSelectedValue('Salir del formulario');\n setValue(name,false);\n dispatch({ type: 'RESET_STATE' });\n closeLayer();\n\n } else {\n setSelectedValue(null);\n setValue(name, null);\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: null } });\n }\n }}\n />\n \n \n );\n};\n","import React from 'react';\nimport {\n Text,\n Container,\n ContainerPadding,\n CTA,\n ContainerGutter,\n Layout,\n Breakpoints,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useOneFormContext } from 'src/feature-app';\n\ninterface IntroduccioStarsProps {\n bodyCopy?: string;\n label?: string;\n}\n\nexport const PantallaIntroduccionStars = (props:IntroduccioStarsProps) => {\n const { bodyCopy, label } = props;\n const { nextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n\n return (\n \n \n \n {bodyCopy ? bodyCopy : 'Valora del 1 al 5 las siguientes experiencias con nosotros.'}\n \n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Siguiente',\n });\n e.preventDefault();\n nextStep();\n }}\n ariaLabel=\"aria label\"\n >\n {label ? label : 'Empezar'}\n \n \n \n );\n};\n","import React, { useEffect, useState, useRef } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchDomain } from 'src/bff';\nimport { OneFormState } from 'src/types';\nimport { useOneFormContext, useTrackingManager } from 'src/feature-app';\nimport { GeneralInputWidthWrapper } from '.';\nimport { InputError } from './inputs';\nimport { styled, Select, TextInput } from '@volkswagen-onehub/components-core';\n\ntype WrapperProps = {\n\tdisabled?: boolean;\n\tthemeColor?: string;\n};\n\nconst Wrapper = styled.div`\n opacity: ${(props) => (props.disabled ? '0.5' : '1')};\n & span::before {\n display: none;\n }\n svg {\n\tfill: ${(props) => (props.themeColor === 'inverted' ? '#ffffff' : '#001E50')};\n }\n option {\n\tcolor: #001e50;\n\tpadding-left: 12px;\n }\n`;\n\ninterface props {\n\tname: string;\n\ttoken: string;\n\tdomain: string;\n\tnodeValue: string;\n\tnodeText: string;\n\n\tlabel?: string;\n\trequired?: boolean;\n\tdisabled?: boolean;\n\tselected?: string;\n\tnoPaddingTop?: boolean;\n\taddOptions?: { value: string; text: string }[];\n\twhiteList?: string[];\n\tblackList?: string[];\n\tonClick?: (e?: any) => void;\n}\n\nexport function SelectDpsDomain(props: props) {\n\tconst { name, token, domain, required, disabled, nodeValue, nodeText, noPaddingTop, addOptions, whiteList, blackList } = props;\n\tconst defaultSelected = props.selected;\n\tconst label = props.label ? props.label : 'Selecciona una opción';\n\n\tconst dispatch = useDispatch();\n\tconst trackingManager = useTrackingManager();\n\tconst { register, errors: contextErrors } = useFormContext();\n\tconst { error: contextError } = useOneFormContext();\n\tconst [error, setError] = useState(false);\n\n\tconst { formData, formInfo, domainsInfo } = useSelector((state: OneFormState) => state);\n\tconst { fields } = formData;\n\tconst [options, setOptions] = useState<{ value: string; text: string }[]>([]);\n\tconst [selected, setSelected] = useState(null);\n\n\n\tconst requestDomain = async () => {\n\t\tconst response = await fetchDomain(token, domain);\n\t\tlet options = response.content.map((item) => {\n\t\t\tconst value = item.attributes.find((attr: { name: string }) => attr.name == nodeValue)?.value;\n\t\t\tconst text = item.attributes.find((attr: { name: string }) => attr.name == nodeText)?.value;\n\t\t\treturn { value, text };\n\t\t});\n\t\tif (whiteList) {\n\t\t\toptions = options.filter(({ value, text }) =>\n\t\t\t\twhiteList.some(white =>\n\t\t\t\t\t(value && value.toLowerCase() === white.toLowerCase()) ||\n\t\t\t\t\t(text && text.toLowerCase() === white.toLowerCase())\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\tif (blackList) {\n\t\t\toptions = options.filter(({ value, text }) =>\n\t\t\t\t!blackList.some(black =>\n\t\t\t\t\t(value && value.toLowerCase() === black.toLowerCase()) ||\n\t\t\t\t\t(text && text.toLowerCase() === black.toLowerCase())\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\t\tif (addOptions) {\n\t\t\toptions = [...options, ...addOptions];\n\t\t}\n\t\tsetOptions(options);\n\t\tsetFirstSelected(options);\n\t\tdispatch({ type: 'ADD_DOMAIN', payload: { [token]: { [domain]: options } } });\n\t};\n\n\tconst setFirstSelected = (options) => {\n\t\tif(fields[name]) {\n\t\t\tsetSelected(fields[name]);\n\t\t}\n\t\telse if (defaultSelected) {\n\t\t\tconst option = options.find(opt => \n\t\t\t\topt.value === defaultSelected || opt.text === defaultSelected \n\t\t\t);\n\t\t\tsetSelected(option?.value);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif(domainsInfo[token] && domainsInfo[token][domain]) {\n\t\t\tsetOptions(domainsInfo[token][domain]);\n\t\t\tsetFirstSelected(domainsInfo[token][domain]);\n\t\t}\n\t\telse {\n\t\t\trequestDomain();\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\tif (contextError) {\n\t\t\tsetError(true);\n\t\t} else if (contextErrors.value) {\n\t\t\tsetError(true);\n\t\t} else if (contextErrors[name]) {\n\t\t\tsetError(true);\n\t\t} else {\n\t\t\tsetError(false);\n\t\t}\n\t}, [contextError, contextErrors]);\n\n\tconst handleChange = (e: any) => {\n\t\tconst selectedValue = e.currentTarget.value;\n\t\tsetSelected(selectedValue);\n\t\tsetError(false);\n\n\t\tif (selectedValue == '' && required) {\n\t\t\tsetError(true);\n\t\t} else {\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: selectedValue } });\n\t\t\tdispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [name]: options.find(({value}) => value == selectedValue)?.text } });\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t{options ? (\n\t\t\t\t {\n\t\t\t\t\t\ttrackingManager.trackFormFieldClick(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcontentId: label,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tFormFieldName: name,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t);\n\t\t\t\t\t\t//props.onClick();\n\t\t\t\t\t}}\n\t\t\t\t\tdisabled={disabled}\n\t\t\t\t\tthemeColor={formInfo.formTheme}\n\t\t\t\t>\n\t\t\t\t\t {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\thandleChange(event);\n\t\t\t\t\t\t}}\n\t\t\t\t\t\trequired={required}\n\t\t\t\t\t\tautoFocus={false}\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\t{options.map((option: any, key: number) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t})}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t) : null }\n\n\t\t\t{ error ? Este campo es obligatorio : null}\n\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\n\t\t\t\n\t\t
\n\t);\n}\n","import React from 'react';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { SelectDpsDomain } from './SelectDpsDomain';\nimport { GeneralInputWidthWrapper } from './styleComponents';\nimport { store } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\n\nexport const Trato = () => {\n const isComerciales = useIsComerciales();\n\tconst dpsToken = isComerciales ? 'LCV_DDB_FRM_LEM_REC_LEM' : 'VW_DDB_FRM_LEM_REC_LEM';\n\tconst { formInfo }: OneFormState = store.getState();\n\n return (\n\t\t\n\t\t\t\n\t\t \n );\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { Apellido, Nombre, PaddingWrapper } from '.';\nimport { Trato } from './Trato';\nimport { useIsComerciales } from 'src/feature-app/hooks';\n\ninterface pantallaNombreApellidoProps {\n notALayer?: boolean;\n isComerciales?: boolean;\n}\n\nconst ContentWrapper = styled.div`\n gap: 44px;\n display: flex;\n flex-direction: column;\n width: 100%;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-direction: row;\n flex-wrap: wrap;\n margin-top: 0;\n }\n`;\n\nexport const PantallaNombreApellido = (props: pantallaNombreApellidoProps) => {\n const isComerciales = useIsComerciales();\n\n return (\n\t\n\t\t\n\t\t\t{isComerciales ? : null}\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n );\n};\n","import { Checkbox, CTA, styled, Text, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport React, { useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { useFormContext } from 'react-hook-form';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { InputError } from 'src/components';\nimport { OneFormState } from 'src/types';\n\nexport const PoliticaPrivacidad = () => {\n const { register, errors, clearError } = useFormContext();\n const isComerciales = useIsComerciales();\n const { formInfo } = useSelector((state: OneFormState) => state);\n return (\n
\n
\n \n Enviando este formulario declaras estar informado de la{' '}\n \n política de privacidad.\n \n \n
\n {errors && errors.politicaPrivacidad ? (\n Necesitamos esta información para seguir\n ) : null}\n
\n );\n};\n","import React, {useState, useEffect} from 'react';\nimport { useDispatch } from 'react-redux';\nimport { \n styled, \n Text, \n TextAlignment, \n BreakpointWrapper, \n Breakpoints,\n Container,\n ContainerPadding,\n CTA,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\n\nconst CustomInputRange = styled.input`\n width: 100%;\n height: 30px;\n background: transparent;\n font-size: 1em;\n cursor: pointer; \n -webkit-appearance: none;\n\n &::-webkit-slider-runnable-track, &::-webkit-slider-thumb {\n -webkit-appearance: none;\n };\n &::-webkit-slider-runnable-track{\n position: relative;\n width: 100%;\n height: 1px;\n background: transparent; \n };\n &::-moz-range-track {\n width: 100%;\n height: 1px;\n background: transparent;\n };\n &::-ms-track {\n border: none;\n width: 100%;\n height: 1px;\n background: transparent;\n color: transparent;\n };\n &::-ms-fill-lower {\n display: none;\n };\n &::-webkit-slider-thumb {\n box-sizing: border-box;\n width: 24px; \n height: 24px;\n border-radius: 50%;\n background: #001e50;\n transform: translateY(-12px);\n };\n &::-moz-range-thumb {\n box-sizing: border-box;\n width: 24px; \n height: 24px;\n border-radius: 50%;\n background: #001e50;\n transform: translateY(-12px);\n };\n &::-ms-thumb {\n box-sizing: border-box;\n width: 24px; \n height: 24px;\n border-radius: 50%;\n background: #001e50;\n transform: translateY(-12px);\n };\n &::-webkit-slider-runnable-track:before, &::-webkit-slider-runnable-track:after, & /deep/ #track:before, &/deep/ #track:after {\n position: absolute;\n bottom: 100%;\n color: #2c2c2b;\n font: 700 0.875em / 2 arial, sans-serif;\n background: #001e50;\n };\n &::-webkit-slider-runnable-track:before, & /deep/ #track:before {\n left: 0.8125em;\n word-spacing: 1.4375em;\n content: '1 2 3 4 5 6 7 8 9';\n };\n &::-webkit-slider-runnable-track:after, & /deep/ #track:after {\n right: 0.625em;\n word-spacing: 0.875em;\n content: '10 11 12 13 14 15 16';\n };\n &:focus{\n outline: none;\n }\n\n`;\nconst Mark = styled.div`\n height: 9px;\n width: 1px;\n background-color: #001e50;\n`;\nconst MarksPosition = styled.div`\n display: flex;\n display:-webkit-flex;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n margin-bottom: -19.5px;\n z-index: 3;\n margin-left: 7px;\n @media screen and (min-width: 960px) {\n margin-left: 0;\n width: 97%;\n }\n`;\nconst SliderPosition = styled.div`\n width: 100%;\n display: flex;\n justify-content: center;\n margin-left: 7px;\n @media screen and (min-width: 960px) {\n margin-left: 4px;\n }\n`;\nconst SlideLabelsPosition = styled.div`\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\nconst SliderAndMarksPosition = styled.div`\n width: 96%;\n padding-right: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n flex-direction: column;\n @media all and (min-width: 960px) {\n width: 99%;\n padding-right: 0px;\n }\n`;\ninterface CustomSliderProps {\n mobileLabels: Array;\n desktopLabels: Array;\n name: string;\n}\n\nexport const SlideEncuestas = (props: CustomSliderProps ) => {\n\n const {name, mobileLabels, desktopLabels} = props;\n const { handleNextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n const numberOfSteps = 5;\n const sliderMarks= [];\n const [value, setValue] = useState(3);\n\n\n const handleInputChange = (event: any) => {\n setValue(event.target.value);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: `${value}` } });\n }, [value]);\n\n for(let i = 0; i < 5; i++) {\n sliderMarks.push();\n }\n \n document.documentElement.classList.add('js');\n \n return (\n
\n \n
\n \n {sliderMarks ? sliderMarks : null}\n \n \n handleInputChange(e)}\n value={value}\n />\n \n \n \n \n {mobileLabels[0]}\n {mobileLabels[1]}\n \n \n {desktopLabels[0]}\n {desktopLabels[1]}\n {desktopLabels[2]}\n {desktopLabels[3]}\n {desktopLabels[4]}\n \n \n \n\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: 'Sin respuesta',\n });\n setValue(3);\n handleNextStep(e);\n }}\n ariaLabel=\"aria label\"\n >\n Sin respuesta\n \n \n
\n );\n};\n\n","import React, { useState, useEffect, useRef } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport Autosuggest from 'react-autosuggest';\nimport { MagnifierLabel, CloseButton, SuggestionWrapper, StyledWrapper } from 'src/feature-app/NewMap';\nimport { Close, Magnifier } from 'src/icons-core-imports';\nimport { Text, ThemeProvider, TokenTextAppearance, TokenTextColor, styled } from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { getVehiculosModelo } from 'src/bff';\nimport { modelCar, OneFormState } from 'src/types';\nimport { useFormContext } from 'react-hook-form';\nimport { useDropdowPosition } from 'src/feature-app/hooks';\n\ninterface SuggestModeloProps {\n notALayer: boolean;\n marginTop?: string;\n fieldsName: string;\n required: boolean;\n}\n\nconst FechaCompraWrapper = styled.div`\n margin-top: ${(props) => props.marginTop ? props.marginTop : '44px'};\n width: var(--size-grid020);\n position:relative;\n overflow: visible ;\n @media all and (max-height: 624px) {\n margin-top: ${(props) => (props.marginTop ? props.marginTop : '24px')};\n }\n\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n`;\n\nconst escapeRegexCharacters = (str: string) => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n};\n// Teach Autosuggest how to calculate suggestions for any given input value.\nconst getSuggestions = (value: string, list: modelCar[]) => {\n if (value.length < 2) return [];\n const escapedValue = escapeRegexCharacters(value.trim());\n\n if (escapedValue === '') {\n return [];\n }\n\n const regex = new RegExp(escapedValue, 'i');\n\n return list.filter((car: modelCar) => regex.test(car.title));\n};\n\n// When suggestion is clicked, Autosuggest needs to populate the input\n// based on the clicked suggestion. Teach Autosuggest how to calculate the\n// input value for every given suggestion.\nconst getSuggestionValue = (suggestion: modelCar) => suggestion.title;\n\n// Use your imagination to render suggestions.\nconst renderSuggestion = (suggestion: modelCar) => (\n \n \n {suggestion.title}\n \n \n);\n\nexport const SuggestMarca = (props: SuggestModeloProps) => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { notALayer, marginTop, fieldsName, required } = props;\n const dispatch = useDispatch();\n const [suggestions, setSuggestions] = useState([]);\n const [list, setList] = useState(null);\n const { register, clearError } = useFormContext();\n const [value, setValue] = useState('');\n const [selectedValue, setSelectedValue] = useState(false); // Controla que una vez seleccionado un valor en el input, no siga buscando en google maps.\n const suggestRef = useRef(null);\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formTheme } = formInfo;\n const [suggestion, setSuggestion] = useState(null);\n const [inputFocus, setInputFocus] = useState(false);\n\n const { setDisableIntroNextStep, setError } = useOneFormContext();\n\n useEffect(() => {\n getVehiculosModelo().then((modelos) => {\n setList(modelos);\n if (formData.fields[fieldsName]) {\n const modeloSuggestion = modelos.find((model) => model.title === formData.fields[fieldsName]);\n setValue(formData.fields[fieldsName]);\n setSuggestion(modeloSuggestion);\n }\n });\n }, []);\n\n const onChange = (e: any, { newValue }: { newValue: string }) => {\n if (setSelectedValue) {\n setSelectedValue(false);\n }\n if (newValue === '') {\n setSuggestion(null);\n setSelectedValue(true);\n }\n setError(false);\n setValue(newValue);\n };\n \n //desplegar el dropdown para arriba o para abajo según la posicinón del input en el window\n const { goUp, getAndUpdateState } = useDropdowPosition('.react-autosuggest__container');\n\n const onClick = () => {\n getAndUpdateState();\n };\n\n const onSuggestionsFetchRequested = async ({ value }: { value: string }) => {\n const suggestions = getSuggestions(value, list);\n setSuggestions(suggestions);\n };\n\n const onSuggestionsClearRequested = () => {\n setSuggestions([]);\n };\n\n const inputPlaceholder = 'Escribe aquí la Marca';\n const inputProps = {\n placeholder: inputPlaceholder,\n value,\n onChange,\n onClick,\n onBlur: () => { setDisableIntroNextStep(false); },\n disabled: false,\n };\n\n \n \n\n return (\n \n {\n {/*setTimeout(() => {\n suggestRef.current.scrollIntoView({ block: 'center', behavior: 'smooth' });\n }, 400);*/}\n setInputFocus(true);\n }}\n onBlur={() => setInputFocus(false)}\n isLocating={false}\n isFiltrosSuggest={false}\n isModeloSuggest={true}\n goUp={goUp}\n >\n \n \n \n {\n setSuggestion(suggestion);\n dispatch({ type: 'UPDATE_FIELDS', payload: { [fieldsName]: suggestion.name } });\n setSelectedValue(true);\n }}\n\n inputProps={inputProps}\n />\n {value !== '' && (\n \n {\n e.preventDefault(); \n setValue('');\n // setFormValue(fieldsName, '')\n setSuggestion(null);\n }}\n >\n \n \n \n )}\n \n \n \n );\n};\n","import React, { useState, useEffect, useRef } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport Autosuggest from 'react-autosuggest';\nimport { MagnifierLabel, CloseButton, SuggestionWrapper, StyledWrapper } from 'src/feature-app/NewMap';\nimport { Close, Magnifier } from 'src/icons-core-imports';\nimport { Text, ThemeProvider, styled, CTA, TokenTextAppearance, TokenTextColor, Emphasis } from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { getVehiculosModelo } from 'src/bff';\nimport { modelCar, OneFormState } from 'src/types';\nimport { useFormContext } from 'react-hook-form';\nimport { useDropdowPosition } from 'src/feature-app/hooks';\n\ninterface SuggestModeloProps {\n notALayer: boolean;\n marginTop?: string;\n fieldsName: string;\n required: boolean;\n outputsSeparados?: boolean;\n filterVW?:boolean;\n nextOnClick?: boolean;\n alternatCTA?: boolean;\n}\n\nconst FechaCompraWrapper = styled.div`\n margin-top: ${(props) => props.marginTop ? props.marginTop : '44px'};\n width: var(--size-grid020);\n position:relative;\n overflow: visible ;\n margin-left: ${(props) => (props.notALayer ? null : 'var(--size-grid002)')};\n\n @media all and (max-height: 624px) {\n margin-top: ${(props) => (props.marginTop ? props.marginTop : '24px')};\n }\n\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n margin-left: ${(props) => (props.notALayer ? null : '122px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n`;\n\nconst ModeloInteresWrapper = styled.div`\n display: ${(props)=> props.alternatCTA ? 'flex' : null};\n flex-wrap: ${(props)=> props.alternatCTA ? 'wrap' : null};\n\n @media all and (min-width: 560px) {\n gap: ${(props)=> props.alternatCTA ? '44px' : null};\n }\n`;\n\nconst ButtonWidth = styled.div`\n margin-top: 44px;\n\n button {\n width: 81px;\n }\n`;\n\nconst escapeRegexCharacters = (str: string) => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n};\n// Teach Autosuggest how to calculate suggestions for any given input value.\nconst getSuggestions = (value: string, list: modelCar[]) => {\n if (value.length < 2) return [];\n const escapedValue = escapeRegexCharacters(value.trim());\n\n if (escapedValue === '') {\n return [];\n }\n\n const regex = new RegExp(escapedValue, 'i');\n\n return list.filter((car: modelCar) => regex.test(car.title));\n};\n\n// When suggestion is clicked, Autosuggest needs to populate the input\n// based on the clicked suggestion. Teach Autosuggest how to calculate the\n// input value for every given suggestion.\nconst getSuggestionValue = (suggestion: modelCar) => suggestion.title;\n\n// Use your imagination to render suggestions.\nconst renderSuggestion = (suggestion: modelCar) => (\n \n \n {suggestion.title}\n \n \n);\n\nexport const SuggestModelo = (props: SuggestModeloProps) => {\n const { notALayer, marginTop, fieldsName, required, outputsSeparados, filterVW, nextOnClick, alternatCTA } = props;\n const dispatch = useDispatch();\n const [suggestions, setSuggestions] = useState([]);\n const [list, setList] = useState(null);\n const { register, clearError } = useFormContext();\n const [value, setValue] = useState('');\n const [selectedValue, setSelectedValue] = useState(false); // Controla que una vez seleccionado un valor en el input, no siga buscando en google maps.\n const suggestRef = useRef(null);\n const { formInfo, formData } = useSelector((state: OneFormState) => state);\n const { formTheme } = formInfo;\n const [suggestion, setSuggestion] = useState(null);\n const [inputFocus, setInputFocus] = useState(false);\n const [ isNotAnswered, setIsNotAnswered ] = useState(true);\n const [ buttonEmphasis, setButtonEmphasis ] = useState('secondary');\n const { setIsValueSelected } = useOneFormContext();\n\n const { setDisableIntroNextStep, setError, handleNextStep } = useOneFormContext();\n\n useEffect(() => {\n\n getVehiculosModelo().then((modelos) => {\n let modelosToSet = modelos;\n if (filterVW) {\n modelosToSet = modelos.filter(modelo => modelo.brand !== 'Volkswagen');\n }\n setList(modelosToSet);\n if (formData.fields[fieldsName]) {\n if(formData.fields.brand === 'false' && formData.fields.model === 'false') {\n setButtonEmphasis('primary');\n setSuggestion(null);\n setValue('');\n setIsNotAnswered(false);\n } else {\n const modeloSuggestion = modelosToSet.find((model) => model.title === formData.fields[fieldsName]);\n setValue(formData.fields[fieldsName]);\n setSuggestion(modeloSuggestion);\n }\n }\n });\n }, []);\n\n\n const onChange = (e: any, { newValue }: { newValue: string }) => {\n if (setSelectedValue) {\n setSelectedValue(false);\n }\n if (newValue === '') {\n setSuggestion(null);\n setSelectedValue(true);\n }\n setError(false);\n setValue(newValue);\n };\n \n //desplegar el dropdown para arriba o para abajo según la posicinón del input en el window\n const { goUp, getAndUpdateState } = useDropdowPosition('.react-autosuggest__container');\n\n const onClick = () => {\n getAndUpdateState();\n };\n\n const onSuggestionsFetchRequested = async ({ value }: { value: string }) => {\n const suggestions = getSuggestions(value, list);\n setSuggestions(suggestions);\n };\n\n const onSuggestionsClearRequested = () => {\n setSuggestions([]);\n };\n\n const inputPlaceholder = 'Escribe aquí el modelo';\n const inputProps = {\n placeholder: inputPlaceholder,\n value,\n onChange,\n onClick,\n onBlur: () => { setDisableIntroNextStep(false); },\n disabled: false,\n };\n\n const handleDispatch = (outputsSeparados: boolean, suggestion: modelCar)=> {\n if(outputsSeparados) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'brand': suggestion.brand } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'model': suggestion.model } });\n } else {\n dispatch({ type: 'UPDATE_FIELDS', payload: { [fieldsName]: suggestion.name } });\n }\n };\n \n \n\n return (\n \n \n {\n {/*setTimeout(() => {\n suggestRef.current.scrollIntoView({ block: 'center', behavior: 'smooth' });\n }, 400);*/}\n setInputFocus(true);\n }}\n onBlur={() => setInputFocus(false)}\n isLocating={false}\n isFiltrosSuggest={false}\n isModeloSuggest={true}\n goUp={goUp}\n notALayer={notALayer}\n >\n \n \n \n {\n setSuggestion(suggestion);\n handleDispatch(outputsSeparados, suggestion);\n setSelectedValue(true);\n if(nextOnClick) {\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n }}\n\n inputProps={inputProps}\n />\n {value !== '' && (\n \n {\n e.preventDefault(); \n setValue('');\n // setFormValue(fieldsName, '')\n setSuggestion(null);\n }}\n >\n \n \n \n )}\n \n \n \n \n { alternatCTA ? (\n \n {\n e.preventDefault();\n setSuggestion({brand:'false', id: null, name: 'false', model: 'false', title: 'false'});\n handleDispatch(outputsSeparados, {brand:'false', id: null, name: 'false', model: 'false', title: 'Escribe aquí el modelo'});\n setSelectedValue(true);\n if(nextOnClick) {\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n }}\n >No\n \n ) : null}\n \n );\n};\n","import React, { useState, useEffect, useRef } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { SelectExtended } from '.';\nimport { styled, CTA } from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { fetchMarcas, fetchModelos } from 'src/bff';\nimport { OneFormState } from 'src/types';\nimport { useFormContext } from 'react-hook-form';\n\ninterface BrandModelProps {\n\tstepName: string;\n\tbrandName?: string;\n\tmodelName?: string;\n\tmarginTop?: string;\n\tnotALayer?: boolean;\n\trequired: boolean;\n\tformToken?: string;\n\tnextOnClick?: boolean;\n\talternatCTA?: boolean;\n\texcludeMarcas?: [string];\n\texcludeModelos?: [string];\n}\n\nconst SelectsWrapper = styled.div`\n\tmargin-top: 4px;\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\twidth: var(--size-grid020);\n\t@media all and (min-width: 560px) {\n\t\twidth: var(--size-grid013);\n\t}\n\t@media screen and (min-width: 960px) {\n\t\tmargin-top: 0; \n\t\twidth: var(--size-grid008);\n\t}\n\t@media all and (min-width: 1280px) {\n\t\twidth: var(--size-grid006);\n\t}\n\t@media all and (min-width: 1920px) {\n\t\twidth: var(--size-grid005);\n\t}\n\t@media all and (min-width: 2560px) {\n\t\twidth: var(--size-grid004);\n\t}\n\tlabel {\n\t\tmargin-top: 40px;\n\t\twidth: var(--size-grid009);\n\n\t\t@media all and (max-height: 624px) {\n\t\t\tmargin-top: 20px;\n\t\t}\n\n\t\t@media all and (min-width: 560px) {\n\t\t\twidth: var(--size-grid006);\n\t\t}\n\t\t@media screen and (min-width: 960px) {\n\t\t\twidth: calc( var(--size-grid003) + (var(--size-grid001)/2) );\n\t\t}\n\t\t@media all and (min-width: 1280px) {\n\t\t\twidth: calc( var(--size-grid002) + (var(--size-grid001)/2) );\n\t\t}\n\t\t@media all and (min-width: 1920px) {\n\t\t\twidth: var(--size-grid002);\n\t\t}\n\t\t@media all and (min-width: 2560px) {\n\t\t\twidth: calc( var(--size-grid001) + (var(--size-grid001)/2) );\n\t\t}\n\t}\n`;\nconst MarginDiv = styled.div`\n\twidth: var(--size-grid002);\n\t@media all and (min-width: 560px) {\n\t\t\twidth: var(--size-grid001);\n\t\t}\n`;\n\nconst ButtonWidth = styled.div`\n margin-top: 58px;\n margin-left: 10px;\n\n button {\n width: 81px;\n }\n`;\n\nconst ModeloInteresWrapper = styled.div<{ alternatCTA?: boolean }>`\n\tdisplay: ${(props) => (props.alternatCTA ? 'flex' : 'block')};\n\tflex-wrap: ${(props) => (props.alternatCTA ? 'wrap' : 'nowrap')};\n\n\t@media all and (min-width: 560px) {\n\t\tgap: ${(props) => (props.alternatCTA ? '58px' : '0')};\n\t}\n`;\n\nexport const SelectMarcaModelo = (props: BrandModelProps) => {\n\tconst { stepName, brandName = 'brand', modelName = 'model', notALayer, marginTop, required, formToken, nextOnClick, alternatCTA, excludeMarcas, excludeModelos } = props;\n\tconst { handleNextStep } = useOneFormContext();\n\tconst { formData, vehiclesInfo } = useSelector((state: OneFormState) => state);\n\tconst dispatch = useDispatch();\n\tconst { register } = useFormContext();\n\tconst [isAnswered, setIsAnswered] = useState(false);\n\tconst [brand, setBrand] = useState(null);\n\tconst [model, setModel] = useState(null);\n\tconst [brands, setBrands] = useState([]);\n\tconst [models, setModels] = useState([]);\n\n\n\tconst getBrandByName = (name) => {\n\t\treturn brands ? brands.find(obj => obj.name == name) : null;\n\t};\n\n\tconst getBrandByCode = (code) => {\n\t\treturn brands ? brands.find(obj => obj.code == code) : null;\n\t};\n\n\tconst getModelByName = (name) => {\n\t\treturn models ? models.find(obj => obj.name == name) : null;\n\t};\n\n\tconst getModelByCode = (code) => {\n\t\treturn models ? models.find(obj => obj.code == code) : null;\n\t};\n\n\tconst convertToOption = (arr: any) => {\n\t\tconst name = arr['attributes'].find(obj => obj.name == 'NAME');\n\t\tconst code = arr['attributes'].find(obj => obj.name == 'CODE');\n\t\treturn {\n\t\t\tcode: code ? code.value : null,\n\t\t\tname: name ? name.value : null,\n\t\t};\n\t};\n\n\tconst fillBrandsCombo = () => {\n\t\tsetModels([]);\n\t\tif (vehiclesInfo.brands) {\n\t\t\tsetBrands(vehiclesInfo.brands);\n\t\t}\n\t\telse {\n\t\t\tfetchMarcas(formToken).then((result) => {\n\t\t\t\tif (result?.content) {\n\t\t\t\t\tresult.content = namesSort(result.content);\n\t\t\t\t\tconst brands = [];\n\t\t\t\t\tresult.content.forEach((arr) => {\n\t\t\t\t\t\tconst brand = convertToOption(arr);\n\t\t\t\t\t\tif(!excludeMarcas || !excludeMarcas.includes(brand.name)) {\n\t\t\t\t\t\t\tbrands.push(brand);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tsetBrands(brands);\n\t\t\t\t\tsetBrand(null);\n\t\t\t\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { brands: brands } });\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tconst fillModelsCombo = (brandCode: string) => {\n\t\tsetModels([]);\n\t\tif (brandCode == vehiclesInfo.brandSelected) {\n\t\t\tsetModels(vehiclesInfo.models);\n\t\t}\n\t\telse {\n\t\t\tfetchModelos(brandCode, formToken).then((result) => {\n\t\t\t\tif (result?.content) {\n\t\t\t\t\tresult.content = namesSort(result.content);\n\t\t\t\t\tconst models = [];\n\t\t\t\t\tresult.content.forEach((arr) => {\n\t\t\t\t\t\tconst model = convertToOption(arr);\n\t\t\t\t\t\tif(!excludeModelos || !excludeModelos.includes(model.name)) {\n\t\t\t\t\t\t\tmodels.push(model);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\tsetModels(models);\n\t\t\t\t\tsetModel(null);\n\t\t\t\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { models: models } });\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (brands.length == 0) {\n\t\t\tfillBrandsCombo();\n\t\t}\n\t\t\n\t\tif (vehiclesInfo.brandSelected) {\n\t\t\tsetBrand(vehiclesInfo.brandSelected);\n\t\t\tfillModelsCombo(vehiclesInfo.brandSelected);\n\t\t\tif (vehiclesInfo.modelSelected) {\n\t\t\t\tsetModel(vehiclesInfo.modelSelected);\n\t\t\t}\n\t\t}\n\t}, []);\n\n\tconst handleChangeBrand = (e: any) => {\n\t\tif (e.target.value) {\n\t\t\tconst brand = getBrandByName(e.target.value);\n\t\t\tsetBrand(brand);\n\t\t\tfillModelsCombo(brand.code);\n\n\t\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { brandSelected: brand, modelSelected: null } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { [brandName]: brand.code } });\n\t\t}\n\t};\n\n\tconst handleChangeModel = (e: any) => {\n\t\tif (e.target.value) {\n\t\t\tconst model = getModelByName(e.target.value);\n\t\t\tsetModel(model);\n\n\t\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { modelSelected: model } });\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [modelName]: model.code } });\n\t\t\tdispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [stepName]: brand.name + ' ' + model.name } });\n\t\t}\n\t};\n\n\tconst namesSort = (data) => {\n\t\tdata.sort((a, b) => {\n\t\t\tconst nameA = a.attributes.find(attr => attr.name === 'NAME').value;\n\t\t\tconst nameB = b.attributes.find(attr => attr.name === 'NAME').value;\n\t\t\tif (nameA < nameB) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t\tif (nameA > nameB) {\n\t\t\t\treturn 1;\n\t\t\t}\n\t\t\treturn 0;\n\t\t});\n\t\treturn data;\n\t};\n\n\tconst handleNoModel = () => {\n\t\tsetBrand(null);\n\t\tsetModel(null);\n\t\tdispatch({ type: 'UPDATE_VEHICLES', payload: { brandSelected: null, modelSelected: null} });\n\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [brandName]: null } });\n\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [modelName]: null } });\n\t\tdispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [stepName]: 'No' } });\n\t\tsetIsAnswered(true);\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t { \n\t\t\t\t\t\t//e.preventDefault(); \n\t\t\t\t\t\thandleChangeBrand(e); \n\t\t\t\t\t}}\n\t\t\t\t\tvalue={brand ? brand.name : ''}\n\t\t\t\t\tdefaultValue=\"\"\n\t\t\t\t\tonClick={() => null}\n\t\t\t\t\tsetOption={setBrand}\n\t\t\t\t\tisFloating={true}\n\t\t\t\t/>\n\t\t\t\t\n\t\t\t\t { \n\t\t\t\t\t\t//e.preventDefault(); \n\t\t\t\t\t\thandleChangeModel(e); \n\t\t\t\t\t}}\n\t\t\t\t\tvalue={model ? model.name : ''}\n\t\t\t\t\tdefaultValue=\"\"\n\t\t\t\t\tonClick={() => null}\n\t\t\t\t\tsetOption={setModel}\n\t\t\t\t\tisFloating={true}\n\t\t\t\t/>\n\t\t\t\n\t\t\t\n\t\t\t{ alternatCTA ? (\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\thandleNoModel();\n\t\t\t\t\t\t\tif(nextOnClick) {\n\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\thandleNextStep();\n\t\t\t\t\t\t\t\t}, 0);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t>No\n\t\t\t\t\n\t\t\t) : null}\n\t\t\n\t);\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport { keyframes } from 'styled-components';\n\nconst lineKeyframe = keyframes`\n from {\n transform: translateY(-40%);\n }\n to {\n transform: translateY(100%);\n }\n`;\n\nexport const VerticalLine = styled.div`\n height: 35px;\n width: 2px;\n background-color: #FFFFFF;\n animation: ${lineKeyframe} 1.75s infinite;\n`;\n","import React from 'react';\nimport { MultipleCTASelection } from 'src/components';\nimport {\n Container,\n ContainerGutter,\n Text,\n TextAlignment,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { CTAsSiNo } from 'src/feature-app/InputsValues/CTAsObjects';\n\nexport const YaTienesVolkswagen = () => {\n return (\n \n \n \n 1{' '}Recuerda que para participar en el sorteo debes formar parte de la familia Volkswagen. \n \n \n );\n};\n","import { CarlineBase } from 'src/types';\n/**\n * En el caso de CEM Venta tenemos que eliminar el \"Nuevo\" del título, ordenar alfabéticamente los carlines y eliminar los duplicados en caso de que haya\n * dos generaciones de carlines en el selector conviviendo como \"Nuevo Arteon\" y \"Arteon\".\n * @param carlines\n * @returns\n */\n export const formatCEMVenta = (carlines: CarlineBase[]) => {\n return carlines\n .map((carline) => {\n return {\n code: String(carline.code),\n name: carline.title,\n key: carline.title,\n };\n })\n .sort((a, b) => a.name.localeCompare(b.name, undefined, { sensitivity: 'base' }))\n .filter((carline, index, self) => index === self.findIndex((t) => t.name === carline.name));\n };\n","import { CarlineBase } from 'src/types';\nimport { SelectExtendedList } from 'src/components/CarlineSelect';\n\n/**\n * Devuelve el carline con el formato necesario para usar el select.\n * @param carline\n * @returns\n */\n export const formatCarlineSelectExtendedList = (carline: CarlineBase): SelectExtendedList => {\n if (!carline) {\n return null;\n }\n return {\n code: String(carline.code),\n name: `${carline.nuevo ? 'Nuevo ' : ''}${carline.title}`,\n key: carline.title,\n };\n };\n","import { CarlineBase } from 'src/types';\nimport { formatAlphabetical, formatCarlineSelectExtendedList } from '.';\n\n/**\n * Devuelve los carlines con el formato necesario\n * @param carlines\n * @returns\n */\n export const formatAllCarlines = (carlines: CarlineBase[], alphabetical?: boolean) => {\n if (alphabetical) {\n return formatAlphabetical(carlines);\n } else {\n return carlines.map((carline) => formatCarlineSelectExtendedList(carline)).filter((c) => c !== null);\n }\n};\n","import { CarlineBase, CarlinesWithSalesgroups, FormularioFlagType, OneFormState, Salesgroup } from 'src/types';\nimport { formatCarlineSelectExtendedList } from '.';\n\nexport const formatAlphabetical = (carlines: CarlineBase[]) => {\n return carlines\n .map((carline) => formatCarlineSelectExtendedList(carline))\n .map((carline) => {\n if (carline.name.includes('Nuevo')) {\n // Pasamos de Nuevo T-Roc a T-Roc ZNuevo para que el \"Nuevo\" no interfiera al ordenar y la parte de Nuevo no tenga preferencia sobre otras.\n carline.name = carline.name.replace('Nuevo ', '').concat(' ZNuevo');\n return carline;\n }\n return carline;\n })\n .filter((c) => c !== null)\n .sort((a, b) => a.name.localeCompare(b.name, undefined, { sensitivity: 'base' }))\n .map((carline) => {\n if (carline.name.includes('ZNuevo')) {\n // Hacemos la operación contraria para devolver el orden correcto.\n carline.name = `Nuevo ${carline.name.replace(' ZNuevo', '')}`;\n return carline;\n }\n return carline;\n });\n};\n","import { formatSalesgroupsSelectExtendedList } from '.';\nimport { Salesgroup } from 'src/types';\n\nexport const formatAllSalesgroups = (carlines: Salesgroup[]) =>\ncarlines.map((carline) => formatSalesgroupsSelectExtendedList(carline)).filter((c) => c !== null);\n","import { Salesgroup } from 'src/types';\nimport { SelectExtendedList } from 'src/components/CarlineSelect';\n/**\n * Devuelve los salesgroups con el formato necesario para usar el select.\n * @param carline\n * @returns\n */\n export const formatSalesgroupsSelectExtendedList = (carline: Salesgroup): SelectExtendedList => {\n if (!carline) {\n return null;\n }\n return {\n code: String(carline.code),\n name: carline.name,\n key: carline.name,\n };\n};\n","import { CarlineBase, CarlinesWithSalesgroups, FormularioFlagType } from 'src/types';\n/**\n * Devuelve únicamente los carlines con el flag del formulario correspondiente.\n * @param carlines\n * @param formularioFlag\n * @returns\n */\n export const filterCarlineFlag = (carlines: CarlineBase[] | CarlinesWithSalesgroups[], formularioFlag: FormularioFlagType) => {\n if (!formularioFlag) {\n return carlines;\n }\n\n return carlines\n .map((carline: CarlineBase | CarlinesWithSalesgroups) => {\n if (carline.formularios[formularioFlag] === 1) {\n return carline;\n }\n })\n .filter((carline) => carline !== undefined);\n};\n","import { CarlinesWithSalesgroups } from 'src/types';\n\nexport const getSalesgroupsFromCarlines = (carlines: CarlinesWithSalesgroups[]) => {\n return carlines\n .map((carline) => carline.salesGroups)\n .filter((c) => c !== null)\n .flat();\n};\n","import { CarlinesWithSalesgroups } from 'src/types';\nimport { getSalesgroupsFromCarlines, formatAllSalesgroups } from '.';\n/**\n * Se agrupan todas las operaciones que se realizan a los carlines con salesgroups (filtrar por flag, obtener solo los salesgroups y formatearlos) para no hacerlas dos veces.\n * @param carlines\n * @param formularioFlag\n * @returns\n */\nexport const getFormattedSalesgroups = (carlines: CarlinesWithSalesgroups[]) => {\n const salesgroups = getSalesgroupsFromCarlines(carlines);\n return formatAllSalesgroups(salesgroups);\n};\n","import { CarlineBase } from 'src/types';\n/**\n * Devuelve únicamente los carlines preseleccionados desde el cms en una array con carlineCodes tipo [30155, 30205].\n * @param carlines\n * @param faContentCarlines\n * @returns\n */\nexport const filterPreselectedFaContent = (carlines: CarlineBase[], faContentCarlines: number[] | string[]) => {\n return faContentCarlines\n .map((carlineCode) => carlines.find((carline) => carline.code == carlineCode))\n .filter((c) => c !== undefined);\n};\n","import { CarlineBase } from 'src/types';\nimport { getSalesgroupsFromCarlines } from '.';\n/**\n * Devuelve únicamente los carlines preseleccionados desde el cms en una array con carlineCodes tipo [30155, 30205].\n * @param carlines\n * @param faContentCarlines\n * @returns\n */\nexport const filterPreselectedFaContentSalesgroups = (carlines: CarlineBase[], faContentSalesgroups: number[]) => {\n const salesgroups = getSalesgroupsFromCarlines(carlines);\n return faContentSalesgroups\n .map((salesgroupCode) => salesgroups.find((salesgroup) => salesgroup.code == salesgroupCode))\n .filter((c) => c !== undefined);\n};\n","import { CarlineBase, CarlinesWithSalesgroups } from 'src/types';\n\nexport const findCarlineFromSalesgroup = (carlines: CarlineBase[] | CarlinesWithSalesgroups[], code: number) =>\n carlines.find((carline: CarlinesWithSalesgroups) => {\n return carline.salesGroups?.find((salesgroup) => salesgroup.code === code);\n });\n","import { CarlineBase, CarlinesWithSalesgroups, OneFormState } from 'src/types';\nimport { findCarlineFromSalesgroup } from '.';\nimport { useFaContent } from 'src/feature-app';\n\n\nexport const findCarline = (\n carlines: CarlineBase[] | CarlinesWithSalesgroups[],\n code: number | string,\n salesgroupId?: number\n) => {\n if (salesgroupId) {\n let carline = findCarlineFromSalesgroup(carlines, salesgroupId);\n return carline;\n } else if (carlines.find((carline: CarlineBase) => carline.code === Number(code))) {\n let carline = carlines.find((carline: CarlineBase) => carline.code === Number(code));\n return carline;\n } else {\n let carline = carlines.find((carline: CarlineBase) => carline.name === (code));\n return carline;\n }\n \n return null;\n};\n","import { OneFormContent } from 'src/feature-app';\n\nexport const thereIsKeyInFaContent = (faContent: OneFormContent, key: 'carlines' | 'salesgroups') =>\nfaContent && faContent[key] && faContent[key].length > 0;\n\nexport const thereIsCarlinesInFaContent = (faContent: OneFormContent) => thereIsKeyInFaContent(faContent, 'carlines');\n\nexport const thereIsSalesgroupsInFaContent = (faContent: OneFormContent) => thereIsKeyInFaContent(faContent, 'salesgroups');\n\nexport const isCarlineMode = (faContent: OneFormContent) => faContent?.mode === 'Carline';\n\nexport const isSalesGroupMode = (faContent: OneFormContent) => faContent?.mode === 'Salesgroup';\n\nexport const isMixedMode = (faContent: OneFormContent) => faContent?.mode === 'Mixed';\n\nexport const isConfiguratorMode = (faContent: OneFormContent) => faContent?.mode === 'CarConfiguratorFS';\n","import React, {useEffect, useRef, useState} from 'react';\nimport {useFormContext} from 'react-hook-form';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {getCarlines, getEapiCarlines} from 'src/bff';\nimport {GeneralInputWidthWrapper, IDBuzzFakeInput} from 'src/components';\nimport {isNull, useFaContent} from 'src/feature-app';\nimport {useOneFormContext} from 'src/feature-app/OneForm';\nimport {useIsComerciales} from 'src/feature-app/hooks';\nimport {CarlineBase, CarlinesWithSalesgroups, OneFormState} from 'src/types';\nimport {SelectExtended} from 'src/components';\nimport {InputError, TextInputExtended} from 'src/components/inputs';\nimport {\n\tformatCEMVenta,\n\tformatAllSalesgroups,\n\tformatAllCarlines,\n\tfilterCarlineFlag,\n\tgetFormattedSalesgroups,\n\tfilterPreselectedFaContent,\n\tfilterPreselectedFaContentSalesgroups,\n\tfindCarline,\n\tfindCarlineFromSalesgroup,\n\tthereIsCarlinesInFaContent,\n\tthereIsSalesgroupsInFaContent,\n\tisSalesGroupMode,\n\tisMixedMode,\n} from 'src/components/CarlineSelect';\nexport interface SelectExtendedList {\n\tcode: string;\n\tname: string;\n\tkey: string;\n}\ninterface CarlineSelectProps {\n\tuseCarline?: boolean;\n\tisCEMVenta?: boolean;\n\tnotALayer?: boolean;\n\tnoPaddingTop?: boolean;\n\talphabetical?: boolean;\n\tnextOnSelect?: boolean;\n}\n\nexport function CarlineSelect(props: CarlineSelectProps) {\n\tconst {useCarline, notALayer, noPaddingTop, isCEMVenta, alphabetical, nextOnSelect} = props;\n\tconst {register, errors} = useFormContext();\n\tconst [errorModelo, setErrorModelo] = useState(false);\n\tconst {formData, dealersInfo, formInfo} = useSelector((state: OneFormState) => state);\n\tconst {fields} = formData;\n\tconst {screenIndex} = formInfo;\n\tconst {carlines} = dealersInfo;\n\tconst {error, handleNextStep} = useOneFormContext();\n\tconst [list, setList] = useState(null);\n\tconst dispatch = useDispatch();\n\tconst [modelo, setModelo] = useState(null);\n\tconst faContent = useFaContent();\n\tconst screenIndexRef = useRef(null);\n\tconst isComerciales = useIsComerciales();\n\n\t/**\n\t * En modo mixed se fija puede fijar un salesgroup al principio y en caso de que se acabe eligiendo un carline, se ha de eliminar la primera selección.\n\t */\n\tconst dispatchEmptySalesgroup = () => dispatchSetSalesgroup(null, null);\n\tconst dispatchSalesgroup = (id: number, name: string) => dispatchSetSalesgroup(id, name);\n\n\tconst dispatchSetSalesgroup = (id: number, name: string) => {\n\t\tdispatch({\n\t\t\ttype: 'SET_SALESGROUP',\n\t\t\tpayload: {\n\t\t\t\tsalesGroupId: id,\n\t\t\t\tsalesGroupName: name,\n\t\t\t},\n\t\t});\n\t};\n\n\tconst updateCarlineCode = (carlineCode: number, salesgroupName?: string) => {\n\t\tif (carlines) {\n\t\t\tlet carline: CarlineBase | CarlinesWithSalesgroups;\n\n\t\t\tif (isSalesGroupMode(faContent)) {\n\t\t\t\tcarline = findCarlineFromSalesgroup(carlines, carlineCode);\n\t\t\t\tif (carline) {\n\t\t\t\t\tdispatchSalesgroup(carlineCode, salesgroupName);\n\t\t\t\t} else {\n\t\t\t\t\tcarline = findCarline(carlines, carlineCode);\n\t\t\t\t}\n\t\t\t} else if (isMixedMode(faContent)) {\n\t\t\t\t// Primero buscamos carline\n\t\t\t\tcarline = findCarline(carlines, carlineCode);\n\n\t\t\t\tdispatchEmptySalesgroup();\n\n\t\t\t\tif (!carline) {\n\t\t\t\t\t// Buscamos salesgroup\n\t\t\t\t\tcarline = findCarlineFromSalesgroup(carlines, carlineCode);\n\t\t\t\t\tdispatchSalesgroup(carlineCode, salesgroupName);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcarline = findCarline(carlines, carlineCode);\n\t\t\t\t// dispatchEmptySalesgroup();\n\t\t\t}\n\t\t\tdispatch({type: 'SET_SELECTED_CARLINE', payload: carline});\n\t\t\tif (!isCEMVenta) {\n\t\t\t\tdispatch({type: 'UPDATE_FIELDS', payload: {carlineCode: carline.code}});\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * Inicializa la lista del selector\n\t * @param list\n\t */\n\tconst handleUpdateList = (list: SelectExtendedList[]) => {\n\t\tif (!list) {\n\t\t\treturn;\n\t\t}\n\t\tsetList(list);\n\t\tif (fields.modelo) {\n\t\t\tconst modeloInList = list.find((listValue) => listValue.name === fields.modelo);\n\t\t\t// setModelo(modeloInList.name);\n\t\t\tchangeModeloFields(modeloInList.name, list);\n\t\t\tupdateCarlineCode(Number(modeloInList.code));\n\t\t} else {\n\t\t\t// Valor inicial del modelo vacío\n\t\t\tchangeModeloFields('', list);\n\t\t}\n\t};\n\n\tconst initializeSelectWithCarline = async () => {\n\t\t// Eliminamos todos los carlines que no tienen el flag correspondiente del formulario activado.\n\t\tconst filteredCarlines = filterCarlineFlag(carlines, fields.formularioFlag);\n\t\tlet carlinesFromFaContent: CarlineBase[];\n\t\tlet allCarlines: any[];\n\n\t\tif (thereIsCarlinesInFaContent(faContent)) {\n\t\t\t// Filtramos los carlines del FA Content.\n\t\t\tallCarlines = faContent.carlines.filter((c) => c.toString() != '');\n\n\t\t\tif (/[0-9]/.test(allCarlines[0])) {\n\t\t\t\tcarlinesFromFaContent = filteredCarlines.filter((c) => allCarlines.map(Number).includes(c.code));\n\t\t\t} else {\n\t\t\t\tcarlinesFromFaContent = filteredCarlines.filter((c) => allCarlines.map(String).includes(c.name));\n\t\t\t}\n\t\t\t// const carlinesFromFaContent = filterPreselectedFaContent(filteredCarlines, faContent.carlines);\n\t\t\tconst carlinesFormatted = formatAllCarlines(carlinesFromFaContent, alphabetical);\n\t\t\thandleUpdateList(carlinesFormatted);\n\t\t\treturn;\n\t\t} else if (useCarline) {\n\t\t\tif (!carlines) {\n\t\t\t\tconst newCarlines = await getCarlines();\n\t\t\t\tconst newfilteredCarlines = filterCarlineFlag(newCarlines, fields.formularioFlag);\n\t\t\t\tconst carlinesFormatted = formatAllCarlines(newfilteredCarlines, alphabetical);\n\t\t\t\thandleUpdateList(carlinesFormatted);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\t// En caso de que se necesiten los carlines de getCarlines de forma genérica.\n\t\t\tconst carlinesFormatted = formatAllCarlines(filteredCarlines, alphabetical);\n\t\t\thandleUpdateList(carlinesFormatted);\n\t\t\treturn;\n\t\t} else {\n\t\t\t// Para la pantalla de modelo y matrícula de cita se necesitan unos modelos específicos.\n\t\t\tconst response = await getEapiCarlines();\n\t\t\thandleUpdateList(response.data.content);\n\t\t}\n\t};\n\n\tconst initializeSelectWithSalesgroup = async () => {\n\t\t// Eliminamos todos los carlines que no tienen el flag correspondiente del formulario activado.\n\t\tconst filteredCarlines = filterCarlineFlag(carlines, fields.formularioFlag);\n\n\t\tif (thereIsSalesgroupsInFaContent(faContent)) {\n\t\t\tconst salesgroupsFromFaContent = filterPreselectedFaContentSalesgroups(filteredCarlines, faContent.salesgroups);\n\t\t\tconst formatedSalesgroups = formatAllSalesgroups(salesgroupsFromFaContent);\n\t\t\tif (!formatedSalesgroups || formatedSalesgroups.length === 0) {\n\t\t\t\tinitializeSelectWithCarline();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\thandleUpdateList(formatedSalesgroups);\n\t\t\treturn;\n\t\t} else if (useCarline) {\n\t\t\t// En caso de que se necesiten los carlines de getSalesgroup.\n\t\t\tconst formatedSalesgroups = getFormattedSalesgroups(filteredCarlines);\n\t\t\tif (!formatedSalesgroups || formatedSalesgroups.length === 0) {\n\t\t\t\tinitializeSelectWithCarline();\n\t\t\t\treturn;\n\t\t\t}\n\t\t\thandleUpdateList(formatedSalesgroups);\n\t\t\treturn;\n\t\t}\n\t};\n\tconst initializeSelectWithMixed = async () => {\n\t\t// Eliminamos todos los carlines que no tienen el flag correspondiente del formulario activado.\n\t\tconst filteredCarlines = filterCarlineFlag(carlines, fields.formularioFlag);\n\n\t\tlet result: SelectExtendedList[] = [];\n\n\t\tif (thereIsSalesgroupsInFaContent(faContent)) {\n\t\t\tconst salesgroupsFromFaContent = filterPreselectedFaContentSalesgroups(filteredCarlines, faContent.salesgroups);\n\t\t\tconst formatedSalesgroups = formatAllSalesgroups(salesgroupsFromFaContent);\n\t\t\tresult = [...result, ...formatedSalesgroups];\n\t\t}\n\t\tif (thereIsCarlinesInFaContent(faContent)) {\n\t\t\tconst carlinesFromFaContent = filterPreselectedFaContent(filteredCarlines, faContent.carlines);\n\t\t\tconst carlinesFormatted = formatAllCarlines(carlinesFromFaContent, alphabetical);\n\t\t\tresult = [...result, ...carlinesFormatted];\n\t\t}\n\t\tif (!result || result.length === 0) {\n\t\t\tinitializeSelectWithCarline();\n\t\t}\n\t\thandleUpdateList(result);\n\t};\n\n\tconst initializeSelectWithCEMVenta = async () => {\n\t\t// Eliminamos todos los carlines que no tienen el flag correspondiente del formulario activado.\n\t\tconst newCarlines = await getCarlines();\n\t\tconst newfilteredCarlines = filterCarlineFlag(newCarlines, fields.formularioFlag);\n\t\tconst carlinesFormatted = formatCEMVenta(newfilteredCarlines);\n\n\t\thandleUpdateList(carlinesFormatted);\n\t\treturn;\n\t};\n\n\tuseEffect(() => {\n\t\tif (isSalesGroupMode(faContent)) {\n\t\t\tinitializeSelectWithSalesgroup();\n\t\t} else if (isMixedMode(faContent)) {\n\t\t\tinitializeSelectWithMixed();\n\t\t} else if (isCEMVenta) {\n\t\t\tinitializeSelectWithCEMVenta();\n\t\t} else {\n\t\t\tinitializeSelectWithCarline();\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\t// Hack para guardar la información del carline únicamente al pasar a la siguiente pantalla y no enviar datos\n\t\t// de analítica del carline seleccionado por defecto.\n\n\t\tif (isNull(screenIndexRef.current)) {\n\t\t\tscreenIndexRef.current = screenIndex;\n\t\t} else {\n\t\t\tif (useCarline) {\n\t\t\t\tconst carline = list?.find((carline: any) => carline.name === modelo);\n\t\t\t\tif (carline) {\n\t\t\t\t\tif (isSalesGroupMode(faContent) || isMixedMode(faContent)) {\n\t\t\t\t\t\tupdateCarlineCode(Number(carline.code), carline.name);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tupdateCarlineCode(Number(carline.code));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [screenIndex]);\n\n\tuseEffect(() => {\n\t\terrors.modelo || (error && !modelo) ? setErrorModelo(true) : setErrorModelo(false);\n\t}, [errors, error]);\n\n\tconst changeModeloFields = (model: string, list: SelectExtendedList[]) => {\n\t\tsetModelo(model);\n\t\tconst modeloList = list?.find((element) => element.name === model);\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: {modeloList}});\n\t};\n\n\tfunction handleChangeModelo(event: any) {\n\t\tconst newModelo = event.currentTarget.value;\n\n\t\tif (newModelo) {\n\t\t\tchangeModeloFields(newModelo, list);\n\t\t}\n\n\t\tif (newModelo !== '') {\n\t\t\tsetErrorModelo(false);\n\t\t}\n\n\t\tif (nextOnSelect) {\n\t\t\thandleNextStep();\n\t\t}\n\t}\n\n\treturn (\n\t\t\n\t\t\t{isComerciales && fields?.idBuzzExclusive ? (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t) : list ? (\n\t\t\t\t<>\n\t\t\t\t\t {}}\n\t\t\t\t\t\tupdateFields\n\t\t\t\t\t\tsetOption={setModelo}\n\t\t\t\t\t\tisRequired={true}\n\t\t\t\t\t/>\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t)}\n\t\t\t{errorModelo ? Este campo es obligatorio : null}\n\t\t\t{}\n\t\t
\n\t);\n}\n","import { Spinner, Text, styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\n\ninterface CenterContentProps {\n height: string;\n}\nconst CenterContent = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: ${(props) => (props.height ? props.height : '100%')};\n`;\n\nexport const LoadingEncuestas = () => {\n const [height, setHeight] = useState('100%');\n\n useEffect(() => {\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n let aux;\n\n if (viewportWidth < 560) {\n aux = viewportHeight - 152;\n } else if (viewportWidth < 1600) {\n aux = viewportHeight - 252;\n } else {\n aux = viewportHeight - 380;\n }\n setHeight(`${aux}px`);\n }, []);\n\n return (\n \n \n Cargando tus datos\n \n );\n};\n","import React from 'react';\nimport {\n Breakpoints,\n BreakpointWrapper,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\n\ninterface ThankYouTitleProps {\n notALayer?: boolean;\n regularCopyFirst?: string;\n boldCopyFirst?: string;\n regularCopySecond?: string;\n boldCopySecond?: string;\n}\n\nexport const ThankYouTitle = (props: ThankYouTitleProps) => {\n const { regularCopyFirst, boldCopyFirst, notALayer, regularCopySecond, boldCopySecond } = props;\n return (\n <>\n { notALayer ? (\n <>\n {' '}\n {regularCopyFirst ? <>{regularCopyFirst}{' '} : null}\n {\n boldCopyFirst ? {boldCopyFirst}{' '} : null\n }\n {regularCopySecond ? <>{regularCopySecond}{' '} : null}\n {\n boldCopySecond ? {boldCopySecond} : null\n }\n \n ) : (\n <>\n \n \n {regularCopyFirst ? <>{regularCopyFirst}{' '} : null}\n {\n boldCopyFirst ? {boldCopyFirst} : null\n }\n {regularCopySecond ? <>{regularCopySecond}{' '} : null}\n {\n boldCopySecond ? {boldCopySecond} : null\n }\n \n \n \n \n {regularCopyFirst ? <>{regularCopyFirst}{' '} : null}\n {\n boldCopyFirst ? {boldCopyFirst} : null\n }\n {regularCopySecond ? <>{regularCopySecond}{' '} : null}\n {\n boldCopySecond ? {boldCopySecond} : null\n }\n \n \n \n )}\n \n );\n};\n","import React from 'react';\nimport {\n CTA,\n styled\n} from '@volkswagen-onehub/components-core';\n\nexport type CTAThankYou = {\n emphasis?: string;\n label: string;\n url?: string;\n}\n\ninterface CTAThankYouPageProps {\n firstCTA: CTAThankYou;\n secondCTA?: boolean;\n secondCTACopies?: CTAThankYou;\n}\n\nconst CtasWrapper = styled.div`\n display: flex;\n flex-direction: column;\n gap: 32px;\n align-items: flex-start;\n @media all and (min-width: 560px) {\n flex-direction: row;\n gap: 44px;\n }\n button {\n align-self: flex-start;\n }\n`;\n\nexport const CTAThankYouPage = (props: CTAThankYouPageProps) => {\n const { firstCTA, secondCTA, secondCTACopies } = props;\n\n return (\n \n \n {firstCTA.label}\n \n {\n secondCTA ? (\n \n {secondCTACopies.label}\n \n ) : null\n }\n \n \n );\n};\n","import React from 'react';\nimport {\n Breakpoints,\n Container,\n ContainerPadding,\n Layout,\n Text,\n TextAlignment,\n ContainerGutter,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { CTAThankYouPage, CTAThankYou, CTAThankYouPageAction, CTAAction, LeadsCTAs } from '.';\nimport { OneFormState } from 'src/types';\nimport { useSelector } from 'react-redux';\n\n\ninterface FieldProps {\n copyBook?: any;\n copyBookSecond?: any;\n notALayer?: boolean;\n CTAFields?: boolean;\n firstCTA?: CTAThankYou;\n secondCTA?: boolean;\n secondCTACopies?: CTAThankYou;\n CTAAction?: CTAAction;\n ctaFunction?: any;\n ctaUrl?: string;\n}\n\nexport const ThankYouFields = (props: FieldProps) => {\n const{ \n notALayer , \n copyBook, \n CTAFields, \n copyBookSecond, \n firstCTA, \n secondCTA, \n secondCTACopies, \n CTAAction,\n ctaFunction,\n ctaUrl\n } = props;\n const { formData } = useSelector((state: OneFormState) => state);\n const { formName } = formData.fields;\n\n return (\n <>\n {\n notALayer ? (\n \n
\n \n \n {copyBook}\n \n {\n copyBookSecond ? (\n \n {copyBookSecond}\n \n ) : null\n }\n \n {\n CTAFields ? : null\n }\n {\n CTAAction? : null\n }\n {\n formName && formName === 'lead-oferta' || formName === 'lead-match' ? ( \n \n ) : null\n }\n
\n \n\n ) : (\n \n
\n \n \n {copyBook}\n \n {\n copyBookSecond ? (\n \n {copyBookSecond}\n \n ) : null\n }\n \n {\n CTAFields ? : null\n }\n {\n CTAAction? : null\n }\n {\n formName && formName === 'lead-oferta' || formName === 'lead-match' ? ( \n \n ) : null\n }\n
\n \n )}\n \n );\n};\n","import React from 'react';\nimport {\n CTA,\n} from '@volkswagen-onehub/components-core';\n\nexport type CTAAction = {\n label: string,\n emphasis: string,\n}\n\ninterface CTAThankYouPageActionProps {\n ctaInfo: CTAAction;\n ctaFunction: any;\n}\n\nexport const CTAThankYouPageAction = (props: CTAThankYouPageActionProps) => {\n const { ctaInfo, ctaFunction } = props;\n\n return (\n {\n e.preventDefault();\n ctaFunction();\n }}\n >\n {ctaInfo.label}\n \n );\n};\n","import {\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useOneFormContext } from 'src/feature-app';\n\ninterface CTAFieldsProps {\n url: string;\n}\n\nexport const LeadsCTAs = (props: CTAFieldsProps) => {\n const { url } = props;\n const { closeLayer } = useOneFormContext();\n\n \n return (\n \n \n Conócelo\n \n {\n e.preventDefault();\n closeLayer();\n }}\n >\n Seguir navegando\n \n \n );\n};\n","import * as React from 'react';\nexport var Info = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, viewBox: \"0 0 24 24\", width: \"24\", height: \"24\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M12 6.493c.442 0 .774.295.774.811s-.332.811-.774.811-.774-.295-.774-.811.332-.811.774-.811zM12.783 15.656v-5.649H9.414v1.33h2.039v4.319H8.419v1.33l6.967-.001v-1.33z\" }),\n React.createElement(\"path\", { d: \"M12 2.33c5.603 0 9.67 4.067 9.67 9.67s-4.067 9.67-9.67 9.67S2.33 17.603 2.33 12 6.397 2.33 12 2.33M12 1C5.626 1 1 5.626 1 12s4.626 11 11 11 11-4.626 11-11S18.374 1 12 1z\" }));\n }\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, viewBox: \"0 0 12 12\", width: \"12\", height: \"12\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M5.33 6h1.33v3H5.33z\" }),\n React.createElement(\"path\", { d: \"M6 0a6 6 0 1 0 6 6 6 6 0 0 0-6-6zm0 10.65A4.65 4.65 0 1 1 10.65 6 4.66 4.66 0 0 1 6 10.65z\" }),\n React.createElement(\"circle\", { cx: \"6\", cy: \"4\", r: \".75\" }));\n }\n return null;\n}, { displayName: 'Info' }));\n","import React, { useState, useEffect, useRef } from 'react';\nimport { styled, Text, TextInput, Layout, Breakpoints, Container, ContainerGutter, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { useDispatch } from 'react-redux';\nimport { useFeatureServices, useOneFormContext } from 'src/feature-app';\nimport { Info } from '@volkswagen-onehub/icons-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport { Close } from '@volkswagen-onehub/icons-core';\n\n\ntype WrapperProps = {\n disabled?: boolean;\n themeColor?: string;\n};\n\nconst SVGSize = styled.div`\n position: relative;\n top: 41px;\n width: 100%;\n display: flex;\n justify-content: flex-end;\n z-index: 1000;\n\n \n @media all and (min-width: 560px) {\n width: 303px;\n }\n @media all and (min-width: 960px) {\n width: 320px;\n }\n div{\n cursor:pointer;\n }\n svg {\n height: 20px;\n width: auto;\n }\n`;\n\n\n\nconst SelectWrapper = styled.div`\n & span::before {\n display: none;\n }\n svg {\n fill: ${(props) => (props.themeColor === 'inverted' ? '#ffffff' : '#001E50')};\n }\n\n label {\n color: ${(props) => (props.themeColor === 'inverted' ? '#ffffff' : '#001E50')};\n\n option {\n color: #001e50;\n padding-left: 12px;\n }\n }\n input{\n cursor: default;\n }\n`;\ninterface SelectProps {\n name: string;\n value?: any;\n defaultValue?: string;\n isFloating?: boolean;\n required?: boolean;\n disabled?: boolean;\n error?: boolean;\n getDealers?: (provincia: string) => void;\n setFormValue?: (selValueIndex: number) => void;\n onClick?: (e?: any) => void;\n changeModel?: any;\n setOption?: any;\n updateFields?: boolean;\n isRequired: boolean;\n innerRef?: any;\n}\n\nexport const IDBuzzFakeInput = React.forwardRef((props: SelectProps, ref: React.Ref) => {\n const [selItem, setSelItem] = useState(null);\n const [showOptions, setShowOptions] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const { handlePreviousStep } = useOneFormContext();\n const [keyValuePair, setKeyValuePair] = useState();\n const { name, updateFields, value, changeModel, setOption } = props;\n const wrapperRef = useRef(null);\n const dispatch = useDispatch();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const handleClickOutside = (e: any) => {\n if (!wrapperRef.current.contains(e.target)) {\n setShowOptions(false);\n }\n };\n\n const Content = styled.div`\n background-color: #ffffff;\n padding: 44px 31px;\n flex: auto;\n text-align: center;\n width: 100%;\n @media screen and (min-width: 560px) {\n padding: 52px 46px;\n }\n @media screen and (min-width: 960px) {\n padding: var(--size-grid001);\n }\n p{\n background-color: none;\n }\n`;\n\n const CloseDiv = styled.div`\n position: absolute;\n top: var(--size-dynamic0050);\n right: var(--size-dynamic0050);\n cursor: pointer;\n`;\n\n const CTAWrapper = styled.div`\n display: flex;\n flex-direction: column;\n width: 100%;\n align-items: center;\n p{\n text-decoration: underline #001E50;\n text-underline-offset: 8px;\n padding-bottom: 8px;\n color: #001E50;\n cursor: pointer;\n :hover{\n background-color: #C2CACF;\n }\n }\n`;\n\n const renderIDBuzzInfo = (state: any, close: CloseHandleV2) => {\n return (\n \n close({}, {}, {})}\n >\n \n \n \n \n \n Este taller ofrece servicios en\n exclusiva para el ID. Buzz\n \n {\n e.preventDefault();\n handlePreviousStep(e);\n close({}, {}, {});\n }}>\n

Haz clic aquí para cambiar de instalación.

\n
\n
\n \n
\n );\n };\n\n const handleIdBuzzInfo = () => {\n layerManager.openFocusLayer(renderIDBuzzInfo, {}, { size: FocusLayerSizeV2.A, userCloseable: true })\n }\n\n useEffect(()=>{\n setSelItem('ID. Buzz')\n changeModel('ID. Buzz')\n setOption('ID. Buzz')\n },[])\n\n useEffect(() => {\n document.addEventListener('mousedown', handleClickOutside);\n // función que se llama cuando la componente se desmonta\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [wrapperRef.current]);\n\n useEffect(() => {\n updateFields\n ? dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: keyValuePair ? keyValuePair : value } })\n : undefined;\n }, [keyValuePair, value]);\n\n useEffect(() => {\n if (value) {\n setTimeout(() => {\n setSelItem(value);\n }, 0);\n }\n }, [value]);\n\n return (\n \n \n
{\n handleIdBuzzInfo()\n }}>\n \n
\n
\n \n \n );\n});\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React, { useState, useEffect } from 'react';\nimport { styled } from '@volkswagen-onehub/components-core';\n\nconst SectionWrapper = styled.div`\n position: relative;\n height: 100%;\n\n @media all and (min-width: 960px) {\n height: max-content;\n min-height: calc(100vh - 164px);\n width: var(--size-grid012);\n display: flex;\n align-items: center;\n margin-top: 0;\n }\n @media all and (min-width: 1600px) {\n min-height: calc(100vh - 180px);\n }\n`;\n\ninterface ImageWrapperProps {\n noMargins?: boolean;\n}\n\nconst ImageWrapper = styled.div`\n img {\n width: var(--size-grid024);\n margin: auto;\n margin-top: ${(props) => props.noMargins ? '-32px' : '0'};\n height: auto;\n @media all and (min-width: 560px) {\n width: var(--size-grid024);\n }\n @media all and (min-width: 960px) {\n margin: auto;\n width: var(--size-grid012);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid011);\n }\n }\n`;\n\ninterface ImageProps {\n image: string;\n modelName: string;\n noMargins?: boolean;\n}\nexport const ImageCarNoColorBG = (props: ImageProps) => {\n const { image, modelName } = props;\n\n return (\n \n \n {modelName}\n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { fetchDomain } from 'src/bff';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { OneFormState } from 'src/types';\nimport { SelectExtended, GeneralInputWidthWrapper } from '.';\nimport { SelectExtendedList } from './CarlineSelect';\nimport { InputError, TextInputExtended } from './inputs';\nimport { store, useIsComerciales } from 'src/feature-app';\nexport interface CountryProps {\n formToken?: string;\n noPaddingTop?: boolean;\n}\n\nexport function Country(props: CountryProps) {\n const { formToken, noPaddingTop } = props;\n const { register, errors } = useFormContext();\n const [errorCountry, setErrorCountry] = useState(false);\n const { formData, formInfo, domainsInfo }: OneFormState = store.getState();\n const { fields } = formData;\n const { error } = useOneFormContext();\n const [list, setList] = useState(null);\n const dispatch = useDispatch();\n const [country, setCountry] = useState(null);\n const defaultCountryCode = 'ES';\n const defaultCountryName = 'España';\n\n const formatCountryExtendedList = (name: string, code: string): SelectExtendedList => {\n return {\n code,\n name,\n key: code,\n };\n };\n\n const isComerciales = useIsComerciales() ? 'true' : 'false';\n const domain = 'COUNTRY';\n const token = formToken ? formToken : isComerciales ? 'LCV_DDB_FRM_LEM_REC_LEM' : 'VW_DDB_FRM_LEM_REC_LEM';\n\n const requestContries = async () => {\n const response = await fetchDomain(token, domain);\n const options = response.content\n .filter(att => att.attributes.find(attr => attr.name == 'IS_LCV')?.value == isComerciales)\n .map((att) => {\n let code = att.attributes.find(attr => attr.name == 'CODIGO')?.value;\n let name = att.attributes.find(attr => attr.name == 'PAIS_CASTELLANO')?.value;\n return formatCountryExtendedList(name, code);\n });\n setList(options);\n\tsetFirstSelected();\n\tdispatch({ type: 'ADD_DOMAIN', payload: { [token]: { [domain]: options } } });\n };\n\n useEffect(() => {\n\tif(domainsInfo[token] && domainsInfo[token][domain]) {\n\t\tsetList(domainsInfo[token][domain]);\n\t\tsetFirstSelected();\n\t}\n\telse {\n\t\trequestContries();\n\t}\n }, []);\n\n const setFirstSelected = () => {\n\tif(fields.countryCode && fields.countryName) {\n\t\tupdateCountryValues(fields.countryCode, fields.countryName);\n\t}\n\telse if(defaultCountryCode && defaultCountryName) {\n\t\tupdateCountryValues(defaultCountryCode, defaultCountryName);\n\t}\n };\n\n useEffect(() => {\n if (error) {\n !country ? setErrorCountry(true) : setErrorCountry(false);\n }\n }, [error]);\n\n useEffect(() => {\n if (errors.country) {\n setErrorCountry(true);\n } else {\n setErrorCountry(false);\n }\n }, [errors]);\n\n function handleChangeCountry(event: any) {\n const newCountryValue = event.currentTarget.value;\n\n const newCountry = list.find((country) => country.name === newCountryValue);\n if (newCountry) {\n updateCountryValues(newCountry.code, newCountry.name);\n }\n else if (newCountryValue !== '') {\n setErrorCountry(false);\n }\n }\n\n const updateCountryValues = (countryCode: string, countryName: string) => {\n\tsetCountry(countryName);\n dispatch({ type: 'UPDATE_FIELDS', payload: { countryCode, countryName } });\n\tdispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { country : countryName } });\n };\n\n return (\n \n {list ? (\n <>\n { }}\n updateFields\n setOption={setCountry}\n isRequired={true}\n />\n \n ) : (\n \n )}\n {errorCountry ? Este campo es obligatorio : null}\n {}\n \n );\n}\n","import { CTA } from '@volkswagen-onehub/components-core';\nimport { CTAButtonProps } from '@volkswagen-onehub/components-core/dist/call-to-action';\nimport React, { useEffect, useState } from 'react';\nimport { Controller, useFormContext } from 'react-hook-form';\nimport { useSelector } from 'react-redux';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { OneFormState } from 'src/types';\n\ndeclare type Emphasis = 'primary' | 'secondary' | 'tertiary';\ndeclare type Size = 'small' | 'large';\n\ninterface InputButtonProps extends CTAButtonProps {\n innerRef?: any;\n name: string;\n key: string | number;\n label: string;\n selectedValue?: string;\n size?: Size;\n ignoreHandleClick?: boolean;\n disabled?: boolean;\n}\n\nexport function InputButton(props: InputButtonProps) {\n const trackingManager = useTrackingManager();\n\n const { innerRef, title, key, selectedValue, label, name, onClick, size, ignoreHandleClick, disabled } = props;\n const { formData } = useSelector((state: OneFormState) => state);\n\n const { control, register, setValue } = useFormContext();\n const [apparence, setApparence] = useState('secondary');\n\n const handleClick = () => {\n apparence === 'secondary' ? setApparence('primary') : setApparence('secondary');\n setValue(name, label);\n };\n\n useEffect(() => {\n selectedValue === label ? setApparence('primary') : setApparence('secondary');\n const value = formData.fields[name];\n if (value && value === label) {\n setApparence('primary');\n }\n }, [selectedValue]);\n\n return (\n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: label,\n });\n // if (onClick) onClick(e);\n // else handleClick();\n if (!ignoreHandleClick) {\n handleClick();\n }\n if (onClick) {\n onClick(e);\n }\n }}\n size={size ? size : 'large'}\n disabled={disabled}\n >\n {label}\n \n }\n key={key}\n name={name}\n control={control}\n />\n );\n}\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useStore, useSelector, useDispatch } from 'react-redux';\nimport { InputButton } from '.';\nimport { OneFormState } from 'src/types';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\n\ntype CTAWrapperProps = {\n ctaWidth?: string;\n color?: string;\n marginTop?: string;\n wrapperWidth?: string;\n marginRight?: string;\n};\n\nconst CTAWrapper = styled.div`\n text-align: left;\n margin: -10px;\n margin-top: ${(props) => props.marginTop ? props.marginTop : '32px'};\n max-width: ${(props) => props.wrapperWidth ? props.wrapperWidth : null};\n\n @media all and (max-height: 624px) {\n margin-top: ${(props) => props.marginTop ? props.marginTop : '24px'};\n }\n \n & > button {\n margin: 12px;\n ${(props) => props.marginRight ?\n `&:first-of-type {margin-right: ${props.marginRight}px}` : null};\n width: ${(props) => props.ctaWidth ? `${props.ctaWidth}px` : 'auto'};\n color: ${(props) => props.color ? props.color : null};\n border-color: ${(props) => props.color ? props.color : null};\n }\n & > button:focus:not(:disabled):not(:focus-visible) {\n background: inherit !important;\n color: inherit !important;\n }\n`;\n\nexport interface CTAValues {\n value?: string | boolean;\n label: string;\n}\n\ninterface MultipleCTASelectionProps {\n ctaValues: CTAValues[];\n name: string;\n reset?: boolean;\n nextOnClick?: boolean;\n ctaWidth?: string;\n preSelectedValue?: string;\n color?: string;\n marginTop?: string;\n wrapperWidth?: string;\n marginRight?: string;\n exclusiveCTA?: boolean;\n exclusiveCTAValues?: CTAValues[];\n}\n\nexport function MultipleCTASelection(props: MultipleCTASelectionProps) {\n const store = useStore();\n const dispatch = useDispatch();\n const {\n ctaValues,\n name,\n reset,\n nextOnClick,\n ctaWidth,\n preSelectedValue,\n color,\n marginTop,\n wrapperWidth,\n marginRight,\n exclusiveCTA,\n exclusiveCTAValues\n } = props;\n const { formData } = useSelector((state: OneFormState) => state);\n\n const { register, errors, control, setValue } = useFormContext();\n const { handleNextStep } = useOneFormContext();\n const [selectedValue, setSelectedValue] = useState(null);\n\n useEffect(() => {\n const value = preSelectedValue || formData.fields[name];\n if(reset) {\n\t\tsetSelectedValue(null);\n\t\tsetValue(name, null);\n\t\tdispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [name]: '' } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: null } });\n }\n else if (value) {\n const selectedCtaValue = ctaValues.find((cta) => cta.value === value);\n if (selectedCtaValue) {\n setSelectedValue(selectedCtaValue.label);\n setValue(name, selectedCtaValue.value);\n } else {\n setSelectedValue(value);\n setValue(name, value);\n }\n }\n }, [preSelectedValue, reset]);\n\n return (\n \n {ctaValues.map((cta: CTAValues, index: number) => (\n {\n if (cta.label !== selectedValue) {\n setSelectedValue(cta.label);\n setValue(name, cta.value !== null ? cta.value : cta.label);\n dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [name]: cta.label } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: cta.value !== null ? cta.value : cta.label } });\n\n if (nextOnClick) {\n handleNextStep(e);\n }\n } else {\n setSelectedValue(null);\n setValue(name, null);\n dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [name]: '' } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: null } });\n }\n }}\n />\n ))}\n {\n exclusiveCTA ? (\n <>\n {\n exclusiveCTAValues.map((cta: CTAValues, index: number) => (\n {\n if (cta.label !== selectedValue) {\n setSelectedValue(cta.label);\n setValue(name, cta.value !== null ? cta.value : cta.label);\n dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [name]: cta.label } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: cta.value !== null ? cta.value : cta.label } });\n \n if (nextOnClick) {\n handleNextStep(e);\n }\n } else {\n setSelectedValue(null);\n setValue(name, null);\n dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [name]: '' } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: null } });\n }\n }}\n />\n ))\n } \n \n ) : null\n }\n \n \n );\n}\n","import React, { useState } from 'react';\nimport { RadioButton, Richtext, styled, Text, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport { Info } from 'src/icons-core-imports';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useFormContext } from 'react-hook-form';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { Option, OneFormState } from 'src/types';\n\nconst LabelInfoWrapper = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\tjustify-content: space-between;\n`;\n\nconst InfoWrapper = styled.div`\n\tmargin-left: 16px;\n\tcursor: pointer;\n\tsvg {\n\t\tfill: #001e50;\n\t}\n`;\n\ninterface props {\n\tname: string;\n\toptions: Array\n );\n } else {\n return (\n {\n setItem(option.name, index);\n setKeyValuePair(option.code);\n }}\n key={index}\n className={selItem == option.name ? 'selected' : 'option'}\n >\n {selItem == option.name ? : null}\n

{option.name}

\n \n );\n }\n })}\n \n \n \n );\n});\n","import {\n Text,\n styled,\n Container,\n ContainerPadding,\n Breakpoints,\n BreakpointWrapper,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { RatingStarWrapper } from '../styleComponents/RatingStarWrapper';\nimport React, { useEffect, useState } from 'react';\nimport { StarFilled, StarOutline } from 'src/icons-core-imports';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useFormContext } from 'react-hook-form';\nimport { OneFormState } from 'src/types';\nimport { InputButton } from 'src/components';\n\nconst StarText = styled.div`\n display: flex;\n justify-content: center;\n div{\n position: absolute;\n }\n`;\n\nconst TextMini = styled.div`\n color: #000000;\n font-size: 3vw;\n margin-top: 2px;\n @media all and (min-width: 400px){\n font-size: 12px;\n margin-top: 0;\n }\n`;\n\ninterface RatingStarsProps {\n name?: string;\n nextOnClick?: boolean;\n preSelectedRate?: number;\n stars?: number;\n noRequired?: boolean;\n isPrevStep?: boolean;\n textBad?: string;\n textGood?: string;\n textUnderStars?: boolean;\n starsText?: string[];\n CTASinRespuesta?: boolean;\n}\n\nexport const valuesSinRespuesta = () => {\n return {\n valueSinRespuesta: -1,\n labelSinRespuesta: 'Sin respuesta'\n };\n};\n\nexport const RatingStars = (props: RatingStarsProps) => {\n const {\n name,\n nextOnClick,\n stars,\n noRequired,\n isPrevStep,\n preSelectedRate,\n textBad,\n textGood,\n textUnderStars,\n starsText,\n CTASinRespuesta\n } = props;\n const { handleNextStep } = useOneFormContext();\n const { register, setValue } = useFormContext();\n const [ rateValue, setRateValue ] = useState(preSelectedRate ? preSelectedRate : null);\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n \n const numberOfStars = stars ? stars : 5;\n const { valueSinRespuesta, labelSinRespuesta } = valuesSinRespuesta();\n\n const handleField = () => {\n // Hack para solucionar el problema que se da en el caso de elegir Sin respuesta y volver hacia atrás.\n if (formData.fields[name]) {\n if (formData.fields[name] == valueSinRespuesta) {\n setTimeout(() => {\n setValue(name, labelSinRespuesta);\n }, 100);\n setRateValue(valueSinRespuesta);\n } else {\n setRateValue(Number(formData.fields[name]));\n }\n }\n };\n\n useEffect(() => {\n handleField();\n }, []);\n\n const handleClick = (rateValue: number, e: any) => {\n setRateValue(rateValue);\n dispatch({ type: 'UPDATE_FIELDS', payload: { [name]: rateValue } });\n\n if (nextOnClick) {\n setTimeout(() => {\n handleNextStep(e);\n }, 0);\n }\n };\n\n const renderStarsText = (starsText, index: number) => {\n if (starsText[index] === undefined) {\n return
\n }\n else return (\n \n \n {starsText[index]}\n \n \n {starsText[index]}\n \n \n );\n };\n\n const renderStars = (rateValue: number) => {\n const stars = [];\n for (let i = 0; i < numberOfStars; i++) {\n stars.push(\n i ? 'filled' : 'outline' }\n key={i}\n onClick={(e: any) => {\n e.preventDefault();\n if (isPrevStep) {\n return;\n } else {\n handleClick(i + 1, e);\n }\n }}\n isPrevStep={isPrevStep}\n textUnderStars={textUnderStars}\n >\n { rateValue > i ? : }\n {textUnderStars &&\n (\n renderStarsText(starsText, i)\n )\n }\n \n );\n }\n\n return stars;\n };\n\n return (\n
\n {isPrevStep || textUnderStars ? null : (\n \n \n Valora del 1 al 5, siendo 1 {textBad} y 5 totalmente{' '}\n \n {textGood}\n *.\n \n \n \n )}\n
\n { renderStars(rateValue) }\n
\n {isPrevStep ? null : (\n \n )}\n {CTASinRespuesta ? (\n
\n {\n if (isPrevStep) {\n return;\n } else {\n handleClick(valueSinRespuesta, e);\n }\n }}\n />\n
\n ) : null}\n
\n );\n};\n","import React from 'react';\nimport { styled, Text, TextAlignment, TokenTextAppearance } from '@volkswagen-onehub/components-core';\n\nconst CustomInputRange = styled.input<{ numberOfSteps: number }>`\n width: 100%;\n height: 24px;\n background: transparent;\n font-size: 1em;\n cursor: pointer;\n -webkit-appearance: none;\n\n &::-webkit-slider-runnable-track,\n &::-webkit-slider-thumb {\n -webkit-appearance: none;\n }\n &::-webkit-slider-runnable-track {\n position: relative;\n width: 100%;\n height: 1px;\n background: #00b0f0;\n }\n &::-moz-range-track {\n width: 100%;\n height: 1px;\n background: #00b0f0;\n }\n &::-ms-track {\n border: none;\n width: 100%;\n height: 1px;\n background: #00b0f0;\n color: transparent;\n }\n &::-ms-fill-lower {\n display: none;\n }\n &::-webkit-slider-thumb {\n margin-top: -4px;\n box-sizing: border-box;\n width: calc(100% / ${(props) => props.numberOfSteps});\n height: 8px;\n border-radius: 4px;\n background: #ffffff;\n }\n &::-moz-range-thumb {\n box-sizing: border-box;\n width: calc(100% / ${(props) => props.numberOfSteps});\n height: 8px;\n border-radius: 4px;\n background: #ffffff;\n }\n &::-ms-thumb {\n box-sizing: border-box;\n width: calc(100% / ${(props) => props.numberOfSteps});\n height: 8px;\n border-radius: 4px;\n background: #ffffff;\n }\n &::-webkit-slider-runnable-track:before,\n &::-webkit-slider-runnable-track:after,\n & /deep/ #track:before,\n &/deep/ #track:after {\n position: absolute;\n bottom: 100%;\n color: #2c2c2b;\n font: 700 0.875em / 2 arial, sans-serif;\n background: #ffffff;\n }\n &::-webkit-slider-runnable-track:before,\n & /deep/ #track:before {\n left: 0.8125em;\n word-spacing: 1.4375em;\n content: '1 2 3 4 5 6 7 8 9';\n }\n &::-webkit-slider-runnable-track:after,\n & /deep/ #track:after {\n right: 0.625em;\n word-spacing: 0.875em;\n content: '10 11 12 13 14 15 16';\n }\n &:focus {\n outline: none;\n }\n`;\nconst Mark = styled.div`\n height: 9px;\n width: 1px;\n background-color: #ffffff;\n`;\nconst MarksPosition = styled.div`\n display: flex;\n display: -webkit-flex;\n width: 100%;\n justify-content: space-between;\n align-items: center;\n margin-bottom: -16.5px;\n z-index: 3;\n margin-left: 7px;\n @media screen and (min-width: 960px) {\n margin-left: 4px;\n }\n`;\nconst SliderPosition = styled.div`\n width: 100%;\n display: flex;\n justify-content: center;\n margin-left: 7px;\n @media screen and (min-width: 960px) {\n margin-left: 4px;\n }\n`;\nconst SlideLabelsPosition = styled.div`\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\nconst SliderAndMarksPosition = styled.div`\n width: 96%;\n padding-right: 20px;\n @media all and (min-width: 960px) {\n width: 97%;\n }\n`;\ninterface CustomSliderProps {\n handleInputChange: any;\n value: number;\n formatNumber?: (num: number | number[]) => string;\n maxValue: number;\n numberOfSteps: number;\n}\n\nexport const CustomSlider = ({\n value,\n handleInputChange,\n numberOfSteps,\n formatNumber,\n maxValue,\n}: CustomSliderProps) => {\n const sliderMarks = [];\n\n for (let i = 0; i < numberOfSteps + 1; i++) {\n sliderMarks.push();\n }\n\n document.documentElement.classList.add('js');\n\n return (\n <>\n \n {sliderMarks ? sliderMarks : null}\n \n handleInputChange(e)}\n value={value}\n />\n \n \n \n \n 0km\n \n \n {'+'}\n {formatNumber(maxValue)}km\n \n \n \n );\n};\n","import React,{ useState } from 'react';\nimport { Switch } from '@volkswagen-onehub/components-core';\ninterface CustomSwitch {\n setSelected?: any;\n isSelected?: boolean;\n toggle?: any;\n}\n\nexport const CustomSwitch = (props: CustomSwitch) => { \n const { setSelected, isSelected } = props;\n const [toggle, setToggle] = useState(false);\n\n return (\n {\n setToggle(!toggle);\n setSelected(!isSelected);\n }}/>\n );\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { InputError, TextInputExtended } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { OneFormState } from 'src/types';\nimport { SelectExtended } from '../SelectExtended';\n\nconst arrCountries = [\n\t{\n\t\tname: 'ES',\n\t\tcode: 'ES',\n\t\tregex: [/\\d{4}[b-df-hj-npr-tv-zB-DF-HJ-NPR-TV-Z]{3}/, /[A-Za-z]{1,2}\\d{4}[A-Za-z]{1,2}/],\n\t\terrorMessage: 'Ejemplo: 0000BCD o AA0000AA',\n\t},\n\t{\n\t\tname: 'DE',\n\t\tcode: 'DE',\n\t\tregex: [/[a-zA-Z]{2,5}\\d{1,4}/],\n\t\terrorMessage: 'Ejemplo: AAABB0000',\n\t},\n\t{\n\t\tname: 'FR',\n\t\tcode: 'FR',\n\t\tregex: [/[a-hj-np-tv-zA-HJ-NP-TV-Z]{2}\\d{3}[a-hj-np-tv-zA-HJ-NP-TV-Z]{2}/, /\\d{2,4}[a-zA-Z]{2,3}\\d{2,3}/, /\\d{2,4}[a-zA-Z]{2,3}\\d{1}(a|b|A|B)/],\n\t\terrorMessage: 'Ejemplo: AA000AA o 00000AA00',\n\t},\n\t{\n\t\tname: 'GB',\n\t\tcode: 'GB',\n\t\tregex: [/[a-zA-Z]{1,2}\\d{2}[a-zA-Z]{3}/, /[a-zA-Z]{1}\\d{3}[a-zA-Z]{3}/],\n\t\terrorMessage: 'Ejemplo: AA00AAA',\n\t},\n\t{\n\t\tname: 'IT',\n\t\tcode: 'IT',\n\t\tregex: [/[a-zA-Z]{2}\\d{3}[a-zA-Z]{2}/],\n\t\terrorMessage: 'Ejemplo: AA000AA',\n\t},\n\t{\n\t\tname: 'PT',\n\t\tcode: 'PT',\n\t\tregex: [/[a-zA-Z]{2}\\d{2}[a-zA-Z]{2}/, /\\d{2}[a-zA-Z]{2}\\d{2}/],\n\t\terrorMessage: 'Ejemplo: AA00AA',\n\t},\n\t{\n\t\tname: 'Otros',\n\t\tcode: 'Otros',\n\t\tregex: [/[a-zA-Z\\d\\s]{3,}/],\n\t\terrorMessage: 'Solo números, letras y espacios',\n\t},\n];\n\nconst ContentWrapper = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\tjustify-content: left;\n\tpadding-top: 32px;\n`;\nconst MatriculaWrapper = styled.div`\n\tlabel {\n\t\twidth: 100%;\n\t\t@media screen and (min-width: 960px) {\n\t\t\twidth: 170px;\n\t\t}\n\t}\n`;\nconst CountryWrapper = styled.div`\n\tmargin-right: 24px;\n\tlabel {\n\t\twidth: 109px;\n\t\t@media screen and (min-width: 560px) {\n\t\t\twidth: 116px;\n\t\t}\n\t\t@media screen and (min-width: 960px) {\n\t\t\twidth: 120px;\n\t\t}\n\t}\n`;\nconst InputErrorWrapper = styled.div`\n\t&.matricula-error-wrapper {\n\t\tp {\n\t\t\tmax-width: 179px;\n\t\t\t@media all and (min-width: 560px) {\n\t\t\t\tmax-width: 163px;\n\t\t\t}\n\t\t\t@media all and (min-width: 960px) {\n\t\t\t\tmax-width: 176px;\n\t\t\t}\n\t\t}\n\t}\n`;\n\nexport function Matricula() {\n\tconst { register, errors } = useFormContext();\n\tconst dispatch = useDispatch();\n\tconst { error, setError } = useOneFormContext();\n\tconst [inputValueMatricula, setInputValueMatricula] = useState('');\n\tconst [errorMatricula, setErrorMatricula] = useState(false);\n\tconst [errorCountry, setErrorCountry] = useState(false);\n\tconst [country, setCountry] = useState('ES');\n\tconst [countryObject, setCountryObject] = useState(null);\n\tconst [regExCounty, setRegExCounty] = useState(null);\n\n\tconst { formInfo, formData } = useSelector((state: OneFormState) => state);\n\n\tuseEffect(() => {\n\t\tif (formData.fields.countryPlate) {\n\t\t\tsetCountry(formData.fields.countryPlate);\n\t\t\tconst countryObject = arrCountries.find((c) => c.name === formData.fields.countryPlate);\n\t\t\tsetCountryObject(countryObject);\n\t\t\tsetRegExCounty(countryObject.regex);\n\t\t} else {\n\t\t\tsetCountry('ES');\n\t\t\tsetCountryObject(arrCountries[0]);\n\t\t\tsetRegExCounty(arrCountries[0].regex);\n\t\t}\n\t\tif (formData.fields.matricula) {\n\t\t\tsetInputValueMatricula(formData.fields.matricula);\n\t\t}\n\t}, []);\n\n\tconst validateMatricula = (input: string) => {\n\t\tconst isValid = regExCounty.some((regEx) => regEx.test(input));\n\n\t\tif (isValid) {\n\t\t\tsetErrorMatricula(false);\n\t\t\treturn true;\n\t\t} else {\n\t\t\tsetErrorMatricula(true);\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tconst handleChangeCountry = (event: any) => {\n\t\tsetCountry(event.currentTarget.value);\n\t\tconst countryObject = arrCountries.find((c) => c.name === event.currentTarget.value);\n\t\tsetCountryObject(countryObject);\n\t\tsetRegExCounty(countryObject.regex);\n\t\tif (countryObject.name !== '') setErrorCountry(false);\n\t\telse dispatch({ type: 'UPDATE_FIELDS', payload: { ['countryPlate']: countryObject.name } });\n\t};\n\n\tconst handleChangeMatricula = (e: any) => {\n\t\tsetInputValueMatricula(e.target.value);\n\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { ['matricula']: e.target.value } });\n\t};\n\n\tuseEffect(() => {\n\t\tif (!errorMatricula && !errorMatricula) setError(false);\n\t}, [errorMatricula, errorMatricula]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t null} updateFields setOption={setCountry} isRequired={true} />\n\t\t\t\n\t\t\t\n\t\t\t\t validateMatricula(input),\n\t\t\t\t\t\trequired: {\n\t\t\t\t\t\t\tvalue: true,\n\t\t\t\t\t\t\tmessage: 'Requerido',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmaxLength: 100,\n\t\t\t\t\t})}\n\t\t\t\t\tisFloating\n\t\t\t\t\tonChange={(e) => handleChangeMatricula(e)}\n\t\t\t\t\trequired\n\t\t\t\t/>\n\t\t\t\t{errorMatricula && (\n\t\t\t\t\t\n\t\t\t\t\t\t{countryObject.errorMessage}\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t\n\t);\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { GeneralInputWidthWrapper, InputError, SelectExtended } from 'src/components';\nimport { TextInputExtended } from 'src/components';\nimport { store } from 'src/feature-app';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { OneFormState } from 'src/types';\nimport styled from 'styled-components';\n\nconst FlexWrapper = styled.div`\n display: flex;\n & > div {\n\tmargin-right: 20px;\n\twidth: 120px;\n\t}\n & > label {\n flex: 1;\n}\n`;\n\ninterface dniNifProps {\n\tname?: string;\n\tlabel?: string;\n\trequired?: boolean;\n\tdisabled?: boolean;\n\tpaddingTop?: string;\n\tselectType?: boolean;\n}\n\nexport function DniNif(props: dniNifProps) {\n\tconst { name, label, required, disabled, paddingTop, selectType } = props;\n\n\tconst { register } = useFormContext();\n\tconst dispatch = useDispatch();\n\tconst { formInfo }: OneFormState = store.getState();\n\tconst [inputValue, setInputValue] = useState('');\n\tconst [type, setType] = useState('DNI');\n\tconst [selectedTypeLabel, setselectedTypeLabel] = useState(type);\n\tconst [dniNifError, setDniNifError] = useState(false);\n\tconst [maxLenght, setMaxLenght] = useState(9);\n\tconst { error, setError } = useOneFormContext();\n\tconst regExpDNI = /^[0-9]{8}[A-z]$/;\n\tconst regExpNIE = /^[XYZxyz][0-9]{7}[A-Za-z]$/;\n\tconst lengthOtro = 20;\n\tconst letras = 'TRWAGMYFPDXBNJZSQVHLCKE';\n\n\tconst { nifType } = useSelector((state: OneFormState) => state.formData.fields);\n\n\tconst checkValidDNIRegex = (dni: string) => regExpDNI.test(dni);\n\tconst checkValidDNILetter = (dni: string) => {\n\t\tconst regex = /^(\\d{8})([A-Z])$/i;\n\t\tconst match = dni.match(regex);\n\t\tif (!match) return false;\n\t\tconst numero = parseInt(match[1], 10);\n\t\tconst letraCalculada = letras[numero % 23];\n\t\tconst letraIngresada = match[2].toUpperCase();\n\t\treturn letraCalculada === letraIngresada;\n\t};\n\n\tconst checkValidNIERegex = (nie: string) => regExpNIE.test(nie);\n\tconst checkValidNIELetter = (nie) => {\n\t\t// Reemplazar la primera letra por su número correspondiente\n\t\tconst mapa = { X: \"0\", Y: \"1\", Z: \"2\" };\n\t\tconst numero = mapa[nie[0]] + nie.slice(1, 8);\n\t\tconst letraCalculada = letras[numero % 23];\n\t\tconst letraIngresada = nie[8].toUpperCase();\n\t\treturn letraCalculada == letraIngresada;\n\t};\n\n\tconst validateValue = (value: string) => {\n\t\tif(type == 'DNI') {\n\t\t\treturn value?.length == 9 && checkValidDNIRegex(value) && checkValidDNILetter(value);\n\t\t}\n\t\telse if(type == 'NIE') {\n\t\t\treturn value?.length == 9 && checkValidNIERegex(value) && checkValidNIELetter(value);\n\t\t}\n\t\telse {\n\t\t\treturn value?.length < lengthOtro+1;\n\t\t}\n\t};\n\n\tconst getUsedRegex = () => {\n\t\tif(type == 'DNI') {\n\t\t\treturn regExpDNI;\n\t\t}\n\t\telse if(type == 'NIE') {\n\t\t\treturn regExpNIE;\n\t\t}\n\t\telse {\n\t\t\treturn new RegExp(`^.{1,${lengthOtro+1}}$`);\n\t\t}\n\t};\n\n\tconst getErrorLabel = () => {\n\t\tif(type == 'DNI') {\n\t\t\treturn 'Ejemplo: 66666666Q';\n\t\t}\n\t\telse if(type == 'NIE') {\n\t\t\treturn 'Ejemplo: X6666666Q';\n\t\t}\n\t\telse {\n\t\t\treturn 'Error';\n\t\t}\n\t};\n\n\tconst handleChange = (e: any) => {\n\t\tconst value = e.target.value.toUpperCase();\n\t\tif (value?.length > 3) {\n\t\t\tsetInputValue(value);\n\t\t\tif (validateValue(value)) {\n\t\t\t\tsetDniNifError(false);\n\t\t\t\t//setError(false);\n\t\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name ? name : 'dniNif']: value } });\n\t\t\t} else {\n\t\t\t\tsetDniNifError(true);\n\t\t\t\t//setError(true);\n\t\t\t}\n\t\t} else {\n\t\t\tsetDniNifError(false);\n\t\t\t//setError(false);\n\t\t}\n\t};\n\n\tconst handleChangeType = (e: any) => {\n\t\tconst type = e.currentTarget.value;\n\t\tsetType(type);\n\t\tsetselectedTypeLabel(type);\n\t\tif(type != 'DNI' && type != 'NIE') {\n\t\t\tsetMaxLenght(lengthOtro);\n\t\t}\n\t\telse {\n\t\t\tsetMaxLenght(9);\n\t\t}\n\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { 'nifType': type } });\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t{( selectType ? { }}\n\t\t\t\t\tupdateFields\n\t\t\t\t\tsetOption={setType}\n\t\t\t\t\tisRequired={true}\n\t\t\t\t/> : null )}\n\t\t\t\n\t\t\t handleChange(e)}\n\t\t\t\trequired={required}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tmaxLength={maxLenght}\n\t\t\t/>\n\t\t\t\n\t\t\t{ dniNifError && { getErrorLabel() } }\n\t\t\n\t);\n}\n","import dayjs, { Dayjs } from 'dayjs';\nimport React, { useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { InputError, GeneralInputWidthWrapper } from 'src/components';\nimport { TextInputExtended } from './TextInputExtended';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { store } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport styled from 'styled-components';\n\nconst Wrapper = styled.div`\n\tinput[type=\"date\"] {\n\t\tappearance: none; /* Oculta el icono en algunos navegadores */\n\t\t-webkit-appearance: none;\n\t\t-moz-appearance: none;\n\t}\n\tinput[type=\"date\"]::-webkit-calendar-picker-indicator {\n\t\tdisplay: none; /* Para Chrome, Safari, Edge */\n\t}\n\n\tinput[type=\"date\"]::-moz-calendar-picker-indicator {\n\t\tdisplay: none; /* Para Firefox */\n\t}\n\tinput[type=\"date\"]::-webkit-calendar-picker-indicator {\n \t\topacity: 0;\n \t\tpointer-events: none;\n\t}\n`;\ninterface DateProps {\n\tname?: string;\n\tvalue?: string;\n\tlabel?: string;\n\trequired?: boolean;\n\tminDate?: Dayjs;\n\tmaxDate?: Dayjs;\n\tpaddingTop?: string;\n}\n\nexport function Date(props: DateProps) {\n\tconst { register, errors } = useFormContext();\n\tconst { name, label, required, value, minDate, maxDate, paddingTop } = props;\n\tconst { formInfo }: OneFormState = store.getState();\n\tconst [inputValue, setInputValue] = useState(value || '');\n\tconst [inputError, setInputError] = useState(false);\n\tconst { error, setError } = useOneFormContext();\n\tconst dispatch = useDispatch();\n\tconst today = dayjs();\n\n\tconst defaultMax = today.subtract(18, 'year');\n\tconst defaultMin = today.subtract(100, 'year');\n\t\n\tconst theMaxDate = maxDate && dayjs(maxDate).isValid() ? maxDate : defaultMax;\n\tconst theMinDate = minDate && dayjs(minDate).isValid() ? minDate : defaultMin;\n\n\n\tconst handleChange = (e: any) => {\n\t\tconst value = e.target.value;\n\t\t\n\t\tif (!isValidDate(value)) {\n\t\t\tsetInputError(true);\n\t\t\tsetError(true);\n\t\t}\n\t\telse {\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: value } });\n\t\t\t//dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { [name]: dayjs(value, 'YYYY-MM-DD').format('DD-MM-YYYY') } });\n\t\t\tsetInputValue(value);\n\t\t\tsetInputError(false);\n\t\t\tsetError(false);\n\t\t}\n\t\t\n\t};\n\n\tconst isValidDate = (value) => {\n\t\tif (!value) {\n\t\t\treturn false;\n\t\t}\n\t\telse if (theMinDate > dayjs(value) || theMaxDate < dayjs(value)) {\n\t\t\treturn false;\n\t\t}\n\t\telse {\n\t\t\treturn true;\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t isValidDate(value),\n\t\t\t\t\t})}\n\t\t\t\t\ttype=\"date\"\n\t\t\t\t\tonChange={(e) => handleChange(e)}\n\t\t\t\t\trequired={required}\n\t\t\t\t/>\n\t\t\t\t{inputError && Esta fecha no es válida}\n\t\t\t\n\t\t\n\t);\n}\n","import * as React from 'react';\nexport var Add = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M11 5.3H6.7V1H5.3v4.3H1v1.4h4.3V11h1.4V6.7H11z\" }));\n }\n if (variant === \"large\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"48\", height: \"48\", viewBox: \"0 0 48 48\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M42.02 23H25V5.98h-2V23H5.98v2H23v17.02h2V25h17.02z\" }));\n }\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M21 11.3h-8.3V3h-1.4v8.3H3v1.4h8.3V21h1.4v-8.3H21z\" }));\n }\n return null;\n}, { displayName: 'Add' }));\n","import * as React from 'react';\nexport var Checkmark = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M11.506 3.05 5.277 9.57a1.165 1.165 0 0 1-1.676.01L.528 6.43l.952-.929 2.954 3.027 6.11-6.396z\", clipRule: \"evenodd\" }));\n }\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M21.453 6.486 10.637 17.938c-.54.571-1.449.57-1.987-.002l-5.138-5.462.968-.911 5.139 5.462a.035.035 0 0 0 .05 0L20.487 5.572l.967.913Z\", clipRule: \"evenodd\" }));\n }\n return null;\n}, { displayName: 'Checkmark' }));\n","import * as React from 'react';\nimport { Add, Checkmark } from '@volkswagen-onehub/icons-core';\nimport { styled } from '../theme-provider';\nconst StyledAddIcon = styled(Add).withConfig({ displayName: \"StyledAddIcon\", componentId: \"sc-9ijgpp\" }) `transition:transform 300ms ease;transform:${({ active, iconPosition }) => active && iconPosition === 'end' ? 'rotate(45deg)' : 'rotate(0)'};`;\nexport const Icon = ({ active, iconPosition, }) => {\n if (iconPosition === 'start' && !active)\n return React.createElement(Add, { variant: \"small\", ariaHidden: true });\n if (iconPosition === 'end')\n return (React.createElement(StyledAddIcon, { variant: \"small\", iconPosition: iconPosition, active: active, ariaHidden: true }));\n return React.createElement(Checkmark, { variant: \"small\", ariaHidden: true });\n};\n","import * as React from 'react';\nimport { css, styled } from '../theme-provider';\nimport { Icon } from './icon';\nimport { Text, TextTag, TokenTextAppearance, TokenTextColor, WhiteSpace, } from '../text';\nimport { createA11yOutlineStyles } from '../helpers/a11y';\n//this object contains each variant's custom style\nconst styles = {\n primary: {\n selected: css `background:${({ theme }) => theme.colors.filter.on.default};color:${({ theme }) => theme.colors.content.inverted};&:hover:not(:disabled){background:${({ theme }) => theme.colors.filter.on.hover};}&:disabled{color:${({ theme }) => theme.colors.content.inverted};background:${({ theme }) => theme.colors.filter.on.disabled};}`,\n notSelected: css `color:${({ theme }) => theme.colors.content.active};background:${({ theme }) => theme.colors.filter.off.default};&:hover:not(:disabled){background:${({ theme }) => theme.colors.filter.off.hover};}&:disabled{color:${({ theme }) => theme.colors.content.secondary};background:${({ theme }) => theme.colors.filter.off.disabled};}`,\n },\n secondary: {\n selected: css `background:${({ theme }) => theme.colors.content.inverted};color:${({ theme }) => theme.colors.filter.on.default};border:${({ theme }) => theme.size.border.heavy} solid ${({ theme }) => theme.colors.filter.on.default};&:hover:not(:disabled){color:${({ theme }) => theme.colors.filter.on.hover};border:${({ theme }) => theme.size.border.heavy} solid ${({ theme }) => theme.colors.filter.on.hover};}&:disabled{color:${({ theme }) => theme.colors.content.secondary};border:${({ theme }) => theme.size.border.heavy} solid ${({ theme }) => theme.colors.border.divider};}`,\n notSelected: css `color:${({ theme }) => theme.colors.content.active};background:${({ theme }) => theme.colors.content.inverted};border:${({ theme }) => theme.size.border.light} solid ${({ theme }) => theme.colors.border.default};&:hover:not(:disabled){box-shadow:inset 0 0 0 ${({ theme }) => theme.size.line.default} ${({ theme }) => theme.colors.filter.off.hover};}&:not(:hover){transition:box-shadow ${({ theme }) => theme.animation.duration.layer} ease;-webkit-transition:box-shadow ${({ theme }) => theme.animation.duration.layer} ease;}&:disabled{color:${({ theme }) => theme.colors.content.secondary};border:${({ theme }) => theme.size.border.heavy} solid ${({ theme }) => theme.colors.border.divider};}`,\n },\n};\nconst outLineStyleFocus = css `&:focus-visible{${({ theme }) => createA11yOutlineStyles(theme, 'solid')};}&:focus:not(:focus-visible){outline:none;outline-offset:0;}`;\nconst StyledFilterTag = styled.button.withConfig({ displayName: \"StyledFilterTag\", componentId: \"sc-1tm4pjq\" }) `display:flex;align-items:center;flex-direction:${({ iconPosition }) => iconPosition === 'end' && 'row-reverse'};gap:${({ theme }) => theme.size.static150};justify-content:center;align-items:center;height:${({ theme }) => theme.size.static400};border-radius:${({ theme }) => theme.size.static150};border:none;cursor:pointer;padding:${({ theme }) => theme.size.static150} ${({ theme }) => theme.size.static200};&&&:disabled{cursor:not-allowed;}span{margin-top:${({ theme }) => theme.size.static0};::first-letter{text-transform:uppercase;}}${outLineStyleFocus} transition:background ${({ theme }) => theme.animation.duration.color} ease,color ${({ theme }) => theme.animation.duration.color} ease;${({ emphasis, active }) => \n// TS ignores default values for optional props, for this reason we need to whit for the props to be defined before using it as an index\nemphasis && styles[emphasis][active ? 'selected' : 'notSelected']};`;\nexport const FilterTag = ({ iconPosition = 'start', emphasis = 'primary', disabled = false, disabledReason, active = false, onClick, text, ariaPressed, 'data-testid': dataTestId = 'filterTag', uniqueAriaId, ariaLabel, }) => {\n const handleClick = (evt) => {\n onClick && onClick(evt);\n };\n return (React.createElement(StyledFilterTag, { \"aria-label\": ariaLabel, \"aria-pressed\": ariaPressed, active: active, onClick: handleClick, emphasis: emphasis, iconPosition: iconPosition, disabled: disabled, \"aria-describedby\": disabled ? uniqueAriaId : '', \"data-testid\": dataTestId },\n disabled && disabledReason && (React.createElement(\"span\", { id: uniqueAriaId, hidden: true }, disabledReason)),\n React.createElement(Icon, { iconPosition: iconPosition, active: active }),\n React.createElement(Text, { tag: TextTag.span, appearance: TokenTextAppearance.label150, color: TokenTextColor.inherit, whiteSpace: WhiteSpace.nowrap }, text)));\n};\nFilterTag.displayName = 'FilterTag';\n","import * as React from 'react';\nexport var Upload = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M19.67 18.35V21H4.33v-2.65H3v2.82a1.16 1.16 0 0 0 1.17 1.16h15.66A1.16 1.16 0 0 0 21 21.17v-2.82z\" }),\n React.createElement(\"path\", { d: \"M12 2.33c.41 0 .49 0 4.47 4.21l-1 .92c-.73-.77-2-2.09-2.85-3V19h-1.28V4.48c-.76.77-1.85 1.92-2.86 3l-1-.92c4.04-4.23 4.09-4.23 4.52-4.23z\" }));\n }\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M10.49 9.15v1.52h-9V9.15H.18V11a1 1 0 0 0 1 1h9.68a1 1 0 0 0 1-1V9.15zM6 0c.37 0 .41 0 3 2.68L8 3.6 6.67 2.21v6.73H5.34V2.21L4 3.6l-1-.92C5.59 0 5.62 0 6 0z\" }));\n }\n return null;\n}, { displayName: 'Upload' }));\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { Container, ContainerPadding, CTA, Text, TokenTextAppearance, FilterTag, ContainerGutter } from '@volkswagen-onehub/components-core';\nimport { useDispatch } from 'react-redux';\nimport { InputError } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { Upload } from '@volkswagen-onehub/icons-core';\nimport { store } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\n\ninterface FileProps {\n\tname?: string;\n\tlabel?: string;\n\tCTALabel?: string;\n\trequired?: boolean;\n\tallowedTypes?: any[];\n\tmaxMbSize?: number;\n\tmaxFiles?: number;\n\tnoPadding?: boolean;\n}\n\nexport function InputFile(props: FileProps) {\n\tconst { register, errors } = useFormContext();\n\tconst fileInputRef = useRef(null);\n\tconst { name, label, required, CTALabel, maxMbSize, allowedTypes, maxFiles, noPadding } = props;\n\tconst [inputFiles, setInputFiles] = useState([]);\n\tconst [fileError, setFileError] = useState(false);\n\tconst [maxFilesError, setMaxFilesError] = useState(false);\n\tconst [maxSizeError, setMaxSizeError] = useState(false);\n\tconst { error, setError } = useOneFormContext();\n\tconst dispatch = useDispatch();\n\tconst { formData }: OneFormState = store.getState();\n\tconst { fields } = formData;\n\n\tconst handleChange = (e: any) => {\n\t\tconst file = e.target.files?.[0];\n\n\t\tif (!file || !isValidFile(file)) {\n\t\t\tsetFileError(true);\n\t\t\tsetError(true);\n\t\t} else {\n\t\t\tconst maxFilesAllowed = maxFiles || 1;\n\t\t\tconst updatedFiles = fields[name] ? [...fields[name], file] : [file];\n\t\t\tif (updatedFiles.length > maxFilesAllowed) {\n\t\t\t\tsetMaxFilesError(true);\n\t\t\t} else if (maxMbSize && updatedFiles.reduce((acc, file) => acc + file.size, 0) > maxMbSize * 1024 * 1024) {\n\t\t\t\tsetMaxSizeError(true);\n\t\t\t} else {\n\t\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: updatedFiles } });\n\t\t\t\tsetInputFiles([...inputFiles, file.name]);\n\t\t\t\tsetFileError(false);\n\t\t\t\tsetMaxFilesError(false);\n\t\t\t\tsetError(false);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst isValidFile = (file: File) => {\n\t\tconst validType = allowedTypes ? allowedTypes.includes(file.type) : true;\n\t\tconst validSize = maxMbSize ? maxMbSize * 1024 * 1024 > file.size : true;\n\n\t\treturn validType && validSize;\n\t};\n\n\tconst getLiteralTypes = () => {\n\t\treturn allowedTypes ? allowedTypes.map((mime) => mime.split('/').pop().toUpperCase()).join(', ') : '';\n\t};\n\n\tconst getUsedSize = (): number => {\n\t\tconst files = fields[name];\n\t\tif (files) {\n\t\t\tconst totalSize = files.reduce((acc: number, file: File) => acc + file.size, 0);\n\t\t\treturn parseFloat((totalSize / (1024 * 1024)).toFixed(2));\n\t\t}\n\t\treturn 0;\n\t};\n\n\tconst removeFile = (fileName: string) => {\n\t\tconst updatedFiles = fields[name].filter((file: File) => file.name !== fileName);\n\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: updatedFiles } });\n\t\tsetInputFiles(updatedFiles.map((file: File) => file.name));\n\t};\n\t\n\n\treturn (\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\n\t\t\t{label ? (\n\t\t\t\t\n\t\t\t\t\t{label} {required ? '' : '(opcional)'}\n\t\t\t\t\n\t\t\t) : null}\n\n\t\t\t\n\t\t\t\t { e.preventDefault(); fileInputRef.current?.click(); }} tag=\"button\" emphasis=\"primary\" size=\"small\" icon={}>\n\t\t\t\t\t{CTALabel ? CTALabel : 'Subir Archivo'}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{maxMbSize ? Tamaño máximo: {maxMbSize}MB {getUsedSize() > 0 ? `(usado ${getUsedSize()}MB )` : ''} : null}\n\t\t\t\t\t{getLiteralTypes() ? Archivo{allowedTypes?.length > 1 ? 's' : ''} soportado{allowedTypes?.length > 1 ? 's' : ''}: {getLiteralTypes()} : null}\n\t\t\t\t\n\t\t\t\n\t\t\t{fileError && Este archivo no es válido.}\n\n\t\t\t\n\t\t\t\t{inputFiles && inputFiles.map((file, index) => (\n\t\t\t\t\t { e.preventDefault(); if (fileInputRef.current) fileInputRef.current.value = ''; removeFile(file); }} />\n\t\t\t\t))}\n\t\t\t\n\t\t\t{maxFilesError && Solo se permiten {maxFiles} archivo{maxFiles ? 's' : ''}.}\n\t\t\t{maxSizeError && Solo se permite enviar {maxMbSize}MB.}\n\t\t
\n\t);\n}\n","import React from 'react';\nimport { CTA } from '@volkswagen-onehub/components-core';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useOneFormContext } from 'src/feature-app';\n\nexport const NextStepCTA = () => {\n\tconst { nextStep } = useOneFormContext();\n\tconst trackingManager = useTrackingManager();\n\n\treturn (\n\t\t
\n\t\t\t {\n\t\t\t\t\ttrackingManager.trackFormStepButtonClick({\n\t\t\t\t\t\tcontentId: 'Siguiente',\n\t\t\t\t\t});\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tnextStep();\n\t\t\t\t}}\n\t\t\t\tariaLabel=\"aria label\"\n\t\t\t>\n\t\t\t\tEmpezar\n\t\t\t\n\t\t
\n\t);\n};\n","import React, { useEffect, useState } from 'react';\n\nexport function useOnlyLettersControl(pristine: boolean, input: string) {\n const [error, setError] = useState(false);\n // const regExp = /^[ña-zÑA-Z\\s]*$/;\n // const regExp = /^[A-Za-zÁÉÍÓÚáéíóúñÑ]+$/g;\n const regExp = /^[a-zA-ZÀ-ÿ\\u00f1\\u00d1]+(\\s*[a-zA-ZÀ-ÿ\\u00f1\\u00d1]*)*[a-zA-ZÀ-ÿ\\u00f1\\u00d1\\s+]+$/;\n\n useEffect(() => {\n if (input && !pristine && !regExp.test(input)) {\n setError(true);\n } else {\n setError(false);\n }\n }, [input, pristine]);\n\n return { error, regExp };\n}\n","import {\n Container,\n ContainerGutter,\n CTA,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Alert } from 'src/icons-core-imports';\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React from 'react';\n\nconst Content = styled.div`\n background-color: #ffffff;\n padding: 44px 31px;\n flex: auto;\n text-align: center;\n width: 100%;\n @media screen and (min-width: 560px) {\n padding: 52px 46px;\n }\n @media screen and (min-width: 960px) {\n padding: var(--size-grid001);\n }\n`;\n\ninterface LayerComponentProps {\n closeLayerCallback?: CloseHandleV2;\n}\n\nexport function AvailabilityErrorLayer(props: LayerComponentProps) {\n return (\n \n \n \n );\n}\n\ninterface SlotHorario {\n from: number;\n to: number;\n}\n\nfunction AvailabilityError(props: LayerComponentProps) {\n const { closeLayerCallback } = props;\n\n return (\n \n
\n \n
\n \n Uy, algo ha pasado\n \n \n \n No hemos podido cargar los datos que nos pides. ¿Lo intentamos de nuevo en un rato?\n \n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n >\n Cerrar\n \n \n \n );\n}\n","export const removeConfigurationHash = () => history.pushState('', document.title, window.location.pathname + window.location.search);\n","import React, { useEffect, useState } from 'react';\nimport {\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n styled,\n Text,\n TextAlignment,\n BreakpointWrapper,\n Breakpoints,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, useFeatureAppConfig, useFeatureAppEnvironment } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport { removeConfigurationHash } from 'src/feature-app/remove-configuration-hash';\n\nconst Content = styled.div`\n background-color: #ffffff;\n padding: 44px 28px;\n flex: auto;\n text-align: center;\n width: 100%;\n @media screen and (min-width: 560px) {\n padding: 52px 46px;\n }\n @media screen and (min-width: 960px) {\n padding: var(--size-grid001);\n }\n`;\n\nconst copys = [\n {\n name: 'isCloseLayer',\n pregunta: '¿Seguro que quieres salir?',\n bodyCopy: 'Si lo haces, no se enviará el formulario.',\n },\n {\n name: 'isMotivoLayer',\n pregunta: '¿Seguro que quieres cambiar el motivo de tu visita?',\n bodyCopy: 'Si lo cambias, puede que tengas elegir un taller distinto. ',\n },\n {\n name: 'isTallerLayer',\n pregunta: '¿Seguro que quieres cambiar el taller para tu visita?',\n bodyCopy: 'Si lo cambias, puede que tengas que elegir una hora distinta.',\n },\n {\n name: 'isTimeLayer',\n pregunta: '¿Seguro que quieres cambiar la hora de tu visita?',\n bodyCopy: 'Si la cambias, puede que tengas que elegir un taller distinto.',\n },\n];\n\ninterface AreYouSureProps {\n layerName: string;\n closeLayerCallback?: CloseHandleV2;\n closeOneForm?: CloseHandleV2;\n onClickProp: () => void;\n}\n\nexport const AreYouSureLayer = (props: AreYouSureProps) => {\n const { layerName, closeLayerCallback, closeOneForm, onClickProp } = props;\n const dispatch = useDispatch();\n const [layerInfo, setLayerInfo] = useState(null);\n const trackingManager = useTrackingManager();\n const { screenIndex } = useSelector((state: OneFormState) => state.formInfo);\n const config = useFeatureAppConfig();\n const env = useFeatureAppEnvironment();\n\n useEffect(() => {\n const aux = copys.filter((a) => a.name === layerName);\n setLayerInfo(aux);\n }, []);\n\n return (\n \n {layerInfo ? (\n <>\n \n {layerInfo[0].pregunta}\n \n \n {\n config.trigger === 'cita-posventa-dealer' && layerName !== 'isCloseLayer' ? null : (\n {layerInfo[0].bodyCopy}\n )\n }\n \n {layerName === 'isCloseLayer' ? (\n <>\n \n \n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n No, quiero seguir\n \n {\n e.preventDefault();\n dispatch({ type: 'RESET_STATE' });\n closeLayerCallback({}, {}, {});\n closeOneForm({}, {}, {});\n if (config.trigger === 'lead-configurador') {\n removeConfigurationHash();\n }\n if (env.done) {\n env.done();\n }\n }}\n stretchContent\n >\n Sí, estoy seguro\n \n \n \n \n \n
\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n >\n No, quiero seguir\n \n
\n {\n e.preventDefault();\n trackingManager.trackFormCloseClick(\n {\n contentId: 'Cerrar',\n },\n { FormStart: screenIndex === 0 ? true : false }\n );\n dispatch({ type: 'RESET_STATE' });\n closeLayerCallback({}, {}, {});\n closeOneForm({}, {}, {});\n if (config.trigger === 'lead-configurador') {\n removeConfigurationHash();\n }\n if (env.done) {\n env.done();\n }\n }}\n >\n Sí, estoy seguro\n \n \n
\n \n ) : (\n <>\n \n \n {\n e.preventDefault();\n onClickProp();\n closeLayerCallback({}, {}, {});\n if (config.trigger === 'lead-configurador') {\n removeConfigurationHash();\n }\n if (env.done) {\n env.done();\n }\n }}\n stretchContent\n >\n Sí, estoy seguro\n \n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n No, quiero seguir en esta página\n \n \n \n \n \n
\n {\n e.preventDefault();\n onClickProp();\n closeLayerCallback({}, {}, {});\n if (config.trigger === 'lead-configurador') {\n removeConfigurationHash();\n }\n }}\n >\n Sí, estoy seguro\n \n
\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n >\n No, quiero seguir en esta página\n \n \n
\n \n )}\n \n ) : null}\n
\n );\n};\n","import {\n Container,\n ContainerGutter,\n CTA,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Alert } from 'src/icons-core-imports';\n\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useRef, useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\n\ninterface contentProps {\n notALayer?: boolean;\n formHeight?: string;\n}\n\nconst Content = styled.div`\n background-color: #ffffff;\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid002)' : '44px 31px')};\n flex: auto;\n text-align: ${(props) => (props.notALayer ? 'left' : 'center')};\n width: 100%;\n display: ${(props) => (props.notALayer ? 'flex' : null)};\n align-items: ${(props) => (props.notALayer ? 'center' : null)};\n height: ${(props) => (props.notALayer ? 'calc(100vh - 84px)' : '100%')};\n @media all and (min-width: 560px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid002)' : '52px 46px')};\n height: ${(props) => (props.notALayer ? 'calc(100vh - 92px)' : '100%')};\n }\n @media all and (min-width: 960px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid003)' : 'var(--size-grid001)')};\n height: ${(props) => (props.notALayer ? 'calc(100vh - 100px)' : '100%')};\n }\n @media all and (min-width: 1280px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid005)' : 'var(--size-grid001)')};\n }\n @media all and (min-width: 1920px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid006)' : 'var(--size-grid001)')};\n height: ${(props) => (props.notALayer ? 'calc(100vh - 116px)' : '100%')};\n }\n @media all and (min-width: 2560px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid007)' : 'var(--size-grid001)')};\n }\n`;\n\ninterface LayerComponentProps {\n closeLayerCallback?: CloseHandleV2;\n closeOneForm?: CloseHandleV2;\n bodycopy?: string;\n title?: string;\n icon?: boolean;\n onClick?: any;\n ctaLayer?: string;\n notALayer?: boolean;\n notShowCTA?: boolean;\n ctaType?: 'a' | 'button';\n urlHref?: string;\n ctaTextAlign?: 'left' | 'center';\n secondCta?: JSX.Element;\n}\n\n//admite formato, title, bodycopy, si debe mostrar o no el icono de alert\n//así como la siguiente info del CTA: si mostarlo o no, el texto del layer y la funciona de onClick\n\nexport function GenericErrorLayer(props: LayerComponentProps) {\n const {\n closeLayerCallback,\n closeOneForm,\n bodycopy,\n title,\n icon,\n onClick,\n ctaLayer,\n notALayer,\n notShowCTA,\n ctaType,\n urlHref,\n ctaTextAlign,\n secondCta,\n } = props;\n const dispatch = useDispatch();\n\n const handleCloseLayers = () => {\n closeLayerCallback({}, {}, {});\n closeOneForm({}, {}, {});\n dispatch({ type: 'UPDATE_GENERIC_ERROR', payload: false });\n };\n\n //calc height stuff\n const content = useRef(null);\n const viewportHeight = window.innerHeight;\n const [formHeight, setFormHeight] = useState('100%');\n\n useEffect(() => {\n if (!notALayer) {\n return;\n }\n\n if (content.current) {\n const minHeight = viewportHeight - 252;\n const contentHeight = content.current.clientHeight;\n if (minHeight > contentHeight) {\n setFormHeight(`${minHeight}px`);\n } else {\n setFormHeight(`${contentHeight}px`);\n }\n }\n }, []);\n\n return (\n \n \n {icon ? (\n
\n \n
\n ) : null}\n <>\n \n {title ? title : 'Uy, algo ha pasado'}\n \n \n \n \n {bodycopy\n ? bodycopy\n : 'Parece que no podemos seguir con el proceso de cita en este momento. ¿Lo intentamos de nuevo más tarde?'}\n \n \n {notShowCTA ? null : (\n <>\n {ctaType === 'a' ? (\n
\n \n {ctaLayer ? <>{ctaLayer} : <>Cerrar}\n \n
\n ) : (\n
\n {\n if (onClick) {\n e.preventDefault();\n onClick();\n } else {\n e.preventDefault();\n handleCloseLayers();\n }\n }}\n >\n {ctaLayer ? <>{ctaLayer} : <>Cerrar}\n \n
\n )}\n \n )}\n {secondCta ?
{secondCta}
: null}\n \n \n \n
\n );\n}\n","import { styled } from '@volkswagen-onehub/components-core';\n\nexport const RatingStarWrapper = styled.div<{ isPrevStep?: boolean; textUnderStars?: boolean; pointer?: boolean }>`\n padding-right: ${(props) => (props.isPrevStep ? '20px' : '32px')};\n padding-right: ${(props) => props.textUnderStars && '0px'};\n padding-left: ${(props) => (props.textUnderStars ? '32px' : '0px')};\n padding-top: ${(props) => (props.textUnderStars ? '32px' : '0px')};\n\n cursor: ${(props) => (props.pointer || !props.isPrevStep ? 'pointer' : null)};\n\n svg {\n width: 32px;\n height: 32px;\n\n @media all and (min-width: 560px) {\n width: ${(props) => (props.isPrevStep ? '20px' : '40px')};\n height: ${(props) => (props.isPrevStep ? '20px' : '40px')};\n }\n @media all and (min-width: 1600px) {\n width: ${(props) => (props.isPrevStep ? '20px' : '48px')};\n height: ${(props) => (props.isPrevStep ? '20px' : '48px')};\n }\n }\n\n @media all and (max-width: 400px) {\n padding-left: ${(props) => (props.textUnderStars ? '7%' : '2vw')};\n padding-right: ${(props) => (props.textUnderStars ? '0px' : '2vw')};\n\n svg {\n width: ${(props) => (props.isPrevStep ? '10px' : '30px')};\n height: ${(props) => (props.isPrevStep ? '10px' : '30px')};\n }\n }\n\n &.filled {\n color: #ffd100;\n }\n\n &.outline {\n color: #6a767d;\n }\n`;\n","import {\n styled\n} from '@volkswagen-onehub/components-core';\n\ninterface Props {\n paginaConfirmacion?: boolean;\n}\n\nexport const PaddingWrapper = styled.div`\n padding-top: ${(props) => (props.paginaConfirmacion ? '0px' : '44px')};\n @media all and (max-height: 624px) {\n padding-top: ${(props) => (props.paginaConfirmacion ? '0px' : '24px')};\n }\n`;\n","import { styled } from '@volkswagen-onehub/components-core';\n\ninterface Props {\n paginaConfirmacion?: boolean;\n notALayer?: boolean;\n noPaddingTop?: boolean;\n paddingTop?: string;\n}\n\nexport const GeneralInputWidthWrapper = styled.div`\n width: 100%;\n padding-top: ${(props) => (props.paginaConfirmacion ? '0px' : props.noPaddingTop ? '0' : props.paddingTop ? props.paddingTop : '44px')};\n @media all and (max-height: 624px) {\n padding-top: ${(props) => (props.paginaConfirmacion ? '0px' : props.noPaddingTop ? '0' : props.paddingTop ? props.paddingTop : '24px')};\n }\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n`;\n\nexport const LabelInputWidthWrapper = styled.div`\n label {\n width: 100%;\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n }\n`;\n","import { styled } from '@volkswagen-onehub/components-core';\n\nexport const ContactInfoWrapper = styled.div`\n width: 100%;\n margin-bottom: 2px;\n .email-input-wrapper {\n padding-top: 24px;\n }\n @media all and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n .email-input-wrapper {\n padding-top: 44px;\n }\n }\n @media all and (max-height: 624px) {\n .email-input-wrapper {\n padding-top: 24px;\n }\n }\n`; \n","import { styled } from '@volkswagen-onehub/components-core';\n\nexport const GeneralConfirmacionWrapper = styled.div`\n padding: 72px 0 44px;\n @media all and (min-width: 960px) {\n padding: 86px 0 0;\n }\n`;\n\nexport const GeneralConfirmacionLayerWrapper = styled.div`\n padding: 72px 0 44px;\n @media all and (min-width: 960px) {\n padding: 86px 0 0;\n }\n`;\n","import { styled } from '@volkswagen-onehub/components-core';\n\nexport const WhiteLinkWrapper = styled.span`\n a {\n color: #ffffff;\n font-weight: bold;\n }\n`;\n","import React from 'react';\nimport { Text } from '@volkswagen-onehub/components-core';\n\nexport const renderBolds = (htmlString: string) => {\n\tconst parser = new DOMParser();\n\tconst doc = parser.parseFromString(htmlString, 'text/html');\n\tconst elements = Array.from(doc.body.childNodes);\n\n\treturn elements.map((node) => {\n\t\tif (node.nodeType == Node.ELEMENT_NODE && (node.nodeName == 'B' || node.nodeName == 'STRONG')) {\n\t\t\treturn {node.textContent};\n\t\t}\n\t\telse {\n\t\t\treturn node.textContent;\n\t\t}\n\t});\n};\n","import { compose } from 'redux';\nfunction extensionComposeStub() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n if (funcs.length === 0) return undefined;\n if (typeof funcs[0] === 'object') return compose;\n return compose(...funcs);\n}\nexport const composeWithDevTools = typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : extensionComposeStub;\nexport const devToolsEnhancer = typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function () {\n return function (noop) {\n return noop;\n };\n};\nexport { composeWithDevTools as composeWithDevToolsDevelopmentOnly, devToolsEnhancer as devToolsEnhancerDevelopmentOnly } from './developmentOnly';\nexport { composeWithDevTools as composeWithDevToolsLogOnly, devToolsEnhancer as devToolsEnhancerLogOnly } from './logOnly';\nexport { composeWithDevTools as composeWithDevToolsLogOnlyInProduction, devToolsEnhancer as devToolsEnhancerLogOnlyInProduction } from './logOnlyInProduction';","import React, { useEffect, useState } from 'react';\nimport { Provider } from 'react-redux';\nimport { createStore, Store } from 'redux';\nimport { OneFormTrigger } from 'src/triggers';\nimport { OneFormState } from 'src/types';\nimport { useIsDevStage, useFeatureAppConfig, useFaContent, useFeatureServices } from 'src/feature-app';\nimport { initialState, oneFormReducer } from './redux';\nimport { composeWithDevTools } from '@redux-devtools/extension';\n\ndeclare global {\n\tvar s: { persCmp?: string; };\n}\n\nexport const store: Store = createStore(oneFormReducer, initialState, composeWithDevTools());\nexport default function App() {\n\tconst [loading, setLoading] = useState(true);\n\tconst oneFormService = useFeatureServices()['es:oneform-core'];\n\tconst faContent = useFaContent();\n\tconst config = useFeatureAppConfig();\n\tconst isDevStage = useIsDevStage();\n\n\tuseEffect(() => {\n\t\tlet useBff = false;\n\t\tif (faContent && faContent.encuesta &&\n\t\t\t['LEM', 'NO COMPRA', 'NO RENOVACIÓN', 'SAC', 'NEWSLETTER', 'CEM - VENTA', 'CEM - POSVENTA', 'CEM - VENTA PRODUCTO', 'CEM - SEGUNDA ENTREGA - INVITACION', 'CEM - SEGUNDA ENTREGA - VALORACION'].includes(faContent.encuesta)) {\n\t\t\tuseBff = true;\n\t\t}\n\t\telse if (faContent && faContent.action &&\n\t\t\t['clubvw-unsubscribe-email'].includes(faContent.action)) {\n\t\t\tuseBff = true;\n\t\t}\n\t\telse if (config && config.trigger &&\n\t\t\t['baja-comunicaciones'].includes(config.trigger)) {\n\t\t\tuseBff = true;\n\t\t}\n\n\t\toneFormService.initializeService(true, useBff); // Necesario para saltarse la comprobación del login en los formularios en los que no sea necesario.\n\n\t\tconst oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n\t\toneFormCoreDpsIsLoaded.subscribe({\n\t\t\tnext(value) { },\n\t\t\terror(err) { },\n\t\t\tcomplete() {\n\t\t\t\t// One Form no se inicializa hasta que no se han cargado todos los datos.\n\t\t\t\tconst { person } = oneFormService.get();\n\n\t\t\t\tif (person) {\n\t\t\t\t\tstore.dispatch({ type: 'UPDATE_FIELDS', payload: { ...person } });\n\t\t\t\t\tstore.dispatch({\n\t\t\t\t\t\ttype: 'SET_FORM_INFO',\n\t\t\t\t\t\tpayload: { userIsAuthenticated: person.userIsAuthenticated === 'true' ? true : false },\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\t// setObjectValues(person, methods.setValue);\n\t\t\t\tif (isDevStage) {\n\t\t\t\t\tconsole.log('%cOneForm Version:', 'font-weight: 700', process.env.VERSION);\n\t\t\t\t\tconsole.log('%cOneForm Feature App Content:', 'font-weight: 700', faContent);\n\t\t\t\t\tconsole.log('%cOneForm Feature App Config:', 'font-weight: 700', config);\n\t\t\t\t}\n\t\t\t\tsetLoading(false);\n\t\t\t},\n\t\t});\n\t}, []);\n\treturn {loading ? null : };\n}\n","import { styled } from '@volkswagen-onehub/components-core';\n\nexport const Background = styled.div<{ calendarIsStep: boolean }>`\n background-color: #ffffff;\n width: 100%;\n min-height: ${(props)=>(props.calendarIsStep ? '100vh' : 'calc(100vh - 52px)')};\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-top: -2px;\n`;\nexport const AllContentWrapper = styled.div`\n display: flex;\n align-items: center; \n`;\nexport const DealerInfoWrapper = styled.div`\n width: 83vw;\n @media screen and (min-width: 960px) {\n width: 660px;\n }\n`;\nexport const GoBackWrapper = styled.div`\n padding-left: 20px;\n padding-top: 24px;\n padding-bottom: 3px;\n background-color: #ffffff;\n`;\nexport const GreyText = styled.span`\n color: '#6A767D';\n`;\nexport const CalendarHandlerWrapper = styled.div`\n width: 100%;\n display: flex;\n padding: 44px 4% 32px;\n justify-content: space-between;\n align-items: center;\n @media screen and (min-width: 560px) {\n padding: 44px 11% 32px;\n }\n @media screen and (min-width: 960px) {\n padding: 44px 11% 32px;\n }\n`;\nexport const AllDaysWrapper = styled.div`\n width: 100%;\n margin: auto;\n align-self: center;\n justify-self: center;\n margin-bottom: 44px;\n @media screen and (min-width: 560px) {\n width: 89%;\n }\n @media screen and (min-width: 960px) {\n width: 96%;\n margin-left: 32px;\n margin-rigth: 0;\n }\n`;\nexport const TabsWitdh = styled.div`\n width: 83vw;\n @media all and (min-width: 960px) {\n width: 660px;\n }\n`;\nexport const DividerC = styled.div`\n height: 1px;\n width: 100%;\n background-color: #dfe4e8;\n`;\nexport const DayPositionWrapper = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n`;\ninterface DayWrapperProps {\n active?: any;\n presentDay?: any;\n disabled?: boolean;\n}\nexport const DayWrapper = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n color: ${(props) => (props.active ? '#FFFFFF' : props.disabled ? '#dfe4e8' : '#001E50')};\n font-size: ${(props) => (props.presentDay ? '700' : null)};\n background-color: ${(props) => (props.active ? '#001E50' : null)};\n width: 40px;\n height: 40px;\n border-radius: 50%;\n cursor: ${(props) => (props.disabled ? 'default' : 'pointer')};\n\n @media screen and (min-width: 960px) {\n width: 44px;\n height: 44px;\n }\n`;\n\ninterface CapitalizeWrapperProps {\n hasTitle?: boolean;\n isDisabled: boolean;\n}\nexport const Capitalize = styled.span`\n text-transform: capitalize;\n color: ${(props) => (props.isDisabled ? '#E8DFE4' : '#001e50')};\n padding: ${(props) => (props.hasTitle ? null : '0 32px')};\n padding-top: ${(props) => (props.hasTitle ? null : '2px')};\n cursor: ${(props) => (props.isDisabled ? 'default' : 'pointer')};\n`;\n","import {\n\tBreakpoints,\n\tBreakpointWrapper,\n\tContainer,\n\tContainerPadding,\n\tCTA,\n\tLayout,\n\tLayoutRowGap,\n\tText,\n\tTextAlignment,\n\tThemeProvider,\n\tTokenTextAppearance,\n\tTokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport React, {useEffect, useRef, useState} from 'react';\nimport {useSelector} from 'react-redux';\nimport {AnteriorCTA} from 'src/components';\nimport {\n\tgetActualMonth,\n\tgetActualMonthNumber,\n\tgetActualYearNumber,\n\tgetNextActualMonth,\n\tgetPreviousActualMonth,\n\tgetYYYYMMDD,\n\tuseFeatureAppConfig,\n\tyear_MonthNumber_DayNumber,\n\tuseTrackingManager,\n} from 'src/feature-app';\nimport {ArrowLeft, ChevronLeft, ChevronRight} from 'src/icons-core-imports';\nimport {Availability, Calendar, CalendarSlot, Day, DealersData, Horario, OneFormState, Points} from 'src/types';\nimport {checkIfEvening, checkIfMidDay, checkIfMorning, getDistanceFromLatLngCenter, getNormalizedDate} from '../NewMap';\nimport {CloseInDealerCalendar, FranjaHoraria, TabsHorario} from './';\nimport {\n\tAllContentWrapper,\n\tAllDaysWrapper,\n\tBackground,\n\tCalendarHandlerWrapper,\n\tCapitalize,\n\tDayPositionWrapper,\n\tDayWrapper,\n\tDealerInfoWrapper,\n\tDividerC,\n\tGoBackWrapper,\n\tGreyText,\n\tTabsWitdh,\n} from './CalandarioStyles';\nimport {getFirstAndLastDayOfMonth} from 'src/helpers';\n\nexport interface SlotsHorarios {\n\tmanana: CalendarSlot[];\n\tmediodia: CalendarSlot[];\n\ttarde: CalendarSlot[];\n}\n\ninterface CalendarioCitaProps {\n\tselectedPoint: Points;\n\tparamAvailability: Availability;\n\tgetAvailability: (dealer: DealersData, start: number, end: number) => Promise;\n\tselectedSlot: any;\n\tsetSelectedSlot: React.Dispatch;\n\thandleDmsMapExit: (slot: CalendarSlot, point: Points) => void;\n\thandleNoDmsMapExit: (franjaHoraria: string, day: string, point: Points) => void;\n\tcenter: google.maps.LatLng;\n\thorario: Horario;\n\thandleHideCalendarOnClick: () => void;\n\tuserIsGeoLocated?: boolean;\n\t/**\n\t * Flag para cuando el calendario es un step y no forma parte del mapa, cambian los estilos y es fullscreen;\n\t */\n\tcalendarIsStep?: boolean;\n}\n\nconst checkDmsAvailableInAvailability = (availability: Availability) => availability?.content?.dealer?.dmsAvailable;\nconst delerHasError = (availability: Availability) => availability?.content?.dealer.hasOwnProperty('error');\n\nexport function CalendarioCita(props: CalendarioCitaProps) {\n\tconst {\n\t\tselectedPoint,\n\t\tparamAvailability,\n\t\tgetAvailability,\n\t\tselectedSlot,\n\t\tsetSelectedSlot,\n\t\thandleDmsMapExit,\n\t\thandleNoDmsMapExit,\n\t\tcenter,\n\t\thorario,\n\t\thandleHideCalendarOnClick,\n\t\tuserIsGeoLocated,\n\t\tcalendarIsStep,\n\t} = props;\n\n\tconst {formName} = useSelector((state: OneFormState) => state.formData.fields);\n\n\tlet name, address, city, zipCode, dealer, distanceFromCenter;\n\tif (selectedPoint.properties?.dealer?.markerInfo?.dealerInfo) {\n\t\tname = selectedPoint.properties.dealer.markerInfo.dealerInfo.name;\n\t\taddress = selectedPoint.properties.dealer.markerInfo.dealerInfo.address;\n\t\tcity = selectedPoint.properties.dealer.markerInfo.dealerInfo.city;\n\t\tzipCode = selectedPoint.properties.dealer.markerInfo.dealerInfo.zipCode;\n\t\tdealer = selectedPoint.properties.dealer;\n\t\tdistanceFromCenter = selectedPoint.properties.distanceFromCenter;\n\t} else {\n\t\tname = '';\n\t\taddress = '';\n\t\tcity = '';\n\t\tzipCode = '';\n\t\tdealer = {};\n\t\tdistanceFromCenter = 0;\n\t}\n\t// const { dealer } = selectedPoint.properties;\n\t// const { dmsInfo } = dealer;\n\t// const { distanceFromCenter } = selectedPoint.properties;\n\n\tconst [preselectedDealerForm, setPreselectedDealerForm] = useState(false);\n\tconst [isCalculadoraFirstStep, setIsCalculadoraFirstStep] = useState(false);\n\tconst config = useFeatureAppConfig();\n\n\tuseEffect(() => {\n\t\tif (formName === 'cita-posventa-calculadora') {\n\t\t\tsetIsCalculadoraFirstStep(true);\n\t\t}\n\t\tif (config.trigger === 'cita-posventa-dealer' || formName === 'cita-posventa-calculadora') {\n\t\t\tsetPreselectedDealerForm(true);\n\t\t} else {\n\t\t\tsetPreselectedDealerForm(false);\n\t\t}\n\t}, []);\n\n\tconst daysOfTheWeek = ['Lun', 'Mar', 'Mié', 'Jue', 'Vie', 'Sáb', 'Dom'];\n\tconst [loading, setLoading] = useState(false);\n\tconst [month, setMonth] = useState(getActualMonth());\n\tconst [nextMonth, setNextMonth] = useState(getNextActualMonth());\n\tconst [previousMonth, setPreviousMonth] = useState(getPreviousActualMonth());\n\tconst [monthNumber, setMonthNumber] = useState(getActualMonthNumber());\n\tconst [monthOffset, setMonthOffset] = useState(0);\n\tconst [monthDays, setMonthDays] = useState(null);\n\tconst [yearNumber, setYearNumber] = useState(getActualYearNumber());\n\tconst [selectedDay, setSelectedDay] = useState(null);\n\tconst [selectedFranjaHoraria, setSelectedFranjaHoraria] = useState(null);\n\tconst [pastMonthBlocked, setPastMonthBlocked] = useState(false); // En el caso de que el mes actual no tenga fechas disponibles no se debería poder volver atrás.\n\tconst [calendar, setCalendar] = useState(null);\n\tconst [horarios, setHorarios] = useState(null);\n\tconst tabsRef = useRef(null);\n\tconst availabilityRef = useRef(null);\n\tconst [dmsAvailable, setDmsAvailable] = useState(null);\n\tconst trackingManager = useTrackingManager();\n\n\tuseEffect(() => {\n\t\ttrackingManager.trackFormStepLoad(\n\t\t\t{},\n\t\t\t{\n\t\t\t\tFormStart: false,\n\t\t\t},\n\t\t\t{StepName: 'MapSlot'},\n\t\t);\n\t\thandleChangeOfMonth(0); // Primera carga del calendario.\n\t}, []);\n\n\tconst handleChangeOfMonth = async (newMonthOffset: number): Promise => {\n\t\tconst {currentMonthNumber, currentMonth, yearNumber, nextMonth} = getDates(newMonthOffset);\n\t\tconst {firstDayOfMonth, lastDayOfMonth} = getFirstAndLastDayOfMonth(currentMonthNumber, yearNumber);\n\n\t\tconst availability =\n\t\t\tnewMonthOffset == 0 ? paramAvailability : await getAvailability(dealer, firstDayOfMonth, lastDayOfMonth);\n\n\t\tif (\n\t\t\tcheckDmsAvailableInAvailability(availability) &&\n\t\t\tavailability.content?.calendar &&\n\t\t\tcalendarHasNoProblems(availability) &&\n\t\t\t!delerHasError(availability)\n\t\t) {\n\t\t\tsetDmsAvailable(true);\n\t\t} else if (\n\t\t\tcheckDmsAvailableInAvailability(availability) &&\n\t\t\tcalendarHasNoProblems(availability) &&\n\t\t\t!availability.content.calendar\n\t\t) {\n\t\t\tif (newMonthOffset === 2) {\n\t\t\t\tsetDmsAvailable(false);\n\t\t\t} else {\n\t\t\t\tsetPastMonthBlocked(true);\n\t\t\t\thandleChangeOfMonth(monthOffset + 1);\n\t\t\t}\n\t\t\treturn;\n\t\t} else {\n\t\t\tsetDmsAvailable(false);\n\t\t}\n\t\tavailabilityRef.current = availability;\n\n\t\tconst {updatedMonthDays, selectedDay} = buildCalendar(currentMonthNumber, yearNumber, availability);\n\n\t\tif (selectedDay) {\n\t\t\tsetMonthDays(updatedMonthDays);\n\t\t\tsetSelectedDay(selectedDay);\n\t\t\tsetVariables(newMonthOffset, currentMonth, currentMonthNumber, nextMonth, yearNumber);\n\t\t} else {\n\t\t\tsetPastMonthBlocked(true);\n\t\t\thandleChangeOfMonth(monthOffset + 1);\n\t\t}\n\t};\n\n\tconst buildCalendar = (monthNumber: string, yearNumber: string, availability: Availability) => {\n\t\t// 1. Crear los días del mes.\n\t\tconst days = createMonthDays(monthNumber, yearNumber);\n\t\t// 2. Con el availability, desactivar todos los días que no son necesarios.\n\t\tconst updatedDays = getDisabledDays(days, availability);\n\t\t// 3. Buscar el primer día activo.\n\t\tconst firstAvailableDay = getFirstAvailableDay(updatedDays, availability);\n\t\t// 3.1 En caso de que no encuentre un día en el mes en curso, devolvemos null para que handleChangeOfMonth se\n\t\t// ocupe de cargar el siguiente mes.\n\t\tif (!firstAvailableDay) {\n\t\t\treturn {updatedMonthDays: null, selectedDay: null};\n\t\t}\n\t\t// 4. Cambiar el estado del primer dia activo\n\t\tconst {updatedMonthDays, selectedDay} = handleChangeActiveDay(updatedDays, firstAvailableDay);\n\t\t// 5. Carga de los horarios del dia seleccionado\n\t\thandleChangeInSelectedDay(firstAvailableDay);\n\n\t\treturn {updatedMonthDays, selectedDay};\n\t};\n\n\t/**\n\t * Genera los dias del calendario para el mes y año seleccionado.\n\t * @param monthNumber\n\t * @param yearNumber\n\t */\n\tconst createMonthDays = (monthNumber: string, yearNumber: string): Day[] => {\n\t\tconst firstDayOfMonth = dayjs()\n\t\t\t.year(Number(yearNumber))\n\t\t\t.month(Number(monthNumber) - 1)\n\t\t\t.date(1);\n\n\t\tconst daysInMonth = dayjs()\n\t\t\t.year(Number(yearNumber))\n\t\t\t.month(Number(monthNumber) - 1)\n\t\t\t.daysInMonth();\n\n\t\tconst firstDayInweek = firstDayOfMonth.format('d'); // The day of the week, with Sunday as 0\n\n\t\tlet days: Day[] = [];\n\n\t\t// Se genera una array con espacios vacios para rellenar la primera fila del calendario. Ej: Si el primer día\n\t\t// del mes cae en domingo, se genera una array con 6 espacios vacios, donde el 7º día será el domingo.\n\t\tif (firstDayInweek === '0') {\n\t\t\tdays = new Array(6).fill('');\n\t\t} else {\n\t\t\tdays = new Array(parseInt(firstDayInweek) - 1).fill('');\n\t\t}\n\n\t\tlet day = firstDayOfMonth;\n\n\t\tfor (let i = 1; i <= daysInMonth; i++) {\n\t\t\tlet date = getYYYYMMDD(`${yearNumber}-${monthNumber}-${day.format('D')}`); // YYYY - MM - DD\n\t\t\tconst dayNumber = day.format('D'); // 1 - 31\n\t\t\tconst dayOfTheWeek = day.format('d'); // 0 - 6\n\t\t\tlet newDay: Day = {\n\t\t\t\tdayNumber,\n\t\t\t\tdayOfTheWeek,\n\t\t\t\tdate,\n\t\t\t\tdisabled: null,\n\t\t\t\tactive: false,\n\t\t\t};\n\t\t\tdays.push(newDay);\n\t\t\tday = day.add(1, 'day');\n\t\t\tnewDay = null;\n\t\t\tdate = null;\n\t\t}\n\t\treturn days;\n\t};\n\n\t/**\n\t * Devuelve los días generados con la propiedad disabled actualizada, según\n\t * si el día está disponible o no. Si el dealer tiene dms el día estará disponible\n\t * en caso de que también lo esté en el availability. Para el resto de casos se siguen las\n\t * normas de la función checkIfDayIsDisabled.\n\t *\n\t * @param days\n\t * @param availability\n\t */\n\tconst getDisabledDays = (days: Day[], availability: Availability): Day[] => {\n\t\tlet updatedDays: Day[];\n\n\t\t// FLUJO CON DMS\n\t\tif (availability && availability.content && availability.content.calendar && calendarHasNoProblems(availability)) {\n\t\t\tconst availableDates = availability.content.calendar.map((calendarDay) => calendarDay.date);\n\t\t\tupdatedDays = days.map((day) => {\n\t\t\t\t// Days contiene strings vacías.\n\t\t\t\tif (typeof day === 'object') {\n\t\t\t\t\tconst foundDate = availableDates.find((date) => date === day.date);\n\t\t\t\t\tday.disabled = !foundDate || checkIfDayIsDisabled(day.date) ? true : false;\n\t\t\t\t\treturn day;\n\t\t\t\t}\n\t\t\t\treturn day;\n\t\t\t});\n\t\t} else {\n\t\t\t// FLUJO SIN DMS\n\t\t\tupdatedDays = days.map((day) => {\n\t\t\t\t// Days contiene strings vacías.\n\t\t\t\tif (typeof day === 'object') {\n\t\t\t\t\tday.disabled = checkIfDayIsDisabled(day.date) ? true : false;\n\t\t\t\t}\n\t\t\t\treturn day;\n\t\t\t});\n\t\t}\n\t\treturn updatedDays;\n\t};\n\n\t/**\n\t *\n\t * Las reglas para desactivar un día son:\n\t * Si el día ya ha pasado o es el mismo día (no pueden ofrecer cita para el mismo día).\n\t * Si es domingo en todos los casos.\n\t * Si es sábado y no tiene DMS.\n\t *\n\t * @param date Se necesita la fecha en formato YYYY-MM-DD\n\t */\n\tconst checkIfDayIsDisabled = (date: string): boolean => {\n\t\tconst actualDay = year_MonthNumber_DayNumber();\n\t\tconst dayOfTheWeek = dayjs(date).format('d');\n\t\tconst isPastOrSameDate = dayjs(date).isSameOrBefore(actualDay);\n\t\tconst disableSaturday = dayOfTheWeek === '6' && !dmsAvailable;\n\t\tconst disableSunday = dayOfTheWeek === '0';\n\n\t\tif (isPastOrSameDate || disableSaturday || disableSunday) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\n\t/**\n\t * Función para comprobar si, aunque el calendario retorne una array con slots, estos son recientes.\n\t * En el caso de \"Binefar\" devuelve una array a fecha de 1/1/1970, por lo que comprobamos si las fechas son\n\t * anteriores a una fecha ya pasada aleatoria como el 1/1/2021 para eliminar estos casos.\n\t * @param availability\n\t */\n\tconst calendarHasNoProblems = (availability: Availability): boolean => {\n\t\tconst msForReference = dayjs('2021-01-01', 'YYYY-MM-DD').locale('es').utc().format('x');\n\n\t\tif (availability && availability.content && availability.content.calendar) {\n\t\t\tconst badFormattedDay = availability.content.calendar.find((calendarDay) => {\n\t\t\t\tconst dateInMs = dayjs(calendarDay.date, 'YYYY-MM-DD').locale('es').utc().format('x');\n\t\t\t\tif (msForReference > dateInMs) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (badFormattedDay) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t};\n\n\t/**\n\t * Función para obtener el primer dia activo en el calendario.\n\t * En caso de que la concesión disponga de DMS se busca el primer día que tenga slots disponible en cualquiera de los turnos.\n\t * En caso de que no encuentre ninguno o no tenga DMS, fija el primer dia que no esté desactivado.\n\t *\n\t * @param monthDays\n\t * @param availability\n\t */\n\tconst getFirstAvailableDay = (monthDays: Day[], availability: Availability): Day => {\n\t\tlet firstDay: Day;\n\n\t\t//Flujo con DMS\n\t\tif (availability && availability.content && availability.content.calendar && calendarHasNoProblems(availability)) {\n\t\t\tfor (const dayCalendar of availability.content.calendar) {\n\t\t\t\tconst horarios = sortSlotsByHour(dayCalendar);\n\n\t\t\t\tif (horario === 'morning' && horarios.manana.length > 0) {\n\t\t\t\t\tfirstDay = setFirstDay(monthDays, dayCalendar);\n\t\t\t\t\tbreak;\n\t\t\t\t} else if (horario === 'afternon' && horarios.mediodia.length > 0) {\n\t\t\t\t\tfirstDay = setFirstDay(monthDays, dayCalendar);\n\t\t\t\t\tbreak;\n\t\t\t\t} else if (horario === 'evening' && horarios.tarde.length > 0) {\n\t\t\t\t\tfirstDay = setFirstDay(monthDays, dayCalendar);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t// Flujo sin DMS\n\t\tif (!firstDay) {\n\t\t\tfirstDay = monthDays.find((day) => day.disabled === false);\n\t\t}\n\n\t\treturn firstDay;\n\t};\n\n\t/**\n\t * Reparte los slots del calendario en mañana, mediodía y tarde, además de eliminar arrays vacías para evitar posibles errores.\n\t *\n\t * @param calendar\n\t */\n\tconst sortSlotsByHour = (calendar: Calendar): SlotsHorarios => {\n\t\t// Se elige un dia aleatorio (1/1/1999) ya que se comparan horas del mismo dia y este es irrelevante.\n\n\t\tconst manana = calendar.slots\n\t\t\t.filter((slot: CalendarSlot) => checkIfMorning(getNormalizedDate(slot.hour)))\n\t\t\t.sort((a, b) => a.from - b.from);\n\t\tconst mediodia = calendar.slots\n\t\t\t.filter((slot: CalendarSlot) => checkIfMidDay(getNormalizedDate(slot.hour)))\n\t\t\t.sort((a, b) => a.from - b.from);\n\t\tconst tarde = calendar.slots\n\t\t\t.filter((slot: CalendarSlot) => checkIfEvening(getNormalizedDate(slot.hour)))\n\t\t\t.sort((a, b) => a.from - b.from);\n\t\treturn {manana, mediodia, tarde};\n\t};\n\n\tconst setFirstDay = (monthDays: Day[], dayCalendar: Calendar) => {\n\t\tconst monthDay = monthDays.find((day) => day.date === dayCalendar.date);\n\n\t\tif (monthDay && !monthDay.disabled) {\n\t\t\treturn monthDay;\n\t\t}\n\t\treturn null;\n\t};\n\n\t/**\n\t * Función que se encarga de cargar los horarios del availability según el dia seleccionado.\n\t * @param day\n\t * @param isClick es false en la carga del calendario, ya que no hace falta volver a llamar a la función handleChangeActiveDay.\n\t */\n\tconst handleChangeInSelectedDay = (day: Day, isClick?: boolean) => {\n\t\tif (isClick) {\n\t\t\tconst {updatedMonthDays} = handleChangeActiveDay(monthDays, day);\n\t\t\tsetMonthDays(updatedMonthDays);\n\t\t\tsetSelectedDay(day.date);\n\t\t}\n\n\t\tif (!availabilityRef.current || !availabilityRef.current.content || !availabilityRef.current.content.calendar) {\n\t\t\treturn;\n\t\t}\n\t\tlet calendar: Calendar = availabilityRef.current.content.calendar.find((calendarDate) => {\n\t\t\treturn day.date === calendarDate.date;\n\t\t});\n\n\t\tif (calendar) {\n\t\t\tcalendar.slots = calendar.slots.sort((a, b) => a.from - b.from);\n\t\t\tconst horarios = sortSlotsByHour(calendar);\n\t\t\tconst selectedSlot = getSelectedSlot(calendar, horarios);\n\t\t\tsetCalendar(calendar);\n\t\t\tsetHorarios(horarios);\n\t\t\tsetSelectedSlot(selectedSlot);\n\t\t\tif (calendar.slots.length > 1) {\n\t\t\t\t// selectedCalendar.slots[0].map();\n\t\t\t}\n\t\t} else {\n\t\t\tsetCalendar(null);\n\t\t\tsetHorarios(null);\n\t\t\tsetSelectedSlot(null);\n\t\t}\n\t};\n\n\tconst getSelectedSlot = (selectedCalendar: Calendar, horarios: SlotsHorarios) => {\n\t\tif (horario === 'morning') {\n\t\t\treturn horarios.manana[0];\n\t\t} else if (horario === 'afternon' && horarios.mediodia.length > 0) {\n\t\t\treturn horarios.mediodia[0];\n\t\t} else if (horario === 'evening' && horarios.tarde.length > 0) {\n\t\t\treturn horarios.tarde[0];\n\t\t}\n\t\treturn selectedCalendar.slots[0];\n\t};\n\n\tconst handleNextMonthYear = (e: any) => {\n\t\te.preventDefault();\n\t\tif (monthOffset === 2) {\n\t\t\treturn;\n\t\t}\n\t\thandleChangeOfMonth(monthOffset + 1);\n\t\t// setMonthOffset(monthOffset + 1);\n\t};\n\n\tconst handlePreviousMonthYear = (e: any) => {\n\t\te.preventDefault();\n\n\t\tif (monthOffset === 0) {\n\t\t\treturn;\n\t\t}\n\t\thandleChangeOfMonth(monthOffset - 1);\n\t\t// setMonthOffset(monthOffset - 1);\n\t};\n\n\tconst getDates = (monthOffset: number) => {\n\t\tconst currentMonth = dayjs().add(monthOffset, 'month').locale('es').format('MMMM');\n\t\tconst nextMonth = dayjs()\n\t\t\t.add(monthOffset + 1, 'month')\n\t\t\t.locale('es')\n\t\t\t.format('MMMM');\n\t\tconst currentMonthNumber = dayjs().add(monthOffset, 'month').format('M');\n\t\tconst yearNumber = dayjs().add(monthOffset, 'month').format('YYYY');\n\n\t\treturn {currentMonth, nextMonth, currentMonthNumber, yearNumber};\n\t};\n\n\tuseEffect(() => {\n\t\tlet monthCapitalize = month.charAt(0).toUpperCase() + month.slice(1);\n\t\tswitch (monthCapitalize) {\n\t\t\tcase 'Enero':\n\t\t\t\tsetPreviousMonth('Diciembre');\n\t\t\t\tbreak;\n\t\t\tcase 'Febrero':\n\t\t\t\tsetPreviousMonth('Enero');\n\t\t\t\tbreak;\n\t\t\tcase 'Marzo':\n\t\t\t\tsetPreviousMonth('Febrero');\n\t\t\t\tbreak;\n\t\t\tcase 'Abril':\n\t\t\t\tsetPreviousMonth('Marzo');\n\t\t\t\tbreak;\n\t\t\tcase 'Mayo':\n\t\t\t\tsetPreviousMonth('Abril');\n\t\t\t\tbreak;\n\t\t\tcase 'Junio':\n\t\t\t\tsetPreviousMonth('Mayo');\n\t\t\t\tbreak;\n\t\t\tcase 'Julio':\n\t\t\t\tsetPreviousMonth('Junio');\n\t\t\t\tbreak;\n\t\t\tcase 'Agosto':\n\t\t\t\tsetPreviousMonth('Julio');\n\t\t\t\tbreak;\n\t\t\tcase 'Septiembre':\n\t\t\t\tsetPreviousMonth('Agosto');\n\t\t\t\tbreak;\n\t\t\tcase 'Octubre':\n\t\t\t\tsetPreviousMonth('Septiembre');\n\t\t\t\tbreak;\n\t\t\tcase 'Noviembre':\n\t\t\t\tsetPreviousMonth('Octubre');\n\t\t\t\tbreak;\n\t\t\tcase 'Diciembre':\n\t\t\t\tsetPreviousMonth('Noviembre');\n\t\t\t\tbreak;\n\t\t}\n\t}, [month]);\n\n\tconst setVariables = (\n\t\tmonthOffset: number,\n\t\tcurrentMonth: string,\n\t\tcurrentMonthNumber: string,\n\t\tnextMonth: string,\n\t\tyear: string,\n\t) => {\n\t\tsetMonthOffset(monthOffset);\n\t\tsetMonth(currentMonth);\n\t\tsetMonthNumber(currentMonthNumber);\n\t\tsetNextMonth(nextMonth);\n\t\tsetYearNumber(year);\n\t};\n\n\tconst handleSelectedSlot = (slot: CalendarSlot[]) => {\n\t\tsetSelectedSlot(slot);\n\t};\n\n\tconst handleFranjaHoraria = (franjaHoraria: string) => {\n\t\tsetSelectedFranjaHoraria(franjaHoraria);\n\t};\n\n\tconst handleChangeActiveDay = (monthDays: Day[], day: Day): {updatedMonthDays: Day[]; selectedDay: string} => {\n\t\tif (day) {\n\t\t\tconst updatedMonthDays = monthDays.map((monthDay) => {\n\t\t\t\tif (monthDay.dayNumber === day.dayNumber && !day.active) {\n\t\t\t\t\tmonthDay.active = true;\n\t\t\t\t} else if (monthDay.active && monthDay.dayNumber !== day.dayNumber) {\n\t\t\t\t\tmonthDay.active = false;\n\t\t\t\t}\n\t\t\t\treturn monthDay;\n\t\t\t});\n\n\t\t\treturn {updatedMonthDays, selectedDay: day.date};\n\t\t} else {\n\t\t\tconst tomorrow = dayjs().add(1, 'day').format('YYYY-MM-DD');\n\n\t\t\treturn {updatedMonthDays: monthDays, selectedDay: tomorrow};\n\t\t}\n\t};\n\n\treturn selectedPoint ? (\n\t\t<>\n\t\t\t{!isCalculadoraFirstStep && preselectedDealerForm ? : null}\n\t\t\t\n\t\t\t\t{isCalculadoraFirstStep ? (\n\t\t\t\t\t\n\t\t\t\t) : preselectedDealerForm ? (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\thandleHideCalendarOnClick();\n\t\t\t\t\t\t\t\t\t// Hack para contabilizar en analítica los usuarios que vuelven desde el calendario al mapa.\n\t\t\t\t\t\t\t\t\ttrackingManager.trackFormStepLoad(\n\t\t\t\t\t\t\t\t\t\t{},\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tFormStart: false,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t{StepName: 'MapSearch'},\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tIr al mapa\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{preselectedDealerForm ? (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t¿Cuándo prefieres pasar por el{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttaller?*\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t¿Cuándo prefieres pasar por el{' '}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttaller?*\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{dmsAvailable ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tSelecciona la fecha y la hora de tu visita.\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{userIsGeoLocated ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{getDistanceFromLatLngCenter(center, selectedPoint) === '0.0' ? null : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{distanceFromCenter\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? distanceFromCenter\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: getDistanceFromLatLngCenter(center, selectedPoint)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkm\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t{address}, {zipCode} {city}\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{previousMonth}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{month} {yearNumber}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{nextMonth}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{daysOfTheWeek.map((day, index) => {\n\t\t\t\t\t\t\t\t\t\t\tif (index > 4) {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{day}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{day}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\t{monthDays && !loading ? (\n\t\t\t\t\t\t\t\t\t\t\tmonthDays.map((day, i) => {\n\t\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (!day.disabled) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tif (tabsRef && tabsRef.current) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttabsRef.current.scrollIntoView({behavior: 'smooth'});\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// const { updatedMonthDays, selectedDay } = handleChangeActiveDay(monthDays, day);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// setMonthDays(updatedMonthDays);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t// setSelectedDay(selectedDay);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleChangeInSelectedDay(day, true);\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tactive={day.active}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisabled={day.disabled}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"day-wrapper\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{day.dayNumber}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\tloading...\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{dmsAvailable ? (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tdmsAvailable\n\t\t\t\t\t\t\t\t\t\t\t\t? handleDmsMapExit(selectedSlot, selectedPoint)\n\t\t\t\t\t\t\t\t\t\t\t\t: handleNoDmsMapExit(selectedFranjaHoraria, selectedDay, selectedPoint);\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\tariaLabel=\"aria label\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tSeleccionar\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t\n\t) : null;\n}\n","import {\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\n\nimport React, { useEffect } from 'react';\nimport { Horario } from 'src/types';\n\ninterface FranjaHorariaProps {\n selectedFranjaHoraria: string;\n handleFranjaHoraria: (s: string) => void;\n horario: Horario;\n}\n\nexport function FranjaHoraria(props: FranjaHorariaProps) {\n const { handleFranjaHoraria, selectedFranjaHoraria, horario } = props;\n\n useEffect(() => {\n if (horario === 'afternon') {\n handleFranjaHoraria('Mediodía');\n } else if (horario === 'evening') {\n handleFranjaHoraria('Tarde');\n } else {\n handleFranjaHoraria('Mañana');\n }\n }, []);\n\n return (\n \n \n Selecciona una franja horaria\n \n \n {\n e.preventDefault();\n handleFranjaHoraria('Mañana');\n }}\n >\n Mañana\n \n {\n e.preventDefault();\n handleFranjaHoraria('Mediodía');\n }}\n >\n Mediodía\n \n {\n e.preventDefault();\n handleFranjaHoraria('Tarde');\n }}\n >\n Tarde\n \n \n \n );\n}\n","import React from 'react';\nimport {\n Container,\n Text,\n ContainerGutter,\n TextAlignment,\n styled,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport { CalendarSlot } from 'src/types';\n\ninterface hourWrapperProps {\n selected: any;\n}\n\nconst HourWrapper = styled.div`\n width: 68px;\n height: 33px;\n border: ${(props) => (props.selected ? '1px solid #001E50' : '1px solid #DFE4E8')};\n background-color: ${(props) => (props.selected ? '#001E50' : null)};\n color: ${(props) => (props.selected ? '#FFFFFF' : '#001E50')};\n border-radius: 16px;\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\ninterface slotsHorarioProps {\n avaiableHours: CalendarSlot[];\n // selectedHourIndex: number;\n handleSelectedSlot: any;\n selectedSlot: CalendarSlot;\n}\n\nexport const SlotsHorario = (props: slotsHorarioProps) => {\n const { avaiableHours, handleSelectedSlot, selectedSlot } = props;\n\n const checkIfHourIsSelected = (slot: CalendarSlot) => {\n if (selectedSlot) {\n return slot.from === selectedSlot.from ? true : false;\n }\n return false;\n };\n\n return (\n \n {avaiableHours && avaiableHours.length > 0 ? (\n avaiableHours.map((slot: CalendarSlot, i) => {\n return (\n {\n e.preventDefault();\n handleSelectedSlot(slot, i);\n }}\n key={slot.from}\n selected={checkIfHourIsSelected(slot)}\n >\n \n {slot.hour.slice(0, 5)}\n \n \n );\n })\n ) : (\n \n No hay horas disponibles en esta franja.\n \n )}\n \n );\n};\n","import { Container, ContainerPadding, styled, Tabs, Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { SlotsHorarios } from './CalendarioCita';\nimport { CalendarSlot } from 'src/types';\nimport { SlotsHorario } from '.';\nimport { checkIfEvening, checkIfMidDay, checkIfMorning } from '../NewMap';\n\nconst TabsWrapper = styled.div`\n ul {\n margin: 5px;\n width: 86vw;\n\n @media screen and (min-width: 560px) {\n width: 76vw;\n }\n @media screen and (min-width: 960px) {\n width: 640px;\n }\n }\n`;\n\ninterface TabsHorariosProps {\n handleSelectedSlot: any;\n selectedSlot: CalendarSlot;\n horarios: SlotsHorarios;\n}\n\nexport function TabsHorario(props: TabsHorariosProps) {\n const { handleSelectedSlot, selectedSlot, horarios } = props;\n\n const [defaultIndex, setDefaultIndex] = useState(0);\n\n useEffect(() => {\n if (selectedSlot) {\n const defaultIndex = handleDefaultTabIndex(selectedSlot);\n setDefaultIndex(defaultIndex);\n }\n }, [selectedSlot]);\n\n const handleDefaultTabIndex = (slot: CalendarSlot) => {\n const slotHour = new Date(`1/1/1999 ${slot.hour}`);\n\n if (checkIfMorning(slotHour)) {\n return 0;\n } else if (checkIfMidDay(slotHour)) {\n return 1;\n } else if (checkIfEvening(slotHour)) {\n return 2;\n }\n return 0;\n };\n\n return (\n \n {e.preventDefault()}}>\n {\n setDefaultIndex(index);\n }}\n >\n {{\n title: Mañana,\n content: (\n \n \n \n ),\n key: 'a',\n }}\n {{\n title: Mediodía,\n content: (\n \n \n \n ),\n key: 'b',\n }}\n {{\n title: Tarde,\n content: (\n \n \n \n ),\n key: 'c',\n }}\n \n \n \n );\n}\n","import { styled, BreakpointWrapper, Breakpoints, ThemeProvider } from '@volkswagen-onehub/components-core';\nimport { CloseButton, AnteriorCTA } from 'src/components';\nimport React from 'react';\n\n\nconst CloseDiv = styled.div`\n padding: 24px 20px 20px;\n color: #001E50;\n background-color: #FFFFFF;\n margin-bottom: -2px;\n display: flex;\n justify-content: space-between;\n @media all and (min-width: 560px) {\n padding: 24px 0 0;\n display: flex;\n justify-content: center;\n align-items: center;\n width: var(--size-grid002);\n position: fixed;\n top: 0;\n color: #FFFFFF;\n background-color: transparent;\n margin-bottom: 0;\n }\n @media all and (min-width: 960px) {\n width: 80px;\n }\n`;\n\n\nexport const CloseInDealerCalendar = () => {\n\n return (\n \n \n \n \n \n \n \n \n );\n};\n","import {\n\tBreakpoints,\n\tBreakpointWrapper,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\n\nexport const CTAsSiNo = [\n\t{\n\t\tlabel: 'Sí',\n\t\tvalue: 'true'\n\t},\n\t{\n\t\tlabel: 'No',\n\t\tvalue: 'false'\n\t},\n];\nexport const CTAsSiNoSinRespuesta = [\n\t{\n\t\tlabel: 'Sí',\n\t\tvalue: '1'\n\t},\n\t{\n\t\tlabel: 'No',\n\t\tvalue: '2'\n\t},\n\t{\n\t\tlabel: 'Sin respuesta',\n\t\tvalue: '9'\n\t},\n];\n\nexport const contactoOptionsTurismos = [\n\t{\n\t\tlabel: 'Whatsapp',\n\t\tvalue: 'Whatsapp',\n\t},\n\t{\n\t\tlabel: 'Teléfono',\n\t\tvalue: 'Telefono',\n\t},\n\t{\n\t\tlabel: 'Email',\n\t\tvalue: 'Email',\n\t},\n];\n\nexport const contactoOptionsComerciales = [\n\t{\n\t\tlabel: 'Teléfono',\n\t\tvalue: 'Telefono',\n\t},\n\t{\n\t\tlabel: 'Email',\n\t\tvalue: 'Email',\n\t},\n];\n\nexport const CTAsHorario = [\n\t{\n\t\tlabel: 'Por la mañana',\n\t\tvalue: 'morning'\n\t},\n\t{\n\t\tlabel: 'Al mediodía',\n\t\tvalue: 'afternon'\n\t},\n\t{\n\t\tlabel: 'Por la tarde',\n\t\tvalue: 'evening'\n\t},\n];\n\nexport const CTAsDudas = [\n\t{\n\t\tlabel: 'Los plazos de entrega',\n\t\tvalue: 'plazos'\n\t},\n\t{\n\t\tlabel: 'Tu visita al punto de venta',\n\t\tvalue: 'experiencia'\n\t},\n\t{\n\t\tlabel: 'El precio del modelo',\n\t\tvalue: 'precio'\n\t},\n\t{\n\t\tlabel: 'El equipamiento y los asistentes adicionales',\n\t\tvalue: 'equipamiento'\n\t},\n\t{\n\t\tlabel: 'El consumo del modelo',\n\t\tvalue: 'consumo'\n\t},\n\t{\n\t\tlabel: 'La garantía del modelo',\n\t\tvalue: 'garantia'\n\t},\n\t{\n\t\tlabel: 'Las condiciones de financiación',\n\t\tvalue: 'financiación'\n\t},\n\t{\n\t\tlabel: 'La situación actual',\n\t\tvalue: 'situacion'\n\t},\n\t{\n\t\tlabel: 'Otros motivos',\n\t\tvalue: 'otros'\n\t},\n];\n\n//SAC\n\nexport const contactoOptionsSAC = [\n\t{\n\t\tlabel: 'Email',\n\t\tvalue: 'EMAIL',\n\t},\n\t{\n\t\tlabel: 'Teléfono',\n\t\tvalue: 'TELEFONO',\n\t},\n\t/* {\n\t\tlabel: 'Correo postal',\n\t\tvalue: 'POSTAL',\n\t }, */\n\t{\n\t\tlabel: 'Whatsapp',\n\t\tvalue: 'WHATSAPP',\n\t},\n];\n\n// CEM ONESHOP\n\nexport const ctaPruebaTCross = [\n\t{\n\t\tlabel: 'Sí',\n\t\tvalue: 'true'\n\t},\n\t{\n\t\tlabel: 'No',\n\t\tvalue: 'false'\n\t},\n\t{\n\t\tlabel: 'No, pero me lo ofrecieron',\n\t\tvalue: 'No, pero me lo ofrecieron'\n\t},\n];\n","import React from 'react';\n\n//Navidad 2021\n\nexport const CTAsDisfrutarID4 = [\n {\n label: 'Será mi primera experiencia eléctrica',\n value: 'PrimeraExperiencia',\n },\n {\n label: 'Comprobar la duración de la batería',\n value: 'DuraciónBateria',\n },\n {\n label: 'Valorar el consumo y la facilidad de carga',\n value: 'ConsumoCarga',\n },\n {\n label: 'Conducir un coche sostenible',\n value: 'Sostenibilidad',\n },\n {\n label: 'Otros',\n value: 'Otros',\n },\n];\n\n//LANZAMIENTO TAIGO\n\nexport const CTAsTienesVolkswagen = [\n {\n label: 'Sí, lo tengo',\n value: 'Sí, lo tengo',\n },\n {\n label: 'Sí, lo tuve',\n value: 'Sí, lo tuve',\n },\n {\n label: 'No, nunca he tenido un Volkswagen.',\n value: 'No, nunca he tenido un Volkswagen.',\n },\n];\n\nexport const CTAsDesplazamientoTaigo = [\n {\n label: 'En mi coche',\n value: 'mi coche',\n },\n {\n label: 'En transporte público',\n value: 'transporte público',\n },\n {\n label: 'Con carsharing',\n value: 'carsharing',\n },\n {\n label: 'Otro',\n value: 'otro',\n },\n];\n\nexport const CTAsMotivacionCompraTaigo = [\n {\n label: 'Su diseño deportivo e innovador',\n value: 'diseño',\n },\n {\n label: 'El alto nivel de equipamiento',\n value: 'equipamiento',\n },\n {\n label: 'Que además de SUV es coupé',\n value: 'suv/coupe',\n },\n {\n label: '¡Tengo otros motivos!',\n value: 'otro',\n },\n];\n\nexport const CTAsOtroModeloTaigo = [\n {\n label: 'Sí, tengo otros.',\n value: 'true',\n },\n {\n label: 'No, con ninguno.',\n value: 'false',\n },\n];\n","import React from 'react';\n\n//Cita posventa\n\nexport const kilometrosValues = [\n '0km - 30.000km',\n '30.000km - 60.000km',\n '60.000km - 90.000km',\n '90.000km - 120.000km',\n '120.000km - 150.000km',\n '150.000km - 180.000km',\n 'Más de 180.000km',\n 'No estoy seguro',\n];\n\nexport const kilometrosComercialesValues = [\n '0km - 50.000km',\n '50.000km - 100.000km',\n '100.000km - 150.000km',\n '150.000km - 200.000km',\n '200.000km - 250.000km',\n '250.000km - 300.000km',\n '300.000km - 350.000km',\n 'Más de 400.000km',\n 'No estoy seguro',\n];\n\nexport const millageValues = [\n [0, 30000],\n [30000, 60000],\n [60000, 90000],\n [90000, 120000],\n [120000, 150000],\n [150000, 180000],\n [180000, 210000],\n];\n\nexport const millageComercialesValues = [\n [0, 50000],\n [50000, 100000],\n [100000, 150000],\n [150000, 200000],\n [200000, 250000],\n [250000, 300000],\n [300000, 350000],\n [350000, 400000],\n];\n\nexport const getKilometrosInfo = (isComerciales: boolean) => {\n if (isComerciales) {\n return { kilometrosValues: kilometrosComercialesValues, millageValues: millageComercialesValues };\n }\n return { kilometrosValues, millageValues };\n};\n\nexport const franjaHoraria = [\n { code: 'MANANA', name: ' por la mañana' },\n { code: 'MEDIODIA', name: ' al mediodía' },\n { code: 'TARDE', name: ' por la tarde' },\n];\n\nexport const meses = [\n {\n name: 'Enero',\n number: '01',\n },\n {\n name: 'Febrero',\n number: '02',\n },\n {\n name: 'Marzo',\n number: '03',\n },\n {\n name: 'Abril',\n number: '04',\n },\n {\n name: 'Mayo',\n number: '05',\n },\n {\n name: 'Junio',\n number: '06',\n },\n {\n name: 'Julio',\n number: '07',\n },\n {\n name: 'Agosto',\n number: '08',\n },\n {\n name: 'Septiembre',\n number: '09',\n },\n {\n name: 'Octubre',\n number: '10',\n },\n {\n name: 'Noviembre',\n number: '11',\n },\n {\n name: 'Diciembre',\n number: '12',\n }\n];\n","function isDynamicTokenSubtree(subtree) {\n return !Array.isArray(subtree) && typeof subtree !== 'string';\n}\nexport function getDynamicTokens(tokens, path) {\n return Object.keys(tokens).reduce((result, key) => {\n const newPath = path ? `${path}.${key}` : key;\n const currentToken = tokens[key];\n if (Array.isArray(currentToken)) {\n currentToken.forEach((dynamic) => {\n result[dynamic.breakpoint] = result[dynamic.breakpoint] || {};\n result[dynamic.breakpoint] = Object.assign(Object.assign({}, result[dynamic.breakpoint]), { [newPath]: dynamic.value });\n });\n return result;\n }\n if (isDynamicTokenSubtree(currentToken)) {\n const subtreeResults = getDynamicTokens(currentToken, newPath);\n Object.keys(subtreeResults).forEach((breakpoint) => {\n result[breakpoint] = Object.assign(Object.assign({}, (result[breakpoint] || {})), subtreeResults[breakpoint]);\n });\n return result;\n }\n return result;\n }, {});\n}\n","import * as React from 'react';\nimport { normalize } from 'styled-normalize';\nimport { createGlobalStyle } from 'styled-components';\nimport { styled, css } from '../theme-provider';\nimport { getMediaQueryVars } from '../theme-provider/get-media-query-vars';\nimport { getCommonProps } from '../helpers/common-props';\nimport { mainThemeColors } from '@volkswagen-onehub/tokens';\nconst GlobalStyle = createGlobalStyle `${normalize};b,strong{font-weight:bold;}`;\n// Please do not import this const. It is meant to be used internally only.\nexport const _fontFamilyStyles = css `--font-family-head:vw-head,Helvetica,Arial,sans-serif;--font-family-text:vw-text,Helvetica,Arial,sans-serif;:lang(ko),:lang(zh),:lang(zh-tw),:lang(ja),:lang(ar){font-style:normal;}:lang(ko){--font-family-head:vw-head,Apple SD Gothic Neo,BonGothic,\\uB9D1\\uC740 \\uACE0\\uB515,Malgun Gothic,\\uAD74\\uB9BC,Gulim,\\uB3CB\\uC6C0,Dotum,Helvetica Neue,Helvetica,Arial,sans-serif;--font-family-text:vw-text,Apple SD Gothic Neo,BonGothic,\\uB9D1\\uC740 \\uACE0\\uB515,Malgun Gothic,\\uAD74\\uB9BC,Gulim,\\uB3CB\\uC6C0,Dotum,Helvetica Neue,Helvetica,Arial,sans-serif;word-break:keep-all;hyphens:auto;}:lang(zh){--font-family-head:vw-head,\\u534E\\u6587\\u7EC6\\u9ED1,STXihei,PingFang TC,\\u5FAE\\u8F6F\\u96C5\\u9ED1\\u4F53,Microsoft YaHei New,\\u5FAE\\u8F6F\\u96C5\\u9ED1,Microsoft Yahei,\\u5B8B\\u4F53,SimSun,Helvetica Neue,Helvetica,Arial,sans-serif;--font-family-text:vw-text,\\u534E\\u6587\\u7EC6\\u9ED1,STXihei,PingFang TC,\\u5FAE\\u8F6F\\u96C5\\u9ED1\\u4F53,Microsoft YaHei New,\\u5FAE\\u8F6F\\u96C5\\u9ED1,Microsoft Yahei,\\u5B8B\\u4F53,SimSun,Helvetica Neue,Helvetica,Arial,sans-serif;}:lang(zh-tw){--font-family-head:vw-head,Helvetica Neue,Helvetica,Arial,sans-serif;--font-family-text:vw-text,Helvetica Neue,Helvetica,Arial,sans-serif;}:lang(ja){--font-family-head:vw-head,\\u30D2\\u30E9\\u30AD\\u3099\\u30CE\\u89D2\\u30B3\\u3099 Pro W3,Hiragino Kaku Gothic Pro,Osaka,\\u30E1\\u30A4\\u30EA\\u30AA,Meiryo,MS P\\u30B3\\u3099\\u30B7\\u30C3\\u30AF,MS PGothic,Helvetica Neue,Helvetica,Arial,sans-serif;--font-family-text:vw-text,\\u30D2\\u30E9\\u30AD\\u3099\\u30CE\\u89D2\\u30B3\\u3099 Pro W3,Hiragino Kaku Gothic Pro,Osaka,\\u30E1\\u30A4\\u30EA\\u30AA,Meiryo,MS P\\u30B3\\u3099\\u30B7\\u30C3\\u30AF,MS PGothic,Helvetica Neue,Helvetica,Arial,sans-serif;}:lang(vi){--font-family-head:roboto-vi,Helvetica Neue,Helvetica,Arial,sans-serif;--font-family-text:roboto-vi,Helvetica Neue,Helvetica,Arial,sans-serif;}:lang(ar){--font-family-head:vw-head,vw-head-ar,Helvetica Neue,Helvetica,Arial,sans-serif;--font-family-text:vw-text,vw-text-ar,Helvetica Neue,Helvetica,Arial,sans-serif;}font-family:var(--font-family-text);`;\nexport const StyledIntegratorRoot = styled.div.withConfig({ displayName: \"StyledIntegratorRoot\", componentId: \"sc-7fx0kf\" }) `${_fontFamilyStyles} -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;*{box-sizing:border-box;}${getMediaQueryVars()};background-color:${() => mainThemeColors.background.primary};`;\nexport const IntegratorRoot = (props) => {\n const { language, children } = props;\n const commonProps = getCommonProps(props);\n return (React.createElement(StyledIntegratorRoot, Object.assign({ lang: language }, commonProps),\n React.createElement(GlobalStyle, null),\n children));\n};\n","import { compareBreakpoints } from '../helpers/breakpoint';\nimport { getDynamicTokens } from './dynamic-tokens';\nimport { createCSSVarName } from './create-css-var-name';\nimport { designTokens } from './example-design-tokens';\nexport function getMediaQueryVars(optionsOverride) {\n const tokens = optionsOverride\n ? optionsOverride.tokens\n : undefined;\n const dynamicTokens = getDynamicTokens(tokens || designTokens);\n return Object.keys(dynamicTokens)\n .sort(compareBreakpoints)\n .reduce((result, breakpoint) => {\n const styles = Object.keys(dynamicTokens[breakpoint]).reduce((cssVars, path) => `\n\t\t\t\t${cssVars}\n\t\t\t\t${createCSSVarName(path)}: ${dynamicTokens[breakpoint][path]};\n\t\t\t`, '');\n return breakpoint === '0'\n ? `${styles}\n\t\t\t\t\t${result}`\n : `${result}\n\t\t\t\t\t@media (min-width: ${breakpoint}) {\n\t\t\t\t\t\t${styles}\n\t\t\t\t\t}`;\n }, '');\n}\n","import { FeatureAppEnvironment } from '@feature-hub/core';\nimport { ThemeName, ThemeProvider, styled, IntegratorRoot } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React from 'react';\nimport { Provider } from 'react-redux';\nimport { Store } from 'redux';\nimport { FeatureAppEnvironmentContext } from 'src/feature-app/hooks/use-feature-app-environment';\nimport { OneFormContext, OneFormProvider } from './OneForm';\nimport { getSentryHub } from './sentry';\nimport ErrorBoundary from './sentry/ErrorBoundary';\n\ninterface LayerManagerWrapperProps {\n children: JSX.Element;\n theme?: ThemeName;\n store: Store;\n env: FeatureAppEnvironment;\n useOneFormContext?: any;\n close?: CloseHandleV2;\n}\n\nexport function LayerManagerWrapper({ children, theme, store, env, close }: LayerManagerWrapperProps) {\n const sentryHub = getSentryHub();\n\n return (\n \n \n \n \n \n {}} closeLayerCallback={() => {}}>\n {children}\n \n \n \n \n \n \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { Loader } from '@googlemaps/js-api-loader';\nimport { getGoogleApiKey } from 'src/bff';\n\nconst libraries = ['places'];\n\nexport default function LoadScriptInstance(props: any) {\n const [isLoaded, setIsLoaded] = useState(false);\n\n const loader = new Loader({\n apiKey: getGoogleApiKey(),\n libraries: ['places'],\n language: 'es',\n });\n\n useEffect(() => {\n const useLoader = async () => {\n const load = await loader.load();\n setIsLoaded(true);\n props.onMapLoad();\n };\n useLoader();\n }, []);\n\n return isLoaded ? props.children : null;\n}\n","import { BBox } from 'geojson';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { connect } from 'react-redux';\nimport { DealersData, Geometry, Installation, isDealerData, OneFormState, SelectedTab } from 'src/types';\nimport { Points } from 'src/types';\nimport { isGooglePlace, Suggestion } from 'src/feature-app/NewMap';\nimport { getGeometry, getPoints, getUserGeolocation, getUserSuggestion } from '../redux/selectors';\nimport { generateClusters } from 'src/feature-app/NewMap/generate-clusters';\nimport { getLocationOfDealerWithoutLoadInstance } from 'src/feature-app/NewMap/utils';\n\nexport const MapGeneralControllerContext = React.createContext(null);\nexport const useMapGeneralController = (): MapGeneralControllerMethods =>\n React.useContext(MapGeneralControllerContext) as MapGeneralControllerMethods;\n\ninterface MapGeneralControllerMethods {\n cardsDistanceRef: React.MutableRefObject;\n cardsTimeRef: React.MutableRefObject;\n centerInGeoLocatedCenter: () => void;\n centerMap: (newCenter: google.maps.LatLng) => void;\n centerToCalculateDistance: React.MutableRefObject;\n clusters: Points[];\n geoLocatedCenterRef: React.MutableRefObject;\n getNewClusters: () => void;\n handleApiLoaded: (map: google.maps.Map, maps: any) => void;\n handleChangeInMapZoom: (zoomIn: boolean) => void;\n handleClusterClick: (point: Points, isCluster?: boolean, recalculateClusters?: boolean) => void;\n handleHoverPoint: (p: Points) => void;\n handleMapMovement: () => void;\n handlePointClickAndCarouselMove: (p: Points, s?: boolean, preSelectedOrderValue?: SelectedTab) => void;\n handleSelectedPoint: (p: Points) => void;\n hoverPoint: Points;\n resetMap: () => void;\n mapHasMoved: boolean;\n mapMaxZoom: number;\n markerDimensions: MarkerDimensions;\n searchIsDealer: boolean;\n searchMoreDealers: () => void;\n moreDealersSearched: boolean;\n setMoreDealersSearched: React.Dispatch>;\n selectedPoint: Points;\n setSearchIsDealer: React.Dispatch>;\n superClusterRef: any;\n userIsGeoLocated: boolean;\n centerRef: React.MutableRefObject;\n}\nexport interface MarkerDimensions {\n width: number;\n height: number;\n}\n\nconst markerDimensions: MarkerDimensions = { width: 32, height: 44 };\nconst mapMaxZoom = 16;\n\nconst MapGeneralController = React.memo(\n (props: {\n children: JSX.Element;\n points: Points[];\n geometry: Geometry;\n userSuggestion: Suggestion;\n userGeolocation: Suggestion;\n dealer?: DealersData;\n skipMapMovementOnClick?: boolean;\n }) => {\n const { points, geometry, children, userSuggestion, userGeolocation, dealer, skipMapMovementOnClick } = props;\n // const { debug } = useOneFormContext(); // Causa de los rerenders\n const boundsRef = useRef(null);\n const zoomRef = useRef(null);\n const centerRef = useRef(null);\n const geoLocatedCenterRef = useRef(null);\n const centerToCalculateDistance = useRef(null);\n const mapRef = useRef(null);\n const mapsRef = useRef(null);\n const [selectedPoint, setSelectedPoint] = useState(null);\n const [hoverPoint, setHoverPoint] = useState(null);\n const [clusters, setClusters] = useState([]);\n const superClusterRef = useRef(null);\n const cardsTimeRef = useRef([]);\n const cardsDistanceRef = useRef([]);\n const [mapHasMoved, setMapHasMoved] = useState(false);\n const [searchIsDealer, setSearchIsDealer] = useState(null);\n const [userIsGeoLocated, setUserIsGeoLocated] = useState(null);\n const zoomListenerRef = useRef(null);\n const [moreDealersSearched, setMoreDealersSearched] = useState(null);\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n if (!userSuggestion) return;\n setMapHasMoved(false);\n if (isGooglePlace(userSuggestion)) {\n setSearchIsDealer(false);\n } else {\n setSearchIsDealer(true);\n\n // Hay que preseleccionar el dealer elegido\n if (points) {\n const selectedCluster = points.find((cluster) => { \n if (cluster.properties.dealer) {\n return (\n (!isGooglePlace(userSuggestion) && isDealerData(userSuggestion) &&\n cluster.properties.dealer.kvps === userSuggestion.kvps)\n ||\n (!isGooglePlace(userSuggestion) && !isDealerData(userSuggestion) &&\n cluster.properties.dealer.kvps === (userSuggestion as Installation).KVPSCode__c)\n );\n } else {\n return false;\n }\n });\n selectedCluster && handleSelectedPoint(selectedCluster);\n }\n\n }\n if (mapRef.current && mapsRef.current) {\n if (isGooglePlace(userSuggestion)) {\n initializeMapWithBounds(geometry.viewport);\n } else {\n if (geometry) {\n initalizeMapWithCenter(geometry.lat, geometry.lng);\n }\n }\n }\n }, [userSuggestion, points]);\n\n useEffect(() => {\n setMounted(true);\n return () => {\n mapRef.current = null;\n mapsRef.current = null;\n setMounted(false);\n };\n }, []);\n\n useEffect(() => {\n if (userGeolocation) {\n setUserIsGeoLocated(true);\n } else {\n setUserIsGeoLocated(false);\n geoLocatedCenterRef.current = null;\n }\n }, [userGeolocation]);\n\n const resetMap = () => {\n mapRef.current = null;\n mapsRef.current = null;\n };\n\n const handleApiLoaded = (map: google.maps.Map, maps: any) => {\n // En el caso de que se haya interactuado con el mapa y se oculte por alguna razón (calendario, filtros, etc),\n // se vuelve a crear una nueva instancia del mismo, perdiendo cualquier interacción creandose de nuevo el mapa\n // con la información inicial.\n if (!mapRef.current && !mapsRef.current) {\n mapRef.current = map;\n mapsRef.current = maps;\n\n window.map = map;\n window.maps = maps;\n setMapHasMoved(false);\n if (geometry && geometry.bounds) {\n // Caso de geolocalización o búsqueda de google\n initializeMapWithBounds(geometry.bounds);\n } else if (geometry && geometry.viewport) {\n // Caso de geolocalización o búsqueda de google\n initializeMapWithBounds(geometry.viewport);\n } else if (geometry && geometry.lat && geometry.lng) {\n // Caso dealer\n initalizeMapWithCenter(geometry.lat, geometry.lng);\n } else {\n // Caso Cita posventa Dealer. En este caso al no haber precargado el mapa anteriormente en el autosuggest no están las variables\n // de maps disponibles, por lo que se tienen que crear con el mapa que sea acaba de crear y sin usar LoadInstance.\n const { lat, lng } = getLocationOfDealerWithoutLoadInstance(dealer, maps);\n initalizeMapWithCenter(lat, lng);\n }\n setZoomListener(map, maps);\n } else {\n removeZoomListener(mapsRef.current);\n // Lógica para recrear el mapa antes de su ocultación.\n map.setCenter(centerRef.current);\n map.fitBounds(transformClusterBoundsToGoogleBounds(boundsRef.current));\n map.setZoom(zoomRef.current);\n\n mapRef.current = map;\n mapsRef.current = maps;\n setZoomListener(map, maps);\n }\n };\n\n const initializeMapWithBounds = (bounds: google.maps.LatLngBounds) => {\n handleSelectedPoint(null);\n // No debería ser necesario crear las siguientes variables, ya que con center y bounds funciona la primera carga.\n // Por alguna razón, después de seleccionar una cita y volver atrás da este error:\n // InvalidValueError: setCenter: not a LatLng or LatLngLiteral with finite coordinates: in property lat: not a number.\n // a pesar de que bounds es el mismo que en la primera carga y lat si que es un número.\n // Al calcular cada variable por separado no se produce este error.\n\n const { north, east, south, west } = getCardinalPoints(bounds);\n const sw = createLatLng(south, west);\n const ne = createLatLng(north, east);\n const newBounds = new mapsRef.current.LatLngBounds(sw, ne);\n const center = newBounds.getCenter();\n const lat = center.lat();\n const lng = center.lng();\n const latlng = createLatLng(lat, lng);\n\n mapRef.current.setCenter(latlng);\n mapRef.current.fitBounds(newBounds, 0);\n const clusterBounds: BBox = transformGoogleBoundsToClusterBounds(newBounds);\n if (isGooglePlace(userSuggestion) && userSuggestion.isGeoLocated) {\n geoLocatedCenterRef.current = center;\n }\n if (!geoLocatedCenterRef.current) {\n centerToCalculateDistance.current = center;\n } else {\n centerToCalculateDistance.current = geoLocatedCenterRef.current;\n }\n setTimeout(() => {\n mapRef.current.panTo(center);\n }, 0);\n setMapClusters(points, mapRef.current.getZoom(), clusterBounds, center);\n };\n\n const initalizeMapWithCenter = (lat: number, lng: number) => {\n const zoom = 16;\n const latlng = createLatLng(lat, lng);\n mapRef.current.setCenter(latlng);\n mapRef.current.setZoom(zoom);\n const bounds = getBounds();\n const clusterBounds = transformGoogleBoundsToClusterBounds(bounds);\n centerToCalculateDistance.current = latlng;\n setMapClusters(points, zoom, clusterBounds, latlng);\n };\n\n const setZoomListener = (map: google.maps.Map, maps: any) => {\n if (maps) {\n const listener = maps.event.addListener(map, 'zoom_changed', () => {\n const zoom = map.getZoom();\n // setMapClusters(points, zoom, boundsRef.current, centerRef.current);\n zoomRef.current = zoom;\n });\n zoomListenerRef.current = listener;\n }\n };\n\n const removeZoomListener = (maps: any) => {\n maps.event.removeListener(zoomListenerRef.current);\n };\n\n const setMapClusters = (\n points: Points[],\n zoom: number,\n bounds: BBox,\n center: google.maps.LatLng,\n param?: boolean\n ) => {\n // Solución al bug Uncaught RangeError: Maximum call stack size exceeded.\n\n if (zoom < 0) {\n return;\n }\n const { clusters, supercluster }: { clusters: Points[]; supercluster: any } = generateClusters(\n points,\n zoom,\n bounds\n );\n superClusterRef.current = supercluster;\n\n // En caso de que no encuentre dealers en la ubicación seleccionada en una búsqueda de google se hace zoom out\n // hasta que encuentre al menos 2. En caso de que sea una búsqueda de dealer, buscamos hasta encontrar 1.\n // Usamos isGooglePlace y no el flag the searchIsDealer porque en la primera carga no está disponible.\n let pointCount = getPointCount(clusters);\n\n if (pointCount > 1 && !isGooglePlace(userSuggestion)) {\n }\n\n if ((pointCount < 2 && isGooglePlace(userSuggestion)) || (pointCount === 0 && !isGooglePlace(userSuggestion))) {\n const { center, clusterBounds } = zoomOutMapForSearch(zoom);\n setMapClusters(points, zoom - 1, clusterBounds, center);\n return;\n }\n\n changeMapVariables(bounds, zoom, center);\n drawRectangle();\n\n if (userSuggestion && (!('isGooglePlace' in userSuggestion) || !userSuggestion.isGooglePlace) && searchIsDealer && !param) {\n const point = clusters.find((point) => {\n if (isDealerData(userSuggestion)) {\n return point.properties.dealer.kvps === (userSuggestion as DealersData).kvps;\n } else {\n return point.properties.dealer.kvps === (userSuggestion as Installation).KVPSCode__c;\n }\n });\n setClusters([point]);\n } else {\n setClusters(clusters);\n }\n };\n\n const getNewClusters = () => {\n resetCardReferences();\n const bounds = getBounds();\n const center = centerToCalculateDistance.current;\n const zoom = mapRef.current.getZoom();\n const clusterBounds = transformGoogleBoundsToClusterBounds(bounds);\n setSearchIsDealer(false);\n setMapClusters(points, zoom, clusterBounds, center, true);\n setMoreDealersSearched(true);\n setMapHasMoved(false);\n };\n\n /**\n * Función que hace zoom out, útil para realizar búsquedas de más talleres en caso de que los resultados no sean los deseados.\n * @param zoom\n */\n const zoomOutMapForSearch = (zoom: number) => {\n mapRef.current.setZoom(zoom);\n const bounds = mapRef.current.getBounds();\n const center = bounds.getCenter();\n const clusterBounds = transformGoogleBoundsToClusterBounds(bounds);\n return { bounds, center, clusterBounds };\n };\n\n /**\n * Devuelve el número de puntos que se encuentran dentro de los clusters.\n * @param clusters\n */\n const getPointCount = (clusters: Points[]): number => {\n return clusters.reduce((acc, cluster) => {\n if (cluster.properties.cluster) {\n return acc + cluster.properties.point_count;\n } else {\n return acc + 1;\n }\n }, 0);\n };\n\n /**\n * CTA Ver más talleres en la zona. Se hace un zoom out hasta que se encuentra mínimo un taller más\n */\n const searchMoreDealers = () => {\n setSearchIsDealer(false);\n setMapHasMoved(true);\n const { center, clusterBounds } = zoomOutMapForSearch(zoomRef.current);\n\n const { clusters } = generateClusters(points, zoomRef.current, clusterBounds);\n setMapClusters(points, zoomRef.current, clusterBounds, center, true);\n setMoreDealersSearched(true);\n let pointCount = getPointCount(clusters);\n\n if (pointCount === 1) {\n searchMoreDealers();\n }\n };\n\n /**\n * Las bounds de google maps van en referencia a SW y NE. No obstante las bounds necesarias para obtener los clusters van en referencia\n * NW y SE por lo que hay que obenter la equivalencia para que funcione correctamente.\n * @param googleBounds\n */\n const transformGoogleBoundsToClusterBounds = (googleBounds: google.maps.LatLngBounds): BBox => {\n const { north, east, south, west } = getCardinalPoints(googleBounds);\n\n return [west, south, east, north];\n };\n\n const transformClusterBoundsToGoogleBounds = (bounds: BBox): google.maps.LatLngBounds => {\n const sw = createLatLng(bounds[1], bounds[0]);\n const ne = createLatLng(bounds[3], bounds[2]);\n return new mapsRef.current.LatLngBounds(sw, ne);\n // const { north, east, south, west } = getCardinalPoints(bounds);\n\n // return [west, south, east, north];\n };\n\n const getCardinalPoints = (bounds: google.maps.LatLngBounds) => {\n const north = bounds.getNorthEast().lat();\n const east = bounds.getNorthEast().lng();\n const south = bounds.getSouthWest().lat();\n const west = bounds.getSouthWest().lng();\n\n return { north, east, south, west };\n };\n\n const getBounds = (): google.maps.LatLngBounds => mapRef.current.getBounds();\n\n /**\n * Transforma las coordenadas del point en coordenadas LatLng de Google Maps.\n * @param point\n */\n const getLatLngFromPoint = (point: Points): google.maps.LatLng =>\n createLatLng(point.geometry.coordinates[1], point.geometry.coordinates[0]);\n\n const createLatLng = (lat: number, lng: number): google.maps.LatLng => new mapsRef.current.LatLng(lat, lng);\n\n const changeMapVariables = (newBounds: BBox, zoom: number, center: google.maps.LatLng) => {\n // setBounds(newBounds);\n // mapRef.current.setZoom(zoom);\n boundsRef.current = newBounds;\n zoomRef.current = zoom;\n centerRef.current = center;\n if (isGooglePlace(userSuggestion) && !userGeolocation) {\n centerToCalculateDistance.current = center;\n }\n };\n\n const handleChangeInMapZoom = (zoomIn: boolean) => {\n const zoom = mapRef.current.getZoom();\n const newZoom = zoomIn ? zoom + 1 : zoom - 1;\n mapRef.current.setZoom(newZoom);\n\n handleMapMovement();\n };\n\n const handlePointClickAndCarouselMove = useCallback(\n (point: Points, scroll?: boolean, preSelectedOrderValue?: SelectedTab) => {\n handleSelectedPoint(point);\n\n if (scroll) {\n const cards = preSelectedOrderValue === 'horario' ? cardsTimeRef : cardsDistanceRef;\n const card = cards.current.find((el) => el.className.includes(point.properties.dealer.kvps));\n\n if (card) {\n // Añadir restriccion a solo desktop\n card.scrollIntoView({ block: 'center', behavior: 'smooth' });\n }\n }\n if (!skipMapMovementOnClick && checkIfPointIsInsideBounds(point)) {\n moveMapIfIsSlightlyOutBounds(point);\n } else {\n mapRef.current.panTo(getLatLngFromPoint(point));\n }\n },\n []\n );\n\n const handleSelectedPoint = useCallback((point: Points | null) => {\n setSelectedPoint(point);\n }, []);\n\n const handleHoverPoint = useCallback((point: Points | null) => {\n setHoverPoint(point);\n }, []);\n\n /**\n * Al clickar sobre un cluster se han de separar los dealers que contenga y hacer un zoom sobre la zona\n * sin perder los pines de la búsqueda anterior.\n * @param point\n * @param isCluster Este parámetro solo se usa cuando se clicka sobre una card para hacer el máximo zoom posible, ya\n * que si el pin se encuentra dentro de dos clusters no llega a mostrarlo correctamente con el expansion zoom.\n * @param recalculateClusters En mobile no funciona correctamente el recalculo de clusters ya que el mapa no está montado\n * y no se dispara el evento de zoom_changed por lo que necesitamos recalcular los clusters a mano para que al volver al mapa\n * estén los clusters correspondientes al nuevo zoom.\n */\n const handleClusterClick = (point: Points, isCluster?: boolean, recalculateClusters?: boolean) => {\n // breakCluster(clusterId);\n const parentCluster = clusters.find(\n (cluster) =>\n cluster.properties.cluster && (cluster.id === point.properties.parent_cluster_id || cluster.id === point.id)\n );\n if (parentCluster) {\n handleSelectedPoint(point);\n\n // Cálculo del zoom mínimo de exapansión + 1 para que se vean correctamente los nuevos pines en el mapa.\n const expansionZoom =\n isCluster && parentCluster.properties.point_count > 2\n ? mapMaxZoom - 3\n : Math.min(superClusterRef.current.getClusterExpansionZoom(parentCluster.id), mapMaxZoom);\n const center = createLatLng(point.geometry.coordinates[1], point.geometry.coordinates[0]);\n\n mapRef.current.setCenter(center);\n mapRef.current.setZoom(expansionZoom);\n zoomRef.current = expansionZoom;\n\n if (recalculateClusters || recalculateClusters === undefined) {\n setMapClusters(points, expansionZoom, boundsRef.current, center);\n }\n } else {\n handlePointClickAndCarouselMove(point, false);\n }\n };\n\n const resetCardReferences = () => {\n cardsDistanceRef.current = [];\n cardsTimeRef.current = [];\n };\n\n /**\n * Comprueba si el point se encuentra dentro o fuera de los límites para centrar el mapa en caso de que esté fuera.\n * @param point\n */\n const checkIfPointIsInsideBounds = (point: Points): boolean => {\n const bounds = getBounds();\n if (bounds.contains(getLatLngFromPoint(point))) {\n return true;\n } else {\n return false;\n }\n };\n\n /**\n * Si el pin se encuentra visualmente fuera de los límites del mapa hay que moverlo para que aparezca entero.\n */\n const moveMapIfIsSlightlyOutBounds = (point: Points) => {\n const lat = point.geometry.coordinates[1];\n const lng = point.geometry.coordinates[0];\n const { north, east, south, west } = getCardinalPoints(getBounds());\n const pointLatLng = getLatLngFromPoint(point);\n const northPoint = createLatLng(north, lng);\n const eastPoint = createLatLng(lat, east);\n const southPoint = createLatLng(south, lng);\n const westPoint = createLatLng(lat, west);\n\n const northDistance = distanceInPx(pointLatLng, northPoint);\n const eastDistance = distanceInPx(pointLatLng, eastPoint);\n const southDistance = distanceInPx(pointLatLng, southPoint);\n const westDistance = distanceInPx(pointLatLng, westPoint);\n\n let y = calculateY(northDistance, southDistance);\n let x = null;\n\n if (eastDistance < markerDimensions.width) {\n x = calculateEastDistance(eastDistance, southDistance);\n }\n if (westDistance < markerDimensions.width) {\n x = -markerDimensions.width;\n }\n if (x || y) {\n mapRef.current.panBy(x, y);\n }\n };\n\n const calculateY = (northDistance: number, southDistance: number) => {\n const south = calculateSouthDistance(southDistance);\n const north = -calculateNorthDistance(northDistance);\n\n if (south) {\n return south;\n }\n return north;\n };\n\n /**\n * Este cálculo se realiza por separado ya que en mobile está el carousel por encima y requiere más lógica.\n * @param southDistance\n */\n const calculateSouthDistance = (southDistance: number): number | null => {\n if (window.innerWidth < 960) {\n if (southDistance < markerDimensions.height + 220) {\n return markerDimensions.height + 220;\n }\n } else {\n if (southDistance < markerDimensions.height) {\n return markerDimensions.height;\n }\n }\n return 0;\n };\n\n const calculateNorthDistance = (northDistance: number): number | null => {\n if (window.innerWidth < 960) {\n if (northDistance < markerDimensions.height + 100) {\n return markerDimensions.height + 100;\n }\n } else {\n if (northDistance < markerDimensions.height + 56) {\n return markerDimensions.height + 56;\n } else {\n return 0;\n }\n }\n return 0;\n };\n\n const calculateEastDistance = (eastDistance: number, southDistance: number): number | null => {\n if (window.innerWidth < 959) {\n if (eastDistance < markerDimensions.width + 69 && southDistance < markerDimensions.height + 197) {\n return markerDimensions.width + 69;\n } else {\n return markerDimensions.height;\n }\n } else {\n return markerDimensions.width;\n }\n };\n /**\n * Devuelve la distancia en píxels entre dos puntos del mapa.\n *\n * @param position1\n * @param position2\n */\n const distanceInPx = (position1: google.maps.LatLng, position2: google.maps.LatLng) => {\n var p1 = mapRef.current.getProjection().fromLatLngToPoint(position1);\n var p2 = mapRef.current.getProjection().fromLatLngToPoint(position2);\n\n var pixelSize = Math.pow(2, -mapRef.current.getZoom());\n\n var d = Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y)) / pixelSize;\n\n return d;\n };\n\n /**\n * Dibuja las bounds en el mapa.\n * @param bounds\n */\n const drawRectangle = () => {\n new mapsRef.current.Rectangle({\n strokeColor: '#FF0000',\n strokeOpacity: 0, //debug ? 0.8 : 0,\n strokeWeight: 2,\n fillColor: '#FF0000',\n fillOpacity: 0, //debug ? 0.35 : 0,\n map: mapRef.current,\n bounds: getBounds(),\n });\n };\n\n const centerInGeoLocatedCenter = useCallback(() => {\n mapRef.current.setCenter(geoLocatedCenterRef.current);\n }, []);\n\n const centerMap = useCallback((newCenter: google.maps.LatLng) => {\n mapRef.current.setCenter(newCenter);\n }, []);\n\n const handleMapMovement = () => {\n if (!mapHasMoved) {\n setMapHasMoved(true);\n }\n };\n\n return (\n \n {children}\n \n );\n }\n);\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n points: getPoints(state),\n geometry: getGeometry(state),\n userSuggestion: getUserSuggestion(state),\n userGeolocation: getUserGeolocation(state),\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(MapGeneralController);\n\nexport { ConnectedComponent as MapGeneralController };\n","\nexport default function sortKD(ids, coords, nodeSize, left, right, depth) {\n if (right - left <= nodeSize) return;\n\n const m = (left + right) >> 1;\n\n select(ids, coords, m, left, right, depth % 2);\n\n sortKD(ids, coords, nodeSize, left, m - 1, depth + 1);\n sortKD(ids, coords, nodeSize, m + 1, right, depth + 1);\n}\n\nfunction select(ids, coords, k, left, right, inc) {\n\n while (right > left) {\n if (right - left > 600) {\n const n = right - left + 1;\n const m = k - left + 1;\n const z = Math.log(n);\n const s = 0.5 * Math.exp(2 * z / 3);\n const sd = 0.5 * Math.sqrt(z * s * (n - s) / n) * (m - n / 2 < 0 ? -1 : 1);\n const newLeft = Math.max(left, Math.floor(k - m * s / n + sd));\n const newRight = Math.min(right, Math.floor(k + (n - m) * s / n + sd));\n select(ids, coords, k, newLeft, newRight, inc);\n }\n\n const t = coords[2 * k + inc];\n let i = left;\n let j = right;\n\n swapItem(ids, coords, left, k);\n if (coords[2 * right + inc] > t) swapItem(ids, coords, left, right);\n\n while (i < j) {\n swapItem(ids, coords, i, j);\n i++;\n j--;\n while (coords[2 * i + inc] < t) i++;\n while (coords[2 * j + inc] > t) j--;\n }\n\n if (coords[2 * left + inc] === t) swapItem(ids, coords, left, j);\n else {\n j++;\n swapItem(ids, coords, j, right);\n }\n\n if (j <= k) left = j + 1;\n if (k <= j) right = j - 1;\n }\n}\n\nfunction swapItem(ids, coords, i, j) {\n swap(ids, i, j);\n swap(coords, 2 * i, 2 * j);\n swap(coords, 2 * i + 1, 2 * j + 1);\n}\n\nfunction swap(arr, i, j) {\n const tmp = arr[i];\n arr[i] = arr[j];\n arr[j] = tmp;\n}\n","\nexport default function within(ids, coords, qx, qy, r, nodeSize) {\n const stack = [0, ids.length - 1, 0];\n const result = [];\n const r2 = r * r;\n\n while (stack.length) {\n const axis = stack.pop();\n const right = stack.pop();\n const left = stack.pop();\n\n if (right - left <= nodeSize) {\n for (let i = left; i <= right; i++) {\n if (sqDist(coords[2 * i], coords[2 * i + 1], qx, qy) <= r2) result.push(ids[i]);\n }\n continue;\n }\n\n const m = Math.floor((left + right) / 2);\n\n const x = coords[2 * m];\n const y = coords[2 * m + 1];\n\n if (sqDist(x, y, qx, qy) <= r2) result.push(ids[m]);\n\n const nextAxis = (axis + 1) % 2;\n\n if (axis === 0 ? qx - r <= x : qy - r <= y) {\n stack.push(left);\n stack.push(m - 1);\n stack.push(nextAxis);\n }\n if (axis === 0 ? qx + r >= x : qy + r >= y) {\n stack.push(m + 1);\n stack.push(right);\n stack.push(nextAxis);\n }\n }\n\n return result;\n}\n\nfunction sqDist(ax, ay, bx, by) {\n const dx = ax - bx;\n const dy = ay - by;\n return dx * dx + dy * dy;\n}\n","\nimport sort from './sort';\nimport range from './range';\nimport within from './within';\n\nconst defaultGetX = p => p[0];\nconst defaultGetY = p => p[1];\n\nexport default class KDBush {\n constructor(points, getX = defaultGetX, getY = defaultGetY, nodeSize = 64, ArrayType = Float64Array) {\n this.nodeSize = nodeSize;\n this.points = points;\n\n const IndexArrayType = points.length < 65536 ? Uint16Array : Uint32Array;\n\n const ids = this.ids = new IndexArrayType(points.length);\n const coords = this.coords = new ArrayType(points.length * 2);\n\n for (let i = 0; i < points.length; i++) {\n ids[i] = i;\n coords[2 * i] = getX(points[i]);\n coords[2 * i + 1] = getY(points[i]);\n }\n\n sort(ids, coords, nodeSize, 0, ids.length - 1, 0);\n }\n\n range(minX, minY, maxX, maxY) {\n return range(this.ids, this.coords, minX, minY, maxX, maxY, this.nodeSize);\n }\n\n within(x, y, r) {\n return within(this.ids, this.coords, x, y, r, this.nodeSize);\n }\n}\n","\nexport default function range(ids, coords, minX, minY, maxX, maxY, nodeSize) {\n const stack = [0, ids.length - 1, 0];\n const result = [];\n let x, y;\n\n while (stack.length) {\n const axis = stack.pop();\n const right = stack.pop();\n const left = stack.pop();\n\n if (right - left <= nodeSize) {\n for (let i = left; i <= right; i++) {\n x = coords[2 * i];\n y = coords[2 * i + 1];\n if (x >= minX && x <= maxX && y >= minY && y <= maxY) result.push(ids[i]);\n }\n continue;\n }\n\n const m = Math.floor((left + right) / 2);\n\n x = coords[2 * m];\n y = coords[2 * m + 1];\n\n if (x >= minX && x <= maxX && y >= minY && y <= maxY) result.push(ids[m]);\n\n const nextAxis = (axis + 1) % 2;\n\n if (axis === 0 ? minX <= x : minY <= y) {\n stack.push(left);\n stack.push(m - 1);\n stack.push(nextAxis);\n }\n if (axis === 0 ? maxX >= x : maxY >= y) {\n stack.push(m + 1);\n stack.push(right);\n stack.push(nextAxis);\n }\n }\n\n return result;\n}\n","\nimport KDBush from 'kdbush';\n\nconst defaultOptions = {\n minZoom: 0, // min zoom to generate clusters on\n maxZoom: 16, // max zoom level to cluster the points on\n minPoints: 2, // minimum points to form a cluster\n radius: 40, // cluster radius in pixels\n extent: 512, // tile extent (radius is calculated relative to it)\n nodeSize: 64, // size of the KD-tree leaf node, affects performance\n log: false, // whether to log timing info\n\n // whether to generate numeric ids for input features (in vector tiles)\n generateId: false,\n\n // a reduce function for calculating custom cluster properties\n reduce: null, // (accumulated, props) => { accumulated.sum += props.sum; }\n\n // properties to use for individual points when running the reducer\n map: props => props // props => ({sum: props.my_value})\n};\n\nconst fround = Math.fround || (tmp => ((x) => { tmp[0] = +x; return tmp[0]; }))(new Float32Array(1));\n\nexport default class Supercluster {\n constructor(options) {\n this.options = extend(Object.create(defaultOptions), options);\n this.trees = new Array(this.options.maxZoom + 1);\n }\n\n load(points) {\n const {log, minZoom, maxZoom, nodeSize} = this.options;\n\n if (log) console.time('total time');\n\n const timerId = `prepare ${ points.length } points`;\n if (log) console.time(timerId);\n\n this.points = points;\n\n // generate a cluster object for each point and index input points into a KD-tree\n let clusters = [];\n for (let i = 0; i < points.length; i++) {\n if (!points[i].geometry) continue;\n clusters.push(createPointCluster(points[i], i));\n }\n this.trees[maxZoom + 1] = new KDBush(clusters, getX, getY, nodeSize, Float32Array);\n\n if (log) console.timeEnd(timerId);\n\n // cluster points on max zoom, then cluster the results on previous zoom, etc.;\n // results in a cluster hierarchy across zoom levels\n for (let z = maxZoom; z >= minZoom; z--) {\n const now = +Date.now();\n\n // create a new set of clusters for the zoom and index them with a KD-tree\n clusters = this._cluster(clusters, z);\n this.trees[z] = new KDBush(clusters, getX, getY, nodeSize, Float32Array);\n\n if (log) console.log('z%d: %d clusters in %dms', z, clusters.length, +Date.now() - now);\n }\n\n if (log) console.timeEnd('total time');\n\n return this;\n }\n\n getClusters(bbox, zoom) {\n let minLng = ((bbox[0] + 180) % 360 + 360) % 360 - 180;\n const minLat = Math.max(-90, Math.min(90, bbox[1]));\n let maxLng = bbox[2] === 180 ? 180 : ((bbox[2] + 180) % 360 + 360) % 360 - 180;\n const maxLat = Math.max(-90, Math.min(90, bbox[3]));\n\n if (bbox[2] - bbox[0] >= 360) {\n minLng = -180;\n maxLng = 180;\n } else if (minLng > maxLng) {\n const easternHem = this.getClusters([minLng, minLat, 180, maxLat], zoom);\n const westernHem = this.getClusters([-180, minLat, maxLng, maxLat], zoom);\n return easternHem.concat(westernHem);\n }\n\n const tree = this.trees[this._limitZoom(zoom)];\n const ids = tree.range(lngX(minLng), latY(maxLat), lngX(maxLng), latY(minLat));\n const clusters = [];\n for (const id of ids) {\n const c = tree.points[id];\n clusters.push(c.numPoints ? getClusterJSON(c) : this.points[c.index]);\n }\n return clusters;\n }\n\n getChildren(clusterId) {\n const originId = this._getOriginId(clusterId);\n const originZoom = this._getOriginZoom(clusterId);\n const errorMsg = 'No cluster with the specified id.';\n\n const index = this.trees[originZoom];\n if (!index) throw new Error(errorMsg);\n\n const origin = index.points[originId];\n if (!origin) throw new Error(errorMsg);\n\n const r = this.options.radius / (this.options.extent * Math.pow(2, originZoom - 1));\n const ids = index.within(origin.x, origin.y, r);\n const children = [];\n for (const id of ids) {\n const c = index.points[id];\n if (c.parentId === clusterId) {\n children.push(c.numPoints ? getClusterJSON(c) : this.points[c.index]);\n }\n }\n\n if (children.length === 0) throw new Error(errorMsg);\n\n return children;\n }\n\n getLeaves(clusterId, limit, offset) {\n limit = limit || 10;\n offset = offset || 0;\n\n const leaves = [];\n this._appendLeaves(leaves, clusterId, limit, offset, 0);\n\n return leaves;\n }\n\n getTile(z, x, y) {\n const tree = this.trees[this._limitZoom(z)];\n const z2 = Math.pow(2, z);\n const {extent, radius} = this.options;\n const p = radius / extent;\n const top = (y - p) / z2;\n const bottom = (y + 1 + p) / z2;\n\n const tile = {\n features: []\n };\n\n this._addTileFeatures(\n tree.range((x - p) / z2, top, (x + 1 + p) / z2, bottom),\n tree.points, x, y, z2, tile);\n\n if (x === 0) {\n this._addTileFeatures(\n tree.range(1 - p / z2, top, 1, bottom),\n tree.points, z2, y, z2, tile);\n }\n if (x === z2 - 1) {\n this._addTileFeatures(\n tree.range(0, top, p / z2, bottom),\n tree.points, -1, y, z2, tile);\n }\n\n return tile.features.length ? tile : null;\n }\n\n getClusterExpansionZoom(clusterId) {\n let expansionZoom = this._getOriginZoom(clusterId) - 1;\n while (expansionZoom <= this.options.maxZoom) {\n const children = this.getChildren(clusterId);\n expansionZoom++;\n if (children.length !== 1) break;\n clusterId = children[0].properties.cluster_id;\n }\n return expansionZoom;\n }\n\n _appendLeaves(result, clusterId, limit, offset, skipped) {\n const children = this.getChildren(clusterId);\n\n for (const child of children) {\n const props = child.properties;\n\n if (props && props.cluster) {\n if (skipped + props.point_count <= offset) {\n // skip the whole cluster\n skipped += props.point_count;\n } else {\n // enter the cluster\n skipped = this._appendLeaves(result, props.cluster_id, limit, offset, skipped);\n // exit the cluster\n }\n } else if (skipped < offset) {\n // skip a single point\n skipped++;\n } else {\n // add a single point\n result.push(child);\n }\n if (result.length === limit) break;\n }\n\n return skipped;\n }\n\n _addTileFeatures(ids, points, x, y, z2, tile) {\n for (const i of ids) {\n const c = points[i];\n const isCluster = c.numPoints;\n\n let tags, px, py;\n if (isCluster) {\n tags = getClusterProperties(c);\n px = c.x;\n py = c.y;\n } else {\n const p = this.points[c.index];\n tags = p.properties;\n px = lngX(p.geometry.coordinates[0]);\n py = latY(p.geometry.coordinates[1]);\n }\n\n const f = {\n type: 1,\n geometry: [[\n Math.round(this.options.extent * (px * z2 - x)),\n Math.round(this.options.extent * (py * z2 - y))\n ]],\n tags\n };\n\n // assign id\n let id;\n if (isCluster) {\n id = c.id;\n } else if (this.options.generateId) {\n // optionally generate id\n id = c.index;\n } else if (this.points[c.index].id) {\n // keep id if already assigned\n id = this.points[c.index].id;\n }\n\n if (id !== undefined) f.id = id;\n\n tile.features.push(f);\n }\n }\n\n _limitZoom(z) {\n return Math.max(this.options.minZoom, Math.min(Math.floor(+z), this.options.maxZoom + 1));\n }\n\n _cluster(points, zoom) {\n const clusters = [];\n const {radius, extent, reduce, minPoints} = this.options;\n const r = radius / (extent * Math.pow(2, zoom));\n\n // loop through each point\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n // if we've already visited the point at this zoom level, skip it\n if (p.zoom <= zoom) continue;\n p.zoom = zoom;\n\n // find all nearby points\n const tree = this.trees[zoom + 1];\n const neighborIds = tree.within(p.x, p.y, r);\n\n const numPointsOrigin = p.numPoints || 1;\n let numPoints = numPointsOrigin;\n\n // count the number of points in a potential cluster\n for (const neighborId of neighborIds) {\n const b = tree.points[neighborId];\n // filter out neighbors that are already processed\n if (b.zoom > zoom) numPoints += b.numPoints || 1;\n }\n\n // if there were neighbors to merge, and there are enough points to form a cluster\n if (numPoints > numPointsOrigin && numPoints >= minPoints) {\n let wx = p.x * numPointsOrigin;\n let wy = p.y * numPointsOrigin;\n\n let clusterProperties = reduce && numPointsOrigin > 1 ? this._map(p, true) : null;\n\n // encode both zoom and point index on which the cluster originated -- offset by total length of features\n const id = (i << 5) + (zoom + 1) + this.points.length;\n\n for (const neighborId of neighborIds) {\n const b = tree.points[neighborId];\n\n if (b.zoom <= zoom) continue;\n b.zoom = zoom; // save the zoom (so it doesn't get processed twice)\n\n const numPoints2 = b.numPoints || 1;\n wx += b.x * numPoints2; // accumulate coordinates for calculating weighted center\n wy += b.y * numPoints2;\n\n b.parentId = id;\n\n if (reduce) {\n if (!clusterProperties) clusterProperties = this._map(p, true);\n reduce(clusterProperties, this._map(b));\n }\n }\n\n p.parentId = id;\n clusters.push(createCluster(wx / numPoints, wy / numPoints, id, numPoints, clusterProperties));\n\n } else { // left points as unclustered\n clusters.push(p);\n\n if (numPoints > 1) {\n for (const neighborId of neighborIds) {\n const b = tree.points[neighborId];\n if (b.zoom <= zoom) continue;\n b.zoom = zoom;\n clusters.push(b);\n }\n }\n }\n }\n\n return clusters;\n }\n\n // get index of the point from which the cluster originated\n _getOriginId(clusterId) {\n return (clusterId - this.points.length) >> 5;\n }\n\n // get zoom of the point from which the cluster originated\n _getOriginZoom(clusterId) {\n return (clusterId - this.points.length) % 32;\n }\n\n _map(point, clone) {\n if (point.numPoints) {\n return clone ? extend({}, point.properties) : point.properties;\n }\n const original = this.points[point.index].properties;\n const result = this.options.map(original);\n return clone && result === original ? extend({}, result) : result;\n }\n}\n\nfunction createCluster(x, y, id, numPoints, properties) {\n return {\n x: fround(x), // weighted cluster center; round for consistency with Float32Array index\n y: fround(y),\n zoom: Infinity, // the last zoom the cluster was processed at\n id, // encodes index of the first child of the cluster and its zoom level\n parentId: -1, // parent cluster id\n numPoints,\n properties\n };\n}\n\nfunction createPointCluster(p, id) {\n const [x, y] = p.geometry.coordinates;\n return {\n x: fround(lngX(x)), // projected point coordinates\n y: fround(latY(y)),\n zoom: Infinity, // the last zoom the point was processed at\n index: id, // index of the source feature in the original input array,\n parentId: -1 // parent cluster id\n };\n}\n\nfunction getClusterJSON(cluster) {\n return {\n type: 'Feature',\n id: cluster.id,\n properties: getClusterProperties(cluster),\n geometry: {\n type: 'Point',\n coordinates: [xLng(cluster.x), yLat(cluster.y)]\n }\n };\n}\n\nfunction getClusterProperties(cluster) {\n const count = cluster.numPoints;\n const abbrev =\n count >= 10000 ? `${Math.round(count / 1000) }k` :\n count >= 1000 ? `${Math.round(count / 100) / 10 }k` : count;\n return extend(extend({}, cluster.properties), {\n cluster: true,\n cluster_id: cluster.id,\n point_count: count,\n point_count_abbreviated: abbrev\n });\n}\n\n// longitude/latitude to spherical mercator in [0..1] range\nfunction lngX(lng) {\n return lng / 360 + 0.5;\n}\nfunction latY(lat) {\n const sin = Math.sin(lat * Math.PI / 180);\n const y = (0.5 - 0.25 * Math.log((1 + sin) / (1 - sin)) / Math.PI);\n return y < 0 ? 0 : y > 1 ? 1 : y;\n}\n\n// spherical mercator to longitude/latitude\nfunction xLng(x) {\n return (x - 0.5) * 360;\n}\nfunction yLat(y) {\n const y2 = (180 - y * 360) * Math.PI / 180;\n return 360 * Math.atan(Math.exp(y2)) / Math.PI - 90;\n}\n\nfunction extend(dest, src) {\n for (const id in src) dest[id] = src[id];\n return dest;\n}\n\nfunction getX(p) {\n return p.x;\n}\nfunction getY(p) {\n return p.y;\n}\n","import { BBox } from 'geojson';\nimport Supercluster from 'supercluster';\n\nexport const generateClusters = (points: any[], zoom: number, bounds: BBox): { clusters: any; supercluster: any } => {\n const options = { radius: 40, maxZoom: 20 };\n\n // const superclusterRef = useRef>();\n let supercluster;\n\n // const pointsRef = useRef>>();\n const zoomInt = Math.round(zoom);\n\n if (!supercluster) {\n supercluster = new Supercluster(options);\n supercluster.load(points);\n }\n\n if (bounds) {\n const clusters = supercluster.getClusters(bounds, zoomInt);\n return { clusters, supercluster };\n }\n return { clusters: null, supercluster: null };\n};\n","import { getReverseGeocode } from 'src/feature-app';\nimport { Geometry } from 'src/types';\n\nfunction getCurrentPosition(options = { timeout: 10000 }): Promise {\n return new Promise((resolve, reject) => {\n navigator.geolocation.getCurrentPosition(resolve, reject, options);\n });\n}\n\nexport const handleLocation = async (): Promise<{ geometry: Geometry; name: string }> => {\n try {\n const { coords } = await getCurrentPosition();\n const { latitude, longitude } = coords;\n const { geometry, name } = await getReverseGeocode({ lat: latitude, lng: longitude });\n\n return { geometry, name };\n // Handle coordinates\n } catch (error) {\n // Handle error\n console.error(error);\n return { geometry: null, name: '' };\n }\n};\n","import { useEffect, useState } from 'react';\nimport { Points } from 'src/types';\n\nexport const usePinState = (selectedPoint: Points, hoverPoint: Points, point: Points) => {\n const [isActive, setIsActive] = useState(false);\n const [isHover, setIsHover] = useState(false);\n\n useEffect(() => {\n if (selectedPoint) {\n if (isCluster(point)) {\n sameClusterId(selectedPoint, point) ? setIsActive(true) : setIsActive(false);\n } else {\n sameKvps(selectedPoint, point) ? setIsActive(true) : setIsActive(false);\n }\n }\n\n if (hoverPoint) {\n if (window.innerWidth < 959) {\n // Hover solo se aplica a desktop\n setIsHover(false);\n } else {\n if (isCluster(point)) {\n sameClusterId(hoverPoint, point) ? setIsHover(true) : setIsHover(false);\n } else {\n sameKvps(hoverPoint, point) ? setIsHover(true) : setIsHover(false);\n }\n }\n }\n }, [selectedPoint, hoverPoint]);\n\n return { isActive, isHover };\n};\n\nconst isCluster = (point: Points) => point.properties.cluster;\n\nconst sameClusterId = (selectedPoint: Points, point: Points) => {\n if (selectedPoint.properties.parent_cluster_id && point.id) {\n return selectedPoint.properties.parent_cluster_id === point.id;\n }\n return false;\n};\nconst sameKvps = (selectedPoint: Points, point: Points) => {\n if (\n selectedPoint.properties &&\n selectedPoint.properties.dealer &&\n point.properties &&\n point.properties.dealer &&\n selectedPoint.properties.dealer.kvps === point.properties.dealer.kvps\n ) {\n return true;\n }\n return false;\n};\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport { debounce } from 'src/feature-app';\n\nexport function useAddressPredictions(input: string, selectedValue: boolean): any[] {\n\n \n const [predictions, setPredictions] = useState([]);\n\n const autocomplete = useRef();\n\n if (!autocomplete.current && window.google) {\n autocomplete.current = new window.google.maps.places.AutocompleteService();\n }\n\n async function getPlacePredictions(input: string) {\n await autocomplete.current.getPlacePredictions(\n { input, types: ['geocode'], componentRestrictions: { country: 'es' } },\n (predictions) => {\n // El type regions también devuelve como resultado el país, por lo que hay que filtrarlo.\n if (predictions) {\n predictions = predictions.filter((prediction) => !prediction.types.includes('country'));\n setPredictions(predictions.map((prediction) => prediction.description));\n }\n }\n );\n }\n\n const debouncedGetPlacePredictions = useCallback(debounce(getPlacePredictions, 500), []);\n\n useEffect(() => {\n if (!selectedValue && input.length > 2) {\n debouncedGetPlacePredictions(input);\n }\n }, [input]);\n\n return predictions;\n}\n","import { checkIfMidDay, checkIfMorning, getNormalizedDate } from 'src/feature-app/NewMap';\nimport {\n getYYYYMMDDx, \n hourAndMinute,\n} from 'src/feature-app';\n\nexport const getFranjaAndDayFrom = (from: number): { day: string; franjaHoraria: 'Mañana' | 'Mediodía' | 'Tarde' } => {\n const day = getYYYYMMDDx(Number(from));\n const hour = hourAndMinute(from);\n const normalizdedDate = getNormalizedDate(hour);\n const franjaHoraria = checkIfMorning(normalizdedDate)\n ? 'Mañana'\n : checkIfMidDay(normalizdedDate)\n ? 'Mediodía'\n : 'Tarde';\n\n return { day, franjaHoraria };\n};\n","import {\n Assessors,\n Slot,\n} from 'src/types';\nimport dayjs from 'dayjs';\n\n\nexport const createNoDmsSlotAndAssessor = (franjaHoraria: string, day: string): { slot: Slot; assessor: Assessors } => {\n const from = Number(dayjs.utc(`${day} 01:00`, 'YYYY-MM-DD HH:mm').format('x'));\n const to = Number(dayjs.utc(`${day} 23:59`, 'YYYY-MM-DD HH:mm').format('x'));\n const code = franjaHoraria === 'Mañana' ? 'MANANA' : franjaHoraria === 'Mediodía' ? 'MEDIODIA' : 'TARDE';\n const assessor: Assessors = { code: '0', name: 'Todos' };\n const slot: Slot = {\n from,\n to,\n replacementCarServiceAvailable: false,\n dayMoment: {\n code,\n name: franjaHoraria,\n },\n assessorCode: '0',\n };\n\n return { slot, assessor };\n};\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n CTA,\n Layout,\n styled,\n Text,\n TextAlignment,\n ThemeProvider,\n TokenTextAppearance,\n TokenTextColor\n} from '@volkswagen-onehub/components-core';\nimport { Calendar, FleetServicePrivate, CarPickupService } from 'src/icons-core-imports';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useMapGeneralController } from 'src/feature-app';\nimport { Points } from 'src/types';\nimport { Horario, OneFormState } from 'src/types';\nimport { getDistanceFromLatLngCenter } from 'src/feature-app/NewMap';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { usePinState } from 'src/feature-app/NewMap/usePinState';\nimport { useIsComerciales } from 'src/feature-app';\n\ninterface BoxCardProps {\n selected?: boolean;\n isCarousel: boolean;\n isHover?: boolean;\n isFirstDesktop?: boolean;\n greyCard?: boolean;\n iDBuzzExclusive?: boolean;\n}\n\nconst BoxCard = styled.div`\n width: 100%;\n margin-top: ${(props) => (props.isCarousel || props.isFirstDesktop || props.iDBuzzExclusive ? '0' : '20px')};\n padding: ${(props) => (props.isCarousel ? '12px' : '20px')};\n border: ${(props) =>\n props.selected && props.greyCard && !props.isCarousel\n ? '2px solid #6A767D'\n : props.greyCard && !props.isCarousel\n ? '1px solid #6A767D'\n : props.selected && !props.isCarousel\n ? '2px solid #FFFFFF'\n : props.isCarousel\n ? 'none'\n : '1px solid rgba(255,255,255,0.44)'};\n :hover {\n border: ${(props) => (\n props.isCarousel\n ? 'none'\n : props.selected && props.greyCard\n ? '2px solid #6A767D'\n : props.greyCard\n ? '1px solid #6A767D'\n : props.selected\n ? '2px solid #FFFFFF'\n : '1px solid #4cc7f4')};\n }\n\n @media all and (min-width: 560px) {\n margin-top: ${(props) => (props.isCarousel || props.isFirstDesktop || props.iDBuzzExclusive ? '0' : '24px')};\n padding: 20px;\n }\n @media screen and (min-width: 960px) {\n .main {\n border: ${(props) =>\n props.isCarousel\n ? 'none'\n : props.selected\n ? '2px solid #001e50;'\n : props.isHover\n ? '1px solid #0040C5'\n : '1px solid #DFE4E8'};\n }\n .inverted {\n border: ${(props) =>\n props.isCarousel\n ? 'none'\n : props.selected\n ? '2px solid #FFFFFF'\n : props.isHover\n ? '1px solid #4cc7f4'\n : '1px solid rgba(255,255,255,0.44)'};\n }\n \n }\n @media all and (min-width: 1600px) {\n margin-top: ${(props) => (props.isCarousel || props.isFirstDesktop || props.iDBuzzExclusive ? '0' : '28px')};\n }\n`;\n\ninterface isCarouselProps {\n isCarousel: boolean;\n}\n\nconst CTAVerMasHorasWrapper = styled.div`\n button {\n color: #ffffff;\n font-size: ${(props) => (props.isCarousel ? '12px' : null)};\n svg {\n height: ${(props) => (props.isCarousel ? '10px' : null)};\n width: ${(props) => (props.isCarousel ? '10px' : null)};\n }\n }\n`;\n\nconst EllipsisTextWrapper = styled.p<{ greyCard?: boolean }>`\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin-top: 0px;\n margin-bottom: 0px;\n color: ${(props) => (props.greyCard ? '#6A767D' : '#FFFFFF')};\n`;\nconst GreyText = styled.span<{ greyCard?: boolean }>`\n color: ${(props) => (props.greyCard ? '#6A767D' : '#FFFFFF')};\n`;\nconst SVGSize = styled.div<{ greyCard: boolean }>`\n padding-left: 16px;\n svg {\n height: 20px;\n width: auto;\n color: ${(props) => props.greyCard ? '#6A767D' : '#FFFFFF'};\n }\n`;\nconst CustomCTA = styled.button<{ greyCard?: boolean }>`\n height: 32px;\n width: max-content;\n padding: 8px 16px;\n border: none;\n cursor: pointer;\n border-radius: 22px;\n display: flex;\n align-items: center;\n background-color: ${(props) => props.greyCard ? '#6A767D' : '#FFFFFF'};\n color: ${(props) => props.greyCard ? '#DFE4E8' : '#001E50'};\n :hover {\n background-color: ${(props) => props.greyCard ? '#6A767D' : 'rgba(255,255,255,0.90)'};\n }\n`;\nconst CustomTerciayCTA = styled.button<{ greyCard?: boolean }>`\n color: ${(props) => props.greyCard ? '#6A767D' : '#FFFFFF'};\n display: flex;\n border: none;\n cursor: pointer;\n background: none;\n align-items: center;\n padding:0 0 2px;\n border-bottom: ${(props) => props.greyCard ? '1px solid #6A767D' : '1px solid #FFFFFF'};\n :hover {\n background-color: ${(props) => props.greyCard ? '#6A767D' : 'rgba(255,255,255,0.90)'};\n }\n svg{\n color: ${(props) => props.greyCard ? '#6A767D' : '#FFFFFF'};\n }\n div {\n color: ${(props) => props.greyCard ? '#6A767D' : '#FFFFFF'};\n }\n`;\nconst ExclusiveIDBuzz = styled.span`\n align-items: center;\n background-color: #DFC526;\n border-radius: 20px;\n color: #001E50;\n display: flex;\n font-size: 10px;\n height: 21px;\n justify-content: center;\n position: relative;\n right: 10px;\n width: 116px;\n top:10.5px;\n @media all and (min-width: 560px) {\n right: 20px;\n }\n @media all and (min-width: 960px) {\n right: 0;\n }\n`\n\ninterface DealerCardProps {\n distanceFromCenter: string;\n handleSeleccionarOnClick?: any;\n handleShowCalendarOnClick?: any;\n // center?: Center,\n isCarousel: boolean;\n dealerInfo: any;\n point: Points;\n slots: any;\n handleShowSlots?: (point: Points) => string | null;\n isCitaPosventa?: boolean;\n isFirstDesktop?: boolean;\n carPickupSelected?: boolean;\n replacementCarSelected?: boolean;\n}\n\nexport const NewDealerCard = React.memo((props: DealerCardProps) => {\n const {\n distanceFromCenter,\n isCarousel,\n dealerInfo,\n point,\n handleShowSlots,\n isCitaPosventa,\n isFirstDesktop,\n carPickupSelected,\n replacementCarSelected\n } = props;\n const isComerciales = useIsComerciales();\n const { suggestionIsAddress } = useSelector((state: OneFormState) => state.formInfo);\n const dealerCompletAdress = `${dealerInfo.markerInfo.dealerInfo.address}, ${dealerInfo.markerInfo.dealerInfo.zipCode} ${dealerInfo.markerInfo.dealerInfo.city}`;\n const {\n centerToCalculateDistance,\n handlePointClickAndCarouselMove,\n handleHoverPoint,\n hoverPoint,\n selectedPoint,\n userIsGeoLocated,\n handleClusterClick,\n } = useMapGeneralController();\n const dispatch = useDispatch();\n // Las instalaciones con codInstalacion del array son excluusivas para IDBuzz\n const installationsIDBuzz = [\n '0300W',\n '03910',\n '03394',\n '0311Q',\n '0311X',\n '52VH1',\n '0321C',\n '30559',\n '03200',\n '53V50',\n '0310W',\n '03917',\n '30083'\n ]\n const { isActive, isHover } = usePinState(selectedPoint, hoverPoint, point);\n const [greyCard, setGreyCard] = useState(false);\n const codInstalacion = point.properties?.dealer?.codInstalacion;\n const iDBuzzExclusive = installationsIDBuzz.includes(codInstalacion) && isComerciales;\n\n const handleIDBuzzExclusive = () => {\n const iDBuzzExlusiveAndComerciales = isComerciales && iDBuzzExclusive\n dispatch({ type: 'UPDATE_FIELDS', payload: { idBuzzExclusive: iDBuzzExlusiveAndComerciales } });\n }\n\n useEffect(() => {\n if (point) {\n if (carPickupSelected && !point.properties.dealer.dmsInfo.pickupCarServiceAvailabe) {\n setGreyCard(true);\n } else if (replacementCarSelected && !point.properties.dealer.dmsInfo.replacementCarServiceAvailable) {\n setGreyCard(true);\n } else {\n setGreyCard(false);\n }\n }\n }, [carPickupSelected, replacementCarSelected, point]);\n\n return (\n <>\n {iDBuzzExclusive && isComerciales &&\n \n Exclusivo para ID.Buzz\n \n }\n {\n e.preventDefault();\n if (isComerciales) {\n handleIDBuzzExclusive()\n }\n if (point.properties.parent_cluster_id) {\n if (window.innerWidth <= 959) {\n handleClusterClick(point, true, true);\n } else {\n handleClusterClick(point, true);\n }\n } else {\n handlePointClickAndCarouselMove(point);\n }\n }}\n onMouseEnter={(e) => {\n if (!isCarousel) {\n e.preventDefault();\n handleHoverPoint(point);\n }\n }}\n onMouseLeave={(e) => {\n if (!isCarousel) {\n e.preventDefault();\n handleHoverPoint(null);\n }\n }}\n >\n
\n {isCarousel ? (\n <>\n {/*card para el carousel*/}\n \n
\n {\n userIsGeoLocated || suggestionIsAddress ? (\n \n \n {dealerInfo.name ? dealerInfo.name : null}\n \n\n \n \n {userIsGeoLocated || suggestionIsAddress\n ? distanceFromCenter\n ? `${distanceFromCenter}km`\n : `${getDistanceFromLatLngCenter(centerToCalculateDistance.current, point)}km`\n : null}\n \n \n \n ) : (\n \n {dealerInfo.name ? dealerInfo.name : null}\n \n )\n }\n
\n \n {!point.properties.dealer.dmsInfo || !point.properties.dealer.dmsInfo.dmsAvailable ? (\n

\n {dealerCompletAdress}\n

\n ) : (\n {dealerCompletAdress}\n )}\n
\n
\n\n {handleShowSlots && handleShowSlots(point) !== null ? (\n \n \n \n {handleShowSlots(point)}\n \n \n {\n point.properties.dealer.dmsInfo && point.properties.dealer.dmsInfo.replacementCarServiceAvailable\n || point.properties.dealer.dmsInfo && point.properties.dealer.dmsInfo.pickupCarServiceAvailabe\n ? (\n
\n {\n point.properties.dealer.dmsInfo.replacementCarServiceAvailable ? (\n \n \n \n ) : null\n }\n {\n point.properties.dealer.dmsInfo.pickupCarServiceAvailabe ? (\n \n \n \n ) : null\n }\n
\n ) : null\n }\n \n )\n : null\n }\n \n ) : (\n <>\n {/*card para los tabs, cualquier breakpoint*/}\n \n
\n {\n userIsGeoLocated || suggestionIsAddress ? (\n \n \n \n {dealerInfo.name ? dealerInfo.name : null}\n \n \n \n \n {userIsGeoLocated || suggestionIsAddress\n ? distanceFromCenter\n ? `${distanceFromCenter}km`\n : `${getDistanceFromLatLngCenter(centerToCalculateDistance.current, point)}km`\n : null}\n \n \n \n ) : (\n \n \n {dealerInfo.name ? dealerInfo.name : null}\n \n \n )\n }\n
\n \n

\n \n {dealerCompletAdress}\n \n

\n
\n
\n\n {handleShowSlots && handleShowSlots(point) !== null ? (\n \n \n \n {handleShowSlots(point)}\n \n \n {\n point.properties.dealer.dmsInfo ? (\n
\n {\n point.properties.dealer.dmsInfo.replacementCarServiceAvailable ? (\n \n \n \n ) : null\n }\n {\n point.properties.dealer.dmsInfo.pickupCarServiceAvailabe ? (\n \n \n \n ) : null\n }\n
\n ) : null\n }\n \n )\n : null\n }\n \n )}\n {isCitaPosventa ? () : }\n
\n \n \n );\n});\n\nconst CitaPosventaCTAs = (props: DealerCardProps) => {\n const {\n carPickupSelected,\n dealerInfo,\n handleSeleccionarOnClick,\n handleShowCalendarOnClick,\n handleShowSlots,\n isCarousel,\n point,\n replacementCarSelected,\n } = props;\n\n const trackingManager = useTrackingManager();\n\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n\n const [greyCard, setGreyCard] = useState(false);\n\n useEffect(() => {\n if (point) {\n if (carPickupSelected && !point.properties.dealer.dmsInfo.pickupCarServiceAvailabe) {\n setGreyCard(true);\n } else if (replacementCarSelected && !point.properties.dealer.dmsInfo.replacementCarServiceAvailable) {\n setGreyCard(true);\n } else {\n setGreyCard(false);\n }\n }\n }, [carPickupSelected, replacementCarSelected, point]);\n return !dealerInfo.dmsInfo || !dealerInfo.dmsInfo.dmsAvailable || handleShowSlots && handleShowSlots(point) === null ? (\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Ver horario',\n },\n dealerInfo\n );\n\n handleShowCalendarOnClick(point);\n }}\n >\n \n Ver calendario\n \n \n {\n point.properties.dealer.dmsInfo ? (\n
\n {\n point.properties.dealer.dmsInfo.replacementCarServiceAvailable ? (\n \n \n \n ) : null\n }\n {\n point.properties.dealer.dmsInfo.pickupCarServiceAvailabe ? (\n \n \n \n ) : null\n }\n
\n ) : null\n }\n \n ) : (\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Seleccionar',\n },\n dealerInfo\n );\n\n handleSeleccionarOnClick(point);\n }}\n >\n \n Seleccionar\n \n \n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Ver más horas',\n },\n dealerInfo\n );\n handleShowCalendarOnClick(point);\n }}\n >\n \n
\n \n Ver más horas\n \n
\n \n
\n \n );\n};\n\nconst LeadsCTAs = (props: DealerCardProps) => {\n const { handleSeleccionarOnClick, dealerInfo, point } = props;\n\n const trackingManager = useTrackingManager();\n\n return (\n \n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick(\n {\n contentId: 'Seleccionar',\n },\n dealerInfo\n );\n\n handleSeleccionarOnClick(point);\n }}\n >\n Seleccionar\n \n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport {\n styled,\n Layout,\n Breakpoints,\n} from '@volkswagen-onehub/components-core';\nimport { Points } from 'src/types';\nimport { useMapGeneralController } from 'src/feature-app';\nimport { SelectedTab } from 'src/types';\n\nconst TabsWrapper = styled.div`\n width: 100%;\n height: 100%;\n padding-left: 5px;\n padding-top: 5px;\n @media all and (min-width: 960px) {\n /* width: 380px; */\n /* Falta ver como se comporta este width: 100% con el scroll */\n width: 100%;\n }\n\n & > div {\n @media all and (min-width: 960px) {\n height: calc(100vh - 174px);\n overflow-y: auto;\n padding-bottom: 24px;\n }\n @media all and (min-width: 1600px) {\n height: calc(100vh - 200px);\n }\n }\n`;\n\nconst WidthWrapper = styled.div`\n width: 100vw;\n @media all and (min-width: 960px) {\n width: 100%;\n }\n`;\n\ninterface SeleccionDealerTabsProps {\n pointsByDistance?: Points[];\n pointsByTime?: Points[];\n isTimeSelected?: boolean;\n setIsTimeSelected?: React.Dispatch>;\n renderPoints: (points: Points[], isTime?: boolean) => JSX.Element[];\n setPreSelectedOrderValue?: React.Dispatch>;\n preSelectedOrderValue?: string;\n pointsToList: Points[];\n}\n\nexport function SeleccionDealerTabs(props: SeleccionDealerTabsProps) {\n const {\n pointsByDistance,\n pointsByTime,\n isTimeSelected,\n setIsTimeSelected,\n renderPoints,\n setPreSelectedOrderValue,\n preSelectedOrderValue,\n pointsToList,\n } = props;\n const { clusters } = useMapGeneralController();\n\n const [defaultIndex, setDefaultIndex] = useState(0);\n\n useEffect(() => {\n if (preSelectedOrderValue && preSelectedOrderValue === 'horario') {\n setDefaultIndex(1);\n } else {\n setDefaultIndex(0);\n }\n }, [preSelectedOrderValue]);\n\n return (\n \n \n {renderPoints(pointsToList, true)}\n\n {/* \n \n Ordenar por:\n \n */}\n\n {/* \n {\n setDefaultIndex(index);\n if (index === 0) {\n setPreSelectedOrderValue('ubicacion');\n } else {\n setPreSelectedOrderValue('horario');\n }\n }}\n defaultIndex={defaultIndex}\n >\n {{\n title: 'Ubicación',\n content: renderPoints(pointsToList, false),\n key: 'ubicacion',\n }}\n {{ title: 'Horario', content: renderPoints(pointsToList, true), key: 'horario' }}\n \n */}\n \n \n );\n}\n","import { styled } from '@volkswagen-onehub/components-core';\nimport { css } from 'styled-components';\n\ninterface styledWrapperProps { \n notALayer?: boolean;\n isFiltrosSuggest: boolean;\n isLocating?: boolean;\n inputFocus?: boolean;\n formTheme?: string;\n isModeloSuggest?: boolean;\n isFullScreen?: boolean;\n goUp?: boolean;\n autoWidth?: boolean;\n}\n\n\nexport const MagnifierLabel = styled.div`\n color: ${(props) => (props.isFiltrosSuggest || props.formTheme === 'inverted' ? '#001e50' : '#ffffff')};\n padding-right: 8px;\n display: flex;\n align-items: center;\n\n & svg {\n fill: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' :'#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n }\n`;\nexport const CloseButton = styled.button`\n cursor: pointer;\n border: none;\n outline: none;\n background: transparent;\n padding-left: 8px;\n display: flex;\n align-items: center;\n\n & svg {\n fill: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n }\n`;\n\nexport const StyledWrapper = styled.div`\n display: flex;\n justify-content: flex-start;\n margin-top: ${(props) => (props.isFiltrosSuggest ? '24px' : null)};\n padding: 9px 16px;\n border-radius: 8px;\n box-shadow: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '0 0 0 1px #6A767D' : '0 0 0 1px #dfe4e8'\n : props.inputFocus\n ? '0 0 0 2px #00B0F0'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '0 0 0 1px #ffffff' : '0 0 0 1px #001E50'\n };\n\n & .react-autosuggest__container {\n width: 100%;\n }\n\n & .react-autosuggest__input {\n width: 100%;\n padding: 8px 0;\n border: none;\n background: transparent;\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n /* Añadir puntos suspensivos para el placeholder en mobile */\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n /* WebKit, Edge */\n ::-webkit-input-placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8' \n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n }\n /* Firefox 4-18 */\n :-moz-placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n opacity: 1;\n }\n /* Firefox 19+ */\n ::-moz-placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n opacity: 1;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n /* IE 10-11 */\n :-ms-input-placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n }\n /* Edge */\n ::-ms-input-placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n }\n /* MODERN BROWSER */\n ::placeholder {\n color: ${(props) =>\n props.isLocating\n ? props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#6A767D' : '#dfe4e8'\n : props.isFiltrosSuggest || props.formTheme === 'inverted'\n ? '#ffffff' : '#001e50'\n };\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n }\n }\n\n & .react-autosuggest__input--focused {\n outline: none;\n }\n\n & .react-autosuggest__input--open {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n & .react-autosuggest__suggestions-container {\n display: none;\n width: 100%;\n }\n\n & .react-autosuggest__suggestions-container--open {\n display: block;\n position: absolute;\n height: max-content;\n border: 1px solid #cccccc;\n\tborder-radius: 4px;\n background: #ffffff; \n font-family: Helvetica, sans-serif;\n font-weight: 300;\n font-size: 16px;\n border-bottom-left-radius: 4px;\n border-bottom-right-radius: 4px;\n z-index: 1060;\n overflow: hidden;\n border: none;\n box-shadow: 0px 12px 24px 0px rgba(0, 0, 0, 0.12);\n\n left: 0;\n top: ${(props)=>props.goUp ? '0' : '53px'};\n transform: ${(props)=>props.goUp ? 'translateY(-100%)' : null};\n \n ${(props) =>\n props.isFiltrosSuggest\n ? css`\n width: calc( 100% + 68x); \n @media screen and (min-width: 960px) {\n width: 400px; \n }\n `\n : props.isModeloSuggest ?\n css`\n width: var(--size-grid020);\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n } \n `\n : props.isFullScreen ? \n css`\n width: var(--size-grid020);\n @media all and (min-width: 960px) {\n width: ${(props) => (props.autoWidth ? '100%' : 'var(--size-grid013)')};\n }\n @media all and (min-width: 1280px) {\n width:${(props) => (props.autoWidth ? '100%' : 'var(--size-grid014)')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.autoWidth ? '100%' : 'var(--size-grid012)')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.autoWidth ? '100%' : 'var(--size-grid010)')};\n }\n `\n :css`\n width: calc( 100% + 68x); \n @media screen and (min-width: 960px) {\n width: 720px;\n }\n `}\n }\n\n & .react-autosuggest__suggestions-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n overflow: hidden scroll;\n height: max-content;\n max-height: 170px;\n @media all and (min-height: 500px) {\n max-height: 230px;\n }\n @media all and (min-height: 800px) {\n max-height: 300px;\n }\n @media all and (min-height: 800px) {\n max-height: 350px;\n }\n }\n\n & .react-autosuggest__suggestion {\n cursor: pointer;\n padding: 10px 20px;\n left: 0;\n :hover {\n * {\n color: #0040c5;\n }\n svg {\n fill: #0040c5;\n }\n }\n }\n`;\n\nexport const SuggestionWrapper = styled.div`\n width: 100%;\n display: flex;\n align-items: flex-start;\n text-align: left;\n color: #001e50;\n`;\n","import React, { Component } from 'react';\n\nconst style = {\n width: '100%',\n height: '100%',\n left: 0,\n top: 0,\n margin: 0,\n padding: 0,\n position: 'absolute',\n};\n\nexport default class GoogleMapMap extends Component {\n shouldComponentUpdate() {\n return false; // disable react on this div\n }\n\n render() {\n const { registerChild } = this.props;\n return
;\n }\n}\n","import EventEmitter from 'eventemitter3';\n\nexport default class MarkerDispatcher extends EventEmitter {\n constructor(gmapInstance) {\n super();\n this.gmapInstance = gmapInstance;\n }\n\n getChildren() {\n return this.gmapInstance.props.children;\n }\n\n getMousePosition() {\n return this.gmapInstance.mouse_;\n }\n\n getUpdateCounter() {\n return this.gmapInstance.updateCounter_;\n }\n\n dispose() {\n this.gmapInstance = null;\n this.removeAllListeners();\n }\n}\n","// https://github.com/acdlite/recompose/blob/master/src/packages/recompose/utils/omit.js\nconst omit = (obj, keys) => {\n const { ...rest } = obj;\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (key in rest) {\n delete rest[key];\n }\n }\n return rest;\n};\n\nexport default omit;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @providesModule shallowEqual\n * @typechecks\n * @flow\n */\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n }\n // Step 6.a: NaN == NaN\n // eslint-disable-next-line no-self-compare\n return x !== x && y !== y;\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (\n typeof objA !== 'object' ||\n objA === null ||\n typeof objB !== 'object' ||\n objB === null\n ) {\n return false;\n }\n\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n for (let i = 0; i < keysA.length; i++) {\n if (\n !hasOwnProperty.call(objB, keysA[i]) ||\n !is(objA[keysA[i]], objB[keysA[i]])\n ) {\n return false;\n }\n }\n\n return true;\n}\n\nexport default shallowEqual;\n/* src: https://github.com/facebook/fbjs/blob/master/packages/fbjs/src/core/shallowEqual.js */\n","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\n// utils\nimport omit from './utils/omit';\nimport shallowEqual from './utils/shallowEqual';\n\nconst mainStyle = {\n width: '100%',\n height: '100%',\n left: 0,\n top: 0,\n margin: 0,\n padding: 0,\n position: 'absolute',\n};\n\nconst style = {\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n backgroundColor: 'transparent',\n position: 'absolute',\n};\n\nexport default class GoogleMapMarkers extends Component {\n /* eslint-disable react/forbid-prop-types */\n static propTypes = {\n geoService: PropTypes.any,\n style: PropTypes.any,\n distanceToMouse: PropTypes.func,\n dispatcher: PropTypes.any,\n onChildClick: PropTypes.func,\n onChildMouseDown: PropTypes.func,\n onChildMouseLeave: PropTypes.func,\n onChildMouseEnter: PropTypes.func,\n getHoverDistance: PropTypes.func,\n insideMapPanes: PropTypes.bool,\n prerender: PropTypes.bool,\n };\n /* eslint-enable react/forbid-prop-types */\n\n static defaultProps = {\n insideMapPanes: false,\n prerender: false,\n };\n\n constructor(props) {\n super(props);\n\n this.dimensionsCache_ = {};\n this.hoverKey_ = null;\n this.hoverChildProps_ = null;\n this.allowMouse_ = true;\n\n this.state = { ...this._getState(), hoverKey: null };\n }\n\n componentDidMount() {\n this.props.dispatcher.on('kON_CHANGE', this._onChangeHandler);\n this.props.dispatcher.on(\n 'kON_MOUSE_POSITION_CHANGE',\n this._onMouseChangeHandler\n );\n this.props.dispatcher.on('kON_CLICK', this._onChildClick);\n this.props.dispatcher.on('kON_MDOWN', this._onChildMouseDown);\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n if (this.props.experimental === true) {\n return (\n !shallowEqual(this.props, nextProps) ||\n !shallowEqual(\n omit(this.state, ['hoverKey']),\n omit(nextState, ['hoverKey'])\n )\n );\n }\n\n return (\n !shallowEqual(this.props, nextProps) ||\n !shallowEqual(this.state, nextState)\n );\n }\n\n componentWillUnmount() {\n this.props.dispatcher.removeListener('kON_CHANGE', this._onChangeHandler);\n this.props.dispatcher.removeListener(\n 'kON_MOUSE_POSITION_CHANGE',\n this._onMouseChangeHandler\n );\n this.props.dispatcher.removeListener('kON_CLICK', this._onChildClick);\n this.props.dispatcher.removeListener('kON_MDOWN', this._onChildMouseDown);\n\n this.dimensionsCache_ = null;\n }\n\n _getState = () => ({\n children: this.props.dispatcher.getChildren(),\n updateCounter: this.props.dispatcher.getUpdateCounter(),\n });\n\n _onChangeHandler = () => {\n if (!this.dimensionsCache_) {\n return;\n }\n\n const prevChildCount = (this.state.children || []).length;\n const state = this._getState();\n\n this.setState(\n state,\n () =>\n (state.children || []).length !== prevChildCount &&\n this._onMouseChangeHandler()\n );\n };\n\n _onChildClick = () => {\n if (this.props.onChildClick) {\n if (this.hoverChildProps_) {\n const hoverKey = this.hoverKey_;\n const childProps = this.hoverChildProps_;\n // click works only on hovered item\n this.props.onChildClick(hoverKey, childProps);\n }\n }\n };\n\n _onChildMouseDown = () => {\n if (this.props.onChildMouseDown) {\n if (this.hoverChildProps_) {\n const hoverKey = this.hoverKey_;\n const childProps = this.hoverChildProps_;\n // works only on hovered item\n this.props.onChildMouseDown(hoverKey, childProps);\n }\n }\n };\n\n _onChildMouseEnter = (hoverKey, childProps) => {\n if (!this.dimensionsCache_) {\n return;\n }\n\n if (this.props.onChildMouseEnter) {\n this.props.onChildMouseEnter(hoverKey, childProps);\n }\n\n this.hoverChildProps_ = childProps;\n this.hoverKey_ = hoverKey;\n this.setState({ hoverKey });\n };\n\n _onChildMouseLeave = () => {\n if (!this.dimensionsCache_) {\n return;\n }\n\n const hoverKey = this.hoverKey_;\n const childProps = this.hoverChildProps_;\n\n if (hoverKey !== undefined && hoverKey !== null) {\n if (this.props.onChildMouseLeave) {\n this.props.onChildMouseLeave(hoverKey, childProps);\n }\n\n this.hoverKey_ = null;\n this.hoverChildProps_ = null;\n this.setState({ hoverKey: null });\n }\n };\n\n _onMouseAllow = (value) => {\n if (!value) {\n this._onChildMouseLeave();\n }\n\n this.allowMouse_ = value;\n };\n\n _onMouseChangeHandler = () => {\n if (this.allowMouse_) {\n this._onMouseChangeHandlerRaf();\n }\n };\n\n _onMouseChangeHandlerRaf = () => {\n if (!this.dimensionsCache_) {\n return;\n }\n\n const mp = this.props.dispatcher.getMousePosition();\n\n if (mp) {\n const distances = [];\n const hoverDistance = this.props.getHoverDistance();\n\n React.Children.forEach(this.state.children, (child, childIndex) => {\n if (!child) return;\n // layers\n if (\n child.props.latLng === undefined &&\n child.props.lat === undefined &&\n child.props.lng === undefined\n ) {\n return;\n }\n\n const childKey =\n child.key !== undefined && child.key !== null\n ? child.key\n : childIndex;\n const dist = this.props.distanceToMouse(\n this.dimensionsCache_[childKey],\n mp,\n child.props\n );\n if (dist < hoverDistance) {\n distances.push({\n key: childKey,\n dist,\n props: child.props,\n });\n }\n });\n\n if (distances.length) {\n distances.sort((a, b) => a.dist - b.dist);\n const hoverKey = distances[0].key;\n const childProps = distances[0].props;\n\n if (this.hoverKey_ !== hoverKey) {\n this._onChildMouseLeave();\n\n this._onChildMouseEnter(hoverKey, childProps);\n }\n } else {\n this._onChildMouseLeave();\n }\n } else {\n this._onChildMouseLeave();\n }\n };\n\n _getDimensions = (key) => {\n const childKey = key;\n return this.dimensionsCache_[childKey];\n };\n\n render() {\n const mainElementStyle = this.props.style || mainStyle;\n this.dimensionsCache_ = {};\n\n const markers = React.Children.map(\n this.state.children,\n (child, childIndex) => {\n if (!child) return undefined;\n if (\n child.props.latLng === undefined &&\n child.props.lat === undefined &&\n child.props.lng === undefined\n ) {\n return React.cloneElement(child, {\n $geoService: this.props.geoService,\n $onMouseAllow: this._onMouseAllow,\n $prerender: this.props.prerender,\n });\n }\n\n const latLng =\n child.props.latLng !== undefined\n ? child.props.latLng\n : { lat: child.props.lat, lng: child.props.lng };\n\n const pt = this.props.insideMapPanes\n ? this.props.geoService.fromLatLngToDivPixel(latLng)\n : this.props.geoService.fromLatLngToCenterPixel(latLng);\n\n const stylePtPos = {\n left: pt.x,\n top: pt.y,\n };\n\n // If the component has a southeast corner defined (either as a LatLng, or a separate\n // lat and lng pair), set the width and height based on the distance between the northwest\n // and the southeast corner to lock the overlay to the correct geographic bounds.\n if (\n child.props.seLatLng !== undefined ||\n (child.props.seLat !== undefined && child.props.seLng !== undefined)\n ) {\n const seLatLng =\n child.props.seLatLng !== undefined\n ? child.props.seLatLng\n : { lat: child.props.seLat, lng: child.props.seLng };\n\n const sePt = this.props.insideMapPanes\n ? this.props.geoService.fromLatLngToDivPixel(seLatLng)\n : this.props.geoService.fromLatLngToCenterPixel(seLatLng);\n\n stylePtPos.width = sePt.x - pt.x;\n stylePtPos.height = sePt.y - pt.y;\n }\n\n const containerPt = this.props.geoService.fromLatLngToContainerPixel(\n latLng\n );\n\n // to prevent rerender on child element i need to pass\n // const params $getDimensions and $dimensionKey instead of dimension object\n const childKey =\n child.key !== undefined && child.key !== null\n ? child.key\n : childIndex;\n\n this.dimensionsCache_[childKey] = {\n x: containerPt.x,\n y: containerPt.y,\n ...latLng,\n };\n\n return (\n \n {React.cloneElement(child, {\n $hover: childKey === this.state.hoverKey,\n $getDimensions: this._getDimensions,\n $dimensionKey: childKey,\n $geoService: this.props.geoService,\n $onMouseAllow: this._onMouseAllow,\n $prerender: this.props.prerender,\n })}\n
\n );\n }\n );\n\n return
{markers}
;\n }\n}\n","import React from 'react';\nimport GoogleMapMarkers from './google_map_markers';\n\nconst style = {\n width: '50%',\n height: '50%',\n left: '50%',\n top: '50%',\n // backgroundColor: 'red',\n margin: 0,\n padding: 0,\n position: 'absolute',\n // opacity: 0.3\n};\n\nexport default function (props) {\n return (\n
\n \n
\n );\n}\n","import { Loader } from '@googlemaps/js-api-loader';\n\nlet loader_;\nlet loadPromise_;\nlet resolveCustomPromise_;\n\nconst _customPromise = new Promise((resolve) => {\n resolveCustomPromise_ = resolve;\n});\n\n// TODO add libraries language and other map options\nexport default (bootstrapURLKeys, heatmapLibrary) => {\n // call from outside google-map-react\n // will be as soon as loadPromise resolved\n if (!bootstrapURLKeys) {\n return _customPromise;\n }\n\n // avoid api to be loaded multiple times\n if (loadPromise_) {\n return loadPromise_;\n }\n\n if (!bootstrapURLKeys.libraries) {\n bootstrapURLKeys.libraries = [];\n }\n\n const libraries = [...bootstrapURLKeys.libraries];\n\n // note: heatmapLibrary will be deprecated on next major\n if (heatmapLibrary) {\n // if heatmapLibrary is present\n // check if we need to add visualization library\n if (libraries.length === 0 || !libraries.includes('visualization')) {\n // if the array isEmpty or visualization is\n // not present, push the visualization library\n libraries.push('visualization');\n }\n console.warn(\n \"heatmapLibrary will be deprecated in the future. Please use { libraries: ['visualization'] } in bootstrapURLKeys property instead\"\n );\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (Object.keys(bootstrapURLKeys).indexOf('callback') > -1) {\n const message = `\"callback\" key in bootstrapURLKeys is not allowed,\n use onGoogleApiLoaded property instead`;\n // eslint-disable-next-line no-console\n console.error(message);\n throw new Error(message);\n }\n }\n\n if (typeof window === 'undefined') {\n throw new Error('google map cannot be loaded outside browser env');\n }\n\n const { key, ...restKeys } = bootstrapURLKeys;\n\n // use single instance of Loader to avoid multiple api loads\n if (!loader_) {\n loader_ = new Loader({\n // need to keep key as a prop for backwards compatibility\n apiKey: key || '',\n ...restKeys,\n libraries,\n });\n }\n\n loadPromise_ = loader_.load().then(() => {\n resolveCustomPromise_(window.google.maps);\n return window.google.maps;\n });\n\n resolveCustomPromise_(loadPromise_);\n\n return loadPromise_;\n};\n","/* eslint-disable import/prefer-default-export */\n\nexport function wrap(n, min, max) {\n const d = max - min;\n return n === max ? n : ((((n - min) % d) + d) % d) + min;\n}\n","import { wrap } from './wrap';\n\nexport default class LatLng {\n static convert = (a) => {\n if (a instanceof LatLng) {\n return a;\n }\n\n if (Array.isArray(a)) {\n return new LatLng(a[0], a[1]);\n }\n\n if ('lng' in a && 'lat' in a) {\n return new LatLng(a.lat, a.lng);\n }\n\n return a;\n };\n\n constructor(lat, lng) {\n if (isNaN(lat) || isNaN(lng)) {\n throw new Error(`Invalid LatLng object: (${lat}, ${lng})`);\n }\n this.lat = +lat;\n this.lng = +lng;\n }\n\n wrap() {\n return new LatLng(this.lat, wrap(this.lng, -180, 180));\n }\n}\n","/* eslint-disable class-methods-use-this */\nimport Point from '@mapbox/point-geometry';\nimport LatLng from './lat_lng';\nimport { wrap } from './wrap';\n\n// A single transform, generally used for a single tile to be scaled, rotated, and zoomed.\nexport default class Transform {\n constructor(tileSize, minZoom, maxZoom) {\n this.tileSize = tileSize || 512; // constant\n\n this._minZoom = minZoom || 0;\n this._maxZoom = maxZoom || 52;\n\n this.latRange = [-85.05113, 85.05113];\n\n this.width = 0;\n this.height = 0;\n this.zoom = 0;\n this.center = new LatLng(0, 0);\n this.angle = 0;\n }\n\n get minZoom() {\n return this._minZoom;\n }\n\n set minZoom(zoom) {\n this._minZoom = zoom;\n this.zoom = Math.max(this.zoom, zoom);\n }\n\n get maxZoom() {\n return this._maxZoom;\n }\n\n set maxZoom(zoom) {\n this._maxZoom = zoom;\n this.zoom = Math.min(this.zoom, zoom);\n }\n\n get worldSize() {\n return this.tileSize * this.scale;\n }\n\n get centerPoint() {\n return new Point(0, 0); // this.size._div(2);\n }\n\n get size() {\n return new Point(this.width, this.height);\n }\n\n get bearing() {\n return (-this.angle / Math.PI) * 180;\n }\n\n set bearing(bearing) {\n this.angle = (-wrap(bearing, -180, 180) * Math.PI) / 180;\n }\n\n get zoom() {\n return this._zoom;\n }\n\n set zoom(zoom) {\n const zoomV = Math.min(Math.max(zoom, this.minZoom), this.maxZoom);\n this._zoom = zoomV;\n this.scale = this.zoomScale(zoomV);\n this.tileZoom = Math.floor(zoomV);\n this.zoomFraction = zoomV - this.tileZoom;\n }\n\n zoomScale(zoom) {\n return Math.pow(2, zoom);\n }\n\n scaleZoom(scale) {\n return Math.log(scale) / Math.LN2;\n }\n\n project(latlng, worldSize) {\n return new Point(\n this.lngX(latlng.lng, worldSize),\n this.latY(latlng.lat, worldSize)\n );\n }\n\n unproject(point, worldSize) {\n return new LatLng(\n this.yLat(point.y, worldSize),\n this.xLng(point.x, worldSize)\n );\n }\n\n get x() {\n return this.lngX(this.center.lng);\n }\n\n get y() {\n return this.latY(this.center.lat);\n }\n\n get point() {\n return new Point(this.x, this.y);\n }\n\n // lat/lon <-> absolute pixel coords convertion\n lngX(lon, worldSize) {\n return ((180 + lon) * (worldSize || this.worldSize)) / 360;\n }\n\n // latitude to absolute y coord\n latY(lat, worldSize) {\n const y =\n (180 / Math.PI) * Math.log(Math.tan(Math.PI / 4 + (lat * Math.PI) / 360));\n return ((180 - y) * (worldSize || this.worldSize)) / 360;\n }\n\n xLng(x, worldSize) {\n return (x * 360) / (worldSize || this.worldSize) - 180;\n }\n\n yLat(y, worldSize) {\n const y2 = 180 - (y * 360) / (worldSize || this.worldSize);\n return (360 / Math.PI) * Math.atan(Math.exp((y2 * Math.PI) / 180)) - 90;\n }\n\n locationPoint(latlng) {\n const p = this.project(latlng);\n return this.centerPoint._sub(this.point._sub(p)._rotate(this.angle));\n }\n\n pointLocation(p) {\n const p2 = this.centerPoint._sub(p)._rotate(-this.angle);\n return this.unproject(this.point.sub(p2));\n }\n}\n","import Point from '@mapbox/point-geometry';\n\nimport LatLng from './lat_lng';\nimport Transform from './transform';\n\nexport default class Geo {\n constructor(tileSize) {\n // left_top view пользует гугл\n // super();\n this.hasSize_ = false;\n this.hasView_ = false;\n this.transform_ = new Transform(tileSize || 512);\n }\n\n setView(center, zoom, bearing) {\n this.transform_.center = LatLng.convert(center);\n this.transform_.zoom = +zoom;\n this.transform_.bearing = +bearing;\n this.hasView_ = true;\n }\n\n setViewSize(width, height) {\n this.transform_.width = width;\n this.transform_.height = height;\n this.hasSize_ = true;\n }\n\n setMapCanvasProjection(maps, mapCanvasProjection) {\n this.maps_ = maps;\n this.mapCanvasProjection_ = mapCanvasProjection;\n }\n\n canProject() {\n return this.hasSize_ && this.hasView_;\n }\n\n hasSize() {\n return this.hasSize_;\n }\n\n /** Returns the pixel position relative to the map center. */\n fromLatLngToCenterPixel(ptLatLng) {\n return this.transform_.locationPoint(LatLng.convert(ptLatLng));\n }\n\n /**\n * Returns the pixel position relative to the map panes,\n * or relative to the map center if there are no panes.\n */\n fromLatLngToDivPixel(ptLatLng) {\n if (this.mapCanvasProjection_) {\n const latLng = new this.maps_.LatLng(ptLatLng.lat, ptLatLng.lng);\n return this.mapCanvasProjection_.fromLatLngToDivPixel(latLng);\n }\n return this.fromLatLngToCenterPixel(ptLatLng);\n }\n\n /** Returns the pixel position relative to the map top-left. */\n fromLatLngToContainerPixel(ptLatLng) {\n if (this.mapCanvasProjection_) {\n const latLng = new this.maps_.LatLng(ptLatLng.lat, ptLatLng.lng);\n return this.mapCanvasProjection_.fromLatLngToContainerPixel(latLng);\n }\n\n const pt = this.fromLatLngToCenterPixel(ptLatLng);\n pt.x -=\n this.transform_.worldSize * Math.round(pt.x / this.transform_.worldSize);\n\n pt.x += this.transform_.width / 2;\n pt.y += this.transform_.height / 2;\n\n return pt;\n }\n\n /** Returns the LatLng for the given offset from the map top-left. */\n fromContainerPixelToLatLng(ptXY) {\n if (this.mapCanvasProjection_) {\n const latLng = this.mapCanvasProjection_.fromContainerPixelToLatLng(ptXY);\n return { lat: latLng.lat(), lng: latLng.lng() };\n }\n\n const ptxy = { ...ptXY };\n ptxy.x -= this.transform_.width / 2;\n ptxy.y -= this.transform_.height / 2;\n const ptRes = this.transform_.pointLocation(Point.convert(ptxy));\n\n ptRes.lng -= 360 * Math.round(ptRes.lng / 360); // convert 2 google format\n return ptRes;\n }\n\n getWidth() {\n return this.transform_.width;\n }\n\n getHeight() {\n return this.transform_.height;\n }\n\n getZoom() {\n return this.transform_.zoom;\n }\n\n getCenter() {\n const ptRes = this.transform_.pointLocation({ x: 0, y: 0 });\n\n return ptRes;\n }\n\n getBounds(margins, roundFactor) {\n const bndT = (margins && margins[0]) || 0;\n const bndR = (margins && margins[1]) || 0;\n const bndB = (margins && margins[2]) || 0;\n const bndL = (margins && margins[3]) || 0;\n\n if (\n this.getWidth() - bndR - bndL > 0 &&\n this.getHeight() - bndT - bndB > 0\n ) {\n const topLeftCorner = this.transform_.pointLocation(\n Point.convert({\n x: bndL - this.getWidth() / 2,\n y: bndT - this.getHeight() / 2,\n })\n );\n const bottomRightCorner = this.transform_.pointLocation(\n Point.convert({\n x: this.getWidth() / 2 - bndR,\n y: this.getHeight() / 2 - bndB,\n })\n );\n\n let res = [\n topLeftCorner.lat,\n topLeftCorner.lng, // NW\n bottomRightCorner.lat,\n bottomRightCorner.lng, // SE\n bottomRightCorner.lat,\n topLeftCorner.lng, // SW\n topLeftCorner.lat,\n bottomRightCorner.lng, // NE\n ];\n\n if (roundFactor) {\n res = res.map((r) => Math.round(r * roundFactor) / roundFactor);\n }\n return res;\n }\n\n return [0, 0, 0, 0];\n }\n}\n","export default function raf(callback) {\n if (window.requestAnimationFrame) {\n return window.requestAnimationFrame(callback);\n }\n\n const nativeRaf =\n window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame;\n\n return nativeRaf\n ? nativeRaf(callback)\n : window.setTimeout(callback, 1e3 / 60);\n}\n","const log2 = Math.log2 ? Math.log2 : (x) => Math.log(x) / Math.LN2;\n\nexport default log2;\n","// source taken from https://github.com/rackt/redux/blob/master/src/utils/pick.js\n\nexport default function pick(obj, fn) {\n return Object.keys(obj).reduce((result, key) => {\n if (fn(obj[key])) {\n result[key] = obj[key]; // eslint-disable-line\n }\n return result;\n }, {});\n}\n","const isEmpty = (val) => {\n // check for empty object {}, array []\n if (val !== null && typeof val === 'object') {\n if (Object.keys(val).length === 0) {\n return true;\n }\n } else if (val === null || val === undefined || val === '') {\n // check for undefined, null and \"\"\n return true;\n }\n return false;\n};\n\nexport default isEmpty;\n","function isObjectLike(value) {\n return !!value && typeof value === 'object';\n}\n\nconst objectToString = Object.prototype.toString;\n\nexport default function isNumber(value) {\n const numberTag = '[object Number]';\n return (\n typeof value === 'number' ||\n (isObjectLike(value) && objectToString.call(value) === numberTag)\n );\n}\n","// http://stackoverflow.com/questions/5899783/detect-safari-chrome-ie-firefox-opera-with-user-agent\nlet detectBrowserResult_ = null;\n\nexport default function detectBrowser() {\n if (detectBrowserResult_) {\n return detectBrowserResult_;\n }\n\n if (typeof navigator !== 'undefined') {\n const isExplorer = navigator.userAgent.indexOf('MSIE') > -1;\n const isFirefox = navigator.userAgent.indexOf('Firefox') > -1;\n const isOpera = navigator.userAgent.toLowerCase().indexOf('op') > -1;\n\n let isChrome = navigator.userAgent.indexOf('Chrome') > -1;\n let isSafari = navigator.userAgent.indexOf('Safari') > -1;\n\n if (isChrome && isSafari) {\n isSafari = false;\n }\n\n if (isChrome && isOpera) {\n isChrome = false;\n }\n\n detectBrowserResult_ = {\n isExplorer,\n isFirefox,\n isOpera,\n isChrome,\n isSafari,\n };\n return detectBrowserResult_;\n }\n\n detectBrowserResult_ = {\n isChrome: true,\n isExplorer: false,\n isFirefox: false,\n isOpera: false,\n isSafari: false,\n };\n\n return detectBrowserResult_;\n}\n","// source taken from https://github.com/rackt/redux/blob/master/src/utils/isPlainObject.js\nconst fnToString = (fn) => Function.prototype.toString.call(fn);\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nexport default function isPlainObject(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n const proto =\n typeof obj.constructor === 'function'\n ? Object.getPrototypeOf(obj)\n : Object.prototype;\n\n if (proto === null) {\n return true;\n }\n\n const constructor = proto.constructor;\n\n return (\n typeof constructor === 'function' &&\n constructor instanceof constructor &&\n fnToString(constructor) === fnToString(Object)\n );\n}\n","// feature detection for passive support\n// see: https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\nfunction hasPassiveSupport() {\n let passiveSupported = false;\n\n try {\n const options = Object.defineProperty({}, 'passive', {\n get() {\n passiveSupported = true;\n },\n });\n\n window.addEventListener('test', options, options);\n window.removeEventListener('test', options, options);\n } catch (err) {\n passiveSupported = false;\n }\n\n return passiveSupported;\n}\n\nexport default function addPassiveEventListener(\n element,\n eventName,\n func,\n capture\n) {\n element.addEventListener(\n eventName,\n func,\n hasPassiveSupport()\n ? {\n capture,\n passive: true,\n }\n : capture\n );\n}\n","/* eslint-disable */\n/**\n* Detect Element Resize.\n* Forked in order to guard against unsafe 'window' and 'document' references.\n*\n* https://github.com/sdecima/javascript-detect-element-resize\n* Sebastian Decima\n*\n* version: 0.5.3\n**/\n\nimport addPassiveEventListener from './passiveEvents';\n\n// Reliable `window` and `document` detection\nvar canUseDOM = !!(typeof window !== 'undefined' &&\n window.document &&\n window.document.createElement);\n\n// Check `document` and `window` in case of server-side rendering\nvar _window;\nif (canUseDOM) {\n _window = window;\n} else if (typeof self !== 'undefined') {\n _window = self;\n} else {\n _window = this;\n}\n\nvar attachEvent = typeof document !== 'undefined' && document.attachEvent;\nvar stylesCreated = false;\n\nif (canUseDOM && !attachEvent) {\n var requestFrame = (function () {\n var raf = _window.requestAnimationFrame ||\n _window.mozRequestAnimationFrame ||\n _window.webkitRequestAnimationFrame ||\n function (fn) {\n return _window.setTimeout(fn, 20);\n };\n return function (fn) {\n return raf(fn);\n };\n })();\n\n var cancelFrame = (function () {\n var cancel = _window.cancelAnimationFrame ||\n _window.mozCancelAnimationFrame ||\n _window.webkitCancelAnimationFrame ||\n _window.clearTimeout;\n return function (id) {\n return cancel(id);\n };\n })();\n\n var resetTriggers = function (element) {\n var triggers = element.__resizeTriggers__,\n expand = triggers.firstElementChild,\n contract = triggers.lastElementChild,\n expandChild = expand.firstElementChild;\n contract.scrollLeft = contract.scrollWidth;\n contract.scrollTop = contract.scrollHeight;\n expandChild.style.width = expand.offsetWidth + 1 + 'px';\n expandChild.style.height = expand.offsetHeight + 1 + 'px';\n expand.scrollLeft = expand.scrollWidth;\n expand.scrollTop = expand.scrollHeight;\n };\n\n var checkTriggers = function (element) {\n return element.offsetWidth != element.__resizeLast__.width ||\n element.offsetHeight != element.__resizeLast__.height;\n };\n\n var scrollListener = function (e) {\n var element = this;\n resetTriggers(this);\n if (this.__resizeRAF__) cancelFrame(this.__resizeRAF__);\n this.__resizeRAF__ = requestFrame(function () {\n if (checkTriggers(element)) {\n element.__resizeLast__.width = element.offsetWidth;\n element.__resizeLast__.height = element.offsetHeight;\n element.__resizeListeners__.forEach(function (fn) {\n fn.call(element, e);\n });\n }\n });\n };\n\n /* Detect CSS Animations support to detect element display/re-attach */\n var animation = false,\n animationstring = 'animation',\n keyframeprefix = '',\n animationstartevent = 'animationstart',\n domPrefixes = 'Webkit Moz O ms'.split(' '),\n startEvents = 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(\n ' '\n ),\n pfx = '';\n\n if (canUseDOM) {\n var elm = document.createElement('fakeelement');\n if (elm.style.animationName !== undefined) {\n animation = true;\n }\n\n if (animation === false) {\n for (var i = 0; i < domPrefixes.length; i++) {\n if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {\n pfx = domPrefixes[i];\n animationstring = pfx + 'Animation';\n keyframeprefix = '-' + pfx.toLowerCase() + '-';\n animationstartevent = startEvents[i];\n animation = true;\n break;\n }\n }\n }\n }\n\n var animationName = 'resizeanim';\n var animationKeyframes = '@' +\n keyframeprefix +\n 'keyframes ' +\n animationName +\n ' { from { opacity: 0; } to { opacity: 0; } } ';\n var animationStyle = keyframeprefix +\n 'animation: 1ms ' +\n animationName +\n '; ';\n}\n\nvar createStyles = function () {\n if (!stylesCreated) {\n //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360\n var css = (animationKeyframes ? animationKeyframes : '') +\n '.resize-triggers { ' +\n (animationStyle ? animationStyle : '') +\n 'visibility: hidden; opacity: 0; } ' +\n '.resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',\n head = document.head || document.getElementsByTagName('head')[0],\n style = document.createElement('style');\n\n style.type = 'text/css';\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n\n head.appendChild(style);\n stylesCreated = true;\n }\n};\n\nvar addResizeListener = function (element, fn) {\n if (element.parentNode === undefined) {\n var tempParentDiv = document.createElement('div');\n element.parentNode = tempParentDiv;\n }\n element = element.parentNode;\n if (attachEvent)\n element.attachEvent('onresize', fn);\n else {\n if (!element.__resizeTriggers__) {\n if (getComputedStyle(element).position == 'static')\n element.style.position = 'relative';\n createStyles();\n element.__resizeLast__ = {};\n element.__resizeListeners__ = [];\n (element.__resizeTriggers__ = document.createElement(\n 'div'\n )).className = 'resize-triggers';\n element.__resizeTriggers__.innerHTML = '
' +\n '
';\n element.appendChild(element.__resizeTriggers__);\n resetTriggers(element);\n\n addPassiveEventListener(element, 'scroll', scrollListener, true);\n\n /* Listen for a css animation to detect element display/re-attach */\n animationstartevent &&\n element.__resizeTriggers__.addEventListener(\n animationstartevent,\n function (e) {\n if (e.animationName == animationName) resetTriggers(element);\n }\n );\n }\n element.__resizeListeners__.push(fn);\n }\n};\n\nvar removeResizeListener = function (element, fn) {\n element = element.parentNode;\n if (attachEvent)\n element.detachEvent('onresize', fn);\n else {\n element.__resizeListeners__.splice(\n element.__resizeListeners__.indexOf(fn),\n 1\n );\n if (!element.__resizeListeners__.length) {\n element.removeEventListener('scroll', scrollListener);\n element.__resizeTriggers__ = !element.removeChild(\n element.__resizeTriggers__\n );\n }\n }\n};\n\nexport {\n addResizeListener,\n removeResizeListener,\n};\n","/* eslint-disable import/no-extraneous-dependencies, react/forbid-prop-types, react/no-find-dom-node, no-console, no-undef */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\n\n// helpers\nimport GoogleMapMap from './google_map_map';\nimport MarkerDispatcher from './marker_dispatcher';\nimport GoogleMapMarkers from './google_map_markers';\nimport GoogleMapMarkersPrerender from './google_map_markers_prerender';\nimport { generateHeatmap, optionsHeatmap } from './google_heatmap';\n\n// loaders\nimport googleMapLoader from './loaders/google_map_loader';\n\n// lib\nimport Geo from './lib/geo';\n\n// tools\nimport raf from './utils/raf';\nimport log2 from './utils/log2';\nimport omit from './utils/omit';\nimport pick from './utils/pick';\nimport isEmpty from './utils/isEmpty';\nimport isNumber from './utils/isNumber';\nimport detectBrowser from './utils/detect';\nimport shallowEqual from './utils/shallowEqual';\nimport isPlainObject from './utils/isPlainObject';\nimport isArraysEqualEps from './utils/isArraysEqualEps';\nimport {\n addResizeListener,\n removeResizeListener,\n} from './utils/detectElementResize';\nimport addPassiveEventListener from './utils/passiveEvents';\n\n// consts\nconst kEPS = 0.00001;\nconst K_GOOGLE_TILE_SIZE = 256;\n// real minZoom calculated here _getMinZoom\nconst K_IDLE_TIMEOUT = 100;\nconst K_IDLE_CLICK_TIMEOUT = 300;\nconst DEFAULT_MIN_ZOOM = 3;\n// Starting with version 3.32, the maps API calls `draw()` each frame during\n// a zoom animation.\nconst DRAW_CALLED_DURING_ANIMATION_VERSION = 32;\nconst IS_REACT_16 = ReactDOM.createPortal !== undefined;\n\nconst createPortal = IS_REACT_16\n ? ReactDOM.createPortal\n : ReactDOM.unstable_renderSubtreeIntoContainer;\n\nfunction defaultOptions_(/* maps */) {\n return {\n overviewMapControl: false,\n streetViewControl: false,\n rotateControl: true,\n mapTypeControl: false,\n // disable poi\n styles: [\n {\n featureType: 'poi',\n elementType: 'labels',\n stylers: [{ visibility: 'off' }],\n },\n ],\n minZoom: DEFAULT_MIN_ZOOM, // dynamically recalculted if possible during init\n };\n}\n\nconst latLng2Obj = (latLng) =>\n isPlainObject(latLng) ? latLng : { lat: latLng[0], lng: latLng[1] };\n\nconst _checkMinZoom = (zoom, minZoom) => {\n if (process.env.NODE_ENV !== 'production') {\n if (zoom < minZoom) {\n console.warn(\n 'GoogleMap: ' + // eslint-disable-line\n 'minZoom option is less than recommended ' +\n 'minZoom option for your map sizes.\\n' +\n 'overrided to value ' +\n minZoom\n );\n }\n }\n\n if (minZoom < zoom) {\n return zoom;\n }\n return minZoom;\n};\n\nconst isFullScreen = () =>\n document.fullscreen ||\n document.webkitIsFullScreen ||\n document.mozFullScreen ||\n document.msFullscreenElement;\n\nclass GoogleMap extends Component {\n static propTypes = {\n apiKey: PropTypes.string,\n bootstrapURLKeys: PropTypes.any,\n\n defaultCenter: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.shape({\n lat: PropTypes.number,\n lng: PropTypes.number,\n }),\n ]),\n center: PropTypes.oneOfType([\n PropTypes.array,\n PropTypes.shape({\n lat: PropTypes.number,\n lng: PropTypes.number,\n }),\n ]),\n defaultZoom: PropTypes.number,\n zoom: PropTypes.number,\n onBoundsChange: PropTypes.func,\n onChange: PropTypes.func,\n onClick: PropTypes.func,\n onChildClick: PropTypes.func,\n onChildMouseDown: PropTypes.func,\n onChildMouseUp: PropTypes.func,\n onChildMouseMove: PropTypes.func,\n onChildMouseEnter: PropTypes.func,\n onChildMouseLeave: PropTypes.func,\n onZoomAnimationStart: PropTypes.func,\n onZoomAnimationEnd: PropTypes.func,\n onDrag: PropTypes.func,\n onDragEnd: PropTypes.func,\n onMapTypeIdChange: PropTypes.func,\n onTilesLoaded: PropTypes.func,\n options: PropTypes.any,\n distanceToMouse: PropTypes.func,\n hoverDistance: PropTypes.number,\n debounced: PropTypes.bool,\n margin: PropTypes.array,\n googleMapLoader: PropTypes.any,\n onGoogleApiLoaded: PropTypes.func,\n yesIWantToUseGoogleMapApiInternals: PropTypes.bool,\n draggable: PropTypes.bool,\n style: PropTypes.any,\n resetBoundsOnResize: PropTypes.bool,\n layerTypes: PropTypes.arrayOf(PropTypes.string), // ['TransitLayer', 'TrafficLayer']\n shouldUnregisterMapOnUnmount: PropTypes.bool,\n };\n\n static defaultProps = {\n distanceToMouse(pt, mousePos /* , markerProps */) {\n return Math.sqrt(\n (pt.x - mousePos.x) * (pt.x - mousePos.x) +\n (pt.y - mousePos.y) * (pt.y - mousePos.y)\n );\n },\n hoverDistance: 30,\n debounced: true,\n options: defaultOptions_,\n googleMapLoader,\n yesIWantToUseGoogleMapApiInternals: false,\n style: {\n width: '100%',\n height: '100%',\n margin: 0,\n padding: 0,\n position: 'relative',\n },\n layerTypes: [],\n heatmap: {},\n heatmapLibrary: false,\n shouldUnregisterMapOnUnmount: true,\n };\n\n static googleMapLoader = googleMapLoader; // eslint-disable-line\n\n constructor(props) {\n super(props);\n this.mounted_ = false;\n this.initialized_ = false;\n this.googleApiLoadedCalled_ = false;\n\n this.map_ = null;\n this.maps_ = null;\n this.prevBounds_ = null;\n this.heatmap = null;\n\n this.layers_ = {};\n\n this.mouse_ = null;\n this.mouseMoveTime_ = 0;\n this.boundingRect_ = null;\n this.mouseInMap_ = true;\n\n this.dragTime_ = 0;\n this.fireMouseEventOnIdle_ = false;\n this.updateCounter_ = 0;\n\n this.markersDispatcher_ = new MarkerDispatcher(this);\n this.geoService_ = new Geo(K_GOOGLE_TILE_SIZE);\n this.centerIsObject_ = isPlainObject(this.props.center);\n\n this.minZoom_ = DEFAULT_MIN_ZOOM;\n this.defaultDraggableOption_ = true;\n\n this.zoomControlClickTime_ = 0;\n\n this.childMouseDownArgs_ = null;\n this.childMouseUpTime_ = 0;\n\n this.googleMapDom_ = null;\n\n if (process.env.NODE_ENV !== 'production') {\n if (this.props.apiKey) {\n console.warn(\n 'GoogleMap: ' + // eslint-disable-line no-console\n 'apiKey is deprecated, use ' +\n 'bootstrapURLKeys={{key: YOUR_API_KEY}} instead.'\n );\n }\n\n if (this.props.onBoundsChange) {\n console.warn(\n 'GoogleMap: ' + // eslint-disable-line no-console\n 'onBoundsChange is deprecated, use ' +\n 'onChange({center, zoom, bounds, ...other}) instead.'\n );\n }\n\n if (isEmpty(this.props.center) && isEmpty(this.props.defaultCenter)) {\n console.warn(\n 'GoogleMap: center or defaultCenter property must be defined' // eslint-disable-line no-console\n );\n }\n\n if (isEmpty(this.props.zoom) && isEmpty(this.props.defaultZoom)) {\n console.warn(\n 'GoogleMap: zoom or defaultZoom property must be defined' // eslint-disable-line no-console\n );\n }\n }\n\n if (this._isCenterDefined(this.props.center || this.props.defaultCenter)) {\n const propsCenter = latLng2Obj(\n this.props.center || this.props.defaultCenter\n );\n this.geoService_.setView(\n propsCenter,\n this.props.zoom || this.props.defaultZoom,\n 0\n );\n }\n\n this.zoomAnimationInProgress_ = false;\n\n this.state = {\n overlay: null,\n };\n }\n\n componentDidMount() {\n this.mounted_ = true;\n this.markersDispatcher_ = new MarkerDispatcher(this);\n addPassiveEventListener(window, 'resize', this._onWindowResize, false);\n addPassiveEventListener(window, 'keydown', this._onKeyDownCapture, true);\n const mapDom = ReactDOM.findDOMNode(this.googleMapDom_);\n // gmap can't prevent map drag if mousedown event already occured\n // the only workaround I find is prevent mousedown native browser event\n\n if (mapDom) {\n addPassiveEventListener(\n mapDom,\n 'mousedown',\n this._onMapMouseDownNative,\n true\n );\n }\n\n addPassiveEventListener(window, 'mouseup', this._onChildMouseUp, false);\n const bootstrapURLKeys = {\n ...(this.props.apiKey && { key: this.props.apiKey }),\n ...this.props.bootstrapURLKeys,\n };\n\n this.props.googleMapLoader(bootstrapURLKeys, this.props.heatmapLibrary); // we can start load immediatly\n\n setTimeout(\n () => {\n // to detect size\n this._setViewSize();\n if (\n this._isCenterDefined(this.props.center || this.props.defaultCenter)\n ) {\n this._initMap();\n }\n },\n 0,\n this\n );\n if (this.props.resetBoundsOnResize) {\n const that = this;\n addResizeListener(mapDom, that._mapDomResizeCallback);\n }\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n // draggable does not affect inner components\n return (\n !shallowEqual(\n omit(this.props, ['draggable']),\n omit(nextProps, ['draggable'])\n ) || !shallowEqual(this.state, nextState)\n );\n }\n\n componentDidUpdate(prevProps) {\n if (process.env.NODE_ENV !== 'production') {\n if (!shallowEqual(prevProps.defaultCenter, this.props.defaultCenter)) {\n console.warn(\n \"GoogleMap: defaultCenter prop changed. You can't change default props.\"\n );\n }\n\n if (!shallowEqual(prevProps.defaultZoom, this.props.defaultZoom)) {\n console.warn(\n \"GoogleMap: defaultZoom prop changed. You can't change default props.\"\n );\n }\n }\n\n if (\n !this._isCenterDefined(prevProps.center) &&\n this._isCenterDefined(this.props.center)\n ) {\n setTimeout(() => this._initMap(), 0);\n }\n\n if (this.map_) {\n const centerLatLng = this.geoService_.getCenter();\n if (this._isCenterDefined(this.props.center)) {\n const currentCenter = latLng2Obj(this.props.center);\n const prevCenter = this._isCenterDefined(prevProps.center)\n ? latLng2Obj(prevProps.center)\n : null;\n\n if (\n !prevCenter ||\n Math.abs(currentCenter.lat - prevCenter.lat) +\n Math.abs(currentCenter.lng - prevCenter.lng) >\n kEPS\n ) {\n if (\n Math.abs(currentCenter.lat - centerLatLng.lat) +\n Math.abs(currentCenter.lng - centerLatLng.lng) >\n kEPS\n ) {\n this.map_.panTo({\n lat: currentCenter.lat,\n lng: currentCenter.lng,\n });\n }\n }\n }\n\n if (!isEmpty(this.props.zoom)) {\n // if zoom chaged by user\n if (Math.abs(this.props.zoom - prevProps.zoom) > 0) {\n this.map_.setZoom(this.props.zoom);\n }\n }\n\n if (!isEmpty(prevProps.draggable) && isEmpty(this.props.draggable)) {\n // reset to default\n this.map_.setOptions({ draggable: this.defaultDraggableOption_ });\n } else if (!shallowEqual(prevProps.draggable, this.props.draggable)) {\n // also prevent this on window 'mousedown' event to prevent map move\n this.map_.setOptions({ draggable: this.props.draggable });\n }\n\n // use shallowEqual to try avoid calling map._setOptions if only the ref changes\n if (\n !isEmpty(this.props.options) &&\n !shallowEqual(prevProps.options, this.props.options)\n ) {\n const mapPlainObjects = pick(this.maps_, isPlainObject);\n let options =\n typeof this.props.options === 'function'\n ? this.props.options(mapPlainObjects)\n : this.props.options;\n // remove zoom, center and draggable options as these are managed by google-maps-react\n options = omit(options, ['zoom', 'center', 'draggable']);\n\n if ('minZoom' in options) {\n const minZoom = this._computeMinZoom(options.minZoom);\n options.minZoom = _checkMinZoom(options.minZoom, minZoom);\n }\n\n this.map_.setOptions(options);\n }\n\n if (!shallowEqual(this.props.layerTypes, prevProps.layerTypes)) {\n Object.keys(this.layers_).forEach((layerKey) => {\n this.layers_[layerKey].setMap(null);\n delete this.layers_[layerKey];\n });\n this._setLayers(this.props.layerTypes);\n }\n\n if (\n this.heatmap &&\n !shallowEqual(this.props.heatmap.positions, prevProps.heatmap.positions)\n ) {\n this.heatmap.setData(\n this.props.heatmap.positions.map((p) => ({\n location: new this.maps_.LatLng(p.lat, p.lng),\n weight: p.weight,\n }))\n );\n }\n if (\n this.heatmap &&\n !shallowEqual(this.props.heatmap.options, prevProps.heatmap.options)\n ) {\n Object.keys(this.props.heatmap.options).forEach((option) => {\n this.heatmap.set(option, this.props.heatmap.options[option]);\n });\n }\n }\n // emit actions\n this.markersDispatcher_.emit('kON_CHANGE');\n\n if (!shallowEqual(this.props.hoverDistance, prevProps.hoverDistance)) {\n this.markersDispatcher_.emit('kON_MOUSE_POSITION_CHANGE');\n }\n }\n\n componentWillUnmount() {\n this.mounted_ = false;\n const mapDom = ReactDOM.findDOMNode(this.googleMapDom_);\n if (mapDom) {\n mapDom.removeEventListener('mousedown', this._onMapMouseDownNative, true);\n }\n window.removeEventListener('resize', this._onWindowResize);\n window.removeEventListener('keydown', this._onKeyDownCapture);\n window.removeEventListener('mouseup', this._onChildMouseUp, false);\n if (this.props.resetBoundsOnResize) {\n removeResizeListener(mapDom, this._mapDomResizeCallback);\n }\n\n if (this.overlay_) {\n // this triggers overlay_.onRemove(), which will unmount the \n this.overlay_.setMap(null);\n }\n\n if (this.maps_ && this.map_ && this.props.shouldUnregisterMapOnUnmount) {\n // fix google, as otherwise listeners works even without map\n this.map_.setOptions({ scrollwheel: false });\n this.maps_.event.clearInstanceListeners(this.map_);\n }\n\n if (this.props.shouldUnregisterMapOnUnmount) {\n this.map_ = null;\n this.maps_ = null;\n }\n this.markersDispatcher_.dispose();\n\n this.resetSizeOnIdle_ = false;\n\n if (this.props.shouldUnregisterMapOnUnmount) {\n delete this.map_;\n delete this.markersDispatcher_;\n }\n }\n\n // calc minZoom if map size available\n // it's better to not set minZoom less than this calculation gives\n // otherwise there is no homeomorphism between screen coordinates and map\n // (one map coordinate can have different screen coordinates)\n _getMinZoom = () => {\n if (this.geoService_.getWidth() > 0 || this.geoService_.getHeight() > 0) {\n const tilesPerWidth =\n Math.ceil(this.geoService_.getWidth() / K_GOOGLE_TILE_SIZE) + 2;\n const tilesPerHeight =\n Math.ceil(this.geoService_.getHeight() / K_GOOGLE_TILE_SIZE) + 2;\n const maxTilesPerDim = Math.max(tilesPerWidth, tilesPerHeight);\n return Math.ceil(log2(maxTilesPerDim));\n }\n return DEFAULT_MIN_ZOOM;\n };\n\n _computeMinZoom = (minZoom) => {\n if (!isEmpty(minZoom)) {\n return minZoom;\n }\n return this._getMinZoom();\n };\n\n _mapDomResizeCallback = () => {\n this.resetSizeOnIdle_ = true;\n if (this.maps_) {\n const originalCenter = this.props.center || this.props.defaultCenter;\n const currentCenter = this.map_.getCenter();\n this.maps_.event.trigger(this.map_, 'resize');\n this.map_.setCenter(\n this.props.resetBoundsOnResize ? originalCenter : currentCenter\n );\n }\n };\n\n _setLayers = (layerTypes) => {\n layerTypes.forEach((layerType) => {\n this.layers_[layerType] = new this.maps_[layerType]();\n this.layers_[layerType].setMap(this.map_);\n });\n };\n\n _renderPortal = () => (\n \n );\n\n _initMap = () => {\n // only initialize the map once\n if (this.initialized_) {\n return;\n }\n this.initialized_ = true;\n\n const propsCenter = latLng2Obj(\n this.props.center || this.props.defaultCenter\n );\n this.geoService_.setView(\n propsCenter,\n this.props.zoom || this.props.defaultZoom,\n 0\n );\n\n this._onBoundsChanged(); // now we can calculate map bounds center etc...\n\n const bootstrapURLKeys = {\n ...(this.props.apiKey && { key: this.props.apiKey }),\n ...this.props.bootstrapURLKeys,\n };\n\n this.props\n .googleMapLoader(bootstrapURLKeys, this.props.heatmapLibrary)\n .then((maps) => {\n if (!this.mounted_) {\n return;\n }\n\n const centerLatLng = this.geoService_.getCenter();\n\n const propsOptions = {\n zoom: this.props.zoom || this.props.defaultZoom,\n center: new maps.LatLng(centerLatLng.lat, centerLatLng.lng),\n };\n\n // Start Heatmap\n if (this.props.heatmap.positions) {\n Object.assign(this, {\n heatmap: generateHeatmap(maps, this.props.heatmap),\n });\n optionsHeatmap(this.heatmap, this.props.heatmap);\n }\n // End Heatmap\n\n // prevent to exapose full api\n // next props must be exposed (console.log(Object.keys(pick(maps, isPlainObject))))\n // \"Animation\", \"ControlPosition\", \"MapTypeControlStyle\", \"MapTypeId\",\n // \"NavigationControlStyle\", \"ScaleControlStyle\", \"StrokePosition\",\n // \"SymbolPath\", \"ZoomControlStyle\",\n // \"event\", \"DirectionsStatus\", \"DirectionsTravelMode\", \"DirectionsUnitSystem\",\n // \"DistanceMatrixStatus\",\n // \"DistanceMatrixElementStatus\", \"ElevationStatus\", \"GeocoderLocationType\",\n // \"GeocoderStatus\", \"KmlLayerStatus\",\n // \"MaxZoomStatus\", \"StreetViewStatus\", \"TransitMode\", \"TransitRoutePreference\",\n // \"TravelMode\", \"UnitSystem\"\n const mapPlainObjects = pick(maps, isPlainObject);\n const options =\n typeof this.props.options === 'function'\n ? this.props.options(mapPlainObjects)\n : this.props.options;\n const defaultOptions = defaultOptions_(mapPlainObjects);\n\n const draggableOptions = !isEmpty(this.props.draggable) && {\n draggable: this.props.draggable,\n };\n\n const minZoom = this._computeMinZoom(options.minZoom);\n this.minZoom_ = minZoom;\n\n const preMapOptions = {\n ...defaultOptions,\n minZoom,\n ...options,\n ...propsOptions,\n };\n\n this.defaultDraggableOption_ = !isEmpty(preMapOptions.draggable)\n ? preMapOptions.draggable\n : this.defaultDraggableOption_;\n\n const mapOptions = {\n ...preMapOptions,\n ...draggableOptions,\n };\n\n mapOptions.minZoom = _checkMinZoom(mapOptions.minZoom, minZoom);\n\n const map = new maps.Map(\n ReactDOM.findDOMNode(this.googleMapDom_),\n mapOptions\n );\n\n this.map_ = map;\n this.maps_ = maps;\n\n this._setLayers(this.props.layerTypes);\n\n // Parse `google.maps.version` to capture the major version number.\n const versionMatch = maps.version.match(/^3\\.(\\d+)\\./);\n // The major version is the first (and only) captured group.\n const mapsVersion = versionMatch && Number(versionMatch[1]);\n\n // render in overlay\n const this_ = this;\n const overlay = Object.assign(new maps.OverlayView(), {\n onAdd() {\n const K_MAX_WIDTH =\n typeof screen !== 'undefined' ? `${screen.width}px` : '2000px';\n const K_MAX_HEIGHT =\n typeof screen !== 'undefined' ? `${screen.height}px` : '2000px';\n\n const div = document.createElement('div');\n div.style.backgroundColor = 'transparent';\n div.style.position = 'absolute';\n div.style.left = '0px';\n div.style.top = '0px';\n div.style.width = K_MAX_WIDTH; // prevents some chrome draw defects\n div.style.height = K_MAX_HEIGHT;\n\n if (this_.props.overlayViewDivStyle) {\n const { overlayViewDivStyle } = this_.props;\n if (typeof overlayViewDivStyle === 'object') {\n Object.keys(overlayViewDivStyle).forEach((property) => {\n div.style[property] = overlayViewDivStyle[property];\n });\n }\n }\n\n const panes = this.getPanes();\n panes.overlayMouseTarget.appendChild(div);\n this_.geoService_.setMapCanvasProjection(\n maps,\n overlay.getProjection()\n );\n\n if (!IS_REACT_16) {\n createPortal(\n this_,\n this_._renderPortal(),\n div,\n // remove prerendered markers\n () => this_.setState({ overlay: div })\n );\n } else {\n this_.setState({ overlay: div });\n }\n },\n\n onRemove() {\n const renderedOverlay = this_.state.overlay;\n if (renderedOverlay && !IS_REACT_16) {\n ReactDOM.unmountComponentAtNode(renderedOverlay);\n }\n this_.setState({ overlay: null });\n },\n\n draw() {\n this_.updateCounter_++;\n this_._onBoundsChanged(map, maps, !this_.props.debounced);\n\n if (!this_.googleApiLoadedCalled_) {\n this_._onGoogleApiLoaded({ map, maps, ref: this_.googleMapDom_ });\n this_.googleApiLoadedCalled_ = true;\n }\n\n if (this_.mouse_) {\n const latLng = this_.geoService_.fromContainerPixelToLatLng(\n this_.mouse_\n );\n this_.mouse_.lat = latLng.lat;\n this_.mouse_.lng = latLng.lng;\n }\n\n this_._onChildMouseMove();\n\n if (this_.markersDispatcher_) {\n this_.markersDispatcher_.emit('kON_CHANGE');\n if (this_.fireMouseEventOnIdle_) {\n this_.markersDispatcher_.emit('kON_MOUSE_POSITION_CHANGE');\n }\n }\n },\n });\n\n this.overlay_ = overlay;\n\n overlay.setMap(map);\n if (this.props.heatmap.positions) {\n this.heatmap.setMap(map);\n }\n\n if (this.props.onTilesLoaded) {\n maps.event.addListener(map, 'tilesloaded', () => {\n this_._onTilesLoaded();\n });\n }\n\n maps.event.addListener(map, 'zoom_changed', () => {\n // recalc position at zoom start\n if (this_.geoService_.getZoom() !== map.getZoom()) {\n if (!this_.zoomAnimationInProgress_) {\n this_.zoomAnimationInProgress_ = true;\n this_._onZoomAnimationStart(map.zoom);\n }\n\n // If draw() is not called each frame during a zoom animation,\n // simulate it.\n if (mapsVersion < DRAW_CALLED_DURING_ANIMATION_VERSION) {\n const TIMEOUT_ZOOM = 300;\n\n if (\n new Date().getTime() - this.zoomControlClickTime_ <\n TIMEOUT_ZOOM\n ) {\n // there is strange Google Map Api behavior in chrome when zoom animation of map\n // is started only on second raf call, if was click on zoom control\n // or +- keys pressed, so i wait for two rafs before change state\n\n // this does not fully prevent animation jump\n // but reduce it's occurence probability\n raf(() =>\n raf(() => {\n this_.updateCounter_++;\n this_._onBoundsChanged(map, maps);\n })\n );\n } else {\n this_.updateCounter_++;\n this_._onBoundsChanged(map, maps);\n }\n }\n }\n });\n\n maps.event.addListener(map, 'idle', () => {\n if (this.resetSizeOnIdle_) {\n this._setViewSize();\n const currMinZoom = this._computeMinZoom(options.minZoom);\n\n if (currMinZoom !== this.minZoom_) {\n this.minZoom_ = currMinZoom;\n map.setOptions({ minZoom: currMinZoom });\n }\n\n this.resetSizeOnIdle_ = false;\n }\n\n if (this_.zoomAnimationInProgress_) {\n this_.zoomAnimationInProgress_ = false;\n this_._onZoomAnimationEnd(map.zoom);\n }\n\n this_.updateCounter_++;\n this_._onBoundsChanged(map, maps);\n\n this_.dragTime_ = 0;\n\n if (this_.markersDispatcher_) {\n this_.markersDispatcher_.emit('kON_CHANGE');\n }\n });\n\n maps.event.addListener(map, 'mouseover', () => {\n // has advantage over div MouseLeave\n this_.mouseInMap_ = true;\n });\n\n // an alternative way to know the mouse is back within the map\n // This would not fire when clicking/interacting with google maps\n // own on-map countrols+markers. This handles an edge case for touch devices\n // + 'draggable:false' custom option. See #332 for more details.\n maps.event.addListener(map, 'click', () => {\n this_.mouseInMap_ = true;\n });\n\n maps.event.addListener(map, 'mouseout', () => {\n // has advantage over div MouseLeave\n this_.mouseInMap_ = false;\n this_.mouse_ = null;\n this_.markersDispatcher_.emit('kON_MOUSE_POSITION_CHANGE');\n });\n\n maps.event.addListener(map, 'drag', () => {\n this_.dragTime_ = new Date().getTime();\n this_._onDrag(map);\n });\n\n maps.event.addListener(map, 'dragend', () => {\n // 'dragend' fires on mouse release.\n // 'idle' listener waits until drag inertia ends before firing `onDragEnd`\n const idleListener = maps.event.addListener(map, 'idle', () => {\n maps.event.removeListener(idleListener);\n this_._onDragEnd(map);\n });\n });\n // user choosing satellite vs roads, etc\n maps.event.addListener(map, 'maptypeid_changed', () => {\n this_._onMapTypeIdChange(map.getMapTypeId());\n });\n })\n .catch((e) => {\n // notify callback of load failure\n this._onGoogleApiLoaded({\n map: null,\n maps: null,\n ref: this.googleMapDom_,\n });\n console.error(e); // eslint-disable-line no-console\n throw e;\n });\n };\n\n _onGoogleApiLoaded = (...args) => {\n if (this.props.onGoogleApiLoaded) {\n if (\n process.env.NODE_ENV !== 'production' &&\n this.props.yesIWantToUseGoogleMapApiInternals !== true\n ) {\n console.warn(\n 'GoogleMap: ' + // eslint-disable-line\n 'Usage of internal api objects is dangerous ' +\n 'and can cause a lot of issues.\\n' +\n 'To hide this warning add yesIWantToUseGoogleMapApiInternals={true} ' +\n 'to this.props.hoverDistance;\n\n _onDrag = (...args) => this.props.onDrag && this.props.onDrag(...args);\n\n _onDragEnd = (...args) =>\n this.props.onDragEnd && this.props.onDragEnd(...args);\n\n _onMapTypeIdChange = (...args) =>\n this.props.onMapTypeIdChange && this.props.onMapTypeIdChange(...args);\n\n _onZoomAnimationStart = (...args) =>\n this.props.onZoomAnimationStart && this.props.onZoomAnimationStart(...args);\n\n _onZoomAnimationEnd = (...args) =>\n this.props.onZoomAnimationEnd && this.props.onZoomAnimationEnd(...args);\n\n _onTilesLoaded = () => this.props.onTilesLoaded && this.props.onTilesLoaded();\n\n _onChildClick = (...args) => {\n if (this.props.onChildClick) {\n return this.props.onChildClick(...args);\n }\n return undefined;\n };\n\n _onChildMouseDown = (hoverKey, childProps) => {\n this.childMouseDownArgs_ = [hoverKey, childProps];\n if (this.props.onChildMouseDown) {\n this.props.onChildMouseDown(hoverKey, childProps, { ...this.mouse_ });\n }\n };\n\n // this method works only if this.props.onChildMouseDown was called\n _onChildMouseUp = () => {\n if (this.childMouseDownArgs_) {\n if (this.props.onChildMouseUp) {\n this.props.onChildMouseUp(...this.childMouseDownArgs_, {\n ...this.mouse_,\n });\n }\n this.childMouseDownArgs_ = null;\n this.childMouseUpTime_ = new Date().getTime();\n }\n };\n\n // this method works only if this.props.onChildMouseDown was called\n _onChildMouseMove = () => {\n if (this.childMouseDownArgs_) {\n if (this.props.onChildMouseMove) {\n this.props.onChildMouseMove(...this.childMouseDownArgs_, {\n ...this.mouse_,\n });\n }\n }\n };\n\n _onChildMouseEnter = (...args) => {\n if (this.props.onChildMouseEnter) {\n return this.props.onChildMouseEnter(...args);\n }\n return undefined;\n };\n\n _onChildMouseLeave = (...args) => {\n if (this.props.onChildMouseLeave) {\n return this.props.onChildMouseLeave(...args);\n }\n return undefined;\n };\n\n _setViewSize = () => {\n if (!this.mounted_) return;\n if (isFullScreen()) {\n this.geoService_.setViewSize(window.innerWidth, window.innerHeight);\n } else {\n const mapDom = ReactDOM.findDOMNode(this.googleMapDom_);\n this.geoService_.setViewSize(mapDom.clientWidth, mapDom.clientHeight);\n }\n this._onBoundsChanged();\n };\n\n _onWindowResize = () => {\n this.resetSizeOnIdle_ = true;\n };\n\n _onMapMouseMove = (e) => {\n if (!this.mouseInMap_) return;\n\n const currTime = new Date().getTime();\n const K_RECALC_CLIENT_RECT_MS = 50;\n\n if (currTime - this.mouseMoveTime_ > K_RECALC_CLIENT_RECT_MS) {\n this.boundingRect_ = e.currentTarget.getBoundingClientRect();\n }\n this.mouseMoveTime_ = currTime;\n\n const mousePosX = e.clientX - this.boundingRect_.left;\n const mousePosY = e.clientY - this.boundingRect_.top;\n\n if (!this.mouse_) {\n this.mouse_ = { x: 0, y: 0, lat: 0, lng: 0 };\n }\n\n this.mouse_.x = mousePosX;\n this.mouse_.y = mousePosY;\n\n const latLng = this.geoService_.fromContainerPixelToLatLng(this.mouse_);\n this.mouse_.lat = latLng.lat;\n this.mouse_.lng = latLng.lng;\n\n this._onChildMouseMove();\n\n if (currTime - this.dragTime_ < K_IDLE_TIMEOUT) {\n this.fireMouseEventOnIdle_ = true;\n } else {\n this.markersDispatcher_.emit('kON_MOUSE_POSITION_CHANGE');\n this.fireMouseEventOnIdle_ = false;\n }\n };\n\n // K_IDLE_CLICK_TIMEOUT - looks like 300 is enough\n _onClick = (...args) =>\n this.props.onClick &&\n !this.childMouseDownArgs_ &&\n new Date().getTime() - this.childMouseUpTime_ > K_IDLE_CLICK_TIMEOUT &&\n this.dragTime_ === 0 &&\n this.props.onClick(...args);\n\n _onMapClick = (event) => {\n if (this.markersDispatcher_) {\n // support touch events and recalculate mouse position on click\n this._onMapMouseMove(event);\n const currTime = new Date().getTime();\n if (currTime - this.dragTime_ > K_IDLE_TIMEOUT) {\n if (this.mouse_) {\n this._onClick({\n ...this.mouse_,\n event,\n });\n }\n\n this.markersDispatcher_.emit('kON_CLICK', event);\n }\n }\n };\n\n // gmap can't prevent map drag if mousedown event already occured\n // the only workaround I find is prevent mousedown native browser event\n _onMapMouseDownNative = (event) => {\n if (!this.mouseInMap_) return;\n\n this._onMapMouseDown(event);\n };\n\n _onMapMouseDown = (event) => {\n if (this.markersDispatcher_) {\n const currTime = new Date().getTime();\n if (currTime - this.dragTime_ > K_IDLE_TIMEOUT) {\n // Hovered marker detected at mouse move could be deleted at mouse down time\n // so it will be good to force hovered marker recalculation\n this._onMapMouseMove(event);\n this.markersDispatcher_.emit('kON_MDOWN', event);\n }\n }\n };\n\n _onMapMouseDownCapture = () => {\n if (detectBrowser().isChrome) {\n // to fix strange zoom in chrome\n this.zoomControlClickTime_ = new Date().getTime();\n }\n };\n\n _onKeyDownCapture = () => {\n if (detectBrowser().isChrome) {\n this.zoomControlClickTime_ = new Date().getTime();\n }\n };\n\n _isCenterDefined = (center) =>\n center &&\n ((isPlainObject(center) && isNumber(center.lat) && isNumber(center.lng)) ||\n (center.length === 2 && isNumber(center[0]) && isNumber(center[1])));\n\n _onBoundsChanged = (map, maps, callExtBoundsChange) => {\n if (map) {\n const gmC = map.getCenter();\n this.geoService_.setView([gmC.lat(), gmC.lng()], map.getZoom(), 0);\n }\n\n if (\n (this.props.onChange || this.props.onBoundsChange) &&\n this.geoService_.canProject()\n ) {\n const zoom = this.geoService_.getZoom();\n const bounds = this.geoService_.getBounds();\n const centerLatLng = this.geoService_.getCenter();\n\n if (!isArraysEqualEps(bounds, this.prevBounds_, kEPS)) {\n if (callExtBoundsChange !== false) {\n const marginBounds = this.geoService_.getBounds(this.props.margin);\n if (this.props.onBoundsChange) {\n this.props.onBoundsChange(\n this.centerIsObject_\n ? { ...centerLatLng }\n : [centerLatLng.lat, centerLatLng.lng],\n zoom,\n bounds,\n marginBounds\n );\n }\n\n if (this.props.onChange) {\n this.props.onChange({\n center: { ...centerLatLng },\n zoom,\n bounds: {\n nw: {\n lat: bounds[0],\n lng: bounds[1],\n },\n se: {\n lat: bounds[2],\n lng: bounds[3],\n },\n sw: {\n lat: bounds[4],\n lng: bounds[5],\n },\n ne: {\n lat: bounds[6],\n lng: bounds[7],\n },\n },\n marginBounds: {\n nw: {\n lat: marginBounds[0],\n lng: marginBounds[1],\n },\n se: {\n lat: marginBounds[2],\n lng: marginBounds[3],\n },\n sw: {\n lat: marginBounds[4],\n lng: marginBounds[5],\n },\n ne: {\n lat: marginBounds[6],\n lng: marginBounds[7],\n },\n },\n\n size: this.geoService_.hasSize()\n ? {\n width: this.geoService_.getWidth(),\n height: this.geoService_.getHeight(),\n }\n : {\n width: 0,\n height: 0,\n },\n });\n }\n\n this.prevBounds_ = bounds;\n }\n }\n }\n };\n\n _registerChild = (ref) => {\n this.googleMapDom_ = ref;\n };\n\n render() {\n const overlay = this.state.overlay;\n const mapMarkerPrerender = !overlay ? (\n \n ) : null;\n\n return (\n \n \n {IS_REACT_16 && overlay && createPortal(this._renderPortal(), overlay)}\n\n {/* render markers before map load done */}\n {mapMarkerPrerender}\n
\n );\n }\n}\n\nexport default GoogleMap;\n","export const generateHeatmap = (instance, { positions }) =>\n new instance.visualization.HeatmapLayer({\n data: positions.reduce((acc, { lat, lng, weight = 1 }) => {\n acc.push({\n location: new instance.LatLng(lat, lng),\n weight,\n });\n return acc;\n }, []),\n });\n\nexport const optionsHeatmap = (instance, { options = {} }) =>\n Object.keys(options).map((option) => instance.set(option, options[option]));\n","export default function isArraysEqualEps(arrayA, arrayB, eps) {\n if (arrayA && arrayB) {\n for (let i = 0; i !== arrayA.length; ++i) {\n if (Math.abs(arrayA[i] - arrayB[i]) > eps) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n","import {\n styled\n} from '@volkswagen-onehub/components-core';\nimport { keyframes } from 'styled-components';\nimport { MarkerDimensions } from 'src/feature-app/NewMap/MapGeneralController';\n\n\nconst beatKeyframe = keyframes`\n from {\n opacity: 1;\n transform: translate3d(50%, 50%, 0) scale(0);\n }\n to {\n opacity: 0;\n transform: translate3d(50%, 50%, 0) scale(1);\n }\n`;\n\nexport const Wrapper = styled.div<{ onTop?: boolean }>`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate3d(-50%, -100%, 0);\n z-index: ${(props) => (props.onTop ? '3' : '2')};\n &.geoloc {\n transform: translate3d(-50%, -50%, 0);\n z-index: 1;\n }\n .circle-beat {\n animation: ${beatKeyframe} 2s ease 0s infinite normal none running;\n }\n`;\n\nexport const TextWrapper = styled(Wrapper as any)`\n /* https://github.com/microsoft/TypeScript/issues/37597#issuecomment-628089901 */\n top: 68%;\n color: #ffffff;\n & div {\n color: #ffffff;\n }\n`;\n\nexport const Img = styled.img<{ markerDimensions: MarkerDimensions }>`\n width: ${(props) => `${props.markerDimensions.width}px`};\n height: ${(props) => `${props.markerDimensions.height}px`};\n &.dealer-marker {\n margin-bottom: 4px;\n }\n`;\n","import React from 'react';\nimport { Wrapper } from 'src/feature-app/NewMap/components/CommonStyledComponents';\n\nexport const CenterMarker = React.memo((props: { lat: number; lng: number }) => {\n return (\n \n \n \n \n \n \n );\n});\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useState } from 'react';\nimport { Points } from 'src/types';\nimport { Img, TextWrapper, Wrapper } from 'src/feature-app/NewMap/components/CommonStyledComponents';\nimport { useMapGeneralController } from 'src/feature-app/NewMap/MapGeneralController';\n\ninterface ClusterMarkerProps {\n lat: number;\n lng: number;\n pointCount: number;\n onClick: any;\n isHover: boolean;\n}\n\nexport const sameClusterId = (selectedPoint: Points, point: Points) => {\n if (selectedPoint?.properties?.parent_cluster_id && point.id) {\n return selectedPoint.properties.parent_cluster_id === point.id;\n }\n return false;\n};\n\nexport const ClusterMarker = React.memo(({ onClick, pointCount, isHover }: ClusterMarkerProps) => {\n const { markerDimensions } = useMapGeneralController();\n const [mouseEntered, setMouseEntered] = useState(false);\n\n return (\n {\n e.preventDefault();\n onClick();\n }}\n onMouseEnter={(e) => {\n e.preventDefault();\n setMouseEntered(true);\n }}\n onMouseLeave={(e) => {\n e.preventDefault();\n setMouseEntered(false);\n }}\n >\n \n \n {pointCount}\n \n \n );\n});\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { useState } from 'react';\nimport { Points } from 'src/types';\nimport { Img, Wrapper } from 'src/feature-app/NewMap/components/CommonStyledComponents';\nimport { useMapGeneralController } from 'src/feature-app/NewMap/MapGeneralController';\n\nconst Dot = styled.div<{ greyCard: boolean }>`\n height: 4px;\n width: 4px;\n background-color: ${(props) => (props.greyCard ? '#6A767D' : '#0040c5')};\n border-radius: 100%;\n display: inline;\n position: absolute;\n bottom: 0;\n left: 44%;\n`;\n\ninterface DealerMarkerProps {\n onClick: (event: React.MouseEvent) => void;\n lat: number;\n lng: number;\n isGrey: boolean;\n isActive: boolean;\n isHover: boolean;\n isFavouriteDealer: boolean;\n}\n\nexport const isDealerGrey = (carPickupSelected: boolean, replacementCarSelected: boolean, point: Points) =>\n pickupSelectedAndDealerHasIt(carPickupSelected, point) ||\n replacementCarSelectedAndDealerHasIt(replacementCarSelected, point);\n\nexport const isDealerActive = (selectedPoint: Points, point: Points) =>\n selectedPoint?.properties?.dealer?.kvps === point?.properties?.dealer?.kvps;\n\nexport const isDealerFavourite = (favouriteDealer: Points, point: Points) =>\nfavouriteDealer?.properties?.dealer?.kvps === point?.properties?.dealer?.kvps;\n\nexport const isDealerHovered = (hoverPoint: Points, point: Points) =>\nhoverPoint?.properties?.dealer?.kvps === point?.properties?.dealer?.kvps;\n\nconst pickupSelectedAndDealerHasIt = (carPickupSelected: boolean, point: Points) =>\n carPickupSelected && !point?.properties?.dealer?.dmsInfo?.pickupCarServiceAvailabe;\nconst replacementCarSelectedAndDealerHasIt = (replacementCarSelected: boolean, point: Points) =>\n replacementCarSelected && !point?.properties?.dealer?.dmsInfo?.replacementCarServiceAvailable;\n\nexport const DealerMarker = React.memo(\n ({\n onClick,\n isGrey,\n isActive,\n isHover,\n isFavouriteDealer\n }: DealerMarkerProps) => {\n const markerDimensions = useMapGeneralController().markerDimensions;\n const [mouseEntered, setMouseEntered] = useState(false);\n\n return (\n {\n e.preventDefault();\n setMouseEntered(true);\n }}\n onMouseLeave={(e) => {\n e.preventDefault();\n setMouseEntered(false);\n }}\n onTop={isActive || isHover ||mouseEntered ? true : false}\n >\n \n {isActive ? : null}\n \n );\n }\n);\n","import { Breakpoints, BreakpointWrapper, CTA, styled, ThemeProvider } from '@volkswagen-onehub/components-core';\nimport GoogleMapReact from 'google-map-react';\nimport React, { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { getGoogleApiKey } from 'src/bff';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { Add, ContactDealer, Locate, Reload, Remove } from 'src/icons-core-imports';\nimport { OneFormState, Points, SelectedTab } from 'src/types';\nimport { mapStyles } from 'src/feature-app/NewMap';\nimport { CenterMarker } from 'src/feature-app/NewMap/components/CenterMarker';\nimport { ClusterMarker, sameClusterId } from 'src/feature-app/NewMap/components/ClusterMarker';\nimport { DealerMarker, isDealerGrey, isDealerActive, isDealerFavourite, isDealerHovered } from 'src/feature-app/NewMap/components/DealerMarker';\nimport { useMapGeneralController } from 'src/feature-app/NewMap/MapGeneralController';\n\nconst RecalcularWrapper = styled.div<{ isPosventa?: boolean }>`\n position: fixed;\n top: ${(props) => (props.isPosventa ? '96px' : '68px')};\n transform: translateX(-50%);\n left: 50%;\n background-color: #ffffff;\n border-radius: 500px;\n width: fit-content;\n @media all and (min-width: 960px) {\n top: 24px;\n transform: translateX(0);\n left: unset;\n right: 183px;\n }\n`;\n\nconst GoogleMaps = styled.div`\n & .gm-control-active[aria-label='Ampliar'] {\n display: none !important;\n }\n\n & .gm-control-active[aria-label='Reducir'] {\n display: none !important;\n }\n\n & .gmnoprint {\n display: none;\n }\n`;\n\ninterface MapHeightWrapperProps {\n isTrigger?: boolean;\n isWidget?: boolean;\n}\n\nconst MapHeigthWrapper = styled.div`\n width: 100%;\n height: ${(props) => (props.isWidget ? '85vh' : props.isTrigger ? 'var(--size-grid020)' : '100vh')};\n\n @media all and (min-width: 560px) {\n height: ${(props) => (props.isWidget ? '82vh' : props.isTrigger ? 'var(--size-grid010)' : '100vh')};\n }\n\n @media all and (min-width: 768px) {\n height: ${(props) => (props.isWidget ? '85vh' : props.isTrigger ? 'var(--size-grid010)' : '100vh')};\n }\n @media all and (min-width: 960px) {\n height: ${(props) => (props.isWidget ? '60vh' : props.isTrigger ? '636px' : '100vh')};\n }\n @media all and (min-width: 1600px) {\n height: ${(props) => (props.isWidget ? '70vh' : props.isTrigger ? '684px' : '100vh')};\n }\n`;\n\ninterface newMapProps {\n searchIsDealer?: boolean;\n setTranslateCarousel?: any;\n translateCarousel?: boolean;\n preSelectedOrderValue?: SelectedTab;\n isTrigger?: boolean;\n preselectedDealerForm?: boolean;\n replacementCarSelected?: boolean;\n carPickupSelected?: boolean;\n isPosventa?: boolean;\n isWidget?: boolean;\n}\n\nexport const NewMap = React.memo((props: newMapProps) => {\n const {\n centerRef,\n clusters,\n handleApiLoaded,\n geoLocatedCenterRef,\n getNewClusters,\n handlePointClickAndCarouselMove,\n selectedPoint,\n handleClusterClick,\n mapMaxZoom,\n searchMoreDealers,\n handleMapMovement,\n setSearchIsDealer,\n hoverPoint,\n handleHoverPoint,\n userIsGeoLocated,\n mapHasMoved,\n } = useMapGeneralController();\n const { dealersInfo, formInfo } = useSelector((state: OneFormState) => state);\n const { dealersOrInstallationsMode, favouriteDealer } = dealersInfo;\n const { suggestionIsAddress } = formInfo;\n const {\n searchIsDealer,\n setTranslateCarousel,\n preSelectedOrderValue,\n isTrigger,\n carPickupSelected,\n replacementCarSelected,\n isPosventa,\n isWidget,\n } = props;\n const trackingManager = useTrackingManager();\n\n const [gelocalizationActive, setGelocalizationActive] = useState(false);\n\n useEffect(() => {\n if (userIsGeoLocated) {\n setGelocalizationActive(true);\n } else {\n setGelocalizationActive(false);\n }\n }, [userIsGeoLocated]);\n\n return (\n // Important! Always set the container height explicitly\n \n \n {\n handleApiLoaded(map, maps);\n }}\n defaultCenter={{\n lat: 40.58869349456487,\n lng: -3.0047240000000075,\n }}\n yesIWantToUseGoogleMapApiInternals\n onDrag={() => {\n handleMapMovement();\n }}\n defaultZoom={5}\n options={{\n styles: mapStyles,\n clickableIcons: false,\n streetViewControl: false,\n fullscreenControl: false,\n mapTypeControl: false,\n maxZoom: mapMaxZoom,\n }}\n >\n {clusters\n ? clusters.map((point: Points) => {\n if (point.geometry) {\n const [longitude, latitude] = point.geometry.coordinates;\n return point.properties.cluster ? (\n {\n handleClusterClick(point);\n }}\n pointCount={point.properties.point_count}\n />\n ) : (\n {\n e.preventDefault();\n if (!searchIsDealer) {\n handlePointClickAndCarouselMove(point, true, preSelectedOrderValue);\n }\n }}\n />\n );\n }\n return null;\n })\n : null}\n {(geoLocatedCenterRef.current && gelocalizationActive) || (suggestionIsAddress && centerRef.current) ? (\n \n ) : null}\n \n {isTrigger ? (\n \n \n \n ) : (\n <>\n \n \n \n {clusters && mapHasMoved && !isWidget ? (\n searchIsDealer ? (\n \n \n {\n e.preventDefault();\n setSearchIsDealer(false);\n\n trackingManager.trackFormButtonClick({\n contentId:\n dealersOrInstallationsMode === 'dealers'\n ? 'Ver más talleres cerca'\n : 'Ver más puntos de venta cerca',\n });\n searchMoreDealers();\n if (setTranslateCarousel) {\n setTranslateCarousel(false);\n }\n e.stopPropagation();\n }}\n ariaLabel=\"aria label\"\n icon={}\n >\n {dealersOrInstallationsMode === 'dealers'\n ? 'Ver más talleres cerca'\n : 'Ver más puntos de venta cerca'}\n \n \n \n ) : (\n \n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: 'Buscar en esta zona',\n });\n getNewClusters();\n {\n /*if (setTranslateCarousel) {\n setTranslateCarousel(false);\n }*/\n }\n e.stopPropagation();\n }}\n ariaLabel=\"aria label\"\n icon={}\n >\n Buscar en esta zona\n \n \n \n )\n ) : null}\n \n )}\n \n \n );\n});\n\n/* MAP CONTROLLLERS (!el botón de geolocaclización en versión mobile está en la propia vista.\n Estos controladores actualmente solo están visibles a partir de 960px)\n*/\nconst ControllerBackground = styled.div`\n border-radius: 100%;\n background-color: #ffffff;\n height: 44px;\n width: 44px;\n`;\n\ninterface ControllersWrapperProps {\n isTrigger?: boolean;\n}\n\nconst ControllersWrapper = styled.div`\n position: ${(props) => (props.isTrigger ? 'absolute' : 'absolute')};\n bottom: ${(props) => (props.isTrigger ? '24px' : '240px')};\n right: ${(props) => (props.isTrigger ? 'calc(var(--size-grid002) + 24px)' : '20px')};\n\n @media all and (min-width: 960px) {\n bottom: 24px;\n right: ${(props) => (props.isTrigger ? 'calc(var(--size-grid002) + 24px)' : '24px')};\n }\n @media all and (min-width: 1920px) {\n right: ${(props) => (props.isTrigger ? 'calc(var(--size-grid003) + 24px)' : '24px')};\n }\n @media all and (min-width: 2560px) {\n right: ${(props) => (props.isTrigger ? 'calc(var(--size-grid004) + 24px)' : '24px')};\n }\n`;\n\nconst ZoomWrapper = styled.div`\n display: flex;\n flex-direction: column;\n margin-top: 14px;\n\n & div {\n margin: 6px 0px;\n }\n`;\n\nconst IconLess = 'https://cdn.volkswagen.es/repository/app/vw-oneform/assets/icons/ic_less.svg';\nconst IconMore = 'https://cdn.volkswagen.es/repository/app/vw-oneform/assets/icons/ic_more.svg';\n\nconst Controllers = (props: { gelocalizationActive: boolean; suggestionIsAddress: boolean; isTrigger?: boolean }) => {\n const { handleChangeInMapZoom, centerInGeoLocatedCenter, centerRef, centerMap } = useMapGeneralController();\n\n const { gelocalizationActive, isTrigger, suggestionIsAddress } = props;\n\n return (\n \n \n {gelocalizationActive || (suggestionIsAddress && centerRef.current) ? (\n \n {\n e.preventDefault();\n if (suggestionIsAddress && centerRef.current) {\n centerMap(centerRef.current);\n } else {\n centerInGeoLocatedCenter();\n }\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n ) : null}\n \n \n {\n e.preventDefault();\n handleChangeInMapZoom(true);\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n \n {\n e.preventDefault();\n handleChangeInMapZoom(false);\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n \n \n \n );\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { ReactElement, useEffect, useRef } from 'react';\nimport Slider from 'react-slick';\nimport { NewDealerCard } from 'src/feature-app';\nimport { Points } from 'src/types';\nimport { useMapGeneralController } from 'src/feature-app/NewMap/MapGeneralController';\nimport { getDistanceFromLatLngCenter } from 'src/feature-app/NewMap/utils';\n\nconst CSSDiv = styled.div`\n /* Slider */\n .slick-slider {\n position: relative;\n\n display: block;\n box-sizing: border-box;\n\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n -webkit-tap-highlight-color: transparent;\n }\n\n .slick-list {\n position: relative;\n\n display: block;\n overflow: hidden;\n\n margin: 0;\n padding: 0;\n }\n .slick-list:focus {\n outline: none;\n }\n .slick-list.dragging {\n cursor: pointer;\n cursor: hand;\n }\n\n .slick-slider .slick-track,\n .slick-slider .slick-list {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n .slick-track {\n position: relative;\n top: 0;\n left: 0;\n\n display: block;\n }\n .slick-track:before,\n .slick-track:after {\n display: table;\n\n content: '';\n }\n .slick-track:after {\n clear: both;\n }\n .slick-loading .slick-track {\n visibility: hidden;\n }\n\n .slick-slide {\n display: none;\n float: left;\n\n height: 100%;\n min-height: 1px;\n }\n [dir='rtl'] .slick-slide {\n float: right;\n }\n .slick-slide img {\n display: block;\n }\n .slick-slide.slick-loading img {\n display: none;\n }\n .slick-slide.dragging img {\n pointer-events: none;\n }\n .slick-initialized .slick-slide {\n display: block;\n }\n .slick-loading .slick-slide {\n visibility: hidden;\n }\n .slick-vertical .slick-slide {\n display: block;\n\n height: auto;\n\n border: 1px solid transparent;\n }\n .slick-arrow.slick-hidden {\n display: none;\n }\n\n /* Slider */\n .slick-slider {\n position: relative;\n\n display: block;\n box-sizing: border-box;\n\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n -webkit-touch-callout: none;\n -khtml-user-select: none;\n -ms-touch-action: pan-y;\n touch-action: pan-y;\n -webkit-tap-highlight-color: transparent;\n }\n\n .slick-list {\n position: relative;\n\n display: block;\n overflow: hidden;\n\n margin: 0;\n padding: 0;\n }\n .slick-list:focus {\n outline: none;\n }\n .slick-list.dragging {\n cursor: pointer;\n cursor: hand;\n }\n\n .slick-slider .slick-track,\n .slick-slider .slick-list {\n -webkit-transform: translate3d(0, 0, 0);\n -moz-transform: translate3d(0, 0, 0);\n -ms-transform: translate3d(0, 0, 0);\n -o-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n\n .slick-track {\n position: relative;\n top: 0;\n left: 0;\n\n display: block;\n }\n .slick-track:before,\n .slick-track:after {\n display: table;\n\n content: '';\n }\n .slick-track:after {\n clear: both;\n }\n .slick-loading .slick-track {\n visibility: hidden;\n }\n\n .slick-slide {\n display: none;\n float: left;\n\n height: 100%;\n min-height: 1px;\n }\n [dir='rtl'] .slick-slide {\n float: right;\n }\n .slick-slide img {\n display: block;\n }\n .slick-slide.slick-loading img {\n display: none;\n }\n .slick-slide.dragging img {\n pointer-events: none;\n }\n .slick-initialized .slick-slide {\n display: block;\n }\n .slick-loading .slick-slide {\n visibility: hidden;\n }\n .slick-vertical .slick-slide {\n display: block;\n\n height: auto;\n\n border: 1px solid transparent;\n }\n .slick-arrow.slick-hidden {\n display: none;\n }\n`;\n\nconst BackgroundCard = styled.div`\n background-color: #001e50;\n margin: 0 4px;\n`;\n\ninterface CarouselCardsProps {\n handleShowCalendarOnClick?: any;\n handleSeleccionarOnClick: any;\n handleShowSlots?: (point: Points) => string | null;\n pointsToList: Points[];\n isCitaPosventa?: boolean;\n replacementCarSelected?: boolean;\n carPickupSelected?: boolean;\n}\n\nexport const Carousel = (props: CarouselCardsProps) => {\n const {\n clusters,\n handlePointClickAndCarouselMove,\n centerToCalculateDistance,\n handleSelectedPoint,\n handleClusterClick,\n selectedPoint,\n } = useMapGeneralController();\n const { \n handleSeleccionarOnClick, \n handleShowCalendarOnClick, \n handleShowSlots, \n pointsToList, \n isCitaPosventa,\n carPickupSelected,\n replacementCarSelected \n } = props;\n const sliderRef = useRef(null);\n const childrenRef = useRef(null);\n\n useEffect(() => {\n if (pointsToList.length) {\n const firstPoint = selectedPoint ? selectedPoint : pointsToList[0];\n // handleCarouselMovement(firstPoint);\n handleSelectedPoint(firstPoint);\n // handleSelectedCard(firstPoint);\n }\n }, [pointsToList]);\n\n useEffect(() => {\n // Movimiento del carousel en caso de que se haga click en un Dealer Marker.\n if (selectedPoint) {\n // handleSelectedCard(selectedPoint);\n handleCarouselMovement(selectedPoint);\n }\n }, [selectedPoint, pointsToList]);\n\n const handleSelectedCard = (point: Points) => {\n if (!point.properties.cluster) {\n const { kvps } = point.properties.dealer;\n\n const index = pointsToList.findIndex((dealer) => {\n if (dealer.properties.dealer.kvps === kvps) {\n return true;\n }\n });\n sliderRef.current.slickGoTo(index);\n }\n };\n\n const handleCarouselMovement = (point: Points) => {\n if (point.properties.parent_cluster_id) {\n const parentCluster = clusters.find(\n (cluster) => cluster.properties.cluster && cluster.id === point.properties.parent_cluster_id\n );\n if (parentCluster) {\n // En caso de que el dealer esté dentro de un cluster dentro de otro fijamos el valor de isCluster como true para que llegue hasta el final\n // y no rompa únicamente el primer cluster.\n // handleClusterClick(point, true);\n handleSelectedPoint(point);\n } else {\n handlePointClickAndCarouselMove(point, false);\n handleSelectedCard(point);\n }\n } else {\n handlePointClickAndCarouselMove(point, false);\n handleSelectedCard(point);\n }\n };\n\n const settings = {\n className: 'center',\n infinite: false,\n centerMode: true,\n centerPadding: '60px',\n slidesToShow: 1,\n swipe: true,\n speed: 500,\n arrows: false,\n beforeChange: (current: number, next: number) => {\n const point: Points = pointsToList.find((point) => {\n if (!point.properties.cluster) {\n if (point.properties.dealer.kvps === childrenRef.current[next].key) {\n return point;\n }\n }\n });\n\n handleCarouselMovement(point);\n },\n };\n return (\n \n {\n sliderRef.current = el;\n if (el && el.props && el.props.children) {\n childrenRef.current = el.props.children.filter((c:any) => c !== null);\n }\n }}\n >\n {pointsToList\n ? pointsToList.map((point: Points, i) => {\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return !point.properties.cluster ? (\n
\n {/* este div es necesario para el funcionamiento de la libreria */}\n \n \n \n
\n ) : null;\n })\n : null}\n
\n \n );\n};\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n CTA,\n Layout,\n styled,\n Text,\n TextAlignment,\n ThemeProvider,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { Suggest, useFeatureAppConfig, useMapGeneralController } from 'src/feature-app';\nimport { Horario, Installation, isDealerData, OneFormState, SelectedTab } from 'src/types';\nimport { isGooglePlace, updateMapVariables, Suggestion } from 'src/feature-app/NewMap';\nimport {\n useTrackingManager,\n useLocateUser,\n useShowOverflow,\n useFeatureAppEnvironment,\n useFeatureServices,\n} from 'src/feature-app/hooks';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { renderAvisoIslasCanariasLayer } from 'src/components';\nimport { getGeocode } from 'src/feature-app/NewMap/utils';\nimport { GooglePlace } from 'src/feature-app/NewMap/components/suggest';\n\nconst FiltrosWrapper = styled.div<{ onlySuggest?: boolean; showOverflow?: boolean }>`\n min-height: 100vh;\n position: relative;\n padding-bottom: 117px;\n padding-top: 56px;\n overflow: ${(props) => (props.showOverflow ? 'visible' : 'auto')};\n .filtros {\n &__header {\n text-align: center;\n }\n &__body {\n flex-grow: 1;\n padding-bottom: ${(props) => (props.onlySuggest ? '4px' : null)};\n }\n &__controls {\n position: fixed;\n bottom: 0;\n width: 100%;\n padding: 14px 0;\n background: #ffffff;\n border-top: 1px solid #dfe4e8;\n }\n }\n`;\n\nconst MultipleCTAWrapper = styled.div`\n text-align: left;\n & > button {\n margin: 24px 24px 0 0;\n }\n`;\n\nconst Divider = styled.div`\n background-color: #dfe4e8;\n width: 100vw;\n height: 1px;\n margin-bottom: 14px;\n\n @media all and (min-width: 960px) {\n display: none;\n margin-bottom: 0;\n }\n`;\n\n//revisar width aButtonsWrapper a partir de 960 en navegadores/dispositivos con barra de scroll.\n//Está puesto con valor fijo porqué por algun motivo no pilla bien el 100%\n\nconst ActionButtonsWrapper = styled.div`\n display: flex;\n justify-content: flex-end;\n @media all and (min-width: 960px) {\n width: 400px;\n }\n button {\n div {\n font-size: 14px;\n }\n &:first-of-type {\n margin-right: 32px;\n }\n }\n`;\n\ninterface FiltrosProps {\n closeFiltros: any;\n showFiltros: boolean;\n setShowFiltros: React.Dispatch>;\n setPreSelectedOrderValue?: React.Dispatch>;\n preSelectedOrderValue?: SelectedTab;\n onlySuggest?: boolean;\n concesionario?: boolean;\n citaPosventa?: boolean;\n}\n\nexport const Filtros = (props: FiltrosProps) => {\n return (\n {}}>\n \n \n );\n};\n\nexport interface SelectedSuggestion {\n name: string;\n suggestion: Suggestion;\n}\n\nconst getSelectedSuggestion = (suggestion: Suggestion) => {\n if (isGooglePlace(suggestion)) {\n return { name: suggestion.name, suggestion };\n } else {\n if (!isDealerData(suggestion)) {\n return {\n name: `${(suggestion as Installation).TXT_V_Installation_Data_Name__c}, ${\n (suggestion as Installation).TXT_V_Address__c\n }`,\n suggestion,\n };\n } else {\n return {\n name: `${suggestion.name}, ${suggestion.markerInfo.dealerInfo.address}`,\n suggestion,\n };\n }\n }\n};\n\nexport const FiltrosComponent = (props: FiltrosProps) => {\n const {\n closeFiltros,\n showFiltros,\n setShowFiltros,\n setPreSelectedOrderValue,\n preSelectedOrderValue,\n onlySuggest,\n concesionario,\n citaPosventa,\n } = props;\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n\n //Si se necesita que el overflow sea visible. Selectsno nativos, suggests, etc. Añadir en la definicion del step showOverflow.\n\n const { showOverflow } = useShowOverflow(false);\n\n const [aplicarDisabled, setAplicarDisabled] = useState(true);\n const [tabsOrder, setTabsOrder] = useState('horario');\n const [currentHorario, setCurrentHorario] = useState<{ label: string; value: string }>({\n label: 'Lo antes posible',\n value: 'before',\n });\n // guardar suggestion seleccionada previo a hacer submit\n // sirve para activar o desactivar el setAplicarDisabled\n const [selectedSuggestion, setSelectedSuggestion] = useState(null);\n const { register } = useFormContext();\n const trackingManager = useTrackingManager();\n const filtrosRef = useRef(null);\n\n const { userSuggestion: userSuggest, suggestionIsInCanaryIslands } = formInfo;\n\n const CTAsHorario = [\n { label: 'Lo antes posible', value: 'before' },\n { label: 'Por la mañana', value: 'morning' },\n { label: 'Al mediodía', value: 'afternon' },\n { label: 'Por la tarde', value: 'evening' },\n ];\n\n const CTAsOrden: { value: SelectedTab; label: string }[] = [\n { value: 'ubicacion', label: 'Ubicación' },\n { value: 'horario', label: 'Horario' },\n ];\n\n const {\n value,\n setValue,\n icon,\n locationSuccess,\n setLocationSuccess,\n loading,\n locationDisabled,\n isLocating,\n handleLocateFilters,\n } = useLocateUser();\n const dispatch = useDispatch();\n\n const { moreDealersSearched, setMoreDealersSearched } = useMapGeneralController();\n const { trigger } = useFeatureAppConfig();\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const layerManager = useFeatureServices()['layer-manager'];\n\n const validateSubmission = () => {\n const { suggestionIsInCanaryIslands } = store.getState().formInfo;\n\n if (suggestionIsInCanaryIslands) {\n renderAvisoIslasCanariasLayer(store, env, layerManager);\n return;\n }\n\n if (preSelectedOrderValue && setPreSelectedOrderValue && tabsOrder !== preSelectedOrderValue) {\n setPreSelectedOrderValue(tabsOrder);\n }\n setShowFiltros(false);\n };\n\n const handleFiltrosSubmit = (selectedSuggestionFromClick?: SelectedSuggestion) => {\n if (selectedSuggestion && !selectedSuggestionFromClick) {\n // if (isGooglePlace(selectedSuggestion.suggestion) && selectedSuggestion.suggestion.isGeoLocated) {\n // // Parche para que se actualize la ubicación a la geolocalización. El bug viene de que en use-locate-user.tsx\n // // se detecta el cambio de suggestion en un useeffect y eso dispara la función updateMapVariables, pero en el caso de\n // // la geolocalización, ésta función se dispara automáticamente al clickar sobre el cta. Si queremos esperar a que los cambios\n // // se hagan efectivos al clickar \"Aplicar filtros\" hay que llamarla desde aquí.\n\n updateMapVariables(dispatch, selectedSuggestion.suggestion).then(() => {\n validateSubmission();\n });\n }\n // Pasamos este valor al seleccionar en la lista desplegable un valor.\n if (selectedSuggestionFromClick) {\n updateMapVariables(dispatch, selectedSuggestionFromClick.suggestion).then(() => {\n validateSubmission();\n });\n }\n };\n\n useEffect(() => {\n if (!moreDealersSearched) {\n if (userSuggest && showFiltros) {\n if (!isGooglePlace(userSuggest) && isDealerData(userSuggest)) {\n setValue(`${userSuggest?.name}, ${userSuggest?.markerInfo?.dealerInfo?.address}`);\n } else if (!isGooglePlace(userSuggest) && !isDealerData(userSuggest)) {\n setValue(\n `${(userSuggest as Installation)?.TXT_V_Installation_Data_Name__c}, ${\n (userSuggest as Installation)?.TXT_V_Address__c\n }`\n );\n } else {\n setValue(userSuggest?.name);\n }\n }\n } else {\n setValue('');\n }\n if (showFiltros) setAplicarDisabled(true);\n }, [showFiltros]);\n\n useEffect(() => {\n if (value && !aplicarDisabled) {\n if (value !== selectedSuggestion.name) {\n setAplicarDisabled(true);\n }\n }\n }, [value]);\n\n useEffect(() => {\n const val = CTAsHorario.find((el: any) => formData.fields.horario === el.value);\n setCurrentHorario(val);\n }, [formData]);\n\n useEffect(() => {\n if (preSelectedOrderValue) {\n setTabsOrder(preSelectedOrderValue);\n }\n }, [preSelectedOrderValue]);\n\n useEffect(() => {\n if (moreDealersSearched && locationSuccess) setLocationSuccess(false);\n }, [moreDealersSearched]);\n\n useEffect(() => {\n // Necesario para que cada vez que se selecciona un resultado de google en filtros se compruebe si\n // pertenece a las islas canarias y dispare el popup antes de que se apliquen los filtros.\n const checkGeocode = async () => {\n const geometry = await getGeocode(selectedSuggestion);\n };\n if (selectedSuggestion?.suggestion?.isGooglePlace) {\n checkGeocode();\n }\n }, [selectedSuggestion]);\n\n useEffect(() => {\n if (!moreDealersSearched) {\n // cuando se monta la componente, si está geolocalizado forzar el locationSuccess a\n // true porque el boton el hook se resetea al montar de nuevo la componente\n // también porque en mobile la componente Filtros se renderiza cada vez que se abre\n if (!userSuggest) {\n return;\n }\n if ((userSuggest as GooglePlace)?.isGeoLocated) {\n setLocationSuccess(true);\n }\n if (!isGooglePlace(userSuggest) && isDealerData(userSuggest)) {\n setValue(`${userSuggest.name}, ${userSuggest.markerInfo.dealerInfo.address}`);\n } else if (!isGooglePlace(userSuggest) && !isDealerData(userSuggest)) {\n setValue(\n `${(userSuggest as Installation).TXT_V_Installation_Data_Name__c}, ${\n (userSuggest as Installation).TXT_V_Address__c\n }`\n );\n } else {\n setValue(userSuggest.name);\n }\n }\n }, []);\n\n const onSuggestionSelectedFn = (suggestion: Suggestion) => {\n const selectedSuggestion = getSelectedSuggestion(suggestion);\n setSelectedSuggestion(selectedSuggestion);\n setLocationSuccess(false);\n setAplicarDisabled(false);\n if (moreDealersSearched) setMoreDealersSearched(false);\n // Cierra la parte de filtros\n handleFiltrosSubmit(selectedSuggestion);\n };\n\n return (\n \n \n \n {citaPosventa ? null : (\n
\n \n Filtros\n \n
\n )}\n\n {!onlySuggest ? (\n
\n \n \n {citaPosventa ? (\n <>Buscar de nuevo\n ) : (\n <>Busca tu {!concesionario ? taller : punto de venta}\n )}\n \n
\n \n
\n \n {\n e.preventDefault();\n if (!locationSuccess) {\n const { suggestion } = await handleLocateFilters();\n setSelectedSuggestion({ name: suggestion.name, suggestion });\n setAplicarDisabled(false);\n setMoreDealersSearched(false);\n }\n }}\n disabled={loading ? true : false}\n size=\"small\"\n >\n Localiza mi posición actual\n \n {locationDisabled ? (\n
\n \n Tu localización está deshabilitada\n \n
\n ) : null}\n \n {/* */}\n \n {/* */}\n
\n ) : (\n
\n \n \n {citaPosventa ? (\n <>Buscar de nuevo\n ) : (\n <>Busca tu {!concesionario ? taller : punto de venta}\n )}\n \n
\n \n
\n \n {\n e.preventDefault();\n if (!locationSuccess) {\n const { suggestion } = await handleLocateFilters();\n setSelectedSuggestion({ name: suggestion.name, suggestion });\n setAplicarDisabled(false);\n setMoreDealersSearched(false);\n }\n }}\n disabled={loading ? true : false}\n size=\"small\"\n >\n Localiza mi posición actual\n \n {locationDisabled ? (\n
\n \n Tu localización está deshabilitada\n \n
\n ) : null}\n \n \n
\n )}\n \n
\n \n \n {\n closeFiltros();\n trackingManager.trackFormButtonClick({\n contentId: 'Cancelar',\n });\n }}\n ariaLabel=\"aria label\"\n >\n Cancelar\n \n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: 'Aplicar filtros',\n });\n setTimeout(() => {\n handleFiltrosSubmit();\n }, 1000);\n }}\n ariaLabel=\"aria label\"\n disabled={aplicarDisabled}\n >\n {citaPosventa ? <>Buscar : <>Aplicar filtros}\n \n \n \n
\n \n
\n );\n};\n\ninterface SortByProps {\n setTabsOrder: React.Dispatch>;\n setAplicarDisabled: React.Dispatch>;\n preSelectedOrderValue: SelectedTab;\n CTAsOrden: {\n value: SelectedTab;\n label: string;\n }[];\n tabsOrder: SelectedTab;\n}\n\nconst SortBy = (props: SortByProps) => {\n const { setTabsOrder, setAplicarDisabled, preSelectedOrderValue, tabsOrder, CTAsOrden } = props;\n const trackingManager = useTrackingManager();\n\n return (\n <>\n \n Ordenar por\n \n \n {CTAsOrden.map((el) => {\n return (\n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: el.label,\n });\n setTabsOrder(el.value);\n if (preSelectedOrderValue !== el.value) {\n setAplicarDisabled(false);\n }\n }}\n size=\"small\"\n key={el.value}\n >\n {el.label}\n \n );\n })}\n \n \n );\n};\n\ninterface ChangeHorarioProps {\n setCurrentHorario: React.Dispatch>;\n setAplicarDisabled: React.Dispatch>;\n CTAsHorario: {\n label: string;\n value: string;\n }[];\n currentHorario: { label: string; value: string };\n horario: Horario;\n}\n\nconst ChangeHorario = (props: ChangeHorarioProps) => {\n const { setCurrentHorario, setAplicarDisabled, CTAsHorario, currentHorario, horario } = props;\n const trackingManager = useTrackingManager();\n\n return (\n \n \n Selecciona una franja horaria\n \n \n {CTAsHorario.map((cta: { label: string; value: string }) => {\n return (\n {\n e.preventDefault();\n trackingManager.trackFormButtonClick({\n contentId: cta.label,\n });\n if (cta.label !== currentHorario.label) {\n setCurrentHorario(cta);\n }\n if (cta.value !== horario) {\n setAplicarDisabled(false);\n }\n }}\n size=\"small\"\n key={cta.value}\n >\n {cta.label}\n \n );\n })}\n \n \n );\n};\n","import { Text, ThemeProvider, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport { Close, ContactDealer, Magnifier, Route } from 'src/icons-core-imports';\nimport { MagnifierLabel, CloseButton, SuggestionWrapper, StyledWrapper } from '.';\nimport React, { useEffect, useRef, useState } from 'react';\nimport Autosuggest from 'react-autosuggest';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { DealersData } from 'src/types';\nimport { useAddressPredictions } from 'src/feature-app';\nimport { DealersOrInstallationsMode, Geometry, Installation, isDealerData, OneFormState } from 'src/types';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { isGooglePlace } from 'src/feature-app/NewMap/utils';\nimport { useDropdowPosition, useTrackingManager } from 'src/feature-app/hooks';\n\nexport interface GooglePlace {\n isGooglePlace: boolean;\n name: string;\n isGeoLocated: boolean;\n skipSearch?: boolean;\n moreDealersSearched?: boolean;\n geometry?: Geometry;\n}\n\nexport type Suggestion = DealersData | GooglePlace | Installation;\n\n// https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions#Using_Special_Characters\nconst escapeRegexCharacters = (str: string) => {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n};\n\nconst getSuggestions = (\n list: DealersData[] | Installation[],\n value: string,\n dealersOrInstallationsMode: DealersOrInstallationsMode\n) => {\n if (value.length < 2) return [];\n const escapedValue = escapeRegexCharacters(value.trim());\n\n if (escapedValue === '') {\n return [];\n }\n const regex = new RegExp(escapedValue, 'i');\n\n if (dealersOrInstallationsMode === 'dealers') {\n return list.filter((dealer: DealersData) => regex.test(dealer.markerInfo.dealerInfo.name));\n } else {\n return list.filter((installation: Installation) => regex.test(installation.VGED_CommercialName__c));\n }\n};\n\nconst getSuggestionValue = (suggestion: Suggestion) => {\n if (isGooglePlace(suggestion)) {\n return suggestion.name;\n } else {\n if (isDealerData(suggestion)) {\n return suggestion.markerInfo.dealerInfo.name;\n } else {\n return (suggestion as Installation).VGED_CommercialName__c;\n }\n }\n};\n\nconst renderSuggestion = (suggestion: Suggestion) => {\n if (isGooglePlace(suggestion)) {\n return (\n \n \n \n {suggestion.name}\n \n \n );\n } else {\n let name;\n let address;\n let zipCode;\n let city;\n let province;\n if (isDealerData(suggestion)) {\n name = suggestion.markerInfo.dealerInfo.name;\n address = suggestion.markerInfo.dealerInfo.address;\n zipCode = suggestion.markerInfo.dealerInfo.zipCode;\n city = suggestion.markerInfo.dealerInfo.city;\n province = suggestion.markerInfo.dealerInfo.province;\n } else {\n name = (suggestion as Installation).VGED_CommercialName__c;\n address = (suggestion as Installation).ShippingStreet;\n zipCode = (suggestion as Installation).ShippingPostalCode;\n city = (suggestion as Installation).ShippingCity;\n province = (suggestion as Installation).Province;\n }\n return (\n \n \n \n
\n \n {name}\n \n \n {address}\n
\n {zipCode} {city}, {province}\n
\n
\n
\n );\n }\n};\n\nconst getValueFormatted = (suggestion: Suggestion) => {\n if (isGooglePlace(suggestion)) {\n return suggestion.name;\n }\n if (!isGooglePlace(suggestion) && isDealerData(suggestion)) {\n return `${suggestion.name}, ${suggestion.markerInfo.dealerInfo.address}`;\n } else if (!isGooglePlace(suggestion) && !isDealerData(suggestion)) {\n return `${(suggestion as Installation).VGED_CommercialName__c}, ${\n (suggestion as Installation).ShippingStreet\n }`;\n } else {\n return '';\n }\n};\n\ninterface SuggestProps {\n setSuggestion?: React.Dispatch>;\n setValue: React.Dispatch>;\n setAplicarDisabled?: React.Dispatch>;\n value: string;\n isFiltrosSuggest?: boolean;\n isLocating?: boolean;\n moreDealersSearched?: boolean;\n setLocationSuccess?: React.Dispatch>;\n formTheme?: string;\n onSuggestionSelectedFn?: (suggestion: Suggestion) => void;\n autoWidth?: boolean;\n}\n\nexport function Suggest(props: SuggestProps) {\n const {\n setSuggestion,\n setValue,\n value,\n isFiltrosSuggest,\n setAplicarDisabled,\n isLocating,\n moreDealersSearched,\n setLocationSuccess,\n formTheme,\n onSuggestionSelectedFn,\n autoWidth\n } = props;\n const [suggestions, setSuggestions] = useState([]);\n const [selectedValue, setSelectedValue] = useState(false); // Controla que una vez seleccionado un valor en el input, no siga buscando en google maps.\n const predictions = useAddressPredictions(value, selectedValue);\n const [inputPlaceholder, setInputPlaceHolder] = useState('Localidad, código postal o nombre del taller');\n const trackingManager = useTrackingManager();\n const suggestRef = useRef(null);\n const inputRef = useRef(null);\n\n const { formInfo, dealersInfo } = useSelector((state: OneFormState) => state);\n const { dealers, installations, dealersOrInstallationsMode } = dealersInfo;\n\n const [inputFocus, setInputFocus] = useState(false);\n const dispatch = useDispatch();\n const { setDisableIntroNextStep, setError, handleNextStep } = useOneFormContext();\n\n useEffect(() => {\n if (isFiltrosSuggest) {\n setDisableIntroNextStep(true);\n // inputRef.current.input.addEventListener('keydown', handleIntroKeyDown)\n }\n return () => {\n if (isFiltrosSuggest) {\n setDisableIntroNextStep(false);\n // inputRef.current.input.removeEventListener('keydown', handleIntroKeyDown)\n }\n };\n }, []);\n\n const onChange = (e: any, { newValue }: { newValue: string }) => {\n e.stopPropagation();\n if (setSelectedValue) {\n setSelectedValue(false);\n }\n setError(false);\n setValue(newValue);\n };\n\n //desplegar el dropdown para arriba o para abajo según la posicinón del input en el window\n const { goUp, getAndUpdateState } = useDropdowPosition('.react-autosuggest__container');\n\n const onClick = () => {\n getAndUpdateState();\n\n trackingManager.trackFormFieldClick(\n {\n contentId: 'Localidad, código postal o nombre del taller',\n },\n {\n FormFieldName: 'location', // Corregir\n }\n );\n };\n\n const onSuggestionsFetchRequested = async ({ value }: { value: string }) => {\n const list = dealersOrInstallationsMode === 'dealers' ? dealers : installations;\n const dealerSuggestions = getSuggestions(list, value, dealersOrInstallationsMode);\n setSuggestions(dealerSuggestions);\n };\n\n const onSuggestionsClearRequested = () => {\n setSuggestions([]);\n };\n\n const [placeHolder, setPlaceHolder] = useState('');\n\n useEffect(() => {\n if (dealersOrInstallationsMode === 'dealers') {\n setPlaceHolder('Localidad, código postal, dirección, nombre del taller, etc.');\n } else {\n setPlaceHolder('Localidad, código postal o nombre del punto de venta');\n }\n }, []);\n\n useEffect(() => {\n if (isFiltrosSuggest && moreDealersSearched) {\n setInputPlaceHolder('Zona del mapa seleccionada');\n } else {\n setInputPlaceHolder(placeHolder);\n }\n }, [moreDealersSearched, placeHolder]);\n\n const inputProps = {\n placeholder: inputPlaceholder,\n value,\n onChange,\n onClick,\n disabled: isLocating ? true : false,\n };\n\n // REFACTORIZAR\n useEffect(() => {\n if (selectedValue) return;\n const predictionsFormatted: GooglePlace[] = predictions.map((prediction) => {\n return {\n name: prediction,\n isGooglePlace: true,\n isGeoLocated: false,\n };\n });\n setSuggestions([...suggestions, ...predictionsFormatted]);\n }, [predictions]);\n\n return (\n {\n setInputFocus(true);\n }}\n onBlur={() => setInputFocus(false)}\n isFullScreen={formInfo.notALayer ? true : false}\n goUp={goUp}\n autoWidth={autoWidth}\n className=\"styled-wrapper-suggest\"\n >\n \n \n \n {\n if (!isGooglePlace(suggestion)) {\n dispatch({ type: 'SUGGESTION_IS_IN_CANARY_ISLANDS', payload: false });\n }\n const value = getValueFormatted(suggestion);\n setValue(value);\n setSelectedValue(true);\n if (onSuggestionSelectedFn) {\n setTimeout(() => {\n onSuggestionSelectedFn(suggestion);\n }, 0);\n }\n }}\n inputProps={inputProps}\n />\n {value !== '' && (\n \n {\n e.preventDefault();\n setValue('');\n if (!isFiltrosSuggest && !isLocating) {\n setLocationSuccess(false);\n setSuggestion(null);\n setValue('');\n setSelectedValue(false);\n } else if (isFiltrosSuggest) {\n setAplicarDisabled(true);\n }\n }}\n >\n \n \n \n )}\n \n );\n}\n","export const mapStyles = [\n {\n elementType: 'geometry',\n stylers: [\n {\n color: '#f5f5f5',\n },\n ],\n },\n {\n elementType: 'labels.icon',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#616161',\n },\n ],\n },\n {\n elementType: 'labels.text.stroke',\n stylers: [\n {\n color: '#f5f5f5',\n },\n ],\n },\n {\n featureType: 'administrative.land_parcel',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'administrative.land_parcel',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#bdbdbd',\n },\n ],\n },\n {\n featureType: 'landscape',\n stylers: [\n {\n color: '#dfe4e8',\n },\n ],\n },\n {\n featureType: 'landscape.natural',\n elementType: 'labels',\n stylers: [\n {\n color: '#757575',\n },\n {\n visibility: 'simplified',\n },\n {\n weight: 0.5,\n },\n ],\n },\n {\n featureType: 'poi',\n elementType: 'geometry',\n stylers: [\n {\n color: '#eeeeee',\n },\n ],\n },\n {\n featureType: 'poi',\n elementType: 'labels.text',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'poi',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#757575',\n },\n ],\n },\n {\n featureType: 'poi.business',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry',\n stylers: [\n {\n color: '#e5e5e5',\n },\n ],\n },\n {\n featureType: 'poi.park',\n elementType: 'geometry.fill',\n stylers: [\n {\n color: '#ade5a1',\n },\n ],\n },\n {\n featureType: 'poi.park',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'poi.park',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#00662f',\n },\n ],\n },\n {\n featureType: 'poi.park',\n elementType: 'labels.text.stroke',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'road',\n elementType: 'geometry',\n stylers: [\n {\n color: '#ffffff',\n },\n ],\n },\n {\n featureType: 'road',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road',\n elementType: 'labels.icon',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'road.arterial',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road.arterial',\n elementType: 'labels.icon',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road.arterial',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#757575',\n },\n ],\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry',\n stylers: [\n {\n color: '#dadada',\n },\n ],\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry.fill',\n stylers: [\n {\n color: '#ffe856',\n },\n ],\n },\n {\n featureType: 'road.highway',\n elementType: 'geometry.stroke',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'road.highway',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road.highway',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#616161',\n },\n ],\n },\n {\n featureType: 'road.local',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'road.local',\n elementType: 'geometry',\n stylers: [\n {\n color: '#ffffff',\n },\n {\n visibility: 'on',\n },\n {\n weight: 0.5,\n },\n ],\n },\n {\n featureType: 'road.local',\n elementType: 'labels',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road.local',\n elementType: 'labels.text',\n stylers: [\n {\n visibility: 'on',\n },\n ],\n },\n {\n featureType: 'road.local',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#9e9e9e',\n },\n ],\n },\n {\n featureType: 'transit',\n stylers: [\n {\n visibility: 'off',\n },\n ],\n },\n {\n featureType: 'transit.line',\n elementType: 'geometry',\n stylers: [\n {\n color: '#e5e5e5',\n },\n ],\n },\n {\n featureType: 'transit.station',\n elementType: 'geometry',\n stylers: [\n {\n color: '#eeeeee',\n },\n ],\n },\n {\n featureType: 'water',\n elementType: 'geometry',\n stylers: [\n {\n color: '#4cc7f4',\n },\n ],\n },\n {\n featureType: 'water',\n elementType: 'labels.text.fill',\n stylers: [\n {\n color: '#0066a1',\n },\n ],\n },\n];\n","export const provinces = [\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"2\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Albacete\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"3\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Alicante/Alacant\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"4\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Almería\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"1\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Araba/Álava\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"33\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Asturias\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"5\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Ávila\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"6\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Badajoz\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"7\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Balears, Illes\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"8\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Barcelona\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"48\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Bizkaia\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"9\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Burgos\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"10\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Cáceres\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"11\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Cádiz\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"39\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Cantabria\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"12\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Castellón/Castelló\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"13\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Ciudad Real\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"14\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Córdoba\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"15\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Coruña, A\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"16\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Cuenca\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"20\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Gipuzkoa\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"17\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Girona\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"18\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Granada\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"19\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Guadalajara\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"21\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Huelva\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"22\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Huesca\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"23\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Jaén\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"24\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"León\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"25\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Lleida\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"27\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Lugo\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"28\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Madrid\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"29\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Málaga\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"30\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Murcia\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"31\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Navarra\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"32\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Ourense\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"34\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Palencia\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"35\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Palmas, Las\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"36\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Pontevedra\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"26\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Rioja, La\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"37\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Salamanca\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"38\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Santa Cruz de Tenerife\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"40\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Segovia\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"41\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Sevilla\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"42\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Soria\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"43\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Tarragona\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"44\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Teruel\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"45\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Toledo\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"46\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Valencia/València\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"47\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Valladolid\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"49\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Zamora\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"50\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Zaragoza\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"51\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Ceuta\"\n }\n ]\n },\n {\n \"attributes\": [\n {\n \"name\": \"CODE\",\n \"value\": \"52\"\n },\n {\n \"name\": \"NAME\",\n \"value\": \"Melilla\"\n }\n ]\n }\n]","import {\n styled\n} from '@volkswagen-onehub/components-core';\n\n//Layer styles\n\nexport const MapAndTabsWrapper = styled.div<{ showFilters: boolean }>`\n display: flex;\n .wrapper {\n width: 50%;\n height: 100vh;\n &--tabs {\n background-color: #001e50;\n overflow-y: hidden;\n color: #ffffff;\n }\n &--map {\n z-index: 4;\n height: 100%;\n background-color: grey;\n }\n }\n .opacity-layer {\n position: absolute;\n width: 50%;\n height: 100%;\n left: 0;\n background: rgba(0, 0, 0, 0.4);\n z-index: ${(props) => (props.showFilters ? 6 : -1)};\n opacity: ${(props) => (props.showFilters ? 1 : 0)};\n transition: opacity 0.4s;\n }\n`;\n\nexport const FilterButton = styled.div`\n position: absolute;\n top: 24px;\n right: 24px;\n button {\n background: #ffffff;\n }\n`;\n\nexport const FiltrosWrapperLayer = styled.div`\n min-height: 100vh;\n width: 50%;\n background-color: #ffffff;\n position: absolute;\n top: 0;\n right: 0;\n z-index: 5;\n transform: translate3d(100%, 0, 0);\n display: none;\n .back-btn {\n position: absolute;\n z-index: 4;\n top: 20px;\n left: 24px;\n @media screen and (min-width: 1600px) {\n top: 24px;\n }\n }\n &.filtros-enter {\n display: block;\n transform: translate3d(100%, 0, 0);\n }\n &.filtros-enter-active {\n display: block;\n transform: translate3d(0, 0, 0);\n transition: all 0.4s;\n }\n &.filtros-enter-done {\n display: block;\n transform: translate3d(0, 0, 0);\n }\n &.filtros-exit {\n display: block;\n transform: translate3d(0, 0, 0);\n }\n &.filtros-exit-active {\n display: block;\n transform: translate3d(100%, 0, 0);\n transition: all 0.4s;\n }\n &.filtros-exit-done {\n display: none;\n transform: translate3d(100%, 0, 0);\n }\n`;\n\nexport const ListWrapper = styled.div<{paddingBottom?: string}>`\n height: calc(100vh - 120px);\n overflow-y: auto;\n @media all and (min-width: 960px) {\n padding-bottom: ${(props)=> props.paddingBottom ? props.paddingBottom : null};\n }\n`;\n\nexport const SmallerSVG = styled.div`\n svg {\n height: 12px;\n width: 12px;\n }\n button {\n height: 24px;\n min-height: 24px; \n }\n div{\n font-size: 12px;\n }\n`;\n\n//Mobile Layer styled components\n\nexport const FilterMobileNavbar = styled.div`\n position: fixed;\n top: 0;\n width: 100vw;\n padding: 8px 20px;\n z-index: 20;\n background-color: #ffffff; \n`;\n\nexport const CTAsNavigationWrapper = styled.div<{services?: boolean}>`\n display:flex;\n justify-content: space-between;\n padding-bottom: ${(props) => props.services ? '16px' : null} ;\n`;\n\ninterface VerMasYCarouselPositionProps {\n translateCarousel: boolean;\n userIsGeoLocated: boolean;\n}\n\nexport const VerMasYCarouselPosition = styled.div`\n position: absolute;\n bottom: 8px;\n height: fit-content;\n width: 100%;\n`;\nexport const SoloCardWrapper = styled.div`\n background-color: #001e50;\n bottom: 8px;\n height: fit-content;\n position: absolute;\n margin: 0 var(--size-grid002);\n width: var(--size-grid020);\n .box-card-wrapper {\n border: none;\n margin-top: 0;\n }\n`;\n\nexport const CTASwrapper = styled.div`\n padding-right: 20px;\n padding-bottom: 12px;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n`;\n\nexport const VerMasTalleresCTA = styled.div`\n height: 32px;\n padding-right: 16px;\n padding-left: 16px;\n background-color: #ffffff;\n border: 1px solid #001e50;\n border-radius: 500px;\n color: #001e50;\n display: flex;\n align-items: center;\n width: 100px;\n`;\n\nexport const ControllerBackground = styled.div`\n border-radius: 100%;\n background-color: #ffffff;\n height: 44px;\n width: 44px;\n margin-bottom: 12px;\n button {\n border: 1px solid #001e50;\n }\n`;\n\ninterface CloseButtonProps {\n isTabsClose?: boolean;\n isFiltrosClose?: boolean;\n}\nexport const CloseButtonWrapper = styled.div`\n position: absolute;\n padding-bottom: ${(props) => (props.isTabsClose || props.isFiltrosClose ? '12px' : null)};\n background-color: ${(props) => (props.isTabsClose ? '#001E50' : '#FFFFFF')};\n width: 100%;\n padding-top: 12px;\n padding-left: 12px;\n z-index: 4;\n top: ${(props) => (props.isTabsClose || props.isFiltrosClose ? '0' : null)};\n @media screen and (min-width: 560px) {\n left: 20px;\n }\n button {\n color: ${(props) => (props.isTabsClose ? '#FFFFFF' : null)};\n }\n`;\n\nexport const MoblieListWrapper = styled.div<{paddingTop?: string}>`\n padding-top: ${(props)=> props.paddingTop ? props.paddingTop : null};\n`;\n","import {\n Breakpoints,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n Layout,\n ThemeProvider,\n} from '@volkswagen-onehub/components-core';\nimport { ArrowLeft, Magnifier, FleetServicePrivate, CarPickupService } from 'src/icons-core-imports';\n\nimport React, { useEffect, useRef, useState } from 'react';\nimport { CSSTransition } from 'react-transition-group';\nimport { useFeatureAppConfig } from 'src/feature-app';\nimport { CloseComponent } from 'src/feature-app/Screen';\nimport { SelectedTab } from 'src/types';\nimport { Filtros } from 'src/feature-app/NewMap';\nimport { Points } from 'src/types';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { NewMap } from 'src/feature-app/NewMap/components/Map';\nimport { useMapGeneralController } from 'src/feature-app/NewMap/MapGeneralController';\nimport { \n MapAndTabsWrapper, \n FilterButton, \n FiltrosWrapperLayer, \n ListWrapper, \n SmallerSVG, \n handleClickCarPickup,\n handleClickReplacementCar \n} from '.';\n\ninterface ViewCitaPosventaProps {\n handleSeleccionarOnClick: any;\n handleShowSlots?: (point: Points) => string | null;\n renderPoints(points: any, carPickupSelected?: boolean, replacementCarSelected?: boolean, isTime?: boolean ): JSX.Element[];\n renderCalendar?(): JSX.Element;\n showCalendar?: boolean;\n preSelectedOrderValue?: SelectedTab;\n setPreSelectedOrderValue?: React.Dispatch>;\n pointsToList: Points[];\n services?: boolean;\n paddingBottomList?: string;\n isPosventa?: boolean;\n concesionario?: boolean;\n onlySuggest?: boolean; \n}\n\nexport const LayerDesktopView = (props: ViewCitaPosventaProps) => {\n const {\n renderPoints,\n renderCalendar,\n showCalendar,\n preSelectedOrderValue,\n setPreSelectedOrderValue,\n pointsToList,\n services, paddingBottomList, isPosventa, concesionario, onlySuggest,\n } = props;\n\n const [showFiltros, setShowFiltros] = useState(false);\n const [ preselectedDealerForm, setPreselectedDealerForm ] = useState(false);\n const config = useFeatureAppConfig();\n const sustitucionRef = useRef(null);\n const recogidaRef = useRef(null);\n\n useEffect(()=>{\n if(config.trigger === 'cita-posventa-dealer') {\n setPreselectedDealerForm(true);\n } else {\n setPreselectedDealerForm(false);\n }\n }, []);\n\n const { searchIsDealer } = useMapGeneralController();\n const { handleAreYouSureLayer } = useOneFormContext();\n\n const handleShowFiltros = () => {\n setShowFiltros(!showFiltros);\n };\n\n //seleccionar los que tiene coche de sustitucion o servicio de recogida\n\n const [ carPickupSelected, setCarPickupSelected] = useState(false);\n const [ replacementCarSelected, setReplacementCarSelected ] = useState(false);\n\n return showCalendar ? (\n renderCalendar()\n ) : (\n \n \n
\n \n {\n services? (\n \n \n {\n e.preventDefault();\n handleClickReplacementCar(replacementCarSelected, setReplacementCarSelected);\n sustitucionRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Coche de sustitución\n \n \n \n {\n e.preventDefault();\n handleClickCarPickup(carPickupSelected, setCarPickupSelected);\n recogidaRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Servicio de recogida y entrega\n \n \n \n ) : null\n }\n \n
\n {pointsToList ? (\n \n \n {renderPoints(pointsToList, carPickupSelected, replacementCarSelected)}\n \n \n ) : null}\n
\n \n
\n
\n \n {\n preselectedDealerForm ? null : (\n \n \n {\n e.preventDefault();\n handleShowFiltros();\n }}\n ariaLabel=\"aria label\"\n icon={}\n >\n Buscar de nuevo\n \n \n \n )\n } \n
\n
setShowFiltros(false)} />\n \n\n \n \n \n
\n {\n e.preventDefault();\n handleShowFiltros();\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n
\n handleShowFiltros()}\n showFiltros={showFiltros}\n setShowFiltros={setShowFiltros}\n setPreSelectedOrderValue={setPreSelectedOrderValue}\n preSelectedOrderValue={preSelectedOrderValue}\n citaPosventa = {isPosventa}\n onlySuggest={true}\n concesionario={true}\n />\n
\n
\n
\n \n );\n};\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n ContainerGutter,\n CTA,\n Layout,\n Text,\n ThemeProvider,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { ArrowLeft, Close, Locate, Magnifier, CarPickupService, FleetServicePrivate } from 'src/icons-core-imports';\n\nimport React, { useEffect, useState } from 'react';\nimport { useFeatureAppConfig } from 'src/feature-app';\nimport { SelectedTab } from 'src/types';\nimport { Carousel, Filtros, NewMap, useMapGeneralController } from 'src/feature-app/NewMap';\nimport { Points } from 'src/types';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useRef } from 'react';\nimport { \n CloseButtonWrapper, \n ControllerBackground, \n CTAsNavigationWrapper, \n CTASwrapper, \n FilterMobileNavbar, \n SmallerSVG, \n SoloCardWrapper, \n VerMasTalleresCTA, \n VerMasYCarouselPosition,\n handleClickCarPickup,\n handleClickReplacementCar,\n MoblieListWrapper \n} from '.';\nimport { useFeatureServices } from 'src/feature-app/hooks';\n\nconst listIcon = require('../../../feature-app/NewMap/assets/filter-ic_list.svg');\n\ninterface ViewCitaPosventaProps {\n handleSeleccionarOnClick: any;\n handleShowSlots?: (point: Points) => string | null;\n handleShowCalendarOnClick?: (point: Points) => Promise;\n renderPoints(points: any, carPickupSelected?: boolean, replacementCarSelected?: boolean, isTime?: boolean, isCarouselCard?: boolean ): JSX.Element[];\n renderCalendar?(): JSX.Element;\n showCalendar?: boolean;\n preSelectedOrderValue?: SelectedTab;\n setPreSelectedOrderValue?: React.Dispatch>;\n pointsToList: Points[];\n isPosventa?: boolean;\n services?: boolean;\n concesionario?: boolean;\n onlySuggest?: boolean; \n paddingTopList?: string;\n}\n\nexport const LayerMobileView = (props: ViewCitaPosventaProps) => {\n const {\n handleSeleccionarOnClick,\n handleShowSlots,\n renderPoints,\n handleShowCalendarOnClick,\n showCalendar,\n renderCalendar,\n preSelectedOrderValue,\n setPreSelectedOrderValue,\n pointsToList, isPosventa, services,\n concesionario, onlySuggest, paddingTopList\n } = props;\n const { handlePreviousStep } = useOneFormContext();\n\n const {\n centerInGeoLocatedCenter,\n userIsGeoLocated,\n searchIsDealer,\n } = useMapGeneralController();\n\n //controladores de vista\n\n const [showFiltros, setShowFiltros] = useState(false);\n const [showTalleres, setShowTalleres] = useState(false);\n const [showMap, setShowMap] = useState(true);\n const [translateCarousel, setTranselateCarousel] = useState(false);\n const [ preselectedDealerForm, setPreselectedDealerForm ] = useState(false);\n const config = useFeatureAppConfig();\n const sustitucionMapRef = useRef(null);\n const recogidaMapRef = useRef(null);\n const sustitucionRef = useRef(null);\n const recogidaRef = useRef(null);\n const layerManager = useFeatureServices()['layer-manager'];\n useEffect(()=>{\n if(config.trigger === 'cita-posventa-dealer') {\n setPreselectedDealerForm(true);\n } else {\n setPreselectedDealerForm(false);\n }\n }, []);\n\n //otros\n const [gelocalizationActive, setGelocalizationActive] = useState(false);\n\n useEffect(() => {\n if (userIsGeoLocated) {\n setGelocalizationActive(true);\n }\n }, [userIsGeoLocated]);\n\n const handleShowFiltros = () => {\n setShowFiltros(!showFiltros);\n setShowTalleres(false);\n };\n const handleShowTalleres = () => {\n setShowTalleres(!showTalleres);\n setShowFiltros(false);\n };\n\n useEffect(() => {\n if (showFiltros === false && showTalleres === false) {\n setShowMap(true);\n } else {\n setShowMap(false);\n }\n }, [showFiltros, showTalleres]);\n\n //seleccionar los que tiene coche de sustitucion o servicio de recogida\n\n const [ carPickupSelected, setCarPickupSelected] = useState(false);\n const [ replacementCarSelected, setReplacementCarSelected ] = useState(false);\n\n return showCalendar ? (\n renderCalendar()\n ) : (\n
\n {showMap ? (\n <>\n \n \n \n {\n e.preventDefault();\n const layers = layerManager.getLayers();\n const layer = layers.find(\n (layer) => layer.layer.options.id === 'mapaLeadInPage'\n ); \n if (layer) {\n layer.layer?.close();\n }\n handlePreviousStep(e);\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n {\n preselectedDealerForm ? null : (\n {\n e.preventDefault();\n handleShowFiltros();\n }}\n ariaLabel=\"aria label\"\n icon={}\n >\n Buscar de nuevo\n \n )\n }\n \n {\n services ? (\n \n \n {\n e.preventDefault();\n handleClickReplacementCar(replacementCarSelected, setReplacementCarSelected);\n sustitucionMapRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Coche de sustitución\n \n \n \n {\n e.preventDefault();\n handleClickCarPickup(replacementCarSelected, setReplacementCarSelected);\n recogidaMapRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Servicio de recogida\n \n \n \n ) : null\n }\n \n \n \n \n
\n\n {pointsToList ? (\n searchIsDealer ? (\n \n {renderPoints(pointsToList, carPickupSelected, replacementCarSelected)}\n \n ) : (\n \n \n \n {gelocalizationActive ? (\n {\n e.preventDefault();\n centerInGeoLocatedCenter();\n e.stopPropagation();\n }}\n >\n {\n e.preventDefault();\n centerInGeoLocatedCenter();\n e.stopPropagation();\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n ) : null}\n {\n e.preventDefault();\n e.stopPropagation();\n }}\n onClick={(e) => {\n e.preventDefault();\n e.stopPropagation();\n handleShowTalleres();\n }}\n >\n \n \n Ver lista\n \n \n \n \n\n {/* Aunque en principio no debería devolver nunca sólo un resultado, dejo el siguiente\n render condicional por is acaso */}\n {pointsToList.length === 1 ? (\n \n {renderPoints(pointsToList, carPickupSelected, replacementCarSelected)}\n \n ) : (\n \n )}\n \n )\n ) : null}\n \n ) : (\n <>\n {showTalleres ? (\n \n \n \n {\n e.preventDefault();\n handleShowTalleres();\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n {\n services ? (\n \n \n {\n e.preventDefault();\n handleClickReplacementCar(replacementCarSelected, setReplacementCarSelected);\n sustitucionRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Coche de sustitución\n \n \n \n {\n e.preventDefault();\n handleClickCarPickup(carPickupSelected, setCarPickupSelected);\n recogidaRef.current.blur();\n }} \n ariaLabel='aria label'\n icon={}\n >\n Servicio de recogida\n \n \n \n ) : null\n }\n \n \n \n \n {renderPoints(pointsToList, carPickupSelected, replacementCarSelected)}\n \n \n \n
\n
\n ) : showFiltros ? (\n \n \n \n {\n e.preventDefault();\n handleShowFiltros();\n }}\n ariaLabel=\"aria label\"\n icon={}\n />\n \n handleShowFiltros()}\n preSelectedOrderValue={preSelectedOrderValue}\n setPreSelectedOrderValue={setPreSelectedOrderValue}\n showFiltros={showFiltros}\n setShowFiltros={setShowFiltros}\n citaPosventa = {isPosventa}\n onlySuggest={onlySuggest}\n concesionario={concesionario}\n />\n \n \n ) : null}\n \n )}\n \n );\n};\n","export const handleClickCarPickup = (carPickupSelected: boolean, setCarPickupSelected: (value: boolean) => void ) => {\n if(!carPickupSelected) {\n setCarPickupSelected(true);\n } else {\n setCarPickupSelected(false);\n }\n};\n\nexport const handleClickReplacementCar = (replacementCarSelected: boolean, setReplacementCarSelected: (value: boolean) => void) => {\n if(!replacementCarSelected) {\n setReplacementCarSelected(true);\n } else {\n setReplacementCarSelected(false);\n }\n};\n","import { getDistanceFromLatLngCenter } from './utils';\nimport { isNull } from 'src/feature-app';\nimport { Horario, Slot, Points, Center, Slots } from 'src/types';\n\nexport const sortPoints = (\n clusters: Points[],\n horario: Horario,\n center: google.maps.LatLng,\n supercluster: supercluster\n // zoom: number,\n // firstLoad: boolean\n): { pointsByTime: Points[] | null; pointsByDistance: Points[] | null; newCenter?: Center; newZoom?: number } => {\n // Filtramos los puntos que no son clusters para eliminar las agrupaciones y quedarnos con los dealers unicamente, para posteriormente obtener su distancia la centro del mapa.\n\n // const distanceForFilter = getDistanceForFilter(zoom);\n\n // points = points.filter((point: Points) => Number(point.properties.distanceFromCenter) < distanceForFilter);\n let points: Points[] = [...clusters];\n\n const realClusters = points.filter((point: Points) => point.properties.cluster === true);\n // .sort((a: Points, b: Points) => Number(b.properties.point_count) - Number(a.properties.point_count));\n\n realClusters.forEach((cluster) => {\n if (supercluster) {\n const leaves: Points[] = supercluster.getLeaves(cluster.id);\n leaves.forEach((dealer) => {\n // Necesitamos esta propiedad para en caso de hover sobre la card, poder cambiar el cluster de color.\n dealer.properties.parent_cluster_id = cluster.id;\n\n points.push(dealer);\n });\n }\n });\n\n points = points.filter((point: Points) => point.properties.cluster === false);\n points = [...points]\n // .filter((point: Points) => point.properties.cluster === false)\n .map((point: Points) => {\n const distanceFromCenter = getDistanceFromLatLngCenter(center, point);\n return {\n ...point,\n properties: {\n ...point.properties,\n distanceFromCenter,\n },\n };\n });\n // if (points.length === 0 && firstLoad) {\n // return { pointsByTime: null, pointsByDistance: null, newCenter: center, newZoom: zoom - 1 };\n // }\n\n const pointsByTime = sortByTime(points, horario);\n\n const pointsByDistance = points.sort(\n (a: Points, b: Points) => Number(a.properties.distanceFromCenter) - Number(b.properties.distanceFromCenter)\n );\n\n return { pointsByTime, pointsByDistance, newCenter: null, newZoom: null };\n};\n\nconst sortByTime = (points: Points[], horario: Horario): Points[] => {\n const pointsWithDms: Points[] = [];\n const pointsWithoutDms: Points[] = [];\n\n points.forEach((point: Points) => {\n const { dealer } = point.properties;\n dealer.dmsInfo && dealer.dmsInfo.dmsAvailable ? pointsWithDms.push(point) : pointsWithoutDms.push(point);\n });\n\n const pointsWithoutDmsSorted = pointsWithoutDms.sort(\n (a: Points, b: Points) => Number(a.properties.distanceFromCenter) - Number(b.properties.distanceFromCenter)\n );\n\n const pointsWithSlots = pointsWithDms.filter((point: Points) => !isNull(point.properties.dealer.slots));\n // Si el usuario elige cualquier opción que no sea Lo antes posible se le devuelven los slots predeterminados.\n // En caso contrario, se debe elegir el turno más temprano de cada concesión y guardarlo como earliestSlot para poder ordenarlos más adelante.\n if (horario !== 'before') {\n const pointsWithDmsAndAvailableSlots: Points[] = [];\n const pointsWithDmsAndWithoutAvailableSlots: Points[] = [];\n pointsWithSlots.forEach((point) => {\n const { dealer } = point.properties;\n isNull(dealer.slots[horario])\n ? pointsWithDmsAndWithoutAvailableSlots.push(point)\n : pointsWithDmsAndAvailableSlots.push(point);\n });\n\n pointsWithDmsAndAvailableSlots.sort(\n (a: Points, b: Points) => a.properties.dealer.slots[horario].from - b.properties.dealer.slots[horario].from\n );\n\n return [...pointsWithDmsAndAvailableSlots, ...pointsWithDmsAndWithoutAvailableSlots, ...pointsWithoutDms];\n } else {\n const pointsWithoutSlots: Points[] = [];\n const pointsWithAtLeastOneSlot: Points[] = [];\n\n // Separamos los dealers con DMS según si tienen al menos un slot disponible o no.\n pointsWithSlots.forEach((dealer: Points) => {\n if (\n !isNull(dealer.properties.dealer.slots.morning) ||\n !isNull(dealer.properties.dealer.slots.evening) ||\n !isNull(dealer.properties.dealer.slots.afternon)\n ) {\n pointsWithAtLeastOneSlot.push(dealer);\n } else {\n pointsWithoutSlots.push(dealer);\n }\n });\n\n const pointsWithEarliestSlot = pointsWithAtLeastOneSlot\n .map((point: Points) => {\n const { slots } = point.properties.dealer;\n const slotsFiltered = Object.values(slots)\n .filter((slot: Slot) => !isNull(slot) && !isNull(slot.from))\n .map((slot: Slot) => slot.from);\n point.properties.earliestSlot = Math.min(...slotsFiltered);\n return point;\n })\n .sort((a: Points, b: Points) => a.properties.earliestSlot - b.properties.earliestSlot);\n return [...pointsWithEarliestSlot, ...pointsWithoutSlots, ...pointsWithoutDmsSorted];\n }\n};\n\nexport const sortPointsByDistance = (\n clusters: Points[],\n center: google.maps.LatLng,\n supercluster: supercluster\n): Points[] => {\n let points: Points[] = [...clusters];\n\n const realClusters = points.filter((point: Points) => point.properties.cluster === true);\n realClusters.forEach((cluster) => {\n if (supercluster) {\n const leaves: Points[] = supercluster.getLeaves(cluster.id);\n leaves.forEach((dealer) => {\n // Necesitamos esta propiedad para en caso de hover sobre la card, poder cambiar el cluster de color.\n dealer.properties.parent_cluster_id = cluster.id;\n\n points.push(dealer);\n });\n }\n });\n\n return points\n .filter((point: Points) => point.properties.cluster === false)\n .map((point: Points) => {\n const distanceFromCenter = getDistanceFromLatLngCenter(center, point);\n return {\n ...point,\n properties: {\n ...point.properties,\n distanceFromCenter,\n },\n };\n })\n .sort((a: Points, b: Points) => Number(a.properties.distanceFromCenter) - Number(b.properties.distanceFromCenter));\n};\n\nexport const getEarliestSlot = (slots: Slots) => {\n if (!slots) {\n return null;\n }\n const filteredSlots = Object.values(slots)\n .filter((slot: Slot) => !isNull(slot) && !isNull(slot.from))\n .map((slot: Slot) => slot.from);\n if (filteredSlots.length === 0) {\n return null;\n }\n return Math.min(...filteredSlots);\n};\n","import { GooglePlace, Suggestion } from 'src/feature-app';\nimport { DealersData, isDealerData, Points, Center } from 'src/types';\nimport getDistance from 'geolib/es/getDistance';\nimport { Dispatch } from 'react';\nimport { Geometry, Installation } from 'src/types';\nimport { store } from '../App';\n\nexport const isGooglePlace = (suggestion: Suggestion): suggestion is GooglePlace => {\n if (suggestion) {\n return (suggestion as GooglePlace).isGooglePlace !== undefined;\n }\n return null;\n};\n\nconst getCanaryBounds = () => {\n const result: google.maps.LatLngBounds = new window.google.maps.LatLngBounds(null);\n const north = 29.463514;\n const east = -13.31543;\n const south = 27.425414;\n const west = -18.391113;\n const ne = new window.google.maps.LatLng(north, east);\n const sw = new window.google.maps.LatLng(south, west);\n result.extend(ne);\n result.extend(sw);\n\n return result;\n};\n\nexport const getLocationOfDealer = (suggestion: DealersData): Geometry => {\n const bounds: google.maps.LatLngBounds = new window.google.maps.LatLngBounds(null);\n let lat, lng;\n if (isDealerData(suggestion)) {\n lat = suggestion.markerInfo.svcLocation.latitude;\n lng = suggestion.markerInfo.svcLocation.longitude;\n } else {\n lat = Number((suggestion as Installation).ShippingLatitude);\n lng = Number((suggestion as Installation).ShippingLongitude);\n }\n const point: google.maps.LatLng = new window.google.maps.LatLng(lat, lng);\n bounds.extend(point);\n return {\n lat,\n lng,\n bounds: null,\n viewport: null,\n };\n};\n\nexport const getLocationOfDealerWithoutLoadInstance = (suggestion: Suggestion, maps: google.maps): Geometry => {\n const bounds: google.maps.LatLngBounds = new maps.LatLngBounds(null);\n let lat, lng;\n if (isDealerData(suggestion)) {\n lat = suggestion.markerInfo.svcLocation.latitude;\n lng = suggestion.markerInfo.svcLocation.longitude;\n } else {\n lat = Number((suggestion as Installation).ShippingLatitude);\n lng = Number((suggestion as Installation).ShippingLongitude);\n }\n const point: google.maps.LatLng = new maps.LatLng(lat, lng);\n bounds.extend(point);\n return {\n lat,\n lng,\n };\n};\n\nconst getBounds = (latlngBounds: google.maps.LatLngBounds): google.maps.LatLngBounds => {\n const result: google.maps.LatLngBounds = new window.google.maps.LatLngBounds(null);\n const north = latlngBounds.getNorthEast().lat();\n const east = latlngBounds.getNorthEast().lng();\n const south = latlngBounds.getSouthWest().lat();\n const west = latlngBounds.getSouthWest().lng();\n const ne = new window.google.maps.LatLng(north, east);\n const sw = new window.google.maps.LatLng(south, west);\n result.extend(ne);\n result.extend(sw);\n\n return result;\n};\n\nconst getGeometryFromGoogleResult = (result: any): Geometry => {\n let viewport = null;\n let bounds = null;\n if (result.geometry) {\n if (result.geometry.viewport) {\n viewport = getBounds(result.geometry.viewport);\n } else if (result.geometry.bounds) {\n bounds = getBounds(result.geometry.bounds);\n }\n\n const lat = result.geometry.location.lat();\n const lng = result.geometry.location.lng();\n\n return { lat, lng, bounds, viewport };\n } else {\n return { lat: null, lng: null };\n }\n};\n\ninterface GeocodeCache {\n suggestion: GooglePlace;\n geometry: Geometry;\n isAddress: boolean;\n isCanaryIslands: boolean;\n}\n\n// const cache: GeocodeCache[] = [];\n\nconst resultIsAddress = (result: google.maps.GeocoderResult) => {\n const addressTypes = [\n 'route',\n 'street_address',\n 'intersection',\n 'neighborhood',\n 'premise',\n 'subpremise',\n 'park',\n 'point_of_interest',\n 'establishment',\n 'tourist_attraction',\n ];\n const resultType = result.types[0];\n\n return addressTypes.includes(resultType);\n};\n\nexport const getGeocode = (suggestion: GooglePlace): Promise | Geometry => {\n // Se desactiva el cache porque da error en mobile\n // const cachedResult = cache.find(cachedResult => cachedResult.suggestion.name === suggestion.name);\n\n // if (cachedResult) {\n // console.log(cachedResult,'cache');\n // store.dispatch({ type: 'SUGGESTION_IS_ADDRESS', payload: cachedResult.isAddress });\n // store.dispatch({ type: 'SUGGESTION_IS_IN_CANARY_ISLANDS', payload: cachedResult.isCanaryIslands });\n // return new Promise((resolve)=>resolve(cachedResult.geometry));\n // }\n\n const geocode = new window.google.maps.Geocoder();\n return new Promise((resolve, reject) => {\n return geocode.geocode(\n { address: suggestion.name },\n (response: any) => {\n const result: google.maps.GeocoderResult = response[0];\n const geometry = getGeometryFromGoogleResult(result);\n const point: google.maps.LatLng = new window.google.maps.LatLng(geometry.lat, geometry.lng);\n const bounds: google.maps.LatLngBounds = getCanaryBounds();\n let isAddress: boolean;\n let isCanaryIslands: boolean;\n isAddress = resultIsAddress(result);\n isCanaryIslands = bounds.contains(point);\n\n store.dispatch({ type: 'SUGGESTION_IS_ADDRESS', payload: isAddress });\n store.dispatch({ type: 'SUGGESTION_IS_IN_CANARY_ISLANDS', payload: isCanaryIslands });\n store.dispatch({ type: 'UPDATE_USER_GEOLOCATION', payload: null });\n\n // cache.push({ suggestion, geometry, isAddress, isCanaryIslands });\n\n resolve(geometry);\n },\n () => reject('Problems with geocode')\n );\n });\n};\n\ninterface ReverseGeocodeResponse {\n formatted_address: string;\n}\n\nexport const getReverseGeocode = (latlng: {\n lat: number;\n lng: number;\n}): Promise<{ geometry: Geometry; name: string }> => {\n const geocode = new window.google.maps.Geocoder();\n\n return new Promise((resolve, reject) => {\n return geocode.geocode(\n { location: latlng },\n (response: ReverseGeocodeResponse[]) => {\n const result = response[0];\n const geometry = getGeometryFromGoogleResult(result);\n let name: string = response.length > 0 ? response[0].formatted_address : 'España'; // Se devuelve el primero porque no hay manera de filtrar el \"mejor\" resultado.\n resolve({ geometry, name });\n },\n () => reject('Problems with geocode')\n );\n });\n};\n\nexport const getLocationOfGooglePlace = async (suggestion: GooglePlace): Promise => {\n const geometry = await getGeocode(suggestion);\n return geometry;\n};\n\nexport const getDistanceFromCenter = (center: Center, point: Points) => {\n const lng = point.geometry.coordinates[0];\n const lat = point.geometry.coordinates[1];\n const distance = getDistance({ lat: center.lat, lng: center.lng }, { lat, lng }) / 1000;\n return distance.toFixed(1);\n};\n\nexport const getDistanceFromLatLngCenter = (center: google.maps.LatLng, point: Points) => {\n if (!center || !point) {\n return '0';\n }\n const lng = point.geometry.coordinates[0];\n const lat = point.geometry.coordinates[1];\n const distance = getDistance({ lat: center.lat(), lng: center.lng() }, { lat, lng }) / 1000;\n const toFixed = Math.round(distance).toString().length > 2 ? 0 : 1; // Para más de 100km devolvemos el número sin decimal.\n return distance.toFixed(toFixed);\n};\n\nexport const handleMapVariables = (\n dispatch: Dispatch,\n center: Center,\n zoom: number,\n geometry: Geometry,\n isDealer: boolean,\n suggestion: Suggestion\n) => {\n dispatch({ type: 'UPDATE_USER_CENTER', payload: { lat: center.lat, lng: center.lng } }); // Eliminar\n dispatch({ type: 'UPDATE_INITIAL_ZOOM', payload: zoom }); // Eliminar\n dispatch({ type: 'UPDATE_GEOMETRY', payload: geometry });\n dispatch({ type: 'UPDATE_SUGGESTION', payload: suggestion ? suggestion : null });\n dispatch({ type: 'SUGGESTION_IS_DEALER', payload: isDealer });\n dispatch({ type: 'UPDATE_FIELDS', payload: { location: suggestion.name } }); // No se si se usa, de momento lo dejo.\n};\n\nexport const updateMapVariables = async (dispatch: Dispatch, suggestion: Suggestion, geometryData?: Geometry) => {\n let geometry: Geometry = geometryData ? geometryData : null;\n let isDealer: boolean;\n if (!window.google || !window.google.maps) {\n return;\n }\n if (!geometryData) {\n geometry = isGooglePlace(suggestion) ? await getLocationOfGooglePlace(suggestion) : getLocationOfDealer(suggestion);\n }\n isDealer = !isGooglePlace(suggestion);\n if ((suggestion as GooglePlace).isGeoLocated) {\n dispatch({ type: 'UPDATE_USER_GEOLOCATION', payload: suggestion });\n }\n dispatch({ type: 'UPDATE_GEOMETRY', payload: geometry });\n dispatch({ type: 'UPDATE_SUGGESTION', payload: suggestion ? suggestion : null });\n dispatch({ type: 'SUGGESTION_IS_DEALER', payload: isDealer });\n};\n\nexport const removeWhiteSpace = (s: string): string => (s ? s.replace(/\\s/g, '') : s);\nexport const formatPrefix = (s: string): string => s ? s : '';\nexport const formatPrefixOneFormBFF = (s: string): string => s ? s.replace(\"+\",\"00\") : '';\n\nexport const checkIfMorning = (slotHour: Date) => {\n const morningHour = getNormalizedDate('12:00:00');\n return slotHour <= morningHour ? true : false;\n};\n\nexport const checkIfMidDay = (slotHour: Date) => {\n const morningHour = getNormalizedDate('12:00:00');\n const eveningHour = getNormalizedDate('16:00:00');\n\n return slotHour > morningHour && slotHour <= eveningHour ? true : false;\n};\n\nexport const checkIfEvening = (slotHour: Date) => {\n const eveningHour = getNormalizedDate('16:00:00');\n return slotHour > eveningHour ? true : false;\n};\n\n/**\n * hour en formato 12:00:00\n * @param hour\n */\nexport const getNormalizedDate = (hour: string) => new Date(`1/1/1999 ${hour}`);\n","import { styled, Text, TextAlignment, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\n// // import store from './store';\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { SyntheticEvent, useEffect, useState } from 'react';\nimport { deviceType } from 'react-device-detect';\nimport { FormContext, useForm } from 'react-hook-form';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { setObjectValues, useFeatureServices, formInfoInitialState } from 'src/feature-app';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ErrorFormFields } from './tracking-types';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { BehaviorSubject } from 'rxjs';\nimport { useFeatureAppConfig, useFeatureAppEnvironment } from './hooks';\nimport { GenericErrorLayer } from 'src/components';\nimport { LayerManagerWrapper } from './LayerManagerWrapper';\n\nconst Form = styled.form``;\n\ninterface errorMessageProps {\n notALayer: boolean;\n}\nconst ErrorMessage = styled.div`\n position: absolute;\n bottom: ${(props) => (props.notALayer ? '88px' : '122px')};\n right: 20px;\n z-index: 1000;\n width: max-content;\n padding: 4px 8px;\n border-radius: 4px;\n background-color: #e4002c;\n color: #ffffff;\n @media all and (min-width: 560px) {\n right: ${(props) => (props.notALayer ? 'var(--size-grid002)' : '40px')};\n }\n @media all and (min-width: 960px) {\n right: ${(props) => (props.notALayer ? 'var(--size-grid003)' : '52px')};\n bottom: ${(props) => (props.notALayer ? '88px' : '136px')};\n }\n @media all and (min-width: 1280px) {\n right: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '52px')};\n }\n @media all and (min-width: 1920px) {\n right: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '52px')};\n }\n @media all and (min-width: 2560px) {\n right: ${(props) => (props.notALayer ? 'var(--size-grid007)' : '52px')};\n }\n`;\n\ninterface UseFormMethods {\n closeLayer: () => void;\n handlePreviousStep: (e: any) => void;\n handleScreenChange: (newNumber?: number) => void;\n handleSubmit: (e: SyntheticEvent) => Promise;\n nextStep: () => void;\n previousStep: () => void;\n sendForm: () => void;\n handleShowFinalScreen: () => void;\n /**\n * Flag que activa algunas funcionalidades para facilitar el desarrollo.\n */\n debug: boolean;\n /**\n * Flag que controla si el formulario está dentro de un multistep y se tiene que esperar para realizar un next step del formulario genérico.\n */\n // waitForNextStep: boolean;\n /**\n * Flag que controla si el formulario está dentro de un multistep y se tiene que esperar para realizar un previous step del formulario genérico.\n */\n waitForPreviousStep: boolean;\n // setWaitForNextStep: React.Dispatch>;\n setWaitForPreviousStep: React.Dispatch>;\n initializeForm: (\n initialFormInfo: Partial,\n initialFormData: Partial,\n skipLayerInit?: boolean\n ) => void;\n /**\n * La propiedad nextMultiStep contiene la función que (en caso de que haya un multiStep) controlará el CTA de siguiente pantalla para navegar por las subsiguientes pantallas del multiStep sin cambiar de pantalla en el formulario principal.\n */\n nextMultiStep?: () => void;\n /**\n * Al guardar una función dentro del nextMultiStep necesitamos envolverla en otra función para que React no crea que es una inicialización -> https://medium.com/swlh/how-to-store-a-function-with-the-usestate-hook-in-react-8a88dd4eede1\n */\n setNextMultiStep?: React.Dispatch void>>;\n /**\n * La propiedad previousMultiStep contiene la función que (en caso de que haya un multiStep) controlará el CTA de siguiente pantalla para navegar por las anteriores pantallas del multiStep sin cambiar de pantalla en el formulario principal.\n */\n previousMultiStep?: () => void;\n /**\n * Al guardar una función dentro del previousMultiStep necesitamos envolverla en otra función para que React no crea que es una inicialización -> https://medium.com/swlh/how-to-store-a-function-with-the-usestate-hook-in-react-8a88dd4eede1\n */\n setPreviousMultiStep?: React.Dispatch void>>;\n\n handleNextStep: (e?: any) => void;\n /**\n * Flag que controla si se muestra o no el previousStep (ej: en CitaPrevia no se muestra en el multiStep 2 de mapa)\n */\n showPreviousStep: boolean;\n setShowPreviousStep: React.Dispatch>;\n setIsFullScreen: React.Dispatch>;\n isFullScreen: boolean;\n /**\n * Flag para validacion\n */\n error: boolean;\n setError: React.Dispatch>;\n /**\n * Flags para gestionar transiciones entre pantallas\n */\n nextScreenIndex: number;\n setNextScreenIndex: React.Dispatch>;\n nextMultiStepScreenIndex: number;\n setNextMultiStepScreenIndex: React.Dispatch>;\n distanceToMove: Array;\n setDistanceToMove: React.Dispatch>>;\n moveForward: boolean;\n setMoveForward: React.Dispatch>;\n /**\n * En alguna casuística el intro no debería pasar de página, causando el cierre de la feature app. Este flag lo desactiva.\n */\n setDisableIntroNextStep: React.Dispatch>;\n /**\n * Trigger para algunos casos en que el handleClick de ScreenController no funciona bien y el next step no se activa\n * al seleccionar una opción de las disponibles en la pantalla porque no se produce ningún click.\n * EJEMPLO: Pantalla locateUser citaPosventa en la casuística que el usuario elije geolacalización\n */\n isValueSelected: boolean;\n setIsValueSelected: React.Dispatch>;\n handleAreYouSureLayer: any;\n nextStepEventEmitter: BehaviorSubject;\n}\nexport const OneFormContext = React.createContext(null);\n\nexport const useOneFormContext = (): UseFormMethods => React.useContext(OneFormContext) as UseFormMethods;\n\ninterface OneFormProviderProps {\n children: JSX.Element;\n closeLayerCallback: CloseHandleV2;\n handleAreYouSureLayer: any;\n}\n\ninterface OneFormDebug {\n debug: boolean;\n toggleDebugMode: () => void;\n}\n\ndeclare global {\n interface Window {\n OneForm: OneFormDebug;\n }\n}\n\nexport const OneFormProvider = (props: OneFormProviderProps): any => {\n const { closeLayerCallback, handleAreYouSureLayer } = props;\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const {\n sendFormCallback,\n screenIndex,\n formEnded,\n steps,\n stepsHistory,\n nextStepCallback,\n numberOfScreens,\n lastStep,\n step,\n formSubmitted,\n notALayer,\n suggestionIsInCanaryIslands,\n } = formInfo;\n const methods = useForm();\n // const { getValues, triggerValidation } = useFormContext();\n\n const dispatch = useDispatch();\n const store = useStore();\n const [waitForPreviousStep, setWaitForPreviousStep] = useState(false);\n const [nextMultiStep, setNextMultiStep] = useState<() => void>(() => () => {});\n const [isFullScreen, setIsFullScreen] = useState(false);\n const [previousMultiStep, setPreviousMultiStep] = useState<() => void>(() => () => {});\n const [showPreviousStep, setShowPreviousStep] = useState(false);\n const [error, setError] = useState(false);\n const [nextScreenIndex, setNextScreenIndex] = useState(null);\n const [nextMultiStepScreenIndex, setNextMultiStepScreenIndex] = useState(null);\n const [distanceToMove, setDistanceToMove] = useState>([]);\n const [moveForward, setMoveForward] = useState(true);\n const oneFormService = useFeatureServices()['es:oneform-core'];\n const trackingManager = useTrackingManager();\n const [debug, setDebug] = useState(false);\n const [disableIntroNextStep, setDisableIntroNextStep] = useState(false);\n const [isValueSelected, setIsValueSelected] = useState(false);\n const [closed, setClosed] = useState(false);\n const nextStepEventEmitter: BehaviorSubject = new BehaviorSubject(false);\n const layerManager = useFeatureServices()['layer-manager'];\n const history = useFeatureServices()['s2:history'];\n const config = useFeatureAppConfig();\n const env = useFeatureAppEnvironment();\n\n useEffect(() => {\n window.OneForm = { debug, toggleDebugMode };\n setTimeout(() => {\n const { person } = oneFormService.get();\n if (person) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { ...person } });\n setObjectValues(person, methods.setValue);\n }\n }, 1000);\n }, []);\n\n const toggleDebugMode = () => {\n setDebug(!debug);\n window.OneForm.debug = !debug;\n };\n\n const initializeForm = (\n initialFormInfo: Partial,\n initialFormData: Partial,\n skipLayerInit?: boolean\n ) => {\n // En algunos casos al finalizar el formulario y cerrar el layer se vuelve a disparar el evento;\n if (formSubmitted || closed) {\n return;\n }\n\n dispatch({ type: 'UPDATE_FORM', payload: initialFormData });\n dispatch({ type: 'SET_FORM_INFO', payload: { ...formInfoInitialState, ...initialFormInfo } });\n dispatch({ type: 'SET_INITIAL_STEPS', payload: initialFormInfo.steps });\n setTimeout(() => {\n // Solucion al bug que se produce cuando hay un error genérico. Al resetear el estado\n // se añade el último screenIndex que había antes de producirse el error, por lo que\n // la navegación se ve alterada.\n dispatch({ type: 'SET_STEPS_HISTORY', payload: initialFormInfo.stepsHistory });\n if (!skipLayerInit) {\n trackingManager.trackFormLayerLoad();\n }\n }, 0);\n };\n\n useEffect(() => {\n if (screenIndex !== 0 && screenIndex !== null) {\n dispatch({ type: 'UPDATE_STEPS_HISTORY', payload: screenIndex });\n }\n if (screenIndex !== 2 && nextMultiStepScreenIndex !== null) setNextMultiStepScreenIndex(null);\n setTimeout(() => {\n setObjectValues(formData.fields, methods.setValue);\n }, 500);\n }, [screenIndex]);\n\n /**\n * En el journey de no compra al llegar al mapa se abre un layer. Se necesita que interactue con el next step, por lo que lo tenemos que cerrar desde aquí\n */\n const handleMapFullScreenLayer = (isNext: boolean) => {\n const layers = layerManager.getLayers();\n const layer = layers.find(\n (layer) => layer.layer.options.id === 'mapaNoCompra' || layer.layer.options.id === 'mapaNoRenovacion' || layer.layer.options.id === 'mapaLeadInPage'\n );\n\n if (layer) {\n layer.layer?.close();\n isNext ? nextStep() : previousStep();\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: false });\n setWaitForPreviousStep(false);\n }\n };\n\n const handleNextStep = async (e?: any) => {\n if (e) e.preventDefault();\n\n const { step } = store.getState().formInfo;\n\n if (step && step.isLastStep) {\n return;\n }\n const values = methods.getValues();\n\n const isValid = await methods.triggerValidation();\n const { waitForNextStep } = store.getState().formInfo;\n\n // if (isValid && suggestionIsInCanaryIslands) {\n // renderAvisoIslasCanariasLayer(store, env, layerManager);\n\n // return;\n // }\n\n if (isValid) {\n if (!moveForward) setMoveForward(true);\n setError(false);\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n\n //console.log(formData);\n\n handleMapFullScreenLayer(true); // Revisar para optimizar esta llamada y que solo debería ejecutarse si el form es inPage y el step en un layer\n\n if (waitForNextStep) {\n nextMultiStep();\n } else {\n nextStep();\n }\n } else {\n setError(true);\n const keys = Object.keys(methods.errors);\n\n const errorFields: ErrorFormFields[] = keys.map((key) => {\n return { 'form field id': 'id', 'form field name': key };\n });\n\n keys.map((err) => trackingManager.trackFormErrorMessageLoad({ message: err }, errorFields));\n }\n };\n\n const nextStep = () => {\n let nextStepNumber: number;\n let nextStep: Steps;\n\n // En algunos casos según como se inicializa el form ni el screenIndex ni los steps están disponibles, por lo que hay que\n // utilizar el getState para obtener el estado actual.\n const { screenIndex, steps } = store.getState().formInfo;\n\n if (formEnded && lastStep) {\n nextStepNumber = lastStep.screenIndex;\n nextStep = lastStep;\n } else {\n nextStepNumber = nextStepCallback ? nextStepCallback() : screenIndex + 1;\n nextStep = steps[nextStepNumber];\n }\n\n handleStepChange(nextStep, nextStepNumber, true);\n };\n\n const handlePreviousStep = (e: any) => {\n e.preventDefault();\n if (moveForward) {\n setMoveForward(false);\n }\n\n if (formData.fields.formName?.includes('no_compra') || formData.fields.formName?.includes('no_renovacion') || formData.fields.formName?.includes('lead_inpage')) {\n handleMapFullScreenLayer(false);\n }\n const values = methods.getValues();\n // Comprobar si es correcto antes de actualizar?\n // dispatch({ type: 'UPDATE_FIELDS', payload: values });\n waitForPreviousStep ? previousMultiStep() : previousStep();\n if (formEnded) dispatch({ type: 'UPDATE_FORM_ENDED', payload: false });\n };\n\n const previousStep = () => {\n // Es necesario poder sobreescribir previousStep?\n const { screenIndex, steps, stepsHistory } = store.getState().formInfo;\n\n const indexActualScreen = stepsHistory.indexOf(screenIndex);\n const newScreenIndex = stepsHistory[indexActualScreen - 1];\n const indexInSteps = steps.findIndex((step: any) => step.screenIndex === newScreenIndex);\n const previousStep = steps[indexInSteps];\n\n // Falta eliminar el último elemento de stepsHistory\n handleStepChange(previousStep, newScreenIndex, false);\n };\n\n const handleStepChange = (step: Steps, screenIndex: number, isMovingForward: boolean) => {\n handleScreenChange(screenIndex);\n dispatch({ type: 'SET_NAVIGATION_MOVING_FORWARD', payload: isMovingForward });\n setTimeout(() => {\n dispatch({ type: 'UPDATE_STEP', payload: step });\n // dispatch({ type: 'UPDATE_STEPS_HISTORY', payload: screenIndex });\n dispatch({ type: 'UPDATE_FULLSCREEN', payload: step?.fullScreen });\n setIsFullScreen(step?.fullScreen);\n }, TIME_FOR_TRANSFORM);\n };\n\n const handleScreenChange = (newNumber?: number) => {\n if (typeof newNumber === 'number') setNextScreenIndex(newNumber);\n dispatch({ type: 'TRIGGER_EXIT_ANIMATION', payload: true });\n setTimeout(() => {\n dispatch({ type: 'TRIGGER_EXIT_ANIMATION', payload: false });\n if (typeof newNumber === 'number') {\n dispatch({ type: 'UPDATE_SCREEN', payload: newNumber });\n }\n }, TIME_FOR_TRANSFORM);\n };\n\n const handleShowFinalScreen = () => {\n dispatch({ type: 'SHOW_FINAL_SCREEN', payload: true });\n };\n\n const closeLayer = () => {\n dispatch({ type: 'RESET_STATE' });\n setClosed(true);\n closeLayerCallback({}, {}, {});\n\n if (env.done) {\n env.done();\n }\n return;\n };\n\n const sendForm = async (): Promise => {\n return new Promise((resolve) => {\n sendFormCallback\n ? resolve(sendFormCallback())\n : setTimeout(() => {\n resolve(true);\n }, 2000);\n });\n };\n\n const handleSubmit = async (e: SyntheticEvent) => {\n e.preventDefault();\n const responseIsValid = await sendForm();\n return responseIsValid;\n };\n\n const renderAvisoCanarias = () => {\n let redirect: string;\n\n if (formData.fields.formName === 'cita-posventa') {\n redirect = 'https://www.vwcanarias.com/es/cita-previa.html';\n } else {\n redirect = 'https://cita.vwcanarias.com/';\n }\n\n return (\n \n \n \n );\n };\n\n return (\n \n \n {\n const values = methods.getValues();\n\n if (e.keyCode === 13 && !disableIntroNextStep && Object.keys(values).length > 0) {\n handleNextStep(e);\n } else if (e.keyCode === 13 && disableIntroNextStep) {\n e.preventDefault();\n }\n }}\n className=\"form-provider\"\n >\n {props.children}\n \n {error && screenIndex !== numberOfScreens - 1 ? (\n \n \n Necesitamos esta información para seguir\n \n \n ) : null}\n \n \n );\n};\n\nexport const getDeviceType = (): string => (deviceType === 'browser' ? 'desktop' : deviceType.toLowerCase());\n\nexport const getTrackingCode = (): string => ((typeof s !== 'undefined' && typeof s.persCmp !== 'undefined') ? s.persCmp : 'undefined');\n","import React from 'react';\nimport {\n Layout,\n Breakpoints,\n LayoutRowGap,\n} from '@volkswagen-onehub/components-core';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\n\ninterface OneElementTemplateProps {\n element: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\n// Refactorizar\nfunction OneElementTemplate(props: OneElementTemplateProps) {\n\tconst { element } = props;\n\tconst { formInfo } = useSelector((state: OneFormState) => state);\n\n\treturn (\n\t\t\n\t\t\t{element}\n\t\t\n\t);\n}\n\ninterface TwoElementsTemplateProps {\n firstElement: JSX.Element;\n secondElement: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\nfunction TwoElementsTemplate(props: TwoElementsTemplateProps) {\n const { firstElement, secondElement } = props;\n return (\n \n {firstElement}\n {secondElement}\n \n );\n}\n\ninterface ThreeElementsTemplateProps {\n firstElement: JSX.Element;\n secondElement: JSX.Element;\n thirdElement: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\nfunction ThreeElementsTemplate(props: ThreeElementsTemplateProps) {\n const { firstElement, secondElement, thirdElement } = props;\n return (\n \n {firstElement}\n {secondElement}\n {thirdElement}\n \n );\n}\n\nexport { OneElementTemplate, TwoElementsTemplate, ThreeElementsTemplate };\n","import { CTA, styled } from '@volkswagen-onehub/components-core';\nimport { ArrowUp, Close } from 'src/icons-core-imports';\nimport { LayerHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { CSSTransition } from 'react-transition-group';\nimport { css } from 'styled-components';\nimport { useLoaded } from 'src/feature-app';\nimport { TIME_FOR_OPACITY_MS, TIME_FOR_TRANSFORM_MS } from 'src/globals';\nimport { OneFormState } from 'src/types';\nimport { useOneFormContext } from '../OneForm';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useFeatureServices } from '../hooks';\nimport { removeConfigurationHash } from '../remove-configuration-hash';\n\n\n{/*\n paddings top prev step wrapper antes de adaptacion a nuevo formato de editorial template with feature\n app in stage que ya setea automáticamente el espacio reservado para la navbar. Se ha retirado también del\n prev-step-controller\n 560: padding-top: 110px;\n 1920: padding-top: 126px;\n*/}\ninterface wrapperProps {\n fullScreen?: boolean;\n closeInMap?: boolean;\n colorTheme?: string;\n notALayer?: boolean;\n}\n\nconst Wrapper = styled.div`\n position: ${(props) => props.notALayer ? 'absolute' : props.closeInMap ? 'relative' : props.fullScreen ? 'absolute' : 'fixed'};\n top: ${(props) => (props.notALayer ? '84' : '0')};\n right: 0;\n align-self: ${(props) => (props.notALayer ? 'flex-start' : null)};\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid002) 20px' : '20px 20px')};\n display: ${(props) => (props.closeInMap ? 'flex' : props.fullScreen ? 'none' : 'flex')};\n justify-content: ${(props) => (props.notALayer ? 'flex-end' : 'space-between')};\n background-color: ${(props) => (props.notALayer ? 'transparent' : props.colorTheme === 'main' ? '#FFFFFF' : '#001e50')};\n z-index: ${(props) => (props.closeInMap && props.notALayer ? '5' : props.notALayer ? '1' : '2')};\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n width: 100%;\n min-height: ${(props) => (props.notALayer ? 'auto' : '72px')};\n margin-bottom: auto;\n @media all and (min-width: 560px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid002) 24px' : '24px 24px')};\n min-height: ${(props) => (props.notALayer ? 'auto' : '80px')};\n ${(props) =>\n props.notALayer &&\n css`\n top: 92;\n `}\n }\n\n @media screen and (min-width: 960px) {\n background-color: ${(props) => (props.colorTheme === 'main' ? 'transparent' : '#001e50')};\n margin-bottom: unset;\n width: ${(props) => (props.notALayer ? '100%' : props.closeInMap ? '100%' : '960px')};\n padding: ${(props) =>\n props.closeInMap && props.notALayer ? '28px 20px 0' : props.notALayer ? '0 var(--size-grid003) 24px' : '24px 24px'};\n ${(props) =>\n props.notALayer &&\n css`\n top: 102;\n `}\n }\n @media screen and (min-width: 1280px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid005) 24px' : '24px 24px')};\n }\n @media screen and (min-width: 1920px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid006) 24px' : '24px 24px')};\n }\n @media screen and (min-width: 2560px) {\n padding: ${(props) => (props.notALayer ? '0 var(--size-grid007) 24px' : '24px 24px')};\n }\n\n button {\n background-color: ${(props) => (props.colorTheme === 'main' ? '#FFFFFF' : null)};\n }\n\t.close-icon {\n\t\tcolor: ${(props) => (props.colorTheme === 'main' ? '#001E50' : '#FFFFFF')};\n\t}\n`;\n\nconst CloseDiv = styled.div`\n cursor: pointer;\n &.close-enter {\n opacity: 0;\n }\n &.close-enter-active {\n opacity: 1;\n transition: opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n &.close-enter-done {\n }\n &.close-exit {\n transform: translate(0, 0);\n opacity: 1;\n }\n &.close-exit-active {\n transform: translate(0, -100%);\n opacity: 0.01;\n transition: all ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n`;\n\ninterface CloseComponentProps {\n closeInMap?: boolean;\n closeThankYou?: boolean;\n handleAreYouSureLayer?: () => LayerHandleV2<{}>;\n notALayer?: boolean;\n colorTheme?: string;\n formMin?: boolean;\n}\nexport function CloseComponent(props: CloseComponentProps) {\n const { closeInMap, handleAreYouSureLayer, colorTheme, notALayer, formMin } = props;\n const { formInfo, formData } = useSelector((state: OneFormState) => state);\n const { screenIndex, stepsHistory, multiStepScreenIndex, formSubmitted } = formInfo;\n const [isFirstScreen, setIsFirstScreen] = useState(true);\n const loaded = useLoaded();\n const { handlePreviousStep, isFullScreen, closeLayer } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const layerManager = useFeatureServices()['layer-manager'];\n const dispatch = useDispatch()\n /**\n * En el journey de no compra al llegar al mapa se abre un layer. Se necesita que interactue con el next step, por lo que lo tenemos que cerrar desde aquí\n */\n const handleMapFullScreenLayer = () => {\n const layers = layerManager.getLayers();\n\n const layer = layers.find(\n (layer) => layer.layer.options.id === 'mapaNoCompra' || layer.layer.options.id === 'mapaNoRenovacion' || layer.layer.options.id === 'mapaLeadInPage'\n );\n\n if (layer) {\n layer.layer?.close();\n }\n };\n\n useEffect(() => {\n if (stepsHistory && stepsHistory.length > 0 && !multiStepScreenIndex) {\n stepsHistory[0] === screenIndex ? setIsFirstScreen(true) : setIsFirstScreen(false);\n } else {\n setIsFirstScreen(false);\n }\n }, [screenIndex, multiStepScreenIndex]);\n\n return (\n \n \n {notALayer ? null : (\n {\n e.preventDefault();\n trackingManager.trackFormCloseClick(\n {\n contentId: 'Cerrar',\n },\n { FormStart: screenIndex === 0 ? true : false }\n );\n handleMapFullScreenLayer(); // Revisar para optimizar esta llamada y que solo debería ejecutarse si el form es inPage y el step en un layer\n if (!formSubmitted) {\n handleAreYouSureLayer();\n } else {\n closeLayer();\n }\n }}\n >\n \n \n )}\n\n {isFirstScreen || props.closeThankYou ? null : (\n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Anterior',\n });\n handlePreviousStep(e);\n }}\n tag=\"button\"\n emphasis=\"secondary\"\n size=\"small\"\n icon={}\n >\n Anterior\n \n )}\n \n \n );\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n Layout,\n LayoutConfiguration,\n styled,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Checkmark } from 'src/icons-core-imports';\nimport { Legales } from 'src/components';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { CSSTransition } from 'react-transition-group';\nimport { TIME_FOR_OPACITY_MS, TIME_FOR_TRANSFORM_MS } from 'src/globals';\nimport { OneFormState, Steps } from 'src/types';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { PreviousStep, CloseComponent, Navigation } from 'src/feature-app/Screen';\nimport { useOneFormContext } from '../OneForm';\nimport { css, keyframes } from 'styled-components';\nimport { useWindowHeight, useWindowWidth } from '@react-hook/window-size';\nimport { useShowOverflow } from 'src/feature-app/hooks';\n\nconst lineKeyframe = keyframes`\n 0% {\n transform: rotate(-90deg);\n }\n 60% {\n transform: rotate(45deg);\n }\n 100% {\n transform: rotate(0deg);\n }\n`;\n\nconst AnimatedCheckmark = styled.div`\n animation: ${lineKeyframe} 0.3s ease-in;\n svg {\n color: #001e50;\n }\n`;\n\ninterface PaddingControllerProps {\n screenIndex?: number;\n multiStepScreenIndex?: number;\n showPreviousStep?: boolean;\n formHeight?: string;\n formMin?: boolean;\n isTrigger?: boolean;\n showOverflow?: boolean;\n alingItemsCenter?: boolean;\n}\n\nconst ContentCotroller = styled.div`\n width: 100%;\n min-height: calc(100vh - 140px);\n height: 100%;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n overflow: ${(props) => ( props.isTrigger ? 'hidden' : 'visible')};\n padding-bottom : 44px;;\n align-items: ${(props) => props.alingItemsCenter ? 'center' : null};\n @media all and (min-width: 560px) {\n min-height: calc(100vh - 92px);\n }\n @media all and (min-width: 960px) {\n min-height: calc(100vh - 100px);\n }\n @media all and (min-width: 1920px) {\n min-height: calc(100vh - 116px);\n }\n`;\n\n\nconst FakePreviousStep = styled.div`\n height: 136px;\n`;\nconst FakeClose = styled.div`\n height: 32px;\n margin-bottom: auto;\n width: 100%;\n @media all and (min-width: 960px) {\n margin-bottom: unset;\n position: absolute;\n top: 0;\n }\n`;\ninterface PrevStepWrapperProps extends PaddingControllerProps {\n moveForward: boolean;\n distanceToMove: number;\n showPreviousStep: boolean;\n}\n\n\n\nconst PrevStepWrapper = styled.div`\n margin-left: ${(props) => (props.showPreviousStep ? 'var(--size-grid004)' : 'unset')};\n width: ${(props) => (props.showPreviousStep ? 'var(--size-grid014)' : 'unset')};\n display: flex;\n\n @media screen and (min-width: 1280px) {\n margin-left: ${(props) => (props.showPreviousStep ? 'var(--size-grid006)' : 'unset')};\n width: ${(props) => (props.showPreviousStep ? 'var(--size-grid010)' : 'unset')};\n }\n @media screen and (min-width: 1920px) {\n\n margin-left: ${(props) => (props.showPreviousStep ? 'var(--size-grid007)' : 'unset')};\n width: ${(props) => (props.showPreviousStep ? 'var(--size-grid009)' : 'unset')};\n }\n @media screen and (min-width: 2560px) {\n margin-left: ${(props) => (props.showPreviousStep ? 'var(--size-grid008)' : 'unset')};\n width: ${(props) => (props.showPreviousStep ? 'var(--size-grid007)' : 'unset')};\n }\n &.no-animation {\n opacity:1;\n }\n &.prev-step-exit-active {\n ${(props) =>\n props.moveForward\n ? css`\n transform: translate3d(0, -90%, 0);\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-out;\n `\n : css`\n opacity: 0.5;\n @media screen and (min-width: 960px) {\n transform: translate3d(0, 10vh, 0);\n }\n transition: all 300ms;\n `}\n }\n &.prev-step-exit-done {\n ${(props) =>\n !props.moveForward && props.distanceToMove\n ? css`\n width: 75%;\n transition: all 250ms;\n transform: translate3d(-4.17vw, ${props.distanceToMove}px, 0);\n * {\n font-size: var(--textappearances-headline350-fontsize);\n line-height: var(--textappearances-headline350-lineheight);\n letter-spacing: var(--textappearances-headline350-letterspacing);\n opacity: 1;\n }\n `\n : css`\n transform: translate3d(0, -90%, 0);\n transition: transform ${TIME_FOR_TRANSFORM_MS}, font-size ${TIME_FOR_TRANSFORM_MS},\n line-height ${TIME_FOR_TRANSFORM_MS}, letter-spacing ${TIME_FOR_TRANSFORM_MS},\n opacity ${TIME_FOR_OPACITY_MS} ease-out;\n `}\n }\n`;\n\nconst ContentWrapper = styled.div`\n width: 100%;\n height: 100%;\n overflow: visible;\n`;\n\nconst TitleWrapper = styled.div<{ moveForward: boolean; distanceToTop: number }>`\n opacity: 0;\n &.no-animation {\n opacity: 1;\n > div {\n &:first-of-type {\n width: var(--size-grid020);\n @media all and (min-width: 960px) {\n width: var(--size-grid018);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid014);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid012);\n }\n @media all and (min-width: 2560px) {\n width: var(--size-grid010);\n }\n }\n }\n }\n &.title-enter {\n transform: translate3d(0%, -50%, 0);\n opacity: 0;\n width: 100% !important;\n @media screen and (min-width: 960px) {\n transform: ${(props) => (props.moveForward ? 'translate3d(0%, -50%, 0)' : 'unset')};\n opacity: ${(props) => (props.moveForward ? '0' : '1')};\n }\n }\n &.title-enter-done {\n width: 100% !important;\n transform: translate3d(0, 0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n &.title-exit {\n width: 100% !important;\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n &.title-exit-active {\n ${(props) =>\n props.moveForward\n ? css`\n opacity: 0.5;\n @media screen and (min-width: 960px) {\n transform: translate3d(var(--size-grid001), -10vh, 0);\n /* width previous step solo en forward move */\n width: var(--size-grid014) !important;\n * {\n font-size: var(--textappearances-headline300-fontsize);\n line-height: var(--textappearances-headline300-lineheight);\n letter-spacing: var(--textappearances-headline300-letterspacing);\n }\n }\n @media screen and (min-width: 1280px) {\n width: var(--size-grid010) !important;\n }\n @media screen and (min-width: 1600px) {\n transform: translate3d(var(--size-grid001), -15vh, 0);\n }\n @media screen and (min-width: 1920px) {\n transform: translate3d(var(--size-grid001), -15vh, 0)};\n width: var(--size-grid009) !important;\n }\n @media screen and (min-width: 2560px) {\n transform: translate3d(var(--size-grid001), -15vh, 0)};\n width: var(--size-grid007) !important;\n }\n transition: all 350ms;\n `\n : css`\n opacity: 0;\n transform: translate3d(0, 350%, 0);\n transition: all ${TIME_FOR_TRANSFORM_MS};\n `}\n }\n &.title-exit-done {\n /* desktop */\n ${(props) =>\n props.moveForward && props.distanceToTop\n ? css`\n opacity: 0.2;\n * {\n font-size: var(--textappearances-headline300-fontsize);\n line-height: var(--textappearances-headline300-lineheight);\n letter-spacing: var(--textappearances-headline300-letterspacing);\n }\n transform: translate3d(var(--size-grid001), -${props.distanceToTop}px, 0);\n transition: all 300ms;\n @media screen and (min-width: 960px) {\n width: var(--size-grid014) !important;\n }\n @media screen and (min-width: 1280px) {\n width: var(--size-grid010) !important;\n }\n @media screen and (min-width: 1920px) {\n width: var(--size-grid009) !important;\n }\n @media screen and (min-width: 2560px) {\n width: var(--size-grid007) !important;\n }\n `\n : css`\n opacity: 0;\n width: inherit !important;\n transform: translate3d(0, 45vh, 0);\n transition: all 300ms;\n @media screen and (min-width: 960px) {\n transform: translate3d(0, 350%, 0);\n transition: transform ${TIME_FOR_TRANSFORM_MS}, font-size ${TIME_FOR_TRANSFORM_MS},\n line-height ${TIME_FOR_TRANSFORM_MS}, letter-spacing ${TIME_FOR_TRANSFORM_MS},\n opacity ${TIME_FOR_OPACITY_MS} ease-out;\n }\n `}\n }\n`;\n\nconst MobileTitleWrapper = styled.div<{ moveForward: boolean; distanceToTop: number }>`\n width: var(--size-grid020) !important;\n padding-top: 52px;\n &.title-enter {\n transform: translate3d(0%, -50%, 0);\n opacity: 0;\n }\n &.title-enter-done {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n &.title-exit {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n &.title-exit-active {\n ${(props) =>\n props.moveForward\n ? css`\n opacity: 0.1;\n transition: all 200ms;\n `\n : css`\n opacity: 0;\n transform: translate3d(0, 350%, 0);\n transition: all ${TIME_FOR_TRANSFORM_MS};\n `}\n }\n &.title-exit-done {\n opacity: ${(props) => (props.moveForward ? '0.1' : '0')};\n /* mobile */\n transform: ${(props) => (props.moveForward ? 'translate3d(0, -25vh, 0)' : 'translate3d(0, 45vh, 0)')};\n transition: all 300ms;\n }\n`;\n\nconst FieldsWrapper = styled.div<{ opacity: string }>`\n opacity: ${(props) => props.opacity};\n &.fields-enter {\n transform: translate3d(0, 25%, 0);\n opacity: 0;\n }\n &.fields-enter-active {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity 300ms ease-in;\n }\n &.fields-exit {\n opacity: 0;\n }\n &.fields-exit-active {\n opacity: 0;\n }\n`;\ninterface ScreenProps {\n title: JSX.Element;\n fields: JSX.Element;\n key: number;\n avoidTrackFormStepLoad?: boolean;\n thankYouPage?: boolean;\n}\n\nconst defaultLayout: LayoutConfiguration = {\n [Breakpoints.default]: [\n { name: '.', columns: 2 },\n { name: 'a', columns: 20 },\n { name: '.', columns: 2 },\n ],\n [Breakpoints.b960]: [\n { name: '.', columns: 3 },\n { name: 'a', columns: 18 },\n { name: '.', columns: 3 },\n ],\n [Breakpoints.b1280]: [\n { name: '.', columns: 5 },\n { name: 'a', columns: 14 },\n { name: '.', columns: 5 },\n ],\n [Breakpoints.b1920]: [\n { name: '.', columns: 6 },\n { name: 'a', columns: 12 },\n { name: '.', columns: 6 },\n ],\n [Breakpoints.b2560]: [\n { name: '.', columns: 7 },\n { name: 'a', columns: 10 },\n { name: '.', columns: 7 },\n ],\n};\n\nexport function FullScreen(props: ScreenProps) {\n const { title, fields, key, avoidTrackFormStepLoad, thankYouPage } = props;\n const { formInfo, formData } = useSelector((state: OneFormState) => state);\n const {\n multiStepScreenIndex,\n screenIndex,\n triggerExitAnimation,\n showFinalScreen,\n numberOfScreens,\n formEnded,\n alingItemsCenter,\n deleteCloseAndPrevious\n } = formInfo;\n const trackingManager = useTrackingManager();\n const {\n distanceToMove,\n setDistanceToMove,\n moveForward,\n nextScreenIndex,\n nextMultiStepScreenIndex,\n showPreviousStep,\n } = useOneFormContext();\n\n // Si se necesita que el overflow sea visible. Selects no nativos, suggests, etc. Añadir en la definicion del step showOverflow.\n\n const { showOverflow } = useShowOverflow(false);\n const [ linkBasesLegales, setLinkBasesLegales ] = useState(null);\n const [ isConfirmacionPage, setIsConfirmacionPage ] = useState(false);\n\n useEffect(() => {\n\n\t// Añadir link de la promocion a los legales\n if(formData.fields.formName ==='adhoc-2021-eurocopa') {\n setLinkBasesLegales('https://crm.volkswagen.es/cms/2021/legal_concurso_eurocopa_2021.pdf');\n }\n\n if (showFinalScreen) {\n setIsConfirmacionPage(false);\n }\n\n if (screenIndex === numberOfScreens - 1) {\n if( formData.fields.formName === 'cem-venta' || formData.fields.formName === 'cem-posventa' ){\n setIsConfirmacionPage(false);\n } else {\n setIsConfirmacionPage(true);\n }\n } else {\n setIsConfirmacionPage(false);\n }\n }, [screenIndex, showFinalScreen]);\n\n // calc height stuff\n const [initialHeight, setInitialHeight] = useState(null);\n const [isTrigger, setIsTrigger] = useState(false);\n const viewportHeight = useWindowHeight();\n const viewportWidth = useWindowWidth();\n\n const content = useRef(null);\n const prevStep = useRef(null);\n\n const [currentRef, setCurrentRef] = useState(null); // optimizar ocn useMemo\n\n // animation stuff\n const [showFields, setShowFields] = useState(false);\n const [showTitle, setShowTitle] = useState(false);\n const [opacity, setOpacity] = useState('0');\n\n // variables para animacion entre steps\n const [distanceToTop, setDistanceToTop] = useState(0);\n const titleRef = useRef(null);\n const contentRef = useRef(null);\n\n // navigation stuff\n const [formClicked, setFormClicked] = useState(false);\n\n useEffect(() => {\n if (!formClicked) {\n document.body.scrollTop = 0; // For Safari\n document.documentElement.scrollTop = 0; // For Chrome, Firefox, IE and Opera\n }\n }, [formClicked]);\n\n // usar useLayoutEffect para asegurar que los cálculos de distancias se hacen antes de un nuevo render del contenido\n useEffect(() => {\n setTimeout(() => {\n if (titleRef.current && contentRef.current) {\n const titleLength = titleRef.current.innerText.length;\n // titleRef.current.scrollIntoView({ behavior: 'smooth', block: 'end' });\n /*\n extra height en breakpoints grandes y dependiendo de la longitud del título, que afecta a la animación\n desconozco por qué ocurre, pero no depende del viewport height, sino del viewport width\n */\n if (window.matchMedia('(min-width: 1600px)').matches && contentRef) {\n const extraHeight = titleLength < 60 ? (titleLength < 53 ? 8 : 18) : 36;\n setDistanceToTop(titleRef.current.offsetTop + extraHeight);\n } else {\n const extraHeight = titleLength < 53 ? 18 : 0;\n // setDistanceToTop(titleRef.current.getBoundingClientRect().top - extraHeight);\n setDistanceToTop(\n titleRef.current.getBoundingClientRect().top -\n contentRef.current.getBoundingClientRect().top +\n 32 -\n extraHeight\n );\n }\n /*\n guardar distancia del título a la parte superior del contenedor padre en un array de distancias\n para saber la distancia que tiene que recorrer el previousStep si la navegación va para atrás\n */\n if ((screenIndex === 0 && nextScreenIndex === null) || screenIndex + 1 > distanceToMove.length) {\n const extraHeight = titleLength < 53 ? 18 : 0;\n setDistanceToMove((distanceToMove) => [\n ...distanceToMove,\n titleRef.current.getBoundingClientRect().top -\n contentRef.current.getBoundingClientRect().top +\n 32 -\n extraHeight,\n ]);\n } else if (\n screenIndex + 1 <= distanceToMove.length &&\n nextMultiStepScreenIndex !== 1 &&\n nextMultiStepScreenIndex !== 2\n ) {\n const arrDistances = distanceToMove;\n const extraHeight = titleLength < 53 ? 18 : 0;\n arrDistances[screenIndex] =\n titleRef.current.getBoundingClientRect().top -\n contentRef.current.getBoundingClientRect().top +\n 32 -\n extraHeight;\n setDistanceToMove(arrDistances);\n }\n }\n }, 0);\n }, [titleRef]);\n\n useEffect(() => {\n if (triggerExitAnimation) {\n if (!formEnded) {\n setShowTitle(false);\n setShowFields(false);\n }\n }\n }, [triggerExitAnimation]);\n\n useEffect(() => {\n // Ni en la primera carga ni en la thank you page se tiene que disparar este evento.\n // El flag isFirstStep solo lo necesitamos en la primera carga, después si que se tiene que disparar el evento.\n\n if (formInfo.step?.isFirstStep || avoidTrackFormStepLoad || (formInfo.stepsHistory?.length === 1 && (!multiStepScreenIndex || multiStepScreenIndex === 0))) {\n if(formInfo.step) formInfo.step.isFirstStep = false;\n return;\n }\n trackingManager.trackFormStepLoad(\n {\n // contentId: step.title\n },\n {\n FormStart: false,\n }\n );\n }, [title]);\n\n useEffect(() => {\n if (window.matchMedia('(max-width: 960px)').matches && contentRef) {\n contentRef.current.scrollTo({ top: 0 });\n }\n setShowTitle(true);\n }, []);\n\n //Que en la zona del mapa no vuelva a lanzar las animaciones\n const [ stopAnimation, setStopAnimation ] = useState(false);\n\n useEffect(()=>{\n\n if(\n formData.fields.formName === 'no_compra-no_tengo'\n && screenIndex === 4\n && multiStepScreenIndex === 0\n || formData.fields.formName === 'no_compra-no_tengo'\n && screenIndex === 5\n && multiStepScreenIndex === 0\n ) {\n setStopAnimation(true);\n }\n\n }, [screenIndex]);\n\n const [ hideCloseAndPrevious, setHideCloseAndPrevious ] = useState(false);\n\n useEffect(()=>{\n if(deleteCloseAndPrevious){\n if(\n formData.fields.formName === 'lead-test_drive-configure' && multiStepScreenIndex === 0 && screenIndex === 0\n || formData.fields.formName === 'lead-presupuesto-configure' && multiStepScreenIndex === 0 && screenIndex === 0\n || formData.fields.formName === 'lead-mas_informacion-configure' && multiStepScreenIndex === 0 && screenIndex === 0\n || formData.fields.formName === 'lead-cita-configure' && multiStepScreenIndex === 0 && screenIndex === 0\n ) {\n setHideCloseAndPrevious(true);\n } else {\n setHideCloseAndPrevious(false);\n }\n } else {\n setHideCloseAndPrevious(false);\n }\n\n }, [screenIndex]);\n\n const [ alingContentCenter, setAlingContentCenter ] = useState(false);\n\n useEffect(()=>{\n if(viewportWidth < 960 || alingItemsCenter=== true) {\n setAlingContentCenter(true);\n } else {\n setAlingContentCenter(false);\n }\n }, [screenIndex]);\n\n\n return (\n <>\n \n {showFinalScreen || hideCloseAndPrevious || thankYouPage ? null : screenIndex === 0 ? (\n \n ) : (\n \n )}\n\n {showFinalScreen || hideCloseAndPrevious || thankYouPage ? null : viewportWidth >= 960 && !showPreviousStep ? (\n \n ) : viewportWidth >= 960 ?\n (\n \n \n \n \n \n ) : null}\n\n \n \n <>\n {showFinalScreen ? (\n \n \n \n \n \n ) : null}\n\n {\n viewportWidth < 960 && title ? (\n {\n setTimeout(() => {\n setShowFields(true);\n }, 100);\n }}\n onExited={() => {}}\n >\n \n {title}\n \n \n ) : (\n {\n setTimeout(() => {\n setShowFields(true);\n }, 100);\n }}\n onExited={() => {}}\n >\n \n {title}\n \n \n )\n }\n \n \n\n {\n setOpacity('1');\n }}\n onExited={() => {\n setOpacity('0');\n }}\n >\n {fields}\n \n \n \n {showFinalScreen ? null : (\n <>\n {isConfirmacionPage ? (\n \n \n \n ) : null}\n \n )}\n \n );\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n Layout,\n styled,\n Text,\n BreakpointWrapper,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Checkmark } from 'src/icons-core-imports';\n\nimport React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { CSSTransition } from 'react-transition-group';\nimport { TIME_FOR_OPACITY_MS, TIME_FOR_TRANSFORM_MS } from 'src/globals';\nimport { OneFormState } from 'src/types';\nimport { useTrackingManager, useFeatureAppConfig, useShowOverflow } from 'src/feature-app/hooks';\nimport { PreviousStep } from 'src/feature-app/Screen';\nimport { useOneFormContext } from '../OneForm';\nimport { css, keyframes } from 'styled-components';\n\nconst lineKeyframe = keyframes`\n 0% {\n transform: rotate(-90deg); \n }\n 60% {\n transform: rotate(45deg);\n }\n 100% {\n transform: rotate(0deg);\n }\n`;\n\nconst AnimatedCheckmark = styled.div`\n animation: ${lineKeyframe} 0.3s ease-in;\n svg {\n color: #ffffff;\n }\n`;\n\ninterface PaddingControllerProps {\n screenIndex: number;\n multiStepScreenIndex: number;\n showPreviousStep?: boolean;\n isDealerCalendar?: boolean;\n showOverflow?: boolean;\n}\n\nconst ContentCotroller = styled.div`\n display: flex;\n flex-direction: column;\n padding-top: ${(props) => (!props.showPreviousStep ? '0' : '80px')};\n padding-bottom: ${(props) => (!props.showPreviousStep ? '0' : props.screenIndex === 10 ? '96px' : '128px')};\n min-height: 100vh;\n width: 100%;\n overflow: ${(props) => (props.showOverflow ? 'visible' : 'auto')};\n & input:-internal-autofill-selected {\n background-color: transparent !important;\n }\n`;\n\ninterface PrevStepWrapperProps extends PaddingControllerProps {\n moveForward: boolean;\n distanceToMove: number;\n showPreviousStep: boolean;\n}\n\nconst PrevStepWrapper = styled.div`\n margin-left: ${(props) => (props.showPreviousStep ? '160px' : 'unset')};\n width: ${(props) => (props.showPreviousStep ? '640px' : 'unset')};\n padding-bottom: ${(props) =>\n props.screenIndex === 2 && props.multiStepScreenIndex === 2 ? null : props.showPreviousStep ? '72px' : '0'};\n display: flex;\n\n @media all and (max-height: 624px) {\n padding-bottom: ${(props) =>\n props.screenIndex === 2 && props.multiStepScreenIndex === 2 ? null : props.showPreviousStep ? '44px' : '0'};\n }\n\n &.prev-step-exit-active {\n ${(props) =>\n props.moveForward\n ? css`\n transform: translate3d(0, -90%, 0);\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-out;\n `\n : css`\n opacity: 0.5;\n @media screen and (min-width: 960px) {\n transform: translate3d(0, 10vh, 0);\n }\n transition: all 300ms;\n `}\n }\n &.prev-step-exit-done {\n transform: ${(props) =>\n props.moveForward\n ? 'translate3d(0, -90%, 0)'\n : props.distanceToMove\n ? `translate3d(-41px, ${props.distanceToMove}px, 0)`\n : 'translate3d(-41px, 300px, 0)'};\n @media screen and (min-width: 1600px) {\n transform: ${(props) =>\n props.moveForward\n ? 'translate3d(0, -90%, 0)'\n : props.distanceToMove\n ? `translate3d(-41px, calc(${props.distanceToMove}px + 36px), 0)`\n : 'translate3d(-41px, 300px, 0)'};\n }\n ${(props) =>\n !props.moveForward &&\n css`\n width: 709px;\n * {\n font-size: var(--textappearances-headline350-fontsize);\n line-height: var(--textappearances-headline350-lineheight);\n letter-spacing: var(--textappearances-headline350-letterspacing);\n @media screen and (min-width: 1600px) {\n font-size: var(--textappearances-headline300-fontsize);\n line-height: var(--textappearances-headline300-lineheight);\n letter-spacing: var(--textappearances-headline300-letterspacing);\n }\n opacity: 1;\n }\n `}\n transition: ${(props) =>\n props.moveForward\n ? `\n transform ${TIME_FOR_TRANSFORM_MS},\n font-size ${TIME_FOR_TRANSFORM_MS},\n line-height ${TIME_FOR_TRANSFORM_MS},\n letter-spacing ${TIME_FOR_TRANSFORM_MS},\n opacity ${TIME_FOR_OPACITY_MS} ease-out\n `\n : 'all 250ms'}\n }\n`;\n\nconst ContentWrapper = styled.div`\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n justify-content: center;\n width: 100%;\n overflow: ${(props) => (props.showOverflow ? 'visible' : 'auto')};\n @media all and (max-height: 573px) and (min-width: 960px) {\n margin-top: ${(props) => (props.screenIndex === 2 && props.multiStepScreenIndex === 1 ? '146px' : null)};\n }\n @media screen and (max-width: 959px) {\n padding-top: ${(props) => (props.isDealerCalendar ? null : props.multiStepScreenIndex === 0 ? '44px' : null)};\n }\n`;\n\nconst TitleWrapper = styled.div<{ moveForward: boolean; distanceToTop: number }>`\n &.title-enter {\n transform: translate3d(0%, -50%, 0);\n opacity: 0;\n @media screen and (min-width: 960px) {\n transform: ${(props) => (props.moveForward ? 'translate3d(0%, -50%, 0)' : 'unset')};\n opacity: ${(props) => (props.moveForward ? '0' : '1')};\n }\n }\n &.title-enter-done {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n &.title-exit {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n }\n &.title-exit-active {\n ${(props) =>\n props.moveForward\n ? css`\n opacity: 0.5;\n @media screen and (min-width: 960px) {\n transform: translate3d(41px, -10vh, 0);\n /* width previous step solo en forward move */\n width: 640px;\n * {\n font-size: var(--textappearances-headline250-fontsize);\n line-height: var(--textappearances-headline250-lineheight);\n letter-spacing: var(--textappearances-headline250-letterspacing);\n }\n }\n @media screen and (min-width: 1600px) {\n transform: translate3d(41px, -15vh, 0);\n /* width previous step solo en forward move */\n width: 640px;\n * {\n font-size: var(--textappearances-headline250-fontsize);\n line-height: var(--textappearances-headline250-lineheight);\n letter-spacing: var(--textappearances-headline250-letterspacing);\n }\n }\n transition: all 350ms;\n `\n : css`\n opacity: 0;\n transform: translate3d(0, 350%, 0);\n transition: all ${TIME_FOR_TRANSFORM_MS};\n `}\n }\n &.title-exit-done {\n opacity: ${(props) => (props.moveForward ? '0.2' : '0')};\n /* mobile */\n transform: ${(props) => (props.moveForward ? 'translate3d(0, -25vh, 0)' : 'translate3d(0, 45vh, 0)')};\n transition: all 300ms;\n /* desktop */\n @media screen and (min-width: 960px) {\n transform: ${(props) =>\n props.moveForward ? `translate3d(41px, -${props.distanceToTop}px, 0)` : 'translate3d(0, 350%, 0)'};\n /* width previous step solo en forward move */\n width: ${(props) => (props.moveForward ? '640px' : 'inherit')};\n ${(props) =>\n props.moveForward &&\n css`\n * {\n font-size: var(--textappearances-headline250-fontsize);\n line-height: var(--textappearances-headline250-lineheight);\n letter-spacing: var(--textappearances-headline250-letterspacing);\n }\n `}\n transition: ${(props) =>\n props.moveForward\n ? 'all 300ms'\n : `\n transform ${TIME_FOR_TRANSFORM_MS},\n font-size ${TIME_FOR_TRANSFORM_MS},\n line-height ${TIME_FOR_TRANSFORM_MS},\n letter-spacing ${TIME_FOR_TRANSFORM_MS},\n opacity ${TIME_FOR_OPACITY_MS} ease-out\n `};\n }\n /* @media screen and (min-width: 1600px) {\n transform: ${(props) =>\n props.moveForward ? `translate3d(41px, calc(-${props.distanceToTop}px - 36px), 0)` : 'translate3d(0, 350%), 0'};\n } */\n }\n`;\n\nconst FieldsWrapper = styled.div<{ opacity: string }>`\n opacity: ${(props) => props.opacity};\n &.fields-enter {\n transform: translate3d(0, 25%, 0);\n opacity: 0;\n }\n &.fields-enter-active {\n transform: translate3d(0, 0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity 300ms ease-in;\n }\n &.fields-exit {\n opacity: 0;\n }\n &.fields-exit-active {\n opacity: 0;\n }\n`;\n\ninterface ScreenProps {\n title: JSX.Element;\n fields: JSX.Element;\n key: number;\n avoidTrackFormStepLoad?: boolean;\n}\n\nexport function LayerScreen(props: ScreenProps) {\n const { title, fields, key, avoidTrackFormStepLoad } = props;\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { multiStepScreenIndex, screenIndex, triggerExitAnimation, showFinalScreen, lastStep } = formInfo;\n const trackingManager = useTrackingManager();\n const config = useFeatureAppConfig();\n const {\n distanceToMove,\n setDistanceToMove,\n moveForward,\n nextScreenIndex,\n nextMultiStepScreenIndex,\n showPreviousStep,\n } = useOneFormContext();\n\n const [showFields, setShowFields] = useState(false);\n const [showTitle, setShowTitle] = useState(false);\n const [opacity, setOpacity] = useState('0');\n\n //Si se necesita que el overflow sea visible. Selectsno nativos, suggests, etc. Añadir en la definicion del step showOverflow.\n\n const { showOverflow } = useShowOverflow(true);\n\n //para el calendario de cita-posventa-dealer\n\n const [isDealerCalendar, setIsDealerCalendar] = useState(false);\n\n useEffect(() => {\n if (config.trigger === 'cita-posventa-dealer' && screenIndex === 2) {\n setIsDealerCalendar(true);\n } else {\n setIsDealerCalendar(false);\n }\n }, [screenIndex]);\n\n // variables para animacion entre steps\n const [distanceToTop, setDistanceToTop] = useState(0);\n const titleRef = useRef(null);\n const contentRef = useRef(null);\n\n // usar useLayoutEffect para asegurar que los cálculos de distancias se hacen antes de un nuevo render del contenido\n useEffect(() => {\n setTimeout(() => {\n if (titleRef.current && contentRef.current) {\n const titleLength = titleRef.current.innerText.length;\n // titleRef.current.scrollIntoView({ behavior: 'smooth', block: 'end' });\n /*\n extra height en breakpoints grandes y dependiendo de la longitud del título, que afecta a la animación\n desconozco por qué ocurre, pero no depende del viewport height, sino del viewport width\n */\n if (window.matchMedia('(min-width: 1600px)').matches && contentRef) {\n const extraHeight = titleLength < 60 ? (titleLength < 53 ? 8 : 18) : 36;\n setDistanceToTop(titleRef.current.offsetTop + extraHeight);\n } else {\n // console.log(titleRef.current.offsetTop, titleRef.current.getBoundingClientRect().top);\n const extraHeight = titleLength < 53 ? 18 : 0;\n setDistanceToTop(titleRef.current.getBoundingClientRect().top - extraHeight);\n }\n /*\n guardar distancia del título a la parte superior del contenedor padre en un array de distancias\n para saber la distancia que tiene que recorrer el previousStep si la navegación va para atrás\n */\n if ((screenIndex === 0 && nextScreenIndex === null) || screenIndex + 1 > distanceToMove.length) {\n setDistanceToMove((distanceToMove) => [...distanceToMove, titleRef.current.getBoundingClientRect().top]);\n } else if (\n screenIndex + 1 <= distanceToMove.length &&\n nextMultiStepScreenIndex !== 1 &&\n nextMultiStepScreenIndex !== 2\n ) {\n const arrDistances = distanceToMove;\n arrDistances[screenIndex] = titleRef.current.getBoundingClientRect().top;\n setDistanceToMove(arrDistances);\n }\n }\n }, 0);\n }, [titleRef]);\n\n useLayoutEffect(() => {\n if (triggerExitAnimation) {\n setShowTitle(false);\n setShowFields(false);\n }\n }, [triggerExitAnimation]);\n\n useEffect(() => {\n // Ni en la primera carga ni en la thank you page se tiene que disparar este evento.\n // El flag isFirstStep solo lo necesitamos en la primera carga, después si que se tiene que disparar el evento.\n setTimeout(() => {\n if (formInfo.step?.isFirstStep || avoidTrackFormStepLoad || (formInfo.stepsHistory?.length === 1 && (!multiStepScreenIndex || multiStepScreenIndex === 0))) {\n if(formInfo.step) formInfo.step.isFirstStep = false;\n return;\n }\n trackingManager.trackFormStepLoad(\n {\n // contentId: step.title\n },\n {\n FormStart: false,\n }\n );\n }, 0);\n }, [title]);\n\n useEffect(() => {\n if (window.matchMedia('(max-width: 960px)').matches && contentRef) {\n contentRef.current.scrollTo({ top: 0 });\n }\n setShowTitle(true);\n }, []);\n\n return (\n \n {showFinalScreen || !showPreviousStep ? null : (\n \n \n \n \n \n \n \n )}\n \n
\n \n <>\n {showFinalScreen ? (\n \n \n \n \n \n ) : null}\n {\n setTimeout(() => {\n setShowFields(true);\n }, 100);\n }}\n onExited={() => {}}\n >\n \n \n {title}\n \n \n {title}\n \n \n \n \n \n {\n setOpacity('1');\n }}\n onExited={() => {\n setOpacity('0');\n }}\n >\n {fields}\n \n
\n \n \n );\n}\n","import {\n styled,\n Text,\n ThemeProvider,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport { ArrowDown } from 'src/icons-core-imports';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useSelector, useStore } from 'react-redux';\nimport { CSSTransition } from 'react-transition-group';\nimport {\n isNumber,\n useLoaded,\n useTrackingManager,\n} from 'src/feature-app';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { TIME_FOR_OPACITY_MS, TIME_FOR_TRANSFORM_MS } from 'src/globals';\nimport { OneFormState, Steps } from 'src/types';\n\ninterface navigationWrapperProps {\n fullScreen?: boolean;\n isLastScreen?: boolean;\n notALayer?: boolean;\n colorTheme?: string;\n formMin?: boolean;\n position?: string;\n}\n\nconst NavigationWrapper = styled.div`\n display: ${(props) => (props.notALayer ? 'block' : props.fullScreen ? 'none' : props.isLastScreen ? 'none' : 'block')};\n position: ${(props) => (!props.notALayer ? 'fixed' : props.position ? props.position : 'relative')};\n bottom: 0;\n \n width: 100%;\n background-color: ${(props) => (props.notALayer ? 'transparent' : props.colorTheme === 'main' ? 'none' : '#001e50')};\n &:first-child {\n width: 100%;\n }\n\n @media screen and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? '100%' : '960px')};\n }\n\n &.navigation-enter {\n transform: translate(0%, 50%);\n opacity: 0;\n }\n &.navigation-enter-active {\n transform: translate(0, 0);\n opacity: 1;\n transition: transform ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n &.navigation-enter-done {\n }\n &.navigation-exit {\n transform: translate(0, 0);\n opacity: 1;\n }\n &.navigation-exit-active {\n transform: translate(0, -100%);\n opacity: 0.01;\n transition: all ${TIME_FOR_TRANSFORM_MS}, opacity ${TIME_FOR_OPACITY_MS} ease-in;\n }\n`;\n\ninterface ProgressWrapperProps {\n notALayer?: boolean;\n}\n\nconst ProgressWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n width: ${(props) => (props.notALayer ? 'var(--size-grid010)' : '187px')};\n \n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n`;\n\nconst BarWrapper = styled.div`\n width: 100%;\n position: relative;\n`;\n\ninterface UpperBarProps {\n width?: number;\n colorTheme?: string;\n}\nconst UpperBar = styled.div`\n position: absolute;\n width: ${(props) => `${props.width}%`};\n height: 2px;\n background: ${(props) => (props.colorTheme === 'main' ? '#001E50' : '#ffffff')};\n transition: all 0.3s;\n`;\n\nconst LowerBar = styled.div`\n position: absolute;\n width: 100%;\n height: 2px;\n background: ${(props) => (props.colorTheme === 'main' ? '#DFE4E8' : '#6a767d')} ;\n`;\n\nconst TextWrapper = styled.div`\n align-self: flex-end;\n margin-top: 8px;\n`;\n\nconst DisplayWrapper = styled.div` \n display: flex;\n justify-content: space-between;\n align-items: ${(props) => (props.notALayer ? 'flex-end' : null)};\n\n width: 100%;\n padding-bottom: ${(props) => (props.notALayer ? '16px' : props.fullScreen ? '0' : props.isLastScreen ? '0' : '20px')};\n padding-left: var(--size-grid002);\n padding-right:${(props) => (props.notALayer ? 'var(--size-grid002)' : 'var(--size-grid001)')};\n\n @media screen and (min-width: 560px) {\n padding-bottom: ${(props) => (props.notALayer ? '16px' : props.fullScreen ? '0' : props.isLastScreen ? '0' : '24px')};\n }\n @media screen and (min-width: 960px) {\n padding-left:${(props) => (props.notALayer ? 'var(--size-grid003)' : '120px')};\n padding-right: ${(props) => (props.notALayer ? 'var(--size-grid003)' : '40px')};\n padding-bottom: ${(props) => (props.notALayer ? '16px' : props.fullScreen ? '0' : props.isLastScreen ? '0' : '44px')};\n }\n @media screen and (min-width: 1280px) {\n padding-left: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '120px')};\n padding-right: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '40px')};\n }\n @media screen and (min-width: 1920px) {\n padding-left: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '120px')};\n padding-right: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '40px')};\n }\n @media screen and (min-width: 2560px) {\n padding-left: ${(props) => (props.notALayer ? 'var(--size-grid007)' : '120px')};\n padding-right: ${(props) => (props.notALayer ? 'var(--size-grid007)' : '40px')};\n }\n`;\n\nconst BackgroundPositionWrapper = styled.div`\n position: ${(props) => (props.notALayer ? 'relative' : null)};\n width: 100%; \n`;\n\nconst BackgroundColorNotALayer = styled.div`\n position: absolute;\n bottom: 0;\n width: 100%;\n background-color: #FFFFFF;\n border-top: ${(props) => props.position === 'fixed' ? '1px solid #DFE4E8' : null } ;\n height: 56px;\n z-index: -1;\n`;\n\nconst SVGColorWrapper = styled.div<{isValid: boolean}>`\n svg {\n color: ${(props)=>(props.isValid ? '#001E50' : '#6A767D')};\n }\n`;\n\nconst NextButtonWrapper = styled.div`\n padding-bottom: ${(props) => (props.notALayer ? '8px' : null)};\n`;\n\nconst NextButton = styled.button<{isValid: boolean}>`\n height: 64px;\n width: 64px;\n border-radius: 50%;\n border: none;\n background-color: ${(props)=>(props.isValid ? '#00B0F0' : '#C2CACF')};\n cursor: pointer;\n\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nfunction InnerNavigation(props: any) {\n const { formClicked, setFormClicked, notALayer, colorTheme, soloProgreso, isFullScreen, isLastScreen, position } = props;\n const { formInfo, formData } = useSelector(\n (state: OneFormState) => state\n );\n const { fields } = formData;\n const { screenIndex, numberOfScreens, multiStepScreenIndex, step, steps } = useSelector(\n (state: OneFormState) => state.formInfo\n );\n const { getValues, errors, triggerValidation, clearError } = useFormContext();\n const store = useStore();\n const { handleNextStep, setShowPreviousStep, isValueSelected, setIsValueSelected, setError } = useOneFormContext();\n const [isValid, setIsValid] = useState(false);\n const trackingManager = useTrackingManager();\n\n //Navigation\n\n const checkIfValid = async () => {\n const valid = await triggerValidation();\n clearError();\n\n if (valid) { \n //En CarlineSelect la opción inicial incluye string vacía desde cambio a components core v64.3.0\n if(fields.modelo === \"\"){\n setIsValid(false);\n }\n else if(screenIndex === 0 && !formClicked) {\n if(fields.formName === 'no_compra-ya_tengo') {\n setIsValid(true);\n setError(false);\n } else {\n setIsValid(false);\n }\n } else {\n setIsValid(true);\n setError(false);\n }\n } else {\n setIsValid(false);\n }\n };\n\n useEffect(()=>{\n if(fields.modelo !== \"\" || fields.model !== \"\"){\n setIsValid(true);\n setError(false);\n }\n },[fields.modelo, fields.model])\n \n\n useEffect(() => {\n const checkValidity = async () => await checkIfValid();\n if (formClicked || isValueSelected) {\n checkValidity();\n if (formClicked) setFormClicked(false);\n if (isValueSelected) setIsValueSelected(false);\n }\n }, [formClicked, isValueSelected]);\n\n useEffect(() => {\n setTimeout(() => {\n if (steps) {\n const currentStep = steps.find((step) => step.screenIndex === screenIndex);\n const { notALayer } = store.getState().formInfo;\n if (\n !notALayer && (\n (screenIndex === 0 && !steps[screenIndex].multiStep) ||\n screenIndex === numberOfScreens - 1 ||\n (currentStep && currentStep.hidePreviousStep) ||\n screenIndex > numberOfScreens\n )\n ) {\n setShowPreviousStep(false);\n } else {\n setShowPreviousStep(true);\n }\n }\n }, 100);\n\n const checkValidity = async () => await checkIfValid();\n\n setTimeout(() => {\n checkValidity();\n }, 600);\n }, [screenIndex]);\n\n useEffect(() => {\n const {\n step,\n multiSteps,\n multiStepScreenIndex,\n }: { step: Steps; multiSteps: Steps[]; multiStepScreenIndex: number } = store.getState().formInfo;\n\n setTimeout(() => {\n if (multiSteps && isNumber(multiStepScreenIndex) && step && step.multiStep) {\n if (multiSteps[multiStepScreenIndex].hidePreviousStep) {\n setShowPreviousStep(false);\n } else {\n setShowPreviousStep(true);\n }\n } else {\n setShowPreviousStep(true);\n }\n }, 0);\n\n const checkValidity = async () => await checkIfValid();\n\n setTimeout(() => {\n checkValidity();\n }, 600);\n }, [multiStepScreenIndex]);\n\n const getPercentage = (): string => {\n const percentage = ((screenIndex / (numberOfScreens - 1)) * 100).toFixed(0);\n if(numberOfScreens - 1 == 1) {\n return '50';\n }\n else if(percentage === '0') {\n return '5';\n }\n else {\n return percentage;\n }\n };\n\n return (\n \n {\n notALayer ? : null\n }\n \n \n \n \n \n \n \n \n {getPercentage()}% completado\n \n \n \n {\n soloProgreso ? null : (\n \n \n {\n if(fields.modelo === \"\"){\n setError(true);\n }else{\n trackingManager.trackFormStepButtonClick({\n contentId: 'Siguiente',\n });\n handleNextStep(e);\n }\n }}\n isValid={isValid}\n >\n \n \n \n \n \n \n )\n } \n \n \n );\n}\n\ninterface NavigationProps {\n formClicked?: boolean;\n setFormClicked?: React.Dispatch>;\n notALayer?: boolean;\n colorTheme?: string;\n refProps?: any;\n formMin?: boolean;\n soloProgreso: boolean;\n position?: string;\n}\n\nexport function Navigation(props: NavigationProps) {\n const { colorTheme, notALayer, position } = props;\n const { screenIndex, step } = useSelector((state: OneFormState) => state.formInfo);\n const loaded = useLoaded();\n const [isLastScreen, setIsLastScreen] = useState(false);\n const { isFullScreen } = useOneFormContext();\n const store = useStore();\n\n useEffect(() => {\n const { formInfo } = store.getState();\n const { step, lastStep } = formInfo;\n if (step && lastStep) {\n step.screenIndex === lastStep.screenIndex ? setIsLastScreen(true) : setIsLastScreen(false);\n }\n }, [step]);\n\n return (\n \n \n {isLastScreen ? null : }\n \n \n );\n}\n","import React from 'react';\nimport { RatingStars, valuesSinRespuesta } from 'src/components';\n\nexport const getRatingStarsOutput = (value: string) => {\n\tconst rating = parseInt(value);\n\tconst { valueSinRespuesta, labelSinRespuesta } = valuesSinRespuesta();\n\tif(valueSinRespuesta == rating){\n\t\treturn labelSinRespuesta;\n\t}\n\treturn ;\n};\n","import dayjs from 'dayjs';\nimport { strTitlelize } from 'src/helpers';\nimport {\n CTAsDudas,\n contactoOptionsSAC,\n contactoOptionsTurismos,\n} from 'src/feature-app/InputsValues/CTAsObjects';\nimport {\n CTAsDesplazamientoTaigo,\n CTAsMotivacionCompraTaigo\n} from 'src/feature-app/InputsValues/CTAsObjectsFormsAdhoc';\nimport { \n franjaHoraria,\n meses \n} from 'src/feature-app/InputsValues/OtherInputTypesObjects';\nimport { \n isGooglePlace, \n weekDay_DayNumber_Month, \n weekDay_DayNumber_Month_Hour \n} from 'src/feature-app';\nimport { Installation, isDealerData } from 'src/types';\nimport { CTAsMotivos } from 'src/forms';\n\n//FUNCIONES GESTIÓN OUTPUTS\n\n// cambio value por label\nexport const changeValueForLabel = (ctas: any, fields: any, field: string) => {\n const result = ctas.find((option: any) => option.value === fields[field]);\n return result ? result.label : fields[field];\n};\n\n// cambio value por label y concatenación multipleChoice\nconst formatMultipleOptionText = (ctas: any, fields: any, field: string) => {\n const aux = fields[field];\n const prevStepContent = ctas.filter((item: any) => aux.includes(item.value));\n const result = prevStepContent.map((item: any) => item.label);\n return result.join(', ');\n};\n\n// formacion frase slot de cita\nconst getOutputSlotFrom = (fields: any) => {\n\n const CTAsMotivo = CTAsMotivos(true); // Forzamos isComerciales para tenes todos los CTAs\n const selectedMotivo = CTAsMotivo.find((CTA) => CTA.value === fields.motivo);\n\n if (fields.dealer.dmsInfo && fields.dealer.dmsInfo.dmsAvailable) {\n const momentSlot = weekDay_DayNumber_Month_Hour(fields.slot.from);\n const formatedSlot =\n momentSlot.split(',')[0] +\n ' de ' +\n momentSlot.split(',')[1].charAt(0).toLowerCase() +\n momentSlot.split(',')[1].slice(1);\n return selectedMotivo\n ? `${selectedMotivo.detallesPrevStep} el ${formatedSlot.replace('-', ' a las ').concat('h')}`\n : `El ${formatedSlot.replace(',', ' de ').concat('h')}`;\n } else {\n const momentSlot = weekDay_DayNumber_Month(fields.slot.from);\n const formatedSlot =\n momentSlot.split(',')[0] +\n ' de ' +\n momentSlot.split(',')[1].charAt(0).toLowerCase() +\n momentSlot.split(',')[1].slice(1);\n\n const horarioTranslate = franjaHoraria.find((h: any) => h.code === fields.slot.dayMoment.code);\n return selectedMotivo\n ? `${selectedMotivo.detallesPrevStep} el ${formatedSlot.concat(horarioTranslate.name)}`\n : `El ${formatedSlot.concat(horarioTranslate.name)}`;\n }\n};\n\n// output localización\nconst getLocationOutput = (formInfo: any) => {\n\n if (isGooglePlace(formInfo.userSuggestion)) {\n return formInfo.userSuggestion.name;\n } else if (isGooglePlace(formInfo.userSuggestion) && isDealerData(formInfo.userSuggestion)) {\n return `${formInfo.userSuggestion.name} en ${formInfo.userSuggestion.markerInfo.dealerInfo.address}`;\n } else if (isGooglePlace(formInfo.userSuggestion) && !isDealerData(formInfo.userSuggestion)) {\n return `${(formInfo.userSuggestion as Installation).TXT_V_Installation_Data_Name__c} en ${\n (formInfo.userSuggestion as Installation).TXT_V_Address__c\n }`;\n }\n};\n\nconst getUnknowOutput = (fields: any[], field: string) => {\n if (fields[field] == 'true') {\n return 'Sí';\n }\n if (fields[field] == 'false') {\n return 'No';\n }\n if (dayjs(fields[field], 'YYYY-MM-DD').isValid()) {\n return dayjs(fields[field], 'YYYY-MM-DD').format('DD/MM/YYYY');\n }\n if (typeof fields[field] == 'string') {\n return fields[field].replace(/\\,+/g, ', '); \n }\n\n return fields[field];\n};\n\n// SWITCH CASE PARA DETERMINAR EL OUTPUT DEL PREVIOUS STEP\n\nexport const getUpdatedField = (field: string, formData: any, dealersInfo: any, formInfo: any, previousStep?: any) => {\n\n const { fields } = formData;\n const { formName } = fields;\n const { selectedInstallation } = dealersInfo;\n\n if (previousStep?.ctas) {\n return changeValueForLabel(previousStep.ctas, fields, field);\n }\n\n const CTAsMotivo = CTAsMotivos(true); // Forzamos isComerciales para tenes todos los CTAs\n \n switch(field) {\n case 'motivo':\n return changeValueForLabel(CTAsMotivo, fields, field);\n case 'contacto':\n return changeValueForLabel(contactoOptionsTurismos, fields, field);\n case 'contactoSAC':\n return changeValueForLabel(contactoOptionsSAC, fields, field);\n case 'desplazamiento':\n return changeValueForLabel(CTAsDesplazamientoTaigo, fields, field);\n case 'motivacionCompra' : \n return changeValueForLabel(CTAsMotivacionCompraTaigo, fields, field);\n case 'slot.from':\n return getOutputSlotFrom(fields);\n case 'dealer.name':\n return fields.dealer.name;\n case 'installation':\n return strTitlelize(selectedInstallation.TXT_V_Installation_Data_Name__c != 'undefined' ? selectedInstallation.TXT_V_Installation_Data_Name__c : selectedInstallation.VGED_CommercialName__c);\n case 'installation-complete':\n return typeof selectedInstallation.TXT_V_Installation_Data_Name__c != 'undefined' ? \n strTitlelize(selectedInstallation.TXT_V_Installation_Data_Name__c + ', ' + selectedInstallation.TXT_V_Address__c + ' ' + selectedInstallation.TXT_V_Postal_Code__c + ' ' + selectedInstallation.TXT_V_Location__c) \n : \n strTitlelize(selectedInstallation.VGED_CommercialName__c + ', ' + selectedInstallation.ShippingStreet + ' ' + selectedInstallation.ShippingPostalCode + ' ' + selectedInstallation.ShippingCity)\n case 'location':\n return getLocationOutput(formInfo);\n case 'kilometros':\n if (fields.kilometros === 0) {\n return 'No estoy seguro';\n } else {\n return `${fields.kilometros[0]}km - ${fields.kilometros[1]}km`;\n }\n case 'cellphone':\n return `${fields.prefix} ${fields[field]}`;\n case 'informado':\n let result;\n if (fields[field] === 'false') {\n result = 'No';\n } else if (fields[field] === 'true') {\n result = 'Sí';\n } else {\n result = 'Sin respuesta';\n }\n return result ? result : fields[field];\n case 'otraMarca':\n return fields[field] === 'false' ? 'No' : fields[field];\n case 'publicarRespuestas':\n return fields[field] === '1' ? 'Sí' : 'No';\n case 'brand':\n if(fields[field] === 'false') {\n return 'No';\n } else {\n return fields[field];\n }\n case 'model':\n if(fields[field] === 'false') {\n return '';\n } else {\n return fields[field];\n }\n case 'dudas':\n return formatMultipleOptionText(CTAsDudas, fields, field);\n default:\n return getUnknowOutput(fields, field);\n }\n \n};\n","import dayjs from 'dayjs';\nimport {\n Container,\n ContainerGutter,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { isNull } from 'src/feature-app';\nimport React, { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { OneFormState, Steps } from 'src/types';\nimport { useOneFormContext } from '../OneForm';\nimport { CSSTransition } from 'react-transition-group';\nimport { changeValueForLabel, getUpdatedField, getRatingStarsOutput } from './PreviousStepFiles';\n\ntype PreviousStepWrapperProps = {\n isSeleccionDealer?: boolean;\n notALayer?: boolean;\n};\nconst PreviousStepWrapper = styled.div`\n opacity: ${(props) => (props.notALayer ? '0.4' : '0.35')};\n`;\n\nconst TextPreviousAnswerWrapper = styled.div`\n width: ${(props) => (props.notALayer ? '100%' : '640px')};\n overflow: hidden;\n max-height: 48px;\n opacity: ${(props) => (props.notALayer ? '1' : '0')};\n &.no-animation {\n opacity: 1;\n }\n &.text-enter,\n &.text-enter-active {\n opacity: 0;\n }\n &.text-enter-done {\n opacity: 1;\n transition: opacity 0.3s;\n }\n &.text-exit,\n &.text-exit-active,\n &.text-exit-done {\n opacity: 1;\n }\n`;\n\n// Implementar en caso de que sea necesario mostrar el último paso segun lo introducido y no según el screenIndex, por ejemplo al volver desde la pantalla de confirmación a otra.\ninterface OutputsHistory {\n screenIndex: number;\n step: Steps;\n outputs: any[];\n}\n\nexport function PreviousStepComponent(props: any) {\n const { formData, formInfo, dealersInfo } = useSelector((state: OneFormState) => state);\n const { steps, stepsHistory, screenIndex, multiStepScreenIndex, multiSteps, triggerExitAnimation, step } = formInfo;\n\n const [title, setTitle] = useState(null);\n const [text, setText] = useState(null);\n const [hideText, setHideText] = useState(false);\n const [textAppear, setTextAppear] = useState(false);\n const [outputs, setOutputs] = useState(null);\n const [outputsHistory, setOutputsHistory] = useState(null);\n const { moveForward, showPreviousStep } = useOneFormContext();\n\n /**\n *\n * @param stepsToIterate La lista de steps donde hay que buscar el paso previo.\n * @param screenIndexToGet La lista de steps donde hay que buscar el paso previo.\n */\n const getTitleAndOutputs = (stepsToIterate: Steps[], screenIndexToGet: number) => {\n if (!stepsToIterate || isNull(screenIndexToGet) || screenIndexToGet === -1) {\n setTitle(null);\n setText(null);\n return null;\n }\n const previousStep = stepsToIterate.find((step) => step.screenIndex === screenIndexToGet);\n \n if(!previousStep) {\n return null;\n }\n \n const title = previousStep.alternateTitle ? previousStep.alternateTitle : previousStep.title;\n setTitle(title);\n \n const camelCaseName = previousStep.name.charAt(0).toLowerCase() + previousStep.name.slice(1); // convertir a camelCase para intentar obtener el fieldName desde formName: \"PrecioMantenimiento\" -> \"precioMantenimiento\"\n\n // uso de dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS',...\n if (formInfo.stepsLiteralFields?.[previousStep.name]) {\n const text = formInfo.stepsLiteralFields?.[previousStep.name];\n setText(text);\n return null;\n }\n else if (formInfo.stepsLiteralFields?.[camelCaseName]) {\n const text = formInfo.stepsLiteralFields?.[camelCaseName];\n setText(text);\n return null;\n }\n\n const theValue = formData.fields[camelCaseName];\n\n // RATING STARS\n if (previousStep.outputsIsStars) {\n\t\tsetText(getRatingStarsOutput(theValue));\n\t}\n // OUTPUTS AND OUTPUTSTEXT\n else if (previousStep.outputsText) {\n const updatedOutputsTexts = previousStep.outputsText\n .map((text) => {\n previousStep.outputs.map((output) => {\n if (text === output) {\n text = getUpdatedField(output, formData, dealersInfo, formInfo, previousStep);\n }\n });\n return text;\n })\n .join(' ');\n\n setText(updatedOutputsTexts);\n }\n else if(typeof theValue != 'undefined') {\n // CTAS\n if (previousStep.ctas) {\n setText(changeValueForLabel(previousStep.ctas, formData.fields, theValue));\n }\n else if(theValue == 'false' || theValue === false) {\n setText('No');\n }\n else if(theValue == 'true' || theValue === true) {\n setText('Sí');\n }\n // TIMESTAMPS\n else if (dayjs(theValue, 'YYYY-MM-DD HH:mm:ss').isValid()) {\n setText(dayjs(theValue, 'YYYY-MM-DD HH:mm:ss').format('DD/MM/YYYY HH:mm:ss'));\n }\n else if (dayjs(theValue, 'YYYY-MM-DD').isValid()) {\n setText(dayjs(theValue, 'YYYY-MM-DD').format('DD/MM/YYYY'));\n }\n else if(typeof theValue == 'string'){\n setText(theValue.replace(/\\,+/g, ', ')); // prevenir texto junto la coma\n }\n } \n };\n\n const handleMultiStep = () => {\n // En la primera pantalla del multistep mostramos el último step antes de entrar en el multistep.\n if (multiStepScreenIndex === 0) {\n getTitleAndOutputs(steps, screenIndex - 1);\n } else {\n getTitleAndOutputs(multiSteps, multiStepScreenIndex - 1);\n }\n };\n\n const handleStep = () => {\n // En la primera pantalla después de un multistep mostramos el último multistep antes de salir del mismo.\n let previousStep;\n const indexInHistory = stepsHistory.findIndex((history) => history === screenIndex);\n\n if (indexInHistory === -1) {\n previousStep = steps.find((step) => step.screenIndex === screenIndex - 1);\n } else {\n previousStep = steps.find((step) => step.screenIndex === stepsHistory[indexInHistory - 1]);\n }\n if (previousStep && previousStep.multiStep) {\n getTitleAndOutputs(multiSteps, multiStepScreenIndex);\n } else {\n getTitleAndOutputs(steps, previousStep?.screenIndex);\n }\n };\n\n useEffect(() => {\n if (isNull(screenIndex) || (screenIndex === 0 && !steps?.[screenIndex]?.multiStep) || !steps?.[screenIndex]) {\n return;\n }\n const step = steps.find((step) => step.screenIndex === screenIndex);\n if (step) {\n step.multiStep ? handleMultiStep() : handleStep();\n } else {\n handleStep();\n }\n }, [screenIndex, multiStepScreenIndex]);\n\n useEffect(() => {\n if (props.stopAnimation) {\n setHideText(false);\n } else {\n if (!moveForward) {\n setHideText(true);\n } else {\n setHideText(false);\n }\n }\n }, [moveForward]);\n\n useEffect(() => {\n if (text) setTextAppear(true);\n }, [text]);\n\n useEffect(() => {\n setHideText(false);\n }, []);\n\n return showPreviousStep ? (\n \n \n {props.notALayer ? (\n \n {title ? title : null}\n \n ) : (\n \n {title ? title : null}\n \n )}\n {props.notALayer ? (\n \n \n {text && !hideText ? text : null}\n \n \n ) : (\n \n \n \n {text && !hideText && !triggerExitAnimation ? text : null}\n \n \n \n )}\n \n \n ) : null;\n}\n\nclass ErrorBoundary extends React.Component {\n constructor(props: any) {\n super(props);\n this.state = { hasError: false };\n }\n\n static getDerivedStateFromError(error) {\n // Actualiza el estado para que el siguiente renderizado muestre la interfaz de repuesto\n return { hasError: true };\n }\n\n componentDidCatch(error, errorInfo) {\n console.error('Falta por definir un campo en PreviousStep');\n // También puedes registrar el error en un servicio de reporte de errores\n }\n\n render() {\n if (this.state.hasError) {\n // Puedes renderizar cualquier interfaz de repuesto\n return null;\n }\n\n return this.props.children;\n }\n}\n\nexport function PreviousStep(props: any) {\n return (\n \n \n \n );\n}\n","import React, {useEffect, useState} from 'react';\nimport { LayerScreen, FullScreen } from '.';\ninterface RenderControllerProps {\n screenType: 'layer-screen' | 'full-screen';\n title: JSX.Element;\n fields: JSX.Element;\n key: number;\n avoidTrackFormStepLoad?: boolean;\n thankYouPage?: boolean;\n}\n\nexport const RenderController = (props: RenderControllerProps) => {\n const { title, fields, key, avoidTrackFormStepLoad, screenType, thankYouPage } = props;\n\n return (\n <>\n {screenType ? (\n <>\n {screenType === 'layer-screen' ? (\n \n ) : (\n \n )}\n \n ) : null}\n \n );\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, LayerHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useSelector, useStore } from 'react-redux';\nimport { OneFormProvider, useFeatureAppConfig } from 'src/feature-app';\nimport { CloseComponent, Navigation } from 'src/feature-app/Screen';\nimport { OneFormState } from 'src/types';\nimport { ThankYouComponent } from 'src/feature-app/ThankYouComponent';\nimport { useGetBoundingClientRect } from 'src/feature-app/hooks';\nimport { useWindowHeight, useWindowWidth } from '@react-hook/window-size';\n\ninterface ScreenControllerProps {\n closeLayerCallback?: CloseHandleV2;\n selectedJourney: JSX.Element;\n handleAreYouSureLayer: () => LayerHandleV2<{}>;\n notALayer?: boolean;\n formType?: 'layer' | 'inPage' | 'module';\n}\n\nconst ThankYouWrapper = styled.div`\n height: 100%;\n display: flex;\n align-items: center;\n div {\n height: auto;\n align-items: center;\n }\n`;\n\nexport function ScreenController(props: ScreenControllerProps) {\n const { closeLayerCallback, selectedJourney, handleAreYouSureLayer, formType } = props;\n\n const { formInfo, formData } = useSelector((state: OneFormState) => state);\n const { multiStepScreenIndex, screenIndex, triggerExitAnimation, showFinalScreen, lastStep, step } = formInfo;\n const [formClicked, setFormClicked] = useState(false);\n const [colorTheme, setTheme] = useState(null);\n const config = useFeatureAppConfig();\n\n const trigger = useFeatureAppConfig().trigger;\n\n //Quitar navegación en pantallas de error de carga del form formato full-screen\n\n const [formStarted, setFormStarted] = useState(false);\n useEffect(() => {\n if (formInfo.formStarted === false) {\n setFormStarted(false);\n } else {\n setFormStarted(true);\n }\n }, [formInfo]);\n\n //mapa no compra, si en algun otro form se usa y no coinciden el screenIndex o el multiscreenIndex\n //habrá que añadir un filtro por trigger o un flag en formInfo de que está en el mapa\n\n const [isMap, setIsMap] = useState(false);\n const [soloProgreso, setSoloProgreso] = useState(false);\n\n useEffect(() => {\n if (multiStepScreenIndex === 1 && screenIndex === 5) {\n setIsMap(true);\n } else if (formData.fields.formName === 'no_compra-ya_tengo' && screenIndex === 2) {\n setSoloProgreso(true);\n } else if (formData.fields.formName === 'adhoc-2021-eurocopa' && screenIndex === 0) {\n setIsMap(true);\n } else {\n setIsMap(false);\n setSoloProgreso(false);\n }\n }, [screenIndex, multiStepScreenIndex]);\n\n useEffect(() => {\n setTheme('inverted');\n }, [trigger]);\n\n const store = useStore();\n\n const handleClick = () => {\n setFormClicked(true);\n };\n\n const [isLastScreen, setIsLastScreen] = useState(false);\n const [isConfirmacion, setIsConfirmacion] = useState(false);\n\n useEffect(() => {\n if (step?.name === 'Confirmacion' || step?.name === 'Form') {\n setIsConfirmacion(true);\n } else if (step && step.name !== 'Confirmacion') {\n setIsConfirmacion(false);\n }\n if (step && lastStep) {\n step.screenIndex === lastStep.screenIndex ? setIsLastScreen(true) : setIsLastScreen(false);\n }\n }, [step]);\n\n //navigation position in full screen\n\n const [navPositon, setNavPosition] = useState('fixed');\n const viewportHeight = useWindowHeight();\n\n const { top: topNavigation, getAndUpdateState: getAndUpdateStateNavigation } =\n useGetBoundingClientRect('.navigation-wrapper');\n\n const { bottom: bottomContent, getAndUpdateState: getAndUpdateStateContent } = useGetBoundingClientRect(\n '.content-controller-fullScreen'\n );\n\n const handlePosition = () => {\n getAndUpdateStateNavigation();\n getAndUpdateStateContent();\n };\n\n useEffect(() => {\n if (step && step.name !== 'Confirmacion') {\n document.addEventListener('scroll', handlePosition);\n\n return () => {\n document.removeEventListener('scroll', handlePosition);\n };\n }\n }, [step]);\n\n useEffect(() => {\n if (bottomContent === null) {\n setNavPosition('fixed');\n //console.log('1111');\n } else if (bottomContent <= viewportHeight-100) {\n setNavPosition('relative');\n //console.log('2222');\n } else {\n setNavPosition('fixed');\n //console.log('3333');\n }\n }, [topNavigation, bottomContent]);\n\n return (\n \n {\n handleClick();\n }}\n className=\"screen-controller\"\n >\n {showFinalScreen ? (\n <>\n {\n formType === 'inPage' || formType === 'module' ? null : (\n \n )\n }\n \n \n \n \n \n ) : formType === 'inPage' || formType === 'module' ? (\n <>\n {selectedJourney}\n {showFinalScreen || isMap || !formStarted || isConfirmacion || formType === 'module' ? null : (\n \n )}\n \n ) : (\n <>\n \n\n {selectedJourney}\n {isLastScreen ? null : (\n \n )}\n \n )}\n \n \n );\n}\n","import React from 'react';\nimport {\n Layout,\n Breakpoints,\n LayoutRowGap,\n} from '@volkswagen-onehub/components-core';\n\ninterface OneElementTemplateProps {\n element: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\n// Refactorizar\nexport function OneElementTemplateFullScreen(props: OneElementTemplateProps) {\n const { element } = props;\n return (\n \n {element}\n \n );\n}\n\ninterface TwoElementsTemplateProps {\n firstElement: JSX.Element;\n secondElement: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\nexport function TwoElementsTemplateFullScreen(props: TwoElementsTemplateProps) {\n const { firstElement, secondElement } = props;\n return (\n \n {firstElement}\n {secondElement}\n \n );\n}\n\ninterface ThreeElementsTemplateProps {\n firstElement: JSX.Element;\n secondElement: JSX.Element;\n thirdElement: JSX.Element;\n allowOverflowingContent?: boolean;\n}\n\nexport function ThreeElementsTemplateFullScreen(props: ThreeElementsTemplateProps) {\n const { firstElement, secondElement, thirdElement } = props;\n return (\n \n {firstElement}\n {secondElement}\n {thirdElement}\n \n );\n}\n","import React from 'react';\nimport { useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\n\nexport function ThankYouComponent() {\n const { thankYouComponent } = useSelector((state: OneFormState) => state.formInfo);\n return { ...thankYouComponent };\n}\n","import normalizeArguments from './normalizeArguments.js'\r\nimport parsePhoneNumber_ from './parsePhoneNumber_.js'\r\n\r\nexport default function parsePhoneNumber() {\r\n\tconst { text, options, metadata } = normalizeArguments(arguments)\r\n\treturn parsePhoneNumber_(text, options, metadata)\r\n}\r\n","import dayjs from 'dayjs';\nimport {PincodeData} from 'src';\nimport {getPersonAttributes, getLeadAttributes, getVehicleAttributes, dealerAttributes, orderAttributes} from '.';\nimport {getTestLead, getTestPerson, getTestOrder, getTestVehicle, getTestDealer} from '.';\n\nexport const checkIfIsTestPincode = (pincode: string) => pincode.startsWith('PINCODE');\n\nexport const getTestPincode = (pincode: string): PincodeData => {\n\tconst noPermite = pincode.includes('NOPERMITE') || pincode.includes('NO-PERMITE');\n\tconst isElectrico = pincode.includes('ID');\n\n\tconst content = [];\n\n\tif (pincode.includes('NPERSON')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getTestPerson(noPermite, getDate(pincode, 'PERSON'))],\n\t\t});\n\t} else if (pincode.includes('PERSON')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getPersonAttributes(noPermite, getDate(pincode, 'PERSON'))],\n\t\t});\n\t}\n\n\tif (pincode.includes('NLEAD')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getTestLead(getDate(pincode, 'LEAD'))],\n\t\t});\n\t} else if (pincode.includes('LEAD')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getLeadAttributes(getDate(pincode, 'LEAD'))],\n\t\t});\n\t}\n\n\tif (pincode.includes('NVEHICLE')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getTestVehicle(isElectrico)],\n\t\t});\n\t} else if (pincode.includes('VEHICLE')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getVehicleAttributes(isElectrico)],\n\t\t});\n\t}\n\n\tif (pincode.includes('NORDER')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getTestOrder],\n\t\t});\n\t} else if (pincode.includes('ORDER')) {\n\t\tcontent.push({\n\t\t\tattributes: [...orderAttributes],\n\t\t});\n\t}\n\n\tif (pincode.includes('NDEALER')) {\n\t\tcontent.push({\n\t\t\tattributes: [...getTestDealer],\n\t\t});\n\t} else if (pincode.includes('DEALER')) {\n\t\tcontent.push({\n\t\t\tattributes: [...dealerAttributes],\n\t\t});\n\t}\n\n\treturn {\n\t\tstatus: {\n\t\t\tresult: 'success',\n\t\t\ttimestamp: dayjs().format('YYYY-MM-DD HH:mm:ss'),\n\t\t\tcode: 1,\n\t\t\ttime: 0.5742380619049072,\n\t\t},\n\t\tparams: {\n\t\t\tpincode: pincode,\n\t\t\ttoken: 'VW_DDB_FORM_TEST',\n\t\t},\n\t\tcontent: content,\n\t};\n};\n\nconst getDate = (pincode: string, match: string) => {\n\tconst days = pincode.match(new RegExp(match + '(\\\\d+)'));\n\tif (days) {\n\t\treturn dayjs().subtract(parseInt(days[1]), 'day').format('YYYY-MM-DD HH:mm:ss');\n\t}\n\treturn null;\n};\n","export const dealerAttributes = [\n\t{\n\t\tname: 'ID',\n\t\tvalue: 'DEALER',\n\t},\n\t{\n\t\tname: 'attributes',\n\t\tvalue:\n\t\t\t'es.vged.dps.salesforce.rest.entities.SfAttributesRest@281c2df7[type=Account,url=/services/data/v53.0/sobjects/Account/0010Y000014bFZOQA2]',\n\t},\n\t{\n\t\tname: 'Id',\n\t\tvalue: '0010Y00001IPCkUQAX',\n\t},\n\t{\n\t\tname: 'IsDeleted',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'MasterRecordId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Name',\n\t\tvalue: 'CATALUNYA WAGEN',\n\t},\n\t{\n\t\tname: 'TXT_V_Installation_Data_Name__c',\n\t\tvalue: 'CATALUNYA WAGEN',\n\t},\n\t{\n\t\tname: 'LastName',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FirstName',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Salutation',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'MiddleName',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Suffix',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Type',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RecordTypeId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ParentId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingStreet',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingCity',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingState',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingPostalCode',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingCountry',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingLatitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingLongitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingGeocodeAccuracy',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingAddress',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingStreet',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingCity',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingState',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingPostalCode',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingCountry',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingLatitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingLongitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingGeocodeAccuracy',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingAddress',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Phone',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Fax',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'AccountNumber',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Website',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PhotoUrl',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Sic',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Industry',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'AnnualRevenue',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NumberOfEmployees',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Ownership',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TickerSymbol',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Description',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Rating',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Site',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'OwnerId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CreatedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CreatedById',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastModifiedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastModifiedById',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SystemModstamp',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastActivityDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastViewedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastReferencedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'IsPartner',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonContactId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'IsPersonAccount',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingStreet',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingCity',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingState',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingPostalCode',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingCountry',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingLatitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingLongitude',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingGeocodeAccuracy',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMailingAddress',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonMobilePhone',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonEmail',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonTitle',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonDepartment',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonHasOptedOutOfEmail',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonLastCURequestDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonLastCUUpdateDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonEmailBouncedReason',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PersonEmailBouncedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Jigsaw',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'JigsawCompanyId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'AccountSource',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SicDesc',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SalesforceCustomer',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Active__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Customer_Priority__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Instalacion__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NumberofLocations__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SLAExpirationDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SLASerialNumber__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'SLA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Skoda__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'UpsellOpportunity__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Volkswagen__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Dealer_Code_Vaesa__c',\n\t\tvalue: '0320Y',\n\t},\n\t{\n\t\tname: 'COD_Gender__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Person_DIM_IMP__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LSSI__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Phone_mobile__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_landline__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_Brand__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Robinson__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Country__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Location__c',\n\t\tvalue: 'BARCELONA',\n\t},\n\t{\n\t\tname: 'TXT_NIF_CIF__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Postal_Code__c',\n\t\tvalue: '08040',\n\t},\n\t{\n\t\tname: 'TXT_Province__c',\n\t\tvalue: 'BARCELONA',\n\t},\n\t{\n\t\tname: 'TXT_natural_legal_person__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Address_extra__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Address_name__c',\n\t\tvalue: 'A Zona Franca',\n\t},\n\t{\n\t\tname: 'Address_number__c',\n\t\tvalue: '51',\n\t},\n\t{\n\t\tname: 'Address_type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FORM_Full_Address__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Code_Concession__c',\n\t\tvalue: '0320Y',\n\t},\n\t{\n\t\tname: 'TXT_Installation_Code__c',\n\t\tvalue: '0320Y',\n\t},\n\t{\n\t\tname: 'TXT_V_Code_Concession__c',\n\t\tvalue: '0320Y',\n\t},\n\t{\n\t\tname: 'TXT_V_Installation_Code__c',\n\t\tvalue: '0320Y',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VN_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VN_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VN_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VN_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VO_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VO_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VO_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Lead_VO_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VN_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VN_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VN_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VN_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VO_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VO_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VO_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Prospect_VO_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_last_received_com_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_last_received_com_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_last_received_com_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_last_received_com__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vn_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vn_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vn_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vn__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vo_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vo_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vo_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_lead_vo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_1_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_1_Skoda__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_1_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_1__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_2_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_2_Skoda__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_2_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Desired_model_2__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Last_comunication_campaign_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Last_comunication_campaign_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Last_comunication_campaign_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Last_comunication_campaign__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_14_days_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_14_days_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_14_days_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_14_days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_21_days_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_21_days_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_21_days_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_21_days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_30_days_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_30_days_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_30_days_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_30_days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_7_days_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_7_days_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_7_days_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_7_days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_90_days_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_90_days_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_90_days_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_90_days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_year_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_year_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_year_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'N_hits_last_year__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Pissed_off_client_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Pissed_off_client_Skoda__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Pissed_off_client_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Pissed_off_client__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_is_official_dealer_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_is_official_dealer_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_is_official_dealer_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_is_official_dealer__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_act_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_act_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_act_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_nact_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_nact_Sk__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_nact_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vn_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_act_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_act_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_act_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_nact_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_nact_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_nact_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'driver_vo_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_is_offical_dealer_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_is_offical_dealer_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_is_offical_dealer_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_is_offical_dealer__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_act_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_act_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_act_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_nact_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_nact_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_nact_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vn_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_act_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_act_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_act_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_nact_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_nact_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_nact_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'owner_vo_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'COD_province__c',\n\t\tvalue: '17',\n\t},\n\t{\n\t\tname: 'Manual_marker__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Address__c',\n\t\tvalue: 'POL.IND. ZONA FRANCA, CALLE A 51',\n\t},\n\t{\n\t\tname: 'Afected_EA_189__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vn_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vn_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vn_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vn__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vo_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vo_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vo_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_prospect_vo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Legal_risk_EA_189__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Age__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Current_Afected_EA_189__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Document_type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Repaired_EA_189__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LKP_After_Sales_manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LKP_Sales_manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Dealer_Code_Imaweb__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Climapro_Installation_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Climapro_Installation_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Climapro_Installation_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Climapro_Installation_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Latitude__c',\n\t\tvalue: '41.337717',\n\t},\n\t{\n\t\tname: 'Longitude__c',\n\t\tvalue: '2.141197',\n\t},\n\t{\n\t\tname: 'NUM_V_Phone__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Aftersale_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Aftersale_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Aftersale_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Aftersale_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Sale_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Sale_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Sale_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Preferred_Installation_Sale_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_KVPS_code__c',\n\t\tvalue: '08004',\n\t},\n\t{\n\t\tname: 'TXT_PV_Address__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_KVPS_code__c',\n\t\tvalue: '08004',\n\t},\n\t{\n\t\tname: 'TXT_V_Postal_Code__c',\n\t\tvalue: '08040',\n\t},\n\t{\n\t\tname: 'Cod_installation_Imaweb__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FLAG_Baja__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'COD_Brand_Imaweb__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NORM_Address_name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NORM_Address_number__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NORM_Location__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NORM_Postal_Code__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Business_Group_CIF__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Description_Concession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Contact_Concession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Type_Concession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Climapro_Concession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Email__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'aceDealer__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'MPCK_Instalation_Type__c',\n\t\tvalue: '1;2;10',\n\t},\n\t{\n\t\tname: 'FRML_TXT_codVentaProvincia__c',\n\t\tvalue: '08',\n\t},\n\t{\n\t\tname: 'Latitude_V__c',\n\t\tvalue: '41.337717',\n\t},\n\t{\n\t\tname: 'Longitude_V__c',\n\t\tvalue: '2.141197',\n\t},\n\t{\n\t\tname: 'TXT_V_Location__c',\n\t\tvalue: 'BARCELONA',\n\t},\n\t{\n\t\tname: 'COD_V_province__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Cod_V_installation_Imaweb__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FLAG_V_Baja__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Dealer_V_Code_Vaesa__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_V_Climapro_Installation_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_V_Climapro_Installation_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_V_Climapro_Installation_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_V_Climapro_Installation_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Dealer_V_Code_Imaweb__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Area_Manager_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Zone_Manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'External_ID_Otros__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Activity__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_Name_1_Manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Surname_2_Manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Area_code__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Description_Installation__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_prior_appointment__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_After_Sales_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Email_more_info__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Sender__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Home__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Date_Last_Updated__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Replacement_fleet__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Installation_Data_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Manager_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Observations_Schedule__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Observations_Schedule__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Parking__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_business_name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_business_name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Adblue_price__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Anyo_matriculacion_otro_vehiculo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Audi_CAM__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Audi_Lounge__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Audi_Sport_Exclusive_Service__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Audi_Sport__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_California_roof_repairing__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Children_zone__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Client_Shutle__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Compressed_Natural_Gas_Charger__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Crafter_Elevator__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_DRM__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Delivery_Service__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Do_Not_Contact_AU__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Do_Not_Contact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Dont_send_Com__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Elite_Body__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Email_OFF__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Exclusive_Service_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Exclusive_Service__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Fast_Service__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Free_Wifi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_HVT_repairs__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Handicapped__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Integral_Body_Program__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Is_Closed_Days__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Oficial_Audi_Prestige_Service__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_PCI__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Parking__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_SUM_Diff_Schedule_Vehicle_Recep__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Service_Plus_Installation__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_TLMK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Children_zone__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Exclusive_Service_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Free_Wifi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Handicapped__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_V_Waiting_zone__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Waiting_zone__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_Working_Zone_Waiting_Clients__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_e_Hibrids__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_e_dealers__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_e_loaders__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CampaignID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Contactable_after_sales__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Contactable_sales__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Customer_type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Date_Photo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_End_Date_SUM__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_End_Date_Valid__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Entry_Date__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Ini_Date_SUM__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_Termination_Date__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_View_End_Period__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DATE_View_Start_Period__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_Customer_registration_SLI__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_last_vehicle__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Email_Business_Group__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_Autonomo_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_Gran_empresa_propiedad_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_Pymes_propiedad_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_Pymes_renting_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_RaC_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_VO_no_particular__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_gran_empresa_renting_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_indefinido_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_no_identificado_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_particular_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Es_resto_VN__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Excesive_waiting__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FRML_TXT_DPV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FRML_TXT_Image_Sign__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Family_unit__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'FormID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Home_another_vehicle_brand__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_External_ID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ID_Vehicle_EID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Instalacion__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_PV_AU__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_PV_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_PV_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_PV_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_V_AU__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_V_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_V_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Id_Propietario_V_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Informat_cession_aceptance__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Lead_vn_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Lead_vn_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Lead_vo_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Lead_vo_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Multivehicle__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Bodywork_Price_Hour__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Business_Group_Id__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Fax_Business_Group__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Id_Operation__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Mechanical_Price_Hour__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Number_Photo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Oil_Liter_Price__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Phone_Business_Group__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Substitution_vehicle__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_Work_Price__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'NUM_chassis_number__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_FRI_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_FRI_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_FRI_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_FRI_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_MON_THUR_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_MON_THUR_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_MON_THUR_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_MON_THUR_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SAT_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SAT_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SAT_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SAT_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SUN_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SUN_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SUN_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_SUM_TIME_SUN_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_Social_Network__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_FRI_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_FRI_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_FRI_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_FRI_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_MON_THUR_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_MON_THUR_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_MON_THUR_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_MON_THUR_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SAT_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SAT_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SAT_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SAT_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SUN_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SUN_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SUN_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_SUM_TIME_SUN_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_Social_Network__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_FRI_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_FRI_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_FRI_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_FRI_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_MON_THUR_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_MON_THUR_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_MON_THUR_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_MON_THUR_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SAT_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SAT_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SAT_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SAT_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SUN_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SUN_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SUN_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_V_WIN_TIME_SUN_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_FRI_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_FRI_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_FRI_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_FRI_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_MON_THUR_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_MON_THUR_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_MON_THUR_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_MON_THUR_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SAT_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SAT_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SAT_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SAT_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SUN_AFT_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SUN_AFT_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SUN_MOR_END__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PCK_WIN_TIME_SUN_MOR_STA__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PKL_Exclusion_Motive_PV_AU__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PKL_Exclusion_Motive_PersonAccount__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Profession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Standard_contactable_universe_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Standard_contactable_universe_Skoda__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Standard_contactable_universe_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Standard_contactable_universe__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Accept_Bases__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Area_Manager_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Business_Group_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_BussinesGroup__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Comments_Exclusion__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Context_ID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Contract_brand__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_DPV_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_DPV_gender__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_DPV_treatment__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Description_Validity__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Area_Manager__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_CCDPV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_DPV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_DV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Online_Appointment_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Online_Appointment_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Email_Zone_Manager_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Facebook__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Instagram__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_Name_1_Area_Manager_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_Name_1_DPV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_Name_1_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_name_2_DPV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Last_name_2_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Manager_Name_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Observations__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Official_Web_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Official_Web_V__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Position__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Profile__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Surname_2_Area_Manager_PV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Tradename_BusinessGroup__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Tradename__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Twitter__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Facebook__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Instagram__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Name__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Tradename__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Twitter__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_Web__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_V_gender__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_Web__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'TXT_number_plate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'URL_Business_Group_Website__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Unsuscribed__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Use_type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'cond_is_official_dealer_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'cond_is_official_dealer_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'cond_is_official_dealer_VW__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'cond_is_official_dealer__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'cond_vn_act_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'prospect_vn_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'prospect_vn_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'prospect_vo_act__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'prospect_vo_nact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'et4ae5__HasOptedOutOfMobile__pc',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'et4ae5__Mobile_Country_Code__pc',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'IDClimapro__pc',\n\t\tvalue: 'null',\n\t},\n];\n","export const getLeadAttributes = (date?: string) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'LEAD',\n\t\t},\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue:\n\t\t\t\t'es.vged.dps.salesforce.rest.entities.SfAttributesRest@133a815a[type=Leads_Prospects__c,url=/services/data/v51.0/sobjects/Leads_Prospects__c/a0d1n00000gvFgzAAE]',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: 'a0d1n00000gvFgzAAE',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Name',\n\t\t\tvalue: '8401294-VW_DDB_FRM_LEM_REC_LEM-36V',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: date ? date : '2023-11-14 18:44:24',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2021-05-05T05:55:28.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2021-05-05T05:55:28.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Brand__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_Dealer_Code__c',\n\t\t\tvalue: 'MERKAMOTOR TORTOSA, S.A.',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_Model__c',\n\t\t\tvalue: 'T-Roc',\n\t\t},\n\t\t{\n\t\t\tname: 'ID_Person_DIM_IMP__c',\n\t\t\tvalue: '8401294',\n\t\t},\n\t\t{\n\t\t\tname: 'IS_Prospect__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Is_AfterSales__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Is_Company__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Is_lead__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'LSSI__c',\n\t\t\tvalue: 'NO PERMITE',\n\t\t},\n\t\t{\n\t\t\tname: 'LastCreatedDate__c',\n\t\t\tvalue: '2021-05-02T23:50:00.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Email__c',\n\t\t\tvalue: 'test@test.com',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Postal_Code__c',\n\t\t\tvalue: '00000',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Province__c',\n\t\t\tvalue: 'Barcelona',\n\t\t},\n\t\t{\n\t\t\tname: 'Token__c',\n\t\t\tvalue: 'VW_DDB_FRM_LEM_REC_LEM',\n\t\t},\n\t\t{\n\t\t\tname: 'Total__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Total_last_1_year__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Total_last_2_year__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Total_last_3_year__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Total_last_4_year__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VN_VO__c',\n\t\t\tvalue: 'VN',\n\t\t},\n\t\t{\n\t\t\tname: 'LKP_PersonAccount__c',\n\t\t\tvalue: '0011n00002e8sUnAAI',\n\t\t},\n\t\t{\n\t\t\tname: 'External_Id_Climapro__c',\n\t\t\tvalue: 'DPS-000000000000001052940',\n\t\t},\n\t\t{\n\t\t\tname: 'NUM_COD_INTEREST_CARLINE__c',\n\t\t\tvalue: '30365',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_DESC_DEALER_CODE__c',\n\t\t\tvalue: '03278',\n\t\t},\n\t\t{\n\t\t\tname: 'IsQualified__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t];\n};\n","export const orderAttributes = [\n\t{\n\t\tname: 'ID',\n\t\tvalue: 'ORDER',\n\t},\n\t{\n\t\tname: 'attributes',\n\t\tvalue:\n\t\t\t'es.vged.dps.salesforce.rest.entities.SfAttributesRest@59506a4c[type=Order__c,url=/services/data/v53.0/sobjects/Order__c/a0W1n00000IETcDEAX]',\n\t},\n\t{\n\t\tname: 'Id',\n\t\tvalue: 'a0W1n00000IETcDEAX',\n\t},\n\t{\n\t\tname: 'OwnerId',\n\t\tvalue: '0050Y000001UE3gQAG',\n\t},\n\t{\n\t\tname: 'IsDeleted',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'Name',\n\t\tvalue: '36V_146_6599',\n\t},\n\t{\n\t\tname: 'CreatedDate',\n\t\tvalue: '2020-10-31T08:20:33.000+0000',\n\t},\n\t{\n\t\tname: 'CreatedById',\n\t\tvalue: '0050Y000001UE3gQAG',\n\t},\n\t{\n\t\tname: 'LastModifiedDate',\n\t\tvalue: '2021-11-26T09:28:57.000+0000',\n\t},\n\t{\n\t\tname: 'LastModifiedById',\n\t\tvalue: '0050Y000001UE3gQAG',\n\t},\n\t{\n\t\tname: 'SystemModstamp',\n\t\tvalue: '2021-11-26T09:28:58.000+0000',\n\t},\n\t{\n\t\tname: 'LastViewedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastReferencedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CHK_excessive_waiting_Audi__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'CHK_excessive_waiting_Audi_theoric__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'CHK_excessive_waiting_LCV__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'CHK_excessive_waiting_Skoda__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'CHK_excessive_waiting_VW__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'COD_Carline__c',\n\t\tvalue: '30316',\n\t},\n\t{\n\t\tname: 'Instalacion_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Instalacion_LCV__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Instalacion_SK__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'COD_comision__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'COD_sales_type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'COD_salesgroup__c',\n\t\tvalue: '39237',\n\t},\n\t{\n\t\tname: 'Customer_change_order__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VipEnviado__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'DemoraTipo__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ConfirmacionRegaloEnviado__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'EmailFollowUpEnviado__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'CHK_contactable_universe__c',\n\t\tvalue: '0',\n\t},\n\t{\n\t\tname: 'Contactable_universe_vehicle__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DESC_Model__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DESC_Sales_VN_Type__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DESC_TrimLevel__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DESC_car_model_salesgroup__c',\n\t\tvalue: 'Golf Last Edition',\n\t},\n\t{\n\t\tname: 'DESC_excessive_waiting_Audi__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DESC_model_group__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'EmailBienvenidaEnviado__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'EmailDemoraEnviado__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'EmailEstadoEnviado__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Factory__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Not_lineal_order__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'Order_frame_FK__c',\n\t\tvalue: 'WVWZZZAUZLW014456',\n\t},\n\t{\n\t\tname: 'PKL_order_VN_VO__c',\n\t\tvalue: 'VO',\n\t},\n\t{\n\t\tname: 'PKL_order_brand__c',\n\t\tvalue: 'Volkswagen',\n\t},\n\t{\n\t\tname: 'SLI_State__c',\n\t\tvalue: '70',\n\t},\n\t{\n\t\tname: 'Vehicle_age_monthly_ord__c',\n\t\tvalue: '19',\n\t},\n\t{\n\t\tname: 'Vehicle_age_yearly_ord__c',\n\t\tvalue: '2',\n\t},\n\t{\n\t\tname: 'COD_Customer_renting__c',\n\t\tvalue: '0010Y000015jO9yQAE',\n\t},\n\t{\n\t\tname: 'COD_Customer_type__c',\n\t\tvalue: '8',\n\t},\n\t{\n\t\tname: 'COD_Driver__c',\n\t\tvalue: '0010Y000015jO9yQAE',\n\t},\n\t{\n\t\tname: 'COD_Vehicle_climapro__c',\n\t\tvalue: 'a0Y1n00000HU1nzEAD',\n\t},\n\t{\n\t\tname: 'COD_owner_climapro__c',\n\t\tvalue: '0010Y00001cvNpnQAE',\n\t},\n\t{\n\t\tname: 'Concesion__c',\n\t\tvalue: '0010Y000014bFZOQA2',\n\t},\n\t{\n\t\tname: 'Customer_type__c',\n\t\tvalue: 'Particular VO IMA DWA',\n\t},\n\t{\n\t\tname: 'DAT_Customers_order__c',\n\t\tvalue: '2020-03-05',\n\t},\n\t{\n\t\tname: 'DAT_Order__c',\n\t\tvalue: '2020-03-05',\n\t},\n\t{\n\t\tname: 'DAT_delivery__c',\n\t\tvalue: '2020-05-26',\n\t},\n\t{\n\t\tname: 'DAT_order_state_10__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_20__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_30__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_40__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_50__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_60__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_70__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'DAT_order_state_80__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'IDClimapro__c',\n\t\tvalue: '36V_146_6599',\n\t},\n\t{\n\t\tname: 'Instalacion__c',\n\t\tvalue: '0010Y00001IPCkUQAX',\n\t},\n];\n","export const getPersonAttributes = (noPermiteLssi?: boolean, date?: string) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'PERSON',\n\t\t},\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: 'TEST',\n\t\t},\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Name',\n\t\t\tvalue: 'TEST NAME',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_2_Surname__c',\n\t\t\tvalue: 'TEST SURNAME',\n\t\t},\n\t\t{\n\t\t\tname: 'LastName',\n\t\t\tvalue: 'TEST LASTNAME',\n\t\t},\n\t\t{\n\t\t\tname: 'FirstName',\n\t\t\tvalue: 'TEST FIRSTNAME',\n\t\t},\n\t\t{\n\t\t\tname: 'Salutation',\n\t\t\tvalue: 'Sra.',\n\t\t},\n\t\t{\n\t\t\tname: 'RecordTypeId',\n\t\t\tvalue: '0120Y000000FHqQQAW',\n\t\t},\n\t\t{\n\t\t\tname: 'BillingAddress',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ShippingAddress',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PhotoUrl',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: date ? date : '2023-11-14 18:44:24',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2021-05-04 13:43:20',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2021-05-04 13:43:20',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'IsPartner',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonContactId',\n\t\t\tvalue: '0031n00002SQq1OAAT',\n\t\t},\n\t\t{\n\t\t\tname: 'IsPersonAccount',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonMailingAddress',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonOtherAddress',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonHasOptedOutOfEmail',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonHasOptedOutOfFax',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonDoNotCall',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Audi__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Instalacion__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Skoda__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Volkswagen__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'COD_Gender__c',\n\t\t\tvalue: 'M',\n\t\t},\n\t\t{\n\t\t\tname: 'ID_Person_DIM_IMP__c',\n\t\t\tvalue: 'TEST_ID_Person_DIM_IMP__c',\n\t\t},\n\t\t{\n\t\t\tname: 'LCV__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'LSSI__c',\n\t\t\tvalue: noPermiteLssi ? 'NO PERMITE' : 'PERMITE',\n\t\t},\n\t\t{\n\t\t\tname: 'NUM_Phone_mobile__c',\n\t\t\tvalue: '600000000',\n\t\t},\n\t\t{\n\t\t\tname: 'Robinson__c',\n\t\t\tvalue: 'PERMITE',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Country__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Email__c',\n\t\t\tvalue: 'test@test.com',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Location__c',\n\t\t\tvalue: 'L’Hospitalet de Llobregat',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_NIF_CIF__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Postal_Code__c',\n\t\t\tvalue: '08001',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_Province__c',\n\t\t\tvalue: 'Barcelona',\n\t\t},\n\t\t{\n\t\t\tname: 'TXT_natural_legal_person__c',\n\t\t\tvalue: 'FISICA',\n\t\t},\n\t\t{\n\t\t\tname: 'Address_extra__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Address_name__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Address_number__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Address_type__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'FORM_Full_Address__c',\n\t\t\tvalue: 'Calle D’Amadeu TORNER 12',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VN_Audi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VN_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VN_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VN_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VO_Audi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VO_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VO_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Lead_VO_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VN_Audi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VN_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VN_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VN_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VO_Audi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VO_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VO_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Prospect_VO_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Desired_model_1_VW__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Pissed_off_client_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Pissed_off_client_Skoda__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Pissed_off_client_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Pissed_off_client__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_is_official_dealer_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_is_official_dealer_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_is_official_dealer_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_is_official_dealer__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_act_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_act_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_act_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_act__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_nact_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_nact_Sk__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_nact_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vn_nact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_act_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_act_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_act_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_act__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_nact_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_nact_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_nact_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'driver_vo_nact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_is_offical_dealer_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_is_offical_dealer_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_is_offical_dealer_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_is_offical_dealer__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_act_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_act_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_act_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_act__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_nact_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_nact_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_nact_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vn_nact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_act_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_act_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_act_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_act__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_nact_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_nact_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_nact_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'owner_vo_nact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'COD_province__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Afected_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Legal_risk_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Current_Afected_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Repaired_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Replacement_fleet__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Parking__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Audi_CAM__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Audi_Lounge__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Audi_Sport_Exclusive_Service__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Audi_Sport__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_California_roof_repairing__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Children_zone__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Client_Shutle__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Compressed_Natural_Gas_Charger__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Crafter_Elevator__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_DRM__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Delivery_Service__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Do_Not_Contact_AU__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Do_Not_Contact__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Dont_send_Com__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Elite_Body__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Email_OFF__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Exclusive_Service_VW__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Exclusive_Service__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Fast_Service__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Free_Wifi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_HVT_repairs__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Handicapped__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Integral_Body_Program__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Is_Closed_Days__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Oficial_Audi_Prestige_Service__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_PCI__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Parking__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_SUM_Diff_Schedule_Vehicle_Recep__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Service_Plus_Installation__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_TLMK__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Children_zone__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Exclusive_Service_VW__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Free_Wifi__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Handicapped__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_V_Waiting_zone__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Waiting_zone__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_Working_Zone_Waiting_Clients__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_e_Hibrids__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_e_dealers__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CHK_e_loaders__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Contactable_after_sales__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Contactable_sales__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_Autonomo_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_Gran_empresa_propiedad_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_Pymes_propiedad_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_Pymes_renting_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_RaC_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_VO_no_particular__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_gran_empresa_renting_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_indefinido_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_no_identificado_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_particular_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Es_resto_VN__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Excesive_waiting__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'FRML_TXT_DPV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'FRML_TXT_Image_Sign__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Informat_cession_aceptance__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Lead_vn_act__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Lead_vn_nact__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Lead_vo_act__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Lead_vo_nact__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Multivehicle__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Standard_contactable_universe_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Standard_contactable_universe_Skoda__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Standard_contactable_universe_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Standard_contactable_universe__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Unsuscribed__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'cond_is_official_dealer_LCV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'cond_is_official_dealer_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'cond_is_official_dealer_VW__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'cond_is_official_dealer__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'cond_vn_act_SK__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'prospect_vn_act__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'prospect_vn_nact__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'prospect_vo_act__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'prospect_vo_nact__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__HasOptedOutOfMobile__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__Mobile_Country_Code__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Audi__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'LCV__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Skoda__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Volkswagen__pc',\n\t\t\tvalue: 'true',\n\t\t},\n\t];\n};\n","export const getVehicleAttributes = (isElectrico?: boolean) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'VEHICLE',\n\t\t},\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue:\n\t\t\t\t'es.vged.dps.salesforce.rest.entities.SfAttributesRest@5674eb[type=Vehicle__c,url=/services/data/v53.0/sobjects/Vehicle__c/a0Y1n00000HU1nzEAD]',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: 'a0Y1n00000HU1nzEAD',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Name',\n\t\t\tvalue: 'a0Y1n00000HU1nz',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: '2019-08-23T11:00:59.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2021-12-11T04:12:11.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0050Y000001UE3gQAG',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2021-12-11T04:12:11.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Affected_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'COD_comision__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CarNet__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'TMAIMG__c',\n\t\t\tvalue: 'BQ12CX',\n\t\t},\n\t\t{\n\t\t\tname: 'Warranty_extension__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'Included_mainetance__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_car_model_salesgroup__c',\n\t\t\tvalue: isElectrico ? 'ID.3 Pro' : 'Golf Last Edition',\n\t\t},\n\t\t{\n\t\t\tname: 'PKL_order_brand__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'Frame__c',\n\t\t\tvalue: isElectrico ? 'WVWZZZE1ZLP007840' : 'WVWZZZAUZLW014456',\n\t\t},\n\t\t{\n\t\t\tname: 'Fuel__c',\n\t\t\tvalue: isElectrico ? 'ELÉCTRICO' : 'GASOLINA',\n\t\t},\n\t\t{\n\t\t\tname: 'Gear_type__c',\n\t\t\tvalue: 'NO INFORMADO',\n\t\t},\n\t\t{\n\t\t\tname: 'Installed_PR_packages__c',\n\t\t\tvalue: '',\n\t\t},\n\t\t{\n\t\t\tname: 'KM_cobertura_garantia__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'Assistance_years__c',\n\t\t\tvalue: '4',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_Model__c',\n\t\t\tvalue: isElectrico ? 'ID.3' : 'GOLF',\n\t\t},\n\t\t{\n\t\t\tname: 'Registration__c',\n\t\t\tvalue: '1934LBW',\n\t\t},\n\t\t{\n\t\t\tname: 'Repaired_EA_189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'TrimLevel_Model__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VW_Connect__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'Vehicle_age_yearly_reg__c',\n\t\t\tvalue: '3',\n\t\t},\n\t\t{\n\t\t\tname: 'Audi_Connect__c',\n\t\t\tvalue: '0.0000000000000',\n\t\t},\n\t\t{\n\t\t\tname: 'Car_power__c',\n\t\t\tvalue: '85',\n\t\t},\n\t\t{\n\t\t\tname: 'Carline_Code__c',\n\t\t\tvalue: isElectrico ? '30350' : '30316',\n\t\t},\n\t\t{\n\t\t\tname: 'DAT_registration__c',\n\t\t\tvalue: '2019-10-17',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_model_group__c',\n\t\t\tvalue: 'NO INFORMADO',\n\t\t},\n\t\t{\n\t\t\tname: 'IDClimapro__c',\n\t\t\tvalue: 'TEST_IDClimapro__c',\n\t\t},\n\t\t{\n\t\t\tname: 'Long_full_drive__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonAccount__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Salesgroup_Code__c',\n\t\t\tvalue: isElectrico ? '33236' : '39237',\n\t\t},\n\t\t{\n\t\t\tname: 'Vehicle_age_monthly_reg__c',\n\t\t\tvalue: '26',\n\t\t},\n\t\t{\n\t\t\tname: 'years_warranty_coverage__c',\n\t\t\tvalue: '2',\n\t\t},\n\t\t{\n\t\t\tname: 'years_warranty_extension__c',\n\t\t\tvalue: '0',\n\t\t},\n\t];\n};\n","export const getTestLead = (date?: string) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'LEAD',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: '00Q1i00000DjYfEEAV',\n\t\t},\n\t\t{\n\t\t\tname: 'FirstName',\n\t\t\tvalue: 'Test Lara',\n\t\t},\n\t\t{\n\t\t\tname: 'LastName',\n\t\t\tvalue: 'Test Vged',\n\t\t},\n\t\t{\n\t\t\tname: 'MiddleName',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'MobilePhone',\n\t\t\tvalue: '612345678',\n\t\t},\n\t\t{\n\t\t\tname: 'Email',\n\t\t\tvalue: 'test.vged@gmail.com',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CodeOfInterestCarline__c',\n\t\t\tvalue: '30204',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ModelOfInterest__c',\n\t\t\tvalue: 'Polo',\n\t\t},\n\t\t{\n\t\t\tname: 'Dealership__c',\n\t\t\tvalue: '0019V00000VtngUQAR',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: date ? date : '2023-07-12T14:28:35.000+0000',\n\t\t},\n\n\t\t///////////// sin uso\n\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue:\n\t\t\t\t'es.vged.ndpsbackend.salesforce.rest.entities.SfAttributesRest@29d482e8[type=Lead,url=/services/data/v53.0/sobjects/Lead/00Q1i00000DjYfEEAV]',\n\t\t},\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'MasterRecordId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Salutation',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Name',\n\t\t\tvalue: 'Test Lara Test Vged',\n\t\t},\n\t\t{\n\t\t\tname: 'RecordTypeId',\n\t\t\tvalue: '0121i000000D7NyAAK',\n\t\t},\n\t\t{\n\t\t\tname: 'Title',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Company',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Address',\n\t\t\tvalue:\n\t\t\t\t'SfAddressRest(city=null, country=724, countryCode=ES, geocodeAccuracy=null, latitude=null, longitude=null, postalCode=null, state=null, stateCode=null, street=null)',\n\t\t},\n\t\t{\n\t\t\tname: 'Phone',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Fax',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Website',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PhotoUrl',\n\t\t\tvalue: '/services/images/photo/00Q1i00000DjYfEEAV',\n\t\t},\n\t\t{\n\t\t\tname: 'Description',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LeadSource',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Status',\n\t\t\tvalue: 'Ready for Routing',\n\t\t},\n\t\t{\n\t\t\tname: 'Industry',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Rating',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CurrencyIsoCode',\n\t\t\tvalue: 'EUR',\n\t\t},\n\t\t{\n\t\t\tname: 'AnnualRevenue',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'NumberOfEmployees',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0051i000004Ur0bAAC',\n\t\t},\n\t\t{\n\t\t\tname: 'HasOptedOutOfEmail',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'IsConverted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'ConvertedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ConvertedAccountId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ConvertedContactId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ConvertedOpportunityId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'IsUnreadByOwner',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0051i000004Ur0bAAC',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2023-10-03T12:24:18.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2023-10-03T12:24:18.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastActivityDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'DoNotCall',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'HasOptedOutOfFax',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: '2023-12-14T09:57:05.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: '2023-12-14T09:57:05.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastTransferDate',\n\t\t\tvalue: '2023-07-12',\n\t\t},\n\t\t{\n\t\t\tname: 'PartnerAccountId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Jigsaw',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'JigsawContactId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'EmailBouncedReason',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'EmailBouncedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'IndividualId',\n\t\t\tvalue: '0PK1X000008UZ0QWAW',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__Mobile_Country_Code__c',\n\t\t\tvalue: 'US',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__HasOptedOutOfMobile__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'Brand__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'ExpectedPurchaseDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ExtKey__c',\n\t\t\tvalue: 'nDPS-000000000000000000593',\n\t\t},\n\t\t{\n\t\t\tname: 'InterestCar__c',\n\t\t\tvalue: 'a0R1i00000B2ZOiEAN',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AcademicTitle__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Case__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ExternalRoutingCheck__c',\n\t\t\tvalue: 'Do Not Route',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_CommissionNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ForwardingMechanism__c',\n\t\t\tvalue: 'Automatic',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ForwardingStatus__c',\n\t\t\tvalue: 'Not Forwarded',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_InterestType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Language__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LeadRole__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Mobile__c',\n\t\t\tvalue: '612345678',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NewsletterDuplicateCheck__c',\n\t\t\tvalue: 'True',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NewsletterRequestCaptureDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NewsletterUnsubscriptionDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Phone__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PreferredCommunication__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PurchaseMethod__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RelatedAccount__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StatusReason__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VIN__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ValidationIdentifier__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VehicleCategory__c',\n\t\t\tvalue: 'New Car',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AnonymizeLead__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AverageAnnualMileage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagAUDI__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSEAT__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSKODA__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVWCV__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVW__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerValidation__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DoubleConsentCaptureDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DoubleConsentMailSentOn__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DuplicateCheckAttribute__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_FleetSize__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_InterestCarValidation__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LMBrandSearch__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LMCorrespondenceGreeting__c',\n\t\t\tvalue: 'Test Lara Test Vged',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LeadEntryPoint__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketValidation__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfCarsToPurchase__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_OriginalConfigurationCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RelatedBusinessAccount__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RelatedContact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SetToOpenAtDealer__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SetToRouted__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketing__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_TimeSinceOpenAtDealer__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_TimeSinceRouted__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_extCorrelationId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LastMarketingPressureMeasuredDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureCall__c',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureLetter__c',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureSMS__c',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureTotal__c',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfCalls__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfEmails__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfLetters__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfSMS__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfTotalCommunications__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Opportunity__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RelatedBusinessAccountFilled__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RelatedContactFilled__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherActivationDeadline__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherCreationDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherRedemptionDeadline__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherStatus__c',\n\t\t\tvalue: 'Sent',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VoucherType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InitialMgntType__c',\n\t\t\tvalue: 'Direct to Sales Assistant',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TechnicalMdmStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TechnicalSalesAssistantStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_BrandObservations__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CIF__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CallCenterObservations__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_2Surname__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AdditionalInformation__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AdvisorName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AppointmentDateAndTime__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Birthdate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Campaign__c',\n\t\t\tvalue: '7011i0000002CjUAAU',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumOfRetriesMDM__c',\n\t\t\tvalue: '1.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CommercialPermits__c',\n\t\t\tvalue: 'PERMITE',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LicensePlate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MileageKm__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CurrentVehicleBrand__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CurrentVehicleModel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Model__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DateAndTimeClosedByCC__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DateAndTimeOfFirstCapture__c',\n\t\t\tvalue: '2023-07-11T00:00:00.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DateAndTimeSentToDealer__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DateAndTimeToCC__c',\n\t\t\tvalue: '2023-10-03T12:24:17.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NextContactPoint1__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_FlagCRMOrigin__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RegistrationDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LeadSubtype__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CRMBusinessModelofInterest__c',\n\t\t\tvalue: 'a1i1i00000NRQwGAAX',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CustomizationPath__c',\n\t\t\tvalue: 'Generico_Presupuesto',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsCompany__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LeadEnrichment__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LinkVehicleOfInterest__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MonitorDealerCall__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OfferDetails__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OfferPrice__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OnlineBookingDetails__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TechnicalTrackBackStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_PreferredChannelForContact__c',\n\t\t\tvalue: 'Email',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_PreferredTimeSlotForContact__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ReceivedOnSalesAssistant__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_URL__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_UserId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_UserNIF__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Agreement__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagCUPRA__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DeletedMarketingCloud__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GDPRStatusTimeStamp__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GDPRStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandAUDI__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandCUPRA__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandSEAT__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandSKODA__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandVWCV__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandVW__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PassedExpressedInterestMilestone__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PassedIntenttoPurchaseMilestone__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PassedQualifiedMilestone__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SalesModel__c',\n\t\t\tvalue: 'Retail',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BypassLeadStatus__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerComment__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealershipSharing__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_FAMDealershipSharing__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_IsDealershipCreated__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LeadRecordTypeFilter__c',\n\t\t\tvalue: 'VGED_SalesAssistant',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ReasonOfSendingToNSC__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AdditionalSourceInformation__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MysteryLead__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Profiling__c',\n\t\t\tvalue: 'NO INFORMADO',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Test__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CaptureChannel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CaptureEvent__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_City__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ConfiguratorMatch__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CurrentVehicleAge__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DNINIF__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_FinancingType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleBrand__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleFuel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleMileage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleModelVersion__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleModel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleRegistrationPlate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InExchangeVehicleRegistrationYear__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsClient__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsExclient__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Mileage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OKAPICodeOfModelOfInterest__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_PostalCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Province__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RegistrationPlate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadComplement__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TelemarketingClosure__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_WebSection__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsLeadEnriched__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CarConfigurationURL__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DetailsOfModelOfInterest__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ExtraInfoModelOfInterest__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IDFormCampaign__c',\n\t\t\tvalue: '7011i0000002CclAAE',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MasterQuestionnaireId__c',\n\t\t\tvalue: '140.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NameFormCampaign__c',\n\t\t\tvalue: 'VW_B01_C01_RRSS_LoadRecords',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_VehicleConfigurationDetails__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AdvertisementId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_BookingCancelledReservation__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_BookingDays__c',\n\t\t\tvalue: '1.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ImawebDealerId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ImawebRecordId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t];\n};\n","export const getTestPerson = (noPermiteLssi?: boolean, date?: string) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'PERSON',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: '0011X00001CebbnQAB',\n\t\t},\n\t\t{\n\t\t\tname: 'FirstName',\n\t\t\tvalue: 'MARIO',\n\t\t},\n\t\t{\n\t\t\tname: 'LastName',\n\t\t\tvalue: 'LOPEZ MORENO',\n\t\t},\n\t\t{\n\t\t\tname: 'MiddleName',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonEmail',\n\t\t\tvalue: 'mario.lopez@volkswagengroup.es',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonMobilePhone',\n\t\t\tvalue: '675758541',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonMailingStreet',\n\t\t\tvalue: 'Gran Via De Les Corts Catalanes, 100',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonMailingAddress',\n\t\t\tvalue:\n\t\t\t\t'SfAddressRest(city=BARCELONA, country=724, countryCode=ES, geocodeAccuracy=null, latitude=null, longitude=null, postalCode=08003, state=8, stateCode=8, street=CALLE DELS CORDERS 5)',\n\t\t},\n\n\t\t///////////// sin uso\n\n\t\t{\n\t\t\tname: 'PersonMailingPostalCode',\n\t\t\tvalue: '08080',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonMailingStateCode',\n\t\t\tvalue: '08',\n\t\t},\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue:\n\t\t\t\t'es.vged.ndpsbackend.salesforce.rest.entities.SfAttributesRest@1aeef0f5[type=Account,url=/services/data/v53.0/sobjects/Account/0011X00001CebbnQAB]',\n\t\t},\n\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'MasterRecordId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Name',\n\t\t\tvalue: 'MARIO LOPEZ MORENO',\n\t\t},\n\t\t{\n\t\t\tname: 'Salutation',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Type',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RecordTypeId',\n\t\t\tvalue: '0121i000000cHHfAAM',\n\t\t},\n\t\t{\n\t\t\tname: 'ParentId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ShippingAddress',\n\t\t\tvalue:\n\t\t\t\t'SfAddressRest(city=null, country=724, countryCode=ES, geocodeAccuracy=null, latitude=null, longitude=null, postalCode=null, state=null, stateCode=null, street=null)',\n\t\t},\n\t\t{\n\t\t\tname: 'BillingAddress',\n\t\t\tvalue:\n\t\t\t\t'SfAddressRest(city=null, country=724, countryCode=ES, geocodeAccuracy=null, latitude=null, longitude=null, postalCode=08080, state=null, stateCode=08, street=null)',\n\t\t},\n\t\t{\n\t\t\tname: 'PhotoUrl',\n\t\t\tvalue: '/services/images/photo/0011X00001CebbnQAB',\n\t\t},\n\t\t{\n\t\t\tname: 'Phone',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Fax',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'AccountNumber',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'WebSite',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Sic',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Industry',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'AnnualRevenue',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'NumberOfEmployees',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Ownership',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'TickerSymbol',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Description',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Rating',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Site',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'CurrencyIsoCode',\n\t\t\tvalue: 'EUR',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: date ? date : '2023-09-07T23:10:20.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2023-12-01T10:16:29.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2023-12-01T10:16:29.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastActivityDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: '2023-12-14T09:56:46.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: '2023-12-14T09:56:46.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'IsPartner',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonContactId',\n\t\t\tvalue: '0031X00000zej2YQAQ',\n\t\t},\n\t\t{\n\t\t\tname: 'IsPersonAccount',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'ChannelProgramName',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ChannelProgramLevelName',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonOtherAddress',\n\t\t\tvalue:\n\t\t\t\t'SfAddressRest(city=null, country=724, countryCode=ES, geocodeAccuracy=null, latitude=null, longitude=null, postalCode=null, state=null, stateCode=null, street=null)',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonHomePhone',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonOtherPhone',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonAssistantPhone',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonTitle',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonDepartment',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonAssistantName',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonLeadSource',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonBirthDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonHasOptedOutOfEmail',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonHasOptedOutOfFax',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonDoNotCall',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonLastCURequestDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonLastCUUpdateDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonEmailBouncedReason',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonEmailBouncedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PersonIndividualId',\n\t\t\tvalue: '0PK1X000008VQpKWAW',\n\t\t},\n\t\t{\n\t\t\tname: 'Jigsaw',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'JigsawCompanyId',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'AccountSource',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'SicDesc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_A4WcDateSent__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerLeadRoutingPreference__c',\n\t\t\tvalue: 'External System',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagAUDI__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSEAT__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSKODA__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVWCV__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVW__c',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'Dealership__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ExtKey__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'KVPSCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'PreferredCommunicationChannel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AccountBrand__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AccountEmail__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandLogo__c',\n\t\t\tvalue: '\"Volkswagen\"',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandSearch__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BusinessHours__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ContractStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerActive__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ExternalAccountID__c',\n\t\t\tvalue: '54147334_Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_FleetSize__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GroupID__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_IntegrationSource__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_InternationalBusinessAgreement__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfLightCommercialVehicles__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfPassengerCars__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_OpeningHours__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Services__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_TaxNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ValidationIdentifier__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BeneficiaryCountry__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BeneficiaryName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BeneficiaryType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_CollectionDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Country__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerMarketNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DealerNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Email__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_EtronWcDateSent__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_IsA4WcSent__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_IsEtronWcSent__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MasterDataSource__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PreferredDealerKVPSID__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SEMAGMigrationID__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SubscriberKey__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsAudi__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsLCV__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsSkoda__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsVolkswagen__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_BusinessAccountSource__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ClientStage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Email2__c',\n\t\t\tvalue: 'mario.vwgroup@gmail.com',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Email3__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Fax1__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsFleet__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LegacySFId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MasterAccount__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MobilePhone2__c',\n\t\t\tvalue: '690807844',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MobilePhone3__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumberDeliveredOrdersAudi__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumberDeliveredOrdersLCV__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumberDeliveredOrdersSkoda__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumberDeliveredOrdersVW__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OpenOpportunities__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_VolumeOpenOpportunities__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ExpectedDeliveryDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CustomerType__c',\n\t\t\tvalue: 'F',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_2Surname__c',\n\t\t\tvalue: 'LOPEZ',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_FinanceCoResponsibility__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Remarks__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InactiveRecord__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_BusinessName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TypeOfDocument__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DealerCodeVaesa__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IDClimapro__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MDMSyncStatus__c',\n\t\t\tvalue: 'Synced',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TechnicalMdmStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumOfRetriesMDM__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_UpdateProcessAllowed__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BEVAgency__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DesynchronizedAccount__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SecondaryField__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Concession__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DealerCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CommercialName__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Test__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OutOfService__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_FleetAgency__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_HelperPersonAccountfields__c',\n\t\t\tvalue: 'MARIO LOPEZ MORENO, Homephone: , Mobile: 675758541',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Retail__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__HasOptedOutOfMobile__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'et4ae5__Mobile_Country_Code__pc',\n\t\t\tvalue: 'US',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_IDKID__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GDPRStatusTimeStamp__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GDPRStatus__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MasterDataSource__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Customer_Number__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ExtKey__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_AcademicTitle__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Birthdate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagAUDI__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSEAT__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagSKODA__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVWCV__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagVW__pc',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ContactBrand__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_CorrespondenceGreeting__pc',\n\t\t\tvalue: 'MARIO LOPEZ MORENO',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ExternalID__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_GDPRRequestInProgress__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Mobile__pc',\n\t\t\tvalue: '675758541',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Phone__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PreferredChannelOfContact__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PreferredLanguage__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketingAudi__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketingSeat__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketingSkoda__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketingVWCV__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketingVW__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_StopMarketing__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ValidationIdentifier__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LastMarketingPressureMeasuredDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureCall__pc',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureEmail__pc',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureLetter__pc',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureSMS__pc',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingPressureTotal__pc',\n\t\t\tvalue: 'Green',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfCalls__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfEmails__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfLetters__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfSMS__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_NumberOfTotalCommunications__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BirthPlace__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ConsentDealer__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ConsentNSC__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_ConsentOEM__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_CustomerKey__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Language__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_LastCommercialEmailname__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MarketingIndependentOfChannel__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_OEMPushNotificationConsent__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PersonType__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RecommendationExpirationDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RecommendationLatestExpirationDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RegistrationDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SurveyNSC__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SurveyOEM__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_EventParticipation__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandFlagCUPRA__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsFleet__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_PrimaryContact__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Role__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Interest__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LegacySFId__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_2Surname__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadName__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadNumber__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RoadType__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DeletedMarketingCloud__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_FleetAgency__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandAUDI__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandCUPRA__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandSEAT__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandSKODA__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandVWCV__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_MCReadyBrandVW__pc',\n\t\t\tvalue: 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Retail__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BEVAgency__pc',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_DischargeBDNDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TerminationBDNDate__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IdCard__pc',\n\t\t\tvalue: 'null',\n\t\t},\n\t];\n};\n","export const getTestOrder = [\n\t{\n\t\tname: 'ID',\n\t\tvalue: 'ORDER',\n\t},\n\t{\n\t\tname: 'Id',\n\t\tvalue: '8011X000003hG8pQAE',\n\t},\n\t{\n\t\tname: 'VGED_CEMDeliveryDate__c',\n\t\tvalue: '2021-12-24',\n\t},\n\t{\n\t\tname: 'RCY_ActualDeliveryDate__c',\n\t\tvalue: '2021-12-24',\n\t},\n\n\t///////////// sin uso\n\n\t{\n\t\tname: 'attributes',\n\t\tvalue:\n\t\t\t'es.vged.ndpsbackend.salesforce.rest.entities.SfAttributesRest@24d13ed5[type=Order,url=/services/data/v53.0/sobjects/Order/8011X000003hG8pQAE]',\n\t},\n\t{\n\t\tname: 'OwnerId',\n\t\tvalue: '0051X00000FOpojQAD',\n\t},\n\t{\n\t\tname: 'ContractId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'AccountId',\n\t\tvalue: '0011i00001dahGZAAY',\n\t},\n\t{\n\t\tname: 'Pricebook2Id',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'OriginalOrderId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'OpportunityId',\n\t\tvalue: '0061X00000JQGJbQAP',\n\t},\n\t{\n\t\tname: 'QuoteId',\n\t\tvalue: '0Q01X000001jdBvSAI',\n\t},\n\t{\n\t\tname: 'RecordTypeId',\n\t\tvalue: '0121i0000009T64AAE',\n\t},\n\t{\n\t\tname: 'EffectiveDate',\n\t\tvalue: '2024-04-05',\n\t},\n\t{\n\t\tname: 'EndDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'IsReductionOrder',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'Status',\n\t\tvalue: 'Open',\n\t},\n\t{\n\t\tname: 'Description',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CustomerAuthorizedById',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CustomerAuthorizedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CompanyAuthorizedById',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'CompanyAuthorizedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Type',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillingAddress',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShippingAddress',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Name',\n\t\tvalue: 'SARSA 14 04/04/2024',\n\t},\n\t{\n\t\tname: 'PoDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'PoNumber',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'OrderReferenceNumber',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'BillToContactId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ShipToContactId',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ActivatedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ActivatedById',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'StatusCode',\n\t\tvalue: 'Draft',\n\t},\n\t{\n\t\tname: 'CurrencyIsoCode',\n\t\tvalue: 'EUR',\n\t},\n\t{\n\t\tname: 'OrderNumber',\n\t\tvalue: '00962800',\n\t},\n\t{\n\t\tname: 'TotalAmount',\n\t\tvalue: '0.0',\n\t},\n\t{\n\t\tname: 'CreatedDate',\n\t\tvalue: '2024-04-05T07:46:33.000+0000',\n\t},\n\t{\n\t\tname: 'CreatedById',\n\t\tvalue: '0051X00000FOpojQAD',\n\t},\n\t{\n\t\tname: 'LastModifiedDate',\n\t\tvalue: '2024-05-27T15:48:20.000+0000',\n\t},\n\t{\n\t\tname: 'LastModifiedById',\n\t\tvalue: '0051i000004UwL0AAK',\n\t},\n\t{\n\t\tname: 'IsDeleted',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'SystemModstamp',\n\t\tvalue: '2024-05-27T15:48:20.000+0000',\n\t},\n\t{\n\t\tname: 'LastViewedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'LastReferencedDate',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ActivationDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_BillingEmail__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'Asset__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'ExtKey__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_Brand__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_CommissionNumber__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ConfirmationDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ConfirmationStatus__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_Dealer__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_EstimatedDeliveryDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_VIN__c',\n\t\tvalue: 'WVGZZZE24RP501114',\n\t},\n\t{\n\t\tname: 'RCY_BillingFirstName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_BillingLastName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_BillingSalutation__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ContactCommunicationActionName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_DateClicked__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_DateSent__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_DealerCountry__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_DocumentName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_DocumentType__c',\n\t\tvalue: '0',\n\t},\n\t{\n\t\tname: 'RCY_DurationReport__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ExpirationDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ExtensionDateLatest__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_KVPSID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_Locale__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_MerchantId__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_NetPrice__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_NotificationContact__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_OrderCreationDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_PONumber1__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_Prolongation__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'RCY_SEMAGMigrationID__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ShippingEmail__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ShippingFirstName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ShippingLastName__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_ShippingSalutation__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_TeaserPurchase__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_AudiConnect__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_AudiSport__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_CO2WLTP__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_ProductionDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_ClimaproOrderID__c',\n\t\tvalue: '34011000',\n\t},\n\t{\n\t\tname: 'VGED_CodCarline__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_FAMDealershipSharing__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_CodWLTP2__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_CommunicationModel__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_ContactableUniverse__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_CodCustomerRenting__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_IsStock__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_DelayType__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_DeliveryYear__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Electric__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_Factory__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_FleetSequence__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_HybridElectric__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_InstalledPrPackages__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_LegacySFId__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_ModelGroup__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Model__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderSLI__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState10__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState20__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState30__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState40__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState50__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState60__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState70__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_OrderState80__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Period__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_RetailDealershipSharing__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_RequestDelayDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SalesConcession__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SalesTypeSLI__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SellerCode__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SliState__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_ConnectType__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SurveyableOrder__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_Test__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_TypeOrderVNVO__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Vehicle__c',\n\t\tvalue: 'a0U1X0000049qKgUAI',\n\t},\n\t{\n\t\tname: 'VGED_WLTPconsumption__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_WarrantyExtension__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_YearsWarrantyExtension__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_CustomerType__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_CodDriver__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Commerce__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_CustomersOrderDate__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Life__c',\n\t\tvalue: 'false',\n\t},\n\t{\n\t\tname: 'VGED_SurveyableDateCEM__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_SurveyablePerson__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'VGED_Transformed__c',\n\t\tvalue: 'null',\n\t},\n\t{\n\t\tname: 'RCY_SalesModel__c',\n\t\tvalue: 'null',\n\t},\n];\n","export const getTestVehicle = (isElectrico?: boolean) => {\n\treturn [\n\t\t{\n\t\t\tname: 'ID',\n\t\t\tvalue: 'VEHICLE',\n\t\t},\n\t\t{\n\t\t\tname: 'Id',\n\t\t\tvalue: 'a0U1X0000049qKgUAI',\n\t\t},\n\t\t{\n\t\t\tname: 'Name', // Frame\n\t\t\tvalue: 'WVWZZZE13PP508774',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_ModelGroup__c',\n\t\t\tvalue: isElectrico ? 'ID.3' : 'GOLF',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RegistrationPlate__c',\n\t\t\tvalue: '1111-BBB',\n\t\t},\n\n\t\t///////////// sin uso\n\n\t\t{\n\t\t\tname: 'attributes',\n\t\t\tvalue:\n\t\t\t\t'es.vged.ndpsbackend.salesforce.rest.entities.SfAttributesRest@7d536fed[type=Vehicle__c,url=/services/data/v53.0/sobjects/Vehicle__c/a0U1X0000049qKgUAI]',\n\t\t},\n\t\t{\n\t\t\tname: 'OwnerId',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'IsDeleted',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'DESC_Model__c',\n\t\t\tvalue: isElectrico ? 'ID.3' : 'GOLF',\n\t\t},\n\t\t{\n\t\t\tname: 'Registration__c',\n\t\t\tvalue: 'Example Registration',\n\t\t},\n\t\t{\n\t\t\tname: 'CurrencyIsoCode',\n\t\t\tvalue: 'EUR',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedDate',\n\t\t\tvalue: '2023-09-07T10:24:54.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'CreatedById',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedDate',\n\t\t\tvalue: '2024-05-29T09:27:53.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastModifiedById',\n\t\t\tvalue: '0051i000002usITAAY',\n\t\t},\n\t\t{\n\t\t\tname: 'SystemModstamp',\n\t\t\tvalue: '2024-05-29T09:27:53.000+0000',\n\t\t},\n\t\t{\n\t\t\tname: 'LastActivityDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastViewedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'LastReferencedDate',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Account__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'DeliveryDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'EngineType__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ExtKey__c',\n\t\t\tvalue: '44529043',\n\t\t},\n\t\t{\n\t\t\tname: 'ExteriorColorText__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ExteriorColor__c',\n\t\t\tvalue: 'C2A1',\n\t\t},\n\t\t{\n\t\t\tname: 'Lead__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ModelKey__c',\n\t\t\tvalue: 'E113MJ',\n\t\t},\n\t\t{\n\t\t\tname: 'ModelYear__c',\n\t\t\tvalue: '2023',\n\t\t},\n\t\t{\n\t\t\tname: 'Model__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'Opportunity__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'ProductionDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandList__c',\n\t\t\tvalue: 'Volkswagen',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandLogo__c',\n\t\t\tvalue: '\"Volkswagen\"',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandSearch__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_BrandVehicleModel__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_Brand__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_DisplacementInLiters__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PowerInHorsePower__c',\n\t\t\tvalue: '150.0',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_PowerInKw__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_TransmissionCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_VehicleDetails__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_SEMAGMigrationID__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_HelperGVFTransmissionCode__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_InteriorColorText__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_InteriorColor__c',\n\t\t\tvalue: 'XX',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RoofColorText__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'RCY_RoofColor__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AssistanceYears__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AudiConnect__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AudiSport__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CarModelSalesgroup__c',\n\t\t\tvalue: 'NO INFORMADO',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CommercialDesignation__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Electric__c',\n\t\t\tvalue: isElectrico ? 'false' : 'true',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_GearType__c',\n\t\t\tvalue: 'NO INFORMADO',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_HybridElectric__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_HybridGLP__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IDClimapro__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InactiveRecord__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_InstalledPRPackages__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsModelS__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_KMEstimated__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LongFullDriveProduct__c',\n\t\t\tvalue: '1',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LongFullDriveStanding__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MaintenanceIncluded__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MaintenanceType__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NextMaintenanceDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OfferLongFullDrive__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OptionalSLIImporter__c',\n\t\t\tvalue: 'EV3 PJH',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OptionalsSLI__c',\n\t\t\tvalue: 'AY2 EV3 PJH S3C W2E 4AF 8AV',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RegistrationDate__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RepairDateEA189__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Segment__c',\n\t\t\tvalue: isElectrico ? '30350' : '30316',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TEST__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TractionType__c',\n\t\t\tvalue: 'TRACCIÓN TRASERA',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TrimLevelModel__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_VehicleWeightSLI__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LegacySFId__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Model__c',\n\t\t\tvalue: '0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_AffectedEA189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CancelDateLongDriveContractTerminat__c',\n\t\t\tvalue: '2034-03-11',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CarNet__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CarlineCode__c',\n\t\t\tvalue: isElectrico ? '30350' : '30316',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Commerce__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CommissionCode__c',\n\t\t\tvalue: '0028034',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_CommissionYear__c',\n\t\t\tvalue: '2023',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_EffectiveDateIncludingMaintenance__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_FactoryPickup__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_GuaranteedKmsCoverage__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LastDateOfRepair__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Life__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LongDriveContractDischargeDate__c',\n\t\t\tvalue: '2024-03-11',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_LongDriveEffectiveDate__c',\n\t\t\tvalue: '2034-03-11',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Mileage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NextITV__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumLdFreeMonths__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_OrderNumber__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_RepairedEA189__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_SalesGroupCode__c',\n\t\t\tvalue: isElectrico ? '33236' : '39237',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_SliModelGroup__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_Transformed__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_UpdateDateKmEstimation__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_VwConnect__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_WarrantyExtension__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_YearsWarrantyCoverage__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_YearsWarrantyExtension__c',\n\t\t\tvalue: '0.0',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_MDMSyncStatus__c',\n\t\t\tvalue: 'Synced',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_NumOfRetriesMDM__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_TechnicalMdmStatus__c',\n\t\t\tvalue: 'null',\n\t\t},\n\t\t{\n\t\t\tname: 'VGED_IsGVF__c',\n\t\t\tvalue: 'false',\n\t\t},\n\t];\n};\n","export const getTestDealer = [\n\t{\n\t\tname: 'ID',\n\t\tvalue: 'DEALER',\n\t},\n\t{\n\t\tname: 'Id',\n\t\tvalue: '0011i00001dahNuAAI',\n\t},\n\t{\n\t\tname: 'VGED_CommercialName__c',\n\t\tvalue: 'CARHAUS',\n\t},\n\t{\n\t\tname: 'VGED_DealerCode__c',\n\t\tvalue: '0322H',\n\t},\n\t{\n\t\tname: 'KVPSCode__c',\n\t\tvalue: 'ESP08034V',\n\t},\n\t{\n\t\tname: 'VGED_ConcessionDealerCode__c',\n\t\tvalue: '0322H',\n\t},\n\t{\n\t\tname: 'ShippingStreet',\n\t\tvalue: 'CTRA. DE SANT BOI 11-13',\n\t},\n\t{\n\t\tname: 'ShippingPostalCode',\n\t\tvalue: '08940',\n\t},\n\t{\n\t\tname: 'ShippingCity',\n\t\tvalue: 'CORNELLA DE LLOBREGAT',\n\t},\n\t{\n\t\tname: 'ShippingLatitude',\n\t\tvalue: '41.355749',\n\t},\n\t{\n\t\tname: 'ShippingLongitude',\n\t\tvalue: '2.065784',\n\t},\n\t{\n\t\tname: 'ShippingStateCode',\n\t\tvalue: '8',\n\t},\n\n\t///////////// sin uso\n\n\t{\n\t\tname: 'RCY_DealerType__c',\n\t\tvalue: '1',\n\t},\n\t{\n\t\tname: 'BillingStreet',\n\t\tvalue: 'CTRA. DE SANT BOI 11-13',\n\t},\n\t{\n\t\tname: 'BillingPostalCode',\n\t\tvalue: '08940',\n\t},\n\t{\n\t\tname: 'BillingCity',\n\t\tvalue: 'CORNELLA DE LLOBREGAT',\n\t},\n\t{\n\t\tname: 'BillingStateCode',\n\t\tvalue: '8',\n\t},\n\t{\n\t\tname: 'BillingLatitude',\n\t\tvalue: '41.355749',\n\t},\n\t{\n\t\tname: 'BillingLongitude',\n\t\tvalue: '2.065784',\n\t},\n];\n","import { IAuthServiceV2 } from '@volkswagen-onehub/authservice';\nimport { getOneHubConfig } from 'src/feature-app';\nimport { IEsOnehubVWConfig, IdentityKitCompleteMatch, HasPersonResponse } from './';\n\nexport const existPerson = async (\n\tauthServiceInstance: IAuthServiceV2,\n\tidentitykitId: string,\n): Promise => {\n\tconst onehubConfig = getOneHubConfig();\n\tconst endpoint = 'one-hub-vw-1.0/match-person/has-person';\n\n\tif (onehubConfig) {\n\t\tconst response = await authServiceInstance.get(\n\t\t\tonehubConfig.customConfig?.resourceHostId,\n\t\t\tendpoint + '?identitykitId=' + identitykitId,\n\t\t\t{\n\t\t\t\t'Content-Type': 'application/json',\n\t\t\t},\n\t\t);\n\n\t\tif (!response.ok) {\n\t\t\tthrow new Error(`GET request failed with code ${response.status}`);\n\t\t}\n\n\t\treturn response.json() as Promise;\n\t}\n\n\treturn null;\n};\n\nexport const matchPerson = async (\n\tauthServiceInstance: IAuthServiceV2,\n\tidentityKitCompleteMatch: IdentityKitCompleteMatch,\n): Promise => {\n\tconst onehubConfig = getOneHubConfig();\n\tconst endpoint = 'one-hub-vw-1.0/match-person';\n\n\tconst response = await authServiceInstance.put(\n\t\tonehubConfig.customConfig?.resourceHostId,\n\t\tendpoint,\n\t\tJSON.stringify(identityKitCompleteMatch),\n\t);\n\n\tif (!response.ok) {\n\t\tthrow new Error(`GET request failed with code ${response.status}`);\n\t}\n\n\treturn response.json() as Promise;\n};\n","import {\n\tFeatureServiceBinder,\n\tFeatureServiceEnvironment,\n\tFeatureServices,\n\tSharedFeatureService,\n} from '@feature-hub/core';\nimport { Store } from 'redux';\nimport { getPincode } from 'src/bff';\nimport { FormDataFields } from 'src/types';\nimport {\n\tDpsData,\n\tEsOneformCoreServiceV1,\n\tFieldType,\n\tOneFormDataV1 as OneformData,\n\tOneFormDataV1,\n\tPersonV1,\n} from './types';\nimport { BehaviorSubject } from 'rxjs';\nimport { ServiceConfigProviderV1 } from '@volkswagen-onehub/service-config-provider';\nimport parsePhoneNumber from 'libphonenumber-js';\nimport { isValidPhoneNumber } from 'libphonenumber-js';\nimport { checkIfIsTestPincode, getTestPincode } from './pincode-data';\nimport { AuthServiceProviderV2, IAuthServiceV2 } from '@volkswagen-onehub/authservice';\nimport { ProfileServiceV2Impl, UserService } from '@vwdfive/myvw-services';\nimport { existPerson } from 'src/feature-service/identity-kit-service';\n\nexport interface SharedEsOneformCoreService extends SharedFeatureService {\n\treadonly '1.0.0': FeatureServiceBinder;\n}\n\nexport interface RequiredFeatureServices extends FeatureServices {\n\treadonly 'service-config-provider': ServiceConfigProviderV1;\n}\n\nexport const oneformCoreServiceDefinition = {\n\tid: 'es:oneform-core',\n\n\tdependencies: {\n\t\tfeatureServices: {\n\t\t\t'service-config-provider': '^1.0.0',\n\t\t\t'fa-content-service': '^1.0.0',\n\t\t},\n\t},\n\n\toptionalDependencies: {\n\t\tfeatureServices: { ['vw:authService']: '2.0.0' },\n\t},\n\n\tcreate(env: FeatureServiceEnvironment) {\n\t\tlet oneFormData = {} as OneFormDataV1;\n\t\tlet dpsData = {} as DpsData;\n\t\tconst oneFormCoreDpsIsLoaded: BehaviorSubject = new BehaviorSubject(false);\n\n\t\tlet { 'service-config-provider': serviceConfig, ['vw:authService']: provider } = env.featureServices;\n\n\t\tconst getLoadedState = () => oneFormCoreDpsIsLoaded;\n\t\tconst get = () => oneFormData;\n\t\tconst getDpsData = (): DpsData => dpsData;\n\n\t\tconst v1 = () => ({\n\t\t\tfeatureService: {\n\t\t\t\tgetLoadedState,\n\n\t\t\t\tget,\n\t\t\t\tgetDpsData,\n\n\t\t\t\tset(updatedData: OneFormDataV1) {\n\t\t\t\t\toneFormData = { ...updatedData };\n\t\t\t\t},\n\n\t\t\t\tsetDpsData(updatedData: DpsData) {\n\t\t\t\t\tdpsData = { ...dpsData, ...updatedData };\n\t\t\t\t},\n\n\t\t\t\tasync initializeService(useAuth: boolean, useBff?: boolean) {\n\t\t\t\t\tawait this.checkData(useAuth, useBff);\n\t\t\t\t\toneFormCoreDpsIsLoaded.complete();\n\t\t\t\t},\n\n\t\t\t\tasync checkLogin() {\n\t\t\t\t\t//const authService = getAuthService(serviceConfig, provider as AuthServiceProviderV2);\n\t\t\t\t\tconst authService: IAuthServiceV2 = (provider as AuthServiceProviderV2)?.register('market');\n\t\t\t\t\tconst endpoint = serviceConfig.configs['customer-profile']?.urlOrigin;\n\t\t\t\t\tconst profileService = new ProfileServiceV2Impl(authService, endpoint);\n\t\t\t\t\tconst isAuthenticated = await authService?.isAuthenticated() ?? false;\n\t\t\t\t\tconst userService = new UserService(authService);\n\n\t\t\t\t\tif (!isAuthenticated) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst profile = await profileService.getUserProfile();\n\t\t\t\t\tconst email = await userService.getCurrentUserEmail();\n\t\t\t\t\t// const vumClient = new VumClient(endpoint, authService);\n\t\t\t\t\t// const aa = await vumClient.getUserVehicleRelations();\n\t\t\t\t\t//DATOS PERSONALES\n\t\t\t\t\tif (profile.phoneNumber) {\n\t\t\t\t\t\tconst parsedPhone = parsePhoneNumber(profile.phoneNumber);\n\t\t\t\t\t\tconst isValidPhone = isValidPhoneNumber(profile.phoneNumber);\n\t\t\t\t\t\tif (isValidPhone) {\n\t\t\t\t\t\t\tthis.setField('prefix', `+${parsedPhone.countryCallingCode}`);\n\t\t\t\t\t\t\tthis.setField('cellphone', parsedPhone.nationalNumber);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tthis.setField('name', profile.firstName);\n\t\t\t\t\tthis.setField('surname', profile.lastName);\n\t\t\t\t\tthis.setField('email', email);\n\n\t\t\t\t\tconst identitykitId = await userService.getCurrentUserId();\n\t\t\t\t\tthis.setField('identitykitId', identitykitId);\n\t\t\t\t\tconst personResponse = await existPerson(authService, identitykitId);\n\t\t\t\t\tthis.setField('climaproUserStatus', personResponse?.data?.userStatus);\n\t\t\t\t\tthis.setField('climaproId', personResponse?.data?.climaproId);\n\n\t\t\t\t\t// this.setField('cellphone', '600000000');\n\t\t\t\t\t//this.setField('userIsAuthenticated', isAuthenticated ? 'true' : 'false');\n\n\t\t\t\t\t// VEHÍCULOS\n\t\t\t\t\t// this.setField('userVehicles', [\n\t\t\t\t\t// { matricula: 'A0000BC', kilometros: '30000', modelo: 'Arteon', anoMatriculacion: '' , isMainVehicle: false },\n\t\t\t\t\t// { matricula: 'B0000BC', kilometros: '60000', modelo: 'T-Roc', anoMatriculacion: '' , isMainVehicle: true },\n\t\t\t\t\t// ]);\n\t\t\t\t\t// this.setField('matricula', 'A0000BC');\n\n\t\t\t\t\t// DEALER\n\t\t\t\t\t// this.setField('favouriteDealer', '00031');\n\n\t\t\t\t\t// LEGALES\n\t\t\t\t\t// this.setField('lssi', 'PERMITIDO');\n\t\t\t\t\t// this.setField('tmk', 'PERMITIDO');\n\t\t\t\t},\n\n\t\t\t\tasync checkPincode(useBff?: boolean, isRetry?: boolean) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst pincode = this.getUrlParams('pincode');\n\n\t\t\t\t\t\tif (pincode && checkIfIsTestPincode(pincode)) {\n\t\t\t\t\t\t\t// console.log(getTestPincode(pincode),'pincode');\n\t\t\t\t\t\t\tthis.setDpsData({\n\t\t\t\t\t\t\t\tpincode: {\n\t\t\t\t\t\t\t\t\tpincodeResponse: getTestPincode(pincode),\n\t\t\t\t\t\t\t\t\tpincodeError: false,\n\t\t\t\t\t\t\t\t\tpincodeUsed: false,\n\t\t\t\t\t\t\t\t\tnoPincodeFound: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (pincode) {\n\t\t\t\t\t\t\tconst pincodeData = await getPincode(pincode, useBff);\n\n\t\t\t\t\t\t\tthis.setDpsData({\n\t\t\t\t\t\t\t\tpincode: {\n\t\t\t\t\t\t\t\t\tpincodeResponse: pincodeData.pincodeData,\n\t\t\t\t\t\t\t\t\tpincodeError: pincodeData.pincodeError,\n\t\t\t\t\t\t\t\t\tpincodeUsed: pincodeData.pincodeUsed,\n\t\t\t\t\t\t\t\t\tnoPincodeFound: false,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t// person.map((att) => {\n\t\t\t\t\t\t\t// // this.setField(att.name, att.value);\n\t\t\t\t\t\t\t// });\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.setDpsData({\n\t\t\t\t\t\t\t\tpincode: {\n\t\t\t\t\t\t\t\t\tpincodeResponse: null,\n\t\t\t\t\t\t\t\t\tpincodeError: null,\n\t\t\t\t\t\t\t\t\tpincodeUsed: null,\n\t\t\t\t\t\t\t\t\tnoPincodeFound: true,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\toneFormCoreDpsIsLoaded.error(error);\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\tcheckUrl() {\n\t\t\t\t\tconst dealerKvps = this.getUrlParams('dealer');\n\t\t\t\t\tconst motivo = this.getUrlParams('motivo');\n\t\t\t\t\tconst contactado = this.getUrlParams('contactado');\n\t\t\t\t\tconst rating = this.getUrlParams('rating');\n\t\t\t\t\tconst push = this.getUrlParams('push');\n\t\t\t\t\tconst estado = this.getUrlParams('estado');\n\t\t\t\t\tconst waid = this.getUrlParams('wa') || this.getUrlParams('waid');\n\t\t\t\t\tconst cem = this.getUrlParams('cem');\n\t\t\t\t\tconst mgm = this.getUrlParams('mgm');\n\t\t\t\t\tconst adviser = this.getUrlParams('adviser');\n\t\t\t\t\tconst agency = this.getUrlParams('agency');\n\t\t\t\t\tconst or = this.getUrlParams('or');\n\t\t\t\t\tconst dat = this.getUrlParams('dat');\n\t\t\t\t\tconst env = this.getUrlParams('env');\n\t\t\t\t\tconst fe = this.getUrlParams('fe');\n\t\t\t\t\tconst dealer = this.getUrlParams('dealer');\n\t\t\t\t\tconst kvps = this.getUrlParams('kvps');\n\t\t\t\t\tconst campaign = this.getUrlParams('campaign');\n\t\t\t\t\tconst model = this.getUrlParams('model');\n\t\t\t\t\tconst interes = this.getUrlParams('interes');\n\n\t\t\t\t\tif (motivo) {\n\t\t\t\t\t\tthis.setField('motivo', motivo);\n\t\t\t\t\t}\n\t\t\t\t\tif (dealerKvps) {\n\t\t\t\t\t\tthis.setField('dealerKvps', dealerKvps);\n\t\t\t\t\t}\n\t\t\t\t\tif (contactado) {\n\t\t\t\t\t\tthis.setDpsData({ contactado });\n\t\t\t\t\t}\n\t\t\t\t\tif (rating) {\n\t\t\t\t\t\tthis.setDpsData({ rating });\n\t\t\t\t\t}\n\t\t\t\t\tif (push) {\n\t\t\t\t\t\tthis.setDpsData({ push });\n\t\t\t\t\t}\n\t\t\t\t\tif (estado) {\n\t\t\t\t\t\tthis.setDpsData({ estado });\n\t\t\t\t\t}\n\t\t\t\t\tif (waid) {\n\t\t\t\t\t\tthis.setDpsData({ waid });\n\t\t\t\t\t}\n\t\t\t\t\tif (cem) {\n\t\t\t\t\t\tthis.setDpsData({ cem });\n\t\t\t\t\t}\n\t\t\t\t\tif (mgm) {\n\t\t\t\t\t\tthis.setDpsData({ mgm });\n\t\t\t\t\t}\n\t\t\t\t\tif (adviser) {\n\t\t\t\t\t\tthis.setDpsData({ adviser });\n\t\t\t\t\t}\n\t\t\t\t\tif (agency) {\n\t\t\t\t\t\tthis.setDpsData({ agency });\n\t\t\t\t\t}\n\t\t\t\t\tif (or) {\n\t\t\t\t\t\tthis.setDpsData({ or });\n\t\t\t\t\t}\n\t\t\t\t\tif (dat) {\n\t\t\t\t\t\tthis.setDpsData({ dat });\n\t\t\t\t\t}\n\t\t\t\t\tif (env) {\n\t\t\t\t\t\tthis.setDpsData({ env });\n\t\t\t\t\t}\n\t\t\t\t\tif (fe) {\n\t\t\t\t\t\tthis.setDpsData({ fe });\n\t\t\t\t\t}\n\t\t\t\t\tif (dealer) {\n\t\t\t\t\t\tthis.setDpsData({ dealer });\n\t\t\t\t\t}\n\t\t\t\t\tif (kvps) {\n\t\t\t\t\t\tthis.setDpsData({ kvps });\n\t\t\t\t\t}\n\t\t\t\t\tif (campaign) {\n\t\t\t\t\t\tthis.setDpsData({ campaign });\n\t\t\t\t\t}\n\t\t\t\t\tif (model) {\n\t\t\t\t\t\tthis.setDpsData({ model });\n\t\t\t\t\t}\n\t\t\t\t\tif (interes) {\n\t\t\t\t\t\tthis.setDpsData({ interes });\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\t\tasync checkData(useAuth: boolean, useBff?: boolean) {\n\t\t\t\t\tawait this.checkPincode(useBff);\n\t\t\t\t\tif (useAuth && getDpsData().pincode.noPincodeFound) {\n\t\t\t\t\t\tawait this.checkLogin();\n\t\t\t\t\t}\n\t\t\t\t\tthis.checkUrl();\n\t\t\t\t},\n\n\t\t\t\tgetUrlParams(param: string) {\n\t\t\t\t\tif (typeof window === 'undefined') {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\tif (window && window.location) {\n\t\t\t\t\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\t\t\t\t\treturn urlParams.get(param);\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t\t},\n\n\t\t\t\tasync retryPincodeLoad(useBff?: boolean) {\n\t\t\t\t\tawait this.checkPincode(useBff);\n\t\t\t\t},\n\n\t\t\t\tsetField(field: FieldType | string, value: any): void {\n\t\t\t\t\tconst { person } = this.get();\n\t\t\t\t\tconst updatedPerson: PersonV1 = { ...person };\n\t\t\t\t\tupdatedPerson[field] = value;\n\t\t\t\t\tconst updatedOneFormData: OneformData = { ...oneFormData, person: { ...updatedPerson } };\n\t\t\t\t\tthis.set(updatedOneFormData);\n\t\t\t\t},\n\n\t\t\t\tsubscribeToFields(store: Store): void {\n\t\t\t\t\tconst { fields }: { fields: FormDataFields } = store.getState().formData;\n\t\t\t\t\tObject.keys(fields).forEach((field) => {\n\t\t\t\t\t\tthis.setField(field, fields[field]);\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\n\t\treturn { '1.0.0': v1 };\n\t},\n};\n","import withMetadataArgument from './withMetadataArgument.js'\r\nimport { default as _parsePhoneNumber } from '../../core/index.js'\r\n\r\nexport function parsePhoneNumber() {\r\n\treturn withMetadataArgument(_parsePhoneNumber, arguments)\r\n}","import { ApiKeyProviderV1 } from '@volkswagen-onehub/api-key-provider';\nimport { AsyncSsrManagerV1 } from '@feature-hub/async-ssr-manager';\nimport { AuthServiceProviderV2 } from '@volkswagen-onehub/authservice';\nimport { CarConfigurationServiceV2 } from '@volkswagen-onehub/car-configuration-feature-service';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { FaContentServiceV1 } from '@volkswagen-onehub/fa-content-service';\nimport { FeatureAppDefinition, FeatureServices } from '@feature-hub/core';\nimport { FeatureAppEnvironmentContext } from 'src/feature-app/hooks/use-feature-app-environment';\nimport { FinancialDataServiceV1 } from '@volkswagen-onehub/financial-data-feature-service';\nimport { HistoryServiceV2 } from '@feature-hub/history-service';\nimport { ImageServiceV1 } from '@volkswagen-onehub/image-service';\nimport { initialState } from 'src/feature-app/redux/index';\nimport { initSentry } from './sentry/';\nimport { LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport { LocaleServiceV1 } from '@volkswagen-onehub/locale-service';\nimport { Logger } from '@feature-hub/logger';\nimport { NavigationServiceV1 } from '@volkswagen-onehub/navigation-service';\nimport { oneformCoreServiceDefinition } from 'src/feature-service/es-oneform-core-feature-service/index';\nimport { ReactFeatureApp } from '@feature-hub/react';\nimport { saveEnvironment } from './save-feature-app';\nimport { saveFeatureServices } from 'src/feature-app';\nimport { SerializedStateManagerV1 } from '@feature-hub/serialized-state-manager';\nimport { ServiceConfigProviderV1 } from '@volkswagen-onehub/service-config-provider';\nimport { ThemeProvider } from '@volkswagen-onehub/components-core';\nimport { TrackingManagerV1 } from '@volkswagen-onehub/tracking-service';\nimport { UserInteractionServiceV1 } from '@volkswagen-onehub/user-interaction-service';\nimport * as React from 'react';\nimport App from './App';\nimport ErrorBoundary from './sentry/ErrorBoundary';\n\nexport type Trigger =\n | 'adhoc-2025-the_originals'\n | 'adhoc-2024-navidad_gti'\n | 'adhoc-2021-diamadre'\n | 'adhoc-2021-eurocopa'\n | 'adhoc-2021-fidelizacion_clientes'\n | 'adhoc-2021-navidad'\n | 'adhoc-2023-test_id'\n | 'adhoc-2023-concurso_rodaje'\n | 'adhoc-2023-plan_ideal'\n | 'adhoc-lanzamiento-taigo'\n | 'adhoc-suvperheroes'\n | 'autosubmit'\n | 'baja-comunicaciones'\n | 'callme-embedded'\n | 'cita-posventa-dealer'\n | 'cita-posventa-embedded'\n | 'cita-posventa-tile-grid'\n | 'cita-posventa-tile'\n | 'cita-posventa'\n | 'empresas'\n | 'encuestas'\n | 'feedback'\n | 'lead-configurador'\n | 'lead-dealer'\n | 'lead-embedded'\n | 'lead-inpage'\n | 'lead'\n | 'mgm'\n | 'newsletter'\n | 'prospect-embedded'\n | 'prospect-posventa-embedded'\n | 'prospect'\n | 'race'\n | 'sac'\n | 'ugc'\n | 'widget'\n ;\nexport interface FeatureAppConfig {\n readonly trigger?: Trigger;\n}\n\ninterface Installation {\n name: string;\n code: string;\n}\n\ninterface CalculatorData {\n carYear: number;\n familyModelCode?: string;\n familyModelDesc?: string;\n installation: Installation;\n kilometres?: string;\n license?: string;\n licensePlate?: string;\n modelDescr?: string;\n modelKey?: string;\n vin?: string;\n}\ninterface CalculatorService {\n setInstallation?: (installation: Installation) => void;\n getCalculatorData?: () => CalculatorData;\n}\n\nexport interface Dependencies extends FeatureServices {\n readonly 's2:async-ssr-manager': AsyncSsrManagerV1 | undefined;\n readonly 's2:serialized-state-manager': SerializedStateManagerV1;\n readonly 'layer-manager': LayerManagerV2;\n readonly 'es:oneform-core': EsOneformCoreServiceV1;\n readonly 'car-configuration': CarConfigurationServiceV2;\n readonly 'locale-service': LocaleServiceV1;\n readonly 'service-config-provider': ServiceConfigProviderV1;\n readonly 'fa-content-service': FaContentServiceV1;\n readonly 's2:history': HistoryServiceV2;\n readonly 'financial-data': FinancialDataServiceV1;\n readonly 'vw:authService': AuthServiceProviderV2;\n readonly 'user-interaction-service'?: UserInteractionServiceV1;\n readonly 'image-service'?: ImageServiceV1;\n readonly 'api-key-provider': ApiKeyProviderV1;\n readonly 'calculator-feature-service'?: CalculatorService;\n readonly 's2:logger': Logger;\n readonly 'navigation-service': NavigationServiceV1;\n\n readonly tracking?: TrackingManagerV1;\n}\n\nconst featureAppDefinition: FeatureAppDefinition = {\n dependencies: {\n featureServices: {\n 's2:serialized-state-manager': '^1.0.0',\n 'layer-manager': '^2.3.0',\n 'es:oneform-core': '^1.0.0',\n 'car-configuration': '^2.0.0',\n 'locale-service': '^1.0.0',\n 'service-config-provider': '^1.0.0',\n 'fa-content-service': '^1.0.0',\n 's2:history': '^2.0.0',\n 'financial-data': '^1.0.0',\n 'user-interaction-service': '^1.0.0',\n 'image-service': '^1.1.1',\n 's2:logger': '^1.0.0',\n 'navigation-service': '^1.0.0',\n 'api-key-provider': '^1.0.1',\n },\n },\n\n optionalDependencies: {\n featureServices: {\n 's2:async-ssr-manager': '^1.0.0',\n tracking: '^1.0.0',\n ['vw:authService']: '2.0.0',\n 'calculator-feature-service': '^1.0.0',\n },\n },\n\n ownFeatureServiceDefinitions: [oneformCoreServiceDefinition],\n\n create: (env) => {\n let oneFormState = JSON.stringify(initialState);\n\n let { 's2:async-ssr-manager': asyncSsrManager, 's2:serialized-state-manager': serializedStateManager } =\n env.featureServices;\n // Necesario para que cualquier función pueda acceder a los featureServices sin usar hooks, especialmente\n // para acceder a los service configs.\n saveFeatureServices(env.featureServices);\n saveEnvironment(env);\n\n const { hub } = initSentry(env.featureServices, env.config);\n // oneFormService.initializeService();\n // We use the presence of the asyncSsrManager to determine whether we are\n // rendered on the server or on the client.\n if (asyncSsrManager) {\n serializedStateManager.register(() => JSON.stringify(initialState));\n\n asyncSsrManager\n .scheduleRerender\n // (async () =>\n // (initialState = await fetchInitialState(config, carConfiguration)))()\n ();\n } else {\n const serializedState = serializedStateManager.getSerializedState();\n if (serializedState) {\n oneFormState = serializedState;\n }\n }\n\n return {\n render: () => (\n \n \n \n \n \n \n \n ),\n };\n },\n};\n\nexport default featureAppDefinition;\n","import { isMobileOnly, isTablet } from 'react-device-detect';\n\nexport const getParamsForm = () => {\n let tc: string;\n if (typeof s !== 'undefined' && typeof s.persCmp !== 'undefined') {\n tc = s.persCmp;\n } else {\n tc = 'undefined';\n }\n\n const date = new Date();\n const device = isMobileOnly ? 'mobile' : isTablet ? 'tablet' : 'desktop';\n const location = window.location.href;\n const referalUrl = document.referrer.substring(0, 30);\n const today = date.toISOString().replace(\"T\",\" \").split(\".\")[0];\n //const today = date.toISOString().slice(0, 10) + ' ' + date.toLocaleString('es-ES').slice(-8);\n const url = window.location.origin + window.location.pathname;\n\n return {\n device,\n location,\n referalUrl,\n tc,\n today,\n url,\n };\n};\n","import { useState, useEffect } from 'react';\nimport { useWindowHeight, useWindowWidth} from '@react-hook/window-size';\n\nexport const useDropdowPosition = (identifier: string) => {\n\n const windowHeight = useWindowHeight();\n const windowWidth = useWindowWidth();\n\n const [ boundingObject, setBoundingObject ] = useState(null);\n const [ bottom, setBottom ] = useState(null);\n const [ top, setTop ] = useState(null);\n const [ left, setLeft ] = useState(null);\n const [ right, setRight ] = useState(null);\n const [ goUp, setGoUp ] = useState(false);\n\n //boundingObject contiene varias keys, bottom hace referencia a la distancia entre el bottom del elemento y el top del window\n\n const getBoundingObject = () => { \n const {top, right, bottom, left, width, height, x, y} = document.querySelector(identifier).getBoundingClientRect();\n //la librería de autosuggest no permite poner id, por eso el querySelector\n setBoundingObject({top, right, bottom, left, width, height, x, y});\n setBottom(bottom);\n setTop(top);\n setLeft(left);\n setRight(right);\n }; \n\n const getAndUpdateState = () => {\n getBoundingObject();\n };\n\n useEffect(()=>{\n const distanciaDeCambio = windowHeight/4 > 150 ? windowHeight/4 : 150;\n const distanceToBottom = windowHeight - bottom;\n if(windowWidth < 960) {\n setGoUp(false);\n } else if( distanceToBottom < distanciaDeCambio) {\n setGoUp(true);\n //console.log(windowHeight, 'true');\n } else {\n setGoUp(false);\n //console.log(windowHeight, 'false');\n\n }\n\n }, [boundingObject]);\n\n return { boundingObject, bottom, top, left, right, goUp, getAndUpdateState};\n};\n","import { Content } from '@volkswagen-onehub/fa-content-service';\nimport { useFeatureServices } from 'src/feature-app';\nimport { CalculatorDefaultResponse, MatchSelectedOptions, Offer } from 'src/types';\n\nexport type EmbeddedFeatureApp = 'es-ofertas' | 'es-stock-teaser' | 'es-match' | 'es-calculadora' | 'es-maintenance-plan' | 'es-portal' | 'es-bono' | 'es-my-benefits' | 'Configure';\n\nexport interface VehiclePortal {\n\tvehicleClimaproId: number;\n\tframe: string;\n\timage: string;\n\tcomercialDenomination: string;\n\tcommercialDenominationSli: string;\n\tfamilyModelCode: string;\n\tfamilyModelDesc: string;\n\ttmaimg: string | null;\n\tlicense: string | null;\n\tdealerDate: number;\n\tlicenseDate: number | undefined;\n\tdeliveryDate: number;\n\n\t//Maintenance\n\tclimaProKM?: number;\n\tlocalKM?: number;\n\tmaintenanceYears?: number;\n\tmaintenanceMonths?: number;\n\tmaintenanceDays?: number;\n\tmaintenanceTotalDays?: number;\n\talertNextMaintenance?: boolean;\n\tmaintenance?: any;\n\trepairOrders?: any;\n\teditKm?: boolean;\n\n\t//Benefits\n\tsalesGroup?: string;\n\tpersonVehicleRelation?: boolean;\n\tflagIsVO?: boolean;\n}\n\ninterface PortalFields {\n\tvehicle: VehiclePortal[];\n\tquotePvp?: string;\n\tquoteOperations?: {\n\t\tid: string; // Identificador único de la operación\n\t\tname: string; // Nombre de la operación\n\t\tpvp: string | undefined; // Precio de la operación\n\t}[];\n\toperation?: {\n\t\tid: string; // Identificador único de la operación\n\t\tname: string; // Nombre de la operación\n\t}[];\n}\n\n//NO SE USA\nexport interface VehicleCalculadora {\n\tfamilyCode: string;\n\tfamilyDesc: string;\n\tmodelDescr: string;\n\tmodelKey: string;\n\tvin: string;\n\tmileage: number;\n\tplate: string;\n\tplateDate: string;\n}\n\n// interface CalculadoraFields {\n// dealer: string; // Código KVPS\n// vehicle: VehicleCalculadora[];\n// quotePvp: string;\n// quoteOperations: {\n// id: string; // Identificador único de la operación\n// name: string; // Nombre de la operación\n// pvp: string; // Precio de la operación\n// }[];\n// deepLink: string; // URL para acceder a calculadora con el presupuesto precargado\n// }\n\ntype WidgetOptions = 'Mapa';\nexport interface OneFormContent extends Content, PortalFields {\n\t'bodycopy-logged'?: string;\n\t'headline-logged'?: string;\n\t'action'?: string;\n\t'argumentatives'?: string;\n\t'bodycopy'?: string;\n\t'bono'?: any;\n\t'carlines'?: number[] | string[];\n\t'cem'?: 'VENTA' | 'POSVENTA';\n\t'cta'?: string;\n\t'dpsFields'?: {\n\t\tfield: 'headers[DESC_FORM_DETAIL]' | 'headers[DETALLE_TIPO_PETICION_SIM]';\n\t\tvalue: string;\n\t}[];\n\t'encuesta'?: 'CEM - VENTA' | 'CEM - VENTA PRODUCTO' | 'CEM - POSVENTA' | 'CEM - ONESHOP' | 'CEM - SEGUNDA ENTREGA - INVITACION' | 'CEM - SEGUNDA ENTREGA - VALORACION' | 'LEM' | 'NO COMPRA' | 'NO RENOVACIÓN';\n\t'featureApp'?: EmbeddedFeatureApp;\n\t'forms'?: LeadForm[];\n\t'headline'?: string;\n\t'intro'?: string;\n\t'isCitaPosventaStageOrDefault'?: 'Default' | 'Stage';\n\t'lead_type'?: 'test-drive' | 'presupuesto' | 'mas-informacion' | 'cita' | 'stock' | 'call-center';\n\t'marketingCodeConfig'?: { SalesgroupId: string; SalesgroupName: string };\n\t'match'?: Offer; // Hay que implementar el type Preconfiguration\n\t'matchOptions'?: MatchSelectedOptions;\n\t'mgm'?: 'Bono Cliente' | 'Bono Regalo' | 'Envío Regalo';\n\t'mgmImgSrc'?: string;\n\t'mode'?: 'Salesgroup' | 'Carline' | 'CarConfiguratorFS' | 'Mixed';\n\t'modo'?: 'Dark' | 'Light';\n\t'motivo'?: string;\n\t'navidadImgSrc'?: string;\n\t'observaciones'?: string;\n\t'oferta'?: Offer;\n\t'financeCalculation'?: CalculatorDefaultResponse['rawResponse'] | undefined;\n\t'race'?: 'true' | 'false';\n\t'salesgroups'?: number[];\n\t'stageCitaImgSrc'?: string;\n\t'thankYouPage'?: string;\n\t'triggerCase'?: 'Generico' | 'OneShop';\n\t'userInteraction'?: 'false' | 'true';\n\t'widget'?: WidgetOptions;\n\t'feedback'?: string;\n\t'idkit'?: string;\n\t'climapro'?: string;\n\t'provinces'?: string[];\n}\n\nexport type LeadForm = 'lead-presupuesto' | 'lead-mas_informacion' | 'lead-test_drive' | 'lead-cita' | 'lead-stock';\n\nexport function useFaContent(): OneFormContent | undefined {\n\treturn useFeatureServices()['fa-content-service'].content as OneFormContent;\n}\n","import { FeatureAppConfig, useFeatureAppEnvironment } from 'src/feature-app';\n\nexport function useFeatureAppConfig(): FeatureAppConfig {\n const { config } = useFeatureAppEnvironment();\n\n return config || {};\n}\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport { useState, useEffect } from 'react';\nimport { useWindowHeight, useWindowWidth } from '@react-hook/window-size';\n\nexport const useGetBoundingClientRect = (identifier: string) => {\n\n const [boundingObject, setBoundingObject] = useState(null);\n const [bottom, setBottom] = useState(null);\n const [top, setTop] = useState(null);\n const [left, setLeft] = useState(null);\n const [right, setRight] = useState(null);\n const [y, setY] = useState(null);\n\n //boundingObject contiene varias keys, bottom hace referencia a la distancia entre el bottom del elemento y el top del window\n\n const getBoundingObject = () => {\n const element = document.querySelector(identifier);\n if (element) {\n const { top, right, bottom, left, width, height, x, y } = element.getBoundingClientRect();\n //la librería de autosuggest no permite poner id, por eso el querySelector\n setBoundingObject({ top, right, bottom, left, width, height, x, y });\n setBottom(bottom);\n setTop(top);\n setLeft(left);\n setRight(right);\n setY(y);\n }\n };\n\n const getAndUpdateState = () => {\n getBoundingObject();\n };\n\n return { boundingObject, bottom, top, left, right, y, getAndUpdateState };\n};\n","import { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getDealerKvps } from 'src/bff/api/get-dealer-kvps';\n\nexport function useGetDealer() {\n const dispatch = useDispatch();\n const [dealerName, setDealerName] = useState(null);\n const [selectedDealer, setSelectedDealer] = useState(null);\n const [loading, setLoading] = useState(true);\n\n useEffect(() => {\n if (!window.location) {\n setLoading(false);\n }\n const urlParams = new URLSearchParams(window.location.search);\n const dealer = urlParams.get('dealer');\n if (!dealer) {\n setLoading(false);\n return;\n }\n getDealerKvps(dealer)\n .then((selectedDealer) => {\n if (selectedDealer) {\n setDealerName(selectedDealer.name);\n setSelectedDealer(selectedDealer);\n dispatch({ type: 'SET_SELECTED_DEALER', payload: selectedDealer });\n dispatch({ type: 'SET_URL_DEALER', payload: selectedDealer });\n dispatch({ type: 'UPDATE_SUGGESTION', payload: selectedDealer });\n const { longitude, latitude } = selectedDealer.markerInfo.svcLocation;\n const point = {\n type: 'Feature',\n properties: { cluster: false, concesionId: selectedDealer.id, dealer: selectedDealer },\n geometry: {\n type: 'Point',\n coordinates: [longitude, latitude],\n },\n };\n const points = [point];\n dispatch({ type: 'SET_DEALERS', payload: [selectedDealer] });\n dispatch({ type: 'SET_POINTS', payload: points });\n dispatch({ type: 'DEALERS_OR_INSTALLATIONS_MODE', payload: 'dealers' });\n } else {\n setDealerName(null);\n setSelectedDealer(null);\n }\n\n setLoading(false);\n })\n .catch(() => {\n setLoading(false);\n });\n }, []);\n return { dealerName, selectedDealer, loading };\n}\n","import { isNull } from 'src/feature-app';\nimport { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getDealerKvps } from 'src/bff/api/get-dealer-kvps';\nimport { DealersData } from 'src/types';\nimport { getDealers } from 'src/bff';\n\nexport function useGetDealers(kvps?: string) {\n const dispatch = useDispatch();\n const [dealerName, setDealerName] = useState(null);\n const [selectedDealer, setSelectedDealer] = useState(null);\n const [loading, setLoading] = useState(true);\n const [dealers, setDealers] = useState(null);\n\n useEffect(() => {\n const handleDealer = async (kvps: string) => {\n const selectedDealer = await getDealerKvps(kvps);\n\n if (selectedDealer) {\n setDealerName(selectedDealer.name);\n setSelectedDealer(selectedDealer);\n dispatch({ type: 'SET_SELECTED_DEALER', payload: selectedDealer });\n dispatch({ type: 'SET_URL_DEALER', payload: selectedDealer });\n dispatch({ type: 'UPDATE_SUGGESTION', payload: selectedDealer });\n } else {\n setDealerName(null);\n setSelectedDealer(null);\n }\n };\n\n if (window && window.location) {\n const urlParams = new URLSearchParams(window.location.search);\n const dealer = urlParams.get('dealer');\n\n if (dealer) {\n handleDealer(dealer);\n }\n }\n if (kvps) {\n handleDealer(kvps);\n }\n\n const requestDealers = async () => {\n const dealers = await getDealers();\n\n const points = dealers\n .map((dealer: DealersData) => {\n if (isNull(dealer.markerInfo.svcLocation)) return {};\n const { longitude, latitude } = dealer.markerInfo.svcLocation;\n return {\n type: 'Feature',\n properties: { cluster: false, concesionId: dealer.id, dealer: dealer },\n geometry: {\n type: 'Point',\n coordinates: [longitude, latitude],\n },\n };\n })\n .filter((point) => Object.keys(point).length > 0);\n\n dispatch({ type: 'SET_DEALERS', payload: dealers });\n dispatch({ type: 'SET_POINTS', payload: points });\n dispatch({ type: 'DEALERS_OR_INSTALLATIONS_MODE', payload: 'dealers' });\n setDealers(dealers);\n setLoading(false);\n };\n\n requestDealers();\n }, []);\n return { dealers, dealerName, selectedDealer, loading };\n}\n","import { getDataServiceConfig } from 'src/feature-app';\n\nexport const useGetBrand = (): 'V' |'N' |undefined => {\n const data = getDataServiceConfig();\n const brand = data.customConfig?.brand;\n\n return brand;\n};\n","import { useGetBrand } from './use-get-brand';\n\nexport const useIsComerciales = () => {\n const brand = useGetBrand();\n\n return brand === 'N'; \n};\n","import { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { useFaContent } from 'src/feature-app';\nimport { getInstallations, getInstallationsLegacy } from 'src/bff';\nimport { DealersData, DomainAttributesValues, Installation, InstallationResponse, Points } from 'src/types';\nimport { useIsComerciales } from './use-is-comerciales';\nimport { provinces } from '../NewMap';\n\nexport function useGetInstalaciones(token?: string, domain?: string): string {\n const dispatch = useDispatch();\n const [dealerName, setDealerName] = useState(null);\n const store = useStore();\n const faContent = useFaContent();\n\n useEffect(() => {\n const requestInstallations = async () => {\n\t\t\n\t\tlet installationsResponse = await getInstallations(token, domain);\n\n\t\tif(faContent.provinces && faContent.provinces.length > 0) {\n\t\t\t// Obtenemos el prefijo de los códigos postales de provinces.ts seleccionadas en faContent.provinces. Añadimos un 0 si el código es menor que 10.\n\t\t\tconst allowedPrefixes = provinces\n\t\t\t\t.filter(item => faContent.provinces.includes(item.attributes.find(attr => attr.name === 'NAME').value))\n\t\t\t\t.map(item => {\n\t\t\t\t\tconst code = item.attributes.find(attr => attr.name === 'CODE').value;\n\t\t\t\t\treturn parseInt(code, 10) < 10 ? `0${code}` : `${code}`;\n\t\t\t\t});\n\n\t\t\t// Filtramos las instalaciones por el prefijo. Si el código postal de la instalación empieza por alguno de los prefijos permitidos, se incluye.\n\t\t\tinstallationsResponse = installationsResponse.filter(entry => {\n\t\t\t\tconst shippingPostalCode = entry.attributes.find(attr => attr.name === 'ShippingPostalCode')?.value;\n\t\t\t\treturn shippingPostalCode && allowedPrefixes.some(prefix => shippingPostalCode.startsWith(prefix));\n\t\t\t});\n\t\t}\n\n // La respuesta viene como una array de arrays de attributes. Eliminamos este nivel para simplificar.\n const installationsDomainAtt: DomainAttributesValues[][] = installationsResponse.map((inst) => inst.attributes);\n const isComerciales = useIsComerciales();\n const selectedCarlineCode = store.getState().dealersInfo?.selectedCarline?.code;\n const excludedInstallationCodes = ['03812', '03394', 'EX1Q2', '0311X', '0321C', 'EX2C3', 'EX2H4', '30559', '53V50', '0310W', '30724', '03917', '30083', 'EX2Y1', 'EX1P0', '03910']\n const isIdBuzz = () => selectedCarlineCode === 72005 || selectedCarlineCode === 72006;\n\n const getProvince = (provinceCode: string): string | null => {\n const province = provinces.find(p => p.attributes.some(attr => attr.value === provinceCode));\n return province ? province.attributes.find(attr => attr.name === 'NAME')?.value?.toUpperCase() ?? null : null;\n };\n\n let points: Points[] = [];\n let installations: Installation[] = [];\n\n installationsDomainAtt.forEach((installation) => {\n const newInstallation: Installation = {\n Id: '',\n VGED_CommercialName__c: '',\n ShippingStreet: '',\n ShippingPostalCode: '',\n ShippingCity: '',\n ShippingLatitude: '',\n ShippingLongitude: '',\n VGED_DealerCode__c: '',\n ShippingStateCode: '',\n KVPSCode__c: '',\n Province: '',\n };\n\n installation.forEach((property) => {\n const { name, value } = property;\n if (name === 'ShippingStateCode') {\n newInstallation[name] = value;\n const provinceName = getProvince(value);\n newInstallation['Province'] = provinceName ?? '';\n }\n else {\n (newInstallation.hasOwnProperty(name))\n newInstallation[name] = value;\n }\n });\n\n if (\n !newInstallation.ShippingLatitude ||\n !newInstallation.ShippingLongitude ||\n newInstallation.ShippingLatitude === '' ||\n newInstallation.ShippingLongitude === ''\n ) {\n return;\n }\n\n // Necesario para el correcto funcionamiento del mapa.\n const dealer: Partial = {\n kvps: newInstallation.KVPSCode__c,\n name: newInstallation.VGED_CommercialName__c,\n markerInfo: {\n dealerInfo: {\n name: newInstallation.VGED_CommercialName__c,\n address: newInstallation.ShippingStreet,\n zipCode: newInstallation.ShippingPostalCode,\n city: newInstallation.ShippingCity,\n province: newInstallation.Province,\n },\n },\n };\n\n const point = {\n type: 'Feature',\n properties: { cluster: false, installation: newInstallation, dealer }, //concesionId: dealer.id, dealer: dealer\n geometry: {\n type: 'Point',\n coordinates: [newInstallation.ShippingLongitude, newInstallation.ShippingLatitude],\n },\n };\n\n const isExcludedInstallation = (): boolean => {\n return excludedInstallationCodes.includes(newInstallation.VGED_DealerCode__c)\n }\n if (isComerciales && !isIdBuzz() && isExcludedInstallation()) {\n return\n }\n else {\n points.push(point);\n installations.push(newInstallation);\n }\n });\n dispatch({ type: 'SET_INSTALLATIONS', payload: installations });\n dispatch({ type: 'SET_POINTS', payload: points });\n dispatch({ type: 'DEALERS_OR_INSTALLATIONS_MODE', payload: 'installations' });\n };\n\n requestInstallations();\n }, []);\n return dealerName;\n}\n","import { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getMarketingCode } from 'src/bff';\nimport { useFaContent } from 'src/feature-app';\n\n/**\n * Hook necesario para disparar ambos formularios de match. El objetivo es enviar las variables de match y matchMarketingCodeData para\n * que desde la parte de analítica se puedan obtener todas las variables que se están utilizando tambien para la analítica de match.\n * @param setSelectedJourney\n * @param Form\n */\nexport function useInitiateMatchTriggers(setSelectedJourney: any, Form: JSX.Element) {\n const faContent = useFaContent();\n const dispatch = useDispatch();\n\n useEffect(() => {\n getMarketingCode(faContent?.match?.marketingCode)\n .then((res) => {\n dispatch({ type: 'SET_MATCH', payload: faContent.match });\n dispatch({\n type: 'UPDATE_FIELDS',\n payload: { matchMarketingCodeData: res.response, argumentatives: faContent?.argumentatives },\n });\n\n setSelectedJourney(Form, true);\n })\n .catch((err) => {\n dispatch({ type: 'SET_MATCH', payload: faContent.match });\n dispatch({ type: 'UPDATE_FIELDS', payload: { argumentatives: faContent?.argumentatives } });\n setSelectedJourney(Form, true);\n });\n }, []);\n}\n","import { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useFaContent } from 'src/feature-app';\n\n/**\n * Hook necesario para disparar formularios desde bonos. El objetivo es enviar como observaciones la descripción del bono.\n * @param setSelectedJourney\n * @param Form\n */\nexport function useInitiateBonosTriggers(setSelectedJourney: any, Form: JSX.Element) {\n const faContent = useFaContent();\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch({\n type: 'UPDATE_FIELDS', // Pendiente propagar el valor del campo observaciones desde faContent\n payload: { },\n });\n\n setSelectedJourney(Form, true);\n }, []);\n}\n","import { useFeatureServices } from 'src/feature-app';\n\nexport const useIsDevStage = () => {\n const stageCustomConfig = useFeatureServices()['service-config-provider'].configs?.stage?.customConfig;\n\n return stageCustomConfig?.stage === 'dev';\n};\n","import { useState, useEffect } from 'react';\n\nexport function useLoaded() {\n const [loaded, setLoaded] = useState(false);\n\n useEffect(() => {\n setLoaded(true);\n }, []);\n\n return loaded;\n}\n","import { Spinner } from '@volkswagen-onehub/components-core';\nimport { Checkmark, Locate } from 'src/icons-core-imports';\n\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore } from 'react-redux';\nimport {\n GooglePlace,\n isNull,\n Suggestion,\n useOneFormContext,\n updateMapVariables,\n useFeatureServices,\n useFeatureAppEnvironment,\n} from 'src/feature-app';\nimport { handleLocation } from 'src/feature-app/NewMap/handle-location';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { OneFormState } from 'src';\nimport { renderAvisoIslasCanariasLayer } from 'src/components';\nimport { Store } from 'redux';\n\n// está hecho a saco para extraer la lógica del componente LocateUser y no tenerla por duplicado\n// por temas de front y comportamiento de la caja del suggest no se puede usar LocateUser en filtros\n\nexport function useLocateUser() {\n const [value, setValue] = useState('');\n const [suggestion, setSuggestion] = useState(null);\n const [loading, setLoading] = useState(false);\n const [icon, setIcon] = useState();\n const [isLocating, setIsLocating] = useState(false);\n const [locationDisabled, setLocationDisabled] = useState(false);\n // locationSuccess lo suyo seria subirlo a un context para que no se resetee entre LocateUser y filtros\n const [locationSuccess, setLocationSuccess] = useState(false);\n const { triggerValidation } = useFormContext();\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const { setIsValueSelected, handleNextStep } = useOneFormContext();\n const store: Store = useStore();\n const env = useFeatureAppEnvironment();\n const layerManager = useFeatureServices()['layer-manager'];\n\n const onSuggestionSelectedFn = (suggestion: Suggestion) => {\n setSuggestion(suggestion);\n updateMapVariables(dispatch, suggestion).then(() => {\n const { suggestionIsInCanaryIslands } = store.getState().formInfo;\n\n if (suggestionIsInCanaryIslands) {\n renderAvisoIslasCanariasLayer(store, env, layerManager);\n return;\n }\n // Avanza a la siguiente pantalla\n handleNextStep();\n });\n };\n\n const handleLocate = async () => {\n trackingManager.trackFormButtonClick({\n contentId: 'Localiza mi posición actual',\n });\n setIsLocating(true);\n setLoading(true);\n setIcon();\n const { geometry, name } = await handleLocation();\n setIcon();\n setIsLocating(false);\n setLoading(false);\n if (isNull(geometry)) {\n setLocationDisabled(true);\n setLocationSuccess(false);\n } else {\n setLocationDisabled(false);\n const suggestion: GooglePlace = { isGooglePlace: true, name, skipSearch: true, isGeoLocated: true };\n // dispatch({ type: 'UPDATE_USER_GEOLOCATION', payload: suggestion });\n // handleMapVariables(dispatch, { lat: geometry.lat, lng: geometry.lng }, 10, geometry, false, suggestion);\n\n setSuggestion(suggestion);\n setLocationSuccess(true);\n triggerValidation();\n setValue(name);\n setIsValueSelected(true);\n updateMapVariables(dispatch, suggestion, geometry);\n }\n };\n\n const handleLocateFilters = async () => {\n trackingManager.trackFormButtonClick({\n contentId: 'Localiza mi posición actual',\n });\n setIsLocating(true);\n setLoading(true);\n setIcon();\n const { geometry, name } = await handleLocation();\n setIcon();\n setIsLocating(false);\n setLoading(false);\n\n if (isNull(geometry)) {\n setLocationDisabled(true);\n setLocationSuccess(false);\n } else {\n setLocationDisabled(false);\n const suggestion: GooglePlace = { isGooglePlace: true, name, skipSearch: true, isGeoLocated: true };\n // dispatch({ type: 'UPDATE_USER_GEOLOCATION', payload: suggestion });\n // handleMapVariables(dispatch, { lat: geometry.lat, lng: geometry.lng }, 10, geometry, false, suggestion);\n\n triggerValidation();\n setValue(name);\n setLocationSuccess(true);\n return { suggestion, geometry };\n // setSuggestion(suggestion);\n }\n };\n\n useEffect(() => {\n locationSuccess ? setIcon() : setIcon();\n }, [locationSuccess]);\n\n return {\n suggestion,\n setSuggestion,\n value,\n setValue,\n icon,\n handleLocate,\n loading,\n locationDisabled,\n locationSuccess,\n setLocationSuccess,\n isLocating,\n handleLocateFilters,\n onSuggestionSelectedFn,\n };\n}\n","import { useFeatureServices } from 'src/feature-app';\n\nexport function useNavigate() {\n\tconst navigationService = useFeatureServices()['navigation-service'];\n\n\tconst navigateTo = (pageId: string) => {\n\t\tconst target = navigationService.navigateTo(pageId, {});\n\t\tif (target) {\n\t\t\ttarget.push();\n\t\t\treturn true;\n\t\t} else {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\treturn {\n\t\tnavigateTo,\n\t};\n}\n","import { useState, useEffect } from 'react';\n\nexport function useOnScreen(ref) {\n const [isIntersecting, setIntersecting] = useState(false);\n\n const observer = new IntersectionObserver(([entry]) => setIntersecting(entry.isIntersecting));\n\n useEffect(() => {\n observer.observe(ref.current);\n // Remove the observer as soon as the component is unmounted\n return () => {\n observer.disconnect();\n };\n }, []);\n\n return isIntersecting;\n}\n","import React, { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { isNull } from 'src/feature-app';\nimport { OneFormState, Steps } from 'src/types';\nimport { useWindowWidth} from '@react-hook/window-size';\n\nexport const useShowOverflow = (isLayerScreen: boolean, selectedStep?: Steps ) => {\n /**\n *\n * @param stepsToIterate La lista de steps donde hay que buscar el paso previo.\n * @param screenIndexToGet La lista de steps donde hay que buscar el paso previo.\n */\n const windowWidth = useWindowWidth();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { \n multiStepScreenIndex, \n screenIndex, \n steps,\n multiSteps, notALayer\n } = formInfo;\n\n const [ showOverflow, setShowOverflow ] = useState(false);\n\n\n const handleShowOverflow = (stepsToIterate: Steps[], screenIndexToGet: number) => {\n if (!stepsToIterate || isNull(screenIndexToGet) || screenIndexToGet === -1) {\n setShowOverflow(false);\n }\n\n const actualStep = stepsToIterate.find((step) => step.screenIndex === screenIndexToGet);\n\n if(actualStep && actualStep.showOverflow) {\n setShowOverflow(true);\n } else {\n setShowOverflow(false);\n }\n };\n\n \n useEffect(()=>{\n \n if(windowWidth < 960 && !notALayer || windowWidth < 960 && !isLayerScreen ) {\n setShowOverflow(false);\n } else {\n\n if(selectedStep && selectedStep.showOverflow) {\n setShowOverflow(true);\n }\n \n if(!steps) {\n setShowOverflow(false);\n } else {\n //console.log(1, screenIndex, steps, multiStepScreenIndex);\n if (multiStepScreenIndex === null) {\n //console.log('22222', multiSteps, screenIndex, multiStepScreenIndex);\n handleShowOverflow(steps, screenIndex);\n } else {\n //console.log('333333', multiSteps, multiStepScreenIndex);\n handleShowOverflow(multiSteps, multiStepScreenIndex);\n } \n }\n }\n \n }, [steps, multiSteps, selectedStep]);\n\n return { showOverflow };\n};\n","import { useEffect, useState } from 'react';\n\n//El texto que se quiera introducir des de la feature app incorporando la posibilidad de editarlo \n// en el fragmento de JSX donde se renderize debe figurar de la siguiente manera:\n//
\n\nexport const useTransformToHtml = (text: string) => {\n return {__html: text};\n};\n","import { store, TrackingForm } from 'src/feature-app';\n\nexport interface NDPSField {\n\tname: string;\n\tvalue: string;\n}\n\nexport const getTrackingForm = (formResponse): TrackingForm => {\n\t// Generación de LeadID solo para forms de leads\n\tconst { formType } = store.getState().formData.fields;\n\tconst leadFormTypes = ['contact', 'testdrive', 'quote', 'servicerequest'];\n\tlet LeadID;\n\tif (leadFormTypes.includes(formType)) {\n\t\tif (formResponse && formResponse.content && formResponse.content.data && formResponse.content.data.fields) {\n\t\t\t//LeadID Molecular\n\t\t\tconst leadField: NDPSField = formResponse.content.data.fields.find((field: NDPSField) => field.name === 'COD_LEAD_ID');\n\t\t\tLeadID = leadField ? leadField.value : undefined;\n\t\t} else if (formResponse && formResponse.content && formResponse.content.headers) {\n\t\t\t//LeadID OneFormBFF\n\t\t\tconst leadField: NDPSField = formResponse.content.headers.find((header: NDPSField) => header.name === 'FK_SYSTEM');\n\t\t\tLeadID = leadField ? leadField.value : undefined;\n\t\t}\n\t}\n\n\treturn {\n\t\tLeadID,\n\t\tFormFields: undefined,\n\t};\n};\n","import { IdPerson } from \"src/types\";\nimport { EsOneformCoreServiceV1 } from \"src/feature-service/es-oneform-core-feature-service/types\";\nimport { createPincodeEntity } from 'src/forms';\nimport { useFeatureServices } from \"./use-feature-services\";\n\nexport const useGetIdPerson = () => {\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const dpsData = oneFormService.getDpsData();\n const idPerson: IdPerson = createPincodeEntity(dpsData, 'PERSON');\n\n return idPerson;\n}","import { IdVehicle} from \"src/types\";\nimport { EsOneformCoreServiceV1 } from \"src/feature-service/es-oneform-core-feature-service/types\";\nimport { createPincodeEntity } from 'src/forms';\nimport { useFeatureServices } from \"./use-feature-services\";\n\nexport const useGetIdVehicle = () => {\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const dpsData = oneFormService.getDpsData();\n const idVehicle: IdVehicle = createPincodeEntity(dpsData, 'VEHICLE');\n\n return idVehicle;\n}","import { FeatureAppEnvironment } from '@feature-hub/core';\nimport React from 'react';\nimport { FeatureAppConfig, Dependencies } from 'src/feature-app';\n\nexport type OneFormFeatureAppEnvironment = FeatureAppEnvironment;\n\nexport const FeatureAppEnvironmentContext = React.createContext(undefined);\n\nexport function useFeatureAppEnvironment(): OneFormFeatureAppEnvironment {\n const featureAppEnvironment = React.useContext(FeatureAppEnvironmentContext);\n\n if (!featureAppEnvironment) {\n throw new Error('No featureAppEnvironment context value was provided.');\n }\n\n return featureAppEnvironment;\n}\n","import { useFeatureAppEnvironment, Dependencies } from 'src/feature-app';\n\nexport function useFeatureServices(): Dependencies {\n const { featureServices } = useFeatureAppEnvironment();\n\n return featureServices;\n}\n","\nimport { ServiceConfigProviderV1 } from '@volkswagen-onehub/service-config-provider';\nimport { useFeatureServices } from './use-feature-services';\nimport { AuthServiceProviderV2, IAuthServiceV2 } from '@volkswagen-onehub/authservice';\n\nexport const getAuthService = (serviceConfig: ServiceConfigProviderV1, authServiceProvider:AuthServiceProviderV2 ) => {\n const endpoint = serviceConfig.configs['customer-profile']?.urlOrigin; \n const authService: IAuthServiceV2 = authServiceProvider?.register('market');\n\n \n return authService;\n};\n\nexport const useGetAuthService = () => {\n const serviceConfig = useFeatureServices()['service-config-provider'];\n const authService = useFeatureServices()['vw:authService'] as AuthServiceProviderV2;\n\n return getAuthService(serviceConfig, authService);\n};\n","import { useFeatureServices } from './use-feature-services';\n\nexport const useGetWaidLitera = () => {\n const oneFormService = useFeatureServices()['es:oneform-core'];\n const waid = oneFormService.getDpsData().waid;\n\n return waid;\n};\n","import React from 'react';\nimport { useStore } from 'react-redux';\nimport { Store } from 'redux';\nimport { useFeatureAppConfig, useGetBrand } from 'src/feature-app';\nimport {\n createPartner,\n createPartnerWithSearch,\n createTrackingLink,\n createTrackingProcess,\n getBaseEventInfo,\n getCarlineConfiguration,\n getCompleteConfigurationFromVicci,\n getFormAppointments,\n getMarketingConsent,\n} from 'src/feature-app/tracking-helpers';\nimport {\n emptyCarlineConfig,\n emptyConfig,\n emptyLatLongZip,\n emptyOwnership,\n emptyPersonalization,\n} from 'src/feature-app/tracking-objects';\nimport {\n ErrorFormFields,\n OffersTrackingEvent,\n OneFormTrackingManager,\n TrackingError,\n TrackingEvent,\n TrackingEventInfo,\n TrackingFilter,\n TrackingForm,\n TrackingPartner,\n TrackingProcess,\n} from 'src/feature-app/tracking-types';\nimport { DealersData, OneFormState } from 'src/types';\nimport { useFeatureServices } from './use-feature-services';\n\nconst defaultTrackingEvent: OffersTrackingEvent = {\n personalization: emptyPersonalization,\n};\n\nexport function useTrackingManager(): OneFormTrackingManager {\n const { tracking: trackingManager } = useFeatureServices();\n const store: Store = useStore();\n const config = useFeatureAppConfig();\n const brand = useGetBrand();\n\n return React.useMemo((): OneFormTrackingManager => {\n function track(action: string, event: OffersTrackingEvent): void {\n const { trackingIsDisabled } = store.getState().formInfo;\n if (trackingManager && !trackingIsDisabled) {\n trackingManager.track(action, event as TrackingEvent);\n }\n }\n\n return {\n trackFormButtonClick(eventInfo: TrackingEventInfo, dealer?: DealersData) {\n const { formName, formType } = store.getState().formData.fields;\n\n track('VWBasic_FormButton_Click', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n PrefContactChannels: undefined,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n NewsletterType: undefined,\n Questionnaire: undefined,\n ...getMarketingConsent(store),\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyConfig,\n PriceType: 'price',\n PriceTypeParameter: undefined,\n ...getCarlineConfiguration(store),\n },\n partner: createPartner(store, dealer),\n ownership: emptyOwnership,\n link: createTrackingLink(eventInfo.contentId),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormStepButtonClick(eventInfo: TrackingEventInfo) {\n const { formName, formType, pageCategory } = store.getState().formData.fields;\n\n const emptyConfigStep = { ...emptyConfig };\n delete emptyConfigStep.PriceTotalTotal;\n\n track('VWBasic_FormStepButton_Click', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n PrefContactChannels: undefined,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n NewsletterType: undefined,\n Questionnaire: undefined,\n ...getMarketingConsent(store),\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyConfigStep,\n WheelsAdditionalExternalRollingNoise: undefined,\n ...getCarlineConfiguration(store),\n },\n process: {\n Name: pageCategory,\n ...createTrackingProcess(store),\n },\n partner: createPartner(store),\n ownership: emptyOwnership,\n link: createTrackingLink(eventInfo.contentId),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormStepLoad(eventInfo: TrackingEventInfo, formInfo?: TrackingForm, processInfo?: TrackingProcess) {\n const { formName, formType, pageCategory } = store.getState().formData.fields;\n\n const baseEventInfoForLoad = { ...getBaseEventInfo(store, brand) };\n delete baseEventInfoForLoad.sectionName;\n\n const emptyConfigLoad = { ...emptyConfig };\n delete emptyConfigLoad.PriceTotalTotal;\n\n track('VWBasic_FormStep_Load', {\n ...defaultTrackingEvent,\n form: {\n ...formInfo,\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n },\n eventInfo: { ...baseEventInfoForLoad, ...eventInfo, contentLabels: undefined },\n configuration: {\n ...emptyConfigLoad,\n WheelsAdditionalExternalRollingNoise: undefined,\n ...getCarlineConfiguration(store),\n },\n user: { ...emptyLatLongZip },\n process: {\n Name: pageCategory,\n ...createTrackingProcess(store, processInfo),\n },\n partner: createPartner(store),\n ownership: emptyOwnership,\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackButtonClick(eventInfo: TrackingEventInfo, dealer?: DealersData) {\n const processInfo = createTrackingProcess(store);\n track('VWBasic_Button_Click', {\n ...defaultTrackingEvent,\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyCarlineConfig,\n ...getCarlineConfiguration(store),\n },\n partner: createPartner(store, dealer),\n ownership: emptyOwnership,\n process: processInfo,\n link: createTrackingLink(eventInfo.contentId),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n questionnaire: { QuestionAnswerSet: undefined },\n SC: {\n ResultsRecommendationPosition: undefined,\n ResultsRecommendationFirst: undefined,\n ResultsRecommendationSecond: undefined,\n },\n });\n },\n trackFormCTAClick(eventInfo: TrackingEventInfo, dealer?: DealersData) {\n const { formName, formType } = store.getState().formData.fields;\n\n track('VWBasic_FormCTA_Click', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n PrefContactChannels: undefined,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n NewsletterType: undefined,\n Questionnaire: undefined,\n ...getMarketingConsent(store),\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyConfig,\n PriceType: undefined,\n PriceTypeParameter: undefined,\n ...getCarlineConfiguration(store),\n },\n partner: createPartner(store, dealer),\n ownership: emptyOwnership,\n link: createTrackingLink(eventInfo.contentId),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormSubmissionSuccessMessageLoad(eventInfo: TrackingEventInfo, formInfo?: TrackingForm) {\n const { formName, formType, vicciData, pageCategory } = store.getState().formData.fields;\n const processInfo = createTrackingProcess(store);\n\n track('VWBasic_FormSubmissionSuccessMessage_Load', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n PrefContactChannels: undefined,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n NewsletterType: undefined,\n ErrorFormFields: undefined,\n Questionnaire: undefined,\n SourceID: undefined,\n OpportunityUID: undefined,\n CycleID: undefined,\n FormStart: false,\n LeadID: undefined,\n ...getFormAppointments(store),\n ...getMarketingConsent(store),\n ...formInfo,\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n user: { ...emptyLatLongZip },\n configuration: {\n ...emptyConfig,\n ...getCompleteConfigurationFromVicci(vicciData),\n ...getCarlineConfiguration(store),\n },\n process: { ...processInfo, Name: pageCategory },\n partner: createPartnerWithSearch(store),\n ownership: emptyOwnership,\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormLayerLoad() {\n const { formName, formType, pageCategory } = store.getState().formData.fields;\n\n const emptyConfigLoad = { ...emptyConfig };\n delete emptyConfigLoad.PriceTypeParameter;\n delete emptyConfigLoad.PriceType;\n\n track('VWBasic_FormLayer_Load', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n NewsletterType: undefined,\n CycleID: undefined,\n FormStart: true,\n },\n eventInfo: {\n ...getBaseEventInfo(store, brand),\n contentId: config.trigger ? config.trigger : undefined,\n contentLabels: undefined,\n },\n configuration: { ...emptyConfigLoad, ...getCarlineConfiguration(store) },\n process: {\n Name: pageCategory,\n ...createTrackingProcess(store),\n },\n partner: createPartner(store),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormLoad() {\n const { formName, formType, pageCategory } = store.getState().formData.fields;\n const emptyConfigLoad = { ...emptyConfig };\n\n track('VWBasic_Form_Pageload', {\n ...defaultTrackingEvent,\n environment: { featureAppIdAppVersion: process.env.VERSION },\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n FormStart: true,\n },\n eventInfo: {\n ...getBaseEventInfo(store, brand),\n contentId: config.trigger ? config.trigger : undefined,\n contentLabels: undefined,\n },\n user: { ...emptyLatLongZip },\n configuration: { ...emptyConfigLoad, ...getCarlineConfiguration(store) },\n process: {\n Name: pageCategory,\n ...createTrackingProcess(store),\n },\n partner: createPartner(store),\n });\n },\n trackFormLoadRace() {\n const { formName, formType, pageCategory } = store.getState().formData.fields;\n const emptyConfigLoad = { ...emptyConfig };\n\n track('VWBasic_Form_Load', {\n ...defaultTrackingEvent,\n environment: { featureAppIdAppVersion: process.env.VERSION },\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n FormStart: true,\n },\n eventInfo: {\n ...getBaseEventInfo(store, brand),\n contentId: config.trigger ? config.trigger : undefined,\n contentLabels: undefined,\n },\n user: { ...emptyLatLongZip },\n configuration: { ...emptyConfigLoad, ...getCarlineConfiguration(store) },\n process: {\n Name: pageCategory,\n ...createTrackingProcess(store),\n },\n partner: createPartner(store),\n });\n },\n\n trackFormErrorMessageLoad(errorInfo?: TrackingError, errorFields?: ErrorFormFields[]) {\n const { formName, formType } = store.getState().formData.fields;\n\n track('VWBasic_FormErrorMessage_Load', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n ErrorFormFields: { FieldNameandID: [...errorFields] },\n ErrorAdressValidationFields: undefined,\n },\n eventInfo: { ...getBaseEventInfo(store, brand) },\n error: { message: errorInfo.message, code: undefined, referringUrl: undefined },\n partner: createPartner(store),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormFieldClick(eventInfo: TrackingEventInfo, form: TrackingForm) {\n const { formName, formType } = store.getState().formData.fields;\n\n track('VWBasic_FormField_Click', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n ...form,\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyCarlineConfig,\n ...getCarlineConfiguration(store),\n },\n process: createTrackingProcess(store),\n partner: createPartner(store),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormFilterSelect(eventInfo: TrackingEventInfo, filter: TrackingFilter, form: TrackingForm) {\n const { formName, formType } = store.getState().formData.fields;\n\n track('VWBasic_FormFilterSelect_Click', {\n ...defaultTrackingEvent,\n form: {\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n ...form,\n },\n eventInfo: { ...getBaseEventInfo(store, brand), ...eventInfo },\n configuration: {\n ...emptyCarlineConfig,\n ...getCarlineConfiguration(store),\n },\n filter,\n process: createTrackingProcess(store),\n partner: createPartner(store),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n trackFormCloseClick(eventInfo: TrackingEventInfo, formInfo?: TrackingForm) {\n const baseEventInfoCloseClick = { ...getBaseEventInfo(store, brand) };\n delete baseEventInfoCloseClick.templateType;\n\n const partner: TrackingPartner = createPartnerWithSearch(store);\n delete partner.informationDepartment;\n\n const processInfo = createTrackingProcess(store);\n // delete processInfo.StepNumber;\n const { formName, formType, vicciData, pageCategory } = store.getState().formData.fields;\n\n track('VWBasic_FormClose_Click', {\n ...defaultTrackingEvent,\n form: {\n ...formInfo,\n FormType: formType,\n FormName: `vw-oneform-${formName}`,\n PrefContactChannels: undefined,\n SourceID: undefined,\n ErrorFormFields: undefined,\n OpportunityUID: undefined,\n FormVersion: `vw-oneform-${formName}-${process.env.VERSION}`,\n CycleID: undefined,\n FormFields: undefined,\n ...getFormAppointments(store),\n },\n eventInfo: { ...baseEventInfoCloseClick, ...eventInfo },\n configuration: {\n ...emptyCarlineConfig,\n ...getCompleteConfigurationFromVicci(vicciData),\n ...getCarlineConfiguration(store),\n },\n process: {...processInfo, Name: pageCategory},\n partner,\n link: createTrackingLink(eventInfo.contentId),\n environment: { featureAppIdAppVersion: process.env.VERSION },\n });\n },\n };\n }, [trackingManager]);\n}\n","import {\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n styled,\n Text,\n ThemeProvider,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { NuevaCitaPosventaFormController } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\n\nconst BlueBackground = styled.div`\n background: radial-gradient(circle at center bottom, #00437A 0%, #001E50 100%);\n color: #ffffff;\n height: 100%;\n`;\n\nexport const CitaPreviaTile = (props: { setSelectedJourney: React.Dispatch> }) => {\n const { setSelectedJourney } = props;\n return (\n \n \n \n \n \n \n \n ¿Necesitas pasar por el taller?\n \n \n Elige el día, la hora y el Servicio Oficial que prefieras para que cuiden de tu Volkswagen.\n \n {\n setSelectedJourney();\n }}\n >\n Pide tu cita\n \n \n \n \n \n \n \n );\n};\n","import { Breakpoints, Layout, styled } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { CitaPreviaTile } from './';\n\nconst Grid = styled.div`\n --grid-gap-value: 32px;\n -gap: var(--grid-gap-value);\n display: grid;\n grid-auto-rows: calc((100vw / (9 / 5)) + var(--grid-gap-value) / 2);\n grid-template-columns: 1fr;\n grid-auto-flow: row dense;\n\n @media screen and (min-width: 560px) {\n --grid-gap-value: 56px;\n grid-auto-rows: calc(48.6111vw);\n }\n @media screen and (min-width: 960px) {\n grid-template-columns: repeat(2, 1fr);\n grid-auto-rows: calc(((21 / 24) * 100vw - (2 - 1) * var(--grid-gap-value)) / 2 / (9 / 5));\n }\n @media screen and (min-width: 1280px) {\n grid-template-columns: repeat(3, 1fr);\n grid-auto-rows: calc(((21 / 24) * 100vw - (3 - 1) * var(--grid-gap-value)) / 3 / (9 / 5));\n }\n @media screen and (min-width: 1920px) {\n --grid-gap-value: 72px;\n grid-template-columns: repeat(4, 1fr);\n grid-auto-rows: calc(((21 / 24) * 100vw - (4 - 1) * var(--grid-gap-value)) / 4 / (9 / 5));\n }\n`;\n\nexport const CitaPreviaTileGrid = (props: {\n setSelectedJourney: React.Dispatch>;\n}) => {\n return (\n \n \n \n \n \n );\n};\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useSelector, useStore } from 'react-redux';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { useOneFormContext } from '.';\nimport { useShowOverflow } from 'src/feature-app/hooks';\n\ninterface formControllerWrapperProps {\n screenType: 'layer-screen' | 'full-screen';\n showOverflow?: boolean;\n}\nconst FormControllerWrapper = styled.div`\n overflow: ${(props)=> props.showOverflow ? 'visible' : 'hidden'};\n width: 100%;\n \n\n @media all and (min-width: 960px) {\n height: 100%;\n }\n`;\ninterface Aprops {\n steps?: Steps[];\n screenType: 'layer-screen' | 'full-screen';\n screenIndex?: number;\n showPreviousStep?: boolean;\n}\n\n\n\nexport function FormController(props: Aprops) {\n const { screenType } = props;\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { step, steps, screenIndex } = formInfo;\n const [selectedStep, setSelectedStep] = useState(null);\n const store = useStore();\n const { showPreviousStep } = useOneFormContext();\n \n\n useEffect(() => {\n if (steps && step) {\n const { steps, step }: { steps: Steps[]; step: Steps } = store.getState().formInfo;\n const newStep = steps.find((newstep) => newstep.screenIndex === step.screenIndex);\n if (newStep && (!selectedStep || newStep.screenIndex !== selectedStep.screenIndex)) {\n setSelectedStep(newStep);\n }\n }\n }, [steps, step]);\n\n //Si se necesita que el overflow sea visible. \n\n const { showOverflow } = useShowOverflow(formInfo.notALayer, selectedStep);\n\n return selectedStep ? (\n \n {selectedStep.multiStep && selectedStep.component ? (\n selectedStep.component\n ) : (\n \n )}\n \n ) : null;\n}\n","import dayjs from 'dayjs';\nimport 'dayjs/locale/es';\nimport utc from 'dayjs/plugin/utc';\nimport timezone from 'dayjs/plugin/timezone';\ndayjs.extend(utc);\ndayjs.extend(timezone);\nimport isSameOrBefore from 'dayjs/plugin/isSameOrBefore';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport advancedFormat from 'dayjs/plugin/advancedFormat';\nimport 'dayjs/locale/es';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\ndayjs.extend(customParseFormat);\ndayjs.extend(advancedFormat);\ndayjs.extend(isSameOrBefore);\ndayjs.extend(isBetween);\n/**\n * viernes, 13-12:00\n * @param ms\n */\nexport const weekDay_Day_Hour = (ms?: number) => {\n if (ms) {\n return dayjs.tz(ms, 'Europe/Madrid').locale('es').format('dddd, DD-HH:mm');\n } else {\n return dayjs.tz(new Date(), 'Europe/Madrid').locale('es').format('dddd, DD-HH:mm');\n }\n};\n\n/**\n * 12:00\n * @param ms\n */\nexport const hourAndMinute = (ms?: number) => {\n if (ms) {\n return dayjs.tz(ms, 'Europe/Madrid').locale('es').format('HH:mm');\n } else {\n return dayjs.tz(new Date(), 'Europe/Madrid').locale('es').format('HH:mm');\n }\n};\n\n/**\n * lunes 16,noviembre-10:00\n * @param ms\n */\nexport const weekDay_DayNumber_Month_Hour = (ms?: number) => {\n if (ms) {\n return dayjs.tz(ms, 'Europe/Madrid').locale('es').format('dddd DD,MMMM-HH:mm');\n } else {\n return dayjs.tz(new Date(), 'Europe/Madrid').locale('es').format('dddd DD,MMMM-HH:mm');\n }\n};\n\n/**\n * martes 10,noviembre\n * @param ms\n*/\nexport const weekDay_DayNumber_Month = (ms?: number) => {\n if (ms) {\n return dayjs(ms).locale('es').utc().format('dddd DD,MMMM');\n } else {\n return dayjs().locale('es').utc().format('dddd DD,MMMM');\n }\n};\n/**\n * martes 10 de Noviembre\n * @param ms\n*/\nexport const weekDay_DayNumber_De_Month = (ms?: number) => {\n if (ms) {\n return dayjs(ms).locale('es').utc().format('dddd DD [de] MMMM').toLowerCase();\n } else {\n return dayjs().locale('es').utc().format('dddd DD [de] MMMM').toLowerCase();\n }\n};\n/**\n * martes 10,noviembre\n\n * @param ms\n */\nexport const year_MonthNumber_DayNumber = (ms?: number) => {\n if (ms) {\n return dayjs(ms).locale('es').utc().format('YYYY-MM-DD');\n } else {\n return dayjs().locale('es').utc().format('YYYY-MM-DD');\n }\n};\n\n/**\n * 2020-2-2 -> 2020-02-02\n * @param ms\n */\nexport const getYYYYMMDD = (d: string) => dayjs(d, 'YYYY-M-D').format('YYYY-MM-DD');\nexport const getYYYYMMDDx = (ms: number) => dayjs(ms).locale('es').utc().format('YYYY-MM-DD');\n\nexport const getActualDay = () => dayjs().locale('es').format('D');\nexport const getActualMonth = () => dayjs().locale('es').format('MMMM');\nexport const getNextActualMonth = () => dayjs().locale('es').add(1, 'month').format('MMMM');\nexport const getPreviousActualMonth = () => dayjs().locale('es').subtract(1, 'month').format('MMMM');\nexport const getActualMonthNumber = () => dayjs().locale('es').format('M');\nexport const getActualYearNumber = () => dayjs().locale('es').format('YYYY');\nexport const getToday = () => dayjs(new Date());\n","import React from 'react';\nimport { FeatureAppConfig } from 'src/feature-app';\nimport {\n\tBajaComunicacionesTrigger,\n\tCallMeEmbeddedTrigger,\n\tCitaPosventaDealerTrigger,\n\tCitaPosventaEmbeddedTrigger,\n\tCitaPosventaTrigger,\n\tDiaDeLaMadreTrigger,\n\tEmpresasTrigger,\n\tEncuestasTrigger,\n\tEurocopaTrigger,\n\tFidelizacionTrigger,\n\tLeadDealerTrigger,\n\tLeadEmbededTrigger,\n\tLeadInPageTrigger,\n\tLeadTrigger,\n\tMGMTrigger,\n\tNavidadTrigger,\n\tNewsletterTrigger,\n\tProspectEmbeddedTrigger,\n\tProspectPosventaEmbedded,\n\tProspectsTrigger,\n\tRaceTrigger,\n\tSACTrigger,\n\tUGCTrigger,\n\tWidgetTrigger,\n\tSuvperheroesTrigger,\n\tAutosubmitTrigger,\n\tConcursoRodajeTrigger,\n\tPlanIdealTrigger,\n\tFeedbackTrigger,\n\tTestIDTrigger,\n\tNavidadGTI2024Trigger,\n\tTheOriginals2025Trigger,\n} from 'src/triggers';\n\nexport interface TriggerProps {\n\tsetCTALabel?: React.Dispatch>;\n\tsetSelectedFocusJourney?: React.Dispatch>;\n\tselectedFocusJourney?: JSX.Element;\n\tsetSelectedJourney?: (selectedJourney: JSX.Element, skipTrackButtonClick?: boolean) => void;\n}\n\nexport const getTrigger = (\n\tconfig: FeatureAppConfig,\n\tsetSelectedJourney: (selectedJourney: JSX.Element, skipTrackButtonClick?: boolean) => void,\n\tsetCTALabel: React.Dispatch>,\n\tselectedJourney: JSX.Element,\n\tsetSelectedFocusJourney: React.Dispatch>,\n\tselectedFocusJourney: JSX.Element,\n\ttriggerLoaded: React.MutableRefObject,\n): JSX.Element => {\n\tif (!config.trigger) {\n\t\tthrow new Error('No trigger in Feature App Config.');\n\t}\n\t\n\tswitch (config.trigger) {\n\t\tcase 'cita-posventa':\n\t\tcase 'cita-posventa-tile-grid':\n\t\tcase 'cita-posventa-tile':\n\t\t\ttriggerLoaded.current = config.trigger;\n\t\t\treturn (\n\t\t\t\t\n\t\t\t);\n\t\tcase 'cita-posventa-embedded':\n\t\t\ttriggerLoaded.current = 'cita-posventa-embedded';\n\t\t\treturn ;\n\t\tcase 'prospect-posventa-embedded':\n\t\t\ttriggerLoaded.current = 'prospect-posventa-embed';\n\t\t\treturn ;\n\t\tcase 'cita-posventa-dealer':\n\t\t\ttriggerLoaded.current = 'cita-posventa-dealer';\n\t\t\treturn ;\n\t\tcase 'lead':\n\t\t\ttriggerLoaded.current = 'lead';\n\t\t\treturn ;\n\t\tcase 'lead-embedded':\n\t\t\ttriggerLoaded.current = 'lead-embedded';\n\t\t\treturn ;\n\t\tcase 'callme-embedded':\n\t\t\ttriggerLoaded.current = 'callme-embedded';\n\t\t\treturn ;\n\t\tcase 'lead-dealer':\n\t\t\ttriggerLoaded.current = 'lead-dealer';\n\t\t\treturn ;\n\t\tcase 'race':\n\t\t\ttriggerLoaded.current = 'race';\n\t\t\treturn ;\n\t\tcase 'newsletter':\n\t\t\ttriggerLoaded.current = 'newsletter';\n\t\t\treturn ;\n\t\tcase 'empresas':\n\t\t\ttriggerLoaded.current = 'empresas';\n\t\t\treturn ;\n\t\tcase 'mgm':\n\t\t\ttriggerLoaded.current = 'mgm';\n\t\t\treturn ;\n\t\tcase 'sac':\n\t\t\ttriggerLoaded.current = 'sac';\n\t\t\treturn ;\n\t\tcase 'ugc':\n\t\t\ttriggerLoaded.current = 'ugc';\n\t\t\treturn ;\n\t\tcase 'adhoc-2025-the_originals':\n\t\t\ttriggerLoaded.current = 'adhoc-2025-the_originals';\n\t\t\treturn ;\n\t\tcase 'adhoc-2024-navidad_gti':\n\t\t\ttriggerLoaded.current = 'adhoc-2024-navidad_gti';\n\t\t\treturn ;\n\t\tcase 'adhoc-2021-diamadre':\n\t\t\ttriggerLoaded.current = 'adhoc-2021-diamadre';\n\t\t\treturn ;\n\t\tcase 'adhoc-2021-eurocopa':\n\t\t\ttriggerLoaded.current = 'adhoc-2021-eurocopa';\n\t\t\treturn ;\n\t\tcase 'adhoc-2021-navidad':\n\t\t\ttriggerLoaded.current = 'adhoc-2021-navidad';\n\t\t\treturn ;\n\t\tcase 'adhoc-2021-fidelizacion_clientes':\n\t\t\ttriggerLoaded.current = 'adhoc-2021-fidelizacion';\n\t\t\treturn ;\n\t\tcase 'adhoc-2023-test_id':\n\t\t\ttriggerLoaded.current = 'adhoc-2023-test_id';\n\t\t\treturn ;\n\t\tcase 'adhoc-2023-concurso_rodaje':\n\t\t\ttriggerLoaded.current = 'adhoc-2023-concurso_rodaje';\n\t\t\treturn ;\n\t\tcase 'adhoc-2023-plan_ideal':\n\t\t\ttriggerLoaded.current = 'adhoc-2023-plan_ideal';\n\t\t\treturn ;\n\t\tcase 'adhoc-suvperheroes':\n\t\t\ttriggerLoaded.current = 'adhoc-suvperheroes';\n\t\t\treturn ;\n\t\tcase 'prospect':\n\t\t\ttriggerLoaded.current = 'prospect';\n\t\t\treturn ;\n\t\tcase 'prospect-embedded':\n\t\t\ttriggerLoaded.current = 'prospect-embedded';\n\t\t\treturn ;\n\t\tcase 'widget':\n\t\t\ttriggerLoaded.current = 'widget';\n\t\t\treturn ;\n\t\tcase 'baja-comunicaciones':\n\t\t\ttriggerLoaded.current = 'baja-comunicaciones';\n\t\t\treturn ;\n\t\tcase 'encuestas':\n\t\t\ttriggerLoaded.current = 'encuestas';\n\t\t\treturn ;\n\t\tcase 'lead-inpage':\n\t\t\ttriggerLoaded.current = 'lead-inpage';\n\t\t\treturn ;\n\t\tcase 'autosubmit':\n\t\t\ttriggerLoaded.current = 'autosubmit';\n\t\t\treturn ;\n\t\tcase 'feedback':\n\t\t\ttriggerLoaded.current = 'feedback';\n\t\t\treturn ;\n\t\t/*\n case 'adhoc-lanzamiento-taigo':\n triggerLoaded.current = 'adhoc-lanzamiento-taigo';\n return (\n <>\n \n \n \n );\n */\n\t\tdefault:\n\t\t\tthrow new Error(\"The config trigger defined in CMS doesn't match with any trigger in One Form\");\n\t}\n};\n","// Funciones que se usan de lodash, se han exportado aquí para evitar que reducir el tamaño del bundle final de la aplicación.\n\nconst toString = Object.prototype.toString;\n\nfunction getTag(value) {\n if (value == null) {\n return value === undefined ? '[object Undefined]' : '[object Null]';\n }\n return toString.call(value);\n}\n\nfunction isObjectLike(value) {\n return typeof value === 'object' && value !== null;\n}\n\nexport function isNumber(value) {\n return typeof value === 'number' || (isObjectLike(value) && getTag(value) == '[object Number]');\n}\n\nexport const isNull = (value: any) => value === null;\n\n/** Detect free variable `global` from Node.js. */\nconst freeGlobal = typeof global === 'object' && global !== null && global.Object === Object && global;\n\nconst freeGlobalThis =\n typeof globalThis === 'object' && globalThis !== null && globalThis.Object == Object && globalThis;\n\n/** Detect free variable `self`. */\nconst freeSelf = typeof self === 'object' && self !== null && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nconst root = freeGlobalThis || freeGlobal || freeSelf || Function('return this')();\n\nfunction isObject(value) {\n const type = typeof value;\n return value != null && (type === 'object' || type === 'function');\n}\n\nexport function debounce(func, wait, options) {\n let lastArgs, lastThis, maxWait, result, timerId, lastCallTime;\n\n let lastInvokeTime = 0;\n let leading = false;\n let maxing = false;\n let trailing = true;\n\n // Bypass `requestAnimationFrame` by explicitly setting `wait=0`.\n const useRAF = !wait && wait !== 0 && typeof root.requestAnimationFrame === 'function';\n\n if (typeof func !== 'function') {\n throw new TypeError('Expected a function');\n }\n wait = +wait || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? Math.max(+options.maxWait || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n const args = lastArgs;\n const thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function startTimer(pendingFunc, wait) {\n if (useRAF) {\n root.cancelAnimationFrame(timerId);\n return root.requestAnimationFrame(pendingFunc);\n }\n return setTimeout(pendingFunc, wait);\n }\n\n function cancelTimer(id) {\n if (useRAF) {\n return root.cancelAnimationFrame(id);\n }\n clearTimeout(id);\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = startTimer(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n const timeSinceLastCall = time - lastCallTime;\n const timeSinceLastInvoke = time - lastInvokeTime;\n const timeWaiting = wait - timeSinceLastCall;\n\n return maxing ? Math.min(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;\n }\n\n function shouldInvoke(time) {\n const timeSinceLastCall = time - lastCallTime;\n const timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (\n lastCallTime === undefined ||\n timeSinceLastCall >= wait ||\n timeSinceLastCall < 0 ||\n (maxing && timeSinceLastInvoke >= maxWait)\n );\n }\n\n function timerExpired() {\n const time = Date.now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = startTimer(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n cancelTimer(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(Date.now());\n }\n\n function pending() {\n return timerId !== undefined;\n }\n\n function debounced(...args) {\n const time = Date.now();\n const isInvoking = shouldInvoke(time);\n\n lastArgs = args;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = startTimer(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = startTimer(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n debounced.pending = pending;\n return debounced;\n}\n","export const setObjectValues = (obj: object, callback: (name: string, value: any) => void) => {\n const values = Object.entries(obj);\n\n values.forEach(([key, value]) => {\n callback(key, value);\n });\n};\n","export const isLowRating = (rating: string) => Number(rating) == 1 || Number(rating) == 2 || Number(rating) == 3;\nexport const isHighRating = (rating: string) => Number(rating) == 4 || Number(rating) == 5;\nexport const isNoRating = (rating: string) => isNaN(Number(rating)) || Number(rating) < 1 || Number(rating) > 5; // is text or lower than 1 or higher than 5\n\nexport const allHighRatings = (ratings: [...any]) => {\n\tfor (const rating of ratings) {\n\t\tif (!isHighRating(rating)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n};\n\nexport const allLowRatings = (ratings: [...any]) => {\n\tfor (const rating of ratings) {\n\t\tif (!isLowRating(rating)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n};\n\nexport const allNoRatings = (ratings: [...any]) => {\n\tfor (const rating of ratings) {\n\t\tif (!isNoRating(rating)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n};\n\nexport const allHighOrNoRatings = (ratings: [...any]) => {\n\tfor (const rating of ratings) {\n\t\tif (isLowRating(rating)) {\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n};\n","import {\n CarlineBase,\n DealersData,\n DealersOrInstallationsMode,\n Installation,\n Offer,\n Points,\n RankedPreconfiguration,\n SalesGroupInfo,\n} from 'src/types';\n\nexport const SET_DEALERS = 'SET_DEALERS';\nexport const SET_POINTS = 'SET_POINTS';\nexport const SET_SELECTED_DEALER = 'SET_SELECTED_DEALER';\nexport const SET_FAVOURITE_DEALER = 'SET_FAVOURITE_DEALER';\nexport const SET_SELECTED_INSTALLATION = 'SET_SELECTED_INSTALLATION';\nexport const SET_INSTALLATIONS = 'SET_INSTALLATIONS';\nexport const DEALERS_OR_INSTALLATIONS_MODE = 'DEALERS_OR_INSTALLATIONS_MODE';\nexport const SET_CARLINES = 'SET_CARLINES';\nexport const SET_SELECTED_CARLINE = 'SET_SELECTED_CARLINE';\nexport const SET_OFERTA = 'SET_OFERTA';\nexport const SET_SALESGROUP = 'SET_SALESGROUP';\nexport const SET_URL_DEALER = 'SET_URL_DEALER';\nexport const SET_MATCH = 'SET_MATCH';\nexport const SET_CITA_CARLINES = 'SET_CITA_CARLINES';\n\ninterface SetDealersAction {\n type: typeof SET_DEALERS;\n payload: DealersData[];\n}\ninterface SetPointsAction {\n type: typeof SET_POINTS;\n payload: Points[];\n}\n\ninterface SetSelectedDealerAction {\n type: typeof SET_SELECTED_DEALER;\n payload: DealersData;\n}\ninterface SetUrlDealerAction {\n type: typeof SET_URL_DEALER;\n payload: DealersData;\n}\ninterface SetFavouriteDealerAction {\n type: typeof SET_FAVOURITE_DEALER;\n payload: DealersData;\n}\ninterface SetSelectedInstallationAction {\n type: typeof SET_SELECTED_INSTALLATION;\n payload: Installation;\n}\ninterface SetInstallationsAction {\n type: typeof SET_INSTALLATIONS;\n payload: Installation[];\n}\ninterface SetDealersOrInstallationModeAction {\n type: typeof DEALERS_OR_INSTALLATIONS_MODE;\n payload: DealersOrInstallationsMode;\n}\ninterface SetCarlinesAction {\n type: typeof SET_CARLINES;\n payload: CarlineBase[];\n}\ninterface SetCitaCarlinesAction {\n type: typeof SET_CITA_CARLINES;\n payload: CarlineBase[];\n}\ninterface SetSelectedCarlineAction {\n type: typeof SET_SELECTED_CARLINE;\n payload: CarlineBase;\n}\ninterface SetMatchAction {\n type: typeof SET_MATCH;\n payload: RankedPreconfiguration;\n}\n\ninterface SetOfertaAction {\n type: typeof SET_OFERTA;\n payload: Offer;\n}\n\ninterface SetSalesGroupAction {\n type: typeof SET_SALESGROUP;\n payload: SalesGroupInfo;\n}\n\nexport type DealersActionTypes =\n | SetFavouriteDealerAction\n | SetUrlDealerAction\n | SetCarlinesAction\n | SetDealersAction\n | SetDealersOrInstallationModeAction\n | SetInstallationsAction\n | SetMatchAction\n | SetOfertaAction\n | SetPointsAction\n | SetSalesGroupAction\n | SetSelectedCarlineAction\n | SetCitaCarlinesAction\n | SetSelectedDealerAction\n | SetSelectedInstallationAction;\n","import { DealersInfo } from 'src/types';\nimport { dealersInfo } from './';\nimport {\n DealersActionTypes,\n DEALERS_OR_INSTALLATIONS_MODE,\n SET_CARLINES,\n SET_CITA_CARLINES,\n SET_DEALERS,\n SET_INSTALLATIONS,\n SET_OFERTA,\n SET_FAVOURITE_DEALER,\n SET_POINTS,\n SET_SALESGROUP,\n SET_SELECTED_CARLINE,\n SET_SELECTED_DEALER,\n SET_SELECTED_INSTALLATION,\n SET_URL_DEALER,\n SET_MATCH,\n} from './dealers-types';\nimport { OneFormActionTypes, RESET_STATE } from './types';\n\nexport function dealersReducer(state: DealersInfo = null, action: OneFormActionTypes | DealersActionTypes): any {\n switch (action.type) {\n // case RESET_STATE:\n // return { ...dealersInfo };\n case SET_DEALERS:\n return {\n ...state,\n dealers: [...action.payload],\n };\n case SET_INSTALLATIONS:\n return {\n ...state,\n installations: [...action.payload],\n };\n case SET_POINTS:\n return {\n ...state,\n points: [...action.payload],\n };\n case SET_CARLINES:\n return {\n ...state,\n carlines: [...action.payload],\n };\n case SET_CITA_CARLINES:\n return {\n ...state,\n citaCarlines: [...action.payload],\n };\n case SET_SELECTED_CARLINE:\n return {\n ...state,\n selectedCarline: action.payload,\n };\n case SET_SELECTED_DEALER:\n return {\n ...state,\n selectedDealer: action.payload,\n };\n case SET_URL_DEALER:\n return {\n ...state,\n urlDealer: action.payload,\n };\n case SET_FAVOURITE_DEALER:\n return {\n ...state,\n favouriteDealer: action.payload,\n };\n case DEALERS_OR_INSTALLATIONS_MODE:\n return {\n ...state,\n dealersOrInstallationsMode: action.payload,\n };\n case SET_SELECTED_INSTALLATION:\n return {\n ...state,\n selectedInstallation: action.payload,\n };\n case SET_OFERTA:\n return {\n ...state,\n oferta: action.payload,\n };\n case SET_MATCH:\n return {\n ...state,\n match: action.payload,\n };\n case SET_SALESGROUP:\n return {\n ...state,\n salesGroup: action.payload,\n };\n default:\n return state;\n }\n}\n","export const RESET_STATE = 'RESET_STATE';\n\ninterface ResetStateAction {\n type: typeof RESET_STATE;\n}\n\nexport type OneFormActionTypes = ResetStateAction;\n","export const UPDATE_VEHICLES = 'UPDATE_VEHICLES';\n\ninterface UpdateVehicles {\n type: typeof UPDATE_VEHICLES;\n payload: [];\n}\n\nexport type VehiclesInfoActionTypes = UpdateVehicles;\n","import { vehiclesInfo } from '.';\nimport { VehiclesInfo } from 'src/types';\nimport { OneFormActionTypes, RESET_STATE } from './types';\nimport { VehiclesInfoActionTypes, UPDATE_VEHICLES } from './vehicles-types';\n\nexport function vehiclesReducer(state: VehiclesInfo = null, action: OneFormActionTypes | VehiclesInfoActionTypes): any {\n\tswitch (action.type) {\n\t\tcase RESET_STATE:\n\t\t\treturn { ...vehiclesInfo };\n\t\tcase UPDATE_VEHICLES:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t...action.payload,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n","export const UPDATE_FORM = 'UPDATE_FORM';\nexport const UPDATE_FIELDS = 'UPDATE_FIELDS';\n\ninterface UpdateFormAction {\n type: typeof UPDATE_FORM;\n payload: any;\n}\n\ninterface UpdateFieldsAction {\n type: typeof UPDATE_FIELDS;\n payload: any;\n}\n\nexport type FormDataActionTypes = UpdateFieldsAction | UpdateFormAction;\n","import { formData } from './';\nimport { FormDataGroup } from 'src/types';\nimport { OneFormActionTypes, RESET_STATE } from './types';\nimport { FormDataActionTypes, UPDATE_FIELDS, UPDATE_FORM } from './form-data-types';\n\nexport function formDataReducer(state: FormDataGroup = null, action: OneFormActionTypes | FormDataActionTypes): any {\n switch (action.type) {\n case RESET_STATE:\n return { ...formData };\n case UPDATE_FORM:\n return {\n fields: { ...state.fields, ...action.payload.fields },\n headers: { ...state.headers, ...action.payload.headers },\n flags: { ...state.flags, ...action.payload.flags },\n };\n case UPDATE_FIELDS:\n return {\n ...state,\n fields: { ...state.fields, ...action.payload },\n };\n default:\n return state;\n }\n}\n","import { Center, FormInfo, Geometry, Steps } from 'src/types';\nimport { Suggestion } from '../NewMap';\n\nexport const RESET_FORM_INFO = 'RESET_FORM_INFO';\nexport const SEND_FORM = 'SEND_FORM';\nexport const SET_FORM_INFO = 'SET_FORM_INFO';\nexport const SET_FORM_RESPONSE = 'SET_FORM_RESPONSE';\nexport const HIDE_LEGAL = 'HIDE_LEGAL';\nexport const SET_CUSTOM_LEGAL = 'SET_CUSTOM_LEGAL';\nexport const SET_SHOW_CALENDAR_ON_LOAD = 'SET_SHOW_CALENDAR_ON_LOAD';\nexport const SET_DELETE_CLOSE_AND_PREVIOUS = 'SET_DELETE_CLOSE_AND_PREVIOUS';\nexport const SET_FORM_SUBMITTED = 'SET_FORM_SUBMITTED';\nexport const UPDATE_LITERAL_FIELDS_STEPS = 'UPDATE_LITERAL_FIELDS_STEPS';\nexport const SET_INITIAL_STEPS = 'SET_INITIAL_STEPS';\nexport const SET_MOLECULAR_SERVICE_CONFIG = 'SET_MOLECULAR_SERVICE_CONFIG';\nexport const SET_NUMBER_OF_SCREENS = 'SET_NUMBER_OF_SCREENS';\nexport const SET_SEND_DMS_FAILED = 'SET_SEND_DMS_FAILED';\nexport const SET_STEPS_HISTORY = 'SET_STEPS_HISTORY';\nexport const SET_NAVIGATION_MOVING_FORWARD = 'SET_NAVIGATION_MOVING_FORWARD';\nexport const SHOW_FINAL_SCREEN = 'SHOW_FINAL_SCREEN';\nexport const SUGGESTION_IS_DEALER = 'SUGGESTION_IS_DEALER';\nexport const SUGGESTION_IS_ADDRESS = 'SUGGESTION_IS_ADDRESS';\nexport const SUGGESTION_IS_IN_CANARY_ISLANDS = 'SUGGESTION_IS_IN_CANARY_ISLANDS';\nexport const TRIGGER_EXIT_ANIMATION = 'TRIGGER_EXIT_ANIMATION';\nexport const UPDATE_FIRST_MAP_LOAD = 'UPDATE_FIRST_MAP_LOAD';\nexport const UPDATE_FORM_ENDED = 'UPDATE_FORM_ENDED';\nexport const UPDATE_FULLSCREEN = 'UPDATE_FULLSCREEN';\nexport const UPDATE_GENERIC_ERROR = 'UPDATE_GENERIC_ERROR';\nexport const UPDATE_GEOMETRY = 'UPDATE_GEOMETRY';\nexport const DISABLE_TRACKING = 'DISABLE_TRACKING';\nexport const UPDATE_INITIAL_ZOOM = 'UPDATE_INITIAL_ZOOM';\nexport const UPDATE_LAST_STEP = 'UPDATE_LAST_STEP';\nexport const UPDATE_MULTISTEP_SCREENINDEX = 'UPDATE_MULTISTEP_SCREENINDEX';\nexport const UPDATE_MULTISTEPS = 'UPDATE_MULTISTEPS';\nexport const UPDATE_NEXT_STEP = 'UPDATE_NEXT_STEP';\nexport const UPDATE_SCREEN = 'UPDATE_SCREEN';\nexport const UPDATE_SEND_FORM = 'UPDATE_SEND_FORM';\nexport const UPDATE_STEP = 'UPDATE_STEP';\nexport const UPDATE_STEPS = 'UPDATE_STEPS';\nexport const UPDATE_STEPS_HISTORY = 'UPDATE_STEPS_HISTORY';\nexport const UPDATE_SUGGESTION = 'UPDATE_SUGGESTION';\nexport const UPDATE_USER_CENTER = 'UPDATE_USER_CENTER';\nexport const UPDATE_USER_GEOLOCATION = 'UPDATE_USER_GEOLOCATION';\nexport const UPDATE_WAIT_FOR_NEXT_STEP = 'UPDATE_WAIT_FOR_NEXT_STEP';\n\ninterface SetFormInfoAction {\n type: typeof SET_FORM_INFO;\n payload: Partial;\n}\ninterface SetFormResponseAction {\n type: typeof SET_FORM_RESPONSE;\n payload: any;\n}\ninterface SetFormSubmittedAction {\n type: typeof SET_FORM_SUBMITTED;\n payload: boolean;\n}\ninterface UpdateLiteralFieldsSteps {\n type: typeof UPDATE_LITERAL_FIELDS_STEPS;\n payload: [];\n}\ninterface SetStepsHistoryAction {\n type: typeof SET_STEPS_HISTORY;\n payload: number[];\n}\ninterface SetShowCalendarAction {\n type: typeof SET_SHOW_CALENDAR_ON_LOAD;\n payload: boolean;\n}\n\ninterface DeleteCloseAndPrevious {\n type: typeof SET_DELETE_CLOSE_AND_PREVIOUS;\n payload: boolean;\n}\ninterface SetCustomLegalAction {\n type: typeof SET_CUSTOM_LEGAL;\n payload: JSX.Element;\n}\ninterface HideLegalAction {\n type: typeof HIDE_LEGAL;\n payload: boolean;\n}\ninterface SetInitialStepsAction {\n type: typeof SET_INITIAL_STEPS;\n payload: Steps[];\n}\ninterface SetNavigationMovingForwardAction {\n type: typeof SET_NAVIGATION_MOVING_FORWARD;\n payload: boolean;\n}\ninterface SetSendDmsFailedAction {\n type: typeof SET_SEND_DMS_FAILED;\n payload: boolean;\n}\ninterface SendFormAction {\n type: typeof SEND_FORM;\n payload: any;\n}\n\ninterface ResetFormInfoAction {\n type: typeof RESET_FORM_INFO;\n}\ninterface UpdateScreenAction {\n type: typeof UPDATE_SCREEN;\n payload: number;\n}\n\ninterface UpdateStepsHistoryAction {\n type: typeof UPDATE_STEPS_HISTORY;\n payload: number;\n}\ninterface UpdateInitialZoomAction {\n type: typeof UPDATE_INITIAL_ZOOM;\n payload: number;\n}\ninterface UpdateStepAction {\n type: typeof UPDATE_STEP;\n payload: Steps;\n}\ninterface UpdateLastStepAction {\n type: typeof UPDATE_LAST_STEP;\n payload: Steps;\n}\ninterface UpdateStepsAction {\n type: typeof UPDATE_STEPS;\n payload: Steps[];\n}\ninterface UpdateGenericErrorAction {\n type: typeof UPDATE_GENERIC_ERROR;\n payload: boolean;\n}\ninterface UpdateWaitForNextStepAction {\n type: typeof UPDATE_WAIT_FOR_NEXT_STEP;\n payload: boolean;\n}\n\ninterface TriggerExitAnimationAction {\n type: typeof TRIGGER_EXIT_ANIMATION;\n payload: boolean;\n}\n\ninterface UpdateFirstMapLoadAction {\n type: typeof UPDATE_FIRST_MAP_LOAD;\n payload: boolean;\n}\ninterface UpdateNextStepAction {\n type: typeof UPDATE_NEXT_STEP;\n payload: () => number;\n}\n\ninterface UpdateSendFormAction {\n type: typeof UPDATE_SEND_FORM;\n payload: () => boolean;\n}\n\ninterface ShowFinalScreenAction {\n type: typeof SHOW_FINAL_SCREEN;\n payload: boolean;\n}\n\ninterface SetNumberOfScreensAction {\n type: typeof SET_NUMBER_OF_SCREENS;\n payload: number;\n}\n\ninterface UpdateFullscreenAction {\n type: typeof UPDATE_FULLSCREEN;\n payload: boolean;\n}\ninterface UpdateMultiStepsAction {\n type: typeof UPDATE_MULTISTEPS;\n payload: Steps[];\n}\ninterface UpdateMultiScreenIndexAction {\n type: typeof UPDATE_MULTISTEP_SCREENINDEX;\n payload: number;\n}\n\ninterface UpdateUserCenterAction {\n type: typeof UPDATE_USER_CENTER;\n payload: Center;\n}\n\ninterface UpdateSuggestionIsDealer {\n type: typeof SUGGESTION_IS_DEALER;\n payload: boolean;\n}\ninterface UpdateSuggestionIsInCanaryIslands {\n type: typeof SUGGESTION_IS_IN_CANARY_ISLANDS;\n payload: boolean;\n}\ninterface UpdateSuggestionIsAddress {\n type: typeof SUGGESTION_IS_ADDRESS;\n payload: boolean;\n}\ninterface UpdateSuggestion {\n type: typeof UPDATE_SUGGESTION;\n payload: Suggestion;\n}\ninterface UpdateUserGeolocation {\n type: typeof UPDATE_USER_GEOLOCATION;\n payload: Suggestion;\n}\n\ninterface UpdateFormEnded {\n type: typeof UPDATE_FORM_ENDED;\n payload: boolean;\n}\n\ninterface UpdateGeometryAction {\n type: typeof UPDATE_GEOMETRY;\n payload: Geometry;\n}\ninterface DisableTrackingAction {\n type: typeof DISABLE_TRACKING;\n}\n\nexport type FormInfoActionTypes =\n | SetInitialStepsAction\n | ResetFormInfoAction\n | SendFormAction\n | SetCustomLegalAction\n | SetShowCalendarAction\n | DeleteCloseAndPrevious\n | HideLegalAction\n | SetFormInfoAction\n | SetFormResponseAction\n | SetFormSubmittedAction\n | UpdateLiteralFieldsSteps\n | SetNavigationMovingForwardAction\n | SetNumberOfScreensAction\n | SetSendDmsFailedAction\n | SetStepsHistoryAction\n | ShowFinalScreenAction\n | TriggerExitAnimationAction\n | UpdateFirstMapLoadAction\n | UpdateFormEnded\n | UpdateFullscreenAction\n | UpdateGenericErrorAction\n | UpdateGeometryAction\n | UpdateInitialZoomAction\n | UpdateLastStepAction\n | UpdateMultiScreenIndexAction\n | UpdateMultiStepsAction\n | UpdateNextStepAction\n | UpdateScreenAction\n | UpdateSendFormAction\n | UpdateStepAction\n | UpdateStepsAction\n | UpdateStepsAction\n | UpdateStepsHistoryAction\n | UpdateSuggestion\n | UpdateSuggestionIsAddress\n | UpdateSuggestionIsDealer\n | UpdateSuggestionIsInCanaryIslands\n | UpdateUserCenterAction\n | UpdateUserGeolocation\n | DisableTrackingAction\n | UpdateWaitForNextStepAction;\n","import { FormInfo } from 'src/types';\nimport { formInfoInitialState } from './';\nimport { OneFormActionTypes, RESET_STATE } from './types';\nimport {\n FormInfoActionTypes,\n SET_FORM_INFO,\n SET_FORM_RESPONSE,\n SET_INITIAL_STEPS,\n SET_FORM_SUBMITTED,\n UPDATE_LITERAL_FIELDS_STEPS,\n SET_SHOW_CALENDAR_ON_LOAD,\n SET_DELETE_CLOSE_AND_PREVIOUS,\n SET_NUMBER_OF_SCREENS,\n SET_SEND_DMS_FAILED,\n SET_STEPS_HISTORY,\n SHOW_FINAL_SCREEN,\n SET_NAVIGATION_MOVING_FORWARD,\n SUGGESTION_IS_DEALER,\n SUGGESTION_IS_IN_CANARY_ISLANDS,\n TRIGGER_EXIT_ANIMATION,\n UPDATE_FIRST_MAP_LOAD,\n UPDATE_FORM_ENDED,\n UPDATE_FULLSCREEN,\n UPDATE_GENERIC_ERROR,\n UPDATE_GEOMETRY,\n DISABLE_TRACKING,\n UPDATE_INITIAL_ZOOM,\n UPDATE_LAST_STEP,\n UPDATE_MULTISTEP_SCREENINDEX,\n UPDATE_MULTISTEPS,\n UPDATE_NEXT_STEP,\n UPDATE_SCREEN,\n UPDATE_SEND_FORM,\n UPDATE_STEP,\n UPDATE_STEPS_HISTORY,\n UPDATE_STEPS,\n UPDATE_SUGGESTION,\n SUGGESTION_IS_ADDRESS,\n HIDE_LEGAL,\n SET_CUSTOM_LEGAL,\n UPDATE_USER_CENTER,\n UPDATE_USER_GEOLOCATION,\n UPDATE_WAIT_FOR_NEXT_STEP,\n} from './form-info-types';\n\nexport function formInfoReducer(state: FormInfo = null, action: OneFormActionTypes | FormInfoActionTypes): any {\n switch (action.type) {\n case RESET_STATE:\n return { ...formInfoInitialState };\n case SET_FORM_INFO:\n return { ...state, ...action.payload };\n case SET_FORM_RESPONSE:\n return { ...state, formResponse: action.payload };\n case HIDE_LEGAL:\n return { ...state, hideLegal: action.payload };\n \n case SET_CUSTOM_LEGAL:\n return { ...state, customLegal: action.payload };\n\n case SET_FORM_SUBMITTED:\n return { ...state, formSubmitted: action.payload };\n case UPDATE_SCREEN:\n return {\n ...state,\n screenIndex: action.payload,\n };\n case SET_NAVIGATION_MOVING_FORWARD:\n return {\n ...state,\n navigationMovingForward: action.payload,\n };\n case SET_NUMBER_OF_SCREENS:\n return {\n ...state,\n numberOfScreens: action.payload,\n };\n case SET_STEPS_HISTORY:\n return { ...state, stepsHistory: action.payload };\n case UPDATE_STEPS_HISTORY:\n if (!state.stepsHistory || state.stepsHistory.length === 0) {\n return {\n ...state,\n };\n }\n \n const previousSteps = [...state.stepsHistory];\n const newNumber = action.payload;\n const index = previousSteps.indexOf(newNumber);\n\n if (index === -1) {\n previousSteps.push(newNumber);\n return {\n ...state,\n stepsHistory: previousSteps,\n };\n }\n return {\n ...state,\n };\n case UPDATE_STEP:\n return {\n ...state,\n step: action.payload,\n };\n case UPDATE_LAST_STEP:\n return {\n ...state,\n lastStep: action.payload,\n };\n case UPDATE_STEPS:\n return {\n ...state,\n steps: action.payload,\n };\n case SET_INITIAL_STEPS:\n return {\n ...state,\n initialSteps: action.payload,\n };\n case UPDATE_LITERAL_FIELDS_STEPS:\n return { \n ...state, \n stepsLiteralFields: { ...state.stepsLiteralFields, ...action.payload }\n };\n case SET_SHOW_CALENDAR_ON_LOAD:\n return {\n ...state,\n showCalendarOnLoad: action.payload,\n };\n case SET_DELETE_CLOSE_AND_PREVIOUS:\n return {\n ...state,\n deleteCloseAndPrevious: action.payload,\n };\n case TRIGGER_EXIT_ANIMATION:\n return {\n ...state,\n triggerExitAnimation: action.payload,\n };\n case UPDATE_GENERIC_ERROR:\n return {\n ...state,\n genericError: action.payload,\n };\n case SET_SEND_DMS_FAILED:\n return {\n ...state,\n sendDmsFailed: action.payload,\n };\n case UPDATE_NEXT_STEP:\n return {\n ...state,\n nextStepCallback: action.payload,\n };\n case UPDATE_FIRST_MAP_LOAD:\n return {\n ...state,\n firstMapLoad: action.payload,\n };\n case UPDATE_SEND_FORM:\n return {\n ...state,\n sendFormCallback: action.payload,\n };\n case UPDATE_FULLSCREEN:\n return {\n ...state,\n fullScreen: action.payload,\n };\n case SHOW_FINAL_SCREEN:\n return {\n ...state,\n showFinalScreen: action.payload,\n };\n case UPDATE_MULTISTEPS:\n return {\n ...state,\n multiSteps: action.payload,\n };\n case UPDATE_MULTISTEP_SCREENINDEX:\n return {\n ...state,\n multiStepScreenIndex: action.payload,\n };\n case UPDATE_USER_CENTER:\n return {\n ...state,\n userCenter: action.payload,\n };\n case SUGGESTION_IS_DEALER:\n return {\n ...state,\n suggestionIsDealer: action.payload,\n };\n case SUGGESTION_IS_IN_CANARY_ISLANDS:\n return {\n ...state,\n suggestionIsInCanaryIslands: action.payload,\n };\n case SUGGESTION_IS_ADDRESS:\n return {\n ...state,\n suggestionIsAddress: action.payload,\n };\n case UPDATE_SUGGESTION:\n return {\n ...state,\n userSuggestion: action.payload,\n };\n case UPDATE_USER_GEOLOCATION:\n return {\n ...state,\n userGeoLocation: action.payload,\n };\n case UPDATE_WAIT_FOR_NEXT_STEP:\n return {\n ...state,\n waitForNextStep: action.payload,\n };\n case UPDATE_FORM_ENDED:\n return {\n ...state,\n formEnded: action.payload,\n };\n /** deprecated */\n case UPDATE_INITIAL_ZOOM:\n return {\n ...state,\n initialZoom: action.payload,\n };\n case UPDATE_GEOMETRY:\n return {\n ...state,\n geometry: action.payload,\n };\n case DISABLE_TRACKING:\n return {\n ...state,\n trackingIsDisabled: true\n };\n\n default:\n return state;\n }\n}\n","export const ADD_DOMAIN = 'ADD_DOMAIN';\n\ninterface AddDomain {\n type: typeof ADD_DOMAIN;\n payload: [];\n}\n\nexport type DomainsActionTypes = AddDomain;\n","import { domainsInfoInitialState } from '.';\nimport { DomainsInfo } from 'src/types';\nimport { OneFormActionTypes, RESET_STATE } from './types';\nimport { DomainsActionTypes, ADD_DOMAIN } from './domains-types';\n\nexport function domainsReducer(state: DomainsInfo = null, action: OneFormActionTypes | DomainsActionTypes): any {\n\tswitch (action.type) {\n\t\tcase RESET_STATE:\n\t\t\treturn domainsInfoInitialState;\n\t\tcase ADD_DOMAIN:\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t...action.payload,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n}\n","import { combineReducers } from 'redux';\nimport { VehiclesInfo, DealersInfo, FormDataGroup, FormInfo, OneFormState } from 'src/types';\nimport { vehiclesReducer, dealersReducer, formDataReducer, formInfoReducer, domainsReducer } from './';\n\nexport const formInfoInitialState: FormInfo = {\n firstMapLoad: true,\n formEnded: false,\n formStarted: false,\n fullScreen: false,\n genericError: false,\n formSubmitted: false,\n multiStepScreenIndex: null,\n numberOfScreens: null,\n screenIndex: null,\n showFinalScreen: false,\n step: null,\n steps: null,\n stepsHistory: null,\n thankYouComponent: null,\n triggerExitAnimation: false,\n userIsAuthenticated: false,\n waitForNextStep: false,\n trackingIsDisabled: false,\n stepsLiteralFields: []\n};\n\nexport const formData: FormDataGroup = { headers: {}, fields: {} };\nexport const dealersInfo: DealersInfo = {\n dealers: null,\n installations: null,\n selectedCarline: null,\n points: null,\n selectedDealer: null,\n favouriteDealer: null,\n urlDealer: null,\n selectedInstallation: null,\n dealersOrInstallationsMode: null,\n carlines: null,\n oferta: null,\n salesGroup: null,\n match: null,\n citaCarlines: null,\n};\nexport const vehiclesInfo: VehiclesInfo = { \n brands: null, \n models: null, \n brandSelected: null, \n modelSelected: null \n};\nexport const domainsInfoInitialState: any = [];\n\nexport const initialState: OneFormState = {\n formInfo: formInfoInitialState,\n formData,\n dealersInfo,\n vehiclesInfo,\n domainsInfo: domainsInfoInitialState,\n};\n\nexport const oneFormReducer = combineReducers({\n formData: formDataReducer,\n formInfo: formInfoReducer,\n dealersInfo: dealersReducer,\n vehiclesInfo: vehiclesReducer,\n domainsInfo: domainsReducer,\n});\n","// Cache implementation based on Erik Rasmussen's `lru-memoize`:\n// https://github.com/erikras/lru-memoize\nvar NOT_FOUND = 'NOT_FOUND';\n\nfunction createSingletonCache(equals) {\n var entry;\n return {\n get: function get(key) {\n if (entry && equals(entry.key, key)) {\n return entry.value;\n }\n\n return NOT_FOUND;\n },\n put: function put(key, value) {\n entry = {\n key: key,\n value: value\n };\n },\n getEntries: function getEntries() {\n return entry ? [entry] : [];\n },\n clear: function clear() {\n entry = undefined;\n }\n };\n}\n\nfunction createLruCache(maxSize, equals) {\n var entries = [];\n\n function get(key) {\n var cacheIndex = entries.findIndex(function (entry) {\n return equals(key, entry.key);\n }); // We found a cached entry\n\n if (cacheIndex > -1) {\n var entry = entries[cacheIndex]; // Cached entry not at top of cache, move it to the top\n\n if (cacheIndex > 0) {\n entries.splice(cacheIndex, 1);\n entries.unshift(entry);\n }\n\n return entry.value;\n } // No entry found in cache, return sentinel\n\n\n return NOT_FOUND;\n }\n\n function put(key, value) {\n if (get(key) === NOT_FOUND) {\n // TODO Is unshift slow?\n entries.unshift({\n key: key,\n value: value\n });\n\n if (entries.length > maxSize) {\n entries.pop();\n }\n }\n }\n\n function getEntries() {\n return entries;\n }\n\n function clear() {\n entries = [];\n }\n\n return {\n get: get,\n put: put,\n getEntries: getEntries,\n clear: clear\n };\n}\n\nexport var defaultEqualityCheck = function defaultEqualityCheck(a, b) {\n return a === b;\n};\nexport function createCacheKeyComparator(equalityCheck) {\n return function areArgumentsShallowlyEqual(prev, next) {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n } // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\n\n\n var length = prev.length;\n\n for (var i = 0; i < length; i++) {\n if (!equalityCheck(prev[i], next[i])) {\n return false;\n }\n }\n\n return true;\n };\n}\n// defaultMemoize now supports a configurable cache size with LRU behavior,\n// and optional comparison of the result value with existing values\nexport function defaultMemoize(func, equalityCheckOrOptions) {\n var providedOptions = typeof equalityCheckOrOptions === 'object' ? equalityCheckOrOptions : {\n equalityCheck: equalityCheckOrOptions\n };\n var _providedOptions$equa = providedOptions.equalityCheck,\n equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa,\n _providedOptions$maxS = providedOptions.maxSize,\n maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS,\n resultEqualityCheck = providedOptions.resultEqualityCheck;\n var comparator = createCacheKeyComparator(equalityCheck);\n var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator); // we reference arguments instead of spreading them for performance reasons\n\n function memoized() {\n var value = cache.get(arguments);\n\n if (value === NOT_FOUND) {\n // @ts-ignore\n value = func.apply(null, arguments);\n\n if (resultEqualityCheck) {\n var entries = cache.getEntries();\n var matchingEntry = entries.find(function (entry) {\n return resultEqualityCheck(entry.value, value);\n });\n\n if (matchingEntry) {\n value = matchingEntry.value;\n }\n }\n\n cache.put(arguments, value);\n }\n\n return value;\n }\n\n memoized.clearCache = function () {\n return cache.clear();\n };\n\n return memoized;\n}","import { defaultMemoize, defaultEqualityCheck } from './defaultMemoize';\nexport { defaultMemoize, defaultEqualityCheck };\n\nfunction getDependencies(funcs) {\n var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;\n\n if (!dependencies.every(function (dep) {\n return typeof dep === 'function';\n })) {\n var dependencyTypes = dependencies.map(function (dep) {\n return typeof dep === 'function' ? \"function \" + (dep.name || 'unnamed') + \"()\" : typeof dep;\n }).join(', ');\n throw new Error(\"createSelector expects all input-selectors to be functions, but received the following types: [\" + dependencyTypes + \"]\");\n }\n\n return dependencies;\n}\n\nexport function createSelectorCreator(memoize) {\n for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n memoizeOptionsFromArgs[_key - 1] = arguments[_key];\n }\n\n var createSelector = function createSelector() {\n for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n funcs[_key2] = arguments[_key2];\n }\n\n var _recomputations = 0;\n\n var _lastResult; // Due to the intricacies of rest params, we can't do an optional arg after `...funcs`.\n // So, start by declaring the default value here.\n // (And yes, the words 'memoize' and 'options' appear too many times in this next sequence.)\n\n\n var directlyPassedOptions = {\n memoizeOptions: undefined\n }; // Normally, the result func or \"output selector\" is the last arg\n\n var resultFunc = funcs.pop(); // If the result func is actually an _object_, assume it's our options object\n\n if (typeof resultFunc === 'object') {\n directlyPassedOptions = resultFunc; // and pop the real result func off\n\n resultFunc = funcs.pop();\n }\n\n if (typeof resultFunc !== 'function') {\n throw new Error(\"createSelector expects an output function after the inputs, but received: [\" + typeof resultFunc + \"]\");\n } // Determine which set of options we're using. Prefer options passed directly,\n // but fall back to options given to createSelectorCreator.\n\n\n var _directlyPassedOption = directlyPassedOptions,\n _directlyPassedOption2 = _directlyPassedOption.memoizeOptions,\n memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2; // Simplifying assumption: it's unlikely that the first options arg of the provided memoizer\n // is an array. In most libs I've looked at, it's an equality function or options object.\n // Based on that, if `memoizeOptions` _is_ an array, we assume it's a full\n // user-provided array of options. Otherwise, it must be just the _first_ arg, and so\n // we wrap it in an array so we can apply it.\n\n var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions];\n var dependencies = getDependencies(funcs);\n var memoizedResultFunc = memoize.apply(void 0, [function recomputationWrapper() {\n _recomputations++; // apply arguments instead of spreading for performance.\n\n return resultFunc.apply(null, arguments);\n }].concat(finalMemoizeOptions)); // If a selector is called with the exact same arguments we don't need to traverse our dependencies again.\n\n var selector = memoize(function dependenciesChecker() {\n var params = [];\n var length = dependencies.length;\n\n for (var i = 0; i < length; i++) {\n // apply arguments instead of spreading and mutate a local list of params for performance.\n // @ts-ignore\n params.push(dependencies[i].apply(null, arguments));\n } // apply arguments instead of spreading for performance.\n\n\n _lastResult = memoizedResultFunc.apply(null, params);\n return _lastResult;\n });\n Object.assign(selector, {\n resultFunc: resultFunc,\n memoizedResultFunc: memoizedResultFunc,\n dependencies: dependencies,\n lastResult: function lastResult() {\n return _lastResult;\n },\n recomputations: function recomputations() {\n return _recomputations;\n },\n resetRecomputations: function resetRecomputations() {\n return _recomputations = 0;\n }\n });\n return selector;\n }; // @ts-ignore\n\n\n return createSelector;\n}\nexport var createSelector = /* #__PURE__ */createSelectorCreator(defaultMemoize);\n// Manual definition of state and output arguments\nexport var createStructuredSelector = function createStructuredSelector(selectors, selectorCreator) {\n if (selectorCreator === void 0) {\n selectorCreator = createSelector;\n }\n\n if (typeof selectors !== 'object') {\n throw new Error('createStructuredSelector expects first argument to be an object ' + (\"where each property is a selector, instead received a \" + typeof selectors));\n }\n\n var objectKeys = Object.keys(selectors);\n var resultSelector = selectorCreator( // @ts-ignore\n objectKeys.map(function (key) {\n return selectors[key];\n }), function () {\n for (var _len3 = arguments.length, values = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n values[_key3] = arguments[_key3];\n }\n\n return values.reduce(function (composition, value, index) {\n composition[objectKeys[index]] = value;\n return composition;\n }, {});\n });\n return resultSelector;\n};","import { OneFormState } from 'src/types';\n\nimport { createSelector } from 'reselect';\n\nconst getPoint = (state: OneFormState) => {\n return state.dealersInfo.points;\n};\n\nexport const getPoints = createSelector(getPoint, (getPoint) => getPoint);\n\nconst getGeometryProperty = (state: OneFormState) => {\n return state.formInfo.geometry;\n};\n\nexport const getGeometry = createSelector(getGeometryProperty, (getGeometryProperty) => getGeometryProperty);\n\nconst getUserSuggestionProperty = (state: OneFormState) => {\n return state.formInfo.userSuggestion;\n};\n\nexport const getUserSuggestion = createSelector(\n getUserSuggestionProperty,\n (getUserSuggestionProperty) => getUserSuggestionProperty\n);\n\nconst getUserGeolocationProperty = (state: OneFormState) => {\n return state.formInfo.userGeoLocation;\n};\n\nexport const getUserGeolocation = createSelector(\n getUserGeolocationProperty,\n (getUserGeolocationProperty) => getUserGeolocationProperty\n);\n","import { FeatureAppEnvironment } from '@feature-hub/core';\nimport { Dependencies } from 'src';\n\nlet featureServicesMirror: Dependencies = null;\nlet featureEnvironmentMirror: FeatureAppEnvironment = null;\n\nexport const saveFeatureServices = (featureServices: Dependencies) => {\n featureServicesMirror = featureServices;\n};\nexport const saveEnvironment = (environment: FeatureAppEnvironment) => {\n featureEnvironmentMirror = environment;\n};\nexport const getFeatureServices = () => featureServicesMirror;\nexport const getEnvironment = () => featureEnvironmentMirror;\nexport const getOneHubConfig = () => featureServicesMirror['service-config-provider'].configs['es-onehub-vw'];\nexport const getDataServiceConfig = () => featureServicesMirror['service-config-provider'].configs['es-vwdata'];\nexport const getMolecularCdnServiceConfig = () =>\n featureServicesMirror['service-config-provider'].configs['es-molecular-cdn'];\nexport const getMolecularServiceConfig = () => featureServicesMirror['service-config-provider'].configs['es-molecular'];\nexport const getVicciServiceConfig = () => featureServicesMirror['service-config-provider'].configs['oneapi-vicci'];\nexport const getVicciApiKey = () => featureServicesMirror['api-key-provider'].apiKey;\nexport const getGoogleApiKeyServiceConfig = () =>\n featureServicesMirror['service-config-provider'].configs['es-google-apikey'];\nexport const getOneformBFFCdnServiceConfig = () =>\n featureServicesMirror['service-config-provider'].configs['es-oneform-bff-cdn'];\nexport const getOneformBFFServiceConfig = () => featureServicesMirror['service-config-provider'].configs['es-oneform-bff'];\nexport const getVwEventosConfig = () => featureServicesMirror['service-config-provider'].configs['es-vweventos'];\n","import * as React from 'react';\nimport * as Sentry from '@sentry/react';\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\n\ninterface Props {\n hub: Sentry.Hub;\n close?: CloseHandleV2;\n children: React.ReactNode;\n}\nclass ErrorBoundary extends React.Component {\n constructor(props: Props) {\n super(props);\n this.state = { eventId: null };\n }\n\n static getDerivedStateFromError() {\n return { hasError: true };\n }\n\n componentDidCatch(error, errorInfo) {\n /** \n * We make use of the Sentry hub passed in props to report the application\n * error to the intended recipient Sentry project.\n * Note: if Sentry.init was used, it looks like they should get a copy of\n * that error in their Sentry project too (though this behaviour might only\n * be applicable in development, to be confirmed.)\n */\n // Sentry.makeMain(this.props.hub);\n this.props.hub.run(currentHub => {\n currentHub.withScope((scope) => {\n scope.setExtras(errorInfo);\n const eventId = currentHub.captureException(error);\n this.setState({eventId});\n });\n\n });\n if (this.props.close) {\n this.props.close({},{},{});\n }\n\n }\n\n render() {\n if (this.state.hasError) {\n //render fallback UI\n return null;\n }\n\n //when there's not an error, render children untouched\n return this.props.children;\n }\n}\n\nexport default ErrorBoundary;\n","import { Integration, WrappedFunction } from '@sentry/types';\nimport { getOriginalFunction } from '@sentry/utils';\n\nlet originalFunctionToString: () => void;\n\n/** Patch toString calls to return proper name for wrapped functions */\nexport class FunctionToString implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'FunctionToString';\n\n /**\n * @inheritDoc\n */\n public name: string = FunctionToString.id;\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n originalFunctionToString = Function.prototype.toString;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Function.prototype.toString = function (this: WrappedFunction, ...args: any[]): string {\n const context = getOriginalFunction(this) || this;\n return originalFunctionToString.apply(context, args);\n };\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n\nimport { Primitive } from '@sentry/types';\n\n// eslint-disable-next-line @typescript-eslint/unbound-method\nconst objectToString = Object.prototype.toString;\n\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isError(wat: unknown): wat is Error {\n switch (objectToString.call(wat)) {\n case '[object Error]':\n case '[object Exception]':\n case '[object DOMException]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n\nfunction isBuiltin(wat: unknown, ty: string): boolean {\n return objectToString.call(wat) === `[object ${ty}]`;\n}\n\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isErrorEvent(wat: unknown): boolean {\n return isBuiltin(wat, 'ErrorEvent');\n}\n\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMError(wat: unknown): boolean {\n return isBuiltin(wat, 'DOMError');\n}\n\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMException(wat: unknown): boolean {\n return isBuiltin(wat, 'DOMException');\n}\n\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isString(wat: unknown): wat is string {\n return isBuiltin(wat, 'String');\n}\n\n/**\n * Checks whether given value is a primitive (undefined, null, number, boolean, string, bigint, symbol)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPrimitive(wat: unknown): wat is Primitive {\n return wat === null || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n\n/**\n * Checks whether given value's type is an object literal\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPlainObject(wat: unknown): wat is Record {\n return isBuiltin(wat, 'Object');\n}\n\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isEvent(wat: unknown): boolean {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isElement(wat: unknown): boolean {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isRegExp(wat: unknown): wat is RegExp {\n return isBuiltin(wat, 'RegExp');\n}\n\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nexport function isThenable(wat: any): wat is PromiseLike {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n}\n\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isSyntheticEvent(wat: unknown): boolean {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n\n/**\n * Checks whether given value is NaN\n * {@link isNaN}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isNaN(wat: unknown): boolean {\n return typeof wat === 'number' && wat !== wat;\n}\n\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nexport function isInstanceOf(wat: any, base: any): boolean {\n try {\n return wat instanceof base;\n } catch (_e) {\n return false;\n }\n}\n","import { getGlobalObject } from './global';\nimport { isString } from './is';\n\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nexport function htmlTreeAsString(elem: unknown, keyAttrs?: string[]): string {\n type SimpleNode = {\n parentNode: SimpleNode;\n } | null;\n\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n let currentElem = elem as SimpleNode;\n const MAX_TRAVERSE_HEIGHT = 5;\n const MAX_OUTPUT_LEN = 80;\n const out = [];\n let height = 0;\n let len = 0;\n const separator = ' > ';\n const sepLength = separator.length;\n let nextStr;\n\n // eslint-disable-next-line no-plusplus\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem, keyAttrs);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds MAX_OUTPUT_LEN\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)) {\n break;\n }\n\n out.push(nextStr);\n\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n\n return out.reverse().join(separator);\n } catch (_oO) {\n return '';\n }\n}\n\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el: unknown, keyAttrs?: string[]): string {\n const elem = el as {\n tagName?: string;\n id?: string;\n className?: string;\n getAttribute(key: string): string;\n };\n\n const out = [];\n let className;\n let classes;\n let key;\n let attr;\n let i;\n\n if (!elem || !elem.tagName) {\n return '';\n }\n\n out.push(elem.tagName.toLowerCase());\n\n // Pairs of attribute keys defined in `serializeAttribute` and their values on element.\n const keyAttrPairs =\n keyAttrs && keyAttrs.length\n ? keyAttrs.filter(keyAttr => elem.getAttribute(keyAttr)).map(keyAttr => [keyAttr, elem.getAttribute(keyAttr)])\n : null;\n\n if (keyAttrPairs && keyAttrPairs.length) {\n keyAttrPairs.forEach(keyAttrPair => {\n out.push(`[${keyAttrPair[0]}=\"${keyAttrPair[1]}\"]`);\n });\n } else {\n if (elem.id) {\n out.push(`#${elem.id}`);\n }\n\n // eslint-disable-next-line prefer-const\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push(`.${classes[i]}`);\n }\n }\n }\n const allowedAttrs = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < allowedAttrs.length; i++) {\n key = allowedAttrs[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push(`[${key}=\"${attr}\"]`);\n }\n }\n return out.join('');\n}\n\n/**\n * A safe form of location.href\n */\nexport function getLocationHref(): string {\n const global = getGlobalObject();\n try {\n return global.document.location.href;\n } catch (oO) {\n return '';\n }\n}\n","import { isRegExp, isString } from './is';\n\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string (0 = unlimited)\n * @returns string Encoded\n */\nexport function truncate(str: string, max: number = 0): string {\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : `${str.substr(0, max)}...`;\n}\n\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function snipLine(line: string, colno: number): string {\n let newLine = line;\n const lineLength = newLine.length;\n if (lineLength <= 150) {\n return newLine;\n }\n if (colno > lineLength) {\n // eslint-disable-next-line no-param-reassign\n colno = lineLength;\n }\n\n let start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n\n let end = Math.min(start + 140, lineLength);\n if (end > lineLength - 5) {\n end = lineLength;\n }\n if (end === lineLength) {\n start = Math.max(end - 140, 0);\n }\n\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = `'{snip} ${newLine}`;\n }\n if (end < lineLength) {\n newLine += ' {snip}';\n }\n\n return newLine;\n}\n\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function safeJoin(input: any[], delimiter?: string): string {\n if (!Array.isArray(input)) {\n return '';\n }\n\n const output = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < input.length; i++) {\n const value = input[i];\n try {\n output.push(String(value));\n } catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n\n return output.join(delimiter);\n}\n\n/**\n * Checks if the value matches a regex or includes the string\n * @param value The string value to be checked against\n * @param pattern Either a regex or a string that must be contained in value\n */\nexport function isMatchingPattern(value: string, pattern: RegExp | string): boolean {\n if (!isString(value)) {\n return false;\n }\n\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (typeof pattern === 'string') {\n return value.indexOf(pattern) !== -1;\n }\n return false;\n}\n\n/**\n * Given a string, escape characters which have meaning in the regex grammar, such that the result is safe to feed to\n * `new RegExp()`.\n *\n * Based on https://github.com/sindresorhus/escape-string-regexp. Vendored to a) reduce the size by skipping the runtime\n * type-checking, and b) ensure it gets down-compiled for old versions of Node (the published package only supports Node\n * 12+).\n *\n * @param regexString The string to escape\n * @returns An version of the string with all special regex characters escaped\n */\nexport function escapeStringForRegex(regexString: string): string {\n // escape the hyphen separately so we can also replace it with a unicode literal hyphen, to avoid the problems\n // discussed in https://github.com/sindresorhus/escape-string-regexp/issues/20.\n return regexString.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&').replace(/-/g, '\\\\x2d');\n}\n","/* eslint-disable max-lines */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ExtendedError, WrappedFunction } from '@sentry/types';\n\nimport { htmlTreeAsString } from './browser';\nimport { isElement, isError, isEvent, isInstanceOf, isPlainObject, isPrimitive } from './is';\nimport { truncate } from './string';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, )` or `origMethod.apply(this, [])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nexport function fill(source: { [key: string]: any }, name: string, replacementFactory: (...args: any[]) => any): void {\n if (!(name in source)) {\n return;\n }\n\n const original = source[name] as () => any;\n const wrapped = replacementFactory(original) as WrappedFunction;\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n try {\n markFunctionWrapped(wrapped, original);\n } catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n\n source[name] = wrapped;\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nexport function addNonEnumerableProperty(obj: { [key: string]: unknown }, name: string, value: unknown): void {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true,\n });\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nexport function markFunctionWrapped(wrapped: WrappedFunction, original: WrappedFunction): void {\n const proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\nexport function getOriginalFunction(func: WrappedFunction): WrappedFunction | undefined {\n return func.__sentry_original__;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nexport function urlEncode(object: { [key: string]: any }): string {\n return Object.keys(object)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`)\n .join('&');\n}\n\n/**\n * Transforms any object into an object literal with all its attributes\n * attached to it.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n */\nexport function convertToPlainObject(value: unknown): {\n [key: string]: unknown;\n} {\n let newObj = value as {\n [key: string]: unknown;\n };\n\n if (isError(value)) {\n newObj = {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value as ExtendedError),\n };\n } else if (isEvent(value)) {\n /**\n * Event-like interface that's usable in browser and node\n */\n interface SimpleEvent {\n [key: string]: unknown;\n type: string;\n target?: unknown;\n currentTarget?: unknown;\n }\n\n const event = value as SimpleEvent;\n\n newObj = {\n type: event.type,\n target: serializeEventTarget(event.target),\n currentTarget: serializeEventTarget(event.currentTarget),\n ...getOwnProperties(event),\n };\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = event.detail;\n }\n }\n return newObj;\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target: unknown): string {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj: { [key: string]: unknown }): { [key: string]: unknown } {\n const extractedProps: { [key: string]: unknown } = {};\n for (const property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = obj[property];\n }\n }\n return extractedProps;\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function extractExceptionKeysForMessage(exception: any, maxLength: number = 40): string {\n const keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n if (!keys.length) {\n return '[object has no keys]';\n }\n\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n const serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n\n/**\n * Given any object, return the new object with removed keys that value was `undefined`.\n * Works recursively on objects and arrays.\n */\nexport function dropUndefinedKeys(val: T): T {\n if (isPlainObject(val)) {\n const rv: { [key: string]: any } = {};\n for (const key of Object.keys(val)) {\n if (typeof val[key] !== 'undefined') {\n rv[key] = dropUndefinedKeys(val[key]);\n }\n }\n return rv as T;\n }\n\n if (Array.isArray(val)) {\n return (val as any[]).map(dropUndefinedKeys) as any;\n }\n\n return val;\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nexport function objectify(wat: unknown): typeof Object {\n let objectified;\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n objectified = new (wat as any).constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n","import { WrappedFunction } from '@sentry/types';\n\nimport { IS_DEBUG_BUILD } from './flags';\nimport { getGlobalObject, getGlobalSingleton } from './global';\n\n// TODO: Implement different loggers for different environments\nconst global = getGlobalObject();\n\n/** Prefix for logging strings */\nconst PREFIX = 'Sentry Logger ';\n\nexport const CONSOLE_LEVELS = ['debug', 'info', 'warn', 'error', 'log', 'assert'] as const;\n\ntype LoggerMethod = (...args: unknown[]) => void;\ntype LoggerConsoleMethods = Record;\n\n/** JSDoc */\ninterface Logger extends LoggerConsoleMethods {\n disable(): void;\n enable(): void;\n}\n\n/**\n * Temporarily disable sentry console instrumentations.\n *\n * @param callback The function to run against the original `console` messages\n * @returns The results of the callback\n */\nexport function consoleSandbox(callback: () => T): T {\n const global = getGlobalObject();\n\n if (!('console' in global)) {\n return callback();\n }\n\n const originalConsole = global.console as Console & Record;\n const wrappedLevels: Partial = {};\n\n // Restore all wrapped console methods\n CONSOLE_LEVELS.forEach(level => {\n // TODO(v7): Remove this check as it's only needed for Node 6\n const originalWrappedFunc =\n originalConsole[level] && (originalConsole[level] as WrappedFunction).__sentry_original__;\n if (level in global.console && originalWrappedFunc) {\n wrappedLevels[level] = originalConsole[level] as LoggerConsoleMethods[typeof level];\n originalConsole[level] = originalWrappedFunc as Console[typeof level];\n }\n });\n\n try {\n return callback();\n } finally {\n // Revert restoration to wrapped state\n Object.keys(wrappedLevels).forEach(level => {\n originalConsole[level] = wrappedLevels[level as typeof CONSOLE_LEVELS[number]];\n });\n }\n}\n\nfunction makeLogger(): Logger {\n let enabled = false;\n const logger: Partial = {\n enable: () => {\n enabled = true;\n },\n disable: () => {\n enabled = false;\n },\n };\n\n if (IS_DEBUG_BUILD) {\n CONSOLE_LEVELS.forEach(name => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n logger[name] = (...args: any[]) => {\n if (enabled) {\n consoleSandbox(() => {\n global.console[name](`${PREFIX}[${name}]:`, ...args);\n });\n }\n };\n });\n } else {\n CONSOLE_LEVELS.forEach(name => {\n logger[name] = () => undefined;\n });\n }\n\n return logger as Logger;\n}\n\n// Ensure we only have a single logger instance, even if multiple versions of @sentry/utils are being used\nlet logger: Logger;\nif (IS_DEBUG_BUILD) {\n logger = getGlobalSingleton('logger', makeLogger);\n} else {\n logger = makeLogger();\n}\n\nexport { logger };\n","/*\n * This file defines flags and constants that can be modified during compile time in order to facilitate tree shaking\n * for users.\n *\n * Debug flags need to be declared in each package individually and must not be imported across package boundaries,\n * because some build tools have trouble tree-shaking imported guards.\n *\n * As a convention, we define debug flags in a `flags.ts` file in the root of a package's `src` folder.\n *\n * Debug flag files will contain \"magic strings\" like `__SENTRY_DEBUG__` that may get replaced with actual values during\n * our, or the user's build process. Take care when introducing new flags - they must not throw if they are not\n * replaced.\n */\n\ndeclare const __SENTRY_DEBUG__: boolean;\n\n/** Flag that is true for debug builds, false otherwise. */\nexport const IS_DEBUG_BUILD = typeof __SENTRY_DEBUG__ === 'undefined' ? true : __SENTRY_DEBUG__;\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Event, Exception, Mechanism, StackFrame } from '@sentry/types';\n\nimport { getGlobalObject } from './global';\nimport { addNonEnumerableProperty } from './object';\nimport { snipLine } from './string';\n\n/**\n * Extended Window interface that allows for Crypto API usage in IE browsers\n */\ninterface MsCryptoWindow extends Window {\n msCrypto?: Crypto;\n}\n\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nexport function uuid4(): string {\n const global = getGlobalObject() as MsCryptoWindow;\n const crypto = global.crypto || global.msCrypto;\n\n if (!(crypto === void 0) && crypto.getRandomValues) {\n // Use window.crypto API if available\n const arr = new Uint16Array(8);\n crypto.getRandomValues(arr);\n\n // set 4 in byte 7\n // eslint-disable-next-line no-bitwise\n arr[3] = (arr[3] & 0xfff) | 0x4000;\n // set 2 most significant bits of byte 9 to '10'\n // eslint-disable-next-line no-bitwise\n arr[4] = (arr[4] & 0x3fff) | 0x8000;\n\n const pad = (num: number): string => {\n let v = num.toString(16);\n while (v.length < 4) {\n v = `0${v}`;\n }\n return v;\n };\n\n return (\n pad(arr[0]) + pad(arr[1]) + pad(arr[2]) + pad(arr[3]) + pad(arr[4]) + pad(arr[5]) + pad(arr[6]) + pad(arr[7])\n );\n }\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, c => {\n // eslint-disable-next-line no-bitwise\n const r = (Math.random() * 16) | 0;\n // eslint-disable-next-line no-bitwise\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\n/**\n * Parses string form of URL into an object\n * // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n * // intentionally using regex and not href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nexport function parseUrl(url: string): {\n host?: string;\n path?: string;\n protocol?: string;\n relative?: string;\n} {\n if (!url) {\n return {};\n }\n\n const match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n\n if (!match) {\n return {};\n }\n\n // coerce to undefined values to empty string so we don't get 'undefined'\n const query = match[6] || '';\n const fragment = match[8] || '';\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n relative: match[5] + query + fragment, // everything minus origin\n };\n}\n\nfunction getFirstException(event: Event): Exception | undefined {\n return event.exception && event.exception.values ? event.exception.values[0] : undefined;\n}\n\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nexport function getEventDescription(event: Event): string {\n const { message, event_id: eventId } = event;\n if (message) {\n return message;\n }\n\n const firstException = getFirstException(event);\n if (firstException) {\n if (firstException.type && firstException.value) {\n return `${firstException.type}: ${firstException.value}`;\n }\n return firstException.type || firstException.value || eventId || '';\n }\n return eventId || '';\n}\n\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nexport function addExceptionTypeValue(event: Event, value?: string, type?: string): void {\n const exception = (event.exception = event.exception || {});\n const values = (exception.values = exception.values || []);\n const firstException = (values[0] = values[0] || {});\n if (!firstException.value) {\n firstException.value = value || '';\n }\n if (!firstException.type) {\n firstException.type = type || 'Error';\n }\n}\n\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\nexport function addExceptionMechanism(event: Event, newMechanism?: Partial): void {\n const firstException = getFirstException(event);\n if (!firstException) {\n return;\n }\n\n const defaultMechanism = { type: 'generic', handled: true };\n const currentMechanism = firstException.mechanism;\n firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n\n if (newMechanism && 'data' in newMechanism) {\n const mergedData = { ...(currentMechanism && currentMechanism.data), ...newMechanism.data };\n firstException.mechanism.data = mergedData;\n }\n}\n\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst SEMVER_REGEXP =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n\n/**\n * Represents Semantic Versioning object\n */\ninterface SemVer {\n major?: number;\n minor?: number;\n patch?: number;\n prerelease?: string;\n buildmetadata?: string;\n}\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nexport function parseSemver(input: string): SemVer {\n const match = input.match(SEMVER_REGEXP) || [];\n const major = parseInt(match[1], 10);\n const minor = parseInt(match[2], 10);\n const patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\n\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nexport function addContextToFrame(lines: string[], frame: StackFrame, linesOfContext: number = 5): void {\n const lineno = frame.lineno || 0;\n const maxLines = lines.length;\n const sourceLine = Math.max(Math.min(maxLines, lineno - 1), 0);\n\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map((line: string) => snipLine(line, 0));\n\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map((line: string) => snipLine(line, 0));\n}\n\n/**\n * Strip the query string and fragment off of a given URL or path (if present)\n *\n * @param urlPath Full URL or path, including possible query string and/or fragment\n * @returns URL or path without query string or fragment\n */\nexport function stripUrlQueryAndFragment(urlPath: string): string {\n // eslint-disable-next-line no-useless-escape\n return urlPath.split(/[\\?#]/, 1)[0];\n}\n\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\nexport function checkOrSetAlreadyCaught(exception: unknown): boolean {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (exception && (exception as any).__sentry_captured__) {\n return true;\n }\n\n try {\n // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n // `ExtraErrorData` integration\n addNonEnumerableProperty(exception as { [key: string]: unknown }, '__sentry_captured__', true);\n } catch (err) {\n // `exception` is a primitive, so we can't mark it seen\n }\n\n return false;\n}\n","import { Event, EventProcessor, Hub, Integration, StackFrame } from '@sentry/types';\nimport { getEventDescription, isMatchingPattern, logger } from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from '../flags';\n\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nconst DEFAULT_IGNORE_ERRORS = [/^Script error\\.?$/, /^Javascript error: Script error\\.? on line 0$/];\n\n/** Options for the InboundFilters integration */\nexport interface InboundFiltersOptions {\n allowUrls: Array;\n denyUrls: Array;\n ignoreErrors: Array;\n ignoreInternal: boolean;\n\n /** @deprecated use {@link InboundFiltersOptions.allowUrls} instead. */\n whitelistUrls: Array;\n /** @deprecated use {@link InboundFiltersOptions.denyUrls} instead. */\n blacklistUrls: Array;\n}\n\n/** Inbound filters configurable by the user */\nexport class InboundFilters implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'InboundFilters';\n\n /**\n * @inheritDoc\n */\n public name: string = InboundFilters.id;\n\n public constructor(private readonly _options: Partial = {}) {}\n\n /**\n * @inheritDoc\n */\n public setupOnce(addGlobalEventProcessor: (processor: EventProcessor) => void, getCurrentHub: () => Hub): void {\n addGlobalEventProcessor((event: Event) => {\n const hub = getCurrentHub();\n if (hub) {\n const self = hub.getIntegration(InboundFilters);\n if (self) {\n const client = hub.getClient();\n const clientOptions = client ? client.getOptions() : {};\n const options = _mergeOptions(self._options, clientOptions);\n return _shouldDropEvent(event, options) ? null : event;\n }\n }\n return event;\n });\n }\n}\n\n/** JSDoc */\nexport function _mergeOptions(\n internalOptions: Partial = {},\n clientOptions: Partial = {},\n): Partial {\n return {\n allowUrls: [\n // eslint-disable-next-line deprecation/deprecation\n ...(internalOptions.whitelistUrls || []),\n ...(internalOptions.allowUrls || []),\n // eslint-disable-next-line deprecation/deprecation\n ...(clientOptions.whitelistUrls || []),\n ...(clientOptions.allowUrls || []),\n ],\n denyUrls: [\n // eslint-disable-next-line deprecation/deprecation\n ...(internalOptions.blacklistUrls || []),\n ...(internalOptions.denyUrls || []),\n // eslint-disable-next-line deprecation/deprecation\n ...(clientOptions.blacklistUrls || []),\n ...(clientOptions.denyUrls || []),\n ],\n ignoreErrors: [\n ...(internalOptions.ignoreErrors || []),\n ...(clientOptions.ignoreErrors || []),\n ...DEFAULT_IGNORE_ERRORS,\n ],\n ignoreInternal: internalOptions.ignoreInternal !== undefined ? internalOptions.ignoreInternal : true,\n };\n}\n\n/** JSDoc */\nexport function _shouldDropEvent(event: Event, options: Partial): boolean {\n if (options.ignoreInternal && _isSentryError(event)) {\n IS_DEBUG_BUILD &&\n logger.warn(`Event dropped due to being internal Sentry Error.\\nEvent: ${getEventDescription(event)}`);\n return true;\n }\n if (_isIgnoredError(event, options.ignoreErrors)) {\n IS_DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to being matched by \\`ignoreErrors\\` option.\\nEvent: ${getEventDescription(event)}`,\n );\n return true;\n }\n if (_isDeniedUrl(event, options.denyUrls)) {\n IS_DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to being matched by \\`denyUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n if (!_isAllowedUrl(event, options.allowUrls)) {\n IS_DEBUG_BUILD &&\n logger.warn(\n `Event dropped due to not being matched by \\`allowUrls\\` option.\\nEvent: ${getEventDescription(\n event,\n )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n );\n return true;\n }\n return false;\n}\n\nfunction _isIgnoredError(event: Event, ignoreErrors?: Array): boolean {\n if (!ignoreErrors || !ignoreErrors.length) {\n return false;\n }\n\n return _getPossibleEventMessages(event).some(message =>\n ignoreErrors.some(pattern => isMatchingPattern(message, pattern)),\n );\n}\n\nfunction _isDeniedUrl(event: Event, denyUrls?: Array): boolean {\n // TODO: Use Glob instead?\n if (!denyUrls || !denyUrls.length) {\n return false;\n }\n const url = _getEventFilterUrl(event);\n return !url ? false : denyUrls.some(pattern => isMatchingPattern(url, pattern));\n}\n\nfunction _isAllowedUrl(event: Event, allowUrls?: Array): boolean {\n // TODO: Use Glob instead?\n if (!allowUrls || !allowUrls.length) {\n return true;\n }\n const url = _getEventFilterUrl(event);\n return !url ? true : allowUrls.some(pattern => isMatchingPattern(url, pattern));\n}\n\nfunction _getPossibleEventMessages(event: Event): string[] {\n if (event.message) {\n return [event.message];\n }\n if (event.exception) {\n try {\n const { type = '', value = '' } = (event.exception.values && event.exception.values[0]) || {};\n return [`${value}`, `${type}: ${value}`];\n } catch (oO) {\n IS_DEBUG_BUILD && logger.error(`Cannot extract message for event ${getEventDescription(event)}`);\n return [];\n }\n }\n return [];\n}\n\nfunction _isSentryError(event: Event): boolean {\n try {\n // @ts-ignore can't be a sentry error if undefined\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return event.exception.values[0].type === 'SentryError';\n } catch (e) {\n // ignore\n }\n return false;\n}\n\nfunction _getLastValidUrl(frames: StackFrame[] = []): string | null {\n for (let i = frames.length - 1; i >= 0; i--) {\n const frame = frames[i];\n\n if (frame && frame.filename !== '' && frame.filename !== '[native code]') {\n return frame.filename || null;\n }\n }\n\n return null;\n}\n\nfunction _getEventFilterUrl(event: Event): string | null {\n try {\n if (event.stacktrace) {\n return _getLastValidUrl(event.stacktrace.frames);\n }\n let frames;\n try {\n // @ts-ignore we only care about frames if the whole thing here is defined\n frames = event.exception.values[0].stacktrace.frames;\n } catch (e) {\n // ignore\n }\n return frames ? _getLastValidUrl(frames) : null;\n } catch (oO) {\n IS_DEBUG_BUILD && logger.error(`Cannot extract url for event ${getEventDescription(event)}`);\n return null;\n }\n}\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/typedef */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isThenable } from './is';\n\n/** SyncPromise internal states */\nconst enum States {\n /** Pending */\n PENDING = 0,\n /** Resolved / OK */\n RESOLVED = 1,\n /** Rejected / Error */\n REJECTED = 2,\n}\n\n/**\n * Creates a resolved sync promise.\n *\n * @param value the value to resolve the promise with\n * @returns the resolved sync promise\n */\nexport function resolvedSyncPromise(value: T | PromiseLike): PromiseLike {\n return new SyncPromise(resolve => {\n resolve(value);\n });\n}\n\n/**\n * Creates a rejected sync promise.\n *\n * @param value the value to reject the promise with\n * @returns the rejected sync promise\n */\nexport function rejectedSyncPromise(reason?: any): PromiseLike {\n return new SyncPromise((_, reject) => {\n reject(reason);\n });\n}\n\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nclass SyncPromise implements PromiseLike {\n private _state: States = States.PENDING;\n private _handlers: Array<[boolean, (value: T) => void, (reason: any) => any]> = [];\n private _value: any;\n\n public constructor(\n executor: (resolve: (value?: T | PromiseLike | null) => void, reject: (reason?: any) => void) => void,\n ) {\n try {\n executor(this._resolve, this._reject);\n } catch (e) {\n this._reject(e);\n }\n }\n\n /** JSDoc */\n public then(\n onfulfilled?: ((value: T) => TResult1 | PromiseLike) | null,\n onrejected?: ((reason: any) => TResult2 | PromiseLike) | null,\n ): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n this._handlers.push([\n false,\n result => {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result as any);\n } else {\n try {\n resolve(onfulfilled(result));\n } catch (e) {\n reject(e);\n }\n }\n },\n reason => {\n if (!onrejected) {\n reject(reason);\n } else {\n try {\n resolve(onrejected(reason));\n } catch (e) {\n reject(e);\n }\n }\n },\n ]);\n this._executeHandlers();\n });\n }\n\n /** JSDoc */\n public catch(\n onrejected?: ((reason: any) => TResult | PromiseLike) | null,\n ): PromiseLike {\n return this.then(val => val, onrejected);\n }\n\n /** JSDoc */\n public finally(onfinally?: (() => void) | null): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n let val: TResult | any;\n let isRejected: boolean;\n\n return this.then(\n value => {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n },\n reason => {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n },\n ).then(() => {\n if (isRejected) {\n reject(val);\n return;\n }\n\n resolve(val as unknown as any);\n });\n });\n }\n\n /** JSDoc */\n private readonly _resolve = (value?: T | PromiseLike | null) => {\n this._setResult(States.RESOLVED, value);\n };\n\n /** JSDoc */\n private readonly _reject = (reason?: any) => {\n this._setResult(States.REJECTED, reason);\n };\n\n /** JSDoc */\n private readonly _setResult = (state: States, value?: T | PromiseLike | any) => {\n if (this._state !== States.PENDING) {\n return;\n }\n\n if (isThenable(value)) {\n void (value as PromiseLike).then(this._resolve, this._reject);\n return;\n }\n\n this._state = state;\n this._value = value;\n\n this._executeHandlers();\n };\n\n /** JSDoc */\n private readonly _executeHandlers = () => {\n if (this._state === States.PENDING) {\n return;\n }\n\n const cachedHandlers = this._handlers.slice();\n this._handlers = [];\n\n cachedHandlers.forEach(handler => {\n if (handler[0]) {\n return;\n }\n\n if (this._state === States.RESOLVED) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n handler[1](this._value as unknown as any);\n }\n\n if (this._state === States.REJECTED) {\n handler[2](this._value);\n }\n\n handler[0] = true;\n });\n };\n}\n\nexport { SyncPromise };\n","/* eslint-disable max-lines */\nimport {\n Breadcrumb,\n CaptureContext,\n Context,\n Contexts,\n Event,\n EventHint,\n EventProcessor,\n Extra,\n Extras,\n Primitive,\n RequestSession,\n Scope as ScopeInterface,\n ScopeContext,\n Severity,\n Span,\n Transaction,\n User,\n} from '@sentry/types';\nimport { dateTimestampInSeconds, getGlobalSingleton, isPlainObject, isThenable, SyncPromise } from '@sentry/utils';\n\nimport { Session } from './session';\n\n/**\n * Absolute maximum number of breadcrumbs added to an event.\n * The `maxBreadcrumbs` option cannot be higher than this value.\n */\nconst MAX_BREADCRUMBS = 100;\n\n/**\n * Holds additional event information. {@link Scope.applyToEvent} will be\n * called by the client before an event will be sent.\n */\nexport class Scope implements ScopeInterface {\n /** Flag if notifying is happening. */\n protected _notifyingListeners: boolean = false;\n\n /** Callback for client to receive scope changes. */\n protected _scopeListeners: Array<(scope: Scope) => void> = [];\n\n /** Callback list that will be called after {@link applyToEvent}. */\n protected _eventProcessors: EventProcessor[] = [];\n\n /** Array of breadcrumbs. */\n protected _breadcrumbs: Breadcrumb[] = [];\n\n /** User */\n protected _user: User = {};\n\n /** Tags */\n protected _tags: { [key: string]: Primitive } = {};\n\n /** Extra */\n protected _extra: Extras = {};\n\n /** Contexts */\n protected _contexts: Contexts = {};\n\n /** Fingerprint */\n protected _fingerprint?: string[];\n\n /** Severity */\n protected _level?: Severity;\n\n /** Transaction Name */\n protected _transactionName?: string;\n\n /** Span */\n protected _span?: Span;\n\n /** Session */\n protected _session?: Session;\n\n /** Request Mode Session Status */\n protected _requestSession?: RequestSession;\n\n /**\n * A place to stash data which is needed at some point in the SDK's event processing pipeline but which shouldn't get\n * sent to Sentry\n */\n protected _sdkProcessingMetadata?: { [key: string]: unknown } = {};\n\n /**\n * Inherit values from the parent scope.\n * @param scope to clone.\n */\n public static clone(scope?: Scope): Scope {\n const newScope = new Scope();\n if (scope) {\n newScope._breadcrumbs = [...scope._breadcrumbs];\n newScope._tags = { ...scope._tags };\n newScope._extra = { ...scope._extra };\n newScope._contexts = { ...scope._contexts };\n newScope._user = scope._user;\n newScope._level = scope._level;\n newScope._span = scope._span;\n newScope._session = scope._session;\n newScope._transactionName = scope._transactionName;\n newScope._fingerprint = scope._fingerprint;\n newScope._eventProcessors = [...scope._eventProcessors];\n newScope._requestSession = scope._requestSession;\n }\n return newScope;\n }\n\n /**\n * Add internal on change listener. Used for sub SDKs that need to store the scope.\n * @hidden\n */\n public addScopeListener(callback: (scope: Scope) => void): void {\n this._scopeListeners.push(callback);\n }\n\n /**\n * @inheritDoc\n */\n public addEventProcessor(callback: EventProcessor): this {\n this._eventProcessors.push(callback);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setUser(user: User | null): this {\n this._user = user || {};\n if (this._session) {\n this._session.update({ user });\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getUser(): User | undefined {\n return this._user;\n }\n\n /**\n * @inheritDoc\n */\n public getRequestSession(): RequestSession | undefined {\n return this._requestSession;\n }\n\n /**\n * @inheritDoc\n */\n public setRequestSession(requestSession?: RequestSession): this {\n this._requestSession = requestSession;\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTags(tags: { [key: string]: Primitive }): this {\n this._tags = {\n ...this._tags,\n ...tags,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTag(key: string, value: Primitive): this {\n this._tags = { ...this._tags, [key]: value };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setExtras(extras: Extras): this {\n this._extra = {\n ...this._extra,\n ...extras,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setExtra(key: string, extra: Extra): this {\n this._extra = { ...this._extra, [key]: extra };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setFingerprint(fingerprint: string[]): this {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setLevel(level: Severity): this {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setTransactionName(name?: string): this {\n this._transactionName = name;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Can be removed in major version.\n * @deprecated in favor of {@link this.setTransactionName}\n */\n public setTransaction(name?: string): this {\n return this.setTransactionName(name);\n }\n\n /**\n * @inheritDoc\n */\n public setContext(key: string, context: Context | null): this {\n if (context === null) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this._contexts[key];\n } else {\n this._contexts = { ...this._contexts, [key]: context };\n }\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public setSpan(span?: Span): this {\n this._span = span;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getSpan(): Span | undefined {\n return this._span;\n }\n\n /**\n * @inheritDoc\n */\n public getTransaction(): Transaction | undefined {\n // Often, this span (if it exists at all) will be a transaction, but it's not guaranteed to be. Regardless, it will\n // have a pointer to the currently-active transaction.\n const span = this.getSpan();\n return span && span.transaction;\n }\n\n /**\n * @inheritDoc\n */\n public setSession(session?: Session): this {\n if (!session) {\n delete this._session;\n } else {\n this._session = session;\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public getSession(): Session | undefined {\n return this._session;\n }\n\n /**\n * @inheritDoc\n */\n public update(captureContext?: CaptureContext): this {\n if (!captureContext) {\n return this;\n }\n\n if (typeof captureContext === 'function') {\n const updatedScope = (captureContext as (scope: T) => T)(this);\n return updatedScope instanceof Scope ? updatedScope : this;\n }\n\n if (captureContext instanceof Scope) {\n this._tags = { ...this._tags, ...captureContext._tags };\n this._extra = { ...this._extra, ...captureContext._extra };\n this._contexts = { ...this._contexts, ...captureContext._contexts };\n if (captureContext._user && Object.keys(captureContext._user).length) {\n this._user = captureContext._user;\n }\n if (captureContext._level) {\n this._level = captureContext._level;\n }\n if (captureContext._fingerprint) {\n this._fingerprint = captureContext._fingerprint;\n }\n if (captureContext._requestSession) {\n this._requestSession = captureContext._requestSession;\n }\n } else if (isPlainObject(captureContext)) {\n // eslint-disable-next-line no-param-reassign\n captureContext = captureContext as ScopeContext;\n this._tags = { ...this._tags, ...captureContext.tags };\n this._extra = { ...this._extra, ...captureContext.extra };\n this._contexts = { ...this._contexts, ...captureContext.contexts };\n if (captureContext.user) {\n this._user = captureContext.user;\n }\n if (captureContext.level) {\n this._level = captureContext.level;\n }\n if (captureContext.fingerprint) {\n this._fingerprint = captureContext.fingerprint;\n }\n if (captureContext.requestSession) {\n this._requestSession = captureContext.requestSession;\n }\n }\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public clear(): this {\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._contexts = {};\n this._level = undefined;\n this._transactionName = undefined;\n this._fingerprint = undefined;\n this._requestSession = undefined;\n this._span = undefined;\n this._session = undefined;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public addBreadcrumb(breadcrumb: Breadcrumb, maxBreadcrumbs?: number): this {\n const maxCrumbs = typeof maxBreadcrumbs === 'number' ? Math.min(maxBreadcrumbs, MAX_BREADCRUMBS) : MAX_BREADCRUMBS;\n\n // No data has been changed, so don't notify scope listeners\n if (maxCrumbs <= 0) {\n return this;\n }\n\n const mergedBreadcrumb = {\n timestamp: dateTimestampInSeconds(),\n ...breadcrumb,\n };\n this._breadcrumbs = [...this._breadcrumbs, mergedBreadcrumb].slice(-maxCrumbs);\n this._notifyScopeListeners();\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n public clearBreadcrumbs(): this {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * Applies the current context and fingerprint to the event.\n * Note that breadcrumbs will be added by the client.\n * Also if the event has already breadcrumbs on it, we do not merge them.\n * @param event Event\n * @param hint May contain additional information about the original exception.\n * @hidden\n */\n public applyToEvent(event: Event, hint?: EventHint): PromiseLike {\n if (this._extra && Object.keys(this._extra).length) {\n event.extra = { ...this._extra, ...event.extra };\n }\n if (this._tags && Object.keys(this._tags).length) {\n event.tags = { ...this._tags, ...event.tags };\n }\n if (this._user && Object.keys(this._user).length) {\n event.user = { ...this._user, ...event.user };\n }\n if (this._contexts && Object.keys(this._contexts).length) {\n event.contexts = { ...this._contexts, ...event.contexts };\n }\n if (this._level) {\n event.level = this._level;\n }\n if (this._transactionName) {\n event.transaction = this._transactionName;\n }\n // We want to set the trace context for normal events only if there isn't already\n // a trace context on the event. There is a product feature in place where we link\n // errors with transaction and it relies on that.\n if (this._span) {\n event.contexts = { trace: this._span.getTraceContext(), ...event.contexts };\n const transactionName = this._span.transaction && this._span.transaction.name;\n if (transactionName) {\n event.tags = { transaction: transactionName, ...event.tags };\n }\n }\n\n this._applyFingerprint(event);\n\n event.breadcrumbs = [...(event.breadcrumbs || []), ...this._breadcrumbs];\n event.breadcrumbs = event.breadcrumbs.length > 0 ? event.breadcrumbs : undefined;\n\n event.sdkProcessingMetadata = this._sdkProcessingMetadata;\n\n return this._notifyEventProcessors([...getGlobalEventProcessors(), ...this._eventProcessors], event, hint);\n }\n\n /**\n * Add data which will be accessible during event processing but won't get sent to Sentry\n */\n public setSDKProcessingMetadata(newData: { [key: string]: unknown }): this {\n this._sdkProcessingMetadata = { ...this._sdkProcessingMetadata, ...newData };\n\n return this;\n }\n\n /**\n * This will be called after {@link applyToEvent} is finished.\n */\n protected _notifyEventProcessors(\n processors: EventProcessor[],\n event: Event | null,\n hint?: EventHint,\n index: number = 0,\n ): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n const processor = processors[index];\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n } else {\n const result = processor({ ...event }, hint) as Event | null;\n if (isThenable(result)) {\n void result\n .then(final => this._notifyEventProcessors(processors, final, hint, index + 1).then(resolve))\n .then(null, reject);\n } else {\n void this._notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n }\n\n /**\n * This will be called on every set call.\n */\n protected _notifyScopeListeners(): void {\n // We need this check for this._notifyingListeners to be able to work on scope during updates\n // If this check is not here we'll produce endless recursion when something is done with the scope\n // during the callback.\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n this._scopeListeners.forEach(callback => {\n callback(this);\n });\n this._notifyingListeners = false;\n }\n }\n\n /**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\n private _applyFingerprint(event: Event): void {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint\n ? Array.isArray(event.fingerprint)\n ? event.fingerprint\n : [event.fingerprint]\n : [];\n\n // If we have something on the scope, then merge it with event\n if (this._fingerprint) {\n event.fingerprint = event.fingerprint.concat(this._fingerprint);\n }\n\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n }\n}\n\n/**\n * Returns the global event processors.\n */\nfunction getGlobalEventProcessors(): EventProcessor[] {\n return getGlobalSingleton('globalEventProcessors', () => []);\n}\n\n/**\n * Add a EventProcessor to be kept globally.\n * @param callback EventProcessor to add\n */\nexport function addGlobalEventProcessor(callback: EventProcessor): void {\n getGlobalEventProcessors().push(callback);\n}\n","import { Session as SessionInterface, SessionContext, SessionStatus } from '@sentry/types';\nimport { dropUndefinedKeys, timestampInSeconds, uuid4 } from '@sentry/utils';\n\n/**\n * @inheritdoc\n */\nexport class Session implements SessionInterface {\n public userAgent?: string;\n public errors: number = 0;\n public release?: string;\n public sid: string = uuid4();\n public did?: string;\n public timestamp: number;\n public started: number;\n public duration?: number = 0;\n public status: SessionStatus = 'ok';\n public environment?: string;\n public ipAddress?: string;\n public init: boolean = true;\n public ignoreDuration: boolean = false;\n\n public constructor(context?: Omit) {\n // Both timestamp and started are in seconds since the UNIX epoch.\n const startingTime = timestampInSeconds();\n this.timestamp = startingTime;\n this.started = startingTime;\n if (context) {\n this.update(context);\n }\n }\n\n /** JSDoc */\n // eslint-disable-next-line complexity\n public update(context: SessionContext = {}): void {\n if (context.user) {\n if (!this.ipAddress && context.user.ip_address) {\n this.ipAddress = context.user.ip_address;\n }\n\n if (!this.did && !context.did) {\n this.did = context.user.id || context.user.email || context.user.username;\n }\n }\n\n this.timestamp = context.timestamp || timestampInSeconds();\n if (context.ignoreDuration) {\n this.ignoreDuration = context.ignoreDuration;\n }\n if (context.sid) {\n // Good enough uuid validation. — Kamil\n this.sid = context.sid.length === 32 ? context.sid : uuid4();\n }\n if (context.init !== undefined) {\n this.init = context.init;\n }\n if (!this.did && context.did) {\n this.did = `${context.did}`;\n }\n if (typeof context.started === 'number') {\n this.started = context.started;\n }\n if (this.ignoreDuration) {\n this.duration = undefined;\n } else if (typeof context.duration === 'number') {\n this.duration = context.duration;\n } else {\n const duration = this.timestamp - this.started;\n this.duration = duration >= 0 ? duration : 0;\n }\n if (context.release) {\n this.release = context.release;\n }\n if (context.environment) {\n this.environment = context.environment;\n }\n if (!this.ipAddress && context.ipAddress) {\n this.ipAddress = context.ipAddress;\n }\n if (!this.userAgent && context.userAgent) {\n this.userAgent = context.userAgent;\n }\n if (typeof context.errors === 'number') {\n this.errors = context.errors;\n }\n if (context.status) {\n this.status = context.status;\n }\n }\n\n /** JSDoc */\n public close(status?: Exclude): void {\n if (status) {\n this.update({ status });\n } else if (this.status === 'ok') {\n this.update({ status: 'exited' });\n } else {\n this.update();\n }\n }\n\n /** JSDoc */\n public toJSON(): {\n init: boolean;\n sid: string;\n did?: string;\n timestamp: string;\n started: string;\n duration?: number;\n status: SessionStatus;\n errors: number;\n attrs?: {\n release?: string;\n environment?: string;\n user_agent?: string;\n ip_address?: string;\n };\n } {\n return dropUndefinedKeys({\n sid: `${this.sid}`,\n init: this.init,\n // Make sure that sec is converted to ms for date constructor\n started: new Date(this.started * 1000).toISOString(),\n timestamp: new Date(this.timestamp * 1000).toISOString(),\n status: this.status,\n errors: this.errors,\n did: typeof this.did === 'number' || typeof this.did === 'string' ? `${this.did}` : undefined,\n duration: this.duration,\n attrs: {\n release: this.release,\n environment: this.environment,\n ip_address: this.ipAddress,\n user_agent: this.userAgent,\n },\n });\n }\n}\n","/**\n * TODO(v7): Remove this enum and replace with SeverityLevel\n */\nexport enum Severity {\n /** JSDoc */\n Fatal = 'fatal',\n /** JSDoc */\n Error = 'error',\n /** JSDoc */\n Warning = 'warning',\n /** JSDoc */\n Log = 'log',\n /** JSDoc */\n Info = 'info',\n /** JSDoc */\n Debug = 'debug',\n /** JSDoc */\n Critical = 'critical',\n}\n\n// TODO: in v7, these can disappear, because they now also exist in `@sentry/utils`. (Having them there rather than here\n// is nice because then it enforces the idea that only types are exported from `@sentry/types`.)\nexport const SeverityLevels = ['fatal', 'error', 'warning', 'log', 'info', 'debug', 'critical'] as const;\nexport type SeverityLevel = typeof SeverityLevels[number];\n","/* eslint-disable max-lines */\nimport {\n Breadcrumb,\n BreadcrumbHint,\n Client,\n CustomSamplingContext,\n Event,\n EventHint,\n Extra,\n Extras,\n Hub as HubInterface,\n Integration,\n IntegrationClass,\n Primitive,\n SessionContext,\n Severity,\n Span,\n SpanContext,\n Transaction,\n TransactionContext,\n User,\n} from '@sentry/types';\nimport {\n consoleSandbox,\n dateTimestampInSeconds,\n getGlobalObject,\n getGlobalSingleton,\n isNodeEnv,\n logger,\n uuid4,\n} from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from './flags';\nimport { Scope } from './scope';\nimport { Session } from './session';\n\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be increased when the global interface\n * changes and new methods are introduced.\n *\n * @hidden\n */\nexport const API_VERSION = 4;\n\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nconst DEFAULT_BREADCRUMBS = 100;\n\n/**\n * A layer in the process stack.\n * @hidden\n */\nexport interface Layer {\n client?: Client;\n scope?: Scope;\n}\n\n/**\n * An object that contains a hub and maintains a scope stack.\n * @hidden\n */\nexport interface Carrier {\n __SENTRY__?: {\n hub?: Hub;\n /**\n * Extra Hub properties injected by various SDKs\n */\n integrations?: Integration[];\n extensions?: {\n /** Hack to prevent bundlers from breaking our usage of the domain package in the cross-platform Hub package */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n domain?: { [key: string]: any };\n } & {\n /** Extension methods for the hub, which are bound to the current Hub instance */\n // eslint-disable-next-line @typescript-eslint/ban-types\n [key: string]: Function;\n };\n };\n}\n\n/**\n * @hidden\n * @deprecated Can be removed once `Hub.getActiveDomain` is removed.\n */\nexport interface DomainAsCarrier extends Carrier {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n members: { [key: string]: any }[];\n}\n\n/**\n * @inheritDoc\n */\nexport class Hub implements HubInterface {\n /** Is a {@link Layer}[] containing the client and scope */\n private readonly _stack: Layer[] = [{}];\n\n /** Contains the last event id of a captured event. */\n private _lastEventId?: string;\n\n /**\n * Creates a new instance of the hub, will push one {@link Layer} into the\n * internal stack on creation.\n *\n * @param client bound to the hub.\n * @param scope bound to the hub.\n * @param version number, higher number means higher priority.\n */\n public constructor(client?: Client, scope: Scope = new Scope(), private readonly _version: number = API_VERSION) {\n this.getStackTop().scope = scope;\n if (client) {\n this.bindClient(client);\n }\n }\n\n /**\n * @inheritDoc\n */\n public isOlderThan(version: number): boolean {\n return this._version < version;\n }\n\n /**\n * @inheritDoc\n */\n public bindClient(client?: Client): void {\n const top = this.getStackTop();\n top.client = client;\n if (client && client.setupIntegrations) {\n client.setupIntegrations();\n }\n }\n\n /**\n * @inheritDoc\n */\n public pushScope(): Scope {\n // We want to clone the content of prev scope\n const scope = Scope.clone(this.getScope());\n this.getStack().push({\n client: this.getClient(),\n scope,\n });\n return scope;\n }\n\n /**\n * @inheritDoc\n */\n public popScope(): boolean {\n if (this.getStack().length <= 1) return false;\n return !!this.getStack().pop();\n }\n\n /**\n * @inheritDoc\n */\n public withScope(callback: (scope: Scope) => void): void {\n const scope = this.pushScope();\n try {\n callback(scope);\n } finally {\n this.popScope();\n }\n }\n\n /**\n * @inheritDoc\n */\n public getClient(): C | undefined {\n return this.getStackTop().client as C;\n }\n\n /** Returns the scope of the top stack. */\n public getScope(): Scope | undefined {\n return this.getStackTop().scope;\n }\n\n /** Returns the scope stack for domains or the process. */\n public getStack(): Layer[] {\n return this._stack;\n }\n\n /** Returns the topmost scope layer in the order domain > local > process. */\n public getStackTop(): Layer {\n return this._stack[this._stack.length - 1];\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n public captureException(exception: any, hint?: EventHint): string {\n const eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n let finalHint = hint;\n\n // If there's no explicit hint provided, mimic the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n let syntheticException: Error;\n try {\n throw new Error('Sentry syntheticException');\n } catch (exception) {\n syntheticException = exception as Error;\n }\n finalHint = {\n originalException: exception,\n syntheticException,\n };\n }\n\n this._invokeClient('captureException', exception, {\n ...finalHint,\n event_id: eventId,\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureMessage(message: string, level?: Severity, hint?: EventHint): string {\n const eventId = (this._lastEventId = hint && hint.event_id ? hint.event_id : uuid4());\n let finalHint = hint;\n\n // If there's no explicit hint provided, mimic the same thing that would happen\n // in the minimal itself to create a consistent behavior.\n // We don't do this in the client, as it's the lowest level API, and doing this,\n // would prevent user from having full control over direct calls.\n if (!hint) {\n let syntheticException: Error;\n try {\n throw new Error(message);\n } catch (exception) {\n syntheticException = exception as Error;\n }\n finalHint = {\n originalException: message,\n syntheticException,\n };\n }\n\n this._invokeClient('captureMessage', message, level, {\n ...finalHint,\n event_id: eventId,\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureEvent(event: Event, hint?: EventHint): string {\n const eventId = hint && hint.event_id ? hint.event_id : uuid4();\n if (event.type !== 'transaction') {\n this._lastEventId = eventId;\n }\n\n this._invokeClient('captureEvent', event, {\n ...hint,\n event_id: eventId,\n });\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public lastEventId(): string | undefined {\n return this._lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n public addBreadcrumb(breadcrumb: Breadcrumb, hint?: BreadcrumbHint): void {\n const { scope, client } = this.getStackTop();\n\n if (!scope || !client) return;\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } =\n (client.getOptions && client.getOptions()) || {};\n\n if (maxBreadcrumbs <= 0) return;\n\n const timestamp = dateTimestampInSeconds();\n const mergedBreadcrumb = { timestamp, ...breadcrumb };\n const finalBreadcrumb = beforeBreadcrumb\n ? (consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) as Breadcrumb | null)\n : mergedBreadcrumb;\n\n if (finalBreadcrumb === null) return;\n\n scope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n }\n\n /**\n * @inheritDoc\n */\n public setUser(user: User | null): void {\n const scope = this.getScope();\n if (scope) scope.setUser(user);\n }\n\n /**\n * @inheritDoc\n */\n public setTags(tags: { [key: string]: Primitive }): void {\n const scope = this.getScope();\n if (scope) scope.setTags(tags);\n }\n\n /**\n * @inheritDoc\n */\n public setExtras(extras: Extras): void {\n const scope = this.getScope();\n if (scope) scope.setExtras(extras);\n }\n\n /**\n * @inheritDoc\n */\n public setTag(key: string, value: Primitive): void {\n const scope = this.getScope();\n if (scope) scope.setTag(key, value);\n }\n\n /**\n * @inheritDoc\n */\n public setExtra(key: string, extra: Extra): void {\n const scope = this.getScope();\n if (scope) scope.setExtra(key, extra);\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public setContext(name: string, context: { [key: string]: any } | null): void {\n const scope = this.getScope();\n if (scope) scope.setContext(name, context);\n }\n\n /**\n * @inheritDoc\n */\n public configureScope(callback: (scope: Scope) => void): void {\n const { scope, client } = this.getStackTop();\n if (scope && client) {\n callback(scope);\n }\n }\n\n /**\n * @inheritDoc\n */\n public run(callback: (hub: Hub) => void): void {\n const oldHub = makeMain(this);\n try {\n callback(this);\n } finally {\n makeMain(oldHub);\n }\n }\n\n /**\n * @inheritDoc\n */\n public getIntegration(integration: IntegrationClass): T | null {\n const client = this.getClient();\n if (!client) return null;\n try {\n return client.getIntegration(integration);\n } catch (_oO) {\n IS_DEBUG_BUILD && logger.warn(`Cannot retrieve integration ${integration.id} from the current Hub`);\n return null;\n }\n }\n\n /**\n * @inheritDoc\n */\n public startSpan(context: SpanContext): Span {\n return this._callExtensionMethod('startSpan', context);\n }\n\n /**\n * @inheritDoc\n */\n public startTransaction(context: TransactionContext, customSamplingContext?: CustomSamplingContext): Transaction {\n return this._callExtensionMethod('startTransaction', context, customSamplingContext);\n }\n\n /**\n * @inheritDoc\n */\n public traceHeaders(): { [key: string]: string } {\n return this._callExtensionMethod<{ [key: string]: string }>('traceHeaders');\n }\n\n /**\n * @inheritDoc\n */\n public captureSession(endSession: boolean = false): void {\n // both send the update and pull the session from the scope\n if (endSession) {\n return this.endSession();\n }\n\n // only send the update\n this._sendSessionUpdate();\n }\n\n /**\n * @inheritDoc\n */\n public endSession(): void {\n const layer = this.getStackTop();\n const scope = layer && layer.scope;\n const session = scope && scope.getSession();\n if (session) {\n session.close();\n }\n this._sendSessionUpdate();\n\n // the session is over; take it off of the scope\n if (scope) {\n scope.setSession();\n }\n }\n\n /**\n * @inheritDoc\n */\n public startSession(context?: SessionContext): Session {\n const { scope, client } = this.getStackTop();\n const { release, environment } = (client && client.getOptions()) || {};\n\n // Will fetch userAgent if called from browser sdk\n const global = getGlobalObject<{ navigator?: { userAgent?: string } }>();\n const { userAgent } = global.navigator || {};\n\n const session = new Session({\n release,\n environment,\n ...(scope && { user: scope.getUser() }),\n ...(userAgent && { userAgent }),\n ...context,\n });\n\n if (scope) {\n // End existing session if there's one\n const currentSession = scope.getSession && scope.getSession();\n if (currentSession && currentSession.status === 'ok') {\n currentSession.update({ status: 'exited' });\n }\n this.endSession();\n\n // Afterwards we set the new session on the scope\n scope.setSession(session);\n }\n\n return session;\n }\n\n /**\n * Sends the current Session on the scope\n */\n private _sendSessionUpdate(): void {\n const { scope, client } = this.getStackTop();\n if (!scope) return;\n\n const session = scope.getSession && scope.getSession();\n if (session) {\n if (client && client.captureSession) {\n client.captureSession(session);\n }\n }\n }\n\n /**\n * Internal helper function to call a method on the top client if it exists.\n *\n * @param method The method to call on the client.\n * @param args Arguments to pass to the client function.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _invokeClient(method: M, ...args: any[]): void {\n const { scope, client } = this.getStackTop();\n if (client && client[method]) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-explicit-any\n (client as any)[method](...args, scope);\n }\n }\n\n /**\n * Calls global extension method and binding current instance to the function call\n */\n // @ts-ignore Function lacks ending return statement and return type does not include 'undefined'. ts(2366)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private _callExtensionMethod(method: string, ...args: any[]): T {\n const carrier = getMainCarrier();\n const sentry = carrier.__SENTRY__;\n if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n return sentry.extensions[method].apply(this, args);\n }\n IS_DEBUG_BUILD && logger.warn(`Extension method ${method} couldn't be found, doing nothing.`);\n }\n}\n\n/**\n * Returns the global shim registry.\n *\n * FIXME: This function is problematic, because despite always returning a valid Carrier,\n * it has an optional `__SENTRY__` property, which then in turn requires us to always perform an unnecessary check\n * at the call-site. We always access the carrier through this function, so we can guarantee that `__SENTRY__` is there.\n **/\nexport function getMainCarrier(): Carrier {\n const carrier = getGlobalObject();\n carrier.__SENTRY__ = carrier.__SENTRY__ || {\n extensions: {},\n hub: undefined,\n };\n return carrier;\n}\n\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\nexport function makeMain(hub: Hub): Hub {\n const registry = getMainCarrier();\n const oldHub = getHubFromCarrier(registry);\n setHubOnCarrier(registry, hub);\n return oldHub;\n}\n\n/**\n * Returns the default hub instance.\n *\n * If a hub is already registered in the global carrier but this module\n * contains a more recent version, it replaces the registered version.\n * Otherwise, the currently registered hub will be returned.\n */\nexport function getCurrentHub(): Hub {\n // Get main carrier (global for every environment)\n const registry = getMainCarrier();\n\n // If there's no hub, or its an old API, assign a new one\n if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(API_VERSION)) {\n setHubOnCarrier(registry, new Hub());\n }\n\n // Prefer domains over global if they are there (applicable only to Node environment)\n if (isNodeEnv()) {\n return getHubFromActiveDomain(registry);\n }\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n}\n\n/**\n * Returns the active domain, if one exists\n * @deprecated No longer used; remove in v7\n * @returns The domain, or undefined if there is no active domain\n */\n// eslint-disable-next-line deprecation/deprecation\nexport function getActiveDomain(): DomainAsCarrier | undefined {\n IS_DEBUG_BUILD && logger.warn('Function `getActiveDomain` is deprecated and will be removed in a future version.');\n\n const sentry = getMainCarrier().__SENTRY__;\n\n return sentry && sentry.extensions && sentry.extensions.domain && sentry.extensions.domain.active;\n}\n\n/**\n * Try to read the hub from an active domain, and fallback to the registry if one doesn't exist\n * @returns discovered hub\n */\nfunction getHubFromActiveDomain(registry: Carrier): Hub {\n try {\n const sentry = getMainCarrier().__SENTRY__;\n const activeDomain = sentry && sentry.extensions && sentry.extensions.domain && sentry.extensions.domain.active;\n\n // If there's no active domain, just return global hub\n if (!activeDomain) {\n return getHubFromCarrier(registry);\n }\n\n // If there's no hub on current domain, or it's an old API, assign a new one\n if (!hasHubOnCarrier(activeDomain) || getHubFromCarrier(activeDomain).isOlderThan(API_VERSION)) {\n const registryHubTopStack = getHubFromCarrier(registry).getStackTop();\n setHubOnCarrier(activeDomain, new Hub(registryHubTopStack.client, Scope.clone(registryHubTopStack.scope)));\n }\n\n // Return hub that lives on a domain\n return getHubFromCarrier(activeDomain);\n } catch (_Oo) {\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n }\n}\n\n/**\n * This will tell whether a carrier has a hub on it or not\n * @param carrier object\n */\nfunction hasHubOnCarrier(carrier: Carrier): boolean {\n return !!(carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub);\n}\n\n/**\n * This will create a new {@link Hub} and add to the passed object on\n * __SENTRY__.hub.\n * @param carrier object\n * @hidden\n */\nexport function getHubFromCarrier(carrier: Carrier): Hub {\n return getGlobalSingleton('hub', () => new Hub(), carrier);\n}\n\n/**\n * This will set passed {@link Hub} on the passed object's __SENTRY__.hub attribute\n * @param carrier object\n * @param hub Hub\n * @returns A boolean indicating success or failure\n */\nexport function setHubOnCarrier(carrier: Carrier, hub: Hub): boolean {\n if (!carrier) return false;\n const __SENTRY__ = (carrier.__SENTRY__ = carrier.__SENTRY__ || {});\n __SENTRY__.hub = hub;\n return true;\n}\n","import { StackFrame } from '@sentry/types';\n\nconst STACKTRACE_LIMIT = 50;\n\nexport type StackParser = (stack: string, skipFirst?: number) => StackFrame[];\nexport type StackLineParserFn = (line: string) => StackFrame | undefined;\nexport type StackLineParser = [number, StackLineParserFn];\n\n/**\n * Creates a stack parser with the supplied line parsers\n *\n * StackFrames are returned in the correct order for Sentry Exception\n * frames and with Sentry SDK internal frames removed from the top and bottom\n *\n */\nexport function createStackParser(...parsers: StackLineParser[]): StackParser {\n const sortedParsers = parsers.sort((a, b) => a[0] - b[0]).map(p => p[1]);\n\n return (stack: string, skipFirst: number = 0): StackFrame[] => {\n const frames: StackFrame[] = [];\n\n for (const line of stack.split('\\n').slice(skipFirst)) {\n for (const parser of sortedParsers) {\n const frame = parser(line);\n\n if (frame) {\n frames.push(frame);\n break;\n }\n }\n }\n\n return stripSentryFramesAndReverse(frames);\n };\n}\n\n/**\n * @hidden\n */\nexport function stripSentryFramesAndReverse(stack: StackFrame[]): StackFrame[] {\n if (!stack.length) {\n return [];\n }\n\n let localStack = stack;\n\n const firstFrameFunction = localStack[0].function || '';\n const lastFrameFunction = localStack[localStack.length - 1].function || '';\n\n // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n if (firstFrameFunction.indexOf('captureMessage') !== -1 || firstFrameFunction.indexOf('captureException') !== -1) {\n localStack = localStack.slice(1);\n }\n\n // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n if (lastFrameFunction.indexOf('sentryWrapped') !== -1) {\n localStack = localStack.slice(0, -1);\n }\n\n // The frame where the crash happened, should be the last entry in the array\n return localStack\n .slice(0, STACKTRACE_LIMIT)\n .map(frame => ({\n ...frame,\n filename: frame.filename || localStack[0].filename,\n function: frame.function || '?',\n }))\n .reverse();\n}\n\nconst defaultFunctionName = '';\n\n/**\n * Safely extract function name from itself\n */\nexport function getFunctionName(fn: unknown): string {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n return fn.name || defaultFunctionName;\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return defaultFunctionName;\n }\n}\n","import { IS_DEBUG_BUILD } from './flags';\nimport { getGlobalObject } from './global';\nimport { logger } from './logger';\n\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsErrorEvent(): boolean {\n try {\n new ErrorEvent('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMError(): boolean {\n try {\n // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n // 1 argument required, but only 0 present.\n // @ts-ignore It really needs 1 argument, not 0.\n new DOMError('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsDOMException(): boolean {\n try {\n new DOMException('');\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsFetch(): boolean {\n if (!('fetch' in getGlobalObject())) {\n return false;\n }\n\n try {\n new Headers();\n new Request('');\n new Response();\n return true;\n } catch (e) {\n return false;\n }\n}\n/**\n * isNativeFetch checks if the given function is a native implementation of fetch()\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function isNativeFetch(func: Function): boolean {\n return func && /^function fetch\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\nexport function supportsNativeFetch(): boolean {\n if (!supportsFetch()) {\n return false;\n }\n\n const global = getGlobalObject();\n\n // Fast path to avoid DOM I/O\n // eslint-disable-next-line @typescript-eslint/unbound-method\n if (isNativeFetch(global.fetch)) {\n return true;\n }\n\n // window.fetch is implemented, but is polyfilled or already wrapped (e.g: by a chrome extension)\n // so create a \"pure\" iframe to see if that has native fetch\n let result = false;\n const doc = global.document;\n // eslint-disable-next-line deprecation/deprecation\n if (doc && typeof (doc.createElement as unknown) === 'function') {\n try {\n const sandbox = doc.createElement('iframe');\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n if (sandbox.contentWindow && sandbox.contentWindow.fetch) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n result = isNativeFetch(sandbox.contentWindow.fetch);\n }\n doc.head.removeChild(sandbox);\n } catch (err) {\n IS_DEBUG_BUILD &&\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n }\n }\n\n return result;\n}\n\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReportingObserver(): boolean {\n return 'ReportingObserver' in getGlobalObject();\n}\n\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsReferrerPolicy(): boolean {\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default'\n // (see https://caniuse.com/#feat=referrer-policy),\n // it doesn't. And it throws an exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n\n if (!supportsFetch()) {\n return false;\n }\n\n try {\n new Request('_', {\n referrerPolicy: 'origin' as ReferrerPolicy,\n });\n return true;\n } catch (e) {\n return false;\n }\n}\n\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\nexport function supportsHistory(): boolean {\n // NOTE: in Chrome App environment, touching history.pushState, *even inside\n // a try/catch block*, will cause Chrome to output an error to console.error\n // borrowed from: https://github.com/angular/angular.js/pull/13945/files\n const global = getGlobalObject();\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const chrome = (global as any).chrome;\n const isChromePackagedApp = chrome && chrome.app && chrome.app.runtime;\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n const hasHistoryApi = 'history' in global && !!global.history.pushState && !!global.history.replaceState;\n\n return !isChromePackagedApp && hasHistoryApi;\n}\n","/* eslint-disable max-lines */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/ban-types */\nimport { WrappedFunction } from '@sentry/types';\n\nimport { IS_DEBUG_BUILD } from './flags';\nimport { getGlobalObject } from './global';\nimport { isInstanceOf, isString } from './is';\nimport { CONSOLE_LEVELS, logger } from './logger';\nimport { fill } from './object';\nimport { getFunctionName } from './stacktrace';\nimport { supportsHistory, supportsNativeFetch } from './supports';\n\nconst global = getGlobalObject();\n\ntype InstrumentHandlerType =\n | 'console'\n | 'dom'\n | 'fetch'\n | 'history'\n | 'sentry'\n | 'xhr'\n | 'error'\n | 'unhandledrejection';\ntype InstrumentHandlerCallback = (data: any) => void;\n\n/**\n * Instrument native APIs to call handlers that can be used to create breadcrumbs, APM spans etc.\n * - Console API\n * - Fetch API\n * - XHR API\n * - History API\n * - DOM API (click/typing)\n * - Error API\n * - UnhandledRejection API\n */\n\nconst handlers: { [key in InstrumentHandlerType]?: InstrumentHandlerCallback[] } = {};\nconst instrumented: { [key in InstrumentHandlerType]?: boolean } = {};\n\n/** Instruments given API */\nfunction instrument(type: InstrumentHandlerType): void {\n if (instrumented[type]) {\n return;\n }\n\n instrumented[type] = true;\n\n switch (type) {\n case 'console':\n instrumentConsole();\n break;\n case 'dom':\n instrumentDOM();\n break;\n case 'xhr':\n instrumentXHR();\n break;\n case 'fetch':\n instrumentFetch();\n break;\n case 'history':\n instrumentHistory();\n break;\n case 'error':\n instrumentError();\n break;\n case 'unhandledrejection':\n instrumentUnhandledRejection();\n break;\n default:\n IS_DEBUG_BUILD && logger.warn('unknown instrumentation type:', type);\n return;\n }\n}\n\n/**\n * Add handler that will be called when given type of instrumentation triggers.\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nexport function addInstrumentationHandler(type: InstrumentHandlerType, callback: InstrumentHandlerCallback): void {\n handlers[type] = handlers[type] || [];\n (handlers[type] as InstrumentHandlerCallback[]).push(callback);\n instrument(type);\n}\n\n/** JSDoc */\nfunction triggerHandlers(type: InstrumentHandlerType, data: any): void {\n if (!type || !handlers[type]) {\n return;\n }\n\n for (const handler of handlers[type] || []) {\n try {\n handler(data);\n } catch (e) {\n IS_DEBUG_BUILD &&\n logger.error(\n `Error while triggering instrumentation handler.\\nType: ${type}\\nName: ${getFunctionName(handler)}\\nError:`,\n e,\n );\n }\n }\n}\n\n/** JSDoc */\nfunction instrumentConsole(): void {\n if (!('console' in global)) {\n return;\n }\n\n CONSOLE_LEVELS.forEach(function (level: string): void {\n if (!(level in global.console)) {\n return;\n }\n\n fill(global.console, level, function (originalConsoleMethod: () => any): Function {\n return function (...args: any[]): void {\n triggerHandlers('console', { args, level });\n\n // this fails for some browsers. :(\n if (originalConsoleMethod) {\n originalConsoleMethod.apply(global.console, args);\n }\n };\n });\n });\n}\n\n/** JSDoc */\nfunction instrumentFetch(): void {\n if (!supportsNativeFetch()) {\n return;\n }\n\n fill(global, 'fetch', function (originalFetch: () => void): () => void {\n return function (...args: any[]): void {\n const handlerData = {\n args,\n fetchData: {\n method: getFetchMethod(args),\n url: getFetchUrl(args),\n },\n startTimestamp: Date.now(),\n };\n\n triggerHandlers('fetch', {\n ...handlerData,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return originalFetch.apply(global, args).then(\n (response: Response) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n response,\n });\n return response;\n },\n (error: Error) => {\n triggerHandlers('fetch', {\n ...handlerData,\n endTimestamp: Date.now(),\n error,\n });\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the sentry.javascript SDK caught an error invoking your application code.\n // This is expected behavior and NOT indicative of a bug with sentry.javascript.\n throw error;\n },\n );\n };\n });\n}\n\ntype XHRSendInput = null | Blob | BufferSource | FormData | URLSearchParams | string;\n\n/** JSDoc */\ninterface SentryWrappedXMLHttpRequest extends XMLHttpRequest {\n [key: string]: any;\n __sentry_xhr__?: {\n method?: string;\n url?: string;\n status_code?: number;\n body?: XHRSendInput;\n };\n}\n\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/** Extract `method` from fetch call arguments */\nfunction getFetchMethod(fetchArgs: any[] = []): string {\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request) && fetchArgs[0].method) {\n return String(fetchArgs[0].method).toUpperCase();\n }\n if (fetchArgs[1] && fetchArgs[1].method) {\n return String(fetchArgs[1].method).toUpperCase();\n }\n return 'GET';\n}\n\n/** Extract `url` from fetch call arguments */\nfunction getFetchUrl(fetchArgs: any[] = []): string {\n if (typeof fetchArgs[0] === 'string') {\n return fetchArgs[0];\n }\n if ('Request' in global && isInstanceOf(fetchArgs[0], Request)) {\n return fetchArgs[0].url;\n }\n return String(fetchArgs[0]);\n}\n/* eslint-enable @typescript-eslint/no-unsafe-member-access */\n\n/** JSDoc */\nfunction instrumentXHR(): void {\n if (!('XMLHttpRequest' in global)) {\n return;\n }\n\n const xhrproto = XMLHttpRequest.prototype;\n\n fill(xhrproto, 'open', function (originalOpen: () => void): () => void {\n return function (this: SentryWrappedXMLHttpRequest, ...args: any[]): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const xhr = this;\n const url = args[1];\n const xhrInfo: SentryWrappedXMLHttpRequest['__sentry_xhr__'] = (xhr.__sentry_xhr__ = {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n method: isString(args[0]) ? args[0].toUpperCase() : args[0],\n url: args[1],\n });\n\n // if Sentry key appears in URL, don't capture it as a request\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (isString(url) && xhrInfo.method === 'POST' && url.match(/sentry_key/)) {\n xhr.__sentry_own_request__ = true;\n }\n\n const onreadystatechangeHandler = function (): void {\n if (xhr.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n xhrInfo.status_code = xhr.status;\n } catch (e) {\n /* do nothing */\n }\n\n triggerHandlers('xhr', {\n args,\n endTimestamp: Date.now(),\n startTimestamp: Date.now(),\n xhr,\n });\n }\n };\n\n if ('onreadystatechange' in xhr && typeof xhr.onreadystatechange === 'function') {\n fill(xhr, 'onreadystatechange', function (original: WrappedFunction): Function {\n return function (...readyStateArgs: any[]): void {\n onreadystatechangeHandler();\n return original.apply(xhr, readyStateArgs);\n };\n });\n } else {\n xhr.addEventListener('readystatechange', onreadystatechangeHandler);\n }\n\n return originalOpen.apply(xhr, args);\n };\n });\n\n fill(xhrproto, 'send', function (originalSend: () => void): () => void {\n return function (this: SentryWrappedXMLHttpRequest, ...args: any[]): void {\n if (this.__sentry_xhr__ && args[0] !== undefined) {\n this.__sentry_xhr__.body = args[0];\n }\n\n triggerHandlers('xhr', {\n args,\n startTimestamp: Date.now(),\n xhr: this,\n });\n\n return originalSend.apply(this, args);\n };\n });\n}\n\nlet lastHref: string;\n\n/** JSDoc */\nfunction instrumentHistory(): void {\n if (!supportsHistory()) {\n return;\n }\n\n const oldOnPopState = global.onpopstate;\n global.onpopstate = function (this: WindowEventHandlers, ...args: any[]): any {\n const to = global.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n const from = lastHref;\n lastHref = to;\n triggerHandlers('history', {\n from,\n to,\n });\n if (oldOnPopState) {\n // Apparently this can throw in Firefox when incorrectly implemented plugin is installed.\n // https://github.com/getsentry/sentry-javascript/issues/3344\n // https://github.com/bugsnag/bugsnag-js/issues/469\n try {\n return oldOnPopState.apply(this, args);\n } catch (_oO) {\n // no-empty\n }\n }\n };\n\n /** @hidden */\n function historyReplacementFunction(originalHistoryFunction: () => void): () => void {\n return function (this: History, ...args: any[]): void {\n const url = args.length > 2 ? args[2] : undefined;\n if (url) {\n // coerce to string (this is what pushState does)\n const from = lastHref;\n const to = String(url);\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n triggerHandlers('history', {\n from,\n to,\n });\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n\n fill(global.history, 'pushState', historyReplacementFunction);\n fill(global.history, 'replaceState', historyReplacementFunction);\n}\n\nconst debounceDuration = 1000;\nlet debounceTimerID: number | undefined;\nlet lastCapturedEvent: Event | undefined;\n\n/**\n * Decide whether the current event should finish the debounce of previously captured one.\n * @param previous previously captured event\n * @param current event to be captured\n */\nfunction shouldShortcircuitPreviousDebounce(previous: Event | undefined, current: Event): boolean {\n // If there was no previous event, it should always be swapped for the new one.\n if (!previous) {\n return true;\n }\n\n // If both events have different type, then user definitely performed two separate actions. e.g. click + keypress.\n if (previous.type !== current.type) {\n return true;\n }\n\n try {\n // If both events have the same type, it's still possible that actions were performed on different targets.\n // e.g. 2 clicks on different buttons.\n if (previous.target !== current.target) {\n return true;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n // If both events have the same type _and_ same `target` (an element which triggered an event, _not necessarily_\n // to which an event listener was attached), we treat them as the same action, as we want to capture\n // only one breadcrumb. e.g. multiple clicks on the same button, or typing inside a user input box.\n return false;\n}\n\n/**\n * Decide whether an event should be captured.\n * @param event event to be captured\n */\nfunction shouldSkipDOMEvent(event: Event): boolean {\n // We are only interested in filtering `keypress` events for now.\n if (event.type !== 'keypress') {\n return false;\n }\n\n try {\n const target = event.target as HTMLElement;\n\n if (!target || !target.tagName) {\n return true;\n }\n\n // Only consider keypress events on actual input elements. This will disregard keypresses targeting body\n // e.g.tabbing through elements, hotkeys, etc.\n if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return false;\n }\n } catch (e) {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n return true;\n}\n\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n * @param handler function that will be triggered\n * @param globalListener indicates whether event was captured by the global event listener\n * @returns wrapped breadcrumb events handler\n * @hidden\n */\nfunction makeDOMEventHandler(handler: Function, globalListener: boolean = false): (event: Event) => void {\n return (event: Event): void => {\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors).\n // Ignore if we've already captured that event.\n if (!event || lastCapturedEvent === event) {\n return;\n }\n\n // We always want to skip _some_ events.\n if (shouldSkipDOMEvent(event)) {\n return;\n }\n\n const name = event.type === 'keypress' ? 'input' : event.type;\n\n // If there is no debounce timer, it means that we can safely capture the new event and store it for future comparisons.\n if (debounceTimerID === undefined) {\n handler({\n event: event,\n name,\n global: globalListener,\n });\n lastCapturedEvent = event;\n }\n // If there is a debounce awaiting, see if the new event is different enough to treat it as a unique one.\n // If that's the case, emit the previous event and store locally the newly-captured DOM event.\n else if (shouldShortcircuitPreviousDebounce(lastCapturedEvent, event)) {\n handler({\n event: event,\n name,\n global: globalListener,\n });\n lastCapturedEvent = event;\n }\n\n // Start a new debounce timer that will prevent us from capturing multiple events that should be grouped together.\n clearTimeout(debounceTimerID);\n debounceTimerID = global.setTimeout(() => {\n debounceTimerID = undefined;\n }, debounceDuration);\n };\n}\n\ntype AddEventListener = (\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions,\n) => void;\ntype RemoveEventListener = (\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions,\n) => void;\n\ntype InstrumentedElement = Element & {\n __sentry_instrumentation_handlers__?: {\n [key in 'click' | 'keypress']?: {\n handler?: Function;\n /** The number of custom listeners attached to this element */\n refCount: number;\n };\n };\n};\n\n/** JSDoc */\nfunction instrumentDOM(): void {\n if (!('document' in global)) {\n return;\n }\n\n // Make it so that any click or keypress that is unhandled / bubbled up all the way to the document triggers our dom\n // handlers. (Normally we have only one, which captures a breadcrumb for each click or keypress.) Do this before\n // we instrument `addEventListener` so that we don't end up attaching this handler twice.\n const triggerDOMHandler = triggerHandlers.bind(null, 'dom');\n const globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n global.document.addEventListener('click', globalDOMEventHandler, false);\n global.document.addEventListener('keypress', globalDOMEventHandler, false);\n\n // After hooking into click and keypress events bubbled up to `document`, we also hook into user-handled\n // clicks & keypresses, by adding an event listener of our own to any element to which they add a listener. That\n // way, whenever one of their handlers is triggered, ours will be, too. (This is needed because their handler\n // could potentially prevent the event from bubbling up to our global listeners. This way, our handler are still\n // guaranteed to fire at least once.)\n ['EventTarget', 'Node'].forEach((target: string) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const proto = (global as any)[target] && (global as any)[target].prototype;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (originalAddEventListener: AddEventListener): AddEventListener {\n return function (\n this: Element,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ): AddEventListener {\n if (type === 'click' || type == 'keypress') {\n try {\n const el = this as InstrumentedElement;\n const handlers = (el.__sentry_instrumentation_handlers__ = el.__sentry_instrumentation_handlers__ || {});\n const handlerForType = (handlers[type] = handlers[type] || { refCount: 0 });\n\n if (!handlerForType.handler) {\n const handler = makeDOMEventHandler(triggerDOMHandler);\n handlerForType.handler = handler;\n originalAddEventListener.call(this, type, handler, options);\n }\n\n handlerForType.refCount += 1;\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalAddEventListener.call(this, type, listener, options);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (originalRemoveEventListener: RemoveEventListener): RemoveEventListener {\n return function (\n this: Element,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions,\n ): () => void {\n if (type === 'click' || type == 'keypress') {\n try {\n const el = this as InstrumentedElement;\n const handlers = el.__sentry_instrumentation_handlers__ || {};\n const handlerForType = handlers[type];\n\n if (handlerForType) {\n handlerForType.refCount -= 1;\n // If there are no longer any custom handlers of the current type on this element, we can remove ours, too.\n if (handlerForType.refCount <= 0) {\n originalRemoveEventListener.call(this, type, handlerForType.handler, options);\n handlerForType.handler = undefined;\n delete handlers[type]; // eslint-disable-line @typescript-eslint/no-dynamic-delete\n }\n\n // If there are no longer any custom handlers of any type on this element, cleanup everything.\n if (Object.keys(handlers).length === 0) {\n delete el.__sentry_instrumentation_handlers__;\n }\n }\n } catch (e) {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListenrs` calls with no proper `this` context.\n }\n }\n\n return originalRemoveEventListener.call(this, type, listener, options);\n };\n },\n );\n });\n}\n\nlet _oldOnErrorHandler: OnErrorEventHandler = null;\n/** JSDoc */\nfunction instrumentError(): void {\n _oldOnErrorHandler = global.onerror;\n\n global.onerror = function (msg: any, url: any, line: any, column: any, error: any): boolean {\n triggerHandlers('error', {\n column,\n error,\n line,\n msg,\n url,\n });\n\n if (_oldOnErrorHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnErrorHandler.apply(this, arguments);\n }\n\n return false;\n };\n}\n\nlet _oldOnUnhandledRejectionHandler: ((e: any) => void) | null = null;\n/** JSDoc */\nfunction instrumentUnhandledRejection(): void {\n _oldOnUnhandledRejectionHandler = global.onunhandledrejection;\n\n global.onunhandledrejection = function (e: any): boolean {\n triggerHandlers('unhandledrejection', e);\n\n if (_oldOnUnhandledRejectionHandler) {\n // eslint-disable-next-line prefer-rest-params\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n\n return true;\n };\n}\n","import { Primitive } from '@sentry/types';\n\nimport { isError, isEvent, isNaN, isSyntheticEvent } from './is';\nimport { memoBuilder, MemoFunc } from './memo';\nimport { convertToPlainObject } from './object';\nimport { getFunctionName } from './stacktrace';\n\ntype Prototype = { constructor: (...args: unknown[]) => unknown };\n// This is a hack to placate TS, relying on the fact that technically, arrays are objects with integer keys. Normally we\n// think of those keys as actual numbers, but `arr['0']` turns out to work just as well as `arr[0]`, and doing it this\n// way lets us use a single type in the places where behave as if we are only dealing with objects, even if some of them\n// might be arrays.\ntype ObjOrArray = { [key: string]: T };\n\n/**\n * Recursively normalizes the given object.\n *\n * - Creates a copy to prevent original input mutation\n * - Skips non-enumerable properties\n * - When stringifying, calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializable values (`undefined`/`NaN`/functions) to serializable format\n * - Translates known global objects/classes to a string representations\n * - Takes care of `Error` object serialization\n * - Optionally limits depth of final output\n * - Optionally limits number of properties/elements included in any single object/array\n *\n * @param input The object to be normalized.\n * @param depth The max depth to which to normalize the object. (Anything deeper stringified whole.)\n * @param maxProperties The max number of elements or properties to be included in any single array or\n * object in the normallized output..\n * @returns A normalized version of the object, or `\"**non-serializable**\"` if any errors are thrown during normalization.\n */\nexport function normalize(input: unknown, depth: number = +Infinity, maxProperties: number = +Infinity): any {\n try {\n // since we're at the outermost level, there is no key\n return visit('', input, depth, maxProperties);\n } catch (err) {\n return { ERROR: `**non-serializable** (${err})` };\n }\n}\n\n/** JSDoc */\nexport function normalizeToSize(\n object: { [key: string]: any },\n // Default Node.js REPL depth\n depth: number = 3,\n // 100kB, as 200kB is max payload size, so half sounds reasonable\n maxSize: number = 100 * 1024,\n): T {\n const normalized = normalize(object, depth);\n\n if (jsonSize(normalized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n\n return normalized as T;\n}\n\n/**\n * Visits a node to perform normalization on it\n *\n * @param key The key corresponding to the given node\n * @param value The node to be visited\n * @param depth Optional number indicating the maximum recursion depth\n * @param maxProperties Optional maximum number of properties/elements included in any single object/array\n * @param memo Optional Memo class handling decycling\n */\nfunction visit(\n key: string,\n value: unknown,\n depth: number = +Infinity,\n maxProperties: number = +Infinity,\n memo: MemoFunc = memoBuilder(),\n): Primitive | ObjOrArray {\n const [memoize, unmemoize] = memo;\n\n // If the value has a `toJSON` method, see if we can bail and let it do the work\n const valueWithToJSON = value as unknown & { toJSON?: () => Primitive | ObjOrArray };\n if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {\n try {\n return valueWithToJSON.toJSON();\n } catch (err) {\n // pass (The built-in `toJSON` failed, but we can still try to do it ourselves)\n }\n }\n\n // Get the simple cases out of the way first\n if (value === null || (['number', 'boolean', 'string'].includes(typeof value) && !isNaN(value))) {\n return value as Primitive;\n }\n\n const stringified = stringifyValue(key, value);\n\n // Anything we could potentially dig into more (objects or arrays) will have come back as `\"[object XXXX]\"`.\n // Everything else will have already been serialized, so if we don't see that pattern, we're done.\n if (!stringified.startsWith('[object ')) {\n return stringified;\n }\n\n // We're also done if we've reached the max depth\n if (depth === 0) {\n // At this point we know `serialized` is a string of the form `\"[object XXXX]\"`. Clean it up so it's just `\"[XXXX]\"`.\n return stringified.replace('object ', '');\n }\n\n // If we've already visited this branch, bail out, as it's circular reference. If not, note that we're seeing it now.\n if (memoize(value)) {\n return '[Circular ~]';\n }\n\n // At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse\n // because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each\n // property/entry, and keep track of the number of items we add to it.\n const normalized = (Array.isArray(value) ? [] : {}) as ObjOrArray;\n let numAdded = 0;\n\n // Before we begin, convert`Error` and`Event` instances into plain objects, since some of each of their relevant\n // properties are non-enumerable and otherwise would get missed.\n const visitable = (isError(value) || isEvent(value) ? convertToPlainObject(value) : value) as ObjOrArray;\n\n for (const visitKey in visitable) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n continue;\n }\n\n if (numAdded >= maxProperties) {\n normalized[visitKey] = '[MaxProperties ~]';\n break;\n }\n\n // Recursively visit all the child nodes\n const visitValue = visitable[visitKey];\n normalized[visitKey] = visit(visitKey, visitValue, depth - 1, maxProperties, memo);\n\n numAdded += 1;\n }\n\n // Once we've visited all the branches, remove the parent from memo storage\n unmemoize(value);\n\n // Return accumulated values\n return normalized;\n}\n\n// TODO remove this in v7 (this means the method will no longer be exported, under any name)\nexport { visit as walk };\n\n/**\n * Stringify the given value. Handles various known special values and types.\n *\n * Not meant to be used on simple primitives which already have a string representation, as it will, for example, turn\n * the number 1231 into \"[Object Number]\", nor on `null`, as it will throw.\n *\n * @param value The value to stringify\n * @returns A stringified representation of the given value\n */\nfunction stringifyValue(\n key: unknown,\n // this type is a tiny bit of a cheat, since this function does handle NaN (which is technically a number), but for\n // our internal use, it'll do\n value: Exclude,\n): string {\n try {\n if (key === 'domain' && value && typeof value === 'object' && (value as { _events: unknown })._events) {\n return '[Domain]';\n }\n\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n\n // It's safe to use `global`, `window`, and `document` here in this manner, as we are asserting using `typeof` first\n // which won't throw if they are not present.\n\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n\n // eslint-disable-next-line no-restricted-globals\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n\n // this catches `undefined` (but not `null`, which is a primitive and can be serialized on its own)\n if (value === void 0) {\n return '[undefined]';\n }\n\n if (typeof value === 'function') {\n return `[Function: ${getFunctionName(value)}]`;\n }\n\n if (typeof value === 'symbol') {\n return `[${String(value)}]`;\n }\n\n // stringified BigInts are indistinguishable from regular numbers, so we need to label them to avoid confusion\n if (typeof value === 'bigint') {\n return `[BigInt: ${String(value)}]`;\n }\n\n // Now that we've knocked out all the special cases and the primitives, all we have left are objects. Simply casting\n // them to strings means that instances of classes which haven't defined their `toStringTag` will just come out as\n // `\"[object Object]\"`. If we instead look at the constructor's name (which is the same as the name of the class),\n // we can make sure that only plain objects come out that way.\n return `[object ${(Object.getPrototypeOf(value) as Prototype).constructor.name}]`;\n } catch (err) {\n return `**non-serializable** (${err})`;\n }\n}\n\n/** Calculates bytes size of input string */\nfunction utf8Length(value: string): number {\n // eslint-disable-next-line no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n\n/** Calculates bytes size of input object */\nfunction jsonSize(value: any): number {\n return utf8Length(JSON.stringify(value));\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport type MemoFunc = [\n // memoize\n (obj: any) => boolean,\n // unmemoize\n (obj: any) => void,\n];\n\n/**\n * Helper to decycle json objects\n */\nexport function memoBuilder(): MemoFunc {\n const hasWeakSet = typeof WeakSet === 'function';\n const inner: any = hasWeakSet ? new WeakSet() : [];\n function memoize(obj: any): boolean {\n if (hasWeakSet) {\n if (inner.has(obj)) {\n return true;\n }\n inner.add(obj);\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (let i = 0; i < inner.length; i++) {\n const value = inner[i];\n if (value === obj) {\n return true;\n }\n }\n inner.push(obj);\n return false;\n }\n\n function unmemoize(obj: any): void {\n if (hasWeakSet) {\n inner.delete(obj);\n } else {\n for (let i = 0; i < inner.length; i++) {\n if (inner[i] === obj) {\n inner.splice(i, 1);\n break;\n }\n }\n }\n }\n return [memoize, unmemoize];\n}\n","import { StackFrame } from '@sentry/types';\nimport { StackLineParser, StackLineParserFn } from '@sentry/utils';\n\n// global reference to slice\nconst UNKNOWN_FUNCTION = '?';\n\nconst OPERA10_PRIORITY = 10;\nconst OPERA11_PRIORITY = 20;\nconst CHROME_PRIORITY = 30;\nconst WINJS_PRIORITY = 40;\nconst GECKO_PRIORITY = 50;\n\nfunction createFrame(filename: string, func: string, lineno?: number, colno?: number): StackFrame {\n const frame: StackFrame = {\n filename,\n function: func,\n // All browser frames are considered in_app\n in_app: true,\n };\n\n if (lineno !== undefined) {\n frame.lineno = lineno;\n }\n\n if (colno !== undefined) {\n frame.colno = colno;\n }\n\n return frame;\n}\n\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\nconst chromeRegex =\n /^\\s*at (?:(.*?) ?\\((?:address at )?)?((?:file|https?|blob|chrome-extension|address|native|eval|webpack||[-a-z]+:|.*bundle|\\/).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nconst chromeEvalRegex = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\nconst chrome: StackLineParserFn = line => {\n const parts = chromeRegex.exec(line);\n\n if (parts) {\n const isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n if (isEval) {\n const subMatch = chromeEvalRegex.exec(parts[2]);\n\n if (subMatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = subMatch[1]; // url\n parts[3] = subMatch[2]; // line\n parts[4] = subMatch[3]; // column\n }\n }\n\n // Kamil: One more hack won't hurt us right? Understanding and adding more rules on top of these regexps right now\n // would be way too time consuming. (TODO: Rewrite whole RegExp to be more readable)\n const [func, filename] = extractSafariExtensionDetails(parts[1] || UNKNOWN_FUNCTION, parts[2]);\n\n return createFrame(filename, func, parts[3] ? +parts[3] : undefined, parts[4] ? +parts[4] : undefined);\n }\n\n return;\n};\n\nexport const chromeStackParser: StackLineParser = [CHROME_PRIORITY, chrome];\n\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nconst geckoREgex =\n /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:file|https?|blob|chrome|webpack|resource|moz-extension|capacitor).*?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nconst geckoEvalRegex = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nconst gecko: StackLineParserFn = line => {\n const parts = geckoREgex.exec(line);\n\n if (parts) {\n const isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n if (isEval) {\n const subMatch = geckoEvalRegex.exec(parts[3]);\n\n if (subMatch) {\n // throw out eval line/column and use top-most line number\n parts[1] = parts[1] || 'eval';\n parts[3] = subMatch[1];\n parts[4] = subMatch[2];\n parts[5] = ''; // no column when eval\n }\n }\n\n let filename = parts[3];\n let func = parts[1] || UNKNOWN_FUNCTION;\n [func, filename] = extractSafariExtensionDetails(func, filename);\n\n return createFrame(filename, func, parts[4] ? +parts[4] : undefined, parts[5] ? +parts[5] : undefined);\n }\n\n return;\n};\n\nexport const geckoStackParser: StackLineParser = [GECKO_PRIORITY, gecko];\n\nconst winjsRegex =\n /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nconst winjs: StackLineParserFn = line => {\n const parts = winjsRegex.exec(line);\n\n return parts\n ? createFrame(parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : undefined)\n : undefined;\n};\n\nexport const winjsStackParser: StackLineParser = [WINJS_PRIORITY, winjs];\n\nconst opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n\nconst opera10: StackLineParserFn = line => {\n const parts = opera10Regex.exec(line);\n return parts ? createFrame(parts[2], parts[3] || UNKNOWN_FUNCTION, +parts[1]) : undefined;\n};\n\nexport const opera10StackParser: StackLineParser = [OPERA10_PRIORITY, opera10];\n\nconst opera11Regex =\n / line (\\d+), column (\\d+)\\s*(?:in (?:]+)>|([^)]+))\\(.*\\))? in (.*):\\s*$/i;\n\nconst opera11: StackLineParserFn = line => {\n const parts = opera11Regex.exec(line);\n return parts ? createFrame(parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : undefined;\n};\n\nexport const opera11StackParser: StackLineParser = [OPERA11_PRIORITY, opera11];\n\n/**\n * Safari web extensions, starting version unknown, can produce \"frames-only\" stacktraces.\n * What it means, is that instead of format like:\n *\n * Error: wat\n * at function@url:row:col\n * at function@url:row:col\n * at function@url:row:col\n *\n * it produces something like:\n *\n * function@url:row:col\n * function@url:row:col\n * function@url:row:col\n *\n * Because of that, it won't be captured by `chrome` RegExp and will fall into `Gecko` branch.\n * This function is extracted so that we can use it in both places without duplicating the logic.\n * Unfortunately \"just\" changing RegExp is too complicated now and making it pass all tests\n * and fix this case seems like an impossible, or at least way too time-consuming task.\n */\nconst extractSafariExtensionDetails = (func: string, filename: string): [string, string] => {\n const isSafariExtension = func.indexOf('safari-extension') !== -1;\n const isSafariWebExtension = func.indexOf('safari-web-extension') !== -1;\n\n return isSafariExtension || isSafariWebExtension\n ? [\n func.indexOf('@') !== -1 ? func.split('@')[0] : UNKNOWN_FUNCTION,\n isSafariExtension ? `safari-extension:${filename}` : `safari-web-extension:${filename}`,\n ]\n : [func, filename];\n};\n","import { Event, EventHint, Exception, Severity, StackFrame } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addExceptionTypeValue,\n createStackParser,\n extractExceptionKeysForMessage,\n isDOMError,\n isDOMException,\n isError,\n isErrorEvent,\n isEvent,\n isPlainObject,\n normalizeToSize,\n resolvedSyncPromise,\n} from '@sentry/utils';\n\nimport {\n chromeStackParser,\n geckoStackParser,\n opera10StackParser,\n opera11StackParser,\n winjsStackParser,\n} from './stack-parsers';\n\n/**\n * This function creates an exception from an TraceKitStackTrace\n * @param stacktrace TraceKitStackTrace that will be converted to an exception\n * @hidden\n */\nexport function exceptionFromError(ex: Error): Exception {\n // Get the frames first since Opera can lose the stack if we touch anything else first\n const frames = parseStackFrames(ex);\n\n const exception: Exception = {\n type: ex && ex.name,\n value: extractMessage(ex),\n };\n\n if (frames.length) {\n exception.stacktrace = { frames };\n }\n\n if (exception.type === undefined && exception.value === '') {\n exception.value = 'Unrecoverable error caught';\n }\n\n return exception;\n}\n\n/**\n * @hidden\n */\nexport function eventFromPlainObject(\n exception: Record,\n syntheticException?: Error,\n isUnhandledRejection?: boolean,\n): Event {\n const event: Event = {\n exception: {\n values: [\n {\n type: isEvent(exception) ? exception.constructor.name : isUnhandledRejection ? 'UnhandledRejection' : 'Error',\n value: `Non-Error ${\n isUnhandledRejection ? 'promise rejection' : 'exception'\n } captured with keys: ${extractExceptionKeysForMessage(exception)}`,\n },\n ],\n },\n extra: {\n __serialized__: normalizeToSize(exception),\n },\n };\n\n if (syntheticException) {\n const frames = parseStackFrames(syntheticException);\n if (frames.length) {\n event.stacktrace = { frames };\n }\n }\n\n return event;\n}\n\n/**\n * @hidden\n */\nexport function eventFromError(ex: Error): Event {\n return {\n exception: {\n values: [exceptionFromError(ex)],\n },\n };\n}\n\n/** Parses stack frames from an error */\nexport function parseStackFrames(ex: Error & { framesToPop?: number; stacktrace?: string }): StackFrame[] {\n // Access and store the stacktrace property before doing ANYTHING\n // else to it because Opera is not very good at providing it\n // reliably in other circumstances.\n const stacktrace = ex.stacktrace || ex.stack || '';\n\n const popSize = getPopSize(ex);\n\n try {\n return createStackParser(\n opera10StackParser,\n opera11StackParser,\n chromeStackParser,\n winjsStackParser,\n geckoStackParser,\n )(stacktrace, popSize);\n } catch (e) {\n // no-empty\n }\n\n return [];\n}\n\n// Based on our own mapping pattern - https://github.com/getsentry/sentry/blob/9f08305e09866c8bd6d0c24f5b0aabdd7dd6c59c/src/sentry/lang/javascript/errormapping.py#L83-L108\nconst reactMinifiedRegexp = /Minified React error #\\d+;/i;\n\nfunction getPopSize(ex: Error & { framesToPop?: number }): number {\n if (ex) {\n if (typeof ex.framesToPop === 'number') {\n return ex.framesToPop;\n }\n\n if (reactMinifiedRegexp.test(ex.message)) {\n return 1;\n }\n }\n\n return 0;\n}\n\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\nfunction extractMessage(ex: Error & { message: { error?: Error } }): string {\n const message = ex && ex.message;\n if (!message) {\n return 'No error message';\n }\n if (message.error && typeof message.error.message === 'string') {\n return message.error.message;\n }\n return message;\n}\n\n/**\n * Creates an {@link Event} from all inputs to `captureException` and non-primitive inputs to `captureMessage`.\n * @hidden\n */\nexport function eventFromException(\n exception: unknown,\n hint?: EventHint,\n attachStacktrace?: boolean,\n): PromiseLike {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromUnknownInput(exception, syntheticException, attachStacktrace);\n addExceptionMechanism(event); // defaults to { type: 'generic', handled: true }\n event.level = Severity.Error;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * Builds and Event from a Message\n * @hidden\n */\nexport function eventFromMessage(\n message: string,\n level: Severity = Severity.Info,\n hint?: EventHint,\n attachStacktrace?: boolean,\n): PromiseLike {\n const syntheticException = (hint && hint.syntheticException) || undefined;\n const event = eventFromString(message, syntheticException, attachStacktrace);\n event.level = level;\n if (hint && hint.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\n\n/**\n * @hidden\n */\nexport function eventFromUnknownInput(\n exception: unknown,\n syntheticException?: Error,\n attachStacktrace?: boolean,\n isUnhandledRejection?: boolean,\n): Event {\n let event: Event;\n\n if (isErrorEvent(exception as ErrorEvent) && (exception as ErrorEvent).error) {\n // If it is an ErrorEvent with `error` property, extract it to get actual Error\n const errorEvent = exception as ErrorEvent;\n return eventFromError(errorEvent.error as Error);\n }\n\n // If it is a `DOMError` (which is a legacy API, but still supported in some browsers) then we just extract the name\n // and message, as it doesn't provide anything else. According to the spec, all `DOMExceptions` should also be\n // `Error`s, but that's not the case in IE11, so in that case we treat it the same as we do a `DOMError`.\n //\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n // https://webidl.spec.whatwg.org/#es-DOMException-specialness\n if (isDOMError(exception as DOMError) || isDOMException(exception as DOMException)) {\n const domException = exception as DOMException;\n\n if ('stack' in (exception as Error)) {\n event = eventFromError(exception as Error);\n } else {\n const name = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n const message = domException.message ? `${name}: ${domException.message}` : name;\n event = eventFromString(message, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, message);\n }\n if ('code' in domException) {\n event.tags = { ...event.tags, 'DOMException.code': `${domException.code}` };\n }\n\n return event;\n }\n if (isError(exception)) {\n // we have a real Error object, do nothing\n return eventFromError(exception);\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n // If it's a plain object or an instance of `Event` (the built-in JS kind, not this SDK's `Event` type), serialize\n // it manually. This will allow us to group events based on top-level keys which is much better than creating a new\n // group on any key/value change.\n const objectException = exception as Record;\n event = eventFromPlainObject(objectException, syntheticException, isUnhandledRejection);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n return event;\n }\n\n // If none of previous checks were valid, then it means that it's not:\n // - an instance of DOMError\n // - an instance of DOMException\n // - an instance of Event\n // - an instance of Error\n // - a valid ErrorEvent (one with an error property)\n // - a plain Object\n //\n // So bail out and capture it as a simple message:\n event = eventFromString(exception as string, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, `${exception}`, undefined);\n addExceptionMechanism(event, {\n synthetic: true,\n });\n\n return event;\n}\n\n/**\n * @hidden\n */\nexport function eventFromString(input: string, syntheticException?: Error, attachStacktrace?: boolean): Event {\n const event: Event = {\n message: input,\n };\n\n if (attachStacktrace && syntheticException) {\n const frames = parseStackFrames(syntheticException);\n if (frames.length) {\n event.stacktrace = { frames };\n }\n }\n\n return event;\n}\n","/*\n * This file defines flags and constants that can be modified during compile time in order to facilitate tree shaking\n * for users.\n *\n * Debug flags need to be declared in each package individually and must not be imported across package boundaries,\n * because some build tools have trouble tree-shaking imported guards.\n *\n * As a convention, we define debug flags in a `flags.ts` file in the root of a package's `src` folder.\n *\n * Debug flag files will contain \"magic strings\" like `__SENTRY_DEBUG__` that may get replaced with actual values during\n * our, or the user's build process. Take care when introducing new flags - they must not throw if they are not\n * replaced.\n */\n\ndeclare const __SENTRY_DEBUG__: boolean;\n\n/** Flag that is true for debug builds, false otherwise. */\nexport const IS_DEBUG_BUILD = typeof __SENTRY_DEBUG__ === 'undefined' ? true : __SENTRY_DEBUG__;\n","import { getCurrentHub, Hub, Scope } from '@sentry/hub';\nimport {\n Breadcrumb,\n CaptureContext,\n CustomSamplingContext,\n Event,\n Extra,\n Extras,\n Primitive,\n Severity,\n Transaction,\n TransactionContext,\n User,\n} from '@sentry/types';\n\n/**\n * This calls a function on the current hub.\n * @param method function to call on hub.\n * @param args to pass to function.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction callOnHub(method: string, ...args: any[]): T {\n const hub = getCurrentHub();\n if (hub && hub[method as keyof Hub]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (hub[method as keyof Hub] as any)(...args);\n }\n throw new Error(`No hub defined or ${method} was not found on the hub, please open a bug report.`);\n}\n\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception An exception-like object.\n * @returns The generated eventId.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nexport function captureException(exception: any, captureContext?: CaptureContext): string {\n const syntheticException = new Error('Sentry syntheticException');\n\n return callOnHub('captureException', exception, {\n captureContext,\n originalException: exception,\n syntheticException,\n });\n}\n\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param Severity Define the level of the message.\n * @returns The generated eventId.\n */\nexport function captureMessage(message: string, captureContext?: CaptureContext | Severity): string {\n const syntheticException = new Error(message);\n\n // This is necessary to provide explicit scopes upgrade, without changing the original\n // arity of the `captureMessage(message, level)` method.\n const level = typeof captureContext === 'string' ? captureContext : undefined;\n const context = typeof captureContext !== 'string' ? { captureContext } : undefined;\n\n return callOnHub('captureMessage', message, level, {\n originalException: message,\n syntheticException,\n ...context,\n });\n}\n\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @returns The generated eventId.\n */\nexport function captureEvent(event: Event): string {\n return callOnHub('captureEvent', event);\n}\n\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\nexport function configureScope(callback: (scope: Scope) => void): void {\n callOnHub('configureScope', callback);\n}\n\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n *\n * @param breadcrumb The breadcrumb to record.\n */\nexport function addBreadcrumb(breadcrumb: Breadcrumb): void {\n callOnHub('addBreadcrumb', breadcrumb);\n}\n\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normalized.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function setContext(name: string, context: { [key: string]: any } | null): void {\n callOnHub('setContext', name, context);\n}\n\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nexport function setExtras(extras: Extras): void {\n callOnHub('setExtras', extras);\n}\n\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nexport function setTags(tags: { [key: string]: Primitive }): void {\n callOnHub('setTags', tags);\n}\n\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normalized.\n */\nexport function setExtra(key: string, extra: Extra): void {\n callOnHub('setExtra', key, extra);\n}\n\n/**\n * Set key:value that will be sent as tags data with the event.\n *\n * Can also be used to unset a tag, by passing `undefined`.\n *\n * @param key String key of tag\n * @param value Value of tag\n */\nexport function setTag(key: string, value: Primitive): void {\n callOnHub('setTag', key, value);\n}\n\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nexport function setUser(user: User | null): void {\n callOnHub('setUser', user);\n}\n\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n *\n * This is essentially a convenience function for:\n *\n * pushScope();\n * callback();\n * popScope();\n *\n * @param callback that will be enclosed into push/popScope.\n */\nexport function withScope(callback: (scope: Scope) => void): void {\n callOnHub('withScope', callback);\n}\n\n/**\n * Calls a function on the latest client. Use this with caution, it's meant as\n * in \"internal\" helper so we don't need to expose every possible function in\n * the shim. It is not guaranteed that the client actually implements the\n * function.\n *\n * @param method The method to call on the client/client.\n * @param args Arguments to pass to the client/fontend.\n * @hidden\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function _callOnClient(method: string, ...args: any[]): void {\n callOnHub('_invokeClient', method, ...args);\n}\n\n/**\n * Starts a new `Transaction` and returns it. This is the entry point to manual tracing instrumentation.\n *\n * A tree structure can be built by adding child spans to the transaction, and child spans to other spans. To start a\n * new child span within the transaction or any span, call the respective `.startChild()` method.\n *\n * Every child span must be finished before the transaction is finished, otherwise the unfinished spans are discarded.\n *\n * The transaction must be finished with a call to its `.finish()` method, at which point the transaction with all its\n * finished child spans will be sent to Sentry.\n *\n * @param context Properties of the new `Transaction`.\n * @param customSamplingContext Information given to the transaction sampling function (along with context-dependent\n * default values). See {@link Options.tracesSampler}.\n *\n * @returns The transaction which was just started\n */\nexport function startTransaction(\n context: TransactionContext,\n customSamplingContext?: CustomSamplingContext,\n): Transaction {\n return callOnHub('startTransaction', { ...context }, customSamplingContext);\n}\n","export const setPrototypeOf =\n Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties);\n\n/**\n * setPrototypeOf polyfill using __proto__\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction setProtoOf(obj: TTarget, proto: TProto): TTarget & TProto {\n // @ts-ignore __proto__ does not exist on obj\n obj.__proto__ = proto;\n return obj as TTarget & TProto;\n}\n\n/**\n * setPrototypeOf polyfill using mixin\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction mixinProperties(obj: TTarget, proto: TProto): TTarget & TProto {\n for (const prop in proto) {\n if (!Object.prototype.hasOwnProperty.call(obj, prop)) {\n // @ts-ignore typescript complains about indexing so we remove\n obj[prop] = proto[prop];\n }\n }\n\n return obj as TTarget & TProto;\n}\n","import { setPrototypeOf } from './polyfill';\n\n/** An error emitted by Sentry SDKs and related utilities. */\nexport class SentryError extends Error {\n /** Display name of this error instance. */\n public name: string;\n\n public constructor(public message: string) {\n super(message);\n\n this.name = new.target.prototype.constructor.name;\n setPrototypeOf(this, new.target.prototype);\n }\n}\n","import { DsnComponents, DsnLike, DsnProtocol } from '@sentry/types';\n\nimport { SentryError } from './error';\nimport { IS_DEBUG_BUILD } from './flags';\n\n/** Regular expression used to parse a Dsn. */\nconst DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+))?@)([\\w.-]+)(?::(\\d+))?\\/(.+)/;\n\nfunction isValidProtocol(protocol?: string): protocol is DsnProtocol {\n return protocol === 'http' || protocol === 'https';\n}\n\n/**\n * Renders the string representation of this Dsn.\n *\n * By default, this will render the public representation without the password\n * component. To get the deprecated private representation, set `withPassword`\n * to true.\n *\n * @param withPassword When set to true, the password will be included.\n */\nexport function dsnToString(dsn: DsnComponents, withPassword: boolean = false): string {\n const { host, path, pass, port, projectId, protocol, publicKey } = dsn;\n return (\n `${protocol}://${publicKey}${withPassword && pass ? `:${pass}` : ''}` +\n `@${host}${port ? `:${port}` : ''}/${path ? `${path}/` : path}${projectId}`\n );\n}\n\nfunction dsnFromString(str: string): DsnComponents {\n const match = DSN_REGEX.exec(str);\n\n if (!match) {\n throw new SentryError(`Invalid Sentry Dsn: ${str}`);\n }\n\n const [protocol, publicKey, pass = '', host, port = '', lastPath] = match.slice(1);\n let path = '';\n let projectId = lastPath;\n\n const split = projectId.split('/');\n if (split.length > 1) {\n path = split.slice(0, -1).join('/');\n projectId = split.pop() as string;\n }\n\n if (projectId) {\n const projectMatch = projectId.match(/^\\d+/);\n if (projectMatch) {\n projectId = projectMatch[0];\n }\n }\n\n return dsnFromComponents({ host, pass, path, projectId, port, protocol: protocol as DsnProtocol, publicKey });\n}\n\nfunction dsnFromComponents(components: DsnComponents): DsnComponents {\n // TODO this is for backwards compatibility, and can be removed in a future version\n if ('user' in components && !('publicKey' in components)) {\n components.publicKey = components.user;\n }\n\n return {\n user: components.publicKey || '',\n protocol: components.protocol,\n publicKey: components.publicKey || '',\n pass: components.pass || '',\n host: components.host,\n port: components.port || '',\n path: components.path || '',\n projectId: components.projectId,\n };\n}\n\nfunction validateDsn(dsn: DsnComponents): boolean | void {\n if (!IS_DEBUG_BUILD) {\n return;\n }\n\n const { port, projectId, protocol } = dsn;\n\n const requiredComponents: ReadonlyArray = ['protocol', 'publicKey', 'host', 'projectId'];\n requiredComponents.forEach(component => {\n if (!dsn[component]) {\n throw new SentryError(`Invalid Sentry Dsn: ${component} missing`);\n }\n });\n\n if (!projectId.match(/^\\d+$/)) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid projectId ${projectId}`);\n }\n\n if (!isValidProtocol(protocol)) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid protocol ${protocol}`);\n }\n\n if (port && isNaN(parseInt(port, 10))) {\n throw new SentryError(`Invalid Sentry Dsn: Invalid port ${port}`);\n }\n\n return true;\n}\n\n/** The Sentry Dsn, identifying a Sentry instance and project. */\nexport function makeDsn(from: DsnLike): DsnComponents {\n const components = typeof from === 'string' ? dsnFromString(from) : dsnFromComponents(from);\n\n validateDsn(components);\n\n return components;\n}\n","import { DsnComponents, DsnLike, SdkMetadata } from '@sentry/types';\nimport { dsnToString, makeDsn, urlEncode } from '@sentry/utils';\n\nconst SENTRY_API_VERSION = '7';\n\n/**\n * Stores details about a Sentry SDK\n */\nexport interface APIDetails {\n /** The DSN as passed to Sentry.init() */\n initDsn: DsnLike;\n /** Metadata about the SDK (name, version, etc) for inclusion in envelope headers */\n metadata: SdkMetadata;\n /** The internally used Dsn object. */\n readonly dsn: DsnComponents;\n /** The envelope tunnel to use. */\n readonly tunnel?: string;\n}\n\n/**\n * Helper class to provide urls, headers and metadata that can be used to form\n * different types of requests to Sentry endpoints.\n * Supports both envelopes and regular event requests.\n *\n * @deprecated Please use APIDetails\n **/\nexport class API {\n /** The DSN as passed to Sentry.init() */\n public dsn: DsnLike;\n\n /** Metadata about the SDK (name, version, etc) for inclusion in envelope headers */\n public metadata: SdkMetadata;\n\n /** The internally used Dsn object. */\n private readonly _dsnObject: DsnComponents;\n\n /** The envelope tunnel to use. */\n private readonly _tunnel?: string;\n\n /** Create a new instance of API */\n public constructor(dsn: DsnLike, metadata: SdkMetadata = {}, tunnel?: string) {\n this.dsn = dsn;\n this._dsnObject = makeDsn(dsn);\n this.metadata = metadata;\n this._tunnel = tunnel;\n }\n\n /** Returns the Dsn object. */\n public getDsn(): DsnComponents {\n return this._dsnObject;\n }\n\n /** Does this transport force envelopes? */\n public forceEnvelope(): boolean {\n return !!this._tunnel;\n }\n\n /** Returns the prefix to construct Sentry ingestion API endpoints. */\n public getBaseApiEndpoint(): string {\n return getBaseApiEndpoint(this._dsnObject);\n }\n\n /** Returns the store endpoint URL. */\n public getStoreEndpoint(): string {\n return getStoreEndpoint(this._dsnObject);\n }\n\n /**\n * Returns the store endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\n public getStoreEndpointWithUrlEncodedAuth(): string {\n return getStoreEndpointWithUrlEncodedAuth(this._dsnObject);\n }\n\n /**\n * Returns the envelope endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\n public getEnvelopeEndpointWithUrlEncodedAuth(): string {\n return getEnvelopeEndpointWithUrlEncodedAuth(this._dsnObject, this._tunnel);\n }\n}\n\n/** Initializes API Details */\nexport function initAPIDetails(dsn: DsnLike, metadata?: SdkMetadata, tunnel?: string): APIDetails {\n return {\n initDsn: dsn,\n metadata: metadata || {},\n dsn: makeDsn(dsn),\n tunnel,\n } as APIDetails;\n}\n\n/** Returns the prefix to construct Sentry ingestion API endpoints. */\nfunction getBaseApiEndpoint(dsn: DsnComponents): string {\n const protocol = dsn.protocol ? `${dsn.protocol}:` : '';\n const port = dsn.port ? `:${dsn.port}` : '';\n return `${protocol}//${dsn.host}${port}${dsn.path ? `/${dsn.path}` : ''}/api/`;\n}\n\n/** Returns the ingest API endpoint for target. */\nfunction _getIngestEndpoint(dsn: DsnComponents, target: 'store' | 'envelope'): string {\n return `${getBaseApiEndpoint(dsn)}${dsn.projectId}/${target}/`;\n}\n\n/** Returns a URL-encoded string with auth config suitable for a query string. */\nfunction _encodedAuth(dsn: DsnComponents): string {\n return urlEncode({\n // We send only the minimum set of required information. See\n // https://github.com/getsentry/sentry-javascript/issues/2572.\n sentry_key: dsn.publicKey,\n sentry_version: SENTRY_API_VERSION,\n });\n}\n\n/** Returns the store endpoint URL. */\nfunction getStoreEndpoint(dsn: DsnComponents): string {\n return _getIngestEndpoint(dsn, 'store');\n}\n\n/**\n * Returns the store endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\nexport function getStoreEndpointWithUrlEncodedAuth(dsn: DsnComponents): string {\n return `${getStoreEndpoint(dsn)}?${_encodedAuth(dsn)}`;\n}\n\n/** Returns the envelope endpoint URL. */\nfunction _getEnvelopeEndpoint(dsn: DsnComponents): string {\n return _getIngestEndpoint(dsn, 'envelope');\n}\n\n/**\n * Returns the envelope endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\nexport function getEnvelopeEndpointWithUrlEncodedAuth(dsn: DsnComponents, tunnel?: string): string {\n return tunnel ? tunnel : `${_getEnvelopeEndpoint(dsn)}?${_encodedAuth(dsn)}`;\n}\n\n/**\n * Returns an object that can be used in request headers.\n * This is needed for node and the old /store endpoint in sentry\n */\nexport function getRequestHeaders(\n dsn: DsnComponents,\n clientName: string,\n clientVersion: string,\n): { [key: string]: string } {\n // CHANGE THIS to use metadata but keep clientName and clientVersion compatible\n const header = [`Sentry sentry_version=${SENTRY_API_VERSION}`];\n header.push(`sentry_client=${clientName}/${clientVersion}`);\n header.push(`sentry_key=${dsn.publicKey}`);\n if (dsn.pass) {\n header.push(`sentry_secret=${dsn.pass}`);\n }\n return {\n 'Content-Type': 'application/json',\n 'X-Sentry-Auth': header.join(', '),\n };\n}\n\n/** Returns the url to the report dialog endpoint. */\nexport function getReportDialogEndpoint(\n dsnLike: DsnLike,\n dialogOptions: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n user?: { name?: string; email?: string };\n },\n): string {\n const dsn = makeDsn(dsnLike);\n const endpoint = `${getBaseApiEndpoint(dsn)}embed/error-page/`;\n\n let encodedOptions = `dsn=${dsnToString(dsn)}`;\n for (const key in dialogOptions) {\n if (key === 'dsn') {\n continue;\n }\n\n if (key === 'user') {\n if (!dialogOptions.user) {\n continue;\n }\n if (dialogOptions.user.name) {\n encodedOptions += `&name=${encodeURIComponent(dialogOptions.user.name)}`;\n }\n if (dialogOptions.user.email) {\n encodedOptions += `&email=${encodeURIComponent(dialogOptions.user.email)}`;\n }\n } else {\n encodedOptions += `&${encodeURIComponent(key)}=${encodeURIComponent(dialogOptions[key] as string)}`;\n }\n }\n\n return `${endpoint}?${encodedOptions}`;\n}\n","import { captureException, getReportDialogEndpoint, withScope } from '@sentry/core';\nimport { DsnLike, Event as SentryEvent, Mechanism, Scope, WrappedFunction } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addExceptionTypeValue,\n addNonEnumerableProperty,\n getGlobalObject,\n getOriginalFunction,\n logger,\n markFunctionWrapped,\n} from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from './flags';\n\nconst global = getGlobalObject();\nlet ignoreOnError: number = 0;\n\n/**\n * @hidden\n */\nexport function shouldIgnoreOnError(): boolean {\n return ignoreOnError > 0;\n}\n\n/**\n * @hidden\n */\nexport function ignoreNextOnError(): void {\n // onerror should trigger before setTimeout\n ignoreOnError += 1;\n setTimeout(() => {\n ignoreOnError -= 1;\n });\n}\n\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap.\n * @returns The wrapped function.\n * @hidden\n */\nexport function wrap(\n fn: WrappedFunction,\n options: {\n mechanism?: Mechanism;\n } = {},\n before?: WrappedFunction,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n): any {\n // for future readers what this does is wrap a function and then create\n // a bi-directional wrapping between them.\n //\n // example: wrapped = wrap(original);\n // original.__sentry_wrapped__ -> wrapped\n // wrapped.__sentry_original__ -> original\n\n if (typeof fn !== 'function') {\n return fn;\n }\n\n try {\n // if we're dealing with a function that was previously wrapped, return\n // the original wrapper.\n const wrapper = fn.__sentry_wrapped__;\n if (wrapper) {\n return wrapper;\n }\n\n // We don't wanna wrap it twice\n if (getOriginalFunction(fn)) {\n return fn;\n }\n } catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n // Bail on wrapping and return the function as-is (defers to window.onerror).\n return fn;\n }\n\n /* eslint-disable prefer-rest-params */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const sentryWrapped: WrappedFunction = function (this: any): void {\n const args = Array.prototype.slice.call(arguments);\n\n try {\n if (before && typeof before === 'function') {\n before.apply(this, arguments);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n const wrappedArguments = args.map((arg: any) => wrap(arg, options));\n\n // Attempt to invoke user-land function\n // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n // means the sentry.javascript SDK caught an error invoking your application code. This\n // is expected behavior and NOT indicative of a bug with sentry.javascript.\n return fn.apply(this, wrappedArguments);\n } catch (ex) {\n ignoreNextOnError();\n\n withScope((scope: Scope) => {\n scope.addEventProcessor((event: SentryEvent) => {\n if (options.mechanism) {\n addExceptionTypeValue(event, undefined, undefined);\n addExceptionMechanism(event, options.mechanism);\n }\n\n event.extra = {\n ...event.extra,\n arguments: args,\n };\n\n return event;\n });\n\n captureException(ex);\n });\n\n throw ex;\n }\n };\n /* eslint-enable prefer-rest-params */\n\n // Accessing some objects may throw\n // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n try {\n for (const property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n } catch (_oO) {} // eslint-disable-line no-empty\n\n // Signal that this function has been wrapped/filled already\n // for both debugging and to prevent it to being wrapped/filled twice\n markFunctionWrapped(sentryWrapped, fn);\n\n addNonEnumerableProperty(fn, '__sentry_wrapped__', sentryWrapped);\n\n // Restore original function name (not all browsers allow that)\n try {\n const descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name') as PropertyDescriptor;\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, 'name', {\n get(): string {\n return fn.name;\n },\n });\n }\n // eslint-disable-next-line no-empty\n } catch (_oO) {}\n\n return sentryWrapped;\n}\n\n/**\n * All properties the report dialog supports\n */\nexport interface ReportDialogOptions {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n [key: string]: any;\n eventId?: string;\n dsn?: DsnLike;\n user?: {\n email?: string;\n name?: string;\n };\n lang?: string;\n title?: string;\n subtitle?: string;\n subtitle2?: string;\n labelName?: string;\n labelEmail?: string;\n labelComments?: string;\n labelClose?: string;\n labelSubmit?: string;\n errorGeneric?: string;\n errorFormEntry?: string;\n successMessage?: string;\n /** Callback after reportDialog showed up */\n onLoad?(): void;\n}\n\n/**\n * Injects the Report Dialog script\n * @hidden\n */\nexport function injectReportDialog(options: ReportDialogOptions = {}): void {\n if (!global.document) {\n return;\n }\n\n if (!options.eventId) {\n IS_DEBUG_BUILD && logger.error('Missing eventId option in showReportDialog call');\n return;\n }\n\n if (!options.dsn) {\n IS_DEBUG_BUILD && logger.error('Missing dsn option in showReportDialog call');\n return;\n }\n\n const script = global.document.createElement('script');\n script.async = true;\n script.src = getReportDialogEndpoint(options.dsn, options);\n\n if (options.onLoad) {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n script.onload = options.onLoad;\n }\n\n const injectionPoint = global.document.head || global.document.body;\n\n if (injectionPoint) {\n injectionPoint.appendChild(script);\n }\n}\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport { getCurrentHub } from '@sentry/core';\nimport { Event, EventHint, Hub, Integration, Primitive, Severity } from '@sentry/types';\nimport {\n addExceptionMechanism,\n addInstrumentationHandler,\n getLocationHref,\n isErrorEvent,\n isPrimitive,\n isString,\n logger,\n} from '@sentry/utils';\n\nimport { eventFromUnknownInput } from '../eventbuilder';\nimport { IS_DEBUG_BUILD } from '../flags';\nimport { shouldIgnoreOnError } from '../helpers';\n\ntype GlobalHandlersIntegrationsOptionKeys = 'onerror' | 'onunhandledrejection';\n\n/** JSDoc */\ntype GlobalHandlersIntegrations = Record;\n\n/** Global handlers */\nexport class GlobalHandlers implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'GlobalHandlers';\n\n /**\n * @inheritDoc\n */\n public name: string = GlobalHandlers.id;\n\n /** JSDoc */\n private readonly _options: GlobalHandlersIntegrations;\n\n /**\n * Stores references functions to installing handlers. Will set to undefined\n * after they have been run so that they are not used twice.\n */\n private _installFunc: Record void) | undefined> = {\n onerror: _installGlobalOnErrorHandler,\n onunhandledrejection: _installGlobalOnUnhandledRejectionHandler,\n };\n\n /** JSDoc */\n public constructor(options?: GlobalHandlersIntegrations) {\n this._options = {\n onerror: true,\n onunhandledrejection: true,\n ...options,\n };\n }\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n Error.stackTraceLimit = 50;\n const options = this._options;\n\n // We can disable guard-for-in as we construct the options object above + do checks against\n // `this._installFunc` for the property.\n // eslint-disable-next-line guard-for-in\n for (const key in options) {\n const installFunc = this._installFunc[key as GlobalHandlersIntegrationsOptionKeys];\n if (installFunc && options[key as GlobalHandlersIntegrationsOptionKeys]) {\n globalHandlerLog(key);\n installFunc();\n this._installFunc[key as GlobalHandlersIntegrationsOptionKeys] = undefined;\n }\n }\n }\n}\n\n/** JSDoc */\nfunction _installGlobalOnErrorHandler(): void {\n addInstrumentationHandler(\n 'error',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (data: { msg: any; url: any; line: any; column: any; error: any }) => {\n const [hub, attachStacktrace] = getHubAndAttachStacktrace();\n if (!hub.getIntegration(GlobalHandlers)) {\n return;\n }\n const { msg, url, line, column, error } = data;\n if (shouldIgnoreOnError() || (error && error.__sentry_own_request__)) {\n return;\n }\n\n const event =\n error === undefined && isString(msg)\n ? _eventFromIncompleteOnError(msg, url, line, column)\n : _enhanceEventWithInitialFrame(\n eventFromUnknownInput(error || msg, undefined, attachStacktrace, false),\n url,\n line,\n column,\n );\n\n event.level = Severity.Error;\n\n addMechanismAndCapture(hub, error, event, 'onerror');\n },\n );\n}\n\n/** JSDoc */\nfunction _installGlobalOnUnhandledRejectionHandler(): void {\n addInstrumentationHandler(\n 'unhandledrejection',\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (e: any) => {\n const [hub, attachStacktrace] = getHubAndAttachStacktrace();\n if (!hub.getIntegration(GlobalHandlers)) {\n return;\n }\n let error = e;\n\n // dig the object of the rejection out of known event types\n try {\n // PromiseRejectionEvents store the object of the rejection under 'reason'\n // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n if ('reason' in e) {\n error = e.reason;\n }\n // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n // https://github.com/getsentry/sentry-javascript/issues/2380\n else if ('detail' in e && 'reason' in e.detail) {\n error = e.detail.reason;\n }\n } catch (_oO) {\n // no-empty\n }\n\n if (shouldIgnoreOnError() || (error && error.__sentry_own_request__)) {\n return true;\n }\n\n const event = isPrimitive(error)\n ? _eventFromRejectionWithPrimitive(error)\n : eventFromUnknownInput(error, undefined, attachStacktrace, true);\n\n event.level = Severity.Error;\n\n addMechanismAndCapture(hub, error, event, 'onunhandledrejection');\n return;\n },\n );\n}\n\n/**\n * Create an event from a promise rejection where the `reason` is a primitive.\n *\n * @param reason: The `reason` property of the promise rejection\n * @returns An Event object with an appropriate `exception` value\n */\nfunction _eventFromRejectionWithPrimitive(reason: Primitive): Event {\n return {\n exception: {\n values: [\n {\n type: 'UnhandledRejection',\n // String() is needed because the Primitive type includes symbols (which can't be automatically stringified)\n value: `Non-Error promise rejection captured with value: ${String(reason)}`,\n },\n ],\n },\n };\n}\n\n/**\n * This function creates a stack from an old, error-less onerror handler.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _eventFromIncompleteOnError(msg: any, url: any, line: any, column: any): Event {\n const ERROR_TYPES_RE =\n /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;\n\n // If 'message' is ErrorEvent, get real message from inside\n let message = isErrorEvent(msg) ? msg.message : msg;\n let name = 'Error';\n\n const groups = message.match(ERROR_TYPES_RE);\n if (groups) {\n name = groups[1];\n message = groups[2];\n }\n\n const event = {\n exception: {\n values: [\n {\n type: name,\n value: message,\n },\n ],\n },\n };\n\n return _enhanceEventWithInitialFrame(event, url, line, column);\n}\n\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _enhanceEventWithInitialFrame(event: Event, url: any, line: any, column: any): Event {\n // event.exception\n const e = (event.exception = event.exception || {});\n // event.exception.values\n const ev = (e.values = e.values || []);\n // event.exception.values[0]\n const ev0 = (ev[0] = ev[0] || {});\n // event.exception.values[0].stacktrace\n const ev0s = (ev0.stacktrace = ev0.stacktrace || {});\n // event.exception.values[0].stacktrace.frames\n const ev0sf = (ev0s.frames = ev0s.frames || []);\n\n const colno = isNaN(parseInt(column, 10)) ? undefined : column;\n const lineno = isNaN(parseInt(line, 10)) ? undefined : line;\n const filename = isString(url) && url.length > 0 ? url : getLocationHref();\n\n // event.exception.values[0].stacktrace.frames\n if (ev0sf.length === 0) {\n ev0sf.push({\n colno,\n filename,\n function: '?',\n in_app: true,\n lineno,\n });\n }\n\n return event;\n}\n\nfunction globalHandlerLog(type: string): void {\n IS_DEBUG_BUILD && logger.log(`Global Handler attached: ${type}`);\n}\n\nfunction addMechanismAndCapture(hub: Hub, error: EventHint['originalException'], event: Event, type: string): void {\n addExceptionMechanism(event, {\n handled: false,\n type,\n });\n hub.captureEvent(event, {\n originalException: error,\n });\n}\n\nfunction getHubAndAttachStacktrace(): [Hub, boolean | undefined] {\n const hub = getCurrentHub();\n const client = hub.getClient();\n const attachStacktrace = client && client.getOptions().attachStacktrace;\n return [hub, attachStacktrace];\n}\n","import { Integration, WrappedFunction } from '@sentry/types';\nimport { fill, getFunctionName, getGlobalObject, getOriginalFunction } from '@sentry/utils';\n\nimport { wrap } from '../helpers';\n\nconst DEFAULT_EVENT_TARGET = [\n 'EventTarget',\n 'Window',\n 'Node',\n 'ApplicationCache',\n 'AudioTrackList',\n 'ChannelMergerNode',\n 'CryptoOperation',\n 'EventSource',\n 'FileReader',\n 'HTMLUnknownElement',\n 'IDBDatabase',\n 'IDBRequest',\n 'IDBTransaction',\n 'KeyOperation',\n 'MediaController',\n 'MessagePort',\n 'ModalWindow',\n 'Notification',\n 'SVGElementInstance',\n 'Screen',\n 'TextTrack',\n 'TextTrackCue',\n 'TextTrackList',\n 'WebSocket',\n 'WebSocketWorker',\n 'Worker',\n 'XMLHttpRequest',\n 'XMLHttpRequestEventTarget',\n 'XMLHttpRequestUpload',\n];\n\ntype XMLHttpRequestProp = 'onload' | 'onerror' | 'onprogress' | 'onreadystatechange';\n\n/** JSDoc */\ninterface TryCatchOptions {\n setTimeout: boolean;\n setInterval: boolean;\n requestAnimationFrame: boolean;\n XMLHttpRequest: boolean;\n eventTarget: boolean | string[];\n}\n\n/** Wrap timer functions and event targets to catch errors and provide better meta data */\nexport class TryCatch implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'TryCatch';\n\n /**\n * @inheritDoc\n */\n public name: string = TryCatch.id;\n\n /** JSDoc */\n private readonly _options: TryCatchOptions;\n\n /**\n * @inheritDoc\n */\n public constructor(options?: Partial) {\n this._options = {\n XMLHttpRequest: true,\n eventTarget: true,\n requestAnimationFrame: true,\n setInterval: true,\n setTimeout: true,\n ...options,\n };\n }\n\n /**\n * Wrap timer functions and event targets to catch errors\n * and provide better metadata.\n */\n public setupOnce(): void {\n const global = getGlobalObject();\n\n if (this._options.setTimeout) {\n fill(global, 'setTimeout', _wrapTimeFunction);\n }\n\n if (this._options.setInterval) {\n fill(global, 'setInterval', _wrapTimeFunction);\n }\n\n if (this._options.requestAnimationFrame) {\n fill(global, 'requestAnimationFrame', _wrapRAF);\n }\n\n if (this._options.XMLHttpRequest && 'XMLHttpRequest' in global) {\n fill(XMLHttpRequest.prototype, 'send', _wrapXHR);\n }\n\n const eventTargetOption = this._options.eventTarget;\n if (eventTargetOption) {\n const eventTarget = Array.isArray(eventTargetOption) ? eventTargetOption : DEFAULT_EVENT_TARGET;\n eventTarget.forEach(_wrapEventTarget);\n }\n }\n}\n\n/** JSDoc */\nfunction _wrapTimeFunction(original: () => void): () => number {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, ...args: any[]): number {\n const originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n data: { function: getFunctionName(original) },\n handled: true,\n type: 'instrument',\n },\n });\n return original.apply(this, args);\n };\n}\n\n/** JSDoc */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _wrapRAF(original: any): (callback: () => void) => any {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: any, callback: () => void): () => void {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return original.apply(this, [\n wrap(callback, {\n mechanism: {\n data: {\n function: 'requestAnimationFrame',\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n }),\n ]);\n };\n}\n\n/** JSDoc */\nfunction _wrapXHR(originalSend: () => void): () => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (this: XMLHttpRequest, ...args: any[]): void {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const xhr = this;\n const xmlHttpRequestProps: XMLHttpRequestProp[] = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n\n xmlHttpRequestProps.forEach(prop => {\n if (prop in xhr && typeof xhr[prop] === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fill(xhr, prop, function (original: WrappedFunction): () => any {\n const wrapOptions = {\n mechanism: {\n data: {\n function: prop,\n handler: getFunctionName(original),\n },\n handled: true,\n type: 'instrument',\n },\n };\n\n // If Instrument integration has been called before TryCatch, get the name of original function\n const originalFunction = getOriginalFunction(original);\n if (originalFunction) {\n wrapOptions.mechanism.data.handler = getFunctionName(originalFunction);\n }\n\n // Otherwise wrap directly\n return wrap(original, wrapOptions);\n });\n }\n });\n\n return originalSend.apply(this, args);\n };\n}\n\n/** JSDoc */\nfunction _wrapEventTarget(target: string): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const global = getGlobalObject() as { [key: string]: any };\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n const proto = global[target] && global[target].prototype;\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, no-prototype-builtins\n if (!proto || !proto.hasOwnProperty || !proto.hasOwnProperty('addEventListener')) {\n return;\n }\n\n fill(proto, 'addEventListener', function (original: () => void): (\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ) => void {\n return function (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this: any,\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | AddEventListenerOptions,\n ): (eventName: string, fn: EventListenerObject, capture?: boolean, secure?: boolean) => void {\n try {\n if (typeof fn.handleEvent === 'function') {\n fn.handleEvent = wrap(fn.handleEvent.bind(fn), {\n mechanism: {\n data: {\n function: 'handleEvent',\n handler: getFunctionName(fn),\n target,\n },\n handled: true,\n type: 'instrument',\n },\n });\n }\n } catch (err) {\n // can sometimes get 'Permission denied to access property \"handle Event'\n }\n\n return original.apply(this, [\n eventName,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n wrap(fn as any as WrappedFunction, {\n mechanism: {\n data: {\n function: 'addEventListener',\n handler: getFunctionName(fn),\n target,\n },\n handled: true,\n type: 'instrument',\n },\n }),\n options,\n ]);\n };\n });\n\n fill(\n proto,\n 'removeEventListener',\n function (\n originalRemoveEventListener: () => void,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): (this: any, eventName: string, fn: EventListenerObject, options?: boolean | EventListenerOptions) => () => void {\n return function (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this: any,\n eventName: string,\n fn: EventListenerObject,\n options?: boolean | EventListenerOptions,\n ): () => void {\n /**\n * There are 2 possible scenarios here:\n *\n * 1. Someone passes a callback, which was attached prior to Sentry initialization, or by using unmodified\n * method, eg. `document.addEventListener.call(el, name, handler). In this case, we treat this function\n * as a pass-through, and call original `removeEventListener` with it.\n *\n * 2. Someone passes a callback, which was attached after Sentry was initialized, which means that it was using\n * our wrapped version of `addEventListener`, which internally calls `wrap` helper.\n * This helper \"wraps\" whole callback inside a try/catch statement, and attached appropriate metadata to it,\n * in order for us to make a distinction between wrapped/non-wrapped functions possible.\n * If a function was wrapped, it has additional property of `__sentry_wrapped__`, holding the handler.\n *\n * When someone adds a handler prior to initialization, and then do it again, but after,\n * then we have to detach both of them. Otherwise, if we'd detach only wrapped one, it'd be impossible\n * to get rid of the initial handler and it'd stick there forever.\n */\n const wrappedEventHandler = fn as unknown as WrappedFunction;\n try {\n const originalEventHandler = wrappedEventHandler && wrappedEventHandler.__sentry_wrapped__;\n if (originalEventHandler) {\n originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n }\n } catch (e) {\n // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n }\n return originalRemoveEventListener.call(this, eventName, wrappedEventHandler, options);\n };\n },\n );\n}\n","export const SeverityLevels = ['fatal', 'error', 'warning', 'log', 'info', 'debug', 'critical'] as const;\nexport type SeverityLevel = typeof SeverityLevels[number];\n","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable max-lines */\nimport { getCurrentHub } from '@sentry/core';\nimport { Event, Integration, Severity } from '@sentry/types';\nimport {\n addInstrumentationHandler,\n getEventDescription,\n getGlobalObject,\n htmlTreeAsString,\n parseUrl,\n safeJoin,\n severityFromString,\n} from '@sentry/utils';\n\n/** JSDoc */\ninterface BreadcrumbsOptions {\n console: boolean;\n dom: boolean | { serializeAttribute: string | string[] };\n fetch: boolean;\n history: boolean;\n sentry: boolean;\n xhr: boolean;\n}\n\n/**\n * Default Breadcrumbs instrumentations\n * TODO: Deprecated - with v6, this will be renamed to `Instrument`\n */\nexport class Breadcrumbs implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'Breadcrumbs';\n\n /**\n * @inheritDoc\n */\n public name: string = Breadcrumbs.id;\n\n /** JSDoc */\n private readonly _options: BreadcrumbsOptions;\n\n /**\n * @inheritDoc\n */\n public constructor(options?: Partial) {\n this._options = {\n console: true,\n dom: true,\n fetch: true,\n history: true,\n sentry: true,\n xhr: true,\n ...options,\n };\n }\n\n /**\n * Create a breadcrumb of `sentry` from the events themselves\n */\n public addSentryBreadcrumb(event: Event): void {\n if (!this._options.sentry) {\n return;\n }\n getCurrentHub().addBreadcrumb(\n {\n category: `sentry.${event.type === 'transaction' ? 'transaction' : 'event'}`,\n event_id: event.event_id,\n level: event.level,\n message: getEventDescription(event),\n },\n {\n event,\n },\n );\n }\n\n /**\n * Instrument browser built-ins w/ breadcrumb capturing\n * - Console API\n * - DOM API (click/typing)\n * - XMLHttpRequest API\n * - Fetch API\n * - History API\n */\n public setupOnce(): void {\n if (this._options.console) {\n addInstrumentationHandler('console', _consoleBreadcrumb);\n }\n if (this._options.dom) {\n addInstrumentationHandler('dom', _domBreadcrumb(this._options.dom));\n }\n if (this._options.xhr) {\n addInstrumentationHandler('xhr', _xhrBreadcrumb);\n }\n if (this._options.fetch) {\n addInstrumentationHandler('fetch', _fetchBreadcrumb);\n }\n if (this._options.history) {\n addInstrumentationHandler('history', _historyBreadcrumb);\n }\n }\n}\n\n/**\n * A HOC that creaes a function that creates breadcrumbs from DOM API calls.\n * This is a HOC so that we get access to dom options in the closure.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _domBreadcrumb(dom: BreadcrumbsOptions['dom']): (handlerData: { [key: string]: any }) => void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function _innerDomBreadcrumb(handlerData: { [key: string]: any }): void {\n let target;\n let keyAttrs = typeof dom === 'object' ? dom.serializeAttribute : undefined;\n\n if (typeof keyAttrs === 'string') {\n keyAttrs = [keyAttrs];\n }\n\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n target = handlerData.event.target\n ? htmlTreeAsString(handlerData.event.target as Node, keyAttrs)\n : htmlTreeAsString(handlerData.event as unknown as Node, keyAttrs);\n } catch (e) {\n target = '';\n }\n\n if (target.length === 0) {\n return;\n }\n\n getCurrentHub().addBreadcrumb(\n {\n category: `ui.${handlerData.name}`,\n message: target,\n },\n {\n event: handlerData.event,\n name: handlerData.name,\n global: handlerData.global,\n },\n );\n }\n\n return _innerDomBreadcrumb;\n}\n\n/**\n * Creates breadcrumbs from console API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _consoleBreadcrumb(handlerData: { [key: string]: any }): void {\n const breadcrumb = {\n category: 'console',\n data: {\n arguments: handlerData.args,\n logger: 'console',\n },\n level: severityFromString(handlerData.level),\n message: safeJoin(handlerData.args, ' '),\n };\n\n if (handlerData.level === 'assert') {\n if (handlerData.args[0] === false) {\n breadcrumb.message = `Assertion failed: ${safeJoin(handlerData.args.slice(1), ' ') || 'console.assert'}`;\n breadcrumb.data.arguments = handlerData.args.slice(1);\n } else {\n // Don't capture a breadcrumb for passed assertions\n return;\n }\n }\n\n getCurrentHub().addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level,\n });\n}\n\n/**\n * Creates breadcrumbs from XHR API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _xhrBreadcrumb(handlerData: { [key: string]: any }): void {\n if (handlerData.endTimestamp) {\n // We only capture complete, non-sentry requests\n if (handlerData.xhr.__sentry_own_request__) {\n return;\n }\n\n const { method, url, status_code, body } = handlerData.xhr.__sentry_xhr__ || {};\n\n getCurrentHub().addBreadcrumb(\n {\n category: 'xhr',\n data: {\n method,\n url,\n status_code,\n },\n type: 'http',\n },\n {\n xhr: handlerData.xhr,\n input: body,\n },\n );\n\n return;\n }\n}\n\n/**\n * Creates breadcrumbs from fetch API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _fetchBreadcrumb(handlerData: { [key: string]: any }): void {\n // We only capture complete fetch requests\n if (!handlerData.endTimestamp) {\n return;\n }\n\n if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === 'POST') {\n // We will not create breadcrumbs for fetch requests that contain `sentry_key` (internal sentry requests)\n return;\n }\n\n if (handlerData.error) {\n getCurrentHub().addBreadcrumb(\n {\n category: 'fetch',\n data: handlerData.fetchData,\n level: Severity.Error,\n type: 'http',\n },\n {\n data: handlerData.error,\n input: handlerData.args,\n },\n );\n } else {\n getCurrentHub().addBreadcrumb(\n {\n category: 'fetch',\n data: {\n ...handlerData.fetchData,\n status_code: handlerData.response.status,\n },\n type: 'http',\n },\n {\n input: handlerData.args,\n response: handlerData.response,\n },\n );\n }\n}\n\n/**\n * Creates breadcrumbs from history API calls\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction _historyBreadcrumb(handlerData: { [key: string]: any }): void {\n const global = getGlobalObject();\n let from = handlerData.from;\n let to = handlerData.to;\n const parsedLoc = parseUrl(global.location.href);\n let parsedFrom = parseUrl(from);\n const parsedTo = parseUrl(to);\n\n // Initial pushState doesn't provide `from` information\n if (!parsedFrom.path) {\n parsedFrom = parsedLoc;\n }\n\n // Use only the path component of the URL if the URL matches the current\n // document (almost all the time when using pushState)\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n from = parsedFrom.relative;\n }\n\n getCurrentHub().addBreadcrumb({\n category: 'navigation',\n data: {\n from,\n to,\n },\n });\n}\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { Event, EventHint, Exception, ExtendedError, Integration } from '@sentry/types';\nimport { isInstanceOf } from '@sentry/utils';\n\nimport { exceptionFromError } from '../eventbuilder';\n\nconst DEFAULT_KEY = 'cause';\nconst DEFAULT_LIMIT = 5;\n\ninterface LinkedErrorsOptions {\n key: string;\n limit: number;\n}\n\n/** Adds SDK info to an event. */\nexport class LinkedErrors implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'LinkedErrors';\n\n /**\n * @inheritDoc\n */\n public readonly name: string = LinkedErrors.id;\n\n /**\n * @inheritDoc\n */\n private readonly _key: LinkedErrorsOptions['key'];\n\n /**\n * @inheritDoc\n */\n private readonly _limit: LinkedErrorsOptions['limit'];\n\n /**\n * @inheritDoc\n */\n public constructor(options: Partial = {}) {\n this._key = options.key || DEFAULT_KEY;\n this._limit = options.limit || DEFAULT_LIMIT;\n }\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor((event: Event, hint?: EventHint) => {\n const self = getCurrentHub().getIntegration(LinkedErrors);\n return self ? _handler(self._key, self._limit, event, hint) : event;\n });\n }\n}\n\n/**\n * @inheritDoc\n */\nexport function _handler(key: string, limit: number, event: Event, hint?: EventHint): Event | null {\n if (!event.exception || !event.exception.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n return event;\n }\n const linkedErrors = _walkErrorTree(limit, hint.originalException as ExtendedError, key);\n event.exception.values = [...linkedErrors, ...event.exception.values];\n return event;\n}\n\n/**\n * JSDOC\n */\nexport function _walkErrorTree(limit: number, error: ExtendedError, key: string, stack: Exception[] = []): Exception[] {\n if (!isInstanceOf(error[key], Error) || stack.length + 1 >= limit) {\n return stack;\n }\n const exception = exceptionFromError(error[key]);\n return _walkErrorTree(limit, error[key], key, [exception, ...stack]);\n}\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/core';\nimport { Event, Integration } from '@sentry/types';\nimport { getGlobalObject } from '@sentry/utils';\n\nconst global = getGlobalObject();\n\n/** UserAgent */\nexport class UserAgent implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'UserAgent';\n\n /**\n * @inheritDoc\n */\n public name: string = UserAgent.id;\n\n /**\n * @inheritDoc\n */\n public setupOnce(): void {\n addGlobalEventProcessor((event: Event) => {\n if (getCurrentHub().getIntegration(UserAgent)) {\n // if none of the information we want exists, don't bother\n if (!global.navigator && !global.location && !global.document) {\n return event;\n }\n\n // grab as much info as exists and add it to the event\n const url = (event.request && event.request.url) || (global.location && global.location.href);\n const { referrer } = global.document || {};\n const { userAgent } = global.navigator || {};\n\n const headers = {\n ...(event.request && event.request.headers),\n ...(referrer && { Referer: referrer }),\n ...(userAgent && { 'User-Agent': userAgent }),\n };\n const request = { ...(url && { url }), headers };\n\n return { ...event, request };\n }\n return event;\n });\n }\n}\n","import { Event, EventProcessor, Exception, Hub, Integration, StackFrame } from '@sentry/types';\nimport { logger } from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from '../flags';\n\n/** Deduplication filter */\nexport class Dedupe implements Integration {\n /**\n * @inheritDoc\n */\n public static id: string = 'Dedupe';\n\n /**\n * @inheritDoc\n */\n public name: string = Dedupe.id;\n\n /**\n * @inheritDoc\n */\n private _previousEvent?: Event;\n\n /**\n * @inheritDoc\n */\n public setupOnce(addGlobalEventProcessor: (callback: EventProcessor) => void, getCurrentHub: () => Hub): void {\n addGlobalEventProcessor((currentEvent: Event) => {\n const self = getCurrentHub().getIntegration(Dedupe);\n if (self) {\n // Juuust in case something goes wrong\n try {\n if (_shouldDropEvent(currentEvent, self._previousEvent)) {\n IS_DEBUG_BUILD && logger.warn('Event dropped due to being a duplicate of previously captured event.');\n return null;\n }\n } catch (_oO) {\n return (self._previousEvent = currentEvent);\n }\n\n return (self._previousEvent = currentEvent);\n }\n return currentEvent;\n });\n }\n}\n\n/** JSDoc */\nfunction _shouldDropEvent(currentEvent: Event, previousEvent?: Event): boolean {\n if (!previousEvent) {\n return false;\n }\n\n if (_isSameMessageEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n if (_isSameExceptionEvent(currentEvent, previousEvent)) {\n return true;\n }\n\n return false;\n}\n\n/** JSDoc */\nfunction _isSameMessageEvent(currentEvent: Event, previousEvent: Event): boolean {\n const currentMessage = currentEvent.message;\n const previousMessage = previousEvent.message;\n\n // If neither event has a message property, they were both exceptions, so bail out\n if (!currentMessage && !previousMessage) {\n return false;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentMessage && !previousMessage) || (!currentMessage && previousMessage)) {\n return false;\n }\n\n if (currentMessage !== previousMessage) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameExceptionEvent(currentEvent: Event, previousEvent: Event): boolean {\n const previousException = _getExceptionFromEvent(previousEvent);\n const currentException = _getExceptionFromEvent(currentEvent);\n\n if (!previousException || !currentException) {\n return false;\n }\n\n if (previousException.type !== currentException.type || previousException.value !== currentException.value) {\n return false;\n }\n\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameStacktrace(currentEvent: Event, previousEvent: Event): boolean {\n let currentFrames = _getFramesFromEvent(currentEvent);\n let previousFrames = _getFramesFromEvent(previousEvent);\n\n // If neither event has a stacktrace, they are assumed to be the same\n if (!currentFrames && !previousFrames) {\n return true;\n }\n\n // If only one event has a stacktrace, but not the other one, they are not the same\n if ((currentFrames && !previousFrames) || (!currentFrames && previousFrames)) {\n return false;\n }\n\n currentFrames = currentFrames as StackFrame[];\n previousFrames = previousFrames as StackFrame[];\n\n // If number of frames differ, they are not the same\n if (previousFrames.length !== currentFrames.length) {\n return false;\n }\n\n // Otherwise, compare the two\n for (let i = 0; i < previousFrames.length; i++) {\n const frameA = previousFrames[i];\n const frameB = currentFrames[i];\n\n if (\n frameA.filename !== frameB.filename ||\n frameA.lineno !== frameB.lineno ||\n frameA.colno !== frameB.colno ||\n frameA.function !== frameB.function\n ) {\n return false;\n }\n }\n\n return true;\n}\n\n/** JSDoc */\nfunction _isSameFingerprint(currentEvent: Event, previousEvent: Event): boolean {\n let currentFingerprint = currentEvent.fingerprint;\n let previousFingerprint = previousEvent.fingerprint;\n\n // If neither event has a fingerprint, they are assumed to be the same\n if (!currentFingerprint && !previousFingerprint) {\n return true;\n }\n\n // If only one event has a fingerprint, but not the other one, they are not the same\n if ((currentFingerprint && !previousFingerprint) || (!currentFingerprint && previousFingerprint)) {\n return false;\n }\n\n currentFingerprint = currentFingerprint as string[];\n previousFingerprint = previousFingerprint as string[];\n\n // Otherwise, compare the two\n try {\n return !!(currentFingerprint.join('') === previousFingerprint.join(''));\n } catch (_oO) {\n return false;\n }\n}\n\n/** JSDoc */\nfunction _getExceptionFromEvent(event: Event): Exception | undefined {\n return event.exception && event.exception.values && event.exception.values[0];\n}\n\n/** JSDoc */\nfunction _getFramesFromEvent(event: Event): StackFrame[] | undefined {\n const exception = event.exception;\n\n if (exception) {\n try {\n // @ts-ignore Object could be undefined\n return exception.values[0].stacktrace.frames;\n } catch (_oO) {\n return undefined;\n }\n } else if (event.stacktrace) {\n return event.stacktrace.frames;\n }\n return undefined;\n}\n","export * from './exports';\n\nimport { Integrations as CoreIntegrations } from '@sentry/core';\nimport { getGlobalObject } from '@sentry/utils';\n\nimport * as BrowserIntegrations from './integrations';\nimport * as Transports from './transports';\n\nlet windowIntegrations = {};\n\n// This block is needed to add compatibility with the integrations packages when used with a CDN\nconst _window = getGlobalObject();\nif (_window.Sentry && _window.Sentry.Integrations) {\n windowIntegrations = _window.Sentry.Integrations;\n}\n\nconst INTEGRATIONS = {\n ...windowIntegrations,\n ...CoreIntegrations,\n ...BrowserIntegrations,\n};\n\nexport { INTEGRATIONS as Integrations, Transports };\n","export const SDK_VERSION = '6.19.7';\n","import { addGlobalEventProcessor, getCurrentHub } from '@sentry/hub';\nimport { Integration, Options } from '@sentry/types';\nimport { addNonEnumerableProperty, logger } from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from './flags';\n\nexport const installedIntegrations: string[] = [];\n\n/** Map of integrations assigned to a client */\nexport type IntegrationIndex = {\n [key: string]: Integration;\n} & { initialized?: boolean };\n\n/**\n * @private\n */\nfunction filterDuplicates(integrations: Integration[]): Integration[] {\n return integrations.reduce((acc, integrations) => {\n if (acc.every(accIntegration => integrations.name !== accIntegration.name)) {\n acc.push(integrations);\n }\n return acc;\n }, [] as Integration[]);\n}\n\n/** Gets integration to install */\nexport function getIntegrationsToSetup(options: Options): Integration[] {\n const defaultIntegrations = (options.defaultIntegrations && [...options.defaultIntegrations]) || [];\n const userIntegrations = options.integrations;\n\n let integrations: Integration[] = [...filterDuplicates(defaultIntegrations)];\n\n if (Array.isArray(userIntegrations)) {\n // Filter out integrations that are also included in user options\n integrations = [\n ...integrations.filter(integrations =>\n userIntegrations.every(userIntegration => userIntegration.name !== integrations.name),\n ),\n // And filter out duplicated user options integrations\n ...filterDuplicates(userIntegrations),\n ];\n } else if (typeof userIntegrations === 'function') {\n integrations = userIntegrations(integrations);\n integrations = Array.isArray(integrations) ? integrations : [integrations];\n }\n\n // Make sure that if present, `Debug` integration will always run last\n const integrationsNames = integrations.map(i => i.name);\n const alwaysLastToRun = 'Debug';\n if (integrationsNames.indexOf(alwaysLastToRun) !== -1) {\n integrations.push(...integrations.splice(integrationsNames.indexOf(alwaysLastToRun), 1));\n }\n\n return integrations;\n}\n\n/** Setup given integration */\nexport function setupIntegration(integration: Integration): void {\n if (installedIntegrations.indexOf(integration.name) !== -1) {\n return;\n }\n integration.setupOnce(addGlobalEventProcessor, getCurrentHub);\n installedIntegrations.push(integration.name);\n IS_DEBUG_BUILD && logger.log(`Integration installed: ${integration.name}`);\n}\n\n/**\n * Given a list of integration instances this installs them all. When `withDefaults` is set to `true` then all default\n * integrations are added unless they were already provided before.\n * @param integrations array of integration instances\n * @param withDefault should enable default integrations\n */\nexport function setupIntegrations(options: O): IntegrationIndex {\n const integrations: IntegrationIndex = {};\n getIntegrationsToSetup(options).forEach(integration => {\n integrations[integration.name] = integration;\n setupIntegration(integration);\n });\n // set the `initialized` flag so we don't run through the process again unecessarily; use `Object.defineProperty`\n // because by default it creates a property which is nonenumerable, which we want since `initialized` shouldn't be\n // considered a member of the index the way the actual integrations are\n addNonEnumerableProperty(integrations, 'initialized', true);\n return integrations;\n}\n","/* eslint-disable max-lines */\nimport { Scope, Session } from '@sentry/hub';\nimport {\n Client,\n DsnComponents,\n Event,\n EventHint,\n Integration,\n IntegrationClass,\n Options,\n Severity,\n Transport,\n} from '@sentry/types';\nimport {\n checkOrSetAlreadyCaught,\n dateTimestampInSeconds,\n isPlainObject,\n isPrimitive,\n isThenable,\n logger,\n makeDsn,\n normalize,\n rejectedSyncPromise,\n resolvedSyncPromise,\n SentryError,\n SyncPromise,\n truncate,\n uuid4,\n} from '@sentry/utils';\n\nimport { Backend, BackendClass } from './basebackend';\nimport { IS_DEBUG_BUILD } from './flags';\nimport { IntegrationIndex, setupIntegrations } from './integration';\n\nconst ALREADY_SEEN_ERROR = \"Not capturing exception because it's already been captured.\";\n\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding backend constructor and options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}. Also, the Backend instance is available via\n * {@link Client.getBackend}.\n *\n * If a Dsn is specified in the options, it will be parsed and stored. Use\n * {@link Client.getDsn} to retrieve the Dsn at any moment. In case the Dsn is\n * invalid, the constructor will throw a {@link SentryException}. Note that\n * without a valid Dsn, the SDK will not send any events to Sentry.\n *\n * Before sending an event via the backend, it is passed through\n * {@link BaseClient._prepareEvent} to add SDK information and scope data\n * (breadcrumbs and context). To add more custom information, override this\n * method and extend the resulting prepared event.\n *\n * To issue automatically created events (e.g. via instrumentation), use\n * {@link Client.captureEvent}. It will prepare the event and pass it through\n * the callback lifecycle. To issue auto-breadcrumbs, use\n * {@link Client.addBreadcrumb}.\n *\n * @example\n * class NodeClient extends BaseClient {\n * public constructor(options: NodeOptions) {\n * super(NodeBackend, options);\n * }\n *\n * // ...\n * }\n */\nexport abstract class BaseClient implements Client {\n /**\n * The backend used to physically interact in the environment. Usually, this\n * will correspond to the client. When composing SDKs, however, the Backend\n * from the root SDK will be used.\n */\n protected readonly _backend: B;\n\n /** Options passed to the SDK. */\n protected readonly _options: O;\n\n /** The client Dsn, if specified in options. Without this Dsn, the SDK will be disabled. */\n protected readonly _dsn?: DsnComponents;\n\n /** Array of used integrations. */\n protected _integrations: IntegrationIndex = {};\n\n /** Number of calls being processed */\n protected _numProcessing: number = 0;\n\n /**\n * Initializes this client instance.\n *\n * @param backendClass A constructor function to create the backend.\n * @param options Options for the client.\n */\n protected constructor(backendClass: BackendClass, options: O) {\n this._backend = new backendClass(options);\n this._options = options;\n\n if (options.dsn) {\n this._dsn = makeDsn(options.dsn);\n }\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n public captureException(exception: any, hint?: EventHint, scope?: Scope): string | undefined {\n // ensure we haven't captured this very object before\n if (checkOrSetAlreadyCaught(exception)) {\n IS_DEBUG_BUILD && logger.log(ALREADY_SEEN_ERROR);\n return;\n }\n\n let eventId: string | undefined = hint && hint.event_id;\n\n this._process(\n this._getBackend()\n .eventFromException(exception, hint)\n .then(event => this._captureEvent(event, hint, scope))\n .then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureMessage(message: string, level?: Severity, hint?: EventHint, scope?: Scope): string | undefined {\n let eventId: string | undefined = hint && hint.event_id;\n\n const promisedEvent = isPrimitive(message)\n ? this._getBackend().eventFromMessage(String(message), level, hint)\n : this._getBackend().eventFromException(message, hint);\n\n this._process(\n promisedEvent\n .then(event => this._captureEvent(event, hint, scope))\n .then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureEvent(event: Event, hint?: EventHint, scope?: Scope): string | undefined {\n // ensure we haven't captured this very object before\n if (hint && hint.originalException && checkOrSetAlreadyCaught(hint.originalException)) {\n IS_DEBUG_BUILD && logger.log(ALREADY_SEEN_ERROR);\n return;\n }\n\n let eventId: string | undefined = hint && hint.event_id;\n\n this._process(\n this._captureEvent(event, hint, scope).then(result => {\n eventId = result;\n }),\n );\n\n return eventId;\n }\n\n /**\n * @inheritDoc\n */\n public captureSession(session: Session): void {\n if (!this._isEnabled()) {\n IS_DEBUG_BUILD && logger.warn('SDK not enabled, will not capture session.');\n return;\n }\n\n if (!(typeof session.release === 'string')) {\n IS_DEBUG_BUILD && logger.warn('Discarded session because of missing or non-string release');\n } else {\n this._sendSession(session);\n // After sending, we set init false to indicate it's not the first occurrence\n session.update({ init: false });\n }\n }\n\n /**\n * @inheritDoc\n */\n public getDsn(): DsnComponents | undefined {\n return this._dsn;\n }\n\n /**\n * @inheritDoc\n */\n public getOptions(): O {\n return this._options;\n }\n\n /**\n * @inheritDoc\n */\n public getTransport(): Transport {\n return this._getBackend().getTransport();\n }\n\n /**\n * @inheritDoc\n */\n public flush(timeout?: number): PromiseLike {\n return this._isClientDoneProcessing(timeout).then(clientFinished => {\n return this.getTransport()\n .close(timeout)\n .then(transportFlushed => clientFinished && transportFlushed);\n });\n }\n\n /**\n * @inheritDoc\n */\n public close(timeout?: number): PromiseLike {\n return this.flush(timeout).then(result => {\n this.getOptions().enabled = false;\n return result;\n });\n }\n\n /**\n * Sets up the integrations\n */\n public setupIntegrations(): void {\n if (this._isEnabled() && !this._integrations.initialized) {\n this._integrations = setupIntegrations(this._options);\n }\n }\n\n /**\n * @inheritDoc\n */\n public getIntegration(integration: IntegrationClass): T | null {\n try {\n return (this._integrations[integration.id] as T) || null;\n } catch (_oO) {\n IS_DEBUG_BUILD && logger.warn(`Cannot retrieve integration ${integration.id} from the current Client`);\n return null;\n }\n }\n\n /** Updates existing session based on the provided event */\n protected _updateSessionFromEvent(session: Session, event: Event): void {\n let crashed = false;\n let errored = false;\n const exceptions = event.exception && event.exception.values;\n\n if (exceptions) {\n errored = true;\n\n for (const ex of exceptions) {\n const mechanism = ex.mechanism;\n if (mechanism && mechanism.handled === false) {\n crashed = true;\n break;\n }\n }\n }\n\n // A session is updated and that session update is sent in only one of the two following scenarios:\n // 1. Session with non terminal status and 0 errors + an error occurred -> Will set error count to 1 and send update\n // 2. Session with non terminal status and 1 error + a crash occurred -> Will set status crashed and send update\n const sessionNonTerminal = session.status === 'ok';\n const shouldUpdateAndSend = (sessionNonTerminal && session.errors === 0) || (sessionNonTerminal && crashed);\n\n if (shouldUpdateAndSend) {\n session.update({\n ...(crashed && { status: 'crashed' }),\n errors: session.errors || Number(errored || crashed),\n });\n this.captureSession(session);\n }\n }\n\n /** Deliver captured session to Sentry */\n protected _sendSession(session: Session): void {\n this._getBackend().sendSession(session);\n }\n\n /**\n * Determine if the client is finished processing. Returns a promise because it will wait `timeout` ms before saying\n * \"no\" (resolving to `false`) in order to give the client a chance to potentially finish first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the client is still busy. Passing `0` (or not\n * passing anything) will make the promise wait as long as it takes for processing to finish before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if processing is already done or finishes before the timeout, and\n * `false` otherwise\n */\n protected _isClientDoneProcessing(timeout?: number): PromiseLike {\n return new SyncPromise(resolve => {\n let ticked: number = 0;\n const tick: number = 1;\n\n const interval = setInterval(() => {\n if (this._numProcessing == 0) {\n clearInterval(interval);\n resolve(true);\n } else {\n ticked += tick;\n if (timeout && ticked >= timeout) {\n clearInterval(interval);\n resolve(false);\n }\n }\n }, tick);\n });\n }\n\n /** Returns the current backend. */\n protected _getBackend(): B {\n return this._backend;\n }\n\n /** Determines whether this SDK is enabled and a valid Dsn is present. */\n protected _isEnabled(): boolean {\n return this.getOptions().enabled !== false && this._dsn !== undefined;\n }\n\n /**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A new event with more information.\n */\n protected _prepareEvent(event: Event, scope?: Scope, hint?: EventHint): PromiseLike {\n const { normalizeDepth = 3, normalizeMaxBreadth = 1_000 } = this.getOptions();\n const prepared: Event = {\n ...event,\n event_id: event.event_id || (hint && hint.event_id ? hint.event_id : uuid4()),\n timestamp: event.timestamp || dateTimestampInSeconds(),\n };\n\n this._applyClientOptions(prepared);\n this._applyIntegrationsMetadata(prepared);\n\n // If we have scope given to us, use it as the base for further modifications.\n // This allows us to prevent unnecessary copying of data if `captureContext` is not provided.\n let finalScope = scope;\n if (hint && hint.captureContext) {\n finalScope = Scope.clone(finalScope).update(hint.captureContext);\n }\n\n // We prepare the result here with a resolved Event.\n let result = resolvedSyncPromise(prepared);\n\n // This should be the last thing called, since we want that\n // {@link Hub.addEventProcessor} gets the finished prepared event.\n if (finalScope) {\n // In case we have a hub we reassign it.\n result = finalScope.applyToEvent(prepared, hint);\n }\n\n return result.then(evt => {\n if (evt) {\n // TODO this is more of the hack trying to solve https://github.com/getsentry/sentry-javascript/issues/2809\n // it is only attached as extra data to the event if the event somehow skips being normalized\n evt.sdkProcessingMetadata = {\n ...evt.sdkProcessingMetadata,\n normalizeDepth: `${normalize(normalizeDepth)} (${typeof normalizeDepth})`,\n };\n }\n if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n return this._normalizeEvent(evt, normalizeDepth, normalizeMaxBreadth);\n }\n return evt;\n });\n }\n\n /**\n * Applies `normalize` function on necessary `Event` attributes to make them safe for serialization.\n * Normalized keys:\n * - `breadcrumbs.data`\n * - `user`\n * - `contexts`\n * - `extra`\n * @param event Event\n * @returns Normalized event\n */\n protected _normalizeEvent(event: Event | null, depth: number, maxBreadth: number): Event | null {\n if (!event) {\n return null;\n }\n\n const normalized = {\n ...event,\n ...(event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map(b => ({\n ...b,\n ...(b.data && {\n data: normalize(b.data, depth, maxBreadth),\n }),\n })),\n }),\n ...(event.user && {\n user: normalize(event.user, depth, maxBreadth),\n }),\n ...(event.contexts && {\n contexts: normalize(event.contexts, depth, maxBreadth),\n }),\n ...(event.extra && {\n extra: normalize(event.extra, depth, maxBreadth),\n }),\n };\n // event.contexts.trace stores information about a Transaction. Similarly,\n // event.spans[] stores information about child Spans. Given that a\n // Transaction is conceptually a Span, normalization should apply to both\n // Transactions and Spans consistently.\n // For now the decision is to skip normalization of Transactions and Spans,\n // so this block overwrites the normalized event to add back the original\n // Transaction information prior to normalization.\n if (event.contexts && event.contexts.trace) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n normalized.contexts.trace = event.contexts.trace;\n }\n\n normalized.sdkProcessingMetadata = { ...normalized.sdkProcessingMetadata, baseClientNormalized: true };\n\n return normalized;\n }\n\n /**\n * Enhances event using the client configuration.\n * It takes care of all \"static\" values like environment, release and `dist`,\n * as well as truncating overly long values.\n * @param event event instance to be enhanced\n */\n protected _applyClientOptions(event: Event): void {\n const options = this.getOptions();\n const { environment, release, dist, maxValueLength = 250 } = options;\n\n if (!('environment' in event)) {\n event.environment = 'environment' in options ? environment : 'production';\n }\n\n if (event.release === undefined && release !== undefined) {\n event.release = release;\n }\n\n if (event.dist === undefined && dist !== undefined) {\n event.dist = dist;\n }\n\n if (event.message) {\n event.message = truncate(event.message, maxValueLength);\n }\n\n const exception = event.exception && event.exception.values && event.exception.values[0];\n if (exception && exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n\n const request = event.request;\n if (request && request.url) {\n request.url = truncate(request.url, maxValueLength);\n }\n }\n\n /**\n * This function adds all used integrations to the SDK info in the event.\n * @param event The event that will be filled with all integrations.\n */\n protected _applyIntegrationsMetadata(event: Event): void {\n const integrationsArray = Object.keys(this._integrations);\n if (integrationsArray.length > 0) {\n event.sdk = event.sdk || {};\n event.sdk.integrations = [...(event.sdk.integrations || []), ...integrationsArray];\n }\n }\n\n /**\n * Tells the backend to send this event\n * @param event The Sentry event to send\n */\n protected _sendEvent(event: Event): void {\n this._getBackend().sendEvent(event);\n }\n\n /**\n * Processes the event and logs an error in case of rejection\n * @param event\n * @param hint\n * @param scope\n */\n protected _captureEvent(event: Event, hint?: EventHint, scope?: Scope): PromiseLike {\n return this._processEvent(event, hint, scope).then(\n finalEvent => {\n return finalEvent.event_id;\n },\n reason => {\n IS_DEBUG_BUILD && logger.error(reason);\n return undefined;\n },\n );\n }\n\n /**\n * Processes an event (either error or message) and sends it to Sentry.\n *\n * This also adds breadcrumbs and context information to the event. However,\n * platform specific meta data (such as the User's IP address) must be added\n * by the SDK implementor.\n *\n *\n * @param event The event to send to Sentry.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n */\n protected _processEvent(event: Event, hint?: EventHint, scope?: Scope): PromiseLike {\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const { beforeSend, sampleRate } = this.getOptions();\n const transport = this.getTransport();\n\n type RecordLostEvent = NonNullable;\n type RecordLostEventParams = Parameters;\n\n function recordLostEvent(outcome: RecordLostEventParams[0], category: RecordLostEventParams[1]): void {\n if (transport.recordLostEvent) {\n transport.recordLostEvent(outcome, category);\n }\n }\n\n if (!this._isEnabled()) {\n return rejectedSyncPromise(new SentryError('SDK not enabled, will not capture event.'));\n }\n\n const isTransaction = event.type === 'transaction';\n // 1.0 === 100% events are sent\n // 0.0 === 0% events are sent\n // Sampling for transaction happens somewhere else\n if (!isTransaction && typeof sampleRate === 'number' && Math.random() > sampleRate) {\n recordLostEvent('sample_rate', 'event');\n return rejectedSyncPromise(\n new SentryError(\n `Discarding event because it's not included in the random sample (sampling rate = ${sampleRate})`,\n ),\n );\n }\n\n return this._prepareEvent(event, scope, hint)\n .then(prepared => {\n if (prepared === null) {\n recordLostEvent('event_processor', event.type || 'event');\n throw new SentryError('An event processor returned null, will not send event.');\n }\n\n const isInternalException = hint && hint.data && (hint.data as { __sentry__: boolean }).__sentry__ === true;\n if (isInternalException || isTransaction || !beforeSend) {\n return prepared;\n }\n\n const beforeSendResult = beforeSend(prepared, hint);\n return _ensureBeforeSendRv(beforeSendResult);\n })\n .then(processedEvent => {\n if (processedEvent === null) {\n recordLostEvent('before_send', event.type || 'event');\n throw new SentryError('`beforeSend` returned `null`, will not send event.');\n }\n\n const session = scope && scope.getSession && scope.getSession();\n if (!isTransaction && session) {\n this._updateSessionFromEvent(session, processedEvent);\n }\n\n this._sendEvent(processedEvent);\n return processedEvent;\n })\n .then(null, reason => {\n if (reason instanceof SentryError) {\n throw reason;\n }\n\n this.captureException(reason, {\n data: {\n __sentry__: true,\n },\n originalException: reason as Error,\n });\n throw new SentryError(\n `Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\\nReason: ${reason}`,\n );\n });\n }\n\n /**\n * Occupies the client with processing and event\n */\n protected _process(promise: PromiseLike): void {\n this._numProcessing += 1;\n void promise.then(\n value => {\n this._numProcessing -= 1;\n return value;\n },\n reason => {\n this._numProcessing -= 1;\n return reason;\n },\n );\n }\n}\n\n/**\n * Verifies that return value of configured `beforeSend` is of expected type.\n */\nfunction _ensureBeforeSendRv(rv: PromiseLike | Event | null): PromiseLike | Event | null {\n const nullErr = '`beforeSend` method has to return `null` or a valid event.';\n if (isThenable(rv)) {\n return rv.then(\n event => {\n if (!(isPlainObject(event) || event === null)) {\n throw new SentryError(nullErr);\n }\n return event;\n },\n e => {\n throw new SentryError(`beforeSend rejected with ${e}`);\n },\n );\n } else if (!(isPlainObject(rv) || rv === null)) {\n throw new SentryError(nullErr);\n }\n return rv;\n}\n","import { Envelope } from '@sentry/types';\n\nimport { isPrimitive } from './is';\n\n/**\n * Creates an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nexport function createEnvelope(headers: E[0], items: E[1] = []): E {\n return [headers, items] as E;\n}\n\n/**\n * Add an item to an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nexport function addItemToEnvelope(envelope: E, newItem: E[1][number]): E {\n const [headers, items] = envelope;\n return [headers, [...items, newItem]] as E;\n}\n\n/**\n * Get the type of the envelope. Grabs the type from the first envelope item.\n */\nexport function getEnvelopeType(envelope: E): string {\n const [, [[firstItemHeader]]] = envelope;\n return firstItemHeader.type;\n}\n\n/**\n * Serializes an envelope into a string.\n */\nexport function serializeEnvelope(envelope: Envelope): string {\n const [headers, items] = envelope;\n const serializedHeaders = JSON.stringify(headers);\n\n // Have to cast items to any here since Envelope is a union type\n // Fixed in Typescript 4.2\n // TODO: Remove any[] cast when we upgrade to TS 4.2\n // https://github.com/microsoft/TypeScript/issues/36390\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (items as any[]).reduce((acc, item: typeof items[number]) => {\n const [itemHeaders, payload] = item;\n // We do not serialize payloads that are primitives\n const serializedPayload = isPrimitive(payload) ? String(payload) : JSON.stringify(payload);\n return `${acc}\\n${JSON.stringify(itemHeaders)}\\n${serializedPayload}`;\n }, serializedHeaders);\n}\n","import {\n Event,\n EventEnvelope,\n EventItem,\n SdkInfo,\n SentryRequest,\n SentryRequestType,\n Session,\n SessionAggregates,\n SessionEnvelope,\n SessionItem,\n} from '@sentry/types';\nimport { createEnvelope, dsnToString, normalize, serializeEnvelope } from '@sentry/utils';\n\nimport { APIDetails, getEnvelopeEndpointWithUrlEncodedAuth, getStoreEndpointWithUrlEncodedAuth } from './api';\n\n/** Extract sdk info from from the API metadata */\nfunction getSdkMetadataForEnvelopeHeader(api: APIDetails): SdkInfo | undefined {\n if (!api.metadata || !api.metadata.sdk) {\n return;\n }\n const { name, version } = api.metadata.sdk;\n return { name, version };\n}\n\n/**\n * Apply SdkInfo (name, version, packages, integrations) to the corresponding event key.\n * Merge with existing data if any.\n **/\nfunction enhanceEventWithSdkInfo(event: Event, sdkInfo?: SdkInfo): Event {\n if (!sdkInfo) {\n return event;\n }\n event.sdk = event.sdk || {};\n event.sdk.name = event.sdk.name || sdkInfo.name;\n event.sdk.version = event.sdk.version || sdkInfo.version;\n event.sdk.integrations = [...(event.sdk.integrations || []), ...(sdkInfo.integrations || [])];\n event.sdk.packages = [...(event.sdk.packages || []), ...(sdkInfo.packages || [])];\n return event;\n}\n\n/** Creates an envelope from a Session */\nexport function createSessionEnvelope(\n session: Session | SessionAggregates,\n api: APIDetails,\n): [SessionEnvelope, SentryRequestType] {\n const sdkInfo = getSdkMetadataForEnvelopeHeader(api);\n const envelopeHeaders = {\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!api.tunnel && { dsn: dsnToString(api.dsn) }),\n };\n\n // I know this is hacky but we don't want to add `sessions` to request type since it's never rate limited\n const type = 'aggregates' in session ? ('sessions' as SentryRequestType) : 'session';\n\n // TODO (v7) Have to cast type because envelope items do not accept a `SentryRequestType`\n const envelopeItem = [{ type } as { type: 'session' | 'sessions' }, session] as SessionItem;\n const envelope = createEnvelope(envelopeHeaders, [envelopeItem]);\n\n return [envelope, type];\n}\n\n/** Creates a SentryRequest from a Session. */\nexport function sessionToSentryRequest(session: Session | SessionAggregates, api: APIDetails): SentryRequest {\n const [envelope, type] = createSessionEnvelope(session, api);\n return {\n body: serializeEnvelope(envelope),\n type,\n url: getEnvelopeEndpointWithUrlEncodedAuth(api.dsn, api.tunnel),\n };\n}\n\n/**\n * Create an Envelope from an event. Note that this is duplicated from below,\n * but on purpose as this will be refactored in v7.\n */\nexport function createEventEnvelope(event: Event, api: APIDetails): EventEnvelope {\n const sdkInfo = getSdkMetadataForEnvelopeHeader(api);\n const eventType = event.type || 'event';\n\n const { transactionSampling } = event.sdkProcessingMetadata || {};\n const { method: samplingMethod, rate: sampleRate } = transactionSampling || {};\n\n // TODO: Below is a temporary hack in order to debug a serialization error - see\n // https://github.com/getsentry/sentry-javascript/issues/2809,\n // https://github.com/getsentry/sentry-javascript/pull/4425, and\n // https://github.com/getsentry/sentry-javascript/pull/4574.\n //\n // TL; DR: even though we normalize all events (which should prevent this), something is causing `JSON.stringify` to\n // throw a circular reference error.\n //\n // When it's time to remove it:\n // 1. Delete everything between here and where the request object `req` is created, EXCEPT the line deleting\n // `sdkProcessingMetadata`\n // 2. Restore the original version of the request body, which is commented out\n // 3. Search for either of the PR URLs above and pull out the companion hacks in the browser playwright tests and the\n // baseClient tests in this package\n enhanceEventWithSdkInfo(event, api.metadata.sdk);\n event.tags = event.tags || {};\n event.extra = event.extra || {};\n\n // In theory, all events should be marked as having gone through normalization and so\n // we should never set this tag/extra data\n if (!(event.sdkProcessingMetadata && event.sdkProcessingMetadata.baseClientNormalized)) {\n event.tags.skippedNormalization = true;\n event.extra.normalizeDepth = event.sdkProcessingMetadata ? event.sdkProcessingMetadata.normalizeDepth : 'unset';\n }\n\n // prevent this data from being sent to sentry\n // TODO: This is NOT part of the hack - DO NOT DELETE\n delete event.sdkProcessingMetadata;\n\n const envelopeHeaders = {\n event_id: event.event_id as string,\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!api.tunnel && { dsn: dsnToString(api.dsn) }),\n };\n const eventItem: EventItem = [\n {\n type: eventType,\n sample_rates: [{ id: samplingMethod, rate: sampleRate }],\n },\n event,\n ];\n return createEnvelope(envelopeHeaders, [eventItem]);\n}\n\n/** Creates a SentryRequest from an event. */\nexport function eventToSentryRequest(event: Event, api: APIDetails): SentryRequest {\n const sdkInfo = getSdkMetadataForEnvelopeHeader(api);\n const eventType = event.type || 'event';\n const useEnvelope = eventType === 'transaction' || !!api.tunnel;\n\n const { transactionSampling } = event.sdkProcessingMetadata || {};\n const { method: samplingMethod, rate: sampleRate } = transactionSampling || {};\n\n // TODO: Below is a temporary hack in order to debug a serialization error - see\n // https://github.com/getsentry/sentry-javascript/issues/2809,\n // https://github.com/getsentry/sentry-javascript/pull/4425, and\n // https://github.com/getsentry/sentry-javascript/pull/4574.\n //\n // TL; DR: even though we normalize all events (which should prevent this), something is causing `JSON.stringify` to\n // throw a circular reference error.\n //\n // When it's time to remove it:\n // 1. Delete everything between here and where the request object `req` is created, EXCEPT the line deleting\n // `sdkProcessingMetadata`\n // 2. Restore the original version of the request body, which is commented out\n // 3. Search for either of the PR URLs above and pull out the companion hacks in the browser playwright tests and the\n // baseClient tests in this package\n enhanceEventWithSdkInfo(event, api.metadata.sdk);\n event.tags = event.tags || {};\n event.extra = event.extra || {};\n\n // In theory, all events should be marked as having gone through normalization and so\n // we should never set this tag/extra data\n if (!(event.sdkProcessingMetadata && event.sdkProcessingMetadata.baseClientNormalized)) {\n event.tags.skippedNormalization = true;\n event.extra.normalizeDepth = event.sdkProcessingMetadata ? event.sdkProcessingMetadata.normalizeDepth : 'unset';\n }\n\n // prevent this data from being sent to sentry\n // TODO: This is NOT part of the hack - DO NOT DELETE\n delete event.sdkProcessingMetadata;\n\n let body;\n try {\n // 99.9% of events should get through just fine - no change in behavior for them\n body = JSON.stringify(event);\n } catch (err) {\n // Record data about the error without replacing original event data, then force renormalization\n event.tags.JSONStringifyError = true;\n event.extra.JSONStringifyError = err;\n try {\n body = JSON.stringify(normalize(event));\n } catch (newErr) {\n // At this point even renormalization hasn't worked, meaning something about the event data has gone very wrong.\n // Time to cut our losses and record only the new error. With luck, even in the problematic cases we're trying to\n // debug with this hack, we won't ever land here.\n const innerErr = newErr as Error;\n body = JSON.stringify({\n message: 'JSON.stringify error after renormalization',\n // setting `extra: { innerErr }` here for some reason results in an empty object, so unpack manually\n extra: { message: innerErr.message, stack: innerErr.stack },\n });\n }\n }\n\n const req: SentryRequest = {\n // this is the relevant line of code before the hack was added, to make it easy to undo said hack once we've solved\n // the mystery\n // body: JSON.stringify(sdkInfo ? enhanceEventWithSdkInfo(event, api.metadata.sdk) : event),\n body,\n type: eventType,\n url: useEnvelope\n ? getEnvelopeEndpointWithUrlEncodedAuth(api.dsn, api.tunnel)\n : getStoreEndpointWithUrlEncodedAuth(api.dsn),\n };\n\n // https://develop.sentry.dev/sdk/envelopes/\n\n // Since we don't need to manipulate envelopes nor store them, there is no\n // exported concept of an Envelope with operations including serialization and\n // deserialization. Instead, we only implement a minimal subset of the spec to\n // serialize events inline here.\n if (useEnvelope) {\n const envelopeHeaders = {\n event_id: event.event_id as string,\n sent_at: new Date().toISOString(),\n ...(sdkInfo && { sdk: sdkInfo }),\n ...(!!api.tunnel && { dsn: dsnToString(api.dsn) }),\n };\n const eventItem: EventItem = [\n {\n type: eventType,\n sample_rates: [{ id: samplingMethod, rate: sampleRate }],\n },\n req.body,\n ];\n const envelope = createEnvelope(envelopeHeaders, [eventItem]);\n req.body = serializeEnvelope(envelope);\n }\n\n return req;\n}\n","import { Event, Response, Transport } from '@sentry/types';\nimport { resolvedSyncPromise } from '@sentry/utils';\n\n/** Noop transport */\nexport class NoopTransport implements Transport {\n /**\n * @inheritDoc\n */\n public sendEvent(_: Event): PromiseLike {\n return resolvedSyncPromise({\n reason: 'NoopTransport: Event has been skipped because no Dsn is configured.',\n status: 'skipped',\n });\n }\n\n /**\n * @inheritDoc\n */\n public close(_?: number): PromiseLike {\n return resolvedSyncPromise(true);\n }\n}\n","import { Event, EventHint, Options, Session, Severity, Transport } from '@sentry/types';\nimport { logger, SentryError } from '@sentry/utils';\n\nimport { initAPIDetails } from './api';\nimport { IS_DEBUG_BUILD } from './flags';\nimport { createEventEnvelope, createSessionEnvelope } from './request';\nimport { NewTransport } from './transports/base';\nimport { NoopTransport } from './transports/noop';\n\n/**\n * Internal platform-dependent Sentry SDK Backend.\n *\n * While {@link Client} contains business logic specific to an SDK, the\n * Backend offers platform specific implementations for low-level operations.\n * These are persisting and loading information, sending events, and hooking\n * into the environment.\n *\n * Backends receive a handle to the Client in their constructor. When a\n * Backend automatically generates events, it must pass them to\n * the Client for validation and processing first.\n *\n * Usually, the Client will be of corresponding type, e.g. NodeBackend\n * receives NodeClient. However, higher-level SDKs can choose to instantiate\n * multiple Backends and delegate tasks between them. In this case, an event\n * generated by one backend might very well be sent by another one.\n *\n * The client also provides access to options via {@link Client.getOptions}.\n * @hidden\n */\nexport interface Backend {\n /** Creates an {@link Event} from all inputs to `captureException` and non-primitive inputs to `captureMessage`. */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n eventFromException(exception: any, hint?: EventHint): PromiseLike;\n\n /** Creates an {@link Event} from primitive inputs to `captureMessage`. */\n eventFromMessage(message: string, level?: Severity, hint?: EventHint): PromiseLike;\n\n /** Submits the event to Sentry */\n sendEvent(event: Event): void;\n\n /** Submits the session to Sentry */\n sendSession(session: Session): void;\n\n /**\n * Returns the transport that is used by the backend.\n * Please note that the transport gets lazy initialized so it will only be there once the first event has been sent.\n *\n * @returns The transport.\n */\n getTransport(): Transport;\n}\n\n/**\n * A class object that can instantiate Backend objects.\n * @hidden\n */\nexport type BackendClass = new (options: O) => B;\n\n/**\n * This is the base implemention of a Backend.\n * @hidden\n */\nexport abstract class BaseBackend implements Backend {\n /** Options passed to the SDK. */\n protected readonly _options: O;\n\n /** Cached transport used internally. */\n protected _transport: Transport;\n\n /** New v7 Transport that is initialized alongside the old one */\n protected _newTransport?: NewTransport;\n\n /** Creates a new backend instance. */\n public constructor(options: O) {\n this._options = options;\n if (!this._options.dsn) {\n IS_DEBUG_BUILD && logger.warn('No DSN provided, backend will not do anything.');\n }\n this._transport = this._setupTransport();\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n public eventFromException(_exception: any, _hint?: EventHint): PromiseLike {\n throw new SentryError('Backend has to implement `eventFromException` method');\n }\n\n /**\n * @inheritDoc\n */\n public eventFromMessage(_message: string, _level?: Severity, _hint?: EventHint): PromiseLike {\n throw new SentryError('Backend has to implement `eventFromMessage` method');\n }\n\n /**\n * @inheritDoc\n */\n public sendEvent(event: Event): void {\n // TODO(v7): Remove the if-else\n if (\n this._newTransport &&\n this._options.dsn &&\n this._options._experiments &&\n this._options._experiments.newTransport\n ) {\n const api = initAPIDetails(this._options.dsn, this._options._metadata, this._options.tunnel);\n const env = createEventEnvelope(event, api);\n void this._newTransport.send(env).then(null, reason => {\n IS_DEBUG_BUILD && logger.error('Error while sending event:', reason);\n });\n } else {\n void this._transport.sendEvent(event).then(null, reason => {\n IS_DEBUG_BUILD && logger.error('Error while sending event:', reason);\n });\n }\n }\n\n /**\n * @inheritDoc\n */\n public sendSession(session: Session): void {\n if (!this._transport.sendSession) {\n IS_DEBUG_BUILD && logger.warn(\"Dropping session because custom transport doesn't implement sendSession\");\n return;\n }\n\n // TODO(v7): Remove the if-else\n if (\n this._newTransport &&\n this._options.dsn &&\n this._options._experiments &&\n this._options._experiments.newTransport\n ) {\n const api = initAPIDetails(this._options.dsn, this._options._metadata, this._options.tunnel);\n const [env] = createSessionEnvelope(session, api);\n void this._newTransport.send(env).then(null, reason => {\n IS_DEBUG_BUILD && logger.error('Error while sending session:', reason);\n });\n } else {\n void this._transport.sendSession(session).then(null, reason => {\n IS_DEBUG_BUILD && logger.error('Error while sending session:', reason);\n });\n }\n }\n\n /**\n * @inheritDoc\n */\n public getTransport(): Transport {\n return this._transport;\n }\n\n /**\n * Sets up the transport so it can be used later to send requests.\n */\n protected _setupTransport(): Transport {\n return new NoopTransport();\n }\n}\n","import { SentryError } from './error';\nimport { rejectedSyncPromise, resolvedSyncPromise, SyncPromise } from './syncpromise';\n\nexport interface PromiseBuffer {\n // exposes the internal array so tests can assert on the state of it.\n // XXX: this really should not be public api.\n $: Array>;\n add(taskProducer: () => PromiseLike): PromiseLike;\n drain(timeout?: number): PromiseLike;\n}\n\n/**\n * Creates an new PromiseBuffer object with the specified limit\n * @param limit max number of promises that can be stored in the buffer\n */\nexport function makePromiseBuffer(limit?: number): PromiseBuffer {\n const buffer: Array> = [];\n\n function isReady(): boolean {\n return limit === undefined || buffer.length < limit;\n }\n\n /**\n * Remove a promise from the queue.\n *\n * @param task Can be any PromiseLike\n * @returns Removed promise.\n */\n function remove(task: PromiseLike): PromiseLike {\n return buffer.splice(buffer.indexOf(task), 1)[0];\n }\n\n /**\n * Add a promise (representing an in-flight action) to the queue, and set it to remove itself on fulfillment.\n *\n * @param taskProducer A function producing any PromiseLike; In previous versions this used to be `task:\n * PromiseLike`, but under that model, Promises were instantly created on the call-site and their executor\n * functions therefore ran immediately. Thus, even if the buffer was full, the action still happened. By\n * requiring the promise to be wrapped in a function, we can defer promise creation until after the buffer\n * limit check.\n * @returns The original promise.\n */\n function add(taskProducer: () => PromiseLike): PromiseLike {\n if (!isReady()) {\n return rejectedSyncPromise(new SentryError('Not adding Promise due to buffer limit reached.'));\n }\n\n // start the task and add its promise to the queue\n const task = taskProducer();\n if (buffer.indexOf(task) === -1) {\n buffer.push(task);\n }\n void task\n .then(() => remove(task))\n // Use `then(null, rejectionHandler)` rather than `catch(rejectionHandler)` so that we can use `PromiseLike`\n // rather than `Promise`. `PromiseLike` doesn't have a `.catch` method, making its polyfill smaller. (ES5 didn't\n // have promises, so TS has to polyfill when down-compiling.)\n .then(null, () =>\n remove(task).then(null, () => {\n // We have to add another catch here because `remove()` starts a new promise chain.\n }),\n );\n return task;\n }\n\n /**\n * Wait for all promises in the queue to resolve or for timeout to expire, whichever comes first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the queue is still non-empty. Passing `0` (or\n * not passing anything) will make the promise wait as long as it takes for the queue to drain before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if the queue is already empty or drains before the timeout, and\n * `false` otherwise\n */\n function drain(timeout?: number): PromiseLike {\n return new SyncPromise((resolve, reject) => {\n let counter = buffer.length;\n\n if (!counter) {\n return resolve(true);\n }\n\n // wait for `timeout` ms and then resolve to `false` (if not cancelled first)\n const capturedSetTimeout = setTimeout(() => {\n if (timeout && timeout > 0) {\n resolve(false);\n }\n }, timeout);\n\n // if all promises resolve in time, cancel the timer and resolve to `true`\n buffer.forEach(item => {\n void resolvedSyncPromise(item).then(() => {\n // eslint-disable-next-line no-plusplus\n if (!--counter) {\n clearTimeout(capturedSetTimeout);\n resolve(true);\n }\n }, reject);\n });\n });\n }\n\n return {\n $: buffer,\n add,\n drain,\n };\n}\n","// Keeping the key broad until we add the new transports\nexport type RateLimits = Record;\n\nexport const DEFAULT_RETRY_AFTER = 60 * 1000; // 60 seconds\n\n/**\n * Extracts Retry-After value from the request header or returns default value\n * @param header string representation of 'Retry-After' header\n * @param now current unix timestamp\n *\n */\nexport function parseRetryAfterHeader(header: string, now: number = Date.now()): number {\n const headerDelay = parseInt(`${header}`, 10);\n if (!isNaN(headerDelay)) {\n return headerDelay * 1000;\n }\n\n const headerDate = Date.parse(`${header}`);\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n\n return DEFAULT_RETRY_AFTER;\n}\n\n/**\n * Gets the time that given category is disabled until for rate limiting\n */\nexport function disabledUntil(limits: RateLimits, category: string): number {\n return limits[category] || limits.all || 0;\n}\n\n/**\n * Checks if a category is rate limited\n */\nexport function isRateLimited(limits: RateLimits, category: string, now: number = Date.now()): boolean {\n return disabledUntil(limits, category) > now;\n}\n\n/**\n * Update ratelimits from incoming headers.\n * Returns true if headers contains a non-empty rate limiting header.\n */\nexport function updateRateLimits(\n limits: RateLimits,\n headers: Record,\n now: number = Date.now(),\n): RateLimits {\n const updatedRateLimits: RateLimits = {\n ...limits,\n };\n\n // \"The name is case-insensitive.\"\n // https://developer.mozilla.org/en-US/docs/Web/API/Headers/get\n const rateLimitHeader = headers['x-sentry-rate-limits'];\n const retryAfterHeader = headers['retry-after'];\n\n if (rateLimitHeader) {\n /**\n * rate limit headers are of the form\n *
,
,..\n * where each
is of the form\n * : : : \n * where\n * is a delay in seconds\n * is the event type(s) (error, transaction, etc) being rate limited and is of the form\n * ;;...\n * is what's being limited (org, project, or key) - ignored by SDK\n * is an arbitrary string like \"org_quota\" - ignored by SDK\n */\n for (const limit of rateLimitHeader.trim().split(',')) {\n const parameters = limit.split(':', 2);\n const headerDelay = parseInt(parameters[0], 10);\n const delay = (!isNaN(headerDelay) ? headerDelay : 60) * 1000; // 60sec default\n if (!parameters[1]) {\n updatedRateLimits.all = now + delay;\n } else {\n for (const category of parameters[1].split(';')) {\n updatedRateLimits[category] = now + delay;\n }\n }\n }\n } else if (retryAfterHeader) {\n updatedRateLimits.all = now + parseRetryAfterHeader(retryAfterHeader, now);\n }\n\n return updatedRateLimits;\n}\n","import { EventStatus } from '@sentry/types';\n/**\n * Converts an HTTP status code to sentry status {@link EventStatus}.\n *\n * @param code number HTTP status code\n * @returns EventStatus\n */\nexport function eventStatusFromHttpCode(code: number): EventStatus {\n if (code >= 200 && code < 300) {\n return 'success';\n }\n\n if (code === 429) {\n return 'rate_limit';\n }\n\n if (code >= 400 && code < 500) {\n return 'invalid';\n }\n\n if (code >= 500) {\n return 'failed';\n }\n\n return 'unknown';\n}\n","import { Envelope, EventStatus } from '@sentry/types';\nimport {\n disabledUntil,\n eventStatusFromHttpCode,\n getEnvelopeType,\n isRateLimited,\n makePromiseBuffer,\n PromiseBuffer,\n RateLimits,\n rejectedSyncPromise,\n resolvedSyncPromise,\n serializeEnvelope,\n updateRateLimits,\n} from '@sentry/utils';\n\nexport const ERROR_TRANSPORT_CATEGORY = 'error';\n\nexport const TRANSACTION_TRANSPORT_CATEGORY = 'transaction';\n\nexport const ATTACHMENT_TRANSPORT_CATEGORY = 'attachment';\n\nexport const SESSION_TRANSPORT_CATEGORY = 'session';\n\ntype TransportCategory =\n | typeof ERROR_TRANSPORT_CATEGORY\n | typeof TRANSACTION_TRANSPORT_CATEGORY\n | typeof ATTACHMENT_TRANSPORT_CATEGORY\n | typeof SESSION_TRANSPORT_CATEGORY;\n\nexport type TransportRequest = {\n body: string;\n category: TransportCategory;\n};\n\nexport type TransportMakeRequestResponse = {\n body?: string;\n headers?: {\n [key: string]: string | null;\n 'x-sentry-rate-limits': string | null;\n 'retry-after': string | null;\n };\n reason?: string;\n statusCode: number;\n};\n\nexport type TransportResponse = {\n status: EventStatus;\n reason?: string;\n};\n\ninterface InternalBaseTransportOptions {\n bufferSize?: number;\n}\n\nexport interface BaseTransportOptions extends InternalBaseTransportOptions {\n // url to send the event\n // transport does not care about dsn specific - client should take care of\n // parsing and figuring that out\n url: string;\n}\n\n// TODO: Move into Browser Transport\nexport interface BrowserTransportOptions extends BaseTransportOptions {\n // options to pass into fetch request\n fetchParams: Record;\n headers?: Record;\n sendClientReports?: boolean;\n}\n\nexport interface NewTransport {\n send(request: Envelope): PromiseLike;\n flush(timeout?: number): PromiseLike;\n}\n\nexport type TransportRequestExecutor = (request: TransportRequest) => PromiseLike;\n\nexport const DEFAULT_TRANSPORT_BUFFER_SIZE = 30;\n\n/**\n * Creates a `NewTransport`\n *\n * @param options\n * @param makeRequest\n */\nexport function createTransport(\n options: InternalBaseTransportOptions,\n makeRequest: TransportRequestExecutor,\n buffer: PromiseBuffer = makePromiseBuffer(options.bufferSize || DEFAULT_TRANSPORT_BUFFER_SIZE),\n): NewTransport {\n let rateLimits: RateLimits = {};\n\n const flush = (timeout?: number): PromiseLike => buffer.drain(timeout);\n\n function send(envelope: Envelope): PromiseLike {\n const envCategory = getEnvelopeType(envelope);\n const category = envCategory === 'event' ? 'error' : (envCategory as TransportCategory);\n const request: TransportRequest = {\n category,\n body: serializeEnvelope(envelope),\n };\n\n // Don't add to buffer if transport is already rate-limited\n if (isRateLimited(rateLimits, category)) {\n return rejectedSyncPromise({\n status: 'rate_limit',\n reason: getRateLimitReason(rateLimits, category),\n });\n }\n\n const requestTask = (): PromiseLike =>\n makeRequest(request).then(({ body, headers, reason, statusCode }): PromiseLike => {\n const status = eventStatusFromHttpCode(statusCode);\n if (headers) {\n rateLimits = updateRateLimits(rateLimits, headers);\n }\n if (status === 'success') {\n return resolvedSyncPromise({ status, reason });\n }\n return rejectedSyncPromise({\n status,\n reason:\n reason ||\n body ||\n (status === 'rate_limit' ? getRateLimitReason(rateLimits, category) : 'Unknown transport error'),\n });\n });\n\n return buffer.add(requestTask);\n }\n\n return {\n send,\n flush,\n };\n}\n\nfunction getRateLimitReason(rateLimits: RateLimits, category: TransportCategory): string {\n return `Too many ${category} requests, backing off until: ${new Date(\n disabledUntil(rateLimits, category),\n ).toISOString()}`;\n}\n","import { forget, getGlobalObject, isNativeFetch, logger, supportsFetch } from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from '../flags';\n\nconst global = getGlobalObject();\nlet cachedFetchImpl: FetchImpl;\n\nexport type FetchImpl = typeof fetch;\n\n/**\n * A special usecase for incorrectly wrapped Fetch APIs in conjunction with ad-blockers.\n * Whenever someone wraps the Fetch API and returns the wrong promise chain,\n * this chain becomes orphaned and there is no possible way to capture it's rejections\n * other than allowing it bubble up to this very handler. eg.\n *\n * const f = window.fetch;\n * window.fetch = function () {\n * const p = f.apply(this, arguments);\n *\n * p.then(function() {\n * console.log('hi.');\n * });\n *\n * return p;\n * }\n *\n * `p.then(function () { ... })` is producing a completely separate promise chain,\n * however, what's returned is `p` - the result of original `fetch` call.\n *\n * This mean, that whenever we use the Fetch API to send our own requests, _and_\n * some ad-blocker blocks it, this orphaned chain will _always_ reject,\n * effectively causing another event to be captured.\n * This makes a whole process become an infinite loop, which we need to somehow\n * deal with, and break it in one way or another.\n *\n * To deal with this issue, we are making sure that we _always_ use the real\n * browser Fetch API, instead of relying on what `window.fetch` exposes.\n * The only downside to this would be missing our own requests as breadcrumbs,\n * but because we are already not doing this, it should be just fine.\n *\n * Possible failed fetch error messages per-browser:\n *\n * Chrome: Failed to fetch\n * Edge: Failed to Fetch\n * Firefox: NetworkError when attempting to fetch resource\n * Safari: resource blocked by content blocker\n */\nexport function getNativeFetchImplementation(): FetchImpl {\n if (cachedFetchImpl) {\n return cachedFetchImpl;\n }\n\n /* eslint-disable @typescript-eslint/unbound-method */\n\n // Fast path to avoid DOM I/O\n if (isNativeFetch(global.fetch)) {\n return (cachedFetchImpl = global.fetch.bind(global));\n }\n\n const document = global.document;\n let fetchImpl = global.fetch;\n // eslint-disable-next-line deprecation/deprecation\n if (document && typeof document.createElement === 'function') {\n try {\n const sandbox = document.createElement('iframe');\n sandbox.hidden = true;\n document.head.appendChild(sandbox);\n const contentWindow = sandbox.contentWindow;\n if (contentWindow && contentWindow.fetch) {\n fetchImpl = contentWindow.fetch;\n }\n document.head.removeChild(sandbox);\n } catch (e) {\n IS_DEBUG_BUILD &&\n logger.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', e);\n }\n }\n\n return (cachedFetchImpl = fetchImpl.bind(global));\n /* eslint-enable @typescript-eslint/unbound-method */\n}\n\n/**\n * Sends sdk client report using sendBeacon or fetch as a fallback if available\n *\n * @param url report endpoint\n * @param body report payload\n */\nexport function sendReport(url: string, body: string): void {\n const isRealNavigator = Object.prototype.toString.call(global && global.navigator) === '[object Navigator]';\n const hasSendBeacon = isRealNavigator && typeof global.navigator.sendBeacon === 'function';\n\n if (hasSendBeacon) {\n // Prevent illegal invocations - https://xgwang.me/posts/you-may-not-know-beacon/#it-may-throw-error%2C-be-sure-to-catch\n const sendBeacon = global.navigator.sendBeacon.bind(global.navigator);\n return sendBeacon(url, body);\n }\n\n if (supportsFetch()) {\n const fetch = getNativeFetchImplementation();\n return forget(\n fetch(url, {\n body,\n method: 'POST',\n credentials: 'omit',\n keepalive: true,\n }),\n );\n }\n}\n","/**\n * Consumes the promise and logs the error when it rejects.\n * @param promise A promise to forget.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function forget(promise: PromiseLike): void {\n void promise.then(null, e => {\n // TODO: Use a better logging mechanism\n // eslint-disable-next-line no-console\n console.error(e);\n });\n}\n","import {\n APIDetails,\n eventToSentryRequest,\n getEnvelopeEndpointWithUrlEncodedAuth,\n getStoreEndpointWithUrlEncodedAuth,\n initAPIDetails,\n sessionToSentryRequest,\n} from '@sentry/core';\nimport {\n ClientReport,\n Event,\n Outcome,\n Response as SentryResponse,\n SentryRequest,\n SentryRequestType,\n Session,\n Transport,\n TransportOptions,\n} from '@sentry/types';\nimport {\n createClientReportEnvelope,\n disabledUntil,\n dsnToString,\n eventStatusFromHttpCode,\n getGlobalObject,\n isRateLimited,\n logger,\n makePromiseBuffer,\n PromiseBuffer,\n RateLimits,\n serializeEnvelope,\n updateRateLimits,\n} from '@sentry/utils';\n\nimport { IS_DEBUG_BUILD } from '../flags';\nimport { sendReport } from './utils';\n\nfunction requestTypeToCategory(ty: SentryRequestType): string {\n const tyStr = ty as string;\n return tyStr === 'event' ? 'error' : tyStr;\n}\n\nconst global = getGlobalObject();\n\n/** Base Transport class implementation */\nexport abstract class BaseTransport implements Transport {\n /**\n * @deprecated\n */\n public url: string;\n\n /** Helper to get Sentry API endpoints. */\n protected readonly _api: APIDetails;\n\n /** A simple buffer holding all requests. */\n protected readonly _buffer: PromiseBuffer = makePromiseBuffer(30);\n\n /** Locks transport after receiving rate limits in a response */\n protected _rateLimits: RateLimits = {};\n\n protected _outcomes: { [key: string]: number } = {};\n\n public constructor(public options: TransportOptions) {\n this._api = initAPIDetails(options.dsn, options._metadata, options.tunnel);\n // eslint-disable-next-line deprecation/deprecation\n this.url = getStoreEndpointWithUrlEncodedAuth(this._api.dsn);\n\n if (this.options.sendClientReports && global.document) {\n global.document.addEventListener('visibilitychange', () => {\n if (global.document.visibilityState === 'hidden') {\n this._flushOutcomes();\n }\n });\n }\n }\n\n /**\n * @inheritDoc\n */\n public sendEvent(event: Event): PromiseLike {\n return this._sendRequest(eventToSentryRequest(event, this._api), event);\n }\n\n /**\n * @inheritDoc\n */\n public sendSession(session: Session): PromiseLike {\n return this._sendRequest(sessionToSentryRequest(session, this._api), session);\n }\n\n /**\n * @inheritDoc\n */\n public close(timeout?: number): PromiseLike {\n return this._buffer.drain(timeout);\n }\n\n /**\n * @inheritDoc\n */\n public recordLostEvent(reason: Outcome, category: SentryRequestType): void {\n if (!this.options.sendClientReports) {\n return;\n }\n // We want to track each category (event, transaction, session) separately\n // but still keep the distinction between different type of outcomes.\n // We could use nested maps, but it's much easier to read and type this way.\n // A correct type for map-based implementation if we want to go that route\n // would be `Partial>>>`\n const key = `${requestTypeToCategory(category)}:${reason}`;\n IS_DEBUG_BUILD && logger.log(`Adding outcome: ${key}`);\n this._outcomes[key] = (this._outcomes[key] ?? 0) + 1;\n }\n\n /**\n * Send outcomes as an envelope\n */\n protected _flushOutcomes(): void {\n if (!this.options.sendClientReports) {\n return;\n }\n\n const outcomes = this._outcomes;\n this._outcomes = {};\n\n // Nothing to send\n if (!Object.keys(outcomes).length) {\n IS_DEBUG_BUILD && logger.log('No outcomes to flush');\n return;\n }\n\n IS_DEBUG_BUILD && logger.log(`Flushing outcomes:\\n${JSON.stringify(outcomes, null, 2)}`);\n\n const url = getEnvelopeEndpointWithUrlEncodedAuth(this._api.dsn, this._api.tunnel);\n\n const discardedEvents = Object.keys(outcomes).map(key => {\n const [category, reason] = key.split(':');\n return {\n reason,\n category,\n quantity: outcomes[key],\n };\n // TODO: Improve types on discarded_events to get rid of cast\n }) as ClientReport['discarded_events'];\n const envelope = createClientReportEnvelope(discardedEvents, this._api.tunnel && dsnToString(this._api.dsn));\n\n try {\n sendReport(url, serializeEnvelope(envelope));\n } catch (e) {\n IS_DEBUG_BUILD && logger.error(e);\n }\n }\n\n /**\n * Handle Sentry repsonse for promise-based transports.\n */\n protected _handleResponse({\n requestType,\n response,\n headers,\n resolve,\n reject,\n }: {\n requestType: SentryRequestType;\n response: Response | XMLHttpRequest;\n headers: Record;\n resolve: (value?: SentryResponse | PromiseLike | null | undefined) => void;\n reject: (reason?: unknown) => void;\n }): void {\n const status = eventStatusFromHttpCode(response.status);\n\n this._rateLimits = updateRateLimits(this._rateLimits, headers);\n // eslint-disable-next-line deprecation/deprecation\n if (this._isRateLimited(requestType)) {\n IS_DEBUG_BUILD &&\n // eslint-disable-next-line deprecation/deprecation\n logger.warn(`Too many ${requestType} requests, backing off until: ${this._disabledUntil(requestType)}`);\n }\n\n if (status === 'success') {\n resolve({ status });\n return;\n }\n\n reject(response);\n }\n\n /**\n * Gets the time that given category is disabled until for rate limiting\n *\n * @deprecated Please use `disabledUntil` from @sentry/utils\n */\n protected _disabledUntil(requestType: SentryRequestType): Date {\n const category = requestTypeToCategory(requestType);\n return new Date(disabledUntil(this._rateLimits, category));\n }\n\n /**\n * Checks if a category is rate limited\n *\n * @deprecated Please use `isRateLimited` from @sentry/utils\n */\n protected _isRateLimited(requestType: SentryRequestType): boolean {\n const category = requestTypeToCategory(requestType);\n return isRateLimited(this._rateLimits, category);\n }\n\n protected abstract _sendRequest(\n sentryRequest: SentryRequest,\n originalPayload: Event | Session,\n ): PromiseLike;\n}\n","import { ClientReport, ClientReportEnvelope, ClientReportItem } from '@sentry/types';\n\nimport { createEnvelope } from './envelope';\nimport { dateTimestampInSeconds } from './time';\n\n/**\n * Creates client report envelope\n * @param discarded_events An array of discard events\n * @param dsn A DSN that can be set on the header. Optional.\n */\nexport function createClientReportEnvelope(\n discarded_events: ClientReport['discarded_events'],\n dsn?: string,\n timestamp?: number,\n): ClientReportEnvelope {\n const clientReportItem: ClientReportItem = [\n { type: 'client_report' },\n {\n timestamp: timestamp || dateTimestampInSeconds(),\n discarded_events,\n },\n ];\n return createEnvelope(dsn ? { dsn } : {}, [clientReportItem]);\n}\n","import { Event, Response, SentryRequest, Session, TransportOptions } from '@sentry/types';\nimport { SentryError, supportsReferrerPolicy, SyncPromise } from '@sentry/utils';\n\nimport { BaseTransport } from './base';\nimport { FetchImpl, getNativeFetchImplementation } from './utils';\n\n/** `fetch` based transport */\nexport class FetchTransport extends BaseTransport {\n /**\n * Fetch API reference which always points to native browser implementation.\n */\n private _fetch: typeof fetch;\n\n public constructor(options: TransportOptions, fetchImpl: FetchImpl = getNativeFetchImplementation()) {\n super(options);\n this._fetch = fetchImpl;\n }\n\n /**\n * @param sentryRequest Prepared SentryRequest to be delivered\n * @param originalPayload Original payload used to create SentryRequest\n */\n protected _sendRequest(sentryRequest: SentryRequest, originalPayload: Event | Session): PromiseLike {\n // eslint-disable-next-line deprecation/deprecation\n if (this._isRateLimited(sentryRequest.type)) {\n this.recordLostEvent('ratelimit_backoff', sentryRequest.type);\n\n return Promise.reject({\n event: originalPayload,\n type: sentryRequest.type,\n // eslint-disable-next-line deprecation/deprecation\n reason: `Transport for ${sentryRequest.type} requests locked till ${this._disabledUntil(\n sentryRequest.type,\n )} due to too many requests.`,\n status: 429,\n });\n }\n\n const options: RequestInit = {\n body: sentryRequest.body,\n method: 'POST',\n // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default'\n // (see https://caniuse.com/#feat=referrer-policy),\n // it doesn't. And it throws an exception instead of ignoring this parameter...\n // REF: https://github.com/getsentry/raven-js/issues/1233\n referrerPolicy: (supportsReferrerPolicy() ? 'origin' : '') as ReferrerPolicy,\n };\n if (this.options.fetchParameters !== undefined) {\n Object.assign(options, this.options.fetchParameters);\n }\n if (this.options.headers !== undefined) {\n options.headers = this.options.headers;\n }\n\n return this._buffer\n .add(\n () =>\n new SyncPromise((resolve, reject) => {\n void this._fetch(sentryRequest.url, options)\n .then(response => {\n const headers = {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After'),\n };\n this._handleResponse({\n requestType: sentryRequest.type,\n response,\n headers,\n resolve,\n reject,\n });\n })\n .catch(reject);\n }),\n )\n .then(undefined, reason => {\n // It's either buffer rejection or any other xhr/fetch error, which are treated as NetworkError.\n if (reason instanceof SentryError) {\n this.recordLostEvent('queue_overflow', sentryRequest.type);\n } else {\n this.recordLostEvent('network_error', sentryRequest.type);\n }\n throw reason;\n });\n }\n}\n","import { Event, Response, SentryRequest, Session } from '@sentry/types';\nimport { SentryError, SyncPromise } from '@sentry/utils';\n\nimport { BaseTransport } from './base';\n\n/** `XHR` based transport */\nexport class XHRTransport extends BaseTransport {\n /**\n * @param sentryRequest Prepared SentryRequest to be delivered\n * @param originalPayload Original payload used to create SentryRequest\n */\n protected _sendRequest(sentryRequest: SentryRequest, originalPayload: Event | Session): PromiseLike {\n // eslint-disable-next-line deprecation/deprecation\n if (this._isRateLimited(sentryRequest.type)) {\n this.recordLostEvent('ratelimit_backoff', sentryRequest.type);\n\n return Promise.reject({\n event: originalPayload,\n type: sentryRequest.type,\n // eslint-disable-next-line deprecation/deprecation\n reason: `Transport for ${sentryRequest.type} requests locked till ${this._disabledUntil(\n sentryRequest.type,\n )} due to too many requests.`,\n status: 429,\n });\n }\n\n return this._buffer\n .add(\n () =>\n new SyncPromise((resolve, reject) => {\n const request = new XMLHttpRequest();\n\n request.onreadystatechange = (): void => {\n if (request.readyState === 4) {\n const headers = {\n 'x-sentry-rate-limits': request.getResponseHeader('X-Sentry-Rate-Limits'),\n 'retry-after': request.getResponseHeader('Retry-After'),\n };\n this._handleResponse({ requestType: sentryRequest.type, response: request, headers, resolve, reject });\n }\n };\n\n request.open('POST', sentryRequest.url);\n for (const header in this.options.headers) {\n if (Object.prototype.hasOwnProperty.call(this.options.headers, header)) {\n request.setRequestHeader(header, this.options.headers[header]);\n }\n }\n request.send(sentryRequest.body);\n }),\n )\n .then(undefined, reason => {\n // It's either buffer rejection or any other xhr/fetch error, which are treated as NetworkError.\n if (reason instanceof SentryError) {\n this.recordLostEvent('queue_overflow', sentryRequest.type);\n } else {\n this.recordLostEvent('network_error', sentryRequest.type);\n }\n throw reason;\n });\n }\n}\n","import { BaseBackend, getEnvelopeEndpointWithUrlEncodedAuth, initAPIDetails } from '@sentry/core';\nimport { Event, EventHint, Options, Severity, Transport, TransportOptions } from '@sentry/types';\nimport { supportsFetch } from '@sentry/utils';\n\nimport { eventFromException, eventFromMessage } from './eventbuilder';\nimport { FetchTransport, makeNewFetchTransport, makeNewXHRTransport, XHRTransport } from './transports';\n\n/**\n * Configuration options for the Sentry Browser SDK.\n * @see BrowserClient for more information.\n */\nexport interface BrowserOptions extends Options {\n /**\n * A pattern for error URLs which should exclusively be sent to Sentry.\n * This is the opposite of {@link Options.denyUrls}.\n * By default, all errors will be sent.\n */\n allowUrls?: Array;\n\n /**\n * A pattern for error URLs which should not be sent to Sentry.\n * To allow certain errors instead, use {@link Options.allowUrls}.\n * By default, all errors will be sent.\n */\n denyUrls?: Array;\n\n /** @deprecated use {@link Options.allowUrls} instead. */\n whitelistUrls?: Array;\n\n /** @deprecated use {@link Options.denyUrls} instead. */\n blacklistUrls?: Array;\n}\n\n/**\n * The Sentry Browser SDK Backend.\n * @hidden\n */\nexport class BrowserBackend extends BaseBackend {\n /**\n * @inheritDoc\n */\n public eventFromException(exception: unknown, hint?: EventHint): PromiseLike {\n return eventFromException(exception, hint, this._options.attachStacktrace);\n }\n /**\n * @inheritDoc\n */\n public eventFromMessage(message: string, level: Severity = Severity.Info, hint?: EventHint): PromiseLike {\n return eventFromMessage(message, level, hint, this._options.attachStacktrace);\n }\n\n /**\n * @inheritDoc\n */\n protected _setupTransport(): Transport {\n if (!this._options.dsn) {\n // We return the noop transport here in case there is no Dsn.\n return super._setupTransport();\n }\n\n const transportOptions: TransportOptions = {\n ...this._options.transportOptions,\n dsn: this._options.dsn,\n tunnel: this._options.tunnel,\n sendClientReports: this._options.sendClientReports,\n _metadata: this._options._metadata,\n };\n\n const api = initAPIDetails(transportOptions.dsn, transportOptions._metadata, transportOptions.tunnel);\n const url = getEnvelopeEndpointWithUrlEncodedAuth(api.dsn, api.tunnel);\n\n if (this._options.transport) {\n return new this._options.transport(transportOptions);\n }\n if (supportsFetch()) {\n const requestOptions: RequestInit = { ...transportOptions.fetchParameters };\n this._newTransport = makeNewFetchTransport({ requestOptions, url });\n return new FetchTransport(transportOptions);\n }\n\n this._newTransport = makeNewXHRTransport({\n url,\n headers: transportOptions.headers,\n });\n return new XHRTransport(transportOptions);\n }\n}\n","import {\n BaseTransportOptions,\n createTransport,\n NewTransport,\n TransportMakeRequestResponse,\n TransportRequest,\n} from '@sentry/core';\n\nimport { FetchImpl, getNativeFetchImplementation } from './utils';\n\nexport interface FetchTransportOptions extends BaseTransportOptions {\n requestOptions?: RequestInit;\n}\n\n/**\n * Creates a Transport that uses the Fetch API to send events to Sentry.\n */\nexport function makeNewFetchTransport(\n options: FetchTransportOptions,\n nativeFetch: FetchImpl = getNativeFetchImplementation(),\n): NewTransport {\n function makeRequest(request: TransportRequest): PromiseLike {\n const requestOptions: RequestInit = {\n body: request.body,\n method: 'POST',\n referrerPolicy: 'origin',\n ...options.requestOptions,\n };\n\n return nativeFetch(options.url, requestOptions).then(response => {\n return response.text().then(body => ({\n body,\n headers: {\n 'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n 'retry-after': response.headers.get('Retry-After'),\n },\n reason: response.statusText,\n statusCode: response.status,\n }));\n });\n }\n\n return createTransport({ bufferSize: options.bufferSize }, makeRequest);\n}\n","import {\n BaseTransportOptions,\n createTransport,\n NewTransport,\n TransportMakeRequestResponse,\n TransportRequest,\n} from '@sentry/core';\nimport { SyncPromise } from '@sentry/utils';\n\n/**\n * The DONE ready state for XmlHttpRequest\n *\n * Defining it here as a constant b/c XMLHttpRequest.DONE is not always defined\n * (e.g. during testing, it is `undefined`)\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/readyState}\n */\nconst XHR_READYSTATE_DONE = 4;\n\nexport interface XHRTransportOptions extends BaseTransportOptions {\n headers?: { [key: string]: string };\n}\n\n/**\n * Creates a Transport that uses the XMLHttpRequest API to send events to Sentry.\n */\nexport function makeNewXHRTransport(options: XHRTransportOptions): NewTransport {\n function makeRequest(request: TransportRequest): PromiseLike {\n return new SyncPromise((resolve, _reject) => {\n const xhr = new XMLHttpRequest();\n\n xhr.onreadystatechange = (): void => {\n if (xhr.readyState === XHR_READYSTATE_DONE) {\n const response = {\n body: xhr.response,\n headers: {\n 'x-sentry-rate-limits': xhr.getResponseHeader('X-Sentry-Rate-Limits'),\n 'retry-after': xhr.getResponseHeader('Retry-After'),\n },\n reason: xhr.statusText,\n statusCode: xhr.status,\n };\n resolve(response);\n }\n };\n\n xhr.open('POST', options.url);\n\n for (const header in options.headers) {\n if (Object.prototype.hasOwnProperty.call(options.headers, header)) {\n xhr.setRequestHeader(header, options.headers[header]);\n }\n }\n\n xhr.send(request.body);\n });\n }\n\n return createTransport({ bufferSize: options.bufferSize }, makeRequest);\n}\n","import { BaseClient, Scope, SDK_VERSION } from '@sentry/core';\nimport { Event, EventHint } from '@sentry/types';\nimport { getGlobalObject, logger } from '@sentry/utils';\n\nimport { BrowserBackend, BrowserOptions } from './backend';\nimport { IS_DEBUG_BUILD } from './flags';\nimport { injectReportDialog, ReportDialogOptions } from './helpers';\nimport { Breadcrumbs } from './integrations';\n\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nexport class BrowserClient extends BaseClient {\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n public constructor(options: BrowserOptions = {}) {\n options._metadata = options._metadata || {};\n options._metadata.sdk = options._metadata.sdk || {\n name: 'sentry.javascript.browser',\n packages: [\n {\n name: 'npm:@sentry/browser',\n version: SDK_VERSION,\n },\n ],\n version: SDK_VERSION,\n };\n\n super(BrowserBackend, options);\n }\n\n /**\n * Show a report dialog to the user to send feedback to a specific event.\n *\n * @param options Set individual options for the dialog\n */\n public showReportDialog(options: ReportDialogOptions = {}): void {\n // doesn't work without a document (React Native)\n const document = getGlobalObject().document;\n if (!document) {\n return;\n }\n\n if (!this._isEnabled()) {\n IS_DEBUG_BUILD && logger.error('Trying to call showReportDialog with Sentry Client disabled');\n return;\n }\n\n injectReportDialog({\n ...options,\n dsn: options.dsn || this.getDsn(),\n });\n }\n\n /**\n * @inheritDoc\n */\n protected _prepareEvent(event: Event, scope?: Scope, hint?: EventHint): PromiseLike {\n event.platform = event.platform || 'javascript';\n return super._prepareEvent(event, scope, hint);\n }\n\n /**\n * @inheritDoc\n */\n protected _sendEvent(event: Event): void {\n const integration = this.getIntegration(Breadcrumbs);\n if (integration) {\n integration.addSentryBreadcrumb(event);\n }\n super._sendEvent(event);\n }\n}\n","import {} from '@sentry/integrations';\nimport * as Sentry from '@sentry/react';\nimport { FeatureAppConfig } from 'src';\nimport { Dependencies } from 'src/feature-app';\n\nconst getOptions = (stage: 'dev' | string): Sentry.BrowserOptions => {\n return {\n dsn: 'https://c72951f5b7c54e769470906bceb05c92@o192159.ingest.sentry.io/6118409',\n integrations: [\n new Sentry.Integrations.InboundFilters(),\n new Sentry.Integrations.FunctionToString(),\n new Sentry.Integrations.TryCatch(),\n new Sentry.Integrations.Breadcrumbs({ console: true, dom: true, fetch: true, history: true, xhr: true }),\n new Sentry.Integrations.GlobalHandlers(),\n new Sentry.Integrations.LinkedErrors(),\n new Sentry.Integrations.Dedupe(),\n new Sentry.Integrations.UserAgent(),\n ],\n tracesSampleRate: 1,\n environment: stage === 'dev' ? 'Stage' : 'Prod',\n release: process.env.VERSION,\n\n beforeSend: (event: Sentry.Event) => {\n // Solo reportamos los errores en producción\n // if (stage === 'dev') {\n // return null;\n // }\n event.exception.values = event.exception.values.map(value => {\n value.mechanism.handled = false;\n return value;\n });\n return event;\n },\n };\n};\n\nlet sentryHub: Sentry.Hub = null;\n\nexport const initSentry = (featureServices: Dependencies, config: FeatureAppConfig) => {\n const stageCustomConfig = featureServices['service-config-provider'].configs?.stage?.customConfig;\n const faContent = featureServices['fa-content-service'].content;\n\n const client = new Sentry.BrowserClient(getOptions(stageCustomConfig?.stage));\n const hub = new Sentry.Hub(client);\n // Sentry.makeMain(hub); // Desactivado ya que provoca que se reporten errores de otros proyectos.\n hub.setContext('Feature App Config', { ...config });\n hub.setContext('Feature App Content', { ...faContent });\n setSentryHub(hub);\n return { hub };\n};\n\nexport const getSentryHub = () => sentryHub;\n\nexport const setSentryTag = (tag:string, value: string) => {\n sentryHub.setTag(tag, value);\n};\n\nconst setSentryHub = (newHub: Sentry.Hub) => {\n sentryHub = newHub;\n};\n","import dayjs from 'dayjs';\nimport { Store } from 'redux';\nimport { getOption, getModelFilter, getWheelsParams } from 'src/bff';\nimport { emptyConfigurationFromVicci } from 'src/feature-app/tracking-objects';\nimport {\n TrackingConfiguration,\n TrackingEventInfo,\n TrackingForm,\n TrackingLink,\n TrackingPartner,\n TrackingProcess,\n} from 'src/feature-app/tracking-types';\nimport { DealersData, FormInfo, OneFormState, Slot, Steps } from 'src/types';\n\nexport const createTrackingLink = (name?: string): TrackingLink | undefined => {\n return {\n url: window ? window.location.href : undefined,\n name: name ? name : undefined,\n };\n};\n\nexport const createPartner = (store: Store, dealerData?: DealersData): TrackingPartner => {\n const { formData, dealersInfo } = store.getState();\n const { dealer } = formData.fields;\n const { selectedDealer } = dealersInfo;\n\n const dealerFromStore = dealer ? dealer : selectedDealer ? selectedDealer : undefined;\n\n const dealerToUse = dealerData ? dealerData : dealerFromStore;\n\n return {\n informationBnr: dealerToUse?.kvps,\n informationDepartment: undefined,\n informationZIP: dealerToUse?.markerInfo?.dealerInfo?.zipCode,\n informationName: dealerToUse?.name,\n };\n};\n\nexport const createPartnerWithSearch = (store: Store, dealerData?: DealersData): TrackingPartner => {\n const { formData, formInfo } = store.getState();\n const basePartner = createPartner(store, dealerData);\n const SearchType = formInfo.suggestionIsDealer\n ? 'DealerSuggestion'\n : !formInfo.suggestionIsDealer\n ? 'GooglePlacesSuggestion'\n : undefined;\n\n return {\n ...basePartner,\n SearchSearchTerm: formData.fields.location,\n SearchType,\n SearchNumberOfResults: undefined,\n };\n};\n\nconst getStepNumber = (formInfo: FormInfo) => {\n const { step } = formInfo;\n\n if (!step) return undefined;\n\n return String(step.screenIndex + 1);\n};\n\nconst getStepName = (formInfo: FormInfo, processInfo?: TrackingProcess): string | undefined => {\n if (processInfo) return processInfo.StepName;\n\n const { step, multiStepScreenIndex, multiSteps } = formInfo;\n\n if (!step) {\n return undefined;\n }\n if (step.multiStep && multiStepScreenIndex >= 0) {\n return multiSteps && multiSteps[multiStepScreenIndex].name ? multiSteps[multiStepScreenIndex].name : undefined;\n } // Devolvemos el nombre del step dentro del multsitep.\n\n\n if(formInfo.formSubmitted) return 'ThankYou';\n\n return step.name ? step.name : undefined;\n};\n\nexport const createTrackingProcess = (store: Store, processInfo?: TrackingProcess): TrackingProcess => {\n const { formInfo } = store.getState();\n\n let StepName = getStepName(formInfo, processInfo);\n let StepNumber = getStepNumber(formInfo);\n\n return {\n StepName,\n StepNumber,\n };\n};\n\nexport const getFormAppointments = (store: Store): TrackingForm => {\n const { formData } = store.getState();\n const { slot }: { slot?: Slot } = formData.fields;\n\n let Appointments;\n let NumberOfAppointments;\n\n if (slot) {\n Appointments = [dayjs(slot.from).utc().format('YYYY-MM-DDTHH:mm:ss[Z]')];\n NumberOfAppointments = 1;\n }\n return {\n Appointments,\n NumberOfAppointments,\n };\n};\n\nexport const getMarketingConsent = (store: Store): TrackingForm => {\n const { formData } = store.getState();\n const { lssi, tmk } = formData.fields;\n\n if (!lssi || !tmk) {\n return {\n MarketingConsent: [],\n };\n }\n\n return {\n MarketingConsent: [\n {\n comunicaciones: lssi === 'PERMITE',\n perfilado: tmk === 'PERMITE',\n },\n ],\n };\n};\n\nexport const getBaseEventInfo = (store: Store, brand: 'V' | 'N'): TrackingEventInfo => {\n const { pageCategory } = store.getState().formData.fields;\n\n const baseEventInfo: TrackingEventInfo = {\n brand: brand === 'N' ? 'commercial' : 'passenger',\n pageCategory,\n sectionName: undefined,\n templateType: 'Feature App Template',\n };\n return baseEventInfo;\n};\n\nexport const getCompleteConfigurationFromVicci = (vicciData: VicciData): TrackingConfiguration => {\n if (!vicciData) return emptyConfigurationFromVicci;\n\n const { vehicleConfiguration } = vicciData.consolidatedData;\n const { COD_VEH_WHEELS, DESC_VEH_WHEELS } = getWheelsParams(vicciData.featuresData.vehicleCatalogue.features);\n return {\n ...emptyConfigurationFromVicci,\n ModelId: vehicleConfiguration.modelKey.split('$')[0],\n ModelModelVersion: vehicleConfiguration.modelVersion,\n ModelName: vehicleConfiguration.modelName,\n ModelYear: vehicleConfiguration.modelYear,\n ExteriorColorCode: vehicleConfiguration.exterior?.code,\n ExteriorColorName: vehicleConfiguration.exterior?.name,\n InteriorColorCode: vehicleConfiguration.interior?.code,\n InteriorColorName: vehicleConfiguration.interior?.name,\n WheelsBasicId: COD_VEH_WHEELS,\n WheelsBasicName: DESC_VEH_WHEELS,\n };\n};\n\nexport const getCarlineConfigurationFromMkc = (marketingCode: any): TrackingConfiguration => {\n if (!marketingCode) return {};\n\n const salesgroup = getOption(\"SALESGROUP\",marketingCode.content.consolidatedData.options);\n const modelyear = getOption(\"MODELYEAR\",marketingCode.content.consolidatedData.options);\n const type = getOption(\"TYPE\",marketingCode.content.consolidatedData.options);\n const baseType = getOption(\"BASETYPE\",marketingCode.content.consolidatedData.options);\n\n const equipmentLine = getModelFilter(\"EquipmentLine\",marketingCode.content.consolidatedData.meta.modelFilter);\n\n return {\n CarlineId: marketingCode.content.consolidatedData.model_code.split(\"_\")[1],\n CarlineName: marketingCode.content.consolidatedData.model_description,\n SalesgroupId: salesgroup.option.code.replace('SALESGROUP:',''),\n SalesgroupName: salesgroup.option.description,\n EquipmentlineName: equipmentLine.modelFilter.text,\n ModelId: baseType.option.code.replace('BASETYPE:',''),\n ModelName: type.option.description,\n ModelYear: modelyear.option.code.replace('MODELYEAR:',''),\n };\n};\n\nexport const getCarlineConfiguration = (store: Store): TrackingConfiguration => {\n const { dealersInfo, formData } = store.getState();\n const { selectedCarline, oferta, salesGroup, match } = dealersInfo;\n const { vicciData, matchMarketingCodeData, marketingCodeResponse } = formData.fields;\n\n if (marketingCodeResponse) {\n return getCarlineConfigurationFromMkc(marketingCodeResponse);\n }\n\n let configuration: TrackingConfiguration = {};\n if (selectedCarline) {\n configuration = {\n CarlineId: String(selectedCarline.code),\n CarlineName: selectedCarline.title,\n };\n }\n if (oferta) {\n configuration = {\n ...configuration,\n CarlineId: String(oferta.carline.code),\n CarlineName: oferta.carline.title,\n };\n }\n if (salesGroup) {\n configuration = {\n ...configuration,\n SalesgroupId: salesGroup.salesGroupId,\n SalesgroupName: salesGroup.salesGroupName,\n };\n }\n\n if (match && matchMarketingCodeData) {\n configuration = {\n ...configuration\n };\n }\n return configuration;\n};\n","import { TrackingConfiguration, TrackingOwnership, TrackingPersonalization, TrackingUser } from './tracking-types';\n\nexport const emptyPersonalization: TrackingPersonalization = {\n status: false,\n moduleId: undefined,\n placeholderId: undefined,\n contentId: undefined,\n activityId: undefined,\n personalizable: undefined,\n activityName: undefined,\n experienceId: undefined,\n experienceName: undefined,\n offerId: undefined,\n offerName: undefined,\n};\n\nexport const emptyPriceConfiguration: TrackingConfiguration = {\n PriceType: 'price',\n PriceTypeParameter: undefined,\n PriceRateCurrency: undefined,\n PriceRateBasic: undefined,\n PriceRateAdditional: undefined,\n PriceRateTotal: undefined,\n PriceRateType: undefined,\n PriceTotalCurrency: undefined,\n PriceTotalBasic: undefined,\n PriceTotalAdditional: undefined,\n PriceTotalTotal: undefined,\n};\n\nexport const emptyCarlineConfig: TrackingConfiguration = {\n SalesgroupId: undefined,\n SalesgroupName: undefined,\n EquipmentlineName: undefined,\n CarlineId: undefined,\n CarlineName: undefined,\n};\n\nexport const emptyLatLongZip: TrackingUser = {\n locationLatitude: undefined,\n locationLongitude: undefined,\n locationZIP: undefined,\n};\n\nexport const emptyConfig = { ...emptyPriceConfiguration, ...emptyCarlineConfig };\n\nexport const emptyOwnership: TrackingOwnership = {\n vehicle: undefined,\n};\n\nexport const emptyConfigurationFromVicci = {\n CarlineIsRecommendation: undefined,\n SalesgroupIsRecommendation: undefined,\n BodyTypeName: undefined,\n PriceTotalTotal: undefined,\n ModelId: undefined,\n ModelTrimFeatures: undefined,\n ModelModelVersion: undefined,\n ModelIsRecommendation: undefined,\n ModelName: undefined,\n ModelDriveType: undefined,\n ModelGearType: undefined,\n ModelYear: undefined,\n EnginePowerHPKW: undefined,\n EngineFuelTypePrimary: undefined,\n EngineFuelTypeNonPrimary: undefined,\n ConsumptionCombinedPrimary: undefined,\n ConsumptionCombinedNonPrimary: undefined,\n EmissionConsumptionEfficiencyClass: undefined,\n EmissionConsumptionTestingMethod: undefined,\n ExteriorColorCode: undefined,\n ExteriorColorName: undefined,\n ExteriorColorIsRecommendation: undefined,\n InteriorColorCode: undefined,\n InteriorColorName: undefined,\n InteriorColorIsRecommendation: undefined,\n WheelsBasicId: undefined,\n WheelsBasicName: undefined,\n WheelsBasicIsRecommendation: undefined,\n PriceCurrency: undefined,\n PriceBasis: undefined,\n PriceExterior: undefined,\n PriceOptions: undefined,\n PriceTotalConfiguration: undefined,\n PriceCampaignID: undefined,\n PriceCampaignDescription: undefined,\n PriceCampaignValue: undefined,\n PriceCustomerType: undefined,\n OptionsNumber: undefined,\n OptionsList: undefined,\n};\n","import {\n\tLayout,\n\tBreakpoints,\n\tContainer,\n\tText,\n\tImage,\n\tTextAlignment,\n\tTokenTextAppearance,\n\tCTA,\n\tContainerGutter,\n\tstyled,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport { ActionType } from './AutosubmitController';\n\nconst ThankYouAutosubmitWrapper = styled.div`\n\tposition: relative;\n\tleft: 0;\n\tmargin-left: calc(var(--size-grid004) * -1);\n\tmargin-right: calc(var(--size-grid004) * -1);\n\n\t& > div > div > div > div > div:first-child {\n\t\twidth: 70%;\n\t}\n\n\t& img {\n\t\tobject-fit: cover;\n\t\theight: 80vh;\n\t}\n\n\t@media (max-width: 959px) {\n\t\t& > div > div > div > div > div:first-child {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t& img {\n\t\t\theight: auto;\n\t\t}\n\t}\n\n\t@media (max-width: 559px) {\n\t\tmargin-left: calc(var(--size-grid002) * -1);\n\t\tmargin-right: calc(var(--size-grid002) * -1);\n\t}\n`;\n\ninterface Props {\n\taction: string;\n}\n\nexport const ThankYouAutosubmit = (props: Props) => {\n\tconst { action } = props;\n\tconst { formInfo } = useSelector((state: OneFormState) => state);\n\tconst { formResponse } = formInfo;\n\n\tconst trackingManager = useTrackingManager();\n\tconst dispatch = useDispatch();\n\n\tuseEffect(() => {\n\t\tdispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\t\tdispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: 0, name: 'ThankYou' } } });\n\n\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t{\n\t\t\t\tcontentId: undefined,\n\t\t\t},\n\t\t\tgetTrackingForm(formResponse),\n\t\t);\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\n\t\t\t\t\t{action == ActionType.ClubVWUnsubscribeEmail ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tHemos procesado tu solicitud de baja con éxito.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tSi necesitas más información, no dudes en contactar con nosotros. ¡Hasta pronto!\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tGenial, ¡gracias!\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tA partir de ahora te informaremos de todas las novedades para que no te pierdas nada sobre nuestros 100%\n\t\t\t\t\t\t\t\teléctricos, la Gama ID. ¡Disfruta de un presente electrizante!\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tDescubre más sobre nuestros eléctricos\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { createPincodeEntity } from '../dps-utils';\nimport { dpsSend, oneformBFFNdpsSend } from 'src/bff';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { formDataBuilder, formatHeaders } from '../format-fields';\nimport { GenericErrorLayer, LoadingEncuestas } from 'src/components';\nimport {\n\tgetParamsForm,\n\tuseFeatureServices,\n\tremoveWhiteSpace,\n\tuseNavigate,\n\tuseTrackingManager,\n\tgetTrackingForm,\n} from 'src/feature-app';\nimport { FormDataGroup, IdPerson, OneFormState } from 'src/types';\nimport { useDispatch, useStore } from 'react-redux';\nimport { TestIDForm } from '../FormsAdhoc/TestID2023/TestIDForm';\nimport { PlanIdealForm } from '../FormsAdhoc/2023PlanIdeal/PlanIdealForm';\nimport { ThankYouAutosubmit } from './ThankYouAutosubmit';\n\nexport enum ActionType {\n\tClubVWUnsubscribeEmail = 'clubvw-unsubscribe-email',\n\tNewsletterElectricos = 'newsletter-electricos',\n\tNewsletterElectricosAdhoc2023TestID = 'newsletter-electricos-adhoc-2023-test_id',\n\tNewsletterElectricosAdhoc2023PlanIdeal = 'newsletter-electricos-adhoc-2023-plan_ideal',\n}\n\ninterface AutosubmitControllerProps {\n\taction: string;\n}\n\nexport function AutosubmitController({ action }: AutosubmitControllerProps): JSX.Element | null {\n\tconst [loading, setLoading] = useState(true);\n\tconst [error, setError] = useState(false);\n\tconst [showThankYou, setShowThankYou] = useState(false);\n\tconst [renderTestID, setRenderTestID] = useState(false);\n\tconst [renderPlanIdeal, setRenderPlanIdeal] = useState(false);\n\n\tconst dpsDataRef = useRef(null);\n\tconst idPersonRef = useRef(null);\n\tconst oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n\tconst trackingManager = useTrackingManager();\n\tconst dispatch = useDispatch();\n\tconst { navigateTo } = useNavigate();\n\tconst store = useStore();\n\tconst { formData }: OneFormState = store.getState();\n\n\tlet initialData: Partial = {};\n\n\tif (action == ActionType.ClubVWUnsubscribeEmail) {\n\t\tinitialData = {\n\t\t\theaders: {\n\t\t\t\tDPS_TOKEN: 'VW_DDB_CLUB_UNSUSCRIBE_EMAIL',\n\t\t\t\tFORM_OBJECTIVE: 'Club Volkswagen',\n\t\t\t\tFORM_NAME: 'vw-oneform-' + action + '-autosubmit',\n\t\t\t},\n\t\t\tfields: {\n\t\t\t\tformName: action + '-autosubmit',\n\t\t\t\tformType: 'newsletter',\n\t\t\t\tpageCategory: 'Club Volkswagen',\n\t\t\t},\n\t\t};\n\t} else {\n\t\tinitialData = {\n\t\t\theaders: {\n\t\t\t\tDESC_BRAND: 'VW',\n\t\t\t\tDESC_GDPR_ADAPTED: 'true',\n\t\t\t\tDESC_TOKEN: 'VW_DDB_FRM_NEWSLETTER_ELECTRICOS',\n\t\t\t\tDESC_FORMOBJECTIVE: 'Suscripción Newsletter',\n\t\t\t\tCOD_FORM_ID: 'vw-oneform-' + action + '-autosubmit',\n\t\t\t},\n\t\t\tfields: {\n\t\t\t\tformName: action + '-autosubmit',\n\t\t\t\tformType: 'newsletter',\n\t\t\t\tpageCategory: 'Suscripción Newsletter',\n\t\t\t},\n\t\t};\n\t}\n\n\tdispatch({ type: 'UPDATE_FORM', payload: { ...initialData } });\n\n\tconst sendNewsletterElectricosForm = (): Promise => {\n\t\tconst idPerson: IdPerson = idPersonRef.current;\n\n\t\tconst { fields } = formData;\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst { tc, today, url, device } = getParamsForm();\n\n\t\t\tconst data = {\n\t\t\t\t...formatHeaders(initialData.headers),\n\t\t\t\t'headers[DESC_URLORIGIN]': url,\n\t\t\t\t'headers[DESC_CAMPAIGNBLOCK]': '4. VW Newsletter',\n\t\t\t\t'headers[DESC_DEVICETYPE]': device,\n\t\t\t\t'headers[DESC_ID_CAMPAIGN]': '7011n000000SLXMAA4',\n\t\t\t\t'headers[FECHA_INSERTION_DATE]': today,\n\t\t\t\t'headers[TC]': tc,\n\t\t\t\t'headers[DESC_VN_VO]': 'VN',\n\n\t\t\t\t'fields[DESC_NAME]': idPerson?.FirstName ? idPerson.FirstName : null,\n\t\t\t\t'fields[DESC_SURNAME_1]': idPerson?.LastName ? idPerson.LastName : null,\n\n\t\t\t\t'fields[DESC_FORM_VERSION]': `vw-oneform-${initialData.fields.formName}-${process.env.VERSION}`,\n\t\t\t\t'fields[DESC_EMAIL_ADDRESS]':\n\t\t\t\t\tidPerson && idPerson.TXT_Email__c ? idPerson.TXT_Email__c : removeWhiteSpace(fields.email),\n\t\t\t\t'fields[DESC_LOPD]': 'NO INFORMADO',\n\t\t\t\t'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n\t\t\t\t'fields[DESC_LOPD_GDPR_PERFILADO]': 'NO INFORMADO',\n\t\t\t\t'fields[DESC_LSSI]': 'NO INFORMADO',\n\t\t\t};\n\t\t\tconst dataStringified = JSON.stringify(data);\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tconst response = await dpsSend(formData);\n\n\t\t\tif (response && response.data?.content?.code == '200') {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t\t\t{\n\t\t\t\t\t\tcontentId: undefined,\n\t\t\t\t\t},\n\t\t\t\t\tgetTrackingForm(response),\n\t\t\t\t);\n\t\t\t\tsetLoading(false);\n\t\t\t\tswitch (action) {\n\t\t\t\t\tcase ActionType.NewsletterElectricos:\n\t\t\t\t\t\tnavigateTo('inscripcion-newsletter-electricos');\n\t\t\t\t\t\t//setShowThankYou(true);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ActionType.NewsletterElectricosAdhoc2023TestID: // Render de form Test ID como continuación\n\t\t\t\t\t\tsetRenderTestID(true);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase ActionType.NewsletterElectricosAdhoc2023PlanIdeal: // Render de Plan Ideal como continuación\n\t\t\t\t\t\tsetRenderPlanIdeal(true);\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\thandleError();\n\t\t\t}\n\t\t});\n\t};\n\n\tconst sendClubVWUnsubscribeForm = (): Promise => {\n\t\tconst idPerson: IdPerson = idPersonRef.current;\n\t\tconst dpsData: DpsData = dpsDataRef.current;\n\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst { tc, today, url, device } = getParamsForm();\n\n\t\t\tconst data = {\n\t\t\t\t...formatHeaders(initialData.headers),\n\t\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t\t'headers[FORM_DETAILS]': 'Unsubscribe Email',\n\t\t\t\t'headers[FORM_URL]': url,\n\t\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\t\t\t\t'headers[SF_CAMPAIGN_ID]': 'PENDIENTE',\n\t\t\t\t'headers[SF_CAMPAIGN_NAME]': 'PENDIENTE',\n\t\t\t\t//'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\t\t\t\t'headers[FK_SYSTEM]': idPerson && idPerson.Id ? idPerson.Id : '',\n\n\t\t\t\t'fields[DPS_BRAND]': 'Volkswagen',\n\t\t\t\t'fields[PERSON_NAME]': idPerson && idPerson.FirstName ? idPerson.FirstName : '',\n\t\t\t\t'fields[PERSON_SURNAME_1]': idPerson && idPerson.LastName ? idPerson.LastName : '',\n\t\t\t\t'fields[PERSON_SURNAME_2]': idPerson && idPerson.MiddleName ? idPerson.MiddleName : '',\n\t\t\t\t'fields[PERSON_EMAIL]': idPerson && idPerson.PersonEmail ? idPerson.PersonEmail : '',\n\t\t\t\t'fields[PERSON_PHONE_MOBILE]': idPerson && idPerson.PersonMobilePhone ? idPerson.PersonMobilePhone : '',\n\n\t\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': 'NO INFORMADO',\n\t\t\t\t'fields[PERSON_RGPD_PERFILADO]': 'NO INFORMADO',\n\n\t\t\t\t'flags[PERSON_RGPD_ADAPTED]': 'true',\n\t\t\t};\n\t\t\tconst dataStringified = JSON.stringify(data);\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tconst response = await oneformBFFNdpsSend(formData);\n\n\t\t\tif (response && response.data?.status?.code == 200) {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t\t\t{\n\t\t\t\t\t\tcontentId: undefined,\n\t\t\t\t\t},\n\t\t\t\t\tgetTrackingForm(response),\n\t\t\t\t);\n\t\t\t\tsetLoading(false);\n\t\t\t\tnavigateTo('clubvw-unsubscribe-email-thankyou');\n\t\t\t\t//setShowThankYou(true);\n\t\t\t} else {\n\t\t\t\thandleError();\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst handleComplete = () => {\n\t\tconst dpsData = oneFormService.getDpsData();\n\t\tconst idPerson = createPincodeEntity(dpsData, 'PERSON');\n\t\ttrackingManager.trackFormLayerLoad();\n\t\tdpsDataRef.current = dpsData;\n\t\tidPersonRef.current = idPerson;\n\n\t\tif (action == ActionType.ClubVWUnsubscribeEmail) {\n\t\t\tif (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n\t\t\t\thandleError();\n\t\t\t} else if (dpsData.pincode.pincodeUsed) {\n\t\t\t\thandleError();\n\t\t\t} else {\n\t\t\t\tsendClubVWUnsubscribeForm();\n\t\t\t}\n\t\t} else if (action == ActionType.NewsletterElectricos) {\n\t\t\tif (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n\t\t\t\thandleError();\n\t\t\t} else if (dpsData.pincode.pincodeUsed) {\n\t\t\t\thandleError();\n\t\t\t} else {\n\t\t\t\tsendNewsletterElectricosForm();\n\t\t\t}\n\t\t} else {\n\t\t\tsendNewsletterElectricosForm(); // Presubmit para mostrar forms adhoc\n\t\t\tsetLoading(false);\n\t\t}\n\t};\n\n\tconst handleError = () => {\n\t\tsetError(true);\n\t\tsetLoading(false);\n\t};\n\n\tuseEffect(() => {\n\t\tconst oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n\t\toneFormCoreDpsIsLoaded.subscribe({\n\t\t\tnext(value) {},\n\t\t\terror(err) {\n\t\t\t\tconsole.error(err);\n\t\t\t\thandleError();\n\t\t\t},\n\t\t\tcomplete() {\n\t\t\t\thandleComplete();\n\t\t\t},\n\t\t});\n\t}, []);\n\n\tif (loading) {\n\t\treturn ;\n\t} else if (error) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\n\t\t);\n\t} else if (showThankYou) {\n\t\treturn ;\n\t} else if (renderTestID) {\n\t\tconst idPerson: IdPerson = idPersonRef.current;\n\n\t\treturn ;\n\t} else if (renderPlanIdeal) {\n\t\tconst idPerson: IdPerson = idPersonRef.current;\n\n\t\treturn ;\n\t}\n\treturn null;\n}\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { FormController, useOneFormContext, removeWhiteSpace } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ThankYouBaja, BajaComunicacionesFields } from '.';\nimport { formDataBuilder, formatHeaders } from '../format-fields';\nimport { IdPerson } from 'src/types';\nimport { DpsData } from 'src/feature-service/es-oneform-core-feature-service/types';\n\ninterface BajaComunicacionesProps {\n idPerson: IdPerson;\n dpsData: DpsData;\n}\n\nexport const BajaComunicacionesForm = (props: BajaComunicacionesProps) => {\n const { initializeForm } = useOneFormContext();\n const { idPerson, dpsData } = props;\n const store = useStore();\n const dispatch = useDispatch();\n\n const steps: Steps[] = [\n {\n title: <>, // El title se renderiza en los fields al ser un form de un solo step con un diseño que incluye un stage.\n fields: } />,\n screenIndex: 0,\n name: 'Form',\n },\n ];\n\n let NuevoFormData: Partial = {\n headers: {\n DPS_TOKEN: 'VW_DDB_FRM_BAJA_COMUNICACIONES',\n FORM_OBJECTIVE: 'Baja Comunicaciones',\n FORM_NAME: 'vw-oneform-baja-comunicaciones',\n },\n fields: {\n formName: 'baja-comunicaciones',\n formType: 'otherform',\n pageCategory: 'Baja Comunicaciones',\n }// Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { headers, fields, flags } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n ...formatHeaders(headers),\n 'headers[FORM_REFERER]': url,\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[FORM_VERSION]': `vw-oneform-baja-comunicaciones-${process.env.VERSION}`,\n 'headers[FK_SYSTEM]': idPerson && idPerson.Id ? idPerson.Id : '',\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[PERSON_EMAIL]': idPerson && idPerson.PersonEmail ? idPerson.PersonEmail : removeWhiteSpace(fields.email),\n 'fields[PERSON_UNSUBSCRIBE_REASON]': fields.motivoBaja,\n 'fields[COMMENTS_PERSON]': fields.masInformacion,\n 'fields[PERSON_NAME]' : idPerson && idPerson.FirstName ? idPerson.FirstName : fields.name,\n 'fields[PERSON_SURNAME_1]' : idPerson && idPerson.LastName ? idPerson.LastName : fields.surname,\n 'fields[PERSON_SURNAME_2]' : idPerson && idPerson.MiddleName ? idPerson.MiddleName : fields.secondSurname,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': 'NO PERMITE',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\n 'flags[PERSON_RGPD_ADAPTED]': 'true',\n 'flags[FLAG_RELACION_MARCA_SIN_IC]': 'true',\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData);\n\n if (response?.data?.status?.code == 200) {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'main',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n notALayer: true,\n formType: 'inPage',\n alingItemsCenter: true,\n thankYouComponent: ,\n };\n initializeForm(NuevoFormInfo, NuevoFormData);\n }, []);\n\n return !steps ? null : ;\n};\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThankYouBaja = () => {\n const {formResponse} = useSelector((state: OneFormState) => state.formInfo);\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formResponse?.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: (\n \n ),\n };\n return (\n \n );\n};\n","import {\n styled,\n Container,\n ContainerPadding,\n CTA,\n Text,\n ContainerGutter,\n BreakpointWrapper,\n Breakpoints,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\n\nimport {\n InputError,\n PoliticaPrivacidad,\n Email,\n MultipleCTASelection,\n TextAreaExtended,\n KoScreen,\n LoadingScreen,\n Nombre,\n Apellido,\n} from 'src/components';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { useFormContext } from 'react-hook-form';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { OneFormState, IdPerson } from 'src/types';\n\nconst TextAreaWrapper = styled.div`\n label {\n width: 100%;\n }\n`;\n\nconst PaddingWrapper = styled.div`\n`;\n\nconst NameLastNameWrapper = styled.div`\n padding-bottom: 2px;\n gap: 20px;\n display: flex;\n flex-direction: column;\n @media all and (min-width: 960px) {\n flex-direction: row;\n gap: 32px;\n }\n & > div {\n\tpadding: 10px 0;\n }\n`;\n\nconst MotivoBaja = () => {\n const { getValues } = useFormContext();\n const { motivoBaja } = getValues();\n\n const motivosOptions = [\n {\n label: 'Ya no me interesa el contenido',\n value: 'No me interesa el contenido'\n },\n {\n label: 'Recibo demasiadas comunicaciones vuestras',\n value: 'Recibo demasiadas comunicaciones'\n },\n {\n label: 'Tengo otras razones',\n value: 'Otras razones'\n },\n ];\n\n return (\n <>\n \n \n );\n};\n\ninterface BajaComunicacionesProps {\n idPerson?: IdPerson;\n}\n\nexport const BajaComunicacionesFields = (props: BajaComunicacionesProps) => {\n const { idPerson } = props;\n const [emailError, setEmailError] = useState(false);\n const [motivoError, setMotivoError] = useState(false);\n const [ masInfoValue, setMasInfoValue ] = useState(null);\n const [ nameError, setNameError ] = useState(false);\n\n return (\n
\n \n \n {\n idPerson && idPerson.FirstName && idPerson.LastName && idPerson.PersonEmail ? (\n <>\n \n ¿Por qué quieres dar de baja el email {idPerson.PersonEmail}?\n \n \n \n Nos da pena decirte adiós tan pronto. Por eso, antes de darte de baja, nos encantaría entender por qué te\n vas para mejorar la próxima vez.\n \n \n \n ) : (\n <>\n \n ¿Seguro que quieres darte de baja?\n \n \n \n Nos da pena decirte adiós tan pronto. Por eso, antes de darte de baja, nos encantaría entender por qué te\n vas para mejorar la próxima vez.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n }\n />\n \n )\n }\n\n }\n />\n \n {\n setMasInfoValue(e.currentTarget.value);\n }}\n />\n \n }\n />\n \n \n \n
\n );\n};\n\ninterface FieldProps {\n question?: string;\n input: JSX.Element;\n isRequired?: boolean;\n emailError?: boolean;\n motivoError?: boolean;\n}\nconst Field = (props: FieldProps) => {\n const { question, input, isRequired, emailError, motivoError } = props;\n\n return (\n \n {\n question ? (\n \n {question} {isRequired ? * : null}\n \n ) : null\n }\n \n {input}\n {emailError || motivoError ? Necesitamos esta información para seguir : null}\n \n );\n};\n\ninterface lastNavigationsProps {\n setEmailError: (value: boolean) => void;\n setMotivoError: (value: boolean) => void;\n setNameError: (value: boolean) => void;\n masInfoValue?: null | string;\n idPerson?: IdPerson;\n}\n\nfunction LastNavigation(props: lastNavigationsProps) {\n const { setEmailError, setMotivoError, masInfoValue, idPerson, setNameError } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { getValues, triggerValidation } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const { formData } = useSelector((state: OneFormState) => state);\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n const NoCompraTitle = 'Uy, algo ha pasado';\n const NoCompraBody = 'Por alguna razón no hemos podido enviar tu petición. ¿Lo intentamos de nuevo?';\n\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n\n\n async function handleConfirmarCita(e: any) {\n\n //activar o desactivar mensajes de error\n const values = await getValues();\n\n if( idPerson && idPerson.PersonEmail ) {\n setEmailError(false);\n } else if (values.email) {\n setEmailError(false);\n } else {\n setEmailError(true);\n }\n\n if( idPerson && idPerson.FirstName && idPerson.LastName) {\n setNameError(false);\n } else if ( values.name && values.surname ) {\n setNameError(false);\n } else {\n setNameError(true);\n }\n\n if (values.motivoBaja) {\n setMotivoError(false);\n } else {\n setMotivoError(true);\n }\n\n trackingManager.trackFormCTAClick({\n contentId: 'Confirmar la baja',\n });\n\n const isValid = await triggerValidation();\n\n if (isValid) {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'email': idPerson && idPerson.PersonEmail ? idPerson.PersonEmail : values.email } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'motivoBaja': values.motivoBaja } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'masInformacion': masInfoValue }});\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'name': idPerson && idPerson.FirstName ? idPerson.FirstName : values.name }});\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'surname': idPerson && idPerson.LastName ? idPerson.LastName : values.surname }});\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'secondSurname': idPerson && idPerson.MiddleName ? idPerson.MiddleName : values.secondSurname }});\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n <>\n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent={window.innerWidth <= 560}\n >\n Confirmar la baja\n \n \n );\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useFeatureServices } from 'src/feature-app';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { IdPerson } from 'src/types';\nimport { BajaComunicacionesForm } from '.';\nimport { createPincodeEntity } from '../dps-utils';\nimport { LoadingEncuestas } from 'src/components';\n\nexport interface BajaComunicacionesProps {\n idPerson: IdPerson;\n handleError: () => void;\n}\n\nexport function BajaComunicacionesController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n\n const dpsDataRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const handleNext = (value: any) => { };\n\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n dpsDataRef.current = dpsData;\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n setLoading(false);\n } else if (dpsData.pincode.pincodeUsed) {\n setLoading(false);\n } else {\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n idPersonRef.current = idPerson;\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n\t\treturn null;\n\t} else {\n return (\n \n );\n }\n}\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n CTA,\n Spinner,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { Alert } from 'src/icons-core-imports';\n\nimport { CloseHandleV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState, useCallback } from 'react';\n\nconst Content = styled.div`\n background-color: #ffffff;\n padding: 44px 31px;\n flex: auto;\n text-align: center;\n width: 100%;\n @media screen and (min-width: 560px) {\n padding: 52px 46px;\n }\n @media screen and (min-width: 960px) {\n padding: var(--size-grid001);\n }\n`;\n\ninterface loadingSreenProps {\n isleads?: boolean;\n copy?: string;\n}\n\nexport function LoadingScreen(props: loadingSreenProps) {\n return (\n \n \n {props.copy ? {props.copy} : Enviando tu petición}\n \n );\n}\n\ninterface KoScreenProps {\n retrySubmit: (e: any) => void;\n closeLayerCallback?: CloseHandleV2;\n title?:string;\n bodyCopy?:string;\n isLEM?: boolean;\n hideSecondCTA?: boolean;\n}\n\nexport function KoScreen(props: KoScreenProps) {\n const { retrySubmit, closeLayerCallback, title, bodyCopy, isLEM, hideSecondCTA } = props;\n\n return (\n \n \n
\n \n
\n \n {title? title : 'Uy, algo ha pasado'}\n \n \n \n {bodyCopy? bodyCopy : 'Por alguna razón no hemos podido recoger tus datos. ¿Lo intentamos de nuevo?'}\n \n \n \n \n {\n e.preventDefault();\n retrySubmit(e);\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Reintentar\n \n { hideSecondCTA ? null :\n isLEM ? (\n \n Ir a la web\n \n ) : (\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n stretchContent\n >\n Seguir navegando\n \n )\n }\n \n \n \n \n {\n e.preventDefault();\n retrySubmit(e);\n closeLayerCallback({}, {}, {});\n }}\n >\n Reintentar\n \n { hideSecondCTA ? null :\n isLEM ? (\n \n Ir a la web\n \n ) : (\n {\n e.preventDefault();\n closeLayerCallback({}, {}, {});\n }}\n >\n Seguir navegando\n \n )\n }\n \n \n \n \n \n
\n );\n}\n","import {\n Breakpoints,\n BreakpointWrapper,\n CTA,\n styled,\n Layout,\n} from '@volkswagen-onehub/components-core';\nimport { LegalesFormatoLayer, LssiTkmQuestions, PoliticaPrivacidad } from 'src/components';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { connect, useDispatch, useStore } from 'react-redux';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport { KoScreen, LoadingScreen } from './ConfirmarCallMeLayer';\n\nconst GeneralconfirmacionWrapper = styled.div`\n padding: 72px 0 44px;\n @media all and (min-width: 960px) {\n padding: 86px 0 0;\n }\n`;\n\nfunction ConfirmacionCallMeOferta() {\n const dispatch = useDispatch();\n\n const [lssi, setLssi] = useState(null);\n const [tmk, setTmk] = useState(null);\n const [lssiError, setLssiError] = useState(false);\n const [tmkError, setTmkError] = useState(false);\n\n useEffect(() => {\n if (lssi) {\n const values = { lssi: lssi };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setLssiError(false);\n }\n if (tmk) {\n const values = { tmk: tmk };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setTmkError(false);\n }\n }, [lssi, tmk]);\n\n return (\n \n \n \n \n\n
\n \n
\n \n \n
\n );\n}\n\ninterface LastNavigationProps {\n tmk?: string;\n lssi?: string;\n setTmkError?: React.Dispatch>;\n setLssiError?: React.Dispatch>;\n}\n\nfunction LastNavigation(props: LastNavigationProps) {\n const { tmk, lssi, setTmkError, setLssiError } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { triggerValidation } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n // 1. check de lssi y tmk\n // 2. submit de la cita y activación la pantalla de feedback correspondiente\n // no se hace ninguna validación en este último paso porque esta ya se ha hecho en el edit-guardar de cada campo previamente\n async function handleConfirmarCallMe(e: any) {\n if (tmk === null && tmk === null) {\n setTmkError(true);\n setLssiError(true);\n } else if (tmk === null) {\n setTmkError(true);\n } else if (lssi === null) {\n setLssiError(true);\n } else {\n\n const isValid = await triggerValidation();\n\n if (!isValid) return;\n\n trackingManager.trackFormCTAClick({\n contentId: 'Enviar',\n });\n\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n <>\n \n {\n e.preventDefault();\n handleConfirmarCallMe(e);\n }}\n stretchContent\n >\n Enviar\n \n \n \n {\n e.preventDefault();\n handleConfirmarCallMe(e);\n }}\n >\n Enviar\n \n \n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formInfo: state.formInfo,\n formData: state.formData,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ConfirmacionCallMeOferta);\n\nexport { ConnectedComponent as ConfirmacionCallMeOferta };\n","import Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect } from 'react';\nimport {\n Text,\n Container,\n ContainerPadding,\n ContainerGutter,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { TwoElementsTemplate } from 'src/feature-app/Screen';\nimport { ConfirmacionCallMeOferta } from './ConfirmacionCallMeOferta';\nimport { Nombre, Telefono } from 'src/components';\nimport { useDispatch, useStore } from 'react-redux';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps, MolecularResponse } from 'src/types';\nimport { FormController, useFaContent, useFeatureAppConfig, useOneFormContext } from 'src/feature-app';\nimport { ThankYouCallMeOferta } from '.';\nimport { useGetBrand } from 'src/feature-app/hooks';\n\nexport enum CallMeOfertaSteps {\n NombreTelefono,\n Confirmacion,\n}\n\nexport function CallMeOfertaForm() {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const faContent = useFaContent();\n const brand = useGetBrand();\n\n const steps: Steps[] = [\n {\n title: (\n \n \n Para llamarte, necesitamos tus datos de contacto\n \n \n Nos pondremos en contacto contigo de lunes a viernes de 9:00 h a 19:30 h (excepto\n festivos nacionales) para darte más información.\n \n \n ),\n fields: (\n \n \n }\n secondElement={}\n />\n \n ),\n screenIndex: CallMeOfertaSteps.NombreTelefono,\n name: 'NombreTelefono',\n outputs: ['name', 'cellphone'],\n outputsText: ['name', 'cellphone'],\n },\n {\n fields: ,\n screenIndex: CallMeOfertaSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n },\n fields: { formName: 'callme-oferta', formType: 'contact', pageCategory: 'Call Me Oferta' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n //Set de data para Producción\n const dataPro = {\n name: fields.name,\n // phone: `${fields.prefix}${fields.cellphone}`,\n phone: `${fields.cellphone}`,\n\n DESC_LSSI: fields.lssi === 'PERMITIDO' ? 'S' : 'N',\n DESC_LOPD_GDPR_PERFILADO: fields.tmk === 'PERMITIDO' ? 'S' : 'N',\n\n ref: url,\n\n oferta: faContent.oferta.modalidad + ' ' + faContent.oferta.cuotaText + ' ' + faContent.oferta.financiacionText,\n modelo: faContent.oferta.carline.title + ' ' + faContent.oferta.motorizacion,\n modelo_code: faContent.oferta.carline.code + '_' + faContent.marketingCodeConfig.SalesgroupId,\n };\n\n //Set de data para Preproducción\n const dataPre = {\n PRE: 1,\n name: fields.name,\n // phone: `${fields.prefix}${fields.cellphone}`,\n phone: `${fields.cellphone}`,\n\n DESC_LSSI: fields.lssi === 'PERMITIDO' ? 'S' : 'N',\n DESC_LOPD_GDPR_PERFILADO: fields.tmk === 'PERMITIDO' ? 'S' : 'N',\n\n ref: url,\n\n oferta: faContent.oferta.modalidad + ' ' + faContent.oferta.cuotaText + ' ' + faContent.oferta.financiacionText,\n modelo: faContent.oferta.carline.title + ' ' + faContent.oferta.motorizacion,\n modelo_code: faContent.oferta.carline.code + '_' + faContent.marketingCodeConfig.SalesgroupId,\n };\n\n const response: AxiosResponse = await Axios.post(\n 'https://www.volkswagencomerciales.es/call-me-now/email',\n window.location.hostname === 'www.volkswagen-comerciales.es' ? dataPro : dataPre\n ).catch((err) => {\n return null;\n });\n\n if (response && response.data && response.data.success && response.status == 200) {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'inverted',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n notALayer: false,\n formType: 'layer',\n stepsHistory,\n thankYouComponent: ,\n };\n\n initializeForm(NuevoFormInfo, NuevoFormData);\n }, []);\n\n return ;\n}\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\nimport { useGetBrand } from 'src/feature-app/hooks';\n\n\nexport const ThankYouCallMeOferta = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n const brand = useGetBrand();\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: 'ThankYou' } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n const comercialesScreen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import { Breakpoints, styled, Text, Layout, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { OneFormState } from 'src/types';\nimport { LssiTkmQuestions, PoliticaPrivacidad, LastNavigation } from 'src/components';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { LegalesCEM, LegalesSinConsentimientosCEM } from '.';\n\nconst ContentWrapper = styled.div`\n\tmin-height: calc(100vh - 227px);\n\twidth: 100%;\n\tdisplay: flex;\n\talign-items: center;\n\t@media all and (min-width: 960px) {\n\t\tmin-height: calc(100vh - 227px);\n\t}\n\t.content-wrapper {\n\t\twidth: 100%;\n\t}\n`;\n\nexport const ConfirmacionCem = () => {\n\tconst dispatch = useDispatch();\n\tconst { fields } = useSelector((state: OneFormState) => state.formData);\n\tconst [lssiPincode, setLssiPincode] = useState(null);\n\n\tuseEffect(() => {\n\t\tif (fields) {\n\t\t\tsetLssiPincode(fields.lssiPincode);\n\t\t}\n\t}, [fields]);\n\n\tuseEffect(() => {\n\t\tif (lssiPincode === 'PERMITE') {\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { lssi: 'NO INFORMADO', tkm: 'NO INFORMADO' } });\n\t\t}\n\t}, [lssiPincode]);\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t{lssiPincode === 'PERMITE' ? (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t¿Listo para enviar?\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tMantente al día\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t\t{lssiPincode === 'PERMITE' ? (\n\t\t\t\t\n\t\t\t) : (\n\t\t\t\t\n\t\t\t)}\n\t\t\n\t);\n};\n","import {getInstallations, reportErrorSentry} from 'src/bff';\nimport {DpsData} from 'src/feature-service/es-oneform-core-feature-service/types';\nimport {arrayToObject, transformDate} from 'src/helpers';\nimport {IdDealer} from 'src/types';\n\nexport const valueWrongMarca = 1;\nexport const valueWrongModelo = 2;\nexport const valueWrongConcesion = 3;\nexport const valueWrongPersona = 4;\n\nexport const stepNameToFieldName = (str: string) => {\n\tif (!str) return str;\n\treturn str.charAt(0).toLowerCase() + str.slice(1);\n};\n\nexport const sanitizeKvps = (kvps: string) => {\n\t// ESP12345X -> 12345\n\treturn kvps.replace(/^ESP(\\d+)[A-Z]$/, '$1');\n};\n\nexport const formatSinRespuestaValue = (answer: string) => {\n\tif (!answer) return undefined;\n\tif (answer == 'Sin respuesta' || Number(answer) == -1) return '9';\n\treturn answer;\n};\n\ninterface Data {\n\t[key: string]: string;\n}\n\nclass CEMDataError extends Error {\n\tconstructor(message) {\n\t\tsuper(message);\n\t\tthis.name = 'CEMDataError';\n\t}\n}\n\nexport const checkUndefinedsInData = (data: Data, form: string) => {\n\tObject.entries(data).map((entry) => {\n\t\tconst [field, data] = entry;\n\t\tif (data?.includes('undefined')) {\n\t\t\tconst error = new CEMDataError(`Undefined en el formulario CEM ${form}. ${field} tiene el valor ${data}`);\n\t\t\treportErrorSentry(error);\n\t\t}\n\t});\n};\n\nexport const getCemDate = (date: string) => {\n\tconst cemDate1 = transformDate(date, 'DD/MM/YYYY', 'YYYY-MM-DD');\n\tconst cemDate2 = transformDate(date, 'DD/MM/YYYY', 'DD-MM-YYYY');\n\tconst cemDate3 = transformDate(date, 'DD/MM/YYYY', 'DD/MM/YYYY');\n\tif (cemDate1) {\n\t\treturn cemDate1 + ' 12:00:00';\n\t} else if (cemDate2) {\n\t\treturn cemDate2 + ' 12:00:00';\n\t} else if (cemDate3) {\n\t\treturn cemDate3 + ' 12:00:00';\n\t}\n\treturn '';\n};\n\nexport const getInstallation = async (dpsData: DpsData, idDealer: IdDealer, domain: string) => {\n\tconst installationsRaw = await getInstallations('VW_DDB_FRM_LEM_REC_LEM', domain);\n\tif (!installationsRaw) {\n\t\tconsole.error('Installations not found');\n\t\treturn null;\n\t}\n\tconst installations = installationsRaw.map((instal) => arrayToObject(instal.attributes)) as IdDealer[];\n\tlet installation = null;\n\n\tif (dpsData.dealer) {\n\t\tinstallation = installations.find((instal) => instal.VGED_DealerCode__c == dpsData.dealer) as IdDealer;\n\t} else if (dpsData.kvps) {\n\t\tinstallation = installations.find(\n\t\t\t(instal) => sanitizeKvps(instal.KVPSCode__c) == sanitizeKvps(dpsData.kvps),\n\t\t) as IdDealer;\n\t}\n\n\tif (!installation && idDealer.VGED_DealerCode__c) {\n\t\tinstallation = installations.find((instal) => instal.VGED_DealerCode__c == idDealer.VGED_DealerCode__c) as IdDealer;\n\t} else if (!installation && idDealer.KVPSCode__c) {\n\t\tinstallation = installations.find(\n\t\t\t(instal) => sanitizeKvps(instal.KVPSCode__c) == sanitizeKvps(idDealer.KVPSCode__c),\n\t\t) as IdDealer;\n\t}\n\n\tif (installation) {\n\t\tif (\n\t\t\tinstallation.VGED_DealerCode__c == '03905' ||\n\t\t\tsanitizeKvps(installation.KVPSCode__c) == '00494' ||\n\t\t\tinstallation.VGED_CommercialName__c == 'SAFA FUENGIROLA'\n\t\t) {\n\t\t\tinstallation.VGED_CommercialName__c = 'SAFAMOTOR';\n\t\t}\n\n\t\treturn installation;\n\t}\n\n\tconsole.error('Installation not found into installations');\n\treturn null;\n};\n\nexport const getSfAddressRest = (addressSf: string, node?: string) => {\n\tconst address = addressSf\n\t\t.replace(/^SfAddressRest\\(|\\)$/g, '')\n\t\t.split(', ')\n\t\t.reduce((obj, pair) => {\n\t\t\tconst [key, value] = pair.split('=');\n\t\t\tobj[key] = value === 'null' ? null : value;\n\t\t\treturn obj;\n\t\t}, {});\n\n\tif (node) {\n\t\treturn address[node];\n\t} else {\n\t\treturn address;\n\t}\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport dayjs from 'dayjs';\nimport { useFeatureServices, useFaContent } from 'src/feature-app';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { IdOrder, IdPerson, IdVehicle, IdDealer } from 'src/types';\nimport { CemFormVenta, CemFormPosventa } from 'src/forms';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { createPincodeEntity } from 'src/forms/dps-utils';\nimport { LoadingEncuestas } from 'src/components';\nimport { getInstallation } from 'src/forms/Cem/helpers';\n\nexport interface CemFormProps {\n\tidOrder?: IdOrder;\n\tidPerson: IdPerson;\n\tidVehicle: IdVehicle;\n\tidDealer?: IdDealer;\n\tdpsData: DpsData;\n\tinstallation?: IdDealer;\n}\n\nexport function CemController() {\n\tconst [loading, setLoading] = useState(true);\n\tconst [error, setError] = useState(false);\n\tconst [usado, setUsado] = useState(false);\n\tconst [isPosventa, setIsPosventa] = useState(false);\n\tconst [caducado, setCaducado] = useState(false);\n\tconst today = dayjs(new Date());\n\n\tconst dpsDataRef = useRef(null);\n\tconst idPersonRef = useRef(null);\n\tconst idVehicleRef = useRef(null);\n\tconst idDealerRef = useRef(null);\n\tconst idOrderRef = useRef(null);\n\n\tconst [installation, setInstallation] = useState(null);\n\n\tconst oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\tconst faContent = useFaContent();\n\tconst dpsData = oneFormService.getDpsData();\n\n\tconst handleNext = (value: any) => { };\n\tconst handleComplete = async () => {\n\n\t\tif (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n\t\t\thandleError('Pincode not found');\n\t\t} else if (dpsData.pincode.pincodeUsed) {\n\t\t\tsetUsado(true);\n\t\t\tsetLoading(false);\n\t\t} else {\n\t\t\tconst idPerson = createPincodeEntity(dpsData, 'PERSON') as IdPerson;\n\t\t\tconst idVehicle = createPincodeEntity(dpsData, 'VEHICLE') as IdVehicle;\n\t\t\tconst idDealer = createPincodeEntity(dpsData, 'DEALER') as IdDealer;\n\t\t\tconst idOrder = createPincodeEntity(dpsData, 'ORDER') as IdOrder;\n\n\t\t\tdpsDataRef.current = dpsData;\n\t\t\tidPersonRef.current = idPerson;\n\t\t\tidVehicleRef.current = idVehicle;\n\t\t\tidDealerRef.current = idDealer;\n\t\t\tidOrderRef.current = idOrder;\n\n\t\t\tconst fechaEnvio = dpsData.fe ? dayjs(atob(dpsData.fe), 'DD/MM/YYYY') : null;\n\t\t\tif (!fechaEnvio || today.diff(dayjs(fechaEnvio), 'day') > 0) {\n\t\t\t\tsetCaducado(true);\n\t\t\t} else {\n\t\t\t\tlet domain = 'VOLKSWAGEN_SF_CONCESSION_ALL';\n\t\t\t\tif (faContent.cem == 'POSVENTA' || faContent.encuesta == 'CEM - POSVENTA') {\n\t\t\t\t\tdomain = 'VOLKSWAGEN_SF_INSTALLATION_ALL';\n\t\t\t\t\tsetIsPosventa(true);\n\t\t\t\t} else if ((faContent.cem == 'VENTA' || faContent.encuesta == 'CEM - VENTA')) {\n\t\t\t\t\tsetIsPosventa(false);\n\t\t\t\t} else {\n\t\t\t\t\thandleError('Form not found');\n\t\t\t\t}\n\t\t\t\tconst installation = await getInstallation(dpsData, idDealer, domain);\n\t\t\t\tif (installation) {\n\t\t\t\t\tsetInstallation(installation);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\thandleError();\n\t\t\t\t}\n\t\t\t}\n\t\t\tsetLoading(false);\n\t\t}\n\t};\n\n\tconst handleError = (message?: string) => {\n\t\tsetError(true);\n\t\tsetLoading(false);\n\t\tif (message) {\n\t\t\tconsole.error(message);\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tconst oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n\t\toneFormCoreDpsIsLoaded.subscribe({\n\t\t\tnext(value) {\n\t\t\t\thandleNext(value);\n\t\t\t},\n\t\t\terror(err) {\n\t\t\t\tconsole.error(err);\n\t\t\t\thandleError();\n\t\t\t},\n\t\t\tcomplete() {\n\t\t\t\thandleComplete();\n\t\t\t},\n\t\t});\n\t}, []);\n\n\tif (loading) {\n\t\treturn ;\n\t} else if (error) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\n\t\t);\n\t} else if (caducado) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\n\t\t);\n\t} else if (usado) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\n\t\t);\n\t} else {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{isPosventa ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t);\n\t}\n}\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport function ThankYouCEM() {\n\tconst { formResponse } = useSelector((state: OneFormState) => state.formInfo);\n\tconst trackingManager = useTrackingManager();\n\tconst dispatch = useDispatch();\n\n\tuseEffect(() => {\n\t\t// Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n\t\tconst screenIndexThankyou = formResponse.numberOfScreens;\n\n\t\tdispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\t\tdispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: 'ThankYou' } } });\n\n\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t{\n\t\t\t\tcontentId: undefined,\n\t\t\t},\n\t\t\tgetTrackingForm(formResponse)\n\t\t);\n\t}, []);\n\n\tconst screen: Steps = {\n\t\ttitle: ,\n\t\tfields: ,\n\t};\n\treturn (\n\t\t\n\t);\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport {\n\tFormController,\n\tisHighRating,\n\tisLowRating,\n\tisNoRating,\n\tuseOneFormContext,\n} from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { CemFormProps, LastQuestionFlow, getStepsPosVenta } from 'src/forms/Cem';\nimport {\n\tcheckUndefinedsInData,\n\tformatSinRespuestaValue,\n\tgetCemDate,\n\tgetSfAddressRest,\n\tsanitizeKvps,\n\tstepNameToFieldName,\n\tvalueWrongConcesion,\n\tvalueWrongMarca,\n\tvalueWrongModelo,\n\tvalueWrongPersona,\n} from 'src/forms/Cem/helpers';\nimport { ThankYouCEM } from 'src/forms/Cem/ThankYouCem';\nimport { formatHeaders, formDataBuilder } from 'src/forms/format-fields';\nimport {\n\taddRemovedStep,\n\tgetArrayOfStepsNames,\n\tgetIndexInSteps,\n\tremoveMultipleStepsAndResetScreenIndex,\n\tresetStepsScreenIndex,\n} from 'src/forms/helpers/add-remove-steps';\nimport { formatToTwoChars, strTitlelize } from 'src/helpers';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\n\nexport function CemFormPosventa(props: CemFormProps) {\n\tconst { idOrder, idPerson, idVehicle, idDealer, dpsData, installation } =\n\t\tprops;\n\tconst { initializeForm, handleNextStep } = useOneFormContext();\n\tconst { formData } = useSelector((state: OneFormState) => state);\n\tconst store = useStore();\n\tconst dispatch = useDispatch();\n\tconst [loading, setLoading] = useState(false);\n\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst dev = urlParams.get('dev') !== null;\n\n\tconst {\n\t\tdatosCorrectos,\n\t\tdatosIncorrectos,\n\t\tsatisfaccionTrato,\n\t\tsatisfaccionOrganizacion,\n\t\tsatisfaccionTrabajoRealizado,\n\t\tsatisfaccionConcesion,\n\t\tmodelo,\n\t\tenviarConcesion,\n\t\tmasPreguntas,\n\t\tservicioAnteriorIncorrecto,\n\t} = formData.fields;\n\n\tconst modeloRef = useRef(null);\n\n\tconst getInstallationName = () => {\n\t\treturn strTitlelize(\n\t\t\tinstallation?.VGED_CommercialName__c \n\t\t\t\t? installation.VGED_CommercialName__c \n\t\t\t\t: idDealer?.VGED_CommercialName__c \n\t\t\t\t? idDealer.VGED_CommercialName__c \n\t\t\t\t: ''\n\t\t);\n\t};\n\n\t// Necesitamos almacenar el modelo ya que cada vez que el usuario selecciona un modelo se modifican los steps, por lo que necesitamos una referencia para saber que modelo hay que sustituir.\n\n\tconst NuevoFormData: Partial = {\n\t\theaders: {\n\t\t\tFORM_DETAILS: 'CEM Posventa',\n\t\t\tFORM_OBJECTIVE: 'Encuesta',\n\t\t\tDPS_TOKEN: 'VW_DDB_FRM_CEM_PV_2025',\n\t\t\tFORM_ID: 'Email_B04_C01_CEM_Aftersales',\n\t\t},\n\t\tfields: {\n\t\t\tlssiPincode: idPerson.LSSI__c,\n\t\t\tformName: 'cem-posventa',\n\t\t\tformType: 'otherform',\n\t\t\tpageCategory: 'Encuesta',\n\t\t\tname: idPerson.FirstName,\n\t\t\tsurname: idPerson.LastName,\n\t\t\tsecondSurname: idPerson.MiddleName,\n\t\t\tinstallation: getInstallationName(),\n\t\t}, // Analítica\n\t};\n\n\tconst sendSurvey = () => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields } = formData;\n\n\t\treturn !(\n\t\t\t// negation\n\t\t\t(\n\t\t\t\t(fields.datosCorrectos == 'false' &&\n\t\t\t\t\tfields.datosIncorrectos == valueWrongMarca) ||\n\t\t\t\t(fields.datosCorrectos == 'false' &&\n\t\t\t\t\tfields.datosIncorrectos == valueWrongPersona) ||\n\t\t\t\t(fields.datosCorrectos == 'false' &&\n\t\t\t\t\tfields.datosIncorrectos == valueWrongConcesion)\n\t\t\t)\n\t\t);\n\t};\n\n\tconst getData = (addSurvey?: boolean) => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields, headers } = formData;\n\t\tconst { tc, today, url, device } = getParamsForm();\n\n\t\tconst data = {\n\t\t\t...formatHeaders(headers),\n\t\t\t'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n\t\t\t'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t'headers[FORM_URL]': url,\n\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\t\t\t'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\t\t\t'headers[FK_SYSTEM]': dpsData.or,\n\n\t\t\t'fields[DPS_BRAND]': 'Volkswagen',\n\t\t\t//'fields[SF_LEAD_INSTALLATION_ID]': installation.Id,\n\t\t\t'fields[SF_LEAD_INSTALLATION_NAME]': installation.VGED_CommercialName__c,\n\t\t\t'fields[SF_LEAD_INSTALLATION_CODE]': installation.VGED_DealerCode__c,\n\t\t\t'fields[SF_LEAD_INSTALLATION_CODE_KVPS]': sanitizeKvps(installation.KVPSCode__c),\n\t\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi\n\t\t\t\t? fields.lssi\n\t\t\t\t: 'NO INFORMADO',\n\t\t\t'fields[PERSON_NAME]': fields.name,\n\t\t\t'fields[PERSON_SURNAME_1]': fields.surname,\n\t\t\t'fields[PERSON_SURNAME_2]': fields.secondSurname,\n\t\t\t'fields[PERSON_EMAIL]': idPerson.PersonEmail,\n\t\t\t'fields[PERSON_PHONE_MOBILE]': idPerson.PersonMobilePhone,\n\t\t\t'fields[PERSON_POSTAL_ROAD_NAME]': getSfAddressRest(\n\t\t\t\tidPerson.PersonMailingAddress,\n\t\t\t\t'street',\n\t\t\t),\n\t\t\t'fields[PERSON_POSTAL_CP]': getSfAddressRest(\n\t\t\t\tidPerson.PersonMailingAddress,\n\t\t\t\t'postalCode',\n\t\t\t),\n\t\t\t'fields[PERSON_POSTAL_LOCATION]': getSfAddressRest(\n\t\t\t\tidPerson?.PersonMailingAddress,\n\t\t\t\t'city',\n\t\t\t),\n\t\t\t'fields[PERSON_POSTAL_PROVINCE_CODE]': formatToTwoChars(\n\t\t\t\tgetSfAddressRest(idPerson.PersonMailingAddress, 'stateCode'),\n\t\t\t),\n\t\t\t'fields[VEH_ACTUAL_PLATE]': idVehicle.VGED_RegistrationPlate__c,\n\t\t\t'fields[VEH_ACTUAL_FRAME]': idVehicle.Name,\n\t\t\t'fields[VEH_ACTUAL_MODEL]': idVehicle.VGED_ModelGroup__c\n\t\t\t\t? idVehicle.VGED_ModelGroup__c\n\t\t\t\t: dpsData.model\n\t\t\t\t? dpsData.model\n\t\t\t\t: null,\n\n\t\t\t'fields[SURVEY_ANSWER_01]': fields.datosCorrectos == 'true' ? '1' : '2',\n\t\t\t'fields[SURVEY_ANSWER_02]':\n\t\t\t\tfields.datosCorrectos == 'false' ? fields.datosIncorrectos : null,\n\t\t\t'fields[SURVEY_ANSWER_03]':\n\t\t\t\tfields.datosCorrectos == 'false' && fields.datosIncorrectos == 2\n\t\t\t\t\t? fields.modelo\n\t\t\t\t\t: null,\n\t\t\t// conditional send\n\t\t\t'fields[SURVEY_ANSWER_30]': fields.publicarRespuestas,\n\t\t\t'fields[SURVEY_ANSWER_32]': dpsData.adviser,\n\t\t\t'fields[SURVEY_ANSWER_34]': fields.enviarConcesion,\n\n\t\t\t'flags[PERSON_RGPD_ADAPTED]': 'true',\n\t\t\t//'flags[FLAG_RELACION_MARCA_SIN_IC]': 'false',\n\t\t};\n\n\t\tif (sendSurvey() || addSurvey) {\n\t\t\tdata['fields[SURVEY_ANSWER_04]'] = fields.razonVolverTaller;\n\t\t\tdata['fields[SURVEY_ANSWER_06]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionTrato,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_07]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionTratoMotivo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_08]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionOrganizacion,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_09]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionOrganizacionMotivo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_10]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionTrabajoRealizado,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_11]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionTrabajoRealizadoMotivo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_12]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionConcesion,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_13]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionConcesionMotivo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_14]'] = formatSinRespuestaValue(\n\t\t\t\tfields.aspectoSatisfaccionMotivo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_15]'] = fields.contactoSatisfaccion;\n\t\t\tdata['fields[SURVEY_ANSWER_16]'] = fields.servicioAnteriorIncorrecto;\n\t\t\tdata['fields[SURVEY_ANSWER_17]'] = formatSinRespuestaValue(\n\t\t\t\tfields.tiempoSatisfaccion,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_18]'] = !fields.motivoVisita ? '99' : fields.motivoVisita\n\t\t\t\t?.split(',')\n\t\t\t\t.sort((a, b) => a - b)\n\t\t\t\t.join('|');\n\t\t\tdata['fields[SURVEY_ANSWER_19]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionVehiculo,\n\t\t\t);\n\t\t\tdata['fields[SURVEY_ANSWER_20]'] = formatSinRespuestaValue(\n\t\t\t\tfields.satisfaccionVehiculoMotivo,\n\t\t\t);\n\t\t}\n\n\t\tif (dpsData.dat) {\n\t\t\tdata['fields[CEM_DATE]'] = getCemDate(dpsData.dat);\n\t\t}\n\n\t\treturn data;\n\t};\n\n\tuseEffect(() => {\n\t\tif (dev) {\n\t\t\tconsole.log(getData(true));\n\t\t}\n\t}, [formData]);\n\n\tconst sendForm = (): Promise => {\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst dataStringified = JSON.stringify(getData());\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tcheckUndefinedsInData(getData(), 'Posventa');\n\t\t\tconst response = await oneformBFFNdpsSend(formData);\n\n\t\t\tif (response && response.data?.status?.code == 200) {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\t/**\n\t * Se extrae la lógica para poder utilizarla por separado sin tener que usar las funciones de loading o updateSteps\n\t * ya que hay una pregunta en la que podemos eliminar y añadir un step en el mismo paso.\n\t * @param stepsToAdd\n\t * @param alternativeSteps\n\t * @returns\n\t */\n\tconst addingStepsLogic = (\n\t\tstepsToAdd: string[],\n\t\talternativeSteps?: Steps[],\n\t) => {\n\t\tconst { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tconst stepsToUse = alternativeSteps ? alternativeSteps : actualSteps;\n\t\t// Hay que revertir los steps para que se añadan en el orden correcto\n\t\tconst indexesInSteps = stepsToAdd\n\t\t\t.reverse()\n\t\t\t.map((step) => getIndexInSteps(stepsToUse, step));\n\t\tlet newSteps = [...stepsToUse];\n\n\t\tindexesInSteps.forEach((index, i) => {\n\t\t\tif (index === -1) {\n\t\t\t\tnewSteps = addRemovedStep(\n\t\t\t\t\tgetStepsPosVenta(getInstallationName(), getVehicleName()),\n\t\t\t\t\tstepsToUse,\n\t\t\t\t\tstepsToAdd[i],\n\t\t\t\t\tscreenIndex,\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t\tconst finalSteps = resetStepsScreenIndex(newSteps);\n\t\treturn finalSteps;\n\t};\n\n\tconst addSteps = (stepsToAdd: string[]) => {\n\t\tsetLoading(true);\n\n\t\tconst finalSteps = addingStepsLogic(stepsToAdd);\n\t\tupdateSteps(finalSteps);\n\t\thandleNextStep();\n\n\t\tsetLoading(false);\n\t};\n\n\tconst removeSteps = (stepsToDelete: string[]) => {\n\t\tconst { steps } = store.getState().formInfo;\n\t\tsetLoading(true);\n\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(\n\t\t\tsteps,\n\t\t\tstepsToDelete,\n\t\t);\n\t\tupdateSteps(finalSteps);\n\t\tsetLoading(false);\n\t};\n\n\tconst updateSteps = (steps: Steps[]) => {\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: steps });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: steps[steps.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: steps.length });\n\t};\n\n\tconst getVehicleName = () => {\n\t\tif(!idVehicle) return '';\n\t\treturn idVehicle.VGED_ModelGroup__c \n\t\t? idVehicle.VGED_ModelGroup__c \n\t\t: dpsData.model \n\t\t? dpsData.model \n\t\t: 'Volkswagen';\n\t};\n\n\tconst replaceModelo = (string: string) => {\n\t\tif (modeloRef.current) {\n\t\t\treturn string.replace(modeloRef.current, modelo);\n\t\t} else {\n\t\t\treturn string.replace(idVehicle.VGED_ModelGroup__c, modelo);\n\t\t}\n\t};\n\n\tconst modifyTitleSteps = (\n\t\tsteps: Steps[],\n\t\treplaceCallback: (s: string) => string,\n\t) => {\n\t\treturn steps.map((step) => {\n\t\t\tif (!step.title) return step;\n\t\t\tif (Array.isArray(step.title.props.children)) {\n\t\t\t\tstep.title.props.children = step.title.props.children.map(\n\t\t\t\t\t(child: any) => {\n\t\t\t\t\t\tif (typeof child === 'object') {\n\t\t\t\t\t\t\tif (typeof child.props.children === 'object') {\n\t\t\t\t\t\t\t\tchild.props.children.props.children = replaceCallback(\n\t\t\t\t\t\t\t\t\tchild.props.children.props.children,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tchild.props.children = replaceCallback(child.props.children);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tchild = replaceCallback(child);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn child;\n\t\t\t\t\t},\n\t\t\t\t);\n\t\t\t} else if (typeof step.title.props.children === 'object') {\n\t\t\t\tstep.title.props.children.props.children = replaceCallback(\n\t\t\t\t\tstep.title.props.children.props.children,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tstep.title.props.children = replaceCallback(step.title.props.children);\n\t\t\t}\n\t\t\treturn step;\n\t\t});\n\t};\n\n\tconst getOrderStep = (\n\t\torder: number,\n\t\tsc4: number,\n\t\tsc5: number,\n\t\tsc6: number,\n\t) => {\n\t\treturn order === 1 ? sc4 : order === 2 ? sc5 : order === 3 ? sc6 : null;\n\t};\n\n\tconst shuffle = (array: number[]): number[] =>\n\t\tarray.sort(() => Math.random() - 0.5);\n\n\t/**\n\t * El orden de las preguntas Sc_4,Sc_5 y Sc_6 tiene que ser aleatorio.\n\t * @param steps\n\t */\n\tconst randomizeSteps = (steps: Steps[]): Steps[] => {\n\t\tconst sc4 = getIndexInSteps(steps, 'SatisfaccionTrato');\n\t\tconst sc4Motivo = getIndexInSteps(steps, 'SatisfaccionTratoMotivo');\n\n\t\tconst sc5 = getIndexInSteps(steps, 'SatisfaccionOrganizacion');\n\t\tconst sc5Motivo = getIndexInSteps(steps, 'SatisfaccionOrganizacionMotivo');\n\n\t\tconst sc6 = getIndexInSteps(steps, 'SatisfaccionTrabajoRealizado');\n\t\tconst sc6Motivo = getIndexInSteps(\n\t\t\tsteps,\n\t\t\t'SatisfaccionTrabajoRealizadoMotivo',\n\t\t);\n\n\t\tconst newSteps = [...steps];\n\t\tconst [first, second, third] = shuffle([1, 2, 3]);\n\t\tconst firstStep = getOrderStep(first, sc4, sc5, sc6);\n\t\tconst secondStep = getOrderStep(second, sc4, sc5, sc6);\n\t\tconst thirdStep = getOrderStep(third, sc4, sc5, sc6);\n\t\tnewSteps[sc4] = steps[firstStep];\n\t\tnewSteps[sc4Motivo] = steps[firstStep + 1];\n\t\tnewSteps[sc5] = steps[secondStep];\n\t\tnewSteps[sc5Motivo] = steps[secondStep + 1];\n\t\tnewSteps[sc6] = steps[thirdStep];\n\t\tnewSteps[sc6Motivo] = steps[thirdStep + 1];\n\t\treturn newSteps;\n\t};\n\n\tconst getFormInfo = (steps: Steps[]) => {\n\t\tconst randomizedSteps = randomizeSteps(steps);\n\n\t\treturn {\n\t\t\tfirstStep: randomizedSteps[0],\n\t\t\tlastStep: randomizedSteps[randomizedSteps.length - 1],\n\t\t\tstepsHistory: [0],\n\t\t\tnumberOfScreens: randomizedSteps.length,\n\t\t\tnewSteps: randomizedSteps,\n\t\t};\n\t};\n\n\t// Lógica para modificar el flujo del formulario\n\tuseEffect(() => {\n\t\tif (modelo) {\n\t\t\tconst newSteps = modifyTitleSteps(getStepsPosVenta(getInstallationName(), getVehicleName()), replaceModelo);\n\t\t\tmodeloRef.current = modelo;\n\t\t\tupdateSteps(newSteps);\n\t\t}\n\t}, [modelo]);\n\n\tuseEffect(() => {\n\t\tif (datosCorrectos === 'true') {\n\t\t\tconst steps = store.getState().formInfo.steps;\n\t\t\tconst modelo = getIndexInSteps(steps, 'Modelo');\n\t\t\t// En el caso de elegir que los datos son incorrectos, llegar a confirmación y volver atrás hay que regenerar todos los pasos.\n\t\t\tif (modelo === -1) {\n\t\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(\n\t\t\t\t\tinitialSteps,\n\t\t\t\t\t['DatosIncorrectos', 'Modelo'],\n\t\t\t\t);\n\t\t\t\tupdateSteps(finalSteps);\n\t\t\t} else {\n\t\t\t\tremoveSteps(['DatosIncorrectos', 'Modelo', 'ConfirmacionConcesion']);\n\t\t\t}\n\t\t} else if (datosCorrectos === 'false') {\n\t\t\taddSteps(['DatosIncorrectos', 'Modelo']);\n\t\t}\n\t}, [datosCorrectos]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tdatosIncorrectos == valueWrongMarca ||\n\t\t\tdatosIncorrectos == valueWrongConcesion ||\n\t\t\tdatosIncorrectos === valueWrongPersona\n\t\t) {\n\t\t\tconst pastSteps = store.getState().formInfo.steps;\n\t\t\tconst newsteps = [\n\t\t\t\tpastSteps[0],\n\t\t\t\tpastSteps[1],\n\t\t\t\tpastSteps[pastSteps.length - 1],\n\t\t\t];\n\t\t\tconst finalSteps = resetStepsScreenIndex(newsteps);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t\tif (datosIncorrectos == valueWrongModelo) {\n\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\tconst finalSteps = resetStepsScreenIndex(initialSteps);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t}, [datosIncorrectos]);\n\n\tuseEffect(() => {\n\t\tif (!enviarConcesion) {\n\t\t\treturn;\n\t\t}\n\t\tif (enviarConcesion === '3') {\n\t\t\taddSteps(['DatosPersonales']);\n\t\t} else {\n\t\t\tremoveSteps(['DatosPersonales']);\n\t\t}\n\t}, [enviarConcesion]);\n\n\tuseEffect(() => {\n\t\tif (!masPreguntas) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (masPreguntas === 'true') {\n\t\t\tconst stepNames = getArrayOfStepsNames(\n\t\t\t\tgetStepsPosVenta(getInstallationName(), getVehicleName()),\n\t\t\t\t'MasPreguntas',\n\t\t\t\t'EnviarConcesion',\n\t\t\t);\n\t\t\taddSteps(stepNames);\n\t\t} else if (masPreguntas === 'false') {\n\t\t\tconst { steps } = store.getState().formInfo;\n\t\t\tconst stepNames = getArrayOfStepsNames(\n\t\t\t\tsteps,\n\t\t\t\t'MasPreguntas',\n\t\t\t\t'EnviarConcesion',\n\t\t\t);\n\t\t\tremoveSteps(stepNames);\n\t\t}\n\t}, [masPreguntas]);\n\n\tuseEffect(() => {\n\t\tif (!servicioAnteriorIncorrecto) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (servicioAnteriorIncorrecto == '1') {\n\t\t\tremoveSteps(['RazonVolverTaller']);\n\t\t} else {\n\t\t\taddSteps(['RazonVolverTaller']);\n\t\t}\n\t}, [servicioAnteriorIncorrecto]);\n\n\t/**\n\t * Se tiene que de manera consecutiva y no mediante las otras funciones porque si no, se actualizan los steps dos veces y en el segundo paso (añadir o eliminar el otro step) se hace siempre sobre los steps antiguos y no funciona de la manera esperada.\n\t *\n\t * @param stepToRemove\n\t * @param stepToAdd\n\t */\n\tconst removeAndAddStepAtTheSameTime = (\n\t\tstepToRemove: string,\n\t\tstepToAdd: string,\n\t) => {\n\t\tconst { steps } = store.getState().formInfo;\n\t\tsetLoading(true);\n\t\tconst removedSteps = removeMultipleStepsAndResetScreenIndex(steps, [\n\t\t\tstepToRemove,\n\t\t]);\n\t\tconst addedSteps = addingStepsLogic([stepToAdd], removedSteps);\n\t\tconst finalSteps = resetStepsScreenIndex(addedSteps);\n\t\thandleNextStep();\n\t\tupdateSteps(finalSteps);\n\t\tsetLoading(false);\n\t};\n\n\tconst handleShowMotivo = (nameOfMotivoStep: string, value?: string) => {\n\t\tif (value) {\n\t\t\tif (Number(value) == -1) value = 'Sin respuesta';\n\t\t\tif (isLowRating(value)) {\n\t\t\t\taddSteps([nameOfMotivoStep]);\n\t\t\t} else if (isHighRating(value) || isNoRating(value)) {\n\t\t\t\tremoveSteps([nameOfMotivoStep]);\n\t\t\t\tdelete formData.fields[stepNameToFieldName(nameOfMotivoStep)];\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\thandleShowMotivo('SatisfaccionTratoMotivo', satisfaccionTrato);\n\t}, [satisfaccionTrato]);\n\n\tuseEffect(() => {\n\t\thandleShowMotivo(\n\t\t\t'SatisfaccionOrganizacionMotivo',\n\t\t\tsatisfaccionOrganizacion,\n\t\t);\n\t}, [satisfaccionOrganizacion]);\n\n\tuseEffect(() => {\n\t\thandleShowMotivo(\n\t\t\t'SatisfaccionTrabajoRealizadoMotivo',\n\t\t\tsatisfaccionTrabajoRealizado,\n\t\t);\n\t\tif (satisfaccionTrabajoRealizado == '5') {\n\t\t\tremoveSteps(['ServicioAnteriorIncorrecto', 'RazonVolverTaller']);\n\t\t} else if (satisfaccionTrabajoRealizado) {\n\t\t\taddSteps(['ServicioAnteriorIncorrecto', 'RazonVolverTaller']);\n\t\t}\n\t}, [satisfaccionTrabajoRealizado]);\n\n\tuseEffect(() => {\n\t\tconst stepName = store.getState().formInfo?.step?.name;\n\n\t\t// Verificamos que se ha contestado SatisfaccionConcesion\n\t\tif (stepName == 'SatisfaccionConcesion') {\n\t\t\tconst ratings = [\n\t\t\t\tsatisfaccionTrato,\n\t\t\t\tsatisfaccionOrganizacion,\n\t\t\t\tsatisfaccionTrabajoRealizado,\n\t\t\t];\n\t\t\tconst { mostrarQlast1, mostrarQlast2 } = LastQuestionFlow(\n\t\t\t\tratings,\n\t\t\t\tsatisfaccionConcesion,\n\t\t\t);\n\n\t\t\tif (mostrarQlast1 && mostrarQlast2) {\n\t\t\t\taddSteps(['SatisfaccionConcesionMotivo', 'AspectoSatisfaccionMotivo']);\n\t\t\t}\n\t\t\tif (!mostrarQlast1 && !mostrarQlast2) {\n\t\t\t\tremoveSteps([\n\t\t\t\t\t'SatisfaccionConcesionMotivo',\n\t\t\t\t\t'AspectoSatisfaccionMotivo',\n\t\t\t\t]);\n\t\t\t\tdelete formData.fields.satisfaccionConcesionMotivo;\n\t\t\t\tdelete formData.fields.aspectoSatisfaccionMotivo;\n\t\t\t}\n\t\t\tif (!mostrarQlast1 && mostrarQlast2) {\n\t\t\t\tremoveAndAddStepAtTheSameTime(\n\t\t\t\t\t'SatisfaccionConcesionMotivo',\n\t\t\t\t\t'AspectoSatisfaccionMotivo',\n\t\t\t\t);\n\t\t\t\tdelete formData.fields.satisfaccionConcesionMotivo;\n\t\t\t}\n\t\t\tif (mostrarQlast1 && !mostrarQlast2) {\n\t\t\t\tremoveAndAddStepAtTheSameTime(\n\t\t\t\t\t'AspectoSatisfaccionMotivo',\n\t\t\t\t\t'SatisfaccionConcesionMotivo',\n\t\t\t\t);\n\t\t\t\tdelete formData.fields.aspectoSatisfaccionMotivo;\n\t\t\t}\n\t\t}\n\t}, [\n\t\tsatisfaccionTrato,\n\t\tsatisfaccionOrganizacion,\n\t\tsatisfaccionTrabajoRealizado,\n\t\tsatisfaccionConcesion,\n\t]);\n\n\tuseEffect(() => {\n\t\tif (!installation) return null;\n\n\t\tconst { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } =\n\t\t\tgetFormInfo(getStepsPosVenta(getInstallationName(), getVehicleName()));\n\n\t\tconst NuevoFormInfo: Partial = {\n\t\t\tformStarted: true,\n\t\t\tsendFormCallback: sendForm,\n\t\t\tfullScreen: firstStep.fullScreen ? true : false,\n\t\t\tlastStep,\n\t\t\tnumberOfScreens,\n\t\t\tformTheme: 'main',\n\t\t\tnotALayer: true,\n\t\t\tformType: 'inPage',\n\t\t\tscreenIndex: firstStep.screenIndex,\n\t\t\tstep: firstStep,\n\t\t\tsteps: newSteps ? newSteps : getStepsPosVenta(getInstallationName(), getVehicleName()),\n\t\t\tstepsHistory,\n\t\t\tthankYouComponent: ,\n\t\t\thideLegal: idPerson.LSSI__c === 'PERMITE' ? true : false,\n\t\t};\n\n\t\tinitializeForm(NuevoFormInfo, NuevoFormData);\n\t}, [installation]);\n\n\treturn !loading ? (\n\t\t\n\t) : null;\n}\n","import React, { useEffect, useState } from 'react';\nimport { Breakpoints, BreakpointWrapper, Container, ContainerPadding, styled, Text, TokenTextAppearance, } from '@volkswagen-onehub/components-core';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { MultipleCTASelection, ImageCarNoColorBG } from 'src/components';\nimport { CTAsSiNo } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { OneElementTemplateFullScreen, useFaContent, useGetIdVehicle } from 'src/feature-app';\nimport { getVilmaAssets } from 'src/bff';\nimport { useWindowHeight } from '@react-hook/window-size';\nimport { OneFormState } from 'src/types';\nimport { strTitlelize } from 'src/helpers';\n\nconst LayoutWrapper = styled.div`\n\t@media all and (min-width: 960px) {\n\t\tdisplay: flex;\n\t}\n`;\n\nconst InfoWrapper = styled.div`\n\twidth: 100%;\n\tpadding-left: var(--size-grid002);\n\tpadding-right: var(--size-grid002);\n\t@media all and (min-width: 960px) {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\tflex-direction: column;\n\t\twidth: var(--size-grid012);\n\t\tpadding-left: var(--size-grid002);\n\t\tpadding-right: 0;\n\t\tpadding-top: 0;\n\t}\n\t@media all and (min-width: 1280px) {\n\t\tpadding-left: var(--size-grid003);\n\t}\n\t@media all and (min-width: 1600px) {\n\t\tpadding-left: var(--size-grid002);\n\t}\n`;\n\nexport const FirstStepCEM = () => {\n\tconst { formData } = useSelector((state: OneFormState) => state);\n\tconst dispatch = useDispatch();\n\tconst [model, setModel] = useState(null);\n\tconst { installation } = formData.fields;\n\tconst [imageSrc, setImageSrc] = useState(null);\n\tconst [dataVilma, setDataVilma] = useState(null);\n\tconst idVehicle = useGetIdVehicle();\n\tconst idVehicleModel = idVehicle.VGED_ModelGroup__c;\n\t//const isElectrico = idVehicle.VGED_ModelGroup__c.substring(0, 2) == 'ID';\n\tconst frame = idVehicle.Name;\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst modelUrl = urlParams.get('model');\n\tconst faContent = useFaContent();\n\tconst isPosventa = faContent.cem === 'POSVENTA' || faContent.encuesta === 'CEM - POSVENTA';\n\tconst height = useWindowHeight();\n\n\tconst dataVilmaRequest = async () => {\n\t\tif (frame) {\n\t\t\tconst data = await getVilmaAssets(frame);\n\t\t\t//Respuesta cuando el bastidor no es correcto {message: 'No image found for VIN [WVWZZZAUZLW025556]', context: 'the requested image is not available'}\n\t\t\tif (data && data.status?.code == 200) {\n\t\t\t\tsetDataVilma(data.content);\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (!dataVilma || dataVilma.message == 'SERVICE UNAVAILABLE') {\n\t\t\tsetImageSrc(null);\n\t\t} else if (dataVilma) {\n\t\t\tconst Front_Left = dataVilma.find((e: any) => e.view === 'Front_Left');\n\t\t\tFront_Left === undefined ? setImageSrc(null) : setImageSrc(Front_Left.url);\n\t\t}\n\t}, [dataVilma]);\n\n\tuseEffect(() => {\n\t\tif (idVehicleModel !== 'null') {\n\t\t\tsetModel(idVehicleModel);\n\t\t\tdataVilmaRequest();\n\t\t} else if (modelUrl) {\n\t\t\tsetModel(modelUrl);\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { modelo: modelUrl } });\n\t\t} else {\n\t\t\tsetModel(null);\n\t\t}\n\t}, []);\n\n\tconst BodyCopy = () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\t{isPosventa ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\tSegún nuestros datos, visitaste el Servicio Oficial {strTitlelize(installation)} con tu{' '}\n\t\t\t\t\t\t\t{model}.\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\tSegún nuestros registros compraste un nuevo {model} en nuestro punto de venta{' '}\n\t\t\t\t\t\t\t{strTitlelize(installation)}.\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{isPosventa ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t¿Puedes confirmar que estos datos son correctos y que eres la persona que mejor nos puede informar sobre\n\t\t\t\t\t\t\tla última visita al taller?\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>¿Puedes confirmar que estos datos son correctos?\n\t\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\treturn dataVilma && imageSrc ? (\n\t\t\n\t\t\t{height <= 600 ? null : (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)}\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t) : (\n\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t}\n\t\t/>\n\t);\n};\n","import React from 'react';\nimport { Breakpoints, Layout, LayoutRowGap, Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { CarlineSelect, PantallaNombreApellido, MultipleCTASelection, RatingStars, PantallaIntroduccionStars, DetalleMotivo, } from 'src/components';\nimport { Steps } from 'src/types';\nimport { RadioTextGroup } from 'src/components/inputs/RadioTextGroup';\nimport { ConfirmacionCem } from 'src/forms/Cem/ConfirmacionCem';\nimport { CTAsSiNo, CTAsSiNoSinRespuesta } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { FirstStepCEM } from 'src/forms/Cem/FirstStepCEM';\nimport { valueWrongConcesion, valueWrongMarca, valueWrongModelo, valueWrongPersona } from './helpers';\n\nfunction OneElementTemplateFullScreen(props: any) {\n\tconst { element, allowOverflowingContent } = props;\n\treturn (\n\t\t\n\t\t\t{element}\n\t\t\n\t);\n}\n\nexport const getStepsVenta = (installation: string, vehicle: string) => {\n\n\tconst ctaDatosIncorrectos = [\n\t\t{ \n\t\t\tlabel: 'Marca incorrecta', \n\t\t\tvalue: valueWrongMarca.toString() \n\t\t},\n\t\t{ \n\t\t\tlabel: 'Modelo incorrecto', \n\t\t\tvalue: valueWrongModelo.toString() },\n\t\t{\n\t\t\tlabel: 'Punto de venta incorrecto',\n\t\t\tvalue: valueWrongConcesion.toString(),\n\t\t},\n\t\t{\n\t\t\tlabel: 'Persona de contacto incorrecta',\n\t\t\tvalue: valueWrongPersona.toString(),\n\t\t},\n\t];\n\n\tconst optionsEnviarConcesion = [\n\t\t{\n\t\t\tvalue: '3',\n\t\t\tlabel: 'Sí, mis respuestas pueden ser enviadas y analizadas junto a mi nombre y al número de bastidor de mi vehículo, para el alcance descrito anteriormente (el consentimiento puede revocarse en cualquier momento a través de los canales de contacto que se indican a continuación*)',\n\t\t\tinfo: '*Puedo revocar este consentimiento en cualquier momento sin dar motivos a mi Distribuidor para mis datos personalizados.',\n\t\t},\n\t\t{\n\t\t\tvalue: '2',\n\t\t\tlabel: 'Mis respuestas pueden ser enviadas pero sin mencionar mi nombre y al número de bastidor de mi vehículo',\n\t\t\tinfo: 'Seleccionando esta opción, el punto de venta no podrá ponerse en contacto contigo en relación a tus comentarios.',\n\t\t},\n\t\t{\n\t\t\tvalue: '0',\n\t\t\tlabel: 'Mis respuestas solo deben ser analizadas de manera anónima',\n\t\t\tinfo: 'Seleccionando esta opción, tus respuestas serán analizadas de modo agregado junto al resto de respuestas de todos los entrevistados y no se trasladarán a los comentarios abiertos.',\n\t\t},\n\t];\n\n\tconst optionsPublicarRespuestas = [\n\t\t{\n\t\t\tlabel: 'Sí, mis respuestas pueden ser publicadas sin mi nombre en la Web Oficial Volkswagen y en la de ' + installation,\n\t\t\tvalue: '1',\n\t\t},\n\t\t{\n\t\t\tlabel: 'No, mis respuestas no pueden ser publicadas en la Web Oficial Volkswagen y en la de ' + installation,\n\t\t\tvalue: '2',\n\t\t},\n\t];\n\n\tlet index = 0;\n\tconst stepsVenta: Steps[] = [\n\t\t{\n\t\t\tfields: ,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'DatosCorrectos',\n\t\t\talternateTitle: ¿Puedes confirmar que estos datos son correctos?,\n\t\t\toutputs: ['datosCorrectos'],\n\t\t\toutputsText: ['datosCorrectos'],\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPor favor, ¿puedes confirmar qué dato no es correcto?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'DatosIncorrectos',\n\t\t\toutputs: ['datosIncorrectos'],\n\t\t\toutputsText: ['datosIncorrectos'],\n\t\t\tctas: ctaDatosIncorrectos,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Compraste tu vehículo en {installation}?,\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'ConfirmacionConcesion',\n\t\t\toutputs: ['confirmacionConcesion'],\n\t\t\toutputsText: ['confirmacionConcesion'],\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es el modelo correcto?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Modelo',\n\t\t\toutputs: ['modelo'],\n\t\t\toutputsText: ['modelo'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tA continuación,{' '}\n\t\t\t\t\t\n\t\t\t\t\t\tindica tu nivel de satisfacción con cada uno de estos aspectos relacionados con la compra de tu coche.\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: ,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Explicacion',\n\t\t},\n\t\t{\n\t\t\ttitle: El trato recibido,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionTrato',\n\t\t\toutputs: ['satisfaccionTrato'],\n\t\t\toutputsText: ['satisfaccionTrato'],\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es la razón por la que has dado esta puntuación?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionTratoMotivo',\n\t\t\toutputs: ['satisfaccionTratoMotivo'],\n\t\t\toutputsText: ['satisfaccionTratoMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: La organización del punto de venta,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tA la hora de establecer una cita o entregarte el coche, por ejemplo.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionOrganizacion',\n\t\t\toutputs: ['satisfaccionOrganizacion'],\n\t\t\toutputsText: ['satisfaccionOrganizacion'],\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es la razón por la que has dado esta puntuación?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionOrganizacionMotivo',\n\t\t\toutputs: ['satisfaccionOrganizacionMotivo'],\n\t\t\toutputsText: ['satisfaccionOrganizacionMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: El asesoramiento recibido por parte del asesor comercial Volkswagen,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionAsesor',\n\t\t\toutputs: ['satisfaccionAsesor'],\n\t\t\toutputsText: ['satisfaccionAsesor'],\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es la razón por la que has dado esta puntuación?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionAsesorMotivo',\n\t\t\toutputs: ['satisfaccionAsesorMotivo'],\n\t\t\toutputsText: ['satisfaccionAsesorMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es tu nivel de satisfacción con nuestros servicios prestados como punto de venta?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tPensando en el proceso de compra en general de tu nuevo vehículo.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionConcesion',\n\t\t\toutputs: ['satisfaccionConcesion'],\n\t\t\toutputsText: ['satisfaccionConcesion'],\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es la razón por la que has dado esta puntuación?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionConcesionMotivo',\n\t\t\toutputs: ['satisfaccionConcesionMotivo'],\n\t\t\toutputsText: ['satisfaccionConcesionMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Hay algún aspecto con el que no estuvieras satisfecho y que no hayas mencionado aún?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'AspectoSatisfaccionMotivo',\n\t\t\toutputs: ['aspectoSatisfaccionMotivo'],\n\t\t\toutputsText: ['aspectoSatisfaccionMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: ¿El asesor comercial te ofreció realizar una prueba de conducción?,\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'TestDrive',\n\t\t\toutputs: ['testDrive'],\n\t\t\toutputsText: ['testDrive'],\n\t\t\tctas: CTAsSiNoSinRespuesta,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es tu nivel de satisfacción con la prueba de conducción?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tPensando en el proceso de compra en general de tu nuevo vehículo.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionTestDrive',\n\t\t\toutputs: ['satisfaccionTestDrive'],\n\t\t\toutputsText: ['satisfaccionTestDrive'],\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: ¿Cuál es la razón por la que has dado esta puntuación?,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'SatisfaccionTestDriveMotivo',\n\t\t\toutputs: ['satisfaccionTestDriveMotivo'],\n\t\t\toutputsText: ['satisfaccionTestDriveMotivo'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t¿Te han ofrecido una segunda cita después de la entrega para darte más información sobre el funcionamiento de tu coche?\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'InformacionUsoVehiculo',\n\t\t\toutputs: ['informacionUsoVehiculo'],\n\t\t\toutputsText: ['informacionUsoVehiculo'],\n\t\t\ttrueOrFalseQuestion: true,\n\t\t\tctas: CTAsSiNoSinRespuesta,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t¿Te ha contactado {installation} para preguntarte si estás satisfecho con tu {vehicle} después de entregártelo?\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'ContactoSatisfaccion',\n\t\t\toutputs: ['contactoSatisfaccion'],\n\t\t\toutputsText: ['contactoSatisfaccion'],\n\t\t\ttrueOrFalseQuestion: true,\n\t\t\tctas: CTAsSiNoSinRespuesta,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tFinalmente nos gustaría saber si podemos enviar tus respuestas junto con tu nombre al punto de venta {installation} y el bastidor del vehículo, y puedan usarlos para análisis adicionales.\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'EnviarConcesion',\n\t\t\toutputs: ['enviarConcesion'],\n\t\t\toutputsText: ['enviarConcesion'],\n\t\t\tctas: optionsEnviarConcesion,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPor favor, introduce o comprueba tus datos:\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'DatosPersonales',\n\t\t\toutputs: ['name', 'surname', 'secondSurname'],\n\t\t\toutputsText: ['name', 'surname', 'secondSurname'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t\n\t\t\t\t\t¿Podríamos publicar tus respuestas en la web oficial de Volkswagen y en la de {installation} sin mencionar tu nombre?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tPara compartir tu experiencia con otros clientes.\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'PublicarRespuestas',\n\t\t\toutputs: ['publicarRespuestas'],\n\t\t\toutputsText: ['publicarRespuestas'],\n\t\t\tctas: optionsPublicarRespuestas,\n\t\t},\n\t\t{\n\t\t\tfields: ,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Confirmacion',\n\t\t\toutputs: ['confirmacion'],\n\t\t\toutputsText: ['confirmacion'],\n\t\t},\n\t];\n\n\treturn stepsVenta;\n};\n","import {\n\tBreakpoints,\n\tContainer,\n\tContainerPadding,\n\tLayout,\n\tLayoutRowGap,\n\tText,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport {\n\tCarlineSelect,\n\tDetalleMotivo,\n\tMultipleCTASelection,\n\tMultipleOptionCTAs,\n\tPantallaIntroduccionStars,\n\tPantallaNombreApellido,\n\tRatingStars,\n} from 'src/components';\nimport { CTAsSiNoSinRespuesta } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { RadioTextGroup } from 'src/components/inputs/RadioTextGroup';\nimport { ConfirmacionCem } from 'src/forms/Cem/ConfirmacionCem';\nimport { FirstStepCEM } from 'src/forms/Cem/FirstStepCEM';\nimport { Steps } from 'src/types';\nimport {\n\tvalueWrongConcesion,\n\tvalueWrongMarca,\n\tvalueWrongModelo,\n\tvalueWrongPersona,\n} from './helpers';\n\nfunction OneElementTemplateFullScreen(props: any) {\n\tconst { element } = props;\n\treturn (\n\t\t\n\t\t\t{element}\n\t\t\n\t);\n}\n\nexport const getStepsPosVenta = (installation: string, vehicle: string) => {\n\t\n\tconst ctaMotivoVisita = [\n\t\t{\n\t\t\tlabel: 'Revisión pre-ITV',\n\t\t\tvalue: '2',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Avería circulando con el coche (fue necesario remolcarlo)',\n\t\t\tvalue: '4',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Medida de servicio (excluida la medida de servicio diésel)',\n\t\t\tvalue: '10',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Chapa y pintura',\n\t\t\tvalue: '6',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Cambio de neumáticos',\n\t\t\tvalue: '3',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Actualización de software',\n\t\t\tvalue: '11',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Instalación de accesorios',\n\t\t\tvalue: '7',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Servicio rutinario / de mantenimiento',\n\t\t\tvalue: '1',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Otra visita inesperada (el coche pudo seguir circulando y elegiste tu Sercicio Oficial favorito)',\n\t\t\tvalue: '5',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Otras reparaciones o reclamaciones (por ejemplo, problemas electrónicos)',\n\t\t\tvalue: '8',\n\t\t},\n\t\t// El campo no es required, si no seleccionamos ninguna opción enviamos 99\n\t\t/*{\n\t\t\tlabel: 'Sin respuesta',\n\t\t\tvalue: '99',\n\t\t},*/\n\t];\n\t\n\tconst ctaServicioAnteriorIncorrecto = [\n\t\t{\n\t\t\tlabel: 'Sí',\n\t\t\tvalue: '3',\n\t\t},\n\t\t{\n\t\t\tlabel: 'No',\n\t\t\tvalue: '1',\n\t\t},\n\t\t{\n\t\t\tlabel: 'No, pero tendré que volver de nuevo por otra razón diferente (mantenimiento, cambio de neumáticos, etc.)',\n\t\t\tvalue: '2',\n\t\t},\n\t];\n\t\n\tconst ctaRazonVolverTaller = [\n\t\t{\n\t\t\tlabel: 'No había recambios disponibles, no eran los correctos o estaban defectuosos',\n\t\t\tvalue: '1',\n\t\t},\n\t\t{\n\t\t\tlabel: 'No hubo tiempo suficiente para terminar el servicio',\n\t\t\tvalue: '2',\n\t\t},\n\t\t{\n\t\t\tlabel: 'El problema no fue resuelto o solo parcialmente',\n\t\t\tvalue: '3',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Los problemas surgieron de nuevo',\n\t\t\tvalue: '4',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Es necesario realizar trabajos adicionales',\n\t\t\tvalue: '5',\n\t\t},\n\t\t{\n\t\t\tlabel: 'Otras razones',\n\t\t\tvalue: '10',\n\t\t},\n\t];\n\t\n\tconst optionsPublicarRespuestas = [\n\t\t{\n\t\t\tlabel: 'Sí, mis respuestas pueden ser publicadas sin mi nombre en la Web Oficial Volkswagen y en la de ' + installation,\n\t\t\tvalue: '1',\n\t\t\t\n\t\t},\n\t\t{\n\t\t\tlabel: 'No, mis respuestas no pueden ser publicadas en la Web Oficial Volkswagen y en la de ' + installation,\n\t\t\tvalue: '2',\n\t\t\t\n\t\t},\n\t];\n\t\n\tconst ctaDatosIncorrectos = [\n\t\t{\n\t\t\tlabel: 'Marca incorrecta',\n\t\t\tvalue: valueWrongMarca.toString(),\n\t\t},\n\t\t{\n\t\t\tlabel: 'Modelo incorrecto',\n\t\t\tvalue: valueWrongModelo.toString(),\n\t\t},\n\t\t{\n\t\t\tlabel: 'Servicio Oficial',\n\t\t\tvalue: valueWrongConcesion.toString(),\n\t\t},\n\t\t{\n\t\t\tlabel: 'Persona de contacto incorrecta',\n\t\t\tvalue: valueWrongPersona.toString(),\n\t\t},\n\t];\n\t\n\tconst optionsEnviarConcesion = [\n\t\t{\n\t\t\tvalue: '3',\n\t\t\tlabel: 'Sí, mis respuestas pueden ser enviadas y analizadas junto a mi nombre y al número de bastidor de mi vehículo, para el alcance descrito anteriormente (el consentimiento puede revocarse en cualquier momento a través de los canales de contacto que se indican a continuación*)',\n\t\t\tinfo: '*Puedo revocar este consentimiento en cualquier momento sin dar motivos a mi Distribuidor para mis datos personalizados y a la marca [info-datenschutz@volkswagen.de] para el numero de bastidor. Declaración de Privacidad de datos de VW: https://datenschutz.volkswagen.de.',\n\t\t},\n\t\t{\n\t\t\tvalue: '2',\n\t\t\tlabel: 'Mis respuestas pueden ser enviadas pero sin mencionar mi nombre y al número de bastidor de mi vehículo',\n\t\t\tinfo: 'Seleccionando esta opción, el Servicio Oficial no podrá ponerse en contacto contigo en relación a tus comentarios.',\n\t\t},\n\t\t{\n\t\t\tvalue: '0',\n\t\t\tlabel: 'Mis respuestas solo deben ser analizadas de manera anónima',\n\t\t\tinfo: 'Seleccionando esta opción, tus respuestas serán analizadas de modo agregado junto al resto de respuestas de todos los entrevistados y no se trasladarán a los comentarios abiertos.',\n\t\t},\n\t];\n\t\n\tlet index = 0;\n\tconst stepsVenta: Steps[] = [\n\t{\n\t\tfields: ,\n\t\tscreenIndex: index++,\n\t\tname: 'DatosCorrectos',\n\t\talternateTitle: (\n\t\t\t\n\t\t\t\t¿Puedes confirmar que estos datos son correctos y que eres la persona\n\t\t\t\tque mejor nos puede informar sobre la última visita al taller?\n\t\t\t\n\t\t),\n\t\toutputs: ['datosCorrectos'],\n\t\toutputsText: ['datosCorrectos'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPor favor, ¿puedes confirmar qué dato no es correcto?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'DatosIncorrectos',\n\t\toutputs: ['datosIncorrectos'],\n\t\toutputsText: ['datosIncorrectos'],\n\t\tctas: ctaDatosIncorrectos,\n\t},\n\t{\n\t\ttitle: ¿Cuál es el modelo correcto?,\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'Modelo',\n\t\toutputs: ['modelo'],\n\t\toutputsText: ['modelo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tA continuación,{' '}\n\t\t\t\t\n\t\t\t\t\tindica tu nivel de satisfacción con cada uno de estos aspectos\n\t\t\t\t\trelacionados con tu visita al Servicio Oficial.\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'Explicacion',\n\t},\n\t{\n\t\ttitle: El trato recibido,\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionTrato',\n\t\toutputs: ['satisfaccionTrato'],\n\t\toutputsText: ['satisfaccionTrato'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t¿Cuál es la razón por la que has dado esta puntuación?\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionTratoMotivo',\n\t\toutputs: ['satisfaccionTratoMotivo'],\n\t\toutputsText: ['satisfaccionTratoMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tLa organización de {installation}\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tPor ejemplo: el establecimiento de la cita, tiempos de espera en\n\t\t\t\t\t\t\tel taller, la fecha de entrega o el tiempo que estuvo el coche en\n\t\t\t\t\t\t\tel taller.{' '}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionOrganizacion',\n\t\toutputs: ['satisfaccionOrganizacion'],\n\t\toutputsText: ['satisfaccionOrganizacion'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t¿Cuál es la razón por la que has dado esta puntuación?\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionOrganizacionMotivo',\n\t\toutputs: ['satisfaccionOrganizacionMotivo'],\n\t\toutputsText: ['satisfaccionOrganizacionMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tLa calidad del trabajo realizado en tu {vehicle}\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionTrabajoRealizado',\n\t\toutputs: ['satisfaccionTrabajoRealizado'],\n\t\toutputsText: ['satisfaccionTrabajoRealizado'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t¿Cuál es la razón por la que has dado esta puntuación?\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionTrabajoRealizadoMotivo',\n\t\toutputs: ['satisfaccionTrabajoRealizadoMotivo'],\n\t\toutputsText: ['satisfaccionTrabajoRealizadoMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPensando en tu última visita a {installation},{' '}\n\t\t\t\t\n\t\t\t\t\t¿cuál es tu nivel de satisfacción con nuestros servicios en general?\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\talternateTitle: (\n\t\t\t\n\t\t\t\t¿Cuál es tu nivel de satisfacción con nuestros servicios en general?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tPensando en tu última visita.\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionConcesion',\n\t\toutputs: ['satisfaccionConcesion'],\n\t\toutputsText: ['satisfaccionConcesion'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t¿Cuál es la razón por la que has dado esta puntuación?\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionConcesionMotivo',\n\t\toutputs: ['satisfaccionConcesionMotivo'],\n\t\toutputsText: ['satisfaccionConcesionMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t\n\t\t\t\t¿Hay algún aspecto con el que no estuvieras satisfecho y que no hayas\n\t\t\t\tmencionado aún?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'AspectoSatisfaccionMotivo',\n\t\toutputs: ['aspectoSatisfaccionMotivo'],\n\t\toutputsText: ['aspectoSatisfaccionMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\t¿Tienes que volver a pasar por taller por un servicio\n\t\t\t\trealizado de manera incorrecta o incompleta durante la última visita?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'ServicioAnteriorIncorrecto',\n\t\toutputs: ['ServicioAnteriorIncorrecto'],\n\t\toutputsText: ['servicioAnteriorIncorrecto'],\n\t\tctas: ctaServicioAnteriorIncorrecto,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\t¿Cuál es la razón por la que tienes que volver a pasar\n\t\t\t\tpor taller?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'RazonVolverTaller',\n\t\toutputs: ['RazonVolverTaller'],\n\t\toutputsText: ['razonVolverTaller'],\n\t\tctas: ctaRazonVolverTaller,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\t¿Cuál es tu nivel de satisfacción con la{' '}\n\t\t\t\tgestión que hizo el Servicio Oficial de tu tiempo?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tEl tiempo total desde que entró y desde que salió tu vehículo del\n\t\t\t\t\t\t\ttaller.\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'TiempoSatisfaccion',\n\t\toutputs: ['tiempoSatisfaccion'],\n\t\toutputsText: ['tiempoSatisfaccion'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tDespués de tu última visita,{' '}\n\t\t\t\t\n\t\t\t\t\t¿{installation} se puso en contacto contigo para comprobar tu nivel de\n\t\t\t\t\tsatisfacción con el servicio recibido?\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'ContactoSatisfaccion',\n\t\toutputs: ['ContactoSatisfaccion'],\n\t\toutputsText: ['contactoSatisfaccion'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\t¿Cuál o cuáles de los aspectos de la siguiente lista fueron{' '}\n\t\t\t\t el motivo de tu última visita al Servicio Oficial?\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tPuedes elegir tres opciones\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\talternateTitle: (\n\t\t\t<>\n\t\t\t\t¿Cuál o cuáles de los aspectos de la siguiente lista fueron{' '}\n\t\t\t\t el motivo de tu última visita al Servicio Oficial?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'MotivoVisita',\n\t\toutputs: ['motivoVisita'],\n\t\toutputsText: ['motivoVisita'],\n\t\tctas: ctaMotivoVisita,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPensando en tu actual {vehicle}, ¿cuál es tu nivel de\n\t\t\t\tsatisfacción?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionVehiculo',\n\t\toutputs: ['satisfaccionVehiculo'],\n\t\toutputsText: ['satisfaccionVehiculo'],\n\t\toutputsIsStars: true,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPor favor, háblanos de tu{' '}\n\t\t\t\texperiencia con tu nuevo {vehicle}\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'SatisfaccionVehiculoMotivo',\n\t\toutputs: ['satisfaccionVehiculoMotivo'],\n\t\toutputsText: ['satisfaccionVehiculoMotivo'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPara finalizar, nos gustaría saber si podemos enviar tus respuestas, junto con tu nombre y el número de bastidor de tu vehículo, al Servicio Oficial {installation} para que puedan usarlos para análisis de producto adicionales. Puedes encontrar más información sobre el trato de tus datos personales en el link disponible al finalizar la encuesta.\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'EnviarConcesion',\n\t\toutputs: ['enviarConcesion'],\n\t\toutputsText: ['enviarConcesion'],\n\t\tctas: optionsEnviarConcesion,\n\t},\n\t{\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\tPor favor, introduce o comprueba tus datos:\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'DatosPersonales',\n\t\toutputs: ['name', 'surname', 'secondSurname'],\n\t\toutputsText: ['name', 'surname', 'secondSurname'],\n\t},\n\t{\n\t\ttitle: (\n\t\t\t\n\t\t\t\t¿Podríamos publicar tus respuestas en la web oficial de Volkswagen y en\n\t\t\t\tla de {installation} sin mencionar tu nombre?\n\t\t\t\n\t\t),\n\t\tfields: (\n\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tPara compartir tu experiencia con otros clientes.\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t}\n\t\t\t/>\n\t\t),\n\t\tscreenIndex: index++,\n\t\tname: 'PublicarRespuestas',\n\t\toutputs: ['publicarRespuestas'],\n\t\toutputsText: ['publicarRespuestas'],\n\t\tctas: optionsPublicarRespuestas,\n\t},\n\t{\n\t\tfields: ,\n\t\tscreenIndex: index++,\n\t\tname: 'Confirmacion',\n\t\toutputs: ['confirmacion'],\n\t\toutputsText: ['confirmacion'],\n\t},\n\t];\n\n\treturn stepsVenta;\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { FormController, isHighRating, isLowRating, isNoRating, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { CemFormProps, getStepsVenta, LastQuestionFlow } from 'src/forms/Cem';\nimport { checkUndefinedsInData, formatSinRespuestaValue, getCemDate, getSfAddressRest, sanitizeKvps, stepNameToFieldName, valueWrongConcesion, valueWrongMarca, valueWrongModelo, valueWrongPersona } from 'src/forms/Cem/helpers';\nimport { ThankYouCEM } from 'src/forms/Cem/ThankYouCem';\nimport { formatHeaders, formDataBuilder } from 'src/forms/format-fields';\nimport { addRemovedStep, getArrayOfStepsNames, getIndexInSteps, removeMultipleStepsAndResetScreenIndex, resetStepsScreenIndex, } from 'src/forms/helpers/add-remove-steps';\nimport { formatToTwoChars, strTitlelize } from 'src/helpers';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\n\nexport function CemFormVenta(props: CemFormProps) {\n\tconst { idOrder, idPerson, idVehicle, idDealer, dpsData, installation } = props;\n\tconst { initializeForm, handleNextStep } = useOneFormContext();\n\tconst { formData } = useSelector((state: OneFormState) => state);\n\tconst store = useStore();\n\tconst dispatch = useDispatch();\n\tconst [loading, setLoading] = useState(false);\n\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst dev = urlParams.get('dev') !== null;\n\n\tconst {\n\t\tdatosCorrectos,\n\t\tdatosIncorrectos,\n\t\tconfirmacionConcesion,\n\t\tsatisfaccionTrato,\n\t\tsatisfaccionOrganizacion,\n\t\tsatisfaccionAsesor,\n\t\tsatisfaccionConcesion,\n\t\tsatisfaccionTestDrive,\n\t\ttestDrive,\n\t\tmodelo,\n\t\tenviarConcesion,\n\t\tmasPreguntas,\n\t} = formData.fields;\n\n\tconst isElectrico = idVehicle.VGED_ModelGroup__c?.substring(0, 2) == 'ID';\n\n\tconst modeloRef = useRef(null); // Necesitamos almacenar el modelo ya que cada vez que el usuario selecciona un modelo se modifican los steps, por lo que necesitamos una referencia para saber que modelo hay que sustituir.\n\n\tconst getInstallationName = () => {\n\t\treturn strTitlelize(\n\t\t\tinstallation?.VGED_CommercialName__c \n\t\t\t\t? installation.VGED_CommercialName__c \n\t\t\t\t: idDealer?.VGED_CommercialName__c \n\t\t\t\t? idDealer.VGED_CommercialName__c \n\t\t\t\t: ''\n\t\t);\n\t};\n\n\tconst NuevoFormData: Partial = {\n\t\theaders: {\n\t\t\tFORM_DETAILS: 'CEM Venta',\n\t\t\tFORM_OBJECTIVE: 'Encuesta',\n\t\t\tDPS_TOKEN: 'VW_DDB_FRM_CEM_VN_2025',\n\t\t\tFORM_ID: 'Email_B04_C01_CEM_Sales',\n\t\t},\n\t\tfields: {\n\t\t\tlssiPincode: idPerson.LSSI__c,\n\t\t\tformName: 'cem-venta',\n\t\t\tformType: 'otherform',\n\t\t\tpageCategory: 'Encuesta',\n\t\t\tname: idPerson.FirstName,\n\t\t\tsurname: idPerson.LastName,\n\t\t\tsecondSurname: idPerson.MiddleName,\n\t\t\tinstallation: getInstallationName(),\n\t\t}, // Analítica\n\t};\n\n\tconst sendSurvey = () => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields } = formData;\n\n\t\treturn !( // negation\n\t\t\t(fields.datosCorrectos == 'false' && fields.datosIncorrectos == valueWrongMarca) ||\n\t\t\t(fields.datosCorrectos == 'false' && fields.datosIncorrectos == valueWrongPersona) ||\n\t\t\t(fields.datosCorrectos == 'false' && fields.datosIncorrectos == valueWrongConcesion && fields.confirmacionConcesion == 'false')\n\t\t);\n\t};\n\n\tconst getData = (addSurvey?: boolean) => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields, headers } = formData;\n\t\tconst { tc, today, url, device } = getParamsForm();\n\n\t\tconst data = {\n\t\t\t...formatHeaders(headers),\n\t\t\t'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n\t\t\t'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t'headers[FORM_URL]': url,\n\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\t\t\t'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\t\t\t'headers[FK_SYSTEM]': idOrder.VGED_ClimaproOrderID__c,\n\n\t\t\t'fields[DPS_BRAND]': 'Volkswagen',\n\t\t\t//'fields[SF_LEAD_INSTALLATION_ID]': installation.Id,\n\t\t\t'fields[SF_LEAD_INSTALLATION_NAME]': installation.VGED_CommercialName__c,\n\t\t\t'fields[SF_LEAD_INSTALLATION_CODE]': installation.VGED_ConcessionDealerCode__c,\n\t\t\t'fields[SF_LEAD_INSTALLATION_CODE_KVPS]': sanitizeKvps(installation.KVPSCode__c),\n\t\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n\t\t\t'fields[PERSON_NAME]': fields.name,\n\t\t\t'fields[PERSON_SURNAME_1]': fields.surname,\n\t\t\t'fields[PERSON_SURNAME_2]': fields.secondSurname,\n\t\t\t'fields[PERSON_EMAIL]': idPerson.PersonEmail,\n\t\t\t'fields[PERSON_PHONE_MOBILE]': idPerson.PersonMobilePhone,\n\t\t\t'fields[PERSON_POSTAL_ROAD_NAME]': getSfAddressRest(idPerson.PersonMailingAddress, 'street'),\n\t\t\t'fields[PERSON_POSTAL_CP]': getSfAddressRest(idPerson?.PersonMailingAddress, 'postalCode'),\n\t\t\t'fields[PERSON_POSTAL_LOCATION]': getSfAddressRest(idPerson?.PersonMailingAddress, 'city'),\n\t\t\t'fields[PERSON_POSTAL_PROVINCE_CODE]': formatToTwoChars(getSfAddressRest(idPerson?.PersonMailingAddress, 'stateCode')),\n\t\t\t'fields[VEH_ACTUAL_PLATE]': idVehicle.VGED_RegistrationPlate__c,\n\t\t\t'fields[VEH_ACTUAL_FRAME]': idVehicle.Name,\n\t\t\t'fields[VEH_ACTUAL_MODEL]': idVehicle.VGED_ModelGroup__c ? idVehicle.VGED_ModelGroup__c : dpsData.model ? dpsData.model : null,\n\n\t\t\t'fields[SURVEY_ANSWER_01]': fields.datosCorrectos == 'true' ? '1' : '2',\n\t\t\t'fields[SURVEY_ANSWER_02]': fields.datosCorrectos == 'false' ? fields.datosIncorrectos : null,\n\t\t\t'fields[SURVEY_ANSWER_03]': fields.datosCorrectos == 'false' && fields.datosIncorrectos == 2 ? fields.modelo : null,\n\t\t\t'fields[SURVEY_ANSWER_04]': fields.datosCorrectos == 'false' && fields.datosIncorrectos == 3 ? fields.confirmacionConcesion == 'true' ? '1' : '2' : null,\n\t\t\t// conditional send\n\t\t\t'fields[SURVEY_ANSWER_30]': fields.publicarRespuestas,\n\t\t\t'fields[SURVEY_ANSWER_32]': dpsData.adviser,\n\t\t\t'fields[SURVEY_ANSWER_34]': fields.enviarConcesion,\n\n\t\t\t'flags[PERSON_RGPD_ADAPTED]': 'true',\n\t\t\t//'flags[FLAG_RELACION_MARCA_SIN_IC]': 'false',\n\t\t};\n\n\t\tif(sendSurvey() || addSurvey) {\n\t\t\tdata['fields[SURVEY_ANSWER_06]'] = formatSinRespuestaValue(fields.satisfaccionTrato);\n\t\t\tdata['fields[SURVEY_ANSWER_07]'] = formatSinRespuestaValue(fields.satisfaccionTratoMotivo);\n\t\t\tdata['fields[SURVEY_ANSWER_08]'] = formatSinRespuestaValue(fields.satisfaccionOrganizacion);\n\t\t\tdata['fields[SURVEY_ANSWER_09]'] = formatSinRespuestaValue(fields.satisfaccionOrganizacionMotivo);\n\t\t\tdata['fields[SURVEY_ANSWER_10]'] = formatSinRespuestaValue(fields.satisfaccionAsesor);\n\t\t\tdata['fields[SURVEY_ANSWER_11]'] = formatSinRespuestaValue(fields.satisfaccionAsesorMotivo);\n\t\t\tdata['fields[SURVEY_ANSWER_12]'] = formatSinRespuestaValue(fields.satisfaccionConcesion);\n\t\t\tdata['fields[SURVEY_ANSWER_13]'] = formatSinRespuestaValue(fields.satisfaccionConcesionMotivo);\n\t\t\tdata['fields[SURVEY_ANSWER_14]'] = formatSinRespuestaValue(fields.aspectoSatisfaccionMotivo);\n\t\t\tdata['fields[SURVEY_ANSWER_15]'] = formatSinRespuestaValue(fields.testDrive);\n\t\t\tdata['fields[SURVEY_ANSWER_16]'] = formatSinRespuestaValue(fields.contactoSatisfaccion);\n\t\t\tdata['fields[SURVEY_ANSWER_17]'] = formatSinRespuestaValue(fields.informacionUsoVehiculo);\n\t\t\tdata['fields[SURVEY_ANSWER_18]'] = formatSinRespuestaValue(fields.satisfaccionTestDrive);\n\t\t\tdata['fields[SURVEY_ANSWER_19]'] = formatSinRespuestaValue(fields.satisfaccionTestDriveMotivo);\n\t\t}\n\n\t\tif (dpsData.agency) {\n\t\t\tdata['flags[FLAG_AGENCY]'] = dpsData.agency == 'AGENCIA' ? 'true' : 'false';\n\t\t}\n\n\t\tif (idOrder.VGED_CEMDeliveryDate__c && idOrder.VGED_CEMDeliveryDate__c != 'null') {\n\t\t\tdata['fields[CEM_DATE]'] = getCemDate(idOrder.VGED_CEMDeliveryDate__c);\n\t\t}\n\n\t\treturn data;\n\t};\n\n\tuseEffect(() => {\n\t\tif(dev) {\n\t\t\tconsole.log(getData(true));\n\t\t}\n\t}, [formData]);\n\n\tconst sendForm = (): Promise => {\n\n\t\treturn new Promise(async (resolve, reject) => {\n\n\t\t\tconst dataStringified = JSON.stringify(getData());\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tcheckUndefinedsInData(getData(), 'Venta');\n\t\t\tconst response = await oneformBFFNdpsSend(formData);\n\n\t\t\tif (response && response.data?.status?.code == 200) {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\t/**\n\t * Se extrae la lógica para poder utilizarla por separado sin tener que usar las funciones de loading o updateSteps ya que hay una pregunta en la que podemos eliminar y añadir un step en el mismo paso.\n\t *\n\t * @param stepsToAdd\n\t * @param alternativeSteps\n\t * @returns\n\t */\n\tconst addingStepsLogic = (stepsToAdd: string[], alternativeSteps?: Steps[]) => {\n\t\tconst { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tconst stepsToUse = alternativeSteps ? alternativeSteps : actualSteps;\n\t\t// Hay que revertir los steps para que se añadan en el orden correcto\n\t\tconst indexesInSteps = stepsToAdd.reverse().map((step) => getIndexInSteps(stepsToUse, step));\n\t\tlet newSteps = [...stepsToUse];\n\n\t\tindexesInSteps.forEach((index, i) => {\n\t\t\tif (index === -1) {\n\t\t\t\tnewSteps = addRemovedStep(getStepsVenta(getInstallationName(), getVehicleName()), stepsToUse, stepsToAdd[i], screenIndex);\n\t\t\t}\n\t\t});\n\t\tconst finalSteps = resetStepsScreenIndex(newSteps);\n\t\treturn finalSteps;\n\t};\n\n\tconst addSteps = (stepsToAdd: string[]) => {\n\t\tsetLoading(true);\n\n\t\tconst finalSteps = addingStepsLogic(stepsToAdd);\n\t\tupdateSteps(finalSteps);\n\t\thandleNextStep();\n\n\t\tsetLoading(false);\n\t};\n\n\tconst removeSteps = (stepsToDelete: string[]) => {\n\t\tconst { steps } = store.getState().formInfo;\n\t\tsetLoading(true);\n\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(steps, stepsToDelete);\n\t\tupdateSteps(finalSteps);\n\t\tsetLoading(false);\n\t};\n\n\tconst updateSteps = (steps: Steps[]) => {\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: steps });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: steps[steps.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: steps.length });\n\t};\n\n\tconst getVehicleName = () => {\n\t\tif(!idVehicle) return '';\n\t\treturn idVehicle.VGED_ModelGroup__c \n\t\t? idVehicle.VGED_ModelGroup__c \n\t\t: dpsData.model \n\t\t? dpsData.model \n\t\t: 'Volkswagen';\n\t};\n\n\tconst replaceModelo = (string: string) => {\n\t\tif (modeloRef.current) {\n\t\t\treturn string.replace(modeloRef.current, modelo);\n\t\t} else {\n\t\t\treturn string.replace(idVehicle.VGED_ModelGroup__c, modelo);\n\t\t}\n\t};\n\n\tconst modifyTitleSteps = (steps: Steps[], replaceCallback: (s: string) => string) => {\n\t\treturn steps.map((step) => {\n\t\t\tif (!step.title) return step;\n\t\t\tif (Array.isArray(step.title.props.children)) {\n\t\t\t\tstep.title.props.children = step.title.props.children.map((child: any) => {\n\t\t\t\t\tif (typeof child === 'object') {\n\t\t\t\t\t\tif (typeof child.props.children === 'object') {\n\t\t\t\t\t\t\tchild.props.children.props.children = replaceCallback(child.props.children.props.children);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tchild.props.children = replaceCallback(child.props.children);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tchild = replaceCallback(child);\n\t\t\t\t\t}\n\t\t\t\t\treturn child;\n\t\t\t\t});\n\t\t\t} else if (typeof step.title.props.children === 'object') {\n\t\t\t\tstep.title.props.children.props.children = replaceCallback(step.title.props.children.props.children);\n\t\t\t} else {\n\t\t\t\tstep.title.props.children = replaceCallback(step.title.props.children);\n\t\t\t}\n\t\t\treturn step;\n\t\t});\n\t};\n\n\tconst getOrderStep = (order: number, sc4: number, sc5: number, sc6: number) => {\n\t\treturn order === 1 ? sc4 : order === 2 ? sc5 : order === 3 ? sc6 : null;\n\t};\n\n\tconst shuffle = (array: number[]): number[] => array.sort(() => Math.random() - 0.5);\n\n\t/**\n\t * El orden de las preguntas Sc_4,Sc_5 y Sc_6 tiene que ser aleatorio.\n\t * @param steps\n\t */\n\tconst randomizeSteps = (steps: Steps[]): Steps[] => {\n\t\tconst sc4 = getIndexInSteps(steps, 'SatisfaccionTrato');\n\t\tconst sc4Motivo = getIndexInSteps(steps, 'SatisfaccionTratoMotivo');\n\n\t\tconst sc5 = getIndexInSteps(steps, 'SatisfaccionOrganizacion');\n\t\tconst sc5Motivo = getIndexInSteps(steps, 'SatisfaccionOrganizacionMotivo');\n\n\t\tconst sc6 = getIndexInSteps(steps, 'SatisfaccionAsesor');\n\t\tconst sc6Motivo = getIndexInSteps(steps, 'SatisfaccionAsesorMotivo');\n\n\t\tlet newSteps = [...steps];\n\t\tconst [first, second, third] = shuffle([1, 2, 3]);\n\t\tconst firstStep = getOrderStep(first, sc4, sc5, sc6);\n\t\tconst secondStep = getOrderStep(second, sc4, sc5, sc6);\n\t\tconst thirdStep = getOrderStep(third, sc4, sc5, sc6);\n\t\tnewSteps[sc4] = steps[firstStep];\n\t\tnewSteps[sc4Motivo] = steps[firstStep + 1];\n\t\tnewSteps[sc5] = steps[secondStep];\n\t\tnewSteps[sc5Motivo] = steps[secondStep + 1];\n\t\tnewSteps[sc6] = steps[thirdStep];\n\t\tnewSteps[sc6Motivo] = steps[thirdStep + 1];\n\n\t\treturn newSteps;\n\t};\n\n\tconst getFormInfo = (steps: Steps[]) => {\n\t\tconst randomizedSteps = randomizeSteps(steps);\n\n\t\treturn {\n\t\t\tfirstStep: randomizedSteps[0],\n\t\t\tlastStep: randomizedSteps[randomizedSteps.length - 1],\n\t\t\tstepsHistory: [0],\n\t\t\tnumberOfScreens: randomizedSteps.length,\n\t\t\tnewSteps: randomizedSteps,\n\t\t};\n\t};\n\n\t// Lógica para modificar el flujo del formulario\n\tuseEffect(() => {\n\t\tif (modelo) {\n\t\t\tconst pastSteps = store.getState().formInfo.steps;\n\t\t\tconst newSteps = modifyTitleSteps(pastSteps, replaceModelo);\n\t\t\tmodeloRef.current = modelo;\n\t\t\tupdateSteps(newSteps);\n\t\t}\n\t}, [modelo]);\n\n\tuseEffect(() => {\n\t\tif (datosCorrectos === 'true') {\n\t\t\tconst steps = store.getState().formInfo.steps;\n\t\t\tconst modelo = getIndexInSteps(steps, 'Modelo');\n\t\t\t// En el caso de elegir que los datos son incorrectos, llegar a confirmación y volver atrás hay que regenerar todos los pasos.\n\t\t\tif (modelo === -1) {\n\t\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(initialSteps, [\n\t\t\t\t\t'DatosIncorrectos',\n\t\t\t\t\t'Modelo',\n\t\t\t\t\t'ConfirmacionConcesion',\n\t\t\t\t]);\n\t\t\t\tupdateSteps(finalSteps);\n\t\t\t} else {\n\t\t\t\tremoveSteps(['DatosIncorrectos', 'Modelo', 'ConfirmacionConcesion']);\n\t\t\t}\n\t\t} else if (datosCorrectos === 'false') {\n\t\t\taddSteps(['DatosIncorrectos', 'Modelo']);\n\t\t}\n\t}, [datosCorrectos]);\n\n\tuseEffect(() => {\n\t\tif (\n\t\t\tdatosIncorrectos == valueWrongMarca ||\n\t\t\tdatosIncorrectos == valueWrongPersona\n\t\t) {\n\t\t\tconst pastSteps = store.getState().formInfo.steps;\n\t\t\tconst newsteps = [pastSteps[0], pastSteps[1], pastSteps[pastSteps.length - 1]];\n\t\t\tconst finalSteps = resetStepsScreenIndex(newsteps);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t\tif (datosIncorrectos == valueWrongConcesion) {\n\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(initialSteps, ['Modelo']);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t\tif (datosIncorrectos == valueWrongModelo) {\n\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(initialSteps, ['ConfirmacionConcesion']);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t}, [datosIncorrectos]);\n\n\tuseEffect(() => {\n\t\tif (confirmacionConcesion === 'false') {\n\t\t\tconst pastSteps = store.getState().formInfo.steps;\n\t\t\tconst newsteps = [pastSteps[0], pastSteps[1], pastSteps[2], pastSteps[pastSteps.length - 1]];\n\t\t\tconst finalSteps = resetStepsScreenIndex(newsteps);\n\t\t\tupdateSteps(finalSteps);\n\t\t} else if (confirmacionConcesion === 'true') {\n\t\t\tconst initialSteps = store.getState().formInfo.initialSteps;\n\t\t\tconst finalSteps = removeMultipleStepsAndResetScreenIndex(initialSteps, ['Modelo']);\n\t\t\tupdateSteps(finalSteps);\n\t\t}\n\t}, [confirmacionConcesion]);\n\n\tuseEffect(() => {\n\t\tif (!enviarConcesion) {\n\t\t\treturn;\n\t\t}\n\t\tif (enviarConcesion === '3') {\n\t\t\taddSteps(['DatosPersonales']);\n\t\t} else {\n\t\t\tremoveSteps(['DatosPersonales']);\n\t\t}\n\t}, [enviarConcesion]);\n\n\tuseEffect(() => {\n\t\tif (!masPreguntas) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (masPreguntas === 'true') {\n\t\t\tconst stepNames = getArrayOfStepsNames(getStepsVenta(getInstallationName(), getVehicleName()), 'MasPreguntas', 'EnviarConcesion');\n\t\t\taddSteps(stepNames);\n\t\t} else if (masPreguntas === 'false') {\n\t\t\tconst { steps } = store.getState().formInfo;\n\t\t\tconst stepNames = getArrayOfStepsNames(steps, 'MasPreguntas', 'EnviarConcesion');\n\t\t\tremoveSteps(stepNames);\n\t\t}\n\t}, [masPreguntas]);\n\n\t/**\n\t * Se tiene que de manera consecutiva y no mediante las otras funciones porque si no, se actualizan los steps dos veces y en el segundo paso (añadir o eliminar el otro step) se hace siempre sobre los steps antiguos y no funciona de la manera esperada.\n\t *\n\t * @param stepToRemove\n\t * @param stepToAdd\n\t */\n\tconst removeAndAddStepAtTheSameTime = (stepToRemove: string, stepToAdd: string) => {\n\t\tconst { steps } = store.getState().formInfo;\n\t\tsetLoading(true);\n\t\tconst removedSteps = removeMultipleStepsAndResetScreenIndex(steps, [stepToRemove]);\n\t\tconst addedSteps = addingStepsLogic([stepToAdd], removedSteps);\n\t\tconst finalSteps = resetStepsScreenIndex(addedSteps);\n\t\thandleNextStep();\n\t\tupdateSteps(finalSteps);\n\t\tsetLoading(false);\n\t};\n\n\tconst handleShowMotivo = (nameOfMotivoStep: string, value?: string) => {\n\t\tif (value) {\n\t\t\tif (Number(value) == -1) value = 'Sin respuesta';\n\t\t\tif (isLowRating(value)) {\n\t\t\t\taddSteps([nameOfMotivoStep]);\n\t\t\t} else if (isHighRating(value) || isNoRating(value)) {\n\t\t\t\tremoveSteps([nameOfMotivoStep]);\n\t\t\t\tdelete formData.fields[stepNameToFieldName(nameOfMotivoStep)];\n\t\t\t}\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\thandleShowMotivo('SatisfaccionTratoMotivo', satisfaccionTrato);\n\t}, [satisfaccionTrato]);\n\n\tuseEffect(() => {\n\t\thandleShowMotivo('SatisfaccionOrganizacionMotivo', satisfaccionOrganizacion);\n\t}, [satisfaccionOrganizacion]);\n\n\tuseEffect(() => {\n\t\thandleShowMotivo('SatisfaccionAsesorMotivo', satisfaccionAsesor);\n\t}, [satisfaccionAsesor]);\n\n\tuseEffect(() => {\n\t\tconst stepName = store.getState().formInfo?.step?.name;\n\n\t\t// Verificamos que se ha contestado SatisfaccionConcesion\n\t\tif (stepName == 'SatisfaccionConcesion') {\n\n\t\t\tconst ratings = [satisfaccionTrato, satisfaccionOrganizacion, satisfaccionAsesor];\n\t\t\tconst { mostrarQlast1, mostrarQlast2 } = LastQuestionFlow(ratings, satisfaccionConcesion);\n\n\t\t\tif (mostrarQlast1 && mostrarQlast2) {\n\t\t\t\taddSteps(['SatisfaccionConcesionMotivo', 'AspectoSatisfaccionMotivo']);\n\t\t\t}\n\t\t\tif (!mostrarQlast1 && !mostrarQlast2) {\n\t\t\t\tremoveSteps(['SatisfaccionConcesionMotivo', 'AspectoSatisfaccionMotivo']);\n\t\t\t\tdelete formData.fields.satisfaccionConcesionMotivo;\n\t\t\t\tdelete formData.fields.sspectoSatisfaccionMotivo;\n\t\t\t}\n\t\t\tif (!mostrarQlast1 && mostrarQlast2) {\n\t\t\t\tremoveAndAddStepAtTheSameTime('SatisfaccionConcesionMotivo', 'AspectoSatisfaccionMotivo');\n\t\t\t\tdelete formData.fields.satisfaccionConcesionMotivo;\n\t\t\t}\n\t\t\tif (mostrarQlast1 && !mostrarQlast2) {\n\t\t\t\tremoveAndAddStepAtTheSameTime('AspectoSatisfaccionMotivo', 'SatisfaccionConcesionMotivo');\n\t\t\t\tdelete formData.fields.aspectoSatisfaccionMotivo;\n\t\t\t}\n\t\t}\n\t}, [satisfaccionTrato, satisfaccionOrganizacion, satisfaccionAsesor, satisfaccionConcesion]);\n\n\tuseEffect(() => {\n\t\tif(testDrive == '1') {\n\t\t\taddSteps(['SatisfaccionTestDrive', 'SatisfaccionTestDriveMotivo']);\n\t\t}\n\t\telse if(testDrive) {\n\t\t\tremoveSteps(['SatisfaccionTestDrive', 'SatisfaccionTestDriveMotivo']);\n\t\t}\n\t}, [testDrive]);\n\n\tuseEffect(() => {\n\t\thandleShowMotivo('SatisfaccionTestDriveMotivo', satisfaccionTestDrive);\n\t}, [satisfaccionTestDrive]);\n\n\tuseEffect(() => {\n\t\tif (!installation) return null;\n\n\t\tconst { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo(getStepsVenta(getInstallationName(), getVehicleName()));\n\n\t\tconst NuevoFormInfo: Partial = {\n\t\t\tformStarted: true,\n\t\t\tsendFormCallback: sendForm,\n\t\t\tfullScreen: firstStep.fullScreen ? true : false,\n\t\t\tlastStep,\n\t\t\tnumberOfScreens,\n\t\t\tformTheme: 'main',\n\t\t\tnotALayer: true,\n\t\t\tformType: 'inPage',\n\t\t\tscreenIndex: firstStep.screenIndex,\n\t\t\tstep: firstStep,\n\t\t\tsteps: newSteps ? newSteps : getStepsVenta(getInstallationName(), getVehicleName()),\n\t\t\tstepsHistory,\n\t\t\tthankYouComponent: ,\n\t\t\thideLegal: idPerson.LSSI__c === 'PERMITE' ? true : false,\n\t\t};\n\n\t\tinitializeForm(NuevoFormInfo, NuevoFormData);\n\t}, [installation]);\n\n\treturn !loading ? : null;\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { isHighRating, isLowRating, isNoRating, allHighRatings, allLowRatings, allNoRatings, allHighOrNoRatings } from 'src/feature-app';\n\n\nexport function LastQuestionFlow(ratings: string[], lastQuestion: string) {\n\n\tconst goodRating = allHighRatings(ratings);\n\tconst badRating = allLowRatings(ratings);\n\tconst emptyRating = allNoRatings(ratings);\n\tconst goodOrEmptyRating = allHighOrNoRatings(ratings);\n\n\t/* \n\tQfinal=4,5 AND NOT [Q1=3,2,1 AND Q2=3,2,1 AND Qn=3,2,1]\n\tOR\n\tQfinal=3,2,1 AND Q1=5,4,9 AND Q2=5,4,9 AND Qn=5,4,9\n\t*/\n\tconst mostrarQlast1 =\n\t\t(isHighRating(lastQuestion) && !badRating)\n\t\t||\n\t\t(isLowRating(lastQuestion) && goodOrEmptyRating);\n\n\t/* \n\tQfinal=3,2,1 \n\tAND\n\tNOT [Q1=5,4,9 AND Q2=5,4,9 AND Qn=5,4,9]\n\tAND\n\tNOT [Q1=3,2,1 AND Q2=3,2,1 AND Qn=3,2,1]\n\t*/\n\tconst mostrarQlast2 = isLowRating(lastQuestion) && !goodOrEmptyRating && !badRating;\n\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst dev = urlParams.get('dev') !== null;\n\n\tif(dev) {\n\t\tconsole.log('LAST RATING:', lastQuestion, 'isHigh:', isHighRating(lastQuestion), 'isLow:', isLowRating(lastQuestion));\n\t\tconsole.log('RATINGS:', ratings, 'allgood:', goodRating, 'allbad:', badRating, 'allempty:', emptyRating, 'allgoodroempty:', goodOrEmptyRating);\n\t\tconsole.log('show1:', mostrarQlast1, 'show2:', mostrarQlast2);\n\t}\n\n\treturn {\n\t\tmostrarQlast1: mostrarQlast1,\n\t\tmostrarQlast2: mostrarQlast2\n\t};\n\n}\n","import React from 'react';\nimport { Layout, Breakpoints, Text, styled, Container, ContainerGutter, CTA, TokenTextAppearance, TokenTextColor, } from '@volkswagen-onehub/components-core';\n\nconst PaddingWrapper = styled.div`\n\tpadding-top: 32px;\n`;\ninterface LegalesCEMProps {\n\tisPosventa?: boolean;\n}\n\nexport const LegalesCEM = (props: LegalesCEMProps) => {\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tTexto legal de Volkswagen\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\tEl responsable de tus datos es Volkswagen Group España Distribución, S.A.U. Vamos a utilizar tus datos para realizar un control de calidad sobre los productos y servicios contratados, mediante la realización de la presente encuesta de satisfacción, y contactarte para resolución de incidencias, reclamaciones o quejas. Tus datos podrán ser comunicados a las empresas del grupo para las finalidades de controlar la calidad de los productos y servicios, así como contactarte para resolución de incidencias, reclamaciones o quejas y, en el caso que hayas consentido, para elaborar tu perfil como usuario para enviarte comunicaciones comerciales según lo indicado en el consentimiento. También en el supuesto de haber consentido, tus datos y las respuestas de la presente encuesta de satisfacción serán comunicadas al {props.isPosventa ? 'Servicio Oficial' : 'punto de venta'}.\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\tTienes derecho a oponerte al tratamiento, limitar el mismo, acceder, rectificar, suprimir los datos y ejercer tu derecho a portabilidad, mediante el envío de un correo electrónico a:{' '}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tatencioncliente@volkswagen.es\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\tPuedes consultar la información adicional en la{' '}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tpolítica de privacidad\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t.\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import React from 'react';\nimport { Layout, Breakpoints } from '@volkswagen-onehub/components-core';\nimport { LegalFullScreenSinConsentmientos } from 'src/components';\n\nexport const LegalesSinConsentimientosCEM = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import React, {useEffect} from 'react';\nimport {getDealerKvps} from 'src/bff';\nimport {TriggerProps, useFaContent, useGetDealers, VehicleCalculadora} from 'src/feature-app';\nimport {FormDataFields} from 'src/types';\nimport {AppointmentVehicle, transformMillage} from 'src/forms';\nimport {NuevaCitaPosventaFormController} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\n\nconst getAppointmentVehicle = (vehicle: VehicleCalculadora): AppointmentVehicle => {\n\treturn {\n\t\tbrand: 'V',\n\t\tframe: vehicle.vin,\n\t\tmillage: transformMillage(vehicle.mileage),\n\t\tmodelVersion: vehicle.modelDescr,\n\t\tmodelYear: 0,\n\t\tplate: vehicle.plate.toUpperCase(),\n\t\tplateDate: `${vehicle.plateDate} 00:00:00`,\n\t\ttmaimg: vehicle.modelKey,\n\t\tmodel: {\n\t\t\tcode: vehicle.familyCode,\n\t\t\tkey: vehicle.familyCode,\n\t\t\tname: vehicle.familyDesc,\n\t\t},\n\t};\n};\n\n//NO SE USA\n\nexport function CitaPosventaCalculadoraForm({setSelectedJourney}: TriggerProps) {\n\t// const faContent = useFaContent();\n\t// const { loading } = useGetDealers(faContent?.dealer);\n\n\t// const renderForm = (fields: FormDataFields) => {\n\t// setSelectedJourney(\n\t// ,\n\t// true\n\t// );\n\t// };\n\t// useEffect(() => {\n\t// if (loading) return;\n\n\t// const fields = {\n\t// motivo: 'MANTENIMIENTO',\n\t// formName: 'cita-posventa-calculadora',\n\t// matricula: faContent?.vehicle[0]?.plate,\n\t// vehicleForCalculadora: getAppointmentVehicle(faContent?.vehicle[0]),\n\t// kilometros: transformMillage(faContent?.vehicle[0]?.mileage),\n\t// anoMatriculacion: faContent?.vehicle[0]?.plateDate,\n\t// modelo: faContent?.vehicle[0]?.modelDescr,\n\t// budget: { pvp: faContent?.quotePvp, operations: [...faContent?.quoteOperations] },\n\t// deepLink: faContent?.deepLink,\n\t// };\n\t// const kvps = faContent?.dealer;\n\n\t// getDealerKvps(kvps)\n\t// .then((dealer) => {\n\t// renderForm({ ...fields, dealer });\n\t// })\n\t// .catch((err) => {\n\t// renderForm({ ...fields, dealer: {} }); // Hay que ver que hacer en estos casos.\n\t// });\n\t// }, [loading]);\n\n\treturn <>;\n}\n","import React, {useEffect} from 'react';\nimport {getDealers} from 'src/bff';\nimport {TriggerProps, useFaContent, useGetDealers} from 'src/feature-app';\nimport {FormDataFields} from 'src/types';\nimport {NuevaCitaPosventaFormController} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\n\nexport function CitaPosventaBonosForm({setSelectedJourney}: TriggerProps) {\n\tconst faContent = useFaContent();\n\tconst {loading} = useGetDealers(faContent?.dealer);\n\n\tconst renderForm = (fields: FormDataFields) => {\n\t\tsetSelectedJourney(\n\t\t\t,\n\t\t\ttrue,\n\t\t);\n\t};\n\tuseEffect(() => {\n\t\tif (loading) return;\n\n\t\tconst fields = {\n\t\t\tmotivo: 'OTROS',\n\t\t\tformName: 'cita-posventa-bono',\n\t\t\tmasInformacion: faContent?.bono[0].desc,\n\t\t\tdeepLink: faContent?.deepLink,\n\t\t};\n\t\tconst kvps = faContent?.dealer;\n\n\t\tgetDealers()\n\t\t\t.then(() => {\n\t\t\t\trenderForm({...fields});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\trenderForm({...fields}); // Hay que ver que hacer en estos casos.\n\t\t\t});\n\t}, [loading]);\n\n\treturn <>;\n}\n","import React, {useEffect} from 'react';\nimport {getDealers} from 'src/bff';\nimport {TriggerProps, useFaContent, useGetDealers, VehiclePortal} from 'src/feature-app';\nimport {FormDataFields} from 'src/types';\nimport {AppointmentVehicle, transformMillage} from 'src/forms';\nimport {NuevaCitaPosventaFormController} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\n\nconst getAppointmentVehicle = (vehicle: VehiclePortal): AppointmentVehicle => {\n\treturn {\n\t\tbrand: 'V',\n\t\tframe: vehicle.frame,\n\t\tmillage: vehicle.localKM == -1 ? vehicle.climaProKM : vehicle.localKM,\n\t\tmodelVersion: vehicle.commercialDenominationSli,\n\t\tmodelYear: 0,\n\t\tplate: vehicle.license.toUpperCase(),\n\t\tplateDate: transformTimestampToDate(vehicle.licenseDate, false),\n\t\ttmaimg: vehicle.tmaimg,\n\t\tmodel: {\n\t\t\tcode: vehicle.familyModelCode,\n\t\t\tkey: vehicle.familyModelCode,\n\t\t\tname: vehicle.familyModelDesc,\n\t\t},\n\t};\n};\n\nconst transformTimestampToDate = (date: number, isOnlyYear: boolean) => {\n\tconst timestamp = date;\n\tlet formattedDate: string;\n\tif (isOnlyYear) {\n\t\tformattedDate = new Date(timestamp).toLocaleDateString('es-ES', {\n\t\t\tyear: 'numeric',\n\t\t});\n\t} else {\n\t\tformattedDate = new Date(timestamp).toISOString().replace(/T/, ' ').replace(/\\..+/, '');\n\t}\n\treturn formattedDate;\n};\n\nexport function CitaPosventaMaintenanceForm({setSelectedJourney}: TriggerProps) {\n\tconst faContent = useFaContent();\n\tconst {loading} = useGetDealers(faContent?.dealer);\n\tconst vehicle = faContent?.vehicle[0];\n\n\tconst renderForm = (fields: FormDataFields) => {\n\t\tsetSelectedJourney(\n\t\t\t,\n\t\t\ttrue,\n\t\t);\n\t};\n\tuseEffect(() => {\n\t\tif (loading) return;\n\n\t\tconst fields = {\n\t\t\tmotivo: 'MANTENIMIENTO',\n\t\t\tformName: 'cita-posventa-maintenance-plan',\n\t\t\tmatricula: vehicle.license,\n\t\t\tvehicleForMaintenance: getAppointmentVehicle(vehicle),\n\t\t\tkilometros: vehicle.localKM == -1 ? vehicle.climaProKM : vehicle.localKM,\n\t\t\tanoMatriculacion: transformTimestampToDate(vehicle.licenseDate, true),\n\t\t\tmodelo: vehicle.commercialDenominationSli,\n\t\t\t//budget: { pvp: faContent?.quotePvp, operations: [...faContent?.quoteOperations] },\n\t\t};\n\n\t\tgetDealers()\n\t\t\t.then(() => {\n\t\t\t\trenderForm({...fields});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\trenderForm({...fields}); // Hay que ver que hacer en estos casos.\n\t\t\t});\n\t}, [loading]);\n\n\treturn <>;\n}\n","import React, { useEffect } from 'react';\nimport { getDealers } from 'src/bff';\nimport { TriggerProps, useFaContent, useGetDealers, VehiclePortal } from 'src/feature-app';\nimport { FormDataFields } from 'src/types';\nimport { AppointmentVehicle } from 'src/forms';\nimport { NuevaCitaPosventaFormController } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\n\nconst getAppointmentVehicle = (vehicle: VehiclePortal): AppointmentVehicle => {\n\treturn {\n\t\tbrand: 'V',\n\t\tframe: vehicle.frame,\n\t\tmillage: vehicle.localKM == -1 ? vehicle.climaProKM : vehicle.localKM,\n\t\tmodelVersion: vehicle.commercialDenominationSli,\n\t\tmodelYear: 0,\n\t\tplate: vehicle.license.toUpperCase(),\n\t\tplateDate: transformTimestampToDate(vehicle.licenseDate, false),\n\t\ttmaimg: vehicle.tmaimg,\n\t\tmodel: {\n\t\t\tcode: vehicle.familyModelCode,\n\t\t\tkey: vehicle.familyModelCode,\n\t\t\tname: vehicle.familyModelDesc,\n\t\t},\n\t};\n};\n\nconst transformTimestampToDate = (date: number, isOnlyYear: boolean) => {\n\tconst timestamp = date;\n\tlet formattedDate: string;\n\tif (isOnlyYear) {\n\t\tformattedDate = new Date(timestamp).toLocaleDateString('es-ES', {\n\t\t\tyear: 'numeric',\n\t\t});\n\t} else {\n\t\tformattedDate = new Date(timestamp).toISOString().replace(/T/, ' ').replace(/\\..+/, '');\n\t}\n\treturn formattedDate;\n};\n\nexport function CitaPosventaPortalForm({ setSelectedJourney }: TriggerProps) {\n\tconst faContent = useFaContent();\n\tconst { loading } = useGetDealers(faContent?.dealer);\n\tconst vehicle = faContent?.vehicle[0];\n\n\tconst renderForm = (fields: FormDataFields) => {\n\t\tsetSelectedJourney(\n\t\t\t,\n\t\t\ttrue,\n\t\t);\n\t};\n\tuseEffect(() => {\n\t\tif (loading) return;\n\n\t\tconst fields = {\n\t\t\tmotivo: faContent.motivo ?? null,\n\t\t\tformName: 'cita-posventa-portal',\n\t\t\tmatricula: vehicle.license,\n\t\t\tvehicleForMaintenance: getAppointmentVehicle(vehicle),\n\t\t\tkilometros: vehicle.localKM == -1 ? vehicle.climaProKM : vehicle.localKM,\n\t\t\tanoMatriculacion: transformTimestampToDate(vehicle.licenseDate, true),\n\t\t\tmodelo: vehicle.commercialDenominationSli,\n\t\t\t//budget: { pvp: faContent?.quotePvp, operations: [...faContent?.quoteOperations] },\n\t\t};\n\n\t\tgetDealers()\n\t\t\t.then(() => {\n\t\t\t\trenderForm({ ...fields });\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\trenderForm({ ...fields }); // Hay que ver que hacer en estos casos.\n\t\t\t});\n\t}, [loading]);\n\n\treturn <>;\n}\n","import {Breakpoints, BreakpointWrapper} from '@volkswagen-onehub/components-core';\nimport {CloseHandleV2, FocusLayerSizeV2, LayerManagerV2} from '@volkswagen-onehub/layer-manager';\nimport React, {useCallback, useEffect, useRef, useState} from 'react';\nimport {useDispatch, useSelector, useStore} from 'react-redux';\nimport {AvailabilityErrorLayer} from 'src/components';\nimport {\n\tisNull,\n\tLayerManagerWrapper,\n\tNewDealerCard,\n\tuseFeatureAppConfig,\n\tuseFeatureAppEnvironment,\n\tuseMapGeneralController,\n\tweekDay_Day_Hour,\n} from 'src/feature-app';\nimport {LoadingLayer, ReservaCitaLayer} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport {\n\tAssessors,\n\tAvailability,\n\tCalendarSlot,\n\tDealersData,\n\tDmsInfo,\n\tHorario,\n\tOneFormState,\n\tSelectedTab,\n\tPoints,\n\tSteps,\n} from 'src/types';\nimport {CalendarioCita} from 'src/feature-app/CalendarioCita/';\nimport {useOneFormContext} from 'src/feature-app/OneForm';\nimport {useFeatureServices} from 'src/feature-app/hooks/use-feature-services';\nimport {\n\tgetDistanceFromLatLngCenter,\n\tcreateNoDmsSlotAndAssessor,\n\tLayerDesktopView,\n\tLayerMobileView,\n} from 'src/feature-app/NewMap';\nimport {getEarliestSlot, sortPointsByDistance} from 'src/feature-app/NewMap/sort-points';\nimport {useIsComerciales} from 'src/feature-app/hooks';\nimport {getEapiAvailability} from 'src/bff';\nimport {getFirstAndLastDayOfMonth} from 'src/helpers';\n\ninterface AvailabilityHistory {\n\tdealerkvps: string;\n\tavailabilityHistory: AvailabilityHistoryDealer[];\n}\n\ninterface AvailabilityHistoryDealer {\n\tdealer: DmsInfo;\n\tfrom: number;\n\tto: number;\n\tavailability: Availability;\n}\n\nexport const JourneyCitaPosventaController = () => {\n\tconst {formData, formInfo, dealersInfo} = useSelector((state: OneFormState) => state);\n\tconst {horario, dealer}: {horario?: Horario; dealer?: DealersData} = formData.fields;\n\tconst {formEnded, showCalendarOnLoad} = formInfo;\n\tconst {points, selectedDealer} = dealersInfo;\n\tconst {handleNextStep, handleScreenChange, setIsFullScreen} = useOneFormContext();\n\tconst layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n\tconst store = useStore();\n\tconst dispatch = useDispatch();\n\tconst env = useFeatureAppEnvironment();\n\tconst config = useFeatureAppConfig();\n\tconst [showCalendar, setShowCalendar] = useState(false);\n\t// const [selectedPoint, handleSelectedPoint] = useState(null);\n\tconst [loading, setLoading] = useState(false);\n\tconst [error, setError] = useState(false);\n\tconst [preSelectedOrderValue, setPreSelectedOrderValue] = useState('ubicacion');\n\tconst pointsByTimeRef = useRef(null);\n\tconst pointsByDistanceRef = useRef(null);\n\tconst isComerciales = useIsComerciales();\n\n\tconst [firstAvailability, setFirstAvailability] = useState(null);\n\tconst availabilityHistory = useRef([]);\n\tconst loadingLayer = useRef(null);\n\tconst {\n\t\tclusters,\n\t\tcenterToCalculateDistance,\n\t\tsuperClusterRef,\n\t\tcardsDistanceRef,\n\t\tcardsTimeRef,\n\t\tselectedPoint,\n\t\thandleSelectedPoint,\n\t} = useMapGeneralController();\n\n\tconst [pointsToList, setPointsToList] = useState(null);\n\tconst [selectedSlot, setSelectedSlot] = useState(null);\n\n\tuseEffect(() => {\n\t\tif ((formEnded && dealer && showCalendarOnLoad) || selectedDealer || showCalendarOnLoad) {\n\t\t\tconst point = points.find((point: Points) => {\n\t\t\t\tif (point.properties.dealer.kvps === dealer?.kvps || point.properties.dealer.kvps === selectedDealer?.kvps) {\n\t\t\t\t\treturn point;\n\t\t\t\t}\n\t\t\t});\n\t\t\thandleShowCalendarOnClick(point);\n\t\t}\n\t}, []);\n\n\t//\n\t// Este useEffect sustituye a los anteriores.\n\t//\n\tuseEffect(() => {\n\t\tif (clusters && superClusterRef.current) {\n\t\t\tconst pointsByDistance = sortPointsByDistance(\n\t\t\t\tclusters,\n\t\t\t\tcenterToCalculateDistance.current,\n\t\t\t\tsuperClusterRef.current,\n\t\t\t);\n\t\t\tpointsByDistanceRef.current = pointsByDistance;\n\t\t\tsetPointsToList(pointsByDistance);\n\t\t}\n\t}, [clusters, superClusterRef.current]);\n\n\tconst getAvailability = async (\n\t\tdealer: DealersData,\n\t\tstart: number,\n\t\tend: number,\n\t\tskipHandleAvailability?: boolean,\n\t): Promise => {\n\t\tconst cachedAvailability = checkIfAvailabilityIsInCache(dealer, start);\n\n\t\tif (cachedAvailability) {\n\t\t\tsetFirstAvailability(cachedAvailability);\n\t\t\treturn cachedAvailability;\n\t\t} else {\n\t\t\tshowLoadingLayer();\n\t\t\tconst response = await getEapiAvailability(dealer.kvps, dealer.codInstalacion, start, end);\n\t\t\tif (!response) {\n\t\t\t\t// Error desde EAPI\n\t\t\t\thandleAvailabilityErrorLayer();\n\t\t\t}\n\t\t\tconst availability = response?.data;\n\t\t\tsaveAvailabilityInCache(dealer, start, end, availability);\n\t\t\thideLoadingLayer();\n\t\t\tsetError(false);\n\n\t\t\tif (availability.content?.calendar) {\n\t\t\t\tsetFirstAvailability(availability);\n\t\t\t\treturn availability;\n\t\t\t} else {\n\t\t\t\t// Error desde EAPI\n\t\t\t\t// handleAvailabilityErrorLayer();\n\t\t\t\t// Nuevo layer sin conexión DMS\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst checkIfAvailabilityIsInCache = (dealer: DealersData, start: number): Availability | null => {\n\t\tconst dealerHistory = availabilityHistory.current.find((a) => a.dealerkvps === dealer.kvps);\n\n\t\tif (dealerHistory) {\n\t\t\tconst availabiliyDealer = dealerHistory.availabilityHistory.find(\n\t\t\t\t(dealerAv) => dealerAv.from === start || start < dealerAv.to,\n\t\t\t);\n\t\t\treturn availabiliyDealer ? availabiliyDealer.availability : null;\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst getAvailabilityFromDealer = (kvps: string): AvailabilityHistory | null => {\n\t\tconst dealerHistory = availabilityHistory.current.find((a) => a.dealerkvps === kvps);\n\n\t\treturn dealerHistory ? dealerHistory : null;\n\t};\n\n\tconst saveAvailabilityInCache = (dealer: DealersData, start: number, end: number, availability: Availability) => {\n\t\tconst dealerInAvailability = availability.content.dealer;\n\t\tconst availabilityHistoryDealer: AvailabilityHistoryDealer = {\n\t\t\tdealer: dealerInAvailability ? dealerInAvailability : dealer.dmsInfo,\n\t\t\tfrom: start,\n\t\t\tto: end,\n\t\t\tavailability,\n\t\t};\n\n\t\tconst dealerHistoryIndex = availabilityHistory.current.findIndex((a) => a.dealerkvps === dealer.kvps);\n\t\t// Si ya existe el dealer se añade a la array de availability.\n\t\tif (dealerHistoryIndex !== -1) {\n\t\t\tavailabilityHistory.current[dealerHistoryIndex].availabilityHistory.push(availabilityHistoryDealer); // Testear\n\t\t} else {\n\t\t\t// Si no existe el dealer se crea una entrada en el histórico.\n\t\t\tavailabilityHistory.current = [\n\t\t\t\t...availabilityHistory.current,\n\t\t\t\t{\n\t\t\t\t\tdealerkvps: dealer.kvps,\n\t\t\t\t\tavailabilityHistory: [availabilityHistoryDealer],\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t};\n\n\tconst getRandomInt = (max: number): number => {\n\t\tconst min = 1;\n\t\tmax = Math.floor(max);\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t};\n\n\tconst handleDmsMapExit = (slot: CalendarSlot | CalendarSlot[], point: Points) => {\n\t\tconst {dealer} = point.properties;\n\t\tconst dealerAvailability = getAvailabilityFromDealer(dealer.kvps);\n\t\tif (dealerAvailability && dealerAvailability.availabilityHistory[0].dealer) {\n\t\t\tconst dealerFromDms = dealerAvailability.availabilityHistory[0].dealer;\n\t\t\tdealer.dmsInfo = dealerFromDms;\n\t\t}\n\t\tconst {assessors} = dealer.dmsInfo;\n\n\t\tlet assessor: Assessors;\n\t\t// En ocasiones un mismo slot puede tener distintos asesores\n\t\t// por lo que hay que seleccionar uno de manera aleatoria.\n\t\tif (Array.isArray(slot)) {\n\t\t\tconst max = slot.length;\n\t\t\tconst index = getRandomInt(max) - 1;\n\t\t\t// slot = slot[selectedIndex];\n\t\t\tassessor = findAssessor(slot[index], assessors);\n\t\t} else {\n\t\t\tassessor = findAssessor(slot, assessors);\n\t\t}\n\n\t\tif (!assessor) {\n\t\t\tassessor = {\n\t\t\t\tcode: 'Undefined',\n\t\t\t\tname: 'Todos',\n\t\t\t};\n\t\t}\n\n\t\thandleDealerFlags(dealer);\n\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\tpayload: {assessor, slot, dealer},\n\t\t});\n\t\t// setWaitForNextStep(false);\n\t\tif (!formEnded) {\n\t\t\thandleNextStep();\n\t\t}\n\t};\n\n\tconst findAssessor = (slot: CalendarSlot, assessors: Assessors[]): Assessors => {\n\t\treturn assessors.find((assessor) => {\n\t\t\treturn assessor.name === slot.assessor || assessor.code === slot.assessorCode;\n\t\t});\n\t};\n\n\tconst handleNoDmsMapExit = (franjaHoraria: string, day: string, point: Points) => {\n\t\tlet {dealer} = point.properties;\n\t\tconst dealerAvailability = getAvailabilityFromDealer(dealer.kvps);\n\t\tif (dealerAvailability && dealerAvailability.availabilityHistory[0].dealer) {\n\t\t\tconst dealerFromDms = dealerAvailability.availabilityHistory[0].dealer;\n\t\t\tdealer.dmsInfo = dealerFromDms;\n\t\t}\n\n\t\t// Validamos que la cita a crear sea sin DMS mediante el flag dmsAvailable en false\n\t\tif (dealer && dealer.dmsInfo) {\n\t\t\tdealer.dmsInfo.dmsAvailable = false;\n\t\t}\n\n\t\tconst {slot, assessor} = createNoDmsSlotAndAssessor(franjaHoraria, day);\n\n\t\thandleDealerFlags(dealer);\n\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\tpayload: {slot, assessor, dealer},\n\t\t});\n\n\t\tif (!formEnded) {\n\t\t\thandleNextStep();\n\t\t}\n\t};\n\n\tconst handleShowSlots = useCallback((point: Points): string | null => {\n\t\tconst {slots} = point.properties?.dealer;\n\t\tlet finalSlot;\n\n\t\tif (!isNull(slots)) {\n\t\t\tfinalSlot = getFinalSlot(getEarliestSlot(slots));\n\n\t\t\treturn finalSlot ? finalSlot : null;\n\t\t}\n\n\t\treturn null;\n\t}, []);\n\n\tconst getFinalSlot = (from: number) => {\n\t\tif (!from) {\n\t\t\treturn null;\n\t\t}\n\t\tconst momentSlot = weekDay_Day_Hour(from);\n\t\tconst capitalizedSlot = momentSlot.charAt(0).toUpperCase() + momentSlot.slice(1);\n\t\treturn capitalizedSlot.replace('-', ' a las ').concat('h');\n\t};\n\n\tconst handleShowCalendarOnClick = useCallback(async (point: Points) => {\n\t\tconst {firstDayOfMonth, lastDayOfMonth} = getFirstAndLastDayOfMonth();\n\t\t// if (point.properties.dealer.dmsInfo && point.properties.dealer.dmsInfo.dmsAvailable) {\n\t\tconst availability = await getAvailability(point.properties.dealer, firstDayOfMonth, lastDayOfMonth);\n\t\t// if (availability && availability.content.calendar) {\n\t\t// handleSelectedPoint(point);\n\t\t// setShowCalendar(true);\n\t\t// }\n\t\t// } else {\n\t\thandleSelectedPoint(point);\n\t\tsetShowCalendar(true);\n\t\t// }\n\t}, []);\n\n\tconst handleHideCalendarOnClick = () => {\n\t\thandleSelectedPoint(null);\n\t\tsetShowCalendar(false);\n\t};\n\n\tconst handleDealerFlags = (dealer: DealersData) => {\n\t\tconst {formInfo, formData} = store.getState();\n\t\tconst {steps} = formInfo;\n\t\tconst {initialSteps, formEnded}: {initialSteps: Steps[]; formEnded: boolean} = formInfo;\n\t\tconst {\n\t\t\tcocheSustitucion,\n\t\t\tcocheAlTaller,\n\t\t\tdealer: pastDealer,\n\t\t}: {\n\t\t\tcocheSustitucion: 'true' | 'false';\n\t\t\tcocheAlTaller: 'true' | 'false';\n\t\t\tdealer: DealersData;\n\t\t} = formData.fields;\n\t\tlet newSteps = [...steps];\n\n\t\tif (isComerciales) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (!dealer || !dealer.dmsInfo || !dealer.dmsInfo.pickupCarServiceAvailabe) {\n\t\t\tconst tallerIndex = newSteps.findIndex((step) => step.name === 'CocheAlTaller');\n\t\t\tnewSteps.splice(tallerIndex, 1);\n\t\t}\n\n\t\tif (!dealer || !dealer.dmsInfo || !dealer.dmsInfo.replacementCarServiceAvailable) {\n\t\t\tconst sustitucionIndex = newSteps.findIndex((step) => step.name === 'CocheSustitucion');\n\t\t\tnewSteps.splice(sustitucionIndex, 1);\n\t\t}\n\n\t\tconst newStepsWithIndex = newSteps.map((step, index) => {\n\t\t\tstep.screenIndex = index;\n\t\t\treturn step;\n\t\t});\n\n\t\t// Pasamos de dealer sin dms a uno con dms después de llegar a la pantalla de confirmación y volvemos a atrás con editar.\n\t\tlet newIndex: number;\n\t\tlet newCocheAlTaller = cocheAlTaller;\n\t\tlet newCocheSustitucion = cocheSustitucion;\n\t\tif (formEnded) {\n\t\t\t// dispatch({ type: 'UPDATE_FIELDS', payload: { cocheSustitucion: null, cocheAlTaller: null } });\n\t\t\tdispatch({type: 'UPDATE_FORM_ENDED', payload: false});\n\n\t\t\tif (pastDealer.kvps !== dealer.kvps) {\n\t\t\t\tif (dealer.dmsInfo.pickupCarServiceAvailabe) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tcocheAlTaller === 'false' &&\n\t\t\t\t\t\tpastDealer &&\n\t\t\t\t\t\tpastDealer.dmsInfo &&\n\t\t\t\t\t\t!pastDealer.dmsInfo.pickupCarServiceAvailabe\n\t\t\t\t\t) {\n\t\t\t\t\t\tnewIndex = newStepsWithIndex.findIndex((step) => step.name === 'CocheAlTaller');\n\t\t\t\t\t\tnewCocheAlTaller = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (dealer.dmsInfo.replacementCarServiceAvailable) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tcocheAlTaller === 'false' &&\n\t\t\t\t\t\tpastDealer &&\n\t\t\t\t\t\tpastDealer.dmsInfo &&\n\t\t\t\t\t\t!pastDealer.dmsInfo.replacementCarServiceAvailable\n\t\t\t\t\t) {\n\t\t\t\t\t\tnewIndex = newStepsWithIndex.findIndex((step) => step.name === 'CocheSustitucion');\n\t\t\t\t\t\tnewCocheSustitucion = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tdispatch({type: 'UPDATE_STEPS', payload: newStepsWithIndex});\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_LAST_STEP',\n\t\t\tpayload: newStepsWithIndex[newStepsWithIndex.length - 1],\n\t\t});\n\t\tdispatch({\n\t\t\ttype: 'SET_NUMBER_OF_SCREENS',\n\t\t\tpayload: newStepsWithIndex.length,\n\t\t});\n\t\t// Solo se llega a esta parte después de finalizar el journey y volver al mapa para editar la concesión.\n\t\tif (formEnded) {\n\t\t\tnewIndex = newIndex ? newIndex : newStepsWithIndex.length - 1;\n\t\t\tdispatch({\n\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\tpayload: {\n\t\t\t\t\tcocheSustitucion: newCocheSustitucion,\n\t\t\t\t\tcocheAlTaller: newCocheAlTaller,\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tdispatch({\n\t\t\t\ttype: 'UPDATE_STEP',\n\t\t\t\tpayload: newStepsWithIndex[newIndex],\n\t\t\t});\n\t\t\thandleScreenChange(newIndex);\n\t\t\tif (newStepsWithIndex[newIndex].name !== 'Confirmacion') {\n\t\t\t\tdispatch({type: 'UPDATE_FULLSCREEN', payload: false});\n\t\t\t\tsetIsFullScreen(false);\n\t\t\t}\n\t\t}\n\t};\n\n\tconst renderCalendar = (): JSX.Element => {\n\t\tconst {centerToCalculateDistance, userIsGeoLocated} = useMapGeneralController();\n\n\t\treturn error ? null : (\n\t\t\t\n\t\t);\n\t};\n\n\tconst renderPoints = (\n\t\tpoints: Points[],\n\t\tcarPickupSelected?: boolean,\n\t\treplacementCarSelected?: boolean,\n\t): JSX.Element[] => {\n\t\treturn pointsByDistanceRef.current\n\t\t\t? pointsByDistanceRef.current.map((point: Points, index: number) => {\n\t\t\t\t\tif (!point.properties.cluster) {\n\t\t\t\t\t\tconst {dealer} = point.properties;\n\t\t\t\t\t\tconst distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\tcardsDistanceRef.current[index] = el;\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn null;\n\t\t\t })\n\t\t\t: null;\n\t};\n\n\t// Gestión del point seleccionado y del boton de seleccionar (dms)\n\tconst handleSeleccionarOnClick = useCallback((point: any) => {\n\t\thandleSelectedPoint(point);\n\t\thandleReservaCitaLayer(point);\n\t}, []);\n\n\tconst renderReservaCita = (state: any, close: CloseHandleV2) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\tconst renderAvailabilityErrorLayer = (state: any, close: CloseHandleV2) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\tconst renderLoadingLayer = () => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\tconst handleReservaCitaLayer = (point: Points) => {\n\t\tlayerManager.openFocusLayer(renderReservaCita, {selectedPoint: point}, {size: FocusLayerSizeV2.A});\n\t};\n\tconst handleAvailabilityErrorLayer = () => {\n\t\thideLoadingLayer();\n\t\tsetError(true);\n\t\tlayerManager.openFocusLayer(renderAvailabilityErrorLayer, {}, {size: FocusLayerSizeV2.A});\n\t};\n\n\tconst showLoadingLayer = () => {\n\t\tconst layer = layerManager.openFocusLayer(renderLoadingLayer, {}, {size: FocusLayerSizeV2.A});\n\t\tloadingLayer.current = layer;\n\t};\n\n\tconst hideLoadingLayer = () => {\n\t\tif (loadingLayer.current) {\n\t\t\tloadingLayer.current.close();\n\t\t\tloadingLayer.current = null;\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (loading) {\n\t\t\tshowLoadingLayer();\n\t\t} else {\n\t\t\thideLoadingLayer();\n\t\t}\n\t}, [loading]);\n\n\treturn (\n\t\t
\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t
\n\t);\n};\n","import {CloseHandleV2, FocusLayerSizeV2, LayerManagerV2} from '@volkswagen-onehub/layer-manager';\nimport {AxiosResponse} from 'axios';\nimport React, {useCallback, useEffect, useRef, useState} from 'react';\nimport {useDispatch, useSelector, useStore} from 'react-redux';\nimport {AvailabilityErrorLayer} from 'src/components';\nimport {\n\tLayerManagerWrapper,\n\tuseFeatureAppConfig,\n\tuseFeatureAppEnvironment,\n\tuseMapGeneralController,\n} from 'src/feature-app';\nimport {useFeatureServices} from 'src/feature-app/hooks/use-feature-services';\nimport {LoadingLayer} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport {Assessors, Availability, CalendarSlot, DealersData, DmsInfo, Horario, OneFormState, Points} from 'src/types';\nimport {createNoDmsSlotAndAssessor} from 'src/feature-app/NewMap';\nimport {CalendarioCita} from 'src/feature-app/CalendarioCita';\nimport {useOneFormContext} from 'src/feature-app/OneForm';\nimport {getFirstAndLastDayOfMonth} from 'src/helpers';\nimport {getEapiAvailability} from 'src/bff';\n\ninterface AvailabilityHistory {\n\tdealerkvps: string;\n\tavailabilityHistory: AvailabilityHistoryDealer[];\n}\n\ninterface AvailabilityHistoryDealer {\n\tdealer: DmsInfo;\n\tfrom: number;\n\tto: number;\n\tavailability: Availability;\n}\n\nexport const JourneyCitaPosventaDealerController = () => {\n\tconst {formData, formInfo, dealersInfo} = useSelector((state: OneFormState) => state);\n\tconst {horario, dealer, dealerKvps}: {horario?: Horario; dealer?: DealersData; dealerKvps?: string} = formData.fields;\n\tconst {points} = dealersInfo;\n\tconst {handleNextStep} = useOneFormContext();\n\tconst layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n\tconst store = useStore();\n\tconst dispatch = useDispatch();\n\tconst env = useFeatureAppEnvironment();\n\tconst config = useFeatureAppConfig();\n\tconst [showCalendar, setShowCalendar] = useState(false);\n\t// const [selectedPoint, handleSelectedPoint] = useState(null);\n\tconst [loading, setLoading] = useState(false);\n\tconst [error, setError] = useState(false);\n\tconst [loadingPoint, setLoadingPoint] = useState(true);\n\n\tconst [firstAvailability, setFirstAvailability] = useState(null);\n\tconst availabilityHistory = useRef([]);\n\tconst loadingLayer = useRef(null);\n\tconst {selectedPoint, handleSelectedPoint} = useMapGeneralController();\n\n\tconst [pointsToList, setPointsToList] = useState(null);\n\tconst [selectedSlot, setSelectedSlot] = useState(null);\n\n\tuseEffect(() => {\n\t\tsetLoadingPoint(true);\n\t\t// setTimeout(() => {\n\t\tconst point = points.find((point: Points) => {\n\t\t\tif (point.properties.dealer.kvps === dealer?.kvps || point.properties.dealer.kvps === dealerKvps) {\n\t\t\t\treturn point;\n\t\t\t}\n\t\t});\n\t\t// handleShowCalendarOnClick(point);\n\t\tsetLoadingPoint(false);\n\t\t// }, 0);\n\t}, []);\n\n\tconst getAvailability = async (\n\t\tdealer: DealersData,\n\t\tstart: number,\n\t\tend: number,\n\t\tskipHandleAvailability?: boolean,\n\t): Promise => {\n\t\tconst cachedAvailability = checkIfAvailabilityIsInCache(dealer, start);\n\n\t\tif (cachedAvailability) {\n\t\t\tsetFirstAvailability(cachedAvailability);\n\t\t\treturn cachedAvailability;\n\t\t} else {\n\t\t\tshowLoadingLayer();\n\t\t\tif (availabilityHistory.current.length === 0) {\n\t\t\t\tconst {firstDayOfMonth, lastDayOfMonth} = getFirstAndLastDayOfMonth();\n\t\t\t\tstart = firstDayOfMonth;\n\t\t\t\tend = lastDayOfMonth;\n\t\t\t}\n\t\t\tconst response = await getEapiAvailability(dealer.kvps, dealer.codInstalacion, start, end);\n\t\t\tif (!response) {\n\t\t\t\t// Error desde EAPI\n\t\t\t\thandleAvailabilityErrorLayer();\n\t\t\t}\n\t\t\tconst availability = response?.data;\n\t\t\tsetError(false);\n\t\t\tsaveAvailabilityInCache(dealer, start, end, availability);\n\t\t\thideLoadingLayer();\n\n\t\t\tif (availability.content?.calendar) {\n\t\t\t\tsetFirstAvailability(availability);\n\t\t\t\treturn availability;\n\t\t\t} else {\n\t\t\t\t// Error desde EAPI\n\t\t\t\t// handleAvailabilityErrorLayer();\n\t\t\t\t// Nuevo layer sin conexión DMS\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t};\n\n\tconst checkIfAvailabilityIsInCache = (dealer: DealersData, start: number): Availability | null => {\n\t\tconst dealerHistory = availabilityHistory.current.find((a) => a.dealerkvps === dealer.kvps);\n\n\t\tif (dealerHistory) {\n\t\t\tconst availabiliyDealer = dealerHistory.availabilityHistory.find(\n\t\t\t\t(dealerAv) => dealerAv.from === start || start <= dealerAv.to || Math.abs(start - dealerAv.to) < 1000, // Cuando compara dos valores practicamente identicos no hace bien la resta y devuelve error.\n\t\t\t);\n\t\t\treturn availabiliyDealer ? availabiliyDealer.availability : null;\n\t\t}\n\t\treturn null;\n\t};\n\n\tconst getAvailabilityFromDealer = (kvps: string): AvailabilityHistory | null => {\n\t\tconst dealerHistory = availabilityHistory.current.find((a) => a.dealerkvps === kvps);\n\n\t\treturn dealerHistory ? dealerHistory : null;\n\t};\n\n\tconst saveAvailabilityInCache = (dealer: DealersData, start: number, end: number, availability: Availability) => {\n\t\tconst dealerInAvailability = availability.content.dealer;\n\t\tconst availabilityHistoryDealer: AvailabilityHistoryDealer = {\n\t\t\tdealer: dealerInAvailability ? dealerInAvailability : dealer.dmsInfo,\n\t\t\tfrom: start,\n\t\t\tto: end,\n\t\t\tavailability,\n\t\t};\n\n\t\tconst dealerHistoryIndex = availabilityHistory.current.findIndex((a) => a.dealerkvps === dealer.kvps);\n\t\t// Si ya existe el dealer se añade a la array de availability.\n\t\tif (dealerHistoryIndex !== -1) {\n\t\t\tavailabilityHistory.current[dealerHistoryIndex].availabilityHistory.push(availabilityHistoryDealer); // Testear\n\t\t} else {\n\t\t\t// Si no existe el dealer se crea una entrada en el histórico.\n\t\t\tavailabilityHistory.current = [\n\t\t\t\t...availabilityHistory.current,\n\t\t\t\t{dealerkvps: dealer.kvps, availabilityHistory: [availabilityHistoryDealer]},\n\t\t\t];\n\t\t}\n\t};\n\n\tconst getRandomInt = (max: number): number => {\n\t\tconst min = 1;\n\t\tmax = Math.floor(max);\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\n\t};\n\n\tconst handleDmsMapExit = (slot: CalendarSlot | CalendarSlot[], point: Points) => {\n\t\tconst {dealer} = point.properties;\n\t\tconst dealerAvailability = getAvailabilityFromDealer(dealer.kvps);\n\t\tif (dealerAvailability && dealerAvailability.availabilityHistory[0].dealer) {\n\t\t\tconst dealerFromDms = dealerAvailability.availabilityHistory[0].dealer;\n\t\t\tdealer.dmsInfo = dealerFromDms;\n\t\t}\n\t\tconst {assessors} = dealer.dmsInfo;\n\t\tlet assessor: Assessors;\n\t\t// En ocasiones un mismo slot puede tener distintos asesores\n\t\t// por lo que hay que seleccionar uno de manera aleatoria.\n\t\tif (Array.isArray(slot)) {\n\t\t\tconst max = slot.length;\n\t\t\tconst index = getRandomInt(max) - 1;\n\t\t\t// slot = slot[selectedIndex];\n\t\t\tassessor = findAssessor(slot[index], assessors);\n\t\t} else {\n\t\t\tassessor = findAssessor(slot, assessors);\n\t\t}\n\n\t\tif (!assessor) {\n\t\t\tassessor = {\n\t\t\t\tcode: 'Undefined',\n\t\t\t\tname: 'Todos',\n\t\t\t};\n\t\t}\n\n\t\tconst appointmentDealer = createAppointmentDealer(dealer);\n\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\tpayload: {assessor, slot, dealer, appointmentDealer},\n\t\t});\n\t\t// setWaitForNextStep(false);\n\t\thandleNextStep();\n\t};\n\n\tconst findAssessor = (slot: CalendarSlot, assessors: Assessors[]): Assessors => {\n\t\treturn assessors.find((assessor) => {\n\t\t\treturn assessor.name === slot.assessor || assessor.code === slot.assessorCode;\n\t\t});\n\t};\n\n\tconst createAppointmentDealer = (dealer: DealersData) => {\n\t\tconst {markerInfo, dmsInfo} = dealer;\n\n\t\treturn {\n\t\t\tassessors: dmsInfo.assessors ? [...dmsInfo.assessors] : undefined,\n\t\t\tdealerId: dmsInfo.dealerId ? {...dmsInfo.dealerId} : {...markerInfo.dealerInfo.dealerId},\n\t\t\tdmsAvailable: dmsInfo.dmsAvailable ? dmsInfo.dmsAvailable : false,\n\t\t\temail: dmsInfo.email ? dmsInfo.email : markerInfo.dealerInfo.mail,\n\t\t\tname: dmsInfo.name ? dmsInfo.name : markerInfo.dealerInfo.name,\n\t\t\tphone: dmsInfo.phone ? dmsInfo.phone : markerInfo.dealerInfo.phone,\n\t\t\toverhaulingServiceAvialable: dmsInfo.overhaulingServiceAvialable ? dmsInfo.overhaulingServiceAvialable : false,\n\t\t\tpickupCarServiceAvailabe: dmsInfo.pickupCarServiceAvailabe ? dmsInfo.pickupCarServiceAvailabe : false,\n\t\t\treplacementCarServiceAvailable: dmsInfo.replacementCarServiceAvailable\n\t\t\t\t? dmsInfo.replacementCarServiceAvailable\n\t\t\t\t: false,\n\t\t\treference: dmsInfo.reference,\n\t\t};\n\t};\n\n\tconst handleNoDmsMapExit = (franjaHoraria: string, day: string, point: Points) => {\n\t\tlet {dealer} = point.properties;\n\t\tconst {slot, assessor} = createNoDmsSlotAndAssessor(franjaHoraria, day);\n\n\t\tdealer = {\n\t\t\t...dealer,\n\t\t\tdmsInfo: {\n\t\t\t\t...dealer.dmsInfo,\n\t\t\t\tdmsAvailable: false,\n\t\t\t\tpickupCarServiceAvailabe: false,\n\t\t\t\treplacementCarServiceAvailable: false,\n\t\t\t\toverhaulingServiceAvialable: false,\n\t\t\t},\n\t\t};\n\n\t\tconst appointmentDealer = createAppointmentDealer(dealer);\n\n\t\tdispatch({\n\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\tpayload: {slot, assessor, dealer, appointmentDealer},\n\t\t});\n\n\t\thandleNextStep();\n\t};\n\n\tconst handleHideCalendarOnClick = () => {\n\t\thandleSelectedPoint(null);\n\t\tsetShowCalendar(false);\n\t};\n\n\tconst renderCalendar = (): JSX.Element => {\n\t\tconst {centerToCalculateDistance, userIsGeoLocated} = useMapGeneralController();\n\n\t\treturn error ? null : (\n\t\t\t\n\t\t);\n\t};\n\n\tconst renderAvailabilityErrorLayer = (state: any, close: CloseHandleV2) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\tconst renderLoadingLayer = () => {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\tconst handleAvailabilityErrorLayer = () => {\n\t\thideLoadingLayer();\n\t\tsetError(true);\n\t\tlayerManager.openFocusLayer(renderAvailabilityErrorLayer, {}, {size: FocusLayerSizeV2.A});\n\t};\n\n\tconst showLoadingLayer = () => {\n\t\tconst layer = layerManager.openFocusLayer(renderLoadingLayer, {}, {size: FocusLayerSizeV2.A});\n\t\tloadingLayer.current = layer;\n\t};\n\n\tconst hideLoadingLayer = () => {\n\t\tif (loadingLayer.current) {\n\t\t\tloadingLayer.current.close();\n\t\t\tloadingLayer.current = null;\n\t\t}\n\t};\n\n\tuseEffect(() => {\n\t\tif (loading) {\n\t\t\tshowLoadingLayer();\n\t\t} else {\n\t\t\thideLoadingLayer();\n\t\t}\n\t}, [loading]);\n\n\treturn !loadingPoint ? renderCalendar() : null;\n};\n","import React from 'react';\nimport {JourneyCitaPosventaDealerController} from './JourneyCitaPosventaDealerController';\nimport {MapGeneralController} from 'src/feature-app/NewMap/MapGeneralController';\n\n/**\n * Este componente está creado únicamente para que JourneyCitaPosventaController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyCitaPosventaDealerWrapper = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import React from 'react';\nimport {JourneyCitaPosventaController} from 'src/forms/CitaPosventa';\nimport {MapGeneralController} from 'src/feature-app/NewMap/MapGeneralController';\n\n/**\n * Este componente está creado únicamente para que JourneyCitaPosventaController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyCitaPosventaWrapper = () => {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n};\n","import {styled, Text} from '@volkswagen-onehub/components-core';\nimport React, {useEffect, useState} from 'react';\nimport {useDispatch, useSelector, useStore} from 'react-redux';\nimport {useOneFormContext} from 'src/feature-app';\nimport {RenderController} from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport {LocateUser} from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport {TIME_FOR_TRANSFORM} from 'src/globals';\nimport {DealersData, OneFormState, Steps} from 'src/types';\nimport {updateMapVariables} from 'src/feature-app/';\nimport {JourneyCitaPosventaWrapper} from 'src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaWrapper';\n\nexport enum MapaCitaSteps {\n\tDealer,\n\tSeleccionCita,\n\tHorario,\n}\n\ninterface MapaCitaProps {\n\tshowHorario?: boolean;\n\tformName?: string;\n}\n\nconst SaltoDeLinea = styled.div`\n\tdisplay: none;\n\t@media all and (min-width: 736px) {\n\t\tdisplay: inline;\n\t}\n`;\n\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport function NewMapaCita(props: MapaCitaProps) {\n\tconst {formName, showHorario} = props;\n\tconst dispatch = useDispatch();\n\tconst store = useStore();\n\tconst {formData, formInfo, dealersInfo} = useSelector((state: OneFormState) => state);\n\tconst {dealer}: {dealer?: DealersData} = formData.fields;\n\tconst {selectedDealer} = dealersInfo;\n\tconst {firstMapLoad, multiStepScreenIndex, navigationMovingForward} = formInfo;\n\n\tconst {\n\t\thandleScreenChange,\n\t\tsetNextMultiStep,\n\t\tsetNextMultiStepScreenIndex,\n\t\tsetPreviousMultiStep,\n\t\tsetWaitForPreviousStep,\n\t\twaitForPreviousStep,\n\t\tsetIsFullScreen,\n\t\tsetShowPreviousStep,\n\t} = useOneFormContext();\n\n\tconst steps: Steps[] = [\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t\n\t\t\t\t\tBien, empecemos con los detalles de tu visita.{' '}\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t¿A dónde quieres llevar tu{' '}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tcoche?*\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t),\n\t\t\tfields: ,\n\t\t\tscreenIndex: MapaCitaSteps.Dealer,\n\t\t\tname: 'MapSearch',\n\t\t\toutputs: ['location'],\n\t\t\toutputsText: ['location'],\n\t\t\tshowOverflow: true,\n\t\t},\n\t\t{\n\t\t\tscreenIndex: MapaCitaSteps.SeleccionCita,\n\t\t\tname: 'MapSelect',\n\t\t\talternateTitle: (\n\t\t\t\t\n\t\t\t\t\tEsta es la cita que has elegido\n\t\t\t\t\n\t\t\t),\n\t\t\ttitle: <>,\n\t\t\tfields: ,\n\t\t\toutputs: ['slot.from', 'dealer.name'],\n\t\t\toutputsText: ['slot.from', 'en el taller', 'dealer.name'],\n\t\t\tfullScreen: true,\n\t\t\tmultiStepLastScreen: true,\n\t\t\thidePreviousStep: true,\n\t\t},\n\t];\n\n\tconst [selectedStep, setSelectedStep] = useState(steps[0]);\n\n\t/**\n\t * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n\t */\n\tconst onMapLoad = () => {\n\t\thandleFirstLoad();\n\t};\n\n\t//\n\t//\n\t//\n\t// Falta añadir la parte del dealer precargado\n\t//\n\t//\n\t//\n\tconst handleFirstLoad = async () => {\n\t\tif (firstMapLoad) {\n\t\t\t// Inicialización\n\t\t\tif (dealer) {\n\t\t\t\tinitializeMultiStep(dealer);\n\t\t\t\treturn;\n\t\t\t} else if (selectedDealer) {\n\t\t\t\tinitializeMultiStep(selectedDealer);\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tinitializeMultiStep();\n\t\t\t}\n\t\t} else {\n\t\t\tif (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n\t\t\t\t// Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n\t\t\t\tinitializeMultiStep();\n\t\t\t} else {\n\t\t\t\t// En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n\t\t\t\tconst newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n\t\t\t\t// Lo mismo para previous, solo le desactivamos si estamos en la primera.\n\t\t\t\tconst newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n\t\t\t\tupdateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n\t\t\t\tupdateScreenChangeVariables(multiStepScreenIndex);\n\n\t\t\t\ttimeoutPreviousStep();\n\t\t\t\t// En caso de volver al mapa con el cta de editar en confirmación se muestra el previous step, por lo que añadimos este timeout para asegurarnos de que no se muestra.\n\t\t\t\ttimeoutPreviousStep(1000);\n\t\t\t}\n\t\t}\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: {horario: 'before'}}); // Al eliminar la pantalla de horario seleccionamos por defecto \"before\" para preseleccionar el primer slot disponible.\n\n\t\tsetNextMultiStep(() => nextMapaCita);\n\t\tsetPreviousMultiStep(() => previousMapaCita);\n\t};\n\n\tconst initializeMultiStep = async (dealer?: DealersData) => {\n\t\tif (dealer) {\n\t\t\tawait updateMapVariables(dispatch, dealer);\n\t\t\tupdateWaitForNextAndPreviousStep(false, true);\n\t\t\tupdateScreenChangeVariables(steps.length - 1);\n\t\t\ttimeoutPreviousStep();\n\t\t} else {\n\t\t\tupdateWaitForNextAndPreviousStep(true, false);\n\t\t\tupdateScreenChangeVariables(0);\n\t\t}\n\t};\n\n\tconst updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n\t\tif (waitForNextStep !== null) {\n\t\t\tdispatch({type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep});\n\t\t}\n\t\tif (waitForPreviousStep !== null) {\n\t\t\tsetWaitForPreviousStep(waitForPreviousStep);\n\t\t}\n\t};\n\n\tconst nextMapaCita = () => {\n\t\tconst {multiStepScreenIndex} = store.getState().formInfo;\n\n\t\thandleScreenChange();\n\n\t\t// Una vez avanzamos dentro de los multisteps se activa el wait\n\t\t// previous step para volver hacia atrás dentro del propio multistep.\n\t\tif (!waitForPreviousStep || multiStepScreenIndex === 0) {\n\t\t\tupdateWaitForNextAndPreviousStep(null, true);\n\t\t}\n\n\t\tsetTimeout(() => {\n\t\t\tupdateScreenChangeVariables(multiStepScreenIndex + 1);\n\t\t\t// Si estamos en el último paso del multistep se desactiva el\n\t\t\t// wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n\t\t\tif (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n\t\t\t\tupdateWaitForNextAndPreviousStep(false, null);\n\t\t\t\tif (multiStepScreenIndex === 0) {\n\t\t\t\t\tsetShowPreviousStep(false);\n\t\t\t\t} else {\n\t\t\t\t\tsetShowPreviousStep(true);\n\t\t\t\t}\n\t\t\t}\n\t\t}, TIME_FOR_TRANSFORM);\n\t};\n\n\tconst previousMapaCita = () => {\n\t\tconst {multiStepScreenIndex, waitForNextStep} = store.getState().formInfo;\n\n\t\thandleScreenChange();\n\n\t\t// Se desactiva el wait previous step en la segunda pantalla para que\n\t\t// en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n\t\tif (multiStepScreenIndex === 1) {\n\t\t\tupdateWaitForNextAndPreviousStep(null, false);\n\t\t}\n\n\t\tif (!waitForNextStep) {\n\t\t\tupdateWaitForNextAndPreviousStep(true, null);\n\t\t}\n\n\t\t// Se fija en la pantalla previa a la primera para que cuando se cambie\n\t\t// a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n\t\tsetTimeout(() => {\n\t\t\tupdateScreenChangeVariables(multiStepScreenIndex - 1);\n\t\t}, TIME_FOR_TRANSFORM);\n\t};\n\n\t/**\n\t * En algunas ocasiones no funciona correctamente el setShowPreviousStep(false) por lo que conviene aplicar un timeout.\n\t */\n\tconst timeoutPreviousStep = (ms?: number) => {\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\tsetShowPreviousStep(false);\n\t\t\t},\n\t\t\tms ? ms : TIME_FOR_TRANSFORM,\n\t\t);\n\t};\n\n\tconst updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n\t\tsetNextMultiStepScreenIndex(newMultiStepScreenIndex);\n\t\tdispatch({type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex});\n\t\tsetSelectedStep(steps[newMultiStepScreenIndex]);\n\t\tsetIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n\t\tsetShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n\t};\n\n\tuseEffect(() => {\n\t\tdispatch({type: 'UPDATE_MULTISTEPS', payload: steps});\n\n\t\thandleFirstLoad();\n\n\t\treturn () => {\n\t\t\tdispatch({type: 'UPDATE_FIRST_MAP_LOAD', payload: false});\n\t\t\tsetShowPreviousStep(true);\n\t\t\tupdateWaitForNextAndPreviousStep(false, false);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import {Text} from '@volkswagen-onehub/components-core';\nimport React, {useEffect, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {useOneFormContext} from 'src/feature-app';\nimport {RenderController} from 'src/feature-app/Screen';\nimport {TIME_FOR_TRANSFORM} from 'src/globals';\nimport {DealersData, OneFormState, Steps} from 'src/types';\nimport {updateMapVariables} from 'src/feature-app/';\nimport {MapaCitaSteps} from 'src/forms/CitaPosventa/MapaCita/MapaCita';\nimport {JourneyCitaPosventaDealerWrapper} from 'src/forms/CitaPosventa/MapaCita/JourneyCitaPosventaDealerWrapper';\n\ninterface MapaCitaProps {\n\tshowHorario?: boolean;\n\tformName?: string;\n}\n\nexport function MapaCitaDealer(props: MapaCitaProps) {\n\tconst dispatch = useDispatch();\n\tconst {formData, dealersInfo} = useSelector((state: OneFormState) => state);\n\tconst {selectedDealer, urlDealer} = dealersInfo;\n\n\tconst {dealer}: {dealer?: DealersData} = formData.fields;\n\n\tconst {\n\t\thandleScreenChange,\n\t\tsetNextMultiStep,\n\t\tsetNextMultiStepScreenIndex,\n\t\tsetPreviousMultiStep,\n\t\tsetWaitForPreviousStep,\n\t\tsetIsFullScreen,\n\t\tsetShowPreviousStep,\n\t} = useOneFormContext();\n\n\tconst steps: Steps[] = [\n\t\t{\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'MapSelect',\n\t\t\talternateTitle: (\n\t\t\t\t\n\t\t\t\t\tEsta es la cita que has elegido\n\t\t\t\t\n\t\t\t),\n\t\t\ttitle: <>,\n\t\t\tfields: ,\n\t\t\toutputs: ['slot.from', 'dealer.name'],\n\t\t\toutputsText: ['slot.from', 'en el taller', 'dealer.name'],\n\t\t\tfullScreen: true,\n\t\t\tmultiStepLastScreen: true,\n\t\t\thidePreviousStep: true,\n\t\t},\n\t];\n\n\tconst [selectedStep, setSelectedStep] = useState(steps[0]);\n\n\tconst handleFirstLoad = async () => {\n\t\tif (urlDealer) {\n\t\t\tinitializeMultiStep(urlDealer);\n\t\t\treturn;\n\t\t} else if (selectedDealer) {\n\t\t\tinitializeMultiStep(selectedDealer);\n\t\t\treturn;\n\t\t} else {\n\t\t\tinitializeMultiStep();\n\t\t}\n\n\t\tsetNextMultiStep(() => navigateMultiStep);\n\t\tsetPreviousMultiStep(() => navigateMultiStep);\n\t};\n\n\tconst initializeMultiStep = async (dealer?: DealersData) => {\n\t\tif (dealer) {\n\t\t\tdispatch({type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: 0});\n\t\t\tawait updateMapVariables(dispatch, dealer);\n\t\t\tupdateScreenChangeVariables(0);\n\t\t\tupdateWaitForNextAndPreviousStep(false, false);\n\t\t\ttimeoutPreviousStep();\n\t\t}\n\t};\n\n\tconst updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n\t\tif (waitForNextStep !== null) {\n\t\t\tdispatch({type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep});\n\t\t}\n\t\tif (waitForPreviousStep !== null) {\n\t\t\tsetWaitForPreviousStep(waitForPreviousStep);\n\t\t}\n\t};\n\n\tconst navigateMultiStep = () => {\n\t\thandleScreenChange();\n\t};\n\n\t/**\n\t * En algunas ocasiones no funciona correctamente el setShowPreviousStep(false) por lo que conviene aplicar un timeout.\n\t */\n\tconst timeoutPreviousStep = (ms?: number) => {\n\t\tsetTimeout(\n\t\t\t() => {\n\t\t\t\tsetShowPreviousStep(false);\n\t\t\t},\n\t\t\tms ? ms : TIME_FOR_TRANSFORM,\n\t\t);\n\t};\n\n\tconst updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n\t\tsetIsFullScreen(true);\n\t\tdispatch({type: 'UPDATE_FULLSCREEN', payload: true});\n\t\tsetNextMultiStepScreenIndex(newMultiStepScreenIndex);\n\t\tdispatch({type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex});\n\t\tsetSelectedStep(steps[newMultiStepScreenIndex]);\n\t\tsetShowPreviousStep(false);\n\t};\n\n\tuseEffect(() => {\n\t\tdispatch({type: 'UPDATE_MULTISTEPS', payload: steps});\n\t\thandleFirstLoad();\n\n\t\treturn () => {\n\t\t\tdispatch({type: 'UPDATE_FIRST_MAP_LOAD', payload: false});\n\t\t\tsetShowPreviousStep(true);\n\t\t\tupdateWaitForNextAndPreviousStep(false, false);\n\t\t};\n\t}, []);\n\n\treturn (\n\t\t\n\t);\n}\n","import {\n\tBreakpoints,\n\tBreakpointWrapper,\n\tContainer,\n\tContainerGutter,\n\tContainerPadding,\n\tCTA,\n\tSpinner,\n\tstyled,\n\tText,\n\tTextAlignment,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport {Alert} from 'src/icons-core-imports';\n\nimport {CloseHandleV2} from '@volkswagen-onehub/layer-manager';\nimport React, {useEffect, useState, useCallback} from 'react';\nimport {useDispatch, useStore} from 'react-redux';\nimport {Store} from 'redux';\nimport {\n\tcreateNoDmsSlotAndAssessor,\n\tgetFranjaAndDayFrom,\n\tweekDay_DayNumber_De_Month,\n\tuseFeatureAppConfig,\n\tweekDay_Day_Hour,\n} from 'src/feature-app';\nimport {DealersData, OneFormState, Slot, Horario} from 'src/types';\n\nconst Content = styled.div`\n\tbackground-color: #ffffff;\n\tpadding: 44px 31px;\n\tflex: auto;\n\ttext-align: center;\n\twidth: 100%;\n\t@media screen and (min-width: 560px) {\n\t\tpadding: 52px 46px;\n\t}\n\t@media screen and (min-width: 960px) {\n\t\tpadding: var(--size-grid001);\n\t}\n`;\n\nconst CTAWrapper = styled.div`\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\ttext-align: left;\n\t> div {\n\t\ttext-align: left;\n\t}\n\t> button {\n\t\t@media screen and (min-width: 560px) {\n\t\t\twidth: auto;\n\t\t}\n\t}\n`;\n\ninterface InvalidFormProps {\n\tnotSavedField?: string;\n\tcloseLayerCallback?: CloseHandleV2;\n}\n\nexport function InvalidForm(props: InvalidFormProps) {\n\tconst {notSavedField, closeLayerCallback} = props;\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t¿Quieres conservar estos últimos cambios?\n\t\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tSi es así, necesitamos que guardes los cambios que has hecho {notSavedField} antes de confirmar tu cita.\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tstretchContent\n\t\t\t\t\t>\n\t\t\t\t\t\tEntendido\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n\ninterface loadingSreenProps {\n\tisleads?: boolean;\n\tcopy?: string;\n}\n\nexport function LoadingScreen(props: loadingSreenProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t{props.copy ? {props.copy} : Enviando tu petición}\n\t\t\n\t);\n}\n\ninterface KoScreenProps {\n\tretrySubmit: (e: any) => void;\n\tcloseLayerCallback?: CloseHandleV2;\n\ttitle?: string;\n\tbodyCopy?: string;\n\tisLEM?: boolean;\n\thideSecondCTA?: boolean;\n}\n\nexport function KoScreen(props: KoScreenProps) {\n\tconst {retrySubmit, closeLayerCallback, title, bodyCopy, isLEM, hideSecondCTA} = props;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{title ? title : 'Uy, algo ha pasado'}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{bodyCopy ? bodyCopy : 'Por alguna razón no hemos podido recoger tus datos. ¿Lo intentamos de nuevo?'}\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tretrySubmit(e);\n\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tReintentar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{hideSecondCTA ? null : isLEM ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tIr a la web\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tSeguir navegando\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tretrySubmit(e);\n\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tReintentar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{hideSecondCTA ? null : isLEM ? (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tIr a la web\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\tSeguir navegando\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n\ninterface IntermitenciaDMSKoProps {\n\tretrySubmit: (e: any) => void;\n\tcloseLayerCallback?: CloseHandleV2;\n}\n\nexport function IntermitenciaDMSKo(props: IntermitenciaDMSKoProps) {\n\tconst {retrySubmit, closeLayerCallback} = props;\n\tconst [dmsFailed, setDmsFailed] = useState(false);\n\tconst store: Store = useStore();\n\tconst dispatch = useDispatch();\n\tconst config = useFeatureAppConfig();\n\n\tconst [day, setDay] = useState(null);\n\tconst [franjaHoraria, setFranjaHoraria] = useState(null);\n\tconst [name, setName] = useState(null);\n\tconst [selectedPoint, setSelectedPoint] = useState(null);\n\tconst {horario}: {horario?: Horario} = store.getState().formData.fields;\n\n\tuseEffect(() => {\n\t\tconst {sendDmsFailed} = store.getState().formInfo;\n\t\tlet {slot, dealer}: {slot?: Slot; dealer?: DealersData} = store.getState().formData.fields;\n\n\t\tsetDmsFailed(sendDmsFailed);\n\t\tconst {franjaHoraria} = getFranjaAndDayFrom(slot.from);\n\n\t\tsetDay(weekDay_DayNumber_De_Month(slot.from));\n\t\tsetFranjaHoraria(franjaHoraria.toLowerCase());\n\t\tsetName(dealer.name);\n\t\tsetSelectedPoint(slot);\n\t}, []);\n\n\tconst handleShowSlots = useCallback((): string | null => {\n\t\tlet {slot}: {slot?: Slot} = store.getState().formData.fields;\n\n\t\tconst finalSlot = getFinalSlot(slot.from);\n\n\t\treturn finalSlot ? finalSlot : null;\n\t}, []);\n\n\tconst getFinalSlot = (from: number) => {\n\t\tconst momentSlot = weekDay_Day_Hour(from);\n\t\tconst capitalizedSlot = momentSlot.charAt(0).toUpperCase() + momentSlot.slice(1);\n\t\treturn capitalizedSlot.replace('-', ' a las ').concat('h');\n\t};\n\n\tconst createNoDmsSlot = async (e: any) => {\n\t\tlet {slot, dealer}: {slot?: Slot; dealer?: DealersData} = store.getState().formData.fields;\n\t\tdealer = {\n\t\t\t...dealer,\n\t\t\tdmsInfo: {\n\t\t\t\t...dealer.dmsInfo,\n\t\t\t\tdmsAvailable: false,\n\t\t\t},\n\t\t};\n\t\tconst {franjaHoraria, day} = getFranjaAndDayFrom(slot.from);\n\t\tconst {slot: newSlot, assessor} = createNoDmsSlotAndAssessor(franjaHoraria, day);\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: {slot: newSlot, assessor, dealer}});\n\n\t\tretrySubmit(e);\n\t};\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\tNo hemos podido confirmar tu cita para el{' '}\n\t\t\t\t\t{handleShowSlots()}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t¿Quieres que {name} se ponga en contacto contigo para\n\t\t\t\t\t\tcerrar tu cita el {day} por la {franjaHoraria}?\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\tawait createNoDmsSlot(e);\n\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tConsultar con mi taller\n\t\t\t\t\t\t\n\t\t\t\t\t\t{config.trigger === 'cita-posventa-dealer' ? null : (\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tBuscar una nueva cita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t
\n\t);\n}\n","import dayjs from 'dayjs';\nimport {\n\tBreakpoints,\n\tBreakpointWrapper,\n\tContainer,\n\tContainerPadding,\n\tLayout,\n\tText,\n\tTextAlignment,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { createEapiAppointment, deleteEapiAppointment, getEapiCarlines, oneformBFFNdpsSend } from 'src/bff';\nimport { getDealerKvps } from 'src/bff/api/get-dealer-kvps';\nimport {\n\tDetalleMotivo,\n\tEmail,\n\tKilometros,\n\tMatriculaYModelo,\n\tMultipleCTASelection,\n\tPantallaNombreApellido,\n\tTelefono,\n} from 'src/components';\nimport { formatPrefix, removeWhiteSpace, useFaContent, useOneFormContext, useGetWaidLitera } from 'src/feature-app';\nimport { MapaCitaDealer, NewMapaCita } from 'src/forms/CitaPosventa/MapaCita';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport {\n\tresetStepsScreenIndex,\n\tremoveMultipleStepsAndResetScreenIndex,\n\tremoveStep,\n} from 'src/forms/helpers/add-remove-steps';\nimport {\n\tFormDataFields,\n\tDealerInfo,\n\tDealersData,\n\tDmsInfo,\n\tFormDataGroup,\n\tFormInfo,\n\tOneFormState,\n\tSteps,\n\tCarlineBase,\n} from 'src/types';\nimport { NuevaCitaPosventaFormDefault, NuevaCitaPosventaFormLogged } from '..';\nimport { CitaFormDataFields } from '../types';\nimport { ConfirmacionCita } from './ConfirmacionCita';\nimport { CTAsSiNo } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { Store } from 'redux';\nimport { useIsComerciales, useGetBrand } from 'src/feature-app/hooks';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { transformDate } from 'src/helpers';\nimport { InputRegex } from 'src/components/inputs/InputRegex';\n\nexport enum CitaPosventaSteps {\n\tMotivo,\n\tMiembroTheOriginals,\n\tChequeoSeguridad,\n\tMasInformacion,\n\tMapa,\n\tNombreApellido,\n\tMatricula,\n\tKilometros,\n\tTelefono,\n\tEmail,\n\tCocheSustitucion,\n\tCocheAlTaller,\n\tConfirmacion,\n}\n\ninterface NuevaCitaPosventaFormProps {\n\tisCitaPosventaDealer?: boolean;\n\tisCitaPosventaEmbeddedCalculadora?: boolean;\n\tisCitaPosventaEmbeddedBonos?: boolean;\n\tisCitaPosventaEmbeddedBeneficios?: boolean;\n\tisCitaPosventaEmbeddedMaintenance?: boolean;\n\tisCitaPosventaEmbeddedPortal?: boolean;\n\tupdatedFormData?: Partial;\n\tupdatedFormInfo?: Partial;\n}\n\nconst spliceSteps = (steps: Steps[], step: string, stepName: string) => {\n\tif (step) {\n\t\tconst index = steps.findIndex((step) => step.name === stepName);\n\t\tsteps.splice(index, 1);\n\t\treturn steps;\n\t}\n\treturn steps;\n};\n\nfunction updateTitle(detalles: any): any {\n\treturn (\n\t\t<>\n\t\t\t¿Quieres contarnos algo más sobre {detalles ? detalles : 'el motivo de tu visita?'}?\n\t\t\n\t);\n}\n\nconst getFormName = (\n\tisCitaPosventaDealer: boolean,\n\tisCitaPosventaEmbeddedCalculadora: boolean,\n\tisCitaPosventaEmbeddedBonos: boolean,\n\tisCitaPosventaEmbeddedBeneficios: boolean,\n\tisCitaPosventaEmbeddedMaintenance: boolean,\n) => {\n\treturn isCitaPosventaDealer\n\t\t? 'cita-posventa-dealer'\n\t\t: isCitaPosventaEmbeddedCalculadora\n\t\t? 'cita-posventa-calculadora'\n\t\t: isCitaPosventaEmbeddedBonos\n\t\t? 'cita-posventa-bono'\n\t\t: isCitaPosventaEmbeddedBeneficios\n\t\t? 'cita-posventa-beneficios'\n\t\t: isCitaPosventaEmbeddedMaintenance\n\t\t? 'cita-posventa-maintenance'\n\t\t: 'cita-posventa';\n};\n\n// importante usar OTROS-* para correcto uso del metodo isFakeMotivo(motivo)\nexport const fakeMotivoValues = {\n\tsoftwareId : 'OTROS-SOFTWARE_ID',\n\tplacaOriginals: 'OTROS-PLACA_THE_ORIGINALS',\n};\n\nexport const CTAsMotivos = (isComerciales: boolean) => [\n\t{\n\t\tlabel: 'Mantenimiento',\n\t\tvalue: 'MANTENIMIENTO',\n\t\tdetalles: 'la revisión de mantenimiento',\n\t\tdetallesPrevStep: 'Revisión de mantenimiento',\n\t},\n\t{\n\t\tlabel: 'Neumáticos',\n\t\tvalue: 'NEUMATICOS',\n\t\tdetalles: 'el cambio de neumáticos',\n\t\tdetallesPrevStep: 'Cambio de neumáticos',\n\t},\n\t{\n\t\tlabel: 'Avería',\n\t\tvalue: 'REPARACION',\n\t\tdetalles: 'la avería',\n\t\tdetallesPrevStep: 'Reparación de avería'\n\t},\n\t{\n\t\tlabel: 'Revisión pre-ITV',\n\t\tvalue: 'PREITV',\n\t\tdetalles: (\n\t\t\t<>\n\t\t\t\tla revisión{' '}\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\tpre-ITV\n\t\t\t\n\t\t),\n\t\tdetallesPrevStep: 'Revisión pre-ITV',\n\t},\n\t{\n\t\tlabel: 'Chapa y pintura',\n\t\tvalue: 'CARROCERIA',\n\t\tdetalles: 'la reparación de chapa y pintura',\n\t\tdetallesPrevStep: 'Reparación de chapa y pintura',\n\t},\n\t{\n\t\tlabel: 'Accesorios',\n\t\tvalue: 'ACCESORIOS',\n\t\tdetalles: 'la instalación de los accesorios',\n\t\tdetallesPrevStep: 'Instalación de accesorios',\n\t},\n\t{\n\t\tlabel: 'Actualización Software ID',\n\t\tvalue: fakeMotivoValues.softwareId,\n\t\tdetalles: 'Actualización Software ID',\n\t\tdetallesPrevStep: 'Actualización Software ID'\n\t},\n\t/*...(isComerciales\n\t\t? [{\n\t\t\tlabel: 'Instalación placa The Originals',\n\t\t\tvalue: fakeMotivoValues.placaOriginals,\n\t\t\tdetalles: 'Instalación placa The Originals',\n\t\t\tdetallesPrevStep: 'Instalación placa The Originals'\n\t\t}]\n\t\t: []),*/\n\t{\n\t\tlabel: 'Otros',\n\t\tvalue: 'OTROS',\n\t\tdetalles: 'el motivo de tu visita',\n\t\tdetallesPrevStep: 'Visita'\n\t},\n];\n\n\nexport const NuevaCitaPosventaFormController = ({\n\tisCitaPosventaDealer,\n\tisCitaPosventaEmbeddedCalculadora,\n\tisCitaPosventaEmbeddedBonos,\n\tisCitaPosventaEmbeddedBeneficios,\n\tisCitaPosventaEmbeddedMaintenance,\n\tisCitaPosventaEmbeddedPortal,\n\tupdatedFormData,\n}: NuevaCitaPosventaFormProps) => {\n\tconst { nextScreenIndex } = useOneFormContext();\n\tconst { formData, formInfo, dealersInfo } = useSelector((state: OneFormState) => state);\n\tconst { fields } = formData;\n\tconst { selectedDealer } = dealersInfo;\n\tconst { userIsAuthenticated } = formInfo;\n\tconst dispatch = useDispatch();\n\tconst store: Store = useStore();\n\tconst faContent = useFaContent();\n\tconst [loaded, setLoaded] = useState(false);\n\tconst [steps, setSteps] = useState([]);\n\tconst [firstStep, setFirstStep] = useState(null);\n\tconst [stepsHistory, setStepsHistory] = useState(null);\n\tconst isComerciales = useIsComerciales();\n\tconst groupBrand = useGetBrand();\n\tconst waid = useGetWaidLitera();\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst wa = urlParams.get('wa');\n\tconst useLoggedJourney = false; // De momento no es necesario usar todas las funciones del journey logueado/no logueado, tan solo el fill de los datos\n\tconst CTAsMotivo = CTAsMotivos(isComerciales);\n\n\tconst CitaPosventaData: Partial = {\n\t\theaders: {\n\t\t\tDESC_BRAND: 'VW',\n\t\t\tDESC_CAMPAIGNBLOCK: '7011n000000Ajm0AAC',\n\t\t\tDESC_FORMOBJECTIVE: 'Call Me Now',\n\t\t\tDESC_ID_CAMPAIGN: '9. VW LEM',\n\t\t\tDESC_TOKEN: 'VW_DDB_FRM_CALL_ME',\n\t\t\tDESC_VN_VO: 'VN',\n\t\t\tDESC_GDPR_ADAPTED: 'true',\n\t\t\t...updatedFormData?.headers,\n\t\t},\n\t\tfields: {\n\t\t\tformName: getFormName(\n\t\t\t\tisCitaPosventaDealer,\n\t\t\t\tisCitaPosventaEmbeddedCalculadora,\n\t\t\t\tisCitaPosventaEmbeddedBonos,\n\t\t\t\tisCitaPosventaEmbeddedBeneficios,\n\t\t\t\tisCitaPosventaEmbeddedMaintenance,\n\t\t\t),\n\t\t\tformType: 'servicerequest',\n\t\t\tpageCategory: 'Cita Posventa',\n\t\t\t...updatedFormData?.fields,\n\t\t},\n\t};\n\tconst [citaPosventaData, setCitaPosventaData] = useState(CitaPosventaData);\n\n\t// Lógica común a los formularios independientemente del estado del login.\n\tconst getMotivoTitle = (): JSX.Element => {\n\t\tif (!fields.motivo)\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t¿Quieres contarnos algo más sobre el motivo de tu{' '}\n\t\t\t\t\tvisita?\n\t\t\t\t\n\t\t\t);\n\t\telse {\n\t\t\tconst selectedMotivo = CTAsMotivo.find((ctaMotivo) => ctaMotivo.value === fields.motivo);\n\t\t\tconst detalles = selectedMotivo ? selectedMotivo.detalles : 'string';\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t¿Quieres contarnos algo más sobre {detalles ? detalles : 'el motivo de tu visita?'}?\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t};\n\n\tconst updateSteps = (steps: Steps[]) => {\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: steps });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: steps[steps.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: steps.length });\n\t};\n\n\tconst isPlacaTheOriginalsMotivo = (motivo: string) => {\n\t\treturn fakeMotivoValues.placaOriginals == motivo;\n\t};\n\n\tconst isFakeMotivo = (motivo: string) => {\n\t\treturn motivo?.substring(0, 6) == 'OTROS-';\n\t};\n\n\tconst getFilteredValueMotivo = (motivo: string) => {\n\t\t// Para los casos OTROS-* devolver solo OTROS\n\t\treturn isFakeMotivo(motivo) ? 'OTROS' : motivo;\n\t};\n\n\tconst getFilteredLabelMotivo = (motivo: string) => {\n\t\t// motivo literal excepto si OTROS-* devolvemos Otros\n\t\tif(isFakeMotivo(motivo)) {\n\t\t\treturn 'Otros';\n\t\t}\n\t\treturn CTAsMotivo.find((ctaMotivo) => ctaMotivo.value === motivo)?.label;\n\t};\n\n\tuseEffect(() => {\n\t\tconst selectedMotivo = CTAsMotivo.find((ctaMotivo) => ctaMotivo.value === fields.motivo);\n\t\tconst { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tlet newSteps = [...steps];\n\n\t\tconst m = faContent?.motivo ? faContent.motivo : fields.motivo;\n\n\t\tif(!isPlacaTheOriginalsMotivo(m)) {\n\t\t\tnewSteps = removeStep(newSteps, 'MiembroTheOriginals');\n\t\t\tnewSteps = removeStep(newSteps, 'ChequeoSeguridad');\n\t\t}\n\t\telse if(fields.chequeoSeguridad == 'false') {\n\t\t\tnewSteps = removeStep(newSteps, 'CocheSustitucion');\n\t\t\tnewSteps = removeStep(newSteps, 'CocheAlTaller');\n\t\t}\n\t\tupdateSteps(newSteps);\n\n\t\tif (isFakeMotivo(m)) {\n\t\t\tnewSteps = removeStep(newSteps, 'MasInformacion');\n\t\t\tupdateSteps(newSteps);\n\t\t} else if (selectedMotivo && actualSteps.length < defaultSteps.length) {\n\t\t\tupdateSteps(newSteps);\n\t\t}\n\n\t\tif (selectedMotivo && formInfo?.steps && !isFakeMotivo(m)) {\n\t\t\tconst formSteps = formInfo.steps;\n\t\t\tconst masInformacionIndex = formSteps.findIndex((step) => step.name === 'MasInformacion');\n\t\t\tif (masInformacionIndex !== -1) {\n\t\t\t\tformSteps[masInformacionIndex].title = updateTitle(selectedMotivo.detalles);\n\t\t\t}\n\t\t}\n\n\t}, [fields.motivo, fields.chequeoSeguridad]);\n\n\tconst defaultSteps: Steps[] = [\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Por qué motivo quieres{' '}\n\t\t\t\t\t\n\t\t\t\t\t\tvisitarnos?*\n\t\t\t\t\t\n\t\t\t\t\t{nextScreenIndex !== null && nextScreenIndex === 1 ? null : (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tSelecciona la razón principal de tu visita.\n\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: }/>,\n\t\t\thidePreviousStep: false,\n\t\t\tisFirstStep: true,\n\t\t\tscreenIndex: CitaPosventaSteps.Motivo,\n\t\t\tname: 'Motivo',\n\t\t\tctas: CTAsMotivo,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t¿Nos puedes indicar tu número The Originals?\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tEncontrarás tu número The Originals en el QR que puedes descargar desde tu perfil.\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: CitaPosventaSteps.MiembroTheOriginals,\n\t\t\tname: 'MiembroTheOriginals',\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t¿Quieres realizar un chequeo de seguridad gratuito?\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: CitaPosventaSteps.ChequeoSeguridad,\n\t\t\tname: 'ChequeoSeguridad',\n\t\t},\n\t\t{\n\t\t\ttitle: getMotivoTitle(),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: CitaPosventaSteps.MasInformacion,\n\t\t\tname: 'MasInformacion',\n\t\t\toutputs: ['masInformacion'],\n\t\t\toutputsText: ['masInformacion'],\n\t\t},\n\t\t{\n\t\t\tscreenIndex: CitaPosventaSteps.Mapa,\n\t\t\tname: 'Mapa',\n\t\t\tmultiStep: true,\n\t\t\tcomponent: isCitaPosventaDealer ? : ,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPara poder preparar tu visita, necesitamos saber quién eres\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: CitaPosventaSteps.NombreApellido,\n\t\t\tname: 'NombreApellido',\n\t\t\toutputs: ['name', 'surname', 'secondSurname'],\n\t\t\toutputsText: ['name', 'surname', 'secondSurname'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tCuéntanos más sobre tu coche. ¿Qué matrícula tiene y qué modelo es?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: CitaPosventaSteps.Matricula,\n\t\t\tname: 'Matricula',\n\t\t\toutputs: ['modelo', 'matricula'],\n\t\t\toutputsText: ['modelo', 'con matrícula', 'matricula'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tY, ¿cuántos kilómetros?\n\t\t\t\t\t*\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: ,\n\t\t\tscreenIndex: CitaPosventaSteps.Kilometros,\n\t\t\tname: 'Kilometros',\n\t\t\toutputs: ['kilometros'],\n\t\t\toutputsText: ['kilometros'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tEn caso de necesitar contactar contigo, ¿a qué número podemos llamarte?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: CitaPosventaSteps.Telefono,\n\t\t\tname: 'Telefono',\n\t\t\toutputs: ['cellphone'],\n\t\t\toutputsText: ['cellphone'],\n\t\t},\n\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tY, ¿a qué email te enviamos la confirmación y los datos de tu cita?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: CitaPosventaSteps.Email,\n\t\t\tname: 'Email',\n\t\t\toutputs: ['email'],\n\t\t\toutputsText: ['email'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Necesitarás otro coche mientras el tuyo está en el{' '}\n\t\t\t\t\t\n\t\t\t\t\t\ttaller?\n\t\t\t\t\t\t*\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tCoche de sustitución: este servicio puede tener un coste asociado. El Servicio\n\t\t\t\t\t\t\t\t\tOficial contactará contigo para informarte de la disponibilidad y condiciones de este servicio.\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: CitaPosventaSteps.CocheSustitucion,\n\t\t\tname: 'CocheSustitucion',\n\t\t\toutputs: ['cocheSustitucion'],\n\t\t\toutputsText: ['cocheSustitucion', 'quiero otro coche'],\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tY para facilitar tu visita,{' '}\n\t\t\t\t\t\n\t\t\t\t\t\t¿llevamos tu coche al{' '}\n\t\t\t\t\t\t\n\t\t\t\t\t\t\ttaller?*\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tRecogida a domicilio: este servicio puede tener un coste asociado. El Servicio\n\t\t\t\t\t\t\t\t\tOficial contactará contigo para informarte de la disponibilidad y condiciones de este servicio.\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: CitaPosventaSteps.CocheAlTaller,\n\t\t\tname: 'CocheAlTaller',\n\t\t\toutputs: ['cocheAlTaller'],\n\t\t\toutputsText: ['cocheAlTaller', 'quiero servicio de recogida y entrega'],\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: <>,\n\t\t\tfields: ,\n\t\t\tscreenIndex: CitaPosventaSteps.Confirmacion,\n\t\t\tname: 'Confirmacion',\n\t\t\tisLastStep: true,\n\t\t\thidePreviousStep: true,\n\t\t},\n\t];\n\n\tconst getLssiTmk = (value: string) => {\n\t\tswitch (value) {\n\t\t\tcase 'PERMITE':\n\t\t\t\treturn 'PERMITIDO';\n\t\t\t\tbreak;\n\t\t\tcase 'NO PERMITE':\n\t\t\t\treturn 'ROBINSON';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\treturn null;\n\t\t}\n\t};\n\n\tconst getModelo = (fields: FormDataFields, carlines: CarlineBase[]) => {\n\t\tif (fields.idBuzzExclusive && carlines?.length > 0) {\n\t\t\treturn carlines.find((carline) => carline.name.includes('Buzz'));\n\t\t}\n\t\treturn fields.modeloList\n\t\t\t? fields.modeloList\n\t\t\t: carlines?.length > 0 && fields.modelo\n\t\t\t? carlines.find((carline) => carline.name === fields.modelo)\n\t\t\t: {\n\t\t\t\t\tcode: null,\n\t\t\t\t\tkey: null,\n\t\t\t\t\tname: null,\n\t\t\t};\n\t};\n\n\tconst getInstallationAdress = (markerInfo) => {\n\t\treturn (\n\t\t\tmarkerInfo.dealerInfo?.address +\n\t\t\t' ' +\n\t\t\tmarkerInfo.dealerInfo?.zipCode +\n\t\t\t' ' +\n\t\t\tmarkerInfo.dealerInfo?.city +\n\t\t\t' ' +\n\t\t\tmarkerInfo.dealerInfo?.province\n\t\t);\n\t};\n\n\tconst createAppointmentDealer = (dealer: DealersData) => {\n\t\tconst { markerInfo, dmsInfo } = dealer;\n\n\t\treturn {\n\t\t\tassessors: dmsInfo.assessors ? [...dmsInfo.assessors] : undefined,\n\t\t\tdealerId: dmsInfo.dealerId,\n\t\t\tdmsAvailable: dmsInfo.dmsAvailable ? dmsInfo.dmsAvailable : false,\n\t\t\temail: dmsInfo.email ? dmsInfo.email : markerInfo.dealerInfo.mail,\n\t\t\tname: dmsInfo.name ? dmsInfo.name : markerInfo.dealerInfo.name,\n\t\t\tphone: dmsInfo.phone ? dmsInfo.phone : markerInfo.dealerInfo.phone,\n\t\t\toverhaulingServiceAvialable: dmsInfo.overhaulingServiceAvialable ? dmsInfo.overhaulingServiceAvialable : false,\n\t\t\tpickupCarServiceAvailabe: dmsInfo.pickupCarServiceAvailabe ? dmsInfo.pickupCarServiceAvailabe : false,\n\t\t\treplacementCarServiceAvailable: dmsInfo.replacementCarServiceAvailable\n\t\t\t\t? dmsInfo.replacementCarServiceAvailable\n\t\t\t\t: false,\n\t\t\treference: dmsInfo.reference,\n\t\t};\n\t};\n\n\tconst sendForm = async (): Promise => {\n\t\treturn new Promise(async (resolve) => {\n\t\t\tconst { tc, today, device } = getParamsForm();\n\t\t\tconst { formData, dealersInfo } = store.getState();\n\n\t\t\tconst { fields } = formData;\n\t\t\tconst { citaCarlines } = dealersInfo;\n\t\t\tconst { dealer } = fields;\n\t\t\tconst { dmsInfo, markerInfo }: { dmsInfo: DmsInfo; markerInfo: DealerInfo } = dealer;\n\t\t\tconst modelo = getModelo(fields, citaCarlines);\n\t\t\tconst appointmentDealer = createAppointmentDealer(dealer);\n\t\t\tconst appointmentDate = dayjs(fields.slot.from).format('DD/MM/YYYY HH:mm:ss');\n\n\t\t\tconst selectedMotivo = CTAsMotivo.find((ctaMotivo) => ctaMotivo.value === fields.motivo);\n\t\t\tconst info = isFakeMotivo(fields.motivo) ? selectedMotivo?.label ?? '' : fields.masInformacion ?? '';\n\t\t\tconst miembro = isComerciales && fields.miembroTheOriginals ? ' ' + fields.miembroTheOriginals.toUpperCase() : '';\n\t\t\tconst chequeo = fields.chequeoSeguridad === true || fields.chequeoSeguridad === 'true' ? ' con chequeo de seguridad gratuito solicitado' : '';\n\t\t\tconst comments = info + miembro + chequeo;\n\n\t\t\tconst appointmentNode = {\n\t\t\t\tappointment: {\n\t\t\t\t\tcomments: comments,\n\t\t\t\t\tcustomer: {\n\t\t\t\t\t\tcontactPhone: `${formatPrefix(fields.prefix)}${fields.cellphone}`,\n\t\t\t\t\t\tcustomerType: 'F',\n\t\t\t\t\t\tdocumentNumber: null,\n\t\t\t\t\t\tdocumentType: null, // Parametrizar [DNI,NIF,NIE] || null\n\t\t\t\t\t\temail: removeWhiteSpace(fields.email),\n\t\t\t\t\t\tgender: 'M', // Parametrizar [M,V]\n\t\t\t\t\t\tname: fields.name?.trim(),\n\t\t\t\t\t\towner: false,\n\t\t\t\t\t\tsurname: fields.surname?.trim(),\n\t\t\t\t\t\tsurname2: fields.secondSurname?.trim(),\n\t\t\t\t\t},\n\t\t\t\t\tvehicle: fields.vehicleForMaintenance\n\t\t\t\t\t\t? fields.vehicleForMaintenance\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tbrand: groupBrand,\n\t\t\t\t\t\t\t\tframe: null,\n\t\t\t\t\t\t\t\tmillage: Array.isArray(fields.kilometros) ? fields.kilometros[0] : fields.kilometros,\n\t\t\t\t\t\t\t\tmodelVersion: 'NO INFORMADO',\n\t\t\t\t\t\t\t\tmodelYear: 0,\n\t\t\t\t\t\t\t\tplate: fields.matricula?.toUpperCase(),\n\t\t\t\t\t\t\t\t// countryPlate: fields.countryPlate,\n\t\t\t\t\t\t\t\tplateDate: `${fields.anoMatriculacion}-01-01 00:00:00`,\n\t\t\t\t\t\t\t\ttmaimg: null,\n\t\t\t\t\t\t\t\tmodel: modelo,\n\t\t\t\t\t\t},\n\t\t\t\t\tdealer: appointmentDealer,\n\t\t\t\t\tslot: {\n\t\t\t\t\t\tfrom: fields.slot.from,\n\t\t\t\t\t\tto: fields.slot.to,\n\t\t\t\t\t\treplacementCarServiceAvailable: fields.slot.replacementCarServiceAvailable,\n\t\t\t\t\t\tdayMoment: fields.slot.dayMoment,\n\t\t\t\t\t\tassessorCode: fields.slot.assessorCode,\n\t\t\t\t\t},\n\t\t\t\t\tassessor: {\n\t\t\t\t\t\tcode: fields.assessor.code,\n\t\t\t\t\t\tname: fields.assessor.name,\n\t\t\t\t\t},\n\t\t\t\t\tintervention: {\n\t\t\t\t\t\tcode: getFilteredValueMotivo(fields.motivo),\n\t\t\t\t\t\tname: getFilteredLabelMotivo(fields.motivo),\n\t\t\t\t\t},\n\t\t\t\t\tlopd: 'PERMITIDO',\n\t\t\t\t\tlssi: getLssiTmk(fields.lssi),\n\t\t\t\t\tpickupServiceRequired:\n\t\t\t\t\t\ttypeof fields.cocheAlTaller === 'string' ? JSON.parse(fields.cocheAlTaller) : undefined,\n\t\t\t\t\treplacementCarServiceRequired:\n\t\t\t\t\t\ttypeof fields.cocheSustitucion === 'string' ? JSON.parse(fields.cocheSustitucion) : undefined,\n\t\t\t\t\tstatus: 'P',\n\t\t\t\t\ttmk: getLssiTmk(fields.tmk),\n\t\t\t\t\tsms: null,\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tconst surveyNode = null; // Flag para que Eapi no grabe survey\n\t\t\t/*const surveyNode = {\n\t\t\t\tsurvey: {\n\t\t\t\t\tdealer: {\n\t\t\t\t\t\tdmsInfo: dmsInfo,\n\t\t\t\t\t\tmarkerInfo: markerInfo,\n\t\t\t\t\t},\n\t\t\t\t\tdeviceType: getDeviceType(),\n\t\t\t\t\tformId: `vw-oneform-${fields.formName}`,\n\t\t\t\t\tformVersion: `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t\t\ttc: getTrackingCode(),\n\t\t\t\t\turl,\n\t\t\t\t\turlOrigin: document.referrer || null,\n\t\t\t\t\tdeepLink: fields.deepLink,\n\t\t\t\t\tbudget: fields.budget,\n\t\t\t\t\twaid,\n\t\t\t\t},\n\t\t\t};*/\n\n\t\t\tconst eapiData: CitaFormDataFields = {\n\t\t\t\tgroup_brand: groupBrand,\n\t\t\t\tkvps: dealer.kvps,\n\t\t\t\tcod_instalacion: dealer.codInstalacion,\n\t\t\t\t...appointmentNode,\n\t\t\t\t...surveyNode,\n\t\t\t};\n\n\t\t\tconst eapiDataToSend = new FormData();\n\t\t\tfor (const key in eapiData) {\n\t\t\t\tif (typeof eapiData[key] === 'object') {\n\t\t\t\t\teapiDataToSend.append(key, JSON.stringify(eapiData[key]));\n\t\t\t\t} else {\n\t\t\t\t\teapiDataToSend.append(key, eapiData[key]);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tconst eapiResponse = await createEapiAppointment(eapiDataToSend);\n\n\t\t\tif (eapiResponse && eapiResponse.data?.status?.code == 200) {\n\t\t\t\tconst pincode = eapiResponse.data?.content?.pincode;\n\t\t\t\tconst ndpsData = {\n\t\t\t\t\t'headers[DPS_TOKEN]':\n\t\t\t\t\t\tisComerciales ? 'LCV_DDB_FRM_SERVICE_APPOINTMENT' : 'VW_DDB_FRM_SERVICE_APPOINTMENT',\n\t\t\t\t\t'headers[FK_SYSTEM]':\n\t\t\t\t\t\tisComerciales ? 'LCV_DDB_FRM_SERVICE_APPOINTMENT' : 'VW_DDB_FRM_SERVICE_APPOINTMENT',\n\t\t\t\t\t'headers[FORM_ID]': wa,\n\t\t\t\t\t'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n\t\t\t\t\t'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t\t\t'headers[FORM_OBJECTIVE]': 'Cita Posventa',\n\t\t\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\n\t\t\t\t\t'fields[DPS_BRAND]': isComerciales ? 'Volkswagen CV' : 'Volkswagen',\n\n\t\t\t\t\t'fields[PERSON_NAME]': fields.name,\n\t\t\t\t\t'fields[PERSON_SURNAME_1]': fields.surname,\n\t\t\t\t\t'fields[PERSON_SURNAME_2]': fields.secondSurname,\n\t\t\t\t\t'fields[PERSON_EMAIL]': fields.email,\n\t\t\t\t\t'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n\t\t\t\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\t\t\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n\t\t\t\t\t'fields[COMMENTS_PERSON]': comments,\n\t\t\t\t\t'fields[CREATIVITY_PERSONALIZATION_DATA]': fields.budget,\n\t\t\t\t\t//'fields[]': fields.deepLink,\n\n\t\t\t\t\t'fields[SURVEY_ANSWER_01]': pincode,\n\n\t\t\t\t\t'fields[VEH_ACTUAL_MODEL]': appointmentNode.appointment.vehicle.model?.name,\n\t\t\t\t\t'fields[VEH_ACTUAL_PLATE]': appointmentNode.appointment.vehicle.plate,\n\t\t\t\t\t'fields[VEH_ACTUAL_PLATE_DATE]': transformDate(\n\t\t\t\t\t\tappointmentNode.appointment.vehicle.plateDate,\n\t\t\t\t\t\t'DD/MM/YYYY HH:mm:ss',\n\t\t\t\t\t\t'YYYY-MM-DD HH:mm:ss',\n\t\t\t\t\t),\n\t\t\t\t\t'fields[VEH_ACTUAL_MILEAGE]': appointmentNode.appointment.vehicle.millage,\n\t\t\t\t\t'fields[VEH_ACTUAL_FRAME]': appointmentNode.appointment.vehicle.frame,\n\n\t\t\t\t\t'fields[APPOINTMENT_TYPE]': 'NUEVA',\n\t\t\t\t\t'fields[APPOINTMENT_INSTALLATION_NAME]': appointmentDealer.name,\n\t\t\t\t\t'fields[APPOINTMENT_INSTALLATION_CODE]': appointmentDealer.dealerId?.codInstalacion,\n\t\t\t\t\t'fields[APPOINTMENT_INSTALLATION_ADDRESS]': getInstallationAdress(markerInfo),\n\t\t\t\t\t'fields[APPOINTMENT_INSTALLATION_EMAIL]': appointmentDealer.email,\n\t\t\t\t\t'fields[APPOINTMENT_INSTALLATION_PHONE]': appointmentDealer.phone?.replace(/\\s+/g, ''),\n\t\t\t\t\t'fields[APPOINTMENT_REQUESTED_TYPE]': getFilteredValueMotivo(fields.motivo),\n\t\t\t\t\t'fields[APPOINTMENT_DATE]': appointmentDate,\n\t\t\t\t\t'fields[PERSON_PREFERRED_SLOT]': fields.slot.dayMoment?.code, // ej: MEDIODIA\n\t\t\t\t\t'fields[APPOINTMENT_COMMERCIAL_ADVISER]': fields.assessor.name,\n\n\t\t\t\t\t'flags[APPOINTMENT_FLAG_PICK_UP_SERVICE]':\n\t\t\t\t\t\ttypeof fields.cocheAlTaller === 'string' ? JSON.parse(fields.cocheAlTaller) : '',\n\t\t\t\t\t'flags[APPOINTMENT_FLAG_SUBSTITUTION_VEHICLE]':\n\t\t\t\t\t\ttypeof fields.cocheSustitucion === 'string' ? JSON.parse(fields.cocheSustitucion) : '',\n\t\t\t\t\t'flags[APPOINTMENT_FLAG_HAS_DMS]': appointmentDealer.dmsAvailable,\n\t\t\t\t\t'flags[PERSON_RGPD_ADAPTED]': 'true',\n\n\t\t\t\t\t'flags[FLAG_RELACION_MARCA_SIN_IC]': 'true',\n\t\t\t\t\t'flags[FLAG_IS_MYSTERY_LEAD]': 'false',\n\t\t\t\t};\n\n\t\t\t\tconst ndpsDataToSend = formDataBuilder(JSON.parse(JSON.stringify(ndpsData)));\n\t\t\t\tconst ndpsResponse = await oneformBFFNdpsSend(ndpsDataToSend);\n\t\t\t\tif (ndpsResponse && ndpsResponse.data?.status?.code == 200) {\n\t\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: ndpsResponse.data });\n\t\t\t\t\treturn resolve(true);\n\t\t\t\t} else {\n\t\t\t\t\tconst eapiDelete = {\n\t\t\t\t\t\tgroup_brand: groupBrand,\n\t\t\t\t\t\tpincode: pincode,\n\t\t\t\t\t};\n\t\t\t\t\tawait deleteEapiAppointment(formDataBuilder(eapiDelete));\n\t\t\t\t\tresolve(false);\n\t\t\t\t}\n\t\t\t} else if (!eapiResponse?.data?.content && dmsInfo?.dmsAvailable) {\n\t\t\t\tdispatch({ type: 'SET_SEND_DMS_FAILED', payload: true });\n\t\t\t\tresolve(false);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst repeatKvpsRequest = async (kvps: string) => {\n\t\tconst newSelectedDealer = await getDealerKvps(kvps);\n\n\t\tif (newSelectedDealer) {\n\t\t\tsetCitaPosventaData({ ...citaPosventaData, fields: { ...citaPosventaData.fields, dealer: newSelectedDealer } });\n\t\t\t// CitaPosventaData.fields.dealer = newSelectedDealer;\n\t\t}\n\t};\n\n\tconst getFinalSteps = (steps: Steps[], motivo: string, observaciones: string) => {\n\t\tlet newSteps = [...steps];\n\n\t\tnewSteps = spliceSteps(newSteps, motivo, 'Motivo');\n\t\tnewSteps = spliceSteps(newSteps, observaciones, 'MasInformacion');\n\n\t\tif(faContent.motivo && !isPlacaTheOriginalsMotivo(faContent.motivo)) {\n\t\t\tnewSteps = removeStep(newSteps, 'MiembroTheOriginals');\n\t\t\tnewSteps = removeStep(newSteps, 'ChequeoSeguridad');\n\t\t}\n\n\t\tconst finalSteps = resetStepsScreenIndex(newSteps);\n\n\t\treturn finalSteps;\n\t};\n\n\t/**\n\t * Dependiendo del journey que siga el usuario se empezará en una pantalla o en otra, pero hay que adaptar stepHistory para que aun así pueda volver hacia atrás.\n\t */\n\tconst getFirstStepAndStepsHistory = (): { firstStep: Steps; stepsHistory: number[]; finalSteps: Steps[] } => {\n\t\t// Obtención de los parametros de la url\n\t\tlet selectedMotivo = null;\n\t\tconst observaciones = faContent?.observaciones;\n\n\t\tif (isCitaPosventaEmbeddedCalculadora || isCitaPosventaEmbeddedMaintenance) {\n\t\t\t// En los forms de Calculadora y Mi Manteniemto nos saltamos algunos pasos\n\t\t\tconst stepsWithoutMap = removeMultipleStepsAndResetScreenIndex(defaultSteps, [\n\t\t\t\t'Motivo',\n\t\t\t\t'MasInformacion',\n\t\t\t\t'Matricula',\n\t\t\t\t'Kilometros',\n\t\t\t]);\n\n\t\t\treturn { finalSteps: stepsWithoutMap, stepsHistory: [0], firstStep: stepsWithoutMap[0] };\n\t\t}\n\n\t\tif (isCitaPosventaEmbeddedPortal) {\n\t\t\t// En los forms de Calculadora y Mi Manteniemto nos saltamos algunos pasos\n\t\t\tconst stepsWithoutMap = removeMultipleStepsAndResetScreenIndex(defaultSteps, [\n\t\t\t\tfaContent.motivo && 'Motivo',\n\t\t\t\t'Matricula',\n\t\t\t\t'Kilometros',\n\t\t\t]);\n\n\t\t\treturn { finalSteps: stepsWithoutMap, stepsHistory: [0], firstStep: stepsWithoutMap[0] };\n\t\t}\n\n\t\tif (isCitaPosventaEmbeddedBonos) {\n\t\t\tconst stepsWithoutMap = removeMultipleStepsAndResetScreenIndex(defaultSteps, ['Motivo', 'MasInformacion']);\n\n\t\t\treturn { finalSteps: stepsWithoutMap, stepsHistory: [0], firstStep: stepsWithoutMap[0] };\n\t\t}\n\n\t\tif (window && window.location) {\n\t\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\t\tconst motivoParam = urlParams.get('motivo');\n\t\t\tconst dealer = urlParams.get('dealer');\n\n\t\t\tif (motivoParam) {\n\t\t\t\tselectedMotivo = CTAsMotivo.find((ctaMotivo) => {\n\t\t\t\t\treturn ctaMotivo.value === motivoParam;\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (dealer && selectedDealer) {\n\t\t\t\t// CitaPosventaData.fields.dealer = selectedDealer;\n\t\t\t\tsetCitaPosventaData({ ...citaPosventaData, fields: { ...citaPosventaData.fields, dealer: selectedDealer } });\n\t\t\t} else if (dealer && !selectedDealer) {\n\t\t\t\t// En caso de que por algun motivo haya dealer pero no se haya cargado correctamente en el cms repetimos la request\n\t\t\t\trepeatKvpsRequest(dealer);\n\t\t\t}\n\t\t}\n\n\t\tconst finalSteps = getFinalSteps(\n\t\t\tdefaultSteps, \n\t\t\tfaContent?.motivo ? faContent.motivo : fields.motivo, \n\t\t\tobservaciones\n\t\t);\n\n\t\tconst defaultFirstStep = finalSteps[CitaPosventaSteps.Motivo];\n\n\t\tlet firstStep = finalSteps.find((step: Steps) => {\n\t\t\tif (selectedMotivo && (!faContent || !faContent.motivo)) {\n\t\t\t\treturn step.screenIndex === CitaPosventaSteps.MasInformacion;\n\t\t\t} else {\n\t\t\t\treturn step.screenIndex === defaultFirstStep.screenIndex;\n\t\t\t}\n\t\t});\n\n\t\tfirstStep = firstStep ? firstStep : defaultFirstStep;\n\t\tfirstStep.isFirstStep = true;\n\n\t\tlet stepsHistory = [0];\n\t\tif (firstStep.screenIndex === defaultFirstStep.screenIndex) {\n\t\t\tstepsHistory = [0];\n\t\t} else {\n\t\t\tstepsHistory = [0, firstStep.screenIndex];\n\t\t}\n\n\t\tconst motivoData = faContent?.motivo ? faContent.motivo : selectedMotivo ? selectedMotivo.value : null;\n\t\tconst masInformacionData = faContent?.observaciones\n\t\t\t? faContent.observaciones\n\t\t\t: isFakeMotivo(motivoData)\n\t\t\t? selectedMotivo?.detalles\n\t\t\t: null;\n\n\t\tsetCitaPosventaData({\n\t\t\t...citaPosventaData,\n\t\t\tfields: { ...citaPosventaData.fields, motivo: motivoData, masInformacion: masInformacionData },\n\t\t});\n\n\t\treturn { firstStep, stepsHistory, finalSteps };\n\t};\n\n\tconst handleStepsOfCitaDealer = (steps: Steps[], dealer: DealersData) => {\n\t\tlet newSteps = [...steps];\n\n\t\tif (isComerciales) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst m = faContent?.motivo ? faContent.motivo : fields.motivo;\n\n\t\tif (!dealer.dmsInfo?.pickupCarServiceAvailabe || isPlacaTheOriginalsMotivo(m)) {\n\t\t\tnewSteps = removeMultipleStepsAndResetScreenIndex(newSteps, ['CocheAlTaller']);\n\t\t}\n\t\tif (!dealer.dmsInfo?.replacementCarServiceAvailable || isPlacaTheOriginalsMotivo(m)) {\n\t\t\tnewSteps = removeMultipleStepsAndResetScreenIndex(newSteps, ['CocheSustitucion']);\n\t\t}\n\n\t\tsetSteps(newSteps);\n\t\tsetFirstStep(newSteps[0]);\n\t\tsetStepsHistory(stepsHistory);\n\t\tsetLoaded(true);\n\t};\n\n\tconst getSteps = (steps: Steps[]) => {\n\t\tif (isCitaPosventaDealer && selectedDealer) {\n\t\t\thandleStepsOfCitaDealer(defaultSteps, selectedDealer);\n\t\t\treturn;\n\t\t}\n\t\tconst { firstStep, stepsHistory, finalSteps } = getFirstStepAndStepsHistory();\n\t\tsetSteps(finalSteps);\n\t\tsetFirstStep(firstStep);\n\t\tsetStepsHistory(stepsHistory);\n\t\tsetLoaded(true);\n\t};\n\n\tuseEffect(() => {\n\t\tgetSteps(defaultSteps);\n\t\tgetEapiCarlines().then((response) => {\n\t\t\tdispatch({ type: 'SET_CITA_CARLINES', payload: response.data?.content });\n\t\t});\n\t}, []);\n\n\treturn loaded ? (\n\t\tuserIsAuthenticated && useLoggedJourney ? (\n\t\t\t\n\t\t) : (\n\t\t\t\n\t\t)\n\t) : null;\n};\n","import * as React from 'react';\nexport var ChevronUp = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M22.016 17.708 12.55 7.814c-.28-.298-.418-.397-.551-.397-.145 0-.31.114-.572.393l-9.443 9.897-.962-.918 9.439-9.893A2.108 2.108 0 0 1 12 6.086a2.083 2.083 0 0 1 1.517.813l9.46 9.89z\" }));\n }\n if (variant === \"large\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"48\", height: \"48\", viewBox: \"0 0 48 48\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M44.301 35.205 25.344 15.387c-1.085-1.159-1.482-1.338-2.732-.005L3.699 35.204l-1.447-1.381 18.906-19.816A3.943 3.943 0 0 1 24 12.487a3.883 3.883 0 0 1 2.797 1.526l18.95 19.809z\" }));\n }\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"M10.784 9.092 6.037 4.13l-.043-.046-.04.041-4.737 4.966-.962-.918 4.734-4.962A1.39 1.39 0 0 1 6 2.703a1.365 1.365 0 0 1 1.003.513l4.742 4.956z\" }));\n }\n return null;\n}, { displayName: 'ChevronUp' }));\n","import * as React from 'react';\nexport var ChevronDown = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"m1.984 6.19 9.465 9.893c.28.299.418.397.551.397.145 0 .31-.114.572-.392l9.443-9.898.962.918-9.439 9.893a2.108 2.108 0 0 1-1.538.81 2.083 2.083 0 0 1-1.517-.813l-9.46-9.889z\" }));\n }\n if (variant === \"large\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"48\", height: \"48\", viewBox: \"0 0 48 48\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"m3.698 12.641 18.957 19.817c1.085 1.16 1.482 1.34 2.732.006l18.912-19.822 1.447 1.381L26.84 33.839a3.943 3.943 0 0 1-2.842 1.52 3.883 3.883 0 0 1-2.797-1.526L2.252 14.023z\" }));\n }\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", xmlns: \"http://www.w3.org/2000/svg\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { d: \"m1.216 2.805 4.746 4.962.043.046.04-.041 4.738-4.966.962.918L7.01 8.686A1.39 1.39 0 0 1 6 9.195a1.365 1.365 0 0 1-1.004-.514L.255 3.725z\" }));\n }\n return null;\n}, { displayName: 'ChevronDown' }));\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { GeneralInputWidthWrapper, InputError } from 'src/components';\nimport { TextInputExtended } from 'src/components';\nimport { store } from 'src/feature-app';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { OneFormState } from 'src/types';\n\ninterface Props {\n\tname: string;\n\tregex: RegExp;\n\trequired?: boolean;\n\tlabel?: string;\n\tdisabled?: boolean;\n\tlength?: number;\n\tmaxLength?: number;\n\tminlength?: number;\n\tpaddingTop?: string;\n\terrorLabel?: string;\n}\n\nexport function InputRegex(props: Props) {\n\tconst { name, regex, required, label, disabled, length, maxLength, minlength, paddingTop } = props;\n\tconst errorLabel = props.errorLabel ? props.errorLabel : 'Formato no válido';\n\n\tconst { register, errors } = useFormContext();\n\tconst { error: contextError, setError: setContextError } = useOneFormContext();\n\tconst { formInfo }: OneFormState = store.getState();\n\tconst [value, setValue] = useState('');\n\tconst [error, setError] = useState(false);\n\tconst dispatch = useDispatch();\n\n\tconst validateLenght = (value: string) => {\n\t\tif(length) {\n\t\t\treturn value?.length == length;\n\t\t}\n\t\telse if(minlength && maxLength) {\n\t\t\treturn value?.length >= minlength && value?.length <= maxLength;\n\t\t}\n\t\telse if(minlength){\n\t\t\treturn value?.length >= minlength;\n\t\t}\n\t\telse if(maxLength) {\n\t\t\treturn value?.length <= maxLength;\n\t\t}\n\t\telse {\n\t\t\treturn true;\n\t\t}\n\t};\n\n\tconst handleChange = (e: any) => {\n\t\tconst value = e.target.value;\n\t\tsetValue(value);\n\t\tsetError(false);\n\t\tif (validateLenght(value)) {\n\t\t\tif (regex.test(value) && required) {\n\t\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: value } });\n\t\t\t} else {\n\t\t\t\tsetError(true);\n\t\t\t}\n\t\t}\n\t};\n\n\treturn (\n\t\t\n\t\t\t handleChange(e)}\n\t\t\t\trequired={required}\n\t\t\t\tdisabled={disabled}\n\t\t\t\tmaxLength={length ? length : maxLength}\n\t\t\t/>\n\t\t\t{error && {errorLabel}}\n\t\t\n\t);\n}\n","import dayjs from 'dayjs';\nimport {\n\tBreakpoints,\n\tContainer,\n\tContainerGutter,\n\tContainerPadding,\n\tCTA,\n\tFieldset,\n\tLayout,\n\tLayoutRowGap,\n\tRadioButton,\n\tstyled,\n\tSwitch,\n\tText,\n\tTextAlignment,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport {CloseHandleV2, FocusLayerSizeV2, LayerManagerV2} from '@volkswagen-onehub/layer-manager';\nimport React, {useEffect, useState} from 'react';\nimport {useFormContext} from 'react-hook-form';\nimport {useDispatch, useStore, useSelector} from 'react-redux';\nimport {Store} from 'redux';\nimport {\n\tApellido,\n\tAreYouSureLayer,\n\tEmail,\n\tLegalesFormatoLayer,\n\tLssiTkmQuestionsTurismos,\n\tMatriculaYModelo,\n\tNombre,\n\tSelectExtended,\n\tTelefono,\n\tCarlineSelect,\n\tPoliticaPrivacidad,\n\tLastNavigation,\n\tLegalesTemporales,\n} from 'src/components';\nimport {\n\tLayerManagerWrapper,\n\tuseFaContent,\n\tuseFeatureAppConfig,\n\tuseFeatureAppEnvironment,\n\tuseFeatureServices,\n\tuseOneFormContext,\n\tweekDay_DayNumber_Month,\n\tweekDay_DayNumber_Month_Hour,\n} from 'src/feature-app';\nimport {VehiclesIdentityKit} from 'src/feature-service/es-oneform-core-feature-service/types';\nimport {TIME_FOR_TRANSFORM} from 'src/globals';\nimport {OneFormState, Steps} from 'src/types';\nimport {useIsComerciales} from 'src/feature-app/hooks';\nimport {getKilometrosInfo, franjaHoraria} from 'src/feature-app/InputsValues';\nimport {ArrowDown, ArrowUp, ChevronDown, ChevronUp} from '@volkswagen-onehub/icons-core';\nimport {fakeMotivoValues} from './NuevaCitaPosventaFormController';\n\nconst AllWrapper = styled.div`\n\tpadding-top: 82px;\n`;\n\nconst TopInfoBox = styled.div`\n\tborder: 1px solid rgba(255, 255, 255, 0.44);\n\tpadding: 0 20px;\n\twidth: 100%;\n\t@media all and (min-width: 560px) {\n\t\tpadding: 0 24px;\n\t}\n`;\n\ntype BorderType = 'top' | 'bottom' | 'none';\n\ntype ItemProps = {\n\tboxItem?: boolean;\n\tborder: BorderType;\n\tshowEdit?: boolean;\n\tnoPaddingTop?: boolean;\n\tshowOperacionesMantenimiento?: boolean;\n};\n\nconst ItemWrapper = styled.div`\n\twidth: 100%;\n\ttext-align: left;\n\tborder-bottom: ${(props) => (props.border === 'bottom' ? '1px solid rgba(255,255,255,0.45)' : 'none')};\n\tborder-top: ${(props) => (props.border === 'top' ? '1px solid rgba(255,255,255,0.45)' : 'none')};\n\tpadding: ${(props) => (props.boxItem ? '24px 0' : props.noPaddingTop ? '0 24px 44px' : '44px 24px')};\n\n\t.item-header {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: space-between;\n\t\tpadding-bottom: ${(props) => (props.showOperacionesMantenimiento ? '32px' : props.showEdit ? '44px' : '12px')};\n\t\tbutton > * {\n\t\t\tfont-weight: ${(props) => (props.showEdit ? 'normal' : 'bold')};\n\t\t}\n\t\t&--legal {\n\t\t\tpadding-bottom: ${(props) => (props.showEdit ? 'unset' : '31.5px')};\n\t\t}\n\t}\n\t.edit-wrapper {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tlabel:not(:last-of-type) {\n\t\t\tmargin-bottom: 23px;\n\t\t}\n\t}\n\t.input-error {\n\t\tmargin-left: 0px !important;\n\t}\n`;\n\nconst SelectWrapper = styled.div`\n\tmargin-bottom: 2px;\n\tlabel {\n\t\twidth: 100%;\n\t\t@media all and (min-width: 560px) {\n\t\t\twidth: 303px;\n\t\t}\n\t\t@media all and (min-width: 960px) {\n\t\t\twidth: 320px;\n\t\t}\n\t}\n`;\n\nconst InputWidthWrapper = styled.div`\n\twidth: 100%;\n\tmargin-bottom: 2px;\n\t@media all and (min-width: 560px) {\n\t\twidth: 303px;\n\t}\n\t@media all and (min-width: 960px) {\n\t\twidth: 320px;\n\t}\n`;\n\nconst RadioButtonWrapper = styled.div`\n\tborder: 1px solid #ffffff;\n\tpadding: 20px;\n`;\n\nconst MotivoCalculadora = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\tjustify-content: space-between;\n`;\n\nconst isCalculadoraForm = (formName: string) => formName === 'cita-posventa-calculadora';\n\n/**\n * En calculadora se tiene que ocultar el CTA ya que el motivo no es editable.\n * @param formName\n * @returns\n */\nconst showCTAEditMotivo = (formName: string) => !isCalculadoraForm(formName);\n\n/**\n * En calculadora se tiene que ocultar el CTA ya que el taller no es editable.\n * @param formName\n * @returns\n */\nconst showCTAEditTaller = (formName: string) => formName !== 'cita-posventa-calculadora';\n\n/**\n * En calculadora se tiene que ocultar el CTA ya que el vehículo no es editable.\n * @param formName\n * @returns\n */\nconst showCTAEditVW = (formName: string) =>\n\tformName !== 'cita-posventa-maintenance-plan' &&\n\tformName !== 'cita-posventa-calculadora' &&\n\tformName !== 'cita-posventa-my-benefits';\n\n/**\n * En maintenance plan se tiene que ocultar los km ya que no se deben mostrar\n * @param formName\n * @returns\n */\nconst showKMVW = (formName: string) =>\n\tformName !== 'cita-posventa-maintenance-plan' && formName !== 'cita-posventa-my-benefits';\n\nconst getStepNumber = (steps: Steps[], layerName: 'isMotivoLayer' | 'isTimeLayer' | 'isTallerLayer') => {\n\tconst index = steps.findIndex((step) => {\n\t\tif (layerName === 'isMotivoLayer' && step.name === 'Motivo') {\n\t\t\treturn step;\n\t\t}\n\t\tif (layerName !== 'isMotivoLayer' && step.name === 'Mapa') {\n\t\t\treturn step;\n\t\t}\n\t});\n\treturn index;\n};\n\nconst formatPlateDate = (plateDate: string) => {\n\tif (plateDate.includes('-')) {\n\t\treturn plateDate.split('-')[0];\n\t}\n\treturn plateDate;\n};\n\nexport const ConfirmacionCita = () => {\n\tconst {formData, formInfo} = useSelector((state: OneFormState) => state);\n\tconst {userIsAuthenticated} = formInfo;\n\tconst {fields} = formData;\n\tconst {tmk: tmkData, lssi: lssiData, userVehicles, matricula} = formData.fields;\n\tconst dispatch = useDispatch();\n\tconst {handleScreenChange, setShowPreviousStep} = useOneFormContext();\n\tconst {getValues, register, triggerValidation} = useFormContext();\n\tconst faContent = useFaContent();\n\tconst isComerciales = useIsComerciales();\n\tconst {kilometrosValues, millageValues} = getKilometrosInfo(isComerciales);\n\n\tconst [fechaHora, setFechaHora] = useState('');\n\tconst [cocheAlTaller, setCocheAlTaller] = useState(false);\n\tconst [cocheSustitucion, setCocheSustitucion] = useState(false);\n\tconst [chequeoSeguridad, setChequeoSeguridad] = useState(false);\n\n\tconst [showEditServicios, setShowEditServicios] = useState(false);\n\tconst [showEditSobreVW, setShowEditSobreVW] = useState(false);\n\tconst [showEditSobreTi, setShowEditSobreTi] = useState(false);\n\n\tconst [inputValueMatricula, setInputValueMatricula] = useState('');\n\tconst [errorMatricula, setErrorMatricula] = useState(false);\n\tconst [irConOtroCoche, setIrConOtroCoche] = useState(false);\n\n\tconst [lssi, setLssi] = useState(() => (lssiData ? lssiData : null));\n\tconst [tmk, setTmk] = useState(() => (tmkData ? tmkData : null));\n\tconst [lssiError, setLssiError] = useState(false);\n\tconst [tmkError, setTmkError] = useState(false);\n\n\tconst [preselectedDealerForm, setPreselectedDealerForm] = useState(false);\n\tconst config = useFeatureAppConfig();\n\n\tconst useLoggedJourney = false;\n\n\tconst today = dayjs();\n\tconst showLegalTemporal = today.isBetween('2025-02-17', '2025-04-18', 'day', '[]'); // [] dias incluidos, () dias excluidos\n\n\t// De momento no es necesario usar todas las funciones del journey logueado/no logueado, tan solo el fill de los datos\n\n\tuseEffect(() => {\n\t\tif (config.trigger === 'cita-posventa-dealer') {\n\t\t\tsetPreselectedDealerForm(true);\n\t\t} else {\n\t\t\tsetPreselectedDealerForm(false);\n\t\t}\n\t}, []);\n\n\t//Layer confirmacion edicion:\n\n\tconst layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n\tconst store: Store = useStore();\n\tconst env = useFeatureAppEnvironment();\n\n\tconst handleEdit = (layerName: 'isMotivoLayer' | 'isTimeLayer' | 'isTallerLayer') => {\n\t\tconst {steps} = formInfo;\n\t\tconst stepNumber = getStepNumber(steps, layerName);\n\n\t\thandleScreenChange(stepNumber);\n\t\tdispatch({type: 'UPDATE_STEP', payload: steps[stepNumber]});\n\t\tif (layerName !== 'isMotivoLayer') {\n\t\t\tdispatch({type: 'SET_SHOW_CALENDAR_ON_LOAD', payload: layerName === 'isTimeLayer'});\n\t\t\tdispatch({type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: 1});\n\t\t\tdispatch({type: 'SET_NAVIGATION_MOVING_FORWARD', payload: false});\n\n\t\t\tsetTimeout(() => {\n\t\t\t\tsetShowPreviousStep(false);\n\t\t\t}, TIME_FOR_TRANSFORM + 200);\n\t\t}\n\t};\n\n\tconst handleAreYouSureLayer = (layerName: string) => {\n\t\tconst layer = layerManager.openFocusLayer(renderAreYouSureLayer, {layerName}, {size: FocusLayerSizeV2.A});\n\t\treturn layer;\n\t};\n\n\tconst renderAreYouSureLayer = (state: any, close: CloseHandleV2) => {\n\t\treturn (\n\t\t\t\n\t\t\t\t {\n\t\t\t\t\t\thandleEdit(state.layerName);\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\n\t\t);\n\t};\n\t//fin códgo layers\n\n\tconst showLegales = () => userIsAuthenticated && useLoggedJourney && tmk && lssi;\n\n\tconst getKmInitialValue = () => {\n\t\tif (fields.kilometros && Array.isArray(fields.kilometros)) {\n\t\t\tconst indexOfMillage = millageValues.findIndex((e) => e[0] === fields.kilometros[0]);\n\t\t\treturn indexOfMillage !== -1 ? kilometrosValues[indexOfMillage] : kilometrosValues[kilometrosValues.length - 2];\n\t\t} else {\n\t\t\treturn kilometrosValues[kilometrosValues.length - 2];\n\t\t}\n\t};\n\n\tconst [kilometros, setKilometros] = useState(getKmInitialValue());\n\n\tconst CTAsSiNo = [{label: 'Sí'}, {label: 'No'}];\n\n\tconst [millageValue, setMillageValue] = useState(null);\n\n\tfunction updateKilometros(event: any) {\n\t\tconst newMillVal = event.currentTarget.value;\n\t\tsetKilometros(newMillVal);\n\t\tnewMillVal ? setMillageValue(newMillVal) : setMillageValue(0);\n\t\tconst newIndex = kilometrosValues?.findIndex((value) => value === event.target.value);\n\t\tif (newIndex !== -1) {\n\t\t\tconst newValues = millageValues[newIndex];\n\t\t\tdispatch({type: 'UPDATE_FIELDS', payload: {kilometros: newValues}});\n\t\t}\n\t}\n\n\tasync function updateValues(showEdit: React.Dispatch>) {\n\t\tconst values = getValues();\n\t\tconst isValid = await triggerValidation();\n\t\tif (isValid) {\n\t\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t\t\tshowEdit(false);\n\t\t}\n\t}\n\n\t// función para checkear que no se haya dejado ninguna sección editada sin guardar\n\tfunction checkNotSavedFields() {\n\t\tif (showEditServicios && !showEditSobreVW && !showEditSobreTi) {\n\t\t\treturn 'en Servicios Adicionales';\n\t\t} else if (!showEditServicios && showEditSobreVW && !showEditSobreTi) {\n\t\t\treturn 'en Sobre tu Volkswagen';\n\t\t} else if (!showEditServicios && !showEditSobreVW && showEditSobreTi) {\n\t\t\treturn 'en Sobre ti';\n\t\t} else if (\n\t\t\t(showEditServicios && showEditSobreVW && !showEditSobreTi) ||\n\t\t\t(showEditServicios && showEditSobreVW && showEditSobreTi) ||\n\t\t\t(showEditServicios && !showEditSobreVW && showEditSobreTi) ||\n\t\t\t(!showEditServicios && showEditSobreVW && showEditSobreTi)\n\t\t) {\n\t\t\treturn '';\n\t\t} else {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tuseEffect(() => {\n\t\tif (inputValueMatricula === '' || inputValueMatricula.length > 10) {\n\t\t\tsetErrorMatricula(true);\n\t\t} else {\n\t\t\tsetErrorMatricula(false);\n\t\t}\n\t}, [inputValueMatricula]);\n\n\tuseEffect(() => {\n\t\tif (lssi) {\n\t\t\tconst values = {lssi: lssi};\n\t\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t\t\tsetLssiError(false);\n\t\t}\n\t\tif (tmk) {\n\t\t\tconst values = {tmk: tmk};\n\t\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t\t\tsetTmkError(false);\n\t\t}\n\t}, [lssi, tmk]);\n\n\tuseEffect(() => {\n\t\tdispatch({type: 'UPDATE_FORM_ENDED', payload: true});\n\n\t\tconst selectedSlot = fields.slot;\n\t\tlet fromFormatted;\n\n\t\tif (fields.dealer.dmsInfo && fields.dealer.dmsInfo.dmsAvailable) {\n\t\t\tconst momentSlot = weekDay_DayNumber_Month_Hour(selectedSlot.from);\n\t\t\tconst capitalizedSlot =\n\t\t\t\tmomentSlot.charAt(0).toUpperCase() +\n\t\t\t\tmomentSlot.split(',')[0].slice(1) +\n\t\t\t\t' de ' +\n\t\t\t\tmomentSlot.split(',')[1].charAt(0).toLowerCase() +\n\t\t\t\tmomentSlot.split(',')[1].slice(1);\n\t\t\tfromFormatted = capitalizedSlot.replace('-', ' a las ').replace(',', ' de ').concat('h');\n\t\t\tsetFechaHora(fromFormatted);\n\t\t} else {\n\t\t\tconst momentSlot = weekDay_DayNumber_Month(selectedSlot.from);\n\t\t\tconst horarioTranslate = franjaHoraria.find((h) => h.code === selectedSlot.dayMoment.code);\n\t\t\tconst capitalizedSlot =\n\t\t\t\tmomentSlot.charAt(0).toUpperCase() +\n\t\t\t\tmomentSlot.split(',')[0].slice(1) +\n\t\t\t\t' de ' +\n\t\t\t\tmomentSlot.split(',')[1].charAt(0).toLowerCase() +\n\t\t\t\tmomentSlot.split(',')[1].slice(1);\n\n\t\t\tfromFormatted = capitalizedSlot.concat(horarioTranslate.name);\n\t\t\tsetFechaHora(fromFormatted);\n\t\t}\n\t\tif (fields.cocheAlTaller !== null) {\n\t\t\tfields.cocheAlTaller === 'true' ? setCocheAlTaller(true) : setCocheAlTaller(false);\n\t\t}\n\t\tif (fields.cocheAlTaller !== null) {\n\t\t\tfields.cocheSustitucion === 'true' ? setCocheSustitucion(true) : setCocheSustitucion(false);\n\t\t}\n\t\tif (fields.chequeoSeguridad !== null) {\n\t\t\tfields.chequeoSeguridad === 'true' ? setChequeoSeguridad(true) : setChequeoSeguridad(false);\n\t\t}\n\n\t\tsetShowPreviousStep(false);\n\t\tif (fields.kilometros || fields.kilometros === 0) {\n\t\t\tsetMillageValue(fields.kilometros);\n\t\t}\n\n\t\tif (fields.matricula) setInputValueMatricula(fields.matricula);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tconst values = {cocheAlTaller: cocheAlTaller ? 'true' : 'false'};\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t}, [cocheAlTaller]);\n\n\tuseEffect(() => {\n\t\tconst values = {cocheSustitucion: cocheSustitucion ? 'true' : 'false'};\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t}, [cocheSustitucion]);\n\n\tuseEffect(() => {\n\t\tconst values = {chequeoSeguridad: chequeoSeguridad ? 'true' : 'false'};\n\t\tdispatch({type: 'UPDATE_FIELDS', payload: values});\n\t}, [chequeoSeguridad]);\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tAsí quedaría tu cita. ¿Quieres solicitarla?\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{faContent?.motivo ? null : }\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tFecha y hora\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\thandleAreYouSureLayer('isTimeLayer');\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tEditar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{fechaHora}\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tTaller\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{preselectedDealerForm || !showCTAEditTaller(fields.formName) ? null : (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\thandleAreYouSureLayer('isTallerLayer');\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tEditar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{fields.dealer.name}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{fields.dealer.markerInfo.dealerInfo.address}, {fields.dealer.markerInfo.dealerInfo.zipCode}{' '}\n\t\t\t\t\t\t\t{fields.dealer.markerInfo.dealerInfo.city}\n\t\t\t\t\t\t\n\t\t\t\t\t\t{fields.assessor && fields.dealer.dmsInfo && fields.dealer.dmsInfo.dmsAvailable ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tAsesor {fields.assessor.name}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t
\n\t\t\t\t
\n\n\t\t\t\t{isComerciales ||\n\t\t\t\t(fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.pickupCarServiceAvailabe) ||\n\t\t\t\t(fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.replacementCarServiceAvailable) ? (\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tServicios adicionales\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{showEditServicios ? (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tsetShowEditServicios(false);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tGuardar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tsetShowEditServicios(!showEditServicios);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tEditar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t{showEditServicios ? (\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{isComerciales ||\n\t\t\t\t\t\t\t\t\t(fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.replacementCarServiceAvailable) ? (\n\t\t\t\t\t\t\t\t\t\t setCocheSustitucion(!cocheSustitucion)}\n\t\t\t\t\t\t\t\t\t\t\tdefaultChecked={cocheSustitucion ? true : false}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tCoche de sustitución\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t{isComerciales || (fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.pickupCarServiceAvailabe) ? (\n\t\t\t\t\t\t\t\t\t\t setCocheAlTaller(!cocheAlTaller)}\n\t\t\t\t\t\t\t\t\t\t\tdefaultChecked={cocheAlTaller ? true : false}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tServicio de recogida y entrega\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t\t{isComerciales && fields.motivo == fakeMotivoValues.placaOriginals ? (\n\t\t\t\t\t\t\t\t\t\t setChequeoSeguridad(!chequeoSeguridad)}\n\t\t\t\t\t\t\t\t\t\t\tdefaultChecked={chequeoSeguridad}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\tChequeo de seguridad gratuito\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{isComerciales || (fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.replacementCarServiceAvailable) ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tCoche de sustitución: {cocheSustitucion ? 'Sí' : 'No'}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{isComerciales || (fields.dealer?.dmsInfo && fields.dealer?.dmsInfo?.pickupCarServiceAvailabe) ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tServicio de recogida y entrega: {cocheAlTaller ? 'Sí' : 'No'}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\t{isComerciales && fields.motivo == fakeMotivoValues.placaOriginals ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tChequeo de seguridad gratuito: {chequeoSeguridad ? 'Sí' : 'No'}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t) : null}\n\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tSobre tu Volkswagen\n\t\t\t\t\t\t\n\t\t\t\t\t\t{showCTAEditVW(fields.formName) ? (\n\t\t\t\t\t\t\tshowEditSobreVW ? (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tupdateValues(setShowEditSobreVW);\n\t\t\t\t\t\t\t\t\t\tsetIrConOtroCoche(false);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tGuardar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\tsetShowEditSobreVW(!showEditSobreVW);\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tEditar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) : null}\n\t\t\t\t\t
\n\t\t\t\t\t{showEditSobreVW ? (\n\t\t\t\t\t\tuserVehicles && userIsAuthenticated && useLoggedJourney && !irConOtroCoche ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t{userVehicles.map((vehicle: VehiclesIdentityKit) => {\n\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdispatch({\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpayload: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmatricula: vehicle.matricula,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkilometros: vehicle.kilometros,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmodelo: vehicle.modelo,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\tchecked={matricula === vehicle.matricula ? true : false}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t})}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\tsetIrConOtroCoche(true);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tchecked={false}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t;\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\t\t\tupdateKilometros(event);\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tonClick={() => null}\n\t\t\t\t\t\t\t\t\t\t\tupdateFields\n\t\t\t\t\t\t\t\t\t\t\tsetOption={setKilometros}\n\t\t\t\t\t\t\t\t\t\t\tisRequired={true}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{fields.countryPlate} {fields.matricula}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\tAño {formatPlateDate(fields.anoMatriculacion)}\n\t\t\t\t\t\t\t{fields.modelo}\n\t\t\t\t\t\t\t{showKMVW(fields.formName) ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{kilometros === 'No estoy seguro' ? null : kilometros}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t
\n\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tSobre ti\n\t\t\t\t\t\t\n\t\t\t\t\t\t{showEditSobreTi ? (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tupdateValues(setShowEditSobreTi);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tGuardar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tsetShowEditSobreTi(!showEditSobreTi);\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tEditar\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t\t{showEditSobreTi ? (\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{fields.name} {fields.surname} {fields.secondSurname}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t{fields.prefix} {fields.cellphone}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{fields.email}\n\t\t\t\t\t\t\n\t\t\t\t\t)}\n\t\t\t\t
\n\n\t\t\t\t{showLegales() ? null : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{/* Para comerciales usamos los mismos consentimientos que turismos */}\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\t\n\t\t\t\t{fields.formName === 'cita-posventa' && showLegalTemporal ? (\n\t\t\t\t\t\n\t\t\t\t) : (\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t
\n\t);\n};\n\nconst VehicleLabel = (props: {vehicle: VehiclesIdentityKit}) => {\n\treturn (\n\t\t\n\t\t\t{props.vehicle.matricula}\n\t\t\t\n\t\t\t\t{props.vehicle.modelo} |{props.vehicle.kilometros}\n\t\t\t\n\t\t\n\t);\n};\n\nconst OperacionDiv = styled.div<{isLast: boolean}>`\n\tpadding-bottom: ${(props) => (props.isLast ? '0px' : '16px')};\n`;\n\nconst OperacionesDiv = styled.div`\n\tpadding-bottom: 24px;\n`;\n\nconst MotivoCita = ({fields, handleAreYouSureLayer}: any) => {\n\tconst [showOperacionesMantenimiento, setShowOperacionesMantenimiento] = useState(false);\n\tconst faContent = useFaContent();\n\n\tconst formatPvp = (pvp: string) => `${Number(pvp).toFixed(0)}€`;\n\n\tconst getMotivo = () => {\n\t\tif (fields.motivo == fakeMotivoValues.softwareId) {\n\t\t\treturn 'Actualización software ID';\n\t\t}\n\t\telse if (fields.motivo == fakeMotivoValues.placaOriginals) {\n\t\t\treturn'Instalación de placa The Originals';\n\t\t} \n\t\treturn fields.motivoLabel ? fields.motivoLabel : fields.motivo;\n\t};\n\n\tconst renderMotivoCalculadora = () => {\n\t\treturn (\n\t\t\t\n\t\t\t\tPresupuesto total\n\t\t\t\t{formatPvp(faContent?.quotePvp)}\n\t\t\t\n\t\t);\n\t};\n\n\tconst renderOperacionesMantenimiento = () => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t\n\t\t\t\t\t{faContent?.quoteOperations\n\t\t\t\t\t\t? faContent?.quoteOperations.map((operation, indx) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{operation.name}\n\t\t\t\t\t\t\t\t\t\t{formatPvp(operation.pvp)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t })\n\t\t\t\t\t\t: null}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tPresupuesto Total\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{formatPvp(faContent?.quotePvp)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t};\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t{isCalculadoraForm(fields.formName) ? 'Operaciones de mantenimiento' : 'Motivo de tu cita'}\n\t\t\t\t\n\t\t\t\t{showCTAEditMotivo(fields.formName) ? (\n\t\t\t\t\t {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\thandleAreYouSureLayer('isMotivoLayer');\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\tEditar\n\t\t\t\t\t\n\t\t\t\t) : isCalculadoraForm(fields.formName) ? (\n\t\t\t\t\t : }\n\t\t\t\t\t\temphasis=\"primary\"\n\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tsetShowOperacionesMantenimiento(!showOperacionesMantenimiento);\n\t\t\t\t\t\t}}\n\t\t\t\t\t>\n\t\t\t\t\t\t{showOperacionesMantenimiento ? 'Cerrar' : 'Ver más'}\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t
\n\t\t\t{isCalculadoraForm(fields.formName) ? (\n\t\t\t\tshowOperacionesMantenimiento ? null : (\n\t\t\t\t\trenderMotivoCalculadora()\n\t\t\t\t)\n\t\t\t) : (\n\t\t\t\t{getMotivo()}\n\t\t\t)}\n\t\t\t{showOperacionesMantenimiento ? renderOperacionesMantenimiento() : null}\n\t\t
\n\t);\n};\n","import {\n\tBreakpoints,\n\tContainer,\n\tContainerGutter,\n\tLayout,\n\tSpinner,\n\tstyled,\n\tText,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\n\nconst Content = styled.div`\n\tbackground-color: #ffffff;\n\tpadding: 44px 31px;\n\tflex: auto;\n\ttext-align: center;\n\twidth: 100%;\n\t@media screen and (min-width: 560px) {\n\t\tpadding: 52px 46px;\n\t}\n\t@media screen and (min-width: 960px) {\n\t\tpadding: var(--size-grid001);\n\t}\n`;\n\ninterface loadingComponentProps {\n\tcopy?: string;\n}\n\nexport function LoadingLayer(props: loadingComponentProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\nfunction LoadingComponent(props: loadingComponentProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t{props.copy ? {props.copy} : Confirmando tu cita}\n\t\t\t\n\t\t\n\t);\n}\n","import {\n\tBreakpoints,\n\tContainer,\n\tCTA,\n\tLayout,\n\tText,\n\tTextAlignment,\n\tContainerGutter,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport {PaddingWrapper} from 'src/components';\nimport React from 'react';\nimport {useFormContext} from 'react-hook-form';\nimport {isGooglePlace, Suggest, Suggestion} from 'src/feature-app';\nimport {useLocateUser} from 'src/feature-app/hooks';\nimport {Installation, isDealerData} from 'src/types';\n\ninterface LocateUserProps {\n\tisFiltrosSuggest?: boolean;\n}\n\nexport function LocateUser(props: LocateUserProps) {\n\tconst {isFiltrosSuggest} = props;\n\tconst {register} = useFormContext();\n\tconst {\n\t\tvalue,\n\t\tsetValue,\n\t\tsuggestion,\n\t\tsetSuggestion,\n\t\ticon,\n\t\tlocationSuccess,\n\t\tsetLocationSuccess,\n\t\thandleLocate,\n\t\tloading,\n\t\tlocationDisabled,\n\t\tisLocating,\n\t\tonSuggestionSelectedFn,\n\t} = useLocateUser();\n\n\tconst getSuggestionValue = (suggestion: Suggestion) => {\n\t\tif (!isGooglePlace(suggestion) && !isDealerData(suggestion)) {\n\t\t\treturn (suggestion as Installation).VGED_CommercialName__c;\n\t\t} else {\n\t\t\treturn suggestion.name;\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\tif (!locationSuccess) handleLocate();\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\tdisabled={loading ? true : false}\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\tLocaliza mi posición actual\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{locationDisabled ? (\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tTu localización está deshabilitada\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t\t\n\t\t\n\t);\n}\n","import {\n\tBreakpoints,\n\tBreakpointWrapper,\n\tContainer,\n\tContainerGutter,\n\tContainerPadding,\n\tCTA,\n\tLayout,\n\tstyled,\n\tText,\n\tTextAlignment,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport FileDownload from 'js-file-download';\nimport React, { useEffect, useState } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { getEapiAppointmentIcs } from 'src/bff';\nimport {\n\tgetTrackingForm,\n\tuseFeatureAppConfig,\n\tuseTrackingManager,\n\tweekDay_DayNumber_Month,\n\tweekDay_DayNumber_Month_Hour\n} from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { DealersData, FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\nimport { keyframes } from 'styled-components';\n\nconst lineKeyframe = keyframes`\n 0% {\n transform: rotate(-360deg);\n }\n 80% {\n transform: rotate(45deg);\n }\n 100% {\n transform: rotate(0deg);\n }\n`;\n\nconst AnimatedCheckmark = styled.div`\n\tanimation: ${lineKeyframe} 0.5s ease-in;\n`;\n\ninterface FieldProps {\n\tcopyBook?: string;\n}\n\ninterface NDPSField {\n\tname: string;\n\tvalue: string;\n}\n\nfunction Fields(props: FieldProps) {\n\tconst {formData, formInfo} = useSelector((state: OneFormState) => state);\n\tconst {dealer}: {dealer?: DealersData} = formData.fields;\n\tconst {pincode}: {pincode: string} = formInfo.formResponse.content;\n\tconst config = useFeatureAppConfig();\n\n\tconst handleGuardar = async () => {\n\t\tconst response = await getEapiAppointmentIcs(pincode);\n\t\tFileDownload(response, 'cita.ics');\n\t};\n\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{props.copyBook}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t{dealer.dmsInfo.dmsAvailable ? (\n\t\t\t\t\t\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\thandleGuardar();\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tGuárdala en tu calendario\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t
\n\t\t\n\t);\n}\n\ninterface ThankYouProps {\n\tformData: FormDataFields;\n\tformInfo: FormInfo;\n}\n\nfunction ThankYouNuevaCita(props: ThankYouProps) {\n\tconst {formData, formInfo} = props;\n\tconst {formResponse} = formInfo;\n\tconst [fechaHora, setFechaHora] = useState('');\n\tconst [copyBook, setCopyBook] = useState('');\n\n\tconst trackingManager = useTrackingManager();\n\tconst dispatch = useDispatch();\n\n\tuseEffect(() => {\n\t\t// Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n\t\tconst screenIndexThankyou = formInfo.numberOfScreens;\n\n\t\tdispatch({type: 'SET_FORM_SUBMITTED', payload: true});\n\t\tdispatch({type: 'SET_FORM_INFO', payload: {step: {screenIndex: screenIndexThankyou, name: 'ThankYou'}}});\n\n\t\tconst selectedSlot = formData.slot;\n\t\tconst franjaHoraria = [\n\t\t\t{code: 'MANANA', name: ' por la mañana'},\n\t\t\t{code: 'MEDIODIA', name: ' al mediodía'},\n\t\t\t{code: 'TARDE', name: ' por la tarde'},\n\t\t];\n\t\tlet fromFormatted;\n\n\t\tif (formInfo.sendDmsFailed) {\n\t\t\tconst momentSlot = weekDay_DayNumber_Month(selectedSlot.from);\n\t\t\tconst formattedSlot =\n\t\t\t\tmomentSlot.split(',')[0] +\n\t\t\t\t' de ' +\n\t\t\t\tmomentSlot.split(',')[1].charAt(0).toLowerCase() +\n\t\t\t\tmomentSlot.split(',')[1].slice(1);\n\t\t\tconst horarioTranslate = franjaHoraria.find((h) => h.code === selectedSlot.dayMoment.code);\n\t\t\tfromFormatted = formattedSlot.replace(',', ' de ').concat(horarioTranslate.name);\n\t\t\tsetFechaHora(fromFormatted);\n\t\t} else {\n\t\t\tif (formData.dealer.dmsInfo.dmsAvailable) {\n\t\t\t\tconst momentSlot = weekDay_DayNumber_Month_Hour(selectedSlot.from);\n\t\t\t\tconst formattedSlot =\n\t\t\t\t\tmomentSlot.split(',')[0] +\n\t\t\t\t\t' de ' +\n\t\t\t\t\tmomentSlot.split(',')[1].charAt(0).toLowerCase() +\n\t\t\t\t\tmomentSlot.split(',')[1].slice(1);\n\t\t\t\tfromFormatted = formattedSlot.replace('-', ' a las ').concat('h');\n\t\t\t\tsetFechaHora(fromFormatted);\n\t\t\t} else {\n\t\t\t\tconst momentSlot = weekDay_DayNumber_Month(selectedSlot.from);\n\t\t\t\tconst formattedSlot =\n\t\t\t\t\tmomentSlot.split(',')[0] +\n\t\t\t\t\t' de ' +\n\t\t\t\t\tmomentSlot.split(',')[1].charAt(0).toLowerCase() +\n\t\t\t\t\tmomentSlot.split(',')[1].slice(1);\n\t\t\t\tconst horarioTranslate = franjaHoraria.find((h) => h.code === selectedSlot.dayMoment.code);\n\t\t\t\tfromFormatted = formattedSlot.replace(',', ' de ').concat(horarioTranslate.name);\n\t\t\t\tsetFechaHora(fromFormatted);\n\t\t\t}\n\t\t}\n\n\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t{\n\t\t\t\tcontentId: undefined,\n\t\t\t},\n\t\t\tgetTrackingForm(formResponse),\n\t\t);\n\t}, []);\n\n\tuseEffect(() => {\n\t\tconst copyDms =\n\t\t\t'Tu asesor te contactará pronto para confirmar la cita. Te acabamos de enviar un email con toda la información.';\n\t\tconst copySinDms =\n\t\t\t'Tu asesor te contactará pronto para confirmar la cita. Te acabamos de enviar un email con toda la información.';\n\n\t\tif (formData.dealer.dmsInfo.dmsAvailable) {\n\t\t\tsetCopyBook(copyDms);\n\t\t} else {\n\t\t\tsetCopyBook(copySinDms);\n\t\t}\n\t}, []);\n\n\tconst renderTitle = (dmsFailed: boolean) => {\n\t\tif (!dmsFailed && formData.dealer.dmsInfo.dmsAvailable) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tHemos enviado tu solicitud para el {fechaHora} en{' '}\n\t\t\t\t\t\t\t{formData.dealer.name}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tHemos enviado tu solicitud para el {fechaHora} en{' '}\n\t\t\t\t\t\t\t{formData.dealer.name}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t} else {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tHemos enviado tu solicitud para {fechaHora} en{' '}\n\t\t\t\t\t\t\t{formData.dealer.name}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tHemos enviado tu solicitud para {fechaHora} en{' '}\n\t\t\t\t\t\t\t{formData.dealer.name}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t}\n\t};\n\n\tconst screen: Steps = {\n\t\ttitle: <>{renderTitle(formInfo.sendDmsFailed)},\n\t\tfields: ,\n\t};\n\treturn (\n\t\t\n\t);\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n\treturn {\n\t\tformData: state.formData.fields,\n\t\tformInfo: state.formInfo,\n\t};\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouNuevaCita);\n\nexport { ConnectedComponent as ThankYouNuevaCita };\n\n","import React, {useEffect} from 'react';\nimport {FormController, useOneFormContext} from 'src/feature-app';\nimport {FormDataGroup, FormInfo, Steps} from 'src/types';\nimport {ThankYouNuevaCita} from './ThankYouNuevaCita';\n\ninterface NuevaCitaPosventaFormProps {\n\tisCitaPosventaDealer?: boolean;\n}\n\ninterface FormProps {\n\tdefaultSteps: Steps[];\n\tsendForm: any;\n\tfirstStep: Steps;\n\tCitaPosventaData: Partial;\n\tstepsHistory?: number[];\n}\n\nexport function NuevaCitaPosventaFormDefault({\n\tdefaultSteps,\n\tsendForm,\n\tfirstStep,\n\tCitaPosventaData,\n\tstepsHistory,\n}: FormProps) {\n\tconst {initializeForm, nextScreenIndex} = useOneFormContext();\n\n\tuseEffect(() => {\n\t\tconst lastStep = defaultSteps[defaultSteps.length - 1];\n\n\t\tconst CitaPosventaInfo: Partial = {\n\t\t\tformEnded: false,\n\t\t\tformStarted: true,\n\t\t\tsendFormCallback: sendForm,\n\t\t\tfullScreen: firstStep.fullScreen ? true : false,\n\t\t\tlastStep,\n\t\t\tnumberOfScreens: defaultSteps.length,\n\t\t\tscreenIndex: firstStep.screenIndex,\n\t\t\tstep: firstStep,\n\t\t\tnotALayer: false,\n\t\t\tformType: 'layer',\n\t\t\tformTheme: 'inverted',\n\t\t\tsteps: defaultSteps,\n\t\t\tstepsHistory: stepsHistory ? stepsHistory : [],\n\t\t\tthankYouComponent: ,\n\t\t};\n\n\t\tinitializeForm(CitaPosventaInfo, CitaPosventaData);\n\t}, []);\n\n\treturn ;\n}\n","import React, {useEffect} from 'react';\nimport {useDispatch, useSelector, useStore} from 'react-redux';\nimport {\n\tFormController,\n\tuseFaContent,\n\tuseFeatureAppConfig,\n\tuseFeatureServices,\n\tuseOneFormContext,\n} from 'src/feature-app';\nimport {VehiclesIdentityKit} from 'src/feature-service/es-oneform-core-feature-service/types';\nimport {removeStep, resetStepsScreenIndex} from 'src/forms/helpers/add-remove-steps';\nimport {FormDataGroup, FormInfo, OneFormState, Steps} from 'src/types';\nimport {ThankYouNuevaCita} from './ThankYouNuevaCita';\n\ninterface NuevaCitaPosventaFormProps {\n\tisCitaPosventaDealer?: boolean;\n}\n\ninterface FormProps {\n\tdefaultSteps: Steps[];\n\tsendForm: any;\n\tfirstStep: Steps;\n\tCitaPosventaData: Partial;\n}\n\nexport function NuevaCitaPosventaFormLogged({defaultSteps, sendForm, firstStep, CitaPosventaData}: FormProps) {\n\tconst {initializeForm, nextScreenIndex} = useOneFormContext();\n\tconst {formData, formInfo, dealersInfo} = useSelector((state: OneFormState) => state);\n\tconst dispatch = useDispatch();\n\n\tconst oneFormService = useFeatureServices()['es:oneform-core'];\n\tconst {person} = oneFormService.get();\n\tconst config = useFeatureAppConfig();\n\n\tconst userHasFavouriteDealer = (steps: Steps[]) => {\n\t\tif (person?.favouriteDealer) {\n\t\t\tconst selectedDealer = dealersInfo.dealers?.find((dealer) => dealer.kvps === person.favouriteDealer);\n\t\t\tif (selectedDealer) {\n\t\t\t\t// Sobreescribir el selected dealer en el caso de cita posventa da problemas a la hora de cargar el calendario.\n\t\t\t\tif (config.trigger !== 'cita-posventa-dealer') {\n\t\t\t\t\tdispatch({type: 'SET_SELECTED_DEALER', payload: selectedDealer});\n\t\t\t\t\tdispatch({type: 'UPDATE_SUGGESTION', payload: selectedDealer});\n\t\t\t\t}\n\t\t\t\tdispatch({type: 'SET_FAVOURITE_DEALER', payload: selectedDealer});\n\t\t\t\tdispatch({type: 'SET_SHOW_CALENDAR_ON_LOAD', payload: true});\n\t\t\t}\n\t\t}\n\n\t\treturn steps;\n\t};\n\tconst userHasPersonalData = (steps: Steps[]) => {\n\t\tlet personalDataSteps = [...steps];\n\n\t\tif (person?.name && person?.surname) {\n\t\t\tpersonalDataSteps = removeStep(personalDataSteps, 'NombreApellido');\n\t\t}\n\t\tif (person?.cellphone) {\n\t\t\tpersonalDataSteps = removeStep(personalDataSteps, 'Telefono');\n\t\t}\n\t\tpersonalDataSteps = removeStep(personalDataSteps, 'Email');\n\t\tpersonalDataSteps = resetStepsScreenIndex(personalDataSteps);\n\t\treturn personalDataSteps;\n\t};\n\n\tconst userHasVehicleData = (steps: Steps[]) => {\n\t\tlet vehicleDataSteps = [...steps];\n\n\t\tif (person?.userVehicles && person?.userVehicles.length > 0) {\n\t\t\tconst {userVehicles} = person;\n\t\t\tlet mainVehicle: VehiclesIdentityKit;\n\t\t\tif (userVehicles.length === 1) {\n\t\t\t\tmainVehicle = userVehicles[0];\n\t\t\t} else {\n\t\t\t\tmainVehicle = userVehicles.find((vehicle) => vehicle.isMainVehicle);\n\t\t\t}\n\n\t\t\tdispatch({\n\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\tpayload: {matricula: mainVehicle.matricula, kilometros: mainVehicle.kilometros, modelo: mainVehicle.modelo},\n\t\t\t});\n\n\t\t\t// Consultar si se eliminan las páginas en caso de que falte algún dato (año de matriculación no parece estar disponible desde identity kit)\n\t\t\tif (mainVehicle.matricula && mainVehicle.modelo && mainVehicle.anoMatriculacion) {\n\t\t\t\tvehicleDataSteps = removeStep(vehicleDataSteps, 'Matricula');\n\t\t\t}\n\t\t\tif (mainVehicle.kilometros) {\n\t\t\t\tvehicleDataSteps = removeStep(vehicleDataSteps, 'Kilometros');\n\t\t\t}\n\n\t\t\tvehicleDataSteps = resetStepsScreenIndex(vehicleDataSteps);\n\t\t}\n\t\treturn vehicleDataSteps;\n\t};\n\n\tconst getLoggedSteps = (steps: Steps[]) => {\n\t\tlet finalSteps = [...steps];\n\t\tfinalSteps = userHasFavouriteDealer(finalSteps);\n\t\tfinalSteps = userHasPersonalData(finalSteps);\n\t\tfinalSteps = userHasVehicleData(finalSteps);\n\n\t\treturn finalSteps;\n\t};\n\n\tuseEffect(() => {\n\t\tconst finalSteps = getLoggedSteps(defaultSteps);\n\n\t\tconst lastStep = finalSteps[finalSteps.length - 1];\n\n\t\tconst CitaPosventaInfo: Partial = {\n\t\t\tformEnded: false,\n\t\t\tformStarted: true,\n\t\t\tsendFormCallback: sendForm,\n\t\t\tfullScreen: firstStep.fullScreen ? true : false,\n\t\t\tlastStep,\n\t\t\tnumberOfScreens: defaultSteps.length,\n\t\t\tscreenIndex: firstStep.screenIndex,\n\t\t\tstep: firstStep,\n\t\t\tsteps: finalSteps,\n\t\t\tnotALayer: false,\n\t\t\tformType: 'layer',\n\t\t\tstepsHistory: [],\n\t\t\tthankYouComponent: ,\n\t\t};\n\n\t\tinitializeForm(CitaPosventaInfo, CitaPosventaData);\n\t}, []);\n\n\treturn ;\n}\n","import {\n\tBreakpoints,\n\tBreakpointWrapper,\n\tContainer,\n\tContainerGutter,\n\tContainerPadding,\n\tCTA,\n\tSpinner,\n\tstyled,\n\tText,\n\tTextAlignment,\n\tTokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport {CloseHandleV2} from '@volkswagen-onehub/layer-manager';\nimport React, {useEffect, useRef, useState} from 'react';\nimport {useSelector} from 'react-redux';\nimport {\n\tgetFranjaAndDayFrom,\n\tisNull,\n\tweekDay_DayNumber_De_Month,\n\tyear_MonthNumber_DayNumber,\n\tgetToAndFromForCheckCita,\n} from 'src/feature-app';\nimport {useTrackingManager} from 'src/feature-app/hooks/use-tracking-manager';\nimport {\n\tAssessors,\n\tAvailability,\n\tCalendarSlot,\n\tDealersData,\n\tHorario as HorarioType,\n\tOneFormState,\n\tPoints,\n\tSlot,\n\tSlotsTime,\n} from 'src/types';\nimport {getEarliestSlot} from 'src/feature-app/NewMap/sort-points';\nimport {Close} from '@volkswagen-onehub/icons-core';\nimport dayjs from 'dayjs';\n\nconst ZIndexLayer = styled.div`\n\tz-index: 25;\n\tposition: relative;\n`;\n\nconst Content = styled.div`\n\tbackground-color: #ffffff;\n\tposition: relative;\n\tpadding: 44px 31px;\n\tflex: auto;\n\ttext-align: center;\n\twidth: 100%;\n\t@media screen and (min-width: 560px) {\n\t\tpadding: 52px 46px;\n\t}\n\t@media screen and (min-width: 960px) {\n\t\tpadding: var(--size-grid001);\n\t}\n`;\n\nconst CloseDiv = styled.div`\n\tposition: absolute;\n\ttop: var(--size-dynamic0050);\n\tright: var(--size-dynamic0050);\n\tcursor: pointer;\n`;\n\nconst CTAWrapper = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tpadding-top: 44px;\n\n\t@media screen and (min-width: 960px) {\n\t\tflex-direction: row;\n\t\talign-items: center;\n\t}\n`;\ninterface LayerComponentProps {\n\tselectedPoint: Points;\n\thandleShowSlots: (point: Points) => string | null;\n\thandleDmsMapExit: (slot: CalendarSlot, point: Points) => void;\n\thandleNoDmsMapExit: (franjaHoraria: string, day: string, point: Points) => void;\n\tgetAvailability: (dealer: DealersData, start: number, end: number) => Promise;\n\t// handleAvailability: (a: Availability, d: DealersData) => void;\n\tcloseLayerCallback?: CloseHandleV2;\n\t// waitForNextStep: any;\n\thandleShowCalendarOnClick: (point: Points) => void;\n}\n\nexport function ReservaCitaLayer(props: LayerComponentProps) {\n\treturn (\n\t\t\n\t\t\t\n\t\t\n\t);\n}\n\ninterface SlotHorario {\n\tfrom: number;\n\tto: number;\n}\n\nfunction ReservaCita(props: LayerComponentProps) {\n\tconst {\n\t\tselectedPoint,\n\t\thandleShowSlots,\n\t\thandleDmsMapExit,\n\t\thandleNoDmsMapExit,\n\t\tgetAvailability,\n\t\t// handleAvailability,\n\t\tcloseLayerCallback,\n\t\t// waitForNextStep\n\t\thandleShowCalendarOnClick,\n\t} = props;\n\n\tconst trackingManager = useTrackingManager();\n\tconst [assessorName, setAssessorName] = useState('');\n\n\tconst {dealer} = selectedPoint.properties;\n\tconst {motivo, horario, motivoLabel}: {motivo: string; motivoLabel: string; horario: HorarioType} = useSelector(\n\t\t(state: OneFormState) => state.formData.fields,\n\t);\n\tconst {name, address, city, zipCode} = dealer.markerInfo.dealerInfo;\n\n\tconst [loading, setLoading] = useState(false);\n\tconst [DMSError, setDMSError] = useState(false);\n\tconst [slotNotAvailable, setSlotNotAvailable] = useState(false);\n\tconst slotHorarioRef = useRef(null);\n\n\tuseEffect(() => {\n\t\tcheckSlot();\n\t\tif (selectedPoint) {\n\t\t\tgetAssessorName();\n\t\t}\n\t}, []);\n\n\tconst checkSlot = () => {\n\t\tconst {slots} = dealer;\n\t\tlet from: number;\n\t\tlet to: number = null;\n\t\tif (!isNull(slots)) {\n\t\t\tfrom = getEarliestSlot(slots);\n\t\t}\n\n\t\tslotHorarioRef.current = {from, to};\n\t};\n\n\tconst getAssessorName = () => {\n\t\tconst {assessors} = dealer.dmsInfo;\n\t\tif (horario !== 'before' && dealer?.slots[horario]) {\n\t\t\tconst assessorCode = dealer.slots[horario].assessorCode;\n\t\t\tconst assessor = findAssessor(assessors, assessorCode);\n\t\t\tsetAssessorName(assessor.name);\n\t\t} else {\n\t\t\t// Primero se comprueba si el dealer tiene disponibles slots en mañana, mediodía o tarde\n\t\t\t// y luego se comparan estos slots con el earliestSlot para seleccionarlo.\n\t\t\tconst {slots} = selectedPoint.properties.dealer;\n\t\t\tconst keys = Object.keys(slots) as SlotsTime[];\n\t\t\tkeys.map((time: SlotsTime) => {\n\t\t\t\tif (slots[time] && selectedPoint.properties.earliestSlot === slots[time].from) {\n\t\t\t\t\tconst slot: Slot = slots[time];\n\t\t\t\t\tconst assessor = findAssessor(assessors, slot.assessorCode);\n\t\t\t\t\tsetAssessorName(assessor.name);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t};\n\n\tconst findAssessor = (assessors: Assessors[], code: string) => {\n\t\treturn assessors.find((assessor) => assessor.code === code);\n\t};\n\n\tconst handleCitaDisponible = (slot: CalendarSlot, assessors: Assessors[]) => {\n\t\tsetLoading(false);\n\t\tcloseLayerCallback({}, {}, {});\n\t\thandleDmsMapExit(slot, selectedPoint);\n\t\treturn;\n\t};\n\n\tconst handleCitaNoDisponible = (availability: Availability) => {\n\t\tsetLoading(false);\n\t\tif (availability?.content?.calendar) {\n\t\t\tsetSlotNotAvailable(true);\n\t\t\tsetDMSError(false);\n\t\t} else {\n\t\t\tconst {franjaHoraria} = getFranjaAndDayFrom(slotHorarioRef.current.from);\n\t\t\tsetDay(weekDay_DayNumber_De_Month(slotHorarioRef.current.from));\n\t\t\tsetFranjaHoraria(franjaHoraria.toLowerCase());\n\t\t\tsetDMSError(true);\n\t\t\tsetSlotNotAvailable(false);\n\t\t}\n\t};\n\n\t//\n\tconst [day, setDay] = useState(null);\n\tconst [franjaHoraria, setFranjaHoraria] = useState(null);\n\n\tconst continueWithoutDms = (from: number, point: Points) => {\n\t\tconst {day, franjaHoraria} = getFranjaAndDayFrom(from);\n\n\t\thandleNoDmsMapExit(franjaHoraria, day, point);\n\t};\n\n\tconst getToAndFromForCheckCita = (citaTo: number): {from: number; to: number} => {\n\t\tconst from = Number(dayjs().locale('es').utc().format('x'));\n\t\tconst to = Number(dayjs(citaTo).locale('es').utc().format('x'));\n\t\n\t\treturn {from, to};\n\t};\n\n\tconst checkCita = async () => {\n\t\tsetLoading(true);\n\t\tconst {from, to} = getToAndFromForCheckCita(slotHorarioRef.current.from);\n\n\t\tconst availability = await getAvailability(dealer, from, to);\n\n\t\tif (availability?.content?.calendar) {\n\t\t\tconst fromFormatted = year_MonthNumber_DayNumber(slotHorarioRef.current.from);\n\t\t\tconst selectedDay = availability.content.calendar.find((day) => day.date === fromFormatted);\n\t\t\tconst assessors = dealer.dmsInfo.assessors;\n\n\t\t\tif (selectedDay) {\n\t\t\t\tconst finalSlot = selectedDay.slots\n\t\t\t\t\t.map((slot) => {\n\t\t\t\t\t\tif (slot.from === slotHorarioRef.current.from) {\n\t\t\t\t\t\t\treturn slot;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.filter((a) => a !== undefined);\n\n\t\t\t\tfinalSlot.length > 0 ? handleCitaDisponible(finalSlot[0], assessors) : handleCitaNoDisponible(availability);\n\t\t\t} else {\n\t\t\t\thandleCitaNoDisponible(availability);\n\t\t\t}\n\t\t} else {\n\t\t\thandleCitaNoDisponible(availability);\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t}}\n\t\t\t>\n\t\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t\t{!loading && !slotNotAvailable && !DMSError ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t¿Quieres reservar esta cita?\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tMotivo de tu visita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{motivoLabel ? motivoLabel : motivo ? motivo : 'Revisión de mantenimiento'}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tFecha y hora\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{handleShowSlots(selectedPoint)}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tTaller\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t{address},
{zipCode} {city}\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t{assessorName ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tAsesor {assessorName}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : null}\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormCTAClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Sí, quiero esta cita',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcheckCita();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tSí­, quiero esta cita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormButtonClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Ver más horas',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\thandleShowCalendarOnClick(selectedPoint);\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tVer más horas\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormCTAClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Sí, quiero esta cita',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcheckCita();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tSí, quiero esta cita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormButtonClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Ver más horas',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\thandleShowCalendarOnClick(selectedPoint);\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tVer más horas\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : null}\n\n\t\t\t\t{loading ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\tConfirmando con la agenda del taller\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\t{!loading && DMSError ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tNo hemos podido confirmar tu cita para el{' '}\n\t\t\t\t\t\t\t\t{handleShowSlots(selectedPoint)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t¿Quieres continuar con el proceso y que {name} se\n\t\t\t\t\t\t\t\tponga en contacto contigo para cerrar tu cita el {day} por la {franjaHoraria}?\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormCTAClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Continuar',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcheckCita();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tContinuar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormButtonClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Buscar una nueva cita',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\tstretchContent\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tBuscar una nueva cita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormCTAClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Continuar',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcontinueWithoutDms(slotHorarioRef.current.from, selectedPoint);\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tContinuar\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\ttrackingManager.trackFormButtonClick(\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tcontentId: 'Buscar una nueva cita',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tBuscar una nueva cita\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\t{!loading && slotNotAvailable ? (\n\t\t\t\t\t\n\t\t\t\t\t\tLamentablemente la cita seleccionada no está disponible\n\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\ttrackingManager.trackFormButtonClick(\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tcontentId: 'Seguir buscando',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tdealer,\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\thandleShowCalendarOnClick(selectedPoint);\n\t\t\t\t\t\t\t\tcloseLayerCallback({}, {}, {});\n\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\tSeguir buscando\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\n\t\t\n\t);\n}\n","import {\n\tBreakpoints,\n\tBreakpointWrapper,\n\tContainer,\n\tContainerPadding,\n\tLayout,\n\tstyled,\n\tText,\n\tTextAlignment,\n\tCTA,\n\tTokenTextAppearance,\n\tTokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport {isNull, useOneFormContext} from 'src/feature-app';\nimport {ArrowLeft} from 'src/icons-core-imports';\n\nimport React, {createRef, useEffect, useState} from 'react';\nimport {useSelector} from 'react-redux';\nimport {DealerCard} from 'src/components';\nimport {SeleccionDealerTabs} from 'src/feature-app';\nimport {CloseComponent} from 'src/feature-app/Screen';\nimport {Availability, DealersData, OneFormState, Points, Center} from 'src/types';\nimport {getFirstAndLastDayOfMonth} from 'src/helpers';\n\ninterface SeleccionDealerProps {\n\tpointsByDistance: Points[];\n\tpointsByTime: Points[];\n\t// setShowMap: React.Dispatch>;\n\tsetShowCards: React.Dispatch>;\n\tsetLoading: React.Dispatch>;\n\tsetSelectedPoint: React.Dispatch>;\n\tgetAvailability: (dealer: DealersData, start: number, end: number) => Promise;\n\tselectedPoint: Points;\n\n\thandleShowSlots: (point: Points) => string | null;\n\tshowAllCardsMobile: boolean;\n\tcenter: Center;\n\thandleReservaCitaLayer: (p: Points) => void;\n\thideCards?: () => void;\n}\n\ninterface BoxProps {\n\tselected: boolean;\n\toneCard: boolean;\n}\n\nconst GoBackWrapper = styled.div`\n\tpadding-top: 24px;\n\n\t& button {\n\t\tcolor: #ffffff;\n\t}\n`;\n\nconst Box = styled.div`\n\twidth: 100%;\n\tborder: ${(props) => (props.selected ? '2px solid #FFFFFF' : '1px solid rgba(255,255,255,0.44)')};\n\tpadding: 24px;\n\tmargin-top: ${(props) => (props.oneCard ? '0' : '44px')};\n\n\t:hover {\n\t\tborder: ${(props) => (props.selected ? '2px solid #FFFFFF' : '1px solid #4cc7f4')};\n\t}\n`;\nconst ScrollWrapper = styled.div`\n\theight: calc(100vh - 80px);\n\toverflow-y: auto;\n\tmargin: auto;\n`;\n\nconst TabsWrapper = styled.div`\n\twidth: 83vw;\n\tpadding-top: 24px;\n\theight: 100%;\n\n\t@media all and (min-width: 960px) {\n\t\twidth: 380px;\n\t\toverflow-y: auto;\n\t\tmargin: auto;\n\t}\n\tul {\n\t\tpadding-left: 5px;\n\t}\n\n\t& > div {\n\t\tpadding-bottom: 24px;\n\t}\n`;\n\nconst ArrowLeftWrapper = styled.div`\n\tpadding: 24px 0px;\n\n\t& svg {\n\t\tfill: #ffffff;\n\t}\n`;\n\ninterface Ref {\n\tref: React.RefObject;\n\tkvps: string;\n}\n\nexport function SeleccionDealer(props: SeleccionDealerProps) {\n\tconst {\n\t\tpointsByDistance,\n\t\tpointsByTime,\n\t\tselectedPoint,\n\t\tsetSelectedPoint,\n\t\tgetAvailability,\n\t\tsetLoading,\n\t\thandleShowSlots,\n\t\thandleReservaCitaLayer,\n\t\tcenter,\n\t\thideCards,\n\t\tsetShowCards,\n\t} = props;\n\n\tconst {horario} = useSelector((state: OneFormState) => state.formData.fields);\n\tconst {handleAreYouSureLayer} = useOneFormContext();\n\n\tconst [defaultIndex, setDefaultIndex] = useState(0);\n\tconst [selectedPoints, setSelectedPoints] = useState(null);\n\n\tconst createRefs = (points: Points[]) => {\n\t\tconst refs = [];\n\t\tconst length = points.length;\n\t\tfor (let ix = 0; ix < length; ix++) {\n\t\t\tlet refObject: Ref = {ref: createRef(), kvps: points[ix].properties.dealer.kvps};\n\t\t\trefs.push(refObject);\n\t\t\trefObject = null;\n\t\t}\n\t\treturn refs;\n\t};\n\tconst [isTimeSelected, setIsTimeSelected] = useState(false);\n\tconst [timeRefs, setTimeRefs] = useState(null);\n\tconst [distanceRefs, setDistanceRefs] = useState(null);\n\n\tuseEffect(() => {\n\t\tif (horario === 'before') {\n\t\t\tsetIsTimeSelected(true);\n\t\t\tsetDefaultIndex(1);\n\t\t}\n\t}, []);\n\n\tuseEffect(() => {\n\t\t// setSelectedPoint(null);\n\t\tsetTimeRefs(null);\n\t\tsetDistanceRefs(null);\n\n\t\tconst timeRefs = createRefs(pointsByTime);\n\t\tconst distanceRefs = createRefs(pointsByDistance);\n\t\tsetTimeRefs(timeRefs);\n\t\tsetDistanceRefs(distanceRefs);\n\t}, [pointsByDistance]);\n\n\tuseEffect(() => {\n\t\tsetSelectedPoints(pointsByDistance); // Actualizar con el que está seleccionado.\n\t}, [selectedPoints]);\n\n\tconst handleShowCalendarOnClick = async (point: Points) => {\n\t\tsetSelectedPoint(point);\n\t\tsetLoading(true);\n\t\tconst {firstDayOfMonth, lastDayOfMonth} = getFirstAndLastDayOfMonth();\n\t\tconst availability = await getAvailability(point.properties.dealer, firstDayOfMonth, lastDayOfMonth); // Devuelve el availability.\n\t\tsetLoading(false);\n\t};\n\n\tconst handleSeleccionarOnClick = (point: any) => {\n\t\tsetSelectedPoint(point);\n\t\thandleReservaCitaLayer(point);\n\t};\n\n\tconst renderPoints = (points: any, isTime?: boolean): JSX.Element => {\n\t\treturn points.map((point: Points, i: number) => {\n\t\t\tconst {kvps} = point.properties.dealer;\n\t\t\tconst {cluster} = point.properties;\n\t\t\tconst selected = selectedPoint && selectedPoint.properties.dealer.kvps === kvps ? true : false;\n\n\t\t\tif (selected && !cluster) {\n\t\t\t\tif (\n\t\t\t\t\tisTimeSelected &&\n\t\t\t\t\ttimeRefs[i] &&\n\t\t\t\t\ttimeRefs[i].ref &&\n\t\t\t\t\ttimeRefs[i].ref.current &&\n\t\t\t\t\ttimeRefs[i].kvps === selectedPoint.properties.dealer.kvps\n\t\t\t\t) {\n\t\t\t\t\ttimeRefs[i].ref.current.scrollIntoView({block: 'center', behavior: 'smooth'});\n\t\t\t\t} else if (\n\t\t\t\t\t!isTimeSelected &&\n\t\t\t\t\tdistanceRefs[i] &&\n\t\t\t\t\tdistanceRefs[i].ref &&\n\t\t\t\t\tdistanceRefs[i].ref.current &&\n\t\t\t\t\tdistanceRefs[i].kvps === selectedPoint.properties.dealer.kvps\n\t\t\t\t) {\n\t\t\t\t\tdistanceRefs[i].ref.current.scrollIntoView({block: 'center', behavior: 'smooth'});\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t {\n\t\t\t\t\t\t\tif (!cluster && !isNull(timeRefs) && timeRefs.length > 0 && !isNull(ref) && isTime) {\n\t\t\t\t\t\t\t\tif (timeRefs[i] && timeRefs[i].ref) {\n\t\t\t\t\t\t\t\t\ttimeRefs[i].ref.current = ref;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if (!cluster && !isNull(distanceRefs) && distanceRefs.length > 0 && !isNull(ref) && !isTime) {\n\t\t\t\t\t\t\t\tif (distanceRefs[i] && distanceRefs[i].ref) {\n\t\t\t\t\t\t\t\t\tdistanceRefs[i].ref.current = ref;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}}\n\t\t\t\t\t\tclassName=\"Box\"\n\t\t\t\t\t>\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t);\n\t\t});\n\t};\n\n\treturn selectedPoints ? (\n\t\t<>\n\t\t\t\n\t\t\t\t{props.showAllCardsMobile ? (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={(e) => {\n\t\t\t\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\t\t\t\thideCards();\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\tIr al mapa\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tOrdenar por:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t{/* \n \n Ordenar por:\n \n {\n setDefaultIndex(index);\n setIsTimeSelected(!isTimeSelected);\n }}\n defaultIndex={defaultIndex}\n >\n {{\n title: 'Ubicación',\n content: renderPoints(pointsByDistance, false),\n key: 'ubicacion',\n }}\n {{ title: 'Horario', content: renderPoints(pointsByTime, true), key: 'horario' }}\n \n */}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t) : null}\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\tOrdenar por:\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\n\t) : null;\n}\n","import { Breakpoints, Layout } from '@volkswagen-onehub/components-core';\nimport { \n LegalesFormatoLayer, \n LssiTkmQuestions, \n PoliticaPrivacidad, \n LastNavigation, \n GeneralConfirmacionLayerWrapper \n} from 'src/components';\nimport React from 'react';\n\nexport const ConfirmacionEmpresas = () => {\n\n return (\n \n \n \n \n\n \n\n \n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { Text, styled } from '@volkswagen-onehub/components-core';\nimport { useFormContext } from 'react-hook-form';\nimport { CodigoPostal, InputError, TextInputExtended } from 'src/components';\n\nconst ContentWrapper = styled.div`\n margin-top: 4px;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n margin-top: 0;\n }\n label {\n margin-top: 40px;\n @media screen and (min-width: 560px) {\n width: 303px;\n }\n @media screen and (min-width: 960px) {\n width: 320px;\n margin-top: 44px;\n }\n @media all and (max-height: 624px) {\n margin-top: 24px;\n }\n }\n`;\n\nconst WidthWrapper = styled.div`\n width: 100%;\n @media all and (min-width: 560px) {\n width: 303px;\n }\n @media all and (min-width: 960px) {\n width: 320px;\n }\n`;\n\nexport const EmpresaInfoComponent = () => {\n const { register } = useFormContext();\n\n // Nombre de la empresa\n const [inputValueName, setInputValueName] = useState('');\n const [pristineName, setPristineName] = useState(true);\n const [errorName, setErrorName] = useState(false);\n const regExpName = /[a-zA-Z]/gi;\n\n const handleChangeName = (e: any) => {\n setInputValueName(e.target.value);\n setPristineName(false);\n };\n\n useEffect(() => {\n if (!pristineName && inputValueName.match(regExpName) === null) {\n setErrorName(true);\n } else {\n setErrorName(false);\n }\n }, [inputValueName, pristineName]);\n\n // CIF\n const [inputValueCIF, setInputValueCIF] = useState('');\n const [pristineCIF, setPristineCIF] = useState(true);\n const [errorCIF, setErrorCIF] = useState(false);\n const regExpCIF = /[A-Z]\\d{8}/gi;\n\n const handleChangeCIF = (e: any) => {\n setInputValueCIF(e.target.value);\n setPristineCIF(false);\n };\n\n useEffect(() => {\n if (!pristineCIF && inputValueCIF.match(regExpCIF) === null) {\n setErrorCIF(true);\n } else {\n setErrorCIF(false);\n }\n }, [inputValueCIF, pristineCIF]);\n\n\n\n return (\n <>\n \n \n handleChangeName(e)}\n required\n />\n {errorName && Solo se aceptan letras}\n \n \n handleChangeCIF(e)}\n required\n />\n {errorCIF && Ejemplo: A00000000}\n \n \n \n \n \n \n\n \n \n );\n};\n","import React, { useState } from 'react';\nimport { MultipleCTASelection} from 'src/components';\n\nconst fleetOptions = [\n {\n value: '1 - 2',\n label: '1 o 2',\n },\n {\n value: '3 - 10',\n label: 'De 3 a 10',\n },\n {\n value: '11 - 50',\n label: 'De 11 a 50',\n },\n];\n\nexport const Fleet = () => {\n\n return (\n \n );\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { CarlineSelect, ContactInfoWrapper, Email, PantallaNombreApellido, Telefono } from 'src/components';\nimport {\n\tformatPrefix,\n\tFormController,\n\tremoveWhiteSpace,\n\tuseFaContent,\n\tuseGetInstalaciones,\n\tuseOneFormContext,\n} from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { useGetWaidLitera } from 'src/feature-app/hooks/use-get-waid-litera';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { ConfirmacionEmpresas, EmpresaInfoComponent, MapaEmpresas, ThankYouEmpresas } from 'src/forms';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { formatFlags, formatHeaders, formDataBuilder, getDpsFields } from '../format-fields';\nimport { useInitializeLeadForm } from '../Leads';\nimport { Fleet } from './Fleet';\n\nexport enum EmpresasFormSteps {\n Modelo,\n Mapa,\n NombreApellido,\n EmailTelefono,\n Empresa,\n Fleet,\n Confirmacion,\n}\n\nexport function EmpresasForm() {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const installations = useGetInstalaciones('VW_DDB_FRM_VWEMPRESAS', 'VOLKSWAGEN_SF_LEAD_INSTALLATION'); // llama al metodo getInstallations()\n const dispatch = useDispatch();\n const faContent = useFaContent();\n const waid = useGetWaidLitera();\n\n const defaultSteps: Steps[] = [\n {\n title: (\n <>\n ¿Qué modelo te interesa para tu flota?\n \n ),\n fields:
} />,\n screenIndex: EmpresasFormSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n {\n screenIndex: EmpresasFormSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: ,\n },\n {\n title: (\n <>\n Estamos deseando hacerte una propuesta. Pero antes, nos gustaría saber quién eres\n \n ),\n fields:
} allowOverflowingContent />,\n screenIndex: EmpresasFormSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n showOverflow: true,\n },\n {\n title: (\n <>\n ¿En qué teléfono e email podemos localizarte?\n \n ),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: EmpresasFormSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n title: (\n <>\n Ahora, nos gustaría conocer algunos detalles sobre tu empresa\n \n ),\n fields:
} />,\n screenIndex: EmpresasFormSteps.Empresa,\n name: 'Empresa',\n outputs: ['businessName', 'CIF', 'postalCode'],\n outputsText: ['businessName', '/', 'CIF', '/', 'postalCode'],\n },\n {\n title: (\n <>\n ¿Cuántos coches necesitas para tu{' '}\n \n flota?\n *\n \n \n ),\n fields: } />,\n screenIndex: EmpresasFormSteps.Fleet,\n name: 'Fleet',\n outputs: ['fleet'],\n outputsText: ['fleet'],\n },\n {\n fields: ,\n screenIndex: EmpresasFormSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n\n const EmpresasFormData: Partial = {\n headers: {\n FORM_NAME: 'vw-oneform-empresas',\n FORM_OBJECTIVE: 'Más Información',\n FORM_ID: waid ? waid : 'B10C01_LDEMPR_WA1',\n DPS_TOKEN: 'VW_DDB_FRM_VWEMPRESAS',\n },\n flags: {\n PERSON_RGPD_ADAPTED: 'true',\n FLAG_IS_MYSTERY_LEAD: 'false',\n FLAG_RELACION_MARCA_SIN_IC: 'false',\n FLAG_SF_INTEGRATION: 'true',\n FLAG_ALLOWS_DATA_ENRICHMENT: 'false',\n // FLAG_ISQUALIFIED: 'false',\n // FLAG_MAILRECEPCIONLEAD: 'true',\n // REQUIERE_CONTACTO_DEALER: 'false',\n },\n fields: {\n formName: 'empresas',\n formType: 'contact',\n pageCategory: 'Más Información',\n formularioFlag: 'masInformacion',\n }, // Analítica\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, flags, headers } = formData;\n\n const { selectedInstallation, carlines } = dealersInfo;\n\n const {\n VGED_CommercialName__c,\n ShippingStreet,\n VGED_DealerCode__c,\n ShippingStateCode,\n KVPSCode__c,\n Id\n } = selectedInstallation;\n\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n ...formatHeaders(headers),\n\n 'headers[FORM_URL]': url,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[FORM_VERSION]': `vw-oneform-empresas-${process.env.VERSION}`,\n\n ...formatFlags(flags),\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n 'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n 'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Direct to Sales Assistant',\n 'fields[PERSON_NAME]': fields.name,\n 'fields[PERSON_SURNAME_1]': fields.surname,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname,\n 'fields[PERSON_EMAIL]': removeWhiteSpace(fields.email),\n 'fields[PERSON_PHONE_MOBILE_FULL]': `${formatPrefix(fields.prefix)}${fields.cellphone}`,\n 'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n 'fields[PERSON_PHONE_PREFIX]': formatPrefix(fields.prefix),\n 'fields[PERSON_POSTAL_CP]': fields.postalCode,\n 'fields[COMPANY_NAME]': fields.businessName,\n 'fields[COMPANY_CIF]': fields.CIF,\n 'fields[COMMENTS_PERSON]': 'Tamaño flota: ' + fields.fleet,\n 'fields[SF_LEAD_INSTALLATION_ADDRESS]': ShippingStreet,\n 'fields[SF_LEAD_INSTALLATION_CODE]': VGED_DealerCode__c,\n 'fields[SF_LEAD_INSTALLATION_ID]': Id,\n 'fields[SF_LEAD_INSTALLATION_NAME]': VGED_CommercialName__c,\n 'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': ShippingStateCode.toString().padStart(2, '0'),\n 'fields[VEH_INTEREST_FUEL]': fields.modelo.includes('ID.') ? 'Electric' : 'Undefined',\n 'fields[VEH_INTEREST_BRAND]': 'Volkswagen',\n 'fields[VEH_INTEREST_ID]': fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': fields.modelo,\n 'fields[VEH_INTEREST_NEW_OR_USED]': 'New Car',\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n ...getDpsFields(faContent),\n };\n\n delete data['headers[DETALLE_TIPO_PETICION_SIM]'];\n delete data['headers[DESC_FORM_DETAIL]'];\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData);\n\n if (response && response.data && response.data.status && response.data.status.code && response.data.status.code == 200) {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm(defaultSteps);\n\n useEffect(() => {\n if (loading) {\n return;\n }\n\n const EmpresasFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: steps,\n notALayer: false,\n formType: 'layer',\n formTheme: 'inverted',\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n initializeForm(EmpresasFormInfo, EmpresasFormData);\n }, [loading]);\n\n return loading ? null : ;\n}\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThankYouEmpresas = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import { Breakpoints, BreakpointWrapper } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { AvailabilityErrorLayer } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useMapGeneralController,\n sortPoints,\n useOneFormContext,\n useFeatureServices,\n NewDealerCard,\n} from 'src/feature-app';\nimport { LoadingLayer } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { Horario, OneFormState, Points } from 'src/types';\nimport { fetchProvince, fetchProvinceLegacy } from 'src/bff';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { \n getDistanceFromLatLngCenter, \n LayerDesktopView, \n LayerMobileView \n} from 'src/feature-app/NewMap';\n\n\nexport const JourneyEmpresasController = () => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n const { handleNextStep } = useOneFormContext();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const dispatch = useDispatch();\n const env = useFeatureAppEnvironment();\n const [loading, setLoading] = useState(false);\n const pointsByDistanceRef = useRef(null);\n const isComerciales = useIsComerciales();\n\n const loadingLayer = useRef(null);\n const {\n clusters,\n centerToCalculateDistance,\n superClusterRef,\n cardsDistanceRef,\n } = useMapGeneralController();\n\n const [pointsToList, setPointsToList] = useState(null);\n\n useEffect(() => {\n if (clusters && superClusterRef.current) {\n const { pointsByDistance } = sortPoints(\n clusters,\n horario,\n centerToCalculateDistance.current,\n superClusterRef.current\n );\n pointsByDistanceRef.current = pointsByDistance;\n setPointsToList(pointsByDistance);\n }\n }, [clusters, superClusterRef.current]);\n\n const renderPoints = (points: Points[], isTime?: boolean, isCarouselCard?: boolean): JSX.Element[] => {\n // const pointsToRender = isTime ? pointsByTime : pointsByDistance;\n\n return points.map((point: Points, index: number) => {\n if (!point.properties.cluster) {\n const { dealer } = point.properties;\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return (\n {\n cardsDistanceRef.current[index] = el;\n }}\n >\n \n
\n );\n }\n return null;\n });\n };\n\n // Gestión del point seleccionado y del boton de seleccionar (dms)\n const handleSeleccionarOnClick = useCallback((point: Points) => {\n // Añadir lógica para guardar el dealer seleccionado\n dispatch({ type: 'SET_SELECTED_INSTALLATION', payload: point.properties.installation });\n // Necesitamos el nombre de la provincia, y éste no está disponible en la request de instalaciones.\n if(isComerciales) {\n fetchProvinceLegacy('LCV_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.FRML_TXT_codVentaProvincia__c)\n );\n const provinceName = province.attributes[1].value;\n \n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n else {\n fetchProvince('VW_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.FRML_TXT_codVentaProvincia__c)\n );\n const provinceName = province.attributes[1].value;\n \n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n handleNextStep();\n }, []);\n\n const renderAvailabilityErrorLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n const renderLoadingLayer = () => {\n return (\n \n \n \n );\n };\n\n const handleLoadingLayer = () => {\n if (loading) {\n const layer = layerManager.openFocusLayer(renderLoadingLayer, {}, { size: FocusLayerSizeV2.A });\n loadingLayer.current = layer;\n } else {\n if (loadingLayer.current) {\n loadingLayer.current.close();\n loadingLayer.current = null;\n }\n }\n };\n\n useEffect(() => {\n handleLoadingLayer();\n }, [loading]);\n\n return (\n
\n \n \n \n\n \n \n \n
\n );\n};\n","import React from 'react';\nimport { JourneyEmpresasController } from '.';\nimport { MapGeneralController } from 'src/feature-app';\n\n/**\n * Este componente está creado únicamente para que JourneyEmpresasController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyEmpresasWrapper = () => {\n return (\n \n \n \n );\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { useOneFormContext } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { LocateUser } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { DealersData, OneFormState, Steps } from 'src/types';\nimport { JourneyEmpresasWrapper } from './JourneyEmpresasWrapper';\n\nenum MapaEmpresasSteps {\n Dealer,\n Horario,\n SeleccionCita,\n SeleccionFecha,\n}\n\nconst CTAsHorario = [\n { label: 'Por la mañana', value: 'morning' },\n { label: 'Al mediodía', value: 'afternon' },\n { label: 'Por la tarde', value: 'evening' },\n];\n\ninterface MapaEmpresasProps {\n showHorario?: boolean;\n formName: string;\n}\n\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport function MapaEmpresas(props: MapaEmpresasProps) {\n const { formName, showHorario } = props;\n const dispatch = useDispatch();\n const store = useStore();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { dealer }: { dealer?: DealersData } = formData.fields;\n const { firstMapLoad, multiStepScreenIndex, navigationMovingForward } = formInfo;\n\n const {\n handleScreenChange,\n // setWaitForNextStep,\n setNextMultiStep,\n setNextMultiStepScreenIndex,\n setPreviousMultiStep,\n setWaitForPreviousStep,\n waitForPreviousStep,\n // waitForNextStep,\n setIsFullScreen,\n setShowPreviousStep,\n } = useOneFormContext();\n\n const steps: Steps[] = [\n {\n title: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n fields: ,\n screenIndex: MapaEmpresasSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: 1,\n name: 'MapSelect',\n alternateTitle: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n const [selectedStep, setSelectedStep] = useState(null);\n\n /**\n * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n */\n const onMapLoad = () => {\n handleFirstLoad();\n };\n\n const handleFirstLoad = async () => {\n if (firstMapLoad) {\n // Inicialización\n initializeMultiStep();\n } else {\n if (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n // Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n initializeMultiStep();\n } else {\n // En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n const newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n // Lo mismo para previous, solo le desactivamos si estamos en la primera.\n const newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n updateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n updateScreenChangeVariables(multiStepScreenIndex);\n\n setTimeout(() => {\n setShowPreviousStep(false);\n }, TIME_FOR_TRANSFORM);\n }\n }\n setNextMultiStep(() => nextMapaEmpresas);\n setPreviousMultiStep(() => previousMapaEmpresas);\n };\n\n const initializeMultiStep = () => {\n updateWaitForNextAndPreviousStep(true, false);\n updateScreenChangeVariables(0);\n };\n\n const updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n if (waitForNextStep !== null) {\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep });\n }\n if (waitForPreviousStep !== null) {\n setWaitForPreviousStep(waitForPreviousStep);\n }\n };\n\n const nextMapaEmpresas = () => {\n const { multiStepScreenIndex } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Una vez avanzamos dentro de los multisteps se activa el wait\n // previous step para volver hacia atrás dentro del propio multistep.\n if (!waitForPreviousStep || multiStepScreenIndex === 0) {\n updateWaitForNextAndPreviousStep(null, true);\n }\n\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex + 1);\n // Si estamos en el último paso del multistep se desactiva el\n // wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n if (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n updateWaitForNextAndPreviousStep(false, null);\n if(multiStepScreenIndex === 0) {\n setShowPreviousStep(false);\n } else {\n setShowPreviousStep(true);\n }\n }\n }, TIME_FOR_TRANSFORM);\n };\n\n const previousMapaEmpresas = () => {\n const { multiStepScreenIndex, waitForNextStep } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Se desactiva el wait previous step en la segunda pantalla para que\n // en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n if (multiStepScreenIndex === 1) {\n updateWaitForNextAndPreviousStep(null, false);\n }\n\n if (!waitForNextStep) {\n updateWaitForNextAndPreviousStep(true, null);\n }\n\n // Se fija en la pantalla previa a la primera para que cuando se cambie\n // a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex - 1);\n }, TIME_FOR_TRANSFORM);\n };\n\n const updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n setNextMultiStepScreenIndex(newMultiStepScreenIndex);\n dispatch({ type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex });\n setSelectedStep(steps[newMultiStepScreenIndex]);\n setIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n setShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_MULTISTEPS', payload: steps });\n\n handleFirstLoad();\n\n return () => {\n dispatch({ type: 'UPDATE_FIRST_MAP_LOAD', payload: false });\n setShowPreviousStep(true);\n updateWaitForNextAndPreviousStep(false, false);\n };\n }, []);\n\n return selectedStep ? (\n \n \n \n ) : null;\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { AutosubmitController } from 'src/forms/Autosubmit/AutosubmitController';\nimport { createPincodeEntity } from '../../dps-utils';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { LoadingEncuestas } from 'src/components';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { PlanIdealForm } from './PlanIdealForm';\n\nexport function PlanIdealController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [pincodeAvailable, setPincodeAvailable] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n setPincodeAvailable(false);\n setLoading(false);\n } else {\n setPincodeAvailable(true);\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idPersonRef.current = idPerson;\n\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else {\n return (\n <>\n {\n pincodeAvailable ?\n \n :\n \n }\n \n );\n }\n}\n","import React, { useState } from 'react';\nimport { RadioButton } from '@volkswagen-onehub/components-core';\nimport { InputButton } from 'src/components/inputs/InputButton';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\n\ninterface ChecksProps {\n questionName: string;\n avoidNextStep?: boolean;\n answers: string[];\n skippable: boolean;\n}\n\nexport const Checks = (props: ChecksProps) => {\n const { questionName, answers, skippable} = props;\n const [checkedIndex, setCheckedIndex] = useState(null);\n const dispatch = useDispatch();\n\n const { handleNextStep } = useOneFormContext();\n const [value, setValue] = useState(null);\n const { register } = useFormContext();\n\n const handleOnClick = (e: any) => {\n setTimeout(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { [questionName]: e.target.value } });\n handleNextStep();\n }, 0);\n };\n\n return (\n
\n {answers.map((answer, index) => {\n return (\n
\n {\n setValue(answer);\n setCheckedIndex(index);\n handleOnClick(e);\n }}\n checked={checkedIndex === index}\n />\n
\n )\n })}\n\n {\n skippable ? (\n
\n {\n setValue(\"No, eso es todo\");\n handleOnClick(e);\n }}\n />\n
\n ) : null\n }\n\n \n
\n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n styled,\n Text,\n} from '@volkswagen-onehub/components-core';\nimport { Checks } from './Checks';\nimport { useWindowHeight, useWindowWidth } from '@react-hook/window-size';\n\nconst LayoutWrapper = styled.div`\n @media all and (min-width: 960px) {\n padding-left: var(--size-grid002);\n display: flex;\n }\n`;\n\nconst InfoWrapper = styled.div`\n width: 100%;\n padding-left: var(--size-grid002);\n padding-right: var(--size-grid002);\n @media all and (min-width: 960px) {\n display: flex;\n justify-content: center;\n flex-direction: column;\n width: var(--size-grid012);\n padding-left: var(--size-grid002);\n padding-right: 0;\n padding-top: 0;\n }\n @media all and (min-width: 1280px) {\n padding-left: var(--size-grid003);\n }\n @media all and (min-width: 1600px) {\n padding-left: var(--size-grid002);\n }\n`;\n\ninterface VideoProps {\n isMediumScreen: boolean;\n};\n\nconst Video = styled.video`\n display: block;\n max-height: ${(props) => props.isMediumScreen ? \"auto\" : \"25%\"};\n width: ${(props) => props.isMediumScreen ? \"35%\" : \"100%\"};\n margin: ${(props) => props.isMediumScreen ? \"auto\" : \"0 auto\"};\n padding-bottom: var(--size-grid001);\n`;\n\ninterface QuestionWithImageProps {\n answers: string[];\n imageSrc: string;\n videoSrc: string;\n skippable: boolean;\n\n index: number;\n questionName: string;\n intro: JSX.Element | string;\n title: JSX.Element | string;\n}\n\nexport const QuestionWithImage = (props: QuestionWithImageProps) => {\n const {\n answers,\n imageSrc,\n videoSrc,\n index,\n questionName,\n intro,\n title,\n skippable\n } = props;\n const height = useWindowHeight();\n const windowWidth = useWindowWidth();\n const [isMediumScreen, setIsMediumScreen] = useState(false);\n\n useEffect(() => {\n console.log(\"setIsMediumScreen\", windowWidth >= 960);\n setIsMediumScreen(windowWidth >= 960);\n}, [windowWidth]);\n\n return (\n \n {\n height <= 600 ? null : (\n \n
\n \n
\n
\n )\n }\n \n \n \n \n \n \n <>\n {intro}\n \n \n \n <>\n {title}\n \n \n \n \n \n
\n )\n};\n","import React, { useEffect, useState } from 'react';\nimport { ConfirmationPlanIdeal, ThankYouPlanIdeal } from './';\nimport { QuestionWithImage } from './QuestionWithImage';\nimport { dpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport {\n formatPrefix,\n FormController,\n useOneFormContext,\n} from 'src/feature-app';\nimport {\n FormDataGroup,\n FormInfo,\n OneFormState,\n Steps,\n} from 'src/types';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport {\n DetalleMotivo,\n} from 'src/components';\nimport {\n Text,\n} from '@volkswagen-onehub/components-core';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from '../../helpers/add-remove-steps';\n\nexport enum PlanIdealSteps {\n PlanIDeal1,\n PlanIDeal2,\n PlanIDeal3,\n PlanIDeal3Otros,\n Confirmacion\n}\n\nconst questions = [\n {\n questionName: 'PlanIDeal1',\n screenIndex: PlanIdealSteps.PlanIDeal1,\n intro: <>En tus escapadas...,\n title: <>¿Cuánto te gusta conducir?,\n answers: [\n 'Mucho, mi coche es mi segundo hogar',\n 'Ni fu ni na, de copiloto se va mejor',\n 'Poco, solo si es necesario'\n ],\n videoSrc: 'https://assets.volkswagen.com/is/content/volkswagenag/video01-0x720-3000k',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2023AU00207_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg==',\n skippable: false\n },\n {\n questionName: 'PlanIDeal2',\n screenIndex: PlanIdealSteps.PlanIDeal2,\n intro: <>En tus escapadas...,\n title: <>¿Quién suele acompañarte?,\n answers: [\n 'Voy solo y sin que nadie me toque la música',\n 'Mi familia, nada nos separa',\n 'Mi pareja es mi mejor copiloto',\n 'Mis amigxs, con ellxs a todos lados'\n ],\n videoSrc: 'https://assets.volkswagen.com/is/content/volkswagenag/video02-0x720-3000k',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2023AU00207_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg==',\n skippable: false\n },\n {\n questionName: 'PlanIDeal3',\n screenIndex: PlanIdealSteps.PlanIDeal3,\n intro: <>Ahora es tu turno.,\n title: <>¿Hay algo que quieras saber de nuestros eléctricos?,\n answers: [\n 'La autonomía que tienen',\n 'El tiempo y lugar de carga',\n 'Lo que me ahorro',\n 'Otros'\n ],\n videoSrc: 'https://assets.volkswagen.com/is/content/volkswagenag/video03-0x720-3000k',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2023AU00207_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg==',\n skippable: true\n }\n];\n\ninterface PlanIdealFormProps {\n dpsData?: any;\n idPerson?: any;\n handleError?: any;\n email?: string;\n name?: string;\n surname?: string;\n}\n\nexport function PlanIdealForm(props: PlanIdealFormProps) {\n const { idPerson } = props;\n const { initializeForm, handleNextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [loading, setLoading] = useState(true);\n\n const name: string = props.name ? props.name : props.idPerson?.FirstName;\n const surname: string = props.surname ? props.surname : props.idPerson?.LastName;\n const email: string = props.email ? props.email : props.idPerson?.TXT_Email__c;\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { email, name, surname } });\n setLoading(false);\n }, []);\n\n //Logica eliminar o añadir PlanIdeal3Otros\n const { PlanIDeal3 } = formData.fields;\n const handlePlanIDeal3Otros = (PlanIDeal3: String) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n\n if (PlanIDeal3 === \"Otros\") {\n const stepIndex = getIndexInSteps(newSteps, 'PlanIDeal3Otros');\n\n if (stepIndex === -1) {\n newSteps = addRemovedStep(steps, actualSteps, 'PlanIDeal3Otros', screenIndex);\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n } else {\n newSteps = removeStep(newSteps, 'PlanIDeal3Otros');\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n const steps: Steps[] = [\n ...questions.map((question, index) => {\n return {\n fields: ,\n screenIndex: question.screenIndex,\n name: question.questionName,\n showOverflow: true,\n }\n }),\n {\n title: <>¿Nos das más detalles?,\n fields: } />,\n screenIndex: PlanIdealSteps.PlanIDeal3Otros,\n name: 'PlanIDeal3Otros'\n },\n {\n fields: ,\n screenIndex: PlanIdealSteps.Confirmacion,\n name: 'Confirmacion',\n outputs: ['confirmacion'],\n outputsText: ['confirmacion'],\n },\n ];\n\n const NuevoFormData: Partial = {\n fields: {\n formName: 'adhoc-2023-plan_ideal',\n formType: 'otherform',\n pageCategory: 'Concurso'\n }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const generateData = (data?: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n 'headers[COD_FORM_ID]': fields.formName ? `vw-oneform-${fields.formName}` : `vw-oneform-${data.fields.formName}`,\n 'headers[DESC_BRAND]': 'VW',\n 'headers[DESC_CAMPAIGNBLOCK]': '16. OneShots',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORM_DETAIL]': 'Plan IDeal 2023',\n 'headers[DESC_FORMOBJECTIVE]': 'Concurso',\n 'headers[DESC_GDPR_ADAPTED]': 'true',\n 'headers[DESC_ID_CAMPAIGN]': '7017Q000000DYShQAO',\n 'headers[DESC_TOKEN]': 'VW_DDB_FRM_PLAN_IDEAL_2023',\n 'headers[DESC_URLORIGIN]': url,\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[DESC_ID_CLIMAPRO]': idPerson ? idPerson.ID_Person_DIM_IMP__c : \"\",\n\n 'fields[DESC_AUXFIELD1]': fields.PlanIDeal1, // Primera Respuesta\n 'fields[DESC_AUXFIELD2]': fields.PlanIDeal2, // Segunda Respuesta\n 'fields[DESC_AUXFIELD3]': fields.PlanIDeal3, // Tercera Respuesta\n 'fields[M_OBSERVATION]': fields.PlanIDeal3 === 'Otros' ? fields.PlanIDeal3Otros : '', // Mensaje en caso otros en Tercera Respuesta\n\n 'fields[DESC_EMAIL_ADDRESS]': fields.email ? fields.email : idPerson? idPerson.TXT_Email__c : null,\n 'fields[DESC_FORM_VERSION]': fields.formName\n ? `vw-oneform-${fields.formName}-${process.env.VERSION}`\n : `vw-oneform-${data.fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_NAME]': fields.name ? fields.name : idPerson.FirstName,\n 'fields[DESC_SURNAME_1]': fields.surname ? fields.surname : idPerson.LastName,\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[NUM_CELLPHONE]': fields.telefono ? `${formatPrefix(fields.prefix)}${fields.telefono}` : idPerson.NUM_Phone_mobile__c,\n\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = async (): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateSubmitData();\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response.data?.content?.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackingManager.trackFormLoad();\n }\n }, [loading]);\n\n useEffect(() => {\n if (PlanIDeal3) handlePlanIDeal3Otros(PlanIDeal3);\n }, [PlanIDeal3]);\n\n return loading || !steps ? null : ;\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n styled,\n Text,\n Layout,\n BreakpointWrapper,\n CTA,\n ContainerGutter,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useState } from 'react';\nimport {\n PoliticaPrivacidad,\n LastNavigation,\n LabelInputWidthWrapper,\n Nombre,\n Apellido,\n Telefono,\n Email,\n LegalItem\n} from 'src/components';\nimport { IdPerson } from 'src/types';\nimport { LayerManagerWrapper, useFeatureAppEnvironment, useFeatureServices } from 'src/feature-app';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport { useStore } from 'react-redux';\nimport { Checks } from './Checks';\n\nconst GridWrapper = styled.div`\n width: 90%;\n display: grid;\n grid-template-rows: repeat(2, auto);\n grid-gap: 5%;\n height: 180px;\n @media all and (min-width: 1600px) {\n height: 200px;\n }\n`;\n\nconst GridItem = styled.div <{ row: string }>`\n grid-row: ${props => props.row};\n`;\n\nconst TextBlue = styled(Text)`\n color: #001e50;\n`;\n\nconst InputErrorLegales = styled.p`\n position: relative;\n margin-top: 10px;\n background-color: #e4002c;\n color: #ffffff;\n width: max-content;\n max-width: 280px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 14px;\n`;\n\nconst QuestionWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n padding-top: 10%;\n @media all and (max-width: 1280px) {\n padding-top: 2%;\n }\n`;\ninterface ConfirmacionTestIDProps {\n idPerson: IdPerson;\n}\n\nconst legalesPlanIdeal = 'https://crm.volkswagen.es/email/2023/service/planideal/Sorteo%20Plan%20Ideal.pdf'\n\nconst infoLayerCopies = {\n lssi: {\n title: 'Estarás mejor informado.',\n body: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n },\n};\n\nexport const ConfirmationPlanIdeal = (props: ConfirmacionTestIDProps) => {\n const { idPerson } = props;\n const [compartir, setCompartir] = useState(null);\n const [compartirError, setCompartirError] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const env = useFeatureAppEnvironment();\n const store = useStore();\n const handleInfoLayer = (\n key: 'lssi',\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { ...infoLayerCopies[key] },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n {state.title}\n {state.body}\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n return (\n <>\n \n \n \n Genial, ya está todo a punto. Confírmanos tus datos, para participar en el sorteo del planazo que tenemos para ti junto a uno de nuestros eléctricos 😉\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n
\n \n\n \n \n {!idPerson &&\n handleInfoLayer('lssi', renderInfo)}\n themeColor={'main'}\n name='lssi'\n />\n }\n \n\n \n \n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n \n \n \n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n \n \n \n\n \n \n \n\n {compartirError && Necesitamos esta información para seguir}\n \n \n \n \n \n );\n};\n","import React, { useEffect } from 'react';\nimport { OneFormState, Steps } from 'src/types';\nimport { OneElementTemplate, RenderController } from 'src/feature-app/Screen';\nimport {\n CTA,\n Container,\n ContainerPadding,\n Text,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { TrackingForm, useTrackingManager } from 'src/feature-app';\nimport { useDispatch, useSelector } from 'react-redux';\n\nexport function ThankYouPlanIdeal() {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => ({\n LeadID: undefined,\n FormFields: undefined,\n });\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo?.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: (\n <>\n ¡Gracias por participar, {formInfo.formResponse.params.fields.DESC_NAME}!\n \n ),\n fields: (\n \n \n El día 7 de noviembre realizaremos el sorteo y comunicaremos el ganador/a, ¡te deseamos mucha suerte!\n \n\n \n Mientras tanto, puedes mantenerte al día de todas nuestras novedades sobre la movilidad eléctrica y resolver tus dudas aquí.\n \n\n \n Además, nuestros eléctricos son los nuevos protagonistas de un nuevo evento muy especial, el ID.Street, ¿Quieres saber más? Descúbrelo aquí.\n \n \n } />\n )\n };\n return (\n \n );\n}\n","import React from 'react';\nimport {\n Text,\n ThemeProvider,\n CTA,\n styled,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { TriggerProps, useFaContent } from 'src/feature-app';\nimport { DiaDeLaMadreForm } from 'src/forms/FormsAdhoc/DiaDeLaMadre';\n\nconst MarginWrapper = styled.div`\n width: var(--size-grid020);\n padding: var(--size-grid002) var(--size-grid001) var(--size-grid006) var(--size-grid003);\n display: flex;\n flex-direction: column;\n\n @media all and (min-width: 560px) {\n margin-top: 40px;\n width: var(--size-grid008);\n margin-bottom: var(--size-grid004);\n padding: 0;\n }\n @media all and (min-width: 960px) {\n margin-top: 64px;\n width: var(--size-grid007);\n margin-bottom: calc(var(--size-grid002) + 40px);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid006);\n margin-bottom: 0;\n }\n @media all and (min-width: 1600px) {\n margin-top: 80px;\n }\n @media all and (min-width: 1920px) {\n margin: 52px 0 72px var(--size-grid002);\n width: var(--size-grid005);\n }\n`;\n\nexport const CajaCTATrigger = (props: TriggerProps) => {\n const { setSelectedJourney, setCTALabel } = props;\n\n const faContent = useFaContent();\n\n const getCtaLabel = () => (faContent?.cta ? faContent.cta : 'Dale amor');\n\n return (\n \n \n
\n \n Solo falta la tuya\n \n
\n
\n \n A veces un {'\"'}te quiero{'\"'} no puede esperar. Díselo ahora para entrar en el{' '}\n sorteo* de un finde para dos personas en tu parador favorito al volante del nuevo ID.4\n , haciendo lo que más desea tu madre:{' '}pasar tiempo contigo.\n \n
\n
\n {\n setCTALabel(getCtaLabel());\n setSelectedJourney();\n }}\n >\n {getCtaLabel()}\n \n
\n
\n \n *Sorteo exclusivo para clientes de Volkswagen.\n \n
\n
\n
\n );\n};\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n CTA,\n styled,\n Text,\n TextAlignment,\n Layout,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { LegalesFormatoLayer, LssiTkmQuestions } from 'src/components';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { connect, useDispatch, useStore } from 'react-redux';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport { KoScreen, LoadingScreen } from 'src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\n\nconst GeneralconfirmacionWrapper = styled.div`\n padding: 72px 0 44px;\n @media all and (min-width: 960px) {\n padding: 86px 0 0;\n }\n`;\n\nconst WhiteLinkWrapper = styled.span`\n a {\n color: #ffffff;\n font-weight: bold;\n }\n`;\n\nfunction ConfirmacionDiaDeLaMadre() {\n const dispatch = useDispatch();\n\n const [lssi, setLssi] = useState(null);\n const [tmk, setTmk] = useState(null);\n const [lssiError, setLssiError] = useState(false);\n const [tmkError, setTmkError] = useState(false);\n\n useEffect(() => {\n if (lssi) {\n const values = { lssi: lssi };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setLssiError(false);\n }\n if (tmk) {\n const values = { tmk: tmk };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setTmkError(false);\n }\n }, [lssi, tmk]);\n\n return (\n \n \n \n \n ¡Gracias! Unas últimas preguntas para tenerlo todo claro\n \n \n \n \n ¡Gracias! Unas últimas preguntas para tenerlo todo claro\n \n \n\n \n \n \n Enviando este formulario declaras estar informado de la{' '}\n \n \n política de privacidad.\n \n \n \n \n\n
\n \n
\n \n \n
\n );\n}\n\ninterface LastNavigationProps {\n tmk: string;\n lssi: string;\n setTmkError: React.Dispatch>;\n setLssiError: React.Dispatch>;\n}\n\nfunction LastNavigation(props: LastNavigationProps) {\n const { tmk, lssi, setTmkError, setLssiError } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { reset } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n // 1. check de lssi y tmk\n // 2. submit de la cita y activación la pantalla de feedback correspondiente\n // no se hace ninguna validación en este último paso porque esta ya se ha hecho en el edit-guardar de cada campo previamente\n async function handleConfirmarCita(e: any) {\n if (tmk === null && tmk === null) {\n setTmkError(true);\n setLssiError(true);\n } else if (tmk === null) {\n setTmkError(true);\n } else if (lssi === null) {\n setLssiError(true);\n } else {\n trackingManager.trackFormCTAClick({\n contentId: 'Enviar',\n });\n\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n <>\n \n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent\n >\n Enviar\n \n \n \n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n >\n Enviar\n \n \n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formInfo: state.formInfo,\n formData: state.formData,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ConfirmacionDiaDeLaMadre);\n\nexport { ConnectedComponent as ConfirmacionDiaDeLaMadre };\n","import React, { useEffect, useState } from 'react';\nimport {\n Text,\n styled,\n ThemeProvider,\n BreakpointWrapper,\n Breakpoints,\n Container,\n ContainerPadding,\n} from '@volkswagen-onehub/components-core';\nimport { CajaCTATrigger } from '.';\nimport { CarouselComponent } from 'src/components';\nimport { TriggerProps } from 'src/feature-app';\nimport imageOne from 'src/forms/DiaDeLaMadre/assets/turismos_campana_dia-de-la-madre_USP-1_1280x853px.jpg';\nimport imageTwo from 'src/forms/DiaDeLaMadre/assets/turismos_campana_dia-de-la-madre_USP-2_1280x768px.jpg';\nimport imageThree from 'src/forms/DiaDeLaMadre/assets/turismos_campana_dia-de-la-madre_USP-3_1280x768px.jpg';\n\nconst BackgroundBlue = styled.div`\n margin-right: var(--size-grid002);\n margin-top: calc(var(--size-grid002) * -1);\n background-color: #001e50;\n width: var(--size-grid022);\n position: absolute;\n height: 100%;\n z-index: -1;\n\n @media all and (min-width: 560px) {\n width: var(--size-grid022);\n margin-left: var(--size-grid002);\n margin-right: 0;\n margin-top: 0;\n }\n @media all and (min-width: 960px) {\n margin-left: var(--size-grid003);\n margin-right: var(--size-grid001);\n width: var(--size-grid020);\n height: calc(100% - 24px);\n margin-top: 24px;\n }\n @media all and (min-width: 1280px) {\n margin-left: var(--size-grid004);\n margin-right: var(--size-grid002);\n width: var(--size-grid018);\n }\n @media all and (min-width: 1600px) {\n margin-top: 28px;\n height: calc(100% - 28px);\n }\n @media all and (min-width: 1920px) {\n margin-left: var(--size-grid004);\n margin-right: var(--size-grid009);\n width: var(--size-grid011);\n margin-top: 72px;\n margin-bottom: 72px;\n height: calc(100% - 72px);\n }\n`;\n\nconst ImageOneAndTextWrapper = styled.div`\n display: flex;\n margin-left: var(--size-grid001);\n\n @media all and (min-width: 960px) {\n margin-left: var(--size-grid002);\n }\n @media all and (min-width: 1280px) {\n margin-left: var(--size-grid003);\n }\n @media all and (min-width: 1920px) {\n flex-direction: column;\n align-items: flex-start;\n justify-content: flex-start;\n }\n\n .image-one {\n width: var(--size-grid013);\n margin-right: var(--size-grid001);\n height: fit-content;\n @media all and (min-width: 960px) {\n width: var(--size-grid012);\n margin-bottom: var(--size-grid002);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid011);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid010);\n margin-right: 0;\n margin-bottom: 0;\n }\n }\n`;\n\nconst ImageTwoWrapper = styled.div`\n margin-top: calc(var(--size-grid002) * -1);\n margin-left: var(--size-grid001);\n\n @media all and (min-width: 960px) {\n margin-left: var(--size-grid002);\n margin-top: calc((var(--size-grid001) + 20px) * -1);\n }\n @media all and (min-width: 1280px) {\n margin-left: var(--size-grid003);\n margin-top: calc(var(--size-grid001) * -1);\n }\n @media all and (min-width: 1920px) {\n margin-left: var(--size-grid001);\n margin-top: 0;\n }\n\n .image-two {\n width: var(--size-grid010);\n margin-right: var(--size-grid002);\n @media all and (min-width: 960px) {\n width: var(--size-grid009);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid008);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid007);\n margin-right: 0;\n }\n }\n`;\n\nconst ImageThreeWrapper = styled.div`\n margin-top: calc(var(--size-grid002) * -1);\n\n @media all and (min-width: 960px) {\n margin-top: calc((var(--size-grid001) + 20px) * -1);\n }\n @media all and (min-width: 1280px) {\n margin-top: calc(var(--size-grid001) * -1);\n }\n @media all and (min-width: 1920px) {\n margin-top: calc((var(--size-grid003) + 20px) * -1);\n margin-left: var(--size-grid012);\n }\n\n .image-three {\n width: var(--size-grid010);\n @media all and (min-width: 960px) {\n width: var(--size-grid009);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid008);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid007);\n }\n }\n`;\n\nconst BottomImagesWrapper = styled.div`\n width: 100%;\n display: flex;\n`;\n\nconst RelativeWrapper = styled.div`\n position: relative;\n\n @media all and (min-width: 1920px) {\n display: flex;\n }\n`;\n\nconst imageArray = [\n {\n src: 'imageOne',\n name: 'turismos_campana_dia-de-la-madre',\n className: 'image-one',\n },\n {\n src: 'imageTwo',\n name: 'turismos_campana_dia-de-la-madre',\n className: 'image-two',\n },\n {\n src: 'imageThree',\n name: 'turismos_campana_dia-de-la-madre',\n className: 'image-three',\n },\n];\n\nconst CarouselImageWrapper = styled.div`\n padding: 0 2.5%;\n width: 83.2vw;\n height: 83.2vw;\n overflow: hidden;\n\n .wrapper-image-one {\n padding-left: 6.32%;\n }\n\n .image-one {\n transform: scale(0.6) translate(-82%, -54%);\n @media all and (min-width: 450px) {\n transform: scale(0.6) translate(-71%, -47%);\n }\n }\n .image-two {\n transform: scale(0.5) translate(-65%, -63%);\n @media all and (min-width: 450px) {\n transform: scale(0.6) translate(-50%, -37%);\n }\n }\n .image-three {\n transform: scale(0.5) translate(-62%, -63%);\n @media all and (min-width: 450px) {\n transform: scale(0.6) translate(-50%, -37%);\n }\n }\n`;\n\nconst MovileImageWrapper = styled.div`\n margin: 0 auto;\n width: var(--size-grid020);\n height: var(--size-grid020);\n overflow: hidden;\n margin-left: var(--size-grid002);\n .wrapper-image-one {\n }\n\n .image-one {\n transform: scale(0.6) translate(-82%, -54%);\n @media all and (min-width: 450px) {\n transform: scale(0.6) translate(-71%, -47%);\n }\n }\n`;\n\nexport const DisplayImagenesYCTATrigger = (props: TriggerProps) => {\n const { setSelectedJourney, setCTALabel } = props;\n\n const renderList = (imageArray: Array) => {\n return imageArray.map((image, ind) => {\n return (\n \n
\n {image.name}\n
\n
\n );\n });\n };\n\n return (\n
\n \n \n
\n \n
\n
\n \n \n \n \n
\n {/* maquetación breakpoints a partir de 560*/}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n );\n};\n","import React, { useState } from 'react';\nimport {\n Container,\n ContainerGutter,\n ContainerPadding,\n styled,\n} from '@volkswagen-onehub/components-core';\nimport { TextAreaExtended } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app';\nimport { useFormContext } from 'react-hook-form';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\n\nconst ButtonWrapper = styled.div`\n display: flex;\n justify-content: flex-start;\n`;\ninterface DetalleMotivoProps {\n hideCTA?: boolean;\n}\n\nexport function Mensaje(props: DetalleMotivoProps) {\n const { hideCTA } = props;\n const { register } = useFormContext();\n const { handleNextStep } = useOneFormContext();\n const [currentValue, setCurrentValue] = useState('');\n const trackingManager = useTrackingManager();\n\n const handleChange = (e: any) => {\n const aux = e.currentTarget.value;\n e.preventDefault();\n setCurrentValue(aux);\n };\n\n return (\n \n handleChange(e)}\n appearance={'default'}\n isFloating={false}\n innerRef={register({\n required: {\n value: true,\n message: 'Requerido',\n },\n })}\n placeholder=\"Por ejemplo: Feliz yo de tenerte, mamá <3. Un solo día se te queda corto. Te quiero hoy y los 364 restantes.\"\n rows={3}\n />\n \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport {\n styled,\n Text,\n ThemeProvider,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { CSSTransition } from 'react-transition-group';\n\nconst CardsWrapper = styled.div`\n position: relative;\n height: calc((2 *var(--size-grid003)/1.04) + 89px);\n @media screen and (max-width: 780px) {\n height: calc((2 *var(--size-grid003)/1.04) + 140px);\n }\n @media screen and (max-width: 712px) {\n height: 369px;\n }\n @media screen and (max-width: 654px) {\n height: 410px;\n }\n @media screen and (max-width: 654px) {\n height: 388px;\n }\n @media screen and (max-width: 420px) {\n height: 375px;\n }\n`;\n\ntype CardProps = {\n bgColor: string,\n number: number,\n size?: number,\n position: {\n top?: string,\n right?: string,\n bottom?: string,\n left?: string\n }\n}\n\nconst Card = styled.article`\n position: absolute;\n width: var(--size-grid003);\n height: calc(var(--size-grid003)/1.04);\n display: flex;\n align-items: center;\n justify-content: center;\n color: #ffffff;\n text-align: center;\n top: ${props => props.position.top ? `${props.position.top}` : 'unset'};\n right: ${props => props.position.right ? `${props.position.right}` : 'unset'};\n bottom: ${props => props.position.bottom ? `${props.position.bottom}` : 'unset'};\n left: ${props => props.position.left ? `${props.position.left}` : 'unset'};\n background: ${props => props.bgColor === 'dark' ? '#001E50' : '#00B0F0'};\n padding: 16px;\n display: none;\n &.card-enter {\n transform: scale(0);\n display: flex;\n }\n &.card-enter-active {\n transform: scale(1.1);\n transition: transform 150ms;\n display: flex;\n }\n &.card-enter-done {\n transform: scale(1);\n transition: transform 150ms;\n display: flex;\n }\n @media screen and (max-width: 1188px) {\n width: max-content;\n max-width: 165px;\n height: 131px;\n }\n @media screen and (max-width: 654px) {\n text-align: left;\n }\n @media screen and (max-width: 420px) {\n max-width: unset;\n width: ${\n props => props.number === 0 ? '120px'\n : props.number === 1 ? '120px'\n : props.number === 2 ? '164px'\n : props.number === 3 ? '144px'\n : '140px'\n};\n height: ${\n props => props.number === 0 ? '125px'\n : props.number === 1 ? '121px'\n : props.number === 2 ? '145px'\n : props.number === 3 ? '161px'\n : '140px'\n};\n }\n`;\n\nconst mensajes = [\n {\n bgColor: 'light',\n text: 'Mamá, éste sí que es nuestro año. ¡Te quiero!'\n },\n {\n bgColor: 'dark',\n text: 'Mamá, ¿te ape un plan juntos, solos tú y yo?'\n },\n {\n bgColor: 'light',\n text: '¡Felicidades, Carmen! Prepárate, porque se vienen cositas hihi'\n },\n {\n bgColor: 'dark',\n text: 'Madre no hay más que una, y en eso eres la mejor del mundo <3'\n },\n {\n bgColor: 'dark',\n text: 'Feliz día a ti, mami. ¡Eres mi mayor referente!'},\n];\n\nconst mensajesPosition = {\n default: [\n { name: 'default'},\n {\n top: '25%',\n right: '22%',\n },\n {\n top: '45%',\n left: '22%',\n },\n {\n top: '10.5%',\n left: '0px',\n },\n {\n top: '0px',\n right: '0px',\n },\n {\n right: '0px',\n bottom: '0px'\n }\n ],\n b1188: [\n { name: 'b1188'},\n {\n top: '25%',\n right: '22%',\n },\n {\n top: '45%',\n left: '7%',\n },\n {\n top: '11.5%',\n left: '0px',\n },\n {\n top: '0px',\n right: '0px',\n },\n {\n right: '0px',\n bottom: '0px'\n }\n ],\n b960: [\n { name: 'b960'},\n {\n top: '25%',\n right: '25%',\n },\n {\n top: '47%',\n left: '10%',\n },\n {\n top: '11.5%',\n left: '0px',\n },\n {\n top: '0px',\n right: '0px',\n },\n {\n right: '0px',\n bottom: '0px'\n }\n ],\n b654: [\n { name: 'b654'},\n {\n top: '25%',\n right: '25%',\n },\n {\n top: '37%',\n left: '30%',\n },\n {\n top: '16.5%',\n left: '0px',\n },\n {\n top: '0px',\n right: '0px',\n },\n {\n right: '0px',\n bottom: '0px'\n }\n ],\n b420: [\n { name: 'b654'},\n {\n top: '25%',\n right: '14%',\n },\n {\n top: '34%',\n left: '24%',\n },\n {\n top: '6.5%',\n left: '0px',\n },\n {\n top: '0px',\n right: '0px',\n },\n {\n right: '0px',\n bottom: '0px'\n }\n ]\n};\n\nexport function MensajesCards(props: {showMessages: boolean}) {\n const { showMessages } = props;\n const [ showCard1, setShowCard1 ] = useState(false);\n const [ showCard2, setShowCard2 ] = useState(false);\n const [ showCard3, setShowCard3 ] = useState(false);\n const [ showCard4, setShowCard4 ] = useState(false);\n const [ showCard5, setShowCard5 ] = useState(false);\n\n const [positionsArray, setPositionsArray] = useState(mensajesPosition.default);\n\n function activateTriggers(num: number) {\n switch(num) {\n case 2:\n setTimeout(() => {\n setShowCard2(true);\n activateTriggers(3);\n }, 450);\n break;\n case 3:\n setTimeout(() => {\n setShowCard3(true);\n activateTriggers(4);\n }, 450);\n break;\n case 4:\n setTimeout(() => {\n setShowCard4(true);\n activateTriggers(5);\n }, 450);\n break;\n case 5:\n setTimeout(() => {\n setShowCard5(true);\n }, 450);\n break;\n default:\n break;\n }\n }\n\n useEffect(() => {\n if (showMessages) {\n setShowCard1(true);\n activateTriggers(2);\n } else {\n setShowCard1(false);\n setShowCard2(false);\n setShowCard3(false);\n setShowCard4(false);\n setShowCard5(false);\n }\n }, [showMessages]);\n\n useEffect(() => {\n function changeCardsPosition(bp: string) {\n if (bp === '959' && positionsArray[0].name !== 'b960') {\n setPositionsArray(mensajesPosition.b960);\n } else if (bp === '654' && positionsArray[0].name !== 'b654') {\n setPositionsArray(mensajesPosition.b654);\n } else if (bp === '420' && positionsArray[0].name !== 'b420') {\n setPositionsArray(mensajesPosition.b420);\n } else if (bp === '1188' && positionsArray[0].name !== 'b1188') {\n setPositionsArray(mensajesPosition.b1188);\n } else {\n setPositionsArray(mensajesPosition.default);\n }\n }\n\n const mediaQueryListObject1188 = window.matchMedia('(max-width: 1188px)');\n try {\n mediaQueryListObject1188.addEventListener('change', () => changeCardsPosition('1188'));\n } catch (e) {\n try {\n mediaQueryListObject1188.addListener(() => changeCardsPosition('1188'));\n }\n catch(e) {\n console.log(e);\n }\n }\n\n const mediaQueryListObject959 = window.matchMedia('(max-width: 959px)');\n try {\n mediaQueryListObject959.addEventListener('change', () => changeCardsPosition('959'));\n } catch (e) {\n try {\n mediaQueryListObject959.addListener(() => changeCardsPosition('959'));\n }\n catch(e) {\n console.log(e);\n }\n }\n\n const mediaQueryListObject654 = window.matchMedia('(max-width: 654px)');\n try {\n mediaQueryListObject654.addEventListener('change', () => changeCardsPosition('654'));\n } catch (e) {\n try {\n mediaQueryListObject654.addListener(() => changeCardsPosition('654'));\n }\n catch(e) {\n console.log(e);\n }\n }\n\n const mediaQueryListObject420 = window.matchMedia('(max-width: 420px)');\n try {\n mediaQueryListObject420.addEventListener('change', () => changeCardsPosition('420'));\n } catch (e) {\n try {\n mediaQueryListObject420.addListener(() => changeCardsPosition('420'));\n }\n catch(e) {\n console.log(e);\n }\n }\n\n if (window.matchMedia('(max-width:420px)').matches) {\n setPositionsArray(mensajesPosition.b420);\n } else if (window.matchMedia('(max-width:654px)').matches) {\n setPositionsArray(mensajesPosition.b654);\n } else if (window.matchMedia('(max-width:959px)').matches) {\n setPositionsArray(mensajesPosition.b960);\n } else if (window.matchMedia('(max-width:1188px)').matches) {\n setPositionsArray(mensajesPosition.b1188);\n }\n\n return () => {\n mediaQueryListObject1188.removeEventListener('change', () => changeCardsPosition('1188'));\n mediaQueryListObject959.removeEventListener('change', () => changeCardsPosition('959'));\n mediaQueryListObject654.removeEventListener('change', () => changeCardsPosition('654'));\n mediaQueryListObject420.removeEventListener('change', () => changeCardsPosition('420'));\n };\n }, []);\n\n return (\n \n \n {mensajes.map((mensaje, i) => {\n return (\n \n \n {mensaje.text}\n \n \n );\n })}\n \n \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport {\n Breakpoints,\n BreakpointWrapper,\n styled,\n Text,\n ThemeProvider,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { MensajesCards } from '.';\nimport { keyframes } from 'styled-components';\nimport { useFaContent } from 'src/feature-app';\n\nconst spinnerKeyframe = keyframes`\n 0% {\n stroke-dasharray: 0 100;\n }\n`;\n\nconst Wrapper = styled.div`\n position: relative;\n margin-left: var(--size-grid003);\n margin-right: var(--size-grid003);\n width: var(--size-grid018);\n display: flex;\n justify-content: space-between;\n .cards {\n width: var(--size-grid009);\n @media screen and (max-width: 990px) {\n width: var(--size-grid011);\n }\n @media screen and (max-width: 959px) {\n margin-left: auto;\n width: 56%;\n }\n @media screen and (max-width: 910px) {\n margin-left: auto;\n width: 60%;\n }\n @media screen and (max-width: 840px) {\n margin-left: auto;\n width: 63%;\n }\n @media screen and (max-width: 780px) {\n margin-left: auto;\n width: 70%;\n }\n @media screen and (max-width: 712px) {\n margin-left: auto;\n width: 85%;\n }\n @media screen and (max-width: 654px) {\n width: 100%;\n }\n }\n .info {\n width: var(--size-grid007);\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n @media screen and (max-width: 959px) {\n width: 80%;\n }\n @media screen and (max-width: 560px) {\n margin-bottom: 10px;\n width: 90%;\n }\n #number-messages {\n display: inline-block;\n min-width: 100px;\n }\n }\n @media screen and (max-width: 990px) {\n margin-left: var(--size-grid002);\n margin-right: var(--size-grid002);\n width: var(--size-grid020);\n }\n @media screen and (max-width: 959px) {\n flex-wrap: wrap-reverse;\n }\n`;\n\nconst Spinner = styled.div`\n width: 200px;\n height: 200px;\n margin-left: auto;\n margin-bottom: 17px;\n border-radius: 100%;\n position: relative;\n .dashed-circumference {\n position: absolute;\n top: 5.5%;\n left: 4.5%;\n z-index: -1;\n width: 90%;\n height: 90%;\n border-radius: 100%;\n border: 1px dotted #001E50;\n }\n .percentage-bar {\n .circle {\n stroke: #071e50;\n fill: none;\n stroke-width: 0.75;\n animation: ${spinnerKeyframe} 3.5s ease-out forwards;\n }\n }\n .percentage-text {\n position: absolute;\n top: 50%;\n right: 50%;\n transform: translate3d(50%, -50%, 0);\n #percentage-messages {\n width: 28px;\n display: inline-block;\n text-align: right;\n @media screen and (min-width: 960px) {\n width: 40px;\n }\n @media screen and (min-width: 1600px) {\n width: 56px;\n }\n }\n }\n @media screen and (max-width: 959px) {\n width: 150px;\n height: 150px;\n position: absolute;\n margin: 0;\n bottom: 0;\n left: 0;\n }\n @media screen and (max-width: 559px) {\n width: 123px;\n height: 123px;\n }\n`;\n\nfunction animateNumber(id: string, start: number, end: number, duration: number) {\n const range = end - start;\n let current = start;\n const increment = id === 'number-messages' ? 2 : 1;\n const stepTime = Math.abs(Math.floor(duration / range));\n let obj = document.getElementById(id);\n const timer = setInterval(function() {\n current += increment;\n if (id === 'percentage-messages' && current < 10) {\n obj.innerHTML = `${current}`;\n } else {\n obj.innerHTML = current.toString();\n }\n if (current === end) {\n clearInterval(timer);\n }\n }, stepTime);\n}\n\nexport function SectionMensajes() {\n const [ showMessages, setShowMessages ] = useState(false);\n const [ madres, setMadres ] = useState(1000);\n const [ porcentaje, setPorcentaje ] = useState(25);\n const faContent = useFaContent();\n\n useEffect(() => {\n if (faContent.madres) setMadres(parseInt(faContent.madres));\n if (faContent.porcentaje) setPorcentaje(parseInt(faContent.porcentaje));\n }, [faContent]);\n\n useEffect(() => {\n if (showMessages) {\n animateNumber('number-messages', 10, madres, 4000);\n animateNumber('percentage-messages', 0, porcentaje, 3000);\n }\n }, [showMessages]);\n\n useEffect(() => {\n const options = { threshold: 0.8 };\n const element = document.querySelector('#mensajes');\n const observer = new IntersectionObserver((entries) => {\n entries.forEach((entry) => {\n if (entry.intersectionRatio > 0 && !showMessages) {\n setShowMessages(true);\n }\n });\n }, options);\n observer.observe(element);\n }, []);\n\n return (\n \n
\n \n
\n
\n \n \n Más de 10 madres han recibido\n {' '}\n su carga de amor\n \n \n {showMessages ? (\n \n
\n \n \n \n
\n 0%\n
\n \n ) : null}\n \n \n
\n \n {showMessages ? (\n \n
\n \n \n \n
\n 0%\n
\n \n ) : null}\n \n \n );\n}\n","import { styled } from '@volkswagen-onehub/components-core';\nimport React from 'react';\n\nconst Svg = styled.svg`\n width: 100%;\n height: auto;\n fill: #ffffff;\n`;\nconst SvgWrapper = styled.div`\n width: 44px;\n height: 44px;\n`;\n\nexport const FacebookSvg = () => (\n \n \n 631056F4-6CA7-4833-8173-D917CE902E32\n Created with sketchtool.\n \n \n \n \n \n \n \n \n);\n\nexport const TwitterSvg = () => (\n \n \n 13918EB6-6D62-43B8-99A2-2965833D2774\n Created with sketchtool.\n \n \n \n \n \n \n \n \n);\n\nexport const WhatsappSvg = () => (\n \n \n ic_whatsapp\n Created with Sketch.\n \n \n \n \n \n \n);\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n ContainerPadding,\n Layout,\n styled,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { useFeatureAppConfig, useTrackingManager, TrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\nimport { FacebookSvg, TwitterSvg, WhatsappSvg } from '../assets/Svgs';\n\ninterface FieldProps {\n copyBook?: string;\n cliente: string;\n}\n\ninterface NDPSField {\n name: string;\n value: string;\n}\n\nconst Anchor = styled.a`\n outline: none;\n color: none;\n`;\n\nfunction Fields() {\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const config = useFeatureAppConfig();\n\n return (\n \n
\n \n \n {formData.fields.cliente === 'true'\n ? 'Tu madre recibirá tu “te quiero” en su bandeja de entrada y, quizá, también un fin de semana contigo al volante del Nuevo ID.4. ¡Mucha suerte! '\n : 'Tu madre está a punto de recibir tu “te quiero” en su bandeja de entrada. ¡Le alegrarás el día! '}\n \n \n ¿Conoces a más conductores/as Volkswagen? Comparte esta página para que ninguna madre se quede sin su “te\n quiero”.\n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n );\n}\n\ninterface ThankYouProps {\n formData: FormDataFields;\n formInfo: FormInfo;\n}\n\nfunction ThankYouDiaDeLaMadre(props: ThankYouProps) {\n const { formData, formInfo } = props;\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => {\n let LeadID;\n if (formResponse && formResponse.content && formResponse.content.data && formResponse.content.data.fields) {\n const leadField: NDPSField = formResponse.content.data.fields.find(\n (field: NDPSField) => field.name === 'COD_LEAD_ID'\n );\n LeadID = leadField ? leadField.value : undefined;\n }\n return {\n LeadID,\n FormFields: undefined,\n };\n };\n\n useEffect(() => {\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const renderTitle = () => {\n return (\n <>\n \n \n Seguro que le encanta tu mensaje\n \n \n \n \n Seguro que le encanta tu mensaje\n \n \n \n );\n };\n\n const screen: Steps = {\n title: <>{renderTitle()},\n fields: ,\n };\n return (\n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formData: state.formData.fields,\n formInfo: state.formInfo,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouDiaDeLaMadre);\n\nexport { ConnectedComponent as ThankYouDiaDeLaMadre };\n","import Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect, useState } from 'react';\nimport { Text, styled, ThemeProvider } from '@volkswagen-onehub/components-core';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { \n Email, \n PantallaNombreApellido, \n Telefono, \n MultipleCTASelection, \n YaTienesVolkswagen, \n NoCliente,\n ContactInfoWrapper \n} from 'src/components';\nimport {\n Mensaje,\n ConfirmacionDiaDeLaMadre,\n ThankYouDiaDeLaMadre\n} from './componentsAndViews';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { FormController, removeWhiteSpace, useFeatureAppConfig, useOneFormContext,formatPrefix } from 'src/feature-app';\nimport { formDataBuilder } from '../../format-fields';\n\nconst CTAsTipoVehiculo = [\n { label: 'Un eléctrico', value: 'electrico' },\n { label: 'Un híbrido', value: 'hibrido' },\n { label: 'Uno de combustión', value: 'combustion' },\n { label: 'Ninguno, de momento', value: 'ninguno' },\n];\n\nconst getContactoTitle = (cliente: string) => {\n if (cliente === 'true') {\n return (\n <>\n ¡Listo! ¿Cómo podemos contactar contigo en caso de ganar el fin de semana?\n \n );\n } else {\n return (\n <>\n ¿De parte de quién se lo enviamos?\n \n );\n }\n};\n\nexport enum DiaDeLaMadreSteps {\n NombreApellido,\n Cliente,\n NoCliente,\n Mensaje,\n EmailTelefono,\n MotherEmail,\n TipoVehiculo,\n Confirmacion,\n}\n\nexport function DiaDeLaMadreForm() {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const config = useFeatureAppConfig();\n const dispatch = useDispatch();\n const { cliente } = useSelector((state: OneFormState) => state.formData.fields);\n const { formData } = useSelector((state: OneFormState) => state);\n\n const [notAClient, setNotAClient] = useState(true);\n\n const handleNotAClient = (cliente: string) => {\n let newSteps = [...steps];\n\n if (cliente === 'false') {\n newSteps = [...steps];\n } else {\n newSteps.splice(DiaDeLaMadreSteps.NoCliente, 1);\n setNotAClient(false);\n }\n\n const newStepsWithIndex = newSteps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n const steps: Steps[] = [\n {\n title: (\n <>\n Para poder enviar tu mensaje, necesitamos saber quién eres\n \n ),\n fields: } />,\n screenIndex: DiaDeLaMadreSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n Ya tienes un Volkswagen, \n \n ¿verdad? \n 1\n \n \n ),\n fields: } />,\n screenIndex: DiaDeLaMadreSteps.Cliente,\n name: 'Cliente',\n outputs: ['cliente'],\n outputsText: ['cliente'],\n },\n {\n title: (\n <>\n Este sorteo es solo para clientes Volkswagen \n \n ),\n fields: } />,\n screenIndex: DiaDeLaMadreSteps.NoCliente,\n name: 'NoCliente',\n outputs: ['noCliente'],\n outputsText: ['noCliente'],\n },\n {\n title: (\n <>\n Pues vayamos a lo que importa. ¿Qué te gustaría{' '}\n \n decirle a tu{' '}\n \n madre?*\n \n \n \n ),\n fields: } />,\n screenIndex: DiaDeLaMadreSteps.Mensaje,\n name: 'Mensaje',\n outputs: ['messageText'],\n outputsText: ['messageText'],\n },\n {\n title: getContactoTitle(cliente),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: DiaDeLaMadreSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n title: (\n <>\n Y, ¿a qué email le hacemos llegar la sorpresa a tu madre?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: DiaDeLaMadreSteps.MotherEmail,\n name: 'MotherEmail',\n outputs: ['otherEmail'],\n outputsText: ['otherEmail'],\n },\n {\n title: (\n <>\n Antes de terminar, tenemos curiosidad: ¿qué tipo de coche te ves{' '}\n \n conduciendo{' '}\n \n próximamente?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: DiaDeLaMadreSteps.TipoVehiculo,\n name: 'TipoVehiculo',\n outputs: ['tipoVehiculo'],\n outputsText: ['tipoVehiculo'],\n },\n {\n fields: ,\n screenIndex: DiaDeLaMadreSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n },\n fields: { formName: 'adhoc-2021-diamadre', formType: 'otherform', pageCategory: 'Concurso' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n 'headers[COD_FORM_ID]': 'vw-oneform-adhoc_diamadre_2021',\n 'headers[DESC_URLORIGIN]': url,\n 'headers[DESC_BRAND]': 'VW',\n 'headers[DESC_CAMPAIGNBLOCK]': 'B16 One Shot',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORMOBJECTIVE]': 'Participación Concurso',\n 'headers[DESC_FORM_DETAIL]': 'Dia Madre 2021', //Este debería pasarse a variable, aunque actualmente siempre sea ID\n 'headers[DESC_ID_CAMPAIGN]': '7011n000000Jo8rAAC',\n 'headers[DESC_TOKEN]': 'VW_DDB_FRM_DIAMADRE',\n\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[DESC_GDPR_ADAPTED]': true,\n\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_SURNAME_1]': fields.surname,\n 'fields[DESC_SURNAME_2]': fields.secondSurname,\n 'fields[DESC_EMAIL_ADDRESS]': removeWhiteSpace(fields.email),\n 'fields[NUM_CELLPHONE]': `${formatPrefix(fields.prefix)}${fields.cellphone}`,\n 'fields[DESC_AUXFIELD1]': fields.messageText,\n 'fields[DESC_AUXFIELD2]': removeWhiteSpace(fields.otherEmail),\n 'fields[DESC_AUXFIELD3]': fields.tipoVehiculo,\n 'fields[DESC_AUXFIELD4]': fields.cliente,\n 'fields[DESC_FORM_VERSION]': `vw-oneform-adhoc_diamadre_2021-${process.env.VERSION}`,\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'inverted',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n thankYouComponent: ,\n };\n\n initializeForm(NuevoFormInfo, NuevoFormData);\n }, []);\n\n useEffect(() => {\n if (cliente) handleNotAClient(cliente);\n }, [cliente]);\n\n return (\n \n \n \n );\n}\n","import React from 'react';\nimport { \n Layout,\n Breakpoints,\n CTA,\n Text, \n Container, \n ContainerPadding,\n ThemeProvider,\n styled, \n WhiteSpace,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useOneFormContext } from 'src/feature-app';\n\nconst videoURL = 'https://cdn.volkswagen.es/repository/app/vw-oneform/assets/videos/video_eurocopa.mp4';\nconst Video = styled.video`\n background: linear-gradient(321.56deg, #00437A 0%, #00376C 52.11%, #001E50 100%);\n width: auto;\n height: 98vh;\n\n @media all and (min-width: 960px) {\n width: 100vw;\n height: auto;\n }\n`;\nconst HeaderContentPosition = styled.div`\n position: absolute;\n z-index: 1;\n top : 5%;\n @media all and (min-width: 960px) {\n top : 10%;\n }\n @media all and (min-width: 1280px) {\n top : 15%;\n }\n`;\n\nexport const Portada = () => {\n const trackingManager = useTrackingManager();\n const { nextStep } = useOneFormContext();\n return (\n
\n
\n
\n \n \n \n \n Hay tantos tipos de jugadores{' '}como de conductores.{' '}¿Cuál eres tú? \n \n \n \n Nos encantaría que participaras en este sorteo exclusivo para clientes ID. Compártenos tu experiencia.\n \n \n \n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Siguiente',\n });\n e.preventDefault();\n nextStep();\n }}\n ariaLabel=\"aria label\"\n >\n Comenzar\n \n \n \n \n \n
\n );\n};\n","import React, { useState, useEffect } from 'react';\nimport { TextAreaExtended } from 'src/components/inputs';\nimport {\n Text,\n Container,\n ContainerPadding,\n ContainerGutter,\n TextAlignment,\n styled,\n TokenTextAppearance,\n TokenTextColor\n} from '@volkswagen-onehub/components-core';\nimport { useFormContext } from 'react-hook-form';\n\nexport const Experiencia = () => {\n const [currentValue, setCurrentValue] = useState('');\n const { register } = useFormContext();\n\n const adMaxLength = () => {\n const aux = document.getElementsByTagName('textarea');\n aux[0].setAttribute('maxlength', '350');\n };\n\n useEffect(() => {\n adMaxLength();\n }, []);\n\n const handleChange = (e: any) => {\n const aux = e.currentTarget.value;\n e.preventDefault();\n setCurrentValue(aux);\n };\n return (\n \n handleChange(e)}\n appearance={'default'}\n isFloating\n innerRef={register({\n required: {\n value: true,\n message: 'Requerido',\n },\n })}\n maxLength={350}\n />\n\n \n 1Tu{' '}testimonio es muy interesante por lo que en un futuro lo compartiremos, junto con tu nombre, en nuestra web.\n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport {\n Text,\n Container,\n ContainerPadding,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport {\n Telefono,\n MultipleCTASelection,\n DetalleMotivo,\n MultipleOptionCTAs,\n Email,\n PantallaNombreApellido,\n ContactInfoWrapper\n} from 'src/components';\nimport { Portada, Experiencia } from './ComponentsAndViews';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps, IdPerson, IdOrder } from 'src/types';\nimport {\n FormController,\n removeWhiteSpace,\n useFeatureAppConfig,\n useFeatureServices,\n useGetWaidLitera,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { ThankYouEurocopa, ConfirmacionEurocopa } from './';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { createPincodeEntity } from 'src/forms/dps-utils';\nimport { GenericErrorLayer } from 'src/components/layers';\n\nexport const CTAsSiNoNsNc = [\n { label: 'Sí, sin dudarlo', value: 'true' },\n { label: 'No lo recomiendo', value: 'false' },\n { label: 'Aún no lo sé, es pronto', value: 'NS/NC' },\n];\nexport const CTASCarga = [\n { label: 'En casa', value: 'casa' },\n { label: 'En el trabajo', value: 'trabajo' },\n { label: 'En ruta', value: 'ruta' },\n { label: 'Otro', value: 'otro' },\n];\nexport const CTAsConduccion = [\n { label: 'Sí, siempre utilizo mi vehículo eléctrico', value: 'electrico' },\n { label: 'Lo combino con otro vehículo no eléctrico', value: 'combinado' },\n];\nexport const CTAsGusta = [\n { label: 'La innovación', value: 'innovacion' },\n { label: 'La velocidad de la carga', value: 'velocidad carga' },\n { label: 'La practicidad para el día a día', value: 'practicidad' },\n { label: 'Que se adapta a mis escapadas/planes', value: 'adaptacion' },\n { label: 'Lo chulísimo que es', value: 'chulisimo' },\n { label: 'El ahorro económico', value: 'ahorro' },\n { label: 'Otro', value: 'otro' },\n];\n\nconst getExperienciaTitle = (entregado: string) => {\n if (entregado === 'true') {\n return (\n <>\n ¿Podrías compartir tu experiencia{' '}\n \n desde que fichaste a tu{' '}\n \n eléctrico?*\n \n \n \n \n Un discurso motivador antes de un partido importante{' '}\n puede marcar la diferencia, del mismo modo que tu respuesta1 aquí es clave para\n que otros se sumen a la movilidad eléctrica. ¡Nos gustaría compartirla!\n \n \n \n );\n } else {\n return (\n <>\n ¿Qué fue lo que más te motivó{' '}\n \n para fichar a tu nuevo{' '}\n \n eléctrico?*\n \n \n \n \n Un discurso motivador antes de un partido importante{' '}\n puede marcar la diferencia, del mismo modo que tu respuesta1 aquí es clave para\n que otros se sumen a la movilidad eléctrica. ¡Nos gustaría compartirla!\n \n \n \n );\n }\n};\nconst getExperienciaAlternateTitle = (entregado: string) => {\n if (entregado === 'true') {\n return (\n <>\n ¿Podrías compartir tu experiencia{' '}\n \n desde que fichaste a tu{' '}\n \n eléctrico?*\n \n \n \n );\n } else {\n return (\n <>\n ¿Qué fue lo que más te motivó{' '}\n \n para fichar a tu nuevo{' '}\n \n eléctrico?*\n \n \n \n );\n }\n};\n\nexport enum EurocopaSteps {\n Trigger,\n Carga,\n MasInformacion,\n Coduccion,\n MultipleChoice,\n MultipleChoiceDetalle,\n Recomendacion,\n Experiencia,\n NombreApellido,\n EmailTelefono,\n Confirmacion,\n}\n\nconst getIndexInSteps = (steps: Steps[], stepName: string) => steps.findIndex((step) => step.name === stepName);\n\nexport function EurocopaForm() {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const store = useStore();\n const config = useFeatureAppConfig();\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n const [formError, setFormError] = useState(false);\n const [formCaducado, setFormCaducado] = useState(false);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const { formData } = useSelector((state: OneFormState) => state);\n const [idOrder, setIdOrder] = useState(false);\n const { carga, multipleChoice } = formData.fields;\n const trackingManager = useTrackingManager();\n const waid = useGetWaidLitera();\n\n const updateExperienciaStep = (conCoche: string, auxSteps?: Steps[]) => {\n const title = getExperienciaTitle(conCoche);\n const alternateTitle = getExperienciaAlternateTitle(conCoche);\n\n let newSteps = auxSteps ? auxSteps : [...steps];\n\n const experienciIndex = newSteps.findIndex((step: Steps) => step.name === 'Experiencia');\n\n newSteps[experienciIndex].title = title;\n newSteps[experienciIndex].alternateTitle = alternateTitle;\n\n dispatch({ type: 'UPDATE_STEPS', payload: newSteps });\n };\n\n const handleDetalle = (field: string, fieldName: string) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n\n if (field === 'otro' || field.includes('otro')) {\n const detalleIndex = getIndexInSteps(newSteps, fieldName);\n\n if (detalleIndex === -1) {\n // En caso de haber eliminado el step hay que volver a añadirlo de nuevo y llamar a la función handleNextStep ya que\n // ésta se llama antes de volver a añadir el mapa y realiza el cálculo con los steps sin actualizar.\n const detalleStepIndex = getIndexInSteps(steps, fieldName);\n newSteps.splice(screenIndex + 1, 0, steps[detalleStepIndex]);\n\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n } else {\n const detalleIndex = getIndexInSteps(newSteps, fieldName);\n newSteps.splice(detalleIndex, 1);\n }\n updateExperienciaStep('true', newSteps);\n\n const newStepsWithIndex = newSteps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n\n updateSteps(newStepsWithIndex);\n };\n\n const updateSteps = (steps: Steps[]) => {\n dispatch({ type: 'UPDATE_STEPS', payload: steps });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: steps[steps.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: steps.length });\n };\n\n const steps: Steps[] = [\n {\n fields: ,\n screenIndex: EurocopaSteps.Trigger,\n name: 'Trigger',\n outputs: ['trigger'],\n outputsText: ['trigger'],\n },\n {\n title: (\n <>\n ¿Dónde sueles cargar las pilas de tu{' '}\n \n ID.?*\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: EurocopaSteps.Carga,\n name: 'Carga',\n outputs: ['carga'],\n outputsText: ['carga'],\n },\n {\n title: (\n <>\n ¿Cuál?\n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: EurocopaSteps.MasInformacion,\n name: 'masInformacion',\n outputs: ['masInformacion'],\n outputsText: ['masInformacion'],\n },\n {\n title: (\n <>\n ¿Es tu ID. tu{' '}\n \n vehículo{' '}\n \n titular?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: EurocopaSteps.Coduccion,\n name: 'Conduccion',\n outputs: ['conduccion'],\n outputsText: ['conduccion'],\n },\n {\n title: (\n <>\n ¿Qué dirías que supone un golazo por parte de tu{' '}\n \n ID.?*\n \n \n \n Puedes elegir más de una respuesta.\n \n \n \n ),\n alternateTitle: (\n <>\n ¿Qué dirías que supone un golazo por parte de tu{' '}\n \n ID.?*\n \n \n ),\n fields: (\n } />\n ),\n screenIndex: EurocopaSteps.MultipleChoice,\n name: 'MultipleChoice',\n outputs: ['multipleChoice'],\n outputsText: ['multipleChoice'],\n },\n {\n title: (\n <>\n Cuéntanos más\n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: EurocopaSteps.MultipleChoiceDetalle,\n name: 'MultipleChoiceDetalle',\n outputs: ['multipleChoiceDetalle'],\n outputsText: ['multipleChoiceDetalle'],\n },\n {\n title: (\n <>\n ¿Recomendarías a tus amigos o conocidos{' '}\n \n que se pasen al equipo{' '}\n \n eléctrico?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: EurocopaSteps.Recomendacion,\n name: 'Recomendacion',\n outputs: ['recomendacion'],\n outputsText: ['recomendacion'],\n },\n {\n title: <>, //Se actualiza en updateExperienciaStep\n alternateTitle: <>, //Se actualiza en updateExperienciaStep\n fields: } />,\n screenIndex: EurocopaSteps.Experiencia,\n name: 'Experiencia',\n outputs: ['experiencia'],\n outputsText: ['experiencia'],\n },\n {\n title: (\n <>\n Para poder entrar en el sorteo, necesitamos confirmar quién eres\n \n ),\n fields: } />,\n screenIndex: EurocopaSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n Y confirmar los datos para poder contactar contigo\n \n ),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: EurocopaSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n fields: ,\n screenIndex: EurocopaSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const getFormInfo = (\n idOrder: IdOrder\n ): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n let newSteps = [...steps];\n\n if (idOrder?.SLI_State__c && Number(idOrder.SLI_State__c) < 70) {\n updateExperienciaStep('false');\n } else if (!idOrder?.SLI_State__c || (idOrder?.SLI_State__c && Number(idOrder.SLI_State__c) < 70)) {\n updateExperienciaStep('true');\n }\n\n if (idOrder?.SLI_State__c && Number(idOrder.SLI_State__c) < 70) {\n const indexFinalCorte = newSteps.findIndex((step) => step.name === 'Recomendacion');\n newSteps.splice(1, indexFinalCorte);\n setIdOrder(true);\n newSteps = newSteps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n }\n\n return {\n firstStep: newSteps[0],\n lastStep: newSteps[newSteps.length - 1],\n stepsHistory: [0],\n numberOfScreens: newSteps.length,\n newSteps,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n 'headers[PINCODE]': fields.pincode,\n 'headers[DESC_ID_CLIMAPRO]': fields.idClimapro,\n\n 'headers[COD_FORM_ID]': 'vw-oneform-adhoc_2021_eurocopa',\n 'headers[DESC_WAID_LITERA]': 'Sorteo Eurocopa 2021',\n 'headers[DESC_URLORIGIN]': url,\n 'headers[DESC_BRAND]': 'VW',\n 'headers[DESC_CAMPAIGNBLOCK]': '2. VW Sponsorship',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORMOBJECTIVE]': 'Concurso',\n 'headers[DESC_FORM_DETAIL]': 'Sorteo Eurocopa 2021',\n 'headers[DESC_ID_CAMPAIGN]': '7011n000000JooQAAS',\n 'headers[DESC_TOKEN]': 'VW_DDB_FRM_CONCURSO_EUROCOPA', //CONSULTAR\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[TC]': tc,\n 'headers[DESC_GDPR_ADAPTED]': 'true',\n\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_SURNAME_1]': fields.surname,\n 'fields[DESC_SURNAME_2]': fields.secondSurname,\n 'fields[DESC_EMAIL_ADDRESS]': removeWhiteSpace(fields.email),\n 'fields[NUM_CELLPHONE]': `${fields.prefix}${fields.cellphone}`,\n 'fields[DESC_AUXFIELD1]': fields.experiencia,\n 'fields[DESC_AUXFIELD2]': fields.enCurso,\n 'fields[DESC_AUXFIELD3]': fields.carga,\n 'fields[DESC_AUXFIELD4]': fields.masInformacion,\n 'fields[DESC_AUXFIELD5]': fields.conduccion,\n 'fields[DESC_AUXFIELD6]': fields.multipleChoice,\n 'fields[DESC_AUXFIELD7]': fields.multipleChoiceDetalle,\n 'fields[DESC_AUXFIELD8]': fields.recomendacion,\n 'fields[DESC_FORM_VERSION]': `vw-oneform-adhoc_2021_eurocopa-${process.env.VERSION}`,\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n const idPerson = createPincodeEntity(dpsData, 'PERSON') as IdPerson;\n const idOrder = createPincodeEntity(dpsData, 'ORDER') as IdOrder;\n\n const enCursoAux = idOrder && parseFloat(idOrder.SLI_State__c) < 70 ? 'true' : 'false';\n\n if (!idPerson) {\n if (dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n console.log(dpsData);\n setFormError(true);\n } else if (dpsData.pincode.pincodeUsed) {\n setFormCaducado(true);\n }\n }\n\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo(idOrder);\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'main',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n thankYouComponent: ,\n };\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n COD_FORM_ID: 'vw-oneform-adhoc_2021_eurocopa',\n DESC_WAID_LITERA: waid ? waid : 'Sorteo Eurocopa 2021',\n DESC_CAMPAIGNBLOCK: '2. VW Sponsorship',\n DESC_FORMOBJECTIVE: 'Concurso',\n DESC_FORM_DETAIL: 'Sorteo Eurocopa 2021',\n DESC_ID_CAMPAIGN: '7011n000000JooQAAS',\n DESC_TOKEN: 'VW_DDB_FRM_CONCURSO_EUROCOPA', //CONSULTAR\n },\n\n fields: {\n name: idPerson?.FirstName,\n surname: idPerson?.LastName,\n secondSurname: idPerson?.TXT_2_Surname__c,\n email: idPerson?.TXT_Email__c,\n cellphone: idPerson?.NUM_Phone_mobile__c,\n pincode: dpsData.pincode?.pincodeResponse?.params?.pincode,\n enCurso: enCursoAux,\n idClimapro: idPerson?.ID_Person_DIM_IMP__c,\n formName: 'adhoc-2021-eurocopa',\n formType: 'otherform',\n pageCategory: 'Concurso',\n }, // Analítica\n };\n\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackingManager.trackFormLoad();\n\n setLoading(false);\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {},\n error(err) {\n console.error(err);\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n useEffect(() => {\n if (!idOrder) {\n if (carga) {\n handleDetalle(carga, 'masInformacion');\n }\n }\n }, [carga]);\n useEffect(() => {\n if (!idOrder) {\n if (multipleChoice) {\n handleDetalle(multipleChoice, 'MultipleChoiceDetalle');\n }\n }\n }, [multipleChoice]);\n\n return (\n <>\n {loading ? null : (\n <>\n {formError ? (\n \n ) : formCaducado ? (\n \n ) : (\n \n )}\n \n )}\n \n );\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n Layout,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, TrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\n\ninterface FieldProps {\n copyBook?: string;\n}\n\ninterface NDPSField {\n name: string;\n value: string;\n}\n\nfunction Fields(props: FieldProps) {\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n\n return (\n \n
\n \n \n Pronto sabrás si eres una de las personas afortunadas. Mientras tanto, ¡sigue disfrutando de la movilidad eléctrica!\n \n \n
\n \n );\n}\n\ninterface ThankYouProps {\n formData: FormDataFields;\n formInfo: FormInfo;\n}\n\nfunction ThankYouEurocopa(props: ThankYouProps) {\n const { formData, formInfo } = props;\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => {\n let LeadID;\n if (formResponse && formResponse.content && formResponse.content.data && formResponse.content.data.fields) {\n const leadField: NDPSField = formResponse.content.data.fields.find(\n (field: NDPSField) => field.name === 'COD_LEAD_ID'\n );\n LeadID = leadField ? leadField.value : undefined;\n }\n return {\n LeadID,\n FormFields: undefined,\n };\n };\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: (\n <>\n {' '}\n ¡Muchas gracias por participar!\n \n ),\n fields: ,\n };\n return (\n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formData: state.formData.fields,\n formInfo: state.formInfo,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouEurocopa);\n\nexport { ConnectedComponent as ThankYouEurocopa };\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n CTA,\n styled,\n Text,\n TextAlignment,\n Layout,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { LegalesFormatoLayer, LssiTkmQuestions } from 'src/components';\nimport {\n CloseHandleV2,\n FocusLayerSizeV2,\n LayerHandleV2,\n LayerManagerV2\n} from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { connect, useDispatch, useStore } from 'react-redux';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport { KoScreen, LoadingScreen } from 'src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\n\nconst GeneralconfirmacionWrapper = styled.div`\n\n`;\n\nconst WhiteLinkWrapper = styled.span`\n a {\n font-weight: bold;\n }\n`;\n\nfunction ConfirmacionEurocopa() {\n const dispatch = useDispatch();\n\n const [lssi, setLssi] = useState(null);\n const [tmk, setTmk] = useState(null);\n const [lssiError, setLssiError] = useState(false);\n const [tmkError, setTmkError] = useState(false);\n\n useEffect(() => {\n if (lssi) {\n const values = { lssi: lssi };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setLssiError(false);\n }\n if (tmk) {\n const values = { tmk: tmk };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setTmkError(false);\n }\n }, [lssi, tmk]);\n\n return (\n \n \n \n ¡Gracias! Unas{' '}últimas preguntas{' '} para tenerlo todo claro\n \n \n \n \n Enviando este formulario declaras estar informado de la{' '}\n \n \n política de privacidad.\n \n \n \n \n\n \n \n
\n \n \n );\n}\n\ninterface LastNavigationProps {\n tmk: string;\n lssi: string;\n setTmkError: React.Dispatch>;\n setLssiError: React.Dispatch>;\n}\n\nfunction LastNavigation(props: LastNavigationProps) {\n const { tmk, lssi, setTmkError, setLssiError } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { reset } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n // 1. check de lssi y tmk\n // 2. submit de la cita y activación la pantalla de feedback correspondiente\n // no se hace ninguna validación en este último paso porque esta ya se ha hecho en el edit-guardar de cada campo previamente\n async function handleConfirmarCita(e: any) {\n if (tmk === null && tmk === null) {\n setTmkError(true);\n setLssiError(true);\n } else if (tmk === null) {\n setTmkError(true);\n } else if (lssi === null) {\n setLssiError(true);\n } else {\n trackingManager.trackFormCTAClick({\n contentId: 'Enviar',\n });\n\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n <>\n \n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent\n >\n Enviar\n \n \n \n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n >\n Enviar\n \n \n \n );\n}\n\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formInfo: state.formInfo,\n formData: state.formData,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ConfirmacionEurocopa);\n\nexport { ConnectedComponent as ConfirmacionEurocopa };\n","import {\n BreakpointWrapper,\n Breakpoints,\n styled,\n Text,\n TextAlignment,\n ThemeProvider,\n Container,\n ContainerPadding,\n CTA,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { KoScreen, LoadingScreen } from '../../CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\nimport { OneFormState } from 'src/types';\n\ninterface lastNavigationProps {\n refProps?: any;\n formMin?: any;\n setShowError?: any;\n}\n\nconst NavigationWrapper = styled.div`\n display: block;\n padding-top: 44px;\n`;\n\nexport const LastNavigationFidelizacion = (props: lastNavigationProps) => {\n const { setShowError } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { reset, getValues, triggerValidation } = useFormContext();\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const [isValid, setIsValid] = useState(false);\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n const handleConfirmarEnvio = async (e: any) => {\n const values = getValues();\n const isValid = await triggerValidation();\n setShowError(false);\n\n if (isValid) {\n setShowError(false);\n\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n\n trackingManager.trackFormCTAClick({\n contentId: 'Enviar',\n });\n\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n } else {\n setShowError(true);\n }\n };\n\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n if (fields.otrosServicios) setIsValid(true);\n }, [fields]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n \n \n \n Enviando este formulario declaras estar informado de la{' '}\n \n política de privacidad.\n \n \n \n\n \n \n \n {\n e.preventDefault();\n handleConfirmarEnvio(e);\n }}\n stretchContent\n >\n Enviar\n \n \n \n \n \n {\n e.preventDefault();\n handleConfirmarEnvio(e);\n }}\n >\n Enviar\n \n \n \n \n \n );\n};\n","import React, { useState, useEffect} from 'react';\nimport { Text, TextAlignment, TokenTextAppearance, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport { RatingStars} from 'src/components';\nimport styled from 'styled-components';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager } from 'src/feature-app/hooks';\nimport { OneElementTemplateFullScreen } from 'src/feature-app';\nimport { OneFormState } from 'src/types';\nimport {LastNavigationFidelizacion} from '.';\n\nconst CTAWrapper = styled.div`\n text-align: left;\n margin: -10px;\n margin-top: 32px;\n & > button {\n margin: 12px;\n width: 81px;\n }\n`;\n\nconst ErrorMessage = styled.div`\n width: max-content;\n padding: 4px 8px;\n border-radius: 4px;\n background-color: #e4002c;\n color: #ffffff;\n`;\n\nfunction Fields() {\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const [ selectedValue, setSelectedValue] = useState('');\n const { control, register, setValue } = useFormContext();\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const [showError, setShowError] = useState(false);\n\n useEffect(() => {\n if (fields.enviarInformacion) setSelectedValue(fields.enviarInformacion);\n }, []);\n\n return (\n <>\n \n {\n showError ? (\n \n \n Necesitamos esta información para seguir\n \n \n ) : null\n }\n \n \n );\n}\n\nexport function FidelizacionLastScreenFields() {\n return (\n } />\n );\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { getCarlines } from 'src/bff';\nimport { useFaContent, useFeatureServices } from 'src/feature-app';\nimport { CarlineBase, IdLead, Steps } from 'src/types';\n\nconst getLastItemOfSteps = (steps: Steps[]) => steps[steps.length - 1];\n\nconst propertyHasValue = (property: string) => property !== 'null';\n\nexport const checkIdLeadHasCarline = (idLead: IdLead) =>\n idLead &&\n idLead.NUM_COD_INTEREST_CARLINE__c &&\n idLead.DESC_Model__c &&\n propertyHasValue(idLead.NUM_COD_INTEREST_CARLINE__c) &&\n propertyHasValue(idLead.DESC_Model__c);\n\nexport function useInitializeFidelizacionForm(defaultSteps: Steps[], idLead: IdLead) {\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n\n const [steps, setSteps] = useState(defaultSteps);\n const [firstStep, setFirstStep] = useState(defaultSteps[0]);\n const [lastStep, setLastStep] = useState(getLastItemOfSteps(defaultSteps));\n\n const removeModelFromSteps = async () => {\n return new Promise((resolve) => {\n let updatedSteps = [...steps];\n const indexOfModelo = updatedSteps.findIndex((step) => step.name === 'Modelo');\n updatedSteps.splice(indexOfModelo, 1); // Eliminado el step de Modelo.\n updatedSteps[0].hidePreviousStep = true;\n const updatedStepsWithIndex = updatedSteps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n\n setSteps(updatedStepsWithIndex);\n setFirstStep(updatedStepsWithIndex[0]);\n setLastStep(getLastItemOfSteps(updatedStepsWithIndex));\n\n resolve(true);\n });\n };\n\n useEffect(() => {\n const remove = async () => {\n await removeModelFromSteps();\n setLoading(false);\n };\n\n const requestCarlines = async () => {\n const carlines = await getCarlines();\n\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n setSteps(defaultSteps);\n setLoading(false);\n };\n\n if (checkIdLeadHasCarline(idLead)) {\n remove();\n } else {\n requestCarlines();\n }\n }, []);\n\n return { loading, steps, firstStep, lastStep };\n}\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport {\n Text,\n CTA,\n Container,\n ContainerPadding,\n ContainerGutter,\n Layout,\n Breakpoints,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { FidelizacionLastScreenFields } from './FidelizacionLastScreenFields';\nimport { TextAreaExtended, MultipleOptionCTAs, RatingStars } from 'src/components';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport {\n FormController,\n useOneFormContext\n} from 'src/feature-app';\nimport { useFormContext } from 'react-hook-form';\nimport { ThankYouFidelizacion } from '.';\nimport { formDataBuilder } from '../../format-fields';\nimport { FidelizacionFormProps } from './FidelizacionController';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useInitializeFidelizacionForm } from './use-initialize-fidelizacion-form';\n\nconst CTAsObtenerNuevas = [\n { label: 'Participando en encuestas, en experiencias, en sorteos, en eventos...', value: 'lealtad' },\n { label: 'Con Volkswagen Long Drive, utilizando el servicio de recogida y entrega, pidiendo cita online...', value: 'relacion' },\n { label: 'Otras formas', value: 'otros' },\n];\n\nconst CTAsListadoVentajas = [\n { label: 'Mantenimiento incluido', value: 'mantenimiento' },\n { label: 'Garantías Volkswagen', value: 'garantias' },\n { label: 'Asistencia en carretera', value: 'asistencia' },\n { label: 'Coche de sustitución', value: 'coche-sustitucion' },\n { label: 'Revisión Pre-ITV gratuita', value: 'pre-itv' },\n { label: 'Servicio de recogida y entrega', value: 'recogida-entrega' },\n { label: 'Volkswagen Long Drive¹', value: 'long-drive' },\n { label: 'Experiencias de conducción²', value: 'experiencias' },\n { label: 'We: Coche conectado³', value: 'we' },\n];\n\nexport enum FidelizacionSteps {\n QuieroTener,\n MasConoces,\n ListadoVentajas,\n Valoracion,\n ServicioPosventa,\n ProcesoCompra,\n OpcionesFinanciacion,\n VentajasBeneficions,\n InformacionExclusiva,\n InformacionTecnologia,\n OtrosServicios,\n Confirmacion,\n}\n\nexport function FidelizacionForm(props: FidelizacionFormProps) {\n const { dpsData, idPerson, trackFormLoad } = props;\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { obtenerNuevas } = formData.fields;\n const { screenIndex } = formInfo;\n const { initializeForm, nextStep, handleNextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const { register } = useFormContext();\n const [currentValue, setCurrentValue] = useState('');\n const dispatch = useDispatch();\n\n const handleChange = (e: any) => {\n const aux = e.currentTarget.value;\n e.preventDefault();\n setCurrentValue(aux);\n };\n\n const stepsForm: Steps[] = [\n {\n title: (\n <>\n ¿Qué beneficios y ventajas te gustaría tener como cliente Volkswagen?\n \n ),\n fields: (\n \n handleChange(e)}\n appearance={'default'}\n isFloating={false}\n innerRef={register({\n required: {\n value: true,\n message: 'Requerido',\n },\n })}\n placeholder=\"Ejemplo: Hace 7 años que soy clienta de Volkswagen, y me encantaría que mi fidelidad se viera recompensada con descuentos, ofertas exclusivas e incluso experiencias con otros miembros de la comunidad.\"\n rows={3}\n maxLength={1500}\n />\n \n }\n />\n ),\n screenIndex: FidelizacionSteps.QuieroTener,\n name: 'QuieroTener',\n outputs: ['quieroTener'],\n outputsText: ['quieroTener'],\n },\n {\n title: (\n <>\n ¿Cuáles son los beneficios y ventajas de Volkswagen que más conoces/utilizas?\n \n ),\n fields: (\n \n handleChange(e)}\n appearance={'default'}\n isFloating={false}\n innerRef={register({\n required: {\n value: true,\n message: 'Requerido',\n },\n })}\n placeholder=\"Ejemplo: Me parece muy útil el servicio de recogida y entrega de Volkswagen. A veces hacer un hueco para ir al taller es misión imposible, ¡así que toda acción que te facilite la vida es bienvenida!\"\n rows={3}\n maxLength={350}\n />\n \n }\n />\n ),\n screenIndex: FidelizacionSteps.MasConoces,\n name: 'MasConoces',\n outputs: ['masConoces'],\n outputsText: ['masConoces'],\n },\n {\n title: (\n <>\n Hemos listado algunas de nuestras ventajas como cliente de la familia Volkswagen. ¿Cuáles te parecen más atractivas?\n \n \n Selecciona 3 opciones.\n \n \n \n ),\n alternateTitle: (\n <>\n Hemos listado algunas de nuestras ventajas como cliente de la familia Volkswagen. ¿Cuáles te parecen más atractivas?\n \n ),\n fields: (\n \n \n \n
    \n
  1. Planes de mantenimiento Volkswagen Long Drive (Standard y Advance)
  2. \n
  3. Race Tours y otras experiencias de conducción para clientes
  4. \n
  5. Servicios de conectividad como We Connect, We Connect GO...
  6. \n
\n
\n }\n />\n ),\n screenIndex: FidelizacionSteps.ListadoVentajas,\n name: 'ListadoVentajas',\n outputs: ['listadoVentajas'],\n outputsText: ['listadoVentajas'],\n },\n {\n title: (\n <>\n ¿Qué importancia le darías a los siguientes conceptos?\n \n ),\n fields: (\n \n \n \n Como cliente de Volkswagen, siendo 1 {'\"'}mayor importancia{'\"'} y 5 {'\"'}menor importancia{'\"'}\n \n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Siguiente',\n });\n e.preventDefault();\n nextStep();\n }}\n ariaLabel=\"aria label\"\n >\n Empezar\n \n \n \n ),\n screenIndex: FidelizacionSteps.Valoracion,\n name: 'Valoracion',\n },\n {\n title: (\n <>\n Servicio de Posventa: trato, precio y planes de mantenimiento.\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.ServicioPosventa,\n name: 'ServicioPosventa',\n outputs: ['servicioPosventa'],\n outputsText: ['servicioPosventa'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Proceso de compra o renovación: personalización por ser cliente, ofrecimiento de prueba test drive, asesoramiento comercial...\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.ProcesoCompra,\n name: 'ProcesoCompra',\n outputs: ['procesoCompra'],\n outputsText: ['procesoCompra'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Opciones de financiación en la venta: nuevas fórmulas, condiciones ventajosas...\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.OpcionesFinanciacion,\n name: 'OpcionesFinanciacion',\n outputs: ['opcionesFinanciacion'],\n outputsText: ['opcionesFinanciacion'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Ventajas y Beneficios como descuentos, premios, entradas a eventos, posibilidad de participar en foros de la marca...\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.VentajasBeneficions,\n name: 'VentajasBeneficions',\n outputs: ['ventajasBeneficions'],\n outputsText: ['ventajasBeneficions'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Información exclusiva sobre novedades de la marca y del sector: nuevos lanzamientos, productos o funcionalidades, recomendaciones, noticias...\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.InformacionExclusiva,\n name: 'InformacionExclusiva',\n outputs: ['informacionExclusiva'],\n outputsText: ['informacionExclusiva'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Innovación y Tecnología: coche conectado, coche autónomo, sostenibilidad...\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: FidelizacionSteps.InformacionTecnologia,\n name: 'InformacionTecnologia',\n outputs: ['informacionTecnologia'],\n outputsText: ['informacionTecnologia'],\n outputsIsStars: true\n },\n {\n title: (\n <>\n Otros Servicios: servicio de atención al cliente, garantía de movilidad Volkswagen, asistencia...\n \n ),\n fields: ,\n screenIndex: FidelizacionSteps.OtrosServicios,\n name: 'OtrosServicios',\n outputs: ['otrosServicios'],\n outputsText: ['otrosServicios'],\n isLastStep: true\n },\n ];\n\n const FidelizacionFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n },\n fields: { formName: 'adhoc-2021-fidelizacion_clientes', formType: 'otherform', pageCategory: 'Fidelización Clientes 2021' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n 'headers[DESC_BRAND]': 'VW',\n 'headers[DESC_CAMPAIGNBLOCK]': '16. VW One Shots',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORMOBJECTIVE]': 'Encuesta',\n 'headers[DESC_FORM_DETAIL]': fields.pageCategory,\n 'headers[DESC_ID_CAMPAIGN]': '7011n000000JqqSAAS',\n 'headers[DESC_ID_CLIMAPRO]': idPerson.ID_Person_DIM_IMP__c,\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[DESC_TOKEN]': 'VW_DDB_FRM_ENCUESTA_FIDELIZACION_CLIENTES',\n\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[M_OBSERVATION]': fields.quieroTener,\n 'fields[DESC_AUXFIELD1]': fields.masConoces,\n 'fields[DESC_AUXFIELD2]': fields.listadoVentajas,\n 'fields[DESC_AUXFIELD5]': fields.servicioPosventa,\n 'fields[DESC_AUXFIELD6]': fields.procesoCompra,\n 'fields[DESC_AUXFIELD7]': fields.opcionesFinanciacion,\n 'fields[DESC_AUXFIELD8]': fields.ventajasBeneficions,\n 'fields[DESC_AUXFIELD9]': fields.informacionExclusiva,\n 'fields[DESC_AUXFIELD10]': fields.informacionTecnologia,\n 'fields[DESC_AUXFIELD11]': fields.otrosServicios,\n 'fields[DESC_NAME]': idPerson.FirstName,\n 'fields[DESC_SURNAME_1]': idPerson.LastName,\n 'fields[DESC_SURNAME_2]': idPerson.TXT_2_Surname__c,\n 'fields[DESC_EMAIL_ADDRESS]': idPerson.TXT_Email__c,\n 'fields[NUM_CELLPHONE]': idPerson.NUM_Phone_mobile__c,\n 'fields[DESC_LOPD]': 'PERMITE'\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n const { loading, steps, firstStep, lastStep } = useInitializeFidelizacionForm(stepsForm, null);\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const FidelizacionFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n if (!loading) {\n initializeForm(FidelizacionFormInfo, FidelizacionFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n\n return loading || !steps ? null : ;\n}\n","import { Spinner, Text, styled } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { IdPerson } from 'src/types';\nimport { FidelizacionForm } from './FidelizacionForm';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { createPincodeEntity } from '../../dps-utils';\n\nexport interface FidelizacionFormProps {\n idPerson: IdPerson;\n dpsData: DpsData;\n handleError: () => void;\n presubmit: boolean;\n trackFormLoad: () => void;\n showPantallaModelo: boolean;\n}\n\nexport function FidelizacionController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [usado, setUsado] = useState(false);\n const [presubmit, setPresubmit] = useState(false);\n const [showPantallaModelo, setShowPantallaModelo] = useState(false);\n const today = dayjs(new Date());\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idPersonRef = useRef(null);\n const dispatch = useDispatch();\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const handleNext = (value: any) => {};\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setUsado(true);\n setLoading(false);\n } else {\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idPersonRef.current = idPerson;\n\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else if (usado) {\n return (\n <>\n \n \n );\n } else {\n return (\n \n );\n }\n}\ninterface CenterContentProps {\n height: string;\n}\nconst CenterContent = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: ${(props) => (props.height ? props.height : '100%')};\n`;\n\nconst Loading = () => {\n const [height, setHeight] = useState('100%');\n\n useEffect(() => {\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n let aux;\n\n if (viewportWidth < 560) {\n aux = viewportHeight - 152;\n } else if (viewportWidth < 1600) {\n aux = viewportHeight - 252;\n } else {\n aux = viewportHeight - 380;\n }\n setHeight(`${aux}px`);\n }, []);\n\n return (\n \n \n Cargando tus datos\n \n );\n};\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n Layout,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, TrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\n\ninterface FieldProps {\n copyBook?: string;\n}\n\ninterface NDPSField {\n name: string;\n value: string;\n}\n\nfunction Fields(props: FieldProps) {\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n\n return (\n \n
\n \n \n Las tendremos en cuenta para seguir mejorando tu experiencia Volkswagen 😊\n \n \n
\n \n );\n}\n\ninterface ThankYouProps {\n formData: FormDataFields;\n formInfo: FormInfo;\n}\n\nfunction ThankYouFidelizacion(props: ThankYouProps) {\n const { formData, formInfo } = props;\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => {\n let LeadID;\n if (formResponse && formResponse.content && formResponse.content.data && formResponse.content.data.fields) {\n const leadField: NDPSField = formResponse.content.data.fields.find(\n (field: NDPSField) => field.name === 'COD_LEAD_ID'\n );\n LeadID = leadField ? leadField.value : undefined;\n }\n return {\n LeadID,\n FormFields: undefined,\n };\n };\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: (\n <>\n {' '}\n ¡Muchas gracias por tu tiempo y tus respuestas!\n \n ),\n fields: ,\n };\n return (\n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formData: state.formData.fields,\n formInfo: state.formInfo,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouFidelizacion);\n\nexport { ConnectedComponent as ThankYouFidelizacion };\n","import React, { useEffect, useRef, useState } from 'react';\nimport { AutosubmitController } from 'src/forms/Autosubmit/AutosubmitController';\nimport { createPincodeEntity } from '../../dps-utils';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { LoadingEncuestas } from 'src/components';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { TestIDForm } from './TestIDForm';\n\nexport function TestIDController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [pincodeAvailable, setPincodeAvailable] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n setPincodeAvailable(false);\n setLoading(false);\n } else {\n setPincodeAvailable(true);\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idPersonRef.current = idPerson;\n\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else {\n return (\n <>\n {\n pincodeAvailable ?\n \n :\n \n }\n \n );\n }\n}\n","import React, { useState } from 'react';\nimport { RadioButton } from '@volkswagen-onehub/components-core';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\n\ninterface ChecksProps {\n questionName: string;\n avoidNextStep?: boolean;\n answers: string[];\n correctAnswer?: string;\n}\n\nexport const Checks = (props: ChecksProps) => {\n const { questionName, answers, avoidNextStep, correctAnswer } = props;\n const [checkedIndex, setCheckedIndex] = useState(null);\n const dispatch = useDispatch();\n\n const { handleNextStep } = useOneFormContext();\n const [value, setValue] = useState(null);\n const { register } = useFormContext();\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const currentCorrectAnswers = fields.answers || 0;\n\n const handleOnClick = (e: any) => {\n if (avoidNextStep) {\n // si no vamos a next step guardaremos el valor en store\n dispatch({ type: 'UPDATE_FIELDS', payload: { [questionName]: e.target.value } });\n } else {\n setTimeout(\n () => {\n if (correctAnswer && correctAnswer === e.target.value) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { ['answers']: currentCorrectAnswers + 1 } });\n }\n handleNextStep();\n }, 0\n );\n }\n };\n\n return (\n
\n {answers.map((answer, index) => {\n return (\n
\n {\n setValue(answer);\n setCheckedIndex(index);\n handleOnClick(e);\n }}\n checked={checkedIndex === index}\n />\n
\n )\n })}\n\n \n
\n );\n};\n","import React from 'react';\nimport {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n styled,\n Text,\n Image,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { Checks } from './Checks';\nimport { useWindowHeight, useWindowWidth } from '@react-hook/window-size';\n\nconst LayoutWrapper = styled.div`\n @media all and (min-width: 960px) {\n padding-left: var(--size-grid002);\n display: flex;\n }\n`;\n\nconst InfoWrapper = styled.div`\n width: 100%;\n padding-left: var(--size-grid002);\n padding-right: var(--size-grid002);\n @media all and (min-width: 960px) {\n display: flex;\n justify-content: center;\n flex-direction: column;\n width: var(--size-grid012);\n padding-left: var(--size-grid002);\n padding-right: 0;\n padding-top: 0;\n }\n @media all and (min-width: 1280px) {\n padding-left: var(--size-grid003);\n }\n @media all and (min-width: 1600px) {\n padding-left: var(--size-grid002);\n }\n`;\n\ninterface QuestionWithImageProps {\n answers: string[];\n correctAnswer?: string;\n imageSrc: string;\n index: number;\n questionName: string;\n title: JSX.Element | string;\n}\n\nexport const QuestionWithImage = (props: QuestionWithImageProps) => {\n const {\n answers,\n correctAnswer,\n imageSrc,\n index,\n questionName,\n title,\n } = props;\n const height = useWindowHeight();\n const width = useWindowWidth();\n\n return (\n \n {\n height <= 600 ? null : (\n \n
\n \"\"\n
\n
\n )\n }\n \n \"imagen\n \n \n \n {index === 0 && Y... ¡que empiece el test!}\n \n <>\n {title}\n \n \n \n \n \n
\n )\n};\n","import React, { useEffect, useState } from 'react';\nimport { ConfirmationTestID, ThankYouTestID } from './';\nimport { QuestionWithImage } from './QuestionWithImage';\nimport { dpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport {\n formatPrefix,\n FormController,\n removeWhiteSpace,\n useOneFormContext,\n} from 'src/feature-app';\nimport {\n FormDataGroup,\n FormInfo,\n OneFormState,\n Steps,\n} from 'src/types';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { questions } from './';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\n\ninterface TestIDFormProps {\n dpsData?: any;\n idPerson?: any;\n handleError?: any;\n email?: string;\n name?: string;\n surname?: string;\n}\n\nexport function TestIDForm(props: TestIDFormProps) {\n const { idPerson } = props;\n const { initializeForm } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n\n const name: string = props.name ? props.name : props.idPerson?.FirstName;\n const surname: string = props.surname ? props.surname : props.idPerson?.LastName;\n const email: string = props.email ? props.email : props.idPerson?.TXT_Email__c;\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FIELDS', payload: { email, name, surname } });\n setLoading(false);\n }, []);\n\n const steps: Steps[] = [\n ...questions.map((question, index) => {\n return {\n fields: ,\n screenIndex: index,\n name: question.questionName,\n showOverflow: true,\n }\n }),\n {\n fields: ,\n screenIndex: questions.length,\n name: 'Confirmacion',\n outputs: ['confirmacion'],\n outputsText: ['confirmacion'],\n },\n ];\n\n const NuevoFormData: Partial = {\n fields: {\n formName: 'adhoc-2023-test_id',\n formType: 'otherform',\n pageCategory: 'Concurso'\n }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const generateData = (data?: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n 'headers[COD_FORM_ID]': fields.formName ? `vw-oneform-${fields.formName}` : `vw-oneform-${data.fields.formName}`,\n 'headers[DESC_BRAND]': 'VW',\n 'headers[DESC_CAMPAIGNBLOCK]': '4. VW Newsletter',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORM_DETAIL]': 'Test ID 2023',\n 'headers[DESC_FORMOBJECTIVE]': 'Concurso',\n 'headers[DESC_GDPR_ADAPTED]': 'true',\n 'headers[DESC_ID_CAMPAIGN]': '7017Q000000DUOnQAO',\n 'headers[DESC_TOKEN]': 'VW_DDB_FRM_TEST_ID_2023',\n 'headers[DESC_URLORIGIN]': url,\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n\n 'fields[DESC_AUXFIELD1]': fields.answers, // respuestas correctas\n 'fields[DESC_AUXFIELD2]': fields.location,\n 'fields[DESC_EMAIL_ADDRESS]': fields.email ? fields.email : idPerson? idPerson.TXT_Email__c : null,\n 'fields[DESC_FORM_VERSION]': fields.formName\n ? `vw-oneform-${fields.formName}-${process.env.VERSION}`\n : `vw-oneform-${data.fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_NAME]': fields.name ? fields.name : idPerson.FirstName,\n 'fields[DESC_PREFERRED_CONTACT_CHANNEL]': fields.contact,\n 'fields[DESC_SURNAME_1]': fields.surname ? fields.surname : idPerson.LastName,\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[NUM_CELLPHONE]': fields.telefono ? `${formatPrefix(fields.prefix)}${fields.telefono}` : idPerson.NUM_Phone_mobile__c,\n\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = async (): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateSubmitData();\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response.data?.content?.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackingManager.trackFormLoad();\n }\n }, [loading]);\n\n return loading || !steps ? null : ;\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n styled,\n Text,\n Layout,\n BreakpointWrapper,\n CTA,\n ContainerGutter,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useState } from 'react';\nimport {\n PoliticaPrivacidad,\n LastNavigation,\n LabelInputWidthWrapper,\n Nombre,\n Apellido,\n Telefono,\n Email,\n LegalItem\n} from 'src/components';\nimport { IdPerson } from 'src/types';\nimport { LayerManagerWrapper, useFeatureAppEnvironment, useFeatureServices } from 'src/feature-app';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport { useStore } from 'react-redux';\n\nconst GridWrapper = styled.div`\n width: 90%;\n display: grid;\n grid-template-rows: repeat(2, auto);\n grid-gap: 5%;\n height: 180px;\n @media all and (min-width: 1600px) {\n height: 200px;\n }\n`;\n\nconst GridItem = styled.div <{ row: string }>`\n grid-row: ${props => props.row};\n`;\n\nconst TextBlue = styled(Text)`\n color: #001e50;\n`;\n\nconst InputErrorLegales = styled.p`\n position: relative;\n margin-top: 10px;\n background-color: #e4002c;\n color: #ffffff;\n width: max-content;\n max-width: 280px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 14px;\n`;\n\nconst QuestionWrapper = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n padding-top: 10%;\n @media all and (max-width: 1280px) {\n padding-top: 2%;\n }\n`;\ninterface ConfirmacionTestIDProps {\n idPerson: IdPerson;\n}\n\nconst legalesTestID2023 = 'https://crm.volkswagen.es/email/2023/service/recertificacion_may23/Sorteo%20Test%20Ele%CC%81ctrico.pdf'\n\nconst infoLayerCopies = {\n lssi: {\n title: 'Estarás mejor informado.',\n body: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n },\n};\n\nexport const ConfirmationTestID = (props: ConfirmacionTestIDProps) => {\n const { idPerson } = props;\n const [compartir, setCompartir] = useState(null);\n const [compartirError, setCompartirError] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const env = useFeatureAppEnvironment();\n const store = useStore();\n const handleInfoLayer = (\n key: 'lssi',\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { ...infoLayerCopies[key] },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n {state.title}\n {state.body}\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n return (\n <>\n \n \n\n {!idPerson &&\n \n ¡Genial! Ya lo tenemos casi todo. Ahora solo falta que nos confirmes tus datos para recibir los resultados del test. ¿Serás un pro de los eléctricos?\n \n }\n {idPerson &&\n \n ¡Genial! Aunque el sorteo ya está cerrado, confírmanos tus datos para recibir los resultados del test. ¿Serás un pro de los eléctricos?\n \n }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n
\n \n\n \n \n {!idPerson &&\n handleInfoLayer('lssi', renderInfo)}\n themeColor={'main'}\n name='lssi'\n />\n }\n \n \n \n \n\n {compartirError && Necesitamos esta información para seguir}\n \n \n \n \n \n \n \n {idPerson &&\n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n }\n \n \n \n {idPerson &&\n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n }\n \n \n \n \n \n );\n};\n","import React, { useEffect, useState } from \"react\";\nimport {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n FixedWidthContainer,\n Layout,\n Text,\n TextAlignment,\n TokenTextAppearance,\n TokenTextColor,\n} from \"@volkswagen-onehub/components-core\";\nimport {\n getParamsForm,\n getTrackingForm,\n LayerManagerWrapper,\n removeWhiteSpace,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from \"src/feature-app\";\nimport styled from \"styled-components\";\nimport { useDispatch, useStore } from \"react-redux\";\nimport { Apellido, Email, GenericErrorLayer, LegalFullScreenSinConsentmientos, LegalItem, Nombre, PoliticaPrivacidad } from \"src/components\";\nimport { FormDataGroup, OneFormState } from \"src/types\";\nimport { formDataBuilder, formatHeaders } from \"src/forms/format-fields\";\nimport { dpsSend } from \"src/bff\";\nimport { TestIDForm } from \"./\";\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from \"@volkswagen-onehub/layer-manager\";\nimport { useWindowWidth } from \"@react-hook/window-size\";\n\ninterface VideoProps {\n isMediumScreen: boolean;\n};\n\nconst Video = styled.video`\n display: block;\n width: ${(props) => props.isMediumScreen ? \"50%\" : \"100%\"};\n margin: ${(props) => props.isMediumScreen ? \"auto\" : \"0 auto\"};\n padding-bottom: var(--size-grid001);\n`;\n\nconst ErrorMessage = styled.div`\n width: max-content;\n padding: 4px 8px;\n position: relative;\n border-radius: 4px;\n background-color: #e4002c;\n color: #ffffff;\n`;\n\nconst initialData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_TOKEN: 'VW_DDB_FRM_TEST_ID_2023',\n DESC_FORMOBJECTIVE: 'Suscripción Newsletter',\n COD_FORM_ID: 'vw-newsletter-electricos-adhoc-2023-test_id',\n },\n fields: {\n formName: 'newsletter-electricos-adhoc-2023-test_id',\n formType: 'newsletter',\n pageCategory: 'Suscripción Newsletter',\n }, // Analítica\n};\n\nconst infoLayerCopies = {\n lssi: {\n title: 'Estarás mejor informado.',\n body: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n },\n};\n\n\nexport function EmailForm() {\n const [email, setEmail] = useState(null);\n const [showError, setShowError] = useState(false);\n const dispatch = useDispatch();\n const { initializeForm } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const [renderFormID, setRenderFormID] = useState(false);\n const store = useStore();\n const { formData }: OneFormState = store.getState();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const env = useFeatureAppEnvironment();\n const windowWidth = useWindowWidth();\n const [error, setError] = useState(false);\n const [isMediumScreen, setIsMediumScreen] = useState(false);\n\n\n useEffect(() => {\n initializeForm(\n {},\n initialData,\n );\n }, []);\n\n useEffect(() => {\n setIsMediumScreen(windowWidth >= 960 && windowWidth < 1280);\n }, [windowWidth]);\n\n const handleInfoLayer = (\n key: 'lssi',\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { ...infoLayerCopies[key] },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n {state.title}\n {state.body}\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n const sendForm = (): Promise => {\n\n const { fields } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, url, device } = getParamsForm();\n\n const data = {\n ...formatHeaders(initialData.headers),\n 'headers[DESC_URLORIGIN]': url,\n 'headers[DESC_CAMPAIGNBLOCK]': '4. VW Newsletter',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_ID_CAMPAIGN]': '7017Q000000DUOnQAO',\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[DESC_VN_VO]': 'VN',\n\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_SURNAME_1]': fields.surname,\n\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${initialData.fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_EMAIL_ADDRESS]': removeWhiteSpace(email),\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n const response = await dpsSend(formData);\n\n if (response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(response));\n setRenderFormID(true);\n } else {\n setError(true);\n }\n\n });\n };\n\n if (error) {\n return (\n <>\n \n \n );\n } else {\n\n return (\n\n renderFormID ?\n \n :\n <>\n \n\n \n\n <>\n \n Demuestra que eres un pro y entra en el sorteo de uno de los dos cursos de conducción eléctrica.\n \n \n El curso de la escuela ID. es una\n experiencia única al volante de nuestros eléctricos con pilotos profesionales a tu lado. {' '}\n Para participar, haz nuestro test de solo 5 preguntas.\n \n \n \n \n \n ¿Te animas a estar al día de todo sobre los eléctricos, demostrar lo que sabes y participar en el sorteo?\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n handleInfoLayer('lssi', renderInfo)}\n themeColor={'main'}\n name='lssi'\n />\n \n {\n showError ? (\n <>\n \n \n Necesitamos esta información para seguir\n \n \n \n ) : null\n }\n {\n e.preventDefault();\n if (email && !showError) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { email: email } });\n sendForm();\n } else {\n setShowError(true);\n }\n }}\n >\n Enviar y participar\n \n \n \n \n\n \n \n \n \n )\n }\n\n}\n","import { Text } from \"@volkswagen-onehub/components-core\";\nimport React from \"react\";\n\nexport const questions = [\n {\n questionName: 'Test ID 01',\n title: <>1. Estás en Madrid y te apetece hacer una escapada en tu ID.7.{' '}¿Hasta dónde podrías llegar aproximadamente?,\n answers: [\n 'Hasta Barcelona, podría llegar a hacer 700 km.',\n 'Hasta Zaragoza y no más que esos 300 km.',\n 'Hasta Toledo. Hombre, ni que pudiera recorrer más de 70km.',\n ],\n correctAnswer: 'Hasta Barcelona, podría llegar a hacer 700 km.',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2023AU00207_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg=='\n },\n {\n questionName: 'Test ID 02',\n title: <>​2. Estás organizando el viaje de verano con tu ID.5 y quieres saber dónde podrás cargarlo.{' '}¿Cuántos puntos habilitados de carga hay en España?,\n answers: [\n '4.444, como las cuatro ruedas de un coche.',\n 'Más de 18.000, es casi imposible no toparse con uno.',\n '93, como días tiene el verano.',\n ],\n correctAnswer: 'Más de 18.000, es casi imposible no toparse con uno.',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2020AL01387_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjImaGVpPTQ2MiZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmZTJiZQ=='\n },\n {\n questionName: 'Test ID 03',\n title: <>3. Oh no...está empezando a sonar la canción de tu ex en tu ID.7 y quieres cambiarla.{' '} ¿Cómo lo haces?,\n answers: [\n 'Hago un gesto con la mano de izquierda a derecha, como si fuera un director de orquesta.',\n 'Se lo pido a mi copiloto, que es muy majo.',\n 'Me desespero y toco todos los botones del coche a la vez.',\n ],\n correctAnswer: 'Hago un gesto con la mano de izquierda a derecha, como si fuera un director de orquesta.',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2023AU00281_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg=='\n },\n {\n questionName: 'Test ID 04',\n title: <>4. Estás subiendo los pirineos con un ID.4 y quieres cambiar de marcha para que el coche tenga más potencia.{' '}¿Cómo lo haces?,\n answers: [\n '¡Muy fácil! Con el cambio de marchas de toda la vida.',\n '¿Qué marcha? Los coches eléctricos lo dan todo sin marchas.',\n 'Le pongo la banda sonora de UP para que siga subiendo.',\n ],\n correctAnswer: '¿Qué marcha? Los coches eléctricos lo dan todo sin marchas.',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2022AU00678_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg=='\n },\n {\n questionName: 'Test ID 05',\n title: <>5. Quieres parar a tomarte un descanso y de paso aprovechar para cargar tu ID.3 en un punto de carga rápida.{' '}¿Cuántos minutos necesitarás para cargarlo al 80%?,\n answers: [\n '30 minutos, lo que tardo en tomarme un descansito y un café.',\n '80 minutos, lo mismo que un capítulo de Juego de Tronos.',\n '60 minutos, lo que dura una clase de Cycling en el gimnasio.',\n ],\n correctAnswer: '30 minutos, lo que tardo en tomarme un descansito y un café.',\n imageSrc: 'https://assets.volkswagen.com/is/image/volkswagenag/DB2020NR00454_medium%201?Zml0PWNyb3AlMkMxJndpZD00NjQmaGVpPTQ2NCZmbXQ9cG5nLWFscGhhJmJmYz1vZmYmNjA2Mg=='\n },\n];\n\n","import React, { useEffect } from 'react';\nimport { OneFormState, Steps } from 'src/types';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { TrackingForm, useTrackingManager } from 'src/feature-app';\nimport { useDispatch, useSelector } from 'react-redux';\n\nexport function ThankYouTestID() {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => ({\n LeadID: undefined,\n FormFields: undefined,\n });\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo?.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: (\n <>\n ¡Gracias por participar, {formInfo.formResponse.params.fields.DESC_NAME}!\n
\n ¡Ha llegado la hora de la verdad eléctrica! Ve a tu email y descubre tus resultados del test. \n \n ),\n fields: <>,\n };\n return (\n \n );\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n styled,\n Text,\n Layout,\n BreakpointWrapper,\n ContainerGutter,\n CTA,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useState } from 'react';\nimport { useStore } from 'react-redux';\nimport {\n PoliticaPrivacidad,\n LastNavigation,\n LabelInputWidthWrapper,\n Nombre,\n Apellido,\n Telefono,\n Legales,\n Email,\n CodigoPostal,\n LegalItem,\n} from 'src/components';\nimport { LayerManagerWrapper, useFeatureAppEnvironment, useFeatureServices, useGetIdPerson } from 'src/feature-app';\nimport { IdPerson } from 'src/types';\n\nconst GridWrapper = styled.div`\n width: 100%;\n display: grid;\n grid-template-rows: repeat(2, auto);\n grid-gap: 10%;\n padding-bottom: 6%;\n padding-top: 3%;\n`;\n\nconst GridItem = styled.div <{ row: string }>`\n grid-row: ${props => props.row};\n`;\n\nconst TextBlue = styled(Text)`\n color: #001e50;\n`;\n\nconst InputErrorLegales = styled.p`\n position: relative;\n margin-top: 10px;\n background-color: #e4002c;\n color: #ffffff;\n width: max-content;\n max-width: 280px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 14px;\n margin-left: 35px;\n`;\n\nconst InputWrapper = styled.div`\n input, span:first-child, div:last-child {\n width: 320px;\n }\n`;\n\ninterface ConcursoRodajeProps {\n idPerson?: IdPerson;\n sendForm?: () => Promise;\n}\n\nconst infoLayerCopies = {\n lssi: {\n title: 'Estarás mejor informado.',\n body: 'Si nos das tu consentimiento desde Volkswagen Group España Distribución, S.A. como responsable de la marca Volkswagen podremos enviarte por cualquier medio, ya sea por teléfono, correo electrónico, sms o aplicaciones de mensajería instantánea información comercial lo que puede incluir, a título enunciativo, pero no limitativo, descuentos, novedades, próximos lanzamientos, invitaciones a eventos o a concursos, entre otras comunicaciones comerciales.',\n },\n};\n\nconst legalesRodaje = 'https://crm.volkswagen.es/email/2023/newsletter/trimestre_jun23/BBLL_Rodaje_NL_2023.pdf';\n\nexport const ConcursoRodajeConfirmacion = (props: ConcursoRodajeProps) => {\n const { idPerson } = props;\n const [compartir, setCompartir] = useState(null);\n const [compartirError, setCompartirError] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const env = useFeatureAppEnvironment();\n const store = useStore();\n\n const handleInfoLayer = (\n key: 'lssi',\n renderFn: (state: any, close: CloseHandleV2) => JSX.Element\n ) => {\n const layer = layerManager.openFocusLayer(\n renderFn,\n { ...infoLayerCopies[key] },\n { size: FocusLayerSizeV2.A, userCloseable: true }\n );\n\n return layer;\n };\n\n const renderInfo = (state: { title: string; body: string }, close: CloseHandleV2) => {\n return (\n \n \n \n {state.title}\n {state.body}\n \n {\n e.preventDefault();\n close({}, {}, {});\n }}\n size={'small'}\n >\n Entendido\n \n \n \n );\n };\n\n return (\n <>\n \n \n
\n \n Acompáñanos en el rodaje de nuestro próximo spot{' '}\n y descubre cómo sucede la magia detrás de cámara.\n Completa tus datos y ¡ven a vivirlo!\n \n
\n
\n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n \n \n \n \n \n \n \n \n \n \n
\n
\n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n
\n
\n \n\n \n {!idPerson &&\n \n handleInfoLayer('lssi', renderInfo)}\n themeColor={'main'}\n name='lssi'\n />\n \n }\n \n \n Enviando el formulario declaro haber leído y estar informado acerca del tratamiento de mis datos personales y declaro aceptar las condiciones de participación recogidas en las{' '}\n \n bases legales\n .\n
\n
\n
\n \n
\n\n {compartirError && Necesitamos esta información para seguir}\n \n \n \n \n \n {/* \n \n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n \n \n \n \n Consulta las bases legales de la promoción{' '}\n \n aquí\n .\n \n \n \n */}\n \n \n );\n};\n","import React, { useEffect, useRef, useState } from 'react';\nimport { createPincodeEntity } from '../../dps-utils';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { LoadingEncuestas } from 'src/components';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { ConcursoRodajeForm } from './';\n\nexport function ConcursoRodajeController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n setLoading(false);\n } else {\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n \n dpsDataRef.current = dpsData;\n idPersonRef.current = idPerson;\n\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else {\n return ;\n }\n}\n","import React, { useEffect } from 'react';\nimport { OneFormState, Steps } from 'src/types';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { TrackingForm, useTrackingManager } from 'src/feature-app';\nimport { useDispatch, useSelector } from 'react-redux';\n\nexport function ThankYouConcursoRodaje() {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => ({\n LeadID: undefined,\n FormFields: undefined,\n });\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo?.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: (\n <>\n ¡Gracias, {formInfo.formResponse.params.fields.DESC_NAME}!\n
\n Te confirmamos que tus datos se han registrado correctamente\n \n ),\n fields: <>,\n };\n return (\n \n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { ThankYouTestID } from '../TestID2023';\nimport { dpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport {\n FormController,\n formatPrefix,\n removeWhiteSpace,\n useGetIdPerson,\n useOneFormContext,\n} from 'src/feature-app';\nimport {\n FormDataGroup,\n FormInfo,\n OneFormState,\n Steps,\n} from 'src/types';\nimport { formDataBuilder, formatHeaders } from 'src/forms/format-fields';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useDispatch, useStore } from 'react-redux';\nimport { ConcursoRodajeConfirmacion } from './ConcursoRodajeConfirmacion';\nimport { ThankYouConcursoRodaje } from './ThankYouConcursoRodaje';\n\ninterface ConcursoRodajeFieldsProps {\n dpsData?: any;\n idPerson?: any;\n handleError?: any;\n email?: string;\n name?: string;\n surname?: string;\n}\n\nexport function ConcursoRodajeForm(props: ConcursoRodajeFieldsProps) {\n const { initializeForm } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n const idPerson = useGetIdPerson();\n\n useEffect(() => {\n const {\n FirstName: name,\n LastName: surname,\n TXT_Email__c: email,\n TXT_Postal_Code__c: postalCode,\n NUM_Phone_mobile__c: telefono,\n } = idPerson || {};\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { email, name, surname, postalCode, telefono } });\n setLoading(false);\n }, []);\n\n const steps: Steps[] = [\n {\n fields: ,\n screenIndex: 0,\n name: 'Confirmacion',\n outputs: ['confirmacion'],\n outputsText: ['confirmacion'],\n },\n ];\n\n const initialData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_TOKEN: 'VW_DDB_FRM_CONCURSO_RODAJE_2023',\n DESC_FORMOBJECTIVE: 'Concurso',\n },\n fields: {\n formName: 'adhoc-2023-concurso_rodaje',\n formType: 'otherform',\n pageCategory: 'Concurso',\n }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const generateData = (data?: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n ...formatHeaders(initialData.headers),\n 'headers[DESC_URLORIGIN]': url,\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n 'headers[DESC_CAMPAIGNBLOCK]': '7. VW Driving Experience',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_ID_CAMPAIGN]': '7017Q000000DUlUQAW',\n 'headers[DESC_FORM_DETAIL]': 'Concurso Rodaje 2023',\n 'headers[DESC_GDPR_ADAPTED]': 'true',\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[DESC_VN_VO]': 'VN',\n\n 'fields[DESC_POSTAL_CODE]': fields.postalCode ? fields.postalCode : idPerson.TXT_Postal_Code__c,\n 'fields[DESC_NAME]': fields.name ? fields.name : idPerson.FirstName,\n 'fields[DESC_SURNAME_1]': fields.surname ? fields.surname : idPerson.LastName,\n 'fields[DESC_EMAIL_ADDRESS]': fields.email ? fields.email : idPerson ? idPerson.TXT_Email__c : null,\n\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${initialData.fields.formName}-${process.env.VERSION}`,\n\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[NUM_CELLPHONE]': fields.telefono ? `${formatPrefix(fields.prefix)}${fields.telefono}` : idPerson.NUM_Phone_mobile__c,\n\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = async (): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateSubmitData();\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response.data?.content?.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, initialData, true);\n trackingManager.trackFormLoad();\n }\n }, [loading]);\n\n return loading || !steps ? null : ;\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport { findCarline } from 'src/components';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { getCarlines } from 'src/bff';\nimport { useFaContent, useFeatureServices } from 'src/feature-app';\nimport { CarlineBase, IdLead, Steps } from 'src/types';\n\nconst getLastItemOfSteps = (steps: Steps[]) => steps[steps.length - 1];\n\nconst propertyHasValue = (property: string) => property !== 'null';\n\nexport const checkIdLeadHasCarline = (idLead: IdLead) =>\n idLead &&\n idLead.VGED_CodeOfInterestCarline__c &&\n propertyHasValue(idLead.VGED_CodeOfInterestCarline__c);\n\nexport function useInitializeForm(defaultSteps: Steps[], idLead: IdLead) {\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n\n const [steps, setSteps] = useState(defaultSteps);\n const [firstStep, setFirstStep] = useState(defaultSteps[0]);\n const [lastStep, setLastStep] = useState(getLastItemOfSteps(defaultSteps));\n\n const removeModelFromSteps = async () => {\n return new Promise((resolve) => {\n let updatedSteps = [...steps];\n const indexOfModelo = updatedSteps.findIndex((step) => step.name === 'Modelo');\n updatedSteps.splice(indexOfModelo, 1); // Eliminado el step de Modelo.\n updatedSteps[0].hidePreviousStep = true;\n const updatedStepsWithIndex = updatedSteps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n\n setSteps(updatedStepsWithIndex);\n setFirstStep(updatedStepsWithIndex[0]);\n setLastStep(getLastItemOfSteps(updatedStepsWithIndex));\n\n resolve(true);\n });\n };\n\n useEffect(() => {\n const remove = async () => {\n await removeModelFromSteps();\n setLoading(false);\n };\n\n const requestCarlines = async () => {\n const carlines = await getCarlines();\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n\n const carline = findCarline(carlines, Number(idLead.VGED_CodeOfInterestCarline__c));\n dispatch({ type: 'SET_SELECTED_CARLINE', payload: carline });\n\n setSteps(defaultSteps);\n setLoading(false);\n };\n\n if (checkIdLeadHasCarline(idLead)) {\n remove();\n } \n requestCarlines();\n\n }, []);\n\n return { loading, steps, firstStep, lastStep };\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { PantallaNombreApellido, CarlineSelect, DetalleMotivo, MultipleCTASelection, LoadingEncuestas } from 'src/components';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { FormDataGroup, FormInfo, IdLead, OneFormState, Steps } from 'src/types';\nimport { formDataBuilder } from '../format-fields';\nimport { ConfirmacionLEM, ThanKYouLEM } from 'src/forms/LEM';\nimport { LEMFormProps } from './LEMController';\nimport { useInitializeForm, checkIdLeadHasCarline } from './use-initialize-lem-form';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from '../helpers/add-remove-steps';\nimport { RadioTextGroup } from 'src/components/inputs/RadioTextGroup';\n\n\nconst getPeriodoContactoTitle = (modeloPrecargado: boolean) => {\n if (modeloPrecargado) {\n return (\n <>\n Y ¿cuándo te{' '}\n \n respondieron?*\n \n \n );\n } else {\n return (\n <>\n Nos encantaría saber más sobre tu experiencia.{' '}\n \n ¿Cuándo te{' '}\n \n respondieron?*\n \n \n \n );\n }\n};\n\nexport function LEMContactadoForm(props: LEMFormProps) {\n const { dpsData, idLead, idPerson, installation, handleError, presubmit, trackFormLoad } = props;\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n const { initializeForm, handleNextStep } = useOneFormContext();\n const store = useStore();\n const { enviarConcesion } = useSelector((state: OneFormState) => state.formData.fields);\n const { dealersInfo }: OneFormState = store.getState();\n const dispatch = useDispatch();\n\n const ctasPeriodoContacto = [\n {\n label: 'En las primeras 8 horas',\n value: 'En las primeras 8h'\n },\n {\n label: 'En las primeras 24 horas',\n value: 'En las primeras 24h'\n },\n {\n label: 'En más de 24 horas',\n value: 'En más de 24h'\n },\n ];\n\n const ctasInformacionUtil = [\n {\n label: 'Sí, resolvieron mis dudas y/o me dieron una cita',\n value: 'Sí, resolvieron mis dudas y/o me dieron una cita'\n },\n {\n label: 'No, necesito más información',\n value: 'No, necesito más información'\n },\n {\n label: 'Aún la estoy valorando',\n value: 'Aún la estoy valorando'\n },\n ];\n\n const optionsEnviarConcesion = [\n { \n label: 'Sí, mis respuestas pueden ser enviadas y analizadas junto a mi nombre', \n info: 'El consentimiento puede revocarse en cualquier momento a través de los canales de contacto que se indican a continuación*.',\n value: '1' \n },\n {\n label: 'Mis respuestas pueden ser enviadas pero sin mencionar mi nombre',\n info: 'Seleccionando esta opción, el punto de venta no podrá ponerse en contacto contigo en relación a tus comentarios.',\n value: '2',\n },\n {\n label: 'Mis respuestas solo deben ser analizadas de manera anónima',\n info: 'Seleccionando esta opción, tus respuestas serán analizadas de modo agregado junto al resto de respuestas de todos los entrevistados y no se trasladarán a los comentarios abiertos.',\n value: '0',\n },\n\t];\n\n let index = 0;\n const stepsWithModel: Steps[] = [\n {\n title: (\n <>\n ¿Por qué modelo contactaste con tu punto de venta?\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n {\n title: getPeriodoContactoTitle(checkIdLeadHasCarline(idLead)),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'PeriodoContacto',\n outputs: ['periodoContacto'],\n outputsText: ['periodoContacto'],\n ctas: ctasPeriodoContacto,\n },\n {\n title: (\n <>\n ¿Fue útil la información que te dieron?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'InformacionUtil',\n outputs: ['informacionUtil'],\n outputsText: ['InformacionUtil'],\n ctas: ctasInformacionUtil,\n },\n {\n title: (\n <>\n Finalmente nos gustaría saber si podemos{' '}\n enviar tus respuestas junto con tu nombre al punto de venta\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'EnviarConcesion',\n outputs: ['enviarConcesion'],\n outputsText: ['enviarConcesion'],\n ctas: optionsEnviarConcesion,\n },\n {\n title: (\n <>\n Por favor, introduce o comprueba tus datos:\n \n ),\n fields: (\n \n \n
\n }\n />\n ),\n screenIndex: index++,\n name: 'DatosPersonales',\n outputs: ['datosPersonales'],\n outputsText: ['datosPersonales'],\n },\n {\n title: (\n <>\n ¿Quieres añadir algún comentario adicional?\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'Comentario',\n outputs: ['comentario'],\n outputsText: ['comentario'],\n },\n {\n fields: ,\n screenIndex: index++,\n name: 'Confirmacion',\n },\n ];\n\n const LEMContactadoData: Partial = {\n headers: {},\n fields: {\n formName: 'lem-contactado',\n formType: 'otherform',\n pageCategory: 'Encuesta',\n }, // Analítica\n };\n\n useEffect(() => {\n if (enviarConcesion) {\n modifySteps(enviarConcesion == '1' || enviarConcesion == 'true', 'DatosPersonales');\n }\n }, [enviarConcesion]);\n\n const modifySteps = (add: boolean, screen: string) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tlet newSteps = [...actualSteps];\n if (add) {\n const stepIndex = getIndexInSteps(newSteps, screen);\n\n\t\t\tif (stepIndex === -1) {\n\t\t\t\tnewSteps = addRemovedStep(steps, actualSteps, screen, screenIndex);\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\thandleNextStep();\n\t\t\t\t}, 0);\n\t\t\t}\n }\n else {\n newSteps = removeStep(newSteps, screen);\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n const generateData = (data?: Partial) => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n 'headers[DPS_TOKEN]': 'VW_DDB_FRM_LEM_ENCUESTA',\n 'headers[FK_SYSTEM]': idLead.Id,\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_DETAILS]': 'LEM Contactado',\n 'headers[FORM_NAME]': fields.formName ? `vw-oneform-${fields.formName}` : `vw-oneform-${data.fields.formName}`,\n 'headers[FORM_OBJECTIVE]': 'Encuesta',\n 'headers[FORM_URL]': url,\n 'headers[FORM_VERSION]': fields.formName ? `vw-oneform-${fields.formName}-${process.env.VERSION}`: `vw-oneform-${data.fields.formName}-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\n 'flags[PERSON_RGPD_ADAPTED]': true,\n 'flags[FLAG_RELACION_MARCA_SIN_IC]': false,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[PERSON_EMAIL]': idLead.Email,\n 'fields[PERSON_NAME]': fields.name ? fields.name : idLead.FirstName,\n 'fields[PERSON_PHONE_MOBILE]': idLead.MobilePhone,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n 'fields[PERSON_SURNAME_1]': fields.surname ? fields.surname : idLead.LastName,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname ? fields.secondSurname : idLead.MiddleName,\n 'fields[SF_LEAD_INSTALLATION_ID]': idLead.Dealership__c,\n 'fields[SF_LEAD_INSTALLATION_CODE]': installation ? installation.VGED_DealerCode__c : '',\n 'fields[SF_LEAD_INSTALLATION_NAME]': installation ?installation.VGED_CommercialName__c : '',\n 'fields[SURVEY_ANSWER_01]': dpsData.rating,\n 'fields[SURVEY_ANSWER_03]': fields.periodoContacto,\n 'fields[SURVEY_ANSWER_18]': fields.informacionUtil,\n 'fields[SURVEY_ANSWER_10]': fields.enviarConcesion,\n 'fields[SURVEY_ANSWER_11]': fields.comentario,\n 'fields[VEH_INTEREST_NEW_OR_USED]': 'New Car',\n 'fields[VEH_INTEREST_ID]': checkIdLeadHasCarline(idLead) && dealersInfo?.selectedCarline ? dealersInfo.selectedCarline.code : fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': checkIdLeadHasCarline(idLead) && dealersInfo?.selectedCarline ? dealersInfo.selectedCarline.title : fields.modelo\n\n };\n };\n\n const generatePresubmitData = () => {\n const data = generateData(LEMContactadoData);\n\n data['headers[FORM_DETAILS]'] = 'LEM Pregrabación';\n data['headers[DPS_TOKEN]'] = 'VW_DDB_FRM_LEM_ENCUESTA_PREGRABACION';\n\n return data;\n };\n\n useEffect(() => {\n if(!presubmitSent && presubmit) sendForm(true);\n }, []);\n\n const sendForm = (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n\n const data = isPresubmit ? generatePresubmitData() : generateData();\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { loading, steps, firstStep, lastStep } = useInitializeForm(stepsWithModel, idLead);\n\n useEffect(() => {\n const LEMContactadoInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n if (!loading) {\n initializeForm(LEMContactadoInfo, LEMContactadoData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? : ;\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { CarlineSelect, Email, PantallaNombreApellido, Telefono, ContactInfoWrapper, MultipleCTASelection, DetalleMotivo, LoadingEncuestas } from 'src/components';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { FormDataGroup, FormInfo, IdLead, IdPerson, OneFormState, Steps } from 'src/types';\nimport { formDataBuilder } from '../format-fields';\nimport { LEMFormProps } from './LEMController';\nimport { useInitializeForm, checkIdLeadHasCarline } from './use-initialize-lem-form';\nimport { ConfirmacionLEM, ThanKYouLEM } from 'src/forms/LEM';\n\nexport function LEMNoContactadoForm(props: LEMFormProps) {\n const { dpsData, idLead, idPerson, installation, handleError, presubmit, trackFormLoad } = props;\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const { dealersInfo }: OneFormState = store.getState();\n\n const ctasHorarios = [\n {\n label: 'Mañana',\n value: 'Mañana'\n },\n {\n label: 'Tarde',\n value: 'Tarde'\n },\n ];\n\n let index = 0;\n const stepsWithModel: Steps[] = [\n {\n title: (\n <>\n ¿Por qué modelo contactaste con tu punto de venta?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: index++,\n name: 'Modelo',\n },\n /*{\n title: (\n <>\n Para averiguar qué ha pasado, necesitamos saber quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: index++,\n name: 'NombreApellidos',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },*/\n {\n title: (\n <>\n ¿Nos podrías confirmar tus datos de contacto?\n \n ),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: index++,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n title: (\n <>\n ¿En qué horario prefieres ser contactado?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'Horario',\n },\n {\n title: (\n <>\n ¿Quieres añadir algun comentario adicional?\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'Comentario',\n },\n {\n fields: ,\n screenIndex: index++,\n name: 'Confirmacion',\n },\n ];\n\n const LEMNoContactadoData: Partial = {\n headers: {},\n fields: {\n name: idLead.FirstName,\n surname: idLead.LastName,\n secondSurname: idLead.MiddleName,\n email: idLead.Email,\n cellphone: idLead.MobilePhone,\n formName: 'lem-no_contactado',\n formType: 'otherform',\n pageCategory: 'Más Información',\n }, // Analítica\n };\n\n const generateData = (data?: Partial) => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n 'headers[DPS_TOKEN]': 'VW_DDB_FRM_LEM_ENCUESTA',\n 'headers[FK_SYSTEM]': idLead.Id,\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_DETAILS]': 'LEM No Contactado',\n 'headers[FORM_NAME]': fields.formName ? `vw-oneform-${fields.formName}` : `vw-oneform-${data.fields.formName}`,\n 'headers[FORM_OBJECTIVE]': 'Encuesta',\n 'headers[FORM_URL]': url,\n 'headers[FORM_VERSION]': fields.formName ? `vw-oneform-${fields.formName}-${process.env.VERSION}` : `vw-oneform-${data.fields.formName}-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\n 'flags[PERSON_RGPD_ADAPTED]': true,\n 'flags[FLAG_RELACION_MARCA_SIN_IC]': false,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[PERSON_EMAIL]': idLead.Email,\n 'fields[PERSON_NAME]': fields.name ? fields.name : idLead.FirstName,\n 'fields[PERSON_PHONE_MOBILE]': idLead.MobilePhone,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n 'fields[PERSON_SURNAME_1]': fields.surname ? fields.surname : idLead.LastName,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname ? fields.secondSurname : idLead.MiddleName,\n 'fields[SF_LEAD_INSTALLATION_ID]': idLead.Dealership__c,\n 'fields[SF_LEAD_INSTALLATION_CODE]': installation ? installation.VGED_DealerCode__c : '',\n 'fields[SF_LEAD_INSTALLATION_NAME]': installation ?installation.VGED_CommercialName__c : '',\n 'fields[SURVEY_ANSWER_13]': fields.horario,\n 'fields[SURVEY_ANSWER_14]': fields.comentario,\n 'fields[VEH_INTEREST_NEW_OR_USED]': 'New Car',\n 'fields[VEH_INTEREST_ID]': checkIdLeadHasCarline(idLead) && dealersInfo?.selectedCarline ? dealersInfo.selectedCarline.code : fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': checkIdLeadHasCarline(idLead) && dealersInfo?.selectedCarline ? dealersInfo.selectedCarline.title : fields.modelo\n\n };\n };\n\n const generatePresubmitData = () => {\n const data = generateData(LEMNoContactadoData);\n\n data['headers[FORM_DETAILS]'] = 'LEM Pregrabación';\n data['headers[DPS_TOKEN]'] = 'VW_DDB_FRM_LEM_ENCUESTA_PREGRABACION';\n\n return data;\n };\n\n const sendPresubmit = (): boolean => {\n\t\tif (presubmitSent || !presubmit) {\n\t\t\treturn false;\n\t\t}\n\t\tif (!checkIdLeadHasCarline(idLead) || (checkIdLeadHasCarline(idLead) && dealersInfo.selectedCarline)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t};\n\n\tuseEffect(() => {\n\t\tif (sendPresubmit()) sendForm(true);\n\t}, [dealersInfo]);\n\n const sendForm = (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n\n const data = isPresubmit ? generatePresubmitData() : generateData();\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { loading, steps, firstStep, lastStep } = useInitializeForm(stepsWithModel, idLead);\n\n useEffect(() => {\n const LEMNoContactadoInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n if (!loading) {\n initializeForm(LEMNoContactadoInfo, LEMNoContactadoData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? : ;\n}\n","import { Spinner, Text, styled } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { DomainAttributesValues } from 'src';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { CarlineBase, DealersData, IdDealer, IdLead, IdPerson } from 'src/types';\nimport { LEMContactadoForm } from './LEMContactadoForm';\nimport { LEMNoContactadoForm } from './LEMNoContactadoForm';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { checkIdLeadHasCarline } from './use-initialize-lem-form';\nimport { createPincodeEntity } from '../dps-utils';\nimport { LoadingEncuestas } from 'src/components';\nimport { getInstallations } from 'src/bff';\nimport { arrayToObject } from 'src/helpers';\n\nexport interface LEMFormProps {\n idLead: IdLead;\n idPerson: IdPerson;\n dpsData: DpsData;\n installation: IdDealer;\n handleError: () => void;\n presubmit: boolean;\n trackFormLoad: () => void;\n}\n\nexport function LEMController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [usado, setUsado] = useState(false);\n const [caducado, setCaducado] = useState(false);\n const [presubmit, setPresubmit] = useState(false);\n const [contactado, setContactado] = useState(false);\n const today = dayjs(new Date());\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idLeadRef = useRef(null);\n const idPersonRef = useRef(null);\n const [installation, setInstallation] = useState(null);\n const dispatch = useDispatch();\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const handleNext = (value: any) => {};\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setUsado(true);\n setLoading(false);\n } else {\n const idLead = createPincodeEntity(dpsData, 'LEAD') as IdLead;\n const idPerson = createPincodeEntity(dpsData, 'PERSON') as IdPerson;\n\n dpsDataRef.current = dpsData;\n idLeadRef.current = idLead;\n idPersonRef.current = idPerson;\n\n const leadCreatedDate = dayjs(idLead.CreatedDate);\n const fechaEnvio = dpsData.fe ? dayjs(atob(dpsData.fe), 'DD/MM/YYYY') : null;\n let onTime = false;\n if (fechaEnvio) {\n onTime = today.diff(fechaEnvio, 'day') < 7;\n }\n else {\n onTime = today.diff(leadCreatedDate, 'day') < 7;\n }\n\n if (dpsData.push !== 'true' && onTime) {\n setPresubmit(true);\n setContactado(dpsData.contactado === 'true');\n findInstallation();\n } \n else if (dpsData.push == 'true') {\n setContactado(dpsData.contactado === 'true');\n findInstallation();\n } \n else {\n setCaducado(true);\n }\n setLoading(false);\n }\n };\n\n // Guardamos la instalacion por Id (idLead.Dealership__c)\n const findInstallation = () => {\n getInstallations('VW_DDB_FRM_LEM_REC_LEM', 'VOLKSWAGEN_SF_LEAD_INSTALLATION').then((dealers) => {\n\t\tconst installations = dealers.map((inst) => inst.attributes);\n\t\tconst dpsData = oneFormService.getDpsData();\n\t\tconst idLead = createPincodeEntity(dpsData, 'LEAD') as IdLead;\n\n\t\tlet found = false;\n\t\tlet i = 0;\n\t\twhile (i < installations.length && !found) {\n\t\t\tconst element = installations[i].find((ele: DomainAttributesValues) => \n\t\t\t\ttypeof ele.value !== 'undefined' && \n\t\t\t\ttypeof ele.name !== 'undefined' &&\n\t\t\t\tele.name.includes('Id') && \n\t\t\t\tele.value.includes(idLead.Dealership__c)\n\t\t\t);\n\t\t\tif (element) {\n\t\t\t\tsetInstallation(arrayToObject(installations[i]));\n\t\t\t\tfound = true;\n\t\t\t}\n\t\t\ti++;\n\t\t}\n\t\tif(!found) {\n\t\t\tconsole.error('Installation not found');\n\t\t\thandleError();\n\t\t}\n });\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n if (idLeadRef.current) {\n const customDealer: DealersData = {\n kvps: idLeadRef.current.TXT_DESC_DEALER_CODE__c,\n name: idLeadRef.current.DESC_Dealer_Code__c,\n markerInfo: { dealerInfo: { zipCode: idLeadRef.current.TXT_Postal_Code__c } },\n };\n dispatch({ type: 'SET_SELECTED_DEALER', payload: customDealer });\n }\n\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n // función para layer de error\n const handleTryAgain = async () => {\n // oneFormService.\n setError(false);\n setLoading(true);\n await oneFormService.retryPincodeLoad(true);\n handleComplete();\n };\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else if (caducado) {\n return (\n <>\n \n \n );\n } else if (usado) {\n return (\n <>\n \n \n );\n } else if(installation) {\n return (\n <>\n {contactado ? (\n \n ) : (\n \n )}\n \n );\n }\n else {\n return ;\n }\n}\n","import { Breakpoints, styled, Text, TokenTextAppearance, Layout } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { OneFormState } from 'src/types';\nimport { LssiTkmQuestions, PoliticaPrivacidad, LastNavigation } from 'src/components';\nimport { useDispatch, useSelector } from 'react-redux';\n\nconst GeneralconfirmacionWrapper = styled.div`\n \n`;\nconst ContentWrapper = styled.div`\n min-height: calc(100vh - 227px);\n width: 100%;\n display: flex;\n align-items: center;\n @media all and (min-width: 960px) {\n min-height: calc(100vh - 227px);\n }\n .content-wrapper {\n width: 100%;\n }\n`;\n\nexport const ConfirmacionLEM = () => {\n const dispatch = useDispatch();\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const [lssiPincode, setLssiPincode] = useState('PERMITE');\n\n /*useEffect(() => {\n if (fields) {\n setLssiPincode(fields.lssiPincode);\n }\n }, [fields]);\n\n useEffect(() => {\n if (lssiPincode === 'PERMITE') {\n dispatch({ type: 'UPDATE_FIELDS', payload: { lssi: 'NO INFORMADO', tkm: 'NO INFORMADO' } });\n } \n }, [lssiPincode]);*/\n\n return (\n \n \n \n
\n {lssiPincode === 'PERMITE' ? (\n
\n \n ¿Listo para enviar?\n \n
\n ) : (\n \n Mantente al día\n \n )}\n\n {lssiPincode === 'PERMITE' ? null : (\n \n )}\n \n\n \n
\n
\n \n {lssiPincode === 'PERMITE' ? (\n null\n ) : (\n null\n )}\n
\n );\n};\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm} from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThanKYouLEM = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useInitializeLeadForm } from '../use-initialize-lead-form';\nimport { FormInfo } from 'src/types';\nimport { LeadGenericoForm, LeadsFormsProps } from '../LeadGenericoForm';\nimport {\n CanalDeContacto,\n CarlineSelect,\n ContactInfoWrapper,\n PantallaNombreApellido,\n Email,\n Telefono,\n ConsentQuestion\n} from 'src/components';\nimport { ConfirmacionLeadsNoQuestions } from 'src/forms';\nimport { OneElementTemplate, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { MapaLeads } from 'src/forms/Leads';\nimport { Steps } from 'src/types';\nimport { Text } from '@volkswagen-onehub/components-core';\nimport { leadsCitaVentaData, leadsCitaVentaDealerData } from '.';\nimport { MapaLeadsInPage, partialDataCitaConfigurador } from 'src/forms/LeadsInPage';\n\n\nconst getMapaFields = (inPage: boolean) => {\n if (inPage === true) {\n return ;\n } else {\n return ;\n }\n};\n\nenum CitaVentaSteps {\n Mapa,\n Modelo,\n NombreApellido,\n Contacto,\n EmailTelefono,\n Confirmacion,\n}\n\n\nexport function CitaVentaForm({ inPage, isConfigurador, isLeadDealer }: LeadsFormsProps) {\n const [partialData, setPartialData] = useState(null);\n\n useEffect(() => {\n if (isLeadDealer) {\n setPartialData(leadsCitaVentaDealerData);\n } else {\n setPartialData(leadsCitaVentaData);\n }\n }, []);\n\n const defaultSteps: Steps[] = [\n isLeadDealer ? null :\n {\n screenIndex: CitaVentaSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: getMapaFields(inPage),\n },\n {\n title: (\n <>\n ¿{isLeadDealer ? \"Qué \" : \"Y qué \"}modelo te interesa?\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: CitaVentaSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n {\n title: (\n <>\n Para poder preparar tu visita, necesitamos saber quién eres\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: CitaVentaSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n ¿Cómo prefieres que contactemos contigo?\n *\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: CitaVentaSteps.Contacto,\n name: 'Contacto',\n outputs: ['contacto'],\n outputsText: ['contacto'],\n },\n {\n title: (\n <>\n Para ello necesitaremos tus datos de contacto\n \n ),\n fields: (\n <>\n {inPage ?\n \n \n \n \n }\n />\n :\n \n \n \n \n }\n />\n }\n \n ),\n screenIndex: CitaVentaSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n fields: ,\n name: 'lssi',\n outputs: ['lssi'],\n },\n {\n fields: ,\n name: 'tmk',\n outputs: ['tmk'],\n },\n {\n fields: ,\n isLastStep: true,\n hidePreviousStep: true,\n name: 'Confirmacion',\n },\n ];\n const filteredSteps = defaultSteps.filter((step) => step !== null);\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm(filteredSteps, false, inPage);\n\n const citaVentaInfo: Partial = {\n numberOfScreens: steps.length,\n };\n\n return loading ? null : (\n \n );\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const leadsCitaVentaData: Partial = {\n headers: { FORM_OBJECTIVE: 'Cita' },\n fields: {\n formFields: { COMMENTS_BRAND: 'Petición para reservar una cita en el punto de venta.' },\n formularioFlag: 'prospect',\n formName: 'lead-cita',\n formType: 'contact',\n pageCategory: 'Cita',\n },\n};\n\nexport const leadsCitaVentaDealerData: Partial = {\n headers: { FORM_OBJECTIVE: 'Cita' },\n fields: {\n formFields: { COMMENTS_BRAND: 'Petición para reservar una cita en el punto de venta.' },\n formularioFlag: 'prospect',\n formName: 'lead-cita-dealer',\n formType: 'contact',\n pageCategory: 'Cita',\n },\n};\n","import { Breakpoints, Container, ContainerGutter, ContainerPadding, Layout, Text, TextAlignment, TokenTextAppearance, styled } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useSelector, useStore } from 'react-redux';\nimport { GeneralConfirmacionLayerWrapper, LastNavigation, LegalesFormatoLayer, PoliticaPrivacidad } from 'src/components';\nimport { OneFormState } from 'src/types';\nimport { formatCalculatedLegal, removePTags } from './helpers';\nimport icon from './icon.svg';\n\nconst PoliticaWrapper = styled.div`\n\twidth: 100%;\n\tdisplay: flex;\n\tjustify-content: center;\n`;\n\nexport const ConfirmacionLeadsNoQuestions = () => {\n\tconst { formInfo } = useSelector((state: OneFormState) => state);\n\tconst isLayer = formInfo?.formType === 'layer' || !formInfo?.notALayer;\n\tconst store = useStore();\n\tconst { dealersInfo }: OneFormState = store.getState();\n\tconst { oferta } = dealersInfo;\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t
\n\t\t\t\t\t\t\"icon\"\n\t\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t¿Listo para enviar?\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t
\n\t\t\t\t\n\t\t\t\t{isLayer && (\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\tTexto legal de Volkswagen\n\t\t\t\t\t\t\n\t\t\t\t\t\t{oferta && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{oferta.calculatedFinance?.rawResponse ? (\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t{formatCalculatedLegal(oferta.calculatedFinance.rawResponse.Response.Parameters.GlobalDisclaimer)}\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t{removePTags(oferta.legal)}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t\t{removePTags(oferta.cuotaLegal)}\n\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t;\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t)}\n\t\t\t\n\t\t
\n\t);\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { MultipleCTASelection } from 'src/components/inputs/MultipleCTASelection';\nimport {\n\tFormController,\n\tremoveWhiteSpace,\n\tuseFaContent,\n\tuseGetInstalaciones,\n\tuseGetWaidLitera,\n\tuseOneFormContext\n} from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { OneElementTemplate } from 'src/feature-app/Screen/Templates';\nimport {\n\tCarlineBase,\n\tFormDataGroup,\n\tFormDataHeaders,\n\tFormInfo,\n\tOneFormState,\n\tSteps,\n} from 'src/types';\nimport { ThankYouLeads } from '.';\nimport { formatFields, formatFlags, formatHeaders, formDataBuilder, getDpsFields } from '../format-fields';\nimport { getIndexInSteps, removeStep, resetStepsScreenIndex } from '../helpers/add-remove-steps';\nimport {\n\tgetConfiguradorComercialesData,\n\tgetDescInterestCarline,\n\tgetOfertasComercialesData\n} from './helpers';\nimport { LeadGenericoFormProps } from './LeadGenericoForm';\n\nconst isOfertasForm = (formName: string) => formName === 'lead-oferta';\nconst getDescFormObjective = (formName: string, carline: CarlineBase, headers: FormDataHeaders) =>\n isOfertasForm(formName) && carline?.campaign?.dfo?.ofertas\n ? carline.campaign.dfo.ofertas\n : headers.DESC_FORMOBJECTIVE;\n\nconst getSfCampaignName = (formName: string, carline: CarlineBase) => {\n\tif (isOfertasForm(formName) && carline?.campaign?.salesforce) {\n\t\tconst sfCampaignName = [];\n\t\tsfCampaignName[\"headers[SF_CAMPAIGN_NAME]\"]=carline?.campaign?.salesforce;\n\t\treturn { ...sfCampaignName };\n\t}\n\treturn null;\n\t};\n\nexport const horarioContactoOptions = [\n {\n value: 'Mañana',\n detallesPrevStep: 'Por la mañana',\n label: 'Por la mañana',\n },\n {\n value: 'Mediodia',\n detallesPrevStep: 'Al mediodía',\n label: 'Al mediodía',\n },\n {\n value: 'Tarde',\n detallesPrevStep: 'Por la tarde',\n label: 'Por la tarde',\n },\n {\n value: 'A cualquier hora',\n detallesPrevStep: 'A cualquier hora',\n label: 'A cualquier hora',\n },\n];\n\nconst stepHorario = {\n title: (\n <>\n ¿Cúando prefieres que te llamemos?\n *\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: 100, // Se reiniciará más adelante\n name: 'HorarioContacto',\n outputs: ['horarioContacto'],\n outputsText: ['horarioContacto'],\n};\n\nexport function LeadGenericoComercialesForm({ steps, leadData, leadInfo, firstStep, lastStep }: LeadGenericoFormProps) {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const { contacto } = useSelector((state: OneFormState) => state.formData.fields);\n const store = useStore();\n const installations = useGetInstalaciones('LCV_DDB_FRM_LEM_REC_LEM', 'LCV_SF_LEAD_INSTALLATION'); // llama al metodo getInstallations()\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n const faContent = useFaContent();\n const waid = useGetWaidLitera();\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields, headers, flags } = formData;\n const { selectedInstallation, salesGroup, selectedCarline } = dealersInfo;\n\n const {\n VGED_CommercialName__c,\n ShippingStreet,\n VGED_DealerCode__c,\n ShippingStateCode,\n KVPSCode__c,\n Id\n } = selectedInstallation;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n ...formatHeaders(headers), // Headers comunes a todos los formularios de leads\n\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_URL]': url,\n 'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n 'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[FORM_OBJECTIVE]': getDescFormObjective(fields.formName, selectedCarline, headers),\n\t\t...getSfCampaignName(fields.formName, dealersInfo?.selectedCarline),\n\n ...formatFlags(flags), // Flags comunes a todos los formularios de leads\n ...formatFields(fields.formFields), // Fields comunes a todos los formularios de leads\n\n 'fields[DPS_BRAND]': 'Volkswagen CV',\n 'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n 'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n\t\t\t\t'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Contact Center Qualification',\n 'fields[PERSON_EMAIL]': removeWhiteSpace(fields.email),\n 'fields[PERSON_NAME]': fields.name,\n 'fields[PERSON_PHONE_MOBILE_FULL]': `${fields.prefix}${fields.cellphone}`,\n 'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n 'fields[PERSON_PHONE_PREFIX]': fields.prefix,\n 'fields[PERSON_PREFERRED_CHANNEL]': fields.contacto,\n 'fields[PERSON_PREFERRED_SLOT]': fields.contacto === 'Teléfono' ? fields.horarioContacto : undefined,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk,\n 'fields[PERSON_SURNAME_1]': fields.surname,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname,\n 'fields[SF_LEAD_INSTALLATION_ADDRESS]': ShippingStreet,\n 'fields[SF_LEAD_INSTALLATION_CODE]': VGED_DealerCode__c,\n 'fields[SF_LEAD_INSTALLATION_ID]': Id,\n 'fields[SF_LEAD_INSTALLATION_NAME]': VGED_CommercialName__c,\n 'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': ShippingStateCode.toString().padStart(2, '0'),\n 'fields[VEH_INTEREST_FUEL]': getDescInterestCarline(dealersInfo, fields.modelo).includes('ID.') ? 'Electric' : 'Undefined',\n 'fields[VEH_INTEREST_BRAND]': 'Volkswagen CV',\n 'fields[VEH_INTEREST_ID]': dealersInfo?.selectedCarline?.code,\n 'fields[VEH_INTEREST_MODEL]': getDescInterestCarline(dealersInfo, fields.modelo),\n 'fields[VEH_INTEREST_SALESGROUP]': salesGroup?.salesGroupName,\n 'fields[VEH_INTEREST_SALESGROUP_ID]': salesGroup?.salesGroupId,\n 'fields[VEH_INTEREST_NEW_OR_USED]': 'New Car',\n 'fields[VEH_INTEREST_LINK]': url,\n ...getDpsFields(faContent),\n //...getSalesGroup(salesGroup),\n //...getHorario(fields.horario),\n\n ...(await getOfertasComercialesData(formData, dealersInfo)),\n //...(await getMatchData(formData, dealersInfo, faContent)), Match no disponible en LCV\n ...(await getConfiguradorComercialesData(formData)),\n\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formDataInfo = formDataBuilder(dataParsed);\n // const response = await dpsSend(formDataInfo);\n const response = await oneformBFFNdpsSend(formDataInfo);\n\n if (response && response.data && response.data.status && response.data.status.code && response.data.status.code == '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n const updateSteps = (steps: Steps[]) => {\n dispatch({ type: 'UPDATE_STEPS', payload: steps });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: steps[steps.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: steps.length });\n };\n\n useEffect(() => {\n if (contacto === 'Teléfono' || contacto === 'Telefono') {\n const indexOfContacto = getIndexInSteps(steps, 'Contacto');\n const newSteps = [...steps];\n newSteps.splice(indexOfContacto + 1, 0, stepHorario);\n const finalSteps = resetStepsScreenIndex(newSteps);\n\n updateSteps(finalSteps);\n handleNextStep();\n } else if (contacto === 'Email') {\n const { steps } = store.getState().formInfo;\n const indexOfContacto = getIndexInSteps(steps, 'HorarioContacto');\n\n if (indexOfContacto === -1) {\n return;\n } else {\n const newSteps = removeStep(steps, 'HorarioContacto');\n const finalSteps = resetStepsScreenIndex(newSteps);\n\n updateSteps(finalSteps);\n }\n }\n }, [contacto]);\n\n const leadGenericoData: Partial = {\n headers: {\n // DESC_CAMPAIGNBLOCK: '9. VW LEM',\n FK_SYSTEM: 'LCV_DDB_FRM_LEM_REC_LEM',\n DPS_TOKEN: 'LCV_DDB_FRM_LEM_REC_LEM',\n FORM_ID: waid ? waid : '',\n ...leadData.headers,\n },\n flags: {\n PERSON_RGPD_ADAPTED: 'true',\n FLAG_IS_MYSTERY_LEAD: 'false',\n FLAG_RELACION_MARCA_SIN_IC: 'false',\n FLAG_SF_INTEGRATION: 'true',\n FLAG_IS_COMPANY: 'false'\n },\n fields: { ...leadData.fields },\n };\n\n const leadGenericoInfo: Partial = {\n formStarted: true,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n sendFormCallback: sendForm,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps,\n notALayer: false,\n stepsHistory: [steps[0].screenIndex],\n thankYouComponent: ,\n ...leadInfo,\n };\n\n useEffect(() => {\n initializeForm(leadGenericoInfo, leadGenericoData);\n setLoading(false);\n }, []);\n\n return loading ? null : ;\n}\n","import React from 'react';\nimport { useGetBrand } from 'src/feature-app/hooks';\nimport { LeadGenericoComercialesForm } from './LeadGenericoComercialesForm';\nimport { LeadGenericoForm, LeadGenericoFormProps } from './LeadGenericoForm';\n\nexport const LeadGenericoController = (props: LeadGenericoFormProps) => {\n const brand = useGetBrand();\n\n return brand === 'V' ? : brand === 'N' ? : null;\n};\n","import { OneFormContent } from 'src/feature-app';\nimport { CalculatorDefaultResponse, CalculatorFormatedSummaries } from 'src/types';\nimport { formatHeaders } from '../../format-fields';\n\nexport const getFinanceCalculation = async (faContent: OneFormContent) => {\n\tif (faContent.financeCalculation != undefined) {\n\t\tconst calculatedFinanceRaw = faContent.financeCalculation as CalculatorDefaultResponse['rawResponse'];\n\t\tconst formatedSummaries = formatSummaries(calculatedFinanceRaw);\n\n\t\tconst headers = {\n\t\t\tFORM_NAME: 'vw-oneform-lead-oferta',\n\t\t};\n\n\t\tconst ofertaCalculatedFields = {\n\t\t\t'fields[VEH_INTEREST_FINANCIAL_PRODUCT]': calculatedFinanceRaw.Response.Parameters.Description,\n\t\t\t'fields[VEH_INTEREST_OFFER_PRICE]': `${formatedSummaries.Full.Rate.Value + '€/mes'}`,\n\t\t\t'fields[VEH_INTEREST_OFFER_DETAIL]': formatOfferDetail(formatedSummaries, calculatedFinanceRaw.Response.Parameters.Description),\n\t\t};\n\t\treturn { ...formatHeaders(headers), ...ofertaCalculatedFields };\n\t}\n\treturn null;\n};\n\nexport function formatSummaries(response: CalculatorDefaultResponse['rawResponse']): CalculatorFormatedSummaries | undefined {\n\tconst Summaries = response?.Response?.Result?.Summaries?.Summary.reduce((acc: any, detail: any) => {\n\t\tacc[detail['@Type']] = detail;\n\t\treturn acc;\n\t}, {});\n\n\tif (!Summaries) return undefined;\n\n\tObject.keys(Summaries).forEach((key) => {\n\t\tconst summary = Summaries[key];\n\t\tconst details = summary?.DetailGroups?.DetailGroup?.Details?.Detail;\n\n\t\tif (details) {\n\t\t\tconst detailsArray = Array.isArray(details) ? details : [details];\n\t\t\tSummaries[key] = detailsArray.reduce((acc, detail) => {\n\t\t\t\tacc[detail['@ID']] = detail;\n\t\t\t\treturn acc;\n\t\t\t}, {});\n\t\t}\n\t});\n\n\treturn Summaries;\n}\nexport function formatOfferDetail(formatedSummaries: CalculatorFormatedSummaries, financialProduct: string): string {\n\treturn `${financialProduct == 'My Way' ? 'Financiación ' + financialProduct : financialProduct} calculada por el usuario` + `\\r\\n* Entrada inicial: ${formatedSummaries.Full.DownPayment.Value} €` + `\\r\\n* Meses de financiación: ${formatedSummaries.Full.Duration.Value} Meses` + `${formatedSummaries.Full.Kilometers?.Value ? `\\r\\n* Kilómetros anuales: ${formatedSummaries.Full.Kilometers.Value} km` : ''}` + `\\r\\n* Cuota: ${formatedSummaries.Full.Rate.Value} €` + `${formatedSummaries.Full.FinalRate?.Value ? `\\r\\n* Cuota Final (Opcional): ${formatedSummaries.Full.FinalRate.Value} €` : ''}`;\n}\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { FormController, removeWhiteSpace, useFaContent, useFeatureAppConfig, useGetInstalaciones, useGetWaidLitera, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { CarlineBase, FormDataGroup, FormDataHeaders, FormInfo, Horario, OneFormState, Steps } from 'src/types';\nimport { ThankYouLeads } from '.';\nimport { formatFields, formatFlags, formatHeaders, formDataBuilder, getDpsFields } from '../format-fields';\nimport { getConfiguradorData, getDescInterestCarline, getMatchData, getOfertasData } from './helpers';\nimport { getFinanceCalculation } from './helpers/get-financeCalculation';\n\nexport enum LeadGenerico {\n\tEmpezar,\n\tMapa,\n\tModelo,\n\tNombreApellido,\n\tEmailTelefono,\n\tContacto,\n\tConfirmacion,\n}\n\nexport interface LeadGenericoFormProps {\n\tsteps: Steps[];\n\tleadData: Partial;\n\tleadInfo: Partial;\n\tfirstStep: Steps;\n\tlastStep: Steps;\n\tinPage?: boolean;\n\tisConfigurador?: boolean;\n}\n\nexport interface LeadsFormsProps {\n\tinPage?: boolean;\n\tisConfigurador?: boolean;\n\tisLeadDealer?: boolean;\n\tisOfertasOrMatch?: boolean;\n\tupdatedFormData?: Partial;\n\tupdatedFormInfo?: Partial;\n}\n\nexport const isOfertasForm = (formName: string) => formName === 'lead-oferta';\nconst getDescFormObjective = (formName: string, carline: CarlineBase, headers: FormDataHeaders) => (isOfertasForm(formName) && carline?.campaign?.dfo?.ofertas ? carline.campaign.dfo.ofertas : headers.FORM_OBJECTIVE);\n\nconst getSfCampaignName = (formName: string, carline: CarlineBase) => {\n\tif (isOfertasForm(formName) && carline?.campaign?.salesforce) {\n\t\tconst sfCampaignName = [];\n\t\tsfCampaignName['headers[SF_CAMPAIGN_NAME]'] = carline?.campaign?.salesforce;\n\t\treturn { ...sfCampaignName };\n\t}\n\treturn null;\n};\n\nconst getFormDetails = (callCenterCampaign: string) => {\n\tif (callCenterCampaign) {\n\t\tconst formDetails = [];\n\t\tformDetails['headers[FORM_DETAILS]'] = callCenterCampaign;\n\t\treturn { ...formDetails };\n\t}\n\treturn null;\n};\n\nexport function LeadGenericoForm({ steps, leadData, leadInfo, firstStep, lastStep, inPage, isConfigurador }: LeadGenericoFormProps) {\n\tconst { initializeForm } = useOneFormContext();\n\tconst store = useStore();\n\tconst config = useFeatureAppConfig();\n\tconst installations = useGetInstalaciones('VW_DDB_FRM_LEM_REC_LEM', 'VOLKSWAGEN_SF_LEAD_INSTALLATION'); // llama al metodo getInstallations()\n\tconst dispatch = useDispatch();\n\tconst [loading, setLoading] = useState(true);\n\tconst faContent = useFaContent();\n\tconst waid = useGetWaidLitera();\n\n\tconst getHorario = (horario: Horario) => {\n\t\tlet horarioField = null;\n\n\t\tif (horario) {\n\t\t\tconst horarioFormatted = horario === 'morning' ? 'MANANA' : horario === 'evening' ? 'MEDIODIA' : 'TARDE';\n\n\t\t\thorarioField = { 'fields[PERSON_PREFERRED_SLOT]': horarioFormatted };\n\t\t}\n\t\treturn horarioField;\n\t};\n\n\tconst sendForm = (): Promise => {\n\t\tconst { formData, dealersInfo }: OneFormState = store.getState();\n\t\tconst { fields, headers, flags } = formData;\n\t\tconst { selectedInstallation, salesGroup, selectedCarline } = dealersInfo;\n\n\t\tconst { VGED_CommercialName__c, ShippingStreet, VGED_DealerCode__c, ShippingStateCode, KVPSCode__c, Id } = selectedInstallation;\n\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst { tc, today, referalUrl, url, device } = getParamsForm();\n\n\t\t\tconst data = {\n\t\t\t\t...formatHeaders(headers), // Headers comunes a todos los formularios de leads\n\n\t\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t\t'headers[FORM_URL]': url,\n\t\t\t\t'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n\t\t\t\t'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\t\t\t\t'headers[FORM_OBJECTIVE]': fields.formObjective ? fields.formObjective : getDescFormObjective(fields.formName, selectedCarline, headers),\n\t\t\t\t...getSfCampaignName(fields.formName, dealersInfo?.selectedCarline),\n\t\t\t\t...getFormDetails(fields.callCenterCampaign),\n\n\t\t\t\t...formatFlags(flags), // Flags comunes a todos los formularios de leads\n\t\t\t\t...formatFields(fields.formFields), // Fields comunes a todos los formularios de leads\n\n\t\t\t\t'fields[DPS_BRAND]': 'Volkswagen',\n\t\t\t\t'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n\t\t\t\t'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n\t\t\t\t'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Direct to Sales Assistant',\n\t\t\t\t'fields[PERSON_EMAIL]': removeWhiteSpace(fields.email),\n\t\t\t\t'fields[PERSON_TREATMENT]': fields.trato,\n\t\t\t\t'fields[PERSON_NAME]': fields.name,\n\t\t\t\t'fields[PERSON_PHONE_MOBILE_FULL]': `${fields.prefix}${fields.cellphone}`,\n\t\t\t\t'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n\t\t\t\t'fields[PERSON_PHONE_PREFIX]': fields.prefix,\n\t\t\t\t'fields[PERSON_POSTAL_CP]': fields.postalCode,\n\t\t\t\t'fields[PERSON_PREFERRED_CHANNEL]': fields.contacto,\n\t\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n\t\t\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk,\n\t\t\t\t'fields[PERSON_SURNAME_1]': fields.surname,\n\t\t\t\t'fields[PERSON_SURNAME_2]': fields.secondSurname,\n\t\t\t\t'fields[SF_LEAD_INSTALLATION_ADDRESS]': ShippingStreet,\n\t\t\t\t'fields[SF_LEAD_INSTALLATION_CODE]': VGED_DealerCode__c,\n\t\t\t\t'fields[SF_LEAD_INSTALLATION_ID]': Id,\n\t\t\t\t'fields[SF_LEAD_INSTALLATION_NAME]': VGED_CommercialName__c,\n\t\t\t\t'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': ShippingStateCode.toString().padStart(2, '0'),\n\t\t\t\t'fields[VEH_INTEREST_FUEL]': getDescInterestCarline(dealersInfo, fields.modelo).includes('ID.') ? 'Electric' : 'Undefined',\n\t\t\t\t'fields[VEH_INTEREST_BRAND]': 'Volkswagen',\n\t\t\t\t'fields[VEH_INTEREST_ID]': dealersInfo?.selectedCarline?.code,\n\t\t\t\t'fields[VEH_INTEREST_MODEL]': getDescInterestCarline(dealersInfo, fields.modelo),\n\t\t\t\t'fields[VEH_INTEREST_SALESGROUP]': salesGroup?.salesGroupName,\n\t\t\t\t'fields[VEH_INTEREST_SALESGROUP_ID]': salesGroup?.salesGroupId,\n\t\t\t\t'fields[VEH_INTEREST_NEW_OR_USED]': 'New Car',\n\t\t\t\t'fields[VEH_INTEREST_LINK]': inPage ? referalUrl : url,\n\t\t\t\t'fields[COMMENTS_PERSON]': fields.comments,\n\t\t\t\t'fields[COMMENTS_CONTACT_CENTER]': fields.commentsCC,\n\t\t\t\t...getDpsFields(faContent),\n\t\t\t\t//...getSalesGroup(salesGroup),\n\t\t\t\t...getHorario(fields.horario),\n\n\t\t\t\t...(await getOfertasData(formData, dealersInfo)),\n\t\t\t\t...(await getMatchData(formData, dealersInfo, faContent)),\n\t\t\t\t...(await getConfiguradorData(formData)),\n\t\t\t\t...(await getFinanceCalculation(faContent)),\n\t\t\t};\n\t\t\tconst dataStringified = JSON.stringify(data);\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\n\t\t\tconst formDataInfo = formDataBuilder(dataParsed);\n\t\t\t// const response = await dpsSend(formDataInfo);\n\t\t\tconst response = await oneformBFFNdpsSend(formDataInfo);\n\n\t\t\tif (response && response.data && response.data.status && response.data.status.code && response.data.status.code == '200') {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst leadGenericoData: Partial = {\n\t\theaders: {\n\t\t\t// DESC_CAMPAIGNBLOCK: '9. VW LEM',\n\t\t\tFK_SYSTEM: 'VW_DDB_FRM_LEM_REC_LEM',\n\t\t\tDPS_TOKEN: 'VW_DDB_FRM_LEM_REC_LEM',\n\t\t\tFORM_ID: waid ? waid : 'B09C01_LEM_WA1',\n\t\t\t...leadData.headers,\n\t\t},\n\t\tflags: {\n\t\t\tPERSON_RGPD_ADAPTED: 'true',\n\t\t\tFLAG_IS_MYSTERY_LEAD: 'false',\n\t\t\tFLAG_RELACION_MARCA_SIN_IC: 'false',\n\t\t\tFLAG_SF_INTEGRATION: 'true',\n\t\t\tFLAG_ALLOWS_DATA_ENRICHMENT: 'false',\n\t\t\t// FLAG_ISQUALIFIED: 'false',\n\t\t\t// FLAG_MAILRECEPCIONLEAD: 'true',\n\t\t\t// REQUIERE_CONTACTO_DEALER: 'false',\n\t\t},\n\t\tfields: {\n\t\t\t...leadData.fields,\n\t\t},\n\t};\n\n\tconst leadGenericoInfo: Partial = {\n\t\tformStarted: true,\n\t\tfullScreen: firstStep.fullScreen ? true : false,\n\t\tlastStep,\n\t\tsendFormCallback: sendForm,\n\t\tnumberOfScreens: steps.length,\n\t\tscreenIndex: firstStep.screenIndex,\n\t\tstep: firstStep,\n\t\tsteps,\n\t\tstepsHistory: [steps[0].screenIndex],\n\t\tthankYouComponent: ,\n\t\tnotALayer: inPage ? true : false,\n\t\tformTheme: inPage ? 'main' : 'inverted',\n\t\tformType: inPage ? 'inPage' : 'layer',\n\t\t...leadInfo,\n\t};\n\n\tuseEffect(() => {\n\t\tinitializeForm(leadGenericoInfo, leadGenericoData);\n\t\tsetLoading(false);\n\t}, []);\n\n\treturn loading ? null : ;\n}\n","import { Breakpoints, BreakpointWrapper } from '@volkswagen-onehub/components-core';\nimport { FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useMapGeneralController,\n sortPoints,\n useOneFormContext,\n useFeatureServices,\n NewDealerCard,\n} from 'src/feature-app';\nimport { LoadingLayer } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { Horario, OneFormState, Points } from 'src/types';\nimport { fetchProvince, fetchProvinceLegacy } from 'src/bff';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport {\n getDistanceFromLatLngCenter,\n LayerDesktopView,\n LayerMobileView\n} from 'src/feature-app/NewMap';\n\nexport const JourneyLeadsController = () => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n const { handleNextStep } = useOneFormContext();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const dispatch = useDispatch();\n const env = useFeatureAppEnvironment();\n const [loading, setLoading] = useState(false);\n const pointsByDistanceRef = useRef(null);\n const isComerciales = useIsComerciales();\n\n const loadingLayer = useRef(null);\n const {\n clusters,\n centerToCalculateDistance,\n superClusterRef,\n cardsDistanceRef,\n } = useMapGeneralController();\n\n const [pointsToList, setPointsToList] = useState(null);\n\n useEffect(() => {\n if (clusters && superClusterRef.current) {\n const { pointsByDistance } = sortPoints(\n clusters,\n horario,\n centerToCalculateDistance.current,\n superClusterRef.current\n );\n pointsByDistanceRef.current = pointsByDistance;\n setPointsToList(pointsByDistance);\n }\n }, [clusters, superClusterRef.current]);\n\n const renderPoints = (points: Points[]): JSX.Element[] => {\n\n return points.map((point: Points, index: number) => {\n if (!point.properties.cluster) {\n const { dealer } = point.properties;\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return (\n {\n cardsDistanceRef.current[index] = el;\n }}\n >\n \n \n );\n }\n return null;\n });\n };\n\n // Gestión del point seleccionado y del boton de seleccionar (dms)\n const handleSeleccionarOnClick = useCallback((point: Points) => {\n // Añadir lógica para guardar el dealer seleccionado\n dispatch({ type: 'SET_SELECTED_INSTALLATION', payload: point.properties.installation });\n // Necesitamos el nombre de la provincia, y éste no está disponible en la request de instalaciones.\n if(isComerciales) {\n fetchProvince('LCV_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n else {\n fetchProvince('VW_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n\n handleNextStep();\n }, []);\n\n const renderLoadingLayer = () => {\n return (\n \n \n \n );\n };\n\n const handleLoadingLayer = () => {\n if (loading) {\n const layer = layerManager.openFocusLayer(renderLoadingLayer, {}, { size: FocusLayerSizeV2.A });\n loadingLayer.current = layer;\n } else {\n if (loadingLayer.current) {\n loadingLayer.current.close();\n loadingLayer.current = null;\n }\n }\n };\n\n useEffect(() => {\n handleLoadingLayer();\n }, [loading]);\n\n // availability functions\n\n return (\n
\n \n \n \n\n \n \n \n
\n );\n};\n","import React from 'react';\nimport { JourneyLeadsController } from './';\nimport { MapGeneralController } from 'src/feature-app';\n\n/**\n * Este componente está creado únicamente para que JourneyLeadsController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyLeadsWrapper = () => {\n return (\n \n \n \n );\n};\n","\nimport React, { useEffect, useState } from 'react';\nimport { Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { MultipleCTASelection } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app';\nimport { RenderController, OneElementTemplate } from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { LocateUser } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { DealersData, OneFormState, Steps } from 'src/types';\nimport { JourneyLeadsWrapper } from './JourneyLeadsWrapper';\nimport { CTAsHorario } from 'src/feature-app/InputsValues';\n\nenum MapaLeadsSteps {\n Dealer,\n Horario,\n SeleccionCita,\n SeleccionFecha,\n}\n\ninterface MapaLeadsProps {\n showHorario?: boolean;\n formName: string;\n}\n\nconst renderTitle = (formName: string) => {\n return (\n <>\n {formName === 'presupuesto' || formName === 'masInformacion' || formName === 'oferta' ? (\n \n {' '}\n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ) : (\n <>\n {formName === 'testDrive' ? (\n \n {' '}\n ¿Dónde prefieres{' '}\n \n provarlo?*\n \n \n ) : (\n \n {' '}\n ¿A dónde quieres{' '}\n \n ir?*\n \n \n )}\n \n )}\n \n );\n};\n\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport function MapaLeads(props: MapaLeadsProps) {\n const { formName, showHorario } = props;\n const dispatch = useDispatch();\n const store = useStore();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { dealer }: { dealer?: DealersData } = formData.fields;\n const { firstMapLoad, multiStepScreenIndex, navigationMovingForward } = formInfo;\n\n const {\n handleScreenChange,\n // setWaitForNextStep,\n setNextMultiStep,\n setNextMultiStepScreenIndex,\n setPreviousMultiStep,\n setWaitForPreviousStep,\n waitForPreviousStep,\n // waitForNextStep,\n setIsFullScreen,\n setShowPreviousStep,\n } = useOneFormContext();\n\n let stepsHorario: Steps[] = [\n {\n title: <>{renderTitle(formName)},\n fields: ,\n screenIndex: MapaLeadsSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: MapaLeadsSteps.Horario,\n name: 'MapSlotPref',\n title: (\n <>\n ¿Cúando prefieres pasar por el{' '}\n \n punto de venta?*\n \n \n ),\n fields: (\n } />\n ),\n outputs: ['horario'],\n outputsText: ['horario'],\n },\n {\n screenIndex: MapaLeadsSteps.SeleccionCita,\n name: 'MapSelect',\n alternateTitle: (\n <>\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n {formName === 'presupuesto' ?\n (\n
\n Los encargados de elaborar un presupuesto son los asesores de la red de Concesionarios Oficial Volkswagen. Elige uno y le enviaremos tu petición para que te haga una propuesta a medida.{' '}\n
\n )\n : null\n }\n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n let stepsWithoutHorario: Steps[] = [\n {\n title: (\n <>\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n {formName === 'presupuesto' ?\n (\n
\n Los encargados de elaborar un presupuesto son los asesores de la red de Concesionarios Oficial Volkswagen. Elige uno y le enviaremos tu petición para que te haga una propuesta a medida.{' '}\n
\n )\n : null\n }\n \n ),\n fields: ,\n screenIndex: MapaLeadsSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: 1,\n name: 'MapSelect',\n alternateTitle: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n const steps = showHorario ? stepsHorario : stepsWithoutHorario;\n const [selectedStep, setSelectedStep] = useState(null);\n\n /**\n * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n */\n const onMapLoad = () => {\n handleFirstLoad();\n };\n\n const handleFirstLoad = async () => {\n if (firstMapLoad) {\n // Inicialización\n initializeMultiStep();\n } else {\n if (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n // Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n initializeMultiStep();\n } else {\n // En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n const newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n // Lo mismo para previous, solo le desactivamos si estamos en la primera.\n const newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n updateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n updateScreenChangeVariables(multiStepScreenIndex);\n\n setTimeout(() => {\n setShowPreviousStep(false);\n }, TIME_FOR_TRANSFORM);\n }\n }\n setNextMultiStep(() => nextMapaLeads);\n setPreviousMultiStep(() => previousMapaLeads);\n };\n\n const initializeMultiStep = () => {\n updateWaitForNextAndPreviousStep(true, false);\n updateScreenChangeVariables(0);\n };\n\n const updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n if (waitForNextStep !== null) {\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep });\n }\n if (waitForPreviousStep !== null) {\n setWaitForPreviousStep(waitForPreviousStep);\n }\n };\n\n const nextMapaLeads = () => {\n const { multiStepScreenIndex } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Una vez avanzamos dentro de los multisteps se activa el wait\n // previous step para volver hacia atrás dentro del propio multistep.\n if (!waitForPreviousStep || multiStepScreenIndex === 0) {\n updateWaitForNextAndPreviousStep(null, true);\n }\n\n setTimeout(() => {\n\n updateScreenChangeVariables(multiStepScreenIndex + 1);\n // Si estamos en el último paso del multistep se desactiva el\n // wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n if (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n updateWaitForNextAndPreviousStep(false, null);\n if (multiStepScreenIndex === 0) {\n setShowPreviousStep(false);\n } else {\n setShowPreviousStep(true);\n }\n }\n }, TIME_FOR_TRANSFORM);\n };\n\n const previousMapaLeads = () => {\n const { multiStepScreenIndex, waitForNextStep } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Se desactiva el wait previous step en la segunda pantalla para que\n // en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n if (multiStepScreenIndex === 1) {\n updateWaitForNextAndPreviousStep(null, false);\n }\n\n if (!waitForNextStep) {\n updateWaitForNextAndPreviousStep(true, null);\n }\n\n // Se fija en la pantalla previa a la primera para que cuando se cambie\n // a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex - 1);\n }, TIME_FOR_TRANSFORM);\n };\n\n const updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n setNextMultiStepScreenIndex(newMultiStepScreenIndex);\n dispatch({ type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex });\n setSelectedStep(steps[newMultiStepScreenIndex]);\n setIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n setShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_MULTISTEPS', payload: steps });\n\n handleFirstLoad();\n\n return () => {\n dispatch({ type: 'UPDATE_FIRST_MAP_LOAD', payload: false });\n setShowPreviousStep(true);\n updateWaitForNextAndPreviousStep(false, false);\n };\n }, []);\n\n return selectedStep ? (\n \n \n \n ) : null;\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { CanalDeContacto, CarlineSelect, PantallaNombreApellido, Email, Telefono, CodigoPostal, ContactInfoWrapper } from 'src/components';\nimport { OneElementTemplate, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { MapaLeads, ConfirmacionLeadsNoQuestions } from 'src/forms';\nimport {\n DetalleMotivo,\n ConsentQuestion\n} from 'src/components';\nimport { FormInfo, Steps } from 'src/types';\nimport { LeadsFormsProps } from '../LeadGenericoForm';\nimport { useInitializeLeadForm } from '../use-initialize-lead-form';\nimport { LeadGenericoController } from '../LeadGenericoController';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { leadsMasInformacionDealerPartialData, leadsMasInformacionPartialData } from '.';\nimport { MapaLeadsInPage, PartialDataMasInformacionConfigurador } from 'src/forms/LeadsInPage';\n\nconst getMapaFields = (inPage: boolean) => {\n if (inPage === true) {\n return ;\n } else {\n return ;\n }\n};\n\nenum MasInformacionSteps {\n Modelo,\n Mapa,\n NombreApellido,\n CodigoPostal,\n Contacto,\n EmailTelefono,\n Comentarios,\n Confirmacion,\n}\n\n\nexport function MasInformacionForm({ updatedFormData, inPage, isConfigurador, isLeadDealer }: LeadsFormsProps) {\n const isComerciales = useIsComerciales();\n\n const [partialData, setPartialData] = useState(null);\n\n useEffect(() => {\n if (updatedFormData) {\n setPartialData(updatedFormData);\n } else if (isLeadDealer) {\n setPartialData(leadsMasInformacionDealerPartialData);\n } else {\n setPartialData(leadsMasInformacionPartialData);\n }\n }, []);\n\n const defaultSteps: Steps[] = [\n {\n title: (\n <>\n ¿Qué modelo te interesa?\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: MasInformacionSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n isLeadDealer ? null :\n {\n screenIndex: MasInformacionSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: getMapaFields(inPage),\n },\n {\n title: (\n <>\n Para poder preparar tu visita, necesitamos saber quién eres\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: MasInformacionSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n También nos gustaría conocer tu código postal\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: MasInformacionSteps.CodigoPostal,\n name: 'CodigoPostal',\n outputs: ['codigoPostal'],\n outputsText: ['codigoPostal'],\n },\n {\n title: (\n <>\n ¿Cómo prefieres que contactemos contigo?\n *\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: MasInformacionSteps.Contacto,\n name: 'Contacto',\n outputs: ['contacto'],\n outputsText: ['contacto'],\n },\n {\n title: (\n <>\n Para ello necesitaremos tus datos de contacto\n \n ),\n fields: (\n <>\n {inPage ?\n \n \n \n \n }\n />\n :\n \n \n \n \n }\n />\n }\n \n ),\n screenIndex: MasInformacionSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n title: (\n <>\n ¿Quieres saber algo en concreto?\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: MasInformacionSteps.Comentarios,\n name: 'Comentarios',\n outputs: ['comments'],\n outputsText: ['comments'],\n },\n {\n fields: ,\n name: 'lssi',\n outputs: ['lssi'],\n },\n {\n fields: ,\n name: 'tmk',\n outputs: ['tmk'],\n },\n {\n fields: ,\n isLastStep: true,\n hidePreviousStep: true,\n name: 'Confirmacion',\n },\n ];\n const filteredSteps = defaultSteps.filter((step) => step !== null);\n\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm(filteredSteps, false, inPage);\n\n const citaVentaInfo: Partial = {\n numberOfScreens: steps.length,\n };\n\n return loading ? null : (\n \n );\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const leadsMasInformacionPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Más Información' },\n fields: {\n formFields: {},\n formularioFlag: 'masInformacion',\n formName: 'lead-mas_informacion',\n formType: 'contact',\n pageCategory: 'Más Información',\n },\n};\n\nexport const leadsMasInformacionDealerPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Más Información' },\n fields: {\n formFields: {},\n formularioFlag: 'masInformacion',\n formName: 'lead-mas_informacion-dealer',\n formType: 'contact',\n pageCategory: 'Más Información',\n },\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { CanalDeContacto, Email, ContactInfoWrapper, PantallaNombreApellido, Telefono, CodigoPostal, ConsentQuestion } from 'src/components';\nimport { OneElementTemplate } from 'src/feature-app/Screen/Templates';\nimport { MapaLeads, ConfirmacionLeadsNoQuestions } from 'src/forms';\nimport { FormDataGroup, FormInfo, Steps } from 'src/types';\nimport { ConfirmacionLeads } from '../ConfirmacionLeads';\nimport { useInitializeLeadForm } from '../use-initialize-lead-form';\nimport { LeadGenericoController } from '../LeadGenericoController';\nimport { useIsComerciales } from 'src/feature-app/hooks';\n\nexport enum OfertaSteps {\n Contacto,\n EmailTelefono,\n Mapa,\n NombreApellido,\n CodigoPostal,\n}\n\nexport function OfertaForm() {\n const isComerciales = useIsComerciales();\n\n const formSteps: Steps[] = [\n {\n title: (\n <>\n ¿Cómo prefieres que contactemos contigo?\n *\n \n ),\n fields: } />,\n screenIndex: OfertaSteps.Contacto,\n name: 'Contacto',\n outputs: ['contacto'],\n outputsText: ['contacto'],\n },\n {\n title: (\n <>\n Para ello necesitaremos tus datos de contacto\n \n ),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: OfertaSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n screenIndex: OfertaSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: ,\n },\n {\n title: (\n <>\n Para poder contactar contigo, necesitamos saber quién eres\n \n ),\n fields: } />,\n screenIndex: OfertaSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n También nos gustaría conocer tu código postal\n \n ),\n fields: } />,\n screenIndex: OfertaSteps.CodigoPostal,\n name: 'CodigoPostal',\n outputs: ['codigoPostal'],\n outputsText: ['codigoPostal'],\n },\n ];\n\n const confirmSteps: Steps[] =\n [\n {\n fields: ,\n name: 'lssi',\n outputs: ['lssi'],\n screenIndex: formSteps.length,\n },\n {\n fields: ,\n name: 'tmk',\n outputs: ['tmk'],\n screenIndex: formSteps.length + 1,\n },\n {\n fields: ,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n screenIndex: formSteps.length + 2,\n },\n ]\n ;\n\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm([...formSteps, ...confirmSteps], true);\n\n const citaVentaData: Partial = {\n headers: isComerciales ? { FORM_OBJECTIVE : 'SF201903221335'} : {FORM_OBJECTIVE : 'Presupuesto' },\n fields: {\n formFields: {},\n formularioFlag: 'Presupuesto',\n formName: 'lead-oferta',\n formType: 'quote',\n pageCategory: 'Oferta',\n },\n };\n\n const citaVentaInfo: Partial = {\n numberOfScreens: steps.length,\n };\n\n return loading ? null : (\n \n );\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport {\n CanalDeContacto,\n CarlineSelect,\n ContactInfoWrapper,\n PantallaNombreApellido,\n Email,\n Telefono,\n CodigoPostal,\n ConsentQuestion\n} from 'src/components';\nimport { OneElementTemplate, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { MapaLeads, ConfirmacionLeadsNoQuestions } from 'src/forms';\nimport { FormInfo, Steps } from 'src/types';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { LeadGenericoController } from '../LeadGenericoController';\nimport { LeadsFormsProps } from '../LeadGenericoForm';\nimport { useInitializeLeadForm } from '../use-initialize-lead-form';\nimport { leadsPresupuestoDealerPartialData, leadsPresupuestoPartialData } from '.';\nimport { MapaLeadsInPage, PresupuestoPartialDataConfigurador } from 'src/forms/LeadsInPage';\n\nconst getMapaFields = (inPage: boolean) => {\n if (inPage === true) {\n return ;\n } else {\n return ;\n }\n};\n\nexport enum PresupuestoSteps {\n Modelo,\n Mapa,\n NombreApellido,\n CodigoPostal,\n Contacto,\n EmailTelefono,\n Confirmacion,\n}\n\nexport function PresupuestoForm({ updatedFormData, isOfertasOrMatch, inPage, isConfigurador, isLeadDealer }: LeadsFormsProps) {\n const isComerciales = useIsComerciales();\n\n const [partialData, setPartialData] = useState(null);\n\n useEffect(() => {\n if (updatedFormData) {\n setPartialData(updatedFormData);\n } else if(isLeadDealer){\n setPartialData(leadsPresupuestoDealerPartialData);\n }\n else {\n setPartialData(leadsPresupuestoPartialData);\n }\n }, []);\n\n const defaultSteps: Steps[] = [\n {\n title: (\n <>\n ¿Qué modelo te interesa?\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: PresupuestoSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n isLeadDealer ? null :\n {\n screenIndex: PresupuestoSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: getMapaFields(inPage),\n },\n {\n title: (\n <>\n Para poder contactar contigo, necesitamos saber quién eres\n \n ),\n fields: (\n <>\n {inPage ?\n \n \n \n }\n />\n :\n \n \n \n }\n />\n }\n \n ),\n screenIndex: PresupuestoSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n También nos gustaría conocer tu código postal\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: PresupuestoSteps.CodigoPostal,\n name: 'CodigoPostal',\n outputs: ['codigoPostal'],\n outputsText: ['codigoPostal'],\n },\n {\n title: (\n <>\n ¿Cómo prefieres que contactemos contigo?\n *\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: PresupuestoSteps.Contacto,\n name: 'Contacto',\n outputs: ['contacto'],\n outputsText: ['contacto'],\n },\n {\n title: (\n <>\n Para ello necesitaremos tus datos de contacto\n \n ),\n fields: (\n <>\n {inPage ?\n \n \n \n \n }\n />\n :\n \n \n \n \n }\n />\n }\n \n ),\n screenIndex: PresupuestoSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n fields: ,\n name: 'lssi',\n outputs: ['lssi'],\n },\n {\n fields: ,\n name: 'tmk',\n outputs: ['tmk'],\n },\n {\n fields: ,\n isLastStep: true,\n hidePreviousStep: true,\n name: 'Confirmacion',\n },\n ];\n\n const filteredSteps = defaultSteps.filter((step) => step !== null);\n\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm(filteredSteps, false, inPage);\n\n const citaVentaInfo: Partial = {\n numberOfScreens: steps.length,\n };\n\n return loading ? null : (\n \n );\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const leadsPresupuestoPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Presupuesto' },\n fields: {\n formFields: {},\n formularioFlag: 'presupuesto',\n formName: 'lead-presupuesto',\n formType: 'quote',\n pageCategory: 'Presupuesto',\n },\n\n};\n\nexport const leadsPresupuestoDealerPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Presupuesto' },\n fields: {\n formFields: {},\n formularioFlag: 'presupuesto',\n formName: 'lead-presupuesto-dealer',\n formType: 'quote',\n pageCategory: 'Presupuesto',\n },\n};\n","import React from 'react';\nimport { MasInformacionForm } from '../MasInformacion';\nimport { leadsStockPartialData } from '.';\n\nexport function StockForm() {\n return ;\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const leadsStockPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Stock' },\n fields: {\n formFields: { COMMENTS_BRAND: 'Usuario interesado en vehículos de stock sin haber encontrado disponibilidad en el rango de KM seleccionados' },\n formularioFlag: 'masInformacion',\n formName: 'lead-stock',\n formType: 'contact',\n pageCategory: 'Más Información',\n },\n};\n\nexport const leadsStockInPagePartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Stock' },\n fields: {\n ...leadsStockPartialData.fields,\n formFields: undefined\n },\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport {\n CanalDeContacto,\n CarlineSelect,\n ContactInfoWrapper,\n PantallaNombreApellido,\n Email,\n Telefono,\n CodigoPostal,\n ConsentQuestion\n} from 'src/components';\nimport { ConfirmacionLeadsNoQuestions } from 'src/forms';\nimport { OneElementTemplate, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { FormInfo, Steps } from 'src/types';\nimport { LeadsFormsProps } from '../LeadGenericoForm';\nimport { MapaLeads } from '../MapaLeads';\nimport { useInitializeLeadForm } from '../use-initialize-lead-form';\nimport { LeadGenericoController } from '../LeadGenericoController';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport { leadsTestDriveDealerPartialData, leadsTestDrivePartialData } from '.';\nimport { MapaLeadsInPage, PartialDataTestDriveConfigurador } from 'src/forms/LeadsInPage';\n\n\nconst getMapaFields = (inPage: boolean) => {\n if (inPage === true) {\n return ;\n } else {\n return ;\n }\n};\n\nexport enum TestDriveSteps {\n Modelo,\n Mapa,\n NombreApellido,\n CodigoPostal,\n Contacto,\n EmailTelefono,\n Confirmacion,\n}\n\nexport function TestDriveForm({ updatedFormData, inPage, isConfigurador, isLeadDealer }: LeadsFormsProps) {\n const isComerciales = useIsComerciales();\n const [partialData, setPartialData] = useState(null);\n\n useEffect(() => {\n if (updatedFormData) {\n setPartialData(updatedFormData);\n } if (isLeadDealer) {\n setPartialData(leadsTestDriveDealerPartialData);\n } else {\n setPartialData(leadsTestDrivePartialData);\n }\n }, []);\n\n const defaultSteps: Steps[] = [\n {\n title: (\n <>\n ¿Qué modelo te apetece conducir?\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: TestDriveSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n isLeadDealer ? null :\n {\n screenIndex: TestDriveSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: getMapaFields(inPage),\n },\n {\n title: (\n <>\n Para poder contactar contigo, necesitamos saber quién eres\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: TestDriveSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n También nos gustaría conocer tu código postal\n \n ),\n fields:\n (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: TestDriveSteps.CodigoPostal,\n name: 'CodigoPostal',\n outputs: ['codigoPostal'],\n outputsText: ['codigoPostal'],\n },\n {\n title: (\n <>\n ¿Cómo prefieres que contactemos contigo?\n *\n \n ),\n fields: (\n <>\n {inPage ?\n } />\n :\n } />\n }\n \n ),\n screenIndex: TestDriveSteps.Contacto,\n name: 'Contacto',\n outputs: ['contacto'],\n outputsText: ['contacto'],\n },\n {\n title: (\n <>\n Para ello necesitaremos tus datos de contacto\n \n ),\n fields: (\n <>\n {inPage ?\n \n \n \n \n }\n />\n :\n \n \n \n \n }\n />\n }\n \n ),\n screenIndex: TestDriveSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n fields: ,\n name: 'lssi',\n outputs: ['lssi'],\n },\n {\n fields: ,\n name: 'tmk',\n outputs: ['tmk'],\n },\n {\n fields: ,\n isLastStep: true,\n hidePreviousStep: true,\n name: 'Confirmacion',\n },\n ];\n\n const filteredSteps = defaultSteps.filter((step) => step !== null);\n\n const { loading, steps, firstStep, lastStep } = useInitializeLeadForm(filteredSteps, false, inPage);\n\n const citaVentaInfo: Partial = {\n numberOfScreens: steps.length,\n };\n\n return loading ? null : (\n \n );\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const leadsTestDrivePartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Test Drive' },\n fields: {\n formFields: {},\n formularioFlag: 'testDrive',\n formName: 'lead-test_drive',\n formType: 'testdrive',\n pageCategory: 'Test Drive',\n },\n};\n\nexport const leadsTestDriveDealerPartialData: Partial = {\n headers: { FORM_OBJECTIVE: 'Test Drive' },\n fields: {\n formFields: {},\n formularioFlag: 'testDrive',\n formName: 'lead-test_drive-dealer',\n formType: 'testdrive',\n pageCategory: 'Test Drive',\n },\n};\n","import React, { useEffect, useState } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { useGetBrand } from 'src/feature-app/hooks';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { DealersInfo, FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\ninterface ThankYouProps {\n formData: FormDataFields;\n formInfo: FormInfo;\n dealersInfo: DealersInfo;\n inPage?: boolean;\n}\n\nconst copysThankYou = [\n {\n name: 'lead-presupuesto',\n titleCopyRegular: 'Pronto recibirás',\n titleCopyBold: 'el presupuesto para tu ',\n bodyCopy: ['Un asesor contactará contigo para hacerte llegar la información que necesitas.'],\n },\n {\n name: 'lead-oferta',\n titleCopyRegular: 'Estás muy cerca de conducir',\n titleCopyBold: 'tu ',\n bodyCopy: ['Un asesor contactará contigo muy pronto para darte todos los detalles sobre esta oferta.'],\n },\n {\n name: 'lead-match',\n titleCopyRegular: 'Estás muy cerca de conducir',\n titleCopyBold: 'tu ',\n bodyCopy: ['Un asesor contactará muy pronto contigo para hacerte una oferta a medida.'],\n },\n {\n name: 'lead-mas_informacion',\n titleCopyRegular: 'Pronto recibirás',\n titleCopyBold: 'más información sobre el ',\n bodyCopy: ['Un asesor contactará contigo para responder a todas tus preguntas.'],\n },\n {\n name: 'lead-stock',\n titleCopyRegular: 'Pronto ',\n titleCopyBold: 'responderemos a tus preguntas',\n bodyCopy: ['Un asesor contactará contigo para explicártelo todo sobre nuestros modelos con disponibilidad inmediata.'],\n },\n {\n name: 'lead-cita',\n titleCopyRegular: 'Te esperamos en',\n titleCopyBold: '',\n bodyCopy: [\n 'Ya hemos recibido tu solicitud, ',\n '. Muy pronto, un asesor contactará contigo para terminar de cerrar tu cita.',\n ],\n },\n {\n name: 'lead-test_drive',\n titleCopyRegular: 'Te esperamos en',\n titleCopyBold: '',\n bodyCopy: [\n 'Un asesor te llamará pronto para terminar de confirmar contigo los detalles de la prueba de conducción.',\n ],\n },\n {\n name: 'lead-call_center',\n titleCopyRegular: 'Lead enviado a',\n titleCopyBold: '',\n bodyCopy: [\n 'Un asesor contactará con el lead para responder a sus preguntas.',\n ],\n }\n];\n\nfunction ThankYouLeads(props: ThankYouProps) {\n const { dealersInfo, inPage } = props;\n const { formInfo, formData } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n const { modelo, formName, name: nombre } = formData.fields;\n const { oferta } = dealersInfo;\n const { match } = dealersInfo;\n\n const dispatch = useDispatch();\n const brand = useGetBrand();\n const trackingManager = useTrackingManager();\n\n const [completeInfo, setCompletInfo] = useState(null);\n const [completarBold, setCompletarBold] = useState(null);\n const [bodyCopy, setbodyCopy] = useState('');\n const [ctaUrl, setCtaUrl] = useState(null);\n\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: 'ThankYou' } } });\n\n const aux = copysThankYou.filter((a: any) => {\n return formName.includes(a.name);\n });\n setCompletInfo(aux);\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n useEffect(() => {\n if (completeInfo && completeInfo.length > 0) {\n\n if (completeInfo[0].bodyCopy.length === 1) {\n setbodyCopy(completeInfo[0].bodyCopy[0]);\n } else {\n const aux = completeInfo[0].bodyCopy[0] + nombre + completeInfo[0].bodyCopy[1];\n setbodyCopy(aux);\n }\n\n if (formName === 'lead-oferta') {\n setCompletarBold(oferta.carline.title);\n } else if (formName === 'lead-match') {\n setCompletarBold(match.carline.title);\n } else if (formName === 'lead-stock') {\n setCompletarBold('');\n } else {\n if (formName.includes('lead-presupuesto') || formName.includes('lead-mas_informacion')) {\n setCompletarBold(modelo);\n } else {\n setCompletarBold(dealersInfo.selectedInstallation.VGED_CommercialName__c);\n }\n }\n }\n }, [completeInfo]);\n\n useEffect(() => {\n if (formName === 'lead-oferta') {\n if (brand === 'V') {\n setCtaUrl(`https://www.volkswagen.es/es/modelos/${oferta.carline.name}.html`);\n } else if (brand === 'N') {\n setCtaUrl(`https://www.volkswagen-comerciales.es/es/modelos/${oferta.carline.name}.html`);\n }\n } else if (formName === 'lead-match') {\n setCtaUrl(`https://www.volkswagen.es/es/modelos/${match.carline.name}.html`);\n }\n }, [dealersInfo]);\n\n const ofertasComercialesFields = 'En breve te llamaremos desde un número terminado en 904.';\n\n const screen: Steps = {\n title: (\n <>\n {completeInfo && completeInfo.length > 0 ? (\n inPage ?\n \n : (\n formName === 'lead-oferta' && brand === 'N' ?\n \n :\n \n )\n\n ) : null\n }\n \n ),\n fields: (\n <>\n {\n inPage ?\n \n :\n \n }\n \n ),\n };\n return (\n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formData: state.formData.fields,\n formInfo: state.formInfo,\n dealersInfo: state.dealersInfo,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouLeads);\n\nexport { ConnectedComponent as ThankYouLeads };\n","export const appendJsonKey = (result: any) => `JSONKEY${JSON.stringify(result)}`;\n","import { appendJsonKey } from 'src/forms';\nimport { DealersData, FormDataGroup } from 'src/types';\n\nexport const isCalculadoraForm = (formName: string) => formName === 'prospect-posventa-calculadora';\n\nexport const getCalculadoraData = (formData: FormDataGroup) => {\n const { fields } = formData;\n const dealer: DealersData = fields.dealer;\n\n if (!isCalculadoraForm(fields.formName)) {\n return null;\n } else {\n const calculadoraFields = {\n 'fields[DESC_DEALER_CODE]': dealer?.dmsInfo?.dealerId?.codInstalacion,\n 'fields[DESC_DEALER_CODE_KVPS]': dealer?.kvps,\n 'fields[DESC_DEALER]': dealer?.name,\n 'fields[DESC_DEALER_ADDRESS]': getAddress(dealer),\n 'fields[NUM_PHONE_ALTERNATIVE]': dealer?.markerInfo?.dealerInfo?.phone,\n 'fields[DESC_AUXFIELD1]': dealer?.markerInfo?.dealerInfo?.mail,\n 'fields[DESC_VEH_PLATE]': fields.matricula,\n 'fields[DESC_VEH_PLATE_DATE]': fields.anoMatriculacion + ' 00:00:00',\n 'fields[DESC_ACTUAL_VEHICLE_MODEL]': fields.modelo,\n 'fields[DESC_RATING_MILEAGE]': fields.kilometros,\n 'fields[DESC_BUDGET]': appendJsonKey(fields.budget),\n 'fields[DESC_AUXFIELD11]': fields.deepLink,\n };\n\n return { ...calculadoraFields };\n }\n};\n\nconst getAddress = (dealerData: DealersData) => {\n const { address, zipCode, city, province, country } = dealerData?.markerInfo?.dealerInfo;\n return `${address} ${zipCode} ${city} ${province} ${country}`;\n};\n","import { DealersInfo } from 'src/types';\n\nexport const getCodInterestCarline = (dealersInfo: DealersInfo, code: string) => {\n const { selectedCarline } = dealersInfo;\n\n if (!code && !selectedCarline) return '';\n if (code && !selectedCarline) {\n return code;\n }\n\n return String(selectedCarline.code);\n};\n","import { DealersInfo } from 'src/types';\n\nexport const getDescInterestCarline = (dealersInfo: DealersInfo, modelo: string) => {\n const { selectedCarline } = dealersInfo;\n\n if (!modelo && !selectedCarline) return '';\n if (modelo && !selectedCarline) {\n return modelo;\n }\n\n return `${selectedCarline.nuevo ? 'Nuevo ' : ''}${selectedCarline.title}`;\n};\n","import { getModelFilter, getOption } from 'src/bff/get-marketing-code';\nimport { FormDataGroup } from 'src/types';\nimport { isOfertasForm } from '../LeadGenericoForm';\n\nexport const getConfiguradorData = async (formData: FormDataGroup) => {\n\tconst { fields } = formData;\n\tconst { marketingCodeData, marketingCodeResponse } = fields;\n\n\tif (!marketingCodeResponse) return null;\n\t//const price = await getPriceDataWithMarketingCode(marketingCodeResponse);\n\n\tconst type = getOption('TYPE', marketingCodeResponse?.content.consolidatedData.options);\n\tconst salesgroup = getOption('SALESGROUP', marketingCodeResponse?.content.consolidatedData.options);\n\tconst trimline = getModelFilter('EquipmentLine', marketingCodeResponse?.content.consolidatedData.meta.modelFilter);\n\tconst fueltype = getModelFilter('FuelType', marketingCodeResponse?.content.consolidatedData.meta.modelFilter);\n\tlet fueltypeDPS = 'Combustion';\n\tif (fueltype.modelFilter.text == 'H\\u00edbrido enchufable') fueltypeDPS = 'Hybrid';\n\tif (fueltype.modelFilter.text == 'El\\u00e9ctrico') fueltypeDPS = 'Electric';\n\n\tlet configuradorData = {\n\t\t'fields[VEH_INTEREST_ID]': marketingCodeResponse?.content.consolidatedData.model_code.split('_')[1],\n\t\t'fields[VEH_INTEREST_MODEL]': marketingCodeResponse?.content.consolidatedData.model_description,\n\t\t'fields[VEH_INTEREST_SALESGROUP]': salesgroup.option.description,\n\t\t'fields[VEH_INTEREST_SALESGROUP_ID]': salesgroup.option.code.split(':')[1],\n\t\t'fields[VEH_INTEREST_TRIM_LINE]': trimline.modelFilter.text,\n\t\t'fields[VEH_INTEREST_FUEL]': fueltypeDPS,\n\t\t'fields[VEH_INTEREST_DETAILS]': type.option.description,\n\t\t// 'fields[VEH_INTEREST_MORE_INFO]': \"Color pintura exterior: \" + marketingCodeResponse?.consolidatedData?.exterior?.name, // Pendiente recuperar color exterior\n\t\t'fields[VEH_INTEREST_CONFIGURATION_CODE]': marketingCodeData?.marketingCode,\n\t\t/*\n 'fields[VEH_INTEREST_OFFER_PRICE]': price?.body?.amount\n ? `Precio final de la configuración: ${price?.body?.amount}Eur`\n : undefined,\n */\n\t};\n\n\t//Si es un form de ofertas no es relevante el precio de la configuración ni su Marketing Code\n\tif (isOfertasForm(fields.formName)) {\n\t\tdelete configuradorData['fields[VEH_INTEREST_CONFIGURATION_CODE]'];\n\t\t// delete configuradorData['fields[VEH_INTEREST_OFFER_PRICE]'];\n\t}\n\n\treturn configuradorData;\n};\n\nexport const getConfiguradorComercialesData = async (formData: FormDataGroup) => {\n\tconst { fields } = formData;\n\tconst { marketingCodeData, marketingCodeResponse } = fields;\n\n\tif (!marketingCodeResponse) return null;\n\t//const price = await getPriceDataWithMarketingCode(marketingCodeResponse);\n\tconsole.log(marketingCodeResponse);\n\n\tconst type = getOption('TYPE', marketingCodeResponse?.content.consolidatedData.options);\n\tconst salesgroup = getOption('SALESGROUP', marketingCodeResponse?.content.consolidatedData.options);\n\tconst trimline = getModelFilter('EquipmentLine', marketingCodeResponse?.content.consolidatedData.meta.modelFilter);\n\tconst fueltype = getModelFilter('FuelType', marketingCodeResponse?.content.consolidatedData.meta.modelFilter);\n\tlet fueltypeDPS = 'Combustion';\n\tif (fueltype.modelFilter.text == 'H\\u00edbrido enchufable') fueltypeDPS = 'Hybrid';\n\tif (fueltype.modelFilter.text == 'El\\u00e9ctrico') fueltypeDPS = 'Electric';\n\n\tlet configuradorData = {\n\t\t'fields[VEH_INTEREST_ID]': `${marketingCodeResponse?.content.consolidatedData.model_code.split('_')[1]}_${salesgroup?.option.code.replace('SALESGROUP:', '')}`,\n\t\t'fields[VEH_INTEREST_MODEL]': marketingCodeResponse?.content.consolidatedData.model_description,\n\t\t'fields[VEH_INTEREST_SALESGROUP]': salesgroup.option.description,\n\t\t'fields[VEH_INTEREST_SALESGROUP_ID]': salesgroup.option.code.split(':')[1],\n\t\t'fields[VEH_INTEREST_TRIM_LINE]': trimline.modelFilter.text,\n\t\t'fields[VEH_INTEREST_FUEL]': fueltypeDPS,\n\t\t'fields[VEH_INTEREST_DETAILS]': type.option.description,\n\t\t// 'fields[VEH_INTEREST_MORE_INFO]': \"Color pintura exterior: \" + marketingCodeResponse?.consolidatedData?.exterior?.name, // Pendiente recuperar color exterior\n\t\t'fields[VEH_INTEREST_CONFIGURATION_CODE]': marketingCodeData?.marketingCode,\n\t\t/*\n 'fields[VEH_INTEREST_OFFER_PRICE]': price?.body?.amount\n ? `Precio final de la configuración: ${price?.body?.amount}Eur`\n : undefined,\n */\n\t};\n\n\t//Si es un form de ofertas no es relevante el precio de la configuración ni su Marketing Code\n\tif (isOfertasForm(fields.formName)) {\n\t\tdelete configuradorData['fields[VEH_INTEREST_CONFIGURATION_CODE]'];\n\t\t// delete configuradorData['fields[VEH_INTEREST_OFFER_PRICE]'];\n\t}\n\n\treturn configuradorData;\n};\n","import { OneFormContent } from 'src';\nimport { appendJsonKey } from 'src/forms';\nimport { getFeatures, getMarketingCode, getModelFilter, getOption } from 'src/bff/get-marketing-code';\nimport {\n DealersInfo,\n FormDataGroup,\n HighlightsReturn,\n LuggageReturn,\n MatchSelectedOptions,\n Offer,\n PassengersTypes,\n RankedPreconfiguration,\n UsageReturn,\n} from 'src/types';\n\nconst getMatchHash = () => {\n const searchParams = new URLSearchParams(window?.location?.search);\n const hash = searchParams.get('match-app');\n return hash;\n};\n\nexport const isMatchForm = (formName: string) => formName === 'lead-match' || formName === 'prospect-match';\n\nexport const getMatchData = async (formData: FormDataGroup, dealersInfo: DealersInfo, faContent: OneFormContent) => {\n const { fields } = formData;\n const { match } = dealersInfo;\n\n if (!isMatchForm(fields.formName)) {\n return null;\n } else {\n const { response: marketingCodeResponse } = await getMarketingCode(match.marketingCode);\n\n const salesgroup = getOption(\"SALESGROUP\",marketingCodeResponse?.content.consolidatedData.options);\n const type = getOption(\"TYPE\",marketingCodeResponse?.content.consolidatedData.options);\n const baseType = getOption(\"BASETYPE\",marketingCodeResponse?.content.consolidatedData.options);\n const equipmentLine = getModelFilter(\"EquipmentLine\",marketingCodeResponse?.content.consolidatedData.meta.modelFilter);\n\n const matchFields = {\n ...marketingCodeFields,\n // 'fields[COD_INTEREST_CARLINE]': match?.carlineCode,\n // 'fields[DESC_INTEREST_CARLINE]': match?.carlineTitle,\n // 'fields[DESC_FINANCIAL_PRODUCT]': match?.financiacionText?.slice(4),\n // 'fields[DESC_VEH_MARKETING_CODE]': match?.marketingCode,\n // 'fields[DESC_VEH_OFFER_PRICE]': createOfferPrice(match),\n // 'fields[COD_INTEREST_PR]': getFeatures(response?.consolidatedData?.features),\n 'fields[CREATIVITY_PERSONALIZATION_DATA]': getMatchHash(),\n 'fields[MATCH_AFFINITY]': match?.affinity,\n 'fields[MATCH_PRICE]': match?.precio,\n 'fields[MATCH_DGT_BADGE]': match?.etiquetaDGT.toUpperCase(),\n 'fields[MATCH_USER_JOURNEY]': fields?.argumentatives,\n };\n\n const matchOptions = getMatchOptions(faContent?.matchOptions);\n\n return { ...matchFields, ...matchOptions };\n }\n};\n\n\n\nconst getMatchOptions = (options: MatchSelectedOptions) => {\n if (!options) {\n return null;\n }\n\n return {\n 'fields[MATCH_BUDGET]': options.budget,\n 'fields[MATCH_COMPANION]': appendJsonKey(getPassengers(options.passengers)),\n 'fields[MATCH_TRIP]': appendJsonKey(getUsage(options.usage)),\n 'fields[MATCH_BAGGAGE]': appendJsonKey(getLuggage(options.luggage)),\n 'fields[MATCH_CAR_CHARACTERISTICS]': appendJsonKey(getHighlights(options.highlights)),\n 'fields[MATCH_ENGINE]': options.fuel,\n };\n};\n\nconst getPassengers = (passengers: PassengersTypes) => {\n if (!Array.isArray(passengers)) {\n return { adult: 0, kid: 0 };\n }\n return { adult: passengers[0], kids: passengers[1] };\n};\n\nconst getLuggage = (lugagge: number[]): string[] => {\n const lugaggeOptions: LuggageReturn[] = [\n 'unaMaleta',\n 'escapada',\n 'unaSemana',\n 'unMes',\n 'mascota',\n 'bici',\n 'surf',\n 'snow',\n ];\n const [unaMaleta, escapada, unaSemana, unMes, mascota, bici, surf, snow] = lugagge;\n const options = { unaMaleta, escapada, unaSemana, unMes, mascota, bici, surf, snow };\n\n return lugaggeOptions.filter((option) => options[option] === 1);\n};\n\nconst getUsage = (usage: number[]): string[] => {\n const usageOptions: UsageReturn[] = ['urban', 'interurban', 'long', 'allterrain'];\n const [urban, interurban, long, allterrain] = usage;\n const options = { urban, interurban, long, allterrain };\n\n return usageOptions.filter((option) => options[option] === 1);\n};\n\nconst getHighlights = (highlights: number[]): string[] => {\n const hihglightsOptions: HighlightsReturn[] = [\n 'atrevido',\n 'comodo',\n 'deportivo',\n 'sostenible',\n 'elegante',\n 'seguro',\n 'sonido',\n 'tecnologico',\n ];\n const [atrevido, comodo, deportivo, sostenible, elegante, seguro, sonido, tecnologico] = highlights;\n const options = { atrevido, comodo, deportivo, sostenible, elegante, seguro, sonido, tecnologico };\n\n return hihglightsOptions.filter((option) => options[option] === 1);\n};\n\nconst createOfferPrice = (match: RankedPreconfiguration) => {\n return `Precio final de la configuración: ${match.precio}Eur`;\n};\n","import { DealersInfo, FormDataGroup, Offer } from 'src/types';\nimport { formatHeaders } from '../../format-fields';\nimport { isOfertasForm } from '../LeadGenericoForm';\n\nexport const getOfertasData = async (formData: FormDataGroup, dealersInfo: DealersInfo) => {\n const { fields } = formData;\n const { oferta } = dealersInfo;\n\n if (!isOfertasForm(fields.formName)) {\n return null;\n } else {\n const headers = {\n FORM_NAME: 'vw-oneform-lead-oferta',\n };\n\n const ofertaFields = {\n 'fields[VEH_INTEREST_ID]': oferta.carline.code,\n 'fields[VEH_INTEREST_MODEL]': `${oferta.carline.nuevo ? 'Nuevo ' : ''}${oferta.carline.title}`,\n 'fields[VEH_INTEREST_FINANCIAL_PRODUCT]': oferta.financiacionText?.slice(4),\n 'fields[VEH_INTEREST_OFFER_DETAIL]': createOfferPrice(oferta),\n 'fields[COMMENTS_BRAND]': getObservationBrand(oferta),\n };\n\n return { ...formatHeaders(headers), ...ofertaFields };\n }\n};\n\nexport const getOfertasComercialesData = async (formData: FormDataGroup, dealersInfo: DealersInfo) => {\n const { fields } = formData;\n const { oferta } = dealersInfo;\n\n if (!isOfertasForm(fields.formName)) {\n return null;\n } else {\n const headers = {\n FORM_NAME: 'vw-oneform-lead-oferta',\n };\n\n const ofertaFields = {\n 'fields[VEH_INTEREST_ID]': oferta.carline.code+\"_\"+oferta.carline.salesgroup.code,\n 'fields[VEH_INTEREST_MODEL]': `${oferta.carline.nuevo ? 'Nuevo ' : ''}${oferta.carline.salesgroup.name}`,\n 'fields[VEH_INTEREST_FINANCIAL_PRODUCT]': oferta.financiacionText?.slice(4),\n 'fields[VEH_INTEREST_OFFER_DETAIL]': createOfferPrice(oferta),\n 'fields[COMMENTS_BRAND]': getObservationBrand(oferta),\n };\n\n return { ...formatHeaders(headers), ...ofertaFields };\n }\n};\n\nconst createOfferPrice = (offer: Offer) => {\n return `Cuota: ${offer.cuota} Eur / \\r\\nPeriodicidad Cuota: ${offer.cuotaTipo} / \\r\\nNum Cuotas: ${offer.plazos\n } / \\r\\nEntrada: ${offer.cuotaEntrada} Eur / \\r\\nCuota final: ${offer.cuotaFinal} Eur ${offer.tin || offer.tae ? '/' : ''\n }\\r\\n${offer.tin ? `TIN: ${offer.tin}% ${offer.tae ? '/ \\r\\n' : '\\r\\n'}` : ''}${offer.tae ? `TAE: ${offer.tae}%\\r\\n` : ''\n }`;\n};\n\nconst getObservationBrand = (oferta: Offer) => {\n if (!oferta.promociones || oferta.promociones.length === 0) {\n return null;\n }\n\n return oferta.promociones.map((promo) => promo.name);\n};\n","export const removePTags = (htmlString: string) => {\n\tconst regex = /<\\/?p[^>]*>/g;\n\treturn htmlString.replace(regex, '');\n};\n\nexport function formatCalculatedLegal(legal: string) {\n\treturn legal\n\t\t.replace(/^\\*/, '')\n\t\t.replace(//g, '**')\n\t\t.replace(/<\\/u>/g, '**')\n\t\t.replace(/<\\/?[^>]+(>|$)/g, '');\n}\n","import {useEffect, useReducer} from 'react';\nimport {useDispatch} from 'react-redux';\nimport {getDataUrl, getSalesgroups} from 'src/bff';\nimport {OneFormContent, useFaContent, useFeatureServices} from 'src/feature-app';\nimport {findCarlineFromSalesgroup, findCarline, isCarlineMode, isConfiguratorMode} from 'src/components';\nimport {CarlineBase, CarlinesWithSalesgroups, SalesGroupInfo, Steps} from 'src/types';\nimport {useIsComerciales} from 'src/feature-app/hooks';\nimport {removeStep, resetStepsScreenIndex} from '../helpers/add-remove-steps';\nimport {getMarketingCode} from 'src/bff';\n\nconst getLastItemOfSteps = (steps: Steps[]) => steps[steps.length - 1];\nconst carlineInFaContent = (faContent: OneFormContent) => faContent?.carlines && faContent.carlines.length === 1;\nconst salesgroupInFaContent = (faContent: OneFormContent) =>\n\tfaContent?.salesgroups && faContent.salesgroups.length === 1;\nconst findSalesgroup = (carline: CarlinesWithSalesgroups, salesgroupId: string) =>\n\tcarline?.salesGroups?.find((salesgroup) => salesgroup.code === Number(salesgroupId));\n\ninterface LeadsInitialConfig {\n\tloading: boolean;\n\tsteps: Steps[];\n\tfirstStep: Steps;\n\tlastStep: Steps;\n}\n\nconst updateSteps = (steps: Steps[]) => {\n\treturn {\n\t\ttype: 'UPDATE_STEPS',\n\t\tpayload: steps,\n\t};\n};\n\nconst reducer = (state: LeadsInitialConfig, action: any): LeadsInitialConfig => {\n\tswitch (action.type) {\n\t\tcase 'UPDATE_STEPS':\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\tsteps: action.payload,\n\t\t\t\tfirstStep: action.payload[0],\n\t\t\t\tlastStep: getLastItemOfSteps(action.payload),\n\t\t\t\tloading: false,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn state;\n\t}\n};\n\nconst initialState: LeadsInitialConfig = {\n\tloading: true,\n\tsteps: [],\n\tfirstStep: null,\n\tlastStep: null,\n};\n\nexport const createSalesgroup = (code: string | number, name: string) => {\n\tif (!code && !name) {\n\t\treturn null;\n\t}\n\treturn {salesGroupId: String(code), salesGroupName: String(name)};\n};\n\nexport function useInitializeLeadForm(defaultSteps: Steps[], isEmbedded?: boolean, isInPage?: boolean) {\n\tconst dispatch = useDispatch();\n\tconst faContent = useFaContent();\n\tconst {'car-configuration': carConfigurationService} = useFeatureServices();\n\tconst [state, dispatchLead] = useReducer(reducer, initialState);\n\tconst {loading, firstStep, lastStep, steps} = state;\n\tconst isComerciales = useIsComerciales();\n\n\t/**\n\t * Functions\n\t */\n\tconst requestCarlines = async () => {\n\t\tlet carlines = await getSalesgroups();\n\n\t\tdispatch({type: 'SET_CARLINES', payload: carlines});\n\n\t\treturn carlines;\n\t};\n\n\tconst getCarlineInfo = async (carline: string) => {\n\t\tlet dataRes: any;\n\t\tawait fetch(`${getDataUrl()}/getCarlineSalesgroups/${carline}`)\n\t\t\t.then((res) => res.json())\n\t\t\t.then((data) => (dataRes = data));\n\t\treturn dataRes;\n\t};\n\n\tconst getModelFromUrl = () => {\n\t\tconst path = window.location.pathname;\n\t\tlet htmlIndex: number;\n\t\tlet carlineName: string;\n\t\tlet salesGroup: string;\n\t\tconst splittedPath = path.split('/');\n\t\tsplittedPath.filter((e, index) => e.includes('.html') && (htmlIndex = index));\n\t\tcarlineName = splittedPath[htmlIndex + 1]?.replace('.app', '');\n\n\t\tconst hasSalesGroup = () => splittedPath[htmlIndex + 2]?.includes('.app');\n\t\thasSalesGroup() && (salesGroup = splittedPath[htmlIndex + 2]?.replace('.app', ''));\n\t\treturn [carlineName, salesGroup];\n\t};\n\n\tconst findAsset = (mediaAssets: any[], assetName: string) => mediaAssets.find((asset) => asset.mpsId === assetName);\n\n\tconst getAsset = (mediaAssets: any[], assetName: string): string => {\n\t\tconst asset = findAsset(mediaAssets, assetName);\n\t\tlet assetUrl = asset.asset;\n\n\t\tif (assetUrl.includes('r-media') && assetUrl.includes('.jpg')) {\n\t\t\tassetUrl = assetUrl.replace('.jpg', '.png');\n\t\t}\n\n\t\treturn assetUrl;\n\t};\n\n\t/**\n\t * Set initial Product Data based on Form Context and returns Carline and Salesgroup.\n\t */\n\tconst setInitialProductData = (carlines: CarlineBase[]): {carline: CarlineBase; salesgroup: SalesGroupInfo} => {\n\t\tlet carlineCode: string = carConfigurationService.get().carlineId;\n\t\tlet salesgroupId = carConfigurationService.get().salesGroupId;\n\n\t\tlet carline = undefined;\n\t\tlet salesgroup = undefined;\n\n\t\tif ((isEmbedded && faContent?.oferta) || (isEmbedded && faContent?.match)) {\n\t\t\t// Ofertas or Match Form Embedded\n\t\t\tlet offerOrPreconfiguration = faContent?.oferta ? faContent.oferta : faContent.match;\n\t\t\tcarline = findCarline(carlines, offerOrPreconfiguration.carline.code);\n\t\t\tsalesgroup = createSalesgroup(\n\t\t\t\tfaContent.marketingCodeConfig?.SalesgroupId,\n\t\t\t\tfaContent.marketingCodeConfig?.SalesgroupName,\n\t\t\t);\n\n\t\t\t//Initialize MarketingCode and store it\n\t\t\tgetMarketingCode(offerOrPreconfiguration.marketingCode)\n\t\t\t\t.then((res) => {\n\t\t\t\t\tconsole.log(res);\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\t\t\tpayload: {marketingCodeResponse: res.response},\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch((err) => {});\n\n\t\t\tdispatch({type: 'SET_OFERTA', payload: offerOrPreconfiguration});\n\t\t} else if (isConfiguratorMode(faContent) && carlineCode && salesgroupId) {\n\t\t\t// Showroom Context\n\t\t\tcarline = findCarline(carlines, Number(carlineCode), Number(salesgroupId));\n\t\t\tconst salesgroupCarline = findSalesgroup(carline, salesgroupId);\n\t\t\tsalesgroup = createSalesgroup(salesgroupCarline?.code, salesgroupCarline?.name);\n\t\t} else if (carlineInFaContent(faContent)) {\n\t\t\tcarline = findCarline(carlines, faContent.carlines[0]);\n\t\t} else if (salesgroupInFaContent(faContent) && !isCarlineMode(faContent)) {\n\t\t\t// Salesgroup in faContent\n\t\t\tcarline = findCarlineFromSalesgroup(carlines, Number(faContent.salesgroups[0]));\n\t\t\tconst salesgroupCarline = findSalesgroup(carline, String(faContent.salesgroups[0]));\n\t\t\tsalesgroup = createSalesgroup(salesgroupCarline?.code, salesgroupCarline?.name);\n\t\t}\n\n\t\tdispatch({\n\t\t\ttype: 'SET_SELECTED_CARLINE',\n\t\t\tpayload: carline,\n\t\t});\n\n\t\tif (carline) {\n\t\t\tdispatch({\n\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\tpayload: {modelo: carline.title},\n\t\t\t});\n\t\t}\n\n\t\tdispatch({\n\t\t\ttype: 'SET_SALESGROUP',\n\t\t\tpayload: salesgroup,\n\t\t});\n\n\t\treturn {carline, salesgroup};\n\t};\n\n\tconst removeStepAndReset = (steps: Steps[], stepName: string) => {\n\t\tlet updatedSteps = [...steps];\n\t\tupdatedSteps = removeStep(steps, stepName);\n\t\tupdatedSteps = resetStepsScreenIndex(steps);\n\t\treturn updatedSteps;\n\t};\n\n\t/**\n\t * Set initial Form with Marketing Code\n\t */\n\tconst useLeadsWithMarketingCode = (marketingCode: string) => {\n\t\tgetMarketingCode(marketingCode)\n\t\t\t.then((res) => {\n\t\t\t\tconst D6MOFASideview = getAsset(res.response.content?.consolidatedData?.meta.mediaAssets, 'D6MOFASideview');\n\t\t\t\tconst D6Explore1 = getAsset(res.response.content?.consolidatedData?.meta.mediaAssets, 'D6Explore1');\n\t\t\t\tconsole.log(res);\n\t\t\t\tconst modelName = res.marketingCodeConfig.ModelName;\n\t\t\t\tconst marketingCodeData = {marketingCode, modelName, mediaAssets: {D6MOFASideview, D6Explore1}};\n\n\t\t\t\tlet finalSteps: Steps[] = [...defaultSteps];\n\n\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'Modelo');\n\n\t\t\t\tif (!isComerciales) {\n\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'CodigoPostal');\n\t\t\t\t}\n\n\t\t\t\tdispatchLead(updateSteps(finalSteps));\n\n\t\t\t\tdispatch({type: 'SET_DELETE_CLOSE_AND_PREVIOUS', payload: true});\n\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\t\tpayload: {marketingCodeData, marketingCodeResponse: res.response},\n\t\t\t\t});\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\trequestCarlines().then((carlines) => {\n\t\t\t\t\tconst {carline, salesgroup} = setInitialProductData(carlines);\n\n\t\t\t\t\tlet finalSteps: Steps[] = [...defaultSteps];\n\n\t\t\t\t\tif (!isComerciales) {\n\t\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'CodigoPostal');\n\t\t\t\t\t}\n\t\t\t\t\tif (carline) {\n\t\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'Modelo');\n\t\t\t\t\t}\n\t\t\t\t\tdispatchLead(updateSteps(finalSteps));\n\t\t\t\t});\n\t\t\t\t// console.log(err, 'error');\n\t\t\t});\n\t};\n\n\t/**\n\t * Set initial form with Model\n\t */\n\tconst useLeadsWithModel = async (carline: string, salesGroup?: string) => {\n\t\tawait getCarlineInfo(carline)\n\t\t\t.then((res) => {\n\t\t\t\tlet colorCode = res.carline.colores.exterior.hexadecimal;\n\t\t\t\tlet D6MOFASideview: string, D6Explore1: string, modelName: string, salesGroupData: any;\n\t\t\t\tconst carlineCode: number = res.carline.code;\n\n\t\t\t\tconst setDataNoSalesGroup = () => {\n\t\t\t\t\tD6MOFASideview = res.carline.mediaAssets.D6MOFASideview;\n\t\t\t\t\tD6Explore1 = res.carline.mediaAssets.D6MainStageExterior;\n\t\t\t\t\tmodelName = res.carline.title;\n\t\t\t\t};\n\n\t\t\t\tif (salesGroup) {\n\t\t\t\t\tconst salesGroupCoincidences = res.carline.salesgroups.filter((e) => e.name === salesGroup);\n\t\t\t\t\tsalesGroupData = salesGroupCoincidences[0];\n\t\t\t\t}\n\t\t\t\tif (salesGroupData) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tD6MOFASideview = salesGroupData.mediaAssets.D6MOFASideview;\n\t\t\t\t\t\tD6Explore1 = salesGroupData.mediaAssets.D6MainStageExterior;\n\t\t\t\t\t\tcolorCode = salesGroupData.colores?.exterior?.hexadecimal;\n\t\t\t\t\t\tmodelName = salesGroupData.title;\n\t\t\t\t\t} catch (error) {\n\t\t\t\t\t\tconsole.error('No data for salesgroup found');\n\t\t\t\t\t\tsetDataNoSalesGroup();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tsetDataNoSalesGroup();\n\t\t\t\t}\n\n\t\t\t\tconst carlineData = {modelName, colorCode, mediaAssets: {D6MOFASideview, D6Explore1}};\n\n\t\t\t\tlet finalSteps: Steps[] = [...defaultSteps];\n\n\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'Modelo');\n\n\t\t\t\tif (!isComerciales) {\n\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'CodigoPostal');\n\t\t\t\t}\n\n\t\t\t\tdispatchLead(updateSteps(finalSteps));\n\n\t\t\t\tdispatch({type: 'SET_DELETE_CLOSE_AND_PREVIOUS', payload: true});\n\n\t\t\t\tdispatch({\n\t\t\t\t\ttype: 'UPDATE_FIELDS',\n\t\t\t\t\tpayload: {carlineData, carlineResponse: res, carlineCode, modelo: modelName},\n\t\t\t\t});\n\n\t\t\t\tdispatch({type: 'SET_SELECTED_CARLINE', payload: res.carline});\n\t\t\t\tif (salesGroupData) {\n\t\t\t\t\tdispatch({\n\t\t\t\t\t\ttype: 'SET_SALESGROUP',\n\t\t\t\t\t\tpayload: {salesGroupId: salesGroupData.code, salesGroupName: salesGroupData.title},\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\trequestCarlines().then((carlines) => {\n\t\t\t\t\tconst {carline, salesgroup} = setInitialProductData(carlines);\n\n\t\t\t\t\tlet finalSteps: Steps[] = [...defaultSteps];\n\n\t\t\t\t\tif (!isComerciales) {\n\t\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'CodigoPostal');\n\t\t\t\t\t}\n\t\t\t\t\tif (carline) {\n\t\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'Modelo');\n\t\t\t\t\t}\n\t\t\t\t\tdispatchLead(updateSteps(finalSteps));\n\t\t\t\t});\n\t\t\t\t// console.log(err, 'error');\n\t\t\t});\n\t};\n\n\tconst getModelInfo = async (model: string) => {\n\t\tlet dataRes: any;\n\t\tawait fetch(`${getDataUrl()}/getCarlineSalesgroups/${model}`)\n\t\t\t.then((res) => res.json())\n\t\t\t.then((data) => (dataRes = data));\n\t\treturn dataRes;\n\t};\n\n\tconst ofertasUrl = () => {\n\t\tconst path = window.location.pathname;\n\t\treturn path.includes('ofertas');\n\t};\n\n\tuseEffect(() => {\n\t\t// Si el formulario es inPage la inicialización del formulario dependerá de variables en la URL, sinó de faContent\n\t\tif (isInPage) {\n\t\t\tconst urlParams = new URLSearchParams(window.location.search);\n\t\t\tconst marketingCode = urlParams.get('marketingCode');\n\t\t\tif (marketingCode) {\n\t\t\t\tuseLeadsWithMarketingCode(marketingCode);\n\t\t\t} else {\n\t\t\t\tconst [carline, salesGroup] = getModelFromUrl();\n\t\t\t\tuseLeadsWithModel(carline, salesGroup);\n\t\t\t}\n\t\t} else {\n\t\t\trequestCarlines().then((carlines) => {\n\t\t\t\tconst {carline, salesgroup} = setInitialProductData(carlines);\n\n\t\t\t\tlet finalSteps: Steps[] = [...defaultSteps];\n\n\t\t\t\tif (!isComerciales) {\n\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'CodigoPostal');\n\t\t\t\t}\n\t\t\t\tif (carline) {\n\t\t\t\t\tfinalSteps = removeStepAndReset(finalSteps, 'Modelo');\n\t\t\t\t}\n\t\t\t\tdispatchLead(updateSteps(finalSteps));\n\t\t\t});\n\t\t}\n\t}, []);\n\n\treturn {loading, steps, firstStep, lastStep};\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const partialDataCitaConfigurador: Partial = {\n headers: { FORM_OBJECTIVE: 'Cita' },\n fields: {\n formFields: { M_OBSERVATION_BRAND: 'Petición para reservar una cita en el punto de venta.' },\n formularioFlag: 'prospect',\n formName: 'lead-cita-configure',\n formType: 'contact',\n pageCategory: 'Cita',\n },\n};\n","import {\n Breakpoints,\n Layout,\n styled,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useStore } from 'react-redux';\nimport { LastNavigation, LssiTkmQuestions, PoliticaPrivacidad } from 'src/components';\nimport { OneFormState } from 'src/types';\n\nconst GeneralconfirmacionWrapper = styled.div`\n \n`;\n\nexport const ConfirmacionLeadInPage = () => {\n const store = useStore();\n\n return (\n \n \n \n \n \n \n \n );\n};\n","/* eslint-disable @typescript-eslint/explicit-function-return-type */\nimport React, { useState, useEffect } from 'react';\nimport { styled } from '@volkswagen-onehub/components-core';\nimport car34 from './car_3-4.png';\n\nconst SectionWrapper = styled.div`\n position: relative;\n height: 100%;\n\n @media all and (min-width: 960px) {\n height: max-content;\n min-height: calc(100vh - 164px);\n width: var(--size-grid012);\n margin-top: 0;\n }\n @media all and (min-width: 1600px) {\n min-height: calc(100vh - 180px);\n }\n`;\ninterface CarlineColorCardProps {\n color: string;\n showColorCard: boolean;\n}\nconst CarlineColorCard = styled.div`\n background-color: ${(props) =>\n !props.showColorCard ? '#FFFFFF' : props.color ? props.color : '#C0C5C6'};\n height: 100%;\n z-index: -2;\n position: absolute;\n top: 0;\n width: 100vw;\n @media all and (min-width: 960px) {\n right: 0;\n width: var(--size-grid009);\n height: max-content;\n min-height: calc(100vh - 164px);\n }\n @media all and (min-width: 1600px) {\n right: 0;\n width: var(--size-grid008);\n min-height: calc(100vh - 180px);\n }\n`;\ninterface ImageWrapperProps {\n noMargins?: boolean;\n}\n\nconst ImageWrapper = styled.div`\n @media all and (min-width: 960px) {\n margin-right: var(--size-grid001);\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n padding: 40px 0;\n }\n @media all and (min-width: 1600px) {\n padding: 52px 0;\n }\n img {\n width: var(--size-grid024);\n margin: auto;\n margin-top: ${(props) => props.noMargins ? '-120px' : '0'};\n margin-bottom: ${(props) => props.noMargins ? '-52px' : '0'};\n height: auto;\n @media all and (min-width: 560px) {\n width: var(--size-grid024);\n }\n @media all and (min-width: 960px) {\n margin: auto;\n width: var(--size-grid012);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid011);\n }\n }\n`;\n\ninterface ImageProps {\n image: string;\n color: string;\n modelName: string;\n noMargins?: boolean;\n}\nexport const ImageCar = (props: ImageProps) => {\n const { image, color, modelName, noMargins } = props;\n\n //Ocultar color pastilla en caso de la imagen que llega no sea r-media\n\n const [showColorCard, setShowColorCard] = useState(true);\n const [loadingImage, setLoadingImage] = useState(false);\n\n useEffect(() => {\n if (image) {\n setLoadingImage(false);\n\n if (image.includes('r-media')) {\n setShowColorCard(true);\n } else {\n setShowColorCard(false);\n }\n } else {\n setShowColorCard(true);\n setLoadingImage(true);\n }\n }, [image]);\n\n return (\n \n \n \n {image ? (\n <>\n {loadingImage ? (\n {modelName}\n ) : (\n {modelName}\n )}\n \n ) : null}\n \n\n \n );\n};\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n styled,\n Text,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport { LocateUserFullScreen } from 'src/components';\nimport { OneFormState } from 'src/types';\nimport { getColorInfo, ImageCar } from '.';\n\nconst LayoutWrapper = styled.div`\n @media all and (min-width: 960px) {\n display: flex;\n }\n`;\n\nconst InfoWrapper = styled.div`\n width: 100%;\n padding-left: var(--size-grid002);\n padding-right: var(--size-grid002);\n padding-top: 44px;\n @media all and (min-width: 5600px) {\n padding-top: 68px;\n }\n @media all and (min-width: 960px) {\n display: flex;\n justify-content: center;\n flex-direction: column;\n width: var(--size-grid012);\n padding-left: var(--size-grid002);\n padding-right: 0;\n padding-top: 0;\n }\n @media all and (min-width: 1280px) {\n padding-left: var(--size-grid003);\n }\n @media all and (min-width: 1600px) {\n padding-left: var(--size-grid002);\n }\n`;\n\nexport const renderTitle = (formName: string) => {\n return (\n <>\n {formName === 'presupuesto' || formName === 'masInformacion' ? (\n \n {' '}\n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ) : (\n <>\n {formName === 'testDrive' ? (\n \n {' '}\n ¿Dónde prefieres{' '}\n \n provarlo?*\n \n \n ) : (\n \n {' '}\n ¿A dónde quieres{' '}\n \n ir?*\n \n \n )}\n \n )}\n \n );\n};\n\nexport const LocateUserLeadsInPage = () => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { marketingCodeData, carlineData, formName } = formData.fields;\n const [imageSrc, setImageSrc] = useState(null);\n const [name, setName] = useState(null);\n const [colorInfo, setColorInfo] = useState(null);\n\n useEffect(() => {\n if (!marketingCodeData) return;\n const { modelName, colorCode, mediaAssets } = marketingCodeData;\n setName(modelName);\n\n\n if (colorCode) {\n getColorInfo(colorCode).then((color) => {\n setColorInfo(color);\n });\n } else {\n setColorInfo('#484A52');\n }\n\n if (mediaAssets?.D6MOFASideview) {\n setImageSrc(mediaAssets?.D6MOFASideview);\n } else {\n setImageSrc(mediaAssets?.D6Explore1);\n }\n }, [marketingCodeData]);\n\n useEffect(() => {\n if (!carlineData) return;\n const { modelName, colorCode, mediaAssets } = carlineData;\n setName(modelName);\n\n if (colorCode) {\n getColorInfo(colorCode).then((color) => {\n setColorInfo(color);\n });\n } else {\n setColorInfo('#484A52');\n }\n\n if (mediaAssets?.D6MOFASideview) {\n setImageSrc(mediaAssets?.D6MOFASideview);\n } else {\n setImageSrc(mediaAssets?.D6Explore1);\n }\n }, [carlineData]);\n\n return (\n \n \n \n \n \n \n {name}\n \n \n \n Genial,{' '}\n {formName.includes('mas_informacion') ? (\n te mandamos toda la información\n ) : formName.includes('test_drive') ? (\n te esperamos para una prueba de conducción\n ) : formName.includes('presupuesto') ? (\n te enviamos tu presupuesto personalizado\n ) : formName.includes('cita') ? (\n te esperamos para contártelo todo\n ) : (\n te mandamos toda la información\n )}\n \n \n \n {' '}\n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n \n \n \n \n \n \n );\n};\n","import { Breakpoints, BreakpointWrapper } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { AvailabilityErrorLayer } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useMapGeneralController,\n sortPoints,\n useOneFormContext,\n useFeatureServices,\n NewDealerCard,\n} from 'src/feature-app';\nimport { LoadingLayer } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { Horario, OneFormState, Points } from 'src/types';\nimport { fetchProvince, fetchProvinceLegacy } from 'src/bff';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport {\n getDistanceFromLatLngCenter,\n LayerDesktopView,\n LayerMobileView\n} from 'src/feature-app/NewMap';\n\nexport const JourneyLeadInPageController = () => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n const { handleNextStep } = useOneFormContext();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const dispatch = useDispatch();\n const env = useFeatureAppEnvironment();\n const [loading, setLoading] = useState(false);\n const pointsByDistanceRef = useRef(null);\n const isComerciales = useIsComerciales();\n\n const loadingLayer = useRef(null);\n const {\n clusters,\n centerToCalculateDistance,\n superClusterRef,\n cardsDistanceRef,\n cardsTimeRef,\n } = useMapGeneralController();\n\n const [pointsToList, setPointsToList] = useState(null);\n\n useEffect(() => {\n if (clusters && superClusterRef.current) {\n const { pointsByDistance } = sortPoints(\n clusters,\n horario,\n centerToCalculateDistance.current,\n superClusterRef.current\n );\n pointsByDistanceRef.current = pointsByDistance;\n setPointsToList(pointsByDistance);\n }\n }, [clusters, superClusterRef.current]);\n\n const renderPoints = (points: Points[], isTime?: boolean, isCarouselCard?: boolean): JSX.Element[] => {\n // const pointsToRender = isTime ? pointsByTime : pointsByDistance;\n\n return points.map((point: Points, index: number) => {\n if (!point.properties.cluster) {\n const { dealer } = point.properties;\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return (\n {\n cardsDistanceRef.current[index] = el;\n }}\n >\n \n \n );\n }\n return null;\n });\n };\n\n // Gestión del point seleccionado y del boton de seleccionar (dms)\n const handleSeleccionarOnClick = useCallback((point: Points) => {\n // Añadir lógica para guardar el dealer seleccionado\n dispatch({ type: 'SET_SELECTED_INSTALLATION', payload: point.properties.installation });\n // Necesitamos el nombre de la provincia, y éste no está disponible en la request de instalaciones.\n if(isComerciales) {\n fetchProvince('LCV_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n else {\n fetchProvince('VW_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n\n handleNextStep();\n }, []);\n\n const renderLoadingLayer = () => {\n return (\n \n \n \n );\n };\n\n const handleLoadingLayer = () => {\n if (loading) {\n const layer = layerManager.openFocusLayer(renderLoadingLayer, {}, { size: FocusLayerSizeV2.A });\n loadingLayer.current = layer;\n } else {\n if (loadingLayer.current) {\n loadingLayer.current.close();\n loadingLayer.current = null;\n }\n }\n };\n\n useEffect(() => {\n handleLoadingLayer();\n }, [loading]);\n\n // availability functions\n\n return (\n
\n \n \n \n\n \n \n \n
\n );\n};\n","import React from 'react';\nimport { JourneyLeadInPageController } from '.';\nimport { MapGeneralController } from 'src/feature-app';\n\n/**\n * Este componente está creado únicamente para que JourneyNoCompraController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyLeadsInPageWrapper = () => {\n \n return (\n \n \n \n );\n};\n","import { Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { LocateUserFullScreen, MultipleCTASelection } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n} from 'src/feature-app';\nimport { RenderController, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { OneFormState, Steps } from 'src/types';\nimport { LocateUserLeadsInPage, renderTitle } from 'src/forms/LeadsInPage';\nimport { JourneyLeadsInPageWrapper } from 'src/forms/LeadsInPage';\nimport { InteractionLayerSizeV2, ShimBackgroundTypeV2 } from '@volkswagen-onehub/layer-manager';\nimport { CTAsHorario } from 'src/feature-app/InputsValues';\n\nconst getTitle = (data) => {\n if (data) {\n return;\n } else {\n return (\n \n {' '}\n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n );\n }\n};\n\nconst getLocatePage = (data) => {\n if (data) {\n return ;\n } else {\n return } />;\n }\n};\n\nenum MapaLeadsInPageSteps {\n Dealer,\n Horario,\n SeleccionCita,\n SeleccionFecha,\n}\n\ninterface MapaLeadsInPageProps {\n showHorario?: boolean;\n formName: string;\n}\n\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport function MapaLeadsInPage(props: MapaLeadsInPageProps) {\n const { formName, showHorario } = props;\n const dispatch = useDispatch();\n const store = useStore();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { marketingCodeData, carlineData } = formData.fields;\n const { firstMapLoad, multiStepScreenIndex, navigationMovingForward } = formInfo;\n const layerManager = useFeatureServices()['layer-manager'];\n const env = useFeatureAppEnvironment();\n const {\n handleScreenChange,\n // setWaitForNextStep,\n setNextMultiStep,\n setNextMultiStepScreenIndex,\n setPreviousMultiStep,\n setWaitForPreviousStep,\n waitForPreviousStep,\n // waitForNextStep,\n setIsFullScreen,\n setShowPreviousStep,\n nextStepEventEmitter,\n } = useOneFormContext();\n\n const mapStep = showHorario ? 2 : 1;\n\n let stepsHorario: Steps[] = [\n {\n title: getTitle(marketingCodeData ? marketingCodeData : carlineData),\n fields: getLocatePage(marketingCodeData ? marketingCodeData : carlineData),\n screenIndex: MapaLeadsInPageSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: MapaLeadsInPageSteps.Horario,\n name: 'MapSlotPref',\n title: (\n <>\n ¿Cúando prefieres pasar por el{' '}\n \n punto de venta?*\n \n \n ),\n fields: (\n }\n />\n ),\n outputs: ['horario'],\n outputsText: ['horario'],\n },\n {\n screenIndex: MapaLeadsInPageSteps.SeleccionCita,\n name: 'MapSelect',\n alternateTitle: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n let stepsWithoutHorario: Steps[] = [\n {\n title: getTitle(marketingCodeData ? marketingCodeData : carlineData),\n fields: getLocatePage(marketingCodeData ? marketingCodeData : carlineData),\n screenIndex: MapaLeadsInPageSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: 1,\n name: 'MapSelect',\n alternateTitle: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n const steps = showHorario ? stepsHorario : stepsWithoutHorario;\n\n const [selectedStep, setSelectedStep] = useState(null);\n const layerRef = useRef(null);\n /**\n * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n */\n const onMapLoad = () => {\n if (multiStepScreenIndex === 0) {\n // handleFirstLoad();\n }\n };\n\n const handleFirstLoad = async () => {\n if (firstMapLoad) {\n // Inicialización\n initializeMultiStep();\n } else {\n if (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n // Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n initializeMultiStep();\n } else {\n // En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n const newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n // Lo mismo para previous, solo le desactivamos si estamos en la primera.\n const newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n updateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n updateScreenChangeVariables(multiStepScreenIndex);\n }\n }\n setNextMultiStep(() => nextMapaNoCompra);\n setPreviousMultiStep(() => previousMapaNoCompra);\n };\n\n const initializeMultiStep = () => {\n updateWaitForNextAndPreviousStep(true, false);\n updateScreenChangeVariables(0);\n };\n\n const updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n if (waitForNextStep !== null) {\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep });\n }\n if (waitForPreviousStep !== null) {\n setWaitForPreviousStep(waitForPreviousStep);\n }\n };\n\n const nextMapaNoCompra = () => {\n if (!showHorario) {\n renderLayer();\n return;\n }\n const { multiStepScreenIndex } = store.getState().formInfo;\n\n if (multiStepScreenIndex === 1) {\n renderLayer();\n updateScreenChangeVariables(mapStep);\n return;\n }\n\n handleScreenChange();\n\n // Una vez avanzamos dentro de los multisteps se activa el wait\n // previous step para volver hacia atrás dentro del propio multistep.\n if (!waitForPreviousStep || multiStepScreenIndex === 0) {\n updateWaitForNextAndPreviousStep(null, true);\n }\n\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex + 1);\n // Si estamos en el último paso del multistep se desactiva el\n // wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n if (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n updateWaitForNextAndPreviousStep(false, null);\n if (multiStepScreenIndex === 0) {\n setShowPreviousStep(false);\n } else {\n setShowPreviousStep(true);\n }\n }\n }, TIME_FOR_TRANSFORM);\n };\n\n const previousMapaNoCompra = () => {\n const { multiStepScreenIndex, waitForNextStep } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Se desactiva el wait previous step en la segunda pantalla para que\n // en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n if (multiStepScreenIndex === 1) {\n updateWaitForNextAndPreviousStep(null, false);\n }\n\n if (!waitForNextStep) {\n updateWaitForNextAndPreviousStep(true, null);\n }\n\n // Se fija en la pantalla previa a la primera para que cuando se cambie\n // a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex - 1);\n }, TIME_FOR_TRANSFORM);\n };\n\n const updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n setNextMultiStepScreenIndex(newMultiStepScreenIndex);\n dispatch({ type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex });\n setSelectedStep(steps[newMultiStepScreenIndex]);\n setIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n setShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_MULTISTEPS', payload: steps });\n\n handleFirstLoad();\n\n return () => {\n dispatch({ type: 'UPDATE_FIRST_MAP_LOAD', payload: false });\n setShowPreviousStep(true);\n updateWaitForNextAndPreviousStep(false, false);\n };\n }, []);\n\n const renderElement = (state?: any) => {\n if (state) {\n updateWaitForNextAndPreviousStep(false, null);\n }\n\n return (\n \n \n \n \n \n );\n };\n\n /**\n * Necesario para en el caso de que se cierre el mapa se pueda mostrar la pantalla de preferencia horaria\n */\n const onCloseMap = () => {\n updateScreenChangeVariables(mapStep - 1);\n updateWaitForNextAndPreviousStep(true, false);\n };\n\n const renderLayer = () => {\n const layer = layerManager.openInteractionLayer(\n renderElement,\n { step: steps[mapStep], nextStepEventEmitter },\n {\n size: InteractionLayerSizeV2.D,\n id: 'mapaLeadInPage',\n shimBackgroundType: ShimBackgroundTypeV2.OPAQUE,\n onClose: onCloseMap,\n }\n );\n layerRef.current = layer;\n return null;\n };\n\n return selectedStep ? (\n selectedStep.screenIndex === mapStep ? null : (\n \n \n \n )\n ) : null;\n}\n","import { FormDataGroup } from 'src/types';\n\nexport const PartialDataMasInformacionConfigurador: Partial = {\n headers: { FORM_OBJECTIVE: 'Más Información' },\n fields: {\n formFields: {},\n formularioFlag: 'masInformacion',\n formName: 'lead-mas_informacion-configure',\n formType: 'contact',\n pageCategory: 'Más Información',\n },\n};\n","import { FormDataGroup } from 'src/types';\n\n export const PresupuestoPartialDataConfigurador: Partial = {\n headers: { FORM_OBJECTIVE: 'Presupuesto' },\n fields: {\n formFields: {},\n formularioFlag: 'presupuesto',\n formName: 'lead-presupuesto-configure',\n formType: 'quote',\n pageCategory: 'Presupuesto',\n },\n};\n","import { FormDataGroup } from 'src/types';\n\nexport const PartialDataTestDriveConfigurador: Partial = {\n headers: { FORM_OBJECTIVE: 'Test Drive' },\n fields: {\n formFields: {},\n formularioFlag: 'testDrive',\n formName: 'lead-test_drive-configure',\n formType: 'testdrive',\n pageCategory: 'Test Drive',\n },\n};\n","import { Color } from 'src';\nimport { getColors } from 'src/bff';\n\nexport const getColorInfo = async (colorCode: string): Promise => {\n if (!colorCode) return null;\n let colorInfo: Color;\n\n const colors = await getColors();\n const aux = colorCode.split(' ');\n if (colorCode.includes('#')) {\n colorInfo = colors.colores.find((a) => a.hex === colorCode);\n }\n else {\n colorInfo = colors.colores.find((a) => a.code === aux[1]);\n }\n\n return colorInfo;\n};\n","import {\n Breakpoints,\n BreakpointWrapper,\n Image,\n Layout,\n styled,\n Text,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { useFeatureServices, useFaContent } from 'src/feature-app';\n\nconst TitleTextWrapper = styled.div`\n position: relative;\n`;\nconst TextWrapper = styled.div`\n position: absolute;\n bottom: 5%;\n color: #ffffff;\n padding: 0px var(--size-grid002);\n`;\ninterface MGMTitleProps {\n title: string;\n copy: string;\n}\ninterface MGMLayoutProps {\n title: string;\n fields: JSX.Element;\n}\n\nexport function MGMLayout({ title, fields }: MGMLayoutProps) {\n const imageService = useFeatureServices()['image-service'];\n const mgmImgSrc = useFaContent()?.mgmImgSrc;\n\n // const test = imageService.getImageURL({ contentFile: '/content/dam/evhub-sample/images/16-9/16_9.jpg', scene7File: '/content/dam/evhub-sample/images/16-9/16_9.jpg', });\n // console.log(test, 'test');\n return (\n \n \n \"Volkswagen\"\n \n \n \n {title}\n \n \n \n \n <>{fields}\n \n );\n}\n\nexport const MGMTitle = ({ title, copy }: MGMTitleProps) => {\n return (\n <>\n \n \n {title}\n \n \n
\n \n {copy}\n \n \n );\n};\n","import { Container, ContainerPadding, CTA, styled } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { Apellido, Email, Nombre, Telefono } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { KoScreen, LoadingScreen } from 'src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\nimport { MGMFieldsProps } from 'src/forms';\nimport { OneFormState } from 'src/types';\nimport { MGMTitle } from './MGMLayout';\n\nconst GeneralconfirmacionWrapper = styled.div``;\n\nexport function BonoClienteFields({ title, copy }: MGMFieldsProps) {\n return (\n \n \n \n \n \n \n \n \n
\n \n
\n
\n );\n}\n\nfunction LastNavigation() {\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { getValues, triggerValidation } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const { formData } = useSelector((state: OneFormState) => state);\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n const NoCompraTitle = 'Uy, algo ha pasado';\n const NoCompraBody = 'Por alguna razón no hemos podido guardar tu respuesta. ¿Lo intentamos de nuevo? ';\n\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n async function handleConfirmarCita(e: any) {\n trackingManager.trackFormCTAClick({\n contentId: 'Quiero mi bono',\n });\n\n const isValid = await triggerValidation();\n\n if (isValid) {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n <>\n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent={window.innerWidth <= 560}\n >\n Quiero mi bono\n \n \n );\n}\n","import {\n Container,\n ContainerGutter,\n ContainerPadding,\n CTA,\n styled,\n Text,\n TokenTextAppearance,\n TokenTextColor,\n} from '@volkswagen-onehub/components-core';\nimport React from 'react';\n\nexport function LegalMGM({ isFriendForm }: { isFriendForm?: boolean }) {\n return (\n \n \n *Promoción solo válida para los 100 primeros pedidos de clientes particulares y autónomos que se adhieran a la presente promoción. El cupón solo puede canjearse con pedidos realizados antes del 28/02/2023. Válido para la compra de vehículos en stock y vehículos a producción. El cupón tendrá un valor de: 1.000€ PVP adicionales para los acabados R-Line, Sport, GTI o R y 500€ PVP adicionales para el resto de acabados. Quedan excluidos vehículos de la promoción los modelos Polo, Tiguan Life y T-Cross Clic2go. El cupón no será acumulable a ofertas ya realizadas por parte del Concesionario ni para pedidos ya realizados, ni cancelados en el último mes. Este cupón no tiene ningún valor en metálico. Solo se aceptará un único cupón por compra y solo se podrá canjear una única vez.\n \n {isFriendForm ? (\n \n **Te recordamos que en caso de que nos proporciones datos relativos a otra persona física deberás, con carácter previo a su inclusión, informarle de los extremos contenidos en la presente cláusula.\n \n ) : null}\n \n Te informamos que el responsable del tratamiento de tus datos es la compañía VOLKSWAGEN GROUP ESPAÑA DISTRIBUCION, S.A.U., con la finalidad de atender tus consultas y solicitudes, realizar un control de calidad sobre los productos y servicios solicitados, realizar encuestas de opinión y estudios de mercado con fines estadísticos. En caso que nos hayas dado tu consentimiento, para las finalidades descritas en los consentimientos adicionales.\n \n \n Te informamos que tienes derecho a retirar tu consentimiento en cualquier momento, así como a oponerte al tratamiento, limitar el mismo, acceder, rectificar, suprimir los datos y ejercer tu derecho a la portabilidad, mediante petición escrita a :{' '}\n \n atencioncliente@volkswagen.es\n \n .\n \n \n Puedes consultar con mayor detalle la información adicional sobre la política de privacidad{' '}\n \n aquí\n \n .\n \n \n );\n}\n","import React, { useEffect } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport { FormController, useOneFormContext, formatPrefix } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, MolecularResponse, OneFormState, Steps } from 'src/types';\nimport { BonoClienteFields, ThankYouMGM } from './';\nimport { LegalMGM } from './LegalMGM';\nimport { MGMFormProps } from './MGMController';\nimport { formatHeaders, formDataBuilder } from '../format-fields';\nimport { MGMLayout } from './MGMLayout';\n\nconst bonoClienteCopies = {\n title: 'Solo te queda un Sí, para tener hasta 1.000€.',\n copy: '¡Comprueba tus datos y envía!',\n};\n\nexport function BonoClienteForm(props: MGMFormProps) {\n const { dpsData, idLead, idPerson, trackFormLoad } = props;\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const steps: Steps[] = [\n {\n title: <>, // El title se renderiza en los fields al ser un form de un solo step con un diseño que incluye un stage.\n fields: (\n }\n />\n ),\n screenIndex: 0,\n name: 'Form',\n },\n ];\n\n const BonoClienteData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_CAMPAIGNBLOCK: '16. One shot',\n DESC_ID_CAMPAIGN: '7011n000001FY4sAAG',\n DESC_TOKEN: 'VW_DDB_FRM_MGM_CLIENTE_RENOVACION_STOCK_22',\n DESC_FORM_DETAIL: 'MGM Bono Cliente Renovación Stock 22',\n },\n fields: {\n formName: 'mgm-bono-cliente',\n formType: 'otherform',\n pageCategory: 'Cupon',\n name: idPerson.FirstName,\n surname: idPerson.LastName,\n secondSurname: idPerson.TXT_2_Surname__c,\n email: idPerson.TXT_Email__c,\n cellphone: idPerson.NUM_Phone_mobile__c,\n }, // Analítica\n };\n\n const generateData = () => {\n const { formData }: OneFormState = store.getState();\n const { fields, headers } = formData;\n const { tc, today, url, device } = getParamsForm();\n\n return {\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORMOBJECTIVE]': fields.pageCategory, // Revisar\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[PINCODE]': dpsData?.pincode?.pincodeResponse?.params?.pincode,\n ...formatHeaders(headers), // Headers comunes a todos los formularios de leads\n\n 'fields[DESC_SURNAME_2]': fields.secondSurname,\n 'fields[DESC_SURNAME_1]': fields.surname,\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_EMAIL_ADDRESS]': fields.email,\n 'fields[NUM_CELLPHONE]': `${formatPrefix(fields.prefix)}${fields.cellphone}`,\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_AUXFIELD20]': idPerson.Id,\n 'fields[DESC_AUXFIELD1]': 'Bono Cliente',\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': idPerson.LSSI__c,\n 'fields[DESC_LOPD_GDPR_PERFILADO]': idPerson.Robinson__c,\n\n 'flags[FLAG_ISLEAD]': 'false',\n 'flags[FLAG_ISPROSPECT]': 'true',\n 'flags[FLAG_VOUCHER]': 'true',\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = (): Promise => {\n return new Promise(async (resolve) => {\n const data = generateSubmitData();\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n // const { loading, steps, firstStep, lastStep } = useInitializeMGMForm(steps, idLead);\n\n useEffect(() => {\n const BonoClienteInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: steps[0].fullScreen ? true : false,\n lastStep: steps[steps.length - 1],\n numberOfScreens: steps.length,\n screenIndex: steps[0].screenIndex,\n hideLegal: true,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: steps[0],\n steps,\n stepsHistory: [0],\n customLegal: ,\n thankYouComponent: ,\n };\n initializeForm(BonoClienteInfo, BonoClienteData, true);\n trackFormLoad();\n }, []);\n\n return !steps ? null : ;\n}\n","import {\n Container,\n CTA,\n styled,\n ContainerPadding,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { MGMFieldsProps } from 'src/forms';\nimport { Apellido, Email, Nombre, Telefono, LssiTkmQuestions } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n} from 'src/feature-app';\nimport { KoScreen, LoadingScreen } from 'src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\nimport { OneFormState } from 'src/types';\nimport { MGMTitle } from './MGMLayout';\n\nconst GeneralconfirmacionWrapper = styled.div``;\n\nexport function BonoRegaloFields({ title, copy }: MGMFieldsProps) {\n const [lssi, setLssi] = useState(null);\n const [tmk, setTmk] = useState(null);\n const [lssiError, setLssiError] = useState(false);\n const [tmkError, setTmkError] = useState(false);\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (lssi) {\n const values = { lssi: lssi };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setLssiError(false);\n }\n if (tmk) {\n const values = { tmk: tmk };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setTmkError(false);\n }\n }, [lssi, tmk]);\n\n return (\n \n \n \n \n \n \n \n \n
\n \n
\n
\n );\n}\n\ninterface LastNavigationProps {\n tmk: string;\n lssi: string;\n tmkError: boolean;\n lssiError: boolean;\n setTmkError: React.Dispatch>;\n setLssiError: React.Dispatch>;\n setTmk: React.Dispatch>;\n setLssi: React.Dispatch>;\n}\n\nfunction LastNavigation(props: LastNavigationProps) {\n const { tmk, lssi, setTmkError, setLssiError, tmkError, lssiError, setLssi, setTmk } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { getValues, triggerValidation } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const { formData } = useSelector((state: OneFormState) => state);\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n const NoCompraTitle = 'Uy, algo ha pasado';\n const NoCompraBody = 'Por alguna razón no hemos podido guardar tu respuesta. ¿Lo intentamos de nuevo? ';\n\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n async function handleConfirmarCita(e: any) {\n trackingManager.trackFormCTAClick({\n contentId: 'Quiero mi bono',\n });\n\n const isValid = await triggerValidation();\n\n if (isValid && !lssiError && !tmkError) {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n
\n \n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent={window.innerWidth <= 560}\n >\n Quiero mi bono\n \n
\n );\n}\n","import Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport { formatPrefix, FormController, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { } from 'src/forms/MGM';\nimport { FormDataGroup, FormInfo, MolecularResponse, OneFormState, Steps } from 'src/types';\nimport { ThankYouMGM } from '.';\nimport { formatHeaders, formDataBuilder } from '../format-fields';\nimport { BonoRegaloFields } from './BonoRegaloFields';\nimport { LegalMGM } from './LegalMGM';\nimport { MGMFormProps } from './MGMController';\nimport { MGMLayout } from './MGMLayout';\n\nconst bonoRegaloCopies = {\n title: 'Solo te queda un Sí, para tener hasta 1.000€ de descuento.',\n copy: '¡Rellena el formulario con tus datos y envía!',\n};\n\nexport function BonoRegaloForm(props: MGMFormProps) {\n const { dpsData, idLead, idPerson, trackFormLoad } = props;\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const { getValues } = useFormContext();\n const steps: Steps[] = [\n {\n title: <>, // El title se renderiza en los fields al ser un form de un solo step con un diseño que incluye un stage.\n fields: (\n }\n />\n ),\n screenIndex: 0,\n name: 'Form',\n },\n ];\n\n const BonoRegaloData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_CAMPAIGNBLOCK: '16. One shot',\n DESC_ID_CAMPAIGN: '7011n000001FY4sAAG',\n DESC_TOKEN: 'VW_DDB_FRM_MGM_REGALO_RENOVACION_STOCK_22',\n DESC_FORM_DETAIL: 'MGM Bono Regalo Renovación Stock 22',\n },\n fields: {\n formName: 'mgm-bono-regalo',\n formType: 'otherform',\n pageCategory: 'Cupon',\n }, // Analítica\n };\n\n const generateData = () => {\n const { formData }: OneFormState = store.getState();\n const { fields, headers } = formData;\n const { tc, today, url, device } = getParamsForm();\n const values = getValues();\n\n return {\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_FORMOBJECTIVE]': fields.pageCategory, // Revisar\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[PINCODE]': dpsData?.pincode?.pincodeResponse?.params?.pincode,\n ...formatHeaders(headers), // Headers comunes a todos los formularios de leads\n\n 'fields[DESC_SURNAME_2]': values.secondSurname,\n 'fields[DESC_SURNAME_1]': values.surname,\n 'fields[DESC_NAME]': values.name,\n 'fields[DESC_EMAIL_ADDRESS]': values.email,\n 'fields[NUM_CELLPHONE]': `${formatPrefix(fields.prefix)}${values.cellphone}`,\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_AUXFIELD20]': idPerson.Id,\n 'fields[DESC_AUXFIELD1]': 'Bono Regalo',\n 'fields[DESC_AUXFIELD2]': idPerson.FirstName,\n 'fields[DESC_AUXFIELD3]': idPerson.LastName,\n 'fields[DESC_AUXFIELD4]': idPerson.TXT_2_Surname__c,\n 'fields[DESC_AUXFIELD5]': idPerson.TXT_Email__c,\n 'fields[DESC_AUXFIELD6]': idPerson.NUM_Phone_mobile__c,\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = (): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateSubmitData();\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n // const { loading, steps, firstStep, lastStep } = useInitializeMGMForm(steps, idLead);\n\n useEffect(() => {\n const BonoRegaloInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: steps[0].fullScreen ? true : false,\n lastStep: steps[steps.length - 1],\n numberOfScreens: steps.length,\n screenIndex: steps[0].screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: steps[0],\n steps,\n hideLegal: true,\n stepsHistory: [0],\n customLegal: ,\n thankYouComponent: ,\n };\n initializeForm(BonoRegaloInfo, BonoRegaloData, true);\n trackFormLoad();\n }, []);\n\n return !steps ? null : ;\n}\n","import { Container, ContainerPadding, CTA, styled } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore } from 'react-redux';\nimport { Apellido, Email, Nombre, Telefono } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager\n} from 'src/feature-app';\nimport { MGMFieldsProps } from 'src/forms';\nimport { KoScreen, LoadingScreen } from 'src/forms/CitaPosventa/NuevaCitaPosventa/ConfirmarCitaLayer';\nimport { MGMTitle } from './MGMLayout';\n\nconst GeneralconfirmacionWrapper = styled.div``;\n\nexport function EnvioRegaloFields({ title, copy }: MGMFieldsProps) {\n const [lssi, setLssi] = useState(null);\n const [tmk, setTmk] = useState(null);\n const [lssiError, setLssiError] = useState(false);\n const [tmkError, setTmkError] = useState(false);\n const dispatch = useDispatch();\n\n useEffect(() => {\n if (lssi) {\n const values = { lssi: lssi };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setLssiError(false);\n }\n if (tmk) {\n const values = { tmk: tmk };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setTmkError(false);\n }\n }, [lssi, tmk]);\n\n return (\n \n \n \n \n \n \n \n \n
\n \n
\n
\n );\n}\n\ninterface LastNavigationProps {\n tmk: string;\n lssi: string;\n tmkError: boolean;\n lssiError: boolean;\n setTmkError: React.Dispatch>;\n setLssiError: React.Dispatch>;\n setTmk: React.Dispatch>;\n setLssi: React.Dispatch>;\n}\n\nfunction LastNavigation() {\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { triggerValidation } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n const NoCompraTitle = 'Uy, algo ha pasado';\n const NoCompraBody = 'Por alguna razón no hemos podido guardar tu respuesta. ¿Lo intentamos de nuevo? ';\n\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n async function handleConfirmarCita(e: any) {\n trackingManager.trackFormCTAClick({\n contentId: 'Sí a sorprender',\n });\n\n const isValid = await triggerValidation();\n\n if (isValid) {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n
\n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent={window.innerWidth <= 560}\n >\n Sí a sorprender\n \n
\n );\n}\n","\nimport React, { useEffect } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch, useStore } from 'react-redux';\nimport { dpsSend } from 'src/bff';\nimport { FormController, useOneFormContext, formatPrefix } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport {} from 'src/forms/MGM';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ThankYouMGM } from '.';\nimport { formDataBuilder, formatHeaders } from '../format-fields';\nimport { EnvioRegaloFields } from './EnvioRegaloFields';\nimport { LegalMGM } from './LegalMGM';\nimport { MGMFormProps } from './MGMController';\nimport { MGMLayout } from './MGMLayout';\n\nconst envioRegaloCopies = {\n title: 'Di Sí a sorprender a esa persona tan especial.',\n copy: '¡Rellena el formulario con sus datos!',\n};\n\nexport function EnvioRegaloForm(props: MGMFormProps) {\n const { dpsData, idLead, idPerson, trackFormLoad } = props;\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const { getValues } = useFormContext();\n\n const steps: Steps[] = [\n {\n title: <>, // El title se renderiza en los fields al ser un form de un solo step con un diseño que incluye un stage.\n fields: (\n }\n />\n ),\n screenIndex: 0,\n name: 'Form',\n },\n ];\n\n const EnvioRegaloData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_CAMPAIGNBLOCK: '16. One shot',\n DESC_ID_CAMPAIGN: '7011n000001FY4sAAG',\n DESC_TOKEN: 'VW_DDB_FRM_MGM_CLIENTE_RENOVACION_STOCK_22',\n DESC_FORM_DETAIL: 'MGM Envío Regalo Renovación Stock 22',\n },\n fields: {\n formName: 'mgm-envio-regalo',\n formType: 'otherform',\n pageCategory: 'Regalar Cupon',\n }, // Analítica\n };\n\n const generateData = () => {\n const { formData }: OneFormState = store.getState();\n const { fields, headers } = formData;\n const { tc, today, url, device } = getParamsForm();\n const values = getValues();\n\n return {\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[DESC_FORMOBJECTIVE]': fields.pageCategory, // Revisar\n 'headers[TC]': tc,\n 'headers[PINCODE]': dpsData?.pincode?.pincodeResponse?.params?.pincode,\n ...formatHeaders(headers), // Headers comunes a todos los formularios de leads\n\n 'fields[DESC_SURNAME_2]': idPerson.TXT_2_Surname__c,\n 'fields[DESC_SURNAME_1]': idPerson.LastName,\n 'fields[DESC_NAME]': idPerson.FirstName,\n 'fields[DESC_EMAIL_ADDRESS]': idPerson.TXT_Email__c,\n 'fields[NUM_CELLPHONE]': idPerson.NUM_Phone_mobile__c,\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[DESC_AUXFIELD20]': idPerson.Id,\n 'fields[DESC_AUXFIELD1]': 'Envío Regalo',\n 'fields[DESC_AUXFIELD2]': values.name,\n 'fields[DESC_AUXFIELD3]': values.surname,\n 'fields[DESC_AUXFIELD4]': values.secondSurname,\n 'fields[DESC_AUXFIELD5]': values.email,\n 'fields[DESC_AUXFIELD6]': `${formatPrefix(fields.prefix)}${values.cellphone}`,\n 'fields[DESC_LOPD]': 'PERMITE',\n 'fields[DESC_TRANF_DATA_THIRD]': 'NO INFORMADO',\n 'fields[DESC_LSSI]': idPerson.LSSI__c,\n 'fields[DESC_LOPD_GDPR_PERFILADO]': idPerson.Robinson__c,\n\n 'flags[FLAG_ISLEAD]': 'false',\n 'flags[FLAG_ISPROSPECT]': 'false',\n 'flags[FLAG_VOUCHER]': 'false',\n };\n };\n\n const generateSubmitData = () => generateData();\n\n const sendForm = (): Promise => {\n return new Promise(async (resolve) => {\n const data = generateSubmitData();\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await dpsSend(formData);\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n // const { loading, steps, firstStep, lastStep } = useInitializeMGMForm(steps, idLead);\n\n useEffect(() => {\n const EnvioRegaloInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: steps[0].fullScreen ? true : false,\n lastStep: steps[steps.length - 1],\n numberOfScreens: steps.length,\n screenIndex: steps[0].screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n hideLegal: true,\n step: steps[0],\n steps,\n stepsHistory: [0],\n customLegal: ,\n thankYouComponent: ,\n };\n initializeForm(EnvioRegaloInfo, EnvioRegaloData, true);\n trackFormLoad();\n }, []);\n\n return !steps ? null : ;\n}\n","import { Spinner, styled, Text } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { BonoClienteForm } from './';\n// import { MGMContactadoForm } from './MGMContactadoForm';\n// import { MGMNoContactadoForm } from './MGMNoContactadoForm';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { useFeatureServices, useTrackingManager, useFaContent} from 'src/feature-app';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { CarlineBase, DealersData, IdLead, IdPerson } from 'src/types';\n// import { checkIdLeadHasCarline } from './use-initialize-MGM-form';\nimport { createPincodeEntity } from '../dps-utils';\nimport { EnvioRegaloForm } from './EnvioRegaloForm';\nimport { BonoRegaloForm } from './BonoRegaloForm';\n\nexport interface MGMFormProps {\n idLead: IdLead;\n idPerson: IdPerson;\n dpsData: DpsData;\n handleError: () => void;\n trackFormLoad: () => void;\n}\n\nexport interface MGMFieldsProps {\n title: string;\n copy: string;\n}\n\nexport function MGMController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [usado, setUsado] = useState(false);\n const [caducado, setCaducado] = useState(false);\n const [bonoCliente, setBonoCliente] = useState(false);\n const [envioRegalo, setEnvioRegalo] = useState(false);\n const [bonoRegalo, setBonoRegalo] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idLeadRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const faContent = useFaContent();\n\n const handleNext = (value: any) => {};\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setUsado(true);\n setLoading(false);\n } else {\n const idLead = createPincodeEntity(dpsData, 'LEAD');\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idLeadRef.current = idLead;\n idPersonRef.current = idPerson;\n\n if (faContent.mgm === 'Bono Cliente') {\n setBonoCliente(true);\n } else if (faContent.mgm === 'Envío Regalo') {\n setEnvioRegalo(true);\n } else if (faContent.mgm === 'Bono Regalo') {\n setBonoRegalo(true);\n }\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n const trackFormLoad = () => {\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else if (caducado) {\n return (\n <>\n \n \n );\n } else if (usado) {\n return (\n <>\n \n \n );\n } else {\n return (\n <>\n {bonoCliente ? (\n \n ) : envioRegalo ? (\n \n ) : bonoRegalo ? (\n \n ) : null}\n \n );\n }\n}\ninterface CenterContentProps {\n height: string;\n}\nconst CenterContent = styled.div`\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n height: ${(props) => (props.height ? props.height : '100%')};\n`;\n\nconst Loading = () => {\n const [height, setHeight] = useState('100%');\n\n useEffect(() => {\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n let aux;\n\n if (viewportWidth < 560) {\n aux = viewportHeight - 152;\n } else if (viewportWidth < 1600) {\n aux = viewportHeight - 252;\n } else {\n aux = viewportHeight - 380;\n }\n setHeight(`${aux}px`);\n }, []);\n\n return (\n \n \n Cargando tus datos\n \n );\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { TrackingForm, useTrackingManager } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\n\nexport function ThankYouMGM({ friend }: { friend?: boolean }) {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => ({\n LeadID: undefined,\n FormFields: undefined,\n });\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo?.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const screen: Steps = {\n title: friend ? (\n <>\n ¡Muchas gracias! Esa persona tan especial ya está más cerca de estrenar su Volkswagen.\n \n ) : (\n <>\n ¡Muchas gracias! Ya estás más cerca de estrenar tu Volkswagen.\n \n ),\n fields: <>,\n };\n return (\n \n );\n}\n","import { Breakpoints, Layout } from '@volkswagen-onehub/components-core';\nimport { \n LegalesFormatoLayer, \n LssiTkmQuestions, \n LastNavigation, \n PoliticaPrivacidad,\n GeneralConfirmacionLayerWrapper\n} from 'src/components';\nimport React from 'react';\n\nexport const ConfirmacionNewsletter = () => {\n\n return (\n \n \n \n \n \n \n \n \n );\n};\n","import Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect } from 'react';\nimport { Text } from '@volkswagen-onehub/components-core';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { ConfirmacionNewsletter } from './ConfirmacionNewsletter';\nimport { Email, PantallaNombreApellido } from 'src/components';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps, MolecularResponse } from 'src/types';\nimport { FormController, removeWhiteSpace, useFeatureAppConfig, useOneFormContext } from 'src/feature-app';\nimport { ThankYouNewsletter } from './';\nimport { formDataBuilder } from '../format-fields';\n\nexport enum NewsletterSteps {\n NombreApellido,\n Email,\n Confirmacion,\n}\n\nexport function NewsletterForm() {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const config = useFeatureAppConfig();\n const dispatch = useDispatch();\n const steps: Steps[] = [\n {\n title: (\n <>\n Queremos contártelo todo sobre la familia ID. Pero antes, nos gustaría saber quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NewsletterSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n ¿A qué email te enviamos nuestras novedades?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NewsletterSteps.Email,\n name: 'Email',\n outputs: ['email'],\n outputsText: ['email'],\n },\n {\n fields: ,\n screenIndex: NewsletterSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n },\n fields: { formName: 'newsletter', formType: 'newsletter', pageCategory: 'Suscripción Newsletter' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, referalUrl, url, device } = getParamsForm();\n\n const data = {\n 'headers[DPS_TOKEN]': 'VW_DDB_FRM_ID_NEWSLETTER',\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_DETAILS]': 'ID', //Este debería pasarse a variable, aunque actualmente siempre sea ID\n 'headers[FORM_NAME]': 'vw-oneform-newsletter',\n 'headers[FORM_OBJECTIVE]': 'Suscripción Newsletter',\n 'headers[FORM_URL]': url,\n 'headers[FORM_VERSION]': `vw-oneform-newsletter-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[SF_CAMPAIGN_ORIGIN_ID]': 'PENDIENTE',\n\n 'flags[FLAG_RELACION_MARCA_SIN_IC]': false,\n 'flags[PERSON_RGPD_ADAPTED]': true,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Prospect',\n 'fields[PERSON_NAME]': fields.name,\n 'fields[PERSON_SURNAME_1]': fields.surname,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname,\n 'fields[PERSON_EMAIL]': removeWhiteSpace(fields.email),\n 'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData);\n\n if (response && response.data && response.data.content && response.data?.status?.code == '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'inverted',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n notALayer: false,\n formType: 'layer',\n thankYouComponent: ,\n };\n\n initializeForm(NuevoFormInfo, NuevoFormData);\n }, []);\n\n return ;\n}\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThankYouNewsletter = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getCarlines } from 'src/bff';\nimport { useGetInstalaciones } from 'src/feature-app';\nimport { IdLead, Steps } from 'src/types';\n\nconst getLastItemOfSteps = (steps: Steps[]) => steps[steps.length - 1];\n\nconst propertyHasValue = (property: string) => property !== 'null';\n\nexport const checkHasCarline = (idLead: IdLead) =>\n idLead &&\n idLead.NUM_COD_INTEREST_CARLINE__c &&\n idLead.DESC_Model__c &&\n propertyHasValue(idLead.NUM_COD_INTEREST_CARLINE__c) &&\n propertyHasValue(idLead.DESC_Model__c);\n\nexport function useInitializeNoCompraForm(steps: Steps[]) {\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n const installations = useGetInstalaciones('VW_DDB_FRM_ENCUESTA_NO_COMPRA', 'VOLKSWAGEN_SF_INSTALLATION_ALL'); // llama al metodo getInstallations()\n\n useEffect(() => {\n const requestCarlines = async () => {\n const carlines = await getCarlines();\n\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n setLoading(false);\n };\n\n requestCarlines();\n }, []);\n\n return { firstStep: steps[0], lastStep: getLastItemOfSteps(steps), loading };\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { CarlineBase, DealersData, IdLead, IdPerson } from 'src/types';\nimport { NoCompraYaTengo, NoCompraNoTengo, NoCompraNoQuiero } from '.';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { checkHasCarline } from './use-initialize-no-compra-form';\nimport { createPincodeEntity } from '../dps-utils';\nimport { LoadingEncuestas } from 'src/components';\n\nexport interface NoCompraFormProps {\n idLead: IdLead;\n idPerson: IdPerson;\n dpsData: DpsData;\n handleError: () => void;\n trackFormLoad: () => void;\n estado: string;\n}\n\nexport function NoCompraController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [usado, setUsado] = useState(false);\n const [estado, setEstado] = useState(null);\n const [yaTengo, setYaTengo] = useState(false);\n const [noTengo, setNoTengo] = useState(false);\n const [noQuiero, setNoQuiero] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idLeadRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const dispatch = useDispatch();\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n const { estado } = dpsData;\n setEstado(estado);\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setUsado(true);\n setLoading(false);\n } else {\n const idLead = createPincodeEntity(dpsData, 'LEAD');\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idLeadRef.current = idLead;\n idPersonRef.current = idPerson;\n\n if (estado === 'ya_tengo') {\n setYaTengo(true);\n } else if (estado === 'no_quiero') {\n setNoQuiero(true);\n } else if (estado === 'no_tengo') {\n setNoTengo(true);\n } else {\n handleError();\n }\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n {/* useEffect(() => {\n console.log(error, 'error');\n }, [error]);*/}\n\n const trackFormLoad = () => {\n if (idLeadRef.current) {\n const customDealer: DealersData = {\n kvps: idLeadRef.current.TXT_DESC_DEALER_CODE__c,\n name: idLeadRef.current.DESC_Dealer_Code__c,\n markerInfo: { dealerInfo: { zipCode: idLeadRef.current.TXT_Postal_Code__c } },\n };\n dispatch({ type: 'SET_SELECTED_DEALER', payload: customDealer });\n if (checkHasCarline(idLeadRef.current)) {\n const carline: Partial = {\n title: idLeadRef.current.DESC_Model__c,\n code: Number(idLeadRef.current.NUM_COD_INTEREST_CARLINE__c),\n };\n dispatch({ type: 'SET_SELECTED_CARLINE', payload: carline });\n }\n }\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n // función para layer de error\n const handleTryAgain = async () => {\n // oneFormService.\n setError(false);\n setLoading(true);\n await oneFormService.retryPincodeLoad();\n handleComplete();\n };\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else if (usado) {\n return (\n <>\n \n \n );\n } else {\n return (\n <>\n {yaTengo ? (\n \n ) : noTengo ? (\n \n ) : noQuiero ? (\n \n ) : null}\n \n );\n }\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend, getVehiculosModelo } from 'src/bff';\nimport { FechaCompra, PantallaIntroduccionStars, SelectMarcaModelo, MultipleCTASelection } from 'src/components';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { useInitializeNoCompraForm, NoCompraFormProps, ConfirmacionNoCompra, ThankYouNoCompra, getCommonFormData, RatingSteps } from '.';\n\nexport enum NoCompraYaTengoSteps {\n //FechaCompra,\n TipoCompra,\n Modelo,\n Valoracion,\n Plazos,\n\tVisita,\n\tPrecio,\n\tEquipamiento,\n\tConsumo,\n\tGarantia,\n\tFinanciacion,\n Confirmacion,\n}\n\nexport function NoCompraYaTengo({ dpsData, idLead, idPerson, handleError, trackFormLoad, estado }: NoCompraFormProps) {\n const { initializeForm, nextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n\n const ctasTipoCompra = [\n {\n label: 'He comprado un vehículo nuevo',\n value: '1'\n },\n {\n label: 'He comprado un vehículo de ocasión',\n value: '2'\n },\n ];\n \n /*\n const getModeloInteresOutputs = (modelo: string, list: any) => {\n const aux = list.find((mod: any) => mod.name === 'modelo');\n return [aux.title];\n };\n\n const { modelo } = formData;\n\n\tuseEffect(() => {\n if (modelo) updateModelo(modelo);\n }, [modelo]);\n\n const updateModelo = (modelo: string) => {\n const outputs = getModeloInteresOutputs(modelo, list);\n\n let newSteps = [...steps];\n\n const modeloIndex = newSteps.findIndex((step: Steps) => step.name === 'Modelo');\n newSteps[modeloIndex].outputsText = outputs;\n\n dispatch({ type: 'UPDATE_STEPS', payload: newSteps });\n };*/\n\n const [list, setList] = useState(null);\n\n useEffect(() => {\n getVehiculosModelo().then((modelos) => {\n setList(modelos);\n });\n }, []);\n\n const steps: Steps[] = [\n /*{\n title: (\n <>\n Nos encantaría saber más. ¿Desde cuándo tienes coche nuevo?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NoCompraYaTengoSteps.FechaCompra,\n name: 'FechaCompra',\n },*/\n {\n title: (\n <>\n ¿Podrías indicarnos si has comprado finalmente un vehículo nuevo o de ocasión?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraYaTengoSteps.TipoCompra,\n name: 'TipoCompra',\n },\n {\n title: (\n <>\n Por curiosidad,{' '}\n \n ¿qué modelo{' '}\n \n es?*\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: NoCompraYaTengoSteps.Modelo,\n name: 'Modelo',\n showOverflow: true,\n },\n {\n title: (\n <>\n Nos hubiera encantado que fuera un Volkswagen. ¿Nos ayudas a mejorar?\n \n ),\n fields: ,\n screenIndex: NoCompraYaTengoSteps.Valoracion,\n name: 'Valoracion',\n },\n\n ...RatingSteps('ya_tengo', NoCompraYaTengoSteps.Valoracion),\n \n {\n fields: ,\n screenIndex: NoCompraYaTengoSteps.Confirmacion,\n name: 'Confirmacion',\n },\n ];\n\n\n\n\n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n headers: {},\n fields: { \n formName: 'no_compra-ya_tengo', \n formType: 'otherform', \n pageCategory: 'Encuesta' \n }\n };\n\n const generateData = (isPresubmit: boolean, data: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData; \n\n const submitData = !isPresubmit ? {\n //'fields[SURVEY_ANSWER_02]': fields.fecha,\n 'fields[SURVEY_ANSWER_02]': fields.tipoCompra,\n 'fields[SURVEY_ANSWER_03]': fields.marca,\n 'fields[SURVEY_ANSWER_04]': fields.modelo,\n 'fields[SURVEY_ANSWER_05]': fields.plazos,\n 'fields[SURVEY_ANSWER_06]': fields.visita,\n 'fields[SURVEY_ANSWER_08]': fields.precio,\n 'fields[SURVEY_ANSWER_09]': fields.equipamiento,\n 'fields[SURVEY_ANSWER_10]': fields.consumo,\n 'fields[SURVEY_ANSWER_11]': fields.garantia,\n 'fields[SURVEY_ANSWER_12]': fields.financiacion,\n 'flags[FLAG_SF_INTEGRATION]' : false,\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idLead, dpsData, fields, data),\n ...submitData,\n };\n };\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoCompraForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n styled,\n Text,\n Layout,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { LastNavigation, LssiTkmQuestions, MultipleCTASelection, PoliticaPrivacidad } from 'src/components';\nimport { CTAsSiNo } from 'src/feature-app';\nimport { IdLead, OneFormState } from 'src/types';\n\nconst GeneralconfirmacionWrapper = styled.div``;\n\nconst InputErrorLegales = styled.p`\n position: relative;\n margin-top: 10px;\n background-color: #e4002c;\n color: #ffffff;\n width: max-content;\n max-width: 280px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 14px;\n`;\ninterface ConfirmacionNoCompraProps {\n idLead: IdLead;\n}\n\nexport const ConfirmacionNoCompra = (props: ConfirmacionNoCompraProps) => {\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [compartir, setCompartir] = useState(null);\n const [compartirError, setCompartirError] = useState(false);\n const store = useStore();\n\n const noTengo = formData.fields.formName == 'no_compra-no_tengo';\n const quieroContacto: boolean = store.getState().formData.fields.quieroContacto == 'true';\n const lssiPermite: boolean = props.idLead?.LSSI__c == 'PERMITE';\n\n useEffect(() => {\n if (compartir) {\n const values = { compartir: compartir };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setCompartirError(false);\n }\n }, [compartir]);\n\n useEffect(() => {\n if (lssiPermite) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { lssi: 'NO INFORMADO', tkm: 'NO INFORMADO' } });\n }\n }, [props.idLead]);\n\n return (\n \n \n { lssiPermite && (!quieroContacto || !noTengo) ? \n (\n
\n \n ¿Listo para enviar?\n \n
\n ) \n :\n (\n \n Y unas últimas preguntas\n \n )\n }\n { noTengo && quieroContacto ?\n (\n \n
\n \n ¿Podemos compartir tu respuesta con el{' '}\n \n punto de venta?*\n \n \n
\n \n {compartirError ? Este campo es obligatorio : null}\n
\n )\n :\n null\n }\n\n \n \n\n \n \n
\n );\n};\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\ninterface NDPSField {\n name: string;\n value: string;\n}\n\nconst ctasNoCompra = [\n {\n emphasis: 'primary',\n url: 'https://www.volkswagen.es/stock/',\n label: 'Ofertas y stock'\n },\n {\n emphasis: 'primary',\n url: 'https://www.volkswagen.es/es/financiacion-seguros.html',\n label: 'Tipos de financiación'\n },\n];\n\nexport const ThankYouNoCompra = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: (\n \n ),\n fields: (\n \n ),\n };\n return (\n \n );\n};\n","import { Breakpoints, BreakpointWrapper } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { AvailabilityErrorLayer } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useMapGeneralController,\n sortPoints,\n useOneFormContext,\n useFeatureServices,\n NewDealerCard,\n} from 'src/feature-app';\nimport { LoadingLayer } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { Horario, OneFormState, Points } from 'src/types';\nimport { fetchProvince, fetchProvinceLegacy } from 'src/bff';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport {\n getDistanceFromLatLngCenter,\n LayerDesktopView,\n LayerMobileView\n} from 'src/feature-app/NewMap';\n\nexport const JourneyNoCompraController = () => {\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n const { handleNextStep } = useOneFormContext();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const dispatch = useDispatch();\n const env = useFeatureAppEnvironment();\n const [loading, setLoading] = useState(false);\n const pointsByDistanceRef = useRef(null);\n const isComerciales = useIsComerciales();\n\n const loadingLayer = useRef(null);\n const {\n clusters,\n centerToCalculateDistance,\n superClusterRef,\n cardsDistanceRef,\n cardsTimeRef,\n } = useMapGeneralController();\n\n const [pointsToList, setPointsToList] = useState(null);\n\n useEffect(() => {\n if (clusters && superClusterRef.current) {\n const { pointsByDistance } = sortPoints(\n clusters,\n horario,\n centerToCalculateDistance.current,\n superClusterRef.current\n );\n pointsByDistanceRef.current = pointsByDistance;\n setPointsToList(pointsByDistance);\n }\n }, [clusters, superClusterRef.current]);\n\n const renderPoints = (points: Points[], isTime?: boolean, isCarouselCard?: boolean): JSX.Element[] => {\n // const pointsToRender = isTime ? pointsByTime : pointsByDistance;\n\n return points.map((point: Points, index: number) => {\n if (!point.properties.cluster) {\n const { dealer } = point.properties;\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return (\n {\n cardsDistanceRef.current[index] = el;\n }}\n >\n \n \n );\n }\n return null;\n });\n };\n\n // Gestión del point seleccionado y del boton de seleccionar (dms)\n const handleSeleccionarOnClick = useCallback((point: Points) => {\n // Añadir lógica para guardar el dealer seleccionado\n dispatch({ type: 'SET_SELECTED_INSTALLATION', payload: point.properties.installation });\n dispatch({ type: 'UPDATE_FIELDS', payload: { quieroContacto: 'true' } });\n dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { MapSearch: point.properties.installation.VGED_CommercialName__c } });\n\n // Necesitamos el nombre de la provincia, y éste no está disponible en la request de instalaciones.\n if(isComerciales) {\n fetchProvince('LCV_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province?.attributes[1]?.value ? province.attributes[1].value : point.properties.installation.Province;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n else {\n fetchProvince('VW_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.ShippingStateCode)\n );\n const provinceName = province?.attributes[1]?.value ? province.attributes[1].value : point.properties.installation.Province;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n\n handleNextStep();\n }, []);\n\n const renderAvailabilityErrorLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n const renderLoadingLayer = () => {\n return (\n \n \n \n );\n };\n\n const handleAvailabilityErrorLayer = () => {\n layerManager.openFocusLayer(renderAvailabilityErrorLayer, {}, { size: FocusLayerSizeV2.A });\n };\n\n const handleLoadingLayer = () => {\n if (loading) {\n const layer = layerManager.openFocusLayer(renderLoadingLayer, {}, { size: FocusLayerSizeV2.A });\n loadingLayer.current = layer;\n } else {\n if (loadingLayer.current) {\n loadingLayer.current.close();\n loadingLayer.current = null;\n }\n }\n };\n\n useEffect(() => {\n handleLoadingLayer();\n }, [loading]);\n\n // availability functions\n\n return (\n
\n \n \n \n\n \n \n \n
\n );\n};\n","import React from 'react';\nimport { JourneyNoCompraController } from '.';\nimport { MapGeneralController } from 'src/feature-app';\n\n/**\n * Este componente está creado únicamente para que JourneyNoCompraController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyNoCompraWrapper = () => {\n \n return (\n \n \n \n );\n};\n","import { Text, CTA, styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { LocateUserFullScreen } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n} from 'src/feature-app';\nimport { RenderController, OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { DealersData, OneFormState, Steps } from 'src/types';\nimport { JourneyNoCompraWrapper } from './JourneyNoCompraWrapper';\nimport { InteractionLayerSizeV2, ShimBackgroundTypeV2 } from '@volkswagen-onehub/layer-manager';\n\nenum MapaNoCompraSteps {\n Dealer,\n Horario,\n SeleccionCita,\n SeleccionFecha,\n}\n\ninterface MapaNoCompraProps {\n showHorario?: boolean;\n formName: string;\n}\n\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport function MapaNoCompra(props: MapaNoCompraProps) {\n const dispatch = useDispatch();\n const store = useStore();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { firstMapLoad, multiStepScreenIndex, navigationMovingForward } = formInfo;\n const layerManager = useFeatureServices()['layer-manager'];\n const env = useFeatureAppEnvironment();\n const {\n handleScreenChange,\n // setWaitForNextStep,\n setNextMultiStep,\n setNextMultiStepScreenIndex,\n setPreviousMultiStep,\n setWaitForPreviousStep,\n waitForPreviousStep,\n // waitForNextStep,\n setIsFullScreen,\n setShowPreviousStep,\n nextStepEventEmitter,\n nextStep,\n handleNextStep\n } = useOneFormContext();\n\n const steps: Steps[] = [\n {\n title: (\n <>\n Si tienes dudas, puedes pedir a un punto de venta que te contacte.\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: MapaNoCompraSteps.Dealer,\n name: 'MapSearch',\n showOverflow: true,\n },\n {\n screenIndex: 1,\n name: 'MapSelect',\n alternateTitle: (\n \n ¿Qué experto quieres que se{' '}\n \n encargue?*\n \n \n ),\n title: <>,\n fields: ,\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n const [selectedStep, setSelectedStep] = useState(null);\n const layerRef = useRef(null);\n /**\n * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n */\n const onMapLoad = () => {\n if (multiStepScreenIndex === 0) {\n handleFirstLoad();\n }\n };\n\n const handleFirstLoad = async () => {\n if (firstMapLoad) {\n // Inicialización\n initializeMultiStep();\n } else {\n if (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n // Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n initializeMultiStep();\n } else {\n // En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n const newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n // Lo mismo para previous, solo le desactivamos si estamos en la primera.\n const newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n updateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n updateScreenChangeVariables(multiStepScreenIndex);\n\n\n }\n }\n setNextMultiStep(() => nextMapaNoCompra);\n setPreviousMultiStep(() => previousMapaNoCompra);\n };\n\n const initializeMultiStep = () => {\n updateWaitForNextAndPreviousStep(true, false);\n updateScreenChangeVariables(0);\n };\n\n const updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n if (waitForNextStep !== null) {\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep });\n }\n if (waitForPreviousStep !== null) {\n setWaitForPreviousStep(waitForPreviousStep);\n }\n };\n\n const nextMapaNoCompra = () => {\n // const { multiStepScreenIndex } = store.getState().formInfo;\n\n // handleScreenChange();\n\n // // Una vez avanzamos dentro de los multisteps se activa el wait\n // // previous step para volver hacia atrás dentro del propio multistep.\n // if (!waitForPreviousStep || multiStepScreenIndex === 0) {\n // updateWaitForNextAndPreviousStep(null, true);\n // }\n\n // setTimeout(() => {\n // updateScreenChangeVariables(multiStepScreenIndex + 1);\n // // Si estamos en el último paso del multistep se desactiva el\n // // wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n // if (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n // updateWaitForNextAndPreviousStep(false, null);\n // setShowPreviousStep(true);\n // }\n // }, TIME_FOR_TRANSFORM);\n renderLayer();\n };\n\n const previousMapaNoCompra = () => {\n const { multiStepScreenIndex, waitForNextStep } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Se desactiva el wait previous step en la segunda pantalla para que\n // en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n if (multiStepScreenIndex === 1) {\n updateWaitForNextAndPreviousStep(null, false);\n }\n\n if (!waitForNextStep) {\n updateWaitForNextAndPreviousStep(true, null);\n }\n\n // Se fija en la pantalla previa a la primera para que cuando se cambie\n // a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex - 1);\n }, TIME_FOR_TRANSFORM);\n };\n\n const updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n setNextMultiStepScreenIndex(newMultiStepScreenIndex);\n dispatch({ type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex });\n setSelectedStep(steps[newMultiStepScreenIndex]);\n setIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n setShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_MULTISTEPS', payload: steps });\n\n handleFirstLoad();\n\n return () => {\n dispatch({ type: 'UPDATE_FIRST_MAP_LOAD', payload: false });\n setShowPreviousStep(true);\n updateWaitForNextAndPreviousStep(false, false);\n };\n }, []);\n\n const renderElement = (state?: any) => {\n if (state) {\n updateWaitForNextAndPreviousStep(false, null);\n }\n\n return (\n \n \n \n \n \n );\n };\n\n const renderLayer = () => {\n const layer = layerManager.openInteractionLayer(\n renderElement,\n { step: steps[1], nextStepEventEmitter },\n { size: InteractionLayerSizeV2.D, id: 'mapaNoCompra', shimBackgroundType: ShimBackgroundTypeV2.OPAQUE }\n );\n layerRef.current = layer;\n return null;\n };\n\n return selectedStep ? (\n selectedStep.screenIndex === 1 ? null : (\n \n \n \n )\n ) : null;\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { CarlineSelect, MultipleCTASelection, PantallaIntroduccionStars } from 'src/components';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { CTAsSiNo } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from 'src/forms/helpers/add-remove-steps';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ConfirmacionNoCompra, getCommonFormData, MapaNoCompra, NoCompraFormProps, RatingSteps, ThankYouNoCompra, useInitializeNoCompraForm } from '.';\nimport { getDescInterestCarline } from '../Leads/helpers';\n\nexport enum NoCompraNoTengoSteps {\n ContactoConcesionario,\n QuieroVolkswagen,\n QuieroContacto,\n Modelo,\n Valoracion,\n\tVisita,\n\tPrecio,\n\tEquipamiento,\n\tConsumo,\n\tGarantia,\n\tFinanciacion,\n Mapa,\n Confirmacion,\n}\n\nexport function NoCompraNoTengo({ dpsData, idLead, idPerson, handleError, trackFormLoad, estado }: NoCompraFormProps) {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { contactoConcesionario, quieroVolkswagen, quieroContacto } = formData.fields;\n const dispatch = useDispatch();\n const store = useStore();\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n\n const ctasContactoConcesionario = [\n {\n label: 'Sí',\n value: 'true'\n },\n {\n label: 'No he tenido contacto con el punto de venta',\n value: 'false'\n },\n ];\n\n const ctasQuieroContacto = [\n {\n label: 'Sí',\n value: 'true'\n },\n {\n label: 'No, ya no tengo interés',\n value: 'false'\n },\n ];\n\n\n const steps: Steps[] = [\n {\n title: (\n <>\n Sabiendo que sigues buscando un vehículo que se ajuste a tus necesidades, nos gustaría confirmar contigo algunos datos. ¿Has estado en contacto con el punto de venta Volkswagen recientemente?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoTengoSteps.ContactoConcesionario,\n name: 'contactoConcesionario',\n trueOrFalseQuestion: true,\n },\n {\n title: (\n <>\n Nos encantaría saber más.{' '}\n \n ¿Aún te interesa conducir un{' '}\n \n Volkswagen?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoTengoSteps.QuieroVolkswagen,\n name: 'QuieroVolkswagen',\n trueOrFalseQuestion: true,\n },\n {\n title: (\n <>\n ¿Quieres que un punto de venta contacte contigo para resolver tus{' '}\n \n dudas?\n *\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoTengoSteps.QuieroContacto,\n name: 'QuieroContacto',\n showOverflow: true,\n },\n {\n title: (\n <>\n ¿Qué modelo en{' '}\n \n concreto?\n *\n \n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NoCompraNoTengoSteps.Modelo,\n name: 'Modelo',\n showOverflow: true,\n },\n\t\t{\n title: (\n <>\n Nos gustan los detalles. ¿Nos ayudas a mejorar?\n
\n Cuéntanos, por favor.\n
\n \n ),\n fields: ,\n screenIndex: NoCompraNoTengoSteps.Valoracion,\n name: 'Valoracion',\n },\n\n ...RatingSteps('no_tengo', NoCompraNoTengoSteps.Valoracion),\n\n {\n screenIndex: NoCompraNoTengoSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: ,\n },\n {\n fields: ,\n screenIndex: NoCompraNoTengoSteps.Confirmacion,\n name: 'Confirmacion',\n },\n ];\n\n\n\tuseEffect(() => {\n\t\tif (contactoConcesionario) {\n\t\t\tupdateSteps('QuieroVolkswagen', contactoConcesionario == 'true');\n\t\t\tupdateSteps('QuieroContacto', contactoConcesionario == 'false');\n\t\t}\n\t}, [contactoConcesionario]);\n\n\tuseEffect(() => {\n\t\tif (quieroVolkswagen) {\n\t\t\tupdateSteps('Modelo', quieroVolkswagen == 'true');\n\t\t}\n\t}, [quieroVolkswagen]);\n\n\tuseEffect(() => {\n\t\tif (quieroContacto) {\n\t\t\tconst steps = ['Modelo', 'Valoracion', 'Gestion', 'Precio', 'Equipamiento', 'Consumo', 'Garantia', 'Financiacion', 'Mapa'];\n\n\t\t\tsteps.reverse().forEach(function(step) {\n\t\t\t\tupdateSteps(step, quieroContacto == 'true');\n\t\t\t});\n\t\t}\n\t}, [quieroContacto]);\n\n\n\tconst updateSteps = (stepName: string, conditional: boolean) => {\n\t\tconst { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tlet newSteps = [...actualSteps];\n\t\tif (conditional) {\n\t\t\tconst stepIndex = getIndexInSteps(newSteps, stepName);\n\n\t\t\tif (stepIndex === -1) {\n\t\t\t\tnewSteps = addRemovedStep(steps, actualSteps, stepName, screenIndex);\n\t\t\t}\n\t\t} else {\n\t\t\tnewSteps = removeStep(newSteps, stepName);\n\t\t}\n\n\t\tconst newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n\t};\n\n\n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n headers: {},\n fields: {\n formName: 'no_compra-no_tengo',\n formType: 'otherform',\n pageCategory: 'Encuesta'\n }\n };\n\n const generateData = (isPresubmit: boolean, data: Partial) => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields } = formData;\n const { selectedInstallation } = dealersInfo;\n\n const personData = fields.quieroContacto == 'true' ? {\n 'fields[PERSON_NAME]': idLead.FirstName,\n 'fields[PERSON_SURNAME_1]': idLead.LastName,\n 'fields[PERSON_SURNAME_2]': idLead.MiddleName,\n 'fields[PERSON_EMAIL]': idLead.Email,\n 'fields[PERSON_PHONE_MOBILE]': idLead.MobilePhone,\n } : null;\n\n const installationData = selectedInstallation && fields.quieroContacto == 'true' ? {\n 'fields[SF_LEAD_INSTALLATION_ID]': selectedInstallation.Id,\n 'fields[SF_LEAD_INSTALLATION_CODE]': selectedInstallation.VGED_DealerCode__c,\n 'fields[SF_LEAD_INSTALLATION_NAME]': selectedInstallation.VGED_CommercialName__c,\n 'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': selectedInstallation.ShippingStateCode.toString().padStart(2, '0'),\n 'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n //'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n 'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Direct to Sales Assistant',\n 'fields[VEH_INTEREST_ID]': fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': getDescInterestCarline(dealersInfo, fields.modelo),\n\t\t\t'fields[VEH_INTEREST_FUEL]': getDescInterestCarline(dealersInfo, fields.modelo).includes('ID.') ? 'Electric' : 'Undefined',\n } : null;\n\n const submitData = !isPresubmit ? {\n ...personData,\n ...installationData,\n 'fields[SURVEY_ANSWER_13]': fields.contactoConcesionario,\n 'fields[SURVEY_ANSWER_15]': fields.quieroVolkswagen == 'true' ? getDescInterestCarline(dealersInfo, fields.modelo) : null,\n 'fields[SURVEY_ANSWER_28]': fields.gestion,\n 'fields[SURVEY_ANSWER_30]': fields.precio,\n 'fields[SURVEY_ANSWER_31]': fields.equipamiento,\n 'fields[SURVEY_ANSWER_32]': fields.consumo,\n 'fields[SURVEY_ANSWER_33]': fields.garantia,\n 'fields[SURVEY_ANSWER_34]': fields.financiacion,\n 'fields[SURVEY_ANSWER_35]': fields.quieroContacto,\n 'flags[FLAG_SF_INTEGRATION]' : fields.quieroContacto == 'true',\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idLead, dpsData, fields, data),\n ...submitData,\n };\n };\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoCompraForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n\n}\n","import React from 'react';\nimport { \n Text, \n styled, \n Container, \n ContainerGutter,\n TokenTextAppearance\n} from '@volkswagen-onehub/components-core';\nimport { SuggestModelo } from 'src/components';\n\n\nconst Wrapper = styled.div`\n margin-top: 44px;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n }\n`;\nconst MarginTop = styled.div`\n margin-top: 44px;\n @media all and (min-width: 960px) {\n margin-top: 0;\n }\n`;\n\nexport const PantallaOtrosModelos = () => {\n\n return (\n \n \n
\n Dudo entre este modelo*:\n
\n \n
\n \n \n Y este otro:\n \n \n \n
\n );\n};\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { CarlineSelect, DetalleMotivo, MultipleCTASelection, PantallaNombreApellido } from 'src/components';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from 'src/forms/helpers/add-remove-steps';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ConfirmacionNoCompra, getCommonFormData, MapaNoCompra, NoCompraFormProps, ThankYouNoCompra, useInitializeNoCompraForm } from '.';\nimport { getDescInterestCarline } from '../Leads/helpers';\n\nexport enum NoCompraNoQuieroSteps {\n Decision,\n Motivo,\n MotivoDetalle,\n Modelo,\n Mapa,\n DatosPersonales,\n Confirmacion,\n}\n\nexport function NoCompraNoQuiero({ dpsData, idLead, idPerson, handleError, trackFormLoad, estado }: NoCompraFormProps) {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n\n const { decision, motivo } = formData.fields;\n\n const CTAsDecision = [\n {\n label: 'He decidido aplazar la compra',\n value: 'true',\n },\n {\n label: 'Finalmente he decidido no comprar ningún coche',\n value: 'false',\n },\n ];\n\n const CTAsMotivoNoQuiero = [\n {\n label: 'Coche compartido (car sharing o moto sharing)',\n value: '1',\n },\n {\n label: 'Transporte público',\n value: '2',\n },\n {\n label: 'Patinete - Moto - Bicicleta',\n value: '3',\n },\n {\n label: 'Más adelante, en coche',\n value: '4',\n },\n {\n label: 'Otros',\n value: '6',\n },\n ];\n\n const steps: Steps[] = [\n {\n title: (\n <>\n Entendemos que ya no estás interesado en la compra de un Volkswagen.{' '}\n \n ¿Podríamos conocer más detalles respecto a tu{' '}\n \n decisión?\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoQuieroSteps.Decision,\n name: 'Decision',\n },\n {\n title: (\n <>\n Nos encantaría saber más.{' '}\n \n ¿Cómo vas a moverte de ahora en{' '}\n \n adelante?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoQuieroSteps.Motivo,\n name: 'Motivo',\n },\n {\n title: (\n <>\n ¿Nos lo podrías concretar un poco más?\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: NoCompraNoQuieroSteps.MotivoDetalle,\n name: 'MotivoDetalle',\n },\n {\n title: (\n <>\n ¿Qué modelo en{' '}\n \n concreto?\n *\n \n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NoCompraNoQuieroSteps.Modelo,\n name: 'Modelo',\n showOverflow: true,\n },\n {\n screenIndex: NoCompraNoQuieroSteps.Mapa,\n name: 'Mapa',\n multiStep: true,\n component: ,\n },\n {\n title: (\n <>\n Por favor, introduce o comprueba tus datos:\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: NoCompraNoQuieroSteps.DatosPersonales,\n name: 'DatosPersonales',\n },\n {\n fields: ,\n screenIndex: NoCompraNoQuieroSteps.Confirmacion,\n name: 'Confirmacion',\n },\n ];\n\n useEffect(() => {\n if (decision) {\n // Si en la updateSteps realiza la accion de añadir step, es necesario añadirlos por el orden inverso de aparición\n updateSteps('DatosPersonales', decision == 'true' );\n updateSteps('Mapa', decision == 'true' );\n updateSteps('Modelo', decision == 'true' );\n updateSteps('MotivoDetalle', decision == 'false' );\n updateSteps('Motivo', decision == 'false' );\n };\n }, [decision]);\n\n useEffect(() => {\n if (motivo) {\n updateSteps('MotivoDetalle', motivo == '6' );\n };\n }, [motivo]);\n\n\n const updateSteps = (stepName: string, conditional: boolean) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n if (conditional) {\n const stepIndex = getIndexInSteps(newSteps, stepName);\n\n if (stepIndex === -1) {\n newSteps = addRemovedStep(steps, actualSteps, stepName, screenIndex);\n }\n } else {\n newSteps = removeStep(newSteps, stepName);\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n\n\n\n\n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n headers: {},\n fields: {\n name: idLead?.FirstName ? idLead.FirstName : (idPerson?.FirstName ? idPerson.FirstName : ''),\n surname: idLead?.LastName ? idLead.LastName : (idPerson?.LastName ? idPerson.LastName : ''),\n secondSurname: idLead?.MiddleName ? idLead.MiddleName : (idPerson?.MiddleName ? idPerson.MiddleName : ''),\n formName: 'no_compra-no_quiero',\n formType: 'otherform',\n pageCategory: 'Encuesta'\n }\n };\n\n const generateData = (isPresubmit: boolean, data: Partial) => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields } = formData;\n const { selectedInstallation } = dealersInfo;\n\n const personData = fields.decision == 'true' ? {\n 'fields[PERSON_NAME]': idLead.FirstName,\n 'fields[PERSON_SURNAME_1]': idLead.LastName,\n 'fields[PERSON_SURNAME_2]': idLead.MiddleName,\n 'fields[PERSON_EMAIL]': idLead.Email,\n 'fields[PERSON_PHONE_MOBILE]': idLead.MobilePhone,\n } : null;\n\n const installationData = selectedInstallation && fields.decision == 'true' ? {\n 'fields[SF_LEAD_INSTALLATION_ID]': selectedInstallation.Id,\n 'fields[SF_LEAD_INSTALLATION_CODE]': selectedInstallation.VGED_DealerCode__c,\n 'fields[SF_LEAD_INSTALLATION_NAME]': selectedInstallation.VGED_CommercialName__c,\n 'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': selectedInstallation.ShippingStateCode.toString().padStart(2, '0'),\n 'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n //'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n 'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Direct to Sales Assistant',\n 'fields[VEH_INTEREST_ID]': fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': getDescInterestCarline(dealersInfo, fields.modelo),\n\t\t\t'fields[VEH_INTEREST_FUEL]': getDescInterestCarline(dealersInfo, fields.modelo).includes('ID.') ? 'Electric' : 'Undefined',\n } : null;\n\n const submitData = !isPresubmit ? {\n ...personData,\n ...installationData,\n 'fields[SURVEY_ANSWER_47]': fields.motivo,\n 'fields[SURVEY_ANSWER_49]': fields.motivoDetalle,\n 'flags[FLAG_SF_INTEGRATION]' : fields.decision == 'true',\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idLead, dpsData, fields, data),\n ...submitData,\n };\n };\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoCompraForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n}\n","import { getParamsForm } from 'src/feature-app/get-params-form';\n\nconst { tc, today, url, device } = getParamsForm();\n\nexport const getCommonFormData = (isPresubmit, idLead, dpsData, fields, data) => {\n\n\tconst formName = fields.formName ? fields.formName : data.fields.formName;\n\n\treturn {\n 'headers[DPS_TOKEN]': isPresubmit ? 'VW_DDB_FRM_ENCUESTA_NO_COMPRA_PREGRABACION' : 'VW_DDB_FRM_ENCUESTA_NO_COMPRA',\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_URL]': url,\n 'headers[FORM_NAME]': `vw-oneform-${formName}`,\n 'headers[FORM_DETAILS]': isPresubmit ? 'NoCompra Pregrabación' : 'NoCompra Grabación',\n 'headers[FORM_OBJECTIVE]': fields.quieroContacto == 'true' ? 'Más Información' : 'Encuesta',\n 'headers[FORM_VERSION]': `vw-oneform-${formName}-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[FK_SYSTEM]': idLead.Id,\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n\n //'headers[SF_CAMPAIGN_ORIGIN_ID]': 'PENDIENTE',\n\n 'flags[PERSON_RGPD_ADAPTED]': true,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\n\t\t'fields[SURVEY_ANSWER_01]': formName == 'no_compra-no_quiero' ? '3' : formName == 'no_compra-no_tengo' ? '2' : '1',\n\n\t\t//'fields[DESC_LOPD]': isPresubmit ? '' : 'PERMITE',\n\t\t//'fields[DESC_TRANF_DATA_THIRD]': isPresubmit ? '' : 'NO INFORMADO',\n\n\t\t// Para no_tengo y ya_tengo: todo false\n\t\t//'flags[FLAG_ISLEAD]': fields.quieroVolkswagen == 'false' ? 'false' : fields.quieroContacto,\n\t\t//'flags[FLAG_ISPROSPECT]': fields.quieroVolkswagen == 'true' && fields.quieroContacto == 'false' ? 'true' : 'false',\n\t\t//'flags[FLAG_GENERATELEM]': fields.quieroVolkswagen == 'false' ? 'false' : fields.quieroContacto,\n\t}\n};\n","import React from 'react';\nimport { Text } from '@volkswagen-onehub/components-core';\nimport { Steps } from 'src/types';\nimport { RatingStars } from 'src/components';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\n\nconst resetStepsScreenIndex = (steps: Steps[], offset: number) => {\n return steps.map((step, index) => {\n step.screenIndex = index + offset;\n return step;\n });\n};\n\nexport function RatingSteps(formName: string, startIndex: number) {\n\t\n\tconst steps: Steps[] = [\n\n\t\t{\n\t\t\ttitle: El precio del modelo,\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'Precio',\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: Características del vehículo, equipamiento y asistentes adicionales,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'Equipamiento',\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: El consumo del modelo,\n\t\t\tfields: (\n\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'Consumo',\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: La garantía del modelo,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'Garantia',\n\t\t\toutputsIsStars: true,\n\t\t},\n\t\t{\n\t\t\ttitle: Las condiciones de financiación,\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: 0,\n\t\t\tname: 'Financiacion',\n\t\t\toutputsIsStars: true,\n\t\t},\n\t];\n\n\tif (formName == 'ya_tengo') {\n\t\tconst prevSteps: Steps[] = [\n\t\t\t{\n\t\t\t\ttitle: Los plazos de entrega,\n\t\t\t\talternateTitle: Los plazos de entrega,\n\t\t\t\tfields: (\n\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tscreenIndex: 0,\n\t\t\t\tname: 'Plazos',\n\t\t\t\toutputsIsStars: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttitle: Tu visita al punto de venta,\n\t\t\t\tfields: (\n\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tscreenIndex: 0,\n\t\t\t\tname: 'Visita',\n\t\t\t\toutputsIsStars: true,\n\t\t\t}\n\t\t];\n\n\t\treturn resetStepsScreenIndex(prevSteps.concat(steps), startIndex + 1);\n\t}\n\telse if(formName == 'no_tengo') {\n\t\tconst prevSteps: Steps[] = [\n\t\t\t{\n\t\t\t\ttitle: Gestión del punto de venta,\n\t\t\t\talternateTitle: Gestión del punto de venta,\n\t\t\t\tfields: (\n\t\t\t\t\t\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tscreenIndex: 0,\n\t\t\t\tname: 'Gestion',\n\t\t\t\toutputsIsStars: true,\n\t\t\t}\n\t\t];\n\n\t\treturn resetStepsScreenIndex(prevSteps.concat(steps), startIndex + 1);\n\t}\n\telse {\n\t\treturn resetStepsScreenIndex(steps, startIndex + 1);\n\t}\n}\n","import { useEffect, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getCarlines } from 'src/bff';\nimport { useGetInstalaciones } from 'src/feature-app';\nimport { IdLead, Steps } from 'src/types';\n\nconst getLastItemOfSteps = (steps: Steps[]) => steps[steps.length - 1];\n\nconst propertyHasValue = (property: string) => property !== 'null';\n\nexport const checkHasCarlineNoRenovacion = (idLead: IdLead) =>\n idLead &&\n idLead.NUM_COD_INTEREST_CARLINE__c &&\n idLead.DESC_Model__c &&\n propertyHasValue(idLead.NUM_COD_INTEREST_CARLINE__c) &&\n propertyHasValue(idLead.DESC_Model__c);\n\nexport function useInitializeNoRenovacionForm(steps: Steps[]) {\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n const installations = useGetInstalaciones('VW_DDB_FORM_NORENUEVA', 'VOLKSWAGEN_SF_INSTALLATION_ALL'); // llama al metodo getInstallations()\n\n useEffect(() => {\n const requestCarlines = async () => {\n const carlines = await getCarlines();\n\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n setLoading(false);\n };\n\n requestCarlines();\n }, []);\n\n return { firstStep: steps[0], lastStep: getLastItemOfSteps(steps), loading };\n}\n","import { Spinner, Text, styled } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { useFeatureServices, useTrackingManager } from 'src/feature-app';\nimport { DpsData, EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { CarlineBase, DealersData, IdLead, IdPerson, IdVehicle } from 'src/types';\nimport { NoRenovacionYaTengo, NoRenovacionNoTengo, NoRenovacionNoQuiero } from '.';\nimport { GenericErrorLayer } from 'src/components/layers';\nimport { checkHasCarlineNoRenovacion } from './use-initialize-no-renovacion-form';\nimport { createPincodeEntity } from '../dps-utils';\nimport { LoadingEncuestas } from 'src/components';\n\nexport interface NoRenovacionFormProps {\n idLead: IdLead;\n idPerson: IdPerson;\n idVehicle: IdVehicle;\n dpsData: DpsData;\n handleError: () => void;\n trackFormLoad: () => void;\n estado: string;\n}\n\nexport function NoRenovacionController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n const [usado, setUsado] = useState(false);\n const [estado, setEstado] = useState(null);\n const [yaTengo, setYaTengo] = useState(false);\n const [noTengo, setNoTengo] = useState(false);\n const [noQuiero, setNoQuiero] = useState(false);\n const trackingManager = useTrackingManager();\n const dpsDataRef = useRef(null);\n const idLeadRef = useRef(null);\n const idPersonRef = useRef(null);\n const idVehicleRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n const dispatch = useDispatch();\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n const { estado } = dpsData;\n setEstado(estado);\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setUsado(true);\n setLoading(false);\n } else {\n const idLead = createPincodeEntity(dpsData, 'LEAD');\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n const idVehicle = createPincodeEntity(dpsData, 'VEHICLE');\n\n dpsDataRef.current = dpsData;\n idLeadRef.current = idLead;\n idPersonRef.current = idPerson;\n idVehicleRef.current = idVehicle;\n\n if (estado === 'ya_tengo') {\n setYaTengo(true);\n } else if (estado === 'no_quiero') {\n setNoQuiero(true);\n } else if (estado === 'no_tengo') {\n setNoTengo(true);\n } else {\n handleError();\n }\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n {/* useEffect(() => {\n console.log(error, 'error');\n }, [error]);*/}\n\n const trackFormLoad = () => {\n if (idLeadRef.current) {\n const customDealer: DealersData = {\n kvps: idLeadRef.current.TXT_DESC_DEALER_CODE__c,\n name: idLeadRef.current.DESC_Dealer_Code__c,\n markerInfo: { dealerInfo: { zipCode: idLeadRef.current.TXT_Postal_Code__c } },\n };\n dispatch({ type: 'SET_SELECTED_DEALER', payload: customDealer });\n if (checkHasCarlineNoRenovacion(idLeadRef.current)) {\n const carline: Partial = {\n title: idLeadRef.current.DESC_Model__c,\n code: Number(idLeadRef.current.NUM_COD_INTEREST_CARLINE__c),\n };\n dispatch({ type: 'SET_SELECTED_CARLINE', payload: carline });\n }\n }\n trackingManager.trackFormLoad();\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n // función para layer de error\n const handleTryAgain = async () => {\n // oneFormService.\n setError(false);\n setLoading(true);\n await oneFormService.retryPincodeLoad();\n handleComplete();\n };\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n );\n } else if (usado) {\n return (\n <>\n \n \n );\n } else {\n return (\n <>\n {yaTengo ? (\n \n ) : noTengo ? (\n \n ) : noQuiero ? (\n \n ) : null}\n \n );\n }\n}\n","\n\nimport { getParamsForm } from 'src/feature-app/get-params-form';\n\nconst { tc, today, url, device } = getParamsForm();\nconst urlParams = new URLSearchParams(window.location.search);\n\nexport const getCommonFormData = (isPresubmit, idPerson, idVehicle, dpsData, fields, data, surveyAnswer01) =>{\n\n const submitData = !isPresubmit ? {\n 'headers[FORM_SOURCE_INFO]': 'Encuesta Renovación',\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n } : null;\n\n return {\n ...submitData,\n\n 'headers[DPS_TOKEN]': isPresubmit ? 'VW_DDB_FORM_NORENUEVA_PREGRABACION': 'VW_DDB_FORM_NORENUEVA',\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_DETAILS]': isPresubmit ? 'NoRenovación Pregrabación' : 'NoRenovación Grabación',\n 'headers[FORM_MKT_CHANNEL]': 'CRM',\n 'headers[FORM_NAME]': fields.formName ? `vw-oneform-${fields.formName}` : `vw-oneform-${data.fields.formName}`,\n 'headers[FORM_OBJECTIVE]': fields.formName ==='no_renovacion-no_tengo' && fields.quieroContacto === 'true' ? 'Más Información' : 'Encuesta',\n 'headers[FORM_URL]': url,\n 'headers[FORM_WEB_SECTION]': 'Genérica',\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[PINCODE]': dpsData.pincode.pincodeResponse.params.pincode,\n 'headers[SF_CAMPAIGN_ORIGIN_ID]': 'PENDIENTE',\n 'headers[FK_SYSTEM]': urlParams.get('assetid') || urlParams.get('assetId'),\n 'headers[FORM_VERSION]': fields.formName ? `vw-oneform-${fields.formName}-${process.env.VERSION}` : `vw-oneform-${data.fields.formName}-${process.env.VERSION}`,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[VEH_ACTUAL_FRAME]': idVehicle.Name,\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_NAME]': idPerson.FirstName,\n 'fields[PERSON_SURNAME_1]': idPerson.LastName,\n 'fields[PERSON_EMAIL]': idPerson.PersonEmail,\n 'fields[PERSON_PHONE_MOBILE]': idPerson.MobilePhone,\n 'fields[SURVEY_ANSWER_01]': surveyAnswer01,\n\n 'flags[PERSON_RGPD_ADAPTED]': true,\n 'flags[FLAG_ALLOWS_DATA_ENRICHMENT]': false,\n 'flags[FLAG_IS_MYSTERY_LEAD]': false,\n 'flags[FLAG_RELACION_MARCA_SIN_IC]': false,\n 'flags[FLAG_SF_INTEGRATION]': fields.quieroVolkswagen === 'true' && fields.quieroContacto === 'true' ? 'true' : 'false',\n }\n};\n","export const valueMotivoProblemas = '14';\nexport const valueMotivoOtros = '13';\n\nexport const CTAsMotivoRenovador = [\n\t{\n\t\tlabel: 'Los plazos de entrega',\n\t\tvalue: '1',\n\t},\n\t{\n\t\tlabel: 'El precio y las opciones de financiación',\n\t\tvalue: '2',\n\t},\n\t{\n\t\tlabel: 'El diseño del coche',\n\t\tvalue: '3',\n\t},\n\t{\n\t\tlabel: 'El equipamiento del coche',\n\t\tvalue: '4',\n\t},\n\t{\n\t\tlabel: 'Relación calidad/precio',\n\t\tvalue: '5',\n\t},\n\t{\n\t\tlabel: 'La poca variedad de modelos y tecnologías disponibles',\n\t\tvalue: '6',\n\t},\n\t{\n\t\tlabel: 'Mi experiencia con el concesionario de venta',\n\t\tvalue: '7',\n\t},\n\t{\n\t\tlabel: 'Por problemas con mi vehículo anterior',\n\t\tvalue: valueMotivoProblemas\n\t},\n\t{\n\t\tlabel: 'Otros motivos',\n\t\tvalue: valueMotivoOtros\n\t},\n];\n\nexport const CTAsMotivoRenovadorProblemas = [\n\t{\n\t\tlabel: 'El consumo de combustible del vehículo anterior',\n\t\tvalue: '8',\n\t},\n\t{\n\t\tlabel: 'Los costes de mantenimiento del vehículo anterior',\n\t\tvalue: '9',\n\t},\n\t{\n\t\tlabel: 'Las averías sufridas con el vehículo anterior',\n\t\tvalue: '10',\n\t},\n\t{\n\t\tlabel: 'Mi experiencia previa con el servicio de posventa',\n\t\tvalue: '11',\n\t},\n\t{\n\t\tlabel: 'Otras experiencias con la marca',\n\t\tvalue: '12',\n\t},\n];\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { FormDataGroup, FormInfo, OneFormState, Steps, } from 'src/types';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { Container, ContainerPadding, Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { MultipleCTASelection, MultipleOptionCTAs, DetalleMotivo, SelectMarcaModelo } from 'src/components';\nimport { ConfirmacionNoRenovacion, ThankYouNoRenovacion, FakeTriggerCTA } from '.';\nimport { getCommonFormData } from './FormData';\nimport { formatHeaders, formDataBuilder } from 'src/forms/format-fields';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { NoRenovacionFormProps } from './NoRenovacionController';\nimport { useInitializeNoRenovacionForm } from './use-initialize-no-renovacion-form';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from '../helpers/add-remove-steps';\nimport { CTAsMotivoRenovador, CTAsMotivoRenovadorProblemas, valueMotivoOtros, valueMotivoProblemas } from './CtasNoRenovacion';\n\nexport function NoRenovacionYaTengo({\n dpsData,\n idVehicle,\n idPerson,\n handleError,\n trackFormLoad,\n estado,\n}: NoRenovacionFormProps) {\n const { initializeForm } = useOneFormContext();\n const trackingManager = useTrackingManager();\n const store = useStore();\n const dispatch = useDispatch();\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n const { formData } = useSelector((state: OneFormState) => state);\n const { selectMotivos, brand } = formData.fields;\n\n const vwBrandCode = '36';\n\n const CTAsUsadoNuevo = [\n {\n label: 'He comprado un vehículo nuevo',\n value: '1',\n },\n {\n label: 'He comprado un vehículo de ocasión',\n value: '2',\n },\n ];\n \n const CTAsLugarCompra = [\n {\n label: 'Punto de venta oficial',\n value: '1',\n },\n {\n label: 'Punto de venta no oficial',\n value: '2',\n },\n {\n label: 'Empresa de Renting/Leasing',\n value: '3',\n },\n {\n label: 'Compra-venta privada',\n value: '4',\n },\n ];\n\n let index = 0;\n const steps: Steps[] = [\n {\n title: (\n <>\n Nos encanta viajar contigo, pero sabemos que la vida da muchas vueltas y tenemos curiosidad…{' '}\n ¿Qué modelo te ha conquistado?\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'introduccion',\n },\n {\n title: (\n <>\n \n ¿Qué modelo{' '}\n \n elegiste?*\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'Modelo',\n showOverflow: true,\n },\n {\n title: (\n \n ¿Qué tipo de vehículo has{' '}\n \n escogido?*\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'usadoNuevo',\n ctas: CTAsUsadoNuevo,\n },\n {\n title: (\n \n ¿Dónde has adquirido tu nuevo{' '}\n \n vehículo?*\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'lugarCompra',\n ctas: CTAsLugarCompra,\n },\n {\n title: (\n <>\n ¿Por qué motivos \n no has elegido un{' '}\n \n Volkswagen?*\n \n \n \n Elige un máximo de 3 opciones\n \n \n \n ),\n alternateTitle: (\n <>\n ¿Por qué motivos \n no has elegido un{' '}\n \n Volkswagen?*\n \n \n \n Elige un máximo de 3 opciones\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'selectMotivos',\n ctas: CTAsMotivoRenovador,\n },\n {\n title: (\n <>\n \n ¿Nos puedes decir cuáles{' '}\n \n son?*\n \n \n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'detalleMotivoRenovar',\n },\n {\n title: (\n <>\n ¿Por qué motivos \n tuviste problemas con {' '}\n \n tu vehículo anterior?*\n \n \n \n Elige un máximo de 3 opciones\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'selectProblemas',\n ctas: CTAsMotivoRenovadorProblemas,\n },\n {\n fields: ,\n screenIndex: index++,\n name: 'Confirmacion',\n },\n ];\n\n useEffect(() => {\n if (brand) {\n updateSteps('lugarCompra', brand == vwBrandCode, 'usadoNuevo');\n updateSteps('selectMotivos', brand != vwBrandCode, 'usadoNuevo');\n updateSteps('selectProblemas', brand != vwBrandCode, 'selectMotivos');\n updateSteps('detalleMotivoRenovar', brand != vwBrandCode, 'selectProblemas');\n }\n }, [brand]);\n\n useEffect(() => {\n if (selectMotivos) handleMotivosRenovar();\n }, [selectMotivos]);\n\n const handleMotivosRenovar = () => {\n if (!(selectMotivos.includes(valueMotivoProblemas) && selectMotivos.includes(valueMotivoOtros))) {\n if (selectMotivos.includes(valueMotivoProblemas)) {\n updateSteps('detalleMotivoRenovar', false);\n }\n else if (selectMotivos.includes(valueMotivoOtros)) {\n updateSteps('selectProblemas', false);\n }\n else {\n updateSteps('detalleMotivoRenovar', false);\n updateSteps('selectProblemas', false);\n }\n }\n };\n\n const updateSteps = (stepName: string, conditional: boolean, addOnNextStepName?: string ) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n let newScreenIndex = screenIndex;\n\n if (conditional) {\n\n const stepIndex = getIndexInSteps(newSteps, stepName);\n\n if (stepIndex === -1) {\n if (addOnNextStepName) {\n newScreenIndex = getIndexInSteps(newSteps, addOnNextStepName);\n }\n newSteps = addRemovedStep(steps, actualSteps, stepName, newScreenIndex);\n }\n } else {\n newSteps = removeStep(newSteps, stepName);\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n\n\n\n \n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n fields: { formName: 'no_renovacion-ya_tengo', formType: 'otherform', pageCategory: 'Encuesta' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const generateData = (isPresubmit: boolean, data?: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n\n let motivos = fields.selectMotivos;\n\n if(fields.selectProblemas){\n motivos = motivos.replace(valueMotivoProblemas, fields.selectProblemas);\n }\n else {\n motivos = deleteProblema(motivos);\n }\n\n const submitData = !isPresubmit ? {\n 'fields[SURVEY_ANSWER_02]': fields.brand,\n 'fields[SURVEY_ANSWER_03]': fields.modelo,\n 'fields[SURVEY_ANSWER_04]': fields.usadoNuevo,\n 'fields[SURVEY_ANSWER_05]': orderString(motivos),\n 'fields[SURVEY_ANSWER_06]': fields.lugarCompra,\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idPerson, idVehicle, dpsData, fields, data, '1'),\n ...submitData,\n };\n };\n\n const orderString = (orderMotivos) => {\n\n if (orderMotivos == null) {\n return null;\n }\n\n const array = orderMotivos.split(',');\n \n const sortedArray = array.sort((a, b) => {\n return parseInt(a) - parseInt(b);\n });\n \n const orderString = sortedArray.join(',');\n \n return orderString;\n };\n\n const deleteProblema = (motivosProblema) => {\n if (motivosProblema != null) {\n const array = motivosProblema.split(',');\n \n if (array.length == 1 && (array[0] == valueMotivoProblemas || array[0] == 'nada')) {\n return null;\n }\n\n const motivos = array.filter(numero => numero != valueMotivoProblemas);\n \n return motivos.join(',');\n }\n }\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoRenovacionForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n}\n","import {\n Breakpoints,\n Container,\n ContainerPadding,\n styled,\n Text,\n Layout,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { OneFormState } from 'src/types';\nimport {\n LssiTkmQuestions,\n PoliticaPrivacidad,\n LastNavigation,\n MultipleCTASelection\n} from 'src/components';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { CTAsSiNo } from 'src/feature-app';\nimport { IdPerson } from 'src/types';\n\nconst GeneralconfirmacionWrapper = styled.div``;\n\nconst InputErrorLegales = styled.p`\n position: relative;\n margin-top: 10px;\n background-color: #e4002c;\n color: #ffffff;\n width: max-content;\n max-width: 280px;\n padding: 4px 8px;\n border-radius: 4px;\n font-size: 14px;\n `;\ninterface ConfirmacionNoRenovacionProps {\n idPerson: IdPerson;\n}\n\nexport const ConfirmacionNoRenovacion = (props: ConfirmacionNoRenovacionProps) => {\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [compartir, setCompartir] = useState(null);\n const [compartirError, setCompartirError] = useState(false);\n const store = useStore();\n const isLead: boolean = store.getState().formData.fields.quieroContacto === 'true';\n const lssiPermited: boolean = props.idPerson?.LSSI__c === 'PERMITE';\n\n useEffect(() => {\n if (compartir) {\n const values = { compartir: compartir };\n dispatch({ type: 'UPDATE_FIELDS', payload: values });\n setCompartirError(false);\n }\n }, [compartir]);\n\n useEffect(() => {\n if (lssiPermited) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { lssi: 'NO INFORMADO', tkm: 'NO INFORMADO' } });\n }\n }, [props.idPerson]);\n\n const generateLastQuestionTitle = () => {\n return lssiPermited ?\n (\n < Text bold >Mantente al día\n\n ) : (\n < Text bold >Mantente al día\n );\n };\n\n return (\n \n \n {lssiPermited && !isLead ||\n formData.fields.formName !== 'no_renovacion-no_tengo' && lssiPermited ? (\n
\n \n ¿Listo para enviar?\n \n
\n ) : (\n < Text appearance={TokenTextAppearance.headline300}>\n {generateLastQuestionTitle()}\n \n )}\n\n {formData.fields.formName === 'no_renovacion-no_tengo' && isLead && (\n \n
\n \n ¿Podemos compartir tu respuesta con el{' '}\n \n punto de venta?*\n \n \n
\n \n {compartirError ? Este campo es oblligatorio : null}\n
\n )}\n\n \n \n\n \n \n
\n );\n};\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThankYouNoRenovacion = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import { Breakpoints, BreakpointWrapper } from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { AvailabilityErrorLayer } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useMapGeneralController,\n sortPoints,\n useOneFormContext,\n useFeatureServices,\n NewDealerCard,\n} from 'src/feature-app';\nimport { LoadingLayer } from 'src/forms/CitaPosventa/NuevaCitaPosventa';\nimport { Horario, OneFormState, Points } from 'src/types';\nimport { fetchProvince, fetchProvinceLegacy } from 'src/bff';\nimport { useIsComerciales } from 'src/feature-app/hooks';\nimport {\n getDistanceFromLatLngCenter,\n LayerDesktopView,\n LayerMobileView\n} from 'src/feature-app/NewMap';\n\nexport const JourneyNoRenovacionController = () => {\n const { formData } = useSelector((state: OneFormState) => state);\n const { horario }: { horario?: Horario } = formData.fields;\n const { handleNextStep } = useOneFormContext();\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const dispatch = useDispatch();\n const env = useFeatureAppEnvironment();\n const [loading, setLoading] = useState(false);\n const pointsByDistanceRef = useRef(null);\n const isComerciales = useIsComerciales();\n\n const loadingLayer = useRef(null);\n const {\n clusters,\n centerToCalculateDistance,\n superClusterRef,\n cardsDistanceRef,\n } = useMapGeneralController();\n\n const [pointsToList, setPointsToList] = useState(null);\n\n useEffect(() => {\n if (clusters && superClusterRef.current) {\n const { pointsByDistance } = sortPoints(\n clusters,\n horario,\n centerToCalculateDistance.current,\n superClusterRef.current\n );\n pointsByDistanceRef.current = pointsByDistance;\n setPointsToList(pointsByDistance);\n }\n }, [clusters, superClusterRef.current]);\n\n const renderPoints = (points: Points[], isTime?: boolean, isCarouselCard?: boolean): JSX.Element[] => {\n // const pointsToRender = isTime ? pointsByTime : pointsByDistance;\n\n return points.map((point: Points, index: number) => {\n if (!point.properties.cluster) {\n const { dealer } = point.properties;\n const distanceFromCenter = getDistanceFromLatLngCenter(centerToCalculateDistance.current, point);\n\n return (\n {\n cardsDistanceRef.current[index] = el;\n }}\n >\n \n \n );\n }\n return null;\n });\n };\n\n // Gestión del point seleccionado y del boton de seleccionar (dms)\n const handleSeleccionarOnClick = useCallback((point: Points) => {\n // Añadir lógica para guardar el dealer seleccionado\n dispatch({ type: 'SET_SELECTED_INSTALLATION', payload: point.properties.installation });\n dispatch({ type: 'UPDATE_FIELDS', payload: { quieroContacto: 'true' } });\n // Necesitamos el nombre de la provincia, y éste no está disponible en la request de instalaciones.\n if(isComerciales) {\n fetchProvince('LCV_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.FRML_TXT_codVentaProvincia__c)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n else {\n fetchProvince('VW_DDB_FRM_LEM_REC_LEM').then((response) => {\n const province = response.content.find((att) =>\n att.attributes.find((prov) => prov.value === point.properties.installation.FRML_TXT_codVentaProvincia__c)\n );\n const provinceName = province.attributes[1].value;\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { provinceName } });\n });\n }\n\n handleNextStep();\n }, []);\n\n const renderAvailabilityErrorLayer = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n const renderLoadingLayer = () => {\n return (\n \n \n \n );\n };\n\n const handleLoadingLayer = () => {\n if (loading) {\n const layer = layerManager.openFocusLayer(renderLoadingLayer, {}, { size: FocusLayerSizeV2.A });\n loadingLayer.current = layer;\n } else {\n if (loadingLayer.current) {\n loadingLayer.current.close();\n loadingLayer.current = null;\n }\n }\n };\n\n useEffect(() => {\n handleLoadingLayer();\n }, [loading]);\n\n // availability functions\n\n return (\n
\n \n \n \n\n \n \n \n
\n );\n};\n","import React from 'react';\nimport { JourneyNoRenovacionController } from '.';\nimport { MapGeneralController } from 'src/feature-app';\n\n/**\n * Este componente está creado únicamente para que JourneyNoRenovacionController tenga acceso a las variables de MapGeneralController.\n */\nexport const JourneyNoRenovacionWrapper = () => {\n \n return (\n \n \n \n );\n};\n","import { Text, styled, CTA } from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { LocateUserFullScreen } from 'src/components';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n} from 'src/feature-app';\nimport { RenderController, OneElementTemplateFullScreen, TwoElementsTemplateFullScreen } from 'src/feature-app/Screen';\nimport LoadScriptInstance from 'src/feature-app/NewMap/Loadscript';\nimport { TIME_FOR_TRANSFORM } from 'src/globals';\nimport { OneFormState, Steps } from 'src/types';\nimport { JourneyNoRenovacionWrapper } from './JourneyNoRenovacionWrapper';\nimport { InteractionLayerSizeV2, ShimBackgroundTypeV2 } from '@volkswagen-onehub/layer-manager';\n\nenum MapaNoRenovacionSteps {\n Dealer,\n Horario,\n SeleccionCita,\n SeleccionFecha,\n}\nconst isLastScreen = (steps: Steps[], multiStepScreenIndex: number) => steps.length - 1 === multiStepScreenIndex;\nconst isFirstScreen = (multiStepScreenIndex: number) => multiStepScreenIndex === 0;\n\nexport const MapaNoRenovacion = () => {\n\n const dispatch = useDispatch();\n const store = useStore();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { firstMapLoad, multiStepScreenIndex, navigationMovingForward } = formInfo;\n const layerManager = useFeatureServices()['layer-manager'];\n const env = useFeatureAppEnvironment();\n const { nextStep } = useOneFormContext();\n\n const {\n handleScreenChange,\n // setWaitForNextStep,\n setNextMultiStep,\n setNextMultiStepScreenIndex,\n setPreviousMultiStep,\n setWaitForPreviousStep,\n waitForPreviousStep,\n // waitForNextStep,\n setIsFullScreen,\n setShowPreviousStep,\n nextStepEventEmitter,\n } = useOneFormContext();\n\n const steps: Steps[] = [\n {\n title: (\n <>\n Si tienes dudas, puedes pedir a un punto de venta que te contacte.\n \n ),\n fields: (\n }\n />\n ),\n screenIndex: MapaNoRenovacionSteps.Dealer,\n name: 'MapSearch',\n outputs: ['location'],\n outputsText: ['location'],\n showOverflow: true,\n },\n {\n screenIndex: 1,\n name: 'MapSelect',\n alternateTitle: (\n \n Elige{' '}\n el concesionario que{' '}\n \n prefieras*\n \n \n \n ),\n title: <>,\n fields: ,\n outputs: ['installation'],\n outputsText: ['installation'],\n fullScreen: true,\n multiStepLastScreen: true,\n hidePreviousStep: true,\n },\n ];\n\n const [selectedStep, setSelectedStep] = useState(null);\n const layerRef = useRef(null);\n /**\n * Hay que esperar a que se cree el mapa de google para tener acceso a window.google\n */\n const onMapLoad = () => {\n if (multiStepScreenIndex === 0) {\n handleFirstLoad();\n }\n };\n\n const handleFirstLoad = async () => {\n if (firstMapLoad) {\n // Inicialización\n initializeMultiStep();\n } else {\n if (navigationMovingForward || navigationMovingForward === null || navigationMovingForward === undefined) {\n // Inicialización cuando se va hacia adelante una vez inicializado el mapa o después de cerrar el layer y abrir en el mapa.\n initializeMultiStep();\n } else {\n // En caso de que estemos en la última pantalla, desactivamos el wait for next step.\n const newWaitForNextStep = !isLastScreen(steps, multiStepScreenIndex);\n // Lo mismo para previous, solo le desactivamos si estamos en la primera.\n const newWaitForPreviousStep = !isFirstScreen(multiStepScreenIndex);\n\n updateWaitForNextAndPreviousStep(newWaitForNextStep, newWaitForPreviousStep);\n updateScreenChangeVariables(multiStepScreenIndex);\n\n\n }\n }\n setNextMultiStep(() => nextMapaNoRenovacion);\n setPreviousMultiStep(() => previousMapaNoRenovacion);\n };\n\n const initializeMultiStep = () => {\n updateWaitForNextAndPreviousStep(true, false);\n updateScreenChangeVariables(0);\n };\n\n const updateWaitForNextAndPreviousStep = (waitForNextStep: boolean, waitForPreviousStep: boolean) => {\n if (waitForNextStep !== null) {\n dispatch({ type: 'UPDATE_WAIT_FOR_NEXT_STEP', payload: waitForNextStep });\n }\n if (waitForPreviousStep !== null) {\n setWaitForPreviousStep(waitForPreviousStep);\n }\n };\n\n const nextMapaNoRenovacion = () => {\n // const { multiStepScreenIndex } = store.getState().formInfo;\n\n // handleScreenChange();\n\n // // Una vez avanzamos dentro de los multisteps se activa el wait\n // // previous step para volver hacia atrás dentro del propio multistep.\n // if (!waitForPreviousStep || multiStepScreenIndex === 0) {\n // updateWaitForNextAndPreviousStep(null, true);\n // }\n\n // setTimeout(() => {\n // updateScreenChangeVariables(multiStepScreenIndex + 1);\n // // Si estamos en el último paso del multistep se desactiva el\n // // wait next step para poder salir del multistep y avanzar hacia la siguiente pantalla.\n // if (steps[multiStepScreenIndex + 1].multiStepLastScreen) {\n // updateWaitForNextAndPreviousStep(false, null);\n // setShowPreviousStep(true);\n // }\n // }, TIME_FOR_TRANSFORM);\n renderLayer();\n };\n\n const previousMapaNoRenovacion = () => {\n const { multiStepScreenIndex, waitForNextStep } = store.getState().formInfo;\n\n handleScreenChange();\n\n // Se desactiva el wait previous step en la segunda pantalla para que\n // en el caso de volver hacia atrás en la primera salte de step y no busque dentro de los multisteps.\n if (multiStepScreenIndex === 1) {\n updateWaitForNextAndPreviousStep(null, false);\n }\n\n if (!waitForNextStep) {\n updateWaitForNextAndPreviousStep(true, null);\n }\n\n // Se fija en la pantalla previa a la primera para que cuando se cambie\n // a la primera pantalla el CTA de anterior pase del multistep al step anterior.\n setTimeout(() => {\n updateScreenChangeVariables(multiStepScreenIndex - 1);\n }, TIME_FOR_TRANSFORM);\n };\n\n const updateScreenChangeVariables = (newMultiStepScreenIndex: number) => {\n setNextMultiStepScreenIndex(newMultiStepScreenIndex);\n dispatch({ type: 'UPDATE_MULTISTEP_SCREENINDEX', payload: newMultiStepScreenIndex });\n setSelectedStep(steps[newMultiStepScreenIndex]);\n setIsFullScreen(steps[newMultiStepScreenIndex].fullScreen);\n setShowPreviousStep(!steps[newMultiStepScreenIndex].hidePreviousStep);\n };\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_MULTISTEPS', payload: steps });\n\n handleFirstLoad();\n\n return () => {\n dispatch({ type: 'UPDATE_FIRST_MAP_LOAD', payload: false });\n setShowPreviousStep(true);\n updateWaitForNextAndPreviousStep(false, false);\n };\n }, []);\n\n const renderElement = (state?: any) => {\n if (state) {\n updateWaitForNextAndPreviousStep(false, null);\n }\n\n return (\n \n \n \n \n \n );\n };\n\n const renderLayer = () => {\n const layer = layerManager.openInteractionLayer(\n renderElement,\n { step: steps[1], nextStepEventEmitter },\n { size: InteractionLayerSizeV2.D, id: 'mapaNoRenovacion', shimBackgroundType: ShimBackgroundTypeV2.OPAQUE }\n );\n layerRef.current = layer;\n return null;\n };\n\n return selectedStep ? (\n selectedStep.screenIndex === 1 ? null : (\n \n \n \n )\n ) : null;\n};\n","import React, { useEffect, useState } from 'react';\nimport { FormController, getParamsForm, useOneFormContext } from 'src/feature-app';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { Text, Container, ContainerPadding, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { CarlineSelect, MultipleCTASelection, DetalleMotivo, MultipleOptionCTAs, SelectMarcaModelo } from 'src/components';\nimport { ConfirmacionNoRenovacion, ThankYouNoRenovacion, MapaNoRenovacion, FakeTriggerCTA } from '.';\nimport { getCommonFormData } from './FormData';\nimport { NoRenovacionFormProps } from './NoRenovacionController';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { useInitializeNoRenovacionForm } from './use-initialize-no-renovacion-form';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from '../helpers/add-remove-steps';\nimport { getDescInterestCarline } from '../Leads/helpers';\nimport { CTAsSiNo } from 'src/feature-app/InputsValues/CTAsObjects';\nimport { CTAsMotivoRenovador, CTAsMotivoRenovadorProblemas, valueMotivoOtros, valueMotivoProblemas } from './CtasNoRenovacion';\n\nexport function NoRenovacionNoTengo({\n dpsData,\n idVehicle,\n idPerson,\n handleError,\n trackFormLoad,\n estado,\n}: NoRenovacionFormProps) {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const { quieroVolkswagen, selectMotivos } = formData.fields;\n const { screenIndex } = formInfo;\n const dispatch = useDispatch();\n const [ presubmitSent, setPresubmitSent ] = useState(false);\n const store = useStore();\n\n const CTAsNuevoOcasion = [\n {\n label: 'Uno nuevo',\n value: 'nuevo',\n },\n {\n label: 'Uno de ocasión',\n value: 'ocasión',\n },\n ];\n\n const CTAsMotivoRenovadorNoTengoExclusivo = [\n {\n label: 'Nada',\n value: 'nada',\n },\n ];\n\n\n const getModeloInteresTitle = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return (\n <>\n ¿Qué modelo te llama más la{' '}\n \n atención?\n *\n \n \n );\n } else {\n return (\n <>\n ¿Qué otra marca y modelo estás valorando principalmente?\n \n );\n }\n };\n \n const getModeloInteresFields = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return (\n \n \n \n }\n />\n );\n } else {\n return (\n \n }\n />\n );\n }\n };\n \n const getModeloInteresOutputs = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return ['modelo'];\n } else {\n return ['brand', 'model'];\n }\n };\n const getModeloInteresOutputsText = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return ['modelo'];\n } else {\n return ['brand', 'model'];\n }\n };\n \n const getDudasTitle = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return (\n <>\n ¿Hay algo que te esté{' '}\n \n haciendo dudar en la compra del{' '}\n \n Volkswagen?*\n \n \n \n \n Elige un máximo de 3 opciones\n \n \n \n \n );\n } else {\n return (\n <>\n ¿Por qué motivos \n no estás valorando un{' '}\n \n Volkswagen?*\n \n \n \n Elige un máximo de 3 opciones\n \n \n \n );\n }\n };\n \n const getDudasAlternatTitle = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return (\n <>\n ¿Hay algo que te esté{' '}\n \n haciendo dudar en la compra del{' '}\n \n Volkswagen?*\n \n \n \n );\n } else {\n return (\n <>\n ¿Por qué motivo \n no estás valorando un{' '}\n \n Volkswagen?*\n \n \n );\n }\n };\n \n \n \n const getDudasFields = (quieroVolkswagen: string) => {\n if (quieroVolkswagen == 'true') {\n return (\n \n }\n />\n );\n } else {\n return (\n \n }\n />\n );\n }\n };\n\n let index = 0;\n const steps: Steps[] = [\n {\n title: (\n <>\n Nos encantaría seguir siendo tu compañero de viaje. \n Cuéntanos qué te hace dudar para poder ayudarte.\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'introduccion',\n },\n {\n title: (\n <>\n \n ¿Estás valorando un{' '}\n \n Volkswagen?*\n \n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'quieroVolkswagen',\n trueOrFalseQuestion: true,\n },\n {\n title: <>, // Se actualiza en updateModeloInteresStep\n fields: <>, // Se actualiza en updateModeloInteresStep\n screenIndex: index++,\n name: 'Modelo',\n showOverflow: true,\n },\n {\n title: (\n <>\n ¿Qué tipo de coche \n te{' '}\n \n interesa?*\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: index++,\n name: 'tipoCoche',\n ctas: CTAsNuevoOcasion,\n },\n {\n title: (\n <>\n ¿Estás valorando algún{' '}\n \n modelo de otra{' '}\n \n marca?*\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'otraMarca',\n showOverflow: true,\n },\n {\n title: getDudasTitle(quieroVolkswagen),\n alternateTitle: getDudasAlternatTitle(quieroVolkswagen),\n fields: getDudasFields(quieroVolkswagen),\n screenIndex: index++,\n name: 'selectMotivos',\n ctas: [...CTAsMotivoRenovador, ...CTAsMotivoRenovadorNoTengoExclusivo],\n },\n {\n title: (\n <>\n ¿Qué otros motivos te hacen dudar?\n \n ),\n fields: (\n } />\n ),\n screenIndex: index++,\n name: 'motivoDudas',\n },\n {\n title: (\n <>\n ¿Por qué motivos \n tuviste problemas con tu {' '}\n \n vehículo anterior?*\n \n \n \n Elige un máximo de 3 opciones\n \n \n\n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'selectMotivosProblems',\n ctas: CTAsMotivoRenovadorProblemas,\n },\n {\n screenIndex: index++,\n name: 'Mapa',\n multiStep: true,\n component: ,\n },\n {\n fields: ,\n screenIndex: index++,\n name: 'Confirmacion',\n },\n ];\n\n const updateModeloInteresStep = (quieroVolkswagen: string) => {\n const { steps: actualSteps } = store.getState().formInfo;\n const title = getModeloInteresTitle(quieroVolkswagen);\n const fields = getModeloInteresFields(quieroVolkswagen);\n const outputs = getModeloInteresOutputs(quieroVolkswagen);\n const outputsText = getModeloInteresOutputsText(quieroVolkswagen);\n\n let newSteps = [...steps];\n\n const modeloIndex = newSteps.findIndex((step: Steps) => step.name == 'Modelo');\n\n newSteps[modeloIndex].title = title;\n newSteps[modeloIndex].fields = fields;\n newSteps[modeloIndex].outputs = outputs;\n newSteps[modeloIndex].outputsText = outputsText;\n\n if (quieroVolkswagen == 'false') {\n newSteps = removeStep(newSteps, 'Mapa');\n dispatch({ type: 'UPDATE_FIELDS', payload: { quieroContacto: 'false' } });\n } else {\n const mapaIndex = getIndexInSteps(newSteps, 'Mapa');\n dispatch({ type: 'UPDATE_FIELDS', payload: { quieroContacto: 'true' } });\n\n if (mapaIndex === -1) {\n newSteps = addRemovedStep(steps, actualSteps, 'Mapa', screenIndex);\n }\n }\n\n updateSteps(newSteps);\n };\n\n const handleStepsNoVolkswagen = (quieroVolkswagen: string) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...steps];\n\n if (quieroVolkswagen == 'true') {\n newSteps = [...steps];\n } else {\n newSteps = removeStep(newSteps, 'tipoCoche');\n newSteps = removeStep(newSteps, 'otraMarca');\n newSteps = removeStep(newSteps, 'Mapa');\n }\n\n updateSteps(newSteps);\n };\n\n const addOrRemoveStep = (stepName: string, conditional: boolean, addOnNextStepName?: string ) => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n let newScreenIndex = screenIndex;\n\n if (conditional) {\n\n const stepIndex = getIndexInSteps(newSteps, stepName);\n\n if (stepIndex === -1) {\n if (addOnNextStepName) {\n newScreenIndex = getIndexInSteps(newSteps, addOnNextStepName);\n }\n newSteps = addRemovedStep(steps, actualSteps, stepName, newScreenIndex);\n }\n } else {\n newSteps = removeStep(newSteps, stepName);\n }\n\n updateSteps(newSteps);\n \n };\n\n const updateSteps = (steps: Steps[]) => {\n const newSteps = resetStepsScreenIndex(steps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newSteps });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newSteps[newSteps.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newSteps.length });\n };\n\n\n\n useEffect(() => {\n if (quieroVolkswagen) {\n updateModeloInteresStep(quieroVolkswagen);\n handleStepsNoVolkswagen(quieroVolkswagen);\n }\n }, [quieroVolkswagen]);\n\n useEffect(() => {\n if (selectMotivos) {\n if (selectMotivos.includes(valueMotivoProblemas) && selectMotivos.includes(valueMotivoOtros)) {\n addOrRemoveStep('selectMotivosProblems', true);\n addOrRemoveStep('motivoDudas', true, 'selectMotivosProblems');\n }\n else if (selectMotivos.includes(valueMotivoProblemas)) {\n addOrRemoveStep('motivoDudas', false);\n addOrRemoveStep('selectMotivosProblems', true);\n }\n else if (selectMotivos.includes(valueMotivoOtros)) {\n addOrRemoveStep('selectMotivosProblems', false);\n addOrRemoveStep('motivoDudas', true);\n }\n else {\n addOrRemoveStep('motivoDudas', false);\n addOrRemoveStep('selectMotivosProblems', false);\n }\n }\n }, [selectMotivos]);\n\n\n\n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n fields: {\n formName: 'no_renovacion-no_tengo',\n formType: 'otherform',\n pageCategory: 'Encuesta',\n }, // Analítica\n };\n\n const generateData = (isPresubmit: boolean, data?: Partial) => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n const { fields } = formData;\n const { selectedInstallation } = dealersInfo;\n\n let motivos = fields.selectMotivos;\n\n if(fields.selectMotivosProblems){\n motivos = motivos.replace(valueMotivoProblemas, fields.selectMotivosProblems);\n }else{\n motivos = deleteProblema(motivos);\n }\n\n motivos = orderString(motivos);\n\n const installationData = selectedInstallation && fields.quieroContacto == 'true' ? {\n 'fields[SF_LEAD_RECORDTYPE_ID]': '0121i000000D7NyAAK',\n 'fields[SF_LEAD_RECORDTYPE_NAME]': 'Sales Assistant',\n 'fields[SF_LEAD_SALES_INITIAL_ACTION]': 'Direct to Sales Assistant',\n 'fields[SF_LEAD_INSTALLATION_ID]': selectedInstallation.Id,\n 'fields[SF_LEAD_INSTALLATION_CODE]': selectedInstallation.VGED_DealerCode__c,\n 'fields[SF_LEAD_INSTALLATION_NAME]': selectedInstallation.VGED_CommercialName__c,\n 'fields[SF_LEAD_INSTALLATION_ADDRESS]': selectedInstallation.ShippingStreet,\n 'fields[SF_LEAD_INSTALLATION_PROVINCE_CODE]': selectedInstallation.ShippingStateCode.toString().padStart(2, '0'),\n } : null;\n\n const submitData = !isPresubmit ? {\n ...installationData,\n 'fields[COMMENTS_BRAND]': fields.motivoDudas\n ? 'Motivos de duda indicados por el cliente en la encuesta: ' + fields.motivoDudas\n : motivos,\n 'fields[SURVEY_ANSWER_11]': fields.quieroVolkswagen,\n 'fields[SURVEY_ANSWER_13]': fields.tipoCoche == 'nuevo' ? '1' : '2',\n 'fields[SURVEY_ANSWER_14]': fields.otraMarca == 'false' ? null : fields.otraMarca,\n 'fields[SURVEY_ANSWER_16]': fields.quieroVolkswagen == 'true' ? motivos : null,\n 'fields[SURVEY_ANSWER_19]': fields.brand,\n 'fields[SURVEY_ANSWER_20]': fields.model,\n 'fields[SURVEY_ANSWER_21]': fields.quieroVolkswagen == 'true' ? null : motivos, \n 'fields[VEH_INTEREST_ID]': fields.carlineCode,\n 'fields[VEH_INTEREST_MODEL]': getDescInterestCarline(dealersInfo, fields.modelo), \n 'fields[VEH_INTEREST_NEW_OR_USED]': fields.tipoCoche == 'nuevo' ? 'New Car' : 'Used Car',\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idPerson, idVehicle, dpsData, fields, data, '3'),\n ...submitData,\n };\n };\n\n const orderString = (orderMotivos) => {\n\n if (orderMotivos == null) {\n return null;\n }\n\n const array = orderMotivos.split(',');\n \n const sortedArray = array.sort((a, b) => {\n return parseInt(a) - parseInt(b);\n });\n \n const orderString = sortedArray.join(',');\n \n return orderString;\n };\n\n const deleteProblema = (motivosProblema) => {\n \n if (motivosProblema != null) {\n const array = motivosProblema.split(',');\n \n if (array.length == 1 && (array[0] == valueMotivoProblemas || array[0] == 'nada')) {\n return null;\n }\n\n const motivos = array.filter(numero => numero != valueMotivoProblemas);\n \n return motivos.join(',');\n }\n };\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoRenovacionForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n}\n","import React, { useEffect, useState } from 'react';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { Container, ContainerPadding, Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { DetalleMotivo, MultipleOptionCTAs, LegalFullScreenSinConsentmientos } from 'src/components';\nimport { ConfirmacionNoRenovacion, ThankYouNoRenovacion, FakeTriggerCTA } from '.';\nimport { getCommonFormData } from './FormData';\nimport { useDispatch, useStore, useSelector } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { FormController, useOneFormContext } from 'src/feature-app';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { NoRenovacionFormProps } from './NoRenovacionController';\nimport { useInitializeNoRenovacionForm } from './use-initialize-no-renovacion-form';\nimport {\n addRemovedStep,\n getIndexInSteps,\n removeStep,\n resetStepsScreenIndex,\n removeMultipleSteps,\n} from '../helpers/add-remove-steps';\n\nexport function NoRenovacionNoQuiero({\n dpsData,\n idLead,\n idVehicle,\n idPerson,\n trackFormLoad,\n handleError,\n estado,\n}: NoRenovacionFormProps) {\n const { initializeForm, handleNextStep } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const { formData } = useSelector((state: OneFormState) => state);\n const [presubmitSent, setPresubmitSent] = useState(false);\n const { razones, formasMovilidad } = formData.fields;\n\n const CTAsFormasMovilidad = [\n {\n label: 'Coche compartido (car sharing)',\n value: '1',\n },\n {\n label: 'Moto compartida (moto sharing)',\n value: '2',\n },\n {\n label: 'Transporte público',\n value: '3',\n },\n {\n label: 'Patinete',\n value: '4',\n },\n {\n label: 'Moto',\n value: '5',\n },\n {\n label: 'Bicicleta',\n value: '6',\n },\n {\n label: 'Otros',\n value: '8', // Si este valor cambia se tiene que revisar handleDetalleFormasMovilidad()\n },\n ];\n\n const CTAsFormasMovilidadExclusive = [\n {\n label:\n 'No tengo necesidad de utilizar ningún medio de transporte para desplazarme',\n value: '7',\n },\n ];\n\n const CTAsRazones = [\n {\n label: 'Económicas',\n value: '1',\n },\n {\n label: 'Medioambientales',\n value: '2',\n },\n {\n label: 'Ahorro de tiempo',\n value: '3',\n },\n {\n label: 'Otras razones',\n value: '4', // Si este valor cambia se tiene que revisar handleDetalleRazones()\n },\n ];\n\n\n let index = 0;\n const steps: Steps[] = [\n {\n title: (\n <>\n Nos hubiese encantado seguir siendo tu compañero de viaje. \n ¿Nos cuentas el porqué de este cambio por si te podemos ayudar en un futuro?\n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'introduccion',\n },\n {\n title: (\n <>\n \n ¿Cómo vas a realizar tus desplazamientos de ahora en{' '}\n \n adelante?*\n \n \n \n \n Puedes elegir más de una opción\n \n \n \n ),\n alternateTitle: (\n <>\n \n ¿Cómo vas a realizar tus desplazamientos de ahora en{' '}\n \n adelante?*\n \n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'formasMovilidad',\n outputs: ['formasMovilidad'],\n outputsText: ['formasMovilidad'],\n ctas: [...CTAsFormasMovilidad, ...CTAsFormasMovilidadExclusive],\n },\n {\n title: (\n <>\n ¿Nos explicas en{' '}\n \n qué otro medio te vas a{' '}\n \n desplazar?*\n \n \n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'detalleFormasMovilidad',\n outputs: ['detalleFormasMovilidad'],\n outputsText: ['detalleFormasMovilidad'],\n },\n {\n title: (\n <>\n ¿Cuáles han sido las razones \n para hacer este{' '}\n \n cambio?*\n \n \n \n Puedes elegir más de una opción\n \n \n \n ),\n alternateTitle: (\n <>\n ¿Cuáles han sido las razones \n para hacer este{' '}\n \n cambio?*\n \n \n ),\n fields: (\n \n }\n />\n ),\n screenIndex: index++,\n name: 'razones',\n outputs: ['razones'],\n outputsText: ['razones'],\n ctas: CTAsRazones,\n },\n {\n title: (\n <>\n \n ¿Puedes{' '}\n \n compartirlas?*\n \n \n \n ),\n fields: } />,\n screenIndex: index++,\n name: 'detalleRazones',\n outputs: ['detalleRazones'],\n outputsText: ['detalleRazones'],\n },\n {\n fields: ,\n screenIndex: index++,\n name: 'Confirmacion',\n outputs: ['confirmacion'],\n outputsText: ['confirmacion'],\n },\n ];\n\n useEffect(() => {\n if (formasMovilidad) handleDetalleFormasMovilidad();\n }, [formasMovilidad]);\n\n const handleDetalleFormasMovilidad = () => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n\n if (formasMovilidad.includes('8')) {\n const stepIndex = getIndexInSteps(newSteps, 'detalleFormasMovilidad');\n\n if (stepIndex === -1) {\n newSteps = addRemovedStep(steps, actualSteps, 'detalleFormasMovilidad', screenIndex);\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n } else {\n newSteps = removeStep(newSteps, 'detalleFormasMovilidad');\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n\n\n useEffect(() => {\n if (razones) handleDetalleRazones();\n }, [razones]);\n\n const handleDetalleRazones = () => {\n const { steps: actualSteps, screenIndex } = store.getState().formInfo;\n let newSteps = [...actualSteps];\n\n if (razones.includes('4')) {\n const stepIndex = getIndexInSteps(newSteps, 'detalleRazones');\n\n if (stepIndex === -1) {\n newSteps = addRemovedStep(steps, actualSteps, 'detalleRazones', screenIndex);\n setTimeout(() => {\n handleNextStep();\n }, 0);\n }\n } else {\n newSteps = removeStep(newSteps, 'detalleRazones');\n }\n\n const newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n dispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n dispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n dispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n };\n\n\n\n\n useEffect(() => {\n if(!presubmitSent) sendForm(true);\n }, []);\n\n const NuevoFormData: Partial = {\n fields: {\n formName: 'no_renovacion-no_quiero',\n formType: 'otherform',\n pageCategory: 'Encuesta',\n }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const generateData = (isPresubmit: boolean, data?: Partial) => {\n const { formData }: OneFormState = store.getState();\n const { fields } = formData;\n\n const submitData = !isPresubmit ? {\n 'fields[SURVEY_ANSWER_07]': orderString(fields.formasMovilidad),\n 'fields[SURVEY_ANSWER_08]': fields.detalleFormasMovilidad,\n 'fields[SURVEY_ANSWER_09]': orderString(fields.razones),\n 'fields[SURVEY_ANSWER_10]': fields.detalleRazones,\n } : null;\n\n return {\n ...getCommonFormData(isPresubmit, idPerson, idVehicle, dpsData, fields, data, '2'),\n ...submitData,\n };\n };\n\n const orderString = (orderMotivos) => {\n\n if (orderMotivos == null) {\n return null;\n }\n\n const array = orderMotivos.split(\",\");\n \n const sortedArray = array.sort((a, b) => {\n return parseInt(a) - parseInt(b);\n });\n \n const orderString = sortedArray.join(\",\");\n \n return orderString;\n };\n\n const sendForm = async (isPresubmit?: boolean): Promise => {\n return new Promise(async (resolve, reject) => {\n const data = generateData(isPresubmit, NuevoFormData);\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData, isPresubmit);\n\n if (response?.data?.status?.code == 200) {\n if(isPresubmit) setPresubmitSent(true);\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n if(isPresubmit) handleError();\n resolve(false);\n }\n });\n };\n\n const { firstStep, lastStep, loading } = useInitializeNoRenovacionForm(steps);\n\n useEffect(() => {\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens: steps.length,\n screenIndex: firstStep.screenIndex,\n formTheme: 'main',\n notALayer: true,\n formType: 'inPage',\n step: firstStep,\n steps,\n stepsHistory: [0],\n customLegal: idPerson.LSSI__c === 'PERMITE' ? : null,\n hideLegal: idPerson.LSSI__c === 'PERMITE' ? true : false,\n thankYouComponent: ,\n };\n\n if (!loading) {\n initializeForm(NuevoFormInfo, NuevoFormData, true);\n trackFormLoad();\n }\n }, [loading]);\n\n return presubmitSent && steps ? (\n \n ) : null;\n}\n","import React from 'react';\nimport {\n styled\n} from '@volkswagen-onehub/components-core';\nimport { SuggestModelo, SuggestMarca } from 'src/components';\n\nconst ContentWrapper = styled.div`\n margin-top: 4px;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n margin-top: 0;\n }\n label {\n margin-top: 40px;\n @media all and (min-width: 560px) {\n width: var(--size-grid013);\n }\n @media all and (min-width: 960px) {\n width: var(--size-grid008);\n }\n @media all and (min-width: 1280px) {\n width: var(--size-grid006);\n }\n @media all and (min-width: 1920px) {\n width: var(--size-grid005);\n }\n @media all and (min-width: 2560px) {\n width: var(--size-grid004);\n }\n }\n`;\n\nexport const PantallaMarcaModelo = () => {\n return (\n \n
\n
\n
\n );\n};\n","import React from 'react';\nimport {\n CTA,\n} from '@volkswagen-onehub/components-core';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { useOneFormContext } from 'src/feature-app';\n\nexport const FakeTriggerCTA = () => {\n const { nextStep } = useOneFormContext();\n const trackingManager = useTrackingManager();\n\n return (\n
\n {\n trackingManager.trackFormStepButtonClick({\n contentId: 'Siguiente',\n });\n e.preventDefault();\n nextStep();\n }}\n ariaLabel=\"aria label\"\n >\n Empezar\n \n
\n );\n};\n","import { Breakpoints, styled, Layout } from '@volkswagen-onehub/components-core';\nimport { LegalesFormatoLayer, LssiTkmQuestions, PoliticaPrivacidad, LastNavigation, GeneralConfirmacionLayerWrapper } from 'src/components';\nimport React from 'react';\n\nexport const ConfirmacionProspects = () => {\n\n return (\n \n \n \n \n\n \n \n \n \n );\n};\n","import Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect } from 'react';\nimport { Text } from '@volkswagen-onehub/components-core';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { ConfirmacionProspects } from './ConfirmacionProspects';\nimport { Email, PantallaNombreApellido, CarlineSelect, findCarline } from 'src/components';\nimport { useDispatch, useStore } from 'react-redux';\nimport { getCarlines, getMolecularUrl } from 'src/bff';\nimport { isCalculadoraForm } from 'src/forms';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps, MolecularResponse } from 'src/types';\nimport {\n FormController,\n removeWhiteSpace,\n useFaContent,\n useFeatureAppConfig,\n useFeatureServices,\n useOneFormContext,\n} from 'src/feature-app';\nimport { ThankYouProspects } from '.';\nimport { formatFields, formatHeaders, formDataBuilder } from '../format-fields';\nimport { removeStep, resetStepsScreenIndex } from '../helpers/add-remove-steps';\nimport { getCodInterestCarline, getDescInterestCarline, getMatchData, getCalculadoraData } from '../Leads';\n\nexport enum ProspectsSteps {\n Modelo,\n NombreApellido,\n Email,\n Confirmacion,\n}\n\ninterface ProspectsFormProps {\n customSteps?: Steps[];\n updatedFormData?: Partial;\n updatedFormInfo?: Partial;\n}\n\nexport function ProspectsVentaForm({ customSteps, updatedFormData }: ProspectsFormProps) {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const config = useFeatureAppConfig();\n const dispatch = useDispatch();\n const faContent = useFaContent();\n\n const steps: Steps[] = customSteps\n ? customSteps\n : [\n {\n title: (\n <>\n ¿Qué modelo te apetece conducir?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsSteps.Modelo,\n name: 'Modelo',\n outputs: ['modelo'],\n outputsText: ['modelo'],\n },\n {\n title: (\n <>\n Queremos contártelo todo sobre nuestro próximo modelo, el Nuevo Taigo. Pero antes, nos gustaría saber{' '}\n quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n ¿A qué email te enviamos las novedades sobre el Nuevo Taigo?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsSteps.Email,\n name: 'Email',\n outputs: ['email'],\n outputsText: ['email'],\n },\n {\n fields: ,\n screenIndex: ProspectsSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_CAMPAIGNBLOCK: 'B5. VW Launch Prospects',\n DESC_FORMOBJECTIVE: 'Prospect',\n DESC_ID_CAMPAIGN: '7011n000000JrSNAA0',\n DESC_TOKEN: 'VW_DDB_FRM_PROSPECT_LAUNCH',\n ...updatedFormData?.headers,\n },\n fields: {\n formName: 'prospect',\n formType: 'otherform',\n pageCategory: 'Prospect',\n formFields: {\n DESC_LOPD: 'PERMITE',\n DESC_TRANF_DATA_THIRD: 'NO INFORMADO',\n },\n ...updatedFormData?.fields,\n }, // Analítica\n };\n\n const getFormInfo = (steps: Steps[]): Partial => {\n const firstStep = steps[0];\n const lastStep = steps[steps.length - 1];\n const stepsHistory = [0];\n const numberOfScreens = steps.length;\n\n return {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'inverted',\n formType: 'layer',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps,\n stepsHistory,\n thankYouComponent: ,\n };\n };\n\n const getFormDataWithCarline = async () => {\n const carlineCode = faContent?.carlines[0];\n const carlines = await getCarlines();\n const carlineFromFaContent = carlines.find((carline) => carline.code === Number(carlineCode));\n\n return {\n ...NuevoFormData,\n fields: {\n ...NuevoFormData.fields,\n formFields: {\n ...NuevoFormData.fields.formFields,\n COD_INTEREST_CARLINE: carlineFromFaContent?.code,\n DESC_INTEREST_CARLINE: carlineFromFaContent?.title,\n },\n },\n };\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, url, device } = getParamsForm();\n\n const data = {\n ...formatHeaders(headers),\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_SURNAME_1]': fields.surname,\n 'fields[DESC_SURNAME_2]': fields.secondSurname,\n 'fields[DESC_EMAIL_ADDRESS]': removeWhiteSpace(fields.email),\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[COD_INTEREST_CARLINE]': getCodInterestCarline(dealersInfo, fields.carlineCode),\n 'fields[DESC_INTEREST_CARLINE]': getDescInterestCarline(dealersInfo, fields.modelo),\n ...formatFields(fields.formFields),\n\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n ...(await getMatchData(formData, dealersInfo, faContent)),\n };\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formDataInfo = formDataBuilder(dataParsed);\n\n const MOLECULAR_URL = getMolecularUrl(); // Legacy\n\n const response: AxiosResponse = await Axios.post(\n `${MOLECULAR_URL}/request-dps-send.php`,\n formDataInfo\n );\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n const getFormDataAndInfo = async () => {\n let formData = { ...NuevoFormData };\n let formInfo = getFormInfo(steps);\n\n if (faContent?.match) {\n let match = faContent.match;\n const carlines = await getCarlines();\n const carline = findCarline(carlines, match.carline.code);\n dispatch({ type: 'SET_SELECTED_CARLINE', payload: carline });\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n dispatch({ type: 'SET_OFERTA', payload: match });\n\n return { formData, formInfo };\n } else if (faContent?.carlines && faContent?.carlines?.length > 0) {\n formData = await getFormDataWithCarline();\n const newSteps = removeStep(steps, 'Modelo');\n const finalSteps = resetStepsScreenIndex(newSteps);\n formInfo = getFormInfo(finalSteps);\n } else {\n const carlines = await getCarlines();\n dispatch({ type: 'SET_CARLINES', payload: carlines });\n }\n\n return { formData, formInfo };\n };\n\n useEffect(() => {\n getFormDataAndInfo().then((response) => {\n const { formData, formInfo } = response;\n initializeForm(formInfo, formData);\n });\n }, []);\n\n return ;\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport React, { useEffect } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { getCarlines } from 'src/bff';\nimport { CarlineSelect, Email, findCarline, PantallaNombreApellido } from 'src/components';\nimport { useFaContent } from 'src/feature-app';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { createSalesgroup } from '../Leads';\nimport { ConfirmacionProspects } from './ConfirmacionProspects';\nimport { ProspectsVentaForm } from './ProspectsVentaForm';\n\nenum ProspectsSteps {\n Email,\n NombreApellido,\n Confirmacion,\n}\n\nexport function MatchProspectForm() {\n const faContent = useFaContent();\n const dispatch = useDispatch();\n\n const steps = [\n {\n title: (\n <>\n ¿A qué email{' '}quieres que te enviemos esta configuración?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsSteps.Email,\n name: 'Email',\n outputs: ['email'],\n outputsText: ['email'],\n },\n {\n title: (\n <>\n Para hacerlo, nos gustaría saber{' '}quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n \n {\n fields: ,\n screenIndex: ProspectsSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n return (\n \n );\n}\n","import { Text } from '@volkswagen-onehub/components-core';\nimport Axios, { AxiosResponse } from 'axios';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { getMolecularUrl } from 'src/bff';\nimport { Email, PantallaNombreApellido } from 'src/components';\nimport { FormController, removeWhiteSpace, useFaContent, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { isCalculadoraForm } from 'src/forms';\nimport { FormDataGroup, FormInfo, MolecularResponse, OneFormState, Steps } from 'src/types';\nimport { formatFields, formatHeaders, formDataBuilder } from '../format-fields';\nimport { getCalculadoraData, getCodInterestCarline, getDescInterestCarline, getMatchData } from '../Leads';\nimport { ThankYouProspects } from './';\nimport { ConfirmacionProspects } from './ConfirmacionProspects';\n\nexport enum ProspectsPosventaSteps {\n Email,\n NombreApellido,\n Confirmacion,\n}\n\ninterface ProspectsFormProps {\n customSteps?: Steps[];\n updatedFormData?: Partial;\n updatedFormInfo?: Partial;\n}\n\nexport function ProspectsPosventaForm({ updatedFormData }: ProspectsFormProps) {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n const faContent = useFaContent();\n\n const steps: Steps[] = [\n {\n title: (\n <>\n ¿A qué email te enviamos este presupuesto de mantenimiento?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsPosventaSteps.Email,\n name: 'Email',\n outputs: ['email'],\n outputsText: ['email'],\n },\n {\n title: (\n <>\n Genial. Aunque antes de mandártelo, nos gustaría saber quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: ProspectsPosventaSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n fields: ,\n screenIndex: ProspectsPosventaSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_TOKEN: 'VW_DDB_FRM_PROSPECT_POSVENTA',\n DESC_CAMPAIGNBLOCK: '13. VW Posventa Inbound',\n DESC_FORMOBJECTIVE: 'Presupuesto Posventa',\n DESC_ID_CAMPAIGN: '7011n000000JwcWAAS',\n ...updatedFormData.headers,\n },\n fields: {\n formName: 'prospect-posventa',\n formType: 'otherform',\n pageCategory: 'Prospect',\n formFields: {\n DESC_LOPD: 'PERMITE',\n DESC_TRANF_DATA_THIRD: 'NO INFORMADO',\n },\n ...updatedFormData?.fields,\n }, // Analítica\n };\n\n const getFormInfo = (steps: Steps[]): Partial => {\n const firstStep = steps[0];\n const lastStep = steps[steps.length - 1];\n const stepsHistory = [0];\n const numberOfScreens = steps.length;\n\n return {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'inverted',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps,\n stepsHistory,\n thankYouComponent: ,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n const { tc, today, url, device } = getParamsForm();\n\n const data = {\n ...formatHeaders(headers),\n 'headers[DESC_VN_VO]': 'VN',\n 'headers[DESC_DEVICETYPE]': device,\n 'headers[DESC_URLORIGIN]': url,\n 'headers[FECHA_INSERTION_DATE]': today,\n 'headers[TC]': tc,\n 'headers[COD_FORM_ID]': `vw-oneform-${fields.formName}`,\n\n 'fields[DESC_NAME]': fields.name,\n 'fields[DESC_SURNAME_1]': fields.surname,\n 'fields[DESC_SURNAME_2]': fields.secondSurname,\n 'fields[DESC_EMAIL_ADDRESS]': removeWhiteSpace(fields.email),\n 'fields[DESC_FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'fields[COD_INTEREST_CARLINE]': getCodInterestCarline(dealersInfo, fields.carlineCode),\n 'fields[DESC_INTEREST_CARLINE]': getDescInterestCarline(dealersInfo, fields.modelo),\n ...formatFields(fields.formFields),\n\n 'fields[DESC_LSSI]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[DESC_LOPD_GDPR_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n ...getCalculadoraData(formData),\n };\n\n if (isCalculadoraForm(fields.formName)) {\n delete data['fields[COD_INTEREST_CARLINE]'];\n delete data['fields[DESC_INTEREST_CARLINE]'];\n delete data['headers[DESC_VN_VO]'];\n }\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formDataInfo = formDataBuilder(dataParsed);\n\n const MOLECULAR_URL = getMolecularUrl(); // Legacy\n\n const response: AxiosResponse = await Axios.post(\n `${MOLECULAR_URL}/request-dps-send.php`,\n formDataInfo\n );\n\n if (response && response.data && response.data.content && response.data.content.code === '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const formInfo = getFormInfo(steps);\n\n initializeForm(formInfo, NuevoFormData);\n }, []);\n\n return ;\n}\n","import {\n Breakpoints,\n BreakpointWrapper,\n Container,\n ContainerPadding,\n Layout,\n Text,\n TextAlignment,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport React, { useEffect, useState } from 'react';\nimport { connect, useDispatch, useSelector } from 'react-redux';\nimport { useFeatureAppConfig, useTrackingManager, TrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { FormDataFields, FormInfo, OneFormState, Steps } from 'src/types';\n\nconst copiesThankYou = [\n {\n name: 'prospect',\n titleCopyRegular: '',\n titleCopyBold: '¡Listo!',\n bodyCopy: [\n 'Muy pronto, recibirás toda la información sobre el Nuevo Taigo.',\n ],\n },\n {\n name: 'prospect-match',\n titleCopyRegular: 'Ya te hemos enviado ',\n titleCopyBold: 'los detalles de tu configuración',\n bodyCopy: [\n 'Muy pronto recibirás un email con las características del Volkswagen que más encaja contigo. ',\n ],\n },\n {\n name: 'prospect-posventa-calculadora',\n titleCopyRegular: 'Ya tienes ',\n titleCopyBold: 'tu presupuesto de mantenimiento',\n bodyCopy: [\n 'Te hemos enviado un email con todos los detalles sobre tu mantenimiento para que puedas consultarlo cuando quieras.',\n ],\n }\n];\ninterface FieldProps {\n copyBook?: string;\n}\n\ninterface NDPSField {\n name: string;\n value: string;\n}\n\nfunction Fields(props: FieldProps) {\n const { formData, formInfo } = useSelector((state: OneFormState) => state);\n const config = useFeatureAppConfig();\n\n return (\n \n
\n \n \n {props.copyBook}\n \n \n
\n \n );\n}\n\ninterface ThankYouProps {\n formData: FormDataFields;\n formInfo: FormInfo;\n}\n\nfunction ThankYouProspects(props: ThankYouProps) {\n const { formData, formInfo } = props;\n const { formResponse } = formInfo;\n const { formName } = formData;\n\n\n const [completeInfo, setCompletInfo] = useState(null);\n const [titleBold, setTitleBold] = useState('');\n const [titleRegular, setTitleRegular] = useState('');\n const [copybook, setCoopybook] = useState('');\n\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n const getTrackingForm = (): TrackingForm => {\n let LeadID;\n if (formResponse && formResponse.content && formResponse.content.data && formResponse.content.data.fields) {\n const leadField: NDPSField = formResponse.content.data.fields.find(\n (field: NDPSField) => field.name === 'COD_LEAD_ID'\n );\n LeadID = leadField ? leadField.value : undefined;\n }\n return {\n LeadID,\n FormFields: undefined,\n };\n };\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n const aux = copiesThankYou.filter((a: any) => {\n return a.name === formName;\n });\n setCompletInfo(aux);\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm()\n );\n }, []);\n\n const renderTitle = () => {\n return (\n <>\n \n \n {completeInfo ? completeInfo[0].titleCopyRegular : null}\n {completeInfo ? completeInfo[0].titleCopyBold : null}\n \n \n \n \n {completeInfo ? completeInfo[0].titleCopyRegular : null}\n {completeInfo ? completeInfo[0].titleCopyBold : null}\n \n \n \n );\n };\n\n const screen: Steps = {\n title: <>{renderTitle()},\n fields: ,\n };\n return (\n \n );\n}\n\nconst mapStateToProps = (state: OneFormState) => {\n return {\n formData: state.formData.fields,\n formInfo: state.formInfo,\n };\n};\n\nconst ConnectedComponent = connect(mapStateToProps)(ThankYouProspects);\n\nexport { ConnectedComponent as ThankYouProspects };\n","import { CTA, styled, ThemeProvider, Spinner } from '@volkswagen-onehub/components-core';\nimport { ArrowRight } from '@volkswagen-onehub/icons-core/dist/ArrowRight';\nimport { Checkmark } from '@volkswagen-onehub/icons-core/dist/Checkmark';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { TelefonoInput, PrefijoInput } from 'src/components';\nimport { OneFormState } from 'src/types';\nimport { useWindowWidth } from '@react-hook/window-size';\nimport { Phone } from '@volkswagen-onehub/icons-core/dist/Phone';\nimport { keyframes, css } from 'styled-components';\nimport { useTrackingManager, getTrackingForm, useOneFormContext } from 'src/feature-app';\n\nconst moveLeft = keyframes`\n from {\n /* left: 70%; */\n left: 75%;\n }\n to {\n left: 0;\n /* right: auto; */\n }\n`;\n\nconst RaceFormWrapper = styled.div<{ width: number; isSending: boolean; isSent: boolean; showFullWidth: boolean }>`\n display: flex;\n margin-bottom: 24px;\n margin-top: 24px;\n width: ${(props) => {\n if (props.showFullWidth) {\n return '605px';\n }\n if (window.innerWidth < 418) {\n if (props.isSending || props.isSent) {\n return '100%';\n return `${props.width}px`;\n }\n return '75%';\n } else {\n if (props.isSending || props.isSent) {\n return '100%';\n }\n return 'fit-content';\n }\n }};\n\n min-height: 44px;\n position: relative;\n`;\n\nconst PrefijoWrapper = styled.div`\n width: 78px;\n padding-top: 3px;\n margin-right: 24px;\n\n & label {\n color: #001e50 !important;\n }\n`;\n\ninterface CTAWrapperProps{\n width: number;\n isSending: boolean;\n isSent: boolean;\n isPristine: boolean;\n showFullWidth: boolean;\n successful: boolean;\n}\nconst CTAWrapper = styled.div`\n position: absolute;\n left: ${(props) => (props.isSent || props.isSending ? '0' : '100%')};\n width: auto;\n animation: ${(props) => {\n if (props.isSending) {\n return css`\n ${moveLeft} 1s ease\n `;\n } else {\n return 'none';\n }\n }};\n\n & button {\n margin-left: ${(props) => (props.isSending || props.isSent ? '0px' : '15px')};\n margin-top: 5px;\n width: ${(props) => {\n if (props.isSending || props.isSent) {\n if (props.showFullWidth) {\n return '250px';\n } else {\n if (props.isSending) {\n return '250px';\n }\n return '100%';\n }\n }\n return '44px';\n }};\n height: 44px;\n background-color: ${(props) => (props.isSent ? '#029640' : '#ffaa27')};\n border: ${(props) => (props.isSent ? '2px solid #029640' : '2px solid #ffaa27')};\n /* transition: all 1s ease; */\n cursor: ${(props) => (props.isSent ? 'auto' : 'pointer')};\n\n @media all and (min-width: 375px) {\n margin-left: ${(props) => (props.isSending || props.isSent ? '0px' : '25px')};\n }\n @media all and (min-width: 560px) {\n margin-left: ${(props) => (props.isSending || props.isSent ? '0px' : '32px')};\n }\n\n & > span {\n height: 24px;\n }\n\n &:focus,\n &:hover::before,\n &:active::before {\n background-color: ${(props) => (props.isSent && !props.isPristine ? '#029640' : '#ffaa27')};\n position: relative;\n /* margin: 0px; */\n box-shadow: none;\n }\n &:hover::before {\n margin: 0px;\n }\n }\n & button[disabled] {\n cursor: not-allowed;\n background-color: ${(props) => (props.successful ? '#029640' : '#DFE4E8')};\n color: ${(props) => (props.successful ? '#ffffff' : 'inherit')};\n border: 2px ${(props) => (props.successful ? '#029640' : '#DFE4E8')};\n }\n`;\n\ninterface CTAWrapperFullScreenProps {\n isSending: boolean;\n isSent: boolean;\n isPristine: boolean;\n showFullWidth: boolean;\n successful: boolean;\n}\n\nconst CTAWrapperFullScreen = styled.div`\n position: absolute;\n left: ${(props) => (props.isSent || props.isSending ? '0' : '45%')};\n width: auto;\n\n animation: ${(props) => {\n if (props.isSending) {\n return css`\n ${moveLeft} 1s ease\n `;\n } else {\n return 'none';\n }\n }};\n\n @media all and (min-width: 1600px) {\n left: ${(props) => (props.isSent || props.isSending ? '0' : '49%')};\n }\n\n & button {\n margin-left: ${(props) => (props.isSending || props.isSent ? '0px' : '32px')};\n margin-top: 5px;\n width: ${(props) => (props.isSending ? '250px' : props.isSent || props.showFullWidth ? 'auto' : '44px')};\n height: 44px;\n background-color: ${(props) => (props.isSent && props.successful ? '#029640' : '#ffaa27')};\n border: ${(props) => (props.isSent && props.successful ? '2px solid #029640' : '2px solid #ffaa27')};\n cursor: ${(props) => (props.isSent && props.successful ? 'auto' : 'pointer')};\n\n & > span {\n height: 24px;\n }\n\n &:focus,\n &:hover::before,\n &:active::before {\n background-color: ${(props) => (props.isSent && props.successful && !props.isPristine ? '#029640' : '#ffaa27')};\n position: relative;\n /* margin: 0px; */\n box-shadow: none;\n }\n\n &:hover::before {\n margin: 0px;\n }\n }\n & button[disabled] {\n cursor: not-allowed;\n background-color: ${(props) => (props.successful ? '#029640' : '#DFE4E8')};\n color: ${(props) => (props.successful ? '#ffffff' : 'inherit')};\n border: ${(props) => (props.successful ? '2px solid #029640' : '2px solid #DFE4E8')};\n }\n`;\n\ninterface RaceFormProps {\n isSent: boolean;\n isSending: boolean;\n disabledButton: boolean;\n sendForm: () => Promise;\n isPristine: boolean;\n isFullScreen: boolean;\n copyWidth?: number; // Con el resize en algunos dispositivos móviles se pierde el tamaño necesario del cta y se descuadra.\n setIsPristine: React.Dispatch>;\n successful?: boolean;\n error?: boolean;\n}\n\nconst showFullCta = (isFullScreen: boolean) => isFullScreen && window.innerWidth > 1279;\n\nexport const RaceForm = ({\n isSent,\n isSending,\n isPristine,\n disabledButton,\n sendForm,\n copyWidth,\n isFullScreen,\n setIsPristine,\n successful,\n}: RaceFormProps) => {\n const initialSizeRef = useRef(null); // Hay que determinar el width del contenedor al principio para que cuando desaparezcan los campos de telf y prefijo no cambie el ancho y la animación del cta empiece desde otro sitio.\n const [containerWidth, setContainerWidth] = useState(0);\n const windowWidth = useWindowWidth();\n const { initializeForm } = useOneFormContext();\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n initializeForm(\n {},\n {\n headers: {},\n fields: {\n formName: 'race',\n formType: 'otherform',\n pageCategory: 'other',\n },\n },\n isFullScreen\n );\n }, []);\n\n useEffect(() => {\n if (initialSizeRef) {\n if (copyWidth && copyWidth <= 346) {\n // El contenedor crece hasta 346px\n setContainerWidth(copyWidth);\n } else {\n setContainerWidth(initialSizeRef.current.offsetWidth);\n }\n }\n }, [windowWidth, copyWidth]);\n\n useEffect(() => {\n if (successful){\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }\n }, [successful]);\n\n return (\n \n <>\n {isSending || isSent ? null : (\n <>\n \n \n \n \n \n
\n {\n setIsPristine(false);\n }}\n onFocusHandler={() => {\n setIsPristine(false);\n }}\n name='raceCellphone'\n />\n
\n \n )}\n\n {showFullCta(isFullScreen) ? (\n \n : isSent ? : }\n onClick={async () => {\n if (!isSending && !isSent) {\n await sendForm();\n }\n }}\n stretchContent\n >\n {isSending ? 'Enviando' : isSent && successful ? 'Te llamaremos pronto' : 'Te llamamos'}\n \n \n ) : (\n \n : isSent ? : }\n onClick={async () => {\n if (!isSending && !isSent) {\n await sendForm();\n }\n }}\n >\n {isSending ? 'Enviando' : isSent ? 'Te llamaremos pronto' : null}\n \n
\n )}\n \n \n );\n};\n","import { OneFormState } from 'src';\nimport { formDataBuilder } from 'src/forms/format-fields';\nimport { raceSend } from 'src/bff';\nimport { useEffect, useState } from 'react';\nimport { cellphoneIsInvalid } from 'src/components';\nimport { useSelector } from 'react-redux';\n\nexport const useRaceFormController = (raceCellphone: string) => {\n const [isPristine, setIsPristine] = useState(true);\n const [isSent, setIsSent] = useState(false);\n const [isSending, setIsSending] = useState(false);\n const [error, setError] = useState(false);\n const [successful, setSuccessful] = useState(false);\n const [disabledButton, setDisabledButton] = useState(true);\n const {racePrefix }= useSelector((state: OneFormState) => state.formData.fields);\n\n useEffect(() => {\n if (\n raceCellphone &&\n !cellphoneIsInvalid(raceCellphone) &&\n /[6|7|8|9][0-9]{8}/gi.test(raceCellphone) &&\n raceCellphone.length === 9\n ) {\n setDisabledButton(false);\n } else {\n setDisabledButton(true);\n }\n }, [raceCellphone]);\n\n const retry = () => {\n reset();\n sendForm();\n };\n\n const reset = () => {\n setError(false);\n setIsSent(false);\n setIsSending(false);\n setIsPristine(true);\n setSuccessful(false);\n setDisabledButton(true);\n };\n\n const sendForm = async (): Promise => {\n setIsSending(true);\n setDisabledButton(true);\n setIsPristine(false);\n\n const data = {\n id: 'CTC VOLKSWAGEN',\n canal: 'FORM',\n telefono: `${racePrefix}${raceCellphone}`,\n };\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formDataInfo = formDataBuilder(dataParsed);\n const response = await raceSend(formDataInfo);\n\n setIsSending(false);\n setDisabledButton(false);\n\n if (response?.data?.status?.result === 'success' && response?.data?.status?.code === 1) {\n setSuccessful(true);\n } else {\n setError(true);\n }\n setIsSent(true);\n };\n\n return { isSent, isSending, isPristine, disabledButton, error, sendForm, retry, setIsPristine, successful, reset };\n};\n","import { getParamsForm } from 'src/feature-app/get-params-form';\nimport { removeWhiteSpace, formatPrefix } from 'src/feature-app';\n\nconst { tc, today, url, device } = getParamsForm();\n\nexport const getCommonFormData = (fields) =>{\n return {\n\n 'headers[DPS_TOKEN]': 'VW_DDB_FRM_SAC',\n 'headers[FORM_DATE_INSERTION]': today,\n 'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n 'headers[FORM_OBJECTIVE]': 'Atención al cliente',\n 'headers[FORM_URL]': url,\n 'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n 'headers[ORIGIN_DEVICE_TYPE]': device,\n 'headers[ORIGIN_TRACKING_CODE]': tc,\n 'headers[SF_CAMPAIGN_ORIGIN_ID]': 'PENDIENTE',\n\n 'flags[FLAG_RELACION_MARCA_SIN_IC]': false,\n 'flags[PERSON_RGPD_ADAPTED]': true,\n\n 'fields[DPS_BRAND]': 'Volkswagen',\n 'fields[SURVEY_ANSWER_01]': fields.motivoSac ? fields.motivoSac : 'ONESHOP',\n 'fields[PERSON_PREFERRED_CHANNEL]': fields.contactoSAC ? fields.contactoSAC : 'TELEFONO',\n 'fields[PERSON_NAME]': fields.name,\n 'fields[PERSON_SURNAME_1]': fields.surname,\n 'fields[PERSON_SURNAME_2]': fields.secondSurname,\n 'fields[PERSON_EMAIL]': removeWhiteSpace(fields.email),\n 'fields[PERSON_PHONE_PREFIX]': fields.prefix,\n 'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n 'fields[PERSON_PHONE_MOBILE_FULL]': `${formatPrefix(fields.prefix)}${fields.cellphone}`,\n 'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n 'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n }\n};\n","import React, { useEffect, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport {\n FormController,\n useOneFormContext,\n formatPrefix,\n removeWhiteSpace\n} from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { getCommonFormData } from '../FormData';\nimport { OneElementTemplateFullScreen } from 'src/feature-app/Screen';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { ThankYouOneShop, SACOneShopFields } from '.';\nimport { formDataBuilder, formatHeaders } from '../../format-fields';\nimport { IdPerson } from 'src/types';\nimport { DpsData } from 'src/feature-service/es-oneform-core-feature-service/types';\n\n\n\nlet NuevoFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_GDPR_ADAPTED: 'true',\n DESC_TOKEN: 'VW_DDB_FRM_SAC',\n DESC_FORMOBJECTIVE: 'Atención al cliente',\n DESC_ID_CAMPAIGN: '7011n000000AglrAAC',\n COD_FORM_ID: 'vw-oneform-sac-oneshop',\n DESC_FORM_DETAIL: 'SAC OneShop',\n DESC_CAMPAIGNBLOCK: '18 - VW Customer Care',\n },\n fields: {\n formName: 'sac-oneshop',\n formType: 'otherform',\n pageCategory: 'SAC OneShop',\n }, // Analítica\n};\n\ninterface SACOneShopProps {\n idPerson?: IdPerson;\n dpsData?: DpsData;\n}\n\nexport const SACOneShopForm = (props: SACOneShopProps) => {\n const { initializeForm } = useOneFormContext();\n const { idPerson } = props;\n const store = useStore();\n const dispatch = useDispatch();\n const [loading, setLoading] = useState(true);\n\n\n const steps: Steps[] = [\n {\n title: <>, // El title se renderiza en los fields al ser un form de un solo step con un diseño que incluye un stage.\n fields: } />,\n screenIndex: 0,\n name: 'Form',\n },\n ];\n\n useEffect(() => {\n if (idPerson) {\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'cellphone': idPerson.NUM_Phone_mobile__c } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'name': idPerson.FirstName } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'surname': idPerson.LastName } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'email': idPerson.TXT_Email__c } });\n }\n }, [idPerson]);\n\n useEffect(() => {\n const urlParams = new URLSearchParams(window.location.search);\n const info = urlParams.get('q');\n if (info) {\n const decodedParms = atob(info);\n const splittedParams = decodedParms.split(';');\n const [DESC_ID_CLIMAPRO] = splittedParams;\n\n NuevoFormData = {\n headers: { ...NuevoFormData.headers, DESC_ID_CLIMAPRO },\n fields: { ...NuevoFormData.fields },\n };\n }\n setLoading(false);\n }, []);\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData, dealersInfo }: OneFormState = store.getState();\n\n const { fields, headers } = formData;\n\n return new Promise(async (resolve, reject) => {\n\n const data = {\n 'headers[FORM_DETAILS]': 'SAC OneShop',\n ...getCommonFormData(fields),\n };\n\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData);\n\n if (response && response.data && response.data.content && response.data?.status?.code == '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n if (loading) {\n return;\n }\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const NuevoFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n formTheme: 'main',\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n notALayer: true,\n formType: 'inPage',\n alingItemsCenter: true,\n thankYouComponent: ,\n };\n initializeForm(NuevoFormInfo, NuevoFormData);\n }, [loading]);\n\n return !steps ? null : ;\n};\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThankYouOneShop = () => {\n const {formResponse} = useSelector((state: OneFormState) => state.formInfo);\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formResponse.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: (\n \n ),\n };\n return (\n \n );\n};\n","import {\n styled,\n Container,\n ContainerPadding,\n CTA,\n Text,\n ContainerGutter,\n TokenTextAppearance,\n} from '@volkswagen-onehub/components-core';\nimport { CloseHandleV2, FocusLayerSizeV2, LayerHandleV2, LayerManagerV2 } from '@volkswagen-onehub/layer-manager';\n\nimport {\n InputError,\n PoliticaPrivacidad,\n Telefono,\n MultipleCTASelection,\n KoScreen,\n LoadingScreen,\n Nombre,\n Apellido,\n Email,\n} from 'src/components';\nimport React, { useEffect, useState } from 'react';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { useFormContext } from 'react-hook-form';\nimport {\n LayerManagerWrapper,\n useFeatureAppEnvironment,\n useFeatureServices,\n useOneFormContext,\n useTrackingManager,\n formatPrefix,\n} from 'src/feature-app';\nimport { OneFormState, IdPerson } from 'src/types';\n\nconst TextAreaWrapper = styled.div`\n label {\n width: 100%;\n }\n`;\n\nconst PaddingWrapper = styled.div`\n`;\n\nconst NameLastNameWrapper = styled.div`\n padding-bottom: 2px;\n gap: 20px;\n display: flex;\n flex-direction: column;\n @media all and (min-width: 960px) {\n flex-direction: row;\n gap: 32px;\n }\n`;\n\ninterface OneShopProps {\n idPerson?: IdPerson;\n}\n\nexport const SACOneShopFields = (props: OneShopProps) => {\n const { idPerson } = props;\n const [motivoError, setMotivoError] = useState(false);\n const [masInfoValue, setMasInfoValue] = useState(null);\n const [nameError, setNameError] = useState(false);\n\n return (\n
\n \n <>\n \n \n Confirma tus datos y te llamaremos lo antes posible\n \n \n \n Sea cual sea tu duda, estamos aquí para ayudarte. Solo necesitamos que completes la siguiente\n información y nos pondremos en contacto contigo.\n \n \n \n \n \n \n \n \n \n }\n />\n \n \n \n \n
\n );\n};\n\ninterface FieldProps {\n question?: string;\n input: JSX.Element;\n isRequired?: boolean;\n emailError?: boolean;\n motivoError?: boolean;\n}\nconst Field = (props: FieldProps) => {\n const { question, input, isRequired, emailError, motivoError } = props;\n\n return (\n \n {\n question ? (\n \n {question} {isRequired ? * : null}\n \n ) : null\n }\n\n {input}\n {emailError || motivoError ? Necesitamos esta información para seguir : null}\n \n );\n};\n\ninterface lastNavigationsProps {\n setMotivoError: (value: boolean) => void;\n setNameError: (value: boolean) => void;\n masInfoValue?: null | string;\n idPerson?: IdPerson;\n}\n\nfunction LastNavigation(props: lastNavigationsProps) {\n const { setMotivoError, masInfoValue, idPerson, setNameError } = props;\n // const dispatch = useDispatch();\n const { handleShowFinalScreen, handleSubmit } = useOneFormContext();\n const { getValues, triggerValidation } = useFormContext();\n const [layerVisible, setLayerVisible] = useState(false);\n const [koLayer, setKoLayer] = useState>(null);\n const [koScreen, setKoScreen] = useState(false);\n const layerManager = useFeatureServices()['layer-manager'] as LayerManagerV2;\n const store = useStore();\n const env = useFeatureAppEnvironment();\n const dispatch = useDispatch();\n const trackingManager = useTrackingManager();\n const { formData } = useSelector((state: OneFormState) => state);\n\n //Loading and Ko layers\n\n const handleKoLayer = () => {\n const layer = layerManager.openFocusLayer(renderKoLayer, {}, { size: FocusLayerSizeV2.A });\n setKoLayer(layer);\n };\n\n const renderKoLayer = (state: any, close: CloseHandleV2) => {\n const NoCompraTitle = 'Uy, algo ha pasado';\n const NoCompraBody = 'Por alguna razón no hemos podido enviar tu petición. ¿Lo intentamos de nuevo?';\n\n return (\n \n \n \n );\n };\n\n const handleLoadingScreenLayer = () => {\n const layer = layerManager.openFocusLayer(renderLoadingScreen, {}, { size: FocusLayerSizeV2.A });\n\n return layer;\n };\n\n const renderLoadingScreen = (state: any, close: CloseHandleV2) => {\n return (\n \n \n \n );\n };\n\n\n\n async function handleConfirmarCita(e: any) {\n\n //activar o desactivar mensajes de error\n const values = await getValues();\n\n trackingManager.trackFormCTAClick({\n contentId: 'Confirmar',\n });\n\n const isValid = await triggerValidation();\n\n if (isValid) {\n const loadingLayer = handleLoadingScreenLayer();\n setLayerVisible(true);\n\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'name': values.name } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'surname': values.surname } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'email': values.email } });\n dispatch({ type: 'UPDATE_FIELDS', payload: { 'cellphone': `${formatPrefix(values.prefix)}${values.cellphone}` } });\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\n const value = await handleSubmit(e);\n loadingLayer.close();\n\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n }\n }\n }\n\n async function retrySubmit(e: any) {\n if (koLayer) {\n koLayer.close();\n }\n setKoScreen(false);\n const loadingLayer = handleLoadingScreenLayer();\n const value = await handleSubmit(e);\n loadingLayer.close();\n if (value) {\n handleShowFinalScreen();\n } else {\n handleKoLayer();\n setKoScreen(true);\n }\n }\n\n useEffect(() => {\n if (!layerVisible && koScreen) setKoScreen(false);\n }, [layerVisible]);\n\n useEffect(() => {\n dispatch({ type: 'UPDATE_FORM_ENDED', payload: true });\n }, []);\n\n return (\n <>\n {\n e.preventDefault();\n handleConfirmarCita(e);\n }}\n stretchContent={window.innerWidth <= 560}\n >\n Confirmar\n \n \n );\n}\n","import React, { useState, useEffect } from 'react';\nimport { BreakpointWrapper, Breakpoints } from '@volkswagen-onehub/components-core';\nimport { SelectExtended } from '.';\nimport { getActualYearNumber } from 'src/feature-app';\nimport { styled } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { meses } from 'src/feature-app/InputsValues/OtherInputTypesObjects';\n\ninterface HeaderImageProps {\n imageSmall?: string;\n imageBig?: string;\n imageLogo?: string;\n}\nconst ImageWrapper = styled.div<{ background: string }>`\n div{\n display: flex;\n justify-content: center;\n background-image: ${(props) => `url(${props.background})`};\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n height: 30vh;\n }\n @media screen and (max-width: 700px) {\n div{\n height: 40vh;\n }\n } \n`;\nconst LogoCenter = styled.div`\n .image-front{\n position: relative;\n width: 50vw;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n display: block;\n margin: auto; \n }\n @media screen and (min-width: 500px) {\n .image-front{\n width: 40vw;\n }\n }\n @media screen and (min-width: 700px) {\n .image-front{\n width: 30vw;\n }\n }\n`;\n\n\nexport const HeaderImage = (props: HeaderImageProps) => {\n return (\n <>\n \n \n \n \"logo\"\n \n \n \n \n \n \n \"logo\"\n \n \n \n \n );\n}","import React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { useFeatureServices } from 'src/feature-app';\nimport { EsOneformCoreServiceV1 } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { IdPerson } from 'src/types';\nimport { SACOneShopForm } from '.';\nimport { createPincodeEntity } from '../../dps-utils';\nimport { LoadingEncuestas } from 'src/components';\nimport { HeaderImage } from \"../../../components/HeaderImage\";\n\nexport interface SACOneShopProps {\n idPerson: IdPerson;\n handleError: () => void;\n\n}\n\nexport function SACOneShopController() {\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState(false);\n\n const dpsDataRef = useRef(null);\n const idPersonRef = useRef(null);\n const oneFormService = useFeatureServices()['es:oneform-core'] as EsOneformCoreServiceV1;\n\n const imagesUrl = {\n imageBigUrl: 'https://assets.volkswagen.com/is/image/volkswagenag/es-oneform-sac-oneshop-2560x760?Zml0PWNyb3AlMkMxJndpZD0yNTYwJmhlaT03NjAmZm10PXdlYnAtYWxwaGEmcWx0PTc5JmJmYz1vZmYmYTYzZA==',\n imageSmallUrl: 'https://assets.volkswagen.com/is/image/volkswagenag/es-oneform-sac-oneshop-1080x520?Zml0PWNyb3AlMkMxJndpZD0xMDgwJmhlaT01MjAmZm10PXdlYnAtYWxwaGEmcWx0PTc5JmJmYz1vZmYmMjAxZA==',\n imageLogoUrl: 'https://assets.volkswagen.com/is/image/volkswagenag/es-oneform-sac-oneshop-logo-v2?Zml0PWNyb3AlMkMxJndpZD0zNjImaGVpPTc0JmZtdD1wbmctYWxwaGEmYmZjPW9mZiZjZmYy'\n }\n\n const handleNext = (value: any) => { };\n const handleComplete = () => {\n const dpsData = oneFormService.getDpsData();\n\n if (dpsData.pincode === null || dpsData.pincode.noPincodeFound || dpsData.pincode.pincodeError) {\n handleError();\n } else if (dpsData.pincode.pincodeUsed) {\n setLoading(false);\n } else {\n const idPerson = createPincodeEntity(dpsData, 'PERSON');\n\n dpsDataRef.current = dpsData;\n idPersonRef.current = idPerson;\n\n setLoading(false);\n }\n };\n\n const handleError = () => {\n setError(true);\n setLoading(false);\n };\n\n useEffect(() => {\n const oneFormCoreDpsIsLoaded = oneFormService.getLoadedState();\n\n oneFormCoreDpsIsLoaded.subscribe({\n next(value) {\n handleNext(value);\n },\n error(err) {\n console.error(err);\n handleError();\n },\n complete() {\n handleComplete();\n },\n });\n }, []);\n\n if (loading) {\n return ;\n } else if (error) {\n return (\n <>\n \n \n \n );\n } else {\n return (\n <>\n \n \n \n );\n }\n}\n","import React, { useEffect } from 'react';\nimport { Text } from '@volkswagen-onehub/components-core';\nimport { OneElementTemplate } from 'src/feature-app/Screen';\nimport { Email, PantallaNombreApellido, DetalleMotivo, Telefono, MultipleCTASelection, ContactInfoWrapper } from 'src/components';\nimport { PantallaMotivoSAC, ConfirmacionSAC, ThankYouSAC } from '.';\nimport { getCommonFormData } from './FormData';\nimport { useStore, useDispatch } from 'react-redux';\nimport { oneformBFFNdpsSend } from 'src/bff';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport {\n FormController,\n removeWhiteSpace,\n useOneFormContext,\n formatPrefix,\n} from 'src/feature-app';\nimport { formDataBuilder } from '../format-fields';\nimport { contactoOptionsSAC } from 'src/feature-app/InputsValues/CTAsObjects';\n\nexport enum SACFormSteps {\n Motivo,\n MasInformacion,\n NombreApellido,\n EmailTelefono,\n Contacto,\n Confirmacion,\n}\n\nexport const SACForm = () => {\n const { initializeForm } = useOneFormContext();\n const store = useStore();\n const dispatch = useDispatch();\n\n const steps: Steps[] = [\n {\n title: (\n <>\n ¿Cómo podemos ayudarte?\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: SACFormSteps.Motivo,\n name: 'motivoSac',\n outputs: ['motivoSac'],\n outputsText: ['motivoSac'],\n },\n {\n title: (\n <>\n ¿Podrías darnos más detalles sobre tu{' '}\n \n petición?*\n \n \n ),\n fields: } />,\n screenIndex: SACFormSteps.MasInformacion,\n name: 'MasInformacion',\n outputs: ['masInformacion'],\n outputsText: ['masInformacion'],\n },\n {\n title: (\n <>\n Para responderte, nos gustaría saber quién eres\n \n ),\n fields: (\n \n \n \n }\n />\n ),\n screenIndex: SACFormSteps.NombreApellido,\n name: 'NombreApellido',\n outputs: ['name', 'surname', 'secondSurname'],\n outputsText: ['name', 'surname', 'secondSurname'],\n },\n {\n title: (\n <>\n ¿En qué teléfono e email podemos localizarte?\n \n ),\n fields: (\n \n \n \n \n }\n />\n ),\n screenIndex: SACFormSteps.EmailTelefono,\n name: 'EmailTelefono',\n outputs: ['cellphone', 'email'],\n outputsText: ['cellphone', '/', 'email'],\n },\n {\n title: (\n <>\n ¿Cómo prefieres que te{' '}\n \n respondamos?\n *\n \n \n ),\n fields: (\n }\n />\n ),\n screenIndex: SACFormSteps.Contacto,\n name: 'contactoSAC',\n outputs: ['contactoSAC'],\n outputsText: ['contactoSAC'],\n },\n {\n fields: ,\n screenIndex: SACFormSteps.Confirmacion,\n name: 'Confirmacion',\n isLastStep: true,\n hidePreviousStep: true,\n },\n ];\n\n const SACFormData: Partial = {\n headers: {\n DESC_BRAND: 'VW',\n DESC_VN_VO: 'VN',\n DESC_GDPR_ADAPTED: 'true',\n },\n fields: { formName: 'sac', formType: 'otherform', pageCategory: 'Atención al cliente' }, // Analítica\n };\n\n const getFormInfo = (): {\n firstStep: Steps;\n lastStep: Steps;\n stepsHistory: number[];\n numberOfScreens: number;\n newSteps?: Steps[];\n } => {\n return {\n firstStep: steps[0],\n lastStep: steps[steps.length - 1],\n stepsHistory: [0],\n numberOfScreens: steps.length,\n newSteps: null,\n };\n };\n\n const sendForm = (): Promise => {\n const { formData }: OneFormState = store.getState();\n\n const { fields } = formData;\n\n return new Promise(async (resolve, reject) => {\n\n const data = {\n ...getCommonFormData(fields),\n 'fields[COMMENTS_PERSON]': fields.masInformacion,\n };\n const dataStringified = JSON.stringify(data);\n const dataParsed = JSON.parse(dataStringified);\n\n const formData = formDataBuilder(dataParsed);\n\n const response = await oneformBFFNdpsSend(formData);\n\n if (response && response.data && response.data.content && response.data?.status?.code == '200') {\n dispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n resolve(true);\n } else {\n resolve(false);\n }\n });\n };\n\n useEffect(() => {\n const { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n const SACFormInfo: Partial = {\n formStarted: true,\n sendFormCallback: sendForm,\n fullScreen: firstStep.fullScreen ? true : false,\n lastStep,\n numberOfScreens,\n screenIndex: firstStep.screenIndex,\n step: firstStep,\n steps: newSteps ? newSteps : steps,\n stepsHistory,\n formType: 'layer',\n formTheme: 'inverted',\n notALayer: false,\n thankYouComponent: ,\n };\n\n initializeForm(SACFormInfo, SACFormData);\n }, []);\n\n return ;\n};\n","import React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { SelectExtended } from 'src/components';\nimport { useOneFormContext } from 'src/feature-app/OneForm';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { OneFormState } from 'src/types';\nimport { styled } from '@volkswagen-onehub/components-core';\n\nconst InputsWrapper = styled.div`\n padding-top: 44px;\n width: 100%;\n @media all and (min-width: 560px) {\n width: 303px;\n }\n @media all and (min-width: 960px) {\n width: 320px;\n }\n`;\n\nconst motivoOptions = [\n { code: null, name: null },\n {\n code: 'VE',\n name: 'Venta',\n },\n {\n code: 'PV',\n name: 'Posventa',\n },\n {\n code: 'GDP',\n name: 'Gestión de datos personales y privacidad',\n },\n {\n code: 'OT',\n name: 'Otras consultas',\n },\n];\n\nexport const PantallaMotivoSAC = () => {\n const [motivo, setMotivo] = useState(null);\n const { fields } = useSelector((state: OneFormState) => state.formData);\n const dispatch = useDispatch();\n const { handleNextStep } = useOneFormContext();\n\n useEffect(() => {\n if (fields.motivoSac) {\n const motivo = getMotivoByCode(fields.motivoSac);\n setMotivo(motivo);\n }\n }, []);\n\n const getMotivoByName = (name) => {\n\t\treturn motivoOptions ? motivoOptions.find(obj => obj.name == name) : null;\n\t}\n\n const getMotivoByCode = (code) => {\n return motivoOptions ? motivoOptions.find(obj => obj.code == code) : null;\n\t}\n\n function handleChangeMotivo(e: any) {\n e.preventDefault();\n if (e.target.value) {\n\t\t\tconst motivo = getMotivoByName(e.target.value);\n setMotivo(motivo);\n dispatch({ type: 'UPDATE_FIELDS', payload: { ['motivoSac']: motivo.code } });\n dispatch({ type: 'UPDATE_LITERAL_FIELDS_STEPS', payload: { ['motivoSac']: motivo.name } });\n handleNextStep();\n\t\t}\n }\n\n return (\n <>\n \n null}\n setOption={setMotivo}\n handleChange={handleChangeMotivo}\n />\n \n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { InputError, TextInputExtended, SelectExtended } from 'src/components';\nimport { useOnlyLettersControl } from 'src/components/inputs/use-only-letters-control';\nimport {\n styled,\n} from '@volkswagen-onehub/components-core';\nimport { OneFormState } from 'src/types';\nimport { useSelector } from 'react-redux';\ninterface ContentProps {\n notALayer?: boolean;\n}\n\nconst ContentWrapper = styled.div`\n margin-top: 4px;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n margin-top: 0;\n }\n label {\n margin-top: 40px;\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n }\n`;\n\nconst roadOptions = [\n {\n code: 'AUTOP',\n name: 'Autopista',\n },\n {\n code: 'AUTOV',\n name: 'Autovía',\n },\n {\n code: 'AVENI',\n name: 'Avenida',\n },\n {\n code: 'BARIO',\n name: 'Barrio',\n },\n {\n code: 'CALLE',\n name: 'Calle',\n },\n {\n code: 'CAMIN',\n name: 'Camino',\n },\n {\n code: 'CARRT',\n name: 'Carretera',\n },\n {\n code: 'GRANV',\n name: 'Gran vía',\n },\n {\n code: 'PASAJ',\n name: 'Pasaje',\n },\n {\n code: 'PASEO',\n name: 'Paseo',\n },\n {\n code: 'PLAYA',\n name: 'Playa',\n },\n {\n code: 'RAMBL',\n name: 'Rambla',\n },\n {\n code: 'RONDA',\n name: 'Ronda',\n },\n {\n code: 'TRAVE',\n name: 'Travesía',\n },\n {\n code: 'URBAN',\n name: 'Urbanización',\n },\n {\n code: 'VIA',\n name: 'Vía',\n },\n];\n\nexport const PantallaDireccionPostal = () => {\n const { register } = useFormContext();\n const { fields } = useSelector((state: OneFormState) => state.formData);\n\n //tipo de vía\n\n const [tipoVia, setTipoVia] = useState('Autopista');\n\n useEffect(() => {\n if (fields.tipoVia) {\n setTipoVia(fields.tipoVia);\n }\n }, []);\n\n function handleChangeTipoVia(event: any) {\n const newTipoVia = event.currentTarget.value;\n setTipoVia(newTipoVia);\n }\n\n //Nombre de la vía\n const [viaValue, setViaValue] = useState('');\n const [pristineVia, setPristineVia] = useState(true);\n const { error, regExp } = useOnlyLettersControl(pristineVia, viaValue);\n const numberRegExp = /\\d|[sS]\\/[nN]/gi;\n const handleChangeVia = (e: any) => {\n setViaValue(e.target.value);\n setPristineVia(false);\n };\n\n //Número\n\n const [numberValue, setNumberValue] = useState('');\n const [pristineNumber, setPristineNumber] = useState(true);\n const [numberError, setNumberError] = useState(false);\n const regExpNonDigit = /\\D/;\n\n const handleChangeNumber = (e: any) => {\n setNumberValue(e.target.value);\n if (regExpNonDigit.test(e.target.value) || (numberValue.length > 1 && numberValue.length < 8)) {\n setNumberError(true);\n } else if (numberValue === 's/n') {\n setNumberError(true);\n }\n\n setNumberError(false);\n\n setPristineNumber(false);\n };\n\n //Piso y puerta\n const [pisoPuertaValue, setPisoPuertaValue] = useState('');\n\n const handleChangePisoPuerta = (e: any) => {\n setPisoPuertaValue(e.target.value);\n };\n\n return (\n \n {}}\n setOption={setTipoVia}\n handleChange={handleChangeTipoVia}\n updateFields\n />\n handleChangeVia(e)}\n required\n />\n {error && Solo se aceptan letras}\n handleChangeNumber(e)}\n required\n />\n {numberError && Se aceptan números o la expresión s/n}\n handleChangePisoPuerta(e)}\n />\n \n );\n};\n","import React, { useEffect, useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { InputError, Provincia, TextInputExtended } from 'src/components';\nimport { useOnlyLettersControl } from 'src/components/inputs/use-only-letters-control';\nimport {\n styled,\n} from '@volkswagen-onehub/components-core';\n\ninterface ContentProps {\n notALayer?: boolean;\n}\n\nconst ContentWrapper = styled.div`\n margin-top: 4px;\n @media screen and (min-width: 960px) {\n display: flex;\n justify-content: space-between;\n flex-wrap: wrap;\n margin-top: 0;\n }\n label {\n margin-top: 40px;\n @media all and (min-width: 560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid013)' : '303px')};\n }\n @media all and (min-width: 960px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid008)' : '320px')};\n }\n @media all and (min-width: 1280px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid006)' : '320px')};\n }\n @media all and (min-width: 1920px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid005)' : '320px')};\n }\n @media all and (min-width: 2560px) {\n width: ${(props) => (props.notALayer ? 'var(--size-grid004)' : '320px')};\n }\n }\n`;\n\nexport const PantallaMunicipio = () => {\n const { register } = useFormContext();\n\n //Localidad\n const [localidadValue, setLocalidadValue] = useState('');\n const [pristineLocalidad, setPristineLocalidad] = useState(true);\n const { error, regExp } = useOnlyLettersControl(pristineLocalidad, localidadValue);\n\n const handleChangeLocalidad = (e: any) => {\n setLocalidadValue(e.target.value);\n setPristineLocalidad(false);\n };\n\n // PostalCode\n const [inputValuePostalCode, setInputValuePostalCode] = useState('');\n const [pristinePostalCode, setPristinePostalCode] = useState(true);\n const [errorPostalCode, setErrorPostalCode] = useState(false);\n const regExpPostalCode = /\\d{5}/gi;\n\n const handleChangePostalCode = (e: any) => {\n setInputValuePostalCode(e.target.value);\n setPristinePostalCode(false);\n };\n\n useEffect(() => {\n if (!pristinePostalCode && inputValuePostalCode.match(regExpPostalCode) === null) {\n setErrorPostalCode(true);\n } else {\n setErrorPostalCode(false);\n }\n }, [inputValuePostalCode, pristinePostalCode]);\n\n //Provincia\n\n const [provinceValue, setProvinceValue] = useState('');\n const [pristineProvince, setPristineProvince] = useState(true);\n const { error: errorProvincia, regExp: regExpProvincia } = useOnlyLettersControl(pristineProvince, provinceValue);\n\n const handleChangeProvince = (e: any) => {\n setProvinceValue(e.target.value);\n setPristineProvince(false);\n };\n\n return (\n \n handleChangeLocalidad(e)}\n required\n />\n {error && Solo se aceptan letras}\n\n handleChangePostalCode(e)}\n required\n />\n {errorPostalCode && Solo se aceptan números}\n\n \n\n \n );\n};\n","import { Breakpoints, Layout } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { \n LegalesFormatoLayer, \n LssiTkmQuestions, \n PoliticaPrivacidad, \n LastNavigation, \n GeneralConfirmacionLayerWrapper \n} from 'src/components';\n\nexport const ConfirmacionSAC = () => {\n\n return (\n \n \n \n \n\n \n\n \n \n \n );\n};\n","import React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useTrackingManager, getTrackingForm } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\nimport { ThankYouTitle, ThankYouFields } from 'src/components';\n\nexport const ThankYouSAC = () => {\n const { formInfo } = useSelector((state: OneFormState) => state);\n const { formResponse } = formInfo;\n\n const trackingManager = useTrackingManager();\n const dispatch = useDispatch();\n\n useEffect(() => {\n // Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n const screenIndexThankyou = formInfo?.numberOfScreens;\n\n dispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n dispatch({ type: 'SET_FORM_INFO', payload: { step: { screenIndex: screenIndexThankyou, name: \"ThankYou\" } } });\n\n trackingManager.trackFormSubmissionSuccessMessageLoad(\n {\n contentId: undefined,\n },\n getTrackingForm(formResponse)\n );\n }, []);\n\n const screen: Steps = {\n title: ,\n fields: ,\n };\n return (\n \n );\n};\n","import { PincodeResponseOk } from 'src/bff';\nimport { DpsData } from 'src/feature-service/es-oneform-core-feature-service/types';\nimport { IdLead, IdPerson, IdOrder, IdVehicle, IdDealer } from 'src/types';\n\nexport const createPincodeEntity = (dpsData: DpsData, stringToFind: 'LEAD' | 'PERSON' | 'ORDER' | 'VEHICLE' | 'DEALER') => {\n if (!dpsData.pincode?.pincodeResponse) {\n return null;\n }\n const atts = (dpsData.pincode?.pincodeResponse?.content as PincodeResponseOk[]).find((att: any) =>\n att.attributes.find((att: any) => att.name === 'ID' && att.value === stringToFind)\n );\n\n if (!atts) {\n return null;\n }\n\n const id: IdLead | IdPerson | IdOrder | IdVehicle | IdDealer = atts.attributes.reduce((obj: any, att: any) => {\n const key = Object.values(att)[0] as any;\n const value = Object.values(att)[1] as any;\n obj[key] = value;\n return obj;\n }, {});\n\n return id;\n};\n","import { OneFormContent } from 'src/feature-app';\nimport { FormDataFields, FormDataFlags, FormDataHeaders } from 'src/types';\n\nexport const formDataBuilder = (data: any): FormData => {\n const formData = new FormData();\n\n for (const key in data) {\n if (data[key] === null || data[key] === 'null') {\n formData.append(key, '');\n } else {\n formData.append(key, data[key]);\n }\n }\n return formData;\n};\n\nexport const formatFormData = (object: object, string: string) => {\n if (typeof object !== 'object' || Object.keys(object).length === 0) {\n return {};\n }\n return Object.entries(object)\n .map((key) => [`${string}[${key[0]}]`, key[1]])\n .reduce((accum: FormDataFields, [k, v]) => {\n accum[k] = v;\n return accum;\n }, {});\n};\n\n/**\n * Formato de entrada: {DESC_FORM_VERSION: ''}\n * Formato de salida: {fields[DESC_FORM_VERSION]: ''}\n * @param fields\n */\nexport const formatFields = (fields: FormDataFields): FormDataFields => {\n return formatFormData(fields, 'fields');\n};\n\n/**\n * Formato de entrada: {DESC_FORM_DETAIL: ''}\n * Formato de salida: {headers[DESC_FORM_DETAIL]: ''}\n * @param headers\n */\nexport const formatHeaders = (headers: FormDataHeaders): FormDataHeaders => {\n return formatFormData(headers, 'headers');\n};\n\n/**\n * Formato de entrada: {DESC_FORM_DETAIL: ''}\n * Formato de salida: {flags[DESC_FORM_DETAIL]: ''}\n * @param flags\n */\nexport const formatFlags = (flags: FormDataFlags): FormDataFlags => {\n return formatFormData(flags, 'flags');\n};\n\nexport const getDpsFields = (faContent: OneFormContent) => {\n if (faContent && faContent.dpsFields && faContent.dpsFields.length > 0) {\n const headers = faContent.dpsFields.reduce((initialValue, header) => {\n const key = header.field;\n const value = header.value;\n const obj = { [key]: value };\n initialValue = { ...initialValue, ...obj };\n return initialValue;\n }, {});\n\n return { ...headers };\n }\n return null;\n};\n","import { Steps } from 'src/types';\n\nexport const getIndexInSteps = (steps: Steps[], stepName: string) => {\n if (steps?.length === 0 || !stepName) {\n return;\n }\n return steps.findIndex((step) => step.name === stepName);\n};\n\n/**\n * En caso de haber eliminado un step hay que volver a añadirlo de nuevo con los steps por defecto y llamar a la función handleNextStep ya que \n * ésta se llama antes de tiempo y realiza el cálculo con los steps sin actualizar.\n * @param steps \n * @param stepName \n */\nexport const addRemovedStep = (initialSteps: Steps[], actualSteps: Steps[], stepName: string, screenIndex: number) => {\n const addedStep = getIndexInSteps(initialSteps, stepName);\n actualSteps.splice(screenIndex + 1, 0, initialSteps[addedStep]);\n return actualSteps;\n};\n\n\nexport const removeStep = (steps: Steps[], stepName: string): Steps[] => {\n const indexToSplice = getIndexInSteps(steps, stepName);\n \n if (indexToSplice !== -1) {\n steps.splice(indexToSplice, 1);\n }\n return steps;\n};\n\nexport const removeMultipleSteps = (steps: Steps[], stepNames: string[]): Steps[] => {\n const indexesToSplice = stepNames.map(stepName => getIndexInSteps(steps, stepName));\n\n const newSteps = steps.filter((step, index) => {\n return indexesToSplice.indexOf(index) === -1;\n });\n\n return newSteps;\n};\n\nexport const removeMultipleStepsAndResetScreenIndex = (steps: Steps[], stepNames: string[]): Steps[] => {\n const newSteps = removeMultipleSteps(steps, stepNames);\n\n return resetStepsScreenIndex(newSteps);\n};\n\nexport const resetStepsScreenIndex = (steps: Steps[]) => {\n return steps.map((step, index) => {\n step.screenIndex = index;\n return step;\n });\n};\n\n/**\n * Utilizamos esta función cuando queremos eliminar muchos steps seguidos, cuando por ejemplo hay \n * una pregunta que en caso negativo elimina una serie de preguntas condicionales. \n * Hay que pasar el firstStep como el step que desencadena la pregunta y el lastStep como el primer step que tendremos que mostrar\n * después de eliminar.\n * @param steps \n * @param firstStep Este step no se eliminará, se eliminará el siguiente.\n * @param lastStep Este step no se eliminará, se eliminará el anterior.\n */\nexport const getArrayOfStepsNames = (steps: Steps[], firstStep: string, lastStep: string) => {\n const indexOfFirstStep = getIndexInSteps(steps, firstStep);\n const indexOfLastStep = getIndexInSteps(steps, lastStep);\n\n if (indexOfFirstStep !== -1 && indexOfLastStep !== -1) {\n const newSteps = [...steps];\n const stepsToRemove = newSteps.slice(indexOfFirstStep + 1, indexOfLastStep);\n const arrayOfStepsNames = stepsToRemove.map(step => step.name);\n return arrayOfStepsNames;\n }\n return [];\n};\n","/**\n * @param kmCalculadora\n */\nexport const transformMillage = (kmCalculadora: number) => {\n try {\n if (kmCalculadora && !Number.isNaN(kmCalculadora)) {\n return Number(kmCalculadora);\n } else {\n return 0;\n } \n } catch (error) {\n return 0;\n }\n};\n","export const TIME_FOR_TRANSFORM = 400;\nexport const TIME_FOR_TRANSFORM_MS = `${TIME_FOR_TRANSFORM}ms`;\n\nexport const TIME_FOR_OPACITY = 600;\nexport const TIME_FOR_OPACITY_MS = `${TIME_FOR_OPACITY}ms`;\n","import dayjs from 'dayjs';\nimport { DomainAttributesValues } from 'src';\n\nexport const formatToTwoChars = (str: string) => {\n\tif (str === null || str === undefined || str === '') {\n\t\treturn '';\n\t}\n\n\tstr = String(str);\n\n\treturn str.length === 1 ? '0' + str : str;\n};\n\nexport const arrayToObject = (arr: DomainAttributesValues[]) => {\n\tif (!arr) return null;\n\tconst obj = {};\n\tfor (const i in arr) {\n\t\tobj[arr[i].name] = arr[i].value;\n\t}\n\treturn obj;\n};\n\nexport const strTitlelize = (str: string) => {\n\tif (!str) return '';\n\treturn str\n\t\t.toLowerCase()\n\t\t.split(' ') // separar palabras para capitalizar\n\t\t.map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n\t\t.join(' ')\n\t\t.split('.') // separar sociedades para capitalizar (S.A., S.L.U.)\n\t\t.map((word) => word.charAt(0).toUpperCase() + word.slice(1))\n\t\t.join('.');\n};\n\nexport const transformDate = (date: string, outputFormat: string, inputFormat?: string) => {\n\tif (inputFormat) {\n\t\tif (dayjs(date, inputFormat, true).isValid()) {\n\t\t\treturn dayjs(date, inputFormat).format(outputFormat);\n\t\t}\n\t} else if (dayjs(date, 'YYYY-MM-DD', true).isValid()) {\n\t\treturn dayjs(date, 'YYYY-MM-DD').format(outputFormat);\n\t}\n\treturn null;\n};\n\nexport const getFirstAndLastDayOfMonth = (\n\tmonthNumber?: string,\n\tyearNumber?: string,\n): { firstDayOfMonth: number; lastDayOfMonth: number } => {\n\tlet firstDayOfMonth;\n\tlet lastDayOfMonth;\n\n\tif (yearNumber && monthNumber) {\n\t\tfirstDayOfMonth = Number(\n\t\t\tdayjs()\n\t\t\t\t.locale('es')\n\t\t\t\t.utc()\n\t\t\t\t.month(Number(monthNumber) - 1) // Months are zero indexed, so January is month 0.\n\t\t\t\t.year(Number(yearNumber))\n\t\t\t\t.startOf('month')\n\t\t\t\t.format('x'),\n\t\t);\n\t\tlastDayOfMonth = Number(\n\t\t\tdayjs()\n\t\t\t\t.locale('es')\n\t\t\t\t.utc()\n\t\t\t\t// .add(1, 'month')\n\t\t\t\t.month(Number(monthNumber) - 1)\n\t\t\t\t.year(Number(yearNumber))\n\t\t\t\t.endOf('month')\n\t\t\t\t.format('x'),\n\t\t);\n\t} else {\n\t\tfirstDayOfMonth = Number(dayjs().add(1, 'day').locale('es').utc().format('x'));\n\t\tlastDayOfMonth = Number(\n\t\t\tdayjs()\n\t\t\t\t.locale('es')\n\t\t\t\t.utc()\n\t\t\t\t// .add(1, 'month')\n\t\t\t\t.endOf('month')\n\t\t\t\t.format('x'),\n\t\t);\n\t}\n\n\treturn { firstDayOfMonth, lastDayOfMonth };\n};\n","import { Container, Text, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport dayjs from 'dayjs';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useStore } from 'react-redux';\nimport { oneformBFFNdpsSend, yumiwiBffSend } from 'src/bff';\nimport { CodigoPostal, Country, Date, DetalleMotivo, DniNif, Email, Matricula, MultipleCTASelection, NextStepCTA, PantallaNombreApellido, SelectDpsDomain, Telefono } from 'src/components';\nimport { CTAsSiNo, FormController, OneElementTemplate, useOneFormContext } from 'src/feature-app';\nimport { getParamsForm } from 'src/feature-app/get-params-form';\nimport { useTrackingManager } from 'src/feature-app/hooks/use-tracking-manager';\nimport { formDataBuilder, formatFlags, formatHeaders } from 'src/forms/format-fields';\nimport { addRemovedStep, getIndexInSteps, removeStep, resetStepsScreenIndex } from 'src/forms/helpers';\nimport { FormDataGroup, FormInfo, OneFormState, Steps } from 'src/types';\nimport { TheOriginalsConfirmacion, TheOriginalsThankYou } from './';\n\ninterface TheOriginalsFormProps {\n\tfullScreen: boolean;\n\tintroTitle?: JSX.Element;\n\tintroCopy?: JSX.Element;\n }\n\nexport function TheOriginalsForm(props: TheOriginalsFormProps) {\n\tconst { fullScreen, introTitle, introCopy } = props;\n\tconst { initializeForm } = useOneFormContext();\n\tconst trackingManager = useTrackingManager();\n\tconst store = useStore();\n\tconst dispatch = useDispatch();\n\tconst { formData }: OneFormState = store.getState();\n\tconst { fields } = formData;\n\tconst { tengoFurgo, tengoVW } = fields;\n\tconst urlParams = new URLSearchParams(window.location.search);\n\tconst dev = urlParams.get('dev') !== null;\n\n\tconst ctaSkipTuHistoria = 'Ahora no';\n\tconst dpsToken = 'LCV_DDB_FRM_FURGOCONCENTRACION';\n\n\t/*\n\t *\n\t * DATA AND SEND FORM\n\t *\n\t */\n\tconst initialData: Partial = {\n\t\theaders: {\n\t\t\tDPS_TOKEN: dpsToken,\n\t\t\tFORM_OBJECTIVE: 'Evento',\n\t\t\tFORM_DETAILS: 'The Originals 2025',\n\t\t\tFORM_NAME: 'adhoc-2025-the_originals',\n\t\t},\n\t\tfields: {\n\t\t\tformName: 'adhoc-2025-the_originals',\n\t\t\tformType: 'otherform',\n\t\t\tpageCategory: 'The Originals 2025',\n\t\t},\n\t\tflags: {\n\t\t\tPERSON_RGPD_ADAPTED: 'true',\n\t\t},\n\t};\n\n\tconst generateData = () => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields } = formData;\n\t\tconst { tc, today, url, device } = getParamsForm();\n\n\t\tconst data = {\n\t\t\t...formatHeaders(initialData.headers),\n\t\t\t'headers[SF_CAMPAIGN_NAME]': 'Web Formulario Inscripcion THOF 2025',\n\t\t\t//'headers[SF_CAMPAIGN_ID]': 'PENDIENTE',\n\t\t\t'headers[FORM_URL]': url,\n\t\t\t'headers[FORM_DATE_INSERTION]': today,\n\t\t\t'headers[FORM_NAME]': `vw-oneform-${fields.formName}`,\n\t\t\t'headers[FORM_VERSION]': `vw-oneform-${fields.formName}-${process.env.VERSION}`,\n\t\t\t'headers[ORIGIN_DEVICE_TYPE]': device,\n\t\t\t'headers[ORIGIN_TRACKING_CODE]': tc,\n\n\t\t\t'fields[DPS_BRAND]': 'Volkswagen CV',\n\t\t\t'fields[PERSON_TREATMENT]': fields.trato,\n\t\t\t'fields[PERSON_NAME]': fields.name,\n\t\t\t'fields[PERSON_SURNAME_1]': fields.surname,\n\t\t\t'fields[PERSON_SURNAME_2]': fields.secondSurname,\n\t\t\t'fields[PERSON_EMAIL]': fields.email,\n\t\t\t'fields[PERSON_PHONE_MOBILE]': fields.cellphone,\n\t\t\t'fields[PERSON_PHONE_MOBILE_FULL]': `${fields.prefix}${fields.cellphone}`,\n\t\t\t//'fields[PERSON_PHONE_PREFIX]': fields.prefix,\n\t\t\t'fields[PERSON_DNI_NIF]': fields.dniNif,\n\t\t\t'fields[PERSON_BIRTHDATE]': dayjs(fields.fechaNacimiento).format('DD/MM/YYYY'),\n\t\t\t'fields[PERSON_POSTAL_CP]': fields.postalCode,\n\t\t\t'fields[EVENT_NAME]': 'The Originals 2025',\n\n\t\t\t'fields[SURVEY_ANSWER_01]': fields.tengoFurgo,\n\t\t\t'fields[SURVEY_ANSWER_02]': fields.tengoVW,\n\t\t\t'fields[SURVEY_ANSWER_03]': 'PERMITE',\n\t\t\t'fields[SURVEY_ANSWER_04]': fields.countryCode,\n\t\t\t'fields[SURVEY_ANSWER_05]': 'PERMITE',\n\t\t\t'fields[SURVEY_ANSWER_06]': fields.tuHistoria != ctaSkipTuHistoria ? fields.tuHistoria : '',\n\n\t\t\t'fields[PERSON_RGPD_PERFILADO]': fields.tmk ? fields.tmk : 'NO INFORMADO',\n\t\t\t'fields[PERSON_RGPD_COM_COMERCIALES]': fields.lssi ? fields.lssi : 'NO INFORMADO',\n\n\t\t\t...formatFlags(initialData.flags),\n\t\t};\n\n\t\tif (fields.tengoFurgo == 'true') {\n\t\t\tif(fields.tengoVW == 'true') {\n\t\t\t\tdata['fields[VEH_ACTUAL_MODEL]'] = fields.model;\n\t\t\t}\n\t\t\telse {\n\t\t\t\tdata['fields[VEH_ACTUAL_BRAND]'] = fields.brand;\n\t\t\t}\n\t\t\tdata['fields[VEH_ACTUAL_PLATE]'] = fields.matricula;\n\t\t}\n\n\t\treturn data;\n\t};\n\n\tconst sendForm = async (): Promise => {\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst data = generateData();\n\t\t\tconst dataStringified = JSON.stringify(data);\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tconst response = await oneformBFFNdpsSend(formData);\n\n\t\t\tif (response?.data?.status?.code == 200) {\n\t\t\t\tawait sendYumiwiForm();\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\tconst generateYumiwiData = () => {\n\t\tconst { formData }: OneFormState = store.getState();\n\t\tconst { fields } = formData;\n\n\t\tconst data = {\n\t\t\t'title': fields.trato == 'Sra.' ? 'ms' : 'mr',\n\t\t\t'name': fields.name,\n\t\t\t'surname': fields.surname,\n\t\t\t'email': fields.email,\n\t\t\t'phone': fields.cellphone,\n\t\t\t'nid': fields.dniNif,\n\t\t\t'birth_date': dayjs(fields.fechaNacimiento).format('YYYY-MM-DD'),\n\t\t\t'postal_code': fields.postalCode,\n\t\t\t'status': 'confirmed',\n\t\t\t'extra[custom#second_last_name]': fields.secondSurname,\n\t\t\t'extra[custom#9q6s50]': fields.countryName,\n\t\t\t'extra[custom#l0y4ul]': '',\n\t\t\t'extra[custom#iqw52l]': '',\n\t\t\t'extra[custom#n8m4w6]': fields.tengoFurgo == 'true' ? 'SI' : 'NO',\n\t\t\t'extra[custom#ssze5o]': fields.tengoVW == 'true' ? 'SI' : 'NO',\n\t\t\t'extra[custom#rxirdh]': fields.tengoFurgo == 'true' && fields.tengoVW == 'true' ? fields.model : '',\n\t\t\t'extra[custom#s3w5si]': fields.tengoFurgo == 'true' && fields.tengoVW == 'false' ? fields.brand : '',\n\t\t\t'extra[custom#vkb1zj]': fields.tengoFurgo == 'true' ? fields.matricula : '',\n\t\t\t'extra[custom#legal_lssi]': fields.lssi == 'PERMITE' ? true : false,\n\t\t\t'extra[custom#legal_gdpr]': fields.tmk == 'PERMITE' ? true : false,\n\t\t\t'extra[custom#fgq902]': true,\n\t\t\t'extra[custom#accept_terms_and_conditions]': true,\n\t\t};\n\n\t\treturn data;\n\t};\n\n\tconst sendYumiwiForm = async (): Promise => {\n\t\treturn new Promise(async (resolve, reject) => {\n\t\t\tconst data = generateYumiwiData();\n\t\t\tconst dataStringified = JSON.stringify(data);\n\t\t\tconst dataParsed = JSON.parse(dataStringified);\n\t\t\tconst formData = formDataBuilder(dataParsed);\n\t\t\tconst response = await yumiwiBffSend(formData, '1Ec8VLmNvEvOrMZrB8MUBKsbmStfcrnVcyvA0ni4228be0ca');\n\n\t\t\tif (response?.data?.status?.code == 200) {\n\t\t\t\tdispatch({ type: 'SET_FORM_RESPONSE', payload: response.data });\n\t\t\t\tresolve(true);\n\t\t\t} else {\n\t\t\t\tresolve(false);\n\t\t\t}\n\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tif (dev) {\n\t\t\tconsole.log(generateData());\n\t\t\tconsole.log(generateYumiwiData());\n\t\t\tconsole.log(store.getState());\n\t\t}\n\t}, [formData]);\n\n\t/*\n\t *\n\t * STEPS AND INIT FORM\n\t *\n\t */\n\n\tlet index = 0;\n\tconst steps: Steps[] = [\n\t\t...(fullScreen\n\t\t\t? [{\n\t\t\t\ttitle: (\n\t\t\t\t\t\n\t\t\t\t\t\t{introTitle}\n\t\t\t\t\t\t{introCopy}\n\t\t\t\t\t\n\t\t\t\t),\n\t\t\t\tfields: } />,\n\t\t\t\tscreenIndex: index++,\n\t\t\t\tname: 'Introduccion',\n\t\t\t}] : []\n\t\t),\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPor favor, introduce o comprueba tus datos:\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'DatosPersonales',\n\t\t\toutputs: ['name', 'surname', 'secondSurname'],\n\t\t\toutputsText: ['name', 'surname', 'secondSurname'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Cuál es tu fecha de nacimiento?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'FechaNacimiento',\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPor favor, introduce tus datos:\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'DniEmailTelefono',\n\t\t\toutputs: ['cellphone', 'email'],\n\t\t\toutputsText: ['cellphone', '/', 'email'],\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\tCuéntanos, ¿desde dónde vendrás a la concentración?\n\t\t\t\t\t\n\t\t\t\t\t* Lugar de residencia actual\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Country',\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Vienes en furgo?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t<>\n\t\t\t\t\t} />\n\t\t\t\t\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'TengoFurgo',\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Es Volkswagen?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t<>\n\t\t\t\t\t} />\n\t\t\t\t\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'TengoVW',\n\t\t\ttrueOrFalseQuestion: true,\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Cuál es tu modelo?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Model',\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\t¿Qué marca de furgo tienes?\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: (\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Brand',\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tPor favor, introduce tu matrícula:\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Matricula',\n\t\t},\n\t\t{\n\t\t\ttitle: (\n\t\t\t\t<>\n\t\t\t\t\tSabemos que tener una furgo es algo muy especial. ¡Queremos conocer tu historia! Cuéntanosla y si es una de las seleccionadas te contactaremos para difundirla a lo grande.\n\t\t\t\t\n\t\t\t),\n\t\t\tfields: } />,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'TuHistoria',\n\t\t},\n\t\t{\n\t\t\tfields: ,\n\t\t\tscreenIndex: index++,\n\t\t\tname: 'Confirmacion',\n\t\t},\n\t];\n\n\tuseEffect(() => {\n\n\t\tif (tengoFurgo && tengoFurgo == 'true') {\n\t\t\t// Añadir en orden inverso\n\t\t\tupdateSteps('TuHistoria', true);\n\t\t\tupdateSteps('Matricula', true);\n\t\t\tupdateSteps('Model', true);\n\t\t\tupdateSteps('Brand', true);\n\t\t\tupdateSteps('TengoVW', true);\n\t\t} else if (tengoFurgo && tengoFurgo == 'false') {\n\t\t\tupdateSteps('TengoVW', false);\n\t\t\tupdateSteps('Brand', false);\n\t\t\tupdateSteps('Model', false);\n\t\t\tupdateSteps('Matricula', false);\n\t\t\tupdateSteps('TuHistoria', false);\n\t\t}\n\t}, [tengoFurgo]);\n\n\tuseEffect(() => {\n\t\tif (tengoFurgo && tengoFurgo == 'true' && tengoVW && tengoVW == 'true') {\n\t\t\t// Añadir en orden inverso\n\t\t\tupdateSteps('TuHistoria', true);\n\t\t\tupdateSteps('Model', true);\n\t\t\tupdateSteps('Brand', false);\n\t\t} else if (tengoFurgo && tengoFurgo == 'true' && tengoVW && tengoVW == 'false') {\n\t\t\tupdateSteps('TuHistoria', false);\n\t\t\tupdateSteps('Model', false);\n\t\t\tupdateSteps('Brand', true);\n\t\t}\n\t}, [tengoVW]);\n\n\tconst updateSteps = (stepName: string, conditional: boolean, addOnNextStepName?: string) => {\n\t\tconst { steps: actualSteps, screenIndex } = store.getState().formInfo;\n\t\tlet newSteps = [...actualSteps];\n\t\tlet newScreenIndex = screenIndex;\n\n\t\tif (conditional) {\n\t\t\tconst stepIndex = getIndexInSteps(newSteps, stepName);\n\n\t\t\tif (stepIndex === -1) {\n\t\t\t\tif (addOnNextStepName) {\n\t\t\t\t\tnewScreenIndex = getIndexInSteps(newSteps, addOnNextStepName);\n\t\t\t\t}\n\t\t\t\tnewSteps = addRemovedStep(steps, actualSteps, stepName, newScreenIndex);\n\t\t\t}\n\t\t} else {\n\t\t\tnewSteps = removeStep(newSteps, stepName);\n\t\t}\n\n\t\tconst newStepsWithIndex = resetStepsScreenIndex(newSteps);\n\n\t\tdispatch({ type: 'UPDATE_STEPS', payload: newStepsWithIndex });\n\t\tdispatch({ type: 'UPDATE_LAST_STEP', payload: newStepsWithIndex[newStepsWithIndex.length - 1] });\n\t\tdispatch({ type: 'SET_NUMBER_OF_SCREENS', payload: newStepsWithIndex.length });\n\t};\n\n\tconst getFormInfo = (): {\n\t\tfirstStep: Steps;\n\t\tlastStep: Steps;\n\t\tstepsHistory: number[];\n\t\tnumberOfScreens: number;\n\t\tnewSteps?: Steps[];\n\t} => {\n\t\treturn {\n\t\t\tfirstStep: steps[0],\n\t\t\tlastStep: steps[steps.length - 1],\n\t\t\tstepsHistory: [0],\n\t\t\tnumberOfScreens: steps.length,\n\t\t\tnewSteps: null,\n\t\t};\n\t};\n\n\tuseEffect(() => {\n\t\tconst { firstStep, lastStep, stepsHistory, numberOfScreens, newSteps } = getFormInfo();\n\n\t\tconst NuevoFormInfo: Partial = {\n\t\t\tformStarted: true,\n\t\t\tsendFormCallback: sendForm,\n\t\t\tstep: firstStep,\n\t\t\tsteps: newSteps ? newSteps : steps,\n\t\t\tstepsHistory,\n\t\t\tlastStep,\n\t\t\tnumberOfScreens,\n\t\t\tscreenIndex: firstStep.screenIndex,\n\t\t\tformTheme: fullScreen ? 'main' : 'inverted',\n\t\t\tfullScreen: fullScreen,\n\t\t\tnotALayer: fullScreen,\n\t\t\tformType: fullScreen ? 'inPage' : 'layer',\n\t\t\tthankYouComponent: ,\n\t\t};\n\n\t\tinitializeForm(NuevoFormInfo, initialData, true);\n\t\ttrackingManager.trackFormLoad();\n\t}, []);\n\n\treturn !steps ? null : ;\n}\n","import React, { useEffect } from 'react';\nimport { Container, CTA, Text, TextAlignment, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport { useDispatch, useSelector, useStore } from 'react-redux';\nimport { TrackingForm, useFaContent, useTrackingManager } from 'src/feature-app';\nimport { RenderController } from 'src/feature-app/Screen';\nimport { OneFormState, Steps } from 'src/types';\n\nexport function TheOriginalsThankYou() {\n\tconst { formInfo } = useSelector((state: OneFormState) => state);\n\tconst trackingManager = useTrackingManager();\n\tconst dispatch = useDispatch();\n\tconst getTrackingForm = (): TrackingForm => ({\n\t\tLeadID: undefined,\n\t\tFormFields: undefined,\n\t});\n\tconst faContent = useFaContent();\n\tconst campingSoldOut = faContent?.campingSoldOut ? faContent.campingSoldOut == 'true' : false;\n\tconst link = faContent?.campingUrl ? faContent?.campingUrl : 'https://www.ballena-alegre.com';\n\tconst store = useStore();\n\tconst { formData }: OneFormState = store.getState();\n\tconst { fields } = formData;console.log(fields);\n\n\tuseEffect(() => {\n\t\t// Thank you page no es gestionado como un step pero sí lo haremos en la analítica. Por eso Modificamos formInfo después del submit y antes del RESET\n\t\tconst screenIndexThankyou = formInfo?.numberOfScreens;\n\n\t\tdispatch({ type: 'SET_FORM_SUBMITTED', payload: true });\n\t\tdispatch({\n\t\t\ttype: 'SET_FORM_INFO',\n\t\t\tpayload: { step: { screenIndex: screenIndexThankyou, name: 'ThankYou' } },\n\t\t});\n\n\t\ttrackingManager.trackFormSubmissionSuccessMessageLoad(\n\t\t\t{\n\t\t\t\tcontentId: undefined,\n\t\t\t},\n\t\t\tgetTrackingForm(),\n\t\t);\n\t}, []);\n\n\tconst screen: Steps = {\n\t\ttitle: (\n\t\t\t<>\n\t\t\t\t
\n\t\t\t\t\t\n\t\t\t\t\t\t¡Ya estás inscrito!\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\tPronto recibirás un correo electrónico de confirmación con el código QR para acceder a la concentración. ¡Guárdalo bien!\n\t\t\t\t\t\t
\n\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{campingSoldOut ? (\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\tEl camping La Ballena Alegre está completo, ¡pero no te preocupes! Puedes RESERVAR TU PARCELA O BUNGALOW en los siguientes campings cercanos de la Asociación de Campings de Sant Pere Pescador:\n\t\t\t\t\t\t\t\t\tCamping Aquarius\n\t\t\t\t\t\t\t\t\tCamping La Gaviota\n\t\t\t\t\t\t\t\t\tCamping Las Palmeras\n\t\t\t\t\t\t\t\t\tCamping Las Dunas\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t): (\n\t\t\t\t\t\t\t\tPuedes hacer la reserva de tu parcela o bungalow directamente desde la web del camping\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\t{fields.tengoVW == 'true' ? (\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t¿Todavía no eres un The Originals?\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\tÚnete a la comunidad de propietarios The Originals y disfruta de ventajas en la Concentración: fast track en la inscripción y ventajas y actividades exclusivas por ser un The originals.\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\tRegístrate ahora\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t) : null}\n\t\t\t\n\t\t),\n\t\tfields: <>,\n\t};\n\treturn ;\n}\n","import * as React from 'react';\nexport var CheckboxSelected = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2zm3.93 8.338 4.113-4.402-.971-.909L5.079 7.3 3.246 5.331l-.973.906 1.953 2.099c.46.494 1.243.495 1.704.002\", clipRule: \"evenodd\" }));\n }\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M4 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm7.462 13.698 6.953-7.441-.972-.909-6.953 7.442a.035.035 0 0 1-.051 0l-3.353-3.603-.973.907 3.352 3.602c.54.579 1.457.58 1.997.002\", clipRule: \"evenodd\" }));\n }\n return null;\n}, { displayName: 'CheckboxSelected' }));\n","import * as React from 'react';\nexport var Checkbox = React.forwardRef(Object.assign(function (props, forwardRef) {\n var variant = props.variant || \"default\";\n if (variant === \"small\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"12\", height: \"12\", viewBox: \"0 0 12 12\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M10 1.33H2c-.37 0-.67.3-.67.67v8c0 .37.3.67.67.67h8c.37 0 .67-.3.67-.67V2c0-.37-.3-.67-.67-.67M2 0a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2z\", clipRule: \"evenodd\" }));\n }\n if (variant === \"default\") {\n return React.createElement(\"svg\", { className: props.className, \"aria-hidden\": props.ariaHidden, role: props.ariaHidden ? undefined : \"img\", tabIndex: props.tabIndex, \"aria-label\": props.ariaLabel, ref: forwardRef, xmlns: \"http://www.w3.org/2000/svg\", width: \"24\", height: \"24\", viewBox: \"0 0 24 24\", fill: \"currentColor\" },\n props.title && React.createElement(\"title\", null, props.title),\n React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M20 3.33H4c-.37 0-.67.3-.67.67v16c0 .37.3.67.67.67h16c.37 0 .67-.3.67-.67V4c0-.37-.3-.67-.67-.67M4 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2z\", clipRule: \"evenodd\" }));\n }\n return null;\n}, { displayName: 'Checkbox' }));\n","import * as React from 'react';\nimport { Checkbox as CheckboxIcon, CheckboxSelected as CheckboxSelectedIcon, } from '@volkswagen-onehub/icons-core';\nimport { Text, TokenTextAppearance, TokenTextColor } from '../text';\nimport { css, styled } from '../theme-provider';\nimport { getCommonProps } from '../helpers/common-props';\nimport { createA11yOutlineStyles } from '../helpers/a11y';\nconst noop = () => undefined;\nconst StyledLabel = styled.label.withConfig({ displayName: \"StyledLabel\", componentId: \"sc-tap8jg\" }) `position:relative;color:${({ theme }) => theme.colors.content.primary};cursor:pointer;`;\nconst transition = css `transition:background ${({ theme }) => theme.animation.duration.color} ease,color ${({ theme }) => theme.animation.duration.color} ease;`;\nconst StyledCheckboxWrapper = styled.span.withConfig({ displayName: \"StyledCheckboxWrapper\", componentId: \"sc-1gajbzj\" }) `position:relative;display:flex;align-items:center;${transition};`;\nconst StyledCheckboxSelectedIcon = styled(CheckboxSelectedIcon).withConfig({ displayName: \"StyledCheckboxSelectedIcon\", componentId: \"sc-moyxv\" }) `position:absolute;opacity:0;display:flex;align-items:center;`;\nconst StyledFocusWrapper = styled.span.withConfig({ displayName: \"StyledFocusWrapper\", componentId: \"sc-1oeagwv\" }) `position:relative;display:grid;grid-column-gap:${({ theme }) => theme.size.static200};grid-template-columns:max-content auto;align-items:flex-start;:hover{${({ disabled }) => !disabled &&\n css `\n\t\t\t\tcolor: ${({ theme }) => theme.colors.controllers.off.hover};\n\t\t\t`}}`;\nconst StyledErrorText = styled.span.withConfig({ displayName: \"StyledErrorText\", componentId: \"sc-uiyaus\" }) `display:block;color:${({ theme }) => theme.colors.signal.error};font-size:${({ theme }) => theme.fonts.label[100].fontSize};`;\nconst StyledInput = styled.input.withConfig({ displayName: \"StyledInput\", componentId: \"sc-h9lzej\" }) `position:absolute;opacity:0;outline:0;user-select:none;pointer-events:none;:focus-visible{+ ${StyledFocusWrapper}{${StyledCheckboxWrapper}{${({ theme }) => createA11yOutlineStyles(theme)};border-radius:${({ theme }) => theme.size.line.active};}}}:checked{+ ${StyledFocusWrapper}{${StyledCheckboxSelectedIcon}{${transition};opacity:1;border-radius:${({ theme }) => theme.size.line.active};background:${({ theme, disabled }) => disabled\n ? theme.colors.controllers.on.disabled\n : theme.colors.content.inverted};color:${({ theme }) => theme.colors.controllers.on.default};&:hover{${({ theme, disabled }) => !disabled &&\n css `\n\t\t\t\t\t\t\tcolor: ${theme.colors.controllers.on.hover};\n\t\t\t\t\t\t`}}}}}:disabled{+ ${StyledFocusWrapper}{cursor:not-allowed;color:${({ theme }) => theme.colors.content.disabled};}}`;\nconst CheckboxInner = (props) => {\n const { checked, defaultChecked, disabled, label = '', name, value, required, appearance, message, tabIndex, textAppearance = TokenTextAppearance.copy200, innerRef, results, onLabelMouseDown = noop, } = props;\n const handleLabelMouseDown = React.useCallback((e) => {\n if (!disabled)\n onLabelMouseDown(e);\n }, [disabled, onLabelMouseDown]);\n const handleChange = React.useCallback((e) => {\n const { onChange = noop } = props;\n onChange(e, props);\n }, [props]);\n const handleBlur = React.useCallback((e) => {\n const { onBlur = noop } = props;\n onBlur(e, props);\n }, [props]);\n const handleFocus = React.useCallback((e) => {\n const { onFocus = noop } = props;\n onFocus(e, props);\n }, [props]);\n const handleClick = React.useCallback((e) => {\n const { onClick = noop } = props;\n onClick(e, props);\n }, [props]);\n const sharedProps = getCommonProps(props);\n return (React.createElement(StyledLabel, Object.assign({ onMouseDown: handleLabelMouseDown }, sharedProps),\n React.createElement(StyledInput, { checked: checked, defaultChecked: defaultChecked, disabled: disabled, name: name, onBlur: handleBlur, onChange: handleChange, onClick: handleClick, onFocus: handleFocus, type: \"checkbox\", value: value, required: required, tabIndex: tabIndex, ref: innerRef }),\n React.createElement(StyledFocusWrapper, { disabled: disabled },\n React.createElement(StyledCheckboxWrapper, { textAppearance: textAppearance, \"aria-hidden\": true },\n React.createElement(CheckboxIcon, { variant: \"default\" }),\n React.createElement(StyledCheckboxSelectedIcon, { variant: \"default\" })),\n React.createElement(\"span\", null,\n label &&\n (typeof label === 'string' ? (React.createElement(Text, { color: TokenTextColor.inherit, appearance: textAppearance },\n label,\n \" \",\n results && `(${results})`)) : (label)),\n React.createElement(StyledErrorText, { \"aria-live\": \"assertive\", \"aria-relevant\": \"all\" }, appearance === 'error' && message)))));\n};\nexport const Checkbox = React.forwardRef((props, ref) => React.createElement(CheckboxInner, Object.assign({}, props, { innerRef: ref })));\nCheckbox.displayName = 'Checkbox';\n","import { Breakpoints, Layout, Checkbox, Text, TokenTextAppearance, Richtext, TokenTextColor } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { InputError, LastNavigation, LssiTkmQuestions, PoliticaPrivacidad } from 'src/components';\nimport { useFormContext } from 'react-hook-form';\n\nexport const TheOriginalsConfirmacion = () => {\n\tconst { register, errors } = useFormContext();\n\tconst termsUrl = 'https://www.volkswagen-comerciales.es/app/theoriginalsfest/pdf/terminos_condiciones.pdf';\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t¿Seguimos en contacto?\n\t\t\t\n\t\t\t\n\t\t\t\n\t\t\t
\n\t\t\t\tTérminos y condiciones*`} \n\t\t\t\t\t\tdangerouslyParseRawHTML \n\t\t\t\t\t/>} \n\t\t\t\t\tvalue=\"true\" \n\t\t\t\t\tname=\"terms\"\n\t\t\t\t\tref={(ref) => {\n\t\t\t\t\t\tregister(ref, { required: true });\n\t\t\t\t\t}}\n\t\t\t\t/>\n\t\t\t\t{errors['terms'] ? Este campo es obligatorio : null}\n\t\t\t
\n\n\t\t\t\n\n\t\t\t*Campos obligatorios\n\n\t\t\t\n\t\t\n\t);\n};\n","import { Breakpoints, Container, ContainerGutter, ContainerPadding, CTA, Layout, styled, Text, TextAlignment, ThemeProvider, TokenTextAppearance } from '@volkswagen-onehub/components-core';\nimport React from 'react';\nimport { ScreenController, TriggerProps, useFaContent, useTransformToHtml } from 'src/feature-app';\nimport { useDispatch } from 'react-redux';\nimport { TheOriginalsForm } from 'src/forms/FormsAdhoc/TheOriginals2025';\n\nconst Content = styled.div`\n\toverflow: hidden;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tbackground: radial-gradient(circle at bottom, #00437a 0%, #001e50 100%);\n\n\t& > div {\n\t\twidth: 100%;\n\t}\n`;\n\nexport function TheOriginals2025Trigger(props: TriggerProps) {\n\tconst { setSelectedJourney, setCTALabel } = props;\n\tconst dispatch = useDispatch();\n\tconst faContent = useFaContent();\n\n\tconst fullScreen = false;\n\n\tconst alternativeHeadline = (faContent?.headline ? useTransformToHtml(faContent.headline) : useTransformToHtml('¡Inscríbete en la 21ª edición de The Originals Fest!'));\n\n\tconst alternativeBodyCopy = (faContent?.bodycopy ? useTransformToHtml(faContent.bodycopy) : useTransformToHtml('Este año celebraremos la 21ª edición y nos encanta que quieras vivirla con nosotros. ¡Empecemos!'));\n\n\tconst getCtaLabel = () => (faContent?.cta ? faContent.cta : 'Empezar');\n\n\n\tif(fullScreen) {\n\treturn } introCopy={
} />}\n\t\tcloseLayerCallback={close}\n\t\thandleAreYouSureLayer={() => null}\n\t\tnotALayer={true}\n\t\tformType='inPage'\n\t/>;\n\t}\n\telse {\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t\t\t {\n\t\t\t\t\t\t\t\t\t\t\t\tdispatch({ type: 'RESET_STATE' });\n\t\t\t\t\t\t\t\t\t\t\t\tsetCTALabel(getCtaLabel());\n\t\t\t\t\t\t\t\t\t\t\t\tsetSelectedJourney();\n\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\tstretchContent={{[Breakpoints.default]: true, [Breakpoints.b560]: false}}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{getCtaLabel()}\n\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t);\n\t}\n}\n","import * as React from 'react';\nconst TABINDEX_ORIGINAL = 'data-tabindex-original';\nconst FOCUSABLE_ELEMENTS = [\n 'a',\n 'button',\n 'input',\n 'textarea',\n 'select',\n 'details',\n 'audio',\n 'video',\n '[tabindex]',\n];\nexport class ChildContainerTabIndexManager extends React.Component {\n constructor(props) {\n super(props);\n this.observingNode = React.createRef();\n this.getFocusableElementSelector = (parent = '') => FOCUSABLE_ELEMENTS.map((el) => `${parent} ${el}`).join(',');\n this.handleTabIndexes = () => {\n const { activeChildContainerSelector, childContainerSelector } = this.props;\n const observingNode = this.observingNode.current;\n const allFocusableElements = observingNode === null || observingNode === void 0 ? void 0 : observingNode.querySelectorAll(this.getFocusableElementSelector(childContainerSelector));\n const activeContainerElements = observingNode === null || observingNode === void 0 ? void 0 : observingNode.querySelectorAll(this.getFocusableElementSelector(activeChildContainerSelector));\n // set -1 tabindex for all interaction elements in all containers\n if (allFocusableElements) {\n allFocusableElements.forEach((item) => {\n const itemTabindex = item.getAttribute('tabindex');\n const originalItemTabindex = item.getAttribute(TABINDEX_ORIGINAL);\n // set original if it doesn't exist or if it exists and tabindex was overwritten\n if (originalItemTabindex == null || itemTabindex !== '-1') {\n item.setAttribute(TABINDEX_ORIGINAL, itemTabindex !== null && itemTabindex !== void 0 ? itemTabindex : 'none');\n }\n item.setAttribute('tabindex', '-1');\n });\n }\n // reset tabIndex for children on active container\n if (activeContainerElements) {\n activeContainerElements.forEach((item) => {\n const itemOriginalTabindex = item.getAttribute(TABINDEX_ORIGINAL);\n if (itemOriginalTabindex === 'none' || itemOriginalTabindex == null) {\n item.removeAttribute('tabindex');\n }\n else {\n item.setAttribute('tabindex', itemOriginalTabindex);\n }\n item.removeAttribute(TABINDEX_ORIGINAL);\n });\n }\n };\n this.observeInteractiveContent = (mutationsList) => {\n const focusable = this.getFocusableElementSelector('');\n const hasFocusableMutation = mutationsList.some((entry) => \n // a tabindex got updated (not by us)\n (entry.type === 'attributes' &&\n entry.attributeName === 'tabindex' &&\n entry.target instanceof Element &&\n entry.target.getAttribute(TABINDEX_ORIGINAL) != null &&\n entry.target.getAttribute('tabindex') !== '-1') ||\n // or a attribute was updated that does not belong to us\n (entry.type === 'attributes' &&\n entry.attributeName !== 'tabindex' &&\n entry.attributeName !== TABINDEX_ORIGINAL) ||\n // or a focusable child got mounted\n (entry.type === 'childList' &&\n Array.from(entry.addedNodes).some((node) => node instanceof Element && node.matches(focusable))));\n if (hasFocusableMutation) {\n this.handleTabIndexes();\n }\n };\n if (typeof window !== 'undefined' && 'MutationObserver' in window) {\n this.contentObserver = new MutationObserver(this.observeInteractiveContent);\n }\n }\n componentDidMount() {\n this.handleTabIndexes();\n const observingNode = this.observingNode.current;\n if (observingNode && this.contentObserver) {\n this.contentObserver.observe(observingNode, {\n attributes: true,\n childList: true,\n subtree: true,\n });\n }\n }\n componentWillUnmount() {\n var _a;\n return (_a = this.contentObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n componentDidUpdate(prevProps) {\n if (prevProps.activeChildContainerSelector !==\n this.props.activeChildContainerSelector) {\n this.handleTabIndexes();\n }\n }\n render() {\n return React.createElement(\"div\", { ref: this.observingNode }, this.props.children);\n }\n}\n","import * as React from 'react';\nimport { styled } from '../theme-provider';\nimport { GalleryContext } from './gallery';\nexport const StyledSlide = styled.div.withConfig({ displayName: \"StyledSlide\", componentId: \"sc-196wn05\" }) `display:flex;flex-grow:0;flex-shrink:0;align-items:start;justify-content:center;scroll-snap-align:${({ withScrollSnap }) => withScrollSnap ? 'start' : 'none'};outline:none;opacity:${({ fadeout }) => fadeout && '0.5'};transition:opacity 0.5s ease-in-out;`;\nconst StyledContainedImageWrapper = styled.div.withConfig({ displayName: \"StyledContainedImageWrapper\", componentId: \"sc-9lvcex\" }) `width:${(props) => props.reduceImageSize\n ? `calc(100% - 2 * ${props.theme.size.grid001})`\n : '100%'};`;\nexport const GallerySlide = ({ ariaLabel, ariaLabelledby, children }) => {\n const { getSlideId, slidesPerPage, fadingEdges, accessibleExtendedIndices, visibleIndices, snappableExtendedIndices, } = React.useContext(GalleryContext);\n const { index: slideIndex, id = NaN } = React.useContext(GallerySlideContext);\n // id (extendedIndex): -2 -1 5 6\n // slideIndex (index): 3 4 0 1 2 3 4 0 1\n const slideId = id || slideIndex;\n const isCopyOfASlide = !Number.isNaN(id);\n // To ensure that screenreaders read out the correct amount of slides in the gallery,\n // hide slide copies from aria when not in view and hide normal slides when their\n // copy gets in to view.\n const ariaHidden = isCopyOfASlide\n ? !accessibleExtendedIndices.includes(slideId)\n : visibleIndices.includes(slideIndex) &&\n !accessibleExtendedIndices.includes(slideIndex);\n return (React.createElement(StyledSlide, { id: getSlideId(slideId), fadeout: fadingEdges && !visibleIndices.includes(slideIndex), \"data-accessible\": accessibleExtendedIndices.includes(slideId), role: \"group\", \"aria-label\": ariaLabel, \"aria-labelledby\": ariaLabelledby, \"aria-roledescription\": \"slide\", \"aria-hidden\": ariaHidden ? true : undefined, withScrollSnap: snappableExtendedIndices.includes(slideIndex) },\n React.createElement(StyledContainedImageWrapper, { reduceImageSize: slidesPerPage === 1 }, children)));\n};\nexport const GallerySlideContext = React.createContext({\n index: 0,\n});\n","import { createContext, useContext } from 'react';\nexport const MediaGalleryContext = createContext(undefined);\nexport const useMediaGalleryContext = () => {\n const context = useContext(MediaGalleryContext);\n if (!context) {\n throw new Error('Media Gallery Context not provided');\n }\n return context;\n};\n","import * as React from 'react';\nimport { useThrottleCallback } from '@react-hook/throttle';\nimport { DesignTokenSizeEnum, styled, useTheme, } from '../theme-provider';\nimport { getCommonProps } from '../helpers/common-props';\nimport { getValueByScreenSize, } from '../helpers/breakpoint';\nimport { ChildContainerTabIndexManager } from './tabindex-manager';\nimport { GallerySlideContext } from './slide';\nimport { MediaGalleryContext } from '../media-gallery';\n// The index is the index in the range `0 .. length - 1`, it corresponds to the\n// number of the slides.\n//\n// index: 0 1 2 3 4\n//\n// If there is endless scrolling, slides are duplicated (leading and trailing).\n//\n// extendedIndex: -2 -1 0 1 2 3 4 5 6\n// index: 3 4 0 1 2 3 4 0 1\n//\n// The number of duplicated slides on each side is one more than the number of\n// slides per page, so a complete page and a fading edge can be seen beyond\n// either end of the \"real\" slides.\n//\n// If there is no endless scrolling, the extendedIndex is the same as the index.\nconst StyledCarousel = styled.section.withConfig({ displayName: \"StyledCarousel\", componentId: \"sc-1lwge8c\" }) `overflow:none;width:100%;position:relative;:focus{outline:none;}`;\nconst StyledSlides = styled.div.withConfig({ displayName: \"StyledSlides\", componentId: \"sc-17msnuv\" }) `display:grid;grid-auto-columns:calc(\\n\\t\\t(\\n\\t\\t\\t\\t100% -\\n\\t\\t\\t\\t\\t(\\n\\t\\t\\t\\t\\t\\t${({ gutter, theme }) => (gutter ? theme.size[gutter] : '0px')} *\\n\\t\\t\\t\\t\\t\\t\\t${({ slidesPerPage }) => slidesPerPage - 1}\\n\\t\\t\\t\\t\\t)\\n\\t\\t\\t) / ${({ slidesPerPage }) => slidesPerPage}\\n\\t);grid-auto-flow:column;gap:${({ theme, gutter }) => (gutter ? theme.size[gutter] : '0')};${({ disableSnap }) => !disableSnap && `scroll-snap-type: x mandatory;`} overscroll-behavior-x:contain;overflow:auto;::-webkit-scrollbar{display:none;}scrollbar-width:none;:focus{outline:none;box-shadow:0 0 0 ${({ theme }) => theme.size.border.heavy} ${({ theme }) => theme.colors.border.hover};}scroll-padding:0 ${({ fadingEdges, theme }) => (fadingEdges ? theme.size.grid002 : '0')};padding:0 ${({ fadingEdges, theme }) => (fadingEdges ? theme.size.grid002 : '0')};`;\nconst noop = () => {\n // this function is an intentionally blank default\n};\nexport const GalleryContext = React.createContext({\n index: 0,\n extendedIndex: 0,\n endlessScrolling: false,\n triggerChange: noop,\n triggerNext: noop,\n triggerPrevious: noop,\n getSlideId: () => '',\n disableScrollSnap: noop,\n slidesPerPage: 1,\n fadingEdges: false,\n length: 1,\n id: '',\n accessibleExtendedIndices: [],\n visibleIndices: [],\n snappableExtendedIndices: [],\n slidesRef: undefined,\n});\nconst DEFAULT_MULTI_SLIDE_GUTTER = DesignTokenSizeEnum.grid001;\nexport const Gallery = (props) => {\n const { slidesPerPage = 1, fadingEdges = false, endlessScrolling, increment = 'slide', handleChange: externalHandleChange, children, id, ariaLabel, ariaLabelledby, topElements, bottomElements, gutter, } = props;\n const theme = useTheme();\n const commonProps = getCommonProps(props);\n const [extendedIndex, setExtendedIndex] = React.useState(0);\n const [currentSlidesPerPage, setCurrentSlidesPerPage] = React.useState(1);\n const [currentFadingEdges, setCurrentFadingEdges] = React.useState(false);\n const [disableSnap, setDisableSnap] = React.useState(false);\n // A consumer-defined gutter always takes effect, but by default we only\n // have a gutter when there is more than one slide per page.\n const currentGutter = React.useMemo(() => gutter !== null && gutter !== void 0 ? gutter : (currentSlidesPerPage > 1 ? DEFAULT_MULTI_SLIDE_GUTTER : undefined), [currentSlidesPerPage, gutter]);\n const slides = React.useRef(null);\n const childrenLength = React.useMemo(() => React.Children.count(children), [children]);\n const updateSlidesPerPage = React.useCallback(() => {\n const width = typeof window !== 'undefined' ? window.innerWidth || 0 : 0;\n const newCurrentSlidesPerPage = getValueByScreenSize(width, slidesPerPage);\n setCurrentSlidesPerPage(newCurrentSlidesPerPage);\n }, [slidesPerPage]);\n const updateFadingEdges = React.useCallback(() => {\n const width = typeof window !== 'undefined' ? window.innerWidth || 0 : 0;\n const fadingEdgesForScreenSize = getValueByScreenSize(width, fadingEdges);\n const newCurrentFadingEdges = fadingEdgesForScreenSize === 'normal' ||\n ((fadingEdgesForScreenSize === 'auto' ||\n fadingEdgesForScreenSize === true) &&\n childrenLength > currentSlidesPerPage);\n setCurrentFadingEdges(newCurrentFadingEdges);\n }, [childrenLength, currentSlidesPerPage, fadingEdges]);\n const changeSlide = React.useCallback((nextIndex, animate = true) => {\n const slidesElement = slides.current;\n if (!slidesElement || slidesElement.children.length <= 1) {\n return;\n }\n // prevent jsdom based tests from failing because of missing scroll function stubs\n if (!slidesElement.scrollTo) {\n return;\n }\n const targetIndex = endlessScrolling\n ? nextIndex + currentSlidesPerPage + 1\n : (nextIndex + childrenLength) % childrenLength;\n const targetPosition = slidesElement.children[targetIndex].offsetLeft;\n const left = theme.direction === 'rtl' ? -1 * targetPosition : targetPosition;\n slidesElement.scrollTo({\n left,\n behavior: animate ? 'smooth' : 'instant',\n });\n // update index without scroll listener when we are not scrolling\n if (!animate) {\n setExtendedIndex(targetIndex);\n }\n }, [childrenLength, currentSlidesPerPage, endlessScrolling, theme.direction]);\n const handleResize = React.useCallback(() => {\n updateSlidesPerPage();\n updateFadingEdges();\n changeSlide(extendedIndex, false);\n }, [updateSlidesPerPage, updateFadingEdges, changeSlide, extendedIndex]);\n const snappableExtendedIndices = React.useMemo(() => {\n const incrementValue = increment === 'slide' ? 1 : currentSlidesPerPage;\n const snappableSlides = Array.from({\n length: childrenLength / incrementValue,\n }).map((_, index) => index * incrementValue);\n snappableSlides.push(childrenLength - incrementValue);\n snappableSlides.push(childrenLength);\n for (let index = 1; index <= currentSlidesPerPage; index++) {\n const indexOfSlideCopy = 0 - incrementValue * index;\n // Ignore all indices without slides or copies of slides\n if (currentSlidesPerPage + indexOfSlideCopy >= 0) {\n snappableSlides.push(indexOfSlideCopy);\n }\n }\n snappableSlides.sort((a, b) => a - b);\n return snappableSlides;\n }, [currentSlidesPerPage, childrenLength, increment]);\n const slideToNextSlide = React.useCallback(() => {\n changeSlide(extendedIndex + (increment === 'page' ? currentSlidesPerPage : 1));\n }, [changeSlide, extendedIndex, increment, currentSlidesPerPage]);\n const slideToPreviousSlide = React.useCallback(() => {\n changeSlide(extendedIndex - (increment === 'page' ? currentSlidesPerPage : 1));\n }, [changeSlide, extendedIndex, increment, currentSlidesPerPage]);\n const handleScroll = useThrottleCallback(React.useCallback(() => {\n const slidesElement = slides.current;\n if (!slidesElement) {\n return;\n }\n const slidesInner = slidesElement.children;\n if (slidesInner.length === 0) {\n return;\n }\n const scrollLeft = slidesElement.scrollLeft;\n const firstOffsetLeft = slidesInner.item(0).offsetLeft;\n // sometimes the scroll positions we get from the browsers are off by way more than 1px so simply rounding up or down does not work\n const scrollIndex = Array.from(slidesInner).findIndex((element) => Math.abs(element.offsetLeft - firstOffsetLeft - scrollLeft) < 10);\n if (scrollIndex === -1) {\n // not even close to the edge of a tile\n return;\n }\n if (endlessScrolling) {\n const scrollPosition = theme.direction === 'rtl' ? -1 * scrollLeft : scrollLeft;\n const secondSlideStart = slidesInner[1].offsetLeft;\n if (Math.floor(scrollPosition) <= secondSlideStart) {\n // Overflow on the left side\n // when we reach the second slide, so the first one is still visible for fading edges\n setExtendedIndex(childrenLength - currentSlidesPerPage);\n changeSlide(childrenLength - currentSlidesPerPage, false);\n return;\n }\n const lastSlideStart = slidesInner[slidesInner.length - 1].offsetLeft;\n const slidesWidth = slidesElement.getBoundingClientRect().width;\n if (Math.ceil(scrollPosition + slidesWidth) >= lastSlideStart) {\n // Overflow on the right side\n // when we reach the second last slide, so the last one is still visible for fading edges\n setExtendedIndex(0);\n changeSlide(0, false);\n return;\n }\n const endlessScrollIndex = scrollIndex - currentSlidesPerPage - 1;\n if (endlessScrollIndex !== extendedIndex) {\n setExtendedIndex(endlessScrollIndex);\n }\n }\n else {\n if (scrollIndex !== extendedIndex) {\n setExtendedIndex(scrollIndex);\n }\n }\n }, [\n changeSlide,\n childrenLength,\n currentSlidesPerPage,\n endlessScrolling,\n extendedIndex,\n theme.direction,\n ]));\n React.useEffect(() => {\n if (externalHandleChange) {\n externalHandleChange(extendedIndex);\n }\n }, [extendedIndex, externalHandleChange]);\n // this is called when control elements change the index\n const handleChange = React.useCallback((nextIndex, animate) => {\n // find previous snappableIndex counting from nextIndex,\n // i.e. beginning of page containing nextIndex\n const snappableArrayIndex = snappableExtendedIndices.findIndex((value) => value > nextIndex) - 1;\n const snappableTargetIndex = snappableExtendedIndices[snappableArrayIndex] || 0;\n changeSlide(snappableTargetIndex, animate);\n }, [changeSlide, snappableExtendedIndices]);\n // reset scroll position when basic props change\n // biome-ignore lint/correctness/useExhaustiveDependencies: should not update on changes to extendedIndex\n React.useEffect(() => {\n const slidesElement = slides.current;\n if (!slidesElement) {\n return;\n }\n changeSlide(extendedIndex, false);\n }, [changeSlide, childrenLength, currentSlidesPerPage, endlessScrolling]);\n // When endlessScrolling is set scroll to starting position.\n React.useEffect(() => {\n if (endlessScrolling) {\n changeSlide(0, false);\n setExtendedIndex(0);\n }\n }, [changeSlide, endlessScrolling]);\n // Add and remove resize listeners\n React.useEffect(() => {\n window.addEventListener('resize', handleResize);\n return () => {\n window.removeEventListener('resize', handleResize);\n };\n }, [handleResize]);\n React.useEffect(() => {\n updateSlidesPerPage();\n }, [updateSlidesPerPage, slidesPerPage]);\n React.useEffect(() => {\n updateFadingEdges();\n }, [updateFadingEdges, fadingEdges]);\n // When react moves around galleries in the DOM, browsers sometimes reset their scrollLeft to 0.\n // Reset the scroll position to the appropriate value.\n React.useEffect(() => {\n const slidesElement = slides.current;\n if (!slidesElement) {\n return;\n }\n const scrollLeft = slidesElement.scrollLeft;\n if ((endlessScrolling || extendedIndex !== 0) && scrollLeft === 0) {\n changeSlide(extendedIndex, false);\n }\n });\n // fix index if slide has been deleted\n React.useEffect(() => {\n const newExtendedIndex = endlessScrolling\n ? (extendedIndex + childrenLength) % childrenLength\n : Math.min(extendedIndex, childrenLength - currentSlidesPerPage);\n if (extendedIndex !== newExtendedIndex) {\n changeSlide(newExtendedIndex, false);\n }\n }, [\n extendedIndex,\n childrenLength,\n endlessScrolling,\n currentSlidesPerPage,\n changeSlide,\n ]);\n const index = React.useMemo(() => (extendedIndex + childrenLength) % childrenLength, [extendedIndex, childrenLength]);\n // accessibleExtendedIndices,\n // i.e. those that are fully visible\n const accessibleExtendedIndices = React.useMemo(() => {\n const firstAccessibleIndex = endlessScrolling\n ? extendedIndex\n : Math.min(extendedIndex, childrenLength - currentSlidesPerPage);\n return Array.from({ length: currentSlidesPerPage }).map((_, index) => firstAccessibleIndex + index);\n }, [endlessScrolling, extendedIndex, childrenLength, currentSlidesPerPage]);\n // visibleIndices include accessibleExtendedIndices\n // slides of accessible duplicated slides.\n //\n // extendedIndex: -2 -1 0 1 2 3 4 5 6\n // index: 3 4 0 1 2 3 4 0 1\n //\n // e.g. if slide with (extended) index 5 is in the view, slides 0 is visible.\n // The slide component will render slide 5 (copy of slide 0) visible, too.\n const visibleIndices = React.useMemo(() => Array.from({ length: currentSlidesPerPage }).map((_, index) => (extendedIndex + index + childrenLength) % childrenLength), [currentSlidesPerPage, extendedIndex, childrenLength]);\n const galleryContextValue = React.useMemo(() => {\n return {\n index,\n extendedIndex,\n endlessScrolling: endlessScrolling || false,\n triggerChange: handleChange,\n triggerPrevious: slideToPreviousSlide,\n triggerNext: slideToNextSlide,\n getSlideId: (index) => `${id}__slide-${index}`,\n disableScrollSnap: (disabled = true) => setDisableSnap(disabled),\n slidesPerPage: currentSlidesPerPage,\n fadingEdges: currentFadingEdges,\n length: childrenLength,\n id: id,\n accessibleExtendedIndices,\n visibleIndices,\n snappableExtendedIndices,\n slidesRef: slides,\n };\n }, [\n accessibleExtendedIndices,\n childrenLength,\n currentFadingEdges,\n currentSlidesPerPage,\n endlessScrolling,\n extendedIndex,\n handleChange,\n id,\n index,\n slideToNextSlide,\n slideToPreviousSlide,\n snappableExtendedIndices,\n visibleIndices,\n slides,\n ]);\n const slideData = React.useMemo(() => {\n const leadingSlides = [];\n const slides = [];\n const trailingSlides = [];\n React.Children.toArray(children)\n .filter(React.isValidElement)\n .forEach((child, index) => {\n slides.push({\n key: child.key,\n value: {\n index,\n },\n child,\n });\n // Only render copies of slides when endlessScrolling is enabled and\n // we have more children than can be show on a single page\n if (endlessScrolling && childrenLength > currentSlidesPerPage) {\n if (index < currentSlidesPerPage + 1) {\n const id = childrenLength + index;\n trailingSlides.push({\n key: `${child.key}-${id}`,\n value: {\n index: index,\n id: id,\n },\n child,\n });\n }\n if (index > childrenLength - currentSlidesPerPage - 2) {\n const id = index - childrenLength;\n leadingSlides.push({\n key: `${child.key}-${id}`,\n value: {\n index: index,\n id: id,\n },\n child,\n });\n }\n }\n });\n return [...leadingSlides, ...slides, ...trailingSlides];\n }, [children, childrenLength, currentSlidesPerPage, endlessScrolling]);\n const mediaGalleryContextValue = React.useMemo(() => {\n const mediaGalleryState = {\n // for now we just add the values needed for the lentils\n activeIndex: index,\n slideLength: childrenLength,\n slideKeys: React.Children.toArray(children)\n .filter(React.isValidElement)\n .map((child) => child.key),\n // the following values are not maintained, but they are not needed for the lentils\n lastIndex: NaN,\n animate: false,\n dragStartPosition: NaN,\n dragStartTime: NaN,\n dragEnabled: false,\n slidePosition: NaN,\n };\n const dispatch = (action) => {\n // we currently only handle the lentils' SLIDE_CHANGE action\n if (action.type === 'SLIDE_CHANGE') {\n handleChange(action.index);\n }\n };\n return {\n state: mediaGalleryState,\n dispatch,\n getState: () => mediaGalleryState,\n };\n }, [children, childrenLength, handleChange, index]);\n return (React.createElement(GalleryContext.Provider, { value: galleryContextValue },\n React.createElement(MediaGalleryContext.Provider, { value: mediaGalleryContextValue },\n React.createElement(StyledCarousel, Object.assign({ id: id, tabIndex: -1, \"aria-label\": ariaLabel, role: \"region\", \"aria-roledescription\": \"carousel\", \"aria-labelledby\": ariaLabelledby }, commonProps),\n topElements,\n React.createElement(ChildContainerTabIndexManager, { childContainerSelector: '[data-accessible]', activeChildContainerSelector: '[data-accessible=\"true\"]' },\n React.createElement(StyledSlides, { ref: slides, onScroll: handleScroll, \"aria-atomic\": \"false\", \"aria-live\": \"polite\", slidesPerPage: currentSlidesPerPage, fadingEdges: currentFadingEdges, gutter: currentGutter, tabIndex: 0, disableSnap: disableSnap }, slideData.map(({ key, value, child }) => (React.createElement(GallerySlideContext.Provider, { key: key, value: value }, child))))),\n bottomElements))));\n};\n","import * as React from 'react';\nimport { styled } from '../theme-provider';\nimport { GalleryContext } from '.';\nimport { CTA } from '../call-to-action';\nimport { ChevronLeft, ChevronRight } from '@volkswagen-onehub/icons-core';\nconst StyledArrowWrapper = styled.div.withConfig({ displayName: \"StyledArrowWrapper\", componentId: \"sc-1w8267r\" }) `position:absolute;top:50%;right:0;left:0;display:flex;justify-content:space-between;padding:0 ${(props) => props.theme.size.static150};transform:translateY(-50%);pointer-events:none;button{pointer-events:initial;}`;\nexport const ArrowButtons = ({ ariaHidden, buttonNextAriaLabel, buttonPreviousAriaLabel, }) => {\n const { triggerNext, triggerPrevious, length, slidesPerPage, index, endlessScrolling, } = React.useContext(GalleryContext);\n if (length <= slidesPerPage) {\n return null;\n }\n return (React.createElement(StyledArrowWrapper, null,\n React.createElement(CTA, { tag: \"button\", emphasis: \"primary\", onClick: triggerPrevious, ariaLabel: buttonPreviousAriaLabel, tabIndex: ariaHidden ? -1 : 0, disabled: index === 0 && !endlessScrolling, icon: React.createElement(ChevronLeft, { variant: \"small\", ariaHidden: true }) }),\n React.createElement(CTA, { tag: \"button\", emphasis: \"primary\", onClick: triggerNext, ariaLabel: buttonNextAriaLabel, tabIndex: ariaHidden ? -1 : 0, disabled: index + slidesPerPage === length && !endlessScrolling, icon: React.createElement(ChevronRight, { variant: \"small\", ariaHidden: true }) })));\n};\n","import React, { useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { TextInput } from '@volkswagen-onehub/components-core';\nimport { InputError } from '../NavidadGTI2024Page';\n\ninterface InputProps {\n\tname: string;\n\tlabel?: string;\n\tempty?: boolean;\n\trequired?: boolean;\n}\n\nexport function TextInputField(props: InputProps) {\n\tconst { name, label, empty, required } = props;\n\tconst dispatch = useDispatch();\n\tconst { register } = useFormContext();\n\tconst [errorValue, setErrorValue] = useState(false);\n\n\tconst handleChange = (e: any) => {\n\t\tconst value = e.target.value;\n\n\t\tsetErrorValue(false);\n\n\t\tif (/\\d/.test(value) || value.trim().length < 3) {\n\t\t\tsetErrorValue(true);\n\t\t} else {\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: value } });\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t handleChange(e)}\n\t\t\t\ttype={'text'}\n\t\t\t\tisFloating={true}\n\t\t\t/>\n\t\t\t{errorValue && Introduce un valor correcto}\n\t\t\t{empty && Campo obligatorio}\n\t\t\n\t);\n}\n","import React, { useState } from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { styled, TextInput } from '@volkswagen-onehub/components-core';\nimport { InputError } from '../NavidadGTI2024Page';\n\ninterface InputProps {\n\tname: string;\n\tlabel?: string;\n\tempty?: boolean;\n}\n\nexport function EmailField(props: InputProps) {\n\tconst { name, label, empty } = props;\n\tconst dispatch = useDispatch();\n\tconst { register } = useFormContext();\n\tconst [error, setError] = useState(false);\n\tconst regExp =\n\t\t/^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\n\n\tconst handleChange = (e: any) => {\n\t\tconst value = e.target.value;\n\n\t\tsetError(false);\n\n\t\tif (!regExp.test(value)) {\n\t\t\tsetError(true);\n\t\t} else {\n\t\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: value } });\n\t\t}\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t handleChange(e)}\n\t\t\t\ttype={'text'}\n\t\t\t\tisFloating={true}\n\t\t\t/>\n\t\t\t{error && Ejemplo: nombre@email.com}\n\t\t\t{empty && Campo obligatorio}\n\t\t\n\t);\n}\n","import React from 'react';\nimport styled from 'styled-components';\n\nconst ArrowContainer = styled.div`\n\tmargin-top: -25px;\n\tmargin-bottom: 40px;\n\ttext-align: center;\n\twidth: 100%;\n\tposition: relative;\n\tz-index: 1;\n`;\n\nexport const Arrow = () => (\n\t\n\t\t\n\t\t\t\n\t\t\t\n\t\t\n\t\n);\n","import React from 'react';\nimport { useFormContext } from 'react-hook-form';\nimport { useDispatch } from 'react-redux';\nimport { TextArea } from '@volkswagen-onehub/components-core';\n\ninterface TextareaProps {\n\tname: string;\n\tlabel?: string;\n}\n\nexport function TextAreaField(props: TextareaProps) {\n\tconst { name, label } = props;\n\tconst dispatch = useDispatch();\n\tconst { register } = useFormContext();\n\n\tconst handleChange = (e: any) => {\n\t\tdispatch({ type: 'UPDATE_FIELDS', payload: { [name]: e.target.value } });\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t